PageSourceSearch

https://addictivoh.github.io/assets/js/gem-calculator.js

js addictivoh.github.io collected 2026-10-03 08:32:43 UTC 6,853 bytes, 120 lines download raw bytes

1function calculateGem() {
2	//store data of inputs
3	let gemqualitySet = document.getElementById("gemqualitySet").value;
4	let gemqualityForm = document.getElementById("gemqualityForm").value;
5	let gemqualityStar = document.getElementById("gemqualityStar").value;
6	let gemqualityPlus = document.getElementById("gemqualityPlus").value;
7	let Stat0 = document.getElementById("gemqualityStat0").value;
8	let Procs0 = document.getElementById("gemqualityProcs0").value;
9	let Stat1 = document.getElementById("gemqualityStat1").value;
10	//let Procs1 = document.getElementById("gemqualityProcs1").value;
11	let Stat2 = document.getElementById("gemqualityStat2").value;
12	//let Procs2 = document.getElementById("gemqualityProcs2").value;
13	let Stat3 = document.getElementById("gemqualityStat3").value;
14	//let Procs3 = document.getElementById("gemqualityProcs3").value;
15	let Stat4 = document.getElementById("gemqualityStat4").value;
16	//let Procs4 = document.getElementById("gemqualityProcs4").value;
17
18    //Print Missing Procs
19    //let missinProcs = Procs0 - Procs1 - Procs2 - Procs3 - Procs4;
20   //document.getElementById("missProcs").innerText = missinProcs;
21    //Calcs for Sub ( - )
22    let calcMissingProc = (4 - Procs0)*2;
23
24    let calcMissingSubREST; if (Stat1 == 'RESTp') {calcMissingSubREST = 0
25    } else if (Stat2 == 'RESTp') {calcMissingSubREST = 0
26    } else if (Stat3 == 'RESTp') {calcMissingSubREST = 0
27    } else if (Stat4 == 'RESTp') {calcMissingSubREST = 0 } else {calcMissingSubREST = 1};
28
29    let calcMainStatFLAT; if (Stat0 == 'HPf') {calcMainStatFLAT = 3
30    }
30 else if (Stat0 == 'ATKf') {calcMainStatFLAT = 3
31    } else if (Stat0 == 'DEFf') {calcMainStatFLAT = 3
32    } else if (Stat0 == 'RECf') {calcMainStatFLAT = 3
33    } else if (Stat0 == 'RESTp') {calcMainStatFLAT = 6} else {calcMainStatFLAT = 0};
34
35    let calcMainHP; if (Stat0 == 'HPp') {calcMainHP = 4} else {calcMainHP = 0};
36    let calcMainATK; if (Stat0 == 'ATKp') {calcMainATK = 1} else {calcMainATK = 0};
37    let calcMainDEF; if (Stat0 == 'DEFp') {calcMainDEF = 4} else {calcMainDEF = 0};
38    let calcMainREC; if (Stat0 == 'RECp') {calcMainREC = 1} else {calcMainREC = 0};
39    let calcMainCD; if (Stat0 == 'CD') {calcMainCD = 1} else {calcMainCD = 0};
40    let calcMainCR; if (Stat0 == 'CR') {calcMainCR = 1} else {calcMainCR = 0};
41    
42    let calcMissSubCR; if (Stat1 == 'CR') {calcMissSubCR = 0
43    } else if (Stat2 == 'CR') {calcMissSubCR = 0
44    } else if (Stat3 == 'CR') {calcMissSubCR = 0
45    } else if (Stat4 == 'CR') {calcMissSubCR = 0} else {calcMissSubCR = 1};
46
47    //let calcUndSub; if (Stat1 == 'CR') {calcUndSub = 0
48   // } else if (Stat2 == 'CR') {calcUndSub = 0
49   // } else if (Stat3 == 'CR') {calcUndSub = 0
50   // } else if (Stat4 == 'CR') {calcUndSub = 0} else {calcUndSub = 1};
51    
52    let calcUndHP; if (Stat1 == 'HPp') {calcUndHP = 2} else if (Stat1 == 'HPf') {calcUndHP = 1
53    } else if (Stat2 == 'HPp') {calcUndHP = 2} else if (Stat2 == 'HPf') {calcUndHP = 1
54    } else if (Stat3 == 'HPp') {calcUndHP = 2} else if (Stat3 == 'HPf') {calcUndHP = 1
55    } else if (Stat4 == 'HPp') {calcUndHP = 2} else if (Stat4 == 'HPf') {calcUndHP = 1} else {calcUndHP = 0};
56
57    let calcUndATK; if (Stat1 == 'ATKp') {calcUndATK = 2}
57 else if (Stat1 == 'ATKf') {calcUndATK = 1
58    } else if (Stat2 == 'ATKp') {calcUndATK = 2} else if (Stat2 == 'ATKf') {calcUndATK = 1
59    } else if (Stat3 == 'ATKp') {calcUndATK = 2} else if (Stat3 == 'ATKf') {calcUndATK = 1
60    } else if (Stat4 == 'ATKp') {calcUndATK = 2} else if (Stat4 == 'ATKf') {calcUndATK = 1} else {calcUndATK = 0};
61
62    let calcUndDEF; if (Stat1 == 'DEFp') {calcUndDEF = 2} else if (Stat1 == 'DEFf') {calcUndDEF = 1
63    } else if (Stat2 == 'DEFp') {calcUndDEF = 2} else if (Stat2 == 'DEFf') {calcUndDEF = 1
64    } else if (Stat3 == 'DEFp') {calcUndDEF = 2} else if (Stat3 == 'DEFf') {calcUndDEF = 1
65    } else if (Stat4 == 'DEFp') {calcUndDEF = 2} else if (Stat4 == 'DEFf') {calcUndDEF = 1} else {calcUndDEF = 0};
66
67    let calcUndCD; if (Stat1 == 'CD') {calcUndCD = 2
68    } else if (Stat2 == 'CD') {calcUndCD = 2
69    } else if (Stat3 == 'CD') {calcUndCD = 2
70    } else if (Stat4 == 'CD') {calcUndCD = 2} else {calcUndCD = 0};
71
72    let calcUndCR; if (Stat1 == 'CR') {calcUndCR = 2
73    } else if (Stat2 == 'CR') {calcUndCR = 2
74    } else if (Stat3 == 'CR') {calcUndCR = 2
75    } else if (Stat4 == 'CR') {calcUndCR = 2} else {calcUndCR = 0};
76
77    let calcUndREC; if (Stat1 == 'RECp') {calcUndREC = 2} else if (Stat1 == 'RECf') {calcUndREC = 1
78    } else if (Stat2 == 'RECp') {calcUndREC = 2} else if (Stat2 == 'RECf') {calcUndREC = 1
79    } else if (Stat3 == 'RECp') {calcUndREC = 2} else if (Stat3 == 'RECf') {calcUndREC = 1
80    } else if (Stat4 == 'RECp') {calcUndREC = 2} else if (Stat4 == 'RECf') {calcUndREC = 1} else {calcUndREC = 0};
81
82    //Calcs for ADD ( + )
83
84    //General calc
85    //let qualityG = 18 - gemqualityStar - calcMissingProc - calcMissingSubREST - calcMainStatFLAT + 0;
86    let qualityA = 15 - gemqualityStar - calcMissingProc - calcMissingSubREST - calcMainStatFLAT - calcMainREC - calcMissSubCR - calcUndREC + calcMainATK + calcUndCD + calcUndATK;
87    let qualityH = 15 - gemqualityStar - calcMissingProc - calcMissingSubREST - calcMainStatFLAT - calcMainATK - calcMainCR - calcMainCD - calcUndCD - calcUndCR + calcMainREC + calcUndREC + calcUndHP + calcUndDEF;
88    let qualityAH = 15 - gemqualityStar - calcMissingProc - calcMissingSubREST - calcMainStatFLAT - calcMainREC - calcMainDEF - calcMainATK - calcMainCR - calcMainCD - calcMissSubCR - calcUndREC - calcUndATK + calcMainHP + calcUndHP;
89    let qualityAD = 15 - gemqualityStar - calcMissingProc - calcMissingSubREST - calcMainStatFLAT - calcMainREC - calcMainHP - calcMainATK - calcMainCR - calcMainCD - calcMissSubCR - calcUndREC - calcUndATK + calcMainDEF + calcUndDEF;
90    //document.getElementById("qualityG").innerText = qualityG;
91    document.getElementById("qualityA").innerText = qualityA;
92    document.getElementById("qualityH").innerText = qualityH;
93    document.getElementById("qualityAH").innerText = qualityAH;
94    document.getElementById("qualityAD").innerText = qualityAD;
95    
96    //initial 18? 
97    // ------------
98    //-Sub 2 per	Missing Substats
99    //Sub 2 per	Undesired substats (like REC on an attacker)
100    //-Sub 1	Missing REST (For all Class)
101    //-Sub 1	Missing CR (only on DPS)
102    //-Sub 3	flat mainstat
103    //-Sub 6	Resist mainstat
104    // +++++++++++++
105    //Add 1	4procs Desired substats
106    //Add 1	3procs REST or CR
107    //Add 2	4procs REST or CR
108    //ADD 1 overall	Set Completion
109    //ADD 2 overall	RUIN, CONV, INT Set Completion
110
111    //S rank	A rank	B rank	C rank	D rank	E rank F rank
112    //20-18 	17-15	14-12	11-9	 8-6	 5-3    2-0
113    //S+	S	S-	A+	A	A-
114    //17	16	15	14	13	12
115
116    //Show Gem img
117    let gemIMG = gemqualitySet+gemqualityForm+gemqualityPlus+'.png';
118	let starsIMG = gemqualityStar+'.png';
119	
120};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.