diff --git a/src/endWeek/reports/penthouseReport.js b/src/endWeek/reports/penthouseReport.js index 807d1b84fa06bf872aefd98b8ea24ed2b1d4dc9c..da7f65c6ead09287d9363ab2e42138f7c6629d2e 100644 --- a/src/endWeek/reports/penthouseReport.js +++ b/src/endWeek/reports/penthouseReport.js @@ -144,19 +144,23 @@ App.EndWeek.penthouseReport = function() { } App.Events.addNode(el, r, "div"); - r = []; - if (slave.minorInjury !== 0) { - r.push(`${His} ${slave.minorInjury} will heal by the end of the week.`); - } if (V.showEWD !== 0) { - r.push(App.SlaveAssignment.standardSlaveReport(slave, false)); + r = []; + if (slave.minorInjury !== 0) { + r.push(`${His} ${slave.minorInjury} will heal by the end of the week.`); + } + r.push(App.SlaveAssignment.choosesOwnClothes(slave)); + r.push(...App.SlaveAssignment.individualSlaveReport(slave)); + App.Events.addNode(el, r, "div", "indent"); } else { // discard return values silently - App.SlaveAssignment.standardSlaveReport(slave, true); + App.SlaveAssignment.choosesOwnClothes(slave); + App.SlaveAssignment.individualSlaveReport(slave); } - if (V.PC.health.shortDamage < 30 && Array.isArray(V.personalAttention) && V.personalAttention.findIndex(function(s) { return s.ID === slave.ID; }) !== -1) { + r = []; + if (V.PC.health.shortDamage < 30 && Array.isArray(V.personalAttention) && V.personalAttention.some(s => s.ID === slave.ID)) { r.push(personalAttention(slave)); } @@ -167,7 +171,7 @@ App.EndWeek.penthouseReport = function() { } } - r.push(App.SlaveAssignment.devotion(slave)); + r.push(`<div class="indent">${App.SlaveAssignment.devotion(slave)}</span>`); App.Events.addNode(el, r); return el; } diff --git a/src/endWeek/saLiveWithHG.js b/src/endWeek/saLiveWithHG.js index bd6c5eb51b69c7149e92987115ce40d674ab77f3..f8b898cb6e782e619f49c4765bc579a405d74d25 100644 --- a/src/endWeek/saLiveWithHG.js +++ b/src/endWeek/saLiveWithHG.js @@ -1625,23 +1625,13 @@ App.SlaveAssignment.liveWithHG = (function() { function slaveReport(slave) { if (V.showEWD === 0) { /* App.SlaveAssignment.choosesOwnClothes(slave) */ - App.SlaveAssignment.rules(slave); - App.SlaveAssignment.diet(slave); - App.SlaveAssignment.longTermEffects(slave); - App.SlaveAssignment.drugs(slave); - App.SlaveAssignment.relationships(slave); - App.SlaveAssignment.rivalries(slave); + App.SlaveAssignment.individualSlaveReport(slave); App.SlaveAssignment.devotion(slave); } else { /* App.SlaveAssignment.choosesOwnClothes(slave) */ const content = App.UI.DOM.makeElement("div", '', "indent"); $(content).append( - App.SlaveAssignment.rules(slave), - App.SlaveAssignment.diet(slave), - App.SlaveAssignment.longTermEffects(slave), - App.SlaveAssignment.drugs(slave), - App.SlaveAssignment.relationships(slave), - App.SlaveAssignment.rivalries(slave), + ...App.Events.spaceSentences(App.SlaveAssignment.individualSlaveReport(slave)), `<div class="indent">${App.SlaveAssignment.devotion(slave)}</span>`); r.push(content); } diff --git a/src/endWeek/standardSlaveReport.js b/src/endWeek/standardSlaveReport.js index 5ed4a6d9b43f2f8129093671ce28c516ed8e1fe3..5a090d67d9bcfc082f053b1a64c7a8ab156eaa0c 100644 --- a/src/endWeek/standardSlaveReport.js +++ b/src/endWeek/standardSlaveReport.js @@ -1,5 +1,6 @@ /** * Generates (and returns if not silent) a standard slave report + * This is the part after the slave's job in most facilities. * @param {App.Entity.SlaveState} slave * @param {boolean} silent * @returns {HTMLElement|null} @@ -9,19 +10,31 @@ App.SlaveAssignment.standardSlaveReport = function(slave, silent=false) { tired(slave); - const rules = App.SlaveAssignment.rules(slave); - const diet = App.SlaveAssignment.diet(slave); - const ltEffects = App.SlaveAssignment.longTermEffects(slave); - const drugs = App.SlaveAssignment.drugs(slave); - const relationships = App.SlaveAssignment.relationships(slave); - const rivalries = App.SlaveAssignment.rivalries(slave); + const individualReport = App.SlaveAssignment.individualSlaveReport(slave); const devotion = App.SlaveAssignment.devotion(slave); if (!silent) { const content = App.UI.DOM.makeElement("div", '', "indent"); - $(content).append(clothes, rules, diet, ltEffects, drugs, relationships, rivalries, `<div class="indent">${devotion}</div>`); + $(content).append(...App.Events.spaceSentences([clothes, ...individualReport]), `<div class="indent">${devotion}</div>`); return content; } }; + +/** + * Generates the main part of the standard slave report for an individual slave. + * This is the section that's identical for all slaves regardless of facility. + * @param {App.Entity.SlaveState} slave + * @returns {Array<DocumentFragment|string>} + */ +App.SlaveAssignment.individualSlaveReport = function(slave) { + return [ + App.SlaveAssignment.rules(slave), + App.SlaveAssignment.diet(slave), + App.SlaveAssignment.longTermEffects(slave), + App.SlaveAssignment.drugs(slave), + App.SlaveAssignment.relationships(slave), + App.SlaveAssignment.rivalries(slave), + ]; +};