静态战斗画面
This commit is contained in:
parent
8f3c9b514f
commit
25fb914841
@ -192,7 +192,9 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
||||
"mdef": {
|
||||
"_leaf": true,
|
||||
"_type": "textarea",
|
||||
"_data": "法抗(写为小数)"
|
||||
"_docs": "法抗",
|
||||
"_data": "百分数,如10为10%法抗,怪物受到勇士的法术伤害减免比例"
|
||||
|
||||
},
|
||||
"speed": {
|
||||
"_leaf": true,
|
||||
|
@ -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",
|
||||
|
@ -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": [
|
||||
{
|
||||
|
@ -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},
|
||||
|
@ -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,y,ID
|
||||
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,y,ID
|
||||
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 () {
|
||||
// 浏览地图时参与的统计项目
|
||||
|
||||
|
@ -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,
|
||||
|
@ -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"
|
||||
}
|
||||
}
|
987
project/maps.js
987
project/maps.js
@ -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}
|
||||
}
|
2297
project/plugins.js
2297
project/plugins.js
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user