-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgames.js
108 lines (89 loc) · 2.48 KB
/
games.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// by M.K.A. 2018
// last updated: 2018-01-22
// Game functions
function dps(form) {
var damage = new Number(form.damage.value);
var rate = new Number(form.rate.value);
var crits = form.criticalsenabled.checked;
//var wpoints = form.weakpointsenabled.checked;
if (dpm)
rate = rate / 60;
var critchance = null;
var critbonus = null;
if (crits)
{
critchance = parseFloat(form.critchance.value);
if (form.critchance.value.indexOf("%") !== -1) critchance /= 100;
critbonus = parseFloat(form.critbonus.value);
if (form.critbonus.value.indexOf("%") !== -1) critbonus /= 100;
}
var ammo = new Number(form.ammo.value);
var reload = new Number(form.reload.value);
form.dpsout.value = NaN;
form.sustaineddps.value = NaN;
form.outputduration.value = NaN;
form.outputpercentage.value = NaN;
form.critout.value = NaN;
var basedps = damage * rate;
form.dpsout.value = basedps;
var dps = basedps;
var critdamage = 0;
if (!isNaN(critbonus) && !isNaN(critchance))
{
if (critbonus > 0 && critchance > 0)
{
var critdamage = 0;
if (critAmp) { critdamage = (critbonus * damage) * critchance; }
else { critdamage = (critbonus * critchance); }
//form.critout.value = critdamage;
form.critout.value = (critdamage/damage)*100 + "%";
}
}
dps = basedps + (critdamage * rate);
form.dpsout.value = dps;
form.dpmout.value = dps * 60;
var secondstoempty = 0;
var dpspercentage = 1.0;
if (!isNaN(ammo) && !isNaN(reload) && !isNaN(rate))
{
if (ammo > 0 && reload > 0 && rate > 0)
{
secondstoempty = ammo / rate;
form.outputduration.value = secondstoempty + "s";
dpspercentage = (secondstoempty / (secondstoempty+reload));
form.outputpercentage.value = (dpspercentage * 100).toFixed(2) + "%";
}
}
if (secondstoempty > 0)
{
form.sustaineddps.value = (dps * dpspercentage).toFixed(2);
}
}
var dpm = false;
var dpsformatel = null;
var dpsform = null;
window.onload = setup_games;
function setup_games() {
dpsform = document.getElementById('dpsform');
dpsformatel = document.getElementById('dpsformat');
console.log("Setup done");
}
function dpsformatchange(form) {
dpm = form.dpm.checked;
if (dpm) {
form.rate.title = form.rate.title.replace('second', 'minute');
} else {
form.rate.title = form.rate.title.replace('minute', 'second');
}
dps(form);
}
var critAmp = false;
function criticalAmp(form) {
critAmp = form.critamp.checked;
dps(form);
}
var weakAmp = false;
function weakpointAmp(form) {
weakAmp = form.critamp.checked;
dps(form);
}