From 3c5e41842e2cb2eafd41dd3de14d333e3c1e55ac Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 8 Mar 2018 23:04:13 +0800 Subject: [PATCH 1/4] BGM --- libs/control.js | 18 +- project/floors/sample0.js | 315 +++++++++----- project/icons.js | 452 ++++++++++--------- project/images/enemys.png | Bin 37814 -> 65918 bytes project/items.js | 392 ++++++++++++----- project/maps.js | 889 +++++++++++++++++++++++++++++--------- 6 files changed, 1424 insertions(+), 642 deletions(-) diff --git a/libs/control.js b/libs/control.js index 1ca01d62..e663f9ba 100644 --- a/libs/control.js +++ b/libs/control.js @@ -300,13 +300,10 @@ control.prototype.startGame = function (hard, callback) { ////// 重新开始游戏;此函数将回到标题页面 ////// control.prototype.restart = function() { this.showStartAnimate(); + if (core.bgms.length>0) + core.playBgm(core.bgms[0]); } - - - - - /////////////////////// 寻路算法 & 人物行走控制 /////////////////////// ////// 清除自动寻路路线 ////// @@ -1975,7 +1972,7 @@ control.prototype.pauseBgm = function () { core.musicStatus.isPlaying = false; } catch (e) { - console.log("无法暂停BGM "+bgm); + console.log("无法暂停BGM"); console.log(e); } } @@ -1994,13 +1991,18 @@ control.prototype.resumeBgm = function () { } else { if (core.bgms.length>0) { - core.playBgm(core.bgms[0]); + if (core.isset(core.floors[core.status.floorId].bgm)) { + core.playBgm(core.floors[core.status.floorId].bgm); + } + else { + core.playBgm(core.bgms[0]); + } core.musicStatus.isPlaying = true; } } } catch (e) { - console.log("无法恢复BGM "+bgm); + console.log("无法恢复BGM"); console.log(e); } } diff --git a/project/floors/sample0.js b/project/floors/sample0.js index d5815cc9..06a5bd60 100644 --- a/project/floors/sample0.js +++ b/project/floors/sample0.js @@ -1,122 +1,213 @@ -main.floors.sample0 = +main.floors.sample0= { - "floorId": "sample0", // 这里需要改楼层名,请和文件名及下面的floorId保持完全一致 - // 楼层唯一标识符仅能由字母、数字、下划线组成,且不能由数字开头 - // 推荐用法:第20层就用MT20,第38层就用MT38,地下6层就用MT_6(用下划线代替负号),隐藏3层用MT3h(h表示隐藏),等等 - // 楼层唯一标识符,需要和名字完全一致 - "title": "样板 0 层", // 楼层中文名 - "name": "0", // 显示在状态栏中的层数 - "canFlyTo": true, // 该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器) - "canUseQuickShop": true, // 该层是否允许使用快捷商店 - "defaultGround": "ground", // 默认地面的图块ID(terrains中) - "png": [], // 该层默认显示的所有图片;详细用法请查看文档“自定义素材”中的说明。 - // "color": [0,0,0,0.3] // 该层的默认画面色调。本项可不写(代表无色调),如果写需要是一个RGBA数组。 - // "weather": ["snow",5], // 该层的默认天气。本项可忽略表示晴天,如果写则第一项为"rain"或"snow"代表雨雪,第二项为1-10之间的数代表强度。 - "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。 - "item_ratio": 2, // 该层的宝石/血瓶倍率 - "map": [ // 地图数据,需要是13x13,建议使用地图生成器来生成 - [0, 0, 220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], - [0, 246, 0, 246, 0, 20, 0, 3, 58, 59, 60, 61, 41], - [219, 0, 0, 0, 219, 20, 0, 3, 57, 26, 62, 63, 40], - [20, 20, 125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], - [216, 247, 256, 235, 248, 6, 0, 3, 49, 50, 51, 52, 38], - [6, 6, 125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], - [224, 254, 212, 232, 204, 5, 0, 1, 31, 32, 34, 33, 36], - [201, 205, 217, 215, 207, 5, 0, 1, 27, 28, 29, 30, 35], - [5, 5, 125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], - [0, 0, 237, 0, 0, 0, 45, 1, 1, 1, 121, 1, 1], - [4, 4, 126, 4, 4, 4, 0, 0, 0, 0, 0, 85, 124], - [87, 11, 12, 13, 14, 4, 4, 2, 2, 2, 122, 2, 2], - [88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86], +"floorId": "sample0", +"title": "样板 0 层", +"name": "0", +"canFlyTo": true, +"canUseQuickShop": true, +"defaultGround": "ground", +"png": [], +"bgm": "bgm.mp3", +"item_ratio": 2, +"map": [ + [ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], + [ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41], + [219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40], + [ 20, 20,125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], + [216,247,256,235,248, 6, 0, 3, 49, 50, 51, 52, 38], + [ 6, 6,125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], + [224,254,212,232,204, 5, 0, 1, 31, 32, 34, 33, 36], + [201,205,217,215,207, 5, 0, 1, 27, 28, 29, 30, 35], + [ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], + [ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,121, 1, 1], + [ 4, 4,126, 4, 4, 4, 0, 0, 0, 0, 0, 85,124], + [ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,122, 2, 2], + [ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86] +], +"firstArrive": [ + "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", + "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", + "\t[仙子,fairy]你问我...?我也不知道啊...", + "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。" +], +"events": { + "10,9": [ + "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为三类:items, constants, tools。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\n\n后两类道具在工具栏中可以看到并使用。", + "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", + "\t[老人,man]constants 和 tools 各最多只允许12种,多了会导致图标溢出。", + "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + { + "type": "hide", + "time": 500 + } ], - "firstArrive": [ // 第一次到该楼层触发的事件 - "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", - "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", - "\t[仙子,fairy]你问我...?我也不知道啊...", - "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。", + "10,11": [ + "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", + "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + { + "type": "hide", + "time": 500 + } ], - "events": { // 该楼的所有可能事件列表 - "10,9": [ // 守着道具的老人 - "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为三类:items, constants, tools。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\n\n后两类道具在工具栏中可以看到并使用。", - "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", - "\t[老人,man]constants 和 tools 各最多只允许12种,多了会导致图标溢出。", - "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - {"type": "hide", "time": 500} // 消失 - ], - "10,11": [ // 守着门的老人 - "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", - "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - {"type": "hide", "time": 500} - ], - "2,10": [ // 守着楼梯、传送门、路障的老人 - "\t[老人,womanMagician]这些是路障、楼梯、传送门。", - "\t[老人,womanMagician]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", - "\t[老人,womanMagician]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", - {"type": "hide", "time": 500} - ], - "2,8": [ // 守着第一批怪物的老人 - "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", - "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", - "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - {"type": "hide", "time": 500} - ], - "2,5": [ // 守着第二批怪物的老人 - "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", - {"type": "hide", "time": 500} - ], - "2,3": [ // 守着第三批怪物的老人 - "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", - "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", - {"type": "hide", "time": 500} - ], - "12,10": { // 隐藏的仙子 - "enable": false, // enable: false代表初始时禁用事件 - "data": [ - "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", - {"type": "hide", "time": 500} - ] - }, + "2,10": [ + "\t[老人,womanMagician]这些是路障、楼梯、传送门。", + "\t[老人,womanMagician]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", + "\t[老人,womanMagician]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", + { + "type": "hide", + "time": 500 + } + ], + "2,8": [ + "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", + "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", + "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + { + "type": "hide", + "time": 500 + } + ], + "2,5": [ + "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", + { + "type": "hide", + "time": 500 + } + ], + "2,3": [ + "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", + "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", + { + "type": "hide", + "time": 500 + } + ], + "12,10": { + "trigger": "action", + "enable": false, + "noPass": null, + "displayDamage": true, + "data": [ + "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", + { + "type": "hide", + "time": 500 + } + ] + } +}, +"changeFloor": { + "7,9": { + "floorId": "sample1", + "stair": "downFloor" }, - "changeFloor": { // 楼层转换事件;该事件不能和上面的events有冲突(同位置点),否则会被覆盖 - "7,9": {"floorId": "sample1", "stair": "downFloor"}, - "6,0": {"floorId": "sample1", "stair": "downFloor"}, // 目标点:sample1层的下楼梯位置 - "0,11": {"floorId": "sample0", "loc": [0,12]}, // 目标点:sample0层的x=0,y=12位置 - "0,12": {"floorId": "sample0", "stair": "upFloor"}, // 注意,目标层有多个楼梯的话,写stair可能会导致到达位置不确定。这时候推荐写loc指明目标点位置。 - "1,12": {"floorId": "sample0", "loc": [1,12]}, - "2,12": {"floorId": "sample0", "loc": [2,12]}, - "3,12": {"floorId": "sample0", "loc": [6,1], "direction": "up"}, // 切换楼层后勇士面对上方 - "4,12": {"floorId": "sample0", "loc": [0,9], "direction": "left", "time": 1000}, // 切换楼层后勇士面对左边,切换动画1000ms - "5,12": {"floorId": "sample0", "loc": [6,10], "time": 0, "portalWithoutTrigger": false}, // time=0表示无切换时间 - "6,12": {"floorId": "sample0", "loc": [10,10], "direction": "left", "time": 1000}, + "6,0": { + "floorId": "sample1", + "stair": "downFloor" }, - "afterBattle": { // 战斗后可能触发的事件列表 - "2,6": ["\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)"], + "0,11": { + "floorId": "sample0", + "loc": [ + 0, + 12 + ] }, - "afterGetItem": { // 获得道具后可能触发的事件列表 - "11,8": ["由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。"], - "8,6": ["由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。"], - "8,7": ["如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。"], - "10,7": ["在 data.js 的系统Flag中设置是否启用魔防。\n如果不启用魔防则不会在状态栏显示。"], - "9,5": [ - "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", - "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" + "0,12": { + "floorId": "sample0", + "stair": "upFloor" + }, + "1,12": { + "floorId": "sample0", + "loc": [ + 1, + 12 + ] + }, + "2,12": { + "floorId": "sample0", + "loc": [ + 2, + 12 + ] + }, + "3,12": { + "floorId": "sample0", + "loc": [ + 6, + 1 ], - "10,5": ["破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。"], - "8,4": [ - "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。", + "direction": "up" + }, + "4,12": { + "floorId": "sample0", + "loc": [ + 0, + 9 ], - "10,4": ["“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。"], - "9,2": ["该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。"], - "10,2": ["屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。"], + "direction": "left", + "time": 1000 }, - "afterOpenDoor": { // 开完门后可能触发的事件列表 - "11,12": ["你开了一个绿门,触发了一个afterOpenDoor事件"] + "5,12": { + "floorId": "sample0", + "loc": [ + 6, + 10 + ], + "time": 0, + "portalWithoutTrigger": false }, - "cannotMove": { // 每个图块不可通行的方向 - // 可以在这里定义每个点不能前往哪个方向,例如悬崖边不能跳下去 - // "x,y": ["up", "left"], // (x,y)点不能往上和左走 - - }, - -} - + "6,12": { + "floorId": "sample0", + "loc": [ + 10, + 10 + ], + "direction": "left", + "time": 1000 + } +}, +"afterBattle": { + "2,6": [ + "\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)" + ] +}, +"afterGetItem": { + "11,8": [ + "由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。" + ], + "8,6": [ + "由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。" + ], + "8,7": [ + "如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。" + ], + "10,7": [ + "在 data.js 的系统Flag中设置是否启用魔防。\n如果不启用魔防则不会在状态栏显示。" + ], + "9,5": [ + "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", + "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" + ], + "10,5": [ + "破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。" + ], + "8,4": [ + "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。" + ], + "10,4": [ + "“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。" + ], + "9,2": [ + "该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。" + ], + "10,2": [ + "屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。" + ] +}, +"afterOpenDoor": { + "11,12": [ + "你开了一个绿门,触发了一个afterOpenDoor事件" + ] +}, +"cannotMove": {}, +} \ No newline at end of file diff --git a/project/icons.js b/project/icons.js index fbd4a186..7a276890 100644 --- a/project/icons.js +++ b/project/icons.js @@ -1,221 +1,245 @@ icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = { - 'hero': { - 'down': {'loc': 0, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3}, - 'left': {'loc': 1, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3}, - 'right': {'loc': 2, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3}, - 'up': {'loc': 3, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3} + "hero": { + "down": { + "loc": 0, + "stop": 0, + "leftFoot": 1, + "rightFoot": 3 }, - 'terrains': { - 'ground': 0, - 'grass': 1, - 'grass2': 2, - 'yellowWall': 3, - 'whiteWall': 4, - 'blueWall': 5, - 'snowGround': 6, - 'ground2': 7, - 'ground3': 8, - 'ground4': 9, - 'sand': 10, - 'ground5': 11, - 'yellowWall2': 12, - 'whiteWall2': 13, - 'blueWall2': 14, - 'blockWall': 15, - 'grayWall': 16, - 'white': 17, - 'ground6': 18, - 'soil': 19, - 'star': 20, - 'lava': 21, - 'ice': 22, - 'downFloor': 23, - 'upFloor': 24, - 'yellowDoor': 25, - 'blueDoor': 26, - 'redDoor': 27, - 'greenDoor': 28, - 'specialDoor': 29, - 'steelDoor': 30, - 'blueShop-left': 31, - 'blueShop-right': 32, - 'pinkShop-left': 33, - 'pinkShop-right': 34, - 'arrowUp': 35, - 'arrowDown': 36, - 'arrowLeft': 37, - 'arrowRight': 38, - 'light': 39, - 'darkLight': 40, - 'ski': 41, - 'flower': 42, - 'box': 43, - 'boxed': 44 + "left": { + "loc": 1, + "stop": 0, + "leftFoot": 1, + "rightFoot": 3 }, - 'animates': { - 'star': 0, - 'lava': 1, - 'waterWall': 2, - 'yellowDoor': 3, - 'blueDoor': 4, - 'redDoor': 5, - 'greenDoor': 6, - 'specialDoor': 7, - 'blueWallDoor': 8, - 'yellowWallDoor': 9, - 'whiteWallDoor': 10, - 'steelDoor': 11, - 'lavaDoor': 12, - 'grayLavaDoor': 13, - 'starDoor': 14, - 'mockBlueWallDoor': 15, - 'mockYellowWallDoor': 16, - 'mockWhiteWallDoor': 17, - 'iceYellowWallDoor': 18, - 'starPortal': 19, - 'exclamation': 20, - 'portal': 21, - 'switch': 22, - 'lavaNet': 23, - 'poisonNet': 24, - 'weakNet': 25, - 'curseNet': 26, - 'downPortal': 27, - 'leftPortal': 28, - 'rightPortal': 29, - 'upPortal': 30, - 'water': 31, + "right": { + "loc": 2, + "stop": 0, + "leftFoot": 1, + "rightFoot": 3 }, - 'npcs': { - 'man': 0, - 'woman': 1, - 'thief': 2, - 'fairy': 3, - 'magician': 4, - 'womanMagician': 5, - 'oldMan': 6, - 'child': 7, - 'wood': 8, - 'pinkShop': 9, - 'blueShop': 10, - 'princess': 11 + "up": { + "loc": 3, + "stop": 0, + "leftFoot": 1, + "rightFoot": 3 }, - 'enemys': { - 'greenSlime': 0, - 'redSlime': 1, - 'blackSlime': 2, - 'slimelord': 3, - 'bat': 4, - 'bigBat': 5, - 'redBat': 6, - 'vampire': 7, - 'skeleton': 8, - 'skeletonSoilder': 9, - 'skeletonCaptain': 10, - 'ghostSkeleton': 11, - 'zombie': 12, - 'zombieKnight': 13, - 'rock': 14, - 'slimeMan': 15, - 'bluePriest': 16, - 'redPriest': 17, - 'brownWizard': 18, - 'redWizard': 19, - 'yellowGuard': 20, - 'blueGuard': 21, - 'redGuard': 22, - 'swordsman': 23, - 'soldier': 24, - 'yellowKnight': 25, - 'redKnight': 26, - 'darkKnight': 27, - 'blackKing': 28, - 'yellowKing': 29, - 'greenKing': 30, - 'blueKnight': 31, - 'goldSlime': 32, - 'poisonSkeleton': 33, - 'poisonBat': 34, - 'steelRock': 35, - 'skeletonPriest': 36, - 'skeletonKing': 37, - 'skeletonWizard': 38, - 'redSkeletonCaption': 39, - 'badHero': 40, - 'demon': 41, - 'demonPriest': 42, - 'goldHornSlime': 43, - 'redKing': 44, - 'whiteKing': 45, - 'blackMagician': 46, - 'silverSlime': 47, - 'swordEmperor': 48, - 'whiteHornSlime': 49, - 'badPrincess': 50, - 'badFairy': 51, - 'grayPriest': 52, - 'redSwordsman': 53, - 'whiteGhost': 54, - 'poisonZombie': 55, - 'magicDragon': 56, - 'octopus': 57, - 'darkFairy': 58, - 'greenKnight': 59, - }, - 'items': { - 'yellowKey': 0, - 'blueKey': 1, - 'redKey': 2, - 'greenKey': 3, - 'steelKey': 4, - 'bigKey': 6, - 'redJewel': 16, - 'blueJewel': 17, - 'greenJewel': 18, - 'yellowJewel': 19, - 'redPotion': 20, - 'bluePotion': 21, - 'greenPotion': 22, - 'yellowPotion': 23, - 'sword0': 60, - 'sword1': 50, - 'sword2': 51, - 'sword3': 52, - 'sword4': 53, - 'sword5': 54, - 'shield0': 61, - 'shield1': 55, - 'shield2': 56, - 'shield3': 57, - 'shield4': 58, - 'shield5': 59, - 'book': 9, - 'fly': 12, - 'pickaxe': 45, - 'icePickaxe': 44, - 'bomb': 43, - 'centerFly': 13, - 'upFly': 15, - 'downFly': 14, - 'coin': 11, - 'snow': 41, - 'cross': 40, - 'superPotion': 29, - 'earthquake': 8, - 'poisonWine': 24, - 'weakWine': 25, - 'curseWine': 27, - 'superWine': 28, - 'knife': 42, - 'moneyPocket': 46, - 'shoes': 47, - 'hammer': 48 - }, - 'autotile': { // 所有的Autotile列表;后面的index简单取0即可 - 'autotile': 0, - 'autotile1': 0, - 'autotile2': 0, - 'autotile3': 0, - } + "height": 48 + }, + "terrains": { + "ground": 0, + "grass": 1, + "grass2": 2, + "yellowWall": 3, + "whiteWall": 4, + "blueWall": 5, + "snowGround": 6, + "ground2": 7, + "ground3": 8, + "ground4": 9, + "sand": 10, + "ground5": 11, + "yellowWall2": 12, + "whiteWall2": 13, + "blueWall2": 14, + "blockWall": 15, + "grayWall": 16, + "white": 17, + "ground6": 18, + "soil": 19, + "star": 20, + "lava": 21, + "ice": 22, + "downFloor": 23, + "upFloor": 24, + "yellowDoor": 25, + "blueDoor": 26, + "redDoor": 27, + "greenDoor": 28, + "specialDoor": 29, + "steelDoor": 30, + "blueShop-left": 31, + "blueShop-right": 32, + "pinkShop-left": 33, + "pinkShop-right": 34, + "arrowUp": 35, + "arrowDown": 36, + "arrowLeft": 37, + "arrowRight": 38, + "light": 39, + "darkLight": 40, + "ski": 41, + "flower": 42, + "box": 43, + "boxed": 44 + }, + "animates": { + "star": 0, + "lava": 1, + "waterWall": 2, + "yellowDoor": 3, + "blueDoor": 4, + "redDoor": 5, + "greenDoor": 6, + "specialDoor": 7, + "blueWallDoor": 8, + "yellowWallDoor": 9, + "whiteWallDoor": 10, + "steelDoor": 11, + "lavaDoor": 12, + "grayLavaDoor": 13, + "starDoor": 14, + "mockBlueWallDoor": 15, + "mockYellowWallDoor": 16, + "mockWhiteWallDoor": 17, + "iceYellowWallDoor": 18, + "starPortal": 19, + "exclamation": 20, + "portal": 21, + "switch": 22, + "lavaNet": 23, + "poisonNet": 24, + "weakNet": 25, + "curseNet": 26, + "downPortal": 27, + "leftPortal": 28, + "rightPortal": 29, + "upPortal": 30, + "water": 31 + }, + "npcs": { + "man": 0, + "woman": 1, + "thief": 2, + "fairy": 3, + "magician": 4, + "womanMagician": 5, + "oldMan": 6, + "child": 7, + "wood": 8, + "pinkShop": 9, + "blueShop": 10, + "princess": 11 + }, + "enemys": { + "greenSlime": 0, + "redSlime": 1, + "blackSlime": 2, + "slimelord": 3, + "bat": 4, + "bigBat": 5, + "redBat": 6, + "vampire": 7, + "skeleton": 8, + "skeletonSoilder": 9, + "skeletonCaptain": 10, + "ghostSkeleton": 11, + "zombie": 12, + "zombieKnight": 13, + "rock": 14, + "slimeMan": 15, + "bluePriest": 16, + "redPriest": 17, + "brownWizard": 18, + "redWizard": 19, + "yellowGuard": 20, + "blueGuard": 21, + "redGuard": 22, + "swordsman": 23, + "soldier": 24, + "yellowKnight": 25, + "redKnight": 26, + "darkKnight": 27, + "blackKing": 28, + "yellowKing": 29, + "greenKing": 30, + "blueKnight": 31, + "goldSlime": 32, + "poisonSkeleton": 33, + "poisonBat": 34, + "steelRock": 35, + "skeletonPriest": 36, + "skeletonKing": 37, + "skeletonWizard": 38, + "redSkeletonCaption": 39, + "badHero": 40, + "demon": 41, + "demonPriest": 42, + "goldHornSlime": 43, + "redKing": 44, + "whiteKing": 45, + "blackMagician": 46, + "silverSlime": 47, + "swordEmperor": 48, + "whiteHornSlime": 49, + "badPrincess": 50, + "badFairy": 51, + "grayPriest": 52, + "redSwordsman": 53, + "whiteGhost": 54, + "poisonZombie": 55, + "magicDragon": 56, + "octopus": 57, + "darkFairy": 58, + "greenKnight": 59, + "test": 60 + }, + "items": { + "yellowKey": 0, + "blueKey": 1, + "redKey": 2, + "greenKey": 3, + "steelKey": 4, + "bigKey": 6, + "redJewel": 16, + "blueJewel": 17, + "greenJewel": 18, + "yellowJewel": 19, + "redPotion": 20, + "bluePotion": 21, + "greenPotion": 22, + "yellowPotion": 23, + "sword0": 60, + "sword1": 50, + "sword2": 51, + "sword3": 52, + "sword4": 53, + "sword5": 54, + "shield0": 61, + "shield1": 55, + "shield2": 56, + "shield3": 57, + "shield4": 58, + "shield5": 59, + "book": 9, + "fly": 12, + "pickaxe": 45, + "icePickaxe": 44, + "bomb": 43, + "centerFly": 13, + "upFly": 15, + "downFly": 14, + "coin": 11, + "snow": 41, + "cross": 40, + "superPotion": 29, + "earthquake": 8, + "poisonWine": 24, + "weakWine": 25, + "curseWine": 27, + "superWine": 28, + "knife": 42, + "moneyPocket": 46, + "shoes": 47, + "hammer": 48, + "ttt": 49, + "sgg": 35 + }, + "autotile": { + "autotile": 0, + "autotile1": 0, + "autotile2": 0, + "autotile3": 0 + } } \ No newline at end of file diff --git a/project/images/enemys.png b/project/images/enemys.png index 6797ae59a7dbdfeeced0acfc381492a2fe3f0294..11cac233e12bc94c139763310b764962e526e67b 100644 GIT binary patch literal 65918 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 JPDHLkV1j(gwAKIs literal 37814 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 N002ovPDHLkV1is^{xbjo diff --git a/project/items.js b/project/items.js index b68555f5..d9b28d69 100644 --- a/project/items.js +++ b/project/items.js @@ -1,117 +1,281 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = { - -"items" : { - // 钥匙 - 'yellowKey': {'cls': 'keys', 'name': '黄钥匙'}, - 'blueKey': {'cls': 'keys', 'name': '蓝钥匙'}, - 'redKey': {'cls': 'keys', 'name': '红钥匙'}, - - // 宝石、血瓶 - 'redJewel': {'cls': 'items', 'name': '红宝石'}, - 'blueJewel': {'cls': 'items', 'name': '蓝宝石'}, - 'greenJewel': {'cls': 'items', 'name': '绿宝石'}, - 'yellowJewel': {'cls': 'items', 'name': '黄宝石'}, - 'redPotion': {'cls': 'items', 'name': '红血瓶'}, - 'bluePotion': {'cls': 'items', 'name': '蓝血瓶'}, - 'yellowPotion': {'cls': 'items', 'name': '黄血瓶'}, - 'greenPotion': {'cls': 'items', 'name': '绿血瓶'}, - 'sword1': {'cls': 'items', 'name': '铁剑', 'isEquipment': true}, - 'sword2': {'cls': 'items', 'name': '银剑', 'isEquipment': true}, - 'sword3': {'cls': 'items', 'name': '骑士剑', 'isEquipment': true}, - 'sword4': {'cls': 'items', 'name': '圣剑', 'isEquipment': true}, - 'sword5': {'cls': 'items', 'name': '神圣剑', 'isEquipment': true}, - 'shield1': {'cls': 'items', 'name': '铁盾', 'isEquipment': true}, - 'shield2': {'cls': 'items', 'name': '银盾', 'isEquipment': true}, - 'shield3': {'cls': 'items', 'name': '骑士盾', 'isEquipment': true}, - 'shield4': {'cls': 'items', 'name': '圣盾', 'isEquipment': true}, - 'shield5': {'cls': 'items', 'name': '神圣盾', 'isEquipment': true}, - 'superPotion': {'cls': 'items', 'name': '圣水'}, - 'moneyPocket': {'cls': 'items', 'name': '金钱袋'}, - - // 物品 - 'sword0': {'cls': 'constants', 'name': '折断的剑', 'text': '没有任何作用的剑,相当于脱掉装备。'}, - 'shield0': {'cls': 'constants', 'name': '残破的盾', 'text': '没有任何作用的盾,相当于脱掉装备。'}, - 'book': {'cls': 'constants', 'name': '怪物手册', 'text': '可以查看当前楼层各怪物属性'}, - 'fly': {'cls': 'constants', 'name': '楼层传送器', 'text': '可以自由往来去过的楼层'}, - 'coin': {'cls': 'constants', 'name': '幸运金币', 'text': '持有时打败怪物可得双倍金币'}, - 'snow': {'cls': 'constants', 'name': '冰冻徽章', 'text': '可以将四周的熔岩变成平地'}, - 'cross': {'cls': 'constants', 'name': '十字架', 'text': '持有后无视怪物的无敌属性'}, - 'knife': {'cls': 'constants', 'name': '屠龙匕首', 'text': '该道具尚未被定义'}, - 'shoes': {'cls': 'constants', 'name': '绿鞋', 'text': '持有时无视负面地形'}, - - // 道具 - 'bigKey': {'cls': 'tools', 'name': '大黄门钥匙', 'text': '可以开启当前层所有黄门'}, - 'greenKey': {'cls': 'tools', 'name': '绿钥匙', 'text': '可以打开一扇绿门'}, - 'steelKey': {'cls': 'tools', 'name': '铁门钥匙', 'text': '可以打开一扇铁门'}, - 'pickaxe': {'cls': 'tools', 'name': '破墙镐', 'text': '可以破坏勇士面前的墙'}, - 'icePickaxe': {'cls': 'tools', 'name': '破冰镐', 'text': '可以破坏勇士面前的一堵冰墙'}, - 'bomb': {'cls': 'tools', 'name': '炸弹', 'text': '可以炸掉勇士面前的怪物'}, - 'centerFly': {'cls': 'tools', 'name': '中心对称飞行器', 'text': '可以飞向当前楼层中心对称的位置'}, - 'upFly': {'cls': 'tools', 'name': '上楼器', 'text': '可以飞往楼上的相同位置'}, - 'downFly': {'cls': 'tools', 'name': '下楼器', 'text': '可以飞往楼下的相同位置'}, - 'earthquake': {'cls': 'tools', 'name': '地震卷轴', 'text': '可以破坏当前层的所有墙'}, - 'poisonWine': {'cls': 'tools', 'name': '解毒药水', 'text': '可以解除中毒状态'}, - 'weakWine': {'cls': 'tools', 'name': '解衰药水', 'text': '可以解除衰弱状态'}, - 'curseWine': {'cls': 'tools', 'name': '解咒药水', 'text': '可以解除诅咒状态'}, - 'superWine': {'cls': 'tools', 'name': '万能药水', 'text': '可以解除所有不良状态'}, - 'hammer': {'cls': 'tools', 'name': '圣锤', 'text': '可以炸掉勇士面前的怪物'} -}, - - - - -"itemEffect" : { - "redJewel":"core.status.hero.atk += core.values.redJewel * ratio", - "blueJewel":"core.status.hero.def += core.values.blueJewel * ratio", - "greenJewel":"core.status.hero.mdef += core.values.greenJewel * ratio", - - "yellowJewel":"core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;", - // 黄宝石属性:需自己定义 - "redPotion":"core.status.hero.hp += core.values.redPotion * ratio", - "bluePotion":"core.status.hero.hp += core.values.bluePotion * ratio", - "yellowPotion":"core.status.hero.hp += core.values.yellowPotion * ratio", - "greenPotion":"core.status.hero.hp += core.values.greenPotion * ratio", - "sword1":"core.status.hero.atk += core.values.sword1", - "sword2":"core.status.hero.atk += core.values.sword2", - "sword3":"core.status.hero.atk += core.values.sword3", - "sword4":"core.status.hero.atk += core.values.sword4", - "sword5":"core.status.hero.atk += core.values.sword5", - "shield1":"core.status.hero.def += core.values.shield1", - "shield2":"core.status.hero.def += core.values.shield2", - "shield3":"core.status.hero.def += core.values.shield3", - "shield4":"core.status.hero.def += core.values.shield4", - "shield5":"core.status.hero.def += core.values.shield5", - - "bigKey":"core.status.hero.items.keys.yellowKey++;core.status.hero.items.keys.blueKey++;core.status.hero.items.keys.redKey++;", - // 只有是钥匙盒才会执行这一步 - "superPotion":"core.status.hero.hp *= 2", - "moneyPocket":"core.status.hero.money += core.values.moneyPocket", -}, - - -"itemEffectTip" : { - "redJewel":"',攻击+'+core.values.redJewel * ratio", - "blueJewel":"',防御+'+core.values.blueJewel * ratio", - "greenJewel":"',魔防+'+core.values.greenJewel * ratio", - "yellowJewel":"',全属性提升'", - "redPotion":"',生命+'+core.values.redPotion * ratio", - "bluePotion":"',生命+'+core.values.bluePotion * ratio", - "yellowPotion":"',生命+'+core.values.yellowPotion * ratio", - "greenPotion":"',生命+'+core.values.greenPotion * ratio", - "sword1":"',攻击+'+core.values.sword1", - "sword2":"',攻击+'+core.values.sword2", - "sword3":"',攻击+'+core.values.sword3", - "sword4":"',攻击+'+core.values.sword4", - "sword5":"',攻击+'+core.values.sword5", - "shield1":"',防御+'+core.values.shield1", - "shield2":"',防御+'+core.values.shield2", - "shield3":"',防御+'+core.values.shield3", - "shield4":"',防御+'+core.values.shield4", - "shield5":"',防御+'+core.values.shield5", - "bigKey":"',全钥匙+1'", - "superPotion":"',生命值翻倍'", - "moneyPocket":"',金币+'+core.values.moneyPocket", -} - + "items": { + "yellowKey": { + "cls": "keys", + "name": "黄钥匙" + }, + "blueKey": { + "cls": "keys", + "name": "蓝钥匙" + }, + "redKey": { + "cls": "keys", + "name": "红钥匙" + }, + "redJewel": { + "cls": "items", + "name": "红宝石" + }, + "blueJewel": { + "cls": "items", + "name": "蓝宝石" + }, + "greenJewel": { + "cls": "items", + "name": "绿宝石" + }, + "yellowJewel": { + "cls": "items", + "name": "黄宝石" + }, + "redPotion": { + "cls": "items", + "name": "红血瓶" + }, + "bluePotion": { + "cls": "items", + "name": "蓝血瓶" + }, + "yellowPotion": { + "cls": "items", + "name": "黄血瓶" + }, + "greenPotion": { + "cls": "items", + "name": "绿血瓶" + }, + "sword1": { + "cls": "items", + "name": "铁剑", + "isEquipment": true + }, + "sword2": { + "cls": "items", + "name": "银剑", + "isEquipment": true + }, + "sword3": { + "cls": "items", + "name": "骑士剑", + "isEquipment": true + }, + "sword4": { + "cls": "items", + "name": "圣剑", + "isEquipment": true + }, + "sword5": { + "cls": "items", + "name": "神圣剑", + "isEquipment": true + }, + "shield1": { + "cls": "items", + "name": "铁盾", + "isEquipment": true + }, + "shield2": { + "cls": "items", + "name": "银盾", + "isEquipment": true + }, + "shield3": { + "cls": "items", + "name": "骑士盾", + "isEquipment": true + }, + "shield4": { + "cls": "items", + "name": "圣盾", + "isEquipment": true + }, + "shield5": { + "cls": "items", + "name": "神圣盾", + "isEquipment": true + }, + "superPotion": { + "cls": "items", + "name": "圣水" + }, + "moneyPocket": { + "cls": "items", + "name": "金钱袋" + }, + "sword0": { + "cls": "constants", + "name": "折断的剑", + "text": "没有任何作用的剑,相当于脱掉装备。" + }, + "shield0": { + "cls": "constants", + "name": "残破的盾", + "text": "没有任何作用的盾,相当于脱掉装备。" + }, + "book": { + "cls": "constants", + "name": "怪物手册", + "text": "可以查看当前楼层各怪物属性" + }, + "fly": { + "cls": "constants", + "name": "楼层传送器", + "text": "可以自由往来去过的楼层" + }, + "coin": { + "cls": "constants", + "name": "幸运金币", + "text": "持有时打败怪物可得双倍金币" + }, + "snow": { + "cls": "constants", + "name": "冰冻徽章", + "text": "可以将四周的熔岩变成平地" + }, + "cross": { + "cls": "constants", + "name": "十字架", + "text": "持有后无视怪物的无敌属性" + }, + "knife": { + "cls": "constants", + "name": "屠龙匕首", + "text": "该道具尚未被定义" + }, + "shoes": { + "cls": "constants", + "name": "绿鞋", + "text": "持有时无视负面地形" + }, + "bigKey": { + "cls": "tools", + "name": "大黄门钥匙", + "text": "可以开启当前层所有黄门" + }, + "greenKey": { + "cls": "tools", + "name": "绿钥匙", + "text": "可以打开一扇绿门" + }, + "steelKey": { + "cls": "tools", + "name": "铁门钥匙", + "text": "可以打开一扇铁门" + }, + "pickaxe": { + "cls": "tools", + "name": "破墙镐", + "text": "可以破坏勇士四周的墙" + }, + "icePickaxe": { + "cls": "tools", + "name": "破冰镐", + "text": "可以破坏勇士面前的一堵冰墙" + }, + "bomb": { + "cls": "tools", + "name": "炸弹", + "text": "可以炸掉勇士四周的怪物" + }, + "centerFly": { + "cls": "tools", + "name": "中心对称飞行器", + "text": "可以飞向当前楼层中心对称的位置" + }, + "upFly": { + "cls": "tools", + "name": "上楼器", + "text": "可以飞往楼上的相同位置" + }, + "downFly": { + "cls": "tools", + "name": "下楼器", + "text": "可以飞往楼下的相同位置" + }, + "earthquake": { + "cls": "tools", + "name": "地震卷轴", + "text": "可以破坏当前层的所有墙" + }, + "poisonWine": { + "cls": "tools", + "name": "解毒药水", + "text": "可以解除中毒状态" + }, + "weakWine": { + "cls": "tools", + "name": "解衰药水", + "text": "可以解除衰弱状态" + }, + "curseWine": { + "cls": "tools", + "name": "解咒药水", + "text": "可以解除诅咒状态" + }, + "superWine": { + "cls": "tools", + "name": "万能药水", + "text": "可以解除所有不良状态" + }, + "hammer": { + "cls": "tools", + "name": "圣锤", + "text": "可以炸掉勇士面前的怪物" + }, + "ttt": { + "cls": "items", + "name": "新物品" + }, + "sgg": { + "cls": "items", + "name": "新物品" + } + }, + "itemEffect": { + "redJewel": "core.status.hero.atk += core.values.redJewel * ratio", + "blueJewel": "core.status.hero.def += core.values.blueJewel * ratio", + "greenJewel": "core.status.hero.mdef += core.values.greenJewel * ratio", + "yellowJewel": "core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;", + "redPotion": "core.status.hero.hp += core.values.redPotion * ratio", + "bluePotion": "core.status.hero.hp += core.values.bluePotion * ratio", + "yellowPotion": "core.status.hero.hp += core.values.yellowPotion * ratio", + "greenPotion": "core.status.hero.hp += core.values.greenPotion * ratio", + "sword1": "core.status.hero.atk += core.values.sword1", + "sword2": "core.status.hero.atk += core.values.sword2", + "sword3": "core.status.hero.atk += core.values.sword3", + "sword4": "core.status.hero.atk += core.values.sword4", + "sword5": "core.status.hero.atk += core.values.sword5", + "shield1": "core.status.hero.def += core.values.shield1", + "shield2": "core.status.hero.def += core.values.shield2", + "shield3": "core.status.hero.def += core.values.shield3", + "shield4": "core.status.hero.def += core.values.shield4", + "shield5": "core.status.hero.def += core.values.shield5", + "bigKey": "core.status.hero.items.keys.yellowKey++;core.status.hero.items.keys.blueKey++;core.status.hero.items.keys.redKey++;", + "superPotion": "core.status.hero.hp *= 2", + "moneyPocket": "core.status.hero.money += core.values.moneyPocket" + }, + "itemEffectTip": { + "redJewel": "',攻击+'+core.values.redJewel * ratio", + "blueJewel": "',防御+'+core.values.blueJewel * ratio", + "greenJewel": "',魔防+'+core.values.greenJewel * ratio", + "yellowJewel": "',全属性提升'", + "redPotion": "',生命+'+core.values.redPotion * ratio", + "bluePotion": "',生命+'+core.values.bluePotion * ratio", + "yellowPotion": "',生命+'+core.values.yellowPotion * ratio", + "greenPotion": "',生命+'+core.values.greenPotion * ratio", + "sword1": "',攻击+'+core.values.sword1", + "sword2": "',攻击+'+core.values.sword2", + "sword3": "',攻击+'+core.values.sword3", + "sword4": "',攻击+'+core.values.sword4", + "sword5": "',攻击+'+core.values.sword5", + "shield1": "',防御+'+core.values.shield1", + "shield2": "',防御+'+core.values.shield2", + "shield3": "',防御+'+core.values.shield3", + "shield4": "',防御+'+core.values.shield4", + "shield5": "',防御+'+core.values.shield5", + "bigKey": "',全钥匙+1'", + "superPotion": "',生命值翻倍'", + "moneyPocket": "',金币+'+core.values.moneyPocket" + } } \ No newline at end of file diff --git a/project/maps.js b/project/maps.js index a265e88c..9f0aef62 100644 --- a/project/maps.js +++ b/project/maps.js @@ -1,197 +1,698 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e = { - ////////////////////////// 地形部分 ////////////////////////// - - // 0-20 地形 - '1':{'cls': 'terrains', 'id': 'yellowWall'}, // 黄墙 - '2':{'cls': 'terrains', 'id': 'whiteWall'}, // 白墙 - '3':{'cls': 'terrains', 'id': 'blueWall'}, // 蓝墙 - '4':{'cls': 'animates', 'id': 'star', 'noPass': true}, // 星空 - '5':{'cls': 'animates', 'id': 'lava', 'noPass': true}, // 岩浆 - '6':{'cls': 'terrains', 'id': 'ice'}, // 冰面 - '7':{'cls': 'terrains', 'id': 'blueShop-left'}, // 蓝色商店左 - '8':{'cls': 'terrains', 'id': 'blueShop-right'}, // 蓝色商店右 - '9':{'cls': 'terrains', 'id': 'pinkShop-left'}, // 粉色商店左 - '10':{'cls': 'terrains', 'id': 'pinkShop-right'}, // 粉色商店左 - '11':{'cls': 'animates', 'id': 'lavaNet', 'noPass': false, 'trigger': 'passNet'}, // 血网 - '12':{'cls': 'animates', 'id': 'poisonNet', 'noPass': false, 'trigger': 'passNet'}, // 毒网 - '13':{'cls': 'animates', 'id': 'weakNet', 'noPass': false, 'trigger': 'passNet'}, // 衰网 - '14':{'cls': 'animates', 'id': 'curseNet', 'noPass': false, 'trigger': 'passNet'}, // 咒网 - '15':{'cls': 'animates', 'id': 'water', 'noPass': true}, // 水 - // 在这里添加更多地形 - // 如果空位不足,可以从180以后开始继续放,只要不和现有的数字冲突即可 - - // Autotile - '20':{'cls': 'autotile', 'id': 'autotile', 'noPass': true}, // autotile - // 更多的autotile从151到160等,只要不和现有的数字冲突即可 - '151':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true}, - '152':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true}, - '153':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true}, - - ////////////////////////// 物品部分 ////////////////////////// - - // 21-80 物品 - '21':{'cls': 'items', 'id': 'yellowKey'}, // 黄钥匙 - '22':{'cls': 'items', 'id': 'blueKey'}, // 蓝钥匙 - '23':{'cls': 'items', 'id': 'redKey'}, // 红钥匙 - '24':{'cls': 'items', 'id': 'greenKey'}, // 绿钥匙 - '25':{'cls': 'items', 'id': 'steelKey'}, // 铁门钥匙 - '26':{'cls': 'items', 'id': 'bigKey'}, // 大黄门钥匙(钥匙盒) - '27':{'cls': 'items', 'id': 'redJewel'}, // 红宝石 - '28':{'cls': 'items', 'id': 'blueJewel'}, // 蓝宝石 - '29':{'cls': 'items', 'id': 'greenJewel'}, // 绿宝石 - '30':{'cls': 'items', 'id': 'yellowJewel'}, // 黄宝石 - '31':{'cls': 'items', 'id': 'redPotion'}, // 红血瓶 - '32':{'cls': 'items', 'id': 'bluePotion'}, // 蓝血瓶 - '33':{'cls': 'items', 'id': 'greenPotion'}, // 绿血瓶 - '34':{'cls': 'items', 'id': 'yellowPotion'}, // 黄血瓶 - '35':{'cls': 'items', 'id': 'sword1'}, // 铁剑 - '36':{'cls': 'items', 'id': 'shield1'}, // 铁盾 - '37':{'cls': 'items', 'id': 'sword2'}, // 银剑 - '38':{'cls': 'items', 'id': 'shield2'}, // 银盾 - '39':{'cls': 'items', 'id': 'sword3'}, // 骑士剑 - '40':{'cls': 'items', 'id': 'shield3'}, // 骑士盾 - '41':{'cls': 'items', 'id': 'sword4'}, // 圣剑 - '42':{'cls': 'items', 'id': 'shield4'}, // 圣盾 - '43':{'cls': 'items', 'id': 'sword5'}, // 神圣剑 - '44':{'cls': 'items', 'id': 'shield5'}, // 神圣盾 - '45':{'cls': 'items', 'id': 'book'}, // 怪物手册 - '46':{'cls': 'items', 'id': 'fly'}, // 楼层传送器 - '47':{'cls': 'items', 'id': 'pickaxe'}, // 破墙镐 - '48':{'cls': 'items', 'id': 'icePickaxe'}, // 破冰镐 - '49':{'cls': 'items', 'id': 'bomb'}, // 炸弹 - '50':{'cls': 'items', 'id': 'centerFly'}, // 中心对称 - '51':{'cls': 'items', 'id': 'upFly'}, // 上楼器 - '52':{'cls': 'items', 'id': 'downFly'}, // 下楼器 - '53':{'cls': 'items', 'id': 'coin'}, // 幸运金币 - '54':{'cls': 'items', 'id': 'snow'}, // 冰冻徽章 - '55':{'cls': 'items', 'id': 'cross'}, // 十字架 - '56':{'cls': 'items', 'id': 'superPotion'}, // 圣水 - '57':{'cls': 'items', 'id': 'earthquake'}, // 地震卷轴 - '58':{'cls': 'items', 'id': 'poisonWine'}, // 解毒药水 - '59':{'cls': 'items', 'id': 'weakWine'}, // 解衰药水 - '60':{'cls': 'items', 'id': 'curseWine'}, // 解咒药水 - '61':{'cls': 'items', 'id': 'superWine'}, // 万能药水 - '62':{'cls': 'items', 'id': 'knife'}, // 屠龙匕首 - '63':{'cls': 'items', 'id': 'moneyPocket'}, // 金钱袋 - '64':{'cls': 'items', 'id': 'shoes'}, // 绿鞋 - '65':{'cls': 'items', 'id': 'hammer'}, // 圣锤 - - - ////////////////////////// 门、楼梯、传送点部分 ////////////////////////// - - // 81-100 门 - '81':{'cls': 'terrains', 'id': 'yellowDoor', 'trigger': 'openDoor'}, // 黄门 - '82':{'cls': 'terrains', 'id': 'blueDoor', 'trigger': 'openDoor'}, // 蓝门 - '83':{'cls': 'terrains', 'id': 'redDoor', 'trigger': 'openDoor'}, // 红门 - '84':{'cls': 'terrains', 'id': 'greenDoor', 'trigger': 'openDoor'}, // 绿门 - '85':{'cls': 'terrains', 'id': 'specialDoor', 'trigger': 'openDoor'}, // 机关门左 - '86':{'cls': 'terrains', 'id': 'steelDoor', 'trigger': 'openDoor'}, // 铁门 - '87':{'cls': 'terrains', 'id': 'upFloor', 'noPass': false}, // 上楼梯 - '88':{'cls': 'terrains', 'id': 'downFloor', 'noPass': false}, // 下楼梯 - '89':{'cls': 'animates', 'id': 'portal', 'noPass': false}, // 传送门 - '90':{'cls': 'animates', 'id': 'starPortal', 'noPass': false}, // 星空传送门 - '91':{'cls': 'animates', 'id': 'upPortal', 'noPass': false}, // 上箭头 - '92':{'cls': 'animates', 'id': 'leftPortal', 'noPass': false}, // 左箭头 - '93':{'cls': 'animates', 'id': 'downPortal', 'noPass': false}, // 下箭头 - '94':{'cls': 'animates', 'id': 'rightPortal', 'noPass': false}, // 右箭头 - - - ////////////////////////// NPC部分 ////////////////////////// - - // 121-150 NPC - '121':{'cls': 'npcs', 'id': 'man'}, - '122':{'cls': 'npcs', 'id': 'woman'}, - '123':{'cls': 'npcs', 'id': 'thief'}, - '124':{'cls': 'npcs', 'id': 'fairy'}, - '125':{'cls': 'npcs', 'id': 'magician'}, - '126':{'cls': 'npcs', 'id': 'womanMagician'}, - '127':{'cls': 'npcs', 'id': 'oldMan'}, - '128':{'cls': 'npcs', 'id': 'child'}, - '129':{'cls': 'npcs', 'id': 'wood'}, - '130':{'cls': 'npcs', 'id': 'pinkShop'}, - '131':{'cls': 'npcs', 'id': 'blueShop'}, - '132':{'cls': 'npcs', 'id': 'princess'}, - - ////////////////////////// 其他部分 ////////////////////////// - - // 161-200 其他(单向箭头、灯、箱子等等) - '161':{'cls': 'terrains', 'id': 'arrowUp', 'noPass': false}, // 单向上箭头 - '162':{'cls': 'terrains', 'id': 'arrowDown', 'noPass': false}, // 单向下箭头 - '163':{'cls': 'terrains', 'id': 'arrowLeft', 'noPass': false}, // 单向左箭头 - '164':{'cls': 'terrains', 'id': 'arrowRight', 'noPass': false}, // 单向右箭头 - '165':{'cls': 'terrains', 'id': 'light', 'trigger': 'changeLight', 'noPass': false}, // 灯 - '166':{'cls': 'terrains', 'id': 'darkLight', 'noPass': true}, // 暗灯 - '167':{'cls': 'terrains', 'id': 'ski', 'trigger': 'ski', 'noPass': false}, // 滑冰 - '168':{'cls': 'terrains', 'id': 'flower', 'noPass': false}, // 花 - '169':{'cls': 'terrains', 'id': 'box', 'trigger': 'pushBox', 'noPass': true}, // 箱子 - '170':{'cls': 'terrains', 'id': 'boxed', 'trigger': 'pushBox', 'noPass': true}, // 完成的箱子 - - - ////////////////////////// 怪物部分 ////////////////////////// - - // 201-300 怪物 - '201':{'cls': 'enemys', 'id': 'greenSlime'}, - '202':{'cls': 'enemys', 'id': 'redSlime'}, - '203':{'cls': 'enemys', 'id': 'blackSlime'}, - '204':{'cls': 'enemys', 'id': 'slimelord'}, - '205':{'cls': 'enemys', 'id': 'bat'}, - '206':{'cls': 'enemys', 'id': 'bigBat'}, - '207':{'cls': 'enemys', 'id': 'redBat'}, - '208':{'cls': 'enemys', 'id': 'vampire'}, - '209':{'cls': 'enemys', 'id': 'skeleton'}, - '210':{'cls': 'enemys', 'id': 'skeletonSoilder'}, - '211':{'cls': 'enemys', 'id': 'skeletonCaptain'}, - '212':{'cls': 'enemys', 'id': 'ghostSkeleton'}, - '213':{'cls': 'enemys', 'id': 'zombie'}, - '214':{'cls': 'enemys', 'id': 'zombieKnight'}, - '215':{'cls': 'enemys', 'id': 'rock'}, - '216':{'cls': 'enemys', 'id': 'slimeMan'}, - '217':{'cls': 'enemys', 'id': 'bluePriest'}, - '218':{'cls': 'enemys', 'id': 'redPriest'}, - '219':{'cls': 'enemys', 'id': 'brownWizard'}, - '220':{'cls': 'enemys', 'id': 'redWizard'}, - '221':{'cls': 'enemys', 'id': 'yellowGuard'}, - '222':{'cls': 'enemys', 'id': 'blueGuard'}, - '223':{'cls': 'enemys', 'id': 'redGuard'}, - '224':{'cls': 'enemys', 'id': 'swordsman'}, - '225':{'cls': 'enemys', 'id': 'soldier'}, - '226':{'cls': 'enemys', 'id': 'yellowKnight'}, - '227':{'cls': 'enemys', 'id': 'redKnight'}, - '228':{'cls': 'enemys', 'id': 'darkKnight'}, - '229':{'cls': 'enemys', 'id': 'blackKing'}, - '230':{'cls': 'enemys', 'id': 'yellowKing'}, - '231':{'cls': 'enemys', 'id': 'greenKing'}, - '232':{'cls': 'enemys', 'id': 'blueKnight'}, - '233':{'cls': 'enemys', 'id': 'goldSlime'}, - '234':{'cls': 'enemys', 'id': 'poisonSkeleton'}, - '235':{'cls': 'enemys', 'id': 'poisonBat'}, - '236':{'cls': 'enemys', 'id': 'steelRock'}, - '237':{'cls': 'enemys', 'id': 'skeletonPriest'}, - '238':{'cls': 'enemys', 'id': 'skeletonKing'}, - '239':{'cls': 'enemys', 'id': 'skeletonWizard'}, - '240':{'cls': 'enemys', 'id': 'redSkeletonCaption'}, - '241':{'cls': 'enemys', 'id': 'badHero'}, - '242':{'cls': 'enemys', 'id': 'demon'}, - '243':{'cls': 'enemys', 'id': 'demonPriest'}, - '244':{'cls': 'enemys', 'id': 'goldHornSlime'}, - '245':{'cls': 'enemys', 'id': 'redKing'}, - '246':{'cls': 'enemys', 'id': 'whiteKing'}, - '247':{'cls': 'enemys', 'id': 'blackMagician'}, - '248':{'cls': 'enemys', 'id': 'silverSlime'}, - '249':{'cls': 'enemys', 'id': 'swordEmperor'}, - '250':{'cls': 'enemys', 'id': 'whiteHornSlime'}, - '251':{'cls': 'enemys', 'id': 'badPrincess'}, - '252':{'cls': 'enemys', 'id': 'badFairy'}, - '253':{'cls': 'enemys', 'id': 'grayPriest'}, - '254':{'cls': 'enemys', 'id': 'redSwordsman'}, - '255':{'cls': 'enemys', 'id': 'whiteGhost'}, - '256':{'cls': 'enemys', 'id': 'poisonZombie'}, - '257':{'cls': 'enemys', 'id': 'magicDragon'}, - '258':{'cls': 'enemys', 'id': 'octopus'}, - '259':{'cls': 'enemys', 'id': 'darkFairy'}, - '260':{'cls': 'enemys', 'id': 'greenKnight'}, - - ////////////////////////// 待定... ////////////////////////// - // 目前ID暂时不要超过400 + "1": { + "cls": "terrains", + "id": "yellowWall" + }, + "2": { + "cls": "terrains", + "id": "whiteWall" + }, + "3": { + "cls": "terrains", + "id": "blueWall" + }, + "4": { + "cls": "animates", + "id": "star", + "noPass": true + }, + "5": { + "cls": "animates", + "id": "lava", + "noPass": true + }, + "6": { + "cls": "terrains", + "id": "ice" + }, + "7": { + "cls": "terrains", + "id": "blueShop-left" + }, + "8": { + "cls": "terrains", + "id": "blueShop-right" + }, + "9": { + "cls": "terrains", + "id": "pinkShop-left" + }, + "10": { + "cls": "terrains", + "id": "pinkShop-right" + }, + "11": { + "cls": "animates", + "id": "lavaNet", + "noPass": false, + "trigger": "passNet" + }, + "12": { + "cls": "animates", + "id": "poisonNet", + "noPass": false, + "trigger": "passNet" + }, + "13": { + "cls": "animates", + "id": "weakNet", + "noPass": false, + "trigger": "passNet" + }, + "14": { + "cls": "animates", + "id": "curseNet", + "noPass": false, + "trigger": "passNet" + }, + "15": { + "cls": "animates", + "id": "water", + "noPass": true + }, + "20": { + "cls": "autotile", + "id": "autotile", + "noPass": true + }, + "21": { + "cls": "items", + "id": "yellowKey" + }, + "22": { + "cls": "items", + "id": "blueKey" + }, + "23": { + "cls": "items", + "id": "redKey" + }, + "24": { + "cls": "items", + "id": "greenKey" + }, + "25": { + "cls": "items", + "id": "steelKey" + }, + "26": { + "cls": "items", + "id": "bigKey" + }, + "27": { + "cls": "items", + "id": "redJewel" + }, + "28": { + "cls": "items", + "id": "blueJewel" + }, + "29": { + "cls": "items", + "id": "greenJewel" + }, + "30": { + "cls": "items", + "id": "yellowJewel" + }, + "31": { + "cls": "items", + "id": "redPotion" + }, + "32": { + "cls": "items", + "id": "bluePotion" + }, + "33": { + "cls": "items", + "id": "greenPotion" + }, + "34": { + "cls": "items", + "id": "yellowPotion" + }, + "35": { + "cls": "items", + "id": "sword1" + }, + "36": { + "cls": "items", + "id": "shield1" + }, + "37": { + "cls": "items", + "id": "sword2" + }, + "38": { + "cls": "items", + "id": "shield2" + }, + "39": { + "cls": "items", + "id": "sword3" + }, + "40": { + "cls": "items", + "id": "shield3" + }, + "41": { + "cls": "items", + "id": "sword4" + }, + "42": { + "cls": "items", + "id": "shield4" + }, + "43": { + "cls": "items", + "id": "sword5" + }, + "44": { + "cls": "items", + "id": "shield5" + }, + "45": { + "cls": "items", + "id": "book" + }, + "46": { + "cls": "items", + "id": "fly" + }, + "47": { + "cls": "items", + "id": "pickaxe" + }, + "48": { + "cls": "items", + "id": "icePickaxe" + }, + "49": { + "cls": "items", + "id": "bomb" + }, + "50": { + "cls": "items", + "id": "centerFly" + }, + "51": { + "cls": "items", + "id": "upFly" + }, + "52": { + "cls": "items", + "id": "downFly" + }, + "53": { + "cls": "items", + "id": "coin" + }, + "54": { + "cls": "items", + "id": "snow" + }, + "55": { + "cls": "items", + "id": "cross" + }, + "56": { + "cls": "items", + "id": "superPotion" + }, + "57": { + "cls": "items", + "id": "earthquake" + }, + "58": { + "cls": "items", + "id": "poisonWine" + }, + "59": { + "cls": "items", + "id": "weakWine" + }, + "60": { + "cls": "items", + "id": "curseWine" + }, + "61": { + "cls": "items", + "id": "superWine" + }, + "62": { + "cls": "items", + "id": "knife" + }, + "63": { + "cls": "items", + "id": "moneyPocket" + }, + "64": { + "cls": "items", + "id": "shoes" + }, + "65": { + "cls": "items", + "id": "hammer" + }, + "81": { + "cls": "terrains", + "id": "yellowDoor", + "trigger": "openDoor" + }, + "82": { + "cls": "terrains", + "id": "blueDoor", + "trigger": "openDoor" + }, + "83": { + "cls": "terrains", + "id": "redDoor", + "trigger": "openDoor" + }, + "84": { + "cls": "terrains", + "id": "greenDoor", + "trigger": "openDoor" + }, + "85": { + "cls": "terrains", + "id": "specialDoor", + "trigger": "openDoor" + }, + "86": { + "cls": "terrains", + "id": "steelDoor", + "trigger": "openDoor" + }, + "87": { + "cls": "terrains", + "id": "upFloor", + "noPass": false + }, + "88": { + "cls": "terrains", + "id": "downFloor", + "noPass": false + }, + "89": { + "cls": "animates", + "id": "portal", + "noPass": false + }, + "90": { + "cls": "animates", + "id": "starPortal", + "noPass": false + }, + "91": { + "cls": "animates", + "id": "upPortal", + "noPass": false + }, + "92": { + "cls": "animates", + "id": "leftPortal", + "noPass": false + }, + "93": { + "cls": "animates", + "id": "downPortal", + "noPass": false + }, + "94": { + "cls": "animates", + "id": "rightPortal", + "noPass": false + }, + "121": { + "cls": "npcs", + "id": "man" + }, + "122": { + "cls": "npcs", + "id": "woman" + }, + "123": { + "cls": "npcs", + "id": "thief" + }, + "124": { + "cls": "npcs", + "id": "fairy" + }, + "125": { + "cls": "npcs", + "id": "magician" + }, + "126": { + "cls": "npcs", + "id": "womanMagician" + }, + "127": { + "cls": "npcs", + "id": "oldMan" + }, + "128": { + "cls": "npcs", + "id": "child" + }, + "129": { + "cls": "npcs", + "id": "wood" + }, + "130": { + "cls": "npcs", + "id": "pinkShop" + }, + "131": { + "cls": "npcs", + "id": "blueShop" + }, + "132": { + "cls": "npcs", + "id": "princess" + }, + "151": { + "cls": "autotile", + "id": "autotile1", + "noPass": true + }, + "152": { + "cls": "autotile", + "id": "autotile2", + "noPass": true + }, + "153": { + "cls": "autotile", + "id": "autotile3", + "noPass": true + }, + "161": { + "cls": "terrains", + "id": "arrowUp", + "noPass": false + }, + "162": { + "cls": "terrains", + "id": "arrowDown", + "noPass": false + }, + "163": { + "cls": "terrains", + "id": "arrowLeft", + "noPass": false + }, + "164": { + "cls": "terrains", + "id": "arrowRight", + "noPass": false + }, + "165": { + "cls": "terrains", + "id": "light", + "trigger": "changeLight", + "noPass": false + }, + "166": { + "cls": "terrains", + "id": "darkLight", + "noPass": true + }, + "167": { + "cls": "terrains", + "id": "ski", + "trigger": "ski", + "noPass": false + }, + "168": { + "cls": "terrains", + "id": "flower", + "noPass": false + }, + "169": { + "cls": "terrains", + "id": "box", + "trigger": "pushBox", + "noPass": true + }, + "170": { + "cls": "terrains", + "id": "boxed", + "trigger": "pushBox", + "noPass": true + }, + "201": { + "cls": "enemys", + "id": "greenSlime" + }, + "202": { + "cls": "enemys", + "id": "redSlime" + }, + "203": { + "cls": "enemys", + "id": "blackSlime" + }, + "204": { + "cls": "enemys", + "id": "slimelord" + }, + "205": { + "cls": "enemys", + "id": "bat" + }, + "206": { + "cls": "enemys", + "id": "bigBat" + }, + "207": { + "cls": "enemys", + "id": "redBat" + }, + "208": { + "cls": "enemys", + "id": "vampire" + }, + "209": { + "cls": "enemys", + "id": "skeleton" + }, + "210": { + "cls": "enemys", + "id": "skeletonSoilder" + }, + "211": { + "cls": "enemys", + "id": "skeletonCaptain" + }, + "212": { + "cls": "enemys", + "id": "ghostSkeleton" + }, + "213": { + "cls": "enemys", + "id": "zombie" + }, + "214": { + "cls": "enemys", + "id": "zombieKnight" + }, + "215": { + "cls": "enemys", + "id": "rock" + }, + "216": { + "cls": "enemys", + "id": "slimeMan" + }, + "217": { + "cls": "enemys", + "id": "bluePriest" + }, + "218": { + "cls": "enemys", + "id": "redPriest" + }, + "219": { + "cls": "enemys", + "id": "brownWizard" + }, + "220": { + "cls": "enemys", + "id": "redWizard" + }, + "221": { + "cls": "enemys", + "id": "yellowGuard" + }, + "222": { + "cls": "enemys", + "id": "blueGuard" + }, + "223": { + "cls": "enemys", + "id": "redGuard" + }, + "224": { + "cls": "enemys", + "id": "swordsman" + }, + "225": { + "cls": "enemys", + "id": "soldier" + }, + "226": { + "cls": "enemys", + "id": "yellowKnight" + }, + "227": { + "cls": "enemys", + "id": "redKnight" + }, + "228": { + "cls": "enemys", + "id": "darkKnight" + }, + "229": { + "cls": "enemys", + "id": "blackKing" + }, + "230": { + "cls": "enemys", + "id": "yellowKing" + }, + "231": { + "cls": "enemys", + "id": "greenKing" + }, + "232": { + "cls": "enemys", + "id": "blueKnight" + }, + "233": { + "cls": "enemys", + "id": "goldSlime" + }, + "234": { + "cls": "enemys", + "id": "poisonSkeleton" + }, + "235": { + "cls": "enemys", + "id": "poisonBat" + }, + "236": { + "cls": "enemys", + "id": "steelRock" + }, + "237": { + "cls": "enemys", + "id": "skeletonPriest" + }, + "238": { + "cls": "enemys", + "id": "skeletonKing" + }, + "239": { + "cls": "enemys", + "id": "skeletonWizard" + }, + "240": { + "cls": "enemys", + "id": "redSkeletonCaption" + }, + "241": { + "cls": "enemys", + "id": "badHero" + }, + "242": { + "cls": "enemys", + "id": "demon" + }, + "243": { + "cls": "enemys", + "id": "demonPriest" + }, + "244": { + "cls": "enemys", + "id": "goldHornSlime" + }, + "245": { + "cls": "enemys", + "id": "redKing" + }, + "246": { + "cls": "enemys", + "id": "whiteKing" + }, + "247": { + "cls": "enemys", + "id": "blackMagician" + }, + "248": { + "cls": "enemys", + "id": "silverSlime" + }, + "249": { + "cls": "enemys", + "id": "swordEmperor" + }, + "250": { + "cls": "enemys", + "id": "whiteHornSlime" + }, + "251": { + "cls": "enemys", + "id": "badPrincess" + }, + "252": { + "cls": "enemys", + "id": "badFairy" + }, + "253": { + "cls": "enemys", + "id": "grayPriest" + }, + "254": { + "cls": "enemys", + "id": "redSwordsman" + }, + "255": { + "cls": "enemys", + "id": "whiteGhost" + }, + "256": { + "cls": "enemys", + "id": "poisonZombie" + }, + "257": { + "cls": "enemys", + "id": "magicDragon" + }, + "258": { + "cls": "enemys", + "id": "octopus" + }, + "259": { + "cls": "enemys", + "id": "darkFairy" + }, + "260": { + "cls": "enemys", + "id": "greenKnight" + }, + "267": { + "cls": "items", + "id": "sgg" + }, + "299": { + "cls": "items", + "id": "ttt" + }, + "303": { + "cls": "enemys", + "id": "test" + } } \ No newline at end of file From f557aaf553bafbfcb88b9ec983599d0811705edc Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 8 Mar 2018 23:17:31 +0800 Subject: [PATCH 2/4] x --- libs/control.js | 18 +- project/floors/sample0.js | 321 +++++--------- project/icons.js | 452 +++++++++---------- project/images/enemys.png | Bin 65918 -> 37814 bytes project/items.js | 392 +++++------------ project/maps.js | 889 +++++++++----------------------------- 6 files changed, 645 insertions(+), 1427 deletions(-) diff --git a/libs/control.js b/libs/control.js index e663f9ba..1ca01d62 100644 --- a/libs/control.js +++ b/libs/control.js @@ -300,10 +300,13 @@ control.prototype.startGame = function (hard, callback) { ////// 重新开始游戏;此函数将回到标题页面 ////// control.prototype.restart = function() { this.showStartAnimate(); - if (core.bgms.length>0) - core.playBgm(core.bgms[0]); } + + + + + /////////////////////// 寻路算法 & 人物行走控制 /////////////////////// ////// 清除自动寻路路线 ////// @@ -1972,7 +1975,7 @@ control.prototype.pauseBgm = function () { core.musicStatus.isPlaying = false; } catch (e) { - console.log("无法暂停BGM"); + console.log("无法暂停BGM "+bgm); console.log(e); } } @@ -1991,18 +1994,13 @@ control.prototype.resumeBgm = function () { } else { if (core.bgms.length>0) { - if (core.isset(core.floors[core.status.floorId].bgm)) { - core.playBgm(core.floors[core.status.floorId].bgm); - } - else { - core.playBgm(core.bgms[0]); - } + core.playBgm(core.bgms[0]); core.musicStatus.isPlaying = true; } } } catch (e) { - console.log("无法恢复BGM"); + console.log("无法恢复BGM "+bgm); console.log(e); } } diff --git a/project/floors/sample0.js b/project/floors/sample0.js index 06a5bd60..d5815cc9 100644 --- a/project/floors/sample0.js +++ b/project/floors/sample0.js @@ -1,213 +1,122 @@ -main.floors.sample0= +main.floors.sample0 = { -"floorId": "sample0", -"title": "样板 0 层", -"name": "0", -"canFlyTo": true, -"canUseQuickShop": true, -"defaultGround": "ground", -"png": [], -"bgm": "bgm.mp3", -"item_ratio": 2, -"map": [ - [ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], - [ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41], - [219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40], - [ 20, 20,125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], - [216,247,256,235,248, 6, 0, 3, 49, 50, 51, 52, 38], - [ 6, 6,125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], - [224,254,212,232,204, 5, 0, 1, 31, 32, 34, 33, 36], - [201,205,217,215,207, 5, 0, 1, 27, 28, 29, 30, 35], - [ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], - [ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,121, 1, 1], - [ 4, 4,126, 4, 4, 4, 0, 0, 0, 0, 0, 85,124], - [ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,122, 2, 2], - [ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86] -], -"firstArrive": [ - "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", - "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", - "\t[仙子,fairy]你问我...?我也不知道啊...", - "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。" -], -"events": { - "10,9": [ - "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为三类:items, constants, tools。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\n\n后两类道具在工具栏中可以看到并使用。", - "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", - "\t[老人,man]constants 和 tools 各最多只允许12种,多了会导致图标溢出。", - "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } + "floorId": "sample0", // 这里需要改楼层名,请和文件名及下面的floorId保持完全一致 + // 楼层唯一标识符仅能由字母、数字、下划线组成,且不能由数字开头 + // 推荐用法:第20层就用MT20,第38层就用MT38,地下6层就用MT_6(用下划线代替负号),隐藏3层用MT3h(h表示隐藏),等等 + // 楼层唯一标识符,需要和名字完全一致 + "title": "样板 0 层", // 楼层中文名 + "name": "0", // 显示在状态栏中的层数 + "canFlyTo": true, // 该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器) + "canUseQuickShop": true, // 该层是否允许使用快捷商店 + "defaultGround": "ground", // 默认地面的图块ID(terrains中) + "png": [], // 该层默认显示的所有图片;详细用法请查看文档“自定义素材”中的说明。 + // "color": [0,0,0,0.3] // 该层的默认画面色调。本项可不写(代表无色调),如果写需要是一个RGBA数组。 + // "weather": ["snow",5], // 该层的默认天气。本项可忽略表示晴天,如果写则第一项为"rain"或"snow"代表雨雪,第二项为1-10之间的数代表强度。 + "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。 + "item_ratio": 2, // 该层的宝石/血瓶倍率 + "map": [ // 地图数据,需要是13x13,建议使用地图生成器来生成 + [0, 0, 220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], + [0, 246, 0, 246, 0, 20, 0, 3, 58, 59, 60, 61, 41], + [219, 0, 0, 0, 219, 20, 0, 3, 57, 26, 62, 63, 40], + [20, 20, 125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], + [216, 247, 256, 235, 248, 6, 0, 3, 49, 50, 51, 52, 38], + [6, 6, 125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], + [224, 254, 212, 232, 204, 5, 0, 1, 31, 32, 34, 33, 36], + [201, 205, 217, 215, 207, 5, 0, 1, 27, 28, 29, 30, 35], + [5, 5, 125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], + [0, 0, 237, 0, 0, 0, 45, 1, 1, 1, 121, 1, 1], + [4, 4, 126, 4, 4, 4, 0, 0, 0, 0, 0, 85, 124], + [87, 11, 12, 13, 14, 4, 4, 2, 2, 2, 122, 2, 2], + [88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86], ], - "10,11": [ - "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", - "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } + "firstArrive": [ // 第一次到该楼层触发的事件 + "\t[样板提示]首次到达某层可以触发 firstArrive 事件,该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型,常常用来触发对话,例如:", + "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", + "\t[仙子,fairy]你问我...?我也不知道啊...", + "本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。", ], - "2,10": [ - "\t[老人,womanMagician]这些是路障、楼梯、传送门。", - "\t[老人,womanMagician]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", - "\t[老人,womanMagician]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", - { - "type": "hide", - "time": 500 - } - ], - "2,8": [ - "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", - "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", - "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", - { - "type": "hide", - "time": 500 - } - ], - "2,5": [ - "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", - { - "type": "hide", - "time": 500 - } - ], - "2,3": [ - "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", - "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", - { - "type": "hide", - "time": 500 - } - ], - "12,10": { - "trigger": "action", - "enable": false, - "noPass": null, - "displayDamage": true, - "data": [ - "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", - { - "type": "hide", - "time": 500 - } - ] - } -}, -"changeFloor": { - "7,9": { - "floorId": "sample1", - "stair": "downFloor" - }, - "6,0": { - "floorId": "sample1", - "stair": "downFloor" - }, - "0,11": { - "floorId": "sample0", - "loc": [ - 0, - 12 - ] - }, - "0,12": { - "floorId": "sample0", - "stair": "upFloor" - }, - "1,12": { - "floorId": "sample0", - "loc": [ - 1, - 12 - ] - }, - "2,12": { - "floorId": "sample0", - "loc": [ - 2, - 12 - ] - }, - "3,12": { - "floorId": "sample0", - "loc": [ - 6, - 1 + "events": { // 该楼的所有可能事件列表 + "10,9": [ // 守着道具的老人 + "\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为三类:items, constants, tools。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\n\n后两类道具在工具栏中可以看到并使用。", + "\t[老人,man]\b[up]有关道具效果,定义在items.js中。\n目前大多数道具已有默认行为,如有自定义的需求则需在items.js中修改代码。", + "\t[老人,man]constants 和 tools 各最多只允许12种,多了会导致图标溢出。", + "\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + {"type": "hide", "time": 500} // 消失 ], - "direction": "up" - }, - "4,12": { - "floorId": "sample0", - "loc": [ - 0, - 9 + "10,11": [ // 守着门的老人 + "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", + "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + {"type": "hide", "time": 500} ], - "direction": "left", - "time": 1000 - }, - "5,12": { - "floorId": "sample0", - "loc": [ - 6, - 10 + "2,10": [ // 守着楼梯、传送门、路障的老人 + "\t[老人,womanMagician]这些是路障、楼梯、传送门。", + "\t[老人,womanMagician]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", + "\t[老人,womanMagician]楼梯和传送门需要在changeFloor中定义目标楼层和位置,可参见样板里已有的的写法。", + {"type": "hide", "time": 500} ], - "time": 0, - "portalWithoutTrigger": false - }, - "6,12": { - "floorId": "sample0", - "loc": [ - 10, - 10 + "2,8": [ // 守着第一批怪物的老人 + "\t[老人,magician]这些都是各种各样的怪物,所有怪物的数据都在enemys.js中设置。", + "\t[老人,magician]这批怪物分别为:普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", + "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", + {"type": "hide", "time": 500} ], - "direction": "left", - "time": 1000 - } -}, -"afterBattle": { - "2,6": [ - "\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)" - ] -}, -"afterGetItem": { - "11,8": [ - "由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。" - ], - "8,6": [ - "由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。" - ], - "8,7": [ - "如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。" - ], - "10,7": [ - "在 data.js 的系统Flag中设置是否启用魔防。\n如果不启用魔防则不会在状态栏显示。" - ], - "9,5": [ - "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", - "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" - ], - "10,5": [ - "破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。" - ], - "8,4": [ - "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。" - ], - "10,4": [ - "“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。" - ], - "9,2": [ - "该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。" - ], - "10,2": [ - "屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。" - ] -}, -"afterOpenDoor": { - "11,12": [ - "你开了一个绿门,触发了一个afterOpenDoor事件" - ] -}, -"cannotMove": {}, -} \ No newline at end of file + "2,5": [ // 守着第二批怪物的老人 + "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值,可参见样板中黑暗大法师的写法。", + {"type": "hide", "time": 500} + ], + "2,3": [ // 守着第三批怪物的老人 + "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值,可参见样板中初级巫师的写法。", + "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", + {"type": "hide", "time": 500} + ], + "12,10": { // 隐藏的仙子 + "enable": false, // enable: false代表初始时禁用事件 + "data": [ + "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", + {"type": "hide", "time": 500} + ] + }, + }, + "changeFloor": { // 楼层转换事件;该事件不能和上面的events有冲突(同位置点),否则会被覆盖 + "7,9": {"floorId": "sample1", "stair": "downFloor"}, + "6,0": {"floorId": "sample1", "stair": "downFloor"}, // 目标点:sample1层的下楼梯位置 + "0,11": {"floorId": "sample0", "loc": [0,12]}, // 目标点:sample0层的x=0,y=12位置 + "0,12": {"floorId": "sample0", "stair": "upFloor"}, // 注意,目标层有多个楼梯的话,写stair可能会导致到达位置不确定。这时候推荐写loc指明目标点位置。 + "1,12": {"floorId": "sample0", "loc": [1,12]}, + "2,12": {"floorId": "sample0", "loc": [2,12]}, + "3,12": {"floorId": "sample0", "loc": [6,1], "direction": "up"}, // 切换楼层后勇士面对上方 + "4,12": {"floorId": "sample0", "loc": [0,9], "direction": "left", "time": 1000}, // 切换楼层后勇士面对左边,切换动画1000ms + "5,12": {"floorId": "sample0", "loc": [6,10], "time": 0, "portalWithoutTrigger": false}, // time=0表示无切换时间 + "6,12": {"floorId": "sample0", "loc": [10,10], "direction": "left", "time": 1000}, + }, + "afterBattle": { // 战斗后可能触发的事件列表 + "2,6": ["\t[ghostSkeleton]不可能,你怎么可能打败我!\n(一个打败怪物触发的事件)"], + }, + "afterGetItem": { // 获得道具后可能触发的事件列表 + "11,8": ["由于状态栏放不下,绿钥匙和铁门钥匙均视为tools,放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。"], + "8,6": ["由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。"], + "8,7": ["如需修改消耗品的效果,请前往 data.js ,找到并修改values内对应的具体数值即可。\n如果有更高级的需求(如每个区域宝石数值变化),详见doc文档内的做法说明。"], + "10,7": ["在 data.js 的系统Flag中设置是否启用魔防。\n如果不启用魔防则不会在状态栏显示。"], + "9,5": [ + "每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", + "飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" + ], + "10,5": ["破墙镐是破面前的墙壁还是四个方向的墙壁,由data.js中的系统Flag所决定。"], + "8,4": [ + "炸弹是只能炸面前的怪物还是四个方向的怪物,由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义,可参见样板里黑衣魔王和黑暗大法师的写法。", + ], + "10,4": ["“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。"], + "9,2": ["该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。"], + "10,2": ["屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。"], + }, + "afterOpenDoor": { // 开完门后可能触发的事件列表 + "11,12": ["你开了一个绿门,触发了一个afterOpenDoor事件"] + }, + "cannotMove": { // 每个图块不可通行的方向 + // 可以在这里定义每个点不能前往哪个方向,例如悬崖边不能跳下去 + // "x,y": ["up", "left"], // (x,y)点不能往上和左走 + + }, + +} + diff --git a/project/icons.js b/project/icons.js index 7a276890..fbd4a186 100644 --- a/project/icons.js +++ b/project/icons.js @@ -1,245 +1,221 @@ icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 = { - "hero": { - "down": { - "loc": 0, - "stop": 0, - "leftFoot": 1, - "rightFoot": 3 + 'hero': { + 'down': {'loc': 0, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3}, + 'left': {'loc': 1, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3}, + 'right': {'loc': 2, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3}, + 'up': {'loc': 3, 'stop': 0, 'leftFoot': 1, 'rightFoot': 3} }, - "left": { - "loc": 1, - "stop": 0, - "leftFoot": 1, - "rightFoot": 3 + 'terrains': { + 'ground': 0, + 'grass': 1, + 'grass2': 2, + 'yellowWall': 3, + 'whiteWall': 4, + 'blueWall': 5, + 'snowGround': 6, + 'ground2': 7, + 'ground3': 8, + 'ground4': 9, + 'sand': 10, + 'ground5': 11, + 'yellowWall2': 12, + 'whiteWall2': 13, + 'blueWall2': 14, + 'blockWall': 15, + 'grayWall': 16, + 'white': 17, + 'ground6': 18, + 'soil': 19, + 'star': 20, + 'lava': 21, + 'ice': 22, + 'downFloor': 23, + 'upFloor': 24, + 'yellowDoor': 25, + 'blueDoor': 26, + 'redDoor': 27, + 'greenDoor': 28, + 'specialDoor': 29, + 'steelDoor': 30, + 'blueShop-left': 31, + 'blueShop-right': 32, + 'pinkShop-left': 33, + 'pinkShop-right': 34, + 'arrowUp': 35, + 'arrowDown': 36, + 'arrowLeft': 37, + 'arrowRight': 38, + 'light': 39, + 'darkLight': 40, + 'ski': 41, + 'flower': 42, + 'box': 43, + 'boxed': 44 }, - "right": { - "loc": 2, - "stop": 0, - "leftFoot": 1, - "rightFoot": 3 + 'animates': { + 'star': 0, + 'lava': 1, + 'waterWall': 2, + 'yellowDoor': 3, + 'blueDoor': 4, + 'redDoor': 5, + 'greenDoor': 6, + 'specialDoor': 7, + 'blueWallDoor': 8, + 'yellowWallDoor': 9, + 'whiteWallDoor': 10, + 'steelDoor': 11, + 'lavaDoor': 12, + 'grayLavaDoor': 13, + 'starDoor': 14, + 'mockBlueWallDoor': 15, + 'mockYellowWallDoor': 16, + 'mockWhiteWallDoor': 17, + 'iceYellowWallDoor': 18, + 'starPortal': 19, + 'exclamation': 20, + 'portal': 21, + 'switch': 22, + 'lavaNet': 23, + 'poisonNet': 24, + 'weakNet': 25, + 'curseNet': 26, + 'downPortal': 27, + 'leftPortal': 28, + 'rightPortal': 29, + 'upPortal': 30, + 'water': 31, }, - "up": { - "loc": 3, - "stop": 0, - "leftFoot": 1, - "rightFoot": 3 + 'npcs': { + 'man': 0, + 'woman': 1, + 'thief': 2, + 'fairy': 3, + 'magician': 4, + 'womanMagician': 5, + 'oldMan': 6, + 'child': 7, + 'wood': 8, + 'pinkShop': 9, + 'blueShop': 10, + 'princess': 11 }, - "height": 48 - }, - "terrains": { - "ground": 0, - "grass": 1, - "grass2": 2, - "yellowWall": 3, - "whiteWall": 4, - "blueWall": 5, - "snowGround": 6, - "ground2": 7, - "ground3": 8, - "ground4": 9, - "sand": 10, - "ground5": 11, - "yellowWall2": 12, - "whiteWall2": 13, - "blueWall2": 14, - "blockWall": 15, - "grayWall": 16, - "white": 17, - "ground6": 18, - "soil": 19, - "star": 20, - "lava": 21, - "ice": 22, - "downFloor": 23, - "upFloor": 24, - "yellowDoor": 25, - "blueDoor": 26, - "redDoor": 27, - "greenDoor": 28, - "specialDoor": 29, - "steelDoor": 30, - "blueShop-left": 31, - "blueShop-right": 32, - "pinkShop-left": 33, - "pinkShop-right": 34, - "arrowUp": 35, - "arrowDown": 36, - "arrowLeft": 37, - "arrowRight": 38, - "light": 39, - "darkLight": 40, - "ski": 41, - "flower": 42, - "box": 43, - "boxed": 44 - }, - "animates": { - "star": 0, - "lava": 1, - "waterWall": 2, - "yellowDoor": 3, - "blueDoor": 4, - "redDoor": 5, - "greenDoor": 6, - "specialDoor": 7, - "blueWallDoor": 8, - "yellowWallDoor": 9, - "whiteWallDoor": 10, - "steelDoor": 11, - "lavaDoor": 12, - "grayLavaDoor": 13, - "starDoor": 14, - "mockBlueWallDoor": 15, - "mockYellowWallDoor": 16, - "mockWhiteWallDoor": 17, - "iceYellowWallDoor": 18, - "starPortal": 19, - "exclamation": 20, - "portal": 21, - "switch": 22, - "lavaNet": 23, - "poisonNet": 24, - "weakNet": 25, - "curseNet": 26, - "downPortal": 27, - "leftPortal": 28, - "rightPortal": 29, - "upPortal": 30, - "water": 31 - }, - "npcs": { - "man": 0, - "woman": 1, - "thief": 2, - "fairy": 3, - "magician": 4, - "womanMagician": 5, - "oldMan": 6, - "child": 7, - "wood": 8, - "pinkShop": 9, - "blueShop": 10, - "princess": 11 - }, - "enemys": { - "greenSlime": 0, - "redSlime": 1, - "blackSlime": 2, - "slimelord": 3, - "bat": 4, - "bigBat": 5, - "redBat": 6, - "vampire": 7, - "skeleton": 8, - "skeletonSoilder": 9, - "skeletonCaptain": 10, - "ghostSkeleton": 11, - "zombie": 12, - "zombieKnight": 13, - "rock": 14, - "slimeMan": 15, - "bluePriest": 16, - "redPriest": 17, - "brownWizard": 18, - "redWizard": 19, - "yellowGuard": 20, - "blueGuard": 21, - "redGuard": 22, - "swordsman": 23, - "soldier": 24, - "yellowKnight": 25, - "redKnight": 26, - "darkKnight": 27, - "blackKing": 28, - "yellowKing": 29, - "greenKing": 30, - "blueKnight": 31, - "goldSlime": 32, - "poisonSkeleton": 33, - "poisonBat": 34, - "steelRock": 35, - "skeletonPriest": 36, - "skeletonKing": 37, - "skeletonWizard": 38, - "redSkeletonCaption": 39, - "badHero": 40, - "demon": 41, - "demonPriest": 42, - "goldHornSlime": 43, - "redKing": 44, - "whiteKing": 45, - "blackMagician": 46, - "silverSlime": 47, - "swordEmperor": 48, - "whiteHornSlime": 49, - "badPrincess": 50, - "badFairy": 51, - "grayPriest": 52, - "redSwordsman": 53, - "whiteGhost": 54, - "poisonZombie": 55, - "magicDragon": 56, - "octopus": 57, - "darkFairy": 58, - "greenKnight": 59, - "test": 60 - }, - "items": { - "yellowKey": 0, - "blueKey": 1, - "redKey": 2, - "greenKey": 3, - "steelKey": 4, - "bigKey": 6, - "redJewel": 16, - "blueJewel": 17, - "greenJewel": 18, - "yellowJewel": 19, - "redPotion": 20, - "bluePotion": 21, - "greenPotion": 22, - "yellowPotion": 23, - "sword0": 60, - "sword1": 50, - "sword2": 51, - "sword3": 52, - "sword4": 53, - "sword5": 54, - "shield0": 61, - "shield1": 55, - "shield2": 56, - "shield3": 57, - "shield4": 58, - "shield5": 59, - "book": 9, - "fly": 12, - "pickaxe": 45, - "icePickaxe": 44, - "bomb": 43, - "centerFly": 13, - "upFly": 15, - "downFly": 14, - "coin": 11, - "snow": 41, - "cross": 40, - "superPotion": 29, - "earthquake": 8, - "poisonWine": 24, - "weakWine": 25, - "curseWine": 27, - "superWine": 28, - "knife": 42, - "moneyPocket": 46, - "shoes": 47, - "hammer": 48, - "ttt": 49, - "sgg": 35 - }, - "autotile": { - "autotile": 0, - "autotile1": 0, - "autotile2": 0, - "autotile3": 0 - } + 'enemys': { + 'greenSlime': 0, + 'redSlime': 1, + 'blackSlime': 2, + 'slimelord': 3, + 'bat': 4, + 'bigBat': 5, + 'redBat': 6, + 'vampire': 7, + 'skeleton': 8, + 'skeletonSoilder': 9, + 'skeletonCaptain': 10, + 'ghostSkeleton': 11, + 'zombie': 12, + 'zombieKnight': 13, + 'rock': 14, + 'slimeMan': 15, + 'bluePriest': 16, + 'redPriest': 17, + 'brownWizard': 18, + 'redWizard': 19, + 'yellowGuard': 20, + 'blueGuard': 21, + 'redGuard': 22, + 'swordsman': 23, + 'soldier': 24, + 'yellowKnight': 25, + 'redKnight': 26, + 'darkKnight': 27, + 'blackKing': 28, + 'yellowKing': 29, + 'greenKing': 30, + 'blueKnight': 31, + 'goldSlime': 32, + 'poisonSkeleton': 33, + 'poisonBat': 34, + 'steelRock': 35, + 'skeletonPriest': 36, + 'skeletonKing': 37, + 'skeletonWizard': 38, + 'redSkeletonCaption': 39, + 'badHero': 40, + 'demon': 41, + 'demonPriest': 42, + 'goldHornSlime': 43, + 'redKing': 44, + 'whiteKing': 45, + 'blackMagician': 46, + 'silverSlime': 47, + 'swordEmperor': 48, + 'whiteHornSlime': 49, + 'badPrincess': 50, + 'badFairy': 51, + 'grayPriest': 52, + 'redSwordsman': 53, + 'whiteGhost': 54, + 'poisonZombie': 55, + 'magicDragon': 56, + 'octopus': 57, + 'darkFairy': 58, + 'greenKnight': 59, + }, + 'items': { + 'yellowKey': 0, + 'blueKey': 1, + 'redKey': 2, + 'greenKey': 3, + 'steelKey': 4, + 'bigKey': 6, + 'redJewel': 16, + 'blueJewel': 17, + 'greenJewel': 18, + 'yellowJewel': 19, + 'redPotion': 20, + 'bluePotion': 21, + 'greenPotion': 22, + 'yellowPotion': 23, + 'sword0': 60, + 'sword1': 50, + 'sword2': 51, + 'sword3': 52, + 'sword4': 53, + 'sword5': 54, + 'shield0': 61, + 'shield1': 55, + 'shield2': 56, + 'shield3': 57, + 'shield4': 58, + 'shield5': 59, + 'book': 9, + 'fly': 12, + 'pickaxe': 45, + 'icePickaxe': 44, + 'bomb': 43, + 'centerFly': 13, + 'upFly': 15, + 'downFly': 14, + 'coin': 11, + 'snow': 41, + 'cross': 40, + 'superPotion': 29, + 'earthquake': 8, + 'poisonWine': 24, + 'weakWine': 25, + 'curseWine': 27, + 'superWine': 28, + 'knife': 42, + 'moneyPocket': 46, + 'shoes': 47, + 'hammer': 48 + }, + 'autotile': { // 所有的Autotile列表;后面的index简单取0即可 + 'autotile': 0, + 'autotile1': 0, + 'autotile2': 0, + 'autotile3': 0, + } } \ No newline at end of file diff --git a/project/images/enemys.png b/project/images/enemys.png index 11cac233e12bc94c139763310b764962e526e67b..6797ae59a7dbdfeeced0acfc381492a2fe3f0294 100644 GIT binary patch literal 37814 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 N002ovPDHLkV1is^{xbjo literal 65918 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 JPDHLkV1j(gwAKIs diff --git a/project/items.js b/project/items.js index d9b28d69..b68555f5 100644 --- a/project/items.js +++ b/project/items.js @@ -1,281 +1,117 @@ items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a = { - "items": { - "yellowKey": { - "cls": "keys", - "name": "黄钥匙" - }, - "blueKey": { - "cls": "keys", - "name": "蓝钥匙" - }, - "redKey": { - "cls": "keys", - "name": "红钥匙" - }, - "redJewel": { - "cls": "items", - "name": "红宝石" - }, - "blueJewel": { - "cls": "items", - "name": "蓝宝石" - }, - "greenJewel": { - "cls": "items", - "name": "绿宝石" - }, - "yellowJewel": { - "cls": "items", - "name": "黄宝石" - }, - "redPotion": { - "cls": "items", - "name": "红血瓶" - }, - "bluePotion": { - "cls": "items", - "name": "蓝血瓶" - }, - "yellowPotion": { - "cls": "items", - "name": "黄血瓶" - }, - "greenPotion": { - "cls": "items", - "name": "绿血瓶" - }, - "sword1": { - "cls": "items", - "name": "铁剑", - "isEquipment": true - }, - "sword2": { - "cls": "items", - "name": "银剑", - "isEquipment": true - }, - "sword3": { - "cls": "items", - "name": "骑士剑", - "isEquipment": true - }, - "sword4": { - "cls": "items", - "name": "圣剑", - "isEquipment": true - }, - "sword5": { - "cls": "items", - "name": "神圣剑", - "isEquipment": true - }, - "shield1": { - "cls": "items", - "name": "铁盾", - "isEquipment": true - }, - "shield2": { - "cls": "items", - "name": "银盾", - "isEquipment": true - }, - "shield3": { - "cls": "items", - "name": "骑士盾", - "isEquipment": true - }, - "shield4": { - "cls": "items", - "name": "圣盾", - "isEquipment": true - }, - "shield5": { - "cls": "items", - "name": "神圣盾", - "isEquipment": true - }, - "superPotion": { - "cls": "items", - "name": "圣水" - }, - "moneyPocket": { - "cls": "items", - "name": "金钱袋" - }, - "sword0": { - "cls": "constants", - "name": "折断的剑", - "text": "没有任何作用的剑,相当于脱掉装备。" - }, - "shield0": { - "cls": "constants", - "name": "残破的盾", - "text": "没有任何作用的盾,相当于脱掉装备。" - }, - "book": { - "cls": "constants", - "name": "怪物手册", - "text": "可以查看当前楼层各怪物属性" - }, - "fly": { - "cls": "constants", - "name": "楼层传送器", - "text": "可以自由往来去过的楼层" - }, - "coin": { - "cls": "constants", - "name": "幸运金币", - "text": "持有时打败怪物可得双倍金币" - }, - "snow": { - "cls": "constants", - "name": "冰冻徽章", - "text": "可以将四周的熔岩变成平地" - }, - "cross": { - "cls": "constants", - "name": "十字架", - "text": "持有后无视怪物的无敌属性" - }, - "knife": { - "cls": "constants", - "name": "屠龙匕首", - "text": "该道具尚未被定义" - }, - "shoes": { - "cls": "constants", - "name": "绿鞋", - "text": "持有时无视负面地形" - }, - "bigKey": { - "cls": "tools", - "name": "大黄门钥匙", - "text": "可以开启当前层所有黄门" - }, - "greenKey": { - "cls": "tools", - "name": "绿钥匙", - "text": "可以打开一扇绿门" - }, - "steelKey": { - "cls": "tools", - "name": "铁门钥匙", - "text": "可以打开一扇铁门" - }, - "pickaxe": { - "cls": "tools", - "name": "破墙镐", - "text": "可以破坏勇士四周的墙" - }, - "icePickaxe": { - "cls": "tools", - "name": "破冰镐", - "text": "可以破坏勇士面前的一堵冰墙" - }, - "bomb": { - "cls": "tools", - "name": "炸弹", - "text": "可以炸掉勇士四周的怪物" - }, - "centerFly": { - "cls": "tools", - "name": "中心对称飞行器", - "text": "可以飞向当前楼层中心对称的位置" - }, - "upFly": { - "cls": "tools", - "name": "上楼器", - "text": "可以飞往楼上的相同位置" - }, - "downFly": { - "cls": "tools", - "name": "下楼器", - "text": "可以飞往楼下的相同位置" - }, - "earthquake": { - "cls": "tools", - "name": "地震卷轴", - "text": "可以破坏当前层的所有墙" - }, - "poisonWine": { - "cls": "tools", - "name": "解毒药水", - "text": "可以解除中毒状态" - }, - "weakWine": { - "cls": "tools", - "name": "解衰药水", - "text": "可以解除衰弱状态" - }, - "curseWine": { - "cls": "tools", - "name": "解咒药水", - "text": "可以解除诅咒状态" - }, - "superWine": { - "cls": "tools", - "name": "万能药水", - "text": "可以解除所有不良状态" - }, - "hammer": { - "cls": "tools", - "name": "圣锤", - "text": "可以炸掉勇士面前的怪物" - }, - "ttt": { - "cls": "items", - "name": "新物品" - }, - "sgg": { - "cls": "items", - "name": "新物品" - } - }, - "itemEffect": { - "redJewel": "core.status.hero.atk += core.values.redJewel * ratio", - "blueJewel": "core.status.hero.def += core.values.blueJewel * ratio", - "greenJewel": "core.status.hero.mdef += core.values.greenJewel * ratio", - "yellowJewel": "core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;", - "redPotion": "core.status.hero.hp += core.values.redPotion * ratio", - "bluePotion": "core.status.hero.hp += core.values.bluePotion * ratio", - "yellowPotion": "core.status.hero.hp += core.values.yellowPotion * ratio", - "greenPotion": "core.status.hero.hp += core.values.greenPotion * ratio", - "sword1": "core.status.hero.atk += core.values.sword1", - "sword2": "core.status.hero.atk += core.values.sword2", - "sword3": "core.status.hero.atk += core.values.sword3", - "sword4": "core.status.hero.atk += core.values.sword4", - "sword5": "core.status.hero.atk += core.values.sword5", - "shield1": "core.status.hero.def += core.values.shield1", - "shield2": "core.status.hero.def += core.values.shield2", - "shield3": "core.status.hero.def += core.values.shield3", - "shield4": "core.status.hero.def += core.values.shield4", - "shield5": "core.status.hero.def += core.values.shield5", - "bigKey": "core.status.hero.items.keys.yellowKey++;core.status.hero.items.keys.blueKey++;core.status.hero.items.keys.redKey++;", - "superPotion": "core.status.hero.hp *= 2", - "moneyPocket": "core.status.hero.money += core.values.moneyPocket" - }, - "itemEffectTip": { - "redJewel": "',攻击+'+core.values.redJewel * ratio", - "blueJewel": "',防御+'+core.values.blueJewel * ratio", - "greenJewel": "',魔防+'+core.values.greenJewel * ratio", - "yellowJewel": "',全属性提升'", - "redPotion": "',生命+'+core.values.redPotion * ratio", - "bluePotion": "',生命+'+core.values.bluePotion * ratio", - "yellowPotion": "',生命+'+core.values.yellowPotion * ratio", - "greenPotion": "',生命+'+core.values.greenPotion * ratio", - "sword1": "',攻击+'+core.values.sword1", - "sword2": "',攻击+'+core.values.sword2", - "sword3": "',攻击+'+core.values.sword3", - "sword4": "',攻击+'+core.values.sword4", - "sword5": "',攻击+'+core.values.sword5", - "shield1": "',防御+'+core.values.shield1", - "shield2": "',防御+'+core.values.shield2", - "shield3": "',防御+'+core.values.shield3", - "shield4": "',防御+'+core.values.shield4", - "shield5": "',防御+'+core.values.shield5", - "bigKey": "',全钥匙+1'", - "superPotion": "',生命值翻倍'", - "moneyPocket": "',金币+'+core.values.moneyPocket" - } + +"items" : { + // 钥匙 + 'yellowKey': {'cls': 'keys', 'name': '黄钥匙'}, + 'blueKey': {'cls': 'keys', 'name': '蓝钥匙'}, + 'redKey': {'cls': 'keys', 'name': '红钥匙'}, + + // 宝石、血瓶 + 'redJewel': {'cls': 'items', 'name': '红宝石'}, + 'blueJewel': {'cls': 'items', 'name': '蓝宝石'}, + 'greenJewel': {'cls': 'items', 'name': '绿宝石'}, + 'yellowJewel': {'cls': 'items', 'name': '黄宝石'}, + 'redPotion': {'cls': 'items', 'name': '红血瓶'}, + 'bluePotion': {'cls': 'items', 'name': '蓝血瓶'}, + 'yellowPotion': {'cls': 'items', 'name': '黄血瓶'}, + 'greenPotion': {'cls': 'items', 'name': '绿血瓶'}, + 'sword1': {'cls': 'items', 'name': '铁剑', 'isEquipment': true}, + 'sword2': {'cls': 'items', 'name': '银剑', 'isEquipment': true}, + 'sword3': {'cls': 'items', 'name': '骑士剑', 'isEquipment': true}, + 'sword4': {'cls': 'items', 'name': '圣剑', 'isEquipment': true}, + 'sword5': {'cls': 'items', 'name': '神圣剑', 'isEquipment': true}, + 'shield1': {'cls': 'items', 'name': '铁盾', 'isEquipment': true}, + 'shield2': {'cls': 'items', 'name': '银盾', 'isEquipment': true}, + 'shield3': {'cls': 'items', 'name': '骑士盾', 'isEquipment': true}, + 'shield4': {'cls': 'items', 'name': '圣盾', 'isEquipment': true}, + 'shield5': {'cls': 'items', 'name': '神圣盾', 'isEquipment': true}, + 'superPotion': {'cls': 'items', 'name': '圣水'}, + 'moneyPocket': {'cls': 'items', 'name': '金钱袋'}, + + // 物品 + 'sword0': {'cls': 'constants', 'name': '折断的剑', 'text': '没有任何作用的剑,相当于脱掉装备。'}, + 'shield0': {'cls': 'constants', 'name': '残破的盾', 'text': '没有任何作用的盾,相当于脱掉装备。'}, + 'book': {'cls': 'constants', 'name': '怪物手册', 'text': '可以查看当前楼层各怪物属性'}, + 'fly': {'cls': 'constants', 'name': '楼层传送器', 'text': '可以自由往来去过的楼层'}, + 'coin': {'cls': 'constants', 'name': '幸运金币', 'text': '持有时打败怪物可得双倍金币'}, + 'snow': {'cls': 'constants', 'name': '冰冻徽章', 'text': '可以将四周的熔岩变成平地'}, + 'cross': {'cls': 'constants', 'name': '十字架', 'text': '持有后无视怪物的无敌属性'}, + 'knife': {'cls': 'constants', 'name': '屠龙匕首', 'text': '该道具尚未被定义'}, + 'shoes': {'cls': 'constants', 'name': '绿鞋', 'text': '持有时无视负面地形'}, + + // 道具 + 'bigKey': {'cls': 'tools', 'name': '大黄门钥匙', 'text': '可以开启当前层所有黄门'}, + 'greenKey': {'cls': 'tools', 'name': '绿钥匙', 'text': '可以打开一扇绿门'}, + 'steelKey': {'cls': 'tools', 'name': '铁门钥匙', 'text': '可以打开一扇铁门'}, + 'pickaxe': {'cls': 'tools', 'name': '破墙镐', 'text': '可以破坏勇士面前的墙'}, + 'icePickaxe': {'cls': 'tools', 'name': '破冰镐', 'text': '可以破坏勇士面前的一堵冰墙'}, + 'bomb': {'cls': 'tools', 'name': '炸弹', 'text': '可以炸掉勇士面前的怪物'}, + 'centerFly': {'cls': 'tools', 'name': '中心对称飞行器', 'text': '可以飞向当前楼层中心对称的位置'}, + 'upFly': {'cls': 'tools', 'name': '上楼器', 'text': '可以飞往楼上的相同位置'}, + 'downFly': {'cls': 'tools', 'name': '下楼器', 'text': '可以飞往楼下的相同位置'}, + 'earthquake': {'cls': 'tools', 'name': '地震卷轴', 'text': '可以破坏当前层的所有墙'}, + 'poisonWine': {'cls': 'tools', 'name': '解毒药水', 'text': '可以解除中毒状态'}, + 'weakWine': {'cls': 'tools', 'name': '解衰药水', 'text': '可以解除衰弱状态'}, + 'curseWine': {'cls': 'tools', 'name': '解咒药水', 'text': '可以解除诅咒状态'}, + 'superWine': {'cls': 'tools', 'name': '万能药水', 'text': '可以解除所有不良状态'}, + 'hammer': {'cls': 'tools', 'name': '圣锤', 'text': '可以炸掉勇士面前的怪物'} +}, + + + + +"itemEffect" : { + "redJewel":"core.status.hero.atk += core.values.redJewel * ratio", + "blueJewel":"core.status.hero.def += core.values.blueJewel * ratio", + "greenJewel":"core.status.hero.mdef += core.values.greenJewel * ratio", + + "yellowJewel":"core.status.hero.hp+=1000;core.status.hero.atk+=6;core.status.hero.def+=6;core.status.hero.mdef+=10;", + // 黄宝石属性:需自己定义 + "redPotion":"core.status.hero.hp += core.values.redPotion * ratio", + "bluePotion":"core.status.hero.hp += core.values.bluePotion * ratio", + "yellowPotion":"core.status.hero.hp += core.values.yellowPotion * ratio", + "greenPotion":"core.status.hero.hp += core.values.greenPotion * ratio", + "sword1":"core.status.hero.atk += core.values.sword1", + "sword2":"core.status.hero.atk += core.values.sword2", + "sword3":"core.status.hero.atk += core.values.sword3", + "sword4":"core.status.hero.atk += core.values.sword4", + "sword5":"core.status.hero.atk += core.values.sword5", + "shield1":"core.status.hero.def += core.values.shield1", + "shield2":"core.status.hero.def += core.values.shield2", + "shield3":"core.status.hero.def += core.values.shield3", + "shield4":"core.status.hero.def += core.values.shield4", + "shield5":"core.status.hero.def += core.values.shield5", + + "bigKey":"core.status.hero.items.keys.yellowKey++;core.status.hero.items.keys.blueKey++;core.status.hero.items.keys.redKey++;", + // 只有是钥匙盒才会执行这一步 + "superPotion":"core.status.hero.hp *= 2", + "moneyPocket":"core.status.hero.money += core.values.moneyPocket", +}, + + +"itemEffectTip" : { + "redJewel":"',攻击+'+core.values.redJewel * ratio", + "blueJewel":"',防御+'+core.values.blueJewel * ratio", + "greenJewel":"',魔防+'+core.values.greenJewel * ratio", + "yellowJewel":"',全属性提升'", + "redPotion":"',生命+'+core.values.redPotion * ratio", + "bluePotion":"',生命+'+core.values.bluePotion * ratio", + "yellowPotion":"',生命+'+core.values.yellowPotion * ratio", + "greenPotion":"',生命+'+core.values.greenPotion * ratio", + "sword1":"',攻击+'+core.values.sword1", + "sword2":"',攻击+'+core.values.sword2", + "sword3":"',攻击+'+core.values.sword3", + "sword4":"',攻击+'+core.values.sword4", + "sword5":"',攻击+'+core.values.sword5", + "shield1":"',防御+'+core.values.shield1", + "shield2":"',防御+'+core.values.shield2", + "shield3":"',防御+'+core.values.shield3", + "shield4":"',防御+'+core.values.shield4", + "shield5":"',防御+'+core.values.shield5", + "bigKey":"',全钥匙+1'", + "superPotion":"',生命值翻倍'", + "moneyPocket":"',金币+'+core.values.moneyPocket", +} + } \ No newline at end of file diff --git a/project/maps.js b/project/maps.js index 9f0aef62..a265e88c 100644 --- a/project/maps.js +++ b/project/maps.js @@ -1,698 +1,197 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e = { - "1": { - "cls": "terrains", - "id": "yellowWall" - }, - "2": { - "cls": "terrains", - "id": "whiteWall" - }, - "3": { - "cls": "terrains", - "id": "blueWall" - }, - "4": { - "cls": "animates", - "id": "star", - "noPass": true - }, - "5": { - "cls": "animates", - "id": "lava", - "noPass": true - }, - "6": { - "cls": "terrains", - "id": "ice" - }, - "7": { - "cls": "terrains", - "id": "blueShop-left" - }, - "8": { - "cls": "terrains", - "id": "blueShop-right" - }, - "9": { - "cls": "terrains", - "id": "pinkShop-left" - }, - "10": { - "cls": "terrains", - "id": "pinkShop-right" - }, - "11": { - "cls": "animates", - "id": "lavaNet", - "noPass": false, - "trigger": "passNet" - }, - "12": { - "cls": "animates", - "id": "poisonNet", - "noPass": false, - "trigger": "passNet" - }, - "13": { - "cls": "animates", - "id": "weakNet", - "noPass": false, - "trigger": "passNet" - }, - "14": { - "cls": "animates", - "id": "curseNet", - "noPass": false, - "trigger": "passNet" - }, - "15": { - "cls": "animates", - "id": "water", - "noPass": true - }, - "20": { - "cls": "autotile", - "id": "autotile", - "noPass": true - }, - "21": { - "cls": "items", - "id": "yellowKey" - }, - "22": { - "cls": "items", - "id": "blueKey" - }, - "23": { - "cls": "items", - "id": "redKey" - }, - "24": { - "cls": "items", - "id": "greenKey" - }, - "25": { - "cls": "items", - "id": "steelKey" - }, - "26": { - "cls": "items", - "id": "bigKey" - }, - "27": { - "cls": "items", - "id": "redJewel" - }, - "28": { - "cls": "items", - "id": "blueJewel" - }, - "29": { - "cls": "items", - "id": "greenJewel" - }, - "30": { - "cls": "items", - "id": "yellowJewel" - }, - "31": { - "cls": "items", - "id": "redPotion" - }, - "32": { - "cls": "items", - "id": "bluePotion" - }, - "33": { - "cls": "items", - "id": "greenPotion" - }, - "34": { - "cls": "items", - "id": "yellowPotion" - }, - "35": { - "cls": "items", - "id": "sword1" - }, - "36": { - "cls": "items", - "id": "shield1" - }, - "37": { - "cls": "items", - "id": "sword2" - }, - "38": { - "cls": "items", - "id": "shield2" - }, - "39": { - "cls": "items", - "id": "sword3" - }, - "40": { - "cls": "items", - "id": "shield3" - }, - "41": { - "cls": "items", - "id": "sword4" - }, - "42": { - "cls": "items", - "id": "shield4" - }, - "43": { - "cls": "items", - "id": "sword5" - }, - "44": { - "cls": "items", - "id": "shield5" - }, - "45": { - "cls": "items", - "id": "book" - }, - "46": { - "cls": "items", - "id": "fly" - }, - "47": { - "cls": "items", - "id": "pickaxe" - }, - "48": { - "cls": "items", - "id": "icePickaxe" - }, - "49": { - "cls": "items", - "id": "bomb" - }, - "50": { - "cls": "items", - "id": "centerFly" - }, - "51": { - "cls": "items", - "id": "upFly" - }, - "52": { - "cls": "items", - "id": "downFly" - }, - "53": { - "cls": "items", - "id": "coin" - }, - "54": { - "cls": "items", - "id": "snow" - }, - "55": { - "cls": "items", - "id": "cross" - }, - "56": { - "cls": "items", - "id": "superPotion" - }, - "57": { - "cls": "items", - "id": "earthquake" - }, - "58": { - "cls": "items", - "id": "poisonWine" - }, - "59": { - "cls": "items", - "id": "weakWine" - }, - "60": { - "cls": "items", - "id": "curseWine" - }, - "61": { - "cls": "items", - "id": "superWine" - }, - "62": { - "cls": "items", - "id": "knife" - }, - "63": { - "cls": "items", - "id": "moneyPocket" - }, - "64": { - "cls": "items", - "id": "shoes" - }, - "65": { - "cls": "items", - "id": "hammer" - }, - "81": { - "cls": "terrains", - "id": "yellowDoor", - "trigger": "openDoor" - }, - "82": { - "cls": "terrains", - "id": "blueDoor", - "trigger": "openDoor" - }, - "83": { - "cls": "terrains", - "id": "redDoor", - "trigger": "openDoor" - }, - "84": { - "cls": "terrains", - "id": "greenDoor", - "trigger": "openDoor" - }, - "85": { - "cls": "terrains", - "id": "specialDoor", - "trigger": "openDoor" - }, - "86": { - "cls": "terrains", - "id": "steelDoor", - "trigger": "openDoor" - }, - "87": { - "cls": "terrains", - "id": "upFloor", - "noPass": false - }, - "88": { - "cls": "terrains", - "id": "downFloor", - "noPass": false - }, - "89": { - "cls": "animates", - "id": "portal", - "noPass": false - }, - "90": { - "cls": "animates", - "id": "starPortal", - "noPass": false - }, - "91": { - "cls": "animates", - "id": "upPortal", - "noPass": false - }, - "92": { - "cls": "animates", - "id": "leftPortal", - "noPass": false - }, - "93": { - "cls": "animates", - "id": "downPortal", - "noPass": false - }, - "94": { - "cls": "animates", - "id": "rightPortal", - "noPass": false - }, - "121": { - "cls": "npcs", - "id": "man" - }, - "122": { - "cls": "npcs", - "id": "woman" - }, - "123": { - "cls": "npcs", - "id": "thief" - }, - "124": { - "cls": "npcs", - "id": "fairy" - }, - "125": { - "cls": "npcs", - "id": "magician" - }, - "126": { - "cls": "npcs", - "id": "womanMagician" - }, - "127": { - "cls": "npcs", - "id": "oldMan" - }, - "128": { - "cls": "npcs", - "id": "child" - }, - "129": { - "cls": "npcs", - "id": "wood" - }, - "130": { - "cls": "npcs", - "id": "pinkShop" - }, - "131": { - "cls": "npcs", - "id": "blueShop" - }, - "132": { - "cls": "npcs", - "id": "princess" - }, - "151": { - "cls": "autotile", - "id": "autotile1", - "noPass": true - }, - "152": { - "cls": "autotile", - "id": "autotile2", - "noPass": true - }, - "153": { - "cls": "autotile", - "id": "autotile3", - "noPass": true - }, - "161": { - "cls": "terrains", - "id": "arrowUp", - "noPass": false - }, - "162": { - "cls": "terrains", - "id": "arrowDown", - "noPass": false - }, - "163": { - "cls": "terrains", - "id": "arrowLeft", - "noPass": false - }, - "164": { - "cls": "terrains", - "id": "arrowRight", - "noPass": false - }, - "165": { - "cls": "terrains", - "id": "light", - "trigger": "changeLight", - "noPass": false - }, - "166": { - "cls": "terrains", - "id": "darkLight", - "noPass": true - }, - "167": { - "cls": "terrains", - "id": "ski", - "trigger": "ski", - "noPass": false - }, - "168": { - "cls": "terrains", - "id": "flower", - "noPass": false - }, - "169": { - "cls": "terrains", - "id": "box", - "trigger": "pushBox", - "noPass": true - }, - "170": { - "cls": "terrains", - "id": "boxed", - "trigger": "pushBox", - "noPass": true - }, - "201": { - "cls": "enemys", - "id": "greenSlime" - }, - "202": { - "cls": "enemys", - "id": "redSlime" - }, - "203": { - "cls": "enemys", - "id": "blackSlime" - }, - "204": { - "cls": "enemys", - "id": "slimelord" - }, - "205": { - "cls": "enemys", - "id": "bat" - }, - "206": { - "cls": "enemys", - "id": "bigBat" - }, - "207": { - "cls": "enemys", - "id": "redBat" - }, - "208": { - "cls": "enemys", - "id": "vampire" - }, - "209": { - "cls": "enemys", - "id": "skeleton" - }, - "210": { - "cls": "enemys", - "id": "skeletonSoilder" - }, - "211": { - "cls": "enemys", - "id": "skeletonCaptain" - }, - "212": { - "cls": "enemys", - "id": "ghostSkeleton" - }, - "213": { - "cls": "enemys", - "id": "zombie" - }, - "214": { - "cls": "enemys", - "id": "zombieKnight" - }, - "215": { - "cls": "enemys", - "id": "rock" - }, - "216": { - "cls": "enemys", - "id": "slimeMan" - }, - "217": { - "cls": "enemys", - "id": "bluePriest" - }, - "218": { - "cls": "enemys", - "id": "redPriest" - }, - "219": { - "cls": "enemys", - "id": "brownWizard" - }, - "220": { - "cls": "enemys", - "id": "redWizard" - }, - "221": { - "cls": "enemys", - "id": "yellowGuard" - }, - "222": { - "cls": "enemys", - "id": "blueGuard" - }, - "223": { - "cls": "enemys", - "id": "redGuard" - }, - "224": { - "cls": "enemys", - "id": "swordsman" - }, - "225": { - "cls": "enemys", - "id": "soldier" - }, - "226": { - "cls": "enemys", - "id": "yellowKnight" - }, - "227": { - "cls": "enemys", - "id": "redKnight" - }, - "228": { - "cls": "enemys", - "id": "darkKnight" - }, - "229": { - "cls": "enemys", - "id": "blackKing" - }, - "230": { - "cls": "enemys", - "id": "yellowKing" - }, - "231": { - "cls": "enemys", - "id": "greenKing" - }, - "232": { - "cls": "enemys", - "id": "blueKnight" - }, - "233": { - "cls": "enemys", - "id": "goldSlime" - }, - "234": { - "cls": "enemys", - "id": "poisonSkeleton" - }, - "235": { - "cls": "enemys", - "id": "poisonBat" - }, - "236": { - "cls": "enemys", - "id": "steelRock" - }, - "237": { - "cls": "enemys", - "id": "skeletonPriest" - }, - "238": { - "cls": "enemys", - "id": "skeletonKing" - }, - "239": { - "cls": "enemys", - "id": "skeletonWizard" - }, - "240": { - "cls": "enemys", - "id": "redSkeletonCaption" - }, - "241": { - "cls": "enemys", - "id": "badHero" - }, - "242": { - "cls": "enemys", - "id": "demon" - }, - "243": { - "cls": "enemys", - "id": "demonPriest" - }, - "244": { - "cls": "enemys", - "id": "goldHornSlime" - }, - "245": { - "cls": "enemys", - "id": "redKing" - }, - "246": { - "cls": "enemys", - "id": "whiteKing" - }, - "247": { - "cls": "enemys", - "id": "blackMagician" - }, - "248": { - "cls": "enemys", - "id": "silverSlime" - }, - "249": { - "cls": "enemys", - "id": "swordEmperor" - }, - "250": { - "cls": "enemys", - "id": "whiteHornSlime" - }, - "251": { - "cls": "enemys", - "id": "badPrincess" - }, - "252": { - "cls": "enemys", - "id": "badFairy" - }, - "253": { - "cls": "enemys", - "id": "grayPriest" - }, - "254": { - "cls": "enemys", - "id": "redSwordsman" - }, - "255": { - "cls": "enemys", - "id": "whiteGhost" - }, - "256": { - "cls": "enemys", - "id": "poisonZombie" - }, - "257": { - "cls": "enemys", - "id": "magicDragon" - }, - "258": { - "cls": "enemys", - "id": "octopus" - }, - "259": { - "cls": "enemys", - "id": "darkFairy" - }, - "260": { - "cls": "enemys", - "id": "greenKnight" - }, - "267": { - "cls": "items", - "id": "sgg" - }, - "299": { - "cls": "items", - "id": "ttt" - }, - "303": { - "cls": "enemys", - "id": "test" - } + ////////////////////////// 地形部分 ////////////////////////// + + // 0-20 地形 + '1':{'cls': 'terrains', 'id': 'yellowWall'}, // 黄墙 + '2':{'cls': 'terrains', 'id': 'whiteWall'}, // 白墙 + '3':{'cls': 'terrains', 'id': 'blueWall'}, // 蓝墙 + '4':{'cls': 'animates', 'id': 'star', 'noPass': true}, // 星空 + '5':{'cls': 'animates', 'id': 'lava', 'noPass': true}, // 岩浆 + '6':{'cls': 'terrains', 'id': 'ice'}, // 冰面 + '7':{'cls': 'terrains', 'id': 'blueShop-left'}, // 蓝色商店左 + '8':{'cls': 'terrains', 'id': 'blueShop-right'}, // 蓝色商店右 + '9':{'cls': 'terrains', 'id': 'pinkShop-left'}, // 粉色商店左 + '10':{'cls': 'terrains', 'id': 'pinkShop-right'}, // 粉色商店左 + '11':{'cls': 'animates', 'id': 'lavaNet', 'noPass': false, 'trigger': 'passNet'}, // 血网 + '12':{'cls': 'animates', 'id': 'poisonNet', 'noPass': false, 'trigger': 'passNet'}, // 毒网 + '13':{'cls': 'animates', 'id': 'weakNet', 'noPass': false, 'trigger': 'passNet'}, // 衰网 + '14':{'cls': 'animates', 'id': 'curseNet', 'noPass': false, 'trigger': 'passNet'}, // 咒网 + '15':{'cls': 'animates', 'id': 'water', 'noPass': true}, // 水 + // 在这里添加更多地形 + // 如果空位不足,可以从180以后开始继续放,只要不和现有的数字冲突即可 + + // Autotile + '20':{'cls': 'autotile', 'id': 'autotile', 'noPass': true}, // autotile + // 更多的autotile从151到160等,只要不和现有的数字冲突即可 + '151':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true}, + '152':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true}, + '153':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true}, + + ////////////////////////// 物品部分 ////////////////////////// + + // 21-80 物品 + '21':{'cls': 'items', 'id': 'yellowKey'}, // 黄钥匙 + '22':{'cls': 'items', 'id': 'blueKey'}, // 蓝钥匙 + '23':{'cls': 'items', 'id': 'redKey'}, // 红钥匙 + '24':{'cls': 'items', 'id': 'greenKey'}, // 绿钥匙 + '25':{'cls': 'items', 'id': 'steelKey'}, // 铁门钥匙 + '26':{'cls': 'items', 'id': 'bigKey'}, // 大黄门钥匙(钥匙盒) + '27':{'cls': 'items', 'id': 'redJewel'}, // 红宝石 + '28':{'cls': 'items', 'id': 'blueJewel'}, // 蓝宝石 + '29':{'cls': 'items', 'id': 'greenJewel'}, // 绿宝石 + '30':{'cls': 'items', 'id': 'yellowJewel'}, // 黄宝石 + '31':{'cls': 'items', 'id': 'redPotion'}, // 红血瓶 + '32':{'cls': 'items', 'id': 'bluePotion'}, // 蓝血瓶 + '33':{'cls': 'items', 'id': 'greenPotion'}, // 绿血瓶 + '34':{'cls': 'items', 'id': 'yellowPotion'}, // 黄血瓶 + '35':{'cls': 'items', 'id': 'sword1'}, // 铁剑 + '36':{'cls': 'items', 'id': 'shield1'}, // 铁盾 + '37':{'cls': 'items', 'id': 'sword2'}, // 银剑 + '38':{'cls': 'items', 'id': 'shield2'}, // 银盾 + '39':{'cls': 'items', 'id': 'sword3'}, // 骑士剑 + '40':{'cls': 'items', 'id': 'shield3'}, // 骑士盾 + '41':{'cls': 'items', 'id': 'sword4'}, // 圣剑 + '42':{'cls': 'items', 'id': 'shield4'}, // 圣盾 + '43':{'cls': 'items', 'id': 'sword5'}, // 神圣剑 + '44':{'cls': 'items', 'id': 'shield5'}, // 神圣盾 + '45':{'cls': 'items', 'id': 'book'}, // 怪物手册 + '46':{'cls': 'items', 'id': 'fly'}, // 楼层传送器 + '47':{'cls': 'items', 'id': 'pickaxe'}, // 破墙镐 + '48':{'cls': 'items', 'id': 'icePickaxe'}, // 破冰镐 + '49':{'cls': 'items', 'id': 'bomb'}, // 炸弹 + '50':{'cls': 'items', 'id': 'centerFly'}, // 中心对称 + '51':{'cls': 'items', 'id': 'upFly'}, // 上楼器 + '52':{'cls': 'items', 'id': 'downFly'}, // 下楼器 + '53':{'cls': 'items', 'id': 'coin'}, // 幸运金币 + '54':{'cls': 'items', 'id': 'snow'}, // 冰冻徽章 + '55':{'cls': 'items', 'id': 'cross'}, // 十字架 + '56':{'cls': 'items', 'id': 'superPotion'}, // 圣水 + '57':{'cls': 'items', 'id': 'earthquake'}, // 地震卷轴 + '58':{'cls': 'items', 'id': 'poisonWine'}, // 解毒药水 + '59':{'cls': 'items', 'id': 'weakWine'}, // 解衰药水 + '60':{'cls': 'items', 'id': 'curseWine'}, // 解咒药水 + '61':{'cls': 'items', 'id': 'superWine'}, // 万能药水 + '62':{'cls': 'items', 'id': 'knife'}, // 屠龙匕首 + '63':{'cls': 'items', 'id': 'moneyPocket'}, // 金钱袋 + '64':{'cls': 'items', 'id': 'shoes'}, // 绿鞋 + '65':{'cls': 'items', 'id': 'hammer'}, // 圣锤 + + + ////////////////////////// 门、楼梯、传送点部分 ////////////////////////// + + // 81-100 门 + '81':{'cls': 'terrains', 'id': 'yellowDoor', 'trigger': 'openDoor'}, // 黄门 + '82':{'cls': 'terrains', 'id': 'blueDoor', 'trigger': 'openDoor'}, // 蓝门 + '83':{'cls': 'terrains', 'id': 'redDoor', 'trigger': 'openDoor'}, // 红门 + '84':{'cls': 'terrains', 'id': 'greenDoor', 'trigger': 'openDoor'}, // 绿门 + '85':{'cls': 'terrains', 'id': 'specialDoor', 'trigger': 'openDoor'}, // 机关门左 + '86':{'cls': 'terrains', 'id': 'steelDoor', 'trigger': 'openDoor'}, // 铁门 + '87':{'cls': 'terrains', 'id': 'upFloor', 'noPass': false}, // 上楼梯 + '88':{'cls': 'terrains', 'id': 'downFloor', 'noPass': false}, // 下楼梯 + '89':{'cls': 'animates', 'id': 'portal', 'noPass': false}, // 传送门 + '90':{'cls': 'animates', 'id': 'starPortal', 'noPass': false}, // 星空传送门 + '91':{'cls': 'animates', 'id': 'upPortal', 'noPass': false}, // 上箭头 + '92':{'cls': 'animates', 'id': 'leftPortal', 'noPass': false}, // 左箭头 + '93':{'cls': 'animates', 'id': 'downPortal', 'noPass': false}, // 下箭头 + '94':{'cls': 'animates', 'id': 'rightPortal', 'noPass': false}, // 右箭头 + + + ////////////////////////// NPC部分 ////////////////////////// + + // 121-150 NPC + '121':{'cls': 'npcs', 'id': 'man'}, + '122':{'cls': 'npcs', 'id': 'woman'}, + '123':{'cls': 'npcs', 'id': 'thief'}, + '124':{'cls': 'npcs', 'id': 'fairy'}, + '125':{'cls': 'npcs', 'id': 'magician'}, + '126':{'cls': 'npcs', 'id': 'womanMagician'}, + '127':{'cls': 'npcs', 'id': 'oldMan'}, + '128':{'cls': 'npcs', 'id': 'child'}, + '129':{'cls': 'npcs', 'id': 'wood'}, + '130':{'cls': 'npcs', 'id': 'pinkShop'}, + '131':{'cls': 'npcs', 'id': 'blueShop'}, + '132':{'cls': 'npcs', 'id': 'princess'}, + + ////////////////////////// 其他部分 ////////////////////////// + + // 161-200 其他(单向箭头、灯、箱子等等) + '161':{'cls': 'terrains', 'id': 'arrowUp', 'noPass': false}, // 单向上箭头 + '162':{'cls': 'terrains', 'id': 'arrowDown', 'noPass': false}, // 单向下箭头 + '163':{'cls': 'terrains', 'id': 'arrowLeft', 'noPass': false}, // 单向左箭头 + '164':{'cls': 'terrains', 'id': 'arrowRight', 'noPass': false}, // 单向右箭头 + '165':{'cls': 'terrains', 'id': 'light', 'trigger': 'changeLight', 'noPass': false}, // 灯 + '166':{'cls': 'terrains', 'id': 'darkLight', 'noPass': true}, // 暗灯 + '167':{'cls': 'terrains', 'id': 'ski', 'trigger': 'ski', 'noPass': false}, // 滑冰 + '168':{'cls': 'terrains', 'id': 'flower', 'noPass': false}, // 花 + '169':{'cls': 'terrains', 'id': 'box', 'trigger': 'pushBox', 'noPass': true}, // 箱子 + '170':{'cls': 'terrains', 'id': 'boxed', 'trigger': 'pushBox', 'noPass': true}, // 完成的箱子 + + + ////////////////////////// 怪物部分 ////////////////////////// + + // 201-300 怪物 + '201':{'cls': 'enemys', 'id': 'greenSlime'}, + '202':{'cls': 'enemys', 'id': 'redSlime'}, + '203':{'cls': 'enemys', 'id': 'blackSlime'}, + '204':{'cls': 'enemys', 'id': 'slimelord'}, + '205':{'cls': 'enemys', 'id': 'bat'}, + '206':{'cls': 'enemys', 'id': 'bigBat'}, + '207':{'cls': 'enemys', 'id': 'redBat'}, + '208':{'cls': 'enemys', 'id': 'vampire'}, + '209':{'cls': 'enemys', 'id': 'skeleton'}, + '210':{'cls': 'enemys', 'id': 'skeletonSoilder'}, + '211':{'cls': 'enemys', 'id': 'skeletonCaptain'}, + '212':{'cls': 'enemys', 'id': 'ghostSkeleton'}, + '213':{'cls': 'enemys', 'id': 'zombie'}, + '214':{'cls': 'enemys', 'id': 'zombieKnight'}, + '215':{'cls': 'enemys', 'id': 'rock'}, + '216':{'cls': 'enemys', 'id': 'slimeMan'}, + '217':{'cls': 'enemys', 'id': 'bluePriest'}, + '218':{'cls': 'enemys', 'id': 'redPriest'}, + '219':{'cls': 'enemys', 'id': 'brownWizard'}, + '220':{'cls': 'enemys', 'id': 'redWizard'}, + '221':{'cls': 'enemys', 'id': 'yellowGuard'}, + '222':{'cls': 'enemys', 'id': 'blueGuard'}, + '223':{'cls': 'enemys', 'id': 'redGuard'}, + '224':{'cls': 'enemys', 'id': 'swordsman'}, + '225':{'cls': 'enemys', 'id': 'soldier'}, + '226':{'cls': 'enemys', 'id': 'yellowKnight'}, + '227':{'cls': 'enemys', 'id': 'redKnight'}, + '228':{'cls': 'enemys', 'id': 'darkKnight'}, + '229':{'cls': 'enemys', 'id': 'blackKing'}, + '230':{'cls': 'enemys', 'id': 'yellowKing'}, + '231':{'cls': 'enemys', 'id': 'greenKing'}, + '232':{'cls': 'enemys', 'id': 'blueKnight'}, + '233':{'cls': 'enemys', 'id': 'goldSlime'}, + '234':{'cls': 'enemys', 'id': 'poisonSkeleton'}, + '235':{'cls': 'enemys', 'id': 'poisonBat'}, + '236':{'cls': 'enemys', 'id': 'steelRock'}, + '237':{'cls': 'enemys', 'id': 'skeletonPriest'}, + '238':{'cls': 'enemys', 'id': 'skeletonKing'}, + '239':{'cls': 'enemys', 'id': 'skeletonWizard'}, + '240':{'cls': 'enemys', 'id': 'redSkeletonCaption'}, + '241':{'cls': 'enemys', 'id': 'badHero'}, + '242':{'cls': 'enemys', 'id': 'demon'}, + '243':{'cls': 'enemys', 'id': 'demonPriest'}, + '244':{'cls': 'enemys', 'id': 'goldHornSlime'}, + '245':{'cls': 'enemys', 'id': 'redKing'}, + '246':{'cls': 'enemys', 'id': 'whiteKing'}, + '247':{'cls': 'enemys', 'id': 'blackMagician'}, + '248':{'cls': 'enemys', 'id': 'silverSlime'}, + '249':{'cls': 'enemys', 'id': 'swordEmperor'}, + '250':{'cls': 'enemys', 'id': 'whiteHornSlime'}, + '251':{'cls': 'enemys', 'id': 'badPrincess'}, + '252':{'cls': 'enemys', 'id': 'badFairy'}, + '253':{'cls': 'enemys', 'id': 'grayPriest'}, + '254':{'cls': 'enemys', 'id': 'redSwordsman'}, + '255':{'cls': 'enemys', 'id': 'whiteGhost'}, + '256':{'cls': 'enemys', 'id': 'poisonZombie'}, + '257':{'cls': 'enemys', 'id': 'magicDragon'}, + '258':{'cls': 'enemys', 'id': 'octopus'}, + '259':{'cls': 'enemys', 'id': 'darkFairy'}, + '260':{'cls': 'enemys', 'id': 'greenKnight'}, + + ////////////////////////// 待定... ////////////////////////// + // 目前ID暂时不要超过400 } \ No newline at end of file From 79f0854371d30b5c1b6e061e03b910ae00365090 Mon Sep 17 00:00:00 2001 From: oc Date: Thu, 8 Mar 2018 23:21:33 +0800 Subject: [PATCH 3/4] bgm --- libs/actions.js | 4 +++- libs/control.js | 8 +++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/libs/actions.js b/libs/actions.js index 7cbebf1d..1a815548 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -1353,8 +1353,10 @@ actions.prototype.clickSwitchs = function (x,y) { core.musicStatus.bgmStatus = !core.musicStatus.bgmStatus; if (core.musicStatus.bgmStatus) core.resumeBgm(); - else + else { core.pauseBgm(); + core.musicStatus.playingBgm = null; + } core.setLocalStorage('bgmStatus', core.musicStatus.bgmStatus); core.ui.drawSwitchs(); break; diff --git a/libs/control.js b/libs/control.js index 1ca01d62..8e7a992e 100644 --- a/libs/control.js +++ b/libs/control.js @@ -300,6 +300,8 @@ control.prototype.startGame = function (hard, callback) { ////// 重新开始游戏;此函数将回到标题页面 ////// control.prototype.restart = function() { this.showStartAnimate(); + if (core.bgms.length>0) + core.playBgm(core.bgms[0]); } @@ -1994,7 +1996,11 @@ control.prototype.resumeBgm = function () { } else { if (core.bgms.length>0) { - core.playBgm(core.bgms[0]); + if (core.isset(core.floors[core.status.floorId].bgm)) { + core.playBgm(core.floors[core.status.floorId].bgm); + } + else + core.playBgm(core.bgms[0]); core.musicStatus.isPlaying = true; } } From 93ee7f04150f1ad4913b342b093be6eaaa94d446 Mon Sep 17 00:00:00 2001 From: oc Date: Fri, 9 Mar 2018 21:11:58 +0800 Subject: [PATCH 4/4] Remove Storage --- libs/actions.js | 78 +++++++++++++++++++++++++++++++++++++++++++------ libs/enemys.js | 4 +++ libs/events.js | 2 +- libs/ui.js | 8 +++++ main.js | 6 ++-- 5 files changed, 85 insertions(+), 13 deletions(-) diff --git a/libs/actions.js b/libs/actions.js index 1a815548..aca775d9 100644 --- a/libs/actions.js +++ b/libs/actions.js @@ -128,6 +128,10 @@ actions.prototype.keyDown = function(keyCode) { this.keyDownLocalSaveSelect(keyCode); return; } + if (core.status.event.id=='storageRemove') { + this.keyDownStorageRemove(keyCode); + return; + } if (core.status.event.id=='cursor') { this.keyDownCursor(keyCode); return; @@ -255,7 +259,10 @@ actions.prototype.keyUp = function(keyCode) { this.keyUpLocalSaveSelect(keyCode); return; } - + if (core.status.event.id=='storageRemove') { + this.keyUpStorageRemove(keyCode); + return; + } if (core.status.event.id=='cursor') { this.keyUpCursor(keyCode); return; @@ -649,6 +656,10 @@ actions.prototype.onclick = function (x, y, stepPostfix) { this.clickLocalSaveSelect(x,y); return; } + if (core.status.event.id=='storageRemove') { + this.clickStorageRemove(x,y); + return; + } if (core.status.event.id == 'cursor') { this.clickCursor(x,y); @@ -1628,14 +1639,8 @@ actions.prototype.clickSyncSave = function (x,y) { })); break; case 5: - core.status.event.selection=1; - core.ui.drawConfirmBox("你确定要清空所有存档吗?", function() { - localStorage.clear(); - core.drawText("\t[操作成功]你的所有存档已被清空。"); - }, function() { - core.status.event.selection=5; - core.ui.drawSyncSave(); - }) + core.status.event.selection=0; + core.ui.drawStorageRemove(); break; case 6: core.status.event.selection=3; @@ -1793,6 +1798,61 @@ actions.prototype.keyUpLocalSaveSelect = function (keycode) { } } +////// 存档删除界面时的点击操作 ////// +actions.prototype.clickStorageRemove = function (x, y) { + if (x<5 || x>7) return; + var choices = core.status.event.ui.choices; + + var topIndex = 6 - parseInt((choices.length - 1) / 2); + + if (y>=topIndex && y=1 && x<=11) { diff --git a/libs/enemys.js b/libs/enemys.js index cf284486..7a744b53 100644 --- a/libs/enemys.js +++ b/libs/enemys.js @@ -170,6 +170,10 @@ enemys.prototype.getDefDamage = function (monsterId) { enemys.prototype.calDamage = function (monster, hero_hp, hero_atk, hero_def, hero_mdef) { var mon_hp = monster.hp, mon_atk = monster.atk, mon_def = monster.def, mon_special = monster.special; + hero_hp=Math.max(0, hero_hp); + hero_atk=Math.max(0, hero_atk); + hero_def=Math.max(0, hero_def); + hero_mdef=Math.max(0, hero_mdef); if (this.hasSpecial(mon_special, 20) && !core.hasItem("cross")) // 如果是无敌属性,且勇士未持有十字架 return 999999999; // 返回无限大 diff --git a/libs/events.js b/libs/events.js index 76415798..91a81d5a 100644 --- a/libs/events.js +++ b/libs/events.js @@ -224,9 +224,9 @@ events.prototype.doAction = function() { // 事件处理完毕 if (core.status.event.data.list.length==0) { + core.ui.closePanel(); if (core.isset(core.status.event.data.callback)) core.status.event.data.callback(); - core.ui.closePanel(); core.replay(); return; } diff --git a/libs/ui.js b/libs/ui.js index 47676211..b100b309 100644 --- a/libs/ui.js +++ b/libs/ui.js @@ -1068,6 +1068,14 @@ ui.prototype.drawLocalSaveSelect = function () { ]); } +////// 绘制存档删除页面 ////// +ui.prototype.drawStorageRemove = function () { + core.status.event.id = 'storageRemove'; + this.drawChoices(null, [ + "清空全部塔的存档", "只清空当前塔的存档", "返回上级菜单" + ]); +} + ////// 绘制分页 ////// ui.prototype.drawPagination = function (page, totalPage) { diff --git a/main.js b/main.js index 693472b1..fee0d1aa 100644 --- a/main.js +++ b/main.js @@ -442,8 +442,9 @@ main.dom.replayGame.onclick = function () { return; } if (core.isset(obj.version) && obj.version!=core.firstData.version) { - alert("游戏版本不一致!"); - return; + // alert("游戏版本不一致!"); + if (!confirm("游戏版本不一致!\n你仍然想播放录像吗?")) + return; } if (!core.isset(obj.route) || !core.isset(obj.hard)) { alert("无效的录像!"); @@ -454,7 +455,6 @@ main.dom.replayGame.onclick = function () { core.resetStatus(core.firstData.hero, obj.hard, core.firstData.floorId, null, core.initStatus.maps); core.events.setInitData(obj.hard); core.changeFloor(core.status.floorId, null, core.firstData.hero.loc, null, function() { - //core.setHeroMoveTriggerInterval(); core.startReplay(core.decodeRoute(obj.route)); }, true); }, function () {