静态战斗画面
This commit is contained in:
parent
8f3c9b514f
commit
25fb914841
@ -192,7 +192,9 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
|||||||
"mdef": {
|
"mdef": {
|
||||||
"_leaf": true,
|
"_leaf": true,
|
||||||
"_type": "textarea",
|
"_type": "textarea",
|
||||||
"_data": "法抗(写为小数)"
|
"_docs": "法抗",
|
||||||
|
"_data": "百分数,如10为10%法抗,怪物受到勇士的法术伤害减免比例"
|
||||||
|
|
||||||
},
|
},
|
||||||
"speed": {
|
"speed": {
|
||||||
"_leaf": true,
|
"_leaf": true,
|
||||||
|
@ -269,7 +269,11 @@ var data_comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
|
|||||||
"_type": "textarea",
|
"_type": "textarea",
|
||||||
"_data": "法强",
|
"_data": "法强",
|
||||||
},
|
},
|
||||||
|
"spelldef": {
|
||||||
|
"_leaf": true,
|
||||||
|
"_type": "textarea",
|
||||||
|
"_data": "法抗百分比",
|
||||||
|
},
|
||||||
"matk": {
|
"matk": {
|
||||||
"_leaf": true,
|
"_leaf": true,
|
||||||
"_type": "textarea",
|
"_type": "textarea",
|
||||||
|
@ -1107,7 +1107,7 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
|||||||
"hero": {
|
"hero": {
|
||||||
"image": "hero.webp",
|
"image": "hero.webp",
|
||||||
"animate": false,
|
"animate": false,
|
||||||
"name": "Caim",
|
"name": "凯伊姆",
|
||||||
"lv": 1,
|
"lv": 1,
|
||||||
"hpmax": 9999,
|
"hpmax": 9999,
|
||||||
"hp": 1000,
|
"hp": 1000,
|
||||||
@ -1137,7 +1137,8 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
|
|||||||
"followers": [],
|
"followers": [],
|
||||||
"steps": 0,
|
"steps": 0,
|
||||||
"matk": 0,
|
"matk": 0,
|
||||||
"spell": null
|
"spell": 0,
|
||||||
|
"spelldef": 0
|
||||||
},
|
},
|
||||||
"startCanvas": [
|
"startCanvas": [
|
||||||
{
|
{
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
|
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},
|
"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},
|
"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]},
|
"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},
|
"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":[]},
|
"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},
|
"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) {
|
"getEnemyInfo": function (enemy, hero, x, y, floorId) {
|
||||||
// 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用
|
// 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用
|
||||||
// 例如:坚固、模仿、仿攻等等
|
// 例如:坚固、模仿、仿攻等等
|
||||||
//
|
//
|
||||||
// 参数说明:
|
// 参数说明:
|
||||||
// enemy:该怪物信息
|
// enemy:该怪物信息
|
||||||
// hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防护盾数据
|
// hero_hp,hero_atk,hero_def,hero_mdef:勇士的生命攻防护盾数据
|
||||||
// x,y:该怪物的坐标(查看手册和强制战斗时为undefined)
|
// x,y:该怪物的坐标(查看手册和强制战斗时为undefined)
|
||||||
// floorId:该怪物所在的楼层
|
// floorId:该怪物所在的楼层
|
||||||
// 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果)
|
// 后面三个参数主要是可以在光环等效果上可以适用(也可以按需制作部分范围光环效果)
|
||||||
floorId = floorId || core.status.floorId;
|
floorId = floorId || core.status.floorId;
|
||||||
var hero_hp = core.getRealStatusOrDefault(hero, "hp"),
|
var hero_hp = core.getRealStatusOrDefault(hero, "hp"),
|
||||||
hero_atk = core.getRealStatusOrDefault(hero, "atk"),
|
hero_atk = core.getRealStatusOrDefault(hero, "atk"),
|
||||||
hero_def = core.getRealStatusOrDefault(hero, "def"),
|
hero_def = core.getRealStatusOrDefault(hero, "def"),
|
||||||
hero_mdef = core.getRealStatusOrDefault(hero, "mdef"),
|
hero_mdef = core.getRealStatusOrDefault(hero, "mdef"),
|
||||||
hero_speed = core.getRealStatusOrDefault(hero, "speed");
|
hero_speed = core.getRealStatusOrDefault(hero, "speed");
|
||||||
|
|
||||||
var mon_hp = core.getEnemyValue(enemy, "hp", x, y, floorId),
|
var mon_hp = core.getEnemyValue(enemy, "hp", x, y, floorId),
|
||||||
mon_atk = core.getEnemyValue(enemy, "atk", x, y, floorId),
|
mon_atk = core.getEnemyValue(enemy, "atk", x, y, floorId),
|
||||||
mon_def = core.getEnemyValue(enemy, "def", x, y, floorId),
|
mon_def = core.getEnemyValue(enemy, "def", x, y, floorId),
|
||||||
mon_mdef = core.getEnemyValue(enemy, "mdef", x, y, floorId),
|
mon_mdef = core.getEnemyValue(enemy, "mdef", x, y, floorId),
|
||||||
mon_speed = core.getEnemyValue(enemy, "speed", x, y, floorId),
|
mon_speed = core.getEnemyValue(enemy, "speed", x, y, floorId),
|
||||||
mon_special = core.getEnemyValue(enemy, "special", x, y, floorId);
|
mon_special = core.getEnemyValue(enemy, "special", x, y, floorId);
|
||||||
var mon_money = core.getEnemyValue(enemy, "money", x, y, floorId),
|
var mon_money = core.getEnemyValue(enemy, "money", x, y, floorId),
|
||||||
mon_exp = core.getEnemyValue(enemy, "exp", x, y, floorId),
|
mon_exp = core.getEnemyValue(enemy, "exp", x, y, floorId),
|
||||||
mon_point = core.getEnemyValue(enemy, "point", x, y, floorId);
|
mon_point = core.getEnemyValue(enemy, "point", x, y, floorId);
|
||||||
var mon_barrier = 0,
|
var mon_barrier = 0,
|
||||||
mon_absorb_damage = 0,
|
mon_absorb_damage = 0,
|
||||||
mon_magic = core.getEnemyValue(enemy, "magic", x, y, floorId);
|
mon_magic = core.getEnemyValue(enemy, "magic", x, y, floorId);
|
||||||
// 模仿
|
// 模仿
|
||||||
if (core.hasSpecial(mon_special, 10)) {
|
if (core.hasSpecial(mon_special, 10)) {
|
||||||
mon_atk = hero_atk;
|
mon_atk = hero_atk;
|
||||||
mon_def = hero_def;
|
mon_def = hero_def;
|
||||||
}
|
}
|
||||||
// 坚固
|
// 坚固
|
||||||
if (core.hasSpecial(mon_special, 3) && mon_def < hero_atk - 1) {
|
if (core.hasSpecial(mon_special, 3) && mon_def < hero_atk - 1) {
|
||||||
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) {
|
if (core.status.checkBlock.needCache) {
|
||||||
// 从V2.5.4开始,对光环效果增加缓存,以解决多次重复计算的问题,从而大幅提升运行效率。
|
// 从V2.5.4开始,对光环效果增加缓存,以解决多次重复计算的问题,从而大幅提升运行效率。
|
||||||
var hp_buff = 0,
|
var hp_buff = 0,
|
||||||
atk_buff = 0,
|
atk_buff = 0,
|
||||||
def_buff = 0;
|
def_buff = 0;
|
||||||
// 已经计算过的光环怪ID列表,用于判定叠加
|
// 已经计算过的光环怪ID列表,用于判定叠加
|
||||||
var usedEnemyIds = {};
|
var usedEnemyIds = {};
|
||||||
// 检查光环和支援的缓存
|
// 检查光环和支援的缓存
|
||||||
var index = x != null && y != null ? x + "," + y : floorId;
|
var index = x != null && y != null ? x + "," + y : floorId;
|
||||||
if (!core.status.checkBlock.cache) core.status.checkBlock.cache = {};
|
if (!core.status.checkBlock.cache) core.status.checkBlock.cache = {};
|
||||||
var cache = core.status.checkBlock.cache[index];
|
var cache = core.status.checkBlock.cache[index];
|
||||||
if (!cache) {
|
if (!cache) {
|
||||||
// 没有该点的缓存,则遍历每个图块
|
// 没有该点的缓存,则遍历每个图块
|
||||||
core.extractBlocks(floorId);
|
core.extractBlocks(floorId);
|
||||||
core.status.maps[floorId].blocks.forEach(function (block) {
|
core.status.maps[floorId].blocks.forEach(function (block) {
|
||||||
if (!block.disable) {
|
if (!block.disable) {
|
||||||
// 获得该图块的ID
|
// 获得该图块的ID
|
||||||
var id = block.event.id,
|
var id = block.event.id,
|
||||||
enemy = core.material.enemys[id];
|
enemy = core.material.enemys[id];
|
||||||
// 检查【光环】技能,数字25
|
// 检查【光环】技能,数字25
|
||||||
if (enemy && core.hasSpecial(enemy.special, 25)) {
|
if (enemy && core.hasSpecial(enemy.special, 25)) {
|
||||||
// 检查是否是范围光环
|
// 检查是否是范围光环
|
||||||
var inRange = enemy.haloRange == null;
|
var inRange = enemy.haloRange == null;
|
||||||
if (enemy.haloRange != null && x != null && y != null) {
|
if (enemy.haloRange != null && x != null && y != null) {
|
||||||
var dx = Math.abs(block.x - x),
|
var dx = Math.abs(block.x - x),
|
||||||
dy = Math.abs(block.y - y);
|
dy = Math.abs(block.y - y);
|
||||||
// 检查十字和九宫格光环
|
// 检查十字和九宫格光环
|
||||||
if (dx + dy <= enemy.haloRange) inRange = true;
|
if (dx + dy <= enemy.haloRange) inRange = true;
|
||||||
if (
|
if (
|
||||||
enemy.haloSquare &&
|
enemy.haloSquare &&
|
||||||
dx <= enemy.haloRange &&
|
dx <= enemy.haloRange &&
|
||||||
dy <= enemy.haloRange
|
dy <= enemy.haloRange
|
||||||
)
|
)
|
||||||
inRange = true;
|
inRange = true;
|
||||||
}
|
}
|
||||||
// 检查是否可叠加
|
// 检查是否可叠加
|
||||||
if (inRange && (enemy.haloAdd || !usedEnemyIds[enemy.id])) {
|
if (inRange && (enemy.haloAdd || !usedEnemyIds[enemy.id])) {
|
||||||
hp_buff += enemy.hpBuff || 0;
|
hp_buff += enemy.hpBuff || 0;
|
||||||
atk_buff += enemy.atkBuff || 0;
|
atk_buff += enemy.atkBuff || 0;
|
||||||
def_buff += enemy.defBuff || 0;
|
def_buff += enemy.defBuff || 0;
|
||||||
usedEnemyIds[enemy.id] = true;
|
usedEnemyIds[enemy.id] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 检查【支援】技能,数字26
|
// 检查【支援】技能,数字26
|
||||||
if (
|
if (
|
||||||
enemy &&
|
enemy &&
|
||||||
core.hasSpecial(enemy.special, 26) &&
|
core.hasSpecial(enemy.special, 26) &&
|
||||||
// 检查支援条件,坐标存在,距离为1,且不能是自己
|
// 检查支援条件,坐标存在,距离为1,且不能是自己
|
||||||
// 其他类型的支援怪,比如十字之类的话.... 看着做是一样的
|
// 其他类型的支援怪,比如十字之类的话.... 看着做是一样的
|
||||||
x != null &&
|
x != null &&
|
||||||
y != null &&
|
y != null &&
|
||||||
Math.abs(block.x - x) <= 1 &&
|
Math.abs(block.x - x) <= 1 &&
|
||||||
Math.abs(block.y - y) <= 1 &&
|
Math.abs(block.y - y) <= 1 &&
|
||||||
!(x == block.x && y == block.y)
|
!(x == block.x && y == block.y)
|
||||||
) {
|
) {
|
||||||
// 记录怪物的x,y,ID
|
// 记录怪物的x,y,ID
|
||||||
guards.push([block.x, block.y, id]);
|
guards.push([block.x, block.y, id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO:如果有其他类型光环怪物在这里仿照添加检查
|
// TODO:如果有其他类型光环怪物在这里仿照添加检查
|
||||||
// 注:新增新的类光环属性(需要遍历全图的)需要在特殊属性定义那里的第五项写1,参见光环和支援的特殊属性定义。
|
// 注:新增新的类光环属性(需要遍历全图的)需要在特殊属性定义那里的第五项写1,参见光环和支援的特殊属性定义。
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
core.status.checkBlock.cache[index] = {
|
core.status.checkBlock.cache[index] = {
|
||||||
hp_buff: hp_buff,
|
hp_buff: hp_buff,
|
||||||
atk_buff: atk_buff,
|
atk_buff: atk_buff,
|
||||||
def_buff: def_buff,
|
def_buff: def_buff,
|
||||||
guards: guards,
|
guards: guards,
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
// 直接使用缓存数据
|
// 直接使用缓存数据
|
||||||
hp_buff = cache.hp_buff;
|
hp_buff = cache.hp_buff;
|
||||||
atk_buff = cache.atk_buff;
|
atk_buff = cache.atk_buff;
|
||||||
def_buff = cache.def_buff;
|
def_buff = cache.def_buff;
|
||||||
guards = cache.guards;
|
guards = cache.guards;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增加比例;如果要增加数值可以直接在这里修改
|
// 增加比例;如果要增加数值可以直接在这里修改
|
||||||
mon_hp *= 1 + hp_buff / 100;
|
mon_hp *= 1 + hp_buff / 100;
|
||||||
mon_atk *= 1 + atk_buff / 100;
|
mon_atk *= 1 + atk_buff / 100;
|
||||||
mon_def *= 1 + def_buff / 100;
|
mon_def *= 1 + def_buff / 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO:可以在这里新增其他的怪物数据变化
|
// TODO:可以在这里新增其他的怪物数据变化
|
||||||
// 比如仿攻(怪物攻击不低于勇士攻击):
|
// 比如仿攻(怪物攻击不低于勇士攻击):
|
||||||
// if (core.hasSpecial(mon_special, 27) && mon_atk < hero_atk) {
|
// if (core.hasSpecial(mon_special, 27) && mon_atk < hero_atk) {
|
||||||
// mon_atk = hero_atk;
|
// mon_atk = hero_atk;
|
||||||
// }
|
// }
|
||||||
// 也可以按需增加各种自定义内容
|
// 也可以按需增加各种自定义内容
|
||||||
|
|
||||||
return {
|
return {
|
||||||
hp: Math.floor(mon_hp),
|
hp: Math.floor(mon_hp),
|
||||||
atk: Math.floor(mon_atk),
|
atk: Math.floor(mon_atk),
|
||||||
def: Math.floor(mon_def),
|
def: Math.floor(mon_def),
|
||||||
mdef: Math.floor(mon_mdef),
|
mdef: Math.floor(mon_mdef),
|
||||||
speed: Math.floor(mon_speed),
|
speed: Math.floor(mon_speed),
|
||||||
barrier: Math.floor(mon_barrier),
|
barrier: Math.floor(mon_barrier),
|
||||||
absorb: Math.floor(mon_absorb_damage),
|
absorb: Math.floor(mon_absorb_damage),
|
||||||
money: Math.floor(mon_money),
|
money: Math.floor(mon_money),
|
||||||
exp: Math.floor(mon_exp),
|
exp: Math.floor(mon_exp),
|
||||||
point: Math.floor(mon_point),
|
point: Math.floor(mon_point),
|
||||||
special: mon_special,
|
special: mon_special,
|
||||||
magic: mon_magic,
|
magic: mon_magic,
|
||||||
guards: guards, // 返回支援情况
|
guards: guards, // 返回支援情况
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
"getDamageInfo": function (enemy, hero, x, y, floorId) {
|
"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 }*/);
|
.sort(/*function (id1, id2) { return core.material.items[id1].name <= core.material.items[id2].name ? -1 : 1 }*/);
|
||||||
},
|
},
|
||||||
"drawStatusBar": function () {
|
"drawStatusBar": function () {
|
||||||
// 这真的是人能写出来的东西?
|
// 这真的是人能写出来的东西?
|
||||||
var ctx,
|
var ctx,
|
||||||
fill = function (text, x, y, style) {
|
fill = function (text, x, y, style) {
|
||||||
core.ui.setFont(
|
core.ui.setFont(
|
||||||
ctx,
|
ctx,
|
||||||
(/\w+/.test(text) ? "italic " : "") + "bold 18px Verdana"
|
(/\w+/.test(text) ? "italic " : "") + "bold 18px Verdana"
|
||||||
);
|
);
|
||||||
core.ui.fillBoldText(ctx, text, x, y, style);
|
core.ui.fillBoldText(ctx, text, x, y, style);
|
||||||
};
|
};
|
||||||
if (core.flags.statusCanvas) {
|
if (core.flags.statusCanvas) {
|
||||||
// 系统开关「自绘状态栏」开启
|
// 系统开关「自绘状态栏」开启
|
||||||
core.ui.clearMap((ctx = core.dom.statusCanvasCtx)); // 清空状态栏
|
core.ui.clearMap((ctx = core.dom.statusCanvasCtx)); // 清空状态栏
|
||||||
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
|
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
|
||||||
if (core.domStyle.isVertical) {
|
if (core.domStyle.isVertical) {
|
||||||
// 竖屏
|
// 竖屏
|
||||||
core.drawImage(ctx, core.statusBar.icons.floor, 6, 6, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.floor, 6, 6, 25, 25);
|
||||||
fill((core.status.thisMap || {}).name || "Loading", 42, 26);
|
fill((core.status.thisMap || {}).name || "Loading", 42, 26);
|
||||||
core.drawImage(ctx, core.statusBar.icons.hp, 137, 6, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.hp, 137, 6, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("hp")), 173, 26);
|
fill(core.formatBigNumber(core.getRealStatus("hp")), 173, 26);
|
||||||
core.drawImage(ctx, core.statusBar.icons.atk, 268, 6, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.atk, 268, 6, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("atk")), 304, 26);
|
fill(core.formatBigNumber(core.getRealStatus("atk")), 304, 26);
|
||||||
core.drawImage(ctx, core.statusBar.icons.def, 6, 38, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.def, 6, 38, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 58);
|
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 58);
|
||||||
core.drawImage(ctx, core.statusBar.icons.mdef, 137, 38, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.mdef, 137, 38, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("mdef")), 173, 58);
|
fill(core.formatBigNumber(core.getRealStatus("mdef")), 173, 58);
|
||||||
core.drawImage(ctx, core.statusBar.icons.money, 268, 38, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.money, 268, 38, 25, 25);
|
||||||
fill(core.formatBigNumber(core.status.hero.money), 304, 58);
|
fill(core.formatBigNumber(core.status.hero.money), 304, 58);
|
||||||
core.drawImage(ctx, core.statusBar.icons.exp, 6, 70, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.exp, 6, 70, 25, 25);
|
||||||
fill(core.formatBigNumber(core.status.hero.exp), 42, 90);
|
fill(core.formatBigNumber(core.status.hero.exp), 42, 90);
|
||||||
} else if (!core.flags.hideLeftStatusBar) {
|
} else if (!core.flags.hideLeftStatusBar) {
|
||||||
// 横屏且未隐藏状态栏
|
// 横屏且未隐藏状态栏
|
||||||
core.drawImage(ctx, core.statusBar.icons.floor, 6, 9, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.floor, 6, 9, 25, 25);
|
||||||
fill((core.status.thisMap || {}).name || "Loading", 42, 29);
|
fill((core.status.thisMap || {}).name || "Loading", 42, 29);
|
||||||
core.drawImage(ctx, core.statusBar.icons.hp, 6, 43, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.hp, 6, 43, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("hp")), 42, 63);
|
fill(core.formatBigNumber(core.getRealStatus("hp")), 42, 63);
|
||||||
core.drawImage(ctx, core.statusBar.icons.atk, 6, 77, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.atk, 6, 77, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("atk")), 42, 97);
|
fill(core.formatBigNumber(core.getRealStatus("atk")), 42, 97);
|
||||||
core.drawImage(ctx, core.statusBar.icons.def, 6, 111, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.def, 6, 111, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 131);
|
fill(core.formatBigNumber(core.getRealStatus("def")), 42, 131);
|
||||||
core.drawImage(ctx, core.statusBar.icons.mdef, 6, 145, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.mdef, 6, 145, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("mdef")), 42, 165);
|
fill(core.formatBigNumber(core.getRealStatus("mdef")), 42, 165);
|
||||||
core.drawImage(ctx, core.statusBar.icons.money, 6, 179, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.money, 6, 179, 25, 25);
|
||||||
fill(core.formatBigNumber(core.status.hero.money), 42, 199);
|
fill(core.formatBigNumber(core.status.hero.money), 42, 199);
|
||||||
core.drawImage(ctx, core.statusBar.icons.exp, 6, 213, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.exp, 6, 213, 25, 25);
|
||||||
fill(core.formatBigNumber(core.status.hero.exp), 42, 233);
|
fill(core.formatBigNumber(core.status.hero.exp), 42, 233);
|
||||||
fill(
|
fill(
|
||||||
core.setTwoDigits(core.itemCount("yellowKey")),
|
core.setTwoDigits(core.itemCount("yellowKey")),
|
||||||
11,
|
11,
|
||||||
267,
|
267,
|
||||||
"#FFCCAA"
|
"#FFCCAA"
|
||||||
);
|
);
|
||||||
fill(
|
fill(
|
||||||
core.setTwoDigits(core.itemCount("blueKey")),
|
core.setTwoDigits(core.itemCount("blueKey")),
|
||||||
46,
|
46,
|
||||||
267,
|
267,
|
||||||
"#AAAADD"
|
"#AAAADD"
|
||||||
);
|
);
|
||||||
fill(core.setTwoDigits(core.itemCount("redKey")), 81, 267, "#FF8888");
|
fill(core.setTwoDigits(core.itemCount("redKey")), 81, 267, "#FF8888");
|
||||||
}
|
}
|
||||||
} else if (core.flags.hideLeftStatusBar && !core.domStyle.isVertical) {
|
} else if (core.flags.hideLeftStatusBar && !core.domStyle.isVertical) {
|
||||||
// 横屏且隐藏状态栏
|
// 横屏且隐藏状态栏
|
||||||
if (!core.dymCanvas["status"])
|
if (!core.dymCanvas["status"])
|
||||||
core.ui.createCanvas("status", 0, 0, core._PX_, core._PY_, 66); // 刚好盖过显伤层
|
core.ui.createCanvas("status", 0, 0, core._PX_, core._PY_, 66); // 刚好盖过显伤层
|
||||||
core.ui.clearMap((ctx = core.dymCanvas["status"]));
|
core.ui.clearMap((ctx = core.dymCanvas["status"]));
|
||||||
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
|
core.ui.setFillStyle(ctx, core.status.globalAttribute.statusBarColor);
|
||||||
var offset =
|
var offset =
|
||||||
core.status.hero.loc.x - core.bigmap.offsetX / 32 >= core._HEIGHT_
|
core.status.hero.loc.x - core.bigmap.offsetX / 32 >= core._HEIGHT_ ?
|
||||||
? 0
|
0 :
|
||||||
: core._PY_;
|
core._PY_;
|
||||||
core.ui.setAlpha(ctx, 0.75);
|
core.ui.setAlpha(ctx, 0.75);
|
||||||
core.ui.drawWindowSkin(
|
core.ui.drawWindowSkin(
|
||||||
"winskin.webp",
|
"winskin.webp",
|
||||||
ctx,
|
ctx,
|
||||||
offset,
|
offset,
|
||||||
0,
|
0,
|
||||||
core._PX_ - core._PY_,
|
core._PX_ - core._PY_,
|
||||||
core._PY_
|
core._PY_
|
||||||
);
|
);
|
||||||
core.ui.setAlpha(ctx, 1);
|
core.ui.setAlpha(ctx, 1);
|
||||||
core.drawImage(ctx, core.statusBar.icons.floor, 6 + offset, 9, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.floor, 6 + offset, 9, 25, 25);
|
||||||
fill((core.status.thisMap || {}).name || "Loading", 42 + offset, 29);
|
fill((core.status.thisMap || {}).name || "Loading", 42 + offset, 29);
|
||||||
core.drawImage(ctx, core.statusBar.icons.hp, 6 + offset, 43, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.hp, 6 + offset, 43, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("hp")), 42 + offset, 63);
|
fill(core.formatBigNumber(core.getRealStatus("hp")), 42 + offset, 63);
|
||||||
core.drawImage(ctx, core.statusBar.icons.atk, 6 + offset, 77, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.atk, 6 + offset, 77, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("atk")), 42 + offset, 97);
|
fill(core.formatBigNumber(core.getRealStatus("atk")), 42 + offset, 97);
|
||||||
core.drawImage(ctx, core.statusBar.icons.def, 6 + offset, 111, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.def, 6 + offset, 111, 25, 25);
|
||||||
fill(core.formatBigNumber(core.getRealStatus("def")), 42 + offset, 131);
|
fill(core.formatBigNumber(core.getRealStatus("def")), 42 + offset, 131);
|
||||||
core.drawImage(ctx, core.statusBar.icons.mdef, 6 + offset, 145, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.mdef, 6 + offset, 145, 25, 25);
|
||||||
fill(
|
fill(
|
||||||
core.formatBigNumber(core.getRealStatus("mdef")),
|
core.formatBigNumber(core.getRealStatus("mdef")),
|
||||||
42 + offset,
|
42 + offset,
|
||||||
165
|
165
|
||||||
);
|
);
|
||||||
core.drawImage(
|
core.drawImage(
|
||||||
ctx,
|
ctx,
|
||||||
core.statusBar.icons.money,
|
core.statusBar.icons.money,
|
||||||
6 + offset,
|
6 + offset,
|
||||||
179,
|
179,
|
||||||
25,
|
25,
|
||||||
25
|
25
|
||||||
);
|
);
|
||||||
fill(core.formatBigNumber(core.status.hero.money), 42 + offset, 199);
|
fill(core.formatBigNumber(core.status.hero.money), 42 + offset, 199);
|
||||||
core.drawImage(ctx, core.statusBar.icons.exp, 6 + offset, 213, 25, 25);
|
core.drawImage(ctx, core.statusBar.icons.exp, 6 + offset, 213, 25, 25);
|
||||||
fill(core.formatBigNumber(core.status.hero.exp), 42 + offset, 233);
|
fill(core.formatBigNumber(core.status.hero.exp), 42 + offset, 233);
|
||||||
fill(
|
fill(
|
||||||
core.setTwoDigits(core.itemCount("yellowKey")),
|
core.setTwoDigits(core.itemCount("yellowKey")),
|
||||||
11 + offset,
|
11 + offset,
|
||||||
267,
|
267,
|
||||||
"#FFCCAA"
|
"#FFCCAA"
|
||||||
);
|
);
|
||||||
fill(
|
fill(
|
||||||
core.setTwoDigits(core.itemCount("blueKey")),
|
core.setTwoDigits(core.itemCount("blueKey")),
|
||||||
46 + offset,
|
46 + offset,
|
||||||
267,
|
267,
|
||||||
"#AAAADD"
|
"#AAAADD"
|
||||||
);
|
);
|
||||||
fill(
|
fill(
|
||||||
core.setTwoDigits(core.itemCount("redKey")),
|
core.setTwoDigits(core.itemCount("redKey")),
|
||||||
81 + offset,
|
81 + offset,
|
||||||
267,
|
267,
|
||||||
"#FF8888"
|
"#FF8888"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"drawStatistics": function () {
|
"drawStatistics": function () {
|
||||||
// 浏览地图时参与的统计项目
|
// 浏览地图时参与的统计项目
|
||||||
|
|
||||||
|
@ -315,7 +315,18 @@ var icons_4665ee12_3a1f_44a4_bea3_0fccba634dc1 =
|
|||||||
"jumpShoes": 49,
|
"jumpShoes": 49,
|
||||||
"skill1": 30,
|
"skill1": 30,
|
||||||
"wand": 10,
|
"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": {
|
||||||
"autotile": 0,
|
"autotile": 0,
|
||||||
|
@ -546,5 +546,60 @@ var items_296f5d02_12fd_4166_a7c1_b5e830c9ee3a =
|
|||||||
"name": "钱袋",
|
"name": "钱袋",
|
||||||
"itemEffect": "core.status.hero.money += 500",
|
"itemEffect": "core.status.hero.money += 500",
|
||||||
"itemEffectTip": ",金币+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 = {
|
var maps_90f36752_8815_4be8_b32b_d7fad1d0542e =
|
||||||
1: {
|
{
|
||||||
cls: "animates",
|
"1": {"cls":"animates","id":"yellowWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
|
||||||
id: "yellowWall",
|
"2": {"cls":"animates","id":"whiteWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
|
||||||
canBreak: true,
|
"3": {"cls":"animates","id":"blueWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
|
||||||
animate: 1,
|
"4": {"cls":"animates","id":"star","name":"星空"},
|
||||||
doorInfo: {
|
"5": {"cls":"animates","id":"lava","name":"岩浆"},
|
||||||
time: 160,
|
"6": {"cls":"animates","id":"ice","doorInfo":{"time":160,"openSound":"破冰镐","closeSound":"door.opus","keys":{"icePickaxe":1}},"animate":1},
|
||||||
openSound: "door.opus",
|
"7": {"cls":"terrains","id":"blueShopLeft"},
|
||||||
closeSound: "door.opus",
|
"8": {"cls":"terrains","id":"blueShopRight"},
|
||||||
keys: {},
|
"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":"血网"},
|
||||||
2: {
|
"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":"毒网"},
|
||||||
cls: "animates",
|
"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":"衰网"},
|
||||||
id: "whiteWall",
|
"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":"咒网"},
|
||||||
canBreak: true,
|
"15": {"cls":"animates","id":"blueLava"},
|
||||||
animate: 1,
|
"16": {"cls":"animates","id":"water"},
|
||||||
doorInfo: {
|
"20": {"cls":"autotile","id":"autotile"},
|
||||||
time: 160,
|
"21": {"cls":"items","id":"yellowKey"},
|
||||||
openSound: "door.opus",
|
"22": {"cls":"items","id":"blueKey"},
|
||||||
closeSound: "door.opus",
|
"23": {"cls":"items","id":"redKey"},
|
||||||
keys: {},
|
"24": {"cls":"items","id":"greenKey"},
|
||||||
},
|
"25": {"cls":"items","id":"steelKey"},
|
||||||
},
|
"26": {"cls":"items","id":"bigKey"},
|
||||||
3: {
|
"27": {"cls":"items","id":"redGem"},
|
||||||
cls: "animates",
|
"28": {"cls":"items","id":"blueGem"},
|
||||||
id: "blueWall",
|
"29": {"cls":"items","id":"greenGem"},
|
||||||
canBreak: true,
|
"30": {"cls":"items","id":"yellowGem"},
|
||||||
animate: 1,
|
"31": {"cls":"items","id":"redPotion"},
|
||||||
doorInfo: {
|
"32": {"cls":"items","id":"bluePotion"},
|
||||||
time: 160,
|
"33": {"cls":"items","id":"greenPotion"},
|
||||||
openSound: "door.opus",
|
"34": {"cls":"items","id":"yellowPotion"},
|
||||||
closeSound: "door.opus",
|
"35": {"cls":"items","id":"sword1"},
|
||||||
keys: {},
|
"36": {"cls":"items","id":"shield1"},
|
||||||
},
|
"37": {"cls":"items","id":"sword2"},
|
||||||
},
|
"38": {"cls":"items","id":"shield2"},
|
||||||
4: { cls: "animates", id: "star", name: "星空" },
|
"39": {"cls":"items","id":"sword3"},
|
||||||
5: { cls: "animates", id: "lava", name: "岩浆" },
|
"40": {"cls":"items","id":"shield3"},
|
||||||
6: {
|
"41": {"cls":"items","id":"sword4"},
|
||||||
cls: "animates",
|
"42": {"cls":"items","id":"shield4"},
|
||||||
id: "ice",
|
"43": {"cls":"items","id":"sword5"},
|
||||||
doorInfo: {
|
"44": {"cls":"items","id":"shield5"},
|
||||||
time: 160,
|
"45": {"cls":"items","id":"book"},
|
||||||
openSound: "破冰镐",
|
"46": {"cls":"items","id":"fly"},
|
||||||
closeSound: "door.opus",
|
"47": {"cls":"items","id":"pickaxe"},
|
||||||
keys: { icePickaxe: 1 },
|
"48": {"cls":"items","id":"icePickaxe"},
|
||||||
},
|
"49": {"cls":"items","id":"bomb"},
|
||||||
animate: 1,
|
"50": {"cls":"items","id":"centerFly"},
|
||||||
},
|
"51": {"cls":"items","id":"upFly"},
|
||||||
7: { cls: "terrains", id: "blueShopLeft" },
|
"52": {"cls":"items","id":"downFly"},
|
||||||
8: { cls: "terrains", id: "blueShopRight" },
|
"53": {"cls":"items","id":"coin"},
|
||||||
9: { cls: "terrains", id: "pinkShopLeft" },
|
"54": {"cls":"items","id":"freezeBadge"},
|
||||||
10: { cls: "terrains", id: "pinkShopRight" },
|
"55": {"cls":"items","id":"cross"},
|
||||||
11: {
|
"56": {"cls":"items","id":"superPotion"},
|
||||||
cls: "animates",
|
"57": {"cls":"items","id":"earthquake"},
|
||||||
id: "lavaNet",
|
"58": {"cls":"items","id":"poisonWine"},
|
||||||
canPass: true,
|
"59": {"cls":"items","id":"weakWine"},
|
||||||
trigger: "null",
|
"60": {"cls":"items","id":"curseWine"},
|
||||||
script:
|
"61": {"cls":"items","id":"superWine"},
|
||||||
"(function () {\n\t// 血网的伤害效果移动到 checkBlock 中处理\n\n\t// 如果要做一次性血网,可直接注释掉下面这句话:\n\t// core.removeBlock(core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();",
|
"62": {"cls":"items","id":"dagger"},
|
||||||
name: "血网",
|
"63": {"cls":"items","id":"pack"},
|
||||||
},
|
"64": {"cls":"items","id":"amulet"},
|
||||||
12: {
|
"65": {"cls":"items","id":"hammer"},
|
||||||
cls: "animates",
|
"68": {"cls":"items","id":"lifeWand"},
|
||||||
id: "poisonNet",
|
"69": {"cls":"items","id":"jumpShoes"},
|
||||||
canPass: true,
|
"70": {"cls":"items","id":"sword0"},
|
||||||
trigger: "null",
|
"71": {"cls":"items","id":"shield0"},
|
||||||
script:
|
"72": {"cls":"items","id":"skill1"},
|
||||||
"(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})()",
|
"73": {"cls":"items","id":"wand"},
|
||||||
name: "毒网",
|
"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":"蓝门"},
|
||||||
13: {
|
"83": {"cls":"animates","id":"redDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"redKey":1}},"name":"红门"},
|
||||||
cls: "animates",
|
"84": {"cls":"animates","id":"greenDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"greenKey":1}},"name":"绿门"},
|
||||||
id: "weakNet",
|
"85": {"cls":"animates","id":"specialDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"specialKey":1}},"name":"机关门"},
|
||||||
canPass: true,
|
"86": {"cls":"animates","id":"steelDoor","trigger":"openDoor","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"steelKey":1}},"name":"铁门"},
|
||||||
trigger: "null",
|
"87": {"cls":"terrains","id":"upFloor","canPass":true},
|
||||||
script:
|
"88": {"cls":"terrains","id":"downFloor","canPass":true},
|
||||||
"(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})()",
|
"89": {"cls":"animates","id":"portal","canPass":true},
|
||||||
name: "衰网",
|
"90": {"cls":"animates","id":"starPortal","canPass":true},
|
||||||
},
|
"91": {"cls":"animates","id":"upPortal","canPass":true},
|
||||||
14: {
|
"92": {"cls":"animates","id":"leftPortal","canPass":true},
|
||||||
cls: "animates",
|
"93": {"cls":"animates","id":"downPortal","canPass":true},
|
||||||
id: "curseNet",
|
"94": {"cls":"animates","id":"rightPortal","canPass":true},
|
||||||
canPass: true,
|
"101": {"cls":"animates","id":"crystalUp"},
|
||||||
trigger: "null",
|
"102": {"cls":"animates","id":"crystalBottom"},
|
||||||
script:
|
"103": {"cls":"animates","id":"fire"},
|
||||||
"(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})()",
|
"104": {"cls":"animates","id":"switch"},
|
||||||
name: "咒网",
|
"109": {"cls":"animates","id":"magentaWall","canBreak":true,"animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{}}},
|
||||||
},
|
"121": {"cls":"npcs","id":"man"},
|
||||||
15: { cls: "animates", id: "blueLava" },
|
"122": {"cls":"npcs","id":"trader"},
|
||||||
16: { cls: "animates", id: "water" },
|
"123": {"cls":"npcs","id":"thief"},
|
||||||
20: { cls: "autotile", id: "autotile" },
|
"124": {"cls":"npcs","id":"fairy"},
|
||||||
21: { cls: "items", id: "yellowKey" },
|
"125": {"cls":"npcs","id":"wizard"},
|
||||||
22: { cls: "items", id: "blueKey" },
|
"126": {"cls":"npcs","id":"recluse"},
|
||||||
23: { cls: "items", id: "redKey" },
|
"127": {"cls":"npcs","id":"king"},
|
||||||
24: { cls: "items", id: "greenKey" },
|
"128": {"cls":"npcs","id":"youngMan"},
|
||||||
25: { cls: "items", id: "steelKey" },
|
"129": {"cls":"npcs","id":"sign"},
|
||||||
26: { cls: "items", id: "bigKey" },
|
"130": {"cls":"npcs","id":"expShop"},
|
||||||
27: { cls: "items", id: "redGem" },
|
"131": {"cls":"npcs","id":"moneyShop"},
|
||||||
28: { cls: "items", id: "blueGem" },
|
"132": {"cls":"npcs","id":"princess"},
|
||||||
29: { cls: "items", id: "greenGem" },
|
"133": {"cls":"npc48","id":"npc0","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
|
||||||
30: { cls: "items", id: "yellowGem" },
|
"134": {"cls":"npc48","id":"npc1","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
|
||||||
31: { cls: "items", id: "redPotion" },
|
"135": {"cls":"npc48","id":"npc2","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
|
||||||
32: { cls: "items", id: "bluePotion" },
|
"136": {"cls":"npc48","id":"npc3","faceIds":{"down":"npc0","left":"npc1","right":"npc2","up":"npc3"},"animate":1},
|
||||||
33: { cls: "items", id: "greenPotion" },
|
"137": {"cls":"npcs","id":"greenMan"},
|
||||||
34: { cls: "items", id: "yellowPotion" },
|
"138": {"cls":"npcs","id":"blueTrader"},
|
||||||
35: { cls: "items", id: "sword1" },
|
"140": {"cls":"autotile","id":"autotile4"},
|
||||||
36: { cls: "items", id: "shield1" },
|
"141": {"cls":"autotile","id":"autotile8"},
|
||||||
37: { cls: "items", id: "sword2" },
|
"142": {"cls":"autotile","id":"autotile9"},
|
||||||
38: { cls: "items", id: "shield2" },
|
"143": {"cls":"autotile","id":"autotile10"},
|
||||||
39: { cls: "items", id: "sword3" },
|
"144": {"cls":"autotile","id":"autotile12"},
|
||||||
40: { cls: "items", id: "shield3" },
|
"151": {"cls":"autotile","id":"autotile1"},
|
||||||
41: { cls: "items", id: "sword4" },
|
"152": {"cls":"autotile","id":"autotile2"},
|
||||||
42: { cls: "items", id: "shield4" },
|
"153": {"cls":"autotile","id":"autotile3"},
|
||||||
43: { cls: "items", id: "sword5" },
|
"161": {"cls":"terrains","id":"arrowUp","canPass":true,"cannotOut":["left","right","down"],"cannotIn":["up"]},
|
||||||
44: { cls: "items", id: "shield5" },
|
"162": {"cls":"terrains","id":"arrowDown","canPass":true,"cannotOut":["left","right","up"],"cannotIn":["down"]},
|
||||||
45: { cls: "items", id: "book" },
|
"163": {"cls":"terrains","id":"arrowLeft","canPass":true,"cannotOut":["up","down","right"],"cannotIn":["left"]},
|
||||||
46: { cls: "items", id: "fly" },
|
"164": {"cls":"terrains","id":"arrowRight","canPass":true,"cannotOut":["up","down","left"],"cannotIn":["right"]},
|
||||||
47: { cls: "items", id: "pickaxe" },
|
"165": {"cls":"terrains","id":"light","trigger":"null","canPass":true,"script":"(function () {\n\tcore.setBlock(core.getNumberById('darkLight'), core.getHeroLoc('x'), core.getHeroLoc('y'));\n})();"},
|
||||||
48: { cls: "items", id: "icePickaxe" },
|
"166": {"cls":"terrains","id":"darkLight"},
|
||||||
49: { cls: "items", id: "bomb" },
|
"167": {"cls":"terrains","id":"ski","trigger":"ski","canPass":true},
|
||||||
50: { cls: "items", id: "centerFly" },
|
"168": {"cls":"terrains","id":"flower","canPass":true},
|
||||||
51: { cls: "items", id: "upFly" },
|
"169": {"cls":"terrains","id":"box","trigger":"pushBox"},
|
||||||
52: { cls: "items", id: "downFly" },
|
"170": {"cls":"terrains","id":"boxed","trigger":"pushBox"},
|
||||||
53: { cls: "items", id: "coin" },
|
"201": {"cls":"enemys","id":"greenSlime"},
|
||||||
54: { cls: "items", id: "freezeBadge" },
|
"202": {"cls":"enemys","id":"redSlime"},
|
||||||
55: { cls: "items", id: "cross" },
|
"203": {"cls":"enemys","id":"blackSlime"},
|
||||||
56: { cls: "items", id: "superPotion" },
|
"204": {"cls":"enemys","id":"slimelord"},
|
||||||
57: { cls: "items", id: "earthquake" },
|
"205": {"cls":"enemys","id":"bat"},
|
||||||
58: { cls: "items", id: "poisonWine" },
|
"206": {"cls":"enemys","id":"bigBat"},
|
||||||
59: { cls: "items", id: "weakWine" },
|
"207": {"cls":"enemys","id":"redBat"},
|
||||||
60: { cls: "items", id: "curseWine" },
|
"208": {"cls":"enemys","id":"vampire"},
|
||||||
61: { cls: "items", id: "superWine" },
|
"209": {"cls":"enemys","id":"skeleton"},
|
||||||
62: { cls: "items", id: "dagger" },
|
"210": {"cls":"enemys","id":"skeletonWarrior"},
|
||||||
63: { cls: "items", id: "pack" },
|
"211": {"cls":"enemys","id":"skeletonCaptain"},
|
||||||
64: { cls: "items", id: "amulet" },
|
"212": {"cls":"enemys","id":"ghostSoldier"},
|
||||||
65: { cls: "items", id: "hammer" },
|
"213": {"cls":"enemys","id":"zombie"},
|
||||||
68: { cls: "items", id: "lifeWand" },
|
"214": {"cls":"enemys","id":"zombieKnight"},
|
||||||
69: { cls: "items", id: "jumpShoes" },
|
"215": {"cls":"enemys","id":"rock"},
|
||||||
70: { cls: "items", id: "sword0" },
|
"216": {"cls":"enemys","id":"slimeman"},
|
||||||
71: { cls: "items", id: "shield0" },
|
"217": {"cls":"enemys","id":"bluePriest"},
|
||||||
72: { cls: "items", id: "skill1" },
|
"218": {"cls":"enemys","id":"redPriest"},
|
||||||
73: { cls: "items", id: "wand" },
|
"219": {"cls":"enemys","id":"brownWizard"},
|
||||||
81: {
|
"220": {"cls":"enemys","id":"redWizard"},
|
||||||
cls: "animates",
|
"221": {"cls":"enemys","id":"yellowGateKeeper"},
|
||||||
id: "yellowDoor",
|
"222": {"cls":"enemys","id":"blueGateKeeper"},
|
||||||
trigger: "openDoor",
|
"223": {"cls":"enemys","id":"redGateKeeper"},
|
||||||
animate: 1,
|
"224": {"cls":"enemys","id":"swordsman"},
|
||||||
doorInfo: {
|
"225": {"cls":"enemys","id":"soldier"},
|
||||||
time: 160,
|
"226": {"cls":"enemys","id":"yellowKnight"},
|
||||||
openSound: "door.opus",
|
"227": {"cls":"enemys","id":"redKnight"},
|
||||||
closeSound: "door.opus",
|
"228": {"cls":"enemys","id":"darkKnight"},
|
||||||
keys: { yellowKey: 1 },
|
"229": {"cls":"enemys","id":"blackKing"},
|
||||||
},
|
"230": {"cls":"enemys","id":"yellowKing"},
|
||||||
name: "黄门",
|
"231": {"cls":"enemys","id":"greenKing"},
|
||||||
},
|
"232": {"cls":"enemys","id":"blueKnight"},
|
||||||
82: {
|
"233": {"cls":"enemys","id":"goldSlime"},
|
||||||
cls: "animates",
|
"234": {"cls":"enemys","id":"poisonSkeleton"},
|
||||||
id: "blueDoor",
|
"235": {"cls":"enemys","id":"poisonBat"},
|
||||||
trigger: "openDoor",
|
"236": {"cls":"enemys","id":"ironRock"},
|
||||||
animate: 1,
|
"237": {"cls":"enemys","id":"skeletonPriest"},
|
||||||
doorInfo: {
|
"238": {"cls":"enemys","id":"skeletonKing"},
|
||||||
time: 160,
|
"239": {"cls":"enemys","id":"skeletonPresbyter"},
|
||||||
openSound: "door.opus",
|
"240": {"cls":"enemys","id":"skeletonKnight"},
|
||||||
closeSound: "door.opus",
|
"241": {"cls":"enemys","id":"evilHero"},
|
||||||
keys: { blueKey: 1 },
|
"242": {"cls":"enemys","id":"devilWarrior"},
|
||||||
},
|
"243": {"cls":"enemys","id":"demonPriest"},
|
||||||
name: "蓝门",
|
"244": {"cls":"enemys","id":"goldHornSlime"},
|
||||||
},
|
"245": {"cls":"enemys","id":"redKing"},
|
||||||
83: {
|
"246": {"cls":"enemys","id":"blueKing"},
|
||||||
cls: "animates",
|
"247": {"cls":"enemys","id":"magicMaster"},
|
||||||
id: "redDoor",
|
"248": {"cls":"enemys","id":"silverSlime"},
|
||||||
trigger: "openDoor",
|
"249": {"cls":"enemys","id":"blademaster"},
|
||||||
animate: 1,
|
"250": {"cls":"enemys","id":"whiteHornSlime"},
|
||||||
doorInfo: {
|
"251": {"cls":"enemys","id":"evilPrincess"},
|
||||||
time: 160,
|
"252": {"cls":"enemys","id":"evilFairy"},
|
||||||
openSound: "door.opus",
|
"253": {"cls":"enemys","id":"yellowPriest"},
|
||||||
closeSound: "door.opus",
|
"254": {"cls":"enemys","id":"redSwordsman"},
|
||||||
keys: { redKey: 1 },
|
"255": {"cls":"enemys","id":"whiteSlimeman"},
|
||||||
},
|
"256": {"cls":"enemys","id":"poisonZombie"},
|
||||||
name: "红门",
|
"257": {"cls":"enemys","id":"dragon"},
|
||||||
},
|
"258": {"cls":"enemys","id":"octopus"},
|
||||||
84: {
|
"259": {"cls":"enemys","id":"fairyEnemy"},
|
||||||
cls: "animates",
|
"260": {"cls":"enemys","id":"princessEnemy"},
|
||||||
id: "greenDoor",
|
"261": {"cls":"enemy48","id":"angel"},
|
||||||
trigger: "openDoor",
|
"262": {"cls":"enemy48","id":"elemental"},
|
||||||
animate: 1,
|
"263": {"cls":"enemy48","id":"steelGuard"},
|
||||||
doorInfo: {
|
"264": {"cls":"enemy48","id":"evilBat"},
|
||||||
time: 160,
|
"265": {"cls":"enemys","id":"silverSlimelord"},
|
||||||
openSound: "door.opus",
|
"266": {"cls":"enemys","id":"goldSlimelord"},
|
||||||
closeSound: "door.opus",
|
"267": {"cls":"enemys","id":"grayRock"},
|
||||||
keys: { greenKey: 1 },
|
"270": {"cls":"enemys","id":"greenKnight"},
|
||||||
},
|
"271": {"cls":"enemys","id":"bowman"},
|
||||||
name: "绿门",
|
"272": {"cls":"enemys","id":"purpleBowman"},
|
||||||
},
|
"275": {"cls":"enemys","id":"watcherSlime"},
|
||||||
85: {
|
"277": {"cls":"enemys","id":"frostBat"},
|
||||||
cls: "animates",
|
"278": {"cls":"enemys","id":"devilKnight"},
|
||||||
id: "specialDoor",
|
"279": {"cls":"enemys","id":"grayPriest"},
|
||||||
trigger: "openDoor",
|
"280": {"cls":"enemys","id":"greenGateKeeper"},
|
||||||
animate: 1,
|
"300": {"cls":"terrains","id":"ground"},
|
||||||
doorInfo: {
|
"301": {"cls":"terrains","id":"sWallT","name":"薄墙-上","cannotOut":["up"],"cannotIn":["up"]},
|
||||||
time: 160,
|
"302": {"cls":"terrains","id":"sWallL","name":"薄墙-左","cannotOut":["left"],"cannotIn":["left"]},
|
||||||
openSound: "door.opus",
|
"303": {"cls":"terrains","id":"sWallR","name":"薄墙-右","cannotOut":["right"],"cannotIn":["right"]},
|
||||||
closeSound: "door.opus",
|
"304": {"cls":"terrains","id":"sWallB","name":"薄墙-下","cannotOut":["down"],"cannotIn":["down"]},
|
||||||
keys: { specialKey: 1 },
|
"305": {"cls":"terrains","id":"grass"},
|
||||||
},
|
"306": {"cls":"terrains","id":"sWallTL","name":"薄墙-上左","cannotOut":["up","left"],"cannotIn":["up","left"]},
|
||||||
name: "机关门",
|
"307": {"cls":"terrains","id":"sWallBR","name":"薄墙-下右","cannotOut":["down","right"],"cannotIn":["down","right"]},
|
||||||
},
|
"308": {"cls":"terrains","id":"grass2"},
|
||||||
86: {
|
"309": {"cls":"terrains","id":"sWallTR","name":"薄墙-上右","cannotOut":["up","right"],"cannotIn":["up","right"]},
|
||||||
cls: "animates",
|
"310": {"cls":"terrains","id":"sWallBL","name":"薄墙-下左","cannotOut":["down","left"],"cannotIn":["down","left"]},
|
||||||
id: "steelDoor",
|
"311": {"cls":"terrains","id":"ground2"},
|
||||||
trigger: "openDoor",
|
"312": {"cls":"terrains","id":"sWallTB","name":"薄墙-上下","cannotOut":["up","down"],"cannotIn":["up","down"]},
|
||||||
animate: 1,
|
"313": {"cls":"terrains","id":"ground3"},
|
||||||
doorInfo: {
|
"314": {"cls":"terrains","id":"sWallLR","name":"薄墙-左右","cannotOut":["left","right"],"cannotIn":["left","right"]},
|
||||||
time: 160,
|
"315": {"cls":"terrains","id":"sWallBLR","name":"薄墙-下左右","cannotOut":["down","left","right"],"cannotIn":["down","left","right"]},
|
||||||
openSound: "door.opus",
|
"316": {"cls":"terrains","id":"sWallTLR","name":"薄墙-上左右","cannotOut":["up","left","right"],"cannotIn":["up","left","right"]},
|
||||||
closeSound: "door.opus",
|
"317": {"cls":"terrains","id":"sWallTBR","name":"薄墙-上下右","cannotOut":["up","down","right"],"cannotIn":["up","down","right"]},
|
||||||
keys: { steelKey: 1 },
|
"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}}},
|
||||||
name: "铁门",
|
"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}}},
|
||||||
87: { cls: "terrains", id: "upFloor", canPass: true },
|
"322": {"cls":"npc48","id":"tallGreenDoor","trigger":"openDoor","name":"高绿门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"greenKey":1}}},
|
||||||
88: { cls: "terrains", id: "downFloor", canPass: true },
|
"323": {"cls":"npc48","id":"tallSpecialDoor","trigger":"openDoor","name":"高机关门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"specialKey":1}}},
|
||||||
89: { cls: "animates", id: "portal", canPass: true },
|
"324": {"cls":"npc48","id":"tallSteelDoor","trigger":"openDoor","name":"高铁门","animate":1,"doorInfo":{"time":160,"openSound":"door.opus","closeSound":"door.opus","keys":{"steelKey":1}}},
|
||||||
90: { cls: "animates", id: "starPortal", canPass: true },
|
"325": {"cls":"enemys","id":"keiskeiFairy"},
|
||||||
91: { cls: "animates", id: "upPortal", canPass: true },
|
"326": {"cls":"enemys","id":"tulipFairy"},
|
||||||
92: { cls: "animates", id: "leftPortal", canPass: true },
|
"327": {"cls":"enemy48","id":"bearDown"},
|
||||||
93: { cls: "animates", id: "downPortal", canPass: true },
|
"328": {"cls":"enemy48","id":"bearLeft"},
|
||||||
94: { cls: "animates", id: "rightPortal", canPass: true },
|
"329": {"cls":"enemy48","id":"bearRight"},
|
||||||
101: { cls: "animates", id: "crystalUp" },
|
"330": {"cls":"enemy48","id":"bearUp"},
|
||||||
102: { cls: "animates", id: "crystalBottom" },
|
"331": {"cls":"terrains","id":"T331"},
|
||||||
103: { cls: "animates", id: "fire" },
|
"332": {"cls":"terrains","id":"T332"},
|
||||||
104: { cls: "animates", id: "switch" },
|
"333": {"cls":"terrains","id":"T333"},
|
||||||
109: {
|
"334": {"cls":"terrains","id":"T334"},
|
||||||
cls: "animates",
|
"335": {"cls":"terrains","id":"T335"},
|
||||||
id: "magentaWall",
|
"336": {"cls":"terrains","id":"T336"},
|
||||||
canBreak: true,
|
"337": {"cls":"terrains","id":"T337"},
|
||||||
animate: 1,
|
"338": {"cls":"terrains","id":"T338"},
|
||||||
doorInfo: {
|
"339": {"cls":"terrains","id":"T339"},
|
||||||
time: 160,
|
"340": {"cls":"terrains","id":"T340"},
|
||||||
openSound: "door.opus",
|
"341": {"cls":"terrains","id":"T341"},
|
||||||
closeSound: "door.opus",
|
"342": {"cls":"terrains","id":"T342"},
|
||||||
keys: {},
|
"343": {"cls":"terrains","id":"T343"},
|
||||||
},
|
"344": {"cls":"terrains","id":"T344"},
|
||||||
},
|
"345": {"cls":"terrains","id":"T345","canPass":true},
|
||||||
121: { cls: "npcs", id: "man" },
|
"346": {"cls":"terrains","id":"T346"},
|
||||||
122: { cls: "npcs", id: "trader" },
|
"347": {"cls":"terrains","id":"T347"},
|
||||||
123: { cls: "npcs", id: "thief" },
|
"348": {"cls":"terrains","id":"T348"},
|
||||||
124: { cls: "npcs", id: "fairy" },
|
"349": {"cls":"terrains","id":"T349"},
|
||||||
125: { cls: "npcs", id: "wizard" },
|
"350": {"cls":"terrains","id":"T350"},
|
||||||
126: { cls: "npcs", id: "recluse" },
|
"351": {"cls":"terrains","id":"T351"},
|
||||||
127: { cls: "npcs", id: "king" },
|
"352": {"cls":"terrains","id":"T352"},
|
||||||
128: { cls: "npcs", id: "youngMan" },
|
"353": {"cls":"terrains","id":"T353"},
|
||||||
129: { cls: "npcs", id: "sign" },
|
"354": {"cls":"terrains","id":"T354"},
|
||||||
130: { cls: "npcs", id: "expShop" },
|
"355": {"cls":"terrains","id":"T355"},
|
||||||
131: { cls: "npcs", id: "moneyShop" },
|
"356": {"cls":"terrains","id":"T356"},
|
||||||
132: { cls: "npcs", id: "princess" },
|
"357": {"cls":"terrains","id":"T357"},
|
||||||
133: {
|
"358": {"cls":"terrains","id":"T358"},
|
||||||
cls: "npc48",
|
"359": {"cls":"terrains","id":"T359"},
|
||||||
id: "npc0",
|
"360": {"cls":"terrains","id":"T360"},
|
||||||
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
|
"361": {"cls":"terrains","id":"T361"},
|
||||||
animate: 1,
|
"362": {"cls":"terrains","id":"T362"},
|
||||||
},
|
"363": {"cls":"terrains","id":"T363"},
|
||||||
134: {
|
"364": {"cls":"terrains","id":"T364"},
|
||||||
cls: "npc48",
|
"365": {"cls":"terrains","id":"T365"},
|
||||||
id: "npc1",
|
"366": {"cls":"items","id":"I366"},
|
||||||
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
|
"367": {"cls":"items","id":"I367"},
|
||||||
animate: 1,
|
"368": {"cls":"items","id":"I368"},
|
||||||
},
|
"369": {"cls":"items","id":"I369"},
|
||||||
135: {
|
"370": {"cls":"items","id":"I370"},
|
||||||
cls: "npc48",
|
"371": {"cls":"items","id":"I371"},
|
||||||
id: "npc2",
|
"372": {"cls":"items","id":"I372"},
|
||||||
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
|
"373": {"cls":"items","id":"I373"},
|
||||||
animate: 1,
|
"374": {"cls":"items","id":"I374"},
|
||||||
},
|
"375": {"cls":"items","id":"I375"},
|
||||||
136: {
|
"376": {"cls":"terrains","id":"T376"},
|
||||||
cls: "npc48",
|
"377": {"cls":"terrains","id":"T377"},
|
||||||
id: "npc3",
|
"378": {"cls":"terrains","id":"T378"},
|
||||||
faceIds: { down: "npc0", left: "npc1", right: "npc2", up: "npc3" },
|
"379": {"cls":"terrains","id":"T379"},
|
||||||
animate: 1,
|
"380": {"cls":"terrains","id":"T380"},
|
||||||
},
|
"381": {"cls":"terrains","id":"T381"},
|
||||||
137: { cls: "npcs", id: "greenMan" },
|
"382": {"cls":"terrains","id":"T382"},
|
||||||
138: { cls: "npcs", id: "blueTrader" },
|
"383": {"cls":"terrains","id":"T383"},
|
||||||
140: { cls: "autotile", id: "autotile4" },
|
"384": {"cls":"terrains","id":"T384"},
|
||||||
141: { cls: "autotile", id: "autotile8" },
|
"385": {"cls":"terrains","id":"T385"},
|
||||||
142: { cls: "autotile", id: "autotile9" },
|
"386": {"cls":"terrains","id":"T386"},
|
||||||
143: { cls: "autotile", id: "autotile10" },
|
"387": {"cls":"terrains","id":"T387"},
|
||||||
144: { cls: "autotile", id: "autotile12" },
|
"388": {"cls":"terrains","id":"T388"},
|
||||||
151: { cls: "autotile", id: "autotile1" },
|
"389": {"cls":"terrains","id":"T389"},
|
||||||
152: { cls: "autotile", id: "autotile2" },
|
"390": {"cls":"terrains","id":"T390"},
|
||||||
153: { cls: "autotile", id: "autotile3" },
|
"391": {"cls":"terrains","id":"T391"},
|
||||||
161: {
|
"392": {"cls":"terrains","id":"T392"},
|
||||||
cls: "terrains",
|
"393": {"cls":"terrains","id":"T393"},
|
||||||
id: "arrowUp",
|
"394": {"cls":"terrains","id":"T394"},
|
||||||
canPass: true,
|
"395": {"cls":"terrains","id":"T395"},
|
||||||
cannotOut: ["left", "right", "down"],
|
"396": {"cls":"items","id":"I396"},
|
||||||
cannotIn: ["up"],
|
"20034": {"cls":"tileset","id":"X20034","canPass":true},
|
||||||
},
|
"20154": {"cls":"tileset","id":"X20154","canPass":true},
|
||||||
162: {
|
"20216": {"cls":"tileset","id":"X20216","canPass":true},
|
||||||
cls: "terrains",
|
"20217": {"cls":"tileset","id":"X20217","canPass":true},
|
||||||
id: "arrowDown",
|
"40054": {"cls":"tileset","id":"X40054","canPass":false},
|
||||||
canPass: true,
|
"40090": {"cls":"tileset","id":"X40090","canPass":true},
|
||||||
cannotOut: ["left", "right", "up"],
|
"50054": {"cls":"tileset","id":"X50054","canPass":false},
|
||||||
cannotIn: ["down"],
|
"70505": {"cls":"tileset","id":"X70505","canPass":true},
|
||||||
},
|
"71182": {"cls":"tileset","id":"X71182","canPass":false},
|
||||||
163: {
|
"71183": {"cls":"tileset","id":"X71183","canPass":false},
|
||||||
cls: "terrains",
|
"71229": {"cls":"tileset","id":"X71229","canPass":true},
|
||||||
id: "arrowLeft",
|
"71818": {"cls":"tileset","id":"X71818","canPass":true},
|
||||||
canPass: true,
|
"71887": {"cls":"tileset","id":"X71887","canPass":true},
|
||||||
cannotOut: ["up", "down", "right"],
|
"80003": {"cls":"tileset","id":"X80003","canPass":true},
|
||||||
cannotIn: ["left"],
|
"80007": {"cls":"tileset","id":"X80007","canPass":true},
|
||||||
},
|
"80010": {"cls":"tileset","id":"X80010","canPass":true},
|
||||||
164: {
|
"80011": {"cls":"tileset","id":"X80011","canPass":true},
|
||||||
cls: "terrains",
|
"80020": {"cls":"tileset","id":"X80020","canPass":true},
|
||||||
id: "arrowRight",
|
"90226": {"cls":"tileset","id":"X90226","canPass":false}
|
||||||
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 },
|
|
||||||
};
|
|
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