diff --git a/static/filterWeapons.js b/static/filterWeapons.js index 3d25839..0111760 100644 --- a/static/filterWeapons.js +++ b/static/filterWeapons.js @@ -330,16 +330,23 @@ function applyModifiers() { damage += damageModifier.additive; let rpm = baseRpm * rpmModifier.multiplicative; - rpm += rpm * rpmModifier.additive; + rpm += rpmModifier.additive; let reloadTime = baseReloadTime * reloadTimeModifier.multiplicative; - reloadTime += reloadTime * reloadTimeModifier.additive; + reloadTime += reloadTimeModifier.additive; + +// Safeguard: Reload time can not go below 0.1 seconds + if (reloadTime < 0.1) { + reloadTime = 0.1; + } calculateDPSAndDPM(damage, rpm, selectedWeapon.mag_size, reloadTime); updateModifiedWeaponStats(damage, rpm, reloadTime); + } // Function to apply individual buffs (simplified to avoid mistakes) +// Function to apply individual buffs (modified to prevent reload time going below 0) function applyBuff(buff, rpmModifier, reloadTimeModifier, damageModifier = null) { const {type, buffType, value} = buff; @@ -350,8 +357,12 @@ function applyBuff(buff, rpmModifier, reloadTimeModifier, damageModifier = null) } if (type === 'reloadTime') { - if (buffType === 'multiplicative') reloadTimeModifier.multiplicative *= value; - else if (buffType === 'additive') reloadTimeModifier.additive += value; + if (buffType === 'multiplicative') { + reloadTimeModifier.multiplicative *= value; + } else if (buffType === 'additive') { + // Subtract value for additive reload time modifiers (like Weapon Expert) + reloadTimeModifier.additive += value; + } } // Apply damage buffs diff --git a/static/json/operative.json b/static/json/operative.json index 9e5f362..faa1ba6 100644 --- a/static/json/operative.json +++ b/static/json/operative.json @@ -1155,7 +1155,7 @@ "modifiers": [ { "id": "well-taught-reload-perk", - "label": "Not one step back (+50% Reload Speed)", + "label": "Well Taught (+50% Reload Speed)", "buffs": [ { "type": "reloadTime", @@ -1178,6 +1178,54 @@ "appliesTo": "" } ] + }, + { + "id": "GRU-P-Specialist", + "name": "GRU-P Specialist", + "category": "GRU-P", + "modifiers": [ + { + "id": "well-taught-reload-perk", + "label": "Snow Beast (+25% Reload Speed)", + "buffs": [ + { + "type": "reloadTime", + "value": 0.75, + "buffType": "multiplicative" + } + ], + "appliesNotTo": "" + }, + { + "id": "heavy-bullets-damage-perk", + "label": "Heavy Bullets (+32% Damage)", + "buffs": [ + { + "type": "damage", + "value": 1.32, + "buffType": "multiplicative" + } + ], + "appliesTo": "" + }, + { + "id": "ws-mastery-damage-perk", + "label": "Mastery (+?% Damage, +?% Reload Speed)", + "buffs": [ + { + "type": "damage", + "value": 1, + "buffType": "multiplicative" + }, + { + "type": "reloadTime", + "value": 1, + "buffType": "multiplicative" + } + ], + "appliesTo": "" + } + ] } ] } \ No newline at end of file