mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 21:27:47 +00:00
rebase: 优化
This commit is contained in:
parent
62952f33b1
commit
5a3d7502f9
2 changed files with 194 additions and 150 deletions
|
|
@ -15,149 +15,190 @@ const skilldict = getMapData('SkillData');
|
||||||
*/
|
*/
|
||||||
export const avatar_ability = (data, base_detail, bonus_detail) => {
|
export const avatar_ability = (data, base_detail, bonus_detail) => {
|
||||||
const damagelist = [];
|
const damagelist = [];
|
||||||
if (data.id == 1191) {
|
switch (data.id) {
|
||||||
/** 处理命座加成 */
|
case 1191:
|
||||||
if (data.rank >= 1) {
|
/** 处理命座加成 */
|
||||||
const CriticalChanceBase = _.get(bonus_detail, 'CriticalChanceBase', 0);
|
if (data.rank >= 1) {
|
||||||
bonus_detail['CriticalChanceBase'] = CriticalChanceBase + 0.12;
|
const CriticalChanceBase = _.get(bonus_detail, 'CriticalChanceBase', 0);
|
||||||
}
|
bonus_detail['CriticalChanceBase'] = CriticalChanceBase + 0.12;
|
||||||
if (data.rank >= 2) {
|
}
|
||||||
const ES_CriticalDamageBase = _.get(
|
if (data.rank >= 2) {
|
||||||
|
const ES_CriticalDamageBase = _.get(
|
||||||
|
bonus_detail,
|
||||||
|
'ES_CriticalDamageBase',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
bonus_detail['ES_CriticalDamageBase'] = ES_CriticalDamageBase + 0.6;
|
||||||
|
const EH_CriticalDamageBase = _.get(
|
||||||
|
bonus_detail,
|
||||||
|
'EH_CriticalDamageBase',
|
||||||
|
0
|
||||||
|
);
|
||||||
|
bonus_detail['EH_CriticalDamageBase'] = EH_CriticalDamageBase + 0.6;
|
||||||
|
}
|
||||||
|
if (data.rank >= 6) {
|
||||||
|
const PenRatio = _.get(bonus_detail, 'PenRatioBase', 0);
|
||||||
|
bonus_detail['PenRatioBase'] = PenRatio + 0.2;
|
||||||
|
|
||||||
|
const C_DmgAdd = _.get(bonus_detail, 'C_DmgAdd', 0);
|
||||||
|
bonus_detail['C_DmgAdd'] = C_DmgAdd + 2.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 处理天赋加成 */
|
||||||
|
/** 获取天赋等级与加成倍率 */
|
||||||
|
const CDB = getskilllevelnum(data.id, data.skills, 'T', 'T');
|
||||||
|
const C_CriticalDamageBase = _.get(
|
||||||
bonus_detail,
|
bonus_detail,
|
||||||
'ES_CriticalDamageBase',
|
'C_CriticalDamageBase',
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
bonus_detail['ES_CriticalDamageBase'] = ES_CriticalDamageBase + 0.6;
|
bonus_detail['C_CriticalDamageBase'] = C_CriticalDamageBase + CDB;
|
||||||
const EH_CriticalDamageBase = _.get(
|
const A_CriticalDamageBase = _.get(
|
||||||
bonus_detail,
|
bonus_detail,
|
||||||
'EH_CriticalDamageBase',
|
'A_CriticalDamageBase',
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
bonus_detail['EH_CriticalDamageBase'] = EH_CriticalDamageBase + 0.6;
|
bonus_detail['A_CriticalDamageBase'] = A_CriticalDamageBase + CDB;
|
||||||
}
|
|
||||||
if (data.rank >= 6) {
|
|
||||||
const PenRatio = _.get(bonus_detail, 'PenRatioBase', 0);
|
|
||||||
bonus_detail['PenRatioBase'] = PenRatio + 0.2;
|
|
||||||
|
|
||||||
const C_DmgAdd = _.get(bonus_detail, 'C_DmgAdd', 0);
|
const IceDmgAdd = _.get(bonus_detail, 'Ice_DmgAdd', 0);
|
||||||
bonus_detail['C_DmgAdd'] = C_DmgAdd + 2.5;
|
bonus_detail['Ice_DmgAdd'] = IceDmgAdd + 0.3;
|
||||||
}
|
|
||||||
|
|
||||||
/** 处理天赋加成 */
|
/** 计算伤害 */
|
||||||
/** 获取天赋等级与加成倍率 */
|
/** 计算普攻伤害 */
|
||||||
const CDB = getskilllevelnum(data.id, data.skills, 'T', 'T');
|
const skill_multiplier1 = getskilllevelnum(
|
||||||
const C_CriticalDamageBase = _.get(bonus_detail, 'C_CriticalDamageBase', 0);
|
data.id,
|
||||||
bonus_detail['C_CriticalDamageBase'] = C_CriticalDamageBase + CDB;
|
data.skills,
|
||||||
const A_CriticalDamageBase = _.get(bonus_detail, 'A_CriticalDamageBase', 0);
|
'A',
|
||||||
bonus_detail['A_CriticalDamageBase'] = A_CriticalDamageBase + CDB;
|
'A'
|
||||||
|
);
|
||||||
|
const damagelist1 = calculate_damage(
|
||||||
|
base_detail,
|
||||||
|
bonus_detail,
|
||||||
|
'A',
|
||||||
|
'A',
|
||||||
|
'Ice',
|
||||||
|
skill_multiplier1,
|
||||||
|
data.level
|
||||||
|
);
|
||||||
|
const damage1 = {
|
||||||
|
title: '普通攻击:急冻修剪法',
|
||||||
|
value: damagelist1,
|
||||||
|
};
|
||||||
|
damagelist.push(damage1);
|
||||||
|
|
||||||
const IceDmgAdd = _.get(bonus_detail, 'Ice_DmgAdd', 0);
|
/** 计算冲刺伤害 */
|
||||||
bonus_detail['Ice_DmgAdd'] = IceDmgAdd + 0.3;
|
const skill_multiplier2 = getskilllevelnum(
|
||||||
|
data.id,
|
||||||
|
data.skills,
|
||||||
|
'C',
|
||||||
|
'C'
|
||||||
|
);
|
||||||
|
const damagelist2 = calculate_damage(
|
||||||
|
base_detail,
|
||||||
|
bonus_detail,
|
||||||
|
'C',
|
||||||
|
'C',
|
||||||
|
'Ice',
|
||||||
|
skill_multiplier2,
|
||||||
|
data.level
|
||||||
|
);
|
||||||
|
const damage2 = {
|
||||||
|
title: '冲刺攻击:冰渊潜袭',
|
||||||
|
value: damagelist2,
|
||||||
|
};
|
||||||
|
damagelist.push(damage2);
|
||||||
|
|
||||||
/** 计算伤害 */
|
/** 计算特殊技伤害 */
|
||||||
/** 计算普攻伤害 */
|
const skill_multiplier3 = getskilllevelnum(
|
||||||
const skill_multiplier1 = getskilllevelnum(data.id, data.skills, 'A', 'A');
|
data.id,
|
||||||
const damagelist1 = calculate_damage(
|
data.skills,
|
||||||
base_detail,
|
'E',
|
||||||
bonus_detail,
|
'EH'
|
||||||
'A',
|
);
|
||||||
'A',
|
const damagelist3 = calculate_damage(
|
||||||
'Ice',
|
base_detail,
|
||||||
skill_multiplier1,
|
bonus_detail,
|
||||||
data.level
|
'E',
|
||||||
);
|
'EH',
|
||||||
const damage1 = {
|
'Ice',
|
||||||
title: '普通攻击:急冻修剪法',
|
skill_multiplier3,
|
||||||
value: damagelist1,
|
data.level
|
||||||
};
|
);
|
||||||
damagelist.push(damage1);
|
const damage3 = {
|
||||||
|
title: '强化特殊技:横扫',
|
||||||
|
value: damagelist3,
|
||||||
|
};
|
||||||
|
damagelist.push(damage3);
|
||||||
|
|
||||||
/** 计算冲刺伤害 */
|
const skill_multiplier4 = getskilllevelnum(
|
||||||
const skill_multiplier2 = getskilllevelnum(data.id, data.skills, 'C', 'C');
|
data.id,
|
||||||
const damagelist2 = calculate_damage(
|
data.skills,
|
||||||
base_detail,
|
'E',
|
||||||
bonus_detail,
|
'ES'
|
||||||
'C',
|
);
|
||||||
'C',
|
const damagelist4 = calculate_damage(
|
||||||
'Ice',
|
base_detail,
|
||||||
skill_multiplier2,
|
bonus_detail,
|
||||||
data.level
|
'E',
|
||||||
);
|
'ES',
|
||||||
const damage2 = {
|
'Ice',
|
||||||
title: '冲刺攻击:冰渊潜袭',
|
skill_multiplier4,
|
||||||
value: damagelist2,
|
data.level
|
||||||
};
|
);
|
||||||
damagelist.push(damage2);
|
const damage4 = {
|
||||||
|
title: '强化特殊技:鲨卷风',
|
||||||
|
value: damagelist4,
|
||||||
|
};
|
||||||
|
damagelist.push(damage4);
|
||||||
|
|
||||||
/** 计算特殊技伤害 */
|
/** 计算连携技伤害 */
|
||||||
const skill_multiplier3 = getskilllevelnum(data.id, data.skills, 'E', 'EH');
|
const skill_multiplier5 = getskilllevelnum(
|
||||||
const damagelist3 = calculate_damage(
|
data.id,
|
||||||
base_detail,
|
data.skills,
|
||||||
bonus_detail,
|
'R',
|
||||||
'E',
|
'RL'
|
||||||
'EH',
|
);
|
||||||
'Ice',
|
const damagelist5 = calculate_damage(
|
||||||
skill_multiplier3,
|
base_detail,
|
||||||
data.level
|
bonus_detail,
|
||||||
);
|
'RL',
|
||||||
const damage3 = {
|
'RL',
|
||||||
title: '强化特殊技:横扫',
|
'Ice',
|
||||||
value: damagelist3,
|
skill_multiplier5,
|
||||||
};
|
data.level
|
||||||
damagelist.push(damage3);
|
);
|
||||||
|
const damage5 = {
|
||||||
|
title: '连携技:雪崩',
|
||||||
|
value: damagelist5,
|
||||||
|
};
|
||||||
|
damagelist.push(damage5);
|
||||||
|
|
||||||
const skill_multiplier4 = getskilllevelnum(data.id, data.skills, 'E', 'ES');
|
/** 计算终结技伤害 */
|
||||||
const damagelist4 = calculate_damage(
|
const skill_multiplier6 = getskilllevelnum(
|
||||||
base_detail,
|
data.id,
|
||||||
bonus_detail,
|
data.skills,
|
||||||
'E',
|
'R',
|
||||||
'ES',
|
'R'
|
||||||
'Ice',
|
);
|
||||||
skill_multiplier4,
|
const damagelist6 = calculate_damage(
|
||||||
data.level
|
base_detail,
|
||||||
);
|
bonus_detail,
|
||||||
const damage4 = {
|
'R',
|
||||||
title: '强化特殊技:鲨卷风',
|
'R',
|
||||||
value: damagelist4,
|
'Ice',
|
||||||
};
|
skill_multiplier6,
|
||||||
damagelist.push(damage4);
|
data.level
|
||||||
|
);
|
||||||
|
const damage6 = {
|
||||||
|
title: '终结技:永冬狂宴',
|
||||||
|
value: damagelist6,
|
||||||
|
};
|
||||||
|
damagelist.push(damage6);
|
||||||
|
|
||||||
/** 计算连携技伤害 */
|
logger.debug('伤害', damagelist);
|
||||||
const skill_multiplier5 = getskilllevelnum(data.id, data.skills, 'R', 'RL');
|
break;
|
||||||
const damagelist5 = calculate_damage(
|
|
||||||
base_detail,
|
|
||||||
bonus_detail,
|
|
||||||
'RL',
|
|
||||||
'RL',
|
|
||||||
'Ice',
|
|
||||||
skill_multiplier5,
|
|
||||||
data.level
|
|
||||||
);
|
|
||||||
const damage5 = {
|
|
||||||
title: '连携技:雪崩',
|
|
||||||
value: damagelist5,
|
|
||||||
};
|
|
||||||
damagelist.push(damage5);
|
|
||||||
|
|
||||||
/** 计算终结技伤害 */
|
|
||||||
const skill_multiplier6 = getskilllevelnum(data.id, data.skills, 'R', 'R');
|
|
||||||
const damagelist6 = calculate_damage(
|
|
||||||
base_detail,
|
|
||||||
bonus_detail,
|
|
||||||
'R',
|
|
||||||
'R',
|
|
||||||
'Ice',
|
|
||||||
skill_multiplier6,
|
|
||||||
data.level
|
|
||||||
);
|
|
||||||
const damage6 = {
|
|
||||||
title: '终结技:永冬狂宴',
|
|
||||||
value: damagelist6,
|
|
||||||
};
|
|
||||||
damagelist.push(damage6);
|
|
||||||
|
|
||||||
logger.debug('伤害', damagelist);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return damagelist;
|
return damagelist;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,28 +10,31 @@ import { ZZZAvatarInfo } from '../avatar.js';
|
||||||
* @returns {ZZZAvatarInfo['damage_basic_properties']['bonus_detail']} 套装加成
|
* @returns {ZZZAvatarInfo['damage_basic_properties']['bonus_detail']} 套装加成
|
||||||
*/
|
*/
|
||||||
export const relice_ability = (set_id, set_num, base_detail, bonus_detail) => {
|
export const relice_ability = (set_id, set_num, base_detail, bonus_detail) => {
|
||||||
if (set_id == '31100') {
|
switch (set_id) {
|
||||||
if (set_num >= 4) {
|
case '31100':
|
||||||
let R_DmgAdd = _.get(bonus_detail, 'R_DmgAdd', 0);
|
if (set_num >= 4) {
|
||||||
bonus_detail['R_DmgAdd'] = R_DmgAdd + 0.2;
|
let R_DmgAdd = _.get(bonus_detail, 'R_DmgAdd', 0);
|
||||||
let AttackAddedRatio = _.get(bonus_detail, 'AttackAddedRatio', 0);
|
bonus_detail['R_DmgAdd'] = R_DmgAdd + 0.2;
|
||||||
bonus_detail['AttackAddedRatio'] = AttackAddedRatio + 0.15;
|
let AttackAddedRatio = _.get(bonus_detail, 'AttackAddedRatio', 0);
|
||||||
logger.debug('relicGetter,4,R_DmgAdd');
|
bonus_detail['AttackAddedRatio'] = AttackAddedRatio + 0.15;
|
||||||
}
|
logger.debug('relicGetter,4,R_DmgAdd');
|
||||||
} else if (set_id == '32500') {
|
}
|
||||||
if (set_num >= 2) {
|
break;
|
||||||
let IceDmgAdd = _.get(bonus_detail, 'Ice_DmgAdd', 0);
|
case '32500':
|
||||||
bonus_detail['Ice_DmgAdd'] = IceDmgAdd + 0.1;
|
if (set_num >= 2) {
|
||||||
logger.debug('32500,2,Ice_DmgAdd');
|
let IceDmgAdd = _.get(bonus_detail, 'Ice_DmgAdd', 0);
|
||||||
}
|
bonus_detail['Ice_DmgAdd'] = IceDmgAdd + 0.1;
|
||||||
if (set_num >= 4) {
|
logger.debug('32500,2,Ice_DmgAdd');
|
||||||
let A_DmgAdd = _.get(bonus_detail, 'A_DmgAdd', 0);
|
}
|
||||||
bonus_detail['A_DmgAdd'] = A_DmgAdd + 0.4;
|
if (set_num >= 4) {
|
||||||
let C_DmgAdd = _.get(bonus_detail, 'C_DmgAdd', 0);
|
let A_DmgAdd = _.get(bonus_detail, 'A_DmgAdd', 0);
|
||||||
bonus_detail['C_DmgAdd'] = C_DmgAdd + 0.4;
|
bonus_detail['A_DmgAdd'] = A_DmgAdd + 0.4;
|
||||||
logger.debug('32500,4,A_DmgAdd');
|
let C_DmgAdd = _.get(bonus_detail, 'C_DmgAdd', 0);
|
||||||
logger.debug('32500,4,C_DmgAdd');
|
bonus_detail['C_DmgAdd'] = C_DmgAdd + 0.4;
|
||||||
}
|
logger.debug('32500,4,A_DmgAdd');
|
||||||
|
logger.debug('32500,4,C_DmgAdd');
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return bonus_detail;
|
return bonus_detail;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue