修复滑屏/固伤bug

This commit is contained in:
草莓 2025-02-06 15:49:40 +08:00
parent a0cbb8cdb8
commit f81399f453
4 changed files with 552 additions and 730 deletions

View File

@ -368,7 +368,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_docs": "退化扣防",
"_data": "退化时勇士下降的防御力点数"
},
"damage": {
"damage2": {
"_leaf": true,
"_type": "textarea",
"_range": "thiseval==~~thiseval||thiseval==null",

View File

@ -1,7 +1,7 @@
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,"mdef":0},
"redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"value":10,"magic":false},
"greenSlime": {"name":"绿头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"mdef":0},
"redSlime": {"name":"红头怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"value":10},
"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],"mdef":0,"speed":15},
@ -10,9 +10,9 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 =
"vampire": {"name":"冥灵魔王","hp":888,"atk":888,"def":888,"money":888,"exp":888,"point":0,"special":[6],"n":8},
"skeleton": {"name":"骷髅人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"skeletonCaptain": {"name":"骷髅队长","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0,"magic":false},
"zombieKnight": {"name":"兽人武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"rock": {"name":"石头人","hp":50,"atk":50,"def":0,"money":3,"exp":0,"point":0,"special":3},
"zombie": {"name":"兽人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[22]},
"zombieKnight": {"name":"兽人武士","hp":10000,"atk":100,"def":100,"money":0,"exp":0,"point":0,"special":[22],"speed":10,"mdef":0,"damage2":20},
"rock": {"name":"石头人","hp":50,"atk":50,"def":0,"money":3,"exp":0,"point":0,"special":3,"damage2":15},
"bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":[9]},
"redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":0},
"brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":15,"value":100,"range":2},

View File

@ -524,222 +524,41 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
},
"enemys": {
"getSpecials": function () {
// 获得怪物的特殊属性,每一行定义一个特殊属性。
// 分为五项,第一项为该特殊属性的数字,第二项为特殊属性的名字,第三项为特殊属性的描述
// 第四项为该特殊属性的颜色,可以写十六进制 #RRGGBB 或者 [r,g,b,a] 四元数组
// 第五项为该特殊属性的标记;目前 1 代表是地图类技能(需要进行遍历全图)
// 名字和描述可以直接写字符串也可以写个function将怪物传进去
return [
[1, "先攻", "怪物首先攻击", "#ffcc33"],
[3, "坚固", "怪物防御不小于角色攻击-1", "#c0b088"],
[
6,
function (enemy) {
return (enemy.n || "") + "连击";
},
function (enemy) {
return "怪物每回合攻击" + (enemy.n || 4) + "次";
},
"#ffee77",
],
[
7,
"破甲",
function (enemy) {
return (
"战斗前,怪物附加角色防御的" +
Math.floor(
100 * (enemy.breakArmor || core.values.breakArmor || 0)
) +
"%作为伤害"
);
},
"#88c0ff",
],
[
8,
"反击",
function (enemy) {
return (
"战斗时,怪物每回合附加角色攻击的" +
Math.floor(
100 * (enemy.counterAttack || core.values.counterAttack || 0)
) +
"%作为伤害,无视角色防御"
);
},
"#ffaa44",
],
[
9,
"净化",
function (enemy) {
return (
"战斗前,怪物附加角色护盾的" +
(enemy.purify || core.values.purify) +
"倍作为伤害"
);
},
"#80eed6",
],
[10, "模仿", "怪物的攻防和角色攻防相等", "#b0c0dd"],
[
11,
"吸血",
function (enemy) {
return (
"战斗前,怪物首先吸取角色的" +
Math.floor(100 * enemy.vampire || 0) +
"%生命(约" +
Math.floor((enemy.vampire || 0) * core.getStatus("hp")) +
"点)作为伤害" +
(enemy.add ? ",并把伤害数值加到自身生命上" : "")
);
},
"#dd4448",
],
[
12,
"中毒",
"战斗后,角色陷入中毒状态,每一步损失生命" +
core.values.poisonDamage +
"点",
"#99ee88",
],
[
13,
"衰弱",
"战斗后,角色陷入衰弱状态,攻防暂时下降" +
(core.values.weakValue >= 1
? core.values.weakValue + "点"
: parseInt(core.values.weakValue * 100) + "%"),
"#f0bbcc",
],
[
14,
"诅咒",
"战斗后,角色陷入诅咒状态,战斗无法获得金币和经验",
"#bbeef0",
],
[
15,
"领域",
function (enemy) {
return (
"经过怪物周围" +
(enemy.zoneSquare ? "九宫格" : "十字") +
"范围内" +
(enemy.range || 1) +
"格时自动减生命" +
(enemy.zone || 0) +
"点"
);
},
"#c677dd",
],
[16, "夹击", "经过两只相同的怪物中间,角色生命值变成一半", "#bb99ee"],
[
17,
"仇恨",
"战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" +
(core.values.hatred || 0) +
"点仇恨值)",
"#b0b666",
],
[
18,
"阻击",
function (enemy) {
return (
"经过怪物周围" +
(enemy.zoneSquare ? "九宫格" : "十字") +
"时自动减生命" +
(enemy.repulse || 0) +
"点,同时怪物后退一格"
);
},
"#8888e6",
],
[19, "自爆", "战斗后角色的生命值变成1", "#ff6666"],
[20, "无敌", "角色无法打败怪物,除非拥有十字架", "#aaaaaa"],
[
21,
"退化",
function (enemy) {
return (
"战斗后角色永久下降" +
(enemy.atkValue || 0) +
"点攻击和" +
(enemy.defValue || 0) +
"点防御"
);
},
],
[
22,
"固伤",
function (enemy) {
return (
"战斗前,怪物对角色造成" +
(enemy.damage || 0) +
"点固定伤害,未开启负伤时无视角色护盾。"
);
},
"#ff9977",
],
[23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现", "#a0e0ff"],
[
24,
"激光",
function (enemy) {
return "经过怪物同行或同列时自动减生命" + (enemy.laser || 0) + "点";
},
"#dda0dd",
],
[
25,
"光环",
function (enemy) {
return (
(enemy.range != null
? (enemy.haloSquare ? "该怪物九宫格" : "该怪物十字") +
enemy.haloRange +
"格范围内"
: "同楼层所有") +
"怪物生命提升" +
(enemy.hpBuff || 0) +
"%,攻击提升" +
(enemy.atkBuff || 0) +
"%,防御提升" +
(enemy.defBuff || 0) +
"%" +
(enemy.haloAdd ? "可叠加" : "不可叠加")
);
},
"#e6e099",
1,
],
[
26,
"支援",
"当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。",
"#77c0b6",
1,
],
[
27,
"捕捉",
function (enemy) {
return (
"当走到怪物周围" +
(enemy.zoneSquare ? "九宫格" : "十字") +
"时会强制进行战斗。"
);
},
"#c0ddbb",
],
];
},
// 获得怪物的特殊属性,每一行定义一个特殊属性。
// 分为五项,第一项为该特殊属性的数字,第二项为特殊属性的名字,第三项为特殊属性的描述
// 第四项为该特殊属性的颜色,可以写十六进制 #RRGGBB 或者 [r,g,b,a] 四元数组
// 第五项为该特殊属性的标记;目前 1 代表是地图类技能(需要进行遍历全图)
// 名字和描述可以直接写字符串也可以写个function将怪物传进去
return [
[1, "先攻", "怪物首先攻击", "#ffcc33"],
[2, "魔攻", "怪物无视角色的防御", "#bbb0ff"],
[3, "坚固", "怪物防御不小于角色攻击-1", "#c0b088"],
[4, "2连击", "怪物每回合攻击2次", "#ffee77"],
[5, "3连击", "怪物每回合攻击3次", "#ffee77"],
[6, function (enemy) { return (enemy.n || '') + "连击"; }, function (enemy) { return "怪物每回合攻击" + (enemy.n || 4) + "次"; }, "#ffee77"],
[7, "破甲", function (enemy) { return "战斗前,怪物附加角色防御的" + Math.floor(100 * (enemy.breakArmor || core.values.breakArmor || 0)) + "%作为伤害"; }, "#88c0ff"],
[8, "反击", function (enemy) { return "战斗时,怪物每回合附加角色攻击的" + Math.floor(100 * (enemy.counterAttack || core.values.counterAttack || 0)) + "%作为伤害,无视角色防御"; }, "#ffaa44"],
[9, "净化", function (enemy) { return "战斗前,怪物附加角色护盾的" + (enemy.purify || core.values.purify) + "倍作为伤害"; }, "#80eed6"],
[10, "模仿", "怪物的攻防和角色攻防相等", "#b0c0dd"],
[11, "吸血", function (enemy) { return "战斗前,怪物首先吸取角色的" + Math.floor(100 * enemy.vampire || 0) + "%生命(约" + Math.floor((enemy.vampire || 0) * core.getStatus('hp')) + "点)作为伤害" + (enemy.add ? ",并把伤害数值加到自身生命上" : ""); }, "#dd4448"],
[12, "中毒", "战斗后,角色陷入中毒状态,每一步损失生命" + core.values.poisonDamage + "点", "#99ee88"],
[13, "衰弱", "战斗后,角色陷入衰弱状态,攻防暂时下降" + (core.values.weakValue >= 1 ? core.values.weakValue + "点" : parseInt(core.values.weakValue * 100) + "%"), "#f0bbcc"],
[14, "诅咒", "战斗后,角色陷入诅咒状态,战斗无法获得金币和经验", "#bbeef0"],
[15, "领域", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "范围内" + (enemy.range || 1) + "格时自动减生命" + (enemy.zone || 0) + "点"; }, "#c677dd"],
[16, "夹击", "经过两只相同的怪物中间,角色生命值变成一半", "#bb99ee"],
[17, "仇恨", "战斗前,怪物附加之前积累的仇恨值作为伤害;战斗后,释放一半的仇恨值。(每杀死一个怪物获得" + (core.values.hatred || 0) + "点仇恨值)", "#b0b666"],
[18, "阻击", function (enemy) { return "经过怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时自动减生命" + (enemy.repulse || 0) + "点,同时怪物后退一格"; }, "#8888e6"],
[19, "自爆", "战斗后角色的生命值变成1", "#ff6666"],
[20, "无敌", "角色无法打败怪物,除非拥有十字架", "#aaaaaa"],
[21, "退化", function (enemy) { return "战斗后角色永久下降" + (enemy.atkValue || 0) + "点攻击和" + (enemy.defValue || 0) + "点防御"; }],
[22, "固伤", function (enemy) { return "战斗前,怪物对角色造成" + (enemy.damage2 || 0) + "点固定伤害,未开启负伤时无视角色护盾。"; }, "#ff9977"],
[23, "重生", "怪物被击败后,角色转换楼层则怪物将再次出现", "#a0e0ff"],
[24, "激光", function (enemy) { return "经过怪物同行或同列时自动减生命" + (enemy.laser || 0) + "点"; }, "#dda0dd"],
[25, "光环", function (enemy) { return (enemy.range != null ? ((enemy.haloSquare ? "该怪物九宫格" : "该怪物十字") + enemy.haloRange + "格范围内") : "同楼层所有") + "怪物生命提升" + (enemy.hpBuff || 0) + "%,攻击提升" + (enemy.atkBuff || 0) + "%,防御提升" + (enemy.defBuff || 0) + "%" + (enemy.haloAdd ? "可叠加" : "不可叠加"); }, "#e6e099", 1],
[26, "支援", "当周围一圈的怪物受到攻击时将上前支援,并组成小队战斗。", "#77c0b6", 1],
[27, "捕捉", function (enemy) { return "当走到怪物周围" + (enemy.zoneSquare ? "九宫格" : "十字") + "时会强制进行战斗。"; }, "#c0ddbb"]
];
},
"getEnemyInfo": function (enemy, hero, x, y, floorId) {
// 获得某个怪物变化后的数据;该函数将被伤害计算和怪物手册使用
// 例如:坚固、模仿、仿攻等等

File diff suppressed because it is too large Load Diff