From 7db5abe7e40044508064923f9ddc832aaa0838e6 Mon Sep 17 00:00:00 2001 From: ckcz123 Date: Sun, 10 May 2020 16:30:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _server/css/editor_mode.css | 6 +- _server/editor_table.js | 24 ++-- _server/table/comment.js | 71 ++++++++++- _server/table/data.comment.js | 108 ++++++++++++++-- _server/table/events.comment.js | 6 +- _server/table/functions.comment.js | 39 +++--- _server/table/maps.comment.js | 197 ----------------------------- _server/table/plugins.comment.js | 6 +- libs/control.js | 8 +- libs/events.js | 2 - libs/ui.js | 2 +- project/data.js | 1 + v2.x-final更新.txt | 3 + 13 files changed, 210 insertions(+), 263 deletions(-) delete mode 100644 _server/table/maps.comment.js diff --git a/_server/css/editor_mode.css b/_server/css/editor_mode.css index 1542cf22..d7cc4010 100644 --- a/_server/css/editor_mode.css +++ b/_server/css/editor_mode.css @@ -130,7 +130,7 @@ .etable table th, .etable table td { - padding: 6px 13px; + padding: 5px; border: 1px solid #dfe2e5; } @@ -154,7 +154,7 @@ } .etable tr > :nth-child(2) { - width: 20% + width: 22% } .etable tr > :nth-child(3) { @@ -162,7 +162,7 @@ } .etable tr > :nth-child(4) { - width: 25%; + width: 23%; padding: 0; } diff --git a/_server/editor_table.js b/_server/editor_table.js index f8a4409d..eac76571 100644 --- a/_server/editor_table.js +++ b/_server/editor_table.js @@ -45,11 +45,11 @@ editor_table_wrapper = function (editor) { editor_table.prototype.checkboxSetMember = function (value,key,prefixString) { return /* html */`${prefixString}\n`; } - editor_table.prototype.editGrid = function (showComment) { - var html = ""; - if (showComment) html += "
"; - html += ""; - return html; + editor_table.prototype.editGrid = function (showComment, showEdit) { + var list = []; + if (showComment) list.push(""); + if (showEdit) list.push(""); + return list.join(' '); } editor_table.prototype.title = function () { @@ -60,12 +60,12 @@ editor_table_wrapper = function (editor) { return /* html */`--------${field}----\n` } - editor_table.prototype.tr = function (guid, field, shortField, commentHTMLescape, cobjstr, shortCommentHTMLescape, tdstr) { + editor_table.prototype.tr = function (guid, field, shortField, commentHTMLescape, cobjstr, shortComment, tdstr, type) { return /* html */` ${shortField} - ${shortCommentHTMLescape} + ${shortComment || commentHTMLescape}
${tdstr}
- ${editor.table.editGrid(commentHTMLescape != shortCommentHTMLescape)} + ${editor.table.editGrid(shortComment, type != 'select' && type != 'checkbox' && type != 'checkboxSet')} \n` } @@ -235,16 +235,16 @@ editor_table_wrapper = function (editor) { var thiseval = vobj; var comment = String(cobj._data); - var charlength = 10; + var charlength = 15; // "['a']['b']" => "b" var shortField = field.split("']").slice(-2)[0].split("['").slice(-1)[0]; // 把长度超过 charlength 的字符改成 固定长度+...的形式 - // shortField = (shortField.length < charlength ? shortField : shortField.slice(0, charlength) + '...'); + shortField = (shortField.length < charlength ? shortField : shortField.slice(0, charlength) + '...'); // 完整的内容转义后供悬停查看 var commentHTMLescape = editor.util.HTMLescape(comment); // 把长度超过 charlength 的字符改成 固定长度+...的形式 - var shortCommentHTMLescape = (comment.length < charlength ? commentHTMLescape : editor.util.HTMLescape(comment.slice(0, charlength)) + '...'); + // var shortCommentHTMLescape = (comment.length < charlength ? commentHTMLescape : editor.util.HTMLescape(comment.slice(0, charlength)) + '...'); var cobjstr = Object.assign({}, cobj); delete cobjstr._data; @@ -252,7 +252,7 @@ editor_table_wrapper = function (editor) { cobjstr = editor.util.HTMLescape(JSON.stringify(cobjstr)); var tdstr = editor.table.objToTd(obj, commentObj, field, cfield, vobj, cobj) - var outstr = editor.table.tr(guid, field, shortField, commentHTMLescape, cobjstr, shortCommentHTMLescape, tdstr) + var outstr = editor.table.tr(guid, field, shortField, commentHTMLescape, cobjstr, cobj._docs, tdstr, cobj._type) return [outstr, guid]; } diff --git a/_server/table/comment.js b/_server/table/comment.js index 0df86b2c..57b321bc 100644 --- a/_server/table/comment.js +++ b/_server/table/comment.js @@ -25,33 +25,38 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "equips" ] }, + "_docs": "道具类别", "_data": "只能取items(宝石、血瓶) constants(永久物品) tools(消耗道具) equips(装备)" }, "name": { "_leaf": true, "_type": "textarea", "_string": true, - "_data": "名称" + "_data": "道具名称" }, "text": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "道具描述", "_data": "道具在道具栏中显示的描述" }, "hideInToolbox": { "_leaf": true, "_type": "checkbox", + "_docs": "道具栏中隐藏", "_data": "是否不显示在道具栏中" }, "equip": { "_leaf": true, "_type": "textarea", + "_docs": "道具的装备属性", "_data": "装备属性设置,仅对cls为equips有效。\n如果此项不为null,需要是一个对象,里面可含\"type\",\"atk\",\"def\",\"mdef\",\"animate\"五项,分别对应装备部位、攻防魔防和动画。\n具体详见文档(元件说明-装备)和已有的几个装备的写法。" }, "hideInReplay": { "_leaf": true, "_type": "checkbox", + "_docs": "回放不绘制道具栏", "_data": "是否回放时不绘制道具栏。\n如果此项为true,则在回放录像时使用本道具将不会绘制道具栏页面,而是直接使用。\n此项建议在会频繁连续多次使用的道具开启(如开启技能,或者《镜子》那样的镜像切换等等)" } } @@ -61,6 +66,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "即捡即用效果", "_data": "即捡即用类物品的效果,仅对cls为items有效。" }, "itemEffectTip": { @@ -68,12 +74,14 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "即捡即用提示", "_data": "即捡即用类物品在获得时提示的文字,仅对cls为items有效。" }, "useItemEvent": { "_leaf": true, "_type": "event", "_event": "item", + "_docs": "碰触或使用事件", "_data": "碰触或使用本道具所执行的事件" }, "useItemEffect": { @@ -81,6 +89,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "使用效果", "_data": "道具效果,仅对cls为tools或constants有效。" }, "canUseItemEffect": { @@ -88,6 +97,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "能否使用条件", "_data": "当前能否使用该道具,仅对cls为tools或constants有效。" }, "equipCondition": { @@ -95,6 +105,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "能否装备条件", "_data": "能装备某个装备的条件,仅对cls为equips有效。\n与canUseItemEffect不同,这里null代表可以装备。" } } @@ -116,6 +127,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "手册映射ID", "_data": "在怪物手册中映射到的怪物ID。如果此项不为null,则在怪物手册中,将用目标ID来替换该怪物原本的ID。\n此项应被运用在同一个怪物的多朝向上。\n例如,如果想定义同一个怪物的向下和向左的行走图,则需要建立两个属性完全相同的怪物。\n但是这样会导致在怪物手册中同时存在向下和向左的两种怪物的显示。\n可以将朝向左的怪物的displayIdInBook项指定为朝向下的怪物ID,这样在怪物手册中则会归一化,只显示一个。" }, "hp": { @@ -152,56 +164,66 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval==null || thiseval instanceof Array || (thiseval==~~thiseval && thiseval>=0)", + "_docs": "特殊属性", "_data": "特殊属性\n\n0:无,1:先攻,2:魔攻,3:坚固,4:2连击,\n5:3连击,6:n连击,7:破甲,8:反击,9:净化,\n10:模仿,11:吸血,12:中毒,13:衰弱,14:诅咒,\n15:领域,16:夹击,17:仇恨,18:阻击,19:自爆,\n20:无敌,21:退化,22:固伤,23:重生,24:激光,25:光环\n26:支援,27:捕捉\n多个属性例如用[1,4,11]表示先攻2连击吸血" }, "value": { "_leaf": true, "_type": "textarea", + "_docs": "特殊属性值", "_data": "特殊属性的数值\n如:领域/阻激/激光怪的伤害值;吸血怪的吸血比例;光环怪增加生命的比例" }, "zoneSquare": { "_leaf": true, "_type": "checkbox", + "_docs": "九宫格领域", "_data": "领域怪是否九宫格伤害" }, "range": { "_leaf": true, "_type": "textarea", "_range": "(thiseval==~~thiseval && thiseval>0)||thiseval==null", + "_docs": "领域范围", "_data": "领域伤害的范围;不加默认为1" }, "notBomb": { "_leaf": true, "_type": "checkbox", + "_docs": "是否不可炸", "_data": "该怪物不可被炸" }, "n": { "_leaf": true, "_type": "textarea", "_range": "(thiseval==~~thiseval && thiseval>0)||thiseval==null", + "_docs": "连击数", "_data": "多连击的连击数" }, "add": { "_leaf": true, "_type": "checkbox", + "_docs": "吸血加自身", "_data": "吸血后是否加到自身;光环是否叠加" }, "atkValue": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "退化扣攻击", "_data": "退化时勇士下降的攻击力点数;光环怪增加攻击的比例" }, "defValue": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "退化扣防御", "_data": "退化时勇士下降的防御力点数;光环怪增加防御的比例" }, "damage": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "固伤", "_data": "战前扣血的点数" } } @@ -250,11 +272,13 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "custom" ] }, + "_docs": "触发器", "_data": "该图块的默认触发器" }, "canPass": { "_leaf": true, "_type": "checkbox", + "_docs": "可通行性", "_data": "该图块是否可以通行;true代表可以通行,false代表不可通行" }, "script": { @@ -262,6 +286,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, + "_docs": "碰触脚本", "_data": "触碰到该图块时自动执行的脚本内容;此脚本会在该点的触发器执行前执行" }, "cannotOut": { @@ -271,6 +296,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "prefix":["上: ","下: ","
左: ","右: "], "key":["up","down","left","right"] }, + "_docs": "不可出方向", "_data": "该图块的不可出方向\n可以在这里定义在该图块时不能前往哪个方向,可以达到悬崖之类的效果\n例如 [\"up\", \"left\"] 代表在该图块时不能往上和左走\n此值对背景层、事件层、前景层上的图块均有效" }, "cannotIn": { @@ -280,27 +306,32 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "prefix":["上: ","下: ","
左: ","右: "], "key":["up","down","left","right"] }, + "_docs": "不可入方向", "_data": "该图块的不可入方向\n可以在这里定义不能朝哪个方向进入该图块,可以达到悬崖之类的效果\n例如 [\"down\"] 代表不能从该图块的上方点朝向下进入此图块\n此值对背景层、事件层、前景层上的图块均有效" }, "canBreak": { "_leaf": true, "_type": "checkbox", + "_docs": "可破震", "_data": "该图块是否可被破墙或地震" }, "animate": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval||thiseval==null", + "_docs": "动画帧数", "_data": "该图块的全局动画帧数。\n如果此项为null,则对于除了npc48外,使用素材默认帧数;npc48默认是1帧(即静止)。" }, "doorInfo": { "_leaf": true, "_type": "textarea", + "_docs": "门信息", "_data": "该图块的门信息,是一个三元数组。\n第一项为所需要的钥匙信息,第二项为开此门时的音效,第三项为关此门时的音效。仅对animates生效。" }, "faceIds": { "_leaf": true, "_type": "textarea", + "_docs": "行走图朝向", "_data": "行走图朝向,仅对NPC有效。可以在这里定义同一个NPC的多个朝向行走图。\n比如 {\"up\":\"N333\",\"down\":\"N334\",\"left\":\"N335\",\"right\":\"N336\"} 就将该素材的上下左右朝向分别绑定到N333,N334,N335和N336四个图块。\n在勇士撞上NPC时,或NPC在移动时,会自动选择最合适的朝向图块(如果存在定义)来进行绘制。" } } @@ -318,60 +349,71 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "false", + "_docs": "楼层ID", "_data": "文件名和floorId需要保持完全一致 \n楼层唯一标识符仅能由字母、数字、下划线组成,且不能由数字开头 \n推荐用法:第20层就用MT20,第38层就用MT38,地下6层就用MT_6(用下划线代替负号),隐藏3层用MT3h(h表示隐藏),等等 \n楼层唯一标识符,需要和名字完全一致 \n这里不能更改floorId,请通过另存为来实现" }, "title": { "_leaf": true, "_type": "textarea", + "_docs": "楼层中文名", "_data": "楼层中文名,将在切换楼层和浏览地图时显示" }, "name": { "_leaf": true, "_type": "textarea", + "_docs": "状态栏显示", "_data": "显示在状态栏中的层数" }, "width": { "_leaf": true, "_type": "textarea", "_range": "false", + "_docs": "宽度", "_data": "地图x方向大小,这里不能更改,仅能在新建地图时设置,null视为13" }, "height": { "_leaf": true, "_type": "textarea", "_range": "false", + "_docs": "高度", "_data": "地图y方向大小,这里不能更改,仅能在新建地图时设置,null视为13" }, "canFlyTo": { "_leaf": true, "_type": "checkbox", + "_docs": "可飞", "_data": "该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器)" }, "canUseQuickShop": { "_leaf": true, "_type": "checkbox", + "_docs": "可快捷商店", "_data": "该层是否允许使用快捷商店" }, "cannotViewMap": { "_leaf": true, "_type": "checkbox", + "_docs": "不可浏览", "_data": "该层是否不允许被浏览地图看到;如果勾上则浏览地图会跳过该层" }, "cannotMoveDirectly": { "_leaf": true, "_type": "checkbox", + "_docs": "不可瞬移", "_data": "该层是否不允许瞬间移动;如果勾上则不可在此层进行瞬移" }, "firstArrive": { "_leaf": true, "_type": "event", "_event": "firstArrive", + "_docs": "首次到达事件", "_data": "第一次到该楼层触发的事件,可以双击进入事件编辑器。" }, "eachArrive": { "_leaf": true, "_type": "event", "_event": "eachArrive", + "_docs": "每次到达事件", "_data": "每次到该楼层触发的事件,可以双击进入事件编辑器;该事件会在firstArrive执行后再执行。" }, "parallelDo": { @@ -379,38 +421,45 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_lint": true, - "_data": "在该层楼时执行的并行事件处理。\n可以在这里写上任意需要自动执行的脚本,比如打怪自动开门等。\n详见文档-事件-并行事件处理。" + "_docs": "并行处理脚本", + "_data": "在该层楼时执行的并行脚本处理。\n可以在这里写上任意需要自动执行的脚本,比如打怪自动开门等。\n详见文档-事件-并行事件处理。" }, "upFloor": { "_leaf": true, "_type": "textarea", "_range": "thiseval==null||((thiseval instanceof Array) && thiseval.length==2)", + "_docs": "上楼点", "_data": "该层上楼点,如[2,3]。\n如果此项不为null,则楼层转换时的stair:upFloor,以及楼传器的落点会被替换成该点而不是该层的上楼梯。" }, "downFloor": { "_leaf": true, "_type": "textarea", "_range": "thiseval==null||((thiseval instanceof Array) && thiseval.length==2)", + "_docs": "下楼点", "_data": "该层下楼点,如[2,3]。\n如果此项不为null,则楼层转换时的stair:downFloor,以及楼传器的落点会被替换成该点而不是该层的下楼梯。" }, "defaultGround": { "_leaf": true, "_type": "textarea", + "_docs": "地面图块", "_data": "默认地面的图块ID,此项修改后需要刷新才能看到效果。不填则默认是ground" }, "images": { "_leaf": true, "_type": "textarea", + "_docs": "楼层贴图", "_data": "背景/前景图;你可以选择若干张图片来作为背景/前景素材。详细用法请参见文档“自定义素材”中的说明。" }, "color": { "_leaf": true, "_type": "textarea", + "_docs": "色调", "_data": "该层的默认画面色调。本项可不写(代表无色调),如果写需要是一个RGBA数组如[255,0,0,0.3]" }, "weather": { "_leaf": true, "_type": "textarea", + "_docs": "天气", "_data": "该层的默认天气。本项可忽略表示晴天,如果写则第一项为\"rain\",\"snow\"或\"fog\"代表雨雪雾,第二项为1-10之间的数代表强度。\n如[\"rain\", 8]代表8级雨天。" }, "bgm": { @@ -419,17 +468,20 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_select": { "values": [null].concat(Object.keys(editor.core.material.bgms)) }, + "_docs": "背景音乐", "_data": "到达该层后默认播放的BGM。本项可忽略,或者为一个定义过的背景音乐如\"bgm.mp3\"。" }, "item_ratio": { "_leaf": true, "_type": "textarea", "_range": "(thiseval==~~thiseval && thiseval>=0)||thiseval==null", + "_docs": "宝石血瓶效果", "_data": "每一层的宝石/血瓶效果,即获得宝石和血瓶时框内\"ratio\"的值。" }, "underGround": { "_leaf": true, "_type": "checkbox", + "_docs": "是否是地下层", "_data": "是否是地下层;如果该项为true则同层传送将传送至上楼梯" } } @@ -441,6 +493,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "event", + "_docs": "普通事件", "_data": "该点的可能事件列表,可以双击进入事件编辑器。" }, "autoEvent": { @@ -457,7 +510,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "autoEvent", - "_data": "自动事件页" + "_data": "自动事件" } } }, @@ -465,30 +518,38 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "changeFloor", + "_docs": "楼层转换", "_data": "该点楼层转换事件;该事件不能和上面的events同时出现,否则会被覆盖" }, "afterBattle": { "_leaf": true, "_type": "event", "_event": "afterBattle", + "_docs": "战后事件", "_data": "该点战斗后可能触发的事件列表,可以双击进入事件编辑器。" }, "afterGetItem": { "_leaf": true, "_type": "event", "_event": "afterGetItem", + "_docs": "道具后事件", "_data": "该点获得道具后可能触发的事件列表,可以双击进入事件编辑器。" }, "afterOpenDoor": { "_leaf": true, "_type": "event", "_event": "afterOpenDoor", + "_docs": "开门后事件", "_data": "该点开完门后可能触发的事件列表,可以双击进入事件编辑器。" }, "cannotMove": { "_leaf": true, - "_type": "textarea", - "_range": "thiseval==null||(thiseval instanceof Array)", + "_type": "checkboxSet", + "_checkboxSet": { + "prefix":["上: ","下: ","
左: ","右: "], + "key":["up","down","left","right"] + }, + "_docs": "不可通行性", "_data": "该点不可通行的方向 \n 可以在这里定义该点不能前往哪个方向,可以达到悬崖之类的效果\n例如 [\"up\", \"left\"] 代表该点不能往上和左走" }, } diff --git a/_server/table/data.comment.js b/_server/table/data.comment.js index 242731b5..da4b28c5 100644 --- a/_server/table/data.comment.js +++ b/_server/table/data.comment.js @@ -14,131 +14,153 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkFloorIds(thiseval)", + "_docs": "楼层列表", "_data": "在这里按顺序放所有的楼层;其顺序直接影响到楼层传送器、浏览地图和上/下楼器的顺序" }, "images": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkImages(thiseval)", + "_docs": "本塔使用图片", "_data": "在此存放所有可能使用的图片(tilesets除外) \n图片可以被作为背景图(的一部分),也可以直接用自定义事件进行显示。 \n 图片名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好 \n 建议对于较大的图片,在网上使用在线的“图片压缩工具(http://compresspng.com/zh/)”来进行压缩,以节省流量 \n 依次向后添加" }, "tilesets": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkImages(thiseval)", + "_docs": "本塔额外素材", "_data": "在此存放额外素材的图片名, \n可以自定导入任意张素材图片,无需PS,无需注册,即可直接在游戏中使用 \n 形式如[\"1.png\", \"2.png\"] ,将需要的素材图片放在images目录下 \n 素材的宽高必须都是32的倍数,且图片上的总图块数不超过1000(即最多有1000个32*32的图块在该图片上)" }, "animates": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkUnique(thiseval)", + "_docs": "本塔使用动画", "_data": "在此存放所有可能使用的动画,必须是animate格式,在这里不写后缀名 \n动画必须放在animates目录下;文件名不能使用中文,不能带空格或特殊字符 \n \"jianji\", \"thunder\" 根据需求自行添加" }, "bgms": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkUnique(thiseval)", + "_docs": "本塔使用音乐", "_data": "在此存放所有的bgm,和文件名一致。 \n音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好" }, "sounds": { "_leaf": true, "_type": "textarea", "_range": "editor.mode.checkUnique(thiseval)", + "_docs": "本塔使用音效", "_data": "在此存放所有的SE,和文件名一致 \n音频名不能使用中文,不能带空格或特殊字符;可以直接改名拼音就好" }, "nameMap": { "_leaf": true, "_type": "textarea", + "_docs": "文件名映射", "_data": "文件名映射,目前仅对images, animates, bgms, sounds有效。\n例如定义 {\"精灵石.mp3\":\"jinglingshi.mp3\"} 就可以使用\ncore.playBgm(\"精灵石.mp3\") 或对应的事件来播放该bgm。" }, "startBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题背景", "_data": "标题界面的背景,建议使用jpg格式以压缩背景图空间" }, "startLogoStyle": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题样式", "_data": "标题样式:可以改变颜色,也可以写\"display: none\"来隐藏标题" }, "startButtonsStyle": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题按钮样式", "_data": "标题界面按钮的样式;caret-color指的是当前选中项的边框颜色" }, "levelChoose": { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Array && thiseval.length>=1 && thiseval[0] instanceof Array && thiseval[0].length==2", + "_docs": "难度分歧", "_data": "难度选择:每个数组的第一个是其在标题界面显示的难度,第二个是在游戏内部传输的字符串,会显示在状态栏,修改此处后需要在project/functions中作相应更改。\n如果需直接开始游戏将下面的startDirectly开关打开即可。" }, "equipName": { "_leaf": true, "_type": "textarea", "_range": "(thiseval instanceof Array && thiseval.length<=6)||thiseval==null", + "_docs": "装备孔", "_data": "装备位名称,为不超过6个的数组,此项的顺序与equiptype数值关联;例如可写[\"武器\",\"防具\",\"首饰\"]等等。" }, "startBgm": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "标题音乐", "_data": "在标题界面应该播放的bgm内容" }, "statusLeftBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "横屏状态栏", "_data": "横屏时左侧状态栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" }, "statusTopBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "竖屏状态栏", "_data": "竖屏时上方状态栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" }, "toolsBackground": { "_leaf": true, "_type": "textarea", "_string": true, - "_data": "竖屏时下方道具栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" + "_docs": "竖屏工具栏", + "_data": "竖屏时下方工具栏的背景样式,可以定义背景图、平铺方式等。\n具体请网上搜索\"css background\"了解写法。\n如果弄一张图片作为背景图,推荐写法:\n\"url(project/images/XXX.png) 0 0/100% 100% no-repeat\"\n图片最好进行一些压缩等操作节省流量。" }, "borderColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "边框色", "_data": "边框颜色,包括游戏边界的边框和对话框边框等。" }, "statusBarColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "状态栏文字色", "_data": "状态栏的文字颜色,默认是白色" }, "hardLabelColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "难度标签色", "_data": "难度显示的颜色,默认是红色" }, "floorChangingBackground": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "转场背景色", "_data": "楼层转换界面的背景样式;可以使用纯色(默认值black),也可以使用图片(参见状态栏的图片写法)" }, "floorChangingTextColor": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "转场文字色", "_data": "楼层转换界面的文字颜色,默认是白色" }, "font": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "全局字体", "_data": "游戏中使用的字体,默认是Verdana" } } @@ -150,6 +172,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "游戏名", "_data": "游戏名,将显示在标题页面以及切换楼层的界面中" }, "name": { @@ -157,12 +180,14 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "textarea", "_string": true, "_range": "/^[a-zA-Z0-9_]{1,30}$/.test(thiseval)", + "_docs": "唯一英文标识符", "_data": "游戏的唯一英文标识符。由英文、数字、下划线组成,不能超过30个字符。\n此项必须修改,其将直接影响到存档的定位!" }, "version": { "_leaf": true, "_type": "textarea", "_string": true, + "_docs": "游戏版本", "_data": "当前游戏版本;版本不一致的存档不能通用。" }, "floorId": { @@ -172,6 +197,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "values": data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds }, "_range": "data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d.main.floorIds.indexOf(thiseval)!==-1", + "_docs": "初始楼层", "_data": "初始楼层的ID" }, "hero": { @@ -181,33 +207,34 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_string": true, - "_data": "勇士名;可以改成喜欢的" + "_data": "勇士名" }, "lv": { "_leaf": true, "_type": "textarea", "_range": "thiseval==~~thiseval &&thiseval>0", - "_data": "初始等级,该项必须为正整数" + "_data": "初始等级" }, "hpmax": { "_leaf": true, "_type": "textarea", - "_data": "初始生命上限,只有在enableHPMax开启时才有效" + "_data": "初始上限" }, "hp": { "_leaf": true, "_type": "textarea", - "_data": "初始生命值" + "_data": "初始生命" }, "manamax": { "_leaf": true, "_type": "textarea", + "_docs": "魔力上限", "_data": "魔力上限;此项非负才会生效(null或小于0都不会生效)" }, "mana": { "_leaf": true, "_type": "textarea", - "_data": "初始魔力值,只在enableMana开启时才有效" + "_data": "初始魔力" }, "atk": { "_leaf": true, @@ -238,7 +265,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Array", - "_data": "初始装上的装备,此处建议请直接留空数组" + "_data": "初始装备" }, "items": { "_type": "object", @@ -247,18 +274,21 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", + "_docs": "永久道具", "_data": "初始永久道具个数,例如初始送手册可以写 {\"book\": 1}" }, "tools": { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", + "_docs": "消耗道具", "_data": "初始消耗道具个数,例如初始有两破可以写 {\"pickaxe\": 2}" }, "equips": { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", + "_docs": "初始装备个数", "_data": "初始装备个数,例如初始送铁剑可以写 {\"sword1\": 1}" } } @@ -269,7 +299,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "direction": { "_leaf": true, "_type": "select", - "_data": "勇士初始方向", + "_data": "初始朝向", "_select": { "values": [ "up", @@ -282,12 +312,12 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "x": { "_leaf": true, "_type": "textarea", - "_data": "勇士初始x坐标" + "_data": "初始x坐标" }, "y": { "_leaf": true, "_type": "textarea", - "_data": "勇士初始y坐标" + "_data": "初始y坐标" } } }, @@ -295,12 +325,18 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "thiseval instanceof Object && !(thiseval instanceof Array)", - "_data": "游戏过程中的变量或flags" + "_data": "游戏变量" + }, + "followers": { + "_leaf": true, + "_type": "textarea", + "_range": "thiseval instanceof Array", + "_data": "跟随者列表" }, "steps": { "_leaf": true, "_type": "textarea", - "_data": "行走步数统计" + "_data": "行走步数" } } }, @@ -309,6 +345,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "firstArrive", "_range": "thiseval==null || thiseval instanceof Array", + "_docs": "标题事件化", "_data": "标题界面事件化,可以使用事件流的形式来绘制开始界面等。\n需要开启startUsingCanvas这个开关。\n详见文档-个性化-标题界面事件化。" }, "startText": { @@ -316,6 +353,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "firstArrive", "_range": "thiseval==null || thiseval instanceof Array", + "_docs": "开场剧情", "_data": "游戏开始前剧情,可以执行任意自定义事件。\n双击进入事件编辑器。\n如果无剧情直接留一个空数组即可。" }, "shops": { @@ -323,6 +361,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "shop", "_range": "thiseval instanceof Array", + "_docs": "全局商店", "_data": "全局商店,是一个数组,可以双击进入事件编辑器。" }, "levelUp": { @@ -330,6 +369,7 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_event": "level", "_range": "thiseval==null || thiseval instanceof Array", + "_docs": "等级提升", "_data": "经验升级所需要的数值,是一个数组,可以双击进行编辑。 \n 第一项为初始等级,仅title生效 \n 每一个里面可以含有三个参数 need, title, action \n need为所需要的经验数值,可以是个表达式。请确保need依次递增 \n title为该等级的名称,也可以省略代表使用系统默认值;本项将显示在状态栏中 \n action为本次升级所执行的事件,可由若干项组成" } } @@ -340,76 +380,89 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "lavaDamage": { "_leaf": true, "_type": "textarea", - "_data": "经过血网受到的伤害" + "_data": "血网伤害" }, "poisonDamage": { "_leaf": true, "_type": "textarea", - "_data": "中毒后每步受到的伤害" + "_data": "中毒伤害" }, "weakValue": { "_leaf": true, "_type": "textarea", + "_docs": "衰弱效果", "_data": "衰弱状态下攻防减少的数值\n如果此项不小于1,则作为实际下降的数值(比如10就是攻防各下降10)\n如果在0到1之间则为下降的比例(比如0.3就是下降30%的攻防)" }, "redJewel": { "_leaf": true, "_type": "textarea", + "_docs": "红宝石效果", "_data": "红宝石加攻击的数值" }, "blueJewel": { "_leaf": true, "_type": "textarea", + "_docs": "蓝宝石效果", "_data": "蓝宝石加防御的数值" }, "greenJewel": { "_leaf": true, "_type": "textarea", + "_docs": "绿宝石效果", "_data": "绿宝石加魔防的数值" }, "redPotion": { "_leaf": true, "_type": "textarea", + "_docs": "红血瓶效果", "_data": "红血瓶加血数值" }, "bluePotion": { "_leaf": true, "_type": "textarea", + "_docs": "蓝血瓶效果", "_data": "蓝血瓶加血数值" }, "yellowPotion": { "_leaf": true, "_type": "textarea", + "_docs": "黄血瓶效果", "_data": "黄血瓶加血数值" }, "greenPotion": { "_leaf": true, "_type": "textarea", + "_docs": "绿血瓶效果", "_data": "绿血瓶加血数值" }, "breakArmor": { "_leaf": true, "_type": "textarea", + "_docs": "破甲比例", "_data": "破甲的比例(战斗前,怪物附加角色防御的x倍作为伤害)" }, "counterAttack": { "_leaf": true, "_type": "textarea", + "_docs": "反击比例", "_data": "反击的比例(战斗时,怪物每回合附加角色攻击的x倍作为伤害,无视角色防御)" }, "purify": { "_leaf": true, "_type": "textarea", + "_docs": "净化比例", "_data": "净化的比例(战斗前,怪物附加勇士魔防的x倍作为伤害)" }, "hatred": { "_leaf": true, "_type": "textarea", + "_docs": "仇恨增值", "_data": "仇恨属性中,每杀死一个怪物获得的仇恨值" }, "animateSpeed": { "_leaf": true, "_type": "textarea", + "_docs": "全局动画时间", "_data": "全局动画时间,即怪物振动频率,一般300比较合适" } } @@ -495,26 +548,31 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "flyNearStair": { "_leaf": true, "_type": "checkbox", + "_docs": "楼传楼梯边", "_data": "传送器是否需要在楼梯边使用;如果flyRecordPosition开启,则此项对箭头也有效。" }, "flyRecordPosition": { "_leaf": true, "_type": "checkbox", + "_docs": "楼传平面模式", "_data": "传送器平面塔模式;此模式下楼层传送器将飞到上次离开该楼层的位置。" }, "pickaxeFourDirections": { "_leaf": true, "_type": "checkbox", + "_docs": "四向破墙镐", "_data": "使用破墙镐是否四个方向都破坏;如果false则只破坏面前的墙壁" }, "bombFourDirections": { "_leaf": true, "_type": "checkbox", + "_docs": "四向炸弹", "_data": "使用炸弹是否四个方向都会炸;如果false则只炸面前的怪物(即和圣锤等价)" }, "snowFourDirections": { "_leaf": true, "_type": "checkbox", + "_docs": "四向破冰稿", "_data": "使用冰冻徽章是否四个方向都会消除熔岩;如果false则只消除面前的熔岩" }, "bigKeyIsBox": { @@ -525,112 +583,134 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "steelDoorWithoutKey": { "_leaf": true, "_type": "checkbox", + "_docs": "铁门不消耗", "_data": "铁门是否不需要钥匙开启。如果此项为true,则无需钥匙也可以开铁门。" }, "itemFirstText": { "_leaf": true, "_type": "checkbox", + "_docs": "首次道具提示", "_data": "首次获得道具是否提示" }, "equipment": { "_leaf": true, "_type": "checkbox", + "_docs": "剑盾装备", "_data": "剑和盾是否作为装备。如果此项为true,则作为装备,需要在装备栏使用,否则将直接加属性。" }, "equipboxButton": { "_leaf": true, "_type": "checkbox", + "_docs": "状态栏装备", "_data": "状态栏的装备按钮。若此项为true则将状态栏中的楼层转换器按钮换为装备栏按钮" }, "enableAddPoint": { "_leaf": true, "_type": "checkbox", + "_docs": "加点", "_data": "是否支持加点" }, "enableNegativeDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "负伤", "_data": "是否支持负伤害(回血)" }, "betweenAttackMax": { "_leaf": true, "_type": "checkbox", + "_docs": "夹击不超伤害", "_data": "夹击伤害是否不超过怪物伤害值。" }, "useLoop": { "_leaf": true, "_type": "checkbox", + "_docs": "二分临界", "_data": "是否循环计算临界;如果此项为true则使用循环法(而不是回合数计算法)来算临界\n从V2.5.3开始,对于大数据的循环法将改为使用二分法进行计算" }, "startUsingCanvas": { "_leaf": true, "_type": "checkbox", + "_docs": "标题事件化", "_data": "是否开始菜单canvas化;如果此项为true,则将使用canvas来绘制开始菜单" }, "startDirectly": { "_leaf": true, "_type": "checkbox", + "_docs": "不选择难度", "_data": "点击“开始游戏”后是否立刻开始游戏而不显示难度选择界面" }, "statusCanvas": { "_leaf": true, "_type": "checkbox", + "_docs": "自绘状态栏", "_data": "是否状态栏canvas化,即手动自定义绘制状态栏。\n如果此项开启,则可在脚本编辑的drawStatusBar中自定义绘制菜单栏。" }, "statusCanvasRowsOnMobile": { "_leaf": true, "_type": "textarea", "_range": "thiseval==null || (thiseval>0 && thiseval<=4)", + "_docs": "竖屏自绘行数", "_data": "竖屏模式下,顶端状态栏canvas化后的行数。\n此项将决定竖屏的状态栏高度,如果设置则不小于1且不大于4。\n仅在statusCanvas开启时才有效" }, "displayEnemyDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "怪物显伤", "_data": "是否地图怪物显伤;用户可以手动在菜单栏中开关" }, "displayCritical": { "_leaf": true, "_type": "checkbox", + "_docs": "临界显伤", "_data": "是否地图显示临界;用户可以手动在菜单栏中开关" }, "displayExtraDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "高级显伤", "_data": "是否地图高级显伤(领域、夹击等);用户可以手动在菜单栏中开关" }, "enableGentleClick": { "_leaf": true, "_type": "checkbox", + "_docs": "允许轻按", "_data": "是否允许轻触(获得面前物品)" }, "ignoreChangeFloor": { "_leaf": true, "_type": "checkbox", + "_docs": "允许穿透楼梯", "_data": "经过楼梯、传送门时是否能“穿透”。\n穿透的意思是,自动寻路得到的的路径中间经过了楼梯,行走时是否触发楼层转换事件" }, "canGoDeadZone": { "_leaf": true, "_type": "checkbox", + "_docs": "允许将死领域", "_data": "是否允许走到将死的领域上。如果此项为true,则可以走到将死的领域上" }, "enableMoveDirectly": { "_leaf": true, "_type": "checkbox", + "_docs": "允许瞬移", "_data": "是否允许瞬间移动" }, "enableDisabledShop": { "_leaf": true, "_type": "checkbox", + "_docs": "商店预览", "_data": "是否允许查看未开启状态的快捷商店内容;如果此项为真,则对于未开启状态的商店允许查看其内容(但不能购买)" }, "disableShopOnDamage": { "_leaf": true, "_type": "checkbox", + "_docs": "伤害禁用商店", "_data": "是否在经过领域/夹击/路障等伤害后禁用快捷商店。" }, "blurFg": { "_leaf": true, "_type": "checkbox", + "_docs": "虚化前景层", "_data": "是否虚化前景层;如果此项开启,则在游戏中事件层有东西(如宝石等)时虚化前景层。" } } diff --git a/_server/table/events.comment.js b/_server/table/events.comment.js index 4432901f..65f81cea 100644 --- a/_server/table/events.comment.js +++ b/_server/table/events.comment.js @@ -16,14 +16,14 @@ var events_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_type": "event", "_range": "thiseval instanceof Array", "_event": "commonEvent", - "_data": "打败怪物后加点" + "_data": "加点事件" }, "毒衰咒处理": { "_leaf": true, "_type": "event", "_range": "thiseval instanceof Array", "_event": "commonEvent", - "_data": "毒衰咒效果处理" + "_data": "毒衰咒处理" }, "滑冰事件": { "_leaf": true, @@ -38,7 +38,7 @@ var events_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "event", "_event": "commonEvent", - "_data": "自定义公共事件,可以双击进入事件编辑器" + "_data": "公共事件" } } } diff --git a/_server/table/functions.comment.js b/_server/table/functions.comment.js index 18603a46..d8fd7de3 100644 --- a/_server/table/functions.comment.js +++ b/_server/table/functions.comment.js @@ -14,19 +14,19 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "重置整个游戏" + "_data": "重置游戏" }, "win": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "游戏获胜事件" + "_data": "游戏获胜" }, "lose": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "游戏失败事件" + "_data": "游戏失败" }, "changingFloor": { "_leaf": true, @@ -50,49 +50,49 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "战前事件" + "_data": "战前判定" }, "afterBattle": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "战后事件" + "_data": "战后脚本" }, "afterOpenDoor": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "开门后事件" + "_data": "开门后脚本" }, "afterGetItem": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "获得道具后事件" + "_data": "道具后脚本" }, "afterChangeLight": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "改变亮灯事件" + "_data": "改变亮灯后" }, "afterPushBox": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "推箱子事件" + "_data": "推箱子后" }, "afterPassNet": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "经过特殊地形后的事件" + "_data": "特殊地形后" }, "canUseQuickShop": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "能否用快捷商店" + "_data": "能否快捷商店" } } }, @@ -103,19 +103,19 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "怪物特殊属性定义" + "_data": "怪物特殊属性" }, "getEnemyInfo": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "获得怪物真实属性" + "_data": "怪物真实属性" }, "getDamageInfo": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "获得战斗伤害信息" + "_data": "战斗伤害信息" } } }, @@ -132,6 +132,7 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, + "_docs": "点击状态栏", "_data": "状态栏点击事件,仅在开启自绘状态栏时生效" } } @@ -167,19 +168,19 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "每一步后的操作" + "_data": "每步后操作" }, "moveDirectly": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "瞬间移动处理" + "_data": "瞬间移动" }, "parallelDo": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "并行事件处理" + "_data": "并行脚本" } } }, @@ -196,13 +197,13 @@ var functions_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "地图数据统计" + "_data": "数据统计" }, "drawAbout": { "_leaf": true, "_type": "textarea", "_lint": true, - "_data": "绘制关于界面" + "_data": "关于界面" } } } diff --git a/_server/table/maps.comment.js b/_server/table/maps.comment.js deleted file mode 100644 index 187119a9..00000000 --- a/_server/table/maps.comment.js +++ /dev/null @@ -1,197 +0,0 @@ -var maps_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = -{ - ////////////////////////// 地形部分 ////////////////////////// - - // 0-20 地形 - '1':' 黄墙', - '2':' 白墙', - '3':' 蓝墙', - '4':' 星空', - '5':' 岩浆', - '6':' 冰面', - '7':' 蓝色商店左', - '8':' 蓝色商店右', - '9':' 粉色商店左', - '10':' 粉色商店左', - '11':' 血网', - '12':' 毒网', - '13':' 衰网', - '14':' 咒网', - '15':' 水', - // 在这里添加更多地形 - // 如果空位不足,可以从180以后开始继续放,只要不和现有的数字冲突即可 - - // Autotile - '20':' autotile', - // 更多的autotile从151到160等,只要不和现有的数字冲突即可 - '151':'', - '152':'', - '153':'', - - ////////////////////////// 物品部分 ////////////////////////// - - // 21-80 物品 - '21':' 黄钥匙', - '22':' 蓝钥匙', - '23':' 红钥匙', - '24':' 绿钥匙', - '25':' 铁门钥匙', - '26':' 大黄门钥匙(钥匙盒)', - '27':' 红宝石', - '28':' 蓝宝石', - '29':' 绿宝石', - '30':' 黄宝石', - '31':' 红血瓶', - '32':' 蓝血瓶', - '33':' 绿血瓶', - '34':' 黄血瓶', - '35':' 铁剑', - '36':' 铁盾', - '37':' 银剑', - '38':' 银盾', - '39':' 骑士剑', - '40':' 骑士盾', - '41':' 圣剑', - '42':' 圣盾', - '43':' 神圣剑', - '44':' 神圣盾', - '45':' 怪物手册', - '46':' 楼层传送器', - '47':' 破墙镐', - '48':' 破冰镐', - '49':' 炸弹', - '50':' 中心对称', - '51':' 上楼器', - '52':' 下楼器', - '53':' 幸运金币', - '54':' 冰冻徽章', - '55':' 十字架', - '56':' 圣水', - '57':' 地震卷轴', - '58':' 解毒药水', - '59':' 解衰药水', - '60':' 解咒药水', - '61':' 万能药水', - '62':' 屠龙匕首', - '63':' 金钱袋', - '64':' 绿鞋', - '65':' 圣锤', - - - ////////////////////////// 门、楼梯、传送点部分 ////////////////////////// - - // 81-100 门 - '81':' 黄门', - '82':' 蓝门', - '83':' 红门', - '84':' 绿门', - '85':' 机关门左', - '86':' 铁门', - '87':' 上楼梯', - '88':' 下楼梯', - '89':' 传送门', - '90':' 星空传送门', - '91':' 上箭头', - '92':' 左箭头', - '93':' 下箭头', - '94':' 右箭头', - - - ////////////////////////// NPC部分 ////////////////////////// - - // 121-150 NPC - '121':'', - '122':'', - '123':'', - '124':'', - '125':'', - '126':'', - '127':'', - '128':'', - '129':'', - '130':'', - '131':'', - '132':'', - - ////////////////////////// 其他部分 ////////////////////////// - - // 161-200 其他(单向箭头、灯、箱子等等) - '161':' 单向上箭头', - '162':' 单向下箭头', - '163':' 单向左箭头', - '164':' 单向右箭头', - '165':' 灯', - '166':' 暗灯', - '167':' 滑冰', - '168':' 花', - '169':' 箱子', - '170':' 完成的箱子', - - - ////////////////////////// 怪物部分 ////////////////////////// - - // 201-300 怪物 - '201':'', - '202':'', - '203':'', - '204':'', - '205':'', - '206':'', - '207':'', - '208':'', - '209':'', - '210':'', - '211':'', - '212':'', - '213':'', - '214':'', - '215':'', - '216':'', - '217':'', - '218':'', - '219':'', - '220':'', - '221':'', - '222':'', - '223':'', - '224':'', - '225':'', - '226':'', - '227':'', - '228':'', - '229':'', - '230':'', - '231':'', - '232':'', - '233':'', - '234':'', - '235':'', - '236':'', - '237':'', - '238':'', - '239':'', - '240':'', - '241':'', - '242':'', - '243':'', - '244':'', - '245':'', - '246':'', - '247':'', - '248':'', - '249':'', - '250':'', - '251':'', - '252':'', - '253':'', - '254':'', - '255':'', - '256':'', - '257':'', - '258':'', - '259':'', - '260':'', - - ////////////////////////// 待定... ////////////////////////// - // 目前ID暂时不要超过400 -} \ No newline at end of file diff --git a/_server/table/plugins.comment.js b/_server/table/plugins.comment.js index 3d436a06..ec02f2ff 100644 --- a/_server/table/plugins.comment.js +++ b/_server/table/plugins.comment.js @@ -18,19 +18,19 @@ var plugins_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", - "_data": "绘制灯光效果" + "_data": "灯光效果" }, "drawItemShop": { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", - "_data": "道具商店插件" + "_data": "道具商店" }, "smoothCamera": { "_leaf": true, "_type": "textarea", "_range": "typeof(thiseval)=='string' || thiseval==null", - "_data": "平滑移动镜头效果" + "_data": "平滑移动镜头" }, } if (obj[key]) return obj[key]; diff --git a/libs/control.js b/libs/control.js index 1ce0a944..5da3238d 100644 --- a/libs/control.js +++ b/libs/control.js @@ -827,7 +827,7 @@ control.prototype._drawHero_getDrawObjs = function (direction, x, y, status, off "status": status, "index": index++, }); - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { drawObjs.push({ "img": core.material.images.images[t.name], "width": core.material.images.images[t.name].width/4, @@ -949,7 +949,7 @@ control.prototype.nearHero = function (x, y, n) { ////// 聚集跟随者 ////// control.prototype.gatherFollowers = function () { var x=core.getHeroLoc('x'), y=core.getHeroLoc('y'), dir=core.getHeroLoc('direction'); - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { t.x = x; t.y = y; t.stop = true; @@ -959,7 +959,7 @@ control.prototype.gatherFollowers = function () { ////// 更新跟随者坐标 ////// control.prototype.updateFollowers = function () { - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { if (!t.stop) { t.x += core.utils.scan[t.direction].x; t.y += core.utils.scan[t.direction].y; @@ -967,7 +967,7 @@ control.prototype.updateFollowers = function () { }) var nowx = core.getHeroLoc('x'), nowy = core.getHeroLoc('y'); - (core.status.hero.followers||[]).forEach(function (t) { + core.status.hero.followers.forEach(function (t) { t.stop = true; var dx = nowx - t.x, dy = nowy - t.y; for (var dir in core.utils.scan) { diff --git a/libs/events.js b/libs/events.js index ac10d89e..4f3630e8 100644 --- a/libs/events.js +++ b/libs/events.js @@ -2406,7 +2406,6 @@ events.prototype.hasAsync = function () { ////// 跟随 ////// events.prototype.follow = function (name) { - core.status.hero.followers = core.status.hero.followers || []; name = core.getMappedName(name); if (core.material.images.images[name]) { core.status.hero.followers.push({"name": name}); @@ -2418,7 +2417,6 @@ events.prototype.follow = function (name) { ////// 取消跟随 ////// events.prototype.unfollow = function (name) { - core.status.hero.followers = core.status.hero.followers || []; if (!name) { core.status.hero.followers = []; } diff --git a/libs/ui.js b/libs/ui.js index fcc48a03..99e28982 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -607,7 +607,7 @@ ui.prototype._getPosition = function (content) { var str = s3.split(','); px = py = null; if (str.length == 1) { - var follower = (core.status.hero.followers||[])[parseInt(str[0])-1]; + var follower = core.status.hero.followers[parseInt(str[0])-1]; if (follower) { px = follower.x; py = follower.y; diff --git a/project/data.js b/project/data.js index d27cc4ee..bd0fb6d9 100644 --- a/project/data.js +++ b/project/data.js @@ -104,6 +104,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d = "y": 10 }, "flags": {}, + "followers": [], "steps": 0 }, "startCanvas": [ diff --git a/v2.x-final更新.txt b/v2.x-final更新.txt index 3653a79c..337fc4d2 100644 --- a/v2.x-final更新.txt +++ b/v2.x-final更新.txt @@ -35,6 +35,9 @@ 事件转向 (已完成!) 合并数值操作事件 (已完成!) fromLoad,聚集问题 +(已完成!) 注释优化 +状态栏显示项的优化 +动画/音乐/音效自动补全 (不处理) 0. 部分文案的修改,如“地图编辑器”(启动服务.exe中)、“enemys”、“snipe”