No edit summary |
No edit summary |
||
| Line 72: | Line 72: | ||
accInput.min = 0; | accInput.min = 0; | ||
defInput.min = 0; | defInput.min = 0; | ||
if( | if(acc !== "0") { | ||
accInput.disabled = true; | |||
} | |||
if(def !== "0") { | |||
defInput.disabled = true | defInput.disabled = true | ||
} | } | ||
def = def < 0 ? 0 : def; | |||
acc = acc < 0 ? 0 : acc; | |||
accInput.defaultValue = acc; | accInput.defaultValue = acc; | ||
defInput.defaultValue = def; | defInput.defaultValue = def; | ||
Revision as of 07:17, 6 November 2025
1 /* Any JavaScript here will be loaded for all users on every page load. */
2 $(document).ready(function () {
3 console.log("loaded")
4 if (document.getElementById("interactiveMap")) {
5 console.log("map loaded")
6 $.getScript(mw.util.getUrl("MediaWiki:InteractiveMap/Objects.js") + "?action=raw&ctype=text/javascript", function() {
7 $.getScript(mw.util.getUrl("MediaWiki:InteractiveMap/NPCs.js") + "?action=raw&ctype=text/javascript", function() {
8 $.getScript(mw.util.getUrl("MediaWiki:InteractiveMap/Maps.js") + "?action=raw&ctype=text/javascript", function() {
9 $.getScript(mw.util.getUrl("MediaWiki:InteractiveMap.js") + "?action=raw&ctype=text/javascript", function() {
10 });
11 });
12 });
13 });
14 }
15
16 if (document.getElementById("wardrobe")) {
17 $.getScript(mw.util.getUrl("MediaWiki:Wardrobe.js") + "?action=raw&ctype=text/javascript");
18 console.log("wardrobe loaded")
19 }
20
21 if (document.getElementById("mapEditor")) {
22 $.getScript("https://cdn.jsdelivr.net/npm/interactjs/dist/interact.min.js", function() {
23 $.getScript(mw.util.getUrl("MediaWiki:InteractiveMap/Objects.js") + "?action=raw&ctype=text/javascript", function() {
24 $.getScript(mw.util.getUrl("MediaWiki:InteractiveMap/NPCs.js") + "?action=raw&ctype=text/javascript", function() {
25 $.getScript(mw.util.getUrl("MediaWiki:InteractiveMap/Maps.js") + "?action=raw&ctype=text/javascript", function() {
26 $.getScript(mw.util.getUrl("MediaWiki:MapEditor.js") + "?action=raw&ctype=text/javascript", function() {
27 });
28 });
29 });
30 });
31 });
32 }
33 if (document.querySelector(".code")) {
34 $.getScript("../custom/highlight.min.js", ()=>{
35 document.querySelectorAll(".code").forEach(el=>hljs.highlightElement(el))
36 console.log('Code highlighted');
37 });
38 }
39
40 if (document.getElementById("enemiesDB")) {
41 $.getScript(mw.util.getUrl("MediaWiki:Update_DB.js") + "?action=raw&ctype=text/javascript");
42 console.log("DB Updater Loaded")
43 }
44 function hitChance(accuracy, defence) {
45 accuracy = parseInt(accuracy);
46 defence = parseInt(defence);
47 let hitChance = 0;
48 if(accuracy >= defence) {
49 hitChance = 1;
50 } else {
51 hitChance = 1 / (1 + defence - accuracy)
52 }
53 return (hitChance * 100).toFixed(2);
54 }
55 if (document.querySelector('.hitChance')) {
56 document.querySelectorAll(".hitChance").forEach(el => {
57 let [acc, def] = el.innerText.split(",")
58 el.innerText = "";
59 const accSpan = document.createElement("span");
60 const defSpan = document.createElement("span");
61 const hitSpan = document.createElement("span");
62 const accInput = document.createElement("input");
63 const defInput = document.createElement("input");
64 const hitValueSpan = document.createElement("span");
65
66 accSpan.innerText = "Accuracy:";
67 defSpan.innerText = "Defence:";
68 hitSpan.innerText = "Hit Chance:";
69
70 accInput.type = "number";
71 defInput.type = "number";
72 accInput.min = 0;
73 defInput.min = 0;
74 if(acc !== "0") {
75 accInput.disabled = true;
76 }
77 if(def !== "0") {
78 defInput.disabled = true
79 }
80 def = def < 0 ? 0 : def;
81 acc = acc < 0 ? 0 : acc;
82 accInput.defaultValue = acc;
83 defInput.defaultValue = def;
84 accInput.onchange = function(){
85 hitValueSpan.innerText = hitChance(accInput.value, defInput.value) + "%";
86 }
87 defInput.onchange = function(){
88 hitValueSpan.innerText = hitChance(accInput.value, defInput.value) + "%";
89 }
90 el.append(accSpan, accInput, defSpan, defInput, hitSpan, hitValueSpan);
91 hitValueSpan.innerText = hitChance(accInput.value, defInput.value) + "%";
92 })
93 }
94
95 });
