MediaWiki:Test/Revamp.js: различия между версиями

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
 
(не показана 1 промежуточная версия этого же участника)
Строка 4: Строка 4:
     const dpsDisplay = document.getElementById('dps-display');
     const dpsDisplay = document.getElementById('dps-display');


    // Проверка наличия элементов
     if (!weaponSelect || !bulletSelect || !dpsDisplay) {
     if (!weaponSelect || !bulletSelect || !dpsDisplay) {
         console.error('One of required elements is missing!');
         console.error("Один из элементов интерфейса не найден!");
         return; // Выход из функции, чтобы избежать ошибок
         return;
     }
     }


Строка 23: Строка 24:
         const weapon = WEAPONS[currentWeapon] || { fireRate: 0 };
         const weapon = WEAPONS[currentWeapon] || { fireRate: 0 };
         const bullet = BULLETS[currentBullet] || { damage: 0 };
         const bullet = BULLETS[currentBullet] || { damage: 0 };
 
       
         const dps = bullet.damage * weapon.fireRate;
         const dps = bullet.damage * weapon.fireRate;
         dpsDisplay.textContent = dps.toFixed(1);
         dpsDisplay.textContent = dps.toFixed(1);
Строка 38: Строка 39:
     });
     });


     // Начальный расчёт
     // Первоначальный расчёт
     calculateDPS();
     calculateDPS();
});
});

Текущая версия от 20:03, 17 февраля 2025

document.addEventListener("DOMContentLoaded", function() {
    const weaponSelect = document.getElementById('weapon-select');
    const bulletSelect = document.getElementById('bullet-select');
    const dpsDisplay = document.getElementById('dps-display');

    // Проверка наличия элементов
    if (!weaponSelect || !bulletSelect || !dpsDisplay) {
        console.error("Один из элементов интерфейса не найден!");
        return;
    }

    const WEAPONS = {
        'Vulpaka': { fireRate: 6.6 },
    };

    const BULLETS = {
        'VulpakaBalls': { damage: 5 },
    };

    let currentWeapon = weaponSelect.value || Object.keys(WEAPONS)[0];
    let currentBullet = bulletSelect.value || Object.keys(BULLETS)[0];

    function calculateDPS() {
        const weapon = WEAPONS[currentWeapon] || { fireRate: 0 };
        const bullet = BULLETS[currentBullet] || { damage: 0 };
        
        const dps = bullet.damage * weapon.fireRate;
        dpsDisplay.textContent = dps.toFixed(1);
    }

    weaponSelect.addEventListener('change', function() {
        currentWeapon = this.value;
        calculateDPS();
    });

    bulletSelect.addEventListener('change', function() {
        currentBullet = this.value;
        calculateDPS();
    });

    // Первоначальный расчёт
    calculateDPS();
});