diff --git a/package.json b/package.json index f4e6803a..17e333f7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tof-tools", - "version": "3.12.0", + "version": "3.13.0", "private": true, "scripts": { "dev": "next dev", diff --git a/public/icons/weapons/rei.png b/public/icons/weapons/rei.png new file mode 100644 index 00000000..1ec0fecc Binary files /dev/null and b/public/icons/weapons/rei.png differ diff --git a/src/constants/changelog.tsx b/src/constants/changelog.tsx index 286508a2..0edd16ba 100644 --- a/src/constants/changelog.tsx +++ b/src/constants/changelog.tsx @@ -201,4 +201,9 @@ export const changelog: Changelog = [ date: new Date(Date.UTC(2024, 2, 15)), title: 'Add a page containing useful links', }, + { + semver: '3.13.0', + date: new Date(Date.UTC(2024, 2, 29)), + title: 'Add Rei', + }, ]; diff --git a/src/constants/matrix-set-definitions.ts b/src/constants/matrix-set-definitions.ts index a9fa6089..1727da71 100644 --- a/src/constants/matrix-set-definitions.ts +++ b/src/constants/matrix-set-definitions.ts @@ -37,6 +37,7 @@ export type MatrixSetBaseName = | 'Nan Yin' | 'Nemesis' | 'Plotti' + | 'Rei' | 'Rubilia' | 'Ruby' | 'Saki Fuwa' @@ -80,6 +81,7 @@ export const matrixSet2pcOrder: DataAllIds = [ 'Nan Yin 2pc', 'Nemesis 2pc', 'Plotti 2pc', + 'Rei 2pc', 'Rubilia 2pc', 'Ruby 2pc', 'Saki Fuwa 2pc', @@ -124,6 +126,7 @@ export const matrixSet4pcOrder: DataAllIds = [ 'Nan Yin 4pc', 'Nemesis 4pc', 'Plotti 4pc', + 'Rei 4pc', 'Rubilia 4pc', 'Ruby 4pc', 'Saki Fuwa 4pc', @@ -566,6 +569,14 @@ export const matrixSetDefinitionsLookup: DataById< critRateBuffs: [], critDamageBuffs: [], }, + 'Rei 2pc': { + id: 'Rei 2pc', + displayName: 'Rei 2pc', + pieces: 2, + attackPercentBuffs: [], + critRateBuffs: [], + critDamageBuffs: [], + }, 'Rubilia 2pc': { id: 'Rubilia 2pc', displayName: 'Rubilia 2pc', @@ -1072,6 +1083,29 @@ export const matrixSetDefinitionsLookup: DataById< critRateBuffs: [], critDamageBuffs: [], }, + 'Rei 4pc': { + id: 'Rei 4pc', + displayName: 'Rei 4pc', + pieces: 4, + attackPercentBuffs: [ + { + description: + "After dealing damage with Rei's weapon, increase volt and frost ATK by 12% for 5 seconds", + starValues: [ + { star: 0, value: 0.12 }, + { star: 1, value: 0.12 }, + { star: 2, value: 0.12 }, + { star: 3, value: 0.12 }, + ], + elementalTypes: ['Volt', 'Frost'], + canStack: false, + isActivePassively: false, + weaponRequirement: 'Rei', + }, + ], + critRateBuffs: [], + critDamageBuffs: [], + }, 'Rubilia 4pc': { id: 'Rubilia 4pc', displayName: 'Rubilia 4pc', diff --git a/src/constants/simulacrum-traits.ts b/src/constants/simulacrum-traits.ts index 973508d4..8e684f9d 100644 --- a/src/constants/simulacrum-traits.ts +++ b/src/constants/simulacrum-traits.ts @@ -853,6 +853,50 @@ export const simulacrumTraits: Data = { }, ], }, + Rei: { + id: 'Rei', + displayName: 'Rei', + attackBuffs: [], + damageBuffs: [ + { + id: 'rei-trait', + displayName: 'Rei trait', + description: 'Increase final damage by 18%', + value: 0.18, + elementalTypes: ['Altered', 'Flame', 'Frost', 'Physical', 'Volt'], + damageCategory: '[TEMP_TRAIT]', + maxStacks: 1, + triggeredBy: { + combatStart: true, + }, + duration: { + untilCombatEnd: true, + }, + cooldown: 0, + }, + { + id: 'rei-trait-attack-resonance', + displayName: 'Rei trait - Attack resonance', + description: + 'Increase volt damage by 8% when Attack Resonance is activated', + value: 0.08, + elementalTypes: ['Volt'], + damageCategory: '[TEMP_TRAIT]', + maxStacks: 1, + triggeredBy: { + combatStart: true, + }, + duration: { + untilCombatEnd: true, + }, + cooldown: 0, + requirements: { + weaponResonance: 'Attack', + }, + }, + ], + miscellaneousBuffs: [], + }, Rubilia: { id: 'Rubilia', displayName: 'Rubilia', diff --git a/src/constants/weapon-definitions.ts b/src/constants/weapon-definitions.ts index d3601f5d..7b603746 100644 --- a/src/constants/weapon-definitions.ts +++ b/src/constants/weapon-definitions.ts @@ -29,6 +29,7 @@ export type WeaponName = | 'Nan Yin' | 'Nemesis' | 'Plotti' + | 'Rei' | 'Rubilia' | 'Ruby' | 'Saki Fuwa' @@ -71,6 +72,7 @@ export const weaponDefinitions: Data = { 'Nan Yin', 'Nemesis', 'Plotti', + 'Rei', 'Rubilia', 'Ruby', 'Saki Fuwa', @@ -1624,6 +1626,83 @@ export const weaponDefinitions: Data = { attackBuffs: [], damageBuffs: [], }, + Rei: { + id: 'Rei', + displayName: 'Rei', + resonanceElements: ['Volt', 'Frost'], + damageElement: 'Volt', + type: 'DPS', + attackPercentBuffs: [ + { + id: 'Volt Resonance', + displayName: 'Volt Resonance', + description: '+15% volt ATK when equipping 2 or more volt weapons', + value: 0.15, + elementalTypes: ['Volt'], + canStack: false, + isActivePassively: true, + minStarRequirement: 0, + maxStarRequirement: 6, + elementalResonanceRequirements: ['Volt'], + }, + { + id: 'Frost Resonance', + displayName: 'Frost Resonance', + description: '+15% frost ATK when equipping 2 or more frost weapons', + value: 0.15, + elementalTypes: ['Frost'], + canStack: false, + isActivePassively: true, + minStarRequirement: 0, + maxStarRequirement: 6, + elementalResonanceRequirements: ['Frost'], + }, + { + id: 'Energy Consumption - Volt', + displayName: 'Energy Consumption', + description: '+15% volt ATK when Energy Consumption is active', + value: 0.15, + elementalTypes: ['Volt'], + canStack: false, + isActivePassively: false, + minStarRequirement: 0, + maxStarRequirement: 6, + }, + { + id: 'Energy Consumption - Frost', + displayName: 'Energy Consumption', + description: '+5% volt ATK when Energy Consumption is active', + value: 0.05, + elementalTypes: ['Frost'], + canStack: false, + isActivePassively: false, + minStarRequirement: 0, + maxStarRequirement: 6, + }, + ], + critRateBuffs: [], + normalAttacks: [], + dodgeAttacks: [], + skills: [], + discharge: { + id: 'rei-discharge', + displayName: 'Rei discharge [placeholder]', + elementalType: 'Volt', + type: 'discharge', + attackMultiplier: 0, + attackFlat: 0, + duration: 5000, + cooldown: 0, + charge: 0, + requirements: { + hasFullCharge: true, + notActiveWeapon: 'Rei', + }, + }, + effects: [], + attackBuffs: [], + damageBuffs: [], + }, Rubilia: { id: 'Rubilia', displayName: 'Rubilia',