拯救被启动服务污染的插件

This commit is contained in:
草莓 2025-03-08 11:22:56 +08:00
parent c18057e927
commit 03e5576c16
3 changed files with 34 additions and 18 deletions

View File

@ -1555,9 +1555,9 @@ var data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d =
"followers": [],
"steps": 0,
"matk": 0,
"spell": 0,
"spell": 100,
"spelldef": 0,
"mhp": 0
"mhp": 42
},
"startCanvas": [
{

View File

@ -1062,7 +1062,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let per_damage = Math.max(enemyinfo.atk - heroinfo.def, 0),
per_mdamage = Math.floor(enemyinfo.spell * (100 - heroinfo.mdef) / 100);
//这里记录伤害触发后的属性变化和动画同时计入diff、damage
//这里记录伤害触发后的属性变化和动画同时计入diff、damage(不要在此直接修改heroinfo和enemyinfo)
if (core.hasSpecial(mon_special, 6)) {
hero_damage += per_damage * enemy.n + per_mdamage * enemy.n
} else {
@ -1071,12 +1071,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let animate = core.plugin.enemyanimate[enemy.id] ?? "sword"
//这里可通过if更改默认的怪物攻击特效
hero_animate.push(animate) //勇士身上绘制sword动画
if (heroinfo.mhp - hero_damage >= 0) {
heroinfo.mhp = heroinfo.mhp - hero_damage
if (heroinfo.mhp + (hero_diff.mhp ?? 0) - hero_damage >= 0) {
hero_diff.mhp = (hero_diff.mhp ?? 0) - hero_damage
hero_damage = 0
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
} else {
hero_damage -= heroinfo.mhp
heroinfo.hp -= hero_damage
hero_damage -= heroinfo.mhp + (hero_diff.mhp ?? 0)
hero_diff.mhp = (hero_diff.mhp ?? 0) - heroinfo.mhp - (hero_diff.mhp ?? 0)
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
}
@ -1089,7 +1091,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (v.onAttack) {
let mon_damage = 0
let hero_damage = 0
//这里写生效装备的技能效果同时对双方属性的修改计入diff
//这里写生效装备的技能效果同时对双方属性的修改计入diff(不要在此直接修改heroinfo和enemyinfo)
let animate = core.plugin.equipanimate[v.id] ?? "sword"
//这里可通过if更改默认的道具特效
enemy_animate.push(animate) //勇士身上绘制动画
@ -1104,6 +1106,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
enemyDiffList.push(enemy_diff)
heroanimateList.push(hero_animate)
enemyanimateList.push(enemy_animate)
//处理属性变化
for (let v in hero_diff) {
heroinfo[v] += hero_diff[v]
}
for (let v in enemy_diff) {
enemyinfo[v] += enemy_diff[v]
}
continue //进入下一循环
}
heroinfo.now += heroinfo.speed
@ -1124,12 +1133,12 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let per_damage = Math.max(heroinfo.atk - enemyinfo.def, 0)
let per_mdamage = Math.max(Math.floor(heroinfo.matk * (100 - enemyinfo.mdef) / 100), 0)
mon_damage = per_damage + per_mdamage
//这里记录伤害触发后的属性变化和动画同时计入diff
//这里记录伤害触发后的属性变化和动画同时计入diff(不要在此直接修改heroinfo和enemyinfo)
let animate = core.plugin.heroanimate[equip0] ?? "sword"
//这里可通过if更改默认的武器攻击特效
enemy_animate.push(animate)
enemyinfo.hp -= mon_damage
enemy_diff.hp = (enemy_diff.hp ?? 0) - mon_damage
heroinfo.now -= oneTurn
hero_turn++
@ -1145,7 +1154,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let per_damage = Math.max(enemyinfo.atk - heroinfo.def, 0),
per_mdamage = Math.floor(enemyinfo.spell * (100 - heroinfo.mdef) / 100);
//这里记录伤害触发后的属性变化和动画同时计入diff、damage
//这里记录伤害触发后的属性变化和动画同时计入diff、damage(不要在此直接修改heroinfo和enemyinfo)
if (core.hasSpecial(mon_special, 6)) {
hero_damage += per_damage * enemy.n + per_mdamage * enemy.n
} else {
@ -1154,12 +1163,14 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
let animate = core.plugin.enemyanimate[enemy.id] ?? "sword"
//这里可通过if更改默认的怪物攻击特效
hero_animate.push(animate) //勇士身上绘制sword动画
if (heroinfo.mhp - hero_damage >= 0) {
heroinfo.mhp = heroinfo.mhp - hero_damage
if (heroinfo.mhp + (hero_diff.mhp ?? 0) - hero_damage >= 0) {
hero_diff.mhp = (hero_diff.mhp ?? 0) - hero_damage
hero_damage = 0
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
} else {
hero_damage -= heroinfo.mhp
heroinfo.hp -= hero_damage
hero_damage -= heroinfo.mhp + (hero_diff.mhp ?? 0)
hero_diff.mhp = (hero_diff.mhp ?? 0) - heroinfo.mhp - (hero_diff.mhp ?? 0)
hero_diff.hp = (hero_diff.hp ?? 0) - hero_damage
}
@ -1172,7 +1183,7 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
if (v.now >= oneTurn) {
let mon_damage = 0
let hero_damage = 0
//这里写生效装备的技能效果同时对双方属性的修改计入diff
//这里写生效装备的技能效果同时对双方属性的修改计入diff(不要在此直接修改heroinfo和enemyinfo)
let animate = core.plugin.equipanimate[v.id] ?? "sword"
//这里可通过if更改默认的道具特效
enemy_animate.push(animate) //怪物身上绘制动画
@ -1188,6 +1199,13 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a =
enemyDiffList.push(enemy_diff)
heroanimateList.push(hero_animate)
enemyanimateList.push(enemy_animate)
//处理属性变化
for (let v in hero_diff) {
heroinfo[v] += hero_diff[v]
}
for (let v in enemy_diff) {
enemyinfo[v] += enemy_diff[v]
}
let a = hero_turn % 50 //出手50回合怪物生命未降低直接判负避免死循环
if (a === 0) {
if (enemyinfo.hp >= beforehp) {

View File

@ -304,8 +304,6 @@ var plugins_bb40132b_638b_4a9f_b028_d3fe47acc8d1 =
ctx.fillRect(0, 0, ctx.canvas.width, ctx.canvas.height);
lightDec = core.clamp(lightDec, 0, 1);
// 绘制每个灯光效果
ctx.globalCompositeOperation = "destination-out";
lights.forEach(function (light) {
// 坐标,半径,中心不透明度