diff --git a/_server/blockly/MotaAction.g4 b/_server/blockly/MotaAction.g4 index 37dca134..501d8ef6 100644 --- a/_server/blockly/MotaAction.g4 +++ b/_server/blockly/MotaAction.g4 @@ -1683,8 +1683,8 @@ Bg_Fg_List /*Bg_Fg_List ['bg','fg']*/; Floor_Meta_List - : '楼层中文名'|'状态栏名称'|'能否使用楼传'|'能否打开快捷商店'|'是否不可浏览地图'|'默认地面ID'|'楼层贴图'|'宝石血瓶效果'|'上楼点坐标'|'下楼点坐标'|'背景音乐'|'画面色调'|'天气和强度'|'是否地下层' - /*Floor_Meta_List ['title','name','canFlyTo', 'canUseQuickShop', 'cannotViewMap', 'defaultGround', 'images', 'item_ratio', 'upFloor', 'downFloor', 'bgm', 'color', 'weather', 'underGround']*/; + : '楼层中文名'|'状态栏名称'|'能否使用楼传'|'能否打开快捷商店'|'是否不可浏览地图'|'是否不可瞬间移动'|'默认地面ID'|'楼层贴图'|'宝石血瓶效果'|'上楼点坐标'|'下楼点坐标'|'背景音乐'|'画面色调'|'天气和强度'|'是否地下层' + /*Floor_Meta_List ['title','name','canFlyTo', 'canUseQuickShop', 'cannotViewMap', 'cannotMoveDirectly', 'defaultGround', 'images', 'item_ratio', 'upFloor', 'downFloor', 'bgm', 'color', 'weather', 'underGround']*/; Global_Attribute_List : '全局字体'|'横屏左侧状态栏背景'|'竖屏上方状态栏背景'|'竖屏下方道具栏背景'|'边框颜色'|'状态栏文字色'|'难度显示文字色'|'楼层转换背景'|'楼层转换文字色' diff --git a/_server/comment.js b/_server/comment.js index 41aa00ef..b44cc428 100644 --- a/_server/comment.js +++ b/_server/comment.js @@ -324,6 +324,12 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = "_bool": "bool", "_data": "该层是否不允许被浏览地图看到;如果勾上则浏览地图会跳过该层" }, + "cannotMoveDirectly": { + "_leaf": true, + "_type": "checkbox", + "_bool": "bool", + "_data": "该层是否不允许瞬间移动;如果勾上则不可在此层进行瞬移" + }, "firstArrive": { "_leaf": true, "_type": "event", diff --git a/_server/editor_file.js b/_server/editor_file.js index 8178712c..3d2b80ca 100644 --- a/_server/editor_file.js +++ b/_server/editor_file.js @@ -147,6 +147,7 @@ editor_file = function (editor, callback) { canFlyTo: saveStatus?currData.canFlyTo:true, canUseQuickShop: saveStatus?currData.canUseQuickShop:true, cannotViewMap: saveStatus?currData.cannotViewMap:false, + cannotMoveDirectly: saveStatus?currData.cannotMoveDirectly:false, images: [], item_ratio: saveStatus?currData.item_ratio:1, defaultGround: saveStatus?currData.defaultGround:"ground", diff --git a/docs/event.md b/docs/event.md index f691e69a..2dd6f6c4 100644 --- a/docs/event.md +++ b/docs/event.md @@ -441,7 +441,7 @@ value是一个表达式,将通过这个表达式计算出的结果赋值给nam ] ``` -name为必填项,代表要修改的楼层属性。其和楼层属性中一一对应,目前只能为`"title", "name", "canFlyTo", "canUseQuickShop", "cannotViewMap", "color", "weather", +name为必填项,代表要修改的楼层属性。其和楼层属性中一一对应,目前只能为`"title", "name", "canFlyTo", "canUseQuickShop", "cannotViewMap", "cannotMoveDirectly", "color", "weather", "defaultGround", "images", "item_ratio", "upFloor", "bgm", "downFloor", "underGround"`。 floorId为可选项,代表要修改的楼层ID;可以省略代表当前楼层。 diff --git a/libs/maps.js b/libs/maps.js index 1eff4460..958dcaf7 100644 --- a/libs/maps.js +++ b/libs/maps.js @@ -18,7 +18,7 @@ maps.prototype.loadFloor = function (floorId, map) { map = {"map": map}; } var content = {}; - ["floorId", "title", "name", "canFlyTo", "canUseQuickShop", "cannotViewMap", "color", "weather", + ["floorId", "title", "name", "canFlyTo", "canUseQuickShop", "cannotViewMap", "cannotMoveDirectly", "color", "weather", "defaultGround", "images", "item_ratio", "upFloor", "bgm", "downFloor", "underGround"].forEach(function (e) { if (core.isset(map[e])) content[e] = core.clone(map[e]); else content[e] = core.clone(floor[e]); @@ -321,6 +321,9 @@ maps.prototype.canMoveDirectly = function (destX,destY) { // 不可瞬间移动请返回-1 if (!core.flags.enableMoveDirectly) return -1; + // 检查该楼层是否不可瞬间移动 + if (core.status.thisMap.cannotMoveDirectly) return -1; + // 中毒状态:不能 if (core.hasFlag('poison')) return -1;