Jelajahi Sumber

Merge remote-tracking branch 'Kevin_Smarts/master'

sovietmercader 5 tahun lalu
induk
melakukan
6afc65c8bd

+ 1 - 1
locations/NikoEv2.qsrc

@@ -554,7 +554,7 @@ if $ARGS[0] =  'Diner 1':
 					minut += 5
 					gs'stat'
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikoev2/diner/npc/1.jpg"></center>'
-					'You see the biker shake hands with Niko then give him the money. Niko counts the money then gives the biker an approving nod before the biker takes his seat again. Niko turns to you, and says, "Good job <<$pcs_nickname>>. We are making some good progre..." A nearby trucker begins examining your face before shouting out, "Is that what I think it is? Hey guys look at this girl. She is walking around with cum leaking off of my face!" You freeze in place. <font color=#FF00FF>Oh shit! I forgot to wash up. How did I forget that? I''m walking around with cum leaking off my chin. How could I forget?</font> the truckers, and bikers in the room surround you then begin talking to each other.'
+					'You see the biker shake hands with Niko then give him the money. Niko counts the money then gives the biker an approving nod before the biker takes his seat again. Niko turns to you, and says, "Good job <<$pcs_nickname>>. We are making some good progre..." A nearby trucker begins examining your face before shouting out, "Is that what I think it is? Hey guys look at this girl. She is walking around with cum plastering her face!" You freeze in place. <font color=#FF00FF>Oh shit! I forgot to wash up. How did I forget that? I''m walking around with cum leaking off my chin. How could I forget?</font> the truckers, and bikers in the room surround you then begin talking to each other.'
 					*nl
 					'<center><img <<$set_imgh>> src="images/pc/body/cum/cumface/blonde/15.jpg"></center>'
 

+ 6 - 1
locations/_attributes_cheap.qsrc

@@ -2499,7 +2499,12 @@ elseif ARGS[1] = 414:
 	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloExhibit = 0
-
+elseif ARGS[1] = 415:
+	CloQuality = 2
+	CloThinness = 5
+	CloTopCut = 4
+	CloSkirtShortness = 3
+	CloExhibit = 15
 end
 
 --- $attributes_cheap ---------------------------------

+ 1 - 0
locations/anushapt.qsrc

@@ -797,6 +797,7 @@ if $ARGS[0] = 'chat':
 					cla
 					*nl
 					npc_rel['A144'] -= 3
+					gs 'arousal', 'end'
 					'You pull away before things go too far and catch your breath. You see her slightly confused look and you feel a bit bad about it. "Sorry, I got carried away. Can we just go back to talking?" She frowns a little. "Yeah whatever." You know you annoyed her a little and you don''t blame her, you did just tease her more or less.'
 					act 'Talk about something else': gt 'anushapt', 'chat'
 				end

+ 14 - 9
locations/brother_voyeur.qsrc

@@ -1487,7 +1487,7 @@ if $ARGS[0] = 'brother_shower_bj':
 		gs 'arousal', 'bj', rand(1,5)
 		brotherbjfinish = rand(1,2)
 		if brotherbjfinish = 1:
-			gs 'cum_call', 'mouth', $boy
+			gs 'cum_call', 'mouth', 'A34', 1
 			brotherbjcomment = rand(1,2)
 			gs 'stat'
 
@@ -1497,7 +1497,7 @@ if $ARGS[0] = 'brother_shower_bj':
 			'	"Hey <<$pcs_nickname>>," he says through grunts. "I''m gonna cum soon. Can I cum on your face?"'
 			act'Ignore him and keep sucking':
 				cla
-				gs 'cum_call', 'mouth', $boy
+				gs 'cum_call', 'mouth', 'A34', 1
 				gs 'arousal', 'end'
 				gs 'stat'
 				*nl
@@ -1606,8 +1606,11 @@ end
 
 
 if $ARGS[0] = 'shower_swallow':
-	brotherbjcomment = rand(1,2)
 	cla & *clr
+	brotherbjcomment = rand(1,2)
+	gs 'boystat','A34'
+	gs 'cum_call', 'mouth', 'A34', 1
+	gs 'stat'
 	'<center><video src="images/shared/home/bathroom/showerbj.mp4"></center>'
 	if broshowerfuck = daystart:
 		'	Sinking to your knees, you barely put the tip of Kolka''s cock in before he explodes between your lips. Cum fills your mouth and you contemplate what to do with it.'
@@ -1782,10 +1785,11 @@ if $ARGS[0] = 'shower_swallow':
 end
 
 if $ARGS[0] = 'shower_facial':
+	cla & *clr
 	brotherbjcomment = rand(1,2)
-	gs 'cum_call', 'face', $boy
+	gs 'boystat','A34'
+	gs 'cum_call', 'face', 'A34', 1
 	gs 'stat'
-	cla & *clr
 	'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facial1.jpg"></center>'
 	if broshowerfuck = daystart:
 		'	You kneel down in front of Kolka, jerking his cock off. He starts to cum and as the first spurt hits you, you squeeze your eyes shut, continuing to jerk your brother until your face is thoroughly coated and feel no more droplets.'
@@ -2106,6 +2110,8 @@ if $ARGS[0] = 'brother_shower_fuck_first2':
 					'	<i>Well,</i> you think to yourself, <i>It''s a good thing I''m on birth control.</i>'
 				elseif mesec > 0:
 					'	<i>Well,</i> you think to yourself, <i>I don''t think I can get pregnant when I''m on my period... right...?</i>'
+				elseif knowpreg = 1:
+					'	<i>Well,</i> you think to yourself, <i>I''m already pregnant.</i>'
 				else
 					'	<i>Shit...</i> You close your eyes, sighing as you feel another glob of Kolka''s cum drip from your pussy. <i>I fucked up...</i>'
 				end
@@ -2155,6 +2161,7 @@ end
 
 if $ARGS[0] = 'brother_fuck_cum':
 	cla & *clr
+	gs 'boystat','A34'
 	'<center><video src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
 	if brotherfuck ! 1:brothercumchoice = rand(1,4)
 	if brotherfuck = 1:brothercumchoice = 1
@@ -2226,7 +2233,7 @@ if $ARGS[0] = 'brother_fuck_cum':
 				gs 'cum_call', 'stomach', 'A34', 1
 				'<center><video src="images/shared/home/bathroom/showercum.mp4"></center>'
 				'	"No! Not inside me!" you cry out. You push him off you and turn around. Grabbing his cock, you jerk him vigorously until he groans, spraying hot cum that spatters all over your stomach.'
-				if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and succubusflag = 0:'	Feeling his spunk on your stomach, you suddenly grow annoyed and wonder why you even finished him off. "What the fuck Kolka?! Are you <i>trying</i> to get me pregnant?"'
+				if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and succubusflag = 0 and knowpreg = 0 and thinkpreg = 0:'	Feeling his spunk on your stomach, you suddenly grow annoyed and wonder why you even finished him off. "What the fuck Kolka?! Are you <i>trying</i> to get me pregnant?"'
 				act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 			end
 		end
@@ -2237,7 +2244,7 @@ if $ARGS[0] = 'brother_fuck_cum':
 			gs 'stat'
 			'<center><video src="images/shared/home/bathroom/showercum.mp4"></center>'
 			'	"Not today Kolka." You push your brother off of you and turn around. Grabbing his cock, you jerk him vigorously until he groans, spraying hot cum that spatters all over your stomach.'
-			if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and knowpreg = 0 and thinkpreg = 0:'	"Sorry little brother." You smile apologetically. "I''m not on birth control and I can''t afford to get knocked up. Especially not by my one of my siblings."'
+			if pillcon < 30000 and pillday < 18 and tabletkishot < 1 and succubusflag = 0 and knowpreg = 0 and thinkpreg = 0:'	"Sorry little brother." You smile apologetically. "I''m not on birth control and I can''t afford to get knocked up. Especially not by my one of my siblings."'
 			act'Continue':gt'brother_voyeur','brother_shower_fuck_end'
 		end
 
@@ -2383,8 +2390,6 @@ if $ARGS[0] = 'brother_fuck_cum':
 				end
 			end
 		end
-
-
 	elseif brothercumchoice = 4:
 		'	"<<$pcs_nickname>>-! I''m almost there! Can I cum in your mouth?"'
 		brotherbjcomment = 3

+ 1 - 1
locations/cardgame_durak.qsrc

@@ -32,7 +32,7 @@ if $ARGS[0] = 'start':
 		$cgd_clothes['A9'] = ' shirt, jeans, socks, briefs'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/durak.jpg"></center>'
 		'"Cards? We can deal you in, but only if you want to play strip poker", Vitek grins. "The loser does whatever the winner wants them to do. Because you''re a girl, you''ll get one extra piece of clothing to start with. Sound fair?"'
-		'Your game statistics: You''ve won <<card_game_durak_win>> times, lost <<card_game_durak_loss>> times, managed a draw <<card_game_durak_draw>> times, and have taken off <<card_game_durak_nude>> articles of clothing.'
+		'Your game statistics: You''ve won <<card_game_durak_win>> times, lost <<card_game_durak_loss>> times, managed a draw <<card_game_durak_draw>> times, and ended up naked <<card_game_durak_nude>> times.'
 		act 'Play': gt 'cardgame_durak', 'card_game_durak_play'
 	else
 		'<<iif(RAND(0,1) = 0,''Dan'',''Vitek'')>> sighs: "I''m tired of playing cards. Let''s just watch some TV or something, or have some more beers."'

+ 1 - 1
locations/castSpell.qsrc

@@ -1,5 +1,5 @@
 # castSpell
-! Used to cast a spell.  Use as a function.  Returns 1 OR 0 for Success or Failure.
+! Used to cast a spell.
 !
 ! ARGS[0] is the spell being cast
 !	Valid Spells are listed below

+ 5 - 2
locations/cikl.qsrc

@@ -1349,8 +1349,11 @@ if storyline = 1:
         end
 	end
 	!!Brother''s dick growth as he gets older
-	kolka_dick_month = daystart/30
-	if kolka_dick_month > daystart/30 and npc_dick['A34'] < 26: npc_dick['A34'] += 1
+	
+	if kolka_dick_day + 30 < daystart and npc_dick['A34'] < 26: 
+		kolka_dick_day = daystart
+		npc_dick['A34'] += 1
+	end
 	if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
 		$npc_thdick['A34'] = 'well proportioned'
 	elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:

+ 17 - 12
locations/exhibitionistshop.qsrc

@@ -13,7 +13,7 @@ if $ARGS[0] = 'start':
 	gs 'stat'
 
 	gs 'themes', 'indoors'
-	'<center><b><font color="maroon">Exhibitionist Shop</font></b></center>'
+	'<center><b><font color="maroon">Expression of You</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/oldtown/exhibitshop/shop.jpg"></center>'
 	'A shop in the most modern style who''s clothing is all very revealing and not nearly as classy as the store itself.'
 
@@ -22,19 +22,24 @@ if $ARGS[0] = 'start':
 		gt 'liames'
 	end
 
-	act 'View clothing':
-		minut += 5
-		gt 'exhibitionistshop', 'clo'
-	end
+	if hour >= 18:
+		*nl
+		'The shop is closing and you have to leave.'
+	else
+		act 'View clothing':
+			minut += 5
+			gt 'exhibitionistshop', 'clo'
+		end
 
-	act 'View panties':
-		minut += 5
-		gt 'exhibitionistshop', 'panties'
-	end
+		act 'View panties':
+			minut += 5
+			gt 'exhibitionistshop', 'panties'
+		end
 
-	act 'View bras':
-		minut += 5
-		gt 'exhibitionistshop', 'bras'
+		act 'View bras':
+			minut += 5
+			gt 'exhibitionistshop', 'bras'
+		end
 	end
 end
 

+ 1 - 1
locations/foto.qsrc

@@ -2151,7 +2151,7 @@ if $ARGS[0] = 'nude_shoot':
 				gs 'fame', 'pav', 'mdlng', rand(1,city_modelling)/10
 				inhib_exp += 1
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/ero<<rand(1,3)>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/ero<<rand(2,4)>>.jpg"></center>'
 				'	You dress up in sexy clothes and spend the next two hours posing for the photographer.'
 				*nl
 				'	After having taken all his pictures, the photographer thanks you for your time and concludes the shoot, counting out your <<modelpayfin>> <b>₽</b> to hand to you.'

+ 10 - 19
locations/gLakeNude.qsrc

@@ -6,6 +6,7 @@ $loc = 'gLakeNude'
 $metka = ''
 $menu_loc = 'gLakeNude'
 $menu_arg = ''
+$locclass = 'beach'
 menu_off = 0
 *clr & cla
 gs'stat'
@@ -59,8 +60,7 @@ end
 
 if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
 	act'Get dressed':
-		cla
-		*clr
+		*clr & cla
 		menu_off = 1
 		minut+=5
 		gs 'clothing', 'wear_last_worn'
@@ -74,8 +74,7 @@ end
 if temper >= 15 and month >= 5 and month <= 9:
 	if ARRSIZE('swimwear') > 0 and $clothingworntype ! 'swimwear':
 		act'Change into your swimwear':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			minut+=5
 			if pcs_horny >= 90:
@@ -99,8 +98,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		act'Take off your clothes':
 			menu_off = 1
 			if pcs_inhib > 30:
-				cla
-				*clr
+				*clr & cla
 				minut+=5
 				gs 'clothing', 'strip'
 				gs 'underwear', 'remove'
@@ -127,8 +125,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		act'Go swimming (1:00)':
 			menu_off = 1
 			if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
-				cla
-				*clr
+				*clr & cla
 				cumspclnt = 4
 				gs 'cum_cleanup'
 				minut = minut + 60
@@ -161,8 +158,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		act'Go sunbathing (1:00)':
 			menu_off = 1
 			if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
-				cla
-				*clr
+				*clr & cla
 				minut = minut + 60
 				if pcs_sweat < 35 : pcs_sweat += 5
 				pcs_mood += 5
@@ -175,12 +171,10 @@ if temper >= 15 and month >= 5 and month <= 9:
 				end
 				if krem = 0:
 					pcs_tan = pcs_tan + 1
-
 					'You lie down on your towel for some sunbathing and hopefully a nicer tan, and enjoy the warm rays of the sun for an hour.'
-				elseif krem > 0:
+				else:
 					krem = krem - 1
 					pcs_tan = pcs_tan + 3
-
 					'You smear your body with sunscreen and lie down on your towel for some sunbathing, hoping to work on your tan. You enjoy the warm rays of the sun for an hour.'
 				end
 				act 'Continue':gt'gLakeNude'
@@ -201,8 +195,7 @@ end
 if temper >= 15 and month >= 5 and month <= 9:
 	if voyeurism_start = 0:
 		act'Look around the beach':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			minut += 5
 			voyeurism_start_view = RAND(1,3)
@@ -219,8 +212,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 		end
 	elseif voyeurism_start = 1:
 		act'Watch couple on the beach':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			if voyeurism = 0:
 				minut += 5
@@ -248,8 +240,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 				gs'gLakeNudeEvent','gLakeNude_nudist'
 				act'Continue': gt 'gLakeNude'
 			else
-				cla
-				*clr
+				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/lake/secluded_beach/self/nudebeachself'+rand(1,3)+'.jpg"></center>'
 				'You want to watch for nudists, but suddenly notice that you start to feel weird.<br><dh>"Probably spying too much."</dh> you think and look straight ahead.'
 				act'Continue': gt'gLakeNude'

+ 6 - 9
locations/glake.qsrc

@@ -5,6 +5,7 @@ $loc = 'gLake'
 $metka = ''
 $menu_loc = 'glake'
 $menu_arg = ''
+$locclass = 'beach'
 menu_off = 0
 $location_type = 'public_outdoors'
 gs'stat'
@@ -211,8 +212,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 
 	if $clothingworntype = 'swimwear' or $clothingworntype = 'nude':
 		act 'Go swim in the lake (1:00)':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			pcs_makeup = 1
 			cumspclnt = 4
@@ -240,8 +240,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 
 				menu_off = 1
 				if $clothingworntype = 'nude' and zoo > 0 and rand(1,10) = 5:
-					cla
-					*clr
+					*clr & cla
 					pcs_willpwr -= 5
 					pcs_mood -= 5
 					inhib_exp += rand(1,3)
@@ -249,8 +248,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 					'As you lie down on your towel to catch some rays of sun and hopefully work on your tan a little, a stray dog appears out of nowhere. It keeps sniffing between your legs, which makes you feel very uncomfortable since you''re not wearing anything. You spend most of the hour trying to chase the dog away, but it comes back every time you think you got rid of it. You don''t get much sunbathing done as a result.'
 					act 'Give up on sunbathing':gt'glake'
 				else
-					cla
-					*clr
+					*clr & cla
 					minut += 60
 					if pcs_inhib < 50:inhib_exp += rand(1,2)
 					if pcs_sweat < 35 : pcs_sweat += 5
@@ -265,7 +263,7 @@ if temper >= 15 and month>=5 and month<=9 and hour>=6 and hour<=20:
 					if krem = 0:
 						'You lie down on your towel for some sunbathing and hopefully a nicer tan, and enjoy the warm rays of the sun for an hour.'
 						pcs_tan = pcs_tan + 1
-					elseif krem > 0:
+					else
 						krem = krem - 1
 						'You smear your body with sunscreen and lie down on your towel for some sunbathing, hoping to work on your tan. You enjoy the warm rays of the sun for an hour.'
 						pcs_tan = pcs_tan + 3
@@ -395,8 +393,7 @@ act'Go to the secluded beach':minut += 10 & gt'gLakeNude'
 if month = 12 or month = 1 or month = 2:
 	if konki_cloth = 1:
 		act'Take off your skates':
-			cla
-			*clr
+			*clr & cla
 			menu_off = 1
 			minut+=10
 			konki_cloth=0

+ 97 - 111
locations/hotel_resep.qsrc

@@ -15,6 +15,98 @@ if $ARGS[0] = '':
 	
 	act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
 
+	if GermanQW < 1:
+		act 'Ask about the maid job':
+			menu_off = 1
+			*clr & cla
+			if GermanQW = 0:GermanQW = 1
+			gs'stat'
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
+			'You approach the reception desk, and ask the girl: "Excuse me... I hear you are often looking for maids? I would like to come work as a maid here."'
+			'She nods understandingly, and takes a quick look at your figure: "We do often need maids, that''s true. I''d hire you in an instant, but unfortunately it''s not up to me. You should go see Herman Leonidovich, the hotel manager. He''s usually in his office between 12:00 and 14:00. I bet he will hire you! Good luck when you go see him!"'
+
+			act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
+		end
+	end
+	
+	if hotelcollect > 0:
+		act 'Collect your money':
+			cla
+			hotelcollect = 0
+			money += maidtime * 250
+			'She quickly checks the computer and then gives you <<maidtime*250>> <b>₽</b> for all the shifts you worked in the hotel.'
+			maidtime=0
+			
+			if maidHotelCount >= rand(8,10) and nichHotelReferral = 0:
+				'"You are doing a good job as our maid. Did you ever think about working as a maid full-time? I know of a person who''s living in the city and is looking for a live-in maid. The job also pays well."'
+				'She hesitates for a second.'
+				'"I could write you a referral. He wouldn''t invite you for a job interview without one. But the boss wouldn''t like me referring his maids to another employer. That''s why I require you to pay me 5.000 <b>₽</b> for my troubles. Just look at it as a small fee. Just tell me if you want the job and have the money."'
+				nichHotelReferral = 1
+				act 'Thank her for the offer and step away from the reception desk':gt'HotelHole','skip_resepevent'
+			else
+				act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
+			end
+		end
+	end
+
+	if proshotelopen = 1 and proshotelday ! daystart:
+		act'Ask for "The Peacock"':
+			*clr & cla
+			menu_off = 1
+			if pavhotprosQW = 6:
+				pavhotprosQW = 7
+				PavlinQW = 1
+			end
+			gs'stat'
+			
+			if pavlevent = 1:
+				'You are too scared of <<$npc_nickname[''A217'']>> at the moment to meet him in a private place.'
+				act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
+				exit
+			elseif pcs_makeup <= 1 or pcs_hairbsh < 1 or pcs_sweat > 26:
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
+				'"<<$npc_nickname[''A217'']>> expects you to be clean, made-up and with your hair looking nice. I can''t let you go up looking like this." She says.'
+				act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
+				exit
+			else
+				'You approach <<$receptionName>> and ask for ''The Peacock''.'
+				gt 'hotel_resep', 'pavgenpros'
+			end
+		end
+	end
+	
+	if nichHotelReferral = 1:
+		act 'Ask about the live-in maid job':
+			*clr & cla
+			menu_off = 1
+			gs'stat'
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
+			'You approach the reception desk, and ask the girl: "About the job you told me about ... I''d like to get your referral."'
+			'"Great. Do you have my fee of 5.000 <b>₽</b> with you?"'
+			
+			act 'No':
+				cla & *nl
+				'"Actually I don''t."'
+				'"Too bad. I''m afraid I can''t help you unless you pay me. Just come back as soon as you have the money."'
+				act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
+			end
+			
+			if money >= 5000:
+				act 'Yes (give it to her)':
+					cla & *nl
+					money -= 5000
+					nichHotelReferral = 2
+					gs 'stat'
+					'You give her the money and she swiftly puts it into her purse. Then she hands you your referral. It says that you are a experienced, wellbehaved and diligent maid. It is written on the official paper of the hotel and even has the signature of the manager on it.'
+					'"Don''t worry, the signature is legit. The boss signs everything I hand him."'
+					'She also hands you a small card with an address on it.'
+					'"This is the address. You can get there easily from the city center of St. Petersburg. Just go there in the late afternoon and present your referral. You also have to wear a maid uniform. If you don''t own one you can buy one at the G&M-Store. And make sure you look presentable in every way. I heard this man is a perfectionist. Good luck!"'
+					act 'Thank her and step away':gt'HotelHole','skip_resepevent'
+				end
+			end
+		end
+	end
+	
 	act'Rent a room':
 		menu_off = 1
 		*clr & cla
@@ -25,18 +117,15 @@ if $ARGS[0] = '':
 		else
 			'<<$receptionName>> smiles at you and asks: "Hello <<$pcs_nickname>>! Would you like to rent a room?"'
 		end
-		if hotelroom>0:
-			*clr
-			cla
+		if hotelroom > 0:
+			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
 			'She looks in the computer: "I see you already have a room here. As it is already booked and paid for the only way to change it to a different room, would be to cancel your existing booking. To do so without notice would forfeit your payment, I would advise against this, but you may do so if you wish."'
 			act'Yes, cancel your booking':hotelroom=0 & gt'HotelHole'
 			act'No':gt'HotelHole'
-		end
-		if hotelroom = 0:
-			act'Yes':
-				*clr
-				cla
+		elseif hotelroom = 0:
+			act 'Yes':
+				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
 				'She smiles at you happily: "Excellent! We have the following rooms available right now:"'
 				'Standard room - 500 <b>₽</b> / night;'
@@ -108,109 +197,6 @@ if $ARGS[0] = '':
 	end
 end
 
-if hotelcollect > 0:
-	hotelcollect = 0
-	money+=maidtime*250
-	'She quickly checks the computer and then gives you <<maidtime*250>> <b>₽</b> for all the shifts you worked in the hotel.'
-	maidtime=0
-	
-	if maidHotelCount >= rand (8,10) and nichHotelReferral = 0:
-		'"You are doing a good job as our maid. Did you ever think about working as a maid full-time? I know of a person who''s living in the city and is looking for a live-in maid. The job also pays well."'
-		'She hesitates for a second.'
-		'"I could write you a referral. He wouldn''t invite you for a job interview without one. But the boss wouldn''t like me referring his maids to another employer. That''s why I require you to pay me 5.000 <b>₽</b> for my troubles. Just look at it as a small fee. Just tell me if you want the job and have the money."'
-		nichHotelReferral = 1
-	end
-	
-end
-
-if nichHotelReferral = 1:
-	act 'Ask about the live-in maid job':
-		menu_off = 1
-		*clr & cla
-
-		gs'stat'
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
-		'You approach the reception desk, and ask the girl: "About the job you told me about ... I''d like to get your referral."'
-		'"Great. Do you have my fee of 5.000 <b>₽</b> with you?"'
-		if money >= 5000:
-			act 'Yes (give it to her)':
-				cla
-				money -= 5000
-				nichHotelReferral = 2
-				'You give her the money and she swiftly puts it into her purse. Then she hands you your referral. It says that you are a experienced, wellbehaved and diligent maid. It is written on the official paper of the hotel and even has the signature of the manager on it.'
-				'"Don''t worry, the signature is legit. The boss signs everything I hand him."'
-				'She also hands you a small card with an address on it.'
-				'"This is the address. You can get there easily from the city center of St. Petersburg. Just go there in the late afternoon and present your referral. You also have to wear a maid uniform. If you don''t own one you can buy one at the G&M-Store. And make sure you look presentable in every way. I heard this man is a perfectionist. Good luck!"'
-				act 'Thank her and step away':gt'HotelHole','skip_resepevent'
-			end
-		end
-		
-		act 'No':
-			cla
-			'"Actually I don''t."'
-			'"Too bad. I''m afraid I can''t help you unless you pay me. Just come back as soon as you have the money."'
-			act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
-		end
-		
-		
-	end
-end
-
-
-If GermanQW < 1:
-	act 'Ask about the maid job':
-		menu_off = 1
-		*clr & cla
-		if GermanQW = 0:GermanQW = 1
-		gs'stat'
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
-		'You approach the reception desk, and ask the girl: "Excuse me... I hear you are often looking for maids? I would like to come work as a maid here."'
-		'She nods understandingly, and takes a quick look at your figure: "We do often need maids, that''s true. I''d hire you in an instant, but unfortunately it''s not up to me. You should go see Herman Leonidovich, the hotel manager. He''s usually in his office between 12:00 and 14:00. I bet he will hire you! Good luck when you go see him!"'
-
-		act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
-	end
-
-	If GermanQW < 1:
-		act 'Ask about the maid job':
-			menu_off = 1
-			*clr & cla
-			if GermanQW = 0:GermanQW = 1
-			gs'stat'
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
-			'You approach the reception desk, and ask the girl: "Excuse me... I hear you are often looking for maids? I would like to come work as a maid here."'
-			'She nods understandingly, and takes a quick look at your figure: "We do often need maids, that''s true. I''d hire you in an instant, but unfortunately it''s not up to me. You should go see Herman Leonidovich, the hotel manager. He''s usually in his office between 12:00 and 14:00. I bet he will hire you! Good luck when you go see him!"'
-
-			act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
-		end
-	end
-
-	if proshotelopen = 1 and proshotelday ! daystart:
-		act'Ask for "The Peacock"':
-			menu_off = 1
-			if pavhotprosQW = 6:
-				pavhotprosQW = 7
-				PavlinQW = 1
-			end
-			*clr & cla
-			gs'stat'
-			
-			if pavlevent = 1:
-				'You are too scared of <<$npc_nickname[''A217'']>> at the moment to meet him in a private place.'
-				act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
-				exit
-			elseif pcs_makeup <= 1 or pcs_hairbsh < 1 or pcs_sweat > 26:
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/resep.girl0,'+rand(0,10)+'.jpg"></center>'
-				'"<<$npc_nickname[''A217'']>> expects you to be clean, made-up and with your hair looking nice. I can''t let you go up looking like this." She says.'
-				act 'Step away from the reception desk':gt'HotelHole','skip_resepevent'
-				exit
-			else
-				'You approach <<$receptionName>> and ask for ''The Peacock''.'
-				gt 'hotel_resep', 'pavgenpros'
-			end
-		end
-	end
-end
-
 if $ARGS[0] = 'pavlbar':
 	menu_off = 1
 	*clr & cla

+ 3 - 1
locations/kseniyaQW.qsrc

@@ -204,8 +204,10 @@ if $ARGS[0] = 'event3_1':
 							'You tell Kseniya you are done and want your clothes back.'
 							'"Over there. Sit down hand between your legs, that''s the one"'
 							'As you try and pose you realise your pussy is soaking wet and your nervousness about exposing yourself is completely overcome.'
-							'Kseniya hands you back your clothes and gives you a business card, it is for a shop in Old Town, off the high street. How odd.'
+							'Kseniya hands you back your clothes and gives you a business card, it is for a shop in Old Town. How odd.'
 							'"It was fun and I''m glad I found you. I have others to find though so good bye." Kseniya blows you a kiss and leaves. By the time you are dressed she is long gone.'
+							*nl
+							'You look at the card again "Expression of You" just off Pushkin High Street. Open Mon-Sat, 08:00 - 18:00'
 							gs 'arousal', 'flash', 10, 'sub'
 							gs 'arousal', 'end'
 							minut -= 5

+ 16 - 3
locations/liames.qsrc

@@ -27,9 +27,22 @@ set minut+=10
 'Not so much of a street, more of a connection of several streets including cafes and shops.'
 'A street runs straight to the <a href="exec:gt ''liam'',''start''">Town center</a>.'
 'Street leads to the Old Town <a href="exec:gt ''parks'',''start''">park</a>.'
-if hour >= 8 and hour <= 20:'A small <a href="exec:gt ''larek'',''start''">shop</a> is currently open.'
-if hour >= 10 and hour <= 22: 'A <a href="exec:gt ''liamelkafe'',''start''">tiny cafe</a> displays a street sign outside its door.'
-if hour >= 8 and hour <= 17 and exhibitionQW > 3:'The <a href="exec:gt ''exhibitionistshop'',''start''">exhibitionist shop</a> is just down a small side street from here.'
+if hour >= 8 and hour <= 20:
+	'A small <a href="exec:gt ''larek'',''start''">shop</a> is currently open.'
+else
+	'There is a small local shop that is open 8:00 - 20:00 everyday. Currently closed.'
+end
+if hour >= 10 and hour <= 22:
+	'A <a href="exec:gt ''liamelkafe'',''start''">tiny cafe</a> displays a street sign outside its door.'
+else
+	'The tiny cafe here is close currently, it is open every day 10:00 - 22:00'
+if exhibitionQW > 3:
+	if week < 7 and hour >= 8 and hour <= 18:
+		'<a href="exec:gt ''exhibitionistshop'',''start''">Expression of You</a> is just down a small side street from here.'
+	else
+		'Expression of You is open Mon - Sat, 8:00 - 18:00'
+	end
+end
 
 if home_owned[4] = 1:
 	act '<b>Go home</b>':gt'korr2x'

+ 2 - 0
locations/magik.qsrc

@@ -33,6 +33,8 @@ killvar 'i'
 killvar '$ThisSpellName'
 killvar '$SpellListStr'
 
+act 'Physical attacks':gt'boxing'
+
 
 --- magik ---------------------------------
 

+ 1 - 1
locations/mirasex.qsrc

@@ -113,7 +113,7 @@ if $ARGS[0] = 'miralick_dog':
 	gs 'stat'
 	if svetahorny >= 50 and rand(0,2) ! 0:
 		you_orgasm = 1
-		orgasm_or = 'yes'
+		$orgasm_or = 'yes'
 		$orgasm_txt = 'You cannot hold out any more from the stimulation that Mira is providing and with a shudder you cum in her face.'
 		'<center><img <<$set_imgh>> src="images/characters/village/mira/sex/miralick_dog_cum.jpg"></center>'
 	else

+ 4 - 1
locations/nichBedroomServant.qsrc

@@ -196,12 +196,15 @@ elseif $ARGS[0] = 'desk':
 	else
 		gt 'stol','start'
 	end
-elseif $ARGS[0] = 'redeemSalary'
+elseif $ARGS[0] = 'redeemSalary':
 	*clr & cla
 	karta += nichSalaryOutstanding
 	nichSalaryOutstanding = 0
 	'Your salary of <<nichSalaryOutstanding>> <b>?</b> is transferred to your bank account.'
 	act 'Back': gt 'nichBedroomServant', 'return'
+
+elseif $ARGS[0] = 'sleepEvents':
+	
 end
 
 --- nickBedroomServant ---------------------------------

+ 2 - 0
locations/nichNicholas.qsrc

@@ -1,5 +1,7 @@
 # nichNicholas
 
+!! Nicholas is registered as NPC A52
+
 !! nichNTRelation: 0= Tanya and Nicholas are having an affair and PC doesnt know it, 1= PC found out, 2-9= reserved for them being together, 10= Tanya broke up, 11-19= reserved, 20= Nicholas broke up
 !! nichFlirtCounter
 !! nichFlirtLast

+ 339 - 2
locations/nichTanya.qsrc

@@ -1,10 +1,17 @@
 # nichTanya
 
+!! Tanya is registered as NPC A218
+
 !! Important variables concerning Tanya:
 !! nichTanyaOpinion: 0= she doesn't know you, 1= you are her lover, 10= you are her gf, 20= you are her lover and told her you don't want to be her gf, 30= you are her former lover
 !! nichTanyaBF: 0= she doesn't have a bf (includes her and Nicholas doing it, see nichNTRelation), 1= her bf is vladik, 2= her bf is grigory
 !! nichTanyaBFState: 0= PC hasn't met BF, 1 = PC has met BF, 2 = PC has fucked BF, 3 = PC has fucked BF and Tanya knows it
 
+!! nichTanyaDate: the type of date Tanya and Sveta are currently having
+!! nichTanyaDateCounter
+!! nichTanyaDateLast
+!! nichTanyaDateShopping: how many times Tanya and Sveta were shopping together (without special shopping events)
+
 !! nichTanyaFuckCounter: how many times Tanya and PC have fucked (doing it several times a day only counts once)
 !! nichTanyaFuckLast: the last day Tanya and PC have fucked
 !! nichTanyaFuckToday: how many times PC and Tanya have fucked today
@@ -12,7 +19,7 @@
 !! nichTanyaFuckDom: how many times Tanya was dominant during the current encounter
 !! nichTanyaFuckSub: how many times Tanya was submissive during the current encounter
 
-!! nichTanyaStrapon: 1: Tanya owns a strapon and might use it sometimes
+!! nichTanyaStrapon: >0: Tanya owns a strapon and might use it sometimes (the value is the size of the strapon)
 
 !! nichTanyaDominance: how dominant Tanya is <= -70: very submissive, <= -20: submissive, >= 20: dominant, >= 70 very dominant
 !! nichTanyaUni = 1: Nicholas has asked Tanya to go to university, 11: PC has agreed to help convince Tanya, 50: Tanya has decided to quit university and Nicholas hasnt reacted yet, 51: Nicholas has reacted to 50, 100: Tanya goes to university and Sveta has not been rewarded by Nicholas, 101: Sveta got her reward
@@ -20,7 +27,7 @@
 
 !! nichTanyaRoom: 0= Tanya doesnt clean her room herself, 1= Tanya cleans her room herself
 
-
+menu_off = 1
 
 if nichTanyaFuckLast ! daystart:
 	nichTanyaFuckToday = 0
@@ -29,6 +36,7 @@ end
 if $ARGS[0] = 'bedroomTanya':
 	$nichTanyaPic = func('nichUtil','tanyaPic','idle','apartment')
 	'<center><img <<$set_imgh>> src="<<$nichTanyaPic>>"></center>'
+	nichTanyaPropDate = 0
 	nichTanyaPropSex = 0
 	
 	if nichGalaKnowsPT = 10:
@@ -156,6 +164,7 @@ if $ARGS[0] = 'bedroomTanya':
 		else
 			'As you approach her she greets you with a smile.'
 			nichTanyaPropSex = 1
+			nichTanyaPropDate = 1
 		end
 	elseif nichTanyaOpinion = 10:
 		if nichTanyaFuckLast < daystart - 5:
@@ -166,6 +175,7 @@ if $ARGS[0] = 'bedroomTanya':
 			'As you approach her she greets you with a smile. "Hello sweety. How are you doing?"'
 		end
 		nichTanyaPropSex = 1
+		nichTanyaPropDate = 1
 	elseif nichTanyaOpinion = 20:
 		if nichTanyaFuckCounter > rand(20,30) and nichTanyaFuckToday = 0:
 			'As you approach her she greets you with a smile. She walks over to her bed and sits down on the edge. Apparently she expects you to sit next to her.'
@@ -200,6 +210,7 @@ if $ARGS[0] = 'bedroomTanya':
 		else
 			'As you approach her she greets you with a smile.'
 			nichTanyaPropSex = 1
+			nichTanyaPropDate = 1
 		end
 	end
 	
@@ -225,6 +236,58 @@ if $ARGS[0] = 'bedroomTanya':
 			
 		end
 	end
+	
+	if nichTanyaPropDate = 1 and (nichTanyaDateLast ! daystart or nichDebug = 1):
+		act 'Propose going on a date':
+			cla
+			*nl
+			nichTanyaDateCounter += 1
+			nichTanyaDateLast = daystart
+			'"Hey Tanya. I was wondering if you would like to go out on a date."'
+			'"Sure. That''s a great idea. What would you like to do?"'
+			act 'Let her pick':
+				cla
+				*nl
+				'"I don''t know. How about you?"'
+				if nichTanyaDominance >= 20 and nichTanyaStrapon = 0 and (rand(1,100) <= 50 or nichDebug = 1):
+					'"There is one thing I wanted to do with you for a while. Don''t ask what it is, it''s a surprise."'
+					nichTanyaDate = 100
+				else	
+					nichRand = rand(1,2)
+					if nichRand = 1:
+						'"There is a movie I''d like to see. I think they show it at the nearby movie theatre."'
+						nichTanyaDate = 1
+					else
+						'"Okay. Lets go shopping then."'
+						nichTanyaDate = 2
+					end
+				end
+				act 'Leave with her':
+					gt 'nichTanya','date'
+				end
+			end
+			act 'Movie theatre':
+				cla
+				'"How about watching a movie?"'
+				'"Okay, sounds good. Lets go to the movie theatre then."'
+				nichTanyaDate = 1
+				act 'Leave with her':
+					gt 'nichTanya','date'
+				end
+			end
+			act 'Shopping':
+				cla
+				'"I''d like to go shopping."'
+				'"Great idea. Lets go to the mall then."'
+				nichTanyaDate = 2
+				act 'Leave with her':
+					gt 'nichTanya','date'
+				end
+			end
+		end
+	end
+	
+	killvar 'nichTanyaPropDate'
 	killvar 'nichTanyaPropSex'
 	
 	act 'Talk with her':
@@ -235,6 +298,280 @@ if $ARGS[0] = 'bedroomTanya':
 	act 'Move away':
 		gt $loc
 	end
+elseif $ARGS[0] = 'date':
+	if nichTanyaDate = 1:
+		if nichDateState = 0:
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cinema/cinema.jpg"></center>'
+			'The two of you head over to the cinema at the mall.'
+			'Tanya pays for the tickets and you settle down in your seats. You are alone in the last row.'
+			
+			act 'Watch the movie':
+				nichDateState = 10
+				gt 'nichTanya','date'
+			end
+			
+			act 'Kiss Tanya':
+				nichDateState = 20
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 10:
+			minut += 150
+			gs 'kino','movie'
+			*nl
+			'After the movie is done Tanya smiles at you. "That was fun. But lets go home now."'
+			cla
+			act 'Return to Apartment':
+				nichDateState = 10000
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 20:
+			*clr & cla 
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cinema/sex/kinoKissLesbian1.jpg"></center>'
+			'The light goes dark and the movie starts. You lean over to Tanya and the two of you share a deep kiss.'
+			act 'Go down on her':
+				*clr & cla
+				gs 'arousal', 'cuni_give', -90, 'lesbian'
+				'<center><img <<$set_imgh>> src="images/characters/city/tanya/sexL/arimjob/arimjob1.jpg"></center>'
+				'Making sure that nobody sees you you slip down from your seat.'
+				'Tanya looks a little bit surprised at first. Quickly realizing what you are up to she opens her legs for you.'
+				'You slowly raise her shirt and push her panties aside. She is already a little wet from excitement.'
+				'You decide to go slowly on her, softly kissing, licking and sucking her sex.'
+				'Her breath quickens and her muscles get tense. She lets out a single moan has she cums, trying to keep quite so the other people in the cinema don''t recognize what''s going on.'
+				'You get back on your feet and slip back on your seat. To your surprise you nearly missed all of the movie.'
+				*nl
+				'After the movie is done Tanya smiles at you. "That was fun. But lets go home now."'
+				cla
+				minut += 150
+				act 'Return to Apartment':
+					nichDateState = 10000
+					gt 'nichTanya','date'
+				end
+			end
+			act 'Watch the movie':
+				nichDateState = 10
+				gt 'nichTanya','date'
+			end
+		else
+			killvar 'nichTanyaDate'
+			killvar 'nichDateState'
+			gt 'nichBedroomTanja'
+		end
+	elseif nichTanyaDate = 2:
+		if nichTanyaDateShopping = 0:
+			minut += 120
+			nichTanyaDateShopping += 1
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping1.jpg"></center>'
+			'The two of you go to a shop for young fashion. You take turns trying on clothes and posing for each other.'
+			'You notice that the clothes Tanya puts on get skimpier every time. The last outfit she puts on only consists of high heels, a blue tanga and a revealing white shirt.'
+			'"What do you think? I think you would gorgeous in this."'
+			'"Wait? Me?"'
+			'Tanya laughs out. "Yes. I would really like you to wear it. And look, I even found a matching skirt. Please let me buy this for you."'
+			gs 'clothing_attributes', 'cheap', 415
+			if CloInhibit <= pcs_inhib:
+				act 'Agree':
+					cheap[415] = 1
+					cheapB[415] = pcs_hips
+					cheapH[415] = 70
+					cheapS[415] = 0
+					$clothingworntype = 'cheap'
+					clothingwornnumber = 415
+					cla
+					'"Okay. Thank you, Tanya."'
+					'Tanya smiles at you as she changes back into her own clothes. Then she walks over to the cashier. After she paid for the outfit she returns to you so you can put it on now.'
+					'You put it on. The two of you spend another hour in the mall before returning to the apartment.'
+					act 'Return to the apartment':
+						gt 'nichBedroomTanja'
+					end
+				end
+			end
+			act 'Decline':
+				'"Sorry Tanya, but that''s really not my style."'
+				'She looks a little bit dissapointed.'
+				'The two of you spend another hour in the mall before returning to the apartment.'
+				cla
+				act 'Return to the apartment':
+					gt 'nichBedroomTanja'
+				end
+			end
+		elseif nichTanyaDateShopping = 1:
+			minut += 60
+			nichTanyaDateShopping += 1
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping2.jpg"></center>'
+			'The two of you visit various shops in the mall. One of the shops appears to be aimed at lumberjacks and truckers.'
+			'You take a look a the shirts and wonder why you are here. Then you realize that Tanya went missing. After a quick search you figure out that she must be in one of the chaning rooms.'
+			'"Hey <<$pcs_nickname>>, come in here."'
+			'You step into the room from where Tanyas voice came. She is wearing nothing but her panties and a truckers cap.'
+			'"Aha, there is my girl." she tries to speak with a deeper voice, obviously trying to impersonate a trucker. "Get your hot ass over here." She smacks you on your cheek. "Now let daddy finish changing." She laughs out loudly.'
+			'Once she has put her clothes back on the two of you go back to the apartment.'
+			act 'Return to the apartment':
+				gt 'nichBedroomTanja'
+			end
+		elseif nichTanyaDateShopping = 2:
+			minut += 60
+			nichTanyaDateShopping += 1
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping3a.jpg"></center>'
+			'The two of you visit various shops in the mall. The last shop is an expensive boutique.'
+			'Tanya goes straight to the lingerie department. She collects some items, then she takes you by the hand and leads you to a changing room.'
+			'She strips down and puts the bra and the panties she took on.'
+			if $braworntype = 'boutique' and brawornnumber = 19:
+				'"Hey, I think I took the same bra you are wearing right now. We really have very much in common." She smiles at you.'
+				'After she is done trying out some other clothes she pays for the ones she wants to buy and the two ouf you head back home.'
+				act 'Return to the apartment':
+					gt 'nichBedroomTanja'
+				end
+			else
+				'She squeezes and pushes her breasts a little inside the breastforms.'
+				'"I think I picked the wrong size."'
+				'She turns around and looks at you.'
+				act 'Continue':
+					*clr & cla
+					'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/shopping3b.jpg"></center>'
+					'"I think this bra could fit you. Try it out."'
+					act 'Try it':
+						*nl
+						'Once you put it on Tanya inspects the fit by pressing and pulling it at various spots.'
+						'"How does it feel? I think it''s a perfect fit. I would like to buy it for you. As a gift."'
+						cla
+						act 'Agree':
+							'"That would be great. Thank you, Tanya."'
+							'Tanya beams at you as the both of you put your clothes back on.'
+							'Tanya pays for the bra and also buys the matching panties for you.'
+							'After spending another few minutes visiting another shop the two of you head back to the apartment.'
+							boutique_bras[19] = 1
+							boutique_brasS[19] = 0
+							boutique_panties[31] = 1
+							boutique_pantiesS[31] = 0
+							cla
+							act 'Return to the apartment':
+								gt 'nichBedroomTanja'
+							end
+						end
+					end
+				end
+			end
+		else
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/torgcentr.jpg"></center>'
+			'The two of you go to the mall.'
+			'After spending two hours visiting various shops the two of you return to the apartment.'
+			act 'Return to the apartment':
+				gt 'nichBedroomTanja'
+			end
+		end
+	
+	elseif nichTanyaDate = 100:
+		!! Tanya wants to buy a dildo
+		if nichDateState = 0:
+			minut += 45
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+			'Tanya leads you to the metro. You ask yourself what she is up to, because she usually uses calls a cab if she wants to travel longer distances.'
+			'After a few minutes you arrive at the industrial area of the town. From there Tanya leads you straigth to the Red Light Destrict.'
+			'"Tanya. Where are we going?"'
+			'"Don''t worry. There is a shop I wanted to show you. We can''t go to the ones in the city center because we could run into somebody I know. Ah, there it is."'
+			'She leads you into the local sex shop. It appears as if she has been here before.'
+			act 'Continue':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+				'You inspect the different types of sex toys presented here. Just as you''re starting to wonder what Tanya wants here she points at a shelf which has strap-on of various sizes and forms on it.'
+				'"There it is. I thought it would be fun to fuck you in a whole new way. And I think you should have a say in who your new ''lover'' will be."'
+				'She takes one of the strap-ons in her hand. "This one is called Vlad. How do you like it? Wait, there is one that''s called Igor. It''s a little bigger. Do you think you could handle it? Or how about this one? ''Labaan''. Sounds African. Look how big it is. It''s nearly as long and thick as my arm." She laughs out. "Which one would you prefer?"'
+				act 'Vlad (15 cm)':
+					nichTanyaStrapon = 15
+					'"I think I like Vlad best."'
+					if pcs_vag >= 25:
+						'"Really? I thought you might prefer a bigger one. But okay, I will biy this one then."'
+					else
+						'"Great. I will buy this one then."'
+					end
+					cla
+					act 'Wait for her':
+						nichDateState = 10
+						gt 'nichTanya','date'
+					end
+				end			
+				act 'Igor (25 cm)':
+					nichTanyaStrapon = 25
+					'"I think I like Igor best."'
+					if pcs_vag >= 35:
+						'"Really? I thought you might prefer a bigger one. But okay, I will biy this one then."'
+					else
+						'"Great. I will buy this one then."'
+					end
+					cla
+					act 'Wait for her':
+						nichDateState = 10
+						gt 'nichTanya','date'
+					end
+				end
+				act 'Labaan (35 cm)':
+					nichTanyaStrapon = 35
+					'"I think I like Labaan best."'
+					if pcs_vag <= 25:
+						'"Really? Are you sure? I didn''t think... well, it''s your choice. I will buy it then. Just don''t complain afterwards."'
+					else
+						'"Great. I will buy this one then."'
+					end
+					cla
+					act 'Wait for her':
+						nichDateState = 10
+						gt 'nichTanya','date'
+					end
+				end
+			end
+		elseif nichDateState = 10:
+			minut += 20
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/sexshop/sexshop.jpg"></center>'
+			'Tanya pays for the strap-on and also some items she collected while you were''t paying attention.'
+			'"I think I got everything I need. Lets get back to the appartment."'
+			act 'Return to the appartment':
+				nichDateState = 20
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 20:
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/strapona.jpg"></center>'
+			'Once you are back at Tanyas'' bedroom she tells you to undress and lie on her bed head down.'
+			'She takes out some kind of rope of her shopping bag. One by one she connects your wrists and ankles to the posts of her bed. You are trapped, lieing in a spread position, unable to move.'
+			'The next thing Tanya takes out is a whip. She whips your back for a few minutes.'
+			gs 'arousal', 'foreplay', 5, 'lesbian', 'maso', 'bound', 'sub'
+			act 'Further':
+				nichDateState = 30
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 30:
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/straponb.jpg"></center>'
+			'Tanya puts her whip aside and puts her clothes off. You can''t turn your head enough to see what she is doing exactly but it appears as if she is putting on her new strap-on. She also seems to fasten her favorite vibrator on the inner side.'
+			'"I think this is going to be our favorite toy."'
+			'She probes your holes before generously applying lube on her strap-on.'
+			gs 'arousal', 'foreplay', 5, 'lesbian', 'maso', 'bound', 'sub'
+			act 'Further':
+				nichDateState = 40
+				gt 'nichTanya','date'
+			end
+		elseif nichDateState = 40:	
+			'<center><img <<$set_imgh>> src="images/characters/city/tanya/date/straponc.jpg"></center>'
+			'Tanya mercilessly fucks you for more than ten minutes.'
+			'From your position you can''t see her. You can only feel her hands on your hips and her fake member grinding into you.'
+			dick = nichTanyaStrapon
+			gs 'arousal', 'vaginal_strap', 15, 'lesbian', 'sub'
+			'After a while you hear a breath quicken. She pulls back your head by pulling on your hair. With a deep moan she cums.'
+			'She doens''t untie you for another ten minutes. You feel her lying on your back, her breasts resintg on your shoulders. Finally she unties one of your wrists so you are able to untie the other knots.'
+			
+			minut += 15
+			act 'Finish':
+				gs 'arousal', 'end'
+				killvar 'nichTanyaDate'
+				killvar 'nichDateState'
+				gt 'nichBedroomTanja'
+			end
+		end
+	else
+		!! Catch invalid dates
+		minut += 120
+		'<center><img <<$set_imgh>> src="images/locations/city/centralpark/park.jpg"></center>'
+		'You spend two nice hours with Tanya in the cities central park.'
+		act 'Return to the apartment':
+			gt 'nichBedroomTanja'
+		end
+	end
 	
 elseif $ARGS[0] = 'desc':
 	'<center><img <<$set_imgh>> src="images/characters/city/tanya/01.jpg"></center>'

+ 11 - 2
locations/nichUtil.qsrc

@@ -55,6 +55,16 @@ elseif $ARGS[0] = 'debug':
 			nichTanyaFuckCounter = 6
 			hour = 16
 			gt 'down'
+		elseif $ARGS[2] = 'tanyaDate100':
+			nichWork = 2
+			nichTanyaOpinion = 1
+			nichTanyaFuckCounter = 6
+			nichTanyaDominance = 30
+			nichTanyaStrapon = 0
+			nichGalaKnowsPT = 0
+			hour = 16
+			$loc = 'nichBedroomTanja'
+			gt 'nichTanya','bedroomTanya'
 		end
 	end
 
@@ -71,6 +81,7 @@ elseif $ARGS[0] = 'debug':
 	'<i>The following options will set and change a whole bunch of variables and might transport you to another place. Important: every shortcut has been created with a debug scenario in mind and won''t set/reset every storyline-variable. Expect weird behavior.</i>'
 	'<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''meetTanya''">Meet Tanya</a>: Sets you up to meet Tanya. Go to the dressing room. She is the ''cute girl''. Meeting her has a random chance unless you have activated debug mode.'
 	'<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''getHired''">Get hired</a>: You visited Tanya often enough for her to offer you the job as the live-in maid.'
+	'<a href="exec: gt ''nichUtil'', ''debug'',''shortcut'',''tanyaDate100''">Tanya Special Date 1</a>: Tanya became somewhat dominant. Ask her for a date and let her decide where to go.'
 	*nl
 	
 	'<i><b>Job performance</b></i>'
@@ -550,8 +561,6 @@ if $ARGS[0] = 'tanyaPic':
 			end
 		end
 	end
-	
-	'<<$RESULT>>'
 
 	killvar '$nichTempFolder'
 end

+ 1 - 0
locations/npcstatic2.qsrc

@@ -44,6 +44,7 @@ npctemp = 52
 gs 'npcstaticdefaults', 'defaults'
 $npc_dna['A<<npctemp>>'] = '1571713339 1381421911 1129274296 1580593240 1693511984 1798824352 1655802955'
 $npc_firstname['A<<npctemp>>'] = 'Nicholas'
+$npc_lastname['A<<npctemp>>'] = 'Polyakov'
 $npc_usedname['A<<npctemp>>'] = 'Nicholas'
 npc_cyc['A<<npctemp>>'] = -1
 npc_fert['A<<npctemp>>'] = -1

+ 1 - 1
locations/npcstatic5.qsrc

@@ -741,7 +741,7 @@ $npc_nickname['A<<npctemp>>'] = 'Tanya'
 $npc_lastname['A<<npctemp>>'] = 'Polyakov'
 $npc_usedname['A<<npctemp>>'] = 'Tanya'
 $npc_notes['A<<npctemp>>'] = 'Girl you meet at the city gym'
-npc_dob['A<<npctemp>>'] = 19980207
+npc_dob['A<<npctemp>>'] = 19980622
 npc_cyc['A<<npctemp>>'] = rand(0,29)
 npc_fert['A<<npctemp>>'] = -1
 $npc_firstpart['A<<npctemp>>'] = 'U'

+ 77 - 20
locations/phone_selfies.qsrc

@@ -9,12 +9,12 @@ if $ARGS[0] = 'selfies':
 	clovar = 1
 	undvar = 1
 	nudvar = 1
+	swimvar = 0
 	bathvar = 0
 	showervar = 0
-	
-	!!This variable will switch to bikini for beach selfies
-	$undname = 'underwear'
-	$undnamecap = 'Underwear'
+	titflashvar = 1
+	assflashvar = 1
+	pussyflashvar = 1
 	
 	'<center><h4><font color="maroon">Photo library</font></h4></center>'
 	*nl
@@ -56,19 +56,34 @@ if $ARGS[0] = 'listretrieve':
 			temp_clocnt += 1
 		if temp_clocnt <= temp_total: jump'temp_loop'
 	end
+	
+	!!Loop for swimwear selfies, dynamics set variables as mixing them in loop instructions is bad
+	if swimvar = 1:
+		'<center><b>Swimwear selfies</b></center>'
+		*nl
+		temp_clocnt = 1
+		dynamic 'temp_loop1 = <<$phone_loc>>_swimloop'
+		dynamic 'temp_total = <<$phone_loc>>_swim'
+		:temp_loop1
+			!!setting value to unmixed variable so it can be checked in the if below
+			dynamic '$phone_locval = <<$phone_loc>>_swim[<<temp_clocnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/bikini/<<temp_clocnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/bikini/<<temp_clocnt>>.jpg"     height="150" /></a>  '
+			temp_clocnt += 1
+		if temp_clocnt <= temp_total: jump'temp_loop1'
+	end
 		
 	!!loop for underwear selfies
 	if undvar = 1:
-		'<center><b><<$undnamecap>> selfies</b></center>'
+		'<center><b>Underwear selfies</b></center>'
 		*nl
 		temp_undcnt = 1
-		dynamic 'temp_loop1 = <<$phone_loc>>_undloop'
+		dynamic 'temp_loop2 = <<$phone_loc>>_undloop'
 		dynamic 'temp_total = <<$phone_loc>>_undtot'
-		:temp_loop1
+		:temp_loop2
 			dynamic '$phone_locval = <<$phone_loc>>_undselfie[<<temp_undcnt>>]'
-			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/<<$undname>>/<<temp_undcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/<<$undname>>/<<temp_undcnt>>.jpg"     height="150" /></a>  '
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/underwear/<<temp_undcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/underwear/<<temp_undcnt>>.jpg"     height="150" /></a>  '
 			temp_undcnt += 1
-		if temp_undcnt <= temp_total: jump'temp_loop1'
+		if temp_undcnt <= temp_total: jump'temp_loop2'
 	end
 
 	!!loop for nude selfies
@@ -76,13 +91,13 @@ if $ARGS[0] = 'listretrieve':
 		'<center><b>Nude selfies</b></center>'
 		*nl
 		temp_nudcnt = 1
-		dynamic 'temp_loop2 = <<$phone_loc>>_nudloop'
+		dynamic 'temp_loop3 = <<$phone_loc>>_nudloop'
 		dynamic 'temp_total = <<$phone_loc>>_nudtot'
-		:temp_loop2
+		:temp_loop3
 			dynamic '$phone_locval = <<$phone_loc>>_nudselfie[<<temp_nudcnt>>]'
 			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/nude/<<temp_nudcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/nude/<<temp_nudcnt>>.jpg"     height="150" /></a>  '
 			temp_nudcnt += 1
-		if temp_nudcnt <= temp_total: jump'temp_loop2'
+		if temp_nudcnt <= temp_total: jump'temp_loop3'
 	end
 	
 	!!loop for bath selfies
@@ -90,13 +105,13 @@ if $ARGS[0] = 'listretrieve':
 		'<center><b>Bath selfies</b></center>'
 		*nl
 		temp_bathcnt = 1
-		dynamic 'temp_loop2 = <<$phone_loc>>_bathloop'
+		dynamic 'temp_loop4 = <<$phone_loc>>_bathloop'
 		dynamic 'temp_total = <<$phone_loc>>_bathtot'
-		:temp_loop3
+		:temp_loop4
 			dynamic '$phone_locval = <<$phone_loc>>_bathselfie[<<temp_bathcnt>>]'
 			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/bath/<<temp_bathcnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/bath/<<temp_bathcnt>>.jpg"     height="150" /></a>  '
 			temp_bathcnt += 1
-		if temp_bathcnt <= temp_total: jump'temp_loop3'
+		if temp_bathcnt <= temp_total: jump'temp_loop4'
 	end
 	
 	!!loop for shower selfies
@@ -104,13 +119,55 @@ if $ARGS[0] = 'listretrieve':
 		'<center><b>Shower selfies</b></center>'
 		*nl
 		temp_showercnt = 1
-		dynamic 'temp_loop2 = <<$phone_loc>>_showerloop'
+		dynamic 'temp_loop5 = <<$phone_loc>>_showerloop'
 		dynamic 'temp_total = <<$phone_loc>>_showertot'
-		:temp_loop4
+		:temp_loop5
 			dynamic '$phone_locval = <<$phone_loc>>_showerselfie[<<temp_showercnt>>]'
 			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/shower/<<temp_showercnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/shower/<<temp_showercnt>>.jpg"     height="150" /></a>  '
 			temp_showercnt += 1
-		if temp_showercnt <= temp_total: jump'temp_loop4'
+		if temp_showercnt <= temp_total: jump'temp_loop5'
+	end
+	
+	!!loop for flashing tits selfies
+	if titflashvar = 1:
+		'<center><b>Flashing tits selfies</b></center>'
+		*nl
+		temp_flashtitscnt = 1
+		dynamic 'temp_loop6 = <<$phone_loc>>_titflashloop'
+		dynamic 'temp_total = <<$phone_loc>>_titflash'
+		:temp_loop6
+			dynamic '$phone_locval = <<$phone_loc>>_titflash[<<temp_flashtitscnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/titflash/<<temp_flashtitscnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/titflash/<<temp_flashtitscnt>>.jpg"     height="150" /></a>  '
+			temp_flashtitscnt += 1
+		if temp_flashtitscnt <= temp_total: jump'temp_loop6'
+	end
+	
+	!!loop for flashing ass selfies
+	if assflashvar = 1:
+		'<center><b>Flashing ass selfies</b></center>'
+		*nl
+		temp_flashasscnt = 1
+		dynamic 'temp_loop7 = <<$phone_loc>>_assflashloop'
+		dynamic 'temp_total = <<$phone_loc>>_assflash'
+		:temp_loop7
+			dynamic '$phone_locval = <<$phone_loc>>_assflash[<<temp_flashasscnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/assflash/<<temp_flashasscnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/assflash/<<temp_flashasscnt>>.jpg"     height="150" /></a>  '
+			temp_flashasscnt += 1
+		if temp_flashasscnt <= temp_total: jump'temp_loop7'
+	end
+	
+	!!loop for flashing pussy selfies
+	if pussyflashvar = 1:
+		'<center><b>Flashing pussy selfies</b></center>'
+		*nl
+		temp_flashpussycnt = 1
+		dynamic 'temp_loop8 = <<$phone_loc>>_pussyflashloop'
+		dynamic 'temp_total = <<$phone_loc>>_pussyflash'
+		:temp_loop8
+			dynamic '$phone_locval = <<$phone_loc>>_pussyflash[<<temp_flashpussycnt>>]'
+			if $phone_locval = 1: *p '<a href="exec:view''images/pc/selfies/<<$phone_loc>>/pussyflash/<<temp_flashpussycnt>>.jpg''"><img src="images/pc/selfies/<<$phone_loc>>/pussyflash/<<temp_flashpussycnt>>.jpg"     height="150" /></a>  '
+			temp_flashpussycnt += 1
+		if temp_flashpussycnt <= temp_total: jump'temp_loop8'
 	end
 end
 
@@ -739,8 +796,8 @@ if $ARGS[0] = 'beach':
 	'<center><h4><font color="maroon">Beach selfies</font></h4></center>'
 	$phone_loc = 'beach'
 	clovar = 0
-	$undname = 'bikini'
-	$undnamecap = 'Bikini'
+	undvar = 0
+	swimvar = 1
 	*nl
 	gs 'phone_selfies', 'listretrieve'
 		

+ 13 - 0
locations/pirsingsalon.qsrc

@@ -1,5 +1,18 @@
 # pirsingsalon
 
+!! Piercings variables:
+!! pirsX: Which piercing is worn at position X
+!! X=
+!! A: Tongue
+!! B: Lip
+!! C: Ear
+!! D: Nose
+!! E: Eyebrow
+!! F: Nipple
+!! G: Pussy
+!! N: Navel
+!! pirsX = 10000: the body is pieced at X but no piercing is currently worn there
+
 menu_off = 1
 
 if $ARGS[0] = 'start':

+ 6 - 6
locations/podrsex.qsrc

@@ -51,7 +51,7 @@ if $ARGS[0] = 'suck':
 
 	if pdsxbj = 0: pdsxbj = 1
 
-	'<center><img <<$set_imgh>> src="images/locations/shared/sex/sexdvanadva/minet<<picrand>>.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/shared/sex/pod/minet<<picrand>>.jpg"></center>'
 	'You look the other girl deep in the eyes while the two of you suck the man''s cock, touching her tongue with yours when you reach it around his shaft. Then the two of you take turns sucking him off enthusiastically, while the other licks his balls.'
 	
 	gs 'arousal', 'bj', 10, 'sub', 'group'
@@ -69,7 +69,7 @@ if $ARGS[0] = 'suck':
 	if sexvar > 0:xgt 'podrsex', 'var'
 	if sexvar = 0:
 		*clr
-		'<br><center><img <<$set_imgh>> src="images/locations/shared/sex/sexdvanadva/cum<<picrand>>.jpg"></center>'
+		'<br><center><img <<$set_imgh>> src="images/locations/shared/sex/pod/cum<<picrand>>.jpg"></center>'
 		spafinloc = 12
 		gs 'cum_manage'
 		gs 'podrsex', 'end'
@@ -88,7 +88,7 @@ if $ARGS[0] = 'pussy':
 	
 	if pdsxsex = 0: pdsxsex = 1
 
-	'<center><img <<$set_imgh>> src="images/locations/shared/sex/sexdvanadva/uvag<<picrand>>.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/shared/sex/pod/uvag<<picrand>>.jpg"></center>'
 	'The man eagerly penetrates your pussy, and begins to thrust his length inside you over and over bringing you pleasure.'
 	
 	gs 'arousal', 'vaginal', 10, 'sub', 'group'
@@ -118,7 +118,7 @@ if $ARGS[0] = 'ass':
 
 	if pdsxanal = 0: pdsxanal = 1
 
-	'<center><img <<$set_imgh>> src="images/locations/shared/sex/sexdvanadva/uanal<<picrand>>.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/shared/sex/pod/uanal<<picrand>>.jpg"></center>'
 	'The man slowly works the tip of his cock inside your ass, and halts for a moment so you can get used to the sensation. Then he begins to thrust his length inside you, fucking you more and more intensely with less regard for your feelings and more for his own pleasure.'
 	
 	gs 'arousal', 'anal', 10, 'sub', 'group'
@@ -155,7 +155,7 @@ if $ARGS[0] = 'voy':
 	end
 	if rand(0,1) = 0:
 		pos = 4
-		'<center><img <<$set_imgh>> src="images/locations/shared/sex/sexdvanadva/vag<<picrand>>.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/shared/sex/pod/vag<<picrand>>.jpg"></center>'
 		'While the other girl is enjoying getting her pussy fucked, you find that she''ll do whatever you want her to do. She eagerly licks your pussy when you put it on her mouth, and lap up her sweet juices while the guy rams his cock inside her repeatedly.'
 		
 		gs 'arousal', 'cuni', 10, 'lesbian', 'dom', 'group'
@@ -163,7 +163,7 @@ if $ARGS[0] = 'voy':
 		
 	else
 		pos = 5
-		'<center><img <<$set_imgh>> src="images/locations/shared/sex/sexdvanadva/anal<<picrand>>.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/shared/sex/pod/anal<<picrand>>.jpg"></center>'
 		'While the other girl is enjoying getting her ass fucked, you find that she''ll do whatever you want her to do. She eagerly licks your pussy when you put it on her mouth, and lap up her sweet juices while the guy rams his cock inside her repeatedly.'
 	
 		gs 'arousal', 'cuni', 10, 'lesbian', 'dom', 'group'

+ 39 - 0
locations/saveupdater.qsrc

@@ -411,5 +411,44 @@ if arrsize('$bodimgsets') = 30:
 	$bodimgsets[39] = 'default_preg'
 end
 
+!! reorganizes old spell variables into new arrrays
+if spell_update ! 1:
+	spell_update = 1
+
+	if spelltuman = 1:spellKnown['fog'] = 1
+	if spellklon = 1:spellKnown['clone'] = 1
+	if spellstun = 1:spellKnown['stun'] = 1
+	if spellweap = 1:spellKnown['weapon'] = 1
+	if spellwind = 1:spellKnown['wind'] = 1
+	if spellklon2 = 1:spellKnown['multiclone'] = 1
+	if spellinit = 1:spellKnown['haste'] = 1
+	if spellhel = 1:spellKnown['heal'] = 1
+	if spellfire0 = 1:spellKnown['scaldingtouch'] = 1
+	if spellfire2 = 1:spellKnown['burninghands'] = 1
+	if spellfire3 = 1:spellKnown['firebarrier'] = 1
+	if spellfire4 = 1:spellKnown['firestorm'] = 1
+	if spellfire5 = 1:spellKnown['flameshield'] = 1
+	if spellele0 = 1:spellKnown['shock'] = 1
+	if spellele2 = 1:spellKnown['lightning'] = 1
+	if spellele3 = 1:spellKnown['electricbarrier'] = 1
+	if spellele4 = 1:spellKnown['1000birds'] = 1
+	if spellele5 = 1:spellKnown['dancingsphere'] = 1
+	if spellert0 = 1:spellKnown['quicksand'] = 1
+	if spellert2 = 1:spellKnown['earthshield'] = 1
+	if spellert3 = 1:spellKnown['abyss'] = 1
+	if spellert4 = 1:spellKnown['earthguardian'] = 1
+	if spellert5 = 1:spellKnown['sando'] = 1
+	if spellwind0 = 1:spellKnown['windgust'] = 1
+	if spellwind2 = 1:spellKnown['pressure'] = 1
+	if spellwind3 = 1:spellKnown['vacuum'] = 1
+	if spellwind4 = 1:spellKnown['vacuumshells'] = 1
+	if spellwind5 = 1:spellKnown['devouringvacuum'] = 1
+	if spellwater0 = 1:spellKnown['leechmana'] = 1
+	if spellwater2 = 1:spellKnown['flood'] = 1
+	if spellwater3 = 1:spellKnown['blister'] = 1
+	if spellwater4 = 1:spellKnown['sharkrockets'] = 1
+	if spellwater5 = 1:spellKnown['greatflood'] = 1
+end
+
 --- saveupdater ---------------------------------
 

+ 10 - 2
locations/street_event.qsrc

@@ -125,6 +125,10 @@ if money >= 2500:
 	end
 end
 
+!!The chance to get robbed is capped at 10%
+if streetev_rob > 10: streetev_rob = 10
+if streetev_hijack > 10: streetev_hijack = 10
+
 if $ARGS[1] = 'extras':
 	if rand(0, 100) < streetev_bf and pcs_lover < 3 and streetbfhour ! hour:
 		streetbfhour = hour
@@ -498,7 +502,7 @@ if $ARGS[1] = 'main':
 	end
 
 	streetrand = rand(0, 100)
-	if streetrand < streetev_rob and daystart >= 10 and (hour < 6 or hour >= 20) and streetev_day ! daystart and bag = 1:
+	if streetrand < streetev_rob and daystart >= 10 and (hour < 6 or hour >= 20) and streetev_day ! daystart and bag = 1 and streetev_rob_day ! daystart:
 		*clr & cla
 		menu_off = 1
 		streetev_day = daystart
@@ -589,11 +593,13 @@ if $ARGS[1] = 'main':
 			end
 		end
 		exit
+	elseif streetrand >= streetev_rob and daystart >= 10 and (hour < 6 or hour >= 20) and streetev_day ! daystart and bag = 1 and streetev_rob_day ! daystart:
+		streetev_rob_day = daystart
 	end
 
 	streetrand = rand(0, 100)
 
-	if streetrand < streetev_hijack and daystart >= 10 and hour >= 6 and hour < 20 and streetev_day ! daystart and bag = 1:
+	if streetrand < streetev_hijack and daystart >= 10 and hour >= 6 and hour < 20 and streetev_day ! daystart and bag = 1 and streetev_hijack_day ! daystart:
 		*clr & cla
 		menu_off = 1
 		gs'stat'
@@ -644,6 +650,8 @@ if $ARGS[1] = 'main':
 			end
 		end
 		exit
+	elseif streetrand >= streetev_hijack and daystart >= 10 and (hour < 6 or hour >= 20) and streetev_day ! daystart and bag = 1 and streetev_hijack_day ! daystart:
+		streetev_hijack_day = daystart
 	end
 
 	!!end of old random street events that can always happen

+ 136 - 27
locations/telefon.qsrc

@@ -309,7 +309,7 @@ if $ARGS[0] = 'lover' and loverGender[ARGS[1]] = 0:
 						'<<$loverdesc[lover_number]>>, "This is wonderful! We have to celebrate!"'
 						'You start talking about living together. <<$loverdesc[lover_number]>> tells you that he is not against it in principle, but first he wants you to meet his parents.'
 						'He warns you that his mother is very demanding and rigorous. <<$loverdesc[lover_number]>> says that he loves his mother and does not want to upset her. Therefore, you must look gorgeous, wear a dress from a boutique, have well-groomed and curled hair and makeup in moderation.'
-						'When you are totally ready <<$loverdesc[lover_number]>> will take you to their parents.'
+						'When you are totally ready <<$loverdesc[lover_number]>> will take you to his parents.'
 
 						act 'Hang up':gt 'telefon', 'fin'
 
@@ -773,28 +773,52 @@ if $ARGS[0] = 'Phone_selfie_totals':
 	bathroom_clotot = 20
 	bathroom_undtot = 20
 	bathroom_nudtot = 20
+	bathroom_titflash = 10
+	bathroom_assflash = 10
+	bathroom_pussyflash = 10
 	bathroom_bathtot = 24
 	bathroom_showertot = 25
 	bedroom_clotot = 27
 	bedroom_undtot = 20
-	bedroom_nudtot = 20
+	bedroom_nudtot = 25
+	bedroom_titflash = 30
+	bedroom_assflash = 4
+	bedroom_pussyflash = 14
 	kitchen_clotot = 16
 	kitchen_undtot = 11
-	kitchen_nudtot = 20
+	kitchen_nudtot = 19
+	kitchen_titflash = 19
+	kitchen_assflash = 1
+	kitchen_pussyflash = 5
 	livingroom_clotot = 17
 	livingroom_undtot = 21
-	livingroom_nudtot = 21
+	livingroom_nudtot = 14
+	livingroom_titflash = 5
+	livingroom_assflash = 2
+	livingroom_pussyflash = 2
 	changingroom_clotot = 19
 	changingroom_undtot = 25
-	changingroom_nudtot = 21
+	changingroom_nudtot = 25
+	changingroom_titflash = 28
+	changingroom_assflash = 14
+	changingroom_pussyflash = 27
 	park_clotot = 28
 	park_undtot = 0
-	park_nudtot = 18
+	park_nudtot = 10
+	park_titflash = 13
+	park_assflash = 1
+	park_pussyflash = 4
 	lockeroom_clotot = 21
 	lockeroom_undtot = 16
-	lockeroom_nudtot = 14
+	lockeroom_nudtot = 6
+	lockeroom_titflash = 9
+	lockeroom_assflash = 1
+	lockeroom_pussyflash = 10
 	beach_swim = 21
-	beach_nudtot = 22
+	beach_nudtot = 15
+	beach_titflash = 11
+	beach_assflash = 1
+	beach_pussyflash = 2
 end
 
 
@@ -828,6 +852,9 @@ if $ARGS[0] = 'Phone_camera_selfie':
 	elseif $locclass = 'lockeroom':
 		$phone_loc = 'lockeroom'
 		gs 'telefon', 'Phone_selfie_image'
+	elseif $locclass = 'beach':
+		$phone_loc = 'beach'
+		gs 'telefon', 'Phone_selfie_image'
 	else
 		phone_rand = RAND(1,2)
 		phone_selfie[phone_rand] = 1
@@ -841,26 +868,57 @@ end
 
 !!taking selfies, this chooses a random image for the location for clothed, underwear and nude
 if $ARGS[0] = 'Phone_selfie_image':
-	if $clothingworntype ! 'nude':
-		!!changing to and unmixed variable so the rng will work
-		dynamic 'temp_clotot = <<$phone_loc>>_clotot'
-		phone_rand = rand(1,temp_clotot)
-		!!Setting the image owned flag to 1
-		dynamic '<<$phone_loc>>_closelfie[<<phone_rand>>] = 1'
-		gs 'stat'
-		view 'images/pc/selfies/<<$phone_loc>>/clothed/<<phone_rand>>.jpg'
-	elseif $pantyworntype ! 'none':
-		dynamic 'temp_undtot = <<$phone_loc>>_undtot'
-		phone_rand = rand(1,temp_undtot)
-		dynamic '<<$phone_loc>>_undselfie[<<phone_rand>>] = 1'
-		gs 'stat'
-		view 'images/pc/selfies/<<$phone_loc>>/underwear/<<phone_rand>>.jpg'
+	if $flashing = '':
+		if $clothingworntype = 'swimwear':
+			!!changing to and unmixed variable so the rng will work
+			dynamic 'temp_swim = <<$phone_loc>>_swim'
+			phone_rand = rand(1,temp_swim)
+			!!Setting the image owned flag to 1
+			dynamic '<<$phone_loc>>_swim[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/bikini/<<phone_rand>>.jpg'
+		elseif $clothingworntype ! 'nude':
+			!!changing to and unmixed variable so the rng will work
+			dynamic 'temp_clotot = <<$phone_loc>>_clotot'
+			phone_rand = rand(1,temp_clotot)
+			!!Setting the image owned flag to 1
+			dynamic '<<$phone_loc>>_closelfie[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/clothed/<<phone_rand>>.jpg'
+		elseif $pantyworntype ! 'none':
+			dynamic 'temp_undtot = <<$phone_loc>>_undtot'
+			phone_rand = rand(1,temp_undtot)
+			dynamic '<<$phone_loc>>_undselfie[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/underwear/<<phone_rand>>.jpg'
+		else
+			dynamic 'temp_nudtot = <<$phone_loc>>_nudtot'
+			phone_rand = rand(1,temp_nudtot)
+			dynamic '<<$phone_loc>>_nudselfie[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/nude/<<phone_rand>>.jpg'
+		end
 	else
-		dynamic 'temp_nudtot = <<$phone_loc>>_nudtot'
-		phone_rand = rand(1,temp_nudtot)
-		dynamic '<<$phone_loc>>_nudselfie[<<phone_rand>>] = 1'
-		gs 'stat'
-		view 'images/pc/selfies/<<$phone_loc>>/nude/<<phone_rand>>.jpg'
+		if $flashing = 'tits':
+			dynamic 'temp_titflash = <<$phone_loc>>_titflash'
+			phone_rand = rand(1,temp_titflash)
+			dynamic '<<$phone_loc>>_titflash[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/titflash/<<phone_rand>>.jpg'
+		elseif $flashing = 'ass':
+			dynamic 'temp_assflash = <<$phone_loc>>_assflash'
+			phone_rand = rand(1,temp_assflash)
+			dynamic '<<$phone_loc>>_assflash[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/assflash/<<phone_rand>>.jpg'
+		elseif $flashing = 'pussy':
+			dynamic 'temp_pussyflash = <<$phone_loc>>_pussyflash'
+			phone_rand = rand(1,temp_pussyflash)
+			dynamic '<<$phone_loc>>_pussyflash[<<phone_rand>>] = 1'
+			gs 'stat'
+			view 'images/pc/selfies/<<$phone_loc>>/pussyflash/<<phone_rand>>.jpg'
+		end
+		$flashing = ''
 	end
 end
 
@@ -888,14 +946,65 @@ end
 !!for taking photos - only selfies for now
 if $ARGS[0] = 'Phone_camera':
 	clr
+	if $location_type = 'bathroom':
+		$phone_loc = 'bathroom'
+	elseif $locclass = 'bedr':
+		$phone_loc = 'bedroom'
+	elseif $locclass = 'kitr':
+		$phone_loc = 'kitchen'
+	elseif $locclass = 'livingr':
+		$phone_loc = 'livingroom'
+	elseif $locclass = 'changingroom':
+		$phone_loc = 'changingroom'
+	elseif $locclass = 'park':
+		$phone_loc = 'park'
+	elseif $locclass = 'lockeroom':
+		$phone_loc = 'lockeroom'
+	elseif $locclass = 'beach':
+		$phone_loc = 'beach'
+	end
 	pl '<center><b><<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>></b></center>'
 	pl '<center><TABLE cellspacing="0" width="80%"><TR><TD><img src="images/system/icon/icon_statusbar_left.png"></TD><TD></TD><TD align="right"><img src="images/system/icon/icon_statusbar_right.png"></TD></TR></TABLE></center>'
 	pl'<center><font size=6>Camera</font></center>'
 	pl'<center><img src="<<FUNC(''$phone_theme'')>>icon_camera.png" height="80" width="80"><br></center>'
+	!! Take a selfie depending on which clothes you are wearing
 	pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''Phone_camera_selfie'' "><b>Take a selfie</b></a>'
+	!! Flashing selfie
+	if $clothingworntype ! 'nude' and ($phone_loc = 'bathroom' or $phone_loc = 'bedroom' or $phone_loc = 'kitchen' or $phone_loc = 'livingroom' or $phone_loc = 'changingroom' or $phone_loc = 'park' or $phone_loc = 'lockeroom' or $phone_loc = 'beach'):
+		if $phone_loc = 'bedroom' or $phone_loc = 'bathroom':
+			pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''titflash'' "><b>Flash your tits for a selfie</b></a>'
+			pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''assflash'' "><b>Flash your ass for a selfie</b></a>'
+			pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''pussyflash'' "><b>Flash your pussy for a selfie</b></a>'
+		else
+			if pcs_inhib >= 35 or exhibitionist_lvl > 0:
+				pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''titflash'' "><b>Flash your tits for a selfie</b></a>'
+			end
+			if exhibitionist_lvl > 0:
+				pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''assflash'' "><b>Flash your ass for a selfie</b></a>'
+			end
+			if exhibitionist_lvl > 1:
+				pl'<a href="exec:photoskl_exp += 1 & gs ''telefon'', ''pussyflash'' "><b>Flash your pussy for a selfie</b></a>'
+			end
+		end
+	end
 	pl'<center><a href="exec:gs ''telefon'', ''Phone_menu'' "><img src="images/system/icon/back.png"></a></center>'
 end
 
+if $ARGS[0] = 'titflash':
+	$flashing = 'tits'
+	gs 'telefon', 'Phone_camera_selfie'
+end
+
+if $ARGS[0] = 'assflash':
+	$flashing = 'ass'
+	gs 'telefon', 'Phone_camera_selfie'
+end
+
+if $ARGS[0] = 'pussyflash':
+	$flashing = 'pussy'
+	gs 'telefon', 'Phone_camera_selfie'
+end
+
 !!-----------------------------------end of Camera------------------------------------------
 
 if $ARGS[0] = 'Phone_wheather':

+ 4 - 5
locations/therapist.qsrc

@@ -170,7 +170,7 @@ if $ARGS[0] = 'hypno':
 			$session = 'You will feel more confident. You are smart, beautiful, and if other people has other opinions, that is their problem. You know what you want, and do not fear to act upon your desires."<br>...<br>...<br>..."'
 		elseif $therapy = 'dominance':
 			pcs_dom += rand(1,2)
-			$session = 'You like to do what you want to do. It pleases you if people do what you tell them to do, or act according to your wishes, and you like to couse them pleasure this way. You have to be in control constantly, but that means others around you can relax."<br>...<br>...<br>..."'
+			$session = 'You like to do what you want to do. It pleases you if people do what you tell them to do, or act according to your wishes, and you like to cause them pleasure this way. You have to be in control constantly, but that means others around you can relax."<br>...<br>...<br>..."'
 		elseif $therapy = 'submission':
 			sub += rand(1,2)
 			$session = 'You want to be told what to do and what to think, what to feel and whom to please. Obeying others pleases you because it pleases them, and for a while you do not have to take responsibility for your actions."<br>...<br>...<br>..."'
@@ -437,7 +437,7 @@ if $ARGS[0] = 'hypnoEnd':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/therapist/room.jpg"></center>'
 	'<font color=brown>"All right, <i>Cunt</i>, now listen to me. You will not remember any of this. You do not feel any discomfort from any of our activities, and you do not notice anything related to what happened here. No taste, no smell, no aches, no fluids. Nothing. You will not respont to Cunt while you are Awake, just while you are Under. You will wake up feeling good, but responsive to all of my commands. Understand, <i>Cunt</i>?"'
 	'"Yes, <i>Master</i>."'
-	'"Oh, I almost forgotten. While you are Awake, you will call me Dr. Pavlov, you will not have any desire to call me Master. Now, you are sitting in the black room. Stand up, and start walking through the door. As you close the door of the black room, you forget..."</font>'
+	'"Oh, I almost forgot. While you are Awake, you will call me Dr. Pavlov, you will not have any desire to call me Master. Now, you are sitting in the black room. Stand up, and start walking through the door. As you close the door of the black room, you forget..."</font>'
 	'...'
 	'...'
 	if hypnoTime < 4:
@@ -474,10 +474,9 @@ if $ARGS[0] = 'hypnoEnd':
 		pcs_horny = 60
 		'When you wake up, you see your therapist fixing his shirt.'
 		'"Miss <<$pcs_lastname>>, how do you feel right now?"'
-		'Without hesitation, you reply.'
-		'"I feel wounderful, Dr. Pavlov."'
+		'Without hesitation, you reply, "I feel wounderful, Dr. Pavlov."'
 		'"Good, just as expected," nods the doctor, as he escorts you out of his office.'
-		'You feel aroused, and you try to close your legs as you walk out, unconsciously trying to keep you psychologist''s sperm inside your <<$cumdesciption3>> as long as possible.'
+		'You feel aroused, and you try to close your legs as you walk out, unconsciously trying to keep your psychologist''s sperm inside your <<$cumdesciption3>> as long as possible.'
 	end
 	'The doctor smiles jovially, his hand on your shoulder as he slowly escort you out of his office.'
 	'"Please, visit me again if you have any further problems, I will be glad to help!" Says Dr. Pavlov as a goodbye, taking your hands in his, patting them, then closes his door.'