查看“MediaWiki:Gadget-stat-calc.js”的源代码
←
MediaWiki:Gadget-stat-calc.js
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
管理员
此页面为本wiki上的软件提供界面文本,并受到保护以防止滥用。 如欲修改所有wiki的翻译,请访问
translatewiki.net
上的MediaWiki本地化项目。
您无权编辑此JavaScript页面,因为编辑此页面可能会影响所有访问者。
您可以查看和复制此页面的源代码。
mw.hook('wikipage.content').add(function ($content) { // 查找 <stat-calc /> 或 <p><stat-calc /></p> const tag = $content.find('stat-calc, .stat-calc, p:has(stat-calc)').first(); if (!tag.length) return; // 插入能力值计算器 HTML 内容 const html = ` <div class="stat-calc"> <h3>精灵能力值计算器</h3> <div class="config-block"> <label>等级 <input name="level2" type="number" value="100" min="1" max="100"></label> <label>个体值 <input name="geti" type="number" value="31" min="0" max="31"></label> <label>性格 <select name="character"> <option value="neutral">平衡</option> <option value="adamant">固执(+攻击 -特攻)</option> <option value="modest">保守(+特攻 -攻击)</option> <option value="jolly">爽朗(+速度 -特攻)</option> <option value="bold">大胆(+防御 -攻击)</option> <option value="calm">冷静(+特防 -攻击)</option> </select> </label> <button id="calc-btn">计算</button> </div> <table class="stat-table"> <tr><th>项目</th><th>种族值</th><th>努力值</th><th>最终值</th></tr> <tr><td>体力</td><td class="_race2">171</td><td><input name="ev" type="number" value="0"></td><td><span class="result"></span></td></tr> <tr><td>攻击</td><td class="_race2">140</td><td><input name="ev" type="number" value="0"></td><td><span class="result"></span></td></tr> <tr><td>防御</td><td class="_race2">111</td><td><input name="ev" type="number" value="0"></td><td><span class="result"></span></td></tr> <tr><td>特攻</td><td class="_race2">70</td><td><input name="ev" type="number" value="0"></td><td><span class="result"></span></td></tr> <tr><td>特防</td><td class="_race2">111</td><td><input name="ev" type="number" value="0"></td><td><span class="result"></span></td></tr> <tr><td>速度</td><td class="_race2">132</td><td><input name="ev" type="number" value="0"></td><td><span class="result"></span></td></tr> </table> <p>剩余学习力:<span id="ev-remaining">510</span></p> </div> `; // 替换标签 tag.replaceWith(html); // 性格影响修正 function getNatureModifiers(nature) { const map = { adamant: [1.1, 1.0, 1.0, 0.9, 1.0], // +攻击 -特攻 modest: [0.9, 1.0, 1.0, 1.1, 1.0], // -攻击 +特攻 jolly: [1.0, 1.0, 1.0, 0.9, 1.1], // -特攻 +速度 bold: [0.9, 1.1, 1.0, 1.0, 1.0], // -攻击 +防御 calm: [0.9, 1.0, 1.0, 1.0, 1.1], // -攻击 +特防 neutral: [1.0, 1.0, 1.0, 1.0, 1.0] // 平衡性格 }; return map[nature] || map.neutral; } // 点击计算按钮触发 document.getElementById("calc-btn").addEventListener("click", function () { const level = parseInt(document.getElementsByName("level2")[0].value); const iv = parseInt(document.getElementsByName("geti")[0].value); const evs = document.getElementsByName("ev"); const bases = document.querySelectorAll("._race2"); const results = document.querySelectorAll(".result"); const nature = document.getElementsByName("character")[0].value; const modifiers = getNatureModifiers(nature); let totalEV = 0; for (let i = 0; i < 6; i++) { const base = parseInt(bases[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) * modifiers[i - 1]); } results[i].textContent = stat; } // 显示剩余可用学习力 document.getElementById("ev-remaining").textContent = Math.max(510 - totalEV, 0); }); });
返回
MediaWiki:Gadget-stat-calc.js
。
👥 当前在线人数:
73
导航菜单
个人工具
创建账号
登录
命名空间
系统消息
讨论
English
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息