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

Страница интерфейса MediaWiki
Нет описания правки
Нет описания правки
 
(не показаны 193 промежуточные версии этого же участника)
Строка 1: Строка 1:
const raceData = {
(function(){
    human: {
if(typeof mw==='undefined') return;
        name: "Человек",
 
        organs: `
var map={
            <strong>Метаболизм:</strong> 0.5 единиц в секунду<br>
"Клише":"#ff4d4d",
            <ul>
"властью":"#4dff4d",
                <li>Сердце: Усваивает лекарства, яды и наркотики. Количество метаболизируемых веществ - 2</li>
"ответственность":"#4d4dff",
                <li>Желудок: Усваивает еду и напитки. Вместимость 50 единиц. Количество метаболизируемых веществ - 3</li>
"Стандартные Рабочие Процедуры":"#ff4dff",
                <li>Легкие: Дают возможность дышать кислородом. Скорость дыхания - 1 единица в секунду</li>
"ядерный":"#ffa500",
                <li>Печень: Усваивает алкоголь (0.05 единиц в секунду). Количество метаболизируемых веществ - 1</li>
"станции":"#4dffff",
                <li>Почки: Удаляют любое неметаболизируемое вещество из организма. Количество усваиваемых веществ - 5</li>
"ГСБ":"#b84dff",
                <li>Глаза, аппендикс, уши, кости и язык не имеют функционала</li>
"диск":"#4dff88",
                <li>Скорость передвижения: 2.5 и 4.5 тайлов в секунду при ходьбе и беге</li>
"СРП/КЗ":"#ffb6c1",
                <li>Получают 0.35 ударов при нулевом давлении</li>
"банановая кожурка":"#ffff4d"
            </ul>
        `,
        features: `
            <strong>Особенности людей:</strong><br>
            <ul>
                <li>Безопасная температура: -13.15°С (260°К) - 86.85°С (360°К)</li>
                <li>Безоружные удары наносят 5 единиц ударов</li>
                <li>Можно разделать на 5 единиц человеческого мяса</li>
            </ul>
            <br>
            <strong>Имена и акценты:</strong><br>
            <ul>
                <li>Не имеют акцента</li>
                <li>Имеют стандартные человеческие имена (Иван Петров, Джо Вильсон, Чжун Линь)</li>
            </ul>
        `
    }
};
};


function showRaceInfo(race) {
function esc(s){return s.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');}
    const infoDiv = document.getElementById("race-info");
 
    const data = raceData[race];
function walk(node){
    infoDiv.innerHTML = `
if(node.nodeType===3){
        <h2>${data.name}</h2>
var t=node.nodeValue, r=t;
        <h3>Органы:</h3>
for(var k in map){
        ${data.organs}
r=r.replace(new RegExp(esc(k),'g'),'<span style="color:'+map[k]+'">'+k+'</span>');
        <h3>Особенности:</h3>
}
        ${data.features}
if(r!==t){
    `;
var s=document.createElement('span');
s.innerHTML=r;
node.parentNode.replaceChild(s,node);
}
}
}
 
var nodes=document.querySelectorAll('.mw-parser-output p, .mw-parser-output li');
for(var i=0;i<nodes.length;i++){
var cn=nodes[i].childNodes;
for(var j=0;j<cn.length;j++) walk(cn[j]);
}
}
})();

Текущая версия от 11:16, 17 января 2026

(function(){
if(typeof mw==='undefined') return;

var map={
"Клише":"#ff4d4d",
"властью":"#4dff4d",
"ответственность":"#4d4dff",
"Стандартные Рабочие Процедуры":"#ff4dff",
"ядерный":"#ffa500",
"станции":"#4dffff",
"ГСБ":"#b84dff",
"диск":"#4dff88",
"СРП/КЗ":"#ffb6c1",
"банановая кожурка":"#ffff4d"
};

function esc(s){return s.replace(/[.*+?^${}()|[\]\\]/g,'\\$&');}

function walk(node){
if(node.nodeType===3){
var t=node.nodeValue, r=t;
for(var k in map){
r=r.replace(new RegExp(esc(k),'g'),'<span style="color:'+map[k]+'">'+k+'</span>');
}
if(r!==t){
var s=document.createElement('span');
s.innerHTML=r;
node.parentNode.replaceChild(s,node);
}
}
}

var nodes=document.querySelectorAll('.mw-parser-output p, .mw-parser-output li');
for(var i=0;i<nodes.length;i++){
var cn=nodes[i].childNodes;
for(var j=0;j<cn.length;j++) walk(cn[j]);
}
})();