-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
140 lines (119 loc) · 5.31 KB
/
index.html
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!DOCTYPE html>
<html lang="en">
<head>
<title>Dyson Sphere Program Helper</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container-fluid p-5 bg-primary text-white text-center">
<h1>Dyson Sphere Program Helper</h1>
</div>
<div class="container mt-5">
<h2>
Gathering stats
</h2>
<div class="input-group my-3">
<span class="input-group-text">Vein Utilization level</span>
<input type="number" class="form-control" id="veinUtilizationLevel" name="veinUtilizationLevel" value= "0" min="0" step="1">
</div>
<table class="table table-bordered">
<tr>
<td>Mining speed</td>
<td id="miningSpeed">100 %</td>
</tr>
<tr>
<td>Vein usage</td>
<td id="veinUsage">100 %</td>
</tr>
<tr>
<td>Vein yield</td>
<td id="veinYield">100 %</td>
</tr>
<tr>
<td>Vein lifespan</td>
<td id="veinLifespan">100 %</td>
</tr>
<tr>
<td>Crude oil seep half-life</td>
<td id="crudeOilSeepHalfLife">12.00 hours</td>
</tr>
<tr>
<td>Number of veins to saturate Mk3 belt</td>
<td id="veinSaturateBelt">60</td>
</tr>
<tr>
<td>Number of liquid pumps to saturate Mk3 belt</td>
<td id="pumpSaturateBelt">36</td>
</tr>
</table>
<h2>Transportation stats</h2>
<div class="input-group my-3">
<span class="input-group-text">Logistics Carrier Engine level</span>
<input type="number" class="form-control" id="logisticsCarrierEngineLevel" name="logisticsCarrierEngineLevel" value= "6" min="6" step="1">
</div>
<table class="table table-bordered">
<tr>
<td>Logistic Drone Speed</td>
<td id="logisticDroneSpeed">22.4 m/s</td>
</tr>
<tr>
<td>Logistic Vessel Speed</td>
<td id="logisticVesselSpeed">1800 m/s or 0.045 AU/s</td>
</tr>
<tr>
<td>can travel 1 AU in</td>
<td id="logisticVesselAUTravelTime">22 seconds</td>
</tr>
<tr>
<td>can travel 1 LY in</td>
<td id="logisticVesselLYTravelTime">1333 seconds or 22 minutes</td>
</tr>
<tr>
<td>Logistic Vessel Warp Speed</td>
<td id="logisticVesselWarpSpeed">9.0 AU/s or 0.15 LY/s</td>
</tr>
<tr>
<td>during wrap can travel 1 LY in</td>
<td id="logisticVesselWarpLYTravelTime">7 seconds</td>
</tr>
</table>
</div>
<script>
function updateStats() {
let VULevel = veinUtilizationLevel.value;
let miningSpeed = 1 + 0.1 * VULevel;
let veinUsage = 0.94 ** VULevel;
let veinYield = 1/veinUsage;
let veinLifespan = veinYield/miningSpeed;
let veinSaturateBelt = 30 / (miningSpeed * 0.5);
let pumpSaturateBelt = 30 / (miningSpeed * 5/6 );
document.getElementById("miningSpeed").innerHTML = (miningSpeed*100).toFixed(2) + ' %';
document.getElementById("veinUsage").innerHTML = (veinUsage*100).toFixed(2) + ' %';
document.getElementById("veinYield").innerHTML = (veinYield*100).toFixed(2) + ' %';
document.getElementById("veinLifespan").innerHTML = (veinLifespan*100).toFixed(2) + ' %';
document.getElementById("crudeOilSeepHalfLife").innerHTML = (12 * veinLifespan).toFixed(2) + ' hours';
document.getElementById("veinSaturateBelt").innerHTML = veinSaturateBelt.toFixed(2);
document.getElementById("pumpSaturateBelt").innerHTML = pumpSaturateBelt.toFixed(2);
let LCELevel = logisticsCarrierEngineLevel.value;
let logisticDroneSpeed = LCELevel * 4 - 1.6;
let logisticVesselSpeed = LCELevel * 300;
let logisticVesselWarpSpeed = logisticVesselSpeed * 200;
document.getElementById("logisticDroneSpeed").innerHTML = logisticDroneSpeed.toFixed(1) + ' m/s';
document.getElementById("logisticVesselSpeed").innerHTML = logisticVesselSpeed + ' m/s or ' + (logisticVesselSpeed / 40000).toFixed(3) + ' /AU/s';
document.getElementById("logisticVesselAUTravelTime").innerHTML = (40000 / logisticVesselSpeed).toFixed(0) + ' seconds';
document.getElementById("logisticVesselLYTravelTime").innerHTML = (60 * 40000 / logisticVesselSpeed).toFixed(0) + ' seconds or ' + (60 * 40000 / logisticVesselSpeed / 60).toFixed(0) + ' minutes';
document.getElementById("logisticVesselWarpSpeed").innerHTML = (logisticVesselWarpSpeed / 40000).toFixed(1) + ' AU/s or ' + (logisticVesselWarpSpeed / 40000 / 60).toFixed(3) + ' LY/s';
document.getElementById("logisticVesselWarpLYTravelTime").innerHTML = (60 * 40000 / logisticVesselWarpSpeed).toFixed(0) + ' seconds';
};
veinUtilizationLevel.onchange = () => updateStats();
logisticsCarrierEngineLevel.onchange = () => updateStats();
</script>
</body>
</html>
<!-- <tr>
<td></td>
<td id=""></td>
</tr> -->