forked from jxn-30/LSS-Scripts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfreischalt-counter.user.js
64 lines (60 loc) · 2.81 KB
/
freischalt-counter.user.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
// ==UserScript==
// @name LSS-Freischalt-Counter
// @namespace http://tampermonkey.net/
// @version 0.2
// @description try to take over the world!
// @author Jan (KBOE2)
// @match https://www.leitstellenspiel.de/*
// @grant none
// ==/UserScript==
(function() {
'use strict'
$('#build_new_building').click(e => {
checkLstFn();
});
let checkLstFn = function() {
if (!$('#building_building_type')[0]) return window.setTimeout(checkLstFn, 1000);
$('#building_building_type').change(e => {
let select = e.currentTarget
let warningBox = $('#detail_7 .alert-danger:visible');
if (select.value !== '7' || !warningBox[0]) return;
$.get('/api/buildings', buildings => {
warningBox.append(`<br>${buildings.length%25}/25 Gebäude zum Freischalten der nächsten Leitstelle`);
});
});
}
let vehicleBoxes = $('.vehicle_type.well');
let can_grtw_naw;
let grtw_box;
let naw_box;
for (let i = 0; i < vehicleBoxes.length; i++) {
let vehicleBox = vehicleBoxes[i];
if (vehicleBox.innerText.match(/GRTW/)) {
can_grtw_naw = true;
grtw_box = vehicleBox
}
if (vehicleBox.innerText.match(/NAW/)) {
can_grtw_naw = true;
naw_box = vehicleBox
}
}
if (can_grtw_naw) {
$.get('/api/buildings', buildings => {
$.get('/api/vehicles', vehicles => {
for (let j = 0; j < buildings.length; j++) {
if (buildings[j].building_type === 2) buildings[j].can_grtw_naw = true;
if (buildings[j].building_type === 0) {
for (let k = 0; k < buildings[j].extensions.length; k++) {
if (buildings[j].extensions[k].caption === "Rettungsdienst-Erweiterung" && buildings[j].extensions[k].available) buildings[j].can_grtw_naw = true;
}
}
}
let grtw_naw_buildings = buildings.filter(building => building.can_grtw_naw).length
let grtw = vehicles.filter(vehicle => vehicle.vehicle_type === 73).length;
let naw = vehicles.filter(vehicle => vehicle.vehicle_type === 74).length;
$(grtw_box).append(`<div class="alert alert-info">Du hast aktuell ${grtw} GRTWs von maximal ${Math.floor(grtw_naw_buildings/20)} (bzw. ${Math.floor(grtw_naw_buildings/15)} mit Premium Account). ${grtw_naw_buildings%20}/20 (bzw. ${grtw_naw_buildings%15}/15 mit Premium Account) Rettungswachen bis zum Freischalten des nächsten GRTW</div>`);
$(naw_box).append(`<div class="alert alert-info">Du hast aktuell ${naw} NAWs von maximal ${grtw_naw_buildings}</div>`);
});
});
}
})();