Reset numbers

This commit is contained in:
ckcz123 2018-04-22 10:47:29 +08:00
parent c80f2e1dab
commit c6ab9fb9b8
4 changed files with 259 additions and 173 deletions

View File

@ -1,121 +1,206 @@
main.floors.sample0 = main.floors.sample0=
{ {
"floorId": "sample0", // 这里需要改楼层名请和文件名及下面的floorId保持完全一致 "floorId": "sample0",
// 楼层唯一标识符仅能由字母、数字、下划线组成,且不能由数字开头 "title": "样板 0 层",
// 推荐用法第20层就用MT20第38层就用MT38地下6层就用MT_6用下划线代替负号隐藏3层用MT3hh表示隐藏等等 "name": "0",
// 楼层唯一标识符,需要和名字完全一致 "canFlyTo": true,
"title": "样板 0 层", // 楼层中文名 "canUseQuickShop": true,
"name": "0", // 显示在状态栏中的层数 "defaultGround": "ground",
"canFlyTo": true, // 该楼能否被楼传器飞到(不能的话在该楼也不允许使用楼传器) "images": [],
"canUseQuickShop": true, // 该层是否允许使用快捷商店 "bgm": "bgm.mp3",
"defaultGround": "ground", // 默认地面的图块IDterrains中 "item_ratio": 2,
"images": [], // 该层默认显示的所有图片;详细用法请查看文档“自定义素材”中的说明。 "map": [
// "color": [0,0,0,0.3] // 该层的默认画面色调。本项可不写代表无色调如果写需要是一个RGBA数组。 [ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42],
// "weather": ["snow",5], // 该层的默认天气。本项可忽略表示晴天,如果写则第一项为"rain"或"snow"代表雨雪第二项为1-10之间的数代表强度。 [ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41],
"bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。 [219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40],
"item_ratio": 2, // 该层的宝石/血瓶倍率 [ 20, 20,125, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39],
"map": [ // 地图数据需要是13x13建议使用地图生成器来生成 [216,247,263,235,248, 6, 0, 3, 49, 50, 51, 52, 38],
[ 0, 0,220, 0, 0, 20, 87, 3, 65, 64, 44, 43, 42], [ 6, 6,125, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37],
[ 0,246, 0,246, 0, 20, 0, 3, 58, 59, 60, 61, 41], [224,254,212,262,204, 5, 0, 1, 31, 32, 34, 33, 36],
[219, 0, 0, 0,219, 20, 0, 3, 57, 26, 62, 63, 40], [201,261,217,264,207, 5, 0, 1, 27, 28, 29, 30, 35],
[ 20, 20,115, 20, 20, 20, 0, 3, 53, 54, 55, 56, 39], [ 5, 5,125, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25],
[216,247,263,235,248, 6, 0, 3, 49, 50, 51, 52, 38], [ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,121, 1, 1],
[ 6, 6,115, 6, 6, 6, 0, 1, 45, 46, 47, 48, 37], [ 4, 4,133, 4, 4, 4, 0, 0, 0, 0, 0, 85,124],
[224,254,212,262,204, 5, 0, 1, 31, 32, 34, 33, 36], [ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,122, 2, 2],
[201,261,217,264,207, 5, 0, 1, 27, 28, 29, 30, 35], [ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86]
[ 5, 5,115, 5, 5, 5, 0, 1, 21, 22, 23, 24, 25], ],
[ 0, 0,237, 0, 0, 0, 45, 1, 1, 1,111, 1, 1], "firstArrive": [
[ 4, 4,139, 4, 4, 4, 0, 0, 0, 0, 0, 85,114], "\t[样板提示]首次到达某层可以触发 firstArrive 事件该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型常常用来触发对话例如",
[ 87, 11, 12, 13, 14, 4, 4, 2, 2, 2,112, 2, 2], "\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?",
[ 88, 89, 90, 91, 92, 93, 94, 2, 81, 82, 83, 84, 86] "\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": [ // 第一次到该楼层触发的事件 "10,11": [
"\t[样板提示]首次到达某层可以触发 firstArrive 事件该事件可类似于RMXP中的“自动执行脚本”。\n\n本事件支持一切的事件类型常常用来触发对话例如", "\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。",
"\t[hero]\b[up,hero]我是谁?我从哪来?我又要到哪去?", "\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
"\t[仙子,fairy]你问我...?我也不知道啊...", {
"本层主要对道具、门、怪物等进行介绍,有关事件的各种信息在下一层会有更为详细的说明。", "type": "hide",
"time": 500
}
], ],
"events": { // 该楼的所有可能事件列表 "2,10": [
"10,9": [ // 守着道具的老人 "\t[少女,npc0]这些是路障、楼梯、传送门。",
"\t[老人,man]这些是本样板支持的所有的道具。\n\n道具分为三类items, constants, tools。\nitems 为即捡即用类道具,例如宝石、血瓶、剑盾等。\nconstants 为永久道具,例如怪物手册、楼层传送器、幸运金币等。\ntools 为消耗类道具,例如破墙镐、炸弹、中心对称飞行器等。\n\n后两类道具在工具栏中可以看到并使用。", "\t[少女,npc0]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。",
"\t[老人,man]\b[up]有关道具效果定义在items.js中。\n目前大多数道具已有默认行为如有自定义的需求则需在items.js中修改代码。", "\t[少女,npc0]楼梯和传送门需要在changeFloor中定义目标楼层和位置可参见样板里已有的的写法。",
"\t[老人,man]constants 和 tools 各最多只允许12种多了会导致图标溢出。", {
"\t[老人,man]\b[up]拾取道具结束后可触发 afterGetItem 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", "type": "hide",
{"type": "hide", "time": 500} // 消失 "time": 500
], }
"10,11": [ // 守着门的老人 ],
"\t[老人,woman]这些是门,需要对应的钥匙打开。\n机关门必须使用特殊的开法。", "2,8": [
"\t[老人,woman]开门后可触发 afterOpenDoor 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", "\t[老人,magician]这些都是各种各样的怪物所有怪物的数据都在enemys.js中设置。",
{"type": "hide", "time": 500} "\t[老人,magician]这批怪物分别为普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。",
], "\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。",
"2,10": [ // 守着楼梯、传送门、路障的老人 {
"\t[少女,npc0]这些是路障、楼梯、传送门。", "type": "hide",
"\t[少女,npc0]血网的伤害数值、中毒后每步伤害数值、衰弱时攻防下降的数值,都在 data.js 内定义。\n\n路障同样会尽量被自动寻路绕过。", "time": 500
"\t[少女,npc0]楼梯和传送门需要在changeFloor中定义目标楼层和位置可参见样板里已有的的写法。", }
{"type": "hide", "time": 500} ],
], "2,5": [
"2,8": [ // 守着第一批怪物的老人 "\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值可参见样板中黑暗大法师的写法。",
"\t[老人,magician]这些都是各种各样的怪物所有怪物的数据都在enemys.js中设置。", {
"\t[老人,magician]这批怪物分别为普通、先攻、魔攻、坚固、2连击、3连击、4连击、破甲、反击、净化。", "type": "hide",
"\t[老人,magician]打败怪物后可触发 afterBattle 事件。\n\n有关事件的各种信息在下一层会有更为详细的说明。", "time": 500
{"type": "hide", "time": 500} }
], ],
"2,5": [ // 守着第二批怪物的老人 "2,3": [
"\t[老人,magician]模仿、吸血、中毒、衰弱、诅咒。\n\n请注意吸血怪需要设置value为吸血数值可参见样板中黑暗大法师的写法。", "\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值可参见样板中初级巫师的写法。",
{"type": "hide", "time": 500} "\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。",
], {
"2,3": [ // 守着第三批怪物的老人 "type": "hide",
"\t[老人,magician]领域、夹击。\n请注意领域怪需要设置value为伤害数值可参见样板中初级巫师的写法。", "time": 500
"\t[老人,magician]夹击和领域同时发生时先计算领域,再夹击。\n自动寻路同样会尽量绕过你设置的这些点。", }
{"type": "hide", "time": 500} ],
], "12,10": {
"12,10": { // 隐藏的仙子 "enable": false,
"enable": false, // enable: false代表初始时禁用事件 "data": [
"data": [ "\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。",
"\t[仙子,fairy]只有楼上启用事件后,才能看到我并可以和我对话来触发事件。", {
{"type": "hide", "time": 500} "type": "hide",
] "time": 500
}, }
]
}
},
"changeFloor": {
"6,0": {
"floorId": "sample1",
"stair": "downFloor"
}, },
"changeFloor": { // 楼层转换事件该事件不能和上面的events有冲突同位置点否则会被覆盖 "0,11": {
"6,0": {"floorId": "sample1", "stair": "downFloor"}, // 目标点sample1层的下楼梯位置 "floorId": "sample0",
"0,11": {"floorId": "sample0", "loc": [0,12]}, // 目标点sample0层的x=0,y=12位置 "loc": [
"0,12": {"floorId": "sample0", "stair": "upFloor"}, // 注意目标层有多个楼梯的话写stair可能会导致到达位置不确定。这时候推荐写loc指明目标点位置。 0,
"1,12": {"floorId": "sample0", "loc": [1,12]}, 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": { // 战斗后可能触发的事件列表 "0,12": {
"2,6": ["\t[ghostSkeleton]不可能,你怎么可能打败我!\n一个打败怪物触发的事件"], "floorId": "sample0",
"stair": "upFloor"
}, },
"afterGetItem": { // 获得道具后可能触发的事件列表 "1,12": {
"11,8": ["由于状态栏放不下绿钥匙和铁门钥匙均视为tools放入工具栏中。\n碰到绿门和铁门仍然会自动使用开门。"], "floorId": "sample0",
"8,6": ["由于吸血和夹击等的存在,血瓶默认自动被绕路。\n你可以修改data.js中的系统Flag来设置这一项。"], "loc": [
"8,7": ["如需修改消耗品的效果,请前往 data.js 找到并修改values内对应的具体数值即可。\n如果有更高级的需求如每个区域宝石数值变化详见doc文档内的做法说明。"], 1,
"10,7": ["在 data.js 的系统Flag中设置是否启用魔防。\n如果不启用魔防则不会在状态栏显示。"], 12
"9,5": [ ]
"每层楼的 canFlyTo 决定了该楼层能否被飞到。\n\n不能被飞到的楼层也无法使用楼层传送器。", },
"飞行的楼层顺序由 main.js 中 floorIds 加载顺序所决定。\n\n是否必须在楼梯边使用楼传器由 data.js 中的系统Flag所决定。" "2,12": {
"floorId": "sample0",
"loc": [
2,
12
]
},
"3,12": {
"floorId": "sample0",
"loc": [
6,
1
], ],
"10,5": ["破墙镐是破面前的墙壁还是四个方向的墙壁由data.js中的系统Flag所决定。"], "direction": "up"
"8,4": [ },
"炸弹是只能炸面前的怪物还是四个方向的怪物由data.js中的系统Flag所决定。\n如只能炸前方怪物则和上面的圣锤等价。\n不能被炸的怪物在enemys中可以定义可参见样板里黑衣魔王和黑暗大法师的写法。", "4,12": {
"floorId": "sample0",
"loc": [
0,
9
], ],
"10,4": ["“上楼”和“下楼”的目标层由 main.js 的 floorIds顺序所决定。"], "direction": "left",
"9,2": ["该道具默认是大黄门钥匙,如需改为钥匙盒直接修改 data.js 中的系统Flag即可。"], "time": 1000
"10,2": ["屠龙匕首目前未被定义,可能需要自行实现功能。\n有关如何实现一个道具功能参见doc文档。"],
}, },
"afterOpenDoor": { // 开完门后可能触发的事件列表 "5,12": {
"11,12": ["你开了一个绿门触发了一个afterOpenDoor事件"] "floorId": "sample0",
"loc": [
6,
10
],
"time": 0,
"portalWithoutTrigger": false
}, },
"cannotMove": { // 每个图块不可通行的方向 "6,12": {
// 可以在这里定义每个点不能前往哪个方向,例如悬崖边不能跳下去 "floorId": "sample0",
// "x,y": ["up", "left"], // (x,y)点不能往上和左走 "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": {},
} }

View File

@ -15,18 +15,18 @@ main.floors.sample1 =
// "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。 // "bgm": "bgm.mp3", // 到达该层后默认播放的BGM。本项可忽略。
"item_ratio": 1, // 该层的宝石/血瓶倍率 "item_ratio": 1, // 该层的宝石/血瓶倍率
"map": [ // 地图数据需要是13x13建议使用地图生成器来生成 "map": [ // 地图数据需要是13x13建议使用地图生成器来生成
[ 7,121, 8,152, 9,120, 10,352,176,175,122,175,176], [ 7,131, 8,152, 9,130, 10,152,166,165,132,165,166],
[ 0, 0, 0, 0, 0, 0, 0,352,175,174, 0,172,175], [ 0, 0, 0, 0, 0, 0, 0,152,165,164, 0,162,165],
[352,352,352,352,111,352,352,352, 0, 0,229, 0, 0], [152,152,152,152,121,152,152,152, 0, 0,229, 0, 0],
[ 43, 33, 44,351, 0, 0, 0,352,175,171, 0,173,175], [ 43, 33, 44,151, 0, 0, 0,152,165,161, 0,163,165],
[ 21, 22, 21,351, 0, 0, 0,352,176,175, 0,175,176], [ 21, 22, 21,151, 0, 0, 0,152,166,165, 0,165,166],
[351,245,351,351, 0, 87, 0,352,352,352, 85,353,353], [151,245,151,151, 0, 87, 0,152,152,152, 85,153,153],
[ 0,246, 0,351, 0, 0, 0,352,152,221, 0,221,353], [ 0,246, 0,151, 0, 0, 0,152,152,221, 0,221,153],
[246, 0,246,351, 0, 0, 0,111, 85, 0, 0, 0,353], [246, 0,246,151, 0, 0, 0,121, 85, 0, 0, 0,153],
[351,246,351,351, 0,353,353,353,353,353,353,353,353], [151,246,151,151, 0,153,153,153,153,153,153,153,153],
[ 0, 0, 0, 0, 0, 0, 0,174, 0, 0,173, 0, 0], [ 0, 0, 0, 0, 0, 0, 0,164, 0, 0,163, 0, 0],
[ 1, 1, 1, 1, 0, 20, 0, 0, 0,172, 0,171, 0], [ 1, 1, 1, 1, 0, 20, 0, 0, 0,162, 0,161, 0],
[ 1, 0,113, 1, 0, 20,114, 0,111, 0,112, 0,116], [ 1, 0,123, 1, 0, 20,124, 0,121, 0,122, 0,126],
[ 1, 0, 0, 1, 88, 20, 86, 0, 0, 0, 0, 0, 0] [ 1, 0, 0, 1, 88, 20, 86, 0, 0, 0, 0, 0, 0]
], ],
"firstArrive": [ // 第一次到该楼层触发的事件 "firstArrive": [ // 第一次到该楼层触发的事件

View File

@ -21,8 +21,8 @@ main.floors.sample2 =
[ 5, 4, 4, 4,247, 1,247, 1,247, 4, 4, 4, 5], [ 5, 4, 4, 4,247, 1,247, 1,247, 4, 4, 4, 5],
[ 5, 4, 4, 4, 1,247,247,247, 1, 4, 4, 4, 5], [ 5, 4, 4, 4, 1,247,247,247, 1, 4, 4, 4, 5],
[ 5, 4, 4, 4, 1,247, 30,247, 1, 4, 4, 4, 5], [ 5, 4, 4, 4, 1,247, 30,247, 1, 4, 4, 4, 5],
[ 5, 4, 4, 4,247, 1,114, 1,247, 4, 4, 4, 5], [ 5, 4, 4, 4,247, 1,124, 1,247, 4, 4, 4, 5],
[ 5, 4, 4, 4, 4, 1,113, 1, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 1,123, 1, 4, 4, 4, 4, 5],
[ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5],
[ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 1, 0, 1, 4, 4, 4, 4, 5],
[ 5, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 5], [ 5, 4, 4, 4, 4, 4, 0, 4, 4, 4, 4, 4, 5],

View File

@ -23,10 +23,10 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
// Autotile // Autotile
'20':{'cls': 'autotile', 'id': 'autotile', 'noPass': true}, // autotile '20':{'cls': 'autotile', 'id': 'autotile', 'noPass': true}, // autotile
// 更多的autotile只要不和现有的数字冲突即可 // 更多的autotile从151到160等只要不和现有的数字冲突即可
'351':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true}, '151':{'cls': 'autotile', 'id': 'autotile1', 'noPass': true},
'352':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true}, '152':{'cls': 'autotile', 'id': 'autotile2', 'noPass': true},
'353':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true}, '153':{'cls': 'autotile', 'id': 'autotile3', 'noPass': true},
////////////////////////// 物品部分 ////////////////////////// ////////////////////////// 物品部分 //////////////////////////
@ -99,54 +99,55 @@ maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
////////////////////////// NPC部分 ////////////////////////// ////////////////////////// NPC部分 //////////////////////////
// 111-150 NPC // 121-150 NPC
'111':{'cls': 'npcs', 'id': 'man'}, '121':{'cls': 'npcs', 'id': 'man'},
'112':{'cls': 'npcs', 'id': 'woman'}, '122':{'cls': 'npcs', 'id': 'woman'},
'113':{'cls': 'npcs', 'id': 'thief'}, '123':{'cls': 'npcs', 'id': 'thief'},
'114':{'cls': 'npcs', 'id': 'fairy'}, '124':{'cls': 'npcs', 'id': 'fairy'},
'115':{'cls': 'npcs', 'id': 'magician'}, '125':{'cls': 'npcs', 'id': 'magician'},
'116':{'cls': 'npcs', 'id': 'womanMagician'}, '126':{'cls': 'npcs', 'id': 'womanMagician'},
'117':{'cls': 'npcs', 'id': 'oldMan'}, '127':{'cls': 'npcs', 'id': 'oldMan'},
'118':{'cls': 'npcs', 'id': 'child'}, '128':{'cls': 'npcs', 'id': 'child'},
'119':{'cls': 'npcs', 'id': 'wood'}, '129':{'cls': 'npcs', 'id': 'wood'},
'120':{'cls': 'npcs', 'id': 'pinkShop'}, '130':{'cls': 'npcs', 'id': 'pinkShop'},
'121':{'cls': 'npcs', 'id': 'blueShop'}, '131':{'cls': 'npcs', 'id': 'blueShop'},
'122':{'cls': 'npcs', 'id': 'princess'}, '132':{'cls': 'npcs', 'id': 'princess'},
'123': {'cls': 'npcs', 'id': 'wlt'}, '133': {'cls': 'npc48', 'id': 'npc0'},
'124': {'cls': 'npcs', 'id': 'wt'}, '134': {'cls': 'npc48', 'id': 'npc1'},
'125': {'cls': 'npcs', 'id': 'wrt'}, '135': {'cls': 'npc48', 'id': 'npc2'},
'126': {'cls': 'npcs', 'id': 'wl'}, '136': {'cls': 'npc48', 'id': 'npc3'},
'127': {'cls': 'npcs', 'id': 'wc'}, '137': {'cls': 'npc48', 'id': 'npc4'},
'128': {'cls': 'npcs', 'id': 'wr'},
'129': {'cls': 'npcs', 'id': 'wlb'}, '181': {'cls': 'npcs', 'id': 'wlt'},
'130': {'cls': 'npcs', 'id': 'wrb'}, '182': {'cls': 'npcs', 'id': 'wt'},
'131': {'cls': 'npcs', 'id': 'dlt'}, '183': {'cls': 'npcs', 'id': 'wrt'},
'132': {'cls': 'npcs', 'id': 'dt'}, '184': {'cls': 'npcs', 'id': 'wl'},
'133': {'cls': 'npcs', 'id': 'drt'}, '185': {'cls': 'npcs', 'id': 'wc'},
'134': {'cls': 'npcs', 'id': 'dl'}, '186': {'cls': 'npcs', 'id': 'wr'},
'135': {'cls': 'npcs', 'id': 'dc'}, '187': {'cls': 'npcs', 'id': 'wlb'},
'136': {'cls': 'npcs', 'id': 'dr'}, '188': {'cls': 'npcs', 'id': 'wrb'},
'137': {'cls': 'npcs', 'id': 'dlb'}, '189': {'cls': 'npcs', 'id': 'dlt'},
'138': {'cls': 'npcs', 'id': 'drb'}, '190': {'cls': 'npcs', 'id': 'dt'},
'139': {'cls': 'npc48', 'id': 'npc0'}, '191': {'cls': 'npcs', 'id': 'drt'},
'140': {'cls': 'npc48', 'id': 'npc1'}, '192': {'cls': 'npcs', 'id': 'dl'},
'141': {'cls': 'npc48', 'id': 'npc2'}, '193': {'cls': 'npcs', 'id': 'dc'},
'142': {'cls': 'npc48', 'id': 'npc3'}, '194': {'cls': 'npcs', 'id': 'dr'},
'143': {'cls': 'npc48', 'id': 'npc4'}, '195': {'cls': 'npcs', 'id': 'dlb'},
'196': {'cls': 'npcs', 'id': 'drb'},
////////////////////////// 其他部分 ////////////////////////// ////////////////////////// 其他部分 //////////////////////////
// 171-200 其他(单向箭头、灯、箱子等等) // 171-200 其他(单向箭头、灯、箱子等等)
'171':{'cls': 'terrains', 'id': 'arrowUp', 'noPass': false}, // 单向上箭头 '161':{'cls': 'terrains', 'id': 'arrowUp', 'noPass': false}, // 单向上箭头
'172':{'cls': 'terrains', 'id': 'arrowDown', 'noPass': false}, // 单向下箭头 '162':{'cls': 'terrains', 'id': 'arrowDown', 'noPass': false}, // 单向下箭头
'173':{'cls': 'terrains', 'id': 'arrowLeft', 'noPass': false}, // 单向左箭头 '163':{'cls': 'terrains', 'id': 'arrowLeft', 'noPass': false}, // 单向左箭头
'174':{'cls': 'terrains', 'id': 'arrowRight', 'noPass': false}, // 单向右箭头 '164':{'cls': 'terrains', 'id': 'arrowRight', 'noPass': false}, // 单向右箭头
'175':{'cls': 'terrains', 'id': 'light', 'trigger': 'changeLight', 'noPass': false}, // 灯 '165':{'cls': 'terrains', 'id': 'light', 'trigger': 'changeLight', 'noPass': false}, // 灯
'176':{'cls': 'terrains', 'id': 'darkLight', 'noPass': true}, // 暗灯 '166':{'cls': 'terrains', 'id': 'darkLight', 'noPass': true}, // 暗灯
'177':{'cls': 'terrains', 'id': 'ski', 'trigger': 'ski', 'noPass': false}, // 滑冰 '167':{'cls': 'terrains', 'id': 'ski', 'trigger': 'ski', 'noPass': false}, // 滑冰
'178':{'cls': 'terrains', 'id': 'flower', 'noPass': false}, // 花 '168':{'cls': 'terrains', 'id': 'flower', 'noPass': false}, // 花
'179':{'cls': 'terrains', 'id': 'box', 'trigger': 'pushBox', 'noPass': true}, // 箱子 '169':{'cls': 'terrains', 'id': 'box', 'trigger': 'pushBox', 'noPass': true}, // 箱子
'180':{'cls': 'terrains', 'id': 'boxed', 'trigger': 'pushBox', 'noPass': true}, // 完成的箱子 '170':{'cls': 'terrains', 'id': 'boxed', 'trigger': 'pushBox', 'noPass': true}, // 完成的箱子
////////////////////////// 怪物部分 ////////////////////////// ////////////////////////// 怪物部分 //////////////////////////