added weapon creater
This commit is contained in:
+62
-4
@@ -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 <select id="weapon-select">
|
||||
|
||||
// **Here you can pass `weapon` to your game logic**
|
||||
console.log('Created weapon:', weapon);
|
||||
|
||||
// Close & reset
|
||||
modal.style.display = 'none';
|
||||
form.reset();
|
||||
});
|
||||
|
||||
// Optional: click outside form to close
|
||||
modal.addEventListener('click', e => {
|
||||
if (e.target === modal) {
|
||||
modal.style.display = 'none';
|
||||
form.reset();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// Initialize
|
||||
fetchWeaponsData();
|
||||
|
||||
@@ -32,6 +32,57 @@
|
||||
<select id="weapon-select" name="weapons">
|
||||
<option value="">Select a Weapon</option>
|
||||
</select>
|
||||
<button id="weapon-create">Create New Weapon</button>
|
||||
<div id="weapon-form">
|
||||
<div>
|
||||
<h2>New Weapon</h2>
|
||||
<form id="weaponForm">
|
||||
<label>
|
||||
Name:<br>
|
||||
<input type="text" name="name" required>
|
||||
</label><br><br>
|
||||
|
||||
<label>
|
||||
Damage:<br>
|
||||
<input type="number" name="damage" min="0" required>
|
||||
</label><br><br>
|
||||
|
||||
<label>
|
||||
Rounds Per Minute:<br>
|
||||
<input type="number" name="rpm" min="0" required>
|
||||
</label><br><br>
|
||||
|
||||
<label>
|
||||
Magazine Size:<br>
|
||||
<input type="number" name="magazin" min="1" required>
|
||||
</label><br><br>
|
||||
|
||||
<label>
|
||||
Reload Time:<br>
|
||||
<input type="number" name="reload-time" min="0" required>
|
||||
</label><br><br>
|
||||
|
||||
<label>
|
||||
Damage Multiplier:<br>
|
||||
<input type="number" name="multiplier" min="0" required>
|
||||
</label><br><br>
|
||||
|
||||
<label>
|
||||
Weapon Type:<br>
|
||||
<select name="gun-type" multiple>
|
||||
<option value="PISTOL">Pistol</option>
|
||||
<option value="SECONDARY">Secondary</option>
|
||||
<option value="WW2">WW2</option>
|
||||
<option value="RIFLE">Rifle</option>
|
||||
<option value="SOVIET">Soviet</option>
|
||||
</select>
|
||||
</label><br><br>
|
||||
|
||||
<button type="submit">Create</button>
|
||||
<button type="button" id="weapon-cancel">Cancel</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div id="guntype-filters">
|
||||
<label><input type="checkbox" id="primary" value="PRIMARY"> Primary</label>
|
||||
|
||||
Reference in New Issue
Block a user