diff options
174 files changed, 0 insertions, 57846 deletions
diff --git a/.vscode/launch.json b/.vscode/launch.json index 838f6b24..0b74a6fb 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -3,31 +3,6 @@ "version": "0.2.0", "configurations": [ { - "name": "测试", - "type": "lua", - "request": "launch", - "stopOnEntry": false, - "program": "${workspaceRoot}/test.lua", - "arg": [ - ], - "consoleCoding": "utf8", - "sourceCoding": "utf8", - "luaexe": "${workspaceFolder}/bin/Windows/lua-language-server.exe", - "outputCapture": [ - "print", - "stderr", - ], - }, - { - "name": "附加", - "type": "lua", - "request": "attach", - "stopOnEntry": true, - "address": "127.0.0.1:11411", - "outputCapture": [ - ] - }, - { "name": "🍺测试-beta", "type": "lua", "request": "launch", diff --git a/main.lua b/main.lua deleted file mode 100644 index 8e581d14..00000000 --- a/main.lua +++ /dev/null @@ -1,23 +0,0 @@ -local currentPath = debug.getinfo(1, 'S').source:sub(2) -local rootPath = currentPath:gsub('[/\\]*[^/\\]-$', '') -loadfile((rootPath == '' and '.' or rootPath) .. '/platform.lua')('script') -local fs = require 'bee.filesystem' -ROOT = fs.current_path() / rootPath -LANG = LANG or 'en-US' - ---collectgarbage('generational') -collectgarbage("setpause", 100) -collectgarbage("setstepmul", 1000) - -log = require 'log' -log.init(ROOT, ROOT / 'log' / 'service.log') -log.info('Lua Lsp startup, root: ', ROOT) -log.debug('ROOT:', ROOT:string()) -ac = {} - -xpcall(dofile, log.debug, rootPath .. '/debugger.lua') -require 'utility' -local service = require 'service' -local session = service() - -session:listen() diff --git a/script/async/async.lua b/script/async/async.lua deleted file mode 100644 index 3db1162c..00000000 --- a/script/async/async.lua +++ /dev/null @@ -1,127 +0,0 @@ -local thread = require 'bee.thread' -local errlog = thread.channel 'errlog' - -local TaskId = 0 -local IdlePool = {} -local RunningList = {} -local GCInfo = {} - -thread.newchannel 'gc' - -local function createTask(name) - TaskId = TaskId + 1 - GCInfo[TaskId] = false - local id = TaskId - local requestName = 'request' .. tostring(id) - local responseName = 'response' .. tostring(id) - thread.newchannel(requestName) - thread.newchannel(responseName) - local buf = ([[ -ID = %d -package.cpath = %q -package.path = %q -local thread = require 'bee.thread' -local request = thread.channel(%q) -local response = thread.channel(%q) -local errlog = thread.channel 'errlog' -local gc = thread.channel 'gc' - -local function task() - local dump, path, arg = request:bpop() - local env = setmetatable({ - IN = request, - OUT = response, - ERR = errlog, - GC = gc, - }, { __index = _ENV }) - local f, err = load(dump, '@'..path, 't', env) - if not f then - errlog:push(err .. '\n' .. dump) - return - end - local result = f(arg) - response:push(result) -end - -while true do - local ok, result = xpcall(task, debug.traceback) - if not ok then - errlog:push(result) - end - collectgarbage() - gc:push(ID, collectgarbage 'count') -end -]]):format(id, package.cpath, package.path, requestName, responseName) - log.debug('Create thread, id: ', id, 'task: ', name) - return { - id = id, - thread = thread.thread(buf), - request = thread.channel(requestName), - response = thread.channel(responseName), - } -end - -local function run(name, arg, callback) - local path = ROOT / 'script' / 'async' / (name .. '.lua') - local dump = io.load(path) - if not dump then - error(('找不到[%s]'):format(name)) - end - local task = table.remove(IdlePool) - if not task then - task = createTask(name) - end - RunningList[task.id] = { - task = task, - callback = callback, - } - task.request:push(dump, path:string(), arg) - -- TODO 线程回收后禁止外部再使用通道 - return task.request, task.response -end - -local function callback(id, running) - if running.callback then - while true do - local results = table.pack(running.task.response:pop()) - if not results[1] then - break - end - -- TODO 封装成对象 - local suc, destroy = xpcall(running.callback, log.error, table.unpack(results, 2)) - if not suc or destroy then - RunningList[id] = nil - IdlePool[#IdlePool+1] = running.task - break - end - end - end -end - -local function checkGC() - local gc = thread.channel 'gc' - while true do - local ok, id, count = gc:pop() - if not ok then - break - end - GCInfo[id] = count - end -end - -local function onTick() - local ok, msg = errlog:pop() - if ok then - log.error(msg) - end - for id, running in pairs(RunningList) do - callback(id, running) - end - checkGC() -end - -return { - onTick = onTick, - run = run, - info = GCInfo, -} diff --git a/script/async/init.lua b/script/async/init.lua deleted file mode 100644 index 3d75a720..00000000 --- a/script/async/init.lua +++ /dev/null @@ -1 +0,0 @@ -return require 'async.async' diff --git a/script/async/loadfile.lua b/script/async/loadfile.lua deleted file mode 100644 index b9d0f41c..00000000 --- a/script/async/loadfile.lua +++ /dev/null @@ -1,13 +0,0 @@ -require 'utility' -local fs = require 'bee.filesystem' - -while true do - local filename, mode = IN:bpop() - local buf = io.load(fs.path(filename)) - if buf then - OUT:push(filename, mode, buf) - else - ERR:push('Load failed:' .. filename) - end - GC:push(ID, collectgarbage 'count') -end diff --git a/script/async/proto.lua b/script/async/proto.lua deleted file mode 100644 index c8126c63..00000000 --- a/script/async/proto.lua +++ /dev/null @@ -1,62 +0,0 @@ -local json = require 'json' - -local function pushError(...) - local t = table.pack(...) - for i = 1, t.n do - t[i] = tostring(t[i]) - end - local buf = table.concat(t, '\t') - ERR:push(buf) -end - -local function readProtoHead(reader) - local head = {} - while true do - local line = reader 'L' - if line == '\r\n' then - break - else - local k, v = line:match '^([^:]+)%s*%:%s*(.+)\r\n$' - if k then - if k == 'Content-Length' then - v = tonumber(v) - end - head[k] = v - else - pushError('Proto header error:', head) - break - end - end - end - return head -end - -local function readProtoContent(head) - local len = head['Content-Length'] - if not len then - pushError('Proto header error:', head) - return nil - end - local buf = io.read(len) - if not buf then - return nil - end - return buf -end - -local function readProto() - local head = readProtoHead(io.read) - if not head then - return - end - local data = readProtoContent(head) - if not data then - return - end - OUT:push(data) -end - -while true do - readProto() - GC:push(ID, collectgarbage 'count') -end diff --git a/script/async/scanfiles.lua b/script/async/scanfiles.lua deleted file mode 100644 index f5249c8e..00000000 --- a/script/async/scanfiles.lua +++ /dev/null @@ -1,55 +0,0 @@ -local args = ... - -require 'utility' -local fs = require 'bee.filesystem' -local glob = require 'glob' - -local function scan(mode, root, pattern, options) - OUT:push('log', 'Scanning:', root:string()) - OUT:push('log', 'Scan pattern:', table.dump(pattern)) - OUT:push('log', 'Scan options:', table.dump(options)) - local session = glob.gitignore(pattern, options) - - session:setInterface('type', function (path) - local fullpath = root / path - if not fs.exists(fullpath) then - return nil - end - if fs.is_directory(fullpath) then - return 'directory' - else - return 'file' - end - return nil - end) - session:setInterface('list', function (path) - local fullpath = root / path - if not fs.exists(fullpath) then - return nil - end - local list = {} - for child in fullpath:list_directory() do - list[#list+1] = child:string() - end - return list - end) - - session:scan(function (path) - local ok, msg = IN:pop() - if ok and msg == 'stop' then - OUT:push 'stop' - return - end - OUT:push(mode, fs.absolute(root / path):string()) - end) -end - -for _, data in ipairs(args) do - local root = fs.path(data.root) - local suc, err = xpcall(scan, debug.traceback, data.mode, root, data.pattern, data.options) - if not suc then - ERR:push(err) - end -end - -OUT:push 'ok' diff --git a/script/build_package.lua b/script/build_package.lua deleted file mode 100644 index 402cea14..00000000 --- a/script/build_package.lua +++ /dev/null @@ -1,329 +0,0 @@ -local json = require 'json' -local diagDefault = require 'constant.DiagnosticDefaultSeverity' - -local VERSION = "0.14.2" - -local package = { - name = "lua", - displayName = "Lua", - description = "Lua Language Server coded by Lua", - author = "sumneko", - icon = "images/logo.png", - license = "MIT", - repository = { - type = "git", - url = "https://github.com/sumneko/lua-language-server" - }, - publisher = "sumneko", - categories = { - "Linters", - "Programming Languages", - "Snippets" - }, - keywords = { - "Lua", - "LSP", - "GoTo Definition", - "IntelliSense" - }, - engines = { - vscode = "^1.23.0" - }, - activationEvents = { - "onLanguage:lua" - }, - main = "./client/out/extension", - contributes = { - configuration = { - type = "object", - title = "Lua", - properties = { - ["Lua.runtime.version"] = { - scope = "resource", - type = "string", - default = "Lua 5.3", - enum = { - "Lua 5.1", - "Lua 5.2", - "Lua 5.3", - "Lua 5.4", - "LuaJIT" - }, - markdownDescription = "%config.runtime.version%" - }, - ["Lua.runtime.path"] = { - scope = "resource", - type = "array", - items = { - type = 'string', - }, - markdownDescription = "%config.runtime.path%", - default = { - "?.lua", - "?/init.lua", - "?/?.lua" - } - }, - ["Lua.diagnostics.enable"] = { - scope = 'resource', - type = 'boolean', - default = true, - markdownDescription = "%config.diagnostics.enable%" - }, - ["Lua.diagnostics.disable"] = { - scope = "resource", - type = "array", - items = { - type = 'string', - }, - markdownDescription = "%config.diagnostics.disable%" - }, - ["Lua.diagnostics.globals"] = { - scope = "resource", - type = "array", - items = { - type = 'string', - }, - markdownDescription = "%config.diagnostics.globals%" - }, - ["Lua.diagnostics.severity"] = { - scope = "resource", - type = 'object', - markdownDescription = "%config.diagnostics.severity%", - title = "severity", - properties = {} - }, - ["Lua.workspace.ignoreDir"] = { - scope = "resource", - type = "array", - items = { - type = 'string', - }, - markdownDescription = "%config.workspace.ignoreDir%", - default = { - ".vscode", - }, - }, - ["Lua.workspace.ignoreSubmodules"] = { - scope = "resource", - type = "boolean", - default = true, - markdownDescription = "%config.workspace.ignoreSubmodules%" - }, - ["Lua.workspace.useGitIgnore"] = { - scope = "resource", - type = "boolean", - default = true, - markdownDescription = "%config.workspace.useGitIgnore%" - }, - ["Lua.workspace.maxPreload"] = { - scope = "resource", - type = "integer", - default = 300, - markdownDescription = "%config.workspace.maxPreload%" - }, - ["Lua.workspace.preloadFileSize"] = { - scope = "resource", - type = "integer", - default = 100, - markdownDescription = "%config.workspace.preloadFileSize%" - }, - ["Lua.workspace.library"] = { - scope = 'resource', - type = 'object', - markdownDescription = "%config.workspace.library%" - }, - ["Lua.completion.enable"] = { - scope = "resource", - type = "boolean", - default = true, - markdownDescription = "%config.completion.enable%" - }, - ["Lua.completion.callSnippet"] = { - scope = "resource", - type = "string", - default = "Disable", - enum = { - "Disable", - "Both", - "Replace", - }, - markdownEnumDescriptions = { - "%config.completion.callSnippet.Disable%", - "%config.completion.callSnippet.Both%", - "%config.completion.callSnippet.Replace%", - }, - markdownDescription = "%config.completion.callSnippet%" - }, - ["Lua.completion.keywordSnippet"] = { - scope = "resource", - type = "string", - default = "Replace", - enum = { - "Disable", - "Both", - "Replace", - }, - markdownEnumDescriptions = { - "%config.completion.keywordSnippet.Disable%", - "%config.completion.keywordSnippet.Both%", - "%config.completion.keywordSnippet.Replace%", - }, - markdownDescription = "%config.completion.keywordSnippet%" - }, - --["Lua.plugin.enable"] = { - -- scope = "resource", - -- type = "boolean", - -- default = false, - -- markdownDescription = "%config.plugin.enable%" - --}, - --["Lua.plugin.path"] = { - -- scope = "resource", - -- type = "string", - -- default = ".vscode/lua-plugin/*.lua", - -- markdownDescription = "%config.plugin.path%" - --}, - ["Lua.zzzzzz.cat"] = { - scope = "resource", - type = "boolean", - default = false, - markdownDescription = "%config.zzzzzz.cat%" - }, - } - }, - grammars = { - { - language = "lua", - scopeName = "source.lua", - path = "./syntaxes/lua.tmLanguage.json" - } - } - }, - __metadata = { - id = "3a15b5a7-be12-47e3-8445-88ee3eabc8b2", - publisherDisplayName = "sumneko", - publisherId = "fb626675-24cf-4881-8c13-b465f29bec2f", - }, -} - -local DiagSeverity = package.contributes.configuration.properties["Lua.diagnostics.severity"].properties -for name, level in pairs(diagDefault) do - DiagSeverity[name] = { - scope = 'resource', - type = 'string', - default = level, - enum = { - 'Error', - 'Warning', - 'Information', - 'Hint', - } - } -end - -package.version = VERSION - -io.save(ROOT:parent_path() / 'package.json', json.encode(package)) - -local example = { - library = [[ -```json -"Lua.workspace.library": { - "C:/lua": true, - "../lib": [ - "temp/*" - ] -} -``` -]], - disable = [[ -```json -"Lua.diagnostics.disable" : [ - "unused-local", - "lowercase-global" -] -``` -]], - globals = [[ -```json -"Lua.diagnostics.globals" : [ - "GLOBAL1", - "GLOBAL2" -] -``` -]], - severity = [[ -```json -"Lua.diagnostics.severity" : { - "redefined-local" : "Warning", - "emmy-lua" : "Hint" -} -``` -]], - ignoreDir = [[ -```json -"Lua.workspace.ignoreDir" : [ - "temp/*.*", - "!temp/*.lua" -] -``` -]] -} - -io.save(ROOT:parent_path() / 'package.nls.json', json.encode { - ["config.runtime.version"] = "Lua runtime version.", - ["config.runtime.path"] = "`package.path`", - ["config.diagnostics.enable"] = "Enable diagnostics.", - ["config.diagnostics.disable"] = "Disabled diagnostic (Use code in hover brackets).\n" .. example.disable, - ["config.diagnostics.globals"] = "Defined global variables.\n" .. example.globals, - ["config.diagnostics.severity"] = "Modified diagnostic severity.\n" .. example.severity, - ["config.workspace.ignoreDir"] = "Ignored directories (Use `.gitignore` grammar).\n" .. example.ignoreDir, - ["config.workspace.ignoreSubmodules"] = "Ignore submodules.", - ["config.workspace.useGitIgnore"] = "Ignore files list in `.gitignore` .", - ["config.workspace.maxPreload"] = "Max preloaded files.", - ["config.workspace.preloadFileSize"] = "Skip files larger than this value (KB) when preloading.", - ["config.workspace.library"] = [[ -Load external library. -This feature can load external Lua files, which can be used for definition, automatic completion and other functions. Note that the language server does not monitor changes in external files and needs to restart if the external files are modified. -The following example shows loaded files in `C:/lua` and `../lib` ,exclude `../lib/temp`. -]] .. example.library, - ['config.completion.enable'] = 'Enable completion.', - ['config.completion.callSnippet'] = 'Shows function call snippets.', - ['config.completion.callSnippet.Disable'] = "Only shows `function name`.", - ['config.completion.callSnippet.Both'] = "Shows `function name` and `call snippet`.", - ['config.completion.callSnippet.Replace'] = "Only shows `call snippet.`", - ['config.completion.keywordSnippet'] = 'Shows keyword syntax snippets.', - ['config.completion.keywordSnippet.Disable'] = "Only shows `keyword`.", - ['config.completion.keywordSnippet.Both'] = "Shows `keyword` and `syntax snippet`.", - ['config.completion.keywordSnippet.Replace'] = "Only shows `syntax snippet`.", - ['config.zzzzzz.cat'] = 'DO NOT TOUCH ME, LET ME SLEEP >_<\n\n(This will enable beta version, which are still in the early stages of development, and all features will fail after enabling this setting.)', -}) - -io.save(ROOT:parent_path() / 'package.nls.zh-cn.json', json.encode { - ["config.runtime.version"] = "Lua运行版本。", - ["config.runtime.path"] = "`package.path`", - ["config.diagnostics.enable"] = "启用诊断。", - ["config.diagnostics.disable"] = "禁用的诊断(使用浮框括号内的代码)。\n" .. example.disable, - ["config.diagnostics.globals"] = "已定义的全局变量。\n" .. example.globals, - ["config.diagnostics.severity"] = "修改诊断等级。\n" .. example.severity, - ["config.workspace.ignoreDir"] = "忽略的目录(使用 `.gitignore` 语法)。\n" .. example.ignoreDir, - ["config.workspace.ignoreSubmodules"] = "忽略子模块。", - ["config.workspace.useGitIgnore"] = "忽略 `.gitignore` 中列举的文件。", - ["config.workspace.maxPreload"] = "最大预加载文件数。", - ["config.workspace.preloadFileSize"] = "预加载时跳过大小大于该值(KB)的文件。", - ["config.workspace.library"] = [[ -加载外部函数库。 -该功能可以加载外部的Lua文件,用于函数定义、自动完成等功能。注意,语言服务不会监视外部文件的变化,如果修改了外部文件需要重启。 -下面这个例子表示加载`C:/lua`与`../lib`中的所有文件,但不加载`../lib/temp`中的文件。 -]] .. example.library, - ['config.completion.enable'] = '启用自动完成。', - ['config.completion.callSnippet'] = '显示函数调用片段。', - ['config.completion.callSnippet.Disable'] = "只显示 `函数名`。", - ['config.completion.callSnippet.Both'] = "显示 `函数名` 与 `调用片段`。", - ['config.completion.callSnippet.Replace'] = "只显示 `调用片段`。", - ['config.completion.keywordSnippet'] = '显示关键字语法片段', - ['config.completion.keywordSnippet.Disable'] = "只显示 `关键字`。", - ['config.completion.keywordSnippet.Both'] = "显示 `关键字` 与 `语法片段`。", - ['config.completion.keywordSnippet.Replace'] = "只显示 `语法片段`。", - ['config.zzzzzz.cat'] = 'DO NOT TOUCH ME, LET ME SLEEP >_<\n\n(这会启用还处于早期开发阶段的beta版,开启后所有的功能都会失效)', -}) diff --git a/script/capability/completion.lua b/script/capability/completion.lua deleted file mode 100644 index e302f30d..00000000 --- a/script/capability/completion.lua +++ /dev/null @@ -1,68 +0,0 @@ -local rpc = require 'rpc' -local nonil = require 'without-check-nil' - -local isEnable = false - -local function allWords() - local str = [[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.:('"[,#*@| ]] - local list = {} - for c in str:gmatch '.' do - list[#list+1] = c - end - return list -end - -local function enable(lsp) - if isEnable then - return - end - - nonil.enable() - if not lsp.client.capabilities.textDocument.completion.dynamicRegistration then - return - end - nonil.disable() - - isEnable = true - log.debug('Enable completion.') - rpc:request('client/registerCapability', { - registrations = { - { - id = 'completion', - method = 'textDocument/completion', - registerOptions = { - resolveProvider = true, - triggerCharacters = allWords(), - }, - }, - } - }) -end - -local function disable(lsp) - if not isEnable then - return - end - - nonil.enable() - if not lsp.client.capabilities.textDocument.completion.dynamicRegistration then - return - end - nonil.disable() - - isEnable = false - log.debug('Disable completion.') - rpc:request('client/unregisterCapability', { - unregisterations = { - { - id = 'completion', - method = 'textDocument/completion', - }, - } - }) -end - -return { - enable = enable, - disable = disable, -} diff --git a/script/capability/init.lua b/script/capability/init.lua deleted file mode 100644 index 2cc9e70b..00000000 --- a/script/capability/init.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - completion = require 'capability.completion', - semantic = require 'capability.semantic', -} diff --git a/script/capability/semantic.lua b/script/capability/semantic.lua deleted file mode 100644 index 2be22be3..00000000 --- a/script/capability/semantic.lua +++ /dev/null @@ -1,64 +0,0 @@ -local rpc = require 'rpc' -local TokenTypes = require 'constant.TokenTypes' -local TokenModifiers = require 'constant.TokenModifiers' - -local isEnable = false - -local function toArray(map) - local array = {} - for k in pairs(map) do - array[#array+1] = k - end - table.sort(array, function (a, b) - return map[a] < map[b] - end) - return array -end - -local function enable(lsp) - if isEnable then - return - end - if not lsp.client.capabilities.textDocument.semanticTokens then - return - end - isEnable = true - log.debug('Enable semantic.') - rpc:request('client/registerCapability', { - registrations = { - { - id = 'semantic', - method = 'textDocument/semanticTokens', - registerOptions = { - legend = { - tokenTypes = toArray(TokenTypes), - tokenModifiers = toArray(TokenModifiers), - }, - range = false, - full = true, - }, - }, - } - }) -end - -local function disable() - if not isEnable then - return - end - isEnable = false - log.debug('Disable semantic.') - rpc:request('client/unregisterCapability', { - unregisterations = { - { - id = 'semantic', - method = 'textDocument/semanticTokens', - }, - } - }) -end - -return { - enable = enable, - disable = disable, -} diff --git a/script/client.lua b/script/client.lua deleted file mode 100644 index a2671597..00000000 --- a/script/client.lua +++ /dev/null @@ -1,16 +0,0 @@ -local nonil = require 'without-check-nil' - -local m = {} - -function m.client() - nonil.enable() - local name = m.info.clientInfo.name - nonil.disable() - return name -end - -function m.init(t) - m.info = t -end - -return m diff --git a/script/config.lua b/script/config.lua deleted file mode 100644 index 8011b905..00000000 --- a/script/config.lua +++ /dev/null @@ -1,218 +0,0 @@ -local DiagnosticDefaultSeverity = require 'constant.DiagnosticDefaultSeverity' - -local function Boolean(v) - if type(v) == 'boolean' then - return true, v - end - return false -end - -local function Integer(v) - if type(v) == 'number' then - return true, math.floor(v) - end - return false -end - -local function String(v) - return true, tostring(v) -end - -local function Str2Hash(sep) - return function (v) - if type(v) == 'string' then - local t = {} - for s in v:gmatch('[^'..sep..']+') do - t[s] = true - end - return true, t - end - if type(v) == 'table' then - local t = {} - for _, s in ipairs(v) do - if type(s) == 'string' then - t[s] = true - end - end - return true, t - end - return false - end -end - -local function Array(checker) - return function (tbl) - if type(tbl) ~= 'table' then - return false - end - local t = {} - for _, v in ipairs(tbl) do - local ok, result = checker(v) - if ok then - t[#t+1] = result - end - end - return true, t - end -end - -local function Hash(keyChecker, valueChecker) - return function (tbl) - if type(tbl) ~= 'table' then - return false - end - local t = {} - for k, v in pairs(tbl) do - local ok1, key = keyChecker(k) - local ok2, value = valueChecker(v) - if ok1 and ok2 then - t[key] = value - end - end - if not next(t) then - return false - end - return true, t - end -end - -local function Or(...) - local checkers = {...} - return function (obj) - for _, checker in ipairs(checkers) do - local suc, res = checker(obj) - if suc then - return true, res - end - end - return false - end -end - -local ConfigTemplate = { - runtime = { - version = {'Lua 5.4', String}, - library = {{}, Str2Hash ';'}, - path = {{ - "?.lua", - "?/init.lua", - "?/?.lua" - }, Array(String)}, - special = {{}, Hash(String, String)}, - }, - diagnostics = { - enable = {true, Boolean}, - globals = {{}, Str2Hash ';'}, - disable = {{}, Str2Hash ';'}, - severity = { - table.deepCopy(DiagnosticDefaultSeverity), - Hash(String, String), - }, - workspaceDelay = {0, Integer}, - workspaceRate = {100, Integer}, - }, - workspace = { - ignoreDir = {{}, Str2Hash ';'}, - ignoreSubmodules= {true, Boolean}, - useGitIgnore = {true, Boolean}, - maxPreload = {1000, Integer}, - preloadFileSize = {100, Integer}, - library = {{}, Hash( - String, - Or(Boolean, Array(String)) - )} - }, - completion = { - enable = {true, Boolean}, - callSnippet = {'Disable', String}, - keywordSnippet = {'Replace', String}, - displayContext = {6, Integer}, - }, - signatureHelp = { - enable = {true, Boolean}, - }, - hover = { - enable = {true, Boolean}, - viewString = {true, Boolean}, - viewStringMax = {1000, Integer}, - viewNumber = {true, Boolean}, - fieldInfer = {3000, Integer}, - }, - color = { - mode = {'Semantic', String}, - }, - luadoc = { - enable = {true, Boolean}, - }, - plugin = { - enable = {false, Boolean}, - path = {'.vscode/lua-plugin/*.lua', String}, - }, - intelliSense = { - searchDepth = {0, Integer}, - fastGlobal = {true, Boolean}, - }, -} - -local OtherTemplate = { - associations = {{}, Hash(String, String)}, - exclude = {{}, Hash(String, Boolean)}, -} - -local Config, Other - -local function init() - if Config then - return - end - - Config = {} - for c, t in pairs(ConfigTemplate) do - Config[c] = {} - for k, info in pairs(t) do - Config[c][k] = info[1] - end - end - - Other = {} - for k, info in pairs(OtherTemplate) do - Other[k] = info[1] - end -end - -local function setConfig(self, config, other) - xpcall(function () - for c, t in pairs(config) do - for k, v in pairs(t) do - local region = ConfigTemplate[c] - if region then - local info = region[k] - local suc, v = info[2](v) - if suc then - Config[c][k] = v - else - Config[c][k] = info[1] - end - end - end - end - for k, v in pairs(other) do - local info = OtherTemplate[k] - local suc, v = info[2](v) - if suc then - Other[k] = v - else - Other[k] = info[1] - end - end - log.debug('Config update: ', table.dump(Config), table.dump(Other)) - end, log.error) -end - -init() - -return { - setConfig = setConfig, - config = Config, - other = Other, -} diff --git a/script/constant/DiagnosticDefaultSeverity.lua b/script/constant/DiagnosticDefaultSeverity.lua deleted file mode 100644 index f5babcdc..00000000 --- a/script/constant/DiagnosticDefaultSeverity.lua +++ /dev/null @@ -1,23 +0,0 @@ -return { - ['unused-local'] = 'Hint', - ['unused-function'] = 'Hint', - ['undefined-global'] = 'Warning', - ['global-in-nil-env'] = 'Warning', - ['unused-label'] = 'Hint', - ['unused-vararg'] = 'Hint', - ['trailing-space'] = 'Hint', - ['redefined-local'] = 'Hint', - ['newline-call'] = 'Information', - ['newfield-call'] = 'Warning', - ['redundant-parameter'] = 'Hint', - ['ambiguity-1'] = 'Warning', - ['lowercase-global'] = 'Information', - ['undefined-env-child'] = 'Information', - ['duplicate-index'] = 'Warning', - ['duplicate-method'] = 'Warning', - ['empty-block'] = 'Hint', - ['redundant-value'] = 'Hint', - ['emmy-lua'] = 'Warning', - ['set-const'] = 'Error', - ['set-for-state'] = 'Warning', -} diff --git a/script/constant/DiagnosticSeverity.lua b/script/constant/DiagnosticSeverity.lua deleted file mode 100644 index 05bd3659..00000000 --- a/script/constant/DiagnosticSeverity.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - Error = 1, - Warning = 2, - Information = 3, - Hint = 4, -} diff --git a/script/constant/DiagnosticTag.lua b/script/constant/DiagnosticTag.lua deleted file mode 100644 index 918b7bad..00000000 --- a/script/constant/DiagnosticTag.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - Unnecessary = 1, - Deprecated = 2, -} diff --git a/script/constant/TokenModifiers.lua b/script/constant/TokenModifiers.lua deleted file mode 100644 index b77fd386..00000000 --- a/script/constant/TokenModifiers.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - ["declaration"] = 1 << 0, - ["documentation"] = 1 << 1, - ["static"] = 1 << 2, - ["abstract"] = 1 << 3, - ["deprecated"] = 1 << 4, - ["readonly"] = 1 << 5, -} diff --git a/script/constant/TokenTypes.lua b/script/constant/TokenTypes.lua deleted file mode 100644 index 236a7805..00000000 --- a/script/constant/TokenTypes.lua +++ /dev/null @@ -1,21 +0,0 @@ -return { - ["comment"] = 0, - ["keyword"] = 1, - ["number"] = 2, - ["regexp"] = 3, - ["operator"] = 4, - ["namespace"] = 5, - ["type"] = 6, - ["struct"] = 7, - ["class"] = 8, - ["interface"] = 9, - ["enum"] = 10, - ["typeParameter"] = 11, - ["function"] = 12, - ["member"] = 13, - ["macro"] = 14, - ["variable"] = 15, - ["parameter"] = 16, - ["property"] = 17, - ["label"] = 18, -} diff --git a/script/core/code_action.lua b/script/core/code_action.lua deleted file mode 100644 index 3e8f7582..00000000 --- a/script/core/code_action.lua +++ /dev/null @@ -1,416 +0,0 @@ -local lang = require 'language' -local library = require 'core.library' -local client = require 'client' -local sp = require 'bee.subprocess' - -local function disableDiagnostic(lsp, uri, data, callback) - callback { - title = lang.script('ACTION_DISABLE_DIAG', data.code), - kind = 'quickfix', - command = { - title = lang.script.COMMAND_DISABLE_DIAG, - command = 'lua.config', - arguments = { - { - key = 'Lua.diagnostics.disable', - action = 'add', - value = data.code, - uri = uri, - } - } - } - } -end - -local function addGlobal(name, uri, callback) - callback { - title = lang.script('ACTION_MARK_GLOBAL', name), - kind = 'quickfix', - command = { - title = lang.script.COMMAND_MARK_GLOBAL, - command = 'lua.config', - arguments = { - { - key = 'Lua.diagnostics.globals', - action = 'add', - value = name, - uri = uri, - } - } - }, - } -end - -local function changeVersion(version, uri, callback) - callback { - title = lang.script('ACTION_RUNTIME_VERSION', version), - kind = 'quickfix', - command = { - title = lang.script.COMMAND_RUNTIME_VERSION, - command = 'lua.config', - arguments = { - { - key = 'Lua.runtime.version', - action = 'set', - value = version, - uri = uri, - } - } - }, - } -end - -local function openCustomLibrary(libName, uri, callback) - callback { - title = lang.script('ACTION_OPEN_LIBRARY', libName), - kind = 'quickfix', - command = { - title = lang.script.COMMAND_OPEN_LIBRARY, - command = 'lua.config', - arguments = { - { - key = 'Lua.runtime.library', - action = 'add', - value = libName, - uri = uri, - } - } - }, - } -end - -local function solveUndefinedGlobal(lsp, uri, data, callback) - local vm, lines, text = lsp:getVM(uri) - if not vm then - return - end - local start = lines:position(data.range.start.line + 1, data.range.start.character + 1) - local finish = lines:position(data.range['end'].line + 1, data.range['end'].character) - local name = text:sub(start, finish) - if #name < 0 or name:find('[^%w_]') then - return - end - addGlobal(name, uri, callback) - local otherVersion = library.other[name] - if otherVersion then - for _, version in ipairs(otherVersion) do - changeVersion(version, uri, callback) - end - end - - local customLibrary = library.custom[name] - if customLibrary then - for _, libName in ipairs(customLibrary) do - openCustomLibrary(libName, uri, callback) - end - end -end - -local function solveLowercaseGlobal(lsp, uri, data, callback) - local vm, lines, text = lsp:getVM(uri) - if not vm then - return - end - local start = lines:position(data.range.start.line + 1, data.range.start.character + 1) - local finish = lines:position(data.range['end'].line + 1, data.range['end'].character) - local name = text:sub(start, finish) - if #name < 0 or name:find('[^%w_]') then - return - end - addGlobal(name, uri, callback) -end - -local function solveTrailingSpace(lsp, uri, data, callback) - callback { - title = lang.script.ACTION_REMOVE_SPACE, - kind = 'quickfix', - command = { - title = lang.script.COMMAND_REMOVE_SPACE, - command = 'lua.removeSpace:' .. sp:get_id(), - arguments = { - { - uri = uri, - } - } - }, - } -end - -local function solveNewlineCall(lsp, uri, data, callback) - callback { - title = lang.script.ACTION_ADD_SEMICOLON, - kind = 'quickfix', - edit = { - changes = { - [uri] = { - { - range = { - start = data.range.start, - ['end'] = data.range.start, - }, - newText = ';', - } - } - } - } - } -end - -local function solveAmbiguity1(lsp, uri, data, callback) - callback { - title = lang.script.ACTION_ADD_BRACKETS, - kind = 'quickfix', - command = { - title = lang.script.COMMAND_ADD_BRACKETS, - command = 'lua.solve:' .. sp:get_id(), - arguments = { - { - name = 'ambiguity-1', - uri = uri, - range = data.range, - } - } - }, - } -end - -local function findSyntax(astErr, lines, data) - local start = lines:position(data.range.start.line + 1, data.range.start.character + 1) - local finish = lines:position(data.range['end'].line + 1, data.range['end'].character) - for _, err in ipairs(astErr) do - if err.start == start and err.finish == finish then - return err - end - end - return nil -end - -local function solveSyntaxByChangeVersion(err, uri, callback) - if type(err.version) == 'table' then - for _, version in ipairs(err.version) do - changeVersion(version, uri, callback) - end - else - changeVersion(err.version, uri, callback) - end -end - -local function solveSyntaxByAddDoEnd(uri, data, callback) - callback { - title = lang.script.ACTION_ADD_DO_END, - kind = 'quickfix', - edit = { - changes = { - [uri] = { - { - range = { - start = data.range.start, - ['end'] = data.range.start, - }, - newText = 'do ', - }, - { - range = { - start = data.range['end'], - ['end'] = data.range['end'], - }, - newText = ' end', - } - } - } - } - } -end - -local function solveSyntaxByFix(uri, err, lines, callback) - local changes = {} - for _, e in ipairs(err.fix) do - local start_row, start_col = lines:rowcol(e.start) - local finish_row, finish_col = lines:rowcol(e.finish) - changes[#changes+1] = { - range = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - character = finish_col, - }, - }, - newText = e.text, - } - end - callback { - title = lang.script['ACTION_' .. err.fix.title], - kind = 'quickfix', - edit = { - changes = { - [uri] = changes, - } - } - } -end - -local function findEndPosition(lines, row, endrow) - if endrow == row then - return { - newText = ' end', - range = { - start = { - line = row - 1, - character = 999999, - }, - ['end'] = { - line = row - 1, - character = 999999, - } - } - } - else - local l = lines[row] - return { - newText = ('\t'):rep(l.tab) .. (' '):rep(l.sp) .. 'end\n', - range = { - start = { - line = endrow, - character = 0, - }, - ['end'] = { - line = endrow, - character = 0, - } - } - } - end -end - -local function isIfPart(id, lines, i) - if id ~= 'if' then - return false - end - local buf = lines:line(i) - local first = buf:match '^[%s\t]*([%w]+)' - if first == 'else' or first == 'elseif' then - return true - end - return false -end - -local function solveSyntaxByAddEnd(uri, start, finish, lines, callback) - local row = lines:rowcol(start) - local line = lines[row] - if not line then - return nil - end - local id = lines.buf:sub(start, finish) - local sp = line.sp + line.tab * 4 - for i = row + 1, #lines do - local nl = lines[i] - local lsp = nl.sp + nl.tab * 4 - if lsp <= sp and not isIfPart(id, lines, i) then - callback { - title = lang.script['ACTION_ADD_END'], - kind = 'quickfix', - edit = { - changes = { - [uri] = { - findEndPosition(lines, row, i - 1) - } - } - } - } - return - end - end - return nil -end - ----@param lsp LSP ----@param uri uri ----@param data table ----@param callback function -local function solveSyntax(lsp, uri, data, callback) - local file = lsp:getFile(uri) - if not file then - return - end - local astErr, lines = file:getAstErr(), file:getLines() - if not astErr or not lines then - return - end - local err = findSyntax(astErr, lines, data) - if not err then - return nil - end - if err.version then - solveSyntaxByChangeVersion(err, uri, callback) - end - if err.type == 'ACTION_AFTER_BREAK' or err.type == 'ACTION_AFTER_RETURN' then - solveSyntaxByAddDoEnd(uri, data, callback) - end - if err.type == 'MISS_END' then - solveSyntaxByAddEnd(uri, err.start, err.finish, lines, callback) - end - if err.type == 'MISS_SYMBOL' and err.info.symbol == 'end' then - solveSyntaxByAddEnd(uri, err.info.related[1], err.info.related[2], lines, callback) - end - if err.fix then - solveSyntaxByFix(uri, err, lines, callback) - end -end - -local function solveDiagnostic(lsp, uri, data, callback) - if data.source == lang.script.DIAG_SYNTAX_CHECK then - solveSyntax(lsp, uri, data, callback) - end - if not data.code then - return - end - if data.code == 'undefined-global' then - solveUndefinedGlobal(lsp, uri, data, callback) - end - if data.code == 'trailing-space' then - solveTrailingSpace(lsp, uri, data, callback) - end - if data.code == 'newline-call' then - solveNewlineCall(lsp, uri, data, callback) - end - if data.code == 'ambiguity-1' then - solveAmbiguity1(lsp, uri, data, callback) - end - if data.code == 'lowercase-global' then - solveLowercaseGlobal(lsp, uri, data, callback) - end - disableDiagnostic(lsp, uri, data, callback) -end - -local function rangeContain(a, b) - if a.start.line > b.start.line then - return false - end - if a.start.character > b.start.character then - return false - end - if a['end'].line < b['end'].line then - return false - end - if a['end'].character < b['end'].character then - return false - end - return true -end - -return function (lsp, uri, diagnostics, range) - local results = {} - - for _, data in ipairs(diagnostics) do - if rangeContain(data.range, range) then - solveDiagnostic(lsp, uri, data, function (result) - results[#results+1] = result - end) - end - end - - return results -end diff --git a/script/core/completion.lua b/script/core/completion.lua deleted file mode 100644 index 5af72de0..00000000 --- a/script/core/completion.lua +++ /dev/null @@ -1,1118 +0,0 @@ -local findSource = require 'core.find_source' -local getFunctionHover = require 'core.hover.function' -local getFunctionHoverAsLib = require 'core.hover.lib_function' -local getFunctionHoverAsEmmy = require 'core.hover.emmy_function' -local sourceMgr = require 'vm.source' -local config = require 'config' -local matchKey = require 'core.matchKey' -local parser = require 'parser' -local lang = require 'language' -local snippet = require 'core.snippet' -local uric = require 'uri' -local State - -local CompletionItemKind = { - Text = 1, - Method = 2, - Function = 3, - Constructor = 4, - Field = 5, - Variable = 6, - Class = 7, - Interface = 8, - Module = 9, - Property = 10, - Unit = 11, - Value = 12, - Enum = 13, - Keyword = 14, - Snippet = 15, - Color = 16, - File = 17, - Reference = 18, - Folder = 19, - EnumMember = 20, - Constant = 21, - Struct = 22, - Event = 23, - Operator = 24, - TypeParameter = 25, -} - -local KEYS = {'and', 'break', 'do', 'else', 'elseif', 'end', 'false', 'for', 'function', 'goto', 'if', 'in', 'local', 'nil', 'not', 'or', 'repeat', 'return', 'then', 'true', 'until', 'while'} -local KEYMAP = {} -for _, k in ipairs(KEYS) do - KEYMAP[k] = true -end - -local EMMY_KEYWORD = {'class', 'type', 'alias', 'param', 'return', 'field', 'generic', 'vararg', 'language', 'see', 'overload'} - -local function getDucumentation(name, value) - if value:getType() == 'function' then - local lib = value:getLib() - local hover - if lib then - hover = getFunctionHoverAsLib(name, lib) - else - local emmy = value:getEmmy() - if emmy and emmy.type == 'emmy.functionType' then - hover = getFunctionHoverAsEmmy(name, emmy) - else - hover = getFunctionHover(name, value:getFunction()) - end - end - if not hover then - return nil - end - local text = ([[ -```lua -%s -``` -%s -```lua -%s -``` -%s -]]):format(hover.label or '', hover.description or '', hover.enum or '', hover.doc or '') - return { - kind = 'markdown', - value = text, - } - end - local lib = value:getLib() - if lib then - return { - kind = 'markdown', - value = lib.description, - } - end - local comment = value:getComment() - if comment then - return { - kind = 'markdown', - value = comment, - } - end - return nil -end - -local function getDetail(value) - local literal = value:getLiteral() - local tp = type(literal) - local detals = {} - if value:getType() ~= 'any' then - detals[#detals+1] = ('(%s)'):format(value:getType()) - end - if tp == 'boolean' then - detals[#detals+1] = (' = %q'):format(literal) - elseif tp == 'string' then - detals[#detals+1] = (' = %q'):format(literal) - elseif tp == 'number' then - if math.type(literal) == 'integer' then - detals[#detals+1] = (' = %q'):format(literal) - else - local str = (' = %.16f'):format(literal) - local dot = str:find('.', 1, true) or 0 - local suffix = str:find('[0]+$', dot + 2) - if suffix then - detals[#detals+1] = str:sub(1, suffix - 1) - else - detals[#detals+1] = str - end - end - end - if value:getType() == 'function' then - ---@type emmyFunction - local func = value:getFunction() - local overLoads = func and func:getEmmyOverLoads() - if overLoads then - detals[#detals+1] = lang.script('HOVER_MULTI_PROTOTYPE', #overLoads + 1) - end - end - if #detals == 0 then - return nil - end - return table.concat(detals) -end - -local function getKind(cata, value) - if value:getType() == 'function' then - local func = value:getFunction() - if func and func:getObject() then - return CompletionItemKind.Method - else - return CompletionItemKind.Function - end - end - if cata == 'field' then - local literal = value:getLiteral() - local tp = type(literal) - if tp == 'number' or tp == 'integer' or tp == 'string' then - return CompletionItemKind.Enum - end - end - return nil -end - -local function buildSnipArgs(args, enums) - local t = {} - for i, arg in ipairs(args) do - local name = arg:match '^[^:]+' - local enum = enums and enums[name] - if enum and #enum > 0 then - t[i] = ('${%d|%s|}'):format(i, table.concat(enum, ',')) - else - t[i] = ('${%d:%s}'):format(i, arg) - end - end - return table.concat(t, ', ') -end - -local function getFunctionSnip(name, value, source) - if value:getType() ~= 'function' then - return - end - local lib = value:getLib() - local object = source:get 'object' - local hover - if lib then - hover = getFunctionHoverAsLib(name, lib, object) - else - local emmy = value:getEmmy() - if emmy and emmy.type == 'emmy.functionType' then - hover = getFunctionHoverAsEmmy(name, emmy, object) - else - hover = getFunctionHover(name, value:getFunction(), object) - end - end - if not hover then - return ('%s()'):format(name) - end - if not hover.args then - return ('%s()'):format(name) - end - return ('%s(%s)'):format(name, buildSnipArgs(hover.args, hover.rawEnum)) -end - -local function getValueData(cata, name, value, pos, source) - local data = { - documentation = getDucumentation(name, value), - detail = getDetail(value), - kind = getKind(cata, value), - snip = getFunctionSnip(name, value, source), - } - if cata == 'field' then - if not parser:grammar(name, 'Name') then - if source:get 'simple' and source:get 'simple' [1] ~= source then - data.textEdit = { - start = pos + 1, - finish = pos, - newText = ('[%q]'):format(name), - } - data.additionalTextEdits = { - { - start = pos, - finish = pos, - newText = '', - } - } - else - data.textEdit = { - start = pos + 1, - finish = pos, - newText = ('_ENV[%q]'):format(name), - } - data.additionalTextEdits = { - { - start = pos, - finish = pos, - newText = '', - } - } - end - end - end - return data -end - -local function searchLocals(vm, source, word, callback, pos) - vm:eachSource(function (src) - local loc = src:bindLocal() - if not loc then - return - end - - if src.start <= source.start - and loc:close() >= source.finish - and matchKey(word, loc:getName()) - then - callback(loc:getName(), src, CompletionItemKind.Variable, getValueData('local', loc:getName(), loc:getValue(), pos, source)) - end - end) -end - -local function sortPairs(t) - local keys = {} - for k in pairs(t) do - keys[#keys+1] = k - end - table.sort(keys) - local i = 0 - return function () - i = i + 1 - local k = keys[i] - return k, t[k] - end -end - -local function searchFieldsByInfo(parent, word, source, map, srcMap) - parent:eachInfo(function (info, src) - local k = info[1] - if src == source then - return - end - if map[k] then - return - end - if KEYMAP[k] then - return - end - if info.type ~= 'set child' and info.type ~= 'get child' then - return - end - if type(k) ~= 'string' then - return - end - local v = parent:getChild(k) - if not v then - return - end - if source:get 'object' and v:getType() ~= 'function' then - return - end - if matchKey(word, k) then - map[k] = v - srcMap[k] = src - end - end) -end - -local function searchFieldsByChild(parent, word, source, map, srcMap) - parent:eachChild(function (k, v, src) - if map[k] then - return - end - if KEYMAP[k] then - return - end - if not v:getLib() then - return - end - if type(k) ~= 'string' then - return - end - if source:get 'object' and v:getType() ~= 'function' then - return - end - if matchKey(word, k) then - map[k] = v - srcMap[k] = src - end - end) -end - ----@param vm VM -local function searchFields(vm, source, word, callback, pos) - local parent = source:get 'parent' or vm.env:getValue() - if not parent then - return - end - local map = {} - local srcMap = {} - local current = parent - for _ = 1, 3 do - searchFieldsByInfo(current, word, source, map, srcMap) - current = current:getMetaMethod('__index') - if not current then - break - end - end - searchFieldsByChild(parent, word, source, map, srcMap) - for k, v in sortPairs(map) do - callback(k, srcMap[k], CompletionItemKind.Field, getValueData('field', k, v, pos, source)) - end -end - -local function searchIndex(vm, source, word, callback) - vm:eachSource(function (src) - if src:get 'table index' then - if matchKey(word, src[1]) then - callback(src[1], src, CompletionItemKind.Property) - end - end - end) -end - -local function searchCloseGlobal(vm, start, finish, word, callback) - vm:eachSource(function (src) - if (src:get 'global' or src:bindLocal()) - and src.start >= start - and src.finish <= finish - then - if matchKey(word, src[1]) then - callback(src[1], src, CompletionItemKind.Variable) - end - end - end) -end - -local function searchParams(vm, source, func, word, callback) - if not func then - return - end - ---@type emmyFunction - local emmyParams = func:getEmmyParams() - if not emmyParams then - return - end - if #emmyParams > 1 then - if not func.args - or not func.args[1] - or func.args[1]:getSource() == source then - if matchKey(word, source and source[1] or '') then - local names = {} - for _, param in ipairs(emmyParams) do - local name = param:getName() - names[#names+1] = name - end - callback(table.concat(names, ', '), nil, CompletionItemKind.Snippet) - end - end - end - for _, param in ipairs(emmyParams) do - local name = param:getName() - if matchKey(word, name) then - callback(name, param:getSource(), CompletionItemKind.Interface) - end - end -end - -local function searchKeyWords(vm, source, word, callback) - local snipType = config.config.completion.keywordSnippet - for _, key in ipairs(KEYS) do - if matchKey(word, key) then - if snippet.key[key] then - if snipType ~= 'Replace' - or key == 'local' - or key == 'return' - or key == 'do' then - callback(key, nil, CompletionItemKind.Keyword) - end - if snipType ~= 'Disable' then - for _, data in ipairs(snippet.key[key]) do - callback(data.label, nil, CompletionItemKind.Snippet, { - insertText = data.text, - }) - end - end - else - callback(key, nil, CompletionItemKind.Keyword) - end - end - end -end - -local function searchGlobals(vm, source, word, callback, pos) - local global = vm.env:getValue() - local map = {} - local srcMap = {} - local current = global - for _ = 1, 3 do - searchFieldsByInfo(current, word, source, map, srcMap) - current = current:getMetaMethod('__index') - if not current then - break - end - end - searchFieldsByChild(global, word, source, map, srcMap) - for k, v in sortPairs(map) do - callback(k, srcMap[k], CompletionItemKind.Field, getValueData('field', k, v, pos, source)) - end -end - -local function searchAsGlobal(vm, source, word, callback, pos) - if word == '' then - return - end - searchLocals(vm, source, word, callback, pos) - searchFields(vm, source, word, callback, pos) - searchKeyWords(vm, source, word, callback) -end - -local function searchAsKeyowrd(vm, source, word, callback, pos) - searchLocals(vm, source, word, callback, pos) - searchGlobals(vm, source, word, callback, pos) - searchKeyWords(vm, source, word, callback) -end - -local function searchAsSuffix(vm, source, word, callback, pos) - searchFields(vm, source, word, callback, pos) -end - -local function searchAsIndex(vm, source, word, callback, pos) - searchLocals(vm, source, word, callback, pos) - searchIndex(vm, source, word, callback) - searchFields(vm, source, word, callback, pos) -end - -local function searchAsLocal(vm, source, word, callback) - local loc = source:bindLocal() - if not loc then - return - end - local close = loc:close() - -- 因为闭包的关系落在局部变量finish到close范围内的全局变量一定能访问到该局部变量 - searchCloseGlobal(vm, source.finish, close, word, callback) - -- 特殊支持 local function - if matchKey(word, 'function') then - callback('function', nil, CompletionItemKind.Keyword) - -- TODO 需要有更优美的实现方式 - local data = snippet.key['function'][1] - callback(data.label, nil, CompletionItemKind.Snippet, { - insertText = data.text, - }) - end -end - -local function searchAsArg(vm, source, word, callback) - searchParams(vm, source, source:get 'arg', word, callback) - - local loc = source:bindLocal() - if loc then - local close = loc:close() - -- 因为闭包的关系落在局部变量finish到close范围内的全局变量一定能访问到该局部变量 - searchCloseGlobal(vm, source.finish, close, word, callback) - return - end -end - -local function searchFunction(vm, source, word, pos, callback) - if pos >= source.argStart and pos <= source.argFinish then - searchParams(vm, nil, source:bindFunction():getFunction(), word, callback) - searchCloseGlobal(vm, source.argFinish, source.finish, word, callback) - end -end - -local function searchEmmyKeyword(vm, source, word, callback) - for _, kw in ipairs(EMMY_KEYWORD) do - if matchKey(word, kw) then - callback(kw, nil, CompletionItemKind.Keyword) - end - end -end - -local function searchEmmyClass(vm, source, word, callback) - local classes = {} - vm.emmyMgr:eachClass(function (class) - if class.type == 'emmy.class' or class.type == 'emmy.alias' then - if matchKey(word, class:getName()) then - classes[#classes+1] = class - end - end - end) - table.sort(classes, function (a, b) - return a:getName() < b:getName() - end) - for _, class in ipairs(classes) do - callback(class:getName(), class:getSource(), CompletionItemKind.Class) - end -end - -local function searchEmmyFunctionParam(vm, source, word, callback) - local func = source:get 'emmy function' - if not func.args then - return - end - if #func.args > 1 and matchKey(word, func.args[1].name) then - local list = {} - local args = {} - for i, arg in ipairs(func.args) do - if func:getObject() and i == 1 then - goto NEXT - end - args[#args+1] = arg.name - if #list == 0 then - list[#list+1] = ('%s any'):format(arg.name) - else - list[#list+1] = ('---@param %s any'):format(arg.name) - end - :: NEXT :: - end - callback(('%s'):format(table.concat(args, ', ')), nil, CompletionItemKind.Snippet, { - insertText = table.concat(list, '\n') - }) - end - for i, arg in ipairs(func.args) do - if func:getObject() and i == 1 then - goto NEXT - end - if matchKey(word, arg.name) then - callback(arg.name, nil, CompletionItemKind.Interface) - end - :: NEXT :: - end -end - -local function searchSource(vm, source, word, callback, pos) - if source.type == 'keyword' then - searchAsKeyowrd(vm, source, word, callback, pos) - return - end - if source:get 'table index' then - searchAsIndex(vm, source, word, callback, pos) - return - end - if source:get 'arg' then - searchAsArg(vm, source, word, callback) - return - end - if source:get 'global' then - searchAsGlobal(vm, source, word, callback, pos) - return - end - if source:action() == 'local' then - searchAsLocal(vm, source, word, callback) - return - end - if source:bindLocal() then - searchAsGlobal(vm, source, word, callback, pos) - return - end - if source:get 'simple' - and (source.type == 'name' or source.type == '.' or source.type == ':') then - searchAsSuffix(vm, source, word, callback, pos) - return - end - if source:bindFunction() then - searchFunction(vm, source, word, pos, callback) - return - end - if source.type == 'emmyIncomplete' then - searchEmmyKeyword(vm, source, word, callback) - State.ignoreText = true - return - end - if source:get 'emmy class' then - searchEmmyClass(vm, source, word, callback) - State.ignoreText = true - return - end - if source:get 'emmy function' then - searchEmmyFunctionParam(vm, source, word, callback) - State.ignoreText = true - return - end -end - -local function buildTextEdit(start, finish, str, quo) - local text, lquo, rquo, label, filterText - if quo == nil then - local text = str:gsub('\r', '\\r'):gsub('\n', '\\n'):gsub('"', '\\"') - return { - label = '"' .. text .. '"' - } - end - if quo == '"' then - label = str - filterText = str - text = str:gsub('\r', '\\r'):gsub('\n', '\\n'):gsub('"', '\\"') - lquo = quo - rquo = quo - elseif quo == "'" then - label = str - filterText = str - text = str:gsub('\r', '\\r'):gsub('\n', '\\n'):gsub("'", "\\'") - lquo = quo - rquo = quo - else - label = str - filterText = str - lquo = quo - rquo = ']' .. lquo:sub(2, -2) .. ']' - while str:find(rquo, 1, true) do - lquo = '[=' .. quo:sub(2) - rquo = ']' .. lquo:sub(2, -2) .. ']' - end - text = str - end - return { - label = label, - filterText = filterText, - textEdit = { - start = start + #quo, - finish = finish - #quo, - newText = text, - }, - additionalTextEdits = { - { - start = start, - finish = start + #quo - 1, - newText = lquo, - }, - { - start = finish - #quo + 1, - finish = finish, - newText = rquo, - }, - } - } -end - ---- @param vm VM ---- @param source table ---- @param callback function -local function searchInRequire(vm, source, callback) - if not vm.lsp then - return - end - if source.type ~= 'string' then - return - end - local ws = vm.lsp:findWorkspaceFor(vm.uri) - if not ws then - return - end - local list, map = ws:matchPath(vm.uri, source[1]) - if not list then - return - end - for _, str in ipairs(list) do - local data = buildTextEdit(source.start, source.finish, str, source[2]) - data.documentation = { - value = map[str], - kind = 'markdown', - } - callback(str, nil, CompletionItemKind.Reference, data) - end -end - -local function searchEnumAsLib(vm, source, word, callback, pos, args, lib) - local select = #args + 1 - for i, arg in ipairs(args) do - if arg.start <= pos and arg.finish >= pos then - select = i - break - end - end - - -- 根据参数位置找枚举值 - if lib.args and lib.enums then - local arg = lib.args[select] - local name = arg and arg.name - for _, enum in ipairs(lib.enums) do - if enum.name and enum.name == name and enum.enum then - if matchKey(word, enum.enum) then - local strSource = parser:parse(tostring(enum.enum), 'String') - if strSource then - if source.type == 'string' then - local data = buildTextEdit(source.start, source.finish, strSource[1], source[2]) - data.documentation = { - kind = 'markdown', - value = enum.description, - } - callback(enum.enum, nil, CompletionItemKind.EnumMember, data) - else - callback(enum.enum, nil, CompletionItemKind.EnumMember, { - documentation = { - value = enum.description, - kind = 'markdown', - } - }) - end - end - else - callback(enum.enum, nil, CompletionItemKind.EnumMember, { - documentation = { - value = enum.description, - kind = 'markdown', - } - }) - end - end - end - end - - -- 搜索特殊函数 - if lib.special == 'require' then - if select == 1 then - searchInRequire(vm, source, callback) - end - end -end - -local function buildEmmyEnumComment(enum, data) - if not enum.comment then - return data - end - if not data then - data = {} - end - data.documentation = { - value = tostring(enum.comment), - kind = 'markdown', - } - return data -end - -local function searchEnumAsEmmyParams(vm, source, word, callback, pos, args, func) - local select = #args + 1 - for i, arg in ipairs(args) do - if arg.start <= pos and arg.finish >= pos then - select = i - break - end - end - - local param = func:findEmmyParamByIndex(select) - if not param then - return - end - - param:eachEnum(function (enum) - local str = enum[1] - if matchKey(word, str) then - local strSource = parser:parse(tostring(str), 'String') - if strSource then - if source.type == 'string' then - local data = buildTextEdit(source.start, source.finish, strSource[1], source[2]) - callback(str, nil, CompletionItemKind.EnumMember, buildEmmyEnumComment(enum, data)) - else - callback(str, nil, CompletionItemKind.EnumMember, buildEmmyEnumComment(enum)) - end - else - callback(str, nil, CompletionItemKind.EnumMember, buildEmmyEnumComment(enum)) - end - end - end) - - local option = param:getOption() - if option and option.special == 'require:1' then - searchInRequire(vm, source, callback) - end -end - -local function getSelect(args, pos) - if not args then - return 1 - end - for i, arg in ipairs(args) do - if arg.start <= pos and arg.finish >= pos - 1 then - return i - end - end - return #args + 1 -end - -local function isInFunctionOrTable(call, pos) - local args = call:bindCall() - if not args then - return false - end - local select = getSelect(args, pos) - local arg = args[select] - if not arg then - return false - end - if arg.type == 'function' or arg.type == 'table' then - return true - end - return false -end - -local function searchCallArg(vm, source, word, callback, pos) - local results = {} - vm:eachSource(function (src) - if src.type == 'call' - and src.start <= pos - and src.finish >= pos - then - results[#results+1] = src - end - end) - if #results == 0 then - return nil - end - -- 可能处于 'func1(func2(' 的嵌套中,将最近的call放到最前面 - table.sort(results, function (a, b) - return a.start > b.start - end) - local call = results[1] - if isInFunctionOrTable(call, pos) then - return - end - - local args = call:bindCall() - if not args then - return - end - - local value = call:findCallFunction() - if not value then - return - end - - local lib = value:getLib() - if lib then - searchEnumAsLib(vm, source, word, callback, pos, args, lib) - return - end - - ---@type emmyFunction - local func = value:getFunction() - if func then - searchEnumAsEmmyParams(vm, source, word, callback, pos, args, func) - return - end -end - -local function searchAllWords(vm, source, word, callback, pos) - if word == '' then - return - end - if source.type == 'string' then - return - end - vm:eachSource(function (src) - if src.type == 'name' - and not (src.start <= pos and src.finish >= pos) - and matchKey(word, src[1]) - then - callback(src[1], src, CompletionItemKind.Text) - end - end) -end - -local function searchSpecialHashSign(vm, pos, text, callback) - -- 尝试 XXX[#XXX+1] - -- 1. 搜索 [] - local index - vm:eachSource(function (src) - if src.type == 'index' - and src.start <= pos - and src.finish >= pos - then - index = src - return true - end - end) - if not index then - return nil - end - -- 2. [] 内部只能有一个 # - local inside = index[1] - if not inside then - return nil - end - if inside.op ~= '#' then - return nil - end - -- 3. [] 左侧必须是 simple ,且index 是 simple 的最后一项 - local simple = index:get 'simple' - if not simple then - return nil - end - if simple[#simple] ~= index then - return nil - end - local chars = text:sub(simple.start, simple[#simple-1].finish) - -- 4. 创建代码片段 - if simple:get 'as action' then - local label = chars .. '+1' - callback(label, nil, CompletionItemKind.Snippet, { - textEdit = { - start = inside.start + 1, - finish = index.finish, - newText = ('%s] = '):format(label), - }, - }) - else - local label = chars - callback(label, nil, CompletionItemKind.Snippet, { - textEdit = { - start = inside.start + 1, - finish = index.finish, - newText = ('%s]'):format(label), - }, - }) - end -end - -local function searchSpecial(vm, source, word, callback, pos, text) - searchSpecialHashSign(vm, pos, text, callback) -end - -local function makeList(source, pos, word) - local list = {} - local mark = {} - return function (name, src, kind, data) - if src == source then - return - end - if word == name then - if src and src.start <= pos and src.finish >= pos then - return - end - end - if mark[name] then - return - end - mark[name] = true - if not data then - data = {} - end - if not data.label then - data.label = name - end - if not data.kind then - data.kind = kind - end - if src then - data.data = { - uri = src.uri, - offset = src.start, - } - end - list[#list+1] = data - if data.snip then - local snipType = config.config.completion.callSnippet - if snipType ~= 'Disable' then - local snipData = table.deepCopy(data) - snipData.insertText = data.snip - snipData.kind = CompletionItemKind.Snippet - snipData.label = snipData.label .. '()' - snipData.snip = nil - if snipType == 'Both' then - list[#list+1] = snipData - elseif snipType == 'Replace' then - list[#list] = snipData - end - end - data.snip = nil - end - end, list -end - -local function keywordSource(vm, word, pos) - if not KEYMAP[word] then - return nil - end - return vm:instantSource { - type = 'keyword', - start = pos, - finish = pos + #word - 1, - [1] = word, - } -end - -local function findStartPos(pos, buf) - local res = nil - for i = pos, 1, -1 do - local c = buf:sub(i, i) - if c:find '[%w_]' then - res = i - else - break - end - end - if not res then - for i = pos, 1, -1 do - local c = buf:sub(i, i) - if c == '.' or c == ':' or c == '|' or c == '(' then - res = i - break - elseif c == '#' or c == '@' then - res = i + 1 - break - elseif c:find '[%s%c]' then - else - break - end - end - end - if not res then - return pos - end - return res -end - -local function findWord(position, text) - local word = text - for i = position, 1, -1 do - local c = text:sub(i, i) - if not c:find '[%w_]' then - word = text:sub(i+1, position) - break - end - end - return word:match('^([%w_]*)') -end - -local function getSource(vm, pos, text, filter) - local word = findWord(pos, text) - local source = keywordSource(vm, word, pos) - if source then - return source, pos, word - end - source = findSource(vm, pos, filter) - if source then - return source, pos, word - end - pos = findStartPos(pos, text) - source = findSource(vm, pos, filter) or findSource(vm, pos-1, filter) - return source, pos, word -end - ---- @param vm VM ---- @param text string ---- @param pos table ---- @param oldText string ---- @return table -return function (vm, text, pos, oldText) - local filter = { - ['name'] = true, - ['string'] = true, - ['.'] = true, - [':'] = true, - ['emmyName'] = true, - ['emmyIncomplete'] = true, - ['call'] = true, - ['function'] = true, - ['localfunction'] = true, - } - local source, pos, word = getSource(vm, pos, text, filter) - if not source then - return nil - end - if oldText then - local oldWord = oldText:sub(source.start, source.finish) - if word:sub(1, #oldWord) ~= oldWord then - return nil - end - end - State = {} - local callback, list = makeList(source, pos, word) - searchSpecial(vm, source, word, callback, pos, text) - searchCallArg(vm, source, word, callback, pos) - searchSource(vm, source, word, callback, pos) - if not oldText or #list > 0 then - if not State.ignoreText then - searchAllWords(vm, source, word, callback, pos) - end - end - - if #list == 0 then - return nil - end - - return list -end diff --git a/script/core/definition.lua b/script/core/definition.lua deleted file mode 100644 index 8680a29b..00000000 --- a/script/core/definition.lua +++ /dev/null @@ -1,296 +0,0 @@ -local findSource = require 'core.find_source' -local Mode - -local function parseValueSimily(callback, vm, source) - local key = source[1] - if not key then - return nil - end - vm:eachSource(function (other) - if other == source then - goto CONTINUE - end - if other[1] == key - and not other:bindLocal() - and other:bindValue() - and source:bindValue() ~= other:bindValue() - then - if Mode == 'definition' then - if other:action() == 'set' then - callback(other) - end - elseif Mode == 'reference' then - if other:action() == 'set' or other:action() == 'get' then - callback(other) - end - end - end - :: CONTINUE :: - end) -end - -local function parseLocal(callback, vm, source) - ---@type Local - local loc = source:bindLocal() - callback(loc:getSource()) - loc:eachInfo(function (info, src) - if Mode == 'definition' then - if info.type == 'set' or info.type == 'local' then - if vm.uri == src:getUri() then - if source.id >= src.id then - callback(src) - end - end - end - elseif Mode == 'reference' then - if info.type == 'set' or info.type == 'local' or info.type == 'return' or info.type == 'get' then - callback(src) - end - end - end) -end - -local function parseValueByValue(callback, vm, source, value) - if not source then - return - end - local mark = { [vm] = true } - local list = {} - for _ = 1, 5 do - value:eachInfo(function (info, src) - if Mode == 'definition' then - if info.type == 'local' then - if vm.uri == src:getUri() then - if source.id >= src.id then - callback(src) - end - end - end - if info.type == 'set' then - if vm.uri == src:getUri() then - if source.id >= src.id then - callback(src) - end - else - callback(src) - end - end - if info.type == 'return' then - if (src.type ~= 'simple' or src[#src].type == 'call') - and src.type ~= 'name' - then - callback(src) - end - if vm.lsp then - local destVM = vm.lsp:getVM(src:getUri()) - if destVM and not mark[destVM] then - mark[destVM] = true - list[#list+1] = { destVM, src } - end - end - end - elseif Mode == 'reference' then - if info.type == 'set' or info.type == 'local' or info.type == 'return' or info.type == 'get' then - callback(src) - end - end - end) - local nextData = table.remove(list, 1) - if nextData then - vm, source = nextData[1], nextData[2] - end - end -end - -local function parseValue(callback, vm, source) - local value = source:bindValue() - local isGlobal - if value then - isGlobal = value:isGlobal() - parseValueByValue(callback, vm, source, value) - local emmy = value:getEmmy() - if emmy and emmy.type == 'emmy.type' then - ---@type EmmyType - local emmyType = emmy - emmyType:eachClass(function (class) - if class and class:getValue() then - local emmyVM = vm - if vm.lsp then - local destVM = vm.lsp:getVM(class:getSource():getUri()) - if destVM then - emmyVM = destVM - end - end - parseValueByValue(callback, emmyVM, class:getValue():getSource(), class:getValue()) - end - end) - end - end - local parent = source:get 'parent' - for _ = 1, 3 do - if parent then - local ok = parent:eachInfo(function (info, src) - if Mode == 'definition' then - if info.type == 'set child' and info[1] == source[1] then - callback(src) - return true - end - elseif Mode == 'reference' then - if (info.type == 'set child' or info.type == 'get child') and info[1] == source[1] then - callback(src) - return true - end - end - end) - if ok then - break - end - parent = parent:getMetaMethod('__index') - end - end - return isGlobal -end - -local function parseLabel(callback, vm, label) - label:eachInfo(function (info, src) - if Mode == 'definition' then - if info.type == 'set' then - callback(src) - end - elseif Mode == 'reference' then - if info.type == 'set' or info.type == 'get' then - callback(src) - end - end - end) -end - -local function jumpUri(callback, vm, source) - local uri = source:get 'target uri' - callback { - start = 0, - finish = 0, - uri = uri - } -end - -local function parseClass(callback, vm, source) - local className = source:get 'emmy class' - vm.emmyMgr:eachClass(className, function (class) - if Mode == 'definition' then - if class.type == 'emmy.class' or class.type == 'emmy.alias' then - local src = class:getSource() - callback(src) - end - elseif Mode == 'reference' then - if class.type == 'emmy.class' or class.type == 'emmy.alias' or class.type == 'emmy.typeUnit' then - local src = class:getSource() - callback(src) - end - end - end) -end - -local function parseSee(callback, vm, source) - local see = source:get 'emmy see' - local className = see[1][1] - local childName = see[2][1] - vm.emmyMgr:eachClass(className, function (class) - ---@type value - local value = class:getValue() - local child = value:getChild(childName) - parseValueByValue(callback, vm, source, child) - end) -end - -local function parseFunction(callback, vm, source) - if Mode == 'definition' then - callback(source:bindFunction():getSource()) - source:bindFunction():eachInfo(function (info, src) - if info.type == 'set' or info.type == 'local' then - if vm.uri == src:getUri() then - if source.id >= src.id then - callback(src) - end - else - callback(src) - end - end - end) - elseif Mode == 'reference' then - callback(source:bindFunction():getSource()) - source:bindFunction():eachInfo(function (info, src) - if info.type == 'set' or info.type == 'local' or info.type == 'get' then - callback(src) - end - end) - end -end - -local function makeList(source) - local list = {} - local mark = {} - return list, function (src) - if mark[src] then - return - end - mark[src] = true - list[#list+1] = { - src.start, - src.finish, - src.uri - } - end -end - -return function (vm, pos, mode) - local filter = { - ['name'] = true, - ['string'] = true, - ['number'] = true, - ['boolean'] = true, - ['label'] = true, - ['goto'] = true, - ['function'] = true, - ['...'] = true, - ['emmyName'] = true, - ['emmyIncomplete'] = true, - } - local source = findSource(vm, pos, filter) - if not source then - return nil - end - Mode = mode - local list, callback = makeList(source) - local isGlobal - if source:bindLocal() then - parseLocal(callback, vm, source) - end - if source:bindValue() then - isGlobal = parseValue(callback, vm, source) - end - if source:bindLabel() then - parseLabel(callback, vm, source:bindLabel()) - end - if source:bindFunction() then - parseFunction(callback, vm, source) - end - if source:get 'target uri' then - jumpUri(callback, vm, source) - end - if source:get 'in index' then - isGlobal = parseValue(callback, vm, source) - end - if source:get 'emmy class' then - parseClass(callback, vm, source) - end - if source:get 'emmy see' then - parseSee(callback, vm, source) - end - - if #list == 0 then - parseValueSimily(callback, vm, source) - end - - return list, isGlobal -end diff --git a/script/core/diagnostics.lua b/script/core/diagnostics.lua deleted file mode 100644 index 0ec98954..00000000 --- a/script/core/diagnostics.lua +++ /dev/null @@ -1,1082 +0,0 @@ -local lang = require 'language' -local config = require 'config' -local library = require 'core.library' -local buildGlobal = require 'vm.global' -local DiagnosticSeverity = require 'constant.DiagnosticSeverity' -local DiagnosticDefaultSeverity = require 'constant.DiagnosticDefaultSeverity' -local DiagnosticTag = require 'constant.DiagnosticTag' - -local mt = {} -mt.__index = mt - -local function isContainPos(obj, start, finish) - if obj.start <= start and obj.finish >= finish then - return true - end - return false -end - -function mt:searchUnusedLocals(callback) - self.vm:eachSource(function (source) - local loc = source:bindLocal() - if not loc then - return - end - if loc:get 'emmy arg' then - return - end - local name = loc:getName() - if name == '_' or name == '_ENV' or name == '' then - return - end - if source:action() ~= 'local' then - return - end - if loc:get 'hide' then - return - end - if loc.tags then - for _, tag in ipairs(loc.tags) do - if tag[1] == 'close' then - return - end - end - end - local used = loc:eachInfo(function (info) - if info.type == 'get' then - return true - end - end) - if not used then - callback(source.start, source.finish, name) - end - end) -end - -function mt:searchUnusedFunctions(callback) - self.vm:eachSource(function (source) - local loc = source:bindLocal() - if not loc then - return - end - if loc:get 'emmy arg' then - return - end - if source:action() ~= 'local' then - return - end - if loc:get 'hide' then - return - end - local used = loc:eachInfo(function (info) - if info.type == 'get' then - return true - end - end) - if used then - return - end - loc:eachInfo(function (info, src) - if info.type == 'set' or info.type == 'local' then - local v = src:bindValue() - local func = v and v:getFunction() - if func and func:getSource().uri == self.vm.uri then - callback(func:getSource().start, func:getSource().finish) - end - end - end) - end) -end - -function mt:searchUndefinedGlobal(callback) - local definedGlobal = {} - for name in pairs(config.config.diagnostics.globals) do - definedGlobal[name] = true - end - local envValue = buildGlobal(self.vm.lsp) - envValue:eachInfo(function (info) - if info.type == 'set child' then - local name = info[1] - definedGlobal[name] = true - end - end) - self.vm:eachSource(function (source) - if not source:get 'global' then - return - end - local name = source:getName() - if name == '' then - return - end - local parent = source:get 'parent' - if not parent then - return - end - if not parent:get 'ENV' and not source:get 'in index' then - return - end - if definedGlobal[name] then - return - end - if type(name) ~= 'string' then - return - end - callback(source.start, source.finish, name) - end) -end - -function mt:searchUnusedLabel(callback) - self.vm:eachSource(function (source) - local label = source:bindLabel() - if not label then - return - end - if source:action() ~= 'set' then - return - end - local used = label:eachInfo(function (info) - if info.type == 'get' then - return true - end - end) - if not used then - callback(source.start, source.finish, label:getName()) - end - end) -end - -function mt:searchUnusedVararg(callback) - self.vm:eachSource(function (source) - local value = source:bindFunction() - if not value then - return - end - local func = value:getFunction() - if not func then - return - end - if func._dotsSource and not func._dotsLoad then - callback(func._dotsSource.start, func._dotsSource.finish) - end - end) -end - -local function isInString(vm, start, finish) - return vm:eachSource(function (source) - if source.type == 'string' and isContainPos(source, start, finish) then - return true - end - end) -end - -function mt:searchSpaces(callback) - local vm = self.vm - local lines = self.lines - for i = 1, #lines do - local line = lines:line(i) - - if line:find '^[ \t]+$' then - local start, finish = lines:range(i) - if isInString(vm, start, finish) then - goto NEXT_LINE - end - callback(start, finish, lang.script.DIAG_LINE_ONLY_SPACE) - goto NEXT_LINE - end - - local pos = line:find '[ \t]+$' - if pos then - local start, finish = lines:range(i) - start = start + pos - 1 - if isInString(vm, start, finish) then - goto NEXT_LINE - end - callback(start, finish, lang.script.DIAG_LINE_POST_SPACE) - goto NEXT_LINE - end - - ::NEXT_LINE:: - end -end - -function mt:searchRedefinition(callback) - local used = {} - local uri = self.uri - self.vm:eachSource(function (source) - local loc = source:bindLocal() - if not loc then - return - end - local shadow = loc:shadow() - if not shadow then - return - end - if used[shadow] then - return - end - used[shadow] = true - if loc:get 'hide' then - return - end - local name = loc:getName() - if name == '_' or name == '_ENV' or name == '' then - return - end - local related = {} - for i = 1, #shadow do - related[i] = { - start = shadow[i]:getSource().start, - finish = shadow[i]:getSource().finish, - uri = uri, - } - end - for i = 2, #shadow do - callback(shadow[i]:getSource().start, shadow[i]:getSource().finish, name, related) - end - end) -end - -function mt:searchNewLineCall(callback) - local lines = self.lines - self.vm:eachSource(function (source) - if source.type ~= 'simple' then - return - end - for i = 1, #source - 1 do - local callSource = source[i] - local funcSource = source[i-1] - if callSource.type ~= 'call' then - goto CONTINUE - end - local callLine = lines:rowcol(callSource.start) - local funcLine = lines:rowcol(funcSource.finish) - if callLine > funcLine then - callback(callSource.start, callSource.finish) - end - :: CONTINUE :: - end - end) -end - -function mt:searchNewFieldCall(callback) - local lines = self.lines - self.vm:eachSource(function (source) - if source.type ~= 'table' then - return - end - for i = 1, #source do - local field = source[i] - if field.type == 'simple' then - local callSource = field[#field] - local funcSource = field[#field-1] - local callLine = lines:rowcol(callSource.start) - local funcLine = lines:rowcol(funcSource.finish) - if callLine > funcLine then - callback(funcSource.start, callSource.finish - , lines.buf:sub(funcSource.start, funcSource.finish) - , lines.buf:sub(callSource.start, callSource.finish) - ) - end - end - end - end) -end - -function mt:searchRedundantParameters(callback) - self.vm:eachSource(function (source) - local args = source:bindCall() - if not args then - return - end - - -- 回调函数不检查 - local simple = source:get 'simple' - if simple and simple[2] == source then - local loc = simple[1]:bindLocal() - if loc then - local source = loc:getSource() - if source:get 'arg' then - return - end - end - end - - local value = source:findCallFunction() - if not value then - return - end - - local func = value:getFunction() - -- 参数中有 ... ,不用再检查了 - if func:hasDots() then - return - end - local max = #func.args - local passed = #args - -- function m.open() end - -- m:open() - -- 这种写法不算错 - if passed == 1 and source:get 'has object' then - return - end - for i = max + 1, passed do - local extra = args[i] - callback(extra.start, extra.finish, max, passed) - end - end) -end - -local opMap = { - ['+'] = true, - ['-'] = true, - ['*'] = true, - ['/'] = true, - ['//'] = true, - ['^'] = true, - ['<<'] = true, - ['>>'] = true, - ['&'] = true, - ['|'] = true, - ['~'] = true, - ['..'] = true, -} - -local literalMap = { - ['number'] = true, - ['boolean'] = true, - ['string'] = true, - ['table'] = true, -} - -function mt:searchAmbiguity1(callback) - self.vm:eachSource(function (source) - if source.op ~= 'or' then - return - end - local first = source[1] - local second = source[2] - -- a + (b or 0) --> (a + b) or 0 - do - if opMap[first.op] - and first.type ~= 'unary' - and not second.op - and literalMap[second.type] - and not first.brackets - then - callback(source.start, source.finish, first.start, first.finish) - end - end - -- (a or 0) + c --> a or (0 + c) - do - if opMap[second.op] - and second.type ~= 'unary' - and not first.op - and literalMap[second[1].type] - and not second.brackets - then - callback(source.start, source.finish, second.start, second.finish) - end - end - end) -end - -function mt:searchLowercaseGlobal(callback) - local definedGlobal = {} - for name in pairs(config.config.diagnostics.globals) do - definedGlobal[name] = true - end - for name in pairs(library.global) do - definedGlobal[name] = true - end - self.vm:eachSource(function (source) - if source.type == 'name' - and source:get 'parent' - and not source:get 'simple' - and not source:get 'table index' - and source:action() == 'set' - then - local name = source[1] - if definedGlobal[name] then - return - end - local first = name:match '%w' - if not first then - return - end - if first:match '%l' then - callback(source.start, source.finish) - end - end - end) -end - -function mt:searchDuplicateIndex(callback) - self.vm:eachSource(function (source) - if source.type ~= 'table' then - return - end - local mark = {} - for _, obj in ipairs(source) do - if obj.type == 'pair' then - local key = obj[1] - local name - if key.type == 'index' then - if key[1].type == 'string' then - name = key[1][1] - end - elseif key.type == 'name' then - name = key[1] - end - if name then - if mark[name] then - mark[name][#mark[name]+1] = obj - else - mark[name] = { obj } - end - end - end - end - for name, defs in pairs(mark) do - if #defs > 1 then - local related = {} - for i = 1, #defs do - related[i] = { - start = defs[i][1].start, - finish = defs[i][2].finish, - uri = self.uri, - } - end - for i = 1, #defs - 1 do - callback(defs[i][1].start, defs[i][2].finish, name, related, 'unused') - end - for i = #defs, #defs do - callback(defs[i][1].start, defs[i][1].finish, name, related, 'duplicate') - end - end - end - end) -end - -function mt:searchDuplicateMethod(callback) - local uri = self.uri - local mark = {} - local map = {} - self.vm:eachSource(function (source) - local parent = source:get 'parent' - if not parent then - return - end - if mark[parent] then - return - end - mark[parent] = true - local relates = {} - parent:eachInfo(function (info, src) - local k = info[1] - if info.type ~= 'set child' then - return - end - if type(k) ~= 'string' then - return - end - if src.start == 0 then - return - end - if not src:get 'object' then - return - end - if map[src] then - return - end - if not relates[k] then - relates[k] = map[src] or { - name = k, - } - end - map[src] = relates[k] - relates[k][#relates[k]+1] = { - start = src.start, - finish = src.finish, - uri = src.uri - } - end) - end) - for src, relate in pairs(map) do - if #relate > 1 and src.uri == uri then - callback(src.start, src.finish, relate.name, relate) - end - end -end - -function mt:searchEmptyBlock(callback) - self.vm:eachSource(function (source) - -- 认为空repeat与空while是合法的 - -- 要去vm中激活source - if source.type == 'if' then - for _, block in ipairs(source) do - if #block > 0 then - return - end - end - callback(source.start, source.finish) - return - end - if source.type == 'loop' - or source.type == 'in' - then - if #source == 0 then - callback(source.start, source.finish) - end - return - end - end) -end - -function mt:searchRedundantValue(callback) - self.vm:eachSource(function (source) - if source.type == 'set' or source.type == 'local' then - local args = source[1] - local values = source[2] - if not source[2] then - return - end - local argCount, valueCount - if args.type == 'list' then - argCount = #args - else - argCount = 1 - end - if values.type == 'list' then - valueCount = #values - else - valueCount = 1 - end - for i = argCount + 1, valueCount do - local value = values[i] - callback(value.start, value.finish, argCount, valueCount) - end - end - end) -end - -function mt:searchUndefinedEnvChild(callback) - self.vm:eachSource(function (source) - if not source:get 'global' then - return - end - local name = source:getName() - if name == '' then - return - end - if source:get 'in index' then - return - end - local parent = source:get 'parent' - if parent:get 'ENV' then - return - end - local value = source:bindValue() - if not value then - return - end - if value:getSource() == source then - callback(source.start, source.finish, name) - end - return - end) -end - -function mt:searchGlobalInNilEnv(callback) - self.vm:eachSource(function (source) - if not source:get 'global' then - return - end - local name = source:getName() - if name == '' then - return - end - local parentSource = source:get 'parent' :getSource() - if parentSource and parentSource.type == 'nil' then - callback(source.start, source.finish, { - { - start = parentSource.start, - finish = parentSource.finish, - uri = self.uri, - } - }) - end - return - end) -end - -function mt:checkEmmyClass(source, callback) - local class = source:get 'emmy.class' - if not class then - return - end - -- class重复定义 - local name = class:getName() - local related = {} - self.vm.emmyMgr:eachClass(name, function (class) - if class.type ~= 'emmy.class' and class.type ~= 'emmy.alias' then - return - end - local src = class:getSource() - if src ~= source then - related[#related+1] = { - start = src.start, - finish = src.finish, - uri = src.uri, - } - end - end) - if #related > 0 then - callback(source.start, source.finish, lang.script.DIAG_DUPLICATE_CLASS ,related) - end - -- 继承不存在的class - local extends = class.extends - if not extends then - return - end - local parent = self.vm.emmyMgr:eachClass(extends, function (parent) - if parent.type == 'emmy.class' then - return parent - end - end) - if not parent then - callback(source[2].start, source[2].finish, lang.script.DIAG_UNDEFINED_CLASS) - return - end - - -- class循环继承 - local related = {} - local current = class - for _ = 1, 10 do - local extends = current.extends - if not extends then - break - end - related[#related+1] = { - start = current:getSource().start, - finish = current:getSource().finish, - uri = current:getSource().uri, - } - current = self.vm.emmyMgr:eachClass(extends, function (parent) - if parent.type == 'emmy.class' then - return parent - end - end) - if not current then - break - end - if current:getName() == class:getName() then - callback(source.start, source.finish, lang.script.DIAG_CYCLIC_EXTENDS, related) - break - end - end -end - -function mt:checkEmmyType(source, callback) - for _, tpsource in ipairs(source) do - -- TODO 临时决绝办法,重构后解决 - local name - if tpsource.type == 'emmyArrayType' then - name = tpsource[1][1] - else - name = tpsource[1] - end - local class = self.vm.emmyMgr:eachClass(name, function (class) - if class.type == 'emmy.class' or class.type == 'emmy.alias' then - return class - end - end) - if not class then - callback(tpsource.start, tpsource.finish, lang.script.DIAG_UNDEFINED_CLASS) - end - end -end - -function mt:checkEmmyAlias(source, callback) - local class = source:get 'emmy.alias' - if not class then - return - end - -- class重复定义 - local name = class:getName() - local related = {} - self.vm.emmyMgr:eachClass(name, function (class) - if class.type ~= 'emmy.class' and class.type ~= 'emmy.alias' then - return - end - local src = class:getSource() - if src ~= source then - related[#related+1] = { - start = src.start, - finish = src.finish, - uri = src.uri, - } - end - end) - if #related > 0 then - callback(source.start, source.finish, lang.script.DIAG_DUPLICATE_CLASS ,related) - end -end - -function mt:checkEmmyParam(source, callback, mark) - local func = source:get 'emmy function' - if not func then - return - end - if mark[func] then - return - end - mark[func] = true - - -- 检查不存在的参数 - local emmyParams = func:getEmmyParams() - local funcParams = {} - if func.args then - for _, arg in ipairs(func.args) do - funcParams[arg.name] = true - end - end - for _, param in ipairs(emmyParams) do - local name = param:getName() - if not funcParams[name] then - callback(param:getSource()[1].start, param:getSource()[1].finish, lang.script.DIAG_INEXISTENT_PARAM) - end - end - - -- 检查重复的param - local lists = {} - for _, param in ipairs(emmyParams) do - local name = param:getName() - if not lists[name] then - lists[name] = {} - end - lists[name][#lists[name]+1] = param:getSource()[1] - end - for _, list in pairs(lists) do - if #list > 1 then - local related = {} - for _, src in ipairs(list) do - related[#related+1] = { - src.start, - src.finish, - src.uri, - } - callback(src.start, src.finish, lang.script.DIAG_DUPLICATE_PARAM) - end - end - end -end - -function mt:checkEmmyField(source, callback, mark) - ---@type EmmyClass - local class = source:get 'target class' - -- 必须写在 class 的后面 - if not class then - callback(source.start, source.finish, lang.script.DIAG_NEED_CLASS) - end - - -- 检查重复的 field - if class and not mark[class] then - mark[class] = true - local lists = {} - class:eachField(function (field) - local name = field:getName() - if not lists[name] then - lists[name] = {} - end - lists[name][#lists[name]+1] = field:getSource()[2] - end) - for _, list in pairs(lists) do - if #list > 1 then - local related = {} - for _, src in ipairs(list) do - related[#related+1] = { - src.start, - src.finish, - src.uri, - } - callback(src.start, src.finish, lang.script.DIAG_DUPLICATE_FIELD) - end - end - end - end -end - -function mt:searchEmmyLua(callback) - local mark = {} - self.vm:eachSource(function (source) - if source.type == 'emmyClass' then - self:checkEmmyClass(source, callback) - elseif source.type == 'emmyType' then - self:checkEmmyType(source, callback) - elseif source.type == 'emmyAlias' then - self:checkEmmyAlias(source, callback) - elseif source.type == 'emmyParam' then - self:checkEmmyParam(source, callback, mark) - elseif source.type == 'emmyField' then - self:checkEmmyField(source, callback, mark) - end - end) -end - -function mt:searchSetConstLocal(callback) - local mark = {} - self.vm:eachSource(function (source) - local loc = source:bindLocal() - if not loc then - return - end - if mark[loc] then - return - end - mark[loc] = true - if not loc.tags then - return - end - local const - for _, tag in ipairs(loc.tags) do - if tag[1] == 'const' then - const = true - break - end - end - if not const then - return - end - loc:eachInfo(function (info, src) - if info.type == 'set' then - callback(src.start, src.finish) - end - end) - end) -end - -function mt:searchSetForState(callback) - local locs = {} - self.vm:eachSource(function (source) - if source.type == 'loop' then - locs[#locs+1] = source.arg:bindLocal() - elseif source.type == 'in' then - --self.vm:forList(source.arg, function (arg) - -- locs[#locs+1] = arg:bindLocal() - --end) - end - end) - for i = 1, #locs do - local loc = locs[i] - loc:eachInfo(function (info, src) - if info.type == 'set' then - callback(src.start, src.finish) - end - end) - end -end - -function mt:doDiagnostics(func, code, callback) - if config.config.diagnostics.disable[code] then - return - end - local level = config.config.diagnostics.severity[code] - if not DiagnosticSeverity[level] then - level = DiagnosticDefaultSeverity[code] - end - func(self, function (start, finish, ...) - local data = callback(...) - data.code = code - data.start = start - data.finish = finish - data.level = data.level or DiagnosticSeverity[level] - self.datas[#self.datas+1] = data - end) - if coroutine.isyieldable() then - if self.vm:isRemoved() then - coroutine.yield('stop') - else - coroutine.yield() - end - end -end - -return function (vm, lines, uri) - local session = setmetatable({ - vm = vm, - lines = lines, - uri = uri, - datas = {}, - }, mt) - - -- 未使用的局部变量 - session:doDiagnostics(session.searchUnusedLocals, 'unused-local', function (key) - return { - message = lang.script('DIAG_UNUSED_LOCAL', key), - tags = {DiagnosticTag.Unnecessary}, - } - end) - -- 未使用的函数 - session:doDiagnostics(session.searchUnusedFunctions, 'unused-function', function () - return { - message = lang.script.DIAG_UNUSED_FUNCTION, - tags = {DiagnosticTag.Unnecessary}, - } - end) - -- 读取未定义全局变量 - session:doDiagnostics(session.searchUndefinedGlobal, 'undefined-global', function (key) - local message = lang.script('DIAG_UNDEF_GLOBAL', key) - local otherVersion = library.other[key] - local customLib = library.custom[key] - if otherVersion then - message = ('%s(%s)'):format(message, lang.script('DIAG_DEFINED_VERSION', table.concat(otherVersion, '/'), config.config.runtime.version)) - end - if customLib then - message = ('%s(%s)'):format(message, lang.script('DIAG_DEFINED_CUSTOM', table.concat(customLib, '/'))) - end - return { - message = message, - } - end) - -- 未使用的Label - session:doDiagnostics(session.searchUnusedLabel, 'unused-label', function (key) - return { - message = lang.script('DIAG_UNUSED_LABEL', key), - tags = {DiagnosticTag.Unnecessary}, - } - end) - -- 未使用的不定参数 - session:doDiagnostics(session.searchUnusedVararg, 'unused-vararg', function () - return { - message = lang.script.DIAG_UNUSED_VARARG, - tags = {DiagnosticTag.Unnecessary}, - } - end) - -- 只有空格与制表符的行,以及后置空格 - session:doDiagnostics(session.searchSpaces, 'trailing-space', function (message) - return { - message = message, - } - end) - -- 重定义局部变量 - session:doDiagnostics(session.searchRedefinition, 'redefined-local', function (key, related) - return { - message = lang.script('DIAG_REDEFINED_LOCAL', key), - related = related, - } - end) - -- 以括号开始的一行(可能被误解析为了上一行的call) - session:doDiagnostics(session.searchNewLineCall, 'newline-call', function () - return { - message = lang.script.DIAG_PREVIOUS_CALL, - } - end) - -- 以字符串开始的field(可能被误解析为了上一行的call) - session:doDiagnostics(session.searchNewFieldCall, 'newfield-call', function (func, call) - return { - message = lang.script('DIAG_PREFIELD_CALL', func, call), - } - end) - -- 调用函数时的参数数量是否超过函数的接收数量 - session:doDiagnostics(session.searchRedundantParameters, 'redundant-parameter', function (max, passed) - return { - message = lang.script('DIAG_OVER_MAX_ARGS', max, passed), - tags = {DiagnosticTag.Unnecessary}, - } - end) - -- x or 0 + 1 - session:doDiagnostics(session.searchAmbiguity1, 'ambiguity-1', function (start, finish) - return { - message = lang.script('DIAG_AMBIGUITY_1', lines.buf:sub(start, finish)), - } - end) - -- 不允许定义首字母小写的全局变量(很可能是拼错或者漏删) - session:doDiagnostics(session.searchLowercaseGlobal, 'lowercase-global', function () - return { - message = lang.script.DIAG_LOWERCASE_GLOBAL, - } - end) - -- 未定义的变量(重载了 `_ENV`) - session:doDiagnostics(session.searchUndefinedEnvChild, 'undefined-env-child', function (key) - if vm.envType == '_ENV' then - return { - message = lang.script('DIAG_UNDEF_ENV_CHILD', key), - } - else - return { - message = lang.script('DIAG_UNDEF_FENV_CHILD', key), - } - end - end) - -- 全局变量不可用(置空了 `_ENV`) - session:doDiagnostics(session.searchGlobalInNilEnv, 'global-in-nil-env', function (related) - if vm.envType == '_ENV' then - return { - message = lang.script.DIAG_GLOBAL_IN_NIL_ENV, - related = related, - } - else - return { - message = lang.script.DIAG_GLOBAL_IN_NIL_FENV, - related = related, - } - end - end) - -- 构建表时重复定义field - session:doDiagnostics(session.searchDuplicateIndex, 'duplicate-index', function (key, related, type) - if type == 'unused' then - return { - message = lang.script('DIAG_DUPLICATE_INDEX', key), - related = related, - level = DiagnosticSeverity.Hint, - tags = {DiagnosticTag.Unnecessary}, - } - else - return { - message = lang.script('DIAG_DUPLICATE_INDEX', key), - related = related, - } - end - end) - -- 往表里面塞重复的method - --session:doDiagnostics(session.searchDuplicateMethod, 'duplicate-method', function (key, related) - -- return { - -- message = lang.script('DIAG_DUPLICATE_METHOD', key), - -- related = related, - -- } - --end) - -- 空代码块 - session:doDiagnostics(session.searchEmptyBlock, 'empty-block', function () - return { - message = lang.script.DIAG_EMPTY_BLOCK, - tags = {DiagnosticTag.Unnecessary}, - } - end) - -- 多余的赋值 - session:doDiagnostics(session.searchRedundantValue, 'redundant-value', function (max, passed) - return { - message = lang.script('DIAG_OVER_MAX_VALUES', max, passed), - tags = {DiagnosticTag.Unnecessary}, - } - end) - -- Emmy相关的检查 - session:doDiagnostics(session.searchEmmyLua, 'emmy-lua', function (message, related) - return { - message = message, - related = related, - } - end) - -- 检查给const变量赋值 - session:doDiagnostics(session.searchSetConstLocal, 'set-const', function () - return { - message = lang.script.DIAG_SET_CONST - } - end) - -- 检查修改for的内置变量 - session:doDiagnostics(session.searchSetForState, 'set-for-state', function () - return { - message = lang.script.DIAG_SET_FOR_STATE, - } - end) - return session.datas -end diff --git a/script/core/document_symbol.lua b/script/core/document_symbol.lua deleted file mode 100644 index 48e01332..00000000 --- a/script/core/document_symbol.lua +++ /dev/null @@ -1,260 +0,0 @@ -local hoverFunction = require 'core.hover.function' -local getName = require 'core.name' -local hover = require 'core.hover' - -local SymbolKind = { - File = 1, - Module = 2, - Namespace = 3, - Package = 4, - Class = 5, - Method = 6, - Property = 7, - Field = 8, - Constructor = 9, - Enum = 10, - Interface = 11, - Function = 12, - Variable = 13, - Constant = 14, - String = 15, - Number = 16, - Boolean = 17, - Array = 18, - Object = 19, - Key = 20, - Null = 21, - EnumMember = 22, - Struct = 23, - Event = 24, - Operator = 25, - TypeParameter = 26, -} - -local function buildLocal(vm, source, used, callback) - local vars = source[1] - local exps = source[2] - if vars.type ~= 'list' then - vars = {vars} - end - if not exps or exps.type ~= 'list' then - exps = {exps} - end - for i, var in ipairs(vars) do - local exp = exps[i] - local data = {} - local loc = var:bindLocal() - data.name = loc:getName() - data.range = { var.start, var.finish } - data.selectionRange = { var.start, var.finish } - if exp then - local hvr = hover(var) - if exp.type == 'function' then - data.kind = SymbolKind.Function - else - data.kind = SymbolKind.Variable - end - data.detail = hvr.label:gsub('[\r\n]', '') - data.valueRange = { exp.start, exp.finish } - used[exp] = true - else - data.kind = SymbolKind.Variable - data.detail = '' - data.valueRange = { var.start, var.finish } - end - callback(data) - end -end - -local function buildSet(vm, source, used, callback) - local vars = source[1] - local exps = source[2] - if vars.type ~= 'list' then - vars = {vars} - end - if not exps or exps.type ~= 'list' then - exps = {exps} - end - for i, var in ipairs(vars) do - if var:bindLocal() then - goto CONTINUE - end - local exp = exps[i] - local data = {} - data.name = getName(var) - data.range = { var.start, var.finish } - data.selectionRange = { var.start, var.finish } - if exp then - local hvr = hover(var) - if not hvr then - goto CONTINUE - end - if exp.type == 'function' then - data.kind = SymbolKind.Function - else - data.kind = SymbolKind.Property - end - data.detail = hvr.label:gsub('[\r\n]', '') - data.valueRange = { exp.start, exp.finish } - used[exp] = true - else - data.kind = SymbolKind.Property - data.detail = '' - data.valueRange = { var.start, var.finish } - end - callback(data) - :: CONTINUE :: - end -end - -local function buildPair(vm, source, used, callback) - local var = source[1] - local exp = source[2] - local data = {} - data.name = getName(var) - data.range = { var.start, var.finish } - data.selectionRange = { var.start, var.finish } - if exp then - local hvr = hover(var) - if not hvr then - return - end - if exp.type == 'function' then - data.kind = SymbolKind.Function - else - data.kind = SymbolKind.Class - end - data.detail = hvr.label:gsub('[\r\n]', '') - data.valueRange = { exp.start, exp.finish } - used[exp] = true - else - data.kind = SymbolKind.Class - data.detail = '' - data.valueRange = { var.start, var.finish } - end - callback(data) -end - -local function buildLocalFunction(vm, source, used, callback) - local value = source:bindFunction() - if not value then - return - end - local name = getName(source.name) - local hvr = hoverFunction(name, value:getFunction()) - if not hvr then - return - end - local kind = SymbolKind.Function - callback { - name = name, - detail = hvr.label:gsub('[\r\n]', ''), - kind = kind, - range = { source.start, source.finish }, - selectionRange = { source.name.start, source.name.finish }, - valueRange = { source.start, source.finish }, - } -end - - -local function buildFunction(vm, source, used, callback) - if used[source] then - return - end - local value = source:bindFunction() - if not value then - return - end - local name = getName(source.name) - local func = value:getFunction() - if not func then - return - end - local hvr = hoverFunction(name, func, func:getObject()) - if not hvr then - return - end - local data = {} - data.name = name - data.detail = hvr.label:gsub('[\r\n]', '') - data.range = { source.start, source.finish } - data.valueRange = { source.start, source.finish } - if source.name then - data.selectionRange = { source.name.start, source.name.finish } - else - data.selectionRange = { source.start, source.start } - end - if func:getObject() then - data.kind = SymbolKind.Field - else - data.kind = SymbolKind.Function - end - callback(data) -end - -local function buildSource(vm, source, used, callback) - if source.type == 'local' then - buildLocal(vm, source, used, callback) - return - end - if source.type == 'set' then - buildSet(vm, source, used, callback) - return - end - if source.type == 'pair' then - buildPair(vm, source, used, callback) - return - end - if source.type == 'localfunction' then - buildLocalFunction(vm, source, used, callback) - return - end - if source.type == 'function' then - buildFunction(vm, source, used, callback) - return - end -end - -local function packChild(symbols, finish, kind) - local t - while true do - local symbol = symbols[#symbols] - if not symbol then - break - end - if symbol.valueRange[1] > finish then - break - end - symbols[#symbols] = nil - symbol.children = packChild(symbols, symbol.valueRange[2], symbol.kind) - if not t then - t = {} - end - t[#t+1] = symbol - end - return t -end - -local function packSymbols(symbols) - -- 按照start位置反向排序 - table.sort(symbols, function (a, b) - return a.range[1] > b.range[1] - end) - -- 处理嵌套 - return packChild(symbols, math.maxinteger, SymbolKind.Function) -end - -return function (vm) - local symbols = {} - local used = {} - - vm:eachSource(function (source) - buildSource(vm, source, used, function (data) - symbols[#symbols+1] = data - end) - end) - - local packedSymbols = packSymbols(symbols) - - return packedSymbols -end diff --git a/script/core/find_lib.lua b/script/core/find_lib.lua deleted file mode 100644 index e76549a8..00000000 --- a/script/core/find_lib.lua +++ /dev/null @@ -1,65 +0,0 @@ -local hoverName = require 'core.hover.name' - -local function getParentName(lib, isObject) - for _, parent in ipairs(lib.parent) do - if isObject then - if parent.type == 'object' then - return parent.nick or parent.name - end - else - if parent.type ~= 'object' then - return parent.nick or parent.name - end - end - end - return '' -end - -local function findLib(source) - local value = source:bindValue() - local lib = value:getLib() - if not lib then - return nil - end - if lib.parent then - if source:get 'object' then - -- *string:sub - local fullKey = ('*%s:%s'):format(getParentName(lib, true), lib.name) - return lib, fullKey - else - local parentValue = source:get 'parent' - if parentValue and parentValue:getType() == 'string' then - -- *string.sub - local fullKey = ('*%s.%s'):format(getParentName(lib, false), lib.name) - return lib, fullKey - else - -- string.sub - local fullKey = ('%s.%s'):format(getParentName(lib, false), lib.name) - return lib, fullKey - end - end - else - local name = hoverName(source) - local libName = lib.nick or lib.name - if name == libName or not libName then - return lib, name - elseif name == '' then - return lib, libName - else - return lib, ('%s<%s>'):format(name, libName) - end - end -end - -return function (source) - if source:bindValue() then - local lib, fullKey = findLib(source) - return lib, fullKey - end - if source:get 'in index' then - source = source:get 'in index' - local lib, fullKey = findLib(source) - return lib, fullKey - end - return nil -end diff --git a/script/core/find_source.lua b/script/core/find_source.lua deleted file mode 100644 index a64a047e..00000000 --- a/script/core/find_source.lua +++ /dev/null @@ -1,59 +0,0 @@ -local function isContainPos(obj, pos) - if obj.start <= pos and obj.finish >= pos then - return true - end - return false -end - -local function isValidSource(source) - return source.start ~= nil and source.start ~= 0 -end - -local function matchFilter(source, filter) - if not filter then - return true - end - return filter[source.type] -end - -local function findAtPos(vm, pos, filter) - local res = {} - vm:eachSource(function (source) - if isValidSource(source) - and isContainPos(source, pos) - and matchFilter(source, filter) - then - res[#res+1] = source - end - end) - if #res == 0 then - return nil - end - table.sort(res, function (a, b) - if a == b then - return false - end - local rangeA = a.finish - a.start - local rangeB = b.finish - b.start - -- 特殊处理:func 'str' 的情况下,list与string的范围会完全相同,此时取string - if rangeA == rangeB then - if b.type == 'call' and #b == 1 and b[1] == a then - return true - elseif a.type == 'call' and #a == 1 and a[1] == b then - return false - else - return a.id < b.id - end - end - return rangeA < rangeB - end) - local source = res[1] - if not source then - return nil - end - return source -end - -return function (vm, pos, filter) - return findAtPos(vm, pos, filter) -end diff --git a/script/core/folding_range.lua b/script/core/folding_range.lua deleted file mode 100644 index e94d1ffe..00000000 --- a/script/core/folding_range.lua +++ /dev/null @@ -1,73 +0,0 @@ -local foldingType = { - ['function'] = {'region', 'end', }, - ['localfunction'] = {'region', 'end', }, - ['do'] = {'region', 'end', }, - ['if'] = {'region', 'end', }, - ['loop'] = {'region', 'end', }, - ['in'] = {'region', 'end', }, - ['while'] = {'region', 'end', }, - ['repeat'] = {'region', 'until',}, - ['table'] = {'region', '}', }, - ['string'] = {'regtion', ']', }, -} - -return function (vm, comments) - local result = {} - vm:eachSource(function (source) - local tp = source.type - local data = foldingType[tp] - if not data then - return - end - local start = source.start - local finish = source.finish - if tp == 'repeat' then - if #source > 0 then - finish = source[#source].finish - else - finish = start + #'repeat' - end - finish = vm.text:find('until', finish, true) or finish - result[#result+1] = { - start = start, - finish = finish, - kind = data[1], - } - elseif tp == 'if' then - for i = 1, #source do - local block = source[i] - local nblock = source[i+1] - result[#result+1] = { - start = block.start, - finish = nblock and nblock.start or finish, - kind = data[1], - } - end - elseif tp == 'string' then - result[#result+1] = { - start = start, - finish = finish, - kind = data[1], - } - elseif data[1] == 'region' then - result[#result+1] = { - start = start, - finish = finish, - kind = data[1], - } - end - end) - if comments then - for _, comment in ipairs(comments) do - result[#result+1] = { - start = comment.start, - finish = comment.finish, - kind = 'comment', - } - end - end - if #result == 0 then - return nil - end - return result -end diff --git a/script/core/global.lua b/script/core/global.lua deleted file mode 100644 index 961ad304..00000000 --- a/script/core/global.lua +++ /dev/null @@ -1,49 +0,0 @@ -local mt = {} -mt.__index = mt - -function mt:markSet(uri) - if not uri then - return - end - self.set[uri] = true -end - -function mt:markGet(uri) - if not uri then - return - end - self.get[uri] = true -end - -function mt:clearGlobal(uri) - self.set[uri] = nil - self.get[uri] = nil -end - -function mt:getAllUris() - local uris = {} - for uri in pairs(self.set) do - uris[#uris+1] = uri - end - for uri in pairs(self.get) do - if not self.set[uri] then - uris[#uris+1] = uri - end - end - return uris -end - -function mt:hasSetGlobal(uri) - return self.set[uri] ~= nil -end - -function mt:remove() -end - -return function (lsp) - return setmetatable({ - get = {}, - set = {}, - lsp = lsp, - }, mt) -end diff --git a/script/core/highlight.lua b/script/core/highlight.lua deleted file mode 100644 index 2073573d..00000000 --- a/script/core/highlight.lua +++ /dev/null @@ -1,54 +0,0 @@ -local findSource = require 'core.find_source' -local parser = require 'parser' - -local DocumentHighlightKind = { - Text = 1, - Read = 2, - Write = 3, -} - -local function parseResult(source) - local positions = {} - if source:bindLabel() then - source:bindLabel():eachInfo(function (info, src) - positions[#positions+1] = { src.start, src.finish, DocumentHighlightKind.Text } - end) - return positions - end - if source:bindLocal() then - local loc = source:bindLocal() - local mark = {} - loc:eachInfo(function (info, src) - if not mark[src] then - mark[src] = info - positions[#positions+1] = { src.start, src.finish, DocumentHighlightKind.Text } - end - end) - return positions - end - if source:bindValue() and source:get 'parent' then - local parent = source:get 'parent' - local mark = {} - parent:eachInfo(function (info, src) - if not mark[src] and source.uri == src.uri then - mark[src] = info - if info.type == 'get child' or info.type == 'set child' then - if info[1] == source[1] then - positions[#positions+1] = {src.start, src.finish, DocumentHighlightKind.Text} - end - end - end - end) - return positions - end - return nil -end - -return function (vm, pos) - local source = findSource(vm, pos) - if not source then - return nil - end - local positions = parseResult(source) - return positions -end diff --git a/script/core/hover/emmy_function.lua b/script/core/hover/emmy_function.lua deleted file mode 100644 index 7c87954e..00000000 --- a/script/core/hover/emmy_function.lua +++ /dev/null @@ -1,143 +0,0 @@ ----@param emmy EmmyFunctionType -local function buildEmmyArgs(emmy, object, select) - local start - if object then - start = 2 - else - start = 1 - end - local strs = {} - local args = {} - local i = 0 - emmy:eachParam(function (name, typeObj) - i = i + 1 - if i < start then - return - end - if i > start then - strs[#strs+1] = ', ' - end - if i == select then - strs[#strs+1] = '@ARG' - end - strs[#strs+1] = name .. ': ' .. typeObj:getType() - args[#args+1] = strs[#strs] - if i == select then - strs[#strs+1] = '@ARG' - end - end) - local text = table.concat(strs) - local argLabel = {} - for i = 1, 2 do - local pos = text:find('@ARG', 1, true) - if pos then - if i == 1 then - argLabel[i] = pos - else - argLabel[i] = pos - 1 - end - text = text:sub(1, pos-1) .. text:sub(pos+4) - end - end - if #argLabel == 0 then - argLabel = nil - end - return text, argLabel, args -end - -local function buildEmmyReturns(emmy) - local rtns = {} - local i = 0 - emmy:eachReturn(function (rtn) - i = i + 1 - if i > 1 then - rtns[#rtns+1] = ('\n% 3d. '):format(i) - end - rtns[#rtns+1] = rtn:getType() - end) - if #rtns == 0 then - return '\n -> ' .. 'any' - else - return '\n -> ' .. table.concat(rtns) - end -end - -local function buildEnum(lib) - if not lib.enums then - return '' - end - local container = table.container() - for _, enum in ipairs(lib.enums) do - if not enum.name or (not enum.enum and not enum.code) then - goto NEXT_ENUM - end - if not container[enum.name] then - container[enum.name] = {} - if lib.args then - for _, arg in ipairs(lib.args) do - if arg.name == enum.name then - container[enum.name].type = arg.type - break - end - end - end - if lib.returns then - for _, rtn in ipairs(lib.returns) do - if rtn.name == enum.name then - container[enum.name].type = rtn.type - break - end - end - end - end - table.insert(container[enum.name], enum) - ::NEXT_ENUM:: - end - local strs = {} - local raw = {} - for name, enums in pairs(container) do - local tp - if type(enums.type) == 'table' then - tp = table.concat(enums.type, '/') - else - tp = enums.type - end - raw[name] = {} - strs[#strs+1] = ('\n%s: %s'):format(name, tp or 'any') - for _, enum in ipairs(enums) do - if enum.default then - strs[#strs+1] = '\n -> ' - else - strs[#strs+1] = '\n | ' - end - if enum.code then - strs[#strs+1] = tostring(enum.code) - else - strs[#strs+1] = ('%q'):format(enum.enum) - end - raw[name][#raw[name]+1] = strs[#strs] - if enum.description then - strs[#strs+1] = ' -- ' .. enum.description - end - end - end - return table.concat(strs), raw -end - -return function (name, emmy, object, select) - local argStr, argLabel, args = buildEmmyArgs(emmy, object, select) - local returns = buildEmmyReturns(emmy) - local enum, rawEnum = buildEnum(emmy) - local tip = emmy.description - return { - label = ('function %s(%s)%s'):format(name, argStr, returns), - name = name, - argStr = argStr, - returns = returns, - description = tip, - enum = enum, - rawEnum = rawEnum, - argLabel = argLabel, - args = args, - } -end diff --git a/script/core/hover/function.lua b/script/core/hover/function.lua deleted file mode 100644 index 3865f602..00000000 --- a/script/core/hover/function.lua +++ /dev/null @@ -1,243 +0,0 @@ -local emmyFunction = require 'core.hover.emmy_function' - -local function buildValueArgs(func, object, select) - if not func then - return '', nil - end - local names = {} - local values = {} - local options = {} - if func.argValues then - for i, value in ipairs(func.argValues) do - values[i] = value:getType() - end - end - if func.args then - for i, arg in ipairs(func.args) do - names[#names+1] = arg:getName() - local param = func:findEmmyParamByName(arg:getName()) - if param then - values[i] = param:getType() - options[i] = param:getOption() - end - end - end - local strs = {} - local start = 1 - if object then - start = 2 - end - local max - if func:getSource() then - max = #names - else - max = math.max(#names, #values) - end - local args = {} - for i = start, max do - local name = names[i] - local value = values[i] or 'any' - local option = options[i] - if option and option.optional then - if i > start then - strs[#strs+1] = ' [' - else - strs[#strs+1] = '[' - end - end - if i > start then - strs[#strs+1] = ', ' - end - - if i == select then - strs[#strs+1] = '@ARG' - end - if name then - strs[#strs+1] = name .. ': ' .. value - else - strs[#strs+1] = value - end - args[#args+1] = strs[#strs] - if i == select then - strs[#strs+1] = '@ARG' - end - - if option and option.optional == 'self' then - strs[#strs+1] = ']' - end - end - if func:hasDots() then - if max > 0 then - strs[#strs+1] = ', ' - end - strs[#strs+1] = '...' - end - - if options then - for _, option in pairs(options) do - if option.optional == 'after' then - strs[#strs+1] = ']' - end - end - end - - local text = table.concat(strs) - local argLabel = {} - for i = 1, 2 do - local pos = text:find('@ARG', 1, true) - if pos then - if i == 1 then - argLabel[i] = pos - else - argLabel[i] = pos - 1 - end - text = text:sub(1, pos-1) .. text:sub(pos+4) - end - end - if #argLabel == 0 then - argLabel = nil - end - return text, argLabel, args -end - -local function buildValueReturns(func) - if not func then - return '\n -> any' - end - if not func:get 'hasReturn' then - return '' - end - local strs = {} - local emmys = {} - local n = 0 - func:eachEmmyReturn(function (emmy) - n = n + 1 - emmys[n] = emmy - end) - if func.returns then - for i, rtn in ipairs(func.returns) do - local emmy = emmys[i] - local option = emmy and emmy.option - if option and option.optional then - if i > 1 then - strs[#strs+1] = ' [' - else - strs[#strs+1] = '[' - end - end - if i > 1 then - strs[#strs+1] = ('\n% 3d. '):format(i) - end - if emmy and emmy.name then - strs[#strs+1] = ('%s: '):format(emmy.name) - elseif option and option.name then - strs[#strs+1] = ('%s: '):format(option.name) - end - strs[#strs+1] = rtn:getType() - if option and option.optional == 'self' then - strs[#strs+1] = ']' - end - end - for i = 1, #func.returns do - local emmy = emmys[i] - if emmy and emmy.option and emmy.option.optional == 'after' then - strs[#strs+1] = ']' - end - end - end - if #strs == 0 then - strs[1] = 'any' - end - return '\n -> ' .. table.concat(strs) -end - ----@param func emmyFunction -local function buildEnum(func) - if not func then - return nil - end - local params = func:getEmmyParams() - if not params then - return nil - end - local strs = {} - local raw = {} - for _, param in ipairs(params) do - local first = true - local name = param:getName() - raw[name] = {} - param:eachEnum(function (enum) - if first then - first = false - strs[#strs+1] = ('\n%s: %s'):format(param:getName(), param:getType()) - end - if enum.default then - strs[#strs+1] = ('\n |>%s'):format(enum[1]) - else - strs[#strs+1] = ('\n | %s'):format(enum[1]) - end - if enum.comment then - strs[#strs+1] = ' -- ' .. enum.comment - end - raw[name][#raw[name]+1] = enum[1] - end) - end - if #strs == 0 then - return nil - end - return table.concat(strs), raw -end - -local function getComment(func) - if not func then - return nil - end - local comments = {} - local params = func:getEmmyParams() - if params then - for _, param in ipairs(params) do - local option = param:getOption() - if option and option.comment then - comments[#comments+1] = ('+ `%s`*(%s)*: %s'):format(param:getName(), param:getType(), option.comment) - end - end - end - comments[#comments+1] = func:getComment() - if #comments == 0 then - return nil - end - return table.concat(comments, '\n\n') -end - -local function getOverLoads(name, func, object, select) - local overloads = func and func:getEmmyOverLoads() - if not overloads then - return nil - end - local list = {} - for _, ol in ipairs(overloads) do - local hover = emmyFunction(name, ol, object, select) - list[#list+1] = hover.label - end - return table.concat(list, '\n') -end - -return function (name, func, object, select) - local argStr, argLabel, args = buildValueArgs(func, object, select) - local returns = buildValueReturns(func) - local enum, rawEnum = buildEnum(func) - local comment = getComment(func) - local overloads = getOverLoads(name, func, object, select) - return { - label = ('function %s(%s)%s'):format(name, argStr, returns), - name = name, - argStr = argStr, - returns = returns, - description = comment, - enum = enum, - rawEnum = rawEnum, - argLabel = argLabel, - overloads = overloads, - args = args, - } -end diff --git a/script/core/hover/hover.lua b/script/core/hover/hover.lua deleted file mode 100644 index 7b99f8c0..00000000 --- a/script/core/hover/hover.lua +++ /dev/null @@ -1,416 +0,0 @@ -local findLib = require 'core.find_lib' -local getFunctionHover = require 'core.hover.function' -local getFunctionHoverAsLib = require 'core.hover.lib_function' -local getFunctionHoverAsEmmy = require 'core.hover.emmy_function' -local buildValueName = require 'core.hover.name' -local lang = require 'language' -local config = require 'config' -local uric = require 'uri' - -local function utf8Len(str, start, finish) - local len, pos = utf8.len(str, start, finish, true) - if len then - return len - end - return 1 + utf8Len(str, start, pos-1) + utf8Len(str, pos+1, finish) -end - -local OriginTypes = { - ['any'] = true, - ['nil'] = true, - ['integer'] = true, - ['number'] = true, - ['boolean'] = true, - ['string'] = true, - ['thread'] = true, - ['userdata'] = true, - ['table'] = true, - ['function'] = true, -} - -local function longString(str) - for i = 0, 10 do - local finish = ']' .. ('='):rep(i) .. ']' - if not str:find(finish, 1, true) then - return ('[%s[\n%s%s'):format(('='):rep(i), str, finish) - end - end - return ('%q'):format(str) -end - -local function formatString(str) - if #str > 1000 then - str = str:sub(1000) - end - if str:find('[\r\n]') then - str = str:gsub('[\000-\008\011-\012\014-\031\127]', '') - return longString(str) - else - str = str:gsub('[\000-\008\011-\012\014-\031\127]', function (char) - return ('\\%03d'):format(char:byte()) - end) - local single = str:find("'", 1, true) - local double = str:find('"', 1, true) - if single and double then - return longString(str) - elseif double then - return ("'%s'"):format(str) - else - return ('"%s"'):format(str) - end - end -end - -local function formatLiteral(v) - if math.type(v) == 'float' then - return ('%.10f'):format(v):gsub('[0]*$', ''):gsub('%.$', '.0') - elseif type(v) == 'string' then - return formatString(v) - else - return ('%q'):format(v) - end -end - -local function findClass(value) - -- 检查是否有emmy - local emmy = value:getEmmy() - if emmy then - return emmy:getType() - end - -- 检查对象元表 - local metaValue = value:getMetaTable() - if not metaValue then - return nil - end - -- 检查元表中的 __name - local metaName = metaValue:rawGet('__name') - if metaName and type(metaName:getLiteral()) == 'string' then - return metaName:getLiteral() - end - -- 检查元表的 __index - local indexValue = metaValue:rawGet('__index') - if not indexValue then - return nil - end - -- 查找index方法中的以下字段: type name class - -- 允许多重继承 - return indexValue:eachChild(function (k, v) - -- 键值类型必须均为字符串 - if type(k) ~= 'string' then - return - end - if type(v:getLiteral()) ~= 'string' then - return - end - local lKey = k:lower() - if lKey == 'type' - or lKey == 'name' - or lKey == 'class' - then - -- 必须只有过一次赋值 - local hasSet = false - local ok = v:eachInfo(function (info) - if info.type == 'set' then - if hasSet then - return false - else - hasSet = true - end - end - end) - if ok == false then - return false - end - return v:getLiteral() - end - end) -end - -local function formatKey(key) - local kType = type(key) - if kType == 'table' then - key = ('[*%s]'):format(key:getType()) - elseif math.type(key) == 'integer' then - key = ('[%03d]'):format(key) - elseif kType == 'string' then - if key:find '^%d' or key:find '[^%w_]' then - key = ('[%s]'):format(formatString(key)) - end - elseif key == '' then - key = '[*any]' - else - key = ('[%s]'):format(key) - end - return key -end - -local function unpackTable(value) - local lines = {} - value:eachChild(function (key, child) - key = formatKey(key) - - local vType = type(child:getLiteral()) - if vType == 'boolean' - or vType == 'integer' - or vType == 'number' - or vType == 'string' - then - lines[#lines+1] = ('%s: %s = %s'):format(key, child:getType(), formatLiteral(child:getLiteral())) - else - lines[#lines+1] = ('%s: %s'):format(key, child:getType()) - end - end) - local emmy = value:getEmmy() - if emmy then - if emmy.type == 'emmy.arrayType' then - lines[#lines+1] = ('[*integer]: %s'):format(emmy:getName()) - elseif emmy.type == 'emmy.tableType' then - lines[#lines+1] = ('[*%s]: %s'):format(emmy:getKeyType():getType(), emmy:getValueType():getType()) - end - end - if #lines == 0 then - return '{}' - end - - -- 整理一下表 - local cleaned = {} - local used = {} - for _, line in ipairs(lines) do - if used[line] then - goto CONTINUE - end - used[line] = true - if line == '[*any]: any' then - goto CONTINUE - end - cleaned[#cleaned+1] = ' ' .. line .. ',' - :: CONTINUE :: - end - - table.sort(cleaned) - table.insert(cleaned, 1, '{') - cleaned[#cleaned+1] = '}' - return table.concat(cleaned, '\r\n') -end - -local function getValueHover(source, name, value, lib) - local valueType = value:getType() - local class = findClass(value) - - if class then - valueType = class - lib = nil - end - - if not OriginTypes[valueType] then - valueType = '*' .. valueType - end - - local tips = {} - local literal - if lib then - literal = lib.code or (lib.value and formatLiteral(lib.value)) - tips[#tips+1] = lib.description - else - literal = value:getLiteral() and formatLiteral(value:getLiteral()) - end - - tips[#tips+1] = value:getComment() - - local tp - if source:bindLocal() then - tp = 'local' - local loc = source:bindLocal() - if loc.tags then - local mark = {} - local tagBufs = {} - for _, tag in ipairs(loc.tags) do - local tagName = tag[1] - if not mark[tagName] then - mark[tagName] = true - tagBufs[#tagBufs+1] = ('<%s>'):format(tagName) - end - end - name = name .. ' ' .. table.concat(tagBufs, ' ') - end - tips[#tips+1] = loc:getComment() - elseif source:get 'global' then - tp = 'global' - elseif source:get 'simple' then - local simple = source:get 'simple' - if simple[1]:get 'global' then - tp = 'global' - else - tp = 'field' - end - else - tp = 'field' - end - - local text - if valueType == 'table' then - text = ('%s %s: %s'):format(tp, name, unpackTable(value)) - else - if literal == nil then - if class and not OriginTypes[class] then - text = ('%s %s: %s %s'):format(tp, name, valueType, unpackTable(value)) - else - text = ('%s %s: %s'):format(tp, name, valueType) - end - else - text = ('%s %s: %s = %s'):format(tp, name, valueType, literal) - end - end - - local tip - if #tips > 0 then - tip = table.concat(tips, '\n\n-------------\n\n') - end - return { - label = text, - description = tip, - } -end - -local function hoverAsValue(source, lsp, select) - local lib, fullkey = findLib(source) - ---@type value - local value = source:findValue() - local name = fullkey or buildValueName(source) - - local hover - if value:getType() == 'function' then - local object = source:get 'object' - if lib then - hover = getFunctionHoverAsLib(name, lib, object, select) - else - local emmy = value:getEmmy() - if emmy and emmy.type == 'emmy.functionType' then - hover = getFunctionHoverAsEmmy(name, emmy, object, select) - else - local func = value:getFunction() - hover = getFunctionHover(name, func, object, select) - end - end - else - hover = getValueHover(source, name, value, lib) - end - - if not hover then - return nil - end - hover.name = name - return hover -end - -local function hoverAsTargetUri(source, lsp) - local uri = source:get 'target uri' - if not lsp then - return nil - end - local ws = lsp:findWorkspaceFor(uri) - if ws then - local path = ws:relativePathByUri(uri) - if not path then - return nil - end - return { - description = ('[%s](%s)'):format(path:string(), uri), - } - else - return { - description = ('[%s](%s)'):format(uric.decode(uri):string(), uri), - } - end -end - -local function hoverAsString(source) - local str = source[1] - if type(str) ~= 'string' then - return nil - end - local len = #str - local charLen = utf8Len(str, 1, -1) - local lines = {} - if len == charLen then - lines[#lines+1] = lang.script('HOVER_STRING_BYTES', len) - else - lines[#lines+1] = lang.script('HOVER_STRING_CHARACTERS', len, charLen) - end - -- 内部包含转义符? - local rawLen = source.finish - source.start - 2 * #source[2] + 1 - if config.config.hover.viewString - and (source[2] == '"' or source[2] == "'") - and rawLen > #str then - local view = str - local max = config.config.hover.viewStringMax - if #view > max then - view = view:sub(1, max) .. '...' - end - lines[#lines+1] = ([[ - ------------------- -```txt -%s -```]]):format(view) - end - return { - description = table.concat(lines, '\n'), - range = { - start = source.start, - finish = source.finish, - }, - } -end - -local function formatNumber(n) - local str = ('%.10f'):format(n) - str = str:gsub('%.?0*$', '') - return str -end - -local function hoverAsNumber(source) - if not config.config.hover.viewNumber then - return nil - end - local num = source[1] - if type(num) ~= 'number' then - return nil - end - local raw = source[2] - if not raw or not raw:find '[^%-%d%.]' then - return nil - end - return { - description = formatNumber(num), - range = { - start = source.start, - finish = source.finish, - }, - } -end - -return function (source, lsp, select) - if not source then - return nil - end - if source:get 'target uri' then - return hoverAsTargetUri(source, lsp) - end - if source.type == 'name' and source:bindValue() then - return hoverAsValue(source, lsp, select) - end - if source.type == 'simple' then - source = source[#source] - if source.type == 'name' and source:bindValue() then - return hoverAsValue(source, lsp, select) - end - end - if source.type == 'string' then - return hoverAsString(source) - end - if source.type == 'number' then - return hoverAsNumber(source) - end - return nil -end diff --git a/script/core/hover/init.lua b/script/core/hover/init.lua deleted file mode 100644 index be5b5632..00000000 --- a/script/core/hover/init.lua +++ /dev/null @@ -1 +0,0 @@ -return require 'core.hover.hover' diff --git a/script/core/hover/lib_function.lua b/script/core/hover/lib_function.lua deleted file mode 100644 index 162b6b75..00000000 --- a/script/core/hover/lib_function.lua +++ /dev/null @@ -1,258 +0,0 @@ -local lang = require 'language' -local config = require 'config' -local client = require 'client' - -local function buildLibArgs(lib, object, select) - if not lib.args then - return '' - end - local start - if object then - start = 2 - else - start = 1 - end - local strs = {} - local args = {} - for i = start, #lib.args do - local arg = lib.args[i] - if arg.optional then - if i > start then - strs[#strs+1] = ' [' - else - strs[#strs+1] = '[' - end - end - if i > start then - strs[#strs+1] = ', ' - end - - local argStr = {} - if i == select then - argStr[#argStr+1] = '@ARG' - end - local name = '' - if arg.name then - name = ('%s: '):format(arg.name) - end - if type(arg.type) == 'table' then - name = name .. table.concat(arg.type, '/') - else - name = name .. (arg.type or 'any') - end - argStr[#argStr+1] = name - args[#args+1] = name - if arg.default then - argStr[#argStr+1] = ('(%q)'):format(arg.default) - end - if i == select then - argStr[#argStr+1] = '@ARG' - end - - for _, str in ipairs(argStr) do - strs[#strs+1] = str - end - if arg.optional == 'self' then - strs[#strs+1] = ']' - end - end - for _, arg in ipairs(lib.args) do - if arg.optional == 'after' then - strs[#strs+1] = ']' - end - end - local text = table.concat(strs) - local argLabel = {} - for i = 1, 2 do - local pos = text:find('@ARG', 1, true) - if pos then - if i == 1 then - argLabel[i] = pos - else - argLabel[i] = pos - 1 - end - text = text:sub(1, pos-1) .. text:sub(pos+4) - end - end - if #argLabel == 0 then - argLabel = nil - end - return text, argLabel, args -end - -local function buildLibReturns(lib) - if not lib.returns then - return '' - end - local strs = {} - for i, rtn in ipairs(lib.returns) do - if rtn.optional then - if i > 1 then - strs[#strs+1] = ' [' - else - strs[#strs+1] = '[' - end - end - if i > 1 then - strs[#strs+1] = ('\n% 3d. '):format(i) - end - if rtn.name then - strs[#strs+1] = ('%s: '):format(rtn.name) - end - if type(rtn.type) == 'table' then - strs[#strs+1] = table.concat(rtn.type, '/') - else - strs[#strs+1] = rtn.type or 'any' - end - if rtn.default then - strs[#strs+1] = ('(%q)'):format(rtn.default) - end - if rtn.optional == 'self' then - strs[#strs+1] = ']' - end - end - for _, rtn in ipairs(lib.returns) do - if rtn.optional == 'after' then - strs[#strs+1] = ']' - end - end - return '\n -> ' .. table.concat(strs) -end - -local function buildEnum(lib) - if not lib.enums then - return '' - end - local container = table.container() - for _, enum in ipairs(lib.enums) do - if not enum.name or (not enum.enum and not enum.code) then - goto NEXT_ENUM - end - if not container[enum.name] then - container[enum.name] = {} - if lib.args then - for _, arg in ipairs(lib.args) do - if arg.name == enum.name then - container[enum.name].type = arg.type - break - end - end - end - if lib.returns then - for _, rtn in ipairs(lib.returns) do - if rtn.name == enum.name then - container[enum.name].type = rtn.type - break - end - end - end - end - table.insert(container[enum.name], enum) - ::NEXT_ENUM:: - end - local strs = {} - local raw = {} - for name, enums in pairs(container) do - local tp - if type(enums.type) == 'table' then - tp = table.concat(enums.type, '/') - else - tp = enums.type - end - strs[#strs+1] = ('\n%s: %s'):format(name, tp or 'any') - raw[name] = {} - for _, enum in ipairs(enums) do - if enum.default then - strs[#strs+1] = '\n -> ' - else - strs[#strs+1] = '\n | ' - end - if enum.code then - strs[#strs+1] = tostring(enum.code) - else - strs[#strs+1] = tostring(enum.enum) - end - raw[name][#raw[name]+1] = strs[#strs] - if enum.description then - strs[#strs+1] = ' -- ' .. enum.description - end - end - end - return table.concat(strs), raw -end - -local function getDocFormater() - local version = config.config.runtime.version - if client.client() == 'vscode' then - if version == 'Lua 5.1' then - return 'HOVER_NATIVE_DOCUMENT_LUA51' - elseif version == 'Lua 5.2' then - return 'HOVER_NATIVE_DOCUMENT_LUA52' - elseif version == 'Lua 5.3' then - return 'HOVER_NATIVE_DOCUMENT_LUA53' - elseif version == 'Lua 5.4' then - return 'HOVER_NATIVE_DOCUMENT_LUA54' - elseif version == 'LuaJIT' then - return 'HOVER_NATIVE_DOCUMENT_LUAJIT' - end - else - if version == 'Lua 5.1' then - return 'HOVER_DOCUMENT_LUA51' - elseif version == 'Lua 5.2' then - return 'HOVER_DOCUMENT_LUA52' - elseif version == 'Lua 5.3' then - return 'HOVER_DOCUMENT_LUA53' - elseif version == 'Lua 5.4' then - return 'HOVER_DOCUMENT_LUA54' - elseif version == 'LuaJIT' then - return 'HOVER_DOCUMENT_LUAJIT' - end - end -end - -local function buildDescription(lib) - local desc = lib.description - if not desc then - return - end - return desc:gsub('%(doc%:(.-)%)', function (tag) - local fmt = getDocFormater() - if fmt then - return '(' .. lang.script(fmt, tag) .. ')' - end - end) -end - -local function buildDoc(lib) - local doc = lib.doc - if not doc then - return - end - if lib.web then - return lang.script(lib.web, doc) - end - local fmt = getDocFormater() - if fmt then - return ('[%s](%s)'):format(lang.script.HOVER_VIEW_DOCUMENTS, lang.script(fmt, 'pdf-' .. doc)) - end -end - -return function (name, lib, object, select) - local argStr, argLabel, args = buildLibArgs(lib, object, select) - local returns = buildLibReturns(lib) - local enum, rawEnum = buildEnum(lib) - local tip = buildDescription(lib) - local doc = buildDoc(lib) - return { - label = ('function %s(%s)%s'):format(name, argStr, returns), - name = name, - argStr = argStr, - returns = returns, - description = tip, - enum = enum, - rawEnum = rawEnum, - argLabel = argLabel, - doc = doc, - args = args, - } -end diff --git a/script/core/hover/name.lua b/script/core/hover/name.lua deleted file mode 100644 index 763083b9..00000000 --- a/script/core/hover/name.lua +++ /dev/null @@ -1,38 +0,0 @@ -local getName = require 'core.name' - -return function (source) - if not source then - return '' - end - local value = source:bindValue() - if not value then - return '' - end - local func = value:getFunction() - local declarat - if func and func:getSource() then - declarat = func:getSource().name - else - declarat = source - end - if not declarat then - -- 如果声明者没有给名字,则找一个合适的名字 - local names = {} - value:eachInfo(function (info, src) - if info.type == 'local' or info.type == 'set' or info.type == 'return' then - if src.type == 'name' and src.uri == value.uri then - names[#names+1] = src - end - end - end) - if #names == 0 then - return '' - end - table.sort(names, function (a, b) - return a.id < b.id - end) - return names[1][1] or '' - end - - return getName(declarat, source) -end diff --git a/script/core/implementation.lua b/script/core/implementation.lua deleted file mode 100644 index f51a97ca..00000000 --- a/script/core/implementation.lua +++ /dev/null @@ -1,204 +0,0 @@ -local function parseValueSimily(vm, source, lsp) - local key = source[1] - if not key then - return nil - end - local positions = {} - vm:eachSource(function (other) - if other == source then - return - end - if other[1] == key - and not other:bindLocal() - and other:bindValue() - and other:action() == 'set' - and source:bindValue() ~= other:bindValue() - then - positions[#positions+1] = { - other.start, - other.finish, - } - end - end) - if #positions == 0 then - return nil - end - return positions -end - -local function parseValueCrossFile(vm, source, lsp) - local value = source:bindValue() - local positions = {} - value:eachInfo(function (info, src) - if info.type == 'local' and src.uri == value.uri then - positions[#positions+1] = { - src.start, - src.finish, - value.uri, - } - return true - end - end) - if #positions > 0 then - return positions - end - - value:eachInfo(function (info, src) - if info.type == 'set' and src.uri == value.uri then - positions[#positions+1] = { - src.start, - src.finish, - value.uri, - } - end - end) - if #positions > 0 then - return positions - end - - value:eachInfo(function (info, src) - if info.type == 'return' and src.uri == value.uri then - positions[#positions+1] = { - src.start, - src.finish, - value.uri, - } - end - end) - if #positions > 0 then - return positions - end - - local destVM = lsp:getVM(value.uri) - if not destVM then - positions[#positions+1] = { - 0, 0, value.uri, - } - return positions - end - - local result = parseValueSimily(destVM, source, lsp) - if result then - for _, position in ipairs(result) do - positions[#positions+1] = position - position[3] = value.uri - end - end - if #positions > 0 then - return positions - end - - return positions -end - -local function parseValue(vm, source, lsp) - local positions = {} - local mark = {} - - local function callback(src) - if source == src then - return - end - if mark[src] then - return - end - mark[src] = true - if src.start == 0 then - return - end - local uri = src.uri - if uri == '' then - uri = nil - end - positions[#positions+1] = { - src.start, - src.finish, - uri, - } - end - - if source:bindValue() then - source:bindValue():eachInfo(function (info, src) - if info.type == 'set' or info.type == 'local' or info.type == 'return' then - callback(src) - return true - end - end) - end - local parent = source:get 'parent' - if parent then - parent:eachInfo(function (info, src) - if info[1] == source[1] then - if info.type == 'set child' then - callback(src) - end - end - end) - end - if #positions == 0 then - return nil - end - return positions -end - -local function parseLabel(vm, label, lsp) - local positions = {} - label:eachInfo(function (info, src) - if info.type == 'set' then - positions[#positions+1] = { - src.start, - src.finish, - } - end - end) - if #positions == 0 then - return nil - end - return positions -end - -local function jumpUri(vm, source, lsp) - local uri = source:get 'target uri' - local positions = {} - positions[#positions+1] = { - 0, 0, uri, - } - return positions -end - -local function parseClass(vm, source) - local className = source:get 'emmy class' - local positions = {} - vm.emmyMgr:eachClass(className, function (class) - local src = class:getSource() - positions[#positions+1] = { - src.start, - src.finish, - src.uri, - } - end) - return positions -end - -return function (vm, source, lsp) - if not source then - return nil - end - if source:bindValue() then - return parseValue(vm, source, lsp) - or parseValueSimily(vm, source, lsp) - end - if source:bindLabel() then - return parseLabel(vm, source:bindLabel(), lsp) - end - if source:get 'target uri' then - return jumpUri(vm, source, lsp) - end - if source:get 'in index' then - return parseValue(vm, source, lsp) - or parseValueSimily(vm, source, lsp) - end - if source:get 'emmy class' then - return parseClass(vm, source) - end -end diff --git a/script/core/init.lua b/script/core/init.lua deleted file mode 100644 index 213dbaca..00000000 --- a/script/core/init.lua +++ /dev/null @@ -1,19 +0,0 @@ -local api = { - definition = require 'core.definition', - implementation = require 'core.implementation', - references = require 'core.references', - rename = require 'core.rename', - hover = require 'core.hover', - diagnostics = require 'core.diagnostics', - findSource = require 'core.find_source', - findLib = require 'core.find_lib', - completion = require 'core.completion', - signature = require 'core.signature', - documentSymbol = require 'core.document_symbol', - global = require 'core.global', - highlight = require 'core.highlight', - codeAction = require 'core.code_action', - foldingRange = require 'core.folding_range', -} - -return api diff --git a/script/core/library.lua b/script/core/library.lua deleted file mode 100644 index d5edad66..00000000 --- a/script/core/library.lua +++ /dev/null @@ -1,296 +0,0 @@ -local lni = require 'lni' -local fs = require 'bee.filesystem' -local config = require 'config' - -local Library = {} - -local function mergeEnum(lib, locale) - if not lib or not locale then - return - end - local pack = {} - for _, enum in ipairs(lib) do - if enum.enum then - pack[enum.enum] = enum - end - if enum.code then - pack[enum.code] = enum - end - end - for _, enum in ipairs(locale) do - if pack[enum.enum] then - if enum.description then - pack[enum.enum].description = enum.description - end - end - if pack[enum.code] then - if enum.description then - pack[enum.code].description = enum.description - end - end - end -end - -local function mergeField(lib, locale) - if not lib or not locale then - return - end - local pack = {} - for _, field in ipairs(lib) do - if field.field then - pack[field.field] = field - end - end - for _, field in ipairs(locale) do - if pack[field.field] then - if field.description then - pack[field.field].description = field.description - end - end - end -end - -local function mergeLocale(libs, locale) - if not libs or not locale then - return - end - for name in pairs(locale) do - if libs[name] then - if locale[name].description then - libs[name].description = locale[name].description - end - mergeEnum(libs[name].enums, locale[name].enums) - mergeField(libs[name].fields, locale[name].fields) - end - end -end - -local function isMatchVersion(version) - if not version then - return true - end - local runtimeVersion = config.config.runtime.version - if type(version) == 'table' then - for i = 1, #version do - if version[i] == runtimeVersion then - return true - end - end - else - if version == runtimeVersion then - return true - end - end - return false -end - -local function insertGlobal(tbl, key, value) - if not isMatchVersion(value.version) then - return false - end - if not value.doc then - value.doc = key - end - tbl[key] = value - return true -end - -local function insertOther(tbl, key, value) - if not value.version then - return - end - if not tbl[key] then - tbl[key] = {} - end - if type(value.version) == 'string' then - tbl[key][#tbl[key]+1] = value.version - elseif type(value.version) == 'table' then - for _, version in ipairs(value.version) do - if type(version) == 'string' then - tbl[key][#tbl[key]+1] = version - end - end - end - table.sort(tbl[key]) -end - -local function insertCustom(tbl, key, value, libName) - if not tbl[key] then - tbl[key] = {} - end - tbl[key][#tbl[key]+1] = libName - table.sort(tbl[key]) -end - -local function isEnableGlobal(libName) - if config.config.runtime.library[libName] then - return true - end - if libName:sub(1, 1) == '@' then - return true - end - return false -end - -local function mergeSource(alllibs, name, lib, libName) - if not lib.source then - if isEnableGlobal(libName) then - local suc = insertGlobal(alllibs.global, name, lib) - if not suc then - insertOther(alllibs.other, name, lib) - end - else - insertCustom(alllibs.custom, name, lib, libName) - end - return - end - for _, source in ipairs(lib.source) do - local sourceName = source.name or name - if source.type == 'global' then - if isEnableGlobal(libName) then - local suc = insertGlobal(alllibs.global, sourceName, lib) - if not suc then - insertOther(alllibs.other, sourceName, lib) - end - else - insertCustom(alllibs.custom, sourceName, lib, libName) - end - elseif source.type == 'library' then - insertGlobal(alllibs.library, sourceName, lib) - elseif source.type == 'object' then - insertGlobal(alllibs.object, sourceName, lib) - end - end -end - -local function copy(t) - local new = {} - for k, v in pairs(t) do - new[k] = v - end - return new -end - -local function insertChild(tbl, name, key, value) - if not name or not key then - return - end - if not isMatchVersion(value.version) then - return - end - if not value.doc then - value.doc = ('%s.%s'):format(name, key) - end - if not tbl[name] then - tbl[name] = { - type = name, - name = name, - child = {}, - } - end - tbl[name].child[key] = copy(value) -end - -local function mergeParent(alllibs, name, lib, libName) - for _, parent in ipairs(lib.parent) do - if parent.type == 'global' then - if isEnableGlobal(libName) then - insertChild(alllibs.global, parent.name, name, lib) - end - elseif parent.type == 'library' then - insertChild(alllibs.library, parent.name, name, lib) - elseif parent.type == 'object' then - insertChild(alllibs.object, parent.name, name, lib) - end - end -end - -local function mergeLibs(alllibs, libs, libName) - if not libs then - return - end - for _, lib in pairs(libs) do - if lib.parent then - mergeParent(alllibs, lib.name, lib, libName) - else - mergeSource(alllibs, lib.name, lib, libName) - end - end -end - -local function loadLocale(language, relative) - local localePath = ROOT / 'locale' / language / relative - local localeBuf = io.load(localePath) - if localeBuf then - local locale = table.container() - xpcall(lni, log.error, localeBuf, localePath:string(), {locale}) - return locale - end - return nil -end - -local function fix(libs) - for name, lib in pairs(libs) do - lib.name = lib.name or name - lib.child = {} - end -end - -local function scan(path) - local result = {path} - local i = 0 - return function () - i = i + 1 - local current = result[i] - if not current then - return nil - end - if fs.is_directory(current) then - for path in current:list_directory() do - result[#result+1] = path - end - end - return current - end -end - -local function init() - local lang = require 'language' - local id = lang.id - Library.global = table.container() - Library.library = table.container() - Library.object = table.container() - Library.other = table.container() - Library.custom = table.container() - - for libPath in (ROOT / 'libs'):list_directory() do - local enableGlobal - local libName = libPath:filename():string() - for path in scan(libPath) do - local libs - local buf = io.load(path) - if buf then - libs = table.container() - xpcall(lni, log.error, buf, path:string(), {libs}) - fix(libs) - end - local relative = fs.relative(path, ROOT) - - local locale = loadLocale('en-US', relative) - mergeLocale(libs, locale) - if id ~= 'en-US' then - locale = loadLocale(id, relative) - mergeLocale(libs, locale) - end - mergeLibs(Library, libs, libName) - end - end -end - -function Library.reload() - init() -end - -init() - -return Library diff --git a/script/core/matchKey.lua b/script/core/matchKey.lua deleted file mode 100644 index b46250cb..00000000 --- a/script/core/matchKey.lua +++ /dev/null @@ -1,30 +0,0 @@ -return function (me, other) - if me == other then - return true - end - if me == '' then - return true - end - if #me > #other then - return false - end - local lMe = me:lower() - local lOther = other:lower() - if lMe == lOther:sub(1, #lMe) then - return true - end - local chars = {} - for i = 1, #lOther do - local c = lOther:sub(i, i) - chars[c] = (chars[c] or 0) + 1 - end - for i = 1, #lMe do - local c = lMe:sub(i, i) - if chars[c] and chars[c] > 0 then - chars[c] = chars[c] - 1 - else - return false - end - end - return true -end diff --git a/script/core/name.lua b/script/core/name.lua deleted file mode 100644 index 54947974..00000000 --- a/script/core/name.lua +++ /dev/null @@ -1,70 +0,0 @@ -return function (source, caller) - if not source then - return '' - end - local key - if source:get 'simple' then - local simple = source:get 'simple' - local chars = {} - for i, obj in ipairs(simple) do - if obj.type == 'name' then - chars[i] = obj[1] - elseif obj.type == 'index' then - chars[i] = '[?]' - elseif obj.type == 'call' then - chars[i] = '(?)' - elseif obj.type == ':' then - chars[i] = ':' - elseif obj.type == '.' then - chars[i] = '.' - else - chars[i] = '*' .. obj.type - end - if obj == source then - break - end - end - key = table.concat(chars) - elseif source.type == 'name' then - key = source[1] - elseif source.type == 'string' then - key = ('%q'):format(source[1]) - elseif source.type == 'number' or source.type == 'boolean' then - key = tostring(source[1]) - elseif source.type == 'simple' then - local chars = {} - for i, obj in ipairs(source) do - if obj.type == 'name' then - chars[i] = obj[1] - elseif obj.type == 'index' then - chars[i] = '[?]' - elseif obj.type == 'call' then - chars[i] = '(?)' - elseif obj.type == ':' then - chars[i] = ':' - elseif obj.type == '.' then - chars[i] = '.' - else - chars[i] = '*' .. obj.type - end - end - -- 这里有个特殊处理 - -- function mt:func() 以 mt.func 的形式调用时 - -- hover 显示为 mt.func(self) - if caller then - if chars[#chars-1] == ':' then - if not caller:get 'object' then - chars[#chars-1] = '.' - end - elseif chars[#chars-1] == '.' then - if caller:get 'object' then - chars[#chars-1] = ':' - end - end - end - key = table.concat(chars) - else - key = '' - end - return key -end diff --git a/script/core/references.lua b/script/core/references.lua deleted file mode 100644 index 33b38fec..00000000 --- a/script/core/references.lua +++ /dev/null @@ -1,91 +0,0 @@ -local findSource = require 'core.find_source' - -local function parseResult(vm, source, declarat, callback) - local isGlobal - if source:bindLabel() then - source:bindLabel():eachInfo(function (info, src) - if (declarat and info.type == 'set') or info.type == 'get' then - callback(src) - end - end) - end - if source:bindLocal() then - local loc = source:bindLocal() - callback(loc:getSource()) - loc:eachInfo(function (info, src) - if (declarat and info.type == 'set') or info.type == 'get' then - callback(src) - end - end) - loc:getValue():eachInfo(function (info, src) - if (declarat and (info.type == 'set' or info.type == 'local' or info.type == 'return')) or info.type == 'get' then - callback(src) - end - end) - end - if source:bindFunction() then - if declarat then - callback(source:bindFunction():getSource()) - end - source:bindFunction():eachInfo(function (info, src) - if (declarat and (info.type == 'set' or info.type == 'local')) or info.type == 'get' then - callback(src) - end - end) - end - if source:bindValue() then - source:bindValue():eachInfo(function (info, src) - if (declarat and (info.type == 'set' or info.type == 'local')) or info.type == 'get' then - callback(src) - end - end) - if source:bindValue():isGlobal() then - isGlobal = true - end - end - local parent = source:get 'parent' - if parent then - parent:eachInfo(function (info, src) - if info[1] == source[1] then - if (declarat and info.type == 'set child') or info.type == 'get child' then - callback(src) - end - end - end) - end - --local emmy = source:getEmmy() - --if emmy then - -- if emmy.type == 'emmy.class' or emmy.type == 'emmy.type' --then --- - -- end - --end - return isGlobal -end - -return function (vm, pos, declarat) - local source = findSource(vm, pos) - if not source then - return nil - end - local positions = {} - local mark = {} - local isGlobal = parseResult(vm, source, declarat, function (src) - if mark[src] then - return - end - mark[src] = true - if src.start == 0 then - return - end - local uri = src.uri - if uri == '' then - uri = nil - end - positions[#positions+1] = { - src.start, - src.finish, - uri, - } - end) - return positions, isGlobal -end diff --git a/script/core/rename.lua b/script/core/rename.lua deleted file mode 100644 index 3a2e8532..00000000 --- a/script/core/rename.lua +++ /dev/null @@ -1,72 +0,0 @@ -local findSource = require 'core.find_source' -local parser = require 'parser' - -local function parseResult(source, newName) - local positions = {} - if source:bindLabel() then - if not parser:grammar(newName, 'Name') then - return nil - end - source:bindLabel():eachInfo(function (info, src) - positions[#positions+1] = { src.start, src.finish, src:getUri() } - end) - return positions - end - if source:bindLocal() then - local loc = source:bindLocal() - if loc:get 'hide' then - return nil - end - if source:get 'in index' then - if not parser:grammar(newName, 'Exp') then - return positions - end - else - if not parser:grammar(newName, 'Name') then - return positions - end - end - local mark = {} - loc:eachInfo(function (info, src) - if not mark[src] then - mark[src] = info - positions[#positions+1] = { src.start, src.finish, src:getUri() } - end - end) - return positions - end - if source:bindValue() and source:get 'parent' then - if source:get 'in index' then - if not parser:grammar(newName, 'Exp') then - return positions - end - else - if not parser:grammar(newName, 'Name') then - return positions - end - end - local parent = source:get 'parent' - local mark = {} - parent:eachInfo(function (info, src) - if not mark[src] then - mark[src] = info - if info.type == 'get child' or info.type == 'set child' then - if info[1] == source[1] then - positions[#positions+1] = {src.start, src.finish, src:getUri()} - end - end - end - end) - return positions - end - return nil -end - -return function (vm, pos, newName) - local source = findSource(vm, pos) - if not source then - return nil - end - local positions = parseResult(source, newName) - return positions -end diff --git a/script/core/signature.lua b/script/core/signature.lua deleted file mode 100644 index bbe35ffa..00000000 --- a/script/core/signature.lua +++ /dev/null @@ -1,133 +0,0 @@ -local getFunctionHover = require 'core.hover.function' -local getFunctionHoverAsLib = require 'core.hover.lib_function' -local getFunctionHoverAsEmmy = require 'core.hover.emmy_function' -local findLib = require 'core.find_lib' -local buildValueName = require 'core.hover.name' -local findSource = require 'core.find_source' - -local function findCall(vm, pos) - local results = {} - vm:eachSource(function (src) - if src.type == 'call' - and src.start <= pos - and src.finish >= pos - then - results[#results+1] = src - end - end) - if #results == 0 then - return nil - end - -- 可能处于 'func1(func2(' 的嵌套中,将最近的call放到最前面 - table.sort(results, function (a, b) - return a.start > b.start - end) - return results -end - -local function getSelect(args, pos) - if not args then - return 1 - end - for i, arg in ipairs(args) do - if arg.start <= pos and arg.finish >= pos - 1 then - return i - end - end - return #args + 1 -end - -local function getFunctionSource(call) - local simple = call:get 'simple' - for i, source in ipairs(simple) do - if source == call then - return simple[i-1] - end - end - return nil -end - -local function getHover(call, pos) - local args = call:bindCall() - if not args then - return nil - end - - local value = call:findCallFunction() - if not value then - return nil - end - - local select = getSelect(args, pos) - local source = getFunctionSource(call) - local object = source:get 'object' - local lib, fullkey = findLib(source) - local name = fullkey or buildValueName(source) - local hover - if lib then - hover = getFunctionHoverAsLib(name, lib, object, select) - else - local emmy = value:getEmmy() - if emmy and emmy.type == 'emmy.functionType' then - hover = getFunctionHoverAsEmmy(name, emmy, object, select) - else - ---@type emmyFunction - local func = value:getFunction() - hover = getFunctionHover(name, func, object, select) - local overLoads = func and func:getEmmyOverLoads() - if overLoads then - for _, ol in ipairs(overLoads) do - hover = getFunctionHoverAsEmmy(name, ol, object, select) - end - end - end - end - return hover -end - -local function isInFunctionOrTable(call, pos) - local args = call:bindCall() - if not args then - return false - end - local select = getSelect(args, pos) - local arg = args[select] - if not arg then - return false - end - if arg.type == 'function' or arg.type == 'table' then - return true - end - return false -end - -return function (vm, pos) - local source = findSource(vm, pos) or findSource(vm, pos-1) - if not source or source.type == 'string' then - return - end - local calls = findCall(vm, pos) - if not calls or #calls == 0 then - return nil - end - - local nearCall = calls[1] - if isInFunctionOrTable(nearCall, pos) then - return nil - end - - local hover = getHover(nearCall, pos) - if not hover then - return nil - end - - -- skip `name(` - local head = #hover.name + 1 - hover.label = ('%s(%s)'):format(hover.name, hover.argStr) - if hover.argLabel then - hover.argLabel[1] = hover.argLabel[1] + head - hover.argLabel[2] = hover.argLabel[2] + head - end - - return { hover } -end diff --git a/script/core/snippet.lua b/script/core/snippet.lua deleted file mode 100644 index 7532ce9b..00000000 --- a/script/core/snippet.lua +++ /dev/null @@ -1,64 +0,0 @@ -local snippet = {} - -local function add(cate, key, label) - return function (text) - if not snippet[cate] then - snippet[cate] = {} - end - if not snippet[cate][key] then - snippet[cate][key] = {} - end - snippet[cate][key][#snippet[cate][key]+1] = { - label = label, - text = text, - } - end -end - -add('key', 'do', 'do .. end') [[ -do - $0 -end]] - -add('key', 'elseif', 'elseif .. then') -[[elseif ${1:true} then]] - -add('key', 'for', 'for .. in') [[ -for ${1:key, value} in ${2:pairs(t)} do - $0 -end]] - -add('key', 'for', 'for i = ..') [[ -for ${1:i} = ${2:1}, ${3:10, 2} do - $0 -end]] - -add('key', 'function', 'function ()') [[ -function $1(${2:arg1, arg2, arg3}) - $0 -end]] - -add('key', 'local', 'local function') [[ -local function ${1:name}(${2:arg1, arg2, arg3}) - $0 -end]] - -add('key', 'if', 'if .. then') [[ -if ${1:true} then - $0 -end]] - -add('key', 'repeat', 'repeat .. until') [[ -repeat - $0 -until ${1:true}]] - -add('key', 'while', 'while .. do') [[ -while ${1:true} do - $0 -end]] - -add('key', 'return', 'do return end') -[[do return ${1:true} end]] - -return snippet diff --git a/script/emmy/alias.lua b/script/emmy/alias.lua deleted file mode 100644 index be47cb4f..00000000 --- a/script/emmy/alias.lua +++ /dev/null @@ -1,42 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyAlias -local mt = {} -mt.__index = mt -mt.type = 'emmy.alias' - -function mt:getName() - return self.name -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:bindType(type) - if type then - self._bindType = type - else - return self._bindType - end -end - -function mt:addEnum(enum) - self._enum[#self._enum+1] = enum -end - -function mt:eachEnum(callback) - for _, enum in ipairs(self._enum) do - callback(enum) - end -end - -return function (manager, source) - local self = setmetatable({ - name = source[1][1], - source = source.id, - _manager = manager, - _enum = {}, - }, mt) - return self -end diff --git a/script/emmy/arrayType.lua b/script/emmy/arrayType.lua deleted file mode 100644 index c5d73500..00000000 --- a/script/emmy/arrayType.lua +++ /dev/null @@ -1,37 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyArrayType -local mt = {} -mt.__index = mt -mt.type = 'emmy.arrayType' - -function mt:getType() - return 'table' -end - -function mt:getName() - return self.name -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:setValue(value) - self.value = value - self._child:setValue(value) -end - -function mt:getValue() - return self.value -end - -return function (manager, source, child) - local self = setmetatable({ - name = child:getName(), - source = source.id, - _child = child, - _manager = manager, - }, mt) - return self -end diff --git a/script/emmy/class.lua b/script/emmy/class.lua deleted file mode 100644 index 6728e2c4..00000000 --- a/script/emmy/class.lua +++ /dev/null @@ -1,61 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyClass -local mt = {} -mt.__index = mt -mt.type = 'emmy.class' - -function mt:getType() - return self.name -end - -function mt:getName() - return self.name -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:setValue(value) - self.value = value -end - -function mt:getValue() - return self.value -end - -function mt:eachChild(callback) - self._manager:eachClass(self.name, function (obj) - if obj.type == 'emmy.typeUnit' then - callback(obj) - end - end) -end - -function mt:addField(field) - if not self._fields then - self._fields = {} - end - self._fields[#self._fields+1] = field -end - -function mt:eachField(callback) - if not self._fields then - return - end - ---@param field EmmyField - for _, field in ipairs(self._fields) do - callback(field) - end -end - -return function (manager, name, extends, source) - local self = setmetatable({ - name = name, - source = source.id, - extends = extends, - _manager = manager, - }, mt) - return self -end diff --git a/script/emmy/field.lua b/script/emmy/field.lua deleted file mode 100644 index f9e9cbf6..00000000 --- a/script/emmy/field.lua +++ /dev/null @@ -1,45 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyField -local mt = {} -mt.__index = mt -mt.type = 'emmy.field' - -function mt:getName() - return self.name -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:bindType(type) - if type then - self._bindType = type - else - return self._bindType - end -end - -function mt:bindValue(value) - if value then - self._bindValue = value - else - if self._bindValue then - if not self._bindValue:getSource() then - self._bindValue = nil - end - end - return self._bindValue - end -end - -return function (manager, source) - local self = setmetatable({ - name = source[2][1], - source = source.id, - visible = source[1], - _manager = manager, - }, mt) - return self -end diff --git a/script/emmy/funcType.lua b/script/emmy/funcType.lua deleted file mode 100644 index 2c073fe2..00000000 --- a/script/emmy/funcType.lua +++ /dev/null @@ -1,64 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyFunctionType -local mt = {} -mt.__index = mt -mt.type = 'emmy.functionType' - -function mt:getType() - return 'function' -end - -function mt:getName() - return 'function' -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:setValue(value) - self.value = value -end - -function mt:getValue() - return self.value -end - -function mt:addParam(name, type) - self._params[#self._params+1] = { name, type } -end - -function mt:addReturn(type) - self._returns[#self._returns+1] = type -end - -function mt:eachParam(callback) - for _, data in ipairs(self._params) do - callback(data[1], data[2]) - end -end - -function mt:eachReturn(callback) - for _, rtn in ipairs(self._returns) do - callback(rtn) - end -end - -function mt:bindFunction(func) - if func then - self._bindFunction = func - else - return self._bindFunction - end -end - -return function (manager, source) - local self = setmetatable({ - source = source.id, - _params = {}, - _returns = {}, - _manager = manager, - }, mt) - return self -end diff --git a/script/emmy/generic.lua b/script/emmy/generic.lua deleted file mode 100644 index 82fd0c4b..00000000 --- a/script/emmy/generic.lua +++ /dev/null @@ -1,27 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyGeneric -local mt = {} -mt.__index = mt -mt.type = 'emmy.generic' - -function mt:getName() - return self.name:getName() -end - -function mt:setValue(value) - self._value = value -end - -function mt:getValue() - return self._value -end - -return function (manager, defs) - for _, def in ipairs(defs) do - setmetatable(def, mt) - def._manager = manager - def._binds = {} - end - return defs -end diff --git a/script/emmy/init.lua b/script/emmy/init.lua deleted file mode 100644 index 769c9e05..00000000 --- a/script/emmy/init.lua +++ /dev/null @@ -1 +0,0 @@ -return require 'vm.emmy.emmy' diff --git a/script/emmy/manager.lua b/script/emmy/manager.lua deleted file mode 100644 index c80e05df..00000000 --- a/script/emmy/manager.lua +++ /dev/null @@ -1,221 +0,0 @@ -local listMgr = require 'vm.list' -local sourceMgr = require 'vm.source' -local newClass = require 'emmy.class' -local newType = require 'emmy.type' -local newTypeUnit = require 'emmy.typeUnit' -local newAlias = require 'emmy.alias' -local newParam = require 'emmy.param' -local newReturn = require 'emmy.return' -local newField = require 'emmy.field' -local newGeneric = require 'emmy.generic' -local newArrayType = require 'emmy.arrayType' -local newTableType = require 'emmy.tableType' -local newFuncType = require 'emmy.funcType' - -local mt = {} -mt.__index = mt -mt.__name = 'emmyMgr' - -function mt:flushClass(name) - local list = self._class[name] - if not list then - return - end - local version = listMgr.getVersion() - if version == list.version then - return - end - for srcId in pairs(list) do - if not listMgr.get(srcId) then - list[srcId] = nil - end - end - if not next(list) then - self._class[name] = nil - return - end - list.version = version -end - -function mt:eachClassByName(name, callback) - self:flushClass(name) - local list = self._class[name] - if not list then - return - end - for k, class in pairs(list) do - if k ~= 'version' then - local res = callback(class) - if res ~= nil then - return res - end - end - end -end - -function mt:eachClass(...) - local n = select('#', ...) - if n == 1 then - local callback = ... - for name in pairs(self._class) do - local res = self:eachClassByName(name, callback) - if res ~= nil then - return res - end - end - else - local name, callback = ... - return self:eachClassByName(name, callback) - end -end - -function mt:getClass(name) - self:flushClass(name) - local list = self._class[name] - local version = listMgr.getVersion() - if not list then - list = { - version = version, - } - self._class[name] = list - end - return list -end - -function mt:newClass(name, extends, source) - local list = self:getClass(name) - list[source.id] = newClass(self, name, extends, source) - return list[source.id] -end - -function mt:addClass(source) - local className = source[1][1] - local extends = source[2] and source[2][1] - local class = self:newClass(className, extends, source) - return class -end - -function mt:addType(source) - local typeObj = newType(self, source) - for i, obj in ipairs(source) do - local typeUnit = newTypeUnit(self, obj) - local className = obj[1] - if className then - local list = self:getClass(className) - list[source.id] = typeUnit - end - typeUnit:setParent(typeObj) - typeObj._childs[i] = typeUnit - obj:set('emmy.typeUnit', typeUnit) - end - return typeObj -end - -function mt:addArrayType(source) - local typeObj = self:addType(source) - local arrayTypeObj = newArrayType(self, source, typeObj) - return arrayTypeObj -end - -function mt:addTableType(source, keyType, valueType) - local typeObj = newTableType(self, source, keyType, valueType) - return typeObj -end - -function mt:addFunctionType(source) - local typeObj = newFuncType(self, source) - return typeObj -end - -function mt:addAlias(source, typeObj) - local aliasName = source[1][1] - local aliasObj = newAlias(self, source) - aliasObj:bindType(typeObj) - local list = self:getClass(aliasName) - list[source.id] = aliasObj - for i = 3, #source do - aliasObj:addEnum(source[i]) - end - return aliasObj -end - -function mt:addParam(source, bind) - local paramObj = newParam(self, source) - if bind.type == 'emmy.generic' then - paramObj:bindGeneric(bind) - else - paramObj:bindType(bind) - self:eachClass(bind:getType(), function (class) - if class.type == 'emmy.alias' then - class:eachEnum(function (enum) - paramObj:addEnum(enum) - end) - end - end) - end - for i = 3, #source do - paramObj:addEnum(source[i]) - end - paramObj:setOption(source.option) - return paramObj -end - -function mt:addReturn(source, bind, name) - local returnObj = newReturn(self, source, name) - if bind then - if bind.type == 'emmy.generic' then - returnObj:bindGeneric(bind) - else - returnObj:bindType(bind) - end - end - return returnObj -end - -function mt:addField(source, typeObj, value) - local fieldObj = newField(self, source) - fieldObj:bindType(typeObj) - fieldObj:bindValue(value) - return fieldObj -end - -function mt:addGeneric(defs) - local genericObj = newGeneric(self, defs) - return genericObj -end - -function mt:remove() -end - -function mt:count() - local count = 0 - for _, list in pairs(self._class) do - for k in pairs(list) do - if k ~= 'version' then - count = count + 1 - end - end - end - return count -end - -return function () - ---@class emmyMgr - local self = setmetatable({ - _class = {}, - }, mt) - - local source = sourceMgr.dummy() - self:newClass('any', nil, source) - self:newClass('string', 'any', source) - self:newClass('number', 'any', source) - self:newClass('integer', 'number', source) - self:newClass('boolean', 'any', source) - self:newClass('table', 'any', source) - self:newClass('function', 'any', source) - self:newClass('nil', 'any', source) - self:newClass('userdata', 'any', source) - self:newClass('thread', 'any', source) - - return self -end diff --git a/script/emmy/param.lua b/script/emmy/param.lua deleted file mode 100644 index 12ac0633..00000000 --- a/script/emmy/param.lua +++ /dev/null @@ -1,70 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyParam -local mt = {} -mt.__index = mt -mt.type = 'emmy.param' - -function mt:getName() - return self.name -end - -function mt:getType() - if self._bindType then - return self._bindType:getType() - else - return 'any' - end -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:bindType(type) - if type then - self._bindType = type - else - return self._bindType - end -end - -function mt:bindGeneric(generic) - if generic then - self._bindGeneric = generic - else - return self._bindGeneric - end -end - -function mt:addEnum(enum) - self._enum[#self._enum+1] = enum -end - -function mt:eachEnum(callback) - for _, enum in ipairs(self._enum) do - callback(enum) - end -end - -function mt:setOption(option) - self._option = option -end - -function mt:getOption() - return self._option -end - -return function (manager, source) - local self = setmetatable({ - source = source.id, - _manager = manager, - _enum = {}, - }, mt) - if source.type == 'emmyParam' then - self.name = source[1][1] - elseif source.type == 'emmyVararg' then - self.name = '...' - end - return self -end diff --git a/script/emmy/return.lua b/script/emmy/return.lua deleted file mode 100644 index 1fc97923..00000000 --- a/script/emmy/return.lua +++ /dev/null @@ -1,36 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyReturn -local mt = {} -mt.__index = mt -mt.type = 'emmy.return' - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:bindType(type) - if type then - self._bindType = type - else - return self._bindType - end -end - -function mt:bindGeneric(generic) - if generic then - self._bindGeneric = generic - else - return self._bindGeneric - end -end - -return function (manager, source, name) - local self = setmetatable({ - source = source.id, - name = name and name[1], - option = source.option, - _manager = manager, - }, mt) - return self -end diff --git a/script/emmy/tableType.lua b/script/emmy/tableType.lua deleted file mode 100644 index 3882cd61..00000000 --- a/script/emmy/tableType.lua +++ /dev/null @@ -1,40 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyTableType -local mt = {} -mt.__index = mt -mt.type = 'emmy.tableType' - -function mt:getType() - return 'table' -end - -function mt:getKeyType() - return self.keyType -end - -function mt:getValueType() - return self.valueType -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:setValue(value) - self.value = value -end - -function mt:getValue() - return self.value -end - -return function (manager, source, keyType, valueType) - local self = setmetatable({ - source = source.id, - keyType = keyType, - valueType = valueType, - _manager = manager, - }, mt) - return self -end diff --git a/script/emmy/type.lua b/script/emmy/type.lua deleted file mode 100644 index 8977cf2d..00000000 --- a/script/emmy/type.lua +++ /dev/null @@ -1,59 +0,0 @@ -local listMgr = require 'vm.list' - -local function buildName(source) - local names = {} - for i, type in ipairs(source) do - if type.type == 'emmyName' then - names[i] = type[1] - elseif type.type == 'emmyArrayType' then - names[i] = type[1][1]..'[]' - end - end - return table.concat(names, '|') -end - ----@class EmmyType -local mt = {} -mt.__index = mt -mt.type = 'emmy.type' - -function mt:getType() - return self.name -end - -function mt:getName() - return self.name -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:eachClass(callback) - for _, typeUnit in ipairs(self._childs) do - ---@type EmmyTypeUnit - local emmyTypeUnit = typeUnit - emmyTypeUnit:getClass(callback) - end -end - -function mt:setValue(value) - self.value = value - for _, typeUnit in ipairs(self._childs) do - typeUnit:setValue(value) - end -end - -function mt:getValue() - return self.value -end - -return function (manager, source) - local self = setmetatable({ - name = buildName(source), - source = source.id, - _manager = manager, - _childs = {}, - }, mt) - return self -end diff --git a/script/emmy/typeUnit.lua b/script/emmy/typeUnit.lua deleted file mode 100644 index 73d7ea6b..00000000 --- a/script/emmy/typeUnit.lua +++ /dev/null @@ -1,51 +0,0 @@ -local listMgr = require 'vm.list' - ----@class EmmyTypeUnit -local mt = {} -mt.__index = mt -mt.type = 'emmy.typeUnit' - -function mt:getType() - return self.name -end - -function mt:getName() - return self.name -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:getClass(callback) - self._manager:eachClass(self:getName(), function (class) - if class.type == 'emmy.class' then - callback(class) - end - end) -end - -function mt:setValue(value) - self.value = value -end - -function mt:getValue() - return self.value -end - -function mt:setParent(parent) - self.parent = parent -end - -function mt:getParent() - return self.parent -end - -return function (manager, source) - local self = setmetatable({ - name = source[1], - source = source.id, - _manager = manager, - }, mt) - return self -end diff --git a/script/file-uri.lua b/script/file-uri.lua deleted file mode 100644 index ba44f2e7..00000000 --- a/script/file-uri.lua +++ /dev/null @@ -1,89 +0,0 @@ -local platform = require 'bee.platform' - -local escPatt = '[^%w%-%.%_%~%/]' - -local function esc(c) - return ('%%%02X'):format(c:byte()) -end - -local function normalize(str) - return str:gsub('%%(%x%x)', function (n) - return string.char(tonumber(n, 16)) - end) -end - -local m = {} - --- c:\my\files --> file:///c%3A/my/files --- /usr/home --> file:///usr/home --- \\server\share\some\path --> file://server/share/some/path - ---- path -> uri ----@param path string ----@return string uri -function m.encode(path) - local authority = '' - if platform.OS == 'Windows' then - path = path:gsub('\\', '/') - end - - if path:sub(1, 2) == '//' then - local idx = path:find('/', 3) - if idx then - authority = path:sub(3, idx) - path = path:sub(idx + 1) - if path == '' then - path = '/' - end - else - authority = path:sub(3) - path = '/' - end - end - - if path:sub(1, 1) ~= '/' then - path = '/' .. path - end - - -- lower-case windows drive letters in /C:/fff or C:/fff - local start, finish, drive = path:find '/(%u):' - if drive then - path = path:sub(1, start) .. drive:lower() .. path:sub(finish, -1) - end - - local uri = 'file://' - .. authority:gsub(escPatt, esc) - .. path:gsub(escPatt, esc) - return uri -end - --- file:///c%3A/my/files --> c:\my\files --- file:///usr/home --> /usr/home --- file://server/share/some/path --> \\server\share\some\path - ---- uri -> path ----@param uri string ----@return string path -function m.decode(uri) - local scheme, authority, path = uri:match('([^:]*):?/?/?([^/]*)(.*)') - if not scheme then - return '' - end - scheme = normalize(scheme) - authority = normalize(authority) - path = normalize(path) - local value - if scheme == 'file' and #authority > 0 and #path > 1 then - value = '//' .. authority .. path - elseif path:match '/%a:' then - value = path:sub(2, 2):lower() .. path:sub(3) - else - value = path - end - if platform.OS == 'Windows' then - value = value:gsub('/', '\\') - end - return value -end - -return m diff --git a/script/filename.lua b/script/filename.lua deleted file mode 100644 index a28b004c..00000000 --- a/script/filename.lua +++ /dev/null @@ -1,65 +0,0 @@ -local platform = require 'bee.platform' -local config = require 'config' -local m = {} - -local TrueName = {} - -function m.getFileName(path) - local name = path:string() - if platform.OS == 'Windows' then - local lname = name:lower() - TrueName[lname] = name - return lname - else - return name - end -end - -function m.getTrueName(name) - return TrueName[name] or name -end - -local function split(str, sep) - local t = {} - for s in str:gmatch('[^' .. sep .. ']+') do - t[#t+1] = s - end - return t -end - -function m.similarity(a, b) - local ta = split(a, '/\\') - local tb = split(b, '/\\') - for i = 1, #ta do - if ta[i] ~= tb[i] then - return i - 1 - end - end - return #ta -end - -function m.isLuaFile(path) - local pathStr = path:string() - for k, v in pairs(config.other.associations) do - if v == 'lua' then - k = k:gsub('^%*', '') - if m.fileNameEq(pathStr:sub(-#k), k) then - return true - end - end - end - if m.fileNameEq(pathStr:sub(-4), '.lua') then - return true - end - return false -end - -function m.fileNameEq(a, b) - if platform.OS == 'Windows' then - return a:lower() == b:lower() - else - return a == b - end -end - -return m diff --git a/script/files/file.lua b/script/files/file.lua deleted file mode 100644 index 81aabba5..00000000 --- a/script/files/file.lua +++ /dev/null @@ -1,158 +0,0 @@ ----@class file -local mt = {} -mt.__index = mt -mt.type = 'file' -mt._uri = '' -mt._oldText = '' -mt._text = '' -mt._version = -1 -mt._vmCost = 0.0 -mt._lineCost = 0.0 - ----@param buf string -function mt:setText(buf) - self._oldText = self._text - self._text = buf -end - ----@return string -function mt:getText() - return self._text -end - ----@return string -function mt:getOldText() - return self._oldText -end - -function mt:clearOldText() - self._oldText = nil -end - ----@param version integer -function mt:setVersion(version) - self._version = version -end - ----@return integer -function mt:getVersion() - return self._version -end - -function mt:remove() - if self._removed then - return - end - self._removed = true - self._text = nil - self._version = nil - if self._vm then - self._vm:remove() - end -end - ----@return boolean -function mt:isRemoved() - return self._removed == true -end - ----@param vm VM ----@param version integer ----@param cost number -function mt:saveVM(vm, version, cost) - if self._vm then - self._vm:remove() - end - self._vm = vm - if vm then - vm:setVersion(version) - end - self._vmCost = cost -end - ----@return VM -function mt:getVM() - return self._vm -end - ----@return number -function mt:getVMCost() - return self._vmCost -end - -function mt:removeVM() - if not self._vm then - return - end - self._vm:remove() - self._vm = nil -end - ----@param lines table ----@param cost number -function mt:saveLines(lines, cost) - self._lines = lines - self._lineCost = cost -end - ----@return table -function mt:getLines() - return self._lines -end - -function mt:getComments() - return self.comments -end - ----@return file -function mt:getParent() - return self._parent -end - ----@param uri uri -function mt:addChild(uri) - self._child[uri] = true -end - ----@param uri uri -function mt:removeChild(uri) - self._child[uri] = nil -end - ----@param uri uri -function mt:addParent(uri) - self._parent[uri] = true -end - ----@param uri uri -function mt:removeParent(uri) - self._parent[uri] = nil -end - -function mt:eachChild() - return pairs(self._child) -end - -function mt:eachParent() - return pairs(self._parent) -end - ----@param err table -function mt:setAstErr(err) - self._astErr = err -end - ----@return table -function mt:getAstErr() - return self._astErr -end - ----@param uri string -return function (uri) - local self = setmetatable({ - _uri = uri, - _parent = {}, - _child = {}, - }, mt) - return self -end diff --git a/script/files/files.lua b/script/files/files.lua deleted file mode 100644 index 88ff7444..00000000 --- a/script/files/files.lua +++ /dev/null @@ -1,115 +0,0 @@ -local file = require 'files.file' - ----@class files -local mt = {} -mt.__index = mt -mt.type = 'files' -mt._fileCount = 0 ----@type table<uri, file> -mt._files = nil - ----@param uri uri ----@param text string -function mt:save(uri, text, version) - local f = self._files[uri] - if not f then - f = file(uri) - self._files[uri] = f - self._fileCount = self._fileCount + 1 - end - f:setText(text) - f:setVersion(version) -end - ----@param uri uri -function mt:remove(uri) - local f = self._files[uri] - if not f then - return - end - - f:remove() - self._files[uri] = nil - self._fileCount = self._fileCount - 1 -end - ----@param uri uri -function mt:open(uri, text) - self._open[uri] = text -end - ----@param uri uri -function mt:close(uri) - self._open[uri] = nil -end - ----@param uri uri ----@return boolean -function mt:isOpen(uri) - return self._open[uri] ~= nil -end - ----@param uri uri -function mt:setLibrary(uri) - self._library[uri] = true -end - ----@param uri uri ----@return uri -function mt:isLibrary(uri) - return self._library[uri] == true -end - ----@param uri uri -function mt:isDead(uri) - local f = self._files[uri] - if not f then - return true - end - if f:isRemoved() then - return true - end - return f:getVersion() == -1 -end - ----@param uri uri ----@return file -function mt:get(uri) - return self._files[uri] -end - -function mt:clear() - for _, f in pairs(self._files) do - f:remove() - end - self._files = {} - self._library = {} - self._fileCount = nil -end - -function mt:clearVM() - for _, f in pairs(self._files) do - f:removeVM() - end -end - -function mt:eachFile() - return pairs(self._files) -end - -function mt:eachOpened() - return pairs(self._open) -end - -function mt:count() - return self._fileCount -end - -return function () - local self = setmetatable({ - _files = {}, - _open = {}, - _library = {}, - }, mt) - return self -end diff --git a/script/files/init.lua b/script/files/init.lua deleted file mode 100644 index e090874d..00000000 --- a/script/files/init.lua +++ /dev/null @@ -1 +0,0 @@ -return require 'files.files' diff --git a/script/glob/gitignore.lua b/script/glob/gitignore.lua deleted file mode 100644 index ddd50fff..00000000 --- a/script/glob/gitignore.lua +++ /dev/null @@ -1,226 +0,0 @@ -local m = require 'lpeglabel' -local matcher = require 'glob.matcher' - -local function prop(name, pat) - return m.Cg(m.Cc(true), name) * pat -end - -local function object(type, pat) - return m.Ct( - m.Cg(m.Cc(type), 'type') * - m.Cg(pat, 'value') - ) -end - -local function expect(p, err) - return p + m.T(err) -end - -local parser = m.P { - 'Main', - ['Sp'] = m.S(' \t')^0, - ['Slash'] = m.S('/')^1, - ['Main'] = m.Ct(m.V'Sp' * m.P'{' * m.V'Pattern' * (',' * expect(m.V'Pattern', 'Miss exp after ","'))^0 * m.P'}') - + m.Ct(m.V'Pattern') - + m.T'Main Failed' - , - ['Pattern'] = m.Ct(m.V'Sp' * prop('neg', m.P'!') * expect(m.V'Unit', 'Miss exp after "!"')) - + m.Ct(m.V'Unit') - , - ['NeedRoot'] = prop('root', (m.P'.' * m.V'Slash' + m.V'Slash')), - ['Unit'] = m.V'Sp' * m.V'NeedRoot'^-1 * expect(m.V'Exp', 'Miss exp') * m.V'Sp', - ['Exp'] = m.V'Sp' * (m.V'FSymbol' + object('/', m.V'Slash') + m.V'Word')^0 * m.V'Sp', - ['Word'] = object('word', m.Ct((m.V'CSymbol' + m.V'Char' - m.V'FSymbol')^1)), - ['CSymbol'] = object('*', m.P'*') - + object('?', m.P'?') - + object('[]', m.V'Range') - , - ['SimpleChar'] = m.P(1) - m.S',{}[]*?/', - ['EscChar'] = m.P'\\' / '' * m.P(1), - ['Char'] = object('char', m.Cs((m.V'EscChar' + m.V'SimpleChar')^1)), - ['FSymbol'] = object('**', m.P'**'), - ['Range'] = m.P'[' * m.Ct(m.V'RangeUnit'^0) * m.P']'^-1, - ['RangeUnit'] = m.Ct(- m.P']' * m.C(m.P(1)) * (m.P'-' * - m.P']' * m.C(m.P(1)))^-1), -} - ----@class gitignore -local mt = {} -mt.__index = mt -mt.__name = 'gitignore' - -function mt:addPattern(pat) - if type(pat) ~= 'string' then - return - end - self.pattern[#self.pattern+1] = pat - if self.options.ignoreCase then - pat = pat:lower() - end - local states, err = parser:match(pat) - if not states then - self.errors[#self.errors+1] = { - pattern = pat, - message = err - } - return - end - for _, state in ipairs(states) do - self.matcher[#self.matcher+1] = matcher(state) - end -end - -function mt:setOption(op, val) - if val == nil then - val = true - end - self.options[op] = val -end - ----@param key string | "'type'" | "'list'" ----@param func function | "function (path) end" -function mt:setInterface(key, func) - if type(func) ~= 'function' then - return - end - self.interface[key] = func -end - -function mt:callInterface(name, ...) - local func = self.interface[name] - return func(...) -end - -function mt:hasInterface(name) - return self.interface[name] ~= nil -end - -function mt:checkDirectory(catch, path, matcher) - if not self:hasInterface 'type' then - return true - end - if not matcher:isNeedDirectory() then - return true - end - if #catch < #path then - -- if path is 'a/b/c' and catch is 'a/b' - -- then the catch must be a directory - return true - else - return self:callInterface('type', path) == 'directory' - end -end - -function mt:simpleMatch(path) - for i = #self.matcher, 1, -1 do - local matcher = self.matcher[i] - local catch = matcher(path) - if catch and self:checkDirectory(catch, path, matcher) then - if matcher:isNegative() then - return false - else - return true - end - end - end - return nil -end - -function mt:finishMatch(path) - local paths = {} - for filename in path:gmatch '[^/\\]+' do - paths[#paths+1] = filename - end - for i = 1, #paths do - local newPath = table.concat(paths, '/', 1, i) - local passed = self:simpleMatch(newPath) - if passed == true then - return true - elseif passed == false then - return false - end - end - return false -end - -function mt:scan(callback) - local files = {} - if type(callback) ~= 'function' then - callback = nil - end - local list = {} - local result = self:callInterface('list', '') - if type(result) ~= 'table' then - return files - end - for _, path in ipairs(result) do - list[#list+1] = path:match '([^/\\]+)[/\\]*$' - end - while #list > 0 do - local current = list[#list] - if not current then - break - end - list[#list] = nil - if not self:simpleMatch(current) then - local fileType = self:callInterface('type', current) - if fileType == 'file' then - if callback then - callback(current) - end - files[#files+1] = current - elseif fileType == 'directory' then - local result = self:callInterface('list', current) - if type(result) == 'table' then - for _, path in ipairs(result) do - local filename = path:match '([^/\\]+)[/\\]*$' - if filename - and filename ~= '.' - and filename ~= '..' then - list[#list+1] = current .. '/' .. filename - end - end - end - end - end - end - return files -end - -function mt:__call(path) - if self.options.ignoreCase then - path = path:lower() - end - return self:finishMatch(path) -end - -return function (pattern, options, interface) - local self = setmetatable({ - pattern = {}, - options = {}, - matcher = {}, - errors = {}, - interface = {}, - }, mt) - - if type(pattern) == 'table' then - for _, pat in ipairs(pattern) do - self:addPattern(pat) - end - else - self:addPattern(pattern) - end - - if type(options) == 'table' then - for op, val in pairs(options) do - self:setOption(op, val) - end - end - - if type(interface) == 'table' then - for key, func in pairs(interface) do - self:setInterface(key, func) - end - end - - return self -end diff --git a/script/glob/glob.lua b/script/glob/glob.lua deleted file mode 100644 index 9cfbdc7e..00000000 --- a/script/glob/glob.lua +++ /dev/null @@ -1,124 +0,0 @@ -local m = require 'lpeglabel' -local matcher = require 'glob.matcher' - -local function prop(name, pat) - return m.Cg(m.Cc(true), name) * pat -end - -local function object(type, pat) - return m.Ct( - m.Cg(m.Cc(type), 'type') * - m.Cg(pat, 'value') - ) -end - -local function expect(p, err) - return p + m.T(err) -end - -local parser = m.P { - 'Main', - ['Sp'] = m.S(' \t')^0, - ['Slash'] = m.P('/')^1, - ['Main'] = m.Ct(m.V'Sp' * m.P'{' * m.V'Pattern' * (',' * expect(m.V'Pattern', 'Miss exp after ","'))^0 * m.P'}') - + m.Ct(m.V'Pattern') - + m.T'Main Failed' - , - ['Pattern'] = m.Ct(m.V'Sp' * prop('neg', m.P'!') * expect(m.V'Unit', 'Miss exp after "!"')) - + m.Ct(m.V'Unit') - , - ['NeedRoot'] = prop('root', (m.P'.' * m.V'Slash' + m.V'Slash')), - ['Unit'] = m.V'Sp' * m.V'NeedRoot'^-1 * expect(m.V'Exp', 'Miss exp') * m.V'Sp', - ['Exp'] = m.V'Sp' * (m.V'FSymbol' + object('/', m.V'Slash') + m.V'Word')^0 * m.V'Sp', - ['Word'] = object('word', m.Ct((m.V'CSymbol' + m.V'Char' - m.V'FSymbol')^1)), - ['CSymbol'] = object('*', m.P'*') - + object('?', m.P'?') - + object('[]', m.V'Range') - , - ['SimpleChar'] = m.P(1) - m.S',{}[]*?/', - ['EscChar'] = m.P'\\' / '' * m.P(1), - ['Char'] = object('char', m.Cs((m.V'EscChar' + m.V'SimpleChar')^1)), - ['FSymbol'] = object('**', m.P'**'), - ['RangeWord'] = 1 - m.P']', - ['Range'] = m.P'[' * m.Ct(m.V'RangeUnit'^0) * m.P']'^-1, - ['RangeUnit'] = m.Ct(m.C(m.V'RangeWord') * m.P'-' * m.C(m.V'RangeWord')) - + m.V'RangeWord', -} - -local mt = {} -mt.__index = mt -mt.__name = 'glob' - -function mt:addPattern(pat) - if type(pat) ~= 'string' then - return - end - self.pattern[#self.pattern+1] = pat - if self.options.ignoreCase then - pat = pat:lower() - end - local states, err = parser:match(pat) - if not states then - self.errors[#self.errors+1] = { - pattern = pat, - message = err - } - return - end - for _, state in ipairs(states) do - if state.neg then - self.refused[#self.refused+1] = matcher(state) - else - self.passed[#self.passed+1] = matcher(state) - end - end -end - -function mt:setOption(op, val) - if val == nil then - val = true - end - self.options[op] = val -end - -function mt:__call(path) - if self.options.ignoreCase then - path = path:lower() - end - for _, refused in ipairs(self.refused) do - if refused(path) then - return false - end - end - for _, passed in ipairs(self.passed) do - if passed(path) then - return true - end - end - return false -end - -return function (pattern, options) - local self = setmetatable({ - pattern = {}, - options = {}, - passed = {}, - refused = {}, - errors = {}, - }, mt) - - if type(pattern) == 'table' then - for _, pat in ipairs(pattern) do - self:addPattern(pat) - end - else - self:addPattern(pattern) - end - - if type(options) == 'table' then - for op, val in pairs(options) do - self:setOption(op, val) - end - end - return self -end diff --git a/script/glob/init.lua b/script/glob/init.lua deleted file mode 100644 index 6578a0d4..00000000 --- a/script/glob/init.lua +++ /dev/null @@ -1,4 +0,0 @@ -return { - glob = require 'glob.glob', - gitignore = require 'glob.gitignore', -} diff --git a/script/glob/matcher.lua b/script/glob/matcher.lua deleted file mode 100644 index f4c2b12c..00000000 --- a/script/glob/matcher.lua +++ /dev/null @@ -1,151 +0,0 @@ -local m = require 'lpeglabel' - -local Slash = m.S('/\\')^1 -local Symbol = m.S',{}[]*?/\\' -local Char = 1 - Symbol -local Path = Char^1 * Slash -local NoWord = #(m.P(-1) + Symbol) -local function whatHappened() - return m.Cmt(m.P(1)^1, function (...) - print(...) - end) -end - -local mt = {} -mt.__index = mt -mt.__name = 'matcher' - -function mt:exp(state, index) - local exp = state[index] - if not exp then - return - end - if exp.type == 'word' then - return self:word(exp, state, index + 1) - elseif exp.type == 'char' then - return self:char(exp, state, index + 1) - elseif exp.type == '**' then - return self:anyPath(exp, state, index + 1) - elseif exp.type == '*' then - return self:anyChar(exp, state, index + 1) - elseif exp.type == '?' then - return self:oneChar(exp, state, index + 1) - elseif exp.type == '[]' then - return self:range(exp, state, index + 1) - elseif exp.type == '/' then - return self:slash(exp, state, index + 1) - end -end - -function mt:word(exp, state, index) - local current = self:exp(exp.value, 1) - local after = self:exp(state, index) - if after then - return current * Slash * after - else - return current - end -end - -function mt:char(exp, state, index) - local current = m.P(exp.value) - local after = self:exp(state, index) - if after then - return current * after * NoWord - else - return current * NoWord - end -end - -function mt:anyPath(_, state, index) - local after = self:exp(state, index) - if after then - return m.P { - 'Main', - Main = after - + Path * m.V'Main' - } - else - return Path^0 - end -end - -function mt:anyChar(_, state, index) - local after = self:exp(state, index) - if after then - return m.P { - 'Main', - Main = after - + Char * m.V'Main' - } - else - return Char^0 - end -end - -function mt:oneChar(_, state, index) - local after = self:exp(state, index) - if after then - return Char * after - else - return Char - end -end - -function mt:range(exp, state, index) - local after = self:exp(state, index) - local ranges = {} - local selects = {} - for _, range in ipairs(exp.value) do - if #range == 1 then - selects[#selects+1] = range[1] - elseif #range == 2 then - ranges[#ranges+1] = range[1] .. range[2] - end - end - local current = m.S(table.concat(selects)) + m.R(table.unpack(ranges)) - if after then - return current * after - else - return current - end -end - -function mt:slash(_, state, index) - local after = self:exp(state, index) - if after then - return after - else - self.needDirectory = true - return nil - end -end - -function mt:pattern(state) - if state.root then - return m.C(self:exp(state, 1)) - else - return m.C(self:anyPath(nil, state, 1)) - end -end - -function mt:isNeedDirectory() - return self.needDirectory == true -end - -function mt:isNegative() - return self.state.neg == true -end - -function mt:__call(path) - return self.matcher:match(path) -end - -return function (state, options) - local self = setmetatable({ - options = options, - state = state, - }, mt) - self.matcher = self:pattern(state) - return self -end diff --git a/script/json-beautify.lua b/script/json-beautify.lua deleted file mode 100644 index 1d2a6cc0..00000000 --- a/script/json-beautify.lua +++ /dev/null @@ -1,120 +0,0 @@ -local json = require "json" -local type = type -local next = next -local error = error -local table_concat = table.concat -local table_sort = table.sort -local string_rep = string.rep -local math_type = math.type -local setmetatable = setmetatable -local getmetatable = getmetatable - -local statusMark -local statusQue -local statusDep -local statusOpt - -local defaultOpt = { - newline = "\n", - indent = " ", -} -defaultOpt.__index = defaultOpt - -local function encode_newline() - statusQue[#statusQue+1] = statusOpt.newline..string_rep(statusOpt.indent, statusDep) -end - -local encode_map = {} -for k ,v in next, json.encode_map do - encode_map[k] = v -end - -local encode_string = json.encode_map.string - -local function encode(v) - local res = encode_map[type(v)](v) - statusQue[#statusQue+1] = res -end - -function encode_map.table(t) - local first_val = next(t) - if first_val == nil then - if getmetatable(t) == json.object then - return "{}" - else - return "[]" - end - end - if statusMark[t] then - error("circular reference") - end - statusMark[t] = true - if type(first_val) == 'string' then - local key = {} - for k in next, t do - if type(k) ~= "string" then - error("invalid table: mixed or invalid key types") - end - key[#key+1] = k - end - table_sort(key) - statusQue[#statusQue+1] = "{" - statusDep = statusDep + 1 - encode_newline() - local k = key[1] - statusQue[#statusQue+1] = encode_string(k) - statusQue[#statusQue+1] = ": " - encode(t[k]) - for i = 2, #key do - local k = key[i] - statusQue[#statusQue+1] = "," - encode_newline() - statusQue[#statusQue+1] = encode_string(k) - statusQue[#statusQue+1] = ": " - encode(t[k]) - end - statusDep = statusDep - 1 - encode_newline() - statusMark[t] = nil - return "}" - else - local max = 0 - for k in next, t do - if math_type(k) ~= "integer" or k <= 0 then - error("invalid table: mixed or invalid key types") - end - if max < k then - max = k - end - end - statusQue[#statusQue+1] = "[" - statusDep = statusDep + 1 - encode_newline() - encode(t[1]) - for i = 2, max do - statusQue[#statusQue+1] = "," - encode_newline() - encode(t[i]) - end - statusDep = statusDep - 1 - encode_newline() - statusMark[t] = nil - return "]" - end -end - -local function beautify(v, option) - if type(v) == "string" then - v = json.decode(v) - end - statusMark = {} - statusQue = {} - statusDep = 0 - statusOpt = option and setmetatable(option, defaultOpt) or defaultOpt - encode(v) - return table_concat(statusQue) -end - -json.beautify = beautify - -return json diff --git a/script/json.lua b/script/json.lua deleted file mode 100644 index 46261d7d..00000000 --- a/script/json.lua +++ /dev/null @@ -1,450 +0,0 @@ -local type = type -local next = next -local error = error -local tonumber = tonumber -local tostring = tostring -local utf8_char = utf8.char -local table_concat = table.concat -local table_sort = table.sort -local string_char = string.char -local string_byte = string.byte -local string_find = string.find -local string_match = string.match -local string_gsub = string.gsub -local string_sub = string.sub -local string_format = string.format -local math_type = math.type -local setmetatable = setmetatable -local getmetatable = getmetatable -local Inf = math.huge - -local json = {} -json.object = {} - --- json.encode -- -local statusMark -local statusQue - -local encode_map = {} - -local encode_escape_map = { - [ "\"" ] = "\\\"", - [ "\\" ] = "\\\\", - [ "/" ] = "\\/", - [ "\b" ] = "\\b", - [ "\f" ] = "\\f", - [ "\n" ] = "\\n", - [ "\r" ] = "\\r", - [ "\t" ] = "\\t", -} - -local decode_escape_set = {} -local decode_escape_map = {} -for k, v in next, encode_escape_map do - decode_escape_map[v] = k - decode_escape_set[string_byte(v, 2)] = true -end - -for i = 0, 31 do - local c = string_char(i) - if not encode_escape_map[c] then - encode_escape_map[c] = string_format("\\u%04x", i) - end -end - -local function encode(v) - local res = encode_map[type(v)](v) - statusQue[#statusQue+1] = res -end - -encode_map["nil"] = function () - return "null" -end - -function encode_map.string(v) - return '"' .. string_gsub(v, '[\0-\31\\"]', encode_escape_map) .. '"' -end -local encode_string = encode_map.string - -local function convertreal(v) - local g = string_format('%.16g', v) - if tonumber(g) == v then - return g - end - return string_format('%.17g', v) -end - -function encode_map.number(v) - if v ~= v or v <= -Inf or v >= Inf then - error("unexpected number value '" .. tostring(v) .. "'") - end - return string_gsub(convertreal(v), ',', '.') -end - -function encode_map.boolean(v) - if v then - return "true" - else - return "false" - end -end - -function encode_map.table(t) - local first_val = next(t) - if first_val == nil then - if getmetatable(t) == json.object then - return "{}" - else - return "[]" - end - end - if statusMark[t] then - error("circular reference") - end - statusMark[t] = true - if type(first_val) == 'string' then - local key = {} - for k in next, t do - if type(k) ~= "string" then - error("invalid table: mixed or invalid key types") - end - key[#key+1] = k - end - table_sort(key) - statusQue[#statusQue+1] = "{" - local k = key[1] - statusQue[#statusQue+1] = encode_string(k) - statusQue[#statusQue+1] = ":" - encode(t[k]) - for i = 2, #key do - local k = key[i] - statusQue[#statusQue+1] = "," - statusQue[#statusQue+1] = encode_string(k) - statusQue[#statusQue+1] = ":" - encode(t[k]) - end - statusMark[t] = nil - return "}" - else - local max = 0 - for k in next, t do - if math_type(k) ~= "integer" or k <= 0 then - error("invalid table: mixed or invalid key types") - end - if max < k then - max = k - end - end - statusQue[#statusQue+1] = "[" - encode(t[1]) - for i = 2, max do - statusQue[#statusQue+1] = "," - encode(t[i]) - end - statusMark[t] = nil - return "]" - end -end - -local function encode_unexpected(v) - if v == json.null then - return "null" - else - error("unexpected type '"..type(v).."'") - end -end -encode_map[ "function" ] = encode_unexpected -encode_map[ "userdata" ] = encode_unexpected -encode_map[ "thread" ] = encode_unexpected - -function json.encode(v) - statusMark = {} - statusQue = {} - encode(v) - return table_concat(statusQue) -end - -json.encode_map = encode_map - --- json.decode -- - -local statusBuf -local statusPos -local statusTop -local statusAry = {} -local statusRef = {} - -local function find_line() - local line = 1 - local pos = 1 - while true do - local f, _, nl1, nl2 = string_find(statusBuf, '([\n\r])([\n\r]?)', pos) - if not f then - return line, statusPos - pos + 1 - end - local newpos = f + ((nl1 == nl2 or nl2 == '') and 1 or 2) - if newpos > statusPos then - return line, statusPos - pos + 1 - end - pos = newpos - line = line + 1 - end -end - -local function decode_error(msg) - error(string_format("ERROR: %s at line %d col %d", msg, find_line())) -end - -local function get_word() - return string_match(statusBuf, "^[^ \t\r\n%]},]*", statusPos) -end - -local function next_byte() - statusPos = string_find(statusBuf, "[^ \t\r\n]", statusPos) - if statusPos then - return string_byte(statusBuf, statusPos) - end - statusPos = #statusBuf + 1 - decode_error("unexpected character '<eol>'") -end - -local function expect_byte(c) - local _, pos = string_find(statusBuf, c, statusPos) - if not pos then - decode_error(string_format("expected '%s'", string_sub(c, #c))) - end - statusPos = pos -end - -local function decode_unicode_surrogate(s1, s2) - return utf8_char(0x10000 + (tonumber(s1, 16) - 0xd800) * 0x400 + (tonumber(s2, 16) - 0xdc00)) -end - -local function decode_unicode_escape(s) - return utf8_char(tonumber(s, 16)) -end - -local function decode_string() - local has_unicode_escape = false - local has_escape = false - local i = statusPos + 1 - while true do - i = string_find(statusBuf, '["\\\0-\31]', i) - if not i then - decode_error "expected closing quote for string" - end - local x = string_byte(statusBuf, i) - if x < 32 then - statusPos = i - decode_error "control character in string" - end - if x == 34 --[[ '"' ]] then - local s = string_sub(statusBuf, statusPos + 1, i - 1) - if has_unicode_escape then - s = string_gsub(string_gsub(s - , "\\u([dD][89aAbB]%x%x)\\u([dD][c-fC-F]%x%x)", decode_unicode_surrogate) - , "\\u(%x%x%x%x)", decode_unicode_escape) - end - if has_escape then - s = string_gsub(s, "\\.", decode_escape_map) - end - statusPos = i + 1 - return s - end - --assert(x == 92 --[[ "\\" ]]) - local nx = string_byte(statusBuf, i+1) - if nx == 117 --[[ "u" ]] then - if not string_match(statusBuf, "^%x%x%x%x", i+2) then - statusPos = i - decode_error "invalid unicode escape in string" - end - has_unicode_escape = true - i = i + 6 - else - if not decode_escape_set[nx] then - statusPos = i - decode_error("invalid escape char '" .. (nx and string_char(nx) or "<eol>") .. "' in string") - end - has_escape = true - i = i + 2 - end - end -end - -local function decode_number() - local word = get_word() - if not ( - string_match(word, '^.[0-9]*$') - or string_match(word, '^.[0-9]*%.[0-9]+$') - or string_match(word, '^.[0-9]*[Ee][+-]?[0-9]+$') - or string_match(word, '^.[0-9]*%.[0-9]+[Ee][+-]?[0-9]+$') - ) then - decode_error("invalid number '" .. word .. "'") - end - statusPos = statusPos + #word - return tonumber(word) -end - -local function decode_number_negative() - local word = get_word() - if not ( - string_match(word, '^.[1-9][0-9]*$') - or string_match(word, '^.[1-9][0-9]*%.[0-9]+$') - or string_match(word, '^.[1-9][0-9]*[Ee][+-]?[0-9]+$') - or string_match(word, '^.[1-9][0-9]*%.[0-9]+[Ee][+-]?[0-9]+$') - or word == "-0" - or string_match(word, '^.0%.[0-9]+$') - or string_match(word, '^.0[Ee][+-]?[0-9]+$') - or string_match(word, '^.0%.[0-9]+[Ee][+-]?[0-9]+$') - ) then - decode_error("invalid number '" .. word .. "'") - end - statusPos = statusPos + #word - return tonumber(word) -end - -local function decode_number_zero() - local word = get_word() - if not ( - #word == 1 - or string_match(word, '^.%.[0-9]+$') - or string_match(word, '^.[Ee][+-]?[0-9]+$') - or string_match(word, '^.%.[0-9]+[Ee][+-]?[0-9]+$') - ) then - decode_error("invalid number '" .. word .. "'") - end - statusPos = statusPos + #word - return tonumber(word) -end - -local function decode_true() - if string_sub(statusBuf, statusPos, statusPos+3) ~= "true" then - decode_error("invalid literal '" .. get_word() .. "'") - end - statusPos = statusPos + 4 - return true -end - -local function decode_false() - if string_sub(statusBuf, statusPos, statusPos+4) ~= "false" then - decode_error("invalid literal '" .. get_word() .. "'") - end - statusPos = statusPos + 5 - return false -end - -local function decode_null() - if string_sub(statusBuf, statusPos, statusPos+3) ~= "null" then - decode_error("invalid literal '" .. get_word() .. "'") - end - statusPos = statusPos + 4 - return json.null -end - -local function decode_array() - statusPos = statusPos + 1 - local res = {} - if next_byte() == 93 --[[ "]" ]] then - statusPos = statusPos + 1 - return res - end - statusTop = statusTop + 1 - statusAry[statusTop] = true - statusRef[statusTop] = res - return res -end - -local function decode_object() - statusPos = statusPos + 1 - local res = {} - if next_byte() == 125 --[[ "}" ]] then - statusPos = statusPos + 1 - return setmetatable(res, json.object) - end - statusTop = statusTop + 1 - statusAry[statusTop] = false - statusRef[statusTop] = res - return res -end - -local decode_uncompleted_map = { - [ string_byte '"' ] = decode_string, - [ string_byte "0" ] = decode_number_zero, - [ string_byte "1" ] = decode_number, - [ string_byte "2" ] = decode_number, - [ string_byte "3" ] = decode_number, - [ string_byte "4" ] = decode_number, - [ string_byte "5" ] = decode_number, - [ string_byte "6" ] = decode_number, - [ string_byte "7" ] = decode_number, - [ string_byte "8" ] = decode_number, - [ string_byte "9" ] = decode_number, - [ string_byte "-" ] = decode_number_negative, - [ string_byte "t" ] = decode_true, - [ string_byte "f" ] = decode_false, - [ string_byte "n" ] = decode_null, - [ string_byte "[" ] = decode_array, - [ string_byte "{" ] = decode_object, -} -local function unexpected_character() - decode_error("unexpected character '" .. string_sub(statusBuf, statusPos, statusPos) .. "'") -end - -local decode_map = {} -for i = 0, 255 do - decode_map[i] = decode_uncompleted_map[i] or unexpected_character -end - -local function decode() - return decode_map[next_byte()]() -end - -local function decode_item() - local top = statusTop - local ref = statusRef[top] - if statusAry[top] then - ref[#ref+1] = decode() - else - expect_byte '^[ \t\r\n]*"' - local key = decode_string() - expect_byte '^[ \t\r\n]*:' - statusPos = statusPos + 1 - ref[key] = decode() - end - if top == statusTop then - repeat - local chr = next_byte(); statusPos = statusPos + 1 - if chr == 44 --[[ "," ]] then - return - end - if statusAry[statusTop] then - if chr ~= 93 --[[ "]" ]] then decode_error "expected ']' or ','" end - else - if chr ~= 125 --[[ "}" ]] then decode_error "expected '}' or ','" end - end - statusTop = statusTop - 1 - until statusTop == 0 - end -end - -function json.decode(str) - if type(str) ~= "string" then - error("expected argument of type string, got " .. type(str)) - end - statusBuf = str - statusPos = 1 - statusTop = 0 - local res = decode() - while statusTop > 0 do - decode_item() - end - if string_find(statusBuf, "[^ \t\r\n]", statusPos) then - decode_error "trailing garbage" - end - return res -end - --- Generate a lightuserdata -json.null = debug.upvalueid(decode, 1) - -return json diff --git a/script/language.lua b/script/language.lua deleted file mode 100644 index 3294c5b2..00000000 --- a/script/language.lua +++ /dev/null @@ -1,136 +0,0 @@ -local fs = require 'bee.filesystem' -local lni = require 'lni' - -local function supportLanguage() - local list = {} - for path in (ROOT / 'locale'):list_directory() do - if fs.is_directory(path) then - list[#list+1] = path:filename():string():lower() - end - end - return list -end - -local function osLanguage() - return LANG:lower() -end - -local function getLanguage(id) - local support = supportLanguage() - -- 检查是否支持语言 - if support[id] then - return id - end - -- 根据语言的前2个字母来找近似语言 - for _, lang in ipairs(support) do - if lang:sub(1, 2) == id:sub(1, 2) then - return lang - end - end - -- 使用英文 - return 'enUS' -end - -local function loadFileByLanguage(name, language) - local path = ROOT / 'locale' / language / (name .. '.lni') - local buf = io.load(path) - if not buf then - return {} - end - local suc, tbl = xpcall(lni, log.error, buf, path:string()) - if not suc then - return {} - end - return tbl -end - -local function formatAsArray(str, ...) - local index = 0 - local args = {...} - return str:gsub('%{(.-)%}', function (pat) - local id, fmt - local pos = pat:find(':', 1, true) - if pos then - id = pat:sub(1, pos-1) - fmt = pat:sub(pos+1) - else - id = pat - fmt = 's' - end - id = tonumber(id) - if not id then - index = index + 1 - id = index - end - return ('%'..fmt):format(args[id]) - end) -end - -local function formatAsTable(str, ...) - local args = ... - return str:gsub('%{(.-)%}', function (pat) - local id, fmt - local pos = pat:find(':', 1, true) - if pos then - id = pat:sub(1, pos-1) - fmt = pat:sub(pos+1) - else - id = pat - fmt = 's' - end - if not id then - return - end - return ('%'..fmt):format(args[id]) - end) -end - -local function loadLang(name, language) - local tbl = loadFileByLanguage(name, 'en-US') - if language ~= 'en-US' then - local other = loadFileByLanguage(name, language) - for k, v in pairs(other) do - tbl[k] = v - end - end - return setmetatable(tbl, { - __index = function (self, key) - self[key] = key - return key - end, - __call = function (self, key, ...) - local str = self[key] - local suc, res - if type(...) == 'table' then - suc, res = pcall(formatAsTable, str, ...) - else - suc, res = pcall(formatAsArray, str, ...) - end - if suc then - return res - else - -- 这里不能使用翻译,以免死循环 - log.warn(('[%s][%s-%s] formated error: %s'):format( - language, name, key, str - )) - return str - end - end, - }) -end - -local function init() - local id = osLanguage() - local language = getLanguage(id) - log.info(('VSC language: %s'):format(id)) - log.info(('LS language: %s'):format(language)) - return setmetatable({ id = language }, { - __index = function (self, name) - local tbl = loadLang(name, language) - self[name] = tbl - return tbl - end, - }) -end - -return init() diff --git a/script/log.lua b/script/log.lua deleted file mode 100644 index 71a903d9..00000000 --- a/script/log.lua +++ /dev/null @@ -1,116 +0,0 @@ -local fs = require 'bee.filesystem' - -local log = {} - -log.file = nil -log.start_time = os.time() - os.clock() -log.size = 0 -log.max_size = 100 * 1024 * 1024 - -local function trim_src(src) - src = src:sub(log.prefix_len + 3, -5) - src = src:gsub('^[/\\]+', '') - src = src:gsub('[\\/]+', '.') - return src -end - -local function init_log_file() - if not log.file then - log.file = io.open(log.path, 'w') - if not log.file then - return - end - log.file:write('') - log.file:close() - log.file = io.open(log.path, 'ab') - if not log.file then - return - end - log.file:setvbuf 'no' - end -end - -local function push_log(level, ...) - if not log.path then - return - end - if log.size > log.max_size then - return - end - local t = table.pack(...) - for i = 1, t.n do - t[i] = tostring(t[i]) - end - local str = table.concat(t, '\t', 1, t.n) - if level == 'error' then - str = str .. '\n' .. debug.traceback(nil, 3) - io.stderr:write(str .. '\n') - end - init_log_file() - if not log.file then - return - end - local sec, ms = math.modf(log.start_time + os.clock()) - local timestr = os.date('%Y-%m-%d %H:%M:%S', sec) - local info = debug.getinfo(3, 'Sl') - local buf - if info and info.currentline > 0 then - buf = ('[%s.%03.f][%s][%s:%s]: %s\n'):format(timestr, ms * 1000, level, trim_src(info.source), info.currentline, str) - else - buf = ('[%s.%03.f][%s]: %s\n'):format(timestr, ms * 1000, level, str) - end - log.file:write(buf) - log.size = log.size + #buf - if log.size > log.max_size then - log.file:write('[REACH MAX SIZE]') - end - return str -end - -function log.info(...) - push_log('info', ...) -end - -function log.debug(...) - push_log('debug', ...) -end - -function log.trace(...) - push_log('trace', ...) -end - -function log.warn(...) - push_log('warn', ...) -end - -function log.error(...) - return push_log('error', ...) -end - -function log.init(root, path) - local lastBuf - if log.file then - log.file:close() - log.file = nil - local file = io.open(log.path, 'rb') - if file then - lastBuf = file:read 'a' - file:close() - end - end - log.path = path:string() - log.prefix_len = #root:string() - log.size = 0 - if not fs.exists(path:parent_path()) then - fs.create_directories(path:parent_path()) - end - if lastBuf then - init_log_file() - if log.file then - log.file:write(lastBuf) - log.size = log.size + #lastBuf - end - end -end - -return log diff --git a/script/meta/type.lua b/script/meta/type.lua deleted file mode 100644 index 9b47d5bc..00000000 --- a/script/meta/type.lua +++ /dev/null @@ -1,4 +0,0 @@ ----@class uri string ----@class path - -"This is syntax error, due to `workspace.library`, this error never shows." diff --git a/script/method/completionItem/resolve.lua b/script/method/completionItem/resolve.lua deleted file mode 100644 index 0e55d311..00000000 --- a/script/method/completionItem/resolve.lua +++ /dev/null @@ -1,34 +0,0 @@ -local config = require 'config' - -return function (lsp, item) - local context = config.config.completion.displayContext - if context <= 0 then - return item - end - if not item.data then - return item - end - local offset = item.data.offset - local uri = item.data.uri - local _, lines, text = lsp:getVM(uri) - if not lines then - return item - end - local row = lines:rowcol(offset) - local firstRow = lines[row] - local lastRow = lines[math.min(row + context - 1, #lines)] - local snip = text:sub(firstRow.start, lastRow.finish) - local document = ([[ -%s - ------------- -```lua -%s -``` -]]):format(item.documentation and item.documentation.value or '', snip) - item.documentation = { - kind = 'markdown', - value = document, - } - return item -end diff --git a/script/method/exit.lua b/script/method/exit.lua deleted file mode 100644 index fa550243..00000000 --- a/script/method/exit.lua +++ /dev/null @@ -1,4 +0,0 @@ -return function () - log.info('Server exited.') - os.exit(true) -end diff --git a/script/method/init.lua b/script/method/init.lua deleted file mode 100644 index 2bdbacc3..00000000 --- a/script/method/init.lua +++ /dev/null @@ -1,35 +0,0 @@ -local method = {} - -local function init(name) - method[name] = require('method.' .. name:gsub('/', '.')) -end - -init 'exit' -init 'initialize' -init 'initialized' -init 'shutdown' -init 'completionItem/resolve' -init 'textDocument/codeAction' -init 'textDocument/completion' -init 'textDocument/definition' -init 'textDocument/didOpen' -init 'textDocument/didChange' -init 'textDocument/didClose' -init 'textDocument/documentHighlight' -init 'textDocument/documentSymbol' -init 'textDocument/foldingRange' -init 'textDocument/hover' -init 'textDocument/implementation' -init 'textDocument/onTypeFormatting' -init 'textDocument/publishDiagnostics' -init 'textDocument/rename' -init 'textDocument/references' -init 'textDocument/semanticTokens/full' -init 'textDocument/signatureHelp' -init 'workspace/didChangeConfiguration' -init 'workspace/didChangeWatchedFiles' -init 'workspace/didChangeWorkspaceFolders' -init 'workspace/executeCommand' -init 'workspace/symbol' - -return method diff --git a/script/method/initialize.lua b/script/method/initialize.lua deleted file mode 100644 index dfa066b3..00000000 --- a/script/method/initialize.lua +++ /dev/null @@ -1,76 +0,0 @@ -local workspace = require 'workspace' -local nonil = require 'without-check-nil' -local client = require 'client' -local json = require 'json' -local sp = require 'bee.subprocess' - -local function allWords() - local str = [[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.:('"[,#*@| ]] - local list = {} - for c in str:gmatch '.' do - list[#list+1] = c - end - return list -end - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - lsp._inited = true - lsp.client = params - client.init(params) - log.info(table.dump(params)) - log.debug('ProcessID', sp.get_id()) - - if params.rootUri and params.rootUri ~= json.null then - lsp:addWorkspace('root', params.rootUri) - end - - local server = { - serverInfo = { - name = 'sumneko.lua', - version = 'alpha', - }, - capabilities = { - hoverProvider = true, - definitionProvider = true, - referencesProvider = true, - renameProvider = true, - documentSymbolProvider = true, - documentHighlightProvider = true, - codeActionProvider = true, - foldingRangeProvider = true, - workspaceSymbolProvider = true, - signatureHelpProvider = { - triggerCharacters = { '(', ',' }, - }, - -- 文本同步方式 - textDocumentSync = { - -- 打开关闭文本时通知 - openClose = true, - -- 文本改变时完全通知 TODO 支持差量更新(2) - change = 1, - }, - documentOnTypeFormattingProvider = { - firstTriggerCharacter = '}', - }, - executeCommandProvider = { - commands = { - 'lua.removeSpace:' .. sp.get_id(), - 'lua.solve:' .. sp.get_id(), - }, - }, - } - } - - nonil.enable() - if not params.capabilities.textDocument.completion.dynamicRegistration then - server.capabilities.completionProvider = { - triggerCharacters = allWords(), - } - end - nonil.disable() - - return server -end diff --git a/script/method/initialized.lua b/script/method/initialized.lua deleted file mode 100644 index a3cf44c7..00000000 --- a/script/method/initialized.lua +++ /dev/null @@ -1,81 +0,0 @@ -local rpc = require 'rpc' - ---- @param lsp LSP ---- @return boolean -return function (lsp) - if #lsp.workspaces > 0 then - for _, ws in ipairs(lsp.workspaces) do - -- 请求工作目录 - local uri = ws.uri - -- 请求配置 - rpc:request('workspace/configuration', { - items = { - { - scopeUri = uri, - section = 'Lua', - }, - { - scopeUri = uri, - section = 'files.associations', - }, - { - scopeUri = uri, - section = 'files.exclude', - } - }, - }, function (configs) - lsp:onUpdateConfig(configs[1], { - associations = configs[2], - exclude = configs[3], - }) - end) - end - else - -- 请求配置 - rpc:request('workspace/configuration', { - items = { - { - section = 'Lua', - }, - { - section = 'files.associations', - }, - { - section = 'files.exclude', - } - }, - }, function (configs) - lsp:onUpdateConfig(configs[1], { - associations = configs[2], - exclude = configs[3], - }) - end) - end - - rpc:request('client/registerCapability', { - registrations = { - -- 监视文件变化 - { - id = '0', - method = 'workspace/didChangeWatchedFiles', - registerOptions = { - watchers = { - { - globPattern = '**/', - kind = 1 | 2 | 4, - } - }, - }, - }, - -- 配置变化 - { - id = '1', - method = 'workspace/didChangeConfiguration', - } - } - }, function () - log.debug('client/registerCapability Success!') - end) - - return true -end diff --git a/script/method/shutdown.lua b/script/method/shutdown.lua deleted file mode 100644 index bb81306e..00000000 --- a/script/method/shutdown.lua +++ /dev/null @@ -1,4 +0,0 @@ -return function () - log.info('Server shutdown.') - return true -end diff --git a/script/method/textDocument/codeAction.lua b/script/method/textDocument/codeAction.lua deleted file mode 100644 index 80a40a0c..00000000 --- a/script/method/textDocument/codeAction.lua +++ /dev/null @@ -1,26 +0,0 @@ -local core = require 'core' - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - local uri = params.textDocument.uri - local vm, lines = lsp:getVM(uri) - if not vm then - return - end - local diagnostics = params.context.diagnostics - local range = params.range - - local results = core.codeAction(lsp - , uri - , diagnostics - , range - ) - - if #results == 0 then - return nil - end - - return results -end diff --git a/script/method/textDocument/completion.lua b/script/method/textDocument/completion.lua deleted file mode 100644 index 0042c2c3..00000000 --- a/script/method/textDocument/completion.lua +++ /dev/null @@ -1,133 +0,0 @@ -local core = require 'core' -local parser = require 'parser' - -local function posToRange(lines, start, finish) - local start_row, start_col = lines:rowcol(start) - local finish_row, finish_col = lines:rowcol(finish) - return { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - character = finish_col, - }, - } -end - -local function fastCompletion(lsp, params, lines) - local uri = params.textDocument.uri - local text, oldText = lsp:getText(uri) - -- lua是从1开始的,因此都要+1 - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - - local vm = lsp:getVM(uri) - if not vm then - vm = lsp:loadVM(uri) - if not vm then - return nil - end - end - - local items = core.completion(vm, text, position, oldText) - if not items or #items == 0 then - vm = lsp:loadVM(uri) - if not vm then - return nil - end - items = core.completion(vm, text, position) - if not items or #items == 0 then - return nil - end - end - - return items, position -end - -local function finishCompletion(lsp, params, lines) - local uri = params.textDocument.uri - local text = lsp:getText(uri) - -- lua是从1开始的,因此都要+1 - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - - local vm = lsp:loadVM(uri) - if not vm then - return nil - end - - local items = core.completion(vm, text, position) - if not items or #items == 0 then - return nil - end - - return items -end - -local function cuterFactory(lines, text, position) - local start = position - local head = '' - for i = position, position - 100, -1 do - if not text:sub(i, i):match '[%w_]' then - start = i + 1 - head = text:sub(start, position) - break - end - end - return function (insertText) - return { - newText = insertText, - range = posToRange(lines, start, position) - } - end -end - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - local uri = params.textDocument.uri - local text, oldText = lsp:getText(uri) - if not text then - return nil - end - - local lines = parser:lines(text, 'utf8') - local items, position = fastCompletion(lsp, params, lines) - --local items = finishCompletion(lsp, params, lines) - if not items then - return nil - end - - -- TODO 在协议阶段将 `insertText` 转化为 `textEdit` , - -- 以避免不同客户端对 `insertText` 实现的不一致。 - -- 重构后直接在 core 中使用 `textEdit` 。 - local cuter = cuterFactory(lines, text, position) - - for i, item in ipairs(items) do - item.sortText = ('%04d'):format(i) - item.insertTextFormat = 2 - - if item.textEdit then - item.textEdit.range = posToRange(lines, item.textEdit.start, item.textEdit.finish) - item.textEdit.start = nil - item.textEdit.finish = nil - else - item.textEdit = cuter(item.insertText or item.label) - end - if item.additionalTextEdits then - for _, textEdit in ipairs(item.additionalTextEdits) do - textEdit.range = posToRange(lines, textEdit.start, textEdit.finish) - textEdit.start = nil - textEdit.finish = nil - end - end - end - - local response = { - isIncomplete = false, - items = items, - } - - return response -end diff --git a/script/method/textDocument/definition.lua b/script/method/textDocument/definition.lua deleted file mode 100644 index dbf9e41c..00000000 --- a/script/method/textDocument/definition.lua +++ /dev/null @@ -1,88 +0,0 @@ -local core = require 'core' - -local function findResult(lsp, uri, position) - local vm = lsp:getVM(uri) - - local positions, isGlobal = core.definition(vm, position, 'definition') - if not positions then - return nil, isGlobal - end - - local locations = {} - for i, position in ipairs(positions) do - local start, finish, valueUri = position[1], position[2], (position[3] or uri) - local vm, valueLines = lsp:getVM(valueUri) - if valueLines then - local start_row, start_col = valueLines:rowcol(start) - local finish_row, finish_col = valueLines:rowcol(finish) - locations[#locations+1] = { - uri = valueUri, - range = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - } - } - elseif vm then - locations[#locations+1] = { - uri = valueUri, - range = { - start = { - line = 0, - character = 0, - }, - ['end'] = { - line = 0, - character = 0, - }, - } - } - end - end - - if #locations == 0 then - return nil, isGlobal - end - - return locations, isGlobal -end - -local LastTask - ----@param lsp LSP ----@param params table -return function (lsp, params) - local uri = params.textDocument.uri - local vm, lines = lsp:loadVM(uri) - if not vm then - return nil - end - - if LastTask then - LastTask:remove() - LastTask = nil - end - - -- lua是从1开始的,因此都要+1 - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - - return function (response) - local clock = os.clock() - LastTask = ac.loop(0.1, function () - local result, isGlobal = findResult(lsp, uri, position) - if isGlobal and lsp:isWaitingCompile() and os.clock() - clock < 1 then - return - end - response(result) - LastTask:remove() - LastTask = nil - end) - LastTask:onTimer() - end -end diff --git a/script/method/textDocument/didChange.lua b/script/method/textDocument/didChange.lua deleted file mode 100644 index fd8af6ba..00000000 --- a/script/method/textDocument/didChange.lua +++ /dev/null @@ -1,22 +0,0 @@ -local fn = require 'filename' - ---- @param lsp LSP ---- @param params table ---- @return boolean -return function (lsp, params) - local doc = params.textDocument - local change = params.contentChanges - local ws = lsp:findWorkspaceFor(doc.uri) - if ws then - local path = ws:relativePathByUri(doc.uri) - if not path or not fn.isLuaFile(path) then - return - end - if not lsp:isOpen(doc.uri) and ws.gitignore(path:string()) then - return - end - end - -- TODO 支持差量更新 - lsp:saveText(doc.uri, doc.version, change[1].text) - return true -end diff --git a/script/method/textDocument/didClose.lua b/script/method/textDocument/didClose.lua deleted file mode 100644 index 3cfd98e8..00000000 --- a/script/method/textDocument/didClose.lua +++ /dev/null @@ -1,8 +0,0 @@ ---- @param lsp LSP ---- @param params table ---- @return boolean -return function (lsp, params) - local doc = params.textDocument - lsp:close(doc.uri) - return true -end diff --git a/script/method/textDocument/didOpen.lua b/script/method/textDocument/didOpen.lua deleted file mode 100644 index 732ddacf..00000000 --- a/script/method/textDocument/didOpen.lua +++ /dev/null @@ -1,13 +0,0 @@ -local furi = require 'uri' - ---- @param lsp LSP ---- @param params table ---- @return boolean -return function (lsp, params) - local doc = params.textDocument - if #lsp.workspaces == 0 then - lsp:addWorkspace('root', furi.encode(furi.decode(doc.uri):parent_path())) - end - lsp:open(doc.uri, doc.version, doc.text) - return true -end diff --git a/script/method/textDocument/documentHighlight.lua b/script/method/textDocument/documentHighlight.lua deleted file mode 100644 index 2a6768f2..00000000 --- a/script/method/textDocument/documentHighlight.lua +++ /dev/null @@ -1,40 +0,0 @@ -local core = require 'core' - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - local uri = params.textDocument.uri - local vm, lines = lsp:loadVM(uri) - if not vm then - return nil - end - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - local positions = core.highlight(vm, position) - if not positions then - return nil - end - - local result = {} - for i, position in ipairs(positions) do - local start, finish = position[1], position[2] - local start_row, start_col = lines:rowcol(start) - local finish_row, finish_col = lines:rowcol(finish) - result[i] = { - range = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - }, - kind = position[3], - } - end - - return result -end diff --git a/script/method/textDocument/documentSymbol.lua b/script/method/textDocument/documentSymbol.lua deleted file mode 100644 index a84afb7a..00000000 --- a/script/method/textDocument/documentSymbol.lua +++ /dev/null @@ -1,75 +0,0 @@ -local core = require 'core' -local lang = require 'language' - -local timerCache = {} - -local function posToRange(lines, start, finish) - local start_row, start_col = lines:rowcol(start) - local finish_row, finish_col = lines:rowcol(finish) - return { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - character = finish_col, - }, - } -end - -local function convertRange(lines, symbol) - symbol.range = posToRange(lines, symbol.range[1], symbol.range[2]) - symbol.selectionRange = posToRange(lines, symbol.selectionRange[1], symbol.selectionRange[2]) - if symbol.name == '' then - symbol.name = lang.script.SYMBOL_ANONYMOUS - end - - if symbol.children then - for _, child in ipairs(symbol.children) do - convertRange(lines, child) - end - end -end - ---- @param lsp LSP ---- @param params table ---- @return function -return function (lsp, params) - local uri = params.textDocument.uri - - if timerCache[uri] then - timerCache[uri]:remove() - timerCache[uri] = nil - end - - return function (response) - local clock = os.clock() - timerCache[uri] = ac.loop(0.1, function (t) - local vm, lines = lsp:getVM(uri) - if not vm then - if os.clock() - clock > 10 then - t:remove() - timerCache[uri] = nil - response(nil) - end - return - end - - t:remove() - timerCache[uri] = nil - - local symbols = core.documentSymbol(vm) - if not symbols then - response(nil) - return - end - - for _, symbol in ipairs(symbols) do - convertRange(lines, symbol) - end - - response(symbols) - end) - end -end diff --git a/script/method/textDocument/foldingRange.lua b/script/method/textDocument/foldingRange.lua deleted file mode 100644 index 6395c908..00000000 --- a/script/method/textDocument/foldingRange.lua +++ /dev/null @@ -1,60 +0,0 @@ -local core = require 'core' - -local timerCache = {} - -local function convertRange(lines, range) - local start_row, start_col = lines:rowcol(range.start) - local finish_row, finish_col = lines:rowcol(range.finish) - local result = { - startLine = start_row - 1, - endLine = finish_row - 2, - kind = range.kind, - } - if result.startLine >= result.endLine then - return nil - end - return result -end - ---- @param lsp LSP ---- @param params table ---- @return function -return function (lsp, params) - local uri = params.textDocument.uri - if timerCache[uri] then - timerCache[uri]:remove() - timerCache[uri] = nil - end - - return function (response) - local clock = os.clock() - timerCache[uri] = ac.loop(0.1, function (t) - local vm, lines = lsp:getVM(uri) - if not vm then - if os.clock() - clock > 10 then - t:remove() - timerCache[uri] = nil - response(nil) - end - return - end - - t:remove() - timerCache[uri] = nil - - local comments = lsp:getComments(uri) - local ranges = core.foldingRange(vm, comments) - if not ranges then - response(nil) - return - end - - local results = {} - for _, range in ipairs(ranges) do - results[#results+1] = convertRange(lines, range) - end - - response(results) - end) - end -end diff --git a/script/method/textDocument/hover.lua b/script/method/textDocument/hover.lua deleted file mode 100644 index a456bb0a..00000000 --- a/script/method/textDocument/hover.lua +++ /dev/null @@ -1,69 +0,0 @@ -local core = require 'core' -local config = require 'config' - -local function convertRange(lines, range) - local start_row, start_col = lines:rowcol(range.start) - local finish_row, finish_col = lines:rowcol(range.finish) - local result = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - } - return result -end - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - if not config.config.hover.enable then - return nil - end - local uri = params.textDocument.uri - local vm, lines = lsp:loadVM(uri) - if not vm then - return nil - end - -- lua是从1开始的,因此都要+1 - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - - local source = core.findSource(vm, position) - if not source then - return nil - end - - local hover = core.hover(source, lsp) - if not hover then - return nil - end - - local text = ([[ -```lua -%s -``` -```lua -%s -``` -%s -```lua -%s -``` -%s -]]):format(hover.label or '', hover.overloads or '', hover.description or '', hover.enum or '', hover.doc or '') - - local response = { - contents = { - value = text:gsub("```lua\n\n```", ""), - kind = 'markdown', - }, - range = hover.range and convertRange(lines, hover.range), - } - - return response -end diff --git a/script/method/textDocument/implementation.lua b/script/method/textDocument/implementation.lua deleted file mode 100644 index 94991fd4..00000000 --- a/script/method/textDocument/implementation.lua +++ /dev/null @@ -1,111 +0,0 @@ -local core = require 'core' - -local function checkWorkSpaceComplete(lsp, source) - if not source:bindValue() then - return - end - if not source:bindValue():get 'cross file' then - return - end - lsp:checkWorkSpaceComplete() -end - -local function findResult(lsp, params) - local uri = params.textDocument.uri - local vm, lines = lsp:loadVM(uri) - if not vm then - return nil - end - -- lua是从1开始的,因此都要+1 - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - local source = core.findSource(vm, position) - if not source then - return nil - end - - checkWorkSpaceComplete(lsp, source) - - local positions = core.implementation(vm, source, lsp) - if not positions then - return nil - end - - local locations = {} - for i, position in ipairs(positions) do - local start, finish, valueUri = position[1], position[2], (position[3] or uri) - local _, valueLines = lsp:loadVM(valueUri) - if valueLines then - local start_row, start_col = valueLines:rowcol(start) - local finish_row, finish_col = valueLines:rowcol(finish) - locations[#locations+1] = { - uri = valueUri, - range = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - } - } - else - locations[#locations+1] = { - uri = valueUri, - range = { - start = { - line = 0, - character = 0, - }, - ['end'] = { - line = 0, - character = 0, - }, - } - } - end - end - - if #locations == 0 then - return nil - end - - return locations -end - -local LastTask - ---- @param lsp LSP ---- @param params table ---- @return function -return function (lsp, params) - if LastTask then - LastTask:remove() - LastTask = nil - end - local result = findResult(lsp, params) - if result then - return result - end - return function (response) - local count = 0 - LastTask = ac.loop(0.1, function () - local result = findResult(lsp, params) - if result then - LastTask:remove() - LastTask = nil - response(result) - return - end - count = count + 1 - if lsp:isWaitingCompile() and count < 10 then - return - end - LastTask:remove() - LastTask = nil - response(nil) - end) - end -end diff --git a/script/method/textDocument/onTypeFormatting.lua b/script/method/textDocument/onTypeFormatting.lua deleted file mode 100644 index 8485ab49..00000000 --- a/script/method/textDocument/onTypeFormatting.lua +++ /dev/null @@ -1,17 +0,0 @@ ---- @param lsp LSP ---- @param params table ---- @return any -return function (lsp, params) - local uri = params.textDocument.uri - local vm, lines = lsp:loadVM(uri) - --log.debug(table.dump(params)) - if not vm then - return nil - end - local position = lines:position(params.position.line + 1, params.position.character) - local ch = params.ch - local options = params.options - local tabSize = options.tabSize - local insertSpaces = options.insertSpaces - return nil -end diff --git a/script/method/textDocument/publishDiagnostics.lua b/script/method/textDocument/publishDiagnostics.lua deleted file mode 100644 index 0a2900fa..00000000 --- a/script/method/textDocument/publishDiagnostics.lua +++ /dev/null @@ -1,166 +0,0 @@ -local core = require 'core' -local lang = require 'language' -local config = require 'config' - -local DiagnosticSeverity = { - Error = 1, - Warning = 2, - Information = 3, - Hint = 4, -} - ---[[ -/** - * Represents a related message and source code location for a diagnostic. This should be - * used to point to code locations that cause or related to a diagnostics, e.g when duplicating - * a symbol in a scope. - */ -export interface DiagnosticRelatedInformation { - /** - * The location of this related diagnostic information. - */ - location: Location; - - /** - * The message of this related diagnostic information. - */ - message: string; -} -]]-- - -local function getRange(start, finish, lines) - local start_row, start_col = lines:rowcol(start) - local finish_row, finish_col = lines:rowcol(finish) - return { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - } -end - -local function createInfo(lsp, data, lines) - local diagnostic = { - source = lang.script.DIAG_DIAGNOSTICS, - range = getRange(data.start, data.finish, lines), - severity = data.level, - message = data.message, - code = data.code, - tags = data.tags, - } - if data.related then - local related = {} - for _, info in ipairs(data.related) do - local _, lines = lsp:getVM(info.uri) - if lines then - local message = info.message - if not message then - local start_line = lines:rowcol(info.start) - local finish_line = lines:rowcol(info.finish) - local chars = {} - for n = start_line, finish_line do - chars[#chars+1] = lines:line(n) - end - message = table.concat(chars, '\n') - end - related[#related+1] = { - message = message, - location = { - uri = info.uri, - range = getRange(info.start, info.finish, lines), - } - } - end - end - diagnostic.relatedInformation = related - end - return diagnostic -end - -local function buildError(err, lines, uri) - local diagnostic = { - source = lang.script.DIAG_SYNTAX_CHECK, - message = lang.script('PARSER_'..err.type, err.info) - } - if err.version then - local currentVersion = err.info and err.info.version or config.config.runtime.version - if type(err.version) == 'table' then - diagnostic.message = ('%s(%s)'):format(diagnostic.message, lang.script('DIAG_NEED_VERSION', table.concat(err.version, '/'), currentVersion)) - else - diagnostic.message = ('%s(%s)'):format(diagnostic.message, lang.script('DIAG_NEED_VERSION', err.version, currentVersion)) - end - end - if err.level == 'error' then - diagnostic.severity = DiagnosticSeverity.Error - else - diagnostic.severity = DiagnosticSeverity.Warning - end - local startrow, startcol = lines:rowcol(err.start) - local endrow, endcol = lines:rowcol(err.finish) - if err.type == 'UNKNOWN' then - local _, max = lines:range(endrow) - endcol = max - end - local range = { - start = { - line = startrow - 1, - character = startcol - 1, - }, - ['end'] = { - line = endrow - 1, - character = endcol, - }, - } - diagnostic.range = range - - local related = err.info and err.info.related - if related then - local start_line = lines:rowcol(related[1]) - local finish_line = lines:rowcol(related[2]) - local chars = {} - for n = start_line, finish_line do - chars[#chars+1] = lines:line(n) - end - local message = table.concat(chars, '\n') - diagnostic.relatedInformation = { - { - message = message, - location = { - uri = uri, - range = getRange(related[1], related[2], lines), - } - } - } - end - return diagnostic -end - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - local vm = params.vm - local lines = params.lines - local uri = params.uri - local errs = lsp:getAstErrors(uri) - - local diagnostics = {} - if vm then - local datas = core.diagnostics(vm, lines, uri) - for _, data in ipairs(datas) do - diagnostics[#diagnostics+1] = createInfo(lsp, data, lines) - end - end - if errs then - for _, err in ipairs(errs) do - diagnostics[#diagnostics+1] = buildError(err, lines, uri) - end - end - - return diagnostics -end diff --git a/script/method/textDocument/references.lua b/script/method/textDocument/references.lua deleted file mode 100644 index 6421145e..00000000 --- a/script/method/textDocument/references.lua +++ /dev/null @@ -1,89 +0,0 @@ -local core = require 'core' -local LastTask - -local function findReferences(lsp, uri, position) - local vm = lsp:getVM(uri) - - local positions, isGlobal = core.definition(vm, position, 'reference') - if not positions then - return nil, isGlobal - end - - local locations = {} - for i, position in ipairs(positions) do - local start, finish, valueUri = position[1], position[2], (position[3] or uri) - local vm, valueLines = lsp:getVM(valueUri) - if valueLines then - local start_row, start_col = valueLines:rowcol(start) - local finish_row, finish_col = valueLines:rowcol(finish) - locations[#locations+1] = { - uri = valueUri, - range = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - } - } - elseif vm then - locations[#locations+1] = { - uri = valueUri, - range = { - start = { - line = 0, - character = 0, - }, - ['end'] = { - line = 0, - character = 0, - }, - } - } - end - end - - if #locations == 0 then - return nil, isGlobal - end - - return locations, isGlobal -end - ---- @param lsp LSP ---- @param params table ---- @return function -return function (lsp, params) - local uri = params.textDocument.uri - local declarat = params.context.includeDeclaration - local vm, lines = lsp:loadVM(uri) - if not vm then - return nil - end - - if LastTask then - LastTask:remove() - LastTask = nil - end - - -- lua是从1开始的,因此都要+1 - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - - return function (response) - local clock = os.clock() - LastTask = ac.loop(0.1, function () - local positions, isGlobal = findReferences(lsp, uri, position) - if isGlobal and lsp:isWaitingCompile() and os.clock() - clock < 5 then - return - end - response(positions) - LastTask:remove() - LastTask = nil - end) - LastTask:onTimer() - end -end diff --git a/script/method/textDocument/rename.lua b/script/method/textDocument/rename.lua deleted file mode 100644 index b637141d..00000000 --- a/script/method/textDocument/rename.lua +++ /dev/null @@ -1,53 +0,0 @@ -local core = require 'core' - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - local uri = params.textDocument.uri - local newName = params.newName - local vm, lines = lsp:loadVM(uri) - if not vm then - return {} - end - local position = lines:positionAsChar(params.position.line + 1, params.position.character) - local positions = core.rename(vm, position, newName) - if not positions then - return {} - end - - local changes = {} - for _, position in ipairs(positions) do - local start, finish, uri = position[1], position[2], position[3] - local _, lines = lsp:getVM(uri) - if not lines then - goto CONTINUE - end - local start_row, start_col = lines:rowcol(start) - local finish_row, finish_col = lines:rowcol(finish) - if not changes[uri] then - changes[uri] = {} - end - changes[uri][#changes[uri]+1] = { - newText = newName, - range = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - } - } - ::CONTINUE:: - end - - local response = { - changes = changes, - } - - return response -end diff --git a/script/method/textDocument/semanticTokens/full.lua b/script/method/textDocument/semanticTokens/full.lua deleted file mode 100644 index bc6d2bcb..00000000 --- a/script/method/textDocument/semanticTokens/full.lua +++ /dev/null @@ -1,206 +0,0 @@ -local TokenTypes = require 'constant.TokenTypes' -local TokenModifiers = require 'constant.TokenModifiers' -local findLib = require 'core.find_lib' - -local timerCache = {} -local constLib = { - ['_G'] = true, - ['_VERSION'] = true, - ['math.pi'] = true, - ['math.huge'] = true, - ['math.maxinteger'] = true, - ['math.mininteger'] = true, - ['utf8.charpattern'] = true, - ['io.stdin'] = true, - ['io.stdout'] = true, - ['io.stderr'] = true, - ['package.config'] = true, - ['package.cpath'] = true, - ['package.loaded'] = true, - ['package.loaders'] = true, - ['package.path'] = true, - ['package.preload'] = true, - ['package.searchers'] = true -} - -local Care = { - ['name'] = function (source, sources) - if source[1] == '' then - return - end - if source:get 'global' then - if findLib(source) then - if source[1] == '_G' then - return - end - sources[#sources+1] = { - start = source.start, - finish = source.finish, - type = TokenTypes.namespace, - modifieres = TokenModifiers.static, - } - return - end - sources[#sources+1] = { - start = source.start, - finish = source.finish, - type = TokenTypes.namespace, - modifieres = TokenModifiers.deprecated, - } - elseif source:get 'table index' then - sources[#sources+1] = { - start = source.start, - finish = source.finish, - type = TokenTypes.property, - modifieres = TokenModifiers.declaration, - } - elseif source:bindLocal() then - if source:get 'arg' then - sources[#sources+1] = { - start = source.start, - finish = source.finish, - type = TokenTypes.parameter, - modifieres = TokenModifiers.declaration, - } - end - if source[1] == '_ENV' - or source[1] == 'self' then - return - end - local value = source:bindValue() - local func = value:getFunction() - if func and func:getSource().name == source then - sources[#sources+1] = { - start = source.start, - finish = source.finish, - type = TokenTypes.interface, - modifieres = TokenModifiers.declaration, - } - return - end - sources[#sources+1] = { - start = source.start, - finish = source.finish, - type = TokenTypes.variable, - } - end - end, -} - -local function buildTokens(sources, lines) - local tokens = {} - local lastLine = 0 - local lastStartChar = 0 - for i, source in ipairs(sources) do - local row, col = lines:rowcol(source.start) - local line = row - 1 - local startChar = col - 1 - local deltaLine = line - lastLine - local deltaStartChar - if deltaLine == 0 then - deltaStartChar = startChar - lastStartChar - else - deltaStartChar = startChar - end - lastLine = line - lastStartChar = startChar - local len = i * 5 - 5 - tokens[len + 1] = deltaLine - tokens[len + 2] = deltaStartChar - tokens[len + 3] = source.finish - source.start + 1 -- length - tokens[len + 4] = source.type - tokens[len + 5] = source.modifieres or 0 - end - return tokens -end - -local function resolveTokens(vm, lines) - local sources = {} - for _, source in ipairs(vm.sources) do - if Care[source.type] then - Care[source.type](source, sources) - end - end - - -- 先进行排序 - table.sort(sources, function (a, b) - return a.start < b.start - end) - - local tokens = buildTokens(sources, lines) - - return tokens -end - -local function toArray(map) - local array = {} - for k in pairs(map) do - array[#array+1] = k - end - table.sort(array, function (a, b) - return map[a] < map[b] - end) - return array -end - -local function testTokens(vm, lines) - local text = vm.text - local sources = {} - local init = 1 - while true do - local start, finish = text:find('[%w_%.]+', init) - if not start then - break - end - init = finish + 1 - local token = text:sub(start, finish) - local type = token:match '[%w_]+' - local mod = token:match '%.([%w_]+)' - sources[#sources+1] = { - start = start, - finish = finish, - type = TokenTypes[type], - modifieres = TokenModifiers[mod] or 0, - } - end - local tokens = buildTokens(sources, lines) - log.debug(table.dump(sources)) - log.debug(table.dump(tokens)) - return tokens -end - ---- @param lsp LSP ---- @param params table ---- @return function -return function (lsp, params) - local uri = params.textDocument.uri - - if timerCache[uri] then - timerCache[uri]:remove() - timerCache[uri] = nil - end - - return function (response) - local clock = os.clock() - timerCache[uri] = ac.loop(0.1, function (t) - local vm, lines = lsp:getVM(uri) - if not vm then - if os.clock() - clock > 10 then - t:remove() - timerCache[uri] = nil - response(nil) - end - return - end - - t:remove() - timerCache[uri] = nil - - local tokens = resolveTokens(vm, lines) - --local tokens = testTokens(vm, lines) - response { - data = tokens, - } - end) - end -end diff --git a/script/method/textDocument/signatureHelp.lua b/script/method/textDocument/signatureHelp.lua deleted file mode 100644 index 69cf6c8f..00000000 --- a/script/method/textDocument/signatureHelp.lua +++ /dev/null @@ -1,58 +0,0 @@ -local core = require 'core' -local config = require 'config' - ---- @param lsp LSP ---- @param params table ---- @return table -return function (lsp, params) - if not config.config.signatureHelp.enable then - return - end - local uri = params.textDocument.uri - local vm, lines = lsp:loadVM(uri) - if not vm then - return - end - local position = lines:position(params.position.line + 1, params.position.character + 1) - local hovers = core.signature(vm, position) - if not hovers then - return - end - - local hover = hovers[1] - local desc = {} - desc[#desc+1] = hover.description - desc[#desc+1] = hover.doc - local active - local signatures = {} - for i, hover in ipairs(hovers) do - local signature = { - label = hover.label, - documentation = { - kind = 'markdown', - value = table.concat(desc, '\n\n'), - }, - } - if hover.argLabel then - if not active then - active = i - end - signature.parameters = { - { - label = { - hover.argLabel[1] - 1, - hover.argLabel[2], - } - } - } - end - signatures[i] = signature - end - - local response = { - signatures = signatures, - activeSignature = active and active - 1 or 0, - } - - return response -end diff --git a/script/method/workspace/didChangeConfiguration.lua b/script/method/workspace/didChangeConfiguration.lua deleted file mode 100644 index eca61ebc..00000000 --- a/script/method/workspace/didChangeConfiguration.lua +++ /dev/null @@ -1,30 +0,0 @@ -local rpc = require 'rpc' - ---- @param lsp LSP -return function (lsp) - for _, ws in ipairs(lsp.workspaces) do - local uri = ws.uri - -- 请求配置 - rpc:request('workspace/configuration', { - items = { - { - scopeUri = uri, - section = 'Lua', - }, - { - scopeUri = uri, - section = 'files.associations', - }, - { - scopeUri = uri, - section = 'files.exclude', - } - }, - }, function (configs) - lsp:onUpdateConfig(configs[1], { - associations = configs[2], - exclude = configs[3], - }) - end) - end -end diff --git a/script/method/workspace/didChangeWatchedFiles.lua b/script/method/workspace/didChangeWatchedFiles.lua deleted file mode 100644 index 37466a50..00000000 --- a/script/method/workspace/didChangeWatchedFiles.lua +++ /dev/null @@ -1,52 +0,0 @@ -local fs = require 'bee.filesystem' -local uric = require 'uri' -local fn = require 'filename' - -local FileChangeType = { - Created = 1, - Changed = 2, - Deleted = 3, -} - ---- @param lsp LSP ---- @param params table -return function (lsp, params) - local needReset = {} - local needRescan - for _, change in ipairs(params.changes) do - local ws = lsp:findWorkspaceFor(change.uri) - if not ws then - goto CONTINUE - end - local path = uric.decode(change.uri) - if not path then - goto CONTINUE - end - if change.type == FileChangeType.Created then - ws:addFile(path) - if lsp:getVM(change.uri) then - needReset[ws] = true - end - elseif change.type == FileChangeType.Deleted then - ws:removeFile(path) - if lsp:getVM(change.uri) then - needReset[ws] = true - end - end - -- 排除类文件发生更改需要重新扫描 - local filename = path:filename():string() - if fn.fileNameEq(filename, '.gitignore') - or fn.fileNameEq(filename, '.gitmodules') - then - needRescan = true - end - ::CONTINUE:: - end - if needRescan then - lsp:reScanFiles() - end - -- 缓存过的文件发生变化后,重新计算 - for ws, _ in pairs(needReset) do - ws:reset() - end -end diff --git a/script/method/workspace/didChangeWorkspaceFolders.lua b/script/method/workspace/didChangeWorkspaceFolders.lua deleted file mode 100644 index 25c06f4b..00000000 --- a/script/method/workspace/didChangeWorkspaceFolders.lua +++ /dev/null @@ -1,43 +0,0 @@ -local rpc = require 'rpc' - ---- @param lsp LSP ---- @param params table -return function (lsp, params) - local event = params.event - - for _, removed in ipairs(event.removed) do - lsp:removeWorkspace(removed.name, removed.uri) - end - - for _, added in ipairs(event.added) do - lsp:addWorkspace(added.name, added.uri) - end - - local ws = lsp.workspaces[1] - if ws then - -- 请求工作目录 - local uri = ws.uri - -- 请求配置 - rpc:request('workspace/configuration', { - items = { - { - scopeUri = uri, - section = 'Lua', - }, - { - scopeUri = uri, - section = 'files.associations', - }, - { - scopeUri = uri, - section = 'files.exclude', - } - }, - }, function (configs) - lsp:onUpdateConfig(configs[1], { - associations = configs[2], - exclude = configs[3], - }) - end) - end -end diff --git a/script/method/workspace/executeCommand.lua b/script/method/workspace/executeCommand.lua deleted file mode 100644 index 2ad449e9..00000000 --- a/script/method/workspace/executeCommand.lua +++ /dev/null @@ -1,182 +0,0 @@ -local rpc = require 'rpc' -local lang = require 'language' - -local command = {} - -local function isContainPos(obj, start, finish) - if obj.start <= start and obj.finish >= finish then - return true - end - return false -end - -local function isInString(vm, start, finish) - return vm:eachSource(function (source) - if source.type == 'string' and isContainPos(source, start, finish) then - return true - end - end) -end - -local function posToRange(lines, start, finish) - local start_row, start_col = lines:rowcol(start) - local finish_row, finish_col = lines:rowcol(finish) - return { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - character = finish_col, - }, - } -end - ---- @param lsp LSP ---- @param data table -command['lua.removeSpace'] = function (lsp, data) - local uri = data.uri - local vm, lines = lsp:getVM(uri) - if not vm then - return - end - - local textEdit = {} - for i = 1, #lines do - local line = lines:line(i) - local pos = line:find '[ \t]+$' - if pos then - local start, finish = lines:range(i) - start = start + pos - 1 - if isInString(vm, start, finish) then - goto NEXT_LINE - end - textEdit[#textEdit+1] = { - range = posToRange(lines, start, finish), - newText = '', - } - goto NEXT_LINE - end - - ::NEXT_LINE:: - end - - if #textEdit == 0 then - return - end - - rpc:request('workspace/applyEdit', { - label = lang.script.COMMAND_REMOVE_SPACE, - edit = { - changes = { - [uri] = textEdit, - } - }, - }) -end - -local opMap = { - ['+'] = true, - ['-'] = true, - ['*'] = true, - ['/'] = true, - ['//'] = true, - ['^'] = true, - ['<<'] = true, - ['>>'] = true, - ['&'] = true, - ['|'] = true, - ['~'] = true, - ['..'] = true, -} - -local literalMap = { - ['number'] = true, - ['boolean'] = true, - ['string'] = true, - ['table'] = true, -} - ---- @param lsp LSP ---- @param data table -command['lua.solve'] = function (lsp, data) - local uri = data.uri - local vm, lines = lsp:getVM(uri) - if not vm then - return - end - - local start = lines:position(data.range.start.line + 1, data.range.start.character + 1) - local finish = lines:position(data.range['end'].line + 1, data.range['end'].character) - - local result = vm:eachSource(function (source) - if not isContainPos(source, start, finish) then - return - end - if source.op ~= 'or' then - return - end - local first = source[1] - local second = source[2] - -- (a + b) or 0 --> a + (b or 0) - do - if opMap[first.op] - and first.type ~= 'unary' - and not second.op - and literalMap[second.type] - then - return { - start = source[1][2].start, - finish = source[2].finish, - } - end - end - -- a or (b + c) --> (a or b) + c - do - if opMap[second.op] - and second.type ~= 'unary' - and not first.op - and literalMap[second[1].type] - then - return { - start = source[1].start, - finish = source[2][1].finish, - } - end - end - end) - - if not result then - return - end - - rpc:request('workspace/applyEdit', { - label = lang.script.COMMAND_ADD_BRACKETS, - edit = { - changes = { - [uri] = { - { - range = posToRange(lines, result.start, result.start - 1), - newText = '(', - }, - { - range = posToRange(lines, result.finish + 1, result.finish), - newText = ')', - }, - } - } - }, - }) -end - ---- @param lsp LSP ---- @param params table -return function (lsp, params) - local name = params.command:gsub(':.+', '') - if not command[name] then - return - end - local result = command[name](lsp, params.arguments[1]) - return result -end diff --git a/script/method/workspace/symbol.lua b/script/method/workspace/symbol.lua deleted file mode 100644 index 71ae658a..00000000 --- a/script/method/workspace/symbol.lua +++ /dev/null @@ -1,103 +0,0 @@ -local matchKey = require 'core.matchKey' - -local SymbolKind = { - File = 1, - Module = 2, - Namespace = 3, - Package = 4, - Class = 5, - Method = 6, - Property = 7, - Field = 8, - Constructor = 9, - Enum = 10, - Interface = 11, - Function = 12, - Variable = 13, - Constant = 14, - String = 15, - Number = 16, - Boolean = 17, - Array = 18, - Object = 19, - Key = 20, - Null = 21, - EnumMember = 22, - Struct = 23, - Event = 24, - Operator = 25, - TypeParameter = 26, -} - -local function convertRange(lines, range) - local start_row, start_col = lines:rowcol(range.start) - local finish_row, finish_col = lines:rowcol(range.finish) - local result = { - start = { - line = start_row - 1, - character = start_col - 1, - }, - ['end'] = { - line = finish_row - 1, - -- 这里不用-1,因为前端期待的是匹配完成后的位置 - character = finish_col, - }, - } - return result -end - -local function collect(results, source, uri, lines) - if source:action() ~= 'set' - and source:action() ~= 'local' then - return - end - local kind = SymbolKind.Variable - local value = source:bindValue() - if value and value:getFunction() then - kind = SymbolKind.Function - else - if source:get 'global' then - kind = SymbolKind.Namespace - elseif source:get 'table index' then - kind = SymbolKind.EnumMember - end - end - results[#results+1] = { - name = source[1], - kind = kind, - location = { - uri = uri, - range = convertRange(lines, source), - } - } -end - -local function searchVM(lsp, results, query, uri) - local vm, lines = lsp:getVM(uri) - if not vm then - return - end - vm:eachSource(function (src) - if src.type == 'name' then - if src[1] == '' then - return - end - if matchKey(query, src[1]) then - collect(results, src, uri, lines) - end - end - end) -end - ---- @param lsp LSP ---- @param params table -return function (lsp, params) - local query = params.query - local results = {} - - for uri in lsp:eachFile() do - searchVM(lsp, results, query, uri) - end - - return results -end diff --git a/script/parser/ast.lua b/script/parser/ast.lua deleted file mode 100644 index af2c76c9..00000000 --- a/script/parser/ast.lua +++ /dev/null @@ -1,1913 +0,0 @@ -local tonumber = tonumber -local string_char = string.char -local utf8_char = utf8.char -local type = type -local table = table - -local Errs -local State -local function pushError(err) - if err.finish < err.start then - err.finish = err.start - end - local last = Errs[#Errs] - if last then - if last.start <= err.start and last.finish >= err.finish then - return - end - end - err.level = err.level or 'error' - Errs[#Errs+1] = err - return err -end - --- goto 单独处理 -local RESERVED = { - ['and'] = true, - ['break'] = true, - ['do'] = true, - ['else'] = true, - ['elseif'] = true, - ['end'] = true, - ['false'] = true, - ['for'] = true, - ['function'] = true, - ['if'] = true, - ['in'] = true, - ['local'] = true, - ['nil'] = true, - ['not'] = true, - ['or'] = true, - ['repeat'] = true, - ['return'] = true, - ['then'] = true, - ['true'] = true, - ['until'] = true, - ['while'] = true, -} - -local VersionOp = { - ['&'] = {'Lua 5.3', 'Lua 5.4'}, - ['~'] = {'Lua 5.3', 'Lua 5.4'}, - ['|'] = {'Lua 5.3', 'Lua 5.4'}, - ['<<'] = {'Lua 5.3', 'Lua 5.4'}, - ['>>'] = {'Lua 5.3', 'Lua 5.4'}, - ['//'] = {'Lua 5.3', 'Lua 5.4'}, -} - -local function checkOpVersion(op, start) - local versions = VersionOp[op] - if not versions then - return - end - for i = 1, #versions do - if versions[i] == State.Version then - return - end - end - pushError { - type = 'UNSUPPORT_SYMBOL', - start = start, - finish = start + #op - 1, - version = versions, - info = { - version = State.Version, - } - } -end - -local Exp - -local function expSplit(list, start, finish, level) - if start == finish then - return list[start] - end - local info = Exp[level] - if not info then - return - end - local func = info[1] - return func(list, start, finish, level) -end - -local function binaryForward(list, start, finish, level) - local info = Exp[level] - for i = finish-1, start+2, -1 do - local op = list[i] - if info[op] then - local e1 = expSplit(list, start, i-2, level) - if not e1 then - goto CONTINUE - end - local e2 = expSplit(list, i+1, finish, level+1) - if not e2 then - goto CONTINUE - end - checkOpVersion(op, list[i-1]) - return { - type = 'binary', - op = op, - start = e1.start, - finish = e2.finish, - [1] = e1, - [2] = e2, - } - end - ::CONTINUE:: - end - return expSplit(list, start, finish, level+1) -end - -local function binaryBackward(list, start, finish, level) - local info = Exp[level] - for i = start+2, finish-1 do - local op = list[i] - if info[op] then - local e1 = expSplit(list, start, i-2, level+1) - if not e1 then - goto CONTINUE - end - local e2 = expSplit(list, i+1, finish, level) - if not e2 then - goto CONTINUE - end - checkOpVersion(op, list[i-1]) - return { - type = 'binary', - op = op, - start = e1.start, - finish = e2.finish, - [1] = e1, - [2] = e2, - } - end - ::CONTINUE:: - end - return expSplit(list, start, finish, level+1) -end - -local function unary(list, start, finish, level) - local info = Exp[level] - local op = list[start+1] - if info[op] then - local e1 = expSplit(list, start+2, finish, level) - if e1 then - checkOpVersion(op, list[start]) - return { - type = 'unary', - op = op, - start = list[start], - finish = e1.finish, - [1] = e1, - } - end - end - return expSplit(list, start, finish, level+1) -end - -local function checkMissEnd(start) - if not State.MissEndErr then - return - end - local err = State.MissEndErr - State.MissEndErr = nil - local _, finish = State.Lua:find('[%w_]+', start) - if not finish then - return - end - err.info.related = { start, finish } - pushError { - type = 'MISS_END', - start = start, - finish = finish, - } -end - -Exp = { - { - ['or'] = true, - binaryForward, - }, - { - ['and'] = true, - binaryForward, - }, - { - ['<='] = true, - ['>='] = true, - ['<'] = true, - ['>'] = true, - ['~='] = true, - ['=='] = true, - binaryForward, - }, - { - ['|'] = true, - binaryForward, - }, - { - ['~'] = true, - binaryForward, - }, - { - ['&'] = true, - binaryForward, - }, - { - ['<<'] = true, - ['>>'] = true, - binaryForward, - }, - { - ['..'] = true, - binaryBackward, - }, - { - ['+'] = true, - ['-'] = true, - binaryForward, - }, - { - ['*'] = true, - ['//'] = true, - ['/'] = true, - ['%'] = true, - binaryForward, - }, - { - ['^'] = true, - binaryBackward, - }, - { - ['not'] = true, - ['#'] = true, - ['~'] = true, - ['-'] = true, - unary, - }, -} - -local Defs = { - Nil = function (pos) - return { - type = 'nil', - start = pos, - finish = pos + 2, - } - end, - True = function (pos) - return { - type = 'boolean', - start = pos, - finish = pos + 3, - [1] = true, - } - end, - False = function (pos) - return { - type = 'boolean', - start = pos, - finish = pos + 4, - [1] = false, - } - end, - LongComment = function (beforeEq, afterEq, str, finish, missPos) - State.Comments[#State.Comments+1] = { - start = beforeEq, - finish = finish, - } - if missPos then - local endSymbol = ']' .. ('='):rep(afterEq-beforeEq) .. ']' - local s, _, w = str:find('(%][%=]*%])[%c%s]*$') - if s then - pushError { - type = 'ERR_LCOMMENT_END', - start = missPos - #str + s - 1, - finish = missPos - #str + s + #w - 2, - info = { - symbol = endSymbol, - }, - fix = { - title = 'FIX_LCOMMENT_END', - { - start = missPos - #str + s - 1, - finish = missPos - #str + s + #w - 2, - text = endSymbol, - } - }, - } - end - pushError { - type = 'MISS_SYMBOL', - start = missPos, - finish = missPos, - info = { - symbol = endSymbol, - }, - fix = { - title = 'ADD_LCOMMENT_END', - { - start = missPos, - finish = missPos, - text = endSymbol, - } - }, - } - end - end, - CLongComment = function (start1, finish1, start2, finish2) - pushError { - type = 'ERR_C_LONG_COMMENT', - start = start1, - finish = finish2 - 1, - fix = { - title = 'FIX_C_LONG_COMMENT', - { - start = start1, - finish = finish1 - 1, - text = '--[[', - }, - { - start = start2, - finish = finish2 - 1, - text = '--]]' - }, - } - } - end, - CCommentPrefix = function (start, finish) - pushError { - type = 'ERR_COMMENT_PREFIX', - start = start, - finish = finish - 1, - fix = { - title = 'FIX_COMMENT_PREFIX', - { - start = start, - finish = finish - 1, - text = '--', - }, - } - } - return false - end, - String = function (start, quote, str, finish) - return { - type = 'string', - start = start, - finish = finish - 1, - [1] = str, - [2] = quote, - } - end, - LongString = function (beforeEq, afterEq, str, missPos) - if missPos then - local endSymbol = ']' .. ('='):rep(afterEq-beforeEq) .. ']' - local s, _, w = str:find('(%][%=]*%])[%c%s]*$') - if s then - pushError { - type = 'ERR_LSTRING_END', - start = missPos - #str + s - 1, - finish = missPos - #str + s + #w - 2, - info = { - symbol = endSymbol, - }, - fix = { - title = 'FIX_LSTRING_END', - { - start = missPos - #str + s - 1, - finish = missPos - #str + s + #w - 2, - text = endSymbol, - } - }, - } - end - pushError { - type = 'MISS_SYMBOL', - start = missPos, - finish = missPos, - info = { - symbol = endSymbol, - }, - fix = { - title = 'ADD_LSTRING_END', - { - start = missPos, - finish = missPos, - text = endSymbol, - } - }, - } - end - return '[' .. ('='):rep(afterEq-beforeEq) .. '[', str - end, - Char10 = function (char) - char = tonumber(char) - if not char or char < 0 or char > 255 then - return '' - end - return string_char(char) - end, - Char16 = function (pos, char) - if State.Version == 'Lua 5.1' then - pushError { - type = 'ERR_ESC', - start = pos-1, - finish = pos, - version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4', 'LuaJIT'}, - info = { - version = State.Version, - } - } - return char - end - return string_char(tonumber(char, 16)) - end, - CharUtf8 = function (pos, char) - if State.Version ~= 'Lua 5.3' - and State.Version ~= 'Lua 5.4' - and State.Version ~= 'LuaJIT' - then - pushError { - type = 'ERR_ESC', - start = pos-3, - finish = pos-2, - version = {'Lua 5.3', 'Lua 5.4', 'LuaJIT'}, - info = { - version = State.Version, - } - } - return char - end - if #char == 0 then - pushError { - type = 'UTF8_SMALL', - start = pos-3, - finish = pos, - } - return '' - end - local v = tonumber(char, 16) - if not v then - for i = 1, #char do - if not tonumber(char:sub(i, i), 16) then - pushError { - type = 'MUST_X16', - start = pos + i - 1, - finish = pos + i - 1, - } - end - end - return '' - end - if State.Version == 'Lua 5.4' then - if v < 0 or v > 0x7FFFFFFF then - pushError { - type = 'UTF8_MAX', - start = pos-3, - finish = pos+#char, - info = { - min = '00000000', - max = '7FFFFFFF', - } - } - end - else - if v < 0 or v > 0x10FFFF then - pushError { - type = 'UTF8_MAX', - start = pos-3, - finish = pos+#char, - version = v <= 0x7FFFFFFF and 'Lua 5.4' or nil, - info = { - min = '000000', - max = '10FFFF', - } - } - end - end - if v >= 0 and v <= 0x10FFFF then - return utf8_char(v) - end - return '' - end, - Number = function (start, number, finish) - local n = tonumber(number) - if n then - State.LastNumber = { - type = 'number', - start = start, - finish = finish - 1, - [1] = n, - [2] = number, - } - return State.LastNumber - else - pushError { - type = 'MALFORMED_NUMBER', - start = start, - finish = finish - 1, - } - State.LastNumber = { - type = 'number', - start = start, - finish = finish - 1, - [1] = 0, - } - return State.LastNumber - end - end, - FFINumber = function (start, symbol) - if math.type(State.LastNumber[1]) == 'float' then - pushError { - type = 'UNKNOWN_SYMBOL', - start = start, - finish = start + #symbol - 1, - info = { - symbol = symbol, - } - } - State.LastNumber[1] = 0 - return - end - if State.Version ~= 'LuaJIT' then - pushError { - type = 'UNSUPPORT_SYMBOL', - start = start, - finish = start + #symbol - 1, - version = 'LuaJIT', - info = { - version = State.Version, - } - } - State.LastNumber[1] = 0 - end - end, - ImaginaryNumber = function (start, symbol) - if State.Version ~= 'LuaJIT' then - pushError { - type = 'UNSUPPORT_SYMBOL', - start = start, - finish = start + #symbol - 1, - version = 'LuaJIT', - info = { - version = State.Version, - } - } - end - State.LastNumber[1] = 0 - end, - Name = function (start, str, finish) - local isKeyWord - if RESERVED[str] then - isKeyWord = true - elseif str == 'goto' then - if State.Version ~= 'Lua 5.1' and State.Version ~= 'LuaJIT' then - isKeyWord = true - end - end - if isKeyWord then - pushError { - type = 'KEYWORD', - start = start, - finish = finish - 1, - } - end - return { - type = 'name', - start = start, - finish = finish - 1, - [1] = str, - } - end, - Simple = function (first, ...) - if ... then - local obj = { - type = 'simple', - start = first.start, - first, ..., - } - local last = obj[#obj] - obj.finish = last.finish - return obj - elseif first == '' then - return nil - else - return first - end - end, - SimpleCall = function (simple) - if not simple then - return nil - end - if simple.type ~= 'simple' then - pushError { - type = 'EXP_IN_ACTION', - start = simple.start, - finish = simple.finish, - } - return simple - end - local last = simple[#simple] - if last.type == 'call' then - return simple - end - local colon = simple[#simple-1] - if colon and colon.type == ':' then - -- 型如 `obj:method`,将错误让给MISS_SYMBOL - return simple - end - pushError { - type = 'EXP_IN_ACTION', - start = simple[1].start, - finish = last.finish, - } - return simple - end, - Exp = function (first, ...) - if not ... then - return first - end - local list = {first, ...} - return expSplit(list, 1, #list, 1) - end, - Prefix = function (start, exp, finish) - exp.brackets = true - return exp - end, - Index = function (start, exp, finish) - return { - type = 'index', - start = start, - finish = finish - 1, - [1] = exp, - } - end, - Call = function (start, arg, finish) - if arg == nil then - return { - type = 'call', - start = start, - finish = finish - 1, - } - end - if arg.type == 'list' then - arg.type = 'call' - arg.start = start - arg.finish = finish - 1 - return arg - end - local obj = { - type = 'call', - start = start, - finish = finish - 1, - [1] = arg, - } - return obj - end, - DOTS = function (start) - return { - type = '...', - start = start, - finish = start + 2, - } - end, - DotsAsArg = function (obj) - State.Dots[#State.Dots] = true - return obj - end, - DotsAsExp = function (obj) - if not State.Dots[#State.Dots] then - pushError { - type = 'UNEXPECT_DOTS', - start = obj.start, - finish = obj.finish, - } - end - return obj - end, - COLON = function (start) - return { - type = ':', - start = start, - finish = start, - } - end, - DOT = function (start) - return { - type = '.', - start = start, - finish = start, - } - end, - Function = function (start, argStart, arg, argFinish, ...) - local obj = { - type = 'function', - start = start, - arg = arg, - argStart = argStart - 1, - argFinish = argFinish, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj[max] = nil - if obj.argFinish > obj.finish then - obj.argFinish = obj.finish - end - checkMissEnd(start) - return obj - end, - NamedFunction = function (start, name, argStart, arg, argFinish, ...) - local obj = { - type = 'function', - start = start, - name = name, - arg = arg, - argStart = argStart - 1, - argFinish = argFinish, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj[max] = nil - if obj.argFinish > obj.finish then - obj.argFinish = obj.finish - end - checkMissEnd(start) - return obj - end, - LocalFunction = function (start, name, argStart, arg, argFinish, ...) - local obj = { - type = 'localfunction', - start = start, - name = name, - arg = arg, - argStart = argStart - 1, - argFinish = argFinish, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj[max] = nil - if obj.argFinish > obj.finish then - obj.argFinish = obj.finish - end - - if name.type ~= 'name' then - pushError { - type = 'UNEXPECT_LFUNC_NAME', - start = name.start, - finish = name.finish, - } - end - - checkMissEnd(start) - return obj - end, - Table = function (start, ...) - local args = {...} - local max = #args - local finish = args[max] - 1 - local table = { - type = 'table', - start = start, - finish = finish - } - start = start + 1 - local wantField = true - for i = 1, max-1 do - local arg = args[i] - local isField = type(arg) == 'table' - local isEmmy = isField and arg.type:sub(1, 4) == 'emmy' - if wantField and not isField then - pushError { - type = 'MISS_EXP', - start = start, - finish = arg - 1, - } - elseif not wantField and isField and not isEmmy then - pushError { - type = 'MISS_SEP_IN_TABLE', - start = start, - finish = arg.start-1, - } - end - if isField then - table[#table+1] = arg - if not isEmmy then - wantField = false - start = arg.finish + 1 - end - else - wantField = true - start = arg - end - end - return table - end, - NewField = function (key, value) - return { - type = 'pair', - start = key.start, - finish = value.finish, - key, value, - } - end, - NewIndex = function (key, value) - return { - type = 'pair', - start = key.start, - finish = value.finish, - key, value, - } - end, - List = function (first, second, ...) - if second then - local list = { - type = 'list', - start = first.start, - first, second, ... - } - local last = list[#list] - list.finish = last.finish - return list - elseif type(first) == 'table' then - return first - else - return nil - end - end, - ArgList = function (...) - if ... == '' then - return nil - end - local args = table.pack(...) - local list = {} - local max = args.n - args.n = nil - local wantName = true - for i = 1, max do - local obj = args[i] - if type(obj) == 'number' then - if wantName then - pushError { - type = 'MISS_NAME', - start = obj, - finish = obj, - } - end - wantName = true - else - if not wantName then - pushError { - type = 'MISS_SYMBOL', - start = obj.start-1, - finish = obj.start-1, - info = { - symbol = ',', - } - } - end - wantName = false - list[#list+1] = obj - if obj.type == '...' then - if i < max then - local a = args[i+1] - local b = args[max] - pushError { - type = 'ARGS_AFTER_DOTS', - start = type(a) == 'number' and a or a.start, - finish = type(b) == 'number' and b or b.finish, - } - end - break - end - end - end - if wantName then - local last = args[max] - pushError { - type = 'MISS_NAME', - start = last+1, - finish = last+1, - } - end - if #list == 0 then - return nil - elseif #list == 1 then - return list[1] - else - list.type = 'list' - list.start = list[1].start - list.finish = list[#list].finish - return list - end - end, - CallArgList = function (start, ...) - local args = {...} - local max = #args - local finish = args[max] - 1 - local exps = { - type = 'list', - start = start, - finish = finish, - } - local wantExp = true - for i = 1, max-1 do - local arg = args[i] - local isExp = type(arg) == 'table' - if wantExp and not isExp then - pushError { - type = 'MISS_EXP', - start = start, - finish = arg - 1, - } - elseif not wantExp and isExp then - pushError { - type = 'MISS_SYMBOL', - start = start, - finish = arg.start-1, - info = { - symbol = ',', - } - } - end - if isExp then - exps[#exps+1] = arg - wantExp = false - start = arg.finish + 1 - else - wantExp = true - start = arg - end - end - if wantExp then - pushError { - type = 'MISS_EXP', - start = start, - finish = finish, - } - end - if #exps == 0 then - return nil - elseif #exps == 1 then - return exps[1] - else - return exps - end - end, - Nothing = function () - return nil - end, - None = function() - return - end, - Skip = function () - return false - end, - Set = function (keys, values) - return { - type = 'set', - keys, values, - } - end, - LocalTag = function (...) - if not ... or ... == '' then - return nil - end - local tags = {...} - for i, tag in ipairs(tags) do - if State.Version ~= 'Lua 5.4' then - pushError { - type = 'UNSUPPORT_SYMBOL', - start = tag.start, - finish = tag.finish, - version = 'Lua 5.4', - info = { - version = State.Version, - } - } - elseif tag[1] ~= 'const' and tag[1] ~= 'close' then - pushError { - type = 'UNKNOWN_TAG', - start = tag.start, - finish = tag.finish, - info = { - tag = tag[1], - } - } - elseif i > 1 then - pushError { - type = 'MULTI_TAG', - start = tag.start, - finish = tag.finish, - info = { - tag = tag[1], - } - } - end - end - return tags - end, - LocalName = function (name, tags) - name.tags = tags - return name - end, - Local = function (keys, values) - return { - type = 'local', - keys, values, - } - end, - DoBody = function (...) - if ... == '' then - return { - type = 'do', - } - else - return { - type = 'do', - ... - } - end - end, - Do = function (start, action, finish) - action.start = start - action.finish = finish - 1 - checkMissEnd(start) - return action - end, - Break = function (finish, ...) - if State.Break > 0 then - local breakChunk = { - type = 'break', - } - if not ... then - return breakChunk - end - local action = select(-1, ...) - if not action then - return breakChunk - end - if State.Version == 'Lua 5.1' or State.Version == 'LuaJIT' then - pushError { - type = 'ACTION_AFTER_BREAK', - start = finish - #'break', - finish = finish - 1, - } - end - return breakChunk, action - else - pushError { - type = 'BREAK_OUTSIDE', - start = finish - #'break', - finish = finish - 1, - } - if not ... then - return false - end - local action = select(-1, ...) - if not action then - return false - end - return action - end - end, - BreakStart = function () - State.Break = State.Break + 1 - end, - BreakEnd = function () - State.Break = State.Break - 1 - end, - Return = function (start, exp, finish) - if not finish then - finish = exp - exp = { - type = 'return', - start = start, - finish = finish - 1, - } - else - if exp.type == 'list' then - exp.type = 'return' - exp.start = start - exp.finish = finish - 1 - else - exp = { - type = 'return', - start = start, - finish = finish - 1, - [1] = exp, - } - end - end - return exp - end, - Label = function (start, name, finish) - if State.Version == 'Lua 5.1' then - pushError { - type = 'UNSUPPORT_SYMBOL', - start = start, - finish = finish - 1, - version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4', 'LuaJIT'}, - info = { - version = State.Version, - } - } - return false - end - name.type = 'label' - local labels = State.Label[#State.Label] - local str = name[1] - if labels[str] then - --pushError { - -- type = 'REDEFINE_LABEL', - -- start = name.start, - -- finish = name.finish, - -- info = { - -- label = str, - -- related = {labels[str].start, labels[str].finish}, - -- } - --} - else - labels[str] = name - end - return name - end, - GoTo = function (start, name, finish) - if State.Version == 'Lua 5.1' then - pushError { - type = 'UNSUPPORT_SYMBOL', - start = start, - finish = finish - 1, - version = {'Lua 5.2', 'Lua 5.3', 'Lua 5.4', 'LuaJIT'}, - info = { - version = State.Version, - } - } - return false - end - name.type = 'goto' - local labels = State.Label[#State.Label] - labels[#labels+1] = name - return name - end, - -- TODO 这里的检查不完整,但是完整的检查比较复杂,开销比较高 - -- 不能jump到另一个局部变量的作用域 - -- 函数会切断goto与label - -- 不能从block外jump到block内,但是可以从block内jump到block外 - BlockStart = function () - State.Label[#State.Label+1] = {} - State.Dots[#State.Dots+1] = false - end, - BlockEnd = function () - local labels = State.Label[#State.Label] - State.Label[#State.Label] = nil - State.Dots[#State.Dots] = nil - for i = 1, #labels do - local name = labels[i] - local str = name[1] - if not labels[str] then - pushError { - type = 'NO_VISIBLE_LABEL', - start = name.start, - finish = name.finish, - info = { - label = str, - } - } - end - end - end, - IfBlock = function (exp, start, ...) - local obj = { - filter = exp, - start = start, - ... - } - local max = #obj - obj.finish = obj[max] - obj[max] = nil - return obj - end, - ElseIfBlock = function (exp, start, ...) - local obj = { - filter = exp, - start = start, - ... - } - local max = #obj - obj.finish = obj[max] - obj[max] = nil - return obj - end, - ElseBlock = function (start, ...) - local obj = { - start = start, - ... - } - local max = #obj - obj.finish = obj[max] - obj[max] = nil - return obj - end, - If = function (start, ...) - local obj = { - type = 'if', - start = start, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj[max] = nil - checkMissEnd(start) - return obj - end, - Loop = function (start, arg, min, max, step, ...) - local obj = { - type = 'loop', - start = start, - arg = arg, - min = min, - max = max, - step = step, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj[max] = nil - checkMissEnd(start) - return obj - end, - In = function (start, arg, exp, ...) - local obj = { - type = 'in', - start = start, - arg = arg, - exp = exp, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj[max] = nil - checkMissEnd(start) - return obj - end, - While = function (start, filter, ...) - local obj = { - type = 'while', - start = start, - filter = filter, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj[max] = nil - checkMissEnd(start) - return obj - end, - Repeat = function (start, ...) - local obj = { - type = 'repeat', - start = start, - ... - } - local max = #obj - obj.finish = obj[max] - 1 - obj.filter = obj[max-1] - obj[max] = nil - obj[max-1] = nil - return obj - end, - Lua = function (...) - if ... == '' then - return {} - end - return {...} - end, - - -- EmmyLua 支持 - EmmyName = function (start, str) - return { - type = 'emmyName', - start = start, - finish = start + #str - 1, - [1] = str, - } - end, - DirtyEmmyName = function (pos) - pushError { - type = 'MISS_NAME', - level = 'warning', - start = pos, - finish = pos, - } - return { - type = 'emmyName', - start = pos-1, - finish = pos-1, - [1] = '' - } - end, - EmmyClass = function (class, startPos, extends) - if extends and extends[1] == '' then - extends.start = startPos - end - return { - type = 'emmyClass', - start = class.start, - finish = (extends or class).finish, - [1] = class, - [2] = extends, - } - end, - EmmyType = function (typeDef) - return typeDef - end, - EmmyCommonType = function (...) - local result = { - type = 'emmyType', - ... - } - for i = 1, #result // 2 do - local startPos = result[i * 2] - local emmyName = result[i * 2 + 1] - if emmyName[1] == '' then - emmyName.start = startPos - end - result[i + 1] = emmyName - end - for i = #result // 2 + 2, #result do - result[i] = nil - end - result.start = result[1].start - result.finish = result[#result].finish - return result - end, - EmmyArrayType = function (start, emmy, _, finish) - emmy.type = 'emmyArrayType' - emmy.start = start - emmy.finish = finish - 1 - return emmy - end, - EmmyTableType = function (start, keyType, valueType, finish) - return { - type = 'emmyTableType', - start = start, - finish = finish - 1, - [1] = keyType, - [2] = valueType, - } - end, - EmmyFunctionType = function (start, args, returns, finish) - local result = { - start = start, - finish = finish - 1, - type = 'emmyFunctionType', - args = args, - returns = returns, - } - return result - end, - EmmyFunctionRtns = function (...) - return {...} - end, - EmmyFunctionArgs = function (...) - local args = {...} - args[#args] = nil - return args - end, - EmmyAlias = function (name, emmyName, ...) - return { - type = 'emmyAlias', - start = name.start, - finish = emmyName.finish, - name, - emmyName, - ... - } - end, - EmmyParam = function (argName, emmyName, option, ...) - local emmy = { - type = 'emmyParam', - option = option, - argName, - emmyName, - ... - } - emmy.start = emmy[1].start - emmy.finish = emmy[#emmy].finish - return emmy - end, - EmmyReturn = function (start, type, name, finish, option) - local emmy = { - type = 'emmyReturn', - option = option, - start = start, - finish = finish - 1, - [1] = type, - [2] = name, - } - return emmy - end, - EmmyField = function (access, fieldName, ...) - local obj = { - type = 'emmyField', - access, fieldName, - ... - } - obj.start = obj[2].start - obj.finish = obj[3].finish - return obj - end, - EmmyGenericBlock = function (genericName, parentName) - return { - start = genericName.start, - finish = parentName and parentName.finish or genericName.finish, - genericName, - parentName, - } - end, - EmmyGeneric = function (...) - local emmy = { - type = 'emmyGeneric', - ... - } - emmy.start = emmy[1].start - emmy.finish = emmy[#emmy].finish - return emmy - end, - EmmyVararg = function (typeName) - return { - type = 'emmyVararg', - start = typeName.start, - finish = typeName.finish, - typeName, - } - end, - EmmyLanguage = function (language) - return { - type = 'emmyLanguage', - start = language.start, - finish = language.finish, - language, - } - end, - EmmySee = function (start, className, methodName, finish) - return { - type = 'emmySee', - start = start, - finish = finish - 1, - className, methodName - } - end, - EmmyOverLoad = function (EmmyFunctionType) - EmmyFunctionType.type = 'emmyOverLoad' - return EmmyFunctionType - end, - EmmyIncomplete = function (emmyName) - emmyName.type = 'emmyIncomplete' - return emmyName - end, - EmmyComment = function (...) - local lines = {...} - for i = 2, #lines do - local line = lines[i] - if line:sub(1, 1) == '|' then - lines[i] = '\n' .. line:sub(2) - end - end - return { - type = 'emmyComment', - [1] = table.concat(lines, '\n'), - } - end, - EmmyOption = function (options) - if not options or options == '' then - return nil - end - local option = {} - for _, pair in ipairs(options) do - if pair.type == 'pair' then - local key = pair[1] - local value = pair[2] - if key.type == 'name' then - option[key[1]] = value[1] - end - end - end - return option - end, - EmmyTypeEnum = function (default, enum, comment) - enum.type = 'emmyEnum' - if default ~= '' then - enum.default = true - end - enum.comment = comment - return enum - end, - - -- 捕获错误 - UnknownSymbol = function (start, symbol) - pushError { - type = 'UNKNOWN_SYMBOL', - start = start, - finish = start + #symbol - 1, - info = { - symbol = symbol, - } - } - return - end, - UnknownAction = function (start, symbol) - pushError { - type = 'UNKNOWN_SYMBOL', - start = start, - finish = start + #symbol - 1, - info = { - symbol = symbol, - } - } - return false - end, - DirtyName = function (pos) - pushError { - type = 'MISS_NAME', - start = pos, - finish = pos, - } - return { - type = 'name', - start = pos-1, - finish = pos-1, - [1] = '' - } - end, - DirtyExp = function (pos) - pushError { - type = 'MISS_EXP', - start = pos, - finish = pos, - } - return { - type = 'name', - start = pos, - finish = pos, - [1] = '' - } - end, - MissExp = function (pos) - pushError { - type = 'MISS_EXP', - start = pos, - finish = pos, - } - end, - MissExponent = function (start, finish) - pushError { - type = 'MISS_EXPONENT', - start = start, - finish = finish - 1, - } - end, - MissQuote1 = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = '"' - } - } - end, - MissQuote2 = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = "'" - } - } - end, - MissEscX = function (pos) - pushError { - type = 'MISS_ESC_X', - start = pos-2, - finish = pos+1, - } - end, - MissTL = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = '{', - } - } - end, - MissTR = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = '}', - } - } - return pos + 1 - end, - MissBR = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = ']', - } - } - return pos + 1 - end, - MissPL = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = '(', - } - } - end, - DirtyPR = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = ')', - } - } - return pos + 1 - end, - MissPR = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = ')', - } - } - end, - ErrEsc = function (pos) - pushError { - type = 'ERR_ESC', - start = pos-1, - finish = pos, - } - end, - MustX16 = function (pos, str) - pushError { - type = 'MUST_X16', - start = pos, - finish = pos + #str - 1, - } - end, - MissAssign = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = '=', - } - } - end, - MissTableSep = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = ',' - } - } - end, - MissField = function (pos) - pushError { - type = 'MISS_FIELD', - start = pos, - finish = pos, - } - end, - MissMethod = function (pos) - pushError { - type = 'MISS_METHOD', - start = pos, - finish = pos, - } - end, - MissLabel = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = '::', - } - } - end, - MissEnd = function (pos) - State.MissEndErr = pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = 'end', - } - } - end, - MissDo = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = 'do', - } - } - end, - MissComma = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = ',', - } - } - end, - MissIn = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = 'in', - } - } - end, - MissUntil = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = 'until', - } - } - end, - MissThen = function (pos) - pushError { - type = 'MISS_SYMBOL', - start = pos, - finish = pos, - info = { - symbol = 'then', - } - } - end, - ExpInAction = function (start, exp, finish) - pushError { - type = 'EXP_IN_ACTION', - start = start, - finish = finish - 1, - } - return exp - end, - AfterReturn = function (rtn, ...) - if not ... then - return rtn - end - local action = select(-1, ...) - if not action then - return rtn - end - pushError { - type = 'ACTION_AFTER_RETURN', - start = rtn.start, - finish = rtn.finish, - } - return rtn, action - end, - MissIf = function (start, block) - pushError { - type = 'MISS_SYMBOL', - start = start, - finish = start, - info = { - symbol = 'if', - } - } - return block - end, - MissGT = function (start) - pushError { - type = 'MISS_SYMBOL', - start = start, - finish = start, - info = { - symbol = '>' - } - } - end, - ErrAssign = function (start, finish) - pushError { - type = 'ERR_ASSIGN_AS_EQ', - start = start, - finish = finish - 1, - fix = { - title = 'FIX_ASSIGN_AS_EQ', - { - start = start, - finish = finish - 1, - text = '=', - } - } - } - end, - ErrEQ = function (start, finish) - pushError { - type = 'ERR_EQ_AS_ASSIGN', - start = start, - finish = finish - 1, - fix = { - title = 'FIX_EQ_AS_ASSIGN', - { - start = start, - finish = finish - 1, - text = '==', - } - } - } - return '==' - end, - ErrUEQ = function (start, finish) - pushError { - type = 'ERR_UEQ', - start = start, - finish = finish - 1, - fix = { - title = 'FIX_UEQ', - { - start = start, - finish = finish - 1, - text = '~=', - } - } - } - return '==' - end, - ErrThen = function (start, finish) - pushError { - type = 'ERR_THEN_AS_DO', - start = start, - finish = finish - 1, - fix = { - title = 'FIX_THEN_AS_DO', - { - start = start, - finish = finish - 1, - text = 'then', - } - } - } - end, - ErrDo = function (start, finish) - pushError { - type = 'ERR_DO_AS_THEN', - start = start, - finish = finish - 1, - fix = { - title = 'FIX_DO_AS_THEN', - { - start = start, - finish = finish - 1, - text = 'do', - } - } - } - end, -} - -local function init(state, errs) - State = state - Errs = errs -end - -return { - defs = Defs, - init = init, -} diff --git a/script/parser/calcline.lua b/script/parser/calcline.lua deleted file mode 100644 index 26f475d9..00000000 --- a/script/parser/calcline.lua +++ /dev/null @@ -1,93 +0,0 @@ -local m = require 'lpeglabel' - -local row -local fl -local NL = (m.P'\r\n' + m.S'\r\n') * m.Cp() / function (pos) - row = row + 1 - fl = pos -end -local ROWCOL = (NL + m.P(1))^0 -local function rowcol(str, n) - row = 1 - fl = 1 - ROWCOL:match(str:sub(1, n)) - local col = n - fl + 1 - return row, col -end - -local function rowcol_utf8(str, n) - row = 1 - fl = 1 - ROWCOL:match(str:sub(1, n)) - return row, utf8.len(str, fl, n) -end - -local function position(str, _row, _col) - local cur = 1 - local row = 1 - while true do - if row == _row then - return cur + _col - 1 - elseif row > _row then - return cur - 1 - end - local pos = str:find('[\r\n]', cur) - if not pos then - return #str - end - row = row + 1 - if str:sub(pos, pos+1) == '\r\n' then - cur = pos + 2 - else - cur = pos + 1 - end - end -end - -local function position_utf8(str, _row, _col) - local cur = 1 - local row = 1 - while true do - if row == _row then - return utf8.offset(str, _col, cur) - elseif row > _row then - return cur - 1 - end - local pos = str:find('[\r\n]', cur) - if not pos then - return #str - end - row = row + 1 - if str:sub(pos, pos+1) == '\r\n' then - cur = pos + 2 - else - cur = pos + 1 - end - end -end - -local NL = m.P'\r\n' + m.S'\r\n' - -local function line(str, row) - local count = 0 - local res - local LINE = m.Cmt((1 - NL)^0, function (_, _, c) - count = count + 1 - if count == row then - res = c - return false - end - return true - end) - local MATCH = (LINE * NL)^0 * LINE - MATCH:match(str) - return res -end - -return { - rowcol = rowcol, - rowcol_utf8 = rowcol_utf8, - position = position, - position_utf8 = position_utf8, - line = line, -} diff --git a/script/parser/grammar.lua b/script/parser/grammar.lua deleted file mode 100644 index e5d5ee69..00000000 --- a/script/parser/grammar.lua +++ /dev/null @@ -1,630 +0,0 @@ -local re = require 'parser.relabel' -local m = require 'lpeglabel' -local ast = require 'parser.ast' - -local scriptBuf = '' -local compiled = {} -local parser -local defs = ast.defs - --- goto 可以作为名字,合法性之后处理 -local RESERVED = { - ['and'] = true, - ['break'] = true, - ['do'] = true, - ['else'] = true, - ['elseif'] = true, - ['end'] = true, - ['false'] = true, - ['for'] = true, - ['function'] = true, - ['if'] = true, - ['in'] = true, - ['local'] = true, - ['nil'] = true, - ['not'] = true, - ['or'] = true, - ['repeat'] = true, - ['return'] = true, - ['then'] = true, - ['true'] = true, - ['until'] = true, - ['while'] = true, -} - -defs.nl = (m.P'\r\n' + m.S'\r\n') -defs.s = m.S' \t' -defs.S = - defs.s -defs.ea = '\a' -defs.eb = '\b' -defs.ef = '\f' -defs.en = '\n' -defs.er = '\r' -defs.et = '\t' -defs.ev = '\v' -defs['nil'] = m.Cp() / function () return nil end -defs['false'] = m.Cp() / function () return false end -defs.NotReserved = function (_, _, str) - if RESERVED[str] then - return false - end - return true -end -defs.Reserved = function (_, _, str) - if RESERVED[str] then - return true - end - return false -end -defs.None = function () end -defs.np = m.Cp() / function (n) return n+1 end - -m.setmaxstack(1000) - -local eof = re.compile '!. / %{SYNTAX_ERROR}' - -local function grammar(tag) - return function (script) - scriptBuf = script .. '\r\n' .. scriptBuf - compiled[tag] = re.compile(scriptBuf, defs) * eof - end -end - -local function errorpos(pos, err) - return { - type = 'UNKNOWN', - start = pos or 0, - finish = pos or 0, - err = err, - } -end - -grammar 'Comment' [[ -Comment <- LongComment / '--' ShortComment -LongComment <- ('--[' {} {:eq: '='* :} {} '[' - {(!CommentClose .)*} - (CommentClose {} / {} {})) - -> LongComment - / ( - {} '/*' {} - (!'*/' .)* - {} '*/' {} - ) - -> CLongComment -CommentClose <- ']' =eq ']' -ShortComment <- (!%nl .)* -]] - -grammar 'Sp' [[ -Sp <- (Comment / %nl / %s)* -Sps <- (Comment / %nl / %s)+ -]] - -grammar 'Common' [[ -Word <- [a-zA-Z0-9_] -Cut <- !Word -X16 <- [a-fA-F0-9] -Rest <- (!%nl .)* - -AND <- Sp {'and'} Cut -BREAK <- Sp 'break' Cut -DO <- Sp 'do' Cut - / Sp ({} 'then' Cut {}) -> ErrDo -ELSE <- Sp 'else' Cut -ELSEIF <- Sp 'elseif' Cut -END <- Sp 'end' Cut -FALSE <- Sp 'false' Cut -FOR <- Sp 'for' Cut -FUNCTION <- Sp 'function' Cut -GOTO <- Sp 'goto' Cut -IF <- Sp 'if' Cut -IN <- Sp 'in' Cut -LOCAL <- Sp 'local' Cut -NIL <- Sp 'nil' Cut -NOT <- Sp 'not' Cut -OR <- Sp {'or'} Cut -REPEAT <- Sp 'repeat' Cut -RETURN <- Sp 'return' Cut -THEN <- Sp 'then' Cut - / Sp ({} 'do' Cut {}) -> ErrThen -TRUE <- Sp 'true' Cut -UNTIL <- Sp 'until' Cut -WHILE <- Sp 'while' Cut - -Esc <- '\' -> '' - EChar -EChar <- 'a' -> ea - / 'b' -> eb - / 'f' -> ef - / 'n' -> en - / 'r' -> er - / 't' -> et - / 'v' -> ev - / '\' - / '"' - / "'" - / %nl - / ('z' (%nl / %s)*) -> '' - / ({} 'x' {X16 X16}) -> Char16 - / ([0-9] [0-9]? [0-9]?) -> Char10 - / ('u{' {} {Word*} '}') -> CharUtf8 - -- 错误处理 - / 'x' {} -> MissEscX - / 'u' !'{' {} -> MissTL - / 'u{' Word* !'}' {} -> MissTR - / {} -> ErrEsc - -BOR <- Sp {'|'} -BXOR <- Sp {'~'} !'=' -BAND <- Sp {'&'} -Bshift <- Sp {BshiftList} -BshiftList <- '<<' - / '>>' -Concat <- Sp {'..'} -Adds <- Sp {AddsList} -AddsList <- '+' - / '-' -Muls <- Sp {MulsList} -MulsList <- '*' - / '//' - / '/' - / '%' -Unary <- Sp {} {UnaryList} -UnaryList <- NOT - / '#' - / '-' - / '~' !'=' -POWER <- Sp {'^'} - -BinaryOp <- Sp {} {'or'} Cut - / Sp {} {'and'} Cut - / Sp {} {'<=' / '>=' / '<'!'<' / '>'!'>' / '~=' / '=='} - / Sp {} ({} '=' {}) -> ErrEQ - / Sp {} ({} '!=' {}) -> ErrUEQ - / Sp {} {'|'} - / Sp {} {'~'} - / Sp {} {'&'} - / Sp {} {'<<' / '>>'} - / Sp {} {'..'} !'.' - / Sp {} {'+' / '-'} - / Sp {} {'*' / '//' / '/' / '%'} - / Sp {} {'^'} -UnaryOp <- Sp {} {'not' Cut / '#' / '~' !'=' / '-' !'-'} - -PL <- Sp '(' -PR <- Sp ')' -BL <- Sp '[' !'[' !'=' -BR <- Sp ']' -TL <- Sp '{' -TR <- Sp '}' -COMMA <- Sp ',' -SEMICOLON <- Sp ';' -DOTS <- Sp ({} '...') -> DOTS -DOT <- Sp ({} '.' !'.') -> DOT -COLON <- Sp ({} ':' !':') -> COLON -LABEL <- Sp '::' -ASSIGN <- Sp '=' !'=' -AssignOrEQ <- Sp ({} '==' {}) -> ErrAssign - / Sp '=' - -Nothing <- {} -> Nothing - -DirtyBR <- BR {} / {} -> MissBR -DirtyTR <- TR {} / {} -> MissTR -DirtyPR <- PR {} / {} -> DirtyPR -DirtyLabel <- LABEL / {} -> MissLabel -NeedPR <- PR / {} -> MissPR -NeedEnd <- END / {} -> MissEnd -NeedDo <- DO / {} -> MissDo -NeedAssign <- ASSIGN / {} -> MissAssign -NeedComma <- COMMA / {} -> MissComma -NeedIn <- IN / {} -> MissIn -NeedUntil <- UNTIL / {} -> MissUntil -]] - -grammar 'Nil' [[ -Nil <- Sp ({} -> Nil) NIL -]] - -grammar 'Boolean' [[ -Boolean <- Sp ({} -> True) TRUE - / Sp ({} -> False) FALSE -]] - -grammar 'String' [[ -String <- Sp ({} StringDef {}) - -> String -StringDef <- {'"'} - {~(Esc / !%nl !'"' .)*~} -> 1 - ('"' / {} -> MissQuote1) - / {"'"} - {~(Esc / !%nl !"'" .)*~} -> 1 - ("'" / {} -> MissQuote2) - / ('[' {} {:eq: '='* :} {} '[' %nl? - {(!StringClose .)*} -> 1 - (StringClose / {})) - -> LongString -StringClose <- ']' =eq ']' -]] - -grammar 'Number' [[ -Number <- Sp ({} {NumberDef} {}) -> Number - NumberSuffix? - ErrNumber? -NumberDef <- Number16 / Number10 -NumberSuffix<- ({} {[uU]? [lL] [lL]}) -> FFINumber - / ({} {[iI]}) -> ImaginaryNumber -ErrNumber <- ({} {([0-9a-zA-Z] / '.')+}) -> UnknownSymbol - -Number10 <- Float10 Float10Exp? - / Integer10 Float10? Float10Exp? -Integer10 <- [0-9]+ ('.' [0-9]*)? -Float10 <- '.' [0-9]+ -Float10Exp <- [eE] [+-]? [0-9]+ - / ({} [eE] [+-]? {}) -> MissExponent - -Number16 <- '0' [xX] Float16 Float16Exp? - / '0' [xX] Integer16 Float16? Float16Exp? -Integer16 <- X16+ ('.' X16*)? - / ({} {Word*}) -> MustX16 -Float16 <- '.' X16+ - / '.' ({} {Word*}) -> MustX16 -Float16Exp <- [pP] [+-]? [0-9]+ - / ({} [pP] [+-]? {}) -> MissExponent -]] - -grammar 'Name' [[ -Name <- Sp ({} NameBody {}) - -> Name -NameBody <- {[a-zA-Z_] [a-zA-Z0-9_]*} -FreeName <- Sp ({} {NameBody=>NotReserved} {}) - -> Name -MustName <- Name / DirtyName -DirtyName <- {} -> DirtyName -]] - -grammar 'Exp' [[ -Exp <- (UnUnit (BinaryOp (UnUnit / {} -> DirtyExp))*) - -> Exp -UnUnit <- ExpUnit - / UnaryOp+ (ExpUnit / {} -> DirtyExp) -ExpUnit <- Nil - / Boolean - / String - / Number - / DOTS -> DotsAsExp - / Table - / Function - / Simple - -Simple <- (Prefix (Sp Suffix)*) - -> Simple -Prefix <- Sp ({} PL DirtyExp DirtyPR) - -> Prefix - / FreeName -Index <- ({} BL DirtyExp DirtyBR) -> Index -Suffix <- DOT Name / DOT {} -> MissField - / Method (!(Sp CallStart) {} -> MissPL)? - / ({} Table {}) -> Call - / ({} String {}) -> Call - / Index - / ({} PL CallArgList DirtyPR) -> Call -Method <- COLON Name / COLON {} -> MissMethod -CallStart <- PL - / TL - / '"' - / "'" - / '[' '='* '[' - -DirtyExp <- Exp - / {} -> DirtyExp -MaybeExp <- Exp / MissExp -MissExp <- {} -> MissExp -ExpList <- Sp (MaybeExp (COMMA (MaybeExp))*) - -> List -MustExpList <- Sp (Exp (COMMA (MaybeExp))*) - -> List -CallArgList <- Sp ({} (COMMA {} / Exp)+ {}) - -> CallArgList - / %nil -NameList <- (MustName (COMMA MustName)*) - -> List - -ArgList <- (DOTS -> DotsAsArg / Name / Sp {} COMMA)* - -> ArgList - -Table <- Sp ({} TL TableFields? DirtyTR) - -> Table -TableFields <- (Emmy / TableSep {} / TableField)+ -TableSep <- COMMA / SEMICOLON -TableField <- NewIndex / NewField / Exp -NewIndex <- Sp (Index NeedAssign DirtyExp) - -> NewIndex -NewField <- (MustName ASSIGN DirtyExp) - -> NewField - -Function <- Sp ({} FunctionBody {}) - -> Function -FuncArg <- PL {} ArgList {} NeedPR - / {} {} -> MissPL Nothing {} -FunctionBody<- FUNCTION BlockStart FuncArg - (Emmy / !END Action)* - BlockEnd - NeedEnd - -BlockStart <- {} -> BlockStart -BlockEnd <- {} -> BlockEnd - --- 纯占位,修改了 `relabel.lua` 使重复定义不抛错 -Action <- !END . -Set <- END -Emmy <- '---@' -]] - -grammar 'Action' [[ -Action <- Sp (CrtAction / UnkAction) -CrtAction <- Semicolon - / Do - / Break - / Return - / Label - / GoTo - / If - / For - / While - / Repeat - / NamedFunction - / LocalFunction - / Local - / Set - / Call - / ExpInAction -UnkAction <- ({} {Word+}) - -> UnknownAction - / ({} '//' {} (LongComment / ShortComment)) - -> CCommentPrefix - / ({} {. (!Sps !CrtAction .)*}) - -> UnknownAction -ExpInAction <- Sp ({} Exp {}) - -> ExpInAction - -Semicolon <- SEMICOLON - -> Skip -SimpleList <- (Simple (COMMA Simple)*) - -> List - -Do <- Sp ({} 'do' Cut DoBody NeedEnd {}) - -> Do -DoBody <- (Emmy / !END Action)* - -> DoBody - -Break <- BREAK ({} Semicolon* AfterBreak?) - -> Break -AfterBreak <- Sp !END !UNTIL !ELSEIF !ELSE Action -BreakStart <- {} -> BreakStart -BreakEnd <- {} -> BreakEnd - -Return <- (ReturnBody Semicolon* AfterReturn?) - -> AfterReturn -ReturnBody <- Sp ({} RETURN MustExpList? {}) - -> Return -AfterReturn <- Sp !END !UNTIL !ELSEIF !ELSE Action - -Label <- Sp ({} LABEL MustName DirtyLabel {}) -> Label - -GoTo <- Sp ({} GOTO MustName {}) -> GoTo - -If <- Sp ({} IfBody {}) - -> If -IfHead <- (IfPart -> IfBlock) - / ({} ElseIfPart -> ElseIfBlock) - -> MissIf - / ({} ElsePart -> ElseBlock) - -> MissIf -IfBody <- IfHead - (ElseIfPart -> ElseIfBlock)* - (ElsePart -> ElseBlock)? - NeedEnd -IfPart <- IF DirtyExp THEN - {} (Emmy / !ELSEIF !ELSE !END Action)* {} - / IF DirtyExp {}->MissThen - {} {} -ElseIfPart <- ELSEIF DirtyExp THEN - {} (Emmy / !ELSE !ELSEIF !END Action)* {} - / ELSEIF DirtyExp {}->MissThen - {} {} -ElsePart <- ELSE - {} (Emmy / !END Action)* {} - -For <- Loop / In - / FOR - -Loop <- Sp ({} LoopBody {}) - -> Loop -LoopBody <- FOR LoopStart LoopFinish LoopStep NeedDo - BreakStart - (Emmy / !END Action)* - BreakEnd - NeedEnd -LoopStart <- MustName AssignOrEQ DirtyExp -LoopFinish <- NeedComma DirtyExp -LoopStep <- COMMA DirtyExp - / NeedComma Exp - / Nothing - -In <- Sp ({} InBody {}) - -> In -InBody <- FOR InNameList NeedIn ExpList NeedDo - BreakStart - (Emmy / !END Action)* - BreakEnd - NeedEnd -InNameList <- &IN DirtyName - / NameList - -While <- Sp ({} WhileBody {}) - -> While -WhileBody <- WHILE DirtyExp NeedDo - BreakStart - (Emmy / !END Action)* - BreakEnd - NeedEnd - -Repeat <- Sp ({} RepeatBody {}) - -> Repeat -RepeatBody <- REPEAT - BreakStart - (Emmy / !UNTIL Action)* - BreakEnd - NeedUntil DirtyExp - -LocalTag <- (Sp '<' Sp MustName Sp LocalTagEnd)* - -> LocalTag -LocalTagEnd <- '>' / {} -> MissGT -Local <- (LOCAL LocalNameList (AssignOrEQ ExpList)?) - -> Local -Set <- (SimpleList AssignOrEQ ExpList?) - -> Set -LocalNameList - <- (LocalName (COMMA LocalName)*) - -> List -LocalName <- (MustName LocalTag) - -> LocalName - -Call <- Simple - -> SimpleCall - -LocalFunction - <- Sp ({} LOCAL FunctionNamedBody {}) - -> LocalFunction - -NamedFunction - <- Sp ({} FunctionNamedBody {}) - -> NamedFunction -FunctionNamedBody - <- FUNCTION FuncName BlockStart FuncArg - (Emmy / !END Action)* - BlockEnd - NeedEnd -FuncName <- (MustName (DOT MustName)* FuncMethod?) - -> Simple -FuncMethod <- COLON Name / COLON {} -> MissMethod - --- 占位 -Emmy <- '---@' -]] - -grammar 'Emmy' [[ -Emmy <- EmmyAction - / EmmyComments -EmmyAction <- EmmySp '---' %s* '@' EmmyBody ShortComment -EmmySp <- (!'---' Comment / %s / %nl)* -EmmyComments <- EmmyComment+ - -> EmmyComment -EmmyComment <- EmmySp '---' %s* !'@' {(!%nl .)*} -EmmyBody <- 'class' %s+ EmmyClass -> EmmyClass - / 'type' %s+ EmmyType -> EmmyType - / 'alias' %s+ EmmyAlias -> EmmyAlias - / 'param' %s+ EmmyParam -> EmmyParam - / 'return' %s+ EmmyReturn -> EmmyReturn - / 'field' %s+ EmmyField -> EmmyField - / 'generic' %s+ EmmyGeneric -> EmmyGeneric - / 'vararg' %s+ EmmyVararg -> EmmyVararg - / 'language' %s+ EmmyLanguage -> EmmyLanguage - / 'see' %s+ EmmySee -> EmmySee - / 'overload' %s+ EmmyOverLoad -> EmmyOverLoad - / EmmyIncomplete - -EmmyName <- ({} {[a-zA-Z_] [a-zA-Z0-9_.]*}) - -> EmmyName -MustEmmyName <- EmmyName / DirtyEmmyName -DirtyEmmyName <- {} -> DirtyEmmyName -EmmyLongName <- ({} {(!%nl .)+}) - -> EmmyName -EmmyIncomplete <- MustEmmyName - -> EmmyIncomplete - -EmmyClass <- (MustEmmyName EmmyParentClass?) -EmmyParentClass <- %s* {} ':' %s* MustEmmyName - -EmmyType <- EmmyFunctionType - / EmmyTableType - / EmmyArrayType - / EmmyCommonType -EmmyCommonType <- EmmyTypeNames - -> EmmyCommonType -EmmyTypeNames <- EmmyTypeName (%s* {} '|' %s* !String EmmyTypeName)* -EmmyTypeName <- EmmyFunctionType - / EmmyTableType - / EmmyArrayType - / MustEmmyName -EmmyTypeEnum <- %s* (%nl %s* '---')? '|' EmmyEnum - -> EmmyTypeEnum -EmmyEnum <- %s* {'>'?} %s* String (EmmyEnumComment / (!%nl !'|' .)*) -EmmyEnumComment <- %s* '#' %s* {(!%nl .)*} - -EmmyAlias <- MustEmmyName %s* EmmyType EmmyTypeEnum* - -EmmyParam <- MustEmmyName %s* EmmyType %s* EmmyOption %s* EmmyTypeEnum* -EmmyOption <- Table? - -> EmmyOption - -EmmyReturn <- {} %nil %nil {} Table -> EmmyOption - / {} EmmyType (%s* EmmyName/%nil) {} EmmyOption - -EmmyField <- (EmmyFieldAccess MustEmmyName %s* EmmyType) -EmmyFieldAccess <- ({'public'} Cut %s*) - / ({'protected'} Cut %s*) - / ({'private'} Cut %s*) - / {} -> 'public' - -EmmyGeneric <- EmmyGenericBlock - (%s* ',' %s* EmmyGenericBlock)* -EmmyGenericBlock<- (MustEmmyName %s* (':' %s* EmmyType)?) - -> EmmyGenericBlock - -EmmyVararg <- EmmyType - -EmmyLanguage <- MustEmmyName - -EmmyArrayType <- ({} MustEmmyName -> EmmyCommonType {} '[' DirtyBR) - -> EmmyArrayType - / ({} PL EmmyCommonType DirtyPR '[' DirtyBR) - -> EmmyArrayType - -EmmyTableType <- ({} 'table' Cut '<' %s* EmmyType %s* ',' %s* EmmyType %s* '>' {}) - -> EmmyTableType - -EmmyFunctionType<- ({} 'fun' Cut %s* EmmyFunctionArgs %s* EmmyFunctionRtns {}) - -> EmmyFunctionType -EmmyFunctionArgs<- ('(' %s* EmmyFunctionArg %s* (',' %s* EmmyFunctionArg %s*)* DirtyPR) - -> EmmyFunctionArgs - / '(' %nil DirtyPR -> None - / %nil -EmmyFunctionRtns<- (':' %s* EmmyType (%s* ',' %s* EmmyType)*) - -> EmmyFunctionRtns - / %nil -EmmyFunctionArg <- MustEmmyName %s* ':' %s* EmmyType - -EmmySee <- {} MustEmmyName %s* '#' %s* MustEmmyName {} -EmmyOverLoad <- EmmyFunctionType -]] - -grammar 'Lua' [[ -Lua <- Head? - (Emmy / Action)* -> Lua - BlockEnd - Sp -Head <- '#' (!%nl .)* -]] - -return function (self, lua, mode) - local gram = compiled[mode] or compiled['Lua'] - local r, _, pos = gram:match(lua) - if not r then - local err = errorpos(pos) - return nil, err - end - - return r -end diff --git a/script/parser/init.lua b/script/parser/init.lua deleted file mode 100644 index 30596dbe..00000000 --- a/script/parser/init.lua +++ /dev/null @@ -1,9 +0,0 @@ -local api = { - grammar = require 'parser.grammar', - parse = require 'parser.parse', - split = require 'parser.split', - calcline = require 'parser.calcline', - lines = require 'parser.lines', -} - -return api diff --git a/script/parser/lines.lua b/script/parser/lines.lua deleted file mode 100644 index a5fe8116..00000000 --- a/script/parser/lines.lua +++ /dev/null @@ -1,190 +0,0 @@ -local m = require 'lpeglabel' - -local function utf8_len(buf, start, finish) - local len, pos = utf8.len(buf, start, finish) - if len then - return len - end - return 1 + utf8_len(buf, start, pos-1) + utf8_len(buf, pos+1, finish) -end - -local function Line(start, line, finish) - line.start = start - line.finish = finish - 1 - return line -end - -local function Space(...) - local line = {...} - local sp = 0 - local tab = 0 - for i = 1, #line do - if line[i] == ' ' then - sp = sp + 1 - elseif line[i] == '\t' then - tab = tab + 1 - end - line[i] = nil - end - line.sp = sp - line.tab = tab - return line -end - -local parser = m.P{ -'Lines', -Lines = m.Ct(m.V'Line'^0 * m.V'LastLine'), -Line = m.Cp() * m.V'Indent' * (1 - m.V'Nl')^0 * m.Cp() * m.V'Nl' / Line, -LastLine= m.Cp() * m.V'Indent' * (1 - m.V'Nl')^0 * m.Cp() / Line, -Nl = m.P'\r\n' + m.S'\r\n', -Indent = m.C(m.S' \t')^0 / Space, -} - -local mt = {} -mt.__index = mt - -function mt:position(row, col, code) - if row < 1 then - return 1 - end - code = code or self.code - if row > #self then - if code == 'utf8' then - return utf8_len(self.buf) + 1 - else - return #self.buf + 1 - end - end - local line = self[row] - local next_line = self[row+1] - local start = line.start - local finish - if next_line then - finish = next_line.start - 1 - else - finish = #self.buf + 1 - end - local pos - if code == 'utf8' then - if start > finish then - return finish - end - pos = utf8.offset(self.buf, col, start) or finish - else - pos = start + col - 1 - end - if pos < start then - pos = start - elseif pos > finish then - pos = finish - end - return pos -end - -local function isCharByte(byte) - if not byte then - return false - end - -- [0-9] - if byte >= 48 and byte <= 57 then - return true - end - -- [A-Z] - if byte >= 65 and byte <= 90 then - return true - end - -- [a-z] - if byte >= 97 and byte <= 122 then - return true - end - -- <utf8> - if byte >= 128 then - return true - end - return false -end - -function mt:positionAsChar(row, col, code) - local pos = self:position(row, col, code) - if isCharByte(self.buf:byte(pos, pos)) then - return pos - elseif isCharByte(self.buf:byte(pos+1, pos+1)) then - return pos + 1 - end - return pos -end - -function mt:rowcol(pos, code) - if pos < 1 then - return 1, 1 - end - code = code or self.code - if pos >= #self.buf + 1 then - local start = self[#self].start - if code == 'utf8' then - return #self, utf8_len(self.buf, start) + 1 - else - return #self, #self.buf - start + 2 - end - end - local min = 1 - local max = #self - for _ = 1, 100 do - if max == min then - local start = self[min].start - if code == 'utf8' then - return min, utf8_len(self.buf, start, pos) - else - return min, pos - start + 1 - end - end - local row = (max - min) // 2 + min - local start = self[row].start - if pos < start then - max = row - elseif pos > start then - local next_start = self[row + 1].start - if pos < next_start then - if code == 'utf8' then - return row, utf8_len(self.buf, start, pos) - else - return row, pos - start + 1 - end - elseif pos > next_start then - min = row + 1 - else - return row + 1, 1 - end - else - return row, 1 - end - end - error('rowcol failed!') -end - -function mt:line(i) - local start, finish = self:range(i) - return self.buf:sub(start, finish) -end - -function mt:range(i) - if i < 1 or i > #self then - return 0, 0 - end - return self[i].start, self[i].finish -end - -function mt:set_code(code) - self.code = code -end - -return function (self, buf, code) - local lines, err = parser:match(buf) - if not lines then - return nil, err - end - lines.buf = buf - lines.code = code - - return setmetatable(lines, mt) -end diff --git a/script/parser/parse.lua b/script/parser/parse.lua deleted file mode 100644 index 6ad79d9b..00000000 --- a/script/parser/parse.lua +++ /dev/null @@ -1,41 +0,0 @@ -local ast = require 'parser.ast' - -local Errs -local State - -local function pushError(err) - if err.finish < err.start then - err.finish = err.start - end - local last = Errs[#Errs] - if last then - if last.start <= err.start and last.finish >= err.finish then - return - end - end - err.level = err.level or 'error' - Errs[#Errs+1] = err - return err -end - -return function (self, lua, mode, version) - Errs = {} - State= { - Break = 0, - Label = {{}}, - Dots = {true}, - Version = version, - Comments = {}, - Lua = lua, - } - ast.init(State, Errs) - local suc, res, err = xpcall(self.grammar, debug.traceback, self, lua, mode) - if not suc then - return nil, res - end - if not res then - pushError(err) - return nil, Errs - end - return res, Errs, State.Comments -end diff --git a/script/parser/relabel.lua b/script/parser/relabel.lua deleted file mode 100644 index ac902403..00000000 --- a/script/parser/relabel.lua +++ /dev/null @@ -1,361 +0,0 @@ --- $Id: re.lua,v 1.44 2013/03/26 20:11:40 roberto Exp $ - --- imported functions and modules -local tonumber, type, print, error = tonumber, type, print, error -local pcall = pcall -local setmetatable = setmetatable -local tinsert, concat = table.insert, table.concat -local rep = string.rep -local m = require"lpeglabel" - --- 'm' will be used to parse expressions, and 'mm' will be used to --- create expressions; that is, 're' runs on 'm', creating patterns --- on 'mm' -local mm = m - --- pattern's metatable -local mt = getmetatable(mm.P(0)) - - - --- No more global accesses after this point -_ENV = nil - - -local any = m.P(1) -local dummy = mm.P(false) - - -local errinfo = { - NoPatt = "no pattern found", - ExtraChars = "unexpected characters after the pattern", - - ExpPatt1 = "expected a pattern after '/'", - - ExpPatt2 = "expected a pattern after '&'", - ExpPatt3 = "expected a pattern after '!'", - - ExpPatt4 = "expected a pattern after '('", - ExpPatt5 = "expected a pattern after ':'", - ExpPatt6 = "expected a pattern after '{~'", - ExpPatt7 = "expected a pattern after '{|'", - - ExpPatt8 = "expected a pattern after '<-'", - - ExpPattOrClose = "expected a pattern or closing '}' after '{'", - - ExpNumName = "expected a number, '+', '-' or a name (no space) after '^'", - ExpCap = "expected a string, number, '{}' or name after '->'", - - ExpName1 = "expected the name of a rule after '=>'", - ExpName2 = "expected the name of a rule after '=' (no space)", - ExpName3 = "expected the name of a rule after '<' (no space)", - - ExpLab1 = "expected a label after '{'", - - ExpNameOrLab = "expected a name or label after '%' (no space)", - - ExpItem = "expected at least one item after '[' or '^'", - - MisClose1 = "missing closing ')'", - MisClose2 = "missing closing ':}'", - MisClose3 = "missing closing '~}'", - MisClose4 = "missing closing '|}'", - MisClose5 = "missing closing '}'", -- for the captures - - MisClose6 = "missing closing '>'", - MisClose7 = "missing closing '}'", -- for the labels - - MisClose8 = "missing closing ']'", - - MisTerm1 = "missing terminating single quote", - MisTerm2 = "missing terminating double quote", -} - -local function expect (pattern, label) - return pattern + m.T(label) -end - - --- Pre-defined names -local Predef = { nl = m.P"\n" } - - -local mem -local fmem -local gmem - - -local function updatelocale () - mm.locale(Predef) - Predef.a = Predef.alpha - Predef.c = Predef.cntrl - Predef.d = Predef.digit - Predef.g = Predef.graph - Predef.l = Predef.lower - Predef.p = Predef.punct - Predef.s = Predef.space - Predef.u = Predef.upper - Predef.w = Predef.alnum - Predef.x = Predef.xdigit - Predef.A = any - Predef.a - Predef.C = any - Predef.c - Predef.D = any - Predef.d - Predef.G = any - Predef.g - Predef.L = any - Predef.l - Predef.P = any - Predef.p - Predef.S = any - Predef.s - Predef.U = any - Predef.u - Predef.W = any - Predef.w - Predef.X = any - Predef.x - mem = {} -- restart memoization - fmem = {} - gmem = {} - local mt = {__mode = "v"} - setmetatable(mem, mt) - setmetatable(fmem, mt) - setmetatable(gmem, mt) -end - - -updatelocale() - - - -local I = m.P(function (s,i) print(i, s:sub(1, i-1)); return i end) - - -local function getdef (id, defs) - local c = defs and defs[id] - if not c then - error("undefined name: " .. id) - end - return c -end - - -local function mult (p, n) - local np = mm.P(true) - while n >= 1 do - if n%2 >= 1 then np = np * p end - p = p * p - n = n/2 - end - return np -end - -local function equalcap (s, i, c) - if type(c) ~= "string" then return nil end - local e = #c + i - if s:sub(i, e - 1) == c then return e else return nil end -end - - -local S = (Predef.space + "--" * (any - Predef.nl)^0)^0 - -local name = m.C(m.R("AZ", "az", "__") * m.R("AZ", "az", "__", "09")^0) - -local arrow = S * "<-" - --- a defined name only have meaning in a given environment -local Def = name * m.Carg(1) - -local num = m.C(m.R"09"^1) * S / tonumber - -local String = "'" * m.C((any - "'" - m.P"\n")^0) * expect("'", "MisTerm1") - + '"' * m.C((any - '"' - m.P"\n")^0) * expect('"', "MisTerm2") - - -local defined = "%" * Def / function (c,Defs) - local cat = Defs and Defs[c] or Predef[c] - if not cat then - error("name '" .. c .. "' undefined") - end - return cat -end - -local Range = m.Cs(any * (m.P"-"/"") * (any - "]")) / mm.R - -local item = defined + Range + m.C(any - m.P"\n") - -local Class = - "[" - * (m.C(m.P"^"^-1)) -- optional complement symbol - * m.Cf(expect(item, "ExpItem") * (item - "]")^0, mt.__add) - / function (c, p) return c == "^" and any - p or p end - * expect("]", "MisClose8") - -local function adddef (t, k, exp) - if t[k] then - -- TODO 改了一下这里的代码,重复定义不会抛错 - --error("'"..k.."' already defined as a rule") - else - t[k] = exp - end - return t -end - -local function firstdef (n, r) return adddef({n}, n, r) end - - -local function NT (n, b) - if not b then - error("rule '"..n.."' used outside a grammar") - else return mm.V(n) - end -end - - -local exp = m.P{ "Exp", - Exp = S * ( m.V"Grammar" - + m.Cf(m.V"Seq" * (S * "/" * expect(S * m.V"Seq", "ExpPatt1"))^0, mt.__add) ); - Seq = m.Cf(m.Cc(m.P"") * m.V"Prefix" * (S * m.V"Prefix")^0, mt.__mul); - Prefix = "&" * expect(S * m.V"Prefix", "ExpPatt2") / mt.__len - + "!" * expect(S * m.V"Prefix", "ExpPatt3") / mt.__unm - + m.V"Suffix"; - Suffix = m.Cf(m.V"Primary" * - ( S * ( m.P"+" * m.Cc(1, mt.__pow) - + m.P"*" * m.Cc(0, mt.__pow) - + m.P"?" * m.Cc(-1, mt.__pow) - + "^" * expect( m.Cg(num * m.Cc(mult)) - + m.Cg(m.C(m.S"+-" * m.R"09"^1) * m.Cc(mt.__pow) - + name * m.Cc"lab" - ), - "ExpNumName") - + "->" * expect(S * ( m.Cg((String + num) * m.Cc(mt.__div)) - + m.P"{}" * m.Cc(nil, m.Ct) - + m.Cg(Def / getdef * m.Cc(mt.__div)) - ), - "ExpCap") - + "=>" * expect(S * m.Cg(Def / getdef * m.Cc(m.Cmt)), - "ExpName1") - ) - )^0, function (a,b,f) if f == "lab" then return a + mm.T(b) else return f(a,b) end end ); - Primary = "(" * expect(m.V"Exp", "ExpPatt4") * expect(S * ")", "MisClose1") - + String / mm.P - + Class - + defined - + "%" * expect(m.P"{", "ExpNameOrLab") - * expect(S * m.V"Label", "ExpLab1") - * expect(S * "}", "MisClose7") / mm.T - + "{:" * (name * ":" + m.Cc(nil)) * expect(m.V"Exp", "ExpPatt5") - * expect(S * ":}", "MisClose2") - / function (n, p) return mm.Cg(p, n) end - + "=" * expect(name, "ExpName2") - / function (n) return mm.Cmt(mm.Cb(n), equalcap) end - + m.P"{}" / mm.Cp - + "{~" * expect(m.V"Exp", "ExpPatt6") - * expect(S * "~}", "MisClose3") / mm.Cs - + "{|" * expect(m.V"Exp", "ExpPatt7") - * expect(S * "|}", "MisClose4") / mm.Ct - + "{" * expect(m.V"Exp", "ExpPattOrClose") - * expect(S * "}", "MisClose5") / mm.C - + m.P"." * m.Cc(any) - + (name * -arrow + "<" * expect(name, "ExpName3") - * expect(">", "MisClose6")) * m.Cb("G") / NT; - Label = num + name; - Definition = name * arrow * expect(m.V"Exp", "ExpPatt8"); - Grammar = m.Cg(m.Cc(true), "G") - * m.Cf(m.V"Definition" / firstdef * (S * m.Cg(m.V"Definition"))^0, - adddef) / mm.P; -} - -local pattern = S * m.Cg(m.Cc(false), "G") * expect(exp, "NoPatt") / mm.P - * S * expect(-any, "ExtraChars") - -local function lineno (s, i) - if i == 1 then return 1, 1 end - local adjustment = 0 - -- report the current line if at end of line, not the next - if s:sub(i,i) == '\n' then - i = i-1 - adjustment = 1 - end - local rest, num = s:sub(1,i):gsub("[^\n]*\n", "") - local r = #rest - return 1 + num, (r ~= 0 and r or 1) + adjustment -end - -local function calcline (s, i) - if i == 1 then return 1, 1 end - local rest, line = s:sub(1,i):gsub("[^\n]*\n", "") - local col = #rest - return 1 + line, col ~= 0 and col or 1 -end - - -local function splitlines(str) - local t = {} - local function helper(line) tinsert(t, line) return "" end - helper((str:gsub("(.-)\r?\n", helper))) - return t -end - -local function compile (p, defs) - if mm.type(p) == "pattern" then return p end -- already compiled - p = p .. " " -- for better reporting of column numbers in errors when at EOF - local ok, cp, label, poserr = pcall(function() return pattern:match(p, 1, defs) end) - if not ok and cp then - if type(cp) == "string" then - cp = cp:gsub("^[^:]+:[^:]+: ", "") - end - error(cp, 3) - end - if not cp then - local lines = splitlines(p) - local line, col = lineno(p, poserr) - local err = {} - tinsert(err, "L" .. line .. ":C" .. col .. ": " .. errinfo[label]) - tinsert(err, lines[line]) - tinsert(err, rep(" ", col-1) .. "^") - error("syntax error(s) in pattern\n" .. concat(err, "\n"), 3) - end - return cp -end - -local function match (s, p, i) - local cp = mem[p] - if not cp then - cp = compile(p) - mem[p] = cp - end - return cp:match(s, i or 1) -end - -local function find (s, p, i) - local cp = fmem[p] - if not cp then - cp = compile(p) / 0 - cp = mm.P{ mm.Cp() * cp * mm.Cp() + 1 * mm.V(1) } - fmem[p] = cp - end - local i, e = cp:match(s, i or 1) - if i then return i, e - 1 - else return i - end -end - -local function gsub (s, p, rep) - local g = gmem[p] or {} -- ensure gmem[p] is not collected while here - gmem[p] = g - local cp = g[rep] - if not cp then - cp = compile(p) - cp = mm.Cs((cp / rep + 1)^0) - g[rep] = cp - end - return cp:match(s) -end - - --- exported names -local re = { - compile = compile, - match = match, - find = find, - gsub = gsub, - updatelocale = updatelocale, - calcline = calcline -} - -return re diff --git a/script/parser/split.lua b/script/parser/split.lua deleted file mode 100644 index 6ce4a4e7..00000000 --- a/script/parser/split.lua +++ /dev/null @@ -1,9 +0,0 @@ -local m = require 'lpeglabel' - -local NL = m.P'\r\n' + m.S'\r\n' -local LINE = m.C(1 - NL) - -return function (str) - local MATCH = m.Ct((LINE * NL)^0 * LINE) - return MATCH:match(str) -end diff --git a/script/plugin.lua b/script/plugin.lua deleted file mode 100644 index eba224d6..00000000 --- a/script/plugin.lua +++ /dev/null @@ -1,98 +0,0 @@ -local fs = require 'bee.filesystem' -local rpc = require 'rpc' -local config = require 'config' -local glob = require 'glob' -local platform = require 'bee.platform' -local sandbox = require 'sandbox' - -local Plugins - -local function showError(msg) - local traceback = log.error(msg) - rpc:notify('window/showMessage', { - type = 3, - message = traceback, - }) - return traceback -end - -local function showWarn(msg) - log.warn(msg) - rpc:notify('window/showMessage', { - type = 3, - message = msg, - }) - return msg -end - -local function scan(path, callback) - if fs.is_directory(path) then - for p in path:list_directory() do - scan(p, callback) - end - else - callback(path) - end -end - -local function loadPluginFrom(path, root) - log.info('Load plugin from:', path:string()) - local env = setmetatable({}, { __index = _G }) - sandbox(path:filename():string(), root:string(), io.open, package.loaded, env) - Plugins[#Plugins+1] = env -end - -local function load(workspace) - Plugins = nil - - if not config.config.plugin.enable then - return - end - local suc, path = xpcall(fs.path, showWarn, config.config.plugin.path) - if not suc then - return - end - - Plugins = {} - local pluginPath - if workspace then - pluginPath = fs.absolute(workspace.root / path) - else - pluginPath = fs.absolute(path) - end - if not fs.is_directory(pluginPath) then - pluginPath = pluginPath:parent_path() - end - - local pattern = {config.config.plugin.path} - local options = { - ignoreCase = platform.OS == 'Windows' - } - local parser = glob.glob(pattern, options) - - scan(pluginPath:parent_path(), function (filePath) - if parser(filePath:string()) then - loadPluginFrom(filePath, pluginPath) - end - end) -end - -local function call(name, ...) - if not Plugins then - return nil - end - for _, plugin in ipairs(Plugins) do - if type(plugin[name]) == 'function' then - local suc, res = xpcall(plugin[name], showError, ...) - if suc and res ~= nil then - return res - end - end - end - return nil -end - -return { - load = load, - call = call, -} diff --git a/script/publish.lua b/script/publish.lua deleted file mode 100644 index 7d0321aa..00000000 --- a/script/publish.lua +++ /dev/null @@ -1,189 +0,0 @@ -local currentPath = debug.getinfo(1, 'S').source:sub(2) -local rootPath = currentPath:gsub('[^/\\]-$', '') -if rootPath == '' then - rootPath = './' -end -dofile(rootPath .. 'platform.lua') -local fs = require 'bee.filesystem' -local subprocess = require 'bee.subprocess' -local platform = require 'bee.platform' -ROOT = fs.absolute(fs.path(rootPath):parent_path()) -EXTENSION = ROOT:parent_path() - -require 'utility' -local json = require 'json' - -local function loadPackage() - local buf = io.load(EXTENSION / 'package.json') - if not buf then - error(ROOT:string() .. '|' .. EXTENSION:string()) - end - local package = json.decode(buf) - return package.version -end - -local function updateNodeModules(out, postinstall) - local current = fs.current_path() - fs.current_path(out) - local cmd = io.popen(postinstall) - for line in cmd:lines 'l' do - print(line) - end - local suc = cmd:close() - if not suc then - error('更新NodeModules失败!') - end - fs.current_path(current) -end - -local function createDirectory(version) - local out = EXTENSION / 'publish' / version - fs.create_directories(out) - return out -end - -local function copyFiles(root, out) - return function (dirs) - local count = 0 - local function copy(relative, mode) - local source = root / relative - local target = out / relative - if not fs.exists(source) then - return - end - if fs.is_directory(source) then - fs.create_directory(target) - if mode == true then - for path in source:list_directory() do - copy(relative / path:filename(), true) - end - else - for name, v in pairs(mode) do - copy(relative / name, v) - end - end - else - fs.copy_file(source, target) - count = count + 1 - end - end - - copy(fs.path '', dirs) - return count - end -end - -local function runTest(root) - local ext = platform.OS == 'Windows' and '.exe' or '' - local exe = root / platform.OS / 'bin' / 'lua-language-server' .. ext - local test = root / 'test.lua' - local lua = subprocess.spawn { - exe, - test, - '-E', - cwd = root, - stdout = true, - stderr = true, - } - for line in lua.stdout:lines 'l' do - print(line) - end - lua:wait() - local err = lua.stderr:read 'a' - if err ~= '' then - error(err) - end -end - -local function removeFiles(out) - return function (dirs) - local function remove(relative, mode) - local target = out / relative - if not fs.exists(target) then - return - end - if fs.is_directory(target) then - if mode == true then - for path in target:list_directory() do - remove(relative / path:filename(), true) - end - fs.remove(target) - else - for name, v in pairs(mode) do - remove(relative / name, v) - end - end - else - fs.remove(target) - end - end - - remove(fs.path '', dirs) - end -end - -local version = loadPackage() -print('版本号为:' .. version) - -local out = createDirectory(version) - -print('清理目录...') -removeFiles(out)(true) - -print('开始复制文件...') -local count = copyFiles(EXTENSION , out) { - ['client'] = { - ['node_modules'] = true, - ['out'] = true, - ['package-lock.json'] = true, - ['package.json'] = true, - ['tsconfig.json'] = true, - }, - ['server'] = { - ['Windows'] = true, - ['macOS'] = true, - ['Linux'] = true, - ['libs'] = true, - ['locale'] = true, - ['src'] = true, - ['test'] = true, - ['main.lua'] = true, - ['platform.lua'] = true, - ['test.lua'] = true, - ['build_package.lua'] = true, - }, - ['images'] = { - ['logo.png'] = true, - }, - ['syntaxes'] = true, - ['package-lock.json'] = true, - ['package.json'] = true, - ['README.md'] = true, - ['tsconfig.json'] = true, - ['package.nls.json'] = true, - ['package.nls.zh-cn.json'] = true, -} -print(('复制了[%d]个文件'):format(count)) - -print('开始测试...') -runTest(out / 'server') - -print('删除多余文件...') -removeFiles(out) { - ['server'] = { - ['log'] = true, - ['test'] = true, - ['test.lua'] = true, - ['build_package.lua'] = true, - }, -} - -local path = EXTENSION / 'publish' / 'lua' -print('清理发布目录...') -removeFiles(path)(true) - -print('复制到发布目录...') -local count = copyFiles(out, path)(true) -print(('复制了[%d]个文件'):format(count)) - -print('完成') diff --git a/script/rpc.lua b/script/rpc.lua deleted file mode 100644 index 4a495695..00000000 --- a/script/rpc.lua +++ /dev/null @@ -1,91 +0,0 @@ -local json = require 'json' - -local TIMEOUT = 600.0 - -local ID = 0 -local BUF = {} - -local function notify(self, method, params) - local pack = { - jsonrpc = '2.0', - method = method, - params = params, - } - local content = json.encode(pack) - local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content) - io.write(buf) -end - -local function request(self, method, params, callback) - ID = ID + 1 - local pack = { - jsonrpc = '2.0', - id = ID, - method = method, - params = params, - } - local content = json.encode(pack) - local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content) - BUF[ID] = { - callback = callback, - timeout = os.clock() + TIMEOUT, - } - io.write(buf) -end - -local function requestWait(self, method, params, callback) - ID = ID + 1 - local pack = { - jsonrpc = '2.0', - id = ID, - method = method, - params = params, - } - local content = json.encode(pack) - local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content) - BUF[ID] = { - callback = callback, - } - io.write(buf) -end - -local function response(self, id, data) - data.jsonrpc = '2.0' - data.id = id - local content = json.encode(data) - local buf = ('Content-Length: %d\r\n\r\n%s'):format(#content, content) - io.write(buf) -end - -local function recieve(self, proto) - local id = proto.id - local data = BUF[id] - if not data then - log.warn('Recieve id not found: ', table.dump(proto)) - return - end - BUF[id] = nil - if data.timeout and os.clock() > data.timeout then - log.warn('Recieve timeout: ', table.dump(proto)) - if data.callback then - local info = debug.getinfo(data.callback, 'S') - log.warn('Call back info: ', info.source, info.linedefined) - end - return - end - if proto.error then - log.warn('Recieve: ', table.dump(proto.error)) - return - end - if data.callback then - data.callback(proto.result) - end -end - -return { - notify = notify, - request = request, - requestWait = requestWait, - response = response, - recieve = recieve, -} diff --git a/script/sandbox.lua b/script/sandbox.lua deleted file mode 100644 index 6b2f2a32..00000000 --- a/script/sandbox.lua +++ /dev/null @@ -1,167 +0,0 @@ -local function standard(loaded, env) - local r = env or {} - for _, s in ipairs { - --'package', - 'coroutine', - 'table', - --'io', - 'os', - 'string', - 'math', - 'utf8', - 'debug', - } do - r[s] = _G[s] - loaded[s] = _G[s] - end - for _, s in ipairs { - 'assert', - 'collectgarbage', - --'dofile', - 'error', - 'getmetatable', - 'ipairs', - --'loadfile', - 'load', - 'next', - 'pairs', - 'pcall', - 'print', - 'rawequal', - 'rawlen', - 'rawget', - 'rawset', - 'select', - 'setmetatable', - 'tonumber', - 'tostring', - 'type', - 'xpcall', - '_VERSION', - --'require', - } do - r[s] = _G[s] - end - return r -end - -local function sandbox_env(loadlua, openfile, loaded, env) - local _LOADED = loaded or {} - local _E = standard(_LOADED, env) - local _PRELOAD = {} - - _E.io = { - open = openfile, - } - - local function searchpath(name, path) - local err = '' - name = string.gsub(name, '%.', '/') - for c in string.gmatch(path, '[^;]+') do - local filename = string.gsub(c, '%?', name) - local f = openfile(filename) - if f then - f:close() - return filename - end - err = err .. ("\n\tno file '%s'"):format(filename) - end - return nil, err - end - - local function searcher_preload(name) - assert(type(_PRELOAD) == "table", "'package.preload' must be a table") - if _PRELOAD[name] == nil then - return ("\n\tno field package.preload['%s']"):format(name) - end - return _PRELOAD[name] - end - - local function searcher_lua(name) - assert(type(_E.package.path) == "string", "'package.path' must be a string") - local filename, err = searchpath(name, _E.package.path) - if not filename then - return err - end - local f, err = loadlua(filename) - if not f then - error(("error loading module '%s' from file '%s':\n\t%s"):format(name, filename, err)) - end - return f, filename - end - - local function require_load(name) - local msg = '' - local _SEARCHERS = _E.package.searchers - assert(type(_SEARCHERS) == "table", "'package.searchers' must be a table") - for _, searcher in ipairs(_SEARCHERS) do - local f, extra = searcher(name) - if type(f) == 'function' then - return f, extra - elseif type(f) == 'string' then - msg = msg .. f - end - end - error(("module '%s' not found:%s"):format(name, msg)) - end - - _E.require = function(name) - assert(type(name) == "string", ("bad argument #1 to 'require' (string expected, got %s)"):format(type(name))) - local p = _LOADED[name] - if p ~= nil then - return p - end - local init, extra = require_load(name) - if debug.getupvalue(init, 1) == '_ENV' then - debug.setupvalue(init, 1, _E) - end - local res = init(name, extra) - if res ~= nil then - _LOADED[name] = res - end - if _LOADED[name] == nil then - _LOADED[name] = true - end - return _LOADED[name] - end - _E.package = { - config = [[ - \ - ; - ? - ! - - - ]], - loaded = _LOADED, - path = '?.lua', - preload = _PRELOAD, - searchers = { searcher_preload, searcher_lua }, - searchpath = searchpath - } - return _E -end - -return function(name, root, io_open, loaded, env) - if not root:sub(-1):find '[/\\]' then - root = root .. '/' - end - local function openfile(name, mode) - return io_open(root .. name, mode) - end - local function loadlua(name) - local f = openfile(name, 'r') - if f then - local str = f:read 'a' - f:close() - return load(str, '@' .. root .. name) - end - end - local init = loadlua(name) - if not init then - return - end - if debug.getupvalue(init, 1) == '_ENV' then - debug.setupvalue(init, 1, sandbox_env(loadlua, openfile, loaded, env)) - end - return init() -end diff --git a/script/service.lua b/script/service.lua deleted file mode 100644 index 44d75b58..00000000 --- a/script/service.lua +++ /dev/null @@ -1,1107 +0,0 @@ -local subprocess = require 'bee.subprocess' -local method = require 'method' -local thread = require 'bee.thread' -local async = require 'async' -local rpc = require 'rpc' -local parser = require 'parser' -local core = require 'core' -local lang = require 'language' -local updateTimer= require 'timer' -local buildVM = require 'vm' -local sourceMgr = require 'vm.source' -local localMgr = require 'vm.local' -local valueMgr = require 'vm.value' -local chainMgr = require 'vm.chain' -local functionMgr= require 'vm.function' -local listMgr = require 'vm.list' -local emmyMgr = require 'emmy.manager' -local config = require 'config' -local task = require 'task' -local files = require 'files' -local uric = require 'uri' -local capability = require 'capability' -local plugin = require 'plugin' -local workspace = require 'workspace' -local fn = require 'filename' -local json = require 'json' - -local ErrorCodes = { - -- Defined by JSON RPC - ParseError = -32700, - InvalidRequest = -32600, - MethodNotFound = -32601, - InvalidParams = -32602, - InternalError = -32603, - serverErrorStart = -32099, - serverErrorEnd = -32000, - ServerNotInitialized = -32002, - UnknownErrorCode = -32001, - - -- Defined by the protocol. - RequestCancelled = -32800, -} - -local CachedVM = setmetatable({}, {__mode = 'kv'}) - ----@class LSP -local mt = {} -mt.__index = mt ----@type files -mt._files = nil - -function mt:_callMethod(name, params) - local optional - if name:sub(1, 2) == '$/' then - name = name:sub(3) - optional = true - end - local f = method[name] - if f then - local clock = os.clock() - local suc, res = xpcall(f, debug.traceback, self, params) - local passed = os.clock() - clock - if passed > 0.2 then - log.debug(('Task [%s] takes [%.3f]sec.'):format(name, passed)) - end - if suc then - return res - else - local ok, r = pcall(table.dump, params) - local dump = ok and r or '<Cyclic table>' - log.debug(('Task [%s] failed, params: %s'):format( - name, dump - )) - log.error(res) - if res:find 'not enough memory' then - self:restartDueToMemoryLeak() - end - return nil, { - code = ErrorCodes.InternalError, - message = r .. '\n' .. res, - } - end - end - if optional then - return nil - else - return nil, { - code = ErrorCodes.MethodNotFound, - message = 'MethodNotFound', - } - end -end - -function mt:responseProto(id, response, err) - rpc:response(id, { - error = err and err or nil, - result = response and response or json.null, - }) -end - -function mt:_doProto(proto) - local id = proto.id - local name = proto.method - local params = proto.params - local response, err = self:_callMethod(name, params) - if not id then - return - end - if type(response) == 'function' then - response(function (final) - self:responseProto(id, final) - end) - else - self:responseProto(id, response, err) - end -end - -function mt:clearDiagnostics(uri) - rpc:notify('textDocument/publishDiagnostics', { - uri = uri, - diagnostics = {}, - }) - self._needDiagnostics[uri] = nil - log.debug('clearDiagnostics', uri) -end - ----@param uri uri ----@param compiled table ----@param mode string ----@return boolean -function mt:needCompile(uri, compiled, mode) - self._needDiagnostics[uri] = true - if self._needCompile[uri] then - return false - end - if not compiled then - compiled = {} - end - if compiled[uri] then - return false - end - self._needCompile[uri] = compiled - if mode == 'child' then - table.insert(self._needCompile, uri) - else - table.insert(self._needCompile, 1, uri) - end - return true -end - -function mt:isNeedCompile(uri) - return self._needCompile[uri] -end - -function mt:isWaitingCompile() - if self._needCompile[1] then - return true - else - return false - end -end - ----@param uri uri ----@param version integer ----@param text string -function mt:saveText(uri, version, text) - self._lastLoadedVM = uri - self._files:save(uri, text, version) - self:needCompile(uri) -end - ----@param uri uri -function mt:isDeadText(uri) - return self._files:isDead(uri) -end - ----@param name string ----@param uri uri -function mt:addWorkspace(name, uri) - log.info("Add workspace", name, uri) - for _, ws in ipairs(self.workspaces) do - if ws.name == name and ws.uri == uri then - return - end - end - local ws = workspace(self, name) - ws:init(uri) - table.insert(self.workspaces, ws) - return ws -end - ----@param name string ----@param uri uri -function mt:removeWorkspace(name, uri) - log.info("Remove workspace", name, uri) - local index - for i, ws in ipairs(self.workspaces) do - if ws.name == name and ws.uri == uri then - index = i - break - end - end - if index then - table.remove(self.workspaces, index) - end -end - ----@param uri uri ----@return Workspace -function mt:findWorkspaceFor(uri) - if #self.workspaces == 0 then - return nil - end - local path = uric.decode(uri) - if not path then - return nil - end - for _, ws in ipairs(self.workspaces) do - if not ws:relativePathByUri(uri):string():match("^%.%.") then - return ws - end - end - log.info("No workspace for", uri) - return nil -end - ----@param uri uri ----@return boolean -function mt:isLua(uri) - if fn.isLuaFile(uric.decode(uri)) then - return true - end - return false -end - -function mt:isIgnored(uri) - local ws = self:findWorkspaceFor(uri) - if not ws then - return true - end - if not ws.gitignore then - return true - end - local path = ws:relativePathByUri(uri) - if not path then - return true - end - if ws.gitignore(path:string()) then - return true - end - return false -end - ----@param uri uri ----@param version integer ----@param text string -function mt:open(uri, version, text) - if not self:isLua(uri) then - return - end - self:saveText(uri, version, text) - self._files:open(uri, text) -end - ----@param uri uri -function mt:close(uri) - self._files:close(uri) - if self._files:isLibrary(uri) then - return - end - if not self:isLua(uri) or self:isIgnored(uri) then - self:removeText(uri) - end -end - ----@param uri uri ----@return boolean -function mt:isOpen(uri) - return self._files:isOpen(uri) -end - -function mt:eachOpened() - return self._files:eachOpened() -end - -function mt:eachFile() - return self._files:eachFile() -end - ----@param uri uri ----@param path path ----@param text string -function mt:checkReadFile(uri, path, text) - if not text then - log.debug('No file: ', path) - return false - end - local size = #text / 1000.0 - if size > config.config.workspace.preloadFileSize then - log.info(('Skip large file, size: %.3f KB: %s'):format(size, uri)) - return false - end - if self:getCachedFileCount() >= config.config.workspace.maxPreload then - if not self._hasShowHitMaxPreload then - self._hasShowHitMaxPreload = true - rpc:notify('window/showMessage', { - type = 3, - message = lang.script('MWS_MAX_PRELOAD', config.config.workspace.maxPreload), - }) - end - return false - end - return true -end - ----@param ws Workspace ----@param uri uri ----@param path path ----@param buf string ----@param compiled table -function mt:readText(ws, uri, path, buf, compiled) - if self:findWorkspaceFor(uri) ~= ws then - log.debug('Read failed due to different workspace:', uri, debug.traceback()) - return - end - if self._files:get(uri) then - log.debug('Read failed due to duplicate:', uri) - return - end - if not self:isLua(uri) then - log.debug('Read failed due to not lua:', uri) - return - end - if not self._files:isOpen(uri) and self:isIgnored(uri) then - log.debug('Read failed due to ignored:', uri) - return - end - local text = buf or io.load(path) - if not self._files:isOpen(uri) and not self:checkReadFile(uri, path, text) then - log.debug('Read failed due to check failed:', uri) - return - end - self._files:save(uri, text, 0) - self:needCompile(uri, compiled) -end - ----@param ws Workspace ----@param uri uri ----@param path path ----@param buf string ----@param compiled table -function mt:readLibrary(ws, uri, path, buf, compiled) - if not self:isLua(uri) then - return - end - if not self:checkReadFile(uri, path, buf) then - return - end - self._files:save(uri, buf, 0, ws) - self._files:setLibrary(uri) - self:needCompile(uri, compiled) - self:clearDiagnostics(uri) -end - ----@param uri uri -function mt:removeText(uri) - self._files:remove(uri) - self:compileVM(uri) - self:clearDiagnostics(uri) -end - -function mt:getCachedFileCount() - return self._files:count() -end - -function mt:reCompile() - if self.global then - self.global:remove() - end - if self.chain then - self.chain:remove() - end - if self.emmy then - self.emmy:remove() - end - - local compiled = {} - self._files:clearVM() - - for _, obj in pairs(listMgr.list) do - if obj.type == 'source' or obj.type == 'function' then - obj:kill() - end - end - - self.global = core.global(self) - self.chain = chainMgr() - self.emmy = emmyMgr() - self.globalValue = nil - if self._compileTask then - self._compileTask:remove() - end - self._needCompile = {} - local n = 0 - for uri in self._files:eachFile() do - self:needCompile(uri, compiled) - n = n + 1 - end - log.debug('reCompile:', n, self._files:count()) - - self:_testMemory('skip') -end - -function mt:reDiagnostic() - for uri in self._files:eachFile() do - self:clearDiagnostics(uri) - self._needDiagnostics[uri] = true - end -end - -function mt:clearAllFiles() - for uri in self._files:eachFile() do - self:clearDiagnostics(uri) - end - self._files:clear() -end - ----@param uri uri -function mt:loadVM(uri) - local file = self._files:get(uri) - if not file then - return nil - end - if uri ~= self._lastLoadedVM then - self:needCompile(uri) - end - if self._compileTask - and not self._compileTask:isRemoved() - and self._compileTask:get 'uri' == uri - then - self._compileTask:fastForward() - else - self:compileVM(uri) - end - if file:getVM() then - self._lastLoadedVM = uri - end - return file:getVM(), file:getLines() -end - -function mt:_markCompiled(uri, compiled) - local newCompiled = self._needCompile[uri] - if newCompiled then - newCompiled[uri] = true - self._needCompile[uri] = nil - end - for i, u in ipairs(self._needCompile) do - if u == uri then - table.remove(self._needCompile, i) - break - end - end - if newCompiled == compiled then - return compiled - end - if not compiled then - compiled = {} - end - for k, v in pairs(newCompiled) do - compiled[k] = v - end - return compiled -end - ----@param file file ----@return table -function mt:compileAst(file) - local ast, err, comments = parser:parse(file:getText(), 'lua', config.config.runtime.version) - file.comments = comments - if ast then - file:setAstErr(err) - else - if type(err) == 'string' then - local message = lang.script('PARSER_CRASH', err) - log.debug(message) - rpc:notify('window/showMessage', { - type = 3, - message = lang.script('PARSER_CRASH', err:match '%.lua%:%d+%:(.+)' or err), - }) - if message:find 'not enough memory' then - self:restartDueToMemoryLeak() - end - end - end - return ast -end - ----@param file file ----@param uri uri -function mt:_clearChainNode(file, uri) - for pUri in file:eachParent() do - local parent = self._files:get(pUri) - if parent then - parent:removeChild(uri) - end - end -end - ----@param file file ----@param compiled table -function mt:_compileChain(file, compiled) - if not compiled then - compiled = {} - end - for uri in file:eachChild() do - self:needCompile(uri, compiled, 'child') - end - for uri in file:eachParent() do - self:needCompile(uri, compiled, 'parent') - end -end - -function mt:_compileGlobal(compiled) - local uris = self.global:getAllUris() - for _, uri in ipairs(uris) do - self:needCompile(uri, compiled, 'global') - end -end - -function mt:_clearGlobal(uri) - self.global:clearGlobal(uri) -end - -function mt:_hasSetGlobal(uri) - return self.global:hasSetGlobal(uri) -end - ----@param uri uri -function mt:compileVM(uri) - local file = self._files:get(uri) - if not file then - self:_markCompiled(uri) - return nil - end - local compiled = self._needCompile[uri] - if not compiled then - return nil - end - file:removeVM() - - local clock = os.clock() - local ast = self:compileAst(file) - local version = file:getVersion() - local astCost = os.clock() - clock - if astCost > 0.1 then - log.warn(('Compile Ast[%s] takes [%.3f] sec, size [%.3f]kb'):format(uri, astCost, #file:getText() / 1000)) - end - file:clearOldText() - - self:_clearChainNode(file, uri) - self:_clearGlobal(uri) - - local clock = os.clock() - local vm, err = buildVM(ast, self, uri, file:getText()) - if vm then - CachedVM[vm] = true - end - if self:isDeadText(uri) - or file:isRemoved() - or version ~= file:getVersion() - then - if vm then - vm:remove() - end - return nil - end - if self._needCompile[uri] then - self:_markCompiled(uri, compiled) - self._needDiagnostics[uri] = true - else - if vm then - vm:remove() - end - return nil - end - file:saveVM(vm, version, os.clock() - clock) - - local clock = os.clock() - local lines = parser:lines(file:getText(), 'utf8') - local lineCost = os.clock() - clock - file:saveLines(lines, lineCost) - - if file:getVMCost() > 0.2 then - log.debug(('Compile VM[%s] takes: %.3f sec'):format(uri, file:getVMCost())) - end - if not vm then - error(err) - end - - self:_compileChain(file, compiled) - if self:_hasSetGlobal(uri) then - self:_compileGlobal(compiled) - end - - return file -end - ----@param uri uri -function mt:doDiagnostics(uri) - if not config.config.diagnostics.enable then - self._needDiagnostics[uri] = nil - return - end - if not self._needDiagnostics[uri] then - return - end - local name = 'textDocument/publishDiagnostics' - local file = self._files:get(uri) - if not file - or file:isRemoved() - or not file:getVM() - or file:getVM():isRemoved() - or self._files:isLibrary(uri) - then - self._needDiagnostics[uri] = nil - self:clearDiagnostics(uri) - return - end - local data = { - uri = uri, - vm = file:getVM(), - lines = file:getLines(), - version = file:getVM():getVersion(), - } - local res = self:_callMethod(name, data) - if self:isDeadText(uri) then - return - end - if file:getVM():getVersion() ~= data.version then - return - end - if self._needDiagnostics[uri] then - self._needDiagnostics[uri] = nil - else - return - end - if res then - rpc:notify(name, { - uri = uri, - diagnostics = res, - }) - else - self:clearDiagnostics(uri) - end -end - ----@param uri uri ----@return file -function mt:getFile(uri) - return self._files:get(uri) -end - ----@param uri uri ----@return VM ----@return table ----@return string -function mt:getVM(uri) - local file = self._files:get(uri) - if not file then - return nil - end - return file:getVM(), file:getLines(), file:getText() -end - ----@param uri uri ----@return string ----@return string -function mt:getText(uri) - local file = self._files:get(uri) - if not file then - return nil - end - return file:getText(), file:getOldText() -end - -function mt:getComments(uri) - local file = self._files:get(uri) - if not file then - return nil - end - return file:getComments() -end - ----@param uri uri ----@return table -function mt:getAstErrors(uri) - local file = self._files:get(uri) - if not file then - return nil - end - return file:getAstErr() -end - ----@param child uri ----@param parent uri -function mt:compileChain(child, parent) - local parentFile = self._files:get(parent) - local childFile = self._files:get(child) - - if not parentFile or not childFile then - return - end - if parentFile == childFile then - return - end - - parentFile:addChild(child) - childFile:addParent(parent) -end - -function mt:checkWorkSpaceComplete() - if self._hasCheckedWorkSpaceComplete then - return - end - self._hasCheckedWorkSpaceComplete = true - for _, ws in ipairs(self.workspaces) do - if ws:isComplete() then - return - end - end - self._needShowComplete = true - rpc:notify('window/showMessage', { - type = 3, - message = lang.script.MWS_NOT_COMPLETE, - }) -end - -function mt:_createCompileTask() - if not self:isWaitingCompile() and not next(self._needDiagnostics) then - if self._needShowComplete then - self._needShowComplete = nil - rpc:notify('window/showMessage', { - type = 3, - message = lang.script.MWS_COMPLETE, - }) - end - end - self._compileTask = task(function () - self:doDiagnostics(self._lastLoadedVM) - local uri = self._needCompile[1] - if uri then - self._compileTask:set('uri', uri) - pcall(function () self:compileVM(uri) end) - else - uri = next(self._needDiagnostics) - if uri then - self:doDiagnostics(uri) - end - end - end) -end - -function mt:_doCompileTask() - if not self._compileTask or self._compileTask:isRemoved() then - self:_createCompileTask() - end - while true do - local res = self._compileTask:step() - if res == 'stop' then - self._compileTask:remove() - break - end - if self._compileTask:isRemoved() then - break - end - end - self:_loadProto() -end - -function mt:_loadProto() - while true do - local ok, protoStream = self._proto:pop() - if not ok then - break - end - local null = json.null - json.null = nil - local suc, proto = xpcall(json.decode, log.error, protoStream) - json.null = null - if not suc then - break - end - if proto.method then - self:_doProto(proto) - else - rpc:recieve(proto) - end - end -end - -function mt:restartDueToMemoryLeak() - rpc:requestWait('window/showMessageRequest', { - type = 3, - message = lang.script('DEBUG_MEMORY_LEAK', '[Lua]'), - actions = { - { - title = lang.script.DEBUG_RESTART_NOW, - } - } - }, function () - os.exit(true) - end) - ac.wait(5, function () - os.exit(true) - end) -end - -function mt:reScanFiles() - log.debug('reScanFiles') - self:clearAllFiles() - for _, ws in ipairs(self.workspaces) do - ws:scanFiles() - end - for uri, text in self:eachOpened() do - self:open(uri, 0, text) - end -end - -function mt:onUpdateConfig(updated, other) - local oldConfig = table.deepCopy(config.config) - local oldOther = table.deepCopy(config.other) - config:setConfig(updated, other) - local newConfig = config.config - local newOther = config.other - if not table.equal(oldConfig.runtime, newConfig.runtime) then - local library = require 'core.library' - library.reload() - self:reCompile() - end - if not table.equal(oldConfig.diagnostics, newConfig.diagnostics) then - log.debug('reDiagnostic') - self:reDiagnostic() - end - if newConfig.completion.enable then - capability.completion.enable(self) - else - capability.completion.disable(self) - end - if newConfig.color.mode == 'Semantic' then - capability.semantic.enable(self) - else - capability.semantic.disable() - end - if not table.equal(oldConfig.plugin, newConfig.plugin) then - for _, ws in ipairs(self.workspaces) do - plugin.load(ws) - end - end - if not table.equal(oldConfig.workspace, newConfig.workspace) - or not table.equal(oldConfig.plugin, newConfig.plugin) - or not table.equal(oldOther.associations, newOther.associations) - or not table.equal(oldOther.exclude, newOther.exclude) - then - self:reScanFiles() - end -end - -function mt:_testMemory(skipDead) - local clock = os.clock() - collectgarbage() - log.debug('collectgarbage: ', ('%.3f'):format(os.clock() - clock)) - - local clock = os.clock() - local cachedVM = 0 - local cachedSource = 0 - local cachedFunction = 0 - for _, file in self._files:eachFile() do - local vm = file:getVM() - if vm and not vm:isRemoved() then - cachedVM = cachedVM + 1 - cachedSource = cachedSource + #vm.sources - cachedFunction = cachedFunction + #vm.funcs - end - end - local aliveVM = 0 - local deadVM = 0 - for vm in pairs(CachedVM) do - if vm:isRemoved() then - deadVM = deadVM + 1 - else - aliveVM = aliveVM + 1 - end - end - - local alivedSource = 0 - local deadSource = 0 - for _, id in pairs(sourceMgr.watch) do - if listMgr.get(id) then - alivedSource = alivedSource + 1 - else - deadSource = deadSource + 1 - end - end - - local alivedFunction = 0 - local deadFunction = 0 - for _, id in pairs(functionMgr.watch) do - if listMgr.get(id) then - alivedFunction = alivedFunction + 1 - else - deadFunction = deadFunction + 1 - end - end - - local totalLocal = 0 - for _ in pairs(localMgr.watch) do - totalLocal = totalLocal + 1 - end - - local totalValue = 0 - local deadValue = 0 - for value in pairs(valueMgr.watch) do - totalValue = totalValue + 1 - if not value:getSource() then - deadValue = deadValue + 1 - end - end - - local totalEmmy = self.emmy:count() - - local mem = collectgarbage 'count' - local threadInfo = async.info - local threadBuf = {} - for i, count in ipairs(threadInfo) do - if count then - threadBuf[i] = ('#%03d Mem: [%.3f]kb'):format(i, count) - else - threadBuf[i] = ('#%03d Mem: <Unknown>'):format(i) - end - end - - log.debug(('\n\z - State\n\z - Main Mem: [%.3f]kb\n\z - %s\n\z --------------------\n\z - CachedVM: [%d]\n\z - AlivedVM: [%d]\n\z - DeadVM: [%d]\n\z --------------------\n\z - CachedSrc: [%d]\n\z - AlivedSrc: [%d]\n\z - DeadSrc: [%d]\n\z --------------------\n\z - CachedFunc:[%d]\n\z - AlivedFunc:[%d]\n\z - DeadFunc: [%d]\n\z --------------------\n\z - TotalVal: [%d]\n\z - DeadVal: [%d]\n\z --------------------\n\z - TotalLoc: [%d]\n\z - TotalEmmy: [%d]\n\z'):format( - mem, - table.concat(threadBuf, '\n'), - - cachedVM, - aliveVM, - deadVM, - - cachedSource, - alivedSource, - deadSource, - - cachedFunction, - alivedFunction, - deadFunction, - - totalValue, - deadValue, - totalLocal, - totalEmmy - )) - log.debug('test memory: ', ('%.3f'):format(os.clock() - clock)) - - -- TODO - --if deadValue / totalValue >= 0.5 and not skipDead then - -- self:_testFindDeadValues() - --end -end - -function mt:_testFindDeadValues() - if self._testHasFoundDeadValues then - return - end - self._testHasFoundDeadValues = true - - log.debug('Start find dead values, may takes few seconds...') - - local mark = {} - local stack = {} - local count = 0 - local clock = os.clock() - local function push(info) - stack[#stack+1] = info - end - local function pop() - stack[#stack] = nil - end - local function showStack(uri) - count = count + 1 - log.debug(uri, table.concat(stack, '->')) - end - local function scan(name, tbl) - if count > 100 or os.clock() - clock > 5.0 then - return - end - if type(tbl) ~= 'table' then - return - end - if mark[tbl] then - return - end - mark[tbl] = true - if tbl.type then - push(('%s<%s>'):format(name, tbl.type)) - else - push(name) - end - if tbl.type == 'value' then - if not tbl:getSource() then - showStack(tbl.uri) - end - elseif tbl.type == 'files' then - for k, v in tbl:eachFile() do - scan(k, v) - end - else - for k, v in pairs(tbl) do - scan(k, v) - end - end - pop() - end - scan('root', self._files) - log.debug('Finish...') -end - -function mt:onTick() - self:_loadProto() - self:_doCompileTask() - if (os.clock() - self._clock >= 60 and not self:isWaitingCompile()) - or (os.clock() - self._clock >= 300) - then - self._clock = os.clock() - self:_testMemory() - end -end - -function mt:listen() - subprocess.filemode(io.stdin, 'b') - subprocess.filemode(io.stdout, 'b') - io.stdin:setvbuf 'no' - io.stdout:setvbuf 'no' - - local _, out = async.run 'proto' - self._proto = out - - local timerClock = 0.0 - while true do - local startClock = os.clock() - async.onTick() - self:onTick() - - local delta = os.clock() - timerClock - local suc, err = xpcall(updateTimer, log.error, delta) - if not suc then - io.stderr:write(err) - io.stderr:flush() - end - timerClock = os.clock() - - local passedClock = os.clock() - startClock - if passedClock > 0.1 then - thread.sleep(0.0) - else - thread.sleep(0.001) - end - end -end - ---- @return LSP -return function () - local session = setmetatable({ - _needCompile = {}, - _needDiagnostics = {}, - _clock = -100, - _version = 0, - _files = files(), - }, mt) - session.global = core.global(session) - session.chain = chainMgr() - session.emmy = emmyMgr() - ---@type Workspace[] - session.workspaces = {} - return session -end diff --git a/script/task.lua b/script/task.lua deleted file mode 100644 index bb1a7922..00000000 --- a/script/task.lua +++ /dev/null @@ -1,64 +0,0 @@ -local mt = {} -mt.__index = mt -mt.type = 'task' - -function mt:remove() - if self._removed then - return - end - self._removed = true - coroutine.close(self.task) -end - -function mt:isRemoved() - return self._removed -end - -function mt:step() - if self._removed then - return - end - local suc, res = coroutine.resume(self.task) - if not suc then - self:remove() - log.error(debug.traceback(self.task, res)) - return - end - if coroutine.status(self.task) == 'dead' then - self:remove() - end - return res -end - -function mt:fastForward() - if self._removed then - return - end - while true do - local suc = coroutine.resume(self.task) - if not suc then - self:remove() - break - end - if coroutine.status(self.task) == 'dead' then - self:remove() - break - end - end -end - -function mt:set(key, value) - self.data[key] = value -end - -function mt:get(key) - return self.data[key] -end - -return function (callback) - local self = setmetatable({ - data = {}, - task = coroutine.create(callback), - }, mt) - return self -end diff --git a/script/timer.lua b/script/timer.lua deleted file mode 100644 index dc36e6a0..00000000 --- a/script/timer.lua +++ /dev/null @@ -1,276 +0,0 @@ -local setmetatable = setmetatable -local pairs = pairs -local tableInsert = table.insert -local mathMax = math.max -local mathFloor = math.floor - -local curFrame = 0 -local maxFrame = 0 -local curIndex = 0 -local freeQueue = {} -local timer = {} - -local function allocQueue() - local n = #freeQueue - if n > 0 then - local r = freeQueue[n] - freeQueue[n] = nil - return r - else - return {} - end -end - -local function mTimeout(self, timeout) - if self._pauseRemaining or self._running then - return - end - local ti = curFrame + timeout - local q = timer[ti] - if q == nil then - q = allocQueue() - timer[ti] = q - end - self._timeoutFrame = ti - self._running = true - q[#q + 1] = self -end - -local function mWakeup(self) - if self._removed then - return - end - self._running = false - if self._onTimer then - xpcall(self._onTimer, log.error, self) - end - if self._removed then - return - end - if self._timerCount then - if self._timerCount > 1 then - self._timerCount = self._timerCount - 1 - mTimeout(self, self._timeout) - else - self._removed = true - end - else - mTimeout(self, self._timeout) - end -end - -local function getRemaining(self) - if self._removed then - return 0 - end - if self._pauseRemaining then - return self._pauseRemaining - end - if self._timeoutFrame == curFrame then - return self._timeout or 0 - end - return self._timeoutFrame - curFrame -end - -local function onTick() - local q = timer[curFrame] - if q == nil then - curIndex = 0 - return - end - for i = curIndex + 1, #q do - local callback = q[i] - curIndex = i - q[i] = nil - if callback then - mWakeup(callback) - end - end - curIndex = 0 - timer[curFrame] = nil - freeQueue[#freeQueue + 1] = q -end - -function ac.clock() - return curFrame / 1000.0 -end - -function ac.timer_size() - local n = 0 - for _, ts in pairs(timer) do - n = n + #ts - end - return n -end - -function ac.timer_all() - local tbl = {} - for _, ts in pairs(timer) do - for i, t in ipairs(ts) do - if t then - tbl[#tbl + 1] = t - end - end - end - return tbl -end - -local function update(delta) - if curIndex ~= 0 then - curFrame = curFrame - 1 - end - maxFrame = maxFrame + delta * 1000.0 - while curFrame < maxFrame do - curFrame = curFrame + 1 - onTick() - end -end - -local mt = {} -mt.__index = mt -mt.type = 'timer' - -function mt:__tostring() - return '[table:timer]' -end - -function mt:__call() - if self._onTimer then - self:_onTimer() - end -end - -function mt:remove() - self._removed = true -end - -function mt:pause() - if self._removed or self._pauseRemaining then - return - end - self._pauseRemaining = getRemaining(self) - self._running = false - local ti = self._timeoutFrame - local q = timer[ti] - if q then - for i = #q, 1, -1 do - if q[i] == self then - q[i] = false - return - end - end - end -end - -function mt:resume() - if self._removed or not self._pauseRemaining then - return - end - local timeout = self._pauseRemaining - self._pauseRemaining = nil - mTimeout(self, timeout) -end - -function mt:restart() - if self._removed or self._pauseRemaining or not self._running then - return - end - local ti = self._timeoutFrame - local q = timer[ti] - if q then - for i = #q, 1, -1 do - if q[i] == self then - q[i] = false - break - end - end - end - self._running = false - mTimeout(self, self._timeout) -end - -function mt:remaining() - return getRemaining(self) / 1000.0 -end - -function mt:onTimer() - self:_onTimer() -end - -function ac.wait(timeout, onTimer) - local t = setmetatable({ - ['_timeout'] = mathMax(mathFloor(timeout * 1000.0), 1), - ['_onTimer'] = onTimer, - ['_timerCount'] = 1, - }, mt) - mTimeout(t, t._timeout) - return t -end - -function ac.loop(timeout, onTimer) - local t = setmetatable({ - ['_timeout'] = mathFloor(timeout * 1000.0), - ['_onTimer'] = onTimer, - }, mt) - mTimeout(t, t._timeout) - return t -end - -function ac.timer(timeout, count, onTimer) - if count == 0 then - return ac.loop(timeout, onTimer) - end - local t = setmetatable({ - ['_timeout'] = mathFloor(timeout * 1000.0), - ['_onTimer'] = onTimer, - ['_timerCount'] = count, - }, mt) - mTimeout(t, t._timeout) - return t -end - -local function utimer_initialize(u) - if not u._timers then - u._timers = {} - end - if #u._timers > 0 then - return - end - u._timers[1] = ac.loop(0.01, function() - local timers = u._timers - for i = #timers, 2, -1 do - if timers[i]._removed then - local len = #timers - timers[i] = timers[len] - timers[len] = nil - end - end - if #timers == 1 then - timers[1]:remove() - timers[1] = nil - end - end) -end - -function ac.uwait(u, timeout, onTimer) - utimer_initialize(u) - local t = ac.wait(timeout, onTimer) - tableInsert(u._timers, t) - return t -end - -function ac.uloop(u, timeout, onTimer) - utimer_initialize(u) - local t = ac.loop(timeout, onTimer) - tableInsert(u._timers, t) - return t -end - -function ac.utimer(u, timeout, count, onTimer) - utimer_initialize(u) - local t = ac.timer(timeout, count, onTimer) - tableInsert(u._timers, t) - return t -end - -return update diff --git a/script/uri.lua b/script/uri.lua deleted file mode 100644 index 8f570daf..00000000 --- a/script/uri.lua +++ /dev/null @@ -1,15 +0,0 @@ -local fs = require 'bee.filesystem' -local furi = require 'file-uri' - -local function encode(path) - return furi.encode(path:string()) -end - -local function decode(uri) - return fs.path(furi.decode(uri)) -end - -return { - encode = encode, - decode = decode, -} diff --git a/script/utility.lua b/script/utility.lua deleted file mode 100644 index d7fc9dde..00000000 --- a/script/utility.lua +++ /dev/null @@ -1,234 +0,0 @@ -local fs = require 'bee.filesystem' - -local table_sort = table.sort -local stringRep = string.rep -local type = type -local pairs = pairs -local ipairs = ipairs -local math_type = math.type -local next = next -local rawset = rawset -local move = table.move -local setmetatable = setmetatable -local tableSort = table.sort -local mathType = math.type - -local function formatNumber(n) - local str = ('%.10f'):format(n) - str = str:gsub('%.?0*$', '') - return str -end - -local TAB = setmetatable({}, { __index = function (self, n) - self[n] = stringRep('\t', n) - return self[n] -end}) - -local RESERVED = { - ['and'] = true, - ['break'] = true, - ['do'] = true, - ['else'] = true, - ['elseif'] = true, - ['end'] = true, - ['false'] = true, - ['for'] = true, - ['function'] = true, - ['goto'] = true, - ['if'] = true, - ['in'] = true, - ['local'] = true, - ['nil'] = true, - ['not'] = true, - ['or'] = true, - ['repeat'] = true, - ['return'] = true, - ['then'] = true, - ['true'] = true, - ['until'] = true, - ['while'] = true, -} - -function table.dump(tbl) - if type(tbl) ~= 'table' then - return ('%q'):format(tbl) - end - local lines = {} - local mark = {} - lines[#lines+1] = '{' - local function unpack(tbl, tab) - if mark[tbl] and mark[tbl] > 0 then - lines[#lines+1] = TAB[tab+1] .. '"<Loop>"' - return - end - if #lines > 10000 then - lines[#lines+1] = TAB[tab+1] .. '"<Large>"' - return - end - mark[tbl] = (mark[tbl] or 0) + 1 - local keys = {} - local keymap = {} - local integerFormat = '[%d]' - if #tbl >= 10 then - local width = math.log(#tbl, 10) - integerFormat = ('[%%0%dd]'):format(math.ceil(width)) - end - for key in pairs(tbl) do - if type(key) == 'string' then - if not key:match('^[%a_][%w_]*$') - or #key >= 32 - or RESERVED[key] - then - keymap[key] = ('[%q]'):format(key) - else - keymap[key] = key - end - elseif mathType(key) == 'integer' then - keymap[key] = integerFormat:format(key) - else - keymap[key] = ('["<%s>"]'):format(key) - end - keys[#keys+1] = key - end - local mt = getmetatable(tbl) - if not mt or not mt.__pairs then - tableSort(keys, function (a, b) - return keymap[a] < keymap[b] - end) - end - for _, key in ipairs(keys) do - local value = tbl[key] - local tp = type(value) - if tp == 'table' then - lines[#lines+1] = ('%s%s = {'):format(TAB[tab+1], keymap[key]) - unpack(value, tab+1) - lines[#lines+1] = ('%s},'):format(TAB[tab+1]) - elseif tp == 'string' or tp == 'boolean' then - lines[#lines+1] = ('%s%s = %q,'):format(TAB[tab+1], keymap[key], value) - elseif tp == 'number' then - lines[#lines+1] = ('%s%s = %s,'):format(TAB[tab+1], keymap[key], formatNumber(value)) - elseif tp == 'nil' then - else - lines[#lines+1] = ('%s%s = %s,'):format(TAB[tab+1], keymap[key], tostring(value)) - end - end - mark[tbl] = mark[tbl] - 1 - end - unpack(tbl, 0) - lines[#lines+1] = '}' - return table.concat(lines, '\r\n') -end - -local function sort_table(tbl) - if not tbl then - tbl = {} - end - local mt = {} - local keys = {} - local mark = {} - local n = 0 - for key in next, tbl do - n=n+1;keys[n] = key - mark[key] = true - end - table_sort(keys) - function mt:__newindex(key, value) - rawset(self, key, value) - n=n+1;keys[n] = key - mark[key] = true - if type(value) == 'table' then - sort_table(value) - end - end - function mt:__pairs() - local list = {} - local m = 0 - for key in next, self do - if not mark[key] then - m=m+1;list[m] = key - end - end - if m > 0 then - move(keys, 1, n, m+1) - table_sort(list) - for i = 1, m do - local key = list[i] - keys[i] = key - mark[key] = true - end - n = n + m - end - local i = 0 - return function () - i = i + 1 - local key = keys[i] - return key, self[key] - end - end - - return setmetatable(tbl, mt) -end - -function table.container(tbl) - return sort_table(tbl) -end - -function table.equal(a, b) - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not table.equal(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -function table.deepCopy(a) - local t = {} - for k, v in pairs(a) do - if type(v) == 'table' then - t[k] = table.deepCopy(v) - else - t[k] = v - end - end - return t -end - -function io.load(file_path) - local f, e = io.open(file_path:string(), 'rb') - if not f then - return nil, e - end - if f:read(3) ~= '\xEF\xBB\xBF' then - f:seek("set") - end - local buf = f:read 'a' - f:close() - return buf -end - -function io.save(file_path, content) - local f, e = io.open(file_path:string(), "wb") - - if f then - f:write(content) - f:close() - return true - else - return false, e - end -end diff --git a/script/vm/chain.lua b/script/vm/chain.lua deleted file mode 100644 index 6e7c6ac7..00000000 --- a/script/vm/chain.lua +++ /dev/null @@ -1,65 +0,0 @@ -local valueMgr = require 'vm.value' -local sourceMgr = require 'vm.source' - -local mt = {} -mt.__index = mt -mt.type = 'chain' - -mt.min = 100 -mt.max = 100 -mt.count = 0 - -function mt:clearCache() - if self.count <= self.max then - return - end - local clock = os.clock() - local n = 0 - for uri, value in pairs(self.cache) do - local ok = value:eachInfo(function () - return true - end) - if ok then - n = n + 1 - else - value:getSource():kill() - self.cache[uri] = nil - end - end - self.count = n - self.max = self.count * 1.1 + 10 - if self.max < self.min then - self.max = self.min - end - local passed = os.clock() - clock - if passed > 0.1 then - log.warn(('chain:clearCache takes: [%.3f]sec, self.count: %d'):format(passed, self.count)) - end -end - -function mt:get(uri) - if not self.cache[uri] then - self.count = self.count + 1 - self:clearCache() - self.cache[uri] = valueMgr.create('any', sourceMgr.dummy()) - self.cache[uri]:markGlobal() - self.cache[uri].uri = uri - end - return self.cache[uri] -end - -function mt:remove() - if self.removed then - return - end - self.removed = true - for _, value in pairs(self.cache) do - value:getSource():kill() - end -end - -return function () - return setmetatable({ - cache = {}, - }, mt) -end diff --git a/script/vm/emmy.lua b/script/vm/emmy.lua deleted file mode 100644 index 67242f9a..00000000 --- a/script/vm/emmy.lua +++ /dev/null @@ -1,372 +0,0 @@ -local functionMgr = require 'vm.function' -local library = require 'vm.library' -local mt = require 'vm.manager' - -function mt:clearEmmy() - self._emmy = nil - self._emmyParams = nil - self._emmyReturns = nil - self._emmyGeneric = nil - self._emmyComment = nil - self._emmyOverLoads = nil -end - -function mt:doEmmy(action) - local tp = action.type - if tp == 'emmyClass' then - self:doEmmyClass(action) - elseif tp == 'emmyType' then - self:doEmmyType(action) - elseif tp == 'emmyAlias' then - self:doEmmyAlias(action) - elseif tp == 'emmyParam' then - self:doEmmyParam(action) - elseif tp == 'emmyReturn' then - self:doEmmyReturn(action) - elseif tp == 'emmyField' then - self:doEmmyField(action) - elseif tp == 'emmyGeneric' then - self:doEmmyGeneric(action) - elseif tp == 'emmyVararg' then - self:doEmmyVararg(action) - elseif tp == 'emmyLanguage' then - elseif tp == 'emmyArrayType' then - self:doEmmyArrayType(action) - elseif tp == 'emmyTableType' then - self:doEmmyTableType(action) - elseif tp == 'emmyFunctionType' then - self:doEmmyFunctionType(action) - elseif tp == 'emmySee' then - self:doEmmySee(action) - elseif tp == 'emmyOverLoad' then - self:doEmmyOverLoad(action) - elseif tp == 'emmyIncomplete' then - self:doEmmyIncomplete(action) - elseif tp == 'emmyComment' then - self:doEmmyComment(action) - end -end - -function mt:getEmmy() - local emmy = self._emmy - self._emmy = nil - return emmy -end - -function mt:addEmmyParam(param) - if not self._emmyParams then - self._emmyParams = {} - end - self._emmyParams[#self._emmyParams+1] = param -end - -function mt:addEmmyReturn(rtn) - if not self._emmyReturns then - self._emmyReturns = {} - end - self._emmyReturns[#self._emmyReturns+1] = rtn -end - -function mt:addEmmyOverLoad(funcObj) - if not self._emmyOverLoads then - self._emmyOverLoads = {} - end - self._emmyOverLoads[#self._emmyOverLoads+1] = funcObj -end - -function mt:getEmmyParams() - local params = self._emmyParams - self._emmyParams = nil - return params -end - -function mt:getEmmyReturns() - local returns = self._emmyReturns - self._emmyReturns = nil - return returns -end - -function mt:getEmmyOverLoads() - local overLoads = self._emmyOverLoads - self._emmyOverLoads = nil - return overLoads -end - -function mt:getEmmyGeneric() - local generic = self._emmyGeneric - self._emmyGeneric = nil - return generic -end - ----@return string -function mt:getEmmyComment() - local comment = self._emmyComment - self._emmyComment = nil - return comment -end - -function mt:doEmmyClass(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - self:instantSource(action[1]) - local class = emmyMgr:addClass(action) - action:set('emmy class', class:getName()) - action[1]:set('emmy class', class:getName()) - local extends = action[2] - if extends then - self:instantSource(extends) - extends:set('emmy class', extends[1]) - end - self._emmy = class - action:set('emmy.class', class) - if self.lsp then - self.lsp.global:markSet(self:getUri()) - end -end - -function mt:buildEmmyType(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - for _, obj in ipairs(action) do - self:instantSource(obj) - obj:set('emmy class', obj[1]) - end - local type = emmyMgr:addType(action) - return type -end - -function mt:doEmmyType(action) - local type = self:buildEmmyType(action) - self._emmy = type - if self.lsp then - self.lsp.global:markGet(self:getUri()) - end - return type -end - -function mt:doEmmyAlias(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - self:instantSource(action[1]) - local type = self:buildEmmyAnyType(action[2]) - local alias = emmyMgr:addAlias(action, type) - action:set('emmy.alias', alias) - action[1]:set('emmy class', alias:getName()) - self._emmy = type - if self.lsp then - self.lsp.global:markSet(self:getUri()) - end -end - -function mt:getGenericByType(type) - local generics = self._emmyGeneric - if not generics then - return - end - if #type ~= 1 then - return - end - local name = type[1][1] - for _, generic in ipairs(generics) do - if generic:getName() == name then - return generic - end - end - return nil -end - -function mt:doEmmyParam(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - self:instantSource(action[1]) - local type = self:getGenericByType(action[2]) or self:buildEmmyAnyType(action[2]) - local param = emmyMgr:addParam(action, type) - action:set('emmy.param', param) - self:addEmmyParam(param) - if self.lsp then - self.lsp.global:markGet(self:getUri()) - end -end - -function mt:doEmmyReturn(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - local type = action[1] and (self:getGenericByType(action[1]) or self:buildEmmyAnyType(action[1])) - local name = action[2] - local rtn = emmyMgr:addReturn(action, type, name) - action:set('emmy.return', rtn) - self:addEmmyReturn(rtn) - if self.lsp then - self.lsp.global:markGet(self:getUri()) - end -end - -function mt:doEmmyField(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - self:instantSource(action[2]) - local type = self:buildEmmyAnyType(action[3]) - local value = self:createValue('nil', action[2]) - local field = emmyMgr:addField(action, type, value) - value:setEmmy(type) - action:set('emmy.field', field) - - local class = self._emmy - if not self._emmy or self._emmy.type ~= 'emmy.class' then - return - end - class:addField(field) - action:set('target class', class) -end - -function mt:doEmmyGeneric(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - - local defs = {} - for i, obj in ipairs(action) do - defs[i] = {} - defs[i].name = self:instantSource(obj[1]) - if obj[2] then - defs[i].type = self:buildEmmyAnyType(obj[2]) - end - end - - local generic = emmyMgr:addGeneric(defs) - self._emmyGeneric = generic -end - -function mt:doEmmyVararg(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - local type = self:getGenericByType(action[1]) or self:buildEmmyAnyType(action[1]) - local param = emmyMgr:addParam(action, type) - action:set('emmy.param', param) - self:addEmmyParam(param) - if self.lsp then - self.lsp.global:markGet(self:getUri()) - end -end - -function mt:buildEmmyArrayType(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - for _, obj in ipairs(action) do - self:instantSource(obj) - action:set('emmy class', obj[1]) - end - local type = emmyMgr:addArrayType(action) - return type -end - -function mt:doEmmyArrayType(action) - local type = self:buildEmmyArrayType(action) - self._emmy = type - if self.lsp then - self.lsp.global:markGet(self:getUri()) - end - return type -end - -function mt:buildEmmyTableType(action) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(action) - local keyType = self:buildEmmyAnyType(action[1]) - local valueType = self:buildEmmyAnyType(action[2]) - local type = emmyMgr:addTableType(action, keyType, valueType) - return type -end - -function mt:doEmmyTableType(action) - local type = self:buildEmmyTableType(action) - self._emmy = type - if self.lsp then - self.lsp.global:markGet(self:getUri()) - end - return type -end - -function mt:buildEmmyFunctionType(source) - ---@type emmyMgr - local emmyMgr = self.emmyMgr - self:instantSource(source) - local funcObj = emmyMgr:addFunctionType(source) - ---@type emmyFunction - local func = functionMgr.create(source) - local args = source.args - if args then - for i = 1, #args // 2 do - local nameSource = args[i*2-1] - local typeSource = args[i*2] - local paramType = self:buildEmmyAnyType(typeSource) - funcObj:addParam(nameSource[1], paramType) - local value = self:createValue(paramType:getType(), typeSource) - value:setEmmy(paramType) - self:instantSource(nameSource) - local arg = func:addArg(nameSource[1], nameSource, value) - arg:set('emmy arg', true) - end - end - local returns = source.returns - if returns then - for i = 1, #returns do - local returnSource = returns[i] - local returnType = self:buildEmmyAnyType(returnSource) - funcObj:addReturn(returnType) - local value = self:createValue(returnType:getType(), returnSource) - value:setEmmy(returnType) - func:setReturn(i, value) - end - end - funcObj:bindFunction(func) - return funcObj -end - -function mt:doEmmyFunctionType(action) - local funcObj = self:buildEmmyFunctionType(action) - self._emmy = funcObj - return funcObj -end - -function mt:buildEmmyAnyType(source) - if source.type == 'emmyType' then - return self:buildEmmyType(source) - elseif source.type == 'emmyArrayType' then - return self:buildEmmyArrayType(source) - elseif source.type == 'emmyTableType' then - return self:buildEmmyTableType(source) - elseif source.type == 'emmyFunctionType' then - return self:buildEmmyFunctionType(source) - else - error('Unknown emmy type: ' .. table.dump(source)) - end -end - -function mt:doEmmyIncomplete(action) - self:instantSource(action) -end - -function mt:doEmmyComment(action) - self._emmyComment = action[1] -end - -function mt:doEmmySee(action) - self:instantSource(action) - self:instantSource(action[2]) - action[2]:set('emmy see', action) -end - -function mt:doEmmyOverLoad(action) - local funcObj = self:buildEmmyFunctionType(action) - self:addEmmyOverLoad(funcObj) -end diff --git a/script/vm/function.lua b/script/vm/function.lua deleted file mode 100644 index be58bf7c..00000000 --- a/script/vm/function.lua +++ /dev/null @@ -1,553 +0,0 @@ -local createMulti = require 'vm.multi' -local valueMgr = require 'vm.value' -local localMgr = require 'vm.local' -local sourceMgr = require 'vm.source' -local listMgr = require 'vm.list' - -local Watch = setmetatable({}, {__mode = 'kv'}) - ----@class emmyFunction -local mt = {} -mt.__index = mt -mt.type = 'function' -mt._runed = 0 -mt._top = 0 - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:getUri() - local source = self:getSource() - return source and source.uri or '' -end - -function mt:push(source, ischunk) - if self._removed then - return - end - self._top = self._top + 1 - self.locals[self._top] = {} - self.finishs[self._top] = source and source.finish or math.maxinteger -end - -function mt:markChunk() - self.chunk[self._top] = true -end - -function mt:pop() - if self._removed then - return - end - local closed = self.finishs[self._top] - local closedLocals = self.locals[self._top] - self.locals[self._top] = nil - self.chunk[self._top] = nil - for _, loc in pairs(closedLocals) do - loc:close(closed) - end - self._top = self._top - 1 -end - -function mt:saveLocal(name, loc) - if self._removed then - return - end - if loc.type ~= 'local' then - error('saveLocal必须是local') - end - if not loc:getSource() then - return - end - local old = self:loadLocal(name) - if old then - loc:shadow(old) - end - self.locals[self._top][name] = loc -end - -function mt:saveUpvalue(name, loc) - if self._removed then - return - end - if loc.type ~= 'local' then - error('saveLocal必须是local') - end - self.upvalues[name] = loc -end - -function mt:loadLocal(name) - for i = self._top, 1, -1 do - local locals = self.locals[i] - local loc = locals[name] - if loc then - return loc - end - if self.chunk[i] then - break - end - end - local uv = self.upvalues[name] - if uv then - return uv - end - return nil -end - -function mt:eachLocal(callback) - local mark = {} - for i = self._top, 1, -1 do - local locals = self.locals[i] - for name, loc in pairs(locals) do - if not mark[name] then - mark[name] = true - local res = callback(name, loc) - if res ~= nil then - return res - end - end - end - if self.chunk[i] then - break - end - end - for name, loc in pairs(self.upvalues) do - if not mark[name] then - mark[name] = true - local res = callback(name, loc) - if res ~= nil then - return res - end - end - end - return nil -end - -function mt:saveLabel(label) - if self._removed then - return - end - if not self._label then - self._label = {} - end - self._label[#self._label+1] = label -end - -function mt:loadLabel(name) - if not self._label then - return nil - end - for _, label in ipairs(self._label) do - if label:getName() == name then - return label - end - end - return nil -end - -function mt:rawSetReturn(index, value) - if self._removed then - return - end - self:set('hasReturn', true) - if not self.returns then - self.returns = createMulti() - end - if value then - self.returns:set(index, value) - if self._global then - value:markGlobal() - end - end -end - -function mt:setReturn(index, value) - local emmy = self._emmyReturns and self._emmyReturns[index] - if emmy then - if emmy:bindType() or emmy:bindGeneric() then - return - end - end - return self:rawSetReturn(index, value) -end - -function mt:mergeReturn(index, value) - if self._removed then - return - end - local emmy = self._emmyReturns and self._emmyReturns[index] - if emmy then - if emmy:bindType() or emmy:bindGeneric() then - return - end - end - self:set('hasReturn', true) - if not self.returns then - self.returns = createMulti() - end - if value then - if self.returns[index] then - self.returns[index]:mergeValue(value) - self.returns[index] = value - else - self.returns:set(index, value) - end - end - if self._global then - value:markGlobal() - end -end - -function mt:getReturn(index) - if self._removed then - return nil - end - if self.maxReturns and index and self.maxReturns < index then - return nil - end - if not self.returns then - self.returns = createMulti() - end - if index then - return self.returns:get(index) - else - return self.returns - end -end - -function mt:returnDots(index) - if not self.returns then - self.returns = createMulti() - end - --self.returns[index] = createMulti() -end - -function mt:loadDots() - if not self._dots then - self._dots = createMulti() - end - self._dotsLoad = true - return self._dots -end - -function mt:setObject(value, source) - self._objectValue = value - self._objectSource = source -end - -function mt:getObject() - return self._objectSource, self._objectValue -end - -function mt:hasRuned() - return self._runed > 0 -end - -function mt:needSkip() - return self._runed > 3 -end - ----@param vm VM -function mt:run(vm) - if self._removed then - return - end - if not self:getSource() then - return - end - - self._runed = self._runed + 1 - - -- 第一次运行函数时,创建函数的参数 - if self._runed == 1 then - -- 如果是面向对象形式的函数,创建隐藏的参数self - if self._objectSource then - local loc = localMgr.create('self', vm:instantSource(self._objectSource), self._objectValue) - loc:set('hide', true) - loc:set('start', self:getSource().start) - loc:close(self:getSource().finish) - self:saveUpvalue('self', loc) - self.args[#self.args+1] = loc - end - - -- 显性声明的参数 - self:createArgs(vm) - end - - if self:needSkip() then - return - end - - -- 向局部变量中填充参数 - for i, loc in ipairs(self.args) do - loc:setValue(self.argValues[i]) - local emmyParam = self:findEmmyParamByName(loc:getName()) - if emmyParam then - local typeObj = emmyParam:bindType() - if typeObj then - loc:getValue():setEmmy(typeObj) - end - local genericObj = emmyParam:bindGeneric() - if genericObj then - genericObj:setValue(loc:getValue()) - end - end - end - if self._dots then - local emmyParam = self:findEmmyParamByName('...') - self._dots = createMulti() - for i = #self.args + 1, #self.argValues do - local value = self.argValues[i] - self._dots:push(value) - if emmyParam then - local typeObj = emmyParam:bindType() - if typeObj then - value:setEmmy(typeObj) - end - local genericObj = emmyParam:bindGeneric() - if genericObj then - genericObj:setValue(value) - end - end - end - if emmyParam then - local typeObj = emmyParam:bindType() - if typeObj then - self._dots:setEmmy(typeObj) - end - local genericObj = emmyParam:bindGeneric() - if genericObj then - local value = self._dots:first() - if value then - genericObj:setValue(value) - end - end - end - end - - -- 填充返回值 - if self._emmyReturns then - for i, rtn in ipairs(self._emmyReturns) do - local value = vm:createValue('nil', rtn:getSource()) - local typeObj = rtn:bindType() - if typeObj then - value:setEmmy(typeObj) - end - local genericObj = rtn:bindGeneric() - if genericObj then - local destValue = genericObj:getValue() - if destValue then - value:mergeType(destValue) - end - end - self:rawSetReturn(i, value) - end - end -end - -function mt:eachEmmyReturn(callback) - if not self._emmyReturns then - return - end - for _, rtn in ipairs(self._emmyReturns) do - callback(rtn) - end -end - -function mt:setArgs(values) - for i = 1, #self.argValues do - self.argValues[i] = nil - end - for i = 1, #values do - self.argValues[i] = values[i] - end -end - -function mt:findEmmyParamByName(name) - local params = self._emmyParams - if not params then - return nil - end - for i = #params, 1, -1 do - local param = params[i] - if param:getName() == name then - return param - end - end - return nil -end - -function mt:findEmmyParamByIndex(index) - local arg = self.args[index] - if not arg then - return nil - end - local name = arg:getName() - return self:findEmmyParamByName(name) -end - -function mt:addArg(name, source, value, close) - local loc = localMgr.create(name, source, value) - loc:close(close) - self:saveUpvalue(name, loc) - self.args[#self.args+1] = loc - return loc -end - -function mt:createArg(vm, arg, close) - vm:instantSource(arg) - arg:set('arg', self) - if arg.type == 'name' then - vm:instantSource(arg) - local value = valueMgr.create('nil', arg) - self:addArg(arg[1], arg, value, close) - elseif arg.type == '...' then - self._dots = createMulti() - self._dotsSource = arg - end -end - -function mt:createLibArg(arg, source) - if arg.type == '...' then - self._dots = createMulti() - else - local name = arg.name or '_' - local loc = localMgr.create(name, source, valueMgr.create('any', source)) - self:saveUpvalue(name, loc) - self.args[#self.args+1] = loc - end -end - -function mt:hasDots() - return self._dots ~= nil -end - -function mt:createArgs(vm) - if not self:getSource() then - return - end - local args = self:getSource().arg - if not args then - return - end - local close = self:getSource().finish - if args.type == 'list' then - for _, arg in ipairs(args) do - self:createArg(vm, arg, close) - end - else - self:createArg(vm, args, close) - end -end - -function mt:set(name, v) - if not self._flag then - self._flag = {} - end - self._flag[name] = v -end - -function mt:get(name) - if not self._flag then - return nil - end - return self._flag[name] -end - -function mt:getSource() - if self._removed then - return nil - end - return listMgr.get(self.source) -end - -function mt:kill() - if self._removed then - return - end - self._removed = true - listMgr.clear(self.id) -end - -function mt:markGlobal() - if self._global then - return - end - self._global = true - if self.returns then - self.returns:eachValue(function (_, v) - v:markGlobal() - end) - end -end - -function mt:setEmmy(params, returns, overLoads) - if params then - self._emmyParams = params - for _, param in ipairs(params) do - param:getSource():set('emmy function', self) - if param:getSource()[1] then - param:getSource()[1]:set('emmy function', self) - end - end - end - if returns then - self._emmyReturns = returns - for _, rtn in ipairs(returns) do - rtn:getSource():set('emmy function', self) - end - end - if overLoads then - self._emmyOverLoads = overLoads - for _, ol in ipairs(overLoads) do - ol:getSource():set('emmy function', self) - end - end -end - ----@param comment string -function mt:setComment(comment) - self._comment = comment -end - ----@return string -function mt:getComment() - return self._comment -end - -function mt:getEmmyParams() - return self._emmyParams -end - -function mt:getEmmyOverLoads() - return self._emmyOverLoads -end - -local function create(source) - if not source then - error('Function need source') - end - local id = source.id - if not id then - error('Not instanted source') - end - local self = setmetatable({ - source = id, - locals = {}, - upvalues = {}, - chunk = {}, - finishs = {}, - args = {}, - argValues = {}, - }, mt) - - local id = listMgr.add(self) - self.id = id - Watch[self] = id - return self -end - -return { - create = create, - watch = Watch, -} diff --git a/script/vm/global.lua b/script/vm/global.lua deleted file mode 100644 index af30ffdd..00000000 --- a/script/vm/global.lua +++ /dev/null @@ -1,25 +0,0 @@ -local library = require 'core.library' -local libraryBuilder = require 'vm.library' -local sourceMgr = require 'vm.source' - -return function (lsp) - local global = lsp and lsp.globalValue - if not global then - libraryBuilder.clear() - local t = {} - for name, lib in pairs(library.global) do - t[name] = libraryBuilder.value(lib) - end - - global = t._G - global:markGlobal() - global:set('ENV', true) - for k, v in pairs(t) do - global:setChild(k, v, sourceMgr.dummy()) - end - end - if lsp then - lsp.globalValue = global - end - return global -end diff --git a/script/vm/init.lua b/script/vm/init.lua deleted file mode 100644 index 87576ba5..00000000 --- a/script/vm/init.lua +++ /dev/null @@ -1 +0,0 @@ -return require 'vm.vm' diff --git a/script/vm/ipairs.lua b/script/vm/ipairs.lua deleted file mode 100644 index cb8356da..00000000 --- a/script/vm/ipairs.lua +++ /dev/null @@ -1,51 +0,0 @@ -local mt = require 'vm.manager' -local library = require 'vm.library' - ----@param func emmyFunction -function mt:callIpairs(func, values, source) - local tbl = values[1] - func:setReturn(1, library.special['@ipairs']) - func:setReturn(2, tbl) -end - ----@param func emmyFunction -function mt:callAtIpairs(func, values, source) - local tbl = values[1] - if tbl then - local emmy = tbl:getEmmy() - if emmy then - if emmy.type == 'emmy.arrayType' then - local value = self:createValue(emmy:getName(), source) - func:setReturn(2, value) - end - end - end -end - ----@param func emmyFunction -function mt:callPairs(func, values, source) - local tbl = values[1] - func:setReturn(1, library.special['next']) - func:setReturn(2, tbl) -end - ----@param func emmyFunction -function mt:callNext(func, values, source) - local tbl = values[1] - if tbl then - local emmy = tbl:getEmmy() - if emmy then - if emmy.type == 'emmy.arrayType' then - local key = self:createValue('integer', source) - local value = self:createValue(emmy:getName(), source) - func:setReturn(1, key) - func:setReturn(2, value) - elseif emmy.type == 'emmy.tableType' then - local key = self:createValue(emmy:getKeyType():getType(), source) - local value = self:createValue(emmy:getValueType():getType(), source) - func:setReturn(1, key) - func:setReturn(2, value) - end - end - end -end diff --git a/script/vm/label.lua b/script/vm/label.lua deleted file mode 100644 index c0e0dfb8..00000000 --- a/script/vm/label.lua +++ /dev/null @@ -1,75 +0,0 @@ -local listMgr = require 'vm.list' - -local Sort = 0 - -local mt = {} -mt.__index = mt -mt.type = 'label' - -function mt:getName() - return self.name -end - -function mt:addInfo(tp, source) - if not source then - error('No source') - end - local id = source.id - if not id then - error('Not instanted source') - end - if self._info[id] then - return - end - Sort = Sort + 1 - local info = { - type = tp, - source = id, - _sort = Sort, - } - - self._info[id] = info -end - -function mt:eachInfo(callback) - local list = {} - for srcId, info in pairs(self._info) do - local src = listMgr.get(srcId) - if src then - list[#list+1] = info - else - self._info[srcId] = nil - end - end - table.sort(list, function (a, b) - return a._sort < b._sort - end) - for i = 1, #list do - local info = list[i] - local res = callback(info, listMgr.get(info.source)) - if res ~= nil then - return res - end - end - return nil -end - -function mt:getSource() - return listMgr.get(self.source) -end - -return function (name, source) - if not source then - error('No source') - end - local id = source.id - if not id then - error('Not instanted source') - end - local self = setmetatable({ - name = name, - source = id, - _info = {}, - }, mt) - return self -end diff --git a/script/vm/library.lua b/script/vm/library.lua deleted file mode 100644 index 018d69f3..00000000 --- a/script/vm/library.lua +++ /dev/null @@ -1,112 +0,0 @@ -local sourceMgr = require 'vm.source' - -local valueMgr -local functionMgr - -local CHILD_CACHE = {} -local VALUE_CACHE = {} -local Special = {} - -local buildLibValue -local buildLibChild - -function buildLibValue(lib) - if VALUE_CACHE[lib] then - return VALUE_CACHE[lib] - end - if not valueMgr then - valueMgr = require 'vm.value' - functionMgr = require 'vm.function' - end - local tp = lib.type - local value - if tp == 'table' then - value = valueMgr.create('table', sourceMgr.dummy()) - elseif tp == 'function' then - local dummySource = sourceMgr.dummy() - value = valueMgr.create('function', dummySource) - local func = functionMgr.create(dummySource) - value:setFunction(func) - if lib.args then - for _, arg in ipairs(lib.args) do - func:createLibArg(arg, sourceMgr.dummy()) - end - end - if lib.returns then - for i, rtn in ipairs(lib.returns) do - if rtn.type == '...' then - func:returnDots(i) - else - func:setReturn(i, buildLibValue(rtn)) - end - end - if lib.special == 'pairs' then - func:setReturn(1, Special['next']) - end - if lib.special == 'ipairs' then - func:setReturn(1, Special['@ipairs']) - end - end - elseif tp == 'string' then - value = valueMgr.create('string', sourceMgr.dummy()) - elseif tp == 'boolean' then - value = valueMgr.create('boolean', sourceMgr.dummy()) - elseif tp == 'number' then - value = valueMgr.create('number', sourceMgr.dummy()) - elseif tp == 'integer' then - value = valueMgr.create('integer', sourceMgr.dummy()) - elseif tp == 'nil' then - value = valueMgr.create('nil', sourceMgr.dummy()) - else - value = valueMgr.create(tp or 'any', sourceMgr.dummy()) - end - value:setLib(lib) - VALUE_CACHE[lib] = value - - if lib.child then - for fName, fLib in pairs(lib.child) do - local fValue = buildLibValue(fLib) - value:rawSet(fName, fValue) - value:addInfo('set child', sourceMgr.dummy(), fName, fValue) - end - end - - if lib.special == 'next' then - Special['next'] = value - end - if lib.special == '@ipairs' then - Special['@ipairs'] = value - return nil - end - - return value -end - -function buildLibChild(lib) - if not valueMgr then - valueMgr = require 'vm.value' - functionMgr = require 'vm.function' - end - if CHILD_CACHE[lib] then - return CHILD_CACHE[lib] - end - local child = {} - for fName, fLib in pairs(lib.child) do - local fValue = buildLibValue(fLib) - child[fName] = fValue - end - CHILD_CACHE[lib] = child - return child -end - -local function clearCache() - CHILD_CACHE = {} - VALUE_CACHE = {} -end - -return { - value = buildLibValue, - child = buildLibChild, - clear = clearCache, - special = Special, -} diff --git a/script/vm/list.lua b/script/vm/list.lua deleted file mode 100644 index 234f241f..00000000 --- a/script/vm/list.lua +++ /dev/null @@ -1,30 +0,0 @@ -local Id = 0 -local Version = 0 -local List = {} - -local function get(id) - return List[id] -end - -local function add(obj) - Id = Id + 1 - List[Id] = obj - return Id -end - -local function clear(id) - List[id] = nil - Version = Version + 1 -end - -local function getVersion() - return Version -end - -return { - get = get, - add = add, - clear = clear, - list = List, - getVersion = getVersion, -} diff --git a/script/vm/local.lua b/script/vm/local.lua deleted file mode 100644 index 7e8af0f1..00000000 --- a/script/vm/local.lua +++ /dev/null @@ -1,191 +0,0 @@ -local listMgr = require 'vm.list' - -local Sort = 0 -local Watch = setmetatable({}, {__mode = 'kv'}) - ----@class Local -local mt = {} -mt.__index = mt -mt.type = 'local' -mt._close = math.maxinteger - -function mt:setValue(value) - if not value then - return - end - if self.value then - --self.value:mergeValue(value) - self.value:mergeType(value) - self.value = value - else - self.value = value - end - if self._emmy then - self.value:setEmmy(self._emmy) - end - return value -end - -function mt:getValue() - return self.value -end - -function mt:addInfo(tp, source) - if not source then - error('No source') - end - local id = source.id - if not id then - error('Not instanted source') - end - if self._info[id] then - return - end - Sort = Sort + 1 - local info = { - type = tp, - source = id, - _sort = Sort, - } - - self._info[id] = info -end - -function mt:eachInfo(callback) - local list = {} - for srcId, info in pairs(self._info) do - local src = listMgr.get(srcId) - if src then - list[#list+1] = info - else - self._info[srcId] = nil - end - end - table.sort(list, function (a, b) - return a._sort < b._sort - end) - for i = 1, #list do - local info = list[i] - local res = callback(info, listMgr.get(info.source)) - if res ~= nil then - return res - end - end - return nil -end - -function mt:set(name, v) - if not self._flag then - self._flag = {} - end - self._flag[name] = v -end - -function mt:get(name) - if not self._flag then - return nil - end - return self._flag[name] -end - -function mt:getName() - return self.name -end - -function mt:shadow(old) - if not old then - if not self._shadow then - return nil - end - for i = #self._shadow, 1, -1 do - local loc = self._shadow[i] - if not loc:getSource() then - table.remove(self._shadow, i) - end - end - return self._shadow - end - local group = old._shadow - if not group then - group = {} - group[#group+1] = old - end - group[#group+1] = self - self._shadow = group - - if not self:getSource() then - log.error('local no source') - return - end - - old:close(self:getSource().start - 1) -end - -function mt:close(pos) - if pos then - if pos <= 0 then - pos = math.maxinteger - end - self._close = pos - else - return self._close - end -end - -function mt:getSource() - return listMgr.get(self.source) -end - -local EMMY_TYPE = { - ['emmy.class'] = true, - ['emmy.type'] = true, - ['emmy.arrayType'] = true, - ['emmy.tableType'] = true, - ['emmy.functionType'] = true, -} - -function mt:setEmmy(emmy) - if not emmy then - return - end - if self.value and EMMY_TYPE[emmy.type] then - self.value:setEmmy(emmy) - end -end - ----@param comment string -function mt:setComment(comment) - self._comment = comment -end - ----@return string -function mt:getComment() - return self._comment -end - -local function create(name, source, value, tags) - if not value then - error('Local must has a value') - end - if not source then - error('No source') - end - local id = source.id - if not id then - error('Not instanted source') - end - local self = setmetatable({ - name = name, - source = id, - value = value, - tags = tags, - _info = {}, - }, mt) - Watch[self] = true - return self -end - -return { - create = create, - watch = Watch, -} diff --git a/script/vm/manager.lua b/script/vm/manager.lua deleted file mode 100644 index b9762d2e..00000000 --- a/script/vm/manager.lua +++ /dev/null @@ -1,17 +0,0 @@ ----@class VM -local mt = {} -mt.__index = mt -mt.type = 'vm' -mt._version = -1 - ----@param version integer -function mt:setVersion(version) - self._version = version -end - ----@return integer -function mt:getVersion() - return self._version -end - -return mt diff --git a/script/vm/module.lua b/script/vm/module.lua deleted file mode 100644 index 60191bf3..00000000 --- a/script/vm/module.lua +++ /dev/null @@ -1,56 +0,0 @@ -local mt = require 'vm.manager' -local createMulti = require 'vm.multi' - ---[[ -function module(name, ...) - local env = {} - for _, opt in ipairs {...} do - opt(env) - end - @ENV = env -end ---]] -function mt:callModuel(func, values) - local envLoc = self:loadLocal('@ENV') - if not envLoc then - return - end - local source = self:getDefaultSource() - local newEnvValue = self:createValue('table', source) - local args = createMulti() - - args:push(newEnvValue) - - for i = 2, #values do - local value = values[i] - -- opt(env) - self:call(value, args, source) - end - - -- @ENV = env - envLoc:setValue(newEnvValue) -end - ---[[ -function package.seeall(env) - setmetatable(env, { __index = @ENV }) -end ---]] -function mt:callSeeAll(func, values) - local newEnv = values[1] - if not newEnv then - return - end - local envLoc = self:loadLocal('@ENV') - if not envLoc then - return - end - local oldEnv = envLoc:getValue() - if not oldEnv then - return - end - local source = self:getDefaultSource() - local meta = self:createValue('table', source) - meta:setChild('__index', oldEnv, source) - newEnv:setMetaTable(meta) -end diff --git a/script/vm/multi.lua b/script/vm/multi.lua deleted file mode 100644 index 4b27b8cf..00000000 --- a/script/vm/multi.lua +++ /dev/null @@ -1,83 +0,0 @@ -local mt = {} -mt.__index = mt -mt.type = 'multi' -mt.len = 0 - -function mt:push(value, isLast) - if value and value.type == 'list' then - if isLast then - for _, v in ipairs(value) do - self.len = self.len + 1 - self[self.len] = v - end - else - self.len = self.len + 1 - self[self.len] = value[1] - end - else - self.len = self.len + 1 - self[self.len] = value - end -end - -function mt:get(index) - return self[index] -end - -function mt:set(index, value) - if index > self.len then - self.len = index - end - self[index] = value -end - -function mt:first() - local value = self[1] - if not value then - return nil - end - if value.type == 'multi' then - return value:first() - else - return value - end -end - -function mt:eachValue(callback) - local i = 0 - for n, value in ipairs(self) do - if value.type == 'multi' then - if n == self.len then - value:eachValue(function (_, nvalue) - i = i + 1 - callback(i, nvalue) - end) - else - i = i + 1 - value:first() - end - else - i = i + 1 - callback(i, value) - end - end -end - -function mt:merge(other) - other:eachValue(function (_, value) - self:push(value) - end) -end - -function mt:setEmmy(emmy) - self._emmy = emmy -end - -function mt:getEmmy() - return self._emmy -end - -return function () - local self = setmetatable({}, mt) - return self -end diff --git a/script/vm/pcall.lua b/script/vm/pcall.lua deleted file mode 100644 index e5d1e26f..00000000 --- a/script/vm/pcall.lua +++ /dev/null @@ -1,50 +0,0 @@ -local mt = require 'vm.manager' -local multi = require 'vm.multi' - -function mt:callPcall(func, values, source) - local funcValue = values:first() - if not funcValue then - return - end - local realFunc = funcValue:getFunction() - if not realFunc then - return - end - local argList = multi() - values:eachValue(function (i, v) - if i >= 2 then - argList:push(v) - end - end) - self:call(funcValue, argList, source) - if realFunc ~= func then - func:setReturn(1, self:createValue('boolean', source)) - realFunc:getReturn():eachValue(function (i, v) - func:setReturn(i + 1, v) - end) - end -end - -function mt:callXpcall(func, values, source) - local funcValue = values:first() - if not funcValue then - return - end - local realFunc = funcValue:getFunction() - if not realFunc then - return - end - local argList = multi() - values:eachValue(function (i, v) - if i >= 3 then - argList:push(v) - end - end) - self:call(funcValue, argList, source) - if realFunc ~= func then - func:setReturn(1, self:createValue('boolean', source)) - realFunc:getReturn():eachValue(function (i, v) - func:setReturn(i + 1, v) - end) - end -end diff --git a/script/vm/raw.lua b/script/vm/raw.lua deleted file mode 100644 index f8c35734..00000000 --- a/script/vm/raw.lua +++ /dev/null @@ -1,30 +0,0 @@ -local mt = require 'vm.manager' - -function mt:callRawSet(func, values, source) - local tbl = values[1] - local index = values[2] - local value = values[3] - if not tbl or not index or not value then - return - end - if index:getLiteral() then - index = index:getLiteral() - end - tbl:addInfo('set child', source, index) - tbl:rawSet(index, value, source) - func:setReturn(1, tbl) -end - -function mt:callRawGet(func, values, source) - local tbl = values[1] - local index = values[2] - if not tbl or not index then - return - end - if index:getLiteral() then - index = index:getLiteral() - end - tbl:addInfo('get child', source, index) - local value = tbl:rawGet(index) - func:setReturn(1, value) -end diff --git a/script/vm/source.lua b/script/vm/source.lua deleted file mode 100644 index 7a10a38e..00000000 --- a/script/vm/source.lua +++ /dev/null @@ -1,183 +0,0 @@ -local listMgr = require 'vm.list' - ----@class source -local mt = {} -mt.__index = mt -mt.type = 'source' -mt.uri = '' -mt.start = 0 -mt.finish = 0 -mt.id = 0 - -local Watch = setmetatable({}, {__mode = 'k'}) - -function mt:bindLocal(loc, action) - if loc then - self._bindLocal = loc - self._bindValue = loc:getValue() - self._action = action - loc:addInfo(action, self) - else - if not self._bindLocal then - return nil - end - if not self._bindLocal:getSource() then - self._bindLocal = nil - return nil - end - return self._bindLocal - end -end - -function mt:bindLabel(label, action) - if label then - self._bindLabel = label - self._action = action - label:addInfo(action, self) - else - return self._bindLabel - end -end - -function mt:bindFunction(func) - if func then - self._bindFunction = func - else - return self._bindFunction - end -end - -function mt:bindValue(value, action) - if value then - self._bindValue = value - self._action = action - value:addInfo(action, self) - else - return self._bindValue - end -end - -function mt:bindCall(args) - if args then - self._bindCallArgs = args - else - return self._bindCallArgs - end -end - -function mt:bindMetatable(meta) - if meta then - self._bindMetatable = meta - else - return self._bindMetatable - end -end - -function mt:action() - return self._action -end - -function mt:setUri(uri) - self.uri = uri -end - -function mt:getUri() - return self.uri -end - -function mt:set(name, v) - if not self._flag then - self._flag = {} - end - self._flag[name] = v -end - -function mt:get(name) - if not self._flag then - return nil - end - return self._flag[name] -end - -function mt:getName() - return self[1] -end - -function mt:kill() - self._dead = true - listMgr.clear(self.id) -end - -function mt:isDead() - return self._dead -end - -function mt:findValue() - local value = self:bindValue() - if not value then - return nil - end - if not value:isGlobal() then - return value - end - if self.type ~= 'name' then - return value - end - local parent = self:get 'parent' - if not parent then - return value - end - local name = self[1] - if type(name) ~= 'string' then - return value - end - return parent:getChild(name) or value -end - -function mt:findCallFunction() - local simple = self:get 'simple' - if not simple then - return nil - end - local source - for i = 1, #simple do - if simple[i] == self then - source = simple[i-1] - end - end - if not source then - return nil - end - local value = source:bindValue() - if value and value:getFunction() then - return value - end - value = source:findValue() - if value and value:getFunction() then - return value - end - return nil -end - -local function instant(source) - if source.id then - return false - end - local id = listMgr.add(source) - source.id = id - Watch[source] = id - setmetatable(source, mt) - return true -end - -local function dummy() - local src = {} - instant(src) - return src -end - -return { - instant = instant, - watch = Watch, - dummy = dummy, -} diff --git a/script/vm/special.lua b/script/vm/special.lua deleted file mode 100644 index e93c4445..00000000 --- a/script/vm/special.lua +++ /dev/null @@ -1,130 +0,0 @@ -local mt = require 'vm.manager' -local multi = require 'vm.multi' -local library = require 'core.library' -local libraryBuilder = require 'vm.library' -local plugin = require 'plugin' - ----@param func emmyFunction ----@param values table -function mt:callEmmySpecial(func, values, source) - local emmyParams = func:getEmmyParams() - for index, param in ipairs(emmyParams) do - local option = param:getOption() - if option and type(option.special) == 'string' then - self:checkEmmyParam(func, values, index, option.special, source) - end - end -end - ----@param func emmyFunction ----@param values table ----@param index integer ----@param special string -function mt:checkEmmyParam(func, values, index, special, source) - if special == 'dofile:1' then - self:callEmmyDoFile(func, values, index) - elseif special == 'loadfile:1' then - self:callEmmyLoadFile(func, values, index) - elseif special == 'pcall:1' then - self:callEmmyPCall(func, values, index, source) - elseif special == 'require:1' then - self:callEmmyRequire(func, values, index) - end -end - ----@param func emmyFunction ----@param values table ----@param index integer -function mt:callEmmyDoFile(func, values, index) - if not values[index] then - values[index] = self:createValue('any', self:getDefaultSource()) - end - local str = values[index]:getLiteral() - if type(str) ~= 'string' then - return - end - local requireValue = self:tryRequireOne(str, values[index], 'dofile') - if not requireValue then - requireValue = self:createValue('any', self:getDefaultSource()) - requireValue.isRequire = true - end - func:setReturn(1, requireValue) -end - ----@param func emmyFunction ----@param values table ----@param index integer -function mt:callEmmyLoadFile(func, values, index) - if not values[index] then - values[index] = self:createValue('any', self:getDefaultSource()) - end - local str = values[index]:getLiteral() - if type(str) ~= 'string' then - return - end - local requireValue = self:tryRequireOne(str, values[index], 'loadfile') - if not requireValue then - requireValue = self:createValue('any', self:getDefaultSource()) - requireValue:set('cross file', true) - end - func:setReturn(1, requireValue) -end - ----@param func emmyFunction ----@param values table ----@param index integer ----@param source source -function mt:callEmmyPCall(func, values, index, source) - local funcValue = values[index] - if not funcValue then - return - end - local realFunc = funcValue:getFunction() - if not realFunc then - return - end - local argList = multi() - values:eachValue(function (i, v) - if i > index then - argList:push(v) - end - end) - self:call(funcValue, argList, source) - if realFunc ~= func then - func:setReturn(1, self:createValue('boolean', source)) - realFunc:getReturn():eachValue(function (i, v) - func:setReturn(i + 1, v) - end) - end -end - ----@param func emmyFunction ----@param values table ----@param index integer -function mt:callEmmyRequire(func, values, index) - if not values[index] then - values[index] = self:createValue('any', self:getDefaultSource()) - end - local strValue = values[index] - local strSource = strValue:getSource() - if not strSource then - return nil - end - local str = strValue:getLiteral() - local raw = self.text:sub(strSource.start, strSource.finish) - str = plugin.call('OnRequirePath', str, raw) or str - local lib = library.library[str] - if lib then - local value = libraryBuilder.value(lib) - value:markGlobal() - func:setReturn(1, value) - return - else - local requireValue = self:tryRequireOne(str, strValue, 'require') - if not requireValue then - requireValue = self:createValue('any', self:getDefaultSource()) - requireValue:set('cross file', true) - end - func:setReturn(1, requireValue) - end -end diff --git a/script/vm/value.lua b/script/vm/value.lua deleted file mode 100644 index 5de0d8e8..00000000 --- a/script/vm/value.lua +++ /dev/null @@ -1,634 +0,0 @@ -local libraryBuilder = require 'vm.library' -local library = require 'core.library' -local listMgr = require 'vm.list' -local config = require 'config' - -local Sort = 0 -local Watch = setmetatable({}, {__mode = 'kv'}) -local TypeLevel = { - ['table'] = 1.0, - ['function'] = 0.9, - ['string'] = 0.8, - ['integer'] = 0.7, - ['number'] = 0.6, -} - ----@class value -local mt = {} -mt.__index = mt -mt.type = 'value' -mt.uri = '' -mt._global = false - -local function create (tp, source, literal) - if tp == '...' then - error('Value type cant be ...') - end - if not source then - error('No source') - end - local id = source.id - if not id then - error('Not instanted source') - end - local self = setmetatable({ - source = id, - _type = {}, - _literal = literal, - _info = {}, - }, mt) - if type(tp) == 'table' then - for i = 1, #tp do - self:setType(tp[i], 1.0 / #tp) - end - else - self:setType(tp, 1.0) - end - Watch[self] = true - return self -end - -function mt:setType(tp, rate) - if type(tp) == 'table' then - for _, ctp in ipairs(tp) do - self:setType(ctp, rate) - end - return - end - if tp == '...' then - error('Value type cant be ...') - end - if not tp then - tp = 'nil' - end - if tp == 'any' or tp == 'nil' then - rate = 0.0 - end - if tp == 'integer' then - local version = config.config.runtime.version - if version ~= 'Lua 5.3' and version ~= 'Lua 5.4' then - tp = 'number' - end - end - local current = self._type[tp] or 0.0 - if rate > current then - self._type[tp] = rate - end -end - -function mt:getType() - if self:getEmmy() then - return self:getEmmy():getType(), 1.0 - end - if not self._type then - return 'nil', 0.0 - end - local mRate = 0.0 - local mType - for tp, rate in pairs(self._type) do - if rate > mRate then - mRate = rate - mType = tp - elseif rate == mRate then - local level1 = TypeLevel[tp] or 0.0 - local level2 = TypeLevel[mType] or 0.0 - if level1 > level2 then - mRate = rate - mType = tp - end - end - end - return mType or 'any', mRate -end - -function mt:rawSet(index, value, source) - if index == nil then - return - end - if not self._child then - self._child = {} - end - if self._child[index] then - if self._global then - self._child[index]:mergeValue(value) - else - self._child[index]:mergeType(value) - self._child[index]:mergeInfo(value) - end - self._child[index] = value - else - self._child[index] = value - end - self:addInfo('set child', source, index, self._child[index]) - if self._global then - self._child[index]:markGlobal() - end -end - -function mt:rawGet(index) - if not self._child then - return nil - end - self:flushChild() - local child = self._child[index] - if not child then - return nil - end - return child -end - -function mt:setChild(index, value, source) - if index == nil then - return - end - self:setType('table', 0.5) - self:rawSet(index, value, source) - return value -end - -function mt:getLibChild(index) - local tp = self:getType() - local lib = library.object[tp] - if lib then - local childs = libraryBuilder.child(lib) - return childs[index] - end - return nil -end - -function mt:eachLibChild(callback) - local tp = self:getType() - local lib = library.object[tp] - if lib then - local childs = libraryBuilder.child(lib) - for k, v in pairs(childs) do - callback(k, v) - end - end -end - -function mt:getChild(index, source) - self:setType('table', 0.5) - local parent = self - local value - -- 最多检查3层 __index - for _ = 1, 3 do - value = parent:rawGet(index) - if value then - break - end - local method = parent:getMetaMethod('__index') - if not method then - value = parent:getLibChild(index) - break - end - parent = method - end - if not value and source then - local emmy = self:getEmmy() - if emmy then - if emmy.type == 'emmy.arrayType' then - if type(index) == 'number' then - value = create(emmy:getName(), source) - end - elseif emmy.type == 'emmy.tableType' then - value = create(emmy:getValueType():getType(), source) - end - end - if not value then - value = create('any', source) - end - self:setChild(index, value) - value.uri = self.uri - end - return value -end - -function mt:setMetaTable(metatable) - local source = metatable:getSource() - if not source then - return - end - source:bindMetatable(metatable) - self._meta = metatable.source -end - -function mt:getMetaTable() - if not self._meta then - return nil - end - local metaSource = listMgr.get(self._meta) - if not metaSource then - self._meta = nil - return nil - end - return metaSource:bindMetatable() -end - -function mt:getMetaMethod(name) - local meta = self:getMetaTable() - if not meta then - return nil - end - return meta:rawGet(name) -end - -function mt:flushChild() - if not self._child then - return nil - end - -- 非全局值不会出现dead child - if not self._global then - return - end - local listVersion = listMgr.getVersion() - if self._flushVersion == listVersion then - return - end - self._flushVersion = listVersion - local alived = {} - local infos = self._info - local count = 0 - for srcId, info in pairs(infos) do - local src = listMgr.get(srcId) - if src then - if info.type == 'set child' or info.type == 'get child' then - if info[1] then - alived[info[1]] = true - end - end - count = count + 1 - else - infos[srcId] = nil - end - end - infos._count = count - infos._limit = count * 1.1 + 10 - infos._version = listMgr.getVersion() - for index in pairs(self._child) do - if not alived[index] then - self._child[index] = nil - end - end -end - -function mt:rawEach(callback, mark) - if not self._child then - return nil - end - self:flushChild() - for index, value in pairs(self._child) do - if mark then - if mark[index] then - goto CONTINUE - end - mark[index] = true - end - local res = callback(index, value) - if res ~= nil then - return res - end - ::CONTINUE:: - end - return nil -end - -function mt:eachChild(callback) - local mark = {} - local parent = self - -- 最多检查3层 __index - for _ = 1, 3 do - local res = parent:rawEach(callback, mark) - if res ~= nil then - return res - end - local method = parent:getMetaMethod('__index') - if not method then - return parent:eachLibChild(callback) - end - parent = method - end -end - -function mt:mergeType(value) - if self == value then - return - end - if not value then - return - end - if self._emmy and not value._emmy then - value._emmy = self._emmy - return - elseif not self._emmy and value._emmy then - self._emmy = value._emmy - return - end - if value._type then - for tp, rate in pairs(value._type) do - self:setType(tp, rate) - end - end - value._type = self._type -end - -function mt:mergeInfo(value) - if self == value then - return - end - if not value then - return - end - local infos = self._info - for srcId, info in pairs(value._info) do - local src = listMgr.get(srcId) - if src and not infos[srcId] then - infos[srcId] = info - infos._count = (infos._count or 0) + 1 - end - end - value._info = infos -end - -function mt:mergeValue(value) - if self == value then - return - end - if not value then - return - end - local list = {self, value} - local pos = 1 - while true do - local a, b = list[pos], list[pos+1] - if not a then - break - end - pos = pos + 2 - list[a] = true - list[b] = true - a:mergeType(b) - a:mergeInfo(b) - - a:flushChild() - b:flushChild() - local global = a._global or b._global - if b._child then - if not a._child then - a._child = {} - end - for k, bc in pairs(b._child) do - local ac = a._child[k] - if ac and ac ~= bc and global then - if list[ac] and list[bc] then - else - list[#list+1] = ac - list[#list+1] = bc - end - end - a._child[k] = bc - end - end - b._child = a._child - if global then - a:markGlobal() - b:markGlobal() - end - - if b._meta then - a._meta = b._meta - end - if b._func then - a._func = b._func - end - if b._lib then - a._lib = b._lib - end - if b.uri then - a.uri = b.uri - end - end -end - -function mt:addInfo(tp, source, ...) - if not source then - return - end - if not source.start then - error('Miss start: ' .. table.dump(source)) - end - local id = source.id - if not id then - error('Not instanted source') - end - if not tp then - error('Miss info type') - end - - local infos = self._info - if infos[id] then - return - end - Sort = Sort + 1 - local info = { - type = tp, - source = id, - _sort = Sort, - ... - } - infos[id] = info - infos._count = (infos._count or 0) + 1 - local version = listMgr.getVersion() - -- 只有全局值需要压缩info - if self._global and infos._count > (infos._limit or 10) and infos._version ~= version then - local count = 0 - for srcId in pairs(infos) do - local src = listMgr.get(srcId) - if src then - count = count + 1 - else - infos[srcId] = nil - end - end - infos._count = count - infos._limit = count * 1.1 + 10 - infos._version = version - end -end - -function mt:eachInfo(callback) - local clock = os.clock() - local infos = self._info - local list = {} - for srcId, info in pairs(infos) do - local src = listMgr.get(srcId) - if src then - list[#list+1] = info - else - infos[srcId] = nil - end - end - infos._count = #list - infos._limit = infos._count * 1.1 + 10 - infos._version = listMgr.getVersion() - --local clock2 = os.clock() - --table.sort(list, function (a, b) - -- return a._sort < b._sort - --end) - local passed = os.clock() - clock - if passed > 0.1 then - log.warn(('eachInfo takes: [%.3f]sec, #list: %d'):format(passed, #list)) - end - for i = 1, #list do - local info = list[i] - local res = callback(info, listMgr.get(info.source)) - if res ~= nil then - return res - end - end - return nil -end - -function mt:setFunction(func) - self._func = func.id - if self._global then - func:markGlobal() - end -end - -function mt:getFunction() - local id = self._func - local func = listMgr.get(id) - if not func then - return nil - end - if func._removed then - return nil - end - if not func:getSource() then - func = nil - listMgr.clear(id) - end - return func -end - -function mt:setLib(lib) - self._lib = lib -end - -function mt:getLib() - return self._lib -end - -function mt:getLiteral() - return self._literal -end - -function mt:set(name, v) - if not self._flag then - self._flag = {} - end - self._flag[name] = v -end - -function mt:get(name) - if not self._flag then - return nil - end - return self._flag[name] -end - -function mt:getSource() - return listMgr.get(self.source) -end - -function mt:markGlobal() - if self._global then - return - end - self._global = true - self:rawEach(function (index, value) - value:markGlobal() - end) - local func = self:getFunction() - if func then - func:markGlobal() - end -end - -function mt:isGlobal() - return self._global -end - -function mt:setEmmy(emmy) - if not emmy then - return - end - if emmy.type == 'emmy.class' then - ---@type EmmyClass - local emmyClass = emmy - emmyClass:setValue(self) - emmyClass:eachChild(function (obj) - local value = obj:getValue() - if value then - value:mergeValue(self) - end - end) - emmyClass:eachField(function (field) - local name = field:getName() - local value = field:bindValue() - self:setChild(name, value, field:getSource()) - end) - elseif emmy.type == 'emmy.type' then - ---@type EmmyType - local emmyType = emmy - emmyType:setValue(self) - emmyType:eachClass(function (class) - if class then - self:mergeValue(class:getValue()) - end - end) - elseif emmy.type == 'emmy.arrayType' then - ---@type EmmyArrayType - local emmyArrayType = emmy - emmyArrayType:setValue(self) - elseif emmy.type == 'emmy.tableType' then - ---@type EmmyTableType - local emmyTableType = emmy - emmyTableType:setValue(self) - elseif emmy.type == 'emmy.functionType' then - ---@type EmmyFunctionType - local emmyFuncType = emmy - emmyFuncType:setValue(self) - self:setFunction(emmyFuncType:bindFunction()) - else - return - end - self._emmy = emmy - self:markGlobal() -end - -function mt:getEmmy() - if not self._emmy then - return nil - end - local source = self._emmy.source - if not listMgr.get(source) then - self._emmy = nil - return nil - end - return self._emmy -end - -function mt:setComment(comment) - self._comment = comment -end - -function mt:getComment(comment) - return self._comment -end - -return { - create = create, - watch = Watch, -} diff --git a/script/vm/vm.lua b/script/vm/vm.lua deleted file mode 100644 index 02cb574c..00000000 --- a/script/vm/vm.lua +++ /dev/null @@ -1,1341 +0,0 @@ -local library = require 'core.library' -local valueMgr = require 'vm.value' -local localMgr = require 'vm.local' -local createLabel = require 'vm.label' -local functionMgr = require 'vm.function' -local sourceMgr = require 'vm.source' -local buildGlobal = require 'vm.global' -local createMulti = require 'vm.multi' -local libraryBuilder = require 'vm.library' -local emmyMgr = require 'emmy.manager' -local config = require 'config' -local mt = require 'vm.manager' -local plugin = require 'plugin' - -require 'vm.module' -require 'vm.raw' -require 'vm.pcall' -require 'vm.ipairs' -require 'vm.emmy' -require 'vm.special' - --- TODO source测试 ---rawset(_G, 'CachedSource', setmetatable({}, { __mode = 'kv' })) - -function mt:getDefaultSource() - return self:instantSource { - start = 0, - finish = 0, - } -end - -function mt:scopePush(source) - self.currentFunction:push(source) -end - -function mt:scopePop() - self.currentFunction:pop() -end - -function mt:buildTable(source) - local tbl = self:createValue('table', source) - if not source then - return tbl - end - local n = 0 - for index, obj in ipairs(source) do - local emmy = self:getEmmy() - if obj.type == 'pair' then - local value = self:getFirstInMulti(self:getExp(obj[2])) - if value then - local key = obj[1] - self:instantSource(obj) - self:instantSource(key) - key:bindValue(value, 'set') - value:setEmmy(emmy) - if key.type == 'index' then - local index = self:getIndex(key) - key:set('parent', tbl) - tbl:setChild(index, value, key) - else - if key.type == 'name' then - key:set('parent', tbl) - key:set('table index', true) - tbl:setChild(key[1], value, key) - end - end - end - elseif obj.type:sub(1, 4) == 'emmy' then - self:doEmmy(obj) - else - local value = self:getExp(obj) - if value.type == 'multi' then - if index == #source then - value:eachValue(function (_, v) - n = n + 1 - tbl:setChild(n, v, obj) - end) - else - n = n + 1 - local v = self:getFirstInMulti(value) - tbl:setChild(n, v, obj) - end - else - n = n + 1 - tbl:setChild(n, value, obj) - end - -- 处理写了一半的 key = value,把name类的数组元素视为哈希键 - if obj.type == 'name' then - obj:set('table index', true) - end - end - end - return tbl -end - -function mt:runFunction(func) - func:run(self) - - if not func:getSource() then - return - end - - if func:needSkip() then - return - end - - -- 暂时使用这种方式激活参数的source - for _, arg in ipairs(func.args) do - if arg:getSource() ~= func:getObject() then - self:bindLocal(arg:getSource(), arg, 'local') - end - end - - local originFunction = self:getCurrentFunction() - self:setCurrentFunction(func) - func:push(func:getSource()) - func:markChunk() - - self:doActions(func:getSource()) - - func:pop() - self:setCurrentFunction(originFunction) -end - -function mt:buildFunction(exp) - if exp and exp:bindFunction() then - return exp:bindFunction() - end - - local value = self:createFunction(exp) - - if not exp then - return value - end - - exp:bindFunction(value) - local func = value:getFunction() - - self:eachLocal(function (name, loc) - func:saveUpvalue(name, loc) - end) - - return value -end - -function mt:forList(list, callback) - if not list then - return - end - if list.type == 'list' then - for i = 1, #list do - callback(list[i]) - end - else - callback(list) - end -end - -function mt:callSetMetaTable(func, values, source) - if not values[1] then - values[1] = self:createValue('any', self:getDefaultSource()) - end - if not values[2] then - values[2] = self:createValue('any', self:getDefaultSource()) - end - func:setReturn(1, values[1]) - values[1]:setMetaTable(values[2]) -end - -function mt:tryRequireOne(str, strValue, mode) - if not self.lsp then - return nil - end - local ws = self.lsp:findWorkspaceFor(self:getUri()) - if not ws then - return nil - end - local strSource = strValue:getSource() - if not strSource then - return nil - end - if type(str) == 'string' then - -- 支持 require 'xxx' 的转到定义 - self:instantSource(strSource) - local uri - if mode == 'require' then - uri = ws:searchPath(self:getUri(), str) - elseif mode == 'loadfile' then - uri = ws:loadPath(self:getUri(), str) - elseif mode == 'dofile' then - uri = ws:loadPath(self:getUri(), str) - end - if not uri then - return nil - end - - strSource:set('target uri', uri) - self.lsp:compileChain(self:getUri(), uri) - return self.lsp.chain:get(uri) - end - return nil -end - -function mt:callRequire(func, values) - if not values[1] then - values[1] = self:createValue('any', self:getDefaultSource()) - end - local strValue = values[1] - local strSource = strValue:getSource() - if not strSource then - return nil - end - local str = strValue:getLiteral() - local raw = self.text:sub(strSource.start, strSource.finish) - str = plugin.call('OnRequirePath', str, raw) or str - local lib = library.library[str] - if lib then - local value = libraryBuilder.value(lib) - value:markGlobal() - func:setReturn(1, value) - return - else - local requireValue = self:tryRequireOne(str, values[1], 'require') - if not requireValue then - requireValue = self:createValue('any', self:getDefaultSource()) - requireValue:set('cross file', true) - end - func:setReturn(1, requireValue) - end -end - -function mt:callLoadFile(func, values) - if not values[1] then - values[1] = self:createValue('any', self:getDefaultSource()) - end - local strValue = values[1] - local requireValue = self:tryRequireOne(strValue:getLiteral(), values[1], 'loadfile') - if not requireValue then - requireValue = self:createValue('any', self:getDefaultSource()) - requireValue:set('cross file', true) - end - func:setReturn(1, requireValue) -end - -function mt:callDoFile(func, values) - if not values[1] then - values[1] = self:createValue('any', self:getDefaultSource()) - end - local strValue = values[1] - local requireValue = self:tryRequireOne(strValue:getLiteral(), values[1], 'dofile') - if not requireValue then - requireValue = self:createValue('any', self:getDefaultSource()) - requireValue.isRequire = true - end - func:setReturn(1, requireValue) -end - -function mt:callLibrary(func, values, source, lib) - if lib.args then - for i, arg in ipairs(lib.args) do - local value = values[i] - if value and arg.type ~= '...' then - value:setType(arg.type, 0.6) - end - end - end - if lib.returns then - for i, rtn in ipairs(lib.returns) do - if rtn.type == '...' then - --func:getReturn(i):setType('any', 0.0) - else - if rtn.type == 'boolean' or rtn.type == 'number' or rtn.type == 'integer' or rtn.type == 'string' then - func:setReturn(i, self:createValue(rtn.type, self:getDefaultSource())) - end - local value = func:getReturn(i) - if value then - value:setType(rtn.type or 'any', 0.6) - end - end - end - end - if lib.special then - if lib.special == 'setmetatable' then - self:callSetMetaTable(func, values, source) - elseif lib.special == 'require' then - self:callRequire(func, values) - elseif lib.special == 'loadfile' then - self:callLoadFile(func, values) - elseif lib.special == 'dofile' then - self:callDoFile(func, values) - elseif lib.special == 'module' then - self:callModuel(func, values) - elseif lib.special == 'seeall' then - self:callSeeAll(func, values) - elseif lib.special == 'rawset' then - self:callRawSet(func, values, source) - elseif lib.special == 'rawget' then - self:callRawGet(func, values, source) - elseif lib.special == 'pcall' then - self:callPcall(func, values, source) - elseif lib.special == 'xpcall' then - self:callXpcall(func, values, source) - elseif lib.special == 'ipairs' then - self:callIpairs(func, values, source) - elseif lib.special == '@ipairs' then - self:callAtIpairs(func, values, source) - elseif lib.special == 'pairs' then - self:callPairs(func, values, source) - elseif lib.special == 'next' then - self:callNext(func, values, source) - end - else - -- 如果lib的参数中有function,则立即执行function - if lib.args then - local args - for i = 1, #lib.args do - local value = values[i] - if value and value:getFunction() then - if not args then - args = createMulti() - end - self:call(value, args, source) - end - end - end - end -end - -function mt:call(value, values, source) - local lib = value:getLib() - ---@type emmyFunction - local func = value:getFunction() - value:setType('function', 0.5) - if not func then - return - end - self:instantSource(source) - if lib then - self:callLibrary(func, values, source, lib) - else - if func:getSource() then - if not source:get 'called' then - source:set('called', true) - func:setArgs(values) - self:runFunction(func) - end - else - func:mergeReturn(1, self:createValue('any', source)) - end - if func:getEmmyParams() then - self:callEmmySpecial(func, values, source) - end - end - - return func:getReturn() -end - -function mt:createValue(tp, source, literal) - local value = valueMgr.create(tp, source, literal) - value.uri = self:getUri() - return value -end - -function mt:getName(name, source) - if source then - self:instantSource(source) - if source:bindLocal() then - local loc = source:bindLocal() - return loc:getValue() - end - end - local loc = self:loadLocal(name) - if loc then - source:bindLocal(loc, 'get') - return loc:getValue() - end - local global = source:bindValue() - if global then - return global - end - local ENV - if self.envType == '_ENV' then - ENV = self:loadLocal('_ENV') - else - ENV = self:loadLocal('@ENV') - end - local ENVValue = ENV:getValue() - ENVValue:addInfo('get child', source, name) - global = ENVValue:getChild(name, source) - source:bindValue(global, 'get') - source:set('global', true) - source:set('parent', ENVValue) - if not global:getLib() then - if self.lsp then - self.lsp.global:markGet(self:getUri()) - end - end - return global -end - -function mt:setName(name, source, value) - self:instantSource(source) - local loc = self:loadLocal(name) - if loc then - loc:setValue(value) - source:bindLocal(loc, 'set') - return - end - local global = source:bindValue() - if global then - return global - end - local ENV - if self.envType == '_ENV' then - ENV = self:loadLocal('_ENV') - else - ENV = self:loadLocal('@ENV') - end - local ENVValue = ENV:getValue() - source:bindValue(value, 'set') - ENVValue:setChild(name, value, source) - source:set('global', true) - source:set('parent', ENVValue) - if self.lsp then - self.lsp.global:markSet(self:getUri()) - end -end - -function mt:getIndex(source) - local child = source[1] - if child.type == 'name' then - local value = self:getName(child[1], child) - child:set('in index', source) - return value - elseif child.type == 'string' or child.type == 'number' or child.type == 'boolean' then - self:instantSource(child) - child:set('in index', source) - return child[1] - else - local index = self:getExp(child) - return self:getFirstInMulti(index) - end -end - -function mt:unpackList(list) - local values = createMulti() - local exps = createMulti() - if not list then - return values - end - if list.type == 'list' or list.type == 'call' or list.type == 'return' then - for i, exp in ipairs(list) do - self:instantSource(exp) - exps:push(exp) - if exp.type == '...' then - values:merge(self:loadDots()) - break - end - local value = self:getExp(exp) - if value.type == 'multi' then - if i == #list then - value:eachValue(function (_, v) - values:push(v) - end) - else - values:push(self:getFirstInMulti(value)) - end - else - values:push(value) - end - end - elseif list.type == '...' then - self:instantSource(list) - exps:push(list) - values:merge(self:loadDots()) - else - self:instantSource(list) - exps:push(list) - local value = self:getExp(list) - if value.type == 'multi' then - value:eachValue(function (_, v) - values:push(v) - end) - else - values:push(value) - end - end - return values, exps -end - -function mt:getFirstInMulti(multi) - if not multi then - return multi - end - if multi.type == 'multi' then - return self:getFirstInMulti(multi[1]) - else - return multi - end -end - -function mt:getSimple(simple, max) - self:instantSource(simple) - local first = simple[1] - self:instantSource(first) - local value = self:getExp(first) - value = self:getFirstInMulti(value) or valueMgr.create('nil', self:getDefaultSource()) - first:bindValue(value, 'get') - if not max then - max = #simple - elseif max < 0 then - max = #simple + 1 + max - end - local object - for i = 2, max do - local source = simple[i] - self:instantSource(source) - source:set('simple', simple) - value = self:getFirstInMulti(value) or valueMgr.create('nil', self:getDefaultSource()) - - if source.type == 'call' then - local values, args = self:unpackList(source) - local func = value - if object then - table.insert(values, 1, object) - table.insert(args, 1, simple[i-3]) - source:set('has object', true) - end - object = nil - source:bindCall(args) - value = self:call(func, values, source) or valueMgr.create('any', self:getDefaultSource()) - elseif source.type == 'index' then - local child = source[1] - local index = self:getIndex(source) - child:set('parent', value) - value:addInfo('get child', source, index) - value = value:getChild(index, source) - source:bindValue(value, 'get') - elseif source.type == 'name' then - source:set('parent', value) - source:set('object', object) - value:addInfo('get child', source, source[1]) - value = value:getChild(source[1], source) - source:bindValue(value, 'get') - elseif source.type == ':' then - object = value - source:set('parent', value) - source:set('object', object) - elseif source.type == '.' then - source:set('parent', value) - end - end - return value -end - -function mt:isTrue(v) - if v:getType() == 'nil' then - return false - end - if v:getType() == 'boolean' and not v:getLiteral() then - return false - end - return true -end - -function mt:getBinary(exp) - self:instantSource(exp) - local v1 = self:getExp(exp[1]) - local v2 = self:getExp(exp[2]) - v1 = self:getFirstInMulti(v1) or valueMgr.create('nil', exp[1]) - v2 = self:getFirstInMulti(v2) or valueMgr.create('nil', exp[2]) - local op = exp.op - -- TODO 搜索元方法 - if op == 'or' then - if self:isTrue(v1) then - return v1 - else - return v2 - end - elseif op == 'and' then - if self:isTrue(v1) then - return v2 - else - return v1 - end - elseif op == '<=' - or op == '>=' - or op == '<' - or op == '>' - then - v1:setType('number', 0.5) - v2:setType('number', 0.5) - v1:setType('string', 0.1) - v2:setType('string', 0.1) - return self:createValue('boolean', exp) - elseif op == '~=' - or op == '==' - then - return self:createValue('boolean', exp) - elseif op == '|' - or op == '~' - or op == '&' - or op == '<<' - or op == '>>' - then - v1:setType('integer', 0.5) - v2:setType('integer', 0.5) - v1:setType('number', 0.5) - v2:setType('number', 0.5) - v1:setType('string', 0.1) - v2:setType('string', 0.1) - if math.type(v1:getLiteral()) == 'integer' and math.type(v2:getLiteral()) == 'integer' then - if op == '|' then - return self:createValue('integer', exp, v1:getLiteral() | v2:getLiteral()) - elseif op == '~' then - return self:createValue('integer', exp, v1:getLiteral() ~ v2:getLiteral()) - elseif op == '&' then - return self:createValue('integer', exp, v1:getLiteral() &v2:getLiteral()) - elseif op == '<<' then - return self:createValue('integer', exp, v1:getLiteral() << v2:getLiteral()) - elseif op == '>>' then - return self:createValue('integer', exp, v1:getLiteral() >> v2:getLiteral()) - end - end - return self:createValue('integer', exp) - elseif op == '..' then - v1:setType('string', 0.5) - v2:setType('string', 0.5) - v1:setType('number', 0.1) - v2:setType('number', 0.1) - if type(v1:getLiteral()) == 'string' and type(v2:getLiteral()) == 'string' then - return self:createValue('string', exp, v1:getLiteral() .. v2:getLiteral()) - end - return self:createValue('string', exp) - elseif op == '+' - or op == '-' - or op == '*' - or op == '/' - or op == '^' - or op == '%' - or op == '//' - then - v1:setType('number', 0.5) - v2:setType('number', 0.5) - if type(v1:getLiteral()) == 'number' and type(v2:getLiteral()) == 'number' then - if op == '+' then - return self:createValue('number', exp, v1:getLiteral() + v2:getLiteral()) - elseif op == '-' then - return self:createValue('number', exp, v1:getLiteral() - v2:getLiteral()) - elseif op == '*' then - return self:createValue('number', exp, v1:getLiteral() * v2:getLiteral()) - elseif op == '/' then - if v2:getLiteral() ~= 0 then - return self:createValue('number', exp, v1:getLiteral() / v2:getLiteral()) - end - elseif op == '^' then - return self:createValue('number', exp, v1:getLiteral() ^ v2:getLiteral()) - elseif op == '%' then - if v2:getLiteral() ~= 0 then - return self:createValue('number', exp, v1:getLiteral() % v2:getLiteral()) - end - elseif op == '//' then - if v2:getLiteral() ~= 0 then - return self:createValue('number', exp, v1:getLiteral() // v2:getLiteral()) - end - end - end - return self:createValue('number', exp) - end - return nil -end - -function mt:getUnary(exp) - self:instantSource(exp) - local v1 = self:getExp(exp[1]) - v1 = self:getFirstInMulti(v1) or self:createValue('nil', exp[1]) - local op = exp.op - -- TODO 搜索元方法 - if op == 'not' then - return self:createValue('boolean', exp) - elseif op == '#' then - v1:setType('table', 0.5) - v1:setType('string', 0.5) - if type(v1:getLiteral()) == 'string' then - return self:createValue('integer', exp, #v1:getLiteral()) - end - return self:createValue('integer', exp) - elseif op == '-' then - v1:setType('number', 0.5) - if type(v1:getLiteral()) == 'number' then - return self:createValue('number', exp, -v1:getLiteral()) - end - return self:createValue('number', exp) - elseif op == '~' then - v1:setType('integer', 0.5) - if math.type(v1:getLiteral()) == 'integer' then - return self:createValue('integer', exp, ~v1:getLiteral()) - end - return self:createValue('integer', exp) - end - return nil -end - -function mt:getExp(exp) - self:instantSource(exp) - local tp = exp.type - if tp == 'nil' then - return self:createValue('nil', exp) - elseif tp == 'string' then - return self:createValue('string', exp, exp[1]) - elseif tp == 'boolean' then - return self:createValue('boolean', exp, exp[1]) - elseif tp == 'number' then - return self:createValue('number', exp, exp[1]) - elseif tp == 'name' then - local value = self:getName(exp[1], exp) - return value - elseif tp == 'simple' then - return self:getSimple(exp) - elseif tp == 'index' then - return self:getIndex(exp) - elseif tp == 'binary' then - return self:getBinary(exp) - elseif tp == 'unary' then - return self:getUnary(exp) - elseif tp == 'function' then - return self:buildFunction(exp) - elseif tp == 'table' then - return self:buildTable(exp) - elseif tp == '...' then - return self:loadDots() - elseif tp == 'list' then - return self:getMultiByList(exp) - end - error('Unkown exp type: ' .. tostring(tp)) -end - -function mt:getMultiByList(list) - local multi = createMulti() - for i, exp in ipairs(list) do - multi:push(self:getExp(exp), i == #list) - end - return multi -end - -function mt:doDo(action) - self:instantSource(action) - self:scopePush(action) - self:doActions(action) - self:scopePop() -end - -function mt:doReturn(action) - if #action == 0 then - return - end - self:instantSource(action) - local values = self:unpackList(action) - local func = self:getCurrentFunction() - values:eachValue(function (n, value) - value.uri = self:getUri() - func:mergeReturn(n, value) - local source = action[n] or value:getSource() - if not source or source.start == 0 then - source = self:getDefaultSource() - end - value:addInfo('return', source) - end) -end - -function mt:doLabel(source) - local name = source[1] - local label = self:loadLabel(name) - if label then - self:bindLabel(source, label, 'set') - else - label = self:createLabel(name, source, 'set') - end -end - -function mt:createLabel(name, source, action) - local label = self:bindLabel(source) - if label then - self:saveLabel(label) - return label - end - - label = createLabel(name, source) - self:saveLabel(label) - self:bindLabel(source, label, action) - return label -end - -function mt:doGoTo(source) - local name = source[1] - local label = self:loadLabel(name) - if label then - self:bindLabel(source, label, 'get') - else - label = self:createLabel(name, source, 'get') - end -end - -function mt:setOne(var, value, emmy, comment) - if not value then - value = valueMgr.create('nil', self:getDefaultSource()) - end - value:setEmmy(emmy) - value:setComment(comment) - self:instantSource(var) - if var.type == 'name' then - self:setName(var[1], var, value) - elseif var.type == 'simple' then - local parent = self:getSimple(var, -2) - parent = self:getFirstInMulti(parent) - if not parent then - return - end - local key = var[#var] - self:instantSource(key) - key:set('simple', var) - if key.type == 'index' then - local index = self:getIndex(key) - key[1]:set('parent', parent) - parent:setChild(index, value, key[1]) - elseif key.type == 'name' then - local index = key[1] - key:set('parent', parent) - parent:setChild(index, value, key) - end - key:bindValue(value, 'set') - end -end - -function mt:doSet(action) - local emmy = self:getEmmy() - local comment = self:getEmmyComment() - if not action[2] then - return - end - self:instantSource(action) - -- 要先计算值 - local vars = action[1] - local exps = action[2] - local value = self:getExp(exps) - local values = {} - if value.type == 'multi' then - if not emmy then - emmy = value:getEmmy() - end - value:eachValue(function (i, v) - values[i] = v - end) - else - values[1] = value - end - local i = 0 - self:forList(vars, function (var) - i = i + 1 - self:setOne(var, values[i], emmy, comment) - end) -end - -function mt:doLocal(action) - local emmy = self:getEmmy() - local comment = self:getEmmyComment() - self:instantSource(action) - local vars = action[1] - local exps = action[2] - local values - if exps then - local value = self:getExp(exps) - values = {} - if value.type == 'multi' then - if not emmy then - emmy = value:getEmmy() - end - value:eachValue(function (i, v) - values[i] = v - end) - else - values[1] = value - end - end - local i = 0 - self:forList(vars, function (key) - i = i + 1 - local value - if values then - value = values[i] - end - self:createLocal(key[1], key, value, emmy, comment) - end) -end - -function mt:doIf(action) - self:instantSource(action) - for _, block in ipairs(action) do - if block.filter then - self:getExp(block.filter) - end - - self:scopePush(block) - self:doActions(block) - self:scopePop() - end -end - -function mt:doLoop(action) - self:instantSource(action) - local min = self:getFirstInMulti(self:getExp(action.min)) - self:getExp(action.max) - if action.step then - self:getExp(action.step) - end - - self:scopePush(action) - self:createLocal(action.arg[1], action.arg, min) - self:doActions(action) - self:scopePop() -end - -function mt:doIn(action) - local emmyParams = self:getEmmyParams() - self:instantSource(action) - local args = self:unpackList(action.exp) - - self:scopePush(action) - local func = table.remove(args, 1) or valueMgr.create('any', self:getDefaultSource()) - local values = self:call(func, args, action) or createMulti() - self:forList(action.arg, function (arg) - self:instantSource(arg) - local value = table.remove(values, 1) or self:createValue('nil', arg) - if emmyParams then - for i = #emmyParams, 1, -1 do - local emmyParam = emmyParams[i] - if emmyParam and emmyParam:getName() == arg[1] then - value:setEmmy(emmyParam:bindType()) - end - end - end - self:createLocal(arg[1], arg, value) - end) - - self:doActions(action) - - self:scopePop() -end - -function mt:doWhile(action) - self:instantSource(action) - self:getExp(action.filter) - - self:scopePush(action) - self:doActions(action) - self:scopePop() -end - -function mt:doRepeat(action) - self:instantSource(action) - self:scopePush(action) - self:doActions(action) - self:getExp(action.filter) - self:scopePop() -end - -function mt:doFunction(action) - self:instantSource(action) - local name = action.name - if name then - self:instantSource(name) - if name.type == 'simple' then - local parent = self:getSimple(name, -2) - if name[#name-1].type == ':' then - local value = self:buildFunction(action) - local source = name[#name] - self:instantSource(source) - source:set('simple', name) - source:set('parent', parent) - source:set('object', parent) - if source.type == 'index' then - local index = self:getIndex(source) - parent:setChild(index, value, source[1]) - elseif source.type == 'name' then - local index = source[1] - parent:setChild(index, value, source) - end - source:bindValue(value, 'set') - - local func = value:getFunction() - if func then - if #name == 3 then - -- function x:b() - local loc = self:loadLocal(name[1][1]) - if loc then - func:setObject(parent, loc:getSource()) - else - func:setObject(parent, name[#name-2]) - end - else - func:setObject(parent, name[#name-2]) - end - end - else - local value = self:buildFunction(action) - local source = name[#name] - self:instantSource(source) - source:set('simple', name) - source:set('parent', parent) - if source.type == 'index' then - local index = self:getIndex(source) - parent:setChild(index, value, source[1]) - elseif source.type == 'name' then - local index = source[1] - parent:setChild(index, value, source) - end - source:bindValue(value, 'set') - end - else - local value = self:buildFunction(action) - self:setName(name[1], name, value) - end - else - self:buildFunction(action) - end -end - -function mt:doLocalFunction(action) - self:instantSource(action) - local name = action.name - if name then - self:instantSource(name) - if name.type == 'simple' then - self:doFunction(action) - else - local loc = self:createLocal(name[1], name) - local func = self:buildFunction(action) - func:addInfo('local', name) - loc:setValue(func) - name:bindValue(func, 'local') - end - end -end - -function mt:doAction(action) - if not action then - -- Skip - return - end - if coroutine.isyieldable() then - if self.lsp:isNeedCompile(self.uri) then - coroutine.yield() - if self._removed then - coroutine.yield('stop') - return - end - else - self:remove() - coroutine.yield('stop') - return - end - end - local tp = action.type - if tp:sub(1, 4) == 'emmy' then - self:doEmmy(action) - return - end - if tp == 'do' then - self:doDo(action) - elseif tp == 'break' then - elseif tp == 'return' then - self:doReturn(action) - elseif tp == 'label' then - self:doLabel(action) - elseif tp == 'goto' then - self:doGoTo(action) - elseif tp == 'set' then - self:doSet(action) - elseif tp == 'local' then - self:doLocal(action) - elseif tp == 'simple' then - -- call - self:getSimple(action) - action:set('as action', true) - elseif tp == 'if' then - self:doIf(action) - elseif tp == 'loop' then - self:doLoop(action) - elseif tp == 'in' then - self:doIn(action) - elseif tp == 'while' then - self:doWhile(action) - elseif tp == 'repeat' then - self:doRepeat(action) - elseif tp == 'function' then - self:doFunction(action) - elseif tp == 'localfunction' then - self:doLocalFunction(action) - else - self:getExp(action) - action:set('as action', true) - end - self:clearEmmy() -end - -function mt:doActions(actions) - for _, action in ipairs(actions) do - self:doAction(action) - end -end - -function mt:createFunction(source) - local value = self:createValue('function', source) - local func = functionMgr.create(source) - func:setEmmy(self:getEmmyParams(), self:getEmmyReturns(), self:getEmmyOverLoads()) - func:setComment(self:getEmmyComment()) - value:setFunction(func) - value:setType('function', 1.0) - if source:getUri() == self.uri then - self.funcs[#self.funcs+1] = func - end - return value -end - -function mt:callLeftFuncions() - for _, func in ipairs(self.funcs) do - if not func:hasRuned() then - self:runFunction(func) - end - end -end - -function mt:setCurrentFunction(func) - self.currentFunction = func -end - -function mt:getCurrentFunction() - return self.currentFunction -end - -function mt:saveLocal(name, loc) - self.currentFunction:saveLocal(name, loc) -end - -function mt:saveUpvalue(name, loc) - self.currentFunction:saveUpvalue(name, loc) -end - -function mt:loadLocal(name) - return self.currentFunction:loadLocal(name) -end - -function mt:eachLocal(callback) - return self.currentFunction:eachLocal(callback) -end - -function mt:saveLabel(label) - self.currentFunction:saveLabel(label) -end - -function mt:loadLabel(name) - return self.currentFunction:loadLabel(name) -end - -function mt:loadDots() - return self.currentFunction:loadDots() -end - -function mt:getUri() - return self.currentFunction and self.currentFunction:getUri() or self.uri -end - -function mt:instantSource(source) - if self:isRemoved() then - error('dead vm') - return nil - end - if sourceMgr.instant(source) then - source:setUri(self:getUri()) - self.sources[#self.sources+1] = source - --CachedSource[source] = true - end - return source -end - -function mt:bindLocal(source, loc, action) - if not source then - return - end - self:instantSource(source) - if loc then - source:bindLocal(loc, action) - else - return source:bindLocal() - end -end - -function mt:bindLabel(source, label, action) - self:instantSource(source) - if label then - source:bindLabel(label, action) - else - return source:bindLabel() - end -end - -function mt:createLocal(key, source, value, emmy, comment) - local loc = self:bindLocal(source) - if not value then - value = self:createValue('nil', source) - end - if loc then - loc:setValue(value) - loc:setEmmy(emmy) - self:saveLocal(key, loc) - return loc - end - - loc = localMgr.create(key, source, value, source.tags) - loc:setEmmy(emmy) - loc:setComment(comment) - self:saveLocal(key, loc) - self:bindLocal(source, loc, 'local') - loc:close(self:getCurrentFunction():getSource().finish) - value:addInfo('local', source) - return loc -end - -function mt:createUpvalue(key, source, value) - local loc = self:bindLocal(source) - if not value then - value = self:createValue('nil', source) - end - if loc then - loc:setValue(value) - self:saveUpvalue(key, loc) - return loc - end - - loc = localMgr.create(key, source, value) - self:saveUpvalue(key, loc) - self:bindLocal(source, loc, 'local') - value:addInfo('local', source) - return loc -end - -function mt:createEnvironment(ast) - -- 整个文件是一个函数 - self.main = self:createFunction(ast) - self:setCurrentFunction(self.main:getFunction()) - if self.lsp then - self.main:getFunction():mergeReturn(1, self.lsp.chain:get(self.uri)) - end - -- 全局变量`_G` - local global = buildGlobal(self.lsp) - local env - if self.envType == '_ENV' then - -- 隐藏的上值`_ENV` - env = self:createUpvalue('_ENV', self:getDefaultSource(), global) - else - -- 为了实现方便,fenv也使用隐藏上值来实现 - -- 使用了非法标识符保证用户无法访问 - env = self:createUpvalue('@ENV', self:getDefaultSource(), global) - end - env:set('hide', true) - self.env = env -end - -function mt:eachSource(callback) - if self._removed then - return - end - local sources = self.sources - for i = 1, #sources do - local res = callback(sources[i]) - if res ~= nil then - return res - end - end -end - -function mt:isRemoved() - return self._removed == true -end - -function mt:remove() - if self._removed then - return - end - self._removed = true - for _, source in ipairs(self.sources) do - source:kill() - end - self.sources = nil - for _, func in ipairs(self.funcs) do - func:kill() - end - self.funcs = nil -end - -local function compile(vm, ast, lsp, uri) - -- 创建初始环境 - ast.uri = vm.uri - -- 根据运行版本决定环境实现方式 - if config.config.runtime.version == 'Lua 5.1' or config.config.runtime.version == 'LuaJIT' then - vm.envType = 'fenv' - else - vm.envType = '_ENV' - end - vm:instantSource(ast) - vm:createEnvironment(ast) - - -- 检查所有没有调用过的函数,调用一遍 - vm:callLeftFuncions() - - return vm -end - -return function (ast, lsp, uri, text) - if not ast then - return nil, 'Ast failed' - end - local vm = setmetatable({ - funcs = {}, - sources = {}, - main = nil, - env = nil, - emmy = nil, - ---@type emmyMgr - emmyMgr = lsp and lsp.emmy or emmyMgr(), - lsp = lsp, - uri = uri or '', - text = text or '', - }, mt) - local suc, res = xpcall(compile, log.error, vm, ast, lsp, uri) - if not suc then - vm:remove() - return nil, res - end - return res -end diff --git a/script/without-check-nil.lua b/script/without-check-nil.lua deleted file mode 100644 index cc7da9d4..00000000 --- a/script/without-check-nil.lua +++ /dev/null @@ -1,126 +0,0 @@ -local m = {} - -local mt = {} -mt.__add = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a + b -end -mt.__sub = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a - b -end -mt.__mul = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a * b -end -mt.__div = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a / b -end -mt.__mod = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a % b -end -mt.__pow = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a ^ b -end -mt.__unm = function () - return 0 -end -mt.__concat = function (a, b) - if a == nil then a = '' end - if b == nil then b = '' end - return a .. b -end -mt.__len = function () - return 0 -end -mt.__lt = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a < b -end -mt.__le = function (a, b) - if a == nil then a = 0 end - if b == nil then b = 0 end - return a <= b -end -mt.__index = function () end -mt.__newindex = function () end -mt.__call = function () end -mt.__pairs = function () end -mt.__ipairs = function () end -if _VERSION == 'Lua 5.3' or _VERSION == 'Lua 5.4' then - mt.__idiv = load[[ - local a, b = ... - if a == nil then a = 0 end - if b == nil then b = 0 end - return a // b - ]] - mt.__band = load[[ - local a, b = ... - if a == nil then a = 0 end - if b == nil then b = 0 end - return a & b - ]] - mt.__bor = load[[ - local a, b = ... - if a == nil then a = 0 end - if b == nil then b = 0 end - return a | b - ]] - mt.__bxor = load[[ - local a, b = ... - if a == nil then a = 0 end - if b == nil then b = 0 end - return a ~ b - ]] - mt.__bnot = load[[ - return ~ 0 - ]] - mt.__shl = load[[ - local a, b = ... - if a == nil then a = 0 end - if b == nil then b = 0 end - return a << b - ]] - mt.__shr = load[[ - local a, b = ... - if a == nil then a = 0 end - if b == nil then b = 0 end - return a >> b - ]] -end - -for event, func in pairs(mt) do - mt[event] = function (...) - local watch = m.watch - if not watch then - return func(...) - end - local care, result = watch(event, ...) - if not care then - return func(...) - end - return result - end -end - -function m.enable() - debug.setmetatable(nil, mt) -end - -function m.disable() - if debug.getmetatable(nil) == mt then - debug.setmetatable(nil, nil) - end -end - -return m diff --git a/script/workspace.lua b/script/workspace.lua deleted file mode 100644 index 0795877c..00000000 --- a/script/workspace.lua +++ /dev/null @@ -1,468 +0,0 @@ -local fs = require 'bee.filesystem' -local async = require 'async' -local config = require 'config' -local ll = require 'lpeglabel' -local platform = require 'bee.platform' -local glob = require 'glob' -local uric = require 'uri' -local fn = require 'filename' - ---- @class Workspace -local mt = {} -mt.__index = mt - -function mt:listenLoadFile() - self._loadFileRequest = async.run('loadfile', nil, function (filename, mode, buf) - local path = fs.path(filename) - local name = fn.getFileName(path) - local uri = uric.encode(path) - self.files[name] = uri - if mode == 'workspace' then - self.lsp:readText(self, uri, path, buf, self._currentScanCompiled) - elseif mode == 'library' then - self.lsp:readLibrary(self, uri, path, buf, self._currentScanCompiled) - else - error('Unknown mode:' .. tostring(mode)) - end - end) -end - -function mt:buildScanPattern() - local pattern = {} - - -- config.workspace.ignoreDir - for path in pairs(config.config.workspace.ignoreDir) do - pattern[#pattern+1] = path - end - -- config.files.exclude - for path, ignore in pairs(config.other.exclude) do - if ignore then - pattern[#pattern+1] = path - end - end - -- config.workspace.ignoreSubmodules - if config.config.workspace.ignoreSubmodules then - local buf = io.load(self.root / '.gitmodules') - if buf then - for path in buf:gmatch('path = ([^\r\n]+)') do - log.info('忽略子模块:', path) - pattern[#pattern+1] = path - end - end - end - -- config.workspace.useGitIgnore - if config.config.workspace.useGitIgnore then - local buf = io.load(self.root / '.gitignore') - if buf then - for line in buf:gmatch '[^\r\n]+' do - pattern[#pattern+1] = line - end - end - buf = io.load(self.root / '.git' / 'info' / 'exclude' ) - if buf then - for line in buf:gmatch '[^\r\n]+' do - pattern[#pattern+1] = line - end - end - end - -- config.workspace.library - for path in pairs(config.config.workspace.library) do - pattern[#pattern+1] = path - end - - return pattern -end - ----@param options table -function mt:buildLibraryRequests(options) - local requests = {} - for path, pattern in pairs(config.config.workspace.library) do - requests[#requests+1] = { - mode = 'library', - root = fs.absolute(fs.path(path)):string(), - pattern = pattern, - options = options, - } - end - return table.unpack(requests) -end - -function mt:scanFiles() - if self._scanRequest then - log.info('Break scan.') - self._scanRequest:push('stop') - self._scanRequest = nil - self._complete = false - self:reset() - end - - local pattern = self:buildScanPattern() - local options = { - ignoreCase = platform.OS == 'Windows', - } - - self.gitignore = glob.gitignore(pattern, options) - self._currentScanCompiled = {} - local count = 0 - self._scanRequest = async.run('scanfiles', { - { - mode = 'workspace', - root = self.root:string(), - pattern = pattern, - options = options, - }, - self:buildLibraryRequests(options), - }, function (mode, ...) - if mode == 'ok' then - log.info('Scan finish, got', count, 'files.') - self._complete = true - self._scanRequest = nil - self:reset() - return true - elseif mode == 'log' then - log.debug(...) - elseif mode == 'workspace' then - local path = fs.path(...) - if not fn.isLuaFile(path) then - return - end - self._loadFileRequest:push(path:string(), 'workspace') - count = count + 1 - elseif mode == 'library' then - local path = fs.path(...) - if not fn.isLuaFile(path) then - return - end - self._loadFileRequest:push(path:string(), 'library') - count = count + 1 - elseif mode == 'stop' then - log.info('Scan stoped.') - return false - end - end) -end - -function mt:init(rootUri) - self.root = uric.decode(rootUri) - self.uri = rootUri - if not self.root then - return - end - log.info('Workspace inited, root: ', self.root) - log.info('Workspace inited, uri: ', rootUri) - local logPath = ROOT / 'log' / (rootUri:gsub('[/:]+', '_') .. '.log') - log.info('Log path: ', logPath) - log.init(ROOT, logPath) -end - -function mt:isComplete() - return self._complete == true -end - -function mt:addFile(path) - if not fn.isLuaFile(path) then - return - end - local name = fn.getFileName(path) - local uri = uric.encode(path) - self.files[name] = uri - self.lsp:readText(self, uri, path) -end - -function mt:removeFile(path) - local name = fn.getFileName(path) - if not self.files[name] then - return - end - self.files[name] = nil - local uri = uric.encode(path) - self.lsp:removeText(uri) -end - -function mt:findPath(baseUri, searchers) - local results = {} - local basePath = uric.decode(baseUri) - if not basePath then - return nil - end - local baseName = fn.getFileName(basePath) - for filename, uri in pairs(self.files) do - if filename ~= baseName then - for _, searcher in ipairs(searchers) do - if filename:sub(-#searcher) == searcher then - local sep = filename:sub(-#searcher-1, -#searcher-1) - if sep == '/' or sep == '\\' then - results[#results+1] = uri - end - end - end - end - end - - if #results == 0 then - return nil - end - local uri - if #results == 1 then - uri = results[1] - else - table.sort(results, function (a, b) - return fn.similarity(a, baseUri) > fn.similarity(b, baseUri) - end) - uri = results[1] - end - return uri -end - -function mt:createCompiler(str) - local state = { - 'Main', - } - local function push(c) - if state.Main then - state.Main = state.Main * c - else - state.Main = c - end - end - local count = 0 - local function code() - count = count + 1 - local name = 'C' .. tostring(count) - local nextName = 'C' .. tostring(count + 1) - state[name] = ll.P(1) * (#ll.V(nextName) + ll.V(name)) - return ll.V(name) - end - local function static(c) - count = count + 1 - local name = 'C' .. tostring(count) - local nextName = 'C' .. tostring(count + 1) - local catch = #ll.V(nextName) - if platform.OS == 'Windows' then - for i = #c, 1, -1 do - local char = c:sub(i, i) - local u = char:upper() - local l = char:lower() - if u == l then - catch = ll.P(char) * catch - else - catch = (ll.P(u) + ll.P(l)) * catch - end - end - else - catch = ll.P(c) * catch - end - state[name] = catch - return ll.V(name) - end - local function eof() - count = count + 1 - local name = 'C' .. tostring(count) - state[name] = ll.Cmt(ll.P(1) + ll.Cp(), function (_, _, c) - return type(c) == 'number' - end) - return ll.V(name) - end - local isFirstCode = true - local firstCode - local compiler = ll.P { - 'Result', - Result = (ll.V'Code' + ll.V'Static')^1, - Code = ll.P'?' / function () - if isFirstCode then - isFirstCode = false - push(ll.Cmt(ll.C(code()), function (_, pos, code) - firstCode = code - return pos, code - end)) - else - push(ll.Cmt( - ll.C(code()), - function (_, _, me) - return firstCode == me - end - )) - end - end, - Static = (1 - ll.P'?')^1 / function (c) - push(static(c)) - end, - } - compiler:match(str) - push(eof()) - return ll.P(state) -end - -function mt:compileLuaPath() - for i, luapath in ipairs(config.config.runtime.path) do - self.pathMatcher[i] = self:createCompiler(luapath) - end -end - -function mt:convertPathAsRequire(filename, start) - local list - for _, matcher in ipairs(self.pathMatcher) do - local str = matcher:match(filename:sub(start)) - if str then - if not list then - list = {} - end - list[#list+1] = str:gsub('/', '.') - end - end - return list -end - ---- @param baseUri uri ---- @param input string -function mt:matchPath(baseUri, input) - local first = input:match '^[^%.]+' - if not first then - return nil - end - first = first:gsub('%W', '%%%1') - local basePath = uric.decode(baseUri) - if not basePath then - return nil - end - local baseName = fn.getFileName(basePath) - local rootLen = #self.root:string(basePath) - local map = {} - for filename in pairs(self.files) do - if filename ~= baseName then - local trueFilename = fn.getTrueName(filename) - local start - if platform.OS == 'Windows' then - start = filename:find('[/\\]' .. first:lower(), rootLen + 1) - else - start = trueFilename:find('[/\\]' .. first, rootLen + 1) - end - if start then - local list = self:convertPathAsRequire(trueFilename, start + 1) - if list then - for _, str in ipairs(list) do - if #str >= #input and fn.fileNameEq(str:sub(1, #input), input) then - if not map[str] then - map[str] = trueFilename - else - local s1 = fn.similarity(trueFilename, baseName) - local s2 = fn.similarity(map[str], baseName) - if s1 > s2 then - map[str] = trueFilename - elseif s1 == s2 then - if trueFilename < map[str] then - map[str] = trueFilename - end - end - end - end - end - end - end - end - end - - local list = {} - for str in pairs(map) do - list[#list+1] = str - map[str] = map[str]:sub(rootLen + 2) - end - if #list == 0 then - return nil - end - table.sort(list, function (a, b) - local sa = fn.similarity(map[a], baseName) - local sb = fn.similarity(map[b], baseName) - if sa == sb then - return a < b - else - return sa > sb - end - end) - return list, map -end - -function mt:searchPath(baseUri, str) - str = fn.getFileName(fs.path(str)) - if self.searched[baseUri] and self.searched[baseUri][str] then - return self.searched[baseUri][str] - end - str = str:gsub('%.', '/') - :gsub('%%', '%%%%') - local searchers = {} - for i, luapath in ipairs(config.config.runtime.path) do - searchers[i] = luapath:gsub('%?', str) - end - - local uri = self:findPath(baseUri, searchers) - if uri then - if not self.searched[baseUri] then - self.searched[baseUri] = {} - end - self.searched[baseUri][str] = uri - end - return uri -end - -function mt:loadPath(baseUri, str) - local ok, relative = pcall(fs.relative, fs.absolute(self.root / str), self.root) - if not ok then - return nil - end - str = fn.getFileName(relative) - if self.loaded[str] then - return self.loaded[str] - end - - local searchers = { str } - - local uri = self:findPath(baseUri, searchers) - if uri then - self.loaded[str] = uri - end - return uri -end - -function mt:reset() - self.searched = {} - self.loaded = {} - self.lsp:reCompile() -end - ----@param uri uri ----@return path -function mt:relativePathByUri(uri) - local path = uric.decode(uri) - if not path then - return nil - end - local relate = fs.relative(path, self.root) - return relate -end - ----@param uri uri ----@return path -function mt:absolutePathByUri(uri) - local path = uric.decode(uri) - if not path then - return nil - end - return fs.absolute(path) -end - ---- @param lsp LSP ---- @param name string ---- @return Workspace -return function (lsp, name) - local workspace = setmetatable({ - lsp = lsp, - name = name, - files = {}, - searched = {}, - loaded = {}, - pathMatcher = {} - }, mt) - workspace:compileLuaPath() - workspace:listenLoadFile() - return workspace -end diff --git a/test.lua b/test.lua deleted file mode 100644 index 72178860..00000000 --- a/test.lua +++ /dev/null @@ -1,60 +0,0 @@ -local currentPath = debug.getinfo(1, 'S').source:sub(2) -local rootPath = currentPath:gsub('[^/\\]-$', '') -if rootPath == '' then - rootPath = './' -end -loadfile(rootPath .. 'platform.lua')('script') -package.path = package.path - .. ';' .. rootPath .. 'test/?.lua' - .. ';' .. rootPath .. 'test/?/init.lua' -local fs = require 'bee.filesystem' -ROOT = fs.absolute(fs.path(rootPath):parent_path()) -LANG = 'en-US' - -log = require 'log' -log.init(ROOT, ROOT / 'log' / 'test.log') -log.debug('测试开始') -ac = {} - -require 'utility' - -local function loadAllLibs() - assert(require 'bee.filesystem') - assert(require 'bee.subprocess') - assert(require 'bee.thread') - assert(require 'bee.socket') - assert(require 'lni') - assert(require 'lpeglabel') -end - -local function main() - local function test(name) - local clock = os.clock() - print(('测试[%s]...'):format(name)) - require(name) - print(('测试[%s]用时[%.3f]'):format(name, os.clock() - clock)) - end - - test 'core' - test 'definition' - test 'rename' - test 'highlight' - test 'references' - test 'diagnostics' - test 'type_inference' - test 'find_lib' - test 'hover' - test 'completion' - test 'signature' - test 'document_symbol' - test 'crossfile' - test 'full' - test 'other' - - print('测试完成') -end - -loadAllLibs() -main() - -log.debug('测试完成') diff --git a/test/completion/init.lua b/test/completion/init.lua deleted file mode 100644 index 98234551..00000000 --- a/test/completion/init.lua +++ /dev/null @@ -1,1508 +0,0 @@ -local core = require 'core' -local parser = require 'parser' -local buildVM = require 'vm' -local config = require 'config' - -local CompletionItemKind = { - Text = 1, - Method = 2, - Function = 3, - Constructor = 4, - Field = 5, - Variable = 6, - Class = 7, - Interface = 8, - Module = 9, - Property = 10, - Unit = 11, - Value = 12, - Enum = 13, - Keyword = 14, - Snippet = 15, - Color = 16, - File = 17, - Reference = 18, - Folder = 19, - EnumMember = 20, - Constant = 21, - Struct = 22, - Event = 23, - Operator = 24, - TypeParameter = 25, -} - -local EXISTS = {'EXISTS'} - -local function eq(a, b) - if a == EXISTS and b ~= nil then - return true - end - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not eq(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -rawset(_G, 'TEST', true) - -function TEST(script) - return function (expect) - local pos = script:find('$', 1, true) - 1 - local new_script = script:gsub('%$', '') - local ast = parser:parse(new_script, 'lua', 'Lua 5.4') - local vm = buildVM(ast) - assert(vm) - local result = core.completion(vm, new_script, pos) - if expect then - assert(result) - -- 不检查 data 字段 - for _, item in ipairs(result) do - item.data = nil - end - assert(eq(expect, result)) - else - assert(result == nil) - end - end -end - -config.config.completion.callSnippet = 'Both' -config.config.completion.keywordSnippet = 'Both' - -TEST [[ -local zabcde -za$ -]] -{ - { - label = 'zabcde', - kind = CompletionItemKind.Variable, - } -} - -TEST [[ -local zabcdefg -local zabcde -zabcde$ -]] -{ - { - label = 'zabcdefg', - kind = CompletionItemKind.Variable, - }, - { - label = 'zabcde', - kind = CompletionItemKind.Variable, - }, -} - -TEST [[ -local zabcdefg -za$ -local zabcde -]] -{ - { - label = 'zabcdefg', - kind = CompletionItemKind.Variable, - }, - { - label = 'zabcde', - kind = CompletionItemKind.Text, - }, -} - -TEST [[ -local zabcde -zace$ -]] -{ - { - label = 'zabcde', - kind = CompletionItemKind.Variable, - } -} - -TEST [[ -ZABC -local zabc -zac$ -]] -{ - { - label = 'zabc', - kind = CompletionItemKind.Variable, - }, - { - label = 'ZABC', - kind = CompletionItemKind.Field, - }, -} - -TEST [[ -ass$ -]] -{ - { - label = 'assert', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = '(function)', - }, - { - label = 'assert()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - insertText = EXISTS, - detail = '(function)', - }, -} - -TEST [[ -local zabc = 1 -z$ -]] -{ - { - label = 'zabc', - kind = CompletionItemKind.Variable, - detail = '(number) = 1', - } -} - -TEST [[ -local zabc = 1.0 -z$ -]] -{ - { - label = 'zabc', - kind = CompletionItemKind.Variable, - detail = '(number) = 1.0', - } -} - -TEST [[ -local t = { - abc = 1, -} -t.a$ -]] -{ - { - label = 'abc', - kind = CompletionItemKind.Enum, - detail = '(number) = 1', - } -} - -TEST [[ -local mt = {} -function mt:get(a, b) - return 1 -end -mt:g$ -]] -{ - { - label = 'get', - kind = CompletionItemKind.Method, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'get()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - insertText = EXISTS, - detail = EXISTS, - }, -} - -TEST [[ -loc$ -]] -{ - { - label = 'collectgarbage', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'collectgarbage()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, - { - label = 'local', - kind = CompletionItemKind.Keyword, - }, - { - label = 'local function', - kind = CompletionItemKind.Snippet, - insertText = EXISTS, - } -} - -TEST [[ -t.a = {} -t.b = {} -t.$ -]] -{ - { - label = 'a', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, - { - label = 'b', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, -} - -TEST [[ -t.a = {} -t.b = {} -t. $ -]] -{ - { - label = 'a', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, - { - label = 'b', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, -} - -TEST [[ -t.a = {} -function t:b() -end -t:$ -]] -{ - { - label = 'b', - kind = CompletionItemKind.Method, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'b()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, -} - -TEST [[ -local t = { - a = {}, -} -t.$ -xxx() -]] -{ - { - label = 'a', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, - { - label = 'xxx', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'xxx()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, -} - -TEST [[ -(''):$ -]] -(EXISTS) - -TEST 'local s = "a:$"' (nil) - -TEST 'debug.$' -(EXISTS) - -TEST [[ -local xxxx = { - xxyy = 1, - xxzz = 2, -} - -local t = { - x$ -} -]] -{ - { - label = 'xxxx', - kind = CompletionItemKind.Variable, - detail = EXISTS, - }, - { - label = 'xxyy', - kind = CompletionItemKind.Property, - }, - { - label = 'xxzz', - kind = CompletionItemKind.Property, - }, - { - label = 'next', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'next()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, - { - label = 'xpcall', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'xpcall()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, -} - -TEST [[ -print(ff2) -local faa -local f$ -print(fff) -]] -{ - { - label = 'fff', - kind = CompletionItemKind.Variable, - }, - { - label = 'function', - kind = CompletionItemKind.Keyword, - }, - { - label = 'function ()', - kind = CompletionItemKind.Snippet, - insertText = EXISTS, - }, - { - label = 'ff2', - kind = CompletionItemKind.Text, - }, - { - label = 'faa', - kind = CompletionItemKind.Text, - }, -} - -TEST [[ -local function f(ff$) - print(fff) -end -]] -{ - { - label = 'fff', - kind = CompletionItemKind.Variable, - }, -} - -TEST [[ -collectgarbage('$') -]] -{ - { - label = 'collect', - filterText = 'collect', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'stop', - filterText = 'stop', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'restart', - filterText = 'restart', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'count', - filterText = 'count', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'step', - filterText = 'step', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'incremental', - filterText = 'incremental', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'generational', - filterText = 'generational', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'isrunning', - filterText = 'isrunning', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, -} - -TEST [[ -collectgarbage($) -]] -(EXISTS) - -TEST [[ -io.read($) -]] -{ - { - label = '"n"', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - }, - { - label = '"a"', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - }, - { - label = '"l"', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - }, - { - label = '"L"', - kind = CompletionItemKind.EnumMember, - documentation = EXISTS, - }, -} - -TEST [[ -local function f(a, $) -end -]] -(nil) - -TEST [[ -self.results.list[#$] -]] -{ - { - label = 'self.results.list+1', - kind = CompletionItemKind.Snippet, - textEdit = { - start = 20, - finish = 20, - newText = 'self.results.list+1] = ', - }, - }, -} - -TEST [[ -self.results.list[#self.re$] -]] -{ - { - label = 'self.results.list+1', - kind = CompletionItemKind.Snippet, - textEdit = { - start = 20, - finish = 27, - newText = 'self.results.list+1] = ', - }, - }, - { - label = 'results', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, -} - -TEST [[ -fff[#ff$] -]] -{ - { - label = 'fff+1', - kind = CompletionItemKind.Snippet, - textEdit = { - start = 6, - finish = 8, - newText = 'fff+1] = ', - }, - }, - { - label = 'fff', - kind = CompletionItemKind.Field, - detail = EXISTS, - } -} - -TEST [[ -local _ = fff.kkk[#$] -]] -{ - { - label = 'fff.kkk', - kind = CompletionItemKind.Snippet, - textEdit = { - start = 20, - finish = 20, - newText = 'fff.kkk]', - }, - }, -} - -TEST [[ -local t = { - a = 1, -} - -t . $ -]] -(EXISTS) - -TEST [[ -local t = { - a = 1, -} - -t . $ b -]] -(EXISTS) - -TEST [[ -local t = { - a = 1, -} - -t $ -]] -(nil) - -TEST [[ -local t = { - a = 1, -} - -t $. -]] -(nil) - -TEST [[ -local xxxx -xxxx$ -]] -{ - { - label = 'xxxx', - kind = CompletionItemKind.Variable, - }, -} - -TEST [[ -local xxxx -local XXXX -xxxx$ -]] -{ - { - label = 'xxxx', - kind = CompletionItemKind.Variable, - }, - { - label = 'XXXX', - kind = CompletionItemKind.Variable, - }, -} - -TEST [[ -local t = { - xxxxx = 1, -} -xx$ -]] -{ - { - label = 'xxxxx', - kind = CompletionItemKind.Text, - }, -} - -TEST [[ -local index -tbl[ind$] -]] -{ - { - label = 'index', - kind = CompletionItemKind.Variable, - }, -} - -TEST [[ -return function () - local t = { - a = {}, - b = {}, - } - t.$ -end -]] -{ - { - label = 'a', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, - { - label = 'b', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, -} - -TEST [[ -local ast = 1 -local t = 'as$' -local ask = 1 -]] -(nil) - -TEST [[ -local add - -function f(a$) - local _ = add -end -]] -{ - { - label = 'add', - kind = CompletionItemKind.Variable, - }, -} - -TEST [[ -function table.i$ -]] -(EXISTS) - -TEST [[ -do - xx.$ -end -]] -(nil) - -require 'config' .config.runtime.version = 'Lua 5.4' ---TEST [[ ---local $ ---]] ---{ --- { --- label = '<toclose>', --- kind = CompletionItemKind.Keyword, --- }, --- { --- label = '<const>', --- kind = CompletionItemKind.Keyword, --- }, ---} --- ---TEST [[ ---local <toc$ ---]] ---{ --- { --- label = '<toclose>', --- kind = CompletionItemKind.Keyword, --- } ---} - -TEST [[ -local mt = {} -mt.__index = mt -local t = setmetatable({}, mt) - -t.$ -]] -{ - { - label = '__index', - kind = CompletionItemKind.Field, - detail = EXISTS, - } -} - -TEST [[ -local elseaaa -ELSE = 1 -if a then -else$ -]] -{ - { - label = 'elseaaa', - kind = CompletionItemKind.Variable, - }, - { - label = 'ELSE', - kind = CompletionItemKind.Enum, - detail = EXISTS, - }, - { - label = 'select', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'select()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, - { - label = 'setmetatable', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'setmetatable()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, - { - label = 'else', - kind = CompletionItemKind.Keyword, - }, - { - label = 'elseif', - kind = CompletionItemKind.Keyword, - }, - { - label = 'elseif .. then', - kind = CompletionItemKind.Snippet, - insertText = EXISTS, - } -} - -TEST [[ -local xpcal -xpcal$ -]] -{ - { - label = 'xpcal', - kind = CompletionItemKind.Variable, - }, - { - label = 'xpcall', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'xpcall()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, -} - -TEST [[ -function mt:f(a, b, c) -end - -mt:f$ -]] -{ - { - label = 'f', - kind = CompletionItemKind.Method, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'f()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = 'f(${1:a: any}, ${2:b: any}, ${3:c: any})', - }, -} - -TEST [[ ----@$ -]] -(EXISTS) - -TEST [[ ----@cl$ -]] -{ - { - label = 'class', - kind = CompletionItemKind.Keyword - } -} - -TEST [[ ----@class ZABC ----@class ZBBC : Z$ -]] -{ - { - label = 'ZABC', - kind = CompletionItemKind.Class, - }, - { - label = 'ZBBC', - kind = CompletionItemKind.Class, - }, -} - -TEST [[ ----@class zabc -local abcd ----@type za$ -]] -{ - { - label = 'zabc', - kind = CompletionItemKind.Class, - }, -} - -TEST [[ ----@class abc -local abcd ----@type $ -]] -(EXISTS) - -TEST [[ ----@class zabc -local abcd ----@type zxxx|z$ -]] -{ - { - label = 'zabc', - kind = CompletionItemKind.Class, - } -} - -TEST [[ ----@alias zabc zabb ----@type za$ -]] -{ - { - label = 'zabc', - kind = CompletionItemKind.Class, - }, -} - -TEST [[ ----@class Class ----@param x C$ -]] -{ - { - label = 'Class', - kind = CompletionItemKind.Class, - }, - { - label = 'function', - kind = CompletionItemKind.Class, - }, -} - -TEST [[ ----@param $ -function f(a, b, c) -end -]] -{ - { - label = 'a, b, c', - kind = CompletionItemKind.Snippet, - insertText = [[ -a any ----@param b any ----@param c any]] - }, - { - label = 'a', - kind = CompletionItemKind.Interface, - }, - { - label = 'b', - kind = CompletionItemKind.Interface, - }, - { - label = 'c', - kind = CompletionItemKind.Interface, - }, -} - -TEST [[ -local function f() - ---@param $ - function f(a, b, c) - end -end -]] -{ - { - label = 'a, b, c', - kind = CompletionItemKind.Snippet, - insertText = [[ -a any ----@param b any ----@param c any]] - }, - { - label = 'a', - kind = CompletionItemKind.Interface, - }, - { - label = 'b', - kind = CompletionItemKind.Interface, - }, - { - label = 'c', - kind = CompletionItemKind.Interface, - }, -} - -TEST [[ ----@param $ -function mt:f(a, b, c) -end -]] -{ - { - label = 'a, b, c', - kind = CompletionItemKind.Snippet, - insertText = [[ -a any ----@param b any ----@param c any]] - }, - { - label = 'a', - kind = CompletionItemKind.Interface, - }, - { - label = 'b', - kind = CompletionItemKind.Interface, - }, - { - label = 'c', - kind = CompletionItemKind.Interface, - }, -} - -TEST [[ ----@param xyz Class ----@param xxx Class -function f(x$) -]] -{ - { - label = 'xyz, xxx', - kind = CompletionItemKind.Snippet, - }, - { - label = 'xyz', - kind = CompletionItemKind.Interface, - }, - { - label = 'xxx', - kind = CompletionItemKind.Interface, - }, -} - -TEST [[ ----@param xyz Class ----@param xxx Class -function f($ -]] -{ - { - label = 'xyz, xxx', - kind = CompletionItemKind.Snippet, - }, - { - label = 'xyz', - kind = CompletionItemKind.Interface, - }, - { - label = 'xxx', - kind = CompletionItemKind.Interface, - }, -} - -TEST [[ ----@param xyz Class ----@param xxx Class -function f($) -]] -{ - { - label = 'xyz, xxx', - kind = CompletionItemKind.Snippet, - }, - { - label = 'xyz', - kind = CompletionItemKind.Interface, - }, - { - label = 'xxx', - kind = CompletionItemKind.Interface, - }, -} - -TEST [[ -local function f() - ---@t$ -end -]] -{ - { - label = 'type', - kind = CompletionItemKind.Keyword, - }, - { - label = 'return', - kind = CompletionItemKind.Keyword, - } -} - -TEST [[ ----@class Class ----@field name string ----@field id integer -local mt = {} -mt.$ -]] -{ - { - label = 'id', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, - { - label = 'name', - kind = CompletionItemKind.Field, - detail = EXISTS, - }, -} - -TEST [[ -local function f() - if a then - else$ -end -]] -{ - { - label = 'select', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'select()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, - { - label = 'setmetatable', - kind = CompletionItemKind.Function, - documentation = EXISTS, - detail = EXISTS, - }, - { - label = 'setmetatable()', - kind = CompletionItemKind.Snippet, - documentation = EXISTS, - detail = EXISTS, - insertText = EXISTS, - }, - { - label = 'else', - kind = CompletionItemKind.Keyword, - }, - { - label = 'elseif', - kind = CompletionItemKind.Keyword, - }, - { - label = 'elseif .. then', - kind = CompletionItemKind.Snippet, - insertText = EXISTS, - }, -} - -TEST [[ ----@param x string | "'AAA'" | "'BBB'" | "'CCC'" -function f(y, x) -end - -f(1, $) -]] -{ - { - label = "'AAA'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'BBB'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'CCC'", - kind = CompletionItemKind.EnumMember, - } -} - -TEST [[ ----@param x string | "'AAA'" | "'BBB'" | "'CCC'" -function f(y, x) -end - -f(1,$) -]] -{ - { - label = "'AAA'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'BBB'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'CCC'", - kind = CompletionItemKind.EnumMember, - } -} - -TEST [[ ----@param x string | "'AAA'" | "'BBB'" | "'CCC'" -function f(x) -end - -f($) -]] -{ - { - label = "'AAA'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'BBB'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'CCC'", - kind = CompletionItemKind.EnumMember, - } -} - -TEST [[ ----@alias Option string | "'AAA'" | "'BBB'" | "'CCC'" ----@param x Option -function f(x) -end - -f($) -]] -{ - { - label = "'AAA'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'BBB'", - kind = CompletionItemKind.EnumMember, - }, - { - label = "'CCC'", - kind = CompletionItemKind.EnumMember, - } -} - -TEST [[ ----@param x string | "'AAA'" | "'BBB'" | "'CCC'" -function f(x) -end - -f('$') -]] -{ - { - label = "AAA", - filterText = 'AAA', - kind = CompletionItemKind.EnumMember, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = "BBB", - filterText = 'BBB', - kind = CompletionItemKind.EnumMember, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = "CCC", - filterText = 'CCC', - kind = CompletionItemKind.EnumMember, - textEdit = EXISTS, - additionalTextEdits = EXISTS, - } -} - -TEST [[ ----@param x function | 'function () end' -function f(x) -end - -f(function () - $ -end) -]] -(nil) - -TEST [[ -local t = { - ['a.b.c'] = {} -} - -t.$ -]] -{ - { - label = 'a.b.c', - kind = CompletionItemKind.Field, - detail = EXISTS, - textEdit = { - start = 37, - finish = 36, - newText = '["a.b.c"]', - }, - additionalTextEdits = { - { - start = 36, - finish = 36, - newText = '', - } - } - } -} - -TEST [[ -_ENV['z.b.c'] = {} - -z$ -]] -{ - { - label = 'z.b.c', - kind = CompletionItemKind.Field, - detail = EXISTS, - textEdit = { - start = 22, - finish = 21, - newText = '_ENV["z.b.c"]', - }, - additionalTextEdits = { - { - start = 21, - finish = 21, - newText = '', - } - } - } -} - -TEST [[ -io.close(1, $) -]] -(nil) - -TEST [[ ---- JustTest ----@overload fun(list:table):string ----@overload fun(list:table, sep:string):string ----@overload fun(list:table, sep:string, i:number):string ----@param list table ----@param sep string ----@param i number ----@param j number ----@return string -local function zzzzz(list, sep, i, j) end - -zzz$ -]] -{ - { - label = 'zzzzz', - kind = CompletionItemKind.Function, - detail = '(function)(4 prototypes)', - documentation = { - kind = 'markdown', - value = [[ -```lua -function zzzzz(list: table, sep: string, i: number, j: number) - -> string -``` -JustTest -```lua - -``` - -]] - }, - }, - { - label = 'zzzzz()', - kind = CompletionItemKind.Snippet, - detail = '(function)(4 prototypes)', - insertText = EXISTS, - documentation = EXISTS, - } -} - -TEST [[ ---- abc -zzz = 1 -zz$ -]] -{ - { - label = 'zzz', - kind = CompletionItemKind.Enum, - detail = '(number) = 1', - documentation = { - kind = 'markdown', - value = 'abc', - } - } -} - -TEST [[ ----@param x string ----| "'选项1'" # 注释1 ----| "'选项2'" # 注释2 -function f(x) end - -f($) -]] -{ - { - label = "'选项1'", - kind = CompletionItemKind.EnumMember, - documentation = { - kind = 'markdown', - value = '注释1', - }, - }, - { - label = "'选项2'", - kind = CompletionItemKind.EnumMember, - documentation = { - kind = 'markdown', - value = '注释2', - }, - }, -} diff --git a/test/crossfile/completion.lua b/test/crossfile/completion.lua deleted file mode 100644 index 26579de2..00000000 --- a/test/crossfile/completion.lua +++ /dev/null @@ -1,630 +0,0 @@ -local service = require 'service' -local workspace = require 'workspace' -local fs = require 'bee.filesystem' -local core = require 'core' -local uric = require 'uri' - -rawset(_G, 'TEST', true) - -local CompletionItemKind = { - Text = 1, - Method = 2, - Function = 3, - Constructor = 4, - Field = 5, - Variable = 6, - Class = 7, - Interface = 8, - Module = 9, - Property = 10, - Unit = 11, - Value = 12, - Enum = 13, - Keyword = 14, - Snippet = 15, - Color = 16, - File = 17, - Reference = 18, - Folder = 19, - EnumMember = 20, - Constant = 21, - Struct = 22, - Event = 23, - Operator = 24, - TypeParameter = 25, -} - -local EXISTS = {} - -local function eq(a, b) - if a == EXISTS and b ~= nil then - return true - end - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not eq(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -function TEST(data) - local lsp = service() - local ws = lsp:addWorkspace('test', uric.encode(ROOT)) - - local mainUri - local mainBuf - local pos - for _, info in ipairs(data) do - local uri = uric.encode(ROOT / fs.path(info.path)) - local script = info.content - if info.main then - pos = script:find('$', 1, true) - 1 - script = script:gsub('%$', '') - mainUri = uri - mainBuf = script - end - lsp:saveText(uri, 1, script) - ws:addFile(uric.decode(uri)) - - while lsp._needCompile[1] do - lsp:compileVM(lsp._needCompile[1]) - end - end - - local vm = lsp:loadVM(mainUri) - assert(vm) - local result = core.completion(vm, mainBuf, pos) - local expect = data.completion - if expect then - assert(result) - for _, item in ipairs(result) do - item.data = nil - end - for _, item in ipairs(expect) do - if item.documentation then - item.documentation = { - kind = 'markdown', - value = item.documentation, - } - end - end - assert(eq(expect, result)) - else - assert(result == nil) - end -end - -if require'bee.platform'.OS == 'Windows' then - -TEST { - { - path = 'abc.lua', - content = '', - }, - { - path = 'abc/aaa.lua', - content = '', - }, - { - path = 'xxx/abcde.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "a$"', - main = true, - }, - completion = { - { - label = 'abc', - filterText = 'abc', - kind = CompletionItemKind.Reference, - documentation = 'abc.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'abc.aaa', - filterText = 'abc.aaa', - kind = CompletionItemKind.Reference, - documentation = 'abc/aaa.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'abcde', - filterText = 'abcde', - kind = CompletionItemKind.Reference, - documentation = 'xxx/abcde.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'abc.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "A$"', - main = true, - }, - completion = { - { - label = 'abc', - filterText = 'abc', - kind = CompletionItemKind.Reference, - documentation = 'abc.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'abc.lua', - content = '', - }, - { - path = 'ABCD.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "a$"', - main = true, - }, - completion = { - { - label = 'ABCD', - filterText = 'ABCD', - kind = CompletionItemKind.Reference, - documentation = 'ABCD.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'abc', - filterText = 'abc', - kind = CompletionItemKind.Reference, - documentation = 'abc.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -else - -TEST { - { - path = 'abc.lua', - content = '', - }, - { - path = 'ABCD.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "a$"', - main = true, - }, - completion = { - { - label = 'abc', - filterText = 'abc', - kind = CompletionItemKind.Reference, - documentation = 'abc.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -end - -TEST { - { - path = 'abc.lua', - content = '', - }, - { - path = 'abc/init.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "abc$"', - main = true, - }, - completion = { - { - label = 'abc', - filterText = 'abc', - kind = CompletionItemKind.Reference, - documentation = 'abc.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'abc.init', - filterText = 'abc.init', - kind = CompletionItemKind.Reference, - documentation = 'abc/init.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'abc/init.lua', - content = '', - }, - { - path = 'abc/bbc.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "abc$"', - main = true, - }, - completion = { - { - label = 'abc', - filterText = 'abc', - kind = CompletionItemKind.Reference, - documentation = 'abc/init.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'abc.bbc', - filterText = 'abc.bbc', - kind = CompletionItemKind.Reference, - documentation = 'abc/bbc.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'abc.init', - filterText = 'abc.init', - kind = CompletionItemKind.Reference, - documentation = 'abc/init.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'abc.lua', - content = '', - }, - { - path = 'abc/init.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "abc.$"', - main = true, - }, - completion = { - { - label = 'abc.init', - filterText = 'abc.init', - kind = CompletionItemKind.Reference, - documentation = 'abc/init.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'abc.lua', - content = '', - }, - { - path = 'abc/init.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "abc.i$"', - main = true, - }, - completion = { - { - label = 'abc.init', - filterText = 'abc.init', - kind = CompletionItemKind.Reference, - documentation = 'abc/init.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'core/core.lua', - content = '', - }, - { - path = 'core/xxx.lua', - content = '', - }, - { - path = 'test.lua', - content = 'require "core.co$"', - main = true, - }, - completion = { - { - label = 'core.core', - filterText = 'core.core', - kind = CompletionItemKind.Reference, - documentation = 'core/core.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'x000.lua', - content = '', - }, - { - path = 'abc/x111.lua', - content = '', - }, - { - path = 'abc/test.lua', - content = 'require "x$"', - main = true, - }, - completion = { - { - label = 'x000', - filterText = 'x000', - kind = CompletionItemKind.Reference, - documentation = 'x000.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - { - label = 'x111', - filterText = 'x111', - kind = CompletionItemKind.Reference, - documentation = 'abc/x111.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = 'a.lua', - content = [[ - return { - a = 1, - b = 2, - c = 3, - } - ]] - }, - { - path = 'b.lua', - content = [[ - local t = require 'a' - t.$ - ]], - main = true, - }, - completion = { - { - label = 'a', - kind = CompletionItemKind.Enum, - detail = '(number) = 1', - }, - { - label = 'b', - kind = CompletionItemKind.Enum, - detail = '(number) = 2', - }, - { - label = 'c', - kind = CompletionItemKind.Enum, - detail = '(number) = 3', - }, - } -} - -TEST { - { - path = 'a.lua', - content = [[ - zabc = 1 - ]] - }, - { - path = 'a.lua', - content = [[ - zabcd = print - ]] - }, - { - path = 'a.lua', - content = [[ - zabcdef = 1 - ]] - }, - { - path = 'b.lua', - content = [[ - zab$ - ]], - main = true, - }, - completion = { - { - label = 'zabcdef', - kind = CompletionItemKind.Enum, - detail = '(number) = 1', - }, - } -} - -TEST { - { - path = 'init.lua', - content = [[ - setmetatable(_G, {__index = {}}) - ]] - }, - { - path = 'a.lua', - content = [[ - print(zabc) - ]] - }, - { - path = 'a.lua', - content = [[ - zabcdef = 1 - ]] - }, - { - path = 'b.lua', - content = [[ - zab$ - ]], - main = true, - }, - completion = { - { - label = 'zabcdef', - kind = CompletionItemKind.Enum, - detail = '(number) = 1', - }, - } -} - -TEST { - { - path = 'a.lua', - content = [[ - local japi = require 'jass.japi' - japi.xxxaaaaxxxx - ]] - }, - { - path = 'a.lua', - content = [[ - local japi = require 'jass.japi' - japi.xxxaaaax$ - ]], - main = true, - }, -} - -TEST { - { - path = 'xxx.lua', - content = '' - }, - { - path = 'xxxx.lua', - content = [[ - require 'xx$' - ]], - main = true, - }, - completion = { - { - label = 'xxx', - filterText = 'xxx', - kind = CompletionItemKind.Reference, - documentation = 'xxx.lua', - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = [[xx'xx.lua]], - content = '' - }, - { - path = 'main.lua', - content = [[ - require 'xx$' - ]], - main = true, - }, - completion = { - { - label = [[xx'xx]], - filterText = [[xx'xx]], - kind = CompletionItemKind.Reference, - documentation = [[xx'xx.lua]], - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} - -TEST { - { - path = [[xx]=]xx.lua]], - content = '' - }, - { - path = 'main.lua', - content = [[ - require [=[xx$]=]' - ]], - main = true, - }, - completion = { - { - label = [[xx]=]xx]], - filterText = [[xx]=]xx]], - kind = CompletionItemKind.Reference, - documentation = [[xx]=]xx.lua]], - textEdit = EXISTS, - additionalTextEdits = EXISTS, - }, - } -} diff --git a/test/crossfile/definition.lua b/test/crossfile/definition.lua deleted file mode 100644 index c59e5999..00000000 --- a/test/crossfile/definition.lua +++ /dev/null @@ -1,421 +0,0 @@ -local service = require 'service' -local workspace = require 'workspace' -local fs = require 'bee.filesystem' -local core = require 'core' -local uric = require 'uri' - -rawset(_G, 'TEST', true) - -local function catch_target(script, sep) - local list = {} - local cur = 1 - local cut = 0 - while true do - local start, finish = script:find(('<%%%s.-%%%s>'):format(sep, sep), cur) - if not start then - break - end - list[#list+1] = { start - cut, finish - 4 - cut } - cur = finish + 1 - cut = cut + 4 - end - local new_script = script:gsub(('<%%%s(.-)%%%s>'):format(sep, sep), '%1') - return new_script, list -end - -local function founded(targets, results) - if #targets ~= #results then - return false - end - for _, target in ipairs(targets) do - for _, result in ipairs(results) do - if target[1] == result[1] - and target[2] == result[2] - and target[3] == result[3] - then - goto NEXT - end - end - do return false end - ::NEXT:: - end - return true -end - -function TEST(datas) - local lsp = service() - local ws = lsp:addWorkspace('test', uric.encode(ROOT)) - - local compiled = {} - local targetList = {} - local sourceList, sourceUri - - for i, data in ipairs(datas) do - local uri = uric.encode(ROOT / fs.path(data.path)) - local new, list = catch_target(data.content, '!') - if new ~= data.content or data.target then - if data.target then - targetList[#targetList+1] = { - data.target[1], - data.target[2], - uri - } - else - for _, position in ipairs(list) do - targetList[#targetList+1] = { - position[1], - position[2], - uri - } - end - end - data.content = new - end - new, list = catch_target(data.content, '?') - if new ~= data.content then - compiled[i] = new - sourceList = list - sourceUri = uri - data.content = new - end - lsp:saveText(uri, 1, data.content) - ws:addFile(uric.decode(uri)) - end - - while lsp._needCompile[1] do - lsp:compileVM(lsp._needCompile[1]) - end - - local sourceVM = lsp:getVM(sourceUri) - assert(sourceVM) - local sourcePos = (sourceList[1][1] + sourceList[1][2]) // 2 - local positions = core.definition(sourceVM, sourcePos, 'definition') - if positions then - assert(founded(targetList, positions)) - else - assert(#targetList == 0) - end -end - -TEST { - { - path = 'a.lua', - content = '', - target = {0, 0}, - }, - { - path = 'b.lua', - content = 'require <?"a"?>', - }, -} - -TEST { - { - path = 'a.lua', - content = 'local <!t!> = 1; return t', - }, - { - path = 'b.lua', - content = 'local <?t?> = require "a"', - target = {7, 7}, - }, -} - -if require 'bee.platform'.OS == 'Windows' then -TEST { - { - path = 'a.lua', - content = '', - target = {0, 0}, - }, - { - path = 'b.lua', - content = 'require <?"A"?>', - }, -} -end - -TEST { - { - path = 'a.lua', - content = 'local <!t!> = 1; return t', - }, - { - path = 'b.lua', - content = 'local <?t?> = require "a"', - target = {7, 7}, - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - local t = { - <!x!> = 1, - } - return t - ]], - }, - { - path = 'b.lua', - content = [[ - local t = require "a" - t.<?x?>() - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - return { - <!x!> = 1, - } - ]], - }, - { - path = 'b.lua', - content = [[ - local t = require "a" - t.<?x?>() - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - return <!function () - end!> - ]], - }, - { - path = 'b.lua', - content = [[ - local <!f!> = require "a" - <?f?>() - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - return <!a():b():c()!> - ]], - }, - { - path = 'b.lua', - content = [[ - local <?t?> = require 'a' - ]], - target = {19, 19}, - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - <!global!> = 1 - ]], - }, - { - path = 'b.lua', - content = [[ - print(<?global?>) - ]], - } -} - -TEST { - { - path = 'b.lua', - content = [[ - print(<?global?>) - ]], - }, - { - path = 'a.lua', - content = [[ - <!global!> = 1 - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - x = {} - x.<!global!> = 1 - ]], - }, - { - path = 'b.lua', - content = [[ - print(x.<?global?>) - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - x.<!global!> = 1 - ]], - }, - { - path = 'b.lua', - content = [[ - print(x.<?global?>) - ]], - }, - { - path = 'c.lua', - content = [[ - x = {} - ]] - } -} - -TEST { - { - path = 'a.lua', - content = [[ - return function (<!arg!>) - print(<?arg?>) - end - ]], - }, - { - path = 'b.lua', - content = [[ - local f = require 'a' - local v = 1 - f(v) - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - return <!{ - a = 1, - }!> - ]], - }, - { - path = 'b.lua', - content = [[ - local <!t!> = require 'a' - <?t?> - ]], - } -} - -TEST { - { - path = 'a.lua', - content = [[ - return <!function () end!> - ]] - }, - { - path = 'b.lua', - content = [[ - local f = require 'a' - ]] - }, - { - path = 'c.lua', - content = [[ - local <!f!> = require 'a' - <?f?> - ]] - } -} - -TEST { - { - path = 'a.lua', - content = [[ - local function <!f!>() - end - return f - ]] - }, - { - path = 'b.lua', - content = [[ - local f = require 'a' - ]] - }, - { - path = 'c.lua', - content = [[ - local <!f!> = require 'a' - <?f?> - ]] - } -} - -TEST { - { - path = 'a/xxx.lua', - content = [[ - return <!function () end!> - ]] - }, - { - path = 'b/xxx.lua', - content = [[ - local <!f!> = require 'xxx' - <?f?> - return function () end - ]] - } -} - -TEST { - { - path = 'a.lua', - content = [[ - ---@class Class - local <!obj!> - ]] - }, - { - path = 'b.lua', - content = [[ - ---@type Class - local <!obj!> - <?obj?> - ]] - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - ---@type Class - local <!obj!> - <?obj?> - ]] - }, - { - path = 'b.lua', - content = [[ - ---@class Class - local <!obj!> - ]] - }, -} diff --git a/test/crossfile/document_symbol.lua b/test/crossfile/document_symbol.lua deleted file mode 100644 index 50a7ff9e..00000000 --- a/test/crossfile/document_symbol.lua +++ /dev/null @@ -1,120 +0,0 @@ -local service = require 'service' -local workspace = require 'workspace' -local fs = require 'bee.filesystem' -local core = require 'core' -local uric = require 'uri' - -local SymbolKind = { - File = 1, - Module = 2, - Namespace = 3, - Package = 4, - Class = 5, - Method = 6, - Property = 7, - Field = 8, - Constructor = 9, - Enum = 10, - Interface = 11, - Function = 12, - Variable = 13, - Constant = 14, - String = 15, - Number = 16, - Boolean = 17, - Array = 18, - Object = 19, - Key = 20, - Null = 21, - EnumMember = 22, - Struct = 23, - Event = 24, - Operator = 25, - TypeParameter = 26, -} - -local EXISTS = {} - -local function eq(a, b) - if a == EXISTS and b ~= nil then - return true - end - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not eq(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -rawset(_G, 'TEST', true) - -function TEST(data) - local lsp = service() - local ws = lsp:addWorkspace('test', uric.encode(ROOT)) - - local targetUri = uric.encode(ROOT / fs.path(data[1].path)) - local sourceUri = uric.encode(ROOT / fs.path(data[2].path)) - - lsp:saveText(sourceUri, 1, data[2].content) - ws:addFile(uric.decode(sourceUri)) - lsp:saveText(targetUri, 1, data[1].content) - ws:addFile(uric.decode(targetUri)) - while lsp._needCompile[1] do - lsp:compileVM(lsp._needCompile[1]) - end - - local sourceVM = lsp:getVM(sourceUri) - assert(sourceVM) - local result = core.documentSymbol(sourceVM) - assert(eq(data.symbol, result)) -end - -TEST { - { - path = 'a.lua', - content = 'return function () end', - }, - { - path = 'b.lua', - content = [[ -local t = { - x = require 'a', -} - ]], - }, - symbol = { - [1] = { - name = 't', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {11, 34}, - children = { - [1] = { - name = 'x', - detail = EXISTS, - kind = SymbolKind.Class, - range = {17, 17}, - selectionRange = {17, 17}, - valueRange = {21, 31}, - }, - } - } - } -} diff --git a/test/crossfile/hover.lua b/test/crossfile/hover.lua deleted file mode 100644 index 1472f1b6..00000000 --- a/test/crossfile/hover.lua +++ /dev/null @@ -1,359 +0,0 @@ -local service = require 'service' -local workspace = require 'workspace' -local fs = require 'bee.filesystem' -local core = require 'core' -local uric = require 'uri' - -rawset(_G, 'TEST', true) - -local EXISTS = {} - -local function eq(a, b) - if a == EXISTS and b ~= nil then - return true - end - if b == EXISTS and a ~= nil then - return true - end - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not eq(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -local function catch_target(script, sep) - local list = {} - local cur = 1 - local cut = 0 - while true do - local start, finish = script:find(('<%%%s.-%%%s>'):format(sep, sep), cur) - if not start then - break - end - list[#list+1] = { start - cut, finish - 4 - cut } - cur = finish + 1 - cut = cut + 4 - end - local new_script = script:gsub(('<%%%s(.-)%%%s>'):format(sep, sep), '%1') - return new_script, list -end - -function TEST(data) - local lsp = service() - local ws = lsp:addWorkspace('test', uric.encode(ROOT)) - - local targetScript = data[1].content - local targetUri = uric.encode(ROOT / fs.path(data[1].path)) - - local sourceScript, sourceList = catch_target(data[2].content, '?') - local sourceUri = uric.encode(ROOT / fs.path(data[2].path)) - - lsp:saveText(targetUri, 1, targetScript) - ws:addFile(uric.decode(targetUri)) - lsp:compileVM(targetUri) - lsp:saveText(sourceUri, 1, sourceScript) - ws:addFile(uric.decode(sourceUri)) - lsp:compileVM(sourceUri) - - local sourceVM = lsp:loadVM(sourceUri) - assert(sourceVM) - local sourcePos = (sourceList[1][1] + sourceList[1][2]) // 2 - local source = core.findSource(sourceVM, sourcePos) - local hover = core.hover(source, lsp) - assert(hover) - if data.hover.description then - local uriROOT = uric.encode(ROOT):gsub('%%', '%%%%') - data.hover.description = data.hover.description:gsub('%$ROOT%$', uriROOT) - end - if hover.label then - hover.label = hover.label:gsub('\r\n', '\n') - end - assert(eq(hover, data.hover)) -end - -TEST { - { - path = 'a.lua', - content = '', - }, - { - path = 'b.lua', - content = 'require <?"a"?>', - }, - hover = { - description = [[[a.lua]($ROOT$/a.lua)]], - } -} - -TEST { - { - path = 'a.lua', - content = [[ - local function f(a, b) - end - return f - ]], - }, - { - path = 'b.lua', - content = [[ - local x = require 'a' - <?x?>() - ]] - }, - hover = { - label = 'function f(a: any, b: any)', - name = 'f', - args = EXISTS, - argStr = EXISTS, - returns = EXISTS, - } -} - -TEST { - { - path = 'a.lua', - content = [[ - return function (a, b) - end - ]], - }, - { - path = 'b.lua', - content = [[ - local f = require 'a' - <?f?>() - ]] - }, - hover = { - label = 'function (a: any, b: any)', - name = '', - args = EXISTS, - argStr = EXISTS, - returns = EXISTS, - } -} - -TEST { - { - path = 'a.lua', - content = [[ - local mt = {} - mt.__index = mt - - function mt:add(a, b) - end - - return function () - return setmetatable({}, mt) - end - ]], - }, - { - path = 'b.lua', - content = [[ - local m = require 'a' - local obj = m() - obj:<?add?>() - ]] - }, - hover = { - label = 'function mt:add(a: any, b: any)', - name = 'mt:add', - args = EXISTS, - argStr = EXISTS, - returns = EXISTS, - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - t = { - [{}] = 1, - } - ]], - }, - { - path = 'b.lua', - content = [[ - <?t?>[{}] = 2 - ]] - }, - hover = { - label = [[ -global t: { - [*table]: number = 1, - [*table]: number = 2, -}]], - name = 't', - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - t = { - [{}] = 1, - } - ]], - }, - { - path = 'a.lua', - content = [[ - <?t?>[{}] = 2 - ]] - }, - hover = { - label = [[ -global t: { - [*table]: number = 2, -}]], - name = 't', - }, -} - -TEST { - { - path = 'a.lua', - content = '', - }, - { - path = 'b.lua', - content = [[ - --- abc - ---@param x number - function <?f?>(x) end - ]], - }, - hover = { - label = [[function f(x: number)]], - name = 'f', - description = 'abc', - args = EXISTS, - argStr = EXISTS, - returns = EXISTS, - } -} - -TEST { - { - path = 'a.lua', - content = '', - }, - { - path = 'b.lua', - content = [[ - --- abc - <?x?> = 1 - ]], - }, - hover = { - label = [[global x: number = 1]], - name = 'x', - description = 'abc', - } -} - -TEST { - { - path = 'a.lua', - content = '', - }, - { - path = 'b.lua', - content = [[ - ---@param x string - ---| "'选项1'" # 注释1 - ---| > "'选项2'" # 注释2 - function <?f?>(x) end - ]] - }, - hover = { - label = 'function f(x: string)', - name = 'f', - args = EXISTS, - rawEnum = EXISTS, - argStr = EXISTS, - returns = EXISTS, - enum = [[ - -x: string - | '选项1' -- 注释1 - |>'选项2' -- 注释2]] - } -} - -TEST { - { - path = 'a.lua', - content = '', - }, - { - path = 'b.lua', - content = [[ - ---@alias option - ---| "'选项1'" # 注释1 - ---| > "'选项2'" # 注释2 - ---@param x option - function <?f?>(x) end - ]] - }, - hover = { - label = 'function f(x: option)', - name = 'f', - args = EXISTS, - rawEnum = EXISTS, - argStr = EXISTS, - returns = EXISTS, - enum = [[ - -x: option - | '选项1' -- 注释1 - |>'选项2' -- 注释2]] - } -} - -TEST { - { - path = 'a.lua', - content = '', - }, - { - path = 'b.lua', - content = [[ - ---@param x string {comment = 'aaaa'} - ---@param y string {comment = 'bbbb'} - local function <?f?>(x, y) end - ]] - }, - hover = { - label = 'function f(x: string, y: string)', - name = 'f', - args = EXISTS, - argStr = EXISTS, - returns = EXISTS, - description = [[ -+ `x`*(string)*: aaaa - -+ `y`*(string)*: bbbb]] - } -} diff --git a/test/crossfile/init.lua b/test/crossfile/init.lua deleted file mode 100644 index 96462fa5..00000000 --- a/test/crossfile/init.lua +++ /dev/null @@ -1,5 +0,0 @@ -require 'crossfile.definition' -require 'crossfile.hover' -require 'crossfile.completion' -require 'crossfile.document_symbol' -require 'crossfile.references' diff --git a/test/crossfile/references.lua b/test/crossfile/references.lua deleted file mode 100644 index 0c594354..00000000 --- a/test/crossfile/references.lua +++ /dev/null @@ -1,213 +0,0 @@ -local service = require 'service' -local workspace = require 'workspace' -local fs = require 'bee.filesystem' -local core = require 'core' -local uric = require 'uri' - -rawset(_G, 'TEST', true) - -local EXISTS = {} - -local function eq(a, b) - if a == EXISTS and b ~= nil then - return true - end - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not eq(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -local function catch_target(script) - local list = {} - local cur = 1 - while true do - local start, finish = script:find('<[!?].-[!?]>', cur) - if not start then - break - end - list[#list+1] = { start + 2, finish - 2 } - cur = finish + 1 - end - return list -end - -local function founded(targets, results) - if #targets ~= #results then - return false - end - for _, target in ipairs(targets) do - for _, result in ipairs(results) do - if target[1] == result[1] and target[2] == result[2] then - goto NEXT - end - end - do return false end - ::NEXT:: - end - return true -end - -local function compileAll(lsp) - while lsp._needCompile[1] do - lsp:compileVM(lsp._needCompile[1]) - end -end - -function TEST(data) - local lsp = service() - local ws = lsp:addWorkspace('test', uric.encode(ROOT)) - - local mainUri - local pos - local expect = {} - for _, info in ipairs(data) do - local uri = uric.encode(ROOT / fs.path(info.path)) - ws:addFile(uric.decode(uri)) - end - for _, info in ipairs(data) do - local uri = uric.encode(ROOT / fs.path(info.path)) - local script = info.content - local list = catch_target(script) - for _, location in ipairs(list) do - expect[#expect+1] = { - location[1], - location[2], - uri, - } - end - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - if start then - mainUri = uri - pos = (start + finish) // 2 + 1 - end - local newScript = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - lsp:saveText(uri, 1, newScript) - compileAll(lsp) - end - - local vm = lsp:loadVM(mainUri) - - compileAll(lsp) - - assert(vm) - local result = core.definition(vm, pos, 'reference') - if expect then - assert(result) - assert(founded(expect, result)) - else - assert(result == nil) - end -end - -TEST { - { - path = 'lib.lua', - content = [[ - return <!function () - end!> - ]], - }, - { - path = 'a.lua', - content = [[ - local <?f?> = require 'lib' - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - local <!f!> = require 'lib' - ]], - }, - { - path = 'lib.lua', - content = [[ - return <?function () - end?> - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - <!ROOT!> = 1 - ]], - }, - { - path = 'b.lua', - content = [[ - print(<?ROOT?>) - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - <?ROOT?> = 1 - ]], - }, - { - path = 'b.lua', - content = [[ - print(<!ROOT!>) - ]], - }, -} - -TEST { - { - path = 'a.lua', - content = [[ - return <?function () end?> - ]], - }, - { - path = 'b.lua', - content = [[ - local t = require 'a' - ]], - }, - { - path = 'b.lua', - content = [[ - local t = require 'a' - ]], - }, - { - path = 'b.lua', - content = [[ - local t = require 'a' - ]], - }, - { - path = 'b.lua', - content = [[ - local <!t!> = require 'a' - ]], - }, -} diff --git a/test/definition/arg.lua b/test/definition/arg.lua deleted file mode 100644 index 9e88b2bf..00000000 --- a/test/definition/arg.lua +++ /dev/null @@ -1,19 +0,0 @@ -TEST [[ -local function xx (<!xx!>) - <?xx?>() -end -]] - -TEST [[ -local <!mt!> -function mt:x() - <?self?>() -end -mt:x() -]] - -TEST [[ -function mt:x(<!self!>) - <?self?>() -end -]] diff --git a/test/definition/bug.lua b/test/definition/bug.lua deleted file mode 100644 index 1d3ab02c..00000000 --- a/test/definition/bug.lua +++ /dev/null @@ -1,90 +0,0 @@ -TEST [[ -local <!x!> -function _(x) -end -function _() - <?x?>() -end -]] - -TEST [[ -function _(<!x!>) - do return end - <?x?>() -end -]] - -TEST [[ -local <!a!> -function a:b() - a:b() - <?self?>() -end -]] - -TEST [[ -function _(...) - function _() - print(<?...?>) - end -end -]] - -TEST [[ -local <!a!> -(<?a?> / b)() -]] - -TEST [[ -local <!args!> -io.load(root / <?args?>.source / 'API' / path) -]] - -TEST [[ -obj[#<?obj?>+1] = {} -]] - -TEST [[ -self = { - results = { - <!labels!> = {}, - } -} -self[self.results.<?labels?>] = lbl -]] - -TEST [[ -local mt = {} -function mt:<!x!>() -end -mt:x() -mt:<?x?>() -]] - -TEST [[ -local function func(<!a!>) - x = { - xx(), - <?a?>, - } -end -]] - -TEST [[ -local <!x!> -local t = { - ..., - <?x?>, -} -]] - -TEST [[ -local a -local <!b!> -return f(), <?b?> -]] - -TEST [[ -local a = os.clock() -local <?<!b!>?> = os.clock() -]] diff --git a/test/definition/emmy.lua b/test/definition/emmy.lua deleted file mode 100644 index ee8fa6a7..00000000 --- a/test/definition/emmy.lua +++ /dev/null @@ -1,91 +0,0 @@ -TEST [[ ----@class <!A!> ----@class B : <?A?> -]] - -TEST [[ ----@class <!A!> ----@type B|<?A?> -]] - -TEST [[ ----@class A -local mt = {} -function mt:<!cast!>() -end - ----@type A -local obj -obj:<?cast?>() -]] - -TEST [[ ----@class A -local <!mt!> = {} -function mt:cast() -end - ----@type A -local <!obj!> -<?obj?>:cast() -]] - -TEST [[ ----@type A -local <?<!obj!>?> - ----@class A -local <!mt!> -]] - -TEST [[ ----@type A -local obj -obj:<?func?>() - ----@class A -local mt -function mt:<!func!>() -end -]] - -TEST [[ ----@type A -local obj -obj:<?func?>() - -local mt = {} -mt.__index = mt -function mt:<!func!>() -end ----@class A -local obj = setmetatable({}, mt) -]] - -TEST [[ ----@alias <!B A!> ----@type <?B?> -]] - -TEST [[ ----@class <!Class!> ----@param a <?Class?> -]] - -TEST [[ ----@class Class ----@field <!name string!> ----@field id integer -local mt = {} -mt.<?name?> -]] - -TEST [[ ----@class loli -local unit - -function unit:<!pants!>() -end - ----@see loli#<?pants?> -]] diff --git a/test/definition/function.lua b/test/definition/function.lua deleted file mode 100644 index ce20f50b..00000000 --- a/test/definition/function.lua +++ /dev/null @@ -1,24 +0,0 @@ - -TEST [[ -function <!x!> () end -<?x?>() -]] - -TEST [[ -local function <!x!> () end -<?x?>() -]] - -TEST [[ -local x -local function <!x!> () - <?x?>() -end -]] - -TEST [[ -local <!x!> -function <!x!>() -end -<?x?>() -]] diff --git a/test/definition/init.lua b/test/definition/init.lua deleted file mode 100644 index 022b1d3b..00000000 --- a/test/definition/init.lua +++ /dev/null @@ -1,64 +0,0 @@ -local core = require 'core' -local parser = require 'parser' -local buildVM = require 'vm' - -rawset(_G, 'TEST', true) - -local function catch_target(script) - local list = {} - local cur = 1 - while true do - local start, finish = script:find('<!.-!>', cur) - if not start then - break - end - list[#list+1] = { start + 2, finish - 2 } - cur = finish + 1 - end - return list -end - -local function founded(targets, results) - if #targets ~= #results then - return false - end - for _, target in ipairs(targets) do - for _, result in ipairs(results) do - if target[1] == result[1] and target[2] == result[2] then - goto NEXT - end - end - do return false end - ::NEXT:: - end - return true -end - -function TEST(script) - local target = catch_target(script) - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - local pos = (start + finish) // 2 + 1 - local new_script = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - assert(ast) - local vm = buildVM(ast) - assert(vm) - - local positions = core.definition(vm, pos, 'definition') - if positions then - assert(founded(target, positions)) - else - assert(#target == 0) - end -end - -require 'definition.set' -require 'definition.local' -require 'definition.arg' -require 'definition.function' -require 'definition.table' -require 'definition.method' -require 'definition.label' -require 'definition.bug' -require 'definition.emmy' diff --git a/test/definition/label.lua b/test/definition/label.lua deleted file mode 100644 index 4859d70e..00000000 --- a/test/definition/label.lua +++ /dev/null @@ -1,29 +0,0 @@ -TEST [[ -::<!LABEL!>:: -goto <?LABEL?> -]] - -TEST [[ -goto <?LABEL?> -::<!LABEL!>:: -]] - -TEST [[ -::LABEL:: -function _() - goto <?LABEL?> -end -]] - -TEST [[ -do - goto <?LABEL?> -end -::<!LABEL!>:: -]] - -TEST [[ -::<!LABEL!>:: -goto <?LABEL?> -::<!LABEL!>:: -]] diff --git a/test/definition/local.lua b/test/definition/local.lua deleted file mode 100644 index 4153bfa0..00000000 --- a/test/definition/local.lua +++ /dev/null @@ -1,195 +0,0 @@ -TEST [[ -local <!x!> -<?x?>() -]] - -TEST [[ -local z, y, <!x!> -<?x?>() -]] - -TEST [[ -local <!x!> = 1 -<?x?>() -]] - -TEST [[ -local z, y, <!x!> = 1 -<?x?>() -]] - -TEST [[ -local x -local <!x!> -<?x?>() -]] - -TEST [[ -local <!x!> -do - <?x?>() -end -]] - -TEST [[ -local <!x!> -do - local x -end -<?x?>() -]] - -TEST [[ -local <!x!> -if <?x?> then - local x -end -]] - -TEST [[ -local <!x!> -if x then - local x -elseif <?x?> then - local x -end -]] - -TEST [[ -local <!x!> -if x then - local x -elseif x then - local x -else - local x -end -<?x?>() -]] - -TEST [[ -local <!x!> -if x then - <?x?>() -elseif x then - local x -else - local x -end -]] - -TEST [[ -local <!x!> -for x = 1, 10 do -end -<?x?>() -]] - -TEST [[ -local x -for <!x!> = 1, 10 do - <?x?>() -end -]] - -TEST [[ -local <!x!> -for x in x do -end -<?x?>() -]] - -TEST [[ -local <!x!> -for x in <?x?> do -end -]] - -TEST [[ -local x -for <!x!> in x do - <?x?>() -end -]] - -TEST [[ -local x -for z, y, <!x!> in x do - <?x?>() -end -]] - -TEST [[ -local <!x!> -while <?x?> do -end -]] - -TEST [[ -local <!x!> -while x do - <?x?>() -end -]] - -TEST [[ -local <!x!> -while x do - local x -end -<?x?>() -]] - -TEST [[ -local <!x!> -repeat - <?x?>() -until true -]] - -TEST [[ -local <!x!> -repeat - local x -until true -<?x?>() -]] - -TEST [[ -local <!x!> -repeat -until <?x?> -]] - -TEST [[ -local x -repeat - local <!x!> -until <?x?> -]] - -TEST [[ -local <!x!> -function _() - local x -end -<?x?>() -]] - -TEST [[ -local <!x!> -return function () - <?x?>() -end -]] - -TEST [[ -local <!x!> -local x = function () - <?x?>() -end -]] - -TEST [[ -local <?<!x!>?> -]] diff --git a/test/definition/method.lua b/test/definition/method.lua deleted file mode 100644 index 08b56f61..00000000 --- a/test/definition/method.lua +++ /dev/null @@ -1,140 +0,0 @@ -TEST [[ -function mt:<!a!>() -end -function mt:b() - mt:<?a?>() -end -]] - -TEST [[ -function mt:<!m1!>() -end -function mt:m2() - self:<?m1?>() -end -]] - -TEST [[ -function mt:m3() - mt:<?m4?>() -end -function mt:<!m4!>() -end -]] - -TEST [[ -function mt:m3() - self:<?m4?>() -end -function mt:<!m4!>() -end -]] - -TEST [[ -local mt -mt.__index = mt -function mt:<!method1!>() -end - -local obj = setmetatable({}, mt) -obj:<?method1?>() -]] - -TEST [[ -local mt -mt.__index = mt -function mt:<!method1!>() -end - -local obj = setmetatable({}, mt) -obj:<?method1?>() -]] - -TEST [[ -local mt -function mt:<!method1!>() -end - -local obj = setmetatable({}, { __index = mt }) -obj:<?method1?>() -]] - -TEST [[ -local mt -local api -function mt:<!method1!>() -end - -setmetatable(api, { __index = mt }) -api:<?method1?>() -]] - -TEST [[ -local mt -function mt:x() - self.<?init?>() -end - -local obj = setmetatable({}, { __index = mt }) -obj.<!init!> = 1 -obj:x() -]] - -TEST [[ -local mt -function mt:x() - self.<?init?>() -end - -local obj = setmetatable({ <!init!> = 1 }, { __index = mt }) -obj:x() -]] - -TEST [[ -local mt -function mt:x() - self.a.<?out?>() -end - -local obj = setmetatable({ - a = { - <!out!> = 1, - } -}, { __index = mt }) -obj:x() -]] - -TEST [[ -local sm = setmetatable -local mt -mt.__index = mt -function mt:<!method1!>() -end - -local obj = sm({}, mt) -obj:<?method1?>() -]] - -TEST [[ -local mt = {} -function mt:<!x!>() -end - -local obj = setmetatable({}, {__index = mt}) -function obj:x() -end - -mt:<?x?>() -]] - -TEST [[ -local mt = {} -function mt:x() -end - -local obj = setmetatable({}, {__index = mt}) -function obj:<!x!>() -end - -obj:<?x?>() -]] diff --git a/test/definition/set.lua b/test/definition/set.lua deleted file mode 100644 index 44277d33..00000000 --- a/test/definition/set.lua +++ /dev/null @@ -1,50 +0,0 @@ -TEST [[ -<!x!> = 1 -<?x?>() -]] - -TEST [[ -do - <!global!> = 1 -end -<?global?>() -]] - -TEST [[ -<!x!> = 1 -do - local x = 1 -end -<?x?>() -]] - -TEST [[ -x = 1 -do - local <!x!> = 1 - do - <!x!> = 2 - end - <?x?>() -end -]] - -TEST [[ -<!x!> = 1 -if y then - <!x!> = 2 -else - <!x!> = 3 -end -print(<?x?>) -]] - -TEST [[ -_G.<!x!> = 1 -print(<?x?>) -]] - -TEST [[ -rawset<!(_G, 'x', 1)!> -print(<?x?>) -]] diff --git a/test/definition/table.lua b/test/definition/table.lua deleted file mode 100644 index 90e7926f..00000000 --- a/test/definition/table.lua +++ /dev/null @@ -1,114 +0,0 @@ -TEST [[ -local <!t!> -a = { - <?t?> -} -]] - -TEST [[ -local t -t.<!x!> = 1 -t.<?x?>() -]] - -TEST [[ -t.<!x!> = 1 -t.<?x?>() -]] - -TEST [[ -local <!t!> -t.x = 1 -<?t?>.x = 1 -]] - -TEST [[ -t.<!x!> = 1 -t.<?x?>.y = 1 -]] - -TEST [[ -local t -t.<!x!> = 1 -t.<?x?>() -]] - -TEST [[ -local t -t[<!1!>] = 1 -t[<?1?>]() -]] - -TEST [[ -local t -t[<!true!>] = 1 -t[<?true?>]() -]] - -TEST [[ -local t -t[<!"method"!>] = 1 -t[<?"method"?>]() -]] - -TEST [[ -local t -t[<!"longString"!>] = 1 -t[<?[==[longString]==]?>]() -]] - -TEST [[ -local t -t.<!x!> = 1 -t[<?'x'?>]() -]] - -TEST [[ -local t -t.<!a!> = 1 -t.<?a?>.b() -]] - -TEST [[ -local t -local <!x!> -t[<?x?>]() -]] - -TEST[[ -local <!t!> -local _ = { - _ = <?t?> -} -]] - -TEST[[ -local <!t!> -t { - _ = <?t?>.x -} -]] - -TEST[[ -local t = { - <!insert!> = 1, -} -t.<?insert?>() -]] - ---TEST[[ ---local t = { --- <!insert!> = 1, ---} ---y.<?insert?>() ---]] - ---TEST[[ ---local t = { --- <!insert!> = 1, ---} ---local y = { --- insert = 1, ---} ---t.<?insert?>() ---]] diff --git a/test/diagnostics/init.lua b/test/diagnostics/init.lua deleted file mode 100644 index eee03d2e..00000000 --- a/test/diagnostics/init.lua +++ /dev/null @@ -1,74 +0,0 @@ -local core = require 'core' -local buildVM = require 'vm' -local parser = require 'parser' -local service = require 'service' -local config = require 'config' - -rawset(_G, 'TEST', true) - -local function catch_target(script, ...) - local list = {} - local function catch(buf) - local cur = 1 - local cut = 0 - while true do - local start, finish = buf:find('<!.-!>', cur) - if not start then - break - end - list[#list+1] = { start - cut, finish - 4 - cut } - cur = finish + 1 - cut = cut + 4 - end - end - catch(script) - if ... then - for _, buf in ipairs {...} do - catch(buf) - end - end - local new_script = script:gsub('<!(.-)!>', '%1') - return new_script, list -end - -local function founded(targets, results) - if #targets ~= #results then - return false - end - for _, target in ipairs(targets) do - for _, result in ipairs(results) do - if target[1] == result[1] and target[2] == result[2] then - goto NEXT - end - end - do return false end - ::NEXT:: - end - return true -end - -function TEST(script, ...) - local new_script, target = catch_target(script, ...) - local lsp = service() - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - assert(ast) - local lines = parser:lines(new_script) - local vm = buildVM(ast, lsp, 'test') - assert(vm) - local datas = core.diagnostics(vm, lines, 'test') - local results = {} - for i, data in ipairs(datas) do - results[i] = { data.start, data.finish } - end - - if results[1] then - if not founded(target, results) then - error(('%s\n%s'):format(table.dump(target), table.dump(results))) - end - else - assert(#target == 0) - end -end - -require 'diagnostics.normal' -require 'diagnostics.syntax' diff --git a/test/diagnostics/normal.lua b/test/diagnostics/normal.lua deleted file mode 100644 index 4207dea0..00000000 --- a/test/diagnostics/normal.lua +++ /dev/null @@ -1,551 +0,0 @@ -local config = require 'config' - -TEST [[ -local <!x!> -]] - -TEST([[ -<!local function x() -end!> -]], -[[ -local function <!x!>() -end -]] -) - -TEST [[ -local <!x!> = <!function () end!> -]] - -TEST [[ -local <!x!> -x = <!function () end!> -]] - - -TEST [[ -print(<!x!>) -print(<!log!>) -print(<!X!>) -print(<!Log!>) -print(_VERSION) -print(<!y!>) -print(Z) -Z = 1 -]] - -TEST [[ -::<!LABEL!>:: -]] - -TEST [[ -<! !> -]] - -TEST [[ -X = 1<! !> -]] - -TEST [[ -X = [=[ - ]=] -]] - -TEST [[ -local x -print(x) -local <!x!> -print(x) -]] - -TEST [[ -local x -print(x) -local <!x!> -print(x) -local <!x!> -print(x) -]] - -TEST [[ -local _ -print(_) -local _ -print(_) -local _ENV -<!print!>(_ENV) -- 由于重定义了_ENV,因此print变为了未定义全局变量 -]] - -TEST [[ -print(1) -_ENV = nil -]] - -config.config.diagnostics.disable['undefined-env-child'] = true -TEST [[ -_ENV = nil -<!GLOBAL!> = 1 --> _ENV.GLOBAL = 1 -]] - -TEST [[ -_ENV = nil -local _ = <!GLOBAL!> --> local _ = _ENV.GLOBAL -]] - -TEST [[ -_ENV = {} -GLOBAL = 1 --> _ENV.GLOBAL = 1 -]] - -TEST [[ -_ENV = {} -local _ = GLOBAL --> local _ = _ENV.GLOBAL -]] - -config.config.diagnostics.disable['undefined-env-child'] = nil -TEST [[ -print() -<!('string')!>:sub(1, 1) -]] - -TEST [[ -print() -('string') -]] - -TEST [[ -return { - <!print - 'string'!> -} -]] - -TEST [[ -return { - <!print - { - x = 1, - }!> -} -]] - -TEST [[ -print() -'string' -]] - -TEST [[ -print -{ - x = 1, -} -]] - -TEST [[ -local function x(a, b) - return a, b -end -x(1, 2, <!3!>) -]] - -TEST [[ -InstanceName = 1 -Instance = _G[InstanceName] -]] - -TEST [[ -(''):sub(1, 2) -]] - -TEST [=[ -return [[ - -]] -]=] - -TEST [[ -local mt, x -function mt:m() - function x:m() - end -end -]] - -TEST [[ -local mt = {} -function mt:f() -end -]] - -TEST [[ -local function f(<!self!>) -end -f() -]] - -TEST [[ -local function f(<!...!>) -end -f() -]] - -TEST [[ -local function f(var) - print(var) -end -local var -f(var) -]] - -TEST [[ -local function f(a, b) - return a, b -end -f(1, 2, <!3!>, <!4!>) -]] - -TEST [[ -local mt = {} -function mt:f(a, b) - return a, b -end -mt.f(1, 2, 3, <!4!>) -]] - - -TEST [[ -local mt = {} -function mt.f(a, b) - return a, b -end -mt:f(1, <!2!>, <!3!>, <!4!>) -]] - -TEST [[ -local mt = {} -function mt:f(a, b) - return a, b -end -mt:f(1, 2, <!3!>, <!4!>) -]] - -TEST [[ -local function f(a, b, ...) - return a, b, ... -end -f(1, 2, 3, 4) -]] - -TEST [[ -next({}, 1, <!2!>) -print(1, 2, 3, 4, 5) -]] - -TEST [[ -local function f(callback) - callback(1, 2, 3) -end -f(function () end) -]] - ---TEST [[ ---local realTostring = tostring ---tostring = function () end ---tostring(<!1!>) ---tostring = realTostring ---tostring(1) ---]] - -TEST [[ -<!aa!> = 1 -tostring = 1 -ROOT = 1 -_G.bb = 1 -]] - -TEST [[ -local f = load('') -f(1, 2, 3) -]] - -TEST [[ -<!unpack!>(1) -]] - -TEST [[ -X = table[<!x!>] -]] - -TEST [[ -return { - <!x = 1!>, - y = 2, - <!x!> = 3, -} -]] - -TEST [[ -return { - <!x = 1!>, - y = 2, - <!['x']!> = 3, -} -]] - -TEST [[ -return { - <!['x'] = 1!>, - y = 2, - <!['x']!> = 3, -} -]] - -TEST [[ -return { - <!['x'] = 1!>, - y = 2, - <!x!> = 3, -} -]] - -TEST [[ -local m = {} -function m.open() -end - -m:open() -]] - -TEST [[ -<!if true then -end!> -]] - -TEST [[ -<!if true then -else -end!> -]] - -TEST [[ -if true then -else - return -end -]] - -TEST [[ -while true do -end -]] - -TEST [[ -<!for _ = 1, 10 do -end!> -]] - -TEST [[ -<!for _ in pairs(_VERSION) do -end!> -]] - -TEST [[ -local _ = 1, <!2!> -]] - -TEST [[ -_ = 1, <!2!> -]] - -TEST [[ -local function x() - do - local k - print(k) - x() - end - local k = 1 - print(k) -end -]] - -TEST [[ -local function x() - local loc - x() - print(loc) -end -]] - -TEST [[ -local f <close> = io.open() -]] - -TEST [[ ----@class <!Class!> ----@class <!Class!> -]] - -TEST [[ ----@class A : <!B!> -]] - -TEST [[ ----@class <!A : B!> ----@class <!B : C!> ----@class <!C : D!> ----@class <!D : A!> -]] - -TEST [[ ----@class A : B ----@class B : C ----@class C : D ----@class D -]] - -TEST [[ ----@type <!A!> -]] - -TEST [[ ----@class A ----@type A|<!B!>|<!C!> -]] - -TEST [[ ----@class AAA ----@alias B AAA - ----@type B -]] - -TEST [[ ----@alias B <!AAA!> -]] - -TEST [[ ----@class <!A!> ----@class B ----@alias <!A B!> -]] - -TEST [[ ----@param x <!Class!> -]] - -TEST [[ ----@class Class ----@param <!y!> Class -local function f(x) - return x -end -f() -]] - -TEST [[ ----@class Class ----@param <!y!> Class -function F(x) - return x -end -F() -]] - -TEST [[ ----@class Class ----@param <!x!> Class ----@param y Class ----@param <!x!> Class -local function f(x, y) - return x, y -end -f() -]] - -TEST [[ ----@field <!x Class!> ----@class Class -]] - -TEST [[ ----@class Class ----@field <!x!> Class ----@field <!x!> Class -]] - -TEST [[ ----@class Class : any -]] - -TEST [[ ----@type fun(a: integer) -local f -f() -]] - -TEST [[ -local x -x = <!x or 0 + 1!> -]] - -TEST [[ -local x, y -x = <!x + y or 0!> -]] - -TEST [[ -local x, y, z -x = x and y or '' .. z -]] - -TEST [[ -local x -x = x or -1 -]] - -TEST [[ -local x -x = x or (0 + 1) -]] - -TEST [[ -local x, y -x = (x + y) or 0 -]] - ---TEST [[ ---local t = {} ---function t:<!a!>() ---end ---function t:<!a!>() ---end ---]] - -TEST [[ -local t = {} -t.a = 1 -t.a = 2 -]] - ---TEST [[ ---for k, v in pairs {1, 2, 3, 4 ,5} do --- print(k, v) --- <!k!> = 1 --- print(v) ---end ---]] - -TEST [[ -for i = 1, 10 do - <!i!> = 2 - print(i) -end -]] - -TEST [[ ----@type table<number, boolean|string[]> -local t -print(t) -]] diff --git a/test/diagnostics/syntax.lua b/test/diagnostics/syntax.lua deleted file mode 100644 index 887d05f0..00000000 --- a/test/diagnostics/syntax.lua +++ /dev/null @@ -1,8 +0,0 @@ -local config = require 'config' - -TEST [[ -local x <const> = 1 -<!x!> = 2 -return x -]] - diff --git a/test/document_symbol/init.lua b/test/document_symbol/init.lua deleted file mode 100644 index f677d857..00000000 --- a/test/document_symbol/init.lua +++ /dev/null @@ -1,478 +0,0 @@ -local parser = require 'parser' -local core = require 'core' -local buildVM = require 'vm' - -local SymbolKind = { - File = 1, - Module = 2, - Namespace = 3, - Package = 4, - Class = 5, - Method = 6, - Property = 7, - Field = 8, - Constructor = 9, - Enum = 10, - Interface = 11, - Function = 12, - Variable = 13, - Constant = 14, - String = 15, - Number = 16, - Boolean = 17, - Array = 18, - Object = 19, - Key = 20, - Null = 21, - EnumMember = 22, - Struct = 23, - Event = 24, - Operator = 25, - TypeParameter = 26, -} - -rawset(_G, 'TEST', true) - -local EXISTS = {} - -local function eq(a, b) - if a == EXISTS and b ~= nil then - return true - end - local tp1, tp2 = type(a), type(b) - if tp1 ~= tp2 then - return false - end - if tp1 == 'table' then - local mark = {} - for k in pairs(a) do - if not eq(a[k], b[k]) then - return false - end - mark[k] = true - end - for k in pairs(b) do - if not mark[k] then - return false - end - end - return true - end - return a == b -end - -local function checkArcoss(symbols) - local lastFinish = 0 - for _, symbol in ipairs(symbols) do - assert(symbol.range[1] <= symbol.selectionRange[1]) - assert(symbol.range[2] >= symbol.selectionRange[2]) - assert(symbol.range[2] > lastFinish) - lastFinish = symbol.range[2] - if symbol.children then - checkArcoss(symbol.children) - end - end -end - -function TEST(script) - return function (expect) - local ast = parser:parse(script, 'lua', 'Lua 5.3') - local vm = buildVM(ast) - assert(vm) - local result = core.documentSymbol(vm) - assert(eq(expect, result)) - checkArcoss(result) - end -end - -TEST [[ -local function f() -end -]] -{ - [1] = { - name = 'f', - detail = 'function f()', - kind = SymbolKind.Function, - range = {1, 22}, - selectionRange = {16, 16}, - valueRange = {1, 22}, - } -} - -TEST [[ -function f() -end -]] -{ - [1] = { - name = 'f', - detail = 'function f()', - kind = SymbolKind.Function, - range = {1, 16}, - selectionRange = {10, 10}, - valueRange = {1, 16}, - } -} - -TEST [[ -return function () -end -]] -{ - [1] = { - name = '', - detail = 'function ()', - kind = SymbolKind.Function, - range = {8, 22}, - selectionRange = {8, 8}, - valueRange = {8, 22}, - } -} - -TEST [[ -f = function () -end -]] -{ - [1] = { - name = 'f', - detail = 'function f()', - kind = SymbolKind.Function, - range = {1, 1}, - selectionRange = {1, 1}, - valueRange = {5, 19}, - } -} - -TEST [[ -local f = function () -end -]] -{ - [1] = { - name = 'f', - detail = 'function f()', - kind = SymbolKind.Function, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {11, 25}, - } -} - -TEST [[ -function mt:add() -end -]] -{ - [1] = { - name = 'mt:add', - detail = 'function mt:add()', - kind = SymbolKind.Field, - range = {1, 21}, - selectionRange = {10, 15}, - valueRange = {1, 21}, - } -} - -TEST [[ -function A() - function A1() - end - function A2() - end -end -function B() -end -]] -{ - [1] = { - name = 'A', - detail = 'function A()', - kind = SymbolKind.Function, - range = {1, 68}, - selectionRange = {10, 10}, - valueRange = {1, 68}, - children = { - [1] = { - name = 'A1', - detail = 'function A1()', - kind = SymbolKind.Function, - range = {18, 38}, - selectionRange = {27, 28}, - valueRange = {18, 38}, - }, - [2] = { - name = 'A2', - detail = 'function A2()', - kind = SymbolKind.Function, - range = {44, 64}, - selectionRange = {53, 54}, - valueRange = {44, 64}, - }, - }, - }, - [2] = { - name = 'B', - detail = 'function B()', - kind = SymbolKind.Function, - range = {70, 85}, - selectionRange = {79, 79}, - valueRange = {70, 85}, - }, -} - -TEST [[ -local x = 1 -local function f() - local x = 'x' - local y = {} - --= 1 -end -local y = true -local z -]] -{ - [1] = { - name = 'x', - detail = 'local x: number = 1', - kind = SymbolKind.Variable, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {11, 11}, - }, - [2] = { - name = 'f', - detail = 'function f()', - kind = SymbolKind.Function, - range = {13, 79}, - selectionRange = {28, 28}, - valueRange = {13, 79}, - children = { - [1] = { - name = 'x', - detail = 'local x: string = "x"', - kind = SymbolKind.Variable, - range = {42, 42}, - selectionRange = {42, 42}, - valueRange = {46, 48}, - }, - [2] = { - name = 'y', - detail = 'local y: {}', - kind = SymbolKind.Variable, - range = {60, 60}, - selectionRange = {60, 60}, - valueRange = {64, 65}, - }, - --[3] = { - -- name = 'z', - -- detail = 'global z: number = 1', - -- kind = SymbolKind.Object, - -- range = {71, 71}, - -- selectionRange = {71, 71}, - -- valueRange = {75, 75}, - --}, - }, - }, - [3] = { - name = 'y', - detail = 'local y: boolean = true', - kind = SymbolKind.Variable, - range = {87, 87}, - selectionRange = {87, 87}, - valueRange = {91, 94}, - }, - [4] = { - name = 'z', - detail = '', - kind = SymbolKind.Variable, - range = {102, 102}, - selectionRange = {102, 102}, - valueRange = {102, 102}, - }, -} - -TEST [[ -local t = { - a = 1, - b = 2, - c = 3, -} -]] -{ - [1] = { - name = 't', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {11, 46}, - children = { - [1] = { - name = 'a', - detail = 'field a: number = 1', - kind = SymbolKind.Class, - range = {17, 17}, - selectionRange = {17, 17}, - valueRange = {21, 21}, - }, - [2] = { - name = 'b', - detail = 'field b: number = 2', - kind = SymbolKind.Class, - range = {28, 28}, - selectionRange = {28, 28}, - valueRange = {32, 32}, - }, - [3] = { - name = 'c', - detail = 'field c: number = 3', - kind = SymbolKind.Class, - range = {39, 39}, - selectionRange = {39, 39}, - valueRange = {43, 43}, - }, - } - } -} - -TEST [[ -local t = { - a = { - b = 1, - } -} -]] -{ - [1] = { - name = 't', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {11, 44}, - children = { - [1] = { - name = 'a', - detail = EXISTS, - kind = SymbolKind.Class, - range = {17, 17}, - selectionRange = {17, 17}, - valueRange = {21, 42}, - children = { - [1] = { - name = 'b', - detail = EXISTS, - kind = SymbolKind.Class, - range = {31, 31}, - selectionRange = {31, 31}, - valueRange = {35, 35}, - } - } - }, - } - } -} - -TEST[[ -local function g() -end - -g = 1 -]]{ - [1] = { - name = 'g', - detail = 'function g()', - kind = SymbolKind.Function, - range = {1, 22}, - selectionRange = {16, 16}, - valueRange = {1, 22}, - } -} - -TEST[[ -function f(...) - local x = ... - print(x.a) -end -]]{ - [1] = { - name = 'f', - detail = 'function f(...)', - kind = SymbolKind.Function, - range = {1, 52}, - selectionRange = {10, 10}, - valueRange = {1, 52}, - children = { - [1] = { - name = 'x', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {27, 27}, - selectionRange = {27, 27}, - valueRange = {31, 33}, - } - } - }, -} - -TEST [[ -local t = { - a = 1, - b = 2, -} - -local v = t -]]{ - [1] = { - name = 't', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {11, 35}, - children = EXISTS, - }, - [2] = { - name = 'v', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {44, 44}, - selectionRange = {44, 44}, - valueRange = {48, 48}, - }, -} - -TEST [[ -local x -local function -]]{ - [1] = { - name = 'x', - detail = EXISTS, - kind = SymbolKind.Variable, - range = {7, 7}, - selectionRange = {7, 7}, - valueRange = {7, 7}, - }, - [2] = { - name = '', - detail = EXISTS, - kind = SymbolKind.Function, - range = {9, 22}, - selectionRange = {22, 22}, - valueRange = {9, 22}, - } -} - --- 临时 -local fs = require 'bee.filesystem' -local function testIfExit(path) - local buf = io.load(fs.path(path)) - if buf then - TEST(buf)(EXISTS) - end -end -testIfExit[[D:\Github\lua\testes\coroutine.lua]] -testIfExit[[D:\Github\War3-lua-map\scripts\game\init.lua]] diff --git a/test/example/largeGlobal.txt b/test/example/largeGlobal.txt deleted file mode 100644 index 23c93d6a..00000000 --- a/test/example/largeGlobal.txt +++ /dev/null @@ -1,28101 +0,0 @@ ---Generated By protoc-gen-lua Do not Edit -local protobuf = require "protobuf.protobuf" -local config_predefine_pb = require("Protol.config_predefine_pb") -module('Protol.config_pb') - -ARENA_DATA_CFG = protobuf.Descriptor(); -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_DURATION_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_DAY_LIST_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_SPAN_TIME_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_MIN_RATIO_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_RATIO_ADDITION_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_MAX_RATIO_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD = protobuf.FieldDescriptor(); -ARENA_DATA_CFGS = protobuf.Descriptor(); -ARENA_DATA_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ARENA_REWARD_CFG = protobuf.Descriptor(); -ARENA_REWARD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ARENA_REWARD_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -ARENA_REWARD_CFG_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD = protobuf.FieldDescriptor(); -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -ARENA_REWARD_CFGS = protobuf.Descriptor(); -ARENA_REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOWINFO_CFG = protobuf.Descriptor(); -BOSS_SHOWINFO_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOWINFO_CFGS = protobuf.Descriptor(); -BOSS_SHOWINFO_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFG = protobuf.Descriptor(); -BOSS_SHOW_UI_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFG_PAINT_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_UI_CFGS = protobuf.Descriptor(); -BOSS_SHOW_UI_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_CAM_CFG = protobuf.Descriptor(); -BOSS_SHOW_CAM_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_CAM_CFG_POS_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_CAM_CFG_DURATION_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_CAM_CFG_ROLL_FIELD = protobuf.FieldDescriptor(); -BOSS_SHOW_CAM_CFGS = protobuf.Descriptor(); -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG = protobuf.Descriptor(); -BUFF_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_NAME_TIPS_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_DESC_TIPS_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_VISUABLE_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_COUNTDOWN_TYPE_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BUFF_TYPE_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_EXIST_TIME_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_ATK_LV_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_AM_BEATEN_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_AM_BEATEN_EFF_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BEATEN_TIME_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BEAT_BACK_TYPE_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BEAT_DIS_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_AM_DEAD_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_DEAD_BACK_TYPE_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_DEAD_DIS_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_CRIT_EFFECT_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BUFF_WORD_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BUFF_IDLE_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BUFF_RUN_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BUFF_EFFECT_FIELD = protobuf.FieldDescriptor(); -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD = protobuf.FieldDescriptor(); -BUFF_CFGS = protobuf.Descriptor(); -BUFF_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BUFF_EFFECT_CFG = protobuf.Descriptor(); -BUFF_EFFECT_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BUFF_EFFECT_CFG_FORMULA_ID_FIELD = protobuf.FieldDescriptor(); -BUFF_EFFECT_CFGS = protobuf.Descriptor(); -BUFF_EFFECT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG = protobuf.Descriptor(); -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_GENDER_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROF_ICON_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROP_STARS_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_POS_DES_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROF_NAME_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROF_RES_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_SKILL_RES_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_IS_OPEN_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_MP_TYPE_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD = protobuf.FieldDescriptor(); -CHAR_DEFAULT_CFGS = protobuf.Descriptor(); -CHAR_DEFAULT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -COOLDOWN_CFG = protobuf.Descriptor(); -COOLDOWN_CFG_ID_FIELD = protobuf.FieldDescriptor(); -COOLDOWN_CFG_TATOL_TIME_FIELD = protobuf.FieldDescriptor(); -COOLDOWN_CFGS = protobuf.Descriptor(); -COOLDOWN_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG = protobuf.Descriptor(); -MONSTER_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_SHOW_NAME_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_SHOW_ICON_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_WHETHER_SHOWNAME_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_MONSTER_DESC_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_CAMP_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_CAMP_RELATION_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_PROPS_ID_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_SKILLS_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_AVATAR_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_AVATAR_SCALE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ACT_IDLE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ACT_MOVE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ACT_BORN_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_BORN_TIME_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ACT_DEAD_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_RANGE_TYPE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_RANGE_PARA1_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_RANGE_PARA2_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_DROP_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_HEAD_PORTRAIT_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_RADIUS_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_MONSTER_TYPE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_LOCK_SIZE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_HALO_SWITCH_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD = protobuf.FieldDescriptor(); -MONSTER_CFGS = protobuf.Descriptor(); -MONSTER_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BUSINESS_ACTIVITY_CFG = protobuf.Descriptor(); -BUSINESS_ACTIVITY_CFG_GUID_FIELD = protobuf.FieldDescriptor(); -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD = protobuf.FieldDescriptor(); -BUSINESS_ACTIVITY_CFGS = protobuf.Descriptor(); -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG = protobuf.Descriptor(); -ACTIVITY_CFG_GUID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_DACTIVITY_NAME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_NEED_LEVEL_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_TOTAL_TIMES_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_ACTIVATION_POINT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_ACTIVATION_MODE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_START_WEEKS_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_SIGNUP_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_BEGIN_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_END_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_DAILY_TYPE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_WHETHER_BATTLE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_DACTIVITY_ICON_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_PARTAKE_MODE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_TICKETITEM_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_FINDING_PATH_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_OPEN_FUNC_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_TIME_SHOW_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_FORM_SHOW_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_TIPS_SHOW_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_ITEMS_SHOW_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_CUE_SHOW_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_CUE_TEXT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_CORRECT_TEXT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFG_NEGATE_TEXT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_CFGS = protobuf.Descriptor(); -ACTIVITY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_CFG = protobuf.Descriptor(); -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_CFG_RESET_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_CFG_DEPOSIT_LV_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_CFGS = protobuf.Descriptor(); -ACTIVATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFG = protobuf.Descriptor(); -ACTIVATION_REWARD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD = protobuf.FieldDescriptor(); -ACTIVATION_REWARD_CFGS = protobuf.Descriptor(); -ACTIVATION_REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRADE_TOP_TABS_CFG = protobuf.Descriptor(); -TRADE_TOP_TABS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -TRADE_TOP_TABS_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -TRADE_TOP_TABS_CFG_TABS_FIELD = protobuf.FieldDescriptor(); -TRADE_TOP_TABS_CFGS = protobuf.Descriptor(); -TRADE_TOP_TABS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG = protobuf.Descriptor(); -TRADE_SUB_TABS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG_RULES_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD = protobuf.FieldDescriptor(); -TRADE_SUB_TABS_CFGS = protobuf.Descriptor(); -TRADE_SUB_TABS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRADE_FILTER_RULES_CFG = protobuf.Descriptor(); -TRADE_FILTER_RULES_CFG_ID_FIELD = protobuf.FieldDescriptor(); -TRADE_FILTER_RULES_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -TRADE_FILTER_RULES_CFG_FIELDS_FIELD = protobuf.FieldDescriptor(); -TRADE_FILTER_RULES_CFG_VALUES_FIELD = protobuf.FieldDescriptor(); -TRADE_FILTER_RULES_CFGS = protobuf.Descriptor(); -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRADE_SORT_RULES_CFG = protobuf.Descriptor(); -TRADE_SORT_RULES_CFG_ID_FIELD = protobuf.FieldDescriptor(); -TRADE_SORT_RULES_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -TRADE_SORT_RULES_CFG_PROP_FIELD = protobuf.FieldDescriptor(); -TRADE_SORT_RULES_CFG_UP_FIELD = protobuf.FieldDescriptor(); -TRADE_SORT_RULES_CFGS = protobuf.Descriptor(); -TRADE_SORT_RULES_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG = protobuf.Descriptor(); -BASE_PROP_CFG_PROF_TYPE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HP_MAX_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_MP_MAX_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ATTACK_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_DEFENSE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HIT_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_DODGE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_CRITICAL_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_CRITICAL_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_CRITICAL_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_XP_MAX_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HIT_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_DODGE_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_CRITICAL_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_DECELERATTE_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_SLEEP_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HOLD_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_CHARM_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_SILENCE_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_SPEED_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HP_SELF_HEAL_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_MP_SELF_HEAL_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HP_HIT_RETURN_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_MP_HIT_RETURN_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_MAUD_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_MIND_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_CONSTITUTION_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_INTENSITY_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_DEADLY_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_BLOCK_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_HP_KILL_RETURN_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_XP_SELF_HEAL_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD = protobuf.FieldDescriptor(); -BASE_PROP_CFGS = protobuf.Descriptor(); -BASE_PROP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG = protobuf.Descriptor(); -LEVEL_EXP_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_NEED_EXP_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_CAMP_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_COMBAT_POINT_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_EXP_MAX_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD = protobuf.FieldDescriptor(); -LEVEL_EXP_CFGS = protobuf.Descriptor(); -LEVEL_EXP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -LANGUAGE_CFG = protobuf.Descriptor(); -LANGUAGE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -LANGUAGE_CFG_TEXT_FIELD = protobuf.FieldDescriptor(); -LANGUAGE_CFGS = protobuf.Descriptor(); -LANGUAGE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG = protobuf.Descriptor(); -MISSION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_GROUPID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_COLOUR_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_NAME_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_TEXT_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_TARGET1_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_TARGET2_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_TARGET3_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_TYPE_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_TARGETTYPE_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_OCCUPATION_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_REPEAT_WHETHER_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_DIRECTACCE_WHETHER_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_AUTO_WHETHER_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_AUTO_COMMIT_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_FRONTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_TRIGGERLV_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_GIVEUP_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSIONNODE_LIST_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_DAILY_TIMES_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_RESET_TIME_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_DURATION_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPT_SCENEID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPT_NPCID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_CONDUCT_SCENEID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_CONDUCT_NPCID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SUBMIT_SCENEID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SUBMIT_NPCID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_KILL_NPCID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_KILL_NPCNUM_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_KILL_NPCDROP_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_TALK_PLOTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_COLLECT_ITEMID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_COLLECT_ITEMNUM_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_COLLECTION_NPCID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_COLLECTION_NPCNUM_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_USED_ITEMID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_INTO_BATTLEID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_TARGET_GRADE_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_FUNCTION_SCRIPT_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPT_PLOTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_CONDUCT_PLOTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SUBMIT_PLOTID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_TRIGGER_BLUR_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPT_BLUR_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_CONDUCT_BLUR_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_REWARD_ITEMID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_FAILED_ITEMID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_DISPLAY_WHETHER_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPT_DELIVERY_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_MISSION_CONVOYS_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_BIAOCHE_MOUNT_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SCENE_IS_COPY_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ALLOW_SHOW_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPTED_SHOW_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_COMMIT_SHOW_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_OPEN_FUNC_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_BTN_NAME_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_EVENT_TYPE_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_KILL_PLAYER_NUM_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_KILL_PLAYER_MAP_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SUPPORT_PAUSE_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_SUBMISSION_HEAD_FIELD = protobuf.FieldDescriptor(); -MISSION_CFG_ROUTE_MARK_ID_FIELD = protobuf.FieldDescriptor(); -MISSION_CFGS = protobuf.Descriptor(); -MISSION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MISSION_GROUP_CFG = protobuf.Descriptor(); -MISSION_GROUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD = protobuf.FieldDescriptor(); -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD = protobuf.FieldDescriptor(); -MISSION_GROUP_CFGS = protobuf.Descriptor(); -MISSION_GROUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG = protobuf.Descriptor(); -NPC_SPAWN_METHOD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD = protobuf.FieldDescriptor(); -NPC_SPAWN_METHOD_CFGS = protobuf.Descriptor(); -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG = protobuf.Descriptor(); -NPC_FUNCTION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG_BUTTONS_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG_CONTENT_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG_FUNCTIONS_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG_FUNC_PARA_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD = protobuf.FieldDescriptor(); -NPC_FUNCTION_CFGS = protobuf.Descriptor(); -NPC_FUNCTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PLAYSCG_CFG = protobuf.Descriptor(); -PLAYSCG_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PLAYSCG_CFG_STATE_FIELD = protobuf.FieldDescriptor(); -PLAYSCG_CFGS = protobuf.Descriptor(); -PLAYSCG_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG = protobuf.Descriptor(); -PLOT_DATA_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_NEXT_PLOT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_CONTENT_ID_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_CAN_SKIP_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_ID_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_IMAGE_ID_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_STAY_TIME_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_AUDIORES_ID_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_POS_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_SCALE_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_SHOW_BG_ID_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFG_INSERT_NAME_FIELD = protobuf.FieldDescriptor(); -PLOT_DATA_CFGS = protobuf.Descriptor(); -PLOT_DATA_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GLOBAL_PARAM_CFG = protobuf.Descriptor(); -GLOBAL_PARAM_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GLOBAL_PARAM_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -GLOBAL_PARAM_CFG_VALUE_FIELD = protobuf.FieldDescriptor(); -GLOBAL_PARAM_CFGS = protobuf.Descriptor(); -GLOBAL_PARAM_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PROP_TYPE_CFG = protobuf.Descriptor(); -PROP_TYPE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PROP_TYPE_CFG_IS_RATE_FIELD = protobuf.FieldDescriptor(); -PROP_TYPE_CFG_ATTRIBUTE_FIELD = protobuf.FieldDescriptor(); -PROP_TYPE_CFGS = protobuf.Descriptor(); -PROP_TYPE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ATTRIBUTE_SHOW_CFG = protobuf.Descriptor(); -ATTRIBUTE_SHOW_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -ATTRIBUTE_SHOW_CFGS = protobuf.Descriptor(); -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RES_PATH_CFG = protobuf.Descriptor(); -RES_PATH_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RES_PATH_CFG_RES_PATH_FIELD = protobuf.FieldDescriptor(); -RES_PATH_CFG_ONE_BUNDLE_FIELD = protobuf.FieldDescriptor(); -RES_PATH_CFGS = protobuf.Descriptor(); -RES_PATH_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG = protobuf.Descriptor(); -SCENE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_MAPID_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_IS_SAME_SCENE_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_SCENE_ROUTE_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_CAMERA_PATH_RES_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_SCENE_RECAST_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_SCENE_LENGTH_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_SCENE_WIDTH_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_REFRESH_TYPE_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_REFRESH_PARAMETER_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_PARTNER_CARRY_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_SHOW_CG_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_RES_PATH_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_BORN_X_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_BORN_Y_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_BORN_Z_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_BORN_ROTATION_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_GOAL_X_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_GOAL_Y_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_GOAL_Z_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_CAN_TEAM_CALL_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_IS_BATTLE_FIELD_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_CAM_OPTIONS_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_CFG_CAN_USE_WORLDMAP_FIELD = protobuf.FieldDescriptor(); -SCENE_CFGS = protobuf.Descriptor(); -SCENE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG = protobuf.Descriptor(); -SKILL_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_NAME_TIP_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_SKILL_LEVEL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_PLAYER_LEVEL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LEVELUP_COST_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_NEXT_LEVEL_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_SKILL_ICON_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_SKILL_PROF_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS_PARA1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS_PARA2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS_PARA3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS_PARA4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS_PARA5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TIPS_PARA6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_NEXT_SKILL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_AUTO_SKILL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_NEXT_SKILL_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_SKILL_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ENERGY_COST_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ENERGY_VALUE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MAX_ENERGY_VALUE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_RET_ENERGY_VALUE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_RET_HP_EFFECT_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_SHOW_PROGRESS_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_PROGRESS_WORD_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_IS_PASSIVE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TRIGGER_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ACCELERATE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_IS_CONCURRENCY_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_IS_CHANNEL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CHANNEL_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CAN_CANCEL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_BASE_POS_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_TARGET_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_WORK_WHEN_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CD_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CD_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CD_NUM_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CAST_DISTANCE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOCKED_BY_SERVER_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_RANGE_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_RANGE_PARA1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_RANGE_PARA2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOCK_MAX_COUNT_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CAST_SWING_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CAST_STIFF_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_HIT_EFFECT_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_HIT_EFFECT_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TYPE8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_POINT8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ADJUST_DISTANCE8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_DISTANCE8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_MOVE_TIME8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_3_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_4_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_5_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_6_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_7_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_8_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_9_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_9_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_9_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_10_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_10_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_10_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_11_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_11_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_11_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TYPE_12_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_TIME_12_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_LOGIC_ID_12_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ART_PARA1_FIELD = protobuf.FieldDescriptor(); -SKILL_CFG_ART_PARA2_FIELD = protobuf.FieldDescriptor(); -SKILL_CFGS = protobuf.Descriptor(); -SKILL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SKILL_ID_CFG = protobuf.Descriptor(); -SKILL_ID_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD = protobuf.FieldDescriptor(); -SKILL_ID_CFGS = protobuf.Descriptor(); -SKILL_ID_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG = protobuf.Descriptor(); -SKILL_CONDITION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_TARGET_NUM_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_RATE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_ATK_LV_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_AM_BEATEN_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BEAT_DIS_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_AM_DEAD_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_DEAD_DIS_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD = protobuf.FieldDescriptor(); -SKILL_CONDITION_CFGS = protobuf.Descriptor(); -SKILL_CONDITION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TEST_CFG = protobuf.Descriptor(); -TEST_CFG_ID_FIELD = protobuf.FieldDescriptor(); -TEST_CFG_TESTSTRUCT1_FIELD = protobuf.FieldDescriptor(); -TEST_CFG_TES_FIELD = protobuf.FieldDescriptor(); -TEST_CFGS = protobuf.Descriptor(); -TEST_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG = protobuf.Descriptor(); -ITEM_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_NAME_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_FORMULA_ID_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_DESC_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_STACK_MAX_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_NEED_LEVEL_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_NEED_PROF_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_TYPE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_SUB_TYPE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_PART_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_DISPLAY_TYPE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_COLOR_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_ICON_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_ITEM_MARK_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_OWN_MAX_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_TRADE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_TRADE_COOLDOWN_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_SELL_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_SELL_COST_TYPE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_SELL_COST_NUM_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_USE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_WINDOWUSE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_WINDOWUSE_MAX_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_SHOW_USE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_USE_DELAY_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_BULK_USE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_CD_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_CD_TIME_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_IN_STORAGE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COULD_OBTAIN_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_OBTAIN_LIST_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT1_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT2_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT3_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT4_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT5_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT6_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT7_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PROP_EFFECT8_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_PRICE_GOLD_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_LUCK_VALUE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_POP_VALUE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COMBAT_POINT_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_EFFECT_TIMELIMITED_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_DROP_ID_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COST_TYPE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_COST_COUNT_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_HOLE_NUM_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_INLAY_TYPE_FIELD = protobuf.FieldDescriptor(); -ITEM_CFG_INLAY_LEVEL_FIELD = protobuf.FieldDescriptor(); -ITEM_CFGS = protobuf.Descriptor(); -ITEM_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFG = protobuf.Descriptor(); -FIGHTCRIME_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFG_VALUE_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFG_COLOR_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFG_IMGBG_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFG_IMGICON_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFG_IMGFRAME_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFG_IMGNUMBER_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_CFGS = protobuf.Descriptor(); -FIGHTCRIME_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FIGHTCIRME_REWARD_CFG = protobuf.Descriptor(); -FIGHTCIRME_REWARD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD = protobuf.FieldDescriptor(); -FIGHTCIRME_REWARD_CFGS = protobuf.Descriptor(); -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_MONSTER_CFG = protobuf.Descriptor(); -FIGHTCRIME_MONSTER_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_MONSTER_CFG_TIME_FIELD = protobuf.FieldDescriptor(); -FIGHTCRIME_MONSTER_CFGS = protobuf.Descriptor(); -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG = protobuf.Descriptor(); -EQUIP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_UPGRADE_ID_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_UPGRADE_MATERIAL_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_REFINE_MATERIAL_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_REFINE_COUNT_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_REFINE_COST_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFG_ACTIVE_COST_FIELD = protobuf.FieldDescriptor(); -EQUIP_CFGS = protobuf.Descriptor(); -EQUIP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_CFG = protobuf.Descriptor(); -EQUIP_SET_CFG_ID_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_CFG_EQUIP_IDS_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_CFG_SET_NAME_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_CFGS = protobuf.Descriptor(); -EQUIP_SET_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_PROP_CFG = protobuf.Descriptor(); -EQUIP_SET_PROP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD = protobuf.FieldDescriptor(); -EQUIP_SET_PROP_CFGS = protobuf.Descriptor(); -EQUIP_SET_PROP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG = protobuf.Descriptor(); -STRENGTHEN_CFG_ID_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_SEG_LIMIT_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_RATE_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_REQ_LEVEL_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_MAT_ID_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_MAT_NUM_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_PROP_EFFECT1_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_PROP_EFFECT2_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_PROP_EFFECT3_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_PROP_EFFECT4_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFG_COMBAT_POINT_FIELD = protobuf.FieldDescriptor(); -STRENGTHEN_CFGS = protobuf.Descriptor(); -STRENGTHEN_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_LIST_CFG = protobuf.Descriptor(); -RUNE_MAKE_LIST_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_LIST_CFG_WEAPON_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_LIST_CFG_HEAD_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_LIST_CFG_SHOES_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_LIST_CFGS = protobuf.Descriptor(); -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG = protobuf.Descriptor(); -RUNE_MAKE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_COST_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_PROP_COUNT_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_SPELL_RATE_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_MAKE_CFGS = protobuf.Descriptor(); -RUNE_MAKE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG = protobuf.Descriptor(); -RUNE_PROP_GROUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_GROUP_CFGS = protobuf.Descriptor(); -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -EQUIP_LIST_CFG = protobuf.Descriptor(); -EQUIP_LIST_CFG_ID_FIELD = protobuf.FieldDescriptor(); -EQUIP_LIST_CFG_EQUIP_LIST_FIELD = protobuf.FieldDescriptor(); -EQUIP_LIST_CFGS = protobuf.Descriptor(); -EQUIP_LIST_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG = protobuf.Descriptor(); -RUNE_SKILL_GROUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_GROUP_CFGS = protobuf.Descriptor(); -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG = protobuf.Descriptor(); -RUNE_DECOMPOSE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_SILVER_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_GOLD_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD = protobuf.FieldDescriptor(); -RUNE_DECOMPOSE_CFGS = protobuf.Descriptor(); -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -JEWELRY_MAKE_CFG = protobuf.Descriptor(); -JEWELRY_MAKE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -JEWELRY_MAKE_CFG_POP_COST_FIELD = protobuf.FieldDescriptor(); -JEWELRY_MAKE_CFG_MONEY_COST_FIELD = protobuf.FieldDescriptor(); -JEWELRY_MAKE_CFGS = protobuf.Descriptor(); -JEWELRY_MAKE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG = protobuf.Descriptor(); -WORLD_MAP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_SCENE_NAME_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_OPEN_LV_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_OPENLV_SHOW_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_LANGUAGE_ID_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFG_SCENE_ICON_FIELD = protobuf.FieldDescriptor(); -WORLD_MAP_CFGS = protobuf.Descriptor(); -WORLD_MAP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_CURRENCY_CFG = protobuf.Descriptor(); -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD = protobuf.FieldDescriptor(); -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_CURRENCY_CFGS = protobuf.Descriptor(); -PARTNER_CURRENCY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG = protobuf.Descriptor(); -PARTNER_ACTIVATION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PLOTID_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_GITS_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD = protobuf.FieldDescriptor(); -PARTNER_ACTIVATION_CFGS = protobuf.Descriptor(); -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_MOOD_CFG = protobuf.Descriptor(); -PARTNER_MOOD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_MOOD_CFG_GIFTID_FIELD = protobuf.FieldDescriptor(); -PARTNER_MOOD_CFG_MOODTEXT_FIELD = protobuf.FieldDescriptor(); -PARTNER_MOOD_CFG_MULTIPLE_FIELD = protobuf.FieldDescriptor(); -PARTNER_MOOD_CFGS = protobuf.Descriptor(); -PARTNER_MOOD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRESSION_CFG = protobuf.Descriptor(); -PARTNER_IMPRESSION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRESSION_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRESSION_CFGS = protobuf.Descriptor(); -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRE_LEVELUP_CFG = protobuf.Descriptor(); -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD = protobuf.FieldDescriptor(); -PARTNER_IMPRE_LEVELUP_CFGS = protobuf.Descriptor(); -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_MULTIPLE_CFG = protobuf.Descriptor(); -PARTNER_MULTIPLE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD = protobuf.FieldDescriptor(); -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD = protobuf.FieldDescriptor(); -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD = protobuf.FieldDescriptor(); -PARTNER_MULTIPLE_CFGS = protobuf.Descriptor(); -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG = protobuf.Descriptor(); -PARTNER_STAR_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STAR_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STUDY_GROUP_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STUDY_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STUDY_ITEM_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STUDY_COST_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STAR_PROP1_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STAR_PROP2_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_STAR_PROP3_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_UPSTAR_COST_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFG_REBUILD_COST_FIELD = protobuf.FieldDescriptor(); -PARTNER_STAR_CFGS = protobuf.Descriptor(); -PARTNER_STAR_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_STUDY_CFG = protobuf.Descriptor(); -PARTNER_STUDY_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD = protobuf.FieldDescriptor(); -PARTNER_STUDY_CFG_STUDY_PROP_FIELD = protobuf.FieldDescriptor(); -PARTNER_STUDY_CFGS = protobuf.Descriptor(); -PARTNER_STUDY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_ITEM_COMPOUND_CFG = protobuf.Descriptor(); -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_ITEM_COMPOUND_CFGS = protobuf.Descriptor(); -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTENR_EXPERIENCE_CFG = protobuf.Descriptor(); -PARTENR_EXPERIENCE_CFG_KEY_FIELD = protobuf.FieldDescriptor(); -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD = protobuf.FieldDescriptor(); -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD = protobuf.FieldDescriptor(); -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD = protobuf.FieldDescriptor(); -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTENR_EXPERIENCE_CFGS = protobuf.Descriptor(); -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG = protobuf.Descriptor(); -PARTNER_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_SHOW_NAME_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_LOCK_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_HEAD_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_DRAW_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_POKEDEX_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_SKILLS_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_AVATAR_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_ACT_IDLE_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_ACT_MOVE_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_ACT_BORN_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_ACT_DEAD_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_RESURRECTION_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_QUALITY_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_GROWTH_CAP_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_END_SKILLS_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_RESOURCES_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_ITEMS_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_RANGE_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_FETTERS_NUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_PARTNER_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_IS_RARE_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD = protobuf.FieldDescriptor(); -PARTNER_BASE_CFGS = protobuf.Descriptor(); -PARTNER_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_ATTRIBUTE_CFG = protobuf.Descriptor(); -PARTNER_ATTRIBUTE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD = protobuf.FieldDescriptor(); -PARTNER_ATTRIBUTE_CFGS = protobuf.Descriptor(); -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG = protobuf.Descriptor(); -PARTNER_PASSIVESKILL_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD = protobuf.FieldDescriptor(); -PARTNER_PASSIVESKILL_CFGS = protobuf.Descriptor(); -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFG = protobuf.Descriptor(); -PARTNER_CHIP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFG_CHIP_NAME_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD = protobuf.FieldDescriptor(); -PARTNER_CHIP_CFGS = protobuf.Descriptor(); -PARTNER_CHIP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FETTER_CFG = protobuf.Descriptor(); -FETTER_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FETTER_CFG_TID_FIELD = protobuf.FieldDescriptor(); -FETTER_CFG_FETTER_NAME_FIELD = protobuf.FieldDescriptor(); -FETTER_CFG_FETTER_DESC_FIELD = protobuf.FieldDescriptor(); -FETTER_CFG_FETTER_OBJECT_FIELD = protobuf.FieldDescriptor(); -FETTER_CFGS = protobuf.Descriptor(); -FETTER_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_EQUIPHECHENG_CFG = protobuf.Descriptor(); -PARTNER_EQUIPHECHENG_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD = protobuf.FieldDescriptor(); -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD = protobuf.FieldDescriptor(); -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD = protobuf.FieldDescriptor(); -PARTNER_EQUIPHECHENG_CFGS = protobuf.Descriptor(); -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -PARTNER_FORMATION_CFG = protobuf.Descriptor(); -PARTNER_FORMATION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD = protobuf.FieldDescriptor(); -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD = protobuf.FieldDescriptor(); -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD = protobuf.FieldDescriptor(); -PARTNER_FORMATION_CFGS = protobuf.Descriptor(); -PARTNER_FORMATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG = protobuf.Descriptor(); -GUILD_MISSION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_CFGS = protobuf.Descriptor(); -GUILD_MISSION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUILD_BUILDING_MISSION_CFG = protobuf.Descriptor(); -GUILD_BUILDING_MISSION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD = protobuf.FieldDescriptor(); -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD = protobuf.FieldDescriptor(); -GUILD_BUILDING_MISSION_CFGS = protobuf.Descriptor(); -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFG = protobuf.Descriptor(); -BUILDING_MISSION_POOL_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD = protobuf.FieldDescriptor(); -BUILDING_MISSION_POOL_CFGS = protobuf.Descriptor(); -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG = protobuf.Descriptor(); -GUILD_MISSION_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD = protobuf.FieldDescriptor(); -GUILD_MISSION_BASE_CFGS = protobuf.Descriptor(); -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG = protobuf.Descriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CONT_CFGS = protobuf.Descriptor(); -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CFG = protobuf.Descriptor(); -GUILD_PRACTICE_GROUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD = protobuf.FieldDescriptor(); -GUILD_PRACTICE_GROUP_CFGS = protobuf.Descriptor(); -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG = protobuf.Descriptor(); -GUILD_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD = protobuf.FieldDescriptor(); -GUILD_BASE_CFGS = protobuf.Descriptor(); -GUILD_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUILD_FLAG_CFG = protobuf.Descriptor(); -GUILD_FLAG_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD = protobuf.FieldDescriptor(); -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD = protobuf.FieldDescriptor(); -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD = protobuf.FieldDescriptor(); -GUILD_FLAG_CFGS = protobuf.Descriptor(); -GUILD_FLAG_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG = protobuf.Descriptor(); -GUIL_POST_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_REMOVE_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_MAIL_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_EXPEL_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_INVITATION_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_APPROVAL_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_TEAM_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_CALL_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_HOSTILE_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFG_GUILD_NOTICE_FIELD = protobuf.FieldDescriptor(); -GUIL_POST_CFGS = protobuf.Descriptor(); -GUIL_POST_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG = protobuf.Descriptor(); -INNER_ALCHEMY_CFG_ID_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_OCCUPATION_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_CFGS = protobuf.Descriptor(); -INNER_ALCHEMY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_GROUP_CFG = protobuf.Descriptor(); -INNER_ALCHEMY_GROUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD = protobuf.FieldDescriptor(); -INNER_ALCHEMY_GROUP_CFGS = protobuf.Descriptor(); -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG = protobuf.Descriptor(); -MEDAL_GROUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_STARLEVEL_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_GROUP_NAME_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_MEMBER_ID_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD = protobuf.FieldDescriptor(); -MEDAL_GROUP_CFGS = protobuf.Descriptor(); -MEDAL_GROUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MEDAL_BASE_CFG = protobuf.Descriptor(); -MEDAL_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MEDAL_BASE_CFG_MEDAL_NAME_FIELD = protobuf.FieldDescriptor(); -MEDAL_BASE_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -MEDAL_BASE_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD = protobuf.FieldDescriptor(); -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD = protobuf.FieldDescriptor(); -MEDAL_BASE_CFGS = protobuf.Descriptor(); -MEDAL_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFG = protobuf.Descriptor(); -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD = protobuf.FieldDescriptor(); -MEDAL_COMPOSITE_ADDITION_CFGS = protobuf.Descriptor(); -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MEDAL_OPEN_LEVEL_CFG = protobuf.Descriptor(); -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -MEDAL_OPEN_LEVEL_CFGS = protobuf.Descriptor(); -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MEDAL_STAR_OPEN_LEVEL_CFG = protobuf.Descriptor(); -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD = protobuf.FieldDescriptor(); -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD = protobuf.FieldDescriptor(); -MEDAL_STAR_OPEN_LEVEL_CFGS = protobuf.Descriptor(); -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FORMULA_CFG = protobuf.Descriptor(); -FORMULA_CFG_FORMULA_ID_FIELD = protobuf.FieldDescriptor(); -FORMULA_CFG_COST_IDS_FIELD = protobuf.FieldDescriptor(); -FORMULA_CFG_COST_COUNTS_FIELD = protobuf.FieldDescriptor(); -FORMULA_CFG_ITEM_IDS_FIELD = protobuf.FieldDescriptor(); -FORMULA_CFG_ITEM_COUNTS_FIELD = protobuf.FieldDescriptor(); -FORMULA_CFGS = protobuf.Descriptor(); -FORMULA_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MALL_ITEM_CFG = protobuf.Descriptor(); -MALL_ITEM_CFG_GUID_FIELD = protobuf.FieldDescriptor(); -MALL_ITEM_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -MALL_ITEM_CFG_REAL_GUID_FIELD = protobuf.FieldDescriptor(); -MALL_ITEM_CFG_COST_TYPE_FIELD = protobuf.FieldDescriptor(); -MALL_ITEM_CFG_COST_ORIGINAL_FIELD = protobuf.FieldDescriptor(); -MALL_ITEM_CFG_COST_CURRENT_FIELD = protobuf.FieldDescriptor(); -MALL_ITEM_CFGS = protobuf.Descriptor(); -MALL_ITEM_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG = protobuf.Descriptor(); -SHOP_TYPE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_SHOP_NAME_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_OPEN_LVL_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_SHOP_TYPE_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_ISTAB_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_TAB_NAME1_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_TAB_NAME2_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_TAB_NAME3_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD = protobuf.FieldDescriptor(); -SHOP_TYPE_CFGS = protobuf.Descriptor(); -SHOP_TYPE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG = protobuf.Descriptor(); -SCENE_EVENT_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_STEP_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_EVENT_TYPE_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_CONDIDITON1_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_CONDIDITON2_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_CONDIDITON3_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_CONDIDITON4_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_RESULT_TYPE_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_RESULT1_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_RESULT2_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_RESULT3_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFG_RESULT4_FIELD = protobuf.FieldDescriptor(); -SCENE_EVENT_CFGS = protobuf.Descriptor(); -SCENE_EVENT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG = protobuf.Descriptor(); -SCENE_PORTAL_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_RADIUS_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_ORIENTATION_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_ENABLED_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFG_RESID_FIELD = protobuf.FieldDescriptor(); -SCENE_PORTAL_CFGS = protobuf.Descriptor(); -SCENE_PORTAL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG = protobuf.Descriptor(); -SCENE_FUNCTION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_RANK_IDS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD = protobuf.FieldDescriptor(); -SCENE_FUNCTION_CFGS = protobuf.Descriptor(); -SCENE_FUNCTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG = protobuf.Descriptor(); -SCENE_AREA_CFG_AREA_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_AREA_TYPE_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_RADIUS_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_WIDTH_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_HEIGHT_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_ACTION_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -SCENE_AREA_CFGS = protobuf.Descriptor(); -SCENE_AREA_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFG = protobuf.Descriptor(); -CLIENT_TRIGGER_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFG_EVENTS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFG_ACTIONS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFG_OPENED_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CFGS = protobuf.Descriptor(); -CLIENT_TRIGGER_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG = protobuf.Descriptor(); -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_EVENT_CFGS = protobuf.Descriptor(); -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG = protobuf.Descriptor(); -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_CONDITION_CFGS = protobuf.Descriptor(); -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG = protobuf.Descriptor(); -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_ACTION_CFGS = protobuf.Descriptor(); -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG = protobuf.Descriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -CLIENT_TRIGGER_VARIABLE_CFGS = protobuf.Descriptor(); -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG = protobuf.Descriptor(); -SCENE_ORGAN_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_MODULE_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_ORIENTATION_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_SKILL_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_ENABLED_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFG_SHOW_NAME_FIELD = protobuf.FieldDescriptor(); -SCENE_ORGAN_CFGS = protobuf.Descriptor(); -SCENE_ORGAN_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG = protobuf.Descriptor(); -MAP_SIGNS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_SUB_TYPE_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_AUTO_ID_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_IS_AUTO_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFG_IS_SHOW_FIELD = protobuf.FieldDescriptor(); -MAP_SIGNS_CFGS = protobuf.Descriptor(); -MAP_SIGNS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_TRIGGER_CFG = protobuf.Descriptor(); -SCENE_TRIGGER_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -SCENE_TRIGGER_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_TRIGGER_CFG_EVENTS_FIELD = protobuf.FieldDescriptor(); -SCENE_TRIGGER_CFG_CONDITIONS_FIELD = protobuf.FieldDescriptor(); -SCENE_TRIGGER_CFG_ACTIONS_FIELD = protobuf.FieldDescriptor(); -SCENE_TRIGGER_CFG_OPENED_FIELD = protobuf.FieldDescriptor(); -SCENE_TRIGGER_CFGS = protobuf.Descriptor(); -SCENE_TRIGGER_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG = protobuf.Descriptor(); -TRIGGER_EVENT_CFG_EVENT_ID_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM6_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM7_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM8_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM9_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFG_PARAM10_FIELD = protobuf.FieldDescriptor(); -TRIGGER_EVENT_CFGS = protobuf.Descriptor(); -TRIGGER_EVENT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG = protobuf.Descriptor(); -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM6_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM7_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM8_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM9_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFG_PARAM10_FIELD = protobuf.FieldDescriptor(); -TRIGGER_CONDITION_CFGS = protobuf.Descriptor(); -TRIGGER_CONDITION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG = protobuf.Descriptor(); -TRIGGER_ACTION_CFG_ACTION_ID_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM6_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM7_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM8_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM9_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFG_PARAM10_FIELD = protobuf.FieldDescriptor(); -TRIGGER_ACTION_CFGS = protobuf.Descriptor(); -TRIGGER_ACTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG = protobuf.Descriptor(); -TRIGGER_VARIABLE_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -TRIGGER_VARIABLE_CFGS = protobuf.Descriptor(); -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG = protobuf.Descriptor(); -SCENE_DOOR_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_WIDTH_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_ORIENTATION_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_OPENED_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFG_RESID_FIELD = protobuf.FieldDescriptor(); -SCENE_DOOR_CFGS = protobuf.Descriptor(); -SCENE_DOOR_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -REVIVE_SHOW_CFG = protobuf.Descriptor(); -REVIVE_SHOW_CFG_ID_FIELD = protobuf.FieldDescriptor(); -REVIVE_SHOW_CFG_INDEX_FIELD = protobuf.FieldDescriptor(); -REVIVE_SHOW_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -REVIVE_SHOW_CFGS = protobuf.Descriptor(); -REVIVE_SHOW_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG = protobuf.Descriptor(); -FASHION_APPRECIATION_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD = protobuf.FieldDescriptor(); -FASHION_APPRECIATION_CFGS = protobuf.Descriptor(); -FASHION_APPRECIATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG = protobuf.Descriptor(); -FASHION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_ID_GROUP_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_FASHION_COST_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_FASHION_TYPE_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_VOCATION_LIMIT_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_FASHION_NAME_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_FASHION_ICON_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_FASHION_PARTS_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_FASHION_COLOUR_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_FASHION_TIPS_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_ATTRIBUTE_TYPE_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_ATTRIBUTE_MODE_FIELD = protobuf.FieldDescriptor(); -FASHION_CFG_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -FASHION_CFGS = protobuf.Descriptor(); -FASHION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG = protobuf.Descriptor(); -FASHION_COST_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_FASHION_TIME_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_FASHION_POINT_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFG_UNLOCK_POWER_FIELD = protobuf.FieldDescriptor(); -FASHION_COST_CFGS = protobuf.Descriptor(); -FASHION_COST_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG = protobuf.Descriptor(); -MOUNTEQUIP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_ITEM_NAME_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_ITEM_DESC_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_ITEM_ICON_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_COULD_TRADE_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD = protobuf.FieldDescriptor(); -MOUNTEQUIP_CFGS = protobuf.Descriptor(); -MOUNTEQUIP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -INDEPENDENT_RANDOM_REWARD_CFG = protobuf.Descriptor(); -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD = protobuf.FieldDescriptor(); -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -INDEPENDENT_RANDOM_REWARD_CFGS = protobuf.Descriptor(); -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFG = protobuf.Descriptor(); -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD = protobuf.FieldDescriptor(); -WEIGHT_RANDOM_REWARD_CFGS = protobuf.Descriptor(); -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG = protobuf.Descriptor(); -REWARD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_SOUL_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_SOUL_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_PARTNER_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD = protobuf.FieldDescriptor(); -REWARD_CFGS = protobuf.Descriptor(); -REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FUNC_TYPE_WEIGHT_CFG = protobuf.Descriptor(); -FUNC_TYPE_WEIGHT_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD = protobuf.FieldDescriptor(); -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD = protobuf.FieldDescriptor(); -FUNC_TYPE_WEIGHT_CFGS = protobuf.Descriptor(); -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ZONE_LOCATION_CFG = protobuf.Descriptor(); -ZONE_LOCATION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD = protobuf.FieldDescriptor(); -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD = protobuf.FieldDescriptor(); -ZONE_LOCATION_CFG_CITY_ID_FIELD = protobuf.FieldDescriptor(); -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD = protobuf.FieldDescriptor(); -ZONE_LOCATION_CFGS = protobuf.Descriptor(); -ZONE_LOCATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GIFT_GIVING_CFG = protobuf.Descriptor(); -GIFT_GIVING_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GIFT_GIVING_CFG_GIFT_TYPE_FIELD = protobuf.FieldDescriptor(); -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD = protobuf.FieldDescriptor(); -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD = protobuf.FieldDescriptor(); -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD = protobuf.FieldDescriptor(); -GIFT_GIVING_CFGS = protobuf.Descriptor(); -GIFT_GIVING_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FRIEND_TITLE_CFG = protobuf.Descriptor(); -FRIEND_TITLE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD = protobuf.FieldDescriptor(); -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD = protobuf.FieldDescriptor(); -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD = protobuf.FieldDescriptor(); -FRIEND_TITLE_CFGS = protobuf.Descriptor(); -FRIEND_TITLE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -FATE_VALUE_REWARD_CFG = protobuf.Descriptor(); -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD = protobuf.FieldDescriptor(); -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD = protobuf.FieldDescriptor(); -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD = protobuf.FieldDescriptor(); -FATE_VALUE_REWARD_CFGS = protobuf.Descriptor(); -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFG = protobuf.Descriptor(); -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFG_RANGE_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_INLAY_CFGS = protobuf.Descriptor(); -GEMSTONE_INLAY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_LIST_CFG = protobuf.Descriptor(); -GEMSTONE_LIST_CFG_GEM_ID_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_LIST_CFG_GEM_PICID_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD = protobuf.FieldDescriptor(); -GEMSTONE_LIST_CFGS = protobuf.Descriptor(); -GEMSTONE_LIST_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG = protobuf.Descriptor(); -CHEST_DROP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_COUNT_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_RES_ID_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_RADIUS_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_SPACE_ROWS_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_SPACE_COLS_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_LIVE_TIME_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFG_REFRESH_TIME_FIELD = protobuf.FieldDescriptor(); -CHEST_DROP_CFGS = protobuf.Descriptor(); -CHEST_DROP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG = protobuf.Descriptor(); -MINIMAP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_WIDTH_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_HEIGHT_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_TEX_WIDTH_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_TEX_HEIGHT_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_RES_ID_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_ROTATION_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFG_MINIMAP_RADIUS_FIELD = protobuf.FieldDescriptor(); -MINIMAP_CFGS = protobuf.Descriptor(); -MINIMAP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TREASURE_ROOMS_CFG = protobuf.Descriptor(); -TREASURE_ROOMS_CFG_GROUPID_FIELD = protobuf.FieldDescriptor(); -TREASURE_ROOMS_CFG_AREA_ID_FIELD = protobuf.FieldDescriptor(); -TREASURE_ROOMS_CFG_RED_NUM_FIELD = protobuf.FieldDescriptor(); -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD = protobuf.FieldDescriptor(); -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD = protobuf.FieldDescriptor(); -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD = protobuf.FieldDescriptor(); -TREASURE_ROOMS_CFGS = protobuf.Descriptor(); -TREASURE_ROOMS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CRUSADE_BASE_CFG = protobuf.Descriptor(); -CRUSADE_BASE_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -CRUSADE_BASE_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -CRUSADE_BASE_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -CRUSADE_BASE_CFG_NPC_ID_FIELD = protobuf.FieldDescriptor(); -CRUSADE_BASE_CFG_GROUP_ID_FIELD = protobuf.FieldDescriptor(); -CRUSADE_BASE_CFGS = protobuf.Descriptor(); -CRUSADE_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG = protobuf.Descriptor(); -CRUSADE_DUNGON_CFG_NPCID_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD = protobuf.FieldDescriptor(); -CRUSADE_DUNGON_CFGS = protobuf.Descriptor(); -CRUSADE_DUNGON_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -STRENGTH_CONVERT_CFG = protobuf.Descriptor(); -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD = protobuf.FieldDescriptor(); -STRENGTH_CONVERT_CFG_FACTOR_FIELD = protobuf.FieldDescriptor(); -STRENGTH_CONVERT_CFGS = protobuf.Descriptor(); -STRENGTH_CONVERT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_NPC_CFG = protobuf.Descriptor(); -SKILL_SUMMONED_NPC_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_NPC_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_NPC_CFGS = protobuf.Descriptor(); -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG = protobuf.Descriptor(); -SKILL_SUMMONED_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_RING_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_SPEED_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EFF_START_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD = protobuf.FieldDescriptor(); -SKILL_SUMMONED_CFGS = protobuf.Descriptor(); -SKILL_SUMMONED_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG = protobuf.Descriptor(); -CLUE_CFG_CLUE_ID_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_POS_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_BOXES_POS_X_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_BOXES_POS_Z_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_COST_ID_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_CORE_COORDINATE_FIELD = protobuf.FieldDescriptor(); -CLUE_CFG_MAP_RANGE_FIELD = protobuf.FieldDescriptor(); -CLUE_CFGS = protobuf.Descriptor(); -CLUE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BOXS_CFG = protobuf.Descriptor(); -BOXS_CFG_BOXES_ID_FIELD = protobuf.FieldDescriptor(); -BOXS_CFG_BOX_ID_FIELD = protobuf.FieldDescriptor(); -BOXS_CFG_BOX_RATE_FIELD = protobuf.FieldDescriptor(); -BOXS_CFGS = protobuf.Descriptor(); -BOXS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFG = protobuf.Descriptor(); -BOX_COLLECT_CFG_BOX_ID_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFG_BOX_RES_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFG_ITEM_TYPE_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFG_ITEM_RATE_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFG_SHOW_TYPE_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFG_MODEL_SCALE_FIELD = protobuf.FieldDescriptor(); -BOX_COLLECT_CFGS = protobuf.Descriptor(); -BOX_COLLECT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG = protobuf.Descriptor(); -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFG_BROAD_FIELD = protobuf.FieldDescriptor(); -DIG_TREASURE_EVENT_CFGS = protobuf.Descriptor(); -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -DROP_POINT_CFG = protobuf.Descriptor(); -DROP_POINT_CFG_ID_FIELD = protobuf.FieldDescriptor(); -DROP_POINT_CFG_MODULE_FIELD = protobuf.FieldDescriptor(); -DROP_POINT_CFG_MINDISTANCE_FIELD = protobuf.FieldDescriptor(); -DROP_POINT_CFG_PICKTYPE_FIELD = protobuf.FieldDescriptor(); -DROP_POINT_CFG_BSHOW_FIELD = protobuf.FieldDescriptor(); -DROP_POINT_CFG_TEXTID_FIELD = protobuf.FieldDescriptor(); -DROP_POINT_CFGS = protobuf.Descriptor(); -DROP_POINT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG = protobuf.Descriptor(); -RANK_FUNCTION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFG_HOST_FIELD_FIELD = protobuf.FieldDescriptor(); -RANK_FUNCTION_CFGS = protobuf.Descriptor(); -RANK_FUNCTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFG = protobuf.Descriptor(); -RANK_FIELD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFG_FIELD_NAME_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFG_CHILD_NAMES_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFG_CHILD_TYPES_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFG_CHILD_VALUES_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFG_HOST_FIELD_FIELD = protobuf.FieldDescriptor(); -RANK_FIELD_CFGS = protobuf.Descriptor(); -RANK_FIELD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -EDN_CFG = protobuf.Descriptor(); -EDN_CFG_LVL_FIELD = protobuf.FieldDescriptor(); -EDN_CFG_LVLUP_EXP_FIELD = protobuf.FieldDescriptor(); -EDN_CFGS = protobuf.Descriptor(); -EDN_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -EDN_SCENE_CFG = protobuf.Descriptor(); -EDN_SCENE_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -EDN_SCENE_CFG_OPEN_LVL_FIELD = protobuf.FieldDescriptor(); -EDN_SCENE_CFG_MAPNAME_ID_FIELD = protobuf.FieldDescriptor(); -EDN_SCENE_CFG_MAP_NAME_FIELD = protobuf.FieldDescriptor(); -EDN_SCENE_CFG_MAP_IMGID_FIELD = protobuf.FieldDescriptor(); -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD = protobuf.FieldDescriptor(); -EDN_SCENE_CFGS = protobuf.Descriptor(); -EDN_SCENE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -EDN_RELIC_CFG = protobuf.Descriptor(); -EDN_RELIC_CFG_ID_FIELD = protobuf.FieldDescriptor(); -EDN_RELIC_CFG_NAME_ID_FIELD = protobuf.FieldDescriptor(); -EDN_RELIC_CFG_NAME_STRING_FIELD = protobuf.FieldDescriptor(); -EDN_RELIC_CFG_IMAGE_ID_FIELD = protobuf.FieldDescriptor(); -EDN_RELIC_CFG_REWARDS_FIELD = protobuf.FieldDescriptor(); -EDN_RELIC_CFG_TIPS_ID_FIELD = protobuf.FieldDescriptor(); -EDN_RELIC_CFGS = protobuf.Descriptor(); -EDN_RELIC_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG = protobuf.Descriptor(); -TOWER_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_RAID_ITEMID_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_MONEYTYPE_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_MONEYCOUNT_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_ITEMID_CROSS_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_EXP_CROSS_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_BIRTH_X_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_BIRTH_Y_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFG_BIRTH_Z_FIELD = protobuf.FieldDescriptor(); -TOWER_BASE_CFGS = protobuf.Descriptor(); -TOWER_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG = protobuf.Descriptor(); -STARSPIRIT_DUNGOEN_CFG_ID_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -STARSPIRIT_DUNGOEN_CFGS = protobuf.Descriptor(); -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_QUALITY_CFG = protobuf.Descriptor(); -RUNE_QUALITY_CFG_RUNE_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD = protobuf.FieldDescriptor(); -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD = protobuf.FieldDescriptor(); -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD = protobuf.FieldDescriptor(); -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD = protobuf.FieldDescriptor(); -RUNE_QUALITY_CFGS = protobuf.Descriptor(); -RUNE_QUALITY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFG = protobuf.Descriptor(); -RUNE_PROP_REFINE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD = protobuf.FieldDescriptor(); -RUNE_PROP_REFINE_CFGS = protobuf.Descriptor(); -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_REFINE_CFG = protobuf.Descriptor(); -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD = protobuf.FieldDescriptor(); -RUNE_SKILL_REFINE_CFGS = protobuf.Descriptor(); -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MONTHCARD_BASE_CFG = protobuf.Descriptor(); -MONTHCARD_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD = protobuf.FieldDescriptor(); -MONTHCARD_BASE_CFG_PRICE_FIELD = protobuf.FieldDescriptor(); -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD = protobuf.FieldDescriptor(); -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD = protobuf.FieldDescriptor(); -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD = protobuf.FieldDescriptor(); -MONTHCARD_BASE_CFGS = protobuf.Descriptor(); -MONTHCARD_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG = protobuf.Descriptor(); -SIGNUP_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD = protobuf.FieldDescriptor(); -SIGNUP_BASE_CFGS = protobuf.Descriptor(); -SIGNUP_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SIGNUP_ACCUMULATION_CFG = protobuf.Descriptor(); -SIGNUP_ACCUMULATION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD = protobuf.FieldDescriptor(); -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD = protobuf.FieldDescriptor(); -SIGNUP_ACCUMULATION_CFGS = protobuf.Descriptor(); -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFG = protobuf.Descriptor(); -SERVICE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFG_SERVICE_ID_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFG_PARAM1_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFG_PARAM2_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFG_PARAM3_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFG_PARAM4_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFG_PARAM5_FIELD = protobuf.FieldDescriptor(); -SERVICE_CFGS = protobuf.Descriptor(); -SERVICE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MATERIAL_ITEM_CFG = protobuf.Descriptor(); -MATERIAL_ITEM_CFG_NUM_FIELD = protobuf.FieldDescriptor(); -MATERIAL_ITEM_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MATERIAL_ITEM_CFG_WEIGHT_FIELD = protobuf.FieldDescriptor(); -MATERIAL_ITEM_CFG_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -MATERIAL_ITEM_CFGS = protobuf.Descriptor(); -MATERIAL_ITEM_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -STATE_CFG = protobuf.Descriptor(); -STATE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -STATE_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -STATE_CFG_ACTIONS_FIELD = protobuf.FieldDescriptor(); -STATE_CFGS = protobuf.Descriptor(); -STATE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG = protobuf.Descriptor(); -CAM_OPTIONS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_MIN_PITCH_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_MAX_PITCH_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_DEF_YAW_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_DEF_PITCH_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_OFFSET_X_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_OFFSET_Y_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_OFFSET_Z_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFG_FOV_FIELD = protobuf.FieldDescriptor(); -CAM_OPTIONS_CFGS = protobuf.Descriptor(); -CAM_OPTIONS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG = protobuf.Descriptor(); -LEVEL_PACKAGE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD = protobuf.FieldDescriptor(); -LEVEL_PACKAGE_CFGS = protobuf.Descriptor(); -LEVEL_PACKAGE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG = protobuf.Descriptor(); -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_INFO_CFGS = protobuf.Descriptor(); -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_ROOMS_CFG = protobuf.Descriptor(); -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD = protobuf.FieldDescriptor(); -BATTLE_CRYSTAL_ROOMS_CFGS = protobuf.Descriptor(); -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BATTLE_COLLECT_CRYSTAL_CFG = protobuf.Descriptor(); -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD = protobuf.FieldDescriptor(); -BATTLE_COLLECT_CRYSTAL_CFGS = protobuf.Descriptor(); -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ELITE_LEVEL_CFG = protobuf.Descriptor(); -ELITE_LEVEL_CFG_LEVEL_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD = protobuf.FieldDescriptor(); -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD = protobuf.FieldDescriptor(); -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD = protobuf.FieldDescriptor(); -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD = protobuf.FieldDescriptor(); -ELITE_LEVEL_CFGS = protobuf.Descriptor(); -ELITE_LEVEL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG = protobuf.Descriptor(); -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_NODE_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_TIME_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_GRADE_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD = protobuf.FieldDescriptor(); -ELITE_COMMON_INFO_CFGS = protobuf.Descriptor(); -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG = protobuf.Descriptor(); -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_GAME_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_NODE_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_TIME_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_GRADE_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD = protobuf.FieldDescriptor(); -ELITE_HELL_INFO_CFGS = protobuf.Descriptor(); -ELITE_HELL_INFO_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ELITE_REWARD_CFG = protobuf.Descriptor(); -ELITE_REWARD_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_REWARD_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -ELITE_REWARD_CFG_ITEM_COUNT_FIELD = protobuf.FieldDescriptor(); -ELITE_REWARD_CFGS = protobuf.Descriptor(); -ELITE_REWARD_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SUBSYS_CFG = protobuf.Descriptor(); -SUBSYS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -SUBSYS_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -SUBSYS_CFG_TITLE_ID_FIELD = protobuf.FieldDescriptor(); -SUBSYS_CFG_DESC_ID_FIELD = protobuf.FieldDescriptor(); -SUBSYS_CFG_UI_STYLE_FIELD = protobuf.FieldDescriptor(); -SUBSYS_CFG_NOTES_FIELD = protobuf.FieldDescriptor(); -SUBSYS_CFGS = protobuf.Descriptor(); -SUBSYS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -BAG_ROUTINE_CFG = protobuf.Descriptor(); -BAG_ROUTINE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -BAG_ROUTINE_CFG_BAG_TYPE_FIELD = protobuf.FieldDescriptor(); -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD = protobuf.FieldDescriptor(); -BAG_ROUTINE_CFG_BAG_MAX_FIELD = protobuf.FieldDescriptor(); -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD = protobuf.FieldDescriptor(); -BAG_ROUTINE_CFGS = protobuf.Descriptor(); -BAG_ROUTINE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -DEPOT_UNLOCK_CFG = protobuf.Descriptor(); -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD = protobuf.FieldDescriptor(); -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD = protobuf.FieldDescriptor(); -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD = protobuf.FieldDescriptor(); -DEPOT_UNLOCK_CFGS = protobuf.Descriptor(); -DEPOT_UNLOCK_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ROLE_PARTS_CFG = protobuf.Descriptor(); -ROLE_PARTS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ROLE_PARTS_CFG_NAME_ID_FIELD = protobuf.FieldDescriptor(); -ROLE_PARTS_CFG_SLOT_FIELD = protobuf.FieldDescriptor(); -ROLE_PARTS_CFG_RES_ID_FIELD = protobuf.FieldDescriptor(); -ROLE_PARTS_CFGS = protobuf.Descriptor(); -ROLE_PARTS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_CFG = protobuf.Descriptor(); -SUPPRESS_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_CFG_FIT_LVL_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_CFG_GROUP_COUNT_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_CFGS = protobuf.Descriptor(); -SUPPRESS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_GROUP_CFG = protobuf.Descriptor(); -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD = protobuf.FieldDescriptor(); -SUPPRESS_GROUP_CFGS = protobuf.Descriptor(); -SUPPRESS_GROUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG = protobuf.Descriptor(); -UI_CONTRIBUTION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_TITLEID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_IMAGEID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_ATLASID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_ICONNAME_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFG_TIPSID_FIELD = protobuf.FieldDescriptor(); -UI_CONTRIBUTION_CFGS = protobuf.Descriptor(); -UI_CONTRIBUTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG = protobuf.Descriptor(); -ACTIVITY_DUNGEON_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_TIMES_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_DUNGEON_CFGS = protobuf.Descriptor(); -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RESOURCE_COMPUND_CFG = protobuf.Descriptor(); -RESOURCE_COMPUND_CFG_ID_FIELD = protobuf.FieldDescriptor(); -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -RESOURCE_COMPUND_CFGS = protobuf.Descriptor(); -RESOURCE_COMPUND_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ROUTE_MARK_CFG = protobuf.Descriptor(); -ROUTE_MARK_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ROUTE_MARK_CFG_MODEL_ID_FIELD = protobuf.FieldDescriptor(); -ROUTE_MARK_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -ROUTE_MARK_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -ROUTE_MARK_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -ROUTE_MARK_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -ROUTE_MARK_CFGS = protobuf.Descriptor(); -ROUTE_MARK_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -JUMP_CFG = protobuf.Descriptor(); -JUMP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -JUMP_CFG_WAY_POINTS_FIELD = protobuf.FieldDescriptor(); -JUMP_CFG_JUMP_ACTION_ID_FIELD = protobuf.FieldDescriptor(); -JUMP_CFGS = protobuf.Descriptor(); -JUMP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -JUMP_ACTION_CFG = protobuf.Descriptor(); -JUMP_ACTION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD = protobuf.FieldDescriptor(); -JUMP_ACTION_CFG_SPLITES_FIELD = protobuf.FieldDescriptor(); -JUMP_ACTION_CFG_DURATION_FIELD = protobuf.FieldDescriptor(); -JUMP_ACTION_CFGS = protobuf.Descriptor(); -JUMP_ACTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG = protobuf.Descriptor(); -MAGIC_ATT_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_RANGE_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_PROP_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_ATT_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_ATT_VALUE_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -MAGIC_ATT_CFGS = protobuf.Descriptor(); -MAGIC_ATT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG = protobuf.Descriptor(); -MAGIC_OSTIOLE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG_POS_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG_RANGE_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD = protobuf.FieldDescriptor(); -MAGIC_OSTIOLE_CFGS = protobuf.Descriptor(); -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG = protobuf.Descriptor(); -MAGIC_LEVELUP_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFG_RANGE_FIELD = protobuf.FieldDescriptor(); -MAGIC_LEVELUP_CFGS = protobuf.Descriptor(); -MAGIC_LEVELUP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG = protobuf.Descriptor(); -MAGIC_COMBINATION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFG_MG_NAME_FIELD = protobuf.FieldDescriptor(); -MAGIC_COMBINATION_CFGS = protobuf.Descriptor(); -MAGIC_COMBINATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG = protobuf.Descriptor(); -CONVOY_BIAOCHE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_CFGS = protobuf.Descriptor(); -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG = protobuf.Descriptor(); -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD = protobuf.FieldDescriptor(); -CONVOY_BIAOCHE_SCENE_CFGS = protobuf.Descriptor(); -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG = protobuf.Descriptor(); -ACTIVITY_INFO_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_START_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_END_TIME_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_TIMES_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_INFO_CFGS = protobuf.Descriptor(); -ACTIVITY_INFO_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_ROOMS_CFG = protobuf.Descriptor(); -ACTIVITY_ROOMS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD = protobuf.FieldDescriptor(); -ACTIVITY_ROOMS_CFGS = protobuf.Descriptor(); -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG = protobuf.Descriptor(); -GROW_POINT_CFG_ID_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_MODULE_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_POS_X_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_POS_Y_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_POS_Z_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_MAX_COUNT_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_SHOW_COUNT_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_QUALITY_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFG_SKILL_INDEX_FIELD = protobuf.FieldDescriptor(); -GROW_POINT_CFGS = protobuf.Descriptor(); -GROW_POINT_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -ERRORCODE_NOTIFY_CFG = protobuf.Descriptor(); -ERRORCODE_NOTIFY_CFG_ID_FIELD = protobuf.FieldDescriptor(); -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD = protobuf.FieldDescriptor(); -ERRORCODE_NOTIFY_CFGS = protobuf.Descriptor(); -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG = protobuf.Descriptor(); -OPEN_RULES_DATA_CFG_ID_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG_END_HOUR_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFG_END_MIN_FIELD = protobuf.FieldDescriptor(); -OPEN_RULES_DATA_CFGS = protobuf.Descriptor(); -OPEN_RULES_DATA_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFG = protobuf.Descriptor(); -CAMPBOSS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFG_NEED_LEVEL_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFG_SCENE_ID_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFG_MAP_ID_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFG_X_POINT_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFG_Y_POINT_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFG_Z_POINT_FIELD = protobuf.FieldDescriptor(); -CAMPBOSS_CFGS = protobuf.Descriptor(); -CAMPBOSS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -TIPS_CFG = protobuf.Descriptor(); -TIPS_CFG_ID_FIELD = protobuf.FieldDescriptor(); -TIPS_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -TIPS_CFG_CONTENT_FIELD = protobuf.FieldDescriptor(); -TIPS_CFGS = protobuf.Descriptor(); -TIPS_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG = protobuf.Descriptor(); -CAMP_RELATION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_SCRIP_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE0_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE1_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE2_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE3_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE4_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE5_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE6_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE7_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE8_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE9_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE10_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE11_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE12_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE13_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE14_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFG_TYPE15_FIELD = protobuf.FieldDescriptor(); -CAMP_RELATION_CFGS = protobuf.Descriptor(); -CAMP_RELATION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -CAMP_CHANGE_COST_CFG = protobuf.Descriptor(); -CAMP_CHANGE_COST_CFG_ID_FIELD = protobuf.FieldDescriptor(); -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD = protobuf.FieldDescriptor(); -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD = protobuf.FieldDescriptor(); -CAMP_CHANGE_COST_CFGS = protobuf.Descriptor(); -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RANDOMMAN_CFG = protobuf.Descriptor(); -RANDOMMAN_CFG_NAME0_FIELD = protobuf.FieldDescriptor(); -RANDOMMAN_CFG_NAME1_FIELD = protobuf.FieldDescriptor(); -RANDOMMAN_CFGS = protobuf.Descriptor(); -RANDOMMAN_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -RANDOMWOMAN_CFG = protobuf.Descriptor(); -RANDOMWOMAN_CFG_NAME0_FIELD = protobuf.FieldDescriptor(); -RANDOMWOMAN_CFG_NAME1_FIELD = protobuf.FieldDescriptor(); -RANDOMWOMAN_CFGS = protobuf.Descriptor(); -RANDOMWOMAN_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG = protobuf.Descriptor(); -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_ATTACK_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_MAXHP_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_HITRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_MAUD_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_MIND_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD = protobuf.FieldDescriptor(); -SOUL_BASE_ATTR_CFGS = protobuf.Descriptor(); -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ATTR_CFG = protobuf.Descriptor(); -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ATTR_CFGS = protobuf.Descriptor(); -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG = protobuf.Descriptor(); -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUITID_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD = protobuf.FieldDescriptor(); -SOUL_SUIT_ATTR_CFGS = protobuf.Descriptor(); -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG = protobuf.Descriptor(); -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD = protobuf.FieldDescriptor(); -SOUL_LEVEL_UP_CFGS = protobuf.Descriptor(); -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG = protobuf.Descriptor(); -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -SOUL_MAGIC_ROCK_CFGS = protobuf.Descriptor(); -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFG = protobuf.Descriptor(); -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFG_COUNT_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFG_ICON_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFG_DESC_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFG_POSITION_FIELD = protobuf.FieldDescriptor(); -SOUL_REFINE_ROCK_CFGS = protobuf.Descriptor(); -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -WIZARD_TASK_CFG = protobuf.Descriptor(); -WIZARD_TASK_CFG_LEVEL_ID_FIELD = protobuf.FieldDescriptor(); -WIZARD_TASK_CFG_LEVEL_MIN_FIELD = protobuf.FieldDescriptor(); -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -WIZARD_TASK_CFGS = protobuf.Descriptor(); -WIZARD_TASK_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -WIZARD_LEVEL_CFG = protobuf.Descriptor(); -WIZARD_LEVEL_CFG_ID_FIELD = protobuf.FieldDescriptor(); -WIZARD_LEVEL_CFG_LEGENDARY_FIELD = protobuf.FieldDescriptor(); -WIZARD_LEVEL_CFG_ICON_ID_FIELD = protobuf.FieldDescriptor(); -WIZARD_LEVEL_CFG_NAME_FIELD = protobuf.FieldDescriptor(); -WIZARD_LEVEL_CFG_REWARD_ID_FIELD = protobuf.FieldDescriptor(); -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD = protobuf.FieldDescriptor(); -WIZARD_LEVEL_CFGS = protobuf.Descriptor(); -WIZARD_LEVEL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -WIZARD_BASE_CFG = protobuf.Descriptor(); -WIZARD_BASE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -WIZARD_BASE_CFG_DATA_FIELD = protobuf.FieldDescriptor(); -WIZARD_BASE_CFGS = protobuf.Descriptor(); -WIZARD_BASE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFG = protobuf.Descriptor(); -MAGIC_DIVINE_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFG_PROP_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFG_PROP_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFG_TIMES_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFG_SECTION_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_DIVINE_CFGS = protobuf.Descriptor(); -MAGIC_DIVINE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG = protobuf.Descriptor(); -DIVINE_SECTION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG_GROUP_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG_GROUP_NAME_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG_SECTION_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG_SECTION_NAME_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG_SECTION_DESC_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG_MISSION_ID_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFG_PARTNER_ID_FIELD = protobuf.FieldDescriptor(); -DIVINE_SECTION_CFGS = protobuf.Descriptor(); -DIVINE_SECTION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -DIVINE_MISSION_CFG = protobuf.Descriptor(); -DIVINE_MISSION_CFG_ID_FIELD = protobuf.FieldDescriptor(); -DIVINE_MISSION_CFG_MISSION_ID_FIELD = protobuf.FieldDescriptor(); -DIVINE_MISSION_CFG_RANGE_FIELD = protobuf.FieldDescriptor(); -DIVINE_MISSION_CFG_QUALITY_FIELD = protobuf.FieldDescriptor(); -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD = protobuf.FieldDescriptor(); -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD = protobuf.FieldDescriptor(); -DIVINE_MISSION_CFGS = protobuf.Descriptor(); -DIVINE_MISSION_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG = protobuf.Descriptor(); -MAGIC_SKILL_CFG_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_LAYERID_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_SKILL_ICON_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_SKILL_NAME_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_CFGS = protobuf.Descriptor(); -MAGIC_SKILL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG = protobuf.Descriptor(); -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_UPLEVEL_CFGS = protobuf.Descriptor(); -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_LAYER_CFG = protobuf.Descriptor(); -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_SKILL_LAYER_CFGS = protobuf.Descriptor(); -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG = protobuf.Descriptor(); -MAGIC_POINT_REFINE_CFG_CONFID_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD = protobuf.FieldDescriptor(); -MAGIC_POINT_REFINE_CFGS = protobuf.Descriptor(); -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD = protobuf.FieldDescriptor(); - -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.name = "activity_level" -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.full_name = ".ftcfg.arena_data_cfg.activity_level" -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.number = 1 -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.index = 0 -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.label = 2 -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.has_default_value = false -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.default_value = 0 -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.type = 5 -ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD.cpp_type = 1 - -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.name = "activity_cycle" -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.full_name = ".ftcfg.arena_data_cfg.activity_cycle" -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.number = 2 -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.index = 1 -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.label = 2 -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.has_default_value = false -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.default_value = 0 -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.type = 5 -ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD.cpp_type = 1 - -ARENA_DATA_CFG_DURATION_FIELD.name = "duration" -ARENA_DATA_CFG_DURATION_FIELD.full_name = ".ftcfg.arena_data_cfg.duration" -ARENA_DATA_CFG_DURATION_FIELD.number = 3 -ARENA_DATA_CFG_DURATION_FIELD.index = 2 -ARENA_DATA_CFG_DURATION_FIELD.label = 2 -ARENA_DATA_CFG_DURATION_FIELD.has_default_value = false -ARENA_DATA_CFG_DURATION_FIELD.default_value = 0 -ARENA_DATA_CFG_DURATION_FIELD.type = 5 -ARENA_DATA_CFG_DURATION_FIELD.cpp_type = 1 - -ARENA_DATA_CFG_DAY_LIST_FIELD.name = "day_list" -ARENA_DATA_CFG_DAY_LIST_FIELD.full_name = ".ftcfg.arena_data_cfg.day_list" -ARENA_DATA_CFG_DAY_LIST_FIELD.number = 4 -ARENA_DATA_CFG_DAY_LIST_FIELD.index = 3 -ARENA_DATA_CFG_DAY_LIST_FIELD.label = 3 -ARENA_DATA_CFG_DAY_LIST_FIELD.has_default_value = false -ARENA_DATA_CFG_DAY_LIST_FIELD.default_value = {} -ARENA_DATA_CFG_DAY_LIST_FIELD.type = 2 -ARENA_DATA_CFG_DAY_LIST_FIELD.cpp_type = 6 - -ARENA_DATA_CFG_MAP_ID_FIELD.name = "map_id" -ARENA_DATA_CFG_MAP_ID_FIELD.full_name = ".ftcfg.arena_data_cfg.map_id" -ARENA_DATA_CFG_MAP_ID_FIELD.number = 5 -ARENA_DATA_CFG_MAP_ID_FIELD.index = 4 -ARENA_DATA_CFG_MAP_ID_FIELD.label = 2 -ARENA_DATA_CFG_MAP_ID_FIELD.has_default_value = false -ARENA_DATA_CFG_MAP_ID_FIELD.default_value = 0 -ARENA_DATA_CFG_MAP_ID_FIELD.type = 5 -ARENA_DATA_CFG_MAP_ID_FIELD.cpp_type = 1 - -ARENA_DATA_CFG_SPAN_TIME_FIELD.name = "span_time" -ARENA_DATA_CFG_SPAN_TIME_FIELD.full_name = ".ftcfg.arena_data_cfg.span_time" -ARENA_DATA_CFG_SPAN_TIME_FIELD.number = 6 -ARENA_DATA_CFG_SPAN_TIME_FIELD.index = 5 -ARENA_DATA_CFG_SPAN_TIME_FIELD.label = 2 -ARENA_DATA_CFG_SPAN_TIME_FIELD.has_default_value = false -ARENA_DATA_CFG_SPAN_TIME_FIELD.default_value = 0 -ARENA_DATA_CFG_SPAN_TIME_FIELD.type = 5 -ARENA_DATA_CFG_SPAN_TIME_FIELD.cpp_type = 1 - -ARENA_DATA_CFG_MIN_RATIO_FIELD.name = "min_ratio" -ARENA_DATA_CFG_MIN_RATIO_FIELD.full_name = ".ftcfg.arena_data_cfg.min_ratio" -ARENA_DATA_CFG_MIN_RATIO_FIELD.number = 7 -ARENA_DATA_CFG_MIN_RATIO_FIELD.index = 6 -ARENA_DATA_CFG_MIN_RATIO_FIELD.label = 2 -ARENA_DATA_CFG_MIN_RATIO_FIELD.has_default_value = false -ARENA_DATA_CFG_MIN_RATIO_FIELD.default_value = 0.0 -ARENA_DATA_CFG_MIN_RATIO_FIELD.type = 2 -ARENA_DATA_CFG_MIN_RATIO_FIELD.cpp_type = 6 - -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.name = "ratio_addition" -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.full_name = ".ftcfg.arena_data_cfg.ratio_addition" -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.number = 8 -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.index = 7 -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.label = 2 -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.has_default_value = false -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.default_value = 0.0 -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.type = 2 -ARENA_DATA_CFG_RATIO_ADDITION_FIELD.cpp_type = 6 - -ARENA_DATA_CFG_MAX_RATIO_FIELD.name = "max_ratio" -ARENA_DATA_CFG_MAX_RATIO_FIELD.full_name = ".ftcfg.arena_data_cfg.max_ratio" -ARENA_DATA_CFG_MAX_RATIO_FIELD.number = 9 -ARENA_DATA_CFG_MAX_RATIO_FIELD.index = 8 -ARENA_DATA_CFG_MAX_RATIO_FIELD.label = 2 -ARENA_DATA_CFG_MAX_RATIO_FIELD.has_default_value = false -ARENA_DATA_CFG_MAX_RATIO_FIELD.default_value = 0.0 -ARENA_DATA_CFG_MAX_RATIO_FIELD.type = 2 -ARENA_DATA_CFG_MAX_RATIO_FIELD.cpp_type = 6 - -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.name = "diff_teammate" -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.full_name = ".ftcfg.arena_data_cfg.diff_teammate" -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.number = 10 -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.index = 9 -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.label = 2 -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.has_default_value = false -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.default_value = 0.0 -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.type = 2 -ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD.cpp_type = 6 - -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.name = "diff_opponent" -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.full_name = ".ftcfg.arena_data_cfg.diff_opponent" -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.number = 11 -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.index = 10 -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.label = 2 -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.has_default_value = false -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.default_value = 0.0 -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.type = 2 -ARENA_DATA_CFG_DIFF_OPPONENT_FIELD.cpp_type = 6 - -ARENA_DATA_CFG.name = "arena_data_cfg" -ARENA_DATA_CFG.full_name = ".ftcfg.arena_data_cfg" -ARENA_DATA_CFG.nested_types = {} -ARENA_DATA_CFG.enum_types = {} -ARENA_DATA_CFG.fields = {ARENA_DATA_CFG_ACTIVITY_LEVEL_FIELD, ARENA_DATA_CFG_ACTIVITY_CYCLE_FIELD, ARENA_DATA_CFG_DURATION_FIELD, ARENA_DATA_CFG_DAY_LIST_FIELD, ARENA_DATA_CFG_MAP_ID_FIELD, ARENA_DATA_CFG_SPAN_TIME_FIELD, ARENA_DATA_CFG_MIN_RATIO_FIELD, ARENA_DATA_CFG_RATIO_ADDITION_FIELD, ARENA_DATA_CFG_MAX_RATIO_FIELD, ARENA_DATA_CFG_DIFF_TEAMMATE_FIELD, ARENA_DATA_CFG_DIFF_OPPONENT_FIELD} -ARENA_DATA_CFG.is_extendable = false -ARENA_DATA_CFG.extensions = {} -ARENA_DATA_CFGS_ITEMS_FIELD.name = "items" -ARENA_DATA_CFGS_ITEMS_FIELD.full_name = ".ftcfg.arena_data_cfgs.items" -ARENA_DATA_CFGS_ITEMS_FIELD.number = 1 -ARENA_DATA_CFGS_ITEMS_FIELD.index = 0 -ARENA_DATA_CFGS_ITEMS_FIELD.label = 3 -ARENA_DATA_CFGS_ITEMS_FIELD.has_default_value = false -ARENA_DATA_CFGS_ITEMS_FIELD.default_value = {} -ARENA_DATA_CFGS_ITEMS_FIELD.message_type = ARENA_DATA_CFG -ARENA_DATA_CFGS_ITEMS_FIELD.type = 11 -ARENA_DATA_CFGS_ITEMS_FIELD.cpp_type = 10 - -ARENA_DATA_CFGS.name = "arena_data_cfgs" -ARENA_DATA_CFGS.full_name = ".ftcfg.arena_data_cfgs" -ARENA_DATA_CFGS.nested_types = {} -ARENA_DATA_CFGS.enum_types = {} -ARENA_DATA_CFGS.fields = {ARENA_DATA_CFGS_ITEMS_FIELD} -ARENA_DATA_CFGS.is_extendable = false -ARENA_DATA_CFGS.extensions = {} -ARENA_REWARD_CFG_ID_FIELD.name = "id" -ARENA_REWARD_CFG_ID_FIELD.full_name = ".ftcfg.arena_reward_cfg.id" -ARENA_REWARD_CFG_ID_FIELD.number = 1 -ARENA_REWARD_CFG_ID_FIELD.index = 0 -ARENA_REWARD_CFG_ID_FIELD.label = 2 -ARENA_REWARD_CFG_ID_FIELD.has_default_value = false -ARENA_REWARD_CFG_ID_FIELD.default_value = 0 -ARENA_REWARD_CFG_ID_FIELD.type = 5 -ARENA_REWARD_CFG_ID_FIELD.cpp_type = 1 - -ARENA_REWARD_CFG_ITEM_ID_FIELD.name = "item_id" -ARENA_REWARD_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.arena_reward_cfg.item_id" -ARENA_REWARD_CFG_ITEM_ID_FIELD.number = 2 -ARENA_REWARD_CFG_ITEM_ID_FIELD.index = 1 -ARENA_REWARD_CFG_ITEM_ID_FIELD.label = 3 -ARENA_REWARD_CFG_ITEM_ID_FIELD.has_default_value = false -ARENA_REWARD_CFG_ITEM_ID_FIELD.default_value = {} -ARENA_REWARD_CFG_ITEM_ID_FIELD.type = 13 -ARENA_REWARD_CFG_ITEM_ID_FIELD.cpp_type = 3 - -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.name = "item_count" -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.full_name = ".ftcfg.arena_reward_cfg.item_count" -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.number = 3 -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.index = 2 -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.label = 3 -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.has_default_value = false -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.default_value = {} -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.type = 5 -ARENA_REWARD_CFG_ITEM_COUNT_FIELD.cpp_type = 1 - -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.name = "attribute_type" -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.full_name = ".ftcfg.arena_reward_cfg.attribute_type" -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.number = 4 -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.index = 3 -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.label = 3 -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.has_default_value = false -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.default_value = {} -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.type = 5 -ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD.cpp_type = 1 - -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.name = "attribute_count" -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.arena_reward_cfg.attribute_count" -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.number = 5 -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.index = 4 -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.label = 3 -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.has_default_value = false -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.default_value = {} -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.type = 5 -ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -ARENA_REWARD_CFG.name = "arena_reward_cfg" -ARENA_REWARD_CFG.full_name = ".ftcfg.arena_reward_cfg" -ARENA_REWARD_CFG.nested_types = {} -ARENA_REWARD_CFG.enum_types = {} -ARENA_REWARD_CFG.fields = {ARENA_REWARD_CFG_ID_FIELD, ARENA_REWARD_CFG_ITEM_ID_FIELD, ARENA_REWARD_CFG_ITEM_COUNT_FIELD, ARENA_REWARD_CFG_ATTRIBUTE_TYPE_FIELD, ARENA_REWARD_CFG_ATTRIBUTE_COUNT_FIELD} -ARENA_REWARD_CFG.is_extendable = false -ARENA_REWARD_CFG.extensions = {} -ARENA_REWARD_CFGS_ITEMS_FIELD.name = "items" -ARENA_REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.arena_reward_cfgs.items" -ARENA_REWARD_CFGS_ITEMS_FIELD.number = 1 -ARENA_REWARD_CFGS_ITEMS_FIELD.index = 0 -ARENA_REWARD_CFGS_ITEMS_FIELD.label = 3 -ARENA_REWARD_CFGS_ITEMS_FIELD.has_default_value = false -ARENA_REWARD_CFGS_ITEMS_FIELD.default_value = {} -ARENA_REWARD_CFGS_ITEMS_FIELD.message_type = ARENA_REWARD_CFG -ARENA_REWARD_CFGS_ITEMS_FIELD.type = 11 -ARENA_REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -ARENA_REWARD_CFGS.name = "arena_reward_cfgs" -ARENA_REWARD_CFGS.full_name = ".ftcfg.arena_reward_cfgs" -ARENA_REWARD_CFGS.nested_types = {} -ARENA_REWARD_CFGS.enum_types = {} -ARENA_REWARD_CFGS.fields = {ARENA_REWARD_CFGS_ITEMS_FIELD} -ARENA_REWARD_CFGS.is_extendable = false -ARENA_REWARD_CFGS.extensions = {} -BOSS_SHOWINFO_CFG_ID_FIELD.name = "id" -BOSS_SHOWINFO_CFG_ID_FIELD.full_name = ".ftcfg.boss_showinfo_cfg.id" -BOSS_SHOWINFO_CFG_ID_FIELD.number = 1 -BOSS_SHOWINFO_CFG_ID_FIELD.index = 0 -BOSS_SHOWINFO_CFG_ID_FIELD.label = 2 -BOSS_SHOWINFO_CFG_ID_FIELD.has_default_value = false -BOSS_SHOWINFO_CFG_ID_FIELD.default_value = 0 -BOSS_SHOWINFO_CFG_ID_FIELD.type = 5 -BOSS_SHOWINFO_CFG_ID_FIELD.cpp_type = 1 - -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.name = "show_equ" -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.full_name = ".ftcfg.boss_showinfo_cfg.show_equ" -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.number = 2 -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.index = 1 -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.label = 3 -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.has_default_value = false -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.default_value = {} -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.type = 9 -BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD.cpp_type = 9 - -BOSS_SHOWINFO_CFG.name = "boss_showinfo_cfg" -BOSS_SHOWINFO_CFG.full_name = ".ftcfg.boss_showinfo_cfg" -BOSS_SHOWINFO_CFG.nested_types = {} -BOSS_SHOWINFO_CFG.enum_types = {} -BOSS_SHOWINFO_CFG.fields = {BOSS_SHOWINFO_CFG_ID_FIELD, BOSS_SHOWINFO_CFG_SHOW_EQU_FIELD} -BOSS_SHOWINFO_CFG.is_extendable = false -BOSS_SHOWINFO_CFG.extensions = {} -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.name = "items" -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.full_name = ".ftcfg.boss_showinfo_cfgs.items" -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.number = 1 -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.index = 0 -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.label = 3 -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.has_default_value = false -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.default_value = {} -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.message_type = BOSS_SHOWINFO_CFG -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.type = 11 -BOSS_SHOWINFO_CFGS_ITEMS_FIELD.cpp_type = 10 - -BOSS_SHOWINFO_CFGS.name = "boss_showinfo_cfgs" -BOSS_SHOWINFO_CFGS.full_name = ".ftcfg.boss_showinfo_cfgs" -BOSS_SHOWINFO_CFGS.nested_types = {} -BOSS_SHOWINFO_CFGS.enum_types = {} -BOSS_SHOWINFO_CFGS.fields = {BOSS_SHOWINFO_CFGS_ITEMS_FIELD} -BOSS_SHOWINFO_CFGS.is_extendable = false -BOSS_SHOWINFO_CFGS.extensions = {} -BOSS_SHOW_UI_CFG_ID_FIELD.name = "id" -BOSS_SHOW_UI_CFG_ID_FIELD.full_name = ".ftcfg.boss_show_ui_cfg.id" -BOSS_SHOW_UI_CFG_ID_FIELD.number = 1 -BOSS_SHOW_UI_CFG_ID_FIELD.index = 0 -BOSS_SHOW_UI_CFG_ID_FIELD.label = 2 -BOSS_SHOW_UI_CFG_ID_FIELD.has_default_value = false -BOSS_SHOW_UI_CFG_ID_FIELD.default_value = 0 -BOSS_SHOW_UI_CFG_ID_FIELD.type = 5 -BOSS_SHOW_UI_CFG_ID_FIELD.cpp_type = 1 - -BOSS_SHOW_UI_CFG_NAME_FIELD.name = "name" -BOSS_SHOW_UI_CFG_NAME_FIELD.full_name = ".ftcfg.boss_show_ui_cfg.name" -BOSS_SHOW_UI_CFG_NAME_FIELD.number = 2 -BOSS_SHOW_UI_CFG_NAME_FIELD.index = 1 -BOSS_SHOW_UI_CFG_NAME_FIELD.label = 2 -BOSS_SHOW_UI_CFG_NAME_FIELD.has_default_value = false -BOSS_SHOW_UI_CFG_NAME_FIELD.default_value = 0 -BOSS_SHOW_UI_CFG_NAME_FIELD.type = 5 -BOSS_SHOW_UI_CFG_NAME_FIELD.cpp_type = 1 - -BOSS_SHOW_UI_CFG_LEVEL_FIELD.name = "level" -BOSS_SHOW_UI_CFG_LEVEL_FIELD.full_name = ".ftcfg.boss_show_ui_cfg.level" -BOSS_SHOW_UI_CFG_LEVEL_FIELD.number = 3 -BOSS_SHOW_UI_CFG_LEVEL_FIELD.index = 2 -BOSS_SHOW_UI_CFG_LEVEL_FIELD.label = 2 -BOSS_SHOW_UI_CFG_LEVEL_FIELD.has_default_value = false -BOSS_SHOW_UI_CFG_LEVEL_FIELD.default_value = 0 -BOSS_SHOW_UI_CFG_LEVEL_FIELD.type = 5 -BOSS_SHOW_UI_CFG_LEVEL_FIELD.cpp_type = 1 - -BOSS_SHOW_UI_CFG_DESC_FIELD.name = "desc" -BOSS_SHOW_UI_CFG_DESC_FIELD.full_name = ".ftcfg.boss_show_ui_cfg.desc" -BOSS_SHOW_UI_CFG_DESC_FIELD.number = 4 -BOSS_SHOW_UI_CFG_DESC_FIELD.index = 3 -BOSS_SHOW_UI_CFG_DESC_FIELD.label = 2 -BOSS_SHOW_UI_CFG_DESC_FIELD.has_default_value = false -BOSS_SHOW_UI_CFG_DESC_FIELD.default_value = 0 -BOSS_SHOW_UI_CFG_DESC_FIELD.type = 5 -BOSS_SHOW_UI_CFG_DESC_FIELD.cpp_type = 1 - -BOSS_SHOW_UI_CFG_PAINT_FIELD.name = "paint" -BOSS_SHOW_UI_CFG_PAINT_FIELD.full_name = ".ftcfg.boss_show_ui_cfg.paint" -BOSS_SHOW_UI_CFG_PAINT_FIELD.number = 5 -BOSS_SHOW_UI_CFG_PAINT_FIELD.index = 4 -BOSS_SHOW_UI_CFG_PAINT_FIELD.label = 2 -BOSS_SHOW_UI_CFG_PAINT_FIELD.has_default_value = false -BOSS_SHOW_UI_CFG_PAINT_FIELD.default_value = 0 -BOSS_SHOW_UI_CFG_PAINT_FIELD.type = 5 -BOSS_SHOW_UI_CFG_PAINT_FIELD.cpp_type = 1 - -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.name = "close_timer" -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.full_name = ".ftcfg.boss_show_ui_cfg.close_timer" -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.number = 6 -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.index = 5 -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.label = 2 -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.has_default_value = false -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.default_value = 0 -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.type = 5 -BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD.cpp_type = 1 - -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.name = "cam_motion" -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.full_name = ".ftcfg.boss_show_ui_cfg.cam_motion" -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.number = 7 -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.index = 6 -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.label = 2 -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.has_default_value = false -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.default_value = 0 -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.type = 5 -BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD.cpp_type = 1 - -BOSS_SHOW_UI_CFG.name = "boss_show_ui_cfg" -BOSS_SHOW_UI_CFG.full_name = ".ftcfg.boss_show_ui_cfg" -BOSS_SHOW_UI_CFG.nested_types = {} -BOSS_SHOW_UI_CFG.enum_types = {} -BOSS_SHOW_UI_CFG.fields = {BOSS_SHOW_UI_CFG_ID_FIELD, BOSS_SHOW_UI_CFG_NAME_FIELD, BOSS_SHOW_UI_CFG_LEVEL_FIELD, BOSS_SHOW_UI_CFG_DESC_FIELD, BOSS_SHOW_UI_CFG_PAINT_FIELD, BOSS_SHOW_UI_CFG_CLOSE_TIMER_FIELD, BOSS_SHOW_UI_CFG_CAM_MOTION_FIELD} -BOSS_SHOW_UI_CFG.is_extendable = false -BOSS_SHOW_UI_CFG.extensions = {} -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.name = "items" -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.full_name = ".ftcfg.boss_show_ui_cfgs.items" -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.number = 1 -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.index = 0 -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.label = 3 -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.has_default_value = false -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.default_value = {} -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.message_type = BOSS_SHOW_UI_CFG -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.type = 11 -BOSS_SHOW_UI_CFGS_ITEMS_FIELD.cpp_type = 10 - -BOSS_SHOW_UI_CFGS.name = "boss_show_ui_cfgs" -BOSS_SHOW_UI_CFGS.full_name = ".ftcfg.boss_show_ui_cfgs" -BOSS_SHOW_UI_CFGS.nested_types = {} -BOSS_SHOW_UI_CFGS.enum_types = {} -BOSS_SHOW_UI_CFGS.fields = {BOSS_SHOW_UI_CFGS_ITEMS_FIELD} -BOSS_SHOW_UI_CFGS.is_extendable = false -BOSS_SHOW_UI_CFGS.extensions = {} -BOSS_SHOW_CAM_CFG_ID_FIELD.name = "id" -BOSS_SHOW_CAM_CFG_ID_FIELD.full_name = ".ftcfg.boss_show_cam_cfg.id" -BOSS_SHOW_CAM_CFG_ID_FIELD.number = 1 -BOSS_SHOW_CAM_CFG_ID_FIELD.index = 0 -BOSS_SHOW_CAM_CFG_ID_FIELD.label = 2 -BOSS_SHOW_CAM_CFG_ID_FIELD.has_default_value = false -BOSS_SHOW_CAM_CFG_ID_FIELD.default_value = 0 -BOSS_SHOW_CAM_CFG_ID_FIELD.type = 5 -BOSS_SHOW_CAM_CFG_ID_FIELD.cpp_type = 1 - -BOSS_SHOW_CAM_CFG_POS_FIELD.name = "pos" -BOSS_SHOW_CAM_CFG_POS_FIELD.full_name = ".ftcfg.boss_show_cam_cfg.pos" -BOSS_SHOW_CAM_CFG_POS_FIELD.number = 2 -BOSS_SHOW_CAM_CFG_POS_FIELD.index = 1 -BOSS_SHOW_CAM_CFG_POS_FIELD.label = 3 -BOSS_SHOW_CAM_CFG_POS_FIELD.has_default_value = false -BOSS_SHOW_CAM_CFG_POS_FIELD.default_value = {} -BOSS_SHOW_CAM_CFG_POS_FIELD.type = 2 -BOSS_SHOW_CAM_CFG_POS_FIELD.cpp_type = 6 - -BOSS_SHOW_CAM_CFG_DURATION_FIELD.name = "duration" -BOSS_SHOW_CAM_CFG_DURATION_FIELD.full_name = ".ftcfg.boss_show_cam_cfg.duration" -BOSS_SHOW_CAM_CFG_DURATION_FIELD.number = 3 -BOSS_SHOW_CAM_CFG_DURATION_FIELD.index = 2 -BOSS_SHOW_CAM_CFG_DURATION_FIELD.label = 2 -BOSS_SHOW_CAM_CFG_DURATION_FIELD.has_default_value = false -BOSS_SHOW_CAM_CFG_DURATION_FIELD.default_value = 0.0 -BOSS_SHOW_CAM_CFG_DURATION_FIELD.type = 2 -BOSS_SHOW_CAM_CFG_DURATION_FIELD.cpp_type = 6 - -BOSS_SHOW_CAM_CFG_ROLL_FIELD.name = "roll" -BOSS_SHOW_CAM_CFG_ROLL_FIELD.full_name = ".ftcfg.boss_show_cam_cfg.roll" -BOSS_SHOW_CAM_CFG_ROLL_FIELD.number = 4 -BOSS_SHOW_CAM_CFG_ROLL_FIELD.index = 3 -BOSS_SHOW_CAM_CFG_ROLL_FIELD.label = 2 -BOSS_SHOW_CAM_CFG_ROLL_FIELD.has_default_value = false -BOSS_SHOW_CAM_CFG_ROLL_FIELD.default_value = 0.0 -BOSS_SHOW_CAM_CFG_ROLL_FIELD.type = 2 -BOSS_SHOW_CAM_CFG_ROLL_FIELD.cpp_type = 6 - -BOSS_SHOW_CAM_CFG.name = "boss_show_cam_cfg" -BOSS_SHOW_CAM_CFG.full_name = ".ftcfg.boss_show_cam_cfg" -BOSS_SHOW_CAM_CFG.nested_types = {} -BOSS_SHOW_CAM_CFG.enum_types = {} -BOSS_SHOW_CAM_CFG.fields = {BOSS_SHOW_CAM_CFG_ID_FIELD, BOSS_SHOW_CAM_CFG_POS_FIELD, BOSS_SHOW_CAM_CFG_DURATION_FIELD, BOSS_SHOW_CAM_CFG_ROLL_FIELD} -BOSS_SHOW_CAM_CFG.is_extendable = false -BOSS_SHOW_CAM_CFG.extensions = {} -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.name = "items" -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.full_name = ".ftcfg.boss_show_cam_cfgs.items" -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.number = 1 -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.index = 0 -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.label = 3 -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.has_default_value = false -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.default_value = {} -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.message_type = BOSS_SHOW_CAM_CFG -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.type = 11 -BOSS_SHOW_CAM_CFGS_ITEMS_FIELD.cpp_type = 10 - -BOSS_SHOW_CAM_CFGS.name = "boss_show_cam_cfgs" -BOSS_SHOW_CAM_CFGS.full_name = ".ftcfg.boss_show_cam_cfgs" -BOSS_SHOW_CAM_CFGS.nested_types = {} -BOSS_SHOW_CAM_CFGS.enum_types = {} -BOSS_SHOW_CAM_CFGS.fields = {BOSS_SHOW_CAM_CFGS_ITEMS_FIELD} -BOSS_SHOW_CAM_CFGS.is_extendable = false -BOSS_SHOW_CAM_CFGS.extensions = {} -BUFF_CFG_ID_FIELD.name = "id" -BUFF_CFG_ID_FIELD.full_name = ".ftcfg.buff_cfg.id" -BUFF_CFG_ID_FIELD.number = 1 -BUFF_CFG_ID_FIELD.index = 0 -BUFF_CFG_ID_FIELD.label = 2 -BUFF_CFG_ID_FIELD.has_default_value = false -BUFF_CFG_ID_FIELD.default_value = 0 -BUFF_CFG_ID_FIELD.type = 5 -BUFF_CFG_ID_FIELD.cpp_type = 1 - -BUFF_CFG_NAME_TIPS_FIELD.name = "name_tips" -BUFF_CFG_NAME_TIPS_FIELD.full_name = ".ftcfg.buff_cfg.name_tips" -BUFF_CFG_NAME_TIPS_FIELD.number = 2 -BUFF_CFG_NAME_TIPS_FIELD.index = 1 -BUFF_CFG_NAME_TIPS_FIELD.label = 2 -BUFF_CFG_NAME_TIPS_FIELD.has_default_value = false -BUFF_CFG_NAME_TIPS_FIELD.default_value = "" -BUFF_CFG_NAME_TIPS_FIELD.type = 9 -BUFF_CFG_NAME_TIPS_FIELD.cpp_type = 9 - -BUFF_CFG_DESC_TIPS_FIELD.name = "desc_tips" -BUFF_CFG_DESC_TIPS_FIELD.full_name = ".ftcfg.buff_cfg.desc_tips" -BUFF_CFG_DESC_TIPS_FIELD.number = 3 -BUFF_CFG_DESC_TIPS_FIELD.index = 2 -BUFF_CFG_DESC_TIPS_FIELD.label = 2 -BUFF_CFG_DESC_TIPS_FIELD.has_default_value = false -BUFF_CFG_DESC_TIPS_FIELD.default_value = "" -BUFF_CFG_DESC_TIPS_FIELD.type = 9 -BUFF_CFG_DESC_TIPS_FIELD.cpp_type = 9 - -BUFF_CFG_NAME_FIELD.name = "name" -BUFF_CFG_NAME_FIELD.full_name = ".ftcfg.buff_cfg.name" -BUFF_CFG_NAME_FIELD.number = 4 -BUFF_CFG_NAME_FIELD.index = 3 -BUFF_CFG_NAME_FIELD.label = 2 -BUFF_CFG_NAME_FIELD.has_default_value = false -BUFF_CFG_NAME_FIELD.default_value = 0 -BUFF_CFG_NAME_FIELD.type = 5 -BUFF_CFG_NAME_FIELD.cpp_type = 1 - -BUFF_CFG_DESC_FIELD.name = "desc" -BUFF_CFG_DESC_FIELD.full_name = ".ftcfg.buff_cfg.desc" -BUFF_CFG_DESC_FIELD.number = 5 -BUFF_CFG_DESC_FIELD.index = 4 -BUFF_CFG_DESC_FIELD.label = 2 -BUFF_CFG_DESC_FIELD.has_default_value = false -BUFF_CFG_DESC_FIELD.default_value = 0 -BUFF_CFG_DESC_FIELD.type = 5 -BUFF_CFG_DESC_FIELD.cpp_type = 1 - -BUFF_CFG_ICON_FIELD.name = "icon" -BUFF_CFG_ICON_FIELD.full_name = ".ftcfg.buff_cfg.icon" -BUFF_CFG_ICON_FIELD.number = 6 -BUFF_CFG_ICON_FIELD.index = 5 -BUFF_CFG_ICON_FIELD.label = 2 -BUFF_CFG_ICON_FIELD.has_default_value = false -BUFF_CFG_ICON_FIELD.default_value = 0 -BUFF_CFG_ICON_FIELD.type = 5 -BUFF_CFG_ICON_FIELD.cpp_type = 1 - -BUFF_CFG_VISUABLE_FIELD.name = "visuable" -BUFF_CFG_VISUABLE_FIELD.full_name = ".ftcfg.buff_cfg.visuable" -BUFF_CFG_VISUABLE_FIELD.number = 7 -BUFF_CFG_VISUABLE_FIELD.index = 6 -BUFF_CFG_VISUABLE_FIELD.label = 2 -BUFF_CFG_VISUABLE_FIELD.has_default_value = false -BUFF_CFG_VISUABLE_FIELD.default_value = false -BUFF_CFG_VISUABLE_FIELD.type = 8 -BUFF_CFG_VISUABLE_FIELD.cpp_type = 7 - -BUFF_CFG_COUNTDOWN_TYPE_FIELD.name = "countdown_type" -BUFF_CFG_COUNTDOWN_TYPE_FIELD.full_name = ".ftcfg.buff_cfg.countdown_type" -BUFF_CFG_COUNTDOWN_TYPE_FIELD.number = 8 -BUFF_CFG_COUNTDOWN_TYPE_FIELD.index = 7 -BUFF_CFG_COUNTDOWN_TYPE_FIELD.label = 2 -BUFF_CFG_COUNTDOWN_TYPE_FIELD.has_default_value = false -BUFF_CFG_COUNTDOWN_TYPE_FIELD.default_value = 0 -BUFF_CFG_COUNTDOWN_TYPE_FIELD.type = 5 -BUFF_CFG_COUNTDOWN_TYPE_FIELD.cpp_type = 1 - -BUFF_CFG_BUFF_TYPE_FIELD.name = "buff_type" -BUFF_CFG_BUFF_TYPE_FIELD.full_name = ".ftcfg.buff_cfg.buff_type" -BUFF_CFG_BUFF_TYPE_FIELD.number = 9 -BUFF_CFG_BUFF_TYPE_FIELD.index = 8 -BUFF_CFG_BUFF_TYPE_FIELD.label = 2 -BUFF_CFG_BUFF_TYPE_FIELD.has_default_value = false -BUFF_CFG_BUFF_TYPE_FIELD.default_value = 0 -BUFF_CFG_BUFF_TYPE_FIELD.type = 5 -BUFF_CFG_BUFF_TYPE_FIELD.cpp_type = 1 - -BUFF_CFG_EXIST_TIME_FIELD.name = "exist_time" -BUFF_CFG_EXIST_TIME_FIELD.full_name = ".ftcfg.buff_cfg.exist_time" -BUFF_CFG_EXIST_TIME_FIELD.number = 10 -BUFF_CFG_EXIST_TIME_FIELD.index = 9 -BUFF_CFG_EXIST_TIME_FIELD.label = 2 -BUFF_CFG_EXIST_TIME_FIELD.has_default_value = false -BUFF_CFG_EXIST_TIME_FIELD.default_value = 0 -BUFF_CFG_EXIST_TIME_FIELD.type = 5 -BUFF_CFG_EXIST_TIME_FIELD.cpp_type = 1 - -BUFF_CFG_ATK_LV_FIELD.name = "atk_lv" -BUFF_CFG_ATK_LV_FIELD.full_name = ".ftcfg.buff_cfg.atk_lv" -BUFF_CFG_ATK_LV_FIELD.number = 11 -BUFF_CFG_ATK_LV_FIELD.index = 10 -BUFF_CFG_ATK_LV_FIELD.label = 2 -BUFF_CFG_ATK_LV_FIELD.has_default_value = false -BUFF_CFG_ATK_LV_FIELD.default_value = 0 -BUFF_CFG_ATK_LV_FIELD.type = 5 -BUFF_CFG_ATK_LV_FIELD.cpp_type = 1 - -BUFF_CFG_AM_BEATEN_FIELD.name = "am_beaten" -BUFF_CFG_AM_BEATEN_FIELD.full_name = ".ftcfg.buff_cfg.am_beaten" -BUFF_CFG_AM_BEATEN_FIELD.number = 12 -BUFF_CFG_AM_BEATEN_FIELD.index = 11 -BUFF_CFG_AM_BEATEN_FIELD.label = 2 -BUFF_CFG_AM_BEATEN_FIELD.has_default_value = false -BUFF_CFG_AM_BEATEN_FIELD.default_value = "" -BUFF_CFG_AM_BEATEN_FIELD.type = 9 -BUFF_CFG_AM_BEATEN_FIELD.cpp_type = 9 - -BUFF_CFG_AM_BEATEN_EFF_FIELD.name = "am_beaten_eff" -BUFF_CFG_AM_BEATEN_EFF_FIELD.full_name = ".ftcfg.buff_cfg.am_beaten_eff" -BUFF_CFG_AM_BEATEN_EFF_FIELD.number = 13 -BUFF_CFG_AM_BEATEN_EFF_FIELD.index = 12 -BUFF_CFG_AM_BEATEN_EFF_FIELD.label = 2 -BUFF_CFG_AM_BEATEN_EFF_FIELD.has_default_value = false -BUFF_CFG_AM_BEATEN_EFF_FIELD.default_value = "" -BUFF_CFG_AM_BEATEN_EFF_FIELD.type = 9 -BUFF_CFG_AM_BEATEN_EFF_FIELD.cpp_type = 9 - -BUFF_CFG_BEATEN_TIME_FIELD.name = "beaten_time" -BUFF_CFG_BEATEN_TIME_FIELD.full_name = ".ftcfg.buff_cfg.beaten_time" -BUFF_CFG_BEATEN_TIME_FIELD.number = 14 -BUFF_CFG_BEATEN_TIME_FIELD.index = 13 -BUFF_CFG_BEATEN_TIME_FIELD.label = 2 -BUFF_CFG_BEATEN_TIME_FIELD.has_default_value = false -BUFF_CFG_BEATEN_TIME_FIELD.default_value = 0 -BUFF_CFG_BEATEN_TIME_FIELD.type = 5 -BUFF_CFG_BEATEN_TIME_FIELD.cpp_type = 1 - -BUFF_CFG_BEAT_BACK_TYPE_FIELD.name = "beat_back_type" -BUFF_CFG_BEAT_BACK_TYPE_FIELD.full_name = ".ftcfg.buff_cfg.beat_back_type" -BUFF_CFG_BEAT_BACK_TYPE_FIELD.number = 15 -BUFF_CFG_BEAT_BACK_TYPE_FIELD.index = 14 -BUFF_CFG_BEAT_BACK_TYPE_FIELD.label = 2 -BUFF_CFG_BEAT_BACK_TYPE_FIELD.has_default_value = false -BUFF_CFG_BEAT_BACK_TYPE_FIELD.default_value = 0 -BUFF_CFG_BEAT_BACK_TYPE_FIELD.type = 5 -BUFF_CFG_BEAT_BACK_TYPE_FIELD.cpp_type = 1 - -BUFF_CFG_BEAT_DIS_FIELD.name = "beat_dis" -BUFF_CFG_BEAT_DIS_FIELD.full_name = ".ftcfg.buff_cfg.beat_dis" -BUFF_CFG_BEAT_DIS_FIELD.number = 16 -BUFF_CFG_BEAT_DIS_FIELD.index = 15 -BUFF_CFG_BEAT_DIS_FIELD.label = 2 -BUFF_CFG_BEAT_DIS_FIELD.has_default_value = false -BUFF_CFG_BEAT_DIS_FIELD.default_value = 0.0 -BUFF_CFG_BEAT_DIS_FIELD.type = 2 -BUFF_CFG_BEAT_DIS_FIELD.cpp_type = 6 - -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.name = "beat_back_move_time" -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.full_name = ".ftcfg.buff_cfg.beat_back_move_time" -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.number = 17 -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.index = 16 -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.label = 2 -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.has_default_value = false -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.default_value = 0 -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.type = 5 -BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD.cpp_type = 1 - -BUFF_CFG_AM_DEAD_FIELD.name = "am_dead" -BUFF_CFG_AM_DEAD_FIELD.full_name = ".ftcfg.buff_cfg.am_dead" -BUFF_CFG_AM_DEAD_FIELD.number = 18 -BUFF_CFG_AM_DEAD_FIELD.index = 17 -BUFF_CFG_AM_DEAD_FIELD.label = 2 -BUFF_CFG_AM_DEAD_FIELD.has_default_value = false -BUFF_CFG_AM_DEAD_FIELD.default_value = 0 -BUFF_CFG_AM_DEAD_FIELD.type = 5 -BUFF_CFG_AM_DEAD_FIELD.cpp_type = 1 - -BUFF_CFG_DEAD_BACK_TYPE_FIELD.name = "dead_back_type" -BUFF_CFG_DEAD_BACK_TYPE_FIELD.full_name = ".ftcfg.buff_cfg.dead_back_type" -BUFF_CFG_DEAD_BACK_TYPE_FIELD.number = 19 -BUFF_CFG_DEAD_BACK_TYPE_FIELD.index = 18 -BUFF_CFG_DEAD_BACK_TYPE_FIELD.label = 2 -BUFF_CFG_DEAD_BACK_TYPE_FIELD.has_default_value = false -BUFF_CFG_DEAD_BACK_TYPE_FIELD.default_value = 0 -BUFF_CFG_DEAD_BACK_TYPE_FIELD.type = 5 -BUFF_CFG_DEAD_BACK_TYPE_FIELD.cpp_type = 1 - -BUFF_CFG_DEAD_DIS_FIELD.name = "dead_dis" -BUFF_CFG_DEAD_DIS_FIELD.full_name = ".ftcfg.buff_cfg.dead_dis" -BUFF_CFG_DEAD_DIS_FIELD.number = 20 -BUFF_CFG_DEAD_DIS_FIELD.index = 19 -BUFF_CFG_DEAD_DIS_FIELD.label = 2 -BUFF_CFG_DEAD_DIS_FIELD.has_default_value = false -BUFF_CFG_DEAD_DIS_FIELD.default_value = 0.0 -BUFF_CFG_DEAD_DIS_FIELD.type = 2 -BUFF_CFG_DEAD_DIS_FIELD.cpp_type = 6 - -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.name = "dead_back_move_time" -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.full_name = ".ftcfg.buff_cfg.dead_back_move_time" -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.number = 21 -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.index = 20 -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.label = 2 -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.has_default_value = false -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.default_value = 0 -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.type = 5 -BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD.cpp_type = 1 - -BUFF_CFG_CRIT_EFFECT_FIELD.name = "crit_effect" -BUFF_CFG_CRIT_EFFECT_FIELD.full_name = ".ftcfg.buff_cfg.crit_effect" -BUFF_CFG_CRIT_EFFECT_FIELD.number = 22 -BUFF_CFG_CRIT_EFFECT_FIELD.index = 21 -BUFF_CFG_CRIT_EFFECT_FIELD.label = 2 -BUFF_CFG_CRIT_EFFECT_FIELD.has_default_value = false -BUFF_CFG_CRIT_EFFECT_FIELD.default_value = 0 -BUFF_CFG_CRIT_EFFECT_FIELD.type = 5 -BUFF_CFG_CRIT_EFFECT_FIELD.cpp_type = 1 - -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.name = "dead_strike_effect" -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.full_name = ".ftcfg.buff_cfg.dead_strike_effect" -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.number = 23 -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.index = 22 -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.label = 2 -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.has_default_value = false -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.default_value = 0 -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.type = 5 -BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD.cpp_type = 1 - -BUFF_CFG_BUFF_WORD_FIELD.name = "buff_word" -BUFF_CFG_BUFF_WORD_FIELD.full_name = ".ftcfg.buff_cfg.buff_word" -BUFF_CFG_BUFF_WORD_FIELD.number = 24 -BUFF_CFG_BUFF_WORD_FIELD.index = 23 -BUFF_CFG_BUFF_WORD_FIELD.label = 2 -BUFF_CFG_BUFF_WORD_FIELD.has_default_value = false -BUFF_CFG_BUFF_WORD_FIELD.default_value = 0 -BUFF_CFG_BUFF_WORD_FIELD.type = 5 -BUFF_CFG_BUFF_WORD_FIELD.cpp_type = 1 - -BUFF_CFG_BUFF_IDLE_FIELD.name = "buff_idle" -BUFF_CFG_BUFF_IDLE_FIELD.full_name = ".ftcfg.buff_cfg.buff_idle" -BUFF_CFG_BUFF_IDLE_FIELD.number = 25 -BUFF_CFG_BUFF_IDLE_FIELD.index = 24 -BUFF_CFG_BUFF_IDLE_FIELD.label = 2 -BUFF_CFG_BUFF_IDLE_FIELD.has_default_value = false -BUFF_CFG_BUFF_IDLE_FIELD.default_value = "" -BUFF_CFG_BUFF_IDLE_FIELD.type = 9 -BUFF_CFG_BUFF_IDLE_FIELD.cpp_type = 9 - -BUFF_CFG_BUFF_RUN_FIELD.name = "buff_run" -BUFF_CFG_BUFF_RUN_FIELD.full_name = ".ftcfg.buff_cfg.buff_run" -BUFF_CFG_BUFF_RUN_FIELD.number = 26 -BUFF_CFG_BUFF_RUN_FIELD.index = 25 -BUFF_CFG_BUFF_RUN_FIELD.label = 2 -BUFF_CFG_BUFF_RUN_FIELD.has_default_value = false -BUFF_CFG_BUFF_RUN_FIELD.default_value = "" -BUFF_CFG_BUFF_RUN_FIELD.type = 9 -BUFF_CFG_BUFF_RUN_FIELD.cpp_type = 9 - -BUFF_CFG_BUFF_EFFECT_FIELD.name = "buff_effect" -BUFF_CFG_BUFF_EFFECT_FIELD.full_name = ".ftcfg.buff_cfg.buff_effect" -BUFF_CFG_BUFF_EFFECT_FIELD.number = 27 -BUFF_CFG_BUFF_EFFECT_FIELD.index = 26 -BUFF_CFG_BUFF_EFFECT_FIELD.label = 2 -BUFF_CFG_BUFF_EFFECT_FIELD.has_default_value = false -BUFF_CFG_BUFF_EFFECT_FIELD.default_value = "" -BUFF_CFG_BUFF_EFFECT_FIELD.type = 9 -BUFF_CFG_BUFF_EFFECT_FIELD.cpp_type = 9 - -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.name = "buff_trigger_effect" -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.full_name = ".ftcfg.buff_cfg.buff_trigger_effect" -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.number = 28 -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.index = 27 -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.label = 2 -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.has_default_value = false -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.default_value = "" -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.type = 9 -BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD.cpp_type = 9 - -BUFF_CFG.name = "buff_cfg" -BUFF_CFG.full_name = ".ftcfg.buff_cfg" -BUFF_CFG.nested_types = {} -BUFF_CFG.enum_types = {} -BUFF_CFG.fields = {BUFF_CFG_ID_FIELD, BUFF_CFG_NAME_TIPS_FIELD, BUFF_CFG_DESC_TIPS_FIELD, BUFF_CFG_NAME_FIELD, BUFF_CFG_DESC_FIELD, BUFF_CFG_ICON_FIELD, BUFF_CFG_VISUABLE_FIELD, BUFF_CFG_COUNTDOWN_TYPE_FIELD, BUFF_CFG_BUFF_TYPE_FIELD, BUFF_CFG_EXIST_TIME_FIELD, BUFF_CFG_ATK_LV_FIELD, BUFF_CFG_AM_BEATEN_FIELD, BUFF_CFG_AM_BEATEN_EFF_FIELD, BUFF_CFG_BEATEN_TIME_FIELD, BUFF_CFG_BEAT_BACK_TYPE_FIELD, BUFF_CFG_BEAT_DIS_FIELD, BUFF_CFG_BEAT_BACK_MOVE_TIME_FIELD, BUFF_CFG_AM_DEAD_FIELD, BUFF_CFG_DEAD_BACK_TYPE_FIELD, BUFF_CFG_DEAD_DIS_FIELD, BUFF_CFG_DEAD_BACK_MOVE_TIME_FIELD, BUFF_CFG_CRIT_EFFECT_FIELD, BUFF_CFG_DEAD_STRIKE_EFFECT_FIELD, BUFF_CFG_BUFF_WORD_FIELD, BUFF_CFG_BUFF_IDLE_FIELD, BUFF_CFG_BUFF_RUN_FIELD, BUFF_CFG_BUFF_EFFECT_FIELD, BUFF_CFG_BUFF_TRIGGER_EFFECT_FIELD} -BUFF_CFG.is_extendable = false -BUFF_CFG.extensions = {} -BUFF_CFGS_ITEMS_FIELD.name = "items" -BUFF_CFGS_ITEMS_FIELD.full_name = ".ftcfg.buff_cfgs.items" -BUFF_CFGS_ITEMS_FIELD.number = 1 -BUFF_CFGS_ITEMS_FIELD.index = 0 -BUFF_CFGS_ITEMS_FIELD.label = 3 -BUFF_CFGS_ITEMS_FIELD.has_default_value = false -BUFF_CFGS_ITEMS_FIELD.default_value = {} -BUFF_CFGS_ITEMS_FIELD.message_type = BUFF_CFG -BUFF_CFGS_ITEMS_FIELD.type = 11 -BUFF_CFGS_ITEMS_FIELD.cpp_type = 10 - -BUFF_CFGS.name = "buff_cfgs" -BUFF_CFGS.full_name = ".ftcfg.buff_cfgs" -BUFF_CFGS.nested_types = {} -BUFF_CFGS.enum_types = {} -BUFF_CFGS.fields = {BUFF_CFGS_ITEMS_FIELD} -BUFF_CFGS.is_extendable = false -BUFF_CFGS.extensions = {} -BUFF_EFFECT_CFG_ID_FIELD.name = "id" -BUFF_EFFECT_CFG_ID_FIELD.full_name = ".ftcfg.buff_effect_cfg.id" -BUFF_EFFECT_CFG_ID_FIELD.number = 1 -BUFF_EFFECT_CFG_ID_FIELD.index = 0 -BUFF_EFFECT_CFG_ID_FIELD.label = 2 -BUFF_EFFECT_CFG_ID_FIELD.has_default_value = false -BUFF_EFFECT_CFG_ID_FIELD.default_value = 0 -BUFF_EFFECT_CFG_ID_FIELD.type = 5 -BUFF_EFFECT_CFG_ID_FIELD.cpp_type = 1 - -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.name = "formula_id" -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.full_name = ".ftcfg.buff_effect_cfg.formula_id" -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.number = 2 -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.index = 1 -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.label = 2 -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.has_default_value = false -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.default_value = nil -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.enum_type = config_predefine_pb.EEFFECTFORMULATYPE -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.type = 14 -BUFF_EFFECT_CFG_FORMULA_ID_FIELD.cpp_type = 8 - -BUFF_EFFECT_CFG.name = "buff_effect_cfg" -BUFF_EFFECT_CFG.full_name = ".ftcfg.buff_effect_cfg" -BUFF_EFFECT_CFG.nested_types = {} -BUFF_EFFECT_CFG.enum_types = {} -BUFF_EFFECT_CFG.fields = {BUFF_EFFECT_CFG_ID_FIELD, BUFF_EFFECT_CFG_FORMULA_ID_FIELD} -BUFF_EFFECT_CFG.is_extendable = false -BUFF_EFFECT_CFG.extensions = {} -BUFF_EFFECT_CFGS_ITEMS_FIELD.name = "items" -BUFF_EFFECT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.buff_effect_cfgs.items" -BUFF_EFFECT_CFGS_ITEMS_FIELD.number = 1 -BUFF_EFFECT_CFGS_ITEMS_FIELD.index = 0 -BUFF_EFFECT_CFGS_ITEMS_FIELD.label = 3 -BUFF_EFFECT_CFGS_ITEMS_FIELD.has_default_value = false -BUFF_EFFECT_CFGS_ITEMS_FIELD.default_value = {} -BUFF_EFFECT_CFGS_ITEMS_FIELD.message_type = BUFF_EFFECT_CFG -BUFF_EFFECT_CFGS_ITEMS_FIELD.type = 11 -BUFF_EFFECT_CFGS_ITEMS_FIELD.cpp_type = 10 - -BUFF_EFFECT_CFGS.name = "buff_effect_cfgs" -BUFF_EFFECT_CFGS.full_name = ".ftcfg.buff_effect_cfgs" -BUFF_EFFECT_CFGS.nested_types = {} -BUFF_EFFECT_CFGS.enum_types = {} -BUFF_EFFECT_CFGS.fields = {BUFF_EFFECT_CFGS_ITEMS_FIELD} -BUFF_EFFECT_CFGS.is_extendable = false -BUFF_EFFECT_CFGS.extensions = {} -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.name = "prof_type" -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.full_name = ".ftcfg.char_default_cfg.prof_type" -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.number = 1 -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.index = 0 -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.default_value = nil -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.enum_type = config_predefine_pb.EPROFTYPE -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.type = 14 -CHAR_DEFAULT_CFG_PROF_TYPE_FIELD.cpp_type = 8 - -CHAR_DEFAULT_CFG_GENDER_FIELD.name = "gender" -CHAR_DEFAULT_CFG_GENDER_FIELD.full_name = ".ftcfg.char_default_cfg.gender" -CHAR_DEFAULT_CFG_GENDER_FIELD.number = 2 -CHAR_DEFAULT_CFG_GENDER_FIELD.index = 1 -CHAR_DEFAULT_CFG_GENDER_FIELD.label = 2 -CHAR_DEFAULT_CFG_GENDER_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_GENDER_FIELD.default_value = nil -CHAR_DEFAULT_CFG_GENDER_FIELD.enum_type = config_predefine_pb.EGENDERTYPE -CHAR_DEFAULT_CFG_GENDER_FIELD.type = 14 -CHAR_DEFAULT_CFG_GENDER_FIELD.cpp_type = 8 - -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.name = "show_index" -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.full_name = ".ftcfg.char_default_cfg.show_index" -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.number = 3 -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.index = 2 -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.label = 2 -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.default_value = 0 -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.type = 5 -CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.name = "prof_icon" -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.full_name = ".ftcfg.char_default_cfg.prof_icon" -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.number = 4 -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.index = 3 -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.default_value = "" -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.type = 9 -CHAR_DEFAULT_CFG_PROF_ICON_FIELD.cpp_type = 9 - -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.name = "model_path" -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.full_name = ".ftcfg.char_default_cfg.model_path" -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.number = 5 -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.index = 4 -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.label = 2 -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.default_value = 0 -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.type = 5 -CHAR_DEFAULT_CFG_MODEL_PATH_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.name = "profname_icon" -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.full_name = ".ftcfg.char_default_cfg.profname_icon" -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.number = 6 -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.index = 5 -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.default_value = "" -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.type = 9 -CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD.cpp_type = 9 - -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.name = "prop_stars" -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.full_name = ".ftcfg.char_default_cfg.prop_stars" -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.number = 7 -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.index = 6 -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.label = 3 -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.default_value = {} -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.type = 5 -CHAR_DEFAULT_CFG_PROP_STARS_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.name = "prof_head" -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.full_name = ".ftcfg.char_default_cfg.prof_head" -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.number = 8 -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.index = 7 -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.default_value = "" -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.type = 9 -CHAR_DEFAULT_CFG_PROF_HEAD_FIELD.cpp_type = 9 - -CHAR_DEFAULT_CFG_POS_DES_FIELD.name = "pos_des" -CHAR_DEFAULT_CFG_POS_DES_FIELD.full_name = ".ftcfg.char_default_cfg.pos_des" -CHAR_DEFAULT_CFG_POS_DES_FIELD.number = 9 -CHAR_DEFAULT_CFG_POS_DES_FIELD.index = 8 -CHAR_DEFAULT_CFG_POS_DES_FIELD.label = 2 -CHAR_DEFAULT_CFG_POS_DES_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_POS_DES_FIELD.default_value = 0 -CHAR_DEFAULT_CFG_POS_DES_FIELD.type = 5 -CHAR_DEFAULT_CFG_POS_DES_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.name = "prof_name" -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.full_name = ".ftcfg.char_default_cfg.prof_name" -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.number = 10 -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.index = 9 -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.default_value = 0 -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.type = 5 -CHAR_DEFAULT_CFG_PROF_NAME_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_PROF_RES_FIELD.name = "prof_res" -CHAR_DEFAULT_CFG_PROF_RES_FIELD.full_name = ".ftcfg.char_default_cfg.prof_res" -CHAR_DEFAULT_CFG_PROF_RES_FIELD.number = 11 -CHAR_DEFAULT_CFG_PROF_RES_FIELD.index = 10 -CHAR_DEFAULT_CFG_PROF_RES_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROF_RES_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROF_RES_FIELD.default_value = 0 -CHAR_DEFAULT_CFG_PROF_RES_FIELD.type = 5 -CHAR_DEFAULT_CFG_PROF_RES_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.name = "prof_anim1" -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.full_name = ".ftcfg.char_default_cfg.prof_anim1" -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.number = 12 -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.index = 11 -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.default_value = "" -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.type = 9 -CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD.cpp_type = 9 - -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.name = "prof_anim2" -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.full_name = ".ftcfg.char_default_cfg.prof_anim2" -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.number = 13 -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.index = 12 -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.label = 2 -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.default_value = "" -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.type = 9 -CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD.cpp_type = 9 - -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.name = "skill_res" -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.full_name = ".ftcfg.char_default_cfg.skill_res" -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.number = 14 -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.index = 13 -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.label = 2 -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.default_value = 0 -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.type = 5 -CHAR_DEFAULT_CFG_SKILL_RES_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.name = "random_cfg" -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.full_name = ".ftcfg.char_default_cfg.random_cfg" -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.number = 15 -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.index = 14 -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.label = 2 -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.default_value = "" -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.type = 9 -CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD.cpp_type = 9 - -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.name = "is_open" -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.full_name = ".ftcfg.char_default_cfg.is_open" -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.number = 16 -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.index = 15 -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.label = 2 -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.default_value = false -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.type = 8 -CHAR_DEFAULT_CFG_IS_OPEN_FIELD.cpp_type = 7 - -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.name = "default_parts" -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.full_name = ".ftcfg.char_default_cfg.default_parts" -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.number = 17 -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.index = 16 -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.label = 3 -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.default_value = {} -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.type = 5 -CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.name = "mp_type" -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.full_name = ".ftcfg.char_default_cfg.mp_type" -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.number = 18 -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.index = 17 -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.label = 2 -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.default_value = 0 -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.type = 5 -CHAR_DEFAULT_CFG_MP_TYPE_FIELD.cpp_type = 1 - -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.name = "is_minister" -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.full_name = ".ftcfg.char_default_cfg.is_minister" -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.number = 19 -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.index = 18 -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.label = 2 -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.has_default_value = false -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.default_value = false -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.type = 8 -CHAR_DEFAULT_CFG_IS_MINISTER_FIELD.cpp_type = 7 - -CHAR_DEFAULT_CFG.name = "char_default_cfg" -CHAR_DEFAULT_CFG.full_name = ".ftcfg.char_default_cfg" -CHAR_DEFAULT_CFG.nested_types = {} -CHAR_DEFAULT_CFG.enum_types = {} -CHAR_DEFAULT_CFG.fields = {CHAR_DEFAULT_CFG_PROF_TYPE_FIELD, CHAR_DEFAULT_CFG_GENDER_FIELD, CHAR_DEFAULT_CFG_SHOW_INDEX_FIELD, CHAR_DEFAULT_CFG_PROF_ICON_FIELD, CHAR_DEFAULT_CFG_MODEL_PATH_FIELD, CHAR_DEFAULT_CFG_PROFNAME_ICON_FIELD, CHAR_DEFAULT_CFG_PROP_STARS_FIELD, CHAR_DEFAULT_CFG_PROF_HEAD_FIELD, CHAR_DEFAULT_CFG_POS_DES_FIELD, CHAR_DEFAULT_CFG_PROF_NAME_FIELD, CHAR_DEFAULT_CFG_PROF_RES_FIELD, CHAR_DEFAULT_CFG_PROF_ANIM1_FIELD, CHAR_DEFAULT_CFG_PROF_ANIM2_FIELD, CHAR_DEFAULT_CFG_SKILL_RES_FIELD, CHAR_DEFAULT_CFG_RANDOM_CFG_FIELD, CHAR_DEFAULT_CFG_IS_OPEN_FIELD, CHAR_DEFAULT_CFG_DEFAULT_PARTS_FIELD, CHAR_DEFAULT_CFG_MP_TYPE_FIELD, CHAR_DEFAULT_CFG_IS_MINISTER_FIELD} -CHAR_DEFAULT_CFG.is_extendable = false -CHAR_DEFAULT_CFG.extensions = {} -CHAR_DEFAULT_CFGS_ITEMS_FIELD.name = "items" -CHAR_DEFAULT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.char_default_cfgs.items" -CHAR_DEFAULT_CFGS_ITEMS_FIELD.number = 1 -CHAR_DEFAULT_CFGS_ITEMS_FIELD.index = 0 -CHAR_DEFAULT_CFGS_ITEMS_FIELD.label = 3 -CHAR_DEFAULT_CFGS_ITEMS_FIELD.has_default_value = false -CHAR_DEFAULT_CFGS_ITEMS_FIELD.default_value = {} -CHAR_DEFAULT_CFGS_ITEMS_FIELD.message_type = CHAR_DEFAULT_CFG -CHAR_DEFAULT_CFGS_ITEMS_FIELD.type = 11 -CHAR_DEFAULT_CFGS_ITEMS_FIELD.cpp_type = 10 - -CHAR_DEFAULT_CFGS.name = "char_default_cfgs" -CHAR_DEFAULT_CFGS.full_name = ".ftcfg.char_default_cfgs" -CHAR_DEFAULT_CFGS.nested_types = {} -CHAR_DEFAULT_CFGS.enum_types = {} -CHAR_DEFAULT_CFGS.fields = {CHAR_DEFAULT_CFGS_ITEMS_FIELD} -CHAR_DEFAULT_CFGS.is_extendable = false -CHAR_DEFAULT_CFGS.extensions = {} -COOLDOWN_CFG_ID_FIELD.name = "id" -COOLDOWN_CFG_ID_FIELD.full_name = ".ftcfg.cooldown_cfg.id" -COOLDOWN_CFG_ID_FIELD.number = 1 -COOLDOWN_CFG_ID_FIELD.index = 0 -COOLDOWN_CFG_ID_FIELD.label = 2 -COOLDOWN_CFG_ID_FIELD.has_default_value = false -COOLDOWN_CFG_ID_FIELD.default_value = 0 -COOLDOWN_CFG_ID_FIELD.type = 5 -COOLDOWN_CFG_ID_FIELD.cpp_type = 1 - -COOLDOWN_CFG_TATOL_TIME_FIELD.name = "tatol_time" -COOLDOWN_CFG_TATOL_TIME_FIELD.full_name = ".ftcfg.cooldown_cfg.tatol_time" -COOLDOWN_CFG_TATOL_TIME_FIELD.number = 2 -COOLDOWN_CFG_TATOL_TIME_FIELD.index = 1 -COOLDOWN_CFG_TATOL_TIME_FIELD.label = 2 -COOLDOWN_CFG_TATOL_TIME_FIELD.has_default_value = false -COOLDOWN_CFG_TATOL_TIME_FIELD.default_value = 0 -COOLDOWN_CFG_TATOL_TIME_FIELD.type = 5 -COOLDOWN_CFG_TATOL_TIME_FIELD.cpp_type = 1 - -COOLDOWN_CFG.name = "cooldown_cfg" -COOLDOWN_CFG.full_name = ".ftcfg.cooldown_cfg" -COOLDOWN_CFG.nested_types = {} -COOLDOWN_CFG.enum_types = {} -COOLDOWN_CFG.fields = {COOLDOWN_CFG_ID_FIELD, COOLDOWN_CFG_TATOL_TIME_FIELD} -COOLDOWN_CFG.is_extendable = false -COOLDOWN_CFG.extensions = {} -COOLDOWN_CFGS_ITEMS_FIELD.name = "items" -COOLDOWN_CFGS_ITEMS_FIELD.full_name = ".ftcfg.cooldown_cfgs.items" -COOLDOWN_CFGS_ITEMS_FIELD.number = 1 -COOLDOWN_CFGS_ITEMS_FIELD.index = 0 -COOLDOWN_CFGS_ITEMS_FIELD.label = 3 -COOLDOWN_CFGS_ITEMS_FIELD.has_default_value = false -COOLDOWN_CFGS_ITEMS_FIELD.default_value = {} -COOLDOWN_CFGS_ITEMS_FIELD.message_type = COOLDOWN_CFG -COOLDOWN_CFGS_ITEMS_FIELD.type = 11 -COOLDOWN_CFGS_ITEMS_FIELD.cpp_type = 10 - -COOLDOWN_CFGS.name = "cooldown_cfgs" -COOLDOWN_CFGS.full_name = ".ftcfg.cooldown_cfgs" -COOLDOWN_CFGS.nested_types = {} -COOLDOWN_CFGS.enum_types = {} -COOLDOWN_CFGS.fields = {COOLDOWN_CFGS_ITEMS_FIELD} -COOLDOWN_CFGS.is_extendable = false -COOLDOWN_CFGS.extensions = {} -MONSTER_CFG_ID_FIELD.name = "id" -MONSTER_CFG_ID_FIELD.full_name = ".ftcfg.monster_cfg.id" -MONSTER_CFG_ID_FIELD.number = 1 -MONSTER_CFG_ID_FIELD.index = 0 -MONSTER_CFG_ID_FIELD.label = 2 -MONSTER_CFG_ID_FIELD.has_default_value = false -MONSTER_CFG_ID_FIELD.default_value = 0 -MONSTER_CFG_ID_FIELD.type = 13 -MONSTER_CFG_ID_FIELD.cpp_type = 3 - -MONSTER_CFG_SHOW_NAME_FIELD.name = "show_name" -MONSTER_CFG_SHOW_NAME_FIELD.full_name = ".ftcfg.monster_cfg.show_name" -MONSTER_CFG_SHOW_NAME_FIELD.number = 2 -MONSTER_CFG_SHOW_NAME_FIELD.index = 1 -MONSTER_CFG_SHOW_NAME_FIELD.label = 2 -MONSTER_CFG_SHOW_NAME_FIELD.has_default_value = false -MONSTER_CFG_SHOW_NAME_FIELD.default_value = 0 -MONSTER_CFG_SHOW_NAME_FIELD.type = 5 -MONSTER_CFG_SHOW_NAME_FIELD.cpp_type = 1 - -MONSTER_CFG_SHOW_ICON_FIELD.name = "show_icon" -MONSTER_CFG_SHOW_ICON_FIELD.full_name = ".ftcfg.monster_cfg.show_icon" -MONSTER_CFG_SHOW_ICON_FIELD.number = 3 -MONSTER_CFG_SHOW_ICON_FIELD.index = 2 -MONSTER_CFG_SHOW_ICON_FIELD.label = 2 -MONSTER_CFG_SHOW_ICON_FIELD.has_default_value = false -MONSTER_CFG_SHOW_ICON_FIELD.default_value = 0 -MONSTER_CFG_SHOW_ICON_FIELD.type = 5 -MONSTER_CFG_SHOW_ICON_FIELD.cpp_type = 1 - -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.name = "whether_showname" -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.full_name = ".ftcfg.monster_cfg.whether_showname" -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.number = 4 -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.index = 3 -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.label = 2 -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.has_default_value = false -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.default_value = 0 -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.type = 5 -MONSTER_CFG_WHETHER_SHOWNAME_FIELD.cpp_type = 1 - -MONSTER_CFG_MONSTER_DESC_FIELD.name = "monster_desc" -MONSTER_CFG_MONSTER_DESC_FIELD.full_name = ".ftcfg.monster_cfg.monster_desc" -MONSTER_CFG_MONSTER_DESC_FIELD.number = 5 -MONSTER_CFG_MONSTER_DESC_FIELD.index = 4 -MONSTER_CFG_MONSTER_DESC_FIELD.label = 2 -MONSTER_CFG_MONSTER_DESC_FIELD.has_default_value = false -MONSTER_CFG_MONSTER_DESC_FIELD.default_value = 0 -MONSTER_CFG_MONSTER_DESC_FIELD.type = 5 -MONSTER_CFG_MONSTER_DESC_FIELD.cpp_type = 1 - -MONSTER_CFG_TYPE_FIELD.name = "type" -MONSTER_CFG_TYPE_FIELD.full_name = ".ftcfg.monster_cfg.type" -MONSTER_CFG_TYPE_FIELD.number = 6 -MONSTER_CFG_TYPE_FIELD.index = 5 -MONSTER_CFG_TYPE_FIELD.label = 2 -MONSTER_CFG_TYPE_FIELD.has_default_value = false -MONSTER_CFG_TYPE_FIELD.default_value = 0 -MONSTER_CFG_TYPE_FIELD.type = 5 -MONSTER_CFG_TYPE_FIELD.cpp_type = 1 - -MONSTER_CFG_CAMP_FIELD.name = "camp" -MONSTER_CFG_CAMP_FIELD.full_name = ".ftcfg.monster_cfg.camp" -MONSTER_CFG_CAMP_FIELD.number = 7 -MONSTER_CFG_CAMP_FIELD.index = 6 -MONSTER_CFG_CAMP_FIELD.label = 2 -MONSTER_CFG_CAMP_FIELD.has_default_value = false -MONSTER_CFG_CAMP_FIELD.default_value = 0 -MONSTER_CFG_CAMP_FIELD.type = 5 -MONSTER_CFG_CAMP_FIELD.cpp_type = 1 - -MONSTER_CFG_CAMP_RELATION_FIELD.name = "camp_relation" -MONSTER_CFG_CAMP_RELATION_FIELD.full_name = ".ftcfg.monster_cfg.camp_relation" -MONSTER_CFG_CAMP_RELATION_FIELD.number = 8 -MONSTER_CFG_CAMP_RELATION_FIELD.index = 7 -MONSTER_CFG_CAMP_RELATION_FIELD.label = 2 -MONSTER_CFG_CAMP_RELATION_FIELD.has_default_value = false -MONSTER_CFG_CAMP_RELATION_FIELD.default_value = 0 -MONSTER_CFG_CAMP_RELATION_FIELD.type = 5 -MONSTER_CFG_CAMP_RELATION_FIELD.cpp_type = 1 - -MONSTER_CFG_PROPS_ID_FIELD.name = "props_id" -MONSTER_CFG_PROPS_ID_FIELD.full_name = ".ftcfg.monster_cfg.props_id" -MONSTER_CFG_PROPS_ID_FIELD.number = 9 -MONSTER_CFG_PROPS_ID_FIELD.index = 8 -MONSTER_CFG_PROPS_ID_FIELD.label = 2 -MONSTER_CFG_PROPS_ID_FIELD.has_default_value = false -MONSTER_CFG_PROPS_ID_FIELD.default_value = 0 -MONSTER_CFG_PROPS_ID_FIELD.type = 5 -MONSTER_CFG_PROPS_ID_FIELD.cpp_type = 1 - -MONSTER_CFG_LEVEL_FIELD.name = "level" -MONSTER_CFG_LEVEL_FIELD.full_name = ".ftcfg.monster_cfg.level" -MONSTER_CFG_LEVEL_FIELD.number = 10 -MONSTER_CFG_LEVEL_FIELD.index = 9 -MONSTER_CFG_LEVEL_FIELD.label = 2 -MONSTER_CFG_LEVEL_FIELD.has_default_value = false -MONSTER_CFG_LEVEL_FIELD.default_value = 0 -MONSTER_CFG_LEVEL_FIELD.type = 5 -MONSTER_CFG_LEVEL_FIELD.cpp_type = 1 - -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.name = "attack_level_limit" -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.full_name = ".ftcfg.monster_cfg.attack_level_limit" -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.number = 11 -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.index = 10 -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.label = 2 -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.has_default_value = false -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.default_value = 0 -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.type = 5 -MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD.cpp_type = 1 - -MONSTER_CFG_SKILLS_FIELD.name = "skills" -MONSTER_CFG_SKILLS_FIELD.full_name = ".ftcfg.monster_cfg.skills" -MONSTER_CFG_SKILLS_FIELD.number = 12 -MONSTER_CFG_SKILLS_FIELD.index = 11 -MONSTER_CFG_SKILLS_FIELD.label = 3 -MONSTER_CFG_SKILLS_FIELD.has_default_value = false -MONSTER_CFG_SKILLS_FIELD.default_value = {} -MONSTER_CFG_SKILLS_FIELD.type = 5 -MONSTER_CFG_SKILLS_FIELD.cpp_type = 1 - -MONSTER_CFG_AVATAR_FIELD.name = "avatar" -MONSTER_CFG_AVATAR_FIELD.full_name = ".ftcfg.monster_cfg.avatar" -MONSTER_CFG_AVATAR_FIELD.number = 13 -MONSTER_CFG_AVATAR_FIELD.index = 12 -MONSTER_CFG_AVATAR_FIELD.label = 2 -MONSTER_CFG_AVATAR_FIELD.has_default_value = false -MONSTER_CFG_AVATAR_FIELD.default_value = 0 -MONSTER_CFG_AVATAR_FIELD.type = 5 -MONSTER_CFG_AVATAR_FIELD.cpp_type = 1 - -MONSTER_CFG_AVATAR_SCALE_FIELD.name = "avatar_scale" -MONSTER_CFG_AVATAR_SCALE_FIELD.full_name = ".ftcfg.monster_cfg.avatar_scale" -MONSTER_CFG_AVATAR_SCALE_FIELD.number = 14 -MONSTER_CFG_AVATAR_SCALE_FIELD.index = 13 -MONSTER_CFG_AVATAR_SCALE_FIELD.label = 2 -MONSTER_CFG_AVATAR_SCALE_FIELD.has_default_value = false -MONSTER_CFG_AVATAR_SCALE_FIELD.default_value = 0.0 -MONSTER_CFG_AVATAR_SCALE_FIELD.type = 2 -MONSTER_CFG_AVATAR_SCALE_FIELD.cpp_type = 6 - -MONSTER_CFG_ACT_IDLE_FIELD.name = "act_idle" -MONSTER_CFG_ACT_IDLE_FIELD.full_name = ".ftcfg.monster_cfg.act_idle" -MONSTER_CFG_ACT_IDLE_FIELD.number = 15 -MONSTER_CFG_ACT_IDLE_FIELD.index = 14 -MONSTER_CFG_ACT_IDLE_FIELD.label = 2 -MONSTER_CFG_ACT_IDLE_FIELD.has_default_value = false -MONSTER_CFG_ACT_IDLE_FIELD.default_value = "" -MONSTER_CFG_ACT_IDLE_FIELD.type = 9 -MONSTER_CFG_ACT_IDLE_FIELD.cpp_type = 9 - -MONSTER_CFG_ACT_MOVE_FIELD.name = "act_move" -MONSTER_CFG_ACT_MOVE_FIELD.full_name = ".ftcfg.monster_cfg.act_move" -MONSTER_CFG_ACT_MOVE_FIELD.number = 16 -MONSTER_CFG_ACT_MOVE_FIELD.index = 15 -MONSTER_CFG_ACT_MOVE_FIELD.label = 2 -MONSTER_CFG_ACT_MOVE_FIELD.has_default_value = false -MONSTER_CFG_ACT_MOVE_FIELD.default_value = "" -MONSTER_CFG_ACT_MOVE_FIELD.type = 9 -MONSTER_CFG_ACT_MOVE_FIELD.cpp_type = 9 - -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.name = "act_idle_battle" -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.full_name = ".ftcfg.monster_cfg.act_idle_battle" -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.number = 17 -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.index = 16 -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.label = 2 -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.has_default_value = false -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.default_value = "" -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.type = 9 -MONSTER_CFG_ACT_IDLE_BATTLE_FIELD.cpp_type = 9 - -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.name = "act_move_battle" -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.full_name = ".ftcfg.monster_cfg.act_move_battle" -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.number = 18 -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.index = 17 -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.label = 2 -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.has_default_value = false -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.default_value = "" -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.type = 9 -MONSTER_CFG_ACT_MOVE_BATTLE_FIELD.cpp_type = 9 - -MONSTER_CFG_ACT_BORN_FIELD.name = "act_born" -MONSTER_CFG_ACT_BORN_FIELD.full_name = ".ftcfg.monster_cfg.act_born" -MONSTER_CFG_ACT_BORN_FIELD.number = 19 -MONSTER_CFG_ACT_BORN_FIELD.index = 18 -MONSTER_CFG_ACT_BORN_FIELD.label = 2 -MONSTER_CFG_ACT_BORN_FIELD.has_default_value = false -MONSTER_CFG_ACT_BORN_FIELD.default_value = "" -MONSTER_CFG_ACT_BORN_FIELD.type = 9 -MONSTER_CFG_ACT_BORN_FIELD.cpp_type = 9 - -MONSTER_CFG_BORN_TIME_FIELD.name = "born_time" -MONSTER_CFG_BORN_TIME_FIELD.full_name = ".ftcfg.monster_cfg.born_time" -MONSTER_CFG_BORN_TIME_FIELD.number = 20 -MONSTER_CFG_BORN_TIME_FIELD.index = 19 -MONSTER_CFG_BORN_TIME_FIELD.label = 2 -MONSTER_CFG_BORN_TIME_FIELD.has_default_value = false -MONSTER_CFG_BORN_TIME_FIELD.default_value = 0.0 -MONSTER_CFG_BORN_TIME_FIELD.type = 1 -MONSTER_CFG_BORN_TIME_FIELD.cpp_type = 5 - -MONSTER_CFG_ACT_DEAD_FIELD.name = "act_dead" -MONSTER_CFG_ACT_DEAD_FIELD.full_name = ".ftcfg.monster_cfg.act_dead" -MONSTER_CFG_ACT_DEAD_FIELD.number = 21 -MONSTER_CFG_ACT_DEAD_FIELD.index = 20 -MONSTER_CFG_ACT_DEAD_FIELD.label = 3 -MONSTER_CFG_ACT_DEAD_FIELD.has_default_value = false -MONSTER_CFG_ACT_DEAD_FIELD.default_value = {} -MONSTER_CFG_ACT_DEAD_FIELD.type = 9 -MONSTER_CFG_ACT_DEAD_FIELD.cpp_type = 9 - -MONSTER_CFG_RANGE_TYPE_FIELD.name = "range_type" -MONSTER_CFG_RANGE_TYPE_FIELD.full_name = ".ftcfg.monster_cfg.range_type" -MONSTER_CFG_RANGE_TYPE_FIELD.number = 22 -MONSTER_CFG_RANGE_TYPE_FIELD.index = 21 -MONSTER_CFG_RANGE_TYPE_FIELD.label = 2 -MONSTER_CFG_RANGE_TYPE_FIELD.has_default_value = false -MONSTER_CFG_RANGE_TYPE_FIELD.default_value = nil -MONSTER_CFG_RANGE_TYPE_FIELD.enum_type = config_predefine_pb.EAREATYPE -MONSTER_CFG_RANGE_TYPE_FIELD.type = 14 -MONSTER_CFG_RANGE_TYPE_FIELD.cpp_type = 8 - -MONSTER_CFG_RANGE_PARA1_FIELD.name = "range_para1" -MONSTER_CFG_RANGE_PARA1_FIELD.full_name = ".ftcfg.monster_cfg.range_para1" -MONSTER_CFG_RANGE_PARA1_FIELD.number = 23 -MONSTER_CFG_RANGE_PARA1_FIELD.index = 22 -MONSTER_CFG_RANGE_PARA1_FIELD.label = 2 -MONSTER_CFG_RANGE_PARA1_FIELD.has_default_value = false -MONSTER_CFG_RANGE_PARA1_FIELD.default_value = 0.0 -MONSTER_CFG_RANGE_PARA1_FIELD.type = 2 -MONSTER_CFG_RANGE_PARA1_FIELD.cpp_type = 6 - -MONSTER_CFG_RANGE_PARA2_FIELD.name = "range_para2" -MONSTER_CFG_RANGE_PARA2_FIELD.full_name = ".ftcfg.monster_cfg.range_para2" -MONSTER_CFG_RANGE_PARA2_FIELD.number = 24 -MONSTER_CFG_RANGE_PARA2_FIELD.index = 23 -MONSTER_CFG_RANGE_PARA2_FIELD.label = 2 -MONSTER_CFG_RANGE_PARA2_FIELD.has_default_value = false -MONSTER_CFG_RANGE_PARA2_FIELD.default_value = 0.0 -MONSTER_CFG_RANGE_PARA2_FIELD.type = 2 -MONSTER_CFG_RANGE_PARA2_FIELD.cpp_type = 6 - -MONSTER_CFG_DROP_FIELD.name = "drop" -MONSTER_CFG_DROP_FIELD.full_name = ".ftcfg.monster_cfg.drop" -MONSTER_CFG_DROP_FIELD.number = 25 -MONSTER_CFG_DROP_FIELD.index = 24 -MONSTER_CFG_DROP_FIELD.label = 2 -MONSTER_CFG_DROP_FIELD.has_default_value = false -MONSTER_CFG_DROP_FIELD.default_value = 0 -MONSTER_CFG_DROP_FIELD.type = 5 -MONSTER_CFG_DROP_FIELD.cpp_type = 1 - -MONSTER_CFG_HEAD_PORTRAIT_FIELD.name = "head_portrait" -MONSTER_CFG_HEAD_PORTRAIT_FIELD.full_name = ".ftcfg.monster_cfg.head_portrait" -MONSTER_CFG_HEAD_PORTRAIT_FIELD.number = 26 -MONSTER_CFG_HEAD_PORTRAIT_FIELD.index = 25 -MONSTER_CFG_HEAD_PORTRAIT_FIELD.label = 2 -MONSTER_CFG_HEAD_PORTRAIT_FIELD.has_default_value = false -MONSTER_CFG_HEAD_PORTRAIT_FIELD.default_value = 0 -MONSTER_CFG_HEAD_PORTRAIT_FIELD.type = 5 -MONSTER_CFG_HEAD_PORTRAIT_FIELD.cpp_type = 1 - -MONSTER_CFG_RADIUS_FIELD.name = "radius" -MONSTER_CFG_RADIUS_FIELD.full_name = ".ftcfg.monster_cfg.radius" -MONSTER_CFG_RADIUS_FIELD.number = 27 -MONSTER_CFG_RADIUS_FIELD.index = 26 -MONSTER_CFG_RADIUS_FIELD.label = 2 -MONSTER_CFG_RADIUS_FIELD.has_default_value = false -MONSTER_CFG_RADIUS_FIELD.default_value = 0.0 -MONSTER_CFG_RADIUS_FIELD.type = 2 -MONSTER_CFG_RADIUS_FIELD.cpp_type = 6 - -MONSTER_CFG_MONSTER_TYPE_FIELD.name = "monster_type" -MONSTER_CFG_MONSTER_TYPE_FIELD.full_name = ".ftcfg.monster_cfg.monster_type" -MONSTER_CFG_MONSTER_TYPE_FIELD.number = 28 -MONSTER_CFG_MONSTER_TYPE_FIELD.index = 27 -MONSTER_CFG_MONSTER_TYPE_FIELD.label = 2 -MONSTER_CFG_MONSTER_TYPE_FIELD.has_default_value = false -MONSTER_CFG_MONSTER_TYPE_FIELD.default_value = 0 -MONSTER_CFG_MONSTER_TYPE_FIELD.type = 5 -MONSTER_CFG_MONSTER_TYPE_FIELD.cpp_type = 1 - -MONSTER_CFG_LOCK_SIZE_FIELD.name = "lock_size" -MONSTER_CFG_LOCK_SIZE_FIELD.full_name = ".ftcfg.monster_cfg.lock_size" -MONSTER_CFG_LOCK_SIZE_FIELD.number = 29 -MONSTER_CFG_LOCK_SIZE_FIELD.index = 28 -MONSTER_CFG_LOCK_SIZE_FIELD.label = 2 -MONSTER_CFG_LOCK_SIZE_FIELD.has_default_value = false -MONSTER_CFG_LOCK_SIZE_FIELD.default_value = 0.0 -MONSTER_CFG_LOCK_SIZE_FIELD.type = 2 -MONSTER_CFG_LOCK_SIZE_FIELD.cpp_type = 6 - -MONSTER_CFG_HALO_SWITCH_FIELD.name = "halo_switch" -MONSTER_CFG_HALO_SWITCH_FIELD.full_name = ".ftcfg.monster_cfg.halo_switch" -MONSTER_CFG_HALO_SWITCH_FIELD.number = 30 -MONSTER_CFG_HALO_SWITCH_FIELD.index = 29 -MONSTER_CFG_HALO_SWITCH_FIELD.label = 2 -MONSTER_CFG_HALO_SWITCH_FIELD.has_default_value = false -MONSTER_CFG_HALO_SWITCH_FIELD.default_value = 0.0 -MONSTER_CFG_HALO_SWITCH_FIELD.type = 2 -MONSTER_CFG_HALO_SWITCH_FIELD.cpp_type = 6 - -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.name = "activity_exclusive" -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.full_name = ".ftcfg.monster_cfg.activity_exclusive" -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.number = 31 -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.index = 30 -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.label = 2 -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.has_default_value = false -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.default_value = 0 -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.type = 5 -MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD.cpp_type = 1 - -MONSTER_CFG.name = "monster_cfg" -MONSTER_CFG.full_name = ".ftcfg.monster_cfg" -MONSTER_CFG.nested_types = {} -MONSTER_CFG.enum_types = {} -MONSTER_CFG.fields = {MONSTER_CFG_ID_FIELD, MONSTER_CFG_SHOW_NAME_FIELD, MONSTER_CFG_SHOW_ICON_FIELD, MONSTER_CFG_WHETHER_SHOWNAME_FIELD, MONSTER_CFG_MONSTER_DESC_FIELD, MONSTER_CFG_TYPE_FIELD, MONSTER_CFG_CAMP_FIELD, MONSTER_CFG_CAMP_RELATION_FIELD, MONSTER_CFG_PROPS_ID_FIELD, MONSTER_CFG_LEVEL_FIELD, MONSTER_CFG_ATTACK_LEVEL_LIMIT_FIELD, MONSTER_CFG_SKILLS_FIELD, MONSTER_CFG_AVATAR_FIELD, MONSTER_CFG_AVATAR_SCALE_FIELD, MONSTER_CFG_ACT_IDLE_FIELD, MONSTER_CFG_ACT_MOVE_FIELD, MONSTER_CFG_ACT_IDLE_BATTLE_FIELD, MONSTER_CFG_ACT_MOVE_BATTLE_FIELD, MONSTER_CFG_ACT_BORN_FIELD, MONSTER_CFG_BORN_TIME_FIELD, MONSTER_CFG_ACT_DEAD_FIELD, MONSTER_CFG_RANGE_TYPE_FIELD, MONSTER_CFG_RANGE_PARA1_FIELD, MONSTER_CFG_RANGE_PARA2_FIELD, MONSTER_CFG_DROP_FIELD, MONSTER_CFG_HEAD_PORTRAIT_FIELD, MONSTER_CFG_RADIUS_FIELD, MONSTER_CFG_MONSTER_TYPE_FIELD, MONSTER_CFG_LOCK_SIZE_FIELD, MONSTER_CFG_HALO_SWITCH_FIELD, MONSTER_CFG_ACTIVITY_EXCLUSIVE_FIELD} -MONSTER_CFG.is_extendable = false -MONSTER_CFG.extensions = {} -MONSTER_CFGS_ITEMS_FIELD.name = "items" -MONSTER_CFGS_ITEMS_FIELD.full_name = ".ftcfg.monster_cfgs.items" -MONSTER_CFGS_ITEMS_FIELD.number = 1 -MONSTER_CFGS_ITEMS_FIELD.index = 0 -MONSTER_CFGS_ITEMS_FIELD.label = 3 -MONSTER_CFGS_ITEMS_FIELD.has_default_value = false -MONSTER_CFGS_ITEMS_FIELD.default_value = {} -MONSTER_CFGS_ITEMS_FIELD.message_type = MONSTER_CFG -MONSTER_CFGS_ITEMS_FIELD.type = 11 -MONSTER_CFGS_ITEMS_FIELD.cpp_type = 10 - -MONSTER_CFGS.name = "monster_cfgs" -MONSTER_CFGS.full_name = ".ftcfg.monster_cfgs" -MONSTER_CFGS.nested_types = {} -MONSTER_CFGS.enum_types = {} -MONSTER_CFGS.fields = {MONSTER_CFGS_ITEMS_FIELD} -MONSTER_CFGS.is_extendable = false -MONSTER_CFGS.extensions = {} -BUSINESS_ACTIVITY_CFG_GUID_FIELD.name = "guid" -BUSINESS_ACTIVITY_CFG_GUID_FIELD.full_name = ".ftcfg.business_activity_cfg.guid" -BUSINESS_ACTIVITY_CFG_GUID_FIELD.number = 1 -BUSINESS_ACTIVITY_CFG_GUID_FIELD.index = 0 -BUSINESS_ACTIVITY_CFG_GUID_FIELD.label = 2 -BUSINESS_ACTIVITY_CFG_GUID_FIELD.has_default_value = false -BUSINESS_ACTIVITY_CFG_GUID_FIELD.default_value = 0 -BUSINESS_ACTIVITY_CFG_GUID_FIELD.type = 13 -BUSINESS_ACTIVITY_CFG_GUID_FIELD.cpp_type = 3 - -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.name = "business_id" -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.full_name = ".ftcfg.business_activity_cfg.business_id" -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.number = 2 -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.index = 1 -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.label = 2 -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.has_default_value = false -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.default_value = 0 -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.type = 13 -BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD.cpp_type = 3 - -BUSINESS_ACTIVITY_CFG.name = "business_activity_cfg" -BUSINESS_ACTIVITY_CFG.full_name = ".ftcfg.business_activity_cfg" -BUSINESS_ACTIVITY_CFG.nested_types = {} -BUSINESS_ACTIVITY_CFG.enum_types = {} -BUSINESS_ACTIVITY_CFG.fields = {BUSINESS_ACTIVITY_CFG_GUID_FIELD, BUSINESS_ACTIVITY_CFG_BUSINESS_ID_FIELD} -BUSINESS_ACTIVITY_CFG.is_extendable = false -BUSINESS_ACTIVITY_CFG.extensions = {} -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.name = "items" -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.business_activity_cfgs.items" -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.number = 1 -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.index = 0 -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.label = 3 -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.has_default_value = false -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.default_value = {} -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.message_type = BUSINESS_ACTIVITY_CFG -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.type = 11 -BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD.cpp_type = 10 - -BUSINESS_ACTIVITY_CFGS.name = "business_activity_cfgs" -BUSINESS_ACTIVITY_CFGS.full_name = ".ftcfg.business_activity_cfgs" -BUSINESS_ACTIVITY_CFGS.nested_types = {} -BUSINESS_ACTIVITY_CFGS.enum_types = {} -BUSINESS_ACTIVITY_CFGS.fields = {BUSINESS_ACTIVITY_CFGS_ITEMS_FIELD} -BUSINESS_ACTIVITY_CFGS.is_extendable = false -BUSINESS_ACTIVITY_CFGS.extensions = {} -ACTIVITY_CFG_GUID_FIELD.name = "guid" -ACTIVITY_CFG_GUID_FIELD.full_name = ".ftcfg.activity_cfg.guid" -ACTIVITY_CFG_GUID_FIELD.number = 1 -ACTIVITY_CFG_GUID_FIELD.index = 0 -ACTIVITY_CFG_GUID_FIELD.label = 2 -ACTIVITY_CFG_GUID_FIELD.has_default_value = false -ACTIVITY_CFG_GUID_FIELD.default_value = 0 -ACTIVITY_CFG_GUID_FIELD.type = 13 -ACTIVITY_CFG_GUID_FIELD.cpp_type = 3 - -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.name = "dactivity_name" -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.full_name = ".ftcfg.activity_cfg.dactivity_name" -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.number = 2 -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.index = 1 -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.label = 2 -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.has_default_value = false -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.default_value = 0 -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.type = 5 -ACTIVITY_CFG_DACTIVITY_NAME_FIELD.cpp_type = 1 - -ACTIVITY_CFG_NAME_FIELD.name = "name" -ACTIVITY_CFG_NAME_FIELD.full_name = ".ftcfg.activity_cfg.name" -ACTIVITY_CFG_NAME_FIELD.number = 3 -ACTIVITY_CFG_NAME_FIELD.index = 2 -ACTIVITY_CFG_NAME_FIELD.label = 2 -ACTIVITY_CFG_NAME_FIELD.has_default_value = false -ACTIVITY_CFG_NAME_FIELD.default_value = "" -ACTIVITY_CFG_NAME_FIELD.type = 9 -ACTIVITY_CFG_NAME_FIELD.cpp_type = 9 - -ACTIVITY_CFG_TYPE_FIELD.name = "type" -ACTIVITY_CFG_TYPE_FIELD.full_name = ".ftcfg.activity_cfg.type" -ACTIVITY_CFG_TYPE_FIELD.number = 4 -ACTIVITY_CFG_TYPE_FIELD.index = 3 -ACTIVITY_CFG_TYPE_FIELD.label = 2 -ACTIVITY_CFG_TYPE_FIELD.has_default_value = false -ACTIVITY_CFG_TYPE_FIELD.default_value = 0 -ACTIVITY_CFG_TYPE_FIELD.type = 13 -ACTIVITY_CFG_TYPE_FIELD.cpp_type = 3 - -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.name = "activity_play" -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.full_name = ".ftcfg.activity_cfg.activity_play" -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.number = 5 -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.index = 4 -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.label = 2 -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.has_default_value = false -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.default_value = 0 -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.type = 13 -ACTIVITY_CFG_ACTIVITY_PLAY_FIELD.cpp_type = 3 - -ACTIVITY_CFG_NEED_LEVEL_FIELD.name = "need_level" -ACTIVITY_CFG_NEED_LEVEL_FIELD.full_name = ".ftcfg.activity_cfg.need_level" -ACTIVITY_CFG_NEED_LEVEL_FIELD.number = 6 -ACTIVITY_CFG_NEED_LEVEL_FIELD.index = 5 -ACTIVITY_CFG_NEED_LEVEL_FIELD.label = 2 -ACTIVITY_CFG_NEED_LEVEL_FIELD.has_default_value = false -ACTIVITY_CFG_NEED_LEVEL_FIELD.default_value = 0 -ACTIVITY_CFG_NEED_LEVEL_FIELD.type = 13 -ACTIVITY_CFG_NEED_LEVEL_FIELD.cpp_type = 3 - -ACTIVITY_CFG_TOTAL_TIMES_FIELD.name = "total_times" -ACTIVITY_CFG_TOTAL_TIMES_FIELD.full_name = ".ftcfg.activity_cfg.total_times" -ACTIVITY_CFG_TOTAL_TIMES_FIELD.number = 7 -ACTIVITY_CFG_TOTAL_TIMES_FIELD.index = 6 -ACTIVITY_CFG_TOTAL_TIMES_FIELD.label = 2 -ACTIVITY_CFG_TOTAL_TIMES_FIELD.has_default_value = false -ACTIVITY_CFG_TOTAL_TIMES_FIELD.default_value = 0 -ACTIVITY_CFG_TOTAL_TIMES_FIELD.type = 13 -ACTIVITY_CFG_TOTAL_TIMES_FIELD.cpp_type = 3 - -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.name = "activation_point" -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.full_name = ".ftcfg.activity_cfg.activation_point" -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.number = 8 -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.index = 7 -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.label = 2 -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.has_default_value = false -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.default_value = 0 -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.type = 13 -ACTIVITY_CFG_ACTIVATION_POINT_FIELD.cpp_type = 3 - -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.name = "activation_toplimit" -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.full_name = ".ftcfg.activity_cfg.activation_toplimit" -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.number = 9 -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.index = 8 -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.label = 2 -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.has_default_value = false -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.default_value = 0 -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.type = 13 -ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD.cpp_type = 3 - -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.name = "activation_mode" -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.full_name = ".ftcfg.activity_cfg.activation_mode" -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.number = 10 -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.index = 9 -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.label = 2 -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.has_default_value = false -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.default_value = 0 -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.type = 13 -ACTIVITY_CFG_ACTIVATION_MODE_FIELD.cpp_type = 3 - -ACTIVITY_CFG_START_WEEKS_FIELD.name = "start_weeks" -ACTIVITY_CFG_START_WEEKS_FIELD.full_name = ".ftcfg.activity_cfg.start_weeks" -ACTIVITY_CFG_START_WEEKS_FIELD.number = 11 -ACTIVITY_CFG_START_WEEKS_FIELD.index = 10 -ACTIVITY_CFG_START_WEEKS_FIELD.label = 3 -ACTIVITY_CFG_START_WEEKS_FIELD.has_default_value = false -ACTIVITY_CFG_START_WEEKS_FIELD.default_value = {} -ACTIVITY_CFG_START_WEEKS_FIELD.type = 13 -ACTIVITY_CFG_START_WEEKS_FIELD.cpp_type = 3 - -ACTIVITY_CFG_SIGNUP_TIME_FIELD.name = "signup_time" -ACTIVITY_CFG_SIGNUP_TIME_FIELD.full_name = ".ftcfg.activity_cfg.signup_time" -ACTIVITY_CFG_SIGNUP_TIME_FIELD.number = 12 -ACTIVITY_CFG_SIGNUP_TIME_FIELD.index = 11 -ACTIVITY_CFG_SIGNUP_TIME_FIELD.label = 3 -ACTIVITY_CFG_SIGNUP_TIME_FIELD.has_default_value = false -ACTIVITY_CFG_SIGNUP_TIME_FIELD.default_value = {} -ACTIVITY_CFG_SIGNUP_TIME_FIELD.type = 9 -ACTIVITY_CFG_SIGNUP_TIME_FIELD.cpp_type = 9 - -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.name = "signdown_time" -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.full_name = ".ftcfg.activity_cfg.signdown_time" -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.number = 13 -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.index = 12 -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.label = 3 -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.has_default_value = false -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.default_value = {} -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.type = 9 -ACTIVITY_CFG_SIGNDOWN_TIME_FIELD.cpp_type = 9 - -ACTIVITY_CFG_BEGIN_TIME_FIELD.name = "begin_time" -ACTIVITY_CFG_BEGIN_TIME_FIELD.full_name = ".ftcfg.activity_cfg.begin_time" -ACTIVITY_CFG_BEGIN_TIME_FIELD.number = 14 -ACTIVITY_CFG_BEGIN_TIME_FIELD.index = 13 -ACTIVITY_CFG_BEGIN_TIME_FIELD.label = 3 -ACTIVITY_CFG_BEGIN_TIME_FIELD.has_default_value = false -ACTIVITY_CFG_BEGIN_TIME_FIELD.default_value = {} -ACTIVITY_CFG_BEGIN_TIME_FIELD.type = 9 -ACTIVITY_CFG_BEGIN_TIME_FIELD.cpp_type = 9 - -ACTIVITY_CFG_END_TIME_FIELD.name = "end_time" -ACTIVITY_CFG_END_TIME_FIELD.full_name = ".ftcfg.activity_cfg.end_time" -ACTIVITY_CFG_END_TIME_FIELD.number = 15 -ACTIVITY_CFG_END_TIME_FIELD.index = 14 -ACTIVITY_CFG_END_TIME_FIELD.label = 3 -ACTIVITY_CFG_END_TIME_FIELD.has_default_value = false -ACTIVITY_CFG_END_TIME_FIELD.default_value = {} -ACTIVITY_CFG_END_TIME_FIELD.type = 9 -ACTIVITY_CFG_END_TIME_FIELD.cpp_type = 9 - -ACTIVITY_CFG_DAILY_TYPE_FIELD.name = "daily_type" -ACTIVITY_CFG_DAILY_TYPE_FIELD.full_name = ".ftcfg.activity_cfg.daily_type" -ACTIVITY_CFG_DAILY_TYPE_FIELD.number = 16 -ACTIVITY_CFG_DAILY_TYPE_FIELD.index = 15 -ACTIVITY_CFG_DAILY_TYPE_FIELD.label = 2 -ACTIVITY_CFG_DAILY_TYPE_FIELD.has_default_value = false -ACTIVITY_CFG_DAILY_TYPE_FIELD.default_value = 0 -ACTIVITY_CFG_DAILY_TYPE_FIELD.type = 5 -ACTIVITY_CFG_DAILY_TYPE_FIELD.cpp_type = 1 - -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.name = "whether_battle" -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.full_name = ".ftcfg.activity_cfg.whether_battle" -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.number = 17 -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.index = 16 -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.label = 2 -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.has_default_value = false -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.default_value = 0 -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.type = 5 -ACTIVITY_CFG_WHETHER_BATTLE_FIELD.cpp_type = 1 - -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.name = "dactivity_icon" -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.full_name = ".ftcfg.activity_cfg.dactivity_icon" -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.number = 18 -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.index = 17 -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.label = 2 -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.has_default_value = false -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.default_value = 0 -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.type = 5 -ACTIVITY_CFG_DACTIVITY_ICON_FIELD.cpp_type = 1 - -ACTIVITY_CFG_PARTAKE_MODE_FIELD.name = "partake_mode" -ACTIVITY_CFG_PARTAKE_MODE_FIELD.full_name = ".ftcfg.activity_cfg.partake_mode" -ACTIVITY_CFG_PARTAKE_MODE_FIELD.number = 19 -ACTIVITY_CFG_PARTAKE_MODE_FIELD.index = 18 -ACTIVITY_CFG_PARTAKE_MODE_FIELD.label = 2 -ACTIVITY_CFG_PARTAKE_MODE_FIELD.has_default_value = false -ACTIVITY_CFG_PARTAKE_MODE_FIELD.default_value = 0 -ACTIVITY_CFG_PARTAKE_MODE_FIELD.type = 5 -ACTIVITY_CFG_PARTAKE_MODE_FIELD.cpp_type = 1 - -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.name = "partake_subtype" -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.full_name = ".ftcfg.activity_cfg.partake_subtype" -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.number = 20 -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.index = 19 -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.label = 2 -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.has_default_value = false -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.default_value = 0 -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.type = 5 -ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD.cpp_type = 1 - -ACTIVITY_CFG_TICKETITEM_ID_FIELD.name = "ticketitem_id" -ACTIVITY_CFG_TICKETITEM_ID_FIELD.full_name = ".ftcfg.activity_cfg.ticketitem_id" -ACTIVITY_CFG_TICKETITEM_ID_FIELD.number = 21 -ACTIVITY_CFG_TICKETITEM_ID_FIELD.index = 20 -ACTIVITY_CFG_TICKETITEM_ID_FIELD.label = 2 -ACTIVITY_CFG_TICKETITEM_ID_FIELD.has_default_value = false -ACTIVITY_CFG_TICKETITEM_ID_FIELD.default_value = 0 -ACTIVITY_CFG_TICKETITEM_ID_FIELD.type = 5 -ACTIVITY_CFG_TICKETITEM_ID_FIELD.cpp_type = 1 - -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.name = "ticketitem_count" -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.full_name = ".ftcfg.activity_cfg.ticketitem_count" -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.number = 22 -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.index = 21 -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.label = 2 -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.has_default_value = false -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.default_value = 0 -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.type = 5 -ACTIVITY_CFG_TICKETITEM_COUNT_FIELD.cpp_type = 1 - -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.name = "conduct_sceneid" -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.full_name = ".ftcfg.activity_cfg.conduct_sceneid" -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.number = 23 -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.index = 22 -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.label = 2 -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.has_default_value = false -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.default_value = 0 -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.type = 5 -ACTIVITY_CFG_CONDUCT_SCENEID_FIELD.cpp_type = 1 - -ACTIVITY_CFG_FINDING_PATH_FIELD.name = "finding_path" -ACTIVITY_CFG_FINDING_PATH_FIELD.full_name = ".ftcfg.activity_cfg.finding_path" -ACTIVITY_CFG_FINDING_PATH_FIELD.number = 24 -ACTIVITY_CFG_FINDING_PATH_FIELD.index = 23 -ACTIVITY_CFG_FINDING_PATH_FIELD.label = 2 -ACTIVITY_CFG_FINDING_PATH_FIELD.has_default_value = false -ACTIVITY_CFG_FINDING_PATH_FIELD.default_value = 0 -ACTIVITY_CFG_FINDING_PATH_FIELD.type = 5 -ACTIVITY_CFG_FINDING_PATH_FIELD.cpp_type = 1 - -ACTIVITY_CFG_OPEN_FUNC_FIELD.name = "open_func" -ACTIVITY_CFG_OPEN_FUNC_FIELD.full_name = ".ftcfg.activity_cfg.open_func" -ACTIVITY_CFG_OPEN_FUNC_FIELD.number = 25 -ACTIVITY_CFG_OPEN_FUNC_FIELD.index = 24 -ACTIVITY_CFG_OPEN_FUNC_FIELD.label = 2 -ACTIVITY_CFG_OPEN_FUNC_FIELD.has_default_value = false -ACTIVITY_CFG_OPEN_FUNC_FIELD.default_value = nil -ACTIVITY_CFG_OPEN_FUNC_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -ACTIVITY_CFG_OPEN_FUNC_FIELD.type = 14 -ACTIVITY_CFG_OPEN_FUNC_FIELD.cpp_type = 8 - -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.name = "open_func_param" -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.full_name = ".ftcfg.activity_cfg.open_func_param" -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.number = 26 -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.index = 25 -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.label = 2 -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.has_default_value = false -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.default_value = 0 -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.type = 5 -ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD.cpp_type = 1 - -ACTIVITY_CFG_ITEM_ID_FIELD.name = "item_id" -ACTIVITY_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.activity_cfg.item_id" -ACTIVITY_CFG_ITEM_ID_FIELD.number = 27 -ACTIVITY_CFG_ITEM_ID_FIELD.index = 26 -ACTIVITY_CFG_ITEM_ID_FIELD.label = 2 -ACTIVITY_CFG_ITEM_ID_FIELD.has_default_value = false -ACTIVITY_CFG_ITEM_ID_FIELD.default_value = 0 -ACTIVITY_CFG_ITEM_ID_FIELD.type = 5 -ACTIVITY_CFG_ITEM_ID_FIELD.cpp_type = 1 - -ACTIVITY_CFG_ITEM_COUNT_FIELD.name = "item_count" -ACTIVITY_CFG_ITEM_COUNT_FIELD.full_name = ".ftcfg.activity_cfg.item_count" -ACTIVITY_CFG_ITEM_COUNT_FIELD.number = 28 -ACTIVITY_CFG_ITEM_COUNT_FIELD.index = 27 -ACTIVITY_CFG_ITEM_COUNT_FIELD.label = 2 -ACTIVITY_CFG_ITEM_COUNT_FIELD.has_default_value = false -ACTIVITY_CFG_ITEM_COUNT_FIELD.default_value = 0 -ACTIVITY_CFG_ITEM_COUNT_FIELD.type = 5 -ACTIVITY_CFG_ITEM_COUNT_FIELD.cpp_type = 1 - -ACTIVITY_CFG_TIME_SHOW_FIELD.name = "time_show" -ACTIVITY_CFG_TIME_SHOW_FIELD.full_name = ".ftcfg.activity_cfg.time_show" -ACTIVITY_CFG_TIME_SHOW_FIELD.number = 29 -ACTIVITY_CFG_TIME_SHOW_FIELD.index = 28 -ACTIVITY_CFG_TIME_SHOW_FIELD.label = 2 -ACTIVITY_CFG_TIME_SHOW_FIELD.has_default_value = false -ACTIVITY_CFG_TIME_SHOW_FIELD.default_value = 0 -ACTIVITY_CFG_TIME_SHOW_FIELD.type = 5 -ACTIVITY_CFG_TIME_SHOW_FIELD.cpp_type = 1 - -ACTIVITY_CFG_FORM_SHOW_FIELD.name = "form_show" -ACTIVITY_CFG_FORM_SHOW_FIELD.full_name = ".ftcfg.activity_cfg.form_show" -ACTIVITY_CFG_FORM_SHOW_FIELD.number = 30 -ACTIVITY_CFG_FORM_SHOW_FIELD.index = 29 -ACTIVITY_CFG_FORM_SHOW_FIELD.label = 2 -ACTIVITY_CFG_FORM_SHOW_FIELD.has_default_value = false -ACTIVITY_CFG_FORM_SHOW_FIELD.default_value = 0 -ACTIVITY_CFG_FORM_SHOW_FIELD.type = 5 -ACTIVITY_CFG_FORM_SHOW_FIELD.cpp_type = 1 - -ACTIVITY_CFG_TIPS_SHOW_FIELD.name = "tips_show" -ACTIVITY_CFG_TIPS_SHOW_FIELD.full_name = ".ftcfg.activity_cfg.tips_show" -ACTIVITY_CFG_TIPS_SHOW_FIELD.number = 31 -ACTIVITY_CFG_TIPS_SHOW_FIELD.index = 30 -ACTIVITY_CFG_TIPS_SHOW_FIELD.label = 2 -ACTIVITY_CFG_TIPS_SHOW_FIELD.has_default_value = false -ACTIVITY_CFG_TIPS_SHOW_FIELD.default_value = 0 -ACTIVITY_CFG_TIPS_SHOW_FIELD.type = 5 -ACTIVITY_CFG_TIPS_SHOW_FIELD.cpp_type = 1 - -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.name = "crystal_show" -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.full_name = ".ftcfg.activity_cfg.crystal_show" -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.number = 32 -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.index = 31 -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.label = 3 -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.has_default_value = false -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.default_value = {} -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.type = 5 -ACTIVITY_CFG_CRYSTAL_SHOW_FIELD.cpp_type = 1 - -ACTIVITY_CFG_ITEMS_SHOW_FIELD.name = "items_show" -ACTIVITY_CFG_ITEMS_SHOW_FIELD.full_name = ".ftcfg.activity_cfg.items_show" -ACTIVITY_CFG_ITEMS_SHOW_FIELD.number = 33 -ACTIVITY_CFG_ITEMS_SHOW_FIELD.index = 32 -ACTIVITY_CFG_ITEMS_SHOW_FIELD.label = 3 -ACTIVITY_CFG_ITEMS_SHOW_FIELD.has_default_value = false -ACTIVITY_CFG_ITEMS_SHOW_FIELD.default_value = {} -ACTIVITY_CFG_ITEMS_SHOW_FIELD.type = 5 -ACTIVITY_CFG_ITEMS_SHOW_FIELD.cpp_type = 1 - -ACTIVITY_CFG_CUE_SHOW_FIELD.name = "cue_show" -ACTIVITY_CFG_CUE_SHOW_FIELD.full_name = ".ftcfg.activity_cfg.cue_show" -ACTIVITY_CFG_CUE_SHOW_FIELD.number = 34 -ACTIVITY_CFG_CUE_SHOW_FIELD.index = 33 -ACTIVITY_CFG_CUE_SHOW_FIELD.label = 2 -ACTIVITY_CFG_CUE_SHOW_FIELD.has_default_value = false -ACTIVITY_CFG_CUE_SHOW_FIELD.default_value = 0 -ACTIVITY_CFG_CUE_SHOW_FIELD.type = 5 -ACTIVITY_CFG_CUE_SHOW_FIELD.cpp_type = 1 - -ACTIVITY_CFG_CUE_TEXT_FIELD.name = "cue_text" -ACTIVITY_CFG_CUE_TEXT_FIELD.full_name = ".ftcfg.activity_cfg.cue_text" -ACTIVITY_CFG_CUE_TEXT_FIELD.number = 35 -ACTIVITY_CFG_CUE_TEXT_FIELD.index = 34 -ACTIVITY_CFG_CUE_TEXT_FIELD.label = 2 -ACTIVITY_CFG_CUE_TEXT_FIELD.has_default_value = false -ACTIVITY_CFG_CUE_TEXT_FIELD.default_value = 0 -ACTIVITY_CFG_CUE_TEXT_FIELD.type = 5 -ACTIVITY_CFG_CUE_TEXT_FIELD.cpp_type = 1 - -ACTIVITY_CFG_CORRECT_TEXT_FIELD.name = "correct_text" -ACTIVITY_CFG_CORRECT_TEXT_FIELD.full_name = ".ftcfg.activity_cfg.correct_text" -ACTIVITY_CFG_CORRECT_TEXT_FIELD.number = 36 -ACTIVITY_CFG_CORRECT_TEXT_FIELD.index = 35 -ACTIVITY_CFG_CORRECT_TEXT_FIELD.label = 2 -ACTIVITY_CFG_CORRECT_TEXT_FIELD.has_default_value = false -ACTIVITY_CFG_CORRECT_TEXT_FIELD.default_value = 0 -ACTIVITY_CFG_CORRECT_TEXT_FIELD.type = 5 -ACTIVITY_CFG_CORRECT_TEXT_FIELD.cpp_type = 1 - -ACTIVITY_CFG_NEGATE_TEXT_FIELD.name = "negate_text" -ACTIVITY_CFG_NEGATE_TEXT_FIELD.full_name = ".ftcfg.activity_cfg.negate_text" -ACTIVITY_CFG_NEGATE_TEXT_FIELD.number = 37 -ACTIVITY_CFG_NEGATE_TEXT_FIELD.index = 36 -ACTIVITY_CFG_NEGATE_TEXT_FIELD.label = 2 -ACTIVITY_CFG_NEGATE_TEXT_FIELD.has_default_value = false -ACTIVITY_CFG_NEGATE_TEXT_FIELD.default_value = 0 -ACTIVITY_CFG_NEGATE_TEXT_FIELD.type = 5 -ACTIVITY_CFG_NEGATE_TEXT_FIELD.cpp_type = 1 - -ACTIVITY_CFG.name = "activity_cfg" -ACTIVITY_CFG.full_name = ".ftcfg.activity_cfg" -ACTIVITY_CFG.nested_types = {} -ACTIVITY_CFG.enum_types = {} -ACTIVITY_CFG.fields = {ACTIVITY_CFG_GUID_FIELD, ACTIVITY_CFG_DACTIVITY_NAME_FIELD, ACTIVITY_CFG_NAME_FIELD, ACTIVITY_CFG_TYPE_FIELD, ACTIVITY_CFG_ACTIVITY_PLAY_FIELD, ACTIVITY_CFG_NEED_LEVEL_FIELD, ACTIVITY_CFG_TOTAL_TIMES_FIELD, ACTIVITY_CFG_ACTIVATION_POINT_FIELD, ACTIVITY_CFG_ACTIVATION_TOPLIMIT_FIELD, ACTIVITY_CFG_ACTIVATION_MODE_FIELD, ACTIVITY_CFG_START_WEEKS_FIELD, ACTIVITY_CFG_SIGNUP_TIME_FIELD, ACTIVITY_CFG_SIGNDOWN_TIME_FIELD, ACTIVITY_CFG_BEGIN_TIME_FIELD, ACTIVITY_CFG_END_TIME_FIELD, ACTIVITY_CFG_DAILY_TYPE_FIELD, ACTIVITY_CFG_WHETHER_BATTLE_FIELD, ACTIVITY_CFG_DACTIVITY_ICON_FIELD, ACTIVITY_CFG_PARTAKE_MODE_FIELD, ACTIVITY_CFG_PARTAKE_SUBTYPE_FIELD, ACTIVITY_CFG_TICKETITEM_ID_FIELD, ACTIVITY_CFG_TICKETITEM_COUNT_FIELD, ACTIVITY_CFG_CONDUCT_SCENEID_FIELD, ACTIVITY_CFG_FINDING_PATH_FIELD, ACTIVITY_CFG_OPEN_FUNC_FIELD, ACTIVITY_CFG_OPEN_FUNC_PARAM_FIELD, ACTIVITY_CFG_ITEM_ID_FIELD, ACTIVITY_CFG_ITEM_COUNT_FIELD, ACTIVITY_CFG_TIME_SHOW_FIELD, ACTIVITY_CFG_FORM_SHOW_FIELD, ACTIVITY_CFG_TIPS_SHOW_FIELD, ACTIVITY_CFG_CRYSTAL_SHOW_FIELD, ACTIVITY_CFG_ITEMS_SHOW_FIELD, ACTIVITY_CFG_CUE_SHOW_FIELD, ACTIVITY_CFG_CUE_TEXT_FIELD, ACTIVITY_CFG_CORRECT_TEXT_FIELD, ACTIVITY_CFG_NEGATE_TEXT_FIELD} -ACTIVITY_CFG.is_extendable = false -ACTIVITY_CFG.extensions = {} -ACTIVITY_CFGS_ITEMS_FIELD.name = "items" -ACTIVITY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.activity_cfgs.items" -ACTIVITY_CFGS_ITEMS_FIELD.number = 1 -ACTIVITY_CFGS_ITEMS_FIELD.index = 0 -ACTIVITY_CFGS_ITEMS_FIELD.label = 3 -ACTIVITY_CFGS_ITEMS_FIELD.has_default_value = false -ACTIVITY_CFGS_ITEMS_FIELD.default_value = {} -ACTIVITY_CFGS_ITEMS_FIELD.message_type = ACTIVITY_CFG -ACTIVITY_CFGS_ITEMS_FIELD.type = 11 -ACTIVITY_CFGS_ITEMS_FIELD.cpp_type = 10 - -ACTIVITY_CFGS.name = "activity_cfgs" -ACTIVITY_CFGS.full_name = ".ftcfg.activity_cfgs" -ACTIVITY_CFGS.nested_types = {} -ACTIVITY_CFGS.enum_types = {} -ACTIVITY_CFGS.fields = {ACTIVITY_CFGS_ITEMS_FIELD} -ACTIVITY_CFGS.is_extendable = false -ACTIVITY_CFGS.extensions = {} -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.name = "everyday_toplimit" -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.full_name = ".ftcfg.activation_cfg.everyday_toplimit" -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.number = 1 -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.index = 0 -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.label = 2 -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.has_default_value = false -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.default_value = 0 -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.type = 13 -ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD.cpp_type = 3 - -ACTIVATION_CFG_RESET_TIME_FIELD.name = "reset_time" -ACTIVATION_CFG_RESET_TIME_FIELD.full_name = ".ftcfg.activation_cfg.reset_time" -ACTIVATION_CFG_RESET_TIME_FIELD.number = 2 -ACTIVATION_CFG_RESET_TIME_FIELD.index = 1 -ACTIVATION_CFG_RESET_TIME_FIELD.label = 3 -ACTIVATION_CFG_RESET_TIME_FIELD.has_default_value = false -ACTIVATION_CFG_RESET_TIME_FIELD.default_value = {} -ACTIVATION_CFG_RESET_TIME_FIELD.type = 9 -ACTIVATION_CFG_RESET_TIME_FIELD.cpp_type = 9 - -ACTIVATION_CFG_DEPOSIT_LV_FIELD.name = "deposit_lv" -ACTIVATION_CFG_DEPOSIT_LV_FIELD.full_name = ".ftcfg.activation_cfg.deposit_lv" -ACTIVATION_CFG_DEPOSIT_LV_FIELD.number = 3 -ACTIVATION_CFG_DEPOSIT_LV_FIELD.index = 2 -ACTIVATION_CFG_DEPOSIT_LV_FIELD.label = 3 -ACTIVATION_CFG_DEPOSIT_LV_FIELD.has_default_value = false -ACTIVATION_CFG_DEPOSIT_LV_FIELD.default_value = {} -ACTIVATION_CFG_DEPOSIT_LV_FIELD.type = 13 -ACTIVATION_CFG_DEPOSIT_LV_FIELD.cpp_type = 3 - -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.name = "deposit_toplimit" -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.full_name = ".ftcfg.activation_cfg.deposit_toplimit" -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.number = 4 -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.index = 3 -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.label = 3 -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.has_default_value = false -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.default_value = {} -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.type = 13 -ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD.cpp_type = 3 - -ACTIVATION_CFG.name = "activation_cfg" -ACTIVATION_CFG.full_name = ".ftcfg.activation_cfg" -ACTIVATION_CFG.nested_types = {} -ACTIVATION_CFG.enum_types = {} -ACTIVATION_CFG.fields = {ACTIVATION_CFG_EVERYDAY_TOPLIMIT_FIELD, ACTIVATION_CFG_RESET_TIME_FIELD, ACTIVATION_CFG_DEPOSIT_LV_FIELD, ACTIVATION_CFG_DEPOSIT_TOPLIMIT_FIELD} -ACTIVATION_CFG.is_extendable = false -ACTIVATION_CFG.extensions = {} -ACTIVATION_CFGS_ITEMS_FIELD.name = "items" -ACTIVATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.activation_cfgs.items" -ACTIVATION_CFGS_ITEMS_FIELD.number = 1 -ACTIVATION_CFGS_ITEMS_FIELD.index = 0 -ACTIVATION_CFGS_ITEMS_FIELD.label = 3 -ACTIVATION_CFGS_ITEMS_FIELD.has_default_value = false -ACTIVATION_CFGS_ITEMS_FIELD.default_value = {} -ACTIVATION_CFGS_ITEMS_FIELD.message_type = ACTIVATION_CFG -ACTIVATION_CFGS_ITEMS_FIELD.type = 11 -ACTIVATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -ACTIVATION_CFGS.name = "activation_cfgs" -ACTIVATION_CFGS.full_name = ".ftcfg.activation_cfgs" -ACTIVATION_CFGS.nested_types = {} -ACTIVATION_CFGS.enum_types = {} -ACTIVATION_CFGS.fields = {ACTIVATION_CFGS_ITEMS_FIELD} -ACTIVATION_CFGS.is_extendable = false -ACTIVATION_CFGS.extensions = {} -ACTIVATION_REWARD_CFG_ID_FIELD.name = "id" -ACTIVATION_REWARD_CFG_ID_FIELD.full_name = ".ftcfg.activation_reward_cfg.id" -ACTIVATION_REWARD_CFG_ID_FIELD.number = 1 -ACTIVATION_REWARD_CFG_ID_FIELD.index = 0 -ACTIVATION_REWARD_CFG_ID_FIELD.label = 2 -ACTIVATION_REWARD_CFG_ID_FIELD.has_default_value = false -ACTIVATION_REWARD_CFG_ID_FIELD.default_value = 0 -ACTIVATION_REWARD_CFG_ID_FIELD.type = 13 -ACTIVATION_REWARD_CFG_ID_FIELD.cpp_type = 3 - -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.name = "activation_stage" -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.full_name = ".ftcfg.activation_reward_cfg.activation_stage" -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.number = 2 -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.index = 1 -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.label = 2 -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.has_default_value = false -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.default_value = 0 -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.type = 13 -ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD.cpp_type = 3 - -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.name = "reward_attribute_id" -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.full_name = ".ftcfg.activation_reward_cfg.reward_attribute_id" -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.number = 3 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.index = 2 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.label = 2 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.has_default_value = false -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.default_value = 0 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.type = 13 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.cpp_type = 3 - -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.name = "reward_attribute_count" -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.activation_reward_cfg.reward_attribute_count" -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.number = 4 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.index = 3 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.label = 2 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = 0 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.type = 13 -ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 3 - -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.name = "reward_item_id" -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.full_name = ".ftcfg.activation_reward_cfg.reward_item_id" -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.number = 5 -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.index = 4 -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.label = 2 -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.has_default_value = false -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.default_value = 0 -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.type = 13 -ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD.cpp_type = 3 - -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.name = "reward_item_count" -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.full_name = ".ftcfg.activation_reward_cfg.reward_item_count" -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.number = 6 -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.index = 5 -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.label = 2 -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.has_default_value = false -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.default_value = 0 -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.type = 13 -ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD.cpp_type = 3 - -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.name = "reward_plus" -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.full_name = ".ftcfg.activation_reward_cfg.reward_plus" -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.number = 7 -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.index = 6 -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.label = 2 -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.has_default_value = false -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.default_value = 0 -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.type = 13 -ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD.cpp_type = 3 - -ACTIVATION_REWARD_CFG.name = "activation_reward_cfg" -ACTIVATION_REWARD_CFG.full_name = ".ftcfg.activation_reward_cfg" -ACTIVATION_REWARD_CFG.nested_types = {} -ACTIVATION_REWARD_CFG.enum_types = {} -ACTIVATION_REWARD_CFG.fields = {ACTIVATION_REWARD_CFG_ID_FIELD, ACTIVATION_REWARD_CFG_ACTIVATION_STAGE_FIELD, ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD, ACTIVATION_REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD, ACTIVATION_REWARD_CFG_REWARD_ITEM_ID_FIELD, ACTIVATION_REWARD_CFG_REWARD_ITEM_COUNT_FIELD, ACTIVATION_REWARD_CFG_REWARD_PLUS_FIELD} -ACTIVATION_REWARD_CFG.is_extendable = false -ACTIVATION_REWARD_CFG.extensions = {} -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.name = "items" -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.activation_reward_cfgs.items" -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.number = 1 -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.index = 0 -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.label = 3 -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.has_default_value = false -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.default_value = {} -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.message_type = ACTIVATION_REWARD_CFG -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.type = 11 -ACTIVATION_REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -ACTIVATION_REWARD_CFGS.name = "activation_reward_cfgs" -ACTIVATION_REWARD_CFGS.full_name = ".ftcfg.activation_reward_cfgs" -ACTIVATION_REWARD_CFGS.nested_types = {} -ACTIVATION_REWARD_CFGS.enum_types = {} -ACTIVATION_REWARD_CFGS.fields = {ACTIVATION_REWARD_CFGS_ITEMS_FIELD} -ACTIVATION_REWARD_CFGS.is_extendable = false -ACTIVATION_REWARD_CFGS.extensions = {} -TRADE_TOP_TABS_CFG_ID_FIELD.name = "id" -TRADE_TOP_TABS_CFG_ID_FIELD.full_name = ".ftcfg.trade_top_tabs_cfg.id" -TRADE_TOP_TABS_CFG_ID_FIELD.number = 1 -TRADE_TOP_TABS_CFG_ID_FIELD.index = 0 -TRADE_TOP_TABS_CFG_ID_FIELD.label = 2 -TRADE_TOP_TABS_CFG_ID_FIELD.has_default_value = false -TRADE_TOP_TABS_CFG_ID_FIELD.default_value = 0 -TRADE_TOP_TABS_CFG_ID_FIELD.type = 5 -TRADE_TOP_TABS_CFG_ID_FIELD.cpp_type = 1 - -TRADE_TOP_TABS_CFG_NAME_FIELD.name = "name" -TRADE_TOP_TABS_CFG_NAME_FIELD.full_name = ".ftcfg.trade_top_tabs_cfg.name" -TRADE_TOP_TABS_CFG_NAME_FIELD.number = 2 -TRADE_TOP_TABS_CFG_NAME_FIELD.index = 1 -TRADE_TOP_TABS_CFG_NAME_FIELD.label = 2 -TRADE_TOP_TABS_CFG_NAME_FIELD.has_default_value = false -TRADE_TOP_TABS_CFG_NAME_FIELD.default_value = "" -TRADE_TOP_TABS_CFG_NAME_FIELD.type = 9 -TRADE_TOP_TABS_CFG_NAME_FIELD.cpp_type = 9 - -TRADE_TOP_TABS_CFG_TABS_FIELD.name = "tabs" -TRADE_TOP_TABS_CFG_TABS_FIELD.full_name = ".ftcfg.trade_top_tabs_cfg.tabs" -TRADE_TOP_TABS_CFG_TABS_FIELD.number = 3 -TRADE_TOP_TABS_CFG_TABS_FIELD.index = 2 -TRADE_TOP_TABS_CFG_TABS_FIELD.label = 3 -TRADE_TOP_TABS_CFG_TABS_FIELD.has_default_value = false -TRADE_TOP_TABS_CFG_TABS_FIELD.default_value = {} -TRADE_TOP_TABS_CFG_TABS_FIELD.type = 5 -TRADE_TOP_TABS_CFG_TABS_FIELD.cpp_type = 1 - -TRADE_TOP_TABS_CFG.name = "trade_top_tabs_cfg" -TRADE_TOP_TABS_CFG.full_name = ".ftcfg.trade_top_tabs_cfg" -TRADE_TOP_TABS_CFG.nested_types = {} -TRADE_TOP_TABS_CFG.enum_types = {} -TRADE_TOP_TABS_CFG.fields = {TRADE_TOP_TABS_CFG_ID_FIELD, TRADE_TOP_TABS_CFG_NAME_FIELD, TRADE_TOP_TABS_CFG_TABS_FIELD} -TRADE_TOP_TABS_CFG.is_extendable = false -TRADE_TOP_TABS_CFG.extensions = {} -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.name = "items" -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trade_top_tabs_cfgs.items" -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.number = 1 -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.index = 0 -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.label = 3 -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.has_default_value = false -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.default_value = {} -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.message_type = TRADE_TOP_TABS_CFG -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.type = 11 -TRADE_TOP_TABS_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRADE_TOP_TABS_CFGS.name = "trade_top_tabs_cfgs" -TRADE_TOP_TABS_CFGS.full_name = ".ftcfg.trade_top_tabs_cfgs" -TRADE_TOP_TABS_CFGS.nested_types = {} -TRADE_TOP_TABS_CFGS.enum_types = {} -TRADE_TOP_TABS_CFGS.fields = {TRADE_TOP_TABS_CFGS_ITEMS_FIELD} -TRADE_TOP_TABS_CFGS.is_extendable = false -TRADE_TOP_TABS_CFGS.extensions = {} -TRADE_SUB_TABS_CFG_ID_FIELD.name = "id" -TRADE_SUB_TABS_CFG_ID_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.id" -TRADE_SUB_TABS_CFG_ID_FIELD.number = 1 -TRADE_SUB_TABS_CFG_ID_FIELD.index = 0 -TRADE_SUB_TABS_CFG_ID_FIELD.label = 2 -TRADE_SUB_TABS_CFG_ID_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_ID_FIELD.default_value = 0 -TRADE_SUB_TABS_CFG_ID_FIELD.type = 5 -TRADE_SUB_TABS_CFG_ID_FIELD.cpp_type = 1 - -TRADE_SUB_TABS_CFG_NAME_FIELD.name = "name" -TRADE_SUB_TABS_CFG_NAME_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.name" -TRADE_SUB_TABS_CFG_NAME_FIELD.number = 2 -TRADE_SUB_TABS_CFG_NAME_FIELD.index = 1 -TRADE_SUB_TABS_CFG_NAME_FIELD.label = 2 -TRADE_SUB_TABS_CFG_NAME_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_NAME_FIELD.default_value = "" -TRADE_SUB_TABS_CFG_NAME_FIELD.type = 9 -TRADE_SUB_TABS_CFG_NAME_FIELD.cpp_type = 9 - -TRADE_SUB_TABS_CFG_RULES_FIELD.name = "rules" -TRADE_SUB_TABS_CFG_RULES_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.rules" -TRADE_SUB_TABS_CFG_RULES_FIELD.number = 3 -TRADE_SUB_TABS_CFG_RULES_FIELD.index = 2 -TRADE_SUB_TABS_CFG_RULES_FIELD.label = 3 -TRADE_SUB_TABS_CFG_RULES_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_RULES_FIELD.default_value = {} -TRADE_SUB_TABS_CFG_RULES_FIELD.type = 5 -TRADE_SUB_TABS_CFG_RULES_FIELD.cpp_type = 1 - -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.name = "filter_rules1" -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.filter_rules1" -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.number = 4 -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.index = 3 -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.label = 3 -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.default_value = {} -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.type = 5 -TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD.cpp_type = 1 - -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.name = "filter_rules2" -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.filter_rules2" -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.number = 5 -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.index = 4 -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.label = 3 -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.default_value = {} -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.type = 5 -TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD.cpp_type = 1 - -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.name = "filter_rules3" -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.filter_rules3" -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.number = 6 -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.index = 5 -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.label = 3 -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.default_value = {} -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.type = 5 -TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD.cpp_type = 1 - -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.name = "filter_rules4" -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.filter_rules4" -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.number = 7 -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.index = 6 -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.label = 3 -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.default_value = {} -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.type = 5 -TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD.cpp_type = 1 - -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.name = "sort_rules" -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfg.sort_rules" -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.number = 8 -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.index = 7 -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.label = 3 -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.has_default_value = false -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.default_value = {} -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.type = 5 -TRADE_SUB_TABS_CFG_SORT_RULES_FIELD.cpp_type = 1 - -TRADE_SUB_TABS_CFG.name = "trade_sub_tabs_cfg" -TRADE_SUB_TABS_CFG.full_name = ".ftcfg.trade_sub_tabs_cfg" -TRADE_SUB_TABS_CFG.nested_types = {} -TRADE_SUB_TABS_CFG.enum_types = {} -TRADE_SUB_TABS_CFG.fields = {TRADE_SUB_TABS_CFG_ID_FIELD, TRADE_SUB_TABS_CFG_NAME_FIELD, TRADE_SUB_TABS_CFG_RULES_FIELD, TRADE_SUB_TABS_CFG_FILTER_RULES1_FIELD, TRADE_SUB_TABS_CFG_FILTER_RULES2_FIELD, TRADE_SUB_TABS_CFG_FILTER_RULES3_FIELD, TRADE_SUB_TABS_CFG_FILTER_RULES4_FIELD, TRADE_SUB_TABS_CFG_SORT_RULES_FIELD} -TRADE_SUB_TABS_CFG.is_extendable = false -TRADE_SUB_TABS_CFG.extensions = {} -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.name = "items" -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trade_sub_tabs_cfgs.items" -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.number = 1 -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.index = 0 -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.label = 3 -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.has_default_value = false -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.default_value = {} -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.message_type = TRADE_SUB_TABS_CFG -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.type = 11 -TRADE_SUB_TABS_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRADE_SUB_TABS_CFGS.name = "trade_sub_tabs_cfgs" -TRADE_SUB_TABS_CFGS.full_name = ".ftcfg.trade_sub_tabs_cfgs" -TRADE_SUB_TABS_CFGS.nested_types = {} -TRADE_SUB_TABS_CFGS.enum_types = {} -TRADE_SUB_TABS_CFGS.fields = {TRADE_SUB_TABS_CFGS_ITEMS_FIELD} -TRADE_SUB_TABS_CFGS.is_extendable = false -TRADE_SUB_TABS_CFGS.extensions = {} -TRADE_FILTER_RULES_CFG_ID_FIELD.name = "id" -TRADE_FILTER_RULES_CFG_ID_FIELD.full_name = ".ftcfg.trade_filter_rules_cfg.id" -TRADE_FILTER_RULES_CFG_ID_FIELD.number = 1 -TRADE_FILTER_RULES_CFG_ID_FIELD.index = 0 -TRADE_FILTER_RULES_CFG_ID_FIELD.label = 2 -TRADE_FILTER_RULES_CFG_ID_FIELD.has_default_value = false -TRADE_FILTER_RULES_CFG_ID_FIELD.default_value = 0 -TRADE_FILTER_RULES_CFG_ID_FIELD.type = 5 -TRADE_FILTER_RULES_CFG_ID_FIELD.cpp_type = 1 - -TRADE_FILTER_RULES_CFG_NAME_FIELD.name = "name" -TRADE_FILTER_RULES_CFG_NAME_FIELD.full_name = ".ftcfg.trade_filter_rules_cfg.name" -TRADE_FILTER_RULES_CFG_NAME_FIELD.number = 2 -TRADE_FILTER_RULES_CFG_NAME_FIELD.index = 1 -TRADE_FILTER_RULES_CFG_NAME_FIELD.label = 2 -TRADE_FILTER_RULES_CFG_NAME_FIELD.has_default_value = false -TRADE_FILTER_RULES_CFG_NAME_FIELD.default_value = "" -TRADE_FILTER_RULES_CFG_NAME_FIELD.type = 9 -TRADE_FILTER_RULES_CFG_NAME_FIELD.cpp_type = 9 - -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.name = "fields" -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.full_name = ".ftcfg.trade_filter_rules_cfg.fields" -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.number = 3 -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.index = 2 -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.label = 3 -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.has_default_value = false -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.default_value = {} -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.type = 9 -TRADE_FILTER_RULES_CFG_FIELDS_FIELD.cpp_type = 9 - -TRADE_FILTER_RULES_CFG_VALUES_FIELD.name = "values" -TRADE_FILTER_RULES_CFG_VALUES_FIELD.full_name = ".ftcfg.trade_filter_rules_cfg.values" -TRADE_FILTER_RULES_CFG_VALUES_FIELD.number = 4 -TRADE_FILTER_RULES_CFG_VALUES_FIELD.index = 3 -TRADE_FILTER_RULES_CFG_VALUES_FIELD.label = 3 -TRADE_FILTER_RULES_CFG_VALUES_FIELD.has_default_value = false -TRADE_FILTER_RULES_CFG_VALUES_FIELD.default_value = {} -TRADE_FILTER_RULES_CFG_VALUES_FIELD.type = 5 -TRADE_FILTER_RULES_CFG_VALUES_FIELD.cpp_type = 1 - -TRADE_FILTER_RULES_CFG.name = "trade_filter_rules_cfg" -TRADE_FILTER_RULES_CFG.full_name = ".ftcfg.trade_filter_rules_cfg" -TRADE_FILTER_RULES_CFG.nested_types = {} -TRADE_FILTER_RULES_CFG.enum_types = {} -TRADE_FILTER_RULES_CFG.fields = {TRADE_FILTER_RULES_CFG_ID_FIELD, TRADE_FILTER_RULES_CFG_NAME_FIELD, TRADE_FILTER_RULES_CFG_FIELDS_FIELD, TRADE_FILTER_RULES_CFG_VALUES_FIELD} -TRADE_FILTER_RULES_CFG.is_extendable = false -TRADE_FILTER_RULES_CFG.extensions = {} -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.name = "items" -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trade_filter_rules_cfgs.items" -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.number = 1 -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.index = 0 -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.label = 3 -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.has_default_value = false -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.default_value = {} -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.message_type = TRADE_FILTER_RULES_CFG -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.type = 11 -TRADE_FILTER_RULES_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRADE_FILTER_RULES_CFGS.name = "trade_filter_rules_cfgs" -TRADE_FILTER_RULES_CFGS.full_name = ".ftcfg.trade_filter_rules_cfgs" -TRADE_FILTER_RULES_CFGS.nested_types = {} -TRADE_FILTER_RULES_CFGS.enum_types = {} -TRADE_FILTER_RULES_CFGS.fields = {TRADE_FILTER_RULES_CFGS_ITEMS_FIELD} -TRADE_FILTER_RULES_CFGS.is_extendable = false -TRADE_FILTER_RULES_CFGS.extensions = {} -TRADE_SORT_RULES_CFG_ID_FIELD.name = "id" -TRADE_SORT_RULES_CFG_ID_FIELD.full_name = ".ftcfg.trade_sort_rules_cfg.id" -TRADE_SORT_RULES_CFG_ID_FIELD.number = 1 -TRADE_SORT_RULES_CFG_ID_FIELD.index = 0 -TRADE_SORT_RULES_CFG_ID_FIELD.label = 2 -TRADE_SORT_RULES_CFG_ID_FIELD.has_default_value = false -TRADE_SORT_RULES_CFG_ID_FIELD.default_value = 0 -TRADE_SORT_RULES_CFG_ID_FIELD.type = 5 -TRADE_SORT_RULES_CFG_ID_FIELD.cpp_type = 1 - -TRADE_SORT_RULES_CFG_NAME_FIELD.name = "name" -TRADE_SORT_RULES_CFG_NAME_FIELD.full_name = ".ftcfg.trade_sort_rules_cfg.name" -TRADE_SORT_RULES_CFG_NAME_FIELD.number = 2 -TRADE_SORT_RULES_CFG_NAME_FIELD.index = 1 -TRADE_SORT_RULES_CFG_NAME_FIELD.label = 2 -TRADE_SORT_RULES_CFG_NAME_FIELD.has_default_value = false -TRADE_SORT_RULES_CFG_NAME_FIELD.default_value = "" -TRADE_SORT_RULES_CFG_NAME_FIELD.type = 9 -TRADE_SORT_RULES_CFG_NAME_FIELD.cpp_type = 9 - -TRADE_SORT_RULES_CFG_PROP_FIELD.name = "prop" -TRADE_SORT_RULES_CFG_PROP_FIELD.full_name = ".ftcfg.trade_sort_rules_cfg.prop" -TRADE_SORT_RULES_CFG_PROP_FIELD.number = 3 -TRADE_SORT_RULES_CFG_PROP_FIELD.index = 2 -TRADE_SORT_RULES_CFG_PROP_FIELD.label = 2 -TRADE_SORT_RULES_CFG_PROP_FIELD.has_default_value = false -TRADE_SORT_RULES_CFG_PROP_FIELD.default_value = 0 -TRADE_SORT_RULES_CFG_PROP_FIELD.type = 5 -TRADE_SORT_RULES_CFG_PROP_FIELD.cpp_type = 1 - -TRADE_SORT_RULES_CFG_UP_FIELD.name = "up" -TRADE_SORT_RULES_CFG_UP_FIELD.full_name = ".ftcfg.trade_sort_rules_cfg.up" -TRADE_SORT_RULES_CFG_UP_FIELD.number = 4 -TRADE_SORT_RULES_CFG_UP_FIELD.index = 3 -TRADE_SORT_RULES_CFG_UP_FIELD.label = 2 -TRADE_SORT_RULES_CFG_UP_FIELD.has_default_value = false -TRADE_SORT_RULES_CFG_UP_FIELD.default_value = false -TRADE_SORT_RULES_CFG_UP_FIELD.type = 8 -TRADE_SORT_RULES_CFG_UP_FIELD.cpp_type = 7 - -TRADE_SORT_RULES_CFG.name = "trade_sort_rules_cfg" -TRADE_SORT_RULES_CFG.full_name = ".ftcfg.trade_sort_rules_cfg" -TRADE_SORT_RULES_CFG.nested_types = {} -TRADE_SORT_RULES_CFG.enum_types = {} -TRADE_SORT_RULES_CFG.fields = {TRADE_SORT_RULES_CFG_ID_FIELD, TRADE_SORT_RULES_CFG_NAME_FIELD, TRADE_SORT_RULES_CFG_PROP_FIELD, TRADE_SORT_RULES_CFG_UP_FIELD} -TRADE_SORT_RULES_CFG.is_extendable = false -TRADE_SORT_RULES_CFG.extensions = {} -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.name = "items" -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trade_sort_rules_cfgs.items" -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.number = 1 -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.index = 0 -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.label = 3 -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.has_default_value = false -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.default_value = {} -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.message_type = TRADE_SORT_RULES_CFG -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.type = 11 -TRADE_SORT_RULES_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRADE_SORT_RULES_CFGS.name = "trade_sort_rules_cfgs" -TRADE_SORT_RULES_CFGS.full_name = ".ftcfg.trade_sort_rules_cfgs" -TRADE_SORT_RULES_CFGS.nested_types = {} -TRADE_SORT_RULES_CFGS.enum_types = {} -TRADE_SORT_RULES_CFGS.fields = {TRADE_SORT_RULES_CFGS_ITEMS_FIELD} -TRADE_SORT_RULES_CFGS.is_extendable = false -TRADE_SORT_RULES_CFGS.extensions = {} -BASE_PROP_CFG_PROF_TYPE_FIELD.name = "prof_type" -BASE_PROP_CFG_PROF_TYPE_FIELD.full_name = ".ftcfg.base_prop_cfg.prof_type" -BASE_PROP_CFG_PROF_TYPE_FIELD.number = 1 -BASE_PROP_CFG_PROF_TYPE_FIELD.index = 0 -BASE_PROP_CFG_PROF_TYPE_FIELD.label = 2 -BASE_PROP_CFG_PROF_TYPE_FIELD.has_default_value = false -BASE_PROP_CFG_PROF_TYPE_FIELD.default_value = nil -BASE_PROP_CFG_PROF_TYPE_FIELD.enum_type = config_predefine_pb.EPROFTYPE -BASE_PROP_CFG_PROF_TYPE_FIELD.type = 14 -BASE_PROP_CFG_PROF_TYPE_FIELD.cpp_type = 8 - -BASE_PROP_CFG_LEVEL_FIELD.name = "level" -BASE_PROP_CFG_LEVEL_FIELD.full_name = ".ftcfg.base_prop_cfg.level" -BASE_PROP_CFG_LEVEL_FIELD.number = 2 -BASE_PROP_CFG_LEVEL_FIELD.index = 1 -BASE_PROP_CFG_LEVEL_FIELD.label = 2 -BASE_PROP_CFG_LEVEL_FIELD.has_default_value = false -BASE_PROP_CFG_LEVEL_FIELD.default_value = 0 -BASE_PROP_CFG_LEVEL_FIELD.type = 5 -BASE_PROP_CFG_LEVEL_FIELD.cpp_type = 1 - -BASE_PROP_CFG_HP_MAX_FIELD.name = "hp_max" -BASE_PROP_CFG_HP_MAX_FIELD.full_name = ".ftcfg.base_prop_cfg.hp_max" -BASE_PROP_CFG_HP_MAX_FIELD.number = 3 -BASE_PROP_CFG_HP_MAX_FIELD.index = 2 -BASE_PROP_CFG_HP_MAX_FIELD.label = 2 -BASE_PROP_CFG_HP_MAX_FIELD.has_default_value = false -BASE_PROP_CFG_HP_MAX_FIELD.default_value = 0.0 -BASE_PROP_CFG_HP_MAX_FIELD.type = 1 -BASE_PROP_CFG_HP_MAX_FIELD.cpp_type = 5 - -BASE_PROP_CFG_MP_MAX_FIELD.name = "mp_max" -BASE_PROP_CFG_MP_MAX_FIELD.full_name = ".ftcfg.base_prop_cfg.mp_max" -BASE_PROP_CFG_MP_MAX_FIELD.number = 4 -BASE_PROP_CFG_MP_MAX_FIELD.index = 3 -BASE_PROP_CFG_MP_MAX_FIELD.label = 2 -BASE_PROP_CFG_MP_MAX_FIELD.has_default_value = false -BASE_PROP_CFG_MP_MAX_FIELD.default_value = 0.0 -BASE_PROP_CFG_MP_MAX_FIELD.type = 1 -BASE_PROP_CFG_MP_MAX_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ATTACK_FIELD.name = "attack" -BASE_PROP_CFG_ATTACK_FIELD.full_name = ".ftcfg.base_prop_cfg.attack" -BASE_PROP_CFG_ATTACK_FIELD.number = 5 -BASE_PROP_CFG_ATTACK_FIELD.index = 4 -BASE_PROP_CFG_ATTACK_FIELD.label = 2 -BASE_PROP_CFG_ATTACK_FIELD.has_default_value = false -BASE_PROP_CFG_ATTACK_FIELD.default_value = 0.0 -BASE_PROP_CFG_ATTACK_FIELD.type = 1 -BASE_PROP_CFG_ATTACK_FIELD.cpp_type = 5 - -BASE_PROP_CFG_DEFENSE_FIELD.name = "defense" -BASE_PROP_CFG_DEFENSE_FIELD.full_name = ".ftcfg.base_prop_cfg.defense" -BASE_PROP_CFG_DEFENSE_FIELD.number = 6 -BASE_PROP_CFG_DEFENSE_FIELD.index = 5 -BASE_PROP_CFG_DEFENSE_FIELD.label = 2 -BASE_PROP_CFG_DEFENSE_FIELD.has_default_value = false -BASE_PROP_CFG_DEFENSE_FIELD.default_value = 0.0 -BASE_PROP_CFG_DEFENSE_FIELD.type = 1 -BASE_PROP_CFG_DEFENSE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_HIT_FIELD.name = "hit" -BASE_PROP_CFG_HIT_FIELD.full_name = ".ftcfg.base_prop_cfg.hit" -BASE_PROP_CFG_HIT_FIELD.number = 7 -BASE_PROP_CFG_HIT_FIELD.index = 6 -BASE_PROP_CFG_HIT_FIELD.label = 2 -BASE_PROP_CFG_HIT_FIELD.has_default_value = false -BASE_PROP_CFG_HIT_FIELD.default_value = 0.0 -BASE_PROP_CFG_HIT_FIELD.type = 1 -BASE_PROP_CFG_HIT_FIELD.cpp_type = 5 - -BASE_PROP_CFG_DODGE_FIELD.name = "dodge" -BASE_PROP_CFG_DODGE_FIELD.full_name = ".ftcfg.base_prop_cfg.dodge" -BASE_PROP_CFG_DODGE_FIELD.number = 8 -BASE_PROP_CFG_DODGE_FIELD.index = 7 -BASE_PROP_CFG_DODGE_FIELD.label = 2 -BASE_PROP_CFG_DODGE_FIELD.has_default_value = false -BASE_PROP_CFG_DODGE_FIELD.default_value = 0.0 -BASE_PROP_CFG_DODGE_FIELD.type = 1 -BASE_PROP_CFG_DODGE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_CRITICAL_FIELD.name = "critical" -BASE_PROP_CFG_CRITICAL_FIELD.full_name = ".ftcfg.base_prop_cfg.critical" -BASE_PROP_CFG_CRITICAL_FIELD.number = 9 -BASE_PROP_CFG_CRITICAL_FIELD.index = 8 -BASE_PROP_CFG_CRITICAL_FIELD.label = 2 -BASE_PROP_CFG_CRITICAL_FIELD.has_default_value = false -BASE_PROP_CFG_CRITICAL_FIELD.default_value = 0.0 -BASE_PROP_CFG_CRITICAL_FIELD.type = 1 -BASE_PROP_CFG_CRITICAL_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.name = "anti_critical" -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_critical" -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.number = 10 -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.index = 9 -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.label = 2 -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.type = 1 -BASE_PROP_CFG_ANTI_CRITICAL_FIELD.cpp_type = 5 - -BASE_PROP_CFG_CRITICAL_POWER_FIELD.name = "critical_power" -BASE_PROP_CFG_CRITICAL_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.critical_power" -BASE_PROP_CFG_CRITICAL_POWER_FIELD.number = 11 -BASE_PROP_CFG_CRITICAL_POWER_FIELD.index = 10 -BASE_PROP_CFG_CRITICAL_POWER_FIELD.label = 2 -BASE_PROP_CFG_CRITICAL_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_CRITICAL_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_CRITICAL_POWER_FIELD.type = 1 -BASE_PROP_CFG_CRITICAL_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.name = "anti_critical_power" -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_critical_power" -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.number = 12 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.index = 11 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.label = 2 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.type = 1 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_XP_MAX_FIELD.name = "xp_max" -BASE_PROP_CFG_XP_MAX_FIELD.full_name = ".ftcfg.base_prop_cfg.xp_max" -BASE_PROP_CFG_XP_MAX_FIELD.number = 13 -BASE_PROP_CFG_XP_MAX_FIELD.index = 12 -BASE_PROP_CFG_XP_MAX_FIELD.label = 2 -BASE_PROP_CFG_XP_MAX_FIELD.has_default_value = false -BASE_PROP_CFG_XP_MAX_FIELD.default_value = 0.0 -BASE_PROP_CFG_XP_MAX_FIELD.type = 1 -BASE_PROP_CFG_XP_MAX_FIELD.cpp_type = 5 - -BASE_PROP_CFG_HIT_RATE_FIELD.name = "hit_rate" -BASE_PROP_CFG_HIT_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.hit_rate" -BASE_PROP_CFG_HIT_RATE_FIELD.number = 14 -BASE_PROP_CFG_HIT_RATE_FIELD.index = 13 -BASE_PROP_CFG_HIT_RATE_FIELD.label = 2 -BASE_PROP_CFG_HIT_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_HIT_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_HIT_RATE_FIELD.type = 1 -BASE_PROP_CFG_HIT_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_DODGE_RATE_FIELD.name = "dodge_rate" -BASE_PROP_CFG_DODGE_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.dodge_rate" -BASE_PROP_CFG_DODGE_RATE_FIELD.number = 15 -BASE_PROP_CFG_DODGE_RATE_FIELD.index = 14 -BASE_PROP_CFG_DODGE_RATE_FIELD.label = 2 -BASE_PROP_CFG_DODGE_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_DODGE_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_DODGE_RATE_FIELD.type = 1 -BASE_PROP_CFG_DODGE_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_CRITICAL_RATE_FIELD.name = "critical_rate" -BASE_PROP_CFG_CRITICAL_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.critical_rate" -BASE_PROP_CFG_CRITICAL_RATE_FIELD.number = 16 -BASE_PROP_CFG_CRITICAL_RATE_FIELD.index = 15 -BASE_PROP_CFG_CRITICAL_RATE_FIELD.label = 2 -BASE_PROP_CFG_CRITICAL_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_CRITICAL_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_CRITICAL_RATE_FIELD.type = 1 -BASE_PROP_CFG_CRITICAL_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.name = "anti_critical_rate" -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_critical_rate" -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.number = 17 -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.index = 16 -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.label = 2 -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.type = 1 -BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.name = "critical_power_rate" -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.critical_power_rate" -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.number = 18 -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.index = 17 -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.label = 2 -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.type = 1 -BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.name = "anti_critical_power_rate" -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_critical_power_rate" -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.number = 19 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.index = 18 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.label = 2 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.type = 1 -BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.name = "deceleratte_power" -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.deceleratte_power" -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.number = 20 -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.index = 19 -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.label = 2 -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.type = 1 -BASE_PROP_CFG_DECELERATTE_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.name = "anti_deceleratte_power" -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_deceleratte_power" -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.number = 21 -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.index = 20 -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.label = 2 -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.type = 1 -BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_SLEEP_POWER_FIELD.name = "sleep_power" -BASE_PROP_CFG_SLEEP_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.sleep_power" -BASE_PROP_CFG_SLEEP_POWER_FIELD.number = 22 -BASE_PROP_CFG_SLEEP_POWER_FIELD.index = 21 -BASE_PROP_CFG_SLEEP_POWER_FIELD.label = 2 -BASE_PROP_CFG_SLEEP_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_SLEEP_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_SLEEP_POWER_FIELD.type = 1 -BASE_PROP_CFG_SLEEP_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.name = "anti_sleep_power" -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_sleep_power" -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.number = 23 -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.index = 22 -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.label = 2 -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.type = 1 -BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_HOLD_POWER_FIELD.name = "hold_power" -BASE_PROP_CFG_HOLD_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.hold_power" -BASE_PROP_CFG_HOLD_POWER_FIELD.number = 24 -BASE_PROP_CFG_HOLD_POWER_FIELD.index = 23 -BASE_PROP_CFG_HOLD_POWER_FIELD.label = 2 -BASE_PROP_CFG_HOLD_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_HOLD_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_HOLD_POWER_FIELD.type = 1 -BASE_PROP_CFG_HOLD_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.name = "anti_hold_power" -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_hold_power" -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.number = 25 -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.index = 24 -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.label = 2 -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.type = 1 -BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_CHARM_POWER_FIELD.name = "charm_power" -BASE_PROP_CFG_CHARM_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.charm_power" -BASE_PROP_CFG_CHARM_POWER_FIELD.number = 26 -BASE_PROP_CFG_CHARM_POWER_FIELD.index = 25 -BASE_PROP_CFG_CHARM_POWER_FIELD.label = 2 -BASE_PROP_CFG_CHARM_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_CHARM_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_CHARM_POWER_FIELD.type = 1 -BASE_PROP_CFG_CHARM_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.name = "anti_charm_power" -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_charm_power" -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.number = 27 -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.index = 26 -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.label = 2 -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.type = 1 -BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_SILENCE_POWER_FIELD.name = "silence_power" -BASE_PROP_CFG_SILENCE_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.silence_power" -BASE_PROP_CFG_SILENCE_POWER_FIELD.number = 28 -BASE_PROP_CFG_SILENCE_POWER_FIELD.index = 27 -BASE_PROP_CFG_SILENCE_POWER_FIELD.label = 2 -BASE_PROP_CFG_SILENCE_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_SILENCE_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_SILENCE_POWER_FIELD.type = 1 -BASE_PROP_CFG_SILENCE_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.name = "anti_silence_power" -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.full_name = ".ftcfg.base_prop_cfg.anti_silence_power" -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.number = 29 -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.index = 28 -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.label = 2 -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.has_default_value = false -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.default_value = 0.0 -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.type = 1 -BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD.cpp_type = 5 - -BASE_PROP_CFG_SPEED_FIELD.name = "speed" -BASE_PROP_CFG_SPEED_FIELD.full_name = ".ftcfg.base_prop_cfg.speed" -BASE_PROP_CFG_SPEED_FIELD.number = 30 -BASE_PROP_CFG_SPEED_FIELD.index = 29 -BASE_PROP_CFG_SPEED_FIELD.label = 2 -BASE_PROP_CFG_SPEED_FIELD.has_default_value = false -BASE_PROP_CFG_SPEED_FIELD.default_value = 0.0 -BASE_PROP_CFG_SPEED_FIELD.type = 1 -BASE_PROP_CFG_SPEED_FIELD.cpp_type = 5 - -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.name = "hp_self_heal" -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.full_name = ".ftcfg.base_prop_cfg.hp_self_heal" -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.number = 31 -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.index = 30 -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.label = 2 -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.has_default_value = false -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.default_value = 0.0 -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.type = 1 -BASE_PROP_CFG_HP_SELF_HEAL_FIELD.cpp_type = 5 - -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.name = "mp_self_heal" -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.full_name = ".ftcfg.base_prop_cfg.mp_self_heal" -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.number = 32 -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.index = 31 -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.label = 2 -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.has_default_value = false -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.default_value = 0.0 -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.type = 1 -BASE_PROP_CFG_MP_SELF_HEAL_FIELD.cpp_type = 5 - -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.name = "hp_hit_return" -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.full_name = ".ftcfg.base_prop_cfg.hp_hit_return" -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.number = 33 -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.index = 32 -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.label = 2 -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.has_default_value = false -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.default_value = 0.0 -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.type = 1 -BASE_PROP_CFG_HP_HIT_RETURN_FIELD.cpp_type = 5 - -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.name = "mp_hit_return" -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.full_name = ".ftcfg.base_prop_cfg.mp_hit_return" -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.number = 34 -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.index = 33 -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.label = 2 -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.has_default_value = false -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.default_value = 0.0 -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.type = 1 -BASE_PROP_CFG_MP_HIT_RETURN_FIELD.cpp_type = 5 - -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.name = "hp_damage_return_rate" -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.hp_damage_return_rate" -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.number = 35 -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.index = 34 -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.label = 2 -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.type = 1 -BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.name = "mp_damage_return_rate" -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.mp_damage_return_rate" -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.number = 36 -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.index = 35 -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.label = 2 -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.type = 1 -BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.name = "extra_damage_rate" -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.extra_damage_rate" -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.number = 37 -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.index = 36 -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.label = 2 -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.type = 1 -BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.name = "reduce_damage_rate" -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.reduce_damage_rate" -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.number = 38 -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.index = 37 -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.label = 2 -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.type = 1 -BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.name = "extra_heal_rate" -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.extra_heal_rate" -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.number = 39 -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.index = 38 -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.label = 2 -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.type = 1 -BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.name = "extra_healed_rate" -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.extra_healed_rate" -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.number = 40 -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.index = 39 -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.label = 2 -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.type = 1 -BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_MAUD_FIELD.name = "maud" -BASE_PROP_CFG_MAUD_FIELD.full_name = ".ftcfg.base_prop_cfg.maud" -BASE_PROP_CFG_MAUD_FIELD.number = 41 -BASE_PROP_CFG_MAUD_FIELD.index = 40 -BASE_PROP_CFG_MAUD_FIELD.label = 2 -BASE_PROP_CFG_MAUD_FIELD.has_default_value = false -BASE_PROP_CFG_MAUD_FIELD.default_value = 0.0 -BASE_PROP_CFG_MAUD_FIELD.type = 1 -BASE_PROP_CFG_MAUD_FIELD.cpp_type = 5 - -BASE_PROP_CFG_MIND_FIELD.name = "mind" -BASE_PROP_CFG_MIND_FIELD.full_name = ".ftcfg.base_prop_cfg.mind" -BASE_PROP_CFG_MIND_FIELD.number = 42 -BASE_PROP_CFG_MIND_FIELD.index = 41 -BASE_PROP_CFG_MIND_FIELD.label = 2 -BASE_PROP_CFG_MIND_FIELD.has_default_value = false -BASE_PROP_CFG_MIND_FIELD.default_value = 0.0 -BASE_PROP_CFG_MIND_FIELD.type = 1 -BASE_PROP_CFG_MIND_FIELD.cpp_type = 5 - -BASE_PROP_CFG_CONSTITUTION_FIELD.name = "constitution" -BASE_PROP_CFG_CONSTITUTION_FIELD.full_name = ".ftcfg.base_prop_cfg.constitution" -BASE_PROP_CFG_CONSTITUTION_FIELD.number = 43 -BASE_PROP_CFG_CONSTITUTION_FIELD.index = 42 -BASE_PROP_CFG_CONSTITUTION_FIELD.label = 2 -BASE_PROP_CFG_CONSTITUTION_FIELD.has_default_value = false -BASE_PROP_CFG_CONSTITUTION_FIELD.default_value = 0.0 -BASE_PROP_CFG_CONSTITUTION_FIELD.type = 1 -BASE_PROP_CFG_CONSTITUTION_FIELD.cpp_type = 5 - -BASE_PROP_CFG_INTENSITY_FIELD.name = "intensity" -BASE_PROP_CFG_INTENSITY_FIELD.full_name = ".ftcfg.base_prop_cfg.intensity" -BASE_PROP_CFG_INTENSITY_FIELD.number = 44 -BASE_PROP_CFG_INTENSITY_FIELD.index = 43 -BASE_PROP_CFG_INTENSITY_FIELD.label = 2 -BASE_PROP_CFG_INTENSITY_FIELD.has_default_value = false -BASE_PROP_CFG_INTENSITY_FIELD.default_value = 0.0 -BASE_PROP_CFG_INTENSITY_FIELD.type = 1 -BASE_PROP_CFG_INTENSITY_FIELD.cpp_type = 5 - -BASE_PROP_CFG_DEADLY_RATE_FIELD.name = "deadly_rate" -BASE_PROP_CFG_DEADLY_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.deadly_rate" -BASE_PROP_CFG_DEADLY_RATE_FIELD.number = 45 -BASE_PROP_CFG_DEADLY_RATE_FIELD.index = 44 -BASE_PROP_CFG_DEADLY_RATE_FIELD.label = 2 -BASE_PROP_CFG_DEADLY_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_DEADLY_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_DEADLY_RATE_FIELD.type = 1 -BASE_PROP_CFG_DEADLY_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.name = "defy_defense_rate" -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.defy_defense_rate" -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.number = 46 -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.index = 45 -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.label = 2 -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.type = 1 -BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_BLOCK_RATE_FIELD.name = "block_rate" -BASE_PROP_CFG_BLOCK_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.block_rate" -BASE_PROP_CFG_BLOCK_RATE_FIELD.number = 47 -BASE_PROP_CFG_BLOCK_RATE_FIELD.index = 46 -BASE_PROP_CFG_BLOCK_RATE_FIELD.label = 2 -BASE_PROP_CFG_BLOCK_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_BLOCK_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_BLOCK_RATE_FIELD.type = 1 -BASE_PROP_CFG_BLOCK_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.name = "defy_block_rate" -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.defy_block_rate" -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.number = 48 -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.index = 47 -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.label = 2 -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.type = 1 -BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.name = "hp_kill_return" -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.full_name = ".ftcfg.base_prop_cfg.hp_kill_return" -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.number = 49 -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.index = 48 -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.label = 2 -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.has_default_value = false -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.default_value = 0.0 -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.type = 1 -BASE_PROP_CFG_HP_KILL_RETURN_FIELD.cpp_type = 5 - -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.name = "exp_kill_return" -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.full_name = ".ftcfg.base_prop_cfg.exp_kill_return" -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.number = 50 -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.index = 49 -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.label = 2 -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.has_default_value = false -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.default_value = 0.0 -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.type = 1 -BASE_PROP_CFG_EXP_KILL_RETURN_FIELD.cpp_type = 5 - -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.name = "reduce_skill_cd" -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.full_name = ".ftcfg.base_prop_cfg.reduce_skill_cd" -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.number = 51 -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.index = 50 -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.label = 2 -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.has_default_value = false -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.default_value = 0.0 -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.type = 1 -BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD.cpp_type = 5 - -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.name = "reduce_skill_cost" -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.full_name = ".ftcfg.base_prop_cfg.reduce_skill_cost" -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.number = 52 -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.index = 51 -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.label = 2 -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.has_default_value = false -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.default_value = 0.0 -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.type = 1 -BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD.cpp_type = 5 - -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.name = "npc_extra_damage" -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.full_name = ".ftcfg.base_prop_cfg.npc_extra_damage" -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.number = 53 -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.index = 52 -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.label = 2 -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.has_default_value = false -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.default_value = 0.0 -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.type = 1 -BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.name = "reduce_npc_damage" -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.full_name = ".ftcfg.base_prop_cfg.reduce_npc_damage" -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.number = 54 -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.index = 53 -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.label = 2 -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.has_default_value = false -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.default_value = 0.0 -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.type = 1 -BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD.cpp_type = 5 - -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.name = "xp_self_heal" -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.full_name = ".ftcfg.base_prop_cfg.xp_self_heal" -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.number = 55 -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.index = 54 -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.label = 2 -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.has_default_value = false -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.default_value = 0.0 -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.type = 1 -BASE_PROP_CFG_XP_SELF_HEAL_FIELD.cpp_type = 5 - -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.name = "logic_repeat3_rate" -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.full_name = ".ftcfg.base_prop_cfg.logic_repeat3_rate" -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.number = 56 -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.index = 55 -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.label = 2 -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.has_default_value = false -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.default_value = 0.0 -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.type = 1 -BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD.cpp_type = 5 - -BASE_PROP_CFG.name = "base_prop_cfg" -BASE_PROP_CFG.full_name = ".ftcfg.base_prop_cfg" -BASE_PROP_CFG.nested_types = {} -BASE_PROP_CFG.enum_types = {} -BASE_PROP_CFG.fields = {BASE_PROP_CFG_PROF_TYPE_FIELD, BASE_PROP_CFG_LEVEL_FIELD, BASE_PROP_CFG_HP_MAX_FIELD, BASE_PROP_CFG_MP_MAX_FIELD, BASE_PROP_CFG_ATTACK_FIELD, BASE_PROP_CFG_DEFENSE_FIELD, BASE_PROP_CFG_HIT_FIELD, BASE_PROP_CFG_DODGE_FIELD, BASE_PROP_CFG_CRITICAL_FIELD, BASE_PROP_CFG_ANTI_CRITICAL_FIELD, BASE_PROP_CFG_CRITICAL_POWER_FIELD, BASE_PROP_CFG_ANTI_CRITICAL_POWER_FIELD, BASE_PROP_CFG_XP_MAX_FIELD, BASE_PROP_CFG_HIT_RATE_FIELD, BASE_PROP_CFG_DODGE_RATE_FIELD, BASE_PROP_CFG_CRITICAL_RATE_FIELD, BASE_PROP_CFG_ANTI_CRITICAL_RATE_FIELD, BASE_PROP_CFG_CRITICAL_POWER_RATE_FIELD, BASE_PROP_CFG_ANTI_CRITICAL_POWER_RATE_FIELD, BASE_PROP_CFG_DECELERATTE_POWER_FIELD, BASE_PROP_CFG_ANTI_DECELERATTE_POWER_FIELD, BASE_PROP_CFG_SLEEP_POWER_FIELD, BASE_PROP_CFG_ANTI_SLEEP_POWER_FIELD, BASE_PROP_CFG_HOLD_POWER_FIELD, BASE_PROP_CFG_ANTI_HOLD_POWER_FIELD, BASE_PROP_CFG_CHARM_POWER_FIELD, BASE_PROP_CFG_ANTI_CHARM_POWER_FIELD, BASE_PROP_CFG_SILENCE_POWER_FIELD, BASE_PROP_CFG_ANTI_SILENCE_POWER_FIELD, BASE_PROP_CFG_SPEED_FIELD, BASE_PROP_CFG_HP_SELF_HEAL_FIELD, BASE_PROP_CFG_MP_SELF_HEAL_FIELD, BASE_PROP_CFG_HP_HIT_RETURN_FIELD, BASE_PROP_CFG_MP_HIT_RETURN_FIELD, BASE_PROP_CFG_HP_DAMAGE_RETURN_RATE_FIELD, BASE_PROP_CFG_MP_DAMAGE_RETURN_RATE_FIELD, BASE_PROP_CFG_EXTRA_DAMAGE_RATE_FIELD, BASE_PROP_CFG_REDUCE_DAMAGE_RATE_FIELD, BASE_PROP_CFG_EXTRA_HEAL_RATE_FIELD, BASE_PROP_CFG_EXTRA_HEALED_RATE_FIELD, BASE_PROP_CFG_MAUD_FIELD, BASE_PROP_CFG_MIND_FIELD, BASE_PROP_CFG_CONSTITUTION_FIELD, BASE_PROP_CFG_INTENSITY_FIELD, BASE_PROP_CFG_DEADLY_RATE_FIELD, BASE_PROP_CFG_DEFY_DEFENSE_RATE_FIELD, BASE_PROP_CFG_BLOCK_RATE_FIELD, BASE_PROP_CFG_DEFY_BLOCK_RATE_FIELD, BASE_PROP_CFG_HP_KILL_RETURN_FIELD, BASE_PROP_CFG_EXP_KILL_RETURN_FIELD, BASE_PROP_CFG_REDUCE_SKILL_CD_FIELD, BASE_PROP_CFG_REDUCE_SKILL_COST_FIELD, BASE_PROP_CFG_NPC_EXTRA_DAMAGE_FIELD, BASE_PROP_CFG_REDUCE_NPC_DAMAGE_FIELD, BASE_PROP_CFG_XP_SELF_HEAL_FIELD, BASE_PROP_CFG_LOGIC_REPEAT3_RATE_FIELD} -BASE_PROP_CFG.is_extendable = false -BASE_PROP_CFG.extensions = {} -BASE_PROP_CFGS_ITEMS_FIELD.name = "items" -BASE_PROP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.base_prop_cfgs.items" -BASE_PROP_CFGS_ITEMS_FIELD.number = 1 -BASE_PROP_CFGS_ITEMS_FIELD.index = 0 -BASE_PROP_CFGS_ITEMS_FIELD.label = 3 -BASE_PROP_CFGS_ITEMS_FIELD.has_default_value = false -BASE_PROP_CFGS_ITEMS_FIELD.default_value = {} -BASE_PROP_CFGS_ITEMS_FIELD.message_type = BASE_PROP_CFG -BASE_PROP_CFGS_ITEMS_FIELD.type = 11 -BASE_PROP_CFGS_ITEMS_FIELD.cpp_type = 10 - -BASE_PROP_CFGS.name = "base_prop_cfgs" -BASE_PROP_CFGS.full_name = ".ftcfg.base_prop_cfgs" -BASE_PROP_CFGS.nested_types = {} -BASE_PROP_CFGS.enum_types = {} -BASE_PROP_CFGS.fields = {BASE_PROP_CFGS_ITEMS_FIELD} -BASE_PROP_CFGS.is_extendable = false -BASE_PROP_CFGS.extensions = {} -LEVEL_EXP_CFG_LEVEL_FIELD.name = "level" -LEVEL_EXP_CFG_LEVEL_FIELD.full_name = ".ftcfg.level_exp_cfg.level" -LEVEL_EXP_CFG_LEVEL_FIELD.number = 1 -LEVEL_EXP_CFG_LEVEL_FIELD.index = 0 -LEVEL_EXP_CFG_LEVEL_FIELD.label = 2 -LEVEL_EXP_CFG_LEVEL_FIELD.has_default_value = false -LEVEL_EXP_CFG_LEVEL_FIELD.default_value = 0 -LEVEL_EXP_CFG_LEVEL_FIELD.type = 5 -LEVEL_EXP_CFG_LEVEL_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_NEED_EXP_FIELD.name = "need_exp" -LEVEL_EXP_CFG_NEED_EXP_FIELD.full_name = ".ftcfg.level_exp_cfg.need_exp" -LEVEL_EXP_CFG_NEED_EXP_FIELD.number = 2 -LEVEL_EXP_CFG_NEED_EXP_FIELD.index = 1 -LEVEL_EXP_CFG_NEED_EXP_FIELD.label = 2 -LEVEL_EXP_CFG_NEED_EXP_FIELD.has_default_value = false -LEVEL_EXP_CFG_NEED_EXP_FIELD.default_value = 0 -LEVEL_EXP_CFG_NEED_EXP_FIELD.type = 5 -LEVEL_EXP_CFG_NEED_EXP_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_CAMP_FIELD.name = "camp" -LEVEL_EXP_CFG_CAMP_FIELD.full_name = ".ftcfg.level_exp_cfg.camp" -LEVEL_EXP_CFG_CAMP_FIELD.number = 3 -LEVEL_EXP_CFG_CAMP_FIELD.index = 2 -LEVEL_EXP_CFG_CAMP_FIELD.label = 2 -LEVEL_EXP_CFG_CAMP_FIELD.has_default_value = false -LEVEL_EXP_CFG_CAMP_FIELD.default_value = 0 -LEVEL_EXP_CFG_CAMP_FIELD.type = 5 -LEVEL_EXP_CFG_CAMP_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.name = "combat_point" -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.full_name = ".ftcfg.level_exp_cfg.combat_point" -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.number = 4 -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.index = 3 -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.label = 2 -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.has_default_value = false -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.default_value = 0 -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.type = 5 -LEVEL_EXP_CFG_COMBAT_POINT_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.name = "kill_popularity_min" -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.full_name = ".ftcfg.level_exp_cfg.kill_popularity_min" -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.number = 5 -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.index = 4 -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.label = 2 -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.has_default_value = false -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.default_value = 0 -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.type = 5 -LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.name = "kill_popularity_max" -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.full_name = ".ftcfg.level_exp_cfg.kill_popularity_max" -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.number = 6 -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.index = 5 -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.label = 2 -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.has_default_value = false -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.default_value = 0 -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.type = 5 -LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.name = "assists_popularity_min" -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.full_name = ".ftcfg.level_exp_cfg.assists_popularity_min" -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.number = 7 -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.index = 6 -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.label = 2 -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.has_default_value = false -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.default_value = 0 -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.type = 5 -LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.name = "gold_coupon_max" -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.full_name = ".ftcfg.level_exp_cfg.gold_coupon_max" -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.number = 8 -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.index = 7 -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.label = 2 -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.has_default_value = false -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.default_value = 0 -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.type = 5 -LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_EXP_MAX_FIELD.name = "exp_max" -LEVEL_EXP_CFG_EXP_MAX_FIELD.full_name = ".ftcfg.level_exp_cfg.exp_max" -LEVEL_EXP_CFG_EXP_MAX_FIELD.number = 9 -LEVEL_EXP_CFG_EXP_MAX_FIELD.index = 8 -LEVEL_EXP_CFG_EXP_MAX_FIELD.label = 2 -LEVEL_EXP_CFG_EXP_MAX_FIELD.has_default_value = false -LEVEL_EXP_CFG_EXP_MAX_FIELD.default_value = 0 -LEVEL_EXP_CFG_EXP_MAX_FIELD.type = 5 -LEVEL_EXP_CFG_EXP_MAX_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.name = "popularity_max" -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.full_name = ".ftcfg.level_exp_cfg.popularity_max" -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.number = 10 -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.index = 9 -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.label = 2 -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.has_default_value = false -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.default_value = 0 -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.type = 5 -LEVEL_EXP_CFG_POPULARITY_MAX_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.name = "bind_popularity_max" -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.full_name = ".ftcfg.level_exp_cfg.bind_popularity_max" -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.number = 11 -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.index = 10 -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.label = 2 -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.has_default_value = false -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.default_value = 0 -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.type = 5 -LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.name = "annihilation_reward" -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.full_name = ".ftcfg.level_exp_cfg.annihilation_reward" -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.number = 12 -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.index = 11 -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.label = 2 -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.has_default_value = false -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.default_value = 0 -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.type = 5 -LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD.cpp_type = 1 - -LEVEL_EXP_CFG.name = "level_exp_cfg" -LEVEL_EXP_CFG.full_name = ".ftcfg.level_exp_cfg" -LEVEL_EXP_CFG.nested_types = {} -LEVEL_EXP_CFG.enum_types = {} -LEVEL_EXP_CFG.fields = {LEVEL_EXP_CFG_LEVEL_FIELD, LEVEL_EXP_CFG_NEED_EXP_FIELD, LEVEL_EXP_CFG_CAMP_FIELD, LEVEL_EXP_CFG_COMBAT_POINT_FIELD, LEVEL_EXP_CFG_KILL_POPULARITY_MIN_FIELD, LEVEL_EXP_CFG_KILL_POPULARITY_MAX_FIELD, LEVEL_EXP_CFG_ASSISTS_POPULARITY_MIN_FIELD, LEVEL_EXP_CFG_GOLD_COUPON_MAX_FIELD, LEVEL_EXP_CFG_EXP_MAX_FIELD, LEVEL_EXP_CFG_POPULARITY_MAX_FIELD, LEVEL_EXP_CFG_BIND_POPULARITY_MAX_FIELD, LEVEL_EXP_CFG_ANNIHILATION_REWARD_FIELD} -LEVEL_EXP_CFG.is_extendable = false -LEVEL_EXP_CFG.extensions = {} -LEVEL_EXP_CFGS_ITEMS_FIELD.name = "items" -LEVEL_EXP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.level_exp_cfgs.items" -LEVEL_EXP_CFGS_ITEMS_FIELD.number = 1 -LEVEL_EXP_CFGS_ITEMS_FIELD.index = 0 -LEVEL_EXP_CFGS_ITEMS_FIELD.label = 3 -LEVEL_EXP_CFGS_ITEMS_FIELD.has_default_value = false -LEVEL_EXP_CFGS_ITEMS_FIELD.default_value = {} -LEVEL_EXP_CFGS_ITEMS_FIELD.message_type = LEVEL_EXP_CFG -LEVEL_EXP_CFGS_ITEMS_FIELD.type = 11 -LEVEL_EXP_CFGS_ITEMS_FIELD.cpp_type = 10 - -LEVEL_EXP_CFGS.name = "level_exp_cfgs" -LEVEL_EXP_CFGS.full_name = ".ftcfg.level_exp_cfgs" -LEVEL_EXP_CFGS.nested_types = {} -LEVEL_EXP_CFGS.enum_types = {} -LEVEL_EXP_CFGS.fields = {LEVEL_EXP_CFGS_ITEMS_FIELD} -LEVEL_EXP_CFGS.is_extendable = false -LEVEL_EXP_CFGS.extensions = {} -LANGUAGE_CFG_ID_FIELD.name = "id" -LANGUAGE_CFG_ID_FIELD.full_name = ".ftcfg.language_cfg.id" -LANGUAGE_CFG_ID_FIELD.number = 1 -LANGUAGE_CFG_ID_FIELD.index = 0 -LANGUAGE_CFG_ID_FIELD.label = 2 -LANGUAGE_CFG_ID_FIELD.has_default_value = false -LANGUAGE_CFG_ID_FIELD.default_value = 0 -LANGUAGE_CFG_ID_FIELD.type = 5 -LANGUAGE_CFG_ID_FIELD.cpp_type = 1 - -LANGUAGE_CFG_TEXT_FIELD.name = "text" -LANGUAGE_CFG_TEXT_FIELD.full_name = ".ftcfg.language_cfg.text" -LANGUAGE_CFG_TEXT_FIELD.number = 2 -LANGUAGE_CFG_TEXT_FIELD.index = 1 -LANGUAGE_CFG_TEXT_FIELD.label = 2 -LANGUAGE_CFG_TEXT_FIELD.has_default_value = false -LANGUAGE_CFG_TEXT_FIELD.default_value = "" -LANGUAGE_CFG_TEXT_FIELD.type = 9 -LANGUAGE_CFG_TEXT_FIELD.cpp_type = 9 - -LANGUAGE_CFG.name = "language_cfg" -LANGUAGE_CFG.full_name = ".ftcfg.language_cfg" -LANGUAGE_CFG.nested_types = {} -LANGUAGE_CFG.enum_types = {} -LANGUAGE_CFG.fields = {LANGUAGE_CFG_ID_FIELD, LANGUAGE_CFG_TEXT_FIELD} -LANGUAGE_CFG.is_extendable = false -LANGUAGE_CFG.extensions = {} -LANGUAGE_CFGS_ITEMS_FIELD.name = "items" -LANGUAGE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.language_cfgs.items" -LANGUAGE_CFGS_ITEMS_FIELD.number = 1 -LANGUAGE_CFGS_ITEMS_FIELD.index = 0 -LANGUAGE_CFGS_ITEMS_FIELD.label = 3 -LANGUAGE_CFGS_ITEMS_FIELD.has_default_value = false -LANGUAGE_CFGS_ITEMS_FIELD.default_value = {} -LANGUAGE_CFGS_ITEMS_FIELD.message_type = LANGUAGE_CFG -LANGUAGE_CFGS_ITEMS_FIELD.type = 11 -LANGUAGE_CFGS_ITEMS_FIELD.cpp_type = 10 - -LANGUAGE_CFGS.name = "language_cfgs" -LANGUAGE_CFGS.full_name = ".ftcfg.language_cfgs" -LANGUAGE_CFGS.nested_types = {} -LANGUAGE_CFGS.enum_types = {} -LANGUAGE_CFGS.fields = {LANGUAGE_CFGS_ITEMS_FIELD} -LANGUAGE_CFGS.is_extendable = false -LANGUAGE_CFGS.extensions = {} -MISSION_CFG_ID_FIELD.name = "id" -MISSION_CFG_ID_FIELD.full_name = ".ftcfg.mission_cfg.id" -MISSION_CFG_ID_FIELD.number = 1 -MISSION_CFG_ID_FIELD.index = 0 -MISSION_CFG_ID_FIELD.label = 2 -MISSION_CFG_ID_FIELD.has_default_value = false -MISSION_CFG_ID_FIELD.default_value = 0 -MISSION_CFG_ID_FIELD.type = 5 -MISSION_CFG_ID_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_GROUPID_FIELD.name = "mission_groupid" -MISSION_CFG_MISSION_GROUPID_FIELD.full_name = ".ftcfg.mission_cfg.mission_groupid" -MISSION_CFG_MISSION_GROUPID_FIELD.number = 2 -MISSION_CFG_MISSION_GROUPID_FIELD.index = 1 -MISSION_CFG_MISSION_GROUPID_FIELD.label = 2 -MISSION_CFG_MISSION_GROUPID_FIELD.has_default_value = false -MISSION_CFG_MISSION_GROUPID_FIELD.default_value = 0 -MISSION_CFG_MISSION_GROUPID_FIELD.type = 5 -MISSION_CFG_MISSION_GROUPID_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_COLOUR_FIELD.name = "mission_colour" -MISSION_CFG_MISSION_COLOUR_FIELD.full_name = ".ftcfg.mission_cfg.mission_colour" -MISSION_CFG_MISSION_COLOUR_FIELD.number = 3 -MISSION_CFG_MISSION_COLOUR_FIELD.index = 2 -MISSION_CFG_MISSION_COLOUR_FIELD.label = 2 -MISSION_CFG_MISSION_COLOUR_FIELD.has_default_value = false -MISSION_CFG_MISSION_COLOUR_FIELD.default_value = 0 -MISSION_CFG_MISSION_COLOUR_FIELD.type = 5 -MISSION_CFG_MISSION_COLOUR_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_NAME_FIELD.name = "mission_name" -MISSION_CFG_MISSION_NAME_FIELD.full_name = ".ftcfg.mission_cfg.mission_name" -MISSION_CFG_MISSION_NAME_FIELD.number = 4 -MISSION_CFG_MISSION_NAME_FIELD.index = 3 -MISSION_CFG_MISSION_NAME_FIELD.label = 2 -MISSION_CFG_MISSION_NAME_FIELD.has_default_value = false -MISSION_CFG_MISSION_NAME_FIELD.default_value = 0 -MISSION_CFG_MISSION_NAME_FIELD.type = 5 -MISSION_CFG_MISSION_NAME_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_TEXT_FIELD.name = "mission_text" -MISSION_CFG_MISSION_TEXT_FIELD.full_name = ".ftcfg.mission_cfg.mission_text" -MISSION_CFG_MISSION_TEXT_FIELD.number = 5 -MISSION_CFG_MISSION_TEXT_FIELD.index = 4 -MISSION_CFG_MISSION_TEXT_FIELD.label = 2 -MISSION_CFG_MISSION_TEXT_FIELD.has_default_value = false -MISSION_CFG_MISSION_TEXT_FIELD.default_value = 0 -MISSION_CFG_MISSION_TEXT_FIELD.type = 5 -MISSION_CFG_MISSION_TEXT_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_TARGET1_FIELD.name = "mission_target1" -MISSION_CFG_MISSION_TARGET1_FIELD.full_name = ".ftcfg.mission_cfg.mission_target1" -MISSION_CFG_MISSION_TARGET1_FIELD.number = 6 -MISSION_CFG_MISSION_TARGET1_FIELD.index = 5 -MISSION_CFG_MISSION_TARGET1_FIELD.label = 2 -MISSION_CFG_MISSION_TARGET1_FIELD.has_default_value = false -MISSION_CFG_MISSION_TARGET1_FIELD.default_value = 0 -MISSION_CFG_MISSION_TARGET1_FIELD.type = 5 -MISSION_CFG_MISSION_TARGET1_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_TARGET2_FIELD.name = "mission_target2" -MISSION_CFG_MISSION_TARGET2_FIELD.full_name = ".ftcfg.mission_cfg.mission_target2" -MISSION_CFG_MISSION_TARGET2_FIELD.number = 7 -MISSION_CFG_MISSION_TARGET2_FIELD.index = 6 -MISSION_CFG_MISSION_TARGET2_FIELD.label = 2 -MISSION_CFG_MISSION_TARGET2_FIELD.has_default_value = false -MISSION_CFG_MISSION_TARGET2_FIELD.default_value = 0 -MISSION_CFG_MISSION_TARGET2_FIELD.type = 5 -MISSION_CFG_MISSION_TARGET2_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_TARGET3_FIELD.name = "mission_target3" -MISSION_CFG_MISSION_TARGET3_FIELD.full_name = ".ftcfg.mission_cfg.mission_target3" -MISSION_CFG_MISSION_TARGET3_FIELD.number = 8 -MISSION_CFG_MISSION_TARGET3_FIELD.index = 7 -MISSION_CFG_MISSION_TARGET3_FIELD.label = 2 -MISSION_CFG_MISSION_TARGET3_FIELD.has_default_value = false -MISSION_CFG_MISSION_TARGET3_FIELD.default_value = 0 -MISSION_CFG_MISSION_TARGET3_FIELD.type = 5 -MISSION_CFG_MISSION_TARGET3_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_TYPE_FIELD.name = "mission_type" -MISSION_CFG_MISSION_TYPE_FIELD.full_name = ".ftcfg.mission_cfg.mission_type" -MISSION_CFG_MISSION_TYPE_FIELD.number = 9 -MISSION_CFG_MISSION_TYPE_FIELD.index = 8 -MISSION_CFG_MISSION_TYPE_FIELD.label = 2 -MISSION_CFG_MISSION_TYPE_FIELD.has_default_value = false -MISSION_CFG_MISSION_TYPE_FIELD.default_value = 0 -MISSION_CFG_MISSION_TYPE_FIELD.type = 5 -MISSION_CFG_MISSION_TYPE_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_TARGETTYPE_FIELD.name = "mission_targettype" -MISSION_CFG_MISSION_TARGETTYPE_FIELD.full_name = ".ftcfg.mission_cfg.mission_targettype" -MISSION_CFG_MISSION_TARGETTYPE_FIELD.number = 10 -MISSION_CFG_MISSION_TARGETTYPE_FIELD.index = 9 -MISSION_CFG_MISSION_TARGETTYPE_FIELD.label = 2 -MISSION_CFG_MISSION_TARGETTYPE_FIELD.has_default_value = false -MISSION_CFG_MISSION_TARGETTYPE_FIELD.default_value = 0 -MISSION_CFG_MISSION_TARGETTYPE_FIELD.type = 5 -MISSION_CFG_MISSION_TARGETTYPE_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_OCCUPATION_FIELD.name = "mission_occupation" -MISSION_CFG_MISSION_OCCUPATION_FIELD.full_name = ".ftcfg.mission_cfg.mission_occupation" -MISSION_CFG_MISSION_OCCUPATION_FIELD.number = 11 -MISSION_CFG_MISSION_OCCUPATION_FIELD.index = 10 -MISSION_CFG_MISSION_OCCUPATION_FIELD.label = 3 -MISSION_CFG_MISSION_OCCUPATION_FIELD.has_default_value = false -MISSION_CFG_MISSION_OCCUPATION_FIELD.default_value = {} -MISSION_CFG_MISSION_OCCUPATION_FIELD.type = 5 -MISSION_CFG_MISSION_OCCUPATION_FIELD.cpp_type = 1 - -MISSION_CFG_REPEAT_WHETHER_FIELD.name = "repeat_whether" -MISSION_CFG_REPEAT_WHETHER_FIELD.full_name = ".ftcfg.mission_cfg.repeat_whether" -MISSION_CFG_REPEAT_WHETHER_FIELD.number = 12 -MISSION_CFG_REPEAT_WHETHER_FIELD.index = 11 -MISSION_CFG_REPEAT_WHETHER_FIELD.label = 2 -MISSION_CFG_REPEAT_WHETHER_FIELD.has_default_value = false -MISSION_CFG_REPEAT_WHETHER_FIELD.default_value = 0 -MISSION_CFG_REPEAT_WHETHER_FIELD.type = 5 -MISSION_CFG_REPEAT_WHETHER_FIELD.cpp_type = 1 - -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.name = "directacce_whether" -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.full_name = ".ftcfg.mission_cfg.directacce_whether" -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.number = 13 -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.index = 12 -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.label = 2 -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.has_default_value = false -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.default_value = 0 -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.type = 5 -MISSION_CFG_DIRECTACCE_WHETHER_FIELD.cpp_type = 1 - -MISSION_CFG_AUTO_WHETHER_FIELD.name = "auto_whether" -MISSION_CFG_AUTO_WHETHER_FIELD.full_name = ".ftcfg.mission_cfg.auto_whether" -MISSION_CFG_AUTO_WHETHER_FIELD.number = 14 -MISSION_CFG_AUTO_WHETHER_FIELD.index = 13 -MISSION_CFG_AUTO_WHETHER_FIELD.label = 2 -MISSION_CFG_AUTO_WHETHER_FIELD.has_default_value = false -MISSION_CFG_AUTO_WHETHER_FIELD.default_value = 0 -MISSION_CFG_AUTO_WHETHER_FIELD.type = 5 -MISSION_CFG_AUTO_WHETHER_FIELD.cpp_type = 1 - -MISSION_CFG_AUTO_COMMIT_FIELD.name = "auto_commit" -MISSION_CFG_AUTO_COMMIT_FIELD.full_name = ".ftcfg.mission_cfg.auto_commit" -MISSION_CFG_AUTO_COMMIT_FIELD.number = 15 -MISSION_CFG_AUTO_COMMIT_FIELD.index = 14 -MISSION_CFG_AUTO_COMMIT_FIELD.label = 2 -MISSION_CFG_AUTO_COMMIT_FIELD.has_default_value = false -MISSION_CFG_AUTO_COMMIT_FIELD.default_value = 0 -MISSION_CFG_AUTO_COMMIT_FIELD.type = 5 -MISSION_CFG_AUTO_COMMIT_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_FRONTID_FIELD.name = "mission_frontid" -MISSION_CFG_MISSION_FRONTID_FIELD.full_name = ".ftcfg.mission_cfg.mission_frontid" -MISSION_CFG_MISSION_FRONTID_FIELD.number = 16 -MISSION_CFG_MISSION_FRONTID_FIELD.index = 15 -MISSION_CFG_MISSION_FRONTID_FIELD.label = 2 -MISSION_CFG_MISSION_FRONTID_FIELD.has_default_value = false -MISSION_CFG_MISSION_FRONTID_FIELD.default_value = 0 -MISSION_CFG_MISSION_FRONTID_FIELD.type = 5 -MISSION_CFG_MISSION_FRONTID_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_TRIGGERLV_FIELD.name = "mission_triggerlv" -MISSION_CFG_MISSION_TRIGGERLV_FIELD.full_name = ".ftcfg.mission_cfg.mission_triggerlv" -MISSION_CFG_MISSION_TRIGGERLV_FIELD.number = 17 -MISSION_CFG_MISSION_TRIGGERLV_FIELD.index = 16 -MISSION_CFG_MISSION_TRIGGERLV_FIELD.label = 2 -MISSION_CFG_MISSION_TRIGGERLV_FIELD.has_default_value = false -MISSION_CFG_MISSION_TRIGGERLV_FIELD.default_value = 0 -MISSION_CFG_MISSION_TRIGGERLV_FIELD.type = 5 -MISSION_CFG_MISSION_TRIGGERLV_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_GIVEUP_FIELD.name = "mission_giveup" -MISSION_CFG_MISSION_GIVEUP_FIELD.full_name = ".ftcfg.mission_cfg.mission_giveup" -MISSION_CFG_MISSION_GIVEUP_FIELD.number = 18 -MISSION_CFG_MISSION_GIVEUP_FIELD.index = 17 -MISSION_CFG_MISSION_GIVEUP_FIELD.label = 2 -MISSION_CFG_MISSION_GIVEUP_FIELD.has_default_value = false -MISSION_CFG_MISSION_GIVEUP_FIELD.default_value = 0 -MISSION_CFG_MISSION_GIVEUP_FIELD.type = 5 -MISSION_CFG_MISSION_GIVEUP_FIELD.cpp_type = 1 - -MISSION_CFG_MISSIONNODE_LIST_FIELD.name = "missionnode_list" -MISSION_CFG_MISSIONNODE_LIST_FIELD.full_name = ".ftcfg.mission_cfg.missionnode_list" -MISSION_CFG_MISSIONNODE_LIST_FIELD.number = 19 -MISSION_CFG_MISSIONNODE_LIST_FIELD.index = 18 -MISSION_CFG_MISSIONNODE_LIST_FIELD.label = 3 -MISSION_CFG_MISSIONNODE_LIST_FIELD.has_default_value = false -MISSION_CFG_MISSIONNODE_LIST_FIELD.default_value = {} -MISSION_CFG_MISSIONNODE_LIST_FIELD.type = 5 -MISSION_CFG_MISSIONNODE_LIST_FIELD.cpp_type = 1 - -MISSION_CFG_DAILY_TIMES_FIELD.name = "daily_times" -MISSION_CFG_DAILY_TIMES_FIELD.full_name = ".ftcfg.mission_cfg.daily_times" -MISSION_CFG_DAILY_TIMES_FIELD.number = 20 -MISSION_CFG_DAILY_TIMES_FIELD.index = 19 -MISSION_CFG_DAILY_TIMES_FIELD.label = 2 -MISSION_CFG_DAILY_TIMES_FIELD.has_default_value = false -MISSION_CFG_DAILY_TIMES_FIELD.default_value = 0 -MISSION_CFG_DAILY_TIMES_FIELD.type = 5 -MISSION_CFG_DAILY_TIMES_FIELD.cpp_type = 1 - -MISSION_CFG_RESET_TIME_FIELD.name = "reset_time" -MISSION_CFG_RESET_TIME_FIELD.full_name = ".ftcfg.mission_cfg.reset_time" -MISSION_CFG_RESET_TIME_FIELD.number = 21 -MISSION_CFG_RESET_TIME_FIELD.index = 20 -MISSION_CFG_RESET_TIME_FIELD.label = 2 -MISSION_CFG_RESET_TIME_FIELD.has_default_value = false -MISSION_CFG_RESET_TIME_FIELD.default_value = 0 -MISSION_CFG_RESET_TIME_FIELD.type = 5 -MISSION_CFG_RESET_TIME_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_DURATION_FIELD.name = "mission_duration" -MISSION_CFG_MISSION_DURATION_FIELD.full_name = ".ftcfg.mission_cfg.mission_duration" -MISSION_CFG_MISSION_DURATION_FIELD.number = 22 -MISSION_CFG_MISSION_DURATION_FIELD.index = 21 -MISSION_CFG_MISSION_DURATION_FIELD.label = 2 -MISSION_CFG_MISSION_DURATION_FIELD.has_default_value = false -MISSION_CFG_MISSION_DURATION_FIELD.default_value = 0 -MISSION_CFG_MISSION_DURATION_FIELD.type = 5 -MISSION_CFG_MISSION_DURATION_FIELD.cpp_type = 1 - -MISSION_CFG_ACCEPT_SCENEID_FIELD.name = "accept_sceneid" -MISSION_CFG_ACCEPT_SCENEID_FIELD.full_name = ".ftcfg.mission_cfg.accept_sceneid" -MISSION_CFG_ACCEPT_SCENEID_FIELD.number = 23 -MISSION_CFG_ACCEPT_SCENEID_FIELD.index = 22 -MISSION_CFG_ACCEPT_SCENEID_FIELD.label = 2 -MISSION_CFG_ACCEPT_SCENEID_FIELD.has_default_value = false -MISSION_CFG_ACCEPT_SCENEID_FIELD.default_value = 0 -MISSION_CFG_ACCEPT_SCENEID_FIELD.type = 5 -MISSION_CFG_ACCEPT_SCENEID_FIELD.cpp_type = 1 - -MISSION_CFG_ACCEPT_NPCID_FIELD.name = "accept_npcid" -MISSION_CFG_ACCEPT_NPCID_FIELD.full_name = ".ftcfg.mission_cfg.accept_npcid" -MISSION_CFG_ACCEPT_NPCID_FIELD.number = 24 -MISSION_CFG_ACCEPT_NPCID_FIELD.index = 23 -MISSION_CFG_ACCEPT_NPCID_FIELD.label = 2 -MISSION_CFG_ACCEPT_NPCID_FIELD.has_default_value = false -MISSION_CFG_ACCEPT_NPCID_FIELD.default_value = 0 -MISSION_CFG_ACCEPT_NPCID_FIELD.type = 5 -MISSION_CFG_ACCEPT_NPCID_FIELD.cpp_type = 1 - -MISSION_CFG_CONDUCT_SCENEID_FIELD.name = "conduct_sceneid" -MISSION_CFG_CONDUCT_SCENEID_FIELD.full_name = ".ftcfg.mission_cfg.conduct_sceneid" -MISSION_CFG_CONDUCT_SCENEID_FIELD.number = 25 -MISSION_CFG_CONDUCT_SCENEID_FIELD.index = 24 -MISSION_CFG_CONDUCT_SCENEID_FIELD.label = 2 -MISSION_CFG_CONDUCT_SCENEID_FIELD.has_default_value = false -MISSION_CFG_CONDUCT_SCENEID_FIELD.default_value = 0 -MISSION_CFG_CONDUCT_SCENEID_FIELD.type = 5 -MISSION_CFG_CONDUCT_SCENEID_FIELD.cpp_type = 1 - -MISSION_CFG_CONDUCT_NPCID_FIELD.name = "conduct_npcid" -MISSION_CFG_CONDUCT_NPCID_FIELD.full_name = ".ftcfg.mission_cfg.conduct_npcid" -MISSION_CFG_CONDUCT_NPCID_FIELD.number = 26 -MISSION_CFG_CONDUCT_NPCID_FIELD.index = 25 -MISSION_CFG_CONDUCT_NPCID_FIELD.label = 2 -MISSION_CFG_CONDUCT_NPCID_FIELD.has_default_value = false -MISSION_CFG_CONDUCT_NPCID_FIELD.default_value = 0 -MISSION_CFG_CONDUCT_NPCID_FIELD.type = 5 -MISSION_CFG_CONDUCT_NPCID_FIELD.cpp_type = 1 - -MISSION_CFG_SUBMIT_SCENEID_FIELD.name = "submit_sceneid" -MISSION_CFG_SUBMIT_SCENEID_FIELD.full_name = ".ftcfg.mission_cfg.submit_sceneid" -MISSION_CFG_SUBMIT_SCENEID_FIELD.number = 27 -MISSION_CFG_SUBMIT_SCENEID_FIELD.index = 26 -MISSION_CFG_SUBMIT_SCENEID_FIELD.label = 2 -MISSION_CFG_SUBMIT_SCENEID_FIELD.has_default_value = false -MISSION_CFG_SUBMIT_SCENEID_FIELD.default_value = 0 -MISSION_CFG_SUBMIT_SCENEID_FIELD.type = 5 -MISSION_CFG_SUBMIT_SCENEID_FIELD.cpp_type = 1 - -MISSION_CFG_SUBMIT_NPCID_FIELD.name = "submit_npcid" -MISSION_CFG_SUBMIT_NPCID_FIELD.full_name = ".ftcfg.mission_cfg.submit_npcid" -MISSION_CFG_SUBMIT_NPCID_FIELD.number = 28 -MISSION_CFG_SUBMIT_NPCID_FIELD.index = 27 -MISSION_CFG_SUBMIT_NPCID_FIELD.label = 2 -MISSION_CFG_SUBMIT_NPCID_FIELD.has_default_value = false -MISSION_CFG_SUBMIT_NPCID_FIELD.default_value = 0 -MISSION_CFG_SUBMIT_NPCID_FIELD.type = 5 -MISSION_CFG_SUBMIT_NPCID_FIELD.cpp_type = 1 - -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.name = "acceptseat_plotid" -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.full_name = ".ftcfg.mission_cfg.acceptseat_plotid" -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.number = 29 -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.index = 28 -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.label = 2 -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.has_default_value = false -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.default_value = 0 -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.type = 5 -MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD.cpp_type = 1 - -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.name = "conductseat_plotid" -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.full_name = ".ftcfg.mission_cfg.conductseat_plotid" -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.number = 30 -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.index = 29 -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.label = 2 -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.has_default_value = false -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.default_value = 0 -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.type = 5 -MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD.cpp_type = 1 - -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.name = "submitseat_plotid" -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.full_name = ".ftcfg.mission_cfg.submitseat_plotid" -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.number = 31 -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.index = 30 -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.label = 2 -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.has_default_value = false -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.default_value = 0 -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.type = 5 -MISSION_CFG_SUBMITSEAT_PLOTID_FIELD.cpp_type = 1 - -MISSION_CFG_KILL_NPCID_FIELD.name = "kill_npcid" -MISSION_CFG_KILL_NPCID_FIELD.full_name = ".ftcfg.mission_cfg.kill_npcid" -MISSION_CFG_KILL_NPCID_FIELD.number = 32 -MISSION_CFG_KILL_NPCID_FIELD.index = 31 -MISSION_CFG_KILL_NPCID_FIELD.label = 3 -MISSION_CFG_KILL_NPCID_FIELD.has_default_value = false -MISSION_CFG_KILL_NPCID_FIELD.default_value = {} -MISSION_CFG_KILL_NPCID_FIELD.type = 5 -MISSION_CFG_KILL_NPCID_FIELD.cpp_type = 1 - -MISSION_CFG_KILL_NPCNUM_FIELD.name = "kill_npcnum" -MISSION_CFG_KILL_NPCNUM_FIELD.full_name = ".ftcfg.mission_cfg.kill_npcnum" -MISSION_CFG_KILL_NPCNUM_FIELD.number = 33 -MISSION_CFG_KILL_NPCNUM_FIELD.index = 32 -MISSION_CFG_KILL_NPCNUM_FIELD.label = 3 -MISSION_CFG_KILL_NPCNUM_FIELD.has_default_value = false -MISSION_CFG_KILL_NPCNUM_FIELD.default_value = {} -MISSION_CFG_KILL_NPCNUM_FIELD.type = 5 -MISSION_CFG_KILL_NPCNUM_FIELD.cpp_type = 1 - -MISSION_CFG_KILL_NPCDROP_FIELD.name = "kill_npcdrop" -MISSION_CFG_KILL_NPCDROP_FIELD.full_name = ".ftcfg.mission_cfg.kill_npcdrop" -MISSION_CFG_KILL_NPCDROP_FIELD.number = 34 -MISSION_CFG_KILL_NPCDROP_FIELD.index = 33 -MISSION_CFG_KILL_NPCDROP_FIELD.label = 3 -MISSION_CFG_KILL_NPCDROP_FIELD.has_default_value = false -MISSION_CFG_KILL_NPCDROP_FIELD.default_value = {} -MISSION_CFG_KILL_NPCDROP_FIELD.type = 5 -MISSION_CFG_KILL_NPCDROP_FIELD.cpp_type = 1 - -MISSION_CFG_TALK_PLOTID_FIELD.name = "talk_plotid" -MISSION_CFG_TALK_PLOTID_FIELD.full_name = ".ftcfg.mission_cfg.talk_plotid" -MISSION_CFG_TALK_PLOTID_FIELD.number = 35 -MISSION_CFG_TALK_PLOTID_FIELD.index = 34 -MISSION_CFG_TALK_PLOTID_FIELD.label = 2 -MISSION_CFG_TALK_PLOTID_FIELD.has_default_value = false -MISSION_CFG_TALK_PLOTID_FIELD.default_value = 0 -MISSION_CFG_TALK_PLOTID_FIELD.type = 5 -MISSION_CFG_TALK_PLOTID_FIELD.cpp_type = 1 - -MISSION_CFG_COLLECT_ITEMID_FIELD.name = "collect_itemid" -MISSION_CFG_COLLECT_ITEMID_FIELD.full_name = ".ftcfg.mission_cfg.collect_itemid" -MISSION_CFG_COLLECT_ITEMID_FIELD.number = 36 -MISSION_CFG_COLLECT_ITEMID_FIELD.index = 35 -MISSION_CFG_COLLECT_ITEMID_FIELD.label = 3 -MISSION_CFG_COLLECT_ITEMID_FIELD.has_default_value = false -MISSION_CFG_COLLECT_ITEMID_FIELD.default_value = {} -MISSION_CFG_COLLECT_ITEMID_FIELD.type = 5 -MISSION_CFG_COLLECT_ITEMID_FIELD.cpp_type = 1 - -MISSION_CFG_COLLECT_ITEMNUM_FIELD.name = "collect_itemnum" -MISSION_CFG_COLLECT_ITEMNUM_FIELD.full_name = ".ftcfg.mission_cfg.collect_itemnum" -MISSION_CFG_COLLECT_ITEMNUM_FIELD.number = 37 -MISSION_CFG_COLLECT_ITEMNUM_FIELD.index = 36 -MISSION_CFG_COLLECT_ITEMNUM_FIELD.label = 3 -MISSION_CFG_COLLECT_ITEMNUM_FIELD.has_default_value = false -MISSION_CFG_COLLECT_ITEMNUM_FIELD.default_value = {} -MISSION_CFG_COLLECT_ITEMNUM_FIELD.type = 5 -MISSION_CFG_COLLECT_ITEMNUM_FIELD.cpp_type = 1 - -MISSION_CFG_SCENE_ID_FIELD.name = "scene_id" -MISSION_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.mission_cfg.scene_id" -MISSION_CFG_SCENE_ID_FIELD.number = 38 -MISSION_CFG_SCENE_ID_FIELD.index = 37 -MISSION_CFG_SCENE_ID_FIELD.label = 2 -MISSION_CFG_SCENE_ID_FIELD.has_default_value = false -MISSION_CFG_SCENE_ID_FIELD.default_value = 0 -MISSION_CFG_SCENE_ID_FIELD.type = 5 -MISSION_CFG_SCENE_ID_FIELD.cpp_type = 1 - -MISSION_CFG_POS_X_FIELD.name = "pos_x" -MISSION_CFG_POS_X_FIELD.full_name = ".ftcfg.mission_cfg.pos_x" -MISSION_CFG_POS_X_FIELD.number = 39 -MISSION_CFG_POS_X_FIELD.index = 38 -MISSION_CFG_POS_X_FIELD.label = 2 -MISSION_CFG_POS_X_FIELD.has_default_value = false -MISSION_CFG_POS_X_FIELD.default_value = 0 -MISSION_CFG_POS_X_FIELD.type = 5 -MISSION_CFG_POS_X_FIELD.cpp_type = 1 - -MISSION_CFG_POS_Z_FIELD.name = "pos_z" -MISSION_CFG_POS_Z_FIELD.full_name = ".ftcfg.mission_cfg.pos_z" -MISSION_CFG_POS_Z_FIELD.number = 40 -MISSION_CFG_POS_Z_FIELD.index = 39 -MISSION_CFG_POS_Z_FIELD.label = 2 -MISSION_CFG_POS_Z_FIELD.has_default_value = false -MISSION_CFG_POS_Z_FIELD.default_value = 0 -MISSION_CFG_POS_Z_FIELD.type = 5 -MISSION_CFG_POS_Z_FIELD.cpp_type = 1 - -MISSION_CFG_COLLECTION_NPCID_FIELD.name = "collection_npcid" -MISSION_CFG_COLLECTION_NPCID_FIELD.full_name = ".ftcfg.mission_cfg.collection_npcid" -MISSION_CFG_COLLECTION_NPCID_FIELD.number = 41 -MISSION_CFG_COLLECTION_NPCID_FIELD.index = 40 -MISSION_CFG_COLLECTION_NPCID_FIELD.label = 3 -MISSION_CFG_COLLECTION_NPCID_FIELD.has_default_value = false -MISSION_CFG_COLLECTION_NPCID_FIELD.default_value = {} -MISSION_CFG_COLLECTION_NPCID_FIELD.type = 5 -MISSION_CFG_COLLECTION_NPCID_FIELD.cpp_type = 1 - -MISSION_CFG_COLLECTION_NPCNUM_FIELD.name = "collection_npcnum" -MISSION_CFG_COLLECTION_NPCNUM_FIELD.full_name = ".ftcfg.mission_cfg.collection_npcnum" -MISSION_CFG_COLLECTION_NPCNUM_FIELD.number = 42 -MISSION_CFG_COLLECTION_NPCNUM_FIELD.index = 41 -MISSION_CFG_COLLECTION_NPCNUM_FIELD.label = 3 -MISSION_CFG_COLLECTION_NPCNUM_FIELD.has_default_value = false -MISSION_CFG_COLLECTION_NPCNUM_FIELD.default_value = {} -MISSION_CFG_COLLECTION_NPCNUM_FIELD.type = 5 -MISSION_CFG_COLLECTION_NPCNUM_FIELD.cpp_type = 1 - -MISSION_CFG_USED_ITEMID_FIELD.name = "used_itemid" -MISSION_CFG_USED_ITEMID_FIELD.full_name = ".ftcfg.mission_cfg.used_itemid" -MISSION_CFG_USED_ITEMID_FIELD.number = 43 -MISSION_CFG_USED_ITEMID_FIELD.index = 42 -MISSION_CFG_USED_ITEMID_FIELD.label = 2 -MISSION_CFG_USED_ITEMID_FIELD.has_default_value = false -MISSION_CFG_USED_ITEMID_FIELD.default_value = 0 -MISSION_CFG_USED_ITEMID_FIELD.type = 5 -MISSION_CFG_USED_ITEMID_FIELD.cpp_type = 1 - -MISSION_CFG_INTO_BATTLEID_FIELD.name = "into_battleid" -MISSION_CFG_INTO_BATTLEID_FIELD.full_name = ".ftcfg.mission_cfg.into_battleid" -MISSION_CFG_INTO_BATTLEID_FIELD.number = 44 -MISSION_CFG_INTO_BATTLEID_FIELD.index = 43 -MISSION_CFG_INTO_BATTLEID_FIELD.label = 2 -MISSION_CFG_INTO_BATTLEID_FIELD.has_default_value = false -MISSION_CFG_INTO_BATTLEID_FIELD.default_value = 0 -MISSION_CFG_INTO_BATTLEID_FIELD.type = 5 -MISSION_CFG_INTO_BATTLEID_FIELD.cpp_type = 1 - -MISSION_CFG_TARGET_GRADE_FIELD.name = "target_grade" -MISSION_CFG_TARGET_GRADE_FIELD.full_name = ".ftcfg.mission_cfg.target_grade" -MISSION_CFG_TARGET_GRADE_FIELD.number = 45 -MISSION_CFG_TARGET_GRADE_FIELD.index = 44 -MISSION_CFG_TARGET_GRADE_FIELD.label = 2 -MISSION_CFG_TARGET_GRADE_FIELD.has_default_value = false -MISSION_CFG_TARGET_GRADE_FIELD.default_value = 0 -MISSION_CFG_TARGET_GRADE_FIELD.type = 5 -MISSION_CFG_TARGET_GRADE_FIELD.cpp_type = 1 - -MISSION_CFG_FUNCTION_SCRIPT_FIELD.name = "function_script" -MISSION_CFG_FUNCTION_SCRIPT_FIELD.full_name = ".ftcfg.mission_cfg.function_script" -MISSION_CFG_FUNCTION_SCRIPT_FIELD.number = 46 -MISSION_CFG_FUNCTION_SCRIPT_FIELD.index = 45 -MISSION_CFG_FUNCTION_SCRIPT_FIELD.label = 2 -MISSION_CFG_FUNCTION_SCRIPT_FIELD.has_default_value = false -MISSION_CFG_FUNCTION_SCRIPT_FIELD.default_value = "" -MISSION_CFG_FUNCTION_SCRIPT_FIELD.type = 9 -MISSION_CFG_FUNCTION_SCRIPT_FIELD.cpp_type = 9 - -MISSION_CFG_ACCEPT_PLOTID_FIELD.name = "accept_plotid" -MISSION_CFG_ACCEPT_PLOTID_FIELD.full_name = ".ftcfg.mission_cfg.accept_plotid" -MISSION_CFG_ACCEPT_PLOTID_FIELD.number = 47 -MISSION_CFG_ACCEPT_PLOTID_FIELD.index = 46 -MISSION_CFG_ACCEPT_PLOTID_FIELD.label = 2 -MISSION_CFG_ACCEPT_PLOTID_FIELD.has_default_value = false -MISSION_CFG_ACCEPT_PLOTID_FIELD.default_value = 0 -MISSION_CFG_ACCEPT_PLOTID_FIELD.type = 5 -MISSION_CFG_ACCEPT_PLOTID_FIELD.cpp_type = 1 - -MISSION_CFG_CONDUCT_PLOTID_FIELD.name = "conduct_plotid" -MISSION_CFG_CONDUCT_PLOTID_FIELD.full_name = ".ftcfg.mission_cfg.conduct_plotid" -MISSION_CFG_CONDUCT_PLOTID_FIELD.number = 48 -MISSION_CFG_CONDUCT_PLOTID_FIELD.index = 47 -MISSION_CFG_CONDUCT_PLOTID_FIELD.label = 2 -MISSION_CFG_CONDUCT_PLOTID_FIELD.has_default_value = false -MISSION_CFG_CONDUCT_PLOTID_FIELD.default_value = 0 -MISSION_CFG_CONDUCT_PLOTID_FIELD.type = 5 -MISSION_CFG_CONDUCT_PLOTID_FIELD.cpp_type = 1 - -MISSION_CFG_SUBMIT_PLOTID_FIELD.name = "submit_plotid" -MISSION_CFG_SUBMIT_PLOTID_FIELD.full_name = ".ftcfg.mission_cfg.submit_plotid" -MISSION_CFG_SUBMIT_PLOTID_FIELD.number = 49 -MISSION_CFG_SUBMIT_PLOTID_FIELD.index = 48 -MISSION_CFG_SUBMIT_PLOTID_FIELD.label = 2 -MISSION_CFG_SUBMIT_PLOTID_FIELD.has_default_value = false -MISSION_CFG_SUBMIT_PLOTID_FIELD.default_value = 0 -MISSION_CFG_SUBMIT_PLOTID_FIELD.type = 5 -MISSION_CFG_SUBMIT_PLOTID_FIELD.cpp_type = 1 - -MISSION_CFG_TRIGGER_BLUR_FIELD.name = "trigger_blur" -MISSION_CFG_TRIGGER_BLUR_FIELD.full_name = ".ftcfg.mission_cfg.trigger_blur" -MISSION_CFG_TRIGGER_BLUR_FIELD.number = 50 -MISSION_CFG_TRIGGER_BLUR_FIELD.index = 49 -MISSION_CFG_TRIGGER_BLUR_FIELD.label = 2 -MISSION_CFG_TRIGGER_BLUR_FIELD.has_default_value = false -MISSION_CFG_TRIGGER_BLUR_FIELD.default_value = 0 -MISSION_CFG_TRIGGER_BLUR_FIELD.type = 5 -MISSION_CFG_TRIGGER_BLUR_FIELD.cpp_type = 1 - -MISSION_CFG_ACCEPT_BLUR_FIELD.name = "accept_blur" -MISSION_CFG_ACCEPT_BLUR_FIELD.full_name = ".ftcfg.mission_cfg.accept_blur" -MISSION_CFG_ACCEPT_BLUR_FIELD.number = 51 -MISSION_CFG_ACCEPT_BLUR_FIELD.index = 50 -MISSION_CFG_ACCEPT_BLUR_FIELD.label = 2 -MISSION_CFG_ACCEPT_BLUR_FIELD.has_default_value = false -MISSION_CFG_ACCEPT_BLUR_FIELD.default_value = 0 -MISSION_CFG_ACCEPT_BLUR_FIELD.type = 5 -MISSION_CFG_ACCEPT_BLUR_FIELD.cpp_type = 1 - -MISSION_CFG_CONDUCT_BLUR_FIELD.name = "conduct_blur" -MISSION_CFG_CONDUCT_BLUR_FIELD.full_name = ".ftcfg.mission_cfg.conduct_blur" -MISSION_CFG_CONDUCT_BLUR_FIELD.number = 52 -MISSION_CFG_CONDUCT_BLUR_FIELD.index = 51 -MISSION_CFG_CONDUCT_BLUR_FIELD.label = 2 -MISSION_CFG_CONDUCT_BLUR_FIELD.has_default_value = false -MISSION_CFG_CONDUCT_BLUR_FIELD.default_value = 0 -MISSION_CFG_CONDUCT_BLUR_FIELD.type = 5 -MISSION_CFG_CONDUCT_BLUR_FIELD.cpp_type = 1 - -MISSION_CFG_REWARD_ITEMID_FIELD.name = "reward_itemid" -MISSION_CFG_REWARD_ITEMID_FIELD.full_name = ".ftcfg.mission_cfg.reward_itemid" -MISSION_CFG_REWARD_ITEMID_FIELD.number = 53 -MISSION_CFG_REWARD_ITEMID_FIELD.index = 52 -MISSION_CFG_REWARD_ITEMID_FIELD.label = 2 -MISSION_CFG_REWARD_ITEMID_FIELD.has_default_value = false -MISSION_CFG_REWARD_ITEMID_FIELD.default_value = 0 -MISSION_CFG_REWARD_ITEMID_FIELD.type = 5 -MISSION_CFG_REWARD_ITEMID_FIELD.cpp_type = 1 - -MISSION_CFG_FAILED_ITEMID_FIELD.name = "failed_itemid" -MISSION_CFG_FAILED_ITEMID_FIELD.full_name = ".ftcfg.mission_cfg.failed_itemid" -MISSION_CFG_FAILED_ITEMID_FIELD.number = 54 -MISSION_CFG_FAILED_ITEMID_FIELD.index = 53 -MISSION_CFG_FAILED_ITEMID_FIELD.label = 2 -MISSION_CFG_FAILED_ITEMID_FIELD.has_default_value = false -MISSION_CFG_FAILED_ITEMID_FIELD.default_value = 0 -MISSION_CFG_FAILED_ITEMID_FIELD.type = 5 -MISSION_CFG_FAILED_ITEMID_FIELD.cpp_type = 1 - -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.name = "exclusive4_itemid" -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.full_name = ".ftcfg.mission_cfg.exclusive4_itemid" -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.number = 55 -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.index = 54 -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.label = 3 -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.has_default_value = false -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.default_value = {} -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.type = 5 -MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD.cpp_type = 1 - -MISSION_CFG_DISPLAY_WHETHER_FIELD.name = "display_whether" -MISSION_CFG_DISPLAY_WHETHER_FIELD.full_name = ".ftcfg.mission_cfg.display_whether" -MISSION_CFG_DISPLAY_WHETHER_FIELD.number = 56 -MISSION_CFG_DISPLAY_WHETHER_FIELD.index = 55 -MISSION_CFG_DISPLAY_WHETHER_FIELD.label = 2 -MISSION_CFG_DISPLAY_WHETHER_FIELD.has_default_value = false -MISSION_CFG_DISPLAY_WHETHER_FIELD.default_value = 0 -MISSION_CFG_DISPLAY_WHETHER_FIELD.type = 5 -MISSION_CFG_DISPLAY_WHETHER_FIELD.cpp_type = 1 - -MISSION_CFG_ACCEPT_DELIVERY_FIELD.name = "accept_delivery" -MISSION_CFG_ACCEPT_DELIVERY_FIELD.full_name = ".ftcfg.mission_cfg.accept_delivery" -MISSION_CFG_ACCEPT_DELIVERY_FIELD.number = 57 -MISSION_CFG_ACCEPT_DELIVERY_FIELD.index = 56 -MISSION_CFG_ACCEPT_DELIVERY_FIELD.label = 3 -MISSION_CFG_ACCEPT_DELIVERY_FIELD.has_default_value = false -MISSION_CFG_ACCEPT_DELIVERY_FIELD.default_value = {} -MISSION_CFG_ACCEPT_DELIVERY_FIELD.type = 5 -MISSION_CFG_ACCEPT_DELIVERY_FIELD.cpp_type = 1 - -MISSION_CFG_MISSION_CONVOYS_FIELD.name = "mission_convoys" -MISSION_CFG_MISSION_CONVOYS_FIELD.full_name = ".ftcfg.mission_cfg.mission_convoys" -MISSION_CFG_MISSION_CONVOYS_FIELD.number = 58 -MISSION_CFG_MISSION_CONVOYS_FIELD.index = 57 -MISSION_CFG_MISSION_CONVOYS_FIELD.label = 3 -MISSION_CFG_MISSION_CONVOYS_FIELD.has_default_value = false -MISSION_CFG_MISSION_CONVOYS_FIELD.default_value = {} -MISSION_CFG_MISSION_CONVOYS_FIELD.type = 5 -MISSION_CFG_MISSION_CONVOYS_FIELD.cpp_type = 1 - -MISSION_CFG_BIAOCHE_MOUNT_FIELD.name = "biaoche_mount" -MISSION_CFG_BIAOCHE_MOUNT_FIELD.full_name = ".ftcfg.mission_cfg.biaoche_mount" -MISSION_CFG_BIAOCHE_MOUNT_FIELD.number = 59 -MISSION_CFG_BIAOCHE_MOUNT_FIELD.index = 58 -MISSION_CFG_BIAOCHE_MOUNT_FIELD.label = 2 -MISSION_CFG_BIAOCHE_MOUNT_FIELD.has_default_value = false -MISSION_CFG_BIAOCHE_MOUNT_FIELD.default_value = 0 -MISSION_CFG_BIAOCHE_MOUNT_FIELD.type = 5 -MISSION_CFG_BIAOCHE_MOUNT_FIELD.cpp_type = 1 - -MISSION_CFG_SCENE_IS_COPY_FIELD.name = "scene_is_copy" -MISSION_CFG_SCENE_IS_COPY_FIELD.full_name = ".ftcfg.mission_cfg.scene_is_copy" -MISSION_CFG_SCENE_IS_COPY_FIELD.number = 60 -MISSION_CFG_SCENE_IS_COPY_FIELD.index = 59 -MISSION_CFG_SCENE_IS_COPY_FIELD.label = 2 -MISSION_CFG_SCENE_IS_COPY_FIELD.has_default_value = false -MISSION_CFG_SCENE_IS_COPY_FIELD.default_value = 0 -MISSION_CFG_SCENE_IS_COPY_FIELD.type = 5 -MISSION_CFG_SCENE_IS_COPY_FIELD.cpp_type = 1 - -MISSION_CFG_ALLOW_SHOW_FIELD.name = "allow_show" -MISSION_CFG_ALLOW_SHOW_FIELD.full_name = ".ftcfg.mission_cfg.allow_show" -MISSION_CFG_ALLOW_SHOW_FIELD.number = 61 -MISSION_CFG_ALLOW_SHOW_FIELD.index = 60 -MISSION_CFG_ALLOW_SHOW_FIELD.label = 2 -MISSION_CFG_ALLOW_SHOW_FIELD.has_default_value = false -MISSION_CFG_ALLOW_SHOW_FIELD.default_value = 0 -MISSION_CFG_ALLOW_SHOW_FIELD.type = 5 -MISSION_CFG_ALLOW_SHOW_FIELD.cpp_type = 1 - -MISSION_CFG_ACCEPTED_SHOW_FIELD.name = "accepted_show" -MISSION_CFG_ACCEPTED_SHOW_FIELD.full_name = ".ftcfg.mission_cfg.accepted_show" -MISSION_CFG_ACCEPTED_SHOW_FIELD.number = 62 -MISSION_CFG_ACCEPTED_SHOW_FIELD.index = 61 -MISSION_CFG_ACCEPTED_SHOW_FIELD.label = 2 -MISSION_CFG_ACCEPTED_SHOW_FIELD.has_default_value = false -MISSION_CFG_ACCEPTED_SHOW_FIELD.default_value = 0 -MISSION_CFG_ACCEPTED_SHOW_FIELD.type = 5 -MISSION_CFG_ACCEPTED_SHOW_FIELD.cpp_type = 1 - -MISSION_CFG_COMMIT_SHOW_FIELD.name = "commit_show" -MISSION_CFG_COMMIT_SHOW_FIELD.full_name = ".ftcfg.mission_cfg.commit_show" -MISSION_CFG_COMMIT_SHOW_FIELD.number = 63 -MISSION_CFG_COMMIT_SHOW_FIELD.index = 62 -MISSION_CFG_COMMIT_SHOW_FIELD.label = 2 -MISSION_CFG_COMMIT_SHOW_FIELD.has_default_value = false -MISSION_CFG_COMMIT_SHOW_FIELD.default_value = 0 -MISSION_CFG_COMMIT_SHOW_FIELD.type = 5 -MISSION_CFG_COMMIT_SHOW_FIELD.cpp_type = 1 - -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.name = "accepted_inexecution" -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.full_name = ".ftcfg.mission_cfg.accepted_inexecution" -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.number = 64 -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.index = 63 -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.label = 2 -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.has_default_value = false -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.default_value = 0 -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.type = 5 -MISSION_CFG_ACCEPTED_INEXECUTION_FIELD.cpp_type = 1 - -MISSION_CFG_OPEN_FUNC_FIELD.name = "open_func" -MISSION_CFG_OPEN_FUNC_FIELD.full_name = ".ftcfg.mission_cfg.open_func" -MISSION_CFG_OPEN_FUNC_FIELD.number = 65 -MISSION_CFG_OPEN_FUNC_FIELD.index = 64 -MISSION_CFG_OPEN_FUNC_FIELD.label = 2 -MISSION_CFG_OPEN_FUNC_FIELD.has_default_value = false -MISSION_CFG_OPEN_FUNC_FIELD.default_value = nil -MISSION_CFG_OPEN_FUNC_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -MISSION_CFG_OPEN_FUNC_FIELD.type = 14 -MISSION_CFG_OPEN_FUNC_FIELD.cpp_type = 8 - -MISSION_CFG_BTN_NAME_FIELD.name = "btn_name" -MISSION_CFG_BTN_NAME_FIELD.full_name = ".ftcfg.mission_cfg.btn_name" -MISSION_CFG_BTN_NAME_FIELD.number = 66 -MISSION_CFG_BTN_NAME_FIELD.index = 65 -MISSION_CFG_BTN_NAME_FIELD.label = 2 -MISSION_CFG_BTN_NAME_FIELD.has_default_value = false -MISSION_CFG_BTN_NAME_FIELD.default_value = 0 -MISSION_CFG_BTN_NAME_FIELD.type = 5 -MISSION_CFG_BTN_NAME_FIELD.cpp_type = 1 - -MISSION_CFG_EVENT_TYPE_FIELD.name = "event_type" -MISSION_CFG_EVENT_TYPE_FIELD.full_name = ".ftcfg.mission_cfg.event_type" -MISSION_CFG_EVENT_TYPE_FIELD.number = 67 -MISSION_CFG_EVENT_TYPE_FIELD.index = 66 -MISSION_CFG_EVENT_TYPE_FIELD.label = 2 -MISSION_CFG_EVENT_TYPE_FIELD.has_default_value = false -MISSION_CFG_EVENT_TYPE_FIELD.default_value = 0 -MISSION_CFG_EVENT_TYPE_FIELD.type = 5 -MISSION_CFG_EVENT_TYPE_FIELD.cpp_type = 1 - -MISSION_CFG_KILL_PLAYER_NUM_FIELD.name = "kill_player_num" -MISSION_CFG_KILL_PLAYER_NUM_FIELD.full_name = ".ftcfg.mission_cfg.kill_player_num" -MISSION_CFG_KILL_PLAYER_NUM_FIELD.number = 68 -MISSION_CFG_KILL_PLAYER_NUM_FIELD.index = 67 -MISSION_CFG_KILL_PLAYER_NUM_FIELD.label = 2 -MISSION_CFG_KILL_PLAYER_NUM_FIELD.has_default_value = false -MISSION_CFG_KILL_PLAYER_NUM_FIELD.default_value = 0 -MISSION_CFG_KILL_PLAYER_NUM_FIELD.type = 5 -MISSION_CFG_KILL_PLAYER_NUM_FIELD.cpp_type = 1 - -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.name = "kill_player_level" -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.full_name = ".ftcfg.mission_cfg.kill_player_level" -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.number = 69 -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.index = 68 -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.label = 2 -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.has_default_value = false -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.default_value = 0 -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.type = 5 -MISSION_CFG_KILL_PLAYER_LEVEL_FIELD.cpp_type = 1 - -MISSION_CFG_KILL_PLAYER_MAP_FIELD.name = "kill_player_map" -MISSION_CFG_KILL_PLAYER_MAP_FIELD.full_name = ".ftcfg.mission_cfg.kill_player_map" -MISSION_CFG_KILL_PLAYER_MAP_FIELD.number = 70 -MISSION_CFG_KILL_PLAYER_MAP_FIELD.index = 69 -MISSION_CFG_KILL_PLAYER_MAP_FIELD.label = 3 -MISSION_CFG_KILL_PLAYER_MAP_FIELD.has_default_value = false -MISSION_CFG_KILL_PLAYER_MAP_FIELD.default_value = {} -MISSION_CFG_KILL_PLAYER_MAP_FIELD.type = 5 -MISSION_CFG_KILL_PLAYER_MAP_FIELD.cpp_type = 1 - -MISSION_CFG_SUPPORT_PAUSE_FIELD.name = "support_pause" -MISSION_CFG_SUPPORT_PAUSE_FIELD.full_name = ".ftcfg.mission_cfg.support_pause" -MISSION_CFG_SUPPORT_PAUSE_FIELD.number = 71 -MISSION_CFG_SUPPORT_PAUSE_FIELD.index = 70 -MISSION_CFG_SUPPORT_PAUSE_FIELD.label = 2 -MISSION_CFG_SUPPORT_PAUSE_FIELD.has_default_value = false -MISSION_CFG_SUPPORT_PAUSE_FIELD.default_value = 0 -MISSION_CFG_SUPPORT_PAUSE_FIELD.type = 5 -MISSION_CFG_SUPPORT_PAUSE_FIELD.cpp_type = 1 - -MISSION_CFG_SUBMISSION_HEAD_FIELD.name = "submission_head" -MISSION_CFG_SUBMISSION_HEAD_FIELD.full_name = ".ftcfg.mission_cfg.submission_head" -MISSION_CFG_SUBMISSION_HEAD_FIELD.number = 72 -MISSION_CFG_SUBMISSION_HEAD_FIELD.index = 71 -MISSION_CFG_SUBMISSION_HEAD_FIELD.label = 2 -MISSION_CFG_SUBMISSION_HEAD_FIELD.has_default_value = false -MISSION_CFG_SUBMISSION_HEAD_FIELD.default_value = 0 -MISSION_CFG_SUBMISSION_HEAD_FIELD.type = 5 -MISSION_CFG_SUBMISSION_HEAD_FIELD.cpp_type = 1 - -MISSION_CFG_ROUTE_MARK_ID_FIELD.name = "route_mark_id" -MISSION_CFG_ROUTE_MARK_ID_FIELD.full_name = ".ftcfg.mission_cfg.route_mark_id" -MISSION_CFG_ROUTE_MARK_ID_FIELD.number = 73 -MISSION_CFG_ROUTE_MARK_ID_FIELD.index = 72 -MISSION_CFG_ROUTE_MARK_ID_FIELD.label = 2 -MISSION_CFG_ROUTE_MARK_ID_FIELD.has_default_value = false -MISSION_CFG_ROUTE_MARK_ID_FIELD.default_value = 0 -MISSION_CFG_ROUTE_MARK_ID_FIELD.type = 5 -MISSION_CFG_ROUTE_MARK_ID_FIELD.cpp_type = 1 - -MISSION_CFG.name = "mission_cfg" -MISSION_CFG.full_name = ".ftcfg.mission_cfg" -MISSION_CFG.nested_types = {} -MISSION_CFG.enum_types = {} -MISSION_CFG.fields = {MISSION_CFG_ID_FIELD, MISSION_CFG_MISSION_GROUPID_FIELD, MISSION_CFG_MISSION_COLOUR_FIELD, MISSION_CFG_MISSION_NAME_FIELD, MISSION_CFG_MISSION_TEXT_FIELD, MISSION_CFG_MISSION_TARGET1_FIELD, MISSION_CFG_MISSION_TARGET2_FIELD, MISSION_CFG_MISSION_TARGET3_FIELD, MISSION_CFG_MISSION_TYPE_FIELD, MISSION_CFG_MISSION_TARGETTYPE_FIELD, MISSION_CFG_MISSION_OCCUPATION_FIELD, MISSION_CFG_REPEAT_WHETHER_FIELD, MISSION_CFG_DIRECTACCE_WHETHER_FIELD, MISSION_CFG_AUTO_WHETHER_FIELD, MISSION_CFG_AUTO_COMMIT_FIELD, MISSION_CFG_MISSION_FRONTID_FIELD, MISSION_CFG_MISSION_TRIGGERLV_FIELD, MISSION_CFG_MISSION_GIVEUP_FIELD, MISSION_CFG_MISSIONNODE_LIST_FIELD, MISSION_CFG_DAILY_TIMES_FIELD, MISSION_CFG_RESET_TIME_FIELD, MISSION_CFG_MISSION_DURATION_FIELD, MISSION_CFG_ACCEPT_SCENEID_FIELD, MISSION_CFG_ACCEPT_NPCID_FIELD, MISSION_CFG_CONDUCT_SCENEID_FIELD, MISSION_CFG_CONDUCT_NPCID_FIELD, MISSION_CFG_SUBMIT_SCENEID_FIELD, MISSION_CFG_SUBMIT_NPCID_FIELD, MISSION_CFG_ACCEPTSEAT_PLOTID_FIELD, MISSION_CFG_CONDUCTSEAT_PLOTID_FIELD, MISSION_CFG_SUBMITSEAT_PLOTID_FIELD, MISSION_CFG_KILL_NPCID_FIELD, MISSION_CFG_KILL_NPCNUM_FIELD, MISSION_CFG_KILL_NPCDROP_FIELD, MISSION_CFG_TALK_PLOTID_FIELD, MISSION_CFG_COLLECT_ITEMID_FIELD, MISSION_CFG_COLLECT_ITEMNUM_FIELD, MISSION_CFG_SCENE_ID_FIELD, MISSION_CFG_POS_X_FIELD, MISSION_CFG_POS_Z_FIELD, MISSION_CFG_COLLECTION_NPCID_FIELD, MISSION_CFG_COLLECTION_NPCNUM_FIELD, MISSION_CFG_USED_ITEMID_FIELD, MISSION_CFG_INTO_BATTLEID_FIELD, MISSION_CFG_TARGET_GRADE_FIELD, MISSION_CFG_FUNCTION_SCRIPT_FIELD, MISSION_CFG_ACCEPT_PLOTID_FIELD, MISSION_CFG_CONDUCT_PLOTID_FIELD, MISSION_CFG_SUBMIT_PLOTID_FIELD, MISSION_CFG_TRIGGER_BLUR_FIELD, MISSION_CFG_ACCEPT_BLUR_FIELD, MISSION_CFG_CONDUCT_BLUR_FIELD, MISSION_CFG_REWARD_ITEMID_FIELD, MISSION_CFG_FAILED_ITEMID_FIELD, MISSION_CFG_EXCLUSIVE4_ITEMID_FIELD, MISSION_CFG_DISPLAY_WHETHER_FIELD, MISSION_CFG_ACCEPT_DELIVERY_FIELD, MISSION_CFG_MISSION_CONVOYS_FIELD, MISSION_CFG_BIAOCHE_MOUNT_FIELD, MISSION_CFG_SCENE_IS_COPY_FIELD, MISSION_CFG_ALLOW_SHOW_FIELD, MISSION_CFG_ACCEPTED_SHOW_FIELD, MISSION_CFG_COMMIT_SHOW_FIELD, MISSION_CFG_ACCEPTED_INEXECUTION_FIELD, MISSION_CFG_OPEN_FUNC_FIELD, MISSION_CFG_BTN_NAME_FIELD, MISSION_CFG_EVENT_TYPE_FIELD, MISSION_CFG_KILL_PLAYER_NUM_FIELD, MISSION_CFG_KILL_PLAYER_LEVEL_FIELD, MISSION_CFG_KILL_PLAYER_MAP_FIELD, MISSION_CFG_SUPPORT_PAUSE_FIELD, MISSION_CFG_SUBMISSION_HEAD_FIELD, MISSION_CFG_ROUTE_MARK_ID_FIELD} -MISSION_CFG.is_extendable = false -MISSION_CFG.extensions = {} -MISSION_CFGS_ITEMS_FIELD.name = "items" -MISSION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.mission_cfgs.items" -MISSION_CFGS_ITEMS_FIELD.number = 1 -MISSION_CFGS_ITEMS_FIELD.index = 0 -MISSION_CFGS_ITEMS_FIELD.label = 3 -MISSION_CFGS_ITEMS_FIELD.has_default_value = false -MISSION_CFGS_ITEMS_FIELD.default_value = {} -MISSION_CFGS_ITEMS_FIELD.message_type = MISSION_CFG -MISSION_CFGS_ITEMS_FIELD.type = 11 -MISSION_CFGS_ITEMS_FIELD.cpp_type = 10 - -MISSION_CFGS.name = "mission_cfgs" -MISSION_CFGS.full_name = ".ftcfg.mission_cfgs" -MISSION_CFGS.nested_types = {} -MISSION_CFGS.enum_types = {} -MISSION_CFGS.fields = {MISSION_CFGS_ITEMS_FIELD} -MISSION_CFGS.is_extendable = false -MISSION_CFGS.extensions = {} -MISSION_GROUP_CFG_ID_FIELD.name = "id" -MISSION_GROUP_CFG_ID_FIELD.full_name = ".ftcfg.mission_group_cfg.id" -MISSION_GROUP_CFG_ID_FIELD.number = 1 -MISSION_GROUP_CFG_ID_FIELD.index = 0 -MISSION_GROUP_CFG_ID_FIELD.label = 2 -MISSION_GROUP_CFG_ID_FIELD.has_default_value = false -MISSION_GROUP_CFG_ID_FIELD.default_value = 0 -MISSION_GROUP_CFG_ID_FIELD.type = 5 -MISSION_GROUP_CFG_ID_FIELD.cpp_type = 1 - -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.name = "quest_groupname" -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.full_name = ".ftcfg.mission_group_cfg.quest_groupname" -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.number = 2 -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.index = 1 -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.label = 2 -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.has_default_value = false -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.default_value = 0 -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.type = 5 -MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD.cpp_type = 1 - -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.name = "quest_grouptips" -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.full_name = ".ftcfg.mission_group_cfg.quest_grouptips" -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.number = 3 -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.index = 2 -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.label = 2 -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.has_default_value = false -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.default_value = 0 -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.type = 5 -MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD.cpp_type = 1 - -MISSION_GROUP_CFG.name = "mission_group_cfg" -MISSION_GROUP_CFG.full_name = ".ftcfg.mission_group_cfg" -MISSION_GROUP_CFG.nested_types = {} -MISSION_GROUP_CFG.enum_types = {} -MISSION_GROUP_CFG.fields = {MISSION_GROUP_CFG_ID_FIELD, MISSION_GROUP_CFG_QUEST_GROUPNAME_FIELD, MISSION_GROUP_CFG_QUEST_GROUPTIPS_FIELD} -MISSION_GROUP_CFG.is_extendable = false -MISSION_GROUP_CFG.extensions = {} -MISSION_GROUP_CFGS_ITEMS_FIELD.name = "items" -MISSION_GROUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.mission_group_cfgs.items" -MISSION_GROUP_CFGS_ITEMS_FIELD.number = 1 -MISSION_GROUP_CFGS_ITEMS_FIELD.index = 0 -MISSION_GROUP_CFGS_ITEMS_FIELD.label = 3 -MISSION_GROUP_CFGS_ITEMS_FIELD.has_default_value = false -MISSION_GROUP_CFGS_ITEMS_FIELD.default_value = {} -MISSION_GROUP_CFGS_ITEMS_FIELD.message_type = MISSION_GROUP_CFG -MISSION_GROUP_CFGS_ITEMS_FIELD.type = 11 -MISSION_GROUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -MISSION_GROUP_CFGS.name = "mission_group_cfgs" -MISSION_GROUP_CFGS.full_name = ".ftcfg.mission_group_cfgs" -MISSION_GROUP_CFGS.nested_types = {} -MISSION_GROUP_CFGS.enum_types = {} -MISSION_GROUP_CFGS.fields = {MISSION_GROUP_CFGS_ITEMS_FIELD} -MISSION_GROUP_CFGS.is_extendable = false -MISSION_GROUP_CFGS.extensions = {} -NPC_SPAWN_METHOD_CFG_ID_FIELD.name = "id" -NPC_SPAWN_METHOD_CFG_ID_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.id" -NPC_SPAWN_METHOD_CFG_ID_FIELD.number = 1 -NPC_SPAWN_METHOD_CFG_ID_FIELD.index = 0 -NPC_SPAWN_METHOD_CFG_ID_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_ID_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_ID_FIELD.default_value = 0 -NPC_SPAWN_METHOD_CFG_ID_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_ID_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.name = "group_id" -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.group_id" -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.number = 2 -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.index = 1 -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.default_value = 0 -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.name = "map_id" -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.map_id" -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.number = 3 -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.index = 2 -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.default_value = 0 -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.name = "npc_id" -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.npc_id" -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.number = 4 -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.index = 3 -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.default_value = 0 -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.name = "pos_x" -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.pos_x" -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.number = 5 -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.index = 4 -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.default_value = 0.0 -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.type = 2 -NPC_SPAWN_METHOD_CFG_POS_X_FIELD.cpp_type = 6 - -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.name = "pos_y" -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.pos_y" -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.number = 6 -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.index = 5 -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.default_value = 0.0 -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.type = 2 -NPC_SPAWN_METHOD_CFG_POS_Y_FIELD.cpp_type = 6 - -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.name = "pos_z" -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.pos_z" -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.number = 7 -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.index = 6 -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.default_value = 0.0 -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.type = 2 -NPC_SPAWN_METHOD_CFG_POS_Z_FIELD.cpp_type = 6 - -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.name = "orientation" -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.orientation" -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.number = 8 -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.index = 7 -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.default_value = 0.0 -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.type = 2 -NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD.cpp_type = 6 - -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.name = "relive_type" -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.relive_type" -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.number = 9 -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.index = 8 -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.default_value = 0 -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.name = "relive_time" -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.relive_time" -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.number = 10 -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.index = 9 -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.default_value = 0 -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.name = "service_list" -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.service_list" -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.number = 11 -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.index = 10 -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.label = 3 -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.default_value = {} -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.name = "npc_type" -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.npc_type" -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.number = 12 -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.index = 11 -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.label = 2 -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.default_value = nil -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.enum_type = config_predefine_pb.EENTITYTYPE -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.type = 14 -NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD.cpp_type = 8 - -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.name = "mission_ids" -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.full_name = ".ftcfg.npc_spawn_method_cfg.mission_ids" -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.number = 13 -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.index = 12 -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.label = 3 -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.default_value = {} -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.type = 5 -NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD.cpp_type = 1 - -NPC_SPAWN_METHOD_CFG.name = "npc_spawn_method_cfg" -NPC_SPAWN_METHOD_CFG.full_name = ".ftcfg.npc_spawn_method_cfg" -NPC_SPAWN_METHOD_CFG.nested_types = {} -NPC_SPAWN_METHOD_CFG.enum_types = {} -NPC_SPAWN_METHOD_CFG.fields = {NPC_SPAWN_METHOD_CFG_ID_FIELD, NPC_SPAWN_METHOD_CFG_GROUP_ID_FIELD, NPC_SPAWN_METHOD_CFG_MAP_ID_FIELD, NPC_SPAWN_METHOD_CFG_NPC_ID_FIELD, NPC_SPAWN_METHOD_CFG_POS_X_FIELD, NPC_SPAWN_METHOD_CFG_POS_Y_FIELD, NPC_SPAWN_METHOD_CFG_POS_Z_FIELD, NPC_SPAWN_METHOD_CFG_ORIENTATION_FIELD, NPC_SPAWN_METHOD_CFG_RELIVE_TYPE_FIELD, NPC_SPAWN_METHOD_CFG_RELIVE_TIME_FIELD, NPC_SPAWN_METHOD_CFG_SERVICE_LIST_FIELD, NPC_SPAWN_METHOD_CFG_NPC_TYPE_FIELD, NPC_SPAWN_METHOD_CFG_MISSION_IDS_FIELD} -NPC_SPAWN_METHOD_CFG.is_extendable = false -NPC_SPAWN_METHOD_CFG.extensions = {} -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.name = "items" -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.npc_spawn_method_cfgs.items" -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.number = 1 -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.index = 0 -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.label = 3 -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.has_default_value = false -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.default_value = {} -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.message_type = NPC_SPAWN_METHOD_CFG -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.type = 11 -NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD.cpp_type = 10 - -NPC_SPAWN_METHOD_CFGS.name = "npc_spawn_method_cfgs" -NPC_SPAWN_METHOD_CFGS.full_name = ".ftcfg.npc_spawn_method_cfgs" -NPC_SPAWN_METHOD_CFGS.nested_types = {} -NPC_SPAWN_METHOD_CFGS.enum_types = {} -NPC_SPAWN_METHOD_CFGS.fields = {NPC_SPAWN_METHOD_CFGS_ITEMS_FIELD} -NPC_SPAWN_METHOD_CFGS.is_extendable = false -NPC_SPAWN_METHOD_CFGS.extensions = {} -NPC_FUNCTION_CFG_ID_FIELD.name = "id" -NPC_FUNCTION_CFG_ID_FIELD.full_name = ".ftcfg.npc_function_cfg.id" -NPC_FUNCTION_CFG_ID_FIELD.number = 1 -NPC_FUNCTION_CFG_ID_FIELD.index = 0 -NPC_FUNCTION_CFG_ID_FIELD.label = 2 -NPC_FUNCTION_CFG_ID_FIELD.has_default_value = false -NPC_FUNCTION_CFG_ID_FIELD.default_value = 0 -NPC_FUNCTION_CFG_ID_FIELD.type = 5 -NPC_FUNCTION_CFG_ID_FIELD.cpp_type = 1 - -NPC_FUNCTION_CFG_SCENE_ID_FIELD.name = "scene_id" -NPC_FUNCTION_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.npc_function_cfg.scene_id" -NPC_FUNCTION_CFG_SCENE_ID_FIELD.number = 2 -NPC_FUNCTION_CFG_SCENE_ID_FIELD.index = 1 -NPC_FUNCTION_CFG_SCENE_ID_FIELD.label = 2 -NPC_FUNCTION_CFG_SCENE_ID_FIELD.has_default_value = false -NPC_FUNCTION_CFG_SCENE_ID_FIELD.default_value = 0 -NPC_FUNCTION_CFG_SCENE_ID_FIELD.type = 5 -NPC_FUNCTION_CFG_SCENE_ID_FIELD.cpp_type = 1 - -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.name = "open_dialog" -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.full_name = ".ftcfg.npc_function_cfg.open_dialog" -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.number = 3 -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.index = 2 -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.label = 2 -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.has_default_value = false -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.default_value = false -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.type = 8 -NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD.cpp_type = 7 - -NPC_FUNCTION_CFG_BUTTONS_FIELD.name = "buttons" -NPC_FUNCTION_CFG_BUTTONS_FIELD.full_name = ".ftcfg.npc_function_cfg.buttons" -NPC_FUNCTION_CFG_BUTTONS_FIELD.number = 4 -NPC_FUNCTION_CFG_BUTTONS_FIELD.index = 3 -NPC_FUNCTION_CFG_BUTTONS_FIELD.label = 3 -NPC_FUNCTION_CFG_BUTTONS_FIELD.has_default_value = false -NPC_FUNCTION_CFG_BUTTONS_FIELD.default_value = {} -NPC_FUNCTION_CFG_BUTTONS_FIELD.type = 5 -NPC_FUNCTION_CFG_BUTTONS_FIELD.cpp_type = 1 - -NPC_FUNCTION_CFG_CONTENT_FIELD.name = "content" -NPC_FUNCTION_CFG_CONTENT_FIELD.full_name = ".ftcfg.npc_function_cfg.content" -NPC_FUNCTION_CFG_CONTENT_FIELD.number = 5 -NPC_FUNCTION_CFG_CONTENT_FIELD.index = 4 -NPC_FUNCTION_CFG_CONTENT_FIELD.label = 2 -NPC_FUNCTION_CFG_CONTENT_FIELD.has_default_value = false -NPC_FUNCTION_CFG_CONTENT_FIELD.default_value = 0 -NPC_FUNCTION_CFG_CONTENT_FIELD.type = 5 -NPC_FUNCTION_CFG_CONTENT_FIELD.cpp_type = 1 - -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.name = "functions" -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.full_name = ".ftcfg.npc_function_cfg.functions" -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.number = 6 -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.index = 5 -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.label = 3 -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.has_default_value = false -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.default_value = {} -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.type = 14 -NPC_FUNCTION_CFG_FUNCTIONS_FIELD.cpp_type = 8 - -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.name = "func_para" -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.full_name = ".ftcfg.npc_function_cfg.func_para" -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.number = 7 -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.index = 6 -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.label = 3 -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.has_default_value = false -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.default_value = {} -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.type = 5 -NPC_FUNCTION_CFG_FUNC_PARA_FIELD.cpp_type = 1 - -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.name = "show_scale" -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.full_name = ".ftcfg.npc_function_cfg.show_scale" -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.number = 8 -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.index = 7 -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.label = 2 -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.has_default_value = false -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.default_value = 0.0 -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.type = 2 -NPC_FUNCTION_CFG_SHOW_SCALE_FIELD.cpp_type = 6 - -NPC_FUNCTION_CFG.name = "npc_function_cfg" -NPC_FUNCTION_CFG.full_name = ".ftcfg.npc_function_cfg" -NPC_FUNCTION_CFG.nested_types = {} -NPC_FUNCTION_CFG.enum_types = {} -NPC_FUNCTION_CFG.fields = {NPC_FUNCTION_CFG_ID_FIELD, NPC_FUNCTION_CFG_SCENE_ID_FIELD, NPC_FUNCTION_CFG_OPEN_DIALOG_FIELD, NPC_FUNCTION_CFG_BUTTONS_FIELD, NPC_FUNCTION_CFG_CONTENT_FIELD, NPC_FUNCTION_CFG_FUNCTIONS_FIELD, NPC_FUNCTION_CFG_FUNC_PARA_FIELD, NPC_FUNCTION_CFG_SHOW_SCALE_FIELD} -NPC_FUNCTION_CFG.is_extendable = false -NPC_FUNCTION_CFG.extensions = {} -NPC_FUNCTION_CFGS_ITEMS_FIELD.name = "items" -NPC_FUNCTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.npc_function_cfgs.items" -NPC_FUNCTION_CFGS_ITEMS_FIELD.number = 1 -NPC_FUNCTION_CFGS_ITEMS_FIELD.index = 0 -NPC_FUNCTION_CFGS_ITEMS_FIELD.label = 3 -NPC_FUNCTION_CFGS_ITEMS_FIELD.has_default_value = false -NPC_FUNCTION_CFGS_ITEMS_FIELD.default_value = {} -NPC_FUNCTION_CFGS_ITEMS_FIELD.message_type = NPC_FUNCTION_CFG -NPC_FUNCTION_CFGS_ITEMS_FIELD.type = 11 -NPC_FUNCTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -NPC_FUNCTION_CFGS.name = "npc_function_cfgs" -NPC_FUNCTION_CFGS.full_name = ".ftcfg.npc_function_cfgs" -NPC_FUNCTION_CFGS.nested_types = {} -NPC_FUNCTION_CFGS.enum_types = {} -NPC_FUNCTION_CFGS.fields = {NPC_FUNCTION_CFGS_ITEMS_FIELD} -NPC_FUNCTION_CFGS.is_extendable = false -NPC_FUNCTION_CFGS.extensions = {} -PLAYSCG_CFG_ID_FIELD.name = "id" -PLAYSCG_CFG_ID_FIELD.full_name = ".ftcfg.playscg_cfg.id" -PLAYSCG_CFG_ID_FIELD.number = 1 -PLAYSCG_CFG_ID_FIELD.index = 0 -PLAYSCG_CFG_ID_FIELD.label = 2 -PLAYSCG_CFG_ID_FIELD.has_default_value = false -PLAYSCG_CFG_ID_FIELD.default_value = 0 -PLAYSCG_CFG_ID_FIELD.type = 5 -PLAYSCG_CFG_ID_FIELD.cpp_type = 1 - -PLAYSCG_CFG_STATE_FIELD.name = "state" -PLAYSCG_CFG_STATE_FIELD.full_name = ".ftcfg.playscg_cfg.state" -PLAYSCG_CFG_STATE_FIELD.number = 2 -PLAYSCG_CFG_STATE_FIELD.index = 1 -PLAYSCG_CFG_STATE_FIELD.label = 2 -PLAYSCG_CFG_STATE_FIELD.has_default_value = false -PLAYSCG_CFG_STATE_FIELD.default_value = 0 -PLAYSCG_CFG_STATE_FIELD.type = 5 -PLAYSCG_CFG_STATE_FIELD.cpp_type = 1 - -PLAYSCG_CFG.name = "playscg_cfg" -PLAYSCG_CFG.full_name = ".ftcfg.playscg_cfg" -PLAYSCG_CFG.nested_types = {} -PLAYSCG_CFG.enum_types = {} -PLAYSCG_CFG.fields = {PLAYSCG_CFG_ID_FIELD, PLAYSCG_CFG_STATE_FIELD} -PLAYSCG_CFG.is_extendable = false -PLAYSCG_CFG.extensions = {} -PLAYSCG_CFGS_ITEMS_FIELD.name = "items" -PLAYSCG_CFGS_ITEMS_FIELD.full_name = ".ftcfg.playscg_cfgs.items" -PLAYSCG_CFGS_ITEMS_FIELD.number = 1 -PLAYSCG_CFGS_ITEMS_FIELD.index = 0 -PLAYSCG_CFGS_ITEMS_FIELD.label = 3 -PLAYSCG_CFGS_ITEMS_FIELD.has_default_value = false -PLAYSCG_CFGS_ITEMS_FIELD.default_value = {} -PLAYSCG_CFGS_ITEMS_FIELD.message_type = PLAYSCG_CFG -PLAYSCG_CFGS_ITEMS_FIELD.type = 11 -PLAYSCG_CFGS_ITEMS_FIELD.cpp_type = 10 - -PLAYSCG_CFGS.name = "playscg_cfgs" -PLAYSCG_CFGS.full_name = ".ftcfg.playscg_cfgs" -PLAYSCG_CFGS.nested_types = {} -PLAYSCG_CFGS.enum_types = {} -PLAYSCG_CFGS.fields = {PLAYSCG_CFGS_ITEMS_FIELD} -PLAYSCG_CFGS.is_extendable = false -PLAYSCG_CFGS.extensions = {} -PLOT_DATA_CFG_ID_FIELD.name = "id" -PLOT_DATA_CFG_ID_FIELD.full_name = ".ftcfg.plot_data_cfg.id" -PLOT_DATA_CFG_ID_FIELD.number = 1 -PLOT_DATA_CFG_ID_FIELD.index = 0 -PLOT_DATA_CFG_ID_FIELD.label = 2 -PLOT_DATA_CFG_ID_FIELD.has_default_value = false -PLOT_DATA_CFG_ID_FIELD.default_value = 0 -PLOT_DATA_CFG_ID_FIELD.type = 5 -PLOT_DATA_CFG_ID_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_TYPE_FIELD.name = "type" -PLOT_DATA_CFG_TYPE_FIELD.full_name = ".ftcfg.plot_data_cfg.type" -PLOT_DATA_CFG_TYPE_FIELD.number = 2 -PLOT_DATA_CFG_TYPE_FIELD.index = 1 -PLOT_DATA_CFG_TYPE_FIELD.label = 2 -PLOT_DATA_CFG_TYPE_FIELD.has_default_value = false -PLOT_DATA_CFG_TYPE_FIELD.default_value = 0 -PLOT_DATA_CFG_TYPE_FIELD.type = 5 -PLOT_DATA_CFG_TYPE_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_NEXT_PLOT_FIELD.name = "next_plot" -PLOT_DATA_CFG_NEXT_PLOT_FIELD.full_name = ".ftcfg.plot_data_cfg.next_plot" -PLOT_DATA_CFG_NEXT_PLOT_FIELD.number = 3 -PLOT_DATA_CFG_NEXT_PLOT_FIELD.index = 2 -PLOT_DATA_CFG_NEXT_PLOT_FIELD.label = 2 -PLOT_DATA_CFG_NEXT_PLOT_FIELD.has_default_value = false -PLOT_DATA_CFG_NEXT_PLOT_FIELD.default_value = 0 -PLOT_DATA_CFG_NEXT_PLOT_FIELD.type = 5 -PLOT_DATA_CFG_NEXT_PLOT_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_CONTENT_ID_FIELD.name = "content_id" -PLOT_DATA_CFG_CONTENT_ID_FIELD.full_name = ".ftcfg.plot_data_cfg.content_id" -PLOT_DATA_CFG_CONTENT_ID_FIELD.number = 4 -PLOT_DATA_CFG_CONTENT_ID_FIELD.index = 3 -PLOT_DATA_CFG_CONTENT_ID_FIELD.label = 2 -PLOT_DATA_CFG_CONTENT_ID_FIELD.has_default_value = false -PLOT_DATA_CFG_CONTENT_ID_FIELD.default_value = 0 -PLOT_DATA_CFG_CONTENT_ID_FIELD.type = 5 -PLOT_DATA_CFG_CONTENT_ID_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_CAN_SKIP_FIELD.name = "can_skip" -PLOT_DATA_CFG_CAN_SKIP_FIELD.full_name = ".ftcfg.plot_data_cfg.can_skip" -PLOT_DATA_CFG_CAN_SKIP_FIELD.number = 5 -PLOT_DATA_CFG_CAN_SKIP_FIELD.index = 4 -PLOT_DATA_CFG_CAN_SKIP_FIELD.label = 2 -PLOT_DATA_CFG_CAN_SKIP_FIELD.has_default_value = false -PLOT_DATA_CFG_CAN_SKIP_FIELD.default_value = false -PLOT_DATA_CFG_CAN_SKIP_FIELD.type = 8 -PLOT_DATA_CFG_CAN_SKIP_FIELD.cpp_type = 7 - -PLOT_DATA_CFG_SHOW_ID_FIELD.name = "show_id" -PLOT_DATA_CFG_SHOW_ID_FIELD.full_name = ".ftcfg.plot_data_cfg.show_id" -PLOT_DATA_CFG_SHOW_ID_FIELD.number = 6 -PLOT_DATA_CFG_SHOW_ID_FIELD.index = 5 -PLOT_DATA_CFG_SHOW_ID_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_ID_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_ID_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_ID_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_ID_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_IMAGE_ID_FIELD.name = "image_id" -PLOT_DATA_CFG_IMAGE_ID_FIELD.full_name = ".ftcfg.plot_data_cfg.image_id" -PLOT_DATA_CFG_IMAGE_ID_FIELD.number = 7 -PLOT_DATA_CFG_IMAGE_ID_FIELD.index = 6 -PLOT_DATA_CFG_IMAGE_ID_FIELD.label = 2 -PLOT_DATA_CFG_IMAGE_ID_FIELD.has_default_value = false -PLOT_DATA_CFG_IMAGE_ID_FIELD.default_value = 0 -PLOT_DATA_CFG_IMAGE_ID_FIELD.type = 5 -PLOT_DATA_CFG_IMAGE_ID_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_STAY_TIME_FIELD.name = "stay_time" -PLOT_DATA_CFG_STAY_TIME_FIELD.full_name = ".ftcfg.plot_data_cfg.stay_time" -PLOT_DATA_CFG_STAY_TIME_FIELD.number = 8 -PLOT_DATA_CFG_STAY_TIME_FIELD.index = 7 -PLOT_DATA_CFG_STAY_TIME_FIELD.label = 2 -PLOT_DATA_CFG_STAY_TIME_FIELD.has_default_value = false -PLOT_DATA_CFG_STAY_TIME_FIELD.default_value = 0.0 -PLOT_DATA_CFG_STAY_TIME_FIELD.type = 2 -PLOT_DATA_CFG_STAY_TIME_FIELD.cpp_type = 6 - -PLOT_DATA_CFG_AUDIORES_ID_FIELD.name = "audiores_id" -PLOT_DATA_CFG_AUDIORES_ID_FIELD.full_name = ".ftcfg.plot_data_cfg.audiores_id" -PLOT_DATA_CFG_AUDIORES_ID_FIELD.number = 9 -PLOT_DATA_CFG_AUDIORES_ID_FIELD.index = 8 -PLOT_DATA_CFG_AUDIORES_ID_FIELD.label = 2 -PLOT_DATA_CFG_AUDIORES_ID_FIELD.has_default_value = false -PLOT_DATA_CFG_AUDIORES_ID_FIELD.default_value = 0 -PLOT_DATA_CFG_AUDIORES_ID_FIELD.type = 5 -PLOT_DATA_CFG_AUDIORES_ID_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_SHOW_POS_FIELD.name = "show_pos" -PLOT_DATA_CFG_SHOW_POS_FIELD.full_name = ".ftcfg.plot_data_cfg.show_pos" -PLOT_DATA_CFG_SHOW_POS_FIELD.number = 10 -PLOT_DATA_CFG_SHOW_POS_FIELD.index = 9 -PLOT_DATA_CFG_SHOW_POS_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_POS_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_POS_FIELD.default_value = 0.0 -PLOT_DATA_CFG_SHOW_POS_FIELD.type = 2 -PLOT_DATA_CFG_SHOW_POS_FIELD.cpp_type = 6 - -PLOT_DATA_CFG_SHOW_SCALE_FIELD.name = "show_scale" -PLOT_DATA_CFG_SHOW_SCALE_FIELD.full_name = ".ftcfg.plot_data_cfg.show_scale" -PLOT_DATA_CFG_SHOW_SCALE_FIELD.number = 11 -PLOT_DATA_CFG_SHOW_SCALE_FIELD.index = 10 -PLOT_DATA_CFG_SHOW_SCALE_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_SCALE_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_SCALE_FIELD.default_value = 0.0 -PLOT_DATA_CFG_SHOW_SCALE_FIELD.type = 2 -PLOT_DATA_CFG_SHOW_SCALE_FIELD.cpp_type = 6 - -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.name = "show_img_left" -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_img_left" -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.number = 12 -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.index = 11 -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.name = "show_name_left" -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_name_left" -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.number = 13 -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.index = 12 -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.name = "show_dark_left" -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_dark_left" -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.number = 14 -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.index = 13 -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.name = "show_zoom_left" -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_zoom_left" -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.number = 15 -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.index = 14 -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.default_value = 0.0 -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.type = 2 -PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD.cpp_type = 6 - -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.name = "show_img_right" -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_img_right" -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.number = 16 -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.index = 15 -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.name = "show_name_right" -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_name_right" -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.number = 17 -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.index = 16 -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.name = "show_dark_right" -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_dark_right" -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.number = 18 -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.index = 17 -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.name = "show_zoom_right" -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.full_name = ".ftcfg.plot_data_cfg.show_zoom_right" -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.number = 19 -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.index = 18 -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.default_value = 0.0 -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.type = 2 -PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD.cpp_type = 6 - -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.name = "show_bg_id" -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.full_name = ".ftcfg.plot_data_cfg.show_bg_id" -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.number = 20 -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.index = 19 -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.label = 2 -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.has_default_value = false -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.default_value = 0 -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.type = 5 -PLOT_DATA_CFG_SHOW_BG_ID_FIELD.cpp_type = 1 - -PLOT_DATA_CFG_INSERT_NAME_FIELD.name = "insert_name" -PLOT_DATA_CFG_INSERT_NAME_FIELD.full_name = ".ftcfg.plot_data_cfg.insert_name" -PLOT_DATA_CFG_INSERT_NAME_FIELD.number = 21 -PLOT_DATA_CFG_INSERT_NAME_FIELD.index = 20 -PLOT_DATA_CFG_INSERT_NAME_FIELD.label = 2 -PLOT_DATA_CFG_INSERT_NAME_FIELD.has_default_value = false -PLOT_DATA_CFG_INSERT_NAME_FIELD.default_value = false -PLOT_DATA_CFG_INSERT_NAME_FIELD.type = 8 -PLOT_DATA_CFG_INSERT_NAME_FIELD.cpp_type = 7 - -PLOT_DATA_CFG.name = "plot_data_cfg" -PLOT_DATA_CFG.full_name = ".ftcfg.plot_data_cfg" -PLOT_DATA_CFG.nested_types = {} -PLOT_DATA_CFG.enum_types = {} -PLOT_DATA_CFG.fields = {PLOT_DATA_CFG_ID_FIELD, PLOT_DATA_CFG_TYPE_FIELD, PLOT_DATA_CFG_NEXT_PLOT_FIELD, PLOT_DATA_CFG_CONTENT_ID_FIELD, PLOT_DATA_CFG_CAN_SKIP_FIELD, PLOT_DATA_CFG_SHOW_ID_FIELD, PLOT_DATA_CFG_IMAGE_ID_FIELD, PLOT_DATA_CFG_STAY_TIME_FIELD, PLOT_DATA_CFG_AUDIORES_ID_FIELD, PLOT_DATA_CFG_SHOW_POS_FIELD, PLOT_DATA_CFG_SHOW_SCALE_FIELD, PLOT_DATA_CFG_SHOW_IMG_LEFT_FIELD, PLOT_DATA_CFG_SHOW_NAME_LEFT_FIELD, PLOT_DATA_CFG_SHOW_DARK_LEFT_FIELD, PLOT_DATA_CFG_SHOW_ZOOM_LEFT_FIELD, PLOT_DATA_CFG_SHOW_IMG_RIGHT_FIELD, PLOT_DATA_CFG_SHOW_NAME_RIGHT_FIELD, PLOT_DATA_CFG_SHOW_DARK_RIGHT_FIELD, PLOT_DATA_CFG_SHOW_ZOOM_RIGHT_FIELD, PLOT_DATA_CFG_SHOW_BG_ID_FIELD, PLOT_DATA_CFG_INSERT_NAME_FIELD} -PLOT_DATA_CFG.is_extendable = false -PLOT_DATA_CFG.extensions = {} -PLOT_DATA_CFGS_ITEMS_FIELD.name = "items" -PLOT_DATA_CFGS_ITEMS_FIELD.full_name = ".ftcfg.plot_data_cfgs.items" -PLOT_DATA_CFGS_ITEMS_FIELD.number = 1 -PLOT_DATA_CFGS_ITEMS_FIELD.index = 0 -PLOT_DATA_CFGS_ITEMS_FIELD.label = 3 -PLOT_DATA_CFGS_ITEMS_FIELD.has_default_value = false -PLOT_DATA_CFGS_ITEMS_FIELD.default_value = {} -PLOT_DATA_CFGS_ITEMS_FIELD.message_type = PLOT_DATA_CFG -PLOT_DATA_CFGS_ITEMS_FIELD.type = 11 -PLOT_DATA_CFGS_ITEMS_FIELD.cpp_type = 10 - -PLOT_DATA_CFGS.name = "plot_data_cfgs" -PLOT_DATA_CFGS.full_name = ".ftcfg.plot_data_cfgs" -PLOT_DATA_CFGS.nested_types = {} -PLOT_DATA_CFGS.enum_types = {} -PLOT_DATA_CFGS.fields = {PLOT_DATA_CFGS_ITEMS_FIELD} -PLOT_DATA_CFGS.is_extendable = false -PLOT_DATA_CFGS.extensions = {} -GLOBAL_PARAM_CFG_ID_FIELD.name = "id" -GLOBAL_PARAM_CFG_ID_FIELD.full_name = ".ftcfg.global_param_cfg.id" -GLOBAL_PARAM_CFG_ID_FIELD.number = 1 -GLOBAL_PARAM_CFG_ID_FIELD.index = 0 -GLOBAL_PARAM_CFG_ID_FIELD.label = 2 -GLOBAL_PARAM_CFG_ID_FIELD.has_default_value = false -GLOBAL_PARAM_CFG_ID_FIELD.default_value = 0 -GLOBAL_PARAM_CFG_ID_FIELD.type = 5 -GLOBAL_PARAM_CFG_ID_FIELD.cpp_type = 1 - -GLOBAL_PARAM_CFG_DESC_FIELD.name = "desc" -GLOBAL_PARAM_CFG_DESC_FIELD.full_name = ".ftcfg.global_param_cfg.desc" -GLOBAL_PARAM_CFG_DESC_FIELD.number = 2 -GLOBAL_PARAM_CFG_DESC_FIELD.index = 1 -GLOBAL_PARAM_CFG_DESC_FIELD.label = 2 -GLOBAL_PARAM_CFG_DESC_FIELD.has_default_value = false -GLOBAL_PARAM_CFG_DESC_FIELD.default_value = "" -GLOBAL_PARAM_CFG_DESC_FIELD.type = 9 -GLOBAL_PARAM_CFG_DESC_FIELD.cpp_type = 9 - -GLOBAL_PARAM_CFG_VALUE_FIELD.name = "value" -GLOBAL_PARAM_CFG_VALUE_FIELD.full_name = ".ftcfg.global_param_cfg.value" -GLOBAL_PARAM_CFG_VALUE_FIELD.number = 3 -GLOBAL_PARAM_CFG_VALUE_FIELD.index = 2 -GLOBAL_PARAM_CFG_VALUE_FIELD.label = 2 -GLOBAL_PARAM_CFG_VALUE_FIELD.has_default_value = false -GLOBAL_PARAM_CFG_VALUE_FIELD.default_value = 0.0 -GLOBAL_PARAM_CFG_VALUE_FIELD.type = 1 -GLOBAL_PARAM_CFG_VALUE_FIELD.cpp_type = 5 - -GLOBAL_PARAM_CFG.name = "global_param_cfg" -GLOBAL_PARAM_CFG.full_name = ".ftcfg.global_param_cfg" -GLOBAL_PARAM_CFG.nested_types = {} -GLOBAL_PARAM_CFG.enum_types = {} -GLOBAL_PARAM_CFG.fields = {GLOBAL_PARAM_CFG_ID_FIELD, GLOBAL_PARAM_CFG_DESC_FIELD, GLOBAL_PARAM_CFG_VALUE_FIELD} -GLOBAL_PARAM_CFG.is_extendable = false -GLOBAL_PARAM_CFG.extensions = {} -GLOBAL_PARAM_CFGS_ITEMS_FIELD.name = "items" -GLOBAL_PARAM_CFGS_ITEMS_FIELD.full_name = ".ftcfg.global_param_cfgs.items" -GLOBAL_PARAM_CFGS_ITEMS_FIELD.number = 1 -GLOBAL_PARAM_CFGS_ITEMS_FIELD.index = 0 -GLOBAL_PARAM_CFGS_ITEMS_FIELD.label = 3 -GLOBAL_PARAM_CFGS_ITEMS_FIELD.has_default_value = false -GLOBAL_PARAM_CFGS_ITEMS_FIELD.default_value = {} -GLOBAL_PARAM_CFGS_ITEMS_FIELD.message_type = GLOBAL_PARAM_CFG -GLOBAL_PARAM_CFGS_ITEMS_FIELD.type = 11 -GLOBAL_PARAM_CFGS_ITEMS_FIELD.cpp_type = 10 - -GLOBAL_PARAM_CFGS.name = "global_param_cfgs" -GLOBAL_PARAM_CFGS.full_name = ".ftcfg.global_param_cfgs" -GLOBAL_PARAM_CFGS.nested_types = {} -GLOBAL_PARAM_CFGS.enum_types = {} -GLOBAL_PARAM_CFGS.fields = {GLOBAL_PARAM_CFGS_ITEMS_FIELD} -GLOBAL_PARAM_CFGS.is_extendable = false -GLOBAL_PARAM_CFGS.extensions = {} -PROP_TYPE_CFG_ID_FIELD.name = "id" -PROP_TYPE_CFG_ID_FIELD.full_name = ".ftcfg.prop_type_cfg.id" -PROP_TYPE_CFG_ID_FIELD.number = 1 -PROP_TYPE_CFG_ID_FIELD.index = 0 -PROP_TYPE_CFG_ID_FIELD.label = 2 -PROP_TYPE_CFG_ID_FIELD.has_default_value = false -PROP_TYPE_CFG_ID_FIELD.default_value = 0 -PROP_TYPE_CFG_ID_FIELD.type = 5 -PROP_TYPE_CFG_ID_FIELD.cpp_type = 1 - -PROP_TYPE_CFG_IS_RATE_FIELD.name = "is_rate" -PROP_TYPE_CFG_IS_RATE_FIELD.full_name = ".ftcfg.prop_type_cfg.is_rate" -PROP_TYPE_CFG_IS_RATE_FIELD.number = 2 -PROP_TYPE_CFG_IS_RATE_FIELD.index = 1 -PROP_TYPE_CFG_IS_RATE_FIELD.label = 2 -PROP_TYPE_CFG_IS_RATE_FIELD.has_default_value = false -PROP_TYPE_CFG_IS_RATE_FIELD.default_value = false -PROP_TYPE_CFG_IS_RATE_FIELD.type = 8 -PROP_TYPE_CFG_IS_RATE_FIELD.cpp_type = 7 - -PROP_TYPE_CFG_ATTRIBUTE_FIELD.name = "attribute" -PROP_TYPE_CFG_ATTRIBUTE_FIELD.full_name = ".ftcfg.prop_type_cfg.attribute" -PROP_TYPE_CFG_ATTRIBUTE_FIELD.number = 3 -PROP_TYPE_CFG_ATTRIBUTE_FIELD.index = 2 -PROP_TYPE_CFG_ATTRIBUTE_FIELD.label = 3 -PROP_TYPE_CFG_ATTRIBUTE_FIELD.has_default_value = false -PROP_TYPE_CFG_ATTRIBUTE_FIELD.default_value = {} -PROP_TYPE_CFG_ATTRIBUTE_FIELD.enum_type = config_predefine_pb.EPROPATTRIBUTETYPE -PROP_TYPE_CFG_ATTRIBUTE_FIELD.type = 14 -PROP_TYPE_CFG_ATTRIBUTE_FIELD.cpp_type = 8 - -PROP_TYPE_CFG.name = "prop_type_cfg" -PROP_TYPE_CFG.full_name = ".ftcfg.prop_type_cfg" -PROP_TYPE_CFG.nested_types = {} -PROP_TYPE_CFG.enum_types = {} -PROP_TYPE_CFG.fields = {PROP_TYPE_CFG_ID_FIELD, PROP_TYPE_CFG_IS_RATE_FIELD, PROP_TYPE_CFG_ATTRIBUTE_FIELD} -PROP_TYPE_CFG.is_extendable = false -PROP_TYPE_CFG.extensions = {} -PROP_TYPE_CFGS_ITEMS_FIELD.name = "items" -PROP_TYPE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.prop_type_cfgs.items" -PROP_TYPE_CFGS_ITEMS_FIELD.number = 1 -PROP_TYPE_CFGS_ITEMS_FIELD.index = 0 -PROP_TYPE_CFGS_ITEMS_FIELD.label = 3 -PROP_TYPE_CFGS_ITEMS_FIELD.has_default_value = false -PROP_TYPE_CFGS_ITEMS_FIELD.default_value = {} -PROP_TYPE_CFGS_ITEMS_FIELD.message_type = PROP_TYPE_CFG -PROP_TYPE_CFGS_ITEMS_FIELD.type = 11 -PROP_TYPE_CFGS_ITEMS_FIELD.cpp_type = 10 - -PROP_TYPE_CFGS.name = "prop_type_cfgs" -PROP_TYPE_CFGS.full_name = ".ftcfg.prop_type_cfgs" -PROP_TYPE_CFGS.nested_types = {} -PROP_TYPE_CFGS.enum_types = {} -PROP_TYPE_CFGS.fields = {PROP_TYPE_CFGS_ITEMS_FIELD} -PROP_TYPE_CFGS.is_extendable = false -PROP_TYPE_CFGS.extensions = {} -ATTRIBUTE_SHOW_CFG_ID_FIELD.name = "id" -ATTRIBUTE_SHOW_CFG_ID_FIELD.full_name = ".ftcfg.attribute_show_cfg.id" -ATTRIBUTE_SHOW_CFG_ID_FIELD.number = 1 -ATTRIBUTE_SHOW_CFG_ID_FIELD.index = 0 -ATTRIBUTE_SHOW_CFG_ID_FIELD.label = 2 -ATTRIBUTE_SHOW_CFG_ID_FIELD.has_default_value = false -ATTRIBUTE_SHOW_CFG_ID_FIELD.default_value = 0 -ATTRIBUTE_SHOW_CFG_ID_FIELD.type = 5 -ATTRIBUTE_SHOW_CFG_ID_FIELD.cpp_type = 1 - -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.name = "item_id" -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.attribute_show_cfg.item_id" -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.number = 2 -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.index = 1 -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.label = 2 -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.has_default_value = false -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.default_value = 0 -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.type = 5 -ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD.cpp_type = 1 - -ATTRIBUTE_SHOW_CFG.name = "attribute_show_cfg" -ATTRIBUTE_SHOW_CFG.full_name = ".ftcfg.attribute_show_cfg" -ATTRIBUTE_SHOW_CFG.nested_types = {} -ATTRIBUTE_SHOW_CFG.enum_types = {} -ATTRIBUTE_SHOW_CFG.fields = {ATTRIBUTE_SHOW_CFG_ID_FIELD, ATTRIBUTE_SHOW_CFG_ITEM_ID_FIELD} -ATTRIBUTE_SHOW_CFG.is_extendable = false -ATTRIBUTE_SHOW_CFG.extensions = {} -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.name = "items" -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.full_name = ".ftcfg.attribute_show_cfgs.items" -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.number = 1 -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.index = 0 -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.label = 3 -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.has_default_value = false -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.default_value = {} -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.message_type = ATTRIBUTE_SHOW_CFG -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.type = 11 -ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD.cpp_type = 10 - -ATTRIBUTE_SHOW_CFGS.name = "attribute_show_cfgs" -ATTRIBUTE_SHOW_CFGS.full_name = ".ftcfg.attribute_show_cfgs" -ATTRIBUTE_SHOW_CFGS.nested_types = {} -ATTRIBUTE_SHOW_CFGS.enum_types = {} -ATTRIBUTE_SHOW_CFGS.fields = {ATTRIBUTE_SHOW_CFGS_ITEMS_FIELD} -ATTRIBUTE_SHOW_CFGS.is_extendable = false -ATTRIBUTE_SHOW_CFGS.extensions = {} -RES_PATH_CFG_ID_FIELD.name = "id" -RES_PATH_CFG_ID_FIELD.full_name = ".ftcfg.res_path_cfg.id" -RES_PATH_CFG_ID_FIELD.number = 1 -RES_PATH_CFG_ID_FIELD.index = 0 -RES_PATH_CFG_ID_FIELD.label = 2 -RES_PATH_CFG_ID_FIELD.has_default_value = false -RES_PATH_CFG_ID_FIELD.default_value = 0 -RES_PATH_CFG_ID_FIELD.type = 5 -RES_PATH_CFG_ID_FIELD.cpp_type = 1 - -RES_PATH_CFG_RES_PATH_FIELD.name = "res_path" -RES_PATH_CFG_RES_PATH_FIELD.full_name = ".ftcfg.res_path_cfg.res_path" -RES_PATH_CFG_RES_PATH_FIELD.number = 2 -RES_PATH_CFG_RES_PATH_FIELD.index = 1 -RES_PATH_CFG_RES_PATH_FIELD.label = 2 -RES_PATH_CFG_RES_PATH_FIELD.has_default_value = false -RES_PATH_CFG_RES_PATH_FIELD.default_value = "" -RES_PATH_CFG_RES_PATH_FIELD.type = 9 -RES_PATH_CFG_RES_PATH_FIELD.cpp_type = 9 - -RES_PATH_CFG_ONE_BUNDLE_FIELD.name = "one_bundle" -RES_PATH_CFG_ONE_BUNDLE_FIELD.full_name = ".ftcfg.res_path_cfg.one_bundle" -RES_PATH_CFG_ONE_BUNDLE_FIELD.number = 3 -RES_PATH_CFG_ONE_BUNDLE_FIELD.index = 2 -RES_PATH_CFG_ONE_BUNDLE_FIELD.label = 2 -RES_PATH_CFG_ONE_BUNDLE_FIELD.has_default_value = false -RES_PATH_CFG_ONE_BUNDLE_FIELD.default_value = 0 -RES_PATH_CFG_ONE_BUNDLE_FIELD.type = 5 -RES_PATH_CFG_ONE_BUNDLE_FIELD.cpp_type = 1 - -RES_PATH_CFG.name = "res_path_cfg" -RES_PATH_CFG.full_name = ".ftcfg.res_path_cfg" -RES_PATH_CFG.nested_types = {} -RES_PATH_CFG.enum_types = {} -RES_PATH_CFG.fields = {RES_PATH_CFG_ID_FIELD, RES_PATH_CFG_RES_PATH_FIELD, RES_PATH_CFG_ONE_BUNDLE_FIELD} -RES_PATH_CFG.is_extendable = false -RES_PATH_CFG.extensions = {} -RES_PATH_CFGS_ITEMS_FIELD.name = "items" -RES_PATH_CFGS_ITEMS_FIELD.full_name = ".ftcfg.res_path_cfgs.items" -RES_PATH_CFGS_ITEMS_FIELD.number = 1 -RES_PATH_CFGS_ITEMS_FIELD.index = 0 -RES_PATH_CFGS_ITEMS_FIELD.label = 3 -RES_PATH_CFGS_ITEMS_FIELD.has_default_value = false -RES_PATH_CFGS_ITEMS_FIELD.default_value = {} -RES_PATH_CFGS_ITEMS_FIELD.message_type = RES_PATH_CFG -RES_PATH_CFGS_ITEMS_FIELD.type = 11 -RES_PATH_CFGS_ITEMS_FIELD.cpp_type = 10 - -RES_PATH_CFGS.name = "res_path_cfgs" -RES_PATH_CFGS.full_name = ".ftcfg.res_path_cfgs" -RES_PATH_CFGS.nested_types = {} -RES_PATH_CFGS.enum_types = {} -RES_PATH_CFGS.fields = {RES_PATH_CFGS_ITEMS_FIELD} -RES_PATH_CFGS.is_extendable = false -RES_PATH_CFGS.extensions = {} -SCENE_CFG_ID_FIELD.name = "id" -SCENE_CFG_ID_FIELD.full_name = ".ftcfg.scene_cfg.id" -SCENE_CFG_ID_FIELD.number = 1 -SCENE_CFG_ID_FIELD.index = 0 -SCENE_CFG_ID_FIELD.label = 2 -SCENE_CFG_ID_FIELD.has_default_value = false -SCENE_CFG_ID_FIELD.default_value = 0 -SCENE_CFG_ID_FIELD.type = 5 -SCENE_CFG_ID_FIELD.cpp_type = 1 - -SCENE_CFG_NAME_FIELD.name = "name" -SCENE_CFG_NAME_FIELD.full_name = ".ftcfg.scene_cfg.name" -SCENE_CFG_NAME_FIELD.number = 2 -SCENE_CFG_NAME_FIELD.index = 1 -SCENE_CFG_NAME_FIELD.label = 2 -SCENE_CFG_NAME_FIELD.has_default_value = false -SCENE_CFG_NAME_FIELD.default_value = 0 -SCENE_CFG_NAME_FIELD.type = 5 -SCENE_CFG_NAME_FIELD.cpp_type = 1 - -SCENE_CFG_MAPID_FIELD.name = "mapid" -SCENE_CFG_MAPID_FIELD.full_name = ".ftcfg.scene_cfg.mapid" -SCENE_CFG_MAPID_FIELD.number = 3 -SCENE_CFG_MAPID_FIELD.index = 2 -SCENE_CFG_MAPID_FIELD.label = 2 -SCENE_CFG_MAPID_FIELD.has_default_value = false -SCENE_CFG_MAPID_FIELD.default_value = 0 -SCENE_CFG_MAPID_FIELD.type = 5 -SCENE_CFG_MAPID_FIELD.cpp_type = 1 - -SCENE_CFG_TYPE_FIELD.name = "type" -SCENE_CFG_TYPE_FIELD.full_name = ".ftcfg.scene_cfg.type" -SCENE_CFG_TYPE_FIELD.number = 4 -SCENE_CFG_TYPE_FIELD.index = 3 -SCENE_CFG_TYPE_FIELD.label = 2 -SCENE_CFG_TYPE_FIELD.has_default_value = false -SCENE_CFG_TYPE_FIELD.default_value = nil -SCENE_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ESCENETYPE -SCENE_CFG_TYPE_FIELD.type = 14 -SCENE_CFG_TYPE_FIELD.cpp_type = 8 - -SCENE_CFG_IS_SAME_SCENE_FIELD.name = "is_same_scene" -SCENE_CFG_IS_SAME_SCENE_FIELD.full_name = ".ftcfg.scene_cfg.is_same_scene" -SCENE_CFG_IS_SAME_SCENE_FIELD.number = 5 -SCENE_CFG_IS_SAME_SCENE_FIELD.index = 4 -SCENE_CFG_IS_SAME_SCENE_FIELD.label = 2 -SCENE_CFG_IS_SAME_SCENE_FIELD.has_default_value = false -SCENE_CFG_IS_SAME_SCENE_FIELD.default_value = 0 -SCENE_CFG_IS_SAME_SCENE_FIELD.type = 5 -SCENE_CFG_IS_SAME_SCENE_FIELD.cpp_type = 1 - -SCENE_CFG_SCENE_ROUTE_FIELD.name = "scene_route" -SCENE_CFG_SCENE_ROUTE_FIELD.full_name = ".ftcfg.scene_cfg.scene_route" -SCENE_CFG_SCENE_ROUTE_FIELD.number = 6 -SCENE_CFG_SCENE_ROUTE_FIELD.index = 5 -SCENE_CFG_SCENE_ROUTE_FIELD.label = 2 -SCENE_CFG_SCENE_ROUTE_FIELD.has_default_value = false -SCENE_CFG_SCENE_ROUTE_FIELD.default_value = "" -SCENE_CFG_SCENE_ROUTE_FIELD.type = 9 -SCENE_CFG_SCENE_ROUTE_FIELD.cpp_type = 9 - -SCENE_CFG_CAMERA_PATH_RES_FIELD.name = "camera_path_res" -SCENE_CFG_CAMERA_PATH_RES_FIELD.full_name = ".ftcfg.scene_cfg.camera_path_res" -SCENE_CFG_CAMERA_PATH_RES_FIELD.number = 7 -SCENE_CFG_CAMERA_PATH_RES_FIELD.index = 6 -SCENE_CFG_CAMERA_PATH_RES_FIELD.label = 2 -SCENE_CFG_CAMERA_PATH_RES_FIELD.has_default_value = false -SCENE_CFG_CAMERA_PATH_RES_FIELD.default_value = 0 -SCENE_CFG_CAMERA_PATH_RES_FIELD.type = 5 -SCENE_CFG_CAMERA_PATH_RES_FIELD.cpp_type = 1 - -SCENE_CFG_SCENE_RECAST_FIELD.name = "scene_recast" -SCENE_CFG_SCENE_RECAST_FIELD.full_name = ".ftcfg.scene_cfg.scene_recast" -SCENE_CFG_SCENE_RECAST_FIELD.number = 8 -SCENE_CFG_SCENE_RECAST_FIELD.index = 7 -SCENE_CFG_SCENE_RECAST_FIELD.label = 2 -SCENE_CFG_SCENE_RECAST_FIELD.has_default_value = false -SCENE_CFG_SCENE_RECAST_FIELD.default_value = "" -SCENE_CFG_SCENE_RECAST_FIELD.type = 9 -SCENE_CFG_SCENE_RECAST_FIELD.cpp_type = 9 - -SCENE_CFG_SCENE_LENGTH_FIELD.name = "scene_length" -SCENE_CFG_SCENE_LENGTH_FIELD.full_name = ".ftcfg.scene_cfg.scene_length" -SCENE_CFG_SCENE_LENGTH_FIELD.number = 9 -SCENE_CFG_SCENE_LENGTH_FIELD.index = 8 -SCENE_CFG_SCENE_LENGTH_FIELD.label = 2 -SCENE_CFG_SCENE_LENGTH_FIELD.has_default_value = false -SCENE_CFG_SCENE_LENGTH_FIELD.default_value = 0 -SCENE_CFG_SCENE_LENGTH_FIELD.type = 5 -SCENE_CFG_SCENE_LENGTH_FIELD.cpp_type = 1 - -SCENE_CFG_SCENE_WIDTH_FIELD.name = "scene_width" -SCENE_CFG_SCENE_WIDTH_FIELD.full_name = ".ftcfg.scene_cfg.scene_width" -SCENE_CFG_SCENE_WIDTH_FIELD.number = 10 -SCENE_CFG_SCENE_WIDTH_FIELD.index = 9 -SCENE_CFG_SCENE_WIDTH_FIELD.label = 2 -SCENE_CFG_SCENE_WIDTH_FIELD.has_default_value = false -SCENE_CFG_SCENE_WIDTH_FIELD.default_value = 0 -SCENE_CFG_SCENE_WIDTH_FIELD.type = 5 -SCENE_CFG_SCENE_WIDTH_FIELD.cpp_type = 1 - -SCENE_CFG_REFRESH_TYPE_FIELD.name = "refresh_type" -SCENE_CFG_REFRESH_TYPE_FIELD.full_name = ".ftcfg.scene_cfg.refresh_type" -SCENE_CFG_REFRESH_TYPE_FIELD.number = 11 -SCENE_CFG_REFRESH_TYPE_FIELD.index = 10 -SCENE_CFG_REFRESH_TYPE_FIELD.label = 2 -SCENE_CFG_REFRESH_TYPE_FIELD.has_default_value = false -SCENE_CFG_REFRESH_TYPE_FIELD.default_value = 0 -SCENE_CFG_REFRESH_TYPE_FIELD.type = 5 -SCENE_CFG_REFRESH_TYPE_FIELD.cpp_type = 1 - -SCENE_CFG_REFRESH_PARAMETER_FIELD.name = "refresh_parameter" -SCENE_CFG_REFRESH_PARAMETER_FIELD.full_name = ".ftcfg.scene_cfg.refresh_parameter" -SCENE_CFG_REFRESH_PARAMETER_FIELD.number = 12 -SCENE_CFG_REFRESH_PARAMETER_FIELD.index = 11 -SCENE_CFG_REFRESH_PARAMETER_FIELD.label = 3 -SCENE_CFG_REFRESH_PARAMETER_FIELD.has_default_value = false -SCENE_CFG_REFRESH_PARAMETER_FIELD.default_value = {} -SCENE_CFG_REFRESH_PARAMETER_FIELD.type = 5 -SCENE_CFG_REFRESH_PARAMETER_FIELD.cpp_type = 1 - -SCENE_CFG_PARTNER_CARRY_FIELD.name = "partner_carry" -SCENE_CFG_PARTNER_CARRY_FIELD.full_name = ".ftcfg.scene_cfg.partner_carry" -SCENE_CFG_PARTNER_CARRY_FIELD.number = 13 -SCENE_CFG_PARTNER_CARRY_FIELD.index = 12 -SCENE_CFG_PARTNER_CARRY_FIELD.label = 2 -SCENE_CFG_PARTNER_CARRY_FIELD.has_default_value = false -SCENE_CFG_PARTNER_CARRY_FIELD.default_value = 0 -SCENE_CFG_PARTNER_CARRY_FIELD.type = 5 -SCENE_CFG_PARTNER_CARRY_FIELD.cpp_type = 1 - -SCENE_CFG_SHOW_CG_FIELD.name = "show_cg" -SCENE_CFG_SHOW_CG_FIELD.full_name = ".ftcfg.scene_cfg.show_cg" -SCENE_CFG_SHOW_CG_FIELD.number = 14 -SCENE_CFG_SHOW_CG_FIELD.index = 13 -SCENE_CFG_SHOW_CG_FIELD.label = 2 -SCENE_CFG_SHOW_CG_FIELD.has_default_value = false -SCENE_CFG_SHOW_CG_FIELD.default_value = 0 -SCENE_CFG_SHOW_CG_FIELD.type = 5 -SCENE_CFG_SHOW_CG_FIELD.cpp_type = 1 - -SCENE_CFG_RES_PATH_FIELD.name = "res_path" -SCENE_CFG_RES_PATH_FIELD.full_name = ".ftcfg.scene_cfg.res_path" -SCENE_CFG_RES_PATH_FIELD.number = 15 -SCENE_CFG_RES_PATH_FIELD.index = 14 -SCENE_CFG_RES_PATH_FIELD.label = 2 -SCENE_CFG_RES_PATH_FIELD.has_default_value = false -SCENE_CFG_RES_PATH_FIELD.default_value = 0 -SCENE_CFG_RES_PATH_FIELD.type = 5 -SCENE_CFG_RES_PATH_FIELD.cpp_type = 1 - -SCENE_CFG_BORN_X_FIELD.name = "born_x" -SCENE_CFG_BORN_X_FIELD.full_name = ".ftcfg.scene_cfg.born_x" -SCENE_CFG_BORN_X_FIELD.number = 16 -SCENE_CFG_BORN_X_FIELD.index = 15 -SCENE_CFG_BORN_X_FIELD.label = 2 -SCENE_CFG_BORN_X_FIELD.has_default_value = false -SCENE_CFG_BORN_X_FIELD.default_value = 0.0 -SCENE_CFG_BORN_X_FIELD.type = 2 -SCENE_CFG_BORN_X_FIELD.cpp_type = 6 - -SCENE_CFG_BORN_Y_FIELD.name = "born_y" -SCENE_CFG_BORN_Y_FIELD.full_name = ".ftcfg.scene_cfg.born_y" -SCENE_CFG_BORN_Y_FIELD.number = 17 -SCENE_CFG_BORN_Y_FIELD.index = 16 -SCENE_CFG_BORN_Y_FIELD.label = 2 -SCENE_CFG_BORN_Y_FIELD.has_default_value = false -SCENE_CFG_BORN_Y_FIELD.default_value = 0.0 -SCENE_CFG_BORN_Y_FIELD.type = 2 -SCENE_CFG_BORN_Y_FIELD.cpp_type = 6 - -SCENE_CFG_BORN_Z_FIELD.name = "born_z" -SCENE_CFG_BORN_Z_FIELD.full_name = ".ftcfg.scene_cfg.born_z" -SCENE_CFG_BORN_Z_FIELD.number = 18 -SCENE_CFG_BORN_Z_FIELD.index = 17 -SCENE_CFG_BORN_Z_FIELD.label = 2 -SCENE_CFG_BORN_Z_FIELD.has_default_value = false -SCENE_CFG_BORN_Z_FIELD.default_value = 0.0 -SCENE_CFG_BORN_Z_FIELD.type = 2 -SCENE_CFG_BORN_Z_FIELD.cpp_type = 6 - -SCENE_CFG_BORN_ROTATION_FIELD.name = "born_rotation" -SCENE_CFG_BORN_ROTATION_FIELD.full_name = ".ftcfg.scene_cfg.born_rotation" -SCENE_CFG_BORN_ROTATION_FIELD.number = 19 -SCENE_CFG_BORN_ROTATION_FIELD.index = 18 -SCENE_CFG_BORN_ROTATION_FIELD.label = 2 -SCENE_CFG_BORN_ROTATION_FIELD.has_default_value = false -SCENE_CFG_BORN_ROTATION_FIELD.default_value = 0.0 -SCENE_CFG_BORN_ROTATION_FIELD.type = 2 -SCENE_CFG_BORN_ROTATION_FIELD.cpp_type = 6 - -SCENE_CFG_GOAL_X_FIELD.name = "goal_x" -SCENE_CFG_GOAL_X_FIELD.full_name = ".ftcfg.scene_cfg.goal_x" -SCENE_CFG_GOAL_X_FIELD.number = 20 -SCENE_CFG_GOAL_X_FIELD.index = 19 -SCENE_CFG_GOAL_X_FIELD.label = 2 -SCENE_CFG_GOAL_X_FIELD.has_default_value = false -SCENE_CFG_GOAL_X_FIELD.default_value = 0.0 -SCENE_CFG_GOAL_X_FIELD.type = 2 -SCENE_CFG_GOAL_X_FIELD.cpp_type = 6 - -SCENE_CFG_GOAL_Y_FIELD.name = "goal_y" -SCENE_CFG_GOAL_Y_FIELD.full_name = ".ftcfg.scene_cfg.goal_y" -SCENE_CFG_GOAL_Y_FIELD.number = 21 -SCENE_CFG_GOAL_Y_FIELD.index = 20 -SCENE_CFG_GOAL_Y_FIELD.label = 2 -SCENE_CFG_GOAL_Y_FIELD.has_default_value = false -SCENE_CFG_GOAL_Y_FIELD.default_value = 0.0 -SCENE_CFG_GOAL_Y_FIELD.type = 2 -SCENE_CFG_GOAL_Y_FIELD.cpp_type = 6 - -SCENE_CFG_GOAL_Z_FIELD.name = "goal_z" -SCENE_CFG_GOAL_Z_FIELD.full_name = ".ftcfg.scene_cfg.goal_z" -SCENE_CFG_GOAL_Z_FIELD.number = 22 -SCENE_CFG_GOAL_Z_FIELD.index = 21 -SCENE_CFG_GOAL_Z_FIELD.label = 2 -SCENE_CFG_GOAL_Z_FIELD.has_default_value = false -SCENE_CFG_GOAL_Z_FIELD.default_value = 0.0 -SCENE_CFG_GOAL_Z_FIELD.type = 2 -SCENE_CFG_GOAL_Z_FIELD.cpp_type = 6 - -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.name = "default_attack_patterm" -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.full_name = ".ftcfg.scene_cfg.default_attack_patterm" -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.number = 23 -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.index = 22 -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.label = 2 -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.has_default_value = false -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.default_value = 0 -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.type = 5 -SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD.cpp_type = 1 - -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.name = "switch_attack_patterm" -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.full_name = ".ftcfg.scene_cfg.switch_attack_patterm" -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.number = 24 -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.index = 23 -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.label = 2 -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.has_default_value = false -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.default_value = 0 -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.type = 5 -SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD.cpp_type = 1 - -SCENE_CFG_CAN_TEAM_CALL_FIELD.name = "can_team_call" -SCENE_CFG_CAN_TEAM_CALL_FIELD.full_name = ".ftcfg.scene_cfg.can_team_call" -SCENE_CFG_CAN_TEAM_CALL_FIELD.number = 25 -SCENE_CFG_CAN_TEAM_CALL_FIELD.index = 24 -SCENE_CFG_CAN_TEAM_CALL_FIELD.label = 2 -SCENE_CFG_CAN_TEAM_CALL_FIELD.has_default_value = false -SCENE_CFG_CAN_TEAM_CALL_FIELD.default_value = 0 -SCENE_CFG_CAN_TEAM_CALL_FIELD.type = 5 -SCENE_CFG_CAN_TEAM_CALL_FIELD.cpp_type = 1 - -SCENE_CFG_IS_BATTLE_FIELD_FIELD.name = "is_battle_field" -SCENE_CFG_IS_BATTLE_FIELD_FIELD.full_name = ".ftcfg.scene_cfg.is_battle_field" -SCENE_CFG_IS_BATTLE_FIELD_FIELD.number = 26 -SCENE_CFG_IS_BATTLE_FIELD_FIELD.index = 25 -SCENE_CFG_IS_BATTLE_FIELD_FIELD.label = 2 -SCENE_CFG_IS_BATTLE_FIELD_FIELD.has_default_value = false -SCENE_CFG_IS_BATTLE_FIELD_FIELD.default_value = 0 -SCENE_CFG_IS_BATTLE_FIELD_FIELD.type = 5 -SCENE_CFG_IS_BATTLE_FIELD_FIELD.cpp_type = 1 - -SCENE_CFG_CAM_OPTIONS_ID_FIELD.name = "cam_options_id" -SCENE_CFG_CAM_OPTIONS_ID_FIELD.full_name = ".ftcfg.scene_cfg.cam_options_id" -SCENE_CFG_CAM_OPTIONS_ID_FIELD.number = 27 -SCENE_CFG_CAM_OPTIONS_ID_FIELD.index = 26 -SCENE_CFG_CAM_OPTIONS_ID_FIELD.label = 2 -SCENE_CFG_CAM_OPTIONS_ID_FIELD.has_default_value = false -SCENE_CFG_CAM_OPTIONS_ID_FIELD.default_value = 0 -SCENE_CFG_CAM_OPTIONS_ID_FIELD.type = 5 -SCENE_CFG_CAM_OPTIONS_ID_FIELD.cpp_type = 1 - -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.name = "can_use_worldmap" -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.full_name = ".ftcfg.scene_cfg.can_use_worldmap" -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.number = 28 -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.index = 27 -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.label = 2 -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.has_default_value = false -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.default_value = 0 -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.type = 5 -SCENE_CFG_CAN_USE_WORLDMAP_FIELD.cpp_type = 1 - -SCENE_CFG.name = "scene_cfg" -SCENE_CFG.full_name = ".ftcfg.scene_cfg" -SCENE_CFG.nested_types = {} -SCENE_CFG.enum_types = {} -SCENE_CFG.fields = {SCENE_CFG_ID_FIELD, SCENE_CFG_NAME_FIELD, SCENE_CFG_MAPID_FIELD, SCENE_CFG_TYPE_FIELD, SCENE_CFG_IS_SAME_SCENE_FIELD, SCENE_CFG_SCENE_ROUTE_FIELD, SCENE_CFG_CAMERA_PATH_RES_FIELD, SCENE_CFG_SCENE_RECAST_FIELD, SCENE_CFG_SCENE_LENGTH_FIELD, SCENE_CFG_SCENE_WIDTH_FIELD, SCENE_CFG_REFRESH_TYPE_FIELD, SCENE_CFG_REFRESH_PARAMETER_FIELD, SCENE_CFG_PARTNER_CARRY_FIELD, SCENE_CFG_SHOW_CG_FIELD, SCENE_CFG_RES_PATH_FIELD, SCENE_CFG_BORN_X_FIELD, SCENE_CFG_BORN_Y_FIELD, SCENE_CFG_BORN_Z_FIELD, SCENE_CFG_BORN_ROTATION_FIELD, SCENE_CFG_GOAL_X_FIELD, SCENE_CFG_GOAL_Y_FIELD, SCENE_CFG_GOAL_Z_FIELD, SCENE_CFG_DEFAULT_ATTACK_PATTERM_FIELD, SCENE_CFG_SWITCH_ATTACK_PATTERM_FIELD, SCENE_CFG_CAN_TEAM_CALL_FIELD, SCENE_CFG_IS_BATTLE_FIELD_FIELD, SCENE_CFG_CAM_OPTIONS_ID_FIELD, SCENE_CFG_CAN_USE_WORLDMAP_FIELD} -SCENE_CFG.is_extendable = false -SCENE_CFG.extensions = {} -SCENE_CFGS_ITEMS_FIELD.name = "items" -SCENE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_cfgs.items" -SCENE_CFGS_ITEMS_FIELD.number = 1 -SCENE_CFGS_ITEMS_FIELD.index = 0 -SCENE_CFGS_ITEMS_FIELD.label = 3 -SCENE_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_CFGS_ITEMS_FIELD.default_value = {} -SCENE_CFGS_ITEMS_FIELD.message_type = SCENE_CFG -SCENE_CFGS_ITEMS_FIELD.type = 11 -SCENE_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_CFGS.name = "scene_cfgs" -SCENE_CFGS.full_name = ".ftcfg.scene_cfgs" -SCENE_CFGS.nested_types = {} -SCENE_CFGS.enum_types = {} -SCENE_CFGS.fields = {SCENE_CFGS_ITEMS_FIELD} -SCENE_CFGS.is_extendable = false -SCENE_CFGS.extensions = {} -SKILL_CFG_ID_FIELD.name = "id" -SKILL_CFG_ID_FIELD.full_name = ".ftcfg.skill_cfg.id" -SKILL_CFG_ID_FIELD.number = 1 -SKILL_CFG_ID_FIELD.index = 0 -SKILL_CFG_ID_FIELD.label = 2 -SKILL_CFG_ID_FIELD.has_default_value = false -SKILL_CFG_ID_FIELD.default_value = 0 -SKILL_CFG_ID_FIELD.type = 5 -SKILL_CFG_ID_FIELD.cpp_type = 1 - -SKILL_CFG_NAME_TIP_FIELD.name = "name_tip" -SKILL_CFG_NAME_TIP_FIELD.full_name = ".ftcfg.skill_cfg.name_tip" -SKILL_CFG_NAME_TIP_FIELD.number = 2 -SKILL_CFG_NAME_TIP_FIELD.index = 1 -SKILL_CFG_NAME_TIP_FIELD.label = 2 -SKILL_CFG_NAME_TIP_FIELD.has_default_value = false -SKILL_CFG_NAME_TIP_FIELD.default_value = "" -SKILL_CFG_NAME_TIP_FIELD.type = 9 -SKILL_CFG_NAME_TIP_FIELD.cpp_type = 9 - -SKILL_CFG_NAME_FIELD.name = "name" -SKILL_CFG_NAME_FIELD.full_name = ".ftcfg.skill_cfg.name" -SKILL_CFG_NAME_FIELD.number = 3 -SKILL_CFG_NAME_FIELD.index = 2 -SKILL_CFG_NAME_FIELD.label = 2 -SKILL_CFG_NAME_FIELD.has_default_value = false -SKILL_CFG_NAME_FIELD.default_value = 0 -SKILL_CFG_NAME_FIELD.type = 5 -SKILL_CFG_NAME_FIELD.cpp_type = 1 - -SKILL_CFG_SKILL_LEVEL_FIELD.name = "skill_level" -SKILL_CFG_SKILL_LEVEL_FIELD.full_name = ".ftcfg.skill_cfg.skill_level" -SKILL_CFG_SKILL_LEVEL_FIELD.number = 4 -SKILL_CFG_SKILL_LEVEL_FIELD.index = 3 -SKILL_CFG_SKILL_LEVEL_FIELD.label = 2 -SKILL_CFG_SKILL_LEVEL_FIELD.has_default_value = false -SKILL_CFG_SKILL_LEVEL_FIELD.default_value = 0 -SKILL_CFG_SKILL_LEVEL_FIELD.type = 5 -SKILL_CFG_SKILL_LEVEL_FIELD.cpp_type = 1 - -SKILL_CFG_PLAYER_LEVEL_FIELD.name = "player_level" -SKILL_CFG_PLAYER_LEVEL_FIELD.full_name = ".ftcfg.skill_cfg.player_level" -SKILL_CFG_PLAYER_LEVEL_FIELD.number = 5 -SKILL_CFG_PLAYER_LEVEL_FIELD.index = 4 -SKILL_CFG_PLAYER_LEVEL_FIELD.label = 2 -SKILL_CFG_PLAYER_LEVEL_FIELD.has_default_value = false -SKILL_CFG_PLAYER_LEVEL_FIELD.default_value = 0 -SKILL_CFG_PLAYER_LEVEL_FIELD.type = 5 -SKILL_CFG_PLAYER_LEVEL_FIELD.cpp_type = 1 - -SKILL_CFG_LEVELUP_COST_FIELD.name = "levelup_cost" -SKILL_CFG_LEVELUP_COST_FIELD.full_name = ".ftcfg.skill_cfg.levelup_cost" -SKILL_CFG_LEVELUP_COST_FIELD.number = 6 -SKILL_CFG_LEVELUP_COST_FIELD.index = 5 -SKILL_CFG_LEVELUP_COST_FIELD.label = 2 -SKILL_CFG_LEVELUP_COST_FIELD.has_default_value = false -SKILL_CFG_LEVELUP_COST_FIELD.default_value = 0 -SKILL_CFG_LEVELUP_COST_FIELD.type = 5 -SKILL_CFG_LEVELUP_COST_FIELD.cpp_type = 1 - -SKILL_CFG_NEXT_LEVEL_ID_FIELD.name = "next_level_id" -SKILL_CFG_NEXT_LEVEL_ID_FIELD.full_name = ".ftcfg.skill_cfg.next_level_id" -SKILL_CFG_NEXT_LEVEL_ID_FIELD.number = 7 -SKILL_CFG_NEXT_LEVEL_ID_FIELD.index = 6 -SKILL_CFG_NEXT_LEVEL_ID_FIELD.label = 2 -SKILL_CFG_NEXT_LEVEL_ID_FIELD.has_default_value = false -SKILL_CFG_NEXT_LEVEL_ID_FIELD.default_value = 0 -SKILL_CFG_NEXT_LEVEL_ID_FIELD.type = 5 -SKILL_CFG_NEXT_LEVEL_ID_FIELD.cpp_type = 1 - -SKILL_CFG_SKILL_ICON_FIELD.name = "skill_icon" -SKILL_CFG_SKILL_ICON_FIELD.full_name = ".ftcfg.skill_cfg.skill_icon" -SKILL_CFG_SKILL_ICON_FIELD.number = 8 -SKILL_CFG_SKILL_ICON_FIELD.index = 7 -SKILL_CFG_SKILL_ICON_FIELD.label = 2 -SKILL_CFG_SKILL_ICON_FIELD.has_default_value = false -SKILL_CFG_SKILL_ICON_FIELD.default_value = 0 -SKILL_CFG_SKILL_ICON_FIELD.type = 5 -SKILL_CFG_SKILL_ICON_FIELD.cpp_type = 1 - -SKILL_CFG_SKILL_PROF_FIELD.name = "skill_prof" -SKILL_CFG_SKILL_PROF_FIELD.full_name = ".ftcfg.skill_cfg.skill_prof" -SKILL_CFG_SKILL_PROF_FIELD.number = 9 -SKILL_CFG_SKILL_PROF_FIELD.index = 8 -SKILL_CFG_SKILL_PROF_FIELD.label = 2 -SKILL_CFG_SKILL_PROF_FIELD.has_default_value = false -SKILL_CFG_SKILL_PROF_FIELD.default_value = 0 -SKILL_CFG_SKILL_PROF_FIELD.type = 5 -SKILL_CFG_SKILL_PROF_FIELD.cpp_type = 1 - -SKILL_CFG_TIPS2_FIELD.name = "tips2" -SKILL_CFG_TIPS2_FIELD.full_name = ".ftcfg.skill_cfg.tips2" -SKILL_CFG_TIPS2_FIELD.number = 10 -SKILL_CFG_TIPS2_FIELD.index = 9 -SKILL_CFG_TIPS2_FIELD.label = 2 -SKILL_CFG_TIPS2_FIELD.has_default_value = false -SKILL_CFG_TIPS2_FIELD.default_value = 0 -SKILL_CFG_TIPS2_FIELD.type = 5 -SKILL_CFG_TIPS2_FIELD.cpp_type = 1 - -SKILL_CFG_TIPS_FIELD.name = "tips" -SKILL_CFG_TIPS_FIELD.full_name = ".ftcfg.skill_cfg.tips" -SKILL_CFG_TIPS_FIELD.number = 11 -SKILL_CFG_TIPS_FIELD.index = 10 -SKILL_CFG_TIPS_FIELD.label = 2 -SKILL_CFG_TIPS_FIELD.has_default_value = false -SKILL_CFG_TIPS_FIELD.default_value = 0 -SKILL_CFG_TIPS_FIELD.type = 5 -SKILL_CFG_TIPS_FIELD.cpp_type = 1 - -SKILL_CFG_TIPS3_FIELD.name = "tips3" -SKILL_CFG_TIPS3_FIELD.full_name = ".ftcfg.skill_cfg.tips3" -SKILL_CFG_TIPS3_FIELD.number = 12 -SKILL_CFG_TIPS3_FIELD.index = 11 -SKILL_CFG_TIPS3_FIELD.label = 2 -SKILL_CFG_TIPS3_FIELD.has_default_value = false -SKILL_CFG_TIPS3_FIELD.default_value = 0 -SKILL_CFG_TIPS3_FIELD.type = 5 -SKILL_CFG_TIPS3_FIELD.cpp_type = 1 - -SKILL_CFG_TIPS_PARA1_FIELD.name = "tips_para1" -SKILL_CFG_TIPS_PARA1_FIELD.full_name = ".ftcfg.skill_cfg.tips_para1" -SKILL_CFG_TIPS_PARA1_FIELD.number = 13 -SKILL_CFG_TIPS_PARA1_FIELD.index = 12 -SKILL_CFG_TIPS_PARA1_FIELD.label = 2 -SKILL_CFG_TIPS_PARA1_FIELD.has_default_value = false -SKILL_CFG_TIPS_PARA1_FIELD.default_value = 0.0 -SKILL_CFG_TIPS_PARA1_FIELD.type = 2 -SKILL_CFG_TIPS_PARA1_FIELD.cpp_type = 6 - -SKILL_CFG_TIPS_PARA2_FIELD.name = "tips_para2" -SKILL_CFG_TIPS_PARA2_FIELD.full_name = ".ftcfg.skill_cfg.tips_para2" -SKILL_CFG_TIPS_PARA2_FIELD.number = 14 -SKILL_CFG_TIPS_PARA2_FIELD.index = 13 -SKILL_CFG_TIPS_PARA2_FIELD.label = 2 -SKILL_CFG_TIPS_PARA2_FIELD.has_default_value = false -SKILL_CFG_TIPS_PARA2_FIELD.default_value = 0.0 -SKILL_CFG_TIPS_PARA2_FIELD.type = 2 -SKILL_CFG_TIPS_PARA2_FIELD.cpp_type = 6 - -SKILL_CFG_TIPS_PARA3_FIELD.name = "tips_para3" -SKILL_CFG_TIPS_PARA3_FIELD.full_name = ".ftcfg.skill_cfg.tips_para3" -SKILL_CFG_TIPS_PARA3_FIELD.number = 15 -SKILL_CFG_TIPS_PARA3_FIELD.index = 14 -SKILL_CFG_TIPS_PARA3_FIELD.label = 2 -SKILL_CFG_TIPS_PARA3_FIELD.has_default_value = false -SKILL_CFG_TIPS_PARA3_FIELD.default_value = 0.0 -SKILL_CFG_TIPS_PARA3_FIELD.type = 2 -SKILL_CFG_TIPS_PARA3_FIELD.cpp_type = 6 - -SKILL_CFG_TIPS_PARA4_FIELD.name = "tips_para4" -SKILL_CFG_TIPS_PARA4_FIELD.full_name = ".ftcfg.skill_cfg.tips_para4" -SKILL_CFG_TIPS_PARA4_FIELD.number = 16 -SKILL_CFG_TIPS_PARA4_FIELD.index = 15 -SKILL_CFG_TIPS_PARA4_FIELD.label = 2 -SKILL_CFG_TIPS_PARA4_FIELD.has_default_value = false -SKILL_CFG_TIPS_PARA4_FIELD.default_value = 0.0 -SKILL_CFG_TIPS_PARA4_FIELD.type = 2 -SKILL_CFG_TIPS_PARA4_FIELD.cpp_type = 6 - -SKILL_CFG_TIPS_PARA5_FIELD.name = "tips_para5" -SKILL_CFG_TIPS_PARA5_FIELD.full_name = ".ftcfg.skill_cfg.tips_para5" -SKILL_CFG_TIPS_PARA5_FIELD.number = 17 -SKILL_CFG_TIPS_PARA5_FIELD.index = 16 -SKILL_CFG_TIPS_PARA5_FIELD.label = 2 -SKILL_CFG_TIPS_PARA5_FIELD.has_default_value = false -SKILL_CFG_TIPS_PARA5_FIELD.default_value = 0.0 -SKILL_CFG_TIPS_PARA5_FIELD.type = 2 -SKILL_CFG_TIPS_PARA5_FIELD.cpp_type = 6 - -SKILL_CFG_TIPS_PARA6_FIELD.name = "tips_para6" -SKILL_CFG_TIPS_PARA6_FIELD.full_name = ".ftcfg.skill_cfg.tips_para6" -SKILL_CFG_TIPS_PARA6_FIELD.number = 18 -SKILL_CFG_TIPS_PARA6_FIELD.index = 17 -SKILL_CFG_TIPS_PARA6_FIELD.label = 2 -SKILL_CFG_TIPS_PARA6_FIELD.has_default_value = false -SKILL_CFG_TIPS_PARA6_FIELD.default_value = 0.0 -SKILL_CFG_TIPS_PARA6_FIELD.type = 2 -SKILL_CFG_TIPS_PARA6_FIELD.cpp_type = 6 - -SKILL_CFG_NEXT_SKILL_FIELD.name = "next_skill" -SKILL_CFG_NEXT_SKILL_FIELD.full_name = ".ftcfg.skill_cfg.next_skill" -SKILL_CFG_NEXT_SKILL_FIELD.number = 19 -SKILL_CFG_NEXT_SKILL_FIELD.index = 18 -SKILL_CFG_NEXT_SKILL_FIELD.label = 2 -SKILL_CFG_NEXT_SKILL_FIELD.has_default_value = false -SKILL_CFG_NEXT_SKILL_FIELD.default_value = 0 -SKILL_CFG_NEXT_SKILL_FIELD.type = 5 -SKILL_CFG_NEXT_SKILL_FIELD.cpp_type = 1 - -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.name = "next_change_skill" -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.full_name = ".ftcfg.skill_cfg.next_change_skill" -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.number = 20 -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.index = 19 -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.label = 2 -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.has_default_value = false -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.default_value = 0 -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.type = 5 -SKILL_CFG_NEXT_CHANGE_SKILL_FIELD.cpp_type = 1 - -SKILL_CFG_AUTO_SKILL_FIELD.name = "auto_skill" -SKILL_CFG_AUTO_SKILL_FIELD.full_name = ".ftcfg.skill_cfg.auto_skill" -SKILL_CFG_AUTO_SKILL_FIELD.number = 21 -SKILL_CFG_AUTO_SKILL_FIELD.index = 20 -SKILL_CFG_AUTO_SKILL_FIELD.label = 2 -SKILL_CFG_AUTO_SKILL_FIELD.has_default_value = false -SKILL_CFG_AUTO_SKILL_FIELD.default_value = false -SKILL_CFG_AUTO_SKILL_FIELD.type = 8 -SKILL_CFG_AUTO_SKILL_FIELD.cpp_type = 7 - -SKILL_CFG_NEXT_SKILL_TIME_FIELD.name = "next_skill_time" -SKILL_CFG_NEXT_SKILL_TIME_FIELD.full_name = ".ftcfg.skill_cfg.next_skill_time" -SKILL_CFG_NEXT_SKILL_TIME_FIELD.number = 22 -SKILL_CFG_NEXT_SKILL_TIME_FIELD.index = 21 -SKILL_CFG_NEXT_SKILL_TIME_FIELD.label = 2 -SKILL_CFG_NEXT_SKILL_TIME_FIELD.has_default_value = false -SKILL_CFG_NEXT_SKILL_TIME_FIELD.default_value = 0 -SKILL_CFG_NEXT_SKILL_TIME_FIELD.type = 5 -SKILL_CFG_NEXT_SKILL_TIME_FIELD.cpp_type = 1 - -SKILL_CFG_SKILL_TYPE_FIELD.name = "skill_type" -SKILL_CFG_SKILL_TYPE_FIELD.full_name = ".ftcfg.skill_cfg.skill_type" -SKILL_CFG_SKILL_TYPE_FIELD.number = 23 -SKILL_CFG_SKILL_TYPE_FIELD.index = 22 -SKILL_CFG_SKILL_TYPE_FIELD.label = 2 -SKILL_CFG_SKILL_TYPE_FIELD.has_default_value = false -SKILL_CFG_SKILL_TYPE_FIELD.default_value = nil -SKILL_CFG_SKILL_TYPE_FIELD.enum_type = config_predefine_pb.ESKILLTYPE -SKILL_CFG_SKILL_TYPE_FIELD.type = 14 -SKILL_CFG_SKILL_TYPE_FIELD.cpp_type = 8 - -SKILL_CFG_ENERGY_COST_TYPE_FIELD.name = "energy_cost_type" -SKILL_CFG_ENERGY_COST_TYPE_FIELD.full_name = ".ftcfg.skill_cfg.energy_cost_type" -SKILL_CFG_ENERGY_COST_TYPE_FIELD.number = 24 -SKILL_CFG_ENERGY_COST_TYPE_FIELD.index = 23 -SKILL_CFG_ENERGY_COST_TYPE_FIELD.label = 2 -SKILL_CFG_ENERGY_COST_TYPE_FIELD.has_default_value = false -SKILL_CFG_ENERGY_COST_TYPE_FIELD.default_value = nil -SKILL_CFG_ENERGY_COST_TYPE_FIELD.enum_type = config_predefine_pb.ESKILLCOSTTYPE -SKILL_CFG_ENERGY_COST_TYPE_FIELD.type = 14 -SKILL_CFG_ENERGY_COST_TYPE_FIELD.cpp_type = 8 - -SKILL_CFG_ENERGY_VALUE_FIELD.name = "energy_value" -SKILL_CFG_ENERGY_VALUE_FIELD.full_name = ".ftcfg.skill_cfg.energy_value" -SKILL_CFG_ENERGY_VALUE_FIELD.number = 25 -SKILL_CFG_ENERGY_VALUE_FIELD.index = 24 -SKILL_CFG_ENERGY_VALUE_FIELD.label = 2 -SKILL_CFG_ENERGY_VALUE_FIELD.has_default_value = false -SKILL_CFG_ENERGY_VALUE_FIELD.default_value = 0 -SKILL_CFG_ENERGY_VALUE_FIELD.type = 5 -SKILL_CFG_ENERGY_VALUE_FIELD.cpp_type = 1 - -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.name = "max_energy_value" -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.full_name = ".ftcfg.skill_cfg.max_energy_value" -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.number = 26 -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.index = 25 -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.label = 2 -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.has_default_value = false -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.default_value = 0 -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.type = 5 -SKILL_CFG_MAX_ENERGY_VALUE_FIELD.cpp_type = 1 - -SKILL_CFG_RET_ENERGY_VALUE_FIELD.name = "ret_energy_value" -SKILL_CFG_RET_ENERGY_VALUE_FIELD.full_name = ".ftcfg.skill_cfg.ret_energy_value" -SKILL_CFG_RET_ENERGY_VALUE_FIELD.number = 27 -SKILL_CFG_RET_ENERGY_VALUE_FIELD.index = 26 -SKILL_CFG_RET_ENERGY_VALUE_FIELD.label = 2 -SKILL_CFG_RET_ENERGY_VALUE_FIELD.has_default_value = false -SKILL_CFG_RET_ENERGY_VALUE_FIELD.default_value = 0 -SKILL_CFG_RET_ENERGY_VALUE_FIELD.type = 5 -SKILL_CFG_RET_ENERGY_VALUE_FIELD.cpp_type = 1 - -SKILL_CFG_RET_HP_EFFECT_FIELD.name = "ret_hp_effect" -SKILL_CFG_RET_HP_EFFECT_FIELD.full_name = ".ftcfg.skill_cfg.ret_hp_effect" -SKILL_CFG_RET_HP_EFFECT_FIELD.number = 28 -SKILL_CFG_RET_HP_EFFECT_FIELD.index = 27 -SKILL_CFG_RET_HP_EFFECT_FIELD.label = 2 -SKILL_CFG_RET_HP_EFFECT_FIELD.has_default_value = false -SKILL_CFG_RET_HP_EFFECT_FIELD.default_value = 0 -SKILL_CFG_RET_HP_EFFECT_FIELD.type = 5 -SKILL_CFG_RET_HP_EFFECT_FIELD.cpp_type = 1 - -SKILL_CFG_SHOW_PROGRESS_FIELD.name = "show_progress" -SKILL_CFG_SHOW_PROGRESS_FIELD.full_name = ".ftcfg.skill_cfg.show_progress" -SKILL_CFG_SHOW_PROGRESS_FIELD.number = 29 -SKILL_CFG_SHOW_PROGRESS_FIELD.index = 28 -SKILL_CFG_SHOW_PROGRESS_FIELD.label = 2 -SKILL_CFG_SHOW_PROGRESS_FIELD.has_default_value = false -SKILL_CFG_SHOW_PROGRESS_FIELD.default_value = 0 -SKILL_CFG_SHOW_PROGRESS_FIELD.type = 5 -SKILL_CFG_SHOW_PROGRESS_FIELD.cpp_type = 1 - -SKILL_CFG_PROGRESS_WORD_FIELD.name = "progress_word" -SKILL_CFG_PROGRESS_WORD_FIELD.full_name = ".ftcfg.skill_cfg.progress_word" -SKILL_CFG_PROGRESS_WORD_FIELD.number = 30 -SKILL_CFG_PROGRESS_WORD_FIELD.index = 29 -SKILL_CFG_PROGRESS_WORD_FIELD.label = 2 -SKILL_CFG_PROGRESS_WORD_FIELD.has_default_value = false -SKILL_CFG_PROGRESS_WORD_FIELD.default_value = 0 -SKILL_CFG_PROGRESS_WORD_FIELD.type = 5 -SKILL_CFG_PROGRESS_WORD_FIELD.cpp_type = 1 - -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.name = "is_trigger_passive" -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.full_name = ".ftcfg.skill_cfg.is_trigger_passive" -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.number = 31 -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.index = 30 -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.label = 2 -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.has_default_value = false -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.default_value = false -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.type = 8 -SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD.cpp_type = 7 - -SKILL_CFG_IS_PASSIVE_FIELD.name = "is_passive" -SKILL_CFG_IS_PASSIVE_FIELD.full_name = ".ftcfg.skill_cfg.is_passive" -SKILL_CFG_IS_PASSIVE_FIELD.number = 32 -SKILL_CFG_IS_PASSIVE_FIELD.index = 31 -SKILL_CFG_IS_PASSIVE_FIELD.label = 2 -SKILL_CFG_IS_PASSIVE_FIELD.has_default_value = false -SKILL_CFG_IS_PASSIVE_FIELD.default_value = false -SKILL_CFG_IS_PASSIVE_FIELD.type = 8 -SKILL_CFG_IS_PASSIVE_FIELD.cpp_type = 7 - -SKILL_CFG_TRIGGER_TYPE_FIELD.name = "trigger_type" -SKILL_CFG_TRIGGER_TYPE_FIELD.full_name = ".ftcfg.skill_cfg.trigger_type" -SKILL_CFG_TRIGGER_TYPE_FIELD.number = 33 -SKILL_CFG_TRIGGER_TYPE_FIELD.index = 32 -SKILL_CFG_TRIGGER_TYPE_FIELD.label = 2 -SKILL_CFG_TRIGGER_TYPE_FIELD.has_default_value = false -SKILL_CFG_TRIGGER_TYPE_FIELD.default_value = nil -SKILL_CFG_TRIGGER_TYPE_FIELD.enum_type = config_predefine_pb.EBATTLEEVENTTYPE -SKILL_CFG_TRIGGER_TYPE_FIELD.type = 14 -SKILL_CFG_TRIGGER_TYPE_FIELD.cpp_type = 8 - -SKILL_CFG_ACCELERATE_FIELD.name = "accelerate" -SKILL_CFG_ACCELERATE_FIELD.full_name = ".ftcfg.skill_cfg.accelerate" -SKILL_CFG_ACCELERATE_FIELD.number = 34 -SKILL_CFG_ACCELERATE_FIELD.index = 33 -SKILL_CFG_ACCELERATE_FIELD.label = 2 -SKILL_CFG_ACCELERATE_FIELD.has_default_value = false -SKILL_CFG_ACCELERATE_FIELD.default_value = false -SKILL_CFG_ACCELERATE_FIELD.type = 8 -SKILL_CFG_ACCELERATE_FIELD.cpp_type = 7 - -SKILL_CFG_IS_CONCURRENCY_FIELD.name = "is_concurrency" -SKILL_CFG_IS_CONCURRENCY_FIELD.full_name = ".ftcfg.skill_cfg.is_concurrency" -SKILL_CFG_IS_CONCURRENCY_FIELD.number = 35 -SKILL_CFG_IS_CONCURRENCY_FIELD.index = 34 -SKILL_CFG_IS_CONCURRENCY_FIELD.label = 2 -SKILL_CFG_IS_CONCURRENCY_FIELD.has_default_value = false -SKILL_CFG_IS_CONCURRENCY_FIELD.default_value = false -SKILL_CFG_IS_CONCURRENCY_FIELD.type = 8 -SKILL_CFG_IS_CONCURRENCY_FIELD.cpp_type = 7 - -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.name = "int_channel_when_beaten" -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.full_name = ".ftcfg.skill_cfg.int_channel_when_beaten" -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.number = 36 -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.index = 35 -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.label = 2 -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.has_default_value = false -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.default_value = false -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.type = 8 -SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD.cpp_type = 7 - -SKILL_CFG_IS_CHANNEL_FIELD.name = "is_channel" -SKILL_CFG_IS_CHANNEL_FIELD.full_name = ".ftcfg.skill_cfg.is_channel" -SKILL_CFG_IS_CHANNEL_FIELD.number = 37 -SKILL_CFG_IS_CHANNEL_FIELD.index = 36 -SKILL_CFG_IS_CHANNEL_FIELD.label = 2 -SKILL_CFG_IS_CHANNEL_FIELD.has_default_value = false -SKILL_CFG_IS_CHANNEL_FIELD.default_value = false -SKILL_CFG_IS_CHANNEL_FIELD.type = 8 -SKILL_CFG_IS_CHANNEL_FIELD.cpp_type = 7 - -SKILL_CFG_CHANNEL_TIME_FIELD.name = "channel_time" -SKILL_CFG_CHANNEL_TIME_FIELD.full_name = ".ftcfg.skill_cfg.channel_time" -SKILL_CFG_CHANNEL_TIME_FIELD.number = 38 -SKILL_CFG_CHANNEL_TIME_FIELD.index = 37 -SKILL_CFG_CHANNEL_TIME_FIELD.label = 2 -SKILL_CFG_CHANNEL_TIME_FIELD.has_default_value = false -SKILL_CFG_CHANNEL_TIME_FIELD.default_value = 0 -SKILL_CFG_CHANNEL_TIME_FIELD.type = 5 -SKILL_CFG_CHANNEL_TIME_FIELD.cpp_type = 1 - -SKILL_CFG_CAN_CANCEL_FIELD.name = "can_cancel" -SKILL_CFG_CAN_CANCEL_FIELD.full_name = ".ftcfg.skill_cfg.can_cancel" -SKILL_CFG_CAN_CANCEL_FIELD.number = 39 -SKILL_CFG_CAN_CANCEL_FIELD.index = 38 -SKILL_CFG_CAN_CANCEL_FIELD.label = 2 -SKILL_CFG_CAN_CANCEL_FIELD.has_default_value = false -SKILL_CFG_CAN_CANCEL_FIELD.default_value = false -SKILL_CFG_CAN_CANCEL_FIELD.type = 8 -SKILL_CFG_CAN_CANCEL_FIELD.cpp_type = 7 - -SKILL_CFG_BASE_POS_FIELD.name = "base_pos" -SKILL_CFG_BASE_POS_FIELD.full_name = ".ftcfg.skill_cfg.base_pos" -SKILL_CFG_BASE_POS_FIELD.number = 40 -SKILL_CFG_BASE_POS_FIELD.index = 39 -SKILL_CFG_BASE_POS_FIELD.label = 2 -SKILL_CFG_BASE_POS_FIELD.has_default_value = false -SKILL_CFG_BASE_POS_FIELD.default_value = nil -SKILL_CFG_BASE_POS_FIELD.enum_type = config_predefine_pb.EBASEAREATYPE -SKILL_CFG_BASE_POS_FIELD.type = 14 -SKILL_CFG_BASE_POS_FIELD.cpp_type = 8 - -SKILL_CFG_TARGET_TYPE_FIELD.name = "target_type" -SKILL_CFG_TARGET_TYPE_FIELD.full_name = ".ftcfg.skill_cfg.target_type" -SKILL_CFG_TARGET_TYPE_FIELD.number = 41 -SKILL_CFG_TARGET_TYPE_FIELD.index = 40 -SKILL_CFG_TARGET_TYPE_FIELD.label = 2 -SKILL_CFG_TARGET_TYPE_FIELD.has_default_value = false -SKILL_CFG_TARGET_TYPE_FIELD.default_value = 0 -SKILL_CFG_TARGET_TYPE_FIELD.type = 5 -SKILL_CFG_TARGET_TYPE_FIELD.cpp_type = 1 - -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.name = "remove_buff_when_cancel" -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.full_name = ".ftcfg.skill_cfg.remove_buff_when_cancel" -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.number = 42 -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.index = 41 -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.label = 2 -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.has_default_value = false -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.default_value = false -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.type = 8 -SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD.cpp_type = 7 - -SKILL_CFG_WORK_WHEN_FIELD.name = "work_when" -SKILL_CFG_WORK_WHEN_FIELD.full_name = ".ftcfg.skill_cfg.work_when" -SKILL_CFG_WORK_WHEN_FIELD.number = 43 -SKILL_CFG_WORK_WHEN_FIELD.index = 42 -SKILL_CFG_WORK_WHEN_FIELD.label = 2 -SKILL_CFG_WORK_WHEN_FIELD.has_default_value = false -SKILL_CFG_WORK_WHEN_FIELD.default_value = 0 -SKILL_CFG_WORK_WHEN_FIELD.type = 5 -SKILL_CFG_WORK_WHEN_FIELD.cpp_type = 1 - -SKILL_CFG_CD_GROUP_ID_FIELD.name = "cd_group_id" -SKILL_CFG_CD_GROUP_ID_FIELD.full_name = ".ftcfg.skill_cfg.cd_group_id" -SKILL_CFG_CD_GROUP_ID_FIELD.number = 44 -SKILL_CFG_CD_GROUP_ID_FIELD.index = 43 -SKILL_CFG_CD_GROUP_ID_FIELD.label = 2 -SKILL_CFG_CD_GROUP_ID_FIELD.has_default_value = false -SKILL_CFG_CD_GROUP_ID_FIELD.default_value = 0 -SKILL_CFG_CD_GROUP_ID_FIELD.type = 5 -SKILL_CFG_CD_GROUP_ID_FIELD.cpp_type = 1 - -SKILL_CFG_CD_TIME_FIELD.name = "cd_time" -SKILL_CFG_CD_TIME_FIELD.full_name = ".ftcfg.skill_cfg.cd_time" -SKILL_CFG_CD_TIME_FIELD.number = 45 -SKILL_CFG_CD_TIME_FIELD.index = 44 -SKILL_CFG_CD_TIME_FIELD.label = 2 -SKILL_CFG_CD_TIME_FIELD.has_default_value = false -SKILL_CFG_CD_TIME_FIELD.default_value = 0.0 -SKILL_CFG_CD_TIME_FIELD.type = 2 -SKILL_CFG_CD_TIME_FIELD.cpp_type = 6 - -SKILL_CFG_CD_NUM_FIELD.name = "cd_num" -SKILL_CFG_CD_NUM_FIELD.full_name = ".ftcfg.skill_cfg.cd_num" -SKILL_CFG_CD_NUM_FIELD.number = 46 -SKILL_CFG_CD_NUM_FIELD.index = 45 -SKILL_CFG_CD_NUM_FIELD.label = 2 -SKILL_CFG_CD_NUM_FIELD.has_default_value = false -SKILL_CFG_CD_NUM_FIELD.default_value = 0 -SKILL_CFG_CD_NUM_FIELD.type = 5 -SKILL_CFG_CD_NUM_FIELD.cpp_type = 1 - -SKILL_CFG_CAST_DISTANCE_FIELD.name = "cast_distance" -SKILL_CFG_CAST_DISTANCE_FIELD.full_name = ".ftcfg.skill_cfg.cast_distance" -SKILL_CFG_CAST_DISTANCE_FIELD.number = 47 -SKILL_CFG_CAST_DISTANCE_FIELD.index = 46 -SKILL_CFG_CAST_DISTANCE_FIELD.label = 2 -SKILL_CFG_CAST_DISTANCE_FIELD.has_default_value = false -SKILL_CFG_CAST_DISTANCE_FIELD.default_value = 0.0 -SKILL_CFG_CAST_DISTANCE_FIELD.type = 2 -SKILL_CFG_CAST_DISTANCE_FIELD.cpp_type = 6 - -SKILL_CFG_LOCKED_BY_SERVER_FIELD.name = "locked_by_server" -SKILL_CFG_LOCKED_BY_SERVER_FIELD.full_name = ".ftcfg.skill_cfg.locked_by_server" -SKILL_CFG_LOCKED_BY_SERVER_FIELD.number = 48 -SKILL_CFG_LOCKED_BY_SERVER_FIELD.index = 47 -SKILL_CFG_LOCKED_BY_SERVER_FIELD.label = 2 -SKILL_CFG_LOCKED_BY_SERVER_FIELD.has_default_value = false -SKILL_CFG_LOCKED_BY_SERVER_FIELD.default_value = false -SKILL_CFG_LOCKED_BY_SERVER_FIELD.type = 8 -SKILL_CFG_LOCKED_BY_SERVER_FIELD.cpp_type = 7 - -SKILL_CFG_RANGE_TYPE_FIELD.name = "range_type" -SKILL_CFG_RANGE_TYPE_FIELD.full_name = ".ftcfg.skill_cfg.range_type" -SKILL_CFG_RANGE_TYPE_FIELD.number = 49 -SKILL_CFG_RANGE_TYPE_FIELD.index = 48 -SKILL_CFG_RANGE_TYPE_FIELD.label = 2 -SKILL_CFG_RANGE_TYPE_FIELD.has_default_value = false -SKILL_CFG_RANGE_TYPE_FIELD.default_value = nil -SKILL_CFG_RANGE_TYPE_FIELD.enum_type = config_predefine_pb.EAREATYPE -SKILL_CFG_RANGE_TYPE_FIELD.type = 14 -SKILL_CFG_RANGE_TYPE_FIELD.cpp_type = 8 - -SKILL_CFG_RANGE_PARA1_FIELD.name = "range_para1" -SKILL_CFG_RANGE_PARA1_FIELD.full_name = ".ftcfg.skill_cfg.range_para1" -SKILL_CFG_RANGE_PARA1_FIELD.number = 50 -SKILL_CFG_RANGE_PARA1_FIELD.index = 49 -SKILL_CFG_RANGE_PARA1_FIELD.label = 2 -SKILL_CFG_RANGE_PARA1_FIELD.has_default_value = false -SKILL_CFG_RANGE_PARA1_FIELD.default_value = 0.0 -SKILL_CFG_RANGE_PARA1_FIELD.type = 2 -SKILL_CFG_RANGE_PARA1_FIELD.cpp_type = 6 - -SKILL_CFG_RANGE_PARA2_FIELD.name = "range_para2" -SKILL_CFG_RANGE_PARA2_FIELD.full_name = ".ftcfg.skill_cfg.range_para2" -SKILL_CFG_RANGE_PARA2_FIELD.number = 51 -SKILL_CFG_RANGE_PARA2_FIELD.index = 50 -SKILL_CFG_RANGE_PARA2_FIELD.label = 2 -SKILL_CFG_RANGE_PARA2_FIELD.has_default_value = false -SKILL_CFG_RANGE_PARA2_FIELD.default_value = 0.0 -SKILL_CFG_RANGE_PARA2_FIELD.type = 2 -SKILL_CFG_RANGE_PARA2_FIELD.cpp_type = 6 - -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.name = "lock_target_distance" -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.full_name = ".ftcfg.skill_cfg.lock_target_distance" -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.number = 52 -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.index = 51 -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.label = 2 -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.has_default_value = false -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.default_value = 0.0 -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.type = 2 -SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD.cpp_type = 6 - -SKILL_CFG_LOCK_MAX_COUNT_FIELD.name = "lock_max_count" -SKILL_CFG_LOCK_MAX_COUNT_FIELD.full_name = ".ftcfg.skill_cfg.lock_max_count" -SKILL_CFG_LOCK_MAX_COUNT_FIELD.number = 53 -SKILL_CFG_LOCK_MAX_COUNT_FIELD.index = 52 -SKILL_CFG_LOCK_MAX_COUNT_FIELD.label = 2 -SKILL_CFG_LOCK_MAX_COUNT_FIELD.has_default_value = false -SKILL_CFG_LOCK_MAX_COUNT_FIELD.default_value = 0 -SKILL_CFG_LOCK_MAX_COUNT_FIELD.type = 5 -SKILL_CFG_LOCK_MAX_COUNT_FIELD.cpp_type = 1 - -SKILL_CFG_CAST_SWING_TIME_FIELD.name = "cast_swing_time" -SKILL_CFG_CAST_SWING_TIME_FIELD.full_name = ".ftcfg.skill_cfg.cast_swing_time" -SKILL_CFG_CAST_SWING_TIME_FIELD.number = 54 -SKILL_CFG_CAST_SWING_TIME_FIELD.index = 53 -SKILL_CFG_CAST_SWING_TIME_FIELD.label = 2 -SKILL_CFG_CAST_SWING_TIME_FIELD.has_default_value = false -SKILL_CFG_CAST_SWING_TIME_FIELD.default_value = 0 -SKILL_CFG_CAST_SWING_TIME_FIELD.type = 5 -SKILL_CFG_CAST_SWING_TIME_FIELD.cpp_type = 1 - -SKILL_CFG_CAST_STIFF_TIME_FIELD.name = "cast_stiff_time" -SKILL_CFG_CAST_STIFF_TIME_FIELD.full_name = ".ftcfg.skill_cfg.cast_stiff_time" -SKILL_CFG_CAST_STIFF_TIME_FIELD.number = 55 -SKILL_CFG_CAST_STIFF_TIME_FIELD.index = 54 -SKILL_CFG_CAST_STIFF_TIME_FIELD.label = 2 -SKILL_CFG_CAST_STIFF_TIME_FIELD.has_default_value = false -SKILL_CFG_CAST_STIFF_TIME_FIELD.default_value = 0 -SKILL_CFG_CAST_STIFF_TIME_FIELD.type = 5 -SKILL_CFG_CAST_STIFF_TIME_FIELD.cpp_type = 1 - -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.name = "cast_back_swing_time" -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.full_name = ".ftcfg.skill_cfg.cast_back_swing_time" -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.number = 56 -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.index = 55 -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.label = 2 -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.has_default_value = false -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.default_value = 0 -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.type = 5 -SKILL_CFG_CAST_BACK_SWING_TIME_FIELD.cpp_type = 1 - -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.name = "magic_performance_id" -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.full_name = ".ftcfg.skill_cfg.magic_performance_id" -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.number = 57 -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.index = 56 -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.label = 2 -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.has_default_value = false -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.default_value = "" -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.type = 9 -SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD.cpp_type = 9 - -SKILL_CFG_HIT_EFFECT_FIELD.name = "hit_effect" -SKILL_CFG_HIT_EFFECT_FIELD.full_name = ".ftcfg.skill_cfg.hit_effect" -SKILL_CFG_HIT_EFFECT_FIELD.number = 58 -SKILL_CFG_HIT_EFFECT_FIELD.index = 57 -SKILL_CFG_HIT_EFFECT_FIELD.label = 2 -SKILL_CFG_HIT_EFFECT_FIELD.has_default_value = false -SKILL_CFG_HIT_EFFECT_FIELD.default_value = "" -SKILL_CFG_HIT_EFFECT_FIELD.type = 9 -SKILL_CFG_HIT_EFFECT_FIELD.cpp_type = 9 - -SKILL_CFG_HIT_EFFECT_TIME_FIELD.name = "hit_effect_time" -SKILL_CFG_HIT_EFFECT_TIME_FIELD.full_name = ".ftcfg.skill_cfg.hit_effect_time" -SKILL_CFG_HIT_EFFECT_TIME_FIELD.number = 59 -SKILL_CFG_HIT_EFFECT_TIME_FIELD.index = 58 -SKILL_CFG_HIT_EFFECT_TIME_FIELD.label = 2 -SKILL_CFG_HIT_EFFECT_TIME_FIELD.has_default_value = false -SKILL_CFG_HIT_EFFECT_TIME_FIELD.default_value = 0 -SKILL_CFG_HIT_EFFECT_TIME_FIELD.type = 5 -SKILL_CFG_HIT_EFFECT_TIME_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE1_FIELD.name = "move_type1" -SKILL_CFG_MOVE_TYPE1_FIELD.full_name = ".ftcfg.skill_cfg.move_type1" -SKILL_CFG_MOVE_TYPE1_FIELD.number = 60 -SKILL_CFG_MOVE_TYPE1_FIELD.index = 59 -SKILL_CFG_MOVE_TYPE1_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE1_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE1_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE1_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE1_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT1_FIELD.name = "move_point1" -SKILL_CFG_MOVE_POINT1_FIELD.full_name = ".ftcfg.skill_cfg.move_point1" -SKILL_CFG_MOVE_POINT1_FIELD.number = 61 -SKILL_CFG_MOVE_POINT1_FIELD.index = 60 -SKILL_CFG_MOVE_POINT1_FIELD.label = 2 -SKILL_CFG_MOVE_POINT1_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT1_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT1_FIELD.type = 5 -SKILL_CFG_MOVE_POINT1_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE1_FIELD.name = "adjust_distance1" -SKILL_CFG_ADJUST_DISTANCE1_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance1" -SKILL_CFG_ADJUST_DISTANCE1_FIELD.number = 62 -SKILL_CFG_ADJUST_DISTANCE1_FIELD.index = 61 -SKILL_CFG_ADJUST_DISTANCE1_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE1_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE1_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE1_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE1_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE1_FIELD.name = "move_distance1" -SKILL_CFG_MOVE_DISTANCE1_FIELD.full_name = ".ftcfg.skill_cfg.move_distance1" -SKILL_CFG_MOVE_DISTANCE1_FIELD.number = 63 -SKILL_CFG_MOVE_DISTANCE1_FIELD.index = 62 -SKILL_CFG_MOVE_DISTANCE1_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE1_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE1_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE1_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE1_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME1_FIELD.name = "move_time1" -SKILL_CFG_MOVE_TIME1_FIELD.full_name = ".ftcfg.skill_cfg.move_time1" -SKILL_CFG_MOVE_TIME1_FIELD.number = 64 -SKILL_CFG_MOVE_TIME1_FIELD.index = 63 -SKILL_CFG_MOVE_TIME1_FIELD.label = 2 -SKILL_CFG_MOVE_TIME1_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME1_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME1_FIELD.type = 5 -SKILL_CFG_MOVE_TIME1_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE2_FIELD.name = "move_type2" -SKILL_CFG_MOVE_TYPE2_FIELD.full_name = ".ftcfg.skill_cfg.move_type2" -SKILL_CFG_MOVE_TYPE2_FIELD.number = 65 -SKILL_CFG_MOVE_TYPE2_FIELD.index = 64 -SKILL_CFG_MOVE_TYPE2_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE2_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE2_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE2_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE2_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT2_FIELD.name = "move_point2" -SKILL_CFG_MOVE_POINT2_FIELD.full_name = ".ftcfg.skill_cfg.move_point2" -SKILL_CFG_MOVE_POINT2_FIELD.number = 66 -SKILL_CFG_MOVE_POINT2_FIELD.index = 65 -SKILL_CFG_MOVE_POINT2_FIELD.label = 2 -SKILL_CFG_MOVE_POINT2_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT2_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT2_FIELD.type = 5 -SKILL_CFG_MOVE_POINT2_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE2_FIELD.name = "adjust_distance2" -SKILL_CFG_ADJUST_DISTANCE2_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance2" -SKILL_CFG_ADJUST_DISTANCE2_FIELD.number = 67 -SKILL_CFG_ADJUST_DISTANCE2_FIELD.index = 66 -SKILL_CFG_ADJUST_DISTANCE2_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE2_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE2_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE2_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE2_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE2_FIELD.name = "move_distance2" -SKILL_CFG_MOVE_DISTANCE2_FIELD.full_name = ".ftcfg.skill_cfg.move_distance2" -SKILL_CFG_MOVE_DISTANCE2_FIELD.number = 68 -SKILL_CFG_MOVE_DISTANCE2_FIELD.index = 67 -SKILL_CFG_MOVE_DISTANCE2_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE2_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE2_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE2_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE2_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME2_FIELD.name = "move_time2" -SKILL_CFG_MOVE_TIME2_FIELD.full_name = ".ftcfg.skill_cfg.move_time2" -SKILL_CFG_MOVE_TIME2_FIELD.number = 69 -SKILL_CFG_MOVE_TIME2_FIELD.index = 68 -SKILL_CFG_MOVE_TIME2_FIELD.label = 2 -SKILL_CFG_MOVE_TIME2_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME2_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME2_FIELD.type = 5 -SKILL_CFG_MOVE_TIME2_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE3_FIELD.name = "move_type3" -SKILL_CFG_MOVE_TYPE3_FIELD.full_name = ".ftcfg.skill_cfg.move_type3" -SKILL_CFG_MOVE_TYPE3_FIELD.number = 70 -SKILL_CFG_MOVE_TYPE3_FIELD.index = 69 -SKILL_CFG_MOVE_TYPE3_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE3_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE3_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE3_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE3_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT3_FIELD.name = "move_point3" -SKILL_CFG_MOVE_POINT3_FIELD.full_name = ".ftcfg.skill_cfg.move_point3" -SKILL_CFG_MOVE_POINT3_FIELD.number = 71 -SKILL_CFG_MOVE_POINT3_FIELD.index = 70 -SKILL_CFG_MOVE_POINT3_FIELD.label = 2 -SKILL_CFG_MOVE_POINT3_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT3_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT3_FIELD.type = 5 -SKILL_CFG_MOVE_POINT3_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE3_FIELD.name = "adjust_distance3" -SKILL_CFG_ADJUST_DISTANCE3_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance3" -SKILL_CFG_ADJUST_DISTANCE3_FIELD.number = 72 -SKILL_CFG_ADJUST_DISTANCE3_FIELD.index = 71 -SKILL_CFG_ADJUST_DISTANCE3_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE3_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE3_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE3_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE3_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE3_FIELD.name = "move_distance3" -SKILL_CFG_MOVE_DISTANCE3_FIELD.full_name = ".ftcfg.skill_cfg.move_distance3" -SKILL_CFG_MOVE_DISTANCE3_FIELD.number = 73 -SKILL_CFG_MOVE_DISTANCE3_FIELD.index = 72 -SKILL_CFG_MOVE_DISTANCE3_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE3_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE3_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE3_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE3_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME3_FIELD.name = "move_time3" -SKILL_CFG_MOVE_TIME3_FIELD.full_name = ".ftcfg.skill_cfg.move_time3" -SKILL_CFG_MOVE_TIME3_FIELD.number = 74 -SKILL_CFG_MOVE_TIME3_FIELD.index = 73 -SKILL_CFG_MOVE_TIME3_FIELD.label = 2 -SKILL_CFG_MOVE_TIME3_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME3_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME3_FIELD.type = 5 -SKILL_CFG_MOVE_TIME3_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE4_FIELD.name = "move_type4" -SKILL_CFG_MOVE_TYPE4_FIELD.full_name = ".ftcfg.skill_cfg.move_type4" -SKILL_CFG_MOVE_TYPE4_FIELD.number = 75 -SKILL_CFG_MOVE_TYPE4_FIELD.index = 74 -SKILL_CFG_MOVE_TYPE4_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE4_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE4_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE4_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE4_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT4_FIELD.name = "move_point4" -SKILL_CFG_MOVE_POINT4_FIELD.full_name = ".ftcfg.skill_cfg.move_point4" -SKILL_CFG_MOVE_POINT4_FIELD.number = 76 -SKILL_CFG_MOVE_POINT4_FIELD.index = 75 -SKILL_CFG_MOVE_POINT4_FIELD.label = 2 -SKILL_CFG_MOVE_POINT4_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT4_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT4_FIELD.type = 5 -SKILL_CFG_MOVE_POINT4_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE4_FIELD.name = "adjust_distance4" -SKILL_CFG_ADJUST_DISTANCE4_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance4" -SKILL_CFG_ADJUST_DISTANCE4_FIELD.number = 77 -SKILL_CFG_ADJUST_DISTANCE4_FIELD.index = 76 -SKILL_CFG_ADJUST_DISTANCE4_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE4_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE4_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE4_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE4_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE4_FIELD.name = "move_distance4" -SKILL_CFG_MOVE_DISTANCE4_FIELD.full_name = ".ftcfg.skill_cfg.move_distance4" -SKILL_CFG_MOVE_DISTANCE4_FIELD.number = 78 -SKILL_CFG_MOVE_DISTANCE4_FIELD.index = 77 -SKILL_CFG_MOVE_DISTANCE4_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE4_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE4_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE4_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE4_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME4_FIELD.name = "move_time4" -SKILL_CFG_MOVE_TIME4_FIELD.full_name = ".ftcfg.skill_cfg.move_time4" -SKILL_CFG_MOVE_TIME4_FIELD.number = 79 -SKILL_CFG_MOVE_TIME4_FIELD.index = 78 -SKILL_CFG_MOVE_TIME4_FIELD.label = 2 -SKILL_CFG_MOVE_TIME4_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME4_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME4_FIELD.type = 5 -SKILL_CFG_MOVE_TIME4_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE5_FIELD.name = "move_type5" -SKILL_CFG_MOVE_TYPE5_FIELD.full_name = ".ftcfg.skill_cfg.move_type5" -SKILL_CFG_MOVE_TYPE5_FIELD.number = 80 -SKILL_CFG_MOVE_TYPE5_FIELD.index = 79 -SKILL_CFG_MOVE_TYPE5_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE5_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE5_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE5_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE5_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT5_FIELD.name = "move_point5" -SKILL_CFG_MOVE_POINT5_FIELD.full_name = ".ftcfg.skill_cfg.move_point5" -SKILL_CFG_MOVE_POINT5_FIELD.number = 81 -SKILL_CFG_MOVE_POINT5_FIELD.index = 80 -SKILL_CFG_MOVE_POINT5_FIELD.label = 2 -SKILL_CFG_MOVE_POINT5_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT5_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT5_FIELD.type = 5 -SKILL_CFG_MOVE_POINT5_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE5_FIELD.name = "adjust_distance5" -SKILL_CFG_ADJUST_DISTANCE5_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance5" -SKILL_CFG_ADJUST_DISTANCE5_FIELD.number = 82 -SKILL_CFG_ADJUST_DISTANCE5_FIELD.index = 81 -SKILL_CFG_ADJUST_DISTANCE5_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE5_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE5_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE5_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE5_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE5_FIELD.name = "move_distance5" -SKILL_CFG_MOVE_DISTANCE5_FIELD.full_name = ".ftcfg.skill_cfg.move_distance5" -SKILL_CFG_MOVE_DISTANCE5_FIELD.number = 83 -SKILL_CFG_MOVE_DISTANCE5_FIELD.index = 82 -SKILL_CFG_MOVE_DISTANCE5_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE5_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE5_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE5_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE5_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME5_FIELD.name = "move_time5" -SKILL_CFG_MOVE_TIME5_FIELD.full_name = ".ftcfg.skill_cfg.move_time5" -SKILL_CFG_MOVE_TIME5_FIELD.number = 84 -SKILL_CFG_MOVE_TIME5_FIELD.index = 83 -SKILL_CFG_MOVE_TIME5_FIELD.label = 2 -SKILL_CFG_MOVE_TIME5_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME5_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME5_FIELD.type = 5 -SKILL_CFG_MOVE_TIME5_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE6_FIELD.name = "move_type6" -SKILL_CFG_MOVE_TYPE6_FIELD.full_name = ".ftcfg.skill_cfg.move_type6" -SKILL_CFG_MOVE_TYPE6_FIELD.number = 85 -SKILL_CFG_MOVE_TYPE6_FIELD.index = 84 -SKILL_CFG_MOVE_TYPE6_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE6_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE6_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE6_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE6_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT6_FIELD.name = "move_point6" -SKILL_CFG_MOVE_POINT6_FIELD.full_name = ".ftcfg.skill_cfg.move_point6" -SKILL_CFG_MOVE_POINT6_FIELD.number = 86 -SKILL_CFG_MOVE_POINT6_FIELD.index = 85 -SKILL_CFG_MOVE_POINT6_FIELD.label = 2 -SKILL_CFG_MOVE_POINT6_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT6_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT6_FIELD.type = 5 -SKILL_CFG_MOVE_POINT6_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE6_FIELD.name = "adjust_distance6" -SKILL_CFG_ADJUST_DISTANCE6_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance6" -SKILL_CFG_ADJUST_DISTANCE6_FIELD.number = 87 -SKILL_CFG_ADJUST_DISTANCE6_FIELD.index = 86 -SKILL_CFG_ADJUST_DISTANCE6_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE6_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE6_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE6_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE6_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE6_FIELD.name = "move_distance6" -SKILL_CFG_MOVE_DISTANCE6_FIELD.full_name = ".ftcfg.skill_cfg.move_distance6" -SKILL_CFG_MOVE_DISTANCE6_FIELD.number = 88 -SKILL_CFG_MOVE_DISTANCE6_FIELD.index = 87 -SKILL_CFG_MOVE_DISTANCE6_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE6_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE6_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE6_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE6_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME6_FIELD.name = "move_time6" -SKILL_CFG_MOVE_TIME6_FIELD.full_name = ".ftcfg.skill_cfg.move_time6" -SKILL_CFG_MOVE_TIME6_FIELD.number = 89 -SKILL_CFG_MOVE_TIME6_FIELD.index = 88 -SKILL_CFG_MOVE_TIME6_FIELD.label = 2 -SKILL_CFG_MOVE_TIME6_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME6_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME6_FIELD.type = 5 -SKILL_CFG_MOVE_TIME6_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE7_FIELD.name = "move_type7" -SKILL_CFG_MOVE_TYPE7_FIELD.full_name = ".ftcfg.skill_cfg.move_type7" -SKILL_CFG_MOVE_TYPE7_FIELD.number = 90 -SKILL_CFG_MOVE_TYPE7_FIELD.index = 89 -SKILL_CFG_MOVE_TYPE7_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE7_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE7_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE7_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE7_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT7_FIELD.name = "move_point7" -SKILL_CFG_MOVE_POINT7_FIELD.full_name = ".ftcfg.skill_cfg.move_point7" -SKILL_CFG_MOVE_POINT7_FIELD.number = 91 -SKILL_CFG_MOVE_POINT7_FIELD.index = 90 -SKILL_CFG_MOVE_POINT7_FIELD.label = 2 -SKILL_CFG_MOVE_POINT7_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT7_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT7_FIELD.type = 5 -SKILL_CFG_MOVE_POINT7_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE7_FIELD.name = "adjust_distance7" -SKILL_CFG_ADJUST_DISTANCE7_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance7" -SKILL_CFG_ADJUST_DISTANCE7_FIELD.number = 92 -SKILL_CFG_ADJUST_DISTANCE7_FIELD.index = 91 -SKILL_CFG_ADJUST_DISTANCE7_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE7_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE7_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE7_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE7_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE7_FIELD.name = "move_distance7" -SKILL_CFG_MOVE_DISTANCE7_FIELD.full_name = ".ftcfg.skill_cfg.move_distance7" -SKILL_CFG_MOVE_DISTANCE7_FIELD.number = 93 -SKILL_CFG_MOVE_DISTANCE7_FIELD.index = 92 -SKILL_CFG_MOVE_DISTANCE7_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE7_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE7_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE7_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE7_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME7_FIELD.name = "move_time7" -SKILL_CFG_MOVE_TIME7_FIELD.full_name = ".ftcfg.skill_cfg.move_time7" -SKILL_CFG_MOVE_TIME7_FIELD.number = 94 -SKILL_CFG_MOVE_TIME7_FIELD.index = 93 -SKILL_CFG_MOVE_TIME7_FIELD.label = 2 -SKILL_CFG_MOVE_TIME7_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME7_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME7_FIELD.type = 5 -SKILL_CFG_MOVE_TIME7_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_TYPE8_FIELD.name = "move_type8" -SKILL_CFG_MOVE_TYPE8_FIELD.full_name = ".ftcfg.skill_cfg.move_type8" -SKILL_CFG_MOVE_TYPE8_FIELD.number = 95 -SKILL_CFG_MOVE_TYPE8_FIELD.index = 94 -SKILL_CFG_MOVE_TYPE8_FIELD.label = 2 -SKILL_CFG_MOVE_TYPE8_FIELD.has_default_value = false -SKILL_CFG_MOVE_TYPE8_FIELD.default_value = 0 -SKILL_CFG_MOVE_TYPE8_FIELD.type = 5 -SKILL_CFG_MOVE_TYPE8_FIELD.cpp_type = 1 - -SKILL_CFG_MOVE_POINT8_FIELD.name = "move_point8" -SKILL_CFG_MOVE_POINT8_FIELD.full_name = ".ftcfg.skill_cfg.move_point8" -SKILL_CFG_MOVE_POINT8_FIELD.number = 96 -SKILL_CFG_MOVE_POINT8_FIELD.index = 95 -SKILL_CFG_MOVE_POINT8_FIELD.label = 2 -SKILL_CFG_MOVE_POINT8_FIELD.has_default_value = false -SKILL_CFG_MOVE_POINT8_FIELD.default_value = 0 -SKILL_CFG_MOVE_POINT8_FIELD.type = 5 -SKILL_CFG_MOVE_POINT8_FIELD.cpp_type = 1 - -SKILL_CFG_ADJUST_DISTANCE8_FIELD.name = "adjust_distance8" -SKILL_CFG_ADJUST_DISTANCE8_FIELD.full_name = ".ftcfg.skill_cfg.adjust_distance8" -SKILL_CFG_ADJUST_DISTANCE8_FIELD.number = 97 -SKILL_CFG_ADJUST_DISTANCE8_FIELD.index = 96 -SKILL_CFG_ADJUST_DISTANCE8_FIELD.label = 2 -SKILL_CFG_ADJUST_DISTANCE8_FIELD.has_default_value = false -SKILL_CFG_ADJUST_DISTANCE8_FIELD.default_value = 0.0 -SKILL_CFG_ADJUST_DISTANCE8_FIELD.type = 2 -SKILL_CFG_ADJUST_DISTANCE8_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_DISTANCE8_FIELD.name = "move_distance8" -SKILL_CFG_MOVE_DISTANCE8_FIELD.full_name = ".ftcfg.skill_cfg.move_distance8" -SKILL_CFG_MOVE_DISTANCE8_FIELD.number = 98 -SKILL_CFG_MOVE_DISTANCE8_FIELD.index = 97 -SKILL_CFG_MOVE_DISTANCE8_FIELD.label = 2 -SKILL_CFG_MOVE_DISTANCE8_FIELD.has_default_value = false -SKILL_CFG_MOVE_DISTANCE8_FIELD.default_value = 0.0 -SKILL_CFG_MOVE_DISTANCE8_FIELD.type = 2 -SKILL_CFG_MOVE_DISTANCE8_FIELD.cpp_type = 6 - -SKILL_CFG_MOVE_TIME8_FIELD.name = "move_time8" -SKILL_CFG_MOVE_TIME8_FIELD.full_name = ".ftcfg.skill_cfg.move_time8" -SKILL_CFG_MOVE_TIME8_FIELD.number = 99 -SKILL_CFG_MOVE_TIME8_FIELD.index = 98 -SKILL_CFG_MOVE_TIME8_FIELD.label = 2 -SKILL_CFG_MOVE_TIME8_FIELD.has_default_value = false -SKILL_CFG_MOVE_TIME8_FIELD.default_value = 0 -SKILL_CFG_MOVE_TIME8_FIELD.type = 5 -SKILL_CFG_MOVE_TIME8_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_1_FIELD.name = "logic_type_1" -SKILL_CFG_LOGIC_TYPE_1_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_1" -SKILL_CFG_LOGIC_TYPE_1_FIELD.number = 100 -SKILL_CFG_LOGIC_TYPE_1_FIELD.index = 99 -SKILL_CFG_LOGIC_TYPE_1_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_1_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_1_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_1_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_1_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_1_FIELD.name = "logic_time_1" -SKILL_CFG_LOGIC_TIME_1_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_1" -SKILL_CFG_LOGIC_TIME_1_FIELD.number = 101 -SKILL_CFG_LOGIC_TIME_1_FIELD.index = 100 -SKILL_CFG_LOGIC_TIME_1_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_1_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_1_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_1_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_1_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_1_FIELD.name = "logic_id_1" -SKILL_CFG_LOGIC_ID_1_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_1" -SKILL_CFG_LOGIC_ID_1_FIELD.number = 102 -SKILL_CFG_LOGIC_ID_1_FIELD.index = 101 -SKILL_CFG_LOGIC_ID_1_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_1_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_1_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_1_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_1_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_2_FIELD.name = "logic_type_2" -SKILL_CFG_LOGIC_TYPE_2_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_2" -SKILL_CFG_LOGIC_TYPE_2_FIELD.number = 103 -SKILL_CFG_LOGIC_TYPE_2_FIELD.index = 102 -SKILL_CFG_LOGIC_TYPE_2_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_2_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_2_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_2_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_2_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_2_FIELD.name = "logic_time_2" -SKILL_CFG_LOGIC_TIME_2_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_2" -SKILL_CFG_LOGIC_TIME_2_FIELD.number = 104 -SKILL_CFG_LOGIC_TIME_2_FIELD.index = 103 -SKILL_CFG_LOGIC_TIME_2_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_2_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_2_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_2_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_2_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_2_FIELD.name = "logic_id_2" -SKILL_CFG_LOGIC_ID_2_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_2" -SKILL_CFG_LOGIC_ID_2_FIELD.number = 105 -SKILL_CFG_LOGIC_ID_2_FIELD.index = 104 -SKILL_CFG_LOGIC_ID_2_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_2_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_2_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_2_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_2_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_3_FIELD.name = "logic_type_3" -SKILL_CFG_LOGIC_TYPE_3_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_3" -SKILL_CFG_LOGIC_TYPE_3_FIELD.number = 106 -SKILL_CFG_LOGIC_TYPE_3_FIELD.index = 105 -SKILL_CFG_LOGIC_TYPE_3_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_3_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_3_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_3_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_3_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_3_FIELD.name = "logic_time_3" -SKILL_CFG_LOGIC_TIME_3_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_3" -SKILL_CFG_LOGIC_TIME_3_FIELD.number = 107 -SKILL_CFG_LOGIC_TIME_3_FIELD.index = 106 -SKILL_CFG_LOGIC_TIME_3_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_3_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_3_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_3_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_3_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_3_FIELD.name = "logic_id_3" -SKILL_CFG_LOGIC_ID_3_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_3" -SKILL_CFG_LOGIC_ID_3_FIELD.number = 108 -SKILL_CFG_LOGIC_ID_3_FIELD.index = 107 -SKILL_CFG_LOGIC_ID_3_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_3_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_3_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_3_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_3_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_4_FIELD.name = "logic_type_4" -SKILL_CFG_LOGIC_TYPE_4_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_4" -SKILL_CFG_LOGIC_TYPE_4_FIELD.number = 109 -SKILL_CFG_LOGIC_TYPE_4_FIELD.index = 108 -SKILL_CFG_LOGIC_TYPE_4_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_4_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_4_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_4_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_4_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_4_FIELD.name = "logic_time_4" -SKILL_CFG_LOGIC_TIME_4_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_4" -SKILL_CFG_LOGIC_TIME_4_FIELD.number = 110 -SKILL_CFG_LOGIC_TIME_4_FIELD.index = 109 -SKILL_CFG_LOGIC_TIME_4_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_4_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_4_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_4_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_4_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_4_FIELD.name = "logic_id_4" -SKILL_CFG_LOGIC_ID_4_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_4" -SKILL_CFG_LOGIC_ID_4_FIELD.number = 111 -SKILL_CFG_LOGIC_ID_4_FIELD.index = 110 -SKILL_CFG_LOGIC_ID_4_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_4_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_4_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_4_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_4_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_5_FIELD.name = "logic_type_5" -SKILL_CFG_LOGIC_TYPE_5_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_5" -SKILL_CFG_LOGIC_TYPE_5_FIELD.number = 112 -SKILL_CFG_LOGIC_TYPE_5_FIELD.index = 111 -SKILL_CFG_LOGIC_TYPE_5_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_5_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_5_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_5_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_5_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_5_FIELD.name = "logic_time_5" -SKILL_CFG_LOGIC_TIME_5_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_5" -SKILL_CFG_LOGIC_TIME_5_FIELD.number = 113 -SKILL_CFG_LOGIC_TIME_5_FIELD.index = 112 -SKILL_CFG_LOGIC_TIME_5_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_5_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_5_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_5_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_5_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_5_FIELD.name = "logic_id_5" -SKILL_CFG_LOGIC_ID_5_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_5" -SKILL_CFG_LOGIC_ID_5_FIELD.number = 114 -SKILL_CFG_LOGIC_ID_5_FIELD.index = 113 -SKILL_CFG_LOGIC_ID_5_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_5_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_5_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_5_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_5_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_6_FIELD.name = "logic_type_6" -SKILL_CFG_LOGIC_TYPE_6_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_6" -SKILL_CFG_LOGIC_TYPE_6_FIELD.number = 115 -SKILL_CFG_LOGIC_TYPE_6_FIELD.index = 114 -SKILL_CFG_LOGIC_TYPE_6_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_6_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_6_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_6_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_6_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_6_FIELD.name = "logic_time_6" -SKILL_CFG_LOGIC_TIME_6_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_6" -SKILL_CFG_LOGIC_TIME_6_FIELD.number = 116 -SKILL_CFG_LOGIC_TIME_6_FIELD.index = 115 -SKILL_CFG_LOGIC_TIME_6_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_6_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_6_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_6_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_6_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_6_FIELD.name = "logic_id_6" -SKILL_CFG_LOGIC_ID_6_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_6" -SKILL_CFG_LOGIC_ID_6_FIELD.number = 117 -SKILL_CFG_LOGIC_ID_6_FIELD.index = 116 -SKILL_CFG_LOGIC_ID_6_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_6_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_6_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_6_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_6_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_7_FIELD.name = "logic_type_7" -SKILL_CFG_LOGIC_TYPE_7_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_7" -SKILL_CFG_LOGIC_TYPE_7_FIELD.number = 118 -SKILL_CFG_LOGIC_TYPE_7_FIELD.index = 117 -SKILL_CFG_LOGIC_TYPE_7_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_7_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_7_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_7_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_7_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_7_FIELD.name = "logic_time_7" -SKILL_CFG_LOGIC_TIME_7_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_7" -SKILL_CFG_LOGIC_TIME_7_FIELD.number = 119 -SKILL_CFG_LOGIC_TIME_7_FIELD.index = 118 -SKILL_CFG_LOGIC_TIME_7_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_7_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_7_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_7_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_7_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_7_FIELD.name = "logic_id_7" -SKILL_CFG_LOGIC_ID_7_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_7" -SKILL_CFG_LOGIC_ID_7_FIELD.number = 120 -SKILL_CFG_LOGIC_ID_7_FIELD.index = 119 -SKILL_CFG_LOGIC_ID_7_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_7_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_7_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_7_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_7_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_8_FIELD.name = "logic_type_8" -SKILL_CFG_LOGIC_TYPE_8_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_8" -SKILL_CFG_LOGIC_TYPE_8_FIELD.number = 121 -SKILL_CFG_LOGIC_TYPE_8_FIELD.index = 120 -SKILL_CFG_LOGIC_TYPE_8_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_8_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_8_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_8_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_8_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_8_FIELD.name = "logic_time_8" -SKILL_CFG_LOGIC_TIME_8_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_8" -SKILL_CFG_LOGIC_TIME_8_FIELD.number = 122 -SKILL_CFG_LOGIC_TIME_8_FIELD.index = 121 -SKILL_CFG_LOGIC_TIME_8_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_8_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_8_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_8_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_8_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_8_FIELD.name = "logic_id_8" -SKILL_CFG_LOGIC_ID_8_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_8" -SKILL_CFG_LOGIC_ID_8_FIELD.number = 123 -SKILL_CFG_LOGIC_ID_8_FIELD.index = 122 -SKILL_CFG_LOGIC_ID_8_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_8_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_8_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_8_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_8_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_9_FIELD.name = "logic_type_9" -SKILL_CFG_LOGIC_TYPE_9_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_9" -SKILL_CFG_LOGIC_TYPE_9_FIELD.number = 124 -SKILL_CFG_LOGIC_TYPE_9_FIELD.index = 123 -SKILL_CFG_LOGIC_TYPE_9_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_9_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_9_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_9_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_9_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_9_FIELD.name = "logic_time_9" -SKILL_CFG_LOGIC_TIME_9_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_9" -SKILL_CFG_LOGIC_TIME_9_FIELD.number = 125 -SKILL_CFG_LOGIC_TIME_9_FIELD.index = 124 -SKILL_CFG_LOGIC_TIME_9_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_9_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_9_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_9_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_9_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_9_FIELD.name = "logic_id_9" -SKILL_CFG_LOGIC_ID_9_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_9" -SKILL_CFG_LOGIC_ID_9_FIELD.number = 126 -SKILL_CFG_LOGIC_ID_9_FIELD.index = 125 -SKILL_CFG_LOGIC_ID_9_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_9_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_9_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_9_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_9_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_10_FIELD.name = "logic_type_10" -SKILL_CFG_LOGIC_TYPE_10_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_10" -SKILL_CFG_LOGIC_TYPE_10_FIELD.number = 127 -SKILL_CFG_LOGIC_TYPE_10_FIELD.index = 126 -SKILL_CFG_LOGIC_TYPE_10_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_10_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_10_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_10_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_10_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_10_FIELD.name = "logic_time_10" -SKILL_CFG_LOGIC_TIME_10_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_10" -SKILL_CFG_LOGIC_TIME_10_FIELD.number = 128 -SKILL_CFG_LOGIC_TIME_10_FIELD.index = 127 -SKILL_CFG_LOGIC_TIME_10_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_10_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_10_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_10_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_10_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_10_FIELD.name = "logic_id_10" -SKILL_CFG_LOGIC_ID_10_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_10" -SKILL_CFG_LOGIC_ID_10_FIELD.number = 129 -SKILL_CFG_LOGIC_ID_10_FIELD.index = 128 -SKILL_CFG_LOGIC_ID_10_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_10_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_10_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_10_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_10_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_11_FIELD.name = "logic_type_11" -SKILL_CFG_LOGIC_TYPE_11_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_11" -SKILL_CFG_LOGIC_TYPE_11_FIELD.number = 130 -SKILL_CFG_LOGIC_TYPE_11_FIELD.index = 129 -SKILL_CFG_LOGIC_TYPE_11_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_11_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_11_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_11_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_11_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_11_FIELD.name = "logic_time_11" -SKILL_CFG_LOGIC_TIME_11_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_11" -SKILL_CFG_LOGIC_TIME_11_FIELD.number = 131 -SKILL_CFG_LOGIC_TIME_11_FIELD.index = 130 -SKILL_CFG_LOGIC_TIME_11_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_11_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_11_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_11_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_11_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_11_FIELD.name = "logic_id_11" -SKILL_CFG_LOGIC_ID_11_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_11" -SKILL_CFG_LOGIC_ID_11_FIELD.number = 132 -SKILL_CFG_LOGIC_ID_11_FIELD.index = 131 -SKILL_CFG_LOGIC_ID_11_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_11_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_11_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_11_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_11_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TYPE_12_FIELD.name = "logic_type_12" -SKILL_CFG_LOGIC_TYPE_12_FIELD.full_name = ".ftcfg.skill_cfg.logic_type_12" -SKILL_CFG_LOGIC_TYPE_12_FIELD.number = 133 -SKILL_CFG_LOGIC_TYPE_12_FIELD.index = 132 -SKILL_CFG_LOGIC_TYPE_12_FIELD.label = 2 -SKILL_CFG_LOGIC_TYPE_12_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TYPE_12_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TYPE_12_FIELD.type = 5 -SKILL_CFG_LOGIC_TYPE_12_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_TIME_12_FIELD.name = "logic_time_12" -SKILL_CFG_LOGIC_TIME_12_FIELD.full_name = ".ftcfg.skill_cfg.logic_time_12" -SKILL_CFG_LOGIC_TIME_12_FIELD.number = 134 -SKILL_CFG_LOGIC_TIME_12_FIELD.index = 133 -SKILL_CFG_LOGIC_TIME_12_FIELD.label = 2 -SKILL_CFG_LOGIC_TIME_12_FIELD.has_default_value = false -SKILL_CFG_LOGIC_TIME_12_FIELD.default_value = 0 -SKILL_CFG_LOGIC_TIME_12_FIELD.type = 5 -SKILL_CFG_LOGIC_TIME_12_FIELD.cpp_type = 1 - -SKILL_CFG_LOGIC_ID_12_FIELD.name = "logic_id_12" -SKILL_CFG_LOGIC_ID_12_FIELD.full_name = ".ftcfg.skill_cfg.logic_id_12" -SKILL_CFG_LOGIC_ID_12_FIELD.number = 135 -SKILL_CFG_LOGIC_ID_12_FIELD.index = 134 -SKILL_CFG_LOGIC_ID_12_FIELD.label = 2 -SKILL_CFG_LOGIC_ID_12_FIELD.has_default_value = false -SKILL_CFG_LOGIC_ID_12_FIELD.default_value = 0 -SKILL_CFG_LOGIC_ID_12_FIELD.type = 5 -SKILL_CFG_LOGIC_ID_12_FIELD.cpp_type = 1 - -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.name = "affect_range_type" -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.full_name = ".ftcfg.skill_cfg.affect_range_type" -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.number = 136 -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.index = 135 -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.label = 2 -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.has_default_value = false -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.default_value = nil -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.enum_type = config_predefine_pb.EAFFECTAREATYPE -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.type = 14 -SKILL_CFG_AFFECT_RANGE_TYPE_FIELD.cpp_type = 8 - -SKILL_CFG_ART_PARA1_FIELD.name = "art_para1" -SKILL_CFG_ART_PARA1_FIELD.full_name = ".ftcfg.skill_cfg.art_para1" -SKILL_CFG_ART_PARA1_FIELD.number = 137 -SKILL_CFG_ART_PARA1_FIELD.index = 136 -SKILL_CFG_ART_PARA1_FIELD.label = 2 -SKILL_CFG_ART_PARA1_FIELD.has_default_value = false -SKILL_CFG_ART_PARA1_FIELD.default_value = 0 -SKILL_CFG_ART_PARA1_FIELD.type = 5 -SKILL_CFG_ART_PARA1_FIELD.cpp_type = 1 - -SKILL_CFG_ART_PARA2_FIELD.name = "art_para2" -SKILL_CFG_ART_PARA2_FIELD.full_name = ".ftcfg.skill_cfg.art_para2" -SKILL_CFG_ART_PARA2_FIELD.number = 138 -SKILL_CFG_ART_PARA2_FIELD.index = 137 -SKILL_CFG_ART_PARA2_FIELD.label = 2 -SKILL_CFG_ART_PARA2_FIELD.has_default_value = false -SKILL_CFG_ART_PARA2_FIELD.default_value = 0 -SKILL_CFG_ART_PARA2_FIELD.type = 5 -SKILL_CFG_ART_PARA2_FIELD.cpp_type = 1 - -SKILL_CFG.name = "skill_cfg" -SKILL_CFG.full_name = ".ftcfg.skill_cfg" -SKILL_CFG.nested_types = {} -SKILL_CFG.enum_types = {} -SKILL_CFG.fields = {SKILL_CFG_ID_FIELD, SKILL_CFG_NAME_TIP_FIELD, SKILL_CFG_NAME_FIELD, SKILL_CFG_SKILL_LEVEL_FIELD, SKILL_CFG_PLAYER_LEVEL_FIELD, SKILL_CFG_LEVELUP_COST_FIELD, SKILL_CFG_NEXT_LEVEL_ID_FIELD, SKILL_CFG_SKILL_ICON_FIELD, SKILL_CFG_SKILL_PROF_FIELD, SKILL_CFG_TIPS2_FIELD, SKILL_CFG_TIPS_FIELD, SKILL_CFG_TIPS3_FIELD, SKILL_CFG_TIPS_PARA1_FIELD, SKILL_CFG_TIPS_PARA2_FIELD, SKILL_CFG_TIPS_PARA3_FIELD, SKILL_CFG_TIPS_PARA4_FIELD, SKILL_CFG_TIPS_PARA5_FIELD, SKILL_CFG_TIPS_PARA6_FIELD, SKILL_CFG_NEXT_SKILL_FIELD, SKILL_CFG_NEXT_CHANGE_SKILL_FIELD, SKILL_CFG_AUTO_SKILL_FIELD, SKILL_CFG_NEXT_SKILL_TIME_FIELD, SKILL_CFG_SKILL_TYPE_FIELD, SKILL_CFG_ENERGY_COST_TYPE_FIELD, SKILL_CFG_ENERGY_VALUE_FIELD, SKILL_CFG_MAX_ENERGY_VALUE_FIELD, SKILL_CFG_RET_ENERGY_VALUE_FIELD, SKILL_CFG_RET_HP_EFFECT_FIELD, SKILL_CFG_SHOW_PROGRESS_FIELD, SKILL_CFG_PROGRESS_WORD_FIELD, SKILL_CFG_IS_TRIGGER_PASSIVE_FIELD, SKILL_CFG_IS_PASSIVE_FIELD, SKILL_CFG_TRIGGER_TYPE_FIELD, SKILL_CFG_ACCELERATE_FIELD, SKILL_CFG_IS_CONCURRENCY_FIELD, SKILL_CFG_INT_CHANNEL_WHEN_BEATEN_FIELD, SKILL_CFG_IS_CHANNEL_FIELD, SKILL_CFG_CHANNEL_TIME_FIELD, SKILL_CFG_CAN_CANCEL_FIELD, SKILL_CFG_BASE_POS_FIELD, SKILL_CFG_TARGET_TYPE_FIELD, SKILL_CFG_REMOVE_BUFF_WHEN_CANCEL_FIELD, SKILL_CFG_WORK_WHEN_FIELD, SKILL_CFG_CD_GROUP_ID_FIELD, SKILL_CFG_CD_TIME_FIELD, SKILL_CFG_CD_NUM_FIELD, SKILL_CFG_CAST_DISTANCE_FIELD, SKILL_CFG_LOCKED_BY_SERVER_FIELD, SKILL_CFG_RANGE_TYPE_FIELD, SKILL_CFG_RANGE_PARA1_FIELD, SKILL_CFG_RANGE_PARA2_FIELD, SKILL_CFG_LOCK_TARGET_DISTANCE_FIELD, SKILL_CFG_LOCK_MAX_COUNT_FIELD, SKILL_CFG_CAST_SWING_TIME_FIELD, SKILL_CFG_CAST_STIFF_TIME_FIELD, SKILL_CFG_CAST_BACK_SWING_TIME_FIELD, SKILL_CFG_MAGIC_PERFORMANCE_ID_FIELD, SKILL_CFG_HIT_EFFECT_FIELD, SKILL_CFG_HIT_EFFECT_TIME_FIELD, SKILL_CFG_MOVE_TYPE1_FIELD, SKILL_CFG_MOVE_POINT1_FIELD, SKILL_CFG_ADJUST_DISTANCE1_FIELD, SKILL_CFG_MOVE_DISTANCE1_FIELD, SKILL_CFG_MOVE_TIME1_FIELD, SKILL_CFG_MOVE_TYPE2_FIELD, SKILL_CFG_MOVE_POINT2_FIELD, SKILL_CFG_ADJUST_DISTANCE2_FIELD, SKILL_CFG_MOVE_DISTANCE2_FIELD, SKILL_CFG_MOVE_TIME2_FIELD, SKILL_CFG_MOVE_TYPE3_FIELD, SKILL_CFG_MOVE_POINT3_FIELD, SKILL_CFG_ADJUST_DISTANCE3_FIELD, SKILL_CFG_MOVE_DISTANCE3_FIELD, SKILL_CFG_MOVE_TIME3_FIELD, SKILL_CFG_MOVE_TYPE4_FIELD, SKILL_CFG_MOVE_POINT4_FIELD, SKILL_CFG_ADJUST_DISTANCE4_FIELD, SKILL_CFG_MOVE_DISTANCE4_FIELD, SKILL_CFG_MOVE_TIME4_FIELD, SKILL_CFG_MOVE_TYPE5_FIELD, SKILL_CFG_MOVE_POINT5_FIELD, SKILL_CFG_ADJUST_DISTANCE5_FIELD, SKILL_CFG_MOVE_DISTANCE5_FIELD, SKILL_CFG_MOVE_TIME5_FIELD, SKILL_CFG_MOVE_TYPE6_FIELD, SKILL_CFG_MOVE_POINT6_FIELD, SKILL_CFG_ADJUST_DISTANCE6_FIELD, SKILL_CFG_MOVE_DISTANCE6_FIELD, SKILL_CFG_MOVE_TIME6_FIELD, SKILL_CFG_MOVE_TYPE7_FIELD, SKILL_CFG_MOVE_POINT7_FIELD, SKILL_CFG_ADJUST_DISTANCE7_FIELD, SKILL_CFG_MOVE_DISTANCE7_FIELD, SKILL_CFG_MOVE_TIME7_FIELD, SKILL_CFG_MOVE_TYPE8_FIELD, SKILL_CFG_MOVE_POINT8_FIELD, SKILL_CFG_ADJUST_DISTANCE8_FIELD, SKILL_CFG_MOVE_DISTANCE8_FIELD, SKILL_CFG_MOVE_TIME8_FIELD, SKILL_CFG_LOGIC_TYPE_1_FIELD, SKILL_CFG_LOGIC_TIME_1_FIELD, SKILL_CFG_LOGIC_ID_1_FIELD, SKILL_CFG_LOGIC_TYPE_2_FIELD, SKILL_CFG_LOGIC_TIME_2_FIELD, SKILL_CFG_LOGIC_ID_2_FIELD, SKILL_CFG_LOGIC_TYPE_3_FIELD, SKILL_CFG_LOGIC_TIME_3_FIELD, SKILL_CFG_LOGIC_ID_3_FIELD, SKILL_CFG_LOGIC_TYPE_4_FIELD, SKILL_CFG_LOGIC_TIME_4_FIELD, SKILL_CFG_LOGIC_ID_4_FIELD, SKILL_CFG_LOGIC_TYPE_5_FIELD, SKILL_CFG_LOGIC_TIME_5_FIELD, SKILL_CFG_LOGIC_ID_5_FIELD, SKILL_CFG_LOGIC_TYPE_6_FIELD, SKILL_CFG_LOGIC_TIME_6_FIELD, SKILL_CFG_LOGIC_ID_6_FIELD, SKILL_CFG_LOGIC_TYPE_7_FIELD, SKILL_CFG_LOGIC_TIME_7_FIELD, SKILL_CFG_LOGIC_ID_7_FIELD, SKILL_CFG_LOGIC_TYPE_8_FIELD, SKILL_CFG_LOGIC_TIME_8_FIELD, SKILL_CFG_LOGIC_ID_8_FIELD, SKILL_CFG_LOGIC_TYPE_9_FIELD, SKILL_CFG_LOGIC_TIME_9_FIELD, SKILL_CFG_LOGIC_ID_9_FIELD, SKILL_CFG_LOGIC_TYPE_10_FIELD, SKILL_CFG_LOGIC_TIME_10_FIELD, SKILL_CFG_LOGIC_ID_10_FIELD, SKILL_CFG_LOGIC_TYPE_11_FIELD, SKILL_CFG_LOGIC_TIME_11_FIELD, SKILL_CFG_LOGIC_ID_11_FIELD, SKILL_CFG_LOGIC_TYPE_12_FIELD, SKILL_CFG_LOGIC_TIME_12_FIELD, SKILL_CFG_LOGIC_ID_12_FIELD, SKILL_CFG_AFFECT_RANGE_TYPE_FIELD, SKILL_CFG_ART_PARA1_FIELD, SKILL_CFG_ART_PARA2_FIELD} -SKILL_CFG.is_extendable = false -SKILL_CFG.extensions = {} -SKILL_CFGS_ITEMS_FIELD.name = "items" -SKILL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.skill_cfgs.items" -SKILL_CFGS_ITEMS_FIELD.number = 1 -SKILL_CFGS_ITEMS_FIELD.index = 0 -SKILL_CFGS_ITEMS_FIELD.label = 3 -SKILL_CFGS_ITEMS_FIELD.has_default_value = false -SKILL_CFGS_ITEMS_FIELD.default_value = {} -SKILL_CFGS_ITEMS_FIELD.message_type = SKILL_CFG -SKILL_CFGS_ITEMS_FIELD.type = 11 -SKILL_CFGS_ITEMS_FIELD.cpp_type = 10 - -SKILL_CFGS.name = "skill_cfgs" -SKILL_CFGS.full_name = ".ftcfg.skill_cfgs" -SKILL_CFGS.nested_types = {} -SKILL_CFGS.enum_types = {} -SKILL_CFGS.fields = {SKILL_CFGS_ITEMS_FIELD} -SKILL_CFGS.is_extendable = false -SKILL_CFGS.extensions = {} -SKILL_ID_CFG_ID_FIELD.name = "id" -SKILL_ID_CFG_ID_FIELD.full_name = ".ftcfg.skill_id_cfg.id" -SKILL_ID_CFG_ID_FIELD.number = 1 -SKILL_ID_CFG_ID_FIELD.index = 0 -SKILL_ID_CFG_ID_FIELD.label = 2 -SKILL_ID_CFG_ID_FIELD.has_default_value = false -SKILL_ID_CFG_ID_FIELD.default_value = 0 -SKILL_ID_CFG_ID_FIELD.type = 5 -SKILL_ID_CFG_ID_FIELD.cpp_type = 1 - -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.name = "skill_id_array" -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.full_name = ".ftcfg.skill_id_cfg.skill_id_array" -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.number = 2 -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.index = 1 -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.label = 3 -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.has_default_value = false -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.default_value = {} -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.type = 5 -SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD.cpp_type = 1 - -SKILL_ID_CFG.name = "skill_id_cfg" -SKILL_ID_CFG.full_name = ".ftcfg.skill_id_cfg" -SKILL_ID_CFG.nested_types = {} -SKILL_ID_CFG.enum_types = {} -SKILL_ID_CFG.fields = {SKILL_ID_CFG_ID_FIELD, SKILL_ID_CFG_SKILL_ID_ARRAY_FIELD} -SKILL_ID_CFG.is_extendable = false -SKILL_ID_CFG.extensions = {} -SKILL_ID_CFGS_ITEMS_FIELD.name = "items" -SKILL_ID_CFGS_ITEMS_FIELD.full_name = ".ftcfg.skill_id_cfgs.items" -SKILL_ID_CFGS_ITEMS_FIELD.number = 1 -SKILL_ID_CFGS_ITEMS_FIELD.index = 0 -SKILL_ID_CFGS_ITEMS_FIELD.label = 3 -SKILL_ID_CFGS_ITEMS_FIELD.has_default_value = false -SKILL_ID_CFGS_ITEMS_FIELD.default_value = {} -SKILL_ID_CFGS_ITEMS_FIELD.message_type = SKILL_ID_CFG -SKILL_ID_CFGS_ITEMS_FIELD.type = 11 -SKILL_ID_CFGS_ITEMS_FIELD.cpp_type = 10 - -SKILL_ID_CFGS.name = "skill_id_cfgs" -SKILL_ID_CFGS.full_name = ".ftcfg.skill_id_cfgs" -SKILL_ID_CFGS.nested_types = {} -SKILL_ID_CFGS.enum_types = {} -SKILL_ID_CFGS.fields = {SKILL_ID_CFGS_ITEMS_FIELD} -SKILL_ID_CFGS.is_extendable = false -SKILL_ID_CFGS.extensions = {} -SKILL_CONDITION_CFG_ID_FIELD.name = "id" -SKILL_CONDITION_CFG_ID_FIELD.full_name = ".ftcfg.skill_condition_cfg.id" -SKILL_CONDITION_CFG_ID_FIELD.number = 1 -SKILL_CONDITION_CFG_ID_FIELD.index = 0 -SKILL_CONDITION_CFG_ID_FIELD.label = 2 -SKILL_CONDITION_CFG_ID_FIELD.has_default_value = false -SKILL_CONDITION_CFG_ID_FIELD.default_value = 0 -SKILL_CONDITION_CFG_ID_FIELD.type = 5 -SKILL_CONDITION_CFG_ID_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_DESC_FIELD.name = "desc" -SKILL_CONDITION_CFG_DESC_FIELD.full_name = ".ftcfg.skill_condition_cfg.desc" -SKILL_CONDITION_CFG_DESC_FIELD.number = 2 -SKILL_CONDITION_CFG_DESC_FIELD.index = 1 -SKILL_CONDITION_CFG_DESC_FIELD.label = 2 -SKILL_CONDITION_CFG_DESC_FIELD.has_default_value = false -SKILL_CONDITION_CFG_DESC_FIELD.default_value = "" -SKILL_CONDITION_CFG_DESC_FIELD.type = 9 -SKILL_CONDITION_CFG_DESC_FIELD.cpp_type = 9 - -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.name = "effect_target" -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.full_name = ".ftcfg.skill_condition_cfg.effect_target" -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.number = 3 -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.index = 2 -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.label = 2 -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.has_default_value = false -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.default_value = nil -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.enum_type = config_predefine_pb.CONDITIONTARGETTYPE -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.type = 14 -SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD.cpp_type = 8 - -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.name = "range_type" -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.full_name = ".ftcfg.skill_condition_cfg.range_type" -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.number = 4 -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.index = 3 -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.label = 2 -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.default_value = nil -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.enum_type = config_predefine_pb.EAREATYPE -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.type = 14 -SKILL_CONDITION_CFG_RANGE_TYPE_FIELD.cpp_type = 8 - -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.name = "range_angle" -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.full_name = ".ftcfg.skill_condition_cfg.range_angle" -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.number = 5 -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.index = 4 -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.label = 2 -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.type = 2 -SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.name = "range_offset_x" -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.full_name = ".ftcfg.skill_condition_cfg.range_offset_x" -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.number = 6 -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.index = 5 -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.label = 2 -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.has_default_value = false -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.type = 2 -SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.name = "range_offset_z" -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.full_name = ".ftcfg.skill_condition_cfg.range_offset_z" -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.number = 7 -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.index = 6 -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.label = 2 -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.has_default_value = false -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.type = 2 -SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.name = "range_para1" -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.full_name = ".ftcfg.skill_condition_cfg.range_para1" -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.number = 8 -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.index = 7 -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.label = 2 -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.has_default_value = false -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.type = 2 -SKILL_CONDITION_CFG_RANGE_PARA1_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.name = "range_para2" -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.full_name = ".ftcfg.skill_condition_cfg.range_para2" -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.number = 9 -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.index = 8 -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.label = 2 -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.has_default_value = false -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.type = 2 -SKILL_CONDITION_CFG_RANGE_PARA2_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.name = "entity_types" -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.full_name = ".ftcfg.skill_condition_cfg.entity_types" -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.number = 10 -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.index = 9 -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.label = 3 -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.has_default_value = false -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.default_value = {} -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.type = 5 -SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.name = "include_target" -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.full_name = ".ftcfg.skill_condition_cfg.include_target" -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.number = 11 -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.index = 10 -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.label = 2 -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.has_default_value = false -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.default_value = false -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.type = 8 -SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD.cpp_type = 7 - -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.name = "target_num" -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.full_name = ".ftcfg.skill_condition_cfg.target_num" -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.number = 12 -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.index = 11 -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.label = 2 -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.has_default_value = false -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.default_value = 0 -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.type = 5 -SKILL_CONDITION_CFG_TARGET_NUM_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.name = "ignore_block" -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.full_name = ".ftcfg.skill_condition_cfg.ignore_block" -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.number = 13 -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.index = 12 -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.label = 2 -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.has_default_value = false -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.default_value = false -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.type = 8 -SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD.cpp_type = 7 - -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.name = "ignore_dodge" -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.full_name = ".ftcfg.skill_condition_cfg.ignore_dodge" -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.number = 14 -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.index = 13 -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.label = 2 -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.default_value = false -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.type = 8 -SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD.cpp_type = 7 - -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.name = "target_order_type" -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.full_name = ".ftcfg.skill_condition_cfg.target_order_type" -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.number = 15 -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.index = 14 -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.label = 2 -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.default_value = nil -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.enum_type = config_predefine_pb.ECONDITIONORDERTYPE -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.type = 14 -SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD.cpp_type = 8 - -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.name = "repeat_num" -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.full_name = ".ftcfg.skill_condition_cfg.repeat_num" -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.number = 16 -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.index = 15 -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.label = 2 -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.has_default_value = false -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.default_value = 0 -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.type = 5 -SKILL_CONDITION_CFG_REPEAT_NUM_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_HIT_RATE_FIELD.name = "hit_rate" -SKILL_CONDITION_CFG_HIT_RATE_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_rate" -SKILL_CONDITION_CFG_HIT_RATE_FIELD.number = 17 -SKILL_CONDITION_CFG_HIT_RATE_FIELD.index = 16 -SKILL_CONDITION_CFG_HIT_RATE_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_RATE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_RATE_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_HIT_RATE_FIELD.type = 2 -SKILL_CONDITION_CFG_HIT_RATE_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_ATK_LV_FIELD.name = "atk_lv" -SKILL_CONDITION_CFG_ATK_LV_FIELD.full_name = ".ftcfg.skill_condition_cfg.atk_lv" -SKILL_CONDITION_CFG_ATK_LV_FIELD.number = 18 -SKILL_CONDITION_CFG_ATK_LV_FIELD.index = 17 -SKILL_CONDITION_CFG_ATK_LV_FIELD.label = 2 -SKILL_CONDITION_CFG_ATK_LV_FIELD.has_default_value = false -SKILL_CONDITION_CFG_ATK_LV_FIELD.default_value = 0 -SKILL_CONDITION_CFG_ATK_LV_FIELD.type = 5 -SKILL_CONDITION_CFG_ATK_LV_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.name = "am_beaten" -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.full_name = ".ftcfg.skill_condition_cfg.am_beaten" -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.number = 19 -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.index = 18 -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.label = 2 -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.has_default_value = false -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.default_value = "" -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.type = 9 -SKILL_CONDITION_CFG_AM_BEATEN_FIELD.cpp_type = 9 - -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.name = "am_beaten_eff" -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.full_name = ".ftcfg.skill_condition_cfg.am_beaten_eff" -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.number = 20 -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.index = 19 -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.label = 2 -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.has_default_value = false -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.default_value = "" -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.type = 9 -SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD.cpp_type = 9 - -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.name = "beaten_time" -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.full_name = ".ftcfg.skill_condition_cfg.beaten_time" -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.number = 21 -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.index = 20 -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.label = 2 -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.default_value = 0 -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.type = 5 -SKILL_CONDITION_CFG_BEATEN_TIME_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.name = "beat_back_type" -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.full_name = ".ftcfg.skill_condition_cfg.beat_back_type" -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.number = 22 -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.index = 21 -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.label = 2 -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.default_value = 0 -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.type = 5 -SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.name = "beat_dis" -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.full_name = ".ftcfg.skill_condition_cfg.beat_dis" -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.number = 23 -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.index = 22 -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.label = 2 -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.type = 2 -SKILL_CONDITION_CFG_BEAT_DIS_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.name = "beat_back_move_time" -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.full_name = ".ftcfg.skill_condition_cfg.beat_back_move_time" -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.number = 24 -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.index = 23 -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.label = 2 -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.default_value = 0 -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.type = 5 -SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_AM_DEAD_FIELD.name = "am_dead" -SKILL_CONDITION_CFG_AM_DEAD_FIELD.full_name = ".ftcfg.skill_condition_cfg.am_dead" -SKILL_CONDITION_CFG_AM_DEAD_FIELD.number = 25 -SKILL_CONDITION_CFG_AM_DEAD_FIELD.index = 24 -SKILL_CONDITION_CFG_AM_DEAD_FIELD.label = 2 -SKILL_CONDITION_CFG_AM_DEAD_FIELD.has_default_value = false -SKILL_CONDITION_CFG_AM_DEAD_FIELD.default_value = 0 -SKILL_CONDITION_CFG_AM_DEAD_FIELD.type = 5 -SKILL_CONDITION_CFG_AM_DEAD_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.name = "dead_back_type" -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.full_name = ".ftcfg.skill_condition_cfg.dead_back_type" -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.number = 26 -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.index = 25 -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.label = 2 -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.default_value = 0 -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.type = 5 -SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.name = "dead_dis" -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.full_name = ".ftcfg.skill_condition_cfg.dead_dis" -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.number = 27 -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.index = 26 -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.label = 2 -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.has_default_value = false -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.type = 2 -SKILL_CONDITION_CFG_DEAD_DIS_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.name = "dead_back_move_time" -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.full_name = ".ftcfg.skill_condition_cfg.dead_back_move_time" -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.number = 28 -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.index = 27 -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.label = 2 -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.has_default_value = false -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.default_value = 0 -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.type = 5 -SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.name = "self_effect_1" -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.full_name = ".ftcfg.skill_condition_cfg.self_effect_1" -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.number = 29 -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.index = 28 -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.label = 2 -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.has_default_value = false -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.default_value = 0 -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.type = 5 -SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.name = "self_hit_buff1" -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.full_name = ".ftcfg.skill_condition_cfg.self_hit_buff1" -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.number = 30 -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.index = 29 -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.label = 2 -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.has_default_value = false -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.default_value = 0 -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.type = 5 -SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.name = "self_hit_buff_chance1" -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.full_name = ".ftcfg.skill_condition_cfg.self_hit_buff_chance1" -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.number = 31 -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.index = 30 -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.label = 2 -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.has_default_value = false -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.type = 2 -SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.name = "hit_effect_1" -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_effect_1" -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.number = 32 -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.index = 31 -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.default_value = 0 -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.type = 5 -SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.name = "hit_effect_2" -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_effect_2" -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.number = 33 -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.index = 32 -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.default_value = 0 -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.type = 5 -SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.name = "hit_effect_3" -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_effect_3" -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.number = 34 -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.index = 33 -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.default_value = 0 -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.type = 5 -SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.name = "hit_buff1" -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_buff1" -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.number = 35 -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.index = 34 -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.default_value = 0 -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.type = 5 -SKILL_CONDITION_CFG_HIT_BUFF1_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.name = "hit_buff_chance1" -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_buff_chance1" -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.number = 36 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.index = 35 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.type = 2 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.name = "hit_buff2" -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_buff2" -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.number = 37 -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.index = 36 -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.default_value = 0 -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.type = 5 -SKILL_CONDITION_CFG_HIT_BUFF2_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.name = "hit_buff_chance2" -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_buff_chance2" -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.number = 38 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.index = 37 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.type = 2 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.name = "hit_buff3" -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_buff3" -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.number = 39 -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.index = 38 -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.default_value = 0 -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.type = 5 -SKILL_CONDITION_CFG_HIT_BUFF3_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.name = "hit_buff_chance3" -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.full_name = ".ftcfg.skill_condition_cfg.hit_buff_chance3" -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.number = 40 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.index = 39 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.label = 2 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.has_default_value = false -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.type = 2 -SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.name = "crit_effect" -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.full_name = ".ftcfg.skill_condition_cfg.crit_effect" -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.number = 41 -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.index = 40 -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.label = 2 -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.has_default_value = false -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.default_value = 0 -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.type = 5 -SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.name = "dead_strike_effect" -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.full_name = ".ftcfg.skill_condition_cfg.dead_strike_effect" -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.number = 42 -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.index = 41 -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.label = 2 -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.has_default_value = false -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.default_value = 0 -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.type = 5 -SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.name = "buff_when_crit" -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.full_name = ".ftcfg.skill_condition_cfg.buff_when_crit" -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.number = 43 -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.index = 42 -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.label = 2 -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.default_value = 0 -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.type = 5 -SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.name = "buff_chance_when_crit" -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.full_name = ".ftcfg.skill_condition_cfg.buff_chance_when_crit" -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.number = 44 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.index = 43 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.label = 2 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.type = 2 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.name = "buff_when_deadstrike" -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.full_name = ".ftcfg.skill_condition_cfg.buff_when_deadstrike" -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.number = 45 -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.index = 44 -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.label = 2 -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.default_value = 0 -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.type = 5 -SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD.cpp_type = 1 - -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.name = "buff_chance_when_deadstrike" -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.full_name = ".ftcfg.skill_condition_cfg.buff_chance_when_deadstrike" -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.number = 46 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.index = 45 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.label = 2 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.has_default_value = false -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.default_value = 0.0 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.type = 2 -SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD.cpp_type = 6 - -SKILL_CONDITION_CFG.name = "skill_condition_cfg" -SKILL_CONDITION_CFG.full_name = ".ftcfg.skill_condition_cfg" -SKILL_CONDITION_CFG.nested_types = {} -SKILL_CONDITION_CFG.enum_types = {} -SKILL_CONDITION_CFG.fields = {SKILL_CONDITION_CFG_ID_FIELD, SKILL_CONDITION_CFG_DESC_FIELD, SKILL_CONDITION_CFG_EFFECT_TARGET_FIELD, SKILL_CONDITION_CFG_RANGE_TYPE_FIELD, SKILL_CONDITION_CFG_RANGE_ANGLE_FIELD, SKILL_CONDITION_CFG_RANGE_OFFSET_X_FIELD, SKILL_CONDITION_CFG_RANGE_OFFSET_Z_FIELD, SKILL_CONDITION_CFG_RANGE_PARA1_FIELD, SKILL_CONDITION_CFG_RANGE_PARA2_FIELD, SKILL_CONDITION_CFG_ENTITY_TYPES_FIELD, SKILL_CONDITION_CFG_INCLUDE_TARGET_FIELD, SKILL_CONDITION_CFG_TARGET_NUM_FIELD, SKILL_CONDITION_CFG_IGNORE_BLOCK_FIELD, SKILL_CONDITION_CFG_IGNORE_DODGE_FIELD, SKILL_CONDITION_CFG_TARGET_ORDER_TYPE_FIELD, SKILL_CONDITION_CFG_REPEAT_NUM_FIELD, SKILL_CONDITION_CFG_HIT_RATE_FIELD, SKILL_CONDITION_CFG_ATK_LV_FIELD, SKILL_CONDITION_CFG_AM_BEATEN_FIELD, SKILL_CONDITION_CFG_AM_BEATEN_EFF_FIELD, SKILL_CONDITION_CFG_BEATEN_TIME_FIELD, SKILL_CONDITION_CFG_BEAT_BACK_TYPE_FIELD, SKILL_CONDITION_CFG_BEAT_DIS_FIELD, SKILL_CONDITION_CFG_BEAT_BACK_MOVE_TIME_FIELD, SKILL_CONDITION_CFG_AM_DEAD_FIELD, SKILL_CONDITION_CFG_DEAD_BACK_TYPE_FIELD, SKILL_CONDITION_CFG_DEAD_DIS_FIELD, SKILL_CONDITION_CFG_DEAD_BACK_MOVE_TIME_FIELD, SKILL_CONDITION_CFG_SELF_EFFECT_1_FIELD, SKILL_CONDITION_CFG_SELF_HIT_BUFF1_FIELD, SKILL_CONDITION_CFG_SELF_HIT_BUFF_CHANCE1_FIELD, SKILL_CONDITION_CFG_HIT_EFFECT_1_FIELD, SKILL_CONDITION_CFG_HIT_EFFECT_2_FIELD, SKILL_CONDITION_CFG_HIT_EFFECT_3_FIELD, SKILL_CONDITION_CFG_HIT_BUFF1_FIELD, SKILL_CONDITION_CFG_HIT_BUFF_CHANCE1_FIELD, SKILL_CONDITION_CFG_HIT_BUFF2_FIELD, SKILL_CONDITION_CFG_HIT_BUFF_CHANCE2_FIELD, SKILL_CONDITION_CFG_HIT_BUFF3_FIELD, SKILL_CONDITION_CFG_HIT_BUFF_CHANCE3_FIELD, SKILL_CONDITION_CFG_CRIT_EFFECT_FIELD, SKILL_CONDITION_CFG_DEAD_STRIKE_EFFECT_FIELD, SKILL_CONDITION_CFG_BUFF_WHEN_CRIT_FIELD, SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_CRIT_FIELD, SKILL_CONDITION_CFG_BUFF_WHEN_DEADSTRIKE_FIELD, SKILL_CONDITION_CFG_BUFF_CHANCE_WHEN_DEADSTRIKE_FIELD} -SKILL_CONDITION_CFG.is_extendable = false -SKILL_CONDITION_CFG.extensions = {} -SKILL_CONDITION_CFGS_ITEMS_FIELD.name = "items" -SKILL_CONDITION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.skill_condition_cfgs.items" -SKILL_CONDITION_CFGS_ITEMS_FIELD.number = 1 -SKILL_CONDITION_CFGS_ITEMS_FIELD.index = 0 -SKILL_CONDITION_CFGS_ITEMS_FIELD.label = 3 -SKILL_CONDITION_CFGS_ITEMS_FIELD.has_default_value = false -SKILL_CONDITION_CFGS_ITEMS_FIELD.default_value = {} -SKILL_CONDITION_CFGS_ITEMS_FIELD.message_type = SKILL_CONDITION_CFG -SKILL_CONDITION_CFGS_ITEMS_FIELD.type = 11 -SKILL_CONDITION_CFGS_ITEMS_FIELD.cpp_type = 10 - -SKILL_CONDITION_CFGS.name = "skill_condition_cfgs" -SKILL_CONDITION_CFGS.full_name = ".ftcfg.skill_condition_cfgs" -SKILL_CONDITION_CFGS.nested_types = {} -SKILL_CONDITION_CFGS.enum_types = {} -SKILL_CONDITION_CFGS.fields = {SKILL_CONDITION_CFGS_ITEMS_FIELD} -SKILL_CONDITION_CFGS.is_extendable = false -SKILL_CONDITION_CFGS.extensions = {} -TEST_CFG_ID_FIELD.name = "id" -TEST_CFG_ID_FIELD.full_name = ".ftcfg.test_cfg.id" -TEST_CFG_ID_FIELD.number = 1 -TEST_CFG_ID_FIELD.index = 0 -TEST_CFG_ID_FIELD.label = 2 -TEST_CFG_ID_FIELD.has_default_value = false -TEST_CFG_ID_FIELD.default_value = 0 -TEST_CFG_ID_FIELD.type = 5 -TEST_CFG_ID_FIELD.cpp_type = 1 - -TEST_CFG_TESTSTRUCT1_FIELD.name = "testStruct1" -TEST_CFG_TESTSTRUCT1_FIELD.full_name = ".ftcfg.test_cfg.testStruct1" -TEST_CFG_TESTSTRUCT1_FIELD.number = 2 -TEST_CFG_TESTSTRUCT1_FIELD.index = 1 -TEST_CFG_TESTSTRUCT1_FIELD.label = 1 -TEST_CFG_TESTSTRUCT1_FIELD.has_default_value = false -TEST_CFG_TESTSTRUCT1_FIELD.default_value = nil -TEST_CFG_TESTSTRUCT1_FIELD.message_type = config_predefine_pb.TESTSTRUCT -TEST_CFG_TESTSTRUCT1_FIELD.type = 11 -TEST_CFG_TESTSTRUCT1_FIELD.cpp_type = 10 - -TEST_CFG_TES_FIELD.name = "tes" -TEST_CFG_TES_FIELD.full_name = ".ftcfg.test_cfg.tes" -TEST_CFG_TES_FIELD.number = 3 -TEST_CFG_TES_FIELD.index = 2 -TEST_CFG_TES_FIELD.label = 3 -TEST_CFG_TES_FIELD.has_default_value = false -TEST_CFG_TES_FIELD.default_value = {} -TEST_CFG_TES_FIELD.enum_type = config_predefine_pb.TESTENUM -TEST_CFG_TES_FIELD.type = 14 -TEST_CFG_TES_FIELD.cpp_type = 8 - -TEST_CFG.name = "test_cfg" -TEST_CFG.full_name = ".ftcfg.test_cfg" -TEST_CFG.nested_types = {} -TEST_CFG.enum_types = {} -TEST_CFG.fields = {TEST_CFG_ID_FIELD, TEST_CFG_TESTSTRUCT1_FIELD, TEST_CFG_TES_FIELD} -TEST_CFG.is_extendable = false -TEST_CFG.extensions = {} -TEST_CFGS_ITEMS_FIELD.name = "items" -TEST_CFGS_ITEMS_FIELD.full_name = ".ftcfg.test_cfgs.items" -TEST_CFGS_ITEMS_FIELD.number = 1 -TEST_CFGS_ITEMS_FIELD.index = 0 -TEST_CFGS_ITEMS_FIELD.label = 3 -TEST_CFGS_ITEMS_FIELD.has_default_value = false -TEST_CFGS_ITEMS_FIELD.default_value = {} -TEST_CFGS_ITEMS_FIELD.message_type = TEST_CFG -TEST_CFGS_ITEMS_FIELD.type = 11 -TEST_CFGS_ITEMS_FIELD.cpp_type = 10 - -TEST_CFGS.name = "test_cfgs" -TEST_CFGS.full_name = ".ftcfg.test_cfgs" -TEST_CFGS.nested_types = {} -TEST_CFGS.enum_types = {} -TEST_CFGS.fields = {TEST_CFGS_ITEMS_FIELD} -TEST_CFGS.is_extendable = false -TEST_CFGS.extensions = {} -ITEM_CFG_ID_FIELD.name = "id" -ITEM_CFG_ID_FIELD.full_name = ".ftcfg.item_cfg.id" -ITEM_CFG_ID_FIELD.number = 1 -ITEM_CFG_ID_FIELD.index = 0 -ITEM_CFG_ID_FIELD.label = 2 -ITEM_CFG_ID_FIELD.has_default_value = false -ITEM_CFG_ID_FIELD.default_value = 0 -ITEM_CFG_ID_FIELD.type = 13 -ITEM_CFG_ID_FIELD.cpp_type = 3 - -ITEM_CFG_ITEM_NAME_FIELD.name = "item_name" -ITEM_CFG_ITEM_NAME_FIELD.full_name = ".ftcfg.item_cfg.item_name" -ITEM_CFG_ITEM_NAME_FIELD.number = 2 -ITEM_CFG_ITEM_NAME_FIELD.index = 1 -ITEM_CFG_ITEM_NAME_FIELD.label = 2 -ITEM_CFG_ITEM_NAME_FIELD.has_default_value = false -ITEM_CFG_ITEM_NAME_FIELD.default_value = "" -ITEM_CFG_ITEM_NAME_FIELD.type = 9 -ITEM_CFG_ITEM_NAME_FIELD.cpp_type = 9 - -ITEM_CFG_FORMULA_ID_FIELD.name = "formula_id" -ITEM_CFG_FORMULA_ID_FIELD.full_name = ".ftcfg.item_cfg.formula_id" -ITEM_CFG_FORMULA_ID_FIELD.number = 3 -ITEM_CFG_FORMULA_ID_FIELD.index = 2 -ITEM_CFG_FORMULA_ID_FIELD.label = 2 -ITEM_CFG_FORMULA_ID_FIELD.has_default_value = false -ITEM_CFG_FORMULA_ID_FIELD.default_value = 0 -ITEM_CFG_FORMULA_ID_FIELD.type = 5 -ITEM_CFG_FORMULA_ID_FIELD.cpp_type = 1 - -ITEM_CFG_ITEM_DESC_FIELD.name = "item_desc" -ITEM_CFG_ITEM_DESC_FIELD.full_name = ".ftcfg.item_cfg.item_desc" -ITEM_CFG_ITEM_DESC_FIELD.number = 4 -ITEM_CFG_ITEM_DESC_FIELD.index = 3 -ITEM_CFG_ITEM_DESC_FIELD.label = 2 -ITEM_CFG_ITEM_DESC_FIELD.has_default_value = false -ITEM_CFG_ITEM_DESC_FIELD.default_value = "" -ITEM_CFG_ITEM_DESC_FIELD.type = 9 -ITEM_CFG_ITEM_DESC_FIELD.cpp_type = 9 - -ITEM_CFG_STACK_MAX_FIELD.name = "stack_max" -ITEM_CFG_STACK_MAX_FIELD.full_name = ".ftcfg.item_cfg.stack_max" -ITEM_CFG_STACK_MAX_FIELD.number = 5 -ITEM_CFG_STACK_MAX_FIELD.index = 4 -ITEM_CFG_STACK_MAX_FIELD.label = 2 -ITEM_CFG_STACK_MAX_FIELD.has_default_value = false -ITEM_CFG_STACK_MAX_FIELD.default_value = 0 -ITEM_CFG_STACK_MAX_FIELD.type = 5 -ITEM_CFG_STACK_MAX_FIELD.cpp_type = 1 - -ITEM_CFG_NEED_LEVEL_FIELD.name = "need_level" -ITEM_CFG_NEED_LEVEL_FIELD.full_name = ".ftcfg.item_cfg.need_level" -ITEM_CFG_NEED_LEVEL_FIELD.number = 6 -ITEM_CFG_NEED_LEVEL_FIELD.index = 5 -ITEM_CFG_NEED_LEVEL_FIELD.label = 2 -ITEM_CFG_NEED_LEVEL_FIELD.has_default_value = false -ITEM_CFG_NEED_LEVEL_FIELD.default_value = 0 -ITEM_CFG_NEED_LEVEL_FIELD.type = 5 -ITEM_CFG_NEED_LEVEL_FIELD.cpp_type = 1 - -ITEM_CFG_NEED_PROF_FIELD.name = "need_prof" -ITEM_CFG_NEED_PROF_FIELD.full_name = ".ftcfg.item_cfg.need_prof" -ITEM_CFG_NEED_PROF_FIELD.number = 7 -ITEM_CFG_NEED_PROF_FIELD.index = 6 -ITEM_CFG_NEED_PROF_FIELD.label = 2 -ITEM_CFG_NEED_PROF_FIELD.has_default_value = false -ITEM_CFG_NEED_PROF_FIELD.default_value = nil -ITEM_CFG_NEED_PROF_FIELD.enum_type = config_predefine_pb.EPROFTYPE -ITEM_CFG_NEED_PROF_FIELD.type = 14 -ITEM_CFG_NEED_PROF_FIELD.cpp_type = 8 - -ITEM_CFG_ITEM_TYPE_FIELD.name = "item_type" -ITEM_CFG_ITEM_TYPE_FIELD.full_name = ".ftcfg.item_cfg.item_type" -ITEM_CFG_ITEM_TYPE_FIELD.number = 8 -ITEM_CFG_ITEM_TYPE_FIELD.index = 7 -ITEM_CFG_ITEM_TYPE_FIELD.label = 2 -ITEM_CFG_ITEM_TYPE_FIELD.has_default_value = false -ITEM_CFG_ITEM_TYPE_FIELD.default_value = nil -ITEM_CFG_ITEM_TYPE_FIELD.enum_type = config_predefine_pb.EITEMTYPE -ITEM_CFG_ITEM_TYPE_FIELD.type = 14 -ITEM_CFG_ITEM_TYPE_FIELD.cpp_type = 8 - -ITEM_CFG_ITEM_SUB_TYPE_FIELD.name = "item_sub_type" -ITEM_CFG_ITEM_SUB_TYPE_FIELD.full_name = ".ftcfg.item_cfg.item_sub_type" -ITEM_CFG_ITEM_SUB_TYPE_FIELD.number = 9 -ITEM_CFG_ITEM_SUB_TYPE_FIELD.index = 8 -ITEM_CFG_ITEM_SUB_TYPE_FIELD.label = 2 -ITEM_CFG_ITEM_SUB_TYPE_FIELD.has_default_value = false -ITEM_CFG_ITEM_SUB_TYPE_FIELD.default_value = 0 -ITEM_CFG_ITEM_SUB_TYPE_FIELD.type = 5 -ITEM_CFG_ITEM_SUB_TYPE_FIELD.cpp_type = 1 - -ITEM_CFG_ITEM_PART_FIELD.name = "item_part" -ITEM_CFG_ITEM_PART_FIELD.full_name = ".ftcfg.item_cfg.item_part" -ITEM_CFG_ITEM_PART_FIELD.number = 10 -ITEM_CFG_ITEM_PART_FIELD.index = 9 -ITEM_CFG_ITEM_PART_FIELD.label = 3 -ITEM_CFG_ITEM_PART_FIELD.has_default_value = false -ITEM_CFG_ITEM_PART_FIELD.default_value = {} -ITEM_CFG_ITEM_PART_FIELD.type = 5 -ITEM_CFG_ITEM_PART_FIELD.cpp_type = 1 - -ITEM_CFG_DISPLAY_TYPE_FIELD.name = "display_type" -ITEM_CFG_DISPLAY_TYPE_FIELD.full_name = ".ftcfg.item_cfg.display_type" -ITEM_CFG_DISPLAY_TYPE_FIELD.number = 11 -ITEM_CFG_DISPLAY_TYPE_FIELD.index = 10 -ITEM_CFG_DISPLAY_TYPE_FIELD.label = 2 -ITEM_CFG_DISPLAY_TYPE_FIELD.has_default_value = false -ITEM_CFG_DISPLAY_TYPE_FIELD.default_value = 0 -ITEM_CFG_DISPLAY_TYPE_FIELD.type = 5 -ITEM_CFG_DISPLAY_TYPE_FIELD.cpp_type = 1 - -ITEM_CFG_ITEM_COLOR_FIELD.name = "item_color" -ITEM_CFG_ITEM_COLOR_FIELD.full_name = ".ftcfg.item_cfg.item_color" -ITEM_CFG_ITEM_COLOR_FIELD.number = 12 -ITEM_CFG_ITEM_COLOR_FIELD.index = 11 -ITEM_CFG_ITEM_COLOR_FIELD.label = 2 -ITEM_CFG_ITEM_COLOR_FIELD.has_default_value = false -ITEM_CFG_ITEM_COLOR_FIELD.default_value = nil -ITEM_CFG_ITEM_COLOR_FIELD.enum_type = config_predefine_pb.EITEMCOLOR -ITEM_CFG_ITEM_COLOR_FIELD.type = 14 -ITEM_CFG_ITEM_COLOR_FIELD.cpp_type = 8 - -ITEM_CFG_ITEM_ICON_FIELD.name = "item_icon" -ITEM_CFG_ITEM_ICON_FIELD.full_name = ".ftcfg.item_cfg.item_icon" -ITEM_CFG_ITEM_ICON_FIELD.number = 13 -ITEM_CFG_ITEM_ICON_FIELD.index = 12 -ITEM_CFG_ITEM_ICON_FIELD.label = 2 -ITEM_CFG_ITEM_ICON_FIELD.has_default_value = false -ITEM_CFG_ITEM_ICON_FIELD.default_value = "" -ITEM_CFG_ITEM_ICON_FIELD.type = 9 -ITEM_CFG_ITEM_ICON_FIELD.cpp_type = 9 - -ITEM_CFG_ITEM_MARK_FIELD.name = "item_mark" -ITEM_CFG_ITEM_MARK_FIELD.full_name = ".ftcfg.item_cfg.item_mark" -ITEM_CFG_ITEM_MARK_FIELD.number = 14 -ITEM_CFG_ITEM_MARK_FIELD.index = 13 -ITEM_CFG_ITEM_MARK_FIELD.label = 2 -ITEM_CFG_ITEM_MARK_FIELD.has_default_value = false -ITEM_CFG_ITEM_MARK_FIELD.default_value = 0 -ITEM_CFG_ITEM_MARK_FIELD.type = 5 -ITEM_CFG_ITEM_MARK_FIELD.cpp_type = 1 - -ITEM_CFG_OWN_MAX_FIELD.name = "own_max" -ITEM_CFG_OWN_MAX_FIELD.full_name = ".ftcfg.item_cfg.own_max" -ITEM_CFG_OWN_MAX_FIELD.number = 15 -ITEM_CFG_OWN_MAX_FIELD.index = 14 -ITEM_CFG_OWN_MAX_FIELD.label = 2 -ITEM_CFG_OWN_MAX_FIELD.has_default_value = false -ITEM_CFG_OWN_MAX_FIELD.default_value = 0 -ITEM_CFG_OWN_MAX_FIELD.type = 13 -ITEM_CFG_OWN_MAX_FIELD.cpp_type = 3 - -ITEM_CFG_COULD_TRADE_FIELD.name = "could_trade" -ITEM_CFG_COULD_TRADE_FIELD.full_name = ".ftcfg.item_cfg.could_trade" -ITEM_CFG_COULD_TRADE_FIELD.number = 16 -ITEM_CFG_COULD_TRADE_FIELD.index = 15 -ITEM_CFG_COULD_TRADE_FIELD.label = 2 -ITEM_CFG_COULD_TRADE_FIELD.has_default_value = false -ITEM_CFG_COULD_TRADE_FIELD.default_value = 0 -ITEM_CFG_COULD_TRADE_FIELD.type = 5 -ITEM_CFG_COULD_TRADE_FIELD.cpp_type = 1 - -ITEM_CFG_TRADE_COOLDOWN_FIELD.name = "trade_cooldown" -ITEM_CFG_TRADE_COOLDOWN_FIELD.full_name = ".ftcfg.item_cfg.trade_cooldown" -ITEM_CFG_TRADE_COOLDOWN_FIELD.number = 17 -ITEM_CFG_TRADE_COOLDOWN_FIELD.index = 16 -ITEM_CFG_TRADE_COOLDOWN_FIELD.label = 2 -ITEM_CFG_TRADE_COOLDOWN_FIELD.has_default_value = false -ITEM_CFG_TRADE_COOLDOWN_FIELD.default_value = 0 -ITEM_CFG_TRADE_COOLDOWN_FIELD.type = 5 -ITEM_CFG_TRADE_COOLDOWN_FIELD.cpp_type = 1 - -ITEM_CFG_COULD_SELL_FIELD.name = "could_sell" -ITEM_CFG_COULD_SELL_FIELD.full_name = ".ftcfg.item_cfg.could_sell" -ITEM_CFG_COULD_SELL_FIELD.number = 18 -ITEM_CFG_COULD_SELL_FIELD.index = 17 -ITEM_CFG_COULD_SELL_FIELD.label = 2 -ITEM_CFG_COULD_SELL_FIELD.has_default_value = false -ITEM_CFG_COULD_SELL_FIELD.default_value = 0 -ITEM_CFG_COULD_SELL_FIELD.type = 5 -ITEM_CFG_COULD_SELL_FIELD.cpp_type = 1 - -ITEM_CFG_SELL_COST_TYPE_FIELD.name = "sell_cost_type" -ITEM_CFG_SELL_COST_TYPE_FIELD.full_name = ".ftcfg.item_cfg.sell_cost_type" -ITEM_CFG_SELL_COST_TYPE_FIELD.number = 19 -ITEM_CFG_SELL_COST_TYPE_FIELD.index = 18 -ITEM_CFG_SELL_COST_TYPE_FIELD.label = 2 -ITEM_CFG_SELL_COST_TYPE_FIELD.has_default_value = false -ITEM_CFG_SELL_COST_TYPE_FIELD.default_value = 0 -ITEM_CFG_SELL_COST_TYPE_FIELD.type = 5 -ITEM_CFG_SELL_COST_TYPE_FIELD.cpp_type = 1 - -ITEM_CFG_SELL_COST_NUM_FIELD.name = "sell_cost_num" -ITEM_CFG_SELL_COST_NUM_FIELD.full_name = ".ftcfg.item_cfg.sell_cost_num" -ITEM_CFG_SELL_COST_NUM_FIELD.number = 20 -ITEM_CFG_SELL_COST_NUM_FIELD.index = 19 -ITEM_CFG_SELL_COST_NUM_FIELD.label = 2 -ITEM_CFG_SELL_COST_NUM_FIELD.has_default_value = false -ITEM_CFG_SELL_COST_NUM_FIELD.default_value = 0 -ITEM_CFG_SELL_COST_NUM_FIELD.type = 5 -ITEM_CFG_SELL_COST_NUM_FIELD.cpp_type = 1 - -ITEM_CFG_COULD_USE_FIELD.name = "could_use" -ITEM_CFG_COULD_USE_FIELD.full_name = ".ftcfg.item_cfg.could_use" -ITEM_CFG_COULD_USE_FIELD.number = 21 -ITEM_CFG_COULD_USE_FIELD.index = 20 -ITEM_CFG_COULD_USE_FIELD.label = 2 -ITEM_CFG_COULD_USE_FIELD.has_default_value = false -ITEM_CFG_COULD_USE_FIELD.default_value = 0 -ITEM_CFG_COULD_USE_FIELD.type = 5 -ITEM_CFG_COULD_USE_FIELD.cpp_type = 1 - -ITEM_CFG_COULD_WINDOWUSE_FIELD.name = "could_windowuse" -ITEM_CFG_COULD_WINDOWUSE_FIELD.full_name = ".ftcfg.item_cfg.could_windowuse" -ITEM_CFG_COULD_WINDOWUSE_FIELD.number = 22 -ITEM_CFG_COULD_WINDOWUSE_FIELD.index = 21 -ITEM_CFG_COULD_WINDOWUSE_FIELD.label = 2 -ITEM_CFG_COULD_WINDOWUSE_FIELD.has_default_value = false -ITEM_CFG_COULD_WINDOWUSE_FIELD.default_value = 0 -ITEM_CFG_COULD_WINDOWUSE_FIELD.type = 5 -ITEM_CFG_COULD_WINDOWUSE_FIELD.cpp_type = 1 - -ITEM_CFG_WINDOWUSE_MAX_FIELD.name = "windowuse_max" -ITEM_CFG_WINDOWUSE_MAX_FIELD.full_name = ".ftcfg.item_cfg.windowuse_max" -ITEM_CFG_WINDOWUSE_MAX_FIELD.number = 23 -ITEM_CFG_WINDOWUSE_MAX_FIELD.index = 22 -ITEM_CFG_WINDOWUSE_MAX_FIELD.label = 2 -ITEM_CFG_WINDOWUSE_MAX_FIELD.has_default_value = false -ITEM_CFG_WINDOWUSE_MAX_FIELD.default_value = 0 -ITEM_CFG_WINDOWUSE_MAX_FIELD.type = 5 -ITEM_CFG_WINDOWUSE_MAX_FIELD.cpp_type = 1 - -ITEM_CFG_COULD_SHOW_USE_FIELD.name = "could_show_use" -ITEM_CFG_COULD_SHOW_USE_FIELD.full_name = ".ftcfg.item_cfg.could_show_use" -ITEM_CFG_COULD_SHOW_USE_FIELD.number = 24 -ITEM_CFG_COULD_SHOW_USE_FIELD.index = 23 -ITEM_CFG_COULD_SHOW_USE_FIELD.label = 2 -ITEM_CFG_COULD_SHOW_USE_FIELD.has_default_value = false -ITEM_CFG_COULD_SHOW_USE_FIELD.default_value = 0 -ITEM_CFG_COULD_SHOW_USE_FIELD.type = 5 -ITEM_CFG_COULD_SHOW_USE_FIELD.cpp_type = 1 - -ITEM_CFG_USE_DELAY_FIELD.name = "use_delay" -ITEM_CFG_USE_DELAY_FIELD.full_name = ".ftcfg.item_cfg.use_delay" -ITEM_CFG_USE_DELAY_FIELD.number = 25 -ITEM_CFG_USE_DELAY_FIELD.index = 24 -ITEM_CFG_USE_DELAY_FIELD.label = 2 -ITEM_CFG_USE_DELAY_FIELD.has_default_value = false -ITEM_CFG_USE_DELAY_FIELD.default_value = 0 -ITEM_CFG_USE_DELAY_FIELD.type = 5 -ITEM_CFG_USE_DELAY_FIELD.cpp_type = 1 - -ITEM_CFG_COULD_BULK_USE_FIELD.name = "could_bulk_use" -ITEM_CFG_COULD_BULK_USE_FIELD.full_name = ".ftcfg.item_cfg.could_bulk_use" -ITEM_CFG_COULD_BULK_USE_FIELD.number = 26 -ITEM_CFG_COULD_BULK_USE_FIELD.index = 25 -ITEM_CFG_COULD_BULK_USE_FIELD.label = 2 -ITEM_CFG_COULD_BULK_USE_FIELD.has_default_value = false -ITEM_CFG_COULD_BULK_USE_FIELD.default_value = 0 -ITEM_CFG_COULD_BULK_USE_FIELD.type = 5 -ITEM_CFG_COULD_BULK_USE_FIELD.cpp_type = 1 - -ITEM_CFG_CD_GROUP_ID_FIELD.name = "cd_group_id" -ITEM_CFG_CD_GROUP_ID_FIELD.full_name = ".ftcfg.item_cfg.cd_group_id" -ITEM_CFG_CD_GROUP_ID_FIELD.number = 27 -ITEM_CFG_CD_GROUP_ID_FIELD.index = 26 -ITEM_CFG_CD_GROUP_ID_FIELD.label = 2 -ITEM_CFG_CD_GROUP_ID_FIELD.has_default_value = false -ITEM_CFG_CD_GROUP_ID_FIELD.default_value = 0 -ITEM_CFG_CD_GROUP_ID_FIELD.type = 5 -ITEM_CFG_CD_GROUP_ID_FIELD.cpp_type = 1 - -ITEM_CFG_CD_TIME_FIELD.name = "cd_time" -ITEM_CFG_CD_TIME_FIELD.full_name = ".ftcfg.item_cfg.cd_time" -ITEM_CFG_CD_TIME_FIELD.number = 28 -ITEM_CFG_CD_TIME_FIELD.index = 27 -ITEM_CFG_CD_TIME_FIELD.label = 2 -ITEM_CFG_CD_TIME_FIELD.has_default_value = false -ITEM_CFG_CD_TIME_FIELD.default_value = 0 -ITEM_CFG_CD_TIME_FIELD.type = 5 -ITEM_CFG_CD_TIME_FIELD.cpp_type = 1 - -ITEM_CFG_COULD_IN_STORAGE_FIELD.name = "could_in_storage" -ITEM_CFG_COULD_IN_STORAGE_FIELD.full_name = ".ftcfg.item_cfg.could_in_storage" -ITEM_CFG_COULD_IN_STORAGE_FIELD.number = 29 -ITEM_CFG_COULD_IN_STORAGE_FIELD.index = 28 -ITEM_CFG_COULD_IN_STORAGE_FIELD.label = 2 -ITEM_CFG_COULD_IN_STORAGE_FIELD.has_default_value = false -ITEM_CFG_COULD_IN_STORAGE_FIELD.default_value = 0 -ITEM_CFG_COULD_IN_STORAGE_FIELD.type = 5 -ITEM_CFG_COULD_IN_STORAGE_FIELD.cpp_type = 1 - -ITEM_CFG_COULD_OBTAIN_FIELD.name = "could_obtain" -ITEM_CFG_COULD_OBTAIN_FIELD.full_name = ".ftcfg.item_cfg.could_obtain" -ITEM_CFG_COULD_OBTAIN_FIELD.number = 30 -ITEM_CFG_COULD_OBTAIN_FIELD.index = 29 -ITEM_CFG_COULD_OBTAIN_FIELD.label = 2 -ITEM_CFG_COULD_OBTAIN_FIELD.has_default_value = false -ITEM_CFG_COULD_OBTAIN_FIELD.default_value = 0 -ITEM_CFG_COULD_OBTAIN_FIELD.type = 5 -ITEM_CFG_COULD_OBTAIN_FIELD.cpp_type = 1 - -ITEM_CFG_OBTAIN_LIST_FIELD.name = "obtain_list" -ITEM_CFG_OBTAIN_LIST_FIELD.full_name = ".ftcfg.item_cfg.obtain_list" -ITEM_CFG_OBTAIN_LIST_FIELD.number = 31 -ITEM_CFG_OBTAIN_LIST_FIELD.index = 30 -ITEM_CFG_OBTAIN_LIST_FIELD.label = 2 -ITEM_CFG_OBTAIN_LIST_FIELD.has_default_value = false -ITEM_CFG_OBTAIN_LIST_FIELD.default_value = 0 -ITEM_CFG_OBTAIN_LIST_FIELD.type = 5 -ITEM_CFG_OBTAIN_LIST_FIELD.cpp_type = 1 - -ITEM_CFG_PROP_EFFECT1_FIELD.name = "prop_effect1" -ITEM_CFG_PROP_EFFECT1_FIELD.full_name = ".ftcfg.item_cfg.prop_effect1" -ITEM_CFG_PROP_EFFECT1_FIELD.number = 32 -ITEM_CFG_PROP_EFFECT1_FIELD.index = 31 -ITEM_CFG_PROP_EFFECT1_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT1_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT1_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT1_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT1_FIELD.cpp_type = 9 - -ITEM_CFG_PROP_EFFECT2_FIELD.name = "prop_effect2" -ITEM_CFG_PROP_EFFECT2_FIELD.full_name = ".ftcfg.item_cfg.prop_effect2" -ITEM_CFG_PROP_EFFECT2_FIELD.number = 33 -ITEM_CFG_PROP_EFFECT2_FIELD.index = 32 -ITEM_CFG_PROP_EFFECT2_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT2_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT2_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT2_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT2_FIELD.cpp_type = 9 - -ITEM_CFG_PROP_EFFECT3_FIELD.name = "prop_effect3" -ITEM_CFG_PROP_EFFECT3_FIELD.full_name = ".ftcfg.item_cfg.prop_effect3" -ITEM_CFG_PROP_EFFECT3_FIELD.number = 34 -ITEM_CFG_PROP_EFFECT3_FIELD.index = 33 -ITEM_CFG_PROP_EFFECT3_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT3_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT3_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT3_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT3_FIELD.cpp_type = 9 - -ITEM_CFG_PROP_EFFECT4_FIELD.name = "prop_effect4" -ITEM_CFG_PROP_EFFECT4_FIELD.full_name = ".ftcfg.item_cfg.prop_effect4" -ITEM_CFG_PROP_EFFECT4_FIELD.number = 35 -ITEM_CFG_PROP_EFFECT4_FIELD.index = 34 -ITEM_CFG_PROP_EFFECT4_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT4_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT4_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT4_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT4_FIELD.cpp_type = 9 - -ITEM_CFG_PROP_EFFECT5_FIELD.name = "prop_effect5" -ITEM_CFG_PROP_EFFECT5_FIELD.full_name = ".ftcfg.item_cfg.prop_effect5" -ITEM_CFG_PROP_EFFECT5_FIELD.number = 36 -ITEM_CFG_PROP_EFFECT5_FIELD.index = 35 -ITEM_CFG_PROP_EFFECT5_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT5_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT5_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT5_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT5_FIELD.cpp_type = 9 - -ITEM_CFG_PROP_EFFECT6_FIELD.name = "prop_effect6" -ITEM_CFG_PROP_EFFECT6_FIELD.full_name = ".ftcfg.item_cfg.prop_effect6" -ITEM_CFG_PROP_EFFECT6_FIELD.number = 37 -ITEM_CFG_PROP_EFFECT6_FIELD.index = 36 -ITEM_CFG_PROP_EFFECT6_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT6_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT6_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT6_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT6_FIELD.cpp_type = 9 - -ITEM_CFG_PROP_EFFECT7_FIELD.name = "prop_effect7" -ITEM_CFG_PROP_EFFECT7_FIELD.full_name = ".ftcfg.item_cfg.prop_effect7" -ITEM_CFG_PROP_EFFECT7_FIELD.number = 38 -ITEM_CFG_PROP_EFFECT7_FIELD.index = 37 -ITEM_CFG_PROP_EFFECT7_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT7_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT7_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT7_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT7_FIELD.cpp_type = 9 - -ITEM_CFG_PROP_EFFECT8_FIELD.name = "prop_effect8" -ITEM_CFG_PROP_EFFECT8_FIELD.full_name = ".ftcfg.item_cfg.prop_effect8" -ITEM_CFG_PROP_EFFECT8_FIELD.number = 39 -ITEM_CFG_PROP_EFFECT8_FIELD.index = 38 -ITEM_CFG_PROP_EFFECT8_FIELD.label = 2 -ITEM_CFG_PROP_EFFECT8_FIELD.has_default_value = false -ITEM_CFG_PROP_EFFECT8_FIELD.default_value = "" -ITEM_CFG_PROP_EFFECT8_FIELD.type = 9 -ITEM_CFG_PROP_EFFECT8_FIELD.cpp_type = 9 - -ITEM_CFG_PRICE_GOLD_FIELD.name = "price_gold" -ITEM_CFG_PRICE_GOLD_FIELD.full_name = ".ftcfg.item_cfg.price_gold" -ITEM_CFG_PRICE_GOLD_FIELD.number = 40 -ITEM_CFG_PRICE_GOLD_FIELD.index = 39 -ITEM_CFG_PRICE_GOLD_FIELD.label = 2 -ITEM_CFG_PRICE_GOLD_FIELD.has_default_value = false -ITEM_CFG_PRICE_GOLD_FIELD.default_value = 0 -ITEM_CFG_PRICE_GOLD_FIELD.type = 13 -ITEM_CFG_PRICE_GOLD_FIELD.cpp_type = 3 - -ITEM_CFG_LUCK_VALUE_FIELD.name = "luck_value" -ITEM_CFG_LUCK_VALUE_FIELD.full_name = ".ftcfg.item_cfg.luck_value" -ITEM_CFG_LUCK_VALUE_FIELD.number = 41 -ITEM_CFG_LUCK_VALUE_FIELD.index = 40 -ITEM_CFG_LUCK_VALUE_FIELD.label = 2 -ITEM_CFG_LUCK_VALUE_FIELD.has_default_value = false -ITEM_CFG_LUCK_VALUE_FIELD.default_value = 0 -ITEM_CFG_LUCK_VALUE_FIELD.type = 5 -ITEM_CFG_LUCK_VALUE_FIELD.cpp_type = 1 - -ITEM_CFG_POP_VALUE_FIELD.name = "pop_value" -ITEM_CFG_POP_VALUE_FIELD.full_name = ".ftcfg.item_cfg.pop_value" -ITEM_CFG_POP_VALUE_FIELD.number = 42 -ITEM_CFG_POP_VALUE_FIELD.index = 41 -ITEM_CFG_POP_VALUE_FIELD.label = 2 -ITEM_CFG_POP_VALUE_FIELD.has_default_value = false -ITEM_CFG_POP_VALUE_FIELD.default_value = 0 -ITEM_CFG_POP_VALUE_FIELD.type = 13 -ITEM_CFG_POP_VALUE_FIELD.cpp_type = 3 - -ITEM_CFG_COMBAT_POINT_FIELD.name = "combat_point" -ITEM_CFG_COMBAT_POINT_FIELD.full_name = ".ftcfg.item_cfg.combat_point" -ITEM_CFG_COMBAT_POINT_FIELD.number = 43 -ITEM_CFG_COMBAT_POINT_FIELD.index = 42 -ITEM_CFG_COMBAT_POINT_FIELD.label = 2 -ITEM_CFG_COMBAT_POINT_FIELD.has_default_value = false -ITEM_CFG_COMBAT_POINT_FIELD.default_value = 0 -ITEM_CFG_COMBAT_POINT_FIELD.type = 13 -ITEM_CFG_COMBAT_POINT_FIELD.cpp_type = 3 - -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.name = "effect_timelimited" -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.full_name = ".ftcfg.item_cfg.effect_timelimited" -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.number = 44 -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.index = 43 -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.label = 2 -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.has_default_value = false -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.default_value = 0 -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.type = 5 -ITEM_CFG_EFFECT_TIMELIMITED_FIELD.cpp_type = 1 - -ITEM_CFG_DROP_ID_FIELD.name = "drop_id" -ITEM_CFG_DROP_ID_FIELD.full_name = ".ftcfg.item_cfg.drop_id" -ITEM_CFG_DROP_ID_FIELD.number = 45 -ITEM_CFG_DROP_ID_FIELD.index = 44 -ITEM_CFG_DROP_ID_FIELD.label = 2 -ITEM_CFG_DROP_ID_FIELD.has_default_value = false -ITEM_CFG_DROP_ID_FIELD.default_value = 0 -ITEM_CFG_DROP_ID_FIELD.type = 13 -ITEM_CFG_DROP_ID_FIELD.cpp_type = 3 - -ITEM_CFG_COST_TYPE_FIELD.name = "cost_type" -ITEM_CFG_COST_TYPE_FIELD.full_name = ".ftcfg.item_cfg.cost_type" -ITEM_CFG_COST_TYPE_FIELD.number = 46 -ITEM_CFG_COST_TYPE_FIELD.index = 45 -ITEM_CFG_COST_TYPE_FIELD.label = 3 -ITEM_CFG_COST_TYPE_FIELD.has_default_value = false -ITEM_CFG_COST_TYPE_FIELD.default_value = {} -ITEM_CFG_COST_TYPE_FIELD.type = 13 -ITEM_CFG_COST_TYPE_FIELD.cpp_type = 3 - -ITEM_CFG_COST_COUNT_FIELD.name = "cost_count" -ITEM_CFG_COST_COUNT_FIELD.full_name = ".ftcfg.item_cfg.cost_count" -ITEM_CFG_COST_COUNT_FIELD.number = 47 -ITEM_CFG_COST_COUNT_FIELD.index = 46 -ITEM_CFG_COST_COUNT_FIELD.label = 3 -ITEM_CFG_COST_COUNT_FIELD.has_default_value = false -ITEM_CFG_COST_COUNT_FIELD.default_value = {} -ITEM_CFG_COST_COUNT_FIELD.type = 13 -ITEM_CFG_COST_COUNT_FIELD.cpp_type = 3 - -ITEM_CFG_HOLE_NUM_FIELD.name = "hole_num" -ITEM_CFG_HOLE_NUM_FIELD.full_name = ".ftcfg.item_cfg.hole_num" -ITEM_CFG_HOLE_NUM_FIELD.number = 48 -ITEM_CFG_HOLE_NUM_FIELD.index = 47 -ITEM_CFG_HOLE_NUM_FIELD.label = 2 -ITEM_CFG_HOLE_NUM_FIELD.has_default_value = false -ITEM_CFG_HOLE_NUM_FIELD.default_value = 0 -ITEM_CFG_HOLE_NUM_FIELD.type = 5 -ITEM_CFG_HOLE_NUM_FIELD.cpp_type = 1 - -ITEM_CFG_INLAY_TYPE_FIELD.name = "inlay_type" -ITEM_CFG_INLAY_TYPE_FIELD.full_name = ".ftcfg.item_cfg.inlay_type" -ITEM_CFG_INLAY_TYPE_FIELD.number = 49 -ITEM_CFG_INLAY_TYPE_FIELD.index = 48 -ITEM_CFG_INLAY_TYPE_FIELD.label = 3 -ITEM_CFG_INLAY_TYPE_FIELD.has_default_value = false -ITEM_CFG_INLAY_TYPE_FIELD.default_value = {} -ITEM_CFG_INLAY_TYPE_FIELD.type = 5 -ITEM_CFG_INLAY_TYPE_FIELD.cpp_type = 1 - -ITEM_CFG_INLAY_LEVEL_FIELD.name = "inlay_level" -ITEM_CFG_INLAY_LEVEL_FIELD.full_name = ".ftcfg.item_cfg.inlay_level" -ITEM_CFG_INLAY_LEVEL_FIELD.number = 50 -ITEM_CFG_INLAY_LEVEL_FIELD.index = 49 -ITEM_CFG_INLAY_LEVEL_FIELD.label = 2 -ITEM_CFG_INLAY_LEVEL_FIELD.has_default_value = false -ITEM_CFG_INLAY_LEVEL_FIELD.default_value = 0 -ITEM_CFG_INLAY_LEVEL_FIELD.type = 5 -ITEM_CFG_INLAY_LEVEL_FIELD.cpp_type = 1 - -ITEM_CFG.name = "item_cfg" -ITEM_CFG.full_name = ".ftcfg.item_cfg" -ITEM_CFG.nested_types = {} -ITEM_CFG.enum_types = {} -ITEM_CFG.fields = {ITEM_CFG_ID_FIELD, ITEM_CFG_ITEM_NAME_FIELD, ITEM_CFG_FORMULA_ID_FIELD, ITEM_CFG_ITEM_DESC_FIELD, ITEM_CFG_STACK_MAX_FIELD, ITEM_CFG_NEED_LEVEL_FIELD, ITEM_CFG_NEED_PROF_FIELD, ITEM_CFG_ITEM_TYPE_FIELD, ITEM_CFG_ITEM_SUB_TYPE_FIELD, ITEM_CFG_ITEM_PART_FIELD, ITEM_CFG_DISPLAY_TYPE_FIELD, ITEM_CFG_ITEM_COLOR_FIELD, ITEM_CFG_ITEM_ICON_FIELD, ITEM_CFG_ITEM_MARK_FIELD, ITEM_CFG_OWN_MAX_FIELD, ITEM_CFG_COULD_TRADE_FIELD, ITEM_CFG_TRADE_COOLDOWN_FIELD, ITEM_CFG_COULD_SELL_FIELD, ITEM_CFG_SELL_COST_TYPE_FIELD, ITEM_CFG_SELL_COST_NUM_FIELD, ITEM_CFG_COULD_USE_FIELD, ITEM_CFG_COULD_WINDOWUSE_FIELD, ITEM_CFG_WINDOWUSE_MAX_FIELD, ITEM_CFG_COULD_SHOW_USE_FIELD, ITEM_CFG_USE_DELAY_FIELD, ITEM_CFG_COULD_BULK_USE_FIELD, ITEM_CFG_CD_GROUP_ID_FIELD, ITEM_CFG_CD_TIME_FIELD, ITEM_CFG_COULD_IN_STORAGE_FIELD, ITEM_CFG_COULD_OBTAIN_FIELD, ITEM_CFG_OBTAIN_LIST_FIELD, ITEM_CFG_PROP_EFFECT1_FIELD, ITEM_CFG_PROP_EFFECT2_FIELD, ITEM_CFG_PROP_EFFECT3_FIELD, ITEM_CFG_PROP_EFFECT4_FIELD, ITEM_CFG_PROP_EFFECT5_FIELD, ITEM_CFG_PROP_EFFECT6_FIELD, ITEM_CFG_PROP_EFFECT7_FIELD, ITEM_CFG_PROP_EFFECT8_FIELD, ITEM_CFG_PRICE_GOLD_FIELD, ITEM_CFG_LUCK_VALUE_FIELD, ITEM_CFG_POP_VALUE_FIELD, ITEM_CFG_COMBAT_POINT_FIELD, ITEM_CFG_EFFECT_TIMELIMITED_FIELD, ITEM_CFG_DROP_ID_FIELD, ITEM_CFG_COST_TYPE_FIELD, ITEM_CFG_COST_COUNT_FIELD, ITEM_CFG_HOLE_NUM_FIELD, ITEM_CFG_INLAY_TYPE_FIELD, ITEM_CFG_INLAY_LEVEL_FIELD} -ITEM_CFG.is_extendable = false -ITEM_CFG.extensions = {} -ITEM_CFGS_ITEMS_FIELD.name = "items" -ITEM_CFGS_ITEMS_FIELD.full_name = ".ftcfg.item_cfgs.items" -ITEM_CFGS_ITEMS_FIELD.number = 1 -ITEM_CFGS_ITEMS_FIELD.index = 0 -ITEM_CFGS_ITEMS_FIELD.label = 3 -ITEM_CFGS_ITEMS_FIELD.has_default_value = false -ITEM_CFGS_ITEMS_FIELD.default_value = {} -ITEM_CFGS_ITEMS_FIELD.message_type = ITEM_CFG -ITEM_CFGS_ITEMS_FIELD.type = 11 -ITEM_CFGS_ITEMS_FIELD.cpp_type = 10 - -ITEM_CFGS.name = "item_cfgs" -ITEM_CFGS.full_name = ".ftcfg.item_cfgs" -ITEM_CFGS.nested_types = {} -ITEM_CFGS.enum_types = {} -ITEM_CFGS.fields = {ITEM_CFGS_ITEMS_FIELD} -ITEM_CFGS.is_extendable = false -ITEM_CFGS.extensions = {} -FIGHTCRIME_CFG_ID_FIELD.name = "id" -FIGHTCRIME_CFG_ID_FIELD.full_name = ".ftcfg.fightcrime_cfg.id" -FIGHTCRIME_CFG_ID_FIELD.number = 1 -FIGHTCRIME_CFG_ID_FIELD.index = 0 -FIGHTCRIME_CFG_ID_FIELD.label = 2 -FIGHTCRIME_CFG_ID_FIELD.has_default_value = false -FIGHTCRIME_CFG_ID_FIELD.default_value = 0 -FIGHTCRIME_CFG_ID_FIELD.type = 5 -FIGHTCRIME_CFG_ID_FIELD.cpp_type = 1 - -FIGHTCRIME_CFG_VALUE_FIELD.name = "value" -FIGHTCRIME_CFG_VALUE_FIELD.full_name = ".ftcfg.fightcrime_cfg.value" -FIGHTCRIME_CFG_VALUE_FIELD.number = 2 -FIGHTCRIME_CFG_VALUE_FIELD.index = 1 -FIGHTCRIME_CFG_VALUE_FIELD.label = 2 -FIGHTCRIME_CFG_VALUE_FIELD.has_default_value = false -FIGHTCRIME_CFG_VALUE_FIELD.default_value = 0 -FIGHTCRIME_CFG_VALUE_FIELD.type = 5 -FIGHTCRIME_CFG_VALUE_FIELD.cpp_type = 1 - -FIGHTCRIME_CFG_COLOR_FIELD.name = "color" -FIGHTCRIME_CFG_COLOR_FIELD.full_name = ".ftcfg.fightcrime_cfg.color" -FIGHTCRIME_CFG_COLOR_FIELD.number = 3 -FIGHTCRIME_CFG_COLOR_FIELD.index = 2 -FIGHTCRIME_CFG_COLOR_FIELD.label = 2 -FIGHTCRIME_CFG_COLOR_FIELD.has_default_value = false -FIGHTCRIME_CFG_COLOR_FIELD.default_value = 0 -FIGHTCRIME_CFG_COLOR_FIELD.type = 5 -FIGHTCRIME_CFG_COLOR_FIELD.cpp_type = 1 - -FIGHTCRIME_CFG_IMGBG_FIELD.name = "imgBg" -FIGHTCRIME_CFG_IMGBG_FIELD.full_name = ".ftcfg.fightcrime_cfg.imgBg" -FIGHTCRIME_CFG_IMGBG_FIELD.number = 4 -FIGHTCRIME_CFG_IMGBG_FIELD.index = 3 -FIGHTCRIME_CFG_IMGBG_FIELD.label = 2 -FIGHTCRIME_CFG_IMGBG_FIELD.has_default_value = false -FIGHTCRIME_CFG_IMGBG_FIELD.default_value = 0 -FIGHTCRIME_CFG_IMGBG_FIELD.type = 5 -FIGHTCRIME_CFG_IMGBG_FIELD.cpp_type = 1 - -FIGHTCRIME_CFG_IMGICON_FIELD.name = "imgIcon" -FIGHTCRIME_CFG_IMGICON_FIELD.full_name = ".ftcfg.fightcrime_cfg.imgIcon" -FIGHTCRIME_CFG_IMGICON_FIELD.number = 5 -FIGHTCRIME_CFG_IMGICON_FIELD.index = 4 -FIGHTCRIME_CFG_IMGICON_FIELD.label = 2 -FIGHTCRIME_CFG_IMGICON_FIELD.has_default_value = false -FIGHTCRIME_CFG_IMGICON_FIELD.default_value = 0 -FIGHTCRIME_CFG_IMGICON_FIELD.type = 5 -FIGHTCRIME_CFG_IMGICON_FIELD.cpp_type = 1 - -FIGHTCRIME_CFG_IMGFRAME_FIELD.name = "imgFrame" -FIGHTCRIME_CFG_IMGFRAME_FIELD.full_name = ".ftcfg.fightcrime_cfg.imgFrame" -FIGHTCRIME_CFG_IMGFRAME_FIELD.number = 6 -FIGHTCRIME_CFG_IMGFRAME_FIELD.index = 5 -FIGHTCRIME_CFG_IMGFRAME_FIELD.label = 2 -FIGHTCRIME_CFG_IMGFRAME_FIELD.has_default_value = false -FIGHTCRIME_CFG_IMGFRAME_FIELD.default_value = 0 -FIGHTCRIME_CFG_IMGFRAME_FIELD.type = 5 -FIGHTCRIME_CFG_IMGFRAME_FIELD.cpp_type = 1 - -FIGHTCRIME_CFG_IMGNUMBER_FIELD.name = "imgNumber" -FIGHTCRIME_CFG_IMGNUMBER_FIELD.full_name = ".ftcfg.fightcrime_cfg.imgNumber" -FIGHTCRIME_CFG_IMGNUMBER_FIELD.number = 7 -FIGHTCRIME_CFG_IMGNUMBER_FIELD.index = 6 -FIGHTCRIME_CFG_IMGNUMBER_FIELD.label = 2 -FIGHTCRIME_CFG_IMGNUMBER_FIELD.has_default_value = false -FIGHTCRIME_CFG_IMGNUMBER_FIELD.default_value = 0 -FIGHTCRIME_CFG_IMGNUMBER_FIELD.type = 5 -FIGHTCRIME_CFG_IMGNUMBER_FIELD.cpp_type = 1 - -FIGHTCRIME_CFG.name = "fightcrime_cfg" -FIGHTCRIME_CFG.full_name = ".ftcfg.fightcrime_cfg" -FIGHTCRIME_CFG.nested_types = {} -FIGHTCRIME_CFG.enum_types = {} -FIGHTCRIME_CFG.fields = {FIGHTCRIME_CFG_ID_FIELD, FIGHTCRIME_CFG_VALUE_FIELD, FIGHTCRIME_CFG_COLOR_FIELD, FIGHTCRIME_CFG_IMGBG_FIELD, FIGHTCRIME_CFG_IMGICON_FIELD, FIGHTCRIME_CFG_IMGFRAME_FIELD, FIGHTCRIME_CFG_IMGNUMBER_FIELD} -FIGHTCRIME_CFG.is_extendable = false -FIGHTCRIME_CFG.extensions = {} -FIGHTCRIME_CFGS_ITEMS_FIELD.name = "items" -FIGHTCRIME_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fightcrime_cfgs.items" -FIGHTCRIME_CFGS_ITEMS_FIELD.number = 1 -FIGHTCRIME_CFGS_ITEMS_FIELD.index = 0 -FIGHTCRIME_CFGS_ITEMS_FIELD.label = 3 -FIGHTCRIME_CFGS_ITEMS_FIELD.has_default_value = false -FIGHTCRIME_CFGS_ITEMS_FIELD.default_value = {} -FIGHTCRIME_CFGS_ITEMS_FIELD.message_type = FIGHTCRIME_CFG -FIGHTCRIME_CFGS_ITEMS_FIELD.type = 11 -FIGHTCRIME_CFGS_ITEMS_FIELD.cpp_type = 10 - -FIGHTCRIME_CFGS.name = "fightcrime_cfgs" -FIGHTCRIME_CFGS.full_name = ".ftcfg.fightcrime_cfgs" -FIGHTCRIME_CFGS.nested_types = {} -FIGHTCRIME_CFGS.enum_types = {} -FIGHTCRIME_CFGS.fields = {FIGHTCRIME_CFGS_ITEMS_FIELD} -FIGHTCRIME_CFGS.is_extendable = false -FIGHTCRIME_CFGS.extensions = {} -FIGHTCIRME_REWARD_CFG_ID_FIELD.name = "id" -FIGHTCIRME_REWARD_CFG_ID_FIELD.full_name = ".ftcfg.fightcirme_reward_cfg.id" -FIGHTCIRME_REWARD_CFG_ID_FIELD.number = 1 -FIGHTCIRME_REWARD_CFG_ID_FIELD.index = 0 -FIGHTCIRME_REWARD_CFG_ID_FIELD.label = 2 -FIGHTCIRME_REWARD_CFG_ID_FIELD.has_default_value = false -FIGHTCIRME_REWARD_CFG_ID_FIELD.default_value = 0 -FIGHTCIRME_REWARD_CFG_ID_FIELD.type = 5 -FIGHTCIRME_REWARD_CFG_ID_FIELD.cpp_type = 1 - -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.name = "items" -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.full_name = ".ftcfg.fightcirme_reward_cfg.items" -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.number = 2 -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.index = 1 -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.label = 3 -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.has_default_value = false -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.default_value = {} -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.type = 13 -FIGHTCIRME_REWARD_CFG_ITEMS_FIELD.cpp_type = 3 - -FIGHTCIRME_REWARD_CFG.name = "fightcirme_reward_cfg" -FIGHTCIRME_REWARD_CFG.full_name = ".ftcfg.fightcirme_reward_cfg" -FIGHTCIRME_REWARD_CFG.nested_types = {} -FIGHTCIRME_REWARD_CFG.enum_types = {} -FIGHTCIRME_REWARD_CFG.fields = {FIGHTCIRME_REWARD_CFG_ID_FIELD, FIGHTCIRME_REWARD_CFG_ITEMS_FIELD} -FIGHTCIRME_REWARD_CFG.is_extendable = false -FIGHTCIRME_REWARD_CFG.extensions = {} -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.name = "items" -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fightcirme_reward_cfgs.items" -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.number = 1 -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.index = 0 -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.label = 3 -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.has_default_value = false -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.default_value = {} -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.message_type = FIGHTCIRME_REWARD_CFG -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.type = 11 -FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -FIGHTCIRME_REWARD_CFGS.name = "fightcirme_reward_cfgs" -FIGHTCIRME_REWARD_CFGS.full_name = ".ftcfg.fightcirme_reward_cfgs" -FIGHTCIRME_REWARD_CFGS.nested_types = {} -FIGHTCIRME_REWARD_CFGS.enum_types = {} -FIGHTCIRME_REWARD_CFGS.fields = {FIGHTCIRME_REWARD_CFGS_ITEMS_FIELD} -FIGHTCIRME_REWARD_CFGS.is_extendable = false -FIGHTCIRME_REWARD_CFGS.extensions = {} -FIGHTCRIME_MONSTER_CFG_ID_FIELD.name = "id" -FIGHTCRIME_MONSTER_CFG_ID_FIELD.full_name = ".ftcfg.fightcrime_monster_cfg.id" -FIGHTCRIME_MONSTER_CFG_ID_FIELD.number = 1 -FIGHTCRIME_MONSTER_CFG_ID_FIELD.index = 0 -FIGHTCRIME_MONSTER_CFG_ID_FIELD.label = 2 -FIGHTCRIME_MONSTER_CFG_ID_FIELD.has_default_value = false -FIGHTCRIME_MONSTER_CFG_ID_FIELD.default_value = 0 -FIGHTCRIME_MONSTER_CFG_ID_FIELD.type = 5 -FIGHTCRIME_MONSTER_CFG_ID_FIELD.cpp_type = 1 - -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.name = "monsters" -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.full_name = ".ftcfg.fightcrime_monster_cfg.monsters" -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.number = 2 -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.index = 1 -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.label = 3 -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.has_default_value = false -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.default_value = {} -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.type = 13 -FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD.cpp_type = 3 - -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.name = "icons" -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.full_name = ".ftcfg.fightcrime_monster_cfg.icons" -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.number = 3 -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.index = 2 -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.label = 3 -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.has_default_value = false -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.default_value = {} -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.type = 13 -FIGHTCRIME_MONSTER_CFG_ICONS_FIELD.cpp_type = 3 - -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.name = "time" -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.full_name = ".ftcfg.fightcrime_monster_cfg.time" -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.number = 4 -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.index = 3 -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.label = 2 -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.has_default_value = false -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.default_value = 0.0 -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.type = 2 -FIGHTCRIME_MONSTER_CFG_TIME_FIELD.cpp_type = 6 - -FIGHTCRIME_MONSTER_CFG.name = "fightcrime_monster_cfg" -FIGHTCRIME_MONSTER_CFG.full_name = ".ftcfg.fightcrime_monster_cfg" -FIGHTCRIME_MONSTER_CFG.nested_types = {} -FIGHTCRIME_MONSTER_CFG.enum_types = {} -FIGHTCRIME_MONSTER_CFG.fields = {FIGHTCRIME_MONSTER_CFG_ID_FIELD, FIGHTCRIME_MONSTER_CFG_MONSTERS_FIELD, FIGHTCRIME_MONSTER_CFG_ICONS_FIELD, FIGHTCRIME_MONSTER_CFG_TIME_FIELD} -FIGHTCRIME_MONSTER_CFG.is_extendable = false -FIGHTCRIME_MONSTER_CFG.extensions = {} -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.name = "items" -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fightcrime_monster_cfgs.items" -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.number = 1 -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.index = 0 -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.label = 3 -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.has_default_value = false -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.default_value = {} -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.message_type = FIGHTCRIME_MONSTER_CFG -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.type = 11 -FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD.cpp_type = 10 - -FIGHTCRIME_MONSTER_CFGS.name = "fightcrime_monster_cfgs" -FIGHTCRIME_MONSTER_CFGS.full_name = ".ftcfg.fightcrime_monster_cfgs" -FIGHTCRIME_MONSTER_CFGS.nested_types = {} -FIGHTCRIME_MONSTER_CFGS.enum_types = {} -FIGHTCRIME_MONSTER_CFGS.fields = {FIGHTCRIME_MONSTER_CFGS_ITEMS_FIELD} -FIGHTCRIME_MONSTER_CFGS.is_extendable = false -FIGHTCRIME_MONSTER_CFGS.extensions = {} -EQUIP_CFG_ID_FIELD.name = "id" -EQUIP_CFG_ID_FIELD.full_name = ".ftcfg.equip_cfg.id" -EQUIP_CFG_ID_FIELD.number = 1 -EQUIP_CFG_ID_FIELD.index = 0 -EQUIP_CFG_ID_FIELD.label = 2 -EQUIP_CFG_ID_FIELD.has_default_value = false -EQUIP_CFG_ID_FIELD.default_value = 0 -EQUIP_CFG_ID_FIELD.type = 13 -EQUIP_CFG_ID_FIELD.cpp_type = 3 - -EQUIP_CFG_UPGRADE_ID_FIELD.name = "upgrade_id" -EQUIP_CFG_UPGRADE_ID_FIELD.full_name = ".ftcfg.equip_cfg.upgrade_id" -EQUIP_CFG_UPGRADE_ID_FIELD.number = 2 -EQUIP_CFG_UPGRADE_ID_FIELD.index = 1 -EQUIP_CFG_UPGRADE_ID_FIELD.label = 2 -EQUIP_CFG_UPGRADE_ID_FIELD.has_default_value = false -EQUIP_CFG_UPGRADE_ID_FIELD.default_value = 0 -EQUIP_CFG_UPGRADE_ID_FIELD.type = 13 -EQUIP_CFG_UPGRADE_ID_FIELD.cpp_type = 3 - -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.name = "upgrade_material" -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.full_name = ".ftcfg.equip_cfg.upgrade_material" -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.number = 3 -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.index = 2 -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.label = 3 -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.has_default_value = false -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.default_value = {} -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.type = 13 -EQUIP_CFG_UPGRADE_MATERIAL_FIELD.cpp_type = 3 - -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.name = "upgrade_req_level" -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.full_name = ".ftcfg.equip_cfg.upgrade_req_level" -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.number = 4 -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.index = 3 -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.label = 2 -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.has_default_value = false -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.default_value = 0 -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.type = 5 -EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD.cpp_type = 1 - -EQUIP_CFG_REFINE_MATERIAL_FIELD.name = "refine_material" -EQUIP_CFG_REFINE_MATERIAL_FIELD.full_name = ".ftcfg.equip_cfg.refine_material" -EQUIP_CFG_REFINE_MATERIAL_FIELD.number = 5 -EQUIP_CFG_REFINE_MATERIAL_FIELD.index = 4 -EQUIP_CFG_REFINE_MATERIAL_FIELD.label = 2 -EQUIP_CFG_REFINE_MATERIAL_FIELD.has_default_value = false -EQUIP_CFG_REFINE_MATERIAL_FIELD.default_value = 0 -EQUIP_CFG_REFINE_MATERIAL_FIELD.type = 13 -EQUIP_CFG_REFINE_MATERIAL_FIELD.cpp_type = 3 - -EQUIP_CFG_REFINE_COUNT_FIELD.name = "refine_count" -EQUIP_CFG_REFINE_COUNT_FIELD.full_name = ".ftcfg.equip_cfg.refine_count" -EQUIP_CFG_REFINE_COUNT_FIELD.number = 6 -EQUIP_CFG_REFINE_COUNT_FIELD.index = 5 -EQUIP_CFG_REFINE_COUNT_FIELD.label = 2 -EQUIP_CFG_REFINE_COUNT_FIELD.has_default_value = false -EQUIP_CFG_REFINE_COUNT_FIELD.default_value = 0 -EQUIP_CFG_REFINE_COUNT_FIELD.type = 5 -EQUIP_CFG_REFINE_COUNT_FIELD.cpp_type = 1 - -EQUIP_CFG_REFINE_COST_FIELD.name = "refine_cost" -EQUIP_CFG_REFINE_COST_FIELD.full_name = ".ftcfg.equip_cfg.refine_cost" -EQUIP_CFG_REFINE_COST_FIELD.number = 7 -EQUIP_CFG_REFINE_COST_FIELD.index = 6 -EQUIP_CFG_REFINE_COST_FIELD.label = 2 -EQUIP_CFG_REFINE_COST_FIELD.has_default_value = false -EQUIP_CFG_REFINE_COST_FIELD.default_value = 0 -EQUIP_CFG_REFINE_COST_FIELD.type = 5 -EQUIP_CFG_REFINE_COST_FIELD.cpp_type = 1 - -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.name = "active_strength_material" -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.full_name = ".ftcfg.equip_cfg.active_strength_material" -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.number = 8 -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.index = 7 -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.label = 2 -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.has_default_value = false -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.default_value = 0 -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.type = 13 -EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD.cpp_type = 3 - -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.name = "active_strength_count" -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.full_name = ".ftcfg.equip_cfg.active_strength_count" -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.number = 9 -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.index = 8 -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.label = 2 -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.has_default_value = false -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.default_value = 0 -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.type = 5 -EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD.cpp_type = 1 - -EQUIP_CFG_ACTIVE_COST_FIELD.name = "active_cost" -EQUIP_CFG_ACTIVE_COST_FIELD.full_name = ".ftcfg.equip_cfg.active_cost" -EQUIP_CFG_ACTIVE_COST_FIELD.number = 10 -EQUIP_CFG_ACTIVE_COST_FIELD.index = 9 -EQUIP_CFG_ACTIVE_COST_FIELD.label = 2 -EQUIP_CFG_ACTIVE_COST_FIELD.has_default_value = false -EQUIP_CFG_ACTIVE_COST_FIELD.default_value = 0 -EQUIP_CFG_ACTIVE_COST_FIELD.type = 5 -EQUIP_CFG_ACTIVE_COST_FIELD.cpp_type = 1 - -EQUIP_CFG.name = "equip_cfg" -EQUIP_CFG.full_name = ".ftcfg.equip_cfg" -EQUIP_CFG.nested_types = {} -EQUIP_CFG.enum_types = {} -EQUIP_CFG.fields = {EQUIP_CFG_ID_FIELD, EQUIP_CFG_UPGRADE_ID_FIELD, EQUIP_CFG_UPGRADE_MATERIAL_FIELD, EQUIP_CFG_UPGRADE_REQ_LEVEL_FIELD, EQUIP_CFG_REFINE_MATERIAL_FIELD, EQUIP_CFG_REFINE_COUNT_FIELD, EQUIP_CFG_REFINE_COST_FIELD, EQUIP_CFG_ACTIVE_STRENGTH_MATERIAL_FIELD, EQUIP_CFG_ACTIVE_STRENGTH_COUNT_FIELD, EQUIP_CFG_ACTIVE_COST_FIELD} -EQUIP_CFG.is_extendable = false -EQUIP_CFG.extensions = {} -EQUIP_CFGS_ITEMS_FIELD.name = "items" -EQUIP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.equip_cfgs.items" -EQUIP_CFGS_ITEMS_FIELD.number = 1 -EQUIP_CFGS_ITEMS_FIELD.index = 0 -EQUIP_CFGS_ITEMS_FIELD.label = 3 -EQUIP_CFGS_ITEMS_FIELD.has_default_value = false -EQUIP_CFGS_ITEMS_FIELD.default_value = {} -EQUIP_CFGS_ITEMS_FIELD.message_type = EQUIP_CFG -EQUIP_CFGS_ITEMS_FIELD.type = 11 -EQUIP_CFGS_ITEMS_FIELD.cpp_type = 10 - -EQUIP_CFGS.name = "equip_cfgs" -EQUIP_CFGS.full_name = ".ftcfg.equip_cfgs" -EQUIP_CFGS.nested_types = {} -EQUIP_CFGS.enum_types = {} -EQUIP_CFGS.fields = {EQUIP_CFGS_ITEMS_FIELD} -EQUIP_CFGS.is_extendable = false -EQUIP_CFGS.extensions = {} -EQUIP_SET_CFG_ID_FIELD.name = "id" -EQUIP_SET_CFG_ID_FIELD.full_name = ".ftcfg.equip_set_cfg.id" -EQUIP_SET_CFG_ID_FIELD.number = 1 -EQUIP_SET_CFG_ID_FIELD.index = 0 -EQUIP_SET_CFG_ID_FIELD.label = 2 -EQUIP_SET_CFG_ID_FIELD.has_default_value = false -EQUIP_SET_CFG_ID_FIELD.default_value = 0 -EQUIP_SET_CFG_ID_FIELD.type = 13 -EQUIP_SET_CFG_ID_FIELD.cpp_type = 3 - -EQUIP_SET_CFG_EQUIP_IDS_FIELD.name = "equip_ids" -EQUIP_SET_CFG_EQUIP_IDS_FIELD.full_name = ".ftcfg.equip_set_cfg.equip_ids" -EQUIP_SET_CFG_EQUIP_IDS_FIELD.number = 2 -EQUIP_SET_CFG_EQUIP_IDS_FIELD.index = 1 -EQUIP_SET_CFG_EQUIP_IDS_FIELD.label = 3 -EQUIP_SET_CFG_EQUIP_IDS_FIELD.has_default_value = false -EQUIP_SET_CFG_EQUIP_IDS_FIELD.default_value = {} -EQUIP_SET_CFG_EQUIP_IDS_FIELD.type = 13 -EQUIP_SET_CFG_EQUIP_IDS_FIELD.cpp_type = 3 - -EQUIP_SET_CFG_SET_NAME_FIELD.name = "set_name" -EQUIP_SET_CFG_SET_NAME_FIELD.full_name = ".ftcfg.equip_set_cfg.set_name" -EQUIP_SET_CFG_SET_NAME_FIELD.number = 3 -EQUIP_SET_CFG_SET_NAME_FIELD.index = 2 -EQUIP_SET_CFG_SET_NAME_FIELD.label = 2 -EQUIP_SET_CFG_SET_NAME_FIELD.has_default_value = false -EQUIP_SET_CFG_SET_NAME_FIELD.default_value = "" -EQUIP_SET_CFG_SET_NAME_FIELD.type = 9 -EQUIP_SET_CFG_SET_NAME_FIELD.cpp_type = 9 - -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.name = "equip_level" -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.full_name = ".ftcfg.equip_set_cfg.equip_level" -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.number = 4 -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.index = 3 -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.label = 2 -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.has_default_value = false -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.default_value = 0 -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.type = 5 -EQUIP_SET_CFG_EQUIP_LEVEL_FIELD.cpp_type = 1 - -EQUIP_SET_CFG.name = "equip_set_cfg" -EQUIP_SET_CFG.full_name = ".ftcfg.equip_set_cfg" -EQUIP_SET_CFG.nested_types = {} -EQUIP_SET_CFG.enum_types = {} -EQUIP_SET_CFG.fields = {EQUIP_SET_CFG_ID_FIELD, EQUIP_SET_CFG_EQUIP_IDS_FIELD, EQUIP_SET_CFG_SET_NAME_FIELD, EQUIP_SET_CFG_EQUIP_LEVEL_FIELD} -EQUIP_SET_CFG.is_extendable = false -EQUIP_SET_CFG.extensions = {} -EQUIP_SET_CFGS_ITEMS_FIELD.name = "items" -EQUIP_SET_CFGS_ITEMS_FIELD.full_name = ".ftcfg.equip_set_cfgs.items" -EQUIP_SET_CFGS_ITEMS_FIELD.number = 1 -EQUIP_SET_CFGS_ITEMS_FIELD.index = 0 -EQUIP_SET_CFGS_ITEMS_FIELD.label = 3 -EQUIP_SET_CFGS_ITEMS_FIELD.has_default_value = false -EQUIP_SET_CFGS_ITEMS_FIELD.default_value = {} -EQUIP_SET_CFGS_ITEMS_FIELD.message_type = EQUIP_SET_CFG -EQUIP_SET_CFGS_ITEMS_FIELD.type = 11 -EQUIP_SET_CFGS_ITEMS_FIELD.cpp_type = 10 - -EQUIP_SET_CFGS.name = "equip_set_cfgs" -EQUIP_SET_CFGS.full_name = ".ftcfg.equip_set_cfgs" -EQUIP_SET_CFGS.nested_types = {} -EQUIP_SET_CFGS.enum_types = {} -EQUIP_SET_CFGS.fields = {EQUIP_SET_CFGS_ITEMS_FIELD} -EQUIP_SET_CFGS.is_extendable = false -EQUIP_SET_CFGS.extensions = {} -EQUIP_SET_PROP_CFG_ID_FIELD.name = "id" -EQUIP_SET_PROP_CFG_ID_FIELD.full_name = ".ftcfg.equip_set_prop_cfg.id" -EQUIP_SET_PROP_CFG_ID_FIELD.number = 1 -EQUIP_SET_PROP_CFG_ID_FIELD.index = 0 -EQUIP_SET_PROP_CFG_ID_FIELD.label = 2 -EQUIP_SET_PROP_CFG_ID_FIELD.has_default_value = false -EQUIP_SET_PROP_CFG_ID_FIELD.default_value = 0 -EQUIP_SET_PROP_CFG_ID_FIELD.type = 13 -EQUIP_SET_PROP_CFG_ID_FIELD.cpp_type = 3 - -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.name = "equip_count" -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.full_name = ".ftcfg.equip_set_prop_cfg.equip_count" -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.number = 2 -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.index = 1 -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.label = 2 -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.has_default_value = false -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.default_value = 0 -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.type = 13 -EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD.cpp_type = 3 - -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.name = "active_prop" -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.full_name = ".ftcfg.equip_set_prop_cfg.active_prop" -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.number = 3 -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.index = 2 -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.label = 2 -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.has_default_value = false -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.default_value = "" -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.type = 9 -EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD.cpp_type = 9 - -EQUIP_SET_PROP_CFG.name = "equip_set_prop_cfg" -EQUIP_SET_PROP_CFG.full_name = ".ftcfg.equip_set_prop_cfg" -EQUIP_SET_PROP_CFG.nested_types = {} -EQUIP_SET_PROP_CFG.enum_types = {} -EQUIP_SET_PROP_CFG.fields = {EQUIP_SET_PROP_CFG_ID_FIELD, EQUIP_SET_PROP_CFG_EQUIP_COUNT_FIELD, EQUIP_SET_PROP_CFG_ACTIVE_PROP_FIELD} -EQUIP_SET_PROP_CFG.is_extendable = false -EQUIP_SET_PROP_CFG.extensions = {} -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.name = "items" -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.equip_set_prop_cfgs.items" -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.number = 1 -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.index = 0 -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.label = 3 -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.has_default_value = false -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.default_value = {} -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.message_type = EQUIP_SET_PROP_CFG -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.type = 11 -EQUIP_SET_PROP_CFGS_ITEMS_FIELD.cpp_type = 10 - -EQUIP_SET_PROP_CFGS.name = "equip_set_prop_cfgs" -EQUIP_SET_PROP_CFGS.full_name = ".ftcfg.equip_set_prop_cfgs" -EQUIP_SET_PROP_CFGS.nested_types = {} -EQUIP_SET_PROP_CFGS.enum_types = {} -EQUIP_SET_PROP_CFGS.fields = {EQUIP_SET_PROP_CFGS_ITEMS_FIELD} -EQUIP_SET_PROP_CFGS.is_extendable = false -EQUIP_SET_PROP_CFGS.extensions = {} -STRENGTHEN_CFG_ID_FIELD.name = "id" -STRENGTHEN_CFG_ID_FIELD.full_name = ".ftcfg.strengthen_cfg.id" -STRENGTHEN_CFG_ID_FIELD.number = 1 -STRENGTHEN_CFG_ID_FIELD.index = 0 -STRENGTHEN_CFG_ID_FIELD.label = 2 -STRENGTHEN_CFG_ID_FIELD.has_default_value = false -STRENGTHEN_CFG_ID_FIELD.default_value = 0 -STRENGTHEN_CFG_ID_FIELD.type = 13 -STRENGTHEN_CFG_ID_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_SEG_LIMIT_FIELD.name = "seg_limit" -STRENGTHEN_CFG_SEG_LIMIT_FIELD.full_name = ".ftcfg.strengthen_cfg.seg_limit" -STRENGTHEN_CFG_SEG_LIMIT_FIELD.number = 2 -STRENGTHEN_CFG_SEG_LIMIT_FIELD.index = 1 -STRENGTHEN_CFG_SEG_LIMIT_FIELD.label = 2 -STRENGTHEN_CFG_SEG_LIMIT_FIELD.has_default_value = false -STRENGTHEN_CFG_SEG_LIMIT_FIELD.default_value = 0 -STRENGTHEN_CFG_SEG_LIMIT_FIELD.type = 13 -STRENGTHEN_CFG_SEG_LIMIT_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_RATE_FIELD.name = "rate" -STRENGTHEN_CFG_RATE_FIELD.full_name = ".ftcfg.strengthen_cfg.rate" -STRENGTHEN_CFG_RATE_FIELD.number = 3 -STRENGTHEN_CFG_RATE_FIELD.index = 2 -STRENGTHEN_CFG_RATE_FIELD.label = 2 -STRENGTHEN_CFG_RATE_FIELD.has_default_value = false -STRENGTHEN_CFG_RATE_FIELD.default_value = 0 -STRENGTHEN_CFG_RATE_FIELD.type = 13 -STRENGTHEN_CFG_RATE_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_REQ_LEVEL_FIELD.name = "req_level" -STRENGTHEN_CFG_REQ_LEVEL_FIELD.full_name = ".ftcfg.strengthen_cfg.req_level" -STRENGTHEN_CFG_REQ_LEVEL_FIELD.number = 4 -STRENGTHEN_CFG_REQ_LEVEL_FIELD.index = 3 -STRENGTHEN_CFG_REQ_LEVEL_FIELD.label = 2 -STRENGTHEN_CFG_REQ_LEVEL_FIELD.has_default_value = false -STRENGTHEN_CFG_REQ_LEVEL_FIELD.default_value = 0 -STRENGTHEN_CFG_REQ_LEVEL_FIELD.type = 13 -STRENGTHEN_CFG_REQ_LEVEL_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_MAT_ID_FIELD.name = "mat_id" -STRENGTHEN_CFG_MAT_ID_FIELD.full_name = ".ftcfg.strengthen_cfg.mat_id" -STRENGTHEN_CFG_MAT_ID_FIELD.number = 5 -STRENGTHEN_CFG_MAT_ID_FIELD.index = 4 -STRENGTHEN_CFG_MAT_ID_FIELD.label = 2 -STRENGTHEN_CFG_MAT_ID_FIELD.has_default_value = false -STRENGTHEN_CFG_MAT_ID_FIELD.default_value = 0 -STRENGTHEN_CFG_MAT_ID_FIELD.type = 13 -STRENGTHEN_CFG_MAT_ID_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_MAT_NUM_FIELD.name = "mat_num" -STRENGTHEN_CFG_MAT_NUM_FIELD.full_name = ".ftcfg.strengthen_cfg.mat_num" -STRENGTHEN_CFG_MAT_NUM_FIELD.number = 6 -STRENGTHEN_CFG_MAT_NUM_FIELD.index = 5 -STRENGTHEN_CFG_MAT_NUM_FIELD.label = 2 -STRENGTHEN_CFG_MAT_NUM_FIELD.has_default_value = false -STRENGTHEN_CFG_MAT_NUM_FIELD.default_value = 0 -STRENGTHEN_CFG_MAT_NUM_FIELD.type = 13 -STRENGTHEN_CFG_MAT_NUM_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.name = "prop_effect1" -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.full_name = ".ftcfg.strengthen_cfg.prop_effect1" -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.number = 7 -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.index = 6 -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.label = 2 -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.has_default_value = false -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.default_value = "" -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.type = 9 -STRENGTHEN_CFG_PROP_EFFECT1_FIELD.cpp_type = 9 - -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.name = "prop_effect2" -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.full_name = ".ftcfg.strengthen_cfg.prop_effect2" -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.number = 8 -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.index = 7 -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.label = 2 -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.has_default_value = false -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.default_value = "" -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.type = 9 -STRENGTHEN_CFG_PROP_EFFECT2_FIELD.cpp_type = 9 - -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.name = "prop_effect3" -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.full_name = ".ftcfg.strengthen_cfg.prop_effect3" -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.number = 9 -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.index = 8 -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.label = 2 -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.has_default_value = false -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.default_value = "" -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.type = 9 -STRENGTHEN_CFG_PROP_EFFECT3_FIELD.cpp_type = 9 - -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.name = "prop_effect4" -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.full_name = ".ftcfg.strengthen_cfg.prop_effect4" -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.number = 10 -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.index = 9 -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.label = 2 -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.has_default_value = false -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.default_value = "" -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.type = 9 -STRENGTHEN_CFG_PROP_EFFECT4_FIELD.cpp_type = 9 - -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.name = "extra_effect" -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.full_name = ".ftcfg.strengthen_cfg.extra_effect" -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.number = 11 -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.index = 10 -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.label = 2 -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.has_default_value = false -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.default_value = 0 -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.type = 13 -STRENGTHEN_CFG_EXTRA_EFFECT_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.name = "blessing_limit" -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.full_name = ".ftcfg.strengthen_cfg.blessing_limit" -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.number = 12 -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.index = 11 -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.label = 2 -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.has_default_value = false -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.default_value = 0 -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.type = 13 -STRENGTHEN_CFG_BLESSING_LIMIT_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.name = "assist_jewel" -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.full_name = ".ftcfg.strengthen_cfg.assist_jewel" -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.number = 13 -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.index = 12 -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.label = 3 -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.has_default_value = false -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.default_value = {} -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.type = 13 -STRENGTHEN_CFG_ASSIST_JEWEL_FIELD.cpp_type = 3 - -STRENGTHEN_CFG_COMBAT_POINT_FIELD.name = "combat_point" -STRENGTHEN_CFG_COMBAT_POINT_FIELD.full_name = ".ftcfg.strengthen_cfg.combat_point" -STRENGTHEN_CFG_COMBAT_POINT_FIELD.number = 14 -STRENGTHEN_CFG_COMBAT_POINT_FIELD.index = 13 -STRENGTHEN_CFG_COMBAT_POINT_FIELD.label = 2 -STRENGTHEN_CFG_COMBAT_POINT_FIELD.has_default_value = false -STRENGTHEN_CFG_COMBAT_POINT_FIELD.default_value = 0 -STRENGTHEN_CFG_COMBAT_POINT_FIELD.type = 13 -STRENGTHEN_CFG_COMBAT_POINT_FIELD.cpp_type = 3 - -STRENGTHEN_CFG.name = "strengthen_cfg" -STRENGTHEN_CFG.full_name = ".ftcfg.strengthen_cfg" -STRENGTHEN_CFG.nested_types = {} -STRENGTHEN_CFG.enum_types = {} -STRENGTHEN_CFG.fields = {STRENGTHEN_CFG_ID_FIELD, STRENGTHEN_CFG_SEG_LIMIT_FIELD, STRENGTHEN_CFG_RATE_FIELD, STRENGTHEN_CFG_REQ_LEVEL_FIELD, STRENGTHEN_CFG_MAT_ID_FIELD, STRENGTHEN_CFG_MAT_NUM_FIELD, STRENGTHEN_CFG_PROP_EFFECT1_FIELD, STRENGTHEN_CFG_PROP_EFFECT2_FIELD, STRENGTHEN_CFG_PROP_EFFECT3_FIELD, STRENGTHEN_CFG_PROP_EFFECT4_FIELD, STRENGTHEN_CFG_EXTRA_EFFECT_FIELD, STRENGTHEN_CFG_BLESSING_LIMIT_FIELD, STRENGTHEN_CFG_ASSIST_JEWEL_FIELD, STRENGTHEN_CFG_COMBAT_POINT_FIELD} -STRENGTHEN_CFG.is_extendable = false -STRENGTHEN_CFG.extensions = {} -STRENGTHEN_CFGS_ITEMS_FIELD.name = "items" -STRENGTHEN_CFGS_ITEMS_FIELD.full_name = ".ftcfg.strengthen_cfgs.items" -STRENGTHEN_CFGS_ITEMS_FIELD.number = 1 -STRENGTHEN_CFGS_ITEMS_FIELD.index = 0 -STRENGTHEN_CFGS_ITEMS_FIELD.label = 3 -STRENGTHEN_CFGS_ITEMS_FIELD.has_default_value = false -STRENGTHEN_CFGS_ITEMS_FIELD.default_value = {} -STRENGTHEN_CFGS_ITEMS_FIELD.message_type = STRENGTHEN_CFG -STRENGTHEN_CFGS_ITEMS_FIELD.type = 11 -STRENGTHEN_CFGS_ITEMS_FIELD.cpp_type = 10 - -STRENGTHEN_CFGS.name = "strengthen_cfgs" -STRENGTHEN_CFGS.full_name = ".ftcfg.strengthen_cfgs" -STRENGTHEN_CFGS.nested_types = {} -STRENGTHEN_CFGS.enum_types = {} -STRENGTHEN_CFGS.fields = {STRENGTHEN_CFGS_ITEMS_FIELD} -STRENGTHEN_CFGS.is_extendable = false -STRENGTHEN_CFGS.extensions = {} -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.name = "level" -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.full_name = ".ftcfg.rune_make_list_cfg.level" -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.number = 1 -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.index = 0 -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.label = 2 -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.has_default_value = false -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.default_value = 0 -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.type = 5 -RUNE_MAKE_LIST_CFG_LEVEL_FIELD.cpp_type = 1 - -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.name = "weapon" -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.full_name = ".ftcfg.rune_make_list_cfg.weapon" -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.number = 2 -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.index = 1 -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.label = 2 -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.has_default_value = false -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.default_value = 0 -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.type = 5 -RUNE_MAKE_LIST_CFG_WEAPON_FIELD.cpp_type = 1 - -RUNE_MAKE_LIST_CFG_HEAD_FIELD.name = "head" -RUNE_MAKE_LIST_CFG_HEAD_FIELD.full_name = ".ftcfg.rune_make_list_cfg.head" -RUNE_MAKE_LIST_CFG_HEAD_FIELD.number = 3 -RUNE_MAKE_LIST_CFG_HEAD_FIELD.index = 2 -RUNE_MAKE_LIST_CFG_HEAD_FIELD.label = 2 -RUNE_MAKE_LIST_CFG_HEAD_FIELD.has_default_value = false -RUNE_MAKE_LIST_CFG_HEAD_FIELD.default_value = 0 -RUNE_MAKE_LIST_CFG_HEAD_FIELD.type = 5 -RUNE_MAKE_LIST_CFG_HEAD_FIELD.cpp_type = 1 - -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.name = "clothes" -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.full_name = ".ftcfg.rune_make_list_cfg.clothes" -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.number = 4 -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.index = 3 -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.label = 2 -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.has_default_value = false -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.default_value = 0 -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.type = 5 -RUNE_MAKE_LIST_CFG_CLOTHES_FIELD.cpp_type = 1 - -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.name = "trousers" -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.full_name = ".ftcfg.rune_make_list_cfg.trousers" -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.number = 5 -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.index = 4 -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.label = 2 -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.has_default_value = false -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.default_value = 0 -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.type = 5 -RUNE_MAKE_LIST_CFG_TROUSERS_FIELD.cpp_type = 1 - -RUNE_MAKE_LIST_CFG_SHOES_FIELD.name = "shoes" -RUNE_MAKE_LIST_CFG_SHOES_FIELD.full_name = ".ftcfg.rune_make_list_cfg.shoes" -RUNE_MAKE_LIST_CFG_SHOES_FIELD.number = 6 -RUNE_MAKE_LIST_CFG_SHOES_FIELD.index = 5 -RUNE_MAKE_LIST_CFG_SHOES_FIELD.label = 2 -RUNE_MAKE_LIST_CFG_SHOES_FIELD.has_default_value = false -RUNE_MAKE_LIST_CFG_SHOES_FIELD.default_value = 0 -RUNE_MAKE_LIST_CFG_SHOES_FIELD.type = 5 -RUNE_MAKE_LIST_CFG_SHOES_FIELD.cpp_type = 1 - -RUNE_MAKE_LIST_CFG.name = "rune_make_list_cfg" -RUNE_MAKE_LIST_CFG.full_name = ".ftcfg.rune_make_list_cfg" -RUNE_MAKE_LIST_CFG.nested_types = {} -RUNE_MAKE_LIST_CFG.enum_types = {} -RUNE_MAKE_LIST_CFG.fields = {RUNE_MAKE_LIST_CFG_LEVEL_FIELD, RUNE_MAKE_LIST_CFG_WEAPON_FIELD, RUNE_MAKE_LIST_CFG_HEAD_FIELD, RUNE_MAKE_LIST_CFG_CLOTHES_FIELD, RUNE_MAKE_LIST_CFG_TROUSERS_FIELD, RUNE_MAKE_LIST_CFG_SHOES_FIELD} -RUNE_MAKE_LIST_CFG.is_extendable = false -RUNE_MAKE_LIST_CFG.extensions = {} -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.name = "items" -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_make_list_cfgs.items" -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.number = 1 -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.index = 0 -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.label = 3 -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.default_value = {} -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.message_type = RUNE_MAKE_LIST_CFG -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.type = 11 -RUNE_MAKE_LIST_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_MAKE_LIST_CFGS.name = "rune_make_list_cfgs" -RUNE_MAKE_LIST_CFGS.full_name = ".ftcfg.rune_make_list_cfgs" -RUNE_MAKE_LIST_CFGS.nested_types = {} -RUNE_MAKE_LIST_CFGS.enum_types = {} -RUNE_MAKE_LIST_CFGS.fields = {RUNE_MAKE_LIST_CFGS_ITEMS_FIELD} -RUNE_MAKE_LIST_CFGS.is_extendable = false -RUNE_MAKE_LIST_CFGS.extensions = {} -RUNE_MAKE_CFG_ID_FIELD.name = "id" -RUNE_MAKE_CFG_ID_FIELD.full_name = ".ftcfg.rune_make_cfg.id" -RUNE_MAKE_CFG_ID_FIELD.number = 1 -RUNE_MAKE_CFG_ID_FIELD.index = 0 -RUNE_MAKE_CFG_ID_FIELD.label = 2 -RUNE_MAKE_CFG_ID_FIELD.has_default_value = false -RUNE_MAKE_CFG_ID_FIELD.default_value = 0 -RUNE_MAKE_CFG_ID_FIELD.type = 13 -RUNE_MAKE_CFG_ID_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_COST_FIELD.name = "cost" -RUNE_MAKE_CFG_COST_FIELD.full_name = ".ftcfg.rune_make_cfg.cost" -RUNE_MAKE_CFG_COST_FIELD.number = 2 -RUNE_MAKE_CFG_COST_FIELD.index = 1 -RUNE_MAKE_CFG_COST_FIELD.label = 2 -RUNE_MAKE_CFG_COST_FIELD.has_default_value = false -RUNE_MAKE_CFG_COST_FIELD.default_value = 0 -RUNE_MAKE_CFG_COST_FIELD.type = 5 -RUNE_MAKE_CFG_COST_FIELD.cpp_type = 1 - -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.name = "make_material" -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.full_name = ".ftcfg.rune_make_cfg.make_material" -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.number = 3 -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.index = 2 -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.label = 3 -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.has_default_value = false -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.default_value = {} -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.type = 13 -RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.name = "elite_material" -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.full_name = ".ftcfg.rune_make_cfg.elite_material" -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.number = 4 -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.index = 3 -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.label = 3 -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.has_default_value = false -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.default_value = {} -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.type = 13 -RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_PROP_COUNT_FIELD.name = "prop_count" -RUNE_MAKE_CFG_PROP_COUNT_FIELD.full_name = ".ftcfg.rune_make_cfg.prop_count" -RUNE_MAKE_CFG_PROP_COUNT_FIELD.number = 5 -RUNE_MAKE_CFG_PROP_COUNT_FIELD.index = 4 -RUNE_MAKE_CFG_PROP_COUNT_FIELD.label = 2 -RUNE_MAKE_CFG_PROP_COUNT_FIELD.has_default_value = false -RUNE_MAKE_CFG_PROP_COUNT_FIELD.default_value = 0 -RUNE_MAKE_CFG_PROP_COUNT_FIELD.type = 13 -RUNE_MAKE_CFG_PROP_COUNT_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.name = "special_spell_rate" -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.full_name = ".ftcfg.rune_make_cfg.special_spell_rate" -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.number = 6 -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.index = 5 -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.label = 2 -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.has_default_value = false -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.default_value = 0 -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.type = 13 -RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.name = "special_spell_elite_rate" -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.full_name = ".ftcfg.rune_make_cfg.special_spell_elite_rate" -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.number = 7 -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.index = 6 -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.label = 2 -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.has_default_value = false -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.default_value = 0 -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.type = 13 -RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.name = "spell_group_id" -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.full_name = ".ftcfg.rune_make_cfg.spell_group_id" -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.number = 8 -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.index = 7 -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.label = 2 -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.has_default_value = false -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.default_value = 0 -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.type = 13 -RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_SPELL_RATE_FIELD.name = "spell_rate" -RUNE_MAKE_CFG_SPELL_RATE_FIELD.full_name = ".ftcfg.rune_make_cfg.spell_rate" -RUNE_MAKE_CFG_SPELL_RATE_FIELD.number = 9 -RUNE_MAKE_CFG_SPELL_RATE_FIELD.index = 8 -RUNE_MAKE_CFG_SPELL_RATE_FIELD.label = 2 -RUNE_MAKE_CFG_SPELL_RATE_FIELD.has_default_value = false -RUNE_MAKE_CFG_SPELL_RATE_FIELD.default_value = 0 -RUNE_MAKE_CFG_SPELL_RATE_FIELD.type = 13 -RUNE_MAKE_CFG_SPELL_RATE_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.name = "spell_elite_rate" -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.full_name = ".ftcfg.rune_make_cfg.spell_elite_rate" -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.number = 10 -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.index = 9 -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.label = 2 -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.has_default_value = false -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.default_value = 0 -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.type = 13 -RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.name = "prop_group_id" -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.full_name = ".ftcfg.rune_make_cfg.prop_group_id" -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.number = 11 -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.index = 10 -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.label = 3 -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.has_default_value = false -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.default_value = {} -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.type = 13 -RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.name = "magic_group_id" -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.full_name = ".ftcfg.rune_make_cfg.magic_group_id" -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.number = 12 -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.index = 11 -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.label = 3 -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.has_default_value = false -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.default_value = {} -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.type = 13 -RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD.cpp_type = 3 - -RUNE_MAKE_CFG.name = "rune_make_cfg" -RUNE_MAKE_CFG.full_name = ".ftcfg.rune_make_cfg" -RUNE_MAKE_CFG.nested_types = {} -RUNE_MAKE_CFG.enum_types = {} -RUNE_MAKE_CFG.fields = {RUNE_MAKE_CFG_ID_FIELD, RUNE_MAKE_CFG_COST_FIELD, RUNE_MAKE_CFG_MAKE_MATERIAL_FIELD, RUNE_MAKE_CFG_ELITE_MATERIAL_FIELD, RUNE_MAKE_CFG_PROP_COUNT_FIELD, RUNE_MAKE_CFG_SPECIAL_SPELL_RATE_FIELD, RUNE_MAKE_CFG_SPECIAL_SPELL_ELITE_RATE_FIELD, RUNE_MAKE_CFG_SPELL_GROUP_ID_FIELD, RUNE_MAKE_CFG_SPELL_RATE_FIELD, RUNE_MAKE_CFG_SPELL_ELITE_RATE_FIELD, RUNE_MAKE_CFG_PROP_GROUP_ID_FIELD, RUNE_MAKE_CFG_MAGIC_GROUP_ID_FIELD} -RUNE_MAKE_CFG.is_extendable = false -RUNE_MAKE_CFG.extensions = {} -RUNE_MAKE_CFGS_ITEMS_FIELD.name = "items" -RUNE_MAKE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_make_cfgs.items" -RUNE_MAKE_CFGS_ITEMS_FIELD.number = 1 -RUNE_MAKE_CFGS_ITEMS_FIELD.index = 0 -RUNE_MAKE_CFGS_ITEMS_FIELD.label = 3 -RUNE_MAKE_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_MAKE_CFGS_ITEMS_FIELD.default_value = {} -RUNE_MAKE_CFGS_ITEMS_FIELD.message_type = RUNE_MAKE_CFG -RUNE_MAKE_CFGS_ITEMS_FIELD.type = 11 -RUNE_MAKE_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_MAKE_CFGS.name = "rune_make_cfgs" -RUNE_MAKE_CFGS.full_name = ".ftcfg.rune_make_cfgs" -RUNE_MAKE_CFGS.nested_types = {} -RUNE_MAKE_CFGS.enum_types = {} -RUNE_MAKE_CFGS.fields = {RUNE_MAKE_CFGS_ITEMS_FIELD} -RUNE_MAKE_CFGS.is_extendable = false -RUNE_MAKE_CFGS.extensions = {} -RUNE_PROP_GROUP_CFG_ID_FIELD.name = "id" -RUNE_PROP_GROUP_CFG_ID_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.id" -RUNE_PROP_GROUP_CFG_ID_FIELD.number = 1 -RUNE_PROP_GROUP_CFG_ID_FIELD.index = 0 -RUNE_PROP_GROUP_CFG_ID_FIELD.label = 2 -RUNE_PROP_GROUP_CFG_ID_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_ID_FIELD.default_value = 0 -RUNE_PROP_GROUP_CFG_ID_FIELD.type = 13 -RUNE_PROP_GROUP_CFG_ID_FIELD.cpp_type = 3 - -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.name = "assist_id" -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.assist_id" -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.number = 2 -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.index = 1 -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.label = 2 -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.default_value = 0 -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.type = 13 -RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD.cpp_type = 3 - -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.name = "group_id" -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.group_id" -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.number = 3 -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.index = 2 -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.label = 2 -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.default_value = 0 -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.type = 13 -RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD.cpp_type = 3 - -RUNE_PROP_GROUP_CFG_PROP_FIELD.name = "prop" -RUNE_PROP_GROUP_CFG_PROP_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop" -RUNE_PROP_GROUP_CFG_PROP_FIELD.number = 4 -RUNE_PROP_GROUP_CFG_PROP_FIELD.index = 3 -RUNE_PROP_GROUP_CFG_PROP_FIELD.label = 2 -RUNE_PROP_GROUP_CFG_PROP_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_FIELD.default_value = "" -RUNE_PROP_GROUP_CFG_PROP_FIELD.type = 9 -RUNE_PROP_GROUP_CFG_PROP_FIELD.cpp_type = 9 - -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.name = "prop_value1" -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_value1" -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.number = 5 -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.index = 4 -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.name = "prop_value2" -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_value2" -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.number = 6 -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.index = 5 -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.name = "prop_value3" -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_value3" -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.number = 7 -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.index = 6 -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.name = "prop_value4" -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_value4" -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.number = 8 -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.index = 7 -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.name = "prop_value5" -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_value5" -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.number = 9 -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.index = 8 -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.name = "prop_value6" -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_value6" -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.number = 10 -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.index = 9 -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.name = "prop_elite_value1" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_elite_value1" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.number = 11 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.index = 10 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.name = "prop_elite_value2" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_elite_value2" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.number = 12 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.index = 11 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.name = "prop_elite_value3" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_elite_value3" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.number = 13 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.index = 12 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.name = "prop_elite_value4" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_elite_value4" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.number = 14 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.index = 13 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.name = "prop_elite_value5" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_elite_value5" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.number = 15 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.index = 14 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.name = "prop_elite_value6" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.full_name = ".ftcfg.rune_prop_group_cfg.prop_elite_value6" -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.number = 16 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.index = 15 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.label = 3 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.default_value = {} -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.type = 1 -RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD.cpp_type = 5 - -RUNE_PROP_GROUP_CFG.name = "rune_prop_group_cfg" -RUNE_PROP_GROUP_CFG.full_name = ".ftcfg.rune_prop_group_cfg" -RUNE_PROP_GROUP_CFG.nested_types = {} -RUNE_PROP_GROUP_CFG.enum_types = {} -RUNE_PROP_GROUP_CFG.fields = {RUNE_PROP_GROUP_CFG_ID_FIELD, RUNE_PROP_GROUP_CFG_ASSIST_ID_FIELD, RUNE_PROP_GROUP_CFG_GROUP_ID_FIELD, RUNE_PROP_GROUP_CFG_PROP_FIELD, RUNE_PROP_GROUP_CFG_PROP_VALUE1_FIELD, RUNE_PROP_GROUP_CFG_PROP_VALUE2_FIELD, RUNE_PROP_GROUP_CFG_PROP_VALUE3_FIELD, RUNE_PROP_GROUP_CFG_PROP_VALUE4_FIELD, RUNE_PROP_GROUP_CFG_PROP_VALUE5_FIELD, RUNE_PROP_GROUP_CFG_PROP_VALUE6_FIELD, RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE1_FIELD, RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE2_FIELD, RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE3_FIELD, RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE4_FIELD, RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE5_FIELD, RUNE_PROP_GROUP_CFG_PROP_ELITE_VALUE6_FIELD} -RUNE_PROP_GROUP_CFG.is_extendable = false -RUNE_PROP_GROUP_CFG.extensions = {} -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.name = "items" -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_prop_group_cfgs.items" -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.number = 1 -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.index = 0 -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.label = 3 -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.default_value = {} -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.message_type = RUNE_PROP_GROUP_CFG -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.type = 11 -RUNE_PROP_GROUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_PROP_GROUP_CFGS.name = "rune_prop_group_cfgs" -RUNE_PROP_GROUP_CFGS.full_name = ".ftcfg.rune_prop_group_cfgs" -RUNE_PROP_GROUP_CFGS.nested_types = {} -RUNE_PROP_GROUP_CFGS.enum_types = {} -RUNE_PROP_GROUP_CFGS.fields = {RUNE_PROP_GROUP_CFGS_ITEMS_FIELD} -RUNE_PROP_GROUP_CFGS.is_extendable = false -RUNE_PROP_GROUP_CFGS.extensions = {} -EQUIP_LIST_CFG_ID_FIELD.name = "id" -EQUIP_LIST_CFG_ID_FIELD.full_name = ".ftcfg.equip_list_cfg.id" -EQUIP_LIST_CFG_ID_FIELD.number = 1 -EQUIP_LIST_CFG_ID_FIELD.index = 0 -EQUIP_LIST_CFG_ID_FIELD.label = 2 -EQUIP_LIST_CFG_ID_FIELD.has_default_value = false -EQUIP_LIST_CFG_ID_FIELD.default_value = 0 -EQUIP_LIST_CFG_ID_FIELD.type = 5 -EQUIP_LIST_CFG_ID_FIELD.cpp_type = 1 - -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.name = "equip_list" -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.full_name = ".ftcfg.equip_list_cfg.equip_list" -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.number = 2 -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.index = 1 -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.label = 3 -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.has_default_value = false -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.default_value = {} -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.type = 13 -EQUIP_LIST_CFG_EQUIP_LIST_FIELD.cpp_type = 3 - -EQUIP_LIST_CFG.name = "equip_list_cfg" -EQUIP_LIST_CFG.full_name = ".ftcfg.equip_list_cfg" -EQUIP_LIST_CFG.nested_types = {} -EQUIP_LIST_CFG.enum_types = {} -EQUIP_LIST_CFG.fields = {EQUIP_LIST_CFG_ID_FIELD, EQUIP_LIST_CFG_EQUIP_LIST_FIELD} -EQUIP_LIST_CFG.is_extendable = false -EQUIP_LIST_CFG.extensions = {} -EQUIP_LIST_CFGS_ITEMS_FIELD.name = "items" -EQUIP_LIST_CFGS_ITEMS_FIELD.full_name = ".ftcfg.equip_list_cfgs.items" -EQUIP_LIST_CFGS_ITEMS_FIELD.number = 1 -EQUIP_LIST_CFGS_ITEMS_FIELD.index = 0 -EQUIP_LIST_CFGS_ITEMS_FIELD.label = 3 -EQUIP_LIST_CFGS_ITEMS_FIELD.has_default_value = false -EQUIP_LIST_CFGS_ITEMS_FIELD.default_value = {} -EQUIP_LIST_CFGS_ITEMS_FIELD.message_type = EQUIP_LIST_CFG -EQUIP_LIST_CFGS_ITEMS_FIELD.type = 11 -EQUIP_LIST_CFGS_ITEMS_FIELD.cpp_type = 10 - -EQUIP_LIST_CFGS.name = "equip_list_cfgs" -EQUIP_LIST_CFGS.full_name = ".ftcfg.equip_list_cfgs" -EQUIP_LIST_CFGS.nested_types = {} -EQUIP_LIST_CFGS.enum_types = {} -EQUIP_LIST_CFGS.fields = {EQUIP_LIST_CFGS_ITEMS_FIELD} -EQUIP_LIST_CFGS.is_extendable = false -EQUIP_LIST_CFGS.extensions = {} -RUNE_SKILL_GROUP_CFG_ID_FIELD.name = "id" -RUNE_SKILL_GROUP_CFG_ID_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.id" -RUNE_SKILL_GROUP_CFG_ID_FIELD.number = 1 -RUNE_SKILL_GROUP_CFG_ID_FIELD.index = 0 -RUNE_SKILL_GROUP_CFG_ID_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_ID_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_ID_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_ID_FIELD.type = 13 -RUNE_SKILL_GROUP_CFG_ID_FIELD.cpp_type = 3 - -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.name = "group_id" -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.group_id" -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.number = 2 -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.index = 1 -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.type = 13 -RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD.cpp_type = 3 - -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.name = "skill_id" -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.skill_id" -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.number = 3 -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.index = 2 -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.type = 5 -RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD.cpp_type = 1 - -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.name = "level_rand" -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.level_rand" -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.number = 4 -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.index = 3 -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.label = 3 -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.default_value = {} -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.type = 13 -RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD.cpp_type = 3 - -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.name = "rate_1" -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.rate_1" -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.number = 5 -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.index = 4 -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.type = 5 -RUNE_SKILL_GROUP_CFG_RATE_1_FIELD.cpp_type = 1 - -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.name = "rate_2" -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.rate_2" -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.number = 6 -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.index = 5 -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.type = 5 -RUNE_SKILL_GROUP_CFG_RATE_2_FIELD.cpp_type = 1 - -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.name = "rate_3" -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.rate_3" -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.number = 7 -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.index = 6 -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.type = 5 -RUNE_SKILL_GROUP_CFG_RATE_3_FIELD.cpp_type = 1 - -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.name = "rate_4" -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.rate_4" -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.number = 8 -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.index = 7 -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.type = 5 -RUNE_SKILL_GROUP_CFG_RATE_4_FIELD.cpp_type = 1 - -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.name = "rate_5" -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.full_name = ".ftcfg.rune_skill_group_cfg.rate_5" -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.number = 9 -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.index = 8 -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.label = 2 -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.default_value = 0 -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.type = 5 -RUNE_SKILL_GROUP_CFG_RATE_5_FIELD.cpp_type = 1 - -RUNE_SKILL_GROUP_CFG.name = "rune_skill_group_cfg" -RUNE_SKILL_GROUP_CFG.full_name = ".ftcfg.rune_skill_group_cfg" -RUNE_SKILL_GROUP_CFG.nested_types = {} -RUNE_SKILL_GROUP_CFG.enum_types = {} -RUNE_SKILL_GROUP_CFG.fields = {RUNE_SKILL_GROUP_CFG_ID_FIELD, RUNE_SKILL_GROUP_CFG_GROUP_ID_FIELD, RUNE_SKILL_GROUP_CFG_SKILL_ID_FIELD, RUNE_SKILL_GROUP_CFG_LEVEL_RAND_FIELD, RUNE_SKILL_GROUP_CFG_RATE_1_FIELD, RUNE_SKILL_GROUP_CFG_RATE_2_FIELD, RUNE_SKILL_GROUP_CFG_RATE_3_FIELD, RUNE_SKILL_GROUP_CFG_RATE_4_FIELD, RUNE_SKILL_GROUP_CFG_RATE_5_FIELD} -RUNE_SKILL_GROUP_CFG.is_extendable = false -RUNE_SKILL_GROUP_CFG.extensions = {} -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.name = "items" -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_skill_group_cfgs.items" -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.number = 1 -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.index = 0 -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.label = 3 -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.default_value = {} -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.message_type = RUNE_SKILL_GROUP_CFG -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.type = 11 -RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_SKILL_GROUP_CFGS.name = "rune_skill_group_cfgs" -RUNE_SKILL_GROUP_CFGS.full_name = ".ftcfg.rune_skill_group_cfgs" -RUNE_SKILL_GROUP_CFGS.nested_types = {} -RUNE_SKILL_GROUP_CFGS.enum_types = {} -RUNE_SKILL_GROUP_CFGS.fields = {RUNE_SKILL_GROUP_CFGS_ITEMS_FIELD} -RUNE_SKILL_GROUP_CFGS.is_extendable = false -RUNE_SKILL_GROUP_CFGS.extensions = {} -RUNE_DECOMPOSE_CFG_ID_FIELD.name = "id" -RUNE_DECOMPOSE_CFG_ID_FIELD.full_name = ".ftcfg.rune_decompose_cfg.id" -RUNE_DECOMPOSE_CFG_ID_FIELD.number = 1 -RUNE_DECOMPOSE_CFG_ID_FIELD.index = 0 -RUNE_DECOMPOSE_CFG_ID_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ID_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ID_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ID_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ID_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_SILVER_FIELD.name = "silver" -RUNE_DECOMPOSE_CFG_SILVER_FIELD.full_name = ".ftcfg.rune_decompose_cfg.silver" -RUNE_DECOMPOSE_CFG_SILVER_FIELD.number = 2 -RUNE_DECOMPOSE_CFG_SILVER_FIELD.index = 1 -RUNE_DECOMPOSE_CFG_SILVER_FIELD.label = 3 -RUNE_DECOMPOSE_CFG_SILVER_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_SILVER_FIELD.default_value = {} -RUNE_DECOMPOSE_CFG_SILVER_FIELD.type = 5 -RUNE_DECOMPOSE_CFG_SILVER_FIELD.cpp_type = 1 - -RUNE_DECOMPOSE_CFG_GOLD_FIELD.name = "gold" -RUNE_DECOMPOSE_CFG_GOLD_FIELD.full_name = ".ftcfg.rune_decompose_cfg.gold" -RUNE_DECOMPOSE_CFG_GOLD_FIELD.number = 3 -RUNE_DECOMPOSE_CFG_GOLD_FIELD.index = 2 -RUNE_DECOMPOSE_CFG_GOLD_FIELD.label = 3 -RUNE_DECOMPOSE_CFG_GOLD_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_GOLD_FIELD.default_value = {} -RUNE_DECOMPOSE_CFG_GOLD_FIELD.type = 5 -RUNE_DECOMPOSE_CFG_GOLD_FIELD.cpp_type = 1 - -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.name = "item_id1" -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_id1" -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.number = 4 -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.index = 3 -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.name = "item_rate1" -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_rate1" -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.number = 5 -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.index = 4 -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.name = "item_count1" -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_count1" -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.number = 6 -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.index = 5 -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.name = "item_id2" -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_id2" -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.number = 7 -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.index = 6 -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.name = "item_rate2" -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_rate2" -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.number = 8 -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.index = 7 -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.name = "item_count2" -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_count2" -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.number = 9 -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.index = 8 -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.name = "item_id3" -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_id3" -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.number = 10 -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.index = 9 -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.name = "item_rate3" -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_rate3" -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.number = 11 -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.index = 10 -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.name = "item_count3" -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.full_name = ".ftcfg.rune_decompose_cfg.item_count3" -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.number = 12 -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.index = 11 -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.label = 2 -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.default_value = 0 -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.type = 13 -RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD.cpp_type = 3 - -RUNE_DECOMPOSE_CFG.name = "rune_decompose_cfg" -RUNE_DECOMPOSE_CFG.full_name = ".ftcfg.rune_decompose_cfg" -RUNE_DECOMPOSE_CFG.nested_types = {} -RUNE_DECOMPOSE_CFG.enum_types = {} -RUNE_DECOMPOSE_CFG.fields = {RUNE_DECOMPOSE_CFG_ID_FIELD, RUNE_DECOMPOSE_CFG_SILVER_FIELD, RUNE_DECOMPOSE_CFG_GOLD_FIELD, RUNE_DECOMPOSE_CFG_ITEM_ID1_FIELD, RUNE_DECOMPOSE_CFG_ITEM_RATE1_FIELD, RUNE_DECOMPOSE_CFG_ITEM_COUNT1_FIELD, RUNE_DECOMPOSE_CFG_ITEM_ID2_FIELD, RUNE_DECOMPOSE_CFG_ITEM_RATE2_FIELD, RUNE_DECOMPOSE_CFG_ITEM_COUNT2_FIELD, RUNE_DECOMPOSE_CFG_ITEM_ID3_FIELD, RUNE_DECOMPOSE_CFG_ITEM_RATE3_FIELD, RUNE_DECOMPOSE_CFG_ITEM_COUNT3_FIELD} -RUNE_DECOMPOSE_CFG.is_extendable = false -RUNE_DECOMPOSE_CFG.extensions = {} -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.name = "items" -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_decompose_cfgs.items" -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.number = 1 -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.index = 0 -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.label = 3 -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.default_value = {} -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.message_type = RUNE_DECOMPOSE_CFG -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.type = 11 -RUNE_DECOMPOSE_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_DECOMPOSE_CFGS.name = "rune_decompose_cfgs" -RUNE_DECOMPOSE_CFGS.full_name = ".ftcfg.rune_decompose_cfgs" -RUNE_DECOMPOSE_CFGS.nested_types = {} -RUNE_DECOMPOSE_CFGS.enum_types = {} -RUNE_DECOMPOSE_CFGS.fields = {RUNE_DECOMPOSE_CFGS_ITEMS_FIELD} -RUNE_DECOMPOSE_CFGS.is_extendable = false -RUNE_DECOMPOSE_CFGS.extensions = {} -JEWELRY_MAKE_CFG_ID_FIELD.name = "id" -JEWELRY_MAKE_CFG_ID_FIELD.full_name = ".ftcfg.jewelry_make_cfg.id" -JEWELRY_MAKE_CFG_ID_FIELD.number = 1 -JEWELRY_MAKE_CFG_ID_FIELD.index = 0 -JEWELRY_MAKE_CFG_ID_FIELD.label = 2 -JEWELRY_MAKE_CFG_ID_FIELD.has_default_value = false -JEWELRY_MAKE_CFG_ID_FIELD.default_value = 0 -JEWELRY_MAKE_CFG_ID_FIELD.type = 13 -JEWELRY_MAKE_CFG_ID_FIELD.cpp_type = 3 - -JEWELRY_MAKE_CFG_POP_COST_FIELD.name = "pop_cost" -JEWELRY_MAKE_CFG_POP_COST_FIELD.full_name = ".ftcfg.jewelry_make_cfg.pop_cost" -JEWELRY_MAKE_CFG_POP_COST_FIELD.number = 2 -JEWELRY_MAKE_CFG_POP_COST_FIELD.index = 1 -JEWELRY_MAKE_CFG_POP_COST_FIELD.label = 2 -JEWELRY_MAKE_CFG_POP_COST_FIELD.has_default_value = false -JEWELRY_MAKE_CFG_POP_COST_FIELD.default_value = 0 -JEWELRY_MAKE_CFG_POP_COST_FIELD.type = 5 -JEWELRY_MAKE_CFG_POP_COST_FIELD.cpp_type = 1 - -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.name = "money_cost" -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.full_name = ".ftcfg.jewelry_make_cfg.money_cost" -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.number = 3 -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.index = 2 -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.label = 2 -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.has_default_value = false -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.default_value = 0 -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.type = 5 -JEWELRY_MAKE_CFG_MONEY_COST_FIELD.cpp_type = 1 - -JEWELRY_MAKE_CFG.name = "jewelry_make_cfg" -JEWELRY_MAKE_CFG.full_name = ".ftcfg.jewelry_make_cfg" -JEWELRY_MAKE_CFG.nested_types = {} -JEWELRY_MAKE_CFG.enum_types = {} -JEWELRY_MAKE_CFG.fields = {JEWELRY_MAKE_CFG_ID_FIELD, JEWELRY_MAKE_CFG_POP_COST_FIELD, JEWELRY_MAKE_CFG_MONEY_COST_FIELD} -JEWELRY_MAKE_CFG.is_extendable = false -JEWELRY_MAKE_CFG.extensions = {} -JEWELRY_MAKE_CFGS_ITEMS_FIELD.name = "items" -JEWELRY_MAKE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.jewelry_make_cfgs.items" -JEWELRY_MAKE_CFGS_ITEMS_FIELD.number = 1 -JEWELRY_MAKE_CFGS_ITEMS_FIELD.index = 0 -JEWELRY_MAKE_CFGS_ITEMS_FIELD.label = 3 -JEWELRY_MAKE_CFGS_ITEMS_FIELD.has_default_value = false -JEWELRY_MAKE_CFGS_ITEMS_FIELD.default_value = {} -JEWELRY_MAKE_CFGS_ITEMS_FIELD.message_type = JEWELRY_MAKE_CFG -JEWELRY_MAKE_CFGS_ITEMS_FIELD.type = 11 -JEWELRY_MAKE_CFGS_ITEMS_FIELD.cpp_type = 10 - -JEWELRY_MAKE_CFGS.name = "jewelry_make_cfgs" -JEWELRY_MAKE_CFGS.full_name = ".ftcfg.jewelry_make_cfgs" -JEWELRY_MAKE_CFGS.nested_types = {} -JEWELRY_MAKE_CFGS.enum_types = {} -JEWELRY_MAKE_CFGS.fields = {JEWELRY_MAKE_CFGS_ITEMS_FIELD} -JEWELRY_MAKE_CFGS.is_extendable = false -JEWELRY_MAKE_CFGS.extensions = {} -WORLD_MAP_CFG_ID_FIELD.name = "id" -WORLD_MAP_CFG_ID_FIELD.full_name = ".ftcfg.world_map_cfg.id" -WORLD_MAP_CFG_ID_FIELD.number = 1 -WORLD_MAP_CFG_ID_FIELD.index = 0 -WORLD_MAP_CFG_ID_FIELD.label = 2 -WORLD_MAP_CFG_ID_FIELD.has_default_value = false -WORLD_MAP_CFG_ID_FIELD.default_value = 0 -WORLD_MAP_CFG_ID_FIELD.type = 5 -WORLD_MAP_CFG_ID_FIELD.cpp_type = 1 - -WORLD_MAP_CFG_SCENE_NAME_FIELD.name = "scene_name" -WORLD_MAP_CFG_SCENE_NAME_FIELD.full_name = ".ftcfg.world_map_cfg.scene_name" -WORLD_MAP_CFG_SCENE_NAME_FIELD.number = 2 -WORLD_MAP_CFG_SCENE_NAME_FIELD.index = 1 -WORLD_MAP_CFG_SCENE_NAME_FIELD.label = 2 -WORLD_MAP_CFG_SCENE_NAME_FIELD.has_default_value = false -WORLD_MAP_CFG_SCENE_NAME_FIELD.default_value = 0 -WORLD_MAP_CFG_SCENE_NAME_FIELD.type = 5 -WORLD_MAP_CFG_SCENE_NAME_FIELD.cpp_type = 1 - -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.name = "scene_nameshow" -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.full_name = ".ftcfg.world_map_cfg.scene_nameshow" -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.number = 3 -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.index = 2 -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.label = 2 -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.has_default_value = false -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.default_value = "" -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.type = 9 -WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD.cpp_type = 9 - -WORLD_MAP_CFG_OPEN_LV_FIELD.name = "open_lv" -WORLD_MAP_CFG_OPEN_LV_FIELD.full_name = ".ftcfg.world_map_cfg.open_lv" -WORLD_MAP_CFG_OPEN_LV_FIELD.number = 4 -WORLD_MAP_CFG_OPEN_LV_FIELD.index = 3 -WORLD_MAP_CFG_OPEN_LV_FIELD.label = 2 -WORLD_MAP_CFG_OPEN_LV_FIELD.has_default_value = false -WORLD_MAP_CFG_OPEN_LV_FIELD.default_value = 0 -WORLD_MAP_CFG_OPEN_LV_FIELD.type = 5 -WORLD_MAP_CFG_OPEN_LV_FIELD.cpp_type = 1 - -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.name = "openlv_show" -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.full_name = ".ftcfg.world_map_cfg.openlv_show" -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.number = 5 -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.index = 4 -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.label = 2 -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.has_default_value = false -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.default_value = 0 -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.type = 5 -WORLD_MAP_CFG_OPENLV_SHOW_FIELD.cpp_type = 1 - -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.name = "language_id" -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.full_name = ".ftcfg.world_map_cfg.language_id" -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.number = 6 -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.index = 5 -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.label = 2 -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.has_default_value = false -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.default_value = "" -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.type = 9 -WORLD_MAP_CFG_LANGUAGE_ID_FIELD.cpp_type = 9 - -WORLD_MAP_CFG_SCENE_ID_FIELD.name = "scene_id" -WORLD_MAP_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.world_map_cfg.scene_id" -WORLD_MAP_CFG_SCENE_ID_FIELD.number = 7 -WORLD_MAP_CFG_SCENE_ID_FIELD.index = 6 -WORLD_MAP_CFG_SCENE_ID_FIELD.label = 2 -WORLD_MAP_CFG_SCENE_ID_FIELD.has_default_value = false -WORLD_MAP_CFG_SCENE_ID_FIELD.default_value = 0 -WORLD_MAP_CFG_SCENE_ID_FIELD.type = 5 -WORLD_MAP_CFG_SCENE_ID_FIELD.cpp_type = 1 - -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.name = "initial_whether" -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.full_name = ".ftcfg.world_map_cfg.initial_whether" -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.number = 8 -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.index = 7 -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.label = 2 -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.has_default_value = false -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.default_value = 0 -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.type = 5 -WORLD_MAP_CFG_INITIAL_WHETHER_FIELD.cpp_type = 1 - -WORLD_MAP_CFG_SCENE_ICON_FIELD.name = "scene_icon" -WORLD_MAP_CFG_SCENE_ICON_FIELD.full_name = ".ftcfg.world_map_cfg.scene_icon" -WORLD_MAP_CFG_SCENE_ICON_FIELD.number = 9 -WORLD_MAP_CFG_SCENE_ICON_FIELD.index = 8 -WORLD_MAP_CFG_SCENE_ICON_FIELD.label = 2 -WORLD_MAP_CFG_SCENE_ICON_FIELD.has_default_value = false -WORLD_MAP_CFG_SCENE_ICON_FIELD.default_value = 0 -WORLD_MAP_CFG_SCENE_ICON_FIELD.type = 5 -WORLD_MAP_CFG_SCENE_ICON_FIELD.cpp_type = 1 - -WORLD_MAP_CFG.name = "world_map_cfg" -WORLD_MAP_CFG.full_name = ".ftcfg.world_map_cfg" -WORLD_MAP_CFG.nested_types = {} -WORLD_MAP_CFG.enum_types = {} -WORLD_MAP_CFG.fields = {WORLD_MAP_CFG_ID_FIELD, WORLD_MAP_CFG_SCENE_NAME_FIELD, WORLD_MAP_CFG_SCENE_NAMESHOW_FIELD, WORLD_MAP_CFG_OPEN_LV_FIELD, WORLD_MAP_CFG_OPENLV_SHOW_FIELD, WORLD_MAP_CFG_LANGUAGE_ID_FIELD, WORLD_MAP_CFG_SCENE_ID_FIELD, WORLD_MAP_CFG_INITIAL_WHETHER_FIELD, WORLD_MAP_CFG_SCENE_ICON_FIELD} -WORLD_MAP_CFG.is_extendable = false -WORLD_MAP_CFG.extensions = {} -WORLD_MAP_CFGS_ITEMS_FIELD.name = "items" -WORLD_MAP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.world_map_cfgs.items" -WORLD_MAP_CFGS_ITEMS_FIELD.number = 1 -WORLD_MAP_CFGS_ITEMS_FIELD.index = 0 -WORLD_MAP_CFGS_ITEMS_FIELD.label = 3 -WORLD_MAP_CFGS_ITEMS_FIELD.has_default_value = false -WORLD_MAP_CFGS_ITEMS_FIELD.default_value = {} -WORLD_MAP_CFGS_ITEMS_FIELD.message_type = WORLD_MAP_CFG -WORLD_MAP_CFGS_ITEMS_FIELD.type = 11 -WORLD_MAP_CFGS_ITEMS_FIELD.cpp_type = 10 - -WORLD_MAP_CFGS.name = "world_map_cfgs" -WORLD_MAP_CFGS.full_name = ".ftcfg.world_map_cfgs" -WORLD_MAP_CFGS.nested_types = {} -WORLD_MAP_CFGS.enum_types = {} -WORLD_MAP_CFGS.fields = {WORLD_MAP_CFGS_ITEMS_FIELD} -WORLD_MAP_CFGS.is_extendable = false -WORLD_MAP_CFGS.extensions = {} -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.name = "partner_quality" -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.full_name = ".ftcfg.partner_currency_cfg.partner_quality" -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.number = 1 -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.index = 0 -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.label = 2 -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.has_default_value = false -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.default_value = nil -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.enum_type = config_predefine_pb.EITEMCOLOR -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.type = 14 -PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD.cpp_type = 8 - -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.name = "currency_num" -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.full_name = ".ftcfg.partner_currency_cfg.currency_num" -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.number = 2 -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.index = 1 -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.label = 3 -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.has_default_value = false -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.default_value = {} -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.type = 5 -PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD.cpp_type = 1 - -PARTNER_CURRENCY_CFG.name = "partner_currency_cfg" -PARTNER_CURRENCY_CFG.full_name = ".ftcfg.partner_currency_cfg" -PARTNER_CURRENCY_CFG.nested_types = {} -PARTNER_CURRENCY_CFG.enum_types = {} -PARTNER_CURRENCY_CFG.fields = {PARTNER_CURRENCY_CFG_PARTNER_QUALITY_FIELD, PARTNER_CURRENCY_CFG_CURRENCY_NUM_FIELD} -PARTNER_CURRENCY_CFG.is_extendable = false -PARTNER_CURRENCY_CFG.extensions = {} -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.name = "items" -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_currency_cfgs.items" -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.number = 1 -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.index = 0 -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.label = 3 -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.message_type = PARTNER_CURRENCY_CFG -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.type = 11 -PARTNER_CURRENCY_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_CURRENCY_CFGS.name = "partner_currency_cfgs" -PARTNER_CURRENCY_CFGS.full_name = ".ftcfg.partner_currency_cfgs" -PARTNER_CURRENCY_CFGS.nested_types = {} -PARTNER_CURRENCY_CFGS.enum_types = {} -PARTNER_CURRENCY_CFGS.fields = {PARTNER_CURRENCY_CFGS_ITEMS_FIELD} -PARTNER_CURRENCY_CFGS.is_extendable = false -PARTNER_CURRENCY_CFGS.extensions = {} -PARTNER_ACTIVATION_CFG_ID_FIELD.name = "id" -PARTNER_ACTIVATION_CFG_ID_FIELD.full_name = ".ftcfg.partner_activation_cfg.id" -PARTNER_ACTIVATION_CFG_ID_FIELD.number = 1 -PARTNER_ACTIVATION_CFG_ID_FIELD.index = 0 -PARTNER_ACTIVATION_CFG_ID_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_ID_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_ID_FIELD.default_value = 0 -PARTNER_ACTIVATION_CFG_ID_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.name = "plotid" -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.full_name = ".ftcfg.partner_activation_cfg.plotid" -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.number = 2 -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.index = 1 -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.default_value = 0 -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_PLOTID_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.name = "branchplotid" -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.full_name = ".ftcfg.partner_activation_cfg.branchplotid" -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.number = 3 -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.index = 2 -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.default_value = 0 -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.name = "partnerid" -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.full_name = ".ftcfg.partner_activation_cfg.partnerid" -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.number = 4 -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.index = 3 -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_PARTNERID_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.name = "partnerimpressionlevel" -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.full_name = ".ftcfg.partner_activation_cfg.partnerimpressionlevel" -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.number = 5 -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.index = 4 -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.name = "combatpower" -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.full_name = ".ftcfg.partner_activation_cfg.combatpower" -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.number = 6 -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.index = 5 -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.default_value = 0 -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_NAME_FIELD.name = "name" -PARTNER_ACTIVATION_CFG_NAME_FIELD.full_name = ".ftcfg.partner_activation_cfg.name" -PARTNER_ACTIVATION_CFG_NAME_FIELD.number = 7 -PARTNER_ACTIVATION_CFG_NAME_FIELD.index = 6 -PARTNER_ACTIVATION_CFG_NAME_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_NAME_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_NAME_FIELD.default_value = "" -PARTNER_ACTIVATION_CFG_NAME_FIELD.type = 9 -PARTNER_ACTIVATION_CFG_NAME_FIELD.cpp_type = 9 - -PARTNER_ACTIVATION_CFG_ICON_FIELD.name = "icon" -PARTNER_ACTIVATION_CFG_ICON_FIELD.full_name = ".ftcfg.partner_activation_cfg.icon" -PARTNER_ACTIVATION_CFG_ICON_FIELD.number = 8 -PARTNER_ACTIVATION_CFG_ICON_FIELD.index = 7 -PARTNER_ACTIVATION_CFG_ICON_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_ICON_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_ICON_FIELD.default_value = 0 -PARTNER_ACTIVATION_CFG_ICON_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_ICON_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_DESC_FIELD.name = "desc" -PARTNER_ACTIVATION_CFG_DESC_FIELD.full_name = ".ftcfg.partner_activation_cfg.desc" -PARTNER_ACTIVATION_CFG_DESC_FIELD.number = 9 -PARTNER_ACTIVATION_CFG_DESC_FIELD.index = 8 -PARTNER_ACTIVATION_CFG_DESC_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_DESC_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_DESC_FIELD.default_value = "" -PARTNER_ACTIVATION_CFG_DESC_FIELD.type = 9 -PARTNER_ACTIVATION_CFG_DESC_FIELD.cpp_type = 9 - -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.name = "moodids" -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.full_name = ".ftcfg.partner_activation_cfg.moodids" -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.number = 10 -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.index = 9 -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_MOODIDS_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.name = "proportions" -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.full_name = ".ftcfg.partner_activation_cfg.proportions" -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.number = 11 -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.index = 10 -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.name = "maximpressionlevel" -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.full_name = ".ftcfg.partner_activation_cfg.maximpressionlevel" -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.number = 12 -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.index = 11 -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.default_value = 0 -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_GITS_FIELD.name = "gits" -PARTNER_ACTIVATION_CFG_GITS_FIELD.full_name = ".ftcfg.partner_activation_cfg.gits" -PARTNER_ACTIVATION_CFG_GITS_FIELD.number = 13 -PARTNER_ACTIVATION_CFG_GITS_FIELD.index = 12 -PARTNER_ACTIVATION_CFG_GITS_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_GITS_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_GITS_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_GITS_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_GITS_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.name = "presentation1" -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.full_name = ".ftcfg.partner_activation_cfg.presentation1" -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.number = 14 -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.index = 13 -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.name = "presentation2" -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.full_name = ".ftcfg.partner_activation_cfg.presentation2" -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.number = 15 -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.index = 14 -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.name = "presentation3" -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.full_name = ".ftcfg.partner_activation_cfg.presentation3" -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.number = 16 -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.index = 15 -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.label = 3 -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.default_value = {} -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.type = 5 -PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD.cpp_type = 1 - -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.name = "move_head" -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.full_name = ".ftcfg.partner_activation_cfg.move_head" -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.number = 17 -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.index = 16 -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.default_value = "" -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.type = 9 -PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD.cpp_type = 9 - -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.name = "head_time" -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.full_name = ".ftcfg.partner_activation_cfg.head_time" -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.number = 18 -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.index = 17 -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.default_value = 0.0 -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.type = 2 -PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD.cpp_type = 6 - -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.name = "move_body" -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.full_name = ".ftcfg.partner_activation_cfg.move_body" -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.number = 19 -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.index = 18 -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.default_value = "" -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.type = 9 -PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD.cpp_type = 9 - -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.name = "body_time" -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.full_name = ".ftcfg.partner_activation_cfg.body_time" -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.number = 20 -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.index = 19 -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.default_value = 0.0 -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.type = 2 -PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD.cpp_type = 6 - -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.name = "move_leg" -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.full_name = ".ftcfg.partner_activation_cfg.move_leg" -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.number = 21 -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.index = 20 -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.default_value = "" -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.type = 9 -PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD.cpp_type = 9 - -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.name = "leg_time" -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.full_name = ".ftcfg.partner_activation_cfg.leg_time" -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.number = 22 -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.index = 21 -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.default_value = 0.0 -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.type = 2 -PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD.cpp_type = 6 - -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.name = "move_promote" -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.full_name = ".ftcfg.partner_activation_cfg.move_promote" -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.number = 23 -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.index = 22 -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.default_value = "" -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.type = 9 -PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD.cpp_type = 9 - -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.name = "pronote_time" -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.full_name = ".ftcfg.partner_activation_cfg.pronote_time" -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.number = 24 -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.index = 23 -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.label = 2 -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.default_value = 0.0 -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.type = 2 -PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD.cpp_type = 6 - -PARTNER_ACTIVATION_CFG.name = "partner_activation_cfg" -PARTNER_ACTIVATION_CFG.full_name = ".ftcfg.partner_activation_cfg" -PARTNER_ACTIVATION_CFG.nested_types = {} -PARTNER_ACTIVATION_CFG.enum_types = {} -PARTNER_ACTIVATION_CFG.fields = {PARTNER_ACTIVATION_CFG_ID_FIELD, PARTNER_ACTIVATION_CFG_PLOTID_FIELD, PARTNER_ACTIVATION_CFG_BRANCHPLOTID_FIELD, PARTNER_ACTIVATION_CFG_PARTNERID_FIELD, PARTNER_ACTIVATION_CFG_PARTNERIMPRESSIONLEVEL_FIELD, PARTNER_ACTIVATION_CFG_COMBATPOWER_FIELD, PARTNER_ACTIVATION_CFG_NAME_FIELD, PARTNER_ACTIVATION_CFG_ICON_FIELD, PARTNER_ACTIVATION_CFG_DESC_FIELD, PARTNER_ACTIVATION_CFG_MOODIDS_FIELD, PARTNER_ACTIVATION_CFG_PROPORTIONS_FIELD, PARTNER_ACTIVATION_CFG_MAXIMPRESSIONLEVEL_FIELD, PARTNER_ACTIVATION_CFG_GITS_FIELD, PARTNER_ACTIVATION_CFG_PRESENTATION1_FIELD, PARTNER_ACTIVATION_CFG_PRESENTATION2_FIELD, PARTNER_ACTIVATION_CFG_PRESENTATION3_FIELD, PARTNER_ACTIVATION_CFG_MOVE_HEAD_FIELD, PARTNER_ACTIVATION_CFG_HEAD_TIME_FIELD, PARTNER_ACTIVATION_CFG_MOVE_BODY_FIELD, PARTNER_ACTIVATION_CFG_BODY_TIME_FIELD, PARTNER_ACTIVATION_CFG_MOVE_LEG_FIELD, PARTNER_ACTIVATION_CFG_LEG_TIME_FIELD, PARTNER_ACTIVATION_CFG_MOVE_PROMOTE_FIELD, PARTNER_ACTIVATION_CFG_PRONOTE_TIME_FIELD} -PARTNER_ACTIVATION_CFG.is_extendable = false -PARTNER_ACTIVATION_CFG.extensions = {} -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.name = "items" -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_activation_cfgs.items" -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.number = 1 -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.index = 0 -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.label = 3 -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.message_type = PARTNER_ACTIVATION_CFG -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.type = 11 -PARTNER_ACTIVATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_ACTIVATION_CFGS.name = "partner_activation_cfgs" -PARTNER_ACTIVATION_CFGS.full_name = ".ftcfg.partner_activation_cfgs" -PARTNER_ACTIVATION_CFGS.nested_types = {} -PARTNER_ACTIVATION_CFGS.enum_types = {} -PARTNER_ACTIVATION_CFGS.fields = {PARTNER_ACTIVATION_CFGS_ITEMS_FIELD} -PARTNER_ACTIVATION_CFGS.is_extendable = false -PARTNER_ACTIVATION_CFGS.extensions = {} -PARTNER_MOOD_CFG_ID_FIELD.name = "id" -PARTNER_MOOD_CFG_ID_FIELD.full_name = ".ftcfg.partner_mood_cfg.id" -PARTNER_MOOD_CFG_ID_FIELD.number = 1 -PARTNER_MOOD_CFG_ID_FIELD.index = 0 -PARTNER_MOOD_CFG_ID_FIELD.label = 2 -PARTNER_MOOD_CFG_ID_FIELD.has_default_value = false -PARTNER_MOOD_CFG_ID_FIELD.default_value = 0 -PARTNER_MOOD_CFG_ID_FIELD.type = 5 -PARTNER_MOOD_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_MOOD_CFG_GIFTID_FIELD.name = "giftid" -PARTNER_MOOD_CFG_GIFTID_FIELD.full_name = ".ftcfg.partner_mood_cfg.giftid" -PARTNER_MOOD_CFG_GIFTID_FIELD.number = 2 -PARTNER_MOOD_CFG_GIFTID_FIELD.index = 1 -PARTNER_MOOD_CFG_GIFTID_FIELD.label = 3 -PARTNER_MOOD_CFG_GIFTID_FIELD.has_default_value = false -PARTNER_MOOD_CFG_GIFTID_FIELD.default_value = {} -PARTNER_MOOD_CFG_GIFTID_FIELD.type = 5 -PARTNER_MOOD_CFG_GIFTID_FIELD.cpp_type = 1 - -PARTNER_MOOD_CFG_MOODTEXT_FIELD.name = "moodtext" -PARTNER_MOOD_CFG_MOODTEXT_FIELD.full_name = ".ftcfg.partner_mood_cfg.moodtext" -PARTNER_MOOD_CFG_MOODTEXT_FIELD.number = 3 -PARTNER_MOOD_CFG_MOODTEXT_FIELD.index = 2 -PARTNER_MOOD_CFG_MOODTEXT_FIELD.label = 2 -PARTNER_MOOD_CFG_MOODTEXT_FIELD.has_default_value = false -PARTNER_MOOD_CFG_MOODTEXT_FIELD.default_value = "" -PARTNER_MOOD_CFG_MOODTEXT_FIELD.type = 9 -PARTNER_MOOD_CFG_MOODTEXT_FIELD.cpp_type = 9 - -PARTNER_MOOD_CFG_MULTIPLE_FIELD.name = "multiple" -PARTNER_MOOD_CFG_MULTIPLE_FIELD.full_name = ".ftcfg.partner_mood_cfg.multiple" -PARTNER_MOOD_CFG_MULTIPLE_FIELD.number = 4 -PARTNER_MOOD_CFG_MULTIPLE_FIELD.index = 3 -PARTNER_MOOD_CFG_MULTIPLE_FIELD.label = 2 -PARTNER_MOOD_CFG_MULTIPLE_FIELD.has_default_value = false -PARTNER_MOOD_CFG_MULTIPLE_FIELD.default_value = 0 -PARTNER_MOOD_CFG_MULTIPLE_FIELD.type = 5 -PARTNER_MOOD_CFG_MULTIPLE_FIELD.cpp_type = 1 - -PARTNER_MOOD_CFG.name = "partner_mood_cfg" -PARTNER_MOOD_CFG.full_name = ".ftcfg.partner_mood_cfg" -PARTNER_MOOD_CFG.nested_types = {} -PARTNER_MOOD_CFG.enum_types = {} -PARTNER_MOOD_CFG.fields = {PARTNER_MOOD_CFG_ID_FIELD, PARTNER_MOOD_CFG_GIFTID_FIELD, PARTNER_MOOD_CFG_MOODTEXT_FIELD, PARTNER_MOOD_CFG_MULTIPLE_FIELD} -PARTNER_MOOD_CFG.is_extendable = false -PARTNER_MOOD_CFG.extensions = {} -PARTNER_MOOD_CFGS_ITEMS_FIELD.name = "items" -PARTNER_MOOD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_mood_cfgs.items" -PARTNER_MOOD_CFGS_ITEMS_FIELD.number = 1 -PARTNER_MOOD_CFGS_ITEMS_FIELD.index = 0 -PARTNER_MOOD_CFGS_ITEMS_FIELD.label = 3 -PARTNER_MOOD_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_MOOD_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_MOOD_CFGS_ITEMS_FIELD.message_type = PARTNER_MOOD_CFG -PARTNER_MOOD_CFGS_ITEMS_FIELD.type = 11 -PARTNER_MOOD_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_MOOD_CFGS.name = "partner_mood_cfgs" -PARTNER_MOOD_CFGS.full_name = ".ftcfg.partner_mood_cfgs" -PARTNER_MOOD_CFGS.nested_types = {} -PARTNER_MOOD_CFGS.enum_types = {} -PARTNER_MOOD_CFGS.fields = {PARTNER_MOOD_CFGS_ITEMS_FIELD} -PARTNER_MOOD_CFGS.is_extendable = false -PARTNER_MOOD_CFGS.extensions = {} -PARTNER_IMPRESSION_CFG_ID_FIELD.name = "id" -PARTNER_IMPRESSION_CFG_ID_FIELD.full_name = ".ftcfg.partner_impression_cfg.id" -PARTNER_IMPRESSION_CFG_ID_FIELD.number = 1 -PARTNER_IMPRESSION_CFG_ID_FIELD.index = 0 -PARTNER_IMPRESSION_CFG_ID_FIELD.label = 2 -PARTNER_IMPRESSION_CFG_ID_FIELD.has_default_value = false -PARTNER_IMPRESSION_CFG_ID_FIELD.default_value = 0 -PARTNER_IMPRESSION_CFG_ID_FIELD.type = 5 -PARTNER_IMPRESSION_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.name = "partnerid" -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.full_name = ".ftcfg.partner_impression_cfg.partnerid" -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.number = 2 -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.index = 1 -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.label = 2 -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.has_default_value = false -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.default_value = 0 -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.type = 5 -PARTNER_IMPRESSION_CFG_PARTNERID_FIELD.cpp_type = 1 - -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.name = "level" -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.full_name = ".ftcfg.partner_impression_cfg.level" -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.number = 3 -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.index = 2 -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.label = 2 -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.has_default_value = false -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.default_value = 0 -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.type = 5 -PARTNER_IMPRESSION_CFG_LEVEL_FIELD.cpp_type = 1 - -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.name = "biographyid" -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.full_name = ".ftcfg.partner_impression_cfg.biographyid" -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.number = 4 -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.index = 3 -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.label = 2 -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.has_default_value = false -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.default_value = 0 -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.type = 5 -PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD.cpp_type = 1 - -PARTNER_IMPRESSION_CFG.name = "partner_impression_cfg" -PARTNER_IMPRESSION_CFG.full_name = ".ftcfg.partner_impression_cfg" -PARTNER_IMPRESSION_CFG.nested_types = {} -PARTNER_IMPRESSION_CFG.enum_types = {} -PARTNER_IMPRESSION_CFG.fields = {PARTNER_IMPRESSION_CFG_ID_FIELD, PARTNER_IMPRESSION_CFG_PARTNERID_FIELD, PARTNER_IMPRESSION_CFG_LEVEL_FIELD, PARTNER_IMPRESSION_CFG_BIOGRAPHYID_FIELD} -PARTNER_IMPRESSION_CFG.is_extendable = false -PARTNER_IMPRESSION_CFG.extensions = {} -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.name = "items" -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_impression_cfgs.items" -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.number = 1 -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.index = 0 -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.label = 3 -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.message_type = PARTNER_IMPRESSION_CFG -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.type = 11 -PARTNER_IMPRESSION_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_IMPRESSION_CFGS.name = "partner_impression_cfgs" -PARTNER_IMPRESSION_CFGS.full_name = ".ftcfg.partner_impression_cfgs" -PARTNER_IMPRESSION_CFGS.nested_types = {} -PARTNER_IMPRESSION_CFGS.enum_types = {} -PARTNER_IMPRESSION_CFGS.fields = {PARTNER_IMPRESSION_CFGS_ITEMS_FIELD} -PARTNER_IMPRESSION_CFGS.is_extendable = false -PARTNER_IMPRESSION_CFGS.extensions = {} -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.name = "id" -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.full_name = ".ftcfg.partner_impre_levelup_cfg.id" -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.number = 1 -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.index = 0 -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.label = 2 -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.has_default_value = false -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.default_value = 0 -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.type = 5 -PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.name = "type" -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.full_name = ".ftcfg.partner_impre_levelup_cfg.type" -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.number = 2 -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.index = 1 -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.label = 2 -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.has_default_value = false -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.default_value = 0 -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.type = 5 -PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD.cpp_type = 1 - -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.name = "level" -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.full_name = ".ftcfg.partner_impre_levelup_cfg.level" -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.number = 3 -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.index = 2 -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.label = 2 -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.has_default_value = false -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.default_value = 0 -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.type = 5 -PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD.cpp_type = 1 - -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.name = "exp" -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.full_name = ".ftcfg.partner_impre_levelup_cfg.exp" -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.number = 4 -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.index = 3 -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.label = 2 -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.has_default_value = false -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.default_value = 0 -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.type = 5 -PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD.cpp_type = 1 - -PARTNER_IMPRE_LEVELUP_CFG.name = "partner_impre_levelup_cfg" -PARTNER_IMPRE_LEVELUP_CFG.full_name = ".ftcfg.partner_impre_levelup_cfg" -PARTNER_IMPRE_LEVELUP_CFG.nested_types = {} -PARTNER_IMPRE_LEVELUP_CFG.enum_types = {} -PARTNER_IMPRE_LEVELUP_CFG.fields = {PARTNER_IMPRE_LEVELUP_CFG_ID_FIELD, PARTNER_IMPRE_LEVELUP_CFG_TYPE_FIELD, PARTNER_IMPRE_LEVELUP_CFG_LEVEL_FIELD, PARTNER_IMPRE_LEVELUP_CFG_EXP_FIELD} -PARTNER_IMPRE_LEVELUP_CFG.is_extendable = false -PARTNER_IMPRE_LEVELUP_CFG.extensions = {} -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.name = "items" -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_impre_levelup_cfgs.items" -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.number = 1 -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.index = 0 -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.label = 3 -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.message_type = PARTNER_IMPRE_LEVELUP_CFG -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.type = 11 -PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_IMPRE_LEVELUP_CFGS.name = "partner_impre_levelup_cfgs" -PARTNER_IMPRE_LEVELUP_CFGS.full_name = ".ftcfg.partner_impre_levelup_cfgs" -PARTNER_IMPRE_LEVELUP_CFGS.nested_types = {} -PARTNER_IMPRE_LEVELUP_CFGS.enum_types = {} -PARTNER_IMPRE_LEVELUP_CFGS.fields = {PARTNER_IMPRE_LEVELUP_CFGS_ITEMS_FIELD} -PARTNER_IMPRE_LEVELUP_CFGS.is_extendable = false -PARTNER_IMPRE_LEVELUP_CFGS.extensions = {} -PARTNER_MULTIPLE_CFG_ID_FIELD.name = "id" -PARTNER_MULTIPLE_CFG_ID_FIELD.full_name = ".ftcfg.partner_multiple_cfg.id" -PARTNER_MULTIPLE_CFG_ID_FIELD.number = 1 -PARTNER_MULTIPLE_CFG_ID_FIELD.index = 0 -PARTNER_MULTIPLE_CFG_ID_FIELD.label = 2 -PARTNER_MULTIPLE_CFG_ID_FIELD.has_default_value = false -PARTNER_MULTIPLE_CFG_ID_FIELD.default_value = 0 -PARTNER_MULTIPLE_CFG_ID_FIELD.type = 5 -PARTNER_MULTIPLE_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.name = "clickgrowth" -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.full_name = ".ftcfg.partner_multiple_cfg.clickgrowth" -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.number = 2 -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.index = 1 -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.label = 2 -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.has_default_value = false -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.default_value = 0 -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.type = 5 -PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD.cpp_type = 1 - -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.name = "probability" -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.full_name = ".ftcfg.partner_multiple_cfg.probability" -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.number = 3 -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.index = 2 -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.label = 3 -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.has_default_value = false -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.default_value = {} -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.type = 5 -PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD.cpp_type = 1 - -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.name = "multiple" -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.full_name = ".ftcfg.partner_multiple_cfg.multiple" -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.number = 4 -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.index = 3 -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.label = 3 -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.has_default_value = false -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.default_value = {} -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.type = 5 -PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD.cpp_type = 1 - -PARTNER_MULTIPLE_CFG.name = "partner_multiple_cfg" -PARTNER_MULTIPLE_CFG.full_name = ".ftcfg.partner_multiple_cfg" -PARTNER_MULTIPLE_CFG.nested_types = {} -PARTNER_MULTIPLE_CFG.enum_types = {} -PARTNER_MULTIPLE_CFG.fields = {PARTNER_MULTIPLE_CFG_ID_FIELD, PARTNER_MULTIPLE_CFG_CLICKGROWTH_FIELD, PARTNER_MULTIPLE_CFG_PROBABILITY_FIELD, PARTNER_MULTIPLE_CFG_MULTIPLE_FIELD} -PARTNER_MULTIPLE_CFG.is_extendable = false -PARTNER_MULTIPLE_CFG.extensions = {} -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.name = "items" -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_multiple_cfgs.items" -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.number = 1 -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.index = 0 -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.label = 3 -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.message_type = PARTNER_MULTIPLE_CFG -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.type = 11 -PARTNER_MULTIPLE_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_MULTIPLE_CFGS.name = "partner_multiple_cfgs" -PARTNER_MULTIPLE_CFGS.full_name = ".ftcfg.partner_multiple_cfgs" -PARTNER_MULTIPLE_CFGS.nested_types = {} -PARTNER_MULTIPLE_CFGS.enum_types = {} -PARTNER_MULTIPLE_CFGS.fields = {PARTNER_MULTIPLE_CFGS_ITEMS_FIELD} -PARTNER_MULTIPLE_CFGS.is_extendable = false -PARTNER_MULTIPLE_CFGS.extensions = {} -PARTNER_STAR_CFG_ID_FIELD.name = "id" -PARTNER_STAR_CFG_ID_FIELD.full_name = ".ftcfg.partner_star_cfg.id" -PARTNER_STAR_CFG_ID_FIELD.number = 1 -PARTNER_STAR_CFG_ID_FIELD.index = 0 -PARTNER_STAR_CFG_ID_FIELD.label = 2 -PARTNER_STAR_CFG_ID_FIELD.has_default_value = false -PARTNER_STAR_CFG_ID_FIELD.default_value = 0 -PARTNER_STAR_CFG_ID_FIELD.type = 5 -PARTNER_STAR_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.name = "partner_type" -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.full_name = ".ftcfg.partner_star_cfg.partner_type" -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.number = 2 -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.index = 1 -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.label = 2 -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.has_default_value = false -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.default_value = 0 -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.type = 5 -PARTNER_STAR_CFG_PARTNER_TYPE_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_STAR_FIELD.name = "star" -PARTNER_STAR_CFG_STAR_FIELD.full_name = ".ftcfg.partner_star_cfg.star" -PARTNER_STAR_CFG_STAR_FIELD.number = 3 -PARTNER_STAR_CFG_STAR_FIELD.index = 2 -PARTNER_STAR_CFG_STAR_FIELD.label = 2 -PARTNER_STAR_CFG_STAR_FIELD.has_default_value = false -PARTNER_STAR_CFG_STAR_FIELD.default_value = 0 -PARTNER_STAR_CFG_STAR_FIELD.type = 5 -PARTNER_STAR_CFG_STAR_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.name = "study_group" -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.full_name = ".ftcfg.partner_star_cfg.study_group" -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.number = 4 -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.index = 3 -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.label = 2 -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.has_default_value = false -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.default_value = 0 -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.type = 5 -PARTNER_STAR_CFG_STUDY_GROUP_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.name = "study_limit" -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.full_name = ".ftcfg.partner_star_cfg.study_limit" -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.number = 5 -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.index = 4 -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.label = 2 -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.has_default_value = false -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.default_value = 0 -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.type = 5 -PARTNER_STAR_CFG_STUDY_LIMIT_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_STUDY_FIELD.name = "study" -PARTNER_STAR_CFG_STUDY_FIELD.full_name = ".ftcfg.partner_star_cfg.study" -PARTNER_STAR_CFG_STUDY_FIELD.number = 6 -PARTNER_STAR_CFG_STUDY_FIELD.index = 5 -PARTNER_STAR_CFG_STUDY_FIELD.label = 2 -PARTNER_STAR_CFG_STUDY_FIELD.has_default_value = false -PARTNER_STAR_CFG_STUDY_FIELD.default_value = 0 -PARTNER_STAR_CFG_STUDY_FIELD.type = 5 -PARTNER_STAR_CFG_STUDY_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.name = "study_item" -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.full_name = ".ftcfg.partner_star_cfg.study_item" -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.number = 7 -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.index = 6 -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.label = 2 -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.has_default_value = false -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.default_value = 0 -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.type = 5 -PARTNER_STAR_CFG_STUDY_ITEM_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_STUDY_COST_FIELD.name = "study_cost" -PARTNER_STAR_CFG_STUDY_COST_FIELD.full_name = ".ftcfg.partner_star_cfg.study_cost" -PARTNER_STAR_CFG_STUDY_COST_FIELD.number = 8 -PARTNER_STAR_CFG_STUDY_COST_FIELD.index = 7 -PARTNER_STAR_CFG_STUDY_COST_FIELD.label = 2 -PARTNER_STAR_CFG_STUDY_COST_FIELD.has_default_value = false -PARTNER_STAR_CFG_STUDY_COST_FIELD.default_value = 0 -PARTNER_STAR_CFG_STUDY_COST_FIELD.type = 5 -PARTNER_STAR_CFG_STUDY_COST_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.name = "exclude_item" -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.full_name = ".ftcfg.partner_star_cfg.exclude_item" -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.number = 9 -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.index = 8 -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.label = 2 -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.has_default_value = false -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.default_value = 0 -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.type = 5 -PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.name = "exclude_cost" -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.full_name = ".ftcfg.partner_star_cfg.exclude_cost" -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.number = 10 -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.index = 9 -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.label = 2 -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.has_default_value = false -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.default_value = 0 -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.type = 5 -PARTNER_STAR_CFG_EXCLUDE_COST_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_STAR_PROP1_FIELD.name = "star_prop1" -PARTNER_STAR_CFG_STAR_PROP1_FIELD.full_name = ".ftcfg.partner_star_cfg.star_prop1" -PARTNER_STAR_CFG_STAR_PROP1_FIELD.number = 11 -PARTNER_STAR_CFG_STAR_PROP1_FIELD.index = 10 -PARTNER_STAR_CFG_STAR_PROP1_FIELD.label = 2 -PARTNER_STAR_CFG_STAR_PROP1_FIELD.has_default_value = false -PARTNER_STAR_CFG_STAR_PROP1_FIELD.default_value = "" -PARTNER_STAR_CFG_STAR_PROP1_FIELD.type = 9 -PARTNER_STAR_CFG_STAR_PROP1_FIELD.cpp_type = 9 - -PARTNER_STAR_CFG_STAR_PROP2_FIELD.name = "star_prop2" -PARTNER_STAR_CFG_STAR_PROP2_FIELD.full_name = ".ftcfg.partner_star_cfg.star_prop2" -PARTNER_STAR_CFG_STAR_PROP2_FIELD.number = 12 -PARTNER_STAR_CFG_STAR_PROP2_FIELD.index = 11 -PARTNER_STAR_CFG_STAR_PROP2_FIELD.label = 2 -PARTNER_STAR_CFG_STAR_PROP2_FIELD.has_default_value = false -PARTNER_STAR_CFG_STAR_PROP2_FIELD.default_value = "" -PARTNER_STAR_CFG_STAR_PROP2_FIELD.type = 9 -PARTNER_STAR_CFG_STAR_PROP2_FIELD.cpp_type = 9 - -PARTNER_STAR_CFG_STAR_PROP3_FIELD.name = "star_prop3" -PARTNER_STAR_CFG_STAR_PROP3_FIELD.full_name = ".ftcfg.partner_star_cfg.star_prop3" -PARTNER_STAR_CFG_STAR_PROP3_FIELD.number = 13 -PARTNER_STAR_CFG_STAR_PROP3_FIELD.index = 12 -PARTNER_STAR_CFG_STAR_PROP3_FIELD.label = 2 -PARTNER_STAR_CFG_STAR_PROP3_FIELD.has_default_value = false -PARTNER_STAR_CFG_STAR_PROP3_FIELD.default_value = "" -PARTNER_STAR_CFG_STAR_PROP3_FIELD.type = 9 -PARTNER_STAR_CFG_STAR_PROP3_FIELD.cpp_type = 9 - -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.name = "upstar_item" -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.full_name = ".ftcfg.partner_star_cfg.upstar_item" -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.number = 14 -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.index = 13 -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.label = 2 -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.has_default_value = false -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.default_value = 0 -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.type = 5 -PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.name = "upstar_cost" -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.full_name = ".ftcfg.partner_star_cfg.upstar_cost" -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.number = 15 -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.index = 14 -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.label = 2 -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.has_default_value = false -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.default_value = 0 -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.type = 5 -PARTNER_STAR_CFG_UPSTAR_COST_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.name = "rebuild_item" -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.full_name = ".ftcfg.partner_star_cfg.rebuild_item" -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.number = 16 -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.index = 15 -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.label = 2 -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.has_default_value = false -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.default_value = 0 -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.type = 5 -PARTNER_STAR_CFG_REBUILD_ITEM_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG_REBUILD_COST_FIELD.name = "rebuild_cost" -PARTNER_STAR_CFG_REBUILD_COST_FIELD.full_name = ".ftcfg.partner_star_cfg.rebuild_cost" -PARTNER_STAR_CFG_REBUILD_COST_FIELD.number = 17 -PARTNER_STAR_CFG_REBUILD_COST_FIELD.index = 16 -PARTNER_STAR_CFG_REBUILD_COST_FIELD.label = 2 -PARTNER_STAR_CFG_REBUILD_COST_FIELD.has_default_value = false -PARTNER_STAR_CFG_REBUILD_COST_FIELD.default_value = 0 -PARTNER_STAR_CFG_REBUILD_COST_FIELD.type = 5 -PARTNER_STAR_CFG_REBUILD_COST_FIELD.cpp_type = 1 - -PARTNER_STAR_CFG.name = "partner_star_cfg" -PARTNER_STAR_CFG.full_name = ".ftcfg.partner_star_cfg" -PARTNER_STAR_CFG.nested_types = {} -PARTNER_STAR_CFG.enum_types = {} -PARTNER_STAR_CFG.fields = {PARTNER_STAR_CFG_ID_FIELD, PARTNER_STAR_CFG_PARTNER_TYPE_FIELD, PARTNER_STAR_CFG_STAR_FIELD, PARTNER_STAR_CFG_STUDY_GROUP_FIELD, PARTNER_STAR_CFG_STUDY_LIMIT_FIELD, PARTNER_STAR_CFG_STUDY_FIELD, PARTNER_STAR_CFG_STUDY_ITEM_FIELD, PARTNER_STAR_CFG_STUDY_COST_FIELD, PARTNER_STAR_CFG_EXCLUDE_ITEM_FIELD, PARTNER_STAR_CFG_EXCLUDE_COST_FIELD, PARTNER_STAR_CFG_STAR_PROP1_FIELD, PARTNER_STAR_CFG_STAR_PROP2_FIELD, PARTNER_STAR_CFG_STAR_PROP3_FIELD, PARTNER_STAR_CFG_UPSTAR_ITEM_FIELD, PARTNER_STAR_CFG_UPSTAR_COST_FIELD, PARTNER_STAR_CFG_REBUILD_ITEM_FIELD, PARTNER_STAR_CFG_REBUILD_COST_FIELD} -PARTNER_STAR_CFG.is_extendable = false -PARTNER_STAR_CFG.extensions = {} -PARTNER_STAR_CFGS_ITEMS_FIELD.name = "items" -PARTNER_STAR_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_star_cfgs.items" -PARTNER_STAR_CFGS_ITEMS_FIELD.number = 1 -PARTNER_STAR_CFGS_ITEMS_FIELD.index = 0 -PARTNER_STAR_CFGS_ITEMS_FIELD.label = 3 -PARTNER_STAR_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_STAR_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_STAR_CFGS_ITEMS_FIELD.message_type = PARTNER_STAR_CFG -PARTNER_STAR_CFGS_ITEMS_FIELD.type = 11 -PARTNER_STAR_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_STAR_CFGS.name = "partner_star_cfgs" -PARTNER_STAR_CFGS.full_name = ".ftcfg.partner_star_cfgs" -PARTNER_STAR_CFGS.nested_types = {} -PARTNER_STAR_CFGS.enum_types = {} -PARTNER_STAR_CFGS.fields = {PARTNER_STAR_CFGS_ITEMS_FIELD} -PARTNER_STAR_CFGS.is_extendable = false -PARTNER_STAR_CFGS.extensions = {} -PARTNER_STUDY_CFG_ID_FIELD.name = "id" -PARTNER_STUDY_CFG_ID_FIELD.full_name = ".ftcfg.partner_study_cfg.id" -PARTNER_STUDY_CFG_ID_FIELD.number = 1 -PARTNER_STUDY_CFG_ID_FIELD.index = 0 -PARTNER_STUDY_CFG_ID_FIELD.label = 2 -PARTNER_STUDY_CFG_ID_FIELD.has_default_value = false -PARTNER_STUDY_CFG_ID_FIELD.default_value = 0 -PARTNER_STUDY_CFG_ID_FIELD.type = 5 -PARTNER_STUDY_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.name = "study_group" -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.full_name = ".ftcfg.partner_study_cfg.study_group" -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.number = 2 -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.index = 1 -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.label = 2 -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.has_default_value = false -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.default_value = 0 -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.type = 5 -PARTNER_STUDY_CFG_STUDY_GROUP_FIELD.cpp_type = 1 - -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.name = "study_prop" -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.full_name = ".ftcfg.partner_study_cfg.study_prop" -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.number = 3 -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.index = 2 -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.label = 2 -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.has_default_value = false -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.default_value = "" -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.type = 9 -PARTNER_STUDY_CFG_STUDY_PROP_FIELD.cpp_type = 9 - -PARTNER_STUDY_CFG.name = "partner_study_cfg" -PARTNER_STUDY_CFG.full_name = ".ftcfg.partner_study_cfg" -PARTNER_STUDY_CFG.nested_types = {} -PARTNER_STUDY_CFG.enum_types = {} -PARTNER_STUDY_CFG.fields = {PARTNER_STUDY_CFG_ID_FIELD, PARTNER_STUDY_CFG_STUDY_GROUP_FIELD, PARTNER_STUDY_CFG_STUDY_PROP_FIELD} -PARTNER_STUDY_CFG.is_extendable = false -PARTNER_STUDY_CFG.extensions = {} -PARTNER_STUDY_CFGS_ITEMS_FIELD.name = "items" -PARTNER_STUDY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_study_cfgs.items" -PARTNER_STUDY_CFGS_ITEMS_FIELD.number = 1 -PARTNER_STUDY_CFGS_ITEMS_FIELD.index = 0 -PARTNER_STUDY_CFGS_ITEMS_FIELD.label = 3 -PARTNER_STUDY_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_STUDY_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_STUDY_CFGS_ITEMS_FIELD.message_type = PARTNER_STUDY_CFG -PARTNER_STUDY_CFGS_ITEMS_FIELD.type = 11 -PARTNER_STUDY_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_STUDY_CFGS.name = "partner_study_cfgs" -PARTNER_STUDY_CFGS.full_name = ".ftcfg.partner_study_cfgs" -PARTNER_STUDY_CFGS.nested_types = {} -PARTNER_STUDY_CFGS.enum_types = {} -PARTNER_STUDY_CFGS.fields = {PARTNER_STUDY_CFGS_ITEMS_FIELD} -PARTNER_STUDY_CFGS.is_extendable = false -PARTNER_STUDY_CFGS.extensions = {} -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.name = "id" -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.full_name = ".ftcfg.partner_item_compound_cfg.id" -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.number = 1 -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.index = 0 -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.label = 2 -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.has_default_value = false -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.default_value = 0 -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.type = 13 -PARTNER_ITEM_COMPOUND_CFG_ID_FIELD.cpp_type = 3 - -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.name = "fragment_num" -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.full_name = ".ftcfg.partner_item_compound_cfg.fragment_num" -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.number = 2 -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.index = 1 -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.label = 2 -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.has_default_value = false -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.default_value = 0 -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.type = 5 -PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD.cpp_type = 1 - -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.name = "need_fragment_num" -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.full_name = ".ftcfg.partner_item_compound_cfg.need_fragment_num" -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.number = 3 -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.index = 2 -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.label = 2 -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.has_default_value = false -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.default_value = 0 -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.type = 5 -PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD.cpp_type = 1 - -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.name = "currency_type" -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.full_name = ".ftcfg.partner_item_compound_cfg.currency_type" -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.number = 4 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.index = 3 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.label = 2 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.has_default_value = false -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.default_value = 0 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.type = 5 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD.cpp_type = 1 - -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.name = "currency_num" -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.full_name = ".ftcfg.partner_item_compound_cfg.currency_num" -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.number = 5 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.index = 4 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.label = 2 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.has_default_value = false -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.default_value = 0 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.type = 5 -PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD.cpp_type = 1 - -PARTNER_ITEM_COMPOUND_CFG.name = "partner_item_compound_cfg" -PARTNER_ITEM_COMPOUND_CFG.full_name = ".ftcfg.partner_item_compound_cfg" -PARTNER_ITEM_COMPOUND_CFG.nested_types = {} -PARTNER_ITEM_COMPOUND_CFG.enum_types = {} -PARTNER_ITEM_COMPOUND_CFG.fields = {PARTNER_ITEM_COMPOUND_CFG_ID_FIELD, PARTNER_ITEM_COMPOUND_CFG_FRAGMENT_NUM_FIELD, PARTNER_ITEM_COMPOUND_CFG_NEED_FRAGMENT_NUM_FIELD, PARTNER_ITEM_COMPOUND_CFG_CURRENCY_TYPE_FIELD, PARTNER_ITEM_COMPOUND_CFG_CURRENCY_NUM_FIELD} -PARTNER_ITEM_COMPOUND_CFG.is_extendable = false -PARTNER_ITEM_COMPOUND_CFG.extensions = {} -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.name = "items" -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_item_compound_cfgs.items" -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.number = 1 -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.index = 0 -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.label = 3 -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.message_type = PARTNER_ITEM_COMPOUND_CFG -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.type = 11 -PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_ITEM_COMPOUND_CFGS.name = "partner_item_compound_cfgs" -PARTNER_ITEM_COMPOUND_CFGS.full_name = ".ftcfg.partner_item_compound_cfgs" -PARTNER_ITEM_COMPOUND_CFGS.nested_types = {} -PARTNER_ITEM_COMPOUND_CFGS.enum_types = {} -PARTNER_ITEM_COMPOUND_CFGS.fields = {PARTNER_ITEM_COMPOUND_CFGS_ITEMS_FIELD} -PARTNER_ITEM_COMPOUND_CFGS.is_extendable = false -PARTNER_ITEM_COMPOUND_CFGS.extensions = {} -PARTENR_EXPERIENCE_CFG_KEY_FIELD.name = "key" -PARTENR_EXPERIENCE_CFG_KEY_FIELD.full_name = ".ftcfg.partenr_experience_cfg.key" -PARTENR_EXPERIENCE_CFG_KEY_FIELD.number = 1 -PARTENR_EXPERIENCE_CFG_KEY_FIELD.index = 0 -PARTENR_EXPERIENCE_CFG_KEY_FIELD.label = 2 -PARTENR_EXPERIENCE_CFG_KEY_FIELD.has_default_value = false -PARTENR_EXPERIENCE_CFG_KEY_FIELD.default_value = 0 -PARTENR_EXPERIENCE_CFG_KEY_FIELD.type = 13 -PARTENR_EXPERIENCE_CFG_KEY_FIELD.cpp_type = 3 - -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.name = "cost_item" -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.full_name = ".ftcfg.partenr_experience_cfg.cost_item" -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.number = 2 -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.index = 1 -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.label = 2 -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.has_default_value = false -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.default_value = 0 -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.type = 5 -PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD.cpp_type = 1 - -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.name = "cost_item_num" -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.full_name = ".ftcfg.partenr_experience_cfg.cost_item_num" -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.number = 3 -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.index = 2 -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.label = 2 -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.has_default_value = false -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.default_value = 0 -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.type = 5 -PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD.cpp_type = 1 - -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.name = "experience_num" -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.full_name = ".ftcfg.partenr_experience_cfg.experience_num" -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.number = 4 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.index = 3 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.label = 2 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.has_default_value = false -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.default_value = 0 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.type = 5 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD.cpp_type = 1 - -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.name = "experience_event" -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.full_name = ".ftcfg.partenr_experience_cfg.experience_event" -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.number = 5 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.index = 4 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.label = 3 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.has_default_value = false -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.default_value = {} -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.type = 5 -PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD.cpp_type = 1 - -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.name = "event_type" -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.full_name = ".ftcfg.partenr_experience_cfg.event_type" -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.number = 6 -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.index = 5 -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.label = 3 -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.has_default_value = false -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.default_value = {} -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.type = 5 -PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD.cpp_type = 1 - -PARTENR_EXPERIENCE_CFG.name = "partenr_experience_cfg" -PARTENR_EXPERIENCE_CFG.full_name = ".ftcfg.partenr_experience_cfg" -PARTENR_EXPERIENCE_CFG.nested_types = {} -PARTENR_EXPERIENCE_CFG.enum_types = {} -PARTENR_EXPERIENCE_CFG.fields = {PARTENR_EXPERIENCE_CFG_KEY_FIELD, PARTENR_EXPERIENCE_CFG_COST_ITEM_FIELD, PARTENR_EXPERIENCE_CFG_COST_ITEM_NUM_FIELD, PARTENR_EXPERIENCE_CFG_EXPERIENCE_NUM_FIELD, PARTENR_EXPERIENCE_CFG_EXPERIENCE_EVENT_FIELD, PARTENR_EXPERIENCE_CFG_EVENT_TYPE_FIELD} -PARTENR_EXPERIENCE_CFG.is_extendable = false -PARTENR_EXPERIENCE_CFG.extensions = {} -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.name = "items" -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partenr_experience_cfgs.items" -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.number = 1 -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.index = 0 -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.label = 3 -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.has_default_value = false -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.default_value = {} -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.message_type = PARTENR_EXPERIENCE_CFG -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.type = 11 -PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTENR_EXPERIENCE_CFGS.name = "partenr_experience_cfgs" -PARTENR_EXPERIENCE_CFGS.full_name = ".ftcfg.partenr_experience_cfgs" -PARTENR_EXPERIENCE_CFGS.nested_types = {} -PARTENR_EXPERIENCE_CFGS.enum_types = {} -PARTENR_EXPERIENCE_CFGS.fields = {PARTENR_EXPERIENCE_CFGS_ITEMS_FIELD} -PARTENR_EXPERIENCE_CFGS.is_extendable = false -PARTENR_EXPERIENCE_CFGS.extensions = {} -PARTNER_BASE_CFG_ID_FIELD.name = "id" -PARTNER_BASE_CFG_ID_FIELD.full_name = ".ftcfg.partner_base_cfg.id" -PARTNER_BASE_CFG_ID_FIELD.number = 1 -PARTNER_BASE_CFG_ID_FIELD.index = 0 -PARTNER_BASE_CFG_ID_FIELD.label = 2 -PARTNER_BASE_CFG_ID_FIELD.has_default_value = false -PARTNER_BASE_CFG_ID_FIELD.default_value = 0 -PARTNER_BASE_CFG_ID_FIELD.type = 13 -PARTNER_BASE_CFG_ID_FIELD.cpp_type = 3 - -PARTNER_BASE_CFG_SHOW_NAME_FIELD.name = "show_name" -PARTNER_BASE_CFG_SHOW_NAME_FIELD.full_name = ".ftcfg.partner_base_cfg.show_name" -PARTNER_BASE_CFG_SHOW_NAME_FIELD.number = 2 -PARTNER_BASE_CFG_SHOW_NAME_FIELD.index = 1 -PARTNER_BASE_CFG_SHOW_NAME_FIELD.label = 2 -PARTNER_BASE_CFG_SHOW_NAME_FIELD.has_default_value = false -PARTNER_BASE_CFG_SHOW_NAME_FIELD.default_value = "" -PARTNER_BASE_CFG_SHOW_NAME_FIELD.type = 9 -PARTNER_BASE_CFG_SHOW_NAME_FIELD.cpp_type = 9 - -PARTNER_BASE_CFG_LOCK_FIELD.name = "lock" -PARTNER_BASE_CFG_LOCK_FIELD.full_name = ".ftcfg.partner_base_cfg.lock" -PARTNER_BASE_CFG_LOCK_FIELD.number = 3 -PARTNER_BASE_CFG_LOCK_FIELD.index = 2 -PARTNER_BASE_CFG_LOCK_FIELD.label = 2 -PARTNER_BASE_CFG_LOCK_FIELD.has_default_value = false -PARTNER_BASE_CFG_LOCK_FIELD.default_value = 0 -PARTNER_BASE_CFG_LOCK_FIELD.type = 5 -PARTNER_BASE_CFG_LOCK_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_HEAD_FIELD.name = "head" -PARTNER_BASE_CFG_HEAD_FIELD.full_name = ".ftcfg.partner_base_cfg.head" -PARTNER_BASE_CFG_HEAD_FIELD.number = 4 -PARTNER_BASE_CFG_HEAD_FIELD.index = 3 -PARTNER_BASE_CFG_HEAD_FIELD.label = 2 -PARTNER_BASE_CFG_HEAD_FIELD.has_default_value = false -PARTNER_BASE_CFG_HEAD_FIELD.default_value = 0 -PARTNER_BASE_CFG_HEAD_FIELD.type = 5 -PARTNER_BASE_CFG_HEAD_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_DRAW_FIELD.name = "draw" -PARTNER_BASE_CFG_DRAW_FIELD.full_name = ".ftcfg.partner_base_cfg.draw" -PARTNER_BASE_CFG_DRAW_FIELD.number = 5 -PARTNER_BASE_CFG_DRAW_FIELD.index = 4 -PARTNER_BASE_CFG_DRAW_FIELD.label = 2 -PARTNER_BASE_CFG_DRAW_FIELD.has_default_value = false -PARTNER_BASE_CFG_DRAW_FIELD.default_value = 0 -PARTNER_BASE_CFG_DRAW_FIELD.type = 5 -PARTNER_BASE_CFG_DRAW_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_TYPE_FIELD.name = "type" -PARTNER_BASE_CFG_TYPE_FIELD.full_name = ".ftcfg.partner_base_cfg.type" -PARTNER_BASE_CFG_TYPE_FIELD.number = 6 -PARTNER_BASE_CFG_TYPE_FIELD.index = 5 -PARTNER_BASE_CFG_TYPE_FIELD.label = 2 -PARTNER_BASE_CFG_TYPE_FIELD.has_default_value = false -PARTNER_BASE_CFG_TYPE_FIELD.default_value = 0 -PARTNER_BASE_CFG_TYPE_FIELD.type = 5 -PARTNER_BASE_CFG_TYPE_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_POKEDEX_FIELD.name = "pokedex" -PARTNER_BASE_CFG_POKEDEX_FIELD.full_name = ".ftcfg.partner_base_cfg.pokedex" -PARTNER_BASE_CFG_POKEDEX_FIELD.number = 7 -PARTNER_BASE_CFG_POKEDEX_FIELD.index = 6 -PARTNER_BASE_CFG_POKEDEX_FIELD.label = 2 -PARTNER_BASE_CFG_POKEDEX_FIELD.has_default_value = false -PARTNER_BASE_CFG_POKEDEX_FIELD.default_value = 0 -PARTNER_BASE_CFG_POKEDEX_FIELD.type = 5 -PARTNER_BASE_CFG_POKEDEX_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_SKILLS_FIELD.name = "skills" -PARTNER_BASE_CFG_SKILLS_FIELD.full_name = ".ftcfg.partner_base_cfg.skills" -PARTNER_BASE_CFG_SKILLS_FIELD.number = 8 -PARTNER_BASE_CFG_SKILLS_FIELD.index = 7 -PARTNER_BASE_CFG_SKILLS_FIELD.label = 3 -PARTNER_BASE_CFG_SKILLS_FIELD.has_default_value = false -PARTNER_BASE_CFG_SKILLS_FIELD.default_value = {} -PARTNER_BASE_CFG_SKILLS_FIELD.type = 5 -PARTNER_BASE_CFG_SKILLS_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_AVATAR_FIELD.name = "avatar" -PARTNER_BASE_CFG_AVATAR_FIELD.full_name = ".ftcfg.partner_base_cfg.avatar" -PARTNER_BASE_CFG_AVATAR_FIELD.number = 9 -PARTNER_BASE_CFG_AVATAR_FIELD.index = 8 -PARTNER_BASE_CFG_AVATAR_FIELD.label = 2 -PARTNER_BASE_CFG_AVATAR_FIELD.has_default_value = false -PARTNER_BASE_CFG_AVATAR_FIELD.default_value = 0 -PARTNER_BASE_CFG_AVATAR_FIELD.type = 5 -PARTNER_BASE_CFG_AVATAR_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_ACT_IDLE_FIELD.name = "act_idle" -PARTNER_BASE_CFG_ACT_IDLE_FIELD.full_name = ".ftcfg.partner_base_cfg.act_idle" -PARTNER_BASE_CFG_ACT_IDLE_FIELD.number = 10 -PARTNER_BASE_CFG_ACT_IDLE_FIELD.index = 9 -PARTNER_BASE_CFG_ACT_IDLE_FIELD.label = 2 -PARTNER_BASE_CFG_ACT_IDLE_FIELD.has_default_value = false -PARTNER_BASE_CFG_ACT_IDLE_FIELD.default_value = "" -PARTNER_BASE_CFG_ACT_IDLE_FIELD.type = 9 -PARTNER_BASE_CFG_ACT_IDLE_FIELD.cpp_type = 9 - -PARTNER_BASE_CFG_ACT_MOVE_FIELD.name = "act_move" -PARTNER_BASE_CFG_ACT_MOVE_FIELD.full_name = ".ftcfg.partner_base_cfg.act_move" -PARTNER_BASE_CFG_ACT_MOVE_FIELD.number = 11 -PARTNER_BASE_CFG_ACT_MOVE_FIELD.index = 10 -PARTNER_BASE_CFG_ACT_MOVE_FIELD.label = 2 -PARTNER_BASE_CFG_ACT_MOVE_FIELD.has_default_value = false -PARTNER_BASE_CFG_ACT_MOVE_FIELD.default_value = "" -PARTNER_BASE_CFG_ACT_MOVE_FIELD.type = 9 -PARTNER_BASE_CFG_ACT_MOVE_FIELD.cpp_type = 9 - -PARTNER_BASE_CFG_ACT_BORN_FIELD.name = "act_born" -PARTNER_BASE_CFG_ACT_BORN_FIELD.full_name = ".ftcfg.partner_base_cfg.act_born" -PARTNER_BASE_CFG_ACT_BORN_FIELD.number = 12 -PARTNER_BASE_CFG_ACT_BORN_FIELD.index = 11 -PARTNER_BASE_CFG_ACT_BORN_FIELD.label = 2 -PARTNER_BASE_CFG_ACT_BORN_FIELD.has_default_value = false -PARTNER_BASE_CFG_ACT_BORN_FIELD.default_value = "" -PARTNER_BASE_CFG_ACT_BORN_FIELD.type = 9 -PARTNER_BASE_CFG_ACT_BORN_FIELD.cpp_type = 9 - -PARTNER_BASE_CFG_ACT_DEAD_FIELD.name = "act_dead" -PARTNER_BASE_CFG_ACT_DEAD_FIELD.full_name = ".ftcfg.partner_base_cfg.act_dead" -PARTNER_BASE_CFG_ACT_DEAD_FIELD.number = 13 -PARTNER_BASE_CFG_ACT_DEAD_FIELD.index = 12 -PARTNER_BASE_CFG_ACT_DEAD_FIELD.label = 2 -PARTNER_BASE_CFG_ACT_DEAD_FIELD.has_default_value = false -PARTNER_BASE_CFG_ACT_DEAD_FIELD.default_value = "" -PARTNER_BASE_CFG_ACT_DEAD_FIELD.type = 9 -PARTNER_BASE_CFG_ACT_DEAD_FIELD.cpp_type = 9 - -PARTNER_BASE_CFG_RESURRECTION_FIELD.name = "resurrection" -PARTNER_BASE_CFG_RESURRECTION_FIELD.full_name = ".ftcfg.partner_base_cfg.resurrection" -PARTNER_BASE_CFG_RESURRECTION_FIELD.number = 14 -PARTNER_BASE_CFG_RESURRECTION_FIELD.index = 13 -PARTNER_BASE_CFG_RESURRECTION_FIELD.label = 2 -PARTNER_BASE_CFG_RESURRECTION_FIELD.has_default_value = false -PARTNER_BASE_CFG_RESURRECTION_FIELD.default_value = 0 -PARTNER_BASE_CFG_RESURRECTION_FIELD.type = 5 -PARTNER_BASE_CFG_RESURRECTION_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.name = "addition_ratio" -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.full_name = ".ftcfg.partner_base_cfg.addition_ratio" -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.number = 15 -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.index = 14 -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.label = 2 -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.has_default_value = false -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.default_value = 0.0 -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.type = 1 -PARTNER_BASE_CFG_ADDITION_RATIO_FIELD.cpp_type = 5 - -PARTNER_BASE_CFG_QUALITY_FIELD.name = "quality" -PARTNER_BASE_CFG_QUALITY_FIELD.full_name = ".ftcfg.partner_base_cfg.quality" -PARTNER_BASE_CFG_QUALITY_FIELD.number = 16 -PARTNER_BASE_CFG_QUALITY_FIELD.index = 15 -PARTNER_BASE_CFG_QUALITY_FIELD.label = 2 -PARTNER_BASE_CFG_QUALITY_FIELD.has_default_value = false -PARTNER_BASE_CFG_QUALITY_FIELD.default_value = 0 -PARTNER_BASE_CFG_QUALITY_FIELD.type = 5 -PARTNER_BASE_CFG_QUALITY_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.name = "growth_cap" -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.full_name = ".ftcfg.partner_base_cfg.growth_cap" -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.number = 17 -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.index = 16 -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.label = 3 -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.has_default_value = false -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.default_value = {} -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.type = 5 -PARTNER_BASE_CFG_GROWTH_CAP_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.name = "use_item_id" -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.full_name = ".ftcfg.partner_base_cfg.use_item_id" -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.number = 18 -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.index = 17 -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.label = 2 -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.has_default_value = false -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.default_value = 0 -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.type = 13 -PARTNER_BASE_CFG_USE_ITEM_ID_FIELD.cpp_type = 3 - -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.name = "use_item_num" -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.full_name = ".ftcfg.partner_base_cfg.use_item_num" -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.number = 19 -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.index = 18 -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.label = 2 -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.has_default_value = false -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.default_value = 0 -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.type = 5 -PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.name = "can_use_omnipotent" -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.full_name = ".ftcfg.partner_base_cfg.can_use_omnipotent" -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.number = 20 -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.index = 19 -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.label = 2 -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.has_default_value = false -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.default_value = 0 -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.type = 5 -PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_END_SKILLS_FIELD.name = "end_skills" -PARTNER_BASE_CFG_END_SKILLS_FIELD.full_name = ".ftcfg.partner_base_cfg.end_skills" -PARTNER_BASE_CFG_END_SKILLS_FIELD.number = 21 -PARTNER_BASE_CFG_END_SKILLS_FIELD.index = 20 -PARTNER_BASE_CFG_END_SKILLS_FIELD.label = 2 -PARTNER_BASE_CFG_END_SKILLS_FIELD.has_default_value = false -PARTNER_BASE_CFG_END_SKILLS_FIELD.default_value = 0 -PARTNER_BASE_CFG_END_SKILLS_FIELD.type = 5 -PARTNER_BASE_CFG_END_SKILLS_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.name = "passive_skills" -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.full_name = ".ftcfg.partner_base_cfg.passive_skills" -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.number = 22 -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.index = 21 -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.label = 3 -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.has_default_value = false -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.default_value = {} -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.type = 5 -PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.name = "experience_max" -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.full_name = ".ftcfg.partner_base_cfg.experience_max" -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.number = 23 -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.index = 22 -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.label = 2 -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.has_default_value = false -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.default_value = 0 -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.type = 5 -PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.name = "resources_type" -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.full_name = ".ftcfg.partner_base_cfg.resources_type" -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.number = 24 -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.index = 23 -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.label = 2 -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.has_default_value = false -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.default_value = 0 -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.type = 5 -PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.name = "resources_num" -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.full_name = ".ftcfg.partner_base_cfg.resources_num" -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.number = 25 -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.index = 24 -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.label = 2 -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.has_default_value = false -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.default_value = 0 -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.type = 5 -PARTNER_BASE_CFG_RESOURCES_NUM_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.name = "resources_id" -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.full_name = ".ftcfg.partner_base_cfg.resources_id" -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.number = 26 -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.index = 25 -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.label = 2 -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.has_default_value = false -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.default_value = 0 -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.type = 5 -PARTNER_BASE_CFG_RESOURCES_ID_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_ITEMS_ID_FIELD.name = "items_id" -PARTNER_BASE_CFG_ITEMS_ID_FIELD.full_name = ".ftcfg.partner_base_cfg.items_id" -PARTNER_BASE_CFG_ITEMS_ID_FIELD.number = 27 -PARTNER_BASE_CFG_ITEMS_ID_FIELD.index = 26 -PARTNER_BASE_CFG_ITEMS_ID_FIELD.label = 3 -PARTNER_BASE_CFG_ITEMS_ID_FIELD.has_default_value = false -PARTNER_BASE_CFG_ITEMS_ID_FIELD.default_value = {} -PARTNER_BASE_CFG_ITEMS_ID_FIELD.type = 5 -PARTNER_BASE_CFG_ITEMS_ID_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.name = "items_count" -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.full_name = ".ftcfg.partner_base_cfg.items_count" -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.number = 28 -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.index = 27 -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.label = 3 -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.has_default_value = false -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.default_value = {} -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.type = 5 -PARTNER_BASE_CFG_ITEMS_COUNT_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_RANGE_FIELD.name = "range" -PARTNER_BASE_CFG_RANGE_FIELD.full_name = ".ftcfg.partner_base_cfg.range" -PARTNER_BASE_CFG_RANGE_FIELD.number = 29 -PARTNER_BASE_CFG_RANGE_FIELD.index = 28 -PARTNER_BASE_CFG_RANGE_FIELD.label = 2 -PARTNER_BASE_CFG_RANGE_FIELD.has_default_value = false -PARTNER_BASE_CFG_RANGE_FIELD.default_value = 0 -PARTNER_BASE_CFG_RANGE_FIELD.type = 5 -PARTNER_BASE_CFG_RANGE_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.name = "fetters_num" -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.full_name = ".ftcfg.partner_base_cfg.fetters_num" -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.number = 30 -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.index = 29 -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.label = 2 -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.has_default_value = false -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.default_value = 0 -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.type = 5 -PARTNER_BASE_CFG_FETTERS_NUM_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_PARTNER_ID_FIELD.name = "partner_id" -PARTNER_BASE_CFG_PARTNER_ID_FIELD.full_name = ".ftcfg.partner_base_cfg.partner_id" -PARTNER_BASE_CFG_PARTNER_ID_FIELD.number = 31 -PARTNER_BASE_CFG_PARTNER_ID_FIELD.index = 30 -PARTNER_BASE_CFG_PARTNER_ID_FIELD.label = 2 -PARTNER_BASE_CFG_PARTNER_ID_FIELD.has_default_value = false -PARTNER_BASE_CFG_PARTNER_ID_FIELD.default_value = 0 -PARTNER_BASE_CFG_PARTNER_ID_FIELD.type = 5 -PARTNER_BASE_CFG_PARTNER_ID_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG_IS_RARE_FIELD.name = "is_rare" -PARTNER_BASE_CFG_IS_RARE_FIELD.full_name = ".ftcfg.partner_base_cfg.is_rare" -PARTNER_BASE_CFG_IS_RARE_FIELD.number = 32 -PARTNER_BASE_CFG_IS_RARE_FIELD.index = 31 -PARTNER_BASE_CFG_IS_RARE_FIELD.label = 2 -PARTNER_BASE_CFG_IS_RARE_FIELD.has_default_value = false -PARTNER_BASE_CFG_IS_RARE_FIELD.default_value = false -PARTNER_BASE_CFG_IS_RARE_FIELD.type = 8 -PARTNER_BASE_CFG_IS_RARE_FIELD.cpp_type = 7 - -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.name = "divine_group" -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.full_name = ".ftcfg.partner_base_cfg.divine_group" -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.number = 33 -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.index = 32 -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.label = 2 -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.has_default_value = false -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.default_value = 0 -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.type = 5 -PARTNER_BASE_CFG_DIVINE_GROUP_FIELD.cpp_type = 1 - -PARTNER_BASE_CFG.name = "partner_base_cfg" -PARTNER_BASE_CFG.full_name = ".ftcfg.partner_base_cfg" -PARTNER_BASE_CFG.nested_types = {} -PARTNER_BASE_CFG.enum_types = {} -PARTNER_BASE_CFG.fields = {PARTNER_BASE_CFG_ID_FIELD, PARTNER_BASE_CFG_SHOW_NAME_FIELD, PARTNER_BASE_CFG_LOCK_FIELD, PARTNER_BASE_CFG_HEAD_FIELD, PARTNER_BASE_CFG_DRAW_FIELD, PARTNER_BASE_CFG_TYPE_FIELD, PARTNER_BASE_CFG_POKEDEX_FIELD, PARTNER_BASE_CFG_SKILLS_FIELD, PARTNER_BASE_CFG_AVATAR_FIELD, PARTNER_BASE_CFG_ACT_IDLE_FIELD, PARTNER_BASE_CFG_ACT_MOVE_FIELD, PARTNER_BASE_CFG_ACT_BORN_FIELD, PARTNER_BASE_CFG_ACT_DEAD_FIELD, PARTNER_BASE_CFG_RESURRECTION_FIELD, PARTNER_BASE_CFG_ADDITION_RATIO_FIELD, PARTNER_BASE_CFG_QUALITY_FIELD, PARTNER_BASE_CFG_GROWTH_CAP_FIELD, PARTNER_BASE_CFG_USE_ITEM_ID_FIELD, PARTNER_BASE_CFG_USE_ITEM_NUM_FIELD, PARTNER_BASE_CFG_CAN_USE_OMNIPOTENT_FIELD, PARTNER_BASE_CFG_END_SKILLS_FIELD, PARTNER_BASE_CFG_PASSIVE_SKILLS_FIELD, PARTNER_BASE_CFG_EXPERIENCE_MAX_FIELD, PARTNER_BASE_CFG_RESOURCES_TYPE_FIELD, PARTNER_BASE_CFG_RESOURCES_NUM_FIELD, PARTNER_BASE_CFG_RESOURCES_ID_FIELD, PARTNER_BASE_CFG_ITEMS_ID_FIELD, PARTNER_BASE_CFG_ITEMS_COUNT_FIELD, PARTNER_BASE_CFG_RANGE_FIELD, PARTNER_BASE_CFG_FETTERS_NUM_FIELD, PARTNER_BASE_CFG_PARTNER_ID_FIELD, PARTNER_BASE_CFG_IS_RARE_FIELD, PARTNER_BASE_CFG_DIVINE_GROUP_FIELD} -PARTNER_BASE_CFG.is_extendable = false -PARTNER_BASE_CFG.extensions = {} -PARTNER_BASE_CFGS_ITEMS_FIELD.name = "items" -PARTNER_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_base_cfgs.items" -PARTNER_BASE_CFGS_ITEMS_FIELD.number = 1 -PARTNER_BASE_CFGS_ITEMS_FIELD.index = 0 -PARTNER_BASE_CFGS_ITEMS_FIELD.label = 3 -PARTNER_BASE_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_BASE_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_BASE_CFGS_ITEMS_FIELD.message_type = PARTNER_BASE_CFG -PARTNER_BASE_CFGS_ITEMS_FIELD.type = 11 -PARTNER_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_BASE_CFGS.name = "partner_base_cfgs" -PARTNER_BASE_CFGS.full_name = ".ftcfg.partner_base_cfgs" -PARTNER_BASE_CFGS.nested_types = {} -PARTNER_BASE_CFGS.enum_types = {} -PARTNER_BASE_CFGS.fields = {PARTNER_BASE_CFGS_ITEMS_FIELD} -PARTNER_BASE_CFGS.is_extendable = false -PARTNER_BASE_CFGS.extensions = {} -PARTNER_ATTRIBUTE_CFG_ID_FIELD.name = "id" -PARTNER_ATTRIBUTE_CFG_ID_FIELD.full_name = ".ftcfg.partner_attribute_cfg.id" -PARTNER_ATTRIBUTE_CFG_ID_FIELD.number = 1 -PARTNER_ATTRIBUTE_CFG_ID_FIELD.index = 0 -PARTNER_ATTRIBUTE_CFG_ID_FIELD.label = 2 -PARTNER_ATTRIBUTE_CFG_ID_FIELD.has_default_value = false -PARTNER_ATTRIBUTE_CFG_ID_FIELD.default_value = 0 -PARTNER_ATTRIBUTE_CFG_ID_FIELD.type = 5 -PARTNER_ATTRIBUTE_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.name = "levelup_exp" -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.full_name = ".ftcfg.partner_attribute_cfg.levelup_exp" -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.number = 2 -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.index = 1 -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.label = 2 -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.has_default_value = false -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.default_value = 0.0 -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.type = 1 -PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD.cpp_type = 5 - -PARTNER_ATTRIBUTE_CFG.name = "partner_attribute_cfg" -PARTNER_ATTRIBUTE_CFG.full_name = ".ftcfg.partner_attribute_cfg" -PARTNER_ATTRIBUTE_CFG.nested_types = {} -PARTNER_ATTRIBUTE_CFG.enum_types = {} -PARTNER_ATTRIBUTE_CFG.fields = {PARTNER_ATTRIBUTE_CFG_ID_FIELD, PARTNER_ATTRIBUTE_CFG_LEVELUP_EXP_FIELD} -PARTNER_ATTRIBUTE_CFG.is_extendable = false -PARTNER_ATTRIBUTE_CFG.extensions = {} -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.name = "items" -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_attribute_cfgs.items" -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.number = 1 -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.index = 0 -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.label = 3 -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.message_type = PARTNER_ATTRIBUTE_CFG -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.type = 11 -PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_ATTRIBUTE_CFGS.name = "partner_attribute_cfgs" -PARTNER_ATTRIBUTE_CFGS.full_name = ".ftcfg.partner_attribute_cfgs" -PARTNER_ATTRIBUTE_CFGS.nested_types = {} -PARTNER_ATTRIBUTE_CFGS.enum_types = {} -PARTNER_ATTRIBUTE_CFGS.fields = {PARTNER_ATTRIBUTE_CFGS_ITEMS_FIELD} -PARTNER_ATTRIBUTE_CFGS.is_extendable = false -PARTNER_ATTRIBUTE_CFGS.extensions = {} -PARTNER_PASSIVESKILL_CFG_ID_FIELD.name = "id" -PARTNER_PASSIVESKILL_CFG_ID_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.id" -PARTNER_PASSIVESKILL_CFG_ID_FIELD.number = 1 -PARTNER_PASSIVESKILL_CFG_ID_FIELD.index = 0 -PARTNER_PASSIVESKILL_CFG_ID_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_ID_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_ID_FIELD.default_value = 0 -PARTNER_PASSIVESKILL_CFG_ID_FIELD.type = 5 -PARTNER_PASSIVESKILL_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.name = "name" -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.name" -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.number = 2 -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.index = 1 -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.default_value = "" -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.type = 9 -PARTNER_PASSIVESKILL_CFG_NAME_FIELD.cpp_type = 9 - -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.name = "level" -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.level" -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.number = 3 -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.index = 2 -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.default_value = 0 -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.type = 5 -PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD.cpp_type = 1 - -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.name = "icon" -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.icon" -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.number = 4 -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.index = 3 -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.default_value = 0 -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.type = 5 -PARTNER_PASSIVESKILL_CFG_ICON_FIELD.cpp_type = 1 - -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.name = "pokedex_type" -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.pokedex_type" -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.number = 5 -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.index = 4 -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.label = 3 -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.default_value = {} -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.type = 5 -PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD.cpp_type = 1 - -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.name = "prop_type" -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.prop_type" -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.number = 6 -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.index = 5 -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.label = 3 -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.default_value = {} -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPOPTYPE -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.type = 14 -PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD.cpp_type = 8 - -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.name = "att_type" -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.att_type" -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.number = 7 -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.index = 6 -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.label = 3 -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.default_value = {} -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.type = 14 -PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD.cpp_type = 8 - -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.name = "att_value" -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.att_value" -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.number = 8 -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.index = 7 -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.label = 3 -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.default_value = {} -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.type = 2 -PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD.cpp_type = 6 - -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.name = "desc" -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.desc" -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.number = 9 -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.index = 8 -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.default_value = "" -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.type = 9 -PARTNER_PASSIVESKILL_CFG_DESC_FIELD.cpp_type = 9 - -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.name = "pokedex_desc" -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.pokedex_desc" -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.number = 10 -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.index = 9 -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.default_value = "" -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.type = 9 -PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD.cpp_type = 9 - -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.name = "next_level" -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.next_level" -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.number = 11 -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.index = 10 -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.default_value = 0 -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.type = 5 -PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD.cpp_type = 1 - -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.name = "upper_level" -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.full_name = ".ftcfg.partner_passiveskill_cfg.upper_level" -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.number = 12 -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.index = 11 -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.label = 2 -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.default_value = 0 -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.type = 5 -PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD.cpp_type = 1 - -PARTNER_PASSIVESKILL_CFG.name = "partner_passiveskill_cfg" -PARTNER_PASSIVESKILL_CFG.full_name = ".ftcfg.partner_passiveskill_cfg" -PARTNER_PASSIVESKILL_CFG.nested_types = {} -PARTNER_PASSIVESKILL_CFG.enum_types = {} -PARTNER_PASSIVESKILL_CFG.fields = {PARTNER_PASSIVESKILL_CFG_ID_FIELD, PARTNER_PASSIVESKILL_CFG_NAME_FIELD, PARTNER_PASSIVESKILL_CFG_LEVEL_FIELD, PARTNER_PASSIVESKILL_CFG_ICON_FIELD, PARTNER_PASSIVESKILL_CFG_POKEDEX_TYPE_FIELD, PARTNER_PASSIVESKILL_CFG_PROP_TYPE_FIELD, PARTNER_PASSIVESKILL_CFG_ATT_TYPE_FIELD, PARTNER_PASSIVESKILL_CFG_ATT_VALUE_FIELD, PARTNER_PASSIVESKILL_CFG_DESC_FIELD, PARTNER_PASSIVESKILL_CFG_POKEDEX_DESC_FIELD, PARTNER_PASSIVESKILL_CFG_NEXT_LEVEL_FIELD, PARTNER_PASSIVESKILL_CFG_UPPER_LEVEL_FIELD} -PARTNER_PASSIVESKILL_CFG.is_extendable = false -PARTNER_PASSIVESKILL_CFG.extensions = {} -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.name = "items" -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_passiveskill_cfgs.items" -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.number = 1 -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.index = 0 -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.label = 3 -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.message_type = PARTNER_PASSIVESKILL_CFG -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.type = 11 -PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_PASSIVESKILL_CFGS.name = "partner_passiveskill_cfgs" -PARTNER_PASSIVESKILL_CFGS.full_name = ".ftcfg.partner_passiveskill_cfgs" -PARTNER_PASSIVESKILL_CFGS.nested_types = {} -PARTNER_PASSIVESKILL_CFGS.enum_types = {} -PARTNER_PASSIVESKILL_CFGS.fields = {PARTNER_PASSIVESKILL_CFGS_ITEMS_FIELD} -PARTNER_PASSIVESKILL_CFGS.is_extendable = false -PARTNER_PASSIVESKILL_CFGS.extensions = {} -PARTNER_CHIP_CFG_ID_FIELD.name = "id" -PARTNER_CHIP_CFG_ID_FIELD.full_name = ".ftcfg.partner_chip_cfg.id" -PARTNER_CHIP_CFG_ID_FIELD.number = 1 -PARTNER_CHIP_CFG_ID_FIELD.index = 0 -PARTNER_CHIP_CFG_ID_FIELD.label = 2 -PARTNER_CHIP_CFG_ID_FIELD.has_default_value = false -PARTNER_CHIP_CFG_ID_FIELD.default_value = 0 -PARTNER_CHIP_CFG_ID_FIELD.type = 13 -PARTNER_CHIP_CFG_ID_FIELD.cpp_type = 3 - -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.name = "chip_name" -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.full_name = ".ftcfg.partner_chip_cfg.chip_name" -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.number = 2 -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.index = 1 -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.label = 2 -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.has_default_value = false -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.default_value = "" -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.type = 9 -PARTNER_CHIP_CFG_CHIP_NAME_FIELD.cpp_type = 9 - -PARTNER_CHIP_CFG_ICON_FIELD.name = "icon" -PARTNER_CHIP_CFG_ICON_FIELD.full_name = ".ftcfg.partner_chip_cfg.icon" -PARTNER_CHIP_CFG_ICON_FIELD.number = 3 -PARTNER_CHIP_CFG_ICON_FIELD.index = 2 -PARTNER_CHIP_CFG_ICON_FIELD.label = 2 -PARTNER_CHIP_CFG_ICON_FIELD.has_default_value = false -PARTNER_CHIP_CFG_ICON_FIELD.default_value = "" -PARTNER_CHIP_CFG_ICON_FIELD.type = 9 -PARTNER_CHIP_CFG_ICON_FIELD.cpp_type = 9 - -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.name = "change_need_num1" -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.full_name = ".ftcfg.partner_chip_cfg.change_need_num1" -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.number = 4 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.index = 3 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.label = 2 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.has_default_value = false -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.default_value = 0 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.type = 5 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD.cpp_type = 1 - -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.name = "change_need_num2" -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.full_name = ".ftcfg.partner_chip_cfg.change_need_num2" -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.number = 5 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.index = 4 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.label = 2 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.has_default_value = false -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.default_value = 0 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.type = 5 -PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD.cpp_type = 1 - -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.name = "change_need_prop" -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.full_name = ".ftcfg.partner_chip_cfg.change_need_prop" -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.number = 6 -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.index = 5 -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.label = 2 -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.has_default_value = false -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.default_value = 0 -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.type = 13 -PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD.cpp_type = 3 - -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.name = "change_need_propnum" -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.full_name = ".ftcfg.partner_chip_cfg.change_need_propnum" -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.number = 7 -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.index = 6 -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.label = 2 -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.has_default_value = false -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.default_value = 0 -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.type = 5 -PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD.cpp_type = 1 - -PARTNER_CHIP_CFG.name = "partner_chip_cfg" -PARTNER_CHIP_CFG.full_name = ".ftcfg.partner_chip_cfg" -PARTNER_CHIP_CFG.nested_types = {} -PARTNER_CHIP_CFG.enum_types = {} -PARTNER_CHIP_CFG.fields = {PARTNER_CHIP_CFG_ID_FIELD, PARTNER_CHIP_CFG_CHIP_NAME_FIELD, PARTNER_CHIP_CFG_ICON_FIELD, PARTNER_CHIP_CFG_CHANGE_NEED_NUM1_FIELD, PARTNER_CHIP_CFG_CHANGE_NEED_NUM2_FIELD, PARTNER_CHIP_CFG_CHANGE_NEED_PROP_FIELD, PARTNER_CHIP_CFG_CHANGE_NEED_PROPNUM_FIELD} -PARTNER_CHIP_CFG.is_extendable = false -PARTNER_CHIP_CFG.extensions = {} -PARTNER_CHIP_CFGS_ITEMS_FIELD.name = "items" -PARTNER_CHIP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_chip_cfgs.items" -PARTNER_CHIP_CFGS_ITEMS_FIELD.number = 1 -PARTNER_CHIP_CFGS_ITEMS_FIELD.index = 0 -PARTNER_CHIP_CFGS_ITEMS_FIELD.label = 3 -PARTNER_CHIP_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_CHIP_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_CHIP_CFGS_ITEMS_FIELD.message_type = PARTNER_CHIP_CFG -PARTNER_CHIP_CFGS_ITEMS_FIELD.type = 11 -PARTNER_CHIP_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_CHIP_CFGS.name = "partner_chip_cfgs" -PARTNER_CHIP_CFGS.full_name = ".ftcfg.partner_chip_cfgs" -PARTNER_CHIP_CFGS.nested_types = {} -PARTNER_CHIP_CFGS.enum_types = {} -PARTNER_CHIP_CFGS.fields = {PARTNER_CHIP_CFGS_ITEMS_FIELD} -PARTNER_CHIP_CFGS.is_extendable = false -PARTNER_CHIP_CFGS.extensions = {} -FETTER_CFG_ID_FIELD.name = "id" -FETTER_CFG_ID_FIELD.full_name = ".ftcfg.fetter_cfg.id" -FETTER_CFG_ID_FIELD.number = 1 -FETTER_CFG_ID_FIELD.index = 0 -FETTER_CFG_ID_FIELD.label = 2 -FETTER_CFG_ID_FIELD.has_default_value = false -FETTER_CFG_ID_FIELD.default_value = 0 -FETTER_CFG_ID_FIELD.type = 13 -FETTER_CFG_ID_FIELD.cpp_type = 3 - -FETTER_CFG_TID_FIELD.name = "tid" -FETTER_CFG_TID_FIELD.full_name = ".ftcfg.fetter_cfg.tid" -FETTER_CFG_TID_FIELD.number = 2 -FETTER_CFG_TID_FIELD.index = 1 -FETTER_CFG_TID_FIELD.label = 2 -FETTER_CFG_TID_FIELD.has_default_value = false -FETTER_CFG_TID_FIELD.default_value = 0 -FETTER_CFG_TID_FIELD.type = 13 -FETTER_CFG_TID_FIELD.cpp_type = 3 - -FETTER_CFG_FETTER_NAME_FIELD.name = "fetter_name" -FETTER_CFG_FETTER_NAME_FIELD.full_name = ".ftcfg.fetter_cfg.fetter_name" -FETTER_CFG_FETTER_NAME_FIELD.number = 3 -FETTER_CFG_FETTER_NAME_FIELD.index = 2 -FETTER_CFG_FETTER_NAME_FIELD.label = 2 -FETTER_CFG_FETTER_NAME_FIELD.has_default_value = false -FETTER_CFG_FETTER_NAME_FIELD.default_value = "" -FETTER_CFG_FETTER_NAME_FIELD.type = 9 -FETTER_CFG_FETTER_NAME_FIELD.cpp_type = 9 - -FETTER_CFG_FETTER_DESC_FIELD.name = "fetter_desc" -FETTER_CFG_FETTER_DESC_FIELD.full_name = ".ftcfg.fetter_cfg.fetter_desc" -FETTER_CFG_FETTER_DESC_FIELD.number = 4 -FETTER_CFG_FETTER_DESC_FIELD.index = 3 -FETTER_CFG_FETTER_DESC_FIELD.label = 2 -FETTER_CFG_FETTER_DESC_FIELD.has_default_value = false -FETTER_CFG_FETTER_DESC_FIELD.default_value = "" -FETTER_CFG_FETTER_DESC_FIELD.type = 9 -FETTER_CFG_FETTER_DESC_FIELD.cpp_type = 9 - -FETTER_CFG_FETTER_OBJECT_FIELD.name = "fetter_object" -FETTER_CFG_FETTER_OBJECT_FIELD.full_name = ".ftcfg.fetter_cfg.fetter_object" -FETTER_CFG_FETTER_OBJECT_FIELD.number = 5 -FETTER_CFG_FETTER_OBJECT_FIELD.index = 4 -FETTER_CFG_FETTER_OBJECT_FIELD.label = 3 -FETTER_CFG_FETTER_OBJECT_FIELD.has_default_value = false -FETTER_CFG_FETTER_OBJECT_FIELD.default_value = {} -FETTER_CFG_FETTER_OBJECT_FIELD.type = 13 -FETTER_CFG_FETTER_OBJECT_FIELD.cpp_type = 3 - -FETTER_CFG.name = "fetter_cfg" -FETTER_CFG.full_name = ".ftcfg.fetter_cfg" -FETTER_CFG.nested_types = {} -FETTER_CFG.enum_types = {} -FETTER_CFG.fields = {FETTER_CFG_ID_FIELD, FETTER_CFG_TID_FIELD, FETTER_CFG_FETTER_NAME_FIELD, FETTER_CFG_FETTER_DESC_FIELD, FETTER_CFG_FETTER_OBJECT_FIELD} -FETTER_CFG.is_extendable = false -FETTER_CFG.extensions = {} -FETTER_CFGS_ITEMS_FIELD.name = "items" -FETTER_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fetter_cfgs.items" -FETTER_CFGS_ITEMS_FIELD.number = 1 -FETTER_CFGS_ITEMS_FIELD.index = 0 -FETTER_CFGS_ITEMS_FIELD.label = 3 -FETTER_CFGS_ITEMS_FIELD.has_default_value = false -FETTER_CFGS_ITEMS_FIELD.default_value = {} -FETTER_CFGS_ITEMS_FIELD.message_type = FETTER_CFG -FETTER_CFGS_ITEMS_FIELD.type = 11 -FETTER_CFGS_ITEMS_FIELD.cpp_type = 10 - -FETTER_CFGS.name = "fetter_cfgs" -FETTER_CFGS.full_name = ".ftcfg.fetter_cfgs" -FETTER_CFGS.nested_types = {} -FETTER_CFGS.enum_types = {} -FETTER_CFGS.fields = {FETTER_CFGS_ITEMS_FIELD} -FETTER_CFGS.is_extendable = false -FETTER_CFGS.extensions = {} -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.name = "id" -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.full_name = ".ftcfg.partner_equiphecheng_cfg.id" -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.number = 1 -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.index = 0 -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.label = 2 -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.has_default_value = false -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.default_value = 0 -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.type = 13 -PARTNER_EQUIPHECHENG_CFG_ID_FIELD.cpp_type = 3 - -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.name = "name" -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.full_name = ".ftcfg.partner_equiphecheng_cfg.name" -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.number = 2 -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.index = 1 -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.label = 2 -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.has_default_value = false -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.default_value = "" -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.type = 9 -PARTNER_EQUIPHECHENG_CFG_NAME_FIELD.cpp_type = 9 - -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.name = "stuffid" -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.full_name = ".ftcfg.partner_equiphecheng_cfg.stuffid" -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.number = 3 -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.index = 2 -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.label = 3 -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.has_default_value = false -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.default_value = {} -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.type = 13 -PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD.cpp_type = 3 - -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.name = "stuffid2" -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.full_name = ".ftcfg.partner_equiphecheng_cfg.stuffid2" -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.number = 4 -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.index = 3 -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.label = 3 -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.has_default_value = false -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.default_value = {} -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.type = 13 -PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD.cpp_type = 3 - -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.name = "composite_display" -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.full_name = ".ftcfg.partner_equiphecheng_cfg.composite_display" -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.number = 5 -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.index = 4 -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.label = 2 -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.has_default_value = false -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.default_value = 0 -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.type = 5 -PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD.cpp_type = 1 - -PARTNER_EQUIPHECHENG_CFG.name = "partner_equiphecheng_cfg" -PARTNER_EQUIPHECHENG_CFG.full_name = ".ftcfg.partner_equiphecheng_cfg" -PARTNER_EQUIPHECHENG_CFG.nested_types = {} -PARTNER_EQUIPHECHENG_CFG.enum_types = {} -PARTNER_EQUIPHECHENG_CFG.fields = {PARTNER_EQUIPHECHENG_CFG_ID_FIELD, PARTNER_EQUIPHECHENG_CFG_NAME_FIELD, PARTNER_EQUIPHECHENG_CFG_STUFFID_FIELD, PARTNER_EQUIPHECHENG_CFG_STUFFID2_FIELD, PARTNER_EQUIPHECHENG_CFG_COMPOSITE_DISPLAY_FIELD} -PARTNER_EQUIPHECHENG_CFG.is_extendable = false -PARTNER_EQUIPHECHENG_CFG.extensions = {} -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.name = "items" -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_equiphecheng_cfgs.items" -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.number = 1 -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.index = 0 -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.label = 3 -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.message_type = PARTNER_EQUIPHECHENG_CFG -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.type = 11 -PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_EQUIPHECHENG_CFGS.name = "partner_equiphecheng_cfgs" -PARTNER_EQUIPHECHENG_CFGS.full_name = ".ftcfg.partner_equiphecheng_cfgs" -PARTNER_EQUIPHECHENG_CFGS.nested_types = {} -PARTNER_EQUIPHECHENG_CFGS.enum_types = {} -PARTNER_EQUIPHECHENG_CFGS.fields = {PARTNER_EQUIPHECHENG_CFGS_ITEMS_FIELD} -PARTNER_EQUIPHECHENG_CFGS.is_extendable = false -PARTNER_EQUIPHECHENG_CFGS.extensions = {} -PARTNER_FORMATION_CFG_ID_FIELD.name = "id" -PARTNER_FORMATION_CFG_ID_FIELD.full_name = ".ftcfg.partner_formation_cfg.id" -PARTNER_FORMATION_CFG_ID_FIELD.number = 1 -PARTNER_FORMATION_CFG_ID_FIELD.index = 0 -PARTNER_FORMATION_CFG_ID_FIELD.label = 2 -PARTNER_FORMATION_CFG_ID_FIELD.has_default_value = false -PARTNER_FORMATION_CFG_ID_FIELD.default_value = 0 -PARTNER_FORMATION_CFG_ID_FIELD.type = 5 -PARTNER_FORMATION_CFG_ID_FIELD.cpp_type = 1 - -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.name = "prop_add1" -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.full_name = ".ftcfg.partner_formation_cfg.prop_add1" -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.number = 2 -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.index = 1 -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.label = 2 -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.has_default_value = false -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.default_value = nil -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.type = 14 -PARTNER_FORMATION_CFG_PROP_ADD1_FIELD.cpp_type = 8 - -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.name = "prop_add2" -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.full_name = ".ftcfg.partner_formation_cfg.prop_add2" -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.number = 3 -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.index = 2 -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.label = 2 -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.has_default_value = false -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.default_value = nil -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.type = 14 -PARTNER_FORMATION_CFG_PROP_ADD2_FIELD.cpp_type = 8 - -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.name = "prop_add3" -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.full_name = ".ftcfg.partner_formation_cfg.prop_add3" -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.number = 4 -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.index = 3 -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.label = 2 -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.has_default_value = false -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.default_value = nil -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.type = 14 -PARTNER_FORMATION_CFG_PROP_ADD3_FIELD.cpp_type = 8 - -PARTNER_FORMATION_CFG.name = "partner_formation_cfg" -PARTNER_FORMATION_CFG.full_name = ".ftcfg.partner_formation_cfg" -PARTNER_FORMATION_CFG.nested_types = {} -PARTNER_FORMATION_CFG.enum_types = {} -PARTNER_FORMATION_CFG.fields = {PARTNER_FORMATION_CFG_ID_FIELD, PARTNER_FORMATION_CFG_PROP_ADD1_FIELD, PARTNER_FORMATION_CFG_PROP_ADD2_FIELD, PARTNER_FORMATION_CFG_PROP_ADD3_FIELD} -PARTNER_FORMATION_CFG.is_extendable = false -PARTNER_FORMATION_CFG.extensions = {} -PARTNER_FORMATION_CFGS_ITEMS_FIELD.name = "items" -PARTNER_FORMATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.partner_formation_cfgs.items" -PARTNER_FORMATION_CFGS_ITEMS_FIELD.number = 1 -PARTNER_FORMATION_CFGS_ITEMS_FIELD.index = 0 -PARTNER_FORMATION_CFGS_ITEMS_FIELD.label = 3 -PARTNER_FORMATION_CFGS_ITEMS_FIELD.has_default_value = false -PARTNER_FORMATION_CFGS_ITEMS_FIELD.default_value = {} -PARTNER_FORMATION_CFGS_ITEMS_FIELD.message_type = PARTNER_FORMATION_CFG -PARTNER_FORMATION_CFGS_ITEMS_FIELD.type = 11 -PARTNER_FORMATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -PARTNER_FORMATION_CFGS.name = "partner_formation_cfgs" -PARTNER_FORMATION_CFGS.full_name = ".ftcfg.partner_formation_cfgs" -PARTNER_FORMATION_CFGS.nested_types = {} -PARTNER_FORMATION_CFGS.enum_types = {} -PARTNER_FORMATION_CFGS.fields = {PARTNER_FORMATION_CFGS_ITEMS_FIELD} -PARTNER_FORMATION_CFGS.is_extendable = false -PARTNER_FORMATION_CFGS.extensions = {} -GUILD_MISSION_CFG_ID_FIELD.name = "id" -GUILD_MISSION_CFG_ID_FIELD.full_name = ".ftcfg.guild_mission_cfg.id" -GUILD_MISSION_CFG_ID_FIELD.number = 1 -GUILD_MISSION_CFG_ID_FIELD.index = 0 -GUILD_MISSION_CFG_ID_FIELD.label = 2 -GUILD_MISSION_CFG_ID_FIELD.has_default_value = false -GUILD_MISSION_CFG_ID_FIELD.default_value = 0 -GUILD_MISSION_CFG_ID_FIELD.type = 13 -GUILD_MISSION_CFG_ID_FIELD.cpp_type = 3 - -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.name = "guild_task_level" -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.full_name = ".ftcfg.guild_mission_cfg.guild_task_level" -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.number = 2 -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.index = 1 -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.label = 2 -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.has_default_value = false -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.default_value = 0 -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.type = 5 -GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD.cpp_type = 1 - -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.name = "guild_task_day" -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.full_name = ".ftcfg.guild_mission_cfg.guild_task_day" -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.number = 3 -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.index = 2 -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.label = 3 -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.has_default_value = false -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.default_value = {} -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.type = 5 -GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD.cpp_type = 1 - -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.name = "guild_task_quality" -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.full_name = ".ftcfg.guild_mission_cfg.guild_task_quality" -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.number = 4 -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.index = 3 -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.label = 2 -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.has_default_value = false -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.default_value = nil -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.enum_type = config_predefine_pb.EGUILDQUALITYTYPE -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.type = 14 -GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD.cpp_type = 8 - -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.name = "guild_task_targetid" -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.full_name = ".ftcfg.guild_mission_cfg.guild_task_targetid" -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.number = 5 -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.index = 4 -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.label = 2 -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.has_default_value = false -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.default_value = 0 -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.type = 5 -GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD.cpp_type = 1 - -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.name = "guild_task_condition_type" -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.full_name = ".ftcfg.guild_mission_cfg.guild_task_condition_type" -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.number = 6 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.index = 5 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.label = 2 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.has_default_value = false -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.default_value = nil -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.enum_type = config_predefine_pb.EGUILDTASKTYPE -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.type = 14 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD.cpp_type = 8 - -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.name = "guild_task_condition_number" -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.full_name = ".ftcfg.guild_mission_cfg.guild_task_condition_number" -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.number = 7 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.index = 6 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.label = 3 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.has_default_value = false -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.default_value = {} -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.type = 5 -GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD.cpp_type = 1 - -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.name = "guild_task_rewaedid" -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.full_name = ".ftcfg.guild_mission_cfg.guild_task_rewaedid" -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.number = 8 -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.index = 7 -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.label = 2 -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.has_default_value = false -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.default_value = 0 -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.type = 5 -GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD.cpp_type = 1 - -GUILD_MISSION_CFG.name = "guild_mission_cfg" -GUILD_MISSION_CFG.full_name = ".ftcfg.guild_mission_cfg" -GUILD_MISSION_CFG.nested_types = {} -GUILD_MISSION_CFG.enum_types = {} -GUILD_MISSION_CFG.fields = {GUILD_MISSION_CFG_ID_FIELD, GUILD_MISSION_CFG_GUILD_TASK_LEVEL_FIELD, GUILD_MISSION_CFG_GUILD_TASK_DAY_FIELD, GUILD_MISSION_CFG_GUILD_TASK_QUALITY_FIELD, GUILD_MISSION_CFG_GUILD_TASK_TARGETID_FIELD, GUILD_MISSION_CFG_GUILD_TASK_CONDITION_TYPE_FIELD, GUILD_MISSION_CFG_GUILD_TASK_CONDITION_NUMBER_FIELD, GUILD_MISSION_CFG_GUILD_TASK_REWAEDID_FIELD} -GUILD_MISSION_CFG.is_extendable = false -GUILD_MISSION_CFG.extensions = {} -GUILD_MISSION_CFGS_ITEMS_FIELD.name = "items" -GUILD_MISSION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guild_mission_cfgs.items" -GUILD_MISSION_CFGS_ITEMS_FIELD.number = 1 -GUILD_MISSION_CFGS_ITEMS_FIELD.index = 0 -GUILD_MISSION_CFGS_ITEMS_FIELD.label = 3 -GUILD_MISSION_CFGS_ITEMS_FIELD.has_default_value = false -GUILD_MISSION_CFGS_ITEMS_FIELD.default_value = {} -GUILD_MISSION_CFGS_ITEMS_FIELD.message_type = GUILD_MISSION_CFG -GUILD_MISSION_CFGS_ITEMS_FIELD.type = 11 -GUILD_MISSION_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUILD_MISSION_CFGS.name = "guild_mission_cfgs" -GUILD_MISSION_CFGS.full_name = ".ftcfg.guild_mission_cfgs" -GUILD_MISSION_CFGS.nested_types = {} -GUILD_MISSION_CFGS.enum_types = {} -GUILD_MISSION_CFGS.fields = {GUILD_MISSION_CFGS_ITEMS_FIELD} -GUILD_MISSION_CFGS.is_extendable = false -GUILD_MISSION_CFGS.extensions = {} -GUILD_BUILDING_MISSION_CFG_ID_FIELD.name = "id" -GUILD_BUILDING_MISSION_CFG_ID_FIELD.full_name = ".ftcfg.guild_building_mission_cfg.id" -GUILD_BUILDING_MISSION_CFG_ID_FIELD.number = 1 -GUILD_BUILDING_MISSION_CFG_ID_FIELD.index = 0 -GUILD_BUILDING_MISSION_CFG_ID_FIELD.label = 2 -GUILD_BUILDING_MISSION_CFG_ID_FIELD.has_default_value = false -GUILD_BUILDING_MISSION_CFG_ID_FIELD.default_value = 0 -GUILD_BUILDING_MISSION_CFG_ID_FIELD.type = 13 -GUILD_BUILDING_MISSION_CFG_ID_FIELD.cpp_type = 3 - -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.name = "submit_condition" -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.full_name = ".ftcfg.guild_building_mission_cfg.submit_condition" -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.number = 2 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.index = 1 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.label = 3 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.has_default_value = false -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.default_value = {} -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.type = 5 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD.cpp_type = 1 - -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.name = "submit_condition_reward" -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.full_name = ".ftcfg.guild_building_mission_cfg.submit_condition_reward" -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.number = 3 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.index = 2 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.label = 3 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.has_default_value = false -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.default_value = {} -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.type = 5 -GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD.cpp_type = 1 - -GUILD_BUILDING_MISSION_CFG.name = "guild_building_mission_cfg" -GUILD_BUILDING_MISSION_CFG.full_name = ".ftcfg.guild_building_mission_cfg" -GUILD_BUILDING_MISSION_CFG.nested_types = {} -GUILD_BUILDING_MISSION_CFG.enum_types = {} -GUILD_BUILDING_MISSION_CFG.fields = {GUILD_BUILDING_MISSION_CFG_ID_FIELD, GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_FIELD, GUILD_BUILDING_MISSION_CFG_SUBMIT_CONDITION_REWARD_FIELD} -GUILD_BUILDING_MISSION_CFG.is_extendable = false -GUILD_BUILDING_MISSION_CFG.extensions = {} -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.name = "items" -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guild_building_mission_cfgs.items" -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.number = 1 -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.index = 0 -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.label = 3 -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.has_default_value = false -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.default_value = {} -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.message_type = GUILD_BUILDING_MISSION_CFG -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.type = 11 -GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUILD_BUILDING_MISSION_CFGS.name = "guild_building_mission_cfgs" -GUILD_BUILDING_MISSION_CFGS.full_name = ".ftcfg.guild_building_mission_cfgs" -GUILD_BUILDING_MISSION_CFGS.nested_types = {} -GUILD_BUILDING_MISSION_CFGS.enum_types = {} -GUILD_BUILDING_MISSION_CFGS.fields = {GUILD_BUILDING_MISSION_CFGS_ITEMS_FIELD} -GUILD_BUILDING_MISSION_CFGS.is_extendable = false -GUILD_BUILDING_MISSION_CFGS.extensions = {} -BUILDING_MISSION_POOL_CFG_ID_FIELD.name = "id" -BUILDING_MISSION_POOL_CFG_ID_FIELD.full_name = ".ftcfg.building_mission_pool_cfg.id" -BUILDING_MISSION_POOL_CFG_ID_FIELD.number = 1 -BUILDING_MISSION_POOL_CFG_ID_FIELD.index = 0 -BUILDING_MISSION_POOL_CFG_ID_FIELD.label = 2 -BUILDING_MISSION_POOL_CFG_ID_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFG_ID_FIELD.default_value = 0 -BUILDING_MISSION_POOL_CFG_ID_FIELD.type = 13 -BUILDING_MISSION_POOL_CFG_ID_FIELD.cpp_type = 3 - -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.name = "need_item_id" -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.full_name = ".ftcfg.building_mission_pool_cfg.need_item_id" -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.number = 2 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.index = 1 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.label = 2 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.default_value = 0 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.type = 5 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD.cpp_type = 1 - -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.name = "need_item_number" -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.full_name = ".ftcfg.building_mission_pool_cfg.need_item_number" -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.number = 3 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.index = 2 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.label = 2 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.default_value = 0 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.type = 5 -BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD.cpp_type = 1 - -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.name = "is_help" -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.full_name = ".ftcfg.building_mission_pool_cfg.is_help" -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.number = 4 -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.index = 3 -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.label = 2 -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.default_value = false -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.type = 8 -BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD.cpp_type = 7 - -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.name = "buy_coin_type" -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.full_name = ".ftcfg.building_mission_pool_cfg.buy_coin_type" -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.number = 5 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.index = 4 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.label = 2 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.default_value = 0 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.type = 5 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD.cpp_type = 1 - -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.name = "buy_coin_type_nember" -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.full_name = ".ftcfg.building_mission_pool_cfg.buy_coin_type_nember" -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.number = 6 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.index = 5 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.label = 2 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.default_value = 0 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.type = 5 -BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD.cpp_type = 1 - -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.name = "help_reward" -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.full_name = ".ftcfg.building_mission_pool_cfg.help_reward" -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.number = 7 -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.index = 6 -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.label = 2 -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.default_value = 0 -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.type = 5 -BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD.cpp_type = 1 - -BUILDING_MISSION_POOL_CFG.name = "building_mission_pool_cfg" -BUILDING_MISSION_POOL_CFG.full_name = ".ftcfg.building_mission_pool_cfg" -BUILDING_MISSION_POOL_CFG.nested_types = {} -BUILDING_MISSION_POOL_CFG.enum_types = {} -BUILDING_MISSION_POOL_CFG.fields = {BUILDING_MISSION_POOL_CFG_ID_FIELD, BUILDING_MISSION_POOL_CFG_NEED_ITEM_ID_FIELD, BUILDING_MISSION_POOL_CFG_NEED_ITEM_NUMBER_FIELD, BUILDING_MISSION_POOL_CFG_IS_HELP_FIELD, BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_FIELD, BUILDING_MISSION_POOL_CFG_BUY_COIN_TYPE_NEMBER_FIELD, BUILDING_MISSION_POOL_CFG_HELP_REWARD_FIELD} -BUILDING_MISSION_POOL_CFG.is_extendable = false -BUILDING_MISSION_POOL_CFG.extensions = {} -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.name = "items" -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.building_mission_pool_cfgs.items" -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.number = 1 -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.index = 0 -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.label = 3 -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.has_default_value = false -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.default_value = {} -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.message_type = BUILDING_MISSION_POOL_CFG -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.type = 11 -BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD.cpp_type = 10 - -BUILDING_MISSION_POOL_CFGS.name = "building_mission_pool_cfgs" -BUILDING_MISSION_POOL_CFGS.full_name = ".ftcfg.building_mission_pool_cfgs" -BUILDING_MISSION_POOL_CFGS.nested_types = {} -BUILDING_MISSION_POOL_CFGS.enum_types = {} -BUILDING_MISSION_POOL_CFGS.fields = {BUILDING_MISSION_POOL_CFGS_ITEMS_FIELD} -BUILDING_MISSION_POOL_CFGS.is_extendable = false -BUILDING_MISSION_POOL_CFGS.extensions = {} -GUILD_MISSION_BASE_CFG_ID_FIELD.name = "id" -GUILD_MISSION_BASE_CFG_ID_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.id" -GUILD_MISSION_BASE_CFG_ID_FIELD.number = 1 -GUILD_MISSION_BASE_CFG_ID_FIELD.index = 0 -GUILD_MISSION_BASE_CFG_ID_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_ID_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_ID_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_ID_FIELD.type = 13 -GUILD_MISSION_BASE_CFG_ID_FIELD.cpp_type = 3 - -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.name = "quality_probability_white" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.quality_probability_white" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.number = 2 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.index = 1 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.name = "quality_probability_Green" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.quality_probability_Green" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.number = 3 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.index = 2 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.name = "quality_probability_Blue" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.quality_probability_Blue" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.number = 4 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.index = 3 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.name = "quality_probability_Purple" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.quality_probability_Purple" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.number = 5 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.index = 4 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.name = "quality_probability_Orange" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.quality_probability_Orange" -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.number = 6 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.index = 5 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.name = "refresh_cost_item" -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.refresh_cost_item" -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.number = 7 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.index = 6 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.name = "refresh_cost_item_number" -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.refresh_cost_item_number" -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.number = 8 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.index = 7 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.name = "refresh_cost_cion_type" -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.refresh_cost_cion_type" -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.number = 9 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.index = 8 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.name = "refresh_cost_cion_number" -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.full_name = ".ftcfg.guild_mission_base_cfg.refresh_cost_cion_number" -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.number = 10 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.index = 9 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.label = 2 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.default_value = 0 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.type = 5 -GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD.cpp_type = 1 - -GUILD_MISSION_BASE_CFG.name = "guild_mission_base_cfg" -GUILD_MISSION_BASE_CFG.full_name = ".ftcfg.guild_mission_base_cfg" -GUILD_MISSION_BASE_CFG.nested_types = {} -GUILD_MISSION_BASE_CFG.enum_types = {} -GUILD_MISSION_BASE_CFG.fields = {GUILD_MISSION_BASE_CFG_ID_FIELD, GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_WHITE_FIELD, GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_GREEN_FIELD, GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_BLUE_FIELD, GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_PURPLE_FIELD, GUILD_MISSION_BASE_CFG_QUALITY_PROBABILITY_ORANGE_FIELD, GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_FIELD, GUILD_MISSION_BASE_CFG_REFRESH_COST_ITEM_NUMBER_FIELD, GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_TYPE_FIELD, GUILD_MISSION_BASE_CFG_REFRESH_COST_CION_NUMBER_FIELD} -GUILD_MISSION_BASE_CFG.is_extendable = false -GUILD_MISSION_BASE_CFG.extensions = {} -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.name = "items" -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guild_mission_base_cfgs.items" -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.number = 1 -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.index = 0 -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.label = 3 -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.has_default_value = false -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.default_value = {} -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.message_type = GUILD_MISSION_BASE_CFG -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.type = 11 -GUILD_MISSION_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUILD_MISSION_BASE_CFGS.name = "guild_mission_base_cfgs" -GUILD_MISSION_BASE_CFGS.full_name = ".ftcfg.guild_mission_base_cfgs" -GUILD_MISSION_BASE_CFGS.nested_types = {} -GUILD_MISSION_BASE_CFGS.enum_types = {} -GUILD_MISSION_BASE_CFGS.fields = {GUILD_MISSION_BASE_CFGS_ITEMS_FIELD} -GUILD_MISSION_BASE_CFGS.is_extendable = false -GUILD_MISSION_BASE_CFGS.extensions = {} -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.name = "guild_practice_group" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_group" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.number = 1 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.index = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.name = "guild_practice_level" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_level" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.number = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.index = 1 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.name = "guild_practice_type" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_type" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.number = 3 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.index = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.name = "guild_practice_icon" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_icon" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.number = 4 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.index = 3 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.name = "guild_practice_name" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_name" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.number = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.index = 4 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.name = "guild_practice_effect_describe" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_effect_describe" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.number = 6 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.index = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.name = "guild_practice_battle" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_battle" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.number = 7 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.index = 6 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.name = "guild_practice_cost_level" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_cost_level" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.number = 8 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.index = 7 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.name = "guild_practice_cost_cointype1" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_cost_cointype1" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.number = 9 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.index = 8 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.label = 3 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.default_value = {} -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.name = "guild_practice_cost_cointype2" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_cost_cointype2" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.number = 10 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.index = 9 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.label = 3 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.default_value = {} -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.name = "guild_practice_cost_item" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_cost_item" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.number = 11 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.index = 10 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.name = "guild_practice_cost_number" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_cost_number" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.number = 12 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.index = 11 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.name = "guild_practice_exp" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_exp" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.number = 13 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.index = 12 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.name = "guild_practice_exp_max" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_exp_max" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.number = 14 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.index = 13 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.name = "guild_practice_attribute" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_attribute" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.number = 15 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.index = 14 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.default_value = "" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.type = 9 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD.cpp_type = 9 - -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.name = "guild_practice_buff" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfg.guild_practice_buff" -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.number = 16 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.index = 15 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CONT_CFG.name = "guild_practice_group_cont_cfg" -GUILD_PRACTICE_GROUP_CONT_CFG.full_name = ".ftcfg.guild_practice_group_cont_cfg" -GUILD_PRACTICE_GROUP_CONT_CFG.nested_types = {} -GUILD_PRACTICE_GROUP_CONT_CFG.enum_types = {} -GUILD_PRACTICE_GROUP_CONT_CFG.fields = {GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_GROUP_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_LEVEL_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_TYPE_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ICON_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_NAME_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EFFECT_DESCRIBE_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BATTLE_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_LEVEL_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE1_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_COINTYPE2_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_ITEM_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_COST_NUMBER_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_EXP_MAX_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_ATTRIBUTE_FIELD, GUILD_PRACTICE_GROUP_CONT_CFG_GUILD_PRACTICE_BUFF_FIELD} -GUILD_PRACTICE_GROUP_CONT_CFG.is_extendable = false -GUILD_PRACTICE_GROUP_CONT_CFG.extensions = {} -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.name = "items" -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guild_practice_group_cont_cfgs.items" -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.number = 1 -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.index = 0 -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.label = 3 -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.default_value = {} -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.message_type = GUILD_PRACTICE_GROUP_CONT_CFG -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.type = 11 -GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUILD_PRACTICE_GROUP_CONT_CFGS.name = "guild_practice_group_cont_cfgs" -GUILD_PRACTICE_GROUP_CONT_CFGS.full_name = ".ftcfg.guild_practice_group_cont_cfgs" -GUILD_PRACTICE_GROUP_CONT_CFGS.nested_types = {} -GUILD_PRACTICE_GROUP_CONT_CFGS.enum_types = {} -GUILD_PRACTICE_GROUP_CONT_CFGS.fields = {GUILD_PRACTICE_GROUP_CONT_CFGS_ITEMS_FIELD} -GUILD_PRACTICE_GROUP_CONT_CFGS.is_extendable = false -GUILD_PRACTICE_GROUP_CONT_CFGS.extensions = {} -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.name = "id" -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.full_name = ".ftcfg.guild_practice_group_cfg.id" -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.number = 1 -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.index = 0 -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.label = 2 -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.default_value = 0 -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.type = 13 -GUILD_PRACTICE_GROUP_CFG_ID_FIELD.cpp_type = 3 - -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.name = "guild_practice_group" -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.full_name = ".ftcfg.guild_practice_group_cfg.guild_practice_group" -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.number = 2 -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.index = 1 -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.label = 3 -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.default_value = {} -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.type = 5 -GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD.cpp_type = 1 - -GUILD_PRACTICE_GROUP_CFG.name = "guild_practice_group_cfg" -GUILD_PRACTICE_GROUP_CFG.full_name = ".ftcfg.guild_practice_group_cfg" -GUILD_PRACTICE_GROUP_CFG.nested_types = {} -GUILD_PRACTICE_GROUP_CFG.enum_types = {} -GUILD_PRACTICE_GROUP_CFG.fields = {GUILD_PRACTICE_GROUP_CFG_ID_FIELD, GUILD_PRACTICE_GROUP_CFG_GUILD_PRACTICE_GROUP_FIELD} -GUILD_PRACTICE_GROUP_CFG.is_extendable = false -GUILD_PRACTICE_GROUP_CFG.extensions = {} -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.name = "items" -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guild_practice_group_cfgs.items" -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.number = 1 -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.index = 0 -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.label = 3 -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.has_default_value = false -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.default_value = {} -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.message_type = GUILD_PRACTICE_GROUP_CFG -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.type = 11 -GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUILD_PRACTICE_GROUP_CFGS.name = "guild_practice_group_cfgs" -GUILD_PRACTICE_GROUP_CFGS.full_name = ".ftcfg.guild_practice_group_cfgs" -GUILD_PRACTICE_GROUP_CFGS.nested_types = {} -GUILD_PRACTICE_GROUP_CFGS.enum_types = {} -GUILD_PRACTICE_GROUP_CFGS.fields = {GUILD_PRACTICE_GROUP_CFGS_ITEMS_FIELD} -GUILD_PRACTICE_GROUP_CFGS.is_extendable = false -GUILD_PRACTICE_GROUP_CFGS.extensions = {} -GUILD_BASE_CFG_ID_FIELD.name = "id" -GUILD_BASE_CFG_ID_FIELD.full_name = ".ftcfg.guild_base_cfg.id" -GUILD_BASE_CFG_ID_FIELD.number = 1 -GUILD_BASE_CFG_ID_FIELD.index = 0 -GUILD_BASE_CFG_ID_FIELD.label = 2 -GUILD_BASE_CFG_ID_FIELD.has_default_value = false -GUILD_BASE_CFG_ID_FIELD.default_value = 0 -GUILD_BASE_CFG_ID_FIELD.type = 13 -GUILD_BASE_CFG_ID_FIELD.cpp_type = 3 - -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.name = "Guild_remove_cost_money" -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_remove_cost_money" -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.number = 2 -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.index = 1 -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.name = "Day_cost_money" -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.full_name = ".ftcfg.guild_base_cfg.Day_cost_money" -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.number = 3 -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.index = 2 -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.label = 2 -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.has_default_value = false -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.default_value = 0 -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.type = 5 -GUILD_BASE_CFG_DAY_COST_MONEY_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.name = "Guild_upper_limit" -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_upper_limit" -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.number = 4 -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.index = 3 -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.name = "Guild_apprentice_limit" -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_apprentice_limit" -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.number = 5 -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.index = 4 -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.name = "Guild_vice_leader_limit" -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_vice_leader_limit" -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.number = 6 -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.index = 5 -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.name = "Guild_elite_limit" -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_elite_limit" -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.number = 7 -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.index = 6 -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.name = "Guild_baby_limit" -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_baby_limit" -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.number = 8 -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.index = 7 -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.name = "Guild_unlock_shop" -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_unlock_shop" -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.number = 9 -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.index = 8 -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.name = "Guild_unlock_task" -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_unlock_task" -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.number = 10 -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.index = 9 -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.name = "Guild_unlock_levelup" -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_unlock_levelup" -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.number = 11 -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.index = 10 -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.name = "Guild_unlock_guidance" -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_unlock_guidance" -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.number = 12 -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.index = 11 -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.name = "Guild_unlock_build_task" -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_unlock_build_task" -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.number = 13 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.index = 12 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.name = "Guild_unlock_build_practice" -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_unlock_build_practice" -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.number = 14 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.index = 13 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.name = "Guild_practice_help_max" -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_practice_help_max" -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.number = 15 -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.index = 14 -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.name = "Guild_type_practice1" -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_type_practice1" -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.number = 16 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.index = 15 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.name = "Guild_type_practice2" -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_type_practice2" -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.number = 17 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.index = 16 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.name = "Guild_name_cost_type" -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_name_cost_type" -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.number = 18 -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.index = 17 -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD.cpp_type = 1 - -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.name = "Guild_name_cost_number" -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.full_name = ".ftcfg.guild_base_cfg.Guild_name_cost_number" -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.number = 19 -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.index = 18 -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.label = 2 -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.has_default_value = false -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.default_value = 0 -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.type = 5 -GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD.cpp_type = 1 - -GUILD_BASE_CFG.name = "guild_base_cfg" -GUILD_BASE_CFG.full_name = ".ftcfg.guild_base_cfg" -GUILD_BASE_CFG.nested_types = {} -GUILD_BASE_CFG.enum_types = {} -GUILD_BASE_CFG.fields = {GUILD_BASE_CFG_ID_FIELD, GUILD_BASE_CFG_GUILD_REMOVE_COST_MONEY_FIELD, GUILD_BASE_CFG_DAY_COST_MONEY_FIELD, GUILD_BASE_CFG_GUILD_UPPER_LIMIT_FIELD, GUILD_BASE_CFG_GUILD_APPRENTICE_LIMIT_FIELD, GUILD_BASE_CFG_GUILD_VICE_LEADER_LIMIT_FIELD, GUILD_BASE_CFG_GUILD_ELITE_LIMIT_FIELD, GUILD_BASE_CFG_GUILD_BABY_LIMIT_FIELD, GUILD_BASE_CFG_GUILD_UNLOCK_SHOP_FIELD, GUILD_BASE_CFG_GUILD_UNLOCK_TASK_FIELD, GUILD_BASE_CFG_GUILD_UNLOCK_LEVELUP_FIELD, GUILD_BASE_CFG_GUILD_UNLOCK_GUIDANCE_FIELD, GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_TASK_FIELD, GUILD_BASE_CFG_GUILD_UNLOCK_BUILD_PRACTICE_FIELD, GUILD_BASE_CFG_GUILD_PRACTICE_HELP_MAX_FIELD, GUILD_BASE_CFG_GUILD_TYPE_PRACTICE1_FIELD, GUILD_BASE_CFG_GUILD_TYPE_PRACTICE2_FIELD, GUILD_BASE_CFG_GUILD_NAME_COST_TYPE_FIELD, GUILD_BASE_CFG_GUILD_NAME_COST_NUMBER_FIELD} -GUILD_BASE_CFG.is_extendable = false -GUILD_BASE_CFG.extensions = {} -GUILD_BASE_CFGS_ITEMS_FIELD.name = "items" -GUILD_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guild_base_cfgs.items" -GUILD_BASE_CFGS_ITEMS_FIELD.number = 1 -GUILD_BASE_CFGS_ITEMS_FIELD.index = 0 -GUILD_BASE_CFGS_ITEMS_FIELD.label = 3 -GUILD_BASE_CFGS_ITEMS_FIELD.has_default_value = false -GUILD_BASE_CFGS_ITEMS_FIELD.default_value = {} -GUILD_BASE_CFGS_ITEMS_FIELD.message_type = GUILD_BASE_CFG -GUILD_BASE_CFGS_ITEMS_FIELD.type = 11 -GUILD_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUILD_BASE_CFGS.name = "guild_base_cfgs" -GUILD_BASE_CFGS.full_name = ".ftcfg.guild_base_cfgs" -GUILD_BASE_CFGS.nested_types = {} -GUILD_BASE_CFGS.enum_types = {} -GUILD_BASE_CFGS.fields = {GUILD_BASE_CFGS_ITEMS_FIELD} -GUILD_BASE_CFGS.is_extendable = false -GUILD_BASE_CFGS.extensions = {} -GUILD_FLAG_CFG_ID_FIELD.name = "id" -GUILD_FLAG_CFG_ID_FIELD.full_name = ".ftcfg.guild_flag_cfg.id" -GUILD_FLAG_CFG_ID_FIELD.number = 1 -GUILD_FLAG_CFG_ID_FIELD.index = 0 -GUILD_FLAG_CFG_ID_FIELD.label = 2 -GUILD_FLAG_CFG_ID_FIELD.has_default_value = false -GUILD_FLAG_CFG_ID_FIELD.default_value = 0 -GUILD_FLAG_CFG_ID_FIELD.type = 5 -GUILD_FLAG_CFG_ID_FIELD.cpp_type = 1 - -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.name = "Guild_big_flag_icon" -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.full_name = ".ftcfg.guild_flag_cfg.Guild_big_flag_icon" -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.number = 2 -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.index = 1 -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.label = 2 -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.has_default_value = false -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.default_value = 0 -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.type = 5 -GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD.cpp_type = 1 - -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.name = "Guild_samll_flag_icon" -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.full_name = ".ftcfg.guild_flag_cfg.Guild_samll_flag_icon" -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.number = 3 -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.index = 2 -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.label = 2 -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.has_default_value = false -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.default_value = "" -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.type = 9 -GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD.cpp_type = 9 - -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.name = "Guild_flag_money" -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.full_name = ".ftcfg.guild_flag_cfg.Guild_flag_money" -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.number = 4 -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.index = 3 -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.label = 2 -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.has_default_value = false -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.default_value = 0 -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.type = 5 -GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD.cpp_type = 1 - -GUILD_FLAG_CFG.name = "guild_flag_cfg" -GUILD_FLAG_CFG.full_name = ".ftcfg.guild_flag_cfg" -GUILD_FLAG_CFG.nested_types = {} -GUILD_FLAG_CFG.enum_types = {} -GUILD_FLAG_CFG.fields = {GUILD_FLAG_CFG_ID_FIELD, GUILD_FLAG_CFG_GUILD_BIG_FLAG_ICON_FIELD, GUILD_FLAG_CFG_GUILD_SAMLL_FLAG_ICON_FIELD, GUILD_FLAG_CFG_GUILD_FLAG_MONEY_FIELD} -GUILD_FLAG_CFG.is_extendable = false -GUILD_FLAG_CFG.extensions = {} -GUILD_FLAG_CFGS_ITEMS_FIELD.name = "items" -GUILD_FLAG_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guild_flag_cfgs.items" -GUILD_FLAG_CFGS_ITEMS_FIELD.number = 1 -GUILD_FLAG_CFGS_ITEMS_FIELD.index = 0 -GUILD_FLAG_CFGS_ITEMS_FIELD.label = 3 -GUILD_FLAG_CFGS_ITEMS_FIELD.has_default_value = false -GUILD_FLAG_CFGS_ITEMS_FIELD.default_value = {} -GUILD_FLAG_CFGS_ITEMS_FIELD.message_type = GUILD_FLAG_CFG -GUILD_FLAG_CFGS_ITEMS_FIELD.type = 11 -GUILD_FLAG_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUILD_FLAG_CFGS.name = "guild_flag_cfgs" -GUILD_FLAG_CFGS.full_name = ".ftcfg.guild_flag_cfgs" -GUILD_FLAG_CFGS.nested_types = {} -GUILD_FLAG_CFGS.enum_types = {} -GUILD_FLAG_CFGS.fields = {GUILD_FLAG_CFGS_ITEMS_FIELD} -GUILD_FLAG_CFGS.is_extendable = false -GUILD_FLAG_CFGS.extensions = {} -GUIL_POST_CFG_ID_FIELD.name = "id" -GUIL_POST_CFG_ID_FIELD.full_name = ".ftcfg.guil_post_cfg.id" -GUIL_POST_CFG_ID_FIELD.number = 1 -GUIL_POST_CFG_ID_FIELD.index = 0 -GUIL_POST_CFG_ID_FIELD.label = 2 -GUIL_POST_CFG_ID_FIELD.has_default_value = false -GUIL_POST_CFG_ID_FIELD.default_value = 0 -GUIL_POST_CFG_ID_FIELD.type = 13 -GUIL_POST_CFG_ID_FIELD.cpp_type = 3 - -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.name = "Guild_post_languageid" -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_post_languageid" -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.number = 2 -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.index = 1 -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.label = 2 -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.type = 5 -GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_REMOVE_FIELD.name = "Guild_remove" -GUIL_POST_CFG_GUILD_REMOVE_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_remove" -GUIL_POST_CFG_GUILD_REMOVE_FIELD.number = 3 -GUIL_POST_CFG_GUILD_REMOVE_FIELD.index = 2 -GUIL_POST_CFG_GUILD_REMOVE_FIELD.label = 2 -GUIL_POST_CFG_GUILD_REMOVE_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_REMOVE_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_REMOVE_FIELD.type = 5 -GUIL_POST_CFG_GUILD_REMOVE_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_MAIL_FIELD.name = "Guild_mail" -GUIL_POST_CFG_GUILD_MAIL_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_mail" -GUIL_POST_CFG_GUILD_MAIL_FIELD.number = 4 -GUIL_POST_CFG_GUILD_MAIL_FIELD.index = 3 -GUIL_POST_CFG_GUILD_MAIL_FIELD.label = 2 -GUIL_POST_CFG_GUILD_MAIL_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_MAIL_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_MAIL_FIELD.type = 5 -GUIL_POST_CFG_GUILD_MAIL_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.name = "Guild_appointment" -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_appointment" -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.number = 5 -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.index = 4 -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.label = 2 -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.type = 5 -GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_EXPEL_FIELD.name = "Guild_expel" -GUIL_POST_CFG_GUILD_EXPEL_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_expel" -GUIL_POST_CFG_GUILD_EXPEL_FIELD.number = 6 -GUIL_POST_CFG_GUILD_EXPEL_FIELD.index = 5 -GUIL_POST_CFG_GUILD_EXPEL_FIELD.label = 2 -GUIL_POST_CFG_GUILD_EXPEL_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_EXPEL_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_EXPEL_FIELD.type = 5 -GUIL_POST_CFG_GUILD_EXPEL_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_INVITATION_FIELD.name = "Guild_invitation" -GUIL_POST_CFG_GUILD_INVITATION_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_invitation" -GUIL_POST_CFG_GUILD_INVITATION_FIELD.number = 7 -GUIL_POST_CFG_GUILD_INVITATION_FIELD.index = 6 -GUIL_POST_CFG_GUILD_INVITATION_FIELD.label = 2 -GUIL_POST_CFG_GUILD_INVITATION_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_INVITATION_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_INVITATION_FIELD.type = 5 -GUIL_POST_CFG_GUILD_INVITATION_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.name = "Guild_approval" -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_approval" -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.number = 8 -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.index = 7 -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.label = 2 -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.type = 5 -GUIL_POST_CFG_GUILD_APPROVAL_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_TEAM_FIELD.name = "Guild_team" -GUIL_POST_CFG_GUILD_TEAM_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_team" -GUIL_POST_CFG_GUILD_TEAM_FIELD.number = 9 -GUIL_POST_CFG_GUILD_TEAM_FIELD.index = 8 -GUIL_POST_CFG_GUILD_TEAM_FIELD.label = 2 -GUIL_POST_CFG_GUILD_TEAM_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_TEAM_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_TEAM_FIELD.type = 5 -GUIL_POST_CFG_GUILD_TEAM_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_CALL_FIELD.name = "Guild_call" -GUIL_POST_CFG_GUILD_CALL_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_call" -GUIL_POST_CFG_GUILD_CALL_FIELD.number = 10 -GUIL_POST_CFG_GUILD_CALL_FIELD.index = 9 -GUIL_POST_CFG_GUILD_CALL_FIELD.label = 2 -GUIL_POST_CFG_GUILD_CALL_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_CALL_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_CALL_FIELD.type = 5 -GUIL_POST_CFG_GUILD_CALL_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.name = "Guild_hostile" -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_hostile" -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.number = 11 -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.index = 10 -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.label = 2 -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.type = 5 -GUIL_POST_CFG_GUILD_HOSTILE_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.name = "Guild_territorial_transfer" -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_territorial_transfer" -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.number = 12 -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.index = 11 -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.label = 2 -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.type = 5 -GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.name = "Guild_flag_modify" -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_flag_modify" -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.number = 13 -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.index = 12 -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.label = 2 -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.type = 5 -GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.name = "Guild_name_modify" -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_name_modify" -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.number = 14 -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.index = 13 -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.label = 2 -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.type = 5 -GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD.cpp_type = 1 - -GUIL_POST_CFG_GUILD_NOTICE_FIELD.name = "Guild_notice" -GUIL_POST_CFG_GUILD_NOTICE_FIELD.full_name = ".ftcfg.guil_post_cfg.Guild_notice" -GUIL_POST_CFG_GUILD_NOTICE_FIELD.number = 15 -GUIL_POST_CFG_GUILD_NOTICE_FIELD.index = 14 -GUIL_POST_CFG_GUILD_NOTICE_FIELD.label = 2 -GUIL_POST_CFG_GUILD_NOTICE_FIELD.has_default_value = false -GUIL_POST_CFG_GUILD_NOTICE_FIELD.default_value = 0 -GUIL_POST_CFG_GUILD_NOTICE_FIELD.type = 5 -GUIL_POST_CFG_GUILD_NOTICE_FIELD.cpp_type = 1 - -GUIL_POST_CFG.name = "guil_post_cfg" -GUIL_POST_CFG.full_name = ".ftcfg.guil_post_cfg" -GUIL_POST_CFG.nested_types = {} -GUIL_POST_CFG.enum_types = {} -GUIL_POST_CFG.fields = {GUIL_POST_CFG_ID_FIELD, GUIL_POST_CFG_GUILD_POST_LANGUAGEID_FIELD, GUIL_POST_CFG_GUILD_REMOVE_FIELD, GUIL_POST_CFG_GUILD_MAIL_FIELD, GUIL_POST_CFG_GUILD_APPOINTMENT_FIELD, GUIL_POST_CFG_GUILD_EXPEL_FIELD, GUIL_POST_CFG_GUILD_INVITATION_FIELD, GUIL_POST_CFG_GUILD_APPROVAL_FIELD, GUIL_POST_CFG_GUILD_TEAM_FIELD, GUIL_POST_CFG_GUILD_CALL_FIELD, GUIL_POST_CFG_GUILD_HOSTILE_FIELD, GUIL_POST_CFG_GUILD_TERRITORIAL_TRANSFER_FIELD, GUIL_POST_CFG_GUILD_FLAG_MODIFY_FIELD, GUIL_POST_CFG_GUILD_NAME_MODIFY_FIELD, GUIL_POST_CFG_GUILD_NOTICE_FIELD} -GUIL_POST_CFG.is_extendable = false -GUIL_POST_CFG.extensions = {} -GUIL_POST_CFGS_ITEMS_FIELD.name = "items" -GUIL_POST_CFGS_ITEMS_FIELD.full_name = ".ftcfg.guil_post_cfgs.items" -GUIL_POST_CFGS_ITEMS_FIELD.number = 1 -GUIL_POST_CFGS_ITEMS_FIELD.index = 0 -GUIL_POST_CFGS_ITEMS_FIELD.label = 3 -GUIL_POST_CFGS_ITEMS_FIELD.has_default_value = false -GUIL_POST_CFGS_ITEMS_FIELD.default_value = {} -GUIL_POST_CFGS_ITEMS_FIELD.message_type = GUIL_POST_CFG -GUIL_POST_CFGS_ITEMS_FIELD.type = 11 -GUIL_POST_CFGS_ITEMS_FIELD.cpp_type = 10 - -GUIL_POST_CFGS.name = "guil_post_cfgs" -GUIL_POST_CFGS.full_name = ".ftcfg.guil_post_cfgs" -GUIL_POST_CFGS.nested_types = {} -GUIL_POST_CFGS.enum_types = {} -GUIL_POST_CFGS.fields = {GUIL_POST_CFGS_ITEMS_FIELD} -GUIL_POST_CFGS.is_extendable = false -GUIL_POST_CFGS.extensions = {} -INNER_ALCHEMY_CFG_ID_FIELD.name = "id" -INNER_ALCHEMY_CFG_ID_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.id" -INNER_ALCHEMY_CFG_ID_FIELD.number = 1 -INNER_ALCHEMY_CFG_ID_FIELD.index = 0 -INNER_ALCHEMY_CFG_ID_FIELD.label = 2 -INNER_ALCHEMY_CFG_ID_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ID_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_ID_FIELD.type = 13 -INNER_ALCHEMY_CFG_ID_FIELD.cpp_type = 3 - -INNER_ALCHEMY_CFG_NAME_FIELD.name = "name" -INNER_ALCHEMY_CFG_NAME_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.name" -INNER_ALCHEMY_CFG_NAME_FIELD.number = 2 -INNER_ALCHEMY_CFG_NAME_FIELD.index = 1 -INNER_ALCHEMY_CFG_NAME_FIELD.label = 2 -INNER_ALCHEMY_CFG_NAME_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_NAME_FIELD.default_value = "" -INNER_ALCHEMY_CFG_NAME_FIELD.type = 9 -INNER_ALCHEMY_CFG_NAME_FIELD.cpp_type = 9 - -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.name = "activation_type" -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.activation_type" -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.number = 3 -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.index = 2 -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.label = 2 -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.type = 5 -INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_DESC_FIELD.name = "desc" -INNER_ALCHEMY_CFG_DESC_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.desc" -INNER_ALCHEMY_CFG_DESC_FIELD.number = 4 -INNER_ALCHEMY_CFG_DESC_FIELD.index = 3 -INNER_ALCHEMY_CFG_DESC_FIELD.label = 2 -INNER_ALCHEMY_CFG_DESC_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_DESC_FIELD.default_value = "" -INNER_ALCHEMY_CFG_DESC_FIELD.type = 9 -INNER_ALCHEMY_CFG_DESC_FIELD.cpp_type = 9 - -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.name = "item_icon" -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.item_icon" -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.number = 5 -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.index = 4 -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.label = 2 -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.type = 5 -INNER_ALCHEMY_CFG_ITEM_ICON_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_ICON_FIELD.name = "icon" -INNER_ALCHEMY_CFG_ICON_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.icon" -INNER_ALCHEMY_CFG_ICON_FIELD.number = 6 -INNER_ALCHEMY_CFG_ICON_FIELD.index = 5 -INNER_ALCHEMY_CFG_ICON_FIELD.label = 2 -INNER_ALCHEMY_CFG_ICON_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ICON_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_ICON_FIELD.type = 5 -INNER_ALCHEMY_CFG_ICON_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.name = "formula_icon" -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.formula_icon" -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.number = 7 -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.index = 6 -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.label = 2 -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.type = 5 -INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.name = "unlock_cost" -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.unlock_cost" -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.number = 8 -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.index = 7 -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.label = 2 -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.type = 5 -INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.name = "unlock_cost_num" -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.unlock_cost_num" -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.number = 9 -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.index = 8 -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.label = 2 -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.type = 5 -INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.name = "activation_cost" -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.activation_cost" -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.number = 10 -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.index = 9 -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.label = 2 -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.type = 5 -INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.name = "activation_cost_num" -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.activation_cost_num" -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.number = 11 -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.index = 10 -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.label = 2 -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.type = 5 -INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.name = "activation_resources_icon" -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.activation_resources_icon" -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.number = 12 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.index = 11 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.label = 3 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.default_value = {} -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.type = 5 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.name = "activation_resources_cost" -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.activation_resources_cost" -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.number = 13 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.index = 12 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.label = 3 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.default_value = {} -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.type = 5 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.name = "activation_resources_cost_num" -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.activation_resources_cost_num" -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.number = 14 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.index = 13 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.label = 3 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.default_value = {} -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.type = 5 -INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.name = "prop_effect1" -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.prop_effect1" -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.number = 15 -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.index = 14 -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.label = 2 -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.default_value = "" -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.type = 9 -INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD.cpp_type = 9 - -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.name = "prop_effect2" -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.prop_effect2" -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.number = 16 -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.index = 15 -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.label = 2 -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.default_value = "" -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.type = 9 -INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD.cpp_type = 9 - -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.name = "prop_effect3" -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.prop_effect3" -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.number = 17 -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.index = 16 -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.label = 2 -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.default_value = "" -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.type = 9 -INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD.cpp_type = 9 - -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.name = "occupation" -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.occupation" -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.number = 18 -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.index = 17 -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.label = 2 -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.default_value = 0 -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.type = 5 -INNER_ALCHEMY_CFG_OCCUPATION_FIELD.cpp_type = 1 - -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.name = "combat_point" -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.combat_point" -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.number = 19 -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.index = 18 -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.label = 2 -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.default_value = 0.0 -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.type = 2 -INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD.cpp_type = 6 - -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.name = "suit_combat_point" -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.full_name = ".ftcfg.inner_alchemy_cfg.suit_combat_point" -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.number = 20 -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.index = 19 -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.label = 2 -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.has_default_value = false -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.default_value = 0.0 -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.type = 2 -INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD.cpp_type = 6 - -INNER_ALCHEMY_CFG.name = "inner_alchemy_cfg" -INNER_ALCHEMY_CFG.full_name = ".ftcfg.inner_alchemy_cfg" -INNER_ALCHEMY_CFG.nested_types = {} -INNER_ALCHEMY_CFG.enum_types = {} -INNER_ALCHEMY_CFG.fields = {INNER_ALCHEMY_CFG_ID_FIELD, INNER_ALCHEMY_CFG_NAME_FIELD, INNER_ALCHEMY_CFG_ACTIVATION_TYPE_FIELD, INNER_ALCHEMY_CFG_DESC_FIELD, INNER_ALCHEMY_CFG_ITEM_ICON_FIELD, INNER_ALCHEMY_CFG_ICON_FIELD, INNER_ALCHEMY_CFG_FORMULA_ICON_FIELD, INNER_ALCHEMY_CFG_UNLOCK_COST_FIELD, INNER_ALCHEMY_CFG_UNLOCK_COST_NUM_FIELD, INNER_ALCHEMY_CFG_ACTIVATION_COST_FIELD, INNER_ALCHEMY_CFG_ACTIVATION_COST_NUM_FIELD, INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_ICON_FIELD, INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_FIELD, INNER_ALCHEMY_CFG_ACTIVATION_RESOURCES_COST_NUM_FIELD, INNER_ALCHEMY_CFG_PROP_EFFECT1_FIELD, INNER_ALCHEMY_CFG_PROP_EFFECT2_FIELD, INNER_ALCHEMY_CFG_PROP_EFFECT3_FIELD, INNER_ALCHEMY_CFG_OCCUPATION_FIELD, INNER_ALCHEMY_CFG_COMBAT_POINT_FIELD, INNER_ALCHEMY_CFG_SUIT_COMBAT_POINT_FIELD} -INNER_ALCHEMY_CFG.is_extendable = false -INNER_ALCHEMY_CFG.extensions = {} -INNER_ALCHEMY_CFGS_ITEMS_FIELD.name = "items" -INNER_ALCHEMY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.inner_alchemy_cfgs.items" -INNER_ALCHEMY_CFGS_ITEMS_FIELD.number = 1 -INNER_ALCHEMY_CFGS_ITEMS_FIELD.index = 0 -INNER_ALCHEMY_CFGS_ITEMS_FIELD.label = 3 -INNER_ALCHEMY_CFGS_ITEMS_FIELD.has_default_value = false -INNER_ALCHEMY_CFGS_ITEMS_FIELD.default_value = {} -INNER_ALCHEMY_CFGS_ITEMS_FIELD.message_type = INNER_ALCHEMY_CFG -INNER_ALCHEMY_CFGS_ITEMS_FIELD.type = 11 -INNER_ALCHEMY_CFGS_ITEMS_FIELD.cpp_type = 10 - -INNER_ALCHEMY_CFGS.name = "inner_alchemy_cfgs" -INNER_ALCHEMY_CFGS.full_name = ".ftcfg.inner_alchemy_cfgs" -INNER_ALCHEMY_CFGS.nested_types = {} -INNER_ALCHEMY_CFGS.enum_types = {} -INNER_ALCHEMY_CFGS.fields = {INNER_ALCHEMY_CFGS_ITEMS_FIELD} -INNER_ALCHEMY_CFGS.is_extendable = false -INNER_ALCHEMY_CFGS.extensions = {} -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.name = "id" -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.full_name = ".ftcfg.inner_alchemy_group_cfg.id" -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.number = 1 -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.index = 0 -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.label = 2 -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.has_default_value = false -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.default_value = 0 -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.type = 13 -INNER_ALCHEMY_GROUP_CFG_ID_FIELD.cpp_type = 3 - -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.name = "inner_alchemy_group" -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.full_name = ".ftcfg.inner_alchemy_group_cfg.inner_alchemy_group" -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.number = 2 -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.index = 1 -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.label = 3 -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.has_default_value = false -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.default_value = {} -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.type = 5 -INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD.cpp_type = 1 - -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.name = "desc" -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.full_name = ".ftcfg.inner_alchemy_group_cfg.desc" -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.number = 3 -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.index = 2 -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.label = 2 -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.has_default_value = false -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.default_value = "" -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.type = 9 -INNER_ALCHEMY_GROUP_CFG_DESC_FIELD.cpp_type = 9 - -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.name = "group_effect" -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.full_name = ".ftcfg.inner_alchemy_group_cfg.group_effect" -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.number = 4 -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.index = 3 -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.label = 2 -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.has_default_value = false -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.default_value = 0 -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.type = 5 -INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD.cpp_type = 1 - -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.name = "skill_id_index" -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.full_name = ".ftcfg.inner_alchemy_group_cfg.skill_id_index" -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.number = 5 -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.index = 4 -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.label = 2 -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.has_default_value = false -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.default_value = 0 -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.type = 5 -INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD.cpp_type = 1 - -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.name = "skill_array" -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.full_name = ".ftcfg.inner_alchemy_group_cfg.skill_array" -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.number = 6 -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.index = 5 -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.label = 3 -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.has_default_value = false -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.default_value = {} -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.type = 5 -INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD.cpp_type = 1 - -INNER_ALCHEMY_GROUP_CFG.name = "inner_alchemy_group_cfg" -INNER_ALCHEMY_GROUP_CFG.full_name = ".ftcfg.inner_alchemy_group_cfg" -INNER_ALCHEMY_GROUP_CFG.nested_types = {} -INNER_ALCHEMY_GROUP_CFG.enum_types = {} -INNER_ALCHEMY_GROUP_CFG.fields = {INNER_ALCHEMY_GROUP_CFG_ID_FIELD, INNER_ALCHEMY_GROUP_CFG_INNER_ALCHEMY_GROUP_FIELD, INNER_ALCHEMY_GROUP_CFG_DESC_FIELD, INNER_ALCHEMY_GROUP_CFG_GROUP_EFFECT_FIELD, INNER_ALCHEMY_GROUP_CFG_SKILL_ID_INDEX_FIELD, INNER_ALCHEMY_GROUP_CFG_SKILL_ARRAY_FIELD} -INNER_ALCHEMY_GROUP_CFG.is_extendable = false -INNER_ALCHEMY_GROUP_CFG.extensions = {} -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.name = "items" -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.inner_alchemy_group_cfgs.items" -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.number = 1 -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.index = 0 -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.label = 3 -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.has_default_value = false -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.default_value = {} -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.message_type = INNER_ALCHEMY_GROUP_CFG -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.type = 11 -INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -INNER_ALCHEMY_GROUP_CFGS.name = "inner_alchemy_group_cfgs" -INNER_ALCHEMY_GROUP_CFGS.full_name = ".ftcfg.inner_alchemy_group_cfgs" -INNER_ALCHEMY_GROUP_CFGS.nested_types = {} -INNER_ALCHEMY_GROUP_CFGS.enum_types = {} -INNER_ALCHEMY_GROUP_CFGS.fields = {INNER_ALCHEMY_GROUP_CFGS_ITEMS_FIELD} -INNER_ALCHEMY_GROUP_CFGS.is_extendable = false -INNER_ALCHEMY_GROUP_CFGS.extensions = {} -MEDAL_GROUP_CFG_ID_FIELD.name = "id" -MEDAL_GROUP_CFG_ID_FIELD.full_name = ".ftcfg.medal_group_cfg.id" -MEDAL_GROUP_CFG_ID_FIELD.number = 1 -MEDAL_GROUP_CFG_ID_FIELD.index = 0 -MEDAL_GROUP_CFG_ID_FIELD.label = 2 -MEDAL_GROUP_CFG_ID_FIELD.has_default_value = false -MEDAL_GROUP_CFG_ID_FIELD.default_value = 0 -MEDAL_GROUP_CFG_ID_FIELD.type = 13 -MEDAL_GROUP_CFG_ID_FIELD.cpp_type = 3 - -MEDAL_GROUP_CFG_STARLEVEL_FIELD.name = "starLevel" -MEDAL_GROUP_CFG_STARLEVEL_FIELD.full_name = ".ftcfg.medal_group_cfg.starLevel" -MEDAL_GROUP_CFG_STARLEVEL_FIELD.number = 2 -MEDAL_GROUP_CFG_STARLEVEL_FIELD.index = 1 -MEDAL_GROUP_CFG_STARLEVEL_FIELD.label = 2 -MEDAL_GROUP_CFG_STARLEVEL_FIELD.has_default_value = false -MEDAL_GROUP_CFG_STARLEVEL_FIELD.default_value = 0 -MEDAL_GROUP_CFG_STARLEVEL_FIELD.type = 5 -MEDAL_GROUP_CFG_STARLEVEL_FIELD.cpp_type = 1 - -MEDAL_GROUP_CFG_TYPE_FIELD.name = "type" -MEDAL_GROUP_CFG_TYPE_FIELD.full_name = ".ftcfg.medal_group_cfg.type" -MEDAL_GROUP_CFG_TYPE_FIELD.number = 3 -MEDAL_GROUP_CFG_TYPE_FIELD.index = 2 -MEDAL_GROUP_CFG_TYPE_FIELD.label = 2 -MEDAL_GROUP_CFG_TYPE_FIELD.has_default_value = false -MEDAL_GROUP_CFG_TYPE_FIELD.default_value = 0 -MEDAL_GROUP_CFG_TYPE_FIELD.type = 5 -MEDAL_GROUP_CFG_TYPE_FIELD.cpp_type = 1 - -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.name = "group_name" -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.full_name = ".ftcfg.medal_group_cfg.group_name" -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.number = 4 -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.index = 3 -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.label = 2 -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.has_default_value = false -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.default_value = 0 -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.type = 5 -MEDAL_GROUP_CFG_GROUP_NAME_FIELD.cpp_type = 1 - -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.name = "member_id" -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.full_name = ".ftcfg.medal_group_cfg.member_id" -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.number = 5 -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.index = 4 -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.label = 3 -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.has_default_value = false -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.default_value = {} -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.type = 13 -MEDAL_GROUP_CFG_MEMBER_ID_FIELD.cpp_type = 3 - -MEDAL_GROUP_CFG_DESC_FIELD.name = "desc" -MEDAL_GROUP_CFG_DESC_FIELD.full_name = ".ftcfg.medal_group_cfg.desc" -MEDAL_GROUP_CFG_DESC_FIELD.number = 6 -MEDAL_GROUP_CFG_DESC_FIELD.index = 5 -MEDAL_GROUP_CFG_DESC_FIELD.label = 2 -MEDAL_GROUP_CFG_DESC_FIELD.has_default_value = false -MEDAL_GROUP_CFG_DESC_FIELD.default_value = 0 -MEDAL_GROUP_CFG_DESC_FIELD.type = 5 -MEDAL_GROUP_CFG_DESC_FIELD.cpp_type = 1 - -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.name = "activation_attribute1" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.full_name = ".ftcfg.medal_group_cfg.activation_attribute1" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.number = 7 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.index = 6 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.label = 2 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.has_default_value = false -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.default_value = "" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.type = 9 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD.cpp_type = 9 - -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.name = "activation_attribute2" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.full_name = ".ftcfg.medal_group_cfg.activation_attribute2" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.number = 8 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.index = 7 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.label = 2 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.has_default_value = false -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.default_value = "" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.type = 9 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD.cpp_type = 9 - -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.name = "activation_attribute3" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.full_name = ".ftcfg.medal_group_cfg.activation_attribute3" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.number = 9 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.index = 8 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.label = 2 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.has_default_value = false -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.default_value = "" -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.type = 9 -MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD.cpp_type = 9 - -MEDAL_GROUP_CFG.name = "medal_group_cfg" -MEDAL_GROUP_CFG.full_name = ".ftcfg.medal_group_cfg" -MEDAL_GROUP_CFG.nested_types = {} -MEDAL_GROUP_CFG.enum_types = {} -MEDAL_GROUP_CFG.fields = {MEDAL_GROUP_CFG_ID_FIELD, MEDAL_GROUP_CFG_STARLEVEL_FIELD, MEDAL_GROUP_CFG_TYPE_FIELD, MEDAL_GROUP_CFG_GROUP_NAME_FIELD, MEDAL_GROUP_CFG_MEMBER_ID_FIELD, MEDAL_GROUP_CFG_DESC_FIELD, MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE1_FIELD, MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE2_FIELD, MEDAL_GROUP_CFG_ACTIVATION_ATTRIBUTE3_FIELD} -MEDAL_GROUP_CFG.is_extendable = false -MEDAL_GROUP_CFG.extensions = {} -MEDAL_GROUP_CFGS_ITEMS_FIELD.name = "items" -MEDAL_GROUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.medal_group_cfgs.items" -MEDAL_GROUP_CFGS_ITEMS_FIELD.number = 1 -MEDAL_GROUP_CFGS_ITEMS_FIELD.index = 0 -MEDAL_GROUP_CFGS_ITEMS_FIELD.label = 3 -MEDAL_GROUP_CFGS_ITEMS_FIELD.has_default_value = false -MEDAL_GROUP_CFGS_ITEMS_FIELD.default_value = {} -MEDAL_GROUP_CFGS_ITEMS_FIELD.message_type = MEDAL_GROUP_CFG -MEDAL_GROUP_CFGS_ITEMS_FIELD.type = 11 -MEDAL_GROUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -MEDAL_GROUP_CFGS.name = "medal_group_cfgs" -MEDAL_GROUP_CFGS.full_name = ".ftcfg.medal_group_cfgs" -MEDAL_GROUP_CFGS.nested_types = {} -MEDAL_GROUP_CFGS.enum_types = {} -MEDAL_GROUP_CFGS.fields = {MEDAL_GROUP_CFGS_ITEMS_FIELD} -MEDAL_GROUP_CFGS.is_extendable = false -MEDAL_GROUP_CFGS.extensions = {} -MEDAL_BASE_CFG_ID_FIELD.name = "id" -MEDAL_BASE_CFG_ID_FIELD.full_name = ".ftcfg.medal_base_cfg.id" -MEDAL_BASE_CFG_ID_FIELD.number = 1 -MEDAL_BASE_CFG_ID_FIELD.index = 0 -MEDAL_BASE_CFG_ID_FIELD.label = 2 -MEDAL_BASE_CFG_ID_FIELD.has_default_value = false -MEDAL_BASE_CFG_ID_FIELD.default_value = 0 -MEDAL_BASE_CFG_ID_FIELD.type = 13 -MEDAL_BASE_CFG_ID_FIELD.cpp_type = 3 - -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.name = "medal_name" -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.full_name = ".ftcfg.medal_base_cfg.medal_name" -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.number = 2 -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.index = 1 -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.label = 2 -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.has_default_value = false -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.default_value = 0 -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.type = 5 -MEDAL_BASE_CFG_MEDAL_NAME_FIELD.cpp_type = 1 - -MEDAL_BASE_CFG_ICON_FIELD.name = "icon" -MEDAL_BASE_CFG_ICON_FIELD.full_name = ".ftcfg.medal_base_cfg.icon" -MEDAL_BASE_CFG_ICON_FIELD.number = 3 -MEDAL_BASE_CFG_ICON_FIELD.index = 2 -MEDAL_BASE_CFG_ICON_FIELD.label = 2 -MEDAL_BASE_CFG_ICON_FIELD.has_default_value = false -MEDAL_BASE_CFG_ICON_FIELD.default_value = 0 -MEDAL_BASE_CFG_ICON_FIELD.type = 5 -MEDAL_BASE_CFG_ICON_FIELD.cpp_type = 1 - -MEDAL_BASE_CFG_TYPE_FIELD.name = "type" -MEDAL_BASE_CFG_TYPE_FIELD.full_name = ".ftcfg.medal_base_cfg.type" -MEDAL_BASE_CFG_TYPE_FIELD.number = 4 -MEDAL_BASE_CFG_TYPE_FIELD.index = 3 -MEDAL_BASE_CFG_TYPE_FIELD.label = 2 -MEDAL_BASE_CFG_TYPE_FIELD.has_default_value = false -MEDAL_BASE_CFG_TYPE_FIELD.default_value = 0 -MEDAL_BASE_CFG_TYPE_FIELD.type = 5 -MEDAL_BASE_CFG_TYPE_FIELD.cpp_type = 1 - -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.name = "change_need_propnum" -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.full_name = ".ftcfg.medal_base_cfg.change_need_propnum" -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.number = 5 -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.index = 4 -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.label = 2 -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.has_default_value = false -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.default_value = 0 -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.type = 5 -MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD.cpp_type = 1 - -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.name = "disassemble_get_propnum" -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.full_name = ".ftcfg.medal_base_cfg.disassemble_get_propnum" -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.number = 6 -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.index = 5 -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.label = 2 -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.has_default_value = false -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.default_value = 0 -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.type = 5 -MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD.cpp_type = 1 - -MEDAL_BASE_CFG.name = "medal_base_cfg" -MEDAL_BASE_CFG.full_name = ".ftcfg.medal_base_cfg" -MEDAL_BASE_CFG.nested_types = {} -MEDAL_BASE_CFG.enum_types = {} -MEDAL_BASE_CFG.fields = {MEDAL_BASE_CFG_ID_FIELD, MEDAL_BASE_CFG_MEDAL_NAME_FIELD, MEDAL_BASE_CFG_ICON_FIELD, MEDAL_BASE_CFG_TYPE_FIELD, MEDAL_BASE_CFG_CHANGE_NEED_PROPNUM_FIELD, MEDAL_BASE_CFG_DISASSEMBLE_GET_PROPNUM_FIELD} -MEDAL_BASE_CFG.is_extendable = false -MEDAL_BASE_CFG.extensions = {} -MEDAL_BASE_CFGS_ITEMS_FIELD.name = "items" -MEDAL_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.medal_base_cfgs.items" -MEDAL_BASE_CFGS_ITEMS_FIELD.number = 1 -MEDAL_BASE_CFGS_ITEMS_FIELD.index = 0 -MEDAL_BASE_CFGS_ITEMS_FIELD.label = 3 -MEDAL_BASE_CFGS_ITEMS_FIELD.has_default_value = false -MEDAL_BASE_CFGS_ITEMS_FIELD.default_value = {} -MEDAL_BASE_CFGS_ITEMS_FIELD.message_type = MEDAL_BASE_CFG -MEDAL_BASE_CFGS_ITEMS_FIELD.type = 11 -MEDAL_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -MEDAL_BASE_CFGS.name = "medal_base_cfgs" -MEDAL_BASE_CFGS.full_name = ".ftcfg.medal_base_cfgs" -MEDAL_BASE_CFGS.nested_types = {} -MEDAL_BASE_CFGS.enum_types = {} -MEDAL_BASE_CFGS.fields = {MEDAL_BASE_CFGS_ITEMS_FIELD} -MEDAL_BASE_CFGS.is_extendable = false -MEDAL_BASE_CFGS.extensions = {} -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.name = "id" -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.full_name = ".ftcfg.medal_composite_addition_cfg.id" -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.number = 1 -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.index = 0 -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.label = 2 -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.default_value = 0 -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.type = 13 -MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD.cpp_type = 3 - -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.name = "starLevel" -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.full_name = ".ftcfg.medal_composite_addition_cfg.starLevel" -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.number = 2 -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.index = 1 -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.label = 2 -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.default_value = 0 -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.type = 5 -MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD.cpp_type = 1 - -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.name = "type" -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.full_name = ".ftcfg.medal_composite_addition_cfg.type" -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.number = 3 -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.index = 2 -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.label = 2 -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.default_value = 0 -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.type = 5 -MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD.cpp_type = 1 - -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.name = "need_group_num" -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.full_name = ".ftcfg.medal_composite_addition_cfg.need_group_num" -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.number = 4 -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.index = 3 -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.label = 2 -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.default_value = 0 -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.type = 5 -MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD.cpp_type = 1 - -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.name = "activation_attribute1" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.full_name = ".ftcfg.medal_composite_addition_cfg.activation_attribute1" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.number = 5 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.index = 4 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.label = 2 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.default_value = "" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.type = 9 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD.cpp_type = 9 - -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.name = "activation_attribute2" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.full_name = ".ftcfg.medal_composite_addition_cfg.activation_attribute2" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.number = 6 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.index = 5 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.label = 2 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.default_value = "" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.type = 9 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD.cpp_type = 9 - -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.name = "activation_attribute3" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.full_name = ".ftcfg.medal_composite_addition_cfg.activation_attribute3" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.number = 7 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.index = 6 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.label = 2 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.default_value = "" -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.type = 9 -MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD.cpp_type = 9 - -MEDAL_COMPOSITE_ADDITION_CFG.name = "medal_composite_addition_cfg" -MEDAL_COMPOSITE_ADDITION_CFG.full_name = ".ftcfg.medal_composite_addition_cfg" -MEDAL_COMPOSITE_ADDITION_CFG.nested_types = {} -MEDAL_COMPOSITE_ADDITION_CFG.enum_types = {} -MEDAL_COMPOSITE_ADDITION_CFG.fields = {MEDAL_COMPOSITE_ADDITION_CFG_ID_FIELD, MEDAL_COMPOSITE_ADDITION_CFG_STARLEVEL_FIELD, MEDAL_COMPOSITE_ADDITION_CFG_TYPE_FIELD, MEDAL_COMPOSITE_ADDITION_CFG_NEED_GROUP_NUM_FIELD, MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE1_FIELD, MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE2_FIELD, MEDAL_COMPOSITE_ADDITION_CFG_ACTIVATION_ATTRIBUTE3_FIELD} -MEDAL_COMPOSITE_ADDITION_CFG.is_extendable = false -MEDAL_COMPOSITE_ADDITION_CFG.extensions = {} -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.name = "items" -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.medal_composite_addition_cfgs.items" -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.number = 1 -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.index = 0 -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.label = 3 -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.has_default_value = false -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.default_value = {} -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.message_type = MEDAL_COMPOSITE_ADDITION_CFG -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.type = 11 -MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD.cpp_type = 10 - -MEDAL_COMPOSITE_ADDITION_CFGS.name = "medal_composite_addition_cfgs" -MEDAL_COMPOSITE_ADDITION_CFGS.full_name = ".ftcfg.medal_composite_addition_cfgs" -MEDAL_COMPOSITE_ADDITION_CFGS.nested_types = {} -MEDAL_COMPOSITE_ADDITION_CFGS.enum_types = {} -MEDAL_COMPOSITE_ADDITION_CFGS.fields = {MEDAL_COMPOSITE_ADDITION_CFGS_ITEMS_FIELD} -MEDAL_COMPOSITE_ADDITION_CFGS.is_extendable = false -MEDAL_COMPOSITE_ADDITION_CFGS.extensions = {} -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.name = "type" -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.full_name = ".ftcfg.medal_open_level_cfg.type" -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.number = 1 -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.index = 0 -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.label = 2 -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.has_default_value = false -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.default_value = 0 -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.type = 5 -MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD.cpp_type = 1 - -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.name = "level" -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.full_name = ".ftcfg.medal_open_level_cfg.level" -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.number = 2 -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.index = 1 -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.label = 2 -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.has_default_value = false -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.default_value = 0 -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.type = 5 -MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD.cpp_type = 1 - -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.name = "name" -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.full_name = ".ftcfg.medal_open_level_cfg.name" -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.number = 3 -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.index = 2 -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.label = 2 -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.has_default_value = false -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.default_value = 0 -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.type = 5 -MEDAL_OPEN_LEVEL_CFG_NAME_FIELD.cpp_type = 1 - -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.name = "desc" -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.full_name = ".ftcfg.medal_open_level_cfg.desc" -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.number = 4 -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.index = 3 -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.label = 2 -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.has_default_value = false -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.default_value = 0 -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.type = 5 -MEDAL_OPEN_LEVEL_CFG_DESC_FIELD.cpp_type = 1 - -MEDAL_OPEN_LEVEL_CFG.name = "medal_open_level_cfg" -MEDAL_OPEN_LEVEL_CFG.full_name = ".ftcfg.medal_open_level_cfg" -MEDAL_OPEN_LEVEL_CFG.nested_types = {} -MEDAL_OPEN_LEVEL_CFG.enum_types = {} -MEDAL_OPEN_LEVEL_CFG.fields = {MEDAL_OPEN_LEVEL_CFG_TYPE_FIELD, MEDAL_OPEN_LEVEL_CFG_LEVEL_FIELD, MEDAL_OPEN_LEVEL_CFG_NAME_FIELD, MEDAL_OPEN_LEVEL_CFG_DESC_FIELD} -MEDAL_OPEN_LEVEL_CFG.is_extendable = false -MEDAL_OPEN_LEVEL_CFG.extensions = {} -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.name = "items" -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.medal_open_level_cfgs.items" -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.number = 1 -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.index = 0 -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.label = 3 -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.has_default_value = false -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.default_value = {} -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.message_type = MEDAL_OPEN_LEVEL_CFG -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.type = 11 -MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD.cpp_type = 10 - -MEDAL_OPEN_LEVEL_CFGS.name = "medal_open_level_cfgs" -MEDAL_OPEN_LEVEL_CFGS.full_name = ".ftcfg.medal_open_level_cfgs" -MEDAL_OPEN_LEVEL_CFGS.nested_types = {} -MEDAL_OPEN_LEVEL_CFGS.enum_types = {} -MEDAL_OPEN_LEVEL_CFGS.fields = {MEDAL_OPEN_LEVEL_CFGS_ITEMS_FIELD} -MEDAL_OPEN_LEVEL_CFGS.is_extendable = false -MEDAL_OPEN_LEVEL_CFGS.extensions = {} -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.name = "starlevel" -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.full_name = ".ftcfg.medal_star_open_level_cfg.starlevel" -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.number = 1 -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.index = 0 -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.label = 2 -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.has_default_value = false -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.default_value = 0 -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.type = 5 -MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD.cpp_type = 1 - -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.name = "level" -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.full_name = ".ftcfg.medal_star_open_level_cfg.level" -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.number = 2 -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.index = 1 -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.label = 2 -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.has_default_value = false -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.default_value = 0 -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.type = 5 -MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD.cpp_type = 1 - -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.name = "num" -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.full_name = ".ftcfg.medal_star_open_level_cfg.num" -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.number = 3 -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.index = 2 -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.label = 2 -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.has_default_value = false -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.default_value = 0 -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.type = 5 -MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD.cpp_type = 1 - -MEDAL_STAR_OPEN_LEVEL_CFG.name = "medal_star_open_level_cfg" -MEDAL_STAR_OPEN_LEVEL_CFG.full_name = ".ftcfg.medal_star_open_level_cfg" -MEDAL_STAR_OPEN_LEVEL_CFG.nested_types = {} -MEDAL_STAR_OPEN_LEVEL_CFG.enum_types = {} -MEDAL_STAR_OPEN_LEVEL_CFG.fields = {MEDAL_STAR_OPEN_LEVEL_CFG_STARLEVEL_FIELD, MEDAL_STAR_OPEN_LEVEL_CFG_LEVEL_FIELD, MEDAL_STAR_OPEN_LEVEL_CFG_NUM_FIELD} -MEDAL_STAR_OPEN_LEVEL_CFG.is_extendable = false -MEDAL_STAR_OPEN_LEVEL_CFG.extensions = {} -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.name = "items" -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.medal_star_open_level_cfgs.items" -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.number = 1 -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.index = 0 -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.label = 3 -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.has_default_value = false -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.default_value = {} -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.message_type = MEDAL_STAR_OPEN_LEVEL_CFG -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.type = 11 -MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD.cpp_type = 10 - -MEDAL_STAR_OPEN_LEVEL_CFGS.name = "medal_star_open_level_cfgs" -MEDAL_STAR_OPEN_LEVEL_CFGS.full_name = ".ftcfg.medal_star_open_level_cfgs" -MEDAL_STAR_OPEN_LEVEL_CFGS.nested_types = {} -MEDAL_STAR_OPEN_LEVEL_CFGS.enum_types = {} -MEDAL_STAR_OPEN_LEVEL_CFGS.fields = {MEDAL_STAR_OPEN_LEVEL_CFGS_ITEMS_FIELD} -MEDAL_STAR_OPEN_LEVEL_CFGS.is_extendable = false -MEDAL_STAR_OPEN_LEVEL_CFGS.extensions = {} -FORMULA_CFG_FORMULA_ID_FIELD.name = "formula_id" -FORMULA_CFG_FORMULA_ID_FIELD.full_name = ".ftcfg.formula_cfg.formula_id" -FORMULA_CFG_FORMULA_ID_FIELD.number = 1 -FORMULA_CFG_FORMULA_ID_FIELD.index = 0 -FORMULA_CFG_FORMULA_ID_FIELD.label = 2 -FORMULA_CFG_FORMULA_ID_FIELD.has_default_value = false -FORMULA_CFG_FORMULA_ID_FIELD.default_value = 0 -FORMULA_CFG_FORMULA_ID_FIELD.type = 5 -FORMULA_CFG_FORMULA_ID_FIELD.cpp_type = 1 - -FORMULA_CFG_COST_IDS_FIELD.name = "cost_ids" -FORMULA_CFG_COST_IDS_FIELD.full_name = ".ftcfg.formula_cfg.cost_ids" -FORMULA_CFG_COST_IDS_FIELD.number = 2 -FORMULA_CFG_COST_IDS_FIELD.index = 1 -FORMULA_CFG_COST_IDS_FIELD.label = 3 -FORMULA_CFG_COST_IDS_FIELD.has_default_value = false -FORMULA_CFG_COST_IDS_FIELD.default_value = {} -FORMULA_CFG_COST_IDS_FIELD.type = 5 -FORMULA_CFG_COST_IDS_FIELD.cpp_type = 1 - -FORMULA_CFG_COST_COUNTS_FIELD.name = "cost_counts" -FORMULA_CFG_COST_COUNTS_FIELD.full_name = ".ftcfg.formula_cfg.cost_counts" -FORMULA_CFG_COST_COUNTS_FIELD.number = 3 -FORMULA_CFG_COST_COUNTS_FIELD.index = 2 -FORMULA_CFG_COST_COUNTS_FIELD.label = 3 -FORMULA_CFG_COST_COUNTS_FIELD.has_default_value = false -FORMULA_CFG_COST_COUNTS_FIELD.default_value = {} -FORMULA_CFG_COST_COUNTS_FIELD.type = 5 -FORMULA_CFG_COST_COUNTS_FIELD.cpp_type = 1 - -FORMULA_CFG_ITEM_IDS_FIELD.name = "item_ids" -FORMULA_CFG_ITEM_IDS_FIELD.full_name = ".ftcfg.formula_cfg.item_ids" -FORMULA_CFG_ITEM_IDS_FIELD.number = 4 -FORMULA_CFG_ITEM_IDS_FIELD.index = 3 -FORMULA_CFG_ITEM_IDS_FIELD.label = 3 -FORMULA_CFG_ITEM_IDS_FIELD.has_default_value = false -FORMULA_CFG_ITEM_IDS_FIELD.default_value = {} -FORMULA_CFG_ITEM_IDS_FIELD.type = 5 -FORMULA_CFG_ITEM_IDS_FIELD.cpp_type = 1 - -FORMULA_CFG_ITEM_COUNTS_FIELD.name = "item_counts" -FORMULA_CFG_ITEM_COUNTS_FIELD.full_name = ".ftcfg.formula_cfg.item_counts" -FORMULA_CFG_ITEM_COUNTS_FIELD.number = 5 -FORMULA_CFG_ITEM_COUNTS_FIELD.index = 4 -FORMULA_CFG_ITEM_COUNTS_FIELD.label = 3 -FORMULA_CFG_ITEM_COUNTS_FIELD.has_default_value = false -FORMULA_CFG_ITEM_COUNTS_FIELD.default_value = {} -FORMULA_CFG_ITEM_COUNTS_FIELD.type = 5 -FORMULA_CFG_ITEM_COUNTS_FIELD.cpp_type = 1 - -FORMULA_CFG.name = "formula_cfg" -FORMULA_CFG.full_name = ".ftcfg.formula_cfg" -FORMULA_CFG.nested_types = {} -FORMULA_CFG.enum_types = {} -FORMULA_CFG.fields = {FORMULA_CFG_FORMULA_ID_FIELD, FORMULA_CFG_COST_IDS_FIELD, FORMULA_CFG_COST_COUNTS_FIELD, FORMULA_CFG_ITEM_IDS_FIELD, FORMULA_CFG_ITEM_COUNTS_FIELD} -FORMULA_CFG.is_extendable = false -FORMULA_CFG.extensions = {} -FORMULA_CFGS_ITEMS_FIELD.name = "items" -FORMULA_CFGS_ITEMS_FIELD.full_name = ".ftcfg.formula_cfgs.items" -FORMULA_CFGS_ITEMS_FIELD.number = 1 -FORMULA_CFGS_ITEMS_FIELD.index = 0 -FORMULA_CFGS_ITEMS_FIELD.label = 3 -FORMULA_CFGS_ITEMS_FIELD.has_default_value = false -FORMULA_CFGS_ITEMS_FIELD.default_value = {} -FORMULA_CFGS_ITEMS_FIELD.message_type = FORMULA_CFG -FORMULA_CFGS_ITEMS_FIELD.type = 11 -FORMULA_CFGS_ITEMS_FIELD.cpp_type = 10 - -FORMULA_CFGS.name = "formula_cfgs" -FORMULA_CFGS.full_name = ".ftcfg.formula_cfgs" -FORMULA_CFGS.nested_types = {} -FORMULA_CFGS.enum_types = {} -FORMULA_CFGS.fields = {FORMULA_CFGS_ITEMS_FIELD} -FORMULA_CFGS.is_extendable = false -FORMULA_CFGS.extensions = {} -MALL_ITEM_CFG_GUID_FIELD.name = "guid" -MALL_ITEM_CFG_GUID_FIELD.full_name = ".ftcfg.mall_item_cfg.guid" -MALL_ITEM_CFG_GUID_FIELD.number = 1 -MALL_ITEM_CFG_GUID_FIELD.index = 0 -MALL_ITEM_CFG_GUID_FIELD.label = 2 -MALL_ITEM_CFG_GUID_FIELD.has_default_value = false -MALL_ITEM_CFG_GUID_FIELD.default_value = 0 -MALL_ITEM_CFG_GUID_FIELD.type = 13 -MALL_ITEM_CFG_GUID_FIELD.cpp_type = 3 - -MALL_ITEM_CFG_TYPE_FIELD.name = "type" -MALL_ITEM_CFG_TYPE_FIELD.full_name = ".ftcfg.mall_item_cfg.type" -MALL_ITEM_CFG_TYPE_FIELD.number = 2 -MALL_ITEM_CFG_TYPE_FIELD.index = 1 -MALL_ITEM_CFG_TYPE_FIELD.label = 2 -MALL_ITEM_CFG_TYPE_FIELD.has_default_value = false -MALL_ITEM_CFG_TYPE_FIELD.default_value = 0 -MALL_ITEM_CFG_TYPE_FIELD.type = 13 -MALL_ITEM_CFG_TYPE_FIELD.cpp_type = 3 - -MALL_ITEM_CFG_REAL_GUID_FIELD.name = "real_guid" -MALL_ITEM_CFG_REAL_GUID_FIELD.full_name = ".ftcfg.mall_item_cfg.real_guid" -MALL_ITEM_CFG_REAL_GUID_FIELD.number = 3 -MALL_ITEM_CFG_REAL_GUID_FIELD.index = 2 -MALL_ITEM_CFG_REAL_GUID_FIELD.label = 2 -MALL_ITEM_CFG_REAL_GUID_FIELD.has_default_value = false -MALL_ITEM_CFG_REAL_GUID_FIELD.default_value = 0 -MALL_ITEM_CFG_REAL_GUID_FIELD.type = 13 -MALL_ITEM_CFG_REAL_GUID_FIELD.cpp_type = 3 - -MALL_ITEM_CFG_COST_TYPE_FIELD.name = "cost_type" -MALL_ITEM_CFG_COST_TYPE_FIELD.full_name = ".ftcfg.mall_item_cfg.cost_type" -MALL_ITEM_CFG_COST_TYPE_FIELD.number = 4 -MALL_ITEM_CFG_COST_TYPE_FIELD.index = 3 -MALL_ITEM_CFG_COST_TYPE_FIELD.label = 2 -MALL_ITEM_CFG_COST_TYPE_FIELD.has_default_value = false -MALL_ITEM_CFG_COST_TYPE_FIELD.default_value = 0 -MALL_ITEM_CFG_COST_TYPE_FIELD.type = 13 -MALL_ITEM_CFG_COST_TYPE_FIELD.cpp_type = 3 - -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.name = "cost_original" -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.full_name = ".ftcfg.mall_item_cfg.cost_original" -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.number = 5 -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.index = 4 -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.label = 2 -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.has_default_value = false -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.default_value = 0 -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.type = 13 -MALL_ITEM_CFG_COST_ORIGINAL_FIELD.cpp_type = 3 - -MALL_ITEM_CFG_COST_CURRENT_FIELD.name = "cost_current" -MALL_ITEM_CFG_COST_CURRENT_FIELD.full_name = ".ftcfg.mall_item_cfg.cost_current" -MALL_ITEM_CFG_COST_CURRENT_FIELD.number = 6 -MALL_ITEM_CFG_COST_CURRENT_FIELD.index = 5 -MALL_ITEM_CFG_COST_CURRENT_FIELD.label = 2 -MALL_ITEM_CFG_COST_CURRENT_FIELD.has_default_value = false -MALL_ITEM_CFG_COST_CURRENT_FIELD.default_value = 0 -MALL_ITEM_CFG_COST_CURRENT_FIELD.type = 13 -MALL_ITEM_CFG_COST_CURRENT_FIELD.cpp_type = 3 - -MALL_ITEM_CFG.name = "mall_item_cfg" -MALL_ITEM_CFG.full_name = ".ftcfg.mall_item_cfg" -MALL_ITEM_CFG.nested_types = {} -MALL_ITEM_CFG.enum_types = {} -MALL_ITEM_CFG.fields = {MALL_ITEM_CFG_GUID_FIELD, MALL_ITEM_CFG_TYPE_FIELD, MALL_ITEM_CFG_REAL_GUID_FIELD, MALL_ITEM_CFG_COST_TYPE_FIELD, MALL_ITEM_CFG_COST_ORIGINAL_FIELD, MALL_ITEM_CFG_COST_CURRENT_FIELD} -MALL_ITEM_CFG.is_extendable = false -MALL_ITEM_CFG.extensions = {} -MALL_ITEM_CFGS_ITEMS_FIELD.name = "items" -MALL_ITEM_CFGS_ITEMS_FIELD.full_name = ".ftcfg.mall_item_cfgs.items" -MALL_ITEM_CFGS_ITEMS_FIELD.number = 1 -MALL_ITEM_CFGS_ITEMS_FIELD.index = 0 -MALL_ITEM_CFGS_ITEMS_FIELD.label = 3 -MALL_ITEM_CFGS_ITEMS_FIELD.has_default_value = false -MALL_ITEM_CFGS_ITEMS_FIELD.default_value = {} -MALL_ITEM_CFGS_ITEMS_FIELD.message_type = MALL_ITEM_CFG -MALL_ITEM_CFGS_ITEMS_FIELD.type = 11 -MALL_ITEM_CFGS_ITEMS_FIELD.cpp_type = 10 - -MALL_ITEM_CFGS.name = "mall_item_cfgs" -MALL_ITEM_CFGS.full_name = ".ftcfg.mall_item_cfgs" -MALL_ITEM_CFGS.nested_types = {} -MALL_ITEM_CFGS.enum_types = {} -MALL_ITEM_CFGS.fields = {MALL_ITEM_CFGS_ITEMS_FIELD} -MALL_ITEM_CFGS.is_extendable = false -MALL_ITEM_CFGS.extensions = {} -SHOP_TYPE_CFG_ID_FIELD.name = "id" -SHOP_TYPE_CFG_ID_FIELD.full_name = ".ftcfg.shop_type_cfg.id" -SHOP_TYPE_CFG_ID_FIELD.number = 1 -SHOP_TYPE_CFG_ID_FIELD.index = 0 -SHOP_TYPE_CFG_ID_FIELD.label = 2 -SHOP_TYPE_CFG_ID_FIELD.has_default_value = false -SHOP_TYPE_CFG_ID_FIELD.default_value = 0 -SHOP_TYPE_CFG_ID_FIELD.type = 13 -SHOP_TYPE_CFG_ID_FIELD.cpp_type = 3 - -SHOP_TYPE_CFG_SHOP_NAME_FIELD.name = "shop_name" -SHOP_TYPE_CFG_SHOP_NAME_FIELD.full_name = ".ftcfg.shop_type_cfg.shop_name" -SHOP_TYPE_CFG_SHOP_NAME_FIELD.number = 2 -SHOP_TYPE_CFG_SHOP_NAME_FIELD.index = 1 -SHOP_TYPE_CFG_SHOP_NAME_FIELD.label = 2 -SHOP_TYPE_CFG_SHOP_NAME_FIELD.has_default_value = false -SHOP_TYPE_CFG_SHOP_NAME_FIELD.default_value = "" -SHOP_TYPE_CFG_SHOP_NAME_FIELD.type = 9 -SHOP_TYPE_CFG_SHOP_NAME_FIELD.cpp_type = 9 - -SHOP_TYPE_CFG_OPEN_LVL_FIELD.name = "open_lvl" -SHOP_TYPE_CFG_OPEN_LVL_FIELD.full_name = ".ftcfg.shop_type_cfg.open_lvl" -SHOP_TYPE_CFG_OPEN_LVL_FIELD.number = 3 -SHOP_TYPE_CFG_OPEN_LVL_FIELD.index = 2 -SHOP_TYPE_CFG_OPEN_LVL_FIELD.label = 2 -SHOP_TYPE_CFG_OPEN_LVL_FIELD.has_default_value = false -SHOP_TYPE_CFG_OPEN_LVL_FIELD.default_value = 0 -SHOP_TYPE_CFG_OPEN_LVL_FIELD.type = 5 -SHOP_TYPE_CFG_OPEN_LVL_FIELD.cpp_type = 1 - -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.name = "shop_type" -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.full_name = ".ftcfg.shop_type_cfg.shop_type" -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.number = 4 -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.index = 3 -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.label = 2 -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.has_default_value = false -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.default_value = nil -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.enum_type = config_predefine_pb.ESHOPTYPE -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.type = 14 -SHOP_TYPE_CFG_SHOP_TYPE_FIELD.cpp_type = 8 - -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.name = "shopsub_type" -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.full_name = ".ftcfg.shop_type_cfg.shopsub_type" -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.number = 5 -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.index = 4 -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.label = 2 -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.has_default_value = false -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.default_value = 0 -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.type = 5 -SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD.cpp_type = 1 - -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.name = "shop_items" -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.full_name = ".ftcfg.shop_type_cfg.shop_items" -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.number = 6 -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.index = 5 -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.label = 3 -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.has_default_value = false -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.default_value = {} -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.type = 5 -SHOP_TYPE_CFG_SHOP_ITEMS_FIELD.cpp_type = 1 - -SHOP_TYPE_CFG_ISTAB_FIELD.name = "istab" -SHOP_TYPE_CFG_ISTAB_FIELD.full_name = ".ftcfg.shop_type_cfg.istab" -SHOP_TYPE_CFG_ISTAB_FIELD.number = 7 -SHOP_TYPE_CFG_ISTAB_FIELD.index = 6 -SHOP_TYPE_CFG_ISTAB_FIELD.label = 2 -SHOP_TYPE_CFG_ISTAB_FIELD.has_default_value = false -SHOP_TYPE_CFG_ISTAB_FIELD.default_value = 0 -SHOP_TYPE_CFG_ISTAB_FIELD.type = 5 -SHOP_TYPE_CFG_ISTAB_FIELD.cpp_type = 1 - -SHOP_TYPE_CFG_TAB_NAME1_FIELD.name = "tab_name1" -SHOP_TYPE_CFG_TAB_NAME1_FIELD.full_name = ".ftcfg.shop_type_cfg.tab_name1" -SHOP_TYPE_CFG_TAB_NAME1_FIELD.number = 8 -SHOP_TYPE_CFG_TAB_NAME1_FIELD.index = 7 -SHOP_TYPE_CFG_TAB_NAME1_FIELD.label = 2 -SHOP_TYPE_CFG_TAB_NAME1_FIELD.has_default_value = false -SHOP_TYPE_CFG_TAB_NAME1_FIELD.default_value = "" -SHOP_TYPE_CFG_TAB_NAME1_FIELD.type = 9 -SHOP_TYPE_CFG_TAB_NAME1_FIELD.cpp_type = 9 - -SHOP_TYPE_CFG_TAB_NAME2_FIELD.name = "tab_name2" -SHOP_TYPE_CFG_TAB_NAME2_FIELD.full_name = ".ftcfg.shop_type_cfg.tab_name2" -SHOP_TYPE_CFG_TAB_NAME2_FIELD.number = 9 -SHOP_TYPE_CFG_TAB_NAME2_FIELD.index = 8 -SHOP_TYPE_CFG_TAB_NAME2_FIELD.label = 2 -SHOP_TYPE_CFG_TAB_NAME2_FIELD.has_default_value = false -SHOP_TYPE_CFG_TAB_NAME2_FIELD.default_value = "" -SHOP_TYPE_CFG_TAB_NAME2_FIELD.type = 9 -SHOP_TYPE_CFG_TAB_NAME2_FIELD.cpp_type = 9 - -SHOP_TYPE_CFG_TAB_NAME3_FIELD.name = "tab_name3" -SHOP_TYPE_CFG_TAB_NAME3_FIELD.full_name = ".ftcfg.shop_type_cfg.tab_name3" -SHOP_TYPE_CFG_TAB_NAME3_FIELD.number = 10 -SHOP_TYPE_CFG_TAB_NAME3_FIELD.index = 9 -SHOP_TYPE_CFG_TAB_NAME3_FIELD.label = 2 -SHOP_TYPE_CFG_TAB_NAME3_FIELD.has_default_value = false -SHOP_TYPE_CFG_TAB_NAME3_FIELD.default_value = "" -SHOP_TYPE_CFG_TAB_NAME3_FIELD.type = 9 -SHOP_TYPE_CFG_TAB_NAME3_FIELD.cpp_type = 9 - -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.name = "tab_items1" -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.full_name = ".ftcfg.shop_type_cfg.tab_items1" -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.number = 11 -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.index = 10 -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.label = 3 -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.has_default_value = false -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.default_value = {} -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.type = 5 -SHOP_TYPE_CFG_TAB_ITEMS1_FIELD.cpp_type = 1 - -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.name = "tab_items2" -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.full_name = ".ftcfg.shop_type_cfg.tab_items2" -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.number = 12 -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.index = 11 -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.label = 3 -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.has_default_value = false -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.default_value = {} -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.type = 5 -SHOP_TYPE_CFG_TAB_ITEMS2_FIELD.cpp_type = 1 - -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.name = "tab_items3" -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.full_name = ".ftcfg.shop_type_cfg.tab_items3" -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.number = 13 -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.index = 12 -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.label = 3 -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.has_default_value = false -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.default_value = {} -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.type = 5 -SHOP_TYPE_CFG_TAB_ITEMS3_FIELD.cpp_type = 1 - -SHOP_TYPE_CFG.name = "shop_type_cfg" -SHOP_TYPE_CFG.full_name = ".ftcfg.shop_type_cfg" -SHOP_TYPE_CFG.nested_types = {} -SHOP_TYPE_CFG.enum_types = {} -SHOP_TYPE_CFG.fields = {SHOP_TYPE_CFG_ID_FIELD, SHOP_TYPE_CFG_SHOP_NAME_FIELD, SHOP_TYPE_CFG_OPEN_LVL_FIELD, SHOP_TYPE_CFG_SHOP_TYPE_FIELD, SHOP_TYPE_CFG_SHOPSUB_TYPE_FIELD, SHOP_TYPE_CFG_SHOP_ITEMS_FIELD, SHOP_TYPE_CFG_ISTAB_FIELD, SHOP_TYPE_CFG_TAB_NAME1_FIELD, SHOP_TYPE_CFG_TAB_NAME2_FIELD, SHOP_TYPE_CFG_TAB_NAME3_FIELD, SHOP_TYPE_CFG_TAB_ITEMS1_FIELD, SHOP_TYPE_CFG_TAB_ITEMS2_FIELD, SHOP_TYPE_CFG_TAB_ITEMS3_FIELD} -SHOP_TYPE_CFG.is_extendable = false -SHOP_TYPE_CFG.extensions = {} -SHOP_TYPE_CFGS_ITEMS_FIELD.name = "items" -SHOP_TYPE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.shop_type_cfgs.items" -SHOP_TYPE_CFGS_ITEMS_FIELD.number = 1 -SHOP_TYPE_CFGS_ITEMS_FIELD.index = 0 -SHOP_TYPE_CFGS_ITEMS_FIELD.label = 3 -SHOP_TYPE_CFGS_ITEMS_FIELD.has_default_value = false -SHOP_TYPE_CFGS_ITEMS_FIELD.default_value = {} -SHOP_TYPE_CFGS_ITEMS_FIELD.message_type = SHOP_TYPE_CFG -SHOP_TYPE_CFGS_ITEMS_FIELD.type = 11 -SHOP_TYPE_CFGS_ITEMS_FIELD.cpp_type = 10 - -SHOP_TYPE_CFGS.name = "shop_type_cfgs" -SHOP_TYPE_CFGS.full_name = ".ftcfg.shop_type_cfgs" -SHOP_TYPE_CFGS.nested_types = {} -SHOP_TYPE_CFGS.enum_types = {} -SHOP_TYPE_CFGS.fields = {SHOP_TYPE_CFGS_ITEMS_FIELD} -SHOP_TYPE_CFGS.is_extendable = false -SHOP_TYPE_CFGS.extensions = {} -SCENE_EVENT_CFG_ID_FIELD.name = "id" -SCENE_EVENT_CFG_ID_FIELD.full_name = ".ftcfg.scene_event_cfg.id" -SCENE_EVENT_CFG_ID_FIELD.number = 1 -SCENE_EVENT_CFG_ID_FIELD.index = 0 -SCENE_EVENT_CFG_ID_FIELD.label = 2 -SCENE_EVENT_CFG_ID_FIELD.has_default_value = false -SCENE_EVENT_CFG_ID_FIELD.default_value = 0 -SCENE_EVENT_CFG_ID_FIELD.type = 5 -SCENE_EVENT_CFG_ID_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_STEP_ID_FIELD.name = "step_id" -SCENE_EVENT_CFG_STEP_ID_FIELD.full_name = ".ftcfg.scene_event_cfg.step_id" -SCENE_EVENT_CFG_STEP_ID_FIELD.number = 2 -SCENE_EVENT_CFG_STEP_ID_FIELD.index = 1 -SCENE_EVENT_CFG_STEP_ID_FIELD.label = 2 -SCENE_EVENT_CFG_STEP_ID_FIELD.has_default_value = false -SCENE_EVENT_CFG_STEP_ID_FIELD.default_value = 0 -SCENE_EVENT_CFG_STEP_ID_FIELD.type = 5 -SCENE_EVENT_CFG_STEP_ID_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.name = "event_type" -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.full_name = ".ftcfg.scene_event_cfg.event_type" -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.number = 3 -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.index = 2 -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.label = 2 -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.has_default_value = false -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.default_value = nil -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.enum_type = config_predefine_pb.ESCENEEVENTTYPE -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.type = 14 -SCENE_EVENT_CFG_EVENT_TYPE_FIELD.cpp_type = 8 - -SCENE_EVENT_CFG_CONDIDITON1_FIELD.name = "condiditon1" -SCENE_EVENT_CFG_CONDIDITON1_FIELD.full_name = ".ftcfg.scene_event_cfg.condiditon1" -SCENE_EVENT_CFG_CONDIDITON1_FIELD.number = 4 -SCENE_EVENT_CFG_CONDIDITON1_FIELD.index = 3 -SCENE_EVENT_CFG_CONDIDITON1_FIELD.label = 2 -SCENE_EVENT_CFG_CONDIDITON1_FIELD.has_default_value = false -SCENE_EVENT_CFG_CONDIDITON1_FIELD.default_value = 0 -SCENE_EVENT_CFG_CONDIDITON1_FIELD.type = 5 -SCENE_EVENT_CFG_CONDIDITON1_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_CONDIDITON2_FIELD.name = "condiditon2" -SCENE_EVENT_CFG_CONDIDITON2_FIELD.full_name = ".ftcfg.scene_event_cfg.condiditon2" -SCENE_EVENT_CFG_CONDIDITON2_FIELD.number = 5 -SCENE_EVENT_CFG_CONDIDITON2_FIELD.index = 4 -SCENE_EVENT_CFG_CONDIDITON2_FIELD.label = 2 -SCENE_EVENT_CFG_CONDIDITON2_FIELD.has_default_value = false -SCENE_EVENT_CFG_CONDIDITON2_FIELD.default_value = 0 -SCENE_EVENT_CFG_CONDIDITON2_FIELD.type = 5 -SCENE_EVENT_CFG_CONDIDITON2_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_CONDIDITON3_FIELD.name = "condiditon3" -SCENE_EVENT_CFG_CONDIDITON3_FIELD.full_name = ".ftcfg.scene_event_cfg.condiditon3" -SCENE_EVENT_CFG_CONDIDITON3_FIELD.number = 6 -SCENE_EVENT_CFG_CONDIDITON3_FIELD.index = 5 -SCENE_EVENT_CFG_CONDIDITON3_FIELD.label = 2 -SCENE_EVENT_CFG_CONDIDITON3_FIELD.has_default_value = false -SCENE_EVENT_CFG_CONDIDITON3_FIELD.default_value = 0 -SCENE_EVENT_CFG_CONDIDITON3_FIELD.type = 5 -SCENE_EVENT_CFG_CONDIDITON3_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_CONDIDITON4_FIELD.name = "condiditon4" -SCENE_EVENT_CFG_CONDIDITON4_FIELD.full_name = ".ftcfg.scene_event_cfg.condiditon4" -SCENE_EVENT_CFG_CONDIDITON4_FIELD.number = 7 -SCENE_EVENT_CFG_CONDIDITON4_FIELD.index = 6 -SCENE_EVENT_CFG_CONDIDITON4_FIELD.label = 2 -SCENE_EVENT_CFG_CONDIDITON4_FIELD.has_default_value = false -SCENE_EVENT_CFG_CONDIDITON4_FIELD.default_value = 0 -SCENE_EVENT_CFG_CONDIDITON4_FIELD.type = 5 -SCENE_EVENT_CFG_CONDIDITON4_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.name = "result_type" -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.full_name = ".ftcfg.scene_event_cfg.result_type" -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.number = 8 -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.index = 7 -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.label = 2 -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.has_default_value = false -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.default_value = nil -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.enum_type = config_predefine_pb.ESCENERESULTTYPE -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.type = 14 -SCENE_EVENT_CFG_RESULT_TYPE_FIELD.cpp_type = 8 - -SCENE_EVENT_CFG_RESULT1_FIELD.name = "result1" -SCENE_EVENT_CFG_RESULT1_FIELD.full_name = ".ftcfg.scene_event_cfg.result1" -SCENE_EVENT_CFG_RESULT1_FIELD.number = 9 -SCENE_EVENT_CFG_RESULT1_FIELD.index = 8 -SCENE_EVENT_CFG_RESULT1_FIELD.label = 3 -SCENE_EVENT_CFG_RESULT1_FIELD.has_default_value = false -SCENE_EVENT_CFG_RESULT1_FIELD.default_value = {} -SCENE_EVENT_CFG_RESULT1_FIELD.type = 5 -SCENE_EVENT_CFG_RESULT1_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_RESULT2_FIELD.name = "result2" -SCENE_EVENT_CFG_RESULT2_FIELD.full_name = ".ftcfg.scene_event_cfg.result2" -SCENE_EVENT_CFG_RESULT2_FIELD.number = 10 -SCENE_EVENT_CFG_RESULT2_FIELD.index = 9 -SCENE_EVENT_CFG_RESULT2_FIELD.label = 3 -SCENE_EVENT_CFG_RESULT2_FIELD.has_default_value = false -SCENE_EVENT_CFG_RESULT2_FIELD.default_value = {} -SCENE_EVENT_CFG_RESULT2_FIELD.type = 5 -SCENE_EVENT_CFG_RESULT2_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_RESULT3_FIELD.name = "result3" -SCENE_EVENT_CFG_RESULT3_FIELD.full_name = ".ftcfg.scene_event_cfg.result3" -SCENE_EVENT_CFG_RESULT3_FIELD.number = 11 -SCENE_EVENT_CFG_RESULT3_FIELD.index = 10 -SCENE_EVENT_CFG_RESULT3_FIELD.label = 3 -SCENE_EVENT_CFG_RESULT3_FIELD.has_default_value = false -SCENE_EVENT_CFG_RESULT3_FIELD.default_value = {} -SCENE_EVENT_CFG_RESULT3_FIELD.type = 5 -SCENE_EVENT_CFG_RESULT3_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG_RESULT4_FIELD.name = "result4" -SCENE_EVENT_CFG_RESULT4_FIELD.full_name = ".ftcfg.scene_event_cfg.result4" -SCENE_EVENT_CFG_RESULT4_FIELD.number = 12 -SCENE_EVENT_CFG_RESULT4_FIELD.index = 11 -SCENE_EVENT_CFG_RESULT4_FIELD.label = 3 -SCENE_EVENT_CFG_RESULT4_FIELD.has_default_value = false -SCENE_EVENT_CFG_RESULT4_FIELD.default_value = {} -SCENE_EVENT_CFG_RESULT4_FIELD.type = 5 -SCENE_EVENT_CFG_RESULT4_FIELD.cpp_type = 1 - -SCENE_EVENT_CFG.name = "scene_event_cfg" -SCENE_EVENT_CFG.full_name = ".ftcfg.scene_event_cfg" -SCENE_EVENT_CFG.nested_types = {} -SCENE_EVENT_CFG.enum_types = {} -SCENE_EVENT_CFG.fields = {SCENE_EVENT_CFG_ID_FIELD, SCENE_EVENT_CFG_STEP_ID_FIELD, SCENE_EVENT_CFG_EVENT_TYPE_FIELD, SCENE_EVENT_CFG_CONDIDITON1_FIELD, SCENE_EVENT_CFG_CONDIDITON2_FIELD, SCENE_EVENT_CFG_CONDIDITON3_FIELD, SCENE_EVENT_CFG_CONDIDITON4_FIELD, SCENE_EVENT_CFG_RESULT_TYPE_FIELD, SCENE_EVENT_CFG_RESULT1_FIELD, SCENE_EVENT_CFG_RESULT2_FIELD, SCENE_EVENT_CFG_RESULT3_FIELD, SCENE_EVENT_CFG_RESULT4_FIELD} -SCENE_EVENT_CFG.is_extendable = false -SCENE_EVENT_CFG.extensions = {} -SCENE_EVENT_CFGS_ITEMS_FIELD.name = "items" -SCENE_EVENT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_event_cfgs.items" -SCENE_EVENT_CFGS_ITEMS_FIELD.number = 1 -SCENE_EVENT_CFGS_ITEMS_FIELD.index = 0 -SCENE_EVENT_CFGS_ITEMS_FIELD.label = 3 -SCENE_EVENT_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_EVENT_CFGS_ITEMS_FIELD.default_value = {} -SCENE_EVENT_CFGS_ITEMS_FIELD.message_type = SCENE_EVENT_CFG -SCENE_EVENT_CFGS_ITEMS_FIELD.type = 11 -SCENE_EVENT_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_EVENT_CFGS.name = "scene_event_cfgs" -SCENE_EVENT_CFGS.full_name = ".ftcfg.scene_event_cfgs" -SCENE_EVENT_CFGS.nested_types = {} -SCENE_EVENT_CFGS.enum_types = {} -SCENE_EVENT_CFGS.fields = {SCENE_EVENT_CFGS_ITEMS_FIELD} -SCENE_EVENT_CFGS.is_extendable = false -SCENE_EVENT_CFGS.extensions = {} -SCENE_PORTAL_CFG_ID_FIELD.name = "id" -SCENE_PORTAL_CFG_ID_FIELD.full_name = ".ftcfg.scene_portal_cfg.id" -SCENE_PORTAL_CFG_ID_FIELD.number = 1 -SCENE_PORTAL_CFG_ID_FIELD.index = 0 -SCENE_PORTAL_CFG_ID_FIELD.label = 2 -SCENE_PORTAL_CFG_ID_FIELD.has_default_value = false -SCENE_PORTAL_CFG_ID_FIELD.default_value = 0 -SCENE_PORTAL_CFG_ID_FIELD.type = 5 -SCENE_PORTAL_CFG_ID_FIELD.cpp_type = 1 - -SCENE_PORTAL_CFG_MAP_ID_FIELD.name = "map_id" -SCENE_PORTAL_CFG_MAP_ID_FIELD.full_name = ".ftcfg.scene_portal_cfg.map_id" -SCENE_PORTAL_CFG_MAP_ID_FIELD.number = 2 -SCENE_PORTAL_CFG_MAP_ID_FIELD.index = 1 -SCENE_PORTAL_CFG_MAP_ID_FIELD.label = 2 -SCENE_PORTAL_CFG_MAP_ID_FIELD.has_default_value = false -SCENE_PORTAL_CFG_MAP_ID_FIELD.default_value = 0 -SCENE_PORTAL_CFG_MAP_ID_FIELD.type = 5 -SCENE_PORTAL_CFG_MAP_ID_FIELD.cpp_type = 1 - -SCENE_PORTAL_CFG_POS_X_FIELD.name = "pos_x" -SCENE_PORTAL_CFG_POS_X_FIELD.full_name = ".ftcfg.scene_portal_cfg.pos_x" -SCENE_PORTAL_CFG_POS_X_FIELD.number = 3 -SCENE_PORTAL_CFG_POS_X_FIELD.index = 2 -SCENE_PORTAL_CFG_POS_X_FIELD.label = 2 -SCENE_PORTAL_CFG_POS_X_FIELD.has_default_value = false -SCENE_PORTAL_CFG_POS_X_FIELD.default_value = 0.0 -SCENE_PORTAL_CFG_POS_X_FIELD.type = 2 -SCENE_PORTAL_CFG_POS_X_FIELD.cpp_type = 6 - -SCENE_PORTAL_CFG_POS_Y_FIELD.name = "pos_y" -SCENE_PORTAL_CFG_POS_Y_FIELD.full_name = ".ftcfg.scene_portal_cfg.pos_y" -SCENE_PORTAL_CFG_POS_Y_FIELD.number = 4 -SCENE_PORTAL_CFG_POS_Y_FIELD.index = 3 -SCENE_PORTAL_CFG_POS_Y_FIELD.label = 2 -SCENE_PORTAL_CFG_POS_Y_FIELD.has_default_value = false -SCENE_PORTAL_CFG_POS_Y_FIELD.default_value = 0.0 -SCENE_PORTAL_CFG_POS_Y_FIELD.type = 2 -SCENE_PORTAL_CFG_POS_Y_FIELD.cpp_type = 6 - -SCENE_PORTAL_CFG_POS_Z_FIELD.name = "pos_z" -SCENE_PORTAL_CFG_POS_Z_FIELD.full_name = ".ftcfg.scene_portal_cfg.pos_z" -SCENE_PORTAL_CFG_POS_Z_FIELD.number = 5 -SCENE_PORTAL_CFG_POS_Z_FIELD.index = 4 -SCENE_PORTAL_CFG_POS_Z_FIELD.label = 2 -SCENE_PORTAL_CFG_POS_Z_FIELD.has_default_value = false -SCENE_PORTAL_CFG_POS_Z_FIELD.default_value = 0.0 -SCENE_PORTAL_CFG_POS_Z_FIELD.type = 2 -SCENE_PORTAL_CFG_POS_Z_FIELD.cpp_type = 6 - -SCENE_PORTAL_CFG_RADIUS_FIELD.name = "radius" -SCENE_PORTAL_CFG_RADIUS_FIELD.full_name = ".ftcfg.scene_portal_cfg.radius" -SCENE_PORTAL_CFG_RADIUS_FIELD.number = 6 -SCENE_PORTAL_CFG_RADIUS_FIELD.index = 5 -SCENE_PORTAL_CFG_RADIUS_FIELD.label = 2 -SCENE_PORTAL_CFG_RADIUS_FIELD.has_default_value = false -SCENE_PORTAL_CFG_RADIUS_FIELD.default_value = 0.0 -SCENE_PORTAL_CFG_RADIUS_FIELD.type = 2 -SCENE_PORTAL_CFG_RADIUS_FIELD.cpp_type = 6 - -SCENE_PORTAL_CFG_ORIENTATION_FIELD.name = "orientation" -SCENE_PORTAL_CFG_ORIENTATION_FIELD.full_name = ".ftcfg.scene_portal_cfg.orientation" -SCENE_PORTAL_CFG_ORIENTATION_FIELD.number = 7 -SCENE_PORTAL_CFG_ORIENTATION_FIELD.index = 6 -SCENE_PORTAL_CFG_ORIENTATION_FIELD.label = 2 -SCENE_PORTAL_CFG_ORIENTATION_FIELD.has_default_value = false -SCENE_PORTAL_CFG_ORIENTATION_FIELD.default_value = 0.0 -SCENE_PORTAL_CFG_ORIENTATION_FIELD.type = 2 -SCENE_PORTAL_CFG_ORIENTATION_FIELD.cpp_type = 6 - -SCENE_PORTAL_CFG_ENABLED_FIELD.name = "enabled" -SCENE_PORTAL_CFG_ENABLED_FIELD.full_name = ".ftcfg.scene_portal_cfg.enabled" -SCENE_PORTAL_CFG_ENABLED_FIELD.number = 8 -SCENE_PORTAL_CFG_ENABLED_FIELD.index = 7 -SCENE_PORTAL_CFG_ENABLED_FIELD.label = 2 -SCENE_PORTAL_CFG_ENABLED_FIELD.has_default_value = false -SCENE_PORTAL_CFG_ENABLED_FIELD.default_value = 0 -SCENE_PORTAL_CFG_ENABLED_FIELD.type = 5 -SCENE_PORTAL_CFG_ENABLED_FIELD.cpp_type = 1 - -SCENE_PORTAL_CFG_RESID_FIELD.name = "resid" -SCENE_PORTAL_CFG_RESID_FIELD.full_name = ".ftcfg.scene_portal_cfg.resid" -SCENE_PORTAL_CFG_RESID_FIELD.number = 9 -SCENE_PORTAL_CFG_RESID_FIELD.index = 8 -SCENE_PORTAL_CFG_RESID_FIELD.label = 2 -SCENE_PORTAL_CFG_RESID_FIELD.has_default_value = false -SCENE_PORTAL_CFG_RESID_FIELD.default_value = 0 -SCENE_PORTAL_CFG_RESID_FIELD.type = 5 -SCENE_PORTAL_CFG_RESID_FIELD.cpp_type = 1 - -SCENE_PORTAL_CFG.name = "scene_portal_cfg" -SCENE_PORTAL_CFG.full_name = ".ftcfg.scene_portal_cfg" -SCENE_PORTAL_CFG.nested_types = {} -SCENE_PORTAL_CFG.enum_types = {} -SCENE_PORTAL_CFG.fields = {SCENE_PORTAL_CFG_ID_FIELD, SCENE_PORTAL_CFG_MAP_ID_FIELD, SCENE_PORTAL_CFG_POS_X_FIELD, SCENE_PORTAL_CFG_POS_Y_FIELD, SCENE_PORTAL_CFG_POS_Z_FIELD, SCENE_PORTAL_CFG_RADIUS_FIELD, SCENE_PORTAL_CFG_ORIENTATION_FIELD, SCENE_PORTAL_CFG_ENABLED_FIELD, SCENE_PORTAL_CFG_RESID_FIELD} -SCENE_PORTAL_CFG.is_extendable = false -SCENE_PORTAL_CFG.extensions = {} -SCENE_PORTAL_CFGS_ITEMS_FIELD.name = "items" -SCENE_PORTAL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_portal_cfgs.items" -SCENE_PORTAL_CFGS_ITEMS_FIELD.number = 1 -SCENE_PORTAL_CFGS_ITEMS_FIELD.index = 0 -SCENE_PORTAL_CFGS_ITEMS_FIELD.label = 3 -SCENE_PORTAL_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_PORTAL_CFGS_ITEMS_FIELD.default_value = {} -SCENE_PORTAL_CFGS_ITEMS_FIELD.message_type = SCENE_PORTAL_CFG -SCENE_PORTAL_CFGS_ITEMS_FIELD.type = 11 -SCENE_PORTAL_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_PORTAL_CFGS.name = "scene_portal_cfgs" -SCENE_PORTAL_CFGS.full_name = ".ftcfg.scene_portal_cfgs" -SCENE_PORTAL_CFGS.nested_types = {} -SCENE_PORTAL_CFGS.enum_types = {} -SCENE_PORTAL_CFGS.fields = {SCENE_PORTAL_CFGS_ITEMS_FIELD} -SCENE_PORTAL_CFGS.is_extendable = false -SCENE_PORTAL_CFGS.extensions = {} -SCENE_FUNCTION_CFG_ID_FIELD.name = "id" -SCENE_FUNCTION_CFG_ID_FIELD.full_name = ".ftcfg.scene_function_cfg.id" -SCENE_FUNCTION_CFG_ID_FIELD.number = 1 -SCENE_FUNCTION_CFG_ID_FIELD.index = 0 -SCENE_FUNCTION_CFG_ID_FIELD.label = 2 -SCENE_FUNCTION_CFG_ID_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_ID_FIELD.default_value = 0 -SCENE_FUNCTION_CFG_ID_FIELD.type = 5 -SCENE_FUNCTION_CFG_ID_FIELD.cpp_type = 1 - -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.name = "open_functions" -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.full_name = ".ftcfg.scene_function_cfg.open_functions" -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.number = 2 -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.index = 1 -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.label = 3 -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.type = 14 -SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD.cpp_type = 8 - -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.name = "open_paras" -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.full_name = ".ftcfg.scene_function_cfg.open_paras" -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.number = 3 -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.index = 2 -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.label = 3 -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.type = 5 -SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD.cpp_type = 1 - -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.name = "close_functions" -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.full_name = ".ftcfg.scene_function_cfg.close_functions" -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.number = 4 -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.index = 3 -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.label = 3 -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.type = 14 -SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD.cpp_type = 8 - -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.name = "leave_functions" -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.full_name = ".ftcfg.scene_function_cfg.leave_functions" -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.number = 5 -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.index = 4 -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.label = 3 -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.type = 14 -SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD.cpp_type = 8 - -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.name = "limit_functions" -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.full_name = ".ftcfg.scene_function_cfg.limit_functions" -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.number = 6 -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.index = 5 -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.label = 3 -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.type = 14 -SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD.cpp_type = 8 - -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.name = "slimit_functions" -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.full_name = ".ftcfg.scene_function_cfg.slimit_functions" -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.number = 7 -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.index = 6 -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.label = 3 -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.type = 14 -SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD.cpp_type = 8 - -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.name = "back_scene" -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.full_name = ".ftcfg.scene_function_cfg.back_scene" -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.number = 8 -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.index = 7 -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.label = 2 -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.default_value = 0 -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.type = 5 -SCENE_FUNCTION_CFG_BACK_SCENE_FIELD.cpp_type = 1 - -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.name = "rank_ids" -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.full_name = ".ftcfg.scene_function_cfg.rank_ids" -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.number = 9 -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.index = 8 -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.label = 3 -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.type = 5 -SCENE_FUNCTION_CFG_RANK_IDS_FIELD.cpp_type = 1 - -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.name = "rank_type" -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.full_name = ".ftcfg.scene_function_cfg.rank_type" -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.number = 10 -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.index = 9 -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.label = 2 -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.default_value = nil -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.type = 14 -SCENE_FUNCTION_CFG_RANK_TYPE_FIELD.cpp_type = 8 - -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.name = "rank_linenames" -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.full_name = ".ftcfg.scene_function_cfg.rank_linenames" -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.number = 11 -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.index = 10 -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.label = 3 -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.default_value = {} -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.type = 5 -SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD.cpp_type = 1 - -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.name = "close_opens" -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.full_name = ".ftcfg.scene_function_cfg.close_opens" -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.number = 12 -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.index = 11 -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.label = 3 -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.has_default_value = false -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.default_value = {} -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.type = 14 -SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD.cpp_type = 8 - -SCENE_FUNCTION_CFG.name = "scene_function_cfg" -SCENE_FUNCTION_CFG.full_name = ".ftcfg.scene_function_cfg" -SCENE_FUNCTION_CFG.nested_types = {} -SCENE_FUNCTION_CFG.enum_types = {} -SCENE_FUNCTION_CFG.fields = {SCENE_FUNCTION_CFG_ID_FIELD, SCENE_FUNCTION_CFG_OPEN_FUNCTIONS_FIELD, SCENE_FUNCTION_CFG_OPEN_PARAS_FIELD, SCENE_FUNCTION_CFG_CLOSE_FUNCTIONS_FIELD, SCENE_FUNCTION_CFG_LEAVE_FUNCTIONS_FIELD, SCENE_FUNCTION_CFG_LIMIT_FUNCTIONS_FIELD, SCENE_FUNCTION_CFG_SLIMIT_FUNCTIONS_FIELD, SCENE_FUNCTION_CFG_BACK_SCENE_FIELD, SCENE_FUNCTION_CFG_RANK_IDS_FIELD, SCENE_FUNCTION_CFG_RANK_TYPE_FIELD, SCENE_FUNCTION_CFG_RANK_LINENAMES_FIELD, SCENE_FUNCTION_CFG_CLOSE_OPENS_FIELD} -SCENE_FUNCTION_CFG.is_extendable = false -SCENE_FUNCTION_CFG.extensions = {} -SCENE_FUNCTION_CFGS_ITEMS_FIELD.name = "items" -SCENE_FUNCTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_function_cfgs.items" -SCENE_FUNCTION_CFGS_ITEMS_FIELD.number = 1 -SCENE_FUNCTION_CFGS_ITEMS_FIELD.index = 0 -SCENE_FUNCTION_CFGS_ITEMS_FIELD.label = 3 -SCENE_FUNCTION_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_FUNCTION_CFGS_ITEMS_FIELD.default_value = {} -SCENE_FUNCTION_CFGS_ITEMS_FIELD.message_type = SCENE_FUNCTION_CFG -SCENE_FUNCTION_CFGS_ITEMS_FIELD.type = 11 -SCENE_FUNCTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_FUNCTION_CFGS.name = "scene_function_cfgs" -SCENE_FUNCTION_CFGS.full_name = ".ftcfg.scene_function_cfgs" -SCENE_FUNCTION_CFGS.nested_types = {} -SCENE_FUNCTION_CFGS.enum_types = {} -SCENE_FUNCTION_CFGS.fields = {SCENE_FUNCTION_CFGS_ITEMS_FIELD} -SCENE_FUNCTION_CFGS.is_extendable = false -SCENE_FUNCTION_CFGS.extensions = {} -SCENE_AREA_CFG_AREA_ID_FIELD.name = "area_id" -SCENE_AREA_CFG_AREA_ID_FIELD.full_name = ".ftcfg.scene_area_cfg.area_id" -SCENE_AREA_CFG_AREA_ID_FIELD.number = 1 -SCENE_AREA_CFG_AREA_ID_FIELD.index = 0 -SCENE_AREA_CFG_AREA_ID_FIELD.label = 2 -SCENE_AREA_CFG_AREA_ID_FIELD.has_default_value = false -SCENE_AREA_CFG_AREA_ID_FIELD.default_value = 0 -SCENE_AREA_CFG_AREA_ID_FIELD.type = 5 -SCENE_AREA_CFG_AREA_ID_FIELD.cpp_type = 1 - -SCENE_AREA_CFG_MAP_ID_FIELD.name = "map_id" -SCENE_AREA_CFG_MAP_ID_FIELD.full_name = ".ftcfg.scene_area_cfg.map_id" -SCENE_AREA_CFG_MAP_ID_FIELD.number = 2 -SCENE_AREA_CFG_MAP_ID_FIELD.index = 1 -SCENE_AREA_CFG_MAP_ID_FIELD.label = 2 -SCENE_AREA_CFG_MAP_ID_FIELD.has_default_value = false -SCENE_AREA_CFG_MAP_ID_FIELD.default_value = 0 -SCENE_AREA_CFG_MAP_ID_FIELD.type = 5 -SCENE_AREA_CFG_MAP_ID_FIELD.cpp_type = 1 - -SCENE_AREA_CFG_AREA_TYPE_FIELD.name = "area_type" -SCENE_AREA_CFG_AREA_TYPE_FIELD.full_name = ".ftcfg.scene_area_cfg.area_type" -SCENE_AREA_CFG_AREA_TYPE_FIELD.number = 3 -SCENE_AREA_CFG_AREA_TYPE_FIELD.index = 2 -SCENE_AREA_CFG_AREA_TYPE_FIELD.label = 2 -SCENE_AREA_CFG_AREA_TYPE_FIELD.has_default_value = false -SCENE_AREA_CFG_AREA_TYPE_FIELD.default_value = nil -SCENE_AREA_CFG_AREA_TYPE_FIELD.enum_type = config_predefine_pb.EAREATRIGGERTYPE -SCENE_AREA_CFG_AREA_TYPE_FIELD.type = 14 -SCENE_AREA_CFG_AREA_TYPE_FIELD.cpp_type = 8 - -SCENE_AREA_CFG_POS_X_FIELD.name = "pos_x" -SCENE_AREA_CFG_POS_X_FIELD.full_name = ".ftcfg.scene_area_cfg.pos_x" -SCENE_AREA_CFG_POS_X_FIELD.number = 4 -SCENE_AREA_CFG_POS_X_FIELD.index = 3 -SCENE_AREA_CFG_POS_X_FIELD.label = 2 -SCENE_AREA_CFG_POS_X_FIELD.has_default_value = false -SCENE_AREA_CFG_POS_X_FIELD.default_value = 0.0 -SCENE_AREA_CFG_POS_X_FIELD.type = 2 -SCENE_AREA_CFG_POS_X_FIELD.cpp_type = 6 - -SCENE_AREA_CFG_POS_Y_FIELD.name = "pos_y" -SCENE_AREA_CFG_POS_Y_FIELD.full_name = ".ftcfg.scene_area_cfg.pos_y" -SCENE_AREA_CFG_POS_Y_FIELD.number = 5 -SCENE_AREA_CFG_POS_Y_FIELD.index = 4 -SCENE_AREA_CFG_POS_Y_FIELD.label = 2 -SCENE_AREA_CFG_POS_Y_FIELD.has_default_value = false -SCENE_AREA_CFG_POS_Y_FIELD.default_value = 0.0 -SCENE_AREA_CFG_POS_Y_FIELD.type = 2 -SCENE_AREA_CFG_POS_Y_FIELD.cpp_type = 6 - -SCENE_AREA_CFG_RADIUS_FIELD.name = "radius" -SCENE_AREA_CFG_RADIUS_FIELD.full_name = ".ftcfg.scene_area_cfg.radius" -SCENE_AREA_CFG_RADIUS_FIELD.number = 6 -SCENE_AREA_CFG_RADIUS_FIELD.index = 5 -SCENE_AREA_CFG_RADIUS_FIELD.label = 2 -SCENE_AREA_CFG_RADIUS_FIELD.has_default_value = false -SCENE_AREA_CFG_RADIUS_FIELD.default_value = 0.0 -SCENE_AREA_CFG_RADIUS_FIELD.type = 2 -SCENE_AREA_CFG_RADIUS_FIELD.cpp_type = 6 - -SCENE_AREA_CFG_WIDTH_FIELD.name = "width" -SCENE_AREA_CFG_WIDTH_FIELD.full_name = ".ftcfg.scene_area_cfg.width" -SCENE_AREA_CFG_WIDTH_FIELD.number = 7 -SCENE_AREA_CFG_WIDTH_FIELD.index = 6 -SCENE_AREA_CFG_WIDTH_FIELD.label = 2 -SCENE_AREA_CFG_WIDTH_FIELD.has_default_value = false -SCENE_AREA_CFG_WIDTH_FIELD.default_value = 0.0 -SCENE_AREA_CFG_WIDTH_FIELD.type = 2 -SCENE_AREA_CFG_WIDTH_FIELD.cpp_type = 6 - -SCENE_AREA_CFG_HEIGHT_FIELD.name = "height" -SCENE_AREA_CFG_HEIGHT_FIELD.full_name = ".ftcfg.scene_area_cfg.height" -SCENE_AREA_CFG_HEIGHT_FIELD.number = 8 -SCENE_AREA_CFG_HEIGHT_FIELD.index = 7 -SCENE_AREA_CFG_HEIGHT_FIELD.label = 2 -SCENE_AREA_CFG_HEIGHT_FIELD.has_default_value = false -SCENE_AREA_CFG_HEIGHT_FIELD.default_value = 0.0 -SCENE_AREA_CFG_HEIGHT_FIELD.type = 2 -SCENE_AREA_CFG_HEIGHT_FIELD.cpp_type = 6 - -SCENE_AREA_CFG_ACTION_FIELD.name = "action" -SCENE_AREA_CFG_ACTION_FIELD.full_name = ".ftcfg.scene_area_cfg.action" -SCENE_AREA_CFG_ACTION_FIELD.number = 9 -SCENE_AREA_CFG_ACTION_FIELD.index = 8 -SCENE_AREA_CFG_ACTION_FIELD.label = 2 -SCENE_AREA_CFG_ACTION_FIELD.has_default_value = false -SCENE_AREA_CFG_ACTION_FIELD.default_value = nil -SCENE_AREA_CFG_ACTION_FIELD.enum_type = config_predefine_pb.ETRIGGERACTIONTYPE -SCENE_AREA_CFG_ACTION_FIELD.type = 14 -SCENE_AREA_CFG_ACTION_FIELD.cpp_type = 8 - -SCENE_AREA_CFG_PARAM1_FIELD.name = "param1" -SCENE_AREA_CFG_PARAM1_FIELD.full_name = ".ftcfg.scene_area_cfg.param1" -SCENE_AREA_CFG_PARAM1_FIELD.number = 10 -SCENE_AREA_CFG_PARAM1_FIELD.index = 9 -SCENE_AREA_CFG_PARAM1_FIELD.label = 2 -SCENE_AREA_CFG_PARAM1_FIELD.has_default_value = false -SCENE_AREA_CFG_PARAM1_FIELD.default_value = 0 -SCENE_AREA_CFG_PARAM1_FIELD.type = 5 -SCENE_AREA_CFG_PARAM1_FIELD.cpp_type = 1 - -SCENE_AREA_CFG_PARAM2_FIELD.name = "param2" -SCENE_AREA_CFG_PARAM2_FIELD.full_name = ".ftcfg.scene_area_cfg.param2" -SCENE_AREA_CFG_PARAM2_FIELD.number = 11 -SCENE_AREA_CFG_PARAM2_FIELD.index = 10 -SCENE_AREA_CFG_PARAM2_FIELD.label = 2 -SCENE_AREA_CFG_PARAM2_FIELD.has_default_value = false -SCENE_AREA_CFG_PARAM2_FIELD.default_value = 0 -SCENE_AREA_CFG_PARAM2_FIELD.type = 5 -SCENE_AREA_CFG_PARAM2_FIELD.cpp_type = 1 - -SCENE_AREA_CFG.name = "scene_area_cfg" -SCENE_AREA_CFG.full_name = ".ftcfg.scene_area_cfg" -SCENE_AREA_CFG.nested_types = {} -SCENE_AREA_CFG.enum_types = {} -SCENE_AREA_CFG.fields = {SCENE_AREA_CFG_AREA_ID_FIELD, SCENE_AREA_CFG_MAP_ID_FIELD, SCENE_AREA_CFG_AREA_TYPE_FIELD, SCENE_AREA_CFG_POS_X_FIELD, SCENE_AREA_CFG_POS_Y_FIELD, SCENE_AREA_CFG_RADIUS_FIELD, SCENE_AREA_CFG_WIDTH_FIELD, SCENE_AREA_CFG_HEIGHT_FIELD, SCENE_AREA_CFG_ACTION_FIELD, SCENE_AREA_CFG_PARAM1_FIELD, SCENE_AREA_CFG_PARAM2_FIELD} -SCENE_AREA_CFG.is_extendable = false -SCENE_AREA_CFG.extensions = {} -SCENE_AREA_CFGS_ITEMS_FIELD.name = "items" -SCENE_AREA_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_area_cfgs.items" -SCENE_AREA_CFGS_ITEMS_FIELD.number = 1 -SCENE_AREA_CFGS_ITEMS_FIELD.index = 0 -SCENE_AREA_CFGS_ITEMS_FIELD.label = 3 -SCENE_AREA_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_AREA_CFGS_ITEMS_FIELD.default_value = {} -SCENE_AREA_CFGS_ITEMS_FIELD.message_type = SCENE_AREA_CFG -SCENE_AREA_CFGS_ITEMS_FIELD.type = 11 -SCENE_AREA_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_AREA_CFGS.name = "scene_area_cfgs" -SCENE_AREA_CFGS.full_name = ".ftcfg.scene_area_cfgs" -SCENE_AREA_CFGS.nested_types = {} -SCENE_AREA_CFGS.enum_types = {} -SCENE_AREA_CFGS.fields = {SCENE_AREA_CFGS_ITEMS_FIELD} -SCENE_AREA_CFGS.is_extendable = false -SCENE_AREA_CFGS.extensions = {} -CLIENT_TRIGGER_CFG_ID_FIELD.name = "id" -CLIENT_TRIGGER_CFG_ID_FIELD.full_name = ".ftcfg.client_trigger_cfg.id" -CLIENT_TRIGGER_CFG_ID_FIELD.number = 1 -CLIENT_TRIGGER_CFG_ID_FIELD.index = 0 -CLIENT_TRIGGER_CFG_ID_FIELD.label = 2 -CLIENT_TRIGGER_CFG_ID_FIELD.has_default_value = false -CLIENT_TRIGGER_CFG_ID_FIELD.default_value = 0 -CLIENT_TRIGGER_CFG_ID_FIELD.type = 5 -CLIENT_TRIGGER_CFG_ID_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.name = "map_id" -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.full_name = ".ftcfg.client_trigger_cfg.map_id" -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.number = 2 -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.index = 1 -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.label = 2 -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.has_default_value = false -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.default_value = 0 -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.type = 5 -CLIENT_TRIGGER_CFG_MAP_ID_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CFG_EVENTS_FIELD.name = "events" -CLIENT_TRIGGER_CFG_EVENTS_FIELD.full_name = ".ftcfg.client_trigger_cfg.events" -CLIENT_TRIGGER_CFG_EVENTS_FIELD.number = 3 -CLIENT_TRIGGER_CFG_EVENTS_FIELD.index = 2 -CLIENT_TRIGGER_CFG_EVENTS_FIELD.label = 3 -CLIENT_TRIGGER_CFG_EVENTS_FIELD.has_default_value = false -CLIENT_TRIGGER_CFG_EVENTS_FIELD.default_value = {} -CLIENT_TRIGGER_CFG_EVENTS_FIELD.type = 5 -CLIENT_TRIGGER_CFG_EVENTS_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.name = "conditions" -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.full_name = ".ftcfg.client_trigger_cfg.conditions" -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.number = 4 -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.index = 3 -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.label = 3 -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.has_default_value = false -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.default_value = {} -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.type = 5 -CLIENT_TRIGGER_CFG_CONDITIONS_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.name = "actions" -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.full_name = ".ftcfg.client_trigger_cfg.actions" -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.number = 5 -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.index = 4 -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.label = 3 -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.has_default_value = false -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.default_value = {} -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.type = 5 -CLIENT_TRIGGER_CFG_ACTIONS_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CFG_OPENED_FIELD.name = "opened" -CLIENT_TRIGGER_CFG_OPENED_FIELD.full_name = ".ftcfg.client_trigger_cfg.opened" -CLIENT_TRIGGER_CFG_OPENED_FIELD.number = 6 -CLIENT_TRIGGER_CFG_OPENED_FIELD.index = 5 -CLIENT_TRIGGER_CFG_OPENED_FIELD.label = 2 -CLIENT_TRIGGER_CFG_OPENED_FIELD.has_default_value = false -CLIENT_TRIGGER_CFG_OPENED_FIELD.default_value = 0 -CLIENT_TRIGGER_CFG_OPENED_FIELD.type = 5 -CLIENT_TRIGGER_CFG_OPENED_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.name = "canCycleTriggle" -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.full_name = ".ftcfg.client_trigger_cfg.canCycleTriggle" -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.number = 7 -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.index = 6 -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.label = 2 -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.has_default_value = false -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.default_value = 0 -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.type = 5 -CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CFG.name = "client_trigger_cfg" -CLIENT_TRIGGER_CFG.full_name = ".ftcfg.client_trigger_cfg" -CLIENT_TRIGGER_CFG.nested_types = {} -CLIENT_TRIGGER_CFG.enum_types = {} -CLIENT_TRIGGER_CFG.fields = {CLIENT_TRIGGER_CFG_ID_FIELD, CLIENT_TRIGGER_CFG_MAP_ID_FIELD, CLIENT_TRIGGER_CFG_EVENTS_FIELD, CLIENT_TRIGGER_CFG_CONDITIONS_FIELD, CLIENT_TRIGGER_CFG_ACTIONS_FIELD, CLIENT_TRIGGER_CFG_OPENED_FIELD, CLIENT_TRIGGER_CFG_CANCYCLETRIGGLE_FIELD} -CLIENT_TRIGGER_CFG.is_extendable = false -CLIENT_TRIGGER_CFG.extensions = {} -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.name = "items" -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.full_name = ".ftcfg.client_trigger_cfgs.items" -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.number = 1 -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.index = 0 -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.label = 3 -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.has_default_value = false -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.default_value = {} -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.message_type = CLIENT_TRIGGER_CFG -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.type = 11 -CLIENT_TRIGGER_CFGS_ITEMS_FIELD.cpp_type = 10 - -CLIENT_TRIGGER_CFGS.name = "client_trigger_cfgs" -CLIENT_TRIGGER_CFGS.full_name = ".ftcfg.client_trigger_cfgs" -CLIENT_TRIGGER_CFGS.nested_types = {} -CLIENT_TRIGGER_CFGS.enum_types = {} -CLIENT_TRIGGER_CFGS.fields = {CLIENT_TRIGGER_CFGS_ITEMS_FIELD} -CLIENT_TRIGGER_CFGS.is_extendable = false -CLIENT_TRIGGER_CFGS.extensions = {} -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.name = "event_id" -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.event_id" -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.number = 1 -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.index = 0 -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.default_value = 0 -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.type = 5 -CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.name = "type" -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.type" -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.number = 2 -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.index = 1 -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.default_value = nil -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ECLIENTTRIGGEREVENTTYPE -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.type = 14 -CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD.cpp_type = 8 - -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.name = "param1" -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param1" -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.number = 3 -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.index = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.name = "param2" -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param2" -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.number = 4 -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.index = 3 -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.name = "param3" -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param3" -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.number = 5 -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.index = 4 -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.name = "param4" -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param4" -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.number = 6 -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.index = 5 -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.name = "param5" -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param5" -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.number = 7 -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.index = 6 -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.name = "param6" -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param6" -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.number = 8 -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.index = 7 -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.name = "param7" -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param7" -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.number = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.index = 8 -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.name = "param8" -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param8" -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.number = 10 -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.index = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.name = "param9" -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param9" -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.number = 11 -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.index = 10 -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.name = "param10" -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.full_name = ".ftcfg.client_trigger_event_cfg.param10" -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.number = 12 -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.index = 11 -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.label = 2 -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.default_value = "" -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.type = 9 -CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_EVENT_CFG.name = "client_trigger_event_cfg" -CLIENT_TRIGGER_EVENT_CFG.full_name = ".ftcfg.client_trigger_event_cfg" -CLIENT_TRIGGER_EVENT_CFG.nested_types = {} -CLIENT_TRIGGER_EVENT_CFG.enum_types = {} -CLIENT_TRIGGER_EVENT_CFG.fields = {CLIENT_TRIGGER_EVENT_CFG_EVENT_ID_FIELD, CLIENT_TRIGGER_EVENT_CFG_TYPE_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM1_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM2_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM3_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM4_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM5_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM6_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM7_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM8_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM9_FIELD, CLIENT_TRIGGER_EVENT_CFG_PARAM10_FIELD} -CLIENT_TRIGGER_EVENT_CFG.is_extendable = false -CLIENT_TRIGGER_EVENT_CFG.extensions = {} -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.name = "items" -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.client_trigger_event_cfgs.items" -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.number = 1 -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.index = 0 -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.label = 3 -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.has_default_value = false -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.default_value = {} -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.message_type = CLIENT_TRIGGER_EVENT_CFG -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.type = 11 -CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD.cpp_type = 10 - -CLIENT_TRIGGER_EVENT_CFGS.name = "client_trigger_event_cfgs" -CLIENT_TRIGGER_EVENT_CFGS.full_name = ".ftcfg.client_trigger_event_cfgs" -CLIENT_TRIGGER_EVENT_CFGS.nested_types = {} -CLIENT_TRIGGER_EVENT_CFGS.enum_types = {} -CLIENT_TRIGGER_EVENT_CFGS.fields = {CLIENT_TRIGGER_EVENT_CFGS_ITEMS_FIELD} -CLIENT_TRIGGER_EVENT_CFGS.is_extendable = false -CLIENT_TRIGGER_EVENT_CFGS.extensions = {} -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.name = "condition_id" -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.condition_id" -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.number = 1 -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.index = 0 -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.default_value = 0 -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.type = 5 -CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.name = "type" -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.type" -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.number = 2 -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.index = 1 -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.default_value = nil -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ECLIENTTRIGGERCONDITIONTYPE -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.type = 14 -CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD.cpp_type = 8 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.name = "param1" -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param1" -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.number = 3 -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.index = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.name = "param2" -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param2" -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.number = 4 -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.index = 3 -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.name = "param3" -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param3" -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.number = 5 -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.index = 4 -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.name = "param4" -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param4" -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.number = 6 -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.index = 5 -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.name = "param5" -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param5" -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.number = 7 -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.index = 6 -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.name = "param6" -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param6" -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.number = 8 -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.index = 7 -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.name = "param7" -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param7" -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.number = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.index = 8 -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.name = "param8" -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param8" -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.number = 10 -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.index = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.name = "param9" -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param9" -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.number = 11 -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.index = 10 -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.name = "param10" -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.full_name = ".ftcfg.client_trigger_condition_cfg.param10" -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.number = 12 -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.index = 11 -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.label = 2 -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.default_value = "" -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.type = 9 -CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_CONDITION_CFG.name = "client_trigger_condition_cfg" -CLIENT_TRIGGER_CONDITION_CFG.full_name = ".ftcfg.client_trigger_condition_cfg" -CLIENT_TRIGGER_CONDITION_CFG.nested_types = {} -CLIENT_TRIGGER_CONDITION_CFG.enum_types = {} -CLIENT_TRIGGER_CONDITION_CFG.fields = {CLIENT_TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD, CLIENT_TRIGGER_CONDITION_CFG_TYPE_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM1_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM2_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM3_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM4_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM5_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM6_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM7_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM8_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM9_FIELD, CLIENT_TRIGGER_CONDITION_CFG_PARAM10_FIELD} -CLIENT_TRIGGER_CONDITION_CFG.is_extendable = false -CLIENT_TRIGGER_CONDITION_CFG.extensions = {} -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.name = "items" -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.client_trigger_condition_cfgs.items" -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.number = 1 -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.index = 0 -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.label = 3 -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.has_default_value = false -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.default_value = {} -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.message_type = CLIENT_TRIGGER_CONDITION_CFG -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.type = 11 -CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD.cpp_type = 10 - -CLIENT_TRIGGER_CONDITION_CFGS.name = "client_trigger_condition_cfgs" -CLIENT_TRIGGER_CONDITION_CFGS.full_name = ".ftcfg.client_trigger_condition_cfgs" -CLIENT_TRIGGER_CONDITION_CFGS.nested_types = {} -CLIENT_TRIGGER_CONDITION_CFGS.enum_types = {} -CLIENT_TRIGGER_CONDITION_CFGS.fields = {CLIENT_TRIGGER_CONDITION_CFGS_ITEMS_FIELD} -CLIENT_TRIGGER_CONDITION_CFGS.is_extendable = false -CLIENT_TRIGGER_CONDITION_CFGS.extensions = {} -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.name = "action_id" -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.action_id" -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.number = 1 -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.index = 0 -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.default_value = 0 -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.type = 5 -CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.name = "type" -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.type" -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.number = 2 -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.index = 1 -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.default_value = nil -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ECLIENTTRIGGERACTIONTYPE -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.type = 14 -CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD.cpp_type = 8 - -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.name = "param1" -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param1" -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.number = 3 -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.index = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.name = "param2" -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param2" -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.number = 4 -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.index = 3 -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.name = "param3" -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param3" -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.number = 5 -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.index = 4 -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.name = "param4" -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param4" -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.number = 6 -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.index = 5 -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.name = "param5" -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param5" -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.number = 7 -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.index = 6 -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.name = "param6" -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param6" -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.number = 8 -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.index = 7 -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.name = "param7" -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param7" -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.number = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.index = 8 -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.name = "param8" -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param8" -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.number = 10 -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.index = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.name = "param9" -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param9" -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.number = 11 -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.index = 10 -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.name = "param10" -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.full_name = ".ftcfg.client_trigger_action_cfg.param10" -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.number = 12 -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.index = 11 -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.label = 2 -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.default_value = "" -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.type = 9 -CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_ACTION_CFG.name = "client_trigger_action_cfg" -CLIENT_TRIGGER_ACTION_CFG.full_name = ".ftcfg.client_trigger_action_cfg" -CLIENT_TRIGGER_ACTION_CFG.nested_types = {} -CLIENT_TRIGGER_ACTION_CFG.enum_types = {} -CLIENT_TRIGGER_ACTION_CFG.fields = {CLIENT_TRIGGER_ACTION_CFG_ACTION_ID_FIELD, CLIENT_TRIGGER_ACTION_CFG_TYPE_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM1_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM2_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM3_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM4_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM5_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM6_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM7_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM8_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM9_FIELD, CLIENT_TRIGGER_ACTION_CFG_PARAM10_FIELD} -CLIENT_TRIGGER_ACTION_CFG.is_extendable = false -CLIENT_TRIGGER_ACTION_CFG.extensions = {} -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.name = "items" -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.client_trigger_action_cfgs.items" -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.number = 1 -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.index = 0 -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.label = 3 -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.has_default_value = false -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.default_value = {} -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.message_type = CLIENT_TRIGGER_ACTION_CFG -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.type = 11 -CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -CLIENT_TRIGGER_ACTION_CFGS.name = "client_trigger_action_cfgs" -CLIENT_TRIGGER_ACTION_CFGS.full_name = ".ftcfg.client_trigger_action_cfgs" -CLIENT_TRIGGER_ACTION_CFGS.nested_types = {} -CLIENT_TRIGGER_ACTION_CFGS.enum_types = {} -CLIENT_TRIGGER_ACTION_CFGS.fields = {CLIENT_TRIGGER_ACTION_CFGS_ITEMS_FIELD} -CLIENT_TRIGGER_ACTION_CFGS.is_extendable = false -CLIENT_TRIGGER_ACTION_CFGS.extensions = {} -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.name = "name" -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.name" -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.number = 1 -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.index = 0 -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.default_value = "" -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.type = 9 -CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.name = "map_id" -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.map_id" -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.number = 2 -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.index = 1 -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.default_value = 0 -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.type = 5 -CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.cpp_type = 1 - -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.name = "type" -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.type" -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.number = 3 -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.index = 2 -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.default_value = nil -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ECLIENTTRIGGERVARIABLETYPE -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.type = 14 -CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD.cpp_type = 8 - -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.name = "is_vec" -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.is_vec" -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.number = 4 -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.index = 3 -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.default_value = 0 -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.type = 13 -CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.cpp_type = 3 - -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.name = "vec_size" -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.vec_size" -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.number = 5 -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.index = 4 -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.default_value = 0 -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.type = 13 -CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.cpp_type = 3 - -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.name = "param1" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.param1" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.number = 6 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.index = 5 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.default_value = "" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.type = 9 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.name = "param2" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.param2" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.number = 7 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.index = 6 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.default_value = "" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.type = 9 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.name = "param3" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.param3" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.number = 8 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.index = 7 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.default_value = "" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.type = 9 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.name = "param4" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.param4" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.number = 9 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.index = 8 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.default_value = "" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.type = 9 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.name = "param5" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.full_name = ".ftcfg.client_trigger_variable_cfg.param5" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.number = 10 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.index = 9 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.label = 2 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.default_value = "" -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.type = 9 -CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD.cpp_type = 9 - -CLIENT_TRIGGER_VARIABLE_CFG.name = "client_trigger_variable_cfg" -CLIENT_TRIGGER_VARIABLE_CFG.full_name = ".ftcfg.client_trigger_variable_cfg" -CLIENT_TRIGGER_VARIABLE_CFG.nested_types = {} -CLIENT_TRIGGER_VARIABLE_CFG.enum_types = {} -CLIENT_TRIGGER_VARIABLE_CFG.fields = {CLIENT_TRIGGER_VARIABLE_CFG_NAME_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_MAP_ID_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_TYPE_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_IS_VEC_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_PARAM1_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_PARAM2_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_PARAM3_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_PARAM4_FIELD, CLIENT_TRIGGER_VARIABLE_CFG_PARAM5_FIELD} -CLIENT_TRIGGER_VARIABLE_CFG.is_extendable = false -CLIENT_TRIGGER_VARIABLE_CFG.extensions = {} -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.name = "items" -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.client_trigger_variable_cfgs.items" -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.number = 1 -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.index = 0 -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.label = 3 -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.has_default_value = false -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.default_value = {} -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.message_type = CLIENT_TRIGGER_VARIABLE_CFG -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.type = 11 -CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.cpp_type = 10 - -CLIENT_TRIGGER_VARIABLE_CFGS.name = "client_trigger_variable_cfgs" -CLIENT_TRIGGER_VARIABLE_CFGS.full_name = ".ftcfg.client_trigger_variable_cfgs" -CLIENT_TRIGGER_VARIABLE_CFGS.nested_types = {} -CLIENT_TRIGGER_VARIABLE_CFGS.enum_types = {} -CLIENT_TRIGGER_VARIABLE_CFGS.fields = {CLIENT_TRIGGER_VARIABLE_CFGS_ITEMS_FIELD} -CLIENT_TRIGGER_VARIABLE_CFGS.is_extendable = false -CLIENT_TRIGGER_VARIABLE_CFGS.extensions = {} -SCENE_ORGAN_CFG_ID_FIELD.name = "id" -SCENE_ORGAN_CFG_ID_FIELD.full_name = ".ftcfg.scene_organ_cfg.id" -SCENE_ORGAN_CFG_ID_FIELD.number = 1 -SCENE_ORGAN_CFG_ID_FIELD.index = 0 -SCENE_ORGAN_CFG_ID_FIELD.label = 2 -SCENE_ORGAN_CFG_ID_FIELD.has_default_value = false -SCENE_ORGAN_CFG_ID_FIELD.default_value = 0 -SCENE_ORGAN_CFG_ID_FIELD.type = 5 -SCENE_ORGAN_CFG_ID_FIELD.cpp_type = 1 - -SCENE_ORGAN_CFG_NAME_FIELD.name = "name" -SCENE_ORGAN_CFG_NAME_FIELD.full_name = ".ftcfg.scene_organ_cfg.name" -SCENE_ORGAN_CFG_NAME_FIELD.number = 2 -SCENE_ORGAN_CFG_NAME_FIELD.index = 1 -SCENE_ORGAN_CFG_NAME_FIELD.label = 2 -SCENE_ORGAN_CFG_NAME_FIELD.has_default_value = false -SCENE_ORGAN_CFG_NAME_FIELD.default_value = 0 -SCENE_ORGAN_CFG_NAME_FIELD.type = 5 -SCENE_ORGAN_CFG_NAME_FIELD.cpp_type = 1 - -SCENE_ORGAN_CFG_MODULE_FIELD.name = "module" -SCENE_ORGAN_CFG_MODULE_FIELD.full_name = ".ftcfg.scene_organ_cfg.module" -SCENE_ORGAN_CFG_MODULE_FIELD.number = 3 -SCENE_ORGAN_CFG_MODULE_FIELD.index = 2 -SCENE_ORGAN_CFG_MODULE_FIELD.label = 2 -SCENE_ORGAN_CFG_MODULE_FIELD.has_default_value = false -SCENE_ORGAN_CFG_MODULE_FIELD.default_value = 0 -SCENE_ORGAN_CFG_MODULE_FIELD.type = 5 -SCENE_ORGAN_CFG_MODULE_FIELD.cpp_type = 1 - -SCENE_ORGAN_CFG_MAP_ID_FIELD.name = "map_id" -SCENE_ORGAN_CFG_MAP_ID_FIELD.full_name = ".ftcfg.scene_organ_cfg.map_id" -SCENE_ORGAN_CFG_MAP_ID_FIELD.number = 4 -SCENE_ORGAN_CFG_MAP_ID_FIELD.index = 3 -SCENE_ORGAN_CFG_MAP_ID_FIELD.label = 2 -SCENE_ORGAN_CFG_MAP_ID_FIELD.has_default_value = false -SCENE_ORGAN_CFG_MAP_ID_FIELD.default_value = 0 -SCENE_ORGAN_CFG_MAP_ID_FIELD.type = 5 -SCENE_ORGAN_CFG_MAP_ID_FIELD.cpp_type = 1 - -SCENE_ORGAN_CFG_POS_X_FIELD.name = "pos_x" -SCENE_ORGAN_CFG_POS_X_FIELD.full_name = ".ftcfg.scene_organ_cfg.pos_x" -SCENE_ORGAN_CFG_POS_X_FIELD.number = 5 -SCENE_ORGAN_CFG_POS_X_FIELD.index = 4 -SCENE_ORGAN_CFG_POS_X_FIELD.label = 2 -SCENE_ORGAN_CFG_POS_X_FIELD.has_default_value = false -SCENE_ORGAN_CFG_POS_X_FIELD.default_value = 0.0 -SCENE_ORGAN_CFG_POS_X_FIELD.type = 2 -SCENE_ORGAN_CFG_POS_X_FIELD.cpp_type = 6 - -SCENE_ORGAN_CFG_POS_Y_FIELD.name = "pos_y" -SCENE_ORGAN_CFG_POS_Y_FIELD.full_name = ".ftcfg.scene_organ_cfg.pos_y" -SCENE_ORGAN_CFG_POS_Y_FIELD.number = 6 -SCENE_ORGAN_CFG_POS_Y_FIELD.index = 5 -SCENE_ORGAN_CFG_POS_Y_FIELD.label = 2 -SCENE_ORGAN_CFG_POS_Y_FIELD.has_default_value = false -SCENE_ORGAN_CFG_POS_Y_FIELD.default_value = 0.0 -SCENE_ORGAN_CFG_POS_Y_FIELD.type = 2 -SCENE_ORGAN_CFG_POS_Y_FIELD.cpp_type = 6 - -SCENE_ORGAN_CFG_POS_Z_FIELD.name = "pos_z" -SCENE_ORGAN_CFG_POS_Z_FIELD.full_name = ".ftcfg.scene_organ_cfg.pos_z" -SCENE_ORGAN_CFG_POS_Z_FIELD.number = 7 -SCENE_ORGAN_CFG_POS_Z_FIELD.index = 6 -SCENE_ORGAN_CFG_POS_Z_FIELD.label = 2 -SCENE_ORGAN_CFG_POS_Z_FIELD.has_default_value = false -SCENE_ORGAN_CFG_POS_Z_FIELD.default_value = 0.0 -SCENE_ORGAN_CFG_POS_Z_FIELD.type = 2 -SCENE_ORGAN_CFG_POS_Z_FIELD.cpp_type = 6 - -SCENE_ORGAN_CFG_ORIENTATION_FIELD.name = "orientation" -SCENE_ORGAN_CFG_ORIENTATION_FIELD.full_name = ".ftcfg.scene_organ_cfg.orientation" -SCENE_ORGAN_CFG_ORIENTATION_FIELD.number = 8 -SCENE_ORGAN_CFG_ORIENTATION_FIELD.index = 7 -SCENE_ORGAN_CFG_ORIENTATION_FIELD.label = 2 -SCENE_ORGAN_CFG_ORIENTATION_FIELD.has_default_value = false -SCENE_ORGAN_CFG_ORIENTATION_FIELD.default_value = 0.0 -SCENE_ORGAN_CFG_ORIENTATION_FIELD.type = 2 -SCENE_ORGAN_CFG_ORIENTATION_FIELD.cpp_type = 6 - -SCENE_ORGAN_CFG_SKILL_ID_FIELD.name = "skill_id" -SCENE_ORGAN_CFG_SKILL_ID_FIELD.full_name = ".ftcfg.scene_organ_cfg.skill_id" -SCENE_ORGAN_CFG_SKILL_ID_FIELD.number = 9 -SCENE_ORGAN_CFG_SKILL_ID_FIELD.index = 8 -SCENE_ORGAN_CFG_SKILL_ID_FIELD.label = 2 -SCENE_ORGAN_CFG_SKILL_ID_FIELD.has_default_value = false -SCENE_ORGAN_CFG_SKILL_ID_FIELD.default_value = 0 -SCENE_ORGAN_CFG_SKILL_ID_FIELD.type = 5 -SCENE_ORGAN_CFG_SKILL_ID_FIELD.cpp_type = 1 - -SCENE_ORGAN_CFG_ENABLED_FIELD.name = "enabled" -SCENE_ORGAN_CFG_ENABLED_FIELD.full_name = ".ftcfg.scene_organ_cfg.enabled" -SCENE_ORGAN_CFG_ENABLED_FIELD.number = 10 -SCENE_ORGAN_CFG_ENABLED_FIELD.index = 9 -SCENE_ORGAN_CFG_ENABLED_FIELD.label = 2 -SCENE_ORGAN_CFG_ENABLED_FIELD.has_default_value = false -SCENE_ORGAN_CFG_ENABLED_FIELD.default_value = 0 -SCENE_ORGAN_CFG_ENABLED_FIELD.type = 5 -SCENE_ORGAN_CFG_ENABLED_FIELD.cpp_type = 1 - -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.name = "show_name" -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.full_name = ".ftcfg.scene_organ_cfg.show_name" -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.number = 11 -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.index = 10 -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.label = 2 -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.has_default_value = false -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.default_value = 0 -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.type = 5 -SCENE_ORGAN_CFG_SHOW_NAME_FIELD.cpp_type = 1 - -SCENE_ORGAN_CFG.name = "scene_organ_cfg" -SCENE_ORGAN_CFG.full_name = ".ftcfg.scene_organ_cfg" -SCENE_ORGAN_CFG.nested_types = {} -SCENE_ORGAN_CFG.enum_types = {} -SCENE_ORGAN_CFG.fields = {SCENE_ORGAN_CFG_ID_FIELD, SCENE_ORGAN_CFG_NAME_FIELD, SCENE_ORGAN_CFG_MODULE_FIELD, SCENE_ORGAN_CFG_MAP_ID_FIELD, SCENE_ORGAN_CFG_POS_X_FIELD, SCENE_ORGAN_CFG_POS_Y_FIELD, SCENE_ORGAN_CFG_POS_Z_FIELD, SCENE_ORGAN_CFG_ORIENTATION_FIELD, SCENE_ORGAN_CFG_SKILL_ID_FIELD, SCENE_ORGAN_CFG_ENABLED_FIELD, SCENE_ORGAN_CFG_SHOW_NAME_FIELD} -SCENE_ORGAN_CFG.is_extendable = false -SCENE_ORGAN_CFG.extensions = {} -SCENE_ORGAN_CFGS_ITEMS_FIELD.name = "items" -SCENE_ORGAN_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_organ_cfgs.items" -SCENE_ORGAN_CFGS_ITEMS_FIELD.number = 1 -SCENE_ORGAN_CFGS_ITEMS_FIELD.index = 0 -SCENE_ORGAN_CFGS_ITEMS_FIELD.label = 3 -SCENE_ORGAN_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_ORGAN_CFGS_ITEMS_FIELD.default_value = {} -SCENE_ORGAN_CFGS_ITEMS_FIELD.message_type = SCENE_ORGAN_CFG -SCENE_ORGAN_CFGS_ITEMS_FIELD.type = 11 -SCENE_ORGAN_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_ORGAN_CFGS.name = "scene_organ_cfgs" -SCENE_ORGAN_CFGS.full_name = ".ftcfg.scene_organ_cfgs" -SCENE_ORGAN_CFGS.nested_types = {} -SCENE_ORGAN_CFGS.enum_types = {} -SCENE_ORGAN_CFGS.fields = {SCENE_ORGAN_CFGS_ITEMS_FIELD} -SCENE_ORGAN_CFGS.is_extendable = false -SCENE_ORGAN_CFGS.extensions = {} -MAP_SIGNS_CFG_ID_FIELD.name = "id" -MAP_SIGNS_CFG_ID_FIELD.full_name = ".ftcfg.map_signs_cfg.id" -MAP_SIGNS_CFG_ID_FIELD.number = 1 -MAP_SIGNS_CFG_ID_FIELD.index = 0 -MAP_SIGNS_CFG_ID_FIELD.label = 2 -MAP_SIGNS_CFG_ID_FIELD.has_default_value = false -MAP_SIGNS_CFG_ID_FIELD.default_value = 0 -MAP_SIGNS_CFG_ID_FIELD.type = 5 -MAP_SIGNS_CFG_ID_FIELD.cpp_type = 1 - -MAP_SIGNS_CFG_NAME_FIELD.name = "name" -MAP_SIGNS_CFG_NAME_FIELD.full_name = ".ftcfg.map_signs_cfg.name" -MAP_SIGNS_CFG_NAME_FIELD.number = 2 -MAP_SIGNS_CFG_NAME_FIELD.index = 1 -MAP_SIGNS_CFG_NAME_FIELD.label = 2 -MAP_SIGNS_CFG_NAME_FIELD.has_default_value = false -MAP_SIGNS_CFG_NAME_FIELD.default_value = 0 -MAP_SIGNS_CFG_NAME_FIELD.type = 5 -MAP_SIGNS_CFG_NAME_FIELD.cpp_type = 1 - -MAP_SIGNS_CFG_MAP_ID_FIELD.name = "map_id" -MAP_SIGNS_CFG_MAP_ID_FIELD.full_name = ".ftcfg.map_signs_cfg.map_id" -MAP_SIGNS_CFG_MAP_ID_FIELD.number = 3 -MAP_SIGNS_CFG_MAP_ID_FIELD.index = 2 -MAP_SIGNS_CFG_MAP_ID_FIELD.label = 2 -MAP_SIGNS_CFG_MAP_ID_FIELD.has_default_value = false -MAP_SIGNS_CFG_MAP_ID_FIELD.default_value = 0 -MAP_SIGNS_CFG_MAP_ID_FIELD.type = 5 -MAP_SIGNS_CFG_MAP_ID_FIELD.cpp_type = 1 - -MAP_SIGNS_CFG_TYPE_FIELD.name = "type" -MAP_SIGNS_CFG_TYPE_FIELD.full_name = ".ftcfg.map_signs_cfg.type" -MAP_SIGNS_CFG_TYPE_FIELD.number = 4 -MAP_SIGNS_CFG_TYPE_FIELD.index = 3 -MAP_SIGNS_CFG_TYPE_FIELD.label = 2 -MAP_SIGNS_CFG_TYPE_FIELD.has_default_value = false -MAP_SIGNS_CFG_TYPE_FIELD.default_value = 0 -MAP_SIGNS_CFG_TYPE_FIELD.type = 5 -MAP_SIGNS_CFG_TYPE_FIELD.cpp_type = 1 - -MAP_SIGNS_CFG_SUB_TYPE_FIELD.name = "sub_type" -MAP_SIGNS_CFG_SUB_TYPE_FIELD.full_name = ".ftcfg.map_signs_cfg.sub_type" -MAP_SIGNS_CFG_SUB_TYPE_FIELD.number = 5 -MAP_SIGNS_CFG_SUB_TYPE_FIELD.index = 4 -MAP_SIGNS_CFG_SUB_TYPE_FIELD.label = 2 -MAP_SIGNS_CFG_SUB_TYPE_FIELD.has_default_value = false -MAP_SIGNS_CFG_SUB_TYPE_FIELD.default_value = nil -MAP_SIGNS_CFG_SUB_TYPE_FIELD.enum_type = config_predefine_pb.EACTIVETYPE -MAP_SIGNS_CFG_SUB_TYPE_FIELD.type = 14 -MAP_SIGNS_CFG_SUB_TYPE_FIELD.cpp_type = 8 - -MAP_SIGNS_CFG_AUTO_ID_FIELD.name = "auto_id" -MAP_SIGNS_CFG_AUTO_ID_FIELD.full_name = ".ftcfg.map_signs_cfg.auto_id" -MAP_SIGNS_CFG_AUTO_ID_FIELD.number = 6 -MAP_SIGNS_CFG_AUTO_ID_FIELD.index = 5 -MAP_SIGNS_CFG_AUTO_ID_FIELD.label = 2 -MAP_SIGNS_CFG_AUTO_ID_FIELD.has_default_value = false -MAP_SIGNS_CFG_AUTO_ID_FIELD.default_value = 0 -MAP_SIGNS_CFG_AUTO_ID_FIELD.type = 5 -MAP_SIGNS_CFG_AUTO_ID_FIELD.cpp_type = 1 - -MAP_SIGNS_CFG_POS_X_FIELD.name = "pos_x" -MAP_SIGNS_CFG_POS_X_FIELD.full_name = ".ftcfg.map_signs_cfg.pos_x" -MAP_SIGNS_CFG_POS_X_FIELD.number = 7 -MAP_SIGNS_CFG_POS_X_FIELD.index = 6 -MAP_SIGNS_CFG_POS_X_FIELD.label = 2 -MAP_SIGNS_CFG_POS_X_FIELD.has_default_value = false -MAP_SIGNS_CFG_POS_X_FIELD.default_value = 0.0 -MAP_SIGNS_CFG_POS_X_FIELD.type = 2 -MAP_SIGNS_CFG_POS_X_FIELD.cpp_type = 6 - -MAP_SIGNS_CFG_POS_Y_FIELD.name = "pos_y" -MAP_SIGNS_CFG_POS_Y_FIELD.full_name = ".ftcfg.map_signs_cfg.pos_y" -MAP_SIGNS_CFG_POS_Y_FIELD.number = 8 -MAP_SIGNS_CFG_POS_Y_FIELD.index = 7 -MAP_SIGNS_CFG_POS_Y_FIELD.label = 2 -MAP_SIGNS_CFG_POS_Y_FIELD.has_default_value = false -MAP_SIGNS_CFG_POS_Y_FIELD.default_value = 0.0 -MAP_SIGNS_CFG_POS_Y_FIELD.type = 2 -MAP_SIGNS_CFG_POS_Y_FIELD.cpp_type = 6 - -MAP_SIGNS_CFG_POS_Z_FIELD.name = "pos_z" -MAP_SIGNS_CFG_POS_Z_FIELD.full_name = ".ftcfg.map_signs_cfg.pos_z" -MAP_SIGNS_CFG_POS_Z_FIELD.number = 9 -MAP_SIGNS_CFG_POS_Z_FIELD.index = 8 -MAP_SIGNS_CFG_POS_Z_FIELD.label = 2 -MAP_SIGNS_CFG_POS_Z_FIELD.has_default_value = false -MAP_SIGNS_CFG_POS_Z_FIELD.default_value = 0.0 -MAP_SIGNS_CFG_POS_Z_FIELD.type = 2 -MAP_SIGNS_CFG_POS_Z_FIELD.cpp_type = 6 - -MAP_SIGNS_CFG_IS_AUTO_FIELD.name = "is_auto" -MAP_SIGNS_CFG_IS_AUTO_FIELD.full_name = ".ftcfg.map_signs_cfg.is_auto" -MAP_SIGNS_CFG_IS_AUTO_FIELD.number = 10 -MAP_SIGNS_CFG_IS_AUTO_FIELD.index = 9 -MAP_SIGNS_CFG_IS_AUTO_FIELD.label = 2 -MAP_SIGNS_CFG_IS_AUTO_FIELD.has_default_value = false -MAP_SIGNS_CFG_IS_AUTO_FIELD.default_value = 0 -MAP_SIGNS_CFG_IS_AUTO_FIELD.type = 5 -MAP_SIGNS_CFG_IS_AUTO_FIELD.cpp_type = 1 - -MAP_SIGNS_CFG_IS_SHOW_FIELD.name = "is_show" -MAP_SIGNS_CFG_IS_SHOW_FIELD.full_name = ".ftcfg.map_signs_cfg.is_show" -MAP_SIGNS_CFG_IS_SHOW_FIELD.number = 11 -MAP_SIGNS_CFG_IS_SHOW_FIELD.index = 10 -MAP_SIGNS_CFG_IS_SHOW_FIELD.label = 2 -MAP_SIGNS_CFG_IS_SHOW_FIELD.has_default_value = false -MAP_SIGNS_CFG_IS_SHOW_FIELD.default_value = 0 -MAP_SIGNS_CFG_IS_SHOW_FIELD.type = 5 -MAP_SIGNS_CFG_IS_SHOW_FIELD.cpp_type = 1 - -MAP_SIGNS_CFG.name = "map_signs_cfg" -MAP_SIGNS_CFG.full_name = ".ftcfg.map_signs_cfg" -MAP_SIGNS_CFG.nested_types = {} -MAP_SIGNS_CFG.enum_types = {} -MAP_SIGNS_CFG.fields = {MAP_SIGNS_CFG_ID_FIELD, MAP_SIGNS_CFG_NAME_FIELD, MAP_SIGNS_CFG_MAP_ID_FIELD, MAP_SIGNS_CFG_TYPE_FIELD, MAP_SIGNS_CFG_SUB_TYPE_FIELD, MAP_SIGNS_CFG_AUTO_ID_FIELD, MAP_SIGNS_CFG_POS_X_FIELD, MAP_SIGNS_CFG_POS_Y_FIELD, MAP_SIGNS_CFG_POS_Z_FIELD, MAP_SIGNS_CFG_IS_AUTO_FIELD, MAP_SIGNS_CFG_IS_SHOW_FIELD} -MAP_SIGNS_CFG.is_extendable = false -MAP_SIGNS_CFG.extensions = {} -MAP_SIGNS_CFGS_ITEMS_FIELD.name = "items" -MAP_SIGNS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.map_signs_cfgs.items" -MAP_SIGNS_CFGS_ITEMS_FIELD.number = 1 -MAP_SIGNS_CFGS_ITEMS_FIELD.index = 0 -MAP_SIGNS_CFGS_ITEMS_FIELD.label = 3 -MAP_SIGNS_CFGS_ITEMS_FIELD.has_default_value = false -MAP_SIGNS_CFGS_ITEMS_FIELD.default_value = {} -MAP_SIGNS_CFGS_ITEMS_FIELD.message_type = MAP_SIGNS_CFG -MAP_SIGNS_CFGS_ITEMS_FIELD.type = 11 -MAP_SIGNS_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAP_SIGNS_CFGS.name = "map_signs_cfgs" -MAP_SIGNS_CFGS.full_name = ".ftcfg.map_signs_cfgs" -MAP_SIGNS_CFGS.nested_types = {} -MAP_SIGNS_CFGS.enum_types = {} -MAP_SIGNS_CFGS.fields = {MAP_SIGNS_CFGS_ITEMS_FIELD} -MAP_SIGNS_CFGS.is_extendable = false -MAP_SIGNS_CFGS.extensions = {} -SCENE_TRIGGER_CFG_NAME_FIELD.name = "name" -SCENE_TRIGGER_CFG_NAME_FIELD.full_name = ".ftcfg.scene_trigger_cfg.name" -SCENE_TRIGGER_CFG_NAME_FIELD.number = 1 -SCENE_TRIGGER_CFG_NAME_FIELD.index = 0 -SCENE_TRIGGER_CFG_NAME_FIELD.label = 2 -SCENE_TRIGGER_CFG_NAME_FIELD.has_default_value = false -SCENE_TRIGGER_CFG_NAME_FIELD.default_value = "" -SCENE_TRIGGER_CFG_NAME_FIELD.type = 9 -SCENE_TRIGGER_CFG_NAME_FIELD.cpp_type = 9 - -SCENE_TRIGGER_CFG_MAP_ID_FIELD.name = "map_id" -SCENE_TRIGGER_CFG_MAP_ID_FIELD.full_name = ".ftcfg.scene_trigger_cfg.map_id" -SCENE_TRIGGER_CFG_MAP_ID_FIELD.number = 2 -SCENE_TRIGGER_CFG_MAP_ID_FIELD.index = 1 -SCENE_TRIGGER_CFG_MAP_ID_FIELD.label = 2 -SCENE_TRIGGER_CFG_MAP_ID_FIELD.has_default_value = false -SCENE_TRIGGER_CFG_MAP_ID_FIELD.default_value = 0 -SCENE_TRIGGER_CFG_MAP_ID_FIELD.type = 5 -SCENE_TRIGGER_CFG_MAP_ID_FIELD.cpp_type = 1 - -SCENE_TRIGGER_CFG_EVENTS_FIELD.name = "events" -SCENE_TRIGGER_CFG_EVENTS_FIELD.full_name = ".ftcfg.scene_trigger_cfg.events" -SCENE_TRIGGER_CFG_EVENTS_FIELD.number = 3 -SCENE_TRIGGER_CFG_EVENTS_FIELD.index = 2 -SCENE_TRIGGER_CFG_EVENTS_FIELD.label = 3 -SCENE_TRIGGER_CFG_EVENTS_FIELD.has_default_value = false -SCENE_TRIGGER_CFG_EVENTS_FIELD.default_value = {} -SCENE_TRIGGER_CFG_EVENTS_FIELD.type = 5 -SCENE_TRIGGER_CFG_EVENTS_FIELD.cpp_type = 1 - -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.name = "conditions" -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.full_name = ".ftcfg.scene_trigger_cfg.conditions" -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.number = 4 -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.index = 3 -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.label = 3 -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.has_default_value = false -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.default_value = {} -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.type = 5 -SCENE_TRIGGER_CFG_CONDITIONS_FIELD.cpp_type = 1 - -SCENE_TRIGGER_CFG_ACTIONS_FIELD.name = "actions" -SCENE_TRIGGER_CFG_ACTIONS_FIELD.full_name = ".ftcfg.scene_trigger_cfg.actions" -SCENE_TRIGGER_CFG_ACTIONS_FIELD.number = 5 -SCENE_TRIGGER_CFG_ACTIONS_FIELD.index = 4 -SCENE_TRIGGER_CFG_ACTIONS_FIELD.label = 3 -SCENE_TRIGGER_CFG_ACTIONS_FIELD.has_default_value = false -SCENE_TRIGGER_CFG_ACTIONS_FIELD.default_value = {} -SCENE_TRIGGER_CFG_ACTIONS_FIELD.type = 5 -SCENE_TRIGGER_CFG_ACTIONS_FIELD.cpp_type = 1 - -SCENE_TRIGGER_CFG_OPENED_FIELD.name = "opened" -SCENE_TRIGGER_CFG_OPENED_FIELD.full_name = ".ftcfg.scene_trigger_cfg.opened" -SCENE_TRIGGER_CFG_OPENED_FIELD.number = 6 -SCENE_TRIGGER_CFG_OPENED_FIELD.index = 5 -SCENE_TRIGGER_CFG_OPENED_FIELD.label = 2 -SCENE_TRIGGER_CFG_OPENED_FIELD.has_default_value = false -SCENE_TRIGGER_CFG_OPENED_FIELD.default_value = 0 -SCENE_TRIGGER_CFG_OPENED_FIELD.type = 5 -SCENE_TRIGGER_CFG_OPENED_FIELD.cpp_type = 1 - -SCENE_TRIGGER_CFG.name = "scene_trigger_cfg" -SCENE_TRIGGER_CFG.full_name = ".ftcfg.scene_trigger_cfg" -SCENE_TRIGGER_CFG.nested_types = {} -SCENE_TRIGGER_CFG.enum_types = {} -SCENE_TRIGGER_CFG.fields = {SCENE_TRIGGER_CFG_NAME_FIELD, SCENE_TRIGGER_CFG_MAP_ID_FIELD, SCENE_TRIGGER_CFG_EVENTS_FIELD, SCENE_TRIGGER_CFG_CONDITIONS_FIELD, SCENE_TRIGGER_CFG_ACTIONS_FIELD, SCENE_TRIGGER_CFG_OPENED_FIELD} -SCENE_TRIGGER_CFG.is_extendable = false -SCENE_TRIGGER_CFG.extensions = {} -SCENE_TRIGGER_CFGS_ITEMS_FIELD.name = "items" -SCENE_TRIGGER_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_trigger_cfgs.items" -SCENE_TRIGGER_CFGS_ITEMS_FIELD.number = 1 -SCENE_TRIGGER_CFGS_ITEMS_FIELD.index = 0 -SCENE_TRIGGER_CFGS_ITEMS_FIELD.label = 3 -SCENE_TRIGGER_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_TRIGGER_CFGS_ITEMS_FIELD.default_value = {} -SCENE_TRIGGER_CFGS_ITEMS_FIELD.message_type = SCENE_TRIGGER_CFG -SCENE_TRIGGER_CFGS_ITEMS_FIELD.type = 11 -SCENE_TRIGGER_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_TRIGGER_CFGS.name = "scene_trigger_cfgs" -SCENE_TRIGGER_CFGS.full_name = ".ftcfg.scene_trigger_cfgs" -SCENE_TRIGGER_CFGS.nested_types = {} -SCENE_TRIGGER_CFGS.enum_types = {} -SCENE_TRIGGER_CFGS.fields = {SCENE_TRIGGER_CFGS_ITEMS_FIELD} -SCENE_TRIGGER_CFGS.is_extendable = false -SCENE_TRIGGER_CFGS.extensions = {} -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.name = "event_id" -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.full_name = ".ftcfg.trigger_event_cfg.event_id" -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.number = 1 -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.index = 0 -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.label = 2 -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.default_value = 0 -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.type = 5 -TRIGGER_EVENT_CFG_EVENT_ID_FIELD.cpp_type = 1 - -TRIGGER_EVENT_CFG_TYPE_FIELD.name = "type" -TRIGGER_EVENT_CFG_TYPE_FIELD.full_name = ".ftcfg.trigger_event_cfg.type" -TRIGGER_EVENT_CFG_TYPE_FIELD.number = 2 -TRIGGER_EVENT_CFG_TYPE_FIELD.index = 1 -TRIGGER_EVENT_CFG_TYPE_FIELD.label = 2 -TRIGGER_EVENT_CFG_TYPE_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_TYPE_FIELD.default_value = nil -TRIGGER_EVENT_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ETRIGGEREVENTTYPE -TRIGGER_EVENT_CFG_TYPE_FIELD.type = 14 -TRIGGER_EVENT_CFG_TYPE_FIELD.cpp_type = 8 - -TRIGGER_EVENT_CFG_PARAM1_FIELD.name = "param1" -TRIGGER_EVENT_CFG_PARAM1_FIELD.full_name = ".ftcfg.trigger_event_cfg.param1" -TRIGGER_EVENT_CFG_PARAM1_FIELD.number = 3 -TRIGGER_EVENT_CFG_PARAM1_FIELD.index = 2 -TRIGGER_EVENT_CFG_PARAM1_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM1_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM1_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM1_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM1_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM2_FIELD.name = "param2" -TRIGGER_EVENT_CFG_PARAM2_FIELD.full_name = ".ftcfg.trigger_event_cfg.param2" -TRIGGER_EVENT_CFG_PARAM2_FIELD.number = 4 -TRIGGER_EVENT_CFG_PARAM2_FIELD.index = 3 -TRIGGER_EVENT_CFG_PARAM2_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM2_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM2_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM2_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM2_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM3_FIELD.name = "param3" -TRIGGER_EVENT_CFG_PARAM3_FIELD.full_name = ".ftcfg.trigger_event_cfg.param3" -TRIGGER_EVENT_CFG_PARAM3_FIELD.number = 5 -TRIGGER_EVENT_CFG_PARAM3_FIELD.index = 4 -TRIGGER_EVENT_CFG_PARAM3_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM3_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM3_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM3_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM3_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM4_FIELD.name = "param4" -TRIGGER_EVENT_CFG_PARAM4_FIELD.full_name = ".ftcfg.trigger_event_cfg.param4" -TRIGGER_EVENT_CFG_PARAM4_FIELD.number = 6 -TRIGGER_EVENT_CFG_PARAM4_FIELD.index = 5 -TRIGGER_EVENT_CFG_PARAM4_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM4_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM4_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM4_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM4_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM5_FIELD.name = "param5" -TRIGGER_EVENT_CFG_PARAM5_FIELD.full_name = ".ftcfg.trigger_event_cfg.param5" -TRIGGER_EVENT_CFG_PARAM5_FIELD.number = 7 -TRIGGER_EVENT_CFG_PARAM5_FIELD.index = 6 -TRIGGER_EVENT_CFG_PARAM5_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM5_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM5_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM5_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM5_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM6_FIELD.name = "param6" -TRIGGER_EVENT_CFG_PARAM6_FIELD.full_name = ".ftcfg.trigger_event_cfg.param6" -TRIGGER_EVENT_CFG_PARAM6_FIELD.number = 8 -TRIGGER_EVENT_CFG_PARAM6_FIELD.index = 7 -TRIGGER_EVENT_CFG_PARAM6_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM6_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM6_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM6_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM6_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM7_FIELD.name = "param7" -TRIGGER_EVENT_CFG_PARAM7_FIELD.full_name = ".ftcfg.trigger_event_cfg.param7" -TRIGGER_EVENT_CFG_PARAM7_FIELD.number = 9 -TRIGGER_EVENT_CFG_PARAM7_FIELD.index = 8 -TRIGGER_EVENT_CFG_PARAM7_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM7_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM7_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM7_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM7_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM8_FIELD.name = "param8" -TRIGGER_EVENT_CFG_PARAM8_FIELD.full_name = ".ftcfg.trigger_event_cfg.param8" -TRIGGER_EVENT_CFG_PARAM8_FIELD.number = 10 -TRIGGER_EVENT_CFG_PARAM8_FIELD.index = 9 -TRIGGER_EVENT_CFG_PARAM8_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM8_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM8_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM8_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM8_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM9_FIELD.name = "param9" -TRIGGER_EVENT_CFG_PARAM9_FIELD.full_name = ".ftcfg.trigger_event_cfg.param9" -TRIGGER_EVENT_CFG_PARAM9_FIELD.number = 11 -TRIGGER_EVENT_CFG_PARAM9_FIELD.index = 10 -TRIGGER_EVENT_CFG_PARAM9_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM9_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM9_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM9_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM9_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG_PARAM10_FIELD.name = "param10" -TRIGGER_EVENT_CFG_PARAM10_FIELD.full_name = ".ftcfg.trigger_event_cfg.param10" -TRIGGER_EVENT_CFG_PARAM10_FIELD.number = 12 -TRIGGER_EVENT_CFG_PARAM10_FIELD.index = 11 -TRIGGER_EVENT_CFG_PARAM10_FIELD.label = 2 -TRIGGER_EVENT_CFG_PARAM10_FIELD.has_default_value = false -TRIGGER_EVENT_CFG_PARAM10_FIELD.default_value = "" -TRIGGER_EVENT_CFG_PARAM10_FIELD.type = 9 -TRIGGER_EVENT_CFG_PARAM10_FIELD.cpp_type = 9 - -TRIGGER_EVENT_CFG.name = "trigger_event_cfg" -TRIGGER_EVENT_CFG.full_name = ".ftcfg.trigger_event_cfg" -TRIGGER_EVENT_CFG.nested_types = {} -TRIGGER_EVENT_CFG.enum_types = {} -TRIGGER_EVENT_CFG.fields = {TRIGGER_EVENT_CFG_EVENT_ID_FIELD, TRIGGER_EVENT_CFG_TYPE_FIELD, TRIGGER_EVENT_CFG_PARAM1_FIELD, TRIGGER_EVENT_CFG_PARAM2_FIELD, TRIGGER_EVENT_CFG_PARAM3_FIELD, TRIGGER_EVENT_CFG_PARAM4_FIELD, TRIGGER_EVENT_CFG_PARAM5_FIELD, TRIGGER_EVENT_CFG_PARAM6_FIELD, TRIGGER_EVENT_CFG_PARAM7_FIELD, TRIGGER_EVENT_CFG_PARAM8_FIELD, TRIGGER_EVENT_CFG_PARAM9_FIELD, TRIGGER_EVENT_CFG_PARAM10_FIELD} -TRIGGER_EVENT_CFG.is_extendable = false -TRIGGER_EVENT_CFG.extensions = {} -TRIGGER_EVENT_CFGS_ITEMS_FIELD.name = "items" -TRIGGER_EVENT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trigger_event_cfgs.items" -TRIGGER_EVENT_CFGS_ITEMS_FIELD.number = 1 -TRIGGER_EVENT_CFGS_ITEMS_FIELD.index = 0 -TRIGGER_EVENT_CFGS_ITEMS_FIELD.label = 3 -TRIGGER_EVENT_CFGS_ITEMS_FIELD.has_default_value = false -TRIGGER_EVENT_CFGS_ITEMS_FIELD.default_value = {} -TRIGGER_EVENT_CFGS_ITEMS_FIELD.message_type = TRIGGER_EVENT_CFG -TRIGGER_EVENT_CFGS_ITEMS_FIELD.type = 11 -TRIGGER_EVENT_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRIGGER_EVENT_CFGS.name = "trigger_event_cfgs" -TRIGGER_EVENT_CFGS.full_name = ".ftcfg.trigger_event_cfgs" -TRIGGER_EVENT_CFGS.nested_types = {} -TRIGGER_EVENT_CFGS.enum_types = {} -TRIGGER_EVENT_CFGS.fields = {TRIGGER_EVENT_CFGS_ITEMS_FIELD} -TRIGGER_EVENT_CFGS.is_extendable = false -TRIGGER_EVENT_CFGS.extensions = {} -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.name = "condition_id" -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.full_name = ".ftcfg.trigger_condition_cfg.condition_id" -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.number = 1 -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.index = 0 -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.label = 2 -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.default_value = 0 -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.type = 5 -TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD.cpp_type = 1 - -TRIGGER_CONDITION_CFG_TYPE_FIELD.name = "type" -TRIGGER_CONDITION_CFG_TYPE_FIELD.full_name = ".ftcfg.trigger_condition_cfg.type" -TRIGGER_CONDITION_CFG_TYPE_FIELD.number = 2 -TRIGGER_CONDITION_CFG_TYPE_FIELD.index = 1 -TRIGGER_CONDITION_CFG_TYPE_FIELD.label = 2 -TRIGGER_CONDITION_CFG_TYPE_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_TYPE_FIELD.default_value = nil -TRIGGER_CONDITION_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ETRIGGERCONDITIONTYPE -TRIGGER_CONDITION_CFG_TYPE_FIELD.type = 14 -TRIGGER_CONDITION_CFG_TYPE_FIELD.cpp_type = 8 - -TRIGGER_CONDITION_CFG_PARAM1_FIELD.name = "param1" -TRIGGER_CONDITION_CFG_PARAM1_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param1" -TRIGGER_CONDITION_CFG_PARAM1_FIELD.number = 3 -TRIGGER_CONDITION_CFG_PARAM1_FIELD.index = 2 -TRIGGER_CONDITION_CFG_PARAM1_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM1_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM1_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM1_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM1_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM2_FIELD.name = "param2" -TRIGGER_CONDITION_CFG_PARAM2_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param2" -TRIGGER_CONDITION_CFG_PARAM2_FIELD.number = 4 -TRIGGER_CONDITION_CFG_PARAM2_FIELD.index = 3 -TRIGGER_CONDITION_CFG_PARAM2_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM2_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM2_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM2_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM2_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM3_FIELD.name = "param3" -TRIGGER_CONDITION_CFG_PARAM3_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param3" -TRIGGER_CONDITION_CFG_PARAM3_FIELD.number = 5 -TRIGGER_CONDITION_CFG_PARAM3_FIELD.index = 4 -TRIGGER_CONDITION_CFG_PARAM3_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM3_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM3_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM3_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM3_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM4_FIELD.name = "param4" -TRIGGER_CONDITION_CFG_PARAM4_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param4" -TRIGGER_CONDITION_CFG_PARAM4_FIELD.number = 6 -TRIGGER_CONDITION_CFG_PARAM4_FIELD.index = 5 -TRIGGER_CONDITION_CFG_PARAM4_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM4_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM4_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM4_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM4_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM5_FIELD.name = "param5" -TRIGGER_CONDITION_CFG_PARAM5_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param5" -TRIGGER_CONDITION_CFG_PARAM5_FIELD.number = 7 -TRIGGER_CONDITION_CFG_PARAM5_FIELD.index = 6 -TRIGGER_CONDITION_CFG_PARAM5_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM5_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM5_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM5_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM5_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM6_FIELD.name = "param6" -TRIGGER_CONDITION_CFG_PARAM6_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param6" -TRIGGER_CONDITION_CFG_PARAM6_FIELD.number = 8 -TRIGGER_CONDITION_CFG_PARAM6_FIELD.index = 7 -TRIGGER_CONDITION_CFG_PARAM6_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM6_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM6_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM6_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM6_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM7_FIELD.name = "param7" -TRIGGER_CONDITION_CFG_PARAM7_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param7" -TRIGGER_CONDITION_CFG_PARAM7_FIELD.number = 9 -TRIGGER_CONDITION_CFG_PARAM7_FIELD.index = 8 -TRIGGER_CONDITION_CFG_PARAM7_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM7_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM7_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM7_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM7_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM8_FIELD.name = "param8" -TRIGGER_CONDITION_CFG_PARAM8_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param8" -TRIGGER_CONDITION_CFG_PARAM8_FIELD.number = 10 -TRIGGER_CONDITION_CFG_PARAM8_FIELD.index = 9 -TRIGGER_CONDITION_CFG_PARAM8_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM8_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM8_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM8_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM8_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM9_FIELD.name = "param9" -TRIGGER_CONDITION_CFG_PARAM9_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param9" -TRIGGER_CONDITION_CFG_PARAM9_FIELD.number = 11 -TRIGGER_CONDITION_CFG_PARAM9_FIELD.index = 10 -TRIGGER_CONDITION_CFG_PARAM9_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM9_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM9_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM9_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM9_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG_PARAM10_FIELD.name = "param10" -TRIGGER_CONDITION_CFG_PARAM10_FIELD.full_name = ".ftcfg.trigger_condition_cfg.param10" -TRIGGER_CONDITION_CFG_PARAM10_FIELD.number = 12 -TRIGGER_CONDITION_CFG_PARAM10_FIELD.index = 11 -TRIGGER_CONDITION_CFG_PARAM10_FIELD.label = 2 -TRIGGER_CONDITION_CFG_PARAM10_FIELD.has_default_value = false -TRIGGER_CONDITION_CFG_PARAM10_FIELD.default_value = "" -TRIGGER_CONDITION_CFG_PARAM10_FIELD.type = 9 -TRIGGER_CONDITION_CFG_PARAM10_FIELD.cpp_type = 9 - -TRIGGER_CONDITION_CFG.name = "trigger_condition_cfg" -TRIGGER_CONDITION_CFG.full_name = ".ftcfg.trigger_condition_cfg" -TRIGGER_CONDITION_CFG.nested_types = {} -TRIGGER_CONDITION_CFG.enum_types = {} -TRIGGER_CONDITION_CFG.fields = {TRIGGER_CONDITION_CFG_CONDITION_ID_FIELD, TRIGGER_CONDITION_CFG_TYPE_FIELD, TRIGGER_CONDITION_CFG_PARAM1_FIELD, TRIGGER_CONDITION_CFG_PARAM2_FIELD, TRIGGER_CONDITION_CFG_PARAM3_FIELD, TRIGGER_CONDITION_CFG_PARAM4_FIELD, TRIGGER_CONDITION_CFG_PARAM5_FIELD, TRIGGER_CONDITION_CFG_PARAM6_FIELD, TRIGGER_CONDITION_CFG_PARAM7_FIELD, TRIGGER_CONDITION_CFG_PARAM8_FIELD, TRIGGER_CONDITION_CFG_PARAM9_FIELD, TRIGGER_CONDITION_CFG_PARAM10_FIELD} -TRIGGER_CONDITION_CFG.is_extendable = false -TRIGGER_CONDITION_CFG.extensions = {} -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.name = "items" -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trigger_condition_cfgs.items" -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.number = 1 -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.index = 0 -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.label = 3 -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.has_default_value = false -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.default_value = {} -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.message_type = TRIGGER_CONDITION_CFG -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.type = 11 -TRIGGER_CONDITION_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRIGGER_CONDITION_CFGS.name = "trigger_condition_cfgs" -TRIGGER_CONDITION_CFGS.full_name = ".ftcfg.trigger_condition_cfgs" -TRIGGER_CONDITION_CFGS.nested_types = {} -TRIGGER_CONDITION_CFGS.enum_types = {} -TRIGGER_CONDITION_CFGS.fields = {TRIGGER_CONDITION_CFGS_ITEMS_FIELD} -TRIGGER_CONDITION_CFGS.is_extendable = false -TRIGGER_CONDITION_CFGS.extensions = {} -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.name = "action_id" -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.full_name = ".ftcfg.trigger_action_cfg.action_id" -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.number = 1 -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.index = 0 -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.label = 2 -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.default_value = 0 -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.type = 5 -TRIGGER_ACTION_CFG_ACTION_ID_FIELD.cpp_type = 1 - -TRIGGER_ACTION_CFG_TYPE_FIELD.name = "type" -TRIGGER_ACTION_CFG_TYPE_FIELD.full_name = ".ftcfg.trigger_action_cfg.type" -TRIGGER_ACTION_CFG_TYPE_FIELD.number = 2 -TRIGGER_ACTION_CFG_TYPE_FIELD.index = 1 -TRIGGER_ACTION_CFG_TYPE_FIELD.label = 2 -TRIGGER_ACTION_CFG_TYPE_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_TYPE_FIELD.default_value = nil -TRIGGER_ACTION_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ETRIGGERACTION0TYPE -TRIGGER_ACTION_CFG_TYPE_FIELD.type = 14 -TRIGGER_ACTION_CFG_TYPE_FIELD.cpp_type = 8 - -TRIGGER_ACTION_CFG_PARAM1_FIELD.name = "param1" -TRIGGER_ACTION_CFG_PARAM1_FIELD.full_name = ".ftcfg.trigger_action_cfg.param1" -TRIGGER_ACTION_CFG_PARAM1_FIELD.number = 3 -TRIGGER_ACTION_CFG_PARAM1_FIELD.index = 2 -TRIGGER_ACTION_CFG_PARAM1_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM1_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM1_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM1_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM1_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM2_FIELD.name = "param2" -TRIGGER_ACTION_CFG_PARAM2_FIELD.full_name = ".ftcfg.trigger_action_cfg.param2" -TRIGGER_ACTION_CFG_PARAM2_FIELD.number = 4 -TRIGGER_ACTION_CFG_PARAM2_FIELD.index = 3 -TRIGGER_ACTION_CFG_PARAM2_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM2_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM2_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM2_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM2_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM3_FIELD.name = "param3" -TRIGGER_ACTION_CFG_PARAM3_FIELD.full_name = ".ftcfg.trigger_action_cfg.param3" -TRIGGER_ACTION_CFG_PARAM3_FIELD.number = 5 -TRIGGER_ACTION_CFG_PARAM3_FIELD.index = 4 -TRIGGER_ACTION_CFG_PARAM3_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM3_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM3_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM3_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM3_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM4_FIELD.name = "param4" -TRIGGER_ACTION_CFG_PARAM4_FIELD.full_name = ".ftcfg.trigger_action_cfg.param4" -TRIGGER_ACTION_CFG_PARAM4_FIELD.number = 6 -TRIGGER_ACTION_CFG_PARAM4_FIELD.index = 5 -TRIGGER_ACTION_CFG_PARAM4_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM4_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM4_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM4_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM4_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM5_FIELD.name = "param5" -TRIGGER_ACTION_CFG_PARAM5_FIELD.full_name = ".ftcfg.trigger_action_cfg.param5" -TRIGGER_ACTION_CFG_PARAM5_FIELD.number = 7 -TRIGGER_ACTION_CFG_PARAM5_FIELD.index = 6 -TRIGGER_ACTION_CFG_PARAM5_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM5_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM5_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM5_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM5_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM6_FIELD.name = "param6" -TRIGGER_ACTION_CFG_PARAM6_FIELD.full_name = ".ftcfg.trigger_action_cfg.param6" -TRIGGER_ACTION_CFG_PARAM6_FIELD.number = 8 -TRIGGER_ACTION_CFG_PARAM6_FIELD.index = 7 -TRIGGER_ACTION_CFG_PARAM6_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM6_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM6_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM6_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM6_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM7_FIELD.name = "param7" -TRIGGER_ACTION_CFG_PARAM7_FIELD.full_name = ".ftcfg.trigger_action_cfg.param7" -TRIGGER_ACTION_CFG_PARAM7_FIELD.number = 9 -TRIGGER_ACTION_CFG_PARAM7_FIELD.index = 8 -TRIGGER_ACTION_CFG_PARAM7_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM7_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM7_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM7_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM7_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM8_FIELD.name = "param8" -TRIGGER_ACTION_CFG_PARAM8_FIELD.full_name = ".ftcfg.trigger_action_cfg.param8" -TRIGGER_ACTION_CFG_PARAM8_FIELD.number = 10 -TRIGGER_ACTION_CFG_PARAM8_FIELD.index = 9 -TRIGGER_ACTION_CFG_PARAM8_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM8_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM8_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM8_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM8_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM9_FIELD.name = "param9" -TRIGGER_ACTION_CFG_PARAM9_FIELD.full_name = ".ftcfg.trigger_action_cfg.param9" -TRIGGER_ACTION_CFG_PARAM9_FIELD.number = 11 -TRIGGER_ACTION_CFG_PARAM9_FIELD.index = 10 -TRIGGER_ACTION_CFG_PARAM9_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM9_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM9_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM9_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM9_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG_PARAM10_FIELD.name = "param10" -TRIGGER_ACTION_CFG_PARAM10_FIELD.full_name = ".ftcfg.trigger_action_cfg.param10" -TRIGGER_ACTION_CFG_PARAM10_FIELD.number = 12 -TRIGGER_ACTION_CFG_PARAM10_FIELD.index = 11 -TRIGGER_ACTION_CFG_PARAM10_FIELD.label = 2 -TRIGGER_ACTION_CFG_PARAM10_FIELD.has_default_value = false -TRIGGER_ACTION_CFG_PARAM10_FIELD.default_value = "" -TRIGGER_ACTION_CFG_PARAM10_FIELD.type = 9 -TRIGGER_ACTION_CFG_PARAM10_FIELD.cpp_type = 9 - -TRIGGER_ACTION_CFG.name = "trigger_action_cfg" -TRIGGER_ACTION_CFG.full_name = ".ftcfg.trigger_action_cfg" -TRIGGER_ACTION_CFG.nested_types = {} -TRIGGER_ACTION_CFG.enum_types = {} -TRIGGER_ACTION_CFG.fields = {TRIGGER_ACTION_CFG_ACTION_ID_FIELD, TRIGGER_ACTION_CFG_TYPE_FIELD, TRIGGER_ACTION_CFG_PARAM1_FIELD, TRIGGER_ACTION_CFG_PARAM2_FIELD, TRIGGER_ACTION_CFG_PARAM3_FIELD, TRIGGER_ACTION_CFG_PARAM4_FIELD, TRIGGER_ACTION_CFG_PARAM5_FIELD, TRIGGER_ACTION_CFG_PARAM6_FIELD, TRIGGER_ACTION_CFG_PARAM7_FIELD, TRIGGER_ACTION_CFG_PARAM8_FIELD, TRIGGER_ACTION_CFG_PARAM9_FIELD, TRIGGER_ACTION_CFG_PARAM10_FIELD} -TRIGGER_ACTION_CFG.is_extendable = false -TRIGGER_ACTION_CFG.extensions = {} -TRIGGER_ACTION_CFGS_ITEMS_FIELD.name = "items" -TRIGGER_ACTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trigger_action_cfgs.items" -TRIGGER_ACTION_CFGS_ITEMS_FIELD.number = 1 -TRIGGER_ACTION_CFGS_ITEMS_FIELD.index = 0 -TRIGGER_ACTION_CFGS_ITEMS_FIELD.label = 3 -TRIGGER_ACTION_CFGS_ITEMS_FIELD.has_default_value = false -TRIGGER_ACTION_CFGS_ITEMS_FIELD.default_value = {} -TRIGGER_ACTION_CFGS_ITEMS_FIELD.message_type = TRIGGER_ACTION_CFG -TRIGGER_ACTION_CFGS_ITEMS_FIELD.type = 11 -TRIGGER_ACTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRIGGER_ACTION_CFGS.name = "trigger_action_cfgs" -TRIGGER_ACTION_CFGS.full_name = ".ftcfg.trigger_action_cfgs" -TRIGGER_ACTION_CFGS.nested_types = {} -TRIGGER_ACTION_CFGS.enum_types = {} -TRIGGER_ACTION_CFGS.fields = {TRIGGER_ACTION_CFGS_ITEMS_FIELD} -TRIGGER_ACTION_CFGS.is_extendable = false -TRIGGER_ACTION_CFGS.extensions = {} -TRIGGER_VARIABLE_CFG_NAME_FIELD.name = "name" -TRIGGER_VARIABLE_CFG_NAME_FIELD.full_name = ".ftcfg.trigger_variable_cfg.name" -TRIGGER_VARIABLE_CFG_NAME_FIELD.number = 1 -TRIGGER_VARIABLE_CFG_NAME_FIELD.index = 0 -TRIGGER_VARIABLE_CFG_NAME_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_NAME_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_NAME_FIELD.default_value = "" -TRIGGER_VARIABLE_CFG_NAME_FIELD.type = 9 -TRIGGER_VARIABLE_CFG_NAME_FIELD.cpp_type = 9 - -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.name = "map_id" -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.full_name = ".ftcfg.trigger_variable_cfg.map_id" -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.number = 2 -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.index = 1 -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.default_value = 0 -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.type = 5 -TRIGGER_VARIABLE_CFG_MAP_ID_FIELD.cpp_type = 1 - -TRIGGER_VARIABLE_CFG_TYPE_FIELD.name = "type" -TRIGGER_VARIABLE_CFG_TYPE_FIELD.full_name = ".ftcfg.trigger_variable_cfg.type" -TRIGGER_VARIABLE_CFG_TYPE_FIELD.number = 3 -TRIGGER_VARIABLE_CFG_TYPE_FIELD.index = 2 -TRIGGER_VARIABLE_CFG_TYPE_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_TYPE_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_TYPE_FIELD.default_value = nil -TRIGGER_VARIABLE_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ETRIGGERVARIABLETYPE -TRIGGER_VARIABLE_CFG_TYPE_FIELD.type = 14 -TRIGGER_VARIABLE_CFG_TYPE_FIELD.cpp_type = 8 - -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.name = "is_vec" -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.full_name = ".ftcfg.trigger_variable_cfg.is_vec" -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.number = 4 -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.index = 3 -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.default_value = 0 -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.type = 13 -TRIGGER_VARIABLE_CFG_IS_VEC_FIELD.cpp_type = 3 - -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.name = "vec_size" -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.full_name = ".ftcfg.trigger_variable_cfg.vec_size" -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.number = 5 -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.index = 4 -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.default_value = 0 -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.type = 13 -TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD.cpp_type = 3 - -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.name = "param1" -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.full_name = ".ftcfg.trigger_variable_cfg.param1" -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.number = 6 -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.index = 5 -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.default_value = "" -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.type = 9 -TRIGGER_VARIABLE_CFG_PARAM1_FIELD.cpp_type = 9 - -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.name = "param2" -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.full_name = ".ftcfg.trigger_variable_cfg.param2" -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.number = 7 -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.index = 6 -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.default_value = "" -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.type = 9 -TRIGGER_VARIABLE_CFG_PARAM2_FIELD.cpp_type = 9 - -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.name = "param3" -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.full_name = ".ftcfg.trigger_variable_cfg.param3" -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.number = 8 -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.index = 7 -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.default_value = "" -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.type = 9 -TRIGGER_VARIABLE_CFG_PARAM3_FIELD.cpp_type = 9 - -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.name = "param4" -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.full_name = ".ftcfg.trigger_variable_cfg.param4" -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.number = 9 -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.index = 8 -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.default_value = "" -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.type = 9 -TRIGGER_VARIABLE_CFG_PARAM4_FIELD.cpp_type = 9 - -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.name = "param5" -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.full_name = ".ftcfg.trigger_variable_cfg.param5" -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.number = 10 -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.index = 9 -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.label = 2 -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.default_value = "" -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.type = 9 -TRIGGER_VARIABLE_CFG_PARAM5_FIELD.cpp_type = 9 - -TRIGGER_VARIABLE_CFG.name = "trigger_variable_cfg" -TRIGGER_VARIABLE_CFG.full_name = ".ftcfg.trigger_variable_cfg" -TRIGGER_VARIABLE_CFG.nested_types = {} -TRIGGER_VARIABLE_CFG.enum_types = {} -TRIGGER_VARIABLE_CFG.fields = {TRIGGER_VARIABLE_CFG_NAME_FIELD, TRIGGER_VARIABLE_CFG_MAP_ID_FIELD, TRIGGER_VARIABLE_CFG_TYPE_FIELD, TRIGGER_VARIABLE_CFG_IS_VEC_FIELD, TRIGGER_VARIABLE_CFG_VEC_SIZE_FIELD, TRIGGER_VARIABLE_CFG_PARAM1_FIELD, TRIGGER_VARIABLE_CFG_PARAM2_FIELD, TRIGGER_VARIABLE_CFG_PARAM3_FIELD, TRIGGER_VARIABLE_CFG_PARAM4_FIELD, TRIGGER_VARIABLE_CFG_PARAM5_FIELD} -TRIGGER_VARIABLE_CFG.is_extendable = false -TRIGGER_VARIABLE_CFG.extensions = {} -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.name = "items" -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.trigger_variable_cfgs.items" -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.number = 1 -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.index = 0 -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.label = 3 -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.has_default_value = false -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.default_value = {} -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.message_type = TRIGGER_VARIABLE_CFG -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.type = 11 -TRIGGER_VARIABLE_CFGS_ITEMS_FIELD.cpp_type = 10 - -TRIGGER_VARIABLE_CFGS.name = "trigger_variable_cfgs" -TRIGGER_VARIABLE_CFGS.full_name = ".ftcfg.trigger_variable_cfgs" -TRIGGER_VARIABLE_CFGS.nested_types = {} -TRIGGER_VARIABLE_CFGS.enum_types = {} -TRIGGER_VARIABLE_CFGS.fields = {TRIGGER_VARIABLE_CFGS_ITEMS_FIELD} -TRIGGER_VARIABLE_CFGS.is_extendable = false -TRIGGER_VARIABLE_CFGS.extensions = {} -SCENE_DOOR_CFG_ID_FIELD.name = "id" -SCENE_DOOR_CFG_ID_FIELD.full_name = ".ftcfg.scene_door_cfg.id" -SCENE_DOOR_CFG_ID_FIELD.number = 1 -SCENE_DOOR_CFG_ID_FIELD.index = 0 -SCENE_DOOR_CFG_ID_FIELD.label = 2 -SCENE_DOOR_CFG_ID_FIELD.has_default_value = false -SCENE_DOOR_CFG_ID_FIELD.default_value = 0 -SCENE_DOOR_CFG_ID_FIELD.type = 5 -SCENE_DOOR_CFG_ID_FIELD.cpp_type = 1 - -SCENE_DOOR_CFG_MAP_ID_FIELD.name = "map_id" -SCENE_DOOR_CFG_MAP_ID_FIELD.full_name = ".ftcfg.scene_door_cfg.map_id" -SCENE_DOOR_CFG_MAP_ID_FIELD.number = 2 -SCENE_DOOR_CFG_MAP_ID_FIELD.index = 1 -SCENE_DOOR_CFG_MAP_ID_FIELD.label = 2 -SCENE_DOOR_CFG_MAP_ID_FIELD.has_default_value = false -SCENE_DOOR_CFG_MAP_ID_FIELD.default_value = 0 -SCENE_DOOR_CFG_MAP_ID_FIELD.type = 5 -SCENE_DOOR_CFG_MAP_ID_FIELD.cpp_type = 1 - -SCENE_DOOR_CFG_POS_X_FIELD.name = "pos_x" -SCENE_DOOR_CFG_POS_X_FIELD.full_name = ".ftcfg.scene_door_cfg.pos_x" -SCENE_DOOR_CFG_POS_X_FIELD.number = 3 -SCENE_DOOR_CFG_POS_X_FIELD.index = 2 -SCENE_DOOR_CFG_POS_X_FIELD.label = 2 -SCENE_DOOR_CFG_POS_X_FIELD.has_default_value = false -SCENE_DOOR_CFG_POS_X_FIELD.default_value = 0.0 -SCENE_DOOR_CFG_POS_X_FIELD.type = 2 -SCENE_DOOR_CFG_POS_X_FIELD.cpp_type = 6 - -SCENE_DOOR_CFG_POS_Y_FIELD.name = "pos_y" -SCENE_DOOR_CFG_POS_Y_FIELD.full_name = ".ftcfg.scene_door_cfg.pos_y" -SCENE_DOOR_CFG_POS_Y_FIELD.number = 4 -SCENE_DOOR_CFG_POS_Y_FIELD.index = 3 -SCENE_DOOR_CFG_POS_Y_FIELD.label = 2 -SCENE_DOOR_CFG_POS_Y_FIELD.has_default_value = false -SCENE_DOOR_CFG_POS_Y_FIELD.default_value = 0.0 -SCENE_DOOR_CFG_POS_Y_FIELD.type = 2 -SCENE_DOOR_CFG_POS_Y_FIELD.cpp_type = 6 - -SCENE_DOOR_CFG_POS_Z_FIELD.name = "pos_z" -SCENE_DOOR_CFG_POS_Z_FIELD.full_name = ".ftcfg.scene_door_cfg.pos_z" -SCENE_DOOR_CFG_POS_Z_FIELD.number = 5 -SCENE_DOOR_CFG_POS_Z_FIELD.index = 4 -SCENE_DOOR_CFG_POS_Z_FIELD.label = 2 -SCENE_DOOR_CFG_POS_Z_FIELD.has_default_value = false -SCENE_DOOR_CFG_POS_Z_FIELD.default_value = 0.0 -SCENE_DOOR_CFG_POS_Z_FIELD.type = 2 -SCENE_DOOR_CFG_POS_Z_FIELD.cpp_type = 6 - -SCENE_DOOR_CFG_WIDTH_FIELD.name = "width" -SCENE_DOOR_CFG_WIDTH_FIELD.full_name = ".ftcfg.scene_door_cfg.width" -SCENE_DOOR_CFG_WIDTH_FIELD.number = 6 -SCENE_DOOR_CFG_WIDTH_FIELD.index = 5 -SCENE_DOOR_CFG_WIDTH_FIELD.label = 2 -SCENE_DOOR_CFG_WIDTH_FIELD.has_default_value = false -SCENE_DOOR_CFG_WIDTH_FIELD.default_value = 0.0 -SCENE_DOOR_CFG_WIDTH_FIELD.type = 2 -SCENE_DOOR_CFG_WIDTH_FIELD.cpp_type = 6 - -SCENE_DOOR_CFG_ORIENTATION_FIELD.name = "orientation" -SCENE_DOOR_CFG_ORIENTATION_FIELD.full_name = ".ftcfg.scene_door_cfg.orientation" -SCENE_DOOR_CFG_ORIENTATION_FIELD.number = 7 -SCENE_DOOR_CFG_ORIENTATION_FIELD.index = 6 -SCENE_DOOR_CFG_ORIENTATION_FIELD.label = 2 -SCENE_DOOR_CFG_ORIENTATION_FIELD.has_default_value = false -SCENE_DOOR_CFG_ORIENTATION_FIELD.default_value = 0.0 -SCENE_DOOR_CFG_ORIENTATION_FIELD.type = 2 -SCENE_DOOR_CFG_ORIENTATION_FIELD.cpp_type = 6 - -SCENE_DOOR_CFG_OPENED_FIELD.name = "opened" -SCENE_DOOR_CFG_OPENED_FIELD.full_name = ".ftcfg.scene_door_cfg.opened" -SCENE_DOOR_CFG_OPENED_FIELD.number = 8 -SCENE_DOOR_CFG_OPENED_FIELD.index = 7 -SCENE_DOOR_CFG_OPENED_FIELD.label = 2 -SCENE_DOOR_CFG_OPENED_FIELD.has_default_value = false -SCENE_DOOR_CFG_OPENED_FIELD.default_value = 0 -SCENE_DOOR_CFG_OPENED_FIELD.type = 5 -SCENE_DOOR_CFG_OPENED_FIELD.cpp_type = 1 - -SCENE_DOOR_CFG_RESID_FIELD.name = "resid" -SCENE_DOOR_CFG_RESID_FIELD.full_name = ".ftcfg.scene_door_cfg.resid" -SCENE_DOOR_CFG_RESID_FIELD.number = 9 -SCENE_DOOR_CFG_RESID_FIELD.index = 8 -SCENE_DOOR_CFG_RESID_FIELD.label = 2 -SCENE_DOOR_CFG_RESID_FIELD.has_default_value = false -SCENE_DOOR_CFG_RESID_FIELD.default_value = 0 -SCENE_DOOR_CFG_RESID_FIELD.type = 5 -SCENE_DOOR_CFG_RESID_FIELD.cpp_type = 1 - -SCENE_DOOR_CFG.name = "scene_door_cfg" -SCENE_DOOR_CFG.full_name = ".ftcfg.scene_door_cfg" -SCENE_DOOR_CFG.nested_types = {} -SCENE_DOOR_CFG.enum_types = {} -SCENE_DOOR_CFG.fields = {SCENE_DOOR_CFG_ID_FIELD, SCENE_DOOR_CFG_MAP_ID_FIELD, SCENE_DOOR_CFG_POS_X_FIELD, SCENE_DOOR_CFG_POS_Y_FIELD, SCENE_DOOR_CFG_POS_Z_FIELD, SCENE_DOOR_CFG_WIDTH_FIELD, SCENE_DOOR_CFG_ORIENTATION_FIELD, SCENE_DOOR_CFG_OPENED_FIELD, SCENE_DOOR_CFG_RESID_FIELD} -SCENE_DOOR_CFG.is_extendable = false -SCENE_DOOR_CFG.extensions = {} -SCENE_DOOR_CFGS_ITEMS_FIELD.name = "items" -SCENE_DOOR_CFGS_ITEMS_FIELD.full_name = ".ftcfg.scene_door_cfgs.items" -SCENE_DOOR_CFGS_ITEMS_FIELD.number = 1 -SCENE_DOOR_CFGS_ITEMS_FIELD.index = 0 -SCENE_DOOR_CFGS_ITEMS_FIELD.label = 3 -SCENE_DOOR_CFGS_ITEMS_FIELD.has_default_value = false -SCENE_DOOR_CFGS_ITEMS_FIELD.default_value = {} -SCENE_DOOR_CFGS_ITEMS_FIELD.message_type = SCENE_DOOR_CFG -SCENE_DOOR_CFGS_ITEMS_FIELD.type = 11 -SCENE_DOOR_CFGS_ITEMS_FIELD.cpp_type = 10 - -SCENE_DOOR_CFGS.name = "scene_door_cfgs" -SCENE_DOOR_CFGS.full_name = ".ftcfg.scene_door_cfgs" -SCENE_DOOR_CFGS.nested_types = {} -SCENE_DOOR_CFGS.enum_types = {} -SCENE_DOOR_CFGS.fields = {SCENE_DOOR_CFGS_ITEMS_FIELD} -SCENE_DOOR_CFGS.is_extendable = false -SCENE_DOOR_CFGS.extensions = {} -REVIVE_SHOW_CFG_ID_FIELD.name = "id" -REVIVE_SHOW_CFG_ID_FIELD.full_name = ".ftcfg.revive_show_cfg.id" -REVIVE_SHOW_CFG_ID_FIELD.number = 1 -REVIVE_SHOW_CFG_ID_FIELD.index = 0 -REVIVE_SHOW_CFG_ID_FIELD.label = 2 -REVIVE_SHOW_CFG_ID_FIELD.has_default_value = false -REVIVE_SHOW_CFG_ID_FIELD.default_value = 0 -REVIVE_SHOW_CFG_ID_FIELD.type = 5 -REVIVE_SHOW_CFG_ID_FIELD.cpp_type = 1 - -REVIVE_SHOW_CFG_INDEX_FIELD.name = "index" -REVIVE_SHOW_CFG_INDEX_FIELD.full_name = ".ftcfg.revive_show_cfg.index" -REVIVE_SHOW_CFG_INDEX_FIELD.number = 2 -REVIVE_SHOW_CFG_INDEX_FIELD.index = 1 -REVIVE_SHOW_CFG_INDEX_FIELD.label = 2 -REVIVE_SHOW_CFG_INDEX_FIELD.has_default_value = false -REVIVE_SHOW_CFG_INDEX_FIELD.default_value = 0 -REVIVE_SHOW_CFG_INDEX_FIELD.type = 5 -REVIVE_SHOW_CFG_INDEX_FIELD.cpp_type = 1 - -REVIVE_SHOW_CFG_NAME_FIELD.name = "name" -REVIVE_SHOW_CFG_NAME_FIELD.full_name = ".ftcfg.revive_show_cfg.name" -REVIVE_SHOW_CFG_NAME_FIELD.number = 3 -REVIVE_SHOW_CFG_NAME_FIELD.index = 2 -REVIVE_SHOW_CFG_NAME_FIELD.label = 2 -REVIVE_SHOW_CFG_NAME_FIELD.has_default_value = false -REVIVE_SHOW_CFG_NAME_FIELD.default_value = 0 -REVIVE_SHOW_CFG_NAME_FIELD.type = 5 -REVIVE_SHOW_CFG_NAME_FIELD.cpp_type = 1 - -REVIVE_SHOW_CFG.name = "revive_show_cfg" -REVIVE_SHOW_CFG.full_name = ".ftcfg.revive_show_cfg" -REVIVE_SHOW_CFG.nested_types = {} -REVIVE_SHOW_CFG.enum_types = {} -REVIVE_SHOW_CFG.fields = {REVIVE_SHOW_CFG_ID_FIELD, REVIVE_SHOW_CFG_INDEX_FIELD, REVIVE_SHOW_CFG_NAME_FIELD} -REVIVE_SHOW_CFG.is_extendable = false -REVIVE_SHOW_CFG.extensions = {} -REVIVE_SHOW_CFGS_ITEMS_FIELD.name = "items" -REVIVE_SHOW_CFGS_ITEMS_FIELD.full_name = ".ftcfg.revive_show_cfgs.items" -REVIVE_SHOW_CFGS_ITEMS_FIELD.number = 1 -REVIVE_SHOW_CFGS_ITEMS_FIELD.index = 0 -REVIVE_SHOW_CFGS_ITEMS_FIELD.label = 3 -REVIVE_SHOW_CFGS_ITEMS_FIELD.has_default_value = false -REVIVE_SHOW_CFGS_ITEMS_FIELD.default_value = {} -REVIVE_SHOW_CFGS_ITEMS_FIELD.message_type = REVIVE_SHOW_CFG -REVIVE_SHOW_CFGS_ITEMS_FIELD.type = 11 -REVIVE_SHOW_CFGS_ITEMS_FIELD.cpp_type = 10 - -REVIVE_SHOW_CFGS.name = "revive_show_cfgs" -REVIVE_SHOW_CFGS.full_name = ".ftcfg.revive_show_cfgs" -REVIVE_SHOW_CFGS.nested_types = {} -REVIVE_SHOW_CFGS.enum_types = {} -REVIVE_SHOW_CFGS.fields = {REVIVE_SHOW_CFGS_ITEMS_FIELD} -REVIVE_SHOW_CFGS.is_extendable = false -REVIVE_SHOW_CFGS.extensions = {} -FASHION_APPRECIATION_CFG_LEVEL_FIELD.name = "level" -FASHION_APPRECIATION_CFG_LEVEL_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.level" -FASHION_APPRECIATION_CFG_LEVEL_FIELD.number = 1 -FASHION_APPRECIATION_CFG_LEVEL_FIELD.index = 0 -FASHION_APPRECIATION_CFG_LEVEL_FIELD.label = 2 -FASHION_APPRECIATION_CFG_LEVEL_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_LEVEL_FIELD.default_value = 0 -FASHION_APPRECIATION_CFG_LEVEL_FIELD.type = 13 -FASHION_APPRECIATION_CFG_LEVEL_FIELD.cpp_type = 3 - -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.name = "next_level" -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.next_level" -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.number = 2 -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.index = 1 -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.label = 2 -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.default_value = 0 -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.type = 13 -FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD.cpp_type = 3 - -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.name = "need_point" -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.need_point" -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.number = 3 -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.index = 2 -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.label = 2 -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.default_value = 0 -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.type = 13 -FASHION_APPRECIATION_CFG_NEED_POINT_FIELD.cpp_type = 3 - -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.name = "cost_item_id" -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.cost_item_id" -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.number = 4 -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.index = 3 -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.label = 3 -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.default_value = {} -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.type = 5 -FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD.cpp_type = 1 - -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.name = "cost_item_count" -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.cost_item_count" -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.number = 5 -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.index = 4 -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.label = 3 -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.default_value = {} -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.type = 5 -FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD.cpp_type = 1 - -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.name = "cost_coin_type" -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.cost_coin_type" -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.number = 6 -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.index = 5 -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.label = 3 -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.default_value = {} -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.type = 5 -FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD.cpp_type = 1 - -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.name = "cost_coin_count" -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.cost_coin_count" -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.number = 7 -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.index = 6 -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.label = 3 -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.default_value = {} -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.type = 5 -FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD.cpp_type = 1 - -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.name = "reward_attribute_type" -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.reward_attribute_type" -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.number = 8 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.index = 7 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.label = 3 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.default_value = {} -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.type = 5 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD.cpp_type = 1 - -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.name = "reward_attribute_count" -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.reward_attribute_count" -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.number = 9 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.index = 8 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.label = 3 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = {} -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.type = 5 -FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.name = "combat_point" -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.full_name = ".ftcfg.fashion_appreciation_cfg.combat_point" -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.number = 10 -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.index = 9 -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.label = 2 -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.has_default_value = false -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.default_value = 0.0 -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.type = 2 -FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD.cpp_type = 6 - -FASHION_APPRECIATION_CFG.name = "fashion_appreciation_cfg" -FASHION_APPRECIATION_CFG.full_name = ".ftcfg.fashion_appreciation_cfg" -FASHION_APPRECIATION_CFG.nested_types = {} -FASHION_APPRECIATION_CFG.enum_types = {} -FASHION_APPRECIATION_CFG.fields = {FASHION_APPRECIATION_CFG_LEVEL_FIELD, FASHION_APPRECIATION_CFG_NEXT_LEVEL_FIELD, FASHION_APPRECIATION_CFG_NEED_POINT_FIELD, FASHION_APPRECIATION_CFG_COST_ITEM_ID_FIELD, FASHION_APPRECIATION_CFG_COST_ITEM_COUNT_FIELD, FASHION_APPRECIATION_CFG_COST_COIN_TYPE_FIELD, FASHION_APPRECIATION_CFG_COST_COIN_COUNT_FIELD, FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_TYPE_FIELD, FASHION_APPRECIATION_CFG_REWARD_ATTRIBUTE_COUNT_FIELD, FASHION_APPRECIATION_CFG_COMBAT_POINT_FIELD} -FASHION_APPRECIATION_CFG.is_extendable = false -FASHION_APPRECIATION_CFG.extensions = {} -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.name = "items" -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fashion_appreciation_cfgs.items" -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.number = 1 -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.index = 0 -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.label = 3 -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.has_default_value = false -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.default_value = {} -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.message_type = FASHION_APPRECIATION_CFG -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.type = 11 -FASHION_APPRECIATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -FASHION_APPRECIATION_CFGS.name = "fashion_appreciation_cfgs" -FASHION_APPRECIATION_CFGS.full_name = ".ftcfg.fashion_appreciation_cfgs" -FASHION_APPRECIATION_CFGS.nested_types = {} -FASHION_APPRECIATION_CFGS.enum_types = {} -FASHION_APPRECIATION_CFGS.fields = {FASHION_APPRECIATION_CFGS_ITEMS_FIELD} -FASHION_APPRECIATION_CFGS.is_extendable = false -FASHION_APPRECIATION_CFGS.extensions = {} -FASHION_CFG_ID_FIELD.name = "id" -FASHION_CFG_ID_FIELD.full_name = ".ftcfg.fashion_cfg.id" -FASHION_CFG_ID_FIELD.number = 1 -FASHION_CFG_ID_FIELD.index = 0 -FASHION_CFG_ID_FIELD.label = 2 -FASHION_CFG_ID_FIELD.has_default_value = false -FASHION_CFG_ID_FIELD.default_value = 0 -FASHION_CFG_ID_FIELD.type = 5 -FASHION_CFG_ID_FIELD.cpp_type = 1 - -FASHION_CFG_ID_GROUP_FIELD.name = "id_group" -FASHION_CFG_ID_GROUP_FIELD.full_name = ".ftcfg.fashion_cfg.id_group" -FASHION_CFG_ID_GROUP_FIELD.number = 2 -FASHION_CFG_ID_GROUP_FIELD.index = 1 -FASHION_CFG_ID_GROUP_FIELD.label = 2 -FASHION_CFG_ID_GROUP_FIELD.has_default_value = false -FASHION_CFG_ID_GROUP_FIELD.default_value = 0 -FASHION_CFG_ID_GROUP_FIELD.type = 13 -FASHION_CFG_ID_GROUP_FIELD.cpp_type = 3 - -FASHION_CFG_FASHION_COST_FIELD.name = "fashion_cost" -FASHION_CFG_FASHION_COST_FIELD.full_name = ".ftcfg.fashion_cfg.fashion_cost" -FASHION_CFG_FASHION_COST_FIELD.number = 3 -FASHION_CFG_FASHION_COST_FIELD.index = 2 -FASHION_CFG_FASHION_COST_FIELD.label = 3 -FASHION_CFG_FASHION_COST_FIELD.has_default_value = false -FASHION_CFG_FASHION_COST_FIELD.default_value = {} -FASHION_CFG_FASHION_COST_FIELD.type = 13 -FASHION_CFG_FASHION_COST_FIELD.cpp_type = 3 - -FASHION_CFG_FASHION_TYPE_FIELD.name = "fashion_type" -FASHION_CFG_FASHION_TYPE_FIELD.full_name = ".ftcfg.fashion_cfg.fashion_type" -FASHION_CFG_FASHION_TYPE_FIELD.number = 4 -FASHION_CFG_FASHION_TYPE_FIELD.index = 3 -FASHION_CFG_FASHION_TYPE_FIELD.label = 2 -FASHION_CFG_FASHION_TYPE_FIELD.has_default_value = false -FASHION_CFG_FASHION_TYPE_FIELD.default_value = 0 -FASHION_CFG_FASHION_TYPE_FIELD.type = 13 -FASHION_CFG_FASHION_TYPE_FIELD.cpp_type = 3 - -FASHION_CFG_VOCATION_LIMIT_FIELD.name = "vocation_limit" -FASHION_CFG_VOCATION_LIMIT_FIELD.full_name = ".ftcfg.fashion_cfg.vocation_limit" -FASHION_CFG_VOCATION_LIMIT_FIELD.number = 5 -FASHION_CFG_VOCATION_LIMIT_FIELD.index = 4 -FASHION_CFG_VOCATION_LIMIT_FIELD.label = 2 -FASHION_CFG_VOCATION_LIMIT_FIELD.has_default_value = false -FASHION_CFG_VOCATION_LIMIT_FIELD.default_value = 0 -FASHION_CFG_VOCATION_LIMIT_FIELD.type = 5 -FASHION_CFG_VOCATION_LIMIT_FIELD.cpp_type = 1 - -FASHION_CFG_FASHION_NAME_FIELD.name = "fashion_name" -FASHION_CFG_FASHION_NAME_FIELD.full_name = ".ftcfg.fashion_cfg.fashion_name" -FASHION_CFG_FASHION_NAME_FIELD.number = 6 -FASHION_CFG_FASHION_NAME_FIELD.index = 5 -FASHION_CFG_FASHION_NAME_FIELD.label = 2 -FASHION_CFG_FASHION_NAME_FIELD.has_default_value = false -FASHION_CFG_FASHION_NAME_FIELD.default_value = 0 -FASHION_CFG_FASHION_NAME_FIELD.type = 5 -FASHION_CFG_FASHION_NAME_FIELD.cpp_type = 1 - -FASHION_CFG_FASHION_ICON_FIELD.name = "fashion_icon" -FASHION_CFG_FASHION_ICON_FIELD.full_name = ".ftcfg.fashion_cfg.fashion_icon" -FASHION_CFG_FASHION_ICON_FIELD.number = 7 -FASHION_CFG_FASHION_ICON_FIELD.index = 6 -FASHION_CFG_FASHION_ICON_FIELD.label = 2 -FASHION_CFG_FASHION_ICON_FIELD.has_default_value = false -FASHION_CFG_FASHION_ICON_FIELD.default_value = 0 -FASHION_CFG_FASHION_ICON_FIELD.type = 5 -FASHION_CFG_FASHION_ICON_FIELD.cpp_type = 1 - -FASHION_CFG_FASHION_PARTS_FIELD.name = "fashion_parts" -FASHION_CFG_FASHION_PARTS_FIELD.full_name = ".ftcfg.fashion_cfg.fashion_parts" -FASHION_CFG_FASHION_PARTS_FIELD.number = 8 -FASHION_CFG_FASHION_PARTS_FIELD.index = 7 -FASHION_CFG_FASHION_PARTS_FIELD.label = 3 -FASHION_CFG_FASHION_PARTS_FIELD.has_default_value = false -FASHION_CFG_FASHION_PARTS_FIELD.default_value = {} -FASHION_CFG_FASHION_PARTS_FIELD.type = 5 -FASHION_CFG_FASHION_PARTS_FIELD.cpp_type = 1 - -FASHION_CFG_FASHION_COLOUR_FIELD.name = "fashion_colour" -FASHION_CFG_FASHION_COLOUR_FIELD.full_name = ".ftcfg.fashion_cfg.fashion_colour" -FASHION_CFG_FASHION_COLOUR_FIELD.number = 9 -FASHION_CFG_FASHION_COLOUR_FIELD.index = 8 -FASHION_CFG_FASHION_COLOUR_FIELD.label = 2 -FASHION_CFG_FASHION_COLOUR_FIELD.has_default_value = false -FASHION_CFG_FASHION_COLOUR_FIELD.default_value = 0 -FASHION_CFG_FASHION_COLOUR_FIELD.type = 5 -FASHION_CFG_FASHION_COLOUR_FIELD.cpp_type = 1 - -FASHION_CFG_FASHION_TIPS_FIELD.name = "fashion_tips" -FASHION_CFG_FASHION_TIPS_FIELD.full_name = ".ftcfg.fashion_cfg.fashion_tips" -FASHION_CFG_FASHION_TIPS_FIELD.number = 10 -FASHION_CFG_FASHION_TIPS_FIELD.index = 9 -FASHION_CFG_FASHION_TIPS_FIELD.label = 2 -FASHION_CFG_FASHION_TIPS_FIELD.has_default_value = false -FASHION_CFG_FASHION_TIPS_FIELD.default_value = 0 -FASHION_CFG_FASHION_TIPS_FIELD.type = 5 -FASHION_CFG_FASHION_TIPS_FIELD.cpp_type = 1 - -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.name = "attribute_type" -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.full_name = ".ftcfg.fashion_cfg.attribute_type" -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.number = 11 -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.index = 10 -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.label = 3 -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.has_default_value = false -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.default_value = {} -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.type = 5 -FASHION_CFG_ATTRIBUTE_TYPE_FIELD.cpp_type = 1 - -FASHION_CFG_ATTRIBUTE_MODE_FIELD.name = "attribute_mode" -FASHION_CFG_ATTRIBUTE_MODE_FIELD.full_name = ".ftcfg.fashion_cfg.attribute_mode" -FASHION_CFG_ATTRIBUTE_MODE_FIELD.number = 12 -FASHION_CFG_ATTRIBUTE_MODE_FIELD.index = 11 -FASHION_CFG_ATTRIBUTE_MODE_FIELD.label = 3 -FASHION_CFG_ATTRIBUTE_MODE_FIELD.has_default_value = false -FASHION_CFG_ATTRIBUTE_MODE_FIELD.default_value = {} -FASHION_CFG_ATTRIBUTE_MODE_FIELD.type = 5 -FASHION_CFG_ATTRIBUTE_MODE_FIELD.cpp_type = 1 - -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.name = "attribute_count" -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.fashion_cfg.attribute_count" -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.number = 13 -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.index = 12 -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.label = 3 -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.has_default_value = false -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.default_value = {} -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.type = 2 -FASHION_CFG_ATTRIBUTE_COUNT_FIELD.cpp_type = 6 - -FASHION_CFG.name = "fashion_cfg" -FASHION_CFG.full_name = ".ftcfg.fashion_cfg" -FASHION_CFG.nested_types = {} -FASHION_CFG.enum_types = {} -FASHION_CFG.fields = {FASHION_CFG_ID_FIELD, FASHION_CFG_ID_GROUP_FIELD, FASHION_CFG_FASHION_COST_FIELD, FASHION_CFG_FASHION_TYPE_FIELD, FASHION_CFG_VOCATION_LIMIT_FIELD, FASHION_CFG_FASHION_NAME_FIELD, FASHION_CFG_FASHION_ICON_FIELD, FASHION_CFG_FASHION_PARTS_FIELD, FASHION_CFG_FASHION_COLOUR_FIELD, FASHION_CFG_FASHION_TIPS_FIELD, FASHION_CFG_ATTRIBUTE_TYPE_FIELD, FASHION_CFG_ATTRIBUTE_MODE_FIELD, FASHION_CFG_ATTRIBUTE_COUNT_FIELD} -FASHION_CFG.is_extendable = false -FASHION_CFG.extensions = {} -FASHION_CFGS_ITEMS_FIELD.name = "items" -FASHION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fashion_cfgs.items" -FASHION_CFGS_ITEMS_FIELD.number = 1 -FASHION_CFGS_ITEMS_FIELD.index = 0 -FASHION_CFGS_ITEMS_FIELD.label = 3 -FASHION_CFGS_ITEMS_FIELD.has_default_value = false -FASHION_CFGS_ITEMS_FIELD.default_value = {} -FASHION_CFGS_ITEMS_FIELD.message_type = FASHION_CFG -FASHION_CFGS_ITEMS_FIELD.type = 11 -FASHION_CFGS_ITEMS_FIELD.cpp_type = 10 - -FASHION_CFGS.name = "fashion_cfgs" -FASHION_CFGS.full_name = ".ftcfg.fashion_cfgs" -FASHION_CFGS.nested_types = {} -FASHION_CFGS.enum_types = {} -FASHION_CFGS.fields = {FASHION_CFGS_ITEMS_FIELD} -FASHION_CFGS.is_extendable = false -FASHION_CFGS.extensions = {} -FASHION_COST_CFG_ID_FIELD.name = "id" -FASHION_COST_CFG_ID_FIELD.full_name = ".ftcfg.fashion_cost_cfg.id" -FASHION_COST_CFG_ID_FIELD.number = 1 -FASHION_COST_CFG_ID_FIELD.index = 0 -FASHION_COST_CFG_ID_FIELD.label = 2 -FASHION_COST_CFG_ID_FIELD.has_default_value = false -FASHION_COST_CFG_ID_FIELD.default_value = 0 -FASHION_COST_CFG_ID_FIELD.type = 13 -FASHION_COST_CFG_ID_FIELD.cpp_type = 3 - -FASHION_COST_CFG_FASHION_TIME_FIELD.name = "fashion_time" -FASHION_COST_CFG_FASHION_TIME_FIELD.full_name = ".ftcfg.fashion_cost_cfg.fashion_time" -FASHION_COST_CFG_FASHION_TIME_FIELD.number = 2 -FASHION_COST_CFG_FASHION_TIME_FIELD.index = 1 -FASHION_COST_CFG_FASHION_TIME_FIELD.label = 2 -FASHION_COST_CFG_FASHION_TIME_FIELD.has_default_value = false -FASHION_COST_CFG_FASHION_TIME_FIELD.default_value = 0 -FASHION_COST_CFG_FASHION_TIME_FIELD.type = 5 -FASHION_COST_CFG_FASHION_TIME_FIELD.cpp_type = 1 - -FASHION_COST_CFG_FASHION_POINT_FIELD.name = "fashion_point" -FASHION_COST_CFG_FASHION_POINT_FIELD.full_name = ".ftcfg.fashion_cost_cfg.fashion_point" -FASHION_COST_CFG_FASHION_POINT_FIELD.number = 3 -FASHION_COST_CFG_FASHION_POINT_FIELD.index = 2 -FASHION_COST_CFG_FASHION_POINT_FIELD.label = 2 -FASHION_COST_CFG_FASHION_POINT_FIELD.has_default_value = false -FASHION_COST_CFG_FASHION_POINT_FIELD.default_value = 0 -FASHION_COST_CFG_FASHION_POINT_FIELD.type = 13 -FASHION_COST_CFG_FASHION_POINT_FIELD.cpp_type = 3 - -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.name = "unlock_level" -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_level" -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.number = 4 -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.index = 3 -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.label = 2 -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.default_value = 0 -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_LEVEL_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.name = "unlock_frontid" -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_frontid" -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.number = 5 -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.index = 4 -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.label = 3 -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.default_value = {} -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_FRONTID_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.name = "unlock_itemid" -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_itemid" -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.number = 6 -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.index = 5 -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.label = 3 -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.default_value = {} -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_ITEMID_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.name = "unlock_itemcount" -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_itemcount" -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.number = 7 -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.index = 6 -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.label = 3 -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.default_value = {} -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.name = "unlock_cointype" -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_cointype" -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.number = 8 -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.index = 7 -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.label = 3 -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.default_value = {} -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.name = "unlock_coincount" -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_coincount" -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.number = 9 -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.index = 8 -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.label = 3 -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.default_value = {} -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.name = "unlock_allintensify" -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_allintensify" -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.number = 10 -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.index = 9 -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.label = 2 -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.default_value = 0 -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.name = "unlock_specifyintensify" -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_specifyintensify" -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.number = 11 -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.index = 10 -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.label = 3 -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.default_value = {} -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.name = "unlock_gemstonelv" -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_gemstonelv" -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.number = 12 -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.index = 11 -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.label = 2 -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.default_value = 0 -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.name = "unlock_quality" -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_quality" -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.number = 13 -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.index = 12 -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.label = 3 -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.default_value = {} -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_QUALITY_FIELD.cpp_type = 1 - -FASHION_COST_CFG_UNLOCK_POWER_FIELD.name = "unlock_power" -FASHION_COST_CFG_UNLOCK_POWER_FIELD.full_name = ".ftcfg.fashion_cost_cfg.unlock_power" -FASHION_COST_CFG_UNLOCK_POWER_FIELD.number = 14 -FASHION_COST_CFG_UNLOCK_POWER_FIELD.index = 13 -FASHION_COST_CFG_UNLOCK_POWER_FIELD.label = 2 -FASHION_COST_CFG_UNLOCK_POWER_FIELD.has_default_value = false -FASHION_COST_CFG_UNLOCK_POWER_FIELD.default_value = 0 -FASHION_COST_CFG_UNLOCK_POWER_FIELD.type = 5 -FASHION_COST_CFG_UNLOCK_POWER_FIELD.cpp_type = 1 - -FASHION_COST_CFG.name = "fashion_cost_cfg" -FASHION_COST_CFG.full_name = ".ftcfg.fashion_cost_cfg" -FASHION_COST_CFG.nested_types = {} -FASHION_COST_CFG.enum_types = {} -FASHION_COST_CFG.fields = {FASHION_COST_CFG_ID_FIELD, FASHION_COST_CFG_FASHION_TIME_FIELD, FASHION_COST_CFG_FASHION_POINT_FIELD, FASHION_COST_CFG_UNLOCK_LEVEL_FIELD, FASHION_COST_CFG_UNLOCK_FRONTID_FIELD, FASHION_COST_CFG_UNLOCK_ITEMID_FIELD, FASHION_COST_CFG_UNLOCK_ITEMCOUNT_FIELD, FASHION_COST_CFG_UNLOCK_COINTYPE_FIELD, FASHION_COST_CFG_UNLOCK_COINCOUNT_FIELD, FASHION_COST_CFG_UNLOCK_ALLINTENSIFY_FIELD, FASHION_COST_CFG_UNLOCK_SPECIFYINTENSIFY_FIELD, FASHION_COST_CFG_UNLOCK_GEMSTONELV_FIELD, FASHION_COST_CFG_UNLOCK_QUALITY_FIELD, FASHION_COST_CFG_UNLOCK_POWER_FIELD} -FASHION_COST_CFG.is_extendable = false -FASHION_COST_CFG.extensions = {} -FASHION_COST_CFGS_ITEMS_FIELD.name = "items" -FASHION_COST_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fashion_cost_cfgs.items" -FASHION_COST_CFGS_ITEMS_FIELD.number = 1 -FASHION_COST_CFGS_ITEMS_FIELD.index = 0 -FASHION_COST_CFGS_ITEMS_FIELD.label = 3 -FASHION_COST_CFGS_ITEMS_FIELD.has_default_value = false -FASHION_COST_CFGS_ITEMS_FIELD.default_value = {} -FASHION_COST_CFGS_ITEMS_FIELD.message_type = FASHION_COST_CFG -FASHION_COST_CFGS_ITEMS_FIELD.type = 11 -FASHION_COST_CFGS_ITEMS_FIELD.cpp_type = 10 - -FASHION_COST_CFGS.name = "fashion_cost_cfgs" -FASHION_COST_CFGS.full_name = ".ftcfg.fashion_cost_cfgs" -FASHION_COST_CFGS.nested_types = {} -FASHION_COST_CFGS.enum_types = {} -FASHION_COST_CFGS.fields = {FASHION_COST_CFGS_ITEMS_FIELD} -FASHION_COST_CFGS.is_extendable = false -FASHION_COST_CFGS.extensions = {} -MOUNTEQUIP_CFG_ID_FIELD.name = "id" -MOUNTEQUIP_CFG_ID_FIELD.full_name = ".ftcfg.mountequip_cfg.id" -MOUNTEQUIP_CFG_ID_FIELD.number = 1 -MOUNTEQUIP_CFG_ID_FIELD.index = 0 -MOUNTEQUIP_CFG_ID_FIELD.label = 2 -MOUNTEQUIP_CFG_ID_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ID_FIELD.default_value = 0 -MOUNTEQUIP_CFG_ID_FIELD.type = 13 -MOUNTEQUIP_CFG_ID_FIELD.cpp_type = 3 - -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.name = "item_name" -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.full_name = ".ftcfg.mountequip_cfg.item_name" -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.number = 2 -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.index = 1 -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.label = 2 -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.default_value = 0 -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.type = 5 -MOUNTEQUIP_CFG_ITEM_NAME_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.name = "item_desc" -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.full_name = ".ftcfg.mountequip_cfg.item_desc" -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.number = 3 -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.index = 2 -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.label = 2 -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.default_value = 0 -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.type = 5 -MOUNTEQUIP_CFG_ITEM_DESC_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.name = "need_level" -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.full_name = ".ftcfg.mountequip_cfg.need_level" -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.number = 4 -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.index = 3 -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.label = 2 -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.has_default_value = false -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.default_value = 0 -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.type = 5 -MOUNTEQUIP_CFG_NEED_LEVEL_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.name = "equip_place" -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.full_name = ".ftcfg.mountequip_cfg.equip_place" -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.number = 5 -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.index = 4 -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.label = 2 -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.has_default_value = false -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.default_value = 0 -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.type = 5 -MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.name = "display_type" -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.full_name = ".ftcfg.mountequip_cfg.display_type" -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.number = 6 -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.index = 5 -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.label = 2 -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.has_default_value = false -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.default_value = 0 -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.type = 5 -MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.name = "item_color" -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.full_name = ".ftcfg.mountequip_cfg.item_color" -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.number = 7 -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.index = 6 -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.label = 2 -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.default_value = nil -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.enum_type = config_predefine_pb.EITEMCOLOR -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.type = 14 -MOUNTEQUIP_CFG_ITEM_COLOR_FIELD.cpp_type = 8 - -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.name = "item_icon" -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.full_name = ".ftcfg.mountequip_cfg.item_icon" -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.number = 8 -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.index = 7 -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.label = 2 -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.default_value = 0 -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.type = 5 -MOUNTEQUIP_CFG_ITEM_ICON_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.name = "could_trade" -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.full_name = ".ftcfg.mountequip_cfg.could_trade" -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.number = 9 -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.index = 8 -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.label = 2 -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.has_default_value = false -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.default_value = 0 -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.type = 5 -MOUNTEQUIP_CFG_COULD_TRADE_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.name = "effect_timelimited" -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.full_name = ".ftcfg.mountequip_cfg.effect_timelimited" -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.number = 10 -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.index = 9 -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.label = 2 -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.has_default_value = false -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.default_value = 0 -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.type = 5 -MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.name = "attribute_type" -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.full_name = ".ftcfg.mountequip_cfg.attribute_type" -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.number = 11 -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.index = 10 -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.label = 3 -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.default_value = {} -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.type = 5 -MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.name = "attribute_mode" -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.full_name = ".ftcfg.mountequip_cfg.attribute_mode" -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.number = 12 -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.index = 11 -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.label = 3 -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.default_value = {} -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.type = 5 -MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD.cpp_type = 1 - -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.name = "attribute_count" -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.mountequip_cfg.attribute_count" -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.number = 13 -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.index = 12 -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.label = 3 -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.has_default_value = false -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.default_value = {} -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.type = 2 -MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD.cpp_type = 6 - -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.name = "combat_point" -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.full_name = ".ftcfg.mountequip_cfg.combat_point" -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.number = 14 -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.index = 13 -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.label = 2 -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.has_default_value = false -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.default_value = 0 -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.type = 13 -MOUNTEQUIP_CFG_COMBAT_POINT_FIELD.cpp_type = 3 - -MOUNTEQUIP_CFG.name = "mountequip_cfg" -MOUNTEQUIP_CFG.full_name = ".ftcfg.mountequip_cfg" -MOUNTEQUIP_CFG.nested_types = {} -MOUNTEQUIP_CFG.enum_types = {} -MOUNTEQUIP_CFG.fields = {MOUNTEQUIP_CFG_ID_FIELD, MOUNTEQUIP_CFG_ITEM_NAME_FIELD, MOUNTEQUIP_CFG_ITEM_DESC_FIELD, MOUNTEQUIP_CFG_NEED_LEVEL_FIELD, MOUNTEQUIP_CFG_EQUIP_PLACE_FIELD, MOUNTEQUIP_CFG_DISPLAY_TYPE_FIELD, MOUNTEQUIP_CFG_ITEM_COLOR_FIELD, MOUNTEQUIP_CFG_ITEM_ICON_FIELD, MOUNTEQUIP_CFG_COULD_TRADE_FIELD, MOUNTEQUIP_CFG_EFFECT_TIMELIMITED_FIELD, MOUNTEQUIP_CFG_ATTRIBUTE_TYPE_FIELD, MOUNTEQUIP_CFG_ATTRIBUTE_MODE_FIELD, MOUNTEQUIP_CFG_ATTRIBUTE_COUNT_FIELD, MOUNTEQUIP_CFG_COMBAT_POINT_FIELD} -MOUNTEQUIP_CFG.is_extendable = false -MOUNTEQUIP_CFG.extensions = {} -MOUNTEQUIP_CFGS_ITEMS_FIELD.name = "items" -MOUNTEQUIP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.mountequip_cfgs.items" -MOUNTEQUIP_CFGS_ITEMS_FIELD.number = 1 -MOUNTEQUIP_CFGS_ITEMS_FIELD.index = 0 -MOUNTEQUIP_CFGS_ITEMS_FIELD.label = 3 -MOUNTEQUIP_CFGS_ITEMS_FIELD.has_default_value = false -MOUNTEQUIP_CFGS_ITEMS_FIELD.default_value = {} -MOUNTEQUIP_CFGS_ITEMS_FIELD.message_type = MOUNTEQUIP_CFG -MOUNTEQUIP_CFGS_ITEMS_FIELD.type = 11 -MOUNTEQUIP_CFGS_ITEMS_FIELD.cpp_type = 10 - -MOUNTEQUIP_CFGS.name = "mountequip_cfgs" -MOUNTEQUIP_CFGS.full_name = ".ftcfg.mountequip_cfgs" -MOUNTEQUIP_CFGS.nested_types = {} -MOUNTEQUIP_CFGS.enum_types = {} -MOUNTEQUIP_CFGS.fields = {MOUNTEQUIP_CFGS_ITEMS_FIELD} -MOUNTEQUIP_CFGS.is_extendable = false -MOUNTEQUIP_CFGS.extensions = {} -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.name = "id" -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.full_name = ".ftcfg.independent_random_reward_cfg.id" -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.number = 1 -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.index = 0 -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.label = 2 -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.has_default_value = false -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.default_value = 0 -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.type = 5 -INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD.cpp_type = 1 - -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.name = "drop_rate" -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.full_name = ".ftcfg.independent_random_reward_cfg.drop_rate" -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.number = 2 -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.index = 1 -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.label = 3 -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.has_default_value = false -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.default_value = {} -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.type = 5 -INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD.cpp_type = 1 - -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.name = "random_reward_id" -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.full_name = ".ftcfg.independent_random_reward_cfg.random_reward_id" -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.number = 3 -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.index = 2 -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.label = 3 -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.has_default_value = false -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.default_value = {} -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.type = 5 -INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD.cpp_type = 1 - -INDEPENDENT_RANDOM_REWARD_CFG.name = "independent_random_reward_cfg" -INDEPENDENT_RANDOM_REWARD_CFG.full_name = ".ftcfg.independent_random_reward_cfg" -INDEPENDENT_RANDOM_REWARD_CFG.nested_types = {} -INDEPENDENT_RANDOM_REWARD_CFG.enum_types = {} -INDEPENDENT_RANDOM_REWARD_CFG.fields = {INDEPENDENT_RANDOM_REWARD_CFG_ID_FIELD, INDEPENDENT_RANDOM_REWARD_CFG_DROP_RATE_FIELD, INDEPENDENT_RANDOM_REWARD_CFG_RANDOM_REWARD_ID_FIELD} -INDEPENDENT_RANDOM_REWARD_CFG.is_extendable = false -INDEPENDENT_RANDOM_REWARD_CFG.extensions = {} -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.name = "items" -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.independent_random_reward_cfgs.items" -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.number = 1 -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.index = 0 -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.label = 3 -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.has_default_value = false -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.default_value = {} -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.message_type = INDEPENDENT_RANDOM_REWARD_CFG -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.type = 11 -INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -INDEPENDENT_RANDOM_REWARD_CFGS.name = "independent_random_reward_cfgs" -INDEPENDENT_RANDOM_REWARD_CFGS.full_name = ".ftcfg.independent_random_reward_cfgs" -INDEPENDENT_RANDOM_REWARD_CFGS.nested_types = {} -INDEPENDENT_RANDOM_REWARD_CFGS.enum_types = {} -INDEPENDENT_RANDOM_REWARD_CFGS.fields = {INDEPENDENT_RANDOM_REWARD_CFGS_ITEMS_FIELD} -INDEPENDENT_RANDOM_REWARD_CFGS.is_extendable = false -INDEPENDENT_RANDOM_REWARD_CFGS.extensions = {} -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.name = "id" -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.full_name = ".ftcfg.weight_random_reward_cfg.id" -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.number = 1 -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.index = 0 -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.label = 2 -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.default_value = 0 -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.type = 5 -WEIGHT_RANDOM_REWARD_CFG_ID_FIELD.cpp_type = 1 - -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.name = "reward_rate" -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.full_name = ".ftcfg.weight_random_reward_cfg.reward_rate" -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.number = 2 -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.index = 1 -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.label = 3 -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.default_value = {} -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.type = 5 -WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD.cpp_type = 1 - -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.name = "reward_type" -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.full_name = ".ftcfg.weight_random_reward_cfg.reward_type" -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.number = 3 -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.index = 2 -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.label = 3 -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.default_value = {} -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.enum_type = config_predefine_pb.EREWARDTYPE -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.type = 14 -WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD.cpp_type = 8 - -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.name = "reward_id" -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.full_name = ".ftcfg.weight_random_reward_cfg.reward_id" -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.number = 4 -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.index = 3 -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.label = 3 -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.default_value = {} -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.type = 5 -WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD.cpp_type = 1 - -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.name = "random_min" -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.full_name = ".ftcfg.weight_random_reward_cfg.random_min" -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.number = 5 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.index = 4 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.label = 3 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.default_value = {} -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.type = 5 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD.cpp_type = 1 - -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.name = "random_max" -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.full_name = ".ftcfg.weight_random_reward_cfg.random_max" -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.number = 6 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.index = 5 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.label = 3 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.default_value = {} -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.type = 5 -WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD.cpp_type = 1 - -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.name = "show" -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.full_name = ".ftcfg.weight_random_reward_cfg.show" -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.number = 7 -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.index = 6 -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.label = 2 -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.default_value = 0 -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.type = 5 -WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD.cpp_type = 1 - -WEIGHT_RANDOM_REWARD_CFG.name = "weight_random_reward_cfg" -WEIGHT_RANDOM_REWARD_CFG.full_name = ".ftcfg.weight_random_reward_cfg" -WEIGHT_RANDOM_REWARD_CFG.nested_types = {} -WEIGHT_RANDOM_REWARD_CFG.enum_types = {} -WEIGHT_RANDOM_REWARD_CFG.fields = {WEIGHT_RANDOM_REWARD_CFG_ID_FIELD, WEIGHT_RANDOM_REWARD_CFG_REWARD_RATE_FIELD, WEIGHT_RANDOM_REWARD_CFG_REWARD_TYPE_FIELD, WEIGHT_RANDOM_REWARD_CFG_REWARD_ID_FIELD, WEIGHT_RANDOM_REWARD_CFG_RANDOM_MIN_FIELD, WEIGHT_RANDOM_REWARD_CFG_RANDOM_MAX_FIELD, WEIGHT_RANDOM_REWARD_CFG_SHOW_FIELD} -WEIGHT_RANDOM_REWARD_CFG.is_extendable = false -WEIGHT_RANDOM_REWARD_CFG.extensions = {} -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.name = "items" -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.weight_random_reward_cfgs.items" -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.number = 1 -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.index = 0 -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.label = 3 -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.has_default_value = false -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.default_value = {} -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.message_type = WEIGHT_RANDOM_REWARD_CFG -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.type = 11 -WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -WEIGHT_RANDOM_REWARD_CFGS.name = "weight_random_reward_cfgs" -WEIGHT_RANDOM_REWARD_CFGS.full_name = ".ftcfg.weight_random_reward_cfgs" -WEIGHT_RANDOM_REWARD_CFGS.nested_types = {} -WEIGHT_RANDOM_REWARD_CFGS.enum_types = {} -WEIGHT_RANDOM_REWARD_CFGS.fields = {WEIGHT_RANDOM_REWARD_CFGS_ITEMS_FIELD} -WEIGHT_RANDOM_REWARD_CFGS.is_extendable = false -WEIGHT_RANDOM_REWARD_CFGS.extensions = {} -REWARD_CFG_ID_FIELD.name = "id" -REWARD_CFG_ID_FIELD.full_name = ".ftcfg.reward_cfg.id" -REWARD_CFG_ID_FIELD.number = 1 -REWARD_CFG_ID_FIELD.index = 0 -REWARD_CFG_ID_FIELD.label = 2 -REWARD_CFG_ID_FIELD.has_default_value = false -REWARD_CFG_ID_FIELD.default_value = 0 -REWARD_CFG_ID_FIELD.type = 5 -REWARD_CFG_ID_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.name = "reward_attribute_id" -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.full_name = ".ftcfg.reward_cfg.reward_attribute_id" -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.number = 2 -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.index = 1 -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.label = 3 -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.has_default_value = false -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.default_value = {} -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.type = 5 -REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.name = "reward_attribute_count" -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.reward_attribute_count" -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.number = 3 -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.index = 2 -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.label = 3 -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = {} -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.type = 5 -REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_ITEM_ID_FIELD.name = "reward_item_id" -REWARD_CFG_REWARD_ITEM_ID_FIELD.full_name = ".ftcfg.reward_cfg.reward_item_id" -REWARD_CFG_REWARD_ITEM_ID_FIELD.number = 4 -REWARD_CFG_REWARD_ITEM_ID_FIELD.index = 3 -REWARD_CFG_REWARD_ITEM_ID_FIELD.label = 3 -REWARD_CFG_REWARD_ITEM_ID_FIELD.has_default_value = false -REWARD_CFG_REWARD_ITEM_ID_FIELD.default_value = {} -REWARD_CFG_REWARD_ITEM_ID_FIELD.type = 5 -REWARD_CFG_REWARD_ITEM_ID_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.name = "reward_item_count" -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.reward_item_count" -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.number = 5 -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.index = 4 -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.label = 3 -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.has_default_value = false -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.default_value = {} -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.type = 5 -REWARD_CFG_REWARD_ITEM_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.name = "reward_magic_rock_id" -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.full_name = ".ftcfg.reward_cfg.reward_magic_rock_id" -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.number = 6 -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.index = 5 -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.label = 3 -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.has_default_value = false -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.default_value = {} -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.type = 5 -REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.name = "reward_magic_rock_count" -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.reward_magic_rock_count" -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.number = 7 -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.index = 6 -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.label = 3 -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.has_default_value = false -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.default_value = {} -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.type = 5 -REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.name = "reward_refine_rock_id" -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.full_name = ".ftcfg.reward_cfg.reward_refine_rock_id" -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.number = 8 -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.index = 7 -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.label = 3 -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.has_default_value = false -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.default_value = {} -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.type = 5 -REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.name = "reward_refine_rock_count" -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.reward_refine_rock_count" -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.number = 9 -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.index = 8 -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.label = 3 -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.has_default_value = false -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.default_value = {} -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.type = 5 -REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_SOUL_ID_FIELD.name = "reward_soul_id" -REWARD_CFG_REWARD_SOUL_ID_FIELD.full_name = ".ftcfg.reward_cfg.reward_soul_id" -REWARD_CFG_REWARD_SOUL_ID_FIELD.number = 10 -REWARD_CFG_REWARD_SOUL_ID_FIELD.index = 9 -REWARD_CFG_REWARD_SOUL_ID_FIELD.label = 3 -REWARD_CFG_REWARD_SOUL_ID_FIELD.has_default_value = false -REWARD_CFG_REWARD_SOUL_ID_FIELD.default_value = {} -REWARD_CFG_REWARD_SOUL_ID_FIELD.type = 5 -REWARD_CFG_REWARD_SOUL_ID_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.name = "reward_soul_count" -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.reward_soul_count" -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.number = 11 -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.index = 10 -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.label = 3 -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.has_default_value = false -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.default_value = {} -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.type = 5 -REWARD_CFG_REWARD_SOUL_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_PARTNER_ID_FIELD.name = "reward_partner_id" -REWARD_CFG_REWARD_PARTNER_ID_FIELD.full_name = ".ftcfg.reward_cfg.reward_partner_id" -REWARD_CFG_REWARD_PARTNER_ID_FIELD.number = 12 -REWARD_CFG_REWARD_PARTNER_ID_FIELD.index = 11 -REWARD_CFG_REWARD_PARTNER_ID_FIELD.label = 3 -REWARD_CFG_REWARD_PARTNER_ID_FIELD.has_default_value = false -REWARD_CFG_REWARD_PARTNER_ID_FIELD.default_value = {} -REWARD_CFG_REWARD_PARTNER_ID_FIELD.type = 5 -REWARD_CFG_REWARD_PARTNER_ID_FIELD.cpp_type = 1 - -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.name = "reward_partner_count" -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.reward_partner_count" -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.number = 13 -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.index = 12 -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.label = 3 -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.has_default_value = false -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.default_value = {} -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.type = 5 -REWARD_CFG_REWARD_PARTNER_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.name = "profession1_reward_item_id" -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.full_name = ".ftcfg.reward_cfg.profession1_reward_item_id" -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.number = 14 -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.index = 13 -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.label = 3 -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.has_default_value = false -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.default_value = {} -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.type = 5 -REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.name = "profession1_reward_attribute_count" -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.profession1_reward_attribute_count" -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.number = 15 -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.index = 14 -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.label = 3 -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = {} -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.type = 5 -REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.name = "profession2_reward_item_id" -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.full_name = ".ftcfg.reward_cfg.profession2_reward_item_id" -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.number = 16 -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.index = 15 -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.label = 3 -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.has_default_value = false -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.default_value = {} -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.type = 5 -REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.name = "profession2_reward_attribute_count" -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.profession2_reward_attribute_count" -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.number = 17 -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.index = 16 -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.label = 3 -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = {} -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.type = 5 -REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.name = "profession3_reward_item_id" -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.full_name = ".ftcfg.reward_cfg.profession3_reward_item_id" -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.number = 18 -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.index = 17 -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.label = 3 -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.has_default_value = false -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.default_value = {} -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.type = 5 -REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.name = "profession3_reward_attribute_count" -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.profession3_reward_attribute_count" -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.number = 19 -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.index = 18 -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.label = 3 -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = {} -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.type = 5 -REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.name = "profession4_reward_item_id" -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.full_name = ".ftcfg.reward_cfg.profession4_reward_item_id" -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.number = 20 -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.index = 19 -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.label = 3 -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.has_default_value = false -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.default_value = {} -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.type = 5 -REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.name = "profession4_reward_attribute_count" -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.profession4_reward_attribute_count" -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.number = 21 -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.index = 20 -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.label = 3 -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = {} -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.type = 5 -REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.name = "profession5_reward_item_id" -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.full_name = ".ftcfg.reward_cfg.profession5_reward_item_id" -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.number = 22 -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.index = 21 -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.label = 3 -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.has_default_value = false -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.default_value = {} -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.type = 5 -REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD.cpp_type = 1 - -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.name = "profession5_reward_attribute_count" -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.full_name = ".ftcfg.reward_cfg.profession5_reward_attribute_count" -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.number = 23 -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.index = 22 -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.label = 3 -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.has_default_value = false -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.default_value = {} -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.type = 5 -REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD.cpp_type = 1 - -REWARD_CFG.name = "reward_cfg" -REWARD_CFG.full_name = ".ftcfg.reward_cfg" -REWARD_CFG.nested_types = {} -REWARD_CFG.enum_types = {} -REWARD_CFG.fields = {REWARD_CFG_ID_FIELD, REWARD_CFG_REWARD_ATTRIBUTE_ID_FIELD, REWARD_CFG_REWARD_ATTRIBUTE_COUNT_FIELD, REWARD_CFG_REWARD_ITEM_ID_FIELD, REWARD_CFG_REWARD_ITEM_COUNT_FIELD, REWARD_CFG_REWARD_MAGIC_ROCK_ID_FIELD, REWARD_CFG_REWARD_MAGIC_ROCK_COUNT_FIELD, REWARD_CFG_REWARD_REFINE_ROCK_ID_FIELD, REWARD_CFG_REWARD_REFINE_ROCK_COUNT_FIELD, REWARD_CFG_REWARD_SOUL_ID_FIELD, REWARD_CFG_REWARD_SOUL_COUNT_FIELD, REWARD_CFG_REWARD_PARTNER_ID_FIELD, REWARD_CFG_REWARD_PARTNER_COUNT_FIELD, REWARD_CFG_PROFESSION1_REWARD_ITEM_ID_FIELD, REWARD_CFG_PROFESSION1_REWARD_ATTRIBUTE_COUNT_FIELD, REWARD_CFG_PROFESSION2_REWARD_ITEM_ID_FIELD, REWARD_CFG_PROFESSION2_REWARD_ATTRIBUTE_COUNT_FIELD, REWARD_CFG_PROFESSION3_REWARD_ITEM_ID_FIELD, REWARD_CFG_PROFESSION3_REWARD_ATTRIBUTE_COUNT_FIELD, REWARD_CFG_PROFESSION4_REWARD_ITEM_ID_FIELD, REWARD_CFG_PROFESSION4_REWARD_ATTRIBUTE_COUNT_FIELD, REWARD_CFG_PROFESSION5_REWARD_ITEM_ID_FIELD, REWARD_CFG_PROFESSION5_REWARD_ATTRIBUTE_COUNT_FIELD} -REWARD_CFG.is_extendable = false -REWARD_CFG.extensions = {} -REWARD_CFGS_ITEMS_FIELD.name = "items" -REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.reward_cfgs.items" -REWARD_CFGS_ITEMS_FIELD.number = 1 -REWARD_CFGS_ITEMS_FIELD.index = 0 -REWARD_CFGS_ITEMS_FIELD.label = 3 -REWARD_CFGS_ITEMS_FIELD.has_default_value = false -REWARD_CFGS_ITEMS_FIELD.default_value = {} -REWARD_CFGS_ITEMS_FIELD.message_type = REWARD_CFG -REWARD_CFGS_ITEMS_FIELD.type = 11 -REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -REWARD_CFGS.name = "reward_cfgs" -REWARD_CFGS.full_name = ".ftcfg.reward_cfgs" -REWARD_CFGS.nested_types = {} -REWARD_CFGS.enum_types = {} -REWARD_CFGS.fields = {REWARD_CFGS_ITEMS_FIELD} -REWARD_CFGS.is_extendable = false -REWARD_CFGS.extensions = {} -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.name = "id" -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.full_name = ".ftcfg.func_type_weight_cfg.id" -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.number = 1 -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.index = 0 -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.label = 2 -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.has_default_value = false -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.default_value = nil -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.type = 14 -FUNC_TYPE_WEIGHT_CFG_ID_FIELD.cpp_type = 8 - -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.name = "drops" -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.full_name = ".ftcfg.func_type_weight_cfg.drops" -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.number = 2 -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.index = 1 -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.label = 3 -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.has_default_value = false -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.default_value = {} -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.type = 5 -FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD.cpp_type = 1 - -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.name = "weights" -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.full_name = ".ftcfg.func_type_weight_cfg.weights" -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.number = 3 -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.index = 2 -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.label = 3 -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.has_default_value = false -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.default_value = {} -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.type = 5 -FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD.cpp_type = 1 - -FUNC_TYPE_WEIGHT_CFG.name = "func_type_weight_cfg" -FUNC_TYPE_WEIGHT_CFG.full_name = ".ftcfg.func_type_weight_cfg" -FUNC_TYPE_WEIGHT_CFG.nested_types = {} -FUNC_TYPE_WEIGHT_CFG.enum_types = {} -FUNC_TYPE_WEIGHT_CFG.fields = {FUNC_TYPE_WEIGHT_CFG_ID_FIELD, FUNC_TYPE_WEIGHT_CFG_DROPS_FIELD, FUNC_TYPE_WEIGHT_CFG_WEIGHTS_FIELD} -FUNC_TYPE_WEIGHT_CFG.is_extendable = false -FUNC_TYPE_WEIGHT_CFG.extensions = {} -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.name = "items" -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.func_type_weight_cfgs.items" -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.number = 1 -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.index = 0 -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.label = 3 -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.has_default_value = false -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.default_value = {} -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.message_type = FUNC_TYPE_WEIGHT_CFG -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.type = 11 -FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD.cpp_type = 10 - -FUNC_TYPE_WEIGHT_CFGS.name = "func_type_weight_cfgs" -FUNC_TYPE_WEIGHT_CFGS.full_name = ".ftcfg.func_type_weight_cfgs" -FUNC_TYPE_WEIGHT_CFGS.nested_types = {} -FUNC_TYPE_WEIGHT_CFGS.enum_types = {} -FUNC_TYPE_WEIGHT_CFGS.fields = {FUNC_TYPE_WEIGHT_CFGS_ITEMS_FIELD} -FUNC_TYPE_WEIGHT_CFGS.is_extendable = false -FUNC_TYPE_WEIGHT_CFGS.extensions = {} -ZONE_LOCATION_CFG_ID_FIELD.name = "id" -ZONE_LOCATION_CFG_ID_FIELD.full_name = ".ftcfg.zone_location_cfg.id" -ZONE_LOCATION_CFG_ID_FIELD.number = 1 -ZONE_LOCATION_CFG_ID_FIELD.index = 0 -ZONE_LOCATION_CFG_ID_FIELD.label = 2 -ZONE_LOCATION_CFG_ID_FIELD.has_default_value = false -ZONE_LOCATION_CFG_ID_FIELD.default_value = 0 -ZONE_LOCATION_CFG_ID_FIELD.type = 5 -ZONE_LOCATION_CFG_ID_FIELD.cpp_type = 1 - -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.name = "province_id" -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.full_name = ".ftcfg.zone_location_cfg.province_id" -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.number = 2 -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.index = 1 -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.label = 2 -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.has_default_value = false -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.default_value = 0 -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.type = 5 -ZONE_LOCATION_CFG_PROVINCE_ID_FIELD.cpp_type = 1 - -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.name = "province_language_id" -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.full_name = ".ftcfg.zone_location_cfg.province_language_id" -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.number = 3 -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.index = 2 -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.label = 2 -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.has_default_value = false -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.default_value = 0 -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.type = 5 -ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD.cpp_type = 1 - -ZONE_LOCATION_CFG_CITY_ID_FIELD.name = "city_id" -ZONE_LOCATION_CFG_CITY_ID_FIELD.full_name = ".ftcfg.zone_location_cfg.city_id" -ZONE_LOCATION_CFG_CITY_ID_FIELD.number = 4 -ZONE_LOCATION_CFG_CITY_ID_FIELD.index = 3 -ZONE_LOCATION_CFG_CITY_ID_FIELD.label = 2 -ZONE_LOCATION_CFG_CITY_ID_FIELD.has_default_value = false -ZONE_LOCATION_CFG_CITY_ID_FIELD.default_value = 0 -ZONE_LOCATION_CFG_CITY_ID_FIELD.type = 5 -ZONE_LOCATION_CFG_CITY_ID_FIELD.cpp_type = 1 - -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.name = "city_language_id" -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.full_name = ".ftcfg.zone_location_cfg.city_language_id" -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.number = 5 -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.index = 4 -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.label = 2 -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.has_default_value = false -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.default_value = 0 -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.type = 5 -ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD.cpp_type = 1 - -ZONE_LOCATION_CFG.name = "zone_location_cfg" -ZONE_LOCATION_CFG.full_name = ".ftcfg.zone_location_cfg" -ZONE_LOCATION_CFG.nested_types = {} -ZONE_LOCATION_CFG.enum_types = {} -ZONE_LOCATION_CFG.fields = {ZONE_LOCATION_CFG_ID_FIELD, ZONE_LOCATION_CFG_PROVINCE_ID_FIELD, ZONE_LOCATION_CFG_PROVINCE_LANGUAGE_ID_FIELD, ZONE_LOCATION_CFG_CITY_ID_FIELD, ZONE_LOCATION_CFG_CITY_LANGUAGE_ID_FIELD} -ZONE_LOCATION_CFG.is_extendable = false -ZONE_LOCATION_CFG.extensions = {} -ZONE_LOCATION_CFGS_ITEMS_FIELD.name = "items" -ZONE_LOCATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.zone_location_cfgs.items" -ZONE_LOCATION_CFGS_ITEMS_FIELD.number = 1 -ZONE_LOCATION_CFGS_ITEMS_FIELD.index = 0 -ZONE_LOCATION_CFGS_ITEMS_FIELD.label = 3 -ZONE_LOCATION_CFGS_ITEMS_FIELD.has_default_value = false -ZONE_LOCATION_CFGS_ITEMS_FIELD.default_value = {} -ZONE_LOCATION_CFGS_ITEMS_FIELD.message_type = ZONE_LOCATION_CFG -ZONE_LOCATION_CFGS_ITEMS_FIELD.type = 11 -ZONE_LOCATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -ZONE_LOCATION_CFGS.name = "zone_location_cfgs" -ZONE_LOCATION_CFGS.full_name = ".ftcfg.zone_location_cfgs" -ZONE_LOCATION_CFGS.nested_types = {} -ZONE_LOCATION_CFGS.enum_types = {} -ZONE_LOCATION_CFGS.fields = {ZONE_LOCATION_CFGS_ITEMS_FIELD} -ZONE_LOCATION_CFGS.is_extendable = false -ZONE_LOCATION_CFGS.extensions = {} -GIFT_GIVING_CFG_ID_FIELD.name = "id" -GIFT_GIVING_CFG_ID_FIELD.full_name = ".ftcfg.gift_giving_cfg.id" -GIFT_GIVING_CFG_ID_FIELD.number = 1 -GIFT_GIVING_CFG_ID_FIELD.index = 0 -GIFT_GIVING_CFG_ID_FIELD.label = 2 -GIFT_GIVING_CFG_ID_FIELD.has_default_value = false -GIFT_GIVING_CFG_ID_FIELD.default_value = 0 -GIFT_GIVING_CFG_ID_FIELD.type = 5 -GIFT_GIVING_CFG_ID_FIELD.cpp_type = 1 - -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.name = "gift_type" -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.full_name = ".ftcfg.gift_giving_cfg.gift_type" -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.number = 2 -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.index = 1 -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.label = 2 -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.has_default_value = false -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.default_value = 0 -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.type = 5 -GIFT_GIVING_CFG_GIFT_TYPE_FIELD.cpp_type = 1 - -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.name = "gift_item_id" -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.full_name = ".ftcfg.gift_giving_cfg.gift_item_id" -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.number = 3 -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.index = 2 -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.label = 2 -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.has_default_value = false -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.default_value = 0 -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.type = 5 -GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD.cpp_type = 1 - -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.name = "give_friend_degree" -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.full_name = ".ftcfg.gift_giving_cfg.give_friend_degree" -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.number = 4 -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.index = 3 -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.label = 2 -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.has_default_value = false -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.default_value = 0 -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.type = 5 -GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD.cpp_type = 1 - -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.name = "is_give_friebd" -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.full_name = ".ftcfg.gift_giving_cfg.is_give_friebd" -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.number = 5 -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.index = 4 -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.label = 2 -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.has_default_value = false -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.default_value = 0 -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.type = 5 -GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD.cpp_type = 1 - -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.name = "is_give_delete" -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.full_name = ".ftcfg.gift_giving_cfg.is_give_delete" -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.number = 6 -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.index = 5 -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.label = 2 -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.has_default_value = false -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.default_value = 0 -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.type = 5 -GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD.cpp_type = 1 - -GIFT_GIVING_CFG.name = "gift_giving_cfg" -GIFT_GIVING_CFG.full_name = ".ftcfg.gift_giving_cfg" -GIFT_GIVING_CFG.nested_types = {} -GIFT_GIVING_CFG.enum_types = {} -GIFT_GIVING_CFG.fields = {GIFT_GIVING_CFG_ID_FIELD, GIFT_GIVING_CFG_GIFT_TYPE_FIELD, GIFT_GIVING_CFG_GIFT_ITEM_ID_FIELD, GIFT_GIVING_CFG_GIVE_FRIEND_DEGREE_FIELD, GIFT_GIVING_CFG_IS_GIVE_FRIEBD_FIELD, GIFT_GIVING_CFG_IS_GIVE_DELETE_FIELD} -GIFT_GIVING_CFG.is_extendable = false -GIFT_GIVING_CFG.extensions = {} -GIFT_GIVING_CFGS_ITEMS_FIELD.name = "items" -GIFT_GIVING_CFGS_ITEMS_FIELD.full_name = ".ftcfg.gift_giving_cfgs.items" -GIFT_GIVING_CFGS_ITEMS_FIELD.number = 1 -GIFT_GIVING_CFGS_ITEMS_FIELD.index = 0 -GIFT_GIVING_CFGS_ITEMS_FIELD.label = 3 -GIFT_GIVING_CFGS_ITEMS_FIELD.has_default_value = false -GIFT_GIVING_CFGS_ITEMS_FIELD.default_value = {} -GIFT_GIVING_CFGS_ITEMS_FIELD.message_type = GIFT_GIVING_CFG -GIFT_GIVING_CFGS_ITEMS_FIELD.type = 11 -GIFT_GIVING_CFGS_ITEMS_FIELD.cpp_type = 10 - -GIFT_GIVING_CFGS.name = "gift_giving_cfgs" -GIFT_GIVING_CFGS.full_name = ".ftcfg.gift_giving_cfgs" -GIFT_GIVING_CFGS.nested_types = {} -GIFT_GIVING_CFGS.enum_types = {} -GIFT_GIVING_CFGS.fields = {GIFT_GIVING_CFGS_ITEMS_FIELD} -GIFT_GIVING_CFGS.is_extendable = false -GIFT_GIVING_CFGS.extensions = {} -FRIEND_TITLE_CFG_ID_FIELD.name = "id" -FRIEND_TITLE_CFG_ID_FIELD.full_name = ".ftcfg.friend_title_cfg.id" -FRIEND_TITLE_CFG_ID_FIELD.number = 1 -FRIEND_TITLE_CFG_ID_FIELD.index = 0 -FRIEND_TITLE_CFG_ID_FIELD.label = 2 -FRIEND_TITLE_CFG_ID_FIELD.has_default_value = false -FRIEND_TITLE_CFG_ID_FIELD.default_value = 0 -FRIEND_TITLE_CFG_ID_FIELD.type = 5 -FRIEND_TITLE_CFG_ID_FIELD.cpp_type = 1 - -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.name = "friend_degree_level" -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.full_name = ".ftcfg.friend_title_cfg.friend_degree_level" -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.number = 2 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.index = 1 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.label = 2 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.has_default_value = false -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.default_value = 0 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.type = 5 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD.cpp_type = 1 - -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.name = "friend_degree_languageid" -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.full_name = ".ftcfg.friend_title_cfg.friend_degree_languageid" -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.number = 3 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.index = 2 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.label = 2 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.has_default_value = false -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.default_value = 0 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.type = 5 -FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD.cpp_type = 1 - -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.name = "need_friend_degree" -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.full_name = ".ftcfg.friend_title_cfg.need_friend_degree" -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.number = 4 -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.index = 3 -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.label = 2 -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.has_default_value = false -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.default_value = 0 -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.type = 5 -FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD.cpp_type = 1 - -FRIEND_TITLE_CFG.name = "friend_title_cfg" -FRIEND_TITLE_CFG.full_name = ".ftcfg.friend_title_cfg" -FRIEND_TITLE_CFG.nested_types = {} -FRIEND_TITLE_CFG.enum_types = {} -FRIEND_TITLE_CFG.fields = {FRIEND_TITLE_CFG_ID_FIELD, FRIEND_TITLE_CFG_FRIEND_DEGREE_LEVEL_FIELD, FRIEND_TITLE_CFG_FRIEND_DEGREE_LANGUAGEID_FIELD, FRIEND_TITLE_CFG_NEED_FRIEND_DEGREE_FIELD} -FRIEND_TITLE_CFG.is_extendable = false -FRIEND_TITLE_CFG.extensions = {} -FRIEND_TITLE_CFGS_ITEMS_FIELD.name = "items" -FRIEND_TITLE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.friend_title_cfgs.items" -FRIEND_TITLE_CFGS_ITEMS_FIELD.number = 1 -FRIEND_TITLE_CFGS_ITEMS_FIELD.index = 0 -FRIEND_TITLE_CFGS_ITEMS_FIELD.label = 3 -FRIEND_TITLE_CFGS_ITEMS_FIELD.has_default_value = false -FRIEND_TITLE_CFGS_ITEMS_FIELD.default_value = {} -FRIEND_TITLE_CFGS_ITEMS_FIELD.message_type = FRIEND_TITLE_CFG -FRIEND_TITLE_CFGS_ITEMS_FIELD.type = 11 -FRIEND_TITLE_CFGS_ITEMS_FIELD.cpp_type = 10 - -FRIEND_TITLE_CFGS.name = "friend_title_cfgs" -FRIEND_TITLE_CFGS.full_name = ".ftcfg.friend_title_cfgs" -FRIEND_TITLE_CFGS.nested_types = {} -FRIEND_TITLE_CFGS.enum_types = {} -FRIEND_TITLE_CFGS.fields = {FRIEND_TITLE_CFGS_ITEMS_FIELD} -FRIEND_TITLE_CFGS.is_extendable = false -FRIEND_TITLE_CFGS.extensions = {} -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.name = "fate_id" -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.full_name = ".ftcfg.fate_value_reward_cfg.fate_id" -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.number = 1 -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.index = 0 -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.label = 2 -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.has_default_value = false -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.default_value = 0 -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.type = 5 -FATE_VALUE_REWARD_CFG_FATE_ID_FIELD.cpp_type = 1 - -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.name = "need_fate_value" -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.full_name = ".ftcfg.fate_value_reward_cfg.need_fate_value" -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.number = 2 -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.index = 1 -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.label = 2 -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.has_default_value = false -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.default_value = 0 -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.type = 5 -FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD.cpp_type = 1 - -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.name = "fate_item_id" -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.full_name = ".ftcfg.fate_value_reward_cfg.fate_item_id" -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.number = 3 -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.index = 2 -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.label = 2 -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.has_default_value = false -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.default_value = 0 -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.type = 5 -FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD.cpp_type = 1 - -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.name = "fate_item_number" -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.full_name = ".ftcfg.fate_value_reward_cfg.fate_item_number" -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.number = 4 -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.index = 3 -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.label = 2 -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.has_default_value = false -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.default_value = 0 -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.type = 5 -FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD.cpp_type = 1 - -FATE_VALUE_REWARD_CFG.name = "fate_value_reward_cfg" -FATE_VALUE_REWARD_CFG.full_name = ".ftcfg.fate_value_reward_cfg" -FATE_VALUE_REWARD_CFG.nested_types = {} -FATE_VALUE_REWARD_CFG.enum_types = {} -FATE_VALUE_REWARD_CFG.fields = {FATE_VALUE_REWARD_CFG_FATE_ID_FIELD, FATE_VALUE_REWARD_CFG_NEED_FATE_VALUE_FIELD, FATE_VALUE_REWARD_CFG_FATE_ITEM_ID_FIELD, FATE_VALUE_REWARD_CFG_FATE_ITEM_NUMBER_FIELD} -FATE_VALUE_REWARD_CFG.is_extendable = false -FATE_VALUE_REWARD_CFG.extensions = {} -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.name = "items" -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.fate_value_reward_cfgs.items" -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.number = 1 -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.index = 0 -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.label = 3 -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.has_default_value = false -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.default_value = {} -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.message_type = FATE_VALUE_REWARD_CFG -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.type = 11 -FATE_VALUE_REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -FATE_VALUE_REWARD_CFGS.name = "fate_value_reward_cfgs" -FATE_VALUE_REWARD_CFGS.full_name = ".ftcfg.fate_value_reward_cfgs" -FATE_VALUE_REWARD_CFGS.nested_types = {} -FATE_VALUE_REWARD_CFGS.enum_types = {} -FATE_VALUE_REWARD_CFGS.fields = {FATE_VALUE_REWARD_CFGS_ITEMS_FIELD} -FATE_VALUE_REWARD_CFGS.is_extendable = false -FATE_VALUE_REWARD_CFGS.extensions = {} -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.name = "item_id" -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.gemstone_inlay_cfg.item_id" -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.number = 1 -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.index = 0 -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.label = 2 -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.has_default_value = false -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.default_value = 0 -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.type = 5 -GEMSTONE_INLAY_CFG_ITEM_ID_FIELD.cpp_type = 1 - -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.name = "item_num" -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.full_name = ".ftcfg.gemstone_inlay_cfg.item_num" -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.number = 2 -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.index = 1 -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.label = 2 -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.has_default_value = false -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.default_value = 0 -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.type = 5 -GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD.cpp_type = 1 - -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.name = "item_fail_num" -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.full_name = ".ftcfg.gemstone_inlay_cfg.item_fail_num" -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.number = 3 -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.index = 2 -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.label = 2 -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.has_default_value = false -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.default_value = 0 -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.type = 5 -GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD.cpp_type = 1 - -GEMSTONE_INLAY_CFG_RANGE_FIELD.name = "range" -GEMSTONE_INLAY_CFG_RANGE_FIELD.full_name = ".ftcfg.gemstone_inlay_cfg.range" -GEMSTONE_INLAY_CFG_RANGE_FIELD.number = 4 -GEMSTONE_INLAY_CFG_RANGE_FIELD.index = 3 -GEMSTONE_INLAY_CFG_RANGE_FIELD.label = 2 -GEMSTONE_INLAY_CFG_RANGE_FIELD.has_default_value = false -GEMSTONE_INLAY_CFG_RANGE_FIELD.default_value = 0 -GEMSTONE_INLAY_CFG_RANGE_FIELD.type = 5 -GEMSTONE_INLAY_CFG_RANGE_FIELD.cpp_type = 1 - -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.name = "item_suc_id" -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.full_name = ".ftcfg.gemstone_inlay_cfg.item_suc_id" -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.number = 5 -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.index = 4 -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.label = 2 -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.has_default_value = false -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.default_value = 0 -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.type = 5 -GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD.cpp_type = 1 - -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.name = "item_suc_num" -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.full_name = ".ftcfg.gemstone_inlay_cfg.item_suc_num" -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.number = 6 -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.index = 5 -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.label = 2 -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.has_default_value = false -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.default_value = 0 -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.type = 5 -GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD.cpp_type = 1 - -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.name = "item_desc_id" -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.full_name = ".ftcfg.gemstone_inlay_cfg.item_desc_id" -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.number = 7 -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.index = 6 -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.label = 2 -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.has_default_value = false -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.default_value = 0 -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.type = 5 -GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD.cpp_type = 1 - -GEMSTONE_INLAY_CFG.name = "gemstone_inlay_cfg" -GEMSTONE_INLAY_CFG.full_name = ".ftcfg.gemstone_inlay_cfg" -GEMSTONE_INLAY_CFG.nested_types = {} -GEMSTONE_INLAY_CFG.enum_types = {} -GEMSTONE_INLAY_CFG.fields = {GEMSTONE_INLAY_CFG_ITEM_ID_FIELD, GEMSTONE_INLAY_CFG_ITEM_NUM_FIELD, GEMSTONE_INLAY_CFG_ITEM_FAIL_NUM_FIELD, GEMSTONE_INLAY_CFG_RANGE_FIELD, GEMSTONE_INLAY_CFG_ITEM_SUC_ID_FIELD, GEMSTONE_INLAY_CFG_ITEM_SUC_NUM_FIELD, GEMSTONE_INLAY_CFG_ITEM_DESC_ID_FIELD} -GEMSTONE_INLAY_CFG.is_extendable = false -GEMSTONE_INLAY_CFG.extensions = {} -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.name = "items" -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.gemstone_inlay_cfgs.items" -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.number = 1 -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.index = 0 -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.label = 3 -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.has_default_value = false -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.default_value = {} -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.message_type = GEMSTONE_INLAY_CFG -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.type = 11 -GEMSTONE_INLAY_CFGS_ITEMS_FIELD.cpp_type = 10 - -GEMSTONE_INLAY_CFGS.name = "gemstone_inlay_cfgs" -GEMSTONE_INLAY_CFGS.full_name = ".ftcfg.gemstone_inlay_cfgs" -GEMSTONE_INLAY_CFGS.nested_types = {} -GEMSTONE_INLAY_CFGS.enum_types = {} -GEMSTONE_INLAY_CFGS.fields = {GEMSTONE_INLAY_CFGS_ITEMS_FIELD} -GEMSTONE_INLAY_CFGS.is_extendable = false -GEMSTONE_INLAY_CFGS.extensions = {} -GEMSTONE_LIST_CFG_GEM_ID_FIELD.name = "gem_id" -GEMSTONE_LIST_CFG_GEM_ID_FIELD.full_name = ".ftcfg.gemstone_list_cfg.gem_id" -GEMSTONE_LIST_CFG_GEM_ID_FIELD.number = 1 -GEMSTONE_LIST_CFG_GEM_ID_FIELD.index = 0 -GEMSTONE_LIST_CFG_GEM_ID_FIELD.label = 2 -GEMSTONE_LIST_CFG_GEM_ID_FIELD.has_default_value = false -GEMSTONE_LIST_CFG_GEM_ID_FIELD.default_value = 0 -GEMSTONE_LIST_CFG_GEM_ID_FIELD.type = 5 -GEMSTONE_LIST_CFG_GEM_ID_FIELD.cpp_type = 1 - -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.name = "gem_nameid" -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.full_name = ".ftcfg.gemstone_list_cfg.gem_nameid" -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.number = 2 -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.index = 1 -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.label = 2 -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.has_default_value = false -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.default_value = 0 -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.type = 5 -GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD.cpp_type = 1 - -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.name = "gem_picid" -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.full_name = ".ftcfg.gemstone_list_cfg.gem_picid" -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.number = 3 -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.index = 2 -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.label = 2 -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.has_default_value = false -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.default_value = 0 -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.type = 5 -GEMSTONE_LIST_CFG_GEM_PICID_FIELD.cpp_type = 1 - -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.name = "gem_knameid" -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.full_name = ".ftcfg.gemstone_list_cfg.gem_knameid" -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.number = 4 -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.index = 3 -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.label = 2 -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.has_default_value = false -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.default_value = 0 -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.type = 5 -GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD.cpp_type = 1 - -GEMSTONE_LIST_CFG.name = "gemstone_list_cfg" -GEMSTONE_LIST_CFG.full_name = ".ftcfg.gemstone_list_cfg" -GEMSTONE_LIST_CFG.nested_types = {} -GEMSTONE_LIST_CFG.enum_types = {} -GEMSTONE_LIST_CFG.fields = {GEMSTONE_LIST_CFG_GEM_ID_FIELD, GEMSTONE_LIST_CFG_GEM_NAMEID_FIELD, GEMSTONE_LIST_CFG_GEM_PICID_FIELD, GEMSTONE_LIST_CFG_GEM_KNAMEID_FIELD} -GEMSTONE_LIST_CFG.is_extendable = false -GEMSTONE_LIST_CFG.extensions = {} -GEMSTONE_LIST_CFGS_ITEMS_FIELD.name = "items" -GEMSTONE_LIST_CFGS_ITEMS_FIELD.full_name = ".ftcfg.gemstone_list_cfgs.items" -GEMSTONE_LIST_CFGS_ITEMS_FIELD.number = 1 -GEMSTONE_LIST_CFGS_ITEMS_FIELD.index = 0 -GEMSTONE_LIST_CFGS_ITEMS_FIELD.label = 3 -GEMSTONE_LIST_CFGS_ITEMS_FIELD.has_default_value = false -GEMSTONE_LIST_CFGS_ITEMS_FIELD.default_value = {} -GEMSTONE_LIST_CFGS_ITEMS_FIELD.message_type = GEMSTONE_LIST_CFG -GEMSTONE_LIST_CFGS_ITEMS_FIELD.type = 11 -GEMSTONE_LIST_CFGS_ITEMS_FIELD.cpp_type = 10 - -GEMSTONE_LIST_CFGS.name = "gemstone_list_cfgs" -GEMSTONE_LIST_CFGS.full_name = ".ftcfg.gemstone_list_cfgs" -GEMSTONE_LIST_CFGS.nested_types = {} -GEMSTONE_LIST_CFGS.enum_types = {} -GEMSTONE_LIST_CFGS.fields = {GEMSTONE_LIST_CFGS_ITEMS_FIELD} -GEMSTONE_LIST_CFGS.is_extendable = false -GEMSTONE_LIST_CFGS.extensions = {} -CHEST_DROP_CFG_ID_FIELD.name = "id" -CHEST_DROP_CFG_ID_FIELD.full_name = ".ftcfg.chest_drop_cfg.id" -CHEST_DROP_CFG_ID_FIELD.number = 1 -CHEST_DROP_CFG_ID_FIELD.index = 0 -CHEST_DROP_CFG_ID_FIELD.label = 2 -CHEST_DROP_CFG_ID_FIELD.has_default_value = false -CHEST_DROP_CFG_ID_FIELD.default_value = 0 -CHEST_DROP_CFG_ID_FIELD.type = 5 -CHEST_DROP_CFG_ID_FIELD.cpp_type = 1 - -CHEST_DROP_CFG_TYPE_FIELD.name = "type" -CHEST_DROP_CFG_TYPE_FIELD.full_name = ".ftcfg.chest_drop_cfg.type" -CHEST_DROP_CFG_TYPE_FIELD.number = 2 -CHEST_DROP_CFG_TYPE_FIELD.index = 1 -CHEST_DROP_CFG_TYPE_FIELD.label = 2 -CHEST_DROP_CFG_TYPE_FIELD.has_default_value = false -CHEST_DROP_CFG_TYPE_FIELD.default_value = nil -CHEST_DROP_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ECHESTTYPE -CHEST_DROP_CFG_TYPE_FIELD.type = 14 -CHEST_DROP_CFG_TYPE_FIELD.cpp_type = 8 - -CHEST_DROP_CFG_COUNT_FIELD.name = "count" -CHEST_DROP_CFG_COUNT_FIELD.full_name = ".ftcfg.chest_drop_cfg.count" -CHEST_DROP_CFG_COUNT_FIELD.number = 3 -CHEST_DROP_CFG_COUNT_FIELD.index = 2 -CHEST_DROP_CFG_COUNT_FIELD.label = 2 -CHEST_DROP_CFG_COUNT_FIELD.has_default_value = false -CHEST_DROP_CFG_COUNT_FIELD.default_value = 0 -CHEST_DROP_CFG_COUNT_FIELD.type = 5 -CHEST_DROP_CFG_COUNT_FIELD.cpp_type = 1 - -CHEST_DROP_CFG_ITEM_ID_FIELD.name = "item_id" -CHEST_DROP_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.chest_drop_cfg.item_id" -CHEST_DROP_CFG_ITEM_ID_FIELD.number = 4 -CHEST_DROP_CFG_ITEM_ID_FIELD.index = 3 -CHEST_DROP_CFG_ITEM_ID_FIELD.label = 2 -CHEST_DROP_CFG_ITEM_ID_FIELD.has_default_value = false -CHEST_DROP_CFG_ITEM_ID_FIELD.default_value = 0 -CHEST_DROP_CFG_ITEM_ID_FIELD.type = 5 -CHEST_DROP_CFG_ITEM_ID_FIELD.cpp_type = 1 - -CHEST_DROP_CFG_RES_ID_FIELD.name = "res_id" -CHEST_DROP_CFG_RES_ID_FIELD.full_name = ".ftcfg.chest_drop_cfg.res_id" -CHEST_DROP_CFG_RES_ID_FIELD.number = 5 -CHEST_DROP_CFG_RES_ID_FIELD.index = 4 -CHEST_DROP_CFG_RES_ID_FIELD.label = 2 -CHEST_DROP_CFG_RES_ID_FIELD.has_default_value = false -CHEST_DROP_CFG_RES_ID_FIELD.default_value = 0 -CHEST_DROP_CFG_RES_ID_FIELD.type = 5 -CHEST_DROP_CFG_RES_ID_FIELD.cpp_type = 1 - -CHEST_DROP_CFG_RADIUS_FIELD.name = "radius" -CHEST_DROP_CFG_RADIUS_FIELD.full_name = ".ftcfg.chest_drop_cfg.radius" -CHEST_DROP_CFG_RADIUS_FIELD.number = 6 -CHEST_DROP_CFG_RADIUS_FIELD.index = 5 -CHEST_DROP_CFG_RADIUS_FIELD.label = 2 -CHEST_DROP_CFG_RADIUS_FIELD.has_default_value = false -CHEST_DROP_CFG_RADIUS_FIELD.default_value = 0.0 -CHEST_DROP_CFG_RADIUS_FIELD.type = 2 -CHEST_DROP_CFG_RADIUS_FIELD.cpp_type = 6 - -CHEST_DROP_CFG_SPACE_ROWS_FIELD.name = "space_rows" -CHEST_DROP_CFG_SPACE_ROWS_FIELD.full_name = ".ftcfg.chest_drop_cfg.space_rows" -CHEST_DROP_CFG_SPACE_ROWS_FIELD.number = 7 -CHEST_DROP_CFG_SPACE_ROWS_FIELD.index = 6 -CHEST_DROP_CFG_SPACE_ROWS_FIELD.label = 2 -CHEST_DROP_CFG_SPACE_ROWS_FIELD.has_default_value = false -CHEST_DROP_CFG_SPACE_ROWS_FIELD.default_value = 0.0 -CHEST_DROP_CFG_SPACE_ROWS_FIELD.type = 2 -CHEST_DROP_CFG_SPACE_ROWS_FIELD.cpp_type = 6 - -CHEST_DROP_CFG_SPACE_COLS_FIELD.name = "space_cols" -CHEST_DROP_CFG_SPACE_COLS_FIELD.full_name = ".ftcfg.chest_drop_cfg.space_cols" -CHEST_DROP_CFG_SPACE_COLS_FIELD.number = 8 -CHEST_DROP_CFG_SPACE_COLS_FIELD.index = 7 -CHEST_DROP_CFG_SPACE_COLS_FIELD.label = 2 -CHEST_DROP_CFG_SPACE_COLS_FIELD.has_default_value = false -CHEST_DROP_CFG_SPACE_COLS_FIELD.default_value = 0.0 -CHEST_DROP_CFG_SPACE_COLS_FIELD.type = 2 -CHEST_DROP_CFG_SPACE_COLS_FIELD.cpp_type = 6 - -CHEST_DROP_CFG_LIVE_TIME_FIELD.name = "live_time" -CHEST_DROP_CFG_LIVE_TIME_FIELD.full_name = ".ftcfg.chest_drop_cfg.live_time" -CHEST_DROP_CFG_LIVE_TIME_FIELD.number = 9 -CHEST_DROP_CFG_LIVE_TIME_FIELD.index = 8 -CHEST_DROP_CFG_LIVE_TIME_FIELD.label = 2 -CHEST_DROP_CFG_LIVE_TIME_FIELD.has_default_value = false -CHEST_DROP_CFG_LIVE_TIME_FIELD.default_value = 0 -CHEST_DROP_CFG_LIVE_TIME_FIELD.type = 5 -CHEST_DROP_CFG_LIVE_TIME_FIELD.cpp_type = 1 - -CHEST_DROP_CFG_REFRESH_TIME_FIELD.name = "refresh_time" -CHEST_DROP_CFG_REFRESH_TIME_FIELD.full_name = ".ftcfg.chest_drop_cfg.refresh_time" -CHEST_DROP_CFG_REFRESH_TIME_FIELD.number = 10 -CHEST_DROP_CFG_REFRESH_TIME_FIELD.index = 9 -CHEST_DROP_CFG_REFRESH_TIME_FIELD.label = 2 -CHEST_DROP_CFG_REFRESH_TIME_FIELD.has_default_value = false -CHEST_DROP_CFG_REFRESH_TIME_FIELD.default_value = 0 -CHEST_DROP_CFG_REFRESH_TIME_FIELD.type = 5 -CHEST_DROP_CFG_REFRESH_TIME_FIELD.cpp_type = 1 - -CHEST_DROP_CFG.name = "chest_drop_cfg" -CHEST_DROP_CFG.full_name = ".ftcfg.chest_drop_cfg" -CHEST_DROP_CFG.nested_types = {} -CHEST_DROP_CFG.enum_types = {} -CHEST_DROP_CFG.fields = {CHEST_DROP_CFG_ID_FIELD, CHEST_DROP_CFG_TYPE_FIELD, CHEST_DROP_CFG_COUNT_FIELD, CHEST_DROP_CFG_ITEM_ID_FIELD, CHEST_DROP_CFG_RES_ID_FIELD, CHEST_DROP_CFG_RADIUS_FIELD, CHEST_DROP_CFG_SPACE_ROWS_FIELD, CHEST_DROP_CFG_SPACE_COLS_FIELD, CHEST_DROP_CFG_LIVE_TIME_FIELD, CHEST_DROP_CFG_REFRESH_TIME_FIELD} -CHEST_DROP_CFG.is_extendable = false -CHEST_DROP_CFG.extensions = {} -CHEST_DROP_CFGS_ITEMS_FIELD.name = "items" -CHEST_DROP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.chest_drop_cfgs.items" -CHEST_DROP_CFGS_ITEMS_FIELD.number = 1 -CHEST_DROP_CFGS_ITEMS_FIELD.index = 0 -CHEST_DROP_CFGS_ITEMS_FIELD.label = 3 -CHEST_DROP_CFGS_ITEMS_FIELD.has_default_value = false -CHEST_DROP_CFGS_ITEMS_FIELD.default_value = {} -CHEST_DROP_CFGS_ITEMS_FIELD.message_type = CHEST_DROP_CFG -CHEST_DROP_CFGS_ITEMS_FIELD.type = 11 -CHEST_DROP_CFGS_ITEMS_FIELD.cpp_type = 10 - -CHEST_DROP_CFGS.name = "chest_drop_cfgs" -CHEST_DROP_CFGS.full_name = ".ftcfg.chest_drop_cfgs" -CHEST_DROP_CFGS.nested_types = {} -CHEST_DROP_CFGS.enum_types = {} -CHEST_DROP_CFGS.fields = {CHEST_DROP_CFGS_ITEMS_FIELD} -CHEST_DROP_CFGS.is_extendable = false -CHEST_DROP_CFGS.extensions = {} -MINIMAP_CFG_ID_FIELD.name = "id" -MINIMAP_CFG_ID_FIELD.full_name = ".ftcfg.minimap_cfg.id" -MINIMAP_CFG_ID_FIELD.number = 1 -MINIMAP_CFG_ID_FIELD.index = 0 -MINIMAP_CFG_ID_FIELD.label = 2 -MINIMAP_CFG_ID_FIELD.has_default_value = false -MINIMAP_CFG_ID_FIELD.default_value = 0 -MINIMAP_CFG_ID_FIELD.type = 5 -MINIMAP_CFG_ID_FIELD.cpp_type = 1 - -MINIMAP_CFG_POS_X_FIELD.name = "pos_x" -MINIMAP_CFG_POS_X_FIELD.full_name = ".ftcfg.minimap_cfg.pos_x" -MINIMAP_CFG_POS_X_FIELD.number = 2 -MINIMAP_CFG_POS_X_FIELD.index = 1 -MINIMAP_CFG_POS_X_FIELD.label = 2 -MINIMAP_CFG_POS_X_FIELD.has_default_value = false -MINIMAP_CFG_POS_X_FIELD.default_value = 0.0 -MINIMAP_CFG_POS_X_FIELD.type = 2 -MINIMAP_CFG_POS_X_FIELD.cpp_type = 6 - -MINIMAP_CFG_POS_Z_FIELD.name = "pos_z" -MINIMAP_CFG_POS_Z_FIELD.full_name = ".ftcfg.minimap_cfg.pos_z" -MINIMAP_CFG_POS_Z_FIELD.number = 3 -MINIMAP_CFG_POS_Z_FIELD.index = 2 -MINIMAP_CFG_POS_Z_FIELD.label = 2 -MINIMAP_CFG_POS_Z_FIELD.has_default_value = false -MINIMAP_CFG_POS_Z_FIELD.default_value = 0.0 -MINIMAP_CFG_POS_Z_FIELD.type = 2 -MINIMAP_CFG_POS_Z_FIELD.cpp_type = 6 - -MINIMAP_CFG_WIDTH_FIELD.name = "width" -MINIMAP_CFG_WIDTH_FIELD.full_name = ".ftcfg.minimap_cfg.width" -MINIMAP_CFG_WIDTH_FIELD.number = 4 -MINIMAP_CFG_WIDTH_FIELD.index = 3 -MINIMAP_CFG_WIDTH_FIELD.label = 2 -MINIMAP_CFG_WIDTH_FIELD.has_default_value = false -MINIMAP_CFG_WIDTH_FIELD.default_value = 0.0 -MINIMAP_CFG_WIDTH_FIELD.type = 2 -MINIMAP_CFG_WIDTH_FIELD.cpp_type = 6 - -MINIMAP_CFG_HEIGHT_FIELD.name = "height" -MINIMAP_CFG_HEIGHT_FIELD.full_name = ".ftcfg.minimap_cfg.height" -MINIMAP_CFG_HEIGHT_FIELD.number = 5 -MINIMAP_CFG_HEIGHT_FIELD.index = 4 -MINIMAP_CFG_HEIGHT_FIELD.label = 2 -MINIMAP_CFG_HEIGHT_FIELD.has_default_value = false -MINIMAP_CFG_HEIGHT_FIELD.default_value = 0.0 -MINIMAP_CFG_HEIGHT_FIELD.type = 2 -MINIMAP_CFG_HEIGHT_FIELD.cpp_type = 6 - -MINIMAP_CFG_TEX_WIDTH_FIELD.name = "tex_width" -MINIMAP_CFG_TEX_WIDTH_FIELD.full_name = ".ftcfg.minimap_cfg.tex_width" -MINIMAP_CFG_TEX_WIDTH_FIELD.number = 6 -MINIMAP_CFG_TEX_WIDTH_FIELD.index = 5 -MINIMAP_CFG_TEX_WIDTH_FIELD.label = 2 -MINIMAP_CFG_TEX_WIDTH_FIELD.has_default_value = false -MINIMAP_CFG_TEX_WIDTH_FIELD.default_value = 0.0 -MINIMAP_CFG_TEX_WIDTH_FIELD.type = 2 -MINIMAP_CFG_TEX_WIDTH_FIELD.cpp_type = 6 - -MINIMAP_CFG_TEX_HEIGHT_FIELD.name = "tex_height" -MINIMAP_CFG_TEX_HEIGHT_FIELD.full_name = ".ftcfg.minimap_cfg.tex_height" -MINIMAP_CFG_TEX_HEIGHT_FIELD.number = 7 -MINIMAP_CFG_TEX_HEIGHT_FIELD.index = 6 -MINIMAP_CFG_TEX_HEIGHT_FIELD.label = 2 -MINIMAP_CFG_TEX_HEIGHT_FIELD.has_default_value = false -MINIMAP_CFG_TEX_HEIGHT_FIELD.default_value = 0.0 -MINIMAP_CFG_TEX_HEIGHT_FIELD.type = 2 -MINIMAP_CFG_TEX_HEIGHT_FIELD.cpp_type = 6 - -MINIMAP_CFG_RES_ID_FIELD.name = "res_id" -MINIMAP_CFG_RES_ID_FIELD.full_name = ".ftcfg.minimap_cfg.res_id" -MINIMAP_CFG_RES_ID_FIELD.number = 8 -MINIMAP_CFG_RES_ID_FIELD.index = 7 -MINIMAP_CFG_RES_ID_FIELD.label = 2 -MINIMAP_CFG_RES_ID_FIELD.has_default_value = false -MINIMAP_CFG_RES_ID_FIELD.default_value = 0 -MINIMAP_CFG_RES_ID_FIELD.type = 5 -MINIMAP_CFG_RES_ID_FIELD.cpp_type = 1 - -MINIMAP_CFG_ROTATION_FIELD.name = "rotation" -MINIMAP_CFG_ROTATION_FIELD.full_name = ".ftcfg.minimap_cfg.rotation" -MINIMAP_CFG_ROTATION_FIELD.number = 9 -MINIMAP_CFG_ROTATION_FIELD.index = 8 -MINIMAP_CFG_ROTATION_FIELD.label = 2 -MINIMAP_CFG_ROTATION_FIELD.has_default_value = false -MINIMAP_CFG_ROTATION_FIELD.default_value = 0.0 -MINIMAP_CFG_ROTATION_FIELD.type = 2 -MINIMAP_CFG_ROTATION_FIELD.cpp_type = 6 - -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.name = "minimap_radius" -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.full_name = ".ftcfg.minimap_cfg.minimap_radius" -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.number = 10 -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.index = 9 -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.label = 2 -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.has_default_value = false -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.default_value = 0.0 -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.type = 2 -MINIMAP_CFG_MINIMAP_RADIUS_FIELD.cpp_type = 6 - -MINIMAP_CFG.name = "minimap_cfg" -MINIMAP_CFG.full_name = ".ftcfg.minimap_cfg" -MINIMAP_CFG.nested_types = {} -MINIMAP_CFG.enum_types = {} -MINIMAP_CFG.fields = {MINIMAP_CFG_ID_FIELD, MINIMAP_CFG_POS_X_FIELD, MINIMAP_CFG_POS_Z_FIELD, MINIMAP_CFG_WIDTH_FIELD, MINIMAP_CFG_HEIGHT_FIELD, MINIMAP_CFG_TEX_WIDTH_FIELD, MINIMAP_CFG_TEX_HEIGHT_FIELD, MINIMAP_CFG_RES_ID_FIELD, MINIMAP_CFG_ROTATION_FIELD, MINIMAP_CFG_MINIMAP_RADIUS_FIELD} -MINIMAP_CFG.is_extendable = false -MINIMAP_CFG.extensions = {} -MINIMAP_CFGS_ITEMS_FIELD.name = "items" -MINIMAP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.minimap_cfgs.items" -MINIMAP_CFGS_ITEMS_FIELD.number = 1 -MINIMAP_CFGS_ITEMS_FIELD.index = 0 -MINIMAP_CFGS_ITEMS_FIELD.label = 3 -MINIMAP_CFGS_ITEMS_FIELD.has_default_value = false -MINIMAP_CFGS_ITEMS_FIELD.default_value = {} -MINIMAP_CFGS_ITEMS_FIELD.message_type = MINIMAP_CFG -MINIMAP_CFGS_ITEMS_FIELD.type = 11 -MINIMAP_CFGS_ITEMS_FIELD.cpp_type = 10 - -MINIMAP_CFGS.name = "minimap_cfgs" -MINIMAP_CFGS.full_name = ".ftcfg.minimap_cfgs" -MINIMAP_CFGS.nested_types = {} -MINIMAP_CFGS.enum_types = {} -MINIMAP_CFGS.fields = {MINIMAP_CFGS_ITEMS_FIELD} -MINIMAP_CFGS.is_extendable = false -MINIMAP_CFGS.extensions = {} -TREASURE_ROOMS_CFG_GROUPID_FIELD.name = "groupid" -TREASURE_ROOMS_CFG_GROUPID_FIELD.full_name = ".ftcfg.treasure_rooms_cfg.groupid" -TREASURE_ROOMS_CFG_GROUPID_FIELD.number = 1 -TREASURE_ROOMS_CFG_GROUPID_FIELD.index = 0 -TREASURE_ROOMS_CFG_GROUPID_FIELD.label = 2 -TREASURE_ROOMS_CFG_GROUPID_FIELD.has_default_value = false -TREASURE_ROOMS_CFG_GROUPID_FIELD.default_value = 0 -TREASURE_ROOMS_CFG_GROUPID_FIELD.type = 5 -TREASURE_ROOMS_CFG_GROUPID_FIELD.cpp_type = 1 - -TREASURE_ROOMS_CFG_AREA_ID_FIELD.name = "area_id" -TREASURE_ROOMS_CFG_AREA_ID_FIELD.full_name = ".ftcfg.treasure_rooms_cfg.area_id" -TREASURE_ROOMS_CFG_AREA_ID_FIELD.number = 2 -TREASURE_ROOMS_CFG_AREA_ID_FIELD.index = 1 -TREASURE_ROOMS_CFG_AREA_ID_FIELD.label = 2 -TREASURE_ROOMS_CFG_AREA_ID_FIELD.has_default_value = false -TREASURE_ROOMS_CFG_AREA_ID_FIELD.default_value = 0 -TREASURE_ROOMS_CFG_AREA_ID_FIELD.type = 5 -TREASURE_ROOMS_CFG_AREA_ID_FIELD.cpp_type = 1 - -TREASURE_ROOMS_CFG_RED_NUM_FIELD.name = "red_num" -TREASURE_ROOMS_CFG_RED_NUM_FIELD.full_name = ".ftcfg.treasure_rooms_cfg.red_num" -TREASURE_ROOMS_CFG_RED_NUM_FIELD.number = 3 -TREASURE_ROOMS_CFG_RED_NUM_FIELD.index = 2 -TREASURE_ROOMS_CFG_RED_NUM_FIELD.label = 2 -TREASURE_ROOMS_CFG_RED_NUM_FIELD.has_default_value = false -TREASURE_ROOMS_CFG_RED_NUM_FIELD.default_value = 0 -TREASURE_ROOMS_CFG_RED_NUM_FIELD.type = 5 -TREASURE_ROOMS_CFG_RED_NUM_FIELD.cpp_type = 1 - -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.name = "blue_num" -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.full_name = ".ftcfg.treasure_rooms_cfg.blue_num" -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.number = 4 -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.index = 3 -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.label = 2 -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.has_default_value = false -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.default_value = 0 -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.type = 5 -TREASURE_ROOMS_CFG_BLUE_NUM_FIELD.cpp_type = 1 - -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.name = "min_level" -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.full_name = ".ftcfg.treasure_rooms_cfg.min_level" -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.number = 5 -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.index = 4 -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.label = 2 -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.has_default_value = false -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.default_value = 0 -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.type = 5 -TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD.cpp_type = 1 - -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.name = "max_level" -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.full_name = ".ftcfg.treasure_rooms_cfg.max_level" -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.number = 6 -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.index = 5 -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.label = 2 -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.has_default_value = false -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.default_value = 0 -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.type = 5 -TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD.cpp_type = 1 - -TREASURE_ROOMS_CFG.name = "treasure_rooms_cfg" -TREASURE_ROOMS_CFG.full_name = ".ftcfg.treasure_rooms_cfg" -TREASURE_ROOMS_CFG.nested_types = {} -TREASURE_ROOMS_CFG.enum_types = {} -TREASURE_ROOMS_CFG.fields = {TREASURE_ROOMS_CFG_GROUPID_FIELD, TREASURE_ROOMS_CFG_AREA_ID_FIELD, TREASURE_ROOMS_CFG_RED_NUM_FIELD, TREASURE_ROOMS_CFG_BLUE_NUM_FIELD, TREASURE_ROOMS_CFG_MIN_LEVEL_FIELD, TREASURE_ROOMS_CFG_MAX_LEVEL_FIELD} -TREASURE_ROOMS_CFG.is_extendable = false -TREASURE_ROOMS_CFG.extensions = {} -TREASURE_ROOMS_CFGS_ITEMS_FIELD.name = "items" -TREASURE_ROOMS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.treasure_rooms_cfgs.items" -TREASURE_ROOMS_CFGS_ITEMS_FIELD.number = 1 -TREASURE_ROOMS_CFGS_ITEMS_FIELD.index = 0 -TREASURE_ROOMS_CFGS_ITEMS_FIELD.label = 3 -TREASURE_ROOMS_CFGS_ITEMS_FIELD.has_default_value = false -TREASURE_ROOMS_CFGS_ITEMS_FIELD.default_value = {} -TREASURE_ROOMS_CFGS_ITEMS_FIELD.message_type = TREASURE_ROOMS_CFG -TREASURE_ROOMS_CFGS_ITEMS_FIELD.type = 11 -TREASURE_ROOMS_CFGS_ITEMS_FIELD.cpp_type = 10 - -TREASURE_ROOMS_CFGS.name = "treasure_rooms_cfgs" -TREASURE_ROOMS_CFGS.full_name = ".ftcfg.treasure_rooms_cfgs" -TREASURE_ROOMS_CFGS.nested_types = {} -TREASURE_ROOMS_CFGS.enum_types = {} -TREASURE_ROOMS_CFGS.fields = {TREASURE_ROOMS_CFGS_ITEMS_FIELD} -TREASURE_ROOMS_CFGS.is_extendable = false -TREASURE_ROOMS_CFGS.extensions = {} -CRUSADE_BASE_CFG_LEVEL_FIELD.name = "level" -CRUSADE_BASE_CFG_LEVEL_FIELD.full_name = ".ftcfg.crusade_base_cfg.level" -CRUSADE_BASE_CFG_LEVEL_FIELD.number = 1 -CRUSADE_BASE_CFG_LEVEL_FIELD.index = 0 -CRUSADE_BASE_CFG_LEVEL_FIELD.label = 2 -CRUSADE_BASE_CFG_LEVEL_FIELD.has_default_value = false -CRUSADE_BASE_CFG_LEVEL_FIELD.default_value = 0 -CRUSADE_BASE_CFG_LEVEL_FIELD.type = 5 -CRUSADE_BASE_CFG_LEVEL_FIELD.cpp_type = 1 - -CRUSADE_BASE_CFG_DESC_FIELD.name = "desc" -CRUSADE_BASE_CFG_DESC_FIELD.full_name = ".ftcfg.crusade_base_cfg.desc" -CRUSADE_BASE_CFG_DESC_FIELD.number = 2 -CRUSADE_BASE_CFG_DESC_FIELD.index = 1 -CRUSADE_BASE_CFG_DESC_FIELD.label = 2 -CRUSADE_BASE_CFG_DESC_FIELD.has_default_value = false -CRUSADE_BASE_CFG_DESC_FIELD.default_value = "" -CRUSADE_BASE_CFG_DESC_FIELD.type = 9 -CRUSADE_BASE_CFG_DESC_FIELD.cpp_type = 9 - -CRUSADE_BASE_CFG_SCENE_ID_FIELD.name = "scene_id" -CRUSADE_BASE_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.crusade_base_cfg.scene_id" -CRUSADE_BASE_CFG_SCENE_ID_FIELD.number = 3 -CRUSADE_BASE_CFG_SCENE_ID_FIELD.index = 2 -CRUSADE_BASE_CFG_SCENE_ID_FIELD.label = 2 -CRUSADE_BASE_CFG_SCENE_ID_FIELD.has_default_value = false -CRUSADE_BASE_CFG_SCENE_ID_FIELD.default_value = 0 -CRUSADE_BASE_CFG_SCENE_ID_FIELD.type = 5 -CRUSADE_BASE_CFG_SCENE_ID_FIELD.cpp_type = 1 - -CRUSADE_BASE_CFG_NPC_ID_FIELD.name = "npc_id" -CRUSADE_BASE_CFG_NPC_ID_FIELD.full_name = ".ftcfg.crusade_base_cfg.npc_id" -CRUSADE_BASE_CFG_NPC_ID_FIELD.number = 4 -CRUSADE_BASE_CFG_NPC_ID_FIELD.index = 3 -CRUSADE_BASE_CFG_NPC_ID_FIELD.label = 3 -CRUSADE_BASE_CFG_NPC_ID_FIELD.has_default_value = false -CRUSADE_BASE_CFG_NPC_ID_FIELD.default_value = {} -CRUSADE_BASE_CFG_NPC_ID_FIELD.type = 5 -CRUSADE_BASE_CFG_NPC_ID_FIELD.cpp_type = 1 - -CRUSADE_BASE_CFG_GROUP_ID_FIELD.name = "group_id" -CRUSADE_BASE_CFG_GROUP_ID_FIELD.full_name = ".ftcfg.crusade_base_cfg.group_id" -CRUSADE_BASE_CFG_GROUP_ID_FIELD.number = 5 -CRUSADE_BASE_CFG_GROUP_ID_FIELD.index = 4 -CRUSADE_BASE_CFG_GROUP_ID_FIELD.label = 2 -CRUSADE_BASE_CFG_GROUP_ID_FIELD.has_default_value = false -CRUSADE_BASE_CFG_GROUP_ID_FIELD.default_value = 0 -CRUSADE_BASE_CFG_GROUP_ID_FIELD.type = 5 -CRUSADE_BASE_CFG_GROUP_ID_FIELD.cpp_type = 1 - -CRUSADE_BASE_CFG.name = "crusade_base_cfg" -CRUSADE_BASE_CFG.full_name = ".ftcfg.crusade_base_cfg" -CRUSADE_BASE_CFG.nested_types = {} -CRUSADE_BASE_CFG.enum_types = {} -CRUSADE_BASE_CFG.fields = {CRUSADE_BASE_CFG_LEVEL_FIELD, CRUSADE_BASE_CFG_DESC_FIELD, CRUSADE_BASE_CFG_SCENE_ID_FIELD, CRUSADE_BASE_CFG_NPC_ID_FIELD, CRUSADE_BASE_CFG_GROUP_ID_FIELD} -CRUSADE_BASE_CFG.is_extendable = false -CRUSADE_BASE_CFG.extensions = {} -CRUSADE_BASE_CFGS_ITEMS_FIELD.name = "items" -CRUSADE_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.crusade_base_cfgs.items" -CRUSADE_BASE_CFGS_ITEMS_FIELD.number = 1 -CRUSADE_BASE_CFGS_ITEMS_FIELD.index = 0 -CRUSADE_BASE_CFGS_ITEMS_FIELD.label = 3 -CRUSADE_BASE_CFGS_ITEMS_FIELD.has_default_value = false -CRUSADE_BASE_CFGS_ITEMS_FIELD.default_value = {} -CRUSADE_BASE_CFGS_ITEMS_FIELD.message_type = CRUSADE_BASE_CFG -CRUSADE_BASE_CFGS_ITEMS_FIELD.type = 11 -CRUSADE_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -CRUSADE_BASE_CFGS.name = "crusade_base_cfgs" -CRUSADE_BASE_CFGS.full_name = ".ftcfg.crusade_base_cfgs" -CRUSADE_BASE_CFGS.nested_types = {} -CRUSADE_BASE_CFGS.enum_types = {} -CRUSADE_BASE_CFGS.fields = {CRUSADE_BASE_CFGS_ITEMS_FIELD} -CRUSADE_BASE_CFGS.is_extendable = false -CRUSADE_BASE_CFGS.extensions = {} -CRUSADE_DUNGON_CFG_NPCID_FIELD.name = "npcid" -CRUSADE_DUNGON_CFG_NPCID_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.npcid" -CRUSADE_DUNGON_CFG_NPCID_FIELD.number = 1 -CRUSADE_DUNGON_CFG_NPCID_FIELD.index = 0 -CRUSADE_DUNGON_CFG_NPCID_FIELD.label = 2 -CRUSADE_DUNGON_CFG_NPCID_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_NPCID_FIELD.default_value = 0 -CRUSADE_DUNGON_CFG_NPCID_FIELD.type = 5 -CRUSADE_DUNGON_CFG_NPCID_FIELD.cpp_type = 1 - -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.name = "map_id" -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.map_id" -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.number = 2 -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.index = 1 -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.label = 3 -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.default_value = {} -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.type = 5 -CRUSADE_DUNGON_CFG_MAP_ID_FIELD.cpp_type = 1 - -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.name = "npc_stagetype" -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.npc_stagetype" -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.number = 3 -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.index = 2 -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.label = 2 -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.default_value = 0 -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.type = 5 -CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD.cpp_type = 1 - -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.name = "reward_id" -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.reward_id" -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.number = 4 -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.index = 3 -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.label = 2 -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.default_value = 0 -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.type = 5 -CRUSADE_DUNGON_CFG_REWARD_ID_FIELD.cpp_type = 1 - -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.name = "birth_x" -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.birth_x" -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.number = 5 -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.index = 4 -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.label = 3 -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.default_value = {} -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.type = 2 -CRUSADE_DUNGON_CFG_BIRTH_X_FIELD.cpp_type = 6 - -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.name = "birth_y" -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.birth_y" -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.number = 6 -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.index = 5 -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.label = 3 -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.default_value = {} -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.type = 2 -CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD.cpp_type = 6 - -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.name = "birth_z" -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.birth_z" -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.number = 7 -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.index = 6 -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.label = 3 -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.default_value = {} -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.type = 2 -CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD.cpp_type = 6 - -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.name = "difficult" -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.full_name = ".ftcfg.crusade_dungon_cfg.difficult" -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.number = 8 -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.index = 7 -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.label = 2 -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.has_default_value = false -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.default_value = 0 -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.type = 5 -CRUSADE_DUNGON_CFG_DIFFICULT_FIELD.cpp_type = 1 - -CRUSADE_DUNGON_CFG.name = "crusade_dungon_cfg" -CRUSADE_DUNGON_CFG.full_name = ".ftcfg.crusade_dungon_cfg" -CRUSADE_DUNGON_CFG.nested_types = {} -CRUSADE_DUNGON_CFG.enum_types = {} -CRUSADE_DUNGON_CFG.fields = {CRUSADE_DUNGON_CFG_NPCID_FIELD, CRUSADE_DUNGON_CFG_MAP_ID_FIELD, CRUSADE_DUNGON_CFG_NPC_STAGETYPE_FIELD, CRUSADE_DUNGON_CFG_REWARD_ID_FIELD, CRUSADE_DUNGON_CFG_BIRTH_X_FIELD, CRUSADE_DUNGON_CFG_BIRTH_Y_FIELD, CRUSADE_DUNGON_CFG_BIRTH_Z_FIELD, CRUSADE_DUNGON_CFG_DIFFICULT_FIELD} -CRUSADE_DUNGON_CFG.is_extendable = false -CRUSADE_DUNGON_CFG.extensions = {} -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.name = "items" -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.full_name = ".ftcfg.crusade_dungon_cfgs.items" -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.number = 1 -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.index = 0 -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.label = 3 -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.has_default_value = false -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.default_value = {} -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.message_type = CRUSADE_DUNGON_CFG -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.type = 11 -CRUSADE_DUNGON_CFGS_ITEMS_FIELD.cpp_type = 10 - -CRUSADE_DUNGON_CFGS.name = "crusade_dungon_cfgs" -CRUSADE_DUNGON_CFGS.full_name = ".ftcfg.crusade_dungon_cfgs" -CRUSADE_DUNGON_CFGS.nested_types = {} -CRUSADE_DUNGON_CFGS.enum_types = {} -CRUSADE_DUNGON_CFGS.fields = {CRUSADE_DUNGON_CFGS_ITEMS_FIELD} -CRUSADE_DUNGON_CFGS.is_extendable = false -CRUSADE_DUNGON_CFGS.extensions = {} -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.name = "prop_type" -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.full_name = ".ftcfg.strength_convert_cfg.prop_type" -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.number = 1 -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.index = 0 -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.label = 2 -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.has_default_value = false -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.default_value = nil -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.type = 14 -STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD.cpp_type = 8 - -STRENGTH_CONVERT_CFG_FACTOR_FIELD.name = "factor" -STRENGTH_CONVERT_CFG_FACTOR_FIELD.full_name = ".ftcfg.strength_convert_cfg.factor" -STRENGTH_CONVERT_CFG_FACTOR_FIELD.number = 2 -STRENGTH_CONVERT_CFG_FACTOR_FIELD.index = 1 -STRENGTH_CONVERT_CFG_FACTOR_FIELD.label = 2 -STRENGTH_CONVERT_CFG_FACTOR_FIELD.has_default_value = false -STRENGTH_CONVERT_CFG_FACTOR_FIELD.default_value = 0.0 -STRENGTH_CONVERT_CFG_FACTOR_FIELD.type = 1 -STRENGTH_CONVERT_CFG_FACTOR_FIELD.cpp_type = 5 - -STRENGTH_CONVERT_CFG.name = "strength_convert_cfg" -STRENGTH_CONVERT_CFG.full_name = ".ftcfg.strength_convert_cfg" -STRENGTH_CONVERT_CFG.nested_types = {} -STRENGTH_CONVERT_CFG.enum_types = {} -STRENGTH_CONVERT_CFG.fields = {STRENGTH_CONVERT_CFG_PROP_TYPE_FIELD, STRENGTH_CONVERT_CFG_FACTOR_FIELD} -STRENGTH_CONVERT_CFG.is_extendable = false -STRENGTH_CONVERT_CFG.extensions = {} -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.name = "items" -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.strength_convert_cfgs.items" -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.number = 1 -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.index = 0 -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.label = 3 -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.has_default_value = false -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.default_value = {} -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.message_type = STRENGTH_CONVERT_CFG -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.type = 11 -STRENGTH_CONVERT_CFGS_ITEMS_FIELD.cpp_type = 10 - -STRENGTH_CONVERT_CFGS.name = "strength_convert_cfgs" -STRENGTH_CONVERT_CFGS.full_name = ".ftcfg.strength_convert_cfgs" -STRENGTH_CONVERT_CFGS.nested_types = {} -STRENGTH_CONVERT_CFGS.enum_types = {} -STRENGTH_CONVERT_CFGS.fields = {STRENGTH_CONVERT_CFGS_ITEMS_FIELD} -STRENGTH_CONVERT_CFGS.is_extendable = false -STRENGTH_CONVERT_CFGS.extensions = {} -SKILL_SUMMONED_NPC_CFG_ID_FIELD.name = "id" -SKILL_SUMMONED_NPC_CFG_ID_FIELD.full_name = ".ftcfg.skill_summoned_npc_cfg.id" -SKILL_SUMMONED_NPC_CFG_ID_FIELD.number = 1 -SKILL_SUMMONED_NPC_CFG_ID_FIELD.index = 0 -SKILL_SUMMONED_NPC_CFG_ID_FIELD.label = 2 -SKILL_SUMMONED_NPC_CFG_ID_FIELD.has_default_value = false -SKILL_SUMMONED_NPC_CFG_ID_FIELD.default_value = 0 -SKILL_SUMMONED_NPC_CFG_ID_FIELD.type = 5 -SKILL_SUMMONED_NPC_CFG_ID_FIELD.cpp_type = 1 - -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.name = "desc" -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.full_name = ".ftcfg.skill_summoned_npc_cfg.desc" -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.number = 2 -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.index = 1 -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.label = 2 -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.has_default_value = false -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.default_value = "" -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.type = 9 -SKILL_SUMMONED_NPC_CFG_DESC_FIELD.cpp_type = 9 - -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.name = "npc_id" -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.full_name = ".ftcfg.skill_summoned_npc_cfg.npc_id" -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.number = 3 -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.index = 2 -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.label = 2 -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.has_default_value = false -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.default_value = 0 -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.type = 5 -SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD.cpp_type = 1 - -SKILL_SUMMONED_NPC_CFG.name = "skill_summoned_npc_cfg" -SKILL_SUMMONED_NPC_CFG.full_name = ".ftcfg.skill_summoned_npc_cfg" -SKILL_SUMMONED_NPC_CFG.nested_types = {} -SKILL_SUMMONED_NPC_CFG.enum_types = {} -SKILL_SUMMONED_NPC_CFG.fields = {SKILL_SUMMONED_NPC_CFG_ID_FIELD, SKILL_SUMMONED_NPC_CFG_DESC_FIELD, SKILL_SUMMONED_NPC_CFG_NPC_ID_FIELD} -SKILL_SUMMONED_NPC_CFG.is_extendable = false -SKILL_SUMMONED_NPC_CFG.extensions = {} -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.name = "items" -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.full_name = ".ftcfg.skill_summoned_npc_cfgs.items" -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.number = 1 -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.index = 0 -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.label = 3 -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.has_default_value = false -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.default_value = {} -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.message_type = SKILL_SUMMONED_NPC_CFG -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.type = 11 -SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD.cpp_type = 10 - -SKILL_SUMMONED_NPC_CFGS.name = "skill_summoned_npc_cfgs" -SKILL_SUMMONED_NPC_CFGS.full_name = ".ftcfg.skill_summoned_npc_cfgs" -SKILL_SUMMONED_NPC_CFGS.nested_types = {} -SKILL_SUMMONED_NPC_CFGS.enum_types = {} -SKILL_SUMMONED_NPC_CFGS.fields = {SKILL_SUMMONED_NPC_CFGS_ITEMS_FIELD} -SKILL_SUMMONED_NPC_CFGS.is_extendable = false -SKILL_SUMMONED_NPC_CFGS.extensions = {} -SKILL_SUMMONED_CFG_ID_FIELD.name = "id" -SKILL_SUMMONED_CFG_ID_FIELD.full_name = ".ftcfg.skill_summoned_cfg.id" -SKILL_SUMMONED_CFG_ID_FIELD.number = 1 -SKILL_SUMMONED_CFG_ID_FIELD.index = 0 -SKILL_SUMMONED_CFG_ID_FIELD.label = 2 -SKILL_SUMMONED_CFG_ID_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_ID_FIELD.default_value = 0 -SKILL_SUMMONED_CFG_ID_FIELD.type = 5 -SKILL_SUMMONED_CFG_ID_FIELD.cpp_type = 1 - -SKILL_SUMMONED_CFG_DESC_FIELD.name = "desc" -SKILL_SUMMONED_CFG_DESC_FIELD.full_name = ".ftcfg.skill_summoned_cfg.desc" -SKILL_SUMMONED_CFG_DESC_FIELD.number = 2 -SKILL_SUMMONED_CFG_DESC_FIELD.index = 1 -SKILL_SUMMONED_CFG_DESC_FIELD.label = 2 -SKILL_SUMMONED_CFG_DESC_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_DESC_FIELD.default_value = "" -SKILL_SUMMONED_CFG_DESC_FIELD.type = 9 -SKILL_SUMMONED_CFG_DESC_FIELD.cpp_type = 9 - -SKILL_SUMMONED_CFG_RING_FIELD.name = "ring" -SKILL_SUMMONED_CFG_RING_FIELD.full_name = ".ftcfg.skill_summoned_cfg.ring" -SKILL_SUMMONED_CFG_RING_FIELD.number = 3 -SKILL_SUMMONED_CFG_RING_FIELD.index = 2 -SKILL_SUMMONED_CFG_RING_FIELD.label = 2 -SKILL_SUMMONED_CFG_RING_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_RING_FIELD.default_value = 0 -SKILL_SUMMONED_CFG_RING_FIELD.type = 5 -SKILL_SUMMONED_CFG_RING_FIELD.cpp_type = 1 - -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.name = "exist_time" -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.full_name = ".ftcfg.skill_summoned_cfg.exist_time" -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.number = 4 -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.index = 3 -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.label = 2 -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.default_value = 0 -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.type = 5 -SKILL_SUMMONED_CFG_EXIST_TIME_FIELD.cpp_type = 1 - -SKILL_SUMMONED_CFG_SPEED_FIELD.name = "speed" -SKILL_SUMMONED_CFG_SPEED_FIELD.full_name = ".ftcfg.skill_summoned_cfg.speed" -SKILL_SUMMONED_CFG_SPEED_FIELD.number = 5 -SKILL_SUMMONED_CFG_SPEED_FIELD.index = 4 -SKILL_SUMMONED_CFG_SPEED_FIELD.label = 2 -SKILL_SUMMONED_CFG_SPEED_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_SPEED_FIELD.default_value = 0.0 -SKILL_SUMMONED_CFG_SPEED_FIELD.type = 2 -SKILL_SUMMONED_CFG_SPEED_FIELD.cpp_type = 6 - -SKILL_SUMMONED_CFG_EFF_START_FIELD.name = "eff_start" -SKILL_SUMMONED_CFG_EFF_START_FIELD.full_name = ".ftcfg.skill_summoned_cfg.eff_start" -SKILL_SUMMONED_CFG_EFF_START_FIELD.number = 6 -SKILL_SUMMONED_CFG_EFF_START_FIELD.index = 5 -SKILL_SUMMONED_CFG_EFF_START_FIELD.label = 2 -SKILL_SUMMONED_CFG_EFF_START_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EFF_START_FIELD.default_value = "" -SKILL_SUMMONED_CFG_EFF_START_FIELD.type = 9 -SKILL_SUMMONED_CFG_EFF_START_FIELD.cpp_type = 9 - -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.name = "eff_start_time" -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.full_name = ".ftcfg.skill_summoned_cfg.eff_start_time" -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.number = 7 -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.index = 6 -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.label = 2 -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.default_value = 0 -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.type = 5 -SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD.cpp_type = 1 - -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.name = "eff_keep" -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.full_name = ".ftcfg.skill_summoned_cfg.eff_keep" -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.number = 8 -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.index = 7 -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.label = 2 -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.default_value = "" -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.type = 9 -SKILL_SUMMONED_CFG_EFF_KEEP_FIELD.cpp_type = 9 - -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.name = "eff_destroy" -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.full_name = ".ftcfg.skill_summoned_cfg.eff_destroy" -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.number = 9 -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.index = 8 -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.label = 2 -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.default_value = "" -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.type = 9 -SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD.cpp_type = 9 - -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.name = "eff_destroy_time" -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.full_name = ".ftcfg.skill_summoned_cfg.eff_destroy_time" -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.number = 10 -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.index = 9 -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.label = 2 -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.default_value = 0 -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.type = 5 -SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD.cpp_type = 1 - -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.name = "eff_keep_height" -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.full_name = ".ftcfg.skill_summoned_cfg.eff_keep_height" -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.number = 11 -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.index = 10 -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.label = 2 -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.default_value = 0.0 -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.type = 2 -SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD.cpp_type = 6 - -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.name = "eff_destroy_height" -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.full_name = ".ftcfg.skill_summoned_cfg.eff_destroy_height" -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.number = 12 -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.index = 11 -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.label = 2 -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.has_default_value = false -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.default_value = 0.0 -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.type = 2 -SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD.cpp_type = 6 - -SKILL_SUMMONED_CFG.name = "skill_summoned_cfg" -SKILL_SUMMONED_CFG.full_name = ".ftcfg.skill_summoned_cfg" -SKILL_SUMMONED_CFG.nested_types = {} -SKILL_SUMMONED_CFG.enum_types = {} -SKILL_SUMMONED_CFG.fields = {SKILL_SUMMONED_CFG_ID_FIELD, SKILL_SUMMONED_CFG_DESC_FIELD, SKILL_SUMMONED_CFG_RING_FIELD, SKILL_SUMMONED_CFG_EXIST_TIME_FIELD, SKILL_SUMMONED_CFG_SPEED_FIELD, SKILL_SUMMONED_CFG_EFF_START_FIELD, SKILL_SUMMONED_CFG_EFF_START_TIME_FIELD, SKILL_SUMMONED_CFG_EFF_KEEP_FIELD, SKILL_SUMMONED_CFG_EFF_DESTROY_FIELD, SKILL_SUMMONED_CFG_EFF_DESTROY_TIME_FIELD, SKILL_SUMMONED_CFG_EFF_KEEP_HEIGHT_FIELD, SKILL_SUMMONED_CFG_EFF_DESTROY_HEIGHT_FIELD} -SKILL_SUMMONED_CFG.is_extendable = false -SKILL_SUMMONED_CFG.extensions = {} -SKILL_SUMMONED_CFGS_ITEMS_FIELD.name = "items" -SKILL_SUMMONED_CFGS_ITEMS_FIELD.full_name = ".ftcfg.skill_summoned_cfgs.items" -SKILL_SUMMONED_CFGS_ITEMS_FIELD.number = 1 -SKILL_SUMMONED_CFGS_ITEMS_FIELD.index = 0 -SKILL_SUMMONED_CFGS_ITEMS_FIELD.label = 3 -SKILL_SUMMONED_CFGS_ITEMS_FIELD.has_default_value = false -SKILL_SUMMONED_CFGS_ITEMS_FIELD.default_value = {} -SKILL_SUMMONED_CFGS_ITEMS_FIELD.message_type = SKILL_SUMMONED_CFG -SKILL_SUMMONED_CFGS_ITEMS_FIELD.type = 11 -SKILL_SUMMONED_CFGS_ITEMS_FIELD.cpp_type = 10 - -SKILL_SUMMONED_CFGS.name = "skill_summoned_cfgs" -SKILL_SUMMONED_CFGS.full_name = ".ftcfg.skill_summoned_cfgs" -SKILL_SUMMONED_CFGS.nested_types = {} -SKILL_SUMMONED_CFGS.enum_types = {} -SKILL_SUMMONED_CFGS.fields = {SKILL_SUMMONED_CFGS_ITEMS_FIELD} -SKILL_SUMMONED_CFGS.is_extendable = false -SKILL_SUMMONED_CFGS.extensions = {} -CLUE_CFG_CLUE_ID_FIELD.name = "clue_id" -CLUE_CFG_CLUE_ID_FIELD.full_name = ".ftcfg.clue_cfg.clue_id" -CLUE_CFG_CLUE_ID_FIELD.number = 1 -CLUE_CFG_CLUE_ID_FIELD.index = 0 -CLUE_CFG_CLUE_ID_FIELD.label = 2 -CLUE_CFG_CLUE_ID_FIELD.has_default_value = false -CLUE_CFG_CLUE_ID_FIELD.default_value = 0 -CLUE_CFG_CLUE_ID_FIELD.type = 5 -CLUE_CFG_CLUE_ID_FIELD.cpp_type = 1 - -CLUE_CFG_MAP_ID_FIELD.name = "map_id" -CLUE_CFG_MAP_ID_FIELD.full_name = ".ftcfg.clue_cfg.map_id" -CLUE_CFG_MAP_ID_FIELD.number = 2 -CLUE_CFG_MAP_ID_FIELD.index = 1 -CLUE_CFG_MAP_ID_FIELD.label = 2 -CLUE_CFG_MAP_ID_FIELD.has_default_value = false -CLUE_CFG_MAP_ID_FIELD.default_value = 0 -CLUE_CFG_MAP_ID_FIELD.type = 5 -CLUE_CFG_MAP_ID_FIELD.cpp_type = 1 - -CLUE_CFG_SCENE_ID_FIELD.name = "scene_id" -CLUE_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.clue_cfg.scene_id" -CLUE_CFG_SCENE_ID_FIELD.number = 3 -CLUE_CFG_SCENE_ID_FIELD.index = 2 -CLUE_CFG_SCENE_ID_FIELD.label = 2 -CLUE_CFG_SCENE_ID_FIELD.has_default_value = false -CLUE_CFG_SCENE_ID_FIELD.default_value = 0 -CLUE_CFG_SCENE_ID_FIELD.type = 5 -CLUE_CFG_SCENE_ID_FIELD.cpp_type = 1 - -CLUE_CFG_POS_FIELD.name = "pos" -CLUE_CFG_POS_FIELD.full_name = ".ftcfg.clue_cfg.pos" -CLUE_CFG_POS_FIELD.number = 4 -CLUE_CFG_POS_FIELD.index = 3 -CLUE_CFG_POS_FIELD.label = 3 -CLUE_CFG_POS_FIELD.has_default_value = false -CLUE_CFG_POS_FIELD.default_value = {} -CLUE_CFG_POS_FIELD.type = 2 -CLUE_CFG_POS_FIELD.cpp_type = 6 - -CLUE_CFG_DESC_FIELD.name = "desc" -CLUE_CFG_DESC_FIELD.full_name = ".ftcfg.clue_cfg.desc" -CLUE_CFG_DESC_FIELD.number = 5 -CLUE_CFG_DESC_FIELD.index = 4 -CLUE_CFG_DESC_FIELD.label = 2 -CLUE_CFG_DESC_FIELD.has_default_value = false -CLUE_CFG_DESC_FIELD.default_value = "" -CLUE_CFG_DESC_FIELD.type = 9 -CLUE_CFG_DESC_FIELD.cpp_type = 9 - -CLUE_CFG_BOXES_POS_X_FIELD.name = "boxes_pos_x" -CLUE_CFG_BOXES_POS_X_FIELD.full_name = ".ftcfg.clue_cfg.boxes_pos_x" -CLUE_CFG_BOXES_POS_X_FIELD.number = 6 -CLUE_CFG_BOXES_POS_X_FIELD.index = 5 -CLUE_CFG_BOXES_POS_X_FIELD.label = 3 -CLUE_CFG_BOXES_POS_X_FIELD.has_default_value = false -CLUE_CFG_BOXES_POS_X_FIELD.default_value = {} -CLUE_CFG_BOXES_POS_X_FIELD.type = 2 -CLUE_CFG_BOXES_POS_X_FIELD.cpp_type = 6 - -CLUE_CFG_BOXES_POS_Z_FIELD.name = "boxes_pos_z" -CLUE_CFG_BOXES_POS_Z_FIELD.full_name = ".ftcfg.clue_cfg.boxes_pos_z" -CLUE_CFG_BOXES_POS_Z_FIELD.number = 7 -CLUE_CFG_BOXES_POS_Z_FIELD.index = 6 -CLUE_CFG_BOXES_POS_Z_FIELD.label = 3 -CLUE_CFG_BOXES_POS_Z_FIELD.has_default_value = false -CLUE_CFG_BOXES_POS_Z_FIELD.default_value = {} -CLUE_CFG_BOXES_POS_Z_FIELD.type = 2 -CLUE_CFG_BOXES_POS_Z_FIELD.cpp_type = 6 - -CLUE_CFG_COST_ID_FIELD.name = "cost_id" -CLUE_CFG_COST_ID_FIELD.full_name = ".ftcfg.clue_cfg.cost_id" -CLUE_CFG_COST_ID_FIELD.number = 8 -CLUE_CFG_COST_ID_FIELD.index = 7 -CLUE_CFG_COST_ID_FIELD.label = 2 -CLUE_CFG_COST_ID_FIELD.has_default_value = false -CLUE_CFG_COST_ID_FIELD.default_value = 0 -CLUE_CFG_COST_ID_FIELD.type = 5 -CLUE_CFG_COST_ID_FIELD.cpp_type = 1 - -CLUE_CFG_CORE_COORDINATE_FIELD.name = "core_coordinate" -CLUE_CFG_CORE_COORDINATE_FIELD.full_name = ".ftcfg.clue_cfg.core_coordinate" -CLUE_CFG_CORE_COORDINATE_FIELD.number = 9 -CLUE_CFG_CORE_COORDINATE_FIELD.index = 8 -CLUE_CFG_CORE_COORDINATE_FIELD.label = 3 -CLUE_CFG_CORE_COORDINATE_FIELD.has_default_value = false -CLUE_CFG_CORE_COORDINATE_FIELD.default_value = {} -CLUE_CFG_CORE_COORDINATE_FIELD.type = 5 -CLUE_CFG_CORE_COORDINATE_FIELD.cpp_type = 1 - -CLUE_CFG_MAP_RANGE_FIELD.name = "map_range" -CLUE_CFG_MAP_RANGE_FIELD.full_name = ".ftcfg.clue_cfg.map_range" -CLUE_CFG_MAP_RANGE_FIELD.number = 10 -CLUE_CFG_MAP_RANGE_FIELD.index = 9 -CLUE_CFG_MAP_RANGE_FIELD.label = 2 -CLUE_CFG_MAP_RANGE_FIELD.has_default_value = false -CLUE_CFG_MAP_RANGE_FIELD.default_value = 0 -CLUE_CFG_MAP_RANGE_FIELD.type = 5 -CLUE_CFG_MAP_RANGE_FIELD.cpp_type = 1 - -CLUE_CFG.name = "clue_cfg" -CLUE_CFG.full_name = ".ftcfg.clue_cfg" -CLUE_CFG.nested_types = {} -CLUE_CFG.enum_types = {} -CLUE_CFG.fields = {CLUE_CFG_CLUE_ID_FIELD, CLUE_CFG_MAP_ID_FIELD, CLUE_CFG_SCENE_ID_FIELD, CLUE_CFG_POS_FIELD, CLUE_CFG_DESC_FIELD, CLUE_CFG_BOXES_POS_X_FIELD, CLUE_CFG_BOXES_POS_Z_FIELD, CLUE_CFG_COST_ID_FIELD, CLUE_CFG_CORE_COORDINATE_FIELD, CLUE_CFG_MAP_RANGE_FIELD} -CLUE_CFG.is_extendable = false -CLUE_CFG.extensions = {} -CLUE_CFGS_ITEMS_FIELD.name = "items" -CLUE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.clue_cfgs.items" -CLUE_CFGS_ITEMS_FIELD.number = 1 -CLUE_CFGS_ITEMS_FIELD.index = 0 -CLUE_CFGS_ITEMS_FIELD.label = 3 -CLUE_CFGS_ITEMS_FIELD.has_default_value = false -CLUE_CFGS_ITEMS_FIELD.default_value = {} -CLUE_CFGS_ITEMS_FIELD.message_type = CLUE_CFG -CLUE_CFGS_ITEMS_FIELD.type = 11 -CLUE_CFGS_ITEMS_FIELD.cpp_type = 10 - -CLUE_CFGS.name = "clue_cfgs" -CLUE_CFGS.full_name = ".ftcfg.clue_cfgs" -CLUE_CFGS.nested_types = {} -CLUE_CFGS.enum_types = {} -CLUE_CFGS.fields = {CLUE_CFGS_ITEMS_FIELD} -CLUE_CFGS.is_extendable = false -CLUE_CFGS.extensions = {} -BOXS_CFG_BOXES_ID_FIELD.name = "boxes_id" -BOXS_CFG_BOXES_ID_FIELD.full_name = ".ftcfg.boxs_cfg.boxes_id" -BOXS_CFG_BOXES_ID_FIELD.number = 1 -BOXS_CFG_BOXES_ID_FIELD.index = 0 -BOXS_CFG_BOXES_ID_FIELD.label = 2 -BOXS_CFG_BOXES_ID_FIELD.has_default_value = false -BOXS_CFG_BOXES_ID_FIELD.default_value = 0 -BOXS_CFG_BOXES_ID_FIELD.type = 5 -BOXS_CFG_BOXES_ID_FIELD.cpp_type = 1 - -BOXS_CFG_BOX_ID_FIELD.name = "box_id" -BOXS_CFG_BOX_ID_FIELD.full_name = ".ftcfg.boxs_cfg.box_id" -BOXS_CFG_BOX_ID_FIELD.number = 2 -BOXS_CFG_BOX_ID_FIELD.index = 1 -BOXS_CFG_BOX_ID_FIELD.label = 3 -BOXS_CFG_BOX_ID_FIELD.has_default_value = false -BOXS_CFG_BOX_ID_FIELD.default_value = {} -BOXS_CFG_BOX_ID_FIELD.type = 5 -BOXS_CFG_BOX_ID_FIELD.cpp_type = 1 - -BOXS_CFG_BOX_RATE_FIELD.name = "box_rate" -BOXS_CFG_BOX_RATE_FIELD.full_name = ".ftcfg.boxs_cfg.box_rate" -BOXS_CFG_BOX_RATE_FIELD.number = 3 -BOXS_CFG_BOX_RATE_FIELD.index = 2 -BOXS_CFG_BOX_RATE_FIELD.label = 3 -BOXS_CFG_BOX_RATE_FIELD.has_default_value = false -BOXS_CFG_BOX_RATE_FIELD.default_value = {} -BOXS_CFG_BOX_RATE_FIELD.type = 5 -BOXS_CFG_BOX_RATE_FIELD.cpp_type = 1 - -BOXS_CFG.name = "boxs_cfg" -BOXS_CFG.full_name = ".ftcfg.boxs_cfg" -BOXS_CFG.nested_types = {} -BOXS_CFG.enum_types = {} -BOXS_CFG.fields = {BOXS_CFG_BOXES_ID_FIELD, BOXS_CFG_BOX_ID_FIELD, BOXS_CFG_BOX_RATE_FIELD} -BOXS_CFG.is_extendable = false -BOXS_CFG.extensions = {} -BOXS_CFGS_ITEMS_FIELD.name = "items" -BOXS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.boxs_cfgs.items" -BOXS_CFGS_ITEMS_FIELD.number = 1 -BOXS_CFGS_ITEMS_FIELD.index = 0 -BOXS_CFGS_ITEMS_FIELD.label = 3 -BOXS_CFGS_ITEMS_FIELD.has_default_value = false -BOXS_CFGS_ITEMS_FIELD.default_value = {} -BOXS_CFGS_ITEMS_FIELD.message_type = BOXS_CFG -BOXS_CFGS_ITEMS_FIELD.type = 11 -BOXS_CFGS_ITEMS_FIELD.cpp_type = 10 - -BOXS_CFGS.name = "boxs_cfgs" -BOXS_CFGS.full_name = ".ftcfg.boxs_cfgs" -BOXS_CFGS.nested_types = {} -BOXS_CFGS.enum_types = {} -BOXS_CFGS.fields = {BOXS_CFGS_ITEMS_FIELD} -BOXS_CFGS.is_extendable = false -BOXS_CFGS.extensions = {} -BOX_COLLECT_CFG_BOX_ID_FIELD.name = "box_id" -BOX_COLLECT_CFG_BOX_ID_FIELD.full_name = ".ftcfg.box_collect_cfg.box_id" -BOX_COLLECT_CFG_BOX_ID_FIELD.number = 1 -BOX_COLLECT_CFG_BOX_ID_FIELD.index = 0 -BOX_COLLECT_CFG_BOX_ID_FIELD.label = 2 -BOX_COLLECT_CFG_BOX_ID_FIELD.has_default_value = false -BOX_COLLECT_CFG_BOX_ID_FIELD.default_value = 0 -BOX_COLLECT_CFG_BOX_ID_FIELD.type = 5 -BOX_COLLECT_CFG_BOX_ID_FIELD.cpp_type = 1 - -BOX_COLLECT_CFG_BOX_RES_FIELD.name = "box_res" -BOX_COLLECT_CFG_BOX_RES_FIELD.full_name = ".ftcfg.box_collect_cfg.box_res" -BOX_COLLECT_CFG_BOX_RES_FIELD.number = 2 -BOX_COLLECT_CFG_BOX_RES_FIELD.index = 1 -BOX_COLLECT_CFG_BOX_RES_FIELD.label = 2 -BOX_COLLECT_CFG_BOX_RES_FIELD.has_default_value = false -BOX_COLLECT_CFG_BOX_RES_FIELD.default_value = 0 -BOX_COLLECT_CFG_BOX_RES_FIELD.type = 5 -BOX_COLLECT_CFG_BOX_RES_FIELD.cpp_type = 1 - -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.name = "item_type" -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.full_name = ".ftcfg.box_collect_cfg.item_type" -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.number = 3 -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.index = 2 -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.label = 3 -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.has_default_value = false -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.default_value = {} -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.type = 5 -BOX_COLLECT_CFG_ITEM_TYPE_FIELD.cpp_type = 1 - -BOX_COLLECT_CFG_ITEM_ID_FIELD.name = "item_id" -BOX_COLLECT_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.box_collect_cfg.item_id" -BOX_COLLECT_CFG_ITEM_ID_FIELD.number = 4 -BOX_COLLECT_CFG_ITEM_ID_FIELD.index = 3 -BOX_COLLECT_CFG_ITEM_ID_FIELD.label = 3 -BOX_COLLECT_CFG_ITEM_ID_FIELD.has_default_value = false -BOX_COLLECT_CFG_ITEM_ID_FIELD.default_value = {} -BOX_COLLECT_CFG_ITEM_ID_FIELD.type = 5 -BOX_COLLECT_CFG_ITEM_ID_FIELD.cpp_type = 1 - -BOX_COLLECT_CFG_ITEM_RATE_FIELD.name = "item_rate" -BOX_COLLECT_CFG_ITEM_RATE_FIELD.full_name = ".ftcfg.box_collect_cfg.item_rate" -BOX_COLLECT_CFG_ITEM_RATE_FIELD.number = 5 -BOX_COLLECT_CFG_ITEM_RATE_FIELD.index = 4 -BOX_COLLECT_CFG_ITEM_RATE_FIELD.label = 3 -BOX_COLLECT_CFG_ITEM_RATE_FIELD.has_default_value = false -BOX_COLLECT_CFG_ITEM_RATE_FIELD.default_value = {} -BOX_COLLECT_CFG_ITEM_RATE_FIELD.type = 5 -BOX_COLLECT_CFG_ITEM_RATE_FIELD.cpp_type = 1 - -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.name = "show_type" -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.full_name = ".ftcfg.box_collect_cfg.show_type" -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.number = 6 -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.index = 5 -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.label = 2 -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.has_default_value = false -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.default_value = 0 -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.type = 5 -BOX_COLLECT_CFG_SHOW_TYPE_FIELD.cpp_type = 1 - -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.name = "model_scale" -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.full_name = ".ftcfg.box_collect_cfg.model_scale" -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.number = 7 -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.index = 6 -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.label = 2 -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.has_default_value = false -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.default_value = 0 -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.type = 5 -BOX_COLLECT_CFG_MODEL_SCALE_FIELD.cpp_type = 1 - -BOX_COLLECT_CFG.name = "box_collect_cfg" -BOX_COLLECT_CFG.full_name = ".ftcfg.box_collect_cfg" -BOX_COLLECT_CFG.nested_types = {} -BOX_COLLECT_CFG.enum_types = {} -BOX_COLLECT_CFG.fields = {BOX_COLLECT_CFG_BOX_ID_FIELD, BOX_COLLECT_CFG_BOX_RES_FIELD, BOX_COLLECT_CFG_ITEM_TYPE_FIELD, BOX_COLLECT_CFG_ITEM_ID_FIELD, BOX_COLLECT_CFG_ITEM_RATE_FIELD, BOX_COLLECT_CFG_SHOW_TYPE_FIELD, BOX_COLLECT_CFG_MODEL_SCALE_FIELD} -BOX_COLLECT_CFG.is_extendable = false -BOX_COLLECT_CFG.extensions = {} -BOX_COLLECT_CFGS_ITEMS_FIELD.name = "items" -BOX_COLLECT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.box_collect_cfgs.items" -BOX_COLLECT_CFGS_ITEMS_FIELD.number = 1 -BOX_COLLECT_CFGS_ITEMS_FIELD.index = 0 -BOX_COLLECT_CFGS_ITEMS_FIELD.label = 3 -BOX_COLLECT_CFGS_ITEMS_FIELD.has_default_value = false -BOX_COLLECT_CFGS_ITEMS_FIELD.default_value = {} -BOX_COLLECT_CFGS_ITEMS_FIELD.message_type = BOX_COLLECT_CFG -BOX_COLLECT_CFGS_ITEMS_FIELD.type = 11 -BOX_COLLECT_CFGS_ITEMS_FIELD.cpp_type = 10 - -BOX_COLLECT_CFGS.name = "box_collect_cfgs" -BOX_COLLECT_CFGS.full_name = ".ftcfg.box_collect_cfgs" -BOX_COLLECT_CFGS.nested_types = {} -BOX_COLLECT_CFGS.enum_types = {} -BOX_COLLECT_CFGS.fields = {BOX_COLLECT_CFGS_ITEMS_FIELD} -BOX_COLLECT_CFGS.is_extendable = false -BOX_COLLECT_CFGS.extensions = {} -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.name = "event_id" -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.event_id" -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.number = 1 -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.index = 0 -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.label = 2 -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.default_value = 0 -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.type = 5 -DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD.cpp_type = 1 - -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.name = "discribe" -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.discribe" -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.number = 2 -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.index = 1 -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.label = 2 -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.default_value = "" -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.type = 9 -DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD.cpp_type = 9 - -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.name = "boxes_id" -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.boxes_id" -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.number = 3 -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.index = 2 -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.label = 3 -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.type = 5 -DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD.cpp_type = 1 - -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.name = "dungeon_x" -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.dungeon_x" -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.number = 4 -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.index = 3 -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.label = 3 -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.type = 2 -DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD.cpp_type = 6 - -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.name = "dungeon_z" -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.dungeon_z" -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.number = 5 -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.index = 4 -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.label = 3 -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.type = 2 -DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD.cpp_type = 6 - -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.name = "map_id" -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.map_id" -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.number = 6 -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.index = 5 -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.label = 3 -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.type = 5 -DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD.cpp_type = 1 - -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.name = "touchoff_task_id" -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.touchoff_task_id" -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.number = 7 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.index = 6 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.label = 3 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.type = 5 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD.cpp_type = 1 - -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.name = "touchoff_rate" -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.touchoff_rate" -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.number = 8 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.index = 7 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.label = 3 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.type = 5 -DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD.cpp_type = 1 - -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.name = "elite_monster" -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.elite_monster" -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.number = 9 -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.index = 8 -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.label = 3 -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.type = 5 -DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD.cpp_type = 1 - -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.name = "broad" -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.full_name = ".ftcfg.dig_treasure_event_cfg.broad" -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.number = 10 -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.index = 9 -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.label = 2 -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.default_value = "" -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.type = 9 -DIG_TREASURE_EVENT_CFG_BROAD_FIELD.cpp_type = 9 - -DIG_TREASURE_EVENT_CFG.name = "dig_treasure_event_cfg" -DIG_TREASURE_EVENT_CFG.full_name = ".ftcfg.dig_treasure_event_cfg" -DIG_TREASURE_EVENT_CFG.nested_types = {} -DIG_TREASURE_EVENT_CFG.enum_types = {} -DIG_TREASURE_EVENT_CFG.fields = {DIG_TREASURE_EVENT_CFG_EVENT_ID_FIELD, DIG_TREASURE_EVENT_CFG_DISCRIBE_FIELD, DIG_TREASURE_EVENT_CFG_BOXES_ID_FIELD, DIG_TREASURE_EVENT_CFG_DUNGEON_X_FIELD, DIG_TREASURE_EVENT_CFG_DUNGEON_Z_FIELD, DIG_TREASURE_EVENT_CFG_MAP_ID_FIELD, DIG_TREASURE_EVENT_CFG_TOUCHOFF_TASK_ID_FIELD, DIG_TREASURE_EVENT_CFG_TOUCHOFF_RATE_FIELD, DIG_TREASURE_EVENT_CFG_ELITE_MONSTER_FIELD, DIG_TREASURE_EVENT_CFG_BROAD_FIELD} -DIG_TREASURE_EVENT_CFG.is_extendable = false -DIG_TREASURE_EVENT_CFG.extensions = {} -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.name = "items" -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.dig_treasure_event_cfgs.items" -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.number = 1 -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.index = 0 -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.label = 3 -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.has_default_value = false -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.default_value = {} -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.message_type = DIG_TREASURE_EVENT_CFG -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.type = 11 -DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD.cpp_type = 10 - -DIG_TREASURE_EVENT_CFGS.name = "dig_treasure_event_cfgs" -DIG_TREASURE_EVENT_CFGS.full_name = ".ftcfg.dig_treasure_event_cfgs" -DIG_TREASURE_EVENT_CFGS.nested_types = {} -DIG_TREASURE_EVENT_CFGS.enum_types = {} -DIG_TREASURE_EVENT_CFGS.fields = {DIG_TREASURE_EVENT_CFGS_ITEMS_FIELD} -DIG_TREASURE_EVENT_CFGS.is_extendable = false -DIG_TREASURE_EVENT_CFGS.extensions = {} -DROP_POINT_CFG_ID_FIELD.name = "id" -DROP_POINT_CFG_ID_FIELD.full_name = ".ftcfg.drop_point_cfg.id" -DROP_POINT_CFG_ID_FIELD.number = 1 -DROP_POINT_CFG_ID_FIELD.index = 0 -DROP_POINT_CFG_ID_FIELD.label = 2 -DROP_POINT_CFG_ID_FIELD.has_default_value = false -DROP_POINT_CFG_ID_FIELD.default_value = 0 -DROP_POINT_CFG_ID_FIELD.type = 5 -DROP_POINT_CFG_ID_FIELD.cpp_type = 1 - -DROP_POINT_CFG_MODULE_FIELD.name = "module" -DROP_POINT_CFG_MODULE_FIELD.full_name = ".ftcfg.drop_point_cfg.module" -DROP_POINT_CFG_MODULE_FIELD.number = 2 -DROP_POINT_CFG_MODULE_FIELD.index = 1 -DROP_POINT_CFG_MODULE_FIELD.label = 2 -DROP_POINT_CFG_MODULE_FIELD.has_default_value = false -DROP_POINT_CFG_MODULE_FIELD.default_value = 0 -DROP_POINT_CFG_MODULE_FIELD.type = 5 -DROP_POINT_CFG_MODULE_FIELD.cpp_type = 1 - -DROP_POINT_CFG_MINDISTANCE_FIELD.name = "minDistance" -DROP_POINT_CFG_MINDISTANCE_FIELD.full_name = ".ftcfg.drop_point_cfg.minDistance" -DROP_POINT_CFG_MINDISTANCE_FIELD.number = 3 -DROP_POINT_CFG_MINDISTANCE_FIELD.index = 2 -DROP_POINT_CFG_MINDISTANCE_FIELD.label = 2 -DROP_POINT_CFG_MINDISTANCE_FIELD.has_default_value = false -DROP_POINT_CFG_MINDISTANCE_FIELD.default_value = 0.0 -DROP_POINT_CFG_MINDISTANCE_FIELD.type = 2 -DROP_POINT_CFG_MINDISTANCE_FIELD.cpp_type = 6 - -DROP_POINT_CFG_PICKTYPE_FIELD.name = "pickType" -DROP_POINT_CFG_PICKTYPE_FIELD.full_name = ".ftcfg.drop_point_cfg.pickType" -DROP_POINT_CFG_PICKTYPE_FIELD.number = 4 -DROP_POINT_CFG_PICKTYPE_FIELD.index = 3 -DROP_POINT_CFG_PICKTYPE_FIELD.label = 2 -DROP_POINT_CFG_PICKTYPE_FIELD.has_default_value = false -DROP_POINT_CFG_PICKTYPE_FIELD.default_value = 0 -DROP_POINT_CFG_PICKTYPE_FIELD.type = 5 -DROP_POINT_CFG_PICKTYPE_FIELD.cpp_type = 1 - -DROP_POINT_CFG_BSHOW_FIELD.name = "bShow" -DROP_POINT_CFG_BSHOW_FIELD.full_name = ".ftcfg.drop_point_cfg.bShow" -DROP_POINT_CFG_BSHOW_FIELD.number = 5 -DROP_POINT_CFG_BSHOW_FIELD.index = 4 -DROP_POINT_CFG_BSHOW_FIELD.label = 2 -DROP_POINT_CFG_BSHOW_FIELD.has_default_value = false -DROP_POINT_CFG_BSHOW_FIELD.default_value = 0 -DROP_POINT_CFG_BSHOW_FIELD.type = 5 -DROP_POINT_CFG_BSHOW_FIELD.cpp_type = 1 - -DROP_POINT_CFG_TEXTID_FIELD.name = "textId" -DROP_POINT_CFG_TEXTID_FIELD.full_name = ".ftcfg.drop_point_cfg.textId" -DROP_POINT_CFG_TEXTID_FIELD.number = 6 -DROP_POINT_CFG_TEXTID_FIELD.index = 5 -DROP_POINT_CFG_TEXTID_FIELD.label = 2 -DROP_POINT_CFG_TEXTID_FIELD.has_default_value = false -DROP_POINT_CFG_TEXTID_FIELD.default_value = 0 -DROP_POINT_CFG_TEXTID_FIELD.type = 5 -DROP_POINT_CFG_TEXTID_FIELD.cpp_type = 1 - -DROP_POINT_CFG.name = "drop_point_cfg" -DROP_POINT_CFG.full_name = ".ftcfg.drop_point_cfg" -DROP_POINT_CFG.nested_types = {} -DROP_POINT_CFG.enum_types = {} -DROP_POINT_CFG.fields = {DROP_POINT_CFG_ID_FIELD, DROP_POINT_CFG_MODULE_FIELD, DROP_POINT_CFG_MINDISTANCE_FIELD, DROP_POINT_CFG_PICKTYPE_FIELD, DROP_POINT_CFG_BSHOW_FIELD, DROP_POINT_CFG_TEXTID_FIELD} -DROP_POINT_CFG.is_extendable = false -DROP_POINT_CFG.extensions = {} -DROP_POINT_CFGS_ITEMS_FIELD.name = "items" -DROP_POINT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.drop_point_cfgs.items" -DROP_POINT_CFGS_ITEMS_FIELD.number = 1 -DROP_POINT_CFGS_ITEMS_FIELD.index = 0 -DROP_POINT_CFGS_ITEMS_FIELD.label = 3 -DROP_POINT_CFGS_ITEMS_FIELD.has_default_value = false -DROP_POINT_CFGS_ITEMS_FIELD.default_value = {} -DROP_POINT_CFGS_ITEMS_FIELD.message_type = DROP_POINT_CFG -DROP_POINT_CFGS_ITEMS_FIELD.type = 11 -DROP_POINT_CFGS_ITEMS_FIELD.cpp_type = 10 - -DROP_POINT_CFGS.name = "drop_point_cfgs" -DROP_POINT_CFGS.full_name = ".ftcfg.drop_point_cfgs" -DROP_POINT_CFGS.nested_types = {} -DROP_POINT_CFGS.enum_types = {} -DROP_POINT_CFGS.fields = {DROP_POINT_CFGS_ITEMS_FIELD} -DROP_POINT_CFGS.is_extendable = false -DROP_POINT_CFGS.extensions = {} -RANK_FUNCTION_CFG_ID_FIELD.name = "id" -RANK_FUNCTION_CFG_ID_FIELD.full_name = ".ftcfg.rank_function_cfg.id" -RANK_FUNCTION_CFG_ID_FIELD.number = 1 -RANK_FUNCTION_CFG_ID_FIELD.index = 0 -RANK_FUNCTION_CFG_ID_FIELD.label = 2 -RANK_FUNCTION_CFG_ID_FIELD.has_default_value = false -RANK_FUNCTION_CFG_ID_FIELD.default_value = 0 -RANK_FUNCTION_CFG_ID_FIELD.type = 5 -RANK_FUNCTION_CFG_ID_FIELD.cpp_type = 1 - -RANK_FUNCTION_CFG_NAME_FIELD.name = "name" -RANK_FUNCTION_CFG_NAME_FIELD.full_name = ".ftcfg.rank_function_cfg.name" -RANK_FUNCTION_CFG_NAME_FIELD.number = 2 -RANK_FUNCTION_CFG_NAME_FIELD.index = 1 -RANK_FUNCTION_CFG_NAME_FIELD.label = 2 -RANK_FUNCTION_CFG_NAME_FIELD.has_default_value = false -RANK_FUNCTION_CFG_NAME_FIELD.default_value = 0 -RANK_FUNCTION_CFG_NAME_FIELD.type = 5 -RANK_FUNCTION_CFG_NAME_FIELD.cpp_type = 1 - -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.name = "select_show" -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.full_name = ".ftcfg.rank_function_cfg.select_show" -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.number = 3 -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.index = 2 -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.label = 2 -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.has_default_value = false -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.default_value = 0 -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.type = 5 -RANK_FUNCTION_CFG_SELECT_SHOW_FIELD.cpp_type = 1 - -RANK_FUNCTION_CFG_TYPE_FIELD.name = "type" -RANK_FUNCTION_CFG_TYPE_FIELD.full_name = ".ftcfg.rank_function_cfg.type" -RANK_FUNCTION_CFG_TYPE_FIELD.number = 4 -RANK_FUNCTION_CFG_TYPE_FIELD.index = 3 -RANK_FUNCTION_CFG_TYPE_FIELD.label = 2 -RANK_FUNCTION_CFG_TYPE_FIELD.has_default_value = false -RANK_FUNCTION_CFG_TYPE_FIELD.default_value = 0 -RANK_FUNCTION_CFG_TYPE_FIELD.type = 5 -RANK_FUNCTION_CFG_TYPE_FIELD.cpp_type = 1 - -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.name = "child_names" -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.full_name = ".ftcfg.rank_function_cfg.child_names" -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.number = 5 -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.index = 4 -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.label = 3 -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.has_default_value = false -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.default_value = {} -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.type = 5 -RANK_FUNCTION_CFG_CHILD_NAMES_FIELD.cpp_type = 1 - -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.name = "child_types" -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.full_name = ".ftcfg.rank_function_cfg.child_types" -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.number = 6 -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.index = 5 -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.label = 3 -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.has_default_value = false -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.default_value = {} -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.type = 5 -RANK_FUNCTION_CFG_CHILD_TYPES_FIELD.cpp_type = 1 - -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.name = "child_values" -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.full_name = ".ftcfg.rank_function_cfg.child_values" -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.number = 7 -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.index = 6 -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.label = 3 -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.has_default_value = false -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.default_value = {} -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.type = 2 -RANK_FUNCTION_CFG_CHILD_VALUES_FIELD.cpp_type = 6 - -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.name = "show_fields" -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.full_name = ".ftcfg.rank_function_cfg.show_fields" -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.number = 8 -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.index = 7 -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.label = 3 -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.has_default_value = false -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.default_value = {} -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.type = 5 -RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD.cpp_type = 1 - -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.name = "host_field" -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.full_name = ".ftcfg.rank_function_cfg.host_field" -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.number = 9 -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.index = 8 -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.label = 2 -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.has_default_value = false -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.default_value = "" -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.type = 9 -RANK_FUNCTION_CFG_HOST_FIELD_FIELD.cpp_type = 9 - -RANK_FUNCTION_CFG.name = "rank_function_cfg" -RANK_FUNCTION_CFG.full_name = ".ftcfg.rank_function_cfg" -RANK_FUNCTION_CFG.nested_types = {} -RANK_FUNCTION_CFG.enum_types = {} -RANK_FUNCTION_CFG.fields = {RANK_FUNCTION_CFG_ID_FIELD, RANK_FUNCTION_CFG_NAME_FIELD, RANK_FUNCTION_CFG_SELECT_SHOW_FIELD, RANK_FUNCTION_CFG_TYPE_FIELD, RANK_FUNCTION_CFG_CHILD_NAMES_FIELD, RANK_FUNCTION_CFG_CHILD_TYPES_FIELD, RANK_FUNCTION_CFG_CHILD_VALUES_FIELD, RANK_FUNCTION_CFG_SHOW_FIELDS_FIELD, RANK_FUNCTION_CFG_HOST_FIELD_FIELD} -RANK_FUNCTION_CFG.is_extendable = false -RANK_FUNCTION_CFG.extensions = {} -RANK_FUNCTION_CFGS_ITEMS_FIELD.name = "items" -RANK_FUNCTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rank_function_cfgs.items" -RANK_FUNCTION_CFGS_ITEMS_FIELD.number = 1 -RANK_FUNCTION_CFGS_ITEMS_FIELD.index = 0 -RANK_FUNCTION_CFGS_ITEMS_FIELD.label = 3 -RANK_FUNCTION_CFGS_ITEMS_FIELD.has_default_value = false -RANK_FUNCTION_CFGS_ITEMS_FIELD.default_value = {} -RANK_FUNCTION_CFGS_ITEMS_FIELD.message_type = RANK_FUNCTION_CFG -RANK_FUNCTION_CFGS_ITEMS_FIELD.type = 11 -RANK_FUNCTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -RANK_FUNCTION_CFGS.name = "rank_function_cfgs" -RANK_FUNCTION_CFGS.full_name = ".ftcfg.rank_function_cfgs" -RANK_FUNCTION_CFGS.nested_types = {} -RANK_FUNCTION_CFGS.enum_types = {} -RANK_FUNCTION_CFGS.fields = {RANK_FUNCTION_CFGS_ITEMS_FIELD} -RANK_FUNCTION_CFGS.is_extendable = false -RANK_FUNCTION_CFGS.extensions = {} -RANK_FIELD_CFG_ID_FIELD.name = "id" -RANK_FIELD_CFG_ID_FIELD.full_name = ".ftcfg.rank_field_cfg.id" -RANK_FIELD_CFG_ID_FIELD.number = 1 -RANK_FIELD_CFG_ID_FIELD.index = 0 -RANK_FIELD_CFG_ID_FIELD.label = 2 -RANK_FIELD_CFG_ID_FIELD.has_default_value = false -RANK_FIELD_CFG_ID_FIELD.default_value = 0 -RANK_FIELD_CFG_ID_FIELD.type = 5 -RANK_FIELD_CFG_ID_FIELD.cpp_type = 1 - -RANK_FIELD_CFG_NAME_FIELD.name = "name" -RANK_FIELD_CFG_NAME_FIELD.full_name = ".ftcfg.rank_field_cfg.name" -RANK_FIELD_CFG_NAME_FIELD.number = 2 -RANK_FIELD_CFG_NAME_FIELD.index = 1 -RANK_FIELD_CFG_NAME_FIELD.label = 2 -RANK_FIELD_CFG_NAME_FIELD.has_default_value = false -RANK_FIELD_CFG_NAME_FIELD.default_value = 0 -RANK_FIELD_CFG_NAME_FIELD.type = 5 -RANK_FIELD_CFG_NAME_FIELD.cpp_type = 1 - -RANK_FIELD_CFG_FIELD_NAME_FIELD.name = "field_name" -RANK_FIELD_CFG_FIELD_NAME_FIELD.full_name = ".ftcfg.rank_field_cfg.field_name" -RANK_FIELD_CFG_FIELD_NAME_FIELD.number = 3 -RANK_FIELD_CFG_FIELD_NAME_FIELD.index = 2 -RANK_FIELD_CFG_FIELD_NAME_FIELD.label = 2 -RANK_FIELD_CFG_FIELD_NAME_FIELD.has_default_value = false -RANK_FIELD_CFG_FIELD_NAME_FIELD.default_value = "" -RANK_FIELD_CFG_FIELD_NAME_FIELD.type = 9 -RANK_FIELD_CFG_FIELD_NAME_FIELD.cpp_type = 9 - -RANK_FIELD_CFG_CHILD_NAMES_FIELD.name = "child_names" -RANK_FIELD_CFG_CHILD_NAMES_FIELD.full_name = ".ftcfg.rank_field_cfg.child_names" -RANK_FIELD_CFG_CHILD_NAMES_FIELD.number = 4 -RANK_FIELD_CFG_CHILD_NAMES_FIELD.index = 3 -RANK_FIELD_CFG_CHILD_NAMES_FIELD.label = 3 -RANK_FIELD_CFG_CHILD_NAMES_FIELD.has_default_value = false -RANK_FIELD_CFG_CHILD_NAMES_FIELD.default_value = {} -RANK_FIELD_CFG_CHILD_NAMES_FIELD.type = 5 -RANK_FIELD_CFG_CHILD_NAMES_FIELD.cpp_type = 1 - -RANK_FIELD_CFG_CHILD_TYPES_FIELD.name = "child_types" -RANK_FIELD_CFG_CHILD_TYPES_FIELD.full_name = ".ftcfg.rank_field_cfg.child_types" -RANK_FIELD_CFG_CHILD_TYPES_FIELD.number = 5 -RANK_FIELD_CFG_CHILD_TYPES_FIELD.index = 4 -RANK_FIELD_CFG_CHILD_TYPES_FIELD.label = 3 -RANK_FIELD_CFG_CHILD_TYPES_FIELD.has_default_value = false -RANK_FIELD_CFG_CHILD_TYPES_FIELD.default_value = {} -RANK_FIELD_CFG_CHILD_TYPES_FIELD.type = 5 -RANK_FIELD_CFG_CHILD_TYPES_FIELD.cpp_type = 1 - -RANK_FIELD_CFG_CHILD_VALUES_FIELD.name = "child_values" -RANK_FIELD_CFG_CHILD_VALUES_FIELD.full_name = ".ftcfg.rank_field_cfg.child_values" -RANK_FIELD_CFG_CHILD_VALUES_FIELD.number = 6 -RANK_FIELD_CFG_CHILD_VALUES_FIELD.index = 5 -RANK_FIELD_CFG_CHILD_VALUES_FIELD.label = 3 -RANK_FIELD_CFG_CHILD_VALUES_FIELD.has_default_value = false -RANK_FIELD_CFG_CHILD_VALUES_FIELD.default_value = {} -RANK_FIELD_CFG_CHILD_VALUES_FIELD.type = 2 -RANK_FIELD_CFG_CHILD_VALUES_FIELD.cpp_type = 6 - -RANK_FIELD_CFG_HOST_FIELD_FIELD.name = "host_field" -RANK_FIELD_CFG_HOST_FIELD_FIELD.full_name = ".ftcfg.rank_field_cfg.host_field" -RANK_FIELD_CFG_HOST_FIELD_FIELD.number = 7 -RANK_FIELD_CFG_HOST_FIELD_FIELD.index = 6 -RANK_FIELD_CFG_HOST_FIELD_FIELD.label = 2 -RANK_FIELD_CFG_HOST_FIELD_FIELD.has_default_value = false -RANK_FIELD_CFG_HOST_FIELD_FIELD.default_value = "" -RANK_FIELD_CFG_HOST_FIELD_FIELD.type = 9 -RANK_FIELD_CFG_HOST_FIELD_FIELD.cpp_type = 9 - -RANK_FIELD_CFG.name = "rank_field_cfg" -RANK_FIELD_CFG.full_name = ".ftcfg.rank_field_cfg" -RANK_FIELD_CFG.nested_types = {} -RANK_FIELD_CFG.enum_types = {} -RANK_FIELD_CFG.fields = {RANK_FIELD_CFG_ID_FIELD, RANK_FIELD_CFG_NAME_FIELD, RANK_FIELD_CFG_FIELD_NAME_FIELD, RANK_FIELD_CFG_CHILD_NAMES_FIELD, RANK_FIELD_CFG_CHILD_TYPES_FIELD, RANK_FIELD_CFG_CHILD_VALUES_FIELD, RANK_FIELD_CFG_HOST_FIELD_FIELD} -RANK_FIELD_CFG.is_extendable = false -RANK_FIELD_CFG.extensions = {} -RANK_FIELD_CFGS_ITEMS_FIELD.name = "items" -RANK_FIELD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rank_field_cfgs.items" -RANK_FIELD_CFGS_ITEMS_FIELD.number = 1 -RANK_FIELD_CFGS_ITEMS_FIELD.index = 0 -RANK_FIELD_CFGS_ITEMS_FIELD.label = 3 -RANK_FIELD_CFGS_ITEMS_FIELD.has_default_value = false -RANK_FIELD_CFGS_ITEMS_FIELD.default_value = {} -RANK_FIELD_CFGS_ITEMS_FIELD.message_type = RANK_FIELD_CFG -RANK_FIELD_CFGS_ITEMS_FIELD.type = 11 -RANK_FIELD_CFGS_ITEMS_FIELD.cpp_type = 10 - -RANK_FIELD_CFGS.name = "rank_field_cfgs" -RANK_FIELD_CFGS.full_name = ".ftcfg.rank_field_cfgs" -RANK_FIELD_CFGS.nested_types = {} -RANK_FIELD_CFGS.enum_types = {} -RANK_FIELD_CFGS.fields = {RANK_FIELD_CFGS_ITEMS_FIELD} -RANK_FIELD_CFGS.is_extendable = false -RANK_FIELD_CFGS.extensions = {} -EDN_CFG_LVL_FIELD.name = "lvl" -EDN_CFG_LVL_FIELD.full_name = ".ftcfg.edn_cfg.lvl" -EDN_CFG_LVL_FIELD.number = 1 -EDN_CFG_LVL_FIELD.index = 0 -EDN_CFG_LVL_FIELD.label = 2 -EDN_CFG_LVL_FIELD.has_default_value = false -EDN_CFG_LVL_FIELD.default_value = 0 -EDN_CFG_LVL_FIELD.type = 5 -EDN_CFG_LVL_FIELD.cpp_type = 1 - -EDN_CFG_LVLUP_EXP_FIELD.name = "lvlup_exp" -EDN_CFG_LVLUP_EXP_FIELD.full_name = ".ftcfg.edn_cfg.lvlup_exp" -EDN_CFG_LVLUP_EXP_FIELD.number = 2 -EDN_CFG_LVLUP_EXP_FIELD.index = 1 -EDN_CFG_LVLUP_EXP_FIELD.label = 2 -EDN_CFG_LVLUP_EXP_FIELD.has_default_value = false -EDN_CFG_LVLUP_EXP_FIELD.default_value = 0 -EDN_CFG_LVLUP_EXP_FIELD.type = 5 -EDN_CFG_LVLUP_EXP_FIELD.cpp_type = 1 - -EDN_CFG.name = "edn_cfg" -EDN_CFG.full_name = ".ftcfg.edn_cfg" -EDN_CFG.nested_types = {} -EDN_CFG.enum_types = {} -EDN_CFG.fields = {EDN_CFG_LVL_FIELD, EDN_CFG_LVLUP_EXP_FIELD} -EDN_CFG.is_extendable = false -EDN_CFG.extensions = {} -EDN_CFGS_ITEMS_FIELD.name = "items" -EDN_CFGS_ITEMS_FIELD.full_name = ".ftcfg.edn_cfgs.items" -EDN_CFGS_ITEMS_FIELD.number = 1 -EDN_CFGS_ITEMS_FIELD.index = 0 -EDN_CFGS_ITEMS_FIELD.label = 3 -EDN_CFGS_ITEMS_FIELD.has_default_value = false -EDN_CFGS_ITEMS_FIELD.default_value = {} -EDN_CFGS_ITEMS_FIELD.message_type = EDN_CFG -EDN_CFGS_ITEMS_FIELD.type = 11 -EDN_CFGS_ITEMS_FIELD.cpp_type = 10 - -EDN_CFGS.name = "edn_cfgs" -EDN_CFGS.full_name = ".ftcfg.edn_cfgs" -EDN_CFGS.nested_types = {} -EDN_CFGS.enum_types = {} -EDN_CFGS.fields = {EDN_CFGS_ITEMS_FIELD} -EDN_CFGS.is_extendable = false -EDN_CFGS.extensions = {} -EDN_SCENE_CFG_SCENE_ID_FIELD.name = "scene_id" -EDN_SCENE_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.edn_scene_cfg.scene_id" -EDN_SCENE_CFG_SCENE_ID_FIELD.number = 1 -EDN_SCENE_CFG_SCENE_ID_FIELD.index = 0 -EDN_SCENE_CFG_SCENE_ID_FIELD.label = 2 -EDN_SCENE_CFG_SCENE_ID_FIELD.has_default_value = false -EDN_SCENE_CFG_SCENE_ID_FIELD.default_value = 0 -EDN_SCENE_CFG_SCENE_ID_FIELD.type = 5 -EDN_SCENE_CFG_SCENE_ID_FIELD.cpp_type = 1 - -EDN_SCENE_CFG_OPEN_LVL_FIELD.name = "open_lvl" -EDN_SCENE_CFG_OPEN_LVL_FIELD.full_name = ".ftcfg.edn_scene_cfg.open_lvl" -EDN_SCENE_CFG_OPEN_LVL_FIELD.number = 2 -EDN_SCENE_CFG_OPEN_LVL_FIELD.index = 1 -EDN_SCENE_CFG_OPEN_LVL_FIELD.label = 2 -EDN_SCENE_CFG_OPEN_LVL_FIELD.has_default_value = false -EDN_SCENE_CFG_OPEN_LVL_FIELD.default_value = 0 -EDN_SCENE_CFG_OPEN_LVL_FIELD.type = 5 -EDN_SCENE_CFG_OPEN_LVL_FIELD.cpp_type = 1 - -EDN_SCENE_CFG_MAPNAME_ID_FIELD.name = "mapname_id" -EDN_SCENE_CFG_MAPNAME_ID_FIELD.full_name = ".ftcfg.edn_scene_cfg.mapname_id" -EDN_SCENE_CFG_MAPNAME_ID_FIELD.number = 3 -EDN_SCENE_CFG_MAPNAME_ID_FIELD.index = 2 -EDN_SCENE_CFG_MAPNAME_ID_FIELD.label = 2 -EDN_SCENE_CFG_MAPNAME_ID_FIELD.has_default_value = false -EDN_SCENE_CFG_MAPNAME_ID_FIELD.default_value = 0 -EDN_SCENE_CFG_MAPNAME_ID_FIELD.type = 5 -EDN_SCENE_CFG_MAPNAME_ID_FIELD.cpp_type = 1 - -EDN_SCENE_CFG_MAP_NAME_FIELD.name = "map_name" -EDN_SCENE_CFG_MAP_NAME_FIELD.full_name = ".ftcfg.edn_scene_cfg.map_name" -EDN_SCENE_CFG_MAP_NAME_FIELD.number = 4 -EDN_SCENE_CFG_MAP_NAME_FIELD.index = 3 -EDN_SCENE_CFG_MAP_NAME_FIELD.label = 2 -EDN_SCENE_CFG_MAP_NAME_FIELD.has_default_value = false -EDN_SCENE_CFG_MAP_NAME_FIELD.default_value = "" -EDN_SCENE_CFG_MAP_NAME_FIELD.type = 9 -EDN_SCENE_CFG_MAP_NAME_FIELD.cpp_type = 9 - -EDN_SCENE_CFG_MAP_IMGID_FIELD.name = "map_imgid" -EDN_SCENE_CFG_MAP_IMGID_FIELD.full_name = ".ftcfg.edn_scene_cfg.map_imgid" -EDN_SCENE_CFG_MAP_IMGID_FIELD.number = 5 -EDN_SCENE_CFG_MAP_IMGID_FIELD.index = 4 -EDN_SCENE_CFG_MAP_IMGID_FIELD.label = 2 -EDN_SCENE_CFG_MAP_IMGID_FIELD.has_default_value = false -EDN_SCENE_CFG_MAP_IMGID_FIELD.default_value = 0 -EDN_SCENE_CFG_MAP_IMGID_FIELD.type = 5 -EDN_SCENE_CFG_MAP_IMGID_FIELD.cpp_type = 1 - -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.name = "map_relicsids" -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.full_name = ".ftcfg.edn_scene_cfg.map_relicsids" -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.number = 6 -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.index = 5 -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.label = 3 -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.has_default_value = false -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.default_value = {} -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.type = 5 -EDN_SCENE_CFG_MAP_RELICSIDS_FIELD.cpp_type = 1 - -EDN_SCENE_CFG.name = "edn_scene_cfg" -EDN_SCENE_CFG.full_name = ".ftcfg.edn_scene_cfg" -EDN_SCENE_CFG.nested_types = {} -EDN_SCENE_CFG.enum_types = {} -EDN_SCENE_CFG.fields = {EDN_SCENE_CFG_SCENE_ID_FIELD, EDN_SCENE_CFG_OPEN_LVL_FIELD, EDN_SCENE_CFG_MAPNAME_ID_FIELD, EDN_SCENE_CFG_MAP_NAME_FIELD, EDN_SCENE_CFG_MAP_IMGID_FIELD, EDN_SCENE_CFG_MAP_RELICSIDS_FIELD} -EDN_SCENE_CFG.is_extendable = false -EDN_SCENE_CFG.extensions = {} -EDN_SCENE_CFGS_ITEMS_FIELD.name = "items" -EDN_SCENE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.edn_scene_cfgs.items" -EDN_SCENE_CFGS_ITEMS_FIELD.number = 1 -EDN_SCENE_CFGS_ITEMS_FIELD.index = 0 -EDN_SCENE_CFGS_ITEMS_FIELD.label = 3 -EDN_SCENE_CFGS_ITEMS_FIELD.has_default_value = false -EDN_SCENE_CFGS_ITEMS_FIELD.default_value = {} -EDN_SCENE_CFGS_ITEMS_FIELD.message_type = EDN_SCENE_CFG -EDN_SCENE_CFGS_ITEMS_FIELD.type = 11 -EDN_SCENE_CFGS_ITEMS_FIELD.cpp_type = 10 - -EDN_SCENE_CFGS.name = "edn_scene_cfgs" -EDN_SCENE_CFGS.full_name = ".ftcfg.edn_scene_cfgs" -EDN_SCENE_CFGS.nested_types = {} -EDN_SCENE_CFGS.enum_types = {} -EDN_SCENE_CFGS.fields = {EDN_SCENE_CFGS_ITEMS_FIELD} -EDN_SCENE_CFGS.is_extendable = false -EDN_SCENE_CFGS.extensions = {} -EDN_RELIC_CFG_ID_FIELD.name = "id" -EDN_RELIC_CFG_ID_FIELD.full_name = ".ftcfg.edn_relic_cfg.id" -EDN_RELIC_CFG_ID_FIELD.number = 1 -EDN_RELIC_CFG_ID_FIELD.index = 0 -EDN_RELIC_CFG_ID_FIELD.label = 2 -EDN_RELIC_CFG_ID_FIELD.has_default_value = false -EDN_RELIC_CFG_ID_FIELD.default_value = 0 -EDN_RELIC_CFG_ID_FIELD.type = 5 -EDN_RELIC_CFG_ID_FIELD.cpp_type = 1 - -EDN_RELIC_CFG_NAME_ID_FIELD.name = "name_id" -EDN_RELIC_CFG_NAME_ID_FIELD.full_name = ".ftcfg.edn_relic_cfg.name_id" -EDN_RELIC_CFG_NAME_ID_FIELD.number = 2 -EDN_RELIC_CFG_NAME_ID_FIELD.index = 1 -EDN_RELIC_CFG_NAME_ID_FIELD.label = 2 -EDN_RELIC_CFG_NAME_ID_FIELD.has_default_value = false -EDN_RELIC_CFG_NAME_ID_FIELD.default_value = 0 -EDN_RELIC_CFG_NAME_ID_FIELD.type = 5 -EDN_RELIC_CFG_NAME_ID_FIELD.cpp_type = 1 - -EDN_RELIC_CFG_NAME_STRING_FIELD.name = "name_string" -EDN_RELIC_CFG_NAME_STRING_FIELD.full_name = ".ftcfg.edn_relic_cfg.name_string" -EDN_RELIC_CFG_NAME_STRING_FIELD.number = 3 -EDN_RELIC_CFG_NAME_STRING_FIELD.index = 2 -EDN_RELIC_CFG_NAME_STRING_FIELD.label = 2 -EDN_RELIC_CFG_NAME_STRING_FIELD.has_default_value = false -EDN_RELIC_CFG_NAME_STRING_FIELD.default_value = "" -EDN_RELIC_CFG_NAME_STRING_FIELD.type = 9 -EDN_RELIC_CFG_NAME_STRING_FIELD.cpp_type = 9 - -EDN_RELIC_CFG_IMAGE_ID_FIELD.name = "image_id" -EDN_RELIC_CFG_IMAGE_ID_FIELD.full_name = ".ftcfg.edn_relic_cfg.image_id" -EDN_RELIC_CFG_IMAGE_ID_FIELD.number = 4 -EDN_RELIC_CFG_IMAGE_ID_FIELD.index = 3 -EDN_RELIC_CFG_IMAGE_ID_FIELD.label = 2 -EDN_RELIC_CFG_IMAGE_ID_FIELD.has_default_value = false -EDN_RELIC_CFG_IMAGE_ID_FIELD.default_value = 0 -EDN_RELIC_CFG_IMAGE_ID_FIELD.type = 5 -EDN_RELIC_CFG_IMAGE_ID_FIELD.cpp_type = 1 - -EDN_RELIC_CFG_REWARDS_FIELD.name = "rewards" -EDN_RELIC_CFG_REWARDS_FIELD.full_name = ".ftcfg.edn_relic_cfg.rewards" -EDN_RELIC_CFG_REWARDS_FIELD.number = 5 -EDN_RELIC_CFG_REWARDS_FIELD.index = 4 -EDN_RELIC_CFG_REWARDS_FIELD.label = 2 -EDN_RELIC_CFG_REWARDS_FIELD.has_default_value = false -EDN_RELIC_CFG_REWARDS_FIELD.default_value = 0 -EDN_RELIC_CFG_REWARDS_FIELD.type = 5 -EDN_RELIC_CFG_REWARDS_FIELD.cpp_type = 1 - -EDN_RELIC_CFG_TIPS_ID_FIELD.name = "tips_id" -EDN_RELIC_CFG_TIPS_ID_FIELD.full_name = ".ftcfg.edn_relic_cfg.tips_id" -EDN_RELIC_CFG_TIPS_ID_FIELD.number = 6 -EDN_RELIC_CFG_TIPS_ID_FIELD.index = 5 -EDN_RELIC_CFG_TIPS_ID_FIELD.label = 2 -EDN_RELIC_CFG_TIPS_ID_FIELD.has_default_value = false -EDN_RELIC_CFG_TIPS_ID_FIELD.default_value = 0 -EDN_RELIC_CFG_TIPS_ID_FIELD.type = 5 -EDN_RELIC_CFG_TIPS_ID_FIELD.cpp_type = 1 - -EDN_RELIC_CFG.name = "edn_relic_cfg" -EDN_RELIC_CFG.full_name = ".ftcfg.edn_relic_cfg" -EDN_RELIC_CFG.nested_types = {} -EDN_RELIC_CFG.enum_types = {} -EDN_RELIC_CFG.fields = {EDN_RELIC_CFG_ID_FIELD, EDN_RELIC_CFG_NAME_ID_FIELD, EDN_RELIC_CFG_NAME_STRING_FIELD, EDN_RELIC_CFG_IMAGE_ID_FIELD, EDN_RELIC_CFG_REWARDS_FIELD, EDN_RELIC_CFG_TIPS_ID_FIELD} -EDN_RELIC_CFG.is_extendable = false -EDN_RELIC_CFG.extensions = {} -EDN_RELIC_CFGS_ITEMS_FIELD.name = "items" -EDN_RELIC_CFGS_ITEMS_FIELD.full_name = ".ftcfg.edn_relic_cfgs.items" -EDN_RELIC_CFGS_ITEMS_FIELD.number = 1 -EDN_RELIC_CFGS_ITEMS_FIELD.index = 0 -EDN_RELIC_CFGS_ITEMS_FIELD.label = 3 -EDN_RELIC_CFGS_ITEMS_FIELD.has_default_value = false -EDN_RELIC_CFGS_ITEMS_FIELD.default_value = {} -EDN_RELIC_CFGS_ITEMS_FIELD.message_type = EDN_RELIC_CFG -EDN_RELIC_CFGS_ITEMS_FIELD.type = 11 -EDN_RELIC_CFGS_ITEMS_FIELD.cpp_type = 10 - -EDN_RELIC_CFGS.name = "edn_relic_cfgs" -EDN_RELIC_CFGS.full_name = ".ftcfg.edn_relic_cfgs" -EDN_RELIC_CFGS.nested_types = {} -EDN_RELIC_CFGS.enum_types = {} -EDN_RELIC_CFGS.fields = {EDN_RELIC_CFGS_ITEMS_FIELD} -EDN_RELIC_CFGS.is_extendable = false -EDN_RELIC_CFGS.extensions = {} -TOWER_BASE_CFG_ID_FIELD.name = "id" -TOWER_BASE_CFG_ID_FIELD.full_name = ".ftcfg.tower_base_cfg.id" -TOWER_BASE_CFG_ID_FIELD.number = 1 -TOWER_BASE_CFG_ID_FIELD.index = 0 -TOWER_BASE_CFG_ID_FIELD.label = 2 -TOWER_BASE_CFG_ID_FIELD.has_default_value = false -TOWER_BASE_CFG_ID_FIELD.default_value = 0 -TOWER_BASE_CFG_ID_FIELD.type = 5 -TOWER_BASE_CFG_ID_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_MAP_ID_FIELD.name = "map_id" -TOWER_BASE_CFG_MAP_ID_FIELD.full_name = ".ftcfg.tower_base_cfg.map_id" -TOWER_BASE_CFG_MAP_ID_FIELD.number = 2 -TOWER_BASE_CFG_MAP_ID_FIELD.index = 1 -TOWER_BASE_CFG_MAP_ID_FIELD.label = 3 -TOWER_BASE_CFG_MAP_ID_FIELD.has_default_value = false -TOWER_BASE_CFG_MAP_ID_FIELD.default_value = {} -TOWER_BASE_CFG_MAP_ID_FIELD.type = 5 -TOWER_BASE_CFG_MAP_ID_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_ITEM_ID_FIELD.name = "item_id" -TOWER_BASE_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.tower_base_cfg.item_id" -TOWER_BASE_CFG_ITEM_ID_FIELD.number = 3 -TOWER_BASE_CFG_ITEM_ID_FIELD.index = 2 -TOWER_BASE_CFG_ITEM_ID_FIELD.label = 2 -TOWER_BASE_CFG_ITEM_ID_FIELD.has_default_value = false -TOWER_BASE_CFG_ITEM_ID_FIELD.default_value = 0 -TOWER_BASE_CFG_ITEM_ID_FIELD.type = 5 -TOWER_BASE_CFG_ITEM_ID_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_ITEM_COUNT_FIELD.name = "item_count" -TOWER_BASE_CFG_ITEM_COUNT_FIELD.full_name = ".ftcfg.tower_base_cfg.item_count" -TOWER_BASE_CFG_ITEM_COUNT_FIELD.number = 4 -TOWER_BASE_CFG_ITEM_COUNT_FIELD.index = 3 -TOWER_BASE_CFG_ITEM_COUNT_FIELD.label = 2 -TOWER_BASE_CFG_ITEM_COUNT_FIELD.has_default_value = false -TOWER_BASE_CFG_ITEM_COUNT_FIELD.default_value = 0 -TOWER_BASE_CFG_ITEM_COUNT_FIELD.type = 5 -TOWER_BASE_CFG_ITEM_COUNT_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_RAID_ITEMID_FIELD.name = "raid_itemid" -TOWER_BASE_CFG_RAID_ITEMID_FIELD.full_name = ".ftcfg.tower_base_cfg.raid_itemid" -TOWER_BASE_CFG_RAID_ITEMID_FIELD.number = 5 -TOWER_BASE_CFG_RAID_ITEMID_FIELD.index = 4 -TOWER_BASE_CFG_RAID_ITEMID_FIELD.label = 2 -TOWER_BASE_CFG_RAID_ITEMID_FIELD.has_default_value = false -TOWER_BASE_CFG_RAID_ITEMID_FIELD.default_value = 0 -TOWER_BASE_CFG_RAID_ITEMID_FIELD.type = 5 -TOWER_BASE_CFG_RAID_ITEMID_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.name = "raid_itemcount" -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.full_name = ".ftcfg.tower_base_cfg.raid_itemcount" -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.number = 6 -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.index = 5 -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.label = 2 -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.has_default_value = false -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.default_value = 0 -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.type = 5 -TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_MONEYTYPE_FIELD.name = "moneytype" -TOWER_BASE_CFG_MONEYTYPE_FIELD.full_name = ".ftcfg.tower_base_cfg.moneytype" -TOWER_BASE_CFG_MONEYTYPE_FIELD.number = 7 -TOWER_BASE_CFG_MONEYTYPE_FIELD.index = 6 -TOWER_BASE_CFG_MONEYTYPE_FIELD.label = 2 -TOWER_BASE_CFG_MONEYTYPE_FIELD.has_default_value = false -TOWER_BASE_CFG_MONEYTYPE_FIELD.default_value = 0 -TOWER_BASE_CFG_MONEYTYPE_FIELD.type = 5 -TOWER_BASE_CFG_MONEYTYPE_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_MONEYCOUNT_FIELD.name = "moneycount" -TOWER_BASE_CFG_MONEYCOUNT_FIELD.full_name = ".ftcfg.tower_base_cfg.moneycount" -TOWER_BASE_CFG_MONEYCOUNT_FIELD.number = 8 -TOWER_BASE_CFG_MONEYCOUNT_FIELD.index = 7 -TOWER_BASE_CFG_MONEYCOUNT_FIELD.label = 2 -TOWER_BASE_CFG_MONEYCOUNT_FIELD.has_default_value = false -TOWER_BASE_CFG_MONEYCOUNT_FIELD.default_value = 0 -TOWER_BASE_CFG_MONEYCOUNT_FIELD.type = 5 -TOWER_BASE_CFG_MONEYCOUNT_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.name = "itemid_cross" -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.full_name = ".ftcfg.tower_base_cfg.itemid_cross" -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.number = 9 -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.index = 8 -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.label = 2 -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.has_default_value = false -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.default_value = 0 -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.type = 5 -TOWER_BASE_CFG_ITEMID_CROSS_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.name = "itemcount_cross" -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.full_name = ".ftcfg.tower_base_cfg.itemcount_cross" -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.number = 10 -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.index = 9 -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.label = 2 -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.has_default_value = false -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.default_value = 0 -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.type = 5 -TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_EXP_CROSS_FIELD.name = "exp_cross" -TOWER_BASE_CFG_EXP_CROSS_FIELD.full_name = ".ftcfg.tower_base_cfg.exp_cross" -TOWER_BASE_CFG_EXP_CROSS_FIELD.number = 11 -TOWER_BASE_CFG_EXP_CROSS_FIELD.index = 10 -TOWER_BASE_CFG_EXP_CROSS_FIELD.label = 2 -TOWER_BASE_CFG_EXP_CROSS_FIELD.has_default_value = false -TOWER_BASE_CFG_EXP_CROSS_FIELD.default_value = 0 -TOWER_BASE_CFG_EXP_CROSS_FIELD.type = 5 -TOWER_BASE_CFG_EXP_CROSS_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.name = "hangup_reward_exp" -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.full_name = ".ftcfg.tower_base_cfg.hangup_reward_exp" -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.number = 12 -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.index = 11 -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.label = 2 -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.has_default_value = false -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.default_value = 0 -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.type = 5 -TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.name = "hangup_reward_moneytype" -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.full_name = ".ftcfg.tower_base_cfg.hangup_reward_moneytype" -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.number = 13 -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.index = 12 -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.label = 2 -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.has_default_value = false -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.default_value = 0 -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.type = 5 -TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.name = "hangup_reward_money" -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.full_name = ".ftcfg.tower_base_cfg.hangup_reward_money" -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.number = 14 -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.index = 13 -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.label = 2 -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.has_default_value = false -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.default_value = 0 -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.type = 5 -TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.name = "delay_reward_item" -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.full_name = ".ftcfg.tower_base_cfg.delay_reward_item" -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.number = 15 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.index = 14 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.label = 2 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.has_default_value = false -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.default_value = 0 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.type = 5 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.name = "delay_reward_item_count" -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.full_name = ".ftcfg.tower_base_cfg.delay_reward_item_count" -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.number = 16 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.index = 15 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.label = 2 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.has_default_value = false -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.default_value = 0 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.type = 5 -TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD.cpp_type = 1 - -TOWER_BASE_CFG_BIRTH_X_FIELD.name = "birth_x" -TOWER_BASE_CFG_BIRTH_X_FIELD.full_name = ".ftcfg.tower_base_cfg.birth_x" -TOWER_BASE_CFG_BIRTH_X_FIELD.number = 17 -TOWER_BASE_CFG_BIRTH_X_FIELD.index = 16 -TOWER_BASE_CFG_BIRTH_X_FIELD.label = 3 -TOWER_BASE_CFG_BIRTH_X_FIELD.has_default_value = false -TOWER_BASE_CFG_BIRTH_X_FIELD.default_value = {} -TOWER_BASE_CFG_BIRTH_X_FIELD.type = 2 -TOWER_BASE_CFG_BIRTH_X_FIELD.cpp_type = 6 - -TOWER_BASE_CFG_BIRTH_Y_FIELD.name = "birth_y" -TOWER_BASE_CFG_BIRTH_Y_FIELD.full_name = ".ftcfg.tower_base_cfg.birth_y" -TOWER_BASE_CFG_BIRTH_Y_FIELD.number = 18 -TOWER_BASE_CFG_BIRTH_Y_FIELD.index = 17 -TOWER_BASE_CFG_BIRTH_Y_FIELD.label = 3 -TOWER_BASE_CFG_BIRTH_Y_FIELD.has_default_value = false -TOWER_BASE_CFG_BIRTH_Y_FIELD.default_value = {} -TOWER_BASE_CFG_BIRTH_Y_FIELD.type = 2 -TOWER_BASE_CFG_BIRTH_Y_FIELD.cpp_type = 6 - -TOWER_BASE_CFG_BIRTH_Z_FIELD.name = "birth_z" -TOWER_BASE_CFG_BIRTH_Z_FIELD.full_name = ".ftcfg.tower_base_cfg.birth_z" -TOWER_BASE_CFG_BIRTH_Z_FIELD.number = 19 -TOWER_BASE_CFG_BIRTH_Z_FIELD.index = 18 -TOWER_BASE_CFG_BIRTH_Z_FIELD.label = 3 -TOWER_BASE_CFG_BIRTH_Z_FIELD.has_default_value = false -TOWER_BASE_CFG_BIRTH_Z_FIELD.default_value = {} -TOWER_BASE_CFG_BIRTH_Z_FIELD.type = 2 -TOWER_BASE_CFG_BIRTH_Z_FIELD.cpp_type = 6 - -TOWER_BASE_CFG.name = "tower_base_cfg" -TOWER_BASE_CFG.full_name = ".ftcfg.tower_base_cfg" -TOWER_BASE_CFG.nested_types = {} -TOWER_BASE_CFG.enum_types = {} -TOWER_BASE_CFG.fields = {TOWER_BASE_CFG_ID_FIELD, TOWER_BASE_CFG_MAP_ID_FIELD, TOWER_BASE_CFG_ITEM_ID_FIELD, TOWER_BASE_CFG_ITEM_COUNT_FIELD, TOWER_BASE_CFG_RAID_ITEMID_FIELD, TOWER_BASE_CFG_RAID_ITEMCOUNT_FIELD, TOWER_BASE_CFG_MONEYTYPE_FIELD, TOWER_BASE_CFG_MONEYCOUNT_FIELD, TOWER_BASE_CFG_ITEMID_CROSS_FIELD, TOWER_BASE_CFG_ITEMCOUNT_CROSS_FIELD, TOWER_BASE_CFG_EXP_CROSS_FIELD, TOWER_BASE_CFG_HANGUP_REWARD_EXP_FIELD, TOWER_BASE_CFG_HANGUP_REWARD_MONEYTYPE_FIELD, TOWER_BASE_CFG_HANGUP_REWARD_MONEY_FIELD, TOWER_BASE_CFG_DELAY_REWARD_ITEM_FIELD, TOWER_BASE_CFG_DELAY_REWARD_ITEM_COUNT_FIELD, TOWER_BASE_CFG_BIRTH_X_FIELD, TOWER_BASE_CFG_BIRTH_Y_FIELD, TOWER_BASE_CFG_BIRTH_Z_FIELD} -TOWER_BASE_CFG.is_extendable = false -TOWER_BASE_CFG.extensions = {} -TOWER_BASE_CFGS_ITEMS_FIELD.name = "items" -TOWER_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.tower_base_cfgs.items" -TOWER_BASE_CFGS_ITEMS_FIELD.number = 1 -TOWER_BASE_CFGS_ITEMS_FIELD.index = 0 -TOWER_BASE_CFGS_ITEMS_FIELD.label = 3 -TOWER_BASE_CFGS_ITEMS_FIELD.has_default_value = false -TOWER_BASE_CFGS_ITEMS_FIELD.default_value = {} -TOWER_BASE_CFGS_ITEMS_FIELD.message_type = TOWER_BASE_CFG -TOWER_BASE_CFGS_ITEMS_FIELD.type = 11 -TOWER_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -TOWER_BASE_CFGS.name = "tower_base_cfgs" -TOWER_BASE_CFGS.full_name = ".ftcfg.tower_base_cfgs" -TOWER_BASE_CFGS.nested_types = {} -TOWER_BASE_CFGS.enum_types = {} -TOWER_BASE_CFGS.fields = {TOWER_BASE_CFGS_ITEMS_FIELD} -TOWER_BASE_CFGS.is_extendable = false -TOWER_BASE_CFGS.extensions = {} -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.name = "id" -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.id" -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.number = 1 -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.index = 0 -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_ID_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.name = "level_state" -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.level_state" -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.number = 2 -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.index = 1 -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.name = "map_id" -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.map_id" -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.number = 3 -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.index = 2 -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.name = "map_image_id" -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.map_image_id" -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.number = 4 -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.index = 3 -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.name = "map_name" -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.map_name" -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.number = 5 -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.index = 4 -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.default_value = "" -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.type = 9 -STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD.cpp_type = 9 - -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.name = "min_fightval" -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.min_fightval" -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.number = 6 -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.index = 5 -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.type = 13 -STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD.cpp_type = 3 - -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.name = "recommend_fightval" -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.recommend_fightval" -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.number = 7 -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.index = 6 -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.type = 13 -STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD.cpp_type = 3 - -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.name = "consume_item_type" -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.consume_item_type" -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.number = 8 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.index = 7 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.type = 13 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD.cpp_type = 3 - -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.name = "consume_item_num" -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.consume_item_num" -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.number = 9 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.index = 8 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.name = "enter_type" -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.enter_type" -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.number = 10 -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.index = 9 -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.default_value = nil -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.enum_type = config_predefine_pb.EDUNGEON_CHALLENGE_TYPE -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.type = 14 -STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD.cpp_type = 8 - -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.name = "dungoen_diff" -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.dungoen_diff" -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.number = 11 -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.index = 10 -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.default_value = nil -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.enum_type = config_predefine_pb.EDUNGEON_CHALLENGE_DIFF -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.type = 14 -STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD.cpp_type = 8 - -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.name = "enter_delay" -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.enter_delay" -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.number = 12 -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.index = 11 -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.type = 13 -STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD.cpp_type = 3 - -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.name = "default_cancel_buton" -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.default_cancel_buton" -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.number = 13 -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.index = 12 -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.name = "reward_type" -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.reward_type" -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.number = 14 -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.index = 13 -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.name = "min_team_num" -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.min_team_num" -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.number = 15 -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.index = 14 -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.name = "icon_id" -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.icon_id" -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.number = 16 -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.index = 15 -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.default_value = 0 -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.name = "consume_show_name" -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.consume_show_name" -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.number = 17 -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.index = 16 -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.label = 2 -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.default_value = "" -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.type = 9 -STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD.cpp_type = 9 - -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.name = "consume_item_id" -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfg.consume_item_id" -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.number = 18 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.index = 17 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.label = 3 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.default_value = {} -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.type = 5 -STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD.cpp_type = 1 - -STARSPIRIT_DUNGOEN_CFG.name = "starspirit_dungoen_cfg" -STARSPIRIT_DUNGOEN_CFG.full_name = ".ftcfg.starspirit_dungoen_cfg" -STARSPIRIT_DUNGOEN_CFG.nested_types = {} -STARSPIRIT_DUNGOEN_CFG.enum_types = {} -STARSPIRIT_DUNGOEN_CFG.fields = {STARSPIRIT_DUNGOEN_CFG_ID_FIELD, STARSPIRIT_DUNGOEN_CFG_LEVEL_STATE_FIELD, STARSPIRIT_DUNGOEN_CFG_MAP_ID_FIELD, STARSPIRIT_DUNGOEN_CFG_MAP_IMAGE_ID_FIELD, STARSPIRIT_DUNGOEN_CFG_MAP_NAME_FIELD, STARSPIRIT_DUNGOEN_CFG_MIN_FIGHTVAL_FIELD, STARSPIRIT_DUNGOEN_CFG_RECOMMEND_FIGHTVAL_FIELD, STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_TYPE_FIELD, STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_NUM_FIELD, STARSPIRIT_DUNGOEN_CFG_ENTER_TYPE_FIELD, STARSPIRIT_DUNGOEN_CFG_DUNGOEN_DIFF_FIELD, STARSPIRIT_DUNGOEN_CFG_ENTER_DELAY_FIELD, STARSPIRIT_DUNGOEN_CFG_DEFAULT_CANCEL_BUTON_FIELD, STARSPIRIT_DUNGOEN_CFG_REWARD_TYPE_FIELD, STARSPIRIT_DUNGOEN_CFG_MIN_TEAM_NUM_FIELD, STARSPIRIT_DUNGOEN_CFG_ICON_ID_FIELD, STARSPIRIT_DUNGOEN_CFG_CONSUME_SHOW_NAME_FIELD, STARSPIRIT_DUNGOEN_CFG_CONSUME_ITEM_ID_FIELD} -STARSPIRIT_DUNGOEN_CFG.is_extendable = false -STARSPIRIT_DUNGOEN_CFG.extensions = {} -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.name = "items" -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.full_name = ".ftcfg.starspirit_dungoen_cfgs.items" -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.number = 1 -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.index = 0 -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.label = 3 -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.has_default_value = false -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.default_value = {} -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.message_type = STARSPIRIT_DUNGOEN_CFG -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.type = 11 -STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD.cpp_type = 10 - -STARSPIRIT_DUNGOEN_CFGS.name = "starspirit_dungoen_cfgs" -STARSPIRIT_DUNGOEN_CFGS.full_name = ".ftcfg.starspirit_dungoen_cfgs" -STARSPIRIT_DUNGOEN_CFGS.nested_types = {} -STARSPIRIT_DUNGOEN_CFGS.enum_types = {} -STARSPIRIT_DUNGOEN_CFGS.fields = {STARSPIRIT_DUNGOEN_CFGS_ITEMS_FIELD} -STARSPIRIT_DUNGOEN_CFGS.is_extendable = false -STARSPIRIT_DUNGOEN_CFGS.extensions = {} -RUNE_QUALITY_CFG_RUNE_ID_FIELD.name = "rune_id" -RUNE_QUALITY_CFG_RUNE_ID_FIELD.full_name = ".ftcfg.rune_quality_cfg.rune_id" -RUNE_QUALITY_CFG_RUNE_ID_FIELD.number = 1 -RUNE_QUALITY_CFG_RUNE_ID_FIELD.index = 0 -RUNE_QUALITY_CFG_RUNE_ID_FIELD.label = 2 -RUNE_QUALITY_CFG_RUNE_ID_FIELD.has_default_value = false -RUNE_QUALITY_CFG_RUNE_ID_FIELD.default_value = 0 -RUNE_QUALITY_CFG_RUNE_ID_FIELD.type = 13 -RUNE_QUALITY_CFG_RUNE_ID_FIELD.cpp_type = 3 - -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.name = "power_uplimit" -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.full_name = ".ftcfg.rune_quality_cfg.power_uplimit" -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.number = 2 -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.index = 1 -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.label = 2 -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.has_default_value = false -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.default_value = 0 -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.type = 13 -RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD.cpp_type = 3 - -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.name = "power_downlimit" -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.full_name = ".ftcfg.rune_quality_cfg.power_downlimit" -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.number = 3 -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.index = 2 -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.label = 2 -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.has_default_value = false -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.default_value = 0 -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.type = 13 -RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD.cpp_type = 3 - -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.name = "better_effect_rate" -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.full_name = ".ftcfg.rune_quality_cfg.better_effect_rate" -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.number = 4 -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.index = 3 -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.label = 2 -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.has_default_value = false -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.default_value = 0 -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.type = 5 -RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD.cpp_type = 1 - -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.name = "best_effect_rate" -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.full_name = ".ftcfg.rune_quality_cfg.best_effect_rate" -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.number = 5 -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.index = 4 -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.label = 2 -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.has_default_value = false -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.default_value = 0 -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.type = 5 -RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD.cpp_type = 1 - -RUNE_QUALITY_CFG.name = "rune_quality_cfg" -RUNE_QUALITY_CFG.full_name = ".ftcfg.rune_quality_cfg" -RUNE_QUALITY_CFG.nested_types = {} -RUNE_QUALITY_CFG.enum_types = {} -RUNE_QUALITY_CFG.fields = {RUNE_QUALITY_CFG_RUNE_ID_FIELD, RUNE_QUALITY_CFG_POWER_UPLIMIT_FIELD, RUNE_QUALITY_CFG_POWER_DOWNLIMIT_FIELD, RUNE_QUALITY_CFG_BETTER_EFFECT_RATE_FIELD, RUNE_QUALITY_CFG_BEST_EFFECT_RATE_FIELD} -RUNE_QUALITY_CFG.is_extendable = false -RUNE_QUALITY_CFG.extensions = {} -RUNE_QUALITY_CFGS_ITEMS_FIELD.name = "items" -RUNE_QUALITY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_quality_cfgs.items" -RUNE_QUALITY_CFGS_ITEMS_FIELD.number = 1 -RUNE_QUALITY_CFGS_ITEMS_FIELD.index = 0 -RUNE_QUALITY_CFGS_ITEMS_FIELD.label = 3 -RUNE_QUALITY_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_QUALITY_CFGS_ITEMS_FIELD.default_value = {} -RUNE_QUALITY_CFGS_ITEMS_FIELD.message_type = RUNE_QUALITY_CFG -RUNE_QUALITY_CFGS_ITEMS_FIELD.type = 11 -RUNE_QUALITY_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_QUALITY_CFGS.name = "rune_quality_cfgs" -RUNE_QUALITY_CFGS.full_name = ".ftcfg.rune_quality_cfgs" -RUNE_QUALITY_CFGS.nested_types = {} -RUNE_QUALITY_CFGS.enum_types = {} -RUNE_QUALITY_CFGS.fields = {RUNE_QUALITY_CFGS_ITEMS_FIELD} -RUNE_QUALITY_CFGS.is_extendable = false -RUNE_QUALITY_CFGS.extensions = {} -RUNE_PROP_REFINE_CFG_ID_FIELD.name = "id" -RUNE_PROP_REFINE_CFG_ID_FIELD.full_name = ".ftcfg.rune_prop_refine_cfg.id" -RUNE_PROP_REFINE_CFG_ID_FIELD.number = 1 -RUNE_PROP_REFINE_CFG_ID_FIELD.index = 0 -RUNE_PROP_REFINE_CFG_ID_FIELD.label = 2 -RUNE_PROP_REFINE_CFG_ID_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFG_ID_FIELD.default_value = 0 -RUNE_PROP_REFINE_CFG_ID_FIELD.type = 13 -RUNE_PROP_REFINE_CFG_ID_FIELD.cpp_type = 3 - -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.name = "level" -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.full_name = ".ftcfg.rune_prop_refine_cfg.level" -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.number = 2 -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.index = 1 -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.label = 2 -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.default_value = 0 -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.type = 13 -RUNE_PROP_REFINE_CFG_LEVEL_FIELD.cpp_type = 3 - -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.name = "prop_type" -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.full_name = ".ftcfg.rune_prop_refine_cfg.prop_type" -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.number = 3 -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.index = 2 -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.label = 2 -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.default_value = nil -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.type = 14 -RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD.cpp_type = 8 - -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.name = "item_id" -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.rune_prop_refine_cfg.item_id" -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.number = 4 -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.index = 3 -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.label = 2 -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.default_value = 0 -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.type = 13 -RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD.cpp_type = 3 - -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.name = "item_count" -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.full_name = ".ftcfg.rune_prop_refine_cfg.item_count" -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.number = 5 -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.index = 4 -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.label = 2 -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.default_value = 0 -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.type = 13 -RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD.cpp_type = 3 - -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.name = "silver_cost" -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.full_name = ".ftcfg.rune_prop_refine_cfg.silver_cost" -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.number = 6 -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.index = 5 -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.label = 2 -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.default_value = 0 -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.type = 13 -RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD.cpp_type = 3 - -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.name = "prop_limit" -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.full_name = ".ftcfg.rune_prop_refine_cfg.prop_limit" -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.number = 7 -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.index = 6 -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.label = 2 -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.default_value = 0.0 -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.type = 2 -RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD.cpp_type = 6 - -RUNE_PROP_REFINE_CFG.name = "rune_prop_refine_cfg" -RUNE_PROP_REFINE_CFG.full_name = ".ftcfg.rune_prop_refine_cfg" -RUNE_PROP_REFINE_CFG.nested_types = {} -RUNE_PROP_REFINE_CFG.enum_types = {} -RUNE_PROP_REFINE_CFG.fields = {RUNE_PROP_REFINE_CFG_ID_FIELD, RUNE_PROP_REFINE_CFG_LEVEL_FIELD, RUNE_PROP_REFINE_CFG_PROP_TYPE_FIELD, RUNE_PROP_REFINE_CFG_ITEM_ID_FIELD, RUNE_PROP_REFINE_CFG_ITEM_COUNT_FIELD, RUNE_PROP_REFINE_CFG_SILVER_COST_FIELD, RUNE_PROP_REFINE_CFG_PROP_LIMIT_FIELD} -RUNE_PROP_REFINE_CFG.is_extendable = false -RUNE_PROP_REFINE_CFG.extensions = {} -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.name = "items" -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_prop_refine_cfgs.items" -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.number = 1 -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.index = 0 -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.label = 3 -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.default_value = {} -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.message_type = RUNE_PROP_REFINE_CFG -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.type = 11 -RUNE_PROP_REFINE_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_PROP_REFINE_CFGS.name = "rune_prop_refine_cfgs" -RUNE_PROP_REFINE_CFGS.full_name = ".ftcfg.rune_prop_refine_cfgs" -RUNE_PROP_REFINE_CFGS.nested_types = {} -RUNE_PROP_REFINE_CFGS.enum_types = {} -RUNE_PROP_REFINE_CFGS.fields = {RUNE_PROP_REFINE_CFGS_ITEMS_FIELD} -RUNE_PROP_REFINE_CFGS.is_extendable = false -RUNE_PROP_REFINE_CFGS.extensions = {} -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.name = "level" -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.full_name = ".ftcfg.rune_skill_refine_cfg.level" -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.number = 1 -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.index = 0 -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.label = 2 -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.has_default_value = false -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.default_value = 0 -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.type = 13 -RUNE_SKILL_REFINE_CFG_LEVEL_FIELD.cpp_type = 3 - -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.name = "item_id" -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.rune_skill_refine_cfg.item_id" -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.number = 2 -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.index = 1 -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.label = 2 -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.has_default_value = false -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.default_value = 0 -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.type = 13 -RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD.cpp_type = 3 - -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.name = "item_count" -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.full_name = ".ftcfg.rune_skill_refine_cfg.item_count" -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.number = 3 -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.index = 2 -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.label = 2 -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.has_default_value = false -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.default_value = 0 -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.type = 13 -RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD.cpp_type = 3 - -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.name = "silver_cost" -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.full_name = ".ftcfg.rune_skill_refine_cfg.silver_cost" -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.number = 4 -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.index = 3 -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.label = 2 -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.has_default_value = false -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.default_value = 0 -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.type = 13 -RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD.cpp_type = 3 - -RUNE_SKILL_REFINE_CFG.name = "rune_skill_refine_cfg" -RUNE_SKILL_REFINE_CFG.full_name = ".ftcfg.rune_skill_refine_cfg" -RUNE_SKILL_REFINE_CFG.nested_types = {} -RUNE_SKILL_REFINE_CFG.enum_types = {} -RUNE_SKILL_REFINE_CFG.fields = {RUNE_SKILL_REFINE_CFG_LEVEL_FIELD, RUNE_SKILL_REFINE_CFG_ITEM_ID_FIELD, RUNE_SKILL_REFINE_CFG_ITEM_COUNT_FIELD, RUNE_SKILL_REFINE_CFG_SILVER_COST_FIELD} -RUNE_SKILL_REFINE_CFG.is_extendable = false -RUNE_SKILL_REFINE_CFG.extensions = {} -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.name = "items" -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.rune_skill_refine_cfgs.items" -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.number = 1 -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.index = 0 -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.label = 3 -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.has_default_value = false -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.default_value = {} -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.message_type = RUNE_SKILL_REFINE_CFG -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.type = 11 -RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD.cpp_type = 10 - -RUNE_SKILL_REFINE_CFGS.name = "rune_skill_refine_cfgs" -RUNE_SKILL_REFINE_CFGS.full_name = ".ftcfg.rune_skill_refine_cfgs" -RUNE_SKILL_REFINE_CFGS.nested_types = {} -RUNE_SKILL_REFINE_CFGS.enum_types = {} -RUNE_SKILL_REFINE_CFGS.fields = {RUNE_SKILL_REFINE_CFGS_ITEMS_FIELD} -RUNE_SKILL_REFINE_CFGS.is_extendable = false -RUNE_SKILL_REFINE_CFGS.extensions = {} -MONTHCARD_BASE_CFG_ID_FIELD.name = "id" -MONTHCARD_BASE_CFG_ID_FIELD.full_name = ".ftcfg.monthcard_base_cfg.id" -MONTHCARD_BASE_CFG_ID_FIELD.number = 1 -MONTHCARD_BASE_CFG_ID_FIELD.index = 0 -MONTHCARD_BASE_CFG_ID_FIELD.label = 2 -MONTHCARD_BASE_CFG_ID_FIELD.has_default_value = false -MONTHCARD_BASE_CFG_ID_FIELD.default_value = 0 -MONTHCARD_BASE_CFG_ID_FIELD.type = 5 -MONTHCARD_BASE_CFG_ID_FIELD.cpp_type = 1 - -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.name = "continueday" -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.full_name = ".ftcfg.monthcard_base_cfg.continueday" -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.number = 2 -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.index = 1 -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.label = 2 -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.has_default_value = false -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.default_value = 0 -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.type = 5 -MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD.cpp_type = 1 - -MONTHCARD_BASE_CFG_PRICE_FIELD.name = "price" -MONTHCARD_BASE_CFG_PRICE_FIELD.full_name = ".ftcfg.monthcard_base_cfg.price" -MONTHCARD_BASE_CFG_PRICE_FIELD.number = 3 -MONTHCARD_BASE_CFG_PRICE_FIELD.index = 2 -MONTHCARD_BASE_CFG_PRICE_FIELD.label = 2 -MONTHCARD_BASE_CFG_PRICE_FIELD.has_default_value = false -MONTHCARD_BASE_CFG_PRICE_FIELD.default_value = 0 -MONTHCARD_BASE_CFG_PRICE_FIELD.type = 5 -MONTHCARD_BASE_CFG_PRICE_FIELD.cpp_type = 1 - -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.name = "ingotscount" -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.full_name = ".ftcfg.monthcard_base_cfg.ingotscount" -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.number = 4 -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.index = 3 -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.label = 2 -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.has_default_value = false -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.default_value = 0 -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.type = 5 -MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD.cpp_type = 1 - -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.name = "exp_percent" -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.full_name = ".ftcfg.monthcard_base_cfg.exp_percent" -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.number = 5 -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.index = 4 -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.label = 2 -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.has_default_value = false -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.default_value = 0 -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.type = 5 -MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD.cpp_type = 1 - -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.name = "popularity_per" -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.full_name = ".ftcfg.monthcard_base_cfg.popularity_per" -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.number = 6 -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.index = 5 -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.label = 2 -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.has_default_value = false -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.default_value = 0 -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.type = 5 -MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD.cpp_type = 1 - -MONTHCARD_BASE_CFG.name = "monthcard_base_cfg" -MONTHCARD_BASE_CFG.full_name = ".ftcfg.monthcard_base_cfg" -MONTHCARD_BASE_CFG.nested_types = {} -MONTHCARD_BASE_CFG.enum_types = {} -MONTHCARD_BASE_CFG.fields = {MONTHCARD_BASE_CFG_ID_FIELD, MONTHCARD_BASE_CFG_CONTINUEDAY_FIELD, MONTHCARD_BASE_CFG_PRICE_FIELD, MONTHCARD_BASE_CFG_INGOTSCOUNT_FIELD, MONTHCARD_BASE_CFG_EXP_PERCENT_FIELD, MONTHCARD_BASE_CFG_POPULARITY_PER_FIELD} -MONTHCARD_BASE_CFG.is_extendable = false -MONTHCARD_BASE_CFG.extensions = {} -MONTHCARD_BASE_CFGS_ITEMS_FIELD.name = "items" -MONTHCARD_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.monthcard_base_cfgs.items" -MONTHCARD_BASE_CFGS_ITEMS_FIELD.number = 1 -MONTHCARD_BASE_CFGS_ITEMS_FIELD.index = 0 -MONTHCARD_BASE_CFGS_ITEMS_FIELD.label = 3 -MONTHCARD_BASE_CFGS_ITEMS_FIELD.has_default_value = false -MONTHCARD_BASE_CFGS_ITEMS_FIELD.default_value = {} -MONTHCARD_BASE_CFGS_ITEMS_FIELD.message_type = MONTHCARD_BASE_CFG -MONTHCARD_BASE_CFGS_ITEMS_FIELD.type = 11 -MONTHCARD_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -MONTHCARD_BASE_CFGS.name = "monthcard_base_cfgs" -MONTHCARD_BASE_CFGS.full_name = ".ftcfg.monthcard_base_cfgs" -MONTHCARD_BASE_CFGS.nested_types = {} -MONTHCARD_BASE_CFGS.enum_types = {} -MONTHCARD_BASE_CFGS.fields = {MONTHCARD_BASE_CFGS_ITEMS_FIELD} -MONTHCARD_BASE_CFGS.is_extendable = false -MONTHCARD_BASE_CFGS.extensions = {} -SIGNUP_BASE_CFG_ID_FIELD.name = "id" -SIGNUP_BASE_CFG_ID_FIELD.full_name = ".ftcfg.signup_base_cfg.id" -SIGNUP_BASE_CFG_ID_FIELD.number = 1 -SIGNUP_BASE_CFG_ID_FIELD.index = 0 -SIGNUP_BASE_CFG_ID_FIELD.label = 2 -SIGNUP_BASE_CFG_ID_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ID_FIELD.default_value = 0 -SIGNUP_BASE_CFG_ID_FIELD.type = 5 -SIGNUP_BASE_CFG_ID_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.name = "item_number_month1" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month1" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.number = 2 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.index = 1 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.name = "item_number_month2" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month2" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.number = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.index = 2 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.name = "item_number_month3" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month3" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.number = 4 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.index = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.name = "item_number_month4" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month4" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.number = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.index = 4 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.name = "item_number_month5" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month5" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.number = 6 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.index = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.name = "item_number_month6" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month6" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.number = 7 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.index = 6 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.name = "item_number_month7" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month7" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.number = 8 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.index = 7 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.name = "item_number_month8" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month8" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.number = 9 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.index = 8 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.name = "item_number_month9" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month9" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.number = 10 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.index = 9 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.name = "item_number_month10" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month10" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.number = 11 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.index = 10 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.name = "item_number_month11" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month11" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.number = 12 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.index = 11 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.name = "item_number_month12" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.full_name = ".ftcfg.signup_base_cfg.item_number_month12" -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.number = 13 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.index = 12 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.label = 3 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.has_default_value = false -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.default_value = {} -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.type = 5 -SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD.cpp_type = 1 - -SIGNUP_BASE_CFG.name = "signup_base_cfg" -SIGNUP_BASE_CFG.full_name = ".ftcfg.signup_base_cfg" -SIGNUP_BASE_CFG.nested_types = {} -SIGNUP_BASE_CFG.enum_types = {} -SIGNUP_BASE_CFG.fields = {SIGNUP_BASE_CFG_ID_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH1_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH2_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH3_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH4_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH5_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH6_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH7_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH8_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH9_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH10_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH11_FIELD, SIGNUP_BASE_CFG_ITEM_NUMBER_MONTH12_FIELD} -SIGNUP_BASE_CFG.is_extendable = false -SIGNUP_BASE_CFG.extensions = {} -SIGNUP_BASE_CFGS_ITEMS_FIELD.name = "items" -SIGNUP_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.signup_base_cfgs.items" -SIGNUP_BASE_CFGS_ITEMS_FIELD.number = 1 -SIGNUP_BASE_CFGS_ITEMS_FIELD.index = 0 -SIGNUP_BASE_CFGS_ITEMS_FIELD.label = 3 -SIGNUP_BASE_CFGS_ITEMS_FIELD.has_default_value = false -SIGNUP_BASE_CFGS_ITEMS_FIELD.default_value = {} -SIGNUP_BASE_CFGS_ITEMS_FIELD.message_type = SIGNUP_BASE_CFG -SIGNUP_BASE_CFGS_ITEMS_FIELD.type = 11 -SIGNUP_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -SIGNUP_BASE_CFGS.name = "signup_base_cfgs" -SIGNUP_BASE_CFGS.full_name = ".ftcfg.signup_base_cfgs" -SIGNUP_BASE_CFGS.nested_types = {} -SIGNUP_BASE_CFGS.enum_types = {} -SIGNUP_BASE_CFGS.fields = {SIGNUP_BASE_CFGS_ITEMS_FIELD} -SIGNUP_BASE_CFGS.is_extendable = false -SIGNUP_BASE_CFGS.extensions = {} -SIGNUP_ACCUMULATION_CFG_ID_FIELD.name = "id" -SIGNUP_ACCUMULATION_CFG_ID_FIELD.full_name = ".ftcfg.signup_accumulation_cfg.id" -SIGNUP_ACCUMULATION_CFG_ID_FIELD.number = 1 -SIGNUP_ACCUMULATION_CFG_ID_FIELD.index = 0 -SIGNUP_ACCUMULATION_CFG_ID_FIELD.label = 2 -SIGNUP_ACCUMULATION_CFG_ID_FIELD.has_default_value = false -SIGNUP_ACCUMULATION_CFG_ID_FIELD.default_value = 0 -SIGNUP_ACCUMULATION_CFG_ID_FIELD.type = 5 -SIGNUP_ACCUMULATION_CFG_ID_FIELD.cpp_type = 1 - -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.name = "reach_number" -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.full_name = ".ftcfg.signup_accumulation_cfg.reach_number" -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.number = 2 -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.index = 1 -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.label = 2 -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.has_default_value = false -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.default_value = 0 -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.type = 5 -SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD.cpp_type = 1 - -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.name = "reward_id" -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.full_name = ".ftcfg.signup_accumulation_cfg.reward_id" -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.number = 3 -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.index = 2 -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.label = 2 -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.has_default_value = false -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.default_value = 0 -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.type = 5 -SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD.cpp_type = 1 - -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.name = "reward_num" -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.full_name = ".ftcfg.signup_accumulation_cfg.reward_num" -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.number = 4 -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.index = 3 -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.label = 2 -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.has_default_value = false -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.default_value = 0 -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.type = 5 -SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD.cpp_type = 1 - -SIGNUP_ACCUMULATION_CFG.name = "signup_accumulation_cfg" -SIGNUP_ACCUMULATION_CFG.full_name = ".ftcfg.signup_accumulation_cfg" -SIGNUP_ACCUMULATION_CFG.nested_types = {} -SIGNUP_ACCUMULATION_CFG.enum_types = {} -SIGNUP_ACCUMULATION_CFG.fields = {SIGNUP_ACCUMULATION_CFG_ID_FIELD, SIGNUP_ACCUMULATION_CFG_REACH_NUMBER_FIELD, SIGNUP_ACCUMULATION_CFG_REWARD_ID_FIELD, SIGNUP_ACCUMULATION_CFG_REWARD_NUM_FIELD} -SIGNUP_ACCUMULATION_CFG.is_extendable = false -SIGNUP_ACCUMULATION_CFG.extensions = {} -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.name = "items" -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.signup_accumulation_cfgs.items" -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.number = 1 -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.index = 0 -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.label = 3 -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.has_default_value = false -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.default_value = {} -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.message_type = SIGNUP_ACCUMULATION_CFG -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.type = 11 -SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -SIGNUP_ACCUMULATION_CFGS.name = "signup_accumulation_cfgs" -SIGNUP_ACCUMULATION_CFGS.full_name = ".ftcfg.signup_accumulation_cfgs" -SIGNUP_ACCUMULATION_CFGS.nested_types = {} -SIGNUP_ACCUMULATION_CFGS.enum_types = {} -SIGNUP_ACCUMULATION_CFGS.fields = {SIGNUP_ACCUMULATION_CFGS_ITEMS_FIELD} -SIGNUP_ACCUMULATION_CFGS.is_extendable = false -SIGNUP_ACCUMULATION_CFGS.extensions = {} -SERVICE_CFG_ID_FIELD.name = "id" -SERVICE_CFG_ID_FIELD.full_name = ".ftcfg.service_cfg.id" -SERVICE_CFG_ID_FIELD.number = 1 -SERVICE_CFG_ID_FIELD.index = 0 -SERVICE_CFG_ID_FIELD.label = 2 -SERVICE_CFG_ID_FIELD.has_default_value = false -SERVICE_CFG_ID_FIELD.default_value = 0 -SERVICE_CFG_ID_FIELD.type = 5 -SERVICE_CFG_ID_FIELD.cpp_type = 1 - -SERVICE_CFG_SERVICE_ID_FIELD.name = "service_id" -SERVICE_CFG_SERVICE_ID_FIELD.full_name = ".ftcfg.service_cfg.service_id" -SERVICE_CFG_SERVICE_ID_FIELD.number = 2 -SERVICE_CFG_SERVICE_ID_FIELD.index = 1 -SERVICE_CFG_SERVICE_ID_FIELD.label = 2 -SERVICE_CFG_SERVICE_ID_FIELD.has_default_value = false -SERVICE_CFG_SERVICE_ID_FIELD.default_value = 0 -SERVICE_CFG_SERVICE_ID_FIELD.type = 5 -SERVICE_CFG_SERVICE_ID_FIELD.cpp_type = 1 - -SERVICE_CFG_PARAM1_FIELD.name = "param1" -SERVICE_CFG_PARAM1_FIELD.full_name = ".ftcfg.service_cfg.param1" -SERVICE_CFG_PARAM1_FIELD.number = 3 -SERVICE_CFG_PARAM1_FIELD.index = 2 -SERVICE_CFG_PARAM1_FIELD.label = 2 -SERVICE_CFG_PARAM1_FIELD.has_default_value = false -SERVICE_CFG_PARAM1_FIELD.default_value = 0 -SERVICE_CFG_PARAM1_FIELD.type = 5 -SERVICE_CFG_PARAM1_FIELD.cpp_type = 1 - -SERVICE_CFG_PARAM2_FIELD.name = "param2" -SERVICE_CFG_PARAM2_FIELD.full_name = ".ftcfg.service_cfg.param2" -SERVICE_CFG_PARAM2_FIELD.number = 4 -SERVICE_CFG_PARAM2_FIELD.index = 3 -SERVICE_CFG_PARAM2_FIELD.label = 2 -SERVICE_CFG_PARAM2_FIELD.has_default_value = false -SERVICE_CFG_PARAM2_FIELD.default_value = 0 -SERVICE_CFG_PARAM2_FIELD.type = 5 -SERVICE_CFG_PARAM2_FIELD.cpp_type = 1 - -SERVICE_CFG_PARAM3_FIELD.name = "param3" -SERVICE_CFG_PARAM3_FIELD.full_name = ".ftcfg.service_cfg.param3" -SERVICE_CFG_PARAM3_FIELD.number = 5 -SERVICE_CFG_PARAM3_FIELD.index = 4 -SERVICE_CFG_PARAM3_FIELD.label = 2 -SERVICE_CFG_PARAM3_FIELD.has_default_value = false -SERVICE_CFG_PARAM3_FIELD.default_value = 0 -SERVICE_CFG_PARAM3_FIELD.type = 5 -SERVICE_CFG_PARAM3_FIELD.cpp_type = 1 - -SERVICE_CFG_PARAM4_FIELD.name = "param4" -SERVICE_CFG_PARAM4_FIELD.full_name = ".ftcfg.service_cfg.param4" -SERVICE_CFG_PARAM4_FIELD.number = 6 -SERVICE_CFG_PARAM4_FIELD.index = 5 -SERVICE_CFG_PARAM4_FIELD.label = 2 -SERVICE_CFG_PARAM4_FIELD.has_default_value = false -SERVICE_CFG_PARAM4_FIELD.default_value = 0 -SERVICE_CFG_PARAM4_FIELD.type = 5 -SERVICE_CFG_PARAM4_FIELD.cpp_type = 1 - -SERVICE_CFG_PARAM5_FIELD.name = "param5" -SERVICE_CFG_PARAM5_FIELD.full_name = ".ftcfg.service_cfg.param5" -SERVICE_CFG_PARAM5_FIELD.number = 7 -SERVICE_CFG_PARAM5_FIELD.index = 6 -SERVICE_CFG_PARAM5_FIELD.label = 2 -SERVICE_CFG_PARAM5_FIELD.has_default_value = false -SERVICE_CFG_PARAM5_FIELD.default_value = 0 -SERVICE_CFG_PARAM5_FIELD.type = 5 -SERVICE_CFG_PARAM5_FIELD.cpp_type = 1 - -SERVICE_CFG.name = "service_cfg" -SERVICE_CFG.full_name = ".ftcfg.service_cfg" -SERVICE_CFG.nested_types = {} -SERVICE_CFG.enum_types = {} -SERVICE_CFG.fields = {SERVICE_CFG_ID_FIELD, SERVICE_CFG_SERVICE_ID_FIELD, SERVICE_CFG_PARAM1_FIELD, SERVICE_CFG_PARAM2_FIELD, SERVICE_CFG_PARAM3_FIELD, SERVICE_CFG_PARAM4_FIELD, SERVICE_CFG_PARAM5_FIELD} -SERVICE_CFG.is_extendable = false -SERVICE_CFG.extensions = {} -SERVICE_CFGS_ITEMS_FIELD.name = "items" -SERVICE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.service_cfgs.items" -SERVICE_CFGS_ITEMS_FIELD.number = 1 -SERVICE_CFGS_ITEMS_FIELD.index = 0 -SERVICE_CFGS_ITEMS_FIELD.label = 3 -SERVICE_CFGS_ITEMS_FIELD.has_default_value = false -SERVICE_CFGS_ITEMS_FIELD.default_value = {} -SERVICE_CFGS_ITEMS_FIELD.message_type = SERVICE_CFG -SERVICE_CFGS_ITEMS_FIELD.type = 11 -SERVICE_CFGS_ITEMS_FIELD.cpp_type = 10 - -SERVICE_CFGS.name = "service_cfgs" -SERVICE_CFGS.full_name = ".ftcfg.service_cfgs" -SERVICE_CFGS.nested_types = {} -SERVICE_CFGS.enum_types = {} -SERVICE_CFGS.fields = {SERVICE_CFGS_ITEMS_FIELD} -SERVICE_CFGS.is_extendable = false -SERVICE_CFGS.extensions = {} -MATERIAL_ITEM_CFG_NUM_FIELD.name = "num" -MATERIAL_ITEM_CFG_NUM_FIELD.full_name = ".ftcfg.material_item_cfg.num" -MATERIAL_ITEM_CFG_NUM_FIELD.number = 1 -MATERIAL_ITEM_CFG_NUM_FIELD.index = 0 -MATERIAL_ITEM_CFG_NUM_FIELD.label = 2 -MATERIAL_ITEM_CFG_NUM_FIELD.has_default_value = false -MATERIAL_ITEM_CFG_NUM_FIELD.default_value = 0 -MATERIAL_ITEM_CFG_NUM_FIELD.type = 13 -MATERIAL_ITEM_CFG_NUM_FIELD.cpp_type = 3 - -MATERIAL_ITEM_CFG_ID_FIELD.name = "id" -MATERIAL_ITEM_CFG_ID_FIELD.full_name = ".ftcfg.material_item_cfg.id" -MATERIAL_ITEM_CFG_ID_FIELD.number = 2 -MATERIAL_ITEM_CFG_ID_FIELD.index = 1 -MATERIAL_ITEM_CFG_ID_FIELD.label = 3 -MATERIAL_ITEM_CFG_ID_FIELD.has_default_value = false -MATERIAL_ITEM_CFG_ID_FIELD.default_value = {} -MATERIAL_ITEM_CFG_ID_FIELD.type = 13 -MATERIAL_ITEM_CFG_ID_FIELD.cpp_type = 3 - -MATERIAL_ITEM_CFG_WEIGHT_FIELD.name = "weight" -MATERIAL_ITEM_CFG_WEIGHT_FIELD.full_name = ".ftcfg.material_item_cfg.weight" -MATERIAL_ITEM_CFG_WEIGHT_FIELD.number = 3 -MATERIAL_ITEM_CFG_WEIGHT_FIELD.index = 2 -MATERIAL_ITEM_CFG_WEIGHT_FIELD.label = 3 -MATERIAL_ITEM_CFG_WEIGHT_FIELD.has_default_value = false -MATERIAL_ITEM_CFG_WEIGHT_FIELD.default_value = {} -MATERIAL_ITEM_CFG_WEIGHT_FIELD.type = 5 -MATERIAL_ITEM_CFG_WEIGHT_FIELD.cpp_type = 1 - -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.name = "reward_id" -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.full_name = ".ftcfg.material_item_cfg.reward_id" -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.number = 4 -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.index = 3 -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.label = 3 -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.has_default_value = false -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.default_value = {} -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.type = 5 -MATERIAL_ITEM_CFG_REWARD_ID_FIELD.cpp_type = 1 - -MATERIAL_ITEM_CFG.name = "material_item_cfg" -MATERIAL_ITEM_CFG.full_name = ".ftcfg.material_item_cfg" -MATERIAL_ITEM_CFG.nested_types = {} -MATERIAL_ITEM_CFG.enum_types = {} -MATERIAL_ITEM_CFG.fields = {MATERIAL_ITEM_CFG_NUM_FIELD, MATERIAL_ITEM_CFG_ID_FIELD, MATERIAL_ITEM_CFG_WEIGHT_FIELD, MATERIAL_ITEM_CFG_REWARD_ID_FIELD} -MATERIAL_ITEM_CFG.is_extendable = false -MATERIAL_ITEM_CFG.extensions = {} -MATERIAL_ITEM_CFGS_ITEMS_FIELD.name = "items" -MATERIAL_ITEM_CFGS_ITEMS_FIELD.full_name = ".ftcfg.material_item_cfgs.items" -MATERIAL_ITEM_CFGS_ITEMS_FIELD.number = 1 -MATERIAL_ITEM_CFGS_ITEMS_FIELD.index = 0 -MATERIAL_ITEM_CFGS_ITEMS_FIELD.label = 3 -MATERIAL_ITEM_CFGS_ITEMS_FIELD.has_default_value = false -MATERIAL_ITEM_CFGS_ITEMS_FIELD.default_value = {} -MATERIAL_ITEM_CFGS_ITEMS_FIELD.message_type = MATERIAL_ITEM_CFG -MATERIAL_ITEM_CFGS_ITEMS_FIELD.type = 11 -MATERIAL_ITEM_CFGS_ITEMS_FIELD.cpp_type = 10 - -MATERIAL_ITEM_CFGS.name = "material_item_cfgs" -MATERIAL_ITEM_CFGS.full_name = ".ftcfg.material_item_cfgs" -MATERIAL_ITEM_CFGS.nested_types = {} -MATERIAL_ITEM_CFGS.enum_types = {} -MATERIAL_ITEM_CFGS.fields = {MATERIAL_ITEM_CFGS_ITEMS_FIELD} -MATERIAL_ITEM_CFGS.is_extendable = false -MATERIAL_ITEM_CFGS.extensions = {} -STATE_CFG_ID_FIELD.name = "id" -STATE_CFG_ID_FIELD.full_name = ".ftcfg.state_cfg.id" -STATE_CFG_ID_FIELD.number = 1 -STATE_CFG_ID_FIELD.index = 0 -STATE_CFG_ID_FIELD.label = 2 -STATE_CFG_ID_FIELD.has_default_value = false -STATE_CFG_ID_FIELD.default_value = 0 -STATE_CFG_ID_FIELD.type = 5 -STATE_CFG_ID_FIELD.cpp_type = 1 - -STATE_CFG_DESC_FIELD.name = "desc" -STATE_CFG_DESC_FIELD.full_name = ".ftcfg.state_cfg.desc" -STATE_CFG_DESC_FIELD.number = 2 -STATE_CFG_DESC_FIELD.index = 1 -STATE_CFG_DESC_FIELD.label = 2 -STATE_CFG_DESC_FIELD.has_default_value = false -STATE_CFG_DESC_FIELD.default_value = "" -STATE_CFG_DESC_FIELD.type = 9 -STATE_CFG_DESC_FIELD.cpp_type = 9 - -STATE_CFG_ACTIONS_FIELD.name = "actions" -STATE_CFG_ACTIONS_FIELD.full_name = ".ftcfg.state_cfg.actions" -STATE_CFG_ACTIONS_FIELD.number = 3 -STATE_CFG_ACTIONS_FIELD.index = 2 -STATE_CFG_ACTIONS_FIELD.label = 3 -STATE_CFG_ACTIONS_FIELD.has_default_value = false -STATE_CFG_ACTIONS_FIELD.default_value = {} -STATE_CFG_ACTIONS_FIELD.enum_type = config_predefine_pb.EBATTLESTATEACTION -STATE_CFG_ACTIONS_FIELD.type = 14 -STATE_CFG_ACTIONS_FIELD.cpp_type = 8 - -STATE_CFG.name = "state_cfg" -STATE_CFG.full_name = ".ftcfg.state_cfg" -STATE_CFG.nested_types = {} -STATE_CFG.enum_types = {} -STATE_CFG.fields = {STATE_CFG_ID_FIELD, STATE_CFG_DESC_FIELD, STATE_CFG_ACTIONS_FIELD} -STATE_CFG.is_extendable = false -STATE_CFG.extensions = {} -STATE_CFGS_ITEMS_FIELD.name = "items" -STATE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.state_cfgs.items" -STATE_CFGS_ITEMS_FIELD.number = 1 -STATE_CFGS_ITEMS_FIELD.index = 0 -STATE_CFGS_ITEMS_FIELD.label = 3 -STATE_CFGS_ITEMS_FIELD.has_default_value = false -STATE_CFGS_ITEMS_FIELD.default_value = {} -STATE_CFGS_ITEMS_FIELD.message_type = STATE_CFG -STATE_CFGS_ITEMS_FIELD.type = 11 -STATE_CFGS_ITEMS_FIELD.cpp_type = 10 - -STATE_CFGS.name = "state_cfgs" -STATE_CFGS.full_name = ".ftcfg.state_cfgs" -STATE_CFGS.nested_types = {} -STATE_CFGS.enum_types = {} -STATE_CFGS.fields = {STATE_CFGS_ITEMS_FIELD} -STATE_CFGS.is_extendable = false -STATE_CFGS.extensions = {} -CAM_OPTIONS_CFG_ID_FIELD.name = "id" -CAM_OPTIONS_CFG_ID_FIELD.full_name = ".ftcfg.cam_options_cfg.id" -CAM_OPTIONS_CFG_ID_FIELD.number = 1 -CAM_OPTIONS_CFG_ID_FIELD.index = 0 -CAM_OPTIONS_CFG_ID_FIELD.label = 2 -CAM_OPTIONS_CFG_ID_FIELD.has_default_value = false -CAM_OPTIONS_CFG_ID_FIELD.default_value = 0 -CAM_OPTIONS_CFG_ID_FIELD.type = 5 -CAM_OPTIONS_CFG_ID_FIELD.cpp_type = 1 - -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.name = "min_pitch" -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.full_name = ".ftcfg.cam_options_cfg.min_pitch" -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.number = 2 -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.index = 1 -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.label = 2 -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.has_default_value = false -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.type = 2 -CAM_OPTIONS_CFG_MIN_PITCH_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.name = "max_pitch" -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.full_name = ".ftcfg.cam_options_cfg.max_pitch" -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.number = 3 -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.index = 2 -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.label = 2 -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.has_default_value = false -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.type = 2 -CAM_OPTIONS_CFG_MAX_PITCH_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.name = "max_follow_dis" -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.full_name = ".ftcfg.cam_options_cfg.max_follow_dis" -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.number = 4 -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.index = 3 -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.label = 2 -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.has_default_value = false -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.type = 2 -CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.name = "min_follow_dis" -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.full_name = ".ftcfg.cam_options_cfg.min_follow_dis" -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.number = 5 -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.index = 4 -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.label = 2 -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.has_default_value = false -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.type = 2 -CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_DEF_YAW_FIELD.name = "def_yaw" -CAM_OPTIONS_CFG_DEF_YAW_FIELD.full_name = ".ftcfg.cam_options_cfg.def_yaw" -CAM_OPTIONS_CFG_DEF_YAW_FIELD.number = 6 -CAM_OPTIONS_CFG_DEF_YAW_FIELD.index = 5 -CAM_OPTIONS_CFG_DEF_YAW_FIELD.label = 2 -CAM_OPTIONS_CFG_DEF_YAW_FIELD.has_default_value = false -CAM_OPTIONS_CFG_DEF_YAW_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_DEF_YAW_FIELD.type = 2 -CAM_OPTIONS_CFG_DEF_YAW_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.name = "def_pitch" -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.full_name = ".ftcfg.cam_options_cfg.def_pitch" -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.number = 7 -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.index = 6 -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.label = 2 -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.has_default_value = false -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.type = 2 -CAM_OPTIONS_CFG_DEF_PITCH_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.name = "follow_auto_rot_yaw_speed" -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.full_name = ".ftcfg.cam_options_cfg.follow_auto_rot_yaw_speed" -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.number = 8 -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.index = 7 -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.label = 2 -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.has_default_value = false -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.type = 2 -CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_OFFSET_X_FIELD.name = "offset_x" -CAM_OPTIONS_CFG_OFFSET_X_FIELD.full_name = ".ftcfg.cam_options_cfg.offset_x" -CAM_OPTIONS_CFG_OFFSET_X_FIELD.number = 9 -CAM_OPTIONS_CFG_OFFSET_X_FIELD.index = 8 -CAM_OPTIONS_CFG_OFFSET_X_FIELD.label = 2 -CAM_OPTIONS_CFG_OFFSET_X_FIELD.has_default_value = false -CAM_OPTIONS_CFG_OFFSET_X_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_OFFSET_X_FIELD.type = 2 -CAM_OPTIONS_CFG_OFFSET_X_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.name = "offset_y" -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.full_name = ".ftcfg.cam_options_cfg.offset_y" -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.number = 10 -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.index = 9 -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.label = 2 -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.has_default_value = false -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.type = 2 -CAM_OPTIONS_CFG_OFFSET_Y_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.name = "offset_z" -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.full_name = ".ftcfg.cam_options_cfg.offset_z" -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.number = 11 -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.index = 10 -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.label = 2 -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.has_default_value = false -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.type = 2 -CAM_OPTIONS_CFG_OFFSET_Z_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG_FOV_FIELD.name = "fov" -CAM_OPTIONS_CFG_FOV_FIELD.full_name = ".ftcfg.cam_options_cfg.fov" -CAM_OPTIONS_CFG_FOV_FIELD.number = 12 -CAM_OPTIONS_CFG_FOV_FIELD.index = 11 -CAM_OPTIONS_CFG_FOV_FIELD.label = 2 -CAM_OPTIONS_CFG_FOV_FIELD.has_default_value = false -CAM_OPTIONS_CFG_FOV_FIELD.default_value = 0.0 -CAM_OPTIONS_CFG_FOV_FIELD.type = 2 -CAM_OPTIONS_CFG_FOV_FIELD.cpp_type = 6 - -CAM_OPTIONS_CFG.name = "cam_options_cfg" -CAM_OPTIONS_CFG.full_name = ".ftcfg.cam_options_cfg" -CAM_OPTIONS_CFG.nested_types = {} -CAM_OPTIONS_CFG.enum_types = {} -CAM_OPTIONS_CFG.fields = {CAM_OPTIONS_CFG_ID_FIELD, CAM_OPTIONS_CFG_MIN_PITCH_FIELD, CAM_OPTIONS_CFG_MAX_PITCH_FIELD, CAM_OPTIONS_CFG_MAX_FOLLOW_DIS_FIELD, CAM_OPTIONS_CFG_MIN_FOLLOW_DIS_FIELD, CAM_OPTIONS_CFG_DEF_YAW_FIELD, CAM_OPTIONS_CFG_DEF_PITCH_FIELD, CAM_OPTIONS_CFG_FOLLOW_AUTO_ROT_YAW_SPEED_FIELD, CAM_OPTIONS_CFG_OFFSET_X_FIELD, CAM_OPTIONS_CFG_OFFSET_Y_FIELD, CAM_OPTIONS_CFG_OFFSET_Z_FIELD, CAM_OPTIONS_CFG_FOV_FIELD} -CAM_OPTIONS_CFG.is_extendable = false -CAM_OPTIONS_CFG.extensions = {} -CAM_OPTIONS_CFGS_ITEMS_FIELD.name = "items" -CAM_OPTIONS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.cam_options_cfgs.items" -CAM_OPTIONS_CFGS_ITEMS_FIELD.number = 1 -CAM_OPTIONS_CFGS_ITEMS_FIELD.index = 0 -CAM_OPTIONS_CFGS_ITEMS_FIELD.label = 3 -CAM_OPTIONS_CFGS_ITEMS_FIELD.has_default_value = false -CAM_OPTIONS_CFGS_ITEMS_FIELD.default_value = {} -CAM_OPTIONS_CFGS_ITEMS_FIELD.message_type = CAM_OPTIONS_CFG -CAM_OPTIONS_CFGS_ITEMS_FIELD.type = 11 -CAM_OPTIONS_CFGS_ITEMS_FIELD.cpp_type = 10 - -CAM_OPTIONS_CFGS.name = "cam_options_cfgs" -CAM_OPTIONS_CFGS.full_name = ".ftcfg.cam_options_cfgs" -CAM_OPTIONS_CFGS.nested_types = {} -CAM_OPTIONS_CFGS.enum_types = {} -CAM_OPTIONS_CFGS.fields = {CAM_OPTIONS_CFGS_ITEMS_FIELD} -CAM_OPTIONS_CFGS.is_extendable = false -CAM_OPTIONS_CFGS.extensions = {} -LEVEL_PACKAGE_CFG_ID_FIELD.name = "id" -LEVEL_PACKAGE_CFG_ID_FIELD.full_name = ".ftcfg.level_package_cfg.id" -LEVEL_PACKAGE_CFG_ID_FIELD.number = 1 -LEVEL_PACKAGE_CFG_ID_FIELD.index = 0 -LEVEL_PACKAGE_CFG_ID_FIELD.label = 2 -LEVEL_PACKAGE_CFG_ID_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_ID_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_ID_FIELD.type = 5 -LEVEL_PACKAGE_CFG_ID_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.name = "reach_grade" -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.full_name = ".ftcfg.level_package_cfg.reach_grade" -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.number = 2 -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.index = 1 -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.name = "reward_item1" -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.full_name = ".ftcfg.level_package_cfg.reward_item1" -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.number = 3 -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.index = 2 -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.name = "reward_number1" -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.full_name = ".ftcfg.level_package_cfg.reward_number1" -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.number = 4 -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.index = 3 -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.name = "reward_item2" -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.full_name = ".ftcfg.level_package_cfg.reward_item2" -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.number = 5 -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.index = 4 -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.name = "reward_number2" -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.full_name = ".ftcfg.level_package_cfg.reward_number2" -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.number = 6 -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.index = 5 -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.name = "reward_item3" -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.full_name = ".ftcfg.level_package_cfg.reward_item3" -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.number = 7 -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.index = 6 -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.name = "reward_number3" -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.full_name = ".ftcfg.level_package_cfg.reward_number3" -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.number = 8 -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.index = 7 -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.name = "reward_item4" -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.full_name = ".ftcfg.level_package_cfg.reward_item4" -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.number = 9 -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.index = 8 -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.name = "reward_number4" -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.full_name = ".ftcfg.level_package_cfg.reward_number4" -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.number = 10 -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.index = 9 -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.name = "reward_item5" -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.full_name = ".ftcfg.level_package_cfg.reward_item5" -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.number = 11 -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.index = 10 -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.name = "reward_number5" -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.full_name = ".ftcfg.level_package_cfg.reward_number5" -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.number = 12 -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.index = 11 -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.name = "reward_item6" -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.full_name = ".ftcfg.level_package_cfg.reward_item6" -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.number = 13 -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.index = 12 -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.name = "reward_number6" -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.full_name = ".ftcfg.level_package_cfg.reward_number6" -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.number = 14 -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.index = 13 -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.label = 2 -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.has_default_value = false -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.default_value = 0 -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.type = 5 -LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD.cpp_type = 1 - -LEVEL_PACKAGE_CFG.name = "level_package_cfg" -LEVEL_PACKAGE_CFG.full_name = ".ftcfg.level_package_cfg" -LEVEL_PACKAGE_CFG.nested_types = {} -LEVEL_PACKAGE_CFG.enum_types = {} -LEVEL_PACKAGE_CFG.fields = {LEVEL_PACKAGE_CFG_ID_FIELD, LEVEL_PACKAGE_CFG_REACH_GRADE_FIELD, LEVEL_PACKAGE_CFG_REWARD_ITEM1_FIELD, LEVEL_PACKAGE_CFG_REWARD_NUMBER1_FIELD, LEVEL_PACKAGE_CFG_REWARD_ITEM2_FIELD, LEVEL_PACKAGE_CFG_REWARD_NUMBER2_FIELD, LEVEL_PACKAGE_CFG_REWARD_ITEM3_FIELD, LEVEL_PACKAGE_CFG_REWARD_NUMBER3_FIELD, LEVEL_PACKAGE_CFG_REWARD_ITEM4_FIELD, LEVEL_PACKAGE_CFG_REWARD_NUMBER4_FIELD, LEVEL_PACKAGE_CFG_REWARD_ITEM5_FIELD, LEVEL_PACKAGE_CFG_REWARD_NUMBER5_FIELD, LEVEL_PACKAGE_CFG_REWARD_ITEM6_FIELD, LEVEL_PACKAGE_CFG_REWARD_NUMBER6_FIELD} -LEVEL_PACKAGE_CFG.is_extendable = false -LEVEL_PACKAGE_CFG.extensions = {} -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.name = "items" -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.level_package_cfgs.items" -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.number = 1 -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.index = 0 -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.label = 3 -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.has_default_value = false -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.default_value = {} -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.message_type = LEVEL_PACKAGE_CFG -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.type = 11 -LEVEL_PACKAGE_CFGS_ITEMS_FIELD.cpp_type = 10 - -LEVEL_PACKAGE_CFGS.name = "level_package_cfgs" -LEVEL_PACKAGE_CFGS.full_name = ".ftcfg.level_package_cfgs" -LEVEL_PACKAGE_CFGS.nested_types = {} -LEVEL_PACKAGE_CFGS.enum_types = {} -LEVEL_PACKAGE_CFGS.fields = {LEVEL_PACKAGE_CFGS_ITEMS_FIELD} -LEVEL_PACKAGE_CFGS.is_extendable = false -LEVEL_PACKAGE_CFGS.extensions = {} -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.name = "id" -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.id" -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.number = 1 -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.index = 0 -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.default_value = 0 -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.type = 5 -BATTLE_CRYSTAL_INFO_CFG_ID_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.name = "activity_type" -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.activity_type" -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.number = 2 -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.index = 1 -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.default_value = nil -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.enum_type = config_predefine_pb.EBATTLEACTIVITYTYPE -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.type = 14 -BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD.cpp_type = 8 - -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.name = "func_type" -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.func_type" -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.number = 3 -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.index = 2 -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.default_value = nil -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.type = 14 -BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD.cpp_type = 8 - -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.name = "start_time" -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.start_time" -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.number = 4 -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.index = 3 -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.default_value = "" -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.type = 9 -BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD.cpp_type = 9 - -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.name = "end_time" -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.end_time" -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.number = 5 -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.index = 4 -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.default_value = "" -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.type = 9 -BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD.cpp_type = 9 - -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.name = "level_limit" -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.level_limit" -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.number = 6 -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.index = 5 -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.default_value = 0 -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.type = 5 -BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.name = "times" -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.times" -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.number = 7 -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.index = 6 -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.default_value = 0 -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.type = 5 -BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.name = "week_loop" -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.full_name = ".ftcfg.battle_crystal_info_cfg.week_loop" -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.number = 8 -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.index = 7 -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.label = 2 -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.default_value = 0 -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.type = 5 -BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_INFO_CFG.name = "battle_crystal_info_cfg" -BATTLE_CRYSTAL_INFO_CFG.full_name = ".ftcfg.battle_crystal_info_cfg" -BATTLE_CRYSTAL_INFO_CFG.nested_types = {} -BATTLE_CRYSTAL_INFO_CFG.enum_types = {} -BATTLE_CRYSTAL_INFO_CFG.fields = {BATTLE_CRYSTAL_INFO_CFG_ID_FIELD, BATTLE_CRYSTAL_INFO_CFG_ACTIVITY_TYPE_FIELD, BATTLE_CRYSTAL_INFO_CFG_FUNC_TYPE_FIELD, BATTLE_CRYSTAL_INFO_CFG_START_TIME_FIELD, BATTLE_CRYSTAL_INFO_CFG_END_TIME_FIELD, BATTLE_CRYSTAL_INFO_CFG_LEVEL_LIMIT_FIELD, BATTLE_CRYSTAL_INFO_CFG_TIMES_FIELD, BATTLE_CRYSTAL_INFO_CFG_WEEK_LOOP_FIELD} -BATTLE_CRYSTAL_INFO_CFG.is_extendable = false -BATTLE_CRYSTAL_INFO_CFG.extensions = {} -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.name = "items" -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.full_name = ".ftcfg.battle_crystal_info_cfgs.items" -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.number = 1 -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.index = 0 -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.label = 3 -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.has_default_value = false -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.default_value = {} -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.message_type = BATTLE_CRYSTAL_INFO_CFG -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.type = 11 -BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD.cpp_type = 10 - -BATTLE_CRYSTAL_INFO_CFGS.name = "battle_crystal_info_cfgs" -BATTLE_CRYSTAL_INFO_CFGS.full_name = ".ftcfg.battle_crystal_info_cfgs" -BATTLE_CRYSTAL_INFO_CFGS.nested_types = {} -BATTLE_CRYSTAL_INFO_CFGS.enum_types = {} -BATTLE_CRYSTAL_INFO_CFGS.fields = {BATTLE_CRYSTAL_INFO_CFGS_ITEMS_FIELD} -BATTLE_CRYSTAL_INFO_CFGS.is_extendable = false -BATTLE_CRYSTAL_INFO_CFGS.extensions = {} -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.name = "id" -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.full_name = ".ftcfg.battle_crystal_rooms_cfg.id" -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.number = 1 -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.index = 0 -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.label = 2 -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.has_default_value = false -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.default_value = 0 -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.type = 5 -BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.name = "red_num" -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.full_name = ".ftcfg.battle_crystal_rooms_cfg.red_num" -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.number = 2 -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.index = 1 -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.label = 2 -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.has_default_value = false -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.default_value = 0 -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.type = 5 -BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.name = "blue_num" -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.full_name = ".ftcfg.battle_crystal_rooms_cfg.blue_num" -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.number = 3 -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.index = 2 -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.label = 2 -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.has_default_value = false -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.default_value = 0 -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.type = 5 -BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.name = "min_level" -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.full_name = ".ftcfg.battle_crystal_rooms_cfg.min_level" -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.number = 4 -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.index = 3 -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.label = 2 -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.has_default_value = false -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.default_value = 0 -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.type = 5 -BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.name = "max_level" -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.full_name = ".ftcfg.battle_crystal_rooms_cfg.max_level" -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.number = 5 -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.index = 4 -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.label = 2 -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.has_default_value = false -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.default_value = 0 -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.type = 5 -BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD.cpp_type = 1 - -BATTLE_CRYSTAL_ROOMS_CFG.name = "battle_crystal_rooms_cfg" -BATTLE_CRYSTAL_ROOMS_CFG.full_name = ".ftcfg.battle_crystal_rooms_cfg" -BATTLE_CRYSTAL_ROOMS_CFG.nested_types = {} -BATTLE_CRYSTAL_ROOMS_CFG.enum_types = {} -BATTLE_CRYSTAL_ROOMS_CFG.fields = {BATTLE_CRYSTAL_ROOMS_CFG_ID_FIELD, BATTLE_CRYSTAL_ROOMS_CFG_RED_NUM_FIELD, BATTLE_CRYSTAL_ROOMS_CFG_BLUE_NUM_FIELD, BATTLE_CRYSTAL_ROOMS_CFG_MIN_LEVEL_FIELD, BATTLE_CRYSTAL_ROOMS_CFG_MAX_LEVEL_FIELD} -BATTLE_CRYSTAL_ROOMS_CFG.is_extendable = false -BATTLE_CRYSTAL_ROOMS_CFG.extensions = {} -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.name = "items" -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.battle_crystal_rooms_cfgs.items" -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.number = 1 -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.index = 0 -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.label = 3 -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.has_default_value = false -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.default_value = {} -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.message_type = BATTLE_CRYSTAL_ROOMS_CFG -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.type = 11 -BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD.cpp_type = 10 - -BATTLE_CRYSTAL_ROOMS_CFGS.name = "battle_crystal_rooms_cfgs" -BATTLE_CRYSTAL_ROOMS_CFGS.full_name = ".ftcfg.battle_crystal_rooms_cfgs" -BATTLE_CRYSTAL_ROOMS_CFGS.nested_types = {} -BATTLE_CRYSTAL_ROOMS_CFGS.enum_types = {} -BATTLE_CRYSTAL_ROOMS_CFGS.fields = {BATTLE_CRYSTAL_ROOMS_CFGS_ITEMS_FIELD} -BATTLE_CRYSTAL_ROOMS_CFGS.is_extendable = false -BATTLE_CRYSTAL_ROOMS_CFGS.extensions = {} -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.name = "id" -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.full_name = ".ftcfg.battle_collect_crystal_cfg.id" -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.number = 1 -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.index = 0 -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.label = 2 -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.has_default_value = false -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.default_value = 0 -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.type = 5 -BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD.cpp_type = 1 - -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.name = "crystal_num" -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.full_name = ".ftcfg.battle_collect_crystal_cfg.crystal_num" -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.number = 2 -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.index = 1 -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.label = 2 -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.has_default_value = false -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.default_value = 0 -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.type = 5 -BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD.cpp_type = 1 - -BATTLE_COLLECT_CRYSTAL_CFG.name = "battle_collect_crystal_cfg" -BATTLE_COLLECT_CRYSTAL_CFG.full_name = ".ftcfg.battle_collect_crystal_cfg" -BATTLE_COLLECT_CRYSTAL_CFG.nested_types = {} -BATTLE_COLLECT_CRYSTAL_CFG.enum_types = {} -BATTLE_COLLECT_CRYSTAL_CFG.fields = {BATTLE_COLLECT_CRYSTAL_CFG_ID_FIELD, BATTLE_COLLECT_CRYSTAL_CFG_CRYSTAL_NUM_FIELD} -BATTLE_COLLECT_CRYSTAL_CFG.is_extendable = false -BATTLE_COLLECT_CRYSTAL_CFG.extensions = {} -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.name = "items" -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.battle_collect_crystal_cfgs.items" -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.number = 1 -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.index = 0 -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.label = 3 -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.has_default_value = false -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.default_value = {} -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.message_type = BATTLE_COLLECT_CRYSTAL_CFG -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.type = 11 -BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD.cpp_type = 10 - -BATTLE_COLLECT_CRYSTAL_CFGS.name = "battle_collect_crystal_cfgs" -BATTLE_COLLECT_CRYSTAL_CFGS.full_name = ".ftcfg.battle_collect_crystal_cfgs" -BATTLE_COLLECT_CRYSTAL_CFGS.nested_types = {} -BATTLE_COLLECT_CRYSTAL_CFGS.enum_types = {} -BATTLE_COLLECT_CRYSTAL_CFGS.fields = {BATTLE_COLLECT_CRYSTAL_CFGS_ITEMS_FIELD} -BATTLE_COLLECT_CRYSTAL_CFGS.is_extendable = false -BATTLE_COLLECT_CRYSTAL_CFGS.extensions = {} -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.name = "level_id" -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.full_name = ".ftcfg.elite_level_cfg.level_id" -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.number = 1 -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.index = 0 -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.label = 2 -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.has_default_value = false -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.default_value = 0 -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.type = 5 -ELITE_LEVEL_CFG_LEVEL_ID_FIELD.cpp_type = 1 - -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.name = "level_min" -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.full_name = ".ftcfg.elite_level_cfg.level_min" -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.number = 2 -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.index = 1 -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.label = 2 -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.has_default_value = false -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.default_value = 0 -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.type = 5 -ELITE_LEVEL_CFG_LEVEL_MIN_FIELD.cpp_type = 1 - -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.name = "level_max" -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.full_name = ".ftcfg.elite_level_cfg.level_max" -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.number = 3 -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.index = 2 -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.label = 2 -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.has_default_value = false -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.default_value = 0 -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.type = 5 -ELITE_LEVEL_CFG_LEVEL_MAX_FIELD.cpp_type = 1 - -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.name = "fight_power1" -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.full_name = ".ftcfg.elite_level_cfg.fight_power1" -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.number = 4 -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.index = 3 -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.label = 2 -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.has_default_value = false -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.default_value = 0 -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.type = 5 -ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD.cpp_type = 1 - -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.name = "fight_power2" -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.full_name = ".ftcfg.elite_level_cfg.fight_power2" -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.number = 5 -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.index = 4 -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.label = 2 -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.has_default_value = false -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.default_value = 0 -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.type = 5 -ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD.cpp_type = 1 - -ELITE_LEVEL_CFG.name = "elite_level_cfg" -ELITE_LEVEL_CFG.full_name = ".ftcfg.elite_level_cfg" -ELITE_LEVEL_CFG.nested_types = {} -ELITE_LEVEL_CFG.enum_types = {} -ELITE_LEVEL_CFG.fields = {ELITE_LEVEL_CFG_LEVEL_ID_FIELD, ELITE_LEVEL_CFG_LEVEL_MIN_FIELD, ELITE_LEVEL_CFG_LEVEL_MAX_FIELD, ELITE_LEVEL_CFG_FIGHT_POWER1_FIELD, ELITE_LEVEL_CFG_FIGHT_POWER2_FIELD} -ELITE_LEVEL_CFG.is_extendable = false -ELITE_LEVEL_CFG.extensions = {} -ELITE_LEVEL_CFGS_ITEMS_FIELD.name = "items" -ELITE_LEVEL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.elite_level_cfgs.items" -ELITE_LEVEL_CFGS_ITEMS_FIELD.number = 1 -ELITE_LEVEL_CFGS_ITEMS_FIELD.index = 0 -ELITE_LEVEL_CFGS_ITEMS_FIELD.label = 3 -ELITE_LEVEL_CFGS_ITEMS_FIELD.has_default_value = false -ELITE_LEVEL_CFGS_ITEMS_FIELD.default_value = {} -ELITE_LEVEL_CFGS_ITEMS_FIELD.message_type = ELITE_LEVEL_CFG -ELITE_LEVEL_CFGS_ITEMS_FIELD.type = 11 -ELITE_LEVEL_CFGS_ITEMS_FIELD.cpp_type = 10 - -ELITE_LEVEL_CFGS.name = "elite_level_cfgs" -ELITE_LEVEL_CFGS.full_name = ".ftcfg.elite_level_cfgs" -ELITE_LEVEL_CFGS.nested_types = {} -ELITE_LEVEL_CFGS.enum_types = {} -ELITE_LEVEL_CFGS.fields = {ELITE_LEVEL_CFGS_ITEMS_FIELD} -ELITE_LEVEL_CFGS.is_extendable = false -ELITE_LEVEL_CFGS.extensions = {} -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.name = "level_id" -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.full_name = ".ftcfg.elite_common_info_cfg.level_id" -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.number = 1 -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.index = 0 -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.label = 2 -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.default_value = 0 -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.name = "game_id" -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.full_name = ".ftcfg.elite_common_info_cfg.game_id" -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.number = 2 -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.index = 1 -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.label = 2 -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.default_value = 0 -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_GAME_ID_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.name = "map_id" -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.full_name = ".ftcfg.elite_common_info_cfg.map_id" -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.number = 3 -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.index = 2 -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.label = 2 -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.default_value = 0 -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_MAP_ID_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_NODE_FIELD.name = "node" -ELITE_COMMON_INFO_CFG_NODE_FIELD.full_name = ".ftcfg.elite_common_info_cfg.node" -ELITE_COMMON_INFO_CFG_NODE_FIELD.number = 4 -ELITE_COMMON_INFO_CFG_NODE_FIELD.index = 3 -ELITE_COMMON_INFO_CFG_NODE_FIELD.label = 2 -ELITE_COMMON_INFO_CFG_NODE_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_NODE_FIELD.default_value = 0 -ELITE_COMMON_INFO_CFG_NODE_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_NODE_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_TIME_FIELD.name = "time" -ELITE_COMMON_INFO_CFG_TIME_FIELD.full_name = ".ftcfg.elite_common_info_cfg.time" -ELITE_COMMON_INFO_CFG_TIME_FIELD.number = 5 -ELITE_COMMON_INFO_CFG_TIME_FIELD.index = 4 -ELITE_COMMON_INFO_CFG_TIME_FIELD.label = 3 -ELITE_COMMON_INFO_CFG_TIME_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_TIME_FIELD.default_value = {} -ELITE_COMMON_INFO_CFG_TIME_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_TIME_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_GRADE_FIELD.name = "grade" -ELITE_COMMON_INFO_CFG_GRADE_FIELD.full_name = ".ftcfg.elite_common_info_cfg.grade" -ELITE_COMMON_INFO_CFG_GRADE_FIELD.number = 6 -ELITE_COMMON_INFO_CFG_GRADE_FIELD.index = 5 -ELITE_COMMON_INFO_CFG_GRADE_FIELD.label = 3 -ELITE_COMMON_INFO_CFG_GRADE_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_GRADE_FIELD.default_value = {} -ELITE_COMMON_INFO_CFG_GRADE_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_GRADE_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.name = "reward_id" -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.full_name = ".ftcfg.elite_common_info_cfg.reward_id" -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.number = 7 -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.index = 6 -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.label = 3 -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.default_value = {} -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.name = "monster_level" -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.full_name = ".ftcfg.elite_common_info_cfg.monster_level" -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.number = 8 -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.index = 7 -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.label = 2 -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.default_value = 0 -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.name = "checkpoint_time" -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.full_name = ".ftcfg.elite_common_info_cfg.checkpoint_time" -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.number = 9 -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.index = 8 -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.label = 2 -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.default_value = 0 -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.name = "open_time" -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.full_name = ".ftcfg.elite_common_info_cfg.open_time" -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.number = 10 -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.index = 9 -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.label = 2 -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.default_value = 0 -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.type = 5 -ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD.cpp_type = 1 - -ELITE_COMMON_INFO_CFG.name = "elite_common_info_cfg" -ELITE_COMMON_INFO_CFG.full_name = ".ftcfg.elite_common_info_cfg" -ELITE_COMMON_INFO_CFG.nested_types = {} -ELITE_COMMON_INFO_CFG.enum_types = {} -ELITE_COMMON_INFO_CFG.fields = {ELITE_COMMON_INFO_CFG_LEVEL_ID_FIELD, ELITE_COMMON_INFO_CFG_GAME_ID_FIELD, ELITE_COMMON_INFO_CFG_MAP_ID_FIELD, ELITE_COMMON_INFO_CFG_NODE_FIELD, ELITE_COMMON_INFO_CFG_TIME_FIELD, ELITE_COMMON_INFO_CFG_GRADE_FIELD, ELITE_COMMON_INFO_CFG_REWARD_ID_FIELD, ELITE_COMMON_INFO_CFG_MONSTER_LEVEL_FIELD, ELITE_COMMON_INFO_CFG_CHECKPOINT_TIME_FIELD, ELITE_COMMON_INFO_CFG_OPEN_TIME_FIELD} -ELITE_COMMON_INFO_CFG.is_extendable = false -ELITE_COMMON_INFO_CFG.extensions = {} -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.name = "items" -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.full_name = ".ftcfg.elite_common_info_cfgs.items" -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.number = 1 -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.index = 0 -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.label = 3 -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.has_default_value = false -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.default_value = {} -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.message_type = ELITE_COMMON_INFO_CFG -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.type = 11 -ELITE_COMMON_INFO_CFGS_ITEMS_FIELD.cpp_type = 10 - -ELITE_COMMON_INFO_CFGS.name = "elite_common_info_cfgs" -ELITE_COMMON_INFO_CFGS.full_name = ".ftcfg.elite_common_info_cfgs" -ELITE_COMMON_INFO_CFGS.nested_types = {} -ELITE_COMMON_INFO_CFGS.enum_types = {} -ELITE_COMMON_INFO_CFGS.fields = {ELITE_COMMON_INFO_CFGS_ITEMS_FIELD} -ELITE_COMMON_INFO_CFGS.is_extendable = false -ELITE_COMMON_INFO_CFGS.extensions = {} -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.name = "level_id" -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.level_id" -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.number = 1 -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.index = 0 -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.label = 2 -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.default_value = 0 -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.type = 5 -ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.name = "game_id" -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.game_id" -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.number = 2 -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.index = 1 -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.label = 2 -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.default_value = 0 -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.type = 5 -ELITE_HELL_INFO_CFG_GAME_ID_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.name = "map_id" -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.map_id" -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.number = 3 -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.index = 2 -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.label = 2 -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.default_value = 0 -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.type = 5 -ELITE_HELL_INFO_CFG_MAP_ID_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_NODE_FIELD.name = "node" -ELITE_HELL_INFO_CFG_NODE_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.node" -ELITE_HELL_INFO_CFG_NODE_FIELD.number = 4 -ELITE_HELL_INFO_CFG_NODE_FIELD.index = 3 -ELITE_HELL_INFO_CFG_NODE_FIELD.label = 2 -ELITE_HELL_INFO_CFG_NODE_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_NODE_FIELD.default_value = 0 -ELITE_HELL_INFO_CFG_NODE_FIELD.type = 5 -ELITE_HELL_INFO_CFG_NODE_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_TIME_FIELD.name = "time" -ELITE_HELL_INFO_CFG_TIME_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.time" -ELITE_HELL_INFO_CFG_TIME_FIELD.number = 5 -ELITE_HELL_INFO_CFG_TIME_FIELD.index = 4 -ELITE_HELL_INFO_CFG_TIME_FIELD.label = 3 -ELITE_HELL_INFO_CFG_TIME_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_TIME_FIELD.default_value = {} -ELITE_HELL_INFO_CFG_TIME_FIELD.type = 5 -ELITE_HELL_INFO_CFG_TIME_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_GRADE_FIELD.name = "grade" -ELITE_HELL_INFO_CFG_GRADE_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.grade" -ELITE_HELL_INFO_CFG_GRADE_FIELD.number = 6 -ELITE_HELL_INFO_CFG_GRADE_FIELD.index = 5 -ELITE_HELL_INFO_CFG_GRADE_FIELD.label = 3 -ELITE_HELL_INFO_CFG_GRADE_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_GRADE_FIELD.default_value = {} -ELITE_HELL_INFO_CFG_GRADE_FIELD.type = 5 -ELITE_HELL_INFO_CFG_GRADE_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.name = "reward_id" -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.reward_id" -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.number = 7 -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.index = 6 -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.label = 3 -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.default_value = {} -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.type = 5 -ELITE_HELL_INFO_CFG_REWARD_ID_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.name = "monster_level" -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.monster_level" -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.number = 8 -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.index = 7 -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.label = 2 -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.default_value = 0 -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.type = 5 -ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.name = "checkpoint_time" -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.checkpoint_time" -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.number = 9 -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.index = 8 -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.label = 2 -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.default_value = 0 -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.type = 5 -ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.name = "open_time" -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.full_name = ".ftcfg.elite_hell_info_cfg.open_time" -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.number = 10 -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.index = 9 -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.label = 2 -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.has_default_value = false -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.default_value = 0 -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.type = 5 -ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD.cpp_type = 1 - -ELITE_HELL_INFO_CFG.name = "elite_hell_info_cfg" -ELITE_HELL_INFO_CFG.full_name = ".ftcfg.elite_hell_info_cfg" -ELITE_HELL_INFO_CFG.nested_types = {} -ELITE_HELL_INFO_CFG.enum_types = {} -ELITE_HELL_INFO_CFG.fields = {ELITE_HELL_INFO_CFG_LEVEL_ID_FIELD, ELITE_HELL_INFO_CFG_GAME_ID_FIELD, ELITE_HELL_INFO_CFG_MAP_ID_FIELD, ELITE_HELL_INFO_CFG_NODE_FIELD, ELITE_HELL_INFO_CFG_TIME_FIELD, ELITE_HELL_INFO_CFG_GRADE_FIELD, ELITE_HELL_INFO_CFG_REWARD_ID_FIELD, ELITE_HELL_INFO_CFG_MONSTER_LEVEL_FIELD, ELITE_HELL_INFO_CFG_CHECKPOINT_TIME_FIELD, ELITE_HELL_INFO_CFG_OPEN_TIME_FIELD} -ELITE_HELL_INFO_CFG.is_extendable = false -ELITE_HELL_INFO_CFG.extensions = {} -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.name = "items" -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.full_name = ".ftcfg.elite_hell_info_cfgs.items" -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.number = 1 -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.index = 0 -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.label = 3 -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.has_default_value = false -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.default_value = {} -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.message_type = ELITE_HELL_INFO_CFG -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.type = 11 -ELITE_HELL_INFO_CFGS_ITEMS_FIELD.cpp_type = 10 - -ELITE_HELL_INFO_CFGS.name = "elite_hell_info_cfgs" -ELITE_HELL_INFO_CFGS.full_name = ".ftcfg.elite_hell_info_cfgs" -ELITE_HELL_INFO_CFGS.nested_types = {} -ELITE_HELL_INFO_CFGS.enum_types = {} -ELITE_HELL_INFO_CFGS.fields = {ELITE_HELL_INFO_CFGS_ITEMS_FIELD} -ELITE_HELL_INFO_CFGS.is_extendable = false -ELITE_HELL_INFO_CFGS.extensions = {} -ELITE_REWARD_CFG_ID_FIELD.name = "id" -ELITE_REWARD_CFG_ID_FIELD.full_name = ".ftcfg.elite_reward_cfg.id" -ELITE_REWARD_CFG_ID_FIELD.number = 1 -ELITE_REWARD_CFG_ID_FIELD.index = 0 -ELITE_REWARD_CFG_ID_FIELD.label = 2 -ELITE_REWARD_CFG_ID_FIELD.has_default_value = false -ELITE_REWARD_CFG_ID_FIELD.default_value = 0 -ELITE_REWARD_CFG_ID_FIELD.type = 5 -ELITE_REWARD_CFG_ID_FIELD.cpp_type = 1 - -ELITE_REWARD_CFG_ITEM_ID_FIELD.name = "item_id" -ELITE_REWARD_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.elite_reward_cfg.item_id" -ELITE_REWARD_CFG_ITEM_ID_FIELD.number = 2 -ELITE_REWARD_CFG_ITEM_ID_FIELD.index = 1 -ELITE_REWARD_CFG_ITEM_ID_FIELD.label = 3 -ELITE_REWARD_CFG_ITEM_ID_FIELD.has_default_value = false -ELITE_REWARD_CFG_ITEM_ID_FIELD.default_value = {} -ELITE_REWARD_CFG_ITEM_ID_FIELD.type = 5 -ELITE_REWARD_CFG_ITEM_ID_FIELD.cpp_type = 1 - -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.name = "item_count" -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.full_name = ".ftcfg.elite_reward_cfg.item_count" -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.number = 3 -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.index = 2 -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.label = 3 -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.has_default_value = false -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.default_value = {} -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.type = 5 -ELITE_REWARD_CFG_ITEM_COUNT_FIELD.cpp_type = 1 - -ELITE_REWARD_CFG.name = "elite_reward_cfg" -ELITE_REWARD_CFG.full_name = ".ftcfg.elite_reward_cfg" -ELITE_REWARD_CFG.nested_types = {} -ELITE_REWARD_CFG.enum_types = {} -ELITE_REWARD_CFG.fields = {ELITE_REWARD_CFG_ID_FIELD, ELITE_REWARD_CFG_ITEM_ID_FIELD, ELITE_REWARD_CFG_ITEM_COUNT_FIELD} -ELITE_REWARD_CFG.is_extendable = false -ELITE_REWARD_CFG.extensions = {} -ELITE_REWARD_CFGS_ITEMS_FIELD.name = "items" -ELITE_REWARD_CFGS_ITEMS_FIELD.full_name = ".ftcfg.elite_reward_cfgs.items" -ELITE_REWARD_CFGS_ITEMS_FIELD.number = 1 -ELITE_REWARD_CFGS_ITEMS_FIELD.index = 0 -ELITE_REWARD_CFGS_ITEMS_FIELD.label = 3 -ELITE_REWARD_CFGS_ITEMS_FIELD.has_default_value = false -ELITE_REWARD_CFGS_ITEMS_FIELD.default_value = {} -ELITE_REWARD_CFGS_ITEMS_FIELD.message_type = ELITE_REWARD_CFG -ELITE_REWARD_CFGS_ITEMS_FIELD.type = 11 -ELITE_REWARD_CFGS_ITEMS_FIELD.cpp_type = 10 - -ELITE_REWARD_CFGS.name = "elite_reward_cfgs" -ELITE_REWARD_CFGS.full_name = ".ftcfg.elite_reward_cfgs" -ELITE_REWARD_CFGS.nested_types = {} -ELITE_REWARD_CFGS.enum_types = {} -ELITE_REWARD_CFGS.fields = {ELITE_REWARD_CFGS_ITEMS_FIELD} -ELITE_REWARD_CFGS.is_extendable = false -ELITE_REWARD_CFGS.extensions = {} -SUBSYS_CFG_ID_FIELD.name = "id" -SUBSYS_CFG_ID_FIELD.full_name = ".ftcfg.subsys_cfg.id" -SUBSYS_CFG_ID_FIELD.number = 1 -SUBSYS_CFG_ID_FIELD.index = 0 -SUBSYS_CFG_ID_FIELD.label = 2 -SUBSYS_CFG_ID_FIELD.has_default_value = false -SUBSYS_CFG_ID_FIELD.default_value = 0 -SUBSYS_CFG_ID_FIELD.type = 5 -SUBSYS_CFG_ID_FIELD.cpp_type = 1 - -SUBSYS_CFG_NAME_FIELD.name = "name" -SUBSYS_CFG_NAME_FIELD.full_name = ".ftcfg.subsys_cfg.name" -SUBSYS_CFG_NAME_FIELD.number = 2 -SUBSYS_CFG_NAME_FIELD.index = 1 -SUBSYS_CFG_NAME_FIELD.label = 2 -SUBSYS_CFG_NAME_FIELD.has_default_value = false -SUBSYS_CFG_NAME_FIELD.default_value = "" -SUBSYS_CFG_NAME_FIELD.type = 9 -SUBSYS_CFG_NAME_FIELD.cpp_type = 9 - -SUBSYS_CFG_TITLE_ID_FIELD.name = "title_id" -SUBSYS_CFG_TITLE_ID_FIELD.full_name = ".ftcfg.subsys_cfg.title_id" -SUBSYS_CFG_TITLE_ID_FIELD.number = 3 -SUBSYS_CFG_TITLE_ID_FIELD.index = 2 -SUBSYS_CFG_TITLE_ID_FIELD.label = 2 -SUBSYS_CFG_TITLE_ID_FIELD.has_default_value = false -SUBSYS_CFG_TITLE_ID_FIELD.default_value = 0 -SUBSYS_CFG_TITLE_ID_FIELD.type = 5 -SUBSYS_CFG_TITLE_ID_FIELD.cpp_type = 1 - -SUBSYS_CFG_DESC_ID_FIELD.name = "desc_id" -SUBSYS_CFG_DESC_ID_FIELD.full_name = ".ftcfg.subsys_cfg.desc_id" -SUBSYS_CFG_DESC_ID_FIELD.number = 4 -SUBSYS_CFG_DESC_ID_FIELD.index = 3 -SUBSYS_CFG_DESC_ID_FIELD.label = 2 -SUBSYS_CFG_DESC_ID_FIELD.has_default_value = false -SUBSYS_CFG_DESC_ID_FIELD.default_value = 0 -SUBSYS_CFG_DESC_ID_FIELD.type = 5 -SUBSYS_CFG_DESC_ID_FIELD.cpp_type = 1 - -SUBSYS_CFG_UI_STYLE_FIELD.name = "ui_style" -SUBSYS_CFG_UI_STYLE_FIELD.full_name = ".ftcfg.subsys_cfg.ui_style" -SUBSYS_CFG_UI_STYLE_FIELD.number = 5 -SUBSYS_CFG_UI_STYLE_FIELD.index = 4 -SUBSYS_CFG_UI_STYLE_FIELD.label = 2 -SUBSYS_CFG_UI_STYLE_FIELD.has_default_value = false -SUBSYS_CFG_UI_STYLE_FIELD.default_value = 0 -SUBSYS_CFG_UI_STYLE_FIELD.type = 5 -SUBSYS_CFG_UI_STYLE_FIELD.cpp_type = 1 - -SUBSYS_CFG_NOTES_FIELD.name = "notes" -SUBSYS_CFG_NOTES_FIELD.full_name = ".ftcfg.subsys_cfg.notes" -SUBSYS_CFG_NOTES_FIELD.number = 6 -SUBSYS_CFG_NOTES_FIELD.index = 5 -SUBSYS_CFG_NOTES_FIELD.label = 2 -SUBSYS_CFG_NOTES_FIELD.has_default_value = false -SUBSYS_CFG_NOTES_FIELD.default_value = "" -SUBSYS_CFG_NOTES_FIELD.type = 9 -SUBSYS_CFG_NOTES_FIELD.cpp_type = 9 - -SUBSYS_CFG.name = "subsys_cfg" -SUBSYS_CFG.full_name = ".ftcfg.subsys_cfg" -SUBSYS_CFG.nested_types = {} -SUBSYS_CFG.enum_types = {} -SUBSYS_CFG.fields = {SUBSYS_CFG_ID_FIELD, SUBSYS_CFG_NAME_FIELD, SUBSYS_CFG_TITLE_ID_FIELD, SUBSYS_CFG_DESC_ID_FIELD, SUBSYS_CFG_UI_STYLE_FIELD, SUBSYS_CFG_NOTES_FIELD} -SUBSYS_CFG.is_extendable = false -SUBSYS_CFG.extensions = {} -SUBSYS_CFGS_ITEMS_FIELD.name = "items" -SUBSYS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.subsys_cfgs.items" -SUBSYS_CFGS_ITEMS_FIELD.number = 1 -SUBSYS_CFGS_ITEMS_FIELD.index = 0 -SUBSYS_CFGS_ITEMS_FIELD.label = 3 -SUBSYS_CFGS_ITEMS_FIELD.has_default_value = false -SUBSYS_CFGS_ITEMS_FIELD.default_value = {} -SUBSYS_CFGS_ITEMS_FIELD.message_type = SUBSYS_CFG -SUBSYS_CFGS_ITEMS_FIELD.type = 11 -SUBSYS_CFGS_ITEMS_FIELD.cpp_type = 10 - -SUBSYS_CFGS.name = "subsys_cfgs" -SUBSYS_CFGS.full_name = ".ftcfg.subsys_cfgs" -SUBSYS_CFGS.nested_types = {} -SUBSYS_CFGS.enum_types = {} -SUBSYS_CFGS.fields = {SUBSYS_CFGS_ITEMS_FIELD} -SUBSYS_CFGS.is_extendable = false -SUBSYS_CFGS.extensions = {} -BAG_ROUTINE_CFG_ID_FIELD.name = "id" -BAG_ROUTINE_CFG_ID_FIELD.full_name = ".ftcfg.bag_routine_cfg.id" -BAG_ROUTINE_CFG_ID_FIELD.number = 1 -BAG_ROUTINE_CFG_ID_FIELD.index = 0 -BAG_ROUTINE_CFG_ID_FIELD.label = 2 -BAG_ROUTINE_CFG_ID_FIELD.has_default_value = false -BAG_ROUTINE_CFG_ID_FIELD.default_value = 0 -BAG_ROUTINE_CFG_ID_FIELD.type = 13 -BAG_ROUTINE_CFG_ID_FIELD.cpp_type = 3 - -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.name = "bag_type" -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.full_name = ".ftcfg.bag_routine_cfg.bag_type" -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.number = 2 -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.index = 1 -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.label = 2 -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.has_default_value = false -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.default_value = 0 -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.type = 13 -BAG_ROUTINE_CFG_BAG_TYPE_FIELD.cpp_type = 3 - -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.name = "bag_initial" -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.full_name = ".ftcfg.bag_routine_cfg.bag_initial" -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.number = 3 -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.index = 2 -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.label = 2 -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.has_default_value = false -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.default_value = 0 -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.type = 13 -BAG_ROUTINE_CFG_BAG_INITIAL_FIELD.cpp_type = 3 - -BAG_ROUTINE_CFG_BAG_MAX_FIELD.name = "bag_max" -BAG_ROUTINE_CFG_BAG_MAX_FIELD.full_name = ".ftcfg.bag_routine_cfg.bag_max" -BAG_ROUTINE_CFG_BAG_MAX_FIELD.number = 4 -BAG_ROUTINE_CFG_BAG_MAX_FIELD.index = 3 -BAG_ROUTINE_CFG_BAG_MAX_FIELD.label = 2 -BAG_ROUTINE_CFG_BAG_MAX_FIELD.has_default_value = false -BAG_ROUTINE_CFG_BAG_MAX_FIELD.default_value = 0 -BAG_ROUTINE_CFG_BAG_MAX_FIELD.type = 13 -BAG_ROUTINE_CFG_BAG_MAX_FIELD.cpp_type = 3 - -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.name = "bag_openlevel" -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.full_name = ".ftcfg.bag_routine_cfg.bag_openlevel" -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.number = 5 -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.index = 4 -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.label = 2 -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.has_default_value = false -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.default_value = 0 -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.type = 5 -BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD.cpp_type = 1 - -BAG_ROUTINE_CFG.name = "bag_routine_cfg" -BAG_ROUTINE_CFG.full_name = ".ftcfg.bag_routine_cfg" -BAG_ROUTINE_CFG.nested_types = {} -BAG_ROUTINE_CFG.enum_types = {} -BAG_ROUTINE_CFG.fields = {BAG_ROUTINE_CFG_ID_FIELD, BAG_ROUTINE_CFG_BAG_TYPE_FIELD, BAG_ROUTINE_CFG_BAG_INITIAL_FIELD, BAG_ROUTINE_CFG_BAG_MAX_FIELD, BAG_ROUTINE_CFG_BAG_OPENLEVEL_FIELD} -BAG_ROUTINE_CFG.is_extendable = false -BAG_ROUTINE_CFG.extensions = {} -BAG_ROUTINE_CFGS_ITEMS_FIELD.name = "items" -BAG_ROUTINE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.bag_routine_cfgs.items" -BAG_ROUTINE_CFGS_ITEMS_FIELD.number = 1 -BAG_ROUTINE_CFGS_ITEMS_FIELD.index = 0 -BAG_ROUTINE_CFGS_ITEMS_FIELD.label = 3 -BAG_ROUTINE_CFGS_ITEMS_FIELD.has_default_value = false -BAG_ROUTINE_CFGS_ITEMS_FIELD.default_value = {} -BAG_ROUTINE_CFGS_ITEMS_FIELD.message_type = BAG_ROUTINE_CFG -BAG_ROUTINE_CFGS_ITEMS_FIELD.type = 11 -BAG_ROUTINE_CFGS_ITEMS_FIELD.cpp_type = 10 - -BAG_ROUTINE_CFGS.name = "bag_routine_cfgs" -BAG_ROUTINE_CFGS.full_name = ".ftcfg.bag_routine_cfgs" -BAG_ROUTINE_CFGS.nested_types = {} -BAG_ROUTINE_CFGS.enum_types = {} -BAG_ROUTINE_CFGS.fields = {BAG_ROUTINE_CFGS_ITEMS_FIELD} -BAG_ROUTINE_CFGS.is_extendable = false -BAG_ROUTINE_CFGS.extensions = {} -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.name = "unlock_count" -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.full_name = ".ftcfg.depot_unlock_cfg.unlock_count" -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.number = 1 -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.index = 0 -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.label = 2 -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.has_default_value = false -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.default_value = 0 -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.type = 13 -DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD.cpp_type = 3 - -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.name = "currency_type" -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.full_name = ".ftcfg.depot_unlock_cfg.currency_type" -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.number = 2 -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.index = 1 -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.label = 2 -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.has_default_value = false -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.default_value = 0 -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.type = 13 -DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD.cpp_type = 3 - -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.name = "currency_count" -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.full_name = ".ftcfg.depot_unlock_cfg.currency_count" -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.number = 3 -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.index = 2 -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.label = 2 -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.has_default_value = false -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.default_value = 0 -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.type = 5 -DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD.cpp_type = 1 - -DEPOT_UNLOCK_CFG.name = "depot_unlock_cfg" -DEPOT_UNLOCK_CFG.full_name = ".ftcfg.depot_unlock_cfg" -DEPOT_UNLOCK_CFG.nested_types = {} -DEPOT_UNLOCK_CFG.enum_types = {} -DEPOT_UNLOCK_CFG.fields = {DEPOT_UNLOCK_CFG_UNLOCK_COUNT_FIELD, DEPOT_UNLOCK_CFG_CURRENCY_TYPE_FIELD, DEPOT_UNLOCK_CFG_CURRENCY_COUNT_FIELD} -DEPOT_UNLOCK_CFG.is_extendable = false -DEPOT_UNLOCK_CFG.extensions = {} -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.name = "items" -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.full_name = ".ftcfg.depot_unlock_cfgs.items" -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.number = 1 -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.index = 0 -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.label = 3 -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.has_default_value = false -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.default_value = {} -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.message_type = DEPOT_UNLOCK_CFG -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.type = 11 -DEPOT_UNLOCK_CFGS_ITEMS_FIELD.cpp_type = 10 - -DEPOT_UNLOCK_CFGS.name = "depot_unlock_cfgs" -DEPOT_UNLOCK_CFGS.full_name = ".ftcfg.depot_unlock_cfgs" -DEPOT_UNLOCK_CFGS.nested_types = {} -DEPOT_UNLOCK_CFGS.enum_types = {} -DEPOT_UNLOCK_CFGS.fields = {DEPOT_UNLOCK_CFGS_ITEMS_FIELD} -DEPOT_UNLOCK_CFGS.is_extendable = false -DEPOT_UNLOCK_CFGS.extensions = {} -ROLE_PARTS_CFG_ID_FIELD.name = "id" -ROLE_PARTS_CFG_ID_FIELD.full_name = ".ftcfg.role_parts_cfg.id" -ROLE_PARTS_CFG_ID_FIELD.number = 1 -ROLE_PARTS_CFG_ID_FIELD.index = 0 -ROLE_PARTS_CFG_ID_FIELD.label = 2 -ROLE_PARTS_CFG_ID_FIELD.has_default_value = false -ROLE_PARTS_CFG_ID_FIELD.default_value = 0 -ROLE_PARTS_CFG_ID_FIELD.type = 5 -ROLE_PARTS_CFG_ID_FIELD.cpp_type = 1 - -ROLE_PARTS_CFG_NAME_ID_FIELD.name = "name_id" -ROLE_PARTS_CFG_NAME_ID_FIELD.full_name = ".ftcfg.role_parts_cfg.name_id" -ROLE_PARTS_CFG_NAME_ID_FIELD.number = 2 -ROLE_PARTS_CFG_NAME_ID_FIELD.index = 1 -ROLE_PARTS_CFG_NAME_ID_FIELD.label = 2 -ROLE_PARTS_CFG_NAME_ID_FIELD.has_default_value = false -ROLE_PARTS_CFG_NAME_ID_FIELD.default_value = 0 -ROLE_PARTS_CFG_NAME_ID_FIELD.type = 5 -ROLE_PARTS_CFG_NAME_ID_FIELD.cpp_type = 1 - -ROLE_PARTS_CFG_SLOT_FIELD.name = "slot" -ROLE_PARTS_CFG_SLOT_FIELD.full_name = ".ftcfg.role_parts_cfg.slot" -ROLE_PARTS_CFG_SLOT_FIELD.number = 3 -ROLE_PARTS_CFG_SLOT_FIELD.index = 2 -ROLE_PARTS_CFG_SLOT_FIELD.label = 2 -ROLE_PARTS_CFG_SLOT_FIELD.has_default_value = false -ROLE_PARTS_CFG_SLOT_FIELD.default_value = 0 -ROLE_PARTS_CFG_SLOT_FIELD.type = 5 -ROLE_PARTS_CFG_SLOT_FIELD.cpp_type = 1 - -ROLE_PARTS_CFG_RES_ID_FIELD.name = "res_id" -ROLE_PARTS_CFG_RES_ID_FIELD.full_name = ".ftcfg.role_parts_cfg.res_id" -ROLE_PARTS_CFG_RES_ID_FIELD.number = 4 -ROLE_PARTS_CFG_RES_ID_FIELD.index = 3 -ROLE_PARTS_CFG_RES_ID_FIELD.label = 2 -ROLE_PARTS_CFG_RES_ID_FIELD.has_default_value = false -ROLE_PARTS_CFG_RES_ID_FIELD.default_value = 0 -ROLE_PARTS_CFG_RES_ID_FIELD.type = 5 -ROLE_PARTS_CFG_RES_ID_FIELD.cpp_type = 1 - -ROLE_PARTS_CFG.name = "role_parts_cfg" -ROLE_PARTS_CFG.full_name = ".ftcfg.role_parts_cfg" -ROLE_PARTS_CFG.nested_types = {} -ROLE_PARTS_CFG.enum_types = {} -ROLE_PARTS_CFG.fields = {ROLE_PARTS_CFG_ID_FIELD, ROLE_PARTS_CFG_NAME_ID_FIELD, ROLE_PARTS_CFG_SLOT_FIELD, ROLE_PARTS_CFG_RES_ID_FIELD} -ROLE_PARTS_CFG.is_extendable = false -ROLE_PARTS_CFG.extensions = {} -ROLE_PARTS_CFGS_ITEMS_FIELD.name = "items" -ROLE_PARTS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.role_parts_cfgs.items" -ROLE_PARTS_CFGS_ITEMS_FIELD.number = 1 -ROLE_PARTS_CFGS_ITEMS_FIELD.index = 0 -ROLE_PARTS_CFGS_ITEMS_FIELD.label = 3 -ROLE_PARTS_CFGS_ITEMS_FIELD.has_default_value = false -ROLE_PARTS_CFGS_ITEMS_FIELD.default_value = {} -ROLE_PARTS_CFGS_ITEMS_FIELD.message_type = ROLE_PARTS_CFG -ROLE_PARTS_CFGS_ITEMS_FIELD.type = 11 -ROLE_PARTS_CFGS_ITEMS_FIELD.cpp_type = 10 - -ROLE_PARTS_CFGS.name = "role_parts_cfgs" -ROLE_PARTS_CFGS.full_name = ".ftcfg.role_parts_cfgs" -ROLE_PARTS_CFGS.nested_types = {} -ROLE_PARTS_CFGS.enum_types = {} -ROLE_PARTS_CFGS.fields = {ROLE_PARTS_CFGS_ITEMS_FIELD} -ROLE_PARTS_CFGS.is_extendable = false -ROLE_PARTS_CFGS.extensions = {} -SUPPRESS_CFG_SCENE_ID_FIELD.name = "scene_id" -SUPPRESS_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.suppress_cfg.scene_id" -SUPPRESS_CFG_SCENE_ID_FIELD.number = 1 -SUPPRESS_CFG_SCENE_ID_FIELD.index = 0 -SUPPRESS_CFG_SCENE_ID_FIELD.label = 2 -SUPPRESS_CFG_SCENE_ID_FIELD.has_default_value = false -SUPPRESS_CFG_SCENE_ID_FIELD.default_value = 0 -SUPPRESS_CFG_SCENE_ID_FIELD.type = 5 -SUPPRESS_CFG_SCENE_ID_FIELD.cpp_type = 1 - -SUPPRESS_CFG_FIT_LVL_FIELD.name = "fit_lvl" -SUPPRESS_CFG_FIT_LVL_FIELD.full_name = ".ftcfg.suppress_cfg.fit_lvl" -SUPPRESS_CFG_FIT_LVL_FIELD.number = 2 -SUPPRESS_CFG_FIT_LVL_FIELD.index = 1 -SUPPRESS_CFG_FIT_LVL_FIELD.label = 3 -SUPPRESS_CFG_FIT_LVL_FIELD.has_default_value = false -SUPPRESS_CFG_FIT_LVL_FIELD.default_value = {} -SUPPRESS_CFG_FIT_LVL_FIELD.type = 5 -SUPPRESS_CFG_FIT_LVL_FIELD.cpp_type = 1 - -SUPPRESS_CFG_GROUP_COUNT_FIELD.name = "group_count" -SUPPRESS_CFG_GROUP_COUNT_FIELD.full_name = ".ftcfg.suppress_cfg.group_count" -SUPPRESS_CFG_GROUP_COUNT_FIELD.number = 3 -SUPPRESS_CFG_GROUP_COUNT_FIELD.index = 2 -SUPPRESS_CFG_GROUP_COUNT_FIELD.label = 3 -SUPPRESS_CFG_GROUP_COUNT_FIELD.has_default_value = false -SUPPRESS_CFG_GROUP_COUNT_FIELD.default_value = {} -SUPPRESS_CFG_GROUP_COUNT_FIELD.type = 5 -SUPPRESS_CFG_GROUP_COUNT_FIELD.cpp_type = 1 - -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.name = "kill_bos_chest" -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.full_name = ".ftcfg.suppress_cfg.kill_bos_chest" -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.number = 4 -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.index = 3 -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.label = 3 -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.has_default_value = false -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.default_value = {} -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.type = 5 -SUPPRESS_CFG_KILL_BOS_CHEST_FIELD.cpp_type = 1 - -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.name = "boss_map_signsid" -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.full_name = ".ftcfg.suppress_cfg.boss_map_signsid" -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.number = 5 -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.index = 4 -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.label = 3 -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.has_default_value = false -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.default_value = {} -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.type = 5 -SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD.cpp_type = 1 - -SUPPRESS_CFG.name = "suppress_cfg" -SUPPRESS_CFG.full_name = ".ftcfg.suppress_cfg" -SUPPRESS_CFG.nested_types = {} -SUPPRESS_CFG.enum_types = {} -SUPPRESS_CFG.fields = {SUPPRESS_CFG_SCENE_ID_FIELD, SUPPRESS_CFG_FIT_LVL_FIELD, SUPPRESS_CFG_GROUP_COUNT_FIELD, SUPPRESS_CFG_KILL_BOS_CHEST_FIELD, SUPPRESS_CFG_BOSS_MAP_SIGNSID_FIELD} -SUPPRESS_CFG.is_extendable = false -SUPPRESS_CFG.extensions = {} -SUPPRESS_CFGS_ITEMS_FIELD.name = "items" -SUPPRESS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.suppress_cfgs.items" -SUPPRESS_CFGS_ITEMS_FIELD.number = 1 -SUPPRESS_CFGS_ITEMS_FIELD.index = 0 -SUPPRESS_CFGS_ITEMS_FIELD.label = 3 -SUPPRESS_CFGS_ITEMS_FIELD.has_default_value = false -SUPPRESS_CFGS_ITEMS_FIELD.default_value = {} -SUPPRESS_CFGS_ITEMS_FIELD.message_type = SUPPRESS_CFG -SUPPRESS_CFGS_ITEMS_FIELD.type = 11 -SUPPRESS_CFGS_ITEMS_FIELD.cpp_type = 10 - -SUPPRESS_CFGS.name = "suppress_cfgs" -SUPPRESS_CFGS.full_name = ".ftcfg.suppress_cfgs" -SUPPRESS_CFGS.nested_types = {} -SUPPRESS_CFGS.enum_types = {} -SUPPRESS_CFGS.fields = {SUPPRESS_CFGS_ITEMS_FIELD} -SUPPRESS_CFGS.is_extendable = false -SUPPRESS_CFGS.extensions = {} -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.name = "scene_id" -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.suppress_group_cfg.scene_id" -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.number = 1 -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.index = 0 -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.label = 2 -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.has_default_value = false -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.default_value = 0 -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.type = 5 -SUPPRESS_GROUP_CFG_SCENE_ID_FIELD.cpp_type = 1 - -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.name = "refresh_num" -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.full_name = ".ftcfg.suppress_group_cfg.refresh_num" -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.number = 2 -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.index = 1 -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.label = 2 -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.has_default_value = false -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.default_value = 0 -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.type = 5 -SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD.cpp_type = 1 - -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.name = "monster_map_signsid" -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.full_name = ".ftcfg.suppress_group_cfg.monster_map_signsid" -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.number = 3 -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.index = 2 -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.label = 3 -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.has_default_value = false -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.default_value = {} -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.type = 5 -SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD.cpp_type = 1 - -SUPPRESS_GROUP_CFG.name = "suppress_group_cfg" -SUPPRESS_GROUP_CFG.full_name = ".ftcfg.suppress_group_cfg" -SUPPRESS_GROUP_CFG.nested_types = {} -SUPPRESS_GROUP_CFG.enum_types = {} -SUPPRESS_GROUP_CFG.fields = {SUPPRESS_GROUP_CFG_SCENE_ID_FIELD, SUPPRESS_GROUP_CFG_REFRESH_NUM_FIELD, SUPPRESS_GROUP_CFG_MONSTER_MAP_SIGNSID_FIELD} -SUPPRESS_GROUP_CFG.is_extendable = false -SUPPRESS_GROUP_CFG.extensions = {} -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.name = "items" -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.suppress_group_cfgs.items" -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.number = 1 -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.index = 0 -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.label = 3 -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.has_default_value = false -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.default_value = {} -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.message_type = SUPPRESS_GROUP_CFG -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.type = 11 -SUPPRESS_GROUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -SUPPRESS_GROUP_CFGS.name = "suppress_group_cfgs" -SUPPRESS_GROUP_CFGS.full_name = ".ftcfg.suppress_group_cfgs" -SUPPRESS_GROUP_CFGS.nested_types = {} -SUPPRESS_GROUP_CFGS.enum_types = {} -SUPPRESS_GROUP_CFGS.fields = {SUPPRESS_GROUP_CFGS_ITEMS_FIELD} -SUPPRESS_GROUP_CFGS.is_extendable = false -SUPPRESS_GROUP_CFGS.extensions = {} -UI_CONTRIBUTION_CFG_ID_FIELD.name = "id" -UI_CONTRIBUTION_CFG_ID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.id" -UI_CONTRIBUTION_CFG_ID_FIELD.number = 1 -UI_CONTRIBUTION_CFG_ID_FIELD.index = 0 -UI_CONTRIBUTION_CFG_ID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_ID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_ID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_ID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_ID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_TITLEID_FIELD.name = "titleid" -UI_CONTRIBUTION_CFG_TITLEID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.titleid" -UI_CONTRIBUTION_CFG_TITLEID_FIELD.number = 2 -UI_CONTRIBUTION_CFG_TITLEID_FIELD.index = 1 -UI_CONTRIBUTION_CFG_TITLEID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_TITLEID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_TITLEID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_TITLEID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_TITLEID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_TYPE_FIELD.name = "type" -UI_CONTRIBUTION_CFG_TYPE_FIELD.full_name = ".ftcfg.ui_contribution_cfg.type" -UI_CONTRIBUTION_CFG_TYPE_FIELD.number = 3 -UI_CONTRIBUTION_CFG_TYPE_FIELD.index = 2 -UI_CONTRIBUTION_CFG_TYPE_FIELD.label = 2 -UI_CONTRIBUTION_CFG_TYPE_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_TYPE_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_TYPE_FIELD.type = 5 -UI_CONTRIBUTION_CFG_TYPE_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.name = "imageid" -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.imageid" -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.number = 4 -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.index = 3 -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_IMAGEID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.name = "subtitle_1id" -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.subtitle_1id" -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.number = 5 -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.index = 4 -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.name = "subtitle_2id" -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.subtitle_2id" -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.number = 6 -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.index = 5 -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_ATLASID_FIELD.name = "atlasid" -UI_CONTRIBUTION_CFG_ATLASID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.atlasid" -UI_CONTRIBUTION_CFG_ATLASID_FIELD.number = 7 -UI_CONTRIBUTION_CFG_ATLASID_FIELD.index = 6 -UI_CONTRIBUTION_CFG_ATLASID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_ATLASID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_ATLASID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_ATLASID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_ATLASID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.name = "iconname" -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.full_name = ".ftcfg.ui_contribution_cfg.iconname" -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.number = 8 -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.index = 7 -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.label = 2 -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.default_value = "" -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.type = 9 -UI_CONTRIBUTION_CFG_ICONNAME_FIELD.cpp_type = 9 - -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.name = "btntextid" -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.btntextid" -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.number = 9 -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.index = 8 -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG_TIPSID_FIELD.name = "tipsid" -UI_CONTRIBUTION_CFG_TIPSID_FIELD.full_name = ".ftcfg.ui_contribution_cfg.tipsid" -UI_CONTRIBUTION_CFG_TIPSID_FIELD.number = 10 -UI_CONTRIBUTION_CFG_TIPSID_FIELD.index = 9 -UI_CONTRIBUTION_CFG_TIPSID_FIELD.label = 2 -UI_CONTRIBUTION_CFG_TIPSID_FIELD.has_default_value = false -UI_CONTRIBUTION_CFG_TIPSID_FIELD.default_value = 0 -UI_CONTRIBUTION_CFG_TIPSID_FIELD.type = 5 -UI_CONTRIBUTION_CFG_TIPSID_FIELD.cpp_type = 1 - -UI_CONTRIBUTION_CFG.name = "ui_contribution_cfg" -UI_CONTRIBUTION_CFG.full_name = ".ftcfg.ui_contribution_cfg" -UI_CONTRIBUTION_CFG.nested_types = {} -UI_CONTRIBUTION_CFG.enum_types = {} -UI_CONTRIBUTION_CFG.fields = {UI_CONTRIBUTION_CFG_ID_FIELD, UI_CONTRIBUTION_CFG_TITLEID_FIELD, UI_CONTRIBUTION_CFG_TYPE_FIELD, UI_CONTRIBUTION_CFG_IMAGEID_FIELD, UI_CONTRIBUTION_CFG_SUBTITLE_1ID_FIELD, UI_CONTRIBUTION_CFG_SUBTITLE_2ID_FIELD, UI_CONTRIBUTION_CFG_ATLASID_FIELD, UI_CONTRIBUTION_CFG_ICONNAME_FIELD, UI_CONTRIBUTION_CFG_BTNTEXTID_FIELD, UI_CONTRIBUTION_CFG_TIPSID_FIELD} -UI_CONTRIBUTION_CFG.is_extendable = false -UI_CONTRIBUTION_CFG.extensions = {} -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.name = "items" -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.ui_contribution_cfgs.items" -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.number = 1 -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.index = 0 -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.label = 3 -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.has_default_value = false -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.default_value = {} -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.message_type = UI_CONTRIBUTION_CFG -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.type = 11 -UI_CONTRIBUTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -UI_CONTRIBUTION_CFGS.name = "ui_contribution_cfgs" -UI_CONTRIBUTION_CFGS.full_name = ".ftcfg.ui_contribution_cfgs" -UI_CONTRIBUTION_CFGS.nested_types = {} -UI_CONTRIBUTION_CFGS.enum_types = {} -UI_CONTRIBUTION_CFGS.fields = {UI_CONTRIBUTION_CFGS_ITEMS_FIELD} -UI_CONTRIBUTION_CFGS.is_extendable = false -UI_CONTRIBUTION_CFGS.extensions = {} -ACTIVITY_DUNGEON_CFG_ID_FIELD.name = "id" -ACTIVITY_DUNGEON_CFG_ID_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.id" -ACTIVITY_DUNGEON_CFG_ID_FIELD.number = 1 -ACTIVITY_DUNGEON_CFG_ID_FIELD.index = 0 -ACTIVITY_DUNGEON_CFG_ID_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_ID_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_ID_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_ID_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_ID_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.name = "resouce_name" -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.resouce_name" -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.number = 2 -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.index = 1 -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.default_value = "" -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.type = 9 -ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD.cpp_type = 9 - -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.name = "type" -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.type" -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.number = 3 -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.index = 2 -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_TYPE_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.name = "level_limit" -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.level_limit" -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.number = 4 -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.index = 3 -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.name = "map_id" -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.map_id" -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.number = 5 -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.index = 4 -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.name = "map_name" -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.map_name" -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.number = 6 -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.index = 5 -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.default_value = "" -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.type = 9 -ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD.cpp_type = 9 - -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.name = "map_imgid" -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.map_imgid" -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.number = 7 -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.index = 6 -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.name = "recommend_fightvalue" -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.recommend_fightvalue" -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.number = 8 -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.index = 7 -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.name = "low_fightvalue" -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.low_fightvalue" -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.number = 9 -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.index = 8 -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.name = "advanced_item" -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.advanced_item" -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.number = 10 -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.index = 9 -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.type = 13 -ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD.cpp_type = 3 - -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.name = "normal_item" -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.normal_item" -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.number = 11 -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.index = 10 -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.type = 13 -ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD.cpp_type = 3 - -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.name = "times" -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.times" -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.number = 12 -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.index = 11 -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_TIMES_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.name = "isonlycaptain" -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.isonlycaptain" -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.number = 13 -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.index = 12 -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.name = "wait_time" -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.wait_time" -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.number = 14 -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.index = 13 -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.name = "alonerewards" -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.alonerewards" -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.number = 15 -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.index = 14 -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.label = 3 -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.default_value = {} -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.type = 13 -ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD.cpp_type = 3 - -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.name = "teamrewards" -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.teamrewards" -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.number = 16 -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.index = 15 -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.label = 3 -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.default_value = {} -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.type = 13 -ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD.cpp_type = 3 - -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.name = "max_timer" -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.max_timer" -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.number = 17 -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.index = 16 -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.name = "max_wave" -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.max_wave" -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.number = 18 -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.index = 17 -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.label = 2 -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.default_value = 0 -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.type = 5 -ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD.cpp_type = 1 - -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.name = "money_posx" -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.money_posx" -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.number = 19 -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.index = 18 -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.label = 3 -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.default_value = {} -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.type = 2 -ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD.cpp_type = 6 - -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.name = "money_posy" -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.money_posy" -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.number = 20 -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.index = 19 -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.label = 3 -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.default_value = {} -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.type = 2 -ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD.cpp_type = 6 - -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.name = "money_posz" -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.full_name = ".ftcfg.activity_dungeon_cfg.money_posz" -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.number = 21 -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.index = 20 -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.label = 3 -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.default_value = {} -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.type = 2 -ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD.cpp_type = 6 - -ACTIVITY_DUNGEON_CFG.name = "activity_dungeon_cfg" -ACTIVITY_DUNGEON_CFG.full_name = ".ftcfg.activity_dungeon_cfg" -ACTIVITY_DUNGEON_CFG.nested_types = {} -ACTIVITY_DUNGEON_CFG.enum_types = {} -ACTIVITY_DUNGEON_CFG.fields = {ACTIVITY_DUNGEON_CFG_ID_FIELD, ACTIVITY_DUNGEON_CFG_RESOUCE_NAME_FIELD, ACTIVITY_DUNGEON_CFG_TYPE_FIELD, ACTIVITY_DUNGEON_CFG_LEVEL_LIMIT_FIELD, ACTIVITY_DUNGEON_CFG_MAP_ID_FIELD, ACTIVITY_DUNGEON_CFG_MAP_NAME_FIELD, ACTIVITY_DUNGEON_CFG_MAP_IMGID_FIELD, ACTIVITY_DUNGEON_CFG_RECOMMEND_FIGHTVALUE_FIELD, ACTIVITY_DUNGEON_CFG_LOW_FIGHTVALUE_FIELD, ACTIVITY_DUNGEON_CFG_ADVANCED_ITEM_FIELD, ACTIVITY_DUNGEON_CFG_NORMAL_ITEM_FIELD, ACTIVITY_DUNGEON_CFG_TIMES_FIELD, ACTIVITY_DUNGEON_CFG_ISONLYCAPTAIN_FIELD, ACTIVITY_DUNGEON_CFG_WAIT_TIME_FIELD, ACTIVITY_DUNGEON_CFG_ALONEREWARDS_FIELD, ACTIVITY_DUNGEON_CFG_TEAMREWARDS_FIELD, ACTIVITY_DUNGEON_CFG_MAX_TIMER_FIELD, ACTIVITY_DUNGEON_CFG_MAX_WAVE_FIELD, ACTIVITY_DUNGEON_CFG_MONEY_POSX_FIELD, ACTIVITY_DUNGEON_CFG_MONEY_POSY_FIELD, ACTIVITY_DUNGEON_CFG_MONEY_POSZ_FIELD} -ACTIVITY_DUNGEON_CFG.is_extendable = false -ACTIVITY_DUNGEON_CFG.extensions = {} -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.name = "items" -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.full_name = ".ftcfg.activity_dungeon_cfgs.items" -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.number = 1 -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.index = 0 -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.label = 3 -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.has_default_value = false -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.default_value = {} -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.message_type = ACTIVITY_DUNGEON_CFG -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.type = 11 -ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD.cpp_type = 10 - -ACTIVITY_DUNGEON_CFGS.name = "activity_dungeon_cfgs" -ACTIVITY_DUNGEON_CFGS.full_name = ".ftcfg.activity_dungeon_cfgs" -ACTIVITY_DUNGEON_CFGS.nested_types = {} -ACTIVITY_DUNGEON_CFGS.enum_types = {} -ACTIVITY_DUNGEON_CFGS.fields = {ACTIVITY_DUNGEON_CFGS_ITEMS_FIELD} -ACTIVITY_DUNGEON_CFGS.is_extendable = false -ACTIVITY_DUNGEON_CFGS.extensions = {} -RESOURCE_COMPUND_CFG_ID_FIELD.name = "id" -RESOURCE_COMPUND_CFG_ID_FIELD.full_name = ".ftcfg.resource_compund_cfg.id" -RESOURCE_COMPUND_CFG_ID_FIELD.number = 1 -RESOURCE_COMPUND_CFG_ID_FIELD.index = 0 -RESOURCE_COMPUND_CFG_ID_FIELD.label = 2 -RESOURCE_COMPUND_CFG_ID_FIELD.has_default_value = false -RESOURCE_COMPUND_CFG_ID_FIELD.default_value = 0 -RESOURCE_COMPUND_CFG_ID_FIELD.type = 13 -RESOURCE_COMPUND_CFG_ID_FIELD.cpp_type = 3 - -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.name = "need_item_num" -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.full_name = ".ftcfg.resource_compund_cfg.need_item_num" -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.number = 2 -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.index = 1 -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.label = 2 -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.has_default_value = false -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.default_value = 0 -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.type = 5 -RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD.cpp_type = 1 - -RESOURCE_COMPUND_CFG.name = "resource_compund_cfg" -RESOURCE_COMPUND_CFG.full_name = ".ftcfg.resource_compund_cfg" -RESOURCE_COMPUND_CFG.nested_types = {} -RESOURCE_COMPUND_CFG.enum_types = {} -RESOURCE_COMPUND_CFG.fields = {RESOURCE_COMPUND_CFG_ID_FIELD, RESOURCE_COMPUND_CFG_NEED_ITEM_NUM_FIELD} -RESOURCE_COMPUND_CFG.is_extendable = false -RESOURCE_COMPUND_CFG.extensions = {} -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.name = "items" -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.full_name = ".ftcfg.resource_compund_cfgs.items" -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.number = 1 -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.index = 0 -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.label = 3 -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.has_default_value = false -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.default_value = {} -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.message_type = RESOURCE_COMPUND_CFG -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.type = 11 -RESOURCE_COMPUND_CFGS_ITEMS_FIELD.cpp_type = 10 - -RESOURCE_COMPUND_CFGS.name = "resource_compund_cfgs" -RESOURCE_COMPUND_CFGS.full_name = ".ftcfg.resource_compund_cfgs" -RESOURCE_COMPUND_CFGS.nested_types = {} -RESOURCE_COMPUND_CFGS.enum_types = {} -RESOURCE_COMPUND_CFGS.fields = {RESOURCE_COMPUND_CFGS_ITEMS_FIELD} -RESOURCE_COMPUND_CFGS.is_extendable = false -RESOURCE_COMPUND_CFGS.extensions = {} -ROUTE_MARK_CFG_ID_FIELD.name = "id" -ROUTE_MARK_CFG_ID_FIELD.full_name = ".ftcfg.route_mark_cfg.id" -ROUTE_MARK_CFG_ID_FIELD.number = 1 -ROUTE_MARK_CFG_ID_FIELD.index = 0 -ROUTE_MARK_CFG_ID_FIELD.label = 2 -ROUTE_MARK_CFG_ID_FIELD.has_default_value = false -ROUTE_MARK_CFG_ID_FIELD.default_value = 0 -ROUTE_MARK_CFG_ID_FIELD.type = 5 -ROUTE_MARK_CFG_ID_FIELD.cpp_type = 1 - -ROUTE_MARK_CFG_MODEL_ID_FIELD.name = "model_id" -ROUTE_MARK_CFG_MODEL_ID_FIELD.full_name = ".ftcfg.route_mark_cfg.model_id" -ROUTE_MARK_CFG_MODEL_ID_FIELD.number = 2 -ROUTE_MARK_CFG_MODEL_ID_FIELD.index = 1 -ROUTE_MARK_CFG_MODEL_ID_FIELD.label = 2 -ROUTE_MARK_CFG_MODEL_ID_FIELD.has_default_value = false -ROUTE_MARK_CFG_MODEL_ID_FIELD.default_value = 0 -ROUTE_MARK_CFG_MODEL_ID_FIELD.type = 5 -ROUTE_MARK_CFG_MODEL_ID_FIELD.cpp_type = 1 - -ROUTE_MARK_CFG_SCENE_ID_FIELD.name = "scene_id" -ROUTE_MARK_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.route_mark_cfg.scene_id" -ROUTE_MARK_CFG_SCENE_ID_FIELD.number = 3 -ROUTE_MARK_CFG_SCENE_ID_FIELD.index = 2 -ROUTE_MARK_CFG_SCENE_ID_FIELD.label = 2 -ROUTE_MARK_CFG_SCENE_ID_FIELD.has_default_value = false -ROUTE_MARK_CFG_SCENE_ID_FIELD.default_value = 0 -ROUTE_MARK_CFG_SCENE_ID_FIELD.type = 5 -ROUTE_MARK_CFG_SCENE_ID_FIELD.cpp_type = 1 - -ROUTE_MARK_CFG_POS_X_FIELD.name = "pos_x" -ROUTE_MARK_CFG_POS_X_FIELD.full_name = ".ftcfg.route_mark_cfg.pos_x" -ROUTE_MARK_CFG_POS_X_FIELD.number = 4 -ROUTE_MARK_CFG_POS_X_FIELD.index = 3 -ROUTE_MARK_CFG_POS_X_FIELD.label = 2 -ROUTE_MARK_CFG_POS_X_FIELD.has_default_value = false -ROUTE_MARK_CFG_POS_X_FIELD.default_value = 0 -ROUTE_MARK_CFG_POS_X_FIELD.type = 5 -ROUTE_MARK_CFG_POS_X_FIELD.cpp_type = 1 - -ROUTE_MARK_CFG_POS_Y_FIELD.name = "pos_y" -ROUTE_MARK_CFG_POS_Y_FIELD.full_name = ".ftcfg.route_mark_cfg.pos_y" -ROUTE_MARK_CFG_POS_Y_FIELD.number = 5 -ROUTE_MARK_CFG_POS_Y_FIELD.index = 4 -ROUTE_MARK_CFG_POS_Y_FIELD.label = 2 -ROUTE_MARK_CFG_POS_Y_FIELD.has_default_value = false -ROUTE_MARK_CFG_POS_Y_FIELD.default_value = 0 -ROUTE_MARK_CFG_POS_Y_FIELD.type = 5 -ROUTE_MARK_CFG_POS_Y_FIELD.cpp_type = 1 - -ROUTE_MARK_CFG_POS_Z_FIELD.name = "pos_z" -ROUTE_MARK_CFG_POS_Z_FIELD.full_name = ".ftcfg.route_mark_cfg.pos_z" -ROUTE_MARK_CFG_POS_Z_FIELD.number = 6 -ROUTE_MARK_CFG_POS_Z_FIELD.index = 5 -ROUTE_MARK_CFG_POS_Z_FIELD.label = 2 -ROUTE_MARK_CFG_POS_Z_FIELD.has_default_value = false -ROUTE_MARK_CFG_POS_Z_FIELD.default_value = 0 -ROUTE_MARK_CFG_POS_Z_FIELD.type = 5 -ROUTE_MARK_CFG_POS_Z_FIELD.cpp_type = 1 - -ROUTE_MARK_CFG.name = "route_mark_cfg" -ROUTE_MARK_CFG.full_name = ".ftcfg.route_mark_cfg" -ROUTE_MARK_CFG.nested_types = {} -ROUTE_MARK_CFG.enum_types = {} -ROUTE_MARK_CFG.fields = {ROUTE_MARK_CFG_ID_FIELD, ROUTE_MARK_CFG_MODEL_ID_FIELD, ROUTE_MARK_CFG_SCENE_ID_FIELD, ROUTE_MARK_CFG_POS_X_FIELD, ROUTE_MARK_CFG_POS_Y_FIELD, ROUTE_MARK_CFG_POS_Z_FIELD} -ROUTE_MARK_CFG.is_extendable = false -ROUTE_MARK_CFG.extensions = {} -ROUTE_MARK_CFGS_ITEMS_FIELD.name = "items" -ROUTE_MARK_CFGS_ITEMS_FIELD.full_name = ".ftcfg.route_mark_cfgs.items" -ROUTE_MARK_CFGS_ITEMS_FIELD.number = 1 -ROUTE_MARK_CFGS_ITEMS_FIELD.index = 0 -ROUTE_MARK_CFGS_ITEMS_FIELD.label = 3 -ROUTE_MARK_CFGS_ITEMS_FIELD.has_default_value = false -ROUTE_MARK_CFGS_ITEMS_FIELD.default_value = {} -ROUTE_MARK_CFGS_ITEMS_FIELD.message_type = ROUTE_MARK_CFG -ROUTE_MARK_CFGS_ITEMS_FIELD.type = 11 -ROUTE_MARK_CFGS_ITEMS_FIELD.cpp_type = 10 - -ROUTE_MARK_CFGS.name = "route_mark_cfgs" -ROUTE_MARK_CFGS.full_name = ".ftcfg.route_mark_cfgs" -ROUTE_MARK_CFGS.nested_types = {} -ROUTE_MARK_CFGS.enum_types = {} -ROUTE_MARK_CFGS.fields = {ROUTE_MARK_CFGS_ITEMS_FIELD} -ROUTE_MARK_CFGS.is_extendable = false -ROUTE_MARK_CFGS.extensions = {} -JUMP_CFG_ID_FIELD.name = "id" -JUMP_CFG_ID_FIELD.full_name = ".ftcfg.jump_cfg.id" -JUMP_CFG_ID_FIELD.number = 1 -JUMP_CFG_ID_FIELD.index = 0 -JUMP_CFG_ID_FIELD.label = 2 -JUMP_CFG_ID_FIELD.has_default_value = false -JUMP_CFG_ID_FIELD.default_value = 0 -JUMP_CFG_ID_FIELD.type = 5 -JUMP_CFG_ID_FIELD.cpp_type = 1 - -JUMP_CFG_WAY_POINTS_FIELD.name = "way_points" -JUMP_CFG_WAY_POINTS_FIELD.full_name = ".ftcfg.jump_cfg.way_points" -JUMP_CFG_WAY_POINTS_FIELD.number = 2 -JUMP_CFG_WAY_POINTS_FIELD.index = 1 -JUMP_CFG_WAY_POINTS_FIELD.label = 3 -JUMP_CFG_WAY_POINTS_FIELD.has_default_value = false -JUMP_CFG_WAY_POINTS_FIELD.default_value = {} -JUMP_CFG_WAY_POINTS_FIELD.type = 2 -JUMP_CFG_WAY_POINTS_FIELD.cpp_type = 6 - -JUMP_CFG_JUMP_ACTION_ID_FIELD.name = "jump_action_id" -JUMP_CFG_JUMP_ACTION_ID_FIELD.full_name = ".ftcfg.jump_cfg.jump_action_id" -JUMP_CFG_JUMP_ACTION_ID_FIELD.number = 3 -JUMP_CFG_JUMP_ACTION_ID_FIELD.index = 2 -JUMP_CFG_JUMP_ACTION_ID_FIELD.label = 3 -JUMP_CFG_JUMP_ACTION_ID_FIELD.has_default_value = false -JUMP_CFG_JUMP_ACTION_ID_FIELD.default_value = {} -JUMP_CFG_JUMP_ACTION_ID_FIELD.type = 5 -JUMP_CFG_JUMP_ACTION_ID_FIELD.cpp_type = 1 - -JUMP_CFG.name = "jump_cfg" -JUMP_CFG.full_name = ".ftcfg.jump_cfg" -JUMP_CFG.nested_types = {} -JUMP_CFG.enum_types = {} -JUMP_CFG.fields = {JUMP_CFG_ID_FIELD, JUMP_CFG_WAY_POINTS_FIELD, JUMP_CFG_JUMP_ACTION_ID_FIELD} -JUMP_CFG.is_extendable = false -JUMP_CFG.extensions = {} -JUMP_CFGS_ITEMS_FIELD.name = "items" -JUMP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.jump_cfgs.items" -JUMP_CFGS_ITEMS_FIELD.number = 1 -JUMP_CFGS_ITEMS_FIELD.index = 0 -JUMP_CFGS_ITEMS_FIELD.label = 3 -JUMP_CFGS_ITEMS_FIELD.has_default_value = false -JUMP_CFGS_ITEMS_FIELD.default_value = {} -JUMP_CFGS_ITEMS_FIELD.message_type = JUMP_CFG -JUMP_CFGS_ITEMS_FIELD.type = 11 -JUMP_CFGS_ITEMS_FIELD.cpp_type = 10 - -JUMP_CFGS.name = "jump_cfgs" -JUMP_CFGS.full_name = ".ftcfg.jump_cfgs" -JUMP_CFGS.nested_types = {} -JUMP_CFGS.enum_types = {} -JUMP_CFGS.fields = {JUMP_CFGS_ITEMS_FIELD} -JUMP_CFGS.is_extendable = false -JUMP_CFGS.extensions = {} -JUMP_ACTION_CFG_ID_FIELD.name = "id" -JUMP_ACTION_CFG_ID_FIELD.full_name = ".ftcfg.jump_action_cfg.id" -JUMP_ACTION_CFG_ID_FIELD.number = 1 -JUMP_ACTION_CFG_ID_FIELD.index = 0 -JUMP_ACTION_CFG_ID_FIELD.label = 2 -JUMP_ACTION_CFG_ID_FIELD.has_default_value = false -JUMP_ACTION_CFG_ID_FIELD.default_value = 0 -JUMP_ACTION_CFG_ID_FIELD.type = 5 -JUMP_ACTION_CFG_ID_FIELD.cpp_type = 1 - -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.name = "animation_name" -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.full_name = ".ftcfg.jump_action_cfg.animation_name" -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.number = 2 -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.index = 1 -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.label = 2 -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.has_default_value = false -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.default_value = "" -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.type = 9 -JUMP_ACTION_CFG_ANIMATION_NAME_FIELD.cpp_type = 9 - -JUMP_ACTION_CFG_SPLITES_FIELD.name = "splites" -JUMP_ACTION_CFG_SPLITES_FIELD.full_name = ".ftcfg.jump_action_cfg.splites" -JUMP_ACTION_CFG_SPLITES_FIELD.number = 3 -JUMP_ACTION_CFG_SPLITES_FIELD.index = 2 -JUMP_ACTION_CFG_SPLITES_FIELD.label = 3 -JUMP_ACTION_CFG_SPLITES_FIELD.has_default_value = false -JUMP_ACTION_CFG_SPLITES_FIELD.default_value = {} -JUMP_ACTION_CFG_SPLITES_FIELD.type = 2 -JUMP_ACTION_CFG_SPLITES_FIELD.cpp_type = 6 - -JUMP_ACTION_CFG_DURATION_FIELD.name = "duration" -JUMP_ACTION_CFG_DURATION_FIELD.full_name = ".ftcfg.jump_action_cfg.duration" -JUMP_ACTION_CFG_DURATION_FIELD.number = 4 -JUMP_ACTION_CFG_DURATION_FIELD.index = 3 -JUMP_ACTION_CFG_DURATION_FIELD.label = 2 -JUMP_ACTION_CFG_DURATION_FIELD.has_default_value = false -JUMP_ACTION_CFG_DURATION_FIELD.default_value = 0.0 -JUMP_ACTION_CFG_DURATION_FIELD.type = 2 -JUMP_ACTION_CFG_DURATION_FIELD.cpp_type = 6 - -JUMP_ACTION_CFG.name = "jump_action_cfg" -JUMP_ACTION_CFG.full_name = ".ftcfg.jump_action_cfg" -JUMP_ACTION_CFG.nested_types = {} -JUMP_ACTION_CFG.enum_types = {} -JUMP_ACTION_CFG.fields = {JUMP_ACTION_CFG_ID_FIELD, JUMP_ACTION_CFG_ANIMATION_NAME_FIELD, JUMP_ACTION_CFG_SPLITES_FIELD, JUMP_ACTION_CFG_DURATION_FIELD} -JUMP_ACTION_CFG.is_extendable = false -JUMP_ACTION_CFG.extensions = {} -JUMP_ACTION_CFGS_ITEMS_FIELD.name = "items" -JUMP_ACTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.jump_action_cfgs.items" -JUMP_ACTION_CFGS_ITEMS_FIELD.number = 1 -JUMP_ACTION_CFGS_ITEMS_FIELD.index = 0 -JUMP_ACTION_CFGS_ITEMS_FIELD.label = 3 -JUMP_ACTION_CFGS_ITEMS_FIELD.has_default_value = false -JUMP_ACTION_CFGS_ITEMS_FIELD.default_value = {} -JUMP_ACTION_CFGS_ITEMS_FIELD.message_type = JUMP_ACTION_CFG -JUMP_ACTION_CFGS_ITEMS_FIELD.type = 11 -JUMP_ACTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -JUMP_ACTION_CFGS.name = "jump_action_cfgs" -JUMP_ACTION_CFGS.full_name = ".ftcfg.jump_action_cfgs" -JUMP_ACTION_CFGS.nested_types = {} -JUMP_ACTION_CFGS.enum_types = {} -JUMP_ACTION_CFGS.fields = {JUMP_ACTION_CFGS_ITEMS_FIELD} -JUMP_ACTION_CFGS.is_extendable = false -JUMP_ACTION_CFGS.extensions = {} -MAGIC_ATT_CFG_ID_FIELD.name = "id" -MAGIC_ATT_CFG_ID_FIELD.full_name = ".ftcfg.magic_att_cfg.id" -MAGIC_ATT_CFG_ID_FIELD.number = 1 -MAGIC_ATT_CFG_ID_FIELD.index = 0 -MAGIC_ATT_CFG_ID_FIELD.label = 2 -MAGIC_ATT_CFG_ID_FIELD.has_default_value = false -MAGIC_ATT_CFG_ID_FIELD.default_value = 0 -MAGIC_ATT_CFG_ID_FIELD.type = 5 -MAGIC_ATT_CFG_ID_FIELD.cpp_type = 1 - -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.name = "magic_type" -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.full_name = ".ftcfg.magic_att_cfg.magic_type" -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.number = 2 -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.index = 1 -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.label = 2 -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.has_default_value = false -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.default_value = 0 -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.type = 5 -MAGIC_ATT_CFG_MAGIC_TYPE_FIELD.cpp_type = 1 - -MAGIC_ATT_CFG_RANGE_FIELD.name = "range" -MAGIC_ATT_CFG_RANGE_FIELD.full_name = ".ftcfg.magic_att_cfg.range" -MAGIC_ATT_CFG_RANGE_FIELD.number = 3 -MAGIC_ATT_CFG_RANGE_FIELD.index = 2 -MAGIC_ATT_CFG_RANGE_FIELD.label = 2 -MAGIC_ATT_CFG_RANGE_FIELD.has_default_value = false -MAGIC_ATT_CFG_RANGE_FIELD.default_value = 0 -MAGIC_ATT_CFG_RANGE_FIELD.type = 5 -MAGIC_ATT_CFG_RANGE_FIELD.cpp_type = 1 - -MAGIC_ATT_CFG_PROP_TYPE_FIELD.name = "prop_type" -MAGIC_ATT_CFG_PROP_TYPE_FIELD.full_name = ".ftcfg.magic_att_cfg.prop_type" -MAGIC_ATT_CFG_PROP_TYPE_FIELD.number = 4 -MAGIC_ATT_CFG_PROP_TYPE_FIELD.index = 3 -MAGIC_ATT_CFG_PROP_TYPE_FIELD.label = 3 -MAGIC_ATT_CFG_PROP_TYPE_FIELD.has_default_value = false -MAGIC_ATT_CFG_PROP_TYPE_FIELD.default_value = {} -MAGIC_ATT_CFG_PROP_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPOPTYPE -MAGIC_ATT_CFG_PROP_TYPE_FIELD.type = 14 -MAGIC_ATT_CFG_PROP_TYPE_FIELD.cpp_type = 8 - -MAGIC_ATT_CFG_ATT_TYPE_FIELD.name = "att_type" -MAGIC_ATT_CFG_ATT_TYPE_FIELD.full_name = ".ftcfg.magic_att_cfg.att_type" -MAGIC_ATT_CFG_ATT_TYPE_FIELD.number = 5 -MAGIC_ATT_CFG_ATT_TYPE_FIELD.index = 4 -MAGIC_ATT_CFG_ATT_TYPE_FIELD.label = 3 -MAGIC_ATT_CFG_ATT_TYPE_FIELD.has_default_value = false -MAGIC_ATT_CFG_ATT_TYPE_FIELD.default_value = {} -MAGIC_ATT_CFG_ATT_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -MAGIC_ATT_CFG_ATT_TYPE_FIELD.type = 14 -MAGIC_ATT_CFG_ATT_TYPE_FIELD.cpp_type = 8 - -MAGIC_ATT_CFG_ATT_VALUE_FIELD.name = "att_value" -MAGIC_ATT_CFG_ATT_VALUE_FIELD.full_name = ".ftcfg.magic_att_cfg.att_value" -MAGIC_ATT_CFG_ATT_VALUE_FIELD.number = 6 -MAGIC_ATT_CFG_ATT_VALUE_FIELD.index = 5 -MAGIC_ATT_CFG_ATT_VALUE_FIELD.label = 3 -MAGIC_ATT_CFG_ATT_VALUE_FIELD.has_default_value = false -MAGIC_ATT_CFG_ATT_VALUE_FIELD.default_value = {} -MAGIC_ATT_CFG_ATT_VALUE_FIELD.type = 2 -MAGIC_ATT_CFG_ATT_VALUE_FIELD.cpp_type = 6 - -MAGIC_ATT_CFG_NAME_FIELD.name = "name" -MAGIC_ATT_CFG_NAME_FIELD.full_name = ".ftcfg.magic_att_cfg.name" -MAGIC_ATT_CFG_NAME_FIELD.number = 7 -MAGIC_ATT_CFG_NAME_FIELD.index = 6 -MAGIC_ATT_CFG_NAME_FIELD.label = 2 -MAGIC_ATT_CFG_NAME_FIELD.has_default_value = false -MAGIC_ATT_CFG_NAME_FIELD.default_value = "" -MAGIC_ATT_CFG_NAME_FIELD.type = 9 -MAGIC_ATT_CFG_NAME_FIELD.cpp_type = 9 - -MAGIC_ATT_CFG_DESC_FIELD.name = "desc" -MAGIC_ATT_CFG_DESC_FIELD.full_name = ".ftcfg.magic_att_cfg.desc" -MAGIC_ATT_CFG_DESC_FIELD.number = 8 -MAGIC_ATT_CFG_DESC_FIELD.index = 7 -MAGIC_ATT_CFG_DESC_FIELD.label = 2 -MAGIC_ATT_CFG_DESC_FIELD.has_default_value = false -MAGIC_ATT_CFG_DESC_FIELD.default_value = "" -MAGIC_ATT_CFG_DESC_FIELD.type = 9 -MAGIC_ATT_CFG_DESC_FIELD.cpp_type = 9 - -MAGIC_ATT_CFG_ICON_FIELD.name = "icon" -MAGIC_ATT_CFG_ICON_FIELD.full_name = ".ftcfg.magic_att_cfg.icon" -MAGIC_ATT_CFG_ICON_FIELD.number = 9 -MAGIC_ATT_CFG_ICON_FIELD.index = 8 -MAGIC_ATT_CFG_ICON_FIELD.label = 2 -MAGIC_ATT_CFG_ICON_FIELD.has_default_value = false -MAGIC_ATT_CFG_ICON_FIELD.default_value = 0 -MAGIC_ATT_CFG_ICON_FIELD.type = 5 -MAGIC_ATT_CFG_ICON_FIELD.cpp_type = 1 - -MAGIC_ATT_CFG.name = "magic_att_cfg" -MAGIC_ATT_CFG.full_name = ".ftcfg.magic_att_cfg" -MAGIC_ATT_CFG.nested_types = {} -MAGIC_ATT_CFG.enum_types = {} -MAGIC_ATT_CFG.fields = {MAGIC_ATT_CFG_ID_FIELD, MAGIC_ATT_CFG_MAGIC_TYPE_FIELD, MAGIC_ATT_CFG_RANGE_FIELD, MAGIC_ATT_CFG_PROP_TYPE_FIELD, MAGIC_ATT_CFG_ATT_TYPE_FIELD, MAGIC_ATT_CFG_ATT_VALUE_FIELD, MAGIC_ATT_CFG_NAME_FIELD, MAGIC_ATT_CFG_DESC_FIELD, MAGIC_ATT_CFG_ICON_FIELD} -MAGIC_ATT_CFG.is_extendable = false -MAGIC_ATT_CFG.extensions = {} -MAGIC_ATT_CFGS_ITEMS_FIELD.name = "items" -MAGIC_ATT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_att_cfgs.items" -MAGIC_ATT_CFGS_ITEMS_FIELD.number = 1 -MAGIC_ATT_CFGS_ITEMS_FIELD.index = 0 -MAGIC_ATT_CFGS_ITEMS_FIELD.label = 3 -MAGIC_ATT_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_ATT_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_ATT_CFGS_ITEMS_FIELD.message_type = MAGIC_ATT_CFG -MAGIC_ATT_CFGS_ITEMS_FIELD.type = 11 -MAGIC_ATT_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_ATT_CFGS.name = "magic_att_cfgs" -MAGIC_ATT_CFGS.full_name = ".ftcfg.magic_att_cfgs" -MAGIC_ATT_CFGS.nested_types = {} -MAGIC_ATT_CFGS.enum_types = {} -MAGIC_ATT_CFGS.fields = {MAGIC_ATT_CFGS_ITEMS_FIELD} -MAGIC_ATT_CFGS.is_extendable = false -MAGIC_ATT_CFGS.extensions = {} -MAGIC_OSTIOLE_CFG_ID_FIELD.name = "id" -MAGIC_OSTIOLE_CFG_ID_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.id" -MAGIC_OSTIOLE_CFG_ID_FIELD.number = 1 -MAGIC_OSTIOLE_CFG_ID_FIELD.index = 0 -MAGIC_OSTIOLE_CFG_ID_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_ID_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_ID_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_ID_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_ID_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG_POS_FIELD.name = "pos" -MAGIC_OSTIOLE_CFG_POS_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.pos" -MAGIC_OSTIOLE_CFG_POS_FIELD.number = 2 -MAGIC_OSTIOLE_CFG_POS_FIELD.index = 1 -MAGIC_OSTIOLE_CFG_POS_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_POS_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_POS_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_POS_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_POS_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.name = "magic_type" -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.magic_type" -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.number = 3 -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.index = 2 -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.name = "player_level" -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.player_level" -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.number = 4 -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.index = 3 -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG_RANGE_FIELD.name = "range" -MAGIC_OSTIOLE_CFG_RANGE_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.range" -MAGIC_OSTIOLE_CFG_RANGE_FIELD.number = 5 -MAGIC_OSTIOLE_CFG_RANGE_FIELD.index = 4 -MAGIC_OSTIOLE_CFG_RANGE_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_RANGE_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_RANGE_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_RANGE_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_RANGE_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.name = "item_id" -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.item_id" -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.number = 6 -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.index = 5 -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.name = "item_num" -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.item_num" -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.number = 7 -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.index = 6 -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.name = "max_beatific" -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.full_name = ".ftcfg.magic_ostiole_cfg.max_beatific" -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.number = 8 -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.index = 7 -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.label = 2 -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.default_value = 0 -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.type = 5 -MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD.cpp_type = 1 - -MAGIC_OSTIOLE_CFG.name = "magic_ostiole_cfg" -MAGIC_OSTIOLE_CFG.full_name = ".ftcfg.magic_ostiole_cfg" -MAGIC_OSTIOLE_CFG.nested_types = {} -MAGIC_OSTIOLE_CFG.enum_types = {} -MAGIC_OSTIOLE_CFG.fields = {MAGIC_OSTIOLE_CFG_ID_FIELD, MAGIC_OSTIOLE_CFG_POS_FIELD, MAGIC_OSTIOLE_CFG_MAGIC_TYPE_FIELD, MAGIC_OSTIOLE_CFG_PLAYER_LEVEL_FIELD, MAGIC_OSTIOLE_CFG_RANGE_FIELD, MAGIC_OSTIOLE_CFG_ITEM_ID_FIELD, MAGIC_OSTIOLE_CFG_ITEM_NUM_FIELD, MAGIC_OSTIOLE_CFG_MAX_BEATIFIC_FIELD} -MAGIC_OSTIOLE_CFG.is_extendable = false -MAGIC_OSTIOLE_CFG.extensions = {} -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.name = "items" -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_ostiole_cfgs.items" -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.number = 1 -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.index = 0 -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.label = 3 -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.message_type = MAGIC_OSTIOLE_CFG -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.type = 11 -MAGIC_OSTIOLE_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_OSTIOLE_CFGS.name = "magic_ostiole_cfgs" -MAGIC_OSTIOLE_CFGS.full_name = ".ftcfg.magic_ostiole_cfgs" -MAGIC_OSTIOLE_CFGS.nested_types = {} -MAGIC_OSTIOLE_CFGS.enum_types = {} -MAGIC_OSTIOLE_CFGS.fields = {MAGIC_OSTIOLE_CFGS_ITEMS_FIELD} -MAGIC_OSTIOLE_CFGS.is_extendable = false -MAGIC_OSTIOLE_CFGS.extensions = {} -MAGIC_LEVELUP_CFG_ID_FIELD.name = "id" -MAGIC_LEVELUP_CFG_ID_FIELD.full_name = ".ftcfg.magic_levelup_cfg.id" -MAGIC_LEVELUP_CFG_ID_FIELD.number = 1 -MAGIC_LEVELUP_CFG_ID_FIELD.index = 0 -MAGIC_LEVELUP_CFG_ID_FIELD.label = 2 -MAGIC_LEVELUP_CFG_ID_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_ID_FIELD.default_value = 0 -MAGIC_LEVELUP_CFG_ID_FIELD.type = 5 -MAGIC_LEVELUP_CFG_ID_FIELD.cpp_type = 1 - -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.name = "magic_level" -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.full_name = ".ftcfg.magic_levelup_cfg.magic_level" -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.number = 2 -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.index = 1 -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.label = 2 -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.default_value = 0 -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.type = 5 -MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD.cpp_type = 1 - -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.name = "prop_type" -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.full_name = ".ftcfg.magic_levelup_cfg.prop_type" -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.number = 3 -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.index = 2 -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.label = 3 -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.default_value = {} -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPOPTYPE -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.type = 14 -MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD.cpp_type = 8 - -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.name = "att_type" -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.full_name = ".ftcfg.magic_levelup_cfg.att_type" -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.number = 4 -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.index = 3 -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.label = 3 -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.default_value = {} -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.type = 14 -MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD.cpp_type = 8 - -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.name = "att_value" -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.full_name = ".ftcfg.magic_levelup_cfg.att_value" -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.number = 5 -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.index = 4 -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.label = 3 -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.default_value = {} -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.type = 2 -MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD.cpp_type = 6 - -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.name = "item_id" -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.magic_levelup_cfg.item_id" -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.number = 6 -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.index = 5 -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.label = 2 -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.default_value = 0 -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.type = 5 -MAGIC_LEVELUP_CFG_ITEM_ID_FIELD.cpp_type = 1 - -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.name = "item_num" -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.full_name = ".ftcfg.magic_levelup_cfg.item_num" -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.number = 7 -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.index = 6 -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.label = 2 -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.default_value = 0 -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.type = 5 -MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD.cpp_type = 1 - -MAGIC_LEVELUP_CFG_RANGE_FIELD.name = "range" -MAGIC_LEVELUP_CFG_RANGE_FIELD.full_name = ".ftcfg.magic_levelup_cfg.range" -MAGIC_LEVELUP_CFG_RANGE_FIELD.number = 8 -MAGIC_LEVELUP_CFG_RANGE_FIELD.index = 7 -MAGIC_LEVELUP_CFG_RANGE_FIELD.label = 2 -MAGIC_LEVELUP_CFG_RANGE_FIELD.has_default_value = false -MAGIC_LEVELUP_CFG_RANGE_FIELD.default_value = 0 -MAGIC_LEVELUP_CFG_RANGE_FIELD.type = 5 -MAGIC_LEVELUP_CFG_RANGE_FIELD.cpp_type = 1 - -MAGIC_LEVELUP_CFG.name = "magic_levelup_cfg" -MAGIC_LEVELUP_CFG.full_name = ".ftcfg.magic_levelup_cfg" -MAGIC_LEVELUP_CFG.nested_types = {} -MAGIC_LEVELUP_CFG.enum_types = {} -MAGIC_LEVELUP_CFG.fields = {MAGIC_LEVELUP_CFG_ID_FIELD, MAGIC_LEVELUP_CFG_MAGIC_LEVEL_FIELD, MAGIC_LEVELUP_CFG_PROP_TYPE_FIELD, MAGIC_LEVELUP_CFG_ATT_TYPE_FIELD, MAGIC_LEVELUP_CFG_ATT_VALUE_FIELD, MAGIC_LEVELUP_CFG_ITEM_ID_FIELD, MAGIC_LEVELUP_CFG_ITEM_NUM_FIELD, MAGIC_LEVELUP_CFG_RANGE_FIELD} -MAGIC_LEVELUP_CFG.is_extendable = false -MAGIC_LEVELUP_CFG.extensions = {} -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.name = "items" -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_levelup_cfgs.items" -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.number = 1 -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.index = 0 -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.label = 3 -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.message_type = MAGIC_LEVELUP_CFG -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.type = 11 -MAGIC_LEVELUP_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_LEVELUP_CFGS.name = "magic_levelup_cfgs" -MAGIC_LEVELUP_CFGS.full_name = ".ftcfg.magic_levelup_cfgs" -MAGIC_LEVELUP_CFGS.nested_types = {} -MAGIC_LEVELUP_CFGS.enum_types = {} -MAGIC_LEVELUP_CFGS.fields = {MAGIC_LEVELUP_CFGS_ITEMS_FIELD} -MAGIC_LEVELUP_CFGS.is_extendable = false -MAGIC_LEVELUP_CFGS.extensions = {} -MAGIC_COMBINATION_CFG_ID_FIELD.name = "id" -MAGIC_COMBINATION_CFG_ID_FIELD.full_name = ".ftcfg.magic_combination_cfg.id" -MAGIC_COMBINATION_CFG_ID_FIELD.number = 1 -MAGIC_COMBINATION_CFG_ID_FIELD.index = 0 -MAGIC_COMBINATION_CFG_ID_FIELD.label = 2 -MAGIC_COMBINATION_CFG_ID_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_ID_FIELD.default_value = 0 -MAGIC_COMBINATION_CFG_ID_FIELD.type = 5 -MAGIC_COMBINATION_CFG_ID_FIELD.cpp_type = 1 - -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.name = "combination_level" -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.full_name = ".ftcfg.magic_combination_cfg.combination_level" -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.number = 2 -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.index = 1 -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.label = 2 -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.default_value = 0 -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.type = 5 -MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD.cpp_type = 1 - -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.name = "magic_ids" -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.full_name = ".ftcfg.magic_combination_cfg.magic_ids" -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.number = 3 -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.index = 2 -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.label = 3 -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.default_value = {} -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.type = 5 -MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD.cpp_type = 1 - -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.name = "magic_num" -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.full_name = ".ftcfg.magic_combination_cfg.magic_num" -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.number = 4 -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.index = 3 -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.label = 3 -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.default_value = {} -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.type = 5 -MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD.cpp_type = 1 - -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.name = "prop_type" -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.full_name = ".ftcfg.magic_combination_cfg.prop_type" -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.number = 5 -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.index = 4 -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.label = 2 -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.default_value = nil -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPOPTYPE -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.type = 14 -MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD.cpp_type = 8 - -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.name = "att_type" -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.full_name = ".ftcfg.magic_combination_cfg.att_type" -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.number = 6 -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.index = 5 -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.label = 2 -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.default_value = nil -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.type = 14 -MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD.cpp_type = 8 - -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.name = "att_value" -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.full_name = ".ftcfg.magic_combination_cfg.att_value" -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.number = 7 -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.index = 6 -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.label = 2 -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.default_value = 0.0 -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.type = 2 -MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD.cpp_type = 6 - -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.name = "mg_name" -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.full_name = ".ftcfg.magic_combination_cfg.mg_name" -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.number = 8 -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.index = 7 -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.label = 2 -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.has_default_value = false -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.default_value = "" -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.type = 9 -MAGIC_COMBINATION_CFG_MG_NAME_FIELD.cpp_type = 9 - -MAGIC_COMBINATION_CFG.name = "magic_combination_cfg" -MAGIC_COMBINATION_CFG.full_name = ".ftcfg.magic_combination_cfg" -MAGIC_COMBINATION_CFG.nested_types = {} -MAGIC_COMBINATION_CFG.enum_types = {} -MAGIC_COMBINATION_CFG.fields = {MAGIC_COMBINATION_CFG_ID_FIELD, MAGIC_COMBINATION_CFG_COMBINATION_LEVEL_FIELD, MAGIC_COMBINATION_CFG_MAGIC_IDS_FIELD, MAGIC_COMBINATION_CFG_MAGIC_NUM_FIELD, MAGIC_COMBINATION_CFG_PROP_TYPE_FIELD, MAGIC_COMBINATION_CFG_ATT_TYPE_FIELD, MAGIC_COMBINATION_CFG_ATT_VALUE_FIELD, MAGIC_COMBINATION_CFG_MG_NAME_FIELD} -MAGIC_COMBINATION_CFG.is_extendable = false -MAGIC_COMBINATION_CFG.extensions = {} -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.name = "items" -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_combination_cfgs.items" -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.number = 1 -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.index = 0 -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.label = 3 -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.message_type = MAGIC_COMBINATION_CFG -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.type = 11 -MAGIC_COMBINATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_COMBINATION_CFGS.name = "magic_combination_cfgs" -MAGIC_COMBINATION_CFGS.full_name = ".ftcfg.magic_combination_cfgs" -MAGIC_COMBINATION_CFGS.nested_types = {} -MAGIC_COMBINATION_CFGS.enum_types = {} -MAGIC_COMBINATION_CFGS.fields = {MAGIC_COMBINATION_CFGS_ITEMS_FIELD} -MAGIC_COMBINATION_CFGS.is_extendable = false -MAGIC_COMBINATION_CFGS.extensions = {} -CONVOY_BIAOCHE_CFG_ID_FIELD.name = "id" -CONVOY_BIAOCHE_CFG_ID_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.id" -CONVOY_BIAOCHE_CFG_ID_FIELD.number = 1 -CONVOY_BIAOCHE_CFG_ID_FIELD.index = 0 -CONVOY_BIAOCHE_CFG_ID_FIELD.label = 2 -CONVOY_BIAOCHE_CFG_ID_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_ID_FIELD.default_value = 0 -CONVOY_BIAOCHE_CFG_ID_FIELD.type = 5 -CONVOY_BIAOCHE_CFG_ID_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.name = "activity_type" -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.activity_type" -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.number = 2 -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.index = 1 -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.label = 2 -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.default_value = nil -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.enum_type = config_predefine_pb.EBATTLEACTIVITYTYPE -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.type = 14 -CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD.cpp_type = 8 - -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.name = "first_start_time" -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.first_start_time" -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.number = 3 -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.index = 2 -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.label = 2 -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.default_value = "" -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.type = 9 -CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD.cpp_type = 9 - -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.name = "first_end_time" -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.first_end_time" -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.number = 4 -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.index = 3 -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.label = 2 -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.default_value = "" -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.type = 9 -CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD.cpp_type = 9 - -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.name = "second_start_time" -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.second_start_time" -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.number = 5 -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.index = 4 -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.label = 2 -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.default_value = "" -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.type = 9 -CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD.cpp_type = 9 - -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.name = "second_end_time" -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.second_end_time" -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.number = 6 -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.index = 5 -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.label = 2 -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.default_value = "" -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.type = 9 -CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD.cpp_type = 9 - -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.name = "scene_id" -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.scene_id" -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.number = 7 -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.index = 6 -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.label = 3 -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.default_value = {} -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.type = 5 -CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.name = "week_loop" -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.full_name = ".ftcfg.convoy_biaoche_cfg.week_loop" -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.number = 8 -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.index = 7 -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.label = 2 -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.default_value = 0 -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.type = 5 -CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_CFG.name = "convoy_biaoche_cfg" -CONVOY_BIAOCHE_CFG.full_name = ".ftcfg.convoy_biaoche_cfg" -CONVOY_BIAOCHE_CFG.nested_types = {} -CONVOY_BIAOCHE_CFG.enum_types = {} -CONVOY_BIAOCHE_CFG.fields = {CONVOY_BIAOCHE_CFG_ID_FIELD, CONVOY_BIAOCHE_CFG_ACTIVITY_TYPE_FIELD, CONVOY_BIAOCHE_CFG_FIRST_START_TIME_FIELD, CONVOY_BIAOCHE_CFG_FIRST_END_TIME_FIELD, CONVOY_BIAOCHE_CFG_SECOND_START_TIME_FIELD, CONVOY_BIAOCHE_CFG_SECOND_END_TIME_FIELD, CONVOY_BIAOCHE_CFG_SCENE_ID_FIELD, CONVOY_BIAOCHE_CFG_WEEK_LOOP_FIELD} -CONVOY_BIAOCHE_CFG.is_extendable = false -CONVOY_BIAOCHE_CFG.extensions = {} -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.name = "items" -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.convoy_biaoche_cfgs.items" -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.number = 1 -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.index = 0 -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.label = 3 -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.has_default_value = false -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.default_value = {} -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.message_type = CONVOY_BIAOCHE_CFG -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.type = 11 -CONVOY_BIAOCHE_CFGS_ITEMS_FIELD.cpp_type = 10 - -CONVOY_BIAOCHE_CFGS.name = "convoy_biaoche_cfgs" -CONVOY_BIAOCHE_CFGS.full_name = ".ftcfg.convoy_biaoche_cfgs" -CONVOY_BIAOCHE_CFGS.nested_types = {} -CONVOY_BIAOCHE_CFGS.enum_types = {} -CONVOY_BIAOCHE_CFGS.fields = {CONVOY_BIAOCHE_CFGS_ITEMS_FIELD} -CONVOY_BIAOCHE_CFGS.is_extendable = false -CONVOY_BIAOCHE_CFGS.extensions = {} -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.name = "id" -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.id" -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.number = 1 -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.index = 0 -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.name = "level_min" -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.level_min" -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.number = 2 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.index = 1 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.name = "level_max" -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.level_max" -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.number = 3 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.index = 2 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.name = "mission_rate" -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.mission_rate" -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.number = 4 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.index = 3 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.name = "person_mission_id" -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.person_mission_id" -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.number = 5 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.index = 4 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.name = "team_mission_id" -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.team_mission_id" -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.number = 6 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.index = 5 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.name = "mission_npc_distance" -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.mission_npc_distance" -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.number = 7 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.index = 6 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.default_value = 0.0 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.type = 1 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD.cpp_type = 5 - -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.name = "mission_need_itemid" -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.mission_need_itemid" -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.number = 8 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.index = 7 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.name = "escort_distance_limit" -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.escort_distance_limit" -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.number = 9 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.index = 8 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.default_value = 0.0 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.type = 1 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD.cpp_type = 5 - -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.name = "escort_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.escort_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.number = 10 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.index = 9 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.name = "ride_limit" -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.ride_limit" -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.number = 11 -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.index = 10 -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.default_value = 0.0 -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.type = 1 -CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD.cpp_type = 5 - -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.name = "node_stay_time" -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.node_stay_time" -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.number = 12 -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.index = 11 -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.name = "same_camp_distance_limit" -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.same_camp_distance_limit" -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.number = 13 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.index = 12 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.default_value = 0.0 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.type = 1 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD.cpp_type = 5 - -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.name = "same_camp_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.same_camp_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.number = 14 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.index = 13 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.name = "robber_distance_limit" -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.robber_distance_limit" -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.number = 15 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.index = 14 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.default_value = 0.0 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.type = 1 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD.cpp_type = 5 - -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.name = "robber_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.robber_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.number = 16 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.index = 15 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.name = "complete_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.complete_time_limit" -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.number = 17 -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.index = 16 -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.name = "person_camp_reward" -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.person_camp_reward" -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.number = 18 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.index = 17 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.name = "person_enemy_reward" -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.person_enemy_reward" -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.number = 19 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.index = 18 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.name = "team_camp_reward" -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.team_camp_reward" -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.number = 20 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.index = 19 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.name = "team_enemy_reward" -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.team_enemy_reward" -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.number = 21 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.index = 20 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.name = "gold_limit" -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.gold_limit" -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.number = 22 -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.index = 21 -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.name = "silver_limit" -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.silver_limit" -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.number = 23 -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.index = 22 -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.label = 2 -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.default_value = 0 -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.name = "free_pos" -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.free_pos" -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.number = 24 -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.index = 23 -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.name = "alliance_pos" -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfg.alliance_pos" -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.number = 25 -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.index = 24 -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.type = 5 -CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD.cpp_type = 1 - -CONVOY_BIAOCHE_SCENE_CFG.name = "convoy_biaoche_scene_cfg" -CONVOY_BIAOCHE_SCENE_CFG.full_name = ".ftcfg.convoy_biaoche_scene_cfg" -CONVOY_BIAOCHE_SCENE_CFG.nested_types = {} -CONVOY_BIAOCHE_SCENE_CFG.enum_types = {} -CONVOY_BIAOCHE_SCENE_CFG.fields = {CONVOY_BIAOCHE_SCENE_CFG_ID_FIELD, CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MIN_FIELD, CONVOY_BIAOCHE_SCENE_CFG_LEVEL_MAX_FIELD, CONVOY_BIAOCHE_SCENE_CFG_MISSION_RATE_FIELD, CONVOY_BIAOCHE_SCENE_CFG_PERSON_MISSION_ID_FIELD, CONVOY_BIAOCHE_SCENE_CFG_TEAM_MISSION_ID_FIELD, CONVOY_BIAOCHE_SCENE_CFG_MISSION_NPC_DISTANCE_FIELD, CONVOY_BIAOCHE_SCENE_CFG_MISSION_NEED_ITEMID_FIELD, CONVOY_BIAOCHE_SCENE_CFG_ESCORT_DISTANCE_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_ESCORT_TIME_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_RIDE_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_NODE_STAY_TIME_FIELD, CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_DISTANCE_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_SAME_CAMP_TIME_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_ROBBER_DISTANCE_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_ROBBER_TIME_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_COMPLETE_TIME_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_PERSON_CAMP_REWARD_FIELD, CONVOY_BIAOCHE_SCENE_CFG_PERSON_ENEMY_REWARD_FIELD, CONVOY_BIAOCHE_SCENE_CFG_TEAM_CAMP_REWARD_FIELD, CONVOY_BIAOCHE_SCENE_CFG_TEAM_ENEMY_REWARD_FIELD, CONVOY_BIAOCHE_SCENE_CFG_GOLD_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_SILVER_LIMIT_FIELD, CONVOY_BIAOCHE_SCENE_CFG_FREE_POS_FIELD, CONVOY_BIAOCHE_SCENE_CFG_ALLIANCE_POS_FIELD} -CONVOY_BIAOCHE_SCENE_CFG.is_extendable = false -CONVOY_BIAOCHE_SCENE_CFG.extensions = {} -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.name = "items" -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.convoy_biaoche_scene_cfgs.items" -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.number = 1 -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.index = 0 -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.label = 3 -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.has_default_value = false -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.default_value = {} -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.message_type = CONVOY_BIAOCHE_SCENE_CFG -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.type = 11 -CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD.cpp_type = 10 - -CONVOY_BIAOCHE_SCENE_CFGS.name = "convoy_biaoche_scene_cfgs" -CONVOY_BIAOCHE_SCENE_CFGS.full_name = ".ftcfg.convoy_biaoche_scene_cfgs" -CONVOY_BIAOCHE_SCENE_CFGS.nested_types = {} -CONVOY_BIAOCHE_SCENE_CFGS.enum_types = {} -CONVOY_BIAOCHE_SCENE_CFGS.fields = {CONVOY_BIAOCHE_SCENE_CFGS_ITEMS_FIELD} -CONVOY_BIAOCHE_SCENE_CFGS.is_extendable = false -CONVOY_BIAOCHE_SCENE_CFGS.extensions = {} -ACTIVITY_INFO_CFG_ID_FIELD.name = "id" -ACTIVITY_INFO_CFG_ID_FIELD.full_name = ".ftcfg.activity_info_cfg.id" -ACTIVITY_INFO_CFG_ID_FIELD.number = 1 -ACTIVITY_INFO_CFG_ID_FIELD.index = 0 -ACTIVITY_INFO_CFG_ID_FIELD.label = 2 -ACTIVITY_INFO_CFG_ID_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_ID_FIELD.default_value = 0 -ACTIVITY_INFO_CFG_ID_FIELD.type = 5 -ACTIVITY_INFO_CFG_ID_FIELD.cpp_type = 1 - -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.name = "activity_type" -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.full_name = ".ftcfg.activity_info_cfg.activity_type" -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.number = 2 -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.index = 1 -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.label = 2 -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.default_value = nil -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.enum_type = config_predefine_pb.EBATTLEACTIVITYTYPE -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.type = 14 -ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD.cpp_type = 8 - -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.name = "func_type" -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.full_name = ".ftcfg.activity_info_cfg.func_type" -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.number = 3 -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.index = 2 -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.label = 2 -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.default_value = nil -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.enum_type = config_predefine_pb.EFUNCTYPE -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.type = 14 -ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD.cpp_type = 8 - -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.name = "entry_time" -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.full_name = ".ftcfg.activity_info_cfg.entry_time" -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.number = 4 -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.index = 3 -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.label = 2 -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.default_value = "" -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.type = 9 -ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD.cpp_type = 9 - -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.name = "entry_end_time" -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.full_name = ".ftcfg.activity_info_cfg.entry_end_time" -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.number = 5 -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.index = 4 -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.label = 2 -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.default_value = "" -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.type = 9 -ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD.cpp_type = 9 - -ACTIVITY_INFO_CFG_START_TIME_FIELD.name = "start_time" -ACTIVITY_INFO_CFG_START_TIME_FIELD.full_name = ".ftcfg.activity_info_cfg.start_time" -ACTIVITY_INFO_CFG_START_TIME_FIELD.number = 6 -ACTIVITY_INFO_CFG_START_TIME_FIELD.index = 5 -ACTIVITY_INFO_CFG_START_TIME_FIELD.label = 2 -ACTIVITY_INFO_CFG_START_TIME_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_START_TIME_FIELD.default_value = "" -ACTIVITY_INFO_CFG_START_TIME_FIELD.type = 9 -ACTIVITY_INFO_CFG_START_TIME_FIELD.cpp_type = 9 - -ACTIVITY_INFO_CFG_END_TIME_FIELD.name = "end_time" -ACTIVITY_INFO_CFG_END_TIME_FIELD.full_name = ".ftcfg.activity_info_cfg.end_time" -ACTIVITY_INFO_CFG_END_TIME_FIELD.number = 7 -ACTIVITY_INFO_CFG_END_TIME_FIELD.index = 6 -ACTIVITY_INFO_CFG_END_TIME_FIELD.label = 2 -ACTIVITY_INFO_CFG_END_TIME_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_END_TIME_FIELD.default_value = "" -ACTIVITY_INFO_CFG_END_TIME_FIELD.type = 9 -ACTIVITY_INFO_CFG_END_TIME_FIELD.cpp_type = 9 - -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.name = "level_limit" -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.full_name = ".ftcfg.activity_info_cfg.level_limit" -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.number = 8 -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.index = 7 -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.label = 2 -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.default_value = 0 -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.type = 5 -ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD.cpp_type = 1 - -ACTIVITY_INFO_CFG_TIMES_FIELD.name = "times" -ACTIVITY_INFO_CFG_TIMES_FIELD.full_name = ".ftcfg.activity_info_cfg.times" -ACTIVITY_INFO_CFG_TIMES_FIELD.number = 9 -ACTIVITY_INFO_CFG_TIMES_FIELD.index = 8 -ACTIVITY_INFO_CFG_TIMES_FIELD.label = 2 -ACTIVITY_INFO_CFG_TIMES_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_TIMES_FIELD.default_value = 0 -ACTIVITY_INFO_CFG_TIMES_FIELD.type = 5 -ACTIVITY_INFO_CFG_TIMES_FIELD.cpp_type = 1 - -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.name = "week_loop" -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.full_name = ".ftcfg.activity_info_cfg.week_loop" -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.number = 10 -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.index = 9 -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.label = 2 -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.has_default_value = false -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.default_value = 0 -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.type = 5 -ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD.cpp_type = 1 - -ACTIVITY_INFO_CFG.name = "activity_info_cfg" -ACTIVITY_INFO_CFG.full_name = ".ftcfg.activity_info_cfg" -ACTIVITY_INFO_CFG.nested_types = {} -ACTIVITY_INFO_CFG.enum_types = {} -ACTIVITY_INFO_CFG.fields = {ACTIVITY_INFO_CFG_ID_FIELD, ACTIVITY_INFO_CFG_ACTIVITY_TYPE_FIELD, ACTIVITY_INFO_CFG_FUNC_TYPE_FIELD, ACTIVITY_INFO_CFG_ENTRY_TIME_FIELD, ACTIVITY_INFO_CFG_ENTRY_END_TIME_FIELD, ACTIVITY_INFO_CFG_START_TIME_FIELD, ACTIVITY_INFO_CFG_END_TIME_FIELD, ACTIVITY_INFO_CFG_LEVEL_LIMIT_FIELD, ACTIVITY_INFO_CFG_TIMES_FIELD, ACTIVITY_INFO_CFG_WEEK_LOOP_FIELD} -ACTIVITY_INFO_CFG.is_extendable = false -ACTIVITY_INFO_CFG.extensions = {} -ACTIVITY_INFO_CFGS_ITEMS_FIELD.name = "items" -ACTIVITY_INFO_CFGS_ITEMS_FIELD.full_name = ".ftcfg.activity_info_cfgs.items" -ACTIVITY_INFO_CFGS_ITEMS_FIELD.number = 1 -ACTIVITY_INFO_CFGS_ITEMS_FIELD.index = 0 -ACTIVITY_INFO_CFGS_ITEMS_FIELD.label = 3 -ACTIVITY_INFO_CFGS_ITEMS_FIELD.has_default_value = false -ACTIVITY_INFO_CFGS_ITEMS_FIELD.default_value = {} -ACTIVITY_INFO_CFGS_ITEMS_FIELD.message_type = ACTIVITY_INFO_CFG -ACTIVITY_INFO_CFGS_ITEMS_FIELD.type = 11 -ACTIVITY_INFO_CFGS_ITEMS_FIELD.cpp_type = 10 - -ACTIVITY_INFO_CFGS.name = "activity_info_cfgs" -ACTIVITY_INFO_CFGS.full_name = ".ftcfg.activity_info_cfgs" -ACTIVITY_INFO_CFGS.nested_types = {} -ACTIVITY_INFO_CFGS.enum_types = {} -ACTIVITY_INFO_CFGS.fields = {ACTIVITY_INFO_CFGS_ITEMS_FIELD} -ACTIVITY_INFO_CFGS.is_extendable = false -ACTIVITY_INFO_CFGS.extensions = {} -ACTIVITY_ROOMS_CFG_ID_FIELD.name = "id" -ACTIVITY_ROOMS_CFG_ID_FIELD.full_name = ".ftcfg.activity_rooms_cfg.id" -ACTIVITY_ROOMS_CFG_ID_FIELD.number = 1 -ACTIVITY_ROOMS_CFG_ID_FIELD.index = 0 -ACTIVITY_ROOMS_CFG_ID_FIELD.label = 2 -ACTIVITY_ROOMS_CFG_ID_FIELD.has_default_value = false -ACTIVITY_ROOMS_CFG_ID_FIELD.default_value = 0 -ACTIVITY_ROOMS_CFG_ID_FIELD.type = 5 -ACTIVITY_ROOMS_CFG_ID_FIELD.cpp_type = 1 - -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.name = "area_id" -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.full_name = ".ftcfg.activity_rooms_cfg.area_id" -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.number = 2 -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.index = 1 -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.label = 2 -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.has_default_value = false -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.default_value = 0 -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.type = 5 -ACTIVITY_ROOMS_CFG_AREA_ID_FIELD.cpp_type = 1 - -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.name = "red_num" -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.full_name = ".ftcfg.activity_rooms_cfg.red_num" -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.number = 3 -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.index = 2 -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.label = 2 -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.has_default_value = false -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.default_value = 0 -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.type = 5 -ACTIVITY_ROOMS_CFG_RED_NUM_FIELD.cpp_type = 1 - -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.name = "blue_num" -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.full_name = ".ftcfg.activity_rooms_cfg.blue_num" -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.number = 4 -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.index = 3 -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.label = 2 -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.has_default_value = false -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.default_value = 0 -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.type = 5 -ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD.cpp_type = 1 - -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.name = "min_level" -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.full_name = ".ftcfg.activity_rooms_cfg.min_level" -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.number = 5 -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.index = 4 -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.label = 2 -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.has_default_value = false -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.default_value = 0 -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.type = 5 -ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD.cpp_type = 1 - -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.name = "max_level" -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.full_name = ".ftcfg.activity_rooms_cfg.max_level" -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.number = 6 -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.index = 5 -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.label = 2 -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.has_default_value = false -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.default_value = 0 -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.type = 5 -ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD.cpp_type = 1 - -ACTIVITY_ROOMS_CFG.name = "activity_rooms_cfg" -ACTIVITY_ROOMS_CFG.full_name = ".ftcfg.activity_rooms_cfg" -ACTIVITY_ROOMS_CFG.nested_types = {} -ACTIVITY_ROOMS_CFG.enum_types = {} -ACTIVITY_ROOMS_CFG.fields = {ACTIVITY_ROOMS_CFG_ID_FIELD, ACTIVITY_ROOMS_CFG_AREA_ID_FIELD, ACTIVITY_ROOMS_CFG_RED_NUM_FIELD, ACTIVITY_ROOMS_CFG_BLUE_NUM_FIELD, ACTIVITY_ROOMS_CFG_MIN_LEVEL_FIELD, ACTIVITY_ROOMS_CFG_MAX_LEVEL_FIELD} -ACTIVITY_ROOMS_CFG.is_extendable = false -ACTIVITY_ROOMS_CFG.extensions = {} -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.name = "items" -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.activity_rooms_cfgs.items" -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.number = 1 -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.index = 0 -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.label = 3 -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.has_default_value = false -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.default_value = {} -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.message_type = ACTIVITY_ROOMS_CFG -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.type = 11 -ACTIVITY_ROOMS_CFGS_ITEMS_FIELD.cpp_type = 10 - -ACTIVITY_ROOMS_CFGS.name = "activity_rooms_cfgs" -ACTIVITY_ROOMS_CFGS.full_name = ".ftcfg.activity_rooms_cfgs" -ACTIVITY_ROOMS_CFGS.nested_types = {} -ACTIVITY_ROOMS_CFGS.enum_types = {} -ACTIVITY_ROOMS_CFGS.fields = {ACTIVITY_ROOMS_CFGS_ITEMS_FIELD} -ACTIVITY_ROOMS_CFGS.is_extendable = false -ACTIVITY_ROOMS_CFGS.extensions = {} -GROW_POINT_CFG_ID_FIELD.name = "id" -GROW_POINT_CFG_ID_FIELD.full_name = ".ftcfg.grow_point_cfg.id" -GROW_POINT_CFG_ID_FIELD.number = 1 -GROW_POINT_CFG_ID_FIELD.index = 0 -GROW_POINT_CFG_ID_FIELD.label = 2 -GROW_POINT_CFG_ID_FIELD.has_default_value = false -GROW_POINT_CFG_ID_FIELD.default_value = 0 -GROW_POINT_CFG_ID_FIELD.type = 5 -GROW_POINT_CFG_ID_FIELD.cpp_type = 1 - -GROW_POINT_CFG_NAME_FIELD.name = "name" -GROW_POINT_CFG_NAME_FIELD.full_name = ".ftcfg.grow_point_cfg.name" -GROW_POINT_CFG_NAME_FIELD.number = 2 -GROW_POINT_CFG_NAME_FIELD.index = 1 -GROW_POINT_CFG_NAME_FIELD.label = 2 -GROW_POINT_CFG_NAME_FIELD.has_default_value = false -GROW_POINT_CFG_NAME_FIELD.default_value = 0 -GROW_POINT_CFG_NAME_FIELD.type = 5 -GROW_POINT_CFG_NAME_FIELD.cpp_type = 1 - -GROW_POINT_CFG_MODULE_FIELD.name = "module" -GROW_POINT_CFG_MODULE_FIELD.full_name = ".ftcfg.grow_point_cfg.module" -GROW_POINT_CFG_MODULE_FIELD.number = 3 -GROW_POINT_CFG_MODULE_FIELD.index = 2 -GROW_POINT_CFG_MODULE_FIELD.label = 2 -GROW_POINT_CFG_MODULE_FIELD.has_default_value = false -GROW_POINT_CFG_MODULE_FIELD.default_value = 0 -GROW_POINT_CFG_MODULE_FIELD.type = 5 -GROW_POINT_CFG_MODULE_FIELD.cpp_type = 1 - -GROW_POINT_CFG_DESC_FIELD.name = "desc" -GROW_POINT_CFG_DESC_FIELD.full_name = ".ftcfg.grow_point_cfg.desc" -GROW_POINT_CFG_DESC_FIELD.number = 4 -GROW_POINT_CFG_DESC_FIELD.index = 3 -GROW_POINT_CFG_DESC_FIELD.label = 2 -GROW_POINT_CFG_DESC_FIELD.has_default_value = false -GROW_POINT_CFG_DESC_FIELD.default_value = 0 -GROW_POINT_CFG_DESC_FIELD.type = 5 -GROW_POINT_CFG_DESC_FIELD.cpp_type = 1 - -GROW_POINT_CFG_MAP_ID_FIELD.name = "map_id" -GROW_POINT_CFG_MAP_ID_FIELD.full_name = ".ftcfg.grow_point_cfg.map_id" -GROW_POINT_CFG_MAP_ID_FIELD.number = 5 -GROW_POINT_CFG_MAP_ID_FIELD.index = 4 -GROW_POINT_CFG_MAP_ID_FIELD.label = 2 -GROW_POINT_CFG_MAP_ID_FIELD.has_default_value = false -GROW_POINT_CFG_MAP_ID_FIELD.default_value = 0 -GROW_POINT_CFG_MAP_ID_FIELD.type = 5 -GROW_POINT_CFG_MAP_ID_FIELD.cpp_type = 1 - -GROW_POINT_CFG_POS_X_FIELD.name = "pos_x" -GROW_POINT_CFG_POS_X_FIELD.full_name = ".ftcfg.grow_point_cfg.pos_x" -GROW_POINT_CFG_POS_X_FIELD.number = 6 -GROW_POINT_CFG_POS_X_FIELD.index = 5 -GROW_POINT_CFG_POS_X_FIELD.label = 2 -GROW_POINT_CFG_POS_X_FIELD.has_default_value = false -GROW_POINT_CFG_POS_X_FIELD.default_value = 0.0 -GROW_POINT_CFG_POS_X_FIELD.type = 2 -GROW_POINT_CFG_POS_X_FIELD.cpp_type = 6 - -GROW_POINT_CFG_POS_Y_FIELD.name = "pos_y" -GROW_POINT_CFG_POS_Y_FIELD.full_name = ".ftcfg.grow_point_cfg.pos_y" -GROW_POINT_CFG_POS_Y_FIELD.number = 7 -GROW_POINT_CFG_POS_Y_FIELD.index = 6 -GROW_POINT_CFG_POS_Y_FIELD.label = 2 -GROW_POINT_CFG_POS_Y_FIELD.has_default_value = false -GROW_POINT_CFG_POS_Y_FIELD.default_value = 0.0 -GROW_POINT_CFG_POS_Y_FIELD.type = 2 -GROW_POINT_CFG_POS_Y_FIELD.cpp_type = 6 - -GROW_POINT_CFG_POS_Z_FIELD.name = "pos_z" -GROW_POINT_CFG_POS_Z_FIELD.full_name = ".ftcfg.grow_point_cfg.pos_z" -GROW_POINT_CFG_POS_Z_FIELD.number = 8 -GROW_POINT_CFG_POS_Z_FIELD.index = 7 -GROW_POINT_CFG_POS_Z_FIELD.label = 2 -GROW_POINT_CFG_POS_Z_FIELD.has_default_value = false -GROW_POINT_CFG_POS_Z_FIELD.default_value = 0.0 -GROW_POINT_CFG_POS_Z_FIELD.type = 2 -GROW_POINT_CFG_POS_Z_FIELD.cpp_type = 6 - -GROW_POINT_CFG_MAX_COUNT_FIELD.name = "max_count" -GROW_POINT_CFG_MAX_COUNT_FIELD.full_name = ".ftcfg.grow_point_cfg.max_count" -GROW_POINT_CFG_MAX_COUNT_FIELD.number = 9 -GROW_POINT_CFG_MAX_COUNT_FIELD.index = 8 -GROW_POINT_CFG_MAX_COUNT_FIELD.label = 2 -GROW_POINT_CFG_MAX_COUNT_FIELD.has_default_value = false -GROW_POINT_CFG_MAX_COUNT_FIELD.default_value = 0 -GROW_POINT_CFG_MAX_COUNT_FIELD.type = 5 -GROW_POINT_CFG_MAX_COUNT_FIELD.cpp_type = 1 - -GROW_POINT_CFG_SHOW_COUNT_FIELD.name = "show_count" -GROW_POINT_CFG_SHOW_COUNT_FIELD.full_name = ".ftcfg.grow_point_cfg.show_count" -GROW_POINT_CFG_SHOW_COUNT_FIELD.number = 10 -GROW_POINT_CFG_SHOW_COUNT_FIELD.index = 9 -GROW_POINT_CFG_SHOW_COUNT_FIELD.label = 2 -GROW_POINT_CFG_SHOW_COUNT_FIELD.has_default_value = false -GROW_POINT_CFG_SHOW_COUNT_FIELD.default_value = false -GROW_POINT_CFG_SHOW_COUNT_FIELD.type = 8 -GROW_POINT_CFG_SHOW_COUNT_FIELD.cpp_type = 7 - -GROW_POINT_CFG_QUALITY_FIELD.name = "quality" -GROW_POINT_CFG_QUALITY_FIELD.full_name = ".ftcfg.grow_point_cfg.quality" -GROW_POINT_CFG_QUALITY_FIELD.number = 11 -GROW_POINT_CFG_QUALITY_FIELD.index = 10 -GROW_POINT_CFG_QUALITY_FIELD.label = 2 -GROW_POINT_CFG_QUALITY_FIELD.has_default_value = false -GROW_POINT_CFG_QUALITY_FIELD.default_value = 0 -GROW_POINT_CFG_QUALITY_FIELD.type = 5 -GROW_POINT_CFG_QUALITY_FIELD.cpp_type = 1 - -GROW_POINT_CFG_SKILL_INDEX_FIELD.name = "skill_index" -GROW_POINT_CFG_SKILL_INDEX_FIELD.full_name = ".ftcfg.grow_point_cfg.skill_index" -GROW_POINT_CFG_SKILL_INDEX_FIELD.number = 12 -GROW_POINT_CFG_SKILL_INDEX_FIELD.index = 11 -GROW_POINT_CFG_SKILL_INDEX_FIELD.label = 2 -GROW_POINT_CFG_SKILL_INDEX_FIELD.has_default_value = false -GROW_POINT_CFG_SKILL_INDEX_FIELD.default_value = 0 -GROW_POINT_CFG_SKILL_INDEX_FIELD.type = 5 -GROW_POINT_CFG_SKILL_INDEX_FIELD.cpp_type = 1 - -GROW_POINT_CFG.name = "grow_point_cfg" -GROW_POINT_CFG.full_name = ".ftcfg.grow_point_cfg" -GROW_POINT_CFG.nested_types = {} -GROW_POINT_CFG.enum_types = {} -GROW_POINT_CFG.fields = {GROW_POINT_CFG_ID_FIELD, GROW_POINT_CFG_NAME_FIELD, GROW_POINT_CFG_MODULE_FIELD, GROW_POINT_CFG_DESC_FIELD, GROW_POINT_CFG_MAP_ID_FIELD, GROW_POINT_CFG_POS_X_FIELD, GROW_POINT_CFG_POS_Y_FIELD, GROW_POINT_CFG_POS_Z_FIELD, GROW_POINT_CFG_MAX_COUNT_FIELD, GROW_POINT_CFG_SHOW_COUNT_FIELD, GROW_POINT_CFG_QUALITY_FIELD, GROW_POINT_CFG_SKILL_INDEX_FIELD} -GROW_POINT_CFG.is_extendable = false -GROW_POINT_CFG.extensions = {} -GROW_POINT_CFGS_ITEMS_FIELD.name = "items" -GROW_POINT_CFGS_ITEMS_FIELD.full_name = ".ftcfg.grow_point_cfgs.items" -GROW_POINT_CFGS_ITEMS_FIELD.number = 1 -GROW_POINT_CFGS_ITEMS_FIELD.index = 0 -GROW_POINT_CFGS_ITEMS_FIELD.label = 3 -GROW_POINT_CFGS_ITEMS_FIELD.has_default_value = false -GROW_POINT_CFGS_ITEMS_FIELD.default_value = {} -GROW_POINT_CFGS_ITEMS_FIELD.message_type = GROW_POINT_CFG -GROW_POINT_CFGS_ITEMS_FIELD.type = 11 -GROW_POINT_CFGS_ITEMS_FIELD.cpp_type = 10 - -GROW_POINT_CFGS.name = "grow_point_cfgs" -GROW_POINT_CFGS.full_name = ".ftcfg.grow_point_cfgs" -GROW_POINT_CFGS.nested_types = {} -GROW_POINT_CFGS.enum_types = {} -GROW_POINT_CFGS.fields = {GROW_POINT_CFGS_ITEMS_FIELD} -GROW_POINT_CFGS.is_extendable = false -GROW_POINT_CFGS.extensions = {} -ERRORCODE_NOTIFY_CFG_ID_FIELD.name = "id" -ERRORCODE_NOTIFY_CFG_ID_FIELD.full_name = ".ftcfg.errorcode_notify_cfg.id" -ERRORCODE_NOTIFY_CFG_ID_FIELD.number = 1 -ERRORCODE_NOTIFY_CFG_ID_FIELD.index = 0 -ERRORCODE_NOTIFY_CFG_ID_FIELD.label = 2 -ERRORCODE_NOTIFY_CFG_ID_FIELD.has_default_value = false -ERRORCODE_NOTIFY_CFG_ID_FIELD.default_value = 0 -ERRORCODE_NOTIFY_CFG_ID_FIELD.type = 5 -ERRORCODE_NOTIFY_CFG_ID_FIELD.cpp_type = 1 - -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.name = "content" -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.full_name = ".ftcfg.errorcode_notify_cfg.content" -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.number = 2 -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.index = 1 -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.label = 2 -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.has_default_value = false -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.default_value = "" -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.type = 9 -ERRORCODE_NOTIFY_CFG_CONTENT_FIELD.cpp_type = 9 - -ERRORCODE_NOTIFY_CFG.name = "errorcode_notify_cfg" -ERRORCODE_NOTIFY_CFG.full_name = ".ftcfg.errorcode_notify_cfg" -ERRORCODE_NOTIFY_CFG.nested_types = {} -ERRORCODE_NOTIFY_CFG.enum_types = {} -ERRORCODE_NOTIFY_CFG.fields = {ERRORCODE_NOTIFY_CFG_ID_FIELD, ERRORCODE_NOTIFY_CFG_CONTENT_FIELD} -ERRORCODE_NOTIFY_CFG.is_extendable = false -ERRORCODE_NOTIFY_CFG.extensions = {} -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.name = "items" -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.full_name = ".ftcfg.errorcode_notify_cfgs.items" -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.number = 1 -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.index = 0 -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.label = 3 -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.has_default_value = false -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.default_value = {} -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.message_type = ERRORCODE_NOTIFY_CFG -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.type = 11 -ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD.cpp_type = 10 - -ERRORCODE_NOTIFY_CFGS.name = "errorcode_notify_cfgs" -ERRORCODE_NOTIFY_CFGS.full_name = ".ftcfg.errorcode_notify_cfgs" -ERRORCODE_NOTIFY_CFGS.nested_types = {} -ERRORCODE_NOTIFY_CFGS.enum_types = {} -ERRORCODE_NOTIFY_CFGS.fields = {ERRORCODE_NOTIFY_CFGS_ITEMS_FIELD} -ERRORCODE_NOTIFY_CFGS.is_extendable = false -ERRORCODE_NOTIFY_CFGS.extensions = {} -OPEN_RULES_DATA_CFG_ID_FIELD.name = "id" -OPEN_RULES_DATA_CFG_ID_FIELD.full_name = ".ftcfg.open_rules_data_cfg.id" -OPEN_RULES_DATA_CFG_ID_FIELD.number = 1 -OPEN_RULES_DATA_CFG_ID_FIELD.index = 0 -OPEN_RULES_DATA_CFG_ID_FIELD.label = 2 -OPEN_RULES_DATA_CFG_ID_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_ID_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_ID_FIELD.type = 5 -OPEN_RULES_DATA_CFG_ID_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.name = "open_rules_type" -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.full_name = ".ftcfg.open_rules_data_cfg.open_rules_type" -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.number = 2 -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.index = 1 -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.label = 2 -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.type = 5 -OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.name = "limit_type" -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.full_name = ".ftcfg.open_rules_data_cfg.limit_type" -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.number = 3 -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.index = 2 -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.label = 2 -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.type = 5 -OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.name = "limit_day" -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.full_name = ".ftcfg.open_rules_data_cfg.limit_day" -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.number = 4 -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.index = 3 -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.label = 2 -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.type = 5 -OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.name = "begin_hour" -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.full_name = ".ftcfg.open_rules_data_cfg.begin_hour" -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.number = 5 -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.index = 4 -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.label = 2 -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.type = 5 -OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.name = "begin_min" -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.full_name = ".ftcfg.open_rules_data_cfg.begin_min" -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.number = 6 -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.index = 5 -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.label = 2 -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.type = 5 -OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.name = "end_hour" -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.full_name = ".ftcfg.open_rules_data_cfg.end_hour" -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.number = 7 -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.index = 6 -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.label = 2 -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.type = 5 -OPEN_RULES_DATA_CFG_END_HOUR_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG_END_MIN_FIELD.name = "end_min" -OPEN_RULES_DATA_CFG_END_MIN_FIELD.full_name = ".ftcfg.open_rules_data_cfg.end_min" -OPEN_RULES_DATA_CFG_END_MIN_FIELD.number = 8 -OPEN_RULES_DATA_CFG_END_MIN_FIELD.index = 7 -OPEN_RULES_DATA_CFG_END_MIN_FIELD.label = 2 -OPEN_RULES_DATA_CFG_END_MIN_FIELD.has_default_value = false -OPEN_RULES_DATA_CFG_END_MIN_FIELD.default_value = 0 -OPEN_RULES_DATA_CFG_END_MIN_FIELD.type = 5 -OPEN_RULES_DATA_CFG_END_MIN_FIELD.cpp_type = 1 - -OPEN_RULES_DATA_CFG.name = "open_rules_data_cfg" -OPEN_RULES_DATA_CFG.full_name = ".ftcfg.open_rules_data_cfg" -OPEN_RULES_DATA_CFG.nested_types = {} -OPEN_RULES_DATA_CFG.enum_types = {} -OPEN_RULES_DATA_CFG.fields = {OPEN_RULES_DATA_CFG_ID_FIELD, OPEN_RULES_DATA_CFG_OPEN_RULES_TYPE_FIELD, OPEN_RULES_DATA_CFG_LIMIT_TYPE_FIELD, OPEN_RULES_DATA_CFG_LIMIT_DAY_FIELD, OPEN_RULES_DATA_CFG_BEGIN_HOUR_FIELD, OPEN_RULES_DATA_CFG_BEGIN_MIN_FIELD, OPEN_RULES_DATA_CFG_END_HOUR_FIELD, OPEN_RULES_DATA_CFG_END_MIN_FIELD} -OPEN_RULES_DATA_CFG.is_extendable = false -OPEN_RULES_DATA_CFG.extensions = {} -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.name = "items" -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.full_name = ".ftcfg.open_rules_data_cfgs.items" -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.number = 1 -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.index = 0 -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.label = 3 -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.has_default_value = false -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.default_value = {} -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.message_type = OPEN_RULES_DATA_CFG -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.type = 11 -OPEN_RULES_DATA_CFGS_ITEMS_FIELD.cpp_type = 10 - -OPEN_RULES_DATA_CFGS.name = "open_rules_data_cfgs" -OPEN_RULES_DATA_CFGS.full_name = ".ftcfg.open_rules_data_cfgs" -OPEN_RULES_DATA_CFGS.nested_types = {} -OPEN_RULES_DATA_CFGS.enum_types = {} -OPEN_RULES_DATA_CFGS.fields = {OPEN_RULES_DATA_CFGS_ITEMS_FIELD} -OPEN_RULES_DATA_CFGS.is_extendable = false -OPEN_RULES_DATA_CFGS.extensions = {} -CAMPBOSS_CFG_ID_FIELD.name = "id" -CAMPBOSS_CFG_ID_FIELD.full_name = ".ftcfg.campboss_cfg.id" -CAMPBOSS_CFG_ID_FIELD.number = 1 -CAMPBOSS_CFG_ID_FIELD.index = 0 -CAMPBOSS_CFG_ID_FIELD.label = 2 -CAMPBOSS_CFG_ID_FIELD.has_default_value = false -CAMPBOSS_CFG_ID_FIELD.default_value = 0 -CAMPBOSS_CFG_ID_FIELD.type = 5 -CAMPBOSS_CFG_ID_FIELD.cpp_type = 1 - -CAMPBOSS_CFG_NEED_LEVEL_FIELD.name = "need_level" -CAMPBOSS_CFG_NEED_LEVEL_FIELD.full_name = ".ftcfg.campboss_cfg.need_level" -CAMPBOSS_CFG_NEED_LEVEL_FIELD.number = 2 -CAMPBOSS_CFG_NEED_LEVEL_FIELD.index = 1 -CAMPBOSS_CFG_NEED_LEVEL_FIELD.label = 2 -CAMPBOSS_CFG_NEED_LEVEL_FIELD.has_default_value = false -CAMPBOSS_CFG_NEED_LEVEL_FIELD.default_value = 0 -CAMPBOSS_CFG_NEED_LEVEL_FIELD.type = 5 -CAMPBOSS_CFG_NEED_LEVEL_FIELD.cpp_type = 1 - -CAMPBOSS_CFG_SCENE_ID_FIELD.name = "scene_id" -CAMPBOSS_CFG_SCENE_ID_FIELD.full_name = ".ftcfg.campboss_cfg.scene_id" -CAMPBOSS_CFG_SCENE_ID_FIELD.number = 3 -CAMPBOSS_CFG_SCENE_ID_FIELD.index = 2 -CAMPBOSS_CFG_SCENE_ID_FIELD.label = 2 -CAMPBOSS_CFG_SCENE_ID_FIELD.has_default_value = false -CAMPBOSS_CFG_SCENE_ID_FIELD.default_value = 0 -CAMPBOSS_CFG_SCENE_ID_FIELD.type = 5 -CAMPBOSS_CFG_SCENE_ID_FIELD.cpp_type = 1 - -CAMPBOSS_CFG_MAP_ID_FIELD.name = "map_id" -CAMPBOSS_CFG_MAP_ID_FIELD.full_name = ".ftcfg.campboss_cfg.map_id" -CAMPBOSS_CFG_MAP_ID_FIELD.number = 4 -CAMPBOSS_CFG_MAP_ID_FIELD.index = 3 -CAMPBOSS_CFG_MAP_ID_FIELD.label = 2 -CAMPBOSS_CFG_MAP_ID_FIELD.has_default_value = false -CAMPBOSS_CFG_MAP_ID_FIELD.default_value = 0 -CAMPBOSS_CFG_MAP_ID_FIELD.type = 5 -CAMPBOSS_CFG_MAP_ID_FIELD.cpp_type = 1 - -CAMPBOSS_CFG_X_POINT_FIELD.name = "x_point" -CAMPBOSS_CFG_X_POINT_FIELD.full_name = ".ftcfg.campboss_cfg.x_point" -CAMPBOSS_CFG_X_POINT_FIELD.number = 5 -CAMPBOSS_CFG_X_POINT_FIELD.index = 4 -CAMPBOSS_CFG_X_POINT_FIELD.label = 2 -CAMPBOSS_CFG_X_POINT_FIELD.has_default_value = false -CAMPBOSS_CFG_X_POINT_FIELD.default_value = 0.0 -CAMPBOSS_CFG_X_POINT_FIELD.type = 2 -CAMPBOSS_CFG_X_POINT_FIELD.cpp_type = 6 - -CAMPBOSS_CFG_Y_POINT_FIELD.name = "y_point" -CAMPBOSS_CFG_Y_POINT_FIELD.full_name = ".ftcfg.campboss_cfg.y_point" -CAMPBOSS_CFG_Y_POINT_FIELD.number = 6 -CAMPBOSS_CFG_Y_POINT_FIELD.index = 5 -CAMPBOSS_CFG_Y_POINT_FIELD.label = 2 -CAMPBOSS_CFG_Y_POINT_FIELD.has_default_value = false -CAMPBOSS_CFG_Y_POINT_FIELD.default_value = 0.0 -CAMPBOSS_CFG_Y_POINT_FIELD.type = 2 -CAMPBOSS_CFG_Y_POINT_FIELD.cpp_type = 6 - -CAMPBOSS_CFG_Z_POINT_FIELD.name = "z_point" -CAMPBOSS_CFG_Z_POINT_FIELD.full_name = ".ftcfg.campboss_cfg.z_point" -CAMPBOSS_CFG_Z_POINT_FIELD.number = 7 -CAMPBOSS_CFG_Z_POINT_FIELD.index = 6 -CAMPBOSS_CFG_Z_POINT_FIELD.label = 2 -CAMPBOSS_CFG_Z_POINT_FIELD.has_default_value = false -CAMPBOSS_CFG_Z_POINT_FIELD.default_value = 0.0 -CAMPBOSS_CFG_Z_POINT_FIELD.type = 2 -CAMPBOSS_CFG_Z_POINT_FIELD.cpp_type = 6 - -CAMPBOSS_CFG.name = "campboss_cfg" -CAMPBOSS_CFG.full_name = ".ftcfg.campboss_cfg" -CAMPBOSS_CFG.nested_types = {} -CAMPBOSS_CFG.enum_types = {} -CAMPBOSS_CFG.fields = {CAMPBOSS_CFG_ID_FIELD, CAMPBOSS_CFG_NEED_LEVEL_FIELD, CAMPBOSS_CFG_SCENE_ID_FIELD, CAMPBOSS_CFG_MAP_ID_FIELD, CAMPBOSS_CFG_X_POINT_FIELD, CAMPBOSS_CFG_Y_POINT_FIELD, CAMPBOSS_CFG_Z_POINT_FIELD} -CAMPBOSS_CFG.is_extendable = false -CAMPBOSS_CFG.extensions = {} -CAMPBOSS_CFGS_ITEMS_FIELD.name = "items" -CAMPBOSS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.campboss_cfgs.items" -CAMPBOSS_CFGS_ITEMS_FIELD.number = 1 -CAMPBOSS_CFGS_ITEMS_FIELD.index = 0 -CAMPBOSS_CFGS_ITEMS_FIELD.label = 3 -CAMPBOSS_CFGS_ITEMS_FIELD.has_default_value = false -CAMPBOSS_CFGS_ITEMS_FIELD.default_value = {} -CAMPBOSS_CFGS_ITEMS_FIELD.message_type = CAMPBOSS_CFG -CAMPBOSS_CFGS_ITEMS_FIELD.type = 11 -CAMPBOSS_CFGS_ITEMS_FIELD.cpp_type = 10 - -CAMPBOSS_CFGS.name = "campboss_cfgs" -CAMPBOSS_CFGS.full_name = ".ftcfg.campboss_cfgs" -CAMPBOSS_CFGS.nested_types = {} -CAMPBOSS_CFGS.enum_types = {} -CAMPBOSS_CFGS.fields = {CAMPBOSS_CFGS_ITEMS_FIELD} -CAMPBOSS_CFGS.is_extendable = false -CAMPBOSS_CFGS.extensions = {} -TIPS_CFG_ID_FIELD.name = "id" -TIPS_CFG_ID_FIELD.full_name = ".ftcfg.tips_cfg.id" -TIPS_CFG_ID_FIELD.number = 1 -TIPS_CFG_ID_FIELD.index = 0 -TIPS_CFG_ID_FIELD.label = 2 -TIPS_CFG_ID_FIELD.has_default_value = false -TIPS_CFG_ID_FIELD.default_value = 0 -TIPS_CFG_ID_FIELD.type = 5 -TIPS_CFG_ID_FIELD.cpp_type = 1 - -TIPS_CFG_TYPE_FIELD.name = "type" -TIPS_CFG_TYPE_FIELD.full_name = ".ftcfg.tips_cfg.type" -TIPS_CFG_TYPE_FIELD.number = 2 -TIPS_CFG_TYPE_FIELD.index = 1 -TIPS_CFG_TYPE_FIELD.label = 2 -TIPS_CFG_TYPE_FIELD.has_default_value = false -TIPS_CFG_TYPE_FIELD.default_value = nil -TIPS_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ESYSTEMCHATTYPE -TIPS_CFG_TYPE_FIELD.type = 14 -TIPS_CFG_TYPE_FIELD.cpp_type = 8 - -TIPS_CFG_CONTENT_FIELD.name = "content" -TIPS_CFG_CONTENT_FIELD.full_name = ".ftcfg.tips_cfg.content" -TIPS_CFG_CONTENT_FIELD.number = 3 -TIPS_CFG_CONTENT_FIELD.index = 2 -TIPS_CFG_CONTENT_FIELD.label = 2 -TIPS_CFG_CONTENT_FIELD.has_default_value = false -TIPS_CFG_CONTENT_FIELD.default_value = "" -TIPS_CFG_CONTENT_FIELD.type = 9 -TIPS_CFG_CONTENT_FIELD.cpp_type = 9 - -TIPS_CFG.name = "tips_cfg" -TIPS_CFG.full_name = ".ftcfg.tips_cfg" -TIPS_CFG.nested_types = {} -TIPS_CFG.enum_types = {} -TIPS_CFG.fields = {TIPS_CFG_ID_FIELD, TIPS_CFG_TYPE_FIELD, TIPS_CFG_CONTENT_FIELD} -TIPS_CFG.is_extendable = false -TIPS_CFG.extensions = {} -TIPS_CFGS_ITEMS_FIELD.name = "items" -TIPS_CFGS_ITEMS_FIELD.full_name = ".ftcfg.tips_cfgs.items" -TIPS_CFGS_ITEMS_FIELD.number = 1 -TIPS_CFGS_ITEMS_FIELD.index = 0 -TIPS_CFGS_ITEMS_FIELD.label = 3 -TIPS_CFGS_ITEMS_FIELD.has_default_value = false -TIPS_CFGS_ITEMS_FIELD.default_value = {} -TIPS_CFGS_ITEMS_FIELD.message_type = TIPS_CFG -TIPS_CFGS_ITEMS_FIELD.type = 11 -TIPS_CFGS_ITEMS_FIELD.cpp_type = 10 - -TIPS_CFGS.name = "tips_cfgs" -TIPS_CFGS.full_name = ".ftcfg.tips_cfgs" -TIPS_CFGS.nested_types = {} -TIPS_CFGS.enum_types = {} -TIPS_CFGS.fields = {TIPS_CFGS_ITEMS_FIELD} -TIPS_CFGS.is_extendable = false -TIPS_CFGS.extensions = {} -CAMP_RELATION_CFG_ID_FIELD.name = "id" -CAMP_RELATION_CFG_ID_FIELD.full_name = ".ftcfg.camp_relation_cfg.id" -CAMP_RELATION_CFG_ID_FIELD.number = 1 -CAMP_RELATION_CFG_ID_FIELD.index = 0 -CAMP_RELATION_CFG_ID_FIELD.label = 2 -CAMP_RELATION_CFG_ID_FIELD.has_default_value = false -CAMP_RELATION_CFG_ID_FIELD.default_value = 0 -CAMP_RELATION_CFG_ID_FIELD.type = 5 -CAMP_RELATION_CFG_ID_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_SCRIP_FIELD.name = "scrip" -CAMP_RELATION_CFG_SCRIP_FIELD.full_name = ".ftcfg.camp_relation_cfg.scrip" -CAMP_RELATION_CFG_SCRIP_FIELD.number = 2 -CAMP_RELATION_CFG_SCRIP_FIELD.index = 1 -CAMP_RELATION_CFG_SCRIP_FIELD.label = 2 -CAMP_RELATION_CFG_SCRIP_FIELD.has_default_value = false -CAMP_RELATION_CFG_SCRIP_FIELD.default_value = "" -CAMP_RELATION_CFG_SCRIP_FIELD.type = 9 -CAMP_RELATION_CFG_SCRIP_FIELD.cpp_type = 9 - -CAMP_RELATION_CFG_TYPE_FIELD.name = "type" -CAMP_RELATION_CFG_TYPE_FIELD.full_name = ".ftcfg.camp_relation_cfg.type" -CAMP_RELATION_CFG_TYPE_FIELD.number = 3 -CAMP_RELATION_CFG_TYPE_FIELD.index = 2 -CAMP_RELATION_CFG_TYPE_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.name = "type_scrip" -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.full_name = ".ftcfg.camp_relation_cfg.type_scrip" -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.number = 4 -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.index = 3 -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.default_value = "" -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.type = 9 -CAMP_RELATION_CFG_TYPE_SCRIP_FIELD.cpp_type = 9 - -CAMP_RELATION_CFG_TYPE0_FIELD.name = "type0" -CAMP_RELATION_CFG_TYPE0_FIELD.full_name = ".ftcfg.camp_relation_cfg.type0" -CAMP_RELATION_CFG_TYPE0_FIELD.number = 5 -CAMP_RELATION_CFG_TYPE0_FIELD.index = 4 -CAMP_RELATION_CFG_TYPE0_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE0_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE0_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE0_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE0_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE1_FIELD.name = "type1" -CAMP_RELATION_CFG_TYPE1_FIELD.full_name = ".ftcfg.camp_relation_cfg.type1" -CAMP_RELATION_CFG_TYPE1_FIELD.number = 6 -CAMP_RELATION_CFG_TYPE1_FIELD.index = 5 -CAMP_RELATION_CFG_TYPE1_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE1_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE1_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE1_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE1_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE2_FIELD.name = "type2" -CAMP_RELATION_CFG_TYPE2_FIELD.full_name = ".ftcfg.camp_relation_cfg.type2" -CAMP_RELATION_CFG_TYPE2_FIELD.number = 7 -CAMP_RELATION_CFG_TYPE2_FIELD.index = 6 -CAMP_RELATION_CFG_TYPE2_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE2_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE2_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE2_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE2_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE3_FIELD.name = "type3" -CAMP_RELATION_CFG_TYPE3_FIELD.full_name = ".ftcfg.camp_relation_cfg.type3" -CAMP_RELATION_CFG_TYPE3_FIELD.number = 8 -CAMP_RELATION_CFG_TYPE3_FIELD.index = 7 -CAMP_RELATION_CFG_TYPE3_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE3_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE3_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE3_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE3_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE4_FIELD.name = "type4" -CAMP_RELATION_CFG_TYPE4_FIELD.full_name = ".ftcfg.camp_relation_cfg.type4" -CAMP_RELATION_CFG_TYPE4_FIELD.number = 9 -CAMP_RELATION_CFG_TYPE4_FIELD.index = 8 -CAMP_RELATION_CFG_TYPE4_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE4_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE4_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE4_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE4_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE5_FIELD.name = "type5" -CAMP_RELATION_CFG_TYPE5_FIELD.full_name = ".ftcfg.camp_relation_cfg.type5" -CAMP_RELATION_CFG_TYPE5_FIELD.number = 10 -CAMP_RELATION_CFG_TYPE5_FIELD.index = 9 -CAMP_RELATION_CFG_TYPE5_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE5_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE5_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE5_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE5_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE6_FIELD.name = "type6" -CAMP_RELATION_CFG_TYPE6_FIELD.full_name = ".ftcfg.camp_relation_cfg.type6" -CAMP_RELATION_CFG_TYPE6_FIELD.number = 11 -CAMP_RELATION_CFG_TYPE6_FIELD.index = 10 -CAMP_RELATION_CFG_TYPE6_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE6_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE6_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE6_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE6_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE7_FIELD.name = "type7" -CAMP_RELATION_CFG_TYPE7_FIELD.full_name = ".ftcfg.camp_relation_cfg.type7" -CAMP_RELATION_CFG_TYPE7_FIELD.number = 12 -CAMP_RELATION_CFG_TYPE7_FIELD.index = 11 -CAMP_RELATION_CFG_TYPE7_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE7_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE7_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE7_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE7_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE8_FIELD.name = "type8" -CAMP_RELATION_CFG_TYPE8_FIELD.full_name = ".ftcfg.camp_relation_cfg.type8" -CAMP_RELATION_CFG_TYPE8_FIELD.number = 13 -CAMP_RELATION_CFG_TYPE8_FIELD.index = 12 -CAMP_RELATION_CFG_TYPE8_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE8_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE8_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE8_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE8_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE9_FIELD.name = "type9" -CAMP_RELATION_CFG_TYPE9_FIELD.full_name = ".ftcfg.camp_relation_cfg.type9" -CAMP_RELATION_CFG_TYPE9_FIELD.number = 14 -CAMP_RELATION_CFG_TYPE9_FIELD.index = 13 -CAMP_RELATION_CFG_TYPE9_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE9_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE9_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE9_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE9_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE10_FIELD.name = "type10" -CAMP_RELATION_CFG_TYPE10_FIELD.full_name = ".ftcfg.camp_relation_cfg.type10" -CAMP_RELATION_CFG_TYPE10_FIELD.number = 15 -CAMP_RELATION_CFG_TYPE10_FIELD.index = 14 -CAMP_RELATION_CFG_TYPE10_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE10_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE10_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE10_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE10_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE11_FIELD.name = "type11" -CAMP_RELATION_CFG_TYPE11_FIELD.full_name = ".ftcfg.camp_relation_cfg.type11" -CAMP_RELATION_CFG_TYPE11_FIELD.number = 16 -CAMP_RELATION_CFG_TYPE11_FIELD.index = 15 -CAMP_RELATION_CFG_TYPE11_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE11_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE11_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE11_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE11_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE12_FIELD.name = "type12" -CAMP_RELATION_CFG_TYPE12_FIELD.full_name = ".ftcfg.camp_relation_cfg.type12" -CAMP_RELATION_CFG_TYPE12_FIELD.number = 17 -CAMP_RELATION_CFG_TYPE12_FIELD.index = 16 -CAMP_RELATION_CFG_TYPE12_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE12_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE12_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE12_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE12_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE13_FIELD.name = "type13" -CAMP_RELATION_CFG_TYPE13_FIELD.full_name = ".ftcfg.camp_relation_cfg.type13" -CAMP_RELATION_CFG_TYPE13_FIELD.number = 18 -CAMP_RELATION_CFG_TYPE13_FIELD.index = 17 -CAMP_RELATION_CFG_TYPE13_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE13_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE13_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE13_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE13_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE14_FIELD.name = "type14" -CAMP_RELATION_CFG_TYPE14_FIELD.full_name = ".ftcfg.camp_relation_cfg.type14" -CAMP_RELATION_CFG_TYPE14_FIELD.number = 19 -CAMP_RELATION_CFG_TYPE14_FIELD.index = 18 -CAMP_RELATION_CFG_TYPE14_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE14_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE14_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE14_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE14_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG_TYPE15_FIELD.name = "type15" -CAMP_RELATION_CFG_TYPE15_FIELD.full_name = ".ftcfg.camp_relation_cfg.type15" -CAMP_RELATION_CFG_TYPE15_FIELD.number = 20 -CAMP_RELATION_CFG_TYPE15_FIELD.index = 19 -CAMP_RELATION_CFG_TYPE15_FIELD.label = 2 -CAMP_RELATION_CFG_TYPE15_FIELD.has_default_value = false -CAMP_RELATION_CFG_TYPE15_FIELD.default_value = 0 -CAMP_RELATION_CFG_TYPE15_FIELD.type = 5 -CAMP_RELATION_CFG_TYPE15_FIELD.cpp_type = 1 - -CAMP_RELATION_CFG.name = "camp_relation_cfg" -CAMP_RELATION_CFG.full_name = ".ftcfg.camp_relation_cfg" -CAMP_RELATION_CFG.nested_types = {} -CAMP_RELATION_CFG.enum_types = {} -CAMP_RELATION_CFG.fields = {CAMP_RELATION_CFG_ID_FIELD, CAMP_RELATION_CFG_SCRIP_FIELD, CAMP_RELATION_CFG_TYPE_FIELD, CAMP_RELATION_CFG_TYPE_SCRIP_FIELD, CAMP_RELATION_CFG_TYPE0_FIELD, CAMP_RELATION_CFG_TYPE1_FIELD, CAMP_RELATION_CFG_TYPE2_FIELD, CAMP_RELATION_CFG_TYPE3_FIELD, CAMP_RELATION_CFG_TYPE4_FIELD, CAMP_RELATION_CFG_TYPE5_FIELD, CAMP_RELATION_CFG_TYPE6_FIELD, CAMP_RELATION_CFG_TYPE7_FIELD, CAMP_RELATION_CFG_TYPE8_FIELD, CAMP_RELATION_CFG_TYPE9_FIELD, CAMP_RELATION_CFG_TYPE10_FIELD, CAMP_RELATION_CFG_TYPE11_FIELD, CAMP_RELATION_CFG_TYPE12_FIELD, CAMP_RELATION_CFG_TYPE13_FIELD, CAMP_RELATION_CFG_TYPE14_FIELD, CAMP_RELATION_CFG_TYPE15_FIELD} -CAMP_RELATION_CFG.is_extendable = false -CAMP_RELATION_CFG.extensions = {} -CAMP_RELATION_CFGS_ITEMS_FIELD.name = "items" -CAMP_RELATION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.camp_relation_cfgs.items" -CAMP_RELATION_CFGS_ITEMS_FIELD.number = 1 -CAMP_RELATION_CFGS_ITEMS_FIELD.index = 0 -CAMP_RELATION_CFGS_ITEMS_FIELD.label = 3 -CAMP_RELATION_CFGS_ITEMS_FIELD.has_default_value = false -CAMP_RELATION_CFGS_ITEMS_FIELD.default_value = {} -CAMP_RELATION_CFGS_ITEMS_FIELD.message_type = CAMP_RELATION_CFG -CAMP_RELATION_CFGS_ITEMS_FIELD.type = 11 -CAMP_RELATION_CFGS_ITEMS_FIELD.cpp_type = 10 - -CAMP_RELATION_CFGS.name = "camp_relation_cfgs" -CAMP_RELATION_CFGS.full_name = ".ftcfg.camp_relation_cfgs" -CAMP_RELATION_CFGS.nested_types = {} -CAMP_RELATION_CFGS.enum_types = {} -CAMP_RELATION_CFGS.fields = {CAMP_RELATION_CFGS_ITEMS_FIELD} -CAMP_RELATION_CFGS.is_extendable = false -CAMP_RELATION_CFGS.extensions = {} -CAMP_CHANGE_COST_CFG_ID_FIELD.name = "id" -CAMP_CHANGE_COST_CFG_ID_FIELD.full_name = ".ftcfg.camp_change_cost_cfg.id" -CAMP_CHANGE_COST_CFG_ID_FIELD.number = 1 -CAMP_CHANGE_COST_CFG_ID_FIELD.index = 0 -CAMP_CHANGE_COST_CFG_ID_FIELD.label = 2 -CAMP_CHANGE_COST_CFG_ID_FIELD.has_default_value = false -CAMP_CHANGE_COST_CFG_ID_FIELD.default_value = 0 -CAMP_CHANGE_COST_CFG_ID_FIELD.type = 5 -CAMP_CHANGE_COST_CFG_ID_FIELD.cpp_type = 1 - -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.name = "coin_type" -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.full_name = ".ftcfg.camp_change_cost_cfg.coin_type" -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.number = 2 -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.index = 1 -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.label = 3 -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.has_default_value = false -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.default_value = {} -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.type = 5 -CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD.cpp_type = 1 - -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.name = "coin_num" -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.full_name = ".ftcfg.camp_change_cost_cfg.coin_num" -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.number = 3 -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.index = 2 -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.label = 3 -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.has_default_value = false -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.default_value = {} -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.type = 5 -CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD.cpp_type = 1 - -CAMP_CHANGE_COST_CFG.name = "camp_change_cost_cfg" -CAMP_CHANGE_COST_CFG.full_name = ".ftcfg.camp_change_cost_cfg" -CAMP_CHANGE_COST_CFG.nested_types = {} -CAMP_CHANGE_COST_CFG.enum_types = {} -CAMP_CHANGE_COST_CFG.fields = {CAMP_CHANGE_COST_CFG_ID_FIELD, CAMP_CHANGE_COST_CFG_COIN_TYPE_FIELD, CAMP_CHANGE_COST_CFG_COIN_NUM_FIELD} -CAMP_CHANGE_COST_CFG.is_extendable = false -CAMP_CHANGE_COST_CFG.extensions = {} -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.name = "items" -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.full_name = ".ftcfg.camp_change_cost_cfgs.items" -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.number = 1 -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.index = 0 -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.label = 3 -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.has_default_value = false -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.default_value = {} -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.message_type = CAMP_CHANGE_COST_CFG -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.type = 11 -CAMP_CHANGE_COST_CFGS_ITEMS_FIELD.cpp_type = 10 - -CAMP_CHANGE_COST_CFGS.name = "camp_change_cost_cfgs" -CAMP_CHANGE_COST_CFGS.full_name = ".ftcfg.camp_change_cost_cfgs" -CAMP_CHANGE_COST_CFGS.nested_types = {} -CAMP_CHANGE_COST_CFGS.enum_types = {} -CAMP_CHANGE_COST_CFGS.fields = {CAMP_CHANGE_COST_CFGS_ITEMS_FIELD} -CAMP_CHANGE_COST_CFGS.is_extendable = false -CAMP_CHANGE_COST_CFGS.extensions = {} -RANDOMMAN_CFG_NAME0_FIELD.name = "name0" -RANDOMMAN_CFG_NAME0_FIELD.full_name = ".ftcfg.randomman_cfg.name0" -RANDOMMAN_CFG_NAME0_FIELD.number = 1 -RANDOMMAN_CFG_NAME0_FIELD.index = 0 -RANDOMMAN_CFG_NAME0_FIELD.label = 2 -RANDOMMAN_CFG_NAME0_FIELD.has_default_value = false -RANDOMMAN_CFG_NAME0_FIELD.default_value = "" -RANDOMMAN_CFG_NAME0_FIELD.type = 9 -RANDOMMAN_CFG_NAME0_FIELD.cpp_type = 9 - -RANDOMMAN_CFG_NAME1_FIELD.name = "name1" -RANDOMMAN_CFG_NAME1_FIELD.full_name = ".ftcfg.randomman_cfg.name1" -RANDOMMAN_CFG_NAME1_FIELD.number = 2 -RANDOMMAN_CFG_NAME1_FIELD.index = 1 -RANDOMMAN_CFG_NAME1_FIELD.label = 2 -RANDOMMAN_CFG_NAME1_FIELD.has_default_value = false -RANDOMMAN_CFG_NAME1_FIELD.default_value = "" -RANDOMMAN_CFG_NAME1_FIELD.type = 9 -RANDOMMAN_CFG_NAME1_FIELD.cpp_type = 9 - -RANDOMMAN_CFG.name = "randomman_cfg" -RANDOMMAN_CFG.full_name = ".ftcfg.randomman_cfg" -RANDOMMAN_CFG.nested_types = {} -RANDOMMAN_CFG.enum_types = {} -RANDOMMAN_CFG.fields = {RANDOMMAN_CFG_NAME0_FIELD, RANDOMMAN_CFG_NAME1_FIELD} -RANDOMMAN_CFG.is_extendable = false -RANDOMMAN_CFG.extensions = {} -RANDOMMAN_CFGS_ITEMS_FIELD.name = "items" -RANDOMMAN_CFGS_ITEMS_FIELD.full_name = ".ftcfg.randomman_cfgs.items" -RANDOMMAN_CFGS_ITEMS_FIELD.number = 1 -RANDOMMAN_CFGS_ITEMS_FIELD.index = 0 -RANDOMMAN_CFGS_ITEMS_FIELD.label = 3 -RANDOMMAN_CFGS_ITEMS_FIELD.has_default_value = false -RANDOMMAN_CFGS_ITEMS_FIELD.default_value = {} -RANDOMMAN_CFGS_ITEMS_FIELD.message_type = RANDOMMAN_CFG -RANDOMMAN_CFGS_ITEMS_FIELD.type = 11 -RANDOMMAN_CFGS_ITEMS_FIELD.cpp_type = 10 - -RANDOMMAN_CFGS.name = "randomman_cfgs" -RANDOMMAN_CFGS.full_name = ".ftcfg.randomman_cfgs" -RANDOMMAN_CFGS.nested_types = {} -RANDOMMAN_CFGS.enum_types = {} -RANDOMMAN_CFGS.fields = {RANDOMMAN_CFGS_ITEMS_FIELD} -RANDOMMAN_CFGS.is_extendable = false -RANDOMMAN_CFGS.extensions = {} -RANDOMWOMAN_CFG_NAME0_FIELD.name = "name0" -RANDOMWOMAN_CFG_NAME0_FIELD.full_name = ".ftcfg.randomwoman_cfg.name0" -RANDOMWOMAN_CFG_NAME0_FIELD.number = 1 -RANDOMWOMAN_CFG_NAME0_FIELD.index = 0 -RANDOMWOMAN_CFG_NAME0_FIELD.label = 2 -RANDOMWOMAN_CFG_NAME0_FIELD.has_default_value = false -RANDOMWOMAN_CFG_NAME0_FIELD.default_value = "" -RANDOMWOMAN_CFG_NAME0_FIELD.type = 9 -RANDOMWOMAN_CFG_NAME0_FIELD.cpp_type = 9 - -RANDOMWOMAN_CFG_NAME1_FIELD.name = "name1" -RANDOMWOMAN_CFG_NAME1_FIELD.full_name = ".ftcfg.randomwoman_cfg.name1" -RANDOMWOMAN_CFG_NAME1_FIELD.number = 2 -RANDOMWOMAN_CFG_NAME1_FIELD.index = 1 -RANDOMWOMAN_CFG_NAME1_FIELD.label = 2 -RANDOMWOMAN_CFG_NAME1_FIELD.has_default_value = false -RANDOMWOMAN_CFG_NAME1_FIELD.default_value = "" -RANDOMWOMAN_CFG_NAME1_FIELD.type = 9 -RANDOMWOMAN_CFG_NAME1_FIELD.cpp_type = 9 - -RANDOMWOMAN_CFG.name = "randomwoman_cfg" -RANDOMWOMAN_CFG.full_name = ".ftcfg.randomwoman_cfg" -RANDOMWOMAN_CFG.nested_types = {} -RANDOMWOMAN_CFG.enum_types = {} -RANDOMWOMAN_CFG.fields = {RANDOMWOMAN_CFG_NAME0_FIELD, RANDOMWOMAN_CFG_NAME1_FIELD} -RANDOMWOMAN_CFG.is_extendable = false -RANDOMWOMAN_CFG.extensions = {} -RANDOMWOMAN_CFGS_ITEMS_FIELD.name = "items" -RANDOMWOMAN_CFGS_ITEMS_FIELD.full_name = ".ftcfg.randomwoman_cfgs.items" -RANDOMWOMAN_CFGS_ITEMS_FIELD.number = 1 -RANDOMWOMAN_CFGS_ITEMS_FIELD.index = 0 -RANDOMWOMAN_CFGS_ITEMS_FIELD.label = 3 -RANDOMWOMAN_CFGS_ITEMS_FIELD.has_default_value = false -RANDOMWOMAN_CFGS_ITEMS_FIELD.default_value = {} -RANDOMWOMAN_CFGS_ITEMS_FIELD.message_type = RANDOMWOMAN_CFG -RANDOMWOMAN_CFGS_ITEMS_FIELD.type = 11 -RANDOMWOMAN_CFGS_ITEMS_FIELD.cpp_type = 10 - -RANDOMWOMAN_CFGS.name = "randomwoman_cfgs" -RANDOMWOMAN_CFGS.full_name = ".ftcfg.randomwoman_cfgs" -RANDOMWOMAN_CFGS.nested_types = {} -RANDOMWOMAN_CFGS.enum_types = {} -RANDOMWOMAN_CFGS.fields = {RANDOMWOMAN_CFGS_ITEMS_FIELD} -RANDOMWOMAN_CFGS.is_extendable = false -RANDOMWOMAN_CFGS.extensions = {} -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.name = "star_level" -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.star_level" -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.number = 1 -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.index = 0 -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.default_value = 0 -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.type = 13 -SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD.cpp_type = 3 - -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.name = "level" -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.level" -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.number = 2 -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.index = 1 -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.default_value = 0 -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.type = 13 -SOUL_BASE_ATTR_CFG_LEVEL_FIELD.cpp_type = 3 - -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.name = "fight_power" -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.fight_power" -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.number = 3 -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.index = 2 -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.default_value = 0 -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.type = 5 -SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD.cpp_type = 1 - -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.name = "attack" -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.attack" -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.number = 4 -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.index = 3 -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_ATTACK_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.name = "defense" -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.defense" -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.number = 5 -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.index = 4 -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_DEFENSE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.name = "maxHp" -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.maxHp" -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.number = 6 -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.index = 5 -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_MAXHP_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.name = "criticalRate" -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.criticalRate" -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.number = 7 -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.index = 6 -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.name = "criticalPowerRate" -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.criticalPowerRate" -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.number = 8 -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.index = 7 -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.name = "hitRate" -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.hitRate" -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.number = 9 -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.index = 8 -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_HITRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.name = "defyBlockRate" -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.defyBlockRate" -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.number = 10 -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.index = 9 -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_MAUD_FIELD.name = "maud" -SOUL_BASE_ATTR_CFG_MAUD_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.maud" -SOUL_BASE_ATTR_CFG_MAUD_FIELD.number = 11 -SOUL_BASE_ATTR_CFG_MAUD_FIELD.index = 10 -SOUL_BASE_ATTR_CFG_MAUD_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_MAUD_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_MAUD_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_MAUD_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_MAUD_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_MIND_FIELD.name = "mind" -SOUL_BASE_ATTR_CFG_MIND_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.mind" -SOUL_BASE_ATTR_CFG_MIND_FIELD.number = 12 -SOUL_BASE_ATTR_CFG_MIND_FIELD.index = 11 -SOUL_BASE_ATTR_CFG_MIND_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_MIND_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_MIND_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_MIND_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_MIND_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.name = "constitution" -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.constitution" -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.number = 13 -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.index = 12 -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.name = "blockRate" -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.blockRate" -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.number = 14 -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.index = 13 -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.name = "dodgeRate" -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.dodgeRate" -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.number = 15 -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.index = 14 -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_DODGERATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.name = "antiCriticalRate" -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.antiCriticalRate" -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.number = 16 -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.index = 15 -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.name = "antiCriticalPowerRate" -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.antiCriticalPowerRate" -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.number = 17 -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.index = 16 -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.name = "hpHitReturn" -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.hpHitReturn" -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.number = 18 -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.index = 17 -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.name = "intensity" -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.intensity" -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.number = 19 -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.index = 18 -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_INTENSITY_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.name = "defyDefenseRate" -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.defyDefenseRate" -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.number = 20 -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.index = 19 -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.name = "deadlyRate" -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.full_name = ".ftcfg.soul_base_attr_cfg.deadlyRate" -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.number = 21 -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.index = 20 -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.label = 2 -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.default_value = 0.0 -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.type = 2 -SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD.cpp_type = 6 - -SOUL_BASE_ATTR_CFG.name = "soul_base_attr_cfg" -SOUL_BASE_ATTR_CFG.full_name = ".ftcfg.soul_base_attr_cfg" -SOUL_BASE_ATTR_CFG.nested_types = {} -SOUL_BASE_ATTR_CFG.enum_types = {} -SOUL_BASE_ATTR_CFG.fields = {SOUL_BASE_ATTR_CFG_STAR_LEVEL_FIELD, SOUL_BASE_ATTR_CFG_LEVEL_FIELD, SOUL_BASE_ATTR_CFG_FIGHT_POWER_FIELD, SOUL_BASE_ATTR_CFG_ATTACK_FIELD, SOUL_BASE_ATTR_CFG_DEFENSE_FIELD, SOUL_BASE_ATTR_CFG_MAXHP_FIELD, SOUL_BASE_ATTR_CFG_CRITICALRATE_FIELD, SOUL_BASE_ATTR_CFG_CRITICALPOWERRATE_FIELD, SOUL_BASE_ATTR_CFG_HITRATE_FIELD, SOUL_BASE_ATTR_CFG_DEFYBLOCKRATE_FIELD, SOUL_BASE_ATTR_CFG_MAUD_FIELD, SOUL_BASE_ATTR_CFG_MIND_FIELD, SOUL_BASE_ATTR_CFG_CONSTITUTION_FIELD, SOUL_BASE_ATTR_CFG_BLOCKRATE_FIELD, SOUL_BASE_ATTR_CFG_DODGERATE_FIELD, SOUL_BASE_ATTR_CFG_ANTICRITICALRATE_FIELD, SOUL_BASE_ATTR_CFG_ANTICRITICALPOWERRATE_FIELD, SOUL_BASE_ATTR_CFG_HPHITRETURN_FIELD, SOUL_BASE_ATTR_CFG_INTENSITY_FIELD, SOUL_BASE_ATTR_CFG_DEFYDEFENSERATE_FIELD, SOUL_BASE_ATTR_CFG_DEADLYRATE_FIELD} -SOUL_BASE_ATTR_CFG.is_extendable = false -SOUL_BASE_ATTR_CFG.extensions = {} -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.name = "items" -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.full_name = ".ftcfg.soul_base_attr_cfgs.items" -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.number = 1 -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.index = 0 -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.label = 3 -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.has_default_value = false -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.default_value = {} -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.message_type = SOUL_BASE_ATTR_CFG -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.type = 11 -SOUL_BASE_ATTR_CFGS_ITEMS_FIELD.cpp_type = 10 - -SOUL_BASE_ATTR_CFGS.name = "soul_base_attr_cfgs" -SOUL_BASE_ATTR_CFGS.full_name = ".ftcfg.soul_base_attr_cfgs" -SOUL_BASE_ATTR_CFGS.nested_types = {} -SOUL_BASE_ATTR_CFGS.enum_types = {} -SOUL_BASE_ATTR_CFGS.fields = {SOUL_BASE_ATTR_CFGS_ITEMS_FIELD} -SOUL_BASE_ATTR_CFGS.is_extendable = false -SOUL_BASE_ATTR_CFGS.extensions = {} -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.name = "star_level" -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.full_name = ".ftcfg.soul_magic_attr_cfg.star_level" -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.number = 1 -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.index = 0 -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.label = 2 -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.has_default_value = false -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.default_value = 0 -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.type = 13 -SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD.cpp_type = 3 - -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.name = "level" -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.full_name = ".ftcfg.soul_magic_attr_cfg.level" -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.number = 2 -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.index = 1 -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.label = 2 -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.has_default_value = false -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.default_value = 0 -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.type = 13 -SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD.cpp_type = 3 - -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.name = "fight_power" -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.full_name = ".ftcfg.soul_magic_attr_cfg.fight_power" -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.number = 3 -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.index = 2 -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.label = 2 -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.has_default_value = false -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.default_value = 0 -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.type = 5 -SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD.cpp_type = 1 - -SOUL_MAGIC_ATTR_CFG.name = "soul_magic_attr_cfg" -SOUL_MAGIC_ATTR_CFG.full_name = ".ftcfg.soul_magic_attr_cfg" -SOUL_MAGIC_ATTR_CFG.nested_types = {} -SOUL_MAGIC_ATTR_CFG.enum_types = {} -SOUL_MAGIC_ATTR_CFG.fields = {SOUL_MAGIC_ATTR_CFG_STAR_LEVEL_FIELD, SOUL_MAGIC_ATTR_CFG_LEVEL_FIELD, SOUL_MAGIC_ATTR_CFG_FIGHT_POWER_FIELD} -SOUL_MAGIC_ATTR_CFG.is_extendable = false -SOUL_MAGIC_ATTR_CFG.extensions = {} -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.name = "items" -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.full_name = ".ftcfg.soul_magic_attr_cfgs.items" -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.number = 1 -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.index = 0 -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.label = 3 -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.has_default_value = false -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.default_value = {} -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.message_type = SOUL_MAGIC_ATTR_CFG -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.type = 11 -SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD.cpp_type = 10 - -SOUL_MAGIC_ATTR_CFGS.name = "soul_magic_attr_cfgs" -SOUL_MAGIC_ATTR_CFGS.full_name = ".ftcfg.soul_magic_attr_cfgs" -SOUL_MAGIC_ATTR_CFGS.nested_types = {} -SOUL_MAGIC_ATTR_CFGS.enum_types = {} -SOUL_MAGIC_ATTR_CFGS.fields = {SOUL_MAGIC_ATTR_CFGS_ITEMS_FIELD} -SOUL_MAGIC_ATTR_CFGS.is_extendable = false -SOUL_MAGIC_ATTR_CFGS.extensions = {} -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.name = "star_level" -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.star_level" -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.number = 1 -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.index = 0 -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.type = 13 -SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD.cpp_type = 3 - -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.name = "suitid" -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suitid" -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.number = 2 -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.index = 1 -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.type = 5 -SOUL_SUIT_ATTR_CFG_SUITID_FIELD.cpp_type = 1 - -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.name = "suitname" -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suitname" -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.number = 3 -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.index = 2 -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.default_value = "" -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.type = 9 -SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD.cpp_type = 9 - -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.name = "suit_num" -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suit_num" -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.number = 4 -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.index = 3 -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.type = 5 -SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD.cpp_type = 1 - -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.name = "prop_type" -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.prop_type" -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.number = 5 -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.index = 4 -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.default_value = nil -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPOPTYPE -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.type = 14 -SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD.cpp_type = 8 - -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.name = "suit_type" -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suit_type" -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.number = 6 -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.index = 5 -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.default_value = nil -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.type = 14 -SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD.cpp_type = 8 - -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.name = "fight_power" -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.fight_power" -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.number = 7 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.index = 6 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.type = 5 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD.cpp_type = 1 - -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.name = "suit_data" -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suit_data" -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.number = 8 -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.index = 7 -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.default_value = 0.0 -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.type = 2 -SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD.cpp_type = 6 - -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.name = "suit_cion" -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suit_cion" -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.number = 9 -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.index = 8 -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.type = 5 -SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD.cpp_type = 1 - -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.name = "suit_two_num" -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suit_two_num" -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.number = 10 -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.index = 9 -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.type = 5 -SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD.cpp_type = 1 - -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.name = "suit_skill" -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.suit_skill" -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.number = 11 -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.index = 10 -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.type = 5 -SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD.cpp_type = 1 - -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.name = "fight_power_two" -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.full_name = ".ftcfg.soul_suit_attr_cfg.fight_power_two" -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.number = 12 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.index = 11 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.label = 2 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.default_value = 0 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.type = 5 -SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD.cpp_type = 1 - -SOUL_SUIT_ATTR_CFG.name = "soul_suit_attr_cfg" -SOUL_SUIT_ATTR_CFG.full_name = ".ftcfg.soul_suit_attr_cfg" -SOUL_SUIT_ATTR_CFG.nested_types = {} -SOUL_SUIT_ATTR_CFG.enum_types = {} -SOUL_SUIT_ATTR_CFG.fields = {SOUL_SUIT_ATTR_CFG_STAR_LEVEL_FIELD, SOUL_SUIT_ATTR_CFG_SUITID_FIELD, SOUL_SUIT_ATTR_CFG_SUITNAME_FIELD, SOUL_SUIT_ATTR_CFG_SUIT_NUM_FIELD, SOUL_SUIT_ATTR_CFG_PROP_TYPE_FIELD, SOUL_SUIT_ATTR_CFG_SUIT_TYPE_FIELD, SOUL_SUIT_ATTR_CFG_FIGHT_POWER_FIELD, SOUL_SUIT_ATTR_CFG_SUIT_DATA_FIELD, SOUL_SUIT_ATTR_CFG_SUIT_CION_FIELD, SOUL_SUIT_ATTR_CFG_SUIT_TWO_NUM_FIELD, SOUL_SUIT_ATTR_CFG_SUIT_SKILL_FIELD, SOUL_SUIT_ATTR_CFG_FIGHT_POWER_TWO_FIELD} -SOUL_SUIT_ATTR_CFG.is_extendable = false -SOUL_SUIT_ATTR_CFG.extensions = {} -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.name = "items" -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.full_name = ".ftcfg.soul_suit_attr_cfgs.items" -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.number = 1 -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.index = 0 -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.label = 3 -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.has_default_value = false -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.default_value = {} -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.message_type = SOUL_SUIT_ATTR_CFG -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.type = 11 -SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD.cpp_type = 10 - -SOUL_SUIT_ATTR_CFGS.name = "soul_suit_attr_cfgs" -SOUL_SUIT_ATTR_CFGS.full_name = ".ftcfg.soul_suit_attr_cfgs" -SOUL_SUIT_ATTR_CFGS.nested_types = {} -SOUL_SUIT_ATTR_CFGS.enum_types = {} -SOUL_SUIT_ATTR_CFGS.fields = {SOUL_SUIT_ATTR_CFGS_ITEMS_FIELD} -SOUL_SUIT_ATTR_CFGS.is_extendable = false -SOUL_SUIT_ATTR_CFGS.extensions = {} -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.name = "star_level" -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.full_name = ".ftcfg.soul_level_up_cfg.star_level" -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.number = 1 -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.index = 0 -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.type = 13 -SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD.cpp_type = 3 - -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.name = "exp_one" -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_one" -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.number = 2 -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.index = 1 -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.name = "exp_two" -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_two" -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.number = 3 -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.index = 2 -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.name = "exp_three" -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_three" -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.number = 4 -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.index = 3 -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.name = "exp_four" -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_four" -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.number = 5 -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.index = 4 -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.name = "exp_five" -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_five" -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.number = 6 -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.index = 5 -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.name = "exp_six" -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_six" -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.number = 7 -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.index = 6 -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.name = "exp_seven" -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_seven" -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.number = 8 -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.index = 7 -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.name = "exp_eight" -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_eight" -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.number = 9 -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.index = 8 -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.name = "exp_nine" -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_nine" -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.number = 10 -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.index = 9 -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.name = "exp_ten" -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_ten" -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.number = 11 -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.index = 10 -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.name = "exp_change" -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.full_name = ".ftcfg.soul_level_up_cfg.exp_change" -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.number = 12 -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.index = 11 -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.label = 2 -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.default_value = 0 -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.type = 5 -SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD.cpp_type = 1 - -SOUL_LEVEL_UP_CFG.name = "soul_level_up_cfg" -SOUL_LEVEL_UP_CFG.full_name = ".ftcfg.soul_level_up_cfg" -SOUL_LEVEL_UP_CFG.nested_types = {} -SOUL_LEVEL_UP_CFG.enum_types = {} -SOUL_LEVEL_UP_CFG.fields = {SOUL_LEVEL_UP_CFG_STAR_LEVEL_FIELD, SOUL_LEVEL_UP_CFG_EXP_ONE_FIELD, SOUL_LEVEL_UP_CFG_EXP_TWO_FIELD, SOUL_LEVEL_UP_CFG_EXP_THREE_FIELD, SOUL_LEVEL_UP_CFG_EXP_FOUR_FIELD, SOUL_LEVEL_UP_CFG_EXP_FIVE_FIELD, SOUL_LEVEL_UP_CFG_EXP_SIX_FIELD, SOUL_LEVEL_UP_CFG_EXP_SEVEN_FIELD, SOUL_LEVEL_UP_CFG_EXP_EIGHT_FIELD, SOUL_LEVEL_UP_CFG_EXP_NINE_FIELD, SOUL_LEVEL_UP_CFG_EXP_TEN_FIELD, SOUL_LEVEL_UP_CFG_EXP_CHANGE_FIELD} -SOUL_LEVEL_UP_CFG.is_extendable = false -SOUL_LEVEL_UP_CFG.extensions = {} -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.name = "items" -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.full_name = ".ftcfg.soul_level_up_cfgs.items" -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.number = 1 -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.index = 0 -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.label = 3 -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.has_default_value = false -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.default_value = {} -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.message_type = SOUL_LEVEL_UP_CFG -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.type = 11 -SOUL_LEVEL_UP_CFGS_ITEMS_FIELD.cpp_type = 10 - -SOUL_LEVEL_UP_CFGS.name = "soul_level_up_cfgs" -SOUL_LEVEL_UP_CFGS.full_name = ".ftcfg.soul_level_up_cfgs" -SOUL_LEVEL_UP_CFGS.nested_types = {} -SOUL_LEVEL_UP_CFGS.enum_types = {} -SOUL_LEVEL_UP_CFGS.fields = {SOUL_LEVEL_UP_CFGS_ITEMS_FIELD} -SOUL_LEVEL_UP_CFGS.is_extendable = false -SOUL_LEVEL_UP_CFGS.extensions = {} -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.name = "magic_id" -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.magic_id" -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.number = 1 -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.index = 0 -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.default_value = 0 -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.type = 5 -SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD.cpp_type = 1 - -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.name = "magic_name" -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.magic_name" -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.number = 2 -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.index = 1 -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.default_value = "" -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.type = 9 -SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD.cpp_type = 9 - -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.name = "quality" -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.quality" -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.number = 3 -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.index = 2 -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.default_value = nil -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.enum_type = config_predefine_pb.EITEMCOLOR -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.type = 14 -SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD.cpp_type = 8 - -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.name = "proptype" -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.proptype" -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.number = 4 -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.index = 3 -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.default_value = nil -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.enum_type = config_predefine_pb.ECPROPOPTYPE -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.type = 14 -SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD.cpp_type = 8 - -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.name = "type" -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.type" -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.number = 5 -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.index = 4 -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.default_value = nil -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.enum_type = config_predefine_pb.ECPROPTYPE -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.type = 14 -SOUL_MAGIC_ROCK_CFG_TYPE_FIELD.cpp_type = 8 - -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.name = "min_data" -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.min_data" -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.number = 6 -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.index = 5 -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.default_value = 0.0 -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.type = 2 -SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD.cpp_type = 6 - -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.name = "max_data" -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.max_data" -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.number = 7 -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.index = 6 -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.default_value = 0.0 -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.type = 2 -SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD.cpp_type = 6 - -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.name = "max_add" -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.max_add" -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.number = 8 -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.index = 7 -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.default_value = 0.0 -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.type = 2 -SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD.cpp_type = 6 - -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.name = "success_ratio" -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.success_ratio" -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.number = 9 -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.index = 8 -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.default_value = 0.0 -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.type = 2 -SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD.cpp_type = 6 - -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.name = "icon" -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.full_name = ".ftcfg.soul_magic_rock_cfg.icon" -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.number = 10 -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.index = 9 -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.label = 2 -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.default_value = 0 -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.type = 5 -SOUL_MAGIC_ROCK_CFG_ICON_FIELD.cpp_type = 1 - -SOUL_MAGIC_ROCK_CFG.name = "soul_magic_rock_cfg" -SOUL_MAGIC_ROCK_CFG.full_name = ".ftcfg.soul_magic_rock_cfg" -SOUL_MAGIC_ROCK_CFG.nested_types = {} -SOUL_MAGIC_ROCK_CFG.enum_types = {} -SOUL_MAGIC_ROCK_CFG.fields = {SOUL_MAGIC_ROCK_CFG_MAGIC_ID_FIELD, SOUL_MAGIC_ROCK_CFG_MAGIC_NAME_FIELD, SOUL_MAGIC_ROCK_CFG_QUALITY_FIELD, SOUL_MAGIC_ROCK_CFG_PROPTYPE_FIELD, SOUL_MAGIC_ROCK_CFG_TYPE_FIELD, SOUL_MAGIC_ROCK_CFG_MIN_DATA_FIELD, SOUL_MAGIC_ROCK_CFG_MAX_DATA_FIELD, SOUL_MAGIC_ROCK_CFG_MAX_ADD_FIELD, SOUL_MAGIC_ROCK_CFG_SUCCESS_RATIO_FIELD, SOUL_MAGIC_ROCK_CFG_ICON_FIELD} -SOUL_MAGIC_ROCK_CFG.is_extendable = false -SOUL_MAGIC_ROCK_CFG.extensions = {} -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.name = "items" -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.full_name = ".ftcfg.soul_magic_rock_cfgs.items" -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.number = 1 -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.index = 0 -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.label = 3 -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.has_default_value = false -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.default_value = {} -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.message_type = SOUL_MAGIC_ROCK_CFG -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.type = 11 -SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD.cpp_type = 10 - -SOUL_MAGIC_ROCK_CFGS.name = "soul_magic_rock_cfgs" -SOUL_MAGIC_ROCK_CFGS.full_name = ".ftcfg.soul_magic_rock_cfgs" -SOUL_MAGIC_ROCK_CFGS.nested_types = {} -SOUL_MAGIC_ROCK_CFGS.enum_types = {} -SOUL_MAGIC_ROCK_CFGS.fields = {SOUL_MAGIC_ROCK_CFGS_ITEMS_FIELD} -SOUL_MAGIC_ROCK_CFGS.is_extendable = false -SOUL_MAGIC_ROCK_CFGS.extensions = {} -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.name = "refine_id" -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.full_name = ".ftcfg.soul_refine_rock_cfg.refine_id" -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.number = 1 -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.index = 0 -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.label = 2 -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.default_value = 0 -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.type = 5 -SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD.cpp_type = 1 - -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.name = "level" -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.full_name = ".ftcfg.soul_refine_rock_cfg.level" -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.number = 2 -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.index = 1 -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.label = 2 -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.default_value = 0 -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.type = 13 -SOUL_REFINE_ROCK_CFG_LEVEL_FIELD.cpp_type = 3 - -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.name = "count" -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.full_name = ".ftcfg.soul_refine_rock_cfg.count" -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.number = 3 -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.index = 2 -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.label = 2 -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.default_value = 0 -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.type = 5 -SOUL_REFINE_ROCK_CFG_COUNT_FIELD.cpp_type = 1 - -SOUL_REFINE_ROCK_CFG_ICON_FIELD.name = "icon" -SOUL_REFINE_ROCK_CFG_ICON_FIELD.full_name = ".ftcfg.soul_refine_rock_cfg.icon" -SOUL_REFINE_ROCK_CFG_ICON_FIELD.number = 4 -SOUL_REFINE_ROCK_CFG_ICON_FIELD.index = 3 -SOUL_REFINE_ROCK_CFG_ICON_FIELD.label = 2 -SOUL_REFINE_ROCK_CFG_ICON_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFG_ICON_FIELD.default_value = 0 -SOUL_REFINE_ROCK_CFG_ICON_FIELD.type = 5 -SOUL_REFINE_ROCK_CFG_ICON_FIELD.cpp_type = 1 - -SOUL_REFINE_ROCK_CFG_NAME_FIELD.name = "name" -SOUL_REFINE_ROCK_CFG_NAME_FIELD.full_name = ".ftcfg.soul_refine_rock_cfg.name" -SOUL_REFINE_ROCK_CFG_NAME_FIELD.number = 5 -SOUL_REFINE_ROCK_CFG_NAME_FIELD.index = 4 -SOUL_REFINE_ROCK_CFG_NAME_FIELD.label = 2 -SOUL_REFINE_ROCK_CFG_NAME_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFG_NAME_FIELD.default_value = 0 -SOUL_REFINE_ROCK_CFG_NAME_FIELD.type = 5 -SOUL_REFINE_ROCK_CFG_NAME_FIELD.cpp_type = 1 - -SOUL_REFINE_ROCK_CFG_DESC_FIELD.name = "desc" -SOUL_REFINE_ROCK_CFG_DESC_FIELD.full_name = ".ftcfg.soul_refine_rock_cfg.desc" -SOUL_REFINE_ROCK_CFG_DESC_FIELD.number = 6 -SOUL_REFINE_ROCK_CFG_DESC_FIELD.index = 5 -SOUL_REFINE_ROCK_CFG_DESC_FIELD.label = 2 -SOUL_REFINE_ROCK_CFG_DESC_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFG_DESC_FIELD.default_value = 0 -SOUL_REFINE_ROCK_CFG_DESC_FIELD.type = 5 -SOUL_REFINE_ROCK_CFG_DESC_FIELD.cpp_type = 1 - -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.name = "position" -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.full_name = ".ftcfg.soul_refine_rock_cfg.position" -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.number = 7 -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.index = 6 -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.label = 2 -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.default_value = 0 -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.type = 5 -SOUL_REFINE_ROCK_CFG_POSITION_FIELD.cpp_type = 1 - -SOUL_REFINE_ROCK_CFG.name = "soul_refine_rock_cfg" -SOUL_REFINE_ROCK_CFG.full_name = ".ftcfg.soul_refine_rock_cfg" -SOUL_REFINE_ROCK_CFG.nested_types = {} -SOUL_REFINE_ROCK_CFG.enum_types = {} -SOUL_REFINE_ROCK_CFG.fields = {SOUL_REFINE_ROCK_CFG_REFINE_ID_FIELD, SOUL_REFINE_ROCK_CFG_LEVEL_FIELD, SOUL_REFINE_ROCK_CFG_COUNT_FIELD, SOUL_REFINE_ROCK_CFG_ICON_FIELD, SOUL_REFINE_ROCK_CFG_NAME_FIELD, SOUL_REFINE_ROCK_CFG_DESC_FIELD, SOUL_REFINE_ROCK_CFG_POSITION_FIELD} -SOUL_REFINE_ROCK_CFG.is_extendable = false -SOUL_REFINE_ROCK_CFG.extensions = {} -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.name = "items" -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.full_name = ".ftcfg.soul_refine_rock_cfgs.items" -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.number = 1 -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.index = 0 -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.label = 3 -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.has_default_value = false -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.default_value = {} -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.message_type = SOUL_REFINE_ROCK_CFG -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.type = 11 -SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD.cpp_type = 10 - -SOUL_REFINE_ROCK_CFGS.name = "soul_refine_rock_cfgs" -SOUL_REFINE_ROCK_CFGS.full_name = ".ftcfg.soul_refine_rock_cfgs" -SOUL_REFINE_ROCK_CFGS.nested_types = {} -SOUL_REFINE_ROCK_CFGS.enum_types = {} -SOUL_REFINE_ROCK_CFGS.fields = {SOUL_REFINE_ROCK_CFGS_ITEMS_FIELD} -SOUL_REFINE_ROCK_CFGS.is_extendable = false -SOUL_REFINE_ROCK_CFGS.extensions = {} -WIZARD_TASK_CFG_LEVEL_ID_FIELD.name = "level_id" -WIZARD_TASK_CFG_LEVEL_ID_FIELD.full_name = ".ftcfg.wizard_task_cfg.level_id" -WIZARD_TASK_CFG_LEVEL_ID_FIELD.number = 1 -WIZARD_TASK_CFG_LEVEL_ID_FIELD.index = 0 -WIZARD_TASK_CFG_LEVEL_ID_FIELD.label = 2 -WIZARD_TASK_CFG_LEVEL_ID_FIELD.has_default_value = false -WIZARD_TASK_CFG_LEVEL_ID_FIELD.default_value = 0 -WIZARD_TASK_CFG_LEVEL_ID_FIELD.type = 5 -WIZARD_TASK_CFG_LEVEL_ID_FIELD.cpp_type = 1 - -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.name = "level_min" -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.full_name = ".ftcfg.wizard_task_cfg.level_min" -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.number = 2 -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.index = 1 -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.label = 2 -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.has_default_value = false -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.default_value = 0 -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.type = 5 -WIZARD_TASK_CFG_LEVEL_MIN_FIELD.cpp_type = 1 - -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.name = "use_item_id" -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.full_name = ".ftcfg.wizard_task_cfg.use_item_id" -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.number = 3 -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.index = 2 -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.label = 2 -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.has_default_value = false -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.default_value = 0 -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.type = 5 -WIZARD_TASK_CFG_USE_ITEM_ID_FIELD.cpp_type = 1 - -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.name = "use_item_num" -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.full_name = ".ftcfg.wizard_task_cfg.use_item_num" -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.number = 4 -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.index = 3 -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.label = 2 -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.has_default_value = false -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.default_value = 0 -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.type = 5 -WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD.cpp_type = 1 - -WIZARD_TASK_CFG.name = "wizard_task_cfg" -WIZARD_TASK_CFG.full_name = ".ftcfg.wizard_task_cfg" -WIZARD_TASK_CFG.nested_types = {} -WIZARD_TASK_CFG.enum_types = {} -WIZARD_TASK_CFG.fields = {WIZARD_TASK_CFG_LEVEL_ID_FIELD, WIZARD_TASK_CFG_LEVEL_MIN_FIELD, WIZARD_TASK_CFG_USE_ITEM_ID_FIELD, WIZARD_TASK_CFG_USE_ITEM_NUM_FIELD} -WIZARD_TASK_CFG.is_extendable = false -WIZARD_TASK_CFG.extensions = {} -WIZARD_TASK_CFGS_ITEMS_FIELD.name = "items" -WIZARD_TASK_CFGS_ITEMS_FIELD.full_name = ".ftcfg.wizard_task_cfgs.items" -WIZARD_TASK_CFGS_ITEMS_FIELD.number = 1 -WIZARD_TASK_CFGS_ITEMS_FIELD.index = 0 -WIZARD_TASK_CFGS_ITEMS_FIELD.label = 3 -WIZARD_TASK_CFGS_ITEMS_FIELD.has_default_value = false -WIZARD_TASK_CFGS_ITEMS_FIELD.default_value = {} -WIZARD_TASK_CFGS_ITEMS_FIELD.message_type = WIZARD_TASK_CFG -WIZARD_TASK_CFGS_ITEMS_FIELD.type = 11 -WIZARD_TASK_CFGS_ITEMS_FIELD.cpp_type = 10 - -WIZARD_TASK_CFGS.name = "wizard_task_cfgs" -WIZARD_TASK_CFGS.full_name = ".ftcfg.wizard_task_cfgs" -WIZARD_TASK_CFGS.nested_types = {} -WIZARD_TASK_CFGS.enum_types = {} -WIZARD_TASK_CFGS.fields = {WIZARD_TASK_CFGS_ITEMS_FIELD} -WIZARD_TASK_CFGS.is_extendable = false -WIZARD_TASK_CFGS.extensions = {} -WIZARD_LEVEL_CFG_ID_FIELD.name = "id" -WIZARD_LEVEL_CFG_ID_FIELD.full_name = ".ftcfg.wizard_level_cfg.id" -WIZARD_LEVEL_CFG_ID_FIELD.number = 1 -WIZARD_LEVEL_CFG_ID_FIELD.index = 0 -WIZARD_LEVEL_CFG_ID_FIELD.label = 2 -WIZARD_LEVEL_CFG_ID_FIELD.has_default_value = false -WIZARD_LEVEL_CFG_ID_FIELD.default_value = 0 -WIZARD_LEVEL_CFG_ID_FIELD.type = 5 -WIZARD_LEVEL_CFG_ID_FIELD.cpp_type = 1 - -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.name = "legendary" -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.full_name = ".ftcfg.wizard_level_cfg.legendary" -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.number = 2 -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.index = 1 -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.label = 2 -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.has_default_value = false -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.default_value = 0 -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.type = 5 -WIZARD_LEVEL_CFG_LEGENDARY_FIELD.cpp_type = 1 - -WIZARD_LEVEL_CFG_ICON_ID_FIELD.name = "icon_id" -WIZARD_LEVEL_CFG_ICON_ID_FIELD.full_name = ".ftcfg.wizard_level_cfg.icon_id" -WIZARD_LEVEL_CFG_ICON_ID_FIELD.number = 3 -WIZARD_LEVEL_CFG_ICON_ID_FIELD.index = 2 -WIZARD_LEVEL_CFG_ICON_ID_FIELD.label = 2 -WIZARD_LEVEL_CFG_ICON_ID_FIELD.has_default_value = false -WIZARD_LEVEL_CFG_ICON_ID_FIELD.default_value = 0 -WIZARD_LEVEL_CFG_ICON_ID_FIELD.type = 5 -WIZARD_LEVEL_CFG_ICON_ID_FIELD.cpp_type = 1 - -WIZARD_LEVEL_CFG_NAME_FIELD.name = "name" -WIZARD_LEVEL_CFG_NAME_FIELD.full_name = ".ftcfg.wizard_level_cfg.name" -WIZARD_LEVEL_CFG_NAME_FIELD.number = 4 -WIZARD_LEVEL_CFG_NAME_FIELD.index = 3 -WIZARD_LEVEL_CFG_NAME_FIELD.label = 2 -WIZARD_LEVEL_CFG_NAME_FIELD.has_default_value = false -WIZARD_LEVEL_CFG_NAME_FIELD.default_value = 0 -WIZARD_LEVEL_CFG_NAME_FIELD.type = 5 -WIZARD_LEVEL_CFG_NAME_FIELD.cpp_type = 1 - -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.name = "reward_id" -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.full_name = ".ftcfg.wizard_level_cfg.reward_id" -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.number = 5 -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.index = 4 -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.label = 2 -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.has_default_value = false -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.default_value = 0 -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.type = 5 -WIZARD_LEVEL_CFG_REWARD_ID_FIELD.cpp_type = 1 - -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.name = "del_legendary" -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.full_name = ".ftcfg.wizard_level_cfg.del_legendary" -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.number = 6 -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.index = 5 -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.label = 2 -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.has_default_value = false -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.default_value = 0 -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.type = 5 -WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD.cpp_type = 1 - -WIZARD_LEVEL_CFG.name = "wizard_level_cfg" -WIZARD_LEVEL_CFG.full_name = ".ftcfg.wizard_level_cfg" -WIZARD_LEVEL_CFG.nested_types = {} -WIZARD_LEVEL_CFG.enum_types = {} -WIZARD_LEVEL_CFG.fields = {WIZARD_LEVEL_CFG_ID_FIELD, WIZARD_LEVEL_CFG_LEGENDARY_FIELD, WIZARD_LEVEL_CFG_ICON_ID_FIELD, WIZARD_LEVEL_CFG_NAME_FIELD, WIZARD_LEVEL_CFG_REWARD_ID_FIELD, WIZARD_LEVEL_CFG_DEL_LEGENDARY_FIELD} -WIZARD_LEVEL_CFG.is_extendable = false -WIZARD_LEVEL_CFG.extensions = {} -WIZARD_LEVEL_CFGS_ITEMS_FIELD.name = "items" -WIZARD_LEVEL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.wizard_level_cfgs.items" -WIZARD_LEVEL_CFGS_ITEMS_FIELD.number = 1 -WIZARD_LEVEL_CFGS_ITEMS_FIELD.index = 0 -WIZARD_LEVEL_CFGS_ITEMS_FIELD.label = 3 -WIZARD_LEVEL_CFGS_ITEMS_FIELD.has_default_value = false -WIZARD_LEVEL_CFGS_ITEMS_FIELD.default_value = {} -WIZARD_LEVEL_CFGS_ITEMS_FIELD.message_type = WIZARD_LEVEL_CFG -WIZARD_LEVEL_CFGS_ITEMS_FIELD.type = 11 -WIZARD_LEVEL_CFGS_ITEMS_FIELD.cpp_type = 10 - -WIZARD_LEVEL_CFGS.name = "wizard_level_cfgs" -WIZARD_LEVEL_CFGS.full_name = ".ftcfg.wizard_level_cfgs" -WIZARD_LEVEL_CFGS.nested_types = {} -WIZARD_LEVEL_CFGS.enum_types = {} -WIZARD_LEVEL_CFGS.fields = {WIZARD_LEVEL_CFGS_ITEMS_FIELD} -WIZARD_LEVEL_CFGS.is_extendable = false -WIZARD_LEVEL_CFGS.extensions = {} -WIZARD_BASE_CFG_ID_FIELD.name = "id" -WIZARD_BASE_CFG_ID_FIELD.full_name = ".ftcfg.wizard_base_cfg.id" -WIZARD_BASE_CFG_ID_FIELD.number = 1 -WIZARD_BASE_CFG_ID_FIELD.index = 0 -WIZARD_BASE_CFG_ID_FIELD.label = 2 -WIZARD_BASE_CFG_ID_FIELD.has_default_value = false -WIZARD_BASE_CFG_ID_FIELD.default_value = 0 -WIZARD_BASE_CFG_ID_FIELD.type = 5 -WIZARD_BASE_CFG_ID_FIELD.cpp_type = 1 - -WIZARD_BASE_CFG_DATA_FIELD.name = "data" -WIZARD_BASE_CFG_DATA_FIELD.full_name = ".ftcfg.wizard_base_cfg.data" -WIZARD_BASE_CFG_DATA_FIELD.number = 2 -WIZARD_BASE_CFG_DATA_FIELD.index = 1 -WIZARD_BASE_CFG_DATA_FIELD.label = 2 -WIZARD_BASE_CFG_DATA_FIELD.has_default_value = false -WIZARD_BASE_CFG_DATA_FIELD.default_value = 0.0 -WIZARD_BASE_CFG_DATA_FIELD.type = 1 -WIZARD_BASE_CFG_DATA_FIELD.cpp_type = 5 - -WIZARD_BASE_CFG.name = "wizard_base_cfg" -WIZARD_BASE_CFG.full_name = ".ftcfg.wizard_base_cfg" -WIZARD_BASE_CFG.nested_types = {} -WIZARD_BASE_CFG.enum_types = {} -WIZARD_BASE_CFG.fields = {WIZARD_BASE_CFG_ID_FIELD, WIZARD_BASE_CFG_DATA_FIELD} -WIZARD_BASE_CFG.is_extendable = false -WIZARD_BASE_CFG.extensions = {} -WIZARD_BASE_CFGS_ITEMS_FIELD.name = "items" -WIZARD_BASE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.wizard_base_cfgs.items" -WIZARD_BASE_CFGS_ITEMS_FIELD.number = 1 -WIZARD_BASE_CFGS_ITEMS_FIELD.index = 0 -WIZARD_BASE_CFGS_ITEMS_FIELD.label = 3 -WIZARD_BASE_CFGS_ITEMS_FIELD.has_default_value = false -WIZARD_BASE_CFGS_ITEMS_FIELD.default_value = {} -WIZARD_BASE_CFGS_ITEMS_FIELD.message_type = WIZARD_BASE_CFG -WIZARD_BASE_CFGS_ITEMS_FIELD.type = 11 -WIZARD_BASE_CFGS_ITEMS_FIELD.cpp_type = 10 - -WIZARD_BASE_CFGS.name = "wizard_base_cfgs" -WIZARD_BASE_CFGS.full_name = ".ftcfg.wizard_base_cfgs" -WIZARD_BASE_CFGS.nested_types = {} -WIZARD_BASE_CFGS.enum_types = {} -WIZARD_BASE_CFGS.fields = {WIZARD_BASE_CFGS_ITEMS_FIELD} -WIZARD_BASE_CFGS.is_extendable = false -WIZARD_BASE_CFGS.extensions = {} -MAGIC_DIVINE_CFG_ID_FIELD.name = "id" -MAGIC_DIVINE_CFG_ID_FIELD.full_name = ".ftcfg.magic_divine_cfg.id" -MAGIC_DIVINE_CFG_ID_FIELD.number = 1 -MAGIC_DIVINE_CFG_ID_FIELD.index = 0 -MAGIC_DIVINE_CFG_ID_FIELD.label = 2 -MAGIC_DIVINE_CFG_ID_FIELD.has_default_value = false -MAGIC_DIVINE_CFG_ID_FIELD.default_value = 0 -MAGIC_DIVINE_CFG_ID_FIELD.type = 5 -MAGIC_DIVINE_CFG_ID_FIELD.cpp_type = 1 - -MAGIC_DIVINE_CFG_PROP_ID_FIELD.name = "prop_id" -MAGIC_DIVINE_CFG_PROP_ID_FIELD.full_name = ".ftcfg.magic_divine_cfg.prop_id" -MAGIC_DIVINE_CFG_PROP_ID_FIELD.number = 2 -MAGIC_DIVINE_CFG_PROP_ID_FIELD.index = 1 -MAGIC_DIVINE_CFG_PROP_ID_FIELD.label = 3 -MAGIC_DIVINE_CFG_PROP_ID_FIELD.has_default_value = false -MAGIC_DIVINE_CFG_PROP_ID_FIELD.default_value = {} -MAGIC_DIVINE_CFG_PROP_ID_FIELD.type = 5 -MAGIC_DIVINE_CFG_PROP_ID_FIELD.cpp_type = 1 - -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.name = "prop_num" -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.full_name = ".ftcfg.magic_divine_cfg.prop_num" -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.number = 3 -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.index = 2 -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.label = 3 -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.has_default_value = false -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.default_value = {} -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.type = 5 -MAGIC_DIVINE_CFG_PROP_NUM_FIELD.cpp_type = 1 - -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.name = "week_day" -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.full_name = ".ftcfg.magic_divine_cfg.week_day" -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.number = 4 -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.index = 3 -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.label = 2 -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.has_default_value = false -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.default_value = 0 -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.type = 5 -MAGIC_DIVINE_CFG_WEEK_DAY_FIELD.cpp_type = 1 - -MAGIC_DIVINE_CFG_TIMES_FIELD.name = "times" -MAGIC_DIVINE_CFG_TIMES_FIELD.full_name = ".ftcfg.magic_divine_cfg.times" -MAGIC_DIVINE_CFG_TIMES_FIELD.number = 5 -MAGIC_DIVINE_CFG_TIMES_FIELD.index = 4 -MAGIC_DIVINE_CFG_TIMES_FIELD.label = 3 -MAGIC_DIVINE_CFG_TIMES_FIELD.has_default_value = false -MAGIC_DIVINE_CFG_TIMES_FIELD.default_value = {} -MAGIC_DIVINE_CFG_TIMES_FIELD.type = 5 -MAGIC_DIVINE_CFG_TIMES_FIELD.cpp_type = 1 - -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.name = "section_id" -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.full_name = ".ftcfg.magic_divine_cfg.section_id" -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.number = 6 -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.index = 5 -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.label = 2 -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.has_default_value = false -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.default_value = 0 -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.type = 5 -MAGIC_DIVINE_CFG_SECTION_ID_FIELD.cpp_type = 1 - -MAGIC_DIVINE_CFG_LEVEL_FIELD.name = "level" -MAGIC_DIVINE_CFG_LEVEL_FIELD.full_name = ".ftcfg.magic_divine_cfg.level" -MAGIC_DIVINE_CFG_LEVEL_FIELD.number = 7 -MAGIC_DIVINE_CFG_LEVEL_FIELD.index = 6 -MAGIC_DIVINE_CFG_LEVEL_FIELD.label = 2 -MAGIC_DIVINE_CFG_LEVEL_FIELD.has_default_value = false -MAGIC_DIVINE_CFG_LEVEL_FIELD.default_value = 0 -MAGIC_DIVINE_CFG_LEVEL_FIELD.type = 5 -MAGIC_DIVINE_CFG_LEVEL_FIELD.cpp_type = 1 - -MAGIC_DIVINE_CFG.name = "magic_divine_cfg" -MAGIC_DIVINE_CFG.full_name = ".ftcfg.magic_divine_cfg" -MAGIC_DIVINE_CFG.nested_types = {} -MAGIC_DIVINE_CFG.enum_types = {} -MAGIC_DIVINE_CFG.fields = {MAGIC_DIVINE_CFG_ID_FIELD, MAGIC_DIVINE_CFG_PROP_ID_FIELD, MAGIC_DIVINE_CFG_PROP_NUM_FIELD, MAGIC_DIVINE_CFG_WEEK_DAY_FIELD, MAGIC_DIVINE_CFG_TIMES_FIELD, MAGIC_DIVINE_CFG_SECTION_ID_FIELD, MAGIC_DIVINE_CFG_LEVEL_FIELD} -MAGIC_DIVINE_CFG.is_extendable = false -MAGIC_DIVINE_CFG.extensions = {} -MAGIC_DIVINE_CFGS_ITEMS_FIELD.name = "items" -MAGIC_DIVINE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_divine_cfgs.items" -MAGIC_DIVINE_CFGS_ITEMS_FIELD.number = 1 -MAGIC_DIVINE_CFGS_ITEMS_FIELD.index = 0 -MAGIC_DIVINE_CFGS_ITEMS_FIELD.label = 3 -MAGIC_DIVINE_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_DIVINE_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_DIVINE_CFGS_ITEMS_FIELD.message_type = MAGIC_DIVINE_CFG -MAGIC_DIVINE_CFGS_ITEMS_FIELD.type = 11 -MAGIC_DIVINE_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_DIVINE_CFGS.name = "magic_divine_cfgs" -MAGIC_DIVINE_CFGS.full_name = ".ftcfg.magic_divine_cfgs" -MAGIC_DIVINE_CFGS.nested_types = {} -MAGIC_DIVINE_CFGS.enum_types = {} -MAGIC_DIVINE_CFGS.fields = {MAGIC_DIVINE_CFGS_ITEMS_FIELD} -MAGIC_DIVINE_CFGS.is_extendable = false -MAGIC_DIVINE_CFGS.extensions = {} -DIVINE_SECTION_CFG_ID_FIELD.name = "id" -DIVINE_SECTION_CFG_ID_FIELD.full_name = ".ftcfg.divine_section_cfg.id" -DIVINE_SECTION_CFG_ID_FIELD.number = 1 -DIVINE_SECTION_CFG_ID_FIELD.index = 0 -DIVINE_SECTION_CFG_ID_FIELD.label = 2 -DIVINE_SECTION_CFG_ID_FIELD.has_default_value = false -DIVINE_SECTION_CFG_ID_FIELD.default_value = 0 -DIVINE_SECTION_CFG_ID_FIELD.type = 5 -DIVINE_SECTION_CFG_ID_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG_GROUP_FIELD.name = "group" -DIVINE_SECTION_CFG_GROUP_FIELD.full_name = ".ftcfg.divine_section_cfg.group" -DIVINE_SECTION_CFG_GROUP_FIELD.number = 2 -DIVINE_SECTION_CFG_GROUP_FIELD.index = 1 -DIVINE_SECTION_CFG_GROUP_FIELD.label = 2 -DIVINE_SECTION_CFG_GROUP_FIELD.has_default_value = false -DIVINE_SECTION_CFG_GROUP_FIELD.default_value = 0 -DIVINE_SECTION_CFG_GROUP_FIELD.type = 5 -DIVINE_SECTION_CFG_GROUP_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.name = "group_name" -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.full_name = ".ftcfg.divine_section_cfg.group_name" -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.number = 3 -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.index = 2 -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.label = 2 -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.has_default_value = false -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.default_value = 0 -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.type = 5 -DIVINE_SECTION_CFG_GROUP_NAME_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG_SECTION_FIELD.name = "section" -DIVINE_SECTION_CFG_SECTION_FIELD.full_name = ".ftcfg.divine_section_cfg.section" -DIVINE_SECTION_CFG_SECTION_FIELD.number = 4 -DIVINE_SECTION_CFG_SECTION_FIELD.index = 3 -DIVINE_SECTION_CFG_SECTION_FIELD.label = 2 -DIVINE_SECTION_CFG_SECTION_FIELD.has_default_value = false -DIVINE_SECTION_CFG_SECTION_FIELD.default_value = 0 -DIVINE_SECTION_CFG_SECTION_FIELD.type = 5 -DIVINE_SECTION_CFG_SECTION_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.name = "section_name" -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.full_name = ".ftcfg.divine_section_cfg.section_name" -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.number = 5 -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.index = 4 -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.label = 2 -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.has_default_value = false -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.default_value = 0 -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.type = 5 -DIVINE_SECTION_CFG_SECTION_NAME_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.name = "section_desc" -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.full_name = ".ftcfg.divine_section_cfg.section_desc" -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.number = 6 -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.index = 5 -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.label = 2 -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.has_default_value = false -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.default_value = 0 -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.type = 5 -DIVINE_SECTION_CFG_SECTION_DESC_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG_MISSION_ID_FIELD.name = "mission_id" -DIVINE_SECTION_CFG_MISSION_ID_FIELD.full_name = ".ftcfg.divine_section_cfg.mission_id" -DIVINE_SECTION_CFG_MISSION_ID_FIELD.number = 7 -DIVINE_SECTION_CFG_MISSION_ID_FIELD.index = 6 -DIVINE_SECTION_CFG_MISSION_ID_FIELD.label = 2 -DIVINE_SECTION_CFG_MISSION_ID_FIELD.has_default_value = false -DIVINE_SECTION_CFG_MISSION_ID_FIELD.default_value = 0 -DIVINE_SECTION_CFG_MISSION_ID_FIELD.type = 5 -DIVINE_SECTION_CFG_MISSION_ID_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.name = "partner_id" -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.full_name = ".ftcfg.divine_section_cfg.partner_id" -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.number = 8 -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.index = 7 -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.label = 3 -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.has_default_value = false -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.default_value = {} -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.type = 5 -DIVINE_SECTION_CFG_PARTNER_ID_FIELD.cpp_type = 1 - -DIVINE_SECTION_CFG.name = "divine_section_cfg" -DIVINE_SECTION_CFG.full_name = ".ftcfg.divine_section_cfg" -DIVINE_SECTION_CFG.nested_types = {} -DIVINE_SECTION_CFG.enum_types = {} -DIVINE_SECTION_CFG.fields = {DIVINE_SECTION_CFG_ID_FIELD, DIVINE_SECTION_CFG_GROUP_FIELD, DIVINE_SECTION_CFG_GROUP_NAME_FIELD, DIVINE_SECTION_CFG_SECTION_FIELD, DIVINE_SECTION_CFG_SECTION_NAME_FIELD, DIVINE_SECTION_CFG_SECTION_DESC_FIELD, DIVINE_SECTION_CFG_MISSION_ID_FIELD, DIVINE_SECTION_CFG_PARTNER_ID_FIELD} -DIVINE_SECTION_CFG.is_extendable = false -DIVINE_SECTION_CFG.extensions = {} -DIVINE_SECTION_CFGS_ITEMS_FIELD.name = "items" -DIVINE_SECTION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.divine_section_cfgs.items" -DIVINE_SECTION_CFGS_ITEMS_FIELD.number = 1 -DIVINE_SECTION_CFGS_ITEMS_FIELD.index = 0 -DIVINE_SECTION_CFGS_ITEMS_FIELD.label = 3 -DIVINE_SECTION_CFGS_ITEMS_FIELD.has_default_value = false -DIVINE_SECTION_CFGS_ITEMS_FIELD.default_value = {} -DIVINE_SECTION_CFGS_ITEMS_FIELD.message_type = DIVINE_SECTION_CFG -DIVINE_SECTION_CFGS_ITEMS_FIELD.type = 11 -DIVINE_SECTION_CFGS_ITEMS_FIELD.cpp_type = 10 - -DIVINE_SECTION_CFGS.name = "divine_section_cfgs" -DIVINE_SECTION_CFGS.full_name = ".ftcfg.divine_section_cfgs" -DIVINE_SECTION_CFGS.nested_types = {} -DIVINE_SECTION_CFGS.enum_types = {} -DIVINE_SECTION_CFGS.fields = {DIVINE_SECTION_CFGS_ITEMS_FIELD} -DIVINE_SECTION_CFGS.is_extendable = false -DIVINE_SECTION_CFGS.extensions = {} -DIVINE_MISSION_CFG_ID_FIELD.name = "id" -DIVINE_MISSION_CFG_ID_FIELD.full_name = ".ftcfg.divine_mission_cfg.id" -DIVINE_MISSION_CFG_ID_FIELD.number = 1 -DIVINE_MISSION_CFG_ID_FIELD.index = 0 -DIVINE_MISSION_CFG_ID_FIELD.label = 2 -DIVINE_MISSION_CFG_ID_FIELD.has_default_value = false -DIVINE_MISSION_CFG_ID_FIELD.default_value = 0 -DIVINE_MISSION_CFG_ID_FIELD.type = 5 -DIVINE_MISSION_CFG_ID_FIELD.cpp_type = 1 - -DIVINE_MISSION_CFG_MISSION_ID_FIELD.name = "mission_id" -DIVINE_MISSION_CFG_MISSION_ID_FIELD.full_name = ".ftcfg.divine_mission_cfg.mission_id" -DIVINE_MISSION_CFG_MISSION_ID_FIELD.number = 2 -DIVINE_MISSION_CFG_MISSION_ID_FIELD.index = 1 -DIVINE_MISSION_CFG_MISSION_ID_FIELD.label = 2 -DIVINE_MISSION_CFG_MISSION_ID_FIELD.has_default_value = false -DIVINE_MISSION_CFG_MISSION_ID_FIELD.default_value = 0 -DIVINE_MISSION_CFG_MISSION_ID_FIELD.type = 5 -DIVINE_MISSION_CFG_MISSION_ID_FIELD.cpp_type = 1 - -DIVINE_MISSION_CFG_RANGE_FIELD.name = "range" -DIVINE_MISSION_CFG_RANGE_FIELD.full_name = ".ftcfg.divine_mission_cfg.range" -DIVINE_MISSION_CFG_RANGE_FIELD.number = 3 -DIVINE_MISSION_CFG_RANGE_FIELD.index = 2 -DIVINE_MISSION_CFG_RANGE_FIELD.label = 2 -DIVINE_MISSION_CFG_RANGE_FIELD.has_default_value = false -DIVINE_MISSION_CFG_RANGE_FIELD.default_value = 0 -DIVINE_MISSION_CFG_RANGE_FIELD.type = 5 -DIVINE_MISSION_CFG_RANGE_FIELD.cpp_type = 1 - -DIVINE_MISSION_CFG_QUALITY_FIELD.name = "quality" -DIVINE_MISSION_CFG_QUALITY_FIELD.full_name = ".ftcfg.divine_mission_cfg.quality" -DIVINE_MISSION_CFG_QUALITY_FIELD.number = 4 -DIVINE_MISSION_CFG_QUALITY_FIELD.index = 3 -DIVINE_MISSION_CFG_QUALITY_FIELD.label = 2 -DIVINE_MISSION_CFG_QUALITY_FIELD.has_default_value = false -DIVINE_MISSION_CFG_QUALITY_FIELD.default_value = 0 -DIVINE_MISSION_CFG_QUALITY_FIELD.type = 5 -DIVINE_MISSION_CFG_QUALITY_FIELD.cpp_type = 1 - -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.name = "fetters_num" -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.full_name = ".ftcfg.divine_mission_cfg.fetters_num" -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.number = 5 -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.index = 4 -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.label = 2 -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.has_default_value = false -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.default_value = 0 -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.type = 5 -DIVINE_MISSION_CFG_FETTERS_NUM_FIELD.cpp_type = 1 - -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.name = "qualityrange" -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.full_name = ".ftcfg.divine_mission_cfg.qualityrange" -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.number = 6 -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.index = 5 -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.label = 2 -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.has_default_value = false -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.default_value = 0 -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.type = 5 -DIVINE_MISSION_CFG_QUALITYRANGE_FIELD.cpp_type = 1 - -DIVINE_MISSION_CFG.name = "divine_mission_cfg" -DIVINE_MISSION_CFG.full_name = ".ftcfg.divine_mission_cfg" -DIVINE_MISSION_CFG.nested_types = {} -DIVINE_MISSION_CFG.enum_types = {} -DIVINE_MISSION_CFG.fields = {DIVINE_MISSION_CFG_ID_FIELD, DIVINE_MISSION_CFG_MISSION_ID_FIELD, DIVINE_MISSION_CFG_RANGE_FIELD, DIVINE_MISSION_CFG_QUALITY_FIELD, DIVINE_MISSION_CFG_FETTERS_NUM_FIELD, DIVINE_MISSION_CFG_QUALITYRANGE_FIELD} -DIVINE_MISSION_CFG.is_extendable = false -DIVINE_MISSION_CFG.extensions = {} -DIVINE_MISSION_CFGS_ITEMS_FIELD.name = "items" -DIVINE_MISSION_CFGS_ITEMS_FIELD.full_name = ".ftcfg.divine_mission_cfgs.items" -DIVINE_MISSION_CFGS_ITEMS_FIELD.number = 1 -DIVINE_MISSION_CFGS_ITEMS_FIELD.index = 0 -DIVINE_MISSION_CFGS_ITEMS_FIELD.label = 3 -DIVINE_MISSION_CFGS_ITEMS_FIELD.has_default_value = false -DIVINE_MISSION_CFGS_ITEMS_FIELD.default_value = {} -DIVINE_MISSION_CFGS_ITEMS_FIELD.message_type = DIVINE_MISSION_CFG -DIVINE_MISSION_CFGS_ITEMS_FIELD.type = 11 -DIVINE_MISSION_CFGS_ITEMS_FIELD.cpp_type = 10 - -DIVINE_MISSION_CFGS.name = "divine_mission_cfgs" -DIVINE_MISSION_CFGS.full_name = ".ftcfg.divine_mission_cfgs" -DIVINE_MISSION_CFGS.nested_types = {} -DIVINE_MISSION_CFGS.enum_types = {} -DIVINE_MISSION_CFGS.fields = {DIVINE_MISSION_CFGS_ITEMS_FIELD} -DIVINE_MISSION_CFGS.is_extendable = false -DIVINE_MISSION_CFGS.extensions = {} -MAGIC_SKILL_CFG_ID_FIELD.name = "id" -MAGIC_SKILL_CFG_ID_FIELD.full_name = ".ftcfg.magic_skill_cfg.id" -MAGIC_SKILL_CFG_ID_FIELD.number = 1 -MAGIC_SKILL_CFG_ID_FIELD.index = 0 -MAGIC_SKILL_CFG_ID_FIELD.label = 2 -MAGIC_SKILL_CFG_ID_FIELD.has_default_value = false -MAGIC_SKILL_CFG_ID_FIELD.default_value = 0 -MAGIC_SKILL_CFG_ID_FIELD.type = 13 -MAGIC_SKILL_CFG_ID_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_LAYERID_FIELD.name = "layerid" -MAGIC_SKILL_CFG_LAYERID_FIELD.full_name = ".ftcfg.magic_skill_cfg.layerid" -MAGIC_SKILL_CFG_LAYERID_FIELD.number = 2 -MAGIC_SKILL_CFG_LAYERID_FIELD.index = 1 -MAGIC_SKILL_CFG_LAYERID_FIELD.label = 2 -MAGIC_SKILL_CFG_LAYERID_FIELD.has_default_value = false -MAGIC_SKILL_CFG_LAYERID_FIELD.default_value = 0 -MAGIC_SKILL_CFG_LAYERID_FIELD.type = 13 -MAGIC_SKILL_CFG_LAYERID_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.name = "max_level" -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.full_name = ".ftcfg.magic_skill_cfg.max_level" -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.number = 3 -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.index = 2 -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.label = 2 -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.has_default_value = false -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.default_value = 0 -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.type = 13 -MAGIC_SKILL_CFG_MAX_LEVEL_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.name = "magicid_arr" -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.full_name = ".ftcfg.magic_skill_cfg.magicid_arr" -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.number = 4 -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.index = 3 -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.label = 3 -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.has_default_value = false -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.default_value = {} -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.type = 13 -MAGIC_SKILL_CFG_MAGICID_ARR_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.name = "magic_type" -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.full_name = ".ftcfg.magic_skill_cfg.magic_type" -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.number = 5 -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.index = 4 -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.label = 2 -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.has_default_value = false -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.default_value = 0 -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.type = 13 -MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.name = "slot_lock_cond" -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.full_name = ".ftcfg.magic_skill_cfg.slot_lock_cond" -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.number = 6 -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.index = 5 -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.label = 2 -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.has_default_value = false -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.default_value = 0 -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.type = 13 -MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.name = "skill_position" -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.full_name = ".ftcfg.magic_skill_cfg.skill_position" -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.number = 7 -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.index = 6 -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.label = 2 -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.has_default_value = false -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.default_value = 0 -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.type = 13 -MAGIC_SKILL_CFG_SKILL_POSITION_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.name = "skill_icon" -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.full_name = ".ftcfg.magic_skill_cfg.skill_icon" -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.number = 8 -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.index = 7 -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.label = 2 -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.has_default_value = false -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.default_value = 0 -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.type = 13 -MAGIC_SKILL_CFG_SKILL_ICON_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.name = "skill_name" -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.full_name = ".ftcfg.magic_skill_cfg.skill_name" -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.number = 9 -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.index = 8 -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.label = 2 -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.has_default_value = false -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.default_value = 0 -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.type = 13 -MAGIC_SKILL_CFG_SKILL_NAME_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.name = "skill_condition" -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.full_name = ".ftcfg.magic_skill_cfg.skill_condition" -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.number = 10 -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.index = 9 -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.label = 2 -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.has_default_value = false -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.default_value = 0 -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.type = 13 -MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD.cpp_type = 3 - -MAGIC_SKILL_CFG.name = "magic_skill_cfg" -MAGIC_SKILL_CFG.full_name = ".ftcfg.magic_skill_cfg" -MAGIC_SKILL_CFG.nested_types = {} -MAGIC_SKILL_CFG.enum_types = {} -MAGIC_SKILL_CFG.fields = {MAGIC_SKILL_CFG_ID_FIELD, MAGIC_SKILL_CFG_LAYERID_FIELD, MAGIC_SKILL_CFG_MAX_LEVEL_FIELD, MAGIC_SKILL_CFG_MAGICID_ARR_FIELD, MAGIC_SKILL_CFG_MAGIC_TYPE_FIELD, MAGIC_SKILL_CFG_SLOT_LOCK_COND_FIELD, MAGIC_SKILL_CFG_SKILL_POSITION_FIELD, MAGIC_SKILL_CFG_SKILL_ICON_FIELD, MAGIC_SKILL_CFG_SKILL_NAME_FIELD, MAGIC_SKILL_CFG_SKILL_CONDITION_FIELD} -MAGIC_SKILL_CFG.is_extendable = false -MAGIC_SKILL_CFG.extensions = {} -MAGIC_SKILL_CFGS_ITEMS_FIELD.name = "items" -MAGIC_SKILL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_skill_cfgs.items" -MAGIC_SKILL_CFGS_ITEMS_FIELD.number = 1 -MAGIC_SKILL_CFGS_ITEMS_FIELD.index = 0 -MAGIC_SKILL_CFGS_ITEMS_FIELD.label = 3 -MAGIC_SKILL_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_SKILL_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_SKILL_CFGS_ITEMS_FIELD.message_type = MAGIC_SKILL_CFG -MAGIC_SKILL_CFGS_ITEMS_FIELD.type = 11 -MAGIC_SKILL_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_SKILL_CFGS.name = "magic_skill_cfgs" -MAGIC_SKILL_CFGS.full_name = ".ftcfg.magic_skill_cfgs" -MAGIC_SKILL_CFGS.nested_types = {} -MAGIC_SKILL_CFGS.enum_types = {} -MAGIC_SKILL_CFGS.fields = {MAGIC_SKILL_CFGS_ITEMS_FIELD} -MAGIC_SKILL_CFGS.is_extendable = false -MAGIC_SKILL_CFGS.extensions = {} -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.name = "level" -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.level" -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.number = 1 -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.index = 0 -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.label = 2 -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.default_value = 0 -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.type = 13 -MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD.cpp_type = 3 - -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.name = "next_level" -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.next_level" -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.number = 2 -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.index = 1 -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.label = 2 -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.default_value = 0 -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.type = 13 -MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD.cpp_type = 3 - -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.name = "magicid" -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.magicid" -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.number = 3 -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.index = 2 -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.label = 2 -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.default_value = 0 -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.type = 13 -MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD.cpp_type = 3 - -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.name = "attribute_type" -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.attribute_type" -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.number = 4 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.index = 3 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.label = 3 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.default_value = {} -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.type = 13 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD.cpp_type = 3 - -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.name = "attribute_value" -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.attribute_value" -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.number = 5 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.index = 4 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.label = 3 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.default_value = {} -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.type = 13 -MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD.cpp_type = 3 - -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.name = "formation_base_rate_incr" -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.formation_base_rate_incr" -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.number = 6 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.index = 5 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.label = 2 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.default_value = 0.0 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.type = 2 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD.cpp_type = 6 - -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.name = "formation_rate" -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.formation_rate" -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.number = 7 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.index = 6 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.label = 2 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.default_value = 0.0 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.type = 2 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD.cpp_type = 6 - -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.name = "formation_rate_incr" -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.formation_rate_incr" -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.number = 8 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.index = 7 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.label = 2 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.default_value = 0.0 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.type = 2 -MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD.cpp_type = 6 - -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.name = "skill_tips" -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.skill_tips" -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.number = 9 -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.index = 8 -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.label = 3 -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.default_value = {} -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.type = 13 -MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD.cpp_type = 3 - -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.name = "partner_tips" -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfg.partner_tips" -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.number = 10 -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.index = 9 -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.label = 3 -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.default_value = {} -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.type = 2 -MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD.cpp_type = 6 - -MAGIC_SKILL_UPLEVEL_CFG.name = "magic_skill_uplevel_cfg" -MAGIC_SKILL_UPLEVEL_CFG.full_name = ".ftcfg.magic_skill_uplevel_cfg" -MAGIC_SKILL_UPLEVEL_CFG.nested_types = {} -MAGIC_SKILL_UPLEVEL_CFG.enum_types = {} -MAGIC_SKILL_UPLEVEL_CFG.fields = {MAGIC_SKILL_UPLEVEL_CFG_LEVEL_FIELD, MAGIC_SKILL_UPLEVEL_CFG_NEXT_LEVEL_FIELD, MAGIC_SKILL_UPLEVEL_CFG_MAGICID_FIELD, MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_TYPE_FIELD, MAGIC_SKILL_UPLEVEL_CFG_ATTRIBUTE_VALUE_FIELD, MAGIC_SKILL_UPLEVEL_CFG_FORMATION_BASE_RATE_INCR_FIELD, MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_FIELD, MAGIC_SKILL_UPLEVEL_CFG_FORMATION_RATE_INCR_FIELD, MAGIC_SKILL_UPLEVEL_CFG_SKILL_TIPS_FIELD, MAGIC_SKILL_UPLEVEL_CFG_PARTNER_TIPS_FIELD} -MAGIC_SKILL_UPLEVEL_CFG.is_extendable = false -MAGIC_SKILL_UPLEVEL_CFG.extensions = {} -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.name = "items" -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_skill_uplevel_cfgs.items" -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.number = 1 -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.index = 0 -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.label = 3 -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.message_type = MAGIC_SKILL_UPLEVEL_CFG -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.type = 11 -MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_SKILL_UPLEVEL_CFGS.name = "magic_skill_uplevel_cfgs" -MAGIC_SKILL_UPLEVEL_CFGS.full_name = ".ftcfg.magic_skill_uplevel_cfgs" -MAGIC_SKILL_UPLEVEL_CFGS.nested_types = {} -MAGIC_SKILL_UPLEVEL_CFGS.enum_types = {} -MAGIC_SKILL_UPLEVEL_CFGS.fields = {MAGIC_SKILL_UPLEVEL_CFGS_ITEMS_FIELD} -MAGIC_SKILL_UPLEVEL_CFGS.is_extendable = false -MAGIC_SKILL_UPLEVEL_CFGS.extensions = {} -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.name = "layerid" -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.full_name = ".ftcfg.magic_skill_layer_cfg.layerid" -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.number = 1 -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.index = 0 -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.label = 2 -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.has_default_value = false -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.default_value = 0 -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.type = 13 -MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD.cpp_type = 3 - -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.name = "role_level" -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.full_name = ".ftcfg.magic_skill_layer_cfg.role_level" -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.number = 2 -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.index = 1 -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.label = 2 -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.has_default_value = false -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.default_value = 0 -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.type = 13 -MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD.cpp_type = 3 - -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.name = "layerid_arr" -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.full_name = ".ftcfg.magic_skill_layer_cfg.layerid_arr" -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.number = 3 -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.index = 2 -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.label = 3 -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.has_default_value = false -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.default_value = {} -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.type = 13 -MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD.cpp_type = 3 - -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.name = "max_magic_skill_num" -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.full_name = ".ftcfg.magic_skill_layer_cfg.max_magic_skill_num" -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.number = 4 -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.index = 3 -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.label = 2 -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.has_default_value = false -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.default_value = 0 -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.type = 13 -MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD.cpp_type = 3 - -MAGIC_SKILL_LAYER_CFG.name = "magic_skill_layer_cfg" -MAGIC_SKILL_LAYER_CFG.full_name = ".ftcfg.magic_skill_layer_cfg" -MAGIC_SKILL_LAYER_CFG.nested_types = {} -MAGIC_SKILL_LAYER_CFG.enum_types = {} -MAGIC_SKILL_LAYER_CFG.fields = {MAGIC_SKILL_LAYER_CFG_LAYERID_FIELD, MAGIC_SKILL_LAYER_CFG_ROLE_LEVEL_FIELD, MAGIC_SKILL_LAYER_CFG_LAYERID_ARR_FIELD, MAGIC_SKILL_LAYER_CFG_MAX_MAGIC_SKILL_NUM_FIELD} -MAGIC_SKILL_LAYER_CFG.is_extendable = false -MAGIC_SKILL_LAYER_CFG.extensions = {} -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.name = "items" -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_skill_layer_cfgs.items" -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.number = 1 -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.index = 0 -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.label = 3 -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.message_type = MAGIC_SKILL_LAYER_CFG -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.type = 11 -MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_SKILL_LAYER_CFGS.name = "magic_skill_layer_cfgs" -MAGIC_SKILL_LAYER_CFGS.full_name = ".ftcfg.magic_skill_layer_cfgs" -MAGIC_SKILL_LAYER_CFGS.nested_types = {} -MAGIC_SKILL_LAYER_CFGS.enum_types = {} -MAGIC_SKILL_LAYER_CFGS.fields = {MAGIC_SKILL_LAYER_CFGS_ITEMS_FIELD} -MAGIC_SKILL_LAYER_CFGS.is_extendable = false -MAGIC_SKILL_LAYER_CFGS.extensions = {} -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.name = "confid" -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.confid" -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.number = 1 -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.index = 0 -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_CONFID_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.name = "main_quest_id" -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.main_quest_id" -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.number = 2 -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.index = 1 -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.name = "role_level" -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.role_level" -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.number = 3 -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.index = 2 -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.name = "min_point" -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.min_point" -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.number = 4 -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.index = 3 -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.name = "max_point" -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.max_point" -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.number = 5 -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.index = 4 -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.name = "item_id" -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.item_id" -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.number = 6 -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.index = 5 -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.name = "item_num" -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.item_num" -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.number = 7 -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.index = 6 -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.name = "coin_type" -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.coin_type" -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.number = 8 -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.index = 7 -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.label = 3 -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.default_value = {} -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.name = "coin_num" -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.coin_num" -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.number = 9 -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.index = 8 -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.label = 3 -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.default_value = {} -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.name = "refine_time" -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.refine_time" -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.number = 10 -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.index = 9 -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.label = 2 -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.default_value = 0 -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.name = "cancel_coin_type" -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.cancel_coin_type" -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.number = 11 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.index = 10 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.label = 3 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.default_value = {} -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.name = "cancel_coin_num" -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.full_name = ".ftcfg.magic_point_refine_cfg.cancel_coin_num" -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.number = 12 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.index = 11 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.label = 3 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.default_value = {} -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.type = 13 -MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD.cpp_type = 3 - -MAGIC_POINT_REFINE_CFG.name = "magic_point_refine_cfg" -MAGIC_POINT_REFINE_CFG.full_name = ".ftcfg.magic_point_refine_cfg" -MAGIC_POINT_REFINE_CFG.nested_types = {} -MAGIC_POINT_REFINE_CFG.enum_types = {} -MAGIC_POINT_REFINE_CFG.fields = {MAGIC_POINT_REFINE_CFG_CONFID_FIELD, MAGIC_POINT_REFINE_CFG_MAIN_QUEST_ID_FIELD, MAGIC_POINT_REFINE_CFG_ROLE_LEVEL_FIELD, MAGIC_POINT_REFINE_CFG_MIN_POINT_FIELD, MAGIC_POINT_REFINE_CFG_MAX_POINT_FIELD, MAGIC_POINT_REFINE_CFG_ITEM_ID_FIELD, MAGIC_POINT_REFINE_CFG_ITEM_NUM_FIELD, MAGIC_POINT_REFINE_CFG_COIN_TYPE_FIELD, MAGIC_POINT_REFINE_CFG_COIN_NUM_FIELD, MAGIC_POINT_REFINE_CFG_REFINE_TIME_FIELD, MAGIC_POINT_REFINE_CFG_CANCEL_COIN_TYPE_FIELD, MAGIC_POINT_REFINE_CFG_CANCEL_COIN_NUM_FIELD} -MAGIC_POINT_REFINE_CFG.is_extendable = false -MAGIC_POINT_REFINE_CFG.extensions = {} -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.name = "items" -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.full_name = ".ftcfg.magic_point_refine_cfgs.items" -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.number = 1 -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.index = 0 -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.label = 3 -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.has_default_value = false -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.default_value = {} -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.message_type = MAGIC_POINT_REFINE_CFG -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.type = 11 -MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD.cpp_type = 10 - -MAGIC_POINT_REFINE_CFGS.name = "magic_point_refine_cfgs" -MAGIC_POINT_REFINE_CFGS.full_name = ".ftcfg.magic_point_refine_cfgs" -MAGIC_POINT_REFINE_CFGS.nested_types = {} -MAGIC_POINT_REFINE_CFGS.enum_types = {} -MAGIC_POINT_REFINE_CFGS.fields = {MAGIC_POINT_REFINE_CFGS_ITEMS_FIELD} -MAGIC_POINT_REFINE_CFGS.is_extendable = false -MAGIC_POINT_REFINE_CFGS.extensions = {} - -activation_cfg = protobuf.Message(ACTIVATION_CFG) -activation_cfgs = protobuf.Message(ACTIVATION_CFGS) -activation_reward_cfg = protobuf.Message(ACTIVATION_REWARD_CFG) -activation_reward_cfgs = protobuf.Message(ACTIVATION_REWARD_CFGS) -activity_cfg = protobuf.Message(ACTIVITY_CFG) -activity_cfgs = protobuf.Message(ACTIVITY_CFGS) -activity_dungeon_cfg = protobuf.Message(ACTIVITY_DUNGEON_CFG) -activity_dungeon_cfgs = protobuf.Message(ACTIVITY_DUNGEON_CFGS) -activity_info_cfg = protobuf.Message(ACTIVITY_INFO_CFG) -activity_info_cfgs = protobuf.Message(ACTIVITY_INFO_CFGS) -activity_rooms_cfg = protobuf.Message(ACTIVITY_ROOMS_CFG) -activity_rooms_cfgs = protobuf.Message(ACTIVITY_ROOMS_CFGS) -arena_data_cfg = protobuf.Message(ARENA_DATA_CFG) -arena_data_cfgs = protobuf.Message(ARENA_DATA_CFGS) -arena_reward_cfg = protobuf.Message(ARENA_REWARD_CFG) -arena_reward_cfgs = protobuf.Message(ARENA_REWARD_CFGS) -attribute_show_cfg = protobuf.Message(ATTRIBUTE_SHOW_CFG) -attribute_show_cfgs = protobuf.Message(ATTRIBUTE_SHOW_CFGS) -bag_routine_cfg = protobuf.Message(BAG_ROUTINE_CFG) -bag_routine_cfgs = protobuf.Message(BAG_ROUTINE_CFGS) -base_prop_cfg = protobuf.Message(BASE_PROP_CFG) -base_prop_cfgs = protobuf.Message(BASE_PROP_CFGS) -battle_collect_crystal_cfg = protobuf.Message(BATTLE_COLLECT_CRYSTAL_CFG) -battle_collect_crystal_cfgs = protobuf.Message(BATTLE_COLLECT_CRYSTAL_CFGS) -battle_crystal_info_cfg = protobuf.Message(BATTLE_CRYSTAL_INFO_CFG) -battle_crystal_info_cfgs = protobuf.Message(BATTLE_CRYSTAL_INFO_CFGS) -battle_crystal_rooms_cfg = protobuf.Message(BATTLE_CRYSTAL_ROOMS_CFG) -battle_crystal_rooms_cfgs = protobuf.Message(BATTLE_CRYSTAL_ROOMS_CFGS) -boss_show_cam_cfg = protobuf.Message(BOSS_SHOW_CAM_CFG) -boss_show_cam_cfgs = protobuf.Message(BOSS_SHOW_CAM_CFGS) -boss_show_ui_cfg = protobuf.Message(BOSS_SHOW_UI_CFG) -boss_show_ui_cfgs = protobuf.Message(BOSS_SHOW_UI_CFGS) -boss_showinfo_cfg = protobuf.Message(BOSS_SHOWINFO_CFG) -boss_showinfo_cfgs = protobuf.Message(BOSS_SHOWINFO_CFGS) -box_collect_cfg = protobuf.Message(BOX_COLLECT_CFG) -box_collect_cfgs = protobuf.Message(BOX_COLLECT_CFGS) -boxs_cfg = protobuf.Message(BOXS_CFG) -boxs_cfgs = protobuf.Message(BOXS_CFGS) -buff_cfg = protobuf.Message(BUFF_CFG) -buff_cfgs = protobuf.Message(BUFF_CFGS) -buff_effect_cfg = protobuf.Message(BUFF_EFFECT_CFG) -buff_effect_cfgs = protobuf.Message(BUFF_EFFECT_CFGS) -building_mission_pool_cfg = protobuf.Message(BUILDING_MISSION_POOL_CFG) -building_mission_pool_cfgs = protobuf.Message(BUILDING_MISSION_POOL_CFGS) -business_activity_cfg = protobuf.Message(BUSINESS_ACTIVITY_CFG) -business_activity_cfgs = protobuf.Message(BUSINESS_ACTIVITY_CFGS) -cam_options_cfg = protobuf.Message(CAM_OPTIONS_CFG) -cam_options_cfgs = protobuf.Message(CAM_OPTIONS_CFGS) -camp_change_cost_cfg = protobuf.Message(CAMP_CHANGE_COST_CFG) -camp_change_cost_cfgs = protobuf.Message(CAMP_CHANGE_COST_CFGS) -camp_relation_cfg = protobuf.Message(CAMP_RELATION_CFG) -camp_relation_cfgs = protobuf.Message(CAMP_RELATION_CFGS) -campboss_cfg = protobuf.Message(CAMPBOSS_CFG) -campboss_cfgs = protobuf.Message(CAMPBOSS_CFGS) -char_default_cfg = protobuf.Message(CHAR_DEFAULT_CFG) -char_default_cfgs = protobuf.Message(CHAR_DEFAULT_CFGS) -chest_drop_cfg = protobuf.Message(CHEST_DROP_CFG) -chest_drop_cfgs = protobuf.Message(CHEST_DROP_CFGS) -client_trigger_action_cfg = protobuf.Message(CLIENT_TRIGGER_ACTION_CFG) -client_trigger_action_cfgs = protobuf.Message(CLIENT_TRIGGER_ACTION_CFGS) -client_trigger_cfg = protobuf.Message(CLIENT_TRIGGER_CFG) -client_trigger_cfgs = protobuf.Message(CLIENT_TRIGGER_CFGS) -client_trigger_condition_cfg = protobuf.Message(CLIENT_TRIGGER_CONDITION_CFG) -client_trigger_condition_cfgs = protobuf.Message(CLIENT_TRIGGER_CONDITION_CFGS) -client_trigger_event_cfg = protobuf.Message(CLIENT_TRIGGER_EVENT_CFG) -client_trigger_event_cfgs = protobuf.Message(CLIENT_TRIGGER_EVENT_CFGS) -client_trigger_variable_cfg = protobuf.Message(CLIENT_TRIGGER_VARIABLE_CFG) -client_trigger_variable_cfgs = protobuf.Message(CLIENT_TRIGGER_VARIABLE_CFGS) -clue_cfg = protobuf.Message(CLUE_CFG) -clue_cfgs = protobuf.Message(CLUE_CFGS) -convoy_biaoche_cfg = protobuf.Message(CONVOY_BIAOCHE_CFG) -convoy_biaoche_cfgs = protobuf.Message(CONVOY_BIAOCHE_CFGS) -convoy_biaoche_scene_cfg = protobuf.Message(CONVOY_BIAOCHE_SCENE_CFG) -convoy_biaoche_scene_cfgs = protobuf.Message(CONVOY_BIAOCHE_SCENE_CFGS) -cooldown_cfg = protobuf.Message(COOLDOWN_CFG) -cooldown_cfgs = protobuf.Message(COOLDOWN_CFGS) -crusade_base_cfg = protobuf.Message(CRUSADE_BASE_CFG) -crusade_base_cfgs = protobuf.Message(CRUSADE_BASE_CFGS) -crusade_dungon_cfg = protobuf.Message(CRUSADE_DUNGON_CFG) -crusade_dungon_cfgs = protobuf.Message(CRUSADE_DUNGON_CFGS) -depot_unlock_cfg = protobuf.Message(DEPOT_UNLOCK_CFG) -depot_unlock_cfgs = protobuf.Message(DEPOT_UNLOCK_CFGS) -dig_treasure_event_cfg = protobuf.Message(DIG_TREASURE_EVENT_CFG) -dig_treasure_event_cfgs = protobuf.Message(DIG_TREASURE_EVENT_CFGS) -divine_mission_cfg = protobuf.Message(DIVINE_MISSION_CFG) -divine_mission_cfgs = protobuf.Message(DIVINE_MISSION_CFGS) -divine_section_cfg = protobuf.Message(DIVINE_SECTION_CFG) -divine_section_cfgs = protobuf.Message(DIVINE_SECTION_CFGS) -drop_point_cfg = protobuf.Message(DROP_POINT_CFG) -drop_point_cfgs = protobuf.Message(DROP_POINT_CFGS) -edn_cfg = protobuf.Message(EDN_CFG) -edn_cfgs = protobuf.Message(EDN_CFGS) -edn_relic_cfg = protobuf.Message(EDN_RELIC_CFG) -edn_relic_cfgs = protobuf.Message(EDN_RELIC_CFGS) -edn_scene_cfg = protobuf.Message(EDN_SCENE_CFG) -edn_scene_cfgs = protobuf.Message(EDN_SCENE_CFGS) -elite_common_info_cfg = protobuf.Message(ELITE_COMMON_INFO_CFG) -elite_common_info_cfgs = protobuf.Message(ELITE_COMMON_INFO_CFGS) -elite_hell_info_cfg = protobuf.Message(ELITE_HELL_INFO_CFG) -elite_hell_info_cfgs = protobuf.Message(ELITE_HELL_INFO_CFGS) -elite_level_cfg = protobuf.Message(ELITE_LEVEL_CFG) -elite_level_cfgs = protobuf.Message(ELITE_LEVEL_CFGS) -elite_reward_cfg = protobuf.Message(ELITE_REWARD_CFG) -elite_reward_cfgs = protobuf.Message(ELITE_REWARD_CFGS) -equip_cfg = protobuf.Message(EQUIP_CFG) -equip_cfgs = protobuf.Message(EQUIP_CFGS) -equip_list_cfg = protobuf.Message(EQUIP_LIST_CFG) -equip_list_cfgs = protobuf.Message(EQUIP_LIST_CFGS) -equip_set_cfg = protobuf.Message(EQUIP_SET_CFG) -equip_set_cfgs = protobuf.Message(EQUIP_SET_CFGS) -equip_set_prop_cfg = protobuf.Message(EQUIP_SET_PROP_CFG) -equip_set_prop_cfgs = protobuf.Message(EQUIP_SET_PROP_CFGS) -errorcode_notify_cfg = protobuf.Message(ERRORCODE_NOTIFY_CFG) -errorcode_notify_cfgs = protobuf.Message(ERRORCODE_NOTIFY_CFGS) -fashion_appreciation_cfg = protobuf.Message(FASHION_APPRECIATION_CFG) -fashion_appreciation_cfgs = protobuf.Message(FASHION_APPRECIATION_CFGS) -fashion_cfg = protobuf.Message(FASHION_CFG) -fashion_cfgs = protobuf.Message(FASHION_CFGS) -fashion_cost_cfg = protobuf.Message(FASHION_COST_CFG) -fashion_cost_cfgs = protobuf.Message(FASHION_COST_CFGS) -fate_value_reward_cfg = protobuf.Message(FATE_VALUE_REWARD_CFG) -fate_value_reward_cfgs = protobuf.Message(FATE_VALUE_REWARD_CFGS) -fetter_cfg = protobuf.Message(FETTER_CFG) -fetter_cfgs = protobuf.Message(FETTER_CFGS) -fightcirme_reward_cfg = protobuf.Message(FIGHTCIRME_REWARD_CFG) -fightcirme_reward_cfgs = protobuf.Message(FIGHTCIRME_REWARD_CFGS) -fightcrime_cfg = protobuf.Message(FIGHTCRIME_CFG) -fightcrime_cfgs = protobuf.Message(FIGHTCRIME_CFGS) -fightcrime_monster_cfg = protobuf.Message(FIGHTCRIME_MONSTER_CFG) -fightcrime_monster_cfgs = protobuf.Message(FIGHTCRIME_MONSTER_CFGS) -formula_cfg = protobuf.Message(FORMULA_CFG) -formula_cfgs = protobuf.Message(FORMULA_CFGS) -friend_title_cfg = protobuf.Message(FRIEND_TITLE_CFG) -friend_title_cfgs = protobuf.Message(FRIEND_TITLE_CFGS) -func_type_weight_cfg = protobuf.Message(FUNC_TYPE_WEIGHT_CFG) -func_type_weight_cfgs = protobuf.Message(FUNC_TYPE_WEIGHT_CFGS) -gemstone_inlay_cfg = protobuf.Message(GEMSTONE_INLAY_CFG) -gemstone_inlay_cfgs = protobuf.Message(GEMSTONE_INLAY_CFGS) -gemstone_list_cfg = protobuf.Message(GEMSTONE_LIST_CFG) -gemstone_list_cfgs = protobuf.Message(GEMSTONE_LIST_CFGS) -gift_giving_cfg = protobuf.Message(GIFT_GIVING_CFG) -gift_giving_cfgs = protobuf.Message(GIFT_GIVING_CFGS) -global_param_cfg = protobuf.Message(GLOBAL_PARAM_CFG) -global_param_cfgs = protobuf.Message(GLOBAL_PARAM_CFGS) -grow_point_cfg = protobuf.Message(GROW_POINT_CFG) -grow_point_cfgs = protobuf.Message(GROW_POINT_CFGS) -guil_post_cfg = protobuf.Message(GUIL_POST_CFG) -guil_post_cfgs = protobuf.Message(GUIL_POST_CFGS) -guild_base_cfg = protobuf.Message(GUILD_BASE_CFG) -guild_base_cfgs = protobuf.Message(GUILD_BASE_CFGS) -guild_building_mission_cfg = protobuf.Message(GUILD_BUILDING_MISSION_CFG) -guild_building_mission_cfgs = protobuf.Message(GUILD_BUILDING_MISSION_CFGS) -guild_flag_cfg = protobuf.Message(GUILD_FLAG_CFG) -guild_flag_cfgs = protobuf.Message(GUILD_FLAG_CFGS) -guild_mission_base_cfg = protobuf.Message(GUILD_MISSION_BASE_CFG) -guild_mission_base_cfgs = protobuf.Message(GUILD_MISSION_BASE_CFGS) -guild_mission_cfg = protobuf.Message(GUILD_MISSION_CFG) -guild_mission_cfgs = protobuf.Message(GUILD_MISSION_CFGS) -guild_practice_group_cfg = protobuf.Message(GUILD_PRACTICE_GROUP_CFG) -guild_practice_group_cfgs = protobuf.Message(GUILD_PRACTICE_GROUP_CFGS) -guild_practice_group_cont_cfg = protobuf.Message(GUILD_PRACTICE_GROUP_CONT_CFG) -guild_practice_group_cont_cfgs = protobuf.Message(GUILD_PRACTICE_GROUP_CONT_CFGS) -independent_random_reward_cfg = protobuf.Message(INDEPENDENT_RANDOM_REWARD_CFG) -independent_random_reward_cfgs = protobuf.Message(INDEPENDENT_RANDOM_REWARD_CFGS) -inner_alchemy_cfg = protobuf.Message(INNER_ALCHEMY_CFG) -inner_alchemy_cfgs = protobuf.Message(INNER_ALCHEMY_CFGS) -inner_alchemy_group_cfg = protobuf.Message(INNER_ALCHEMY_GROUP_CFG) -inner_alchemy_group_cfgs = protobuf.Message(INNER_ALCHEMY_GROUP_CFGS) -item_cfg = protobuf.Message(ITEM_CFG) -item_cfgs = protobuf.Message(ITEM_CFGS) -jewelry_make_cfg = protobuf.Message(JEWELRY_MAKE_CFG) -jewelry_make_cfgs = protobuf.Message(JEWELRY_MAKE_CFGS) -jump_action_cfg = protobuf.Message(JUMP_ACTION_CFG) -jump_action_cfgs = protobuf.Message(JUMP_ACTION_CFGS) -jump_cfg = protobuf.Message(JUMP_CFG) -jump_cfgs = protobuf.Message(JUMP_CFGS) -language_cfg = protobuf.Message(LANGUAGE_CFG) -language_cfgs = protobuf.Message(LANGUAGE_CFGS) -level_exp_cfg = protobuf.Message(LEVEL_EXP_CFG) -level_exp_cfgs = protobuf.Message(LEVEL_EXP_CFGS) -level_package_cfg = protobuf.Message(LEVEL_PACKAGE_CFG) -level_package_cfgs = protobuf.Message(LEVEL_PACKAGE_CFGS) -magic_att_cfg = protobuf.Message(MAGIC_ATT_CFG) -magic_att_cfgs = protobuf.Message(MAGIC_ATT_CFGS) -magic_combination_cfg = protobuf.Message(MAGIC_COMBINATION_CFG) -magic_combination_cfgs = protobuf.Message(MAGIC_COMBINATION_CFGS) -magic_divine_cfg = protobuf.Message(MAGIC_DIVINE_CFG) -magic_divine_cfgs = protobuf.Message(MAGIC_DIVINE_CFGS) -magic_levelup_cfg = protobuf.Message(MAGIC_LEVELUP_CFG) -magic_levelup_cfgs = protobuf.Message(MAGIC_LEVELUP_CFGS) -magic_ostiole_cfg = protobuf.Message(MAGIC_OSTIOLE_CFG) -magic_ostiole_cfgs = protobuf.Message(MAGIC_OSTIOLE_CFGS) -magic_point_refine_cfg = protobuf.Message(MAGIC_POINT_REFINE_CFG) -magic_point_refine_cfgs = protobuf.Message(MAGIC_POINT_REFINE_CFGS) -magic_skill_cfg = protobuf.Message(MAGIC_SKILL_CFG) -magic_skill_cfgs = protobuf.Message(MAGIC_SKILL_CFGS) -magic_skill_layer_cfg = protobuf.Message(MAGIC_SKILL_LAYER_CFG) -magic_skill_layer_cfgs = protobuf.Message(MAGIC_SKILL_LAYER_CFGS) -magic_skill_uplevel_cfg = protobuf.Message(MAGIC_SKILL_UPLEVEL_CFG) -magic_skill_uplevel_cfgs = protobuf.Message(MAGIC_SKILL_UPLEVEL_CFGS) -mall_item_cfg = protobuf.Message(MALL_ITEM_CFG) -mall_item_cfgs = protobuf.Message(MALL_ITEM_CFGS) -map_signs_cfg = protobuf.Message(MAP_SIGNS_CFG) -map_signs_cfgs = protobuf.Message(MAP_SIGNS_CFGS) -material_item_cfg = protobuf.Message(MATERIAL_ITEM_CFG) -material_item_cfgs = protobuf.Message(MATERIAL_ITEM_CFGS) -medal_base_cfg = protobuf.Message(MEDAL_BASE_CFG) -medal_base_cfgs = protobuf.Message(MEDAL_BASE_CFGS) -medal_composite_addition_cfg = protobuf.Message(MEDAL_COMPOSITE_ADDITION_CFG) -medal_composite_addition_cfgs = protobuf.Message(MEDAL_COMPOSITE_ADDITION_CFGS) -medal_group_cfg = protobuf.Message(MEDAL_GROUP_CFG) -medal_group_cfgs = protobuf.Message(MEDAL_GROUP_CFGS) -medal_open_level_cfg = protobuf.Message(MEDAL_OPEN_LEVEL_CFG) -medal_open_level_cfgs = protobuf.Message(MEDAL_OPEN_LEVEL_CFGS) -medal_star_open_level_cfg = protobuf.Message(MEDAL_STAR_OPEN_LEVEL_CFG) -medal_star_open_level_cfgs = protobuf.Message(MEDAL_STAR_OPEN_LEVEL_CFGS) -minimap_cfg = protobuf.Message(MINIMAP_CFG) -minimap_cfgs = protobuf.Message(MINIMAP_CFGS) -mission_cfg = protobuf.Message(MISSION_CFG) -mission_cfgs = protobuf.Message(MISSION_CFGS) -mission_group_cfg = protobuf.Message(MISSION_GROUP_CFG) -mission_group_cfgs = protobuf.Message(MISSION_GROUP_CFGS) -monster_cfg = protobuf.Message(MONSTER_CFG) -monster_cfgs = protobuf.Message(MONSTER_CFGS) -monthcard_base_cfg = protobuf.Message(MONTHCARD_BASE_CFG) -monthcard_base_cfgs = protobuf.Message(MONTHCARD_BASE_CFGS) -mountequip_cfg = protobuf.Message(MOUNTEQUIP_CFG) -mountequip_cfgs = protobuf.Message(MOUNTEQUIP_CFGS) -npc_function_cfg = protobuf.Message(NPC_FUNCTION_CFG) -npc_function_cfgs = protobuf.Message(NPC_FUNCTION_CFGS) -npc_spawn_method_cfg = protobuf.Message(NPC_SPAWN_METHOD_CFG) -npc_spawn_method_cfgs = protobuf.Message(NPC_SPAWN_METHOD_CFGS) -open_rules_data_cfg = protobuf.Message(OPEN_RULES_DATA_CFG) -open_rules_data_cfgs = protobuf.Message(OPEN_RULES_DATA_CFGS) -partenr_experience_cfg = protobuf.Message(PARTENR_EXPERIENCE_CFG) -partenr_experience_cfgs = protobuf.Message(PARTENR_EXPERIENCE_CFGS) -partner_activation_cfg = protobuf.Message(PARTNER_ACTIVATION_CFG) -partner_activation_cfgs = protobuf.Message(PARTNER_ACTIVATION_CFGS) -partner_attribute_cfg = protobuf.Message(PARTNER_ATTRIBUTE_CFG) -partner_attribute_cfgs = protobuf.Message(PARTNER_ATTRIBUTE_CFGS) -partner_base_cfg = protobuf.Message(PARTNER_BASE_CFG) -partner_base_cfgs = protobuf.Message(PARTNER_BASE_CFGS) -partner_chip_cfg = protobuf.Message(PARTNER_CHIP_CFG) -partner_chip_cfgs = protobuf.Message(PARTNER_CHIP_CFGS) -partner_currency_cfg = protobuf.Message(PARTNER_CURRENCY_CFG) -partner_currency_cfgs = protobuf.Message(PARTNER_CURRENCY_CFGS) -partner_equiphecheng_cfg = protobuf.Message(PARTNER_EQUIPHECHENG_CFG) -partner_equiphecheng_cfgs = protobuf.Message(PARTNER_EQUIPHECHENG_CFGS) -partner_formation_cfg = protobuf.Message(PARTNER_FORMATION_CFG) -partner_formation_cfgs = protobuf.Message(PARTNER_FORMATION_CFGS) -partner_impre_levelup_cfg = protobuf.Message(PARTNER_IMPRE_LEVELUP_CFG) -partner_impre_levelup_cfgs = protobuf.Message(PARTNER_IMPRE_LEVELUP_CFGS) -partner_impression_cfg = protobuf.Message(PARTNER_IMPRESSION_CFG) -partner_impression_cfgs = protobuf.Message(PARTNER_IMPRESSION_CFGS) -partner_item_compound_cfg = protobuf.Message(PARTNER_ITEM_COMPOUND_CFG) -partner_item_compound_cfgs = protobuf.Message(PARTNER_ITEM_COMPOUND_CFGS) -partner_mood_cfg = protobuf.Message(PARTNER_MOOD_CFG) -partner_mood_cfgs = protobuf.Message(PARTNER_MOOD_CFGS) -partner_multiple_cfg = protobuf.Message(PARTNER_MULTIPLE_CFG) -partner_multiple_cfgs = protobuf.Message(PARTNER_MULTIPLE_CFGS) -partner_passiveskill_cfg = protobuf.Message(PARTNER_PASSIVESKILL_CFG) -partner_passiveskill_cfgs = protobuf.Message(PARTNER_PASSIVESKILL_CFGS) -partner_star_cfg = protobuf.Message(PARTNER_STAR_CFG) -partner_star_cfgs = protobuf.Message(PARTNER_STAR_CFGS) -partner_study_cfg = protobuf.Message(PARTNER_STUDY_CFG) -partner_study_cfgs = protobuf.Message(PARTNER_STUDY_CFGS) -playscg_cfg = protobuf.Message(PLAYSCG_CFG) -playscg_cfgs = protobuf.Message(PLAYSCG_CFGS) -plot_data_cfg = protobuf.Message(PLOT_DATA_CFG) -plot_data_cfgs = protobuf.Message(PLOT_DATA_CFGS) -prop_type_cfg = protobuf.Message(PROP_TYPE_CFG) -prop_type_cfgs = protobuf.Message(PROP_TYPE_CFGS) -randomman_cfg = protobuf.Message(RANDOMMAN_CFG) -randomman_cfgs = protobuf.Message(RANDOMMAN_CFGS) -randomwoman_cfg = protobuf.Message(RANDOMWOMAN_CFG) -randomwoman_cfgs = protobuf.Message(RANDOMWOMAN_CFGS) -rank_field_cfg = protobuf.Message(RANK_FIELD_CFG) -rank_field_cfgs = protobuf.Message(RANK_FIELD_CFGS) -rank_function_cfg = protobuf.Message(RANK_FUNCTION_CFG) -rank_function_cfgs = protobuf.Message(RANK_FUNCTION_CFGS) -res_path_cfg = protobuf.Message(RES_PATH_CFG) -res_path_cfgs = protobuf.Message(RES_PATH_CFGS) -resource_compund_cfg = protobuf.Message(RESOURCE_COMPUND_CFG) -resource_compund_cfgs = protobuf.Message(RESOURCE_COMPUND_CFGS) -revive_show_cfg = protobuf.Message(REVIVE_SHOW_CFG) -revive_show_cfgs = protobuf.Message(REVIVE_SHOW_CFGS) -reward_cfg = protobuf.Message(REWARD_CFG) -reward_cfgs = protobuf.Message(REWARD_CFGS) -role_parts_cfg = protobuf.Message(ROLE_PARTS_CFG) -role_parts_cfgs = protobuf.Message(ROLE_PARTS_CFGS) -route_mark_cfg = protobuf.Message(ROUTE_MARK_CFG) -route_mark_cfgs = protobuf.Message(ROUTE_MARK_CFGS) -rune_decompose_cfg = protobuf.Message(RUNE_DECOMPOSE_CFG) -rune_decompose_cfgs = protobuf.Message(RUNE_DECOMPOSE_CFGS) -rune_make_cfg = protobuf.Message(RUNE_MAKE_CFG) -rune_make_cfgs = protobuf.Message(RUNE_MAKE_CFGS) -rune_make_list_cfg = protobuf.Message(RUNE_MAKE_LIST_CFG) -rune_make_list_cfgs = protobuf.Message(RUNE_MAKE_LIST_CFGS) -rune_prop_group_cfg = protobuf.Message(RUNE_PROP_GROUP_CFG) -rune_prop_group_cfgs = protobuf.Message(RUNE_PROP_GROUP_CFGS) -rune_prop_refine_cfg = protobuf.Message(RUNE_PROP_REFINE_CFG) -rune_prop_refine_cfgs = protobuf.Message(RUNE_PROP_REFINE_CFGS) -rune_quality_cfg = protobuf.Message(RUNE_QUALITY_CFG) -rune_quality_cfgs = protobuf.Message(RUNE_QUALITY_CFGS) -rune_skill_group_cfg = protobuf.Message(RUNE_SKILL_GROUP_CFG) -rune_skill_group_cfgs = protobuf.Message(RUNE_SKILL_GROUP_CFGS) -rune_skill_refine_cfg = protobuf.Message(RUNE_SKILL_REFINE_CFG) -rune_skill_refine_cfgs = protobuf.Message(RUNE_SKILL_REFINE_CFGS) -scene_area_cfg = protobuf.Message(SCENE_AREA_CFG) -scene_area_cfgs = protobuf.Message(SCENE_AREA_CFGS) -scene_cfg = protobuf.Message(SCENE_CFG) -scene_cfgs = protobuf.Message(SCENE_CFGS) -scene_door_cfg = protobuf.Message(SCENE_DOOR_CFG) -scene_door_cfgs = protobuf.Message(SCENE_DOOR_CFGS) -scene_event_cfg = protobuf.Message(SCENE_EVENT_CFG) -scene_event_cfgs = protobuf.Message(SCENE_EVENT_CFGS) -scene_function_cfg = protobuf.Message(SCENE_FUNCTION_CFG) -scene_function_cfgs = protobuf.Message(SCENE_FUNCTION_CFGS) -scene_organ_cfg = protobuf.Message(SCENE_ORGAN_CFG) -scene_organ_cfgs = protobuf.Message(SCENE_ORGAN_CFGS) -scene_portal_cfg = protobuf.Message(SCENE_PORTAL_CFG) -scene_portal_cfgs = protobuf.Message(SCENE_PORTAL_CFGS) -scene_trigger_cfg = protobuf.Message(SCENE_TRIGGER_CFG) -scene_trigger_cfgs = protobuf.Message(SCENE_TRIGGER_CFGS) -service_cfg = protobuf.Message(SERVICE_CFG) -service_cfgs = protobuf.Message(SERVICE_CFGS) -shop_type_cfg = protobuf.Message(SHOP_TYPE_CFG) -shop_type_cfgs = protobuf.Message(SHOP_TYPE_CFGS) -signup_accumulation_cfg = protobuf.Message(SIGNUP_ACCUMULATION_CFG) -signup_accumulation_cfgs = protobuf.Message(SIGNUP_ACCUMULATION_CFGS) -signup_base_cfg = protobuf.Message(SIGNUP_BASE_CFG) -signup_base_cfgs = protobuf.Message(SIGNUP_BASE_CFGS) -skill_cfg = protobuf.Message(SKILL_CFG) -skill_cfgs = protobuf.Message(SKILL_CFGS) -skill_condition_cfg = protobuf.Message(SKILL_CONDITION_CFG) -skill_condition_cfgs = protobuf.Message(SKILL_CONDITION_CFGS) -skill_id_cfg = protobuf.Message(SKILL_ID_CFG) -skill_id_cfgs = protobuf.Message(SKILL_ID_CFGS) -skill_summoned_cfg = protobuf.Message(SKILL_SUMMONED_CFG) -skill_summoned_cfgs = protobuf.Message(SKILL_SUMMONED_CFGS) -skill_summoned_npc_cfg = protobuf.Message(SKILL_SUMMONED_NPC_CFG) -skill_summoned_npc_cfgs = protobuf.Message(SKILL_SUMMONED_NPC_CFGS) -soul_base_attr_cfg = protobuf.Message(SOUL_BASE_ATTR_CFG) -soul_base_attr_cfgs = protobuf.Message(SOUL_BASE_ATTR_CFGS) -soul_level_up_cfg = protobuf.Message(SOUL_LEVEL_UP_CFG) -soul_level_up_cfgs = protobuf.Message(SOUL_LEVEL_UP_CFGS) -soul_magic_attr_cfg = protobuf.Message(SOUL_MAGIC_ATTR_CFG) -soul_magic_attr_cfgs = protobuf.Message(SOUL_MAGIC_ATTR_CFGS) -soul_magic_rock_cfg = protobuf.Message(SOUL_MAGIC_ROCK_CFG) -soul_magic_rock_cfgs = protobuf.Message(SOUL_MAGIC_ROCK_CFGS) -soul_refine_rock_cfg = protobuf.Message(SOUL_REFINE_ROCK_CFG) -soul_refine_rock_cfgs = protobuf.Message(SOUL_REFINE_ROCK_CFGS) -soul_suit_attr_cfg = protobuf.Message(SOUL_SUIT_ATTR_CFG) -soul_suit_attr_cfgs = protobuf.Message(SOUL_SUIT_ATTR_CFGS) -starspirit_dungoen_cfg = protobuf.Message(STARSPIRIT_DUNGOEN_CFG) -starspirit_dungoen_cfgs = protobuf.Message(STARSPIRIT_DUNGOEN_CFGS) -state_cfg = protobuf.Message(STATE_CFG) -state_cfgs = protobuf.Message(STATE_CFGS) -strength_convert_cfg = protobuf.Message(STRENGTH_CONVERT_CFG) -strength_convert_cfgs = protobuf.Message(STRENGTH_CONVERT_CFGS) -strengthen_cfg = protobuf.Message(STRENGTHEN_CFG) -strengthen_cfgs = protobuf.Message(STRENGTHEN_CFGS) -subsys_cfg = protobuf.Message(SUBSYS_CFG) -subsys_cfgs = protobuf.Message(SUBSYS_CFGS) -suppress_cfg = protobuf.Message(SUPPRESS_CFG) -suppress_cfgs = protobuf.Message(SUPPRESS_CFGS) -suppress_group_cfg = protobuf.Message(SUPPRESS_GROUP_CFG) -suppress_group_cfgs = protobuf.Message(SUPPRESS_GROUP_CFGS) -test_cfg = protobuf.Message(TEST_CFG) -test_cfgs = protobuf.Message(TEST_CFGS) -tips_cfg = protobuf.Message(TIPS_CFG) -tips_cfgs = protobuf.Message(TIPS_CFGS) -tower_base_cfg = protobuf.Message(TOWER_BASE_CFG) -tower_base_cfgs = protobuf.Message(TOWER_BASE_CFGS) -trade_filter_rules_cfg = protobuf.Message(TRADE_FILTER_RULES_CFG) -trade_filter_rules_cfgs = protobuf.Message(TRADE_FILTER_RULES_CFGS) -trade_sort_rules_cfg = protobuf.Message(TRADE_SORT_RULES_CFG) -trade_sort_rules_cfgs = protobuf.Message(TRADE_SORT_RULES_CFGS) -trade_sub_tabs_cfg = protobuf.Message(TRADE_SUB_TABS_CFG) -trade_sub_tabs_cfgs = protobuf.Message(TRADE_SUB_TABS_CFGS) -trade_top_tabs_cfg = protobuf.Message(TRADE_TOP_TABS_CFG) -trade_top_tabs_cfgs = protobuf.Message(TRADE_TOP_TABS_CFGS) -treasure_rooms_cfg = protobuf.Message(TREASURE_ROOMS_CFG) -treasure_rooms_cfgs = protobuf.Message(TREASURE_ROOMS_CFGS) -trigger_action_cfg = protobuf.Message(TRIGGER_ACTION_CFG) -trigger_action_cfgs = protobuf.Message(TRIGGER_ACTION_CFGS) -trigger_condition_cfg = protobuf.Message(TRIGGER_CONDITION_CFG) -trigger_condition_cfgs = protobuf.Message(TRIGGER_CONDITION_CFGS) -trigger_event_cfg = protobuf.Message(TRIGGER_EVENT_CFG) -trigger_event_cfgs = protobuf.Message(TRIGGER_EVENT_CFGS) -trigger_variable_cfg = protobuf.Message(TRIGGER_VARIABLE_CFG) -trigger_variable_cfgs = protobuf.Message(TRIGGER_VARIABLE_CFGS) -ui_contribution_cfg = protobuf.Message(UI_CONTRIBUTION_CFG) -ui_contribution_cfgs = protobuf.Message(UI_CONTRIBUTION_CFGS) -weight_random_reward_cfg = protobuf.Message(WEIGHT_RANDOM_REWARD_CFG) -weight_random_reward_cfgs = protobuf.Message(WEIGHT_RANDOM_REWARD_CFGS) -wizard_base_cfg = protobuf.Message(WIZARD_BASE_CFG) -wizard_base_cfgs = protobuf.Message(WIZARD_BASE_CFGS) -wizard_level_cfg = protobuf.Message(WIZARD_LEVEL_CFG) -wizard_level_cfgs = protobuf.Message(WIZARD_LEVEL_CFGS) -wizard_task_cfg = protobuf.Message(WIZARD_TASK_CFG) -wizard_task_cfgs = protobuf.Message(WIZARD_TASK_CFGS) -world_map_cfg = protobuf.Message(WORLD_MAP_CFG) -world_map_cfgs = protobuf.Message(WORLD_MAP_CFGS) -zone_location_cfg = protobuf.Message(ZONE_LOCATION_CFG) -zone_location_cfgs = protobuf.Message(ZONE_LOCATION_CFGS) - diff --git a/test/example/vm.txt b/test/example/vm.txt deleted file mode 100644 index f2f4144d..00000000 --- a/test/example/vm.txt +++ /dev/null @@ -1,1544 +0,0 @@ -local env = require 'core.env' -local library = require 'core.library' -local createValue = require 'core.value' - -local DefaultSource = { start = 0, finish = 0 } -local GlobalChild - --- 根据赋值顺序决定遍历顺序的表 -local function orderTable() - local t = {} - local list = {} - local mark = {} - return setmetatable(t, { - __newindex = function (self, k, v) - if not mark[k] then - mark[k] = true - list[#list+1] = k - end - rawset(self, k, v) - end, - __pairs = function (self) - local i = 0 - return function () - while true do - i = i + 1 - local k = list[i] - if not k then - return nil, nil - end - local v = t[k] - if v ~= nil then - return k, v - end - end - end - end, - }) -end - -local function readOnly(t) - return setmetatable({}, { - __index = function (self, k) - if k == nil then - return nil - end - local v = t[k] - if type(v) == 'table' then - v = readOnly(v) - end - self[k] = v - return v - end, - __len = function (self) - return #t - end, - __pairs = function (self) - local keys = {} - local mark = {} - for k in next, self do - keys[#keys+1] = k - end - for k in pairs(t) do - if not mark[k] then - mark[k] = true - keys[#keys+1] = k - end - end - local i = 0 - return function () - i = i + 1 - local k = keys[i] - return k, self[k] - end - end, - __source = t, - }) -end - -local mt = {} -mt.__index = mt - -function mt:createDummyVar(source, value) - local loc = { - type = 'local', - key = '', - source = source or DefaultSource, - } - self:setValue(loc, value, source) - return loc -end - -function mt:createLocal(key, source, value) - local loc = { - type = 'local', - key = key, - source = source or DefaultSource, - close = self.scope.block.finish, - } - - if source then - source.isLocal = true - end - - local shadow = self.scope.locals[key] - if shadow then - shadow.close = source and (source.start-1) - local group - if shadow.shadow then - group = shadow.shadow - else - group = { shadow } - shadow.shadow = group - end - group[#group+1] = loc - loc.shadow = group - end - - self.scope.locals[key] = loc - self.results.locals[#self.results.locals+1] = loc - - self:addInfo(loc, 'local', source) - self:setValue(loc, value, source) - return loc -end - -function mt:createArg(key, source, value) - local loc = self:createLocal(key, source, value) - if source then - source.isArg = true - end - return loc -end - -function mt:scopePush(block) - if not block.start then - error('Scope push without start!') - end - self.scope:push() - self.scope.block = block -end - -function mt:scopePop() - self.scope:pop() -end - -function mt:addInfo(obj, type, source) - if source and not source.start then - error('Miss start: ' .. table.dump(source)) - end - obj[#obj+1] = { - type = type, - source = source or DefaultSource, - } - if source then - source.uri = self.uri - local other = self.results.sources[source] - if other then - if other.type == 'multi-source' then - other[#other+1] = obj - else - other = { - type = 'multi-source', - [1] = other, - [2] = obj, - } - end - else - self.results.sources[source] = obj - end - if type == 'set' or type == 'return' then - if not obj.declarat then - obj.declarat = source - end - end - end - return obj -end - -function mt:createDots(index, source) - local dots = { - type = 'dots', - source = source or DefaultSource, - func = self:getCurrentFunction(), - index = index, - } - self.chunk.dots = dots - return dots -end - -function mt:buildTable(source) - local tbl = self:createValue('table', source) - if not source then - return tbl - end - local n = 0 - for index, obj in ipairs(source) do - if obj.type == 'pair' then - local value = self:getExp(obj[2]) - local key = obj[1] - if key.index then - local index = self:getIndex(key) - local field = self:createField(tbl, index, key) - if value.type == 'list' then - self:setValue(field, value[1], key) - else - self:setValue(field, value, key) - end - else - if key.type == 'name' then - local field = self:createField(tbl, key[1], key) - self.results.indexs[#self.results.indexs+1] = field - key.isIndex = true - if value.type == 'list' then - self:setValue(field, value[1], key) - else - self:setValue(field, value, key) - end - end - end - else - local value = self:getExp(obj) - if value.type == 'list' then - if index == #source then - for i, v in ipairs(value) do - local field = self:createField(tbl, n + i) - self:setValue(field, v) - end - else - n = n + 1 - local field = self:createField(tbl, n) - self:setValue(field, value[1]) - end - else - n = n + 1 - local field = self:createField(tbl, n) - self:setValue(field, value) - end - -- 处理写了一半的 key = value,把name类的数组元素视为哈希键 - if obj.type == 'name' then - obj.isIndex = true - end - end - end - return tbl -end - -function mt:mergeValue(a, b, mark) - if a == b then - return - end - if not mark then - mark = {} - end - if mark[a] or mark[b] then - return - end - if a.uri ~= self.uri then - return - end - mark[a] = true - mark[b] = true - self:mergeChild(a, b, mark) - for k in pairs(a) do - a[k] = nil - end - for k, v in pairs(b) do - a[k] = v - end -end - -function mt:mergeField(a, b, mark) - if a == b then - return - end - if not mark then - mark = {} - end - for i, info in ipairs(a) do - a[i] = nil - b[#b+1] = info - end - for i, v in ipairs(b) do - a[i] = v - end - self:mergeValue(a.value, b.value, mark) -end - -function mt:mergeChild(a, b, mark) - if a == b then - return - end - if not a.child and not b.child then - return - end - if not mark then - mark = {} - end - if a.uri ~= self.uri then - return - end - if b.uri == self.uri then - local child = a.child or orderTable() - local other = b.child or orderTable() - a.child = nil - b.child = nil - for k, v in pairs(other) do - if child[k] then - self:mergeField(child[k], v, mark) - else - child[k] = v - end - end - a.child = child - b.child = child - else - local child = a.child or orderTable() - local other = b.child - if not other then - return - end - a.child = nil - for k, v in pairs(other) do - child[k] = v - end - a.child = child - end -end - -function mt:setValue(var, value, source) - if value and value.type == 'list' then - error('Cant set value list') - end - value = value or self:createValue('any', source) - if source and source.start then - self:addInfo(var, 'set', source) - self:addInfo(value, 'set', source) - end - if var.value then - if value.type == 'any' then - self:mergeChild(var.value, value) - elseif value.type == 'nil' then - self:mergeValue(var.value, value) - elseif var.value.uri == self.uri then - var.value = value - end - value = var.value - else - var.value = value - end - return value -end - -function mt:getValue(var) - if not var.value then - var.value = self:createValue('any') - end - return var.value -end - -function mt:createField(pValue, name, source) - if pValue.type == 'local' or pValue.type == 'field' then - error('Only value can create field') - end - local field = { - type = 'field', - key = name, - source = source or DefaultSource, - } - - if not pValue.child then - pValue.child = orderTable() - end - pValue.child[name] = field - self:inference(pValue, 'table') - return field -end - -function mt:getField(pValue, name, source) - local field = (pValue.child and pValue.child[name]) - if not field and pValue.ENV then - if self.lsp then - field = self.lsp:getGlobal(name) - end - end - if not field then - field = self:createField(pValue, name, source) - end - return field -end - -function mt:isGlobal(field) - if field.type ~= 'field' then - return false - end - if field.parent.value.ENV then - return true - else - return false - end -end - -function mt:buildFunction(exp, object) - local func = self:createValue('function', exp) - func.args = {} - func.argValues = {} - - if not exp then - return func - end - - self:scopePush(exp) - self.chunk:push() - self.chunk:cut 'dots' - self.chunk:cut 'labels' - self.chunk.func = func - - if object then - local var = self:createArg('self', object.source, self:getValue(object)) - var.hide = true - func.args[1] = var - end - - local stop - self:forList(exp.arg, function (arg) - if stop then - return - end - if arg.type == 'name' then - local var = self:createArg(arg[1], arg) - arg.isArg = true - func.args[#func.args+1] = var - func.argValues[#func.args] = self:getValue(var) - elseif arg.type == '...' then - self:createDots(#func.args+1, arg) - for _ = 1, 10 do - func.argValues[#func.argValues+1] = self:createValue('any', arg) - end - stop = true - end - end) - - self:doActions(exp) - - self.results.funcs[#self.results.funcs+1] = func - - self.chunk:pop() - self:scopePop() - - return func -end - -function mt:forList(list, callback) - if not list then - return - end - if list.type == 'list' then - for i = 1, #list do - callback(list[i]) - end - else - callback(list) - end -end - -function mt:countList(list) - if not list then - return 0 - end - if list.type == 'list' then - return #list - end - return 1 -end - -function mt:updateFunctionArgs(func) - if not func.argValues then - return - end - if not func.args then - return - end - - local values = func.argValues - for i, var in ipairs(func.args) do - if var.type == 'dots' then - local list = { - type = 'list', - } - for n = i, #values do - list[n-i+1] = values[n] - end - self:setValue(var, list) - break - else - self:setValue(var, values[i]) - end - end -end - -function mt:setFunctionArg(func, values) - if func.uri ~= self.uri then - return - end - if not func.argValues then - func.argValues = {} - end - for i = 1, #values do - if not func.argValues[i] then - func.argValues[i] = values[i] - end - self:inference(values[i], func.argValues[i].type) - self:inference(func.argValues[i], values[i].type) - end - - self:updateFunctionArgs(func) -end - -function mt:getFunctionArg(func, i) - if not func.argValues then - func.argValues = {} - end - if not func.argValues[i] then - for n = #func.argValues+1, i do - func.argValues[n] = self:createValue('any') - end - end - return func.argValues[i] -end - -function mt:checkMetaIndex(value, meta) - local index = self:getField(meta, '__index') - if not index then - return - end - local indexValue = self:getValue(index) - -- TODO 支持function - self:mergeChild(value, indexValue) -end - -function mt:callSetMetaTable(func, values) - if not values[1] then - values[1] = self:createValue('any') - end - if not values[2] then - values[2] = self:createValue('any') - end - self:setFunctionReturn(func, 1, values[1]) - - values[1].metatable = values[2] - -- 检查 __index - self:checkMetaIndex(values[1], values[2]) -end - -function mt:getRequire(strValue, destVM) - -- 取出对方的主函数 - local main = destVM.results.main - -- 获取主函数返回值,注意不能修改对方的环境 - local mainValue - if main.returns then - mainValue = readOnly(main.returns[1]) - else - mainValue = self:createValue('boolean', nil, true) - mainValue.uri = destVM.uri - end - - return mainValue -end - -function mt:getLoadFile(strValue, destVM) - -- 取出对方的主函数 - local main = destVM.results.main - -- loadfile 的返回值就是对方的主函数 - local mainValue = readOnly(main) - - return mainValue -end - -function mt:tryRequireOne(strValue, mode) - if not self.lsp or not self.lsp.workspace then - return nil - end - local str = strValue.value - if type(str) == 'string' then - -- 支持 require 'xxx' 的转到定义 - local strSource = strValue.source - self.results.sources[strSource] = strValue - strValue.isRequire = true - - local uri - if mode == 'require' then - uri = self.lsp.workspace:searchPath(self.uri, str) - elseif mode == 'loadfile' then - uri = self.lsp.workspace:loadPath(self.uri, str) - elseif mode == 'dofile' then - uri = self.lsp.workspace:loadPath(self.uri, str) - end - if not uri then - return nil - end - - strValue.uri = uri - -- 如果取不到VM(不编译),则做个标记,之后再取一次 - local destVM = self.lsp:getVM(uri) - self.lsp:compileChain(self.uri, uri) - if destVM then - if mode == 'require' then - return self:getRequire(strValue, destVM) - elseif mode == 'loadfile' then - return self:getLoadFile(strValue, destVM) - elseif mode == 'dofile' then - return self:getRequire(strValue, destVM) - end - end - end - return nil -end - -function mt:callRequire(func, values) - if not values[1] then - values[1] = self:createValue('any') - end - local str = values[1].value - if type(str) ~= 'string' then - return - end - local lib = library.library[str] - if lib then - local value = self:getLibValue(lib, 'library') - self:setFunctionReturn(func, 1, value) - return - else - local requireValue = self:tryRequireOne(values[1], 'require') - if not requireValue then - requireValue = self:createValue('boolean') - requireValue.isRequire = true - end - self:setFunctionReturn(func, 1, requireValue) - end -end - -function mt:callLoadFile(func, values) - if not values[1] then - values[1] = self:createValue('any') - end - local str = values[1].value - if type(str) ~= 'string' then - return - end - local requireValue = self:tryRequireOne(values[1], 'loadfile') - if not requireValue then - requireValue = self:createValue('any') - requireValue.isRequire = true - end - self:setFunctionReturn(func, 1, requireValue) -end - -function mt:callDoFile(func, values) - if not values[1] then - values[1] = self:createValue('any') - end - local str = values[1].value - if type(str) ~= 'string' then - return - end - local requireValue = self:tryRequireOne(values[1], 'dofile') - if not requireValue then - requireValue = self:createValue('any') - requireValue.isRequire = true - end - self:setFunctionReturn(func, 1, requireValue) -end - -function mt:call(func, values) - self:inference(func, 'function') - local lib = func.lib - if lib then - if lib.args then - for i, arg in ipairs(lib.args) do - if arg.type == '...' then - self:inference(self:getFunctionArg(func, i), 'any') - else - self:inference(self:getFunctionArg(func, i), arg.type or 'any') - end - end - end - if lib.returns then - for i, rtn in ipairs(lib.returns) do - if rtn.type == '...' then - self:inference(self:getFunctionReturns(func, i), 'any') - else - self:inference(self:getFunctionReturns(func, i), rtn.type or 'any') - end - end - end - if lib.special then - if lib.special == 'setmetatable' then - self:callSetMetaTable(func, values) - elseif lib.special == 'require' then - self:callRequire(func, values) - elseif lib.special == 'loadfile' then - self:callLoadFile(func, values) - elseif lib.special == 'dofile' then - self:callDoFile(func, values) - end - end - end - - self:setFunctionArg(func, values) - - return self:getFunctionReturns(func) -end - -function mt:getCurrentFunction() - return self.chunk.func -end - -function mt:mergeFunctionReturn(func, index, value) - if not func.returns[index] then - func.returns[index] = value - return - end - if value.type == 'nil' then - return - end - if value == 'any' and func.returns[index] ~= 'nil' then - return - end - func.returns[index] = value -end - -function mt:setFunctionReturn(func, index, value) - func:set('hasReturn', true) - if not func.returns then - func.returns = { - type = 'list', - } - end - if value then - if value.type == 'list' then - for i, v in ipairs(value) do - self:mergeFunctionReturn(func, index+i-1, v) - end - else - self:mergeFunctionReturn(func, index, value) - end - else - self:mergeFunctionReturn(func, index, self:createValue('any')) - end -end - -function mt:getFunctionReturns(func, i) - if func.maxReturns and i and func.maxReturns < i then - return self:createValue('nil') - end - if not func.returns then - func.returns = { - type = 'list', - } - end - if i then - if not func.returns[i] then - for n = #func.returns+1, i do - func.returns[n] = self:createValue('any') - end - end - return func.returns[i] - else - return func.returns - end -end - -function mt:inference(value, type) - if type == '...' then - error('Value type cant be ...') - end - if value.type == 'any' and type ~= 'nil' then - value.type = type - end -end - -function mt:createValue(tp, source, v) - local value = createValue(tp, self.uri, source, v) - local lib = library.object[tp] - if lib then - self:getLibChild(value, lib, 'object') - end - return value -end - -function mt:getLibChild(value, lib, parentType) - if lib.child then - if self.libraryChild[lib] then - value.child = self.libraryChild[lib] - return - end - self.libraryChild[lib] = {} - for fName, fLib in pairs(lib.child) do - local fField = self:createField(value, fName) - local fValue = self:getLibValue(fLib, parentType) - self:setValue(fField, fValue) - end - if value.child then - for k, v in pairs(value.child) do - self.libraryChild[lib][k] = v - end - end - value.child = self.libraryChild[lib] - end -end - -function mt:getLibValue(lib, parentType, v) - if self.libraryValue[lib] then - return self.libraryValue[lib] - end - local tp = lib.type - local value - if tp == 'table' then - value = self:createValue('table') - elseif tp == 'function' then - value = self:createValue('function') - if lib.returns then - local dots - for i, rtn in ipairs(lib.returns) do - self:setFunctionReturn(value, i, self:getLibValue(rtn, parentType)) - if rtn.type == '...' then - dots = true - end - end - if not dots then - value.maxReturns = #lib.returns - end - else - value.maxReturns = 0 - end - if lib.args then - local values = {} - for i, arg in ipairs(lib.args) do - values[i] = self:getLibValue(arg, parentType) or self:createValue('any') - end - self:setFunctionArg(value, values) - end - elseif tp == 'string' then - value = self:createValue('string', nil, v or lib.value) - elseif tp == 'boolean' then - value = self:createValue('boolean', nil, v or lib.value) - elseif tp == 'number' then - value = self:createValue('number', nil, v or lib.value) - elseif tp == 'integer' then - value = self:createValue('integer', nil, v or lib.value) - elseif tp == 'nil' then - value = self:createValue('nil') - elseif tp == '...' then - value = self:createValue('any') - else - value = self:createValue(tp or 'any') - end - self.libraryValue[lib] = value - value.lib = lib - value.parentType = parentType - - self:getLibChild(value, lib, parentType) - - return value -end - -function mt:getName(name, source) - local loc = self.scope.locals[name] - if loc then - return loc - end - local ENV = self.scope.locals._ENV - local global = self:getField(self:getValue(ENV), name, source) - global.parent = ENV - return global -end - -function mt:getIndex(obj) - local tp = obj.type - if tp == 'name' then - local var = self:getName(obj[1]) - local value = self:getValue(var) - self:addInfo(var, 'get', obj) - return value - elseif (tp == 'string' or tp == 'number' or tp == 'boolean') then - return obj[1] - else - return self:getExp(obj) - end -end - --- expect表示遇到 ... 时,期待的返回数量 -function mt:unpackDots(res, expect) - local dots = self:getDots(1) - local func = dots.func - local start = dots.index - if expect then - local finish = start + expect - 1 - for i = start, finish do - res[#res+1] = self:getFunctionArg(func, i) - end - else - if not func.argValues then - return - end - for i = start, #func.argValues do - res[#res+1] = func.argValues[i] - end - end -end - -function mt:unpackList(list, expect) - local res = { - type = 'list', - } - if not list then - return res - end - if list.type == 'list' or list.type == 'call' then - for i, exp in ipairs(list) do - if exp.type == '...' then - self:unpackDots(res, expect) - break - end - local value = self:getExp(exp) - if value.type == 'list' then - if i == #list then - for _, v in ipairs(value) do - res[#res+1] = v - end - else - res[#res+1] = value[1] - end - else - res[#res+1] = value - end - end - elseif list.type == '...' then - self:unpackDots(res, expect) - else - local value = self:getExp(list) - if value.type == 'list' then - for i, v in ipairs(value) do - res[i] = v - end - else - res[1] = value - end - end - for _, v in ipairs(res) do - if v.type == 'list' then - error('Unpack list') - end - end - return res -end - -function mt:getSimple(simple, mode) - local value = self:getExp(simple[1]) - local field - local parentName - local tp = simple[1].type - if tp == 'name' then - field = self:getName(simple[1][1]) - parentName = field.key - elseif tp == 'string' or tp == 'number' or tp == 'nil' or tp == 'boolean' then - local v = self:createValue(tp, simple[1], simple[1][1]) - field = self:createDummyVar(simple[1], v) - parentName = '*' .. tp - else - local v = self:createValue('any', simple[1]) - field = self:createDummyVar(simple[1], v) - parentName = '?' - end - local object - local lastField = field - for i = 2, #simple do - local obj = simple[i] - local tp = obj.type - - if tp == 'call' then - local args = self:unpackList(obj) - if object then - table.insert(args, 1, self:getValue(object)) - end - local func = value - -- 函数的返回值一定是list - value = self:call(func, args) - if i < #simple then - value = value[1] or self:createValue('any') - end - self.results.calls[#self.results.calls+1] = { - args = obj, - lastObj = simple[i-1], - nextObj = simple[i+1], - func = func, - } - parentName = parentName .. '(...)' - elseif tp == 'index' then - local child = obj[1] - local index = self:getIndex(child) - field = self:getField(value, index, child) - field.parentValue = value - value = self:getValue(field) - if mode == 'value' or i < #simple then - self:addInfo(field, 'get', obj) - end - field.parent = lastField - lastField = field - obj.object = object - obj.parentName = parentName - if obj[1].type == 'string' then - parentName = ('%s[%q]'):format(parentName, index) - elseif obj[1].type == 'number' or obj[1].type == 'boolean' then - parentName = ('%s[%s]'):format(parentName, index) - else - parentName = ('%s[?]'):format(parentName) - end - elseif tp == 'name' then - field = self:getField(value, obj[1], obj) - field.parentValue = value - value = self:getValue(field) - if mode == 'value' or i < #simple then - self:addInfo(field, 'get', obj) - end - field.parent = lastField - lastField = field - obj.object = object - obj.parentName = parentName - parentName = parentName .. '.' .. field.key - elseif tp == ':' then - object = field - simple[i-1].colon = obj - elseif tp == '.' then - simple[i-1].dot = obj - end - end - if mode == 'value' then - return value, object - elseif mode == 'field' then - return field, object - end - error('Unknow simple mode: ' .. mode) -end - -function mt:isTrue(v) - if v.type == 'nil' then - return false - end - if v.type == 'boolean' and not v.value then - return false - end - return true -end - -function mt:getBinary(exp) - local v1 = self:getExp(exp[1]) - local v2 = self:getExp(exp[2]) - local op = exp.op - -- TODO 搜索元方法 - if op == 'or' then - if self:isTrue(v1) then - return v1 - else - return v2 - end - elseif op == 'and' then - if self:isTrue(v1) then - return v2 - else - return v1 - end - elseif op == '<=' - or op == '>=' - or op == '<' - or op == '>' - then - self:inference(v1, 'number') - self:inference(v2, 'number') - return self:createValue('boolean') - elseif op == '~=' - or op == '==' - then - return self:createValue('boolean') - elseif op == '|' - or op == '~' - or op == '&' - or op == '<<' - or op == '>>' - then - self:inference(v1, 'integer') - self:inference(v2, 'integer') - if math.type(v1.value) == 'integer' and math.type(v2.value) == 'integer' then - if op == '|' then - return self:createValue('integer', v1.value | v2.value) - elseif op == '~' then - return self:createValue('integer', v1.value ~ v2.value) - elseif op == '&' then - return self:createValue('integer', v1.value &v2.value) - elseif op == '<<' then - return self:createValue('integer', v1.value << v2.value) - elseif op == '>>' then - return self:createValue('integer', v1.value >> v2.value) - end - end - return self:createValue('integer') - elseif op == '..' then - self:inference(v1, 'string') - self:inference(v2, 'string') - if type(v1.value) == 'string' and type(v2.value) == 'string' then - return self:createValue('string', nil, v1.value .. v2.value) - end - return self:createValue('string') - elseif op == '+' - or op == '-' - or op == '*' - or op == '/' - or op == '^' - or op == '%' - or op == '//' - then - self:inference(v1, 'number') - self:inference(v2, 'number') - if type(v1.value) == 'number' and type(v2.value) == 'number' then - if op == '+' then - return self:createValue('number', nil, v1.value + v2.value) - elseif op == '-' then - return self:createValue('number', nil, v1.value - v2.value) - elseif op == '*' then - return self:createValue('number', nil, v1.value * v2.value) - elseif op == '/' then - if v2.value ~= 0 then - return self:createValue('number', nil, v1.value / v2.value) - end - elseif op == '^' then - return self:createValue('number', nil, v1.value ^ v2.value) - elseif op == '%' then - if v2.value ~= 0 then - return self:createValue('number', nil, v1.value % v2.value) - end - elseif op == '//' then - if v2.value ~= 0 then - return self:createValue('number', nil, v1.value // v2.value) - end - end - end - return self:createValue('number') - end - return nil -end - -function mt:getUnary(exp) - local v1 = self:getExp(exp[1]) - local op = exp.op - -- TODO 搜索元方法 - if op == 'not' then - return self:createValue('boolean') - elseif op == '#' then - self:inference(v1, 'table') - if type(v1.value) == 'string' then - return self:createValue('integer', nil, #v1.value) - end - return self:createValue('integer') - elseif op == '-' then - self:inference(v1, 'number') - if type(v1.value) == 'number' then - return self:createValue('number', nil, -v1.value) - end - return self:createValue('number') - elseif op == '~' then - self:inference(v1, 'integer') - if math.type(v1.value) == 'integer' then - return self:createValue('integer', nil, ~v1.value) - end - return self:createValue('integer') - end - return nil -end - -function mt:getDots() - if not self.chunk.dots then - self:createDots(1) - end - return self.chunk.dots -end - -function mt:getExp(exp) - local tp = exp.type - if tp == 'nil' then - return self:createValue('nil', exp) - elseif tp == 'string' then - self.results.strings[#self.results.strings+1] = exp - return self:createValue('string', exp, exp[1]) - elseif tp == 'boolean' then - return self:createValue('boolean', exp, exp[1]) - elseif tp == 'number' then - return self:createValue('number', exp, exp[1]) - elseif tp == 'name' then - local var = self:getName(exp[1], exp) - local value = self:getValue(var) - self:addInfo(var, 'get', exp) - return value - elseif tp == 'simple' then - return self:getSimple(exp, 'value') - elseif tp == 'binary' then - return self:getBinary(exp) - elseif tp == 'unary' then - return self:getUnary(exp) - elseif tp == 'function' then - return self:buildFunction(exp) - elseif tp == 'table' then - return self:buildTable(exp) - elseif tp == '...' then - local value = { type = 'list' } - self:unpackDots(value) - return value - end - error('Unkown exp type: ' .. tostring(tp)) -end - -function mt:doDo(action) - self:scopePush(action) - self:doActions(action) - self:scopePop() -end - -function mt:doReturn(action) - self:getCurrentFunction():set('hasReturn', true) - for i, exp in ipairs(action) do - local value = self:getExp(exp) - if value.type == 'list' then - if i == #action then - if #value == 0 then - value[1] = self:createValue('any', exp) - end - for x, v in ipairs(value) do - self:addInfo(v, 'return', exp) - self:setFunctionReturn(self:getCurrentFunction(), i + x - 1, v) - end - break - else - local v = value[1] or self:createValue('nil', exp) - self:addInfo(v, 'return', exp) - self:setFunctionReturn(self:getCurrentFunction(), i, v) - end - else - self:addInfo(value, 'return', exp) - self:setFunctionReturn(self:getCurrentFunction(), i, value) - end - end -end - -function mt:createLabel(action) - local name = action[1] - if not self.chunk.labels[name] then - local label = { - type = 'label', - key = name, - } - self.chunk.labels[name] = label - self.results.labels[#self.results.labels+1] = label - end - return self.chunk.labels[name] -end - -function mt:doSet(action) - if not action[2] then - return - end - local n = self:countList(action[1]) - -- 要先计算值 - local values = self:unpackList(action[2], n) - self:forList(action[1], function (key) - local value = table.remove(values, 1) - if key.type == 'name' then - local var = self:getName(key[1], key) - self:setValue(var, value, key) - if self:isGlobal(var) then - self.results.globals[#self.results.globals+1] = { - type = 'global', - global = var, - } - end - elseif key.type == 'simple' then - local field = self:getSimple(key, 'field') - self:setValue(field, value, key[#key]) - local var = field - repeat - if self:isGlobal(var) then - self.results.globals[#self.results.globals+1] = { - type = 'field', - global = var, - } - break - end - var = var.parent - until not var - end - end) -end - -function mt:doLocal(action) - local n = self:countList(action[1]) - local values - if action[2] then - values = self:unpackList(action[2], n) - end - self:forList(action[1], function (key) - local value - if values then - value = table.remove(values, 1) - end - self:createLocal(key[1], key, value) - end) -end - -function mt:doIf(action) - for _, block in ipairs(action) do - if block.filter then - self:getExp(block.filter) - end - - self:scopePush(block) - self:doActions(block) - self:scopePop() - end -end - -function mt:doLoop(action) - - local min = self:unpackList(action.min)[1] - self:getExp(action.max) - if action.step then - self:getExp(action.step) - end - - self:scopePush(action) - self:createLocal(action.arg[1], action.arg, min) - self:doActions(action) - self:scopePop() -end - -function mt:doIn(action) - local args = self:unpackList(action.exp) - - self:scopePush(action) - local func = table.remove(args, 1) or self:createValue('any') - local values = self:call(func, args) - self:forList(action.arg, function (arg) - local value = table.remove(values, 1) - self:createLocal(arg[1], arg, value) - end) - - self:doActions(action) - - self:scopePop() -end - -function mt:doWhile(action) - - self:getExp(action.filter) - - self:scopePush(action) - self:doActions(action) - self:scopePop() -end - -function mt:doRepeat(action) - self:scopePush(action) - self:doActions(action) - self:getExp(action.filter) - self:scopePop() -end - -function mt:doFunction(action) - local name = action.name - local var, object - local source - if name then - if name.type == 'simple' then - var, object = self:getSimple(name, 'field') - source = name[#name] - else - var = self:getName(name[1], name) - source = name - end - end - local func = self:buildFunction(action, object) - if var then - self:setValue(var, func, source) - end -end - -function mt:doLocalFunction(action) - local name = action.name - local var, object - local source - if name then - if name.type == 'simple' then - var, object = self:getSimple(name, 'field') - source = name[#name] - else - var = self:createLocal(name[1], name) - source = name - end - end - local func = self:buildFunction(action, object) - if var then - self:setValue(var, func, source) - end -end - -function mt:doAction(action) - if not action then - -- Skip - return - end - local tp = action.type - if tp == 'do' then - self:doDo(action) - elseif tp == 'break' then - elseif tp == 'return' then - self:doReturn(action) - elseif tp == 'label' then - local label = self:createLabel(action) - self:addInfo(label, 'set', action) - elseif tp == 'goto' then - local label = self:createLabel(action) - self:addInfo(label, 'goto', action) - elseif tp == 'set' then - self:doSet(action) - elseif tp == 'local' then - self:doLocal(action) - elseif tp == 'simple' then - -- call - self:getSimple(action, 'value') - elseif tp == 'if' then - self:doIf(action) - elseif tp == 'loop' then - self:doLoop(action) - elseif tp == 'in' then - self:doIn(action) - elseif tp == 'while' then - self:doWhile(action) - elseif tp == 'repeat' then - self:doRepeat(action) - elseif tp == 'function' then - self:doFunction(action) - elseif tp == 'localfunction' then - self:doLocalFunction(action) - else - self:getExp(action) - end -end - -function mt:doActions(actions) - for _, action in ipairs(actions) do - self:doAction(action) - if coroutine.isyieldable() then - coroutine.yield() - end - end -end - -function mt:createEnvironment() - self.scope.block = { start = 0, finish = math.maxinteger } - -- 整个文件是一个函数 - self.chunk.func = self:buildFunction() - self.results.main = self.chunk.func - -- 隐藏的上值`_ENV` - local parent = self:createLocal('_ENV') - parent.hide = true - local envValue = self:setValue(parent, self:buildTable()) - -- _ENV 有个特殊标记 - envValue.ENV = true - -- 隐藏的参数`...` - self:createDots(1) - - -- 设置全局变量 - if not GlobalChild then - for name, lib in pairs(library.global) do - local field = self:createField(envValue, name) - local value = self:getLibValue(lib, 'global') - value = self:setValue(field, value) - end - GlobalChild = envValue.child - end - envValue.child = readOnly(GlobalChild) - - -- 设置 _G 使用 _ENV 的child - local g = self:getField(envValue, '_G') - local gValue = self:getValue(g) - gValue.child = envValue.child - self.env = envValue -end - -local function compile(ast, lsp, uri) - local vm = setmetatable({ - scope = env { - locals = {}, - }, - chunk = env { - labels = {}, - }, - results = { - locals = {}, - labels = {}, - funcs = {}, - calls = {}, - sources= {}, - strings= {}, - indexs = {}, - globals= {}, - main = nil, - }, - libraryValue = {}, - libraryChild = {}, - lsp = lsp, - uri = uri, - }, mt) - - -- 创建初始环境 - vm:createEnvironment() - - -- 执行代码 - vm:doActions(ast) - - vm.scope = nil - vm.chunk = nil - vm.libraryValue = nil - vm.libraryChild = nil - - return vm -end - -return function (ast, lsp, uri) - if not ast then - return nil - end - local suc, res = xpcall(compile, log.error, ast, lsp, uri) - if not suc then - return nil - end - return res -end diff --git a/test/find_lib/init.lua b/test/find_lib/init.lua deleted file mode 100644 index 51f53b75..00000000 --- a/test/find_lib/init.lua +++ /dev/null @@ -1,106 +0,0 @@ -local core = require 'core' -local parser = require 'parser' -local buildVM = require 'vm' - -rawset(_G, 'TEST', true) - -function TEST(fullkey) - return function (script) - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - local pos = (start + finish) // 2 + 1 - local new_script = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - assert(ast) - local vm = buildVM(ast) - assert(vm) - local source = core.findSource(vm, pos) - local _, name = core.findLib(source) - assert(name == fullkey) - end -end - -TEST 'require' [[ -<?require?> 'xxx' -]] - -TEST 'req<require>' [[ -local <?req?> = require -]] - -TEST 'req<require>' [[ -local req = require -local t = { - xx = req, -} -t[<?'xx'?>]() -]] - -TEST 'table' [[ -<?table?>.unpack() -]] - -TEST 'xx<table>' [[ -local <?xx?> = require 'table' -]] - -TEST 'xx<table>' [[ -local rq = require -local lib = 'table' -local <?xx?> = rq(lib) -]] - -TEST 'table.insert' [[ -table.<?insert?>() -]] - -TEST 'table.insert' [[ -local t = table -t.<?insert?>() -]] - -TEST 'table.insert' [[ -local insert = table.insert -<?insert?>() -]] - -TEST 'table.insert' [[ -local t = require 'table' -t.<?insert?>() -]] - -TEST 'table.insert' [[ -require 'table'.<?insert?>() -]] - -TEST '*string.sub' [[ -local str = 'xxx' -str.<?sub?>() -]] - -TEST '*string:sub' [[ -local str = 'xxx' -str:<?sub?>(1, 1) -]] - -TEST '*string.sub' [[ -('xxx').<?sub?>() -]] - -TEST 'fs<bee::filesystem>' [[ -local <?fs?> = require 'bee.filesystem' -]] - -TEST 'fs.current_path' [[ -local filesystem = require 'bee.filesystem' - -ROOT = filesystem.<?current_path?>() -]] - -TEST(nil)[[ -print(<?insert?>) -]] - -TEST '_G' [[ -local x = <?_G?> -]] diff --git a/test/full/dirty.lua b/test/full/dirty.lua deleted file mode 100644 index 5fe4e998..00000000 --- a/test/full/dirty.lua +++ /dev/null @@ -1,15 +0,0 @@ -TEST [[ -a. -]] - -TEST [[ -a: -]] - -TEST [[ -end -]] - -TEST [[ -table.02X -]] diff --git a/test/full/example.lua b/test/full/example.lua deleted file mode 100644 index fca17ea5..00000000 --- a/test/full/example.lua +++ /dev/null @@ -1,42 +0,0 @@ -local fs = require 'bee.filesystem' -local core = require 'core' -local parser = require 'parser' - -TEST(io.load(ROOT / 'script' / 'vm' / 'vm.lua')) - --- 临时 -local function testIfExit(path) - local buf = io.load(fs.path(path)) - if buf then - local vm - - local clock = os.clock() - local max = 100 - local need - for i = 1, max do - vm = TEST(buf) - local passed = os.clock() - clock - if passed >= 1.0 or i == max then - need = passed / i - break - end - end - print(('基准编译测试[%s]单次耗时:%.10f'):format(path:filename():string(), need)) - - local clock = os.clock() - local max = 100 - local need - local lines = parser:lines(buf, 'utf8') - for i = 1, max do - core.diagnostics(vm, lines, 'test') - local passed = os.clock() - clock - if passed >= 1.0 or i == max then - need = passed / i - break - end - end - print(('基准诊断测试[%s]单次耗时:%.10f'):format(path:filename():string(), need)) - end -end -testIfExit(ROOT / 'test' / 'example' / 'vm.txt') -testIfExit(ROOT / 'test' / 'example' / 'largeGlobal.txt') diff --git a/test/full/init.lua b/test/full/init.lua deleted file mode 100644 index 3d0661cb..00000000 --- a/test/full/init.lua +++ /dev/null @@ -1,16 +0,0 @@ -local buildVM = require 'vm' -local parser = require 'parser' - -rawset(_G, 'TEST', true) - -function TEST(script) - local ast = parser:parse(script, 'lua', 'Lua 5.3') - assert(ast) - local vm, err = buildVM(ast) - assert(vm, err) - return vm -end - -require 'full.normal' -require 'full.example' -require 'full.dirty' diff --git a/test/full/normal.lua b/test/full/normal.lua deleted file mode 100644 index 1f08a92a..00000000 --- a/test/full/normal.lua +++ /dev/null @@ -1,161 +0,0 @@ -TEST [[ -do - x = 1 -end -]] - -TEST [[ -return nil, 1, true, 'xx' -]] - -TEST [[ -return a -]] - -TEST [[ -retrun a.b:c(1, 2, ...)[1][name] -]] - -TEST [[ -return 1 + 1 -]] - -TEST [[ -return -1 -]] - -TEST [[ -return ... -]] - -TEST [[ -return function (a, b, ...) -end -]] - -TEST [[ -return { - a = 1, - b = { - c = d, - e = f, - }, - g, - h, - 1, -} -]] - -TEST [[ -::LABEL:: -goto LABEL -goto NEXT -::NEXT:: -]] - -TEST [[ -a, b, c = 1, 2, ... -]] - -TEST [[ -local a, b, c = 1, 2, ... -]] - -TEST [[ -a[#a+1] = 1 -]] - -TEST [[ -xx(a, b, 2, 3, ...) -]] - -TEST [[ -if a then -elseif b then -elseif c then -else -end -]] - -TEST [[ -for i = 1, 10, 1 do -end -]] - -TEST [[ -for a, b, c in pairs(t) do -end -]] - -TEST [[ -while true do -end -]] - -TEST [[ -repeat -until true -]] - -TEST [[ -function xx:yy(a, b, c, ...) -end -]] - -TEST [[ -local function xx(a, b, c, ...) -end -]] - -TEST [[ -local v = 1 -local function xx() - print(v) -end -local v = 2 -xx() -]] - -TEST [[ -return { - 1, 2, 3 -} -]] - -TEST [[ -return function () -end -]] - -TEST [[ -t[...] = 1 -]] - -TEST [[ -return { - [...] = ... -} -]] - -TEST [[ --- 选取单位 ----@param center point ----@param radius number ----@param height number ----@return unit[] -function scene:selectByCylinder(center, radius, height) -end -]] - -TEST [[ -local x = , -]] - -TEST [[ ----@type any|fun():nil -local t -]] - -TEST [[ ----@field name fun(self: Command, aliases: string|string[]) -]] diff --git a/test/highlight/init.lua b/test/highlight/init.lua deleted file mode 100644 index 6b8ab355..00000000 --- a/test/highlight/init.lua +++ /dev/null @@ -1,85 +0,0 @@ -local core = require 'core' -local parser = require 'parser' -local buildVM = require 'vm' - -local function catch_target(script) - local list = {} - local cur = 1 - while true do - local start, finish = script:find('<[!?].-[!?]>', cur) - if not start then - break - end - list[#list+1] = { start + 2, finish - 2 } - cur = finish + 1 - end - return list -end - -local function founded(targets, results) - if #targets ~= #results then - return false - end - for _, target in ipairs(targets) do - for _, result in ipairs(results) do - if target[1] == result[1] and target[2] == result[2] then - goto NEXT - end - end - do return false end - ::NEXT:: - end - return true -end - -function TEST(newName) - return function (script) - local target = catch_target(script) - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - local pos = (start + finish) // 2 + 1 - local new_script = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - assert(ast) - local vm = buildVM(ast) - assert(vm) - - local positions = core.highlight(vm, pos) - if positions then - assert(founded(target, positions)) - else - assert(#target == 0) - end - end -end - -TEST 'b' [[ -local <?a?> = 1 -]] - -TEST 'b' [[ -local <?a?> = 1 -<!a!> = 2 -<!a!> = <!a!> -]] - -TEST 'b' [[ -t.<?a?> = 1 -a = t.<!a!> -]] - -TEST 'b' [[ -t[<!'a'!>] = 1 -a = t.<?a?> -]] - -TEST 'b' [[ -:: <?a?> :: -goto <!a!> -]] - -TEST 'b' [[ -local function f(<!a!>) - return <?a?> -end -]] diff --git a/test/hover/init.lua b/test/hover/init.lua deleted file mode 100644 index 69e9c23d..00000000 --- a/test/hover/init.lua +++ /dev/null @@ -1,885 +0,0 @@ -local parser = require 'parser' -local core = require 'core' -local buildVM = require 'vm' - -rawset(_G, 'TEST', true) - -function TEST(script) - return function (expect) - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - local pos = (start + finish) // 2 + 1 - local new_script = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - local vm = buildVM(ast) - assert(vm) - local source = core.findSource(vm, pos) - local hover = core.hover(source) - if expect then - assert(hover) - expect = expect:gsub('^[\r\n]*(.-)[\r\n]*$', '%1'):gsub('\r\n', '\n') - local label = hover.label:gsub('^[\r\n]*(.-)[\r\n]*$', '%1'):gsub('\r\n', '\n') - assert(expect == label) - else - assert(hover == nil) - end - end -end - -TEST [[ -local function <?x?>(a, b) -end -]] -"function x(a: any, b: any)" - -TEST [[ -local function x(a, b) -end -<?x?>() -]] -"function x(a: any, b: any)" - -TEST [[ -local mt = {} -mt.__index = mt - -function mt:init(a, b, c) - return {} -end - -local obj = setmetatable({}, mt) - -obj:<?init?>(1, '测试') -]] -[[ -function mt:init(a: number, b: string, c: any) - -> table -]] - -TEST [[ -local mt = {} -mt.__index = mt - -function mt:init(a, b, c) - return {} -end - -local obj = setmetatable({}, mt) - -obj:init(1, '测试') -obj.<?init?>(obj, 1, '测试') -]] -[[ -function mt.init(self: table, a: number, b: string, c: any) - -> table -]] - -TEST [[ -function obj.xxx() -end - -obj.<?xxx?>() -]] -"function obj.xxx()" - -TEST [[ -obj.<?xxx?>() -]] -[[function obj.xxx() - -> any -]] - -TEST [[ -local <?x?> = 1 -]] -"local x: number = 1" - -TEST [[ -<?x?> = 1 -]] -"global x: number = 1" - -TEST [[ -local t = {} -t.<?x?> = 1 -]] -"field t.x: number = 1" - -TEST [[ -t = {} -t.<?x?> = 1 -]] -"global t.x: number = 1" - -TEST [[ -local mt = {} -mt.__name = 'class' - -local <?obj?> = setmetatable({}, mt) -]] -"local obj: *class {}" - -TEST [[ -local mt = {} -mt.name = 'class' -mt.__index = mt - -local <?obj?> = setmetatable({}, mt) -]] -[[ -local obj: *class { - __index: table, - name: string = "class", -} -]] - -TEST [[ -local mt = {} -mt.TYPE = 'class' -mt.__index = mt - -local <?obj?> = setmetatable({}, mt) -]] -[[ -local obj: *class { - TYPE: string = "class", - __index: table, -} -]] - -TEST [[ -local mt = {} -mt.Class = 'class' -mt.__index = mt - -local <?obj?> = setmetatable({}, mt) -]] -[[ -local obj: *class { - Class: string = "class", - __index: table, -} -]] - -TEST[[ -local fs = require 'bee.filesystem' -local <?root?> = fs.current_path() -]] -"local root: *bee::filesystem" - -TEST[[ -('xx'):<?yy?>() -]] -[[function *string:yy() - -> any]] - -TEST [[ -local <?v?> = collectgarbage() -]] -"local v: any" - -TEST [[ -local type -w2l:get_default()[<?type?>] -]] -"local type: any" - -TEST [[ -<?load?>() -]] -[=[ -function load(chunk: string/function [, chunkname: string [, mode: string [, env: table]]]) - -> function - 2. error_message: string -]=] - -TEST [[ -string.<?lower?>() -]] -[[ -function string.lower(string) - -> string -]] - -TEST [[ -local function x(a, ...) -end - -<?x?>(1, 2, 3, 4, 5, 6, 7) -]] -[[ -function x(a: number, ...) -]] - -TEST [[ -local function x() - return y() -end - -<?x?>() -]] -[[ -function x() - -> any -]] - -TEST [[ -local mt = {} -mt.__index = mt - -function mt:add(a, b) -end - -local function init() - return setmetatable({}, mt) -end - -local t = init() -t:<?add?>() -]] -[[ -function mt:add(a: any, b: any) -]] - -TEST [[ -local <?t?> = - 1000 -]] -[[local t: number = -1000]] - -TEST [[ -for <?c?> in io.lines() do -end -]] -[[local c: string]] - -TEST [[ -local function f() - return ... -end -local <?n?> = f() -]] -[[local n: any]] - -TEST [[ -local <?n?> = table.unpack(t) -]] -[[local n: any]] - -TEST [[ -local <?n?> -table.pack(n) -]] -[[ -local n: any -]] - -TEST [[ -local <?t?> = { - a = 1, - b = 2, - c = 3, -} -]] -[[ -local t: { - a: number = 1, - b: number = 2, - c: number = 3, -} -]] - -TEST [[ -local <?t?> = { - a = 1, - [1] = 2, - [true] = 3, - [5.5] = 4, - [{}] = 5, - [function () end] = 6, - ["b"] = 7, - ["012"] = 8, -} -]] -[[ -local t: { - ["012"]: number = 8, - [*function]: number = 6, - [*table]: number = 5, - [001]: number = 2, - [5.5]: number = 4, - [true]: number = 3, - a: number = 1, - b: number = 7, -} -]] - -TEST [[ -local <?t?> = {} -t[#t+1] = 1 -t[#t+1] = 1 - -local any = collectgarbage() -t[any] = any -]] -[[ -local t: { - [*number]: number = 1, -} -]] - -TEST[[ -local x = 1 -local y = x -print(<?y?>) -]] -[[ -local y: number = 1 -]] - -TEST[[ -local mt = {} -mt.a = 1 -mt.b = 2 -mt.c = 3 -local <?obj?> = setmetatable({}, {__index = mt}) -]] -[[ -local obj: { - a: number = 1, - b: number = 2, - c: number = 3, -} -]] - -TEST[[ -local mt = {} -mt.__index = {} - -function mt:test(a, b) - self:<?test?>() -end -]] -[[ -function mt:test(a: any, b: any) -]] - -TEST[[ -local mt = {} -mt.__index = mt -mt.__name = 'obj' - -function mt:remove() -end - -local <?self?> = setmetatable({ - id = 1, -}, mt) -]] -[[ -local self: *obj { - __index: table, - __name: string = "obj", - id: number = 1, - remove: function, -} -]] - -TEST[[ -local <?sssss?> = require 'utf8' -]] -[[ -local sssss<utf8>: { - char: function, - charpattern: string, - codepoint: function, - codes: function, - len: function, - offset: function, -} -]] - -TEST[[ -function a(v) - print(<?v?>) -end -a(1) -]] -[[ -local v: number = 1 -]] - -TEST[[ -function a(v) - print(<?v?>) -end -pcall(a, 1) -]] -[[ -local v: number = 1 -]] - -TEST[[ -function a(v) - print(<?v?>) -end -xpcall(a, log.error, 1) -]] -[[ -local v: number = 1 -]] - -TEST[[ -function a(v) - return 'a' -end -local _, <?r?> = pcall(a, 1) -]] -[[ -local r: string = "a" -]] - -TEST[[ -local <?n?> = rawlen() -]] -[[ -local n: integer -]] - -TEST[[ -<?next?>() -]] -[[ -function next(table: table [, index: any]) - -> key: any - 2. value: any -]] - -TEST[[ -local <?n?> = pairs() -]] -[[ -function n<next>(table: table [, index: any]) - -> key: any - 2. value: any -]] - -TEST[[ -local <?x?> = '\a' -]] -[[local x: string = "\007"]] - -TEST[[ ----@class Class -local <?x?> = class() -]] -[[ -local x: *Class {} -]] - -TEST[[ ----@class Class -<?x?> = class() -]] -[[ -global x: *Class {} -]] - -TEST[[ -local t = { - ---@class Class - <?x?> = class() -} -]] -[[ -field x: *Class {} -]] - -TEST[[ ----@type Class -local <?x?> = class() -]] -[[ -local x: *Class {} -]] - -TEST[[ ----@type Class -<?x?> = class() -]] -[[ -global x: *Class {} -]] - -TEST[[ -local t = { - ---@type Class - <?x?> = class() -} -]] -[[ -field x: *Class {} -]] - -TEST[[ ----@type A|B|C -local <?x?> = class() -]] -[[ -local x: *A|B|C {} -]] - -TEST[[ ----@class Class -local <?x?> = { - b = 1 -} -]] -[[ -local x: *Class { - b: number = 1, -} -]] - -TEST [[ ----@class Class -local mt = {} - ----@param t Class -function f(<?t?>) -end -]] -[[ -local t: *Class {} -]] - -TEST [[ ----@class Class -local mt = {} - ----@param t Class -function f(t) - print(<?t?>) -end -]] -[[ -local t: *Class {} -]] - -TEST [[ ----@class Class -local mt = {} - ----@param t Class -function f(t) -end - -f(<?s?>) -]] -[[ -global s: *Class {} -]] - -TEST [[ ----@class Class - ----@param k Class -for <?k?> in pairs(t) do -end -]] -[[ -local k<key>: *Class {} -]] - -TEST [[ ----@class Class - ----@param v Class -for k, <?v?> in pairs(t) do -end -]] -[[ -local v<value>: *Class {} -]] - -TEST [[ ----@return A|B ----@return C -local function <?f?>() -end -]] -[[ -function f() - -> A|B - 2. C -]] - -TEST [[ ----@generic T ----@param x T ----@return T -local function f(x) -end - -local <?r?> = f(1) -]] -[[ -local r: number -]] - -TEST [[ ----@param x number ----@param y boolean -local function <?f?>(x, y) -end -]] -[[ -function f(x: number, y: boolean) -]] - -TEST [[ ----@vararg Class -local function f(...) - local _, <?x?> = ... -end -f(1, 2, 3) -]] -[[ -local x: *Class = 2 -]] - -TEST [[ ----@vararg Class -local function f(...) - local _, <?x?> = ... -end -]] -[[ -local x: *Class {} -]] - -TEST [[ ----@type string[] -local <?x?> -]] -[[ -local x: { - [*integer]: string, -} -]] - -TEST [[ ----@type (string|boolean)[] -local <?x?> -]] -[[ -local x: { - [*integer]: string|boolean, -} -]] - -TEST [[ ----@type string[] -local t -local <?x?> = t[1] -]] -[[ -local x: string -]] - -TEST [[ ----@type string[] -local t -for _, <?x?> in ipairs(t) do -end -]] -[[ -local x: string -]] - -TEST [[ ----@type string[] -local t -for _, <?x?> in pairs(t) do -end -]] -[[ -local x: string -]] - -TEST [[ ----@type string[] -local t -for <?k?>, v in pairs(t) do -end -]] -[[ -local k: integer -]] - -TEST [[ ----@type table<ClassA, ClassB> -local <?x?> -]] -[[ -local x: { - [*ClassA]: ClassB, -} -]] - -TEST [[ ----@type table<ClassA, ClassB> -local t -for _, <?x?> in pairs(t) do -end -]] -[[ -local x: *ClassB -]] - -TEST [[ ----@type table<ClassA, ClassB> -local t -for <?k?>, v in pairs(t) do -end -]] -[[ -local k: *ClassA -]] - -TEST [[ ----@type fun(x: number, y: number):boolean -local <?f?> -]] -[[ -function f(x: number, y: number) - -> boolean -]] - -TEST [[ ----@type fun(x: number, y: number):boolean -local f -f(<?a?>) -]] -[[ -global a: number -]] - -TEST [[ ----@type fun(x: number, y: number):boolean -local f -local <?r?> = f() -]] -[[ -local r: boolean -]] - -TEST [[ ----@param f fun():void -function t(<?f?>) end -]] -[[ -function () - -> void -]] - -TEST [[ ----@type fun(a:any, b:any) -local f -local t = {f = f} -t:<?f?>() -]] -[[ -function f(b: any) - -> any -]] - -TEST [[ ----@param names string[] -local function f(<?names?>) -end -]] -[[ -local names: { - [*integer]: string, -} -]] - -TEST [[ ----@return any -function <?f?>() - ---@type integer - local a - return a -end -]] -[[ -function f() - -> any -]] - -TEST [[ ----@return any -function f() - ---@type integer - local a - return a -end - -local <?x?> = f() -]] -[[ -local x: any -]] - -TEST [[ -local <?x?> <close> <const> = 1 -]] -[[ -local x <close> <const>: number = 1 -]] - -TEST [[ ----@param x number {optional = 'after'} ----@param y boolean {optional = 'self'} ----@param z string -function <?f?>(x, y, z) end -]] -[=[ -function f([x: number [, y: boolean], z: string]) -]=] - -TEST [[ ----@return string key ----@return string value -function <?f?>() end -]] -[=[ -function f() - -> key: string - 2. value: string -]=] - -TEST [[ ----@return any x {optional = 'after'} ----@return string y {optional = 'self'} ----@return string z -function <?f?>() end -]] -[=[ -function f() - -> [x: any [ - 2. y: string] - 3. z: string] -]=] - -TEST [[ -function f() - return function (a, b) - end -end - -<?f2?> = f() -]] -[=[ -function f2(a: any, b: any) -]=] diff --git a/test/other/fs.lua b/test/other/fs.lua deleted file mode 100644 index 069a2454..00000000 --- a/test/other/fs.lua +++ /dev/null @@ -1,11 +0,0 @@ -local fs = require 'bee.filesystem' -local platform = require 'bee.platform' -local path = fs.path '/a/b/c/d/e/../../../..' -local absolute = fs.absolute(path) -if platform.OS == 'Windows' then - assert(absolute:string():sub(-2) == '/a', absolute:string()) -elseif platform.OS == 'Linux' then - assert(absolute:string():sub(-3) == '/a/', absolute:string()) -elseif platform.OS == 'macOS' then - -- 不支持 -end diff --git a/test/other/init.lua b/test/other/init.lua deleted file mode 100644 index 9e2b2cfb..00000000 --- a/test/other/init.lua +++ /dev/null @@ -1 +0,0 @@ -require 'other.ver' diff --git a/test/other/ver.lua b/test/other/ver.lua deleted file mode 100644 index 83abcb26..00000000 --- a/test/other/ver.lua +++ /dev/null @@ -1,27 +0,0 @@ -local platform = require 'bee.platform' - -assert(_VERSION == 'Lua 5.4', '必须是 Lua 5.4') - -local arch = (function() - if string.packsize then - local size = string.packsize "T" - if size == 8 then - return 64 - end - if size == 4 then - return 32 - end - else - if platform ~= "windows" then - return 64 - end - local size = #tostring(io.stderr) - if size <= 15 then - return 32 - end - return 64 - end - assert(false, "unknown arch") -end)() - -assert(arch == 64, '必须是 x84_64') diff --git a/test/references/init.lua b/test/references/init.lua deleted file mode 100644 index 44cd5ab0..00000000 --- a/test/references/init.lua +++ /dev/null @@ -1,114 +0,0 @@ -local core = require 'core' -local parser = require 'parser' -local buildVM = require 'vm' - -local function catch_target(script) - local list = {} - local cur = 1 - while true do - local start, finish = script:find('<[!?].-[!?]>', cur) - if not start then - break - end - list[#list+1] = { start + 2, finish - 2 } - cur = finish + 1 - end - return list -end - -local function founded(targets, results) - if #targets ~= #results then - return false - end - for _, target in ipairs(targets) do - for _, result in ipairs(results) do - if target[1] == result[1] and target[2] == result[2] then - goto NEXT - end - end - do return false end - ::NEXT:: - end - return true -end - -function TEST(script) - local target = catch_target(script) - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - local pos = (start + finish) // 2 + 1 - local new_script = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - assert(ast) - local vm = buildVM(ast) - assert(vm) - - local positions = core.definition(vm, pos, 'reference') - if positions then - assert(founded(target, positions)) - else - assert(#target == 0) - end -end - -TEST [[ -local <?a?> = 1 -<!a!> = <!a!> -]] - -TEST [[ -t.<?a?> = 1 -t.<!a!> = t.<!a!> -]] - -TEST [[ -:: <!LABEL!> :: -goto <?LABEL?> -]] - -TEST [[ -local a = 1 -local <?a?> = 1 -<!a!> = <!a!> -]] - -TEST [[ -local t = { - <?a?> = 1 -} -print(t.<!a!>) -]] - -TEST [[ -local <!mt!> = {} -function <!mt!>:a() - <?self?>:remove() -end -]] - -TEST [[ -local function f() - return <?function () - end?> -end - -local <!f2!> = f() -]] - -TEST [[ -table.<!dump!>() -function table.<?dump?>() -end -]] - -TEST [[ ----@class <!Class!> ----@type <?Class?> ----@type <!Class!> -]] - -TEST [[ ----@class <?Class?> ----@type <!Class!> ----@type <!Class!> -]] diff --git a/test/rename/init.lua b/test/rename/init.lua deleted file mode 100644 index 646401a0..00000000 --- a/test/rename/init.lua +++ /dev/null @@ -1,85 +0,0 @@ -local core = require 'core' -local parser = require 'parser' -local buildVM = require 'vm' - -local function catch_target(script) - local list = {} - local cur = 1 - while true do - local start, finish = script:find('<[!?].-[!?]>', cur) - if not start then - break - end - list[#list+1] = { start + 2, finish - 2 } - cur = finish + 1 - end - return list -end - -local function founded(targets, results) - if #targets ~= #results then - return false - end - for _, target in ipairs(targets) do - for _, result in ipairs(results) do - if target[1] == result[1] and target[2] == result[2] then - goto NEXT - end - end - do return false end - ::NEXT:: - end - return true -end - -function TEST(newName) - return function (script) - local target = catch_target(script) - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - local pos = (start + finish) // 2 + 1 - local new_script = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - assert(ast) - local vm = buildVM(ast) - assert(vm) - - local positions = core.rename(vm, pos, newName) - if positions then - assert(founded(target, positions)) - else - assert(#target == 0) - end - end -end - -TEST 'b' [[ -local <?a?> = 1 -]] - -TEST 'b' [[ -local <?a?> = 1 -<!a!> = 2 -<!a!> = <!a!> -]] - -TEST 'b' [[ -t.<?a?> = 1 -a = t.<!a!> -]] - -TEST 'b' [[ -t[<!'a'!>] = 1 -a = t.<?a?> -]] - -TEST 'b' [[ -:: <?a?> :: -goto <!a!> -]] - -TEST 'b' [[ -local function f(<!a!>) - return <?a?> -end -]] diff --git a/test/signature/init.lua b/test/signature/init.lua deleted file mode 100644 index d5bc19c0..00000000 --- a/test/signature/init.lua +++ /dev/null @@ -1,135 +0,0 @@ -local parser = require 'parser' -local core = require 'core' -local buildVM = require 'vm' - -rawset(_G, 'TEST', true) - -function TEST(script) - return function (expect) - local pos = script:find('$', 1, true) - local new_script = script:gsub('%$', '') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - local vm = buildVM(ast) - assert(vm) - local hovers = core.signature(vm, pos) - if hovers then - assert(expect) - local hover = hovers[#hovers] - - local label = hover.label:gsub('^[\r\n]*(.-)[\r\n]*$', '%1'):gsub('\r\n', '\n') - expect.label = expect.label:gsub('^[\r\n]*(.-)[\r\n]*$', '%1'):gsub('\r\n', '\n') - local arg = hover.argLabel - - assert(expect.label == label) - assert(expect.arg[1] == arg[1]) - assert(expect.arg[2] == arg[2]) - else - assert(expect == nil) - end - end -end - -TEST [[ -local function x(a, b) -end - -x($ -]] -{ - label = "x(a: any, b: any)", - arg = {3, 8}, -} - -TEST [[ -local function x(a, b) -end - -x($) -]] -{ - label = "x(a: any, b: any)", - arg = {3, 8}, -} - -TEST [[ -local function x(a, b) -end - -x(xxx$) -]] -{ - label = "x(a: any, b: any)", - arg = {3, 8}, -} - -TEST [[ -local function x(a, b) -end - -x(xxx, $) -]] -{ - label = "x(a: any, b: any)", - arg = {11, 16}, -} - -TEST [[ -function mt:f(a) -end - -mt:f($ -]] -{ - label = 'mt:f(a: any)', - arg = {6, 11}, -} - -TEST [[ -(''):sub($ -]] -{ - label = [[ -*string:sub(i: integer [, j: integer(-1)]) -]], - arg = {13, 22}, -} - -TEST [[ -(''):sub(1)$ -]] -(nil) - -TEST [[ -local function f(a, b, c) -end - -f(1, 'string$') -]] -(nil) - -TEST [[ -pcall(function () $ end) -]] -(nil) - -TEST [[ -table.unpack {$} -]] -(nil) - -TEST [[ ----@type fun(x: number, y: number):boolean -local zzzz -zzzz($) -]] -{ - label = [[ -zzzz(x: number, y: number) -]], - arg = {6, 14}, -} - -TEST [[ -('abc'):format(f($)) -]] -(nil) diff --git a/test/type_inference/init.lua b/test/type_inference/init.lua deleted file mode 100644 index 59d853eb..00000000 --- a/test/type_inference/init.lua +++ /dev/null @@ -1,187 +0,0 @@ -local parser = require 'parser' -local core = require 'core' -local buildVM = require 'vm' -local config = require 'config' - -rawset(_G, 'TEST', true) - -function TEST(res) - return function (script) - local start = script:find('<?', 1, true) - local finish = script:find('?>', 1, true) - local pos = (start + finish) // 2 + 1 - local new_script = script:gsub('<[!?]', ' '):gsub('[!?]>', ' ') - local ast = parser:parse(new_script, 'lua', 'Lua 5.3') - local vm = buildVM(ast) - assert(vm) - local result = core.findSource(vm, pos) - assert(result) - assert(res == result:bindValue():getType()) - end -end - -config.config.runtime.version = 'Lua 5.4' - -TEST 'string' [[ -local <?var?> = '111' -]] - -TEST 'boolean' [[ -local <?var?> = true -]] - -TEST 'number' [[ -local <?var?> = 1 -]] - -TEST 'string' [[ -local var = '111' -t.<?x?> = var -]] - -TEST 'string' [[ -local <?var?> -var = '111' -]] - -TEST 'function' [[ -function <?xx?>() -end -]] - -TEST 'function' [[ -local function <?xx?>() -end -]] - -TEST 'function' [[ -local <?xx?> -xx = function () -end -]] - -TEST 'table' [[ -local <?t?> = {} -]] - -TEST 'table' [[ -local <?t?> -t = {} -]] - -TEST 'function' [[ -<?x?>() -]] - -TEST 'table' [[ -<?t?>.x = 1 -]] - -TEST 'boolean' [[ -<?x?> = not y -]] - -TEST 'integer' [[ -<?x?> = #y -]] - -TEST 'number' [[ -<?x?> = - y -]] - -TEST 'integer' [[ -<?x?> = ~ y -]] - -TEST 'number' [[ -local a = true -local b = 1 -<?x?> = a and b -]] - -TEST 'number' [[ -local a = false -local b = 1 -<?x?> = a or b -]] - -TEST 'boolean' [[ -<?x?> = a == b -]] - -TEST 'integer' [[ -<?x?> = a << b -]] - -TEST 'string' [[ -<?x?> = a .. b -]] - -TEST 'number' [[ -<?x?> = a + b -]] - -TEST 'table' [[ -<?table?>() -]] - -TEST 'string' [[ -<?x?> = _VERSION -]] - -TEST 'function' [[ -<?x?> = _VERSION.sub -]] - -TEST 'table' [[ -<?x?> = setmetatable({}) -]] - -TEST 'number' [[ -local function x() - return 1 -end -<?y?> = x() -]] - -TEST 'number' [[ -local function x(a) - return <?a?> -end -x(1) -]] - -TEST 'table' [[ -setmetatable(<?b?>) -]] - -TEST 'number' [[ -local function x(a) - _ = a + 1 -end -local b -x(<?b?>) -]] - -TEST 'number' [[ -local function x(a, ...) - local _, <?b?>, _ = ... -end -x(nil, 'xx', 1, true) -]] - -TEST 'number' [[ -local function x(a, ...) - return true, 'ss', ... -end -local _, _, _, <?b?>, _ = x(nil, true, 1, 'yy') -]] - -TEST 'integer' [[ -for <?i?> in ipairs(t) do -end -]] - -TEST 'any' [[ -local <?x?> = next() -]] |