浏览代码

Merge branch 'master' into phase_2

pfffbft 5 年之前
父节点
当前提交
f7ad50211d

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

+ 45 - 39
locations/Meadow.qsrc

@@ -45,7 +45,7 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 		'<a href="exec: gt ''Meadow'', ''Mira''">Mira</a> is in the meadow and is spinning with a delightful smile and laughing.'
 	elseif Mira_no = 0:
 		temp_md = 20
-		if (meadow = 3 or meadow = 6) and sunWeather = 1:temp_md = RAND(0,20)
+		if (meadow = 3 or meadow = 6) and sunWeather = 1:temp_md = rand(0,20)
 		if mirasextimes < 15 and temper >= 12 and temp_md = 0:
 			'In the clearing you notice <a href="exec: gt ''Meadow'', ''0''">Mira</a>.'
 		elseif npc_QW['A60'] >= 2 and temper >= 15 and temp_md = 1:
@@ -69,7 +69,13 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 		end
 	end
 	
-	act 'Leave':minut += 20 & MiraLoc = 0 & gt 'gadroad'
+	if MiraLoc = 2:
+		!act 'Go to the forest': minut += 20 & MiraLoc = 3 & gt 'gadforest', 'forest_edge'
+		act 'Leave':minut += 20 & MiraLoc = 0 & gt 'gadroad'
+	else
+		!act 'Go to the forest': minut += 20 & gt 'gadforest', 'forest_edge'
+		act 'Leave':minut += 20 & gt 'gadroad'
+	end
 	
 	if sunWeather = 1:
 		if pcs_stam >=15 or (pcs_stam >= 10 and bookYog + obruch > 0):
@@ -246,7 +252,7 @@ if $ARGS[0] = '0':
 								gs 'arousal', 'voyeur', 10, 'lesbian'
 								gs 'arousal', 'end'
 								gs 'stat'
-								act 'Leave':minut += 30 & gt 'gadukino'
+								act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 							end
 						end
 					end
@@ -283,7 +289,7 @@ if $ARGS[0] = '0':
 						gs 'arousal', 'voyeur', 10, 'lesbian'
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Leave':minut += 30 & gt 'gadukino'
+						act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 					end
 				end
 			end
@@ -317,7 +323,7 @@ if $ARGS[0] = '0':
 						gs 'arousal', 'voyeur', 10, 'lesbian'
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Leave':minut += 30 & gt 'gadukino'
+						act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 					end
 				end
 			end
@@ -346,7 +352,7 @@ if $ARGS[0] = '1':
 			gs 'arousal', 'voyeur', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt 'gadukino'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		end
 	end
 end
@@ -372,7 +378,7 @@ if $ARGS[0] = '2':
 		gs 'arousal', 'voyeur', 10
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt 'gadukino'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	end
 end
 
@@ -391,7 +397,7 @@ if $ARGS[0] = '3':
 			gs 'arousal', 'voyeur', 2
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt 'gadukino'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		end
 	else
 		'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj2.jpg"></center>'
@@ -399,7 +405,7 @@ if $ARGS[0] = '3':
 		gs 'arousal', 'voyeur', 10
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt 'gadukino'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	end
 end
 
@@ -411,28 +417,28 @@ if $ARGS[0] = '4' or $ARGS[0] = '5':
 		gs 'arousal', 'voyeur', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt 'gadukino'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	elseif temper >= 12 and temper < 15:
 		'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj3.jpg"></center>'
 		'They are both completely naked and Mira is sticking her ass up in the air as she deepthroats Vasyan. After a couple of minutes you see Mira gulp down his sperm without even removing her mouth from his cock.'
 		gs 'arousal', 'voyeur', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt 'gadukino'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	elseif temper >= 15 and temper < 20:
 		'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj4.jpg"></center>'
 		'They are both completely naked and Mira squeals with joy as she rides on Vasyan''s member. He does not last long and cums all over her butt as soon as he pulls out of her.'
 		gs 'arousal', 'voyeur', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt 'gadukino'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	elseif temper >= 20:
 		'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj6.jpg"></center>'
 		'Mira is completely naked and bent over in front of Vasyan. She is really enjoying it as he thrusts into her ass. After a few minutes he pulls out and sprays cum all over back.'
 		gs 'arousal', 'voyeur', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt 'gadukino'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	end
 end
 
@@ -462,7 +468,7 @@ if $ARGS[0] = '6':
 	end
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Leave':minut += 30 & gt 'gadukino'
+	act 'Hide until they leave': minut += 10 & gt 'Meadow'
 end
 
 if $ARGS[0] = '7':
@@ -483,28 +489,28 @@ if $ARGS[0] = '7':
 	end
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Leave':minut += 30 & gt 'gadukino'
+	act 'Hide until they leave': minut += 10 & gt 'Meadow'
 end
 
 if $ARGS[0] = '8':
 	npc_QW['A60'] += 1
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj12.jpg"></center>'
-	'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching, as the men take turns fucking Mira until she is all tired out. You get bored watching them and leave.'
+	'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching, as the men take turns fucking Mira until they are all tired out.'
 	gs 'arousal', 'voyeur', 30
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Leave':minut += 30 & gt 'gadukino'
+	act 'Hide until they leave': minut += 10 & gt 'Meadow'
 end
 
 if $ARGS[0] = '9':
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/characters/village/mira/mirameadows.jpg"></center>'
-	'You see Mira on all fours with her back to you. She is shoving an ear of corn in her ass which looks painful but she is still moaning.'
+	'You see Mira on all fours with her back to you. She is shoving an ear of corn in her ass which looks painful but she is still moaning. Eventually, Mira finishes and tosses the cum covered ear of corn off into the bushes almost hitting you!'
 	gs 'arousal', 'voyeur', 30
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Leave':minut += 30 & gt 'gadukino'
+	act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 end
 
 !125s
@@ -531,7 +537,7 @@ if $ARGS[0] = 'mira_mitka':
 			gs 'arousal', 'voyeur', 15
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Go':minut += 30 & gt'Gaddvor'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		end
 	end
 end
@@ -542,11 +548,11 @@ if $ARGS[0] = 'mira_gang':
 	mirasextimes += 1
 
 	'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj12.jpg"></center>'
-	'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching, as the men take turns fucking Mira until she is all tired out. You get bored watching them and leave.'
+	'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching, as the men take turns fucking Mira until they are all tired out.'
 	gs 'arousal', 'voyeur', 30
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Go':minut += 30 & gt'Gaddvor'
+	act 'Hide until they leave': minut += 10 & gt 'Meadow'
 end
 
 if $ARGS[0] = 'miraperversion11':
@@ -827,7 +833,7 @@ if $ARGS[0] = 'mirameadow':
 								gs 'arousal', 'voyeur', 10, 'lesbian'
 								gs 'arousal', 'end'
 								gs 'stat'
-								act 'Leave':minut += 20 & gt 'gadukino'
+								act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 							end
 						end
 					end
@@ -865,7 +871,7 @@ if $ARGS[0] = 'mirameadow':
 						gs 'arousal', 'voyeur', 10, 'lesbian'
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Leave':minut += 30 & gt'Gaddvor'
+						act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 					end
 				end
 			end
@@ -900,7 +906,7 @@ if $ARGS[0] = 'mirameadow':
 						gs 'arousal', 'voyeur', 10, 'lesbian'
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Leave':minut += 30 & gt'Gaddvor'
+						act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 					end
 				end
 			end
@@ -928,7 +934,7 @@ if $ARGS[0] = 'mirameadow':
 				gs 'arousal', 'voyeur', 5
 				gs 'arousal', 'end'
 				gs 'stat'
-				act 'Leave':minut += 30 & gt'Gaddvor'
+				act 'Hide until they leave': minut += 10 & gt 'Meadow'
 			end
 		end
 	end
@@ -955,7 +961,7 @@ if $ARGS[0] = 'mirameadow':
 			gs 'arousal', 'voyeur', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt'Gaddvor'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		end
 	end
 	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 3:
@@ -973,7 +979,7 @@ if $ARGS[0] = 'mirameadow':
 				gs 'arousal', 'voyeur', 5
 				gs 'arousal', 'end'
 				gs 'stat'
-				act 'Leave':minut += 30 & gt'Gaddvor'
+				act 'Hide until they leave': minut += 10 & gt 'Meadow'
 			end
 		else
 			*clr & cla
@@ -983,7 +989,7 @@ if $ARGS[0] = 'mirameadow':
 			gs 'arousal', 'voyeur', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt'Gaddvor'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		end
 	end
 	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 4:
@@ -996,7 +1002,7 @@ if $ARGS[0] = 'mirameadow':
 			gs 'arousal', 'voyeur', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt'Gaddvor'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		else
 			mirasextimes += 1
 			'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj6.jpg"></center>'
@@ -1004,7 +1010,7 @@ if $ARGS[0] = 'mirameadow':
 			gs 'arousal', 'voyeur', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt'Gaddvor'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		end
 	end
 	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 5:
@@ -1017,14 +1023,14 @@ if $ARGS[0] = 'mirameadow':
 			gs 'arousal', 'voyeur', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt'Gaddvor'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		else
 			'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj4.jpg"></center>'
 			'They are both completely naked and Mira squeals with joy as she rides on Vasyan''s member. He does not last long and cums all over her butt as soon as he pulls out of her.'
 			gs 'arousal', 'voyeur', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Leave':minut += 30 & gt'Gaddvor'
+			act 'Hide until they leave': minut += 10 & gt 'Meadow'
 		end
 	end
 	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 6:
@@ -1041,7 +1047,7 @@ if $ARGS[0] = 'mirameadow':
 		end
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt'Gaddvor'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	end
 	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 7:
 		*clr & cla
@@ -1061,27 +1067,27 @@ if $ARGS[0] = 'mirameadow':
 		end
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt'Gaddvor'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	end
 	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] > 30 and temper >= 15 and sunWeather = 1 and temp_md = 8:
 		*clr & cla
 		npc_QW['A60'] += 1
 		mirasextimes += 1
 		'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/mirameadowbj12.jpg"></center>'
-		'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching, as the men take turns fucking Mira until she is all tired out. You get bored watching them and leave.'
+		'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching, as the men take turns fucking Mira until they are all tired out.'
 		gs 'arousal', 'voyeur', 30
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt'Gaddvor'
+		act 'Hide until they leave': minut += 10 & gt 'Meadow'
 	end
 	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 20 and temper >= 15 and sunWeather = 1 and temp_md = 9:
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/characters/village/mira/mirameadows.jpg"></center>'
-		'You see Mira on all fours with her back to you. She is shoving an ear of corn in her ass which looks painful but she is still moaning.'
+		'You see Mira on all fours with her back to you. She is shoving an ear of corn in her ass which looks painful but she is still moaning. Eventually, Mira finishes and tosses the cum covered ear of corn off into the bushes almost hitting you!'
 		gs 'arousal', 'voyeur', 10
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Leave':minut += 30 & gt'Gaddvor'
+		act 'Hide until she leaves': minut += 10 & gt 'Meadow'
 	end
 end
 

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

文件差异内容过多而无法显示
+ 455 - 253
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

+ 2 - 1
locations/cikl.qsrc

@@ -45,6 +45,8 @@ if week > 7:
 	if week > 7:jump 'loopweek'
 end
 
+gs 'daystart'
+
 !!----------------------------------------------------------------------------
 
 !!Fame call to update all the fame variables
@@ -68,7 +70,6 @@ if casting = 1:
 	acting_string2 = rand(10000000000,199999999999)
 end
 
-gs 'daystart'
 dynamic $hypnoDaychange
 
 !!phone reset for bf

+ 63 - 29
locations/clothing.qsrc

@@ -433,37 +433,71 @@ if $ARGS[0] = 'view_clothing_item':
 			act 'Leave': gt $loc, $metka
 			if CloInhibit > pcs_inhib:
 				'You don''t feel daring enough to wear an outfit this revealing and can''t bring yourself to buy it.'
-			elseif money >= Price:
-				act 'Buy':
-					h = 0
-					if CloStyle = 2:h = 10
-					if CloStyle = 5:h = 20
-					h += (3 * CloQuality)
-					money -= price
-					dynamic $ARGS[2] + '[<<ARGS[3]>>] = 1'
-					if $ARGS[2] = 'cheap' or $ARGS[2] = 'office':
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 70 + <<h>>'
-					elseif $ARGS[2] = 'average':
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 90 + <<h>>'
-					elseif $ARGS[2] = 'formal':
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 15 + <<h>>'
-					elseif $ARGS[2] = 'fetish' or $ARGS[2] = 'exhibit' or $ARGS[2] = 'burlesque':
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 35 + <<h>>'
-					elseif $ARGS[2] = 'school' or $ARGS[2] = 'uniform':
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 120 + <<h>>'
-					elseif $ARGS[2] = 'exercise':
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 100 + <<h>>'
-					elseif $ARGS[2] = 'coat':
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 250 + <<h>>'
-					else
-						dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 60 + <<h>>'
+			elseif karta + bankDebtLimit < Price and money < Price:
+				'You cannot afford this outfit.'
+			else
+				if money >= Price:
+					act 'Buy (cash)':
+						h = 0
+						if CloStyle = 2:h = 10
+						if CloStyle = 5:h = 20
+						h += (3 * CloQuality)
+						money -= price
+						dynamic $ARGS[2] + '[<<ARGS[3]>>] = 1'
+						if $ARGS[2] = 'cheap' or $ARGS[2] = 'office':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 70 + <<h>>'
+						elseif $ARGS[2] = 'average':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 90 + <<h>>'
+						elseif $ARGS[2] = 'formal':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 15 + <<h>>'
+						elseif $ARGS[2] = 'fetish' or $ARGS[2] = 'exhibit' or $ARGS[2] = 'burlesque':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 35 + <<h>>'
+						elseif $ARGS[2] = 'school' or $ARGS[2] = 'uniform':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 120 + <<h>>'
+						elseif $ARGS[2] = 'exercise':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 100 + <<h>>'
+						elseif $ARGS[2] = 'coat':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 250 + <<h>>'
+						else
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 60 + <<h>>'
+						end
+						dynamic $ARGS[2] + 'B[<<ARGS[3]>>] = pcs_hips'
+						dynamic $ARGS[2] + 'S[<<ARGS[3]>>] = 0'
+						gs 'stat'
+						gt $loc, $metka
+					end
+				end
+				if karta + bankDebtLimit >= Price:
+					act 'Buy (card)':
+						h = 0
+						if CloStyle = 2:h = 10
+						if CloStyle = 5:h = 20
+						h += (3 * CloQuality)
+						karta -= price
+						dynamic $ARGS[2] + '[<<ARGS[3]>>] = 1'
+						if $ARGS[2] = 'cheap' or $ARGS[2] = 'office':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 70 + <<h>>'
+						elseif $ARGS[2] = 'average':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 90 + <<h>>'
+						elseif $ARGS[2] = 'formal':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 15 + <<h>>'
+						elseif $ARGS[2] = 'fetish' or $ARGS[2] = 'exhibit' or $ARGS[2] = 'burlesque':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 35 + <<h>>'
+						elseif $ARGS[2] = 'school' or $ARGS[2] = 'uniform':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 120 + <<h>>'
+						elseif $ARGS[2] = 'exercise':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 100 + <<h>>'
+						elseif $ARGS[2] = 'coat':
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 250 + <<h>>'
+						else
+							dynamic $ARGS[2] + 'H[<<ARGS[3]>>] = 60 + <<h>>'
+						end
+						dynamic $ARGS[2] + 'B[<<ARGS[3]>>] = pcs_hips'
+						dynamic $ARGS[2] + 'S[<<ARGS[3]>>] = 0'
+						gs 'stat'
+						gt $loc, $metka
 					end
-					dynamic $ARGS[2] + 'B[<<ARGS[3]>>] = pcs_hips'
-					dynamic $ARGS[2] + 'S[<<ARGS[3]>>] = 0'
-					gt $loc, $metka
 				end
-			else
-				'You cannot afford this outfit.'
 			end
 		end
 	elseif $ARGS[1] = 'wardrobe':

+ 0 - 8
locations/exercise.qsrc

@@ -41,14 +41,6 @@ if $ARGS[0] = 'workout':
 			gt $loc, $metka
 		end
 	end
-	if $clothingworntype = 'nude' and $loc = 'Meadow':
-		act 'Run home naked':
-			minut += 20
-			gs 'clothing', 'recover_lost_clothes', $loc
-			gs 'stat'
-			gt 'gadforest', 'caught'
-		end
-	end
 	if $clothingworntype = 'nude' or $clothingworntype = 'exercise':
 		act 'Manual routines': gt 'exercise', 'manual'
 		act 'Define routines': gt 'exercise', 'setup'

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

+ 23 - 0
locations/hunter_interactions.qsrc

@@ -395,6 +395,29 @@ if $ARGS[0] = 'chat_with_hunters':
             end
         end
     end
+
+    if $ARGS[1] = 'entertainment':
+        *clr & cla
+        '<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/hanters1.jpg"></center>'
+        '"Hey, Sveta, can you do us a favor?" says Andrei, seeing you approach them. "We are in desperate need of some entertainment. Say, why don''t you help us with that?"'
+        '"And I mean that as in sucking us all off of course." He adds.'
+
+        act 'Kneel down to oblige the boys': gt 'hunter_favors', 'nighttime_entertainment'
+        if alko < 7:
+            act 'Refuse the perverts. You are not their personal fucktoy':
+                *clr & cla
+                '"Do I look like your private whore? Suck each other off if you are that desperate" you say, stomping off to the roar of laughter in response'
+
+                if hunter_collective_opinion > 20:
+                    hunter_collective_opinion += 5
+                    hunter_sexual_comfort -= 10
+                else
+                    hunter_collective_opinion -= 3
+                    hunter_sexual_comfort -= 5
+                end
+            end
+        end
+    end
 end
 
 if $ARGS[0] = 'join_drinking':

+ 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

+ 20 - 17
locations/lact_lib.qsrc

@@ -69,6 +69,14 @@ if $ARGS[0] = 'init_breasttissue' and lactation['breasttissueinitiated'] <= 0:
 			lactation['breastdensitytype'] = 1
 		end
 	end
+	!!	setting breastdensitypercent (y) with y = -0,95x + 112 with x being svetas salo
+	if salo <= 20:
+		lactation['breastdensitypercent'] = 93
+	elseif salo > 100:
+		lactation['breastdensitypercent'] = 17
+	else
+		lactation['breastdensitypercent'] = 112 - ((95*salo)/100)
+	end
 	!!	breast tissue that can have mammary glands is nbsize + magicf2b
 	!!	Silicone is obviously not a good material to grow milkglands in
 	!!	full breastccm would be nbsize + magicf2b + silicone.
@@ -86,23 +94,8 @@ if $ARGS[0] = 'init_breasttissue' and lactation['breasttissueinitiated'] <= 0:
 	!!	Getting the usuable amount of breast tissue which can actually have mammary glands (in ccm)
 	lactation['breastuseabletissue'] = ((lactation['nbsizepercent'] + lactation['magicf2bpercent'])*lactation['breastccm'])/100
 	lactation['breastsiliconeccm'] = (lactation['siliconepercent']*lactation['breastccm'])/100
-	!!	Getting mammary gland tissue per breast, based on the breastdensitytype. Explaination on the percentages is in the head of the function.
-	if lactation['breastdensitytype'] = 1:
-		lactation['breastglandtissue'] = (lactation['breastuseabletissue']*17)/100
-		lactation['breastdensitypercent'] = 17
-	elseif lactation['breastdensitytype'] = 2:
-		lactation['breastglandtissue'] = (lactation['breastuseabletissue']*36)/100
-		lactation['breastdensitypercent'] = 36
-	elseif lactation['breastdensitytype'] = 3:
-		lactation['breastglandtissue'] = (lactation['breastuseabletissue']*55)/100
-		lactation['breastdensitypercent'] = 55
-	elseif lactation['breastdensitytype'] = 4:
-		lactation['breastglandtissue'] = (lactation['breastuseabletissue']*74)/100
-		lactation['breastdensitypercent'] = 74
-	elseif lactation['breastdensitytype'] = 5:
-		lactation['breastglandtissue'] = (lactation['breastuseabletissue']*93)/100
-		lactation['breastdensitypercent'] = 93
-	end
+	!!	Getting mammary gland tissue per breast, based on the breastdensitytype/breastdensitypercent. Explaination on the percentages is in the head of the function.
+	lactation['breastglandtissue'] = (lactation['breastuseabletissue']*lactation['breastdensitypercent'])/100
 	!!	calculating breast fat per breast
 	lactation['breastfat'] = lactation['breastuseabletissue'] - lactation['breastglandtissue']
 	!!	calculating alveolicount per breast Alveoli volume 2.18mm² (flat), milk volume 0.18mm³ (flat) and 4mm³ (inflated), milk volume 2mm³ (inflated) 1000 mm³ = 1 cm³
@@ -124,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':
@@ -231,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
@@ -267,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
 
@@ -282,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

+ 12 - 12
locations/obj_din.qsrc

@@ -370,11 +370,11 @@ if $ARGS[0] = 'husb_cheat_count':
 		end
 	end
 	if before_h_girl > 0 and before_h_guy > 0:
-		'During your marriage you have cheated with your husband with <<guy_cheat>> guys and <<girl_cheat>> girls.'
+		'During your marriage you have cheated on your husband with <<guy_cheat>> guys and <<girl_cheat>> girls.'
 	elseif before_h_guy > 0:
-		'During your marriage you have cheated with your husband with <<guy_cheat>> guys.'
+		'During your marriage you have cheated on your husband with <<guy_cheat>> guys.'
 	elseif before_h_girl > 0:
-		'During your marriage you have cheated with your husband with <<girl_cheat>> girls.'
+		'During your marriage you have cheated on your husband with <<girl_cheat>> girls.'
 	end
 end
 
@@ -2236,49 +2236,49 @@ if $ARGS[0] = 'piercing':
 	'<center>'
 	if pirsA = 0 and pirsB = 0 and pirsC = 0 and pirsD = 0 and pirsE = 0 and pirsF = 0 and pirsN = 0 and pirsG = 0 and pirsGL = 0:
 		'You have no piercings.'
-	elseif pirsA = 10000 and pirsB = 10000 and pirsC = 10000 and pirsD = 10000 and pirsE = 10000 and pirsF = 10000 and pirsN = 10000 and pirsG = 10000 and pirsGL = 10000:
+	elseif (pirsA = 10000 or pirsA = 0) and (pirsB = 10000 or pirsB = 0) and (pirsC = 10000 or pirsC = 0) and (pirsD = 10000 or pirsD = 0) and (pirsE = 10000 or pirsE = 0) and (pirsF = 10000 or pirsF = 0) and (pirsN = 10000 or pirsN = 0) and (pirsG = 10000 or pirsG = 0) and (pirsGL = 10000 or pirsGL = 0):
 		'You are not wearing any piercings'
 	else
 		*pl
 		if pirsA > 0 and pirsA < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsA''">Tongue</a> | '
 		else
-		*p 'Tongue | '
+			*p 'Tongue | '
 		end
 		if pirsB > 0 and pirsB < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsB''">Lips</a> | '
 		else
-		*p 'lips | '
+			*p 'lips | '
 		end
 		if pirsC > 0 and pirsC < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsC''">Ears</a> | '
 		else
-		*p 'Ears | '
+			*p 'Ears | '
 		end
 		if pirsD > 0 and pirsD < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsD''">Nose</a> | '
 		else
-		*p 'Nose | '
+			*p 'Nose | '
 		end
 		if pirsE > 0 and pirsE < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsE''">Eyebrows</a> | '
 		else
-		*p 'Eyebrows | '
+			*p 'Eyebrows | '
 		end
 		if pirsF > 0 and pirsF < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsF''">Nipples</a> | '
 		else
-		*p 'Nipples | '
+			*p 'Nipples | '
 		end
 		if pirsN > 0 and pirsN < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsN''">Navel</a> | '
 		else
-		*p 'Navel | '
+			*p 'Navel | '
 		end
 		if pirsG > 0 and pirsG < 10000:
 			*p '<a href="exec:gs ''obj_din'', ''pirsG''">Pussy</a>'
 		else
-		*p 'Pussy'
+			*p 'Pussy'
 		end
 	end
 	'</center>'

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

+ 391 - 174
locations/sexshop.qsrc

@@ -18,13 +18,15 @@ if $ARGS[0] = 'start':
 	clr
 	gs 'stat'
 	gs 'themes', 'indoors'
-	'<center><b><font color="maroon">Sex Toys</font></b></center>'
+	'<center><b><font color="maroon">Dildopolis Inc.</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+	'The main counter displays various sex toys:'
 	'Lubricant - 145 <b>₽</b>'
 	'Dildo starting at - 800 <b>₽</b>'
 	'Vibrator - 800 <b>₽</b>'
 	'Strapon harness starting at 1,200 <b>₽</b>'
 	'Butt plug 1,200 <b>₽</b>'
+	*nl
 	'In the basement are the private booths for viewing porn movies (50 <b>₽</b> 15 minutes).'
 
 	act 'Leave': minut += 5 & gt 'Nord', 'redlight'
@@ -129,227 +131,442 @@ if $ARGS[0] = 'start':
 	act 'Look through the bras': minut += 1 & gt 'sexshop', 'bras'
 	act 'Look through the fetish shoes': minut += 1 & gt 'sexshop', 'shoes'
 	
-	if money >= 300:
-		act 'Buy lubricant 300 <b>₽</b>':
-			*clr & cla
-			menu_off = 1
-			portion = input ("How much you want to buy?")
+	if money < 300 and karta + bankDebtLimit < 300:
+		'You cannot afford lubricant.'
+	else
+		if money >= 300:
+			act 'Buy lubricant 300 <b>₽</b> (cash)':
+				*clr & cla
+				menu_off = 1
+				portion = input ("How much you want to buy?")
+
+				if portion * 300 > money:
+					'You do not have enough money.'
+				else
+					lubri += portion * 5
+					money -= portion * 300
+					minut += 5
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+					'You buy some lubricant and pay the cashier.'
+				end
+				gs 'stat'
 
-			if portion * 300 > money:
-				'You do not have enough money.'
-			else
-				lubri += portion * 5
-				money -= portion * 300
-				minut += 5
-				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-				'You bought some lubricant and paid the cashier.'
+				act 'Move away from the counter':gt 'sexshop', 'start'
 			end
-			gs 'stat'
+		end
+		if karta + bankDebtLimit >= 300:
+			act 'Buy lubricant 300 <b>₽</b> (card)':
+				*clr & cla
+				menu_off = 1
+				portion = input ("How much you want to buy?")
+
+				if portion * 300 > karta + bankDebtLimit:
+					'You do not have enough credit.'
+				else
+					lubri += portion * 5
+					karta -= portion * 300
+					minut += 5
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+					'You buy some lubricant and pay the cashier.'
+				end
+				gs 'stat'
 
-			act 'Move away from the counter':gt 'sexshop', 'start'
+				act 'Move away from the counter':gt 'sexshop', 'start'
+			end
 		end
-	else
-		'You cannot afford lubricant.'
 	end
+	
+	if pornMagazine <= 1 and (money < 400 and karta + bankDebtLimit < 400):
+		'You cannot afford the porn magazine.'
+	else
+		if pornMagazine <= 1 and money >= 400:
+			act 'Buy a porn magazine 400 <b>₽</b> (cash)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				money -= 400
+				pornMagazine = 50
+				gs 'stat'
+				'You buy a porn magazine and pay the cashier.'
 
-	if pornMagazine <= 1 and money >= 400:
-		act 'Buy a porn magazine (400 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			money -= 400
-			pornMagazine = 50
-			gs 'stat'
-			'You bought a porn magazine and paid the cashier.'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
+		end
+		if pornMagazine <= 1 and karta + bankDebtLimit >= 400:
+			act 'Buy a porn magazine 400 <b>₽</b> (card)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				karta -= 400
+				pornMagazine = 50
+				gs 'stat'
+				'You buy a porn magazine and pay the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop','start'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
 		end
-	elseif pornMagazine <= 1:
-		'You cannot afford the porn magazine.'
 	end
 
-	if money >= 800 and dildo = 0:
-		act 'Buy 10cm dildo (800 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			dildo = 1
-			money -= 800
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a dildo and paid the cashier.'
+	if dildo = 0 and (money < 800 and karta + bankDebtLimit < 800):
+		'You cannot afford the 10cm dildo.'
+	else
+		if money >= 800 and dildo = 0:
+			act 'Buy 10cm dildo 800 <b>₽</b> (cash)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				dildo = 1
+				money -= 800
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a dildo and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop', 'start'
+				act 'Move away from the counter':gt 'sexshop', 'start'
+			end
+		end
+		if karta + bankDebtLimit >= 800 and dildo = 0:
+			act 'Buy 10cm dildo 800 <b>₽</b> (card)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				dildo = 1
+				karta -= 800
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a dildo and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop', 'start'
+			end
 		end
-	elseif dildo = 0:
-		'You cannot afford the 10cm dildo.'
 	end
 
-	if money >= 850 and middildo = 0:
-		act 'Buy 15cm long dildo (850 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			middildo = 1
-			money -= 850
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a 15cm long dildo and paid the cashier.'
+	if middildo = 0 and (money < 850 and karta + bankDebtLimit < 850):
+		'You cannot afford the 15cm dildo.'
+	else
+		if money >= 850 and middildo = 0:
+			act 'Buy 15cm long dildo 850 <b>₽</b> (cash)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				middildo = 1
+				money -= 850
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 15cm long dildo and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
+		end
+		if karta + bankDebtLimit >= 850 and middildo = 0:
+			act 'Buy 15cm long dildo 850 <b>₽</b> (card)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				middildo = 1
+				karta -= 850
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 15cm long dildo and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop','start'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
 		end
-	elseif middildo = 0:
-		'You cannot afford the 15cm long dildo.'
 	end
 
-	if money >= 900 and largedildo = 0:
-		act 'Buy 20cm long dildo (900 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			largedildo = 1
-			money -= 900
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a 20cm long dildo and paid the cashier.'
+	if largedildo = 0 and (money < 900 and karta + bankDebtLimit < 900):
+		'You cannot afford the 20cm dildo.'
+	else
+		if money >= 900 and largedildo = 0:
+			act 'Buy 20cm long dildo 900 <b>₽</b> (cash)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				largedildo = 1
+				money -= 900
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 20cm long dildo and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
+		end
+		if karta + bankDebtLimit >= 900 and largedildo = 0:
+			act 'Buy 20cm long dildo 900 <b>₽</b> (card)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				largedildo = 1
+				karta -= 900
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 20cm long dildo and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop','start'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
 		end
-	elseif largedildo = 0:
-		'You cannot afford the 20cm long dildo.'
 	end
 
-	if money >= 950 and bigdildo = 0:
-		act 'Buy 25cm long dildo (950 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			bigdildo = 1
-			money -= 950
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a 25cm long dildo and paid the cashier.'
+	if bigdildo = 0 and (money < 950 and karta + bankDebtLimit < 950):
+		'You cannot afford the 25cm dildo.'
+	else
+		if money >= 950 and bigdildo = 0:
+			act 'Buy 25cm long dildo 950 <b>₽</b> (cash)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				bigdildo = 1
+				money -= 950
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 25cm long dildo and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
+		end
+		if karta + bankDebtLimit >= 950 and bigdildo = 0:
+			act 'Buy 25cm long dildo 950 <b>₽</b> (card)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				bigdildo = 1
+				karta -= 950
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 25cm long dildo and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop','start'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
 		end
-	elseif bigdildo = 0:
-		'You cannot afford the 25cm long dildo.'
 	end
 
-	if money >= 1000 and extradildo = 0:
-		act 'Buy 30cm long dildo (1,000 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			extradildo = 1
-			money -= 1000
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a 30cm long dildo and paid the cashier.'
+	if extradildo = 0 and (money < 800 and karta + bankDebtLimit < 800):
+		'You cannot afford the 10cm dildo.'
+	else
+		if money >= 1000 and extradildo = 0:
+			act 'Buy 30cm long dildo (1,000 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				extradildo = 1
+				money -= 1000
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 30cm long dildo and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
+		end
+		if karta + bankDebtLimit >= 1000 and extradildo = 0:
+			act 'Buy 30cm long dildo (1,000 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				extradildo = 1
+				karta -= 1000
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 30cm long dildo and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop','start'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
 		end
-	elseif extradildo = 0:
-		'You cannot afford the 30cm long dildo.'
 	end
 
-	if money >= 1100 and superdildo = 0:
-		act 'Buy 35cm long dildo (1,100 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			superdildo = 1
-			money -= 1100
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a 35cm long dildo and paid the cashier.'
+	if superdildo = 0 and (money < 800 and karta + bankDebtLimit < 800):
+		'You cannot afford the 10cm dildo.'
+	else
+		if money >= 1100 and superdildo = 0:
+			act 'Buy 35cm long dildo (1,100 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				superdildo = 1
+				money -= 1100
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 35cm long dildo and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
+		end
+		if karta + bankDebtLimit >= 1100 and superdildo = 0:
+			act 'Buy 35cm long dildo (1,100 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				superdildo = 1
+				karta -= 1100
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 35cm long dildo and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop','start'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
 		end
-	elseif superdildo = 0:
-		'You cannot afford the 35cm long dildo.'
 	end
 
-	if money >= 1200 and maddildo = 0:
-		act 'Buy 40cm long dildo (1,200 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			maddildo = 1
-			money -= 1200
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a 40cm long dildo and paid the cashier.'
+	if maddildo = 0 and (money < 800 and karta + bankDebtLimit < 800):
+		'You cannot afford the 10cm dildo.'
+	else
+		if money >= 1200 and maddildo = 0:
+			act 'Buy 40cm long dildo (1,200 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				maddildo = 1
+				money -= 1200
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 40cm long dildo and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
+		end
+		if karta + bankDebtLimit >= 1200 and maddildo = 0:
+			act 'Buy 40cm long dildo (1,200 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				maddildo = 1
+				karta -= 1200
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a 40cm long dildo and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop','start'
+				act 'Move away from the counter':gt 'sexshop','start'
+			end
 		end
-	elseif maddildo = 0:
-		'You cannot afford the 40cm long dildo.'
 	end
 
-	if money >= 800 and vibrator = 0:
-		act 'Buy vibrator (800 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			vibrator = 1
-			money -= 800
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a vibrator and paid the cashier.'
+	if vibrator = 0 and (money < 800 and karta + bankDebtLimit < 800):
+		'You cannot afford the 10cm dildo.'
+	else
+		if money >= 800 and vibrator = 0:
+			act 'Buy vibrator (800 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				vibrator = 1
+				money -= 800
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a vibrator and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop', 'start'
+				act 'Move away from the counter':gt 'sexshop', 'start'
+			end
 		end
-	elseif vibrator = 0:
-		'You cannot afford the vibrator.'
-	end
+		if karta + bankDebtLimit >= 800 and vibrator = 0:
+			act 'Buy vibrator (800 <b>₽</b>)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				vibrator = 1
+				karta -= 800
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a vibrator and paid the cashier.'
 
-	if money >= 1200 and strapon = 0 and (dildo + middildo + largedildo + bigdildo + extradildo + superdildo + maddildo = 0):
-		act 'Buy a strapon with a 15cm dildo (1,200 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			strapon = 1
-			dildo = 1
-			money -= 1200
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a strapon and paid the cashier.'
-
-			act 'Move away from the counter':gt 'sexshop', 'start'
+				act 'Move away from the counter':gt 'sexshop', 'start'
+			end
 		end
-	elseif money >= 500 and strapon = 0 and (dildo + middildo + largedildo + bigdildo + extradildo + superdildo + maddildo ! 0):
-		act 'Buy a strapon harness (500 <b>₽</b>)':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			strapon = 1
-			money -= 500
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a strapon and paid the cashier.'
+	end
 
-			act 'Move away from the counter':gt 'sexshop', 'start'
+	if strapon = 0:
+		if (money < 1200 and karta + bankDebtLimit < 1200) and (dildo + middildo + largedildo + bigdildo + extradildo + superdildo + maddildo = 0):
+			'You cannot afford the strapon.'
+			if money >= 1200:
+				act 'Buy a strapon with a 15cm dildo 1,200 <b>₽</b> (cash)':
+					*clr & cla
+					menu_off = 1
+					minut += 5
+					strapon = 1
+					dildo = 1
+					money -= 1200
+					gs 'stat'
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+					'You bought a strapon and paid the cashier.'
+
+					act 'Move away from the counter':gt 'sexshop', 'start'
+				end
+			end
+			if karta + bankDebtLimit >= 1200:
+				act 'Buy a strapon with a 15cm dildo 1,200 <b>₽</b> (card)':
+					*clr & cla
+					menu_off = 1
+					minut += 5
+					strapon = 1
+					dildo = 1
+					karta -= 1200
+					gs 'stat'
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+					'You bought a strapon and paid the cashier.'
+
+					act 'Move away from the counter':gt 'sexshop', 'start'
+				end
+			end
+		elseif (money < 500 and karta + bankDebtLimit < 500) and (dildo + middildo + largedildo + bigdildo + extradildo + superdildo + maddildo ! 0):
+			if money >= 1200:
+				act 'Buy a strapon harness 500 <b>₽</b> (cash)':
+					*clr & cla
+					menu_off = 1
+					minut += 5
+					strapon = 1
+					money -= 500
+					gs 'stat'
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+					'You bought a strapon and paid the cashier.'
+
+					act 'Move away from the counter':gt 'sexshop', 'start'
+				end
+			end
+			if karta + bankDebtLimit >= 1200:
+				act 'Buy a strapon harness 500 <b>₽</b> (card)':
+					*clr & cla
+					menu_off = 1
+					minut += 5
+					strapon = 1
+					karta -= 500
+					gs 'stat'
+					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+					'You bought a strapon and paid the cashier.'
+
+					act 'Move away from the counter':gt 'sexshop', 'start'
+				end
+			end
 		end
-	elseif strapon = 0:
-		'You cannot afford a strap on.'
 	end
 
-	if money >= 800 and analplug = 0:
-		act 'Buy butt plug 800 <b>₽</b>':
-			*clr & cla
-			menu_off = 1
-			minut += 5
-			analplug = 1
-			money -= 800
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
-			'You bought a butt plug and paid the cashier.'
+	if analplug = 0 and (money < 800 and karta + bankDebtLimit < 800):
+		'You cannot afford the butt plug.'
+	else
+		if money >= 800 and analplug = 0:
+			act 'Buy butt plug 800 <b>₽</b> (cash)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				analplug = 1
+				money -= 800
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a butt plug and paid the cashier.'
 
-			act 'Move away from the counter':gt 'sexshop', 'start'
+				act 'Move away from the counter':gt 'sexshop', 'start'
+			end
+		end
+		if karta + bankDebtLimit >= 800 and analplug = 0:
+			act 'Buy butt plug 800 <b>₽</b> (card)':
+				*clr & cla
+				menu_off = 1
+				minut += 5
+				analplug = 1
+				karta -= 800
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You bought a butt plug and paid the cashier.'
+
+				act 'Move away from the counter':gt 'sexshop', 'start'
+			end
 		end
-	elseif analplug = 0:
-		'You cannot afford the butt plug.'
 	end
 end
 

+ 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

部分文件因为文件数量过多而无法显示