diff --git a/model/damage/character/橘福福/calc.js b/model/damage/character/橘福福/calc.js new file mode 100644 index 0000000..dadaaa9 --- /dev/null +++ b/model/damage/character/橘福福/calc.js @@ -0,0 +1,91 @@ +/** @type {import('../../BuffManager.ts').BuffManager['buffs']} */ +export const buffs = [ + { + name: '1影', + type: '暴击率', + value: 0.12 + }, + { + name: '2影', + type: '暴击伤害', + value: 0.22, + is: { + team: true + } + }, + { + name: '4影', + type: '暴击伤害', + value: 0.35 + }, + { + name: '6影', + type: '增伤', + value: 0.3, + range: ['RL'] + }, + { + name: '核心被动:虎虎生威', + type: '暴击伤害', + value: [0.1, 0.117, 0.133, 0.15, 0.167, 0.183, 0.2], + is: { + team: true + } + }, + { + name: '核心被动:虎虎生威', + type: '暴击伤害', + value: ({ avatar }) => { + const ATK = avatar.initial_properties.ATK + if (ATK <= 2800) return 0 + return Math.min(0.3, (ATK - 2800) / 100 * 0.05) + }, + is: { + team: true + } + }, + { + name: '核心被动:虎虎生威', + type: '增伤', + value: [0.1, 0.117, 0.133, 0.15, 0.167, 0.183, 0.2], + range: ['RL'], + is: { + team: true + } + }, + { + name: '核心被动:虎虎生威', + type: '增伤', + value: [0.2, 0.233, 0.267, 0.3, 0.333, 0.367, 0.4], + range: ['RZ'], + is: { + team: true + } + }, + { + name: '核心被动:虎虎生威', + type: '冲击力', + value: [25, 29.2, 33.3, 37.5, 41.7, 45.8, 50] + } +] + +/** @type {import('../../Calculator.ts').Calculator['skills']} */ +export const skills = [ + { name: '灼烧', type: '灼烧' }, + { name: '普攻:恶虎七式·燎身爪四段', type: 'AP4' }, + { name: '普攻:「虎威」', type: 'AH' }, + { name: '冲刺攻击:恶虎七式·山君鼎戏', type: 'CCXQ' }, + { name: '闪避反击:恶虎七式·离火回峰', type: 'CF' }, + { name: '支援突击:彪形焰颌', type: 'LT' }, + { name: '强化E:恶虎七式改·下山猛虎', type: 'EQ' }, + { name: '连携技:虎釜崩', type: 'RLB' }, + { name: '连携技:虎釜震煞', type: 'RLZ' }, + { name: '终结技:恶虎七式·猛虎炸开花', type: 'RZ' }, + { + name: '6影高速旋转每个爆米花', + type: 'Y6', + check: 6, + redirect: 'RL', + multiplier: 1.6 + } +] \ No newline at end of file diff --git a/model/damage/character/橘福福/data.json b/model/damage/character/橘福福/data.json new file mode 100644 index 0000000..2b4761e --- /dev/null +++ b/model/damage/character/橘福福/data.json @@ -0,0 +1,31 @@ +{ + "skill": { + "AP4": [ + 2.184,2.383,2.582,2.781,2.98,3.179,3.378,3.577,3.776,3.975,4.174,4.373,4.572,4.771,4.97,5.169 + ], + "AH": [ + 0.924,1.008,1.092,1.176,1.26,1.344,1.428,1.512,1.596,1.68,1.764,1.848,1.932,2.016,2.1,2.184 + ], + "CCXQ": [ + 0.184,0.201,0.218,0.235,0.252,0.269,0.286,0.303,0.32,0.337,0.354,0.371,0.388,0.405,0.422,0.439 + ], + "CF": [ + 2.078,2.267,2.456,2.645,2.834,3.023,3.212,3.401,3.59,3.779,3.968,4.157,4.346,4.535,4.724,4.913 + ], + "LT": [ + 4.072,4.443,4.814,5.185,5.556,5.927,6.298,6.669,7.04,7.411,7.782,8.153,8.524,8.895,9.266,9.637 + ], + "EQ": [ + 5.265,5.744,6.223,6.702,7.181,7.66,8.139,8.618,9.097,9.576,10.055,10.534,11.013,11.492,11.971,12.45 + ], + "RLB": [ + 6.681,7.289,7.897,8.505,9.113,9.721,10.329,10.937,11.545,12.153,12.761,13.369,13.977,14.585,15.193,15.801 + ], + "RLZ": [ + 3.545,3.868,4.191,4.514,4.837,5.16,5.483,5.806,6.129,6.452,6.775,7.098,7.421,7.744,8.067,8.39 + ], + "RZ": [ + 16.638,18.151,19.664,21.177,22.69,24.203,25.716,27.229,28.742,30.255,31.768,33.281,34.794,36.307,37.82,39.333 + ] + } +} \ No newline at end of file diff --git a/model/damage/set/山大王.js b/model/damage/set/山大王.js new file mode 100644 index 0000000..939440f --- /dev/null +++ b/model/damage/set/山大王.js @@ -0,0 +1,17 @@ +/** @type {import('../BuffManager.ts').BuffManager['buffs']} */ +export const buffs = [ + { + type: '暴击伤害', + value: ({ calc }) => { + if (calc.get_CRITRate() >= 0.5) { + return 0.3 + } + return 0.15 + }, + check: ({ buffM, avatar }) => buffM.setCount.山大王 >= 4 && avatar.avatar_profession === 2, + is: { + team: true, + stack: false + } + } +] \ No newline at end of file diff --git a/model/damage/weapon/福虓炉炉.js b/model/damage/weapon/福虓炉炉.js new file mode 100644 index 0000000..d8ce3a2 --- /dev/null +++ b/model/damage/weapon/福虓炉炉.js @@ -0,0 +1,12 @@ +/** @type {import('../BuffManager.ts').BuffManager['buffs']} */ +export const buffs = [ + { + type: '增伤', + check: ({ avatar }) => avatar.element_type === 201, + value: [0.1, 0.115, 0.13, 0.145, 0.16].map(v => v * 2), + is: { + team: true, + stack: false + } + } +] \ No newline at end of file