MediaWiki:Common.js
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的变更的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer或Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:按 Ctrl-F5。
/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
$(function () {
// 只在条目页面生效,不影响首页/编辑页等
if (mw.config.get("wgNamespaceNumber") === 0) {
$('<a href="/index.php/首页" id="return-home-button">← 返回首页</a>')
.appendTo('body');
}
});
document.addEventListener("DOMContentLoaded", function () {
function getNatureModifiers(nature) {
const map = {
adamant: [1.1, 1.0, 1.0, 0.9, 1.0], // +Atk -SpA
modest: [0.9, 1.0, 1.0, 1.1, 1.0], // -Atk +SpA
jolly: [1.0, 1.0, 1.0, 0.9, 1.1], // -SpA +Spe
bold: [0.9, 1.1, 1.0, 1.0, 1.0], // -Atk +Def
calm: [0.9, 1.0, 1.0, 1.0, 1.1], // -Atk +SpD
neutral: [1, 1, 1, 1, 1]
};
return map[nature] || map["neutral"];
}
function calcStats() {
const level = parseInt(document.getElementsByName("level2")[0].value);
const iv = parseInt(document.getElementsByName("geti")[0].value);
const natureKey = document.getElementsByName("character")[0].value;
const natures = getNatureModifiers(natureKey);
const baseStats = document.querySelectorAll("._race2");
const evs = document.getElementsByName("ev");
const results = document.querySelectorAll(".result");
let totalEV = 0;
for (let i = 0; i < 6; i++) {
const base = parseInt(baseStats[i].textContent || "0");
const ev = parseInt(evs[i].value || "0");
totalEV += ev;
let stat = 0;
if (i === 0) {
stat = Math.floor(((base * 2 + iv + Math.floor(ev / 4)) * level) / 100 + level + 10);
} else {
stat = Math.floor(((((base * 2 + iv + Math.floor(ev / 4)) * level) / 100) + 5) * natures[i - 1]);
}
results[i].textContent = stat;
}
document.getElementById("ev-remaining").textContent = Math.max(510 - totalEV, 0);
}
document.getElementById("calc-btn").addEventListener("click", calcStats);
});
👥 当前在线人数:65