From 380c77654f77b13f29ab87e1554a701573fc8ae5 Mon Sep 17 00:00:00 2001
From: Pregmodder <pregmodder@gmail.com>
Date: Sat, 11 Mar 2017 04:38:46 -0500
Subject: [PATCH] Lower language skills and bugfixes.

---
 src/pregmod/extendedFamilyWidgets.tw   |  1 +
 src/pregmod/generateChild.tw           | 22 ++++++++++++++--------
 src/uncategorized/saLongTermEffects.tw | 10 +++++++++-
 src/uncategorized/saTakeClasses.tw     | 12 +++++++++---
 src/uncategorized/schoolroomReport.tw  |  4 ++--
 src/uncategorized/slaveInteract.tw     |  8 +++++---
 src/uncategorized/slaveSummary.tw      |  6 ++++++
 src/utility/assayWidgets.tw            |  2 +-
 8 files changed, 47 insertions(+), 18 deletions(-)

diff --git a/src/pregmod/extendedFamilyWidgets.tw b/src/pregmod/extendedFamilyWidgets.tw
index 666c45bac06..98b4994f6bc 100644
--- a/src/pregmod/extendedFamilyWidgets.tw
+++ b/src/pregmod/extendedFamilyWidgets.tw
@@ -532,6 +532,7 @@
 	is @@color:lightgreen;_rel_desc _rel_type.@@
 <</if>>
 <</if>>
+<<set $children = []>> 
 
 /*testtest PC twin passages - determines how many twins you have but not implemented yet
 <<for $i to 0; $i < $slaves.length; $i++>>
diff --git a/src/pregmod/generateChild.tw b/src/pregmod/generateChild.tw
index 9e7ee97bb99..15d589f146a 100644
--- a/src/pregmod/generateChild.tw
+++ b/src/pregmod/generateChild.tw
@@ -253,16 +253,16 @@
 		<</if>>
 	<</if>>
 	<<set $activeSlave.mother = $mergeMom.ID>>
-	<<if $mergeMom.pregSource > 0>>
+	<<if $Mom.pregSource > 0>>
 		<<set $activeSlave.father = $mergeDad.ID>>
-		<<set $activeSlave.slaveName = String($mergeMom.slaveName + " and " + $mergeDad.slaveName + "'s child")>>
-	<<elseif $mergeMom.pregSource == -1>>
+		<<set $activeSlave.slaveName = String($Mom.slaveName + " and " + $mergeDad.slaveName + "'s child")>>
+	<<elseif $Mom.pregSource == -1>>
 		<<set $activeSlave.father = -1>>
-		<<set $activeSlave.slaveName = String($mergeMom.slaveName + " and my child")>>
+		<<set $activeSlave.slaveName = String($Mom.slaveName + " and my child")>>
 	<<else>>
 		<<set $activeSlave.father = $missingParentID>>
 		<<set $missingParentID-->>
-		<<set $activeSlave.slaveName = String($mergeMom.slaveName + "'s slut child")>>
+		<<set $activeSlave.slaveName = String($Mom.slaveName + "'s slut child")>>
 	<</if>>
 	<<if $mergeMom.nationality == $mergeDad.nationality>>
 		<<set $activeSlave.nationality = $mergeDad.nationality>>
@@ -276,7 +276,7 @@
 	<<else>>
 		<<set $activeSlave.race = "mixed race">>
 	<</if>>
-	<<if $mergeMom.pregSource == -2 && $arcologies[0].FSSupremacist != "unset">>
+	<<if $Mom.pregSource == -2 && $arcologies[0].FSSupremacist != "unset">>
 		<<set $activeSlave.race = either($mergeMom.race, $arcologies[0].FSSubjugationistRace, $arcologies[0].FSSubjugationistRace)>>
 		<<if $mergeMom.race != $arcologies[0].FSSubjugationistRace>>
 			<<if random(1,100) > 50>>
@@ -338,7 +338,7 @@
 	<<else>>
 		<<set $activeSlave.hColor = either($mergeMom.hColor, $mergeDad.hColor)>>
 	<</if>>
-	<<if $mergeMom.pregSource == -2 || $mergeMom.pregSource == 0>>
+	<<if $Mom.pregSource == -2 || $Mom.pregSource == 0>>
 		<<set $activeSlave.hColor = either($mergeMom.hColor, "brown", "blonde", "black", "brown", "black", "brown", "black")>>
 	<</if>>
 	<<set $activeSlave.pubicHColor = $activeSlave.hColor>>
@@ -422,6 +422,9 @@
 			<</if>>
 			<<if $activeSlave.intelligence > -3 && random(1,100) < 60>>
 				<<set $activeSlave.intelligence -= 1>>
+				<<if $activeSlave.intelligence > -3 && random(1,100) < 30>>
+					<<set $activeSlave.intelligence -= 1>>
+				<</if>>
 			<</if>>
 		<</if>>
 	<</if>>
@@ -446,6 +449,9 @@
 		<</if>>
 		<<if $activeSlave.intelligence > -3 && random(1,100) < 90>>
 			<<set $activeSlave.intelligence -= 1>>
+				<<if $activeSlave.intelligence > -3 && random(1,100) < 60>>
+					<<set $activeSlave.intelligence -= 1>>
+				<</if>>
 		<</if>>
 	<</if>>
 <</if>>
@@ -485,7 +491,7 @@
 <<set $activeSlave.oralSkill = 0>>
 <<set $activeSlave.analSkill = 0>>
 <<set $activeSlave.vaginalSkill = 0>>
-<<set $activeSlave.accent = 3>>
+<<set $activeSlave.accent = 4>>
 <<set $activeSlave.canRecruit = 0>>
 <<set $activeSlave.hStyle = "long">>
 <<set $activeSlave.hLength = 300>>
diff --git a/src/uncategorized/saLongTermEffects.tw b/src/uncategorized/saLongTermEffects.tw
index be54047a47d..017534ee743 100644
--- a/src/uncategorized/saLongTermEffects.tw
+++ b/src/uncategorized/saLongTermEffects.tw
@@ -5669,10 +5669,18 @@ and ($slaves[$i].clothes != "a slutty qipao") and ($slaves[$i].clothes != "restr
 	<<set $seed to 30>>
 <<elseif $slaves[$i].speechRules is "accent elimination">>
 	<<set $seed to 15>>
+<<elseif $slaves[$i].speechRules is "language lessons">>
+	<<set $seed to 10>>
 <<else>>
 	<<set $seed to 20>>
 <</if>>
-<<if $slaves[$i].accent >= 3>>
+<<if $slaves[$i].accent >= 4>>
+	<<if $week - $slaves[$i].weekAcquired > $seed - ($slaves[$i].intelligence*5) - 5>>
+		<<set $slaves[$i].accent -= 1>>
+		<<set $slaves[$i].speechRules = "accent elimination">>
+		She has managed to pick up enough $language that @@color:green;she can now barely get her point across.@@ Her accent is horrible, but it's a start.
+	<</if>>
+<<elseif $slaves[$i].accent >= 3>>
 	<<if $week - $slaves[$i].weekAcquired > $seed - ($slaves[$i].intelligence*5)>>
 		<<set $slaves[$i].accent -= 1>>
 		She has managed to pick up enough $language that @@color:green;she's now reasonably fluent in the language.@@ Her accent is quite heavy, but she can make herself understood.
diff --git a/src/uncategorized/saTakeClasses.tw b/src/uncategorized/saTakeClasses.tw
index 15ce46c9421..870a53e4242 100644
--- a/src/uncategorized/saTakeClasses.tw
+++ b/src/uncategorized/saTakeClasses.tw
@@ -149,12 +149,18 @@ takes courses in slavery<<if $schoolroomUpgradeSkills + $schoolroomUpgradeRemedi
 <<if $slaves[$i].voice != 0>>
 	<<if ($slaves[$i].intelligence > random(-4,4))>>
 	<<if ($schoolroomUpgradeLanguage == 0)>>
-		<<if ($slaves[$i].accent >= 3)>>
+		<<if ($slaves[$i].accent > 3)>>
+			She has @@color:green;learned some $language,@@ and can make her point with some gesturing, though she speaks $language horribly.
+			<<set $slaves[$i].accent -= 1>>
+		<<elseif ($slaves[$i].accent == 3)>>
 		She has @@color:green;learned functional $language,@@ and can make herself understood, though her $slaves[$i].nationality accent is still quite heavy.
-		<<set $slaves[$i].accent to 2>>
+		<<set $slaves[$i].accent -= 1>>
 		<</if>>
 	<<else>>
-		<<if ($slaves[$i].accent >= 2)>>
+		<<if ($slaves[$i].accent > 3)>>
+			She has @@color:green;learned some $language,@@ and can make her point with some gesturing, though she speaks $language horribly.
+			<<set $slaves[$i].accent -= 1>>
+		<<elseif ($slaves[$i].accent >= 2)>>
 		She has @@color:green;learned decent $language,@@ though she retains enough of her $slaves[$i].nationality accent to make her voice distinctly sexy.
 		<<set $slaves[$i].accent to 1>>
 		<</if>>
diff --git a/src/uncategorized/schoolroomReport.tw b/src/uncategorized/schoolroomReport.tw
index b6a905cf859..578624acbea 100644
--- a/src/uncategorized/schoolroomReport.tw
+++ b/src/uncategorized/schoolroomReport.tw
@@ -152,8 +152,8 @@
 		<</if>>
 	<</if>>
 	<</for>>
-	<<if ($schoolroomSlaves < $schoolroomS)>>
-		<<set $seed to random(1,10)+(($schoolroomS-$schoolroomSlaves)*(random(150,170)+($idleBonus*10)))>>
+	<<if ($schoolroomSlaves < $schoolroom)>>
+		<<set $seed to random(1,10)+(($schoolroom-$schoolroomSlaves)*(random(150,170)+($idleBonus*10)))>>
 		<<set $cash += $seed>>
 		Since she doesn't have enough students to occupy all her time, $schoolroomName takes in citizens' slaves on a contract basis and she teaches them too, earning @@color:yellowgreen;¤$seed.@@
 	<</if>>
diff --git a/src/uncategorized/slaveInteract.tw b/src/uncategorized/slaveInteract.tw
index 7972c7eefe7..2fbfe0afb91 100644
--- a/src/uncategorized/slaveInteract.tw
+++ b/src/uncategorized/slaveInteract.tw
@@ -280,7 +280,7 @@
 	<</if>>
 	<</if>>
 	<<if ($activeSlave.fetish != "mindbroken")>>
-	<<if ($activeSlave.amp != 1) || ($activeSlave.voice != 0)>>
+	<<if (($activeSlave.amp != 1) || ($activeSlave.voice != 0)) && $activeSlave.accent != 4>>
 	| <<click "Ask her about her feelings">><<replace "#miniscene">><<display "FFeelings">><br>&nbsp;&nbsp;&nbsp;&nbsp;<</replace>><</click>>
 	<</if>>
 	<</if>>
@@ -749,9 +749,9 @@ __Diet Base__: <strong><span id="dietBase"><<if $activeSlave.dietCum == 2>>Cum B
 	<<if $activeSlave.voice != 0>>
 	__Speech Rules__: ''<span id="speechRules">$activeSlave.speechRules</span>.''
 	<<if $activeSlave.speechRules is "restrictive">>
-		<<click "Permissive">><<set $activeSlave.speechRules to "permissive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><<if $activeSlave.accent > 0>> | <<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><</if>>
+		<<click "Permissive">><<set $activeSlave.speechRules to "permissive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><<if $activeSlave.accent > 0 && $activeSlave.accent < 4>> | <<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><</if>><<if $activeSlave.accent > 3>> | <<click "Language lessons">><<set $activeSlave.speechRules to "language lessons">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>><</if>>
 	<<elseif $activeSlave.speechRules is "permissive">>
-		<<if $activeSlave.accent > 0>><<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <</if>><<click "Restrictive">><<set $activeSlave.speechRules to "restrictive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>>
+		<<if $activeSlave.accent > 0 && $activeSlave.accent < 4>><<click "Accent elimination">><<set $activeSlave.speechRules to "accent elimination">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <</if>><<if $activeSlave.accent > 3>><<click "Language lessons">><<set $activeSlave.speechRules to "language lessons">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <</if>><<click "Restrictive">><<set $activeSlave.speechRules to "restrictive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>>
 	<<else>>
 		<<click "Permissive">><<set $activeSlave.speechRules to "permissive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>> | <<click "Restrictive">><<set $activeSlave.speechRules to "restrictive">><<replace "#speechRules">><<print $activeSlave.speechRules>><</replace>><</click>>
 	<</if>>
@@ -1059,6 +1059,8 @@ __Buttplug__: ''<span id="buttplug">$activeSlave.buttplug</span>.''
 <<if ($slaves.length > 1)>>
 	<<if $activeSlave.origin == "You bought her from a body dump, completely broken." && ($week-$activeSlave.weekAcquired <= 8)>>
 	//A discarded slave must be kept for at least two months to unsure health before being sold.//
+	<<elseif $activeSlave.accent > 3>>
+	//Her lack of language and basic life skills is a red sign to most slave appraisers. She must not act like a child to be sold without raising suspicion.//
 	<<else>>
 	[[Sell her|Sell Slave][$cash -= 500]] //Listing her for sale will cost ¤500// |
 	<<if ($seeAge != 0)>>
diff --git a/src/uncategorized/slaveSummary.tw b/src/uncategorized/slaveSummary.tw
index a60d995762d..3dbe00fe193 100644
--- a/src/uncategorized/slaveSummary.tw
+++ b/src/uncategorized/slaveSummary.tw
@@ -694,6 +694,8 @@ will
 	''SpR:P''
 <<case "accent elimination">>
 	''SpR:NoAcc''
+<<case "language lessons">>
+	''SpR:LL''
 <<default>>
 	''SpR:R''
 <</switch>>
@@ -1590,6 +1592,8 @@ Release rules: _Slave.releaseRules.
 		@@color:red;Acc--@@
 	<<elseif _Slave.accent is 2>>
 		Acc-
+	<<elseif _Slave.accent is 4>>
+		Acc--
 	<<elseif _Slave.accent == 1>>
 		@@color:pink;Acc@@
 	<</if>>
@@ -1807,6 +1811,8 @@ _Slave.faceShape face.
 <<else>>
 <<if _Slave.accent is 3>>
 	@@color:red;Bad accent.@@
+<<elseif _Slave.accent is 4>>
+	@@color:red;No language skills.@@
 <<elseif _Slave.accent is 2>>
 	Accent.
 <<elseif _Slave.accent == 1>>
diff --git a/src/utility/assayWidgets.tw b/src/utility/assayWidgets.tw
index d53f5ffa782..4d49cfa76b6 100644
--- a/src/utility/assayWidgets.tw
+++ b/src/utility/assayWidgets.tw
@@ -627,7 +627,7 @@
 <<if canTalk($args[0]) == false>>
 	<<set $beauty -= 2>>
 <<else>>
-	<<if ($args[0].accent is 3)>>
+	<<if ($args[0].accent >= 3)>>
 	<<set $beauty -= 1>>
 	<<elseif ($args[0].accent == 1)>>
 	<<set $beauty += 1>>
-- 
GitLab