mirror of
https://github.com/ZZZure/ZZZ-Plugin.git
synced 2025-12-16 13:17:32 +00:00
更新嘉音别名;修复等
This commit is contained in:
parent
2ee4b2ef09
commit
4f189cbb71
7 changed files with 35 additions and 385 deletions
|
|
@ -1,4 +1,3 @@
|
|||
import { weaponIDToProfession } from '../../lib/convert/weapon.js';
|
||||
import _ from 'lodash';
|
||||
export var elementEnum;
|
||||
(function (elementEnum) {
|
||||
|
|
@ -90,8 +89,10 @@ export class BuffManager {
|
|||
// 武器buff职业检查
|
||||
if (buff.source === 'Weapon') {
|
||||
const professionCheck = (avatar) => {
|
||||
const weapon_profession = weaponIDToProfession(avatar.weapon.id);
|
||||
return !weapon_profession || avatar.avatar_profession === weapon_profession;
|
||||
const weapon_profession = avatar.weapon?.profession;
|
||||
if (!weapon_profession)
|
||||
return true;
|
||||
return avatar.avatar_profession === weapon_profession;
|
||||
};
|
||||
const oriCheck = typeof buff.check === 'function' && buff.check;
|
||||
buff.check = ({ avatar, buffM, calc }) => professionCheck(avatar) && (!oriCheck || oriCheck({ avatar, buffM, calc }));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
import type { ZZZAvatarInfo } from '../avatar.js'
|
||||
import type { Calculator, skill } from './Calculator.ts'
|
||||
import { weaponIDToProfession } from '../../lib/convert/weapon.js'
|
||||
import _ from 'lodash'
|
||||
|
||||
export enum elementEnum {
|
||||
|
|
@ -139,8 +138,9 @@ export class BuffManager {
|
|||
// 武器buff职业检查
|
||||
if (buff.source === 'Weapon') {
|
||||
const professionCheck = (avatar: ZZZAvatarInfo) => {
|
||||
const weapon_profession = weaponIDToProfession(avatar.weapon.id)
|
||||
return !weapon_profession || avatar.avatar_profession === weapon_profession
|
||||
const weapon_profession = avatar.weapon?.profession
|
||||
if (!weapon_profession) return true
|
||||
return avatar.avatar_profession === weapon_profession
|
||||
}
|
||||
const oriCheck = typeof buff.check === 'function' && buff.check
|
||||
buff.check = ({ avatar, buffM, calc }) => professionCheck(avatar) && (!oriCheck || oriCheck({ avatar, buffM, calc }))
|
||||
|
|
|
|||
|
|
@ -106,8 +106,10 @@ export function avatar_ability(avatar) {
|
|||
return calc.calc();
|
||||
}
|
||||
/** 武器加成 */
|
||||
export function weapon_buff(equipment, buffM) {
|
||||
const name = equipment.name;
|
||||
export function weapon_buff(weapon, buffM) {
|
||||
const name = weapon?.name;
|
||||
if (!name)
|
||||
return;
|
||||
logger.debug('武器:' + name);
|
||||
const m = calcFnc.weapon[name];
|
||||
if (!m)
|
||||
|
|
@ -116,29 +118,29 @@ export function weapon_buff(equipment, buffM) {
|
|||
if (m.buffs)
|
||||
buffM.new(m.buffs);
|
||||
if (m.calc)
|
||||
m.calc(buffM, equipment.star);
|
||||
m.calc(buffM, weapon.star);
|
||||
buffM.default({});
|
||||
}
|
||||
/** 套装加成 */
|
||||
export function set_buff(equip, buffM) {
|
||||
export function set_buff(equips, buffM) {
|
||||
buffM.default({ name: '', source: 'Set' });
|
||||
const setCount = {};
|
||||
for (const equip_detail of equip) {
|
||||
if (equip_detail.equipment_type == 5) {
|
||||
for (const equip of equips) {
|
||||
if (equip.equipment_type == 5) {
|
||||
// 属伤加成
|
||||
const index = [31503, 31603, 31703, 31803, 31903].indexOf(equip_detail.main_properties[0].property_id);
|
||||
const index = [31503, 31603, 31703, 31803, 31903].indexOf(equip.main_properties[0].property_id);
|
||||
if (index > -1 && elementEnum[index]) {
|
||||
// @ts-ignore
|
||||
buffM.new({
|
||||
name: '驱动盘5号位',
|
||||
type: '增伤',
|
||||
value: Number(equip_detail.main_properties[0].base.replace('%', '')) / 100,
|
||||
value: Number(equip.main_properties[0].base.replace('%', '')) / 100,
|
||||
isForever: true,
|
||||
element: elementEnum[index]
|
||||
});
|
||||
}
|
||||
}
|
||||
const suit_name = equip_detail.equip_suit.name;
|
||||
const suit_name = equip.equip_suit.name;
|
||||
setCount[suit_name] = (setCount[suit_name] || 0) + 1;
|
||||
}
|
||||
buffM.setCount = setCount;
|
||||
|
|
|
|||
|
|
@ -133,37 +133,38 @@ export function avatar_ability(avatar: ZZZAvatarInfo) {
|
|||
}
|
||||
|
||||
/** 武器加成 */
|
||||
export function weapon_buff(equipment: ZZZAvatarInfo['weapon'], buffM: BuffManager) {
|
||||
const name = equipment.name
|
||||
export function weapon_buff(weapon: ZZZAvatarInfo['weapon'], buffM: BuffManager) {
|
||||
const name = weapon?.name
|
||||
if (!name) return
|
||||
logger.debug('武器:' + name)
|
||||
const m = calcFnc.weapon[name]
|
||||
if (!m) return
|
||||
buffM.default({ name, source: 'Weapon' })
|
||||
if (m.buffs) buffM.new(m.buffs)
|
||||
if (m.calc) m.calc(buffM, equipment.star)
|
||||
if (m.calc) m.calc(buffM, weapon.star)
|
||||
buffM.default({})
|
||||
}
|
||||
|
||||
/** 套装加成 */
|
||||
export function set_buff(equip: ZZZAvatarInfo['equip'], buffM: BuffManager) {
|
||||
export function set_buff(equips: ZZZAvatarInfo['equip'], buffM: BuffManager) {
|
||||
buffM.default({ name: '', source: 'Set' })
|
||||
const setCount: { [name: string]: number } = {}
|
||||
for (const equip_detail of equip) {
|
||||
if (equip_detail.equipment_type == 5) {
|
||||
for (const equip of equips) {
|
||||
if (equip.equipment_type == 5) {
|
||||
// 属伤加成
|
||||
const index = [31503, 31603, 31703, 31803, 31903].indexOf(equip_detail.main_properties[0].property_id)
|
||||
const index = [31503, 31603, 31703, 31803, 31903].indexOf(equip.main_properties[0].property_id)
|
||||
if (index > -1 && elementEnum[index]) {
|
||||
// @ts-ignore
|
||||
buffM.new({
|
||||
name: '驱动盘5号位',
|
||||
type: '增伤',
|
||||
value: Number(equip_detail.main_properties[0].base.replace('%', '')) / 100,
|
||||
value: Number(equip.main_properties[0].base.replace('%', '')) / 100,
|
||||
isForever: true,
|
||||
element: elementEnum[index]
|
||||
})
|
||||
}
|
||||
}
|
||||
const suit_name = equip_detail.equip_suit.name
|
||||
const suit_name = equip.equip_suit.name
|
||||
setCount[suit_name] = (setCount[suit_name] || 0) + 1
|
||||
}
|
||||
buffM.setCount = setCount
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue