From 0faaaedcf1813c4e60d8aba667e292986dc642cc Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 22 Sep 2024 21:20:10 +0100
Subject: [PATCH 01/17] Minor re-work and cleanup of the penis and breast
 insecurity

- Merged the `penis_tiny` and `breasts_tiny` insecurity into the `_small` counterparts
- Added additional audence lines or npc's commenting on caged penises and smaller penises
- Added additional penis lines during a Harper event when at the underground farm
- Fix to the player gaining stress and losing control on insecurity going down
- Fixed a Sydney temple event where they refer to the players flat chest as `tiny breasts`
- Fixed a Whitney event which wouldnt increase breast insecurity correctly
---
 game/03-JavaScript/time.js                    |  23 +-
 game/04-Variables/variables-static.twee       |   1 +
 .../04-Variables/variables-versionUpdate.twee |  13 ++
 game/base-combat/audience.twee                | 209 +++++++++++++----
 game/base-combat/speech.twee                  |  14 +-
 game/base-system/bodywriting.twee             |   4 +-
 .../base-system/overlays/characteristics.twee | 116 +++-------
 game/base-system/stat-changes.js              |  91 ++++----
 game/base-system/text.js                      |   9 +-
 game/overworld-forest/loc-lake/main.twee      |  41 ++--
 game/overworld-forest/loc-lake/widgets.twee   | 149 +++---------
 game/overworld-plains/loc-livestock/jobs.twee |  31 ++-
 game/overworld-plains/loc-livestock/main.twee |  14 +-
 .../overworld-town/loc-adultshop/widgets.twee |   2 +-
 game/overworld-town/loc-bus/main.twee         |   2 +-
 .../overworld-town/loc-hospital/pharmacy.twee |   2 +-
 game/overworld-town/loc-landfill/main.twee    |   6 +-
 game/overworld-town/loc-school/detention.twee |   6 +-
 .../loc-school/inspections.twee               |   4 +-
 game/overworld-town/loc-street/events.twee    |  12 +-
 game/overworld-town/loc-temple/main.twee      |  44 ++--
 game/overworld-town/loc-temple/widgets.twee   | 219 +++++-------------
 game/overworld-town/special-kylar/main.twee   |   1 -
 .../overworld-town/special-sydney/temple.twee |  77 +++---
 game/overworld-town/special-whitney/main.twee |   4 +-
 .../special-whitney/street.twee               |   6 +-
 game/special-dance/effects.twee               |  14 +-
 game/special-exhibition/main.twee             |  13 +-
 game/special-masturbation/audience.js         |  18 +-
 t3lt.twee-config.yml                          |   4 +-
 30 files changed, 497 insertions(+), 652 deletions(-)

diff --git a/game/03-JavaScript/time.js b/game/03-JavaScript/time.js
index b3d1b6b488..947a5ad4d0 100644
--- a/game/03-JavaScript/time.js
+++ b/game/03-JavaScript/time.js
@@ -1341,20 +1341,17 @@ function dailyPlayerEffects() {
 			else if (V.pbgrowthballs >= 5) V.pblevelballs = 3;
 		}
 	}
+	statChange.insecurity("penis_small", -Math.clamp(V.player.penissize + 1, 1, 5));
+	statChange.insecurity("penis_big", Math.clamp(V.player.penissize - 4, -5, -1));
 
-	statChange.insecurity("penis_tiny", -1);
-	statChange.insecurity("penis_small", -1);
-	statChange.insecurity("penis_big", -1);
-	statChange.insecurity("breasts_tiny", -1);
-	statChange.insecurity("breasts_small", -1);
-	statChange.insecurity("breasts_big", -1);
-
-	V.insecurity_penis_tiny = Math.clamp(V.insecurity_penis_tiny, 0, 1000);
-	V.insecurity_penis_small = Math.clamp(V.insecurity_penis_small, 0, 1000);
-	V.insecurity_penis_big = Math.clamp(V.insecurity_penis_big, 0, 1000);
-	V.insecurity_breasts_tiny = Math.clamp(V.insecurity_breasts_tiny, 0, 1000);
-	V.insecurity_breasts_small = Math.clamp(V.insecurity_breasts_small, 0, 1000);
-	V.insecurity_breasts_big = Math.clamp(V.insecurity_breasts_big, 0, 1000);
+	const reducedBreastsize = Math.floor(V.player.breastsize / 2);
+	if (V.player.gender === "m") {
+		statChange.insecurity("breasts_small", Math.clamp(reducedBreastsize - 3, -Infinity, -1));
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 6, -Infinity, -1));
+	} else {
+		statChange.insecurity("breasts_small", -Math.clamp(reducedBreastsize, 1, Infinity));
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 6, -Infinity, -1));
+	}
 
 	for (const bodypart of setup.bodyparts) {
 		if (V.skin[bodypart].pen === "marker" && random(0, 1)) fragment.append(wikifier("bodywriting_clear", bodypart));
diff --git a/game/04-Variables/variables-static.twee b/game/04-Variables/variables-static.twee
index 927316e786..f177050a5d 100644
--- a/game/04-Variables/variables-static.twee
+++ b/game/04-Variables/variables-static.twee
@@ -591,6 +591,7 @@
 	}>>
 
 	<<set setup.breastsizes to ["", "budding", "tiny", "small", "pert", "modest", "full", "large", "ample", "massive", "huge", "gigantic", "enormous"]>>
+	<<set setup.penisSizes to ["micro", "mini", "tiny", "small", "normal", "large", "enormous"]>>
 
 	<<set setup.NPCVirginityTypes to {"anal": false, "oral": false, "penile": false, "vaginal": false, "handholding": false, "temple": false, "kiss": false}>>
 	<<set setup.NPCVirginityTypesVirgin to {"anal": true, "oral": true, "penile": true, "vaginal": true, "handholding": true, "temple": false, "kiss": true}>>
diff --git a/game/04-Variables/variables-versionUpdate.twee b/game/04-Variables/variables-versionUpdate.twee
index da3ba3eee3..babd99c853 100644
--- a/game/04-Variables/variables-versionUpdate.twee
+++ b/game/04-Variables/variables-versionUpdate.twee
@@ -5484,4 +5484,17 @@
 	<<if $options?.tanImgEnabled isnot true>>
 		<<set $options.tanImgEnabled to true>>
 	<</if>>
+
+	<!-- Insecurity Rework -->
+	<<if $insecurity_breasts_tiny isnot undefined or $insecurity_penis_tiny isnot undefined>>
+		<<set $insecurity_breasts_small to Math.max($insecurity_breasts_small, $insecurity_breasts_tiny)>>
+		<<set $acceptance_breasts_small to Math.max($acceptance_breasts_small, $acceptance_breasts_tiny)>>
+		<<set $insecurity_penis_small to Math.max($insecurity_penis_small, $insecurity_penis_tiny)>>
+		<<set $acceptance_penis_small to Math.max($acceptance_penis_small, $acceptance_penis_tiny)>>
+
+		<<unset $insecurity_breasts_tiny>>
+		<<unset $acceptance_breasts_tiny>>
+		<<unset $insecurity_penis_tiny>>
+		<<unset $acceptance_penis_tiny>>
+	<</if>>
 <</widget>>
diff --git a/game/base-combat/audience.twee b/game/base-combat/audience.twee
index 1c19187e1d..183255c2d9 100644
--- a/game/base-combat/audience.twee
+++ b/game/base-combat/audience.twee
@@ -727,16 +727,16 @@
 				<<if $worn.upper.exposed gte 2>>
 					<<if $rng gte 67>>
 						"Your flat chest looks delicious."
-						<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 33>>
 						"<<pHer>> chest is so flat <<pshe>> could pass as a boy."
-						<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">>
 						"<<pHer>> boy nipples are so hard! This flat <<bitch>> loves two hard cocks up the ass!"
-						<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 20 and $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">>
 						"<<pHer>> nipples are so hard! This flat <<bitch>> loves a double pussy pounding!"
-						<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<else>>
 						"It's important I take pictures of her cute chest. I'll need them later."
 					<</if>>
@@ -745,10 +745,10 @@
 						"I can't wait to see under her top."
 					<<elseif $rng gte 33>>
 						"Do other girls tease you for your flat chest?"
-						<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<else>>
 						"Don't worry, you're cute even without boobs."
-						<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<</if>>
 				<</if>>
 			<</if>>
@@ -1227,85 +1227,192 @@
 					<</if>>
 				<</if>>
 			<<else>>
-				<<if playerChastity() and $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>>
-					<<if $rng gte 90 and ($anusstate is "penetrated" or $anusstate is "doublepenetrated") and playerChastity("hidden")>>
+				<<if playerChastity("hidden") and $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>>
+					<<if $rng gte 90 and ($anusstate is "penetrated" or $anusstate is "doublepenetrated")>>
 						"Should have gotten yourself an anal shield, going to cum in you regardless"
-					<<elseif $rng gte 67>>
+					<<elseif $rng gte 75>>
 						"As if that will help you stay pure."
-					<<elseif $rng gte 33>>
+					<<elseif $rng gte 50>>
 						"Someone unlock or break that chastity device, someone could be having a good time"
+					<<elseif $rng gte 25>>
+						"Shame I can't see what's under that device."
 					<<else>>
-						<<if playerChastity("hidden")>>
-							"Shame I can't see what's under that device."
-						<<else>>
-							"Such a shame, I was looking forward to playing with it."
-						<</if>>
+						"Such a shame, I was looking forward to playing with it."
 					<</if>>
-				<<elseif $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>>
-					<<if $player.penisExist>>
-						<<if $penisuse is "cover">>
-							<<if $rng gte 67>>
-								"Move your hand, I want to see your penis."
-							<<elseif $rng gte 33>>
-								"Aww, <<pshes>> shy."
-							<<else>>
-								"Someone move <<pher>> hand out the way, I want a shot of <<pher>> penis."
-							<</if>>
+				<<elseif playerChastity("cage") and $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>>
+					<<if $penisuse is "cover">>
+						<<if $rng gte 67>>
+							"Move your hand, I want to see your penis."
+						<<elseif $rng gte 33>>
+							"Aww, <<pshes>> shy."
 						<<else>>
-							/*ToDo: Strapon - check if these display during combat with a strap on*/
-							<<if $player.penissize gte 4>>
+							"Someone move <<pher>> hand out the way, I want a shot of <<pher>> penis."
+						<</if>>
+					<<else>>
+						<<switch $player.penissize>>
+							<<case 4>>
 								<<if $rng gte 67>>
-									"<<pShes>> huge!"
+									"<<pShes>> huge! <<if playerHasStrapon()>>Bet you wish you had the key rather than the strapon<<else>>How could it be locked up<</if>>!"
 									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<elseif $rng gte 33>>
-									"<<pHer>> penis is freakishly big."
+									"Is your freakishly big cock locked up because you hurt someone with it?"
 									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<else>>
-									"I've never seen such a huge cock."
+									"I've never seen such a huge cock. Real shame it can't be played with."
 									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<</if>>
-							<<elseif $player.penissize is 3>>
+							<<case 3>>
 								<<if $rng gte 67>>
-									"<<pShes>> bigger than I expected."
-									<<if $player.penisExist and $player.vaginaExist>><<insecurity "penis_big" 1>><<ginsecurity "penis_big">><</if>>
+									"<<pShes>> bigger than I expected.<<if playerHasStrapon()>> At least <<pshe>> has a strapon.<</if>>"
+									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<elseif $rng gte 33>>
-									"Don't be shy, you should be proud of your penis."
-									<<if $player.penisExist and $player.vaginaExist>><<insecurity "penis_big" 1>><<ginsecurity "penis_big">><</if>>
+									"Don't be shy, you should be proud of your penis, even if it's locked up tight."
+									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<else>>
-									"<<pHer>> penis is the perfect size."
-									<<if $player.penisExist and $player.vaginaExist>><<insecurity "penis_big" 1>><<ginsecurity "penis_big">><</if>>
+									"<<pHer>> penis is the perfect size. Real shame it can't be played with."
+									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<</if>>
-							<<elseif $player.penissize is 2>>
+							<<case 2>>
 								<<if $rng gte 67>>
-									"I got a great picture of <<pher>> cute penis."
+									"I got a great picture of <<pher>> cute and locked up penis<<if playerHasStrapon()>> hidden behind <<pher>> strapon<</if>>."
 								<<elseif $rng gte 33>>
-									"Don't be shy, everyone should know how beautiful your penis is."
+									"Don't be shy, everyone should know how beautiful your locked up penis is."
 								<<else>>
-									"If you don't want your penis photographed, you shouldn't act like a slut."
+									"If you don't want your caged penis photographed, you shouldn't act like a slut."
 								<</if>>
-							<<elseif $player.penissize is 1>>
+							<<case 1 2>>
 								<<if $rng gte 67>>
 									"<<pShes>> so small!"
 									<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 								<<elseif $rng gte 33>>
-									"Such a small and cute penis."
+									"Such a small and cute penis. Almost a shame it's locked up."
 									<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 								<<else>>
-									"I thought <<pher>> penis would be bigger."
+									"I thought <<pher>> penis would be bigger even when locked up."
 									<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
-								<</if>>
-							<<else>>
+									<</if>>
+							<<case 0>>
 								<<if $rng gte 67>>
-									"<<pShes>> so tiny!"
-									<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+									"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<<elseif $rng gte 33>>
-									"I can't believe it's so tiny!"
-									<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+									"I can't believe it's so tiny! Almost a shame it's locked up."
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<<else>>
 									"I've never seen such a pathetic penis."
-									<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
+								<</if>>
+							<<case -1>>
+								<<if $rng gte 67>>
+									"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
+									<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+								<<elseif $rng gte 33>>
+									"Did it get locked up because of how small it is?"
+									<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+								<<else>>
+									"Such a shame the pathetic penis is all locked up.<<if playerHasStrapon()>> Bet you love using your strapon.<</if>>"
+									<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 								<</if>>
+							<<case -2>>
+								<<if $rng gte 67>>
+									"I thought that was a locked up clit!<<if playerHasStrapon()>> No wonder your wearing a strapon.<</if>>"
+									<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+								<<elseif $rng gte 33>>
+									"Clearly deserved to be locked up for being so useless!<<if playerHasStrapon()>> Bet you love using your strapon.<</if>>"
+									<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+								<<else>>
+									"Is there even anything locked up in there?<<if playerHasStrapon()>> Almost missed it due to your strapon.<</if>>"
+									<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+								<</if>>
+						<</switch>>
+					<</if>>
+				<<elseif $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>>
+					<<if $player.penisExist>>
+						<<if $penisuse is "cover">>
+							<<if $rng gte 67>>
+								"Move your hand, I want to see your penis."
+							<<elseif $rng gte 33>>
+								"Aww, <<pshes>> shy."
+							<<else>>
+								"Someone move <<pher>> hand out the way, I want a shot of <<pher>> penis."
 							<</if>>
+						<<else>>
+							<<switch $player.penissize>>
+								<<case 4>>
+									<<if $rng gte 67>>
+										"<<pShes>> huge<<if playerHasStrapon()>>, why would you even wear a strapon<</if>>!"
+										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+									<<elseif $rng gte 33>>
+										"<<pHer>> penis is freakishly big."
+										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+									<<else>>
+										"I've never seen such a huge cock."
+										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+									<</if>>
+								<<case 3>>
+									<<if $rng gte 67>>
+										"<<pShes>> bigger than I expected.<<if playerHasStrapon()>> <<pShe>> should get rid of <<pher>> strapon.<</if>>"
+										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+									<<elseif $rng gte 33>>
+										"Don't be shy, you should be proud of your penis."
+										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+									<<else>>
+										"<<pHer>> penis is the perfect size.<<if playerHasStrapon()>> You should get rid of your strapon<</if>>"
+										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+									<</if>>
+								<<case 2>>
+									<<if $rng gte 67>>
+										"I got a great picture of <<pher>> cute penis<<if playerHasStrapon()>> hidden behind <<pher>> strapon<</if>>."
+									<<elseif $rng gte 33>>
+										"Don't be shy, everyone should know how beautiful your penis is."
+									<<else>>
+										"If you don't want your penis photographed, you shouldn't act like a slut."
+									<</if>>
+								<<case 1>>
+									<<if $rng gte 67>>
+										"<<pShes>> so small!"
+										<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+									<<elseif $rng gte 33>>
+										"Such a small and cute penis."
+										<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+									<<else>>
+										"I thought <<pher>> penis would be bigger."
+										<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+									<</if>>
+								<<case 0>>
+									<<if $rng gte 67>>
+										"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
+										<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
+									<<elseif $rng gte 33>>
+										"I can't believe it's so tiny!"
+										<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
+									<<else>>
+										"I've never seen such a pathetic penis."
+										<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
+									<</if>>
+								<<case -1>>
+									<<if $rng gte 67>>
+										"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
+										<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+									<<elseif $rng gte 33>>
+										"I can't believe it's almost like a large clit, have you considered getting it locked in a cage?"
+										<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+									<<else>>
+										"I've never seen such a useless penis<<if playerHasStrapon()>>, bet you love using your strapon<</if>>."
+										<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+									<</if>>
+								<<case -2>>
+									<<if $rng gte 67>>
+										"I thought that was a clit<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
+										<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+									<<elseif $rng gte 33>>
+										"Could anyone even feel anything if you fucked them with it!"
+										<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+									<<else>>
+										"I've never seen such a useless penis. Why isn't it in a cage."
+										<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+									<</if>>
+							<</switch>>
 						<</if>>
 					<<else>>
 						<<if $vaginause is "cover">>
diff --git a/game/base-combat/speech.twee b/game/base-combat/speech.twee
index 4aa7ca7cf4..2108e20733 100644
--- a/game/base-combat/speech.twee
+++ b/game/base-combat/speech.twee
@@ -301,7 +301,7 @@
 						<<if $player.penissize is 1>>
 							<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 						<<elseif $player.penissize lt 1>>
-							<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+							<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 						<</if>>
 					<</if>>
 				<<elseif $enemyanger lte 100>>
@@ -329,7 +329,7 @@
 						<<else>>
 							<<He>> ?admires your newly-exposed <<genitals>>. "There. Exposed like the slut you are."
 						<</if>>
-						<<if $player.penisExist and $player.vaginaExist>><<insecurity "penis_big" 1>><<ginsecurity "penis_big">><</if>>
+						<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 
 					<<case 2>>
 						<<if $enemyanger lte 20>>
@@ -358,7 +358,7 @@
 						<<else>>
 							<<He>> <<laughs>> at your newly-exposed <<genitals>>. "This is just pathetic."
 						<</if>>
-						<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+						<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 
 					<<case -2>>
 						<<if $enemyanger lte 20>>
@@ -368,7 +368,7 @@
 						<<else>>
 							<<He>> <<laughs>> at your newly-exposed <<genitals>>. "Ugly clit you have there."
 						<</if>>
-						<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+						<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 
 				<</switch>>
 			<<else>>
@@ -594,9 +594,7 @@
 				<<default>>"I-I can take it. I just need time."
 			<</switch>>
 		<</if>>
-		<<if $player.penissize gte 4>>
-			<<ginsecurity "penis_big">><<insecurity "penis_big" 1>>
-		<</if>>
+		<<ginsecurity "penis_big">><<insecurity "penis_big" 1>>
 
 	<<elseif $speechnamedrop is 1>>
 		<<set $speechnamedrop to 0>>
@@ -5153,7 +5151,7 @@
 					<<set $_text_output to [`<<He>> laughs. "You always get a slutty look on your face when I squeeze this."`, `<<He>> raises an eyebrow. "That good?"`, `<<He>> raises an eyebrow. "Horny slut."`][random(0, 2)]>>
 				<<elseif $worn.genitals.origin is "Whitney">>
 					<<if $rng gte 85 and $player.gender_appearance is "f" and $player.penissize lt 0>>
-						<<set $_text_output to `<<He>> smirks. "You look so cute with your tiny${$player.virginity.penile is true ? " virgin" : " useless"} penis all locked up." <<insecurity "penis_tiny" 2>><<ginsecurity "penis_tiny">>`>>
+						<<set $_text_output to `<<He>> smirks. "You look so cute with your tiny${$player.virginity.penile is true ? " virgin" : " useless"} penis all locked up." <<insecurity "penis_small" 4>><<ginsecurity "penis_small">>`>>
 					<<elseif $rng gte 60>>
 						<<if playerBellyVisible() and random(0, 100) gte 50>>
 							<<set $_text_output to `"Good slut." <<He>> smirks. "You clearly don't need to be unlocked when you've obviously been having a lot of fun without it."`>>
diff --git a/game/base-system/bodywriting.twee b/game/base-system/bodywriting.twee
index 39637cb3e0..3a387ba421 100755
--- a/game/base-system/bodywriting.twee
+++ b/game/base-system/bodywriting.twee
@@ -1445,7 +1445,7 @@
 				<<if $player.penissize is 1>>
 					<<insecurity "penis_small" 1>>
 				<<else>>
-					<<insecurity "penis_tiny" 1>>
+					<<insecurity "penis_small" 2>>
 				<</if>>
 			<<else>>
 				<<switch random(1, 11)>>
@@ -1518,7 +1518,7 @@
 					<<if $player.penissize is 1>>
 						<<insecurity "penis_small" 1>>
 					<<else>>
-						<<insecurity "penis_tiny" 1>>
+						<<insecurity "penis_small" 2>>
 					<</if>>
 				<<else>>
 					<<switch random(1, 10)>>
diff --git a/game/base-system/overlays/characteristics.twee b/game/base-system/overlays/characteristics.twee
index 39cf80cafb..0d386493bd 100644
--- a/game/base-system/overlays/characteristics.twee
+++ b/game/base-system/overlays/characteristics.twee
@@ -914,122 +914,66 @@
 	<span class="gold">Insecurities</span>
 	<div class="description">Scrutiny becomes harder to take as insecurity increases, inflicting more stress and damaging control. Acceptance renders you immune to the effect.</div>
 	<br><br>
-	<<if $insecurity_penis_tiny gte 1 and $player.penissize lte 0 and $acceptance_penis_tiny lte 999>>
-		<span class="red">Insecurity: Tiny Penis</span>
-		<div class="meter">
-			<<set _percent=Math.floor(($insecurity_penis_tiny/1000)*100)>>
-			<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
-		</div>
-		<<if $acceptance_penis_tiny gte 1 and $acceptance_penis_tiny lte 999 and $player.penissize lte 0>>
-			<span class="green">Acceptance: Tiny Penis</span>
-			<div class="meter">
-				<<set _percent=Math.floor(($acceptance_penis_tiny/1000)*100)>>
-				<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
-			</div>
-		<</if>>
-	<</if>>
-	<<if $insecurity_penis_small gte 1 and $player.penissize is 1 and $acceptance_penis_small lte 999>>
-		<span class="red">Insecurity: Small Penis</span>
+	<<set $_penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
+	<<if $player.penisExist and $insecurity_penis_small gte 1 and $player.penissize lte 1 and $acceptance_penis_small lte 999>>
+		<span class="red">Insecurity: <<print $_penisSize>> Penis</span>
 		<div class="meter">
 			<<set _percent=Math.floor(($insecurity_penis_small/1000)*100)>>
 			<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
 		</div>
-		<<if $acceptance_penis_small gte 1 and $acceptance_penis_small lte 999 and $player.penissize is 1>>
-			<span class="green">Acceptance: Small Penis</span>
+		<<if $acceptance_penis_small gte 1 and $acceptance_penis_small lte 999 and $player.penissize lte 1>>
+			<span class="green">Acceptance: <<print $_penisSize>> Penis</span>
 			<div class="meter">
 				<<set _percent=Math.floor(($acceptance_penis_small/1000)*100)>>
 				<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
 			</div>
 		<</if>>
 	<</if>>
-	<<if $player.gender is "m">>
-		<<if $insecurity_penis_big gte 1 and $player.penissize gte 4 and $acceptance_penis_big lte 999>>
-			<span class="red">Insecurity: Enormous Penis</span>
-			<div class="meter">
-				<<set _percent=Math.floor(($insecurity_penis_big/1000)*100)>>
-				<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
-			</div>
-			<<if $acceptance_penis_big gte 1 and $acceptance_penis_big lte 999 and $player.penissize gte 4>>
-				<span class="green">Acceptance: Big Penis</span>
-				<div class="meter">
-					<<set _percent=Math.floor(($acceptance_penis_big/1000)*100)>>
-					<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
-				</div>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if $insecurity_penis_big gte 1 and $player.penissize gte 2 and $acceptance_penis_big lte 999>>
-			<span class="red">Insecurity: Enormous Penis</span>
-			<div class="meter">
-				<<set _percent=Math.floor(($insecurity_penis_big/1000)*100)>>
-				<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
-			</div>
-			<<if $acceptance_penis_big gte 1 and $acceptance_penis_big lte 999 and $player.penissize gte 2>>
-				<span class="green">Acceptance: Big Penis</span>
-				<div class="meter">
-					<<set _percent=Math.floor(($acceptance_penis_big/1000)*100)>>
-					<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
-				</div>
-			<</if>>
-		<</if>>
-	<</if>>
-	<<if $insecurity_breasts_tiny gte 1 and $player.breastsize lte 0 and $player.gender is "f" and $acceptance_breasts_tiny lte 999>>
-		<span class="red">Insecurity: Flat Chest</span>
+	<<set $_penisSizeMin to $player.gender is "m" ? 4 : 2>>
+	<<if $player.penisExist and $insecurity_penis_big gte 1 and $player.penissize gte $_penisSizeMin and $acceptance_penis_big lte 999>>
+		<span class="red">Insecurity: <<print $_penisSize>> Penis</span>
 		<div class="meter">
-			<<set _percent=Math.floor(($insecurity_breasts_tiny/1000)*100)>>
+			<<set _percent=Math.floor(($insecurity_penis_big/1000)*100)>>
 			<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
 		</div>
-		<<if $acceptance_breasts_tiny gte 1 and $acceptance_breasts_tiny lte 999 and $player.breastsize lte 0 and $player.gender is "f">>
-			<span class="green">Acceptance: Tiny Breasts</span>
+		<<if $acceptance_penis_big gte 1 and $acceptance_penis_big lte 999 and $player.penissize gte $_penisSizeMin>>
+			<span class="green">Acceptance: <<print $_penisSize>> Penis</span>
 			<div class="meter">
-				<<set _percent=Math.floor(($acceptance_breasts_tiny/1000)*100)>>
+				<<set _percent=Math.floor(($acceptance_penis_big/1000)*100)>>
 				<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
 			</div>
 		<</if>>
 	<</if>>
-	<<if $insecurity_breasts_small gte 1 and $player.breastsize gte 1 and $player.breastsize lte 5 and $acceptance_breasts_small lte 999>>
-		<span class="red">Insecurity: Small Breasts</span>
+	<<set $_breastSize to setup.breastsizes[$player.breastsize].toUpperFirst()>>
+	<<set $_breastSizeMin to $player.gender is "f" ? 0 : 1>>
+	<<set $_breastSizeMax to $player.gender is "f" ? 4 : 5>>
+	<<if $insecurity_breasts_small gte 1 and between($player.breastsize, $_breastSizeMin, $_breastSizeMax) and $acceptance_breasts_small lte 999>>
+		<span class="red">Insecurity: <<print $player.breastsize ? "$_breastSize Breasts" : "Flat Chest">></span>
 		<div class="meter">
 			<<set _percent=Math.floor(($insecurity_breasts_small/1000)*100)>>
 			<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
 		</div>
-		<<if $acceptance_breasts_small gte 1 and $acceptance_breasts_small lte 999 and $player.breastsize gte 1 and $player.breastsize lte 5>>
-			<span class="green">Acceptance: Small Breasts</span>
+		<<if $acceptance_breasts_small gte 1 and $acceptance_breasts_small lte 999 and between($player.breastsize, $_breastSizeMin, $_breastSizeMax)>>
+			<span class="green">Acceptance: <<print $player.breastsize ? "$_breastSize Breasts" : "Flat Chest">></span>
 			<div class="meter">
 				<<set _percent=Math.floor(($acceptance_breasts_small/1000)*100)>>
 				<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
 			</div>
 		<</if>>
 	<</if>>
-	<<if $player.gender is "f">>
-		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte 8 and $acceptance_breasts_big lte 999>>
-		<span class="red">Insecurity: Huge Breasts</span>
-			<div class="meter">
-				<<set _percent=Math.floor(($insecurity_breasts_big/1000)*100)>>
-				<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
-			</div>
-			<<if $acceptance_breasts_big gte 1 and $acceptance_breasts_big lte 999 and $player.breastsize gte 8>>
-				<span class="green">Acceptance: Big Breasts</span>
-				<div class="meter">
-					<<set _percent=Math.floor(($acceptance_breasts_big/1000)*100)>>
-					<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
-				</div>
-			<</if>>
-		<</if>>
-	<<else>>
-		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte 6 and $acceptance_breasts_big lte 999>>
-			<span class="red">Insecurity: Huge Breasts</span>
+	<<set $_breastSizeMin2 to $player.gender is "f" ? 8 : 6>>
+	<<if $insecurity_breasts_big gte 1 and $player.breastsize gte $_breastSizeMin2 and $acceptance_breasts_big lte 999>>
+	<span class="red">Insecurity: <<print $_breastSize>> Breasts</span>
+		<div class="meter">
+			<<set _percent=Math.floor(($insecurity_breasts_big/1000)*100)>>
+			<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
+		</div>
+		<<if $acceptance_breasts_big gte 1 and $acceptance_breasts_big lte 999 and $player.breastsize gte $_breastSizeMin2>>
+			<span class="green">Acceptance: <<print $_breastSize>> Breasts</span>
 			<div class="meter">
-				<<set _percent=Math.floor(($insecurity_breasts_big/1000)*100)>>
-				<<print '<div class="redbar" style="width:' + _percent + '%"></div>'>>
+				<<set _percent=Math.floor(($acceptance_breasts_big/1000)*100)>>
+				<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
 			</div>
-			<<if $acceptance_breasts_big gte 1 and $acceptance_breasts_big lte 999 and $player.breastsize gte 6>>
-				<span class="green">Acceptance: Big Breasts</span>
-				<div class="meter">
-					<<set _percent=Math.floor(($acceptance_breasts_big/1000)*100)>>
-					<<print '<div class="greenbar" style="width:' + _percent + '%"></div>'>>
-				</div>
-			<</if>>
 		<</if>>
 	<</if>>
 	<<if $insecurity_pregnancy gte 1 and $acceptance_pregnancy lte 999 and playerBellySize() gte 8>>
diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 694f36b979..ac8a239730 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -656,10 +656,14 @@ const statChange = (() => {
 					insecurity("penis_small", amount);
 					return statDisplay.ginsecurity("penis_small");
 				case 0:
+					insecurity("penis_small", Math.floor(amount * 1.5));
+					return statDisplay.ginsecurity("penis_small");
 				case -1:
+					insecurity("penis_small", Math.floor(amount * 2));
+					return statDisplay.ginsecurity("penis_small");
 				case -2:
-					insecurity("penis_tiny", amount);
-					return statDisplay.ginsecurity("penis_tiny");
+					insecurity("penis_small", Math.floor(amount * 2.5));
+					return statDisplay.ginsecurity("penis_small");
 			}
 		}
 		return "";
@@ -668,57 +672,51 @@ const statChange = (() => {
 	function insecurity(type, amount) {
 		if (V.statFreeze) return;
 		if (isNaN(amount)) paramError("insecurity", "amount", amount, "Expected a number.");
-		if (!["penis_tiny", "penis_small", "penis_big", "breasts_tiny", "breasts_small", "breasts_big", "pregnancy"].includes(type)) {
-			paramError(
-				"insecurity",
-				"type",
-				type,
-				'Expected values include "penis_tiny", "penis_small", "penis_big", "breasts_tiny", "breasts_small", "breasts_big", "pregnancy"'
-			);
+		if (!["penis_small", "penis_big", "breasts_small", "breasts_big", "pregnancy"].includes(type)) {
+			paramError("insecurity", "type", type, 'Expected values include "penis_small", "penis_big", "breasts_small", "breasts_big", "pregnancy"');
 			return;
 		}
 		amount = Number(amount);
 		if (amount) {
 			const insecurityPossible = {
-				penis_tiny: V.player.penisExist && V.player.penissize <= 0,
-				penis_small: V.player.penisExist && V.player.penissize === 1,
-				penis_big: V.player.penisExist && V.player.penissize >= 4,
-				breasts_tiny: V.player.gender !== "m",
-				breasts_small: true,
-				breasts_big: true,
+				penis_small: V.player.penisExist && V.player.penissize <= 1,
+				penis_big: V.player.penisExist && V.player.penissize >= V.player.gender === "m" ? 4 : 3,
+				breasts_small: between(V.player.breastsize, V.player.gender === "f" ? 0 : 1, V.player.gender === "f" ? 4 : 5),
+				breasts_big: V.player.breastsize >= V.player.gender === "f" ? 8 : 6,
 				pregnancy: playerBellySize() >= 8,
 			}[type];
 			const acceptance = V["acceptance_" + type];
 			let insecurity = V["insecurity_" + type];
 			if (acceptance < 1000 && insecurityPossible) {
 				insecurity = Math.clamp(insecurity + amount, 0, 1000);
-				switch (Math.floor(insecurity / 200)) {
-					case 5:
-						stress(3);
-						control(-3);
-						break;
-					case 4:
-						stress(3);
-						control(-2);
-						break;
-					case 3:
-						stress(2);
-						control(-2);
-						break;
-					case 2:
-						stress(2);
-						control(-1);
-						break;
-					case 1:
-						stress(1);
-						control(-1);
-						break;
-					case 0:
-						stress(1);
-						break;
-				}
 				V["insecurity_" + type] = insecurity;
+
 				if (amount > 0) {
+					switch (Math.floor(insecurity / 200)) {
+						case 5:
+							stress(3);
+							control(-3);
+							break;
+						case 4:
+							stress(3);
+							control(-2);
+							break;
+						case 3:
+							stress(2);
+							control(-2);
+							break;
+						case 2:
+							stress(2);
+							control(-1);
+							break;
+						case 1:
+							stress(1);
+							control(-1);
+							break;
+						case 0:
+							stress(1);
+							break;
+					}
 					// reduce acceptance by matching amount
 					V["acceptance_" + type] = Math.clamp(acceptance - amount, 0, 1000);
 				}
@@ -730,13 +728,8 @@ const statChange = (() => {
 	function acceptance(type, amount) {
 		if (V.statFreeze) return;
 		if (isNaN(amount)) paramError("acceptance", "amount", amount, "Expected a number.");
-		if (!["penis_tiny", "penis_small", "penis_big", "breasts_tiny", "breasts_small", "breasts_big", "pregnancy"].includes(type)) {
-			paramError(
-				"acceptance",
-				"type",
-				type,
-				'Expected values include "penis_tiny", "penis_small", "penis_big", "breasts_tiny", "breasts_small", "breasts_big", "pregnancy"'
-			);
+		if (!["penis_small", "penis_big", "breasts_small", "breasts_big", "pregnancy"].includes(type)) {
+			paramError("acceptance", "type", type, 'Expected values include "penis_small", "penis_big", "breasts_small", "breasts_big", "pregnancy"');
 			return;
 		}
 		amount = Number(amount);
@@ -757,12 +750,10 @@ const statChange = (() => {
 					type = "penis_big";
 					break;
 				case 1:
-					type = "penis_small";
-					break;
 				case 0:
 				case -1:
 				case -2:
-					type = "penis_tiny";
+					type = "penis_small";
 					break;
 			}
 			if (type && V["insecurity_" + type] > 0 && V["acceptance_" + type] < 1000) {
diff --git a/game/base-system/text.js b/game/base-system/text.js
index 0221869a51..f488501379 100644
--- a/game/base-system/text.js
+++ b/game/base-system/text.js
@@ -353,7 +353,14 @@ statDisplay.create("ggghunger", () => statDisplay.statChange("Hunger", 3, "red")
 
 statDisplay.create("gacceptance", () => statDisplay.statChange("Acceptance", 1, "green"));
 statDisplay.create("ginsecurity", type => {
-	if (type === "breasts_tiny" && V.player.gender === "m") return "";
+	const insecurityPossible = {
+		penis_small: V.player.penisExist && V.player.penissize <= 1,
+		penis_big: V.player.penisExist && V.player.penissize >= V.player.gender === "m" ? 4 : 3,
+		breasts_small: between(V.player.breastsize, V.player.gender === "f" ? 0 : 1, V.player.gender === "f" ? 4 : 5),
+		breasts_big: V.player.breastsize >= V.player.gender === "f" ? 8 : 6,
+		pregnancy: playerBellySize() >= 8,
+	}[type];
+	if (!insecurityPossible) return "";
 	if (V["acceptance_" + type] <= 999) return statDisplay.statChange("Insecurity", 1, "red");
 	return "";
 });
diff --git a/game/overworld-forest/loc-lake/main.twee b/game/overworld-forest/loc-lake/main.twee
index 4834f8ebf2..7ad4bfc59c 100644
--- a/game/overworld-forest/loc-lake/main.twee
+++ b/game/overworld-forest/loc-lake/main.twee
@@ -1312,25 +1312,16 @@ You lift the shovel, and thrust it into the ice. It's hard work, but you manage
 		The <<if Weather.isFrozen("lake")>>ice<<else>>water<</if>> parts, revealing a gaping abyss. Terror shivers up your spine, and breaks your concentration.
 		<<gtrauma>><<gstress>><<trauma 6>><<stress 6>>
 	<</if>>
-<<elseif $phase is 4>>
-	<<set $phase to 0>>
-	Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You try to remain detached.
-	<br><br>
-
-	An hour passes, and for a few moments the weight of scrutiny lifts.
-	<<if $acceptance_penis_tiny gte 1000>>
-		<br><br>
-		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Penis</span> trait.
-	<</if>>
-<<elseif $phase is 5>>
+<<elseif $phase is 4 or $phase is 5>>
 	<<set $phase to 0>>
 	Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You try to remain detached.
 	<br><br>
 
 	An hour passes, and for a few moments the weight of scrutiny lifts.
 	<<if $acceptance_penis_small gte 1000>>
+		<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
 		<br><br>
-		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Small Penis</span> trait.
+		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 	<</if>>
 <<elseif $phase is 6>>
 	<<set $phase to 0>>
@@ -1339,28 +1330,25 @@ You lift the shovel, and thrust it into the ice. It's hard work, but you manage
 
 	An hour passes, and for a few moments the weight of scrutiny lifts.
 	<<if $acceptance_penis_big gte 1000>>
+		<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
 		<br><br>
-		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Big Penis</span> trait.
+		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 	<</if>>
-<<elseif $phase is 7>>
+<<elseif $phase is 7 or $phase is 8>>
 	<<set $phase to 0>>
-	Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You try to remain detached.
-	<br><br>
-
-	An hour passes, and for a few moments the weight of scrutiny lifts.
-	<<if $acceptance_breasts_tiny gte 1000>>
-		<br><br>
-		Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Breasts</span> trait.
+	<<if $player.breastsize>>
+		Your thoughts turn to your <<breasts>>, and the mocking way people regard them.
+	<<else>>
+		Your thoughts turn to your flat chest, and the mocking way people regard it.
 	<</if>>
-<<elseif $phase is 8>>
-	<<set $phase to 0>>
-	Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
+	The torment returns. You try to remain detached.
 	<br><br>
 
 	An hour passes, and for a few moments the weight of scrutiny lifts.
 	<<if $acceptance_breasts_small gte 1000>>
 		<br><br>
-		Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Small Breasts</span> trait.
+		<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
+		Realisation dawns as you lean back. Your <<print $player.breastsize ? "<<breasts>> are" : "chest is">> beautiful. Why should you care what other people say about <<print $player.breastsize ? "them" : "it">>? You've gained the <span class="green">Acceptance: <<print $player.breastsize ? "_breastSizeName Breasts" : "Flat Chest">></span> trait.
 	<</if>>
 <<elseif $phase is 9>>
 	<<set $phase to 0>>
@@ -1369,8 +1357,9 @@ You lift the shovel, and thrust it into the ice. It's hard work, but you manage
 
 	An hour passes, and for a few moments the weight of scrutiny lifts.
 	<<if $acceptance_breasts_big gte 1000>>
+		<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
 		<br><br>
-		Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Big Breasts</span> trait.
+		Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 	<</if>>
 <<elseif $phase is 10>>
 	<<set $phase to 0>>
diff --git a/game/overworld-forest/loc-lake/widgets.twee b/game/overworld-forest/loc-lake/widgets.twee
index 3c222d7d76..394705190c 100644
--- a/game/overworld-forest/loc-lake/widgets.twee
+++ b/game/overworld-forest/loc-lake/widgets.twee
@@ -334,27 +334,7 @@
 	<</link>><<lawareness>><<gwillpower>><<lstress>><<larousal>>
 	<br>
 
-	<<if $insecurity_penis_tiny gte 1 and $player.penissize lte 0 and $acceptance_penis_tiny lte 999 and $daily.lakeMeditate isnot 1>>
-		<<link [[Meditate on your small penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 4>><<willpower 1>><<set $daily.lakeMeditate to 1>>
-			<<if $willpower gte (($willpowermax / 7) * 6)>>
-				<<stress 5>><<acceptance "penis_tiny" 20>>
-			<<elseif $willpower gte (($willpowermax / 7) * 5)>>
-				<<stress 5>><<acceptance "penis_tiny" 18>>
-			<<elseif $willpower gte (($willpowermax / 7) * 4)>>
-				<<stress 6>><<acceptance "penis_tiny" 16>>
-			<<elseif $willpower gte (($willpowermax / 7) * 3)>>
-				<<stress 7>><<acceptance "penis_tiny" 14>>
-			<<elseif $willpower gte (($willpowermax / 7) * 2)>>
-				<<stress 8>><<acceptance "penis_tiny" 12>>
-			<<elseif $willpower gte (($willpowermax / 7) * 1)>>
-				<<stress 10>><<acceptance "penis_tiny" 10>>
-			<<else>>
-				<<stress 12>><<acceptance "penis_tiny" 8>>
-			<</if>>
-		<</link>><<gstress>><<gwillpower>><<gacceptance>>
-		<br>
-	<</if>>
-	<<if $insecurity_penis_small gte 1 and $player.penissize is 1 and $acceptance_penis_small lte 999 and $daily.lakeMeditate isnot 1>>
+	<<if $player.penisExist and $insecurity_penis_small gte 1 and $player.penissize lte 1 and $acceptance_penis_small lte 999 and $daily.lakeMeditate isnot 1>>
 		<<link [[Meditate on your small penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 5>><<willpower 1>><<set $daily.lakeMeditate to 1>>
 			<<if $willpower gte (($willpowermax / 7) * 6)>>
 				<<stress 5>><<acceptance "penis_small" 20>>
@@ -374,70 +354,30 @@
 		<</link>><<gstress>><<gwillpower>><<gacceptance>>
 		<br>
 	<</if>>
-	<<if $player.gender is "m">>
-		<<if $insecurity_penis_big gte 1 and $player.penissize gte 4 and $acceptance_penis_big lte 999 and $daily.lakeMeditate isnot 1>>
-			<<link [[Meditate on your big penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 6>><<willpower 1>><<set $daily.lakeMeditate to 1>>
-				<<if $willpower gte (($willpowermax / 7) * 6)>>
-					<<stress 5>><<acceptance "penis_big" 20>>
-				<<elseif $willpower gte (($willpowermax / 7) * 5)>>
-					<<stress 5>><<acceptance "penis_big" 18>>
-				<<elseif $willpower gte (($willpowermax / 7) * 4)>>
-					<<stress 6>><<acceptance "penis_big" 16>>
-				<<elseif $willpower gte (($willpowermax / 7) * 3)>>
-					<<stress 7>><<acceptance "penis_big" 14>>
-				<<elseif $willpower gte (($willpowermax / 7) * 2)>>
-					<<stress 8>><<acceptance "penis_big" 12>>
-				<<elseif $willpower gte (($willpowermax / 7) * 1)>>
-					<<stress 10>><<acceptance "penis_big" 10>>
-				<<else>>
-					<<stress 12>><<acceptance "penis_big" 8>>
-				<</if>>
-			<</link>><<gstress>><<gwillpower>><<gacceptance>>
-			<br>
-		<</if>>
-	<<else>>
-		<<if $insecurity_penis_big gte 1 and $player.penissize gte 2 and $acceptance_penis_big lte 999 and $daily.lakeMeditate isnot 1>>
-			<<link [[Meditate on your big penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 6>><<willpower 1>><<set $daily.lakeMeditate to 1>>
-				<<if $willpower gte (($willpowermax / 7) * 6)>>
-					<<stress 5>><<acceptance "penis_big" 20>>
-				<<elseif $willpower gte (($willpowermax / 7) * 5)>>
-					<<stress 5>><<acceptance "penis_big" 18>>
-				<<elseif $willpower gte (($willpowermax / 7) * 4)>>
-					<<stress 6>><<acceptance "penis_big" 16>>
-				<<elseif $willpower gte (($willpowermax / 7) * 3)>>
-					<<stress 7>><<acceptance "penis_big" 14>>
-				<<elseif $willpower gte (($willpowermax / 7) * 2)>>
-					<<stress 8>><<acceptance "penis_big" 12>>
-				<<elseif $willpower gte (($willpowermax / 7) * 1)>>
-					<<stress 10>><<acceptance "penis_big" 10>>
-				<<else>>
-					<<stress 12>><<acceptance "penis_big" 8>>
-				<</if>>
-			<</link>><<gstress>><<gwillpower>><<gacceptance>>
-			<br>
-		<</if>>
-	<</if>>
-	<<if $insecurity_breasts_tiny gte 1 and $player.breastsize lte 0 and $player.gender is "f" and $acceptance_breasts_tiny lte 999 and $daily.lakeMeditate isnot 1>>
-		<<link [[Meditate on your flat chest (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 7>><<willpower 1>><<set $daily.lakeMeditate to 1>>
+	<<if $player.penisExist and $insecurity_penis_big gte 1 and $player.penissize gte $player.gender is "m" ? 4 : 2 and $acceptance_penis_big lte 999 and $daily.lakeMeditate isnot 1>>
+		<<link [[Meditate on your big penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 6>><<willpower 1>><<set $daily.lakeMeditate to 1>>
 			<<if $willpower gte (($willpowermax / 7) * 6)>>
-				<<stress 5>><<acceptance "breasts_tiny" 20>>
+				<<stress 5>><<acceptance "penis_big" 20>>
 			<<elseif $willpower gte (($willpowermax / 7) * 5)>>
-				<<stress 5>><<acceptance "breasts_tiny" 18>>
+				<<stress 5>><<acceptance "penis_big" 18>>
 			<<elseif $willpower gte (($willpowermax / 7) * 4)>>
-				<<stress 6>><<acceptance "breasts_tiny" 16>>
+				<<stress 6>><<acceptance "penis_big" 16>>
 			<<elseif $willpower gte (($willpowermax / 7) * 3)>>
-				<<stress 7>><<acceptance "breasts_tiny" 14>>
+				<<stress 7>><<acceptance "penis_big" 14>>
 			<<elseif $willpower gte (($willpowermax / 7) * 2)>>
-				<<stress 8>><<acceptance "breasts_tiny" 12>>
+				<<stress 8>><<acceptance "penis_big" 12>>
 			<<elseif $willpower gte (($willpowermax / 7) * 1)>>
-				<<stress 10>><<acceptance "breasts_tiny" 10>>
+				<<stress 10>><<acceptance "penis_big" 10>>
 			<<else>>
-				<<stress 12>><<acceptance "breasts_tiny" 8>>
+				<<stress 12>><<acceptance "penis_big" 8>>
 			<</if>>
 		<</link>><<gstress>><<gwillpower>><<gacceptance>>
 		<br>
 	<</if>>
-	<<if $insecurity_breasts_small gte 1 and $player.breastsize gte 1 and $player.breastsize lte 5 and $acceptance_breasts_small lte 999 and $daily.lakeMeditate isnot 1>>
+	
+	<<set $_breastSizeMin to $player.gender is "f" ? 0 : 1>>
+	<<set $_breastSizeMax to $player.gender is "f" ? 4 : 5>>
+	<<if $insecurity_breasts_small gte 1 and between($player.breastsize, $_breastSizeMin, $_breastSizeMax) and $acceptance_breasts_small lte 999 and $daily.lakeMeditate isnot 1>>
 		<<link [[Meditate on your small breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 8>><<willpower 1>><<set $daily.lakeMeditate to 1>>
 			<<if $willpower gte (($willpowermax / 7) * 6)>>
 				<<stress 5>><<acceptance "breasts_small" 20>>
@@ -457,48 +397,25 @@
 		<</link>><<gstress>><<gwillpower>><<gacceptance>>
 		<br>
 	<</if>>
-	<<if $player.gender is "f">>
-		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte 8 and $acceptance_breasts_big lte 999 and $daily.lakeMeditate isnot 1>>
-			<<link [[Meditate on your big breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 9>><<willpower 1>><<set $daily.lakeMeditate to 1>>
-				<<if $willpower gte (($willpowermax / 7) * 6)>>
-					<<stress 5>><<acceptance "breasts_big" 20>>
-				<<elseif $willpower gte (($willpowermax / 7) * 5)>>
-					<<stress 5>><<acceptance "breasts_big" 18>>
-				<<elseif $willpower gte (($willpowermax / 7) * 4)>>
-					<<stress 6>><<acceptance "breasts_big" 16>>
-				<<elseif $willpower gte (($willpowermax / 7) * 3)>>
-					<<stress 7>><<acceptance "breasts_big" 14>>
-				<<elseif $willpower gte (($willpowermax / 7) * 2)>>
-					<<stress 8>><<acceptance "breasts_big" 12>>
-				<<elseif $willpower gte (($willpowermax / 7) * 1)>>
-					<<stress 10>><<acceptance "breasts_big" 10>>
-				<<else>>
-					<<stress 12>><<acceptance "breasts_big" 8>>
-				<</if>>
-			<</link>><<gstress>><<gwillpower>><<gacceptance>>
-			<br>
-		<</if>>
-	<<else>>
-		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte 6 and $acceptance_breasts_big lte 999 and $daily.lakeMeditate isnot 1>>
-			<<link [[Meditate on your big breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 9>><<willpower 1>><<set $daily.lakeMeditate to 1>>
-				<<if $willpower gte (($willpowermax / 7) * 6)>>
-					<<stress 5>><<acceptance "breasts_big" 20>>
-				<<elseif $willpower gte (($willpowermax / 7) * 5)>>
-					<<stress 5>><<acceptance "breasts_big" 18>>
-				<<elseif $willpower gte (($willpowermax / 7) * 4)>>
-					<<stress 6>><<acceptance "breasts_big" 16>>
-				<<elseif $willpower gte (($willpowermax / 7) * 3)>>
-					<<stress 7>><<acceptance "breasts_big" 14>>
-				<<elseif $willpower gte (($willpowermax / 7) * 2)>>
-					<<stress 8>><<acceptance "breasts_big" 12>>
-				<<elseif $willpower gte (($willpowermax / 7) * 1)>>
-					<<stress 10>><<acceptance "breasts_big" 10>>
-				<<else>>
-					<<stress 12>><<acceptance "breasts_big" 8>>
-				<</if>>
-			<</link>><<gstress>><<gwillpower>><<gacceptance>>
-			<br>
-		<</if>>
+	<<if $insecurity_breasts_big gte 1 and $player.breastsize gte $player.gender is "f" ? 8 : 6 and $acceptance_breasts_big lte 999 and $daily.lakeMeditate isnot 1>>
+		<<link [[Meditate on your big breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 9>><<willpower 1>><<set $daily.lakeMeditate to 1>>
+			<<if $willpower gte (($willpowermax / 7) * 6)>>
+				<<stress 5>><<acceptance "breasts_big" 20>>
+			<<elseif $willpower gte (($willpowermax / 7) * 5)>>
+				<<stress 5>><<acceptance "breasts_big" 18>>
+			<<elseif $willpower gte (($willpowermax / 7) * 4)>>
+				<<stress 6>><<acceptance "breasts_big" 16>>
+			<<elseif $willpower gte (($willpowermax / 7) * 3)>>
+				<<stress 7>><<acceptance "breasts_big" 14>>
+			<<elseif $willpower gte (($willpowermax / 7) * 2)>>
+				<<stress 8>><<acceptance "breasts_big" 12>>
+			<<elseif $willpower gte (($willpowermax / 7) * 1)>>
+				<<stress 10>><<acceptance "breasts_big" 10>>
+			<<else>>
+				<<stress 12>><<acceptance "breasts_big" 8>>
+			<</if>>
+		<</link>><<gstress>><<gwillpower>><<gacceptance>>
+		<br>
 	<</if>>
 	<<if $insecurity_pregnancy gte 1 and $acceptance_pregnancy lte 999 and playerBellySize() gte 8 and $daily.lakeMeditate isnot 1>>
 		<<set _pregnancyLink to (playerAwareTheyArePregnant() ? "Meditate on your pregnant belly (1:00)" : "Meditate on your pregnant looking belly (1:00)")>>
diff --git a/game/overworld-plains/loc-livestock/jobs.twee b/game/overworld-plains/loc-livestock/jobs.twee
index 221ce1e04e..fd04769694 100644
--- a/game/overworld-plains/loc-livestock/jobs.twee
+++ b/game/overworld-plains/loc-livestock/jobs.twee
@@ -1001,29 +1001,38 @@ Harper pulls you into the middle of the room. You're surrounded by hungry eyes.
 <br><br>
 
 <<if $player.penisExist and !playerChastity()>>
-	<<if $player.penissize gte 4>>
+	<<switch $player.penissize>>
+	<<case 4>>
 		<<He>> reaches around your body and takes your <<penis>> in <<his>> hand. You flinch at <<his>> touch. "As you can see," <<he>> continues, rubbing your length. "This one is of prodigious size."
 		<<garousal>><<arousal 600 "genitals">>
 		<br><br>
 		A <<person2>><<person>> leans forward in <<his>> seat, awed by the size of your cock and leering with naked thirst.
 		<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
-		<br><br>
-	<<elseif $player.penissize gte 1>>
+	<<case 2 3>>
 		<<He>> reaches around your body and takes your <<penis>> in <<his>> hand. <<His>> touch makes you jump. "As you can see," <<he>> continues, rubbing your length. "This one is almost ready to be milked."
-		<<garousal>><<arousal 600 "genitals">>
+		<<garousal>><<arousal 600 "genitals">><<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 		<br><br>
 
 		A <<person2>><<person>> leans forward in <<his>> seat, leering.
-		<br><br>
-	<<else>>
+	<<case 0 1>>
 		<<He>> reaches around your body and takes your <<penis>> in <<his>> hand. <<His>> touch makes you jump. "Don't be fooled," <<he>> continues. "It may be small, but it can still be very productive.
 		<<garousal>><<arousal 600 "genitals">>
 		<br><br>
 
-		"It's so little and cute," a <<person2>><<person>> laughs. "But if you say so."
-		<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+		"It's so cute," a <<person2>><<person>> laughs. "But if you say so."
+		<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+	<<case -1>>
+		<<He>> reaches around your body and takes your <<penis>> in <<his>> hand. <<His>> touch makes you jump. "Don't be fooled," <<he>> continues. "This one is too small to produce, but that will soon change."
 		<br><br>
-	<</if>>
+		"It's so little and cute," a <<person2>><<person>> laughs. "It's almost a shame."
+		<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
+	<<case -2>>
+		<<He>> reaches around your body and takes your <<penis>> over <<his>> finger. <<His>> touch makes you jump. "Unfortunately," <<he>> continues. "I'm not sure how we can help make this one productive."
+		<br><br>
+		"It's so tiny and cute," a <<person2>><<person>> laughs. "It's a shame."
+		<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+	<</switch>>
+	<br><br>
 
 	<<person1>>
 	<<link [[Next|Livestock Job Harper 3 Obey 2]]>><</link>>
@@ -1039,7 +1048,7 @@ Harper pulls you into the middle of the room. You're surrounded by hungry eyes.
 		<br><br>
 	<<elseif $player.breastsize gte 6>>
 		<<He>> reaches around your body and takes your <<breasts>> in <<his>> hands. <<His>> touch makes you jump. "As you can see," <<he>> continues, rubbing your chest. "This one is almost ready to be milked."
-		<<if $player.gender is "m">><<ginsecurity "breasts_big">><<insecurity "breasts_big" 1>><</if>><<garousal>><<arousal 600 "breasts">>
+		<<ginsecurity "breasts_big">><<insecurity "breasts_big" 1>><<garousal>><<arousal 600 "breasts">>
 		<br><br>
 
 		A <<person2>><<person>> leans forward in <<his>> seat, leering.
@@ -1058,7 +1067,7 @@ Harper pulls you into the middle of the room. You're surrounded by hungry eyes.
 		<br><br>
 
 		"So flat and cute," a <<person2>><<person>> laughs. "It's almost a shame."
-		<<if $player.gender is "f">><<ginsecurity "breasts_tiny">><<insecurity "breasts_tiny" 1>><</if>>
+		<<ginsecurity "breasts_small" 2>><<insecurity "breasts_small" 2>>
 		<br><br>
 	<</if>>
 	<<person1>>
diff --git a/game/overworld-plains/loc-livestock/main.twee b/game/overworld-plains/loc-livestock/main.twee
index 37e8905e02..eabfccab0d 100644
--- a/game/overworld-plains/loc-livestock/main.twee
+++ b/game/overworld-plains/loc-livestock/main.twee
@@ -373,7 +373,7 @@ It isn't long before the door to the barn opens, and the lights flicker on. Remy
 		<</if>>
 	<<else>>
 		"There's barely anything here at all," <<he>> says with a disappointed sigh. "Fortunately I have just the thing." <<He>> pulls a pot of pink gel from <<his>> pocket, and pours it between <<his>> hands. Once good and wet, <<he>> presses the tips of <<his>> fingers against your chest, and rubs. A lewd warmth spreads wherever the gel touches, leaving your skin sensitive to further touching.
-		<<ggarousal>><<arousal 1800 "breasts">><<ginsecurity "breasts_tiny">><<insecurity "breasts_tiny" 1>>
+		<<ggarousal>><<arousal 1800 "breasts">><<ginsecurity "breasts_small">><<insecurity "breasts_small" 2>>
 		<br><br>
 		<<if playerBellyVisible()>>
 			Taking a look at your belly, <<he>> questions, "This is really unusual, your breasts should at least have grown a little at this point."
@@ -415,13 +415,13 @@ Remy kneels, <<his>> eyes level with your <<penis>>.
 			<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 		<<case 0>>
 			<<He>> stifles a laugh. "So cute," <<he>> says. "But unfitting for a bull." <<He>> tugs your $worn.genitals.name. "We'll help you once we get this off." <<He>> pulls out a small container from <<his>> pocket and applies some grey paste to the $worn.genitals.name.
-			<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+			<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 		<<case -1>>
 			<<He>> frowns. "There's barely anything here at all," <<he>> says. "No no. This won't do at all." <<He>> tugs your $worn.genitals.name. "We'll help you once we get this off." <<He>> pulls out a small pot from <<his>> pocket and applies some grey paste to the $worn.genitals.name.
-			<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+			<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 		<<case -2>>
 			<<He>> pauses, squinting at it. "Oh. Oh, that's not a clit." <<He>> purses <<his>> lips. "I don't think I can fix this. Seems like you'd make a better cow than bull anyway." <<He>> glances at your $worn.genitals.name but leaves it alone.
-			<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+			<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
 	<</switch>>
 	<br><br>
 	<<if $player.penissize gt -2>>
@@ -528,7 +528,7 @@ Remy kneels, <<his>> eyes level with your <<penis>>.
 			<</if>>
 		<<case 0>>
 			<<if _penisComment isnot true>>
-				<<He>> stifles a laugh. "So cute," <<he>> says. "But unfitting for a bull." <<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+				<<He>> stifles a laugh. "So cute," <<he>> says. "But unfitting for a bull." <<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 				<br><br>
 			<</if>>
 			<<He>> retrieves a small pot of purple gel from <<his>> jacket pocket, and rubs it into <<his>> hands. <<He>> reaches forward and between thumb and forefinger. With gentle strokes, <<he>> rubs the gel into your skin. A warmth spreads through your pelvis, and your cock grows more sensitive as <<he>> works.
@@ -547,7 +547,7 @@ Remy kneels, <<his>> eyes level with your <<penis>>.
 			<</if>>
 		<<case -1>>
 			<<if _penisComment isnot true>>
-				<<He>> frowns. "There's barely anything here at all," <<he>> says. "No no. This won't do." <<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+				<<He>> frowns. "There's barely anything here at all," <<he>> says. "No no. This won't do." <<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 				<br><br>
 			<</if>>
 			<<He>> retrieves a small pot of purple gel from <<his>> jacket pocket, and rubs it into <<his>> hands. <<He>> reaches forward and between thumb and forefinger. With gentle strokes, <<he>> rubs the gel into your skin. A warmth spreads through your pelvis, and your cock grows more sensitive as <<he>> works.
@@ -566,7 +566,7 @@ Remy kneels, <<his>> eyes level with your <<penis>>.
 			<</if>>
 		<<case -2>>
 			<<if _penisComment isnot true>>
-				<<He>> pauses, squinting at it. "Oh. Oh, that's not a clit." <<He>> purses <<his>> lips. "I don't think I can fix this. Seems like you'd make a better cow than bull anyway." <<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+				<<He>> pauses, squinting at it. "Oh. Oh, that's not a clit." <<He>> purses <<his>> lips. "I don't think I can fix this. Seems like you'd make a better cow than bull anyway." <<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
 				<br><br>
 			<</if>>
 			<<He>> retrieves a small pot of purple gel from <<his>> jacket pocket, and rubs it into <<his>> hands. <<He>> reaches forward and between thumb and forefinger. With gentle strokes, <<he>> rubs the gel into your skin. A warmth spreads through your pelvis, and your cock grows more sensitive as <<he>> works.
diff --git a/game/overworld-town/loc-adultshop/widgets.twee b/game/overworld-town/loc-adultshop/widgets.twee
index e19ef8a34c..d9b89eb9fa 100644
--- a/game/overworld-town/loc-adultshop/widgets.twee
+++ b/game/overworld-town/loc-adultshop/widgets.twee
@@ -360,7 +360,7 @@
 				<<stress 5>>
 				<<exposedcheck>>
 				<<if $player.perceived_breastsize lte 1>>
-					"I'd lick those nipples, cutie," <<he>> remarks.<<gstress>><<stress 5>><<insecurity "breasts_tiny" 5>><<ginsecurity "breasts_tiny">>
+					"I'd lick those nipples, cutie," <<he>> remarks.<<gstress>><<stress 5>><<insecurity "breasts_small" 10>><<ginsecurity "breasts_small">>
 				<<elseif $player.perceived_breastsize lte 5>>
 					"Cute lil' titties!" <<he>> exclaims, grinning broadly.<<gstress>><<stress 5>><<insecurity "breasts_small" 5>><<ginsecurity "breasts_small">>
 				<<elseif $player.perceived_breastsize lte 7>>
diff --git a/game/overworld-town/loc-bus/main.twee b/game/overworld-town/loc-bus/main.twee
index 96b2db089c..bc79cb9941 100644
--- a/game/overworld-town/loc-bus/main.twee
+++ b/game/overworld-town/loc-bus/main.twee
@@ -376,7 +376,7 @@ You feel their hungry eyes as you <<pullup>> your $worn.upper.name, revealing yo
 	"Don't be shy," says the <<person1>><<person>> as <<he>> reaches out and pinches your right nipple.
 <<elseif $player.perceived_breastsize is 0>>
 	"You call those pathetic things breasts?" says the <<person1>><<person>> as <<he>> reaches out and pinches your right nipple.
-	<<insecurity "breasts_tiny" 5>><<ginsecurity "breasts_tiny">>
+	<<insecurity "breasts_small" 10>><<ginsecurity "breasts_small">>
 <<elseif $player.perceived_breastsize lte 5>>
 	"You call those little things breasts?" says the <<person1>><<person>> as <<he>> reaches out and pinches your right nipple.
 	<<insecurity "breasts_small" 5>><<ginsecurity "breasts_small">>
diff --git a/game/overworld-town/loc-hospital/pharmacy.twee b/game/overworld-town/loc-hospital/pharmacy.twee
index bbad6759e0..b029290f9d 100644
--- a/game/overworld-town/loc-hospital/pharmacy.twee
+++ b/game/overworld-town/loc-hospital/pharmacy.twee
@@ -500,7 +500,7 @@ The <<person>> looks at the <<print $pharmacyItem.name>> you're holding.
 		"Shit," you hear a quiet whisper from down below as your <<penis>> flops out.
 		<br>
 		You look down and see <<him>> staring at your cock, mouth agape.
-		<<if $insecurity_penis_big gte 1 and $acceptance_penis_big lte 999>>
+		<<if $player.penisExist and $insecurity_penis_big gte 1 and $acceptance_penis_big lte 999>>
 			<<acceptance "penis_big" 10>><<gacceptance>>
 		<</if>>
 	<</if>>
diff --git a/game/overworld-town/loc-landfill/main.twee b/game/overworld-town/loc-landfill/main.twee
index 24c119d488..0aef67caa6 100644
--- a/game/overworld-town/loc-landfill/main.twee
+++ b/game/overworld-town/loc-landfill/main.twee
@@ -372,7 +372,7 @@ You search the piles of rubbish for anything of value.
 		<<case 0>>
 			The <<group>> burst into laughter. "<<pShes>> flat as a board!" the <<trashSelect>><<person>> jeers.
 			<<set _notInsecure to $player.gender is "m" or $acceptance_breasts_tiny gte 1000>>
-			<<set _insecurityType to "breasts_tiny">>
+			<<set _insecurityType to "breasts_small">>
 		<<case 1 2 3>>
 			The <<group>> chuckle as they examine your <<breasts>>. "A bit on the small side," the <<trashSelect>><<person>> says.
 			<<set _notInsecure to $player.gender is "m" or $acceptance_breasts_small gte 1000>>
@@ -414,11 +414,11 @@ You search the piles of rubbish for anything of value.
 		<<case -2>>
 			The <<group>> burst into uncontrollable laughter. "That's the smallest thing I've ever seen!" the <<trashSelect>><<person>> coos. "Aww, who's a little guy? Can it even get erect?"
 			<<set _notInsecure to $acceptance_penis_tiny gte 1000>>
-			<<set _insecurityType to "penis_tiny">>
+			<<set _insecurityType to "penis_small">>
 		<<case -1 0>>
 			The <<group>> turn to each other, before laughing. "Anyone have a microscope?" the <<trashSelect>><<person>> jokes.
 			<<set _notInsecure to $acceptance_penis_tiny gte 1000>>
-			<<set _insecurityType to "penis_tiny">>
+			<<set _insecurityType to "penis_small">>
 		<<case 1>>
 			The <<group>> look down at your <<penis>>, and a couple let out small chuckles. "A little on the small side," the <<trashSelect>><<person>> says. "It's no big deal."
 			<<set _notInsecure to $acceptance_penis_small gte 1000>>
diff --git a/game/overworld-town/loc-school/detention.twee b/game/overworld-town/loc-school/detention.twee
index d7110ace81..140875243a 100644
--- a/game/overworld-town/loc-school/detention.twee
+++ b/game/overworld-town/loc-school/detention.twee
@@ -186,7 +186,7 @@
 					<<if $player.penissize is 1>>
 						<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 					<<else>>
-						<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+						<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 					<</if>>
 				<</if>>
 			<<else>>
@@ -240,7 +240,7 @@
 					<<if $player.penissize is 1>>
 						<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 					<<else>>
-						<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+						<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 					<</if>>
 				<</if>>
 			<<else>>
@@ -396,7 +396,7 @@
 		<<if $player.penissize is 1>>
 			<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 		<<else>>
-			<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+			<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 		<</if>>
 		<br><br>
 
diff --git a/game/overworld-town/loc-school/inspections.twee b/game/overworld-town/loc-school/inspections.twee
index 1abad92c42..7918b7350e 100644
--- a/game/overworld-town/loc-school/inspections.twee
+++ b/game/overworld-town/loc-school/inspections.twee
@@ -1637,7 +1637,7 @@ You feel your <<nipples>> stand on end. <<person1>><<He>> takes a picture.
 		<<fameexhibitionism 10>>
 	<<else>>
 		"Don't be ashamed about being flat," <<he>> says while leering at you.
-		<<insecurity "breasts_tiny" 20>><<ginsecurity "breasts_tiny">><<fameexhibitionism 30 "pic">>
+		<<insecurity "breasts_small" 30>><<ginsecurity "breasts_small">><<fameexhibitionism 30 "pic">>
 	<</if>>
 <</if>>
 <<gtrauma>><<gstress>><<trauma 6>><<stress 6>>
@@ -1788,7 +1788,7 @@ You open your shirt wide so that everyone can see your <<breasts>>.
 	<<fameexhibitionism 15 "pic">>
 	<<else>>
 	"Don't be ashamed about being flat," <<he>> says while leering at you.
-	<<insecurity "breasts_tiny" 20>><<ginsecurity "breasts_tiny">><<fameexhibitionism 40 "pic">>
+	<<insecurity "breasts_small" 30>><<ginsecurity "breasts_small">><<fameexhibitionism 40 "pic">>
 	<</if>>
 <</if>>
 <br><br>
diff --git a/game/overworld-town/loc-street/events.twee b/game/overworld-town/loc-street/events.twee
index 785f763419..e97b49f94c 100644
--- a/game/overworld-town/loc-street/events.twee
+++ b/game/overworld-town/loc-street/events.twee
@@ -9033,13 +9033,13 @@ You try to speak, but can't find the words. You feel the <<person>> catch you in
 			<<rng>>
 			<<if $rng gte 76>>
 				"Your chest is so sleek, I'd think you a boy if I didn't know better."
-				<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+				<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 			<<elseif $rng gte 51>>
 				"Small tits are delicious."
-				<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+				<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 			<<elseif $rng gte 26>>
 				"Such small boobs must make dancing easier."
-				<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+				<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 			<<else>>
 				"I bet you love having your nipples toyed with."
 			<</if>>
@@ -9170,13 +9170,13 @@ The <<person2>><<person>> leers at your chest and runs <<his>> tongue across <<h
 		<<rng>>
 		<<if $rng gte 76>>
 			"Your chest is so sleek, I'd think you a boy if I didn't know better."
-			<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 		<<elseif $rng gte 51>>
 			"Small tits are delicious."
-			<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 		<<elseif $rng gte 26>>
 			"Such small boobs must make dancing easier."
-			<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 		<<else>>
 			"I bet you love having your nipples toyed with."
 		<</if>>
diff --git a/game/overworld-town/loc-temple/main.twee b/game/overworld-town/loc-temple/main.twee
index 8d8a71921f..39bd24384c 100644
--- a/game/overworld-town/loc-temple/main.twee
+++ b/game/overworld-town/loc-temple/main.twee
@@ -353,24 +353,15 @@ You are in the main hall of the temple. Stone walls and pillars tower into darkn
 		<<gtrauma>><<gstress>><<trauma 6>><<stress 6>>
 		<br><br>
 	<</if>>
-<<elseif $phase is 4>>
-	<<set $phase to 0>>
-	Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You pray for a bigger penis.
-	<br><br>
-	An hour passes, and your penis is no bigger.
-	<br><br>
-	<<if $acceptance_penis_tiny gte 1000>>
-		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Penis</span> trait.
-		<br><br>
-	<</if>>
-<<elseif $phase is 5>>
+<<elseif $phase is 4 or $phase is 5>>
 	<<set $phase to 0>>
 	Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You pray for a bigger penis.
 	<br><br>
 	An hour passes, and your penis is no bigger.
 	<br><br>
 	<<if $acceptance_penis_small gte 1000>>
-		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Small Penis</span> trait.
+		<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
+		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 		<br><br>
 	<</if>>
 <<elseif $phase is 6>>
@@ -380,27 +371,25 @@ You are in the main hall of the temple. Stone walls and pillars tower into darkn
 	An hour passes, and your penis is no smaller.
 	<br><br>
 	<<if $acceptance_penis_big gte 1000>>
-		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Big Penis</span> trait.
+		<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
+		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 		<br><br>
 	<</if>>
-<<elseif $phase is 7>>
+<<elseif $phase is 7 or $phase is 8>>
 	<<set $phase to 0>>
-	Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You pray for bigger breasts.
-	<br><br>
-	An hour passes, and your breasts are no bigger.
-	<br><br>
-	<<if $acceptance_breasts_tiny gte 1000>>
-		Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Breasts</span> trait.
+	<<if $player.breastsize>>
+		Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
+		<br><br>
+		An hour passes, and for a few moments the weight of scrutiny lifts.
+	<<else>>
+		Your thoughts turn to your flat chest, and the mocking way people regard it.
 		<br><br>
+		An hour passes, and your breasts are no bigger.
 	<</if>>
-<<elseif $phase is 8>>
-	<<set $phase to 0>>
-	Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
-	<br><br>
-	An hour passes, and for a few moments the weight of scrutiny lifts.
 	<br><br>
 	<<if $acceptance_breasts_small gte 1000>>
-		Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Small Breasts</span> trait.
+		<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
+		Realisation dawns as you lean back. Your <<print $player.breastsize ? "<<breasts>> are" : "chest is">> beautiful. Why should you care what other people say about <<print $player.breastsize ? "them" : "it">>? You've gained the <span class="green">Acceptance: <<print $player.breastsize ? "_breastSizeName Breasts" : "Flat Chest">></span> trait.
 		<br><br>
 	<</if>>
 <<elseif $phase is 9>>
@@ -410,7 +399,8 @@ You are in the main hall of the temple. Stone walls and pillars tower into darkn
 	An hour passes, and your breasts are no smaller.
 	<br><br>
 	<<if $acceptance_breasts_big gte 1000>>
-		Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Big Breasts</span> trait.
+		<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
+		Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 		<br><br>
 	<</if>>
 <<elseif $phase is 10>>
diff --git a/game/overworld-town/loc-temple/widgets.twee b/game/overworld-town/loc-temple/widgets.twee
index f89001ada2..2217452704 100644
--- a/game/overworld-town/loc-temple/widgets.twee
+++ b/game/overworld-town/loc-temple/widgets.twee
@@ -26,210 +26,95 @@
 		<</link>>
 		<<lawareness>><<lstress>><<larousal>>
 		<br>
-		<<if $insecurity_penis_tiny gte 1 and $player.penissize lte 0 and $acceptance_penis_tiny lte 999 and $daily.templePray isnot 1>>
+		<<if $player.penisExist and $insecurity_penis_small gte 1 and $player.penissize lte 1 and $acceptance_penis_small lte 999 and $daily.templePray isnot 1>>
 			<<templeicon "pray">><<link [[Pray for a bigger penis (1:00)|_prayPassage]]>>
-				<<pass 60>><<set $phase to 4>><<set $daily.templePray to 1>>
+				<<pass 60>><<set $phase to $player.penisSize lt 0 ? 4 : 5>><<set $daily.templePray to 1>>
 				<<if $purity gte ((1000 / 7) * 7)>>
-					<<stress 5>><<acceptance "penis_tiny" 20>>
+					<<stress 5>><<acceptance "penis_small" 20>>
 				<<elseif $purity gte ((1000 / 7) * 6)>>
-					<<stress 5>><<acceptance "penis_tiny" 18>>
+					<<stress 5>><<acceptance "penis_small" 18>>
 				<<elseif $purity gte ((1000 / 7) * 5)>>
-					<<stress 6>><<acceptance "penis_tiny" 16>>
+					<<stress 6>><<acceptance "penis_small" 16>>
 				<<elseif $purity gte ((1000 / 7) * 4)>>
-					<<stress 7>><<acceptance "penis_tiny" 14>>
+					<<stress 7>><<acceptance "penis_small" 14>>
 				<<elseif $purity gte ((1000 / 7) * 3)>>
-					<<stress 8>><<acceptance "penis_tiny" 12>>
+					<<stress 8>><<acceptance "penis_small" 12>>
 				<<elseif $purity gte ((1000 / 7) * 2)>>
-					<<stress 10>><<acceptance "penis_tiny" 10>>
+					<<stress 10>><<acceptance "penis_small" 10>>
 				<<else>>
-					<<stress 12>><<acceptance "penis_tiny" 8>>
+					<<stress 12>><<acceptance "penis_small" 8>>
 				<</if>>
 			<</link>>
 			<<gstress>><<gacceptance>>
 			<br>
 		<</if>>
-		<<if $insecurity_penis_small gte 1 and $player.penissize is 1 and $acceptance_penis_small lte 999 and $daily.templePray isnot 1>>
-			<<templeicon "pray">><<link [[Pray for a bigger penis (1:00)|_prayPassage]]>>
-				<<pass 60>><<set $phase to 5>><<set $daily.templePray to 1>>
+		<<if $player.penisExist and$insecurity_penis_big gte 1 and $player.penissize gte $player.gender is "m" ? 4 : 2 and $acceptance_penis_big lte 999 and $daily.templePray isnot 1>>
+			<<templeicon "pray">><<link [[Pray for a smaller penis (1:00)|_prayPassage]]>>
+				<<pass 60>><<set $phase to 6>><<set $daily.templePray to 1>>
 				<<if $purity gte ((1000 / 7) * 7)>>
-					<<stress 5>><<acceptance "penis_small" 20>>
+					<<stress 5>><<acceptance "penis_big" 20>>
 				<<elseif $purity gte ((1000 / 7) * 6)>>
-					<<stress 5>><<acceptance "penis_small" 18>>
+					<<stress 5>><<acceptance "penis_big" 18>>
 				<<elseif $purity gte ((1000 / 7) * 5)>>
-					<<stress 6>><<acceptance "penis_small" 16>>
+					<<stress 6>><<acceptance "penis_big" 16>>
 				<<elseif $purity gte ((1000 / 7) * 4)>>
-					<<stress 7>><<acceptance "penis_small" 14>>
+					<<stress 7>><<acceptance "penis_big" 14>>
 				<<elseif $purity gte ((1000 / 7) * 3)>>
-					<<stress 8>><<acceptance "penis_small" 12>>
+					<<stress 8>><<acceptance "penis_big" 12>>
 				<<elseif $purity gte ((1000 / 7) * 2)>>
-					<<stress 10>><<acceptance "penis_small" 10>>
+					<<stress 10>><<acceptance "penis_big" 10>>
 				<<else>>
-					<<stress 12>><<acceptance "penis_small" 8>>
+					<<stress 12>><<acceptance "penis_big" 8>>
 				<</if>>
 			<</link>>
 			<<gstress>><<gacceptance>>
 			<br>
 		<</if>>
-		<<if $player.gender is "m">>
-			<<if $insecurity_penis_big gte 1 and $player.penissize gte 4 and $acceptance_penis_big lte 999 and $daily.templePray isnot 1>>
-				<<templeicon "pray">><<link [[Pray for a smaller penis (1:00)|_prayPassage]]>>
-					<<pass 60>><<set $phase to 6>><<set $daily.templePray to 1>>
-					<<if $purity gte ((1000 / 7) * 7)>>
-						<<stress 5>><<acceptance "penis_big" 20>>
-					<<elseif $purity gte ((1000 / 7) * 6)>>
-						<<stress 5>><<acceptance "penis_big" 18>>
-					<<elseif $purity gte ((1000 / 7) * 5)>>
-						<<stress 6>><<acceptance "penis_big" 16>>
-					<<elseif $purity gte ((1000 / 7) * 4)>>
-						<<stress 7>><<acceptance "penis_big" 14>>
-					<<elseif $purity gte ((1000 / 7) * 3)>>
-						<<stress 8>><<acceptance "penis_big" 12>>
-					<<elseif $purity gte ((1000 / 7) * 2)>>
-						<<stress 10>><<acceptance "penis_big" 10>>
-					<<else>>
-						<<stress 12>><<acceptance "penis_big" 8>>
-					<</if>>
-				<</link>>
-				<<gstress>><<gacceptance>>
-				<br>
-			<</if>>
-		<<else>>
-			<<if $insecurity_penis_big gte 1 and $player.penissize gte 2 and $acceptance_penis_big lte 999 and $daily.templePray isnot 1>>
-				<<templeicon "pray">><<link [[Pray for a smaller penis (1:00)|_prayPassage]]>>
-					<<pass 60>><<set $phase to 6>><<set $daily.templePray to 1>>
-					<<if $purity gte ((1000 / 7) * 7)>>
-						<<stress 5>><<acceptance "penis_big" 20>>
-					<<elseif $purity gte ((1000 / 7) * 6)>>
-						<<stress 5>><<acceptance "penis_big" 18>>
-					<<elseif $purity gte ((1000 / 7) * 5)>>
-						<<stress 6>><<acceptance "penis_big" 16>>
-					<<elseif $purity gte ((1000 / 7) * 4)>>
-						<<stress 7>><<acceptance "penis_big" 14>>
-					<<elseif $purity gte ((1000 / 7) * 3)>>
-						<<stress 8>><<acceptance "penis_big" 12>>
-					<<elseif $purity gte ((1000 / 7) * 2)>>
-						<<stress 10>><<acceptance "penis_big" 10>>
-					<<else>>
-						<<stress 12>><<acceptance "penis_big" 8>>
-					<</if>>
-				<</link>>
-				<<gstress>><<gacceptance>>
-				<br>
-			<</if>>
-		<</if>>
-		<<if $insecurity_breasts_tiny gte 1 and $player.breastsize lte 0 and ($player.gender is "f" or $player.gender is "h") and $acceptance_breasts_tiny lte 999 and $daily.templePray isnot 1>>
-			<<templeicon "pray">><<link [[Pray for bigger breasts (1:00)|_prayPassage]]>>
-				<<pass 60>><<set $phase to 7>><<set $daily.templePray to 1>>
+		<<set $_breastSizeMin to $player.gender is "f" ? 0 : 1>>
+		<<set $_breastSizeMax to $player.gender is "f" ? 4 : 5>>
+		<<if $insecurity_breasts_small gte 1 and between($player.breastsize, $_breastSizeMin, $_breastSizeMax) and $acceptance_breasts_small lte 999 and $daily.templePray isnot 1>>
+			<<templeicon "pray">><<link [[Pray for your small breasts (1:00)|_prayPassage]]>>
+				<<pass 60>><<set $phase to !$player.breastsize ? 7 : 8>><<set $daily.templePray to 1>>
 				<<if $purity gte ((1000 / 7) * 7)>>
-					<<stress 5>><<acceptance "breasts_tiny" 20>>
+					<<stress 5>><<acceptance "breasts_small" 20>>
 				<<elseif $purity gte ((1000 / 7) * 6)>>
-					<<stress 5>><<acceptance "breasts_tiny" 18>>
+					<<stress 5>><<acceptance "breasts_small" 18>>
 				<<elseif $purity gte ((1000 / 7) * 5)>>
-					<<stress 6>><<acceptance "breasts_tiny" 16>>
+					<<stress 6>><<acceptance "breasts_small" 16>>
 				<<elseif $purity gte ((1000 / 7) * 4)>>
-					<<stress 7>><<acceptance "breasts_tiny" 14>>
+					<<stress 7>><<acceptance "breasts_small" 14>>
 				<<elseif $purity gte ((1000 / 7) * 3)>>
-					<<stress 8>><<acceptance "breasts_tiny" 12>>
+					<<stress 8>><<acceptance "breasts_small" 12>>
 				<<elseif $purity gte ((1000 / 7) * 2)>>
-					<<stress 10>><<acceptance "breasts_tiny" 10>>
+					<<stress 10>><<acceptance "breasts_small" 10>>
 				<<else>>
-					<<stress 12>><<acceptance "breasts_tiny" 8>>
+					<<stress 12>><<acceptance "breasts_small" 8>>
 				<</if>>
 			<</link>>
 			<<gstress>><<gacceptance>>
 			<br>
 		<</if>>
-		<<if $insecurity_breasts_small gte 1 and $player.breastsize gte 1 and $player.breastsize lte 5 and $acceptance_breasts_small lte 999 and $daily.templePray isnot 1>>
-			<<if $player.gender is "f" or $player.gender is "h">>
-				<<templeicon "pray">><<link [[Pray for bigger breasts (1:00)|_prayPassage]]>>
-					<<pass 60>><<set $phase to 8>><<set $daily.templePray to 1>>
-					<<if $purity gte ((1000 / 7) * 7)>>
-						<<stress 5>><<acceptance "breasts_small" 20>>
-					<<elseif $purity gte ((1000 / 7) * 6)>>
-						<<stress 5>><<acceptance "breasts_small" 18>>
-					<<elseif $purity gte ((1000 / 7) * 5)>>
-						<<stress 6>><<acceptance "breasts_small" 16>>
-					<<elseif $purity gte ((1000 / 7) * 4)>>
-						<<stress 7>><<acceptance "breasts_small" 14>>
-					<<elseif $purity gte ((1000 / 7) * 3)>>
-						<<stress 8>><<acceptance "breasts_small" 12>>
-					<<elseif $purity gte ((1000 / 7) * 2)>>
-						<<stress 10>><<acceptance "breasts_small" 10>>
-					<<else>>
-						<<stress 12>><<acceptance "breasts_small" 8>>
-					<</if>>
-				<</link>>
-				<<gstress>><<gacceptance>>
-				<br>
-			<<else>>
-				<<templeicon "pray">><<link [[Pray for smaller breasts (1:00)|_prayPassage]]>>
-					<<pass 60>><<set $phase to 8>><<set $daily.templePray to 1>>
-					<<if $purity gte ((1000 / 7) * 7)>>
-						<<stress 5>><<acceptance "breasts_small" 20>>
-					<<elseif $purity gte ((1000 / 7) * 6)>>
-						<<stress 5>><<acceptance "breasts_small" 18>>
-					<<elseif $purity gte ((1000 / 7) * 5)>>
-						<<stress 6>><<acceptance "breasts_small" 16>>
-					<<elseif $purity gte ((1000 / 7) * 4)>>
-						<<stress 7>><<acceptance "breasts_small" 14>>
-					<<elseif $purity gte ((1000 / 7) * 3)>>
-						<<stress 8>><<acceptance "breasts_small" 12>>
-					<<elseif $purity gte ((1000 / 7) * 2)>>
-						<<stress 10>><<acceptance "breasts_small" 10>>
-					<<else>>
-						<<stress 12>><<acceptance "breasts_small" 8>>
-					<</if>>
-				<</link>>
-				<<gstress>><<gacceptance>>
-				<br>
-			<</if>>
-		<</if>>
-		<<if $player.gender is "f" or $player.gender is "h">>
-			<<if $insecurity_breasts_big gte 1 and $player.breastsize gte 8 and $acceptance_breasts_big lte 999 and $daily.templePray isnot 1>>
-				<<templeicon "pray">><<link [[Pray for smaller breasts (1:00)|_prayPassage]]>>
-					<<pass 60>><<set $phase to 9>><<set $daily.templePray to 1>>
-					<<if $purity gte ((1000 / 7) * 7)>>
-						<<stress 5>><<acceptance "breasts_big" 20>>
-					<<elseif $purity gte ((1000 / 7) * 6)>>
-						<<stress 5>><<acceptance "breasts_big" 18>>
-					<<elseif $purity gte ((1000 / 7) * 5)>>
-						<<stress 6>><<acceptance "breasts_big" 16>>
-					<<elseif $purity gte ((1000 / 7) * 4)>>
-						<<stress 7>><<acceptance "breasts_big" 14>>
-					<<elseif $purity gte ((1000 / 7) * 3)>>
-						<<stress 8>><<acceptance "breasts_big" 12>>
-					<<elseif $purity gte ((1000 / 7) * 2)>>
-						<<stress 10>><<acceptance "breasts_big" 10>>
-					<<else>>
-						<<stress 12>><<acceptance "breasts_big" 8>>
-					<</if>>
-				<</link>>
-				<<gstress>><<gacceptance>>
-				<br>
-			<</if>>
-		<<else>>
-			<<if $insecurity_breasts_big gte 1 and $player.breastsize gte 6 and $acceptance_breasts_big lte 999 and $daily.templePray isnot 1>>
-				<<templeicon "pray">><<link [[Pray for smaller breasts (1:00)|_prayPassage]]>>
-					<<pass 60>><<set $phase to 9>><<set $daily.templePray to 1>>
-					<<if $purity gte ((1000 / 7) * 7)>>
-						<<stress 5>><<acceptance "breasts_big" 20>>
-					<<elseif $purity gte ((1000 / 7) * 6)>>
-						<<stress 5>><<acceptance "breasts_big" 18>>
-					<<elseif $purity gte ((1000 / 7) * 5)>>
-						<<stress 6>><<acceptance "breasts_big" 16>>
-					<<elseif $purity gte ((1000 / 7) * 4)>>
-						<<stress 7>><<acceptance "breasts_big" 14>>
-					<<elseif $purity gte ((1000 / 7) * 3)>>
-						<<stress 8>><<acceptance "breasts_big" 12>>
-					<<elseif $purity gte ((1000 / 7) * 2)>>
-						<<stress 10>><<acceptance "breasts_big" 10>>
-					<<else>>
-						<<stress 12>><<acceptance "breasts_big" 8>>
-					<</if>>
-				<</link>>
-				<<gstress>><<gacceptance>>
-				<br>
-			<</if>>
+		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte $player.gender is "f" ? 8 : 6 and $acceptance_breasts_big lte 999 and $daily.templePray isnot 1>>
+			<<templeicon "pray">><<link [[Pray for your big breasts (1:00)|_prayPassage]]>>
+				<<pass 60>><<set $phase to 9>><<set $daily.templePray to 1>>
+				<<if $purity gte ((1000 / 7) * 7)>>
+					<<stress 5>><<acceptance "breasts_big" 20>>
+				<<elseif $purity gte ((1000 / 7) * 6)>>
+					<<stress 5>><<acceptance "breasts_big" 18>>
+				<<elseif $purity gte ((1000 / 7) * 5)>>
+					<<stress 6>><<acceptance "breasts_big" 16>>
+				<<elseif $purity gte ((1000 / 7) * 4)>>
+					<<stress 7>><<acceptance "breasts_big" 14>>
+				<<elseif $purity gte ((1000 / 7) * 3)>>
+					<<stress 8>><<acceptance "breasts_big" 12>>
+				<<elseif $purity gte ((1000 / 7) * 2)>>
+					<<stress 10>><<acceptance "breasts_big" 10>>
+				<<else>>
+					<<stress 12>><<acceptance "breasts_big" 8>>
+				<</if>>
+			<</link>>
+			<<gstress>><<gacceptance>>
+			<br>
 		<</if>>
 		<<if $insecurity_pregnancy gte 1 and $acceptance_pregnancy lte 999 and playerBellySize() gte 8 and $daily.templePray isnot 1>>
 			<<set _pregnancyLink to (playerAwareTheyArePregnant() ? "Pray about your pregnant belly (1:00)" : "Pray about your pregnant looking belly (1:00)")>>
diff --git a/game/overworld-town/special-kylar/main.twee b/game/overworld-town/special-kylar/main.twee
index c485399d59..0a6f656c4c 100644
--- a/game/overworld-town/special-kylar/main.twee
+++ b/game/overworld-town/special-kylar/main.twee
@@ -383,7 +383,6 @@
 		You think about what Kylar said, and realisation dawns on you. Your <<penis>> is beautiful. Why should you care what other people say about it?
 		You've gained the
 		<<switch _acceptanceAchieved>>
-			<<case "penis_tiny">> <span class="green">Acceptance: Tiny Penis</span>
 			<<case "penis_small">> <span class="green">Acceptance: Small Penis</span>
 			<<case "penis_big">> <span class="green">Acceptance: Big Penis</span>
 		<</switch>>
diff --git a/game/overworld-town/special-sydney/temple.twee b/game/overworld-town/special-sydney/temple.twee
index 9f216ca979..45954a8af7 100644
--- a/game/overworld-town/special-sydney/temple.twee
+++ b/game/overworld-town/special-sydney/temple.twee
@@ -395,25 +395,15 @@ The two of you walk back to the main area of the temple. It takes some time, but
 		<<else>>
 			Sydney is taking deep breaths, seemingly trying to ignore something awful.
 		<</if>>
-	<<case 4>>
-		Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You pray for a bigger penis.
-		<br><br>
-		An hour passes, and your penis is no bigger.
-		<br><br>
-		<<if $acceptance_penis_tiny gte 1000>>
-			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Penis</span> trait.
-			<br><br>
-		<</if>>
-		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
-	<<case 5>>
+	<<case 4 5>>
 		Your thoughts turn to your <<penis>>, and the mocking way people regard it. The torment returns. You pray for a bigger penis.
 		<br><br>
 		An hour passes, and your penis is no bigger.
 		<br><br>
 		<<if $acceptance_penis_small gte 1000>>
+			<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Small Penis</span> trait.
+			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 			<br><br>
 		<</if>>
 		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
@@ -423,30 +413,27 @@ The two of you walk back to the main area of the temple. It takes some time, but
 		An hour passes, and your penis is no smaller.
 		<br><br>
 		<<if $acceptance_penis_big gte 1000>>
+			<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Big Penis</span> trait.
+			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 			<br><br>
 		<</if>>
 		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
-	<<case 7>>
-		Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You pray for bigger breasts.
-		<br><br>
-		An hour passes, and your breasts are no bigger.
-		<br><br>
-		<<if $acceptance_breasts_tiny gte 1000>>
-			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Breasts</span> trait.
+	<<case 7 8>>
+		<<if $player.breastsize>>
+			Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
 			<br><br>
-		<</if>>
-		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
-	<<case 8>>
-		Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
-		<br><br>
-		An hour passes, and for a few moments the weight of scrutiny lifts.
+			An hour passes, and for a few moments the weight of scrutiny lifts.
+		<<else>>
+			Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You pray for bigger breasts.
+			<br><br>
+			An hour passes, and your breasts are no bigger.
+		<</if>>		
 		<br><br>
 		<<if $acceptance_breasts_small gte 1000>>
+			<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Small Breasts</span> trait.
+			Realisation dawns as you lean back. Your <<print $player.breastsize ? "<<breasts>> are" : "chest is">> beautiful. Why should you care what other people say about <<print $player.breastsize ? "them" : "it">>? You've gained the <span class="green">Acceptance: <<print $player.breastsize ? "_breastSizeName Breasts" : "Flat Chest">></span> trait.
 			<br><br>
 		<</if>>
 		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
@@ -456,8 +443,9 @@ The two of you walk back to the main area of the temple. It takes some time, but
 		An hour passes, and your breasts are no smaller.
 		<br><br>
 		<<if $acceptance_breasts_big gte 1000>>
+			<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Big Breasts</span> trait.
+			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 			<br><br>
 		<</if>>
 		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
@@ -643,17 +631,18 @@ The two of you walk back to the main area of the temple. It takes some time, but
 			<<else>>
 				<<He>> blushes and looks down. "I... well, I think it's cute, if that matters."
 			<</if>>
-			<<acceptance "penis_tiny" 20>>
+			<<acceptance "penis_small" 20>>
 		<<else>>
 			<<if _sydneyStatus.includes("corrupt")>>
 				<<He>> shrugs. "It's not the size, it's how you use it. Or so I hear."
 			<<else>>
 				<<He>> blinks. "Many animals use things other than... size... to show off to a mate. Even in nature, the size isn't always what matters."
 			<</if>>
-			<<acceptance "penis_tiny" 10>>
+			<<acceptance "penis_small" 10>>
 		<</if>>
 		<<if $acceptance_penis_tiny gte 1000>>
-			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Penis</span> trait.
+			<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
+			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 			<br><br>
 			Sydney <<if $sydneyromance is 1>>kisses you on the cheek and <</if>> smiles. "I hope I was able to help you."
 		<</if>>
@@ -679,7 +668,8 @@ The two of you walk back to the main area of the temple. It takes some time, but
 			<<acceptance "penis_small" 10>>
 		<</if>>
 		<<if $acceptance_penis_small gte 1000>>
-			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Small Penis</span> trait.
+			<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
+			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 			<br><br>
 			Sydney <<if $sydneyromance is 1>>kisses you on the cheek and <</if>> smiles. "I hope I was able to help you."
 		<</if>>
@@ -705,32 +695,33 @@ The two of you walk back to the main area of the temple. It takes some time, but
 			<<acceptance "penis_big" 10>>
 		<</if>>
 		<<if $acceptance_penis_big gte 1000>>
+			<<set _penisSize to setup.penisSizes[$player.penissize + 2].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Big Penis</span> trait.
+			Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 			<br><br>
 			Sydney <<if $sydneyromance is 1>>kisses you on the cheek and <</if>> smiles. "I hope I was able to help you."
 		<</if>>
 	<<case 7>>
-		You tell Sydney about your insecurity in visceral detail, recalling the faces of everyone who's mentioned your tiny breasts.
+		You tell Sydney about your insecurity in visceral detail, recalling the faces of everyone who's mentioned your flat chest.
 		<br><br>
 		<<if $sydneyromance is 1>>
 			<<if _sydneyStatus.includes("corrupt")>>
-				<<He>> puts an arm around you. "I think I get it. If it makes you feel any better, I think they're cute. You should be proud."
+				<<He>> puts an arm around you. "I think I get it. If it makes you feel any better, I think it is nothing to worry about, your cute either way."
 			<<else>>
 				<<He>> blushes and looks down. "I... well, I think they're cute, if that matters."
 			<</if>>
-			<<acceptance "breasts_tiny" 20>>
+			<<acceptance "breasts_small" 20>>
 		<<else>>
 			<<if _sydneyStatus.includes("corrupt")>>
 				<<He>> shrugs. "Less back pain."
 			<<else>>
 				<<He>> blinks. "It's not a bad thing. If anything, they make physical activity a lot easier."
 			<</if>>
-			<<acceptance "breasts_tiny" 10>>
+			<<acceptance "breasts_small" 10>>
 		<</if>>
 		<<if $acceptance_breasts_tiny gte 1000>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Tiny Breasts</span> trait.
+			Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Flat Chest</span> trait.
 			<br><br>
 			Sydney <<if $sydneyromance is 1>>kisses you on the cheek and <</if>> smiles. "I hope I was able to help you."
 		<</if>>
@@ -753,8 +744,9 @@ The two of you walk back to the main area of the temple. It takes some time, but
 			<<acceptance "breasts_small" 10>>
 		<</if>>
 		<<if $acceptance_breasts_small gte 1000>>
+			<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Small Breasts</span> trait.
+			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 			<br><br>
 			Sydney <<if $sydneyromance is 1>>kisses you on the cheek and <</if>> smiles. "I hope I was able to help you."
 		<</if>>
@@ -777,8 +769,9 @@ The two of you walk back to the main area of the temple. It takes some time, but
 			<<acceptance "breasts_big" 10>>
 		<</if>>
 		<<if $acceptance_breasts_big gte 1000>>
+			<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: Big Breasts</span> trait.
+			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 			<br><br>
 			Sydney <<if $sydneyromance is 1>>kisses you on the cheek and <</if>> smiles. "I hope I was able to help you."
 		<</if>>
diff --git a/game/overworld-town/special-whitney/main.twee b/game/overworld-town/special-whitney/main.twee
index 53584bfac1..cd7714ab29 100644
--- a/game/overworld-town/special-whitney/main.twee
+++ b/game/overworld-town/special-whitney/main.twee
@@ -222,7 +222,7 @@ Whitney <<pullsup>> your <<allTops>>, revealing your <<undertop>> to <<him>> and
 	<<else>>
 		"How can you call yourself a girl with those little things?"
 	<</if>>
-	<<insecurity "breasts_tiny" 5>><<ginsecurity "breasts_tiny">>
+	<<insecurity "breasts_small" 10>><<ginsecurity "breasts_small">>
 <<elseif $player.breastsize lte 5>>
 	"<<pShes>> so small!" <<he>> exclaims as <<he>> holds your top, preventing you from covering back up<<if !$worn.under_upper.type.includes("naked")>>, then pulls your $worn.under_upper.name up so your <<breasts>> come free with a little bounce that gets a laugh<</if>>.
 	"How can you call yourself a girl with those little things?"
@@ -1014,7 +1014,7 @@ You <<pullup>> your <<allTopsUnderwear>>.
 	"Nice," <<he>> says as you turn to give everyone a view of your chest. "You know how to give a show."
 <<elseif $player.breastsize is 0>>
 	"<<pShes>> so small!" <<he>> exclaims. You cover your <<nipples>> with your fingers, but turn to give everyone a good view of your flat chest.
-	<<insecurity "breasts_tiny" 5>><<ginsecurity "breasts_tiny">>
+	<<insecurity "breasts_small" 10>><<ginsecurity "breasts_small">>
 <<elseif $player.breastsize lte 5>>
 	"<<pShes>> so small!" <<he>> exclaims. You cover your <<nipples>> with your fingers, but turn to give everyone a good view of your <<breasts>>.
 	<<insecurity "breasts_small" 5>><<ginsecurity "breasts_small">>
diff --git a/game/overworld-town/special-whitney/street.twee b/game/overworld-town/special-whitney/street.twee
index 6b456c6454..37f2e4e831 100644
--- a/game/overworld-town/special-whitney/street.twee
+++ b/game/overworld-town/special-whitney/street.twee
@@ -2636,10 +2636,10 @@ You're helpless to stop Whitney as <<he>> drags you out of the alley.
 		"What're you so shy about?" <<he>> laughs, squeezing your <<breasts>>.
 		<<if $player.breastsize is 0>>
 			"It's not like there's anything to see up here."
-			<<insecurity "breasts_tiny" 5>><<ginsecurity "breasts_tiny">>
+			<<insecurity "breasts_small" 10>><<ginsecurity "breasts_small">>
 		<<elseif $player.breastsize lte 5>>
 			"You should be happy someone's giving these pathetic tits attention."
-			<<insecurity "breasts_tiny" 5>><<ginsecurity "breasts_tiny">>
+			<<insecurity "breasts_small" 5>><<ginsecurity "breasts_small">>
 		<<elseif $player.breastsize lte 7>>
 			"These tits needs to be free."
 		<<else>>
@@ -2673,7 +2673,7 @@ You're helpless to stop Whitney as <<he>> drags you out of the alley.
 					"This supposed to be a secret?" <<he>> sneers. "Won't be for long."
 				<<else>>
 					"Guess I was wrong," <<he>> sneers. "Nothing to see, after all."
-					<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+					<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 				<</if>>
 			<<else>>
 				prods your entrance through your _bottom.name, chuckling.
diff --git a/game/special-dance/effects.twee b/game/special-dance/effects.twee
index 39f58b8c74..440f903904 100644
--- a/game/special-dance/effects.twee
+++ b/game/special-dance/effects.twee
@@ -953,13 +953,13 @@
 							<<rng>>
 							<<if $rng gte 76>>
 								"Your chest is so sleek, I'd think you a boy if I didn't know better."
-								<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+								<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 							<<elseif $rng gte 51>>
 								"Small tits are delicious."
-								<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+								<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 							<<elseif $rng gte 26>>
 								"Such small boobs must make dancing easier."
-								<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
+								<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 							<<else>>
 								"I bet you love having your nipples toyed with."
 							<</if>>
@@ -1115,16 +1115,16 @@
 							<<else>>
 								<<if $rng gte 76>>
 									"<<pHer>> penis is so tiny!"
-									<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<<elseif $rng gte 51>>
 									"What's it like having your <<penis>> out in front of all these strangers?"
-									<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<<elseif $rng gte 26>>
 									"I've never seen such a tiny cock."
-									<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<<else>>
 									"I bet you love having your <<penis>> ogled."
-									<<insecurity "penis_tiny" 1>><<ginsecurity "penis_tiny">>
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<</if>>
 							<</if>>
 						<<else>>
diff --git a/game/special-exhibition/main.twee b/game/special-exhibition/main.twee
index a37b765a49..f542a9cca0 100644
--- a/game/special-exhibition/main.twee
+++ b/game/special-exhibition/main.twee
@@ -1676,15 +1676,16 @@ The barrier at the sides is tall enough to cover your <<genitals>> from below. M
 	<<if $player.breastsize gte 3>>
 		"You're right. We don't want people thinking you're a pervert. Here." <<He>> grasps your <<breasts>> with both hands, and squeezes. "Much better."
 		<<garousal>><<arousal 600>>
+		<<if ($player.gender is "f" and $player.breastsize gte 8) or ($player.gender isnot "f" and $player.breastsize gte 6)>>
+			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
+		<</if>>
 		<br><br>
 	<<else>>
 		"Those little things?" <<he>> scoffs. "They aren't worth worrying about."
-		<<if $player.gender is "f">>
-			<<if $player.breastsize is 0>>
-				<<insecurity "breasts_tiny" 1>><<ginsecurity "breasts_tiny">>
-			<<else>>
-				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-			<</if>>
+		<<if $player.breastsize is 0>>
+			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
+		<<else>>
+			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 		<</if>>
 		<br><br>
 	<</if>>
diff --git a/game/special-masturbation/audience.js b/game/special-masturbation/audience.js
index 03eeaebd8c..8acd2a3ac7 100644
--- a/game/special-masturbation/audience.js
+++ b/game/special-masturbation/audience.js
@@ -147,9 +147,13 @@ function masturbationAudienceLines(npc) {
 		V.audiencearousal += 1;
 		switch (V.player.penissize) {
 			case -2:
+				wikifier("insecurity", '"penis_small"', 4);
+				break;
 			case -1:
+				wikifier("insecurity", '"penis_small"', 3);
+				break;
 			case 0:
-				wikifier("insecurity", '"penis_tiny"', 1);
+				wikifier("insecurity", '"penis_small"', 2);
 				break;
 			case 1:
 				wikifier("insecurity", '"penis_small"', 1);
@@ -157,7 +161,7 @@ function masturbationAudienceLines(npc) {
 			case 2:
 				break;
 			case 3:
-				if (V.player.gender !== "m") wikifier("insecurity", '"penis_big"', 1);
+				wikifier("insecurity", '"penis_big"', 1);
 				break;
 			case 4:
 				wikifier("insecurity", '"penis_big"', 1);
@@ -172,7 +176,7 @@ function masturbationAudienceLines(npc) {
 		V.masturbationAudienceReactions.push("breastSize");
 		V.audiencearousal += 1;
 		if (V.player.gender_appearance !== "m") {
-			wikifier("insecurity", '"breasts_tiny"', 1);
+			wikifier("insecurity", '"breasts_small"', 2);
 		}
 		return masturbationAudienceLineText(npc, "breastSizeFlat");
 	} else if (V.player.breastsize <= 5) {
@@ -377,7 +381,7 @@ function masturbationAudienceLineText(npc, lineType = "") {
 				`"I've never seen such a pathetic penis."`,
 			]
 				.random()
-				.concat(`<<ginsecurity "penis_tiny">>`);
+				.concat(`<<ginsecurity "penis_small">>`);
 		case "penisSize0":
 			return [
 				`"${V.masturbationAudience > 1 ? "<<pShes>>" : "You're"} so tiny!"`,
@@ -385,7 +389,7 @@ function masturbationAudienceLineText(npc, lineType = "") {
 				`"I've never seen such a pathetic penis."`,
 			]
 				.random()
-				.concat(`<<ginsecurity "penis_tiny">>`);
+				.concat(`<<ginsecurity "penis_small">>`);
 		case "penisSize1":
 			return [
 				`"${V.masturbationAudience > 1 ? "<<pShes>>" : "You're"} so small!"`,
@@ -441,7 +445,7 @@ function masturbationAudienceLineText(npc, lineType = "") {
 						`"Should I take pictures of <<pher>> cute chest? It'll be useful later."`,
 					]
 						.random()
-						.concat(`<<ginsecurity "breasts_tiny">>`);
+						.concat(`<<ginsecurity "breasts_small">>`);
 				} else {
 					return [
 						`"I can't wait to see under <<pher>> top."`,
@@ -449,7 +453,7 @@ function masturbationAudienceLineText(npc, lineType = "") {
 						`"Don't worry, you're cute even without boobs."`,
 					]
 						.random()
-						.concat(`<<ginsecurity "breasts_tiny">>`);
+						.concat(`<<ginsecurity "breasts_small">>`);
 				}
 			}
 		case "breastSizeSmall":
diff --git a/t3lt.twee-config.yml b/t3lt.twee-config.yml
index 80e0318646..dda5dce732 100644
--- a/t3lt.twee-config.yml
+++ b/t3lt.twee-config.yml
@@ -40,8 +40,8 @@ sugarcube-2:
     crimeTypesDesc: '`"assault"` | `"coercion"` | `"destruction"` | `"exposure"` | `"obstruction"` | `"prostitution"` | `"resisting"` | `"thievery"` | `"petty"` | `"trespassing"`'
     fameTypes: '"exhibitionism"|"prostitution"|"bestiality"|"sex"|"rape"|"good"|"business"|"scrap"|"pimp"|"social"|"model"|"pregnancy"|"impreg"'
     fameTypesDesc: '`"exhibitionism"` | `"prostitution"` | `"bestiality"` | `"sex"` | `"rape"` | `"good"` | `"business"` | `"scrap"` | `"pimp"` | `"social"` | `"model"` | `"pregnancy"` | `"impreg"`'
-    insecurityTypes: '"penis_tiny"|"penis_small"|"penis_big"|"breasts_tiny"|"breasts_small"|"breasts_big"|"pregnancy"'
-    insecurityTypesDesc: '`"penis_tiny"` | `"penis_small"` | `"penis_big"` | `"breasts_tiny"` | `"breasts_small"` | `"breasts_big"` | `"pregnancy"`'
+    insecurityTypes: '"penis_small"|"penis_big"|"breasts_small"|"breasts_big"|"pregnancy"'
+    insecurityTypesDesc: '`"penis_small"` | `"penis_big"` | `"breasts_small"` | `"breasts_big"` | `"pregnancy"`'
     liquidTypes: '"goo"|"slime"|"fluid"|"nectar"|"cum"|"semen"'
     liquidTypesDesc: '`"goo"` | `"slime"` | `"fluid"` | `"nectar"` | `"cum"` | `"semen"`'
     loveInterest: '"Robin"|"Whitney"|"Kylar"|"Sydney"|"Eden"|"Avery"|"Alex"|"Great Hawk"|"Black Wolf"'
-- 
GitLab


From e76e315e8892b32c88b28883d94ba9e6b872aac2 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 22 Sep 2024 22:05:43 +0100
Subject: [PATCH 02/17] Adjusted breast and penis insecurities work

- Males will always gain `breast_big` insecurity when at and above the `breastsize` of 1
- Males will always gain `penis_small` insecurity when at and below the `penissize` of 1
- Males will always gain `penis_big` insecurity when at the `penissize` of 4

- Female will always gain `breast_small` insecurity when at and below the `breastsize` of 4
- Female will always gain `breast_big` insecurity when at and above the `breastsize` of 8
- Males will always gain `penis_small` insecurity when at and below the `penissize` of 1
- Males will always gain `penis_big` insecurity when at and above the `penissize` of 3

- Herms will always gain `breast_big` insecurity when at and above the `breastsize` of 8
- Herms will always gain `penis_small` insecurity when at and below the `penissize` of 1
- Herms will always gain `penis_big` insecurity when at and above the `penissize` of 3
---
 .../04-Variables/variables-versionUpdate.twee |  7 ++++++
 .../base-system/overlays/characteristics.twee |  6 ++---
 game/base-system/stat-changes.js              | 10 ++++++--
 game/base-system/text.js                      |  7 ++++--
 game/overworld-forest/loc-lake/main.twee      | 19 ++++++++------
 game/overworld-forest/loc-lake/widgets.twee   |  8 +++---
 game/overworld-town/loc-temple/main.twee      | 22 +++++++++-------
 game/overworld-town/loc-temple/widgets.twee   |  8 +++---
 .../overworld-town/special-sydney/temple.twee | 25 +++++++++++--------
 9 files changed, 68 insertions(+), 44 deletions(-)

diff --git a/game/04-Variables/variables-versionUpdate.twee b/game/04-Variables/variables-versionUpdate.twee
index babd99c853..6b1084941d 100644
--- a/game/04-Variables/variables-versionUpdate.twee
+++ b/game/04-Variables/variables-versionUpdate.twee
@@ -5489,6 +5489,13 @@
 	<<if $insecurity_breasts_tiny isnot undefined or $insecurity_penis_tiny isnot undefined>>
 		<<set $insecurity_breasts_small to Math.max($insecurity_breasts_small, $insecurity_breasts_tiny)>>
 		<<set $acceptance_breasts_small to Math.max($acceptance_breasts_small, $acceptance_breasts_tiny)>>
+		<<if $player.gender isnot "f">>
+			<<set $insecurity_breasts_big to Math.max($insecurity_breasts_big, $insecurity_breasts_small)>>
+			<<set $acceptance_breasts_big to Math.max($acceptance_breasts_big, $acceptance_breasts_small)>>
+			<<set $insecurity_breasts_small to 0>>
+			<<set $acceptance_breasts_small to 0>>
+		<</if>>
+
 		<<set $insecurity_penis_small to Math.max($insecurity_penis_small, $insecurity_penis_tiny)>>
 		<<set $acceptance_penis_small to Math.max($acceptance_penis_small, $acceptance_penis_tiny)>>
 
diff --git a/game/base-system/overlays/characteristics.twee b/game/base-system/overlays/characteristics.twee
index 0d386493bd..4795036f7f 100644
--- a/game/base-system/overlays/characteristics.twee
+++ b/game/base-system/overlays/characteristics.twee
@@ -945,9 +945,7 @@
 		<</if>>
 	<</if>>
 	<<set $_breastSize to setup.breastsizes[$player.breastsize].toUpperFirst()>>
-	<<set $_breastSizeMin to $player.gender is "f" ? 0 : 1>>
-	<<set $_breastSizeMax to $player.gender is "f" ? 4 : 5>>
-	<<if $insecurity_breasts_small gte 1 and between($player.breastsize, $_breastSizeMin, $_breastSizeMax) and $acceptance_breasts_small lte 999>>
+	<<if $player.gender is "f" and $insecurity_breasts_small gte 1 and between($player.breastsize, 0, 4) and $acceptance_breasts_small lte 999>>
 		<span class="red">Insecurity: <<print $player.breastsize ? "$_breastSize Breasts" : "Flat Chest">></span>
 		<div class="meter">
 			<<set _percent=Math.floor(($insecurity_breasts_small/1000)*100)>>
@@ -961,7 +959,7 @@
 			</div>
 		<</if>>
 	<</if>>
-	<<set $_breastSizeMin2 to $player.gender is "f" ? 8 : 6>>
+	<<set $_breastSizeMin2 to $player.gender is "m" ? 1 : 8>>
 	<<if $insecurity_breasts_big gte 1 and $player.breastsize gte $_breastSizeMin2 and $acceptance_breasts_big lte 999>>
 	<span class="red">Insecurity: <<print $_breastSize>> Breasts</span>
 		<div class="meter">
diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index ac8a239730..4052c9edce 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -678,11 +678,14 @@ const statChange = (() => {
 		}
 		amount = Number(amount);
 		if (amount) {
+			// Male players always gain insecurity when breast size is above 0
+			if (V.player.gender === "m" && type === "breasts_small") type = "breasts_big";
+
 			const insecurityPossible = {
 				penis_small: V.player.penisExist && V.player.penissize <= 1,
 				penis_big: V.player.penisExist && V.player.penissize >= V.player.gender === "m" ? 4 : 3,
-				breasts_small: between(V.player.breastsize, V.player.gender === "f" ? 0 : 1, V.player.gender === "f" ? 4 : 5),
-				breasts_big: V.player.breastsize >= V.player.gender === "f" ? 8 : 6,
+				breasts_small: V.player.gender === "f" && between(V.player.breastsize, 0, 4),
+				breasts_big: V.player.breastsize >= V.player.gender === "m" ? 1 : 8,
 				pregnancy: playerBellySize() >= 8,
 			}[type];
 			const acceptance = V["acceptance_" + type];
@@ -734,6 +737,9 @@ const statChange = (() => {
 		}
 		amount = Number(amount);
 		if (amount) {
+			// Male players always gain insecurity when breast size is above 0
+			if (V.player.gender === "m" && type === "breasts_small") type = "breasts_big";
+
 			V["acceptance_" + type] = Math.clamp(V["acceptance_" + type] + amount * 6, 0, 1000);
 		}
 	}
diff --git a/game/base-system/text.js b/game/base-system/text.js
index f488501379..427eab0a09 100644
--- a/game/base-system/text.js
+++ b/game/base-system/text.js
@@ -353,11 +353,14 @@ statDisplay.create("ggghunger", () => statDisplay.statChange("Hunger", 3, "red")
 
 statDisplay.create("gacceptance", () => statDisplay.statChange("Acceptance", 1, "green"));
 statDisplay.create("ginsecurity", type => {
+	// Male players can always gain insecurity when breast size is above 0
+	if (V.player.gender === "m" && type === "breasts_small") type = "breasts_big";
+
 	const insecurityPossible = {
 		penis_small: V.player.penisExist && V.player.penissize <= 1,
 		penis_big: V.player.penisExist && V.player.penissize >= V.player.gender === "m" ? 4 : 3,
-		breasts_small: between(V.player.breastsize, V.player.gender === "f" ? 0 : 1, V.player.gender === "f" ? 4 : 5),
-		breasts_big: V.player.breastsize >= V.player.gender === "f" ? 8 : 6,
+		breasts_small: V.player.gender === "f" && between(V.player.breastsize, 0, 4),
+		breasts_big: V.player.breastsize >= V.player.gender === "m" ? 1 : 8,
 		pregnancy: playerBellySize() >= 8,
 	}[type];
 	if (!insecurityPossible) return "";
diff --git a/game/overworld-forest/loc-lake/main.twee b/game/overworld-forest/loc-lake/main.twee
index 7ad4bfc59c..8aa06a11cb 100644
--- a/game/overworld-forest/loc-lake/main.twee
+++ b/game/overworld-forest/loc-lake/main.twee
@@ -1334,21 +1334,26 @@ You lift the shovel, and thrust it into the ice. It's hard work, but you manage
 		<br><br>
 		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 	<</if>>
-<<elseif $phase is 7 or $phase is 8>>
+<<elseif $phase is 7>>
 	<<set $phase to 0>>
-	<<if $player.breastsize>>
-		Your thoughts turn to your <<breasts>>, and the mocking way people regard them.
-	<<else>>
-		Your thoughts turn to your flat chest, and the mocking way people regard it.
+	Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You try to remain detached.
+	<br><br>
+
+	An hour passes, and for a few moments the weight of scrutiny lifts.
+	<<if $acceptance_breasts_small gte 1000>>
+		<br><br>
+		Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Flat Chest</span> trait.
 	<</if>>
-	The torment returns. You try to remain detached.
+<<elseif $phase is 8>>
+	<<set $phase to 0>>
+	Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
 	<br><br>
 
 	An hour passes, and for a few moments the weight of scrutiny lifts.
 	<<if $acceptance_breasts_small gte 1000>>
 		<br><br>
 		<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
-		Realisation dawns as you lean back. Your <<print $player.breastsize ? "<<breasts>> are" : "chest is">> beautiful. Why should you care what other people say about <<print $player.breastsize ? "them" : "it">>? You've gained the <span class="green">Acceptance: <<print $player.breastsize ? "_breastSizeName Breasts" : "Flat Chest">></span> trait.
+		Realisation dawns as you lean back. Your <<breasts>> beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 	<</if>>
 <<elseif $phase is 9>>
 	<<set $phase to 0>>
diff --git a/game/overworld-forest/loc-lake/widgets.twee b/game/overworld-forest/loc-lake/widgets.twee
index 394705190c..05dc00a12e 100644
--- a/game/overworld-forest/loc-lake/widgets.twee
+++ b/game/overworld-forest/loc-lake/widgets.twee
@@ -335,7 +335,7 @@
 	<br>
 
 	<<if $player.penisExist and $insecurity_penis_small gte 1 and $player.penissize lte 1 and $acceptance_penis_small lte 999 and $daily.lakeMeditate isnot 1>>
-		<<link [[Meditate on your small penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 5>><<willpower 1>><<set $daily.lakeMeditate to 1>>
+		<<link [[Meditate on your small penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to $player.penissize lt 0 ? 4 : 5>><<willpower 1>><<set $daily.lakeMeditate to 1>>
 			<<if $willpower gte (($willpowermax / 7) * 6)>>
 				<<stress 5>><<acceptance "penis_small" 20>>
 			<<elseif $willpower gte (($willpowermax / 7) * 5)>>
@@ -375,10 +375,8 @@
 		<br>
 	<</if>>
 	
-	<<set $_breastSizeMin to $player.gender is "f" ? 0 : 1>>
-	<<set $_breastSizeMax to $player.gender is "f" ? 4 : 5>>
-	<<if $insecurity_breasts_small gte 1 and between($player.breastsize, $_breastSizeMin, $_breastSizeMax) and $acceptance_breasts_small lte 999 and $daily.lakeMeditate isnot 1>>
-		<<link [[Meditate on your small breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 8>><<willpower 1>><<set $daily.lakeMeditate to 1>>
+	<<if $player.gender is "f" and $insecurity_breasts_small gte 1 and between($player.breastsize, 0, 4) and $acceptance_breasts_small lte 999 and $daily.lakeMeditate isnot 1>>
+		<<link [[Meditate on your small breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to $player.breastsize ? 7 : 8>><<willpower 1>><<set $daily.lakeMeditate to 1>>
 			<<if $willpower gte (($willpowermax / 7) * 6)>>
 				<<stress 5>><<acceptance "breasts_small" 20>>
 			<<elseif $willpower gte (($willpowermax / 7) * 5)>>
diff --git a/game/overworld-town/loc-temple/main.twee b/game/overworld-town/loc-temple/main.twee
index 39bd24384c..9df5b21b96 100644
--- a/game/overworld-town/loc-temple/main.twee
+++ b/game/overworld-town/loc-temple/main.twee
@@ -375,21 +375,25 @@ You are in the main hall of the temple. Stone walls and pillars tower into darkn
 		Realisation dawns as you lean back. Your <<penis>> is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: _penisSize Penis</span> trait.
 		<br><br>
 	<</if>>
-<<elseif $phase is 7 or $phase is 8>>
+<<elseif $phase is 7>>
 	<<set $phase to 0>>
-	<<if $player.breastsize>>
-		Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
-		<br><br>
-		An hour passes, and for a few moments the weight of scrutiny lifts.
-	<<else>>
-		Your thoughts turn to your flat chest, and the mocking way people regard it.
+	Your thoughts turn to your flat chest, and the mocking way people regard it.
+	<br><br>
+	An hour passes, and your breasts are no bigger.
+	<br><br>
+	<<if $acceptance_breasts_small gte 1000>>
+		Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Flat Chest</span> trait.
 		<br><br>
-		An hour passes, and your breasts are no bigger.
 	<</if>>
+<<elseif $phase is 8>>
+	<<set $phase to 0>>
+	Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
+	<br><br>
+	An hour passes, and for a few moments the weight of scrutiny lifts.
 	<br><br>
 	<<if $acceptance_breasts_small gte 1000>>
 		<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
-		Realisation dawns as you lean back. Your <<print $player.breastsize ? "<<breasts>> are" : "chest is">> beautiful. Why should you care what other people say about <<print $player.breastsize ? "them" : "it">>? You've gained the <span class="green">Acceptance: <<print $player.breastsize ? "_breastSizeName Breasts" : "Flat Chest">></span> trait.
+		Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 		<br><br>
 	<</if>>
 <<elseif $phase is 9>>
diff --git a/game/overworld-town/loc-temple/widgets.twee b/game/overworld-town/loc-temple/widgets.twee
index 2217452704..905cbe77a7 100644
--- a/game/overworld-town/loc-temple/widgets.twee
+++ b/game/overworld-town/loc-temple/widgets.twee
@@ -70,10 +70,8 @@
 			<<gstress>><<gacceptance>>
 			<br>
 		<</if>>
-		<<set $_breastSizeMin to $player.gender is "f" ? 0 : 1>>
-		<<set $_breastSizeMax to $player.gender is "f" ? 4 : 5>>
-		<<if $insecurity_breasts_small gte 1 and between($player.breastsize, $_breastSizeMin, $_breastSizeMax) and $acceptance_breasts_small lte 999 and $daily.templePray isnot 1>>
-			<<templeicon "pray">><<link [[Pray for your small breasts (1:00)|_prayPassage]]>>
+		<<if $player.gender is "f" and $insecurity_breasts_small gte 1 and between($player.breastsize, 0, 4) and $acceptance_breasts_small lte 999 and $daily.templePray isnot 1>>
+			<<templeicon "pray">><<link [[Pray for bigger breasts (1:00)|_prayPassage]]>>
 				<<pass 60>><<set $phase to !$player.breastsize ? 7 : 8>><<set $daily.templePray to 1>>
 				<<if $purity gte ((1000 / 7) * 7)>>
 					<<stress 5>><<acceptance "breasts_small" 20>>
@@ -95,7 +93,7 @@
 			<br>
 		<</if>>
 		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte $player.gender is "f" ? 8 : 6 and $acceptance_breasts_big lte 999 and $daily.templePray isnot 1>>
-			<<templeicon "pray">><<link [[Pray for your big breasts (1:00)|_prayPassage]]>>
+			<<templeicon "pray">><<link [[Pray for smaller breasts (1:00)|_prayPassage]]>>
 				<<pass 60>><<set $phase to 9>><<set $daily.templePray to 1>>
 				<<if $purity gte ((1000 / 7) * 7)>>
 					<<stress 5>><<acceptance "breasts_big" 20>>
diff --git a/game/overworld-town/special-sydney/temple.twee b/game/overworld-town/special-sydney/temple.twee
index 45954a8af7..271bf040d7 100644
--- a/game/overworld-town/special-sydney/temple.twee
+++ b/game/overworld-town/special-sydney/temple.twee
@@ -419,21 +419,26 @@ The two of you walk back to the main area of the temple. It takes some time, but
 			<br><br>
 		<</if>>
 		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
-	<<case 7 8>>
-		<<if $player.breastsize>>
-			Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
-			<br><br>
-			An hour passes, and for a few moments the weight of scrutiny lifts.
-		<<else>>
-			Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You pray for bigger breasts.
+	<<case 7>>
+		Your thoughts turn to your flat chest, and the mocking way people regard it. The torment returns. You pray for bigger breasts.
+		<br><br>
+		An hour passes, and your breasts are no bigger.
+		<br><br>
+		<<if $acceptance_breasts_small gte 1000>>
+			<<set _acceptMessage to true>>
+			Realisation dawns as you lean back. Your chest is beautiful. Why should you care what other people say about it? You've gained the <span class="green">Acceptance: Flat Chest</span> trait.
 			<br><br>
-			An hour passes, and your breasts are no bigger.
-		<</if>>		
+		<</if>>
+		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
+	<<case 8>>
+		Your thoughts turn to your <<breasts>>, and the mocking way people regard them. The torment returns. You try to remain detached.
+		<br><br>
+		An hour passes, and for a few moments the weight of scrutiny lifts.	
 		<br><br>
 		<<if $acceptance_breasts_small gte 1000>>
 			<<set _breastSizeName to setup.breastsizes[$player.breastsize].toUpperFirst()>>
 			<<set _acceptMessage to true>>
-			Realisation dawns as you lean back. Your <<print $player.breastsize ? "<<breasts>> are" : "chest is">> beautiful. Why should you care what other people say about <<print $player.breastsize ? "them" : "it">>? You've gained the <span class="green">Acceptance: <<print $player.breastsize ? "_breastSizeName Breasts" : "Flat Chest">></span> trait.
+			Realisation dawns as you lean back. Your <<breasts>> are beautiful. Why should you care what other people say about them? You've gained the <span class="green">Acceptance: _breastSizeName Breasts</span> trait.
 			<br><br>
 		<</if>>
 		Sydney keeps <<his>> head bowed, unaware of your <<if _acceptMessage>>revelation<<else>>thoughts<</if>>.
-- 
GitLab


From 23b9a4001af7ea7b3c33825af76b1bf69f4ec015 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 22 Sep 2024 22:17:47 +0100
Subject: [PATCH 03/17] Math adjustments

---
 game/03-JavaScript/time.js | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/game/03-JavaScript/time.js b/game/03-JavaScript/time.js
index 947a5ad4d0..8541bd7a14 100644
--- a/game/03-JavaScript/time.js
+++ b/game/03-JavaScript/time.js
@@ -1346,11 +1346,12 @@ function dailyPlayerEffects() {
 
 	const reducedBreastsize = Math.floor(V.player.breastsize / 2);
 	if (V.player.gender === "m") {
-		statChange.insecurity("breasts_small", Math.clamp(reducedBreastsize - 3, -Infinity, -1));
-		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 6, -Infinity, -1));
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 5, -5, -1));
+	} else if (V.player.gender === "h") {
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 4, -4, -1));
 	} else {
-		statChange.insecurity("breasts_small", -Math.clamp(reducedBreastsize, 1, Infinity));
-		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 6, -Infinity, -1));
+		statChange.insecurity("breasts_small", -Math.clamp(reducedBreastsize - 1, 1, 5));
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 4, -4, -1));
 	}
 
 	for (const bodypart of setup.bodyparts) {
-- 
GitLab


From 992b7419dcef0c80ee5371f12edcbd2ac86da871 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 22 Sep 2024 23:52:45 +0100
Subject: [PATCH 04/17] Added breast and penis insecurity to some missed events

---
 game/overworld-plains/loc-estate/cards.twee   |  2 +-
 game/overworld-plains/loc-farm/main.twee      | 12 +++++++
 game/overworld-plains/loc-farm/road.twee      | 18 +++++++++-
 game/overworld-plains/loc-moor/main.twee      |  5 ++-
 game/overworld-town/loc-bus/main.twee         |  2 +-
 .../loc-danube-homes/skulduggery.twee         |  5 +++
 .../overworld-town/loc-danube-homes/work.twee |  4 +++
 game/overworld-town/loc-domus-homes/work.twee | 15 ++++++++
 game/overworld-town/loc-hospital/main.twee    | 10 ++++++
 .../overworld-town/loc-photography/model.twee | 19 ++++++++++
 game/overworld-town/loc-police/community.twee | 25 +++++++++++--
 .../loc-school/widgets-events.twee            | 10 ++++++
 game/overworld-town/loc-sea/events.twee       | 36 +++++++++++++++++--
 game/overworld-town/loc-street/events.twee    | 31 ++++++----------
 game/overworld-town/loc-street/widgets.twee   |  5 +++
 .../overworld-underground/loc-mines/main.twee | 14 +++++---
 16 files changed, 180 insertions(+), 33 deletions(-)

diff --git a/game/overworld-plains/loc-estate/cards.twee b/game/overworld-plains/loc-estate/cards.twee
index 2567bcdaeb..da9ac5ff31 100644
--- a/game/overworld-plains/loc-estate/cards.twee
+++ b/game/overworld-plains/loc-estate/cards.twee
@@ -1874,7 +1874,7 @@ Before <<he>> can say anything, you continue.
 			"I love the anticipation," Wren says.
 		<<else>>
 			<<if $player.perceived_breastsize gte 7>>
-				"Think <<pher>> breasts are as big as they look?" Wren laughs.
+				"Think <<pher>> breasts are as big as they look?" Wren laughs. <<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 			<<else>>
 				"I bet you look good without a top on," Wren smirks.
 			<</if>>
diff --git a/game/overworld-plains/loc-farm/main.twee b/game/overworld-plains/loc-farm/main.twee
index 14f5bc978b..5197456292 100644
--- a/game/overworld-plains/loc-farm/main.twee
+++ b/game/overworld-plains/loc-farm/main.twee
@@ -1168,6 +1168,11 @@ The <<person3>><<person>> grasps Alex from behind.
 		<span class="lewd">and expose your <<breasts>>.</span>
 	<</if>>
 	You tap on the glass for good measure, but thugs are already turning away from Alex.
+	<<if $player.breastsize gte 8>>
+		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+	<<else>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+	<</if>>
 	<br><br>
 
 	<<if $farm_fight.stage gte 5>>
@@ -1202,6 +1207,13 @@ The <<person3>><<person>> grasps Alex from behind.
 		<span class="lewd">You expose your <<genitals>>.</span>
 	<</if>>
 	The thugs drop everything to ogle.
+	<<if $player.penisExist>>
+		<<if $player.penissize gte 3>>
+			<<insecurity "penis_big">><<ginsecurity "penis_big">>
+		<<else>>
+			<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+		<</if>>
+	<</if>>
 	<br><br>
 
 	<<if $farm_fight.stage gte 5>>
diff --git a/game/overworld-plains/loc-farm/road.twee b/game/overworld-plains/loc-farm/road.twee
index 03c72ce0ba..851b32186f 100644
--- a/game/overworld-plains/loc-farm/road.twee
+++ b/game/overworld-plains/loc-farm/road.twee
@@ -842,13 +842,29 @@ You step away from the <<person>>. "Suit yourself," <<he>> says, before driving
 
 <<if $worn.under_upper.exposed lte 0>>
 	You tug off your $worn.upper.name, exposing your $worn.under_upper.name. The <<person>> ogles you, and snatches the top from your hands.
+	<<if $player.breastsize gte 8>>
+		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+	<<else>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+	<</if>>
 	<br><br>
 
 <<elseif $player.gender is "f" or $player.gender_appearance is "f" or $player.gender is "h">>
-	You tug off your $worn.upper.name, exposing your <<breasts>>. The <<person>> ogles you, and snatches the top from your hands.<<covered>><<exhibitionism2>>
+	You tug off your $worn.upper.name, exposing your <<breasts>>. The <<person>> ogles you, and snatches the top from your hands.
+	<<if $player.breastsize gte 8>>
+		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+	<<else>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+	<</if>>
+	<<covered>><<exhibitionism2>>
 
 <<else>>
 	You tug off your $worn.upper.name, exposing your <<breasts>>. The <<person>> ogles you, and snatches the top from your hands.
+	<<if $player.breastsize gte 8>>
+		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+	<<else>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+	<</if>>
 	<br><br>
 
 <</if>>
diff --git a/game/overworld-plains/loc-moor/main.twee b/game/overworld-plains/loc-moor/main.twee
index 16ebebc2d8..85ea11b04e 100644
--- a/game/overworld-plains/loc-moor/main.twee
+++ b/game/overworld-plains/loc-moor/main.twee
@@ -613,17 +613,20 @@ The journey back to shore proves safer.
 		"Now there's a surprise," <<he>> says.
 		<<if $player.penissize gte 4>>
 			"And it's so big. Shame I don't have a camera."
+			<<insecurity "penis_big">><<ginsecurity "penis_big">>
 		<<elseif $player.penissize lte 1>>
 			"Though I can barely see it from here."
+			<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 		<<else>>
-
 		<</if>>
 	<<else>>
 		"Nice cock," <<he>> says.
 		<<if $player.penissize gte 4>>
 			"It's so big. Shame I don't have a camera."
+			<<insecurity "penis_big">><<ginsecurity "penis_big">>
 		<<elseif $player.penissize lte 1>>
 			"Though I can barely make it out from here." <<He>> laughs.
+			<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 		<<else>>
 
 		<</if>>
diff --git a/game/overworld-town/loc-bus/main.twee b/game/overworld-town/loc-bus/main.twee
index bc79cb9941..f82b309337 100644
--- a/game/overworld-town/loc-bus/main.twee
+++ b/game/overworld-town/loc-bus/main.twee
@@ -382,7 +382,7 @@ You feel their hungry eyes as you <<pullup>> your $worn.upper.name, revealing yo
 	<<insecurity "breasts_small" 5>><<ginsecurity "breasts_small">>
 <<elseif $player.perceived_breastsize lte 7>>
 	"I knew you had nice boobs," says the <<person1>><<person>> as <<he>> reaches out and squeezes your right breast.
-	<<if $player.gender is "m">><<insecurity "breasts_big" 5>><<ginsecurity "breasts_big">><</if>>
+	<<insecurity "breasts_big" 5>><<ginsecurity "breasts_big">>
 <<else>>
 	"Look at the size of them," says the <<person1>><<person>> as <<he>> reaches out and squeezes your right breast.
 	<<insecurity "breasts_big" 5>><<ginsecurity "breasts_big">>
diff --git a/game/overworld-town/loc-danube-homes/skulduggery.twee b/game/overworld-town/loc-danube-homes/skulduggery.twee
index 2c29e6eabf..007fdb6570 100644
--- a/game/overworld-town/loc-danube-homes/skulduggery.twee
+++ b/game/overworld-town/loc-danube-homes/skulduggery.twee
@@ -105,6 +105,11 @@ You sneak around the mansion and look for anything of value.
 					"You're a nice piece of ass." <<He>> blinks and wipes <<his>> mouth with <<his>> hand. <<He>> looks troubled for a moment. "I'm not at my best, okay? Don't judge. I've had a little too much to drink."
 				<<else>>
 					"You're not bad," <<he>> smiles. <<if $player.perceived_breastsize lte 3>>"I would've chose one with proper breasts but<<else>>"Great breasts at least, and<</if>> it was pretty last minute."
+					<<if $player.breastsize gte 8>>
+						<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+					<<else>>
+						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+					<</if>>
 				<</if>>
 				<br>
 				You nod, smiling.
diff --git a/game/overworld-town/loc-danube-homes/work.twee b/game/overworld-town/loc-danube-homes/work.twee
index a825bc0708..2a12efe6cf 100644
--- a/game/overworld-town/loc-danube-homes/work.twee
+++ b/game/overworld-town/loc-danube-homes/work.twee
@@ -460,14 +460,18 @@ You lean toward <<his>> other breast, and suckle. <<He>> laughs, and inches <<hi
 	<<elseif $player.penissize gte 4>>
 		"Ah!" <<He>> withdraws <<his>> hand and stares at your crotch. <<He>> looks startled.
 		"How are you so big? Sorry, I don't mean to be rude." <<He>> returns <<his>> hand and continues to stroke as you suckle.
+		<<insecurity "penis_big">><<ginsecurity "penis_big">>
 	<<elseif $player.penissize gte 3>>
 		"You're pretty big." <<he>> coos. <<He>> strokes your length as you suckle.
+		<<insecurity "penis_big">><<ginsecurity "penis_big">>
 	<<elseif $player.penissize gte 2>>
 		<<He>> strokes your length as you suckle.
 	<<elseif $player.penissize gte 1>>
 		"Cute," <<he>> says. <<He>> strokes your length as you suckle.
+		<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 	<<else>>
 		<<He>> laughs. "It's so tiny. Sorry, I don't mean to be rude." <<He>> strokes your length with just one finger as you suckle.
+		<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 	<</if>>
 	<<if $player.vaginaExist>>
 		<<He>> frowns as <<his>> fingers find your <<pussy>>. "Is that what I think it is?" <<he>> asks. "You do have a lot of secrets."
diff --git a/game/overworld-town/loc-domus-homes/work.twee b/game/overworld-town/loc-domus-homes/work.twee
index e3c4f0b0cc..f53b023750 100644
--- a/game/overworld-town/loc-domus-homes/work.twee
+++ b/game/overworld-town/loc-domus-homes/work.twee
@@ -990,6 +990,11 @@ You try to help the <<person>> with <<his>> homework, but <<he>> isn't intereste
 <<else>>
 	<<if $worn.upper.type.includes("naked")>>
 		<<He>> keeps leering at your bare chest when <<he>> thinks you won't notice.
+		<<if $player.breastsize gte 8>>
+			<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+		<<else>>
+			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+		<</if>>
 	<<else>>
 		<<He>> rests <<his>> head on the table, looking bored.
 	<</if>>
@@ -1037,6 +1042,11 @@ You earn <<moneyGain 5>>.
 		You <<nervously>> take off your $worn.upper.name, baring your chest.
 	<</if>>
 	The <<person>> openly gawks at you, but seems satisfied.
+	<<if $player.breastsize gte 8>>
+		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+	<<else>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+	<</if>>
 	<<exhibitionism1>>
 
 	<<He>> is far from bored for the rest of the hour, although you don't know if that's a good thing.
@@ -1054,6 +1064,11 @@ You earn <<moneyGain 5>>.
 	<<if !($leftarm is "bound" and $rightarm is "bound")>>
 		You cover yourself with one arm as you return to the homework, but you still feel keenly exposed.
 	<</if>>
+	<<if $player.breastsize gte 8>>
+		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+	<<else>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+	<</if>>
 	<<exhibitionism3>>
 
 	<<He>> is far from bored for the rest of the hour, although you don't know if that's a good thing.
diff --git a/game/overworld-town/loc-hospital/main.twee b/game/overworld-town/loc-hospital/main.twee
index f9cd781015..6eaa905361 100644
--- a/game/overworld-town/loc-hospital/main.twee
+++ b/game/overworld-town/loc-hospital/main.twee
@@ -1132,16 +1132,22 @@ You awaken in the same room you passed out in. You don't feel any different, unt
 
 <<if $player.breastsize gte 12>>
 	"I hope those things don't give you back problems."
+	<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 <<elseif $player.breastsize gte 9>>
 	"You'll get a lot of attention with those."
+	<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 <<elseif $player.breastsize gte 6>>
 	"That's a good size."
+	<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 <<elseif $player.breastsize gte 3>>
 	"You look good with those."
+	<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 <<elseif $player.breastsize gte 1>>
 	"You look cute with those."
+	<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 <<elseif $player.breastsize is 0>>
 	"Your chest looks cute."
+	<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 <</if>>
 <br><br>
 
@@ -1409,14 +1415,18 @@ You awaken in the same room you passed out in. You don't feel any different, unt
 
 <<if $player.penissize gte 4>>
 	Stares, in fact. <<He>> blushes and looks away.
+	<<insecurity "penis_big">><<ginsecurity "penis_big">>
 <<elseif $player.penissize gte 3>>
 	Stares, in fact. <<He>> blushes and looks away.
+	<<insecurity "penis_big">><<ginsecurity "penis_big">>
 <<elseif $player.penissize is 2>>
 	"No one would look twice at it now." <<He>> blushes. "N-not that it doesn't look nice."
 <<elseif $player.penissize is 1>>
 	"Such a manageable size."
+	<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 <<else>>
 	"It looks so cute."
+	<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 <</if>>
 <br><br>
 
diff --git a/game/overworld-town/loc-photography/model.twee b/game/overworld-town/loc-photography/model.twee
index 59d81e10ec..042bd0b432 100644
--- a/game/overworld-town/loc-photography/model.twee
+++ b/game/overworld-town/loc-photography/model.twee
@@ -756,6 +756,11 @@ Money in hand, you leave the studio.
 	You strike another pose, now with your chest bare.
 <</if>>
 Niki takes more pictures, focusing your chest and face. <<nnpc_He "Niki">> remains entirely professional. You feel your cheeks flush.
+<<if $player.breastsize gte 8>>
+	<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+<<else>>
+	<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+<</if>>
 <br><br>
 
 <<link [[Next|Photo Model Topless 2]]>><</link>>
@@ -904,9 +909,23 @@ Niki's camera clicks and flashes as you peel your $worn.under_lower.name down yo
 <<if $enemyno gte 2>>
 	The <<person>> starts to <<npcUndressText $NPCList[$index] "lower" "self">>,
 	but the <<person2>><<person>> sat beside catches <<person1>><<him>>, and nods at Niki's back.
+	<<if $player.penisExist>>
+		<<if $player.penissize gte 3>>
+			<<insecurity "penis_big">><<ginsecurity "penis_big">>
+		<<else>>
+			<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+		<</if>>
+	<</if>>
 <<elseif $enemyno is 1>>
 	The <<person>> starts to <<npcUndressText $NPCList[$index] "lower" "self">>,
 	then catches <<himself>>, and throws a nervous glance at Niki's back.
+	<<if $player.penisExist>>
+		<<if $player.penissize gte 3>>
+			<<insecurity "penis_big">><<ginsecurity "penis_big">>
+		<<else>>
+			<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+		<</if>>
+	<</if>>
 <</if>>
 
 <<if $phase is 1>>
diff --git a/game/overworld-town/loc-police/community.twee b/game/overworld-town/loc-police/community.twee
index acc4efa3ee..acc3c95d02 100644
--- a/game/overworld-town/loc-police/community.twee
+++ b/game/overworld-town/loc-police/community.twee
@@ -912,6 +912,11 @@ You tear the fabric away from the thorns.
 	"No slacking," the police officer shouts. "I don't care if you're naked. You're working."
 	<<if $player.gender_appearance is "f">>
 		One of the criminals whistles at you, and many more ogle.<<gstress>><<garousal>><<arousal 600>><<stress 6>>
+		<<if $player.breastsize gte 8>>
+			<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+		<<else>>
+			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+		<</if>>
 		<br><br>
 		<<fameexhibitionism 10>>
 		<<link [[Next|Police Community Wasteland Topless]]>><</link>>
@@ -919,11 +924,15 @@ You tear the fabric away from the thorns.
 	<<else>>
 		<<if $player.gender is "f">>
 			You hear laughter, and catch the other criminals ogling, but they seem to think you're a boy.<<gstress>><<garousal>><<arousal 600>><<stress 6>>
-			<br><br>
 		<<else>>
 			You hear laughter, and catch the other criminals ogling.
-			<br><br>
 		<</if>>
+		<<if $player.breastsize gte 8>>
+			<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+		<<else>>
+			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+		<</if>>
+		<br><br>
 
 		The rest of the process is uneventful.
 		<br><br>
@@ -974,6 +983,11 @@ You tear the fabric away from the thorns.
 <<effects>>
 
 You keep one arm held to your chest as you work, but this makes it hard to operate the shears. You can feel the others watching. A few ogle too much, and get another day of community service added to their sentence for slacking.
+<<if $player.breastsize gte 8>>
+	<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+<<else>>
+	<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+<</if>>
 <br><br>
 
 Aside from your exposure, the rest of the process is uneventful.
@@ -1019,6 +1033,13 @@ Aside from your exposure, the rest of the process is uneventful.
 <br><br>
 
 You can feel the others watching. A few ogle too much, and get another day of community service added to their sentence for slacking.
+<<if $player.penisExist>>
+	<<if $player.penissize gte 3>>
+		<<insecurity "penis_big">><<ginsecurity "penis_big">>
+	<<else>>
+		<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+	<</if>>
+<</if>>
 <br><br>
 
 Aside from your exposure, the rest of the process is uneventful.
diff --git a/game/overworld-town/loc-school/widgets-events.twee b/game/overworld-town/loc-school/widgets-events.twee
index 8d3ff68c46..9b4f5e68e0 100644
--- a/game/overworld-town/loc-school/widgets-events.twee
+++ b/game/overworld-town/loc-school/widgets-events.twee
@@ -1155,6 +1155,11 @@
 				<<if $worn.under_upper.type.includes("naked") or $worn.under_upper.type.includes("sticky")>>
 					"I can't find a strap," the <<person>> responsible exclaims. "She's not wearing a bra or anything." <<He>> runs back to <<his>> giggling friends. Your cheeks flush.
 					<<gpain>><<pain 1>><<trauma 6>><<stress 6>><<gtrauma>><<gstress>><<fameexhibitionism 3>>
+					<<if $player.breastsize gte 8>>
+						<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+					<<else>>
+						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+					<</if>>
 					<br><br>
 
 					<<endevent>>
@@ -1166,6 +1171,11 @@
 
 					The culprit, a <<person>>, runs back to <<his>> giggling friends.
 					<<gpain>><<pain 1>><<trauma 6>><<stress 6>><<gtrauma>><<gstress>>
+					<<if $player.breastsize gte 8>>
+						<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+					<<else>>
+						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+					<</if>>
 					<br><br>
 
 					<<link [[Find somewhere quiet to fix your clothes|Bra Strap Quiet]]>><</link>>
diff --git a/game/overworld-town/loc-sea/events.twee b/game/overworld-town/loc-sea/events.twee
index dbc646b8a9..e0a60882cb 100644
--- a/game/overworld-town/loc-sea/events.twee
+++ b/game/overworld-town/loc-sea/events.twee
@@ -1167,6 +1167,11 @@ As <<he>> speaks, the <<person2>><<person>> swims around and behind you. <<Hes>>
 		grasps your <<breasts>>.
 		<<if $player.gender_appearance is "f" and $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1>>
 			"This slut's topless!" <<he>> shouts in excitement, squeezing them.<<gtrauma>><<gstress>><<ggarousal>><<trauma 6>><<stress 6>><<arousal 1200>>
+			<<if $player.breastsize gte 8>>
+				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+			<<else>>
+				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+			<</if>>
 			<br><br>
 
 			"Swimming out here exposed," the <<person1>><<person>> tuts. "You must be a real pervert. I know just what you need."
@@ -1176,6 +1181,11 @@ As <<he>> speaks, the <<person2>><<person>> swims around and behind you. <<Hes>>
 			<br>
 		<<else>>
 			<<He>> gropes and squeezes them beneath the fabric.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
+			<<if $player.breastsize gte 8>>
+				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+			<<else>>
+				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+			<</if>>
 			<br><br>
 
 			<<sea_pair_orgasm>>
@@ -1183,7 +1193,8 @@ As <<he>> speaks, the <<person2>><<person>> swims around and behind you. <<Hes>>
 	<<else>>
 		grasps your <<genitals>>.
 		<<if $worn.genitals.chastity>>
-			"This slut's wearing something odd," <<he>> says. "It feels like metal." <<He>> gives it a fruitless tug.
+			<<set _material to setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage or "metal">>
+			"This slut's wearing something odd," <<he>> says. "It feels like <<print _material is "parasite" ? "something soft" : _material>>." <<He>> gives it a fruitless tug.
 			<br><br>
 			"I bet it's a chastity thing," the <<person1>><<person>> replies. "So <<pshe>> must be a pervert. Let's give <<phim>> what <<pshe>> really wants."
 			<br><br>
@@ -1200,6 +1211,11 @@ As <<he>> speaks, the <<person2>><<person>> swims around and behind you. <<Hes>>
 			<br>
 		<<else>>
 			<<He>> gropes and squeezes it beneath the fabric.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
+			<<if $player.breastsize gte 8>>
+				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+			<<else>>
+				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+			<</if>>
 			<br><br>
 
 			<<sea_pair_orgasm>>
@@ -1292,6 +1308,11 @@ The pair disappear behind the waves.
 		<<outfitChecks>>
 		<<if $player.gender_appearance is "f" and _topless>>
 			"This slut's topless!" <<he>> shouts in excitement, squeezing them.<<gtrauma>><<gstress>><<ggarousal>><<trauma 6>><<stress 6>><<arousal 1200>>
+			<<if $player.breastsize gte 8>>
+				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+			<<else>>
+				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+			<</if>>
 			<br><br>
 
 			"Swimming out here exposed," the <<person1>><<person>> tuts. "You must be a real pervert. I know just what you need."
@@ -1301,13 +1322,19 @@ The pair disappear behind the waves.
 			<br>
 		<<else>>
 			<<He>> gropes <<= _topless ? "your chest and pinches your bare nipples" : "and squeezes them beneath the fabric">>.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
+			<<if $player.breastsize gte 8>>
+				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+			<<else>>
+				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+			<</if>>
 			<br><br>
 			<<sea_pair_orgasm>>
 		<</if>>
 	<<else>>
 		grasps your <<genitals>>.
 		<<if $worn.genitals.chastity>>
-			"This slut's wearing something odd," <<he>> says. "It feels like metal." <<He>> gives it a fruitless tug.
+			<<set _material to setup.clothes.genitals[clothesIndex('genitals',$worn.genitals)].altDamage or "metal">>
+			"This slut's wearing something odd," <<he>> says. "It feels like <<print _material is "parasite" ? "something soft" : _material>>." <<He>> gives it a fruitless tug.
 			<br><br>
 			"I bet it's a chastity thing," the <<person1>> the <<person>> replies. "So <<pshe>> must be a pervert. Let's give <<phim>> what <<pshe>> really wants."
 			<br><br>
@@ -1324,6 +1351,11 @@ The pair disappear behind the waves.
 			<br>
 		<<else>>
 			<<He>> gropes and squeezes it beneath the fabric.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
+			<<if $player.breastsize gte 8>>
+				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+			<<else>>
+				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+			<</if>>
 			<br><br>
 
 			<<sea_pair_orgasm>>
diff --git a/game/overworld-town/loc-street/events.twee b/game/overworld-town/loc-street/events.twee
index e97b49f94c..a96679fa28 100644
--- a/game/overworld-town/loc-street/events.twee
+++ b/game/overworld-town/loc-street/events.twee
@@ -9033,61 +9033,52 @@ You try to speak, but can't find the words. You feel the <<person>> catch you in
 			<<rng>>
 			<<if $rng gte 76>>
 				"Your chest is so sleek, I'd think you a boy if I didn't know better."
-				<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 			<<elseif $rng gte 51>>
 				"Small tits are delicious."
-				<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 			<<elseif $rng gte 26>>
 				"Such small boobs must make dancing easier."
-				<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 			<<else>>
 				"I bet you love having your nipples toyed with."
 			<</if>>
 		<</if>>
+		<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 	<<elseif $player.perceived_breastsize lte 5>>
 		<<rng>>
 		<<if $rng gte 76>>
 			"Nice tits."
 		<<elseif $rng gte 51>>
 			"Those are some nicely shaped breasts. A bit small though."
-			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 		<<elseif $rng gte 26>>
 			"<<pHer>> small tits really add to the show."
-			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 		<<else>>
 			"<<pShes>> so confident, exposing <<pher>> small breasts like that."
-			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 		<</if>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 	<<elseif $player.perceived_breastsize lte 7>>
 		<<rng>>
 		<<if $rng gte 76>>
 			"I wonder what those breasts feel like."
-			<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
+			<<if $player.gender is "m">><</if>>
 		<<elseif $rng gte 51>>
 			"I bet your tits make great pillows."
-			<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 		<<elseif $rng gte 26>>
 			"You're such a slut, showing your tits off like this."
-			<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 		<<else>>
 			"I bet your tits taste wonderful."
-			<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 		<</if>>
+		<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 	<<else>>
 		<<rng>>
 		<<if $rng gte 76>>
 			"Shake those udders!"
-			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 		<<elseif $rng gte 51>>
 			"Carrying around tits that big must be difficult."
-			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 		<<elseif $rng gte 26>>
 			"Those huge tits are mesmerising."
-			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 		<<else>>
 			"Those breasts were made to be shown off."
-			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 		<</if>>
+		<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 	<</if>>
 	<br><br>
 
@@ -9170,16 +9161,14 @@ The <<person2>><<person>> leers at your chest and runs <<his>> tongue across <<h
 		<<rng>>
 		<<if $rng gte 76>>
 			"Your chest is so sleek, I'd think you a boy if I didn't know better."
-			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 		<<elseif $rng gte 51>>
 			"Small tits are delicious."
-			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 		<<elseif $rng gte 26>>
 			"Such small boobs must make dancing easier."
-			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 		<<else>>
 			"I bet you love having your nipples toyed with."
 		<</if>>
+		<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 	<</if>>
 <<elseif $player.perceived_breastsize lte 5>>
 	<<rng>>
@@ -9199,16 +9188,16 @@ The <<person2>><<person>> leers at your chest and runs <<his>> tongue across <<h
 	<<rng>>
 	<<if $rng gte 76>>
 		"I wonder what those breasts feel like."
-		<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
+		<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 	<<elseif $rng gte 51>>
 		"I bet your tits make great pillows."
-		<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
+		<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 	<<elseif $rng gte 26>>
 		"You're such a slut, showing your tits off like this."
-		<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
+		<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 	<<else>>
 		"I bet your tits taste wonderful."
-		<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
+		<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 	<</if>>
 <<else>>
 	<<rng>>
diff --git a/game/overworld-town/loc-street/widgets.twee b/game/overworld-town/loc-street/widgets.twee
index a116256453..7f2cbeacbe 100644
--- a/game/overworld-town/loc-street/widgets.twee
+++ b/game/overworld-town/loc-street/widgets.twee
@@ -824,6 +824,11 @@
 
 <<widget "street9">>
 	You notice a <<generate1>><<person1>><<person>> stealing glances at your chest as <<he>> walks by.
+	<<if $player.breastsize gte 8>>
+		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
+	<<else>>
+		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
+	<</if>>
 	<br><br>
 
 	<<if $earSlime.growth gte 200 and $earSlime.exhibitionism gte 2 and hasSexStat("exhibitionism", 2)>>
diff --git a/game/overworld-underground/loc-mines/main.twee b/game/overworld-underground/loc-mines/main.twee
index 5ad8b0e0f5..43567b2dba 100644
--- a/game/overworld-underground/loc-mines/main.twee
+++ b/game/overworld-underground/loc-mines/main.twee
@@ -242,15 +242,21 @@ The <<person1>><<person>> lifts your <<print $worn.lower.name>>, baring your
             "You don't know?" the <<person3>><<person>> replies. "This slut's been ridden by half the town. <<pShe>>'s infamous."
             <br>
             "Pardon me for not keeping up with famous sluttery," the <<person2>><<person>> says. "I spend too much time in this hole."
-            <br><br>
         <<else>>
             "I bet <<pshe>> was an innocent virgin before being brought here," a <<person2>><<person>> says.
             <br>
             "No way," a <<person3>><<person>> replies. "Everyone and their dog has had a go."
-            <br><br>
-            They argue for a while, as the rest of the audience ogles.
-            <br><br>
         <</if>>
+		<br><br>
+		They argue for a while, as the rest of the audience ogles.
+		<<if $player.penisExist>>
+			<<if $player.penissize gte 3>>
+				<<insecurity "penis_big">><<ginsecurity "penis_big">>
+			<<else>>
+				<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
+			<</if>>
+		<</if>>
+        <br><br>
 
         <<link [[Next|Mines Guards Skirt Endure 2]]>><</link>>
         <br>
-- 
GitLab


From 4ea86c545abf51b2af8c2e00ff140580d1caa684 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Fri, 25 Oct 2024 23:40:47 +0100
Subject: [PATCH 05/17] Starting variables and trait adjustments

---
 game/04-Variables/variables-start.twee |  4 ----
 game/base-system/overlays/traits.twee  | 32 +++++++++++++++-----------
 2 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/game/04-Variables/variables-start.twee b/game/04-Variables/variables-start.twee
index 4fafe83192..12e436fc7f 100644
--- a/game/04-Variables/variables-start.twee
+++ b/game/04-Variables/variables-start.twee
@@ -851,18 +851,14 @@
 
 	<<set $whitneypantiescheck to 0>>
 
-	<<set $insecurity_penis_tiny to 0>>
 	<<set $insecurity_penis_small to 0>>
 	<<set $insecurity_penis_big to 0>>
-	<<set $insecurity_breasts_tiny to 0>>
 	<<set $insecurity_breasts_small to 0>>
 	<<set $insecurity_breasts_big to 0>>
 	<<set $insecurity_pregnancy to 0>>
 
-	<<set $acceptance_penis_tiny to 0>>
 	<<set $acceptance_penis_small to 0>>
 	<<set $acceptance_penis_big to 0>>
-	<<set $acceptance_breasts_tiny to 0>>
 	<<set $acceptance_breasts_small to 0>>
 	<<set $acceptance_breasts_big to 0>>
 	<<set $acceptance_pregnancy to 0>>
diff --git a/game/base-system/overlays/traits.twee b/game/base-system/overlays/traits.twee
index bc2a781b19..440f620207 100644
--- a/game/base-system/overlays/traits.twee
+++ b/game/base-system/overlays/traits.twee
@@ -1036,25 +1036,25 @@
 			title: "Acceptance Traits",
 			traits: [
 				{
-					name: "Acceptance: Tiny Penis",
-					colour: "green",
-					has: $acceptance_penis_tiny gte 1000 and $player.penissize lte 0,
-					text: "You're proud of your tiny penis.",
-				},
-				{
-					name: "Acceptance: Small Penis",
+					name: () => {
+						const penisSize = setup.penisSizes[$player.penissize + 2].toUpperFirst();
+						return `Acceptance: ${penisSize} Penis`;
+					},
 					colour: "green",
-					has: $acceptance_penis_small gte 1000 and $player.penissize is 1,
+					has: $acceptance_penis_small gte 1000 and $player.penissize lte 1,
 					text: "You're proud of your small penis.",
 				},
 				{
 					name: "Acceptance: Tomgirl",
 					colour: "green",
-					has: $acceptance_tomgirl gte 100 and $acceptance_penis_tiny gte 1000,
+					has: $acceptance_tomgirl gte 100 and $acceptance_penis_small gte 1000 and $player.penissize lte 0,
 					text: "You're proud of becoming a tomgirl.",
 				},
 				{
-					name: "Acceptance: Enormous Penis",
+					name: () => {
+						const penisSize = setup.penisSizes[$player.penissize + 2].toUpperFirst();
+						return `Acceptance: ${penisSize} Penis`;
+					},
 					colour: "green",
 					has: $acceptance_penis_big gte 1000 and $player.penissize gte 4,
 					text: "You're proud of your enormous penis.",
@@ -1066,13 +1066,19 @@
 					text: "You're proud of your flat chest.",
 				},
 				{
-					name: "Acceptance: Small Breasts",
+					name: () => {
+						const breastSize = setup.breastsizes[$player.breastsize].toUpperFirst();
+						return `Acceptance: ${$player.breastsize ? breastSize + " Breasts" : "Flat Chest"}`;
+					},
 					colour: "green",
-					has: $acceptance_breasts_small gte 1000 and $player.breastsize gte 1 and $player.breastsize lte 5,
+					has: $player.gender is "f" and $acceptance_breasts_small gte 1000 and between($player.breastsize, 0, 4),
 					text: "You're proud of your small breasts.",
 				},
 				{
-					name: "Acceptance: Huge Breasts",
+					name: () => {
+						const breastSize = setup.breastsizes[$player.breastsize].toUpperFirst();
+						return `Acceptance: ${breastSize} Breasts`;
+					},
 					colour: "green",
 					has: $acceptance_breasts_big gte 1000 and $player.breastsize gte 8,
 					text: "You're proud of your huge breasts.",
-- 
GitLab


From d6235047a63418012394bfb7318cb740e217731a Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Thu, 31 Oct 2024 17:18:14 +0000
Subject: [PATCH 06/17] check priority fixes

---
 game/base-system/stat-changes.js            | 4 ++--
 game/base-system/text.js                    | 4 ++--
 game/overworld-forest/loc-lake/widgets.twee | 4 ++--
 game/overworld-town/loc-temple/widgets.twee | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 5e20dfc225..04a169c1b8 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -692,9 +692,9 @@ const statChange = (() => {
 
 			const insecurityPossible = {
 				penis_small: V.player.penisExist && V.player.penissize <= 1,
-				penis_big: V.player.penisExist && V.player.penissize >= V.player.gender === "m" ? 4 : 3,
+				penis_big: V.player.penisExist && V.player.penissize >= (V.player.gender === "m" ? 4 : 3),
 				breasts_small: V.player.gender === "f" && between(V.player.breastsize, 0, 4),
-				breasts_big: V.player.breastsize >= V.player.gender === "m" ? 1 : 8,
+				breasts_big: V.player.breastsize >= (V.player.gender === "m" ? 1 : 8),
 				pregnancy: playerBellySize() >= 8,
 			}[type];
 			const acceptance = V["acceptance_" + type];
diff --git a/game/base-system/text.js b/game/base-system/text.js
index 427eab0a09..f8833ba8ce 100644
--- a/game/base-system/text.js
+++ b/game/base-system/text.js
@@ -358,9 +358,9 @@ statDisplay.create("ginsecurity", type => {
 
 	const insecurityPossible = {
 		penis_small: V.player.penisExist && V.player.penissize <= 1,
-		penis_big: V.player.penisExist && V.player.penissize >= V.player.gender === "m" ? 4 : 3,
+		penis_big: V.player.penisExist && V.player.penissize >= (V.player.gender === "m" ? 4 : 3),
 		breasts_small: V.player.gender === "f" && between(V.player.breastsize, 0, 4),
-		breasts_big: V.player.breastsize >= V.player.gender === "m" ? 1 : 8,
+		breasts_big: V.player.breastsize >= (V.player.gender === "m" ? 1 : 8),
 		pregnancy: playerBellySize() >= 8,
 	}[type];
 	if (!insecurityPossible) return "";
diff --git a/game/overworld-forest/loc-lake/widgets.twee b/game/overworld-forest/loc-lake/widgets.twee
index 2b793e72d7..d50dd47ee5 100644
--- a/game/overworld-forest/loc-lake/widgets.twee
+++ b/game/overworld-forest/loc-lake/widgets.twee
@@ -356,7 +356,7 @@
 		<</link>><<gstress>><<gwillpower>><<gacceptance>>
 		<br>
 	<</if>>
-	<<if $player.penisExist and $insecurity_penis_big gte 1 and $player.penissize gte $player.gender is "m" ? 4 : 2 and $acceptance_penis_big lte 999 and $daily.lakeMeditate isnot 1>>
+	<<if $player.penisExist and $insecurity_penis_big gte 1 and $player.penissize gte ($player.gender is "m" ? 4 : 2) and $acceptance_penis_big lte 999 and $daily.lakeMeditate isnot 1>>
 		<<link [[Meditate on your big penis (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 6>><<willpower 1>><<set $daily.lakeMeditate to 1>>
 			<<if $willpower gte (($willpowermax / 7) * 6)>>
 				<<stress 5>><<acceptance "penis_big" 20>>
@@ -397,7 +397,7 @@
 		<</link>><<gstress>><<gwillpower>><<gacceptance>>
 		<br>
 	<</if>>
-	<<if $insecurity_breasts_big gte 1 and $player.breastsize gte $player.gender is "f" ? 8 : 6 and $acceptance_breasts_big lte 999 and $daily.lakeMeditate isnot 1>>
+	<<if $insecurity_breasts_big gte 1 and $player.breastsize gte ($player.gender is "f" ? 8 : 6) and $acceptance_breasts_big lte 999 and $daily.lakeMeditate isnot 1>>
 		<<link [[Meditate on your big breasts (1:00)|Lake Meditate]]>><<pass 60>><<set $phase to 9>><<willpower 1>><<set $daily.lakeMeditate to 1>>
 			<<if $willpower gte (($willpowermax / 7) * 6)>>
 				<<stress 5>><<acceptance "breasts_big" 20>>
diff --git a/game/overworld-town/loc-temple/widgets.twee b/game/overworld-town/loc-temple/widgets.twee
index 72e46ca8b6..00b84b24c9 100644
--- a/game/overworld-town/loc-temple/widgets.twee
+++ b/game/overworld-town/loc-temple/widgets.twee
@@ -48,7 +48,7 @@
 			<<gstress>><<gacceptance>>
 			<br>
 		<</if>>
-		<<if $player.penisExist and$insecurity_penis_big gte 1 and $player.penissize gte $player.gender is "m" ? 4 : 2 and $acceptance_penis_big lte 999 and $daily.templePray isnot 1>>
+		<<if $player.penisExist and $insecurity_penis_big gte 1 and $player.penissize gte ($player.gender is "m" ? 4 : 2) and $acceptance_penis_big lte 999 and $daily.templePray isnot 1>>
 			<<templeicon "pray">><<link [[Pray for a smaller penis (1:00)|_prayPassage]]>>
 				<<pass 60>><<set $phase to 6>><<set $daily.templePray to 1>>
 				<<if $purity gte ((1000 / 7) * 7)>>
@@ -92,7 +92,7 @@
 			<<gstress>><<gacceptance>>
 			<br>
 		<</if>>
-		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte $player.gender is "f" ? 8 : 6 and $acceptance_breasts_big lte 999 and $daily.templePray isnot 1>>
+		<<if $insecurity_breasts_big gte 1 and $player.breastsize gte ($player.gender is "f" ? 8 : 6) and $acceptance_breasts_big lte 999 and $daily.templePray isnot 1>>
 			<<templeicon "pray">><<link [[Pray for smaller breasts (1:00)|_prayPassage]]>>
 				<<pass 60>><<set $phase to 9>><<set $daily.templePray to 1>>
 				<<if $purity gte ((1000 / 7) * 7)>>
-- 
GitLab


From 957dd8e7f1422c76a645e3451191570f72de4982 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sat, 2 Nov 2024 18:55:06 +0000
Subject: [PATCH 07/17] Acceptance adjustment

---
 game/base-system/stat-changes.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 04a169c1b8..5b73a67a33 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -764,6 +764,9 @@ const statChange = (() => {
 				case 4:
 					type = "penis_big";
 					break;
+				case 3:
+					if (V.player.gender !== "m") type = "penis_big";
+					break;
 				case 1:
 				case 0:
 				case -1:
-- 
GitLab


From ab62ea2b07ef8f28fc3ede084af0e865e7ff6add Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sat, 2 Nov 2024 21:31:31 +0000
Subject: [PATCH 08/17] Reduced the player acceptance gains while insecurity is
 low

---
 game/base-system/stat-changes.js | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 5b73a67a33..3cb0548b1b 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -748,8 +748,10 @@ const statChange = (() => {
 		if (amount) {
 			// Male players always gain insecurity when breast size is above 0
 			if (V.player.gender === "m" && type === "breasts_small") type = "breasts_big";
+			const insecurityMod = Math.ceil(V["insecurity_" + type] / 200);
 
-			V["acceptance_" + type] = Math.clamp(V["acceptance_" + type] + amount * 6, 0, 1000);
+			// eslint-disable-next-line prettier/prettier
+			V["acceptance_" + type] = Math.clamp(V["acceptance_" + type] + (amount * insecurityMod), 0, 1000);
 		}
 	}
 	DefineMacro("acceptance", acceptance);
-- 
GitLab


From dba5dd24c00cc8240489c1b84fd365355a81cf8d Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sat, 2 Nov 2024 22:23:39 +0000
Subject: [PATCH 09/17] Slightly increased the base gain

---
 game/base-system/stat-changes.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 3cb0548b1b..fd5dbbef7b 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -748,7 +748,7 @@ const statChange = (() => {
 		if (amount) {
 			// Male players always gain insecurity when breast size is above 0
 			if (V.player.gender === "m" && type === "breasts_small") type = "breasts_big";
-			const insecurityMod = Math.ceil(V["insecurity_" + type] / 200);
+			const insecurityMod = Math.ceil(V["insecurity_" + type] / 200) + 1;
 
 			// eslint-disable-next-line prettier/prettier
 			V["acceptance_" + type] = Math.clamp(V["acceptance_" + type] + (amount * insecurityMod), 0, 1000);
-- 
GitLab


From a80d97705d7ba97836c127b68b7572e16e60b08a Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 24 Nov 2024 22:49:42 +0000
Subject: [PATCH 10/17] Further balance adjustments

- Acceptance is now reduced daily when the insecurity no longer applies
- Added comments to clarify the daily changes
- Comment adjustments
---
 game/03-JavaScript/time.js       | 22 ++++++++++++------
 game/base-combat/audience.twee   | 39 ++++----------------------------
 game/base-system/stat-changes.js |  5 ++--
 3 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/game/03-JavaScript/time.js b/game/03-JavaScript/time.js
index 347abc71c4..1bafcc225b 100644
--- a/game/03-JavaScript/time.js
+++ b/game/03-JavaScript/time.js
@@ -1341,19 +1341,27 @@ function dailyPlayerEffects() {
 			else if (V.pbgrowthballs >= 5) V.pblevelballs = 3;
 		}
 	}
-	statChange.insecurity("penis_small", -Math.clamp(V.player.penissize + 1, 1, 5));
-	statChange.insecurity("penis_big", Math.clamp(V.player.penissize - 4, -5, -1));
+
+	// Lower insecurity, reduced faster as the sizes become more acceptable
+	statChange.insecurity("penis_small", -Math.clamp(V.player.penissize + 1, 1, 5)); // Increases by 1 for each size above small
+	statChange.insecurity("penis_big", Math.clamp(V.player.penissize - 4, -5, -1)); // Increases by 1 for each size below large
 
 	const reducedBreastsize = Math.floor(V.player.breastsize / 2);
-	if (V.player.gender === "m") {
-		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 5, -5, -1));
+	if (V.player.gender !== "f") {
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 4, -5, -1)); // Increases by 1 for each other size below full
 	} else if (V.player.gender === "h") {
-		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 4, -4, -1));
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 5, -5, -1)); // Increases by 1 for each other size below ample
 	} else {
-		statChange.insecurity("breasts_small", -Math.clamp(reducedBreastsize - 1, 1, 5));
-		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 4, -4, -1));
+		statChange.insecurity("breasts_small", -Math.clamp(reducedBreastsize - 1, 1, 5)); // Increases by 1 for each other size above modest
+		statChange.insecurity("breasts_big", Math.clamp(reducedBreastsize - 5, -5, -1)); // Increases by 1 for each other size below ample
 	}
 
+	// Lower acceptance when it no longer applies, takes 200 days for it to drop to 0 from max
+	if (!(V.player.penisExist && V.player.penissize <= 1)) statChange.acceptance("penis_small", -5);
+	if (!(V.player.penisExist && V.player.penissize >= (V.player.gender === "m" ? 4 : 3))) statChange.acceptance("penis_big", -5);
+	if (!(V.player.gender === "f" && between(V.player.breastsize, 0, 4))) statChange.acceptance("breasts_small", -5);
+	if (!(V.player.breastsize >= (V.player.gender === "m" ? 1 : 8))) statChange.acceptance("breasts_big", -5);
+
 	for (const bodypart of setup.bodyparts) {
 		if (V.skin[bodypart].pen === "marker" && random(0, 1)) fragment.append(wikifier("bodywriting_clear", bodypart));
 	}
diff --git a/game/base-combat/audience.twee b/game/base-combat/audience.twee
index c8adf5509c..d359c55b6d 100644
--- a/game/base-combat/audience.twee
+++ b/game/base-combat/audience.twee
@@ -723,16 +723,12 @@
 				<<if $worn.upper.exposed gte 2>>
 					<<if $rng gte 67>>
 						"Your flat chest looks delicious."
-						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 33>>
 						"<<pHer>> chest is so flat <<pshe>> could pass as a boy."
-						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">>
 						"<<pHer>> boy nipples are so hard! This flat <<bitch>> loves two hard cocks up the ass!"
-						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 20 and $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">>
 						"<<pHer>> nipples are so hard! This flat <<bitch>> loves a double pussy pounding!"
-						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<else>>
 						"It's important I take pictures of her cute chest. I'll need them later."
 					<</if>>
@@ -741,25 +737,21 @@
 						"I can't wait to see under her top."
 					<<elseif $rng gte 33>>
 						"Do other girls tease you for your flat chest?"
-						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<<else>>
 						"Don't worry, you're cute even without boobs."
-						<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
 					<</if>>
 				<</if>>
 			<</if>>
+			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 		<<elseif $player.breastsize lte 5>>
 			<<if $player.gender_appearance is "m">>
 				<<if $worn.upper.exposed gte 2>>
 					<<if $rng gte 67>>
 						"Your flabby chest is almost like a girl's."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 33>>
 						"Look at those little tits. I bet the other boys pick on you."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<<else>>
 						"Don't be shy, there's nothing lewd about your boy nipples, even if they look like a girl's."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<</if>>
 				<<else>>
 					<<if $rng gte 67>>
@@ -774,108 +766,87 @@
 				<<if $worn.upper.exposed gte 2>>
 					<<if $rng gte 67>>
 						"Her tiny breasts are so cute."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 33>>
 						"Now however large your breasts grow, I'll have evidence of when they were small and cute."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">>
 						"<<pHer>> nipples are so hard! This <<bitch>> loves double stuffing!"
 					<<elseif $rng gte 20 and $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">>
 						"<<pHer>> nipples are so hard! This <<bitch>> loves double stuffing!"
 					<<else>>
 						"Don't be ashamed of your small breasts, they're adorable."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<</if>>
 				<<else>>
 					<<if $rng gte 67>>
 						"I can see the shape of <<pher>> tiny breasts beneath <<pher>> $worn.upper.name."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<<elseif $rng gte 33>>
 						"Get <<pher>> top off, I want a picture of <<pher>> breasts."
 					<<else>>
 						"I can't wait to see <<pher>> little breasts, I bet they're superb."
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 					<</if>>
 				<</if>>
 			<</if>>
+			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
 		<<elseif $player.breastsize lte 7>>
 			<<if $worn.upper.exposed gte 2>>
 				<<if $rng gte 67>>
 					"Your breasts are very photogenic."
-					<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 				<<elseif $rng gte 33>>
 					"Your breasts are mesmerising."
-					<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 				<<else>>
 					"This picture of your breasts will come in handy."
-					<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 				<</if>>
 			<<else>>
 				<<if $rng gte 67>>
 					"Get <<pher>> top off, I want a picture of <<pher>> breasts."
-					<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 				<<elseif $rng gte 33>>
 					"Don't be embarrassed, it's not like your breasts are exposed yet."
-					<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 				<<else>>
 					"Even clothed I can tell how lovely <<pher>> breasts are."
-					<<if $player.gender is "m">><<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">><</if>>
 				<</if>>
 			<</if>>
+			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 		<<elseif $player.breastsize lte 10>>
 			<<if $worn.upper.exposed gte 2>>
 				<<if $rng gte 67>>
 					"<<pHer>> breasts flop about so beautifully."
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<<elseif $rng gte 33>>
 					"Those are some impressive mammaries."
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<<elseif $rng gte 20 and $anusdoubletarget isnot undefined and $NPCList[$anustarget].penis is "anusdouble" and $NPCList[$anusdoubletarget].penis is "anusdouble">>
 					"I love how <<pher>> milkers jiggle as their cocks ravage <<pher>> slut ass!"
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<<elseif $rng gte 20 and $vaginadoubletarget isnot undefined and $NPCList[$vaginatarget].penis is "vaginadouble" and $NPCList[$vaginadoubletarget].penis is "vaginadouble">>
 					"I love how <<pher>> milkers flop about as their cocks wreck this slut's pussy!"
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<<else>>
 					"Don't be ashamed, you should be proud of such large breasts."
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<</if>>
 			<<else>>
 				<<if $rng gte 67>>
 					"Are <<pher>> breasts really as large as they seem? Only one way to find out."
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<<elseif $rng gte 33>>
 					"Get <<pher>> top off, I want a picture of <<pher>> large breasts for later use."
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<<else>>
 					"Breasts that large are lewd even under clothes."
-					<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 				<</if>>
 			<</if>>
+			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
 		<<else>>
 			<<if $worn.upper.exposed gte 2>>
 				<<if $rng gte 67>>
 					"Those are some gigantic udders."
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 				<<elseif $rng gte 33>>
 					"You could feed every baby in town with those."
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 				<<else>>
 					"Glad I got photographic proof, no one would believe how big they were otherwise."
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 				<</if>>
 			<<else>>
 				<<if $rng gte 67>>
 					"You can't fake breasts this large, surely."
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 				<<elseif $rng gte 33>>
 					"Get <<pher>> top off, I want a picture of these massive things."
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 				<<else>>
 					"Breasts this huge are lewd even under clothes."
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 				<</if>>
 			<</if>>
+			<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
 		<</if>>
 	<<elseif $rng gte 41 and $bottompic isnot 1>>
 		<<set $bottompic to 1>>
diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 0297af6dfd..1c832a730f 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -699,7 +699,7 @@ const statChange = (() => {
 			}[type];
 			const acceptance = V["acceptance_" + type];
 			let insecurity = V["insecurity_" + type];
-			if (acceptance < 1000 && insecurityPossible) {
+			if ((acceptance < 1000 && insecurityPossible) || amount < 0) {
 				insecurity = Math.clamp(insecurity + amount, 0, 1000);
 				V["insecurity_" + type] = insecurity;
 
@@ -748,7 +748,8 @@ const statChange = (() => {
 		if (amount) {
 			// Male players always gain insecurity when breast size is above 0
 			if (V.player.gender === "m" && type === "breasts_small") type = "breasts_big";
-			const insecurityMod = Math.ceil(V["insecurity_" + type] / 200) + 1;
+			// eslint-disable-next-line prettier/prettier
+			const insecurityMod = amount > 0 ? (Math.ceil(V["insecurity_" + type] / 200) + 1) : 1;
 
 			// eslint-disable-next-line prettier/prettier
 			V["acceptance_" + type] = Math.clamp(V["acceptance_" + type] + (amount * insecurityMod), 0, 1000);
-- 
GitLab


From 4662eb7b6303340ffe22aa9ec26394197b1cce47 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 24 Nov 2024 23:12:46 +0000
Subject: [PATCH 11/17] Minor fix to `gainPenisInsecurity`

---
 game/base-system/stat-changes.js | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 1c832a730f..1d1e1f3985 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -661,6 +661,12 @@ const statChange = (() => {
 				case 4:
 					insecurity("penis_big", amount);
 					return statDisplay.ginsecurity("penis_big");
+				case 3:
+					if (V.player.gender !== "m") {
+						insecurity("penis_big", amount);
+						return statDisplay.ginsecurity("penis_big");
+					}
+					break;
 				case 1:
 					insecurity("penis_small", amount);
 					return statDisplay.ginsecurity("penis_small");
-- 
GitLab


From 5649b1b35d7eb2def819ca216cd907da2305648d Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 24 Nov 2024 23:38:34 +0000
Subject: [PATCH 12/17] Added decay for pregnancy insecurity

---
 game/03-JavaScript/time.js | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/game/03-JavaScript/time.js b/game/03-JavaScript/time.js
index 1bafcc225b..f14f17f8a0 100644
--- a/game/03-JavaScript/time.js
+++ b/game/03-JavaScript/time.js
@@ -1362,6 +1362,11 @@ function dailyPlayerEffects() {
 	if (!(V.player.gender === "f" && between(V.player.breastsize, 0, 4))) statChange.acceptance("breasts_small", -5);
 	if (!(V.player.breastsize >= (V.player.gender === "m" ? 1 : 8))) statChange.acceptance("breasts_big", -5);
 
+	if (playerBellySize() < 8) {
+		statChange.insecurity("pregnancy", -5);
+		statChange.insecurity("acceptance", -5);
+	}
+
 	for (const bodypart of setup.bodyparts) {
 		if (V.skin[bodypart].pen === "marker" && random(0, 1)) fragment.append(wikifier("bodywriting_clear", bodypart));
 	}
-- 
GitLab


From 864b47b4256a5abe95b96339591b28460b877942 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Tue, 26 Nov 2024 23:09:19 +0000
Subject: [PATCH 13/17] check fix

---
 game/03-JavaScript/time.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/game/03-JavaScript/time.js b/game/03-JavaScript/time.js
index f14f17f8a0..9303ad016d 100644
--- a/game/03-JavaScript/time.js
+++ b/game/03-JavaScript/time.js
@@ -1359,7 +1359,7 @@ function dailyPlayerEffects() {
 	// Lower acceptance when it no longer applies, takes 200 days for it to drop to 0 from max
 	if (!(V.player.penisExist && V.player.penissize <= 1)) statChange.acceptance("penis_small", -5);
 	if (!(V.player.penisExist && V.player.penissize >= (V.player.gender === "m" ? 4 : 3))) statChange.acceptance("penis_big", -5);
-	if (!(V.player.gender === "f" && between(V.player.breastsize, 0, 4))) statChange.acceptance("breasts_small", -5);
+	if (V.player.gender === "f" && !between(V.player.breastsize, 0, 4)) statChange.acceptance("breasts_small", -5);
 	if (!(V.player.breastsize >= (V.player.gender === "m" ? 1 : 8))) statChange.acceptance("breasts_big", -5);
 
 	if (playerBellySize() < 8) {
-- 
GitLab


From 10cf4ab1ddeba378c911e060cff9b7df3577c03b Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Sun, 8 Dec 2024 23:04:31 +0000
Subject: [PATCH 14/17] Added `<<incgbreastinsecurity>>` to simplify adding it
 to existing events

---
 game/base-debug/test encounters.twee          |  2 +-
 game/base-system/stat-changes.js              | 17 ++++++++
 game/base-system/text.js                      |  1 +
 game/overworld-plains/loc-farm/main.twee      |  7 +---
 game/overworld-plains/loc-farm/road.twee      | 21 ++--------
 .../loc-danube-homes/skulduggery.twee         |  7 +---
 game/overworld-town/loc-domus-homes/work.twee | 20 ++-------
 .../overworld-town/loc-photography/model.twee |  7 +---
 game/overworld-town/loc-police/community.twee | 20 ++-------
 .../loc-school/widgets-events.twee            | 21 ++--------
 game/overworld-town/loc-sea/events.twee       | 42 +++----------------
 game/overworld-town/loc-street/widgets.twee   |  7 +---
 game/special-exhibition/main.twee             | 12 +-----
 t3lt.twee-config.yml                          |  7 ++++
 14 files changed, 50 insertions(+), 141 deletions(-)

diff --git a/game/base-debug/test encounters.twee b/game/base-debug/test encounters.twee
index 5a51dd4cde..d1c5d05334 100644
--- a/game/base-debug/test encounters.twee	
+++ b/game/base-debug/test encounters.twee	
@@ -2200,7 +2200,7 @@ WOLF TRUST:<br>
 <<wolfpacktrust>><<wolfpackfear>><br><br>
 
 OTHER:<br>
-<<incgpenisinsecurity>><<incggpenisinsecurity>><<gpenisacceptance 10>><br><br>
+<<incgpenisinsecurity>><<incggpenisinsecurity>><<incgbreastinsecurity>><<gpenisacceptance 10>><br><br>
 
 
 </span>
diff --git a/game/base-system/stat-changes.js b/game/base-system/stat-changes.js
index 85061ba21d..8eb8c0e9f9 100644
--- a/game/base-system/stat-changes.js
+++ b/game/base-system/stat-changes.js
@@ -684,6 +684,22 @@ const statChange = (() => {
 		return "";
 	}
 
+	function gainBreastInsecurity(amount = 5) {
+		if (V.statFreeze) return "";
+		if (isNaN(amount)) paramError("gainBreastInsecurity", "amount", amount, "Expected a number.");
+		amount = Number(amount);
+		if (amount) {
+			if (V.player.breastsize >= 8) {
+				insecurity("breasts_big", amount);
+				return statDisplay.ginsecurity("breasts_big");
+			} else {
+				insecurity("breasts_small", Math.floor(amount));
+				return statDisplay.ginsecurity("breasts_small");
+			}
+		}
+		return "";
+	}
+
 	function insecurity(type, amount) {
 		if (V.statFreeze) return;
 		if (isNaN(amount)) paramError("insecurity", "amount", amount, "Expected a number.");
@@ -1282,6 +1298,7 @@ const statChange = (() => {
 		submissive,
 		subCheck,
 		gainPenisInsecurity,
+		gainBreastInsecurity,
 		insecurity,
 		acceptance,
 		gainPenisAcceptance,
diff --git a/game/base-system/text.js b/game/base-system/text.js
index f8833ba8ce..8eb8a406c4 100644
--- a/game/base-system/text.js
+++ b/game/base-system/text.js
@@ -692,6 +692,7 @@ statDisplay.create("gferocity", (amount = 1) => statChange.ferocity(amount));
 statDisplay.create("lferocity", (amount = 1) => statChange.ferocity(-amount));
 statDisplay.create("incgpenisinsecurity", amount => statChange.gainPenisInsecurity(amount));
 statDisplay.create("incggpenisinsecurity", () => statChange.gainPenisInsecurity(20));
+statDisplay.create("incgbreastinsecurity", amount => statChange.gainBreastInsecurity(amount));
 statDisplay.create("gpenisacceptance", statChange.gainPenisAcceptance);
 statDisplay.create("wolfpacktrust", statChange.wolfpacktrust);
 statDisplay.create("wolfpackfear", statChange.wolfpackfear);
diff --git a/game/overworld-plains/loc-farm/main.twee b/game/overworld-plains/loc-farm/main.twee
index cb4f35f163..2608900efe 100644
--- a/game/overworld-plains/loc-farm/main.twee
+++ b/game/overworld-plains/loc-farm/main.twee
@@ -1167,12 +1167,7 @@ The <<person3>><<person>> grasps Alex from behind.
 	<<else>>
 		<span class="lewd">and expose your <<breasts>>.</span>
 	<</if>>
-	You tap on the glass for good measure, but thugs are already turning away from Alex.
-	<<if $player.breastsize gte 8>>
-		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-	<<else>>
-		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-	<</if>>
+	You tap on the glass for good measure, but thugs are already turning away from Alex. <<incgbreastinsecurity>>
 	<br><br>
 
 	<<if $farm_fight.stage gte 5>>
diff --git a/game/overworld-plains/loc-farm/road.twee b/game/overworld-plains/loc-farm/road.twee
index 0a22e56f6a..714fcd9c3e 100644
--- a/game/overworld-plains/loc-farm/road.twee
+++ b/game/overworld-plains/loc-farm/road.twee
@@ -840,30 +840,15 @@ You step away from the <<person>>. "Suit yourself," <<he>> says, before driving
 <<effects>>
 
 <<if $worn.under_upper.exposed lte 0>>
-	You tug off your $worn.upper.name, exposing your $worn.under_upper.name. The <<person>> ogles you, and snatches the top from your hands.
-	<<if $player.breastsize gte 8>>
-		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-	<<else>>
-		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-	<</if>>
+	You tug off your $worn.upper.name, exposing your $worn.under_upper.name. The <<person>> ogles you, and snatches the top from your hands. <<incgbreastinsecurity>>
 	<br><br>
 
 <<elseif $player.gender is "f" or $player.gender_appearance is "f" or $player.gender is "h">>
-	You tug off your $worn.upper.name, exposing your <<breasts>>. The <<person>> ogles you, and snatches the top from your hands.
-	<<if $player.breastsize gte 8>>
-		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-	<<else>>
-		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-	<</if>>
+	You tug off your $worn.upper.name, exposing your <<breasts>>. The <<person>> ogles you, and snatches the top from your hands. <<incgbreastinsecurity>>
 	<<covered>><<exhibitionism2>>
 
 <<else>>
-	You tug off your $worn.upper.name, exposing your <<breasts>>. The <<person>> ogles you, and snatches the top from your hands.
-	<<if $player.breastsize gte 8>>
-		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-	<<else>>
-		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-	<</if>>
+	You tug off your $worn.upper.name, exposing your <<breasts>>. The <<person>> ogles you, and snatches the top from your hands. <<incgbreastinsecurity>>
 	<br><br>
 
 <</if>>
diff --git a/game/overworld-town/loc-danube-homes/skulduggery.twee b/game/overworld-town/loc-danube-homes/skulduggery.twee
index aebaeab644..4238ee917f 100644
--- a/game/overworld-town/loc-danube-homes/skulduggery.twee
+++ b/game/overworld-town/loc-danube-homes/skulduggery.twee
@@ -104,12 +104,7 @@ You sneak around the mansion and look for anything of value.
 				<<if $beauty gte ($beautymax / 7) * 4>>
 					"You're a nice piece of ass." <<He>> blinks and wipes <<his>> mouth with <<his>> hand. <<He>> looks troubled for a moment. "I'm not at my best, okay? Don't judge. I've had a little too much to drink."
 				<<else>>
-					"You're not bad," <<he>> smiles. <<if $player.perceived_breastsize lte 3>>"I would've chose one with proper breasts but<<else>>"Great breasts at least, and<</if>> it was pretty last minute."
-					<<if $player.breastsize gte 8>>
-						<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-					<<else>>
-						<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-					<</if>>
+					"You're not bad," <<he>> smiles. <<if $player.perceived_breastsize lte 3>>"I would've chose one with proper breasts but<<else>>"Great breasts at least, and<</if>> it was pretty last minute." <<incgbreastinsecurity>>
 				<</if>>
 				<br>
 				You nod, smiling.
diff --git a/game/overworld-town/loc-domus-homes/work.twee b/game/overworld-town/loc-domus-homes/work.twee
index 6f8995afd7..7b04fddceb 100644
--- a/game/overworld-town/loc-domus-homes/work.twee
+++ b/game/overworld-town/loc-domus-homes/work.twee
@@ -989,12 +989,7 @@ You try to help the <<person>> with <<his>> homework, but <<he>> isn't intereste
 	<br>
 <<else>>
 	<<if $worn.upper.type.includes("naked")>>
-		<<He>> keeps leering at your bare chest when <<he>> thinks you won't notice.
-		<<if $player.breastsize gte 8>>
-			<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-		<<else>>
-			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-		<</if>>
+		<<He>> keeps leering at your bare chest when <<he>> thinks you won't notice. <<incgbreastinsecurity>>
 	<<else>>
 		<<He>> rests <<his>> head on the table, looking bored.
 	<</if>>
@@ -1041,12 +1036,7 @@ You earn <<moneyGain 5>>.
 	<<else>>
 		You <<nervously>> take off your $worn.upper.name, baring your chest.
 	<</if>>
-	The <<person>> openly gawks at you, but seems satisfied.
-	<<if $player.breastsize gte 8>>
-		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-	<<else>>
-		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-	<</if>>
+	The <<person>> openly gawks at you, but seems satisfied. <<incgbreastinsecurity>>
 	<<exhibitionism1>>
 
 	<<He>> is far from bored for the rest of the hour, although you don't know if that's a good thing.
@@ -1064,11 +1054,7 @@ You earn <<moneyGain 5>>.
 	<<if !($leftarm is "bound" and $rightarm is "bound")>>
 		You cover yourself with one arm as you return to the homework, but you still feel keenly exposed.
 	<</if>>
-	<<if $player.breastsize gte 8>>
-		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-	<<else>>
-		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-	<</if>>
+	<<incgbreastinsecurity>>
 	<<exhibitionism3>>
 
 	<<He>> is far from bored for the rest of the hour, although you don't know if that's a good thing.
diff --git a/game/overworld-town/loc-photography/model.twee b/game/overworld-town/loc-photography/model.twee
index 19950944e2..623d74989d 100644
--- a/game/overworld-town/loc-photography/model.twee
+++ b/game/overworld-town/loc-photography/model.twee
@@ -755,12 +755,7 @@ Money in hand, you leave the studio.
 <<else>>
 	You strike another pose, now with your chest bare.
 <</if>>
-Niki takes more pictures, focusing your chest and face. <<nnpc_He "Niki">> remains entirely professional. You feel your cheeks flush.
-<<if $player.breastsize gte 8>>
-	<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-<<else>>
-	<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-<</if>>
+Niki takes more pictures, focusing your chest and face. <<nnpc_He "Niki">> remains entirely professional. You feel your cheeks flush. <<incgbreastinsecurity>>
 <br><br>
 
 <<link [[Next|Photo Model Topless 2]]>><</link>>
diff --git a/game/overworld-town/loc-police/community.twee b/game/overworld-town/loc-police/community.twee
index 5ff4f369bf..adc6fa046d 100644
--- a/game/overworld-town/loc-police/community.twee
+++ b/game/overworld-town/loc-police/community.twee
@@ -911,12 +911,7 @@ You tear the fabric away from the thorns.
 	<br><br>
 	"No slacking," the police officer shouts. "I don't care if you're naked. You're working."
 	<<if $player.gender_appearance is "f">>
-		One of the criminals whistles at you, and many more ogle.<<gstress>><<garousal>><<arousal 600>><<stress 6>>
-		<<if $player.breastsize gte 8>>
-			<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-		<<else>>
-			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-		<</if>>
+		One of the criminals whistles at you, and many more ogle.<<gstress>><<garousal>><<arousal 600>><<stress 6>><<incgbreastinsecurity>>
 		<br><br>
 		<<fameexhibitionism 10>>
 		<<link [[Next|Police Community Wasteland Topless]]>><</link>>
@@ -927,11 +922,7 @@ You tear the fabric away from the thorns.
 		<<else>>
 			You hear laughter, and catch the other criminals ogling.
 		<</if>>
-		<<if $player.breastsize gte 8>>
-			<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-		<<else>>
-			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-		<</if>>
+		<<incgbreastinsecurity>>
 		<br><br>
 
 		The rest of the process is uneventful.
@@ -982,12 +973,7 @@ You tear the fabric away from the thorns.
 :: Police Community Wasteland Topless
 <<effects>>
 
-You keep one arm held to your chest as you work, but this makes it hard to operate the shears. You can feel the others watching. A few ogle too much, and get another day of community service added to their sentence for slacking.
-<<if $player.breastsize gte 8>>
-	<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-<<else>>
-	<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-<</if>>
+You keep one arm held to your chest as you work, but this makes it hard to operate the shears. You can feel the others watching. A few ogle too much, and get another day of community service added to their sentence for slacking. <<incgbreastinsecurity>>
 <br><br>
 
 Aside from your exposure, the rest of the process is uneventful.
diff --git a/game/overworld-town/loc-school/widgets-events.twee b/game/overworld-town/loc-school/widgets-events.twee
index 562b15ac7d..90612cb934 100644
--- a/game/overworld-town/loc-school/widgets-events.twee
+++ b/game/overworld-town/loc-school/widgets-events.twee
@@ -1362,12 +1362,7 @@
 				<<addinlineevent "courtyard_bra">>
 					<<generates1>><<person1>>Footsteps approach from behind. Before you can turn, someone runs into you, almost pushing you over. Fingers grope at your back.
 					<<if $worn.under_upper.type.includes("naked") or $worn.under_upper.type.includes("sticky")>>
-						"I can't find a strap," the <<person>> responsible exclaims. "She's not wearing a bra or anything." <<He>> runs back to <<his>> giggling friends. Your cheeks flush. <<gpain>><<pain 1>><<trauma 6>><<stress 6>><<gtrauma>><<gstress>><<fameexhibitionism 3>>
-						<<if $player.breastsize gte 8>>
-							<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-						<<else>>
-							<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-						<</if>>
+						"I can't find a strap," the <<person>> responsible exclaims. "She's not wearing a bra or anything." <<He>> runs back to <<his>> giggling friends. Your cheeks flush. <<gpain>><<pain 1>><<trauma 6>><<stress 6>><<gtrauma>><<gstress>><<fameexhibitionism 3>><<incgbreastinsecurity>>
 						<br><br>
 
 						<<endevent>>
@@ -1375,12 +1370,7 @@
 					<<elseif setup.clothes.under_upper[clothesIndex('under_upper', $worn.under_upper)].strap is 1>>
 						Your $worn.under_upper.name comes loose in your $worn.upper.name. They undid the strap.
 						<br><br>
-						The culprit, a <<person>>, runs back to <<his>> giggling friends. <<gpain>><<pain 1>><<trauma 6>><<stress 6>><<gtrauma>><<gstress>>
-						<<if $player.breastsize gte 8>>
-							<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-						<<else>>
-							<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-						<</if>>
+						The culprit, a <<person>>, runs back to <<his>> giggling friends. <<gpain>><<pain 1>><<trauma 6>><<stress 6>><<gtrauma>><<gstress>><<incgbreastinsecurity>>
 						<br><br>
 
 						<<link [[Find somewhere quiet to fix your clothes|Bra Strap Quiet]]>><</link>>
@@ -1390,12 +1380,7 @@
 							<br>
 						<</if>>
 					<<else>>
-						The <<person>> responsible shoves you away. "She's wearing a vest or something," <<he>> says. <<His>> friends look disappointed. <<gpain>><<pain 1>>
-						<<if $player.breastsize gte 8>>
-							<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-						<<else>>
-							<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-						<</if>>
+						The <<person>> responsible shoves you away. "She's wearing a vest or something," <<he>> says. <<His>> friends look disappointed. <<gpain>><<pain 1>><<incgbreastinsecurity>>
 						<br><br>
 
 						<<link [[Turn the other cheek|Bra Strap Turn]]>><<stress 6>><</link>><<gstress>>
diff --git a/game/overworld-town/loc-sea/events.twee b/game/overworld-town/loc-sea/events.twee
index 950251c053..21889282ff 100644
--- a/game/overworld-town/loc-sea/events.twee
+++ b/game/overworld-town/loc-sea/events.twee
@@ -1166,12 +1166,7 @@ As <<he>> speaks, the <<person2>><<person>> swims around and behind you. <<Hes>>
 	<<if random(1, 2) is 2>>
 		grasps your <<breasts>>.
 		<<if $player.gender_appearance is "f" and $worn.upper.exposed gte 2 and $worn.under_upper.exposed gte 1>>
-			"This slut's topless!" <<he>> shouts in excitement, squeezing them.<<gtrauma>><<gstress>><<ggarousal>><<trauma 6>><<stress 6>><<arousal 1200>>
-			<<if $player.breastsize gte 8>>
-				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-			<<else>>
-				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-			<</if>>
+			"This slut's topless!" <<he>> shouts in excitement, squeezing them.<<gtrauma>><<gstress>><<ggarousal>><<trauma 6>><<stress 6>><<arousal 1200>><<incgbreastinsecurity>>
 			<br><br>
 
 			"Swimming out here exposed," the <<person1>><<person>> tuts. "You must be a real pervert. I know just what you need."
@@ -1180,12 +1175,7 @@ As <<he>> speaks, the <<person2>><<person>> swims around and behind you. <<Hes>>
 			<<link [[Next|Sea Pair Rape]]>><<set $molestationstart to 1>><</link>>
 			<br>
 		<<else>>
-			<<He>> gropes and <<= _topless ? "pinches your bare nipples" : "squeezes them beneath the fabric">>.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
-			<<if $player.breastsize gte 8>>
-				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-			<<else>>
-				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-			<</if>>
+			<<He>> gropes and <<= _topless ? "pinches your bare nipples" : "squeezes them beneath the fabric">>.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>><<incgbreastinsecurity>>
 			<br><br>
 
 			<<sea_pair_orgasm>>
@@ -1210,12 +1200,7 @@ As <<he>> speaks, the <<person2>><<person>> swims around and behind you. <<Hes>>
 			<<link [[Next|Sea Pair Rape]]>><<set $molestationstart to 1>><</link>>
 			<br>
 		<<else>>
-			<<He>> gropes and squeezes it beneath the fabric.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
-			<<if $player.breastsize gte 8>>
-				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-			<<else>>
-				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-			<</if>>
+			<<He>> gropes and squeezes it beneath the fabric.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>><<incgbreastinsecurity>>
 			<br><br>
 
 			<<sea_pair_orgasm>>
@@ -1304,12 +1289,7 @@ The pair disappear behind the waves.
 		grasps your <<breasts>>.
 		<<outfitChecks>>
 		<<if $player.gender_appearance is "f" and _topless>>
-			"This slut's topless!" <<he>> shouts in excitement, squeezing them.<<gtrauma>><<gstress>><<ggarousal>><<trauma 6>><<stress 6>><<arousal 1200>>
-			<<if $player.breastsize gte 8>>
-				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-			<<else>>
-				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-			<</if>>
+			"This slut's topless!" <<he>> shouts in excitement, squeezing them.<<gtrauma>><<gstress>><<ggarousal>><<trauma 6>><<stress 6>><<arousal 1200>><<incgbreastinsecurity>>
 			<br><br>
 
 			"Swimming out here exposed," the <<person1>><<person>> tuts. "You must be a real pervert. I know just what you need."
@@ -1318,12 +1298,7 @@ The pair disappear behind the waves.
 			<<link [[Next|Sea Pair Rape]]>><<set $molestationstart to 1>><</link>>
 			<br>
 		<<else>>
-			<<He>> gropes and <<= _topless ? "pinches your bare nipples" : "squeezes them beneath the fabric">>.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
-			<<if $player.breastsize gte 8>>
-				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-			<<else>>
-				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-			<</if>>
+			<<He>> gropes and <<= _topless ? "pinches your bare nipples" : "squeezes them beneath the fabric">>.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>><<incgbreastinsecurity>>
 			<br><br>
 			<<sea_pair_orgasm>>
 		<</if>>
@@ -1347,12 +1322,7 @@ The pair disappear behind the waves.
 			<<link [[Next|Sea Pair Rape]]>><<set $molestationstart to 1>><</link>>
 			<br>
 		<<else>>
-			<<He>> gropes and squeezes it beneath the fabric.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>>
-			<<if $player.breastsize gte 8>>
-				<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-			<<else>>
-				<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-			<</if>>
+			<<He>> gropes and squeezes it beneath the fabric.<<gtrauma>><<gstress>><<garousal>><<trauma 6>><<stress 6>><<arousal 600>><<incgbreastinsecurity>>
 			<br><br>
 
 			<<sea_pair_orgasm>>
diff --git a/game/overworld-town/loc-street/widgets.twee b/game/overworld-town/loc-street/widgets.twee
index 9b581f81b9..4e3d318c65 100644
--- a/game/overworld-town/loc-street/widgets.twee
+++ b/game/overworld-town/loc-street/widgets.twee
@@ -822,12 +822,7 @@
 <</widget>>
 
 <<widget "street9">>
-	You notice a <<generate1>><<person1>><<person>> stealing glances at your chest as <<he>> walks by.
-	<<if $player.breastsize gte 8>>
-		<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-	<<else>>
-		<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-	<</if>>
+	You notice a <<generate1>><<person1>><<person>> stealing glances at your chest as <<he>> walks by. <<incgbreastinsecurity>>
 	<br><br>
 
 	<<if $earSlime.growth gte 200 and $earSlime.exhibitionism gte 2 and hasSexStat("exhibitionism", 2)>>
diff --git a/game/special-exhibition/main.twee b/game/special-exhibition/main.twee
index d5cc95b532..19876084a1 100644
--- a/game/special-exhibition/main.twee
+++ b/game/special-exhibition/main.twee
@@ -1679,18 +1679,10 @@ The barrier at the sides is tall enough to cover your <<genitals>> from below. M
 	<br><br>
 	<<if $player.breastsize gte 3>>
 		"You're right. We don't want people thinking you're a pervert. Here." <<He>> grasps your <<breasts>> with both hands, and squeezes. "Much better."
-		<<garousal>><<arousal 600>>
-		<<if ($player.gender is "f" and $player.breastsize gte 8) or ($player.gender isnot "f" and $player.breastsize gte 6)>>
-			<<insecurity "breasts_big" 1>><<ginsecurity "breasts_big">>
-		<</if>>
+		<<garousal>><<arousal 600>><<incgbreastinsecurity>>
 		<br><br>
 	<<else>>
-		"Those little things?" <<he>> scoffs. "They aren't worth worrying about."
-		<<if $player.breastsize is 0>>
-			<<insecurity "breasts_small" 2>><<ginsecurity "breasts_small">>
-		<<else>>
-			<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-		<</if>>
+		"Those little things?" <<he>> scoffs. "They aren't worth worrying about." <<incgbreastinsecurity>>
 		<br><br>
 	<</if>>
 <<else>>
diff --git a/t3lt.twee-config.yml b/t3lt.twee-config.yml
index 82b191edd8..2a0e574ff5 100644
--- a/t3lt.twee-config.yml
+++ b/t3lt.twee-config.yml
@@ -7960,6 +7960,13 @@ sugarcube-2:
       tags: ["unused"]
     imprison_whitney:
       name: imprison_whitney
+    incgbreastinsecurity:
+      description: |-
+        Adds breast insecurity to the player and prints stat change
+
+        `<<incgbreastinsecurity change?>>`
+        - **change** _optional_: `number` - + change to apply
+          - Defaults to `5`
     incggpenisinsecurity:
       description: |-
         Adds double amount of default penis insecurity to the player and prints stat change
-- 
GitLab


From efd09960a9924fb1c5d4a254d092f5145997d921 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Mon, 9 Dec 2024 23:54:39 +0000
Subject: [PATCH 15/17] Added insecurity to the School Changing Rooms

---
 .../loc-school/changing-rooms.twee            | 28 +++++--------------
 1 file changed, 7 insertions(+), 21 deletions(-)

diff --git a/game/overworld-town/loc-school/changing-rooms.twee b/game/overworld-town/loc-school/changing-rooms.twee
index 6ef9afbd7a..c312f89255 100755
--- a/game/overworld-town/loc-school/changing-rooms.twee
+++ b/game/overworld-town/loc-school/changing-rooms.twee
@@ -31,7 +31,7 @@ It's full of $changingRoomGender in various states of undress.
 			<</addinlineevent>>
 		<<else>>
 			<<addinlineevent "schoolChangingRoomBoysComment">>
-				"What are you hiding for? <<print either("You got a tiny dick or what?", "You got a monster cock or something? C'mon, let it all hang out,", "You go and get yourself locked up?")>>" He snickers to himself, but doesn't pry further.
+				"What are you hiding for? <<print either("You got a tiny dick or what?", "You got a monster cock or something? C'mon, let it all hang out,", "You go and get yourself locked up?")>>" He snickers to himself, but doesn't pry further. <<incgpenisinsecurity>>
 			<</addinlineevent>>
 		<</if>>
 	<</if>>
@@ -94,17 +94,10 @@ It's full of $changingRoomGender in various states of undress.
 	<<if _eventpool.length and $daily.school.changingRoomBoyComment isnot Time.date.timeStamp>>
 		<<set $daily.school.changingRoomBoyComment to Time.date.timeStamp>>
 		<<runeventpool>>
-		<<if _breastText or _breastInsecurity>>
-			/* commented out for now
-				<<if $player.breastsize gte 8>>
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-				<<else>>
-					<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-				<</if>>
-			*/
-		<</if>>
+		<<if _breastText or _breastInsecurity>><<incgbreastinsecurity>><</if>>
 		<br><br>
 	<<elseif _genitalText or _breastText>>
+		<<if _breastText or _breastInsecurity>><<incgbreastinsecurity>><</if>>
 		<br><br>
 	<</if>>
 	<<schoolChangingRoomLinks>>
@@ -221,7 +214,7 @@ It's full of $changingRoomGender in various states of undress.
 			<</addinlineevent>>
 		<<else>>
 			<<addinlineevent "schoolChangingRoomGirlsComment">>/* Intended usage of She */
-				One of them sidles up to you. "So, I have to know... have you ever been in the boys' changing room?" she asks. "<<print either("Please tell me they compare dick sizes!", $player.perceived_breastsize gte 3 ? "I bet they loved getting an eyeful of those tits!<<set _breastInsecurity to true>>" : "I'm sure a flatty like you fit right in.<<set _breastInsecurity to true>>")>>"
+				One of them sidles up to you. "So, I have to know... have you ever been in the boys' changing room?" she asks. "<<print either("Please tell me they compare dick sizes!  <<incgpenisinsecurity>>", $player.perceived_breastsize gte 3 ? "I bet they loved getting an eyeful of those tits!<<set _breastInsecurity to true>>" : "I'm sure a flatty like you fit right in.<<set _breastInsecurity to true>>")>>"
 			<</addinlineevent>>
 		<</if>>
 	<</if>>
@@ -243,7 +236,7 @@ It's full of $changingRoomGender in various states of undress.
 			<<addinlineevent "schoolChangingRoomGirlsComment">>/* Intended usage of She */
 				One of them points at your $worn.genitals.name. "What's it like knowing Whitney has your key?" She laughs.
 				<<if $player.penissize lt 0>>
-					"It's not like you'll ever need it, if it's as small as <<nnpc_his "Whitney">> friends say."
+					"It's not like you'll ever need it, if it's as small as <<nnpc_his "Whitney">> friends say." <<incgpenisinsecurity>>
 				<<else>>
 					"I bet it's driving you mad, not being able to touch it."
 				<</if>>
@@ -264,17 +257,10 @@ It's full of $changingRoomGender in various states of undress.
 	<<if _eventpool.length and $daily.school.changingRoomGirlComment isnot Time.date.timeStamp>>
 		<<set $daily.school.changingRoomGirlComment to Time.date.timeStamp>>
 		<<runeventpool>>
-		<<if _breastText or _breastInsecurity>>
-			/* commented out for now
-				<<if $player.breastsize gte 8>>
-					<<insecurity "breasts_big" 2>><<ginsecurity "breasts_big">>
-				<<else>>
-					<<insecurity "breasts_small" 1>><<ginsecurity "breasts_small">>
-				<</if>>
-			*/
-		<</if>>
+		<<if _breastText or _breastInsecurity>><<incgbreastinsecurity>><</if>>
 		<br><br>
 	<<elseif _genitalText or _breastText>>
+		<<if _breastText or _breastInsecurity>><<incgbreastinsecurity>><</if>>
 		<br><br>
 	<</if>>
 	<<schoolChangingRoomLinks>>
-- 
GitLab


From e13733ec7a0d49f3cbe366a877e939c5bd527a35 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Thu, 19 Dec 2024 01:21:51 +0000
Subject: [PATCH 16/17] Fixed copy error

---
 game/03-JavaScript/time.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/game/03-JavaScript/time.js b/game/03-JavaScript/time.js
index 656ef33526..7dcde205c7 100644
--- a/game/03-JavaScript/time.js
+++ b/game/03-JavaScript/time.js
@@ -1368,7 +1368,7 @@ function dailyPlayerEffects() {
 
 	if (playerBellySize() < 8) {
 		statChange.insecurity("pregnancy", -5);
-		statChange.insecurity("acceptance", -5);
+		statChange.acceptance("pregnancy", -5);
 	}
 
 	for (const bodypart of setup.bodyparts) {
-- 
GitLab


From 48da029fd02764acb40c5793fb70048d6a2dbce8 Mon Sep 17 00:00:00 2001
From: LollipopScythe <lollipopscythe@protonmail.com>
Date: Thu, 19 Dec 2024 15:45:26 +0000
Subject: [PATCH 17/17] Audience line edits by Crimson Tide

---
 game/base-combat/audience.twee | 70 +++++++++++-----------------------
 1 file changed, 23 insertions(+), 47 deletions(-)

diff --git a/game/base-combat/audience.twee b/game/base-combat/audience.twee
index 4a7322980a..10d7807eb5 100644
--- a/game/base-combat/audience.twee
+++ b/game/base-combat/audience.twee
@@ -1192,11 +1192,11 @@
 			<<else>>
 				<<if playerChastity("hidden") and $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>>
 					<<if $rng gte 90 and ($anusstate is "penetrated" or $anusstate is "doublepenetrated")>>
-						"Should have gotten yourself an anal shield, going to cum in you regardless."
+						"Should have gotten yourself an anal shield. Too late now."
 					<<elseif $rng gte 75>>
 						"As if that will help you stay pure."
 					<<elseif $rng gte 50>>
-						"Someone unlock or break that chastity device, someone could be having a good time."
+						"Someone break that device, <<pshe>> can't have a good time like that."
 					<<elseif $rng gte 25>>
 						"Shame I can't see what's under that device."
 					<<else>>
@@ -1215,26 +1215,22 @@
 						<<switch $player.penissize>>
 							<<case 4>>
 								<<if $rng gte 67>>
-									"<<pShes>> huge! <<if playerHasStrapon()>>Bet you wish you had the key rather than the strapon<<else>>How could it be locked up<</if>>!"
-									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+									"<<pShes>> huge! <<if playerHasStrapon()>>Bet you wish you had the key rather than the strapon!<<else>>How could it be locked up?<</if>>"
 								<<elseif $rng gte 33>>
 									"Is your freakishly big cock locked up because you hurt someone with it?"
-									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<else>>
 									"I've never seen such a huge cock. Real shame it can't be played with."
-									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<</if>>
+								<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 							<<case 3>>
 								<<if $rng gte 67>>
 									"<<pShes>> bigger than I expected.<<if playerHasStrapon()>> At least <<pshe>> has a strapon.<</if>>"
-									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<elseif $rng gte 33>>
 									"Don't be shy, you should be proud of your penis, even if it's locked up tight."
-									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<else>>
 									"<<pHer>> penis is the perfect size. Real shame it can't be played with."
-									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<</if>>
+								<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 							<<case 2>>
 								<<if $rng gte 67>>
 									"I got a great picture of <<pher>> cute and locked up penis<<if playerHasStrapon()>> hidden behind <<pher>> strapon<</if>>."
@@ -1246,47 +1242,39 @@
 							<<case 1 2>>
 								<<if $rng gte 67>>
 									"<<pShes>> so small!"
-									<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 								<<elseif $rng gte 33>>
 									"Such a small and cute penis. Almost a shame it's locked up."
-									<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 								<<else>>
 									"I thought <<pher>> penis would be bigger even when locked up."
-									<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
-									<</if>>
+								<</if>>
+								<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 							<<case 0>>
 								<<if $rng gte 67>>
-									"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
-									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
+									"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder <<pshes>> wearing a strapon<</if>>!"
 								<<elseif $rng gte 33>>
 									"I can't believe it's so tiny! Almost a shame it's locked up."
-									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<<else>>
 									"I've never seen such a pathetic penis."
-									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<</if>>
+								<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 							<<case -1>>
 								<<if $rng gte 67>>
-									"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
-									<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+									"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder <<pshes>> wearing a strapon<</if>>!"
 								<<elseif $rng gte 33>>
 									"Did it get locked up because of how small it is?"
-									<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 								<<else>>
 									"Such a shame the pathetic penis is all locked up.<<if playerHasStrapon()>> Bet you love using your strapon.<</if>>"
-									<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 								<</if>>
+								<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 							<<case -2>>
 								<<if $rng gte 67>>
-									"I thought that was a locked up clit!<<if playerHasStrapon()>> No wonder your wearing a strapon.<</if>>"
-									<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+									"I thought that was a locked up clit!<<if playerHasStrapon()>> No wonder <<pshes>> wearing a strapon.<</if>>"
 								<<elseif $rng gte 33>>
 									"Clearly deserved to be locked up for being so useless!<<if playerHasStrapon()>> Bet you love using your strapon.<</if>>"
-									<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
 								<<else>>
 									"Is there even anything locked up in there?<<if playerHasStrapon()>> Almost missed it due to your strapon.<</if>>"
-									<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
 								<</if>>
+								<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
 						<</switch>>
 					<</if>>
 				<<elseif $worn.under_lower.exposed gte 1 and $worn.lower.exposed gte 2>>
@@ -1304,25 +1292,21 @@
 								<<case 4>>
 									<<if $rng gte 67>>
 										"<<pShes>> huge<<if playerHasStrapon()>>, why would you even wear a strapon<</if>>!"
-										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 									<<elseif $rng gte 33>>
 										"<<pHer>> penis is freakishly big."
-										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 									<<else>>
 										"I've never seen such a huge cock."
-										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 									<</if>>
+									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<case 3>>
 									<<if $rng gte 67>>
 										"<<pShes>> bigger than I expected.<<if playerHasStrapon()>> <<pShe>> should get rid of <<pher>> strapon.<</if>>"
-										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 									<<elseif $rng gte 33>>
 										"Don't be shy, you should be proud of your penis."
-										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 									<<else>>
-										"<<pHer>> penis is the perfect size.<<if playerHasStrapon()>> You should get rid of your strapon<</if>>"
-										<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
+										"<<pHer>> penis is the perfect size.<<if playerHasStrapon()>> You should get rid of your strapon.<</if>>"
 									<</if>>
+									<<insecurity "penis_big" 1>><<ginsecurity "penis_big">>
 								<<case 2>>
 									<<if $rng gte 67>>
 										"I got a great picture of <<pher>> cute penis<<if playerHasStrapon()>> hidden behind <<pher>> strapon<</if>>."
@@ -1334,47 +1318,39 @@
 								<<case 1>>
 									<<if $rng gte 67>>
 										"<<pShes>> so small!"
-										<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 									<<elseif $rng gte 33>>
 										"Such a small and cute penis."
-										<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 									<<else>>
 										"I thought <<pher>> penis would be bigger."
-										<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 									<</if>>
+									<<insecurity "penis_small" 1>><<ginsecurity "penis_small">>
 								<<case 0>>
 									<<if $rng gte 67>>
 										"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
-										<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 									<<elseif $rng gte 33>>
 										"I can't believe it's so tiny!"
-										<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 									<<else>>
 										"I've never seen such a pathetic penis."
-										<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 									<</if>>
+									<<insecurity "penis_small" 2>><<ginsecurity "penis_small">>
 								<<case -1>>
 									<<if $rng gte 67>>
 										"<<pShes>> so tiny<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
-										<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 									<<elseif $rng gte 33>>
-										"I can't believe it's almost like a large clit, have you considered getting it locked in a cage?"
-										<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
+										"It's like a large clit. Have you considered putting it in a cage?"
 									<<else>>
 										"I've never seen such a useless penis<<if playerHasStrapon()>>, bet you love using your strapon<</if>>."
-										<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 									<</if>>
+									<<insecurity "penis_small" 3>><<ginsecurity "penis_small">>
 								<<case -2>>
 									<<if $rng gte 67>>
 										"I thought that was a clit<<if playerHasStrapon()>>, no wonder your wearing a strapon<</if>>!"
-										<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
 									<<elseif $rng gte 33>>
-										"Could anyone even feel anything if you fucked them with it!"
-										<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+										"Could anyone even feel anything if you fucked them with it?"
 									<<else>>
-										"I've never seen such a useless penis. Why isn't it in a cage."
-										<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
+										"I've never seen such a useless penis. Why isn't it in a cage?"
 									<</if>>
+									<<insecurity "penis_small" 4>><<ginsecurity "penis_small">>
 							<</switch>>
 						<</if>>
 					<<else>>
-- 
GitLab