静态战斗画面

This commit is contained in:
草莓 2025-01-30 22:24:05 +08:00
parent 8f3c9b514f
commit 25fb914841
9 changed files with 1883 additions and 2018 deletions

View File

@ -192,7 +192,9 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"mdef": {
"_leaf": true,
"_type": "textarea",
"_data": "法抗(写为小数)"
"_docs": "法抗",
"_data": "百分数如10为10%法抗,怪物受到勇士的法术伤害减免比例"
},
"speed": {
"_leaf": true,

View File

@ -269,7 +269,11 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_type": "textarea",
"_data": "法强",
},
"spelldef": {
"_leaf": true,
"_type": "textarea",
"_data": "法抗百分比",
},
"matk": {
"_leaf": true,
"_type": "textarea",

View File

@ -1107,7 +1107,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"hero": {
"image": "hero.webp",
"animate": false,
"name": "Caim",
"name": "凯伊姆",
"lv": 1,
"hpmax": 9999,
"hp": 1000,
@ -1137,7 +1137,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"followers": [],
"steps": 0,
"matk": 0,
"spell": null
"spell": 0,
"spelldef": 0
},
"startCanvas": [
{

View File

@ -1,10 +1,10 @@
var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
{
"greenSlime": {"name":"绿头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"magic":false},
"greenSlime": {"name":"绿头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"magic":false,"mdef":0},
"redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"value":10,"magic":false},
"blackSlime": {"name":"青头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"slimelord": {"name":"怪王","hp":100,"atk":120,"def":0,"money":10,"exp":0,"point":0,"special":[1,9]},
"bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":[1]},
"bat": {"name":"小蝙蝠","hp":100,"atk":120,"def":0,"money":2,"exp":0,"point":0,"special":[1],"mdef":0,"speed":10},
"bigBat": {"name":"大蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"redBat": {"name":"红蝙蝠","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]},
"vampire": {"name":"冥灵魔王","hp":888,"atk":888,"def":888,"money":888,"exp":888,"point":0,"special":[6],"n":8},

View File

@ -741,156 +741,156 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
];
},
"getEnemyInfo": function (enemy, hero, x, y, floorId) {
// 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用
// 例如:坚固、模仿、仿攻等等
//
// 参数说明:
// enemy该怪物信息
// hero_hp,hero_atk,hero_def,hero_mdef勇士的生命攻防护盾数据
// x,y该怪物的坐标查看手册和强制战斗时为undefined
// floorId该怪物所在的楼层
// 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果)
floorId = floorId || core.status.floorId;
var hero_hp = core.getRealStatusOrDefault(hero, "hp"),
hero_atk = core.getRealStatusOrDefault(hero, "atk"),
hero_def = core.getRealStatusOrDefault(hero, "def"),
hero_mdef = core.getRealStatusOrDefault(hero, "mdef"),
hero_speed = core.getRealStatusOrDefault(hero, "speed");
// 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用
// 例如:坚固、模仿、仿攻等等
//
// 参数说明:
// enemy该怪物信息
// hero_hp,hero_atk,hero_def,hero_mdef勇士的生命攻防护盾数据
// x,y该怪物的坐标查看手册和强制战斗时为undefined
// floorId该怪物所在的楼层
// 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果)
floorId = floorId || core.status.floorId;
var hero_hp = core.getRealStatusOrDefault(hero, "hp"),
hero_atk = core.getRealStatusOrDefault(hero, "atk"),
hero_def = core.getRealStatusOrDefault(hero, "def"),
hero_mdef = core.getRealStatusOrDefault(hero, "mdef"),
hero_speed = core.getRealStatusOrDefault(hero, "speed");
var mon_hp = core.getEnemyValue(enemy, "hp", x, y, floorId),
mon_atk = core.getEnemyValue(enemy, "atk", x, y, floorId),
mon_def = core.getEnemyValue(enemy, "def", x, y, floorId),
mon_mdef = core.getEnemyValue(enemy, "mdef", x, y, floorId),
mon_speed = core.getEnemyValue(enemy, "speed", x, y, floorId),
mon_special = core.getEnemyValue(enemy, "special", x, y, floorId);
var mon_money = core.getEnemyValue(enemy, "money", x, y, floorId),
mon_exp = core.getEnemyValue(enemy, "exp", x, y, floorId),
mon_point = core.getEnemyValue(enemy, "point", x, y, floorId);
var mon_barrier = 0,
mon_absorb_damage = 0,
mon_magic = core.getEnemyValue(enemy, "magic", x, y, floorId);
// 模仿
if (core.hasSpecial(mon_special, 10)) {
mon_atk = hero_atk;
mon_def = hero_def;
}
// 坚固
if (core.hasSpecial(mon_special, 3) && mon_def < hero_atk - 1) {
mon_def = hero_atk - 1;
}
var mon_hp = core.getEnemyValue(enemy, "hp", x, y, floorId),
mon_atk = core.getEnemyValue(enemy, "atk", x, y, floorId),
mon_def = core.getEnemyValue(enemy, "def", x, y, floorId),
mon_mdef = core.getEnemyValue(enemy, "mdef", x, y, floorId),
mon_speed = core.getEnemyValue(enemy, "speed", x, y, floorId),
mon_special = core.getEnemyValue(enemy, "special", x, y, floorId);
var mon_money = core.getEnemyValue(enemy, "money", x, y, floorId),
mon_exp = core.getEnemyValue(enemy, "exp", x, y, floorId),
mon_point = core.getEnemyValue(enemy, "point", x, y, floorId);
var mon_barrier = 0,
mon_absorb_damage = 0,
mon_magic = core.getEnemyValue(enemy, "magic", x, y, floorId);
// 模仿
if (core.hasSpecial(mon_special, 10)) {
mon_atk = hero_atk;
mon_def = hero_def;
}
// 坚固
if (core.hasSpecial(mon_special, 3) && mon_def < hero_atk - 1) {
mon_def = hero_atk - 1;
}
var guards = [];
var guards = [];
// 光环和支援检查
if (!core.status.checkBlock) core.status.checkBlock = {};
// 光环和支援检查
if (!core.status.checkBlock) core.status.checkBlock = {};
if (core.status.checkBlock.needCache) {
// 从V2.5.4开始,对光环效果增加缓存,以解决多次重复计算的问题,从而大幅提升运行效率。
var hp_buff = 0,
atk_buff = 0,
def_buff = 0;
// 已经计算过的光环怪ID列表用于判定叠加
var usedEnemyIds = {};
// 检查光环和支援的缓存
var index = x != null && y != null ? x + "," + y : floorId;
if (!core.status.checkBlock.cache) core.status.checkBlock.cache = {};
var cache = core.status.checkBlock.cache[index];
if (!cache) {
// 没有该点的缓存,则遍历每个图块
core.extractBlocks(floorId);
core.status.maps[floorId].blocks.forEach(function (block) {
if (!block.disable) {
// 获得该图块的ID
var id = block.event.id,
enemy = core.material.enemys[id];
// 检查【光环】技能数字25
if (enemy && core.hasSpecial(enemy.special, 25)) {
// 检查是否是范围光环
var inRange = enemy.haloRange == null;
if (enemy.haloRange != null && x != null && y != null) {
var dx = Math.abs(block.x - x),
dy = Math.abs(block.y - y);
// 检查十字和九宫格光环
if (dx + dy <= enemy.haloRange) inRange = true;
if (
enemy.haloSquare &&
dx <= enemy.haloRange &&
dy <= enemy.haloRange
)
inRange = true;
}
// 检查是否可叠加
if (inRange && (enemy.haloAdd || !usedEnemyIds[enemy.id])) {
hp_buff += enemy.hpBuff || 0;
atk_buff += enemy.atkBuff || 0;
def_buff += enemy.defBuff || 0;
usedEnemyIds[enemy.id] = true;
}
}
// 检查【支援】技能数字26
if (
enemy &&
core.hasSpecial(enemy.special, 26) &&
// 检查支援条件坐标存在距离为1且不能是自己
// 其他类型的支援怪,比如十字之类的话.... 看着做是一样的
x != null &&
y != null &&
Math.abs(block.x - x) <= 1 &&
Math.abs(block.y - y) <= 1 &&
!(x == block.x && y == block.y)
) {
// 记录怪物的x,yID
guards.push([block.x, block.y, id]);
}
if (core.status.checkBlock.needCache) {
// 从V2.5.4开始,对光环效果增加缓存,以解决多次重复计算的问题,从而大幅提升运行效率。
var hp_buff = 0,
atk_buff = 0,
def_buff = 0;
// 已经计算过的光环怪ID列表用于判定叠加
var usedEnemyIds = {};
// 检查光环和支援的缓存
var index = x != null && y != null ? x + "," + y : floorId;
if (!core.status.checkBlock.cache) core.status.checkBlock.cache = {};
var cache = core.status.checkBlock.cache[index];
if (!cache) {
// 没有该点的缓存,则遍历每个图块
core.extractBlocks(floorId);
core.status.maps[floorId].blocks.forEach(function (block) {
if (!block.disable) {
// 获得该图块的ID
var id = block.event.id,
enemy = core.material.enemys[id];
// 检查【光环】技能数字25
if (enemy && core.hasSpecial(enemy.special, 25)) {
// 检查是否是范围光环
var inRange = enemy.haloRange == null;
if (enemy.haloRange != null && x != null && y != null) {
var dx = Math.abs(block.x - x),
dy = Math.abs(block.y - y);
// 检查十字和九宫格光环
if (dx + dy <= enemy.haloRange) inRange = true;
if (
enemy.haloSquare &&
dx <= enemy.haloRange &&
dy <= enemy.haloRange
)
inRange = true;
}
// 检查是否可叠加
if (inRange && (enemy.haloAdd || !usedEnemyIds[enemy.id])) {
hp_buff += enemy.hpBuff || 0;
atk_buff += enemy.atkBuff || 0;
def_buff += enemy.defBuff || 0;
usedEnemyIds[enemy.id] = true;
}
}
// 检查【支援】技能数字26
if (
enemy &&
core.hasSpecial(enemy.special, 26) &&
// 检查支援条件坐标存在距离为1且不能是自己
// 其他类型的支援怪,比如十字之类的话.... 看着做是一样的
x != null &&
y != null &&
Math.abs(block.x - x) <= 1 &&
Math.abs(block.y - y) <= 1 &&
!(x == block.x && y == block.y)
) {
// 记录怪物的x,yID
guards.push([block.x, block.y, id]);
}
// TODO如果有其他类型光环怪物在这里仿照添加检查
// 注新增新的类光环属性需要遍历全图的需要在特殊属性定义那里的第五项写1参见光环和支援的特殊属性定义。
}
});
// TODO如果有其他类型光环怪物在这里仿照添加检查
// 注新增新的类光环属性需要遍历全图的需要在特殊属性定义那里的第五项写1参见光环和支援的特殊属性定义。
}
});
core.status.checkBlock.cache[index] = {
hp_buff: hp_buff,
atk_buff: atk_buff,
def_buff: def_buff,
guards: guards,
};
} else {
// 直接使用缓存数据
hp_buff = cache.hp_buff;
atk_buff = cache.atk_buff;
def_buff = cache.def_buff;
guards = cache.guards;
}
core.status.checkBlock.cache[index] = {
hp_buff: hp_buff,
atk_buff: atk_buff,
def_buff: def_buff,
guards: guards,
};
} else {
// 直接使用缓存数据
hp_buff = cache.hp_buff;
atk_buff = cache.atk_buff;
def_buff = cache.def_buff;
guards = cache.guards;
}
// 增加比例;如果要增加数值可以直接在这里修改
mon_hp *= 1 + hp_buff / 100;
mon_atk *= 1 + atk_buff / 100;
mon_def *= 1 + def_buff / 100;
}
// 增加比例;如果要增加数值可以直接在这里修改
mon_hp *= 1 + hp_buff / 100;
mon_atk *= 1 + atk_buff / 100;
mon_def *= 1 + def_buff / 100;
}
// TODO可以在这里新增其他的怪物数据变化
// 比如仿攻(怪物攻击不低于勇士攻击):
// if (core.hasSpecial(mon_special, 27) && mon_atk < hero_atk) {
// mon_atk = hero_atk;
// }
// 也可以按需增加各种自定义内容
// TODO可以在这里新增其他的怪物数据变化
// 比如仿攻(怪物攻击不低于勇士攻击):
// if (core.hasSpecial(mon_special, 27) && mon_atk < hero_atk) {
// mon_atk = hero_atk;
// }
// 也可以按需增加各种自定义内容
return {
hp: Math.floor(mon_hp),
atk: Math.floor(mon_atk),
def: Math.floor(mon_def),
mdef: Math.floor(mon_mdef),
speed: Math.floor(mon_speed),
barrier: Math.floor(mon_barrier),
absorb: Math.floor(mon_absorb_damage),
money: Math.floor(mon_money),
exp: Math.floor(mon_exp),
point: Math.floor(mon_point),
special: mon_special,
magic: mon_magic,
guards: guards, // 返回支援情况
};
},
return {
hp: Math.floor(mon_hp),
atk: Math.floor(mon_atk),
def: Math.floor(mon_def),
mdef: Math.floor(mon_mdef),
speed: Math.floor(mon_speed),
barrier: Math.floor(mon_barrier),
absorb: Math.floor(mon_absorb_damage),
money: Math.floor(mon_money),
exp: Math.floor(mon_exp),
point: Math.floor(mon_point),
special: mon_special,
magic: mon_magic,
guards: guards, // 返回支援情况
};
},
"getDamageInfo": function (enemy, hero, x, y, floorId) {
// 获得战斗伤害信息(实际伤害计算函数)
//
@ -1928,130 +1928,130 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
.sort(/*function (id1, id2) { return core.material.items[id1].name <= core.material.items[id2].name ? -1 : 1 }*/);
},
"drawStatusBar": function () {
// 这真的是人能写出来的东西?
var ctx,
fill = function (text, x, y, style) {
core.ui.setFont(
ctx,
(/\w+/.test(text) ? "italic " : "") + "bold 18px Verdana"
);
core.ui.fillBoldText(ctx, text, x, y, style);
};
if (core.flags.statusCanvas) {
// 系统开关「自绘状态栏」开启
core.ui.clearMap((ctx = core.dom.statusCanvasCtx)); // 清空状态栏
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
if (core.domStyle.isVertical) {
// 竖屏
core.drawImage(ctx, core.statusBar.icons.floor, 6, 6, 25, 25);
fill((core.status.thisMap || {}).name || "Loading", 42, 26);
core.drawImage(ctx, core.statusBar.icons.hp, 137, 6, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("hp")), 173, 26);
core.drawImage(ctx, core.statusBar.icons.atk, 268, 6, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("atk")), 304, 26);
core.drawImage(ctx, core.statusBar.icons.def, 6, 38, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 58);
core.drawImage(ctx, core.statusBar.icons.mdef, 137, 38, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("mdef")), 173, 58);
core.drawImage(ctx, core.statusBar.icons.money, 268, 38, 25, 25);
fill(core.formatBigNumber(core.status.hero.money), 304, 58);
core.drawImage(ctx, core.statusBar.icons.exp, 6, 70, 25, 25);
fill(core.formatBigNumber(core.status.hero.exp), 42, 90);
} else if (!core.flags.hideLeftStatusBar) {
// 横屏且未隐藏状态栏
core.drawImage(ctx, core.statusBar.icons.floor, 6, 9, 25, 25);
fill((core.status.thisMap || {}).name || "Loading", 42, 29);
core.drawImage(ctx, core.statusBar.icons.hp, 6, 43, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("hp")), 42, 63);
core.drawImage(ctx, core.statusBar.icons.atk, 6, 77, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("atk")), 42, 97);
core.drawImage(ctx, core.statusBar.icons.def, 6, 111, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 131);
core.drawImage(ctx, core.statusBar.icons.mdef, 6, 145, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("mdef")), 42, 165);
core.drawImage(ctx, core.statusBar.icons.money, 6, 179, 25, 25);
fill(core.formatBigNumber(core.status.hero.money), 42, 199);
core.drawImage(ctx, core.statusBar.icons.exp, 6, 213, 25, 25);
fill(core.formatBigNumber(core.status.hero.exp), 42, 233);
fill(
core.setTwoDigits(core.itemCount("yellowKey")),
11,
267,
"#FFCCAA"
);
fill(
core.setTwoDigits(core.itemCount("blueKey")),
46,
267,
"#AAAADD"
);
fill(core.setTwoDigits(core.itemCount("redKey")), 81, 267, "#FF8888");
}
} else if (core.flags.hideLeftStatusBar && !core.domStyle.isVertical) {
// 横屏且隐藏状态栏
if (!core.dymCanvas["status"])
core.ui.createCanvas("status", 0, 0, core._PX_, core._PY_, 66); // 刚好盖过显伤层
core.ui.clearMap((ctx = core.dymCanvas["status"]));
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
var offset =
core.status.hero.loc.x - core.bigmap.offsetX / 32 >= core._HEIGHT_
? 0
: core._PY_;
core.ui.setAlpha(ctx, 0.75);
core.ui.drawWindowSkin(
"winskin.webp",
ctx,
offset,
0,
core._PX_ - core._PY_,
core._PY_
);
core.ui.setAlpha(ctx, 1);
core.drawImage(ctx, core.statusBar.icons.floor, 6 + offset, 9, 25, 25);
fill((core.status.thisMap || {}).name || "Loading", 42 + offset, 29);
core.drawImage(ctx, core.statusBar.icons.hp, 6 + offset, 43, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("hp")), 42 + offset, 63);
core.drawImage(ctx, core.statusBar.icons.atk, 6 + offset, 77, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("atk")), 42 + offset, 97);
core.drawImage(ctx, core.statusBar.icons.def, 6 + offset, 111, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("def")), 42 + offset, 131);
core.drawImage(ctx, core.statusBar.icons.mdef, 6 + offset, 145, 25, 25);
fill(
core.formatBigNumber(core.getRealStatus("mdef")),
42 + offset,
165
);
core.drawImage(
ctx,
core.statusBar.icons.money,
6 + offset,
179,
25,
25
);
fill(core.formatBigNumber(core.status.hero.money), 42 + offset, 199);
core.drawImage(ctx, core.statusBar.icons.exp, 6 + offset, 213, 25, 25);
fill(core.formatBigNumber(core.status.hero.exp), 42 + offset, 233);
fill(
core.setTwoDigits(core.itemCount("yellowKey")),
11 + offset,
267,
"#FFCCAA"
);
fill(
core.setTwoDigits(core.itemCount("blueKey")),
46 + offset,
267,
"#AAAADD"
);
fill(
core.setTwoDigits(core.itemCount("redKey")),
81 + offset,
267,
"#FF8888"
);
}
},
// 这真的是人能写出来的东西?
var ctx,
fill = function (text, x, y, style) {
core.ui.setFont(
ctx,
(/\w+/.test(text) ? "italic " : "") + "bold 18px Verdana"
);
core.ui.fillBoldText(ctx, text, x, y, style);
};
if (core.flags.statusCanvas) {
// 系统开关「自绘状态栏」开启
core.ui.clearMap((ctx = core.dom.statusCanvasCtx)); // 清空状态栏
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
if (core.domStyle.isVertical) {
// 竖屏
core.drawImage(ctx, core.statusBar.icons.floor, 6, 6, 25, 25);
fill((core.status.thisMap || {}).name || "Loading", 42, 26);
core.drawImage(ctx, core.statusBar.icons.hp, 137, 6, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("hp")), 173, 26);
core.drawImage(ctx, core.statusBar.icons.atk, 268, 6, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("atk")), 304, 26);
core.drawImage(ctx, core.statusBar.icons.def, 6, 38, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 58);
core.drawImage(ctx, core.statusBar.icons.mdef, 137, 38, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("mdef")), 173, 58);
core.drawImage(ctx, core.statusBar.icons.money, 268, 38, 25, 25);
fill(core.formatBigNumber(core.status.hero.money), 304, 58);
core.drawImage(ctx, core.statusBar.icons.exp, 6, 70, 25, 25);
fill(core.formatBigNumber(core.status.hero.exp), 42, 90);
} else if (!core.flags.hideLeftStatusBar) {
// 横屏且未隐藏状态栏
core.drawImage(ctx, core.statusBar.icons.floor, 6, 9, 25, 25);
fill((core.status.thisMap || {}).name || "Loading", 42, 29);
core.drawImage(ctx, core.statusBar.icons.hp, 6, 43, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("hp")), 42, 63);
core.drawImage(ctx, core.statusBar.icons.atk, 6, 77, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("atk")), 42, 97);
core.drawImage(ctx, core.statusBar.icons.def, 6, 111, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 131);
core.drawImage(ctx, core.statusBar.icons.mdef, 6, 145, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("mdef")), 42, 165);
core.drawImage(ctx, core.statusBar.icons.money, 6, 179, 25, 25);
fill(core.formatBigNumber(core.status.hero.money), 42, 199);
core.drawImage(ctx, core.statusBar.icons.exp, 6, 213, 25, 25);
fill(core.formatBigNumber(core.status.hero.exp), 42, 233);
fill(
core.setTwoDigits(core.itemCount("yellowKey")),
11,
267,
"#FFCCAA"
);
fill(
core.setTwoDigits(core.itemCount("blueKey")),
46,
267,
"#AAAADD"
);
fill(core.setTwoDigits(core.itemCount("redKey")), 81, 267, "#FF8888");
}
} else if (core.flags.hideLeftStatusBar && !core.domStyle.isVertical) {
// 横屏且隐藏状态栏
if (!core.dymCanvas["status"])
core.ui.createCanvas("status", 0, 0, core._PX_, core._PY_, 66); // 刚好盖过显伤层
core.ui.clearMap((ctx = core.dymCanvas["status"]));
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
var offset =
core.status.hero.loc.x - core.bigmap.offsetX / 32 >= core._HEIGHT_ ?
0 :
core._PY_;
core.ui.setAlpha(ctx, 0.75);
core.ui.drawWindowSkin(
"winskin.webp",
ctx,
offset,
0,
core._PX_ - core._PY_,
core._PY_
);
core.ui.setAlpha(ctx, 1);
core.drawImage(ctx, core.statusBar.icons.floor, 6 + offset, 9, 25, 25);
fill((core.status.thisMap || {}).name || "Loading", 42 + offset, 29);
core.drawImage(ctx, core.statusBar.icons.hp, 6 + offset, 43, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("hp")), 42 + offset, 63);
core.drawImage(ctx, core.statusBar.icons.atk, 6 + offset, 77, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("atk")), 42 + offset, 97);
core.drawImage(ctx, core.statusBar.icons.def, 6 + offset, 111, 25, 25);
fill(core.formatBigNumber(core.getRealStatus("def")), 42 + offset, 131);
core.drawImage(ctx, core.statusBar.icons.mdef, 6 + offset, 145, 25, 25);
fill(
core.formatBigNumber(core.getRealStatus("mdef")),
42 + offset,
165
);
core.drawImage(
ctx,
core.statusBar.icons.money,
6 + offset,
179,
25,
25
);
fill(core.formatBigNumber(core.status.hero.money), 42 + offset, 199);
core.drawImage(ctx, core.statusBar.icons.exp, 6 + offset, 213, 25, 25);
fill(core.formatBigNumber(core.status.hero.exp), 42 + offset, 233);
fill(
core.setTwoDigits(core.itemCount("yellowKey")),
11 + offset,
267,
"#FFCCAA"
);
fill(
core.setTwoDigits(core.itemCount("blueKey")),
46 + offset,
267,
"#AAAADD"
);
fill(
core.setTwoDigits(core.itemCount("redKey")),
81 + offset,
267,
"#FF8888"
);
}
},
"drawStatistics": function () {
// 浏览地图时参与的统计项目

View File

@ -315,7 +315,18 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
"jumpShoes": 49,
"skill1": 30,
"wand": 10,
"pack": 46
"pack": 46,
"I366": 5,
"I367": 7,
"I368": 26,
"I369": 31,
"I370": 32,
"I371": 34,
"I372": 35,
"I373": 36,
"I374": 37,
"I375": 38,
"I396": 39
},
"autotile": {
"autotile": 0,

View File

@ -546,5 +546,60 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
"name": "钱袋",
"itemEffect": "core.status.hero.money += 500",
"itemEffectTip": ",金币+500"
},
"I366": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I367": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I368": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I369": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I370": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I371": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I372": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I373": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I374": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I375": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
},
"I396": {
"cls": "items",
"name": "新物品",
"canUseItemEffect": "true"
}
}

View File

@ -1,670 +1,317 @@
var maps_90f36752_8815_4be8_b32b_d7fad1d0542e = {
1: {
cls: "animates",
id: "yellowWall",
canBreak: true,
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: {},
},
},
2: {
cls: "animates",
id: "whiteWall",
canBreak: true,
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: {},
},
},
3: {
cls: "animates",
id: "blueWall",
canBreak: true,
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: {},
},
},
4: { cls: "animates", id: "star", name: "星空" },
5: { cls: "animates", id: "lava", name: "岩浆" },
6: {
cls: "animates",
id: "ice",
doorInfo: {
time: 160,
openSound: "破冰镐",
closeSound: "door.opus",
keys: { icePickaxe: 1 },
},
animate: 1,
},
7: { cls: "terrains", id: "blueShopLeft" },
8: { cls: "terrains", id: "blueShopRight" },
9: { cls: "terrains", id: "pinkShopLeft" },
10: { cls: "terrains", id: "pinkShopRight" },
11: {
cls: "animates",
id: "lavaNet",
canPass: true,
trigger: "null",
script:
"(function () {\n\t// 血网的伤害效果移动到 checkBlock 中处理\n\n\t// 如果要做一次性血网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();",
name: "血网",
},
12: {
cls: "animates",
id: "poisonNet",
canPass: true,
trigger: "null",
script:
"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'poison');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()",
name: "毒网",
},
13: {
cls: "animates",
id: "weakNet",
canPass: true,
trigger: "null",
script:
"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'weak');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()",
name: "衰网",
},
14: {
cls: "animates",
id: "curseNet",
canPass: true,
trigger: "null",
script:
"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'curse');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()",
name: "咒网",
},
15: { cls: "animates", id: "blueLava" },
16: { cls: "animates", id: "water" },
20: { cls: "autotile", id: "autotile" },
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: "redGem" },
28: { cls: "items", id: "blueGem" },
29: { cls: "items", id: "greenGem" },
30: { cls: "items", id: "yellowGem" },
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: "freezeBadge" },
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: "dagger" },
63: { cls: "items", id: "pack" },
64: { cls: "items", id: "amulet" },
65: { cls: "items", id: "hammer" },
68: { cls: "items", id: "lifeWand" },
69: { cls: "items", id: "jumpShoes" },
70: { cls: "items", id: "sword0" },
71: { cls: "items", id: "shield0" },
72: { cls: "items", id: "skill1" },
73: { cls: "items", id: "wand" },
81: {
cls: "animates",
id: "yellowDoor",
trigger: "openDoor",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { yellowKey: 1 },
},
name: "黄门",
},
82: {
cls: "animates",
id: "blueDoor",
trigger: "openDoor",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { blueKey: 1 },
},
name: "蓝门",
},
83: {
cls: "animates",
id: "redDoor",
trigger: "openDoor",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { redKey: 1 },
},
name: "红门",
},
84: {
cls: "animates",
id: "greenDoor",
trigger: "openDoor",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { greenKey: 1 },
},
name: "绿门",
},
85: {
cls: "animates",
id: "specialDoor",
trigger: "openDoor",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { specialKey: 1 },
},
name: "机关门",
},
86: {
cls: "animates",
id: "steelDoor",
trigger: "openDoor",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { steelKey: 1 },
},
name: "铁门",
},
87: { cls: "terrains", id: "upFloor", canPass: true },
88: { cls: "terrains", id: "downFloor", canPass: true },
89: { cls: "animates", id: "portal", canPass: true },
90: { cls: "animates", id: "starPortal", canPass: true },
91: { cls: "animates", id: "upPortal", canPass: true },
92: { cls: "animates", id: "leftPortal", canPass: true },
93: { cls: "animates", id: "downPortal", canPass: true },
94: { cls: "animates", id: "rightPortal", canPass: true },
101: { cls: "animates", id: "crystalUp" },
102: { cls: "animates", id: "crystalBottom" },
103: { cls: "animates", id: "fire" },
104: { cls: "animates", id: "switch" },
109: {
cls: "animates",
id: "magentaWall",
canBreak: true,
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: {},
},
},
121: { cls: "npcs", id: "man" },
122: { cls: "npcs", id: "trader" },
123: { cls: "npcs", id: "thief" },
124: { cls: "npcs", id: "fairy" },
125: { cls: "npcs", id: "wizard" },
126: { cls: "npcs", id: "recluse" },
127: { cls: "npcs", id: "king" },
128: { cls: "npcs", id: "youngMan" },
129: { cls: "npcs", id: "sign" },
130: { cls: "npcs", id: "expShop" },
131: { cls: "npcs", id: "moneyShop" },
132: { cls: "npcs", id: "princess" },
133: {
cls: "npc48",
id: "npc0",
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
animate: 1,
},
134: {
cls: "npc48",
id: "npc1",
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
animate: 1,
},
135: {
cls: "npc48",
id: "npc2",
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
animate: 1,
},
136: {
cls: "npc48",
id: "npc3",
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
animate: 1,
},
137: { cls: "npcs", id: "greenMan" },
138: { cls: "npcs", id: "blueTrader" },
140: { cls: "autotile", id: "autotile4" },
141: { cls: "autotile", id: "autotile8" },
142: { cls: "autotile", id: "autotile9" },
143: { cls: "autotile", id: "autotile10" },
144: { cls: "autotile", id: "autotile12" },
151: { cls: "autotile", id: "autotile1" },
152: { cls: "autotile", id: "autotile2" },
153: { cls: "autotile", id: "autotile3" },
161: {
cls: "terrains",
id: "arrowUp",
canPass: true,
cannotOut: ["left", "right", "down"],
cannotIn: ["up"],
},
162: {
cls: "terrains",
id: "arrowDown",
canPass: true,
cannotOut: ["left", "right", "up"],
cannotIn: ["down"],
},
163: {
cls: "terrains",
id: "arrowLeft",
canPass: true,
cannotOut: ["up", "down", "right"],
cannotIn: ["left"],
},
164: {
cls: "terrains",
id: "arrowRight",
canPass: true,
cannotOut: ["up", "down", "left"],
cannotIn: ["right"],
},
165: {
cls: "terrains",
id: "light",
trigger: "null",
canPass: true,
script:
"(function () {\n\tcore.setBlock(core.getNumberById('darkLight'), core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();",
},
166: { cls: "terrains", id: "darkLight" },
167: { cls: "terrains", id: "ski", trigger: "ski", canPass: true },
168: { cls: "terrains", id: "flower", canPass: true },
169: { cls: "terrains", id: "box", trigger: "pushBox" },
170: { cls: "terrains", id: "boxed", trigger: "pushBox" },
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: "skeletonWarrior" },
211: { cls: "enemys", id: "skeletonCaptain" },
212: { cls: "enemys", id: "ghostSoldier" },
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: "yellowGateKeeper" },
222: { cls: "enemys", id: "blueGateKeeper" },
223: { cls: "enemys", id: "redGateKeeper" },
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: "ironRock" },
237: { cls: "enemys", id: "skeletonPriest" },
238: { cls: "enemys", id: "skeletonKing" },
239: { cls: "enemys", id: "skeletonPresbyter" },
240: { cls: "enemys", id: "skeletonKnight" },
241: { cls: "enemys", id: "evilHero" },
242: { cls: "enemys", id: "devilWarrior" },
243: { cls: "enemys", id: "demonPriest" },
244: { cls: "enemys", id: "goldHornSlime" },
245: { cls: "enemys", id: "redKing" },
246: { cls: "enemys", id: "blueKing" },
247: { cls: "enemys", id: "magicMaster" },
248: { cls: "enemys", id: "silverSlime" },
249: { cls: "enemys", id: "blademaster" },
250: { cls: "enemys", id: "whiteHornSlime" },
251: { cls: "enemys", id: "evilPrincess" },
252: { cls: "enemys", id: "evilFairy" },
253: { cls: "enemys", id: "yellowPriest" },
254: { cls: "enemys", id: "redSwordsman" },
255: { cls: "enemys", id: "whiteSlimeman" },
256: { cls: "enemys", id: "poisonZombie" },
257: { cls: "enemys", id: "dragon" },
258: { cls: "enemys", id: "octopus" },
259: { cls: "enemys", id: "fairyEnemy" },
260: { cls: "enemys", id: "princessEnemy" },
261: { cls: "enemy48", id: "angel" },
262: { cls: "enemy48", id: "elemental" },
263: { cls: "enemy48", id: "steelGuard" },
264: { cls: "enemy48", id: "evilBat" },
265: { cls: "enemys", id: "silverSlimelord" },
266: { cls: "enemys", id: "goldSlimelord" },
267: { cls: "enemys", id: "grayRock" },
270: { cls: "enemys", id: "greenKnight" },
271: { cls: "enemys", id: "bowman" },
272: { cls: "enemys", id: "purpleBowman" },
275: { cls: "enemys", id: "watcherSlime" },
277: { cls: "enemys", id: "frostBat" },
278: { cls: "enemys", id: "devilKnight" },
279: { cls: "enemys", id: "grayPriest" },
280: { cls: "enemys", id: "greenGateKeeper" },
300: { cls: "terrains", id: "ground" },
301: {
cls: "terrains",
id: "sWallT",
name: "薄墙-上",
cannotOut: ["up"],
cannotIn: ["up"],
},
302: {
cls: "terrains",
id: "sWallL",
name: "薄墙-左",
cannotOut: ["left"],
cannotIn: ["left"],
},
303: {
cls: "terrains",
id: "sWallR",
name: "薄墙-右",
cannotOut: ["right"],
cannotIn: ["right"],
},
304: {
cls: "terrains",
id: "sWallB",
name: "薄墙-下",
cannotOut: ["down"],
cannotIn: ["down"],
},
305: { cls: "terrains", id: "grass" },
306: {
cls: "terrains",
id: "sWallTL",
name: "薄墙-上左",
cannotOut: ["up", "left"],
cannotIn: ["up", "left"],
},
307: {
cls: "terrains",
id: "sWallBR",
name: "薄墙-下右",
cannotOut: ["down", "right"],
cannotIn: ["down", "right"],
},
308: { cls: "terrains", id: "grass2" },
309: {
cls: "terrains",
id: "sWallTR",
name: "薄墙-上右",
cannotOut: ["up", "right"],
cannotIn: ["up", "right"],
},
310: {
cls: "terrains",
id: "sWallBL",
name: "薄墙-下左",
cannotOut: ["down", "left"],
cannotIn: ["down", "left"],
},
311: { cls: "terrains", id: "ground2" },
312: {
cls: "terrains",
id: "sWallTB",
name: "薄墙-上下",
cannotOut: ["up", "down"],
cannotIn: ["up", "down"],
},
313: { cls: "terrains", id: "ground3" },
314: {
cls: "terrains",
id: "sWallLR",
name: "薄墙-左右",
cannotOut: ["left", "right"],
cannotIn: ["left", "right"],
},
315: {
cls: "terrains",
id: "sWallBLR",
name: "薄墙-下左右",
cannotOut: ["down", "left", "right"],
cannotIn: ["down", "left", "right"],
},
316: {
cls: "terrains",
id: "sWallTLR",
name: "薄墙-上左右",
cannotOut: ["up", "left", "right"],
cannotIn: ["up", "left", "right"],
},
317: {
cls: "terrains",
id: "sWallTBR",
name: "薄墙-上下右",
cannotOut: ["up", "down", "right"],
cannotIn: ["up", "down", "right"],
},
318: {
cls: "terrains",
id: "sWallTBL",
name: "薄墙-上下左",
cannotOut: ["up", "down", "left"],
cannotIn: ["up", "down", "left"],
},
319: {
cls: "npc48",
id: "tallYellowDoor",
trigger: "openDoor",
name: "高黄门",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { yellowKey: 1 },
},
},
320: {
cls: "npc48",
id: "tallBlueDoor",
trigger: "openDoor",
name: "高蓝门",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { blueKey: 1 },
},
},
321: {
cls: "npc48",
id: "tallRedDoor",
trigger: "openDoor",
name: "高红门",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { redKey: 1 },
},
},
322: {
cls: "npc48",
id: "tallGreenDoor",
trigger: "openDoor",
name: "高绿门",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { greenKey: 1 },
},
},
323: {
cls: "npc48",
id: "tallSpecialDoor",
trigger: "openDoor",
name: "高机关门",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { specialKey: 1 },
},
},
324: {
cls: "npc48",
id: "tallSteelDoor",
trigger: "openDoor",
name: "高铁门",
animate: 1,
doorInfo: {
time: 160,
openSound: "door.opus",
closeSound: "door.opus",
keys: { steelKey: 1 },
},
},
325: { cls: "enemys", id: "keiskeiFairy" },
326: { cls: "enemys", id: "tulipFairy" },
327: { cls: "enemy48", id: "bearDown" },
328: { cls: "enemy48", id: "bearLeft" },
329: { cls: "enemy48", id: "bearRight" },
330: { cls: "enemy48", id: "bearUp" },
331: { cls: "terrains", id: "T331" },
332: { cls: "terrains", id: "T332" },
333: { cls: "terrains", id: "T333" },
334: { cls: "terrains", id: "T334" },
335: { cls: "terrains", id: "T335" },
336: { cls: "terrains", id: "T336" },
337: { cls: "terrains", id: "T337" },
338: { cls: "terrains", id: "T338" },
339: { cls: "terrains", id: "T339" },
340: { cls: "terrains", id: "T340" },
341: { cls: "terrains", id: "T341" },
342: { cls: "terrains", id: "T342" },
343: { cls: "terrains", id: "T343" },
344: { cls: "terrains", id: "T344" },
345: { cls: "terrains", id: "T345", canPass: true },
346: { cls: "terrains", id: "T346" },
347: { cls: "terrains", id: "T347" },
348: { cls: "terrains", id: "T348" },
349: { cls: "terrains", id: "T349" },
350: { cls: "terrains", id: "T350" },
351: { cls: "terrains", id: "T351" },
352: { cls: "terrains", id: "T352" },
353: { cls: "terrains", id: "T353" },
354: { cls: "terrains", id: "T354" },
355: { cls: "terrains", id: "T355" },
356: { cls: "terrains", id: "T356" },
357: { cls: "terrains", id: "T357" },
358: { cls: "terrains", id: "T358" },
359: { cls: "terrains", id: "T359" },
360: { cls: "terrains", id: "T360" },
361: { cls: "terrains", id: "T361" },
362: { cls: "terrains", id: "T362" },
363: { cls: "terrains", id: "T363" },
364: { cls: "terrains", id: "T364" },
365: { cls: "terrains", id: "T365" },
376: { cls: "terrains", id: "T376" },
377: { cls: "terrains", id: "T377" },
378: { cls: "terrains", id: "T378" },
379: { cls: "terrains", id: "T379" },
380: { cls: "terrains", id: "T380" },
381: { cls: "terrains", id: "T381" },
382: { cls: "terrains", id: "T382" },
383: { cls: "terrains", id: "T383" },
384: { cls: "terrains", id: "T384" },
385: { cls: "terrains", id: "T385" },
386: { cls: "terrains", id: "T386" },
387: { cls: "terrains", id: "T387" },
388: { cls: "terrains", id: "T388" },
389: { cls: "terrains", id: "T389" },
390: { cls: "terrains", id: "T390" },
391: { cls: "terrains", id: "T391" },
392: { cls: "terrains", id: "T392" },
393: { cls: "terrains", id: "T393" },
394: { cls: "terrains", id: "T394" },
395: { cls: "terrains", id: "T395" },
20034: { cls: "tileset", id: "X20034", canPass: true },
20154: { cls: "tileset", id: "X20154", canPass: true },
20216: { cls: "tileset", id: "X20216", canPass: true },
20217: { cls: "tileset", id: "X20217", canPass: true },
40054: { cls: "tileset", id: "X40054", canPass: false },
40090: { cls: "tileset", id: "X40090", canPass: true },
50054: { cls: "tileset", id: "X50054", canPass: false },
70505: { cls: "tileset", id: "X70505", canPass: true },
71182: { cls: "tileset", id: "X71182", canPass: false },
71183: { cls: "tileset", id: "X71183", canPass: false },
71229: { cls: "tileset", id: "X71229", canPass: true },
71818: { cls: "tileset", id: "X71818", canPass: true },
71887: { cls: "tileset", id: "X71887", canPass: true },
80003: { cls: "tileset", id: "X80003", canPass: true },
80007: { cls: "tileset", id: "X80007", canPass: true },
80010: { cls: "tileset", id: "X80010", canPass: true },
80011: { cls: "tileset", id: "X80011", canPass: true },
80020: { cls: "tileset", id: "X80020", canPass: true },
90226: { cls: "tileset", id: "X90226", canPass: false },
};
var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
{
"1": {"cls":"animates","id":"yellowWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
"2": {"cls":"animates","id":"whiteWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
"3": {"cls":"animates","id":"blueWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
"4": {"cls":"animates","id":"star","name":"星空"},
"5": {"cls":"animates","id":"lava","name":"岩浆"},
"6": {"cls":"animates","id":"ice","doorInfo":{"time":160,"openSound":"破冰镐","closeSound":"door.opus","keys":{"icePickaxe":1}},"animate":1},
"7": {"cls":"terrains","id":"blueShopLeft"},
"8": {"cls":"terrains","id":"blueShopRight"},
"9": {"cls":"terrains","id":"pinkShopLeft"},
"10": {"cls":"terrains","id":"pinkShopRight"},
"11": {"cls":"animates","id":"lavaNet","canPass":true,"trigger":"null","script":"(function () {\n\t// 血网的伤害效果移动到 checkBlock 中处理\n\n\t// 如果要做一次性血网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();","name":"血网"},
"12": {"cls":"animates","id":"poisonNet","canPass":true,"trigger":"null","script":"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'poison');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性毒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"毒网"},
"13": {"cls":"animates","id":"weakNet","canPass":true,"trigger":"null","script":"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'weak');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性衰网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"衰网"},
"14": {"cls":"animates","id":"curseNet","canPass":true,"trigger":"null","script":"(function () {\n\tif (!core.hasItem('amulet')) {\n\t\tcore.triggerDebuff('get', 'curse');\n\t\tcore.updateStatusBar();\n\t}\n\n\t// 如果要做一次性咒网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})()","name":"咒网"},
"15": {"cls":"animates","id":"blueLava"},
"16": {"cls":"animates","id":"water"},
"20": {"cls":"autotile","id":"autotile"},
"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":"redGem"},
"28": {"cls":"items","id":"blueGem"},
"29": {"cls":"items","id":"greenGem"},
"30": {"cls":"items","id":"yellowGem"},
"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":"freezeBadge"},
"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":"dagger"},
"63": {"cls":"items","id":"pack"},
"64": {"cls":"items","id":"amulet"},
"65": {"cls":"items","id":"hammer"},
"68": {"cls":"items","id":"lifeWand"},
"69": {"cls":"items","id":"jumpShoes"},
"70": {"cls":"items","id":"sword0"},
"71": {"cls":"items","id":"shield0"},
"72": {"cls":"items","id":"skill1"},
"73": {"cls":"items","id":"wand"},
"81": {"cls":"animates","id":"yellowDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"yellowKey":1}},"name":"黄门"},
"82": {"cls":"animates","id":"blueDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"blueKey":1}},"name":"蓝门"},
"83": {"cls":"animates","id":"redDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"redKey":1}},"name":"红门"},
"84": {"cls":"animates","id":"greenDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"greenKey":1}},"name":"绿门"},
"85": {"cls":"animates","id":"specialDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"specialKey":1}},"name":"机关门"},
"86": {"cls":"animates","id":"steelDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"steelKey":1}},"name":"铁门"},
"87": {"cls":"terrains","id":"upFloor","canPass":true},
"88": {"cls":"terrains","id":"downFloor","canPass":true},
"89": {"cls":"animates","id":"portal","canPass":true},
"90": {"cls":"animates","id":"starPortal","canPass":true},
"91": {"cls":"animates","id":"upPortal","canPass":true},
"92": {"cls":"animates","id":"leftPortal","canPass":true},
"93": {"cls":"animates","id":"downPortal","canPass":true},
"94": {"cls":"animates","id":"rightPortal","canPass":true},
"101": {"cls":"animates","id":"crystalUp"},
"102": {"cls":"animates","id":"crystalBottom"},
"103": {"cls":"animates","id":"fire"},
"104": {"cls":"animates","id":"switch"},
"109": {"cls":"animates","id":"magentaWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
"121": {"cls":"npcs","id":"man"},
"122": {"cls":"npcs","id":"trader"},
"123": {"cls":"npcs","id":"thief"},
"124": {"cls":"npcs","id":"fairy"},
"125": {"cls":"npcs","id":"wizard"},
"126": {"cls":"npcs","id":"recluse"},
"127": {"cls":"npcs","id":"king"},
"128": {"cls":"npcs","id":"youngMan"},
"129": {"cls":"npcs","id":"sign"},
"130": {"cls":"npcs","id":"expShop"},
"131": {"cls":"npcs","id":"moneyShop"},
"132": {"cls":"npcs","id":"princess"},
"133": {"cls":"npc48","id":"npc0","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
"134": {"cls":"npc48","id":"npc1","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
"135": {"cls":"npc48","id":"npc2","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
"136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
"137": {"cls":"npcs","id":"greenMan"},
"138": {"cls":"npcs","id":"blueTrader"},
"140": {"cls":"autotile","id":"autotile4"},
"141": {"cls":"autotile","id":"autotile8"},
"142": {"cls":"autotile","id":"autotile9"},
"143": {"cls":"autotile","id":"autotile10"},
"144": {"cls":"autotile","id":"autotile12"},
"151": {"cls":"autotile","id":"autotile1"},
"152": {"cls":"autotile","id":"autotile2"},
"153": {"cls":"autotile","id":"autotile3"},
"161": {"cls":"terrains","id":"arrowUp","canPass":true,"cannotOut":["left","right","down"],"cannotIn":["up"]},
"162": {"cls":"terrains","id":"arrowDown","canPass":true,"cannotOut":["left","right","up"],"cannotIn":["down"]},
"163": {"cls":"terrains","id":"arrowLeft","canPass":true,"cannotOut":["up","down","right"],"cannotIn":["left"]},
"164": {"cls":"terrains","id":"arrowRight","canPass":true,"cannotOut":["up","down","left"],"cannotIn":["right"]},
"165": {"cls":"terrains","id":"light","trigger":"null","canPass":true,"script":"(function () {\n\tcore.setBlock(core.getNumberById('darkLight'), core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();"},
"166": {"cls":"terrains","id":"darkLight"},
"167": {"cls":"terrains","id":"ski","trigger":"ski","canPass":true},
"168": {"cls":"terrains","id":"flower","canPass":true},
"169": {"cls":"terrains","id":"box","trigger":"pushBox"},
"170": {"cls":"terrains","id":"boxed","trigger":"pushBox"},
"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":"skeletonWarrior"},
"211": {"cls":"enemys","id":"skeletonCaptain"},
"212": {"cls":"enemys","id":"ghostSoldier"},
"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":"yellowGateKeeper"},
"222": {"cls":"enemys","id":"blueGateKeeper"},
"223": {"cls":"enemys","id":"redGateKeeper"},
"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":"ironRock"},
"237": {"cls":"enemys","id":"skeletonPriest"},
"238": {"cls":"enemys","id":"skeletonKing"},
"239": {"cls":"enemys","id":"skeletonPresbyter"},
"240": {"cls":"enemys","id":"skeletonKnight"},
"241": {"cls":"enemys","id":"evilHero"},
"242": {"cls":"enemys","id":"devilWarrior"},
"243": {"cls":"enemys","id":"demonPriest"},
"244": {"cls":"enemys","id":"goldHornSlime"},
"245": {"cls":"enemys","id":"redKing"},
"246": {"cls":"enemys","id":"blueKing"},
"247": {"cls":"enemys","id":"magicMaster"},
"248": {"cls":"enemys","id":"silverSlime"},
"249": {"cls":"enemys","id":"blademaster"},
"250": {"cls":"enemys","id":"whiteHornSlime"},
"251": {"cls":"enemys","id":"evilPrincess"},
"252": {"cls":"enemys","id":"evilFairy"},
"253": {"cls":"enemys","id":"yellowPriest"},
"254": {"cls":"enemys","id":"redSwordsman"},
"255": {"cls":"enemys","id":"whiteSlimeman"},
"256": {"cls":"enemys","id":"poisonZombie"},
"257": {"cls":"enemys","id":"dragon"},
"258": {"cls":"enemys","id":"octopus"},
"259": {"cls":"enemys","id":"fairyEnemy"},
"260": {"cls":"enemys","id":"princessEnemy"},
"261": {"cls":"enemy48","id":"angel"},
"262": {"cls":"enemy48","id":"elemental"},
"263": {"cls":"enemy48","id":"steelGuard"},
"264": {"cls":"enemy48","id":"evilBat"},
"265": {"cls":"enemys","id":"silverSlimelord"},
"266": {"cls":"enemys","id":"goldSlimelord"},
"267": {"cls":"enemys","id":"grayRock"},
"270": {"cls":"enemys","id":"greenKnight"},
"271": {"cls":"enemys","id":"bowman"},
"272": {"cls":"enemys","id":"purpleBowman"},
"275": {"cls":"enemys","id":"watcherSlime"},
"277": {"cls":"enemys","id":"frostBat"},
"278": {"cls":"enemys","id":"devilKnight"},
"279": {"cls":"enemys","id":"grayPriest"},
"280": {"cls":"enemys","id":"greenGateKeeper"},
"300": {"cls":"terrains","id":"ground"},
"301": {"cls":"terrains","id":"sWallT","name":"薄墙-上","cannotOut":["up"],"cannotIn":["up"]},
"302": {"cls":"terrains","id":"sWallL","name":"薄墙-左","cannotOut":["left"],"cannotIn":["left"]},
"303": {"cls":"terrains","id":"sWallR","name":"薄墙-右","cannotOut":["right"],"cannotIn":["right"]},
"304": {"cls":"terrains","id":"sWallB","name":"薄墙-下","cannotOut":["down"],"cannotIn":["down"]},
"305": {"cls":"terrains","id":"grass"},
"306": {"cls":"terrains","id":"sWallTL","name":"薄墙-上左","cannotOut":["up","left"],"cannotIn":["up","left"]},
"307": {"cls":"terrains","id":"sWallBR","name":"薄墙-下右","cannotOut":["down","right"],"cannotIn":["down","right"]},
"308": {"cls":"terrains","id":"grass2"},
"309": {"cls":"terrains","id":"sWallTR","name":"薄墙-上右","cannotOut":["up","right"],"cannotIn":["up","right"]},
"310": {"cls":"terrains","id":"sWallBL","name":"薄墙-下左","cannotOut":["down","left"],"cannotIn":["down","left"]},
"311": {"cls":"terrains","id":"ground2"},
"312": {"cls":"terrains","id":"sWallTB","name":"薄墙-上下","cannotOut":["up","down"],"cannotIn":["up","down"]},
"313": {"cls":"terrains","id":"ground3"},
"314": {"cls":"terrains","id":"sWallLR","name":"薄墙-左右","cannotOut":["left","right"],"cannotIn":["left","right"]},
"315": {"cls":"terrains","id":"sWallBLR","name":"薄墙-下左右","cannotOut":["down","left","right"],"cannotIn":["down","left","right"]},
"316": {"cls":"terrains","id":"sWallTLR","name":"薄墙-上左右","cannotOut":["up","left","right"],"cannotIn":["up","left","right"]},
"317": {"cls":"terrains","id":"sWallTBR","name":"薄墙-上下右","cannotOut":["up","down","right"],"cannotIn":["up","down","right"]},
"318": {"cls":"terrains","id":"sWallTBL","name":"薄墙-上下左","cannotOut":["up","down","left"],"cannotIn":["up","down","left"]},
"319": {"cls":"npc48","id":"tallYellowDoor","trigger":"openDoor","name":"高黄门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"yellowKey":1}}},
"320": {"cls":"npc48","id":"tallBlueDoor","trigger":"openDoor","name":"高蓝门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"blueKey":1}}},
"321": {"cls":"npc48","id":"tallRedDoor","trigger":"openDoor","name":"高红门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"redKey":1}}},
"322": {"cls":"npc48","id":"tallGreenDoor","trigger":"openDoor","name":"高绿门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"greenKey":1}}},
"323": {"cls":"npc48","id":"tallSpecialDoor","trigger":"openDoor","name":"高机关门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"specialKey":1}}},
"324": {"cls":"npc48","id":"tallSteelDoor","trigger":"openDoor","name":"高铁门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"steelKey":1}}},
"325": {"cls":"enemys","id":"keiskeiFairy"},
"326": {"cls":"enemys","id":"tulipFairy"},
"327": {"cls":"enemy48","id":"bearDown"},
"328": {"cls":"enemy48","id":"bearLeft"},
"329": {"cls":"enemy48","id":"bearRight"},
"330": {"cls":"enemy48","id":"bearUp"},
"331": {"cls":"terrains","id":"T331"},
"332": {"cls":"terrains","id":"T332"},
"333": {"cls":"terrains","id":"T333"},
"334": {"cls":"terrains","id":"T334"},
"335": {"cls":"terrains","id":"T335"},
"336": {"cls":"terrains","id":"T336"},
"337": {"cls":"terrains","id":"T337"},
"338": {"cls":"terrains","id":"T338"},
"339": {"cls":"terrains","id":"T339"},
"340": {"cls":"terrains","id":"T340"},
"341": {"cls":"terrains","id":"T341"},
"342": {"cls":"terrains","id":"T342"},
"343": {"cls":"terrains","id":"T343"},
"344": {"cls":"terrains","id":"T344"},
"345": {"cls":"terrains","id":"T345","canPass":true},
"346": {"cls":"terrains","id":"T346"},
"347": {"cls":"terrains","id":"T347"},
"348": {"cls":"terrains","id":"T348"},
"349": {"cls":"terrains","id":"T349"},
"350": {"cls":"terrains","id":"T350"},
"351": {"cls":"terrains","id":"T351"},
"352": {"cls":"terrains","id":"T352"},
"353": {"cls":"terrains","id":"T353"},
"354": {"cls":"terrains","id":"T354"},
"355": {"cls":"terrains","id":"T355"},
"356": {"cls":"terrains","id":"T356"},
"357": {"cls":"terrains","id":"T357"},
"358": {"cls":"terrains","id":"T358"},
"359": {"cls":"terrains","id":"T359"},
"360": {"cls":"terrains","id":"T360"},
"361": {"cls":"terrains","id":"T361"},
"362": {"cls":"terrains","id":"T362"},
"363": {"cls":"terrains","id":"T363"},
"364": {"cls":"terrains","id":"T364"},
"365": {"cls":"terrains","id":"T365"},
"366": {"cls":"items","id":"I366"},
"367": {"cls":"items","id":"I367"},
"368": {"cls":"items","id":"I368"},
"369": {"cls":"items","id":"I369"},
"370": {"cls":"items","id":"I370"},
"371": {"cls":"items","id":"I371"},
"372": {"cls":"items","id":"I372"},
"373": {"cls":"items","id":"I373"},
"374": {"cls":"items","id":"I374"},
"375": {"cls":"items","id":"I375"},
"376": {"cls":"terrains","id":"T376"},
"377": {"cls":"terrains","id":"T377"},
"378": {"cls":"terrains","id":"T378"},
"379": {"cls":"terrains","id":"T379"},
"380": {"cls":"terrains","id":"T380"},
"381": {"cls":"terrains","id":"T381"},
"382": {"cls":"terrains","id":"T382"},
"383": {"cls":"terrains","id":"T383"},
"384": {"cls":"terrains","id":"T384"},
"385": {"cls":"terrains","id":"T385"},
"386": {"cls":"terrains","id":"T386"},
"387": {"cls":"terrains","id":"T387"},
"388": {"cls":"terrains","id":"T388"},
"389": {"cls":"terrains","id":"T389"},
"390": {"cls":"terrains","id":"T390"},
"391": {"cls":"terrains","id":"T391"},
"392": {"cls":"terrains","id":"T392"},
"393": {"cls":"terrains","id":"T393"},
"394": {"cls":"terrains","id":"T394"},
"395": {"cls":"terrains","id":"T395"},
"396": {"cls":"items","id":"I396"},
"20034": {"cls":"tileset","id":"X20034","canPass":true},
"20154": {"cls":"tileset","id":"X20154","canPass":true},
"20216": {"cls":"tileset","id":"X20216","canPass":true},
"20217": {"cls":"tileset","id":"X20217","canPass":true},
"40054": {"cls":"tileset","id":"X40054","canPass":false},
"40090": {"cls":"tileset","id":"X40090","canPass":true},
"50054": {"cls":"tileset","id":"X50054","canPass":false},
"70505": {"cls":"tileset","id":"X70505","canPass":true},
"71182": {"cls":"tileset","id":"X71182","canPass":false},
"71183": {"cls":"tileset","id":"X71183","canPass":false},
"71229": {"cls":"tileset","id":"X71229","canPass":true},
"71818": {"cls":"tileset","id":"X71818","canPass":true},
"71887": {"cls":"tileset","id":"X71887","canPass":true},
"80003": {"cls":"tileset","id":"X80003","canPass":true},
"80007": {"cls":"tileset","id":"X80007","canPass":true},
"80010": {"cls":"tileset","id":"X80010","canPass":true},
"80011": {"cls":"tileset","id":"X80011","canPass":true},
"80020": {"cls":"tileset","id":"X80020","canPass":true},
"90226": {"cls":"tileset","id":"X90226","canPass":false}
}

File diff suppressed because it is too large Load Diff