28 Commits 8a94e1fa9f ... 21186618ca

Autor SHA1 Mensagem Data
  Lurk_Morrison 21186618ca Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife into lurk 5 anos atrás
  KevinSmarts 288f462615 [fixed] GYN now notices if Sveta is not a virgin even if she doesn't know and reactions/testing text changes to reflect this 5 anos atrás
  KevinSmarts 89de01d4a1 Merge remote-tracking branch 'Deroc/master' 5 anos atrás
  Deroc db668021ac [Fixed] REEEEEEE write of appearance. 5 anos atrás
  Christine 243c0afd02 [changed] Way more likely to be confronted by Gala after her seeing you sleep with Tanya 5 anos atrás
  Christine a4713b40d4 [fixed] Sex with Tanya is now suffiently arousing 5 anos atrás
  Christine 5df8e3ec7c [changed] Nicholas won't hire a pregnant Sveta 5 anos atrás
  Christine 9f6d643ca8 [changed] Tanya does not offer the Maid-job to a pregnant Sveta 5 anos atrás
  Christine af5de1fc40 Merge branch 'dev' into pregnancy 5 anos atrás
  Christine 30348a9058 [changed] Don't be to harsh on players converting their savegames 5 anos atrás
  Christine 110268c833 [fixed] Debug messages removed 5 anos atrás
  Christine 1c813878ba Merge branch 'dev' into pregnancy 5 anos atrás
  Christine fc8c7dc497 [fixed] Hotfix: Being able to leave the shower with Tanya 5 anos atrás
  Christine ea3e642f38 [fixed] correct response on realizing that Sveta is pregnant from Nicholas 5 anos atrás
  Christine 2aca0e7edf Merge branch 'dev' into pregnancy 5 anos atrás
  Christine 96e5319cc1 Merge remote-tracking branch 'glife/master' into dev 5 anos atrás
  Christine 204e475725 Merge branch 'dev' into pregnancy 5 anos atrás
  Christine a84c6c5b84 [changed] New function to check whether a NPC realizes another character is pregnant 5 anos atrás
  Christine 219a181a5c [added] Maid: Getting fired because being pregnant event 5 anos atrás
  Christine 16f2a11033 [added] Maid: Being pregnant notice 5 anos atrás
  Christine a0455923a4 Merge remote-tracking branch 'glife/master' into dev 5 anos atrás
  Christine cb8d2a36f6 Merge remote-tracking branch 'glife/master' into dev 5 anos atrás
  Christine 77b9265282 [added] Gala and Taras entries in npcstatic 5 anos atrás
  Christine fc645b2ddf Merge remote-tracking branch 'glife/master' into dev 5 anos atrás
  Christine 3ba99e8da0 [changed] Moved the health treatment (clinics) to medical_din 5 anos atrás
  Christine 08dcf8a608 [changed] medical_din renamed from medUtil 5 anos atrás
  Christine 220985b63c Merge remote-tracking branch 'glife/master' into dev 5 anos atrás
  Christine e4d1068471 [changed] Moved abortion and STD heal code to its own file for common usage 5 anos atrás

+ 2 - 0
glife.qproj

@@ -65,6 +65,8 @@
 		<Location name="body_shape"/>
 		<Location name="lact_lib"/>
 		<Location name="lact_bp"/>
+		<Location name="body_din"/>
+		<Location name="medical_din"/>
 	</Folder>
 	<Folder name="Stimulus">
 		<Location name="boyStat"/>

+ 1 - 10
locations/abduction.qsrc

@@ -230,16 +230,7 @@ if $ARGS[0] = 'abdExam2':
 	'"Now there, our little slave, we will make sure you are healthy and ready to be trained."'
 	'He injects all the solutions into you.'
 	'The examination is at an end. The doctor leaves, you are untied, blindfolded again and led back down into the basement.'
-	venera = 0
-	GerpesOnce = 0
-	Gerpes = 0
-	SifacOnce = 0
-	Sifilis = 0
-	TriperOnce = 0
-	Triper = 0
-	TriperOral = 0
-	KandidozOnce = 0
-	Kandidoz = 0
+	gs 'medical_din','healSTDs'
 
 	examed = 1
 	act 'Continue':gt 'abduction', 'abdRoom'

+ 1 - 1
locations/body.qsrc

@@ -2335,7 +2335,7 @@ elseif pcs_apprnc < 60:
 elseif pcs_apprnc < 120:
 	$pcs_apprnc = 'You have good looks. Men and women check you out when they think you aren''t looking.'
 elseif pcs_apprnc < 160:
-	$pcs_apprnc = 'You''re unquestionably gorgeous. Men constantly get caught staring by you and their girlfriends.'
+	$pcs_apprnc = 'You''re unquestionably gorgeous. Men constantly get caught staring at you by their girlfriends.'
 elseif pcs_apprnc < 200:
 	$pcs_apprnc = 'You have a simply stunning appearance. Other girls are a bit jealous and guys constantly check you out.'
 else

+ 40 - 0
locations/body_din.qsrc

@@ -0,0 +1,40 @@
+# body_din
+!! Medical procedures, such as abortions, are located at medical_din
+
+
+!! Determines whether a NPC sees that another character is pregnant.
+!! If ARGS 1-3 are not set the observed character is the player character (Sveta)
+!! Usage: visible = FUNC('body_din','pregnancyVisibility')
+!! Return values:
+!!				0: Has no reason to believe Sveta is pregnant
+!!				1: Believes Sveta is pregnant
+!! Parameters:
+!!				ARGS[1]; The current pregnancy state (default: pregchem)
+!!				$ARGS[2]: The worn clothing type (default $clothingworntype)
+!!				ARGS[3]: The worn clothing numer  (default: clothingwornnumber)
+
+if $ARGS[0] = 'pregnancyVisibility':
+	RESULT = 0
+	pregchemTemp = iif(ARGS[1] = 0,pregchem,ARGS[1])
+	$clothingworntypeTemp = iif(ARGS[2] = '',$clothingworntype,ARGS[2])
+	clothingwornnumberTemp = iif(ARGS[3] = 0,clothingwornnumber,ARGS[3])
+	
+	gs 'clothing_attributes',$clothingworntypeTemp,clothingwornnumberTemp
+	if (CloThinness >= 5 or $clothingworntypeTemp = 'nude') and pregchemTemp > 2000: 
+		RESULT = 1
+	elseif CloThinness = 4 and pregchemTemp > 3460: 
+		RESULT = 1
+	elseif CloThinness = 3 and pregchemTemp > 3990: 
+		RESULT = 1	
+	elseif CloThinness = 2 and pregchemTemp > 4200: 
+		RESULT = 1	
+	elseif pregchemTemp > 5200: 
+		RESULT = 1	
+	end
+
+	killvar 'pregchemTemp'
+	killvar '$clothingworntypeTemp'
+	killvar 'clothingwornnumberTemp'
+end
+
+--- body_din ---------------------------------

+ 7 - 7
locations/brother.qsrc

@@ -1460,22 +1460,22 @@ if $ARGS[0] = 'brother_voyeur_ev8':
 end
 
 if $ARGS[0] = 'pregreact':
-	if knowpreg = 1 and kid = 0:
-		if $clothingworntype = 'nude' and pregchem > 2000 and brotherSex < 7 and kid = 0:
+	if knowpreg = 1 and kid = 0 and FUNC('body_din','pregnancyVisibility') = 1:
+		if $clothingworntype = 'nude' and brotherSex < 7:
 			'Surprised, your brother looks at your stomach. "<<$pcs_nickname>>, are you pregnant? <<$npc_nickname[''A29'']>> and dad are going to be pissed!" After a moments pause he adds, "You do still look good, though."'
 			npc_pregtalk['A34'] = 1
 
 			act 'Continue' :gt 'sitrPar'
 		exit
 
-		elseif $clothingworntype ! 'nude' and pregchem > 3460 and brotherSex < 7 and kid = 0:
+		elseif $clothingworntype ! 'nude' and brotherSex < 7:
 			'Surprised, your brother looks at your stomach, "<<$pcs_nickname>>, why didn''t you tell me I''m going to be an uncle?"'
 			npc_pregtalk['A34'] = 1
 
 			act 'Continue' :gt 'sitrPar'
 			exit
-
-		elseif brotherSex >= 7 and kid = 0 and npc_pregtalk['A29'] = 0 and (($clothingworntype = 'nude' and pregchem > 2000) or ($clothingworntype ! 'nude' and pregchem >= 3460) or ($clothingworntype = 'nude' and pregchem < 2000) or ($clothingworntype ! 'nude' and pregchem < 3460)):
+		
+		elseif brotherSex >= 7 and npc_pregtalk['A29'] = 0:
 			cla
 			'Surprised, your brother looks at your stomach, "Are you really pregnant? It... it''s not mine, is it?"'
 			*nl
@@ -1490,7 +1490,7 @@ if $ARGS[0] = 'pregreact':
 			end
 			exit
 		end
-	elseif brotherSex < 7 and kid > 0 and (($clothingworntype = 'nude' and pregchem > 2000) or ($clothingworntype ! 'nude' and pregchem > 3460)):
+	elseif brotherSex < 7 and kid > 0 and FUNC('body_din','pregnancyVisibility') = 1:
 		'"You''re already pregnant again? This is starting to look like a new hobby," he laughs.'
 		'"You know what? Maybe it is," you joke back. "Some girls play sports, I get serially impregnated."'
 		'Kolka pokes his tongue out at you, "Well, congratulations on taking home the gold in getting knocked up."'
@@ -1500,7 +1500,7 @@ if $ARGS[0] = 'pregreact':
 		'You leave your brother to what he was doing before, glad that the two of you have the relationship that you do.'
 
 		act 'Continue' :npc_pregtalk['A34'] = 1 & gt 'sitrPar'
-	elseif brotherSex >= 7 and kid > 0 and npc_pregtalk['A29'] = 0 and (($clothingworntype = 'nude' and pregchem >= 2000) or ($clothingworntype ! 'nude' and pregchem >= 3460)):
+	elseif brotherSex >= 7 and kid > 0 and npc_pregtalk['A29'] = 0 and FUNC('body_din','pregnancyVisibility') = 1:
 		cla
 		'Kolka looks at your stomach for moment before asking, "Wow, you''re pregnant again? Is it mine?"'
 		*nl

+ 100 - 129
locations/gpoli.qsrc

@@ -156,45 +156,7 @@ if $ARGS[0] = '':
 				cla
 				menu_off = 1
 				minut += 60
-				if pain['head'] > 0:pain['head'] -= rand(7,13)
-				if pain['hair'] > 0:pain['hair'] -= rand(7,13)
-				if pain['ears'] > 0:pain['ears'] -= rand(7,13)
-				if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(7,13)
-				if pain['eyes'] > 0:pain['eyes'] -= rand(7,13)
-				if pain['cheeks'] > 0:pain['cheeks'] -= rand(7,13)
-				if pain['nose'] > 0:pain['nose'] -= rand(7,13)
-				if pain['mouth'] > 0:pain['mouth'] -= rand(7,13)
-				if pain['lips'] > 0:pain['lips'] -= rand(7,13)
-				if pain['tongue'] > 0:pain['tongue'] -= rand(7,13)
-				if pain['throat'] > 0:pain['throat'] -= rand(7,13)
-				if pain['neck'] > 0:pain['neck'] -= rand(7,13)
-				if pain['back'] > 0:pain['back'] -= rand(7,13)
-				if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(7,13)
-				if pain['asshole'] > 0:pain['asshole'] -= rand(7,13)
-				if pain['hips'] > 0:pain['hips'] -= rand(7,13)
-				if pain['thighs'] > 0:pain['thighs'] -= rand(7,13)
-				if pain['legL'] > 0:pain['legL'] -= rand(7,13)
-				if pain['legR'] > 0:pain['legR'] -= rand(7,13)
-				if pain['feet'] > 0:pain['feet'] -= rand(7,13)
-				if pain['toes'] > 0:pain['toes'] -= rand(7,13)
-				if pain['shoulders'] > 0:pain['shoulders'] -= rand(7,13)
-				if pain['armL'] > 0:pain['armL'] -= rand(7,13)
-				if pain['armR'] > 0:pain['armR'] -= rand(7,13)
-				if pain['hands'] > 0:pain['hands'] -= rand(7,13)
-				if pain['fingers'] > 0:pain['fingers'] -= rand(7,13)
-				if pain['chest'] > 0:pain['chest'] -= rand(7,13)
-				if pain['breasts'] > 0:pain['breasts'] -= rand(7,13)
-				if pain['nipples'] > 0:pain['nipples'] -= rand(7,13)
-				if pain['ribs'] > 0:pain['ribs'] -= rand(7,13)
-				if pain['tummy'] > 0:pain['tummy'] -= rand(7,13)
-				if pain['pubic'] > 0:pain['pubic'] -= rand(7,13)
-				if pain['vaginal'] > 0:pain['vaginal'] -= rand(7,13)
-				if pain['labia'] > 0:pain['labia'] -= rand(7,13)
-				if pain['clitoris'] > 0:pain['clitoris'] -= rand(7,13)
-				if pain['urethra'] > 0:pain['urethra'] -= rand(7,13)
-				if pain['cervix'] > 0:pain['cervix'] -= rand(7,13)
-				pcs_health = pcs_vital * 10 + pcs_stren * 5 + 1000
-				if pillcon > 0 and rand(0,4) = 0:pillcon -= 2500
+				gs 'medical_din','healthTreatment'
 				gs 'stat'
 				'After a quick discussion about your health, the doctor gives you an injection with a strange pink fluid, a combined painkiller, steroid and vitamin shot which not only helps the pain but speeds your recovery too, permanently reducing your current pain and increasing your health. You immediately feel much better, and should recover health faster over the coming days.'
 
@@ -219,11 +181,7 @@ if $ARGS[0] = '':
 				'<center><img <<$set_imgh>> src="images/locations/shared/clinic/poli.jpg"></center>'
 				'You are escorted into an examination room, where you are told that say have to do a small test before giving you the shot. You wait for fifteen minutes before the nurse comes back in.'
 				if preg = 0:
-					tabletkishot = rand(84,91)
-					shotdays = 84
-					tabletkicheck = 2
-					pillcon = 40000
-					pillcon2 = 40000
+					gs 'medical_din','birthControlShot'
 					'"Everything looks great." She says and gives you a reassuring smile as she sticks a needle in your arm, and depresses the plunger. Seconds later she explains: "All done! You should be good to go for three months, give or take. It depends a bit from person to person: Body type, hormone levels, and so on. If you want to be perfectly safe, we recommend you come back for another treatment one week before the three months are over. Have a nice day, miss!"'
 					'You thank her and wish her the same, while you gather your things. You silently mutter to yourself: "If it is that simple, why did they make me wait 15 minutes..."'
 				else
@@ -685,7 +643,7 @@ end
 
 if $ARGS[0] = 'referral':
 	menu_off = 1
-	if pcs_vag = 0:
+	if pcs_vag = 0 and count['hidden_vaginal'] = 0:
 		*clr & cla
 		minut = minut + 15
 		gs 'stat'
@@ -697,107 +655,120 @@ if $ARGS[0] = 'referral':
 
 		'He confirms that you are still a virgin, and tells you to get dressed again while he prepares your referral. While you put your clothes back on, he fills out the form at his desk and stamps it before handing it to you. This should keep your mother happy for another month...'
 		act 'Leave':gt $curloc
-	end
-	
-	if pcs_vag > 0:
+	else
 		*clr & cla
 		minut += 5
 		gs 'stat'
 
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_1.jpg"></center>'
-		'You''re a bit nervous as you enter the gynaecologist''s office. Your mother expects you to get a referral from him that states you''re still a virgin, except there''s one small problem... you''re not a virgin any more! Maybe you can work something out with him?'
-		if gpoliuborka = 2:
-			'"Hi <<$pcs_nickname>>. What brings you in today?" Dr. Petrovich says with a smile.'
-			'"Hello, doctor. It''s time for my monthly check-up again. My mother needs a referral from you to make sure I''m still a virgin," you reply.'
-			'"Ah, yes. For... school, right? Let''s take a look," the doctor replies with a chuckle as you are already on your way to stand by the examination table, like last time.'
-		else
-			'"Hello, young lady. I''m Dr. Petrovich. Do you have specific complaints, or are you simply here for a check-up?" the doctor asks as he comes into the examination room.'
-			'"Hello sir. I''m here for my monthly referral. My mother needs one from you to establish I''m still a virgin. It''s for school," you explain.'
-			'"For... school?" he asks, a tad confused. Then he snaps out of it and replies: "Anyway... let''s take a look, shall we?" as he gestures for you to stand next to the examination table.'
-		end
+		if count['hidden_vaginal'] = 1 and pcs_vag = 0:
+			'You quickly undress and climb into the chair, spreading your legs and resting them in the stirrups. The leather-like surface feels strangely warm on your bottom, and it takes you a moment to realize that it is heated. The gynaecologist examines your vagina carefully with a speculum, and silently mumbles something to himself.'
+			act 'Have the check-up': gt 'gpoli', 'referral2'
+		else	
+			'You''re a bit nervous as you enter the gynaecologist''s office. Your mother expects you to get a referral from him that states you''re still a virgin, except there''s one small problem... you''re not a virgin any more! Maybe you can work something out with him?'
+			if gpoliuborka = 2:
+				'"Hi <<$pcs_nickname>>. What brings you in today?" Dr. Petrovich says with a smile.'
+				'"Hello, doctor. It''s time for my monthly check-up again. My mother needs a referral from you to make sure I''m still a virgin," you reply.'
+				'"Ah, yes. For... school, right? Let''s take a look," the doctor replies with a chuckle as you are already on your way to stand by the examination table, like last time.'
+			else
+				'"Hello, young lady. I''m Dr. Petrovich. Do you have specific complaints, or are you simply here for a check-up?" the doctor asks as he comes into the examination room.'
+				'"Hello sir. I''m here for my monthly referral. My mother needs one from you to establish I''m still a virgin. It''s for school," you explain.'
+				'"For... school?" he asks, a tad confused. Then he snaps out of it and replies: "Anyway... let''s take a look, shall we?" as he gestures for you to stand next to the examination table.'
+			end
 
-		act 'Have the check-up':
-			*clr & cla
-			minut += 5
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_2.jpg"></center>'
-			'The doctor breathes on his stethoscope to warm it up and says: "Lift your shirt, please."'
-			'Lift your shirt? What does that have to do with your virginity?'
-			'He sees your hesitation, and reassures you: "I''m just doing some basic check-ups while you''re here anyway. Now... your shirt, please?"'
-			'That makes sense. You expose your <<$titsize>> breasts to him when you lift your shirt up, and he examines you. You''re no medical professional, but you''re fairly sure he''s not supposed to put the stethoscope on your boob like that! Nevertheless... you need him to give you that referral, and calling him out on it will definitely not help your cause.'
-			'You decide to humour him and just let him play with your boobs for several minutes, after which he nods happily and says: "Everything seems to be in order."'
-			'There is an eager sparkle in his eyes when he looks at your bare breasts. The pervert!'
-			'He continues: "Now get undressed and have a seat in the chair, please. You can put your feet in the stirrups."'
-			act 'Undress':
+			act 'Have the check-up':
 				*clr & cla
 				minut += 5
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_3.jpg"></center>'
-				'You reluctantly take your clothes off, trying to put off the moment as long as you can. You know he will find out about your secret in a moment. Nevertheless, you don''t have any other option. Maybe you''ll get lucky and he won''t notice?'
-				act 'Sit in the chair':
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_2.jpg"></center>'
+				'The doctor breathes on his stethoscope to warm it up and says: "Lift your shirt, please."'
+				'Lift your shirt? What does that have to do with your virginity?'
+				'He sees your hesitation, and reassures you: "I''m just doing some basic check-ups while you''re here anyway. Now... your shirt, please?"'
+				'That makes sense. You expose your <<$titsize>> breasts to him when you lift your shirt up, and he examines you. You''re no medical professional, but you''re fairly sure he''s not supposed to put the stethoscope on your boob like that! Nevertheless... you need him to give you that referral, and calling him out on it will definitely not help your cause.'
+				'You decide to humour him and just let him play with your boobs for several minutes, after which he nods happily and says: "Everything seems to be in order."'
+				'There is an eager sparkle in his eyes when he looks at your bare breasts. The pervert!'
+				'He continues: "Now get undressed and have a seat in the chair, please. You can put your feet in the stirrups."'
+				act 'Undress':
 					*clr & cla
 					minut += 5
 					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_4.jpg"></center>'
-					'Once you''re nude, you have a seat in the gynaecologist''s chair and spread your legs in the stirrups.'
-					'For the next few minutes, the doctor gives you a thorough check-up. He spends a bit more time on your asshole than he probably should, but then again - maybe he''s just being thorough.'
-					$gpoli_sick = ''
-					if preg > 0:
-						thinkpreg = 1
-						knowpreg = 1
-						$gpoli_sick = 'are pregnant'
-					end
-					
-					if venera > 0:
-						if $gpoli_sick ! '':$gpoli_sick = $gpoli_sick + ', and you have a sexually transmitted disease'
-						if $gpoli_sick = '':$gpoli_sick = 'have a sexually transmitted disease'
-					end
-					
-					if $gpoli_sick = '':
-						'"Well, you are completely healthy. However, you are also no longer a virgin." At these words you see the corners of his mouth twitch, and you think his trousers look a little tighter in his crotch area. "Please get dressed again while I write out the referral for your mother."'
-						'Your heart begins to race when you hear that, your mother can''t find out! She would kill you if she finds out what you have been up to!'
-						'You quickly blurt: "Wait! Could you please just write down that I''m still a virgin, so I don''t get in trouble? Please?"'
-						'He looks at you sternly and shakes his head: "I''m sorry <<$pcs_nickname>>, I can''t do that, that''s fraud! Do you have any idea how much trouble I could get into?"'
-					else
-						'The doctor frowns when he gives you the results: "I''m afraid I have some bad news, <<$pcs_nickname>>. You <<$gpoli_sick>>.'
-						if venera > 0: gs 'gpoli', 'std_check'
-						'You''re also not a virgin any more, obviously."'
-						'Your heart begins to race when you hear that, that''s terrible! Your mother would kill you if she finds out what you have been up to!'
-						'You quickly blurt: "Wait! Could you please just write down that I''m still a virgin, so I don''t get in trouble? Please?"'
-						'He looks at you sternly and shakes his head: "I''m sorry <<$pcs_nickname>>, but you are not an adult. I need her permission to treat you. And I can''t lie on a referral... that''s fraud! Do you have any idea how much trouble I could get into?"'
-					end
-
-					act 'Offer him money':gt 'gpoli', 'spravka_money'
-					act 'Try to negotiate':gt 'gpoli', 'spravka_arrange'
-					act 'Just accept the referral as is':gt 'gpoli', 'badend'
+					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_3.jpg"></center>'
+					'You reluctantly take your clothes off, trying to put off the moment as long as you can. You know he will find out about your secret in a moment. Nevertheless, you don''t have any other option. Maybe you''ll get lucky and he won''t notice?'
+					act 'Sit in the chair': gt 'gpoli', 'referral2'
 				end
 			end
-		end
-		
-		act 'Admit you''re no virgin':
-			*clr & cla
-			minut += 5
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_1.jpg"></center>'
-			if gpoliuborka = 2:
-				'You pause for a second, and then decide to just confess. He was going to find out anyway during the examination.'
-				'Hesitantly you say: "Mister Petrovich, I have something to ask of you. You see, I... I''m no longer a virgin."'
-				'He nods understandingly: "I see." That''s probably not the first time one of his patients told him that.'
-				'You continue: "But... my <<$npc_nickname[''A29'']>> thinks I''m still a virgin, and I would really like to keep it that way. Could you please help me?"'
-				'He looks puzzled for a second, and his eyes widen when he realizes what you''re asking of him: "You mean... fake your referral? That''s fraud! Do you have any idea how much trouble I could end up in if I do that?"'
-			else
-				'You pause for a second, and then decide to just confess. He was going to find out anyway during the examination.'
-				'Hesitantly you say: "Mister Petrovich, I have something to ask of you. You see, I... I''m no longer a virgin."'
-				'He nods understandingly: "I see." That''s probably not the first time one of his patients told him that.'
-				'You continue: "But... my <<$npc_nickname[''A29'']>> thinks I''m still a virgin, and I would really like to keep it that way. Could you please help me?"'
-				'He nods again and says: "I see what you''re getting at. I might be able to help you, but I''m running a big risk by doing that. What''s in it for me?"'
-			end
 			
-			act 'Offer him money':gt 'gpoli', 'spravka_money'
-			act 'Try to negotiate':gt 'gpoli', 'spravka_arrange'
-			act 'Just accept the referral as is':gt 'gpoli', 'badend'
+			act 'Admit you''re no virgin':
+				*clr & cla
+				minut += 5
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_1.jpg"></center>'
+				if gpoliuborka = 2:
+					'You pause for a second, and then decide to just confess. He was going to find out anyway during the examination.'
+					'Hesitantly you say: "Mister Petrovich, I have something to ask of you. You see, I... I''m no longer a virgin."'
+					'He nods understandingly: "I see." That''s probably not the first time one of his patients told him that.'
+					'You continue: "But... my <<$npc_nickname[''A29'']>> thinks I''m still a virgin, and I would really like to keep it that way. Could you please help me?"'
+					'He looks puzzled for a second, and his eyes widen when he realizes what you''re asking of him: "You mean... fake your referral? That''s fraud! Do you have any idea how much trouble I could end up in if I do that?"'
+				else
+					'You pause for a second, and then decide to just confess. He was going to find out anyway during the examination.'
+					'Hesitantly you say: "Mister Petrovich, I have something to ask of you. You see, I... I''m no longer a virgin."'
+					'He nods understandingly: "I see." That''s probably not the first time one of his patients told him that.'
+					'You continue: "But... my <<$npc_nickname[''A29'']>> thinks I''m still a virgin, and I would really like to keep it that way. Could you please help me?"'
+					'He nods again and says: "I see what you''re getting at. I might be able to help you, but I''m running a big risk by doing that. What''s in it for me?"'
+				end
+				
+				act 'Offer him money':gt 'gpoli', 'spravka_money'
+				act 'Try to negotiate':gt 'gpoli', 'spravka_arrange'
+				act 'Just accept the referral as is':gt 'gpoli', 'badend'
+			end
+		end
+	end
+end
+
+if $ARGS[0] = 'referral2':
+	*clr & cla
+	minut += 5
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/gyno/gpoli_4.jpg"></center>'
+	if count['hidden_vaginal'] = 0:'Once you''re nude, you have a seat in the gynaecologist''s chair and spread your legs in the stirrups.'
+	'For the next few minutes, the doctor gives you a thorough check-up. He spends a bit more time on your asshole than he probably should, but then again - maybe he''s just being thorough.'
+	$gpoli_sick = ''
+	if preg > 0:
+		thinkpreg = 1
+		knowpreg = 1
+		$gpoli_sick = 'are pregnant'
+	end
+	
+	if venera > 0:
+		if $gpoli_sick ! '':$gpoli_sick = $gpoli_sick + ', and you have a sexually transmitted disease'
+		if $gpoli_sick = '':$gpoli_sick = 'have a sexually transmitted disease'
+	end
+	
+	if $gpoli_sick = '':
+		'"Well, you are completely healthy. However, you are also no longer a virgin." At these words you see the corners of his mouth twitch, and you think his trousers look a little tighter in his crotch area. "Please get dressed again while I write out the referral for your mother."'
+		if count['hidden_vaginal'] = 1 and pcs_vag = 0:
+			'Your heart begins to race when you hear that, your mother can''t find out! How could this have happened you''ve never even had sex!'
+		else
+			'Your heart begins to race when you hear that, your mother can''t find out! She would kill you if she finds out what you have been up to!'
+		end
+		'You quickly blurt: "Wait! Could you please just write down that I''m still a virgin, so I don''t get in trouble? Please?"'
+		'He looks at you sternly and shakes his head: "I''m sorry <<$pcs_nickname>>, I can''t do that, that''s fraud! Do you have any idea how much trouble I could get into?"'
+	else
+		'The doctor frowns when he gives you the results: "I''m afraid I have some bad news, <<$pcs_nickname>>. You <<$gpoli_sick>>.'
+		if venera > 0: gs 'gpoli', 'std_check'
+		'You''re also not a virgin any more, obviously."'
+		if count['hidden_vaginal'] = 1 and pcs_vag = 0:
+			'Your heart begins to race when you hear that, your mother can''t find out! How could this have happened you''ve never even had sex!'
+		else
+			'Your heart begins to race when you hear that, your mother can''t find out! She would kill you if she finds out what you have been up to!'
 		end
+		'You quickly blurt: "Wait! Could you please just write down that I''m still a virgin, so I don''t get in trouble? Please?"'
+		'He looks at you sternly and shakes his head: "I''m sorry <<$pcs_nickname>>, but you are not an adult. I need her permission to treat you. And I can''t lie on a referral... that''s fraud! Do you have any idea how much trouble I could get into?"'
 	end
+
+	act 'Offer him money':gt 'gpoli', 'spravka_money'
+	act 'Try to negotiate':gt 'gpoli', 'spravka_arrange'
+	act 'Just accept the referral as is':gt 'gpoli', 'badend'
 end
 
 if $ARGS[0] = 'gynoblow':

+ 120 - 0
locations/medical_din.qsrc

@@ -0,0 +1,120 @@
+# medical_din
+
+if $ARGS[0] = 'abortion':
+	!! Aborts pregnency. Usage: gs 'medical_din','abortion'
+	vidage += 1
+	abort += 1
+	abortionbirthdate = daystart
+	pregtime = 0
+	pregtalk = 0
+	pcs_pregtalk = 0
+	npc_pregtalk['A16'] = 0
+	npc_pregtalk['A34'] = 0
+	preg = 0
+	thinkpreg = 0
+	knowpreg = 0
+	cycle = 4
+	!! RecovH has a decay of 1.1/hour or ~ 27/day, the recovery period is ~2-3 weeks
+	RecovH = rand(375,575) 
+	pregchem = 0
+	knowpregloss = 2
+	abortrand = rand(0, 10)
+
+	if age > 18:
+		if abortrand < 10:sterilewb += 1
+		if abortrand = 10:sterilewb += 10
+	else
+		if abortrand < 7:sterilewb += 2
+		if abortrand >= 7:sterilewb += 10
+	end
+
+	pcs_hydra += 20
+	!! I am not sure, why is it here this cycle, but I leave it so (rachels)
+	nextbaby = arrsize('yearkid')
+	if broodcurse > 0: over = 13 & gt'gameover'
+	:poliabortloop
+	!!Changed to check if baby has a birth year instead, if it doesn''t, do abortion
+	if yearkid[nextbaby-1] = 0:
+		KILLVAR 'polkid',nextbaby-1
+		KILLVAR '$kidname',nextbaby-1
+		KILLVAR 'kidage',nextbaby-1
+		KILLVAR 'daykid',nextbaby-1
+		KILLVAR 'monthkid',nextbaby-1
+		KILLVAR 'yearkid',nextbaby-1
+		KILLVAR 'Babyptype',nextbaby-1
+		KILLVAR '$ChildFath',nextbaby-1
+		KILLVAR '$ChildThFath',nextbaby-1
+		KILLVAR 'hairkid',nextbaby-1
+		KILLVAR 'eyeskid',nextbaby-1
+		KILLVAR 'cumarrcon',nextbaby-1
+		KILLVAR '$wombpotfath'
+		BabyEmbryo -= 1
+	end
+	nextbaby -= 1
+	if nextbaby > 0:
+		jump 'poliabortloop'
+	end
+elseif $ARGS[0] = 'birthControlShot':
+	!! Gives Sveta the effects of a birth control shot. Usage: gs 'medical_din','birthControlShot'
+	!! Note: You have to make sure that she is not pregnant beforehead.
+	tabletkishot = rand(84,91)
+	shotdays = 84
+	tabletkicheck = 2
+	pillcon = 40000
+	pillcon2 = 40000
+elseif $ARGS[0] = 'healthTreatment':
+	!! Gives Sveta an health treatment (like the doctors in the clinic do). Usage: gs 'medical_din','healthTreatment'
+	if pain['head'] > 0:pain['head'] -= rand(7,13)
+	if pain['hair'] > 0:pain['hair'] -= rand(7,13)
+	if pain['ears'] > 0:pain['ears'] -= rand(7,13)
+	if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(7,13)
+	if pain['eyes'] > 0:pain['eyes'] -= rand(7,13)
+	if pain['cheeks'] > 0:pain['cheeks'] -= rand(7,13)
+	if pain['nose'] > 0:pain['nose'] -= rand(7,13)
+	if pain['mouth'] > 0:pain['mouth'] -= rand(7,13)
+	if pain['lips'] > 0:pain['lips'] -= rand(7,13)
+	if pain['tongue'] > 0:pain['tongue'] -= rand(7,13)
+	if pain['throat'] > 0:pain['throat'] -= rand(7,13)
+	if pain['neck'] > 0:pain['neck'] -= rand(7,13)
+	if pain['back'] > 0:pain['back'] -= rand(7,13)
+	if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(7,13)
+	if pain['asshole'] > 0:pain['asshole'] -= rand(7,13)
+	if pain['hips'] > 0:pain['hips'] -= rand(7,13)
+	if pain['thighs'] > 0:pain['thighs'] -= rand(7,13)
+	if pain['legL'] > 0:pain['legL'] -= rand(7,13)
+	if pain['legR'] > 0:pain['legR'] -= rand(7,13)
+	if pain['feet'] > 0:pain['feet'] -= rand(7,13)
+	if pain['toes'] > 0:pain['toes'] -= rand(7,13)
+	if pain['shoulders'] > 0:pain['shoulders'] -= rand(7,13)
+	if pain['armL'] > 0:pain['armL'] -= rand(7,13)
+	if pain['armR'] > 0:pain['armR'] -= rand(7,13)
+	if pain['hands'] > 0:pain['hands'] -= rand(7,13)
+	if pain['fingers'] > 0:pain['fingers'] -= rand(7,13)
+	if pain['chest'] > 0:pain['chest'] -= rand(7,13)
+	if pain['breasts'] > 0:pain['breasts'] -= rand(7,13)
+	if pain['nipples'] > 0:pain['nipples'] -= rand(7,13)
+	if pain['ribs'] > 0:pain['ribs'] -= rand(7,13)
+	if pain['tummy'] > 0:pain['tummy'] -= rand(7,13)
+	if pain['pubic'] > 0:pain['pubic'] -= rand(7,13)
+	if pain['vaginal'] > 0:pain['vaginal'] -= rand(7,13)
+	if pain['labia'] > 0:pain['labia'] -= rand(7,13)
+	if pain['clitoris'] > 0:pain['clitoris'] -= rand(7,13)
+	if pain['urethra'] > 0:pain['urethra'] -= rand(7,13)
+	if pain['cervix'] > 0:pain['cervix'] -= rand(7,13)
+	pcs_health = pcs_vital * 10 + pcs_stren * 5 + 1000
+	if pillcon > 0 and rand(0,4) = 0:pillcon -= 2500
+elseif $ARGS[0] = 'healSTDs':
+	!! Heals all STDs. Usage: gs 'medical_din','healSTDs'
+	venera = 0
+	GerpesOnce = 0
+	Gerpes = 0
+	SifacOnce = 0
+	Sifilis = 0
+	TriperOnce = 0
+	Triper = 0
+	TriperOral = 0
+	KandidozOnce = 0
+	Kandidoz = 0
+end
+
+--- medical_din ---------------------------------

+ 17 - 3
locations/nichApartment.qsrc

@@ -241,7 +241,6 @@ elseif $ARGS[0] = 'jobInterview':
 		end
 	end
 elseif $ARGS[0] = 'hiring':
-	*clr & cla
 	$location_type = 'event'
 	menu_off = 1
 	
@@ -261,6 +260,17 @@ elseif $ARGS[0] = 'hiring':
 		'"This is <<$pcs_nickname>>, the girl I told you about." Tanya says before sitting down next to her mother. You have the feeling that you are expected to keep standing.'
 	end
 	
+	if FUNC('body_din','pregnancyVisibility',0,'nude') = 1:
+		'Nicholas only takes a short look at you.'
+		'"I am sorry, but I can''t have a pregnant woman be my maid. You might apply again once you have given birth. If the position is still open then."'
+		if thinkpreg = 0 and knowpreg = 0:
+			'Pregnant? He can''t be serious! You are not pregnant!'
+		end
+		'You are escorted out of the apartment building.'
+		act 'Leave': gt 'down'
+		exit
+	end
+	
 	if CloInhibit > 20:
 		nichGalaOpinion = 1
 		if nichHireMode = 1:
@@ -287,7 +297,10 @@ elseif $ARGS[0] = 'hiring':
 		*nl
 		'Whether it''s a whiff of the smell or something he spotted - the cum on you cannot escape his senses; he wrinkles his nose and you can see is expression harden.'
 		'"I cannot believe you have the audacity to come before me like a prostitute after a busy night. Is that how you intend to leave a good impression with me?" He doesn''t give you time to respond, dismissively waving his hand: "I won''t hire anybody who can''t even clean herself up. Get out!"'
-		!!TODO: end event chain
+		'You are escorted out of the apartment building.'
+		!! TODO: prevent Sveta from applying again
+		act 'Leave': gt 'down'
+		exit
 	end
 	nichImperfections = 0
 	if ShoHeels < 4:
@@ -452,7 +465,8 @@ elseif $ARGS[0] = 'visitTanya':
 			'Not giving you a chance to say a word, she leads you to her room and pushes you on her bed.'
 			act 'Have sex with Tanya': gt 'nichTanya', 'sexL'
 		end
-	elseif nichTanyaFuckCounter > rand(3,5) and nichJobRefused < 1 and nichWork = 0:
+	elseif nichTanyaFuckCounter > rand(3,5) and nichJobRefused < 1 and nichWork = 0 and FUNC('body_din','pregnancyVisibility',0,'nude') = 0:
+		!! Tanya will only offer the job while she believes that Sveta is not pregnant. Note that it is assumed that Tanya knows how Sveta looks naked and bases her decision on that!
 		'<center><img <<$set_imgh>> src="images/characters/city/tanya/door_01.jpg"></center>'
 		'Tanya opens the door for you. As you look into her eyes, they seem to be sparkling with excitement, and her entire face lights up as she smiles at you.'
 		'"<<$pcs_nickname>>, it''s so good you are here. I have the best idea ever! Our maid left us recently, and my stepfather is looking for a replacement. I could suggest <b>you</b> to him! He pays really well, and all you gotta do is tidy up a bit, but you would be able to live right here with us!"'

+ 5 - 0
locations/nichBedroomServant.qsrc

@@ -149,6 +149,11 @@ if $ARGS[0] = '' or $ARGS[0] = 'start' or $ARGS[0] = 'return':
 		'You should start preparing breakfast before 7:15 during the week and before 8:15 on weekends.'
 	end
 	
+	if (thinkpreg > 0 or knowpreg > 0) and nichPregnancy = 0:
+		''
+		'<b>You are pregnant but Nicholas didn''t realize it yet. He wouldn''t allow you to continue working for him once he figures it out, that''s for sure. Maybe you should wear baggy clothes to hide your condition?</b>'
+	end
+	
 	if nichWork = 2:
 	
 		gs 'nichChore','inspect','servant'

+ 41 - 2
locations/nichLivingroom.qsrc

@@ -224,7 +224,14 @@ elseif $ARGS[0] = 'breakfast':
 	
 	nichRand = rand(1,100)
 	
-	if nichTanyaUni = 0 and (nichRand <= 20 or nichDebug = 1):
+	if preg > 0 and nichPregnancy = 0 and FUNC('body_din','pregnancyVisibility') = 1:
+		*nl
+		'Nicholas directs his attention at you.'
+		'"<<$pcs_nickname>>, there is something important we need to talk about after breakfast."'
+		'"Of course, Master Nicholas." You reply as is expected of you.'
+		nichPregnancy = 1
+		nichAfterBFEvent = 90
+	elseif nichTanyaUni = 0 and (nichRand <= 20 or nichDebug = 1):
 		*nl
 		'Nicholas starts to read the newspaper. After a while he puts it aside and looks at Tanya.'
 		'"Tanya, I talked to one of my friends yesterday: Dimitrij Aslanov. I think you might know him."'
@@ -240,7 +247,7 @@ elseif $ARGS[0] = 'breakfast':
 		'"Of course, Master Nicholas." You reply as is expected of you.'
 		nichTanyaUni = 1
 		nichAfterBFEvent = 1
-	elseif nichGalaKnowsPT = 1 and (nichRand <= 20 or nichDebug = 1):
+	elseif nichGalaKnowsPT = 1 and (nichRand <= 75 or nichDebug = 1):
 		*nl
 		'The family members are chatting with each other about topics of little interest to you.'
 		'One of your duties is to refill empty glasses.'
@@ -389,6 +396,38 @@ elseif $ARGS[0] = 'breakfast':
 					end 
 				end
 			end
+		elseif nichAfterBFEvent = 90:
+			'Nicholas figured out that Sveta is pregnant'
+			killvar 'nichAfterBFEvent'
+			*clr & cla
+			'<center><img <<$set_imgh>> src="images/characters/city/nicholas/01.jpg"></center>'
+			'After you are done cleaning up the table you go to Nicholas as requested.'
+			'"<<$pcs_nickname>>, I noticed something about you lately. Something about you changed. Then I realized it. You are obviously pregnant."'
+			if thinkpreg > 0 or knowpreg > 0:
+				'You are shocked. He figured out your little secret.'
+			else
+				'You are shocked. He can''t be serious! There is no way you are pregnant.'
+			end
+			'"Of course I can''t allow you to stay my maid. A kid is an huge responsibility and it is not compatible with living here."'
+			'He waits a second before he continues.'
+			if nichPerformance <= 40:
+				'"Even though you were a less than mediocre maid I will make sure you won''t end up without shelter. I transferred your next payment and a little extra to your bank account."'
+				nichTemp = nichSalaryNext + 5000
+			elseif nichPerformance >= 80:
+				'"You were an exceptional maid and I hate to have to do this. But I see no other option. Of course I will make sure you won''t end up without shelter. I transferred your next payment and a little bit extra to your bank account."'
+				nichTemp = nichSalaryNext + 20000
+			else
+				'"You were a decent maid and I hate to have to do this. But I see no other option. Of course I will make sure you won''t end up without shelter. I transferred your next payment and a little bit extra to your bank account."'
+				nichTemp = nichSalaryNext + 10000			
+			end
+			'Nicholas leads you to the entrace. Your stuff has already been packed by one of Nicholas'' employees.'
+			'"Good luck in your future."'
+			''
+			'You got <b><<nichTemp>></b> transferred to your bank account.'
+			
+			act 'Get fired':
+				gt 'nichUtil', 'fired'
+			end
 		elseif nichAfterBFEvent = 100:
 			!! Gala has hidden her necklace in the drawer of PC
 			killvar 'nichAfterBFEvent'

+ 13 - 10
locations/nichTanya.qsrc

@@ -409,8 +409,9 @@ elseif $ARGS[0] = 'bathroom':
 				end
 			end
 		end
-		act 'Leave': gt 'nichBathMaster','return'
+		
 	end
+	act 'Leave': gt 'nichBathMaster','return'
 elseif $ARGS[0] = 'bathroomMolestSuccess':
 	'<center><img <<$set_imgh>> src="images/characters/city/tanya/gym/shower1.jpg"></center>'
 	'Just as the both of you are about to get more intimate you hear Tanyas name being called from outside the bathroom. She is clearly afraid of being spotted in the shower with you and quickly gets out of it and starts dressing.'
@@ -789,8 +790,8 @@ elseif $ARGS[0] = 'desc':
 
 elseif $ARGS[0] = 'sexL':
 	!! lesbian sex between Tanya and PC
-	
-	minut += 1
+	nichTempArousal = 5
+	minut += nichTempArousal
 	
 	if $ARGS[1] = '' or $ARGS[1] = 'start':
 		!! the encounter starts here
@@ -819,41 +820,43 @@ elseif $ARGS[0] = 'sexL':
 		$nichTempPic = func('nichUtil','tanyaPic','sexL','aeatout')
 		'<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
 		'You begin by kissing her breasts, moving gradually down her body, lower and lower until you are facing her pussy. You start by gently caressing her swollen lips with up and down tongue lapping, up and down the swollen mound and moist slit, and getting ready to focus the tip of your tongue directly on her clitoris.  You part her outer lips with your fingers, spreading her pouty inner lips giving you full access to her puffy pink clitoris.'
-		gs 'arousal', 'cuni_give', -1, 'lesbian'
-		gs 'arousal', 'vaginal_finger_give', -1, 'lesbian'
+		gs 'arousal', 'cuni_give', -nichTempArousal, 'lesbian'
+		gs 'arousal', 'vaginal_finger_give', -nichTempArousal, 'lesbian'
 	elseif $ARGS[1] = 'peatout':
 		nichTanyaFuckPositions += 1
 		$nichTempPic = func('nichUtil','tanyaPic','sexL','peatout')
 		'<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
 		'Tanya begins by dragging her tongue up your thighs to your crotch and plants light kisses from the top of your slit down to the opening of your vagina.  Her tongue pushes into your slickened hole a few times, then slides back up your cunny to caress your tingling clitoris again.'
-		gs 'arousal', 'cuni', -1, 'lesbian'
+		gs 'arousal', 'cuni', -nichTempArousal, 'lesbian'
 	elseif $ARGS[1] = 'arimjob':
 		nichTanyaFuckPositions += 1
 		$nichTempPic = func('nichUtil','tanyaPic','sexL','arimjob')
 		'<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
 		'You kiss her buttocks in ever decreasing circles, eventually getting to the center where her puckered anus is waiting.  Reaching your goal, you lick all around the tender star to get it plenty moist, then firmly push your tongue forward, penetrating her ass with just the tip.  You retract it, again licking all around her anus, and repeating your tongue invasion into that most private entrance.'
-		gs 'arousal', 'rimming_give', -1, 'lesbian'
+		gs 'arousal', 'rimming_give', -nichTempArousal, 'lesbian'
 	elseif $ARGS[1] = 'primjob':
 		nichTanyaFuckPositions += 1
 		$nichTempPic = func('nichUtil','tanyaPic','sexL','primjob')
 		'<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
 		'Tanya kisses your buttocks in ever decreasing circles, eventually getting to the center where your puckered anus is waiting.  Reaching her goal, she licks all around the tender star to get it plenty moist, then firmly pushes her tongue forward, penetrating your ass with just the tip.  She retracts it, again licking all around your anus, and repeats her tongue invasion into that most private entrance.'
-		gs 'arousal', 'rimming', -1, 'lesbian'
+		gs 'arousal', 'rimming', -nichTempArousal, 'lesbian'
 	elseif $ARGS[1] = 'psovaginal':
 		nichTanyaFuckPositions += 1
 		$nichTempPic = func('nichUtil','tanyaPic','sexL','psovaginal')
 		'<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
 		'You watch as Tanya puts on the strap-on, adjusting it to her hips and centering the fake cock, and then she moves to you and inserts it slowly into your pussy.  You moan and grind back at her while she fucks you with it.'
 		dick = nichTanyaStrapon
-		gs 'arousal', 'vaginal_strap', -1, 'lesbian', 'sub'
+		gs 'arousal', 'vaginal_strap', -nichTempArousal, 'lesbian', 'sub'
 	elseif $ARGS[1] = 'asovaginal':
 		nichTanyaFuckPositions += 1
 		$nichTempPic = func('nichUtil','tanyaPic','sexL','astrapon')
 		'<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
 		'You put on the strap-on, adjusting it to your hips and centering it. You let Tanya suck on it to moisten it up, then you insert it slowly into her pussy.  She moans and grinds back at you while you fuck her with it.'
-		gs 'arousal', 'vaginal_strap_give', -1, 'lesbian', 'dom'
+		gs 'arousal', 'vaginal_strap_give', -nichTempArousal, 'lesbian', 'dom'
 	end
 	
+	killvar 'nichTempArousal'
+	
 	nichTanyaChanceDom = 20
 	nichTanyaChanceSub = 20
 		

+ 6 - 4
locations/nichUtil.qsrc

@@ -15,7 +15,8 @@
 !! nichSalaryNext
 !! nichSalaryOutstanding
 
-
+!! nichPregnancy:	0: Nicholas has not noticed that you are pregnant
+!!					1: Nicholas has noticed you being pregnant
 
 
 
@@ -360,6 +361,7 @@ if $ARGS[0] = 'hired':
 end
 
 if $ARGS[0] = 'onLoad':
+	gs 'nichUtil','updateVars'
 	if $loc = 'tanapartment' or $loc = 'tanhouse' or $loc = 'tanhousezal' or $loc = 'tanhozspal' or $loc = 'tankitchen' or $loc = 'tanNicholas' or $loc = 'tanroom' or $loc = 'tanspalnya' or $loc = 'tanvanr':
 		$loc = 'nichApartment'
 		$metka = ''
@@ -425,7 +427,7 @@ if $ARGS[0] = 'updateNotice':
 	
 	act 'Stay hired':
 		gs 'nichUtil', 'hired'
-		nichPerformance = tan_work_rep * 5
+		nichPerformance = max(tan_work_rep * 5,10)
 		nichTanyaRelationship = 1
 		nichTanyaRelationshipState = 10
 		nichTanyaRelationshipBreakup = 0
@@ -443,6 +445,7 @@ if $ARGS[0] = 'checkOutfit':
 end
 
 !! Creates the actions for cleaning rooms
+!! DEPRECATED
 if $ARGS[0] = 'cleanOptions':
 	$nichTempPic = func('nichUtil','cleanPic',$nichChoreType,$nichChoreLoc)
 	
@@ -463,7 +466,6 @@ if $ARGS[0] = 'cleanOptions':
 		
 		act '(<<nichTimeNormal>> minutes) Clean normally':
 			*clr & cla
-			'DEBUG: '+$nichTempPic
 			'<center><img <<$set_imgh>> src="<<$nichTempPic>>"></center>'
 			minut += nichTimeNormal
 			nichChoreState[nichChoreID] = 0
@@ -560,7 +562,7 @@ if $ARGS[0] = 'cleanPic':
 	else
 		$RESULT = 'images/pc/activities/maidCleaning/'+$nichTempPic[rand(0,ARRSIZE('$nichTempPic')-1)]
 	end
-	'Debug: Picture '+$RESULT
+	if nichDebug = 1: 'Debug: Picture '+$RESULT
 	!!killvar 'nichTemp'
 	killvar '$nichTempPic'
 end

+ 65 - 1
locations/npcstatic5.qsrc

@@ -735,7 +735,8 @@ npc_dom['A<<npctemp>>'] = 50
 
 npctemp = 218
 gs 'npcstaticdefaults', 'defaults'
-$npc_dna['A<<npctemp>>'] = '7845565703 9732666365 5079835231 4099096300 1653287931 7271394997 0865417545'	
+$npc_dna['A<<npctemp>>'] = '5202110092 7845565703 6464348916 9732666365 5079835231 5694584637 6691107840'	
+!! Her dads DNA: 6464348916 5694584637 6691107840 5573828639 2708900987 2978548641 1067638646
 $npc_firstname['A<<npctemp>>'] = 'Tanya'
 $npc_nickname['A<<npctemp>>'] = 'Tanya'
 $npc_lastname['A<<npctemp>>'] = 'Polyakov'
@@ -1214,6 +1215,69 @@ discoenable['A<<npctemp>>'] = 0
 $npcGo['A<<npctemp>>'] = '<a href="exec:numnpc = 231 & gt ''Snpc''"><<$npc_firstname[''A231'']>> <<$npc_lastname[''A231'']>></a>'
 $school_static_num['A<<npctemp>>'] = 'A231'
 
+npctemp = 232
+gs 'npcstaticdefaults', 'defaults'
+$npc_dna['A<<npctemp>>'] = '7845565703 9732666365 5079835231 4099096300 1653287931 7271394997 0865417545'
+$npc_firstname['A<<npctemp>>'] = 'Gala'
+$npc_nickname['A<<npctemp>>'] = 'Gala'
+$npc_lastname['A<<npctemp>>'] = 'Polyakov'
+$npc_usedname['A<<npctemp>>'] = 'Gala'
+$npc_notes['A<<npctemp>>'] = 'Wife of Nicholas and mother of Tanya'
+npc_dob['A<<npctemp>>'] = 19810225
+npc_cyc['A<<npctemp>>'] = rand(0,29)
+npc_fert['A<<npctemp>>'] = -1
+$npc_firstpart['A<<npctemp>>'] = 'U'
+$npc_lastpart['A<<npctemp>>'] = 'U'
+$npc_kidpater['A<<npctemp>>'] = 'N'
+npc_gender['A<<npctemp>>'] = 1
+$npc_thdick['A<<npctemp>>'] = 'clitoris'
+npc_dick['A<<npctemp>>'] = -1
+npc_sexskill['A<<npctemp>>'] = 2
+npc_spermpot['A<<npctemp>>'] = -1
+npc_vag['A<<npctemp>>'] = 30
+npc_ass['A<<npctemp>>'] = 10
+npc_apprnc['A<<npctemp>>'] = 100
+npc_lipbalm['A<<npctemp>>'] = 1
+npc_makeup['A<<npctemp>>'] = 1
+npc_skin['A<<npctemp>>'] = 100
+npc_hgt['A<<npctemp>>'] = 165
+npc_bust['A<<npctemp>>'] = 90
+npc_nips['A<<npctemp>>'] = 4
+npc_hairlng['A<<npctemp>>'] = 100
+npc_haircol['A<<npctemp>>'] = 2
+npc_lip['A<<npctemp>>'] = 2
+npc_lashes['A<<npctemp>>'] = 2
+npc_eyesize['A<<npctemp>>'] = 2
+npc_eyecol['A<<npctemp>>'] = 3
+npc_run['A<<npctemp>>'] = 30
+npc_vball['A<<npctemp>>'] = 30
+npc_chess['A<<npctemp>>'] = 30
+npc_dance['A<<npctemp>>'] = 30
+npc_danceero['A<<npctemp>>'] = 10
+npc_jab['A<<npctemp>>'] = 20
+npc_punch['A<<npctemp>>'] = 20
+npc_kick['A<<npctemp>>'] = 20
+npc_def['A<<npctemp>>'] = 30
+
+npctemp = 233
+gs 'npcstaticdefaults', 'defaults'
+$npc_dna['A<<npctemp>>'] = '9159003581 0954981945 0686651022 2271837550 3220855447 8045833245 0831070730'
+$npc_firstname['A<<npctemp>>'] = 'Taras'
+$npc_lastname['A<<npctemp>>'] = 'Polyakov'
+$npc_usedname['A<<npctemp>>'] = 'Taras'
+$npc_notes['A<<npctemp>>'] = 'Bodyguard of Gala Polyakov'
+npc_cyc['A<<npctemp>>'] = -1
+npc_fert['A<<npctemp>>'] = -1
+$npc_firstpart['A<<npctemp>>'] = 'U'
+$npc_lastpart['A<<npctemp>>'] = 'U'
+$npc_kidpater['A<<npctemp>>'] = 'N'
+npc_gender['A<<npctemp>>'] = 0
+$npc_thdick['A<<npctemp>>'] = 'thick'
+npc_dick['A<<npctemp>>'] = 16
+npc_spermpot['A<<npctemp>>'] = 10000
+npc_vag['A<<npctemp>>'] = -1
+npc_hymen['A<<npctemp>>'] = -1
+npc_nips['A<<npctemp>>'] = 1
 
 !! {Keep this at the end of file of the npcstatics.}
 aarraynumber = npctemp

+ 7 - 96
locations/poli.qsrc

@@ -51,45 +51,7 @@ if $ARGS[0] = 'start':
 			cla
 			menu_off = 1
 			minut += 60
-			if pain['head'] > 0:pain['head'] -= rand(7,13)
-			if pain['hair'] > 0:pain['hair'] -= rand(7,13)
-			if pain['ears'] > 0:pain['ears'] -= rand(7,13)
-			if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(7,13)
-			if pain['eyes'] > 0:pain['eyes'] -= rand(7,13)
-			if pain['cheeks'] > 0:pain['cheeks'] -= rand(7,13)
-			if pain['nose'] > 0:pain['nose'] -= rand(7,13)
-			if pain['mouth'] > 0:pain['mouth'] -= rand(7,13)
-			if pain['lips'] > 0:pain['lips'] -= rand(7,13)
-			if pain['tongue'] > 0:pain['tongue'] -= rand(7,13)
-			if pain['throat'] > 0:pain['throat'] -= rand(7,13)
-			if pain['neck'] > 0:pain['neck'] -= rand(7,13)
-			if pain['back'] > 0:pain['back'] -= rand(7,13)
-			if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(7,13)
-			if pain['asshole'] > 0:pain['asshole'] -= rand(7,13)
-			if pain['hips'] > 0:pain['hips'] -= rand(7,13)
-			if pain['thighs'] > 0:pain['thighs'] -= rand(7,13)
-			if pain['legL'] > 0:pain['legL'] -= rand(7,13)
-			if pain['legR'] > 0:pain['legR'] -= rand(7,13)
-			if pain['feet'] > 0:pain['feet'] -= rand(7,13)
-			if pain['toes'] > 0:pain['toes'] -= rand(7,13)
-			if pain['shoulders'] > 0:pain['shoulders'] -= rand(7,13)
-			if pain['armL'] > 0:pain['armL'] -= rand(7,13)
-			if pain['armR'] > 0:pain['armR'] -= rand(7,13)
-			if pain['hands'] > 0:pain['hands'] -= rand(7,13)
-			if pain['fingers'] > 0:pain['fingers'] -= rand(7,13)
-			if pain['chest'] > 0:pain['chest'] -= rand(7,13)
-			if pain['breasts'] > 0:pain['breasts'] -= rand(7,13)
-			if pain['nipples'] > 0:pain['nipples'] -= rand(7,13)
-			if pain['ribs'] > 0:pain['ribs'] -= rand(7,13)
-			if pain['tummy'] > 0:pain['tummy'] -= rand(7,13)
-			if pain['pubic'] > 0:pain['pubic'] -= rand(7,13)
-			if pain['vaginal'] > 0:pain['vaginal'] -= rand(7,13)
-			if pain['labia'] > 0:pain['labia'] -= rand(7,13)
-			if pain['clitoris'] > 0:pain['clitoris'] -= rand(7,13)
-			if pain['urethra'] > 0:pain['urethra'] -= rand(7,13)
-			if pain['cervix'] > 0:pain['cervix'] -= rand(7,13)
-			pcs_health = pcs_vital * 10 + pcs_stren * 5 + 1000
-			if pillcon > 0 and rand(0,4) = 0:pillcon -= 2500
+			gs 'medical_din','healthTreatment'
 			gs 'stat'
 
 			if hosprand = 0:gt 'poli', '0'
@@ -129,11 +91,7 @@ if $ARGS[0] = 'start':
 			'<center><img <<$set_imgh>> src="images/locations/shared/clinic/poli.jpg"></center>'
 			'You are escorted into an examination room, where you are told that say have to do a small test before giving you the shot. You wait for fifteen minutes before the nurse comes back in.'
 			if preg = 0:
-				tabletkishot = rand(84,91)
-				shotdays = 84
-				tabletkicheck = 2
-				pillcon = 40000
-				pillcon2 = 40000
+				gs 'medical_din','birthControlShot'
 				'"Everything looks great." She says and gives you a reassuring smile as she sticks a needle in your arm, and depresses the plunger. Seconds later she explains: "All done! You should be good to go for three months, give or take. It depends a bit from person to person: Body type, hormone levels, and so on. If you want to be perfectly safe, we recommend you come back for another treatment one week before the three months are over. Have a nice day, miss!"'
 				'You thank her and wish her the same, while you gather your things. You silently mutter to yourself: "If it is that simple, why did they make me wait 15 minutes..."'
 			else
@@ -153,62 +111,15 @@ if $ARGS[0] = 'start':
 	if money >= 15000 and preg = 1 and pregchem < 1863 and knowpreg = 1:
 		act 'Get an abortion (15,000 <b>₽</b>)':
 			cla
-			menu_off = 1
-			vidage += 1
-			abort += 1
-			abortionbirthdate = daystart
 			money -= 15000
-			pregtime = 0
-			pregtalk = 0
-			pcs_pregtalk = 0
-			npc_pregtalk['A16'] = 0
-			npc_pregtalk['A34'] = 0
-			preg = 0
-			thinkpreg = 0
-			knowpreg = 0
-			cycle = 4
-			!! RecovH has a decay of 1.1/hour or ~ 27/day, the recovery period is ~2-3 weeks
-			RecovH = rand(375,575) 
-			pregchem = 0
-			knowpregloss = 2
-			abortrand = rand(0, 10)
-
-			if age > 18:
-				if abortrand < 10:sterilewb += 1
-				if abortrand = 10:sterilewb += 10
-			else
-				if abortrand < 7:sterilewb += 2
-				if abortrand >= 7:sterilewb += 10
-			end
 
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/clinic/abort.jpg"></center>'
 			'You spread out on a gynecological chair, from which angle you are fortunate not to be able to see what is going on. You feel nauseous and violated. A nurse hands you a single aspirin and a glass of muddy-looking water to down it with.'
-			pcs_hydra += 20
-			!! I am not sure, why is it here this cycle, but I leave it so (rachels)
-			nextbaby = arrsize('yearkid')
-			if broodcurse > 0: over = 13 & gt'gameover'
-			:poliabortloop
-			!!Changed to check if baby has a birth year instead, if it doesn''t, do abortion
-			if yearkid[nextbaby-1] = 0:
-				KILLVAR 'polkid',nextbaby-1
-				KILLVAR '$kidname',nextbaby-1
-				KILLVAR 'kidage',nextbaby-1
-				KILLVAR 'daykid',nextbaby-1
-				KILLVAR 'monthkid',nextbaby-1
-				KILLVAR 'yearkid',nextbaby-1
-				KILLVAR 'Babyptype',nextbaby-1
-				KILLVAR '$ChildFath',nextbaby-1
-				KILLVAR '$ChildThFath',nextbaby-1
-				KILLVAR 'hairkid',nextbaby-1
-				KILLVAR 'eyeskid',nextbaby-1
-				KILLVAR 'cumarrcon',nextbaby-1
-				KILLVAR '$wombpotfath'
-				BabyEmbryo -= 1
-			end
-			nextbaby -= 1
-			if nextbaby > 0:
-				jump 'poliabortloop'
-			end
+			
+			gs 'medical_din','abortion'
+			
+			minut += 60
+			gs 'stat'
 
 			act 'Return to the entrance':gt 'poli', 'start'
 		end

+ 2 - 2
locations/saveupdater.qsrc

@@ -481,8 +481,8 @@ if mannareset ! 0:
 end
 
 !!Update School NPCs for the disco
-if npc_updater = 0:
-	npc_updater = 1
+if npc_updater < 2:
+	npc_updater = 2
 	
 	gs 'npcstatic1'
 	gs 'npcstatic2'