Files
automatic-dispose/server/gen_js.php
2018-11-24 14:43:59 +01:00

275 lines
11 KiB
PHP
Executable File

<?php
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
chdir('./missions/');
function processFhz($data)
{
$returnData = [];
$rtw_needed = 0;
$dekon_needed = 0;
$dl_needed = 0;
$lf_needed = 0;
$elw1_needed = 0;
$elw2_needed = 0;
$fwk_needed = 0;
$gwa_needed = 0;
$gwg_needed = 0;
$gwh_needed = 0;
$gwm_needed = 0;
$gwt_needed = 0;
$gwoel_needed = 0;
$ruest_needed = 0;
$fustw_needed = 0;
foreach ($data as $key => $value) {
$value = intval($value);
if ($key == "Anhänger Drucklufterzeugung") {
$returnData[] = "alertFhz(anhdle, $value, 'Anh DLE', false);\n";
} elseif ($key == "BRmG R") {
$returnData[] = "alertFhz(brmgr, $value, 'BRmG R', false);\n";
} elseif ($key == "Benötigte Boote") {
$returnData[] = "alertFhz(boot, $value, 'Boot', false);\n";
} elseif ($key == "Benötigte Dekon-P" || $key == "Dekon P Anforderungswahrscheinlichkeit") {
if ($key == "Dekon P Anforderungswahrscheinlichkeit") {
$value = 1;
}
$dekon_needed = max($dekon_needed, $value);
} elseif ($key == "Benötigte Drehleitern" || $key == "Drehleiter Anforderungswahrscheinlichkeit") {
if ($key == "Drehleiter Anforderungswahrscheinlichkeit") {
$value = 1;
}
$dl_needed = max($dl_needed, $value);
} elseif ($key == "Benötigte ELW 1" || $key == "ELW 1 Anforderungswahrscheinlichkeit") {
if ($key == "ELW 1 Anforderungswahrscheinlichkeit") {
$value = 1;
}
$elw1_needed = max($elw1_needed, $value);
} elseif ($key == "Benötigte ELW 2" || $key == "ELW 2 Anforderungswahrscheinlichkeit") {
if ($key == "ELW 2 Anforderungswahrscheinlichkeit") {
$value = 1;
}
$elw2_needed = max($elw2_needed, $value);
} elseif ($key == "Benötigte Feuerwehrkräne (FwK)" || $key == "FwK Anforderungswahrscheinlichkeit") {
if ($key == "FwK Anforderungswahrscheinlichkeit") {
$value = 1;
}
$fwk_needed = max($fwk_needed, $value);
} elseif ($key == "Benötigte Flugfeldlöschfahrzeuge") {
$returnData[] = "alertFhz(flf, $value, 'FLF', false);\n";
} elseif ($key == "Benötigte FüKw") {
$returnData[] = "alertFhz(fuekw, $value, 'FüKW', false);\n";
} elseif ($key == "Benötigte GKW") {
$returnData[] = "alertFhz(gkw, $value, 'GKW', false);\n";
} elseif ($key == "Benötigte GW L 2 Wasser" || $key == "GW-L2-Wasser Anforderungswahrscheinlichkeit") {
if ($key == "GW-L2-Wasser Anforderungswahrscheinlichkeit") {
$value = 1;
}
$gws_needed = max($gws_needed, $value);
} elseif ($key == "Benötigte GW-A" || $key == "GW-A Anforderungswahrscheinlichkeit") {
if ($key == "GW-A Anforderungswahrscheinlichkeit") {
$value = 1;
}
$gwa_needed = max($gwa_needed, $value);
} elseif ($key == "Benötigte GW-Gefahrgut" || $key == "GW-Gefahrgut Anforderungswahrscheinlichkeit") {
if ($key == "GW-Gefahrgut Anforderungswahrscheinlichkeit") {
$value = 1;
}
$gwg_needed = max($gwg_needed, $value);
} elseif ($key == "Benötigte GW-Höhenrettung" || $key == "GW-Höhenrettung Anforderungswahrscheinlichkeit") {
if ($key == "GW-Höhenrettung Anforderungswahrscheinlichkeit") {
$value = 1;
}
$gwh_needed = max($gwh_needed, $value);
} elseif ($key == "Benötigte GW-Mess" || $key == "GW-Mess Anforderungswahrscheinlichkeit") {
if ($key == "GW-Mess Anforderungswahrscheinlichkeit") {
$value = 1;
}
$gwm_needed = max($gwm_needed, $value);
} elseif ($key == "Benötigte GW-San") {
$returnData[] = "alertFhz(gwsan, $value, 'GW-SAN', false);\n";
} elseif ($key == "Benötigte GW-Taucher" || $key == "GW-Taucher Anforderungswahrscheinlichkeit") {
if ($key == "GW-Taucher Anforderungswahrscheinlichkeit") {
$value = 1;
}
$gwt_needed = max($gwt_needed, $value);
} elseif ($key == "Benötigte GW-Werkfeuerwehr") {
$returnData[] = "alertFhz(gwwerk, $value, 'GW-Werk', false);\n";
} elseif ($key == "Benötigte GW-Öl" || $key == "GW-Öl Anforderungswahrscheinlichkeit") {
if ($key == "GW-Öl Anforderungswahrscheinlichkeit") {
$value = 1;
}
$gwoel_needed = max($gwoel_needed, $value);
} elseif ($key == "Benötigte GefKw") {
$returnData[] = "alertFhz(gefkw, $value, 'GefKW', false);\n";
} elseif ($key == "Benötigte GruKw") {
$returnData[] = "alertFhz(grukw, $value, 'GruKW', false);\n";
} elseif ($key == "Benötigte Löschfahrzeuge" || $key == "LF Anforderungswahrscheinlichkeit") {
if ($key == "LF Anforderungswahrscheinlichkeit") {
$value = 1;
}
$lf_needed = max($lf_needed, $value);
} elseif ($key == "Benötigte MEK-Fahrzeuge") {
$returnData[] = "alertFhz(mekzf, 3, 'MEK ZF', false);\nalertFhz(mekmtf, 1, 'MEK MTF', false);\n";
} elseif ($key == "Benötigte MTW-TZ") {
$returnData[] = "alertFhz(mtwtz, $value, 'MTW-TZ', false);\n";
} elseif ($key == "Benötigte MzKW") {
$returnData[] = "alertFhz(mzkw, $value, 'MzKW', false);\n";
} elseif ($key == "Benötigte Polizeihubschrauber") {
$returnData[] = "alertFhz(ph, $value, 'PH', false);\n";
} elseif ($key == "Benötigte RTW" || $key == "Mindest Patientenanzahl" || $key == "Maximale Patientenanzahl" || $key == "Wahrscheinlichkeit, dass ein Patient transportiert werden muss") {
if ($key == "Wahrscheinlichkeit, dass ein Patient transportiert werden muss") {
$value = 1;
}
$rtw_needed = max($rtw_needed, $value);
} elseif ($key == "Benötigte Rettungstreppen") {
$returnData[] = "alertFhz(rt, $value, 'RT', false);\n";
} elseif ($key == "Benötigte Rüstwagen" || $key == "Rüstwagen Anforderungswahrscheinlichkeit") {
if ($key == "Rüstwagen Anforderungswahrscheinlichkeit") {
$value = 1;
}
$ruest_needed = max($ruest_needed, $value);
} elseif ($key == "Benötigte SEK-Fahrzeuge") {
$returnData[] = "alertFhz(sekzf, 3, 'SEK ZF', false);\nalertFhz(sekmtf, 1, 'SEK MTF', false);\n";
} elseif ($key == "Benötigte Streifenwagen" || $key == "Streifenwagen Anforderungswahrscheinlichkeit") {
if ($key == "Streifenwagen Anforderungswahrscheinlichkeit") {
$value = 1;
}
$fustw_needed = max($fustw_needed, $value);
} elseif ($key == "Benötigte Teleskopmasten") {
$returnData[] = "alertFhz(gwwerktm, $value, 'GW-Werk TM 50', false);\n";
} elseif ($key == "Benötigte Turbolöscher") {
$returnData[] = "alertFhz(gwwerktl, $value, 'GW-Werk Turbolöscher', false);\n";
} elseif ($key == "Benötigte ULF mit Löscharm") {
$returnData[] = "alertFhz(gwwerkulf, $value, 'GW-Werk ULF', false);\n";
} elseif ($key == "Benötigte Wasserwerfer") {
$returnData[] = "alertFhz(wawe, $value, 'WaWe', false);\n";
} elseif ($key == "Benötigte leBefKw") {
$returnData[] = "alertFhz(lebefkw, $value, 'leBefKw', false);\n";
} elseif ($key == "LKW K 9") {
$returnData[] = "alertFhz(lkwk9, $value, 'LKW K 9', false);\n";
} elseif ($key == "NEF Anforderungswahrscheinlichkeit") {
$returnData[] = "alertFhz(nef, 1, 'NEF', false);\n";
} elseif ($key == "RTH Anforderungswahrscheinlichkeit") {
$returnData[] = "alertFhz(rth, 1, 'RTH', false);\n";
}
// TODO:
/*
"Durchschnittliche min. Personalanzahl (Feuerwehr)": "30",
"Durchschnittliche min. Personalanzahl (Polizei)": "150",
"Maximale Anzahl an Gefangene": "1",
"Maximale Patientenanzahl": "25",
"Min. Polizeihubschrauberstationen": "1",
"Min. THW-Wachen": "2",
"Mindest Patientenanzahl": "10",
"Tragehilfe Anforderungswahrscheinlichkeit": "20",
*/
}
if ($lf_needed > 0) {
$returnData[] = "alertFhz(lf, $lf_needed, 'LF', false);\n";
}
if ($gws_needed > 0) {
$returnData[] = "alertFhz(gws, $gws_needed, 'GW-S', false);\n";
}
if ($rtw_needed > 0) {
$returnData[] = "//alertFhz(rtw, $rtw_needed, 'RTW', false);\n";
$returnData[] = "RTW();\n";
}
if ($dekon_needed > 0) {
$returnData[] = "alertFhz(dekonp, $dekon_needed, 'Dekon-P', false);\n";
}
if ($dl_needed > 0) {
$returnData[] = "alertFhz(dl, $dl_needed, 'DL', false);\n";
}
if ($elw2_needed > 0) {
$returnData[] = "alertFhz(elw2, $elw2_needed, 'ELW2', false);\n";
}
elseif ($elw1_needed > 0) {
$returnData[] = "alertFhz(elw1, $elw1_needed, 'ELW1', false);\n";
}
if ($fwk_needed > 0) {
$returnData[] = "alertFhz(fwk, $fwk_needed, 'FwK', false);\n";
}
if ($gwa_needed > 0) {
$returnData[] = "alertFhz(gwa, $gwa_needed, 'GW-A', false);\n";
}
if ($gwg_needed > 0) {
$returnData[] = "alertFhz(gwg, $gwg_needed, 'GW-G', false);\n";
}
if ($gwh_needed > 0) {
$returnData[] = "alertFhz(gwh, $gwh_needed, 'GW-H', false);\n";
}
if ($gwm_needed > 0) {
$returnData[] = "alertFhz(gwm, $gwm_needed, 'GW-M', false);\n";
}
if ($gwt_needed > 0) {
$returnData[] = "alertFhz(gwt, $gwt_needed, 'GW-T', false);\n";
}
if ($gwoel_needed > 0) {
$returnData[] = "alertFhz(oel, $gwoel_needed, 'GW-ÖL', false);\n";
}
if ($ruest_needed > 0) {
$returnData[] = "alertFhz(ruest, $ruest_needed, 'RÜST', false);\n";
}
if ($fustw_needed > 0) {
$returnData[] = "alertFhz(fustw, $fustw_needed, 'FuStW', false);\n";
}
rsort($returnData);
return $returnData;
}
$concat = [];
$txt = '';
$else = '';
foreach (glob("*.json") as $filename) {
if ($filename == 'allTables.json' ||
$filename == 'prices.json') {
continue;
}
$data = json_decode(file_get_contents($filename), true);
$mission_id = str_replace(".json", '', $filename);
$fhz = processFhz($data);
$key = json_encode($fhz, JSON_UNESCAPED_UNICODE);
if (isset($concat[$key])) {
$concat[$key] = array_merge($concat[$key], [$mission_id]);
} else {
$concat[$key] = [$mission_id];
}
}
foreach ($concat as $key => $value) {
$ids = join(',', $value);
$fhzArray = json_decode($key, true);
$fhz = join("", $fhzArray);
$txtProcess = <<<EOH
${else}if ([$ids].indexOf(help) != -1 && !(isVerband)) {
$fhz}
EOH;
/**
$txtProcess = <<<EOO
${else}if ([$ids].indexOf(help) != -1 && !(orig.includes("[Verband]") || orig.includes("[verband]"))) {
$fhz} elseif ([$ids].indexOf(help) != -1 && (orig.includes("[Verband]") || orig.includes("[verband]"))) {
$fhzVerband}
EOO;
*/
$txt .= $txtProcess;
echo $txtProcess;
$else = 'else ';
}
file_put_contents('javascript.js', $txt);