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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
(function () {
document.addEventListener("DOMContentLoaded", function() {
     // Автоматическая замена HTML-ссылок на формат MediaWiki и преобразование изображений
     const raceData = {
    document.querySelectorAll('a').forEach(function (link) {
        "Человек": {
        var href = link.getAttribute('href');
            name: "Человек",
        var text = link.textContent || link.getAttribute('title');
            organs: [
        if (href && text) {
                { name: "Сердце", description: "Усваивает лекарства, яды и наркотики. Количество метаболизируемых веществ - 2" },
             var wikiLink = '[[' + href.replace(/.*\/wiki\//, '') + '|' + text + ']]';
                { name: "Желудок", description: "Усваивает еду и напитки. Вместимость 50 единиц. Количество метаболизируемых веществ - 3" },
             link.outerHTML = wikiLink;
                { name: "Легкие", description: "Дают возможность дышать кислородом. Скорость дыхания - 1 единица в секунду" },
                { name: "Печень", description: "Усваивает алкоголь (0.05 единиц в секунду). Количество метаболизируемых веществ - 1" },
                { name: "Почки", description: "Удаляет любое неметаболизируемое вещество из организма. Количество усваиваемых веществ - 5" }
            ],
            speed: "Скорость передвижения: 2.5 и 4.5 тайлов в секунду при ходьбе и беге",
            damage: "Получают удары: 0.35 ударов при нулевом давлении",
             features: [
                "Безопасная температура - -13.15°С (260°К) - 86.85°С (360°К)",
                "Безоружные удары наносят 5 единиц ударов",
                "Можно разделать на 5 единиц человеческого мяса"
            ],
            accents: "Не имеют акцента",
             names: "Стандартные человеческие имена (Иван Петров, Джо Вильсон, Чжун Линь)"
         }
         }
     });
     };
 
    const raceSelection = document.getElementById("race-selection");
    const raceInfo = document.getElementById("race-info");
 
    function displayRaceInfo(race) {
        const raceDetail = raceData[race];
        raceInfo.innerHTML = `
            <h2>${raceDetail.name}</h2>
            <h3>Органы:</h3>
            <ul>
                ${raceDetail.organs.map(organ => `<li><span class="highlight">${organ.name}</span>: ${organ.description}</li>`).join('')}
            </ul>
            <p>${raceDetail.speed}</p>
            <p>${raceDetail.damage}</p>
            <h3>Особенности расы:</h3>
            <ul>
                ${raceDetail.features.map(feature => `<li>${feature}</li>`).join('')}
            </ul>
            <p><strong>Имена и акценты:</strong> ${raceDetail.accents}</p>
            <p><strong>Примерные имена:</strong> ${raceDetail.names}</p>
        `;
    }
 
    displayRaceInfo("Человек");


     document.querySelectorAll('img').forEach(function (img) {
     raceSelection.addEventListener("change", function() {
         var src = img.getAttribute('src');
         displayRaceInfo(raceSelection.value);
        var alt = img.getAttribute('alt') || '';
        var fileName = src.replace(/.*\/images\//, '');
        if (fileName) {
            var size = img.width ? img.width + 'x' + img.height + 'px' : '';
            var wikiImage = '[[File:' + fileName + '|' + size + '|link=' + alt + ']]';
            img.outerHTML = wikiImage;
        }
     });
     });
})();
});

Версия от 09:30, 18 января 2025

document.addEventListener("DOMContentLoaded", function() {
    const raceData = {
        "Человек": {
            name: "Человек",
            organs: [
                { name: "Сердце", description: "Усваивает лекарства, яды и наркотики. Количество метаболизируемых веществ - 2" },
                { name: "Желудок", description: "Усваивает еду и напитки. Вместимость 50 единиц. Количество метаболизируемых веществ - 3" },
                { name: "Легкие", description: "Дают возможность дышать кислородом. Скорость дыхания - 1 единица в секунду" },
                { name: "Печень", description: "Усваивает алкоголь (0.05 единиц в секунду). Количество метаболизируемых веществ - 1" },
                { name: "Почки", description: "Удаляет любое неметаболизируемое вещество из организма. Количество усваиваемых веществ - 5" }
            ],
            speed: "Скорость передвижения: 2.5 и 4.5 тайлов в секунду при ходьбе и беге",
            damage: "Получают удары: 0.35 ударов при нулевом давлении",
            features: [
                "Безопасная температура - -13.15°С (260°К) - 86.85°С (360°К)",
                "Безоружные удары наносят 5 единиц ударов",
                "Можно разделать на 5 единиц человеческого мяса"
            ],
            accents: "Не имеют акцента",
            names: "Стандартные человеческие имена (Иван Петров, Джо Вильсон, Чжун Линь)"
        }
    };

    const raceSelection = document.getElementById("race-selection");
    const raceInfo = document.getElementById("race-info");

    function displayRaceInfo(race) {
        const raceDetail = raceData[race];
        raceInfo.innerHTML = `
            <h2>${raceDetail.name}</h2>
            <h3>Органы:</h3>
            <ul>
                ${raceDetail.organs.map(organ => `<li><span class="highlight">${organ.name}</span>: ${organ.description}</li>`).join('')}
            </ul>
            <p>${raceDetail.speed}</p>
            <p>${raceDetail.damage}</p>
            <h3>Особенности расы:</h3>
            <ul>
                ${raceDetail.features.map(feature => `<li>${feature}</li>`).join('')}
            </ul>
            <p><strong>Имена и акценты:</strong> ${raceDetail.accents}</p>
            <p><strong>Примерные имена:</strong> ${raceDetail.names}</p>
        `;
    }

    displayRaceInfo("Человек");

    raceSelection.addEventListener("change", function() {
        displayRaceInfo(raceSelection.value);
    });
});