v2 up a9gfua09gu93oihgiu

This commit is contained in:
2018-12-17 23:07:05 +01:00
parent a4659dc6fe
commit aaa439a134
5 changed files with 343 additions and 44 deletions

239
src/autoloaderV2/ems.js Normal file
View File

@@ -0,0 +1,239 @@
CollectPatients() {
const self = this;
let PatientCounter = 0;
$(".mission_patient").each(function (_, elem) {
var PatientName = $(elem).text();
var PatientNeedRTW = false;
var PatientNeedNEF = false;
var PatientNeedRTH = false;
var PatientNeedLNA = false;
var PatientNeedOrgL = false;
var PatientNeedSEGKTWB = false;
var PatientNeedTragehilfe = false;
// Wir benötigen einen RTW oder KTW Typ B.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen RTW oder KTW Typ B") != -1) {
PatientNeedSEGKTWB = true;
}
// Wir benötigen einen RTW.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTW") != -1) {
PatientNeedRTW = true;
}
// Wir benötigen einen NEF.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein NEF") != -1) {
PatientNeedNEF = true;
}
// Wir benötigen einen RTH.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen ein RTH") != -1) {
PatientNeedRTH = true;
}
// Wir benötigen einen LNA.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen LNA") != -1) {
PatientNeedLNA = true;
}
// Wir benötigen einen OrgL.
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen einen OrgL") != -1) {
PatientNeedOrgL = true;
}
// Wir benötigen eine Tragehilfe (z.B. durch ein LF).
if ($(elem).find(".alert-danger").length > 0 && $(elem).find(".alert-danger").text().indexOf("Wir benötigen eine Tragehilfe") != -1) {
PatientNeedTragehilfe = true;
}
self.Patients[PatientCounter] = {
"name": PatientName,
"need_RTW": PatientNeedRTW,
"need_NEF": PatientNeedNEF,
"need_RTH": PatientNeedRTH,
"need_LNA": PatientNeedLNA,
"need_OrgL": PatientNeedOrgL,
"need_SEG_KTWB": PatientNeedSEGKTWB,
"need_Tragehilfe": PatientNeedTragehilfe
}
PatientCounter++;
});
return self.Patients;
}
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
// -
// - Process Emergency_Medical_Service
// -
// - -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
ProcessEmergencyMedicalService() {
const self = this;
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// -
// - Emergency Medical Service: Vehicles
// -
// - 38: KTW
// - 28: RTW
// - 29: NEF
// - 74: NAW
// - 73: GRTW
// - 31: RTH
// - 55: LNA
// - 56: OrgL
// -
// - 58: (SEG) KTW Typ B
// - 59: (SEG) ELW 1
// - 60: (SEG) GW-San
// -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
if (typeof self.MissionConfig.emergency_medical_service == "object") // Wenn der EMS-Block in der Config definiert ist
{
if (Object.keys(self.Patients).length >= 5) { // need LNA
self._ADisVehiclesNeed["55"] = 1;
}
if (Object.keys(self.Patients).length >= 10) { // need OrgL
self._ADisVehiclesNeed["56"] = 1;
}
if (Object.keys(self.Patients).length == 0) {
if (self.MissionConfig.emergency_medical_service.use_RTW == true) {
self._ADisVehiclesNeed["28"]++;
}
if (self.MissionConfig.emergency_medical_service.use_NEF == true) {
self._ADisVehiclesNeed["29"]++;
}
if (self.MissionConfig.emergency_medical_service.use_RTH == true) {
self._ADisVehiclesNeed["31"]++;
}
} else {
for (var Key in self.Patients) {
var Patient = self.Patients[Key];
if (self.MissionConfig.emergency_medical_service.use_KTW == true) {
if (!Patient.need_RTW && !Patient.need_NEF && !Patient.need_RTH) {
self._ADisVehiclesNeed["38"]++;
}
}
if (Patient.need_LNA && self._ADisVehiclesNeed["55"] < 1) {
self._ADisVehiclesNeed["55"]++;
}
if (Patient.need_OrgL && self._ADisVehiclesNeed["56"] < 1) {
self._ADisVehiclesNeed["56"]++;
}
if (Patient.need_Tragehilfe == true) {
self._ADisVehiclesNeed["0"]++;
}
if (self.MissionConfig.emergency_medical_service.use_RTW == true || Patient.need_RTW == true) {
self._ADisVehiclesNeed["28"]++;
}
if (self.MissionConfig.emergency_medical_service.use_NEF == true || Patient.need_NEF == true) {
self._ADisVehiclesNeed["29"]++;
}
if (self.MissionConfig.emergency_medical_service.use_RTH == true || Patient.need_RTH == true) {
self._ADisVehiclesNeed["31"]++;
}
};
}
// TODO: need to be refactored to make sure first KTW Typ B before RTW.
if (self.MissionConfig.emergency_medical_service.use_SEG_ELW1_Only == "true") {
self._ADisVehiclesNeed["59"]++;
} else if (self.MissionConfig.emergency_medical_service.use_SEG_FULL == "true" || Object.keys(self.Patients).length >= 3) {
self._ADisVehiclesNeed["58"]++;
self._ADisVehiclesNeed["58"]++; // 3x KTW Type B
self._ADisVehiclesNeed["58"]++;
self._ADisVehiclesNeed["59"]++;
self._ADisVehiclesNeed["60"]++;
}
var VehicleTable;
if ($("#vehicle_show_table_body_all").length > 0) {
VehicleTable = $("#vehicle_show_table_body_all");
} else {
VehicleTable = $("#vehicle_show_table_body_rett");
}
VehicleTable.find(".vehicle_select_table_tr").each(function (_, elem) {
var VehicleID = $(elem).attr("id").replace("vehicle_element_content_", "");
// var VehicleDistanceTime = $("#vehicle_sort_" + VehicleID).attr("sortvalue");
var VehicleType = $(elem).attr("vehicle_type");
if ($("#vehicle_checkbox_" + VehicleID + ":enabled").length === 0) {
return;
}
if (VehicleType == "KTW" && self._ADisVehiclesNeed["38"] > 0) {
// console.log(" Automatic Dispose: Fahrzeug " + VehicleID + " " + VehicleType + " markiert");
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["38"]--;
} else if ((VehicleType == "LF 20" || VehicleType == "LF 10" ||
VehicleType == "LF 8/6" || VehicleType == "LF 20/16" ||
VehicleType == "LF 10/6" || VehicleType == "LF 16-TS" ||
VehicleType == "HLF 20" || VehicleType == "TSF-W" ||
VehicleType == "TLF 2000" || VehicleType == "TLF 3000" ||
VehicleType == "TLF 8/8" || VehicleType == "TLF 8/18" ||
VehicleType == "TLF 16/24-Tr" || VehicleType == "TLF 16/25" ||
VehicleType == "TLF 16/45" || VehicleType == "TLF 20/40" ||
VehicleType == "TLF 20/40-SL" || VehicleType == "TLF 16") &&
self._ADisVehiclesNeed["0"] + self._ADisVehiclesNeed["1"] + self._ADisVehiclesNeed["6"] + self._ADisVehiclesNeed["7"] +
self._ADisVehiclesNeed["8"] + self._ADisVehiclesNeed["9"] + self._ADisVehiclesNeed["30"] + self._ADisVehiclesNeed["37"] +
self._ADisVehiclesNeed["17"] + self._ADisVehiclesNeed["18"] + self._ADisVehiclesNeed["19"] + self._ADisVehiclesNeed["20"] +
self._ADisVehiclesNeed["21"] + self._ADisVehiclesNeed["22"] + self._ADisVehiclesNeed["23"] + self._ADisVehiclesNeed["24"] +
self._ADisVehiclesNeed["25"] + self._ADisVehiclesNeed["26"] > 0) { // LF acts as 'Tragehilfe'
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["0"]--;
} else if (VehicleType == "NAW" && self._ADisVehiclesNeed["28"] > 0 && self._ADisVehiclesNeed["29"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["74"]--;
self._ADisVehiclesNeed["28"]--;
self._ADisVehiclesNeed["29"]--;
} else if (VehicleType == "GRTW" && self._ADisVehiclesNeed["73"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["73"]--;
} else if (VehicleType == "RTW" && self._ADisVehiclesNeed["28"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["28"]--;
} else if (VehicleType == "NEF" && self._ADisVehiclesNeed["29"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["29"]--;
} else if (VehicleType == "RTH" && self._ADisVehiclesNeed["31"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["31"]--;
} else if (VehicleType == "KdoW-LNA" && self._ADisVehiclesNeed["55"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["55"]--;
} else if (VehicleType == "KdoW-OrgL" && self._ADisVehiclesNeed["56"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["56"]--;
} else if (VehicleType == "KTW Typ B" && self._ADisVehiclesNeed["58"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["58"]--;
self._ADisVehiclesNeed["28"]--; // no need for RTW if KTW Type B is called
} else if (VehicleType == "ELW 1 (SEG)" && self._ADisVehiclesNeed["59"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["59"]--;
} else if (VehicleType == "GW-San" && self._ADisVehiclesNeed["60"] > 0) {
$("#vehicle_checkbox_" + VehicleID).click();
self._ADisVehiclesNeed["60"]--;
self._ADisVehiclesNeed["29"]--; // no need for NEF if GW-SAN is called
}
});
return true;
}
return false;
}

26
src/autoloaderV2/index.js Normal file
View File

@@ -0,0 +1,26 @@
const AutomaticDispose = function () {
let self = this;
self.MaxVehicleID = 86
self.MissionType = null
self.MissionID = null
self.MyRunner = null
self.MyRunnerSettings = null
self.OweSecure = false
self._ADisVehiclesNeed = {}
self.MissionConfig = {}
self.Vehicles = {}
self.Patients = {}
self.ADis_MyHead = document.getElementsByTagName('head')[0];
self.ADis_MyBody = document.getElementsByTagName('body')[0];
// -
// - Sprechwunsch Variablen
// -
self.Jails = [];
self.JailRegEx = /\(Freie Zellen\:\s+(\d)\,\s+Entfernung\:\s+(\d+\,\d+)\s+km(?:\,\s+Abgabe an Besitzer\:\s+(\d+)%)?\)/g;
self.Hospitals = [];
self.RescueVehicleFrameWatchDog = null;
self.PoliceVehicleFrameWatchDog = null;
};