diff --git a/src/004-base/facility.js b/src/004-base/facility.js
index 3405bcccaa94fe62d6e09cea63d8eddefa57c54f..a827c02e81d45e05acfdf8cb598c264a675ac133 100644
--- a/src/004-base/facility.js
+++ b/src/004-base/facility.js
@@ -74,7 +74,7 @@ App.Entity.Facilities.Job = class {
 			r.push(`${slave.slaveName} is already assigned to ${this.desc.assignment}.`);
 		}
 		if (this.desc.publicSexUse &&
-			(slave.breedingMark === 1 || State.variables.propOutcome === 1)) {
+			(slave.breedingMark === 1 && State.variables.propOutcome === 1)) {
 			r.push(`${slave.slaveName} is for private use only.`);
 		}
 		if (!this.desc.fuckdollAccepted && slave.fuckdoll > 0) {
diff --git a/src/js/slaveSummaryWidgets.js b/src/js/slaveSummaryWidgets.js
index 57cc38358792e4a36e5f2f135db54f7c7e909b9f..f6bd94118f85b5b8a3145b3983ff02b029e0b9aa 100644
--- a/src/js/slaveSummaryWidgets.js
+++ b/src/js/slaveSummaryWidgets.js
@@ -5098,7 +5098,7 @@ App.UI.slaveSummaryList = function (passageName) {
 		"Stewardess Select": makeSelectionPassageInfo(App.Entity.facilities.servantsQuarters, "Stewardess Workaround"),
 		"Schoolteacher Select": makeSelectionPassageInfo(App.Entity.facilities.schoolroom, "Schoolteacher Workaround"),
 		"Wardeness Select": makeSelectionPassageInfo(App.Entity.facilities.cellblock, "Wardeness Workaround"),
-		"Agent Select": makeSelectionPassageInfo(null, "Agent Workaround"),
+		"Agent Select": makeSelectionPassageInfo(App.Entity.facilities.arcologyAgent, "Agent Workaround"),
 		"Recruiter Select": makeSelectionPassageInfo(App.Entity.facilities.penthouse, "Recruiter Workaround")
 	};
 
@@ -5167,7 +5167,7 @@ App.UI.slaveSummaryList = function (passageName) {
 				}
 				res.push(dividerAndImage(_Slave));
 				if (App.Data.Facilities.headGirlSuite.manager.assignment === _Slave.assignment) res.push('<strong>@@.lightcoral;HG@@</strong> ');
-				else if ("recruit girls" === _Slave.assignment) res.push('<strong>@@.lightcoral;RC@@</strong> ');
+				else if (App.Data.Facilities.penthouse.manager.assignment === _Slave.assignment) res.push('<strong>@@.lightcoral;RC@@</strong> ');
 				else if (App.Data.Facilities.armory.manager.assignment === _Slave.assignment) res.push('<strong>@@.lightcoral;BG@@</strong> ');
 
 				if (Array.isArray(V.personalAttention) && V.personalAttention.findIndex(s => s.ID === _Slave.ID) !== -1) {
diff --git a/src/npc/agent/agentFramework.js b/src/npc/agent/agentFramework.js
new file mode 100644
index 0000000000000000000000000000000000000000..ca3c85d55f3250a0803124115b0187907950f687
--- /dev/null
+++ b/src/npc/agent/agentFramework.js
@@ -0,0 +1,32 @@
+App.Data.Facilities.arcologyAgent = {
+	baseName: "arcololgy",
+	genericName: null,
+	jobs: {
+		agentsSlave: {
+			position: "agents's toy",
+			assignment: "live with your agent",
+			publicSexUse: true,
+			fuckdollAccepted: false
+		}
+	},
+	defaultJob: "agentsSlave",
+	manager: {
+		position: "agent",
+		assignment: "be your agent",
+		careers: null,
+		skill: null,
+		publicSexUse: true,
+		fuckdollAccepted: false,
+		broodmotherAccepted: false,
+		shouldWalk: true,
+		shouldSee: true,
+		shouldHear: true,
+		shouldTalk: true,
+		shouldThink: true,
+		requiredDevotion: 21
+	}
+}
+
+App.Entity.facilities.arcologyAgent = new App.Entity.Facilities.Facility(
+	App.Data.Facilities.arcologyAgent
+);