特殊属性全部完成

This commit is contained in:
strawberry 2025-07-02 17:42:22 +08:00
parent 371c23b713
commit 4a633a063e
4 changed files with 345 additions and 721 deletions

View File

@ -255,41 +255,107 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_docs": "特殊属性数值", "_docs": "特殊属性数值",
"_data": "特殊属性的数值\n如领域/阻激/激光怪的伤害值;光环怪增加生命的比例" "_data": "特殊属性的数值\n如领域/阻激/激光怪的伤害值;光环怪增加生命的比例"
}, },
"zone": { "baoshang": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "领域伤害", "_docs": "暴击伤害",
"_data": "领域怪的伤害值" "_data": "暴击伤害的数值此项为百分数。如20为20%"
}, },
"repulse": { "baoji": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "阻击伤害", "_docs": "暴击回合",
"_data": "阻击怪的伤害值" "_data": "怪物每进行多少回合进行一次暴击"
}, },
"laser": { "duck": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "激光伤害", "_docs": "闪避回合",
"_data": "激光怪的伤害值" "_data": "怪物每受到多少次普通攻击进行一次闪避"
},
"absorb": {
"_leaf": true,
"_type": "textarea",
"_docs": "汲取效果",
"_data": "怪物对角色护盾造成破坏时将窃取破坏数值的一定比例作为自身护盾此项为百分数。如20为20%"
},
"gravity": {
"_leaf": true,
"_type": "textarea",
"_docs": "重力效果",
"_data": "怪物操纵角色的重力每携带一件双手装备速度下降4x%每携带一件单手装备速度下降2x%每携带一件其他装备速度下降x%此项为百分数。如20为20%"
},
"cold": {
"_leaf": true,
"_type": "textarea",
"_docs": "寒霜回合",
"_data": "怪物前多少次回合附加寒霜0为每回合"
},
"coldValue": {
"_leaf": true,
"_type": "textarea",
"_docs": "寒霜效果",
"_data": "每层寒霜下降的速度"
},
"fire": {
"_leaf": true,
"_type": "textarea",
"_docs": "灼炎效果",
"_data": "每层灼炎熔毁的防御"
},
"wind": {
"_leaf": true,
"_type": "textarea",
"_docs": "风行效果",
"_data": "每层风行提高的速度"
},
"light": {
"_leaf": true,
"_type": "textarea",
"_docs": "闪电效果",
"_data": "闪电对护盾伤害提升效果百分比此项为百分数。如20为20%"
},
"poison": {
"_leaf": true,
"_type": "textarea",
"_docs": "毒素效果",
"_data": "每层毒素造成的生命流失"
},
"tear": {
"_leaf": true,
"_type": "textarea",
"_docs": "撕裂效果",
"_data": "怪物的普通攻击附加角色当前已损失生命值的百分比此项为百分数。如20为20%"
},
"immolate": {
"_leaf": true,
"_type": "textarea",
"_docs": "献祭伤害",
"_data": "每次献祭造成的伤害"
}, },
"breakArmor": { "breakArmor": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "破甲比例", "_docs": "破甲比例",
"_data": "破甲百分比" "_data": "破甲百分比此项为百分数。如20为20%"
}, },
"counterAttack": { "onceBreakArmor": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "反击比例", "_docs": "首次额外破甲比例",
"_data": "反击百分比" "_data": "额外破甲百分比此项为百分数。如20为20%,首次伤害与破甲比例加算"
}, },
"vampire": { "vampire": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
"_docs": "吸血比例", "_docs": "吸血比例",
"_data": "吸血怪的吸血百分比" "_data": "吸血怪的吸血百分比,此项为百分数。如20为20%,仅计算破盾后伤害"
},
"curseValue": {
"_leaf": true,
"_type": "textarea",
"_docs": "诅咒倍率",
"_data": "触发诅咒时魔法伤害提升比例此项为百分数。如20为20%"
}, },
"hpBuff": { "hpBuff": {
"_leaf": true, "_leaf": true,
@ -297,6 +363,7 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_docs": "光环加血", "_docs": "光环加血",
"_data": "光环怪增加生命的比例" "_data": "光环怪增加生命的比例"
}, },
"atkBuff": { "atkBuff": {
"_leaf": true, "_leaf": true,
"_type": "textarea", "_type": "textarea",
@ -341,53 +408,14 @@ var comment_c456ea59_6018_45ef_8bcc_211a24c627dc = {
"_docs": "不可炸", "_docs": "不可炸",
"_data": "该怪物不可被炸" "_data": "该怪物不可被炸"
}, },
"n": {
"_leaf": true,
"_type": "textarea",
"_range": "(thiseval==~~thiseval && thiseval>0)||thiseval==null",
"_docs": "连击数",
"_data": "多连击的连击数,净化怪的净化倍率"
},
"purify": {
"_leaf": true,
"_type": "textarea",
"_range": "(thiseval==~~thiseval && thiseval>0)||thiseval==null",
"_docs": "净化倍率",
"_data": "净化百分比"
},
"add": {
"_leaf": true,
"_type": "checkbox",
"_docs": "吸血加到自身",
"_data": "吸血后是否加到自身"
},
"haloAdd": { "haloAdd": {
"_leaf": true, "_leaf": true,
"_type": "checkbox", "_type": "checkbox",
"_docs": "光环是否叠加", "_docs": "光环是否叠加",
"_data": "光环是否叠加" "_data": "光环是否叠加"
}, },
"atkValue": {
"_leaf": true,
"_type": "textarea",
"_range": "thiseval==~~thiseval||thiseval==null",
"_docs": "退化扣攻",
"_data": "退化时勇士下降的攻击力点数"
},
"defValue": {
"_leaf": true,
"_type": "textarea",
"_range": "thiseval==~~thiseval||thiseval==null",
"_docs": "退化扣防",
"_data": "退化时勇士下降的防御力点数"
},
"damage": {
"_leaf": true,
"_type": "textarea",
"_range": "thiseval==~~thiseval||thiseval==null",
"_docs": "固伤",
"_data": "战前扣血的点数"
},
"beforeBattle": { "beforeBattle": {
"_leaf": true, "_leaf": true,
"_type": "event", "_type": "event",

View File

@ -1557,7 +1557,6 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
}, },
"flags": { "flags": {
"itemDetail": true, "itemDetail": true,
"useBetweenLight": true,
"__mdef_buff__": 0, "__mdef_buff__": 0,
"popmove": true "popmove": true
}, },

File diff suppressed because it is too large Load Diff

View File

@ -20194,6 +20194,8 @@ let time=0
while (oneTurn * i / max < 15) { while (oneTurn * i / max < 15) {
i++ i++
} }
heroInfo.turn = 0
enemyInfo.turn = 0
heroInfo.now *= i heroInfo.now *= i
enemyInfo.now *= i enemyInfo.now *= i
equipInfo.forEach(v => { v.now *= i }) equipInfo.forEach(v => { v.now *= i })
@ -20815,11 +20817,13 @@ let time=0
} }
let nowattacking = false; let nowattacking = false;
if (heroInfo.now >= oneTurn && !heroInfo.isAttack) { if (heroInfo.now >= oneTurn && !heroInfo.isAttack) {
heroInfo.turn++
heroInfo.onAttack = false; heroInfo.onAttack = false;
heroInfo.isAttack = true; heroInfo.isAttack = true;
nowattacking = true; nowattacking = true;
} }
if (enemyInfo.now >= oneTurn && !enemyInfo.isAttack) { if (enemyInfo.now >= oneTurn && !enemyInfo.isAttack) {
enemyInfo.turn++
enemyInfo.onAttack = false; enemyInfo.onAttack = false;
enemyInfo.isAttack = true; enemyInfo.isAttack = true;
nowattacking = true; nowattacking = true;
@ -20834,9 +20838,14 @@ let time=0
} }
}); });
if (!attack && nowattacking) { if (!attack && nowattacking) {
let herodamage = enemyDiffList[turn].hp; let herodamage = enemyDiffList[turn].hp;
if (herodamage > 0) herodamage = "+" + herodamage; if (herodamage > 0) herodamage = "+" + herodamage;
let text = herodamage === 0 ? "抵抗" : herodamage; let text
if (core.hasSpecial(enemyInfo.id, 2) && (enemyInfo.turn - 1) % core.material.enemys[enemyInfo.id].baoji)
text = "暴击" + herodamage
else
text = herodamage === 0 ? "抵抗" : herodamage;
Dove.MorePerform.ShowDamagePop.PopDamage( Dove.MorePerform.ShowDamagePop.PopDamage(
ctx, // 默认画布名称 ctx, // 默认画布名称
@ -20862,7 +20871,10 @@ let time=0
enemyanimateList[turn].forEach((v) => animateonAttack(v, true)); enemyanimateList[turn].forEach((v) => animateonAttack(v, true));
let enemydamage = heroDiffList[turn].hp; let enemydamage = heroDiffList[turn].hp;
if (enemydamage > 0) enemydamage = "+" + enemydamage; if (enemydamage > 0) enemydamage = "+" + enemydamage;
text = enemydamage === 0 ? "抵抗" : enemydamage; if (core.hasSpecial(enemyInfo.id, 8) && (heroInfo.turn - 1) % core.material.enemys[enemyInfo.id].duck)
text = "闪避"
else
text = enemydamage === 0 ? "抵抗" : enemydamage;
Dove.MorePerform.ShowDamagePop.PopDamage( Dove.MorePerform.ShowDamagePop.PopDamage(
ctx, // 默认画布名称 ctx, // 默认画布名称
110, // 英雄位置 x 110, // 英雄位置 x
@ -24420,7 +24432,7 @@ let time=0
centerX += core.bigmap.offsetX; centerX += core.bigmap.offsetX;
centerY += core.bigmap.offsetY; centerY += core.bigmap.offsetY;
} }
var id = setTimeout(null); var id = Symbol();
animate.se = animate.se || {}; animate.se = animate.se || {};
if (typeof animate.se == 'string') animate.se = { 1: animate.se }; if (typeof animate.se == 'string') animate.se = { 1: animate.se };
tran.mode(linear()).time(1).absolute() tran.mode(linear()).time(1).absolute()
@ -24458,7 +24470,7 @@ let time=0
animate.se = animate.se || {}; animate.se = animate.se || {};
if (typeof animate.se == 'string') animate.se = { 1: animate.se }; if (typeof animate.se == 'string') animate.se = { 1: animate.se };
var id = id || setTimeout(null); var id = id || Symbol();
tran.mode(linear()).time(1).absolute() tran.mode(linear()).time(1).absolute()
if (!hero) tran.value[id + name + "x"] = centerX if (!hero) tran.value[id + name + "x"] = centerX
if (!hero) tran.value[id + name + "y"] = centerY if (!hero) tran.value[id + name + "y"] = centerY
@ -24663,7 +24675,7 @@ let time=0
if (!flags["animate_" + name]) { if (!flags["animate_" + name]) {
callback?.() callback?.()
} }
if (!id) id = setTimeout(null) if (!id) id = Symbol()
tran.mode(linear()).time(1).absolute() tran.mode(linear()).time(1).absolute()
if (!hero) tran.value[id + name + "x"] = x if (!hero) tran.value[id + name + "x"] = x
if (!hero) tran.value[id + name + "y"] = y if (!hero) tran.value[id + name + "y"] = y
@ -24680,11 +24692,11 @@ let time=0
loop: loop, loop: loop,
reverse: reverse, reverse: reverse,
farme: reverse ? flags["animate_" + name].allFarme : 0, farme: reverse ? flags["animate_" + name].allFarme : 0,
callback: callback
}; };
core.plugin.playing.add(data); core.plugin.playing.add(data);
callback?.()
return id return id
}; };
this.animateloop = function (id, loop) { this.animateloop = function (id, loop) {
@ -24738,6 +24750,7 @@ let time=0
} }
} }
if ((!one.reverse && one.farme > data.allFarme) || (one.reverse && one.farme < 0)) { if ((!one.reverse && one.farme > data.allFarme) || (one.reverse && one.farme < 0)) {
one.callback?.()
delete tran.value[one.id + one.name + "x"] delete tran.value[one.id + one.name + "x"]
delete tran.value[one.id + one.name + "y"] delete tran.value[one.id + one.name + "y"]
core.plugin.playing.delete(one) core.plugin.playing.delete(one)