From 038ba3798f2d51f3f326460481867effa21206a8 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Fri, 1 Feb 2019 23:51:37 -0500
Subject: [PATCH] Well Hung.

---
 src/js/generateNewSlaveJS.js       |  41 ++++++++++--
 src/pregmod/physicalDevelopment.tw | 100 ++++++++++++++++++++++-------
 2 files changed, 112 insertions(+), 29 deletions(-)

diff --git a/src/js/generateNewSlaveJS.js b/src/js/generateNewSlaveJS.js
index 65880d2c4b3..9a2bb25283f 100644
--- a/src/js/generateNewSlaveJS.js
+++ b/src/js/generateNewSlaveJS.js
@@ -70,6 +70,7 @@ window.GenerateNewSlave = (function(){
 		slave.pubertyXY = 0;
 		slave.energy = jsRandom(1,85);
 
+		generateXXGeneticQuirks();
 		generateXXBodyProportions();
 		generateVagina();
 		generateXXPreferences();
@@ -82,7 +83,6 @@ window.GenerateNewSlave = (function(){
 		generateXXMods();
 		generateXXBodyHair();
 		generateXXPuberty();
-		generateXXGeneticQuirks();
 	}
 
 	function GenerateXYSlave() {
@@ -92,6 +92,7 @@ window.GenerateNewSlave = (function(){
 		slave.pubertyXX = 0;
 		slave.energy = jsRandom(15,90);
 
+		generateXYGeneticQuirks();
 		generateXYBodyProportions();
 		generateDick();
 		generateCircumcision();
@@ -105,7 +106,6 @@ window.GenerateNewSlave = (function(){
 		generateXYMods();
 		generateXYBodyHair();
 		generateXYPuberty();
-		generateXYGeneticQuirks();
 	}
 
 	function generateXXBodyProportions() {
@@ -222,7 +222,15 @@ window.GenerateNewSlave = (function(){
 		slave.preg = 0;
 
 		if (slave.physicalAge <= 13) {
-			slave.dick = jsEither([1, 1, 1, 1, 2, 2, 2, 3]);
+			if (slave.geneticQuirks.wellHung == 2) {
+				if (slave.physicalAge >= 8) {
+					slave.dick = jsEither([2, 2, 3, 3, 4]);
+				} else {
+					slave.dick = jsEither([1, 2, 2, 3]);
+				}
+			} else {
+				slave.dick = jsEither([1, 1, 1, 1, 2, 2, 2, 3]);
+			}
 			if (V.seeExtreme === 1) {
 				slave.balls = jsEither([0, 0, 1, 1, 1, 2, 2, 2, 2, 3, 3]);
 			} else {
@@ -230,7 +238,11 @@ window.GenerateNewSlave = (function(){
 			}
 			slave.scrotum = slave.balls;
 		} else if (slave.physicalAge <= 15) {
-			slave.dick = jsEither([1, 1, 1, 2, 2, 2, 3]);
+			if (slave.geneticQuirks.wellHung == 2) {
+				slave.dick = jsEither([3, 3, 4, 4, 5]);
+			} else {
+				slave.dick = jsEither([1, 1, 1, 2, 2, 2, 3]);
+			}
 			if (V.seeExtreme === 1) {
 				slave.balls = jsEither([0, 1, 1, 1, 2, 2, 2, 2, 3, 3, 4]);
 			} else {
@@ -238,7 +250,11 @@ window.GenerateNewSlave = (function(){
 			}
 			slave.scrotum = slave.balls;
 		} else if (slave.physicalAge <= 17) {
-			slave.dick = jsEither([1, 1, 2, 2, 3, 3]);
+			if (slave.geneticQuirks.wellHung == 2) {
+				slave.dick = jsEither([4, 4, 5, 5, 6]);
+			} else {
+				slave.dick = jsEither([1, 1, 2, 2, 3, 3]);
+			}
 			if (V.seeExtreme === 1) {
 				slave.balls = jsEither([0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 5]);
 			} else {
@@ -246,13 +262,20 @@ window.GenerateNewSlave = (function(){
 			}
 			slave.scrotum = slave.balls;
 		} else {
-			slave.dick = jsEither([1, 2, 2, 2, 3, 3, 3, 4, 4, 5]);
+			if (slave.geneticQuirks.wellHung == 2) {
+				slave.dick = jsEither([5, 5, 6]);
+			} else {
+				slave.dick = jsEither([1, 2, 2, 2, 3, 3, 3, 4, 4, 5]);
+			}
 			if (V.seeExtreme === 1) {
 				slave.balls = jsEither([0, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5]);
 			} else {
 				slave.balls = jsEither([1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5]);
 			}
 			if (slave.balls !== 0) {
+				if (slave.geneticQuirks.wellHung == 2) {
+					slave.balls++;
+				}
 				slave.scrotum = slave.balls + jsEither([0, 0, 1]);
 			} else {
 				slave.scrotum = 0;
@@ -1061,6 +1084,12 @@ window.GenerateNewSlave = (function(){
 	}
 
 	function generateXYGeneticQuirks() {
+		chance = jsRandom(1,10000);
+		if (chance >= 9750) {
+			slave.geneticQuirks.wellHung = 2;
+		} else if (chance >= 9500) {
+			slave.geneticQuirks.wellHung = 1;
+		}
 		chance = jsRandom(1,1000);
 		if (chance >= 950) {
 			slave.geneticQuirks.fertility = 1;
diff --git a/src/pregmod/physicalDevelopment.tw b/src/pregmod/physicalDevelopment.tw
index 65c3d7e85e8..94759373539 100644
--- a/src/pregmod/physicalDevelopment.tw
+++ b/src/pregmod/physicalDevelopment.tw
@@ -1366,6 +1366,12 @@
 
 <<elseif $args[0].genes == "XY">>
 
+<<if $args[0].geneticQuirks.wellHung == 2>>
+	<<set _dickMod = 2>>
+<<else>>
+	<<set _dickMod = 1>>
+<</if>>
+
 <<switch $args[0].physicalAge>>
 <<case 3>>
 	<<if $args[0].hormoneBalance >= 200>>
@@ -1594,7 +1600,7 @@
 			<</if>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -1626,7 +1632,7 @@
 			<</if>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 90>>
+			<<if random(1,100) > 90/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -1700,18 +1706,42 @@
 		<<elseif $args[0].height <= 144>>
 			<<set $args[0].height += 3>>
 		<</if>>
+		<<if $args[0].dick > 0 && $args[0].dick < 6 && _dickMod == 2>>
+			<<if random(1,100) > 70>>
+				<<set $args[0].dick += 1>>
+				<<if $args[0].foreskin > 0>>
+					<<set $args[0].foreskin += 1>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<<elseif $args[0].hormoneBalance <= -100>>
 		<<if $args[0].height <= 137>>
 			<<set $args[0].height += either(4,5,5,5,6)>>
 		<<elseif $args[0].height <= 144>>
 			<<set $args[0].height += 3>>
 		<</if>>
+		<<if $args[0].dick > 0 && $args[0].dick < 6 && _dickMod == 2>>
+			<<if random(1,100) > 70>>
+				<<set $args[0].dick += 1>>
+				<<if $args[0].foreskin > 0>>
+					<<set $args[0].foreskin += 1>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<<else>>
 		<<if $args[0].height <= 137>>
 			<<set $args[0].height += either(4,4,5,5,5,6)>>
 		<<elseif $args[0].height <= 144>>
 			<<set $args[0].height += 3>>
 		<</if>>
+		<<if $args[0].dick > 0 && $args[0].dick < 6 && _dickMod == 2>>
+			<<if random(1,100) > 70>>
+				<<set $args[0].dick += 1>>
+				<<if $args[0].foreskin > 0>>
+					<<set $args[0].foreskin += 1>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<</if>>
 	<<if $args[0].pregAdaptation < 8>>
 		<<set $args[0].pregAdaptation++>>
@@ -1758,7 +1788,7 @@
 			<<set $args[0].height += 3>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -1780,7 +1810,7 @@
 			<<set $args[0].height += 3>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 90>>
+			<<if random(1,100) > 90/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -1801,6 +1831,14 @@
 		<<elseif $args[0].height <= 156>>
 			<<set $args[0].height += 4>>
 		<</if>>
+		<<if $args[0].dick > 0 && $args[0].dick < 6 && _dickMod == 2>>
+			<<if random(1,100) > 70>>
+				<<set $args[0].dick += 1>>
+				<<if $args[0].foreskin > 0>>
+					<<set $args[0].foreskin += 1>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<</if>>
 	<<if $args[0].pregAdaptation < 9>>
 		<<set $args[0].pregAdaptation++>>
@@ -1850,7 +1888,7 @@
 			<<set $args[0].boobs -= 100>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -1875,7 +1913,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 90>>
+			<<if random(1,100) > 90/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -1896,6 +1934,14 @@
 		<<elseif $args[0].height <= 163>>
 			<<set $args[0].height += 3>>
 		<</if>>
+		<<if $args[0].dick > 0 && $args[0].dick < 6 && _dickMod == 2>>
+			<<if random(1,100) > 70>>
+				<<set $args[0].dick += 1>>
+				<<if $args[0].foreskin > 0>>
+					<<set $args[0].foreskin += 1>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<</if>>
 	<<if $args[0].pregAdaptation < 10>>
 		<<set $args[0].pregAdaptation++>>
@@ -1955,7 +2001,7 @@
 			<<set $args[0].boobs -= 100>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -1985,7 +2031,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 90>>
+			<<if random(1,100) > 90/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2016,6 +2062,14 @@
 				<<set $args[0].waist += 5>>
 			<</if>>
 		<</if>>
+		<<if $args[0].dick > 0 && $args[0].dick < 6 && _dickMod == 2>>
+			<<if random(1,100) > 70>>
+				<<set $args[0].dick += 1>>
+				<<if $args[0].foreskin > 0>>
+					<<set $args[0].foreskin += 1>>
+				<</if>>
+			<</if>>
+		<</if>>
 	<</if>>
 	<<if $args[0].pregAdaptation < 12>>
 		<<set $args[0].pregAdaptation += 2>>
@@ -2114,7 +2168,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 50>>
+			<<if random(1,100) > 50/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2149,7 +2203,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2181,7 +2235,7 @@
 			<</if>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 50>>
+			<<if random(1,100) > 50/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2260,7 +2314,7 @@
 			<<set $args[0].boobs -= 100>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 20>>
+			<<if random(1,100) > 20/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2290,7 +2344,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 40>>
+			<<if random(1,100) > 40/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2322,7 +2376,7 @@
 			<</if>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 50>>
+			<<if random(1,100) > 50/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2395,7 +2449,7 @@
 			<<set $args[0].boobs -= 100>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 20>>
+			<<if random(1,100) > 20/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2423,7 +2477,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 40>>
+			<<if random(1,100) > 40/_dickMod>>
 				<<set $args[0].dick += 1>>
 			<</if>>
 		<</if>>
@@ -2445,7 +2499,7 @@
 			<<set $args[0].height += either(0,0,1,1,1,2)>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 50>>
+			<<if random(1,100) > 50/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2518,7 +2572,7 @@
 			<<set $args[0].boobs -= 100>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2546,7 +2600,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 90>>
+			<<if random(1,100) > 90/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2628,7 +2682,7 @@
 			<<set $args[0].boobs -= 100>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2656,7 +2710,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 90>>
+			<<if random(1,100) > 90/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2738,7 +2792,7 @@
 			<<set $args[0].boobs -= 100>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 70>>
+			<<if random(1,100) > 70/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
@@ -2766,7 +2820,7 @@
 			<<set $args[0].boobs -= 50>>
 		<</if>>
 		<<if $args[0].dick > 0 && $args[0].dick < 6>>
-			<<if random(1,100) > 90>>
+			<<if random(1,100) > 90/_dickMod>>
 				<<set $args[0].dick += 1>>
 				<<if $args[0].foreskin > 0>>
 					<<set $args[0].foreskin += 1>>
-- 
GitLab