From 18ec829726040a21028d3e3e479129b3b40effe9 Mon Sep 17 00:00:00 2001
From: lowercasedonkey <lowercasedonkey@gmail.com>
Date: Mon, 9 Nov 2020 19:48:56 -0500
Subject: [PATCH] fullreport

---
 src/endWeek/reports/penthouseReport.js | 122 ++++++++++++++++++++++++-
 src/uncategorized/fullReport.tw        |  94 -------------------
 2 files changed, 121 insertions(+), 95 deletions(-)
 delete mode 100644 src/uncategorized/fullReport.tw

diff --git a/src/endWeek/reports/penthouseReport.js b/src/endWeek/reports/penthouseReport.js
index c24fbf1f59a..8afecdacf8f 100644
--- a/src/endWeek/reports/penthouseReport.js
+++ b/src/endWeek/reports/penthouseReport.js
@@ -18,7 +18,7 @@ globalThis.penthouseReport = function() {
 				r.push(App.SlaveAssignment.choosesOwnJob(slave));
 				r.push(He);
 			}
-			//<<include "Full Report">>
+			r.push(fullReport(slave));
 			App.Events.addNode(el, r, "p");
 
 			if (slave.ID === V.HeadGirlID && _HGSuitSlaves.length > 0) {
@@ -47,4 +47,124 @@ globalThis.penthouseReport = function() {
 	V.clubSpots = App.Entity.facilities.club.freeSpace;
 	V.dairySpots = App.Entity.facilities.dairy.freeSpace;
 	V.servantsQuartersSpots = App.Entity.facilities.servantsQuarters.freeSpace;
+
+	function fullReport(slave) {
+		const {
+			His,
+			he, him
+		} = getPronouns(slave);
+		let r = [];
+		let _milkResults;
+		let _milkResult;
+
+		switch (slave.assignment) {
+			case "rest":
+				r.push(App.SlaveAssignment.rest(slave));
+				break;
+			case "whore":
+				r.push(App.SlaveAssignment.whore(slave));
+				break;
+			case "serve the public":
+				r.push(App.SlaveAssignment.serveThePublic(slave));
+				break;
+			case "work a glory hole":
+				r.push(App.SlaveAssignment.workAGloryHole(slave));
+				break;
+			case "get milked":
+				_milkResults = App.SlaveAssignment.getMilked(slave);
+				r.push(_milkResults.text);
+				break;
+			case "take classes":
+				r.push(App.SlaveAssignment.takeClasses(slave));
+				break;
+			case "please you":
+				r.push(App.SlaveAssignment.pleaseYou(slave));
+				break;
+			case "be a subordinate slave":
+				r.push(App.SlaveAssignment.serveYourOtherSlaves(slave));
+				break;
+			case "be a servant":
+				r.push(App.SlaveAssignment.servant(slave));
+				break;
+			case "stay confined":
+				r.push(App.SlaveAssignment.stayConfined(slave));
+				break;
+			case "guard you":
+				r.push(App.SlaveAssignment.guardYou(slave));
+				break;
+			case "be your Head Girl":
+				r.push(App.SlaveAssignment.beYourHeadGirl(slave));
+				break;
+			case "recruit girls":
+				r.push(App.SlaveAssignment.recruitGirls(slave));
+				break;
+			default:
+				removeJob(slave, slave.assignment);
+				r.push(App.SlaveAssignment.rest(slave));
+		}
+
+		if (V.servantMilkers === 1 && slave.lactation > 0 && slave.assignment !== "get milked") {
+			r.push(`${His} assignment`);
+			if (setup.servantMilkersJobs.includes(slave.assignment)) {
+				r.push(`is not strenuous, so ${he} `);
+				if (slave.devotion > 20) {
+					if (slave.fetish === "boobs") {
+						r.push(`eagerly `);
+					}
+					r.push(`uses`);
+				} else if (slave.devotion >= -20) {
+					r.push(`is required to use`);
+				} else {
+					r.push(`is forced to use`);
+				}
+				r.push(`the penthouse milkers frequently,`);
+				_milkResult = App.SlaveAssignment.getMilked(slave, 0.5);
+			} else {
+				r.push(`keeps ${him} busy, but ${he}`);
+				if (slave.devotion > 20) {
+					if (slave.fetish === "boobs") {
+						r.push(`eagerly`);
+					}
+					r.push(`uses`);
+				} else if (slave.devotion >= -20) {
+					r.push(`is required to use`);
+				} else {
+					r.push(`is forced to use`);
+				}
+				r.push(`the penthouse milkers whenever ${he} can,`);
+				_milkResult = App.SlaveAssignment.getMilked(slave, 0.25);
+			}
+			r.push(`and ${he} gives ${_milkResult.milk} liters of milk over the week, which is sold for <span class="yellowgreen">${cashFormat(_milkResult.milkSale)}.</span>`);
+		}
+
+		// <br>&nbsp;&nbsp;&nbsp;&nbsp;
+		if (slave.minorInjury !== 0) {
+			r.push(`${His} ${slave.minorInjury} will heal by the end of the week.`);
+		}
+
+		if (V.showEWD === 0) {
+			App.SlaveAssignment.standardSlaveReport(slave, false);
+		} else {
+			// discard return values silently
+			App.SlaveAssignment.standardSlaveReport(slave, true);
+		}
+
+		if (V.PC.health.shortDamage < 30 && Array.isArray(V.personalAttention) && V.personalAttention.findIndex(function(s) { return s.ID === slave.ID; }) !== -1) {
+			r.push(personalAttention(slave));
+		}
+
+		for (let _hgtsidx = 0; _hgtsidx < V.HGTrainSlavesIDs.length; _hgtsidx++) {
+			if (slave.ID === V.HGTrainSlavesIDs[_hgtsidx].ID) {
+				V.HGtraining = V.HGTrainSlavesIDs[_hgtsidx].training;
+				r.push(HGApplication(slave));
+			}
+		}
+
+		// &nbsp;&nbsp;&nbsp;&nbsp;
+		r.push(App.SlaveAssignment.devotion(slave));
+	}
+
+	function HGApplication(slave) {
+
+	}
 };
diff --git a/src/uncategorized/fullReport.tw b/src/uncategorized/fullReport.tw
deleted file mode 100644
index 95d64be55e6..00000000000
--- a/src/uncategorized/fullReport.tw
+++ /dev/null
@@ -1,94 +0,0 @@
-:: Full Report [nobr]
-
-/* 000-250-006 */
-<<if $seeImages && $seeReportImages>>
-	<div class="imageRef medImg">
-		<<= SlaveArt($slaves[$i], 2, 0)>>
-	</div>
-<</if>>
-/* 000-250-006 */
-
-<<setLocalPronouns $slaves[$i]>>
-
-<<switch $slaves[$i].assignment>>
-<<case "rest">>
-	<<= App.SlaveAssignment.rest($slaves[$i])>>
-<<case "whore">>
-	<<= App.SlaveAssignment.whore($slaves[$i])>>
-<<case "serve the public">>
-	<<= App.SlaveAssignment.serveThePublic($slaves[$i])>>
-<<case "work a glory hole">>
-	<<= App.SlaveAssignment.workAGloryHole($slaves[$i])>>
-<<case "get milked">>
-	<<set _milkResults = App.SlaveAssignment.getMilked($slaves[$i])>>
-	<<= _milkResults.text>>
-<<case "take classes">>
-	<<= App.SlaveAssignment.takeClasses($slaves[$i])>>
-<<case "please you">>
-	<<= App.SlaveAssignment.pleaseYou($slaves[$i])>>
-<<case "be a subordinate slave">>
-	<<= App.SlaveAssignment.serveYourOtherSlaves($slaves[$i])>>
-<<case "be a servant">>
-	<<= App.SlaveAssignment.servant($slaves[$i])>>
-<<case "stay confined">>
-	<<= App.SlaveAssignment.stayConfined($slaves[$i])>>
-<<case "guard you">>
-	<<= App.SlaveAssignment.guardYou($slaves[$i])>>
-<<case "be your Head Girl">>
-	<<= App.SlaveAssignment.beYourHeadGirl($slaves[$i])>>
-<<case "recruit girls">>
-	<<= App.SlaveAssignment.recruitGirls($slaves[$i])>>
-<<default>>
-	<<= removeJob($slaves[$i], $slaves[$i].assignment)>>
-	<<= App.SlaveAssignment.rest($slaves[$i])>>
-<</switch>>
-
-<<if $servantMilkers == 1 && $slaves[$i].lactation > 0 && $slaves[$i].assignment != "get milked">>
-	$His assignment
-	<<if setup.servantMilkersJobs.includes($slaves[$i].assignment)>>
-		is not strenuous, so $he <<if $slaves[$i].devotion > 20>><<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses<<elseif $slaves[$i].devotion >= -20>>is required to use<<else>>is forced to use<</if>> the penthouse milkers frequently,
-		<<set _milkResult = App.SlaveAssignment.getMilked($slaves[$i], 0.5)>>
-	<<else>>
-		keeps $him busy, but $he <<if $slaves[$i].devotion > 20>><<if $slaves[$i].fetish == "boobs">>eagerly <</if>>uses<<elseif $slaves[$i].devotion >= -20>>is required to use<<else>>is forced to use<</if>> the penthouse milkers whenever $he can,
-		<<set _milkResult = App.SlaveAssignment.getMilked($slaves[$i], 0.25)>>
-	<</if>>
-	and $he gives <<= _milkResult.milk>> liters of milk over the week, which is sold for @@.yellowgreen;<<print cashFormat(_milkResult.milkSale)>>.@@
-<</if>>
-
-<br>&nbsp;&nbsp;&nbsp;&nbsp;
-<<if $slaves[$i].minorInjury != 0>>
-	$His $slaves[$i].minorInjury will heal by the end of the week.
-<</if>>
-
-<<if $showEWD == 0>>
-	<<includeDOM App.SlaveAssignment.rules($slaves[$i])>>
-	<<run App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
-	<<run App.SlaveAssignment.diet($slaves[$i])>>
-	<<run App.SlaveAssignment.longTermEffects($slaves[$i])>>
-	<<run App.SlaveAssignment.drugs($slaves[$i])>>
-	<<run App.SlaveAssignment.relationships($slaves[$i])>>
-	<<run App.SlaveAssignment.rivalries($slaves[$i])>>
-<<else>>
-	<<includeDOM App.SlaveAssignment.rules($slaves[$i])>>
-	<<= App.SlaveAssignment.choosesOwnClothes($slaves[$i])>>
-	<<= App.SlaveAssignment.diet($slaves[$i])>>
-	<<includeDOM App.SlaveAssignment.longTermEffects($slaves[$i])>>
-	<<= App.SlaveAssignment.drugs($slaves[$i])>>
-	<<= App.SlaveAssignment.relationships($slaves[$i])>>
-	<<= App.SlaveAssignment.rivalries($slaves[$i])>>
-	<br>
-<</if>>
-
-<<if $PC.health.shortDamage < 30 && Array.isArray($personalAttention) && $personalAttention.findIndex(function(s) { return s.ID == $slaves[$i].ID; }) != -1>>
-	<<includeDOM personalAttention($slaves[$i])>>
-<</if>>
-
-<<for _hgtsidx = 0; _hgtsidx < $HGTrainSlavesIDs.length; _hgtsidx++>>
-	<<if $slaves[$i].ID == $HGTrainSlavesIDs[_hgtsidx].ID>>
-		<<set $activeSlave = $slaves[$i], $HGtraining = $HGTrainSlavesIDs[_hgtsidx].training>>
-		<<include "HG Application">>
-		<br>
-	<</if>>
-<</for>>
-
-&nbsp;&nbsp;&nbsp;&nbsp;<<= App.SlaveAssignment.devotion($slaves[$i])>>
-- 
GitLab