雨果伤害计算等

This commit is contained in:
UCPr 2025-08-12 02:47:00 +08:00
parent 14af1a20e1
commit 151f87093a
20 changed files with 340 additions and 53 deletions

View file

@ -67,14 +67,14 @@ export interface buff {
}) => number)
/**
* Buff增益技能类型****
* - **redirect****range**
* - **redirect****range****redirect**
* - **redirect****range**
* - **redirect****range****type****redirect**
* - 使**include****exclude**
*/
range?: string[] | anomaly[] | "追加攻击"[]
/**
* Buff增益技能类型****
* - **range**
* - **range**
* - **range****include**buff对**exclude**
* - **range****include**buff生效
* - **redirect****range****include****include****redirect**
@ -82,7 +82,7 @@ export interface buff {
include?: string[]
/**
* Buff增益技能类型****
* - **include**
* - **include**
* - **range****include**
*/
exclude?: string[]
@ -205,15 +205,15 @@ export class BuffManager {
const buffRange = buff.range
const skillRange = param.range?.filter(r => typeof r === 'string')
if (!skillRange?.length) return true // 对任意类型生效
// buff作用范围向后覆盖
// 存在重定向时range须全匹配redirect向后覆盖
// buff作用范围向后覆盖生效
// 存在重定向时range与type全匹配时生效redirect向后覆盖生效
else if (param.redirect) {
if (skillRange.some(ST => buffRange.some(BT => BT === ST))) return true
const redirect = Array.isArray(param.redirect) ? param.redirect : [param.redirect]
if (buffRange.some(BT => redirect.some(RT => RT.startsWith(BT)))) return true
return false
}
// 不存在重定向时range向后覆盖
// 不存在重定向时range向后覆盖生效
return skillRange.some(ST => buffRange.some(BT => ST.startsWith(BT)))
}
// 00
@ -276,8 +276,8 @@ export class BuffManager {
/**
* **** buff
* - range数组的筛选
* - range须全匹配redirect向后覆盖
* - range向后覆盖
* - range向后覆盖生效
* - range与type全匹配时生效redirect向后覆盖生效
*/
filter(obj: Partial<Pick<buff, filterable>> & { element: element, redirect?: skill['redirect'] }, calc?: Calculator): buff[]
/**