mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 13:17:32 +00:00
fix: 展柜更新真斗面板报错;更新真斗评分规则
This commit is contained in:
parent
715b3f88f4
commit
7889186979
7 changed files with 79 additions and 46 deletions
|
|
@ -519,5 +519,19 @@ const special = {
|
||||||
final: 2
|
final: 2
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
1441: {
|
||||||
|
id: 1441,
|
||||||
|
name: '狛野真斗',
|
||||||
|
initial_after_format: (properties) => {
|
||||||
|
special[1371].initial_after_format(properties, {});
|
||||||
|
properties[20] = {
|
||||||
|
property_name: '闪能自动累积',
|
||||||
|
property_id: 20,
|
||||||
|
base: 0,
|
||||||
|
add: 0,
|
||||||
|
final: 0
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -603,5 +603,20 @@ const special: Record<number, {
|
||||||
final: 2
|
final: 2
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
1441: {
|
||||||
|
id: 1441,
|
||||||
|
name: '狛野真斗',
|
||||||
|
initial_after_format: (properties) => {
|
||||||
|
// 贯穿力处理与仪玄相同
|
||||||
|
special[1371].initial_after_format!(properties, {} as any)
|
||||||
|
properties[20] = {
|
||||||
|
property_name: '闪能自动累积',
|
||||||
|
property_id: 20,
|
||||||
|
base: 0,
|
||||||
|
add: 0,
|
||||||
|
final: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -495,7 +495,7 @@ export class Calculator {
|
||||||
}
|
}
|
||||||
get_ATK(skill, usefulBuffs) {
|
get_ATK(skill, usefulBuffs) {
|
||||||
let ATK = this.get('攻击力', this.initial_properties.ATK, skill, usefulBuffs, true);
|
let ATK = this.get('攻击力', this.initial_properties.ATK, skill, usefulBuffs, true);
|
||||||
ATK = min_max(0, 10000, ATK);
|
ATK = this.min_max(0, 10000, ATK);
|
||||||
logger.debug(`攻击力:${ATK}`);
|
logger.debug(`攻击力:${ATK}`);
|
||||||
return ATK;
|
return ATK;
|
||||||
}
|
}
|
||||||
|
|
@ -506,37 +506,37 @@ export class Calculator {
|
||||||
}
|
}
|
||||||
get_CRITRate(skill, usefulBuffs) {
|
get_CRITRate(skill, usefulBuffs) {
|
||||||
let CRITRate = this.get('暴击率', this.initial_properties.CRITRate, skill, usefulBuffs);
|
let CRITRate = this.get('暴击率', this.initial_properties.CRITRate, skill, usefulBuffs);
|
||||||
CRITRate = min_max(0, 1, CRITRate);
|
CRITRate = this.min_max(0, 1, CRITRate);
|
||||||
logger.debug(`暴击率:${CRITRate}`);
|
logger.debug(`暴击率:${CRITRate}`);
|
||||||
return CRITRate;
|
return CRITRate;
|
||||||
}
|
}
|
||||||
get_CRITDMG(skill, usefulBuffs) {
|
get_CRITDMG(skill, usefulBuffs) {
|
||||||
let CRITDMG = this.get('暴击伤害', this.initial_properties.CRITDMG, skill, usefulBuffs);
|
let CRITDMG = this.get('暴击伤害', this.initial_properties.CRITDMG, skill, usefulBuffs);
|
||||||
CRITDMG = min_max(0, 5, CRITDMG);
|
CRITDMG = this.min_max(0, 5, CRITDMG);
|
||||||
logger.debug(`暴击伤害:${CRITDMG}`);
|
logger.debug(`暴击伤害:${CRITDMG}`);
|
||||||
return CRITDMG;
|
return CRITDMG;
|
||||||
}
|
}
|
||||||
get_BoostArea(skill, usefulBuffs) {
|
get_BoostArea(skill, usefulBuffs) {
|
||||||
let BoostArea = this.get('增伤', 1, skill, usefulBuffs);
|
let BoostArea = this.get('增伤', 1, skill, usefulBuffs);
|
||||||
BoostArea = min_max(0, 6, BoostArea);
|
BoostArea = this.min_max(0, 6, BoostArea);
|
||||||
logger.debug(`增伤区:${BoostArea}`);
|
logger.debug(`增伤区:${BoostArea}`);
|
||||||
return BoostArea;
|
return BoostArea;
|
||||||
}
|
}
|
||||||
get_VulnerabilityArea(skill, usefulBuffs) {
|
get_VulnerabilityArea(skill, usefulBuffs) {
|
||||||
let VulnerabilityArea = this.get('易伤', 1, skill, usefulBuffs);
|
let VulnerabilityArea = this.get('易伤', 1, skill, usefulBuffs);
|
||||||
VulnerabilityArea = min_max(0.2, 2, VulnerabilityArea);
|
VulnerabilityArea = this.min_max(0.2, 2, VulnerabilityArea);
|
||||||
logger.debug(`易伤区:${VulnerabilityArea}`);
|
logger.debug(`易伤区:${VulnerabilityArea}`);
|
||||||
return VulnerabilityArea;
|
return VulnerabilityArea;
|
||||||
}
|
}
|
||||||
get_StunVulnerabilityArea(skill, usefulBuffs) {
|
get_StunVulnerabilityArea(skill, usefulBuffs) {
|
||||||
let StunVulnerabilityArea = this.get('失衡易伤', 1, skill, usefulBuffs);
|
let StunVulnerabilityArea = this.get('失衡易伤', 1, skill, usefulBuffs);
|
||||||
StunVulnerabilityArea = min_max(0.2, 5, StunVulnerabilityArea);
|
StunVulnerabilityArea = this.min_max(0.2, 5, StunVulnerabilityArea);
|
||||||
StunVulnerabilityArea !== 1 && logger.debug(`失衡易伤区:${StunVulnerabilityArea}`);
|
StunVulnerabilityArea !== 1 && logger.debug(`失衡易伤区:${StunVulnerabilityArea}`);
|
||||||
return StunVulnerabilityArea;
|
return StunVulnerabilityArea;
|
||||||
}
|
}
|
||||||
get_ResistanceArea(skill, usefulBuffs) {
|
get_ResistanceArea(skill, usefulBuffs) {
|
||||||
let ResistanceArea = this.get('无视抗性', 1 - this.enemy.resistance, skill, usefulBuffs);
|
let ResistanceArea = this.get('无视抗性', 1 - this.enemy.resistance, skill, usefulBuffs);
|
||||||
ResistanceArea = min_max(0, 2, ResistanceArea);
|
ResistanceArea = this.min_max(0, 2, ResistanceArea);
|
||||||
logger.debug(`抗性区:${ResistanceArea}`);
|
logger.debug(`抗性区:${ResistanceArea}`);
|
||||||
return ResistanceArea;
|
return ResistanceArea;
|
||||||
}
|
}
|
||||||
|
|
@ -566,7 +566,7 @@ export class Calculator {
|
||||||
const PenRatio = this.get_PenRatio(skill, usefulBuffs);
|
const PenRatio = this.get_PenRatio(skill, usefulBuffs);
|
||||||
const defence = DEF * (1 - IgnoreDEF);
|
const defence = DEF * (1 - IgnoreDEF);
|
||||||
const effective_defence = Math.max(0, defence * (1 - PenRatio) - Pen);
|
const effective_defence = Math.max(0, defence * (1 - PenRatio) - Pen);
|
||||||
const DefenceArea = min_max(0, 1, base / (effective_defence + base));
|
const DefenceArea = this.min_max(0, 1, base / (effective_defence + base));
|
||||||
logger.debug(`防御区:${DefenceArea}`);
|
logger.debug(`防御区:${DefenceArea}`);
|
||||||
return DefenceArea;
|
return DefenceArea;
|
||||||
}
|
}
|
||||||
|
|
@ -582,31 +582,31 @@ export class Calculator {
|
||||||
}
|
}
|
||||||
get_AnomalyMastery(skill, usefulBuffs) {
|
get_AnomalyMastery(skill, usefulBuffs) {
|
||||||
let AnomalyMastery = this.get('异常掌控', this.initial_properties.AnomalyMastery, skill, usefulBuffs, true);
|
let AnomalyMastery = this.get('异常掌控', this.initial_properties.AnomalyMastery, skill, usefulBuffs, true);
|
||||||
AnomalyMastery = min_max(0, 1000, AnomalyMastery);
|
AnomalyMastery = this.min_max(0, 1000, AnomalyMastery);
|
||||||
logger.debug(`异常掌控:${AnomalyMastery}`);
|
logger.debug(`异常掌控:${AnomalyMastery}`);
|
||||||
return AnomalyMastery;
|
return AnomalyMastery;
|
||||||
}
|
}
|
||||||
get_AnomalyProficiencyArea(skill, usefulBuffs) {
|
get_AnomalyProficiencyArea(skill, usefulBuffs) {
|
||||||
const AnomalyProficiency = this.get_AnomalyProficiency(skill, usefulBuffs);
|
const AnomalyProficiency = this.get_AnomalyProficiency(skill, usefulBuffs);
|
||||||
const AnomalyProficiencyArea = min_max(0, 10, AnomalyProficiency / 100);
|
const AnomalyProficiencyArea = this.min_max(0, 10, AnomalyProficiency / 100);
|
||||||
logger.debug(`异常精通区:${AnomalyProficiencyArea}`);
|
logger.debug(`异常精通区:${AnomalyProficiencyArea}`);
|
||||||
return AnomalyProficiencyArea;
|
return AnomalyProficiencyArea;
|
||||||
}
|
}
|
||||||
get_AnomalyBoostArea(skill, usefulBuffs) {
|
get_AnomalyBoostArea(skill, usefulBuffs) {
|
||||||
let AnomalyBoostArea = this.get('异常增伤', 1, skill, usefulBuffs);
|
let AnomalyBoostArea = this.get('异常增伤', 1, skill, usefulBuffs);
|
||||||
AnomalyBoostArea = min_max(0, 3, AnomalyBoostArea);
|
AnomalyBoostArea = this.min_max(0, 3, AnomalyBoostArea);
|
||||||
AnomalyBoostArea !== 1 && logger.debug(`异常增伤区:${AnomalyBoostArea}`);
|
AnomalyBoostArea !== 1 && logger.debug(`异常增伤区:${AnomalyBoostArea}`);
|
||||||
return AnomalyBoostArea;
|
return AnomalyBoostArea;
|
||||||
}
|
}
|
||||||
get_AnomalyCRITRate(skill, usefulBuffs) {
|
get_AnomalyCRITRate(skill, usefulBuffs) {
|
||||||
let AnomalyCRITRate = this.get('异常暴击率', 0, skill, usefulBuffs);
|
let AnomalyCRITRate = this.get('异常暴击率', 0, skill, usefulBuffs);
|
||||||
AnomalyCRITRate = min_max(0, 1, AnomalyCRITRate);
|
AnomalyCRITRate = this.min_max(0, 1, AnomalyCRITRate);
|
||||||
AnomalyCRITRate && logger.debug(`异常暴击率:${AnomalyCRITRate}`);
|
AnomalyCRITRate && logger.debug(`异常暴击率:${AnomalyCRITRate}`);
|
||||||
return AnomalyCRITRate;
|
return AnomalyCRITRate;
|
||||||
}
|
}
|
||||||
get_AnomalyCRITDMG(skill, usefulBuffs) {
|
get_AnomalyCRITDMG(skill, usefulBuffs) {
|
||||||
let AnomalyCRITDMG = this.get('异常暴击伤害', 0, skill, usefulBuffs);
|
let AnomalyCRITDMG = this.get('异常暴击伤害', 0, skill, usefulBuffs);
|
||||||
AnomalyCRITDMG = min_max(0, 5, AnomalyCRITDMG);
|
AnomalyCRITDMG = this.min_max(0, 5, AnomalyCRITDMG);
|
||||||
AnomalyCRITDMG && logger.debug(`异常暴击伤害:${AnomalyCRITDMG}`);
|
AnomalyCRITDMG && logger.debug(`异常暴击伤害:${AnomalyCRITDMG}`);
|
||||||
return AnomalyCRITDMG;
|
return AnomalyCRITDMG;
|
||||||
}
|
}
|
||||||
|
|
@ -617,36 +617,36 @@ export class Calculator {
|
||||||
}
|
}
|
||||||
get_HP(skill, usefulBuffs) {
|
get_HP(skill, usefulBuffs) {
|
||||||
let HP = this.get('生命值', this.initial_properties.HP, skill, usefulBuffs, true);
|
let HP = this.get('生命值', this.initial_properties.HP, skill, usefulBuffs, true);
|
||||||
HP = min_max(0, 100000, HP);
|
HP = this.min_max(0, 100000, HP);
|
||||||
logger.debug(`生命值:${HP}`);
|
logger.debug(`生命值:${HP}`);
|
||||||
return HP;
|
return HP;
|
||||||
}
|
}
|
||||||
get_DEF(skill, usefulBuffs) {
|
get_DEF(skill, usefulBuffs) {
|
||||||
let DEF = this.get('防御力', this.initial_properties.DEF, skill, usefulBuffs, true);
|
let DEF = this.get('防御力', this.initial_properties.DEF, skill, usefulBuffs, true);
|
||||||
DEF = min_max(0, 1000, DEF);
|
DEF = this.min_max(0, 1000, DEF);
|
||||||
logger.debug(`防御力:${DEF}`);
|
logger.debug(`防御力:${DEF}`);
|
||||||
return DEF;
|
return DEF;
|
||||||
}
|
}
|
||||||
get_Impact(skill, usefulBuffs) {
|
get_Impact(skill, usefulBuffs) {
|
||||||
let Impact = this.get('冲击力', this.initial_properties.Impact, skill, usefulBuffs, true);
|
let Impact = this.get('冲击力', this.initial_properties.Impact, skill, usefulBuffs, true);
|
||||||
Impact = min_max(0, 1000, Impact);
|
Impact = this.min_max(0, 1000, Impact);
|
||||||
logger.debug(`冲击力:${Impact}`);
|
logger.debug(`冲击力:${Impact}`);
|
||||||
return Impact;
|
return Impact;
|
||||||
}
|
}
|
||||||
get_SheerForce(skill, usefulBuffs) {
|
get_SheerForce(skill, usefulBuffs) {
|
||||||
let SheerForce = Math.trunc(this.get_ATK(skill, usefulBuffs) * 0.3);
|
let SheerForce = Math.trunc(this.get_ATK(skill, usefulBuffs) * 0.3);
|
||||||
SheerForce = this.get('贯穿力', SheerForce, skill, usefulBuffs, true);
|
SheerForce = this.get('贯穿力', SheerForce, skill, usefulBuffs, true);
|
||||||
SheerForce = min_max(0, 10000, SheerForce);
|
SheerForce = this.min_max(0, 10000, SheerForce);
|
||||||
logger.debug(`贯穿力:${SheerForce}`);
|
logger.debug(`贯穿力:${SheerForce}`);
|
||||||
return SheerForce;
|
return SheerForce;
|
||||||
}
|
}
|
||||||
get_SheerBoostArea(skill, usefulBuffs) {
|
get_SheerBoostArea(skill, usefulBuffs) {
|
||||||
let SheerBoostArea = this.get('贯穿增伤', 1, skill, usefulBuffs);
|
let SheerBoostArea = this.get('贯穿增伤', 1, skill, usefulBuffs);
|
||||||
SheerBoostArea = min_max(0.2, 9, SheerBoostArea);
|
SheerBoostArea = this.min_max(0.2, 9, SheerBoostArea);
|
||||||
SheerBoostArea !== 1 && logger.debug(`贯穿增伤区:${SheerBoostArea}`);
|
SheerBoostArea !== 1 && logger.debug(`贯穿增伤区:${SheerBoostArea}`);
|
||||||
return SheerBoostArea;
|
return SheerBoostArea;
|
||||||
}
|
}
|
||||||
}
|
min_max(min, max, value) {
|
||||||
function min_max(min, max, value) {
|
return Math.min(Math.max(value, min), max);
|
||||||
return Math.min(Math.max(value, min), max);
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -758,7 +758,7 @@ export class Calculator {
|
||||||
/** 攻击力 */
|
/** 攻击力 */
|
||||||
get_ATK(skill?: skill, usefulBuffs?: buff[]) {
|
get_ATK(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let ATK = this.get('攻击力', this.initial_properties.ATK, skill, usefulBuffs, true)
|
let ATK = this.get('攻击力', this.initial_properties.ATK, skill, usefulBuffs, true)
|
||||||
ATK = min_max(0, 10000, ATK)
|
ATK = this.min_max(0, 10000, ATK)
|
||||||
logger.debug(`攻击力:${ATK}`)
|
logger.debug(`攻击力:${ATK}`)
|
||||||
return ATK
|
return ATK
|
||||||
}
|
}
|
||||||
|
|
@ -773,7 +773,7 @@ export class Calculator {
|
||||||
/** 暴击率 */
|
/** 暴击率 */
|
||||||
get_CRITRate(skill?: skill, usefulBuffs?: buff[]) {
|
get_CRITRate(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let CRITRate = this.get('暴击率', this.initial_properties.CRITRate, skill, usefulBuffs)
|
let CRITRate = this.get('暴击率', this.initial_properties.CRITRate, skill, usefulBuffs)
|
||||||
CRITRate = min_max(0, 1, CRITRate)
|
CRITRate = this.min_max(0, 1, CRITRate)
|
||||||
logger.debug(`暴击率:${CRITRate}`)
|
logger.debug(`暴击率:${CRITRate}`)
|
||||||
return CRITRate
|
return CRITRate
|
||||||
}
|
}
|
||||||
|
|
@ -781,7 +781,7 @@ export class Calculator {
|
||||||
/** 暴击伤害 */
|
/** 暴击伤害 */
|
||||||
get_CRITDMG(skill?: skill, usefulBuffs?: buff[]) {
|
get_CRITDMG(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let CRITDMG = this.get('暴击伤害', this.initial_properties.CRITDMG, skill, usefulBuffs)
|
let CRITDMG = this.get('暴击伤害', this.initial_properties.CRITDMG, skill, usefulBuffs)
|
||||||
CRITDMG = min_max(0, 5, CRITDMG)
|
CRITDMG = this.min_max(0, 5, CRITDMG)
|
||||||
logger.debug(`暴击伤害:${CRITDMG}`)
|
logger.debug(`暴击伤害:${CRITDMG}`)
|
||||||
return CRITDMG
|
return CRITDMG
|
||||||
}
|
}
|
||||||
|
|
@ -789,7 +789,7 @@ export class Calculator {
|
||||||
/** 增伤区 */
|
/** 增伤区 */
|
||||||
get_BoostArea(skill?: skill, usefulBuffs?: buff[]) {
|
get_BoostArea(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let BoostArea = this.get('增伤', 1, skill, usefulBuffs)
|
let BoostArea = this.get('增伤', 1, skill, usefulBuffs)
|
||||||
BoostArea = min_max(0, 6, BoostArea)
|
BoostArea = this.min_max(0, 6, BoostArea)
|
||||||
logger.debug(`增伤区:${BoostArea}`)
|
logger.debug(`增伤区:${BoostArea}`)
|
||||||
return BoostArea
|
return BoostArea
|
||||||
}
|
}
|
||||||
|
|
@ -797,7 +797,7 @@ export class Calculator {
|
||||||
/** (减)易伤区 */
|
/** (减)易伤区 */
|
||||||
get_VulnerabilityArea(skill?: skill, usefulBuffs?: buff[]) {
|
get_VulnerabilityArea(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let VulnerabilityArea = this.get('易伤', 1, skill, usefulBuffs)
|
let VulnerabilityArea = this.get('易伤', 1, skill, usefulBuffs)
|
||||||
VulnerabilityArea = min_max(0.2, 2, VulnerabilityArea)
|
VulnerabilityArea = this.min_max(0.2, 2, VulnerabilityArea)
|
||||||
logger.debug(`易伤区:${VulnerabilityArea}`)
|
logger.debug(`易伤区:${VulnerabilityArea}`)
|
||||||
return VulnerabilityArea
|
return VulnerabilityArea
|
||||||
}
|
}
|
||||||
|
|
@ -805,7 +805,7 @@ export class Calculator {
|
||||||
/** 失衡易伤区 */
|
/** 失衡易伤区 */
|
||||||
get_StunVulnerabilityArea(skill?: skill, usefulBuffs?: buff[]) {
|
get_StunVulnerabilityArea(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let StunVulnerabilityArea = this.get('失衡易伤', 1, skill, usefulBuffs)
|
let StunVulnerabilityArea = this.get('失衡易伤', 1, skill, usefulBuffs)
|
||||||
StunVulnerabilityArea = min_max(0.2, 5, StunVulnerabilityArea)
|
StunVulnerabilityArea = this.min_max(0.2, 5, StunVulnerabilityArea)
|
||||||
StunVulnerabilityArea !== 1 && logger.debug(`失衡易伤区:${StunVulnerabilityArea}`)
|
StunVulnerabilityArea !== 1 && logger.debug(`失衡易伤区:${StunVulnerabilityArea}`)
|
||||||
return StunVulnerabilityArea
|
return StunVulnerabilityArea
|
||||||
}
|
}
|
||||||
|
|
@ -813,7 +813,7 @@ export class Calculator {
|
||||||
/** 抗性区 */
|
/** 抗性区 */
|
||||||
get_ResistanceArea(skill?: skill, usefulBuffs?: buff[]) {
|
get_ResistanceArea(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let ResistanceArea = this.get('无视抗性', 1 - this.enemy.resistance, skill, usefulBuffs)
|
let ResistanceArea = this.get('无视抗性', 1 - this.enemy.resistance, skill, usefulBuffs)
|
||||||
ResistanceArea = min_max(0, 2, ResistanceArea)
|
ResistanceArea = this.min_max(0, 2, ResistanceArea)
|
||||||
logger.debug(`抗性区:${ResistanceArea}`)
|
logger.debug(`抗性区:${ResistanceArea}`)
|
||||||
return ResistanceArea
|
return ResistanceArea
|
||||||
}
|
}
|
||||||
|
|
@ -855,7 +855,7 @@ export class Calculator {
|
||||||
const defence = DEF * (1 - IgnoreDEF)
|
const defence = DEF * (1 - IgnoreDEF)
|
||||||
/** 有效防御 */
|
/** 有效防御 */
|
||||||
const effective_defence = Math.max(0, defence * (1 - PenRatio) - Pen)
|
const effective_defence = Math.max(0, defence * (1 - PenRatio) - Pen)
|
||||||
const DefenceArea = min_max(0, 1, base / (effective_defence + base))
|
const DefenceArea = this.min_max(0, 1, base / (effective_defence + base))
|
||||||
logger.debug(`防御区:${DefenceArea}`)
|
logger.debug(`防御区:${DefenceArea}`)
|
||||||
return DefenceArea
|
return DefenceArea
|
||||||
}
|
}
|
||||||
|
|
@ -877,7 +877,7 @@ export class Calculator {
|
||||||
/** 异常掌控 */
|
/** 异常掌控 */
|
||||||
get_AnomalyMastery(skill?: skill, usefulBuffs?: buff[]) {
|
get_AnomalyMastery(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let AnomalyMastery = this.get('异常掌控', this.initial_properties.AnomalyMastery, skill, usefulBuffs, true)
|
let AnomalyMastery = this.get('异常掌控', this.initial_properties.AnomalyMastery, skill, usefulBuffs, true)
|
||||||
AnomalyMastery = min_max(0, 1000, AnomalyMastery)
|
AnomalyMastery = this.min_max(0, 1000, AnomalyMastery)
|
||||||
logger.debug(`异常掌控:${AnomalyMastery}`)
|
logger.debug(`异常掌控:${AnomalyMastery}`)
|
||||||
return AnomalyMastery
|
return AnomalyMastery
|
||||||
}
|
}
|
||||||
|
|
@ -885,7 +885,7 @@ export class Calculator {
|
||||||
/** 异常精通区 */
|
/** 异常精通区 */
|
||||||
get_AnomalyProficiencyArea(skill?: skill, usefulBuffs?: buff[]) {
|
get_AnomalyProficiencyArea(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
const AnomalyProficiency = this.get_AnomalyProficiency(skill, usefulBuffs)
|
const AnomalyProficiency = this.get_AnomalyProficiency(skill, usefulBuffs)
|
||||||
const AnomalyProficiencyArea = min_max(0, 10, AnomalyProficiency / 100)
|
const AnomalyProficiencyArea = this.min_max(0, 10, AnomalyProficiency / 100)
|
||||||
logger.debug(`异常精通区:${AnomalyProficiencyArea}`)
|
logger.debug(`异常精通区:${AnomalyProficiencyArea}`)
|
||||||
return AnomalyProficiencyArea
|
return AnomalyProficiencyArea
|
||||||
}
|
}
|
||||||
|
|
@ -893,7 +893,7 @@ export class Calculator {
|
||||||
/** 异常增伤区 */
|
/** 异常增伤区 */
|
||||||
get_AnomalyBoostArea(skill?: skill, usefulBuffs?: buff[]) {
|
get_AnomalyBoostArea(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let AnomalyBoostArea = this.get('异常增伤', 1, skill, usefulBuffs)
|
let AnomalyBoostArea = this.get('异常增伤', 1, skill, usefulBuffs)
|
||||||
AnomalyBoostArea = min_max(0, 3, AnomalyBoostArea)
|
AnomalyBoostArea = this.min_max(0, 3, AnomalyBoostArea)
|
||||||
AnomalyBoostArea !== 1 && logger.debug(`异常增伤区:${AnomalyBoostArea}`)
|
AnomalyBoostArea !== 1 && logger.debug(`异常增伤区:${AnomalyBoostArea}`)
|
||||||
return AnomalyBoostArea
|
return AnomalyBoostArea
|
||||||
}
|
}
|
||||||
|
|
@ -901,7 +901,7 @@ export class Calculator {
|
||||||
/** 异常暴击率 */
|
/** 异常暴击率 */
|
||||||
get_AnomalyCRITRate(skill?: skill, usefulBuffs?: buff[]) {
|
get_AnomalyCRITRate(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let AnomalyCRITRate = this.get('异常暴击率', 0, skill, usefulBuffs)
|
let AnomalyCRITRate = this.get('异常暴击率', 0, skill, usefulBuffs)
|
||||||
AnomalyCRITRate = min_max(0, 1, AnomalyCRITRate)
|
AnomalyCRITRate = this.min_max(0, 1, AnomalyCRITRate)
|
||||||
AnomalyCRITRate && logger.debug(`异常暴击率:${AnomalyCRITRate}`)
|
AnomalyCRITRate && logger.debug(`异常暴击率:${AnomalyCRITRate}`)
|
||||||
return AnomalyCRITRate
|
return AnomalyCRITRate
|
||||||
}
|
}
|
||||||
|
|
@ -909,7 +909,7 @@ export class Calculator {
|
||||||
/** 异常暴击伤害 */
|
/** 异常暴击伤害 */
|
||||||
get_AnomalyCRITDMG(skill?: skill, usefulBuffs?: buff[]) {
|
get_AnomalyCRITDMG(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let AnomalyCRITDMG = this.get('异常暴击伤害', 0, skill, usefulBuffs)
|
let AnomalyCRITDMG = this.get('异常暴击伤害', 0, skill, usefulBuffs)
|
||||||
AnomalyCRITDMG = min_max(0, 5, AnomalyCRITDMG)
|
AnomalyCRITDMG = this.min_max(0, 5, AnomalyCRITDMG)
|
||||||
AnomalyCRITDMG && logger.debug(`异常暴击伤害:${AnomalyCRITDMG}`)
|
AnomalyCRITDMG && logger.debug(`异常暴击伤害:${AnomalyCRITDMG}`)
|
||||||
return AnomalyCRITDMG
|
return AnomalyCRITDMG
|
||||||
}
|
}
|
||||||
|
|
@ -924,7 +924,7 @@ export class Calculator {
|
||||||
/** 生命值 */
|
/** 生命值 */
|
||||||
get_HP(skill?: skill, usefulBuffs?: buff[]) {
|
get_HP(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let HP = this.get('生命值', this.initial_properties.HP, skill, usefulBuffs, true)
|
let HP = this.get('生命值', this.initial_properties.HP, skill, usefulBuffs, true)
|
||||||
HP = min_max(0, 100000, HP)
|
HP = this.min_max(0, 100000, HP)
|
||||||
logger.debug(`生命值:${HP}`)
|
logger.debug(`生命值:${HP}`)
|
||||||
return HP
|
return HP
|
||||||
}
|
}
|
||||||
|
|
@ -932,7 +932,7 @@ export class Calculator {
|
||||||
/** 防御力 */
|
/** 防御力 */
|
||||||
get_DEF(skill?: skill, usefulBuffs?: buff[]) {
|
get_DEF(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let DEF = this.get('防御力', this.initial_properties.DEF, skill, usefulBuffs, true)
|
let DEF = this.get('防御力', this.initial_properties.DEF, skill, usefulBuffs, true)
|
||||||
DEF = min_max(0, 1000, DEF)
|
DEF = this.min_max(0, 1000, DEF)
|
||||||
logger.debug(`防御力:${DEF}`)
|
logger.debug(`防御力:${DEF}`)
|
||||||
return DEF
|
return DEF
|
||||||
}
|
}
|
||||||
|
|
@ -940,7 +940,7 @@ export class Calculator {
|
||||||
/** 冲击力 */
|
/** 冲击力 */
|
||||||
get_Impact(skill?: skill, usefulBuffs?: buff[]) {
|
get_Impact(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let Impact = this.get('冲击力', this.initial_properties.Impact, skill, usefulBuffs, true)
|
let Impact = this.get('冲击力', this.initial_properties.Impact, skill, usefulBuffs, true)
|
||||||
Impact = min_max(0, 1000, Impact)
|
Impact = this.min_max(0, 1000, Impact)
|
||||||
logger.debug(`冲击力:${Impact}`)
|
logger.debug(`冲击力:${Impact}`)
|
||||||
return Impact
|
return Impact
|
||||||
}
|
}
|
||||||
|
|
@ -950,7 +950,7 @@ export class Calculator {
|
||||||
// 默认取 攻击力*0.3
|
// 默认取 攻击力*0.3
|
||||||
let SheerForce = Math.trunc(this.get_ATK(skill, usefulBuffs) * 0.3)
|
let SheerForce = Math.trunc(this.get_ATK(skill, usefulBuffs) * 0.3)
|
||||||
SheerForce = this.get('贯穿力', SheerForce, skill, usefulBuffs, true)
|
SheerForce = this.get('贯穿力', SheerForce, skill, usefulBuffs, true)
|
||||||
SheerForce = min_max(0, 10000, SheerForce)
|
SheerForce = this.min_max(0, 10000, SheerForce)
|
||||||
logger.debug(`贯穿力:${SheerForce}`)
|
logger.debug(`贯穿力:${SheerForce}`)
|
||||||
return SheerForce
|
return SheerForce
|
||||||
}
|
}
|
||||||
|
|
@ -958,13 +958,13 @@ export class Calculator {
|
||||||
/** 贯穿增伤区 */
|
/** 贯穿增伤区 */
|
||||||
get_SheerBoostArea(skill?: skill, usefulBuffs?: buff[]) {
|
get_SheerBoostArea(skill?: skill, usefulBuffs?: buff[]) {
|
||||||
let SheerBoostArea = this.get('贯穿增伤', 1, skill, usefulBuffs)
|
let SheerBoostArea = this.get('贯穿增伤', 1, skill, usefulBuffs)
|
||||||
SheerBoostArea = min_max(0.2, 9, SheerBoostArea)
|
SheerBoostArea = this.min_max(0.2, 9, SheerBoostArea)
|
||||||
SheerBoostArea !== 1 && logger.debug(`贯穿增伤区:${SheerBoostArea}`)
|
SheerBoostArea !== 1 && logger.debug(`贯穿增伤区:${SheerBoostArea}`)
|
||||||
return SheerBoostArea
|
return SheerBoostArea
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
min_max(min: number, max: number, value: number) {
|
||||||
|
return Math.min(Math.max(value, min), max)
|
||||||
|
}
|
||||||
|
|
||||||
function min_max(min: number, max: number, value: number) {
|
|
||||||
return Math.min(Math.max(value, min), max)
|
|
||||||
}
|
}
|
||||||
|
|
@ -76,5 +76,9 @@
|
||||||
"异常精通": 0,
|
"异常精通": 0,
|
||||||
"异常掌控": 0,
|
"异常掌控": 0,
|
||||||
"属性伤害加成": 0
|
"属性伤害加成": 0
|
||||||
|
},
|
||||||
|
"狛野真斗": {
|
||||||
|
"rules": ["命破·双爆"],
|
||||||
|
"生命值百分比": 0.5
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -85,12 +85,12 @@
|
||||||
<div class="properties">
|
<div class="properties">
|
||||||
<div class="prop-icon sheerforce"></div>
|
<div class="prop-icon sheerforce"></div>
|
||||||
<div class="label yellow">贯穿力</div>
|
<div class="label yellow">贯穿力</div>
|
||||||
<div class="value">{{basic_properties.sheerforce.final}}</div>
|
<div class="value">{{basic_properties.sheerforce ? basic_properties.sheerforce.final : 0}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="properties">
|
<div class="properties">
|
||||||
<div class="prop-icon sprecover"></div>
|
<div class="prop-icon sprecover"></div>
|
||||||
<div class="label white">闪能累积</div>
|
<div class="label white">闪能累积</div>
|
||||||
<div class="value">{{basic_properties.adrenalineaccumulate.final}}</div>
|
<div class="value">{{basic_properties.adrenalineaccumulate ? basic_properties.adrenalineaccumulate.final : 0}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|
|
||||||
|
|
@ -85,12 +85,12 @@
|
||||||
<div class="properties">
|
<div class="properties">
|
||||||
<div class="prop-icon sheerforce"></div>
|
<div class="prop-icon sheerforce"></div>
|
||||||
<div class="label yellow">贯穿力</div>
|
<div class="label yellow">贯穿力</div>
|
||||||
<div class="value">{{basic_properties.sheerforce.final}}</div>
|
<div class="value">{{basic_properties.sheerforce ? basic_properties.sheerforce.final : 0}}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="properties">
|
<div class="properties">
|
||||||
<div class="prop-icon sprecover"></div>
|
<div class="prop-icon sprecover"></div>
|
||||||
<div class="label white">闪能累积</div>
|
<div class="label white">闪能累积</div>
|
||||||
<div class="value">{{basic_properties.adrenalineaccumulate.final}}</div>
|
<div class="value">{{basic_properties.adrenalineaccumulate ? basic_properties.adrenalineaccumulate.final : 0}}</div>
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="properties">
|
<div class="properties">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue