mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-16 04:35:42 +00:00
增加部分星铁角色的伤害计算
This commit is contained in:
parent
e490426fd8
commit
9f45ecea2d
@ -1,12 +1,14 @@
|
|||||||
import lodash from 'lodash'
|
import lodash from 'lodash'
|
||||||
import { getTargetUid, getProfileRefresh } from './ProfileCommon.js'
|
import { getTargetUid, getProfileRefresh } from './ProfileCommon.js'
|
||||||
import ProfileList from './ProfileList.js'
|
import ProfileList from './ProfileList.js'
|
||||||
import { Cfg, Common, Format } from '#miao'
|
import { Cfg, Common, Data, Format } from '#miao'
|
||||||
import { MysApi, ProfileRank, ProfileArtis, Character, Weapon } from '#miao.models'
|
import { MysApi, ProfileRank, ProfileArtis, Character, Weapon } from '#miao.models'
|
||||||
import ProfileChange from './ProfileChange.js'
|
import ProfileChange from './ProfileChange.js'
|
||||||
import { profileArtis } from './ProfileArtis.js'
|
import { profileArtis } from './ProfileArtis.js'
|
||||||
import { ProfileWeapon } from './ProfileWeapon.js'
|
import { ProfileWeapon } from './ProfileWeapon.js'
|
||||||
|
|
||||||
|
let { diyCfg } = await Data.importCfg('profile')
|
||||||
|
|
||||||
// 查看当前角色
|
// 查看当前角色
|
||||||
let ProfileDetail = {
|
let ProfileDetail = {
|
||||||
async detail (e) {
|
async detail (e) {
|
||||||
@ -204,6 +206,9 @@ let ProfileDetail = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async getProfileDmgCalc ({ profile, enemyLv, mode, params }) {
|
async getProfileDmgCalc ({ profile, enemyLv, mode, params }) {
|
||||||
|
if (profile.isSr && !diyCfg.srDmg) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
let dmgMsg = []
|
let dmgMsg = []
|
||||||
let dmgData = []
|
let dmgData = []
|
||||||
let dmgCalc = await profile.calcDmg({
|
let dmgCalc = await profile.calcDmg({
|
||||||
@ -213,8 +218,10 @@ let ProfileDetail = {
|
|||||||
})
|
})
|
||||||
if (dmgCalc && dmgCalc.ret) {
|
if (dmgCalc && dmgCalc.ret) {
|
||||||
lodash.forEach(dmgCalc.ret, (ds) => {
|
lodash.forEach(dmgCalc.ret, (ds) => {
|
||||||
ds.dmg = Format.comma(ds.dmg, 0)
|
if (ds.type !== 'text') {
|
||||||
ds.avg = Format.comma(ds.avg, 0)
|
ds.dmg = Format.comma(ds.dmg, 0)
|
||||||
|
ds.avg = Format.comma(ds.avg, 0)
|
||||||
|
}
|
||||||
dmgData.push(ds)
|
dmgData.push(ds)
|
||||||
})
|
})
|
||||||
lodash.forEach(dmgCalc.msg, (msg) => {
|
lodash.forEach(dmgCalc.msg, (msg) => {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
import fetch from 'node-fetch'
|
import fetch from 'node-fetch'
|
||||||
import { Data } from '#miao'
|
import { Data } from '#miao'
|
||||||
|
|
||||||
const host = 'http://miaoapi.cn/api/hutao'
|
const host = 'http://49.232.91.210/api/hutao'
|
||||||
|
|
||||||
function getApi (api) {
|
function getApi (api) {
|
||||||
return `${host}?api=${api}`
|
return `${host}?api=${api}`
|
||||||
|
@ -96,7 +96,7 @@ let Cal = {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
let miaoApi = 'http://miaoapi.cn/api/calendar'
|
let miaoApi = 'http://49.232.91.210/api/calendar'
|
||||||
try {
|
try {
|
||||||
request2 = await fetch(miaoApi)
|
request2 = await fetch(miaoApi)
|
||||||
let data = await request2.json()
|
let data = await request2.json()
|
||||||
|
@ -7,7 +7,7 @@ export const miaoApi = {
|
|||||||
listApi: ({ url, uid, diyCfg, game = 'gs' }) => {
|
listApi: ({ url, uid, diyCfg, game = 'gs' }) => {
|
||||||
let qq = /\d{5,12}/.test(diyCfg.qq) ? diyCfg.qq : 'none'
|
let qq = /\d{5,12}/.test(diyCfg.qq) ? diyCfg.qq : 'none'
|
||||||
let token = diyCfg.token
|
let token = diyCfg.token
|
||||||
url = url || 'http://miaoapi.cn/'
|
url = url || 'http://49.232.91.210/'
|
||||||
return `${url}profile/data?uid=${uid}&qq=${qq}&token=${token}&version=2&game=${game}`
|
return `${url}profile/data?uid=${uid}&qq=${qq}&token=${token}&version=2&game=${game}`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -154,6 +154,11 @@ let DmgAttr = {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (buff.tree) {
|
||||||
|
if (!ds.trees[`10${buff.tree}`]) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let title = buff.title
|
let title = buff.title
|
||||||
|
|
||||||
|
@ -18,7 +18,8 @@ let DmgCalc = {
|
|||||||
attr, // 属性
|
attr, // 属性
|
||||||
level, // 面板数据
|
level, // 面板数据
|
||||||
enemyLv, // 敌人等级
|
enemyLv, // 敌人等级
|
||||||
showDetail = false // 是否展示详情
|
showDetail = false, // 是否展示详情
|
||||||
|
game
|
||||||
} = data
|
} = data
|
||||||
let calc = ds.calc
|
let calc = ds.calc
|
||||||
|
|
||||||
@ -64,20 +65,27 @@ let DmgCalc = {
|
|||||||
|
|
||||||
// 防御区
|
// 防御区
|
||||||
let defNum = (level + 100) / ((level + 100) + (enemyLv + 100) * (1 - enemyDef) * (1 - enemyIgnore))
|
let defNum = (level + 100) / ((level + 100) + (enemyLv + 100) * (1 - enemyDef) * (1 - enemyIgnore))
|
||||||
|
if (game === 'sr') {
|
||||||
|
defNum = (200 + level * 10) / ((200 + level * 10) + (200 + enemyLv * 10) * (1 - enemyDef) * (1 - enemyIgnore))
|
||||||
|
}
|
||||||
|
|
||||||
// 抗性区
|
// 抗性区
|
||||||
let kx = attr.kx
|
let kx = attr.kx
|
||||||
if (ele === 'swirl') {
|
|
||||||
kx = attr.fykx
|
|
||||||
}
|
|
||||||
kx = 10 - (kx || 0)
|
|
||||||
let kNum = 0.9
|
let kNum = 0.9
|
||||||
if (kx >= 75) {
|
if (game === 'sr') {
|
||||||
kNum = 1 / (1 + 3 * kx / 100)
|
kNum = (1 + (kx / 100)) * 0.9
|
||||||
} else if (kx >= 0) {
|
|
||||||
kNum = (100 - kx) / 100
|
|
||||||
} else {
|
} else {
|
||||||
kNum = 1 - kx / 200
|
if (ele === 'swirl') {
|
||||||
|
kx = attr.fykx
|
||||||
|
}
|
||||||
|
kx = 10 - (kx || 0)
|
||||||
|
if (kx >= 75) {
|
||||||
|
kNum = 1 / (1 + 3 * kx / 100)
|
||||||
|
} else if (kx >= 0) {
|
||||||
|
kNum = (100 - kx) / 100
|
||||||
|
} else {
|
||||||
|
kNum = 1 - kx / 200
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cpctNum = Math.max(0, Math.min(1, cpctNum))
|
cpctNum = Math.max(0, Math.min(1, cpctNum))
|
||||||
|
@ -212,13 +212,13 @@
|
|||||||
<div class="title dmg-idx">#</div>
|
<div class="title dmg-idx">#</div>
|
||||||
<div class="title dmg-title">伤害类型</div>
|
<div class="title dmg-title">伤害类型</div>
|
||||||
<div>暴击伤害</div>
|
<div>暴击伤害</div>
|
||||||
<div>平均伤害(计算暴击率)</div>
|
<div>期望伤害</div>
|
||||||
</div>
|
</div>
|
||||||
{{each dmgData dmg idx}}
|
{{each dmgData dmg idx}}
|
||||||
<div class="dmg tr">
|
<div class="dmg tr">
|
||||||
<div class="title dmg-idx">{{idx+1}}</div>
|
<div class="title dmg-idx">{{idx+1}}</div>
|
||||||
<div class="title dmg-title">{{dmg.title}}</div>
|
<div class="title dmg-title">{{dmg.title}}</div>
|
||||||
{{if dmg.dmg === "NaN"}}
|
{{if !dmg.dmg || dmg.dmg === "NaN"}}
|
||||||
<div class="value value-full">{{dmg.avg}}{{dmg.unit}}</div>
|
<div class="value value-full">{{dmg.avg}}{{dmg.unit}}</div>
|
||||||
<div class="value value-none"></div>
|
<div class="value value-none"></div>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -263,7 +263,7 @@
|
|||||||
{{if cell.type === "na"}}
|
{{if cell.type === "na"}}
|
||||||
<div class="td na">
|
<div class="td na">
|
||||||
<strong>-</strong>
|
<strong>-</strong>
|
||||||
<span>{{dmgCfg.basicRet.avg}}{{dmgCfg.basicRet.dmg!="NaN"?`/${dmgCfg.basicRet.dmg}`:''}}</span>
|
<span>{{dmgCfg.basicRet.avg}}{{(dmgCfg.basicRet.dmg&&dmgCfg.basicRet.dmg!="NaN")?`/${dmgCfg.basicRet.dmg}`:''}}</span>
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="td {{cell.type}}">
|
<div class="td {{cell.type}}">
|
||||||
|
39
resources/meta-sr/character/丹恒/calc.js
Normal file
39
resources/meta-sr/character/丹恒/calc.js
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
export const details = [{
|
||||||
|
title: 'A普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E战技主目标伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||||
|
}, {
|
||||||
|
title: 'Q终结技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||||
|
}, {
|
||||||
|
title: '减速目标终结技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'] + talent.q['减速目标q伤害倍率提高'], 'q')
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '丹恒天赋:丹恒成为我方技能的目标时提高抗性穿透[kx]%',
|
||||||
|
data: {
|
||||||
|
kx: ({ talent }) => talent.t['风抗性穿透']
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '丹恒秘技:使用秘技提高40%攻击力',
|
||||||
|
data: {
|
||||||
|
atkPct: 40
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '丹恒1命:击中目标生命值大于50%,暴击率提高12%',
|
||||||
|
cons: 1,
|
||||||
|
data: {
|
||||||
|
cpct: 12
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '行迹-罡风:普攻对减速状态下的敌方目标造成的伤害提高40%',
|
||||||
|
tree: 3,
|
||||||
|
data: {
|
||||||
|
aDmg: 40
|
||||||
|
}
|
||||||
|
}]
|
31
resources/meta-sr/character/停云/calc.js
Normal file
31
resources/meta-sr/character/停云/calc.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import { Format } from '#miao'
|
||||||
|
|
||||||
|
export const details = [{
|
||||||
|
title: '普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E赐福提高攻击力上限',
|
||||||
|
dmg: ({ attr, calc, talent }) => {
|
||||||
|
return {
|
||||||
|
avg: calc(attr.atk) * talent.e['攻击力上限']
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: 'Q伤害提高',
|
||||||
|
dmg: ({ talent }) => {
|
||||||
|
return {
|
||||||
|
avg: Format.percent(talent.q['伤害提高']),
|
||||||
|
type: 'text'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '行迹-止厄:普攻造成的伤害提高40%',
|
||||||
|
tree: 2,
|
||||||
|
data: {
|
||||||
|
aDmg: 40
|
||||||
|
}
|
||||||
|
}]
|
29
resources/meta-sr/character/克拉拉/calc.js
Normal file
29
resources/meta-sr/character/克拉拉/calc.js
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
export const details = [{
|
||||||
|
title: 'A普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E战技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||||
|
}, {
|
||||||
|
title: 'E反击伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.e['反击伤害'], 'e')
|
||||||
|
}, {
|
||||||
|
title: 'Q反击伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.q['伤害倍率提高'] + talent.t['反击伤害'], 't')
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg,speed'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '克拉拉2命:施放终结技后攻击力提高30%',
|
||||||
|
cons: 2,
|
||||||
|
data: {
|
||||||
|
atkPct: 30
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '行迹-复仇:史瓦罗的反击造成的伤害提高30%',
|
||||||
|
tree: 3,
|
||||||
|
data: {
|
||||||
|
tDmg: 30
|
||||||
|
}
|
||||||
|
}]
|
46
resources/meta-sr/character/姬子/calc.js
Normal file
46
resources/meta-sr/character/姬子/calc.js
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
export const details = [{
|
||||||
|
title: 'A普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E战技主目标伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.e['主目标伤害'], 'e')
|
||||||
|
}, {
|
||||||
|
title: 'Q终结技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||||
|
}, {
|
||||||
|
title: '天赋追击伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.t['技能伤害'], 't')
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg,speed'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '姬子秘技:释放领域使敌方受到伤害提高10%',
|
||||||
|
data: {
|
||||||
|
dmg: 10
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '姬子1命:对生命小于50%的敌人伤害提高15%',
|
||||||
|
cons: 1,
|
||||||
|
data: {
|
||||||
|
dmg: 15
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '希儿2命:释放战技后,2层Buff速度提高50%',
|
||||||
|
cons: 2,
|
||||||
|
data: {
|
||||||
|
speedPct: 50
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '行迹-灼热:战技对灼烧状态下的敌方目标造成的伤害提高20%',
|
||||||
|
tree: 2,
|
||||||
|
data: {
|
||||||
|
eDmg: 20
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '行迹-道标:生命值大于80%时提高暴击率15%',
|
||||||
|
tree: 3,
|
||||||
|
data: {
|
||||||
|
cpct: 15
|
||||||
|
}
|
||||||
|
}]
|
40
resources/meta-sr/character/布洛妮娅/calc.js
Normal file
40
resources/meta-sr/character/布洛妮娅/calc.js
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import { Format } from '#miao'
|
||||||
|
|
||||||
|
export const details = [{
|
||||||
|
title: '普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E-Buff加伤',
|
||||||
|
dmg: ({ talent }) => {
|
||||||
|
return {
|
||||||
|
avg: Format.percent(talent.e['伤害提高']),
|
||||||
|
type: 'text'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: 'Q-Buff攻击力提高',
|
||||||
|
dmg: ({ talent }) => {
|
||||||
|
return {
|
||||||
|
avg: Format.percent(talent.q['攻击力提高']),
|
||||||
|
type: 'text'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: 'Q-Buff爆伤提高',
|
||||||
|
dmg: ({ attr, calc, talent }) => {
|
||||||
|
return {
|
||||||
|
avg: Format.percent(calc(attr.cdmg) * talent.q['百分比暴伤'] / 100 + talent.q['固定暴伤']),
|
||||||
|
type: 'text'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '行迹-军势:布洛妮娅在场时,我方全体造成的伤害提高10%',
|
||||||
|
check: ({ trees }) => trees[103],
|
||||||
|
data: {
|
||||||
|
dmg: 10
|
||||||
|
}
|
||||||
|
}]
|
@ -1,11 +1,11 @@
|
|||||||
export const details = [{
|
export const details = [{
|
||||||
title: '普攻伤害',
|
title: 'A普攻伤害',
|
||||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
}, {
|
}, {
|
||||||
title: '战技伤害',
|
title: 'E战技伤害',
|
||||||
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||||
}, {
|
}, {
|
||||||
title: '终结技伤害',
|
title: 'Q终结技伤害',
|
||||||
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||||
}]
|
}]
|
||||||
|
|
||||||
@ -35,8 +35,8 @@ export const buffs = [{
|
|||||||
speedPct: 50
|
speedPct: 50
|
||||||
}
|
}
|
||||||
}, {
|
}, {
|
||||||
title: '夜行:抗性穿透提高20',
|
title: '行迹-夜行:抗性穿透提高20',
|
||||||
check: ({ trees }) => trees[101],
|
tree: 2,
|
||||||
data: {
|
data: {
|
||||||
kx: 20
|
kx: 20
|
||||||
}
|
}
|
||||||
|
38
resources/meta-sr/character/彦卿/calc.js
Normal file
38
resources/meta-sr/character/彦卿/calc.js
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
export const details = [{
|
||||||
|
title: 'A普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E战技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||||
|
}, {
|
||||||
|
title: 'Q终结技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '彦卿天赋:智剑连心提高[cpct]%暴击率和[cdmg]%爆伤',
|
||||||
|
data: {
|
||||||
|
cpct: ({ talent }) => talent.t['暴击率提高'] * 100,
|
||||||
|
cdmg: ({ talent }) => talent.t['爆伤提高'] * 100
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '彦卿Q:释放终结技提高60%暴击率,智剑连心提高爆伤[qCdmg]%',
|
||||||
|
data: {
|
||||||
|
qCpct: 60,
|
||||||
|
qCdmg: ({ talent }) => talent.q['暴伤提高'] * 100
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '彦卿4命:生命值大于80%时提高12%的冰抗穿透',
|
||||||
|
cons: 4,
|
||||||
|
data: {
|
||||||
|
kx: 12
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '行迹-轻吕:触发暴击时,速度提高10%',
|
||||||
|
tree: 3,
|
||||||
|
data: {
|
||||||
|
speedPct: 10
|
||||||
|
}
|
||||||
|
}]
|
@ -197,7 +197,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "技能伤害",
|
"name": "追加攻击概率",
|
||||||
"isSame": false,
|
"isSame": false,
|
||||||
"values": [
|
"values": [
|
||||||
0.5,
|
0.5,
|
||||||
|
23
resources/meta-sr/character/杰帕德/calc.js
Normal file
23
resources/meta-sr/character/杰帕德/calc.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
export const details = [{
|
||||||
|
title: '普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: '战技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||||
|
}, {
|
||||||
|
title: 'Q护盾量',
|
||||||
|
dmg: ({ attr, calc, talent }, { shield }) => shield(calc(attr.def) * talent.q['百分比防御力'] + talent.q['固定数值'])
|
||||||
|
}, {
|
||||||
|
title: '秘技护盾量',
|
||||||
|
dmg: ({ attr, calc, talent }, { shield }) => shield(calc(attr.def) * 0.24 + 150)
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg,def'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '行迹-战意:基于防御值提高攻击力[atkPlus]',
|
||||||
|
tree: 3,
|
||||||
|
data: {
|
||||||
|
atkPlus: ({ calc, attr }) => calc(attr.def) * 0.35
|
||||||
|
}
|
||||||
|
}]
|
30
resources/meta-sr/character/瓦尔特/calc.js
Normal file
30
resources/meta-sr/character/瓦尔特/calc.js
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
export const details = [{
|
||||||
|
title: '普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E战技主目标伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||||
|
}, {
|
||||||
|
title: 'Q终结技伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||||
|
}, {
|
||||||
|
title: '天赋附加伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.t['附加伤害'], 't')
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '行迹-惩戒:施放终结技提高敌人受到伤害12%',
|
||||||
|
tree: 1,
|
||||||
|
data: {
|
||||||
|
dmg: 12
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: '行迹-裁决:弱点击破的敌方目标造成的伤害提高20%',
|
||||||
|
tree: 3,
|
||||||
|
data: {
|
||||||
|
dmg: 20
|
||||||
|
}
|
||||||
|
}]
|
35
resources/meta-sr/character/白露/calc.js
Normal file
35
resources/meta-sr/character/白露/calc.js
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
export const details = [{
|
||||||
|
title: '普攻伤害',
|
||||||
|
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||||
|
}, {
|
||||||
|
title: 'E主目标生命恢复',
|
||||||
|
dmg: ({ calc, attr, talent }, { heal }) => heal(calc(attr.hp) * talent.e['百分比生命'] + talent.e['固定值'])
|
||||||
|
}, {
|
||||||
|
title: 'Q生命恢复',
|
||||||
|
dmg: ({ calc, attr, talent }, { heal }) => heal(calc(attr.hp) * talent.q['百分比生命'] + talent.q['固定值'])
|
||||||
|
}, {
|
||||||
|
title: '天赋生息恢复',
|
||||||
|
dmg: ({ calc, attr, talent }, { heal }) => heal(calc(attr.hp) * talent.t['生息·百分比生命'] + talent.t['生息·固定值'])
|
||||||
|
}]
|
||||||
|
|
||||||
|
export const mainAttr = 'atk,cpct,cdmg,hp'
|
||||||
|
|
||||||
|
export const buffs = [{
|
||||||
|
title: '白露2命:释放终结技后治疗提高15%',
|
||||||
|
cons: 2,
|
||||||
|
data: {
|
||||||
|
heal: 15
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '希儿2命:释放战技后,2层Buff速度提高50%',
|
||||||
|
cons: 2,
|
||||||
|
data: {
|
||||||
|
speedPct: 50
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
title: '行迹-夜行:抗性穿透提高20',
|
||||||
|
tree: 2,
|
||||||
|
data: {
|
||||||
|
kx: 20
|
||||||
|
}
|
||||||
|
}]
|
@ -27,11 +27,24 @@ let loadBuffs = async function () {
|
|||||||
idx,
|
idx,
|
||||||
key
|
key
|
||||||
}
|
}
|
||||||
}, (idx, key, title) => {
|
}, (title, key, idx) => {
|
||||||
return {
|
if (arguments.length === 2) {
|
||||||
title,
|
return (tables) => {
|
||||||
idx,
|
let data = {}
|
||||||
key
|
lodash.forEach(key, (idx, k) => {
|
||||||
|
data[k] = tables[idx]
|
||||||
|
})
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
data
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
title,
|
||||||
|
idx,
|
||||||
|
key
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,34 @@
|
|||||||
export default function (staticIdx) {
|
export default function (staticIdx, keyIdx) {
|
||||||
return {
|
return {
|
||||||
一场术后对话: [staticIdx(1, 'recharge')],
|
一场术后对话: [
|
||||||
同一种心情: [staticIdx(1, 'heal')],
|
staticIdx(1, 'recharge'),
|
||||||
|
keyIdx('释放终结技时的治疗量提高[qHeal]%', 'qHeal', 2)
|
||||||
|
],
|
||||||
|
同一种心情: [
|
||||||
|
staticIdx(1, 'heal')
|
||||||
|
],
|
||||||
嘉果: [],
|
嘉果: [],
|
||||||
时节不居: [staticIdx(1, 'hpPct'), staticIdx(2, 'heal')],
|
时节不居: [
|
||||||
暖夜不会漫长: [staticIdx(1, 'hpPct')],
|
staticIdx(1, 'hpPct'),
|
||||||
此时恰好: [staticIdx(1, 'effDef')],
|
staticIdx(2, 'heal')
|
||||||
物穰: [],
|
],
|
||||||
|
暖夜不会漫长: [
|
||||||
|
staticIdx(1, 'hpPct')
|
||||||
|
],
|
||||||
|
此时恰好: [
|
||||||
|
staticIdx(1, 'effDef'),
|
||||||
|
(tables) => {
|
||||||
|
return {
|
||||||
|
title: '基于效果抵抗,提高质量量[heal]%',
|
||||||
|
data: {
|
||||||
|
heal: ({ attr, calc }) => Math.min(tables[3], calc(attr.effDef) * tables[2] / 100)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
物穰: [
|
||||||
|
keyIdx('释放战技与终结技时,治疗量提高[eHeal]%', { eHeal: 1, qHeal: 1 })
|
||||||
|
],
|
||||||
等价交换: [],
|
等价交换: [],
|
||||||
蕃息: []
|
蕃息: []
|
||||||
}
|
}
|
||||||
|
@ -1,13 +1,23 @@
|
|||||||
export default function (staticIdx) {
|
export default function (staticIdx, keyIdx) {
|
||||||
return {
|
return {
|
||||||
与行星相会: [],
|
与行星相会: [],
|
||||||
但战斗还未结束: [staticIdx(1, 'recharge')],
|
但战斗还未结束: [
|
||||||
|
staticIdx(1, 'recharge')
|
||||||
|
],
|
||||||
'舞!舞!舞!': [],
|
'舞!舞!舞!': [],
|
||||||
记忆中的模样: [staticIdx(1, 'stance')],
|
记忆中的模样: [
|
||||||
调和: [],
|
staticIdx(1, 'stance')
|
||||||
|
],
|
||||||
|
调和: [
|
||||||
|
keyIdx('进入战斗提高速度[speed]', 'speed', 1)
|
||||||
|
],
|
||||||
轮契: [],
|
轮契: [],
|
||||||
过往未来: [],
|
过往未来: [],
|
||||||
镂月裁云之意: [],
|
镂月裁云之意: [
|
||||||
齐颂: []
|
keyIdx('攻击Buff下提高攻击力[atkPct]%', 'atkPct', 1)
|
||||||
|
],
|
||||||
|
齐颂: [
|
||||||
|
keyIdx('进入战斗后,攻击力提高[atkPct]%', 'atkPct', 1)
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,14 +1,37 @@
|
|||||||
export default function (staticIdx) {
|
export default function (staticIdx, keyIdx) {
|
||||||
return {
|
return {
|
||||||
余生的第一天: [staticIdx(1, 'defPct')],
|
余生的第一天: [
|
||||||
制胜的瞬间: [staticIdx(1, 'defPct'), staticIdx(1, 'effPct')],
|
staticIdx(1, 'defPct')
|
||||||
宇宙市场趋势: [staticIdx(1, 'defPct')],
|
],
|
||||||
开疆: [staticIdx(1, 'stance')],
|
制胜的瞬间: [
|
||||||
|
staticIdx(1, 'defPct'),
|
||||||
|
staticIdx(2, 'effPct'),
|
||||||
|
keyIdx('受到攻击时,防御力提高[defPct]%', 'defPct', 3)
|
||||||
|
],
|
||||||
|
宇宙市场趋势: [
|
||||||
|
staticIdx(1, 'defPct')
|
||||||
|
],
|
||||||
|
开疆: [],
|
||||||
戍御: [],
|
戍御: [],
|
||||||
我们是地火: [],
|
我们是地火: [],
|
||||||
朗道的选择: [],
|
朗道的选择: [],
|
||||||
琥珀: [staticIdx(1, 'defPct')],
|
琥珀: [
|
||||||
记忆的质料: [staticIdx(1, 'effDef')],
|
staticIdx(1, 'defPct'),
|
||||||
'这就是我啦!': [staticIdx(1, 'defPct')]
|
keyIdx('生命值小于50%时,防御力提高[defPct]%', 'defPct', 2)
|
||||||
|
],
|
||||||
|
记忆的质料: [
|
||||||
|
staticIdx(1, 'effDef')
|
||||||
|
],
|
||||||
|
'这就是我啦!': [
|
||||||
|
staticIdx(1, 'defPct'),
|
||||||
|
(tables) => {
|
||||||
|
return {
|
||||||
|
title: '基于防御力提高终结技伤害值[qInc]',
|
||||||
|
data: {
|
||||||
|
qInc: ({ calc, attr }) => calc(attr.def) * tables[2] / 100
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -15,25 +15,18 @@ export default function (staticIdx, keyIdx) {
|
|||||||
}],
|
}],
|
||||||
唯有沉默: [
|
唯有沉默: [
|
||||||
staticIdx(1, 'atkPct'),
|
staticIdx(1, 'atkPct'),
|
||||||
keyIdx(2, 'cpct', '场上目标小于等于2时,暴击率提高[cpct]%')
|
keyIdx('场上目标小于等于2时,暴击率提高[cpct]%', 'cpct', 2)
|
||||||
],
|
],
|
||||||
如泥酣眠: [
|
如泥酣眠: [
|
||||||
staticIdx(1, 'cdmg')
|
staticIdx(1, 'cdmg')
|
||||||
],
|
],
|
||||||
星海巡航: [
|
星海巡航: [
|
||||||
staticIdx(1, 'cpct'),
|
staticIdx(1, 'cpct'),
|
||||||
keyIdx(2, 'cpct', '对生命值小于50%的敌人暴击率提高[cpct]%'),
|
keyIdx('对生命值小于50%的敌人暴击率提高[cpct]%,消灭敌方目标后,攻击力提高[atkPct]%', { cpct: 2, atkPct: 3 })
|
||||||
keyIdx(3, 'atkPct', '消灭敌方目标后,攻击力提高[atkPct]%')
|
],
|
||||||
|
春水初生: [
|
||||||
|
keyIdx('进入战斗提高速度[speedPct]%,伤害[dmg]%', { speedPct: 1, dmg: 2 })
|
||||||
],
|
],
|
||||||
春水初生: [(tables) => {
|
|
||||||
return {
|
|
||||||
title: '进入战斗提高速度[speedPct]%,伤害[dmg]%',
|
|
||||||
data: {
|
|
||||||
speedPct: tables[1],
|
|
||||||
dmg: tables[2]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}],
|
|
||||||
'点个关注吧!': [(tables) => {
|
'点个关注吧!': [(tables) => {
|
||||||
return {
|
return {
|
||||||
title: '满能量提高普攻和战技伤害[aDmg]%',
|
title: '满能量提高普攻和战技伤害[aDmg]%',
|
||||||
@ -44,10 +37,10 @@ export default function (staticIdx, keyIdx) {
|
|||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
相抗: [
|
相抗: [
|
||||||
keyIdx(1, 'speedPct', '消灭敌方目标后,速度提高[speedPct]%')
|
keyIdx('消灭敌方目标后,速度提高[speedPct]%', 'speedPct', 1)
|
||||||
],
|
],
|
||||||
离弦: [
|
离弦: [
|
||||||
keyIdx(1, 'atkPct', '消灭敌方目标后,攻击力[atkPct]%')
|
keyIdx('消灭敌方目标后,攻击力[atkPct]%', 'atkPct', 1)
|
||||||
],
|
],
|
||||||
论剑: [(tables) => {
|
论剑: [(tables) => {
|
||||||
return {
|
return {
|
||||||
@ -57,9 +50,11 @@ export default function (staticIdx, keyIdx) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}],
|
}],
|
||||||
重返幽冥: [staticIdx(1, 'cpct')],
|
重返幽冥: [
|
||||||
|
staticIdx(1, 'cpct')
|
||||||
|
],
|
||||||
锋镝: [
|
锋镝: [
|
||||||
keyIdx(1, 'cpct', '战斗开始时暴击率提高[cpct]%')
|
keyIdx('战斗开始时暴击率提高[cpct]%', 'cpct', 1)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,7 +1,16 @@
|
|||||||
export default function (staticIdx) {
|
export default function (staticIdx, keyIdx) {
|
||||||
return {
|
return {
|
||||||
'「我」的诞生': [],
|
'「我」的诞生': [
|
||||||
今日亦是和平的一日: [],
|
keyIdx(1, 'a3Dmg', '追加攻击伤害提高[a3Dmg]%')
|
||||||
|
],
|
||||||
|
今日亦是和平的一日: (tables) => {
|
||||||
|
return {
|
||||||
|
title: '根据能量上限提高数据',
|
||||||
|
data: {
|
||||||
|
dmg: () => tables
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
别让世界静下来: [staticIdx(1, 'recharge')],
|
别让世界静下来: [staticIdx(1, 'recharge')],
|
||||||
天才们的休憩: [staticIdx(1, 'atkPct')],
|
天才们的休憩: [staticIdx(1, 'atkPct')],
|
||||||
拂晓之前: [staticIdx(1, 'cdmg')],
|
拂晓之前: [staticIdx(1, 'cdmg')],
|
||||||
@ -9,6 +18,6 @@ export default function (staticIdx) {
|
|||||||
智库: [],
|
智库: [],
|
||||||
灵钥: [],
|
灵钥: [],
|
||||||
睿见: [],
|
睿见: [],
|
||||||
银河铁道之夜: [],
|
银河铁道之夜: []
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -113,7 +113,15 @@
|
|||||||
"skill": {
|
"skill": {
|
||||||
"id": 21034,
|
"id": 21034,
|
||||||
"name": "风雨将至",
|
"name": "风雨将至",
|
||||||
"desc": "进入战斗后,根据装备者的能量上限,提高装备者造成的伤害:每点能量提高<nobr>#1[f2]%</nobr>,最多计入<nobr>160</nobr>点。",
|
"desc": "进入战斗后,根据装备者的能量上限,提高装备者造成的伤害:每点能量提高<nobr>$1[f2]%</nobr>,最多计入<nobr>160</nobr>点。",
|
||||||
"tables": {}
|
"tables": {
|
||||||
|
"1": [
|
||||||
|
0.19999999,
|
||||||
|
0.25000002,
|
||||||
|
0.29999998,
|
||||||
|
0.35000000000000003,
|
||||||
|
0.39999997000000004
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,14 +1,49 @@
|
|||||||
export default function (staticIdx) {
|
export default function (staticIdx, keyIdx) {
|
||||||
return {
|
return {
|
||||||
乐圮: [],
|
乐圮: [
|
||||||
俱殁: [],
|
keyIdx('对生命值大于50%的伤害提高[dmg]%', 'dmg', 1)
|
||||||
在蓝天下: [staticIdx(1, 'atkPct')],
|
],
|
||||||
天倾: [],
|
俱殁: [
|
||||||
无可取代的东西: [staticIdx(1, 'atkPct')],
|
keyIdx('生命值大于80%时提高暴击率[cpct]%', 'cpct', 1)
|
||||||
无处可逃: [staticIdx(1, 'atkPct')],
|
],
|
||||||
'汪!散步时间!': [staticIdx(1, 'atkPct')],
|
在蓝天下: [
|
||||||
秘密誓心: [staticIdx(1, 'dmg')],
|
staticIdx(1, 'atkPct'),
|
||||||
记一位星神的陨落: [],
|
keyIdx('消灭敌方目标后暴击率提高[cpct]%', 'cpct', 2)
|
||||||
鼹鼠党欢迎你: []
|
],
|
||||||
|
天倾: [
|
||||||
|
keyIdx('普攻和战技伤害提高[aDmg]%', { aDmg: 1, eDmg: 1 })
|
||||||
|
],
|
||||||
|
无可取代的东西: [
|
||||||
|
staticIdx(1, 'atkPct'),
|
||||||
|
keyIdx('受到攻击时提高造成伤害[dmg]%', 'dmg', 3)
|
||||||
|
],
|
||||||
|
无处可逃: [
|
||||||
|
staticIdx(1, 'atkPct')
|
||||||
|
],
|
||||||
|
'汪!散步时间!': [
|
||||||
|
staticIdx(1, 'atkPct'),
|
||||||
|
keyIdx('对烧灼或裂伤状态的敌人伤害提高[dmg]%', 'dmg', 2)
|
||||||
|
],
|
||||||
|
秘密誓心: [
|
||||||
|
staticIdx(1, 'dmg'),
|
||||||
|
keyIdx('对生命百分比高于角色的敌人的伤害提高[dmg]%', 'dmg', 2)
|
||||||
|
],
|
||||||
|
记一位星神的陨落: [(tables) => {
|
||||||
|
return {
|
||||||
|
title: '4层Buff提高攻击力[atkPct]%,击破弱点后造成的伤害提高[dmg]%',
|
||||||
|
data: {
|
||||||
|
atkPct: tables[1] * 4,
|
||||||
|
dmg: tables[2]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}],
|
||||||
|
鼹鼠党欢迎你: [(tables) => {
|
||||||
|
return {
|
||||||
|
title: '3层Buff提高攻击力[atkPct]%',
|
||||||
|
data: {
|
||||||
|
atkPct: tables[1] * 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,13 +1,35 @@
|
|||||||
export default function (staticIdx) {
|
export default function (staticIdx, keyIdx) {
|
||||||
return {
|
return {
|
||||||
以世界之名: [],
|
以世界之名: [
|
||||||
决心如汗珠般闪耀: [],
|
keyIdx('对陷入负面效果的敌人伤害提高[dmg]%,释放战技的功力提高[atkPct]%', { dmg: 1, atkPct: 3 })
|
||||||
|
],
|
||||||
|
决心如汗珠般闪耀: [
|
||||||
|
keyIdx('攻陷状态敌方防御力降低[ignore]%', 'ignore', 2)
|
||||||
|
],
|
||||||
匿影: [],
|
匿影: [],
|
||||||
后会有期: [],
|
后会有期: [],
|
||||||
幽邃: [],
|
幽邃: [
|
||||||
延长记号: [staticIdx(1, 'stance')],
|
keyIdx('使装备者的效果命中提高[effPct]%', 'effPct', 1)
|
||||||
晚安与睡颜: [],
|
],
|
||||||
渊环: [staticIdx(1, 'dmg')],
|
延长记号: [
|
||||||
猎物的视线: [staticIdx(1, 'effPct')]
|
staticIdx(1, 'stance'),
|
||||||
|
keyIdx('对触电或风化状态的地方目标伤害提高[dmg]%', 'dmg', 2)
|
||||||
|
],
|
||||||
|
晚安与睡颜: [
|
||||||
|
(tables) => {
|
||||||
|
return {
|
||||||
|
title: '3层Buff提高伤害[dmg]%',
|
||||||
|
data: {
|
||||||
|
dmg: tables[1] * 3
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
渊环: [
|
||||||
|
keyIdx('对减速状态的目标伤害提高[dmg]%', 'dmg', 1)
|
||||||
|
],
|
||||||
|
猎物的视线: [
|
||||||
|
staticIdx(1, 'effPct')
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user