remove flyRange
This commit is contained in:
parent
51f813e3a9
commit
32e760e9e6
@ -253,12 +253,6 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc =
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flyRange": {
|
|
||||||
"_leaf": true,
|
|
||||||
"_type": "textarea",
|
|
||||||
"_range": "thiseval instanceof Array",
|
|
||||||
"_data": "初始可飞的楼层;一般留空数组即可"
|
|
||||||
},
|
|
||||||
"loc": {
|
"loc": {
|
||||||
|
|
||||||
"_type": "object",
|
"_type": "object",
|
||||||
|
|||||||
@ -339,7 +339,6 @@ editor_mode = function (editor) {
|
|||||||
editor_mode.prototype.indent = function (field) {
|
editor_mode.prototype.indent = function (field) {
|
||||||
var num = '\t';
|
var num = '\t';
|
||||||
if (field.indexOf("['main']") === 0) return 0;
|
if (field.indexOf("['main']") === 0) return 0;
|
||||||
if (field.indexOf("['flyRange']") !== -1) return 0;
|
|
||||||
if (field === "['special']") return 0;
|
if (field === "['special']") return 0;
|
||||||
return num;
|
return num;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -660,8 +660,8 @@ actions.prototype._sys_onmousewheel = function (direct) {
|
|||||||
|
|
||||||
// 楼层飞行器
|
// 楼层飞行器
|
||||||
if (core.status.lockControl && core.status.event.id == 'fly') {
|
if (core.status.lockControl && core.status.event.id == 'fly') {
|
||||||
if (direct==1) core.ui.drawFly(core.status.event.data+1);
|
if (direct==1) core.ui.drawFly(this._getNextFlyFloor(1));
|
||||||
if (direct==-1) core.ui.drawFly(core.status.event.data-1);
|
if (direct==-1) core.ui.drawFly(this._getNextFlyFloor(-1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -990,25 +990,44 @@ actions.prototype._clickBookDetail = function () {
|
|||||||
|
|
||||||
////// 楼层传送器界面时的点击操作 //////
|
////// 楼层传送器界面时的点击操作 //////
|
||||||
actions.prototype._clickFly = function(x,y) {
|
actions.prototype._clickFly = function(x,y) {
|
||||||
if ((x==10 || x==11) && y==9) core.ui.drawFly(core.status.event.data-1);
|
if ((x==10 || x==11) && y==9) core.ui.drawFly(this._getNextFlyFloor(-1));
|
||||||
if ((x==10 || x==11) && y==5) core.ui.drawFly(core.status.event.data+1);
|
if ((x==10 || x==11) && y==5) core.ui.drawFly(this._getNextFlyFloor(1));
|
||||||
if ((x==10 || x==11) && y==10) core.ui.drawFly(core.status.event.data-10);
|
if ((x==10 || x==11) && y==10) core.ui.drawFly(this._getNextFlyFloor(-10));
|
||||||
if ((x==10 || x==11) && y==4) core.ui.drawFly(core.status.event.data+10);
|
if ((x==10 || x==11) && y==4) core.ui.drawFly(this._getNextFlyFloor(10));
|
||||||
if (x>=5 && x<=7 && y==12) core.ui.closePanel();
|
if (x>=5 && x<=7 && y==12) core.ui.closePanel();
|
||||||
if (x>=0 && x<=9 && y>=3 && y<=11)
|
if (x>=0 && x<=9 && y>=3 && y<=11)
|
||||||
core.control.flyTo(core.status.hero.flyRange[core.status.event.data]);
|
core.control.flyTo(core.floorIds[core.status.event.data]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
////// 楼层传送器界面时,按下某个键的操作 //////
|
////// 楼层传送器界面时,按下某个键的操作 //////
|
||||||
actions.prototype._keyDownFly = function (keycode) {
|
actions.prototype._keyDownFly = function (keycode) {
|
||||||
if (keycode==37) core.ui.drawFly(core.status.event.data-10);
|
if (keycode==37) core.ui.drawFly(this._getNextFlyFloor(-10));
|
||||||
else if (keycode==38) core.ui.drawFly(core.status.event.data+1);
|
else if (keycode==38) core.ui.drawFly(this._getNextFlyFloor(1));
|
||||||
else if (keycode==39) core.ui.drawFly(core.status.event.data+10);
|
else if (keycode==39) core.ui.drawFly(this._getNextFlyFloor(10));
|
||||||
else if (keycode==40) core.ui.drawFly(core.status.event.data-1);
|
else if (keycode==40) core.ui.drawFly(this._getNextFlyFloor(-1));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
actions.prototype._getNextFlyFloor = function (delta, index) {
|
||||||
|
if (!core.isset(index)) index = core.status.event.data;
|
||||||
|
if (delta == 0) return index;
|
||||||
|
var sign = Math.sign(delta);
|
||||||
|
delta = Math.abs(delta);
|
||||||
|
var ans = index;
|
||||||
|
while (true) {
|
||||||
|
index += sign;
|
||||||
|
if (index < 0 || index >= core.floorIds.length) break;
|
||||||
|
var floorId = core.floorIds[index];
|
||||||
|
if (core.status.maps[floorId].canFlyTo && core.hasVisitedFloor(floorId)) {
|
||||||
|
delta--;
|
||||||
|
ans = index;
|
||||||
|
}
|
||||||
|
if (delta == 0) break;
|
||||||
|
}
|
||||||
|
return ans;
|
||||||
|
}
|
||||||
|
|
||||||
////// 楼层传送器界面时,放开某个键的操作 //////
|
////// 楼层传送器界面时,放开某个键的操作 //////
|
||||||
actions.prototype._keyUpFly = function (keycode) {
|
actions.prototype._keyUpFly = function (keycode) {
|
||||||
if (keycode==71 || keycode==27 || keycode==88)
|
if (keycode==71 || keycode==27 || keycode==88)
|
||||||
|
|||||||
@ -1912,9 +1912,8 @@ control.prototype.replay = function () {
|
|||||||
}
|
}
|
||||||
else if (action.indexOf("fly:")==0) {
|
else if (action.indexOf("fly:")==0) {
|
||||||
var floorId=action.substring(4);
|
var floorId=action.substring(4);
|
||||||
var toIndex=core.status.hero.flyRange.indexOf(floorId);
|
var toIndex=core.floorIds.indexOf(floorId);
|
||||||
var nowIndex=core.status.hero.flyRange.indexOf(core.status.floorId);
|
if (core.hasItem('fly')) {
|
||||||
if (core.hasItem('fly') && toIndex>=0 && nowIndex>=0) {
|
|
||||||
core.ui.drawFly(toIndex);
|
core.ui.drawFly(toIndex);
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
if (!core.control.flyTo(floorId, function () {core.replay()})) {
|
if (!core.control.flyTo(floorId, function () {core.replay()})) {
|
||||||
|
|||||||
@ -452,12 +452,6 @@ events.prototype.changeFloor = function (floorId, stair, heroLoc, time, callback
|
|||||||
core.clearContinueAutomaticRoute();
|
core.clearContinueAutomaticRoute();
|
||||||
core.status.replay.animate=true;
|
core.status.replay.animate=true;
|
||||||
|
|
||||||
if (core.status.maps[floorId].canFlyTo && core.status.hero.flyRange.indexOf(floorId)<0) {
|
|
||||||
core.status.hero.flyRange.push(floorId);
|
|
||||||
core.status.hero.flyRange.sort(function (a, b) {
|
|
||||||
return core.floorIds.indexOf(a) - core.floorIds.indexOf(b);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
this._changeFloor_beforeChange(info, callback);
|
this._changeFloor_beforeChange(info, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -51,7 +51,9 @@ maps.prototype._mapIntoBlocks = function (map,floor,floorId){
|
|||||||
var mh = core.floors[floorId].height;
|
var mh = core.floors[floorId].height;
|
||||||
for (var i = 0; i < mh; i++) {
|
for (var i = 0; i < mh; i++) {
|
||||||
for (var j = 0; j < mw; j++) {
|
for (var j = 0; j < mw; j++) {
|
||||||
blocks.push(this.initBlock(j, i, (map[i]||[])[j], true, floor));
|
var block = this.initBlock(j, i, (map[i]||[])[j], true, floor);
|
||||||
|
if (block.id != 0 || block.event.trigger)
|
||||||
|
blocks.push(block);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return blocks;
|
return blocks;
|
||||||
|
|||||||
@ -1575,11 +1575,9 @@ ui.prototype.drawBookDetail = function (index) {
|
|||||||
////// 绘制楼层传送器 //////
|
////// 绘制楼层传送器 //////
|
||||||
ui.prototype.drawFly = function(page) {
|
ui.prototype.drawFly = function(page) {
|
||||||
|
|
||||||
if (page<0) page=0;
|
|
||||||
if (page>=core.status.hero.flyRange.length) page=core.status.hero.flyRange.length-1;
|
|
||||||
core.status.event.data = page;
|
core.status.event.data = page;
|
||||||
|
|
||||||
var floorId = core.status.hero.flyRange[page];
|
var floorId = core.floorIds[page];
|
||||||
var title = core.status.maps[floorId].title;
|
var title = core.status.maps[floorId].title;
|
||||||
|
|
||||||
core.clearMap('ui');
|
core.clearMap('ui');
|
||||||
@ -1591,12 +1589,12 @@ ui.prototype.drawFly = function(page) {
|
|||||||
core.fillText('ui', '楼层跳跃', 208, 60, '#FFFFFF', "bold 28px "+globalFont);
|
core.fillText('ui', '楼层跳跃', 208, 60, '#FFFFFF', "bold 28px "+globalFont);
|
||||||
core.fillText('ui', '返回游戏', 208, 403, '#FFFFFF', "bold 15px "+globalFont)
|
core.fillText('ui', '返回游戏', 208, 403, '#FFFFFF', "bold 15px "+globalFont)
|
||||||
core.fillText('ui', title, 356, 247, '#FFFFFF', "bold 19px "+globalFont);
|
core.fillText('ui', title, 356, 247, '#FFFFFF', "bold 19px "+globalFont);
|
||||||
if (page<core.status.hero.flyRange.length-1) {
|
if (core.actions._getNextFlyFloor(1) != page) {
|
||||||
core.fillText('ui', '▲', 356, 247 - 64, '#FFFFFF', "17px "+globalFont);
|
core.fillText('ui', '▲', 356, 247 - 64, '#FFFFFF', "17px "+globalFont);
|
||||||
core.fillText('ui', '▲', 356, 247 - 96, '#FFFFFF', "17px "+globalFont);
|
core.fillText('ui', '▲', 356, 247 - 96, '#FFFFFF', "17px "+globalFont);
|
||||||
core.fillText('ui', '▲', 356, 247 - 96 - 7, '#FFFFFF', "17px "+globalFont);
|
core.fillText('ui', '▲', 356, 247 - 96 - 7, '#FFFFFF', "17px "+globalFont);
|
||||||
}
|
}
|
||||||
if (page>0) {
|
if (core.actions._getNextFlyFloor(-1) != page) {
|
||||||
core.fillText('ui', '▼', 356, 247 + 64, '#FFFFFF', "17px "+globalFont);
|
core.fillText('ui', '▼', 356, 247 + 64, '#FFFFFF', "17px "+globalFont);
|
||||||
core.fillText('ui', '▼', 356, 247 + 96, '#FFFFFF', "17px "+globalFont);
|
core.fillText('ui', '▼', 356, 247 + 96, '#FFFFFF', "17px "+globalFont);
|
||||||
core.fillText('ui', '▼', 356, 247 + 96 + 7, '#FFFFFF', "17px "+globalFont);
|
core.fillText('ui', '▼', 356, 247 + 96 + 7, '#FFFFFF', "17px "+globalFont);
|
||||||
|
|||||||
@ -95,7 +95,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
|||||||
"tools": {},
|
"tools": {},
|
||||||
"equips": {}
|
"equips": {}
|
||||||
},
|
},
|
||||||
"flyRange": [],
|
|
||||||
"loc": {
|
"loc": {
|
||||||
"direction": "up",
|
"direction": "up",
|
||||||
"x": 6,
|
"x": 6,
|
||||||
|
|||||||
@ -360,7 +360,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
|||||||
},
|
},
|
||||||
"useItemEffect": {
|
"useItemEffect": {
|
||||||
"book": "core.ui.drawBook(0);",
|
"book": "core.ui.drawBook(0);",
|
||||||
"fly": "core.ui.drawFly(core.status.hero.flyRange.indexOf(core.status.floorId));",
|
"fly": "core.ui.drawFly(core.floorIds.indexOf(core.status.floorId));",
|
||||||
"earthquake": "core.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});",
|
"earthquake": "core.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});",
|
||||||
"pickaxe": "core.playSound('pickaxe.mp3');\ncore.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});",
|
"pickaxe": "core.playSound('pickaxe.mp3');\ncore.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});",
|
||||||
"icePickaxe": "core.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});",
|
"icePickaxe": "core.removeBlockByIds(core.status.floorId, core.status.event.ui);\ncore.drawMap(core.status.floorId, function () {\n\tcore.drawTip(core.material.items[itemId].name + '使用成功');\n});",
|
||||||
@ -389,7 +389,7 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
|||||||
},
|
},
|
||||||
"canUseItemEffect": {
|
"canUseItemEffect": {
|
||||||
"book": "true",
|
"book": "true",
|
||||||
"fly": "(function () {\n\treturn core.status.hero.flyRange.indexOf(core.status.floorId)>=0 && (core.status.maps[core.status.floorId]||{}).canFlyTo;\n})();",
|
"fly": "(function () {\n\treturn core.status.maps[core.status.floorId].canFlyTo;\n})();",
|
||||||
"pickaxe": "(function() {\n\tvar ids = [], id2s = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && core.nearHero(block.x, block.y) && \n\t\t\t(block.event.canBreak || block.event.id == 'yellowWall' || block.event.id=='whiteWall' || block.event.id=='blueWall')) { // 能破哪些墙\n\t\t\t// 四个方向\n\t\t\tif (core.flags.pickaxeFourDirections || (block.x == core.nextX() && block.y == core.nextY()))\n\t\t\t\tids.push(i);\n\t\t\telse id2s.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\telse if (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();",
|
"pickaxe": "(function() {\n\tvar ids = [], id2s = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && core.nearHero(block.x, block.y) && \n\t\t\t(block.event.canBreak || block.event.id == 'yellowWall' || block.event.id=='whiteWall' || block.event.id=='blueWall')) { // 能破哪些墙\n\t\t\t// 四个方向\n\t\t\tif (core.flags.pickaxeFourDirections || (block.x == core.nextX() && block.y == core.nextY()))\n\t\t\t\tids.push(i);\n\t\t\telse id2s.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\telse if (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();",
|
||||||
"icePickaxe": "(function() {\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.x==core.nextX() && block.y==core.nextY() && block.event.id=='ice') {\n\t\t\tcore.status.event.ui = [i];\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();",
|
"icePickaxe": "(function() {\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.x==core.nextX() && block.y==core.nextY() && block.event.id=='ice') {\n\t\t\tcore.status.event.ui = [i];\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n})();",
|
||||||
"bomb": "(function () {\n\tvar ids = [], id2s = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.event.cls.indexOf('enemy')==0 && core.nearHero(block.x, block.y)) {\n\t\t\tvar enemy = core.material.enemys[block.event.id];\n\t\t\tif (core.isset(enemy) && enemy.notBomb) continue;\n\t\t\tif (core.flags.bombFourDirections || (block.x==core.nextX() && block.y==core.nextY()))\n\t\t\t\tids.push(i);\n\t\t\telse\n\t\t\t\tid2s.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\tif (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();",
|
"bomb": "(function () {\n\tvar ids = [], id2s = [];\n\tfor (var i in core.status.thisMap.blocks) {\n\t\tvar block = core.status.thisMap.blocks[i];\n\t\tif (!block.disable && block.event.cls.indexOf('enemy')==0 && core.nearHero(block.x, block.y)) {\n\t\t\tvar enemy = core.material.enemys[block.event.id];\n\t\t\tif (core.isset(enemy) && enemy.notBomb) continue;\n\t\t\tif (core.flags.bombFourDirections || (block.x==core.nextX() && block.y==core.nextY()))\n\t\t\t\tids.push(i);\n\t\t\telse\n\t\t\t\tid2s.push(i);\n\t\t}\n\t}\n\tif (ids.length>0) {\n\t\tcore.status.event.ui = ids;\n\t\treturn true;\n\t}\n\tif (id2s.length==1) {\n\t\tcore.status.event.ui = id2s;\n\t\treturn true;\n\t}\n\treturn false;\n})();",
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user