diff --git a/src/endWeek/nextWeek/nextWeek.js b/src/endWeek/nextWeek/nextWeek.js
index 9cc3b7df9416cbc716860963897d1bbf1a929f60..d810c85d84da46c2acc7ba8e3ec7c03db099ce98 100644
--- a/src/endWeek/nextWeek/nextWeek.js
+++ b/src/endWeek/nextWeek/nextWeek.js
@@ -71,7 +71,8 @@ App.EndWeek.nextWeek = function() {
 				V.PC.boobsMilk = 0;
 			}
 			// V.PC.boobsMilk = Math.round(10 * V.PC.lactationAdaptation);
-			V.PC.boobsMilk = milkAmount(V.PC) * 20;
+			// V.PC.boobsMilk = milkAmount(V.PC) * 20;
+			V.PC.boobsMilk = milkAmount(V.PC) * Math.max((V.PC.lactationAdaptation / 10), 1);
 			V.PC.boobsMilk += boobsMilkIntegrityPC;
 			V.PC.boobsMilk = Math.round(V.PC.boobsMilk / 10) * 10;
 			V.PC.boobs += V.PC.boobsMilk;
@@ -194,7 +195,8 @@ App.EndWeek.nextWeek = function() {
 					slave.boobsMilk = 0;
 				}
 				// slave.boobsMilk = Math.round(10 * slave.lactationAdaptation);
-				slave.boobsMilk = milkAmount(slave) * 20;
+				// slave.boobsMilk = milkAmount(slave) * 20;
+				slave.boobsMilk = milkAmount(slave) * Math.max((slave.lactationAdaptation / 10), 1);
 				slave.boobsMilk += boobsMilkIntegrity;
 				slave.boobsMilk = Math.round(slave.boobsMilk / 10) * 10;
 				slave.boobs += slave.boobsMilk;
diff --git a/src/events/nonRandom/daughters/pCollaborationChoice.js b/src/events/nonRandom/daughters/pCollaborationChoice.js
index d37a2800f96321317941ccc22ec0a044e98327d0..22d54e3e515f1f25c617fc92c6caccc45ebb1c87 100644
--- a/src/events/nonRandom/daughters/pCollaborationChoice.js
+++ b/src/events/nonRandom/daughters/pCollaborationChoice.js
@@ -21,9 +21,13 @@ App.Events.PCoupCollaborationChoice = class PCoupCollaborationChoice extends App
 
 		r.push(`Your next communication from the Daughters of Liberty is a request for a live video call. You accept and are surprised to be confronted by ${V.traitor.slaveName}'s`);
 		if (V.traitorType === "horror") {
-			r.push(`terrified`);
+			r.push(`terrified face.`);
+		} else if (V.traitorType === "broken") {
+			r.push(`coherent face; it would seem ${his} mind has come back to ${him}.`);
+		} else {
+			r.push(`face.`);
 		}
-		r.push(`face. ${He} looks very different, without visible modifications of any kind and dressed in utilitarian clothes, but it's ${him}.`);
+		r.push(`${He} looks very different, without visible modifications of any kind and dressed in utilitarian clothes, but it's ${him}.`);
 
 		App.Events.addParagraph(node, r);
 		r = [];
@@ -52,7 +56,7 @@ App.Events.PCoupCollaborationChoice = class PCoupCollaborationChoice extends App
 						Spoken(V.traitor, `"Don't let them get you ${Master}! Show them who's boss!"`)
 					);
 				} else {
-					r.push(`${He} hastily gestures that they are coming for you and that nothing you can do will deter them. ${He} barely signs off a plea for you to prepare your defenses.`);
+					r.push(`${He} hastily gestures that they are coming for you and that nothing you can do will deter them. ${He} barely signs off a plea for you to prepare your defenses before being dragged offsceen.`);
 				}
 				V.traitorType = "hostage";
 			} else if (V.traitor.intelligence + V.traitor.intelligenceImplant < -50) {
diff --git a/src/events/nonRandom/daughters/pTraitorMessage.js b/src/events/nonRandom/daughters/pTraitorMessage.js
index 5735ea1a53fc54191604e85b83783370f8f935b5..8ecd7fadfbc7679be403a5aef6d2120b4582b422 100644
--- a/src/events/nonRandom/daughters/pTraitorMessage.js
+++ b/src/events/nonRandom/daughters/pTraitorMessage.js
@@ -46,7 +46,14 @@ App.Events.PTraitorMessage = class PTraitorMessage extends App.Events.BaseEvent
 		/* ------------------ pregnancy setup end here-----------------
 			r.push(`As no broodmother cases in code below, it's no need to setup every case of impregnation through new system. Backup mechanic will do it for normal pregnancies.`);
 		*/
-
+		
+		if (V.traitor.fuckdoll !== 0) {
+			V.traitor.fuckdoll = 0;
+		}
+		if (V.traitor.fetish === Fetish.MINDBROKEN) {
+			V.traitor.fetish = "none";
+			V.traitor.fetishStrength = 0;
+		}
 		if (V.traitor.hStyle === "shaved") {
 			V.traitor.hStyle = "strip";
 		}
@@ -68,6 +75,8 @@ App.Events.PTraitorMessage = class PTraitorMessage extends App.Events.BaseEvent
 			}
 		} else if (V.traitorType === "defiant") {
 			r.push(`${He} looks elated to be free, it's impossible to deny. ${He} seems unaware ${he}'s being recorded.`);
+		} else if (V.traitorType === "broken") {
+			r.push(`${He} looks completely indifferent to the situation. ${He} likely is unaware that ${he} is no longer in the penthouse.`);
 		} else {
 			r.push(`${He} looks a little bewildered, but there's an obvious happiness to ${him}, it's impossible to deny. ${He} seems unaware ${he}'s being recorded.`);
 		}
diff --git a/src/events/nonRandom/daughters/pUndergroundRailroad.js b/src/events/nonRandom/daughters/pUndergroundRailroad.js
index cb5f60a954deb4887b66fd9c8910ace646cc58ec..b1fc03872f825196ef6274b136462d074170f4d4 100644
--- a/src/events/nonRandom/daughters/pUndergroundRailroad.js
+++ b/src/events/nonRandom/daughters/pUndergroundRailroad.js
@@ -23,6 +23,8 @@ App.Events.PUndergroundRailroad = class PUndergroundRailroad extends App.Events.
 
 		if (traitor.devotion + traitor.trust >= 175) {
 			V.traitorType = "agent";
+		} else if (traitor.fuckdoll !== 0 || traitor.fetish === Fetish.MINDBROKEN) {
+			V.traitorType = "broken";
 		} else if (traitor.trust <= -75) {
 			V.traitorType = "horror";
 		} else if (traitor.devotion <= -20 && traitor.trust >= 20) {
@@ -153,6 +155,16 @@ App.Events.PUndergroundRailroad = class PUndergroundRailroad extends App.Events.
 				new App.Events.Result(`Let ${him} go`, agentRelease),
 				new App.Events.Result(`Tell ${him} to ignore the Daughters in the future`, agentIgnore)
 			]);
+		} else if (V.traitorType === "broken") {
+			r.push(`${traitor.slaveName} is mentally absent, so you have your sincere doubts that ${he} actually knows anything about the matters at hand. ${He} does, however, serve as an anchor for your search. You review the surveillance recordings, tracking where and what ${he} was doing during ${his} day. It would appear that several nondescript citizens tried to carry on a conversation with ${him}. Peculiar.`);
+
+			App.Events.addParagraph(node, r);
+			r = [];
+
+			App.Events.addResponses(node, [
+				new App.Events.Result(`Free ${him}`, brokenFree),
+				new App.Events.Result(`Ignore the situation`, brokenIgnore)
+			]);
 		} else {
 			r.push(`You call ${traitor.slaveName} in and politely inquire as to whether ${he} knows anything about the matter.`);
 			if (V.traitorType === "horror") {
@@ -362,6 +374,26 @@ App.Events.PUndergroundRailroad = class PUndergroundRailroad extends App.Events.
 			return frag;
 		}
 
+		function brokenFree() {
+			const frag = new DocumentFragment();
+			let r = [];
+			unlock();
+			r.push(`You decide to release ${him} into the streets and keep an eye on ${him}. ${He} is quickly scooped up by several citizens, some of which you recognize from the earlier video, and taken away. There is a plot in motion against you, and it extends worringly deep into your domain.`);
+			sendTraitor();
+			App.Events.addParagraph(frag, r);
+			return frag;
+		}
+
+		function brokenIgnore() {
+			const frag = new DocumentFragment();
+			let r = [];
+			unlock();
+			r.push(`You see no reason to humor them. All attempts to use your monitoring systems to find the citizens who visited ${traitor.slaveName} fail; it seems their ability to corrupt your systems is considerable. While ${he} doesn't talk, <span class="devotion dec">whispers of freedom</span> still manage to run through your chattel.`);
+			V.slaves.filter(desiresFreedom).forEach(s => s.devotion -= 5);
+			App.Events.addParagraph(frag, r);
+			return frag;
+		}
+
 		function free() {
 			const frag = new DocumentFragment();
 			let r = [];
diff --git a/src/npc/descriptions/boobs/boobs.js b/src/npc/descriptions/boobs/boobs.js
index 9dbef09520ec65f7de47caf79d2e431708f5d3d6..30a26f9a94ae5440f4d851d3bacb21e620c6ef5e 100644
--- a/src/npc/descriptions/boobs/boobs.js
+++ b/src/npc/descriptions/boobs/boobs.js
@@ -1889,13 +1889,13 @@ App.Desc.nipples = function(slave, descType) {
 		} else if (slave.lactation === 1) {
 			if (slave.boobs > 300) {
 				if (slave.boobsMilk > 0) {
-					r += ` ${His} breasts are painfully engorged with ${slave.milkFlavor === "none" ? `` : `${slave.milkFlavor}-flavored `}milk.`;
+					r += ` ${His} breasts are painfully engorged with${V.debugMode ? ` ${slave.boobsMilk}ccs of` : ""} ${slave.milkFlavor === "none" ? `` : `${slave.milkFlavor}-flavored `}milk.`;
 				} else {
 					r += ` ${His} motherly breasts are full of ${slave.milkFlavor === "none" ? `` : `${slave.milkFlavor}-flavored `}milk.`;
 				}
 			} else {
 				if (slave.boobsMilk > 0) {
-					r += ` ${His} chest is painfully engorged with ${slave.milkFlavor === "none" ? `` : `${slave.milkFlavor} `}milk and leaks with the slightest provocation.`;
+					r += ` ${His} chest is painfully engorged with${V.debugMode ? ` ${slave.boobsMilk}ccs of` : ""} ${slave.milkFlavor === "none" ? `` : `${slave.milkFlavor} `}milk and leaks with the slightest provocation.`;
 				} else {
 					r += ` ${His} sensitive chest is swollen with ${slave.milkFlavor === "none" ? `` : `${slave.milkFlavor}-flavored `}milk.`;
 				}