更新星铁2.0相关数据与伤害计算
@ -115,7 +115,7 @@ let CalSr = {
|
||||
let f = 'YYYY-MM-DD HH:mm:ss'
|
||||
let newAbyssStart = moment('2023-12-25 04:00:00')
|
||||
|
||||
let abyss1Start = moment(versionStartTime, 'YYYY-MM-DD HH:mm:ss').subtract(2, 'days').hours(4).format(f)
|
||||
let abyss1Start = moment(versionStartTime, 'YYYY-MM-DD HH:mm:ss').day(1).hours(4).format(f)
|
||||
|
||||
if (newAbyssStart.diff(abyss1Start, 'days') % 14 !== 0) {
|
||||
abyss1Start = moment(abyss1Start).subtract(7, 'days').format(f)
|
||||
|
@ -30,7 +30,7 @@ let DmgAttr = {
|
||||
})
|
||||
})
|
||||
|
||||
lodash.forEach((game === 'gs' ? 'mastery,recharge,cpct,cdmg,heal,dmg,phy' : 'speed,recharge,cpct,cdmg,heal,dmg,enemyDmg,effPct,effDef,stance').split(','), (key) => {
|
||||
lodash.forEach((game === 'gs' ? 'mastery,recharge,cpct,cdmg,heal,dmg,phy' : 'speed,recharge,cpct,cdmg,heal,dmg,enemydmg,effPct,effDef,stance').split(','), (key) => {
|
||||
ret[key] = AttrItem.create(originalAttr?.[key] || {
|
||||
base: attr[key] * 1 || 0, // 基础值
|
||||
plus: 0, // 加成值
|
||||
@ -40,7 +40,7 @@ let DmgAttr = {
|
||||
})
|
||||
|
||||
// 技能属性记录
|
||||
lodash.forEach((game === 'gs' ? 'a,a2,a3,e,q' : 'a,a2,a3,e,e2,q,q2,t').split(','), (key) => {
|
||||
lodash.forEach((game === 'gs' ? 'a,a2,a3,e,q' : 'a,a2,a3,e,e2,q,q2,t,dot').split(','), (key) => {
|
||||
ret[key] = ret[key] || {
|
||||
pct: 0, // 倍率加成
|
||||
multi: 0, // 独立倍率乘区加成,宵宫E等
|
||||
@ -92,11 +92,6 @@ let DmgAttr = {
|
||||
ret.spread = 0 // 蔓激化
|
||||
ret.fykx = 0 // 敌人反应抗性降低
|
||||
} else if (game === 'sr') {
|
||||
// 技能持续伤害与弱点击破持续伤害
|
||||
ret.dot = {
|
||||
dmg: 0, // 伤害提高
|
||||
enemydmg: 0 // 承受伤害提高
|
||||
}
|
||||
ret.sp = char.sp * 1
|
||||
}
|
||||
}
|
||||
@ -197,12 +192,12 @@ let DmgAttr = {
|
||||
title = title.replace(`[${key}]`, Format.comma(val, 1))
|
||||
|
||||
// 技能提高
|
||||
let tRet = /^(a|a2|a3|e|q|t)(Def|Ignore|Dmg|Plus|Pct|Cpct|Cdmg|Multi)$/.exec(key)
|
||||
let tRet = /^(a|a2|a3|e|q|t|dot)(Def|Ignore|Dmg|Enemydmg|Plus|Pct|Cpct|Cdmg|Multi)$/.exec(key)
|
||||
if (tRet) {
|
||||
attr[tRet[1]][tRet[2].toLowerCase()] += val * 1 || 0
|
||||
return
|
||||
}
|
||||
let aRet = /^(hp|def|atk|mastery|cpct|cdmg|heal|recharge|dmg|phy|shield|speed)(Plus|Pct|Inc)?$/.exec(key)
|
||||
let aRet = /^(hp|def|atk|mastery|cpct|cdmg|heal|recharge|dmg|enemydmg|phy|shield|speed)(Plus|Pct|Inc)?$/.exec(key)
|
||||
if (aRet) {
|
||||
attr[aRet[1]][aRet[2] ? aRet[2].toLowerCase() : 'plus'] += val * 1 || 0
|
||||
return
|
||||
@ -220,11 +215,6 @@ let DmgAttr = {
|
||||
attr[key] += val * 1 || 0
|
||||
return
|
||||
}
|
||||
|
||||
let dRet = /^(dot)(Dmg|EnemyDmg)$/.exec(key)
|
||||
if (dRet) {
|
||||
attr[dRet[1]][dRet[2].toLowerCase()] += val * 1 || 0
|
||||
}
|
||||
})
|
||||
msg.push(title)
|
||||
})
|
||||
|
@ -19,7 +19,7 @@ let DmgCalc = {
|
||||
dynamicPhy = 0, // 动态物伤
|
||||
dynamicCpct = 0, // 动态暴击率
|
||||
dynamicCdmg = 0, // 动态暴击伤害
|
||||
dynamicEnemyDmg = 0 // 动态易伤
|
||||
dynamicEnemydmg = 0 // 动态易伤
|
||||
} = dynamicData
|
||||
let {
|
||||
ds, // 数据集
|
||||
@ -31,7 +31,7 @@ let DmgCalc = {
|
||||
} = data
|
||||
let calc = ds.calc
|
||||
|
||||
let { atk, dmg, phy, cdmg, cpct, enemyDmg } = attr
|
||||
let { atk, dmg, phy, cdmg, cpct, enemydmg } = attr
|
||||
|
||||
// 攻击区
|
||||
let atkNum = calc(atk)
|
||||
@ -47,9 +47,9 @@ let DmgCalc = {
|
||||
}
|
||||
|
||||
// 易伤区
|
||||
let enemyDmgNum = 1
|
||||
let enemydmgNum = 1
|
||||
if (game === 'sr') {
|
||||
enemyDmgNum = 1 + enemyDmg.base / 100 + enemyDmg.plus / 100 + dynamicEnemyDmg / 100
|
||||
enemydmgNum = 1 + enemydmg.base / 100 + enemydmg.plus / 100 + dynamicEnemydmg / 100
|
||||
}
|
||||
|
||||
// 暴击区
|
||||
@ -69,7 +69,7 @@ let DmgCalc = {
|
||||
|
||||
pctNum += ds.pct / 100
|
||||
dmgNum += ds.dmg / 100
|
||||
enemyDmgNum += game === 'gs' ? 0 : ds.enemydmg / 100
|
||||
enemydmgNum += game === 'gs' ? 0 : ds.enemydmg / 100
|
||||
cpctNum += ds.cpct / 100
|
||||
cdmgNum += ds.cdmg / 100
|
||||
enemyDef += ds.def / 100
|
||||
@ -128,11 +128,6 @@ let DmgCalc = {
|
||||
let stanceNum = 1
|
||||
if (game === 'sr') {
|
||||
switch (ele) {
|
||||
case 'skillDot': {
|
||||
dmgNum += attr.dot.dmg / 100
|
||||
enemyDmgNum += attr.dot.enemydmg / 100
|
||||
break
|
||||
}
|
||||
case 'shock':
|
||||
case 'burn':
|
||||
case 'windShear':
|
||||
@ -147,7 +142,6 @@ let DmgCalc = {
|
||||
case 'iceBreak': {
|
||||
eleNum = DmgMastery.getBasePct(ele, attr.element)
|
||||
stanceNum = 1 + calc(attr.stance) / 100
|
||||
enemyDmgNum += attr.dot.enemydmg / 100
|
||||
break
|
||||
}
|
||||
default:
|
||||
@ -182,7 +176,7 @@ let DmgCalc = {
|
||||
break
|
||||
}
|
||||
|
||||
case 'crystallize':{
|
||||
case 'crystallize': {
|
||||
eleBase *= cryBaseDmg[level]
|
||||
ret = { avg: eleBase * (calc(attr.shield) / 100) * (attr.shield.inc / 100) }
|
||||
break
|
||||
@ -202,7 +196,7 @@ let DmgCalc = {
|
||||
// 技能持续伤害 = 伤害值乘区 * 增伤区 * 易伤区 * 防御区 * 抗性区 * 减伤区
|
||||
case 'skillDot': {
|
||||
ret = {
|
||||
avg: dmgBase * dmgNum * enemyDmgNum * defNum * kNum * dmgReduceNum
|
||||
avg: dmgBase * dmgNum * enemydmgNum * defNum * kNum * dmgReduceNum
|
||||
}
|
||||
break
|
||||
}
|
||||
@ -220,27 +214,27 @@ let DmgCalc = {
|
||||
case 'fireBreak':
|
||||
case 'windBreak':
|
||||
case 'physicalBreak':
|
||||
case 'quantumBreak' :
|
||||
case 'quantumBreak':
|
||||
case 'imaginaryBreak':
|
||||
case 'iceBreak': {
|
||||
breakDotBase *= breakBaseDmg[level]
|
||||
ret = {
|
||||
avg: breakDotBase * eleNum * stanceNum * enemyDmgNum * defNum * kNum * dmgReduceNum
|
||||
avg: breakDotBase * eleNum * stanceNum * enemydmgNum * defNum * kNum * dmgReduceNum
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
default: {
|
||||
ret = {
|
||||
dmg: dmgBase * dmgNum * enemyDmgNum * (1 + cdmgNum) * defNum * kNum * dmgReduceNum,
|
||||
avg: dmgBase * dmgNum * enemyDmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * dmgReduceNum
|
||||
dmg: dmgBase * dmgNum * enemydmgNum * (1 + cdmgNum) * defNum * kNum * dmgReduceNum,
|
||||
avg: dmgBase * dmgNum * enemydmgNum * (1 + cpctNum * cdmgNum) * defNum * kNum * dmgReduceNum
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (showDetail) {
|
||||
console.log('Attr', attr)
|
||||
console.log({ mode, dmgBase, atkNum, pctNum, multiNum, plusNum, dmgNum, enemyDmgNum, stanceNum, cpctNum, cdmgNum, defNum, eleNum, kNum, dmgReduceNum })
|
||||
console.log({ mode, dmgBase, atkNum, pctNum, multiNum, plusNum, dmgNum, enemydmgNum, stanceNum, cpctNum, cdmgNum, defNum, eleNum, kNum, dmgReduceNum })
|
||||
console.log('Ret', ret)
|
||||
}
|
||||
|
||||
@ -265,8 +259,8 @@ let DmgCalc = {
|
||||
return dmgFn(0, talent, ele, basicNum, 'basic', dynamicData)
|
||||
}
|
||||
|
||||
dmgFn.reaction = function (ele = false) {
|
||||
return dmgFn(0, 'fy', ele, 0, 'basic')
|
||||
dmgFn.reaction = function (ele = false, talent = 'fy') {
|
||||
return dmgFn(0, talent, ele, 0, 'basic')
|
||||
}
|
||||
|
||||
dmgFn.dynamic = function (pctNum = 0, talent = false, dynamicData = false, ele = false) {
|
||||
|
@ -29,6 +29,6 @@ export const buffs = [{
|
||||
title: '雷泽4命:E点按降低敌人防御力15%',
|
||||
cons: 4,
|
||||
data: {
|
||||
def: 15
|
||||
enemyDef: 15
|
||||
}
|
||||
}]
|
||||
|
@ -27,7 +27,7 @@ export const defParams = {
|
||||
}
|
||||
|
||||
export const defDmgIdx = 1
|
||||
export const mainAttr = 'atk,cpct,cdmg,recharge'
|
||||
export const mainAttr = 'atk,cpct,cdmg,recharge,dmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '恶曜开眼:开E元素爆发伤害提升[qDmg]%',
|
||||
|
@ -53,7 +53,7 @@ export const defParams = {
|
||||
}
|
||||
|
||||
export const defDmgIdx = 2
|
||||
export const mainAttr = 'atk,cpct,cdmg,recharge,mastery'
|
||||
export const mainAttr = 'atk,cpct,cdmg,recharge,dmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '恶曜开眼:开E元素爆发伤害提升[qDmg]%',
|
||||
@ -84,7 +84,7 @@ export const buffs = [{
|
||||
atkPlus: ({ params }) => 1202.35 * params.ban
|
||||
}
|
||||
}, {
|
||||
check: ({ params , artis }) => params.team === true && artis.昔日宗室之仪 !== 4 ,
|
||||
check: ({ params, artis }) => params.team === true && artis.昔日宗室之仪 !== 4,
|
||||
title: '班尼特-昔日宗室之仪:增加攻击[atkPct]%',
|
||||
data: {
|
||||
atkPct: ({ params }) => 20 * params.ban
|
||||
@ -131,7 +131,7 @@ export const buffs = [{
|
||||
mastery: 200
|
||||
}
|
||||
}, {
|
||||
check: ({ params , artis }) => params.team === true && artis.教官 !== 4 ,
|
||||
check: ({ params, artis }) => params.team === true && artis.教官 !== 4,
|
||||
title: '九条-教官:精通提升[mastery]',
|
||||
data: {
|
||||
mastery: 120
|
||||
|
@ -28,8 +28,11 @@ export const artiAbbr = {
|
||||
格拉默的铁骑兵团: '格拉默的兵团',
|
||||
格拉默的寂静坟碑: '格拉默的坟碑',
|
||||
匹诺康尼的堂皇酒店: '匹诺康尼的酒店',
|
||||
匹诺康尼的逐梦轨道: '匹诺康尼的轨道'
|
||||
|
||||
匹诺康尼的逐梦轨道: '匹诺康尼的轨道',
|
||||
钟表匠的极目透镜: '钟表匠的透镜',
|
||||
钟表匠的交运腕表: '钟表匠的腕表',
|
||||
钟表匠的空幻礼服: '钟表匠的礼服',
|
||||
钟表匠的隐梦革履: '钟表匠的革履'
|
||||
}
|
||||
export const artiSetAbbr = {
|
||||
盗匪荒漠的废土客: '虚数套',
|
||||
@ -59,7 +62,9 @@ export const artiSetAbbr = {
|
||||
毁烬焚骨的大公: '大公',
|
||||
幽锁深牢的系囚: '系囚',
|
||||
苍穹战线格拉默: '苍穹',
|
||||
梦想之地匹诺康尼: '梦想'
|
||||
梦想之地匹诺康尼: '梦想',
|
||||
死水深潜的先驱: '死水',
|
||||
机心戏梦的钟表匠: '机心'
|
||||
}
|
||||
|
||||
export const aliasCfg = {
|
||||
@ -90,5 +95,7 @@ export const aliasCfg = {
|
||||
毁烬焚骨的大公: '毁烬,焚骨,毁烬焚骨,追加套,追加攻击套,追伤套',
|
||||
幽锁深牢的系囚: '幽锁,深牢,幽锁深牢,持续伤害套',
|
||||
苍穹战线格拉默: '苍穹,战线,苍穹战线',
|
||||
梦想之地匹诺康尼: '梦想,梦想之地,匹诺康尼'
|
||||
梦想之地匹诺康尼: '梦想,梦想之地,匹诺康尼',
|
||||
死水深潜的先驱: '死水,深潜,死水深潜,死水套,深潜套',
|
||||
机心戏梦的钟表匠: '机心,钟表匠,机心套,钟表套'
|
||||
}
|
||||
|
@ -3,6 +3,9 @@
|
||||
* 如character/${name}/artis.js下有角色自定义规则优先使用自定义
|
||||
*/
|
||||
export const usefulAttr = {
|
||||
米沙: { hp: 0, atk: 75, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 75, effPct: 0, effDef: 0, dmg: 100 },
|
||||
花火: { hp: 75, atk: 0, def: 75, speed: 100, cpct: 0, cdmg: 100, stance: 0, heal: 0, recharge: 100, effPct: 0, effDef: 50, dmg: 0 },
|
||||
黑天鹅: { hp: 0, atk: 100, def: 0, speed: 75, cpct: 0, cdmg: 0, stance: 0, heal: 0, recharge: 50, effPct: 100, effDef: 0, dmg: 100 },
|
||||
真理医生: { hp: 0, atk: 75, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 0, heal: 0, recharge: 50, effPct: 0, effDef: 0, dmg: 100 },
|
||||
'阮•梅': { hp: 75, atk: 0, def: 75, speed: 100, cpct: 0, cdmg: 0, stance: 100, heal: 0, recharge: 100, effPct: 0, effDef: 50, dmg: 0 },
|
||||
雪衣: { hp: 0, atk: 75, def: 0, speed: 100, cpct: 100, cdmg: 100, stance: 100, heal: 0, recharge: 50, effPct: 0, effDef: 0, dmg: 100 },
|
||||
|
@ -127,7 +127,7 @@ export default {
|
||||
}]
|
||||
},
|
||||
泛银河商业公司: {
|
||||
2: [attr('effPct', 12), {
|
||||
2: [attr('effPct', 10), {
|
||||
title: '基于效果命中提高攻击力[atkPct]%',
|
||||
data: {
|
||||
atkPct: ({ calc, attr }) => Math.min(25, calc(attr.effPct) / 4 || 0)
|
||||
@ -230,5 +230,28 @@ export default {
|
||||
dmg: 10
|
||||
}
|
||||
}]
|
||||
},
|
||||
死水深潜的先驱: {
|
||||
2: {
|
||||
title: '对受负面状态影响的敌人造成伤害提高[dmg]%',
|
||||
data: {
|
||||
dmg: 12
|
||||
}
|
||||
},
|
||||
4: [attr('cpct', 4), {
|
||||
title: '对陷入不少于3个负面效果的地方目标造成的暴击伤害提高[cdmg]%',
|
||||
data: {
|
||||
cdmg: 24
|
||||
}
|
||||
}]
|
||||
},
|
||||
机心戏梦的钟表匠: {
|
||||
2: attr('stance', 16),
|
||||
4: {
|
||||
title: '装备者对我方释放终结技时,我方全体击破特攻提高[stance]%',
|
||||
data: {
|
||||
stance: 30
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -869,6 +869,114 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"117": {
|
||||
"id": "117",
|
||||
"name": "死水深潜的先驱",
|
||||
"skills": {
|
||||
"2": "对受负面状态影响的敌人造成的伤害提高<nobr>12.0%</nobr>。",
|
||||
"4": "暴击率提高<nobr>4%</nobr>,装备者对陷入不少于<nobr>2/3</nobr>个负面效果的敌方目标造成的暴击伤害提高<nobr>8%/12%</nobr>。装备者对敌方目标施加负面效果后,上述效果提高<nobr>100%</nobr>,持续<nobr>1</nobr>回合。"
|
||||
},
|
||||
"idxs": {
|
||||
"1": {
|
||||
"name": "先驱的绝热围壳",
|
||||
"desc": "俄尔刻龙常见款式的潜水重盔。透过小小的舷窗只能看到令人难以忍受的无边黑暗。",
|
||||
"lore": "俄尔刻龙的夜晚积云层层,烁烁行星环遮掩其中。紫红色的雪花落在厚重的头盔上,静静填补了锈铁的沟壑,将侵蚀的痕迹掩盖起来。她和她坐在雪松林间…旅途暂歇片刻。<br /><br />「看!俄尔刻龙的空气是树莓味的。」紫红色的雪花落在松软如云朵的糖絮上,很快消失不见。来自推罗的小小无名客吃吃地笑着,马上又弯腰捧腹,她笑自己的用词——气味怎能用眼睛看到呢!欢声笑语之后,安静就像刀锋一般尖锐,空中好像霎时结了霜。<br /><br />「扶里巴斯,你还是要往『IX』的深处去么?」发问的是那位旅伴,总提着一柄长刀。她是个好伙伴,但没人知道她从哪里来。<br /><br />小小的无名客躲在笨重的潜水衣里,沉默半晌,她递给对方一枝微微焦黑的棉花糖,眼睛眯得像张满的帆:<br /><br />「当然啦——因为我要走一条比阿基维利更深、更远的路!」",
|
||||
"ids": {
|
||||
"31171": 2,
|
||||
"41171": 3,
|
||||
"51171": 4,
|
||||
"61171": 5
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"name": "先驱的虚极罗盘",
|
||||
"desc": "一块腕表式指南针,磁针已被拆去,不再能指示任何方向。",
|
||||
"lore": "「海底的一股洋流,<br /><br />「低语着啄她的骨头,就在一起一落的时光,<br /><br />「她经历了苍老和青春的阶段,<br /><br />「而进入旋涡。」<br /><br />女孩听过这样一个故事。在故事里,人们所处的世界被描绘成参天大树,由无主的能量构成。「这种能量看不见摸不着,既不可理解,也没有意义,」她思考,「就像『IX』也没有意义。」<br /><br />小小的无名客有些怅然,她为自己步入「虚无」深处后该如何辨识方向而发愁。但不久她就有了灵感——十四岁那年,妈妈留给她最后一件生日礼物,一块小小的罗盘。<br /><br />「既然这样,只要让罗盘感应到的不是磁场,而是『能量』,不就可以解决问题了吗?」<br /><br />小小无名客拆下了罗盘的磁针,可当女孩潜入黑暗的瞬间,她意识到罗盘唯一的方向只有下落。",
|
||||
"ids": {
|
||||
"31172": 2,
|
||||
"41172": 3,
|
||||
"51172": 4,
|
||||
"61172": 5
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"name": "先驱的密合铅衣",
|
||||
"desc": "废铁打造的重型潜水服,密不透风,使用者也常常调侃它更像是一具深水棺材。",
|
||||
"lore": "「扶里巴斯,那来自推罗的无名客,死了十四个日夜,<br /><br />「她忘了海鸥的啼哭,深渊里的涛声,<br /><br />「利益和损失。」<br /><br />小小的无名客望向那比推罗大道还要宽阔的行星环,她决定将自己发射到黑洞里的奇点去。<br /><br />「就连阿基维利都没能去到那里。」女孩总能听到涛声在她心底隐隐回荡:「我一定能比祂走得更深、更远。」她为此做足了准备——来历不明的锈铁皮、二手氧气瓶、废旧陀螺仪姿态控制装置、自循环生命支持系统和整流罩…她将材料全部锻在一起,确保整套装甲密不透风,她觉得这样可以保护自己远离「虚无」的伤害。<br /><br />她拾起爸爸留下的潜水头盔,佩戴上一枚自制的「荣誉徽章」。临行前,她与旅伴再次前往雪松林间,最后再烤一次棉花糖。<br /><br />后来,当扶里巴斯的飞行器抵近黑洞边缘时,这便是她所能回想起的、有关俄尔刻龙的全部回忆。",
|
||||
"ids": {
|
||||
"31173": 2,
|
||||
"41173": 3,
|
||||
"51173": 4,
|
||||
"61173": 5
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"name": "先驱的泊星桩锚",
|
||||
"desc": "重靴形似船锚,它的主人已经做好了永不返回水面的打算。",
|
||||
"lore": "「你们呵,转动舵轮和观望风向的人,<br /><br />「想想她,扶里巴斯,<br /><br />「也曾像你们一样漂亮而高大。」<br /><br />铁锚般的铅靴领着女孩不断下坠,它们正忠实地履行着设计之初便赋予的使命。<br /><br />女孩始终没有合上眼睛,与冰冷而孤独的黑暗顽强对抗。她想起自己第一次听说阿基维利的故事;想起踏上旅途的那一天,她为自己打造的「荣誉徽章」;她想起与旅伴同行的30日;想起她们第一次和最后一次集合的林间空地,那里的空气是树莓味的;想起口哨、吉他和竹笛,以及她们一起唱过的歌;想起紫红色的雪花落在微焦的棉花糖上,很快不见踪影。<br /><br />历历在目的回忆末尾,莫大的空虚行将来临,她突然见到一抹鲜红在黑色的世界中心转瞬即逝。<br /><br />于是,小小的无名客想起佩刀的她最后一次接过棉花糖时,自己发自内心的笑:<br /><br />「我从没想过能遇见和自己一样的人。在这条「路」上,你走过的距离比我远了好多。<br /><br />「所以你也一定会陪我走到最后的,对吧?<br /><br />「当然,我们的结局早已注定…但就和你说的一样——<br /><br />「哪怕我最终会化作一潭浅浅的死水,但在走向那一刻的路上,我能做的事依然很多。所以无论如何,我都一定要去试试看——<br /><br />「——因为我要走一条比阿基维利更深、更远的路!」",
|
||||
"ids": {
|
||||
"31174": 2,
|
||||
"41174": 3,
|
||||
"51174": 4,
|
||||
"61174": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"118": {
|
||||
"id": "118",
|
||||
"name": "机心戏梦的钟表匠",
|
||||
"skills": {
|
||||
"2": "击破特攻提高<nobr>16.0%</nobr>。",
|
||||
"4": "当装备者对我方目标施放终结技时,我方全体击破特攻提高<nobr>30%</nobr>,持续<nobr>2</nobr>回合,该效果无法叠加。"
|
||||
},
|
||||
"idxs": {
|
||||
"1": {
|
||||
"name": "钟表匠的极目透镜",
|
||||
"desc": "一枚金雕目镜,镜片映照远方的纷繁奇象,助它的主人望穿迷梦。",
|
||||
"lore": "在匹诺康尼关于「钟表匠」的故事里,他总是别具慧眼,能轻易看穿梦幻泡影下的商机,创造出谁也未曾料想的伟大事业。<br /><br />边陲监狱在万界之癌中争得自由,又在家族的光照下迎来和平与繁荣。据说钟表匠就是在此刻入局,他的目镜映出这片梦境的本质——人们在「薄暮的时刻」挥金如土,只为寻得「梦中的不可能之事」。从此,匹诺康尼的梦中出现了许多不可思议的事物:会讲笑话的茶壶、一边行驶一边旋转的跑车、每天都会变换位置的豪宅…它们大多毫无用处,却标卖着天文数字,而那些远道而来的人们,却愿意为之挥霍无度。<br /><br />此乃虚幻梦境,何不放肆狂想?一句「独存梦中,独一无二」,便将梦境中的奢侈与价值重新定义。<br /><br />苜蓿草家系与商界的老逐梦客们总为此事感到懊悔,埋怨自己为何没有早点看到这样的机会。而钟表匠只不过是看得比他们远了一点——每次都远了一点。<br /><br />",
|
||||
"ids": {
|
||||
"31181": 2,
|
||||
"41181": 3,
|
||||
"51181": 4,
|
||||
"61181": 5
|
||||
}
|
||||
},
|
||||
"2": {
|
||||
"name": "钟表匠的交运腕表",
|
||||
"desc": "一块做工精美的手表,有着奇特的子盘与时针,据说是梦境中好运的象征。",
|
||||
"lore": "「钟表匠」被称作钟表匠的原因,是系列故事最大的谜团。<br /><br />有人说他曾是钟楼的修补工匠,有人说他曾是贩售钟表的行商,甚至有人说他真的有一个表盘形状的脑袋——就像他创作的钟表小子一样。<br /><br />随着流言四起,梦中的腕表也借着钟表匠的名声一炮而红。逐梦客们知晓它们与本尊毫无联系,却依然将之视作对他的敬意,幸运的象征。在一系列商业行为的推动下,钟表图案成了匹诺康尼最常见的事物——服装、首饰、食品…从街头小巷的涂鸦到酒店大堂的巨钟,这位传奇大亨的影子无处不在。<br /><br />「在匹诺康尼,谁会不喜欢钟表呢?」<br /><br />而真正的钟表匠似乎默许了这一切,从未对那款最初的腕表发表过任何意见。直到钟表图案在匹诺康尼变成理所当然,直到再没有人追问钟表匠的来由。",
|
||||
"ids": {
|
||||
"31182": 2,
|
||||
"41182": 3,
|
||||
"51182": 4,
|
||||
"61182": 5
|
||||
}
|
||||
},
|
||||
"3": {
|
||||
"name": "钟表匠的空幻礼服",
|
||||
"desc": "一身富丽堂皇的皮领礼服,华美典雅,通常用于宴会等正式场合。",
|
||||
"lore": "在匹诺康尼的诸多传闻中,「钟表匠」有着截然不同的身份与外表。<br /><br />在虚构无端的故事里,他时而是和蔼的老者,时而是优雅的淑女,甚至有传言说他是一位身高百尺的巨人绅士…但无论在哪个故事里,他总有一身华丽的行头。<br /><br />传言钟表匠会在晨昏交界的梦境中,将自己的秘密分享给舞伴。听闻此言,人们纷纷步入华服舞会,向每一位藏在金装玉裹的人群中的神秘宾客发出邀请——越来越多的逐梦客借此相识相知,舞会也渐渐变成友情与爱情的交际场。价格高昂的入场券总是开售即空,哪怕传闻中身着华服的主人从未现身,也不妨碍来宾们寻求邂逅的热情。<br /><br />「瞧您的打扮,莫非就是大名鼎鼎的钟表匠?」这句话从最初的真诚询问,到后来的夸赞奉承,最终成了邀舞的托词。<br /><br />钟表匠多了一份舞会的生意,而梦境中也多了一份浪漫与激情。",
|
||||
"ids": {
|
||||
"31183": 2,
|
||||
"41183": 3,
|
||||
"51183": 4,
|
||||
"61183": 5
|
||||
}
|
||||
},
|
||||
"4": {
|
||||
"name": "钟表匠的隐梦革履",
|
||||
"desc": "一双款式优雅的皮靴,穿戴者曾以深秘的姿态踏梦潜行。",
|
||||
"lore": "「钟表匠」踏遍了每一刻梦境,也踏遍了匹诺康尼的历史。他的名字已然在梦想之地流传了数百年,而如今的逐梦客却依然能听见他的动向。<br /><br />人们不禁开始怀疑,钟表匠究竟是一个人,还是一个团体,抑或是家族的一个谎言?<br /><br />一些逐梦客誓要发掘出钟表匠的真相,前往各个梦境探寻神秘豪绅的踪迹,最后却只寻得掠影浮光——某次商业会谈的神秘来客、某个异军突起的无主品牌、某笔来路不明的巨额投资…每当他们试图推论钟表匠并不存在,却反而印证了钟表匠在梦中无处不在。<br /><br />关于钟表匠的书籍塞满了「初醒图书馆」的书架,他的名字永远萦绕着匹诺康尼。<br /><br />人们越是想要探究真相,就越是被谎言掩蔽…在千篇故事与万般传言中,这位盛会巨星只是留下足迹,不曾留下身影。",
|
||||
"ids": {
|
||||
"31184": 2,
|
||||
"41184": 3,
|
||||
"51184": 4,
|
||||
"61184": 5
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"301": {
|
||||
"id": "301",
|
||||
"name": "太空封印站",
|
||||
|
BIN
resources/meta-sr/artifact/机心戏梦的钟表匠/arti-0.webp
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
resources/meta-sr/artifact/机心戏梦的钟表匠/arti-1.webp
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
resources/meta-sr/artifact/机心戏梦的钟表匠/arti-2.webp
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
resources/meta-sr/artifact/机心戏梦的钟表匠/arti-3.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/meta-sr/artifact/机心戏梦的钟表匠/arti-4.webp
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
resources/meta-sr/artifact/死水深潜的先驱/arti-0.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/meta-sr/artifact/死水深潜的先驱/arti-1.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/meta-sr/artifact/死水深潜的先驱/arti-2.webp
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
resources/meta-sr/artifact/死水深潜的先驱/arti-3.webp
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
resources/meta-sr/artifact/死水深潜的先驱/arti-4.webp
Normal file
After Width: | Height: | Size: 19 KiB |
@ -11,7 +11,7 @@ export const details = [{
|
||||
let plusDot = cons >= 6 ? 1.56 : 0
|
||||
let weaponDot = weapon.name === '只需等待' ? (weapon.affix * 10 + 50) / 100 : 0
|
||||
let eDmg = dmg(talent.e['单体伤害'], 'e')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot + weaponDot) * talent.e['额外持续伤害'], '', 'skillDot')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot + weaponDot) * talent.e['额外持续伤害'], 'dot', 'skillDot')
|
||||
return {
|
||||
dmg: eDmg.dmg + dotDmg.avg,
|
||||
avg: eDmg.avg + dotDmg.avg
|
||||
@ -24,7 +24,7 @@ export const details = [{
|
||||
let plusDot = cons >= 6 ? 1.56 : 0
|
||||
let weaponDot = weapon.name === '只需等待' ? (weapon.affix * 10 + 50) / 100 : 0
|
||||
let qDmg = dmg(talent.q['技能伤害'], 'q')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot + weaponDot) * talent.q['额外持续伤害'], '', 'skillDot')
|
||||
let dotDmg = dmg((talent.q['回合持续伤害'] + plusDot + weaponDot) * talent.q['额外持续伤害'], 'dot', 'skillDot')
|
||||
return {
|
||||
dmg: qDmg.dmg + dotDmg.avg,
|
||||
avg: qDmg.avg + dotDmg.avg
|
||||
@ -40,7 +40,7 @@ export const buffs = [{
|
||||
title: '卡芙卡1命:目标受到的持续伤害提高30%',
|
||||
cons: 1,
|
||||
data: {
|
||||
dotEnemyDmg: 30
|
||||
dotEnemydmg: 30
|
||||
}
|
||||
}, {
|
||||
title: '卡芙卡2命:我方全体造成的持续伤害提高25%',
|
||||
|
@ -12,10 +12,10 @@ export const details = [{
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'] + talent.e['相邻目标伤害'] * 2, 'e')
|
||||
}, {
|
||||
title: '秘技触电持续伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(0.5, '', 'skillDot')
|
||||
dmg: ({ talent }, dmg) => dmg(0.5, 'dot', 'skillDot')
|
||||
}, {
|
||||
title: '战技触电持续伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['触电持续伤害'], '', 'skillDot')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['触电持续伤害'], 'dot', 'skillDot')
|
||||
}, {
|
||||
title: '天赋附加伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.t['技能伤害'], 't')
|
||||
|
@ -17,11 +17,11 @@ export const details = [{
|
||||
check: ({ cons }) => cons >= 6,
|
||||
dmgKey: 't',
|
||||
dmg: ({ talent }, { dynamic }) => {
|
||||
const dynamicEnemyDmg = 12
|
||||
const dynamicEnemydmg = 12
|
||||
let t1dmg = dynamic(talent.t['技能伤害'], 't')
|
||||
let t2dmg = dynamic(talent.t['技能伤害'], 't', { dynamicEnemyDmg })
|
||||
let t3dmg = dynamic(talent.t['技能伤害'], 't', { dynamicEnemyDmg: dynamicEnemyDmg * 2 })
|
||||
let t4dmg = dynamic(talent.t['技能伤害'], 't', { dynamicEnemyDmg: dynamicEnemyDmg * 3 })
|
||||
let t2dmg = dynamic(talent.t['技能伤害'], 't', { dynamicEnemydmg })
|
||||
let t3dmg = dynamic(talent.t['技能伤害'], 't', { dynamicEnemydmg: dynamicEnemydmg * 2 })
|
||||
let t4dmg = dynamic(talent.t['技能伤害'], 't', { dynamicEnemydmg: dynamicEnemydmg * 3 })
|
||||
return {
|
||||
dmg: t1dmg.dmg + t2dmg.dmg + t3dmg.dmg + t4dmg.dmg * 7,
|
||||
avg: t1dmg.avg + t2dmg.avg + t3dmg.avg + t4dmg.avg * 7
|
||||
|
@ -8,7 +8,7 @@ export const details = [{
|
||||
title: '灼烧持续伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
const dotPlus = cons >= 2 ? 0.4 : 0
|
||||
return dmg(talent.e['持续伤害'] + dotPlus, '', 'skillDot')
|
||||
return dmg(talent.e['持续伤害'] + dotPlus, 'dot', 'skillDot')
|
||||
}
|
||||
}, {
|
||||
title: '终结技伤害',
|
||||
@ -18,7 +18,7 @@ export const details = [{
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let qDmg = dmg(talent.q['技能伤害'], 'q')
|
||||
const dotPlus = cons >= 2 ? 0.4 : 0
|
||||
let dotDmg = dmg((talent.e['持续伤害'] + dotPlus) * talent.q['灼烧伤害比例'], '', 'skillDot')
|
||||
let dotDmg = dmg((talent.e['持续伤害'] + dotPlus) * talent.q['灼烧伤害比例'], 'dot', 'skillDot')
|
||||
return {
|
||||
dmg: qDmg.dmg + dotDmg.avg,
|
||||
avg: qDmg.avg + dotDmg.avg
|
||||
@ -30,16 +30,16 @@ export const defDmgIdx = 2
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '天赋-古来君子养艺人:3层【吞火】状态下目标受到的伤害提高[enemyDmg]%',
|
||||
title: '天赋-古来君子养艺人:3层【吞火】状态下目标受到的伤害提高[enemydmg]%',
|
||||
check: ({ cons }) => cons < 6,
|
||||
data: {
|
||||
enemyDmg: ({ talent }) => talent.t['伤害提高'] * 100 * 3
|
||||
enemydmg: ({ talent }) => talent.t['伤害提高'] * 100 * 3
|
||||
}
|
||||
}, {
|
||||
title: '天赋-古来君子养艺人:4层【吞火】状态下目标受到的伤害提高[enemyDmg]%',
|
||||
title: '天赋-古来君子养艺人:4层【吞火】状态下目标受到的伤害提高[enemydmg]%',
|
||||
cons: 6,
|
||||
data: {
|
||||
enemyDmg: ({ talent }) => talent.t['伤害提高'] * 100 * 4
|
||||
enemydmg: ({ talent }) => talent.t['伤害提高'] * 100 * 4
|
||||
}
|
||||
}, {
|
||||
title: '行迹-逾锋:对陷入灼烧状态的地方目标造成的伤害提高[dmg]%',
|
||||
|
@ -13,7 +13,7 @@ export const details = [{
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let eDmg = dmg(talent.e['技能伤害'] * 6, 'e')
|
||||
let plusDot = cons >= 6 ? 0.15 : 0
|
||||
let dotDmg = dmg((talent.t['回合开始受到伤害'] + plusDot) * 5, '', 'skillDot')
|
||||
let dotDmg = dmg((talent.t['回合开始受到伤害'] + plusDot) * 5, 'dot', 'skillDot')
|
||||
return {
|
||||
dmg: eDmg.dmg + dotDmg.avg * 0.08,
|
||||
avg: eDmg.avg + dotDmg.avg * 0.08
|
||||
@ -26,7 +26,7 @@ export const details = [{
|
||||
title: '天赋5层风化持续伤害',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let plusDot = cons >= 6 ? 0.15 : 0
|
||||
return dmg((talent.t['回合开始受到伤害'] + plusDot) * 5, '', 'skillDot')
|
||||
return dmg((talent.t['回合开始受到伤害'] + plusDot) * 5, 'dot', 'skillDot')
|
||||
}
|
||||
}]
|
||||
|
||||
@ -43,9 +43,9 @@ export const buffs = [{
|
||||
title: '桑博6命:天赋施加的风化状态伤害倍率提高15%',
|
||||
cons: 6
|
||||
}, {
|
||||
title: '惊喜礼盒:Q后使敌方目标受到的持续伤害提高[dotEnemyDmg]%',
|
||||
title: '惊喜礼盒:Q后使敌方目标受到的持续伤害提高[dotEnemydmg]%',
|
||||
data: {
|
||||
dotEnemyDmg: 30
|
||||
dotEnemydmg: 30
|
||||
}
|
||||
}]
|
||||
|
||||
|
59
resources/meta-sr/character/米沙/calc.js
Normal file
@ -0,0 +1,59 @@
|
||||
export const details = [{
|
||||
title: '普攻伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||
}, {
|
||||
title: '战技伤害·单体',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['单体伤害'], 'e')
|
||||
}, {
|
||||
title: '战技伤害·相邻目标',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['相邻目标伤害'], 'e')
|
||||
}, {
|
||||
title: '终结技伤害·10段',
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let extraTd = cons >= 4 ? 0.06 : 0
|
||||
let td = (talent.q['每段攻击伤害'] + extraTd) * 10
|
||||
return dmg(td, 'q')
|
||||
}
|
||||
}, {
|
||||
title: '终结技伤害·15段',
|
||||
check: ({ cons }) => cons >= 1,
|
||||
dmg: ({ talent, cons }, dmg) => {
|
||||
let extraTd = cons >= 4 ? 0.06 : 0
|
||||
let td = (talent.q['每段攻击伤害'] + extraTd) * 15
|
||||
return dmg(td, 'q')
|
||||
}
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,dmg'
|
||||
export const defDmgIdx = 3
|
||||
|
||||
export const buffs = [{
|
||||
title: '行迹-锁接:释放终结技时,效果命中提高[effPct]%',
|
||||
tree: 2,
|
||||
data: {
|
||||
effPct: 60
|
||||
}
|
||||
}, {
|
||||
title: '行迹-传冲:对陷入冻结状态的敌人造成的暴击伤害提高[cdmg]%',
|
||||
tree: 3,
|
||||
data: {
|
||||
cdmg: 30
|
||||
}
|
||||
}, {
|
||||
title: '米沙2命:降低目标防御力[enemyDef]%',
|
||||
cons: 2,
|
||||
data: {
|
||||
enemyDef: 16
|
||||
}
|
||||
}, {
|
||||
title: '米沙4命:终结技每段攻击的伤害倍率提高6%',
|
||||
cons: 4
|
||||
}, {
|
||||
title: '米沙6命:释放终结技时,自身造成的伤害提高[dmg]%',
|
||||
cons: 6,
|
||||
data: {
|
||||
dmg: 30
|
||||
}
|
||||
}]
|
||||
|
||||
export const createdBy = 'Aluxes'
|
@ -9,7 +9,7 @@ export const details = [{
|
||||
}, {
|
||||
title: '普攻灼烧持续伤害',
|
||||
tree: 3,
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'] * 0.5, '', 'skillDot')
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'] * 0.5, 'dot', 'skillDot')
|
||||
}, {
|
||||
title: '蓄能5层全队加攻',
|
||||
dmg: ({ talent }) => {
|
||||
|
51
resources/meta-sr/character/花火/calc.js
Normal file
@ -0,0 +1,51 @@
|
||||
import { Format } from '#miao'
|
||||
|
||||
export const details = [{
|
||||
title: '普攻伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||
}, {
|
||||
title: '战技提高暴击伤害',
|
||||
dmg: ({ talent, attr, cons }) => {
|
||||
let extraCdmg = cons >= 6 ? 0.3 * attr.cdmg / 100 : 0
|
||||
return {
|
||||
avg: Format.percent(talent.e['百分比爆伤'] * attr.cdmg / 100 + talent.e['额外爆伤'] + extraCdmg),
|
||||
type: 'text'
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '天赋满层Buff无视目标防御力',
|
||||
check: ({ cons }) => cons >= 2,
|
||||
dmg: ({ talent }) => {
|
||||
return {
|
||||
avg: Format.percent(0.24),
|
||||
type: 'text'
|
||||
}
|
||||
}
|
||||
}, {
|
||||
title: '终结技满层Buff提高伤害',
|
||||
dmg: ({ talent }) => {
|
||||
let dmgNum = (talent.q['天赋增伤每层额外提高'] + talent.t['伤害提高']) * 3
|
||||
return {
|
||||
avg: Format.percent(dmgNum),
|
||||
type: 'text'
|
||||
}
|
||||
}
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg'
|
||||
|
||||
export const buffs = [{
|
||||
title: '行迹-夜想曲:攻击力提高[atkPct]%',
|
||||
data: {
|
||||
atkPct: 20
|
||||
}
|
||||
}, {
|
||||
title: '花火6命:战技的暴击伤害提高效果额外提高[_cdmg]%',
|
||||
sort: 9,
|
||||
cons: 6,
|
||||
data: {
|
||||
_cdmg: ({ attr }) => attr.cdmg * 0.3
|
||||
}
|
||||
}]
|
||||
|
||||
export const createdBy = 'Aluxes'
|
68
resources/meta-sr/character/黑天鹅/calc.js
Normal file
@ -0,0 +1,68 @@
|
||||
export const details = [{
|
||||
title: '普攻伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.a['技能伤害'], 'a')
|
||||
}, {
|
||||
title: '战技伤害',
|
||||
dmg: ({ talent }, dmg) => dmg(talent.e['技能伤害'], 'e')
|
||||
}, {
|
||||
title: '终结技伤害',
|
||||
params: { qBuff: true },
|
||||
dmg: ({ talent }, dmg) => dmg(talent.q['技能伤害'], 'q')
|
||||
}, {
|
||||
title: '3层奥迹持续伤害',
|
||||
params: { qBuff: true },
|
||||
dmg: ({ talent }, dmg) => {
|
||||
const td = talent.t['持续伤害'] + talent.t['倍率提高'] * 3
|
||||
return dmg(td, 'dot', 'skillDot')
|
||||
}
|
||||
}, {
|
||||
title: '7层奥迹持续伤害',
|
||||
params: { ignoreDef: true, qBuff: true },
|
||||
dmg: ({ talent }, dmg) => {
|
||||
const td = talent.t['持续伤害'] + talent.t['倍率提高'] * 7
|
||||
return dmg(td, 'dot', 'skillDot')
|
||||
}
|
||||
}, {
|
||||
title: '50层奥迹持续伤害',
|
||||
params: { ignoreDef: true, qBuff: true },
|
||||
dmg: ({ talent }, dmg) => {
|
||||
const td = talent.t['持续伤害'] + talent.t['倍率提高'] * 50
|
||||
return dmg(td, 'dot', 'skillDot')
|
||||
}
|
||||
}]
|
||||
|
||||
export const mainAttr = 'atk,cpct,cdmg,dmg,effPct'
|
||||
export const defDmgIdx = 4
|
||||
|
||||
export const buffs = [{
|
||||
title: '行迹-烛影朕兆:基于效果命中,提高造成的伤害[dmg]%',
|
||||
tree: 3,
|
||||
data: {
|
||||
dmg: ({ attr }) => Math.min(attr.effPct * 0.6, 72),
|
||||
}
|
||||
}, {
|
||||
title: '战技:使得目标防御力降低[enemyDef]%',
|
||||
data: {
|
||||
enemyDef: ({ talent }) => talent.e['防御力降低'] * 100,
|
||||
}
|
||||
}, {
|
||||
title: '终结技:【揭露】状态下,目标受到的伤害提高[enemydmg]%',
|
||||
check: ({ params }) => params.qBuff === true,
|
||||
data: {
|
||||
enemydmg: ({ talent }) => talent.q['伤害提高'] * 100,
|
||||
}
|
||||
}, {
|
||||
title: '奥迹:层数大于等于7层时,造成的持续伤害无视目标防御力[dotIgnore]%',
|
||||
check: ({ params }) => params.ignoreDef === true,
|
||||
data: {
|
||||
dotIgnore: 20,
|
||||
}
|
||||
}, {
|
||||
title: '黑天鹅1命:敌方抗性降低[kx]%',
|
||||
cons: 1,
|
||||
data: {
|
||||
kx: 25,
|
||||
}
|
||||
}]
|
||||
|
||||
export const createdBy = 'Aluxes'
|
@ -8,6 +8,7 @@ export const abbr = {
|
||||
无可取代的东西: '无可取代东西',
|
||||
比阳光更明亮的: '比阳光更明亮',
|
||||
记一位星神的陨落: '星神的陨落',
|
||||
铭记于心的约定: '铭记于心',
|
||||
// 存护
|
||||
// 虚无
|
||||
决心如汗珠般闪耀: '汗珠般闪耀',
|
||||
@ -15,6 +16,7 @@ export const abbr = {
|
||||
// 同谐
|
||||
'舞!舞!舞!': '舞舞舞',
|
||||
但战斗还未结束: '战斗还未结束',
|
||||
美梦小镇大冒险: '美梦小镇',
|
||||
// 智识
|
||||
别让世界静下来: '别让世界静下',
|
||||
今日亦是和平的一日: '今日亦是和平'
|
||||
@ -35,6 +37,7 @@ export const aliasCfg = {
|
||||
'烦恼着,幸福着': '烦恼着幸福着,烦恼着,幸福着,烦恼,幸福',
|
||||
星海巡航: '星海,巡航',
|
||||
纯粹思维的洗礼: '纯粹思维',
|
||||
最后的赢家: '最后赢家',
|
||||
|
||||
// 丰饶
|
||||
物穰: '',
|
||||
@ -49,6 +52,7 @@ export const aliasCfg = {
|
||||
时节不居: '时节',
|
||||
'嘿,我在这儿': '我在这儿,我在这',
|
||||
惊魂夜: '魂一直惊',
|
||||
何物为真: '',
|
||||
|
||||
// 毁灭
|
||||
天倾: '',
|
||||
@ -64,6 +68,8 @@ export const aliasCfg = {
|
||||
此身为剑: '以身为剑,手一直摸',
|
||||
比阳光更明亮的: '比阳光更明亮,比阳的,阳光明亮,比阳光,比阳,阳光',
|
||||
记一位星神的陨落: '星神的陨落,星神陨落',
|
||||
在火的远处: '火的远处',
|
||||
铭记于心的约定: '铭记于心',
|
||||
|
||||
// 存护
|
||||
琥珀: '',
|
||||
@ -77,6 +83,7 @@ export const aliasCfg = {
|
||||
制胜的瞬间: '致胜的瞬间,制胜,致胜',
|
||||
她已闭上双眼: '眼一直闭,闭上双眼,她已闭眼,闭眼',
|
||||
记忆的质料: '记忆质料,记忆',
|
||||
织造命运之线: '织造命运,命运之线',
|
||||
|
||||
// 虚无
|
||||
幽邃: '',
|
||||
@ -92,6 +99,8 @@ export const aliasCfg = {
|
||||
只需等待: '妈一直等,菜一直等,等待',
|
||||
雨一直下: '',
|
||||
孤独的疗愈: '孤独疗愈,孤独',
|
||||
重塑时光之忆: '重塑时光',
|
||||
好戏开演: '',
|
||||
|
||||
// 同谐
|
||||
齐颂: '',
|
||||
@ -104,6 +113,8 @@ export const aliasCfg = {
|
||||
镂月裁云之意: '镂月裁云之意,镂月裁云,镂云裁月之意,楼月裁云之意,楼月裁云',
|
||||
但战斗还未结束: '战斗还未结束',
|
||||
镜中故我: '',
|
||||
游戏尘寰: '游戏尘环',
|
||||
美梦小镇大冒险: '美梦小镇',
|
||||
|
||||
// 智识
|
||||
智库: '',
|
||||
@ -116,5 +127,6 @@ export const aliasCfg = {
|
||||
今日亦是和平的一日: '和平的一日,和平一日',
|
||||
银河铁道之夜: '银河铁道,星穹铁道之夜,星穹铁道',
|
||||
拂晓之前: '拂晓',
|
||||
'片刻,留在眼底': '留在眼底,眼一直留'
|
||||
'片刻,留在眼底': '留在眼底,眼一直留',
|
||||
银河沦陷日: '银河沦陷,沦陷日'
|
||||
}
|
||||
|
@ -22,6 +22,22 @@ export default function (staticIdx, keyIdx) {
|
||||
镜中故我: [
|
||||
staticIdx(1, 'stance'),
|
||||
keyIdx('装备者释放终结技后,我方全体造成伤害提高[dmg]%', 'dmg', 2)
|
||||
],
|
||||
游戏尘寰: [
|
||||
staticIdx(1, 'cdmg')
|
||||
],
|
||||
美梦小镇大冒险: [
|
||||
(tables) => {
|
||||
return {
|
||||
title: '普攻、战技、终结技造成的伤害提高[_dmg]%',
|
||||
data: {
|
||||
_dmg: tables[1],
|
||||
aDmg: tables[1],
|
||||
eDmg: tables[1],
|
||||
qDmg: tables[1]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -37,6 +37,20 @@ export default function (staticIdx, keyIdx) {
|
||||
staticIdx(1, 'hpPct'),
|
||||
staticIdx(2, 'recharge'),
|
||||
keyIdx('装备者生命降低时,使我方全体造成的伤害提高[dmg]%', 'dmg', 3)
|
||||
],
|
||||
何物为真: [
|
||||
staticIdx(1, 'stance')
|
||||
],
|
||||
织造命运之线: [
|
||||
staticIdx(1, 'effDef'),
|
||||
(tables) => {
|
||||
return {
|
||||
title: '基于防御力提高造成的伤害[dmg]%',
|
||||
data: {
|
||||
dmg: ({ calc, attr }) => Math.min(calc(attr.def) * tables[2] / 100, 32)
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -79,6 +79,17 @@ export default function (staticIdx, keyIdx) {
|
||||
}
|
||||
},
|
||||
keyIdx('释放终结技后,造成伤害提高[dmg]%,追加攻击无视目标防御力[tIgnore]%', { dmg: 3, tIgnore: 4 })
|
||||
],
|
||||
最后的赢家: [
|
||||
staticIdx(1, 'atkPct'),
|
||||
(tables) => {
|
||||
return {
|
||||
title: '4层Buff提升装备者暴击伤害[cdmg]%',
|
||||
data: {
|
||||
cdmg: tables[2] * 4
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -69,6 +69,10 @@ export default function (staticIdx, keyIdx) {
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
银河沦陷日: [
|
||||
staticIdx(1, 'atkPct'),
|
||||
keyIdx('提高暴击伤害[cdmg]%', 'cdmg', 2)
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -73,6 +73,13 @@ export default function (staticIdx, keyIdx) {
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
在火的远处: [
|
||||
keyIdx('装备者造成的伤害提高[dmg]%', 'dmg', 1)
|
||||
],
|
||||
铭记于心的约定: [
|
||||
staticIdx(1, 'stance'),
|
||||
keyIdx('释放终结技时,暴击率提高[cpct]%', 'cpct', 2)
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -53,6 +53,37 @@ export default function (staticIdx, keyIdx) {
|
||||
孤独的疗愈: [
|
||||
staticIdx(1, 'stance'),
|
||||
keyIdx('装备者造成的持续伤害提高[dotDmg]%', 'dotDmg', 2)
|
||||
],
|
||||
重塑时光之忆: [
|
||||
staticIdx(1, 'effPct'),
|
||||
(tables) => {
|
||||
return {
|
||||
title: '4层Buff提高攻击力[atkPct]%,造成的持续伤害无视目标[dotIgnore]%的防御力',
|
||||
data: {
|
||||
atkPct: tables[2] * 4,
|
||||
dotIgnore: tables[3] * 4
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
好戏开演: [
|
||||
(tables) => {
|
||||
return {
|
||||
title: '3层Buff提高造成的伤害[dmg]%',
|
||||
data: {
|
||||
dmg: tables[1] * 3
|
||||
}
|
||||
}
|
||||
},
|
||||
(tables) => {
|
||||
return {
|
||||
check: ({ attr, calc }) => calc(attr.effPct) >= 80,
|
||||
title: '攻击力提高[atkPct]%',
|
||||
data: {
|
||||
atkPct: tables[2]
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -195,7 +195,6 @@ body {
|
||||
right: -10px;
|
||||
background-size: 100% auto;
|
||||
background-position: left 40%;
|
||||
|
||||
}
|
||||
|
||||
strong {
|
||||
@ -215,7 +214,6 @@ body {
|
||||
|
||||
.info {
|
||||
padding-left: 65px;
|
||||
|
||||
}
|
||||
|
||||
.character-img {
|
||||
@ -224,7 +222,6 @@ body {
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -240,7 +237,6 @@ body {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
&:first-of-type {
|
||||
margin-top: 20px;
|
||||
}
|
||||
@ -252,7 +248,6 @@ body {
|
||||
}
|
||||
|
||||
.cal-icon {
|
||||
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
top: 6px;
|
||||
@ -268,13 +263,11 @@ body {
|
||||
padding-left: 38px;
|
||||
}
|
||||
|
||||
|
||||
strong,
|
||||
span {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
|
||||
&.small-mode span {
|
||||
display: block;
|
||||
margin-left: 0;
|
||||
@ -320,8 +313,6 @@ body {
|
||||
.type-weapon.li-idx-2 {
|
||||
margin-top: -82px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
.calendar .now-line {
|
||||
|