From 56eb77f646e438d983995c01005e0a9f94d2640e Mon Sep 17 00:00:00 2001 From: ScriptSorcerer20 Date: Mon, 19 May 2025 22:10:35 +0200 Subject: [PATCH] added weapon creater --- static/filterWeapons.js | 66 ++++++++++++++++++++++++++++++++++++--- templates/calculator.html | 51 ++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 4 deletions(-) diff --git a/static/filterWeapons.js b/static/filterWeapons.js index 8d6e3f5..d02ed7e 100644 --- a/static/filterWeapons.js +++ b/static/filterWeapons.js @@ -416,10 +416,10 @@ function applyModifiers() { function applyBuff(buff, rpmModifier, reloadTimeModifier, damageModifier) { if (ignoreHeadshots && - (buff.buffType === 'multiplicative-headshot' || - buff.buffType === 'multiplicative-headshot-base')) { - return; - } + (buff.buffType === 'multiplicative-headshot' || + buff.buffType === 'multiplicative-headshot-base')) { + return; + } const {type, buffType, value} = buff; // Handle headshot multipliers if (buffType === 'multiplicative-headshot-base' && !headshotBaseApplied) { @@ -540,6 +540,64 @@ document.querySelectorAll('#guntype-filters input').forEach(checkbox => { checkbox.addEventListener('change', filterWeapons); }); +// function for Creating a Weapon +const openBtn = document.getElementById('weapon-create'); +const closeBtn = document.getElementById('weapon-cancel'); +const modal = document.getElementById('weapon-form'); +const form = document.getElementById('weaponForm'); + +// Show the modal +openBtn.addEventListener('click', () => { + modal.style.display = 'flex'; +}); + +// Hide the modal +closeBtn.addEventListener('click', () => { + modal.style.display = 'none'; + form.reset(); +}); + +// Handle form submission +form.addEventListener('submit', e => { + e.preventDefault(); + const data = new FormData(form); + const newId = weapons.length + ? Math.max(...weapons.map(w => w.id)) + 1 + : 1; + + const weapon = { + id: newId, + name: data.get('name'), + damage: parseFloat(data.get('damage')), + rpm: parseFloat(data.get('rpm')), + mag_size: parseFloat(data.get('magazin')), + reload_time: parseFloat(data.get('reload-time')), + damage_multiplier: parseFloat(data.get('multiplier')), + guntype: data.getAll('gun-type') + }; + + // 2) Add it locally + weapons.push(weapon); + + // 3) Refresh UI + populateWeapons(); // repopulate + +
+
+

New Weapon

+
+

+ +

+ +

+ +

+ +

+ +

+ +

+ + + +
+
+