From cff654d30f3f63eaf45c86c94ca751991f6efa0a Mon Sep 17 00:00:00 2001 From: Skriv <skrivelese@gmail.com> Date: Sat, 14 Mar 2020 13:43:16 +0100 Subject: [PATCH] simplify RAFacilityRemove --- src/js/rulesAssistant.js | 159 ++++++++++++++------------------------- 1 file changed, 57 insertions(+), 102 deletions(-) diff --git a/src/js/rulesAssistant.js b/src/js/rulesAssistant.js index ae2c0f75640..c732c59d9da 100644 --- a/src/js/rulesAssistant.js +++ b/src/js/rulesAssistant.js @@ -93,97 +93,51 @@ window.ruleApplied = function(slave, rule) { window.RAFacilityRemove = function RAFacilityRemove(slave, rule) { let r = ""; if (!rule.facilityRemove) { return r; } - switch (rule.setAssignment) { - case "be confined in the arcade": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.arcadeName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "work in the brothel": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.brothelName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "serve in the club": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.clubName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "work in the dairy": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.dairyName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "work as farmhand": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.farmyardName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "rest in the spa": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.spaName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "work as a nanny": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.nurseryName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "get treatment in the clinic": - if (slave.assignment === rule.setAssignment) { - r += `<br>{slave.slaveName} has been removed from ${V.clinicName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "serve in the master suite": - if (slave.assignment === rule.setAssignment) { - r += `<br>{slave.slaveName} has been removed from ${V.masterSuiteName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "live with your Head Girl": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.HGSuiteName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "work as a servant": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.servantsQuartersName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "learn in the schoolroom": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.schoolroomName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; - - case "be confined in the cellblock": - if (slave.assignment === rule.setAssignment) { - r += `<br>${slave.slaveName} has been removed from ${V.cellblockName} and has been assigned to ${rule.removalAssignment}.`; - assignJob(slave, rule.removalAssignment); - } - break; + if (slave.assignment === rule.setAssignment) { + let facilityName; + switch (rule.setAssignment) { + case "be confined in the arcade": + facilityName = V.arcadeName; + break; + case "work in the brothel": + facilityName = V.brothelName; + break; + case "serve in the club": + facilityName = V.clubName; + break; + case "work in the dairy": + facilityName = V.dairyName; + break; + case "work as farmhand": + facilityName = V.farmyardName; + break; + case "rest in the spa": + facilityName = V.spaName; + break; + case "work as a nanny": + facilityName = V.nurseryName; + break; + case "get treatment in the clinic": + facilityName = V.clinicName; + break; + case "serve in the master suite": + facilityName = V.masterSuiteName; + break; + case "live with your Head Girl": + facilityName = V.HGSuiteName; + break; + case "work as a servant": + facilityName = V.servantsQuartersName; + break; + case "learn in the schoolroom": + facilityName = V.schoolroomName; + break; + case "be confined in the cellblock": + facilityName = V.cellblockName; + break; + } + r += `<br>${slave.slaveName} has been removed from ${facilityName} and has been assigned to ${rule.removalAssignment}.`; + assignJob(slave, rule.removalAssignment); } }; @@ -194,23 +148,24 @@ window.RAFacilityRemove = function RAFacilityRemove(slave, rule) { * @returns {boolean} flag */ window.ruleAppliesP = function ruleAppliesP(cond, slave) { let flag = true; + let slaveAttribute = slave[cond.data.attribute]; + // attribute / function check switch (cond.function) { case false: // never applies flag = false; break; case "between": // between two values of a slave's attribute - let slaveAttribute = slave[cond.data.attribute]; if (slaveAttribute === undefined && cond.data.attribute.includes(".")) { slaveAttribute = cond.data.attribute - .split(".") - .reduce( - (reduceSlave, attribute) => - (reduceSlave && reduceSlave[attribute] !== undefined) - ? reduceSlave[attribute] - : undefined, - slave - ); + .split(".") + .reduce( + (reduceSlave, attribute) => + (reduceSlave && reduceSlave[attribute] !== undefined) + ? reduceSlave[attribute] + : undefined, + slave + ); } flag = between( slaveAttribute, @@ -512,9 +467,9 @@ window.RASummaryCell = function() { function ruleSetValueToString(v) { if (typeof v === 'object') { - if(v.hasOwnProperty('cond') && v.hasOwnProperty('val')) { + if (v.hasOwnProperty('cond') && v.hasOwnProperty('val')) { return `<nowiki>${v.cond}</nowiki> ${v.val}`; - } else if(v.hasOwnProperty('min') && v.hasOwnProperty('max')) { + } else if (v.hasOwnProperty('min') && v.hasOwnProperty('max')) { return `${v.min} to ${v.max}`; } else { return JSON.stringify(v); -- GitLab