41 Revize efb3b8e25c ... 288f462615

Autor SHA1 Zpráva Datum
  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 před 5 roky
  KevinSmarts 89de01d4a1 Merge remote-tracking branch 'Deroc/master' před 5 roky
  Deroc db668021ac [Fixed] REEEEEEE write of appearance. před 5 roky
  Christine 243c0afd02 [changed] Way more likely to be confronted by Gala after her seeing you sleep with Tanya před 5 roky
  Christine a4713b40d4 [fixed] Sex with Tanya is now suffiently arousing před 5 roky
  Christine 5df8e3ec7c [changed] Nicholas won't hire a pregnant Sveta před 5 roky
  Christine 9f6d643ca8 [changed] Tanya does not offer the Maid-job to a pregnant Sveta před 5 roky
  Christine af5de1fc40 Merge branch 'dev' into pregnancy před 5 roky
  Christine 30348a9058 [changed] Don't be to harsh on players converting their savegames před 5 roky
  Christine 110268c833 [fixed] Debug messages removed před 5 roky
  Christine 1c813878ba Merge branch 'dev' into pregnancy před 5 roky
  Christine fc8c7dc497 [fixed] Hotfix: Being able to leave the shower with Tanya před 5 roky
  Christine ea3e642f38 [fixed] correct response on realizing that Sveta is pregnant from Nicholas před 5 roky
  Christine 2aca0e7edf Merge branch 'dev' into pregnancy před 5 roky
  Christine 96e5319cc1 Merge remote-tracking branch 'glife/master' into dev před 5 roky
  KevinSmarts a4c0c0394c [fixed] pubic hair images the wrong way around před 5 roky
  KevinSmarts c9a89ca42a Merge remote-tracking branch 'CroWke/master' před 5 roky
  CroWke 73ca75313d [fixed] missing $ před 5 roky
  sandra_schulz 7660b89081 [fixed] additional code to make sure nbsize isn't dropping under the mammary glandsize. Physics everyone :) před 5 roky
  KevinSmarts 17aa79b460 Merge remote-tracking branch 'KeyMasterOfGozer/master' před 5 roky
  KevinSmarts 94c1b3e56d Merge remote-tracking branch 'Milky_boobs/master' před 5 roky
  KeyMasterOfGozer f81728ae9c Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife před 5 roky
  KeyMasterOfGozer 3c0dd3fa41 Added Generic NPC Date Calling. před 5 roky
  sandra_schulz e6abd4437d [fixed] quick fix for nbsize drop. před 5 roky
  Christine 204e475725 Merge branch 'dev' into pregnancy před 5 roky
  Christine a84c6c5b84 [changed] New function to check whether a NPC realizes another character is pregnant před 5 roky
  Christine 219a181a5c [added] Maid: Getting fired because being pregnant event před 5 roky
  Christine 16f2a11033 [added] Maid: Being pregnant notice před 5 roky
  Christine a0455923a4 Merge remote-tracking branch 'glife/master' into dev před 5 roky
  CroWke 3da5140023 [fixed] now you can only go to Natasha when you're wearing a school uniform před 5 roky
  CroWke a91050657a [fixed] oops, forgot to change the pirsG condition. před 5 roky
  CroWke 1a75d8915d [fixed] pirsGL isn't used any longer so the images have been randomized před 5 roky
  CroWke 587cc3c632 Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife před 5 roky
  CroWke c2b97fc3f7 [fixed] more efficiency fixes před 5 roky
  Christine cb8d2a36f6 Merge remote-tracking branch 'glife/master' into dev před 5 roky
  Christine 77b9265282 [added] Gala and Taras entries in npcstatic před 5 roky
  Christine fc645b2ddf Merge remote-tracking branch 'glife/master' into dev před 5 roky
  Christine 3ba99e8da0 [changed] Moved the health treatment (clinics) to medical_din před 5 roky
  Christine 08dcf8a608 [changed] medical_din renamed from medUtil před 5 roky
  Christine 220985b63c Merge remote-tracking branch 'glife/master' into dev před 5 roky
  Christine e4d1068471 [changed] Moved abortion and STD heal code to its own file for common usage před 5 roky

+ 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"/>

+ 2 - 2
locations/_body_image.qsrc

@@ -110,9 +110,9 @@ if $ARGS[0] = 'panties':
 			if pubestyle = 8: $RESULT = $pubeimage
 			if pubestyle ! 8: $RESULT = 'images/pc/body/pussy/spussy.jpg'
 		elseif pcs_pubes > 20 and pcs_pubes <= 25:
-			$RESULT = 'images/pc/body/pussy/hpussy.jpg'
-		elseif pcs_pubes > 25 and pcs_pubes <= 30:
 			$RESULT = 'images/pc/body/pussy/shave/s_bush1.jpg'
+		elseif pcs_pubes > 25 and pcs_pubes <= 30:
+			$RESULT = 'images/pc/body/pussy/hpussy.jpg'
 		elseif pcs_pubes >= 31:
 			$RESULT = 'images/pc/body/pussy/hrypussy.jpg'
 		end

+ 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'

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 476 - 211
locations/body.qsrc


+ 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':

+ 1 - 1
locations/korrPar.qsrc

@@ -90,7 +90,7 @@ if nodimkaK >= rand(7,10) and DimkaWarnedToday = 0:
 end
 
 !! is this vacation check correct?
-if NatashaQW >= 4 and week < 6 and hour = 7 and kanikuli = 0 and SchoolAtestat = 0 and SchoolBlock = 0:
+if NatashaQW >= 4 and week < 6 and hour = 7 and kanikuli = 0 and SchoolAtestat = 0 and SchoolBlock = 0 and $clothingworntype = 'school':
 	*nl
 	'Go pick up <a href="exec:gt ''natbelEv'', ''carrybooks''">Natasha</a> before school.'
 end

+ 10 - 0
locations/lact_lib.qsrc

@@ -117,6 +117,9 @@ if $ARGS[0] = 'init_breasttissue' and lactation['breasttissueinitiated'] <= 0:
 	lactation['breastdensitytype_start'] = lactation['breastdensitytype']
 	lactation['usablebtissue_start'] = lactation['usablebtissue']
 	lactation['usablebtissue_change'] = lactation['usablebtissue']
+	!!	Svetas breast can only shrink if there fat to go away. Mammary glands cannot shrink away. Setting minimum nbsize.
+	lactation['min_nbsize'] = func('lact_lib','bccmtosize',lactation['breastglandtissue'])
+	if lactation['min_nbsize'] < 1: lactation['min_nbsize'] = 1
 end
 
 if $ARGS[0] = 'bsizetoccm':
@@ -224,6 +227,9 @@ if $ARGS[0] = 'BreastGrowth':
 		!!	changes in nbsize, magicf2b or silicone?
 		if nbsize <> lactation['nbsizechange'] or magicf2b <> lactation['magicf2bchange'] or silicone <> lactation['siliconechange']:
 			!!	getting the new percentages
+			!!	nbsize checker. if nbsize is getting too small.
+			if lactation['min_nbsize'] < 1: lactation['min_nbsize'] = 1
+			if nbsize < lactation['min_nbsize']: nbsize = lactation['min_nbsize']
 			lactation['nbsizepercent'] = (nbsize*100/(nbsize + magicf2b + silicone)*100)/100
 			lactation['magicf2bpercent'] = (magicf2b*100/(nbsize + magicf2b + silicone)*100)/100
 			lactation['siliconepercent'] = (silicone*100/(nbsize + magicf2b + silicone)*100)/100
@@ -260,6 +266,9 @@ if $ARGS[0] = 'BreastGrowth':
 		lactation['siliconechange'] = silicone
 		!!	if sveta is lactating, we need to reset the breastmm too
 		if lactation['active'] > 0:	lactation['result'] = func('lact_lib','set_breastmm')
+		!!	Svetas breast can only shrink if there fat to go away. Mammary glands cannot shrink away. Setting minimum nbsize.
+		lactation['min_nbsize'] = func('lact_lib','bccmtosize',lactation['breastglandtissue'])
+		if lactation['min_nbsize'] < 1: lactation['min_nbsize'] = 1
 	end
 end
 
@@ -275,6 +284,7 @@ if $ARGS[0] = 'show_breast_stat':
 	'lactation[''breastcount''] = <<lactation[''breastcount'']>>'
 	'lactation[''breasttissueinitiated''] = <<lactation[''breasttissueinitiated'']>>'
 	'lactation[''breastccm''] = <<lactation[''breastccm'']>>'
+	'lactation[''min_nbsize''] = <<lactation[''min_nbsize'']>>'
 	'lactation[''maturebreast''] = <<lactation[''maturebreast'']>>'
 	'lactation[''alveolicount''] = <<lactation[''alveolicount'']>>'
 	'lactation[''prolactinlvl''] = <<lactation[''prolactinlvl'']>>'

+ 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'

+ 256 - 3
locations/telefon.qsrc

@@ -1,6 +1,11 @@
 # telefon
 ! Draw screens for mobile phone.
 !
+! The base storage for Contacts is controlled by the Array "$contact". This array is a list of NPC identifiers
+! telling us which ones are in your contact list. There are several other ancillary arrays that support the functions
+! of a contact. Each of these has matching indexes to the $contact array. These are mostly used internally, but a
+! writer can make use of them if they need to.
+!
 ! ContactList arrays:
 ! $contact[]     = NPC code for contact. ('A129', 'A29', 'B13', 'C14')
 ! $contactIcon[] = Icon for the contact to use. If path is left off, standard phone icon folder is used. if file extension is left off, '.png' is used
@@ -12,9 +17,15 @@
 ! contactWeek[] = Calls from this contact this week
 ! contactLastCall[] = last time this Contact called
 !
-! Add a contact with AddContact, example, to Add Mother:
+! Add a contact with AddContact
+!	gs 'telefon', 'AddContact', <NPC Code>, <Icon for NPC>, <Code for Incoming Call>, <Limiter for Incoming Call>, <Code for Outgoing Call>, <Limiter for Outgoign Call>
+!  Example, to Add Mother:
 !	gs 'telefon', 'AddContact', 'A29', 'icon_npc1', "gs 'telefon', 'Phone_call'", "hour >= 8 and hour <= 20", "gs 'telefon', 'lover'", "hour >= 8 and hour <= 20"
-
+!
+! Remove a contact with DeleteContact
+!	gs 'telefon', 'DeleteContact', <NPC Code>
+!  Example, to delete Mom:
+!	gs 'telefon', 'DeleteContact', 'A29'
 
 ! Header for Phone Screen.  Keeps consistent and in one place
 $telefon['header'] = '<center>
@@ -122,7 +133,7 @@ if $ARGS[0] = 'IncomingCheck':
 
 	! Limit the number of calls per day
 	! right now allow every 60 minutes
-	if telefIncCheck['NewTotalMinutes'] - telefon['LastIncCallCheck'] > 60:
+	if telefIncCheck['NewTotalMinutes'] - telefon['LastIncCallCheck'] > 60 and menu_off = 0:
 		telefon['LastIncCallCheck'] = telefIncCheck['NewTotalMinutes']
 		gs 'telefon','IncomingCallChooser'
 	end
@@ -458,6 +469,248 @@ if $ARGS[0] = 'callingTheLover' and loverGender[ARGS[1]] = 0:
 	act 'Hangup':gt 'telefon', 'fin'
 end
 
+!! NPC Date
+!!	ARGS[1] = contactlist index
+!!	$ARGS[2] = Date Location
+if $ARGS[0] = 'NPCDate':
+
+	Call4Date["ContactIndex"] = ARGS[1]
+	$Call4Date["Location"] = $ARGS[2]
+
+	$Call4Date["NPC"] = $contact[Call4Date['ContactIndex']]
+	$Call4Date["CallerName"] = $npc_nickname[$Call4Date["NPC"]]
+
+	!! These variables are setup for certain downstream functions
+	$caller = $Call4Date["CallerName"]
+	$callerid = $contactIcon[Call4Date["ContactIndex"]]
+	$boydesc = $Call4Date["CallerName"]
+
+	pcs_mood += 10
+	npc_rel[$Call4Date["NPC"]] += 3
+
+	if $Call4Date["Location"] = 'park':
+		if npc_gender[$Call4Date["NPC"]] = 0:
+			gt 'dateM','datepark'
+		else
+			gt 'dateF','datepark'
+		end
+	elseif $Call4Date["Location"] = 'movie':
+		if npc_gender[$Call4Date["NPC"]] = 0:
+			gt 'dateM','datecinema'
+		else
+			!Not implemented yet
+			!gt 'dateF','datecinema'
+		end
+	elseif $Call4Date["Location"] = 'bar':
+		if npc_gender[$Call4Date["NPC"]] = 0:
+			gt 'dateM','datebar'
+		else
+			gt 'dateF','datebar'
+		end
+	elseif $Call4Date["Location"] = 'cafe':
+		if npc_gender[$Call4Date["NPC"]] = 0:
+			gt 'dateM','datecafe'
+		else
+			!Not implemented yet
+			!gt 'dateF','datecafe'
+		end
+	end
+
+	killvar 'Call4Date'
+	killvar '$Call4Date'
+end
+
+!! Sveta Calls the NPC
+!!	ARGS[1] = contactlist index
+if $ARGS[0] = 'SvetaCallsNPC':
+	cls
+	cla
+	Call4Date["ContactIndex"] = ARGS[1]
+	$Call4Date["NPC"] = $contact[Call4Date['ContactIndex']]
+	$Call4Date["CallerName"] = $npc_nickname[$Call4Date["NPC"]]
+	if npc_gender[$Call4Date["NPC"]] = 0:
+		$Call4Date["NPC-he"] = 'he'
+		$Call4Date["NPC-He"] = 'He'
+		$Call4Date["NPC-his"] = 'his'
+		$Call4Date["NPC-His"] = 'His'
+	else
+		$Call4Date["NPC-he"] = 'her'
+		$Call4Date["NPC-He"] = 'Her'
+		$Call4Date["NPC-his"] = 'hers'
+		$Call4Date["NPC-His"] = 'Hers'
+	end
+
+	!! These variables are setup for certain downstream functions
+	$caller = $Call4Date["CallerName"]
+	$callerid = $contactIcon[Call4Date["ContactIndex"]]
+
+	gs 'telefon','phone_balance'
+	gs 'telefon','phone_call_receive'
+
+	Call4Date["willAgree"] = (rand(0, 10) > 3)
+
+	'"Yes, I''m listening," says a voice from the speaker.'
+
+	if month > 5 and temper > 20 and sunWeather = 1:
+		act 'Invite to the park':
+			cla
+			'"Let''s go for a walk in the park."'
+
+			if Call4Date["willAgree"]:
+				'<<$Call4Date["CallerName"]>>, "See you in the park in an hour."'
+
+				act 'Go':gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'park'
+			else
+				gs 'telefon','telotkaz',$Call4Date["CallerName"]
+			end
+		end
+	end
+
+	act 'Invite to a movie':
+		cla
+		'"Want to go see a movie?"'
+
+		if Call4Date["willAgree"]:
+			'<<$Call4Date["CallerName"]>>, "See you at the movie theater in an hour."'
+
+			act 'Go':gt gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'movie'
+		else
+			gs 'telefon','telotkaz',$Call4Date["CallerName"]
+		end
+	end
+
+	if  $home_town = 'city':
+		act 'Invite to the bar':
+			cla
+			'"Let''s go to the bar."'
+
+			if Call4Date["willAgree"]:
+				'<<$Call4Date["CallerName"]>>, "See you at the bar in an hour."'
+
+				act 'Go':gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'bar'
+			else
+				gs 'telefon','telotkaz',$Call4Date["CallerName"]
+			end
+		end
+	end
+
+	act 'Invite to the cafe':
+		cla
+		'"Let''s go to the cafe."'
+
+		if Call4Date["willAgree"]:
+			'<<$Call4Date["CallerName"]>>, "See you at the cafe in an hour."'
+
+			act 'Go':gt gt 'telefon', 'NPCDate', Call4Date["ContactIndex"], 'cafe'
+		else
+			gs 'telefon','telotkaz',$Call4Date["CallerName"]
+		end
+	end
+
+	act 'I think we should break up...':
+		cla
+		'<<$Call4Date["NPC-He"]>> sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+		gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+
+		act 'Hangup':gt 'telefon', 'fin'
+	end
+
+	act 'Hangup':gt 'telefon', 'fin'
+
+	killvar 'Call4Date'
+	killvar '$Call4Date'
+	killvar '$DateNickName'
+end
+
+! NPC Calls Sveta for a Date
+!	ARGS[1] = $contact index number
+if $ARGS[0] = 'NPCCallsForDate':
+	cla
+	clr
+	Call4Date["ContactIndex"] = ARGS[1]
+	$Call4Date["NPC"] = $contact[Call4Date['ContactIndex']]
+
+	!!Pick a nickname that caller will use for Sveta
+	$DateNickName[0] = 'cutie'
+	$DateNickName[1] = 'honey'
+	$DateNickName[2] = 'sweetie'
+	$DateNickName[3] = 'baby'
+	$DateNickName[4] = 'hot stuff'
+	$DateNickName[5] = '<<$pcs_nickname>>'
+	$Call4Date['SvetaName'] = $DateNickName[rand(0, arrsize('$DateNickName'))]
+
+	$Call4Date['CallerName'] = $npc_nickname[$Call4Date["NPC"]]
+
+	!! These variables are setup for certain downstream functions
+	$caller = $Call4Date["CallerName"]
+	$callerid = $contactIcon[Call4Date["ContactIndex"]]
+
+	'Hey <<$Call4Date["SvetaName"]>>, it''s me, <<$Call4Date["CallerName"]>>. How''s it going?'
+
+	act 'Answer':
+		cla
+		'"Pretty good, you?"'
+		'<<$Call4Date["CallerName"]>>, "Great, but I kind of miss you, can we meet today?"'
+		if week > 1 and week < 5 and workKafe = 1:
+			act 'Sorry, I''m working today':
+				cla
+				'"Sorry, I''m working today."'
+				'<<$Call4Date["CallerName"]>>, "Okay, I''ll call tomorrow."'
+
+				act 'Hang up':gt 'telefon', 'fin'
+			end
+		end
+
+		act 'Tonight':
+			cla
+			npc_rel[$Call4Date["NPC"]] += 1
+			contMeetDay[Call4Date["ContactIndex"]] = daystart
+			'"How about this evening?"'
+			'<<$Call4Date["CallerName"]>>, "Sounds great! When can I come to pick you up?"'
+
+			act 'Pick a time':
+				cla
+				contMeetHour[Call4Date["ContactIndex"]] = input ("When do you want to be picked up. It is now <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>. [Enter the hour only 0 - 20]")
+				if contMeetHour[Call4Date["ContactIndex"]] <= hour or contMeetHour[Call4Date["ContactIndex"]] > 23:contMeetHour[Call4Date["ContactIndex"]] = 20
+
+				'"How about <<contMeetHour[Call4Date["ContactIndex"]]>>:00?."'
+				'<<$Call4Date["CallerName"]>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<contMeetHour[Call4Date["ContactIndex"]]>>:00."'
+
+				act 'Hang up':gt 'telefon', 'fin'
+			end
+		end
+
+		act 'Maybe tomorrow':
+			cla
+			npc_rel[$Call4Date["NPC"]] -= 1
+			'"I''m busy today. Call tomorrow."'
+
+			if npc_rel[$Call4Date["NPC"]] <= 0:'<<$Call4Date["CallerName"]>>, Are you fucking me, you know what. Suck my dick.' & gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+			if npc_rel[$Call4Date["NPC"]] > 0:'(<<$Call4Date["CallerName"]>>) -  Okay, I''ll call tomorrow.'
+
+			act 'Hang up': gt 'telefon', 'fin'
+		end
+
+		act 'I think we should break up...':
+			cla
+			'He sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+			gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+
+			act 'Hang up': gt 'telefon', 'fin'
+		end
+	end
+
+	act 'Hang up (end relationship)':
+		cla
+		gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+		gt 'telefon', 'fin'
+	end
+
+	killvar 'Call4Date'
+	killvar '$Call4Date'
+	killvar '$DateNickName'
+end
+
 if $ARGS[0] = 'lover' and loverGender[ARGS[1]] = 0:
 	cla
 	clr

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů