mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-22 23:51:39 +00:00
311 lines
12 KiB
JavaScript
311 lines
12 KiB
JavaScript
import lodash from 'lodash'
|
|
import { Format } from '#miao'
|
|
|
|
export const mainAttr = {
|
|
3: 'atk,def,hp,mastery,recharge'.split(','),
|
|
4: 'atk,def,hp,mastery,dmg,phy'.split(','),
|
|
5: 'atk,def,hp,mastery,heal,cpct,cdmg'.split(',')
|
|
}
|
|
|
|
export const subAttr = 'atk,atkPlus,def,defPlus,hp,hpPlus,mastery,recharge,cpct,cdmg'.split(',')
|
|
|
|
/**
|
|
* 圣遗物词条配置
|
|
* @[]value 副词条单次提升值(最大档位)
|
|
* @[]valueMin 副词条单次提升最小值
|
|
* @[]calc 伤害计算时变更的字段type
|
|
* @[]type 词条的类型 normal:普通字段 plus:小词条
|
|
* @[]base 词条类型为小词条时,对应的大词条
|
|
* @[]text 展示文字
|
|
*/
|
|
export const attrMap = {
|
|
atk: { title: '大攻击', format: 'pct', calc: 'pct' },
|
|
atkPlus: { title: '小攻击', format: 'comma' },
|
|
def: { title: '大防御', format: 'pct', calc: 'pct' },
|
|
defPlus: { title: '小防御', format: 'comma' },
|
|
hp: { title: '大生命', format: 'pct', calc: 'pct' },
|
|
hpPlus: { title: '小生命', format: 'comma' },
|
|
cpct: { title: '暴击率', format: 'pct', calc: 'plus' },
|
|
cdmg: { title: '暴击伤害', format: 'pct', calc: 'plus' },
|
|
mastery: { title: '元素精通', format: 'comma', calc: 'plus' },
|
|
recharge: { title: '充能效率', format: 'pct', calc: 'plus' },
|
|
dmg: { title: '元素伤害', format: 'pct', calc: 'plus' },
|
|
phy: { title: '物伤加成', format: 'pct', calc: 'plus' },
|
|
heal: { title: '治疗加成', format: 'pct', calc: 'plus' }
|
|
}
|
|
|
|
// const basicNum = 23.312 / 6
|
|
export const basicNum = 3.885
|
|
export const attrPct = {
|
|
atk: 1.5,
|
|
atkPlus: 5,
|
|
def: 1.875,
|
|
defPlus: 6,
|
|
hp: 1.5,
|
|
hpPlus: 1.875 * 41,
|
|
cpct: 1,
|
|
cdmg: 2,
|
|
mastery: 6,
|
|
recharge: 1 / 0.6,
|
|
dmg: 1.5,
|
|
phy: 1.875,
|
|
heal: 1.5 / 1.3
|
|
}
|
|
|
|
let anMap = {}
|
|
lodash.forEach(attrMap, (attr, key) => {
|
|
anMap[attr.title] = key
|
|
if (attrPct[key]) {
|
|
// 设置value
|
|
attr.value = basicNum * attrPct[key]
|
|
|
|
// 设置valueMin
|
|
if (subAttr.includes(key)) {
|
|
attr.valueMin = basicNum * attrPct[key] * 0.7
|
|
}
|
|
// 设置type
|
|
attr.base = { hpPlus: 'hp', atkPlus: 'atk', defPlus: 'def' }[key]
|
|
attr.type = attr.base ? 'plus' : 'normal'
|
|
|
|
// 设置展示文字
|
|
attr.text = Format[attr.format](attr.value, 2)
|
|
}
|
|
})
|
|
export const attrNameMap = anMap
|
|
|
|
// ids映射关系
|
|
export const mainIdMap = {
|
|
10001: 'hpPlus',
|
|
10002: 'hp',
|
|
10003: 'atkPlus',
|
|
10004: 'atk',
|
|
10005: 'defPlus',
|
|
10006: 'def',
|
|
10007: 'recharge',
|
|
10008: 'mastery',
|
|
12001: 'atkPlus',
|
|
13001: 'hpPlus',
|
|
13002: 'hp',
|
|
13003: 'atkPlus',
|
|
13004: 'atk',
|
|
13005: 'defPlus',
|
|
13006: 'def',
|
|
13007: 'cpct',
|
|
13008: 'cdmg',
|
|
13009: 'heal',
|
|
13010: 'mastery',
|
|
14001: 'hpPlus',
|
|
15001: 'hpPlus',
|
|
15002: 'hp',
|
|
15003: 'atkPlus',
|
|
15004: 'atk',
|
|
15005: 'defPlus',
|
|
15006: 'def',
|
|
15007: 'mastery',
|
|
15008: 'pyro',
|
|
15009: 'electro',
|
|
15010: 'cryo',
|
|
15011: 'hydro',
|
|
15012: 'anemo',
|
|
15013: 'geo',
|
|
15014: 'dendro',
|
|
15015: 'phy',
|
|
10990: 'atk',
|
|
10980: 'hp',
|
|
10970: 'def',
|
|
10960: 'recharge',
|
|
10950: 'mastery',
|
|
30990: 'atk',
|
|
30980: 'hp',
|
|
30970: 'def',
|
|
30960: 'cpct',
|
|
30950: 'cdmg',
|
|
30940: 'heal',
|
|
30930: 'mastery',
|
|
50990: 'atk',
|
|
50980: 'hp',
|
|
50970: 'def',
|
|
50960: 'pyro',
|
|
50950: 'electro',
|
|
50940: 'cryo',
|
|
50930: 'hydro',
|
|
50920: 'anemo',
|
|
50910: 'geo',
|
|
50900: 'dendro',
|
|
50890: 'phy',
|
|
50880: 'mastery'
|
|
}
|
|
|
|
export const attrIdMap = {
|
|
101021: { key: 'hpPlus', value: 23.899999618530273 },
|
|
101022: { key: 'hpPlus', value: 29.8799991607666 },
|
|
201021: { key: 'hpPlus', value: 50.189998626708984 },
|
|
201022: { key: 'hpPlus', value: 60.95000076293945 },
|
|
201023: { key: 'hpPlus', value: 71.69999694824219 },
|
|
301021: { key: 'hpPlus', value: 100.37999725341797 },
|
|
301022: { key: 'hpPlus', value: 114.7200012207031 },
|
|
301023: { key: 'hpPlus', value: 129.05999755859375 },
|
|
301024: { key: 'hpPlus', value: 143.39999389648438 },
|
|
401021: { key: 'hpPlus', value: 167.3000030517578 },
|
|
401022: { key: 'hpPlus', value: 191.1999969482422 },
|
|
401023: { key: 'hpPlus', value: 215.1000061035156 },
|
|
401024: { key: 'hpPlus', value: 239.0 },
|
|
501021: { key: 'hpPlus', value: 209.1300048828125 },
|
|
501022: { key: 'hpPlus', value: 239.0 },
|
|
501023: { key: 'hpPlus', value: 268.8800048828125 },
|
|
501024: { key: 'hpPlus', value: 298.75 },
|
|
101031: { key: 'hp', value: 0.011699999682605267 },
|
|
101032: { key: 'hp', value: 0.014600000344216824 },
|
|
201031: { key: 'hp', value: 0.016300000250339508 },
|
|
201032: { key: 'hp', value: 0.01979999989271164 },
|
|
201033: { key: 'hp', value: 0.02329999953508377 },
|
|
301031: { key: 'hp', value: 0.02449999935925007 },
|
|
301032: { key: 'hp', value: 0.02800000086426735 },
|
|
301033: { key: 'hp', value: 0.03150000050663948 },
|
|
301034: { key: 'hp', value: 0.03500000014901161 },
|
|
401031: { key: 'hp', value: 0.032600000500679016 },
|
|
401032: { key: 'hp', value: 0.037300001829862595 },
|
|
401033: { key: 'hp', value: 0.041999999433755875 },
|
|
401034: { key: 'hp', value: 0.04659999907016754 },
|
|
501031: { key: 'hp', value: 0.040800001472234726 },
|
|
501032: { key: 'hp', value: 0.04659999907016754 },
|
|
501033: { key: 'hp', value: 0.05249999836087227 },
|
|
501034: { key: 'hp', value: 0.05829999968409538 },
|
|
101051: { key: 'atkPlus', value: 1.559999942779541 },
|
|
101052: { key: 'atkPlus', value: 1.9500000476837158 },
|
|
201051: { key: 'atkPlus', value: 3.2699999809265137 },
|
|
201052: { key: 'atkPlus', value: 3.9700000286102295 },
|
|
201053: { key: 'atkPlus', value: 4.670000076293945 },
|
|
301051: { key: 'atkPlus', value: 6.539999961853027 },
|
|
301052: { key: 'atkPlus', value: 7.46999979019165 },
|
|
301053: { key: 'atkPlus', value: 8.399999618530273 },
|
|
301054: { key: 'atkPlus', value: 9.34000015258789 },
|
|
401051: { key: 'atkPlus', value: 10.890000343322754 },
|
|
401052: { key: 'atkPlus', value: 12.449999809265137 },
|
|
401053: { key: 'atkPlus', value: 14.0 },
|
|
401054: { key: 'atkPlus', value: 15.5600004196167 },
|
|
501051: { key: 'atkPlus', value: 13.619999885559082 },
|
|
501052: { key: 'atkPlus', value: 15.5600004196167 },
|
|
501053: { key: 'atkPlus', value: 17.510000228881836 },
|
|
501054: { key: 'atkPlus', value: 19.450000762939453 },
|
|
101061: { key: 'atk', value: 0.011699999682605267 },
|
|
101062: { key: 'atk', value: 0.014600000344216824 },
|
|
201061: { key: 'atk', value: 0.016300000250339508 },
|
|
201062: { key: 'atk', value: 0.01979999989271164 },
|
|
201063: { key: 'atk', value: 0.02329999953508377 },
|
|
301061: { key: 'atk', value: 0.02449999935925007 },
|
|
301062: { key: 'atk', value: 0.02800000086426735 },
|
|
301063: { key: 'atk', value: 0.03150000050663948 },
|
|
301064: { key: 'atk', value: 0.03500000014901161 },
|
|
401061: { key: 'atk', value: 0.032600000500679016 },
|
|
401062: { key: 'atk', value: 0.037300001829862595 },
|
|
401063: { key: 'atk', value: 0.041999999433755875 },
|
|
401064: { key: 'atk', value: 0.04659999907016754 },
|
|
501061: { key: 'atk', value: 0.040800001472234726 },
|
|
501062: { key: 'atk', value: 0.04659999907016754 },
|
|
501063: { key: 'atk', value: 0.05249999836087227 },
|
|
501064: { key: 'atk', value: 0.05829999968409538 },
|
|
101081: { key: 'defPlus', value: 1.850000023841858 },
|
|
101082: { key: 'defPlus', value: 2.309999942779541 },
|
|
201081: { key: 'defPlus', value: 3.890000104904175 },
|
|
201082: { key: 'defPlus', value: 4.71999979019165 },
|
|
201083: { key: 'defPlus', value: 5.559999942779541 },
|
|
301081: { key: 'defPlus', value: 7.78000020980835 },
|
|
301082: { key: 'defPlus', value: 8.890000343322754 },
|
|
301083: { key: 'defPlus', value: 10.0 },
|
|
301084: { key: 'defPlus', value: 11.109999656677246 },
|
|
401081: { key: 'defPlus', value: 12.960000038146973 },
|
|
401082: { key: 'defPlus', value: 14.819999694824219 },
|
|
401083: { key: 'defPlus', value: 16.670000076293945 },
|
|
401084: { key: 'defPlus', value: 18.520000457763672 },
|
|
501081: { key: 'defPlus', value: 16.200000762939453 },
|
|
501082: { key: 'defPlus', value: 18.520000457763672 },
|
|
501083: { key: 'defPlus', value: 20.829999923706055 },
|
|
501084: { key: 'defPlus', value: 23.149999618530273 },
|
|
101091: { key: 'def', value: 0.014600000344216824 },
|
|
101092: { key: 'def', value: 0.018200000748038292 },
|
|
201091: { key: 'def', value: 0.020400000736117363 },
|
|
201092: { key: 'def', value: 0.024800000712275505 },
|
|
201093: { key: 'def', value: 0.029100000858306885 },
|
|
301091: { key: 'def', value: 0.03060000017285347 },
|
|
301092: { key: 'def', value: 0.03500000014901161 },
|
|
301093: { key: 'def', value: 0.03929999843239784 },
|
|
301094: { key: 'def', value: 0.043699998408555984 },
|
|
401091: { key: 'def', value: 0.040800001472234726 },
|
|
401092: { key: 'def', value: 0.04659999907016754 },
|
|
401093: { key: 'def', value: 0.05249999836087227 },
|
|
401094: { key: 'def', value: 0.05829999968409538 },
|
|
501091: { key: 'def', value: 0.050999999046325684 },
|
|
501092: { key: 'def', value: 0.05829999968409538 },
|
|
501093: { key: 'def', value: 0.06560000032186508 },
|
|
501094: { key: 'def', value: 0.07289999723434448 },
|
|
101231: { key: 'recharge', value: 0.013000000268220901 },
|
|
101232: { key: 'recharge', value: 0.016200000420212746 },
|
|
201231: { key: 'recharge', value: 0.01810000091791153 },
|
|
201232: { key: 'recharge', value: 0.02199999988079071 },
|
|
201233: { key: 'recharge', value: 0.02590000070631504 },
|
|
301231: { key: 'recharge', value: 0.0272000003606081 },
|
|
301232: { key: 'recharge', value: 0.031099999323487282 },
|
|
301233: { key: 'recharge', value: 0.03500000014901161 },
|
|
301234: { key: 'recharge', value: 0.03889999911189079 },
|
|
401231: { key: 'recharge', value: 0.03629999980330467 },
|
|
401232: { key: 'recharge', value: 0.0414000004529953 },
|
|
401233: { key: 'recharge', value: 0.04659999907016754 },
|
|
401234: { key: 'recharge', value: 0.05180000141263008 },
|
|
501231: { key: 'recharge', value: 0.04529999941587448 },
|
|
501232: { key: 'recharge', value: 0.05180000141263008 },
|
|
501233: { key: 'recharge', value: 0.05829999968409538 },
|
|
501234: { key: 'recharge', value: 0.06480000168085098 },
|
|
101241: { key: 'mastery', value: 4.659999847412109 },
|
|
101242: { key: 'mastery', value: 5.829999923706055 },
|
|
201241: { key: 'mastery', value: 6.53000020980835 },
|
|
201242: { key: 'mastery', value: 7.929999828338623 },
|
|
201243: { key: 'mastery', value: 9.329999923706055 },
|
|
301241: { key: 'mastery', value: 9.789999961853027 },
|
|
301242: { key: 'mastery', value: 11.1899995803833 },
|
|
301243: { key: 'mastery', value: 12.59000015258789 },
|
|
301244: { key: 'mastery', value: 13.989999771118164 },
|
|
401241: { key: 'mastery', value: 13.0600004196167 },
|
|
401242: { key: 'mastery', value: 14.920000076293945 },
|
|
401243: { key: 'mastery', value: 16.790000915527344 },
|
|
401244: { key: 'mastery', value: 18.649999618530273 },
|
|
501241: { key: 'mastery', value: 16.31999969482422 },
|
|
501242: { key: 'mastery', value: 18.649999618530273 },
|
|
501243: { key: 'mastery', value: 20.979999542236328 },
|
|
501244: { key: 'mastery', value: 23.309999465942383 },
|
|
101201: { key: 'cpct', value: 0.007799999788403511 },
|
|
101202: { key: 'cpct', value: 0.009700000286102295 },
|
|
201201: { key: 'cpct', value: 0.010900000110268593 },
|
|
201202: { key: 'cpct', value: 0.013199999928474426 },
|
|
201203: { key: 'cpct', value: 0.01549999974668026 },
|
|
301201: { key: 'cpct', value: 0.016300000250339508 },
|
|
301202: { key: 'cpct', value: 0.01860000006854534 },
|
|
301203: { key: 'cpct', value: 0.020999999716877937 },
|
|
301204: { key: 'cpct', value: 0.02329999953508377 },
|
|
401201: { key: 'cpct', value: 0.021800000220537186 },
|
|
401202: { key: 'cpct', value: 0.024900000542402267 },
|
|
401203: { key: 'cpct', value: 0.02800000086426735 },
|
|
401204: { key: 'cpct', value: 0.031099999323487282 },
|
|
501201: { key: 'cpct', value: 0.0272000003606081 },
|
|
501202: { key: 'cpct', value: 0.031099999323487282 },
|
|
501203: { key: 'cpct', value: 0.03500000014901161 },
|
|
501204: { key: 'cpct', value: 0.03889999911189079 },
|
|
101221: { key: 'cdmg', value: 0.01549999974668026 },
|
|
101222: { key: 'cdmg', value: 0.01940000057220459 },
|
|
201221: { key: 'cdmg', value: 0.021800000220537186 },
|
|
201222: { key: 'cdmg', value: 0.026399999856948853 },
|
|
201223: { key: 'cdmg', value: 0.031099999323487282 },
|
|
301221: { key: 'cdmg', value: 0.032600000500679016 },
|
|
301222: { key: 'cdmg', value: 0.037300001829862595 },
|
|
301223: { key: 'cdmg', value: 0.041999999433755875 },
|
|
301224: { key: 'cdmg', value: 0.04659999907016754 },
|
|
401221: { key: 'cdmg', value: 0.04349999874830246 },
|
|
401222: { key: 'cdmg', value: 0.04969999939203262 },
|
|
401223: { key: 'cdmg', value: 0.0560000017285347 },
|
|
401224: { key: 'cdmg', value: 0.062199998646974564 },
|
|
501221: { key: 'cdmg', value: 0.0544000007212162 },
|
|
501222: { key: 'cdmg', value: 0.062199998646974564 },
|
|
501223: { key: 'cdmg', value: 0.06989999860525131 },
|
|
501224: { key: 'cdmg', value: 0.07769999653100967 }
|
|
}
|