1
0
Эх сурвалжийг харах

Merge remote-tracking branch 'keving-upstream/master'

netuttki 6 сар өмнө
parent
commit
ed55eaad2e
100 өөрчлөгдсөн 3041 нэмэгдсэн , 3843 устгасан
  1. 34 32
      glife.qproj
  2. 2 2
      locations/AppearanceSystem.qsrc
  3. 55 63
      locations/BDSM_training.qsrc
  4. 160 88
      locations/Cheatmenu_din.qsrc
  5. 5 5
      locations/Cum_Manage.qsrc
  6. 9 9
      locations/FedorEv.qsrc
  7. 2 2
      locations/FedorEv2.qsrc
  8. 4 10
      locations/FedorMisc.qsrc
  9. 2 1
      locations/HotelRoom.qsrc
  10. 1 1
      locations/JuliaMilHome.qsrc
  11. 31 59
      locations/KatjaHomeTalk.qsrc
  12. 2 1
      locations/Katlake.qsrc
  13. 189 82
      locations/Komp.qsrc
  14. 0 1
      locations/LakeBoyZ.qsrc
  15. 1 1
      locations/LariskaHome.qsrc
  16. 31 70
      locations/MagEncounterFairy.qsrc
  17. 1 1
      locations/MartinTalk.qsrc
  18. 1 1
      locations/NikoEv2.qsrc
  19. 2 2
      locations/NikoWhore.qsrc
  20. 1 1
      locations/Prostitute.qsrc
  21. 2 2
      locations/RimmaSexQW.qsrc
  22. 109 1
      locations/SMStext_builder.qsrc
  23. 1 1
      locations/Vika.qsrc
  24. 1 0
      locations/_attributes_cats_dress.qsrc
  25. 1 1
      locations/_attributes_danilovich_panties.qsrc
  26. 1 2
      locations/abduction.qsrc
  27. 2 0
      locations/albina_election_events.qsrc
  28. 1 0
      locations/albina_house_events.qsrc
  29. 1 2
      locations/albina_wine_event.qsrc
  30. 1 2
      locations/albinahome.qsrc
  31. 39 29
      locations/anush_bedroom.qsrc
  32. 36 16
      locations/anush_bedroom_city.qsrc
  33. 5 3
      locations/anushapt.qsrc
  34. 61 57
      locations/anushaptbr.qsrc
  35. 3 5
      locations/anushka.qsrc
  36. 118 62
      locations/anushkachat.qsrc
  37. 117 94
      locations/anushkachat_city.qsrc
  38. 2 3
      locations/anushkaev2.qsrc
  39. 174 202
      locations/arousal.qsrc
  40. 1 1
      locations/artem_sex.qsrc
  41. 1 1
      locations/artemhome.qsrc
  42. 1 1
      locations/audition_sex3.qsrc
  43. 1 3
      locations/auditions_minor1.qsrc
  44. 1 1
      locations/balkon.qsrc
  45. 27 3
      locations/ballet_npc.qsrc
  46. 205 208
      locations/ballet_secrets.qsrc
  47. 1 1
      locations/band_tour_anushka_SMS.qsrc
  48. 1 1
      locations/bass.qsrc
  49. 2 2
      locations/bdsm_ballroom.qsrc
  50. 1 1
      locations/bdsm_basement.qsrc
  51. 1 1
      locations/bdsm_bathrooms.qsrc
  52. 27 55
      locations/bdsm_bedeast.qsrc
  53. 4 4
      locations/bdsm_bedwest.qsrc
  54. 2 2
      locations/bdsm_conservatory.qsrc
  55. 1 2
      locations/bdsm_dining.qsrc
  56. 26 2
      locations/bdsm_dressing.qsrc
  57. 1 1
      locations/bdsm_gameroom.qsrc
  58. 1 1
      locations/bdsm_garden.qsrc
  59. 24 63
      locations/bdsm_hallway.qsrc
  60. 4 3
      locations/bdsm_kitchen.qsrc
  61. 24 44
      locations/bdsm_landing.qsrc
  62. 0 27
      locations/bdsm_library.qsrc
  63. 0 17
      locations/bdsm_livingroom.qsrc
  64. 124 152
      locations/bdsm_mansion.qsrc
  65. 1 0
      locations/bedr2x.qsrc
  66. 57 36
      locations/bedrPar.qsrc
  67. 41 27
      locations/bedrPar2.qsrc
  68. 2 2
      locations/beg.qsrc
  69. 101 101
      locations/beg1.qsrc
  70. 478 0
      locations/blackmailer.qsrc
  71. 141 85
      locations/body.qsrc
  72. 5 3
      locations/body_desc.qsrc
  73. 23 26
      locations/body_structure.qsrc
  74. 0 11
      locations/booty_call.qsrc
  75. 1 1
      locations/bordel.qsrc
  76. 2 2
      locations/boy_updater.qsrc
  77. 167 107
      locations/boygirl.qsrc
  78. 12 13
      locations/brothel.qsrc
  79. 2 1
      locations/brother_shower_sex.qsrc
  80. 38 34
      locations/brother_voyeur.qsrc
  81. 0 1625
      locations/brother_voyeur_sex.qsrc
  82. 40 39
      locations/bus.qsrc
  83. 1 2
      locations/bus_incidental.qsrc
  84. 3 3
      locations/casino.qsrc
  85. 7 56
      locations/cikl.qsrc
  86. 14 22
      locations/city_bobka.qsrc
  87. 1 1
      locations/city_center.qsrc
  88. 3 3
      locations/city_church.qsrc
  89. 145 53
      locations/city_clinic.qsrc
  90. 23 23
      locations/city_drugden.qsrc
  91. 4 6
      locations/city_experimental_trials_events.qsrc
  92. 1 1
      locations/city_house_res_misc.qsrc
  93. 4 2
      locations/city_kafe.qsrc
  94. 5 7
      locations/city_library.qsrc
  95. 2 2
      locations/city_mansion_entrance.qsrc
  96. 1 1
      locations/city_mansion_residence_2.qsrc
  97. 1 1
      locations/city_mansion_residence_3.qsrc
  98. 11 19
      locations/city_nightclub.qsrc
  99. 13 15
      locations/city_park.qsrc
  100. 2 2
      locations/city_redlight.qsrc

+ 34 - 32
glife.qproj

@@ -85,6 +85,7 @@
 	<Folder name="Sleep">
 		<Location name="pre_sleep"/>
 		<Location name="pre_sleep_events"/>
+		<Location name="sleep_reflections"/>
 		<Location name="dream_events"/>
 		<Location name="sleep"/>
 		<Location name="sleep_simple"/>
@@ -354,6 +355,7 @@
 		<Location name="taxi"/>
 		<Location name="events"/>
 		<Location name="flash"/>
+		<Location name="blackmailer"/>
 		<Location name="street_event"/>
 		<Location name="rape_events"/>
 		<Location name="fame_events"/>
@@ -387,7 +389,6 @@
 		<Location name="bdsm_dressing"/>
 		<Location name="bdsm_landing"/>
 		<Location name="bdsm_dining"/>
-		<Location name="bdsm_library"/>
 		<Location name="bdsm_ballroom"/>
 		<Location name="bdsm_garden"/>
 		<Location name="bdsm_conservatory"/>
@@ -396,7 +397,6 @@
 		<Location name="bdsm_bedwest"/>
 		<Location name="bdsm_bedeast"/>
 		<Location name="bdsm_gameroom"/>
-		<Location name="bdsm_livingroom"/>
 		<Location name="bdsm_bathrooms"/>
 	</Folder>
 	<Folder name="Trade Representative">
@@ -460,12 +460,15 @@
 		<Location name="pav_aptcourtev"/>
 		<Location name="pod_ezd"/>
 		<Location name="praiders_garage"/>
+		<Location name="praiders_garage_chat"/>
+		<Location name="praiders_garage_events"/>
 		<Location name="praiders_garageev1"/>
 		<Location name="pod_whore"/>
 		<Location name="gopsex"/>
 		<Location name="misha"/>
 	</Folder>
 	<Folder name="Home-Parent's Apartment">
+		<Location name="home_family_init"/>
 		<Location name="bedrPar"/>
 		<Location name="bedrPar2"/>
 		<Location name="sitrPar"/>
@@ -494,7 +497,6 @@
 		<Location name="brother"/>
 		<Location name="brother2"/>
 		<Location name="brother_voyeur"/>
-		<Location name="brother_voyeur_sex"/>
 		<Location name="brother_shower_sex"/>
 		<Location name="brother_lessons"/>
 		<Location name="seeporn"/>
@@ -625,8 +627,8 @@
 		<Location name="fbDormD"/>
 		<Location name="fbGar"/>
 		<Location name="zsoft_gopskverGorSlut"/>
-        <Location name="pav_park_meet_event"/>
-        <Location name="pav_park_meet_kol_event"/>
+		<Location name="pav_park_meet_event"/>
+		<Location name="pav_park_meet_kol_event"/>
 	</Folder>
 	<Folder name="Employment Systems">
 		<Location name="emp_functions"/>
@@ -833,6 +835,7 @@
 		<Location name="podezdM"/>
 		<Location name="sexm"/>
 		<Location name="dateM"/>
+		<Location name="dateF"/>
 		<Location name="kinoM"/>
 		<Location name="parkM"/>
 		<Location name="kafeM"/>
@@ -843,6 +846,24 @@
 		<Location name="brosok"/>
 		<Location name="gossips"/>
 	</Folder>
+	<Folder name="Boys">
+		<Location name="BDman"/>
+		<Location name="BDsex"/>
+		<Location name="boyfrend"/>
+		<Location name="boylove"/>
+	</Folder>
+	<Folder name="Lover">
+		<Location name="boygirl"/>
+		<Location name="girlfriend"/>
+		<Location name="lover"/>
+		<Location name="lover_change"/>
+		<Location name="lover_likes"/>
+		<Location name="lover_love"/>
+		<Location name="lover_meet"/>
+		<Location name="lover_pref"/>
+		<Location name="lover_pronouns"/>
+		<Location name="pronouns"/>
+	</Folder>
 	<Folder name="Salon">
 		<Location name="salon"/>
 		<Location name="masseuse_work"/>
@@ -886,36 +907,16 @@
 		<Location name="pornhist"/>
 		<Location name="pornschedule"/>
 	</Folder>
-	<Folder name="Boys">
-		<Location name="BDman"/>
-		<Location name="BDsex"/>
-		<Location name="boy"/>
-		<Location name="boyfrend"/>
-		<Location name="boylove"/>
-	</Folder>
 	<Folder name="music">
 		<Location name="music_actions"/>
 		<Location name="music_bedroompractice"/>
 		<Location name="music_onlinemusic"/>
- 		<Location name="music_gigstarts"/>
-   		<Location name="music_guitarlesson"/>
-   		<Location name="music_buskingevents"/>
+		<Location name="music_gigstarts"/>
+		<Location name="music_guitarlesson"/>
+		<Location name="music_buskingevents"/>
 		<Location name="music_delparco"/>
 		<Location name="music_checks"/>
 	</Folder>
-	<Folder name="Lover">
-		<Location name="girl"/>
-		<Location name="girlfriend"/>
-		<Location name="dateF"/>
-		<Location name="lover"/>
-		<Location name="lover_change"/>
-		<Location name="lover_likes"/>
-		<Location name="lover_love"/>
-		<Location name="lover_meet"/>
-		<Location name="lover_pref"/>
-		<Location name="lover_pronouns"/>
-		<Location name="pronouns"/>
-	</Folder>
 	<Folder name="City Center">
 		<Location name="city_center"/>
 		<Location name="city_train"/>
@@ -1048,6 +1049,7 @@
 	<Folder name="University">
 		<Location name="uni_grounds"/>
 		<Location name="uni_dorm"/>
+		<Location name="uni_dorm_events"/>
 		<Location name="uni_admin"/>
 		<Location name="uni_cafe"/>
 		<Location name="uni_library"/>
@@ -1233,8 +1235,8 @@
 	</Folder>
 	<Folder name="Quest">
 		<Location name="qwIzoldaApp"/>
-		<Location name="qwloc"/>
-		<Location name="qwmeet"/>
+		<Location name="vladimirQW_loc"/>
+		<Location name="vladimirQW_meet"/>
 	</Folder>
 	<Folder name="Game Menu">
 		<Location name="$menu_setting"/>
@@ -1307,6 +1309,7 @@
 		<Location name="HotelRoom"/>
 		<Location name="hotel_anna"/>
 		<Location name="hotel_anna_gear"/>
+		<Location name="hotel_anna_sex"/>
 	</Folder>
 	<Folder name="Vasily">
 		<Location name="vasilyhome"/>
@@ -1339,8 +1342,7 @@
 		<Location name="rasputin_show_var"/>
 		<Location name="exhibitionistshop"/>
 		<Location name="kseniyaQW"/>
-		<Location name="parks"/>
-		<Location name="lug"/>
+		<Location name="pushkin_parks"/>
 		<Location name="dibodi"/>
 		<Location name="city_suburbs"/>
 		<Location name="din_pav"/>

+ 2 - 2
locations/AppearanceSystem.qsrc

@@ -141,9 +141,9 @@ if $ARGS[0] = 'SetBodyShapeBonus':
 		tempBodyShapeBonus = func('body_structure', 'appearance_bonus')
 
 		!!This modifies bodykoef for high or low pcs_mass['body'] values
-		if salocatnow = 0 or salocatnow >= 7:
+		if pcs_mass['body'] < 8 or pcs_mass['body'] >= 98:
 			tempBodyShapeBonus -= 8
-		elseif salocatnow = 1 or salocatnow = 6:
+		elseif pcs_mass['body'] < 23 or pcs_mass['body'] >= 83:
 			tempBodyShapeBonus -= 4
 		end
 

+ 55 - 63
locations/BDSM_training.qsrc

@@ -1,32 +1,29 @@
 # bdsm_training
-if $ARGS[0] = 'start':
+
+if $ARGS[0] = 'sub':
 	menu_off = 1
-	if BDSMpayDay < daystart - 30:
-		BDSMpayDay = daystart
-		money -= 10000
-		'You pay for another 30 days access to the club.'
-		act 'Continue':gt 'bdsm_training', 'start'
-	elseif BDSMmeet = 1:
-		BDSMmeet += 1
+	bdsmclub['training_daystart'] = daystart
+	if bdsmclub['subtraining'] = 0:
+		bdsmclub['subtraining'] = 1
 		gt 'bdsm_training', '1'
-	elseif BDSMmeet = 2:
-		BDSMmeet += 1
+	elseif bdsmclub['subtraining'] = 1:
+		bdsmclub['subtraining'] = 2
 		gt 'bdsm_training', '2'
-	elseif BDSMmeet = 3:
-		BDSMmeet += 1
+	elseif bdsmclub['subtraining'] = 2:
+		bdsmclub['subtraining'] = 3
 		gt 'bdsm_training', '3'
 	end
-end	
-	
+end
 	
+
 if $ARGS[0] = '1':
 	menu_off = 1
-	BDSMday = daystart
+	bdsmclub['training_daystart'] = daystart
 	money -= 10000
 	*clr & cla
 	minut += 10
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_1.jpg"></center>'
 	'You are in the Club, security check your name off the list and let you in.  You give an elderly bookkeeper money and the security guard takes you into a small outbuilding away from the mansion. As you enter, you understand, almost the entire wing is a large room for BDSM-sessions.'
 	'Hanging from the ceiling chains with hooks and ropes, on the walls – lashes, whips, handcuffs, gags.  Submerged in the darkness of the far end of the hall you can just make out pads, tables, crosses and some odd device, you can only guess as to what it does. You are met by the lady from yesterday, her suit replaced by tight leather.  She holds in her hands a stick with glands at the ends.'
 	'"W-Hello," you just about manage.'
@@ -35,7 +32,7 @@ if $ARGS[0] = '1':
 	act 'Further':
 		*clr & cla
 		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_2.jpg"></center>'
 		'"This is for electrical shocks." Explains Mistress. "You will meet him later."'
 		'She licks the contacts, then shifts her gaze to you.'
 		'"Are you still dressed, bitch?"'
@@ -50,7 +47,7 @@ if $ARGS[0] = '1':
 		act 'Obey':
 			*clr & cla
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_3.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_3.jpg"></center>'
 			'The Mistress removes from the wall and you puts on you, a leather collar, then wrist cuffs and ankle bracelets with hooks. The collar presses. You reach up to loosen it, but that earns you a slap. The Mistress walks around, the toe of her boot pushes your feet.'
 			'"That''s right! This is the posture of attention. Does this position make the sub?'
 			'"I don''t know, Mistress!" You answer. Between your legs burns a flame, you feel it building, and flowing down your legs.'
@@ -69,7 +66,7 @@ if $ARGS[0] = '1':
 			act 'Listen':
 				*clr & cla
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_4.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_4.jpg"></center>'
 				'Mistress hits you a few times on your inner thighs.'
 				'"During the session the submissive only speaks with permission. You may ask for permission to speak, but only if very important. Without permission sub only breathes. Permission is required to move, change positions or cum... we may only cum with permission.'
 				'Cumming without permission will be punished. You will usually be given just one minute to cum. Don''t manage it in that minute and you stop, immediately. When you cum, we need to report it.'
@@ -83,7 +80,7 @@ if $ARGS[0] = '1':
 				act 'Remember':
 					*clr & cla
 					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_5.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_5.jpg"></center>'
 					'You feel covered in arousal. The Mistress sees your condition and puts her hand between your legs.'
 					'"You''re all wet! I knew that you were a perverted bitch. Yes?'
 					'"Yes, Mistress, yes!'
@@ -109,7 +106,7 @@ if $ARGS[0] = '1':
 						minut += 10
 						pcs_horny += 15
 						gs 'stat'
-						'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_6.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_6.jpg"></center>'
 						'"Now we have found the first topic to practice - restraint."'
 						'Mistresses manicured finger lifts your chin and looks you in the eye.'
 						'"Cum only with permission, bitch! Clear?"'
@@ -117,7 +114,7 @@ if $ARGS[0] = '1':
 						act 'Follow':
 							*clr & cla
 							gs 'stat'
-							'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_7.jpg"></center>'
+							'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_7.jpg"></center>'
 							'Mistress leads you to the diagonal cross and latches the bracelets to you. You can not move.'
 							'"Failure to comply will be punished."'
 							'Skillfully, Mistress plays with your clit, first fingers, then various tools. You moan, ready to cum, but she is very much aware. Noticing your condition, she removes her hand from your flower and whips you in the stomach.'
@@ -132,7 +129,7 @@ if $ARGS[0] = '1':
 								minut += 10
 								if pcs_horny < 100:pcs_horny = 100
 								gs 'stat'
-								'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_8.jpg"></center>'
+								'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_8.jpg"></center>'
 								'Eventually, you stop noticing the difference between pain and pleasure. Your face is covered in sweat, you squirm on the cross. You beg mistress to let you cum, but she is adamant.'
 								'"You must earn it!"'
 								$orgasm_or = 'no'
@@ -147,7 +144,7 @@ if $ARGS[0] = '1':
 										gs 'willpower', 'hj', 'resist', 'hard'
 										gs 'willpower', 'pay', 'resist'
 										gs 'stat'
-										'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_9.jpg"></center>'
+										'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_9.jpg"></center>'
 										'You decide to cheat and, with an incredible force of will, take control of the body. It goes unnoticed, Mistress continues, and you rapidly cum.'
 										'"What''s going on?!" Yells Mistress in your ear. "You bitch, tricking me like that!'
 										'She unhooks you from the cross, puts you on your knees and slaps you a few times. You are so happy, being able to cum, that you laugh.'
@@ -165,7 +162,7 @@ if $ARGS[0] = '1':
 									minut += 10
 									if pcs_horny < 100:pcs_horny = 100
 									gs 'stat'
-									'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_8.jpg"></center>'
+									'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_8.jpg"></center>'
 									'Mistress forbids you to cum, and you struggle, hampered.'
 									$orgasm_or = 'no'
 									gs 'stat'
@@ -184,7 +181,7 @@ if $ARGS[0] = 'BDSMend':
 	*clr & cla
 	menu_off = 1
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_10.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_10.jpg"></center>'
 	'"Well, enough for today." You do not immediately understand, when Mistress announces the completion of the session. "A good start, but there is still work to do."'
 	'"Is that all?" You ask, having temporarily forgotten about the real world.'
 	'"Almost..."'
@@ -193,17 +190,17 @@ if $ARGS[0] = 'BDSMend':
 	gs 'arousal', 'cuni_give', 10, 'sub', 'lesbian', 'maso', 'bound'
 	gs 'arousal', 'end'
 	gs 'stat'
-			
+
 	act 'Leave':gt 'bdsm_mansion','start'
 end
 
 if $ARGS[0] = '2':
 	menu_off = 1
-	BDSMday = daystart
+	bdsmclub['training_daystart'] = daystart
 	minut += 10
 	pcs_horny += 5
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_1.jpg"></center>'
 	'You are in the Club and go to the training hall. You are scared and excited. The thought of what awaits you, and of Mistress, has you wet between your legs.'
 	'Once you enter the hall, mistress walks up to you and slaps you.'
 	'"Late, bitch? I''ll teach you!"'
@@ -215,21 +212,21 @@ if $ARGS[0] = '2':
 		*clr & cla
 		minut += 10
 		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_2.jpg"></center>'
 		'Mistress puts a collar, foot and hand bracelets on you, and puts you on the wooden platform.'
  		'"A good spanking will teach you not to be late!"'
 		'Mistress ties you onto the platform face down and picks up the whip.'
 		act 'Wait':
 			*clr & cla
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_3.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_3.jpg"></center>'
 			'You are lying on the platform, Mistress, slowly and methodically, punishes you, using various whips, lashes and paddles.'
 			gs 'arousal', 'foreplay', 10, 'sub', 'lesbian', 'maso', 'bound'
 			gs 'stat'
 			act 'Endure':
 				*clr & cla
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_4.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_4.jpg"></center>'
 				'It is becoming unbearable, and Mistress says.'
 				'"Tired, bitch? Take a break!"'
 				'She then sits in front of you, and squatting raises your head to her pussy. You diligently use your tongue to stimulate the labia and clitoris of mistress.'
@@ -240,7 +237,7 @@ if $ARGS[0] = '2':
 					if pcs_horny < 90: pcs_horny = 90
 					pcs_vag += 1
 					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_5.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_5.jpg"></center>'
 					'"Well, you deserve a little encouragement..."'
 					'Mistress unties you, flips you on your back and locks you up again. She holds up a huge vibrator and know it is intended for your pussy. Soon it has you ready to cum. Looking at Misstress, you ask.'
 					'"Mistress, cum! Please!'
@@ -252,14 +249,14 @@ if $ARGS[0] = '2':
 					act 'Further':
 						*clr & cla
 						gs 'stat'
-						'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_6.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_6.jpg"></center>'
 						'Flogging resumes. The whole time you are kept on the brink of pain and pleasure.'
 						gs 'arousal', 'foreplay', 10, 'sub', 'lesbian', 'maso', 'bound'
 						gs 'stat'
 						act 'Further':
 							*clr & cla
 							gs 'stat'
-							'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_7.jpg"></center>'
+							'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_7.jpg"></center>'
 							'"Let''s get weaving..."'
 							'Mistress unties you, leads to a large box, makes to climb on top with your butt in the air. Squinting your eyes, you see, she is unwinding rope. Immediately it is obvious, she has great experience.'
 							'Ropes cover your ankles, wrists, knees and pulling your neck, forcing your nose to the box. After a few minutes you realise, that can''t move. Your ass points to the ceiling, feet apart, displaying your pussy and ass. From helplessness and complete openness you get excited once more.'
@@ -270,14 +267,14 @@ if $ARGS[0] = '2':
 								*clr & cla
 								pcs_vag += 1
 								gs 'stat'
-								'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_8.jpg"></center>'
+								'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_8.jpg"></center>'
 								'Mistress puts on a strap-on, makes you lick and suck it, then walks around behind you. You feel it press against your pussy, slipping inside with no resistance, it begins to thrust back and forth.'
 								gs 'arousal', 'vaginal_strap', 10, 'sub', 'lesbian', 'maso', 'bound'
 								gs 'stat'
 								act 'Further':
 									*clr & cla
 									gs 'stat'
-									'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_9.jpg"></center>'
+									'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_9.jpg"></center>'
 									'Mistress Fucks you with a strapon and again brings to your peak, but does not give you the finish the desire.'
  									'"Boring..." Disappointedly Mistress pulls out, while you try to catch your breath. "How about hanging you?"'
 									'Mistresses fingers flash so quickly, you can''t keep up. She changes the location of the ropes, turns to you and rattles some chains. You realize with horror, she has tied you hanging from the ceiling chain. The motor sounds, and your body rises.'
@@ -291,7 +288,7 @@ if $ARGS[0] = '2':
 										minut += 10
 										pcs_horny += 5
 										gs 'stat'
-										'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_10.jpg"></center>'
+										'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_10.jpg"></center>'
 										'The ropes cut into your skin, but mistress knows her stuff. For all it hurts, it isn''t so much as to drive away the excitement. You hang upside down and the room slowly rotates around you.'
 										gs 'arousal', 'foreplay', 10, 'sub', 'lesbian', 'maso', 'bound'
 										gs 'stat'
@@ -300,7 +297,7 @@ if $ARGS[0] = '2':
 											pcs_vag += 1
 											vgape = 2
 											gs 'stat'
-											'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_11.jpg"></center>'
+											'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_11.jpg"></center>'
 											'"Well, let''s see, how ready is your hole!"'
 											'Mistress pulls out a huge Dildo, attached to a stick, and enters it into your pussy. You think you are being torn apart. You scream out and beg for mercy, but it is useless. Mistress energetically moves the stick up and down, like she is unblocking a toilet.'
 											gs 'arousal', 'vaginal_dildo', 10, 'sub', 'lesbian', 'maso', 'bound', 'rough'
@@ -308,7 +305,7 @@ if $ARGS[0] = '2':
 											act 'Stop it':
 												*clr & cla
 												gs 'stat'
-												'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_12.jpg"></center>'
+												'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_12.jpg"></center>'
 												'Just as you are ready to scream "Red!", mistress takes the dildo out of you. Again the motor buzzes, you kneel on the floor. Madam binds your hands behind your back and puts you on the knees.'
 												'"Rest!"'
 												'Mistresses leg is in your face, and you understand what to do. You kiss and lick the foot, sucking her toes.'
@@ -320,7 +317,7 @@ if $ARGS[0] = '2':
 													pcs_ass += 1
 													agape = 2
 													gs 'stat'
-													'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_13.jpg"></center>'
+													'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_13.jpg"></center>'
 													'"And now for the ass!" Declares Mistress and knocks you sideways. You lose you balance and she quickly has you upside down supported on your shoulders and bound hands.'
 													'Her strapon rests on the edge of your anus, Mistress hisses with displeasure and with a sharp move of her hips, drives it in entirely. You scream and moan, but quickly the pain turns to pleasure.'
 													'"Oh fuck, cum! Please!" You can hardly form the words.'
@@ -332,7 +329,7 @@ if $ARGS[0] = '2':
 													act 'Recover':
 														*clr & cla
 														gs 'stat'
-														'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_14.jpg"></center>'
+														'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_14.jpg"></center>'
 														'"Finished?"  Mistress leans over to you.'
 														'"Yes, Mistress, thank you, Mistress!" You cry.'
 														'Mistress unties you. For a moment you think, that the session is ending, but no. Rope again binds your wrists, and she plugs your mouth with a ball-gag.'
@@ -345,7 +342,7 @@ if $ARGS[0] = '2':
 															*clr & cla
 															pcs_vag += 1
 															gs 'stat'
-															'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_15.jpg"></center>'
+															'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r3_15.jpg"></center>'
 															'Mistress lies on her back, and forces you to ride her, and you are grinding on her strap-on. The satisfied moans of Mistress and the clear visual evidence tell you she has already cum several times.'
 															'Satisfied, Mistress unties you, approvingly slaps you on the cheek and lets you go, ordering you to come tomorrow.'
 															gs 'arousal', 'vaginal_strap', 10, 'sub', 'lesbian', 'maso', 'bound'
@@ -370,17 +367,17 @@ end
 
 if $ARGS[0] = '3':
 	menu_off = 1
-	BDSMday = daystart
+	bdsmclub['training_daystart'] = daystart
 	minut += 10
 	pcs_horny += 10
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_1.jpg"></center>'
 	'You enter the training hall for your next training session. Mistress said you, this session is the last one before you will be admitted to the mansion. If you manage to fulfill all her instructions.'
 	'"Did you dress up pretty for me?" Says Mistress as she checks you out in a predatory manner, "Well, ready then? Get undressed and get over here!'
 	act 'Obey':
 		*clr & cla
 		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_2.jpg"></center>'
 		'Mistress orders you to get into the cage, you are reminded of a parrot cage. Your body does not fit entirely, and your legs hang out. Your neck is held by a heavy iron collar, attached by chains to the bars of the cage. Mistress pushes a button and the cage rises.'
 		'"Straighten your legs! In front of you, here!" Orders Mistress. Your bare feet are in front of her.'
 		gs 'arousal', 'foreplay', 10, 'sub', 'lesbian','bound', 'feet'
@@ -388,7 +385,7 @@ if $ARGS[0] = '3':
 		act 'Further':
 			*clr & cla
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_3.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_3.jpg"></center>'
 			'Mistress tickles your heels and growls at you everytime you try to move your legs.'
 			'"Return to position!"'
 			'You obey. Mistress leans forward and you feel something touching your pussy. Then you hear a buzzing sound, and you feel the vibration.'
@@ -397,7 +394,7 @@ if $ARGS[0] = '3':
 			act 'Further':
 				*clr & cla
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_4.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_4.jpg"></center>'
 				'"Leg!"'
 				'You lift up your leg. Mistress is holding a thin cane, with considerable force, see hits the sole of your foot.'
 				'"And again..."'
@@ -407,7 +404,7 @@ if $ARGS[0] = '3':
 				act 'Further':
 					*clr & cla
 					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_5.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_5.jpg"></center>'
 					'You are responding, feeling waves of pleasure spread through your body. The vibrator buzzing and twitching, driving you crazy. Unable to restrain himself, you shout.'
 					'"Mistress, please! Come!"'
 					'"No! Restraint! Restraint!"'
@@ -416,7 +413,7 @@ if $ARGS[0] = '3':
 					act 'Restrain':
 						*clr & cla
 						gs 'stat'
-						'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_6.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_6.jpg"></center>'
 						'Mistress monitors your condition, and the moment before you orgasm, she turns off the vibrator.'
 						'"Well, you know the rules... Now let''s see you in action..."'
 						'Mistress frees you from the cage and puts you on your knees.'
@@ -428,7 +425,7 @@ if $ARGS[0] = '3':
 							*clr & cla
 							guy += 1
 							gs 'stat'
-							'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_7.jpg"></center>'
+							'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_7.jpg"></center>'
 							'"Show me you know how to suck!"'
 							'You obediently take cock in your mouth and carefully suck. Mistress walks around and says.'
 							'"C grade suck, C grade! Need to practice!"'
@@ -438,14 +435,14 @@ if $ARGS[0] = '3':
 								*clr & cla
 								pcs_vag += 1
 								gs 'stat'
-								'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_8.jpg"></center>'
+								'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_8.jpg"></center>'
 								'At a sign from Mistress, the man lies on the box. You climb up, lower your pussy onto his dick and start to ride. Mistress walks around and encourages with the cane.'
 								gs 'arousal', 'vaginal', 10, 'sub'
 								gs 'stat'
 								act 'Further':
 									*clr & cla
 									gs 'stat'
-									'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_9.jpg"></center>'
+									'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_9.jpg"></center>'
 									'"Stop!" Orders Mistress.'
 									'You stop, freezing in position. Mistress gets clothespins tied to ropes, and begins to attach them to you. The clothespins hurt, especially on your nipples and tongue, but you endure. At a silent command from Mistress, you resume movement.'
 									gs 'arousal', 'vaginal', 10, 'sub', 'maso'
@@ -454,7 +451,7 @@ if $ARGS[0] = '3':
 										*clr & cla
 										pcs_mood += 25
 										gs 'stat'
-										'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_10.jpg"></center>'
+										'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_10.jpg"></center>'
 										'"Now jerk!" Orders Mistress.'
 										'You begin to pull at your clit, while grinding on the dick. Soon you feel, that you are at the brink, and ask permission.'
 										'"Finish!" Allows Mistress.'
@@ -467,9 +464,8 @@ if $ARGS[0] = '3':
 										act 'Breathe':
 											*clr & cla
 											minut += 10
-											BDSMClubIn = 1
 											gs 'stat'
-											'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_11.jpg"></center>'
+											'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r4_11.jpg"></center>'
 											'The lady takes you by the hair and turns your face to hers.'
  											'"Welcome to the Club, slave!"'
 											'Hardly able to walk and your legs buckling you get in the shower. As you exit, you are handed a membership card, you can now enter to the Club as a full member.'
@@ -488,11 +484,10 @@ if $ARGS[0] = '3':
 	end
 end
 
-if $ARGS[0] = 'd_start':
+if $ARGS[0] = 'dom':
 	menu_off = 1
-	BDSMday = daystart
-	money -= 10000
 	*clr & cla
+	bdsmclub['domtraining'] = 1
 	minut += 10
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r2_1.jpg"></center>'
@@ -525,8 +520,6 @@ if $ARGS[0] = 'd_start':
 				gs 'stat'
 				act 'Carry on':
 					*clr & cla
-					BDSMClubIn = 1
-					minut += 10
 					pcs_horny += 30
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/sex/r3_5.jpg"></center>'
@@ -536,8 +529,7 @@ if $ARGS[0] = 'd_start':
 					'Using the body massager you tease the sub for about 10 minutes, but stop short of letting her orgasm. Eletra surprises you by kissing you on the cheek, "I think I''m going to like having you around."'
 					'She walks back to the front gate with you and gives you a shiny new membership card. Suddenly realising she is still in her leather outfit she blushes lightly and briskly walks back.'
 					gs 'arousal', 'vaginal_vibe_give', 10, 'dom', 'lesbian'
-					gs 'arousal', 'kiss', 10, 'lesbian'
-					minut -= 10
+					gs 'arousal', 'kiss', 2, 'lesbian'
 					gs 'arousal', 'end'
 					gs 'stat'
 					act 'Leave':gt 'bdsm_mansion','start'

+ 160 - 88
locations/Cheatmenu_din.qsrc

@@ -128,6 +128,17 @@ $cheatmenu['noFat'] = {
 	end
 }
 
+$cheatmenu['static_assets'] = {
+	if bodyVars['cheat_staticAssets'] = 0:
+		bodyVars['cheat_staticAssets'] = 1
+		dynamic $cheatmenu['permanent']
+		exit
+	elseif bodyVars['cheat_staticAssets'] = 1:
+		bodyVars['cheat_staticAssets'] = 0
+		dynamic $cheatmenu['permanent']
+	end
+}
+
 $cheatmenu['health'] = {
 	if cheatHealth = 0:
 		cheatHealth = 1
@@ -213,94 +224,114 @@ $cheatmenu['bodyMod'] = {
 	''
 	'You may select from the following sizes:'
 	''
-	if bodset ! 3:
-		'starving (No, you may not select ''starving'', it''s here to show where the scale starts)'
-		''
-		if salocatnow ! 1:
-			'<a href="exec: pcs_mass[''body''] = 20 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 1)]>></a>'
+	if knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600)):
+		if (pregchem < 2688) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 100"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 100)>></a>'
 			''
 		end
-		if salocatnow ! 2:
-			'<a href="exec: pcs_mass[''body''] = 40 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 2)]>></a>'
+		if (pregchem >= 2688 and pregchem < 3192) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 2688"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 2688)>></a>'
 			''
 		end
-		if salocatnow ! 3:
-			'<a href="exec: pcs_mass[''body''] = 60 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 3)]>></a>'
+		if (pregchem >= 3192 and pregchem < 3696) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 3192"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 3192)>></a>'
 			''
 		end
-		if salocatnow ! 4:
-			'<a href="exec: pcs_mass[''body''] = 80 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 4)]>></a>'
+		if (pregchem >= 3696 and pregchem < 4200) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 3696"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 3696)>></a>'
 			''
 		end
-		if salocatnow ! 5:
-			'<a href="exec: pcs_mass[''body''] = 100 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 5)]>></a>'
+		if (pregchem >= 4200 and pregchem < 4704) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 4200"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 4200)>></a>'
 			''
 		end
-		if salocatnow ! 6:
-			'<a href="exec: pcs_mass[''body''] = 120 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 6)]>></a>'
+		if (pregchem >= 4704 and pregchem < 5208) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 4704"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 4704)>></a>'
 			''
 		end
-		if salocatnow ! 7:
-			'<a href="exec: pcs_mass[''body''] = 140 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 7)]>></a>'
+		if (pregchem >= 5208 and pregchem < 5712) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 5208"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 5208)>></a>'
 			''
 		end
-	else
-		if (pregchem < 2688) = 0:
-			'<a href="exec:pregchem = 100 & pregtime = 4 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10))]>></a>'
+		if (pregchem >= 5712 and pregchem < 6216) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 5712"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 5712)>></a>'
 			''
 		end
-		if (pregchem >= 2688 and pregchem < 3192) = 0:
-			'<a href="exec:pregchem = 2688 & pregtime = 112 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 1)]>></a>'
+		if (pregchem >= 6216) = 0:
+			'<a href="exec: dynamic $cheatmenu[''set_preg_body''], 6216"><<func(''body_structure'', ''body_desc'', pcs_bmi, strenbuf, 6216)>></a>'
 			''
 		end
-		if (pregchem >= 3192 and pregchem < 3696) = 0:
-			'<a href="exec:pregchem = 3192 & pregtime = 133 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 2)]>></a>'
+	else
+		bs_temp_bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf)
+		'starving (No, you may not select ''starving'', it''s here to show where the scale starts)'
+		''
+		if (bs_temp_bs_class / 100) ! 1:
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 170"><<func(''body_structure'', ''body_desc'', 17, strenbuf)>></a>'
 			''
 		end
-		if (pregchem >= 3696 and pregchem < 4200) = 0:
-			'<a href="exec:pregchem = 3696 & pregtime = 154 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 3)]>></a>'
+		if (bs_temp_bs_class / 100) ! 2:
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 200"><<func(''body_structure'', ''body_desc'', 20, strenbuf)>></a>'
 			''
 		end
-		if (pregchem >= 4200 and pregchem < 4704) = 0:
-			'<a href="exec:pregchem = 4200 & pregtime = 175 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 4)]>></a>'
+		if (bs_temp_bs_class / 100) ! 3:
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 230"><<func(''body_structure'', ''body_desc'', 23, strenbuf)>></a>'
 			''
 		end
-		if (pregchem >= 4704 and pregchem < 5208) = 0:
-			'<a href="exec:pregchem = 4704 & pregtime = 196 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 5)]>></a>'
+		if (bs_temp_bs_class / 100) ! 4:
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 270"><<func(''body_structure'', ''body_desc'', 27, strenbuf)>></a>'
 			''
 		end
-		if (pregchem >= 5208 and pregchem < 5712) = 0:
-			'<a href="exec:pregchem = 5208 & pregtime = 217 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 6)]>></a>'
+		if (bs_temp_bs_class / 100) ! 5:
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 320"><<func(''body_structure'', ''body_desc'', 32, strenbuf)>></a>'
 			''
 		end
-		if (pregchem >= 5712 and pregchem < 6216) = 0:
-			'<a href="exec:pregchem = 5712 & pregtime = 238 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 7)]>></a>'
+		if (bs_temp_bs_class / 100) ! 6:
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 370"><<func(''body_structure'', ''body_desc'', 37, strenbuf)>></a>'
 			''
 		end
-		if (pregchem >= 6216) = 0:
-			'<a href="exec:pregchem = 6216 & pregtime = 259 & gs ''body'', ''softreset'' & gs ''stat'' & dynamic $cheatmenu[''bodyMod'']"><<$bodimgsets[((bodset * 10) + 8)]>></a>'
+		if (bs_temp_bs_class / 100) ! 7:
+			'<a href="exec: dynamic $cheatmenu[''set_body_class''], 420"><<func(''body_structure'', ''body_desc'', 42, strenbuf)>></a>'
 			''
 		end
+		killvar 'bs_temp_bs_class'
 	end
 
 	'</tr></table></b></center>'
 }
 
+$cheatmenu['set_preg_body'] = {
+	pregchem = ARGS[0]
+	pregtime = ARGS[0] / 24
+	gs 'body', 'reset_preg_mass'
+	gs 'body', 'softreset'
+	gs 'stat'
+	dynamic $cheatmenu['bodyMod']
+}
+
+$cheatmenu['set_body_class'] = {
+	pcs_mass['body'] = func('body', 'CalcOptBodyMass', ARGS[0])
+	gs 'body', 'softreset'
+	gs 'stat'
+	dynamic $cheatmenu['bodyMod']
+}
+
+
 $cheatmenu['addict'] = {
-	if NarkImmune = 0:
-		NarkImmune = 1
-		smoker = 0
-		smokerNeed = 0
-		joint_count = 0
-		alcohol_count = 0
-		cocaine_count = 0
-		amphetamine_count = 0
-		SNarkTimes = 0
+	if drugVars['cheat_immune'] = 0:
+		drugVars['cheat_immune'] = 1
+		drugVars['cigarettes_used'] = 0
+		drugVars['cigarettes_need'] = 0
+		drugVars['weed_used'] = 0
+		drugVars['alcohol_used'] = 0
+		drugVars['cocaine_used'] = 0
+		drugVars['amphetamine_used'] = 0
+		drugVars['heroin_used'] = 0
 		dynamic $cheatmenu['permanent']
 		exit
-	elseif NarkImmune = 1:
-		NarkImmune = 0
+	elseif drugVars['cheat_immune'] = 1:
+		drugVars['cheat_immune'] = 0
 		dynamic $cheatmenu['permanent']
+		exit
 	end
 }
 
@@ -420,12 +451,12 @@ $cheatmenu['exhib_block'] = {
 $cheatmenu['addictive_block'] = {
 	if addictive_cheat = 0:
 		addictive_cheat = 1
-		smoke_exp = 0
-		joint_exp = 0
-		heroin_exp = 0
-		cocaine_exp = 0
-		amphetamine_exp = 0
-		alcohol_exp = 0
+		drugVars['cigarettes_exp'] = 0
+		drugVars['weed_exp'] = 0
+		drugVars['heroin_exp'] = 0
+		drugVars['cocaine_exp'] = 0
+		drugVars['amphetamine_exp'] = 0
+		drugVars['alcohol_exp'] = 0
 		addictive_exp = 0
 		addictive_trait_lvl = 0
 		dynamic $cheatmenu['permanent']
@@ -522,6 +553,8 @@ $cheatmenu['permanent'] = {
 	if cheatHapri = 1: $cheatHapri = 'Currently ON'
 	if cheatKlisma = 1: $cheatKlisma = 'Currently OFF'
 	if cheatKlisma = 0: $cheatKlisma = 'Currently ON'
+	if no_cum_leak = 1: $no_cum_leak = 'Currently OFF'
+	if no_cum_leak = 0: $no_cum_leak = 'Currently ON'
 	if cheatNomakeup = 0: $cheatNomakeup = 'Currently OFF'
 	if cheatNomakeup = 1: $cheatNomakeup = 'Currently ON'
 	if cheatNoSweat = 0: $cheatNoSweat = 'Currently OFF'
@@ -536,12 +569,14 @@ $cheatmenu['permanent'] = {
 	if cheatNoMood = 1: $cheatNoMood = 'Currently ON'
 	if cheatNoFat = 0: $cheatNoFat = 'Currently OFF'
 	if cheatNoFat = 1: $cheatNoFat = 'Currently ON'
+	if bodyVars['cheat_staticAssets'] = 0: $bodyVars['cheat_staticAssets_text'] = 'Currently OFF'
+	if bodyVars['cheat_staticAssets'] = 1: $bodyVars['cheat_staticAssets_text'] = 'Currently ON'
 	if cheatHealth = 0: $cheatHealth = 'Enabled'
 	if cheatHealth = 1: $cheatHealth = 'Disabled'
 	if cheatPee = 0: $cheatPee = 'Enabled'
 	if cheatPee = 1: $cheatPee = 'Disabled'
-	if NarkImmune = 0: $NarkImmune = 'Currently OFF'
-	if NarkImmune = 1: $NarkImmune = 'Currently ON'
+	if drugVars['cheat_immune'] = 0: $drugVars['cheat_immune_text'] = 'Currently OFF'
+	if drugVars['cheat_immune'] = 1: $drugVars['cheat_immune_text'] = 'Currently ON'
 	if InfWillpwer = 0: $InfWillpwer = 'Currently OFF'
 	if InfWillpwer = 1: $InfWillpwer = 'Currently ON'
 	if cheatSlut = 0: $cheatSlut = 'Enabled'
@@ -598,7 +633,8 @@ $cheatmenu['permanent'] = {
 	'Never sleep: <a href="exec:dynamic $cheatmenu[''noSleep'']"><<$cheatNoSleep>></a>'
 	'Never unhappy: <a href="exec:dynamic $cheatmenu[''noMood'']"><<$cheatNoMood>></a>'
 	'Never lose or gain weight: <a href="exec:dynamic $cheatmenu[''noFat'']"><<$cheatNoFat>></a>'
-	'Never get addicted: <a href="exec:dynamic $cheatmenu[''addict'']"><<$NarkImmune>></a>'
+	'Bust and butt unaffected by weight: <a href="exec: dynamic $cheatmenu[''static_assets'']"><<$bodyVars[''cheat_staticAssets_text'']>></a>'
+	'Never get addicted: <a href="exec:dynamic $cheatmenu[''addict'']"><<$drugVars[''cheat_immune_text'']>></a>'
 	'Never shave legs: <a href="exec:dynamic $cheatmenu[''shaveLegs'']"><<$cheatShaveLegs>></a>'
 
 	if Enable_sforma = 1:
@@ -631,6 +667,12 @@ $cheatmenu['permanent'] = {
 
 	*nl
 
+	*p 'Remove ''once a week'' therapist limit: '
+	if therapist_weekly_cheat = 0:
+		'<a href="exec: therapist_weekly_cheat = 1 && dynamic $cheatmenu[''permanent'']">on</a>&nbsp;|&nbsp;off'
+	else
+		'on&nbsp;|&nbsp;<a href="exec: therapist_weekly_cheat = 0 && dynamic $cheatmenu[''permanent'']">off</a>'
+	end
 	'Who says bimbos can''t be smart? Smart bimbo mode: <a href="exec:dynamic $cheatmenu[''SmartBimbo'']"><<$cheatBimbo2>></a>'
 	'Succubus bimbo mode: <a href="exec:dynamic $cheatmenu[''SuccuBimbo'']"><<$cheatBimbo3>></a>'
 
@@ -700,7 +742,7 @@ $cheatmenu['state'] = {
 		'<b>You need to open a bank account before getting access to change money in the bank</b>'
 	end
 	'<a href="exec:dynamic $cheatmenu[''std_cure''] & gs ''stat''">Cure all stds</a>'
-	'<a href="exec:vgape = 0 & agape = 0 & nippain = 0 & painpub = 0 & pirs_pain_ton = 0 & mesec = 0 & spanked = 0 & SLomka = 0 & Narkoman = 0 & strongnark = 0 & SNarkTimes = 0 & nark = 0 & fingal = 0 & mosol = 0 & frost = 0 & sick = 0 & hypnoAddict = 0 & hypnoWithdrawal = 0 & dynamic $cheatmenu[''std_cure''] & dynamic $cheatmenu[''pain_killer''] & gs ''stat''">Cure all ailments.</a>'
+	'<a href="exec:vgape = 0 & agape = 0 & nippain = 0 & painpub = 0 & pirs_pain_ton = 0 & mesec = 0 & spanked = 0 & drugVars[''heroin_need''] = 0 & drugVars[''cocaine_addict''] = 0 & drugVars[''heroin_high''] = 0 & drugVars[''heroin_used''] = 0 & drugVars[''cocaine_system''] = 0 & fingal = 0 & mosol = 0 & frost = 0 & sick = 0 & hypnoAddict = 0 & hypnoWithdrawal = 0 & dynamic $cheatmenu[''std_cure''] & dynamic $cheatmenu[''pain_killer''] & gs ''stat''">Cure all ailments.</a>'
 	*nl
 	'<a href="exec:dynamic $cheatmenu[''force_preg''] & gs ''stat''">Force random pregnancy</a>'
 	'<a href="exec:dynamic $cheatmenu[''remove_preg''] & gs ''stat''">Remove pregnancy</a>'
@@ -836,7 +878,7 @@ $cheatmenu['looks'] = {
 	'<a href="exec:dynamic $cheatmenu[''visualage'']">Change apparent age</a>'
 	*nl
 	'You are <<pcs_hgt>> centimetres tall'
-	'<a href="exec:pcs_hgt = input(''Enter <<$pcs_nickname>>s height in centimetres<br><br>(default 170, min 100, max 200, values below 160 and above 180 will cause problems in the calculation of BMI/weight the more you deviate from the default 170)'') & dynamic $cheatmenu[''looks'']">Change <<$pcs_nickname>>''s height</a>'
+	'<a href="exec:pcs_hgt = input(''Enter <<$pcs_nickname>>s height in centimetres<br><br>(default 165, min 100, max 200, values below 150 and above 180 will cause problems in the calculation of BMI/weight the more you deviate from the default 170)'') & dynamic $cheatmenu[''looks'']">Change <<$pcs_nickname>>''s height</a>'
 	*nl
 	*p 'Musculature (<<stren_plus_lvl>>): ' & dynamic $cheatmenu['printLooksLinks'], 'stren_plus', 'Musculature'
 	*pl '<font color="grey">Allows strength to go past 100'
@@ -845,26 +887,31 @@ $cheatmenu['looks'] = {
 	*p 'Toned Butt (<<butt_tr_lvl>>): ' & dynamic $cheatmenu['printLooksLinks'], 'butt_tr', 'Toned Butt'
 	*nl
 	'You have <<$titsize>> breasts'
-	if tits => 0 and tits < 11:'<a href="exec: bodyVars[''bust_silicone''] += 5 & dynamic $cheatmenu[''looks'']">Enlarge breasts(silicone)</a>'
-	if bodyVars['bust_silicone'] => 1:'<a href="exec: bodyVars[''bust_silicone''] -= 5 & dynamic $cheatmenu[''looks'']">Shrink breasts(silicone)</a>'
-	if tits => 0 and tits < 11:'<a href="exec: pcs_mass[''bust''] += 5 & dynamic $cheatmenu[''looks'']">Enlarge breasts(natural)</a>'
-	if pcs_mass['bust'] => 1: '<a href="exec: pcs_mass[''bust''] -= 5 & titreduc = 1 & dynamic $cheatmenu[''looks'']">Shrink breasts(natural)</a>'
+	if tits < 11:'<a href="exec: bodyVars[''bust_silicone''] += 5 & dynamic $cheatmenu[''looks'']">Enlarge breasts(silicone)</a>'
+	if bodyVars['bust_silicone'] => 1:'<a href="exec: bodyVars[''bust_silicone''] = min(0, bodyVars[''bust_silicone'']-5) & dynamic $cheatmenu[''looks'']">Shrink breasts(silicone)</a>'
+	if tits < 11:'<a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_bust'', 5">Enlarge breasts (natural)</a>'
+	if pcs_mass['bust'] => 6: '<a href="exec: titreduc = 1 & gs ''Cheatmenu_din'', ''change_pcs_mass_bust'', -5">Shrink breasts (natural)</a>'
 	*nl
-	if pcs_butt <= 4:
+	if pcs_butt <= 14:
 		$pcs_butt[1] = 'flat'
-	elseif pcs_butt <= 8:
+	elseif pcs_butt <= 25:
 		$pcs_butt[1] = 'average'
-	elseif pcs_butt <= 12:
+	elseif pcs_butt <= 40:
 		$pcs_butt[1] = 'pert'
+	elseif pcs_butt <= 59:
+		$pcs_butt[1] = 'heart-shaped'
 	else
 		$pcs_butt[1] = 'bubble'
 	end
-	'You have <<$pcs_butt[1]>> butt'
-	if pcs_butt < 20:'<a href="exec: bodyVars[''butt_cheat''] += 2 & dynamic $cheatmenu[''looks'']">Enlarge butt</a>'
-	if pcs_butt > 1:'<a href="exec: bodyVars[''butt_cheat''] -= 2 & dynamic $cheatmenu[''looks'']">Shrink butt</a>'
-	if bodyVars['butt_cheat'] ! 0:'<a href="exec: bodyVars[''butt_cheat''] = 0 & dynamic $cheatmenu[''looks'']">Reset butt shape to default</a>'
-	if bodyVars['butt_silicone'] => 1:'<a href="exec: bodyVars[''butt_silicone''] = 0 & dynamic $cheatmenu[''looks'']">Remove butt implants</a>'
-	if bodyVars['butt_silicone'] = 0:'<a href="exec: bodyVars[''butt_silicone''] += 16 & dynamic $cheatmenu[''looks'']">Add butt implants</a>'
+	'You have a <<$pcs_butt[1]>> butt'
+	if pcs_butt < 60: '<a href="exec: bodyVars[''butt_silicone''] += 10 & dynamic $cheatmenu[''looks'']">Enlarge butt (silicone)</a>'
+	if bodyVars['butt_silicone'] => 1: '<a href="exec: bodyVars[''butt_silicone''] = max(0, bodyVars[''butt_silicone'']-10) & dynamic $cheatmenu[''looks'']">Shrink butt (silicone)</a>'
+	if pcs_butt < 60: '<a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_butt'', 10">Enlarge butt (natural)</a>'
+	if pcs_mass['butt'] => 6: '<a href="exec: assreduc = 1 & gs ''Cheatmenu_din'', ''change_pcs_mass_butt'', -10">Shrink butt (natural)</a>'
+
+!	if pcs_butt < 20:'<a href="exec: bodyVars[''butt_cheat''] += 2 & dynamic $cheatmenu[''looks'']">Enlarge butt</a>'
+!	if pcs_butt > 1:'<a href="exec: bodyVars[''butt_cheat''] -= 2 & dynamic $cheatmenu[''looks'']">Shrink butt</a>'
+!	if bodyVars['butt_cheat'] ! 0:'<a href="exec: bodyVars[''butt_cheat''] = 0 & dynamic $cheatmenu[''looks'']">Reset butt shape to default</a>'
 	*nl
 	'<<$lip>>'
 	if pcs_lip < 4:'<a href="exec:pcs_lip += 1 & dynamic $cheatmenu[''looks'']">Enlarge lips</a>'
@@ -914,7 +961,7 @@ $cheatmenu['looks'] = {
 	if dounspell = 0:
 		if fat ! 0: '<a href="exec:fat = 0 & dynamic $cheatmenu[''looks'']">Zero fat</a>'
 		'Body Fat = (<<pcs_mass[''body'']>>): <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -10">-10</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -5">-5</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -1">-1</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 1">+1</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 5">+5</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 10">+10</a>'
-		'Note: You need some Body Fat to survive, any value under 11 is clasified as "starving" and a value of 0 can lead to a Game Over. 60 is the center of a healthy bodyweight.'
+		'Note: You need some Body Fat to survive, any value under 11 is clasified as "starving" and a value of 0 can lead to a Game Over. <<func(''body'', ''CalcOptBodyMass'')>> gives a bmi of 22.5.'
 	end
 	*nl
 	'<a href="exec:dynamic $cheatmenu[''tatoo'']">Tattoo removal</a>'
@@ -963,9 +1010,27 @@ $cheatmenu['looks'] = {
 
 if $ARGS[0] = 'change_pcs_mass_body':
 	gs 'body', 'Set_mass_distribution_using_body', pcs_mass['body'] + ARGS[1]
+	pcs_mass['body_message'] = pcs_mass['body']
+	dynamic $cheatmenu['looks']
+end
+
+if $ARGS[0] = 'change_pcs_mass_bust':
+	pcs_mass['bust'] += ARGS[1]
+	pcs_mass['bust_gen'] += ARGS[1]
+	if pcs_mass['bust'] < 2: pcs_mass['bust'] = 2
+	if pcs_mass['bust_gen'] < 2: pcs_mass['bust_gen'] = 2
+	pcs_mass['bust_message'] = pcs_mass['bust']
 	dynamic $cheatmenu['looks']
 end
 
+if $ARGS[0] = 'change_pcs_mass_butt':
+	pcs_mass['butt'] += ARGS[1]
+	pcs_mass['butt_gen'] += ARGS[1]
+	if pcs_mass['butt'] < 2: pcs_mass['butt'] = 2
+	if pcs_mass['butt_gen'] < 2: pcs_mass['butt_gen'] = 2
+	pcs_mass['butt_message'] = pcs_mass['butt']
+	dynamic $cheatmenu['looks']
+end
 
 if $ARGS[0] = 'vagenlarge':
 	if pcs_vag = 0:
@@ -1063,7 +1128,7 @@ $cheatmenu['parameters'] = {
 	'magtarcup = <<magtarcup>>'
 	'normbuffpick = <<normbuffpick>>'
 	'nrmbfpckct = <<nrmbfpckct>>'
-	'btwarn = <<btwarn>>'
+	'bodyVars[''weight_warning''] = <<bodyVars[''weight_warning'']>>'
 	'salolast = <<salolast>>'
 }
 
@@ -1190,6 +1255,8 @@ $cheatmenu['setAttrs'] = {
 	loop_index = 0
 	!! skip stren_plus and butt_tr
 	loop_index_max = arrsize('$att_name') - 2
+	!! skip magik in nonmagic starts
+	if $start_type[1] = 'nomagic': loop_index_max -= 1
 	:set_attrs_loop
 		gs 'shortgs', 'setStat', $att_name[loop_index], ARGS[0]
 		loop_index += 1
@@ -1298,7 +1365,7 @@ $cheatmenu['stats'] = {
 		*pl 'History grade: <<class[''school_his_grade'']>> '    + iif(class['school_his_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''his'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_his_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''his'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
 		*pl 'Shop grade: <<class[''school_shop_grade'']>> '      + iif(class['school_shop_grade'] < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''shop'', 10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_shop_grade'] > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''shop'', -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
 		*pl 'Computer grade: <<class[''school_comp_grade'']>> '  + iif(class['school_comp_grade'] < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''comp'', 10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_comp_grade'] > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''comp'', -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
-		*pl 'History grade: <<class[''school_mus_grade'']>> '    + iif(class['school_mus_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_mus_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Music grade: <<class[''school_mus_grade'']>> '      + iif(class['school_mus_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_mus_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
 		*pl 'P.E. grade: <<class[''school_pe_grade'']>> '        + iif(class['school_pe_grade']   < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''pe'',   10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_pe_grade']   > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''pe'',   -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
 
 		if schoolprogul >= 0: *pl '<a href="exec: schoolprogul = 0 & dynamic $cheatmenu[''stats'']">Zero Absenteeism (School): <<schoolprogul>></a>'
@@ -2094,6 +2161,11 @@ $cheatmenu['setting'] = {
 	else
 		'Enema realism: Currently OFF - <a href="exec:cheatKlisma = 0 & dynamic $cheatmenu[''enema'']">Turn ON</a>'
 	end
+	if no_cum_leak = 0:
+		'Cum leaking: Currently ON - <a href="exec:no_cum_leak = 1 & dynamic $cheatmenu[''setting'']">Turn OFF</a>'
+	else
+		'Cum leaking: Currently OFF - <a href="exec:no_cum_leak = 0 & dynamic $cheatmenu[''setting'']">Turn ON</a>'
+	end
 	if editpornname = 1:
 		'Editing of the names of the porn movies you stared enabled: Currently ON - <a href="exec:editpornname = 0 & dynamic $cheatmenu[''setting'']">Turn OFF</a>'
 	else
@@ -3161,14 +3233,14 @@ $cheatmenu['vartracker'] = {
 	'min_arousal: <<min_arousal>>'
 	'pcs_nips: <<pcs_nips>>'
 	'clit_size: <<clit_size>>'
-	'steroid_have: <<steroid_have>>'
-	'steroid_counter: <<steroid_counter>>'
-	'steroid_dose: <<steroid_dose>>'
-	'aphrodisiac_have: <<aphrodisiac_have>>'
+	'steroids: <<mc_inventory[''steroids'']>>'
+	'steroids_used: <<drugVars[''steroids_used'']>>'
+	'steroid_dose: <<drugVars[''steroids_dose'']>>'
+	'aphrodisiac pills: <<mc_inventory[''aphrodisiac'']>>'
 	'aphrodisiac_counter: <<aphrodisiac_counter>>'
-	'aphrodisiac_timer: <<aphrodisiac_timer>>'
-	'aphrodisiac_addiction: <<aphrodisiac_addiction>>'
-	'bcream_have: <<bcream_have>>'
+	'aphrodisiac_timer: <<drugVars[''aphrodisiac_timer'']>>'
+	'aphrodisiac_addiction: <<drugVars[''aphrodisiac_addict'']>>'
+	'breastcream: <<mc_inventory[''breastcream'']>>'
 	'motherQW: <<npc_QW[''A29'']>>'
 	'Anastasia quest level: <<npc_QW[''A192'']>>'
 	'sex: <<stat[''vaginal'']>>'
@@ -3771,13 +3843,13 @@ $cheatmenu['items'] = {
 	if showNarcoticsItems = 1:
 		'<a href = "exec: showNarcoticsItems = 0 & dynamic $cheatmenu[''items'']">Hide Details </a>'
 		*pl 'Cigarettes: <a href="exec:mc_inventory[''cigarettes'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''cigarettes'']>> </b></a>'
-		*pl 'Joints: <a href="exec:joint=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<joint>> </b></a>'
-		*pl 'Cocaine: <a href="exec:dur=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<dur>> </b></a>'
-		*pl 'Amphetamine: <a href="exec:amphetamine=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<amphetamine>> </b></a>'
-		*pl 'Neuroboosters: <a href="exec:mentats_have=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mentats_have>> </b></a>'
-		*pl 'Steroids: <a href="exec:steroid_have=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<steroid_have>> </b></a>'
-		*pl 'Breast cream: <a href="exec:bcream_have=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<bcream_have>> </b></a>'
-		*pl 'Aphrodisiacs: <a href="exec:aphrodisiac_have=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<aphrodisiac_have>> </b></a>'
+		*pl 'Joints: <a href="exec:mc_inventory[''joints'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''joints'']>> </b></a>'
+		*pl 'Cocaine: <a href="exec:mc_inventory[''cocaine'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''cocaine'']>> </b></a>'
+		*pl 'Amphetamine: <a href="exec:mc_inventory[''amphetamine'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''amphetamine'']>> </b></a>'
+		*pl 'Neuroboosters: <a href="exec:mc_inventory[''mentats'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''mentats'']>> </b></a>'
+		*pl 'Steroids: <a href="exec:mc_inventory[''steroids'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''steroids'']>> </b></a>'
+		*pl 'Breast cream: <a href="exec:mc_inventory[''breastcream'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''breastcream'']>> </b></a>'
+		*pl 'Aphrodisiacs: <a href="exec:mc_inventory[''aphrodisiac'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''aphrodisiac'']>> </b></a>'
 	end
 	'<h4>Sex shop items</h4>'
 	if showSexItems = 0:

+ 5 - 5
locations/Cum_Manage.qsrc

@@ -955,11 +955,11 @@ if $ARGS[0] = 'cum_stat_display':
 			end
 		if j < 7: j+=1 & jump 'ageloop'
 
-		if stat_cumloc_check = 1 and cheatKlisma = 1 and (FUNC('Cum_Manage', 'check_private', i) = 0 _ 
+		if stat_cumloc_check = 1 and (FUNC('Cum_Manage', 'check_private', i) = 0 _ 
 		or (i <> 0 and cumsumass = 0 and cumsumvag > 0 and FUNC('Cum_Manage', 'check_innards', 0) = 0) _ 
 		or (i <> 3 and cumsumvag = 0 and cumsumass > 0 and FUNC('Cum_Manage', 'check_innards', 3) = 0) _ 
 		or (i > 3 and cumsumvag > 0 and FUNC('Cum_Manage', 'check_innards', 0) = 0 and cumsumass > 0 and FUNC('Cum_Manage', 'check_innards', 3) = 0)):
-			stat_cumloc_check = 0
+			stat_cumloc_check = 2
 		end
 
 	if i < 18: i+=1 & jump 'cumlocloop'
@@ -1101,7 +1101,7 @@ if $ARGS[0] = 'cum_decay':
 !! ARGS[1] forced cum leak (sex intercourse) in values like 20-100
 
 	cumforced = ARGS[1]
-	if (menu_off = 1 or cumdectime+15 > totminut) and cumforced = 0: exit
+	if ((menu_off = 1 or cumdectime+15 > totminut) and cumforced = 0) or no_cum_leak = 1: exit
 
 	if arrsize('sparrvol') > 0:
 		cumsumvag = 0
@@ -1130,7 +1130,7 @@ if $ARGS[0] = 'cum_decay':
 							cumsumvag += sparrvol[idx]
 							!! seeping out
 							if FUNC('Cum_Manage', 'check_innards', 0) = 1 or cumforced/rand(2,3) > sparrvol[idx]:
-								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(1,3), rand(sparrvol[idx]/pcs_vag, vgape*40) - InSleep*rand(2,5) + iif(pcs_horny>50, min(100,pcs_horny)/10 - 4,0)) + cumforced/rand(5,10))
+								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(1,3), rand(sparrvol[idx]/max(1,pcs_vag), vgape*40) - InSleep*rand(2,5) + iif(pcs_horny>50, min(100,pcs_horny)/10 - 4,0)) + cumforced/rand(5,10))
 								sparrvol[idx] -= cumamount & cumsumvag -= cumamount
 								cumvol[0] -= cumamount
 
@@ -1193,7 +1193,7 @@ if $ARGS[0] = 'cum_decay':
 							cumsumass += sparrvol[idx]
 							!! seeping out
 							if FUNC('Cum_Manage', 'check_innards', 3) = 1 or cumforced/rand(2,4) > sparrvol[idx]:
-								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(0,1), rand(sparrvol[idx]/(pcs_ass*3/2), agape*20) - InSleep*rand(4,8)) + cumforced/rand(7,15))
+								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(0,1), rand(sparrvol[idx]/max(1,(pcs_ass*3/2)), agape*20) - InSleep*rand(4,8)) + cumforced/rand(7,15))
 								sparrvol[idx] -= cumamount & cumsumass -= cumamount
 								cumvol[3] -= cumamount
 

+ 9 - 9
locations/FedorEv.qsrc

@@ -17,15 +17,15 @@ if $ARGS[0] = '' or $ARGS[0] = 'Start':
 		gt 'FedorEv', 'Strela Chat'
 	elseif FedorvsDimka = 2:
 		gt 'FedorEv4', 'Dimka Aftermath'
-	elseif GorSlut = 1 and fedorkoztalk = 0 and FedorLove = 0:
+	elseif fedorKozlovQW >= 10 and fame['pav_slut'] >= 150 and fame['pav_slut'] < 250 and fedorkoztalk = 0 and FedorLove = 0:
 		gt 'FedorEv', 'Gorslut'
-	elseif fedorKozlovQW >= 10 and GorSlut > 1 and FedorLove = 0:
+	elseif fedorKozlovQW >= 10 and fame['pav_slut'] >= 250 and FedorLove = 0:
 		gt 'FedorEv', 'Gorslut 2'
 	elseif fedorKozlovQW = 10 and FedorLuv < -5:
 		gt 'FedorEv2', 'Fedor Breakup'
 	elseif fedorKozlovQW >= 10 and dimaFilm = 1 and FedorvsDimka = 1:
 		gt 'FedorMisc', 'Fedor Vs Dimka'	
-	elseif fedorKozlovQW >= 20 and GorSlut < 2:
+	elseif fedorKozlovQW >= 20 and fame['pav_slut'] < 250:
 		if rand(0,1) = 0:
 			gt 'FedorEv', 'Fedor Date 2'
 		else
@@ -43,7 +43,7 @@ if $ARGS[0] = 'Vitek Vs Fedor':
 	gs 'stat'
 	'<center><b><h4><font color="red"><<"Viktor [Vitek] Kotov">></font></h4></b></center>'
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big9.jpg"></center>'
-	'When you approach Fedor, Vitek sees you walking Fedor''s way and follows you right away. He shoves Fedor roughly: "What do you think you''re doing, punk? <<$pcs_firstname>> is <b>mine!</b>" Fedor turns his face to Vitek and calmly says, "I''m not doing anything. <<$pcs_firstname>> is with me now, so you should just leave us alone." Vitek theatrically moves his hand to his ear, and says, in a threatening voice: "What did you just say!?" to which Fedor calmly replies: "You heard me." You can tell that Vitek is seething with rage now, the knuckles on his clenched fists turning white. Fedor moves his face even closer to Vitek''s and repeats, also clenching his fists: "You heard me. Get away from <<$pcs_firstname>>, Vitek."'
+	'You approach Fedor, and wrap you arms around him, as he does the same, embracing you firmly, when Vitek quickly approaches Fedor from behind, before violently shoving Fedor back, and saying in a menacing tone, "What do you think you''re doing, punk? <<$pcs_firstname>> is <b>mine!</b>" Fedor turns his face to Vitek, and firmly states, "<<$pcs_firstname>> is with me now, so why don''t you hit the road?" Vitek theatrically moves his hand to his ear, and says, in a threatening tone, "What did you just say!?" To which Fedor boldly replies, "You heard me." You can tell that Vitek is seething with rage now, as his face turns red, and the knuckles on his clenched fists, turn a deathly white. Fedor moves his face even closer to Vitek''s, and repeats, also clenching his fists: "You heard me. Get away from <<$pcs_firstname>>, Vitek."'
 
 	act 'Tell Vitek you want to be with Fedor':
 		*clr & cla
@@ -52,7 +52,7 @@ if $ARGS[0] = 'Vitek Vs Fedor':
 		gs 'stat'
 		'<center><b><h4><font color="red"><<"Viktor [Vitek] Kotov">></font></h4></b></center>'
 		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big9.jpg"></center>'
-		'You tell Vitek that you don''t want to be with him any more. You can tell he''s very angry, and has to restrain himself from hitting you in the face. Ultimately he exclaims "Fuck you, bitch!" and leaves, kicking over several garbage cans on the way. You fear that this might not be the last thing you''ve heard of him.'
+		'Not wanting to see Fedor hurt, you tell Vitek the truth, "Vitek please calm down, I know we had some fun together, but I''m with Fedor now." Vitek grimaces, obviously furious with both of you, but fortunately, has enough composure to restrain himself from hitting you in the face. He ultimately, calms himself, before looking you in the eyes, and shouting, "You''re going to pay for this, you fucking cheating, bitch!" Vitek begins walking away, but not before kicking over several garbage cans on the way. you can''t help but shutter at the feeling that this might not be the last you''ve heard of him.'
 
 		act 'Continue':gt $curloc
 	end
@@ -62,9 +62,9 @@ if $ARGS[0] = 'Vitek Vs Fedor':
 		minut += 5
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/Strela/fvsv.jpg"></center>'
-		'Vitek suddenly hits Fedor on the chin with a quick jab, which sends Fedor flying backwards landing on his back on the pavement. Vitek immediately gets on top of him, grabbing him by the collar with his left hand while he keeps punching Fedor in the face with his right hand. Fedor tries to ball up and kick Vitek, but doesn''t manage and Vitek gives him a hard kick in the ribs when he gets back up, which makes Fedor double over grasping his stomach. When Fedor tries to get up, Vitek kicks him against the head which makes Fedor fall over again. Then you see Vasily and Dan coming around the corner, they run towards Vitek when they notice he''s fighting. "Vitek, what''s going on?" Vasily asks. Vitek kicks the now prone Fedor once more in his sides. "This fucker is trying to steal my girl!" he exclaims, pointing at Fedor. For a moment' 
+		'Vitek suddenly hits Fedor on the chin with a quick jab, which sends Fedor flying backwards; landing backward on the pavement. Vitek immediately climbs on top of him, grabbing him by the collar, with his left hand, while punching Fedor in the face with his right one. Fedor tries to ball up and kick Vitek, but doesn''t manage to phase him, as Vitek gives him a hard kick in the ribs when he gets back up, which makes Fedor fall over grasping his stomach. As Fedor tries to get up, Vitek kicks him in his head, which causes Fedor fall over again. As Fedor hits the ground, you see Vasily and Dan coming around the corner, they run towards Vitek when they notice that he''s fighting. "Vitek, what''s going on?" Vasily asks. Vitek kicks the now prone Fedor, once more in his sides. "This fucker is trying to steal my girl!" He exclaims, pointing at Fedor.' 
 		*nl
-		'you''re scared he''s going to beat you up too, but he doesn''t. Dan moves over to Fedor''s barely conscious body and asks: "Hasn''t anyone told you that it''s rude to steal someone''s girl, Fedor? What do you have to say for yourself?" Fedor looks up, barely realizing what''s going on any more. His face is all busted up, but he''s not willing to let it go: "<<$pcs_firstname>> is my girl..." he moans. Vasily laughs like a jackal, while Vitek is furious once more: "You little shit! I''m going to..." Dan interrupts him: "Relax, Vitek. Look at his face. I think he realizes his mistake. Or do you want to make things even worse for yourself?" That last question was directed at Fedor.'
+		'Feeling terrified that Vitek might hurt you too, in his blind rage, you remain silent. Dan moves over to Fedor''s, as Fedor struggles to remain conscious, and asks: "Hasn''t anyone told you that it''s rude to steal someone''s girl, Fedor? What do you have to say for yourself?" Fedor looks up, barely realizing what''s going on any more. His face is all busted up, but he''s not willing to let it go: "<<$pcs_firstname>> is my girl..." He groans. Vasily begins laughing like a jackal, while Vitek furiously shouts at Fedor once more: "You little shit! I''m going to..." Dan interrupts him: "Relax, Vitek. Look at his face. I think he realizes his mistake. Or do you want to make things even worse for yourself?" That last question was directed at Fedor.'
 		'<center><b><font color="maroon"><<"Vasily [Shulga] Shulgin">></font></b></center>'
 		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big11.jpg"></center>'
 
@@ -75,7 +75,7 @@ if $ARGS[0] = 'Vitek Vs Fedor':
 			gs 'stat'
 			'<center><b><h4><font color="blue"><<"Fyodor [Fedor] Kozlov">></font></h4></b></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/fedorangry.jpg"></center>'
-			'Fedor slowly rises to his feet, and softly mutters: "Fucking Gopniks..." Vasily hears him though, and immediately slams his fist into Fedor''s face. Fedor tries to keep standing, but immediately gets hit by Dan as well. No longer able to support his weight, he falls to his hands and knees. Vasily jokes: "Look at him... already assuming the position!" making the other Gopniks laugh. Vitek kicks him in the stomach again, and Fedor lies flat on the ground. Vitek looks at Dan and asks: "Can you believe I have to put up with this shit?"' 
+			'Fedor slowly rises to his feet, and softly mutters: "Fucking Gopniks..." Vasily hears him clearly, immediately slamming his fist into Fedor''s face, but Fedor refuses to fall until he is immediately hit by Dan in his stomach. No longer able to support his weight, he falls to his hands and knees. Vasily jokes: "Look at him... already assuming the position!" Making the other Gopniks laugh. Vitek kicks him in the stomach again, knocking Fedor onto his back, laying flat on the ground. Realizing he won, Vitek looks to Dan and asks: "Can you believe the shit I have to put up with?"' 
 
 			act 'Hear what Dan has to say':
 				*clr & cla
@@ -83,7 +83,7 @@ if $ARGS[0] = 'Vitek Vs Fedor':
 				gs 'stat'			
 				'<center><b><h4><font color="blue"><<"Fyodor [Fedor] Kozlov">></font></h4></b></center>'
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/fedorev/Strela/fedor.jpg"></center>'				
-				'Dan replies: "We could ask Vadim Bely to take care of him. He''ll know how to punish Fedor in a way that he''ll never forget." Vitek nods: "Good plan. Set it up, will you?" He then turns to Fedor "We''re settling this tomorrow, kid. You better be here after school, it''ll be ten times worse for you if you don''t." He then waves for his friends to follow him "Come on guys. Let''s go have some beers in the park, I need to relax. <<$pcs_nickname>>, if you want to join us, you know where we''ll be." Vitek and Dan leave Fedor on the ground and head for the schoolyard exit, but Vasily walks over to Fedor and kicks him in the ribs one more time, still laughing that signature jackal laugh of his. He then joins his friends, and moments later they''re gone.'
+				'Dan replies: "We could ask Vadim Bely to take care of him. He''ll know how to punish Fedor in a way that he''ll never forget." Vitek nods: "Good plan. Set it up, will you?" He then turns to Fedor "We''re settling this tomorrow, kid. You better be here after school, it''ll be ten times worse for you if you don''t." He then waves for his friends to follow him "Come on guys. Let''s go have some beers in the park, I need to relax. <<$pcs_nickname>>, if you want to join us, you know where we''ll be." Vitek and Dan leave Fedor on the ground then head for the schoolyard exit, but as they pass Fedor, Vasily quickly kicks him in the ribs one more time, still laughing that signature jackal laugh of his. He then joins his friends, and moments later, they''re gone.'
 
 				act 'Leave the school courtyard':gt 'pav_residential'
 			end

+ 2 - 2
locations/FedorEv2.qsrc

@@ -575,11 +575,11 @@ if $ARGS[0] = 'Wash Up':
 	menu_off = 1
 	pcs_mood += 25
 	if pcs_health < 100: pcs_health = 100
-	sweat = 7 + rand(0,4)
+	gs 'sweat', 'add', 7 + rand(0,4)
 	hapri = 1
 	mop = 1
 	cumspclnt = 1
-	gs 'cum_cleanup'	
+	gs 'cum_cleanup'
 	frost = 0
 	FedorLuv = 100
 	gs 'boyStat', 'A5'

+ 4 - 10
locations/FedorMisc.qsrc

@@ -513,8 +513,7 @@ if $ARGS[0] = 'Smoke':
 	*clr & cla
 	menu_off = 1
 	npc_rel['A5'] += 5
-	mc_inventory['cigarettes'] += 1
-	gs 'drugs', 'smoke'
+	gs 'drugs', 'smoke', 1
 	cumspclnt = 2
 	gs 'cum_cleanup'
 	pcs_breath = 0
@@ -531,13 +530,8 @@ if $ARGS[0] = 'Smoke 2':
 	*clr & cla
 	menu_off = 1
 	npc_rel['A5'] += 5
-	mc_inventory['cigarettes'] += 1
-	gs 'drugs', 'smoke'
-	cumspclnt = 2
-	gs 'cum_cleanup'
-	pcs_breath = 0
-	pcs_mood += 100
-	gs 'stat'
+	gs 'drugs', 'smoke', 1
+
 	'<center><b><h4><font color="blue"><<"Fyodor [Fedor] Kozlov">></font></h4></b></center>'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/school/Hall/smoke.jpg"></center>'
 	'"Sure thing." Fedor hands you a cigarette then puts one in his mouth as he collects his lighter from his pocket then lights both cigarettes. You both spend the next few minute gossiping about your classmates.'
@@ -644,7 +638,7 @@ if $ARGS[0] = 'Strength':
 	*clr & cla
 	menu_off = 1
 	minut += 30
-	gs 'exp_gain', 'stren', rand(1, 4) + (steroid_dose - rand(0,steroid_dose)) & gs 'obj_din', 'steroids'
+	gs 'exp_gain', 'stren', rand(1, 4) + rand(0, drugVars['steroids_dose']) & gs 'obj_din', 'steroids'
 	fat -= 1
 	pcs_mood += 5
 	gs 'sweat', 'add', 30

+ 2 - 1
locations/HotelRoom.qsrc

@@ -42,6 +42,7 @@ if $ARGS[0] = 'normal':
 		if money >= 100:act'Order room service (0:30) (100 <b>₽</b>)':gs 'food', 'h_food'
 		act 'Drink some water (0:01)': gs 'beverage', 'bev_wat'
 		if $hotel = 'pav_hotel': gs 'prostitution_functions', 'prostitute_outfit_at_home'
+		gs 'wardrobe', 'default_clothing_options'
 		dynamic $fatdel
 		dynamic $lekarstvo
 		dynamic $vitamin
@@ -173,7 +174,7 @@ if $ARGS[0] = 'therapist':
 			killvar '$hotel'
 		else
 			msg'<b><font color = red>You need to get dressed before leaving your hotel room.</font></b>'
-			gt 'HotelRoom', 'better'
+			gt 'HotelRoom', 'therapist'
 		end
 	end
 

+ 1 - 1
locations/JuliaMilHome.qsrc

@@ -370,7 +370,7 @@ if $ARGS[0] = 'julia_room':
 			juliaQW['homework_day'] = daystart
 			gs 'npc_relationship', 'modify', 'A12', 'love' 
 			lern += rand(3,6)
-			gs 'exp_gain', 'intel', rand(1,2) + (mentats_dose - rand(0,mentats_dose))
+			gs 'exp_gain', 'intel', rand(1,2) + rand(0, drugVars['mentats_dose'])
 			gs 'stat'
 
 			*clr & cla

+ 31 - 59
locations/KatjaHomeTalk.qsrc

@@ -133,11 +133,7 @@ if $ARGS[0] = '':
 			end
 		end
 	end
-	if mey_vika['key'] = 1:
-		Act 'Leave the room': gt 'mey_home', 'start'
-	else
-		act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
-	end
+	act 'Leave the room': gt 'mey_home', 'start'
 end
 
 
@@ -430,11 +426,7 @@ if $ARGS[0] = 'chat':
 		act 'Tell Katja, that you have decided that boys are fun after all <br><font color="red">(Katja will start asking about sex with boys again)</font>': gt 'KatjaHomeTalk',  'boy_yes'
 	end
 
-	if mey_vika['key'] = 1:
-		Act 'Leave the room': gt 'mey_home', 'start'
-	else
-		act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
-	end
+	act 'Leave the room': gt 'mey_home', 'start'
 end
 
 if $ARGS[0] = 'shower':
@@ -779,17 +771,13 @@ if $ARGS[0] = 'homework':
 	npc_rel['A14'] += 2
 	gs 'grades', 'homework', 'school', 'yes', 1, 1, 'A14'
 	lern += rand(2, 4)
-	gs 'exp_gain', 'intel', rand(0, 1) + (mentats_dose - rand(0,mentats_dose))
+	gs 'exp_gain', 'intel', rand(0, 1) + rand(0, drugVars['mentats_dose'])
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 	'For half an hour you and Katja pour over your books, you fully learn the lessons and pretty well understand the material.'
 
 	act 'Finish': gt 'KatjaHomeTalk'
-	if mey_vika['key'] = 1:
-		act 'Leave the room': gt 'mey_home', 'start'
-	else
-		act 'Say goodbye and leave': minut += 5 & gt 'pav_residential'
-	end
+	act 'Leave the room': gt 'mey_home', 'start'
 end
 
 if $ARGS[0] = 'Sextalk':
@@ -1324,7 +1312,7 @@ if $ARGS[0] = 'bj_talk2':
 	
 	act'It''s boring':
 		cla & *nl
-		'"It''s boring," you roll your eyes. "You have to keep sucking the whole time and after a while, my jaw just starts to ache with the motion. It''s a dick in your mouth, I don''t know what to tell you.'
+		'"It''s boring," you roll your eyes. "You have to keep sucking the whole time and after a while, my jaw just starts to ache with the motion. It''s a dick in your mouth, I don''t know what to tell you."'
 		'Katja seems taken aback, looking almost worried. You guess you just shattered some impressions she had about giving head.'
 		act 'Continue':
 			minut += 5
@@ -1445,10 +1433,8 @@ if $ARGS[0] = 'tender_kiss':
 					end
 					if $loc = 'katja_dorm':
 						act 'Stop talking': gt 'katja_dorm', 'start'
-					elseif mey_vika['key'] = 1:
-						Act 'Leave the room': gt 'mey_home', 'start'
 					else
-						act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
+						act 'Leave the room': gt 'mey_home', 'start'
 					end
 				end
 			else
@@ -1493,10 +1479,8 @@ if $ARGS[0] = 'tender_kiss':
 					end
 					if $loc = 'katja_dorm':
 						act 'Stop talking': gt 'katja_dorm', 'start'
-					elseif mey_vika['key'] = 1:
-						act 'Leave the room': gt 'mey_home', 'start'
 					else
-						act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
+						act 'Leave the room': gt 'mey_home', 'start'
 					end
 				end
 			else
@@ -1784,11 +1768,7 @@ if $ARGS[0] = 'boy_discussion':
 		'You smile. "Okay, I''ll try to dance with him at the disco, and see if I can test him for you."'
 		'"You are the bestest friend!" she says with a huge smile and gives you a tight hug.'
 		act 'Talk about something else': gt 'KatjaHomeTalk'
-		if mey_vika['key'] = 1:
-			act 'Leave the room': gt 'mey_home', 'start'
-		else
-			act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
-		end
+		act 'Leave the room': gt 'mey_home', 'start'
 	end
 end
 
@@ -1812,11 +1792,7 @@ if $ARGS[0] = 'anal_discussion':
 		'"He trains in the gym at the community center in the late afternoon. You might have luck talking with him there. I''ve also heard a rumor that he sometimes uses the women''s shower there," she tells you.'
 		'You smile. "Okay, I''ll try to see if he''s up for something there and try him out for you."'
 		act 'Talk about something else': gt 'KatjaHomeTalk'
-		if mey_vika['key'] = 1:
-			act 'Leave the room': gt 'mey_home', 'start'
-		else
-			act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
-		end
+		act 'Leave the room': gt 'mey_home', 'start'
 	end
 end
 
@@ -1839,10 +1815,8 @@ if $ARGS[0] = 'preventation_talk':
 	end
 	if $loc = 'katja_dorm':
 		act 'Stop talking': gt 'katja_dorm', 'start'
-	elseif mey_vika['key'] = 1:
-		act 'Leave the room': gt 'mey_home', 'start'
 	else
-		act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
+		act 'Leave the room': gt 'mey_home', 'start'
 	end	
 end
 
@@ -1871,11 +1845,7 @@ if $ARGS[0] = 'random_park_sex_talk':
 				act 'Tell Katja that you think she should use birth control': gt 'KatjaHomeTalk', 'preventation_talk'
 			end
 			act 'Talk about something else': gt 'KatjaHomeTalk'
-			if mey_vika['key'] = 1:
-				act 'Leave the room': gt 'mey_home', 'start'
-			else
-				act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
-			end
+			act 'Leave the room': gt 'mey_home', 'start'
 		end
 	end
 end
@@ -2014,13 +1984,21 @@ end
 if $ARGS[0] = 'uni_tell':
 	*clr & cla
 	minut += 15
-	katjaQW['know_going_to_teaching_degree'] = 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
-	if katjaQW['know_katja_uni'] = 0:
-		'You tell Katja that you have enrolled at the university to study to become a teacher. She replies that she also plans to do the same and that it will be fun studying at the university together. She bombards you with questions about how your enrolment process went.'
+	if $university['enrolled_in'] = 'teaching_studies':
+		katjaQW['know_going_to_teaching_degree'] = 1
+		if katjaQW['know_katja_uni'] = 0:
+			'You tell Katja that you have enrolled at the university to study to become a teacher. She replies that she also plans to do the same and that it will be fun studying at the university together. She bombards you with questions about how your enrolment process went.'
+		else
+			'You tell Katja that you have also enrolled to study teaching at the university. She replies that it will be fun studying at the university together before you spend the next few minutes talking excitedly about what you know about the program.'
+		end
 	else
-		'You tell Katja that you have also enrolled to study teaching at the university. She replies that it will be fun studying at the university together before you spend the next few minutes talking excitedly about what you know about the program.'
+		if katjaQW['know_katja_uni'] = 0:
+			'You tell Katja that you have enrolled at the university to study <<func(''uni_programs'', ''program_name'')>>. She replies that she plans to enroll to study to become a teacher, but that you will probably still see each other often there.'
+		else
+			'You tell Katja that you have also enrolled to study  <<func(''uni_programs'', ''program_name'')>>. She replies that she is enrolled in the program to study become a teacher, but that you will probably still see each other often there.'
+		end	
 	end
 	if $loc = 'mey_home':
 		act 'Talk about something else': gt 'KatjaHomeTalk'
@@ -2036,16 +2014,16 @@ if $ARGS[0] = 'katja_uni_tell':
 	*clr & cla
 	minut += 15
 	katjaQW['know_katja_uni'] = 1
-	katjaQW['knows_dorm_room_number'] = 1
+	if katjaQW['QWstage'] = 2: katjaQW['knows_dorm_room_number'] = 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 	if katjaQW['know_going_to_teaching_degree'] = 0:
-		'Katja excitedly tells you that she has been accepted into the university to study teaching. She then tells you about how great the program is. She also tells you that she is going to move into room 26 at the university dorm at the beginning of August.' 
-		if university['student'] = 1 and $university['enrolled_in'] = 'teaching_studies':
+		'Katja excitedly tells you that she has been accepted into the university to study teaching. She then tells you about how great the program is.'+iif(katjaQW['QWstage'] = 2, 'She also tells you that she is going to move into room 26 at the university dorm at the beginning of August.', '')
+		if university['student'] = 1:
 			act 'Tell Katja that you''re going to the university': gt 'KatjaHomeTalk', 'uni_tell'
 		end	
 	else
-		'Katja excitedly tells you that she has also been accepted into the university to study teaching and that it will be fun studying at the university together. She also tells you that she is going to move into room 26 at the university dorm at the beginning of August. You then spend the next few minutes talking excitedly about what you know about the program.'
+		'Katja excitedly tells you that she has also been accepted into the university to study teaching and that it will be fun studying at the university together.'+iif(katjaQW['QWstage'] = 2, 'She also tells you that she is going to move into room 26 at the university dorm at the beginning of August.', '')+'  You then spend the next few minutes talking excitedly about what you know about the program.'
 	end
 	if $loc = 'mey_home':
 		act 'Talk about something else': gt 'KatjaHomeTalk'
@@ -2076,10 +2054,8 @@ if $ARGS[0] = 'boy_no':
 	end
 	if $loc = 'katja_dorm':
 		act 'Stop talking': gt 'katja_dorm', 'start'
-	elseif mey_vika['key'] = 1:
-		act 'Leave the room': gt 'mey_home', 'start'
 	else
-		act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
+		act 'Leave the room': gt 'mey_home', 'start'
 	end
 end
 
@@ -2104,10 +2080,8 @@ if $ARGS[0] = 'boy_yes':
 	end
 	if $loc = 'katja_dorm':
 		act 'Stop talking': gt 'katja_dorm', 'start'
-	elseif mey_vika['key'] = 1:
-		act 'Leave the room': gt 'mey_home', 'start'
 	else
-		act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
+		act 'Leave the room': gt 'mey_home', 'start'
 	end
 end
 
@@ -2123,7 +2097,7 @@ if $ARGS[0] = 'fisting_ask':
 	'"But it does sound so hot!" she says. "Maybe... you could..." her voice trails off. After a moment, she continues. "Maybe you could show me..."' 
 	'"You want me to fist myself here in front of you?" you ask.' 
 	'"No, I want you... to..." her voice falters again.' 
-	'"You want me to fist you?" you ask. She doesn''t say anything, but slowly nods. "Right now?" Again she doesn''t say anything, but nods."'
+	'"You want me to fist you?" you ask. She doesn''t say anything, but slowly nods. "Right now?" Again she doesn''t say anything, but nods.'
 	act 'Show Katja how fisting is done': gt 'katja_sex', 'first_fisting'
 	act 'Say you will do it another time':
 		*clr & cla
@@ -2131,10 +2105,8 @@ if $ARGS[0] = 'fisting_ask':
 		'You tell Katja that you are not in the mood right now, but you might do it another time if she asks.'
 		if $loc = 'katja_dorm':
 			act 'Stop talking': gt 'katja_dorm', 'start'
-		elseif mey_vika['key'] = 1:
-			act 'Leave the room': gt 'mey_home', 'start'
 		else
-			act 'Say goodbye and leave':minut += 5 & gt 'pav_residential'
+			act 'Leave the room': gt 'mey_home', 'start'
 		end	
 	end
 end

+ 2 - 1
locations/Katlake.qsrc

@@ -38,7 +38,8 @@ if $ARGS[0] = 'znakomstvo':
 		clr
 		katday = daystart
 		telkat += 1
-		gs 'telefon', 'AddContact', 'A219', 'icon_kat',"$telsob = 'Kate' & gt 'telefon', 'mobilaraz'","hour >= 8 and hour <= 20","",""
+		gs 'telefon', 'AddContact', 'A219', 'icon_kat', 0
+		gs 'telefon', 'SetCallSchedule', 'A219', "$telsob = 'Kate' & gt 'telefon', 'mobilaraz'", "hour >= 8 and hour <= 20", "", "0"
 		kat = 1
 		npc_rel['A219'] += 1
 		minut += 30

+ 189 - 82
locations/Komp.qsrc

@@ -7,7 +7,7 @@ if $ARGS[0] = 'start':
 	!!elektro += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
-	'Your computer boots up, and soon you''re looking at your operating system''s main screen.'
+	'Your computer boots up and you''re soon looking at your operating system''s main screen.'
 
 	act 'Shut your computer down': 
 		killvar '$subs'
@@ -17,7 +17,7 @@ if $ARGS[0] = 'start':
 	act 'Play Solitaire (0:20)': gt 'komp', 'pasians'
 	
 	if AlbinaQW['flashdrive'] = 1:
-		if $loc = 'dachain' or $loc = 'sitr' or $loc = 'bedr' or $loc = 'bedr2x' or ($loc = 'uni_dorm' and $loc_arg = 'dorm_room') or ($loc = 'city_mansion_residence_2' and $loc_arg = 'yoffice') or ($loc = 'pav_shared_apt' and $loc_arg = 'pcsRoom') or ($loc = 'mey_home' and $loc_arg = '3') or ($loc = 'city_house_res_misc' and $loc_arg = 'livroom') or $loc = 'nichBedroomServant' or (locat['Anya_inroom'] = 0 and $loc = 'bedrPar'):
+		if $loc = 'dachain' or $loc = 'sitr' or $loc = 'bedr' or $loc = 'bedr2x' or ($loc = 'uni_dorm' and $loc_arg = 'dorm_room') or ($loc = 'city_mansion_residence_2' and $loc_arg = 'yoffice') or ($loc = 'pav_shared_apt' and $loc_arg = 'pcsRoom') or ($loc = 'mey_home' and $loc_arg = 'guest_bedroom') or ($loc = 'city_house_res_misc' and $loc_arg = 'livroom') or $loc = 'nichBedroomServant' or (locat['Anya_inroom'] = 0 and $loc = 'bedrPar'):
 			act 'Check Albina''s flash drive': gt 'albina_house_events', 'flash_drive'
 		end
 	end
@@ -28,8 +28,7 @@ if $ARGS[0] = 'start':
 
 	!!act 'SunReview of the Dead': gt 'KGZstart'
 
-	!! If the access uses one of the home connections (i.e. Sveta is at home, or in a location that she owns)
-	!! and the 'internet_enabled' value is 1, the Sveta is paying utlities.
+	!! If the access uses one of the home connections (i.e. Sveta is at home, or in a location that she owns and the 'internet_enabled' value is 1, then Sveta is paying utlities.
 	!! Now electricity can go up - but by 5???
 	elektro += 5
 
@@ -62,23 +61,22 @@ if $ARGS[0] = 'browse':
 	!! check if the original account still valid?
 	!! if account_used > 0
 	!! There are 3 ways this can happen during the use of the inernet:
-	!!  1. Sveta is using a minute based internet and ran out of minutes.
-	!!  2. Sveta is using a subscription, she didn''t have enough money to pay the monthly fee, grace period expired and 
-	!!		the interned service has been cut off
-	!!  3. Sveta is using a free internet and something went really, really wrong that set subscription[''free''] to 0.
+	!!  1. Sveta is using minute based internet and ran out of minutes.
+	!!  2. Sveta is using a subscription, she didn''t have enough money to pay the monthly fee, the grace period expired and the interned service has been cut off.
+	!!  3. Sveta is using free internet and something went really, really wrong that set subscription[''free''] to 0.
 	if subscription[$subs] < 1:
 		'<center><b>Browser</b></center>'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/eror.jpg"></center>'
-		'You have no internet access, '+iif(access['metered'], ' you have to buy more minutes.', ' maybe you forgot to pay the internet bill?')
+		'You have no internet access. '+iif(access['metered'], ' You have to buy more minutes.', ' Maybe you forgot to pay the internet bill?')
 		
-		if  camwhore = 1 and access['nocamshow'] = 0 and mc_inventory['tech_webcam'] = 1: 
+		if camwhore = 1 and access['nocamshow'] = 0 and mc_inventory['tech_webcam'] = 1: 
 			'Since MyFreeCams will cover the cost, you can still log on to do a cam show.'
 			act 'Go to MyFreeCams.org': gt 'komp_camgirl', 'start'
 		end
 	else
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
 		if access['general-text'] = 1: '<center><h4 style="color: red;"><b><<$access[''general-text'']>></b></h4></center>'
-		'You go to your favourite start page, while you try to decide on what you want to see right now.'		
+		'You head to your favourite start page while you decide what you want to do.'		
 		'A blinking banner for a <a href="exec: gt ''komp'',''agent''">Kirsanova Real Estate Agency</a> keeps popping up in the corner.'
 		if access['noporn'] = 1:
 			"<b><<$access['noporn']>></b>"
@@ -94,7 +92,7 @@ if $ARGS[0] = 'browse':
 
 		if hour < 20 and hour > 7:
 			if $clothingworntype = 'nude':
-				'You need to be dressed before searching for jobs.'
+				'You should get dressed before searching for jobs.'
 			else
 				act 'Look for a job online': gt 'komp', 'rabota'
 			end
@@ -110,7 +108,7 @@ if $ARGS[0] = 'browse':
 
 		if fuckornot_uni = 1: act 'Visit ''Fuckable or not'' University site': $view_location = 'komp' & gt 'komp_HF_or_not', 'fuckornot_uni'
 		if hotornot_uni = 1: act 'Visit ''Hot or not'' University site': $view_location = 'komp' & gt 'komp_HF_or_not', 'hotornot_uni'
-		!!if bankAccount > 0: act 'Visit your bank, maybe to purchase more online time': gt 'komp', 'bank'
+		!!if bankAccount > 0: act 'Visit the bank website': gt 'komp', 'bank'
 		if gor_dorm = 7: act 'Read letter from Eugene': gt 'etoexhib', 'pos91'
 		if camwhore = 1 and access['nocamshow'] = 0 and mc_inventory['tech_webcam'] = 1: act 'Go to MyFreeCams.org': gt 'komp_camgirl', 'start'
 		if (mid($start_type,1,2) = 'sg' and SchoolAtestat = 0) or func('uniutil', 'student', 'enrolled'): act 'Spend time studying': gt 'komp', 'study'
@@ -129,19 +127,18 @@ if $ARGS[0] = 'sale':
 		minut += 30
 		elektro += 3
 		gs 'internet_mobile', 'use_internet', $subs, 30
-
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
 		'You go to a popular website where people can post advertisements for free. You could post an advertisement here.'
-		if obkvsdam >= 1 and func('homes_properties', 'property_status', 'city_apartment') = 2: 'You placed an advertisement to rent out your apartment. You should probably check every once in a while to see if anyone responded.'
+		if obkvsdam >= 1 and func('homes_properties', 'property_status', 'city_apartment') = 2: 'You place an advertisement to rent out your apartment. You should check every once in a while to see if anyone responds.'
 
 		if obkvsdam = 0 and func('homes_properties', 'property_status', 'city_apartment') = 2:
-			act 'Rent out your city residential apartment':obkvsdam = 1 & gt 'komp', 'sale'
+			act 'Rent out your city residential apartment': obkvsdam = 1 & gt 'komp', 'sale'
 		elseif obkvsdam > 0:
 			act 'Check if you got any replies':
 				cla
 				if obkvsdam = 1:
-					'No one has responded to your offer to rent out your apartment just yet.'
+					'Nobody has responded to your offer to rent out your apartment yet.'
 				elseif obkvsdam > 1: 
 					predsum = 14000 + (obkvsdam*1000)
 					'Someone wants to stay in your apartment for a month! They''re offering you <<predsumm>> <b>₽</b> in cash.'
@@ -168,9 +165,9 @@ if $ARGS[0] = 'porno':
 	if subscription[$subs] < 1:
 		'<center><b>Browser</b></center>'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/eror.jpg"></center>'
-		'You have no internet access, '+iif(access['metered'], ' you have to buy more minutes.', ' maybe you forgot to pay the internet bill?')
+		'You have no internet access. '+iif(access['metered'], ' You have to buy more minutes.', ' Maybe you forgot to pay the internet bill?')
 
-		act '<B>Close the browser</B>': gt 'komp','start'
+		act 'Close the browser': gt 'komp','start'
 	elseif access['noporn'] = 1:
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
 		'<<$access[''noporn'']>>'
@@ -178,23 +175,109 @@ if $ARGS[0] = 'porno':
 		act 'Leave this website': gt 'komp', 'browse'
 	else
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
-		'You go to a porn site and browse for a few minutes, trying to find a hot video.'
+		'You go to a porn site and browse through videos for a few minutes.'
+		
+		if fame['city_porn'] >= 100: 
+			act 'Watch one of your own videos':
+				*clr & cla
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/porno.jpg"></center>'
+				'You find a video you like the look of and click on it before getting comfortable. When the video loads up, you''re surprised to find that the girl starring in it is you!' 
+				act 'Watch it':
+					cla
+					elektro += 3
+					pcs_mood += rand(10,20)
+					minut += 30
+					gs 'internet_mobile', 'use_internet', $subs, 30
+					gs 'stat'
+					'Watching yourself performing on camera is an oddly erotic experience.'
+					if fame['city_porn'] < 300:
+						'Most of the people commenting don''t appear to really know who you are. You wonder if anyone you know has seen your videos?'
+					else
+						'The viewers have no trouble recognizing you and a lot of the comments refer to you by your stage name. You wonder if anyone you know has seen your videos?'
+					end
+					gs 'arousal', 'porn', 30
+					gs 'arousal', 'erotic', 30
+					minut -= 30
+					gs 'stat'
+
+					act 'The video ends': gt 'komp', 'porno'
+				end
+				
+				act 'Turn it off':
+					cla
+					minut += 5
+					gs 'stat'
+					'You immediately turn the video off and leave the website. If you found that video yourself, then how many people have seen you?'
+					
+					act 'Leave this website': gt 'komp', 'browse'
+				end
+			end
+		end
+		
+		
+		act 'Watch vanilla porn':
+			*clr & cla
+			elektro += 3
+			pcs_mood += rand(10,20)
+			minut += 30
+			gs 'internet_mobile', 'use_internet', $subs, 30
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/porno.jpg"></center>'
+			'You find a video of a girl getting fucked and spend some time watching it while imagining yourself being in her place.'
+			gs 'arousal', 'porn', 30
+			minut -= 30
+			gs 'stat'
 
-		act 'Watch porn':
+			act 'The video ends': gt 'komp', 'porno'
+		end
+		
+		act 'Watch anal porn':
 			*clr & cla
 			elektro += 3
-			pcs_mood += rand(10, 20)
+			pcs_mood += rand(10,20)
 			minut += 30
 			gs 'internet_mobile', 'use_internet', $subs, 30
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/porno.jpg"></center>'
-			'You find a video you think you''d enjoy and spend some time watching it. Wow, that girl is so lucky...'
+			'You find a video of a girl getting fucked in the ass and spend some time watching it while imagining yourself being in her place.'
+			gs 'arousal', 'porn', 30
+			minut -= 30
+			gs 'stat'
 
+			act 'The video ends': gt 'komp', 'porno'
+		end
+		
+		act 'Watch lesbian porn':
+			*clr & cla
+			elektro += 3
+			pcs_mood += rand(10,20)
+			minut += 30
+			gs 'internet_mobile', 'use_internet', $subs, 30
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/porno.jpg"></center>'
+			'You find a video of two girls licking each other''s pussies and imagine yourself as one of them.'
+			gs 'arousal', 'porn', 30
+			minut -= 30
+			gs 'stat'
+		
+			act 'The video ends': gt 'komp', 'porno'
+		end
+		
+		act 'Watch BBC porn':
+			*clr & cla
+			elektro += 3
+			pcs_mood += rand(10,20)
+			minut += 30
+			gs 'internet_mobile', 'use_internet', $subs, 30
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/porno.jpg"></center>'
+			'You find a video of a girl getting fucked by a BBC and spend some time watching it. You can''t keep your eyes off the massive cock on your screen as you imagine yourself being in the girl''s place.'
 			gs 'arousal', 'porn', 30
 			minut -= 30
 			gs 'stat'
 
-			act 'The video ends...': gt 'komp', 'porno'
+			act 'The video ends': gt 'komp', 'porno'
 		end
 
 		if pcs_horny >= 50: act 'Masturbate': gt 'komp', 'masturbate'
@@ -205,10 +288,9 @@ end
 
 if $ARGS[0] = 'masturbate':
 	*clr & cla
-	
-	!! needs this because can arrive here from this code block and time can be gone
+	!! needs this because you can arrive here from this code block and time can be gone
 	if subscription[$subs] < 1:
-		'You have no internet access, '+iif(access['metered'], ' you have to buy more minutes.', ' maybe you forgot to pay the internet bill?')
+		'You have no internet access. '+iif(access['metered'], ' You have to buy more minutes.', ' Maybe you forgot to pay the internet bill?')
 	else
 		gs 'sweat', 'add', 10
 
@@ -219,22 +301,21 @@ if $ARGS[0] = 'masturbate':
 
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/kompmas.jpg"></center>'
-		'You get comfortable in front of your computer and with one hand begin to fondle your breasts, while you click on a link to something really dirty.'
-		'You let go of the mouse and start rubbing your pussy, imagining you''re the woman in the video. The fantasy and your touching are getting you all hot and bothered.'
-
+		'You click on a link to something really dirty and get comfortable in front of your computer, rubbing your clit and fingering yourself while imagining you''re the girl in the video.'
 		gs 'arousal', 'clit_finger', 30, 'masturbate'
+		gs 'arousal', 'vaginal_finger', 30, 'masturbate'
 		minut -= 30
 		gs 'stat'
 
 		if pcs_horny >= 100:
 			$orgasm_or = 'yes'
-			$orgasm_txt = 'Suddenly your muscles tighten and you cum powerfully, while you stifle your moans so your neighbors won''t find out. Afterward, you have goosebumps all over your skin. That was just what you needed!'
+			$orgasm_txt = 'Your muscles suddenly tighten and you stifle your moans as you have a powerful orgasm. That was just what you needed!'
 			gs 'arousal', 'clit_finger', -1, 'masturbate'
 			gs 'stat'
 		end
 
-		act 'Stop masturbating':divanmastr = 0 & gt 'komp', 'porno'
-
+		act 'Stop masturbating': divanmastr = 0 & gt 'komp', 'porno'
+		
 		gs 'arousal', 'end'
 		gs 'stat'
 
@@ -247,10 +328,9 @@ if $ARGS[0] = 'pasians':
 	minut += 20
 	elektro += 3
 	pcs_mood += rand(10, 20)
-
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
-	'You entertain yourself for about twenty minutes, playing a game of solitaire on the computer.'
+	'You entertain yourself by playing a game of solitaire on the computer.'
 
 	act 'Play for another 20 minutes': gt 'komp', 'pasians'
 	act 'Return to desktop': gt 'komp', 'start'
@@ -271,45 +351,44 @@ if $ARGS[0] = 'znak':
 		act 'Pick someone suitable for Eugenia':
 			cla
 			gor_dorm = 9
-
-			'You click through dozens of profiles, before choosing a guy who you think would be a good match for Eugenia. You send him a message, asking if he wants to meet up somewhere.'
+			'You click through dozens of profiles before choosing a guy you think would be a good match for Eugenia. You send him a message, asking if he wants to meet up somewhere.'
 			'Now the waiting game begins! Let''s hope you picked a nice guy for her...'
 
 			act 'Leave this website': gt 'komp', 'browse'
 		end
 	!! Eligible homes: 1, 2, 3, 4, 5, 7 , 10, 11, 15
 	elseif $home['type'] ! 'permanent_residence':
-		pcs_mood += rand(5, 10)
-		'You spend time looking at the various profiles, but it won''t let you register unless you have your own home and it is set as your current home.'
+		pcs_mood += rand(5,10)
+		'You spend time looking at the various profiles, but it won''t let you register unless you have your own home.'
 		'Still, some of the pictures were quite raunchy and the more desperate profiles were really funny.'
 	else
 		if pcs_lover < 3:
 			act 'Look for a kind man':
 				cla
-				gs 'boy'
+				gs 'boygirl', 0
 				gs 'boyfrend', 'start'
 				haraklover[lover_number] = 0
-				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he will call you!'
+				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he''ll call you!'
 
 				act 'Leave this website': gt 'komp', 'browse'
 			end
 
 			act 'Look for a normal guy':
 				cla
-				gs 'boy'
+				gs 'boygirl', 0
 				gs 'boyfrend', 'start'
 				haraklover[lover_number] = 1
-				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he will call you!'
+				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he''ll call you!'
 
 				act 'Leave this website': gt 'komp', 'browse'
 			end
 
 			act 'Look for a strong man':
 				cla
-				gs 'boy'
+				gs 'boygirl', 0
 				gs 'boyfrend', 'start'
 				haraklover[lover_number] = 2
-				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he will call you!'
+				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he''ll call you!'
 
 				act 'Leave this website': gt 'komp', 'browse'
 			end
@@ -335,7 +414,7 @@ if $ARGS[0] = 'kabtv':
 			cla
 			kabel = 0
 			karta -= 300
-			msg 'Your subscription has been canceled and you can no longer watch the extra channels. The cable firm charges a one-time fee of 300 <b>₽</b> for disconnecting you.'
+			msg 'Your subscription has been cancelled and you can no longer watch the extra channels. The cable firm charges a one-time fee of 300 <b>₽</b> for disconnecting you.'
 			gt 'komp', 'browse'
 		end
 	elseif kabel = 0 and mc_inventory['tech_tv'] >= 1 and mc_inventory['plasma_tv'] = 0:
@@ -343,7 +422,7 @@ if $ARGS[0] = 'kabtv':
 
 		act 'Get cable services for your TV':
 			cla
-			msg 'Unfortunately your TV is too old and crap for cable. You''ll have to get a modern TV first.'
+			msg 'Your TV is too old for cable. You''ll have to upgrade to a better one first.'
 			gt 'komp', 'browse'
 		end
 	elseif kabel = 0 and mc_inventory['plasma_tv'] >= 1:
@@ -373,12 +452,12 @@ if $ARGS[0] = 'foto':
 	if subscription[$subs] < 1:
 		'<center><b>Browser</b></center>'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/eror.jpg"></center>'
-		'You have no internet access, '+iif(access['metered'], ' you have to buy more minutes.', ' maybe you forgot to pay the internet bill?')
-		act '<B>Close the browser</B>': gt 'komp','start'
+		'You have no internet access. '+iif(access['metered'], ' You have to buy more minutes.', ' Maybe you forgot to pay the internet bill?')
+		act 'Close the browser': gt 'komp','start'
 	else
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
 		'You''re currently on Russia''s biggest social network site, "Assbook". Almost everyone has an account here, probably including the girl you took that photo of the other day!'
-		'"Maybe if I can find her, I can blackmail her", you think to yourself. "This photo is very raunchy, after all... I bet she would hate to see it published if she''s important!"'
+		'"Maybe if I can find her, I can blackmail her?" you think to yourself. "This photo is very raunchy, after all... I bet she would hate to see it published if she''s important!"'
 		'You can''t help but rub your pussy every now and then while you look at it. You''ll probably keep a copy of this for yourself, either way!'
 
 		if shantfoto > 0:
@@ -397,28 +476,28 @@ if $ARGS[0] = 'foto':
 
 				if fotsearchrand > 7:
 					shantfoto -= 1
-					'Despite your best efforts, you don''t manage to... wait, that''s her! You found her!'
+					'Despite your best efforts, you don''t manage to... Wait, that''s her! You found her!'
 					gerofotorand = rand(0,100)
 
 					if gerofotorand > 30:
-						'Your dreams of making a fortune are quickly shattered when you check out her profile. Cheap clothes, few friends, lives in a poor district of the city... this girl is not worth blackmailing.'
+						'Your hopes are quickly shattered when you check out her profile. Cheap clothes, few friends, lives in a poor district of the city... This girl isn''t worth blackmailing.'
 
 						act 'Go back to the "Assbook" main page': gt 'komp', 'foto'
 					end
 
 					if gerofotorand >= 5 and gerofotorand <= 30:
 						shantsr += 1
-						'When you click through her profile, you estimate she''s an unknown middle-class girl. Still, she has a lot of friends and the outfits she''s wearing in her photos look stylish... she has money to spend.'
-						'"Why not make her spend some of it on me?" you laugh to yourself, and begin to write a private message.'
-						'You send her a copy of the photo with the private message and tell her to transfer a very modest amount of 5,000 <b>₽</b> to your bank account. If she doesn''t want that photo to be sent to her entire friends list (which you secured before sending the message), the money needs to be on your bank account within 48 hours.'
+						'As you click through her profile, you find that the outfits she''s wearing in her photos look stylish, so she definitely has money.'
+						'"Why not spend some of it on me?" you laugh to yourself.'
+						'You send a copy of the photo with a message telling her she has 48 hours to transfer 5,000 <b>₽</b> into your bank account, otherwise you''ll send the photo to her entire friends list.'
 
 						act 'Go back to the "Assbook" main page': gt 'komp', 'foto'
 					end
 
 					if gerofotorand < 5:
 						shantbog += 1
-						'You can barely believe it when you read her profile, this girl is a celebrity! It would be a major scandal if this photo got published!'
-						'You send her a copy of the photo with a private message, telling her to transfer 30,000 <b>₽</b> to your bank account. If she doesn''t want that photo to be sent to the press, the money needs to be on your bank account within 48 hours.'
+						'You can hardly believe it when you check out her profile. This girl is a celebrity! It would be a major scandal if this photo got published!'
+						'You send a copy of the photo with a message telling her she has 48 hours to transfer 30,000 <b>₽</b> into your bank account, otherwise you''ll leak the photo to the press.'
 
 						act 'Go back to the "Assbook" main page': gt 'komp', 'foto'
 					end
@@ -435,60 +514,59 @@ if $ARGS[0] = 'rabota':
 	if subscription[$subs] < 1:
 		'<center><b>Browser</b></center>'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/eror.jpg"></center>'
-		'You have no internet access, '+iif(access['metered'], ' you have to buy more minutes.', ' maybe you forgot to pay the internet bill?')
+		'You have no internet access. '+iif(access['metered'], ' You have to buy more minutes.', ' Maybe you forgot to pay the internet bill?')
 
-		act '<B>Close the browser</B>': gt 'komp','start'
+		act 'Close the browser': gt 'komp','start'
 	else
 		minut += 30
 		elektro += 3
 		gs 'internet_mobile', 'use_internet', $subs, 30
-		komprabota = rand(0, 10)
-		if $loc = 'vasilyhome':komprabota = rand(5, 15)
+		komprabota = rand(0,12)
+		if $loc = 'vasilyhome': komprabota = rand(5,15)
 		gs 'stat'
-
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
 
 		if komprabota = 0 and gorodokkomp = 0:
-			'You find a job vacancy, on a legit-looking website. It reads: "Wanted! <b>URGENTLY!</b> Female underwear model, for a photoshoot. Pay: 2000 <b>₽</b> cash."'
-			'The description explains that they need someone today. If you decide to take this job, you will have to shut down your computer and go there right away.'
+			'You find a job vacancy on a legit-looking website. It reads: "Wanted <b>URGENTLY</b>! Female underwear model for a photoshoot. Pay: 2000 <b>₽</b> cash."'
+			'The description explains that they need someone today. If you decide to take this job, then you''ll need to go there right away.'
 
 			if pcs_apprnc < 120:
 				'You consider it for a moment but decide against it. You''re probably not pretty enough to be an underwear model.'
 			elseif pcs_apprnc >= 120:
-				act 'Accept the job and go there': gt 'qjob', 'var1'
+				act 'Accept the job': gt 'qjob', 'var1'
 			end
 
 			if hour < 20 and hour > 7: act 'Search for more jobs': gt 'komp', 'rabota'
 
 			act 'Leave this website': gt 'komp', 'browse'
 		elseif komprabota = 1 and gorodokkomp = 0:
-			'You find a job vacancy, on a legit-looking website. It reads: "Wanted! <b>URGENTLY!</b> Female underwear model, for a photoshoot. Pay: 2000 <b>₽</b> cash."'
-			'The description explains that they need someone today. If you decide to take this job, you will have to shut down your computer and go there right away.'
+			'You find a job vacancy on a legit-looking website. It reads: "Wanted <b>URGENTLY</b>! Female underwear model for a photoshoot. Pay: 2000 <b>₽</b> cash."'
+			'The description explains that they need someone today. If you decide to take this job, then you''ll need to go there right away.'
 
 			if pcs_apprnc < 120:
 				'You consider it for a moment, but decide against it. You''re probably not pretty enough to be an underwear model.'
 			elseif pcs_apprnc >= 120:
-				act 'Accept the job and go there': gt 'qjob', 'var2'
+				act 'Accept the job': gt 'qjob', 'var2'
 			end
 
 			if hour < 20 and hour > 7: act 'Search for more jobs': gt 'komp', 'rabota'
 
 			act 'Leave this website': gt 'komp', 'browse'
 		elseif komprabota > 1 and komprabota < 5 and gorodokkomp = 0:
-			'You find a job vacancy, on a legit-looking website. It reads: "Wanted! <b>URGENTLY!</b> Good-looking female model, posing for artwork. Must be able to stand still in one pose for a long time. Pay: 1000 <b>₽</b> cash."'
-			'The description explains that they need someone today. If you decide to take this job, you will have to shut down your computer and go there right away.'
+			'You find a job vacancy on a legit-looking website. It reads: "Wanted <b>URGENTLY</b>! Good-looking female model, posing for artwork. Must be able to stand still in one pose for a long time. Pay: 1000 <b>₽</b> cash."'
+			'The description explains that they need someone today. If you decide to take this job, then you''ll need to go there right away.'
 
 			if pcs_apprnc < 60:
 				'You consider it for a moment but decide against it. You''re probably not pretty enough to be a model.'
 			elseif pcs_apprnc >= 60:
-				act 'Accept the job and go there': gt 'qjob', 'var3'
+				act 'Accept the job': gt 'qjob', 'var3'
 			end
 
 			if hour < 20 and hour > 7: act 'Search for more jobs': gt 'komp', 'rabota'
 
 			act 'Leave this website': gt 'komp', 'browse'
 		elseif komprabota > 4 and komprabota < 8 and camwhore = 0:
-			'You find a job vacancy, on a legit-looking website. It reads: "Wanted! Webcam models. Flexible working hours. Click for more info."'
+			'You find a job vacancy on a legit-looking website. It reads: "Webcam models wanted! Flexible working hours. Click for more info."'
 			act 'Gather more information':
 				*clr & cla
 				minut += 5
@@ -497,11 +575,10 @@ if $ARGS[0] = 'rabota':
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/camwhore1.jpg"></center>'
 				'You click the button and get taken to the full job description.'
-				'<i>For this job, you will have to expose your body in front of customers, fulfilling their wishes. Payment is completely based on a tip system: customers on the website can buy tokens, which they can use to tip girls they enjoy watching.'
-				'The website will cover all costs during your shows. But how much money you make is up to you: the better you are at attracting viewers, and the more you are willing to do to please them, the more likely they will be to tip you.'
-				'After a quick verification, you usually get paid immediately after a session ends. The tokens you earn will be converted to rubles, and paid to your bank account right away.'
-				'The website hides your stream for viewers from your region, so the chance of being recognized by someone you know in real life is very low.'
-				'If you''re interested in becoming a webcam girl, please fill in this questionnaire below.</i>'
+				'<i>You will be required to expose your body in front of viewers and fulfil their every wish. Payment is based on a tip system: Customers on the website buy tokens which they can use to tip girls they enjoy watching.'
+				'The website will cover all costs during your shows, but how much money you make is up to you: The better you are at attracting viewers, and the more you''re willing to do to please them, the more likely they will be to tip you.' 
+				'Any tokens you earn will be converted to rubles and paid into your bank account immediately after a session ends. The website also hides your stream for viewers from your region, so the chance of you being recognized by someone you know in real life is very low.'
+				'If you''re interested, please fill in the questionnaire below.</i>'
 				
 				if bankAccount = 0:
 					'You need a valid bank account to be able to register for this job.'
@@ -521,8 +598,8 @@ if $ARGS[0] = 'rabota':
 									$pcs_webcamname = input("Which name would you like to use? (Leave blank for <<$pcs_nickname>>)")
 								if $pcs_webcamname = '':$pcs_webcamname = '<<$pcs_nickname>>'
 							end
-							'You fill out the questionnaire and register yourself as a webcam model. Ten minutes later, you have already been approved and you can now earn money as a webcam girl.'
-							'Of course, you will need a functioning webcam to do this! If you don''t have one yet, they are fairly cheap to buy at most local supermarket chains.'
+							'You fill out the questionnaire and register yourself as a webcam model. Ten minutes later, you''re approved and can now earn money as a webcam girl.'
+							'Of course, you''ll need a functioning webcam to do this! If you don''t have one yet, they''re fairly cheap to buy at most local supermarket chains.'
 							act 'Leave this website': gt 'komp','browse'
 						end
 						act 'Leave this website': gt 'komp','browse'
@@ -535,8 +612,38 @@ if $ARGS[0] = 'rabota':
 				if hour < 20 and hour > 7: act 'Search for more jobs': gt 'komp','rabota'
 				act 'Leave this website': gt 'komp','browse'
 			end
+		elseif komprabota > 7 and komprabota < 10 and film = 0:
+			'You find a job vacancy on a legit-looking website. It reads: "Nude female models wanted! Flexible hours and pay. Click for more info."'
+			act 'Gather more information':
+				*clr & cla
+				minut += 5
+				elektro += 1
+				gs 'internet_mobile', 'use_internet', $subs, 5
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
+				'You click the button for the full job description, but it''s brief and not entirely helpful.'
+				'<i>Are you a girl who likes exposing herself on camera in erotic situations for other people''s pleasure? If so, then come to this address and ask for Dimitri! Under 21s preferred.</i>"'
+				'A quick search of the listed address tells you that it''s located somewhere in the red light district of the city.'
+				if pornstudio = 0: 'You''ve heard rumours that an underground porn studio is located somewhere in that area.'
+				if pornstudio = 1: 'The porn studio is located in that area. This job listing suddenly makes more sense to you.'
+				
+				if pcs_inhib >= 40:
+					act 'Write down the address':
+						cla
+						minut += 2
+						if pornstudio = 0: pornstudio = 1
+						gs 'stat'
+						'You quickly take a note of the address. A job is a job, even if it is seedy.'
+						act 'Leave this website': gt 'komp','browse'
+					end
+				else
+					*nl
+					'You have a good idea what this listing is implying, and don''t feel comfortable going along with it. You quickly close the tab.'
+					act 'Leave this website': gt 'komp','browse'
+				end
+			end
 		else
-			'Unfortunately, you do not find any jobs you would consider doing.'
+			'Unfortunately, you don''t find any jobs you would consider doing.'
 
 			if hour < 20 and hour > 7: act 'Search for more jobs': gt 'komp','rabota'
 			act 'Leave this website': gt 'komp','browse'
@@ -549,13 +656,13 @@ if $ARGS[0] = 'study':
 	minut += 30
 	elektro += 3
 	gs 'internet_mobile', 'use_internet', $subs, 30
-	gs 'exp_gain', 'intel', 1 + (mentats_dose - rand(0,mentats_dose))
+	gs 'exp_gain', 'intel', 1 + rand(0, drugVars['mentats_dose'])
 	gs 'exp_gain', 'compskl', 1
 	'<center><b>The Institute for Education Measurement</b></center>'
 	'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/study.jpg"></center>'
 	'You spend an hour on the IEM website, reading news articles and educational blogs. You already feel a bit smarter.'
 
-	act 'Leave this website': gt'komp','browse'
+	act 'Leave this website': gt 'komp','browse'
 end
 
 if $ARGS[0] = 'agent' :

+ 0 - 1
locations/LakeBoyZ.qsrc

@@ -24,7 +24,6 @@ $gL_boy_z = {
 			act 'Give him your phone number':
 				*clr & cla
 				pcs_mood += 10
-				gs 'boy', 'details'
 				if rand(0,2) = 0: gs 'boyfrend','start'
 				minut += 5
 				bmFrend[Tboynum] = 1

+ 1 - 1
locations/LariskaHome.qsrc

@@ -114,7 +114,7 @@ if $ARGS[0] = 'hallway':
 		$text_home = 'is in the kitchen'
 	elseif locat['Lariska'] = 13:
 		$text_home = 'is in the shower'
-	elseif locat['Lariska'] = 8:
+	elseif locat['Lariska'] = 20:
 		$text_home = 'is in the bathroom, cleaning'
 	elseif locat['Lariska'] = 14 or locat['Lariska'] = 16 or locat['Lariska'] = 18:
 		$text_home = 'should be in the living room'

+ 31 - 70
locations/MagEncounterFairy.qsrc

@@ -6,6 +6,7 @@ menu_off = 1
 
 if $ARGS[0] = '':
 	if knowsfairy = 1:
+		'You find yourself in the area where you know the fairy to hang around.'
 		if fairyshoo = 0:
 			act 'Look for the fairy to chat': gt 'MagEncounterFairy', 'fairy_chat'
 			act 'Just be on your way': gt $loc, $loc_arg
@@ -15,11 +16,13 @@ if $ARGS[0] = '':
 			act 'Shoo the pesky fairy away': gt 'MagEncounterFairy', 'fairy_shoo'
 		end
 	elseif pcs_magik + rand (1,10) >= 8:
+		'There appears to be a firefly here and its getting closer.'
 		act 'Investigate the strange glow': gt 'MagEncounterFairy', 'fairy_chat_no1'
 		act 'Shoo the pesky firefly away': gt 'MagEncounterFairy', 'fairy_shoo'
 		act 'Ignore the firefly': fairyskip = 1 & gt $loc, $loc_arg
 	else
 		gs 'stat'
+		'This part of the park has a weird feel to it causing the hairs on the back of your neck to stand on end.'
 		'You have the strange feeling of being watched, but looking around you don''t see anybody.'
 		act 'Shake off the feeling and move on': fairyskip = 1 & gt $loc, $loc_arg
 	end
@@ -47,8 +50,8 @@ if $ARGS[0] = 'fairy_chat_no1':
 			pcs_horny += 10
 			gs 'stat'
 			'The fairy bids you farewell. Just as she flies off, she returns fluttering in front of your face.'
-			''
 			wait 725
+			*nl
 			'"You know, someone as nice as you should look just as lovely.", she says. "Hold still and don''t breath!"'
 			'Before you can do anything, the fairy blows some sparkling dust into your face. Surprised you hold your breath, albeit barely. You feel the powdery substance soak into your skin and your face starts tingling. It is not uncomfortable, rather like the brush of a feather.'
 			' ''That must have been MAGICAL FAIRY DUST!'', it hits you as the fairy flies off.'
@@ -91,7 +94,7 @@ if $ARGS[0] = 'fairy_chat':
 	act 'Chat with the fairy':
 		cla
 		minut += 30
-		if fairyshoo = 1 and rand (1, 3) = 2:
+		if fairyshoo = 1 and rand(1,3) = 2:
 			fairyshoo = 0
 		elseif fairyshoo > 1 and (fairyshoo * 3 - fairychat) <= 0:
 			fairyshoo -= 1
@@ -99,111 +102,75 @@ if $ARGS[0] = 'fairy_chat':
 		fairychat += 1
 		pcs_mana += 25 * pcs_magik
 		pcs_mood += 15
+		gs 'stat'
 		gs 'MagEncounterFairy', 'fairychattopic'
 		if fairyday['skin_increase'] <= 10 and fairyday ! daystart and fairyshoo = 0:
+			cla
 			pcs_skin += 10
 			if pcs_skin > 1000: pcs_skin = 1000
 			fairyday['skin_increase'] += 1
 			fairyday = daystart
 			gs 'stat'
 			'The fairy bids you farewell.'
-			*nl
 			wait 725
+			*nl
 			'Just as she flies off, she returns fluttering in front of your face.'
 			'"You know, you could still look lovelier.", she says. "Don''t move."'
 			'Remembering the last time you hold your breath and close your eyes. Just a moment later you feel your skin start tingling, again, as if brushed by a feather.'
+			act 'Go on your way': gt $loc, $loc_arg
 		elseif fairyday['skin_increase'] > 10 and fairyday < daystart and fairyshoo = 0 and pcs_magik >= 8 and fairychat > 9 and succubusQW < 1:
 			!Sets the Succubus setup dream
+			cla
 			succubusQW = 1
 			pcs_horny = 100
 			fairyday = daystart
 			gs 'stat'
 			'The fairy bids you farewell.'
-			*nl
 			wait 725
+			*nl
 			'Just as she flies off, she returns fluttering in front of your face.'
 			'"You know, you''re almost a magical creature now.", she says. "Don''t move."'
 			'Remembering the last time you hold your breath and close your eyes. Just a moment later you feel a much more intense tingling, this time seeming to go all the way through you.'
+			act 'Go on your way': gt $loc, $loc_arg
 		elseif fairyday ! daystart and (pcs_nips < 80 or clit_size < 80):
 			fairyday = daystart
-			gs 'stat'
 			'The fairy takes another quick look at you, rubs her chin, and says "Hmm, since you''ve been a little nice to me, maybe I could be a little nice to you."'
 			act 'Huh?':
 				cla
 				*nl
-				'You look at her, puzzled, wondering if you heard her right.  She just shrugs her shoulders and says "Okay, if you''re not interested"'
+				'You look at her, puzzled, wondering if you heard her right. She just shrugs her shoulders and says "Okay, if you''re not interested"'
 				act 'Go on your way': gt $loc, $loc_arg
 			end
 			act 'Sure':
 				cla
 				fday_surprise += 1
-				fairy_surprise = RAND(1,9)
-				if fairy_surprise =< 2:
+				fairy_surprise = rand(1,8)
+				if fairy_surprise = 1:
 					pcs_nips += 5
 					pcs_horny += 10
-					gs 'stat'
-					if pcs_nips < 20:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples1.jpg"></center>'
-					elseif pcs_nips < 40:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples2.jpg"></center>'
-					elseif pcs_nips < 60:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples3.jpg"></center>'
-					elseif pcs_nips < 80:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples4.jpg"></center>'
-					else
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples5.jpg"></center>'
-					end
+					*clr
+					'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples<<max(1,min(5,pcs_nips/20+1))>>.jpg"></center>'
 					'You hear a giggle.  Suddenly, your nipples get really firm and pointed, and seem to be a bit larger now.'
 					'You can''t help but rub both breasts, feeling the warm tingling in them, and in your pussy.'
-				elseif fairy_surprise = 3:
+				elseif fairy_surprise = 2:
 					pcs_nips -= 5
-					gs 'stat'
-					if pcs_nips < 20:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples1.jpg"></center>'
-					elseif pcs_nips < 40:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples2.jpg"></center>'
-					elseif pcs_nips < 60:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples3.jpg"></center>'
-					elseif pcs_nips < 80:
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples4.jpg"></center>'
-					else
-						'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples5.jpg"></center>'
-					end
+					*clr
+					'<center><img <<$set_imgh>> src="images/pc/body/nipples/nipples<<max(1,min(5,pcs_nips/20+1))>>.jpg"></center>'
 					'You hear a giggle.  Suddenly, your nipples get really firm and pointed, yet seem to be smaller then before.'
 					'You can''t help but rub both breasts, feeling the warm tingling in them, and in your pussy.'
-				elseif fairy_surprise <= 4:
+				elseif fairy_surprise = 3:
 					clit_size += 5
 					pcs_horny += 10
-					gs 'stat'
-					if clit_size < 20:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit1.jpg"></center>'
-					elseif clit_size < 40:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit2.jpg"></center>'
-					elseif clit_size < 60:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit3.jpg"></center>'
-					elseif clit_size < 80:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit4.jpg"></center>'
-					else
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit5.jpg"></center>'
-					end
+					*clr
+					'<center><img <<$set_imgh>> src="images/pc/body/clit/clit<<max(1,min(5,clit_size/20+1))>>.jpg"></center>'
 					'You hear a giggle and you feel a warm tingle at the top of your slit, you reach down and part your pussy lips with your fingers.'
 					'Your clitoris has swollen, and seems to stand out even more than before! You can''t help but rub all around it, feeling the warm tingling and the moisture build at the entrance.'
 					'The fairy admires the changes she''s made, and smiles at you, looking again at your puffy pussy and licking her lips.'
 					'You two say your goodbyes and the fairy flies off.'
-				elseif fairy_surprise = 5:
+				elseif fairy_surprise = 4:
 					clit_size -= 5
-					gs 'stat'
-					if clit_size < 20:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit1.jpg"></center>'
-					elseif clit_size < 40:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit2.jpg"></center>'
-					elseif clit_size < 60:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit3.jpg"></center>'
-					elseif clit_size < 80:
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit4.jpg"></center>'
-					else
-						'<center><img <<$set_imgh>> src="images/pc/body/clit/clit5.jpg"></center>'
-					end
+					*clr
+					'<center><img <<$set_imgh>> src="images/pc/body/clit/clit<<max(1,min(5,clit_size/20+1))>>.jpg"></center>'
 					'You hear a giggle and you feel a warm tingle at the top of your slit, you reach down and part your pussy lips with your fingers.'
 					'Your clitoris has shunk, and seems to more demure than before! You can''t help but rub all around it, feeling the warm tingling and the moisture build at the entrance.'
 				elseif fairy_surprise <= 6:
@@ -215,14 +182,13 @@ if $ARGS[0] = 'fairy_chat':
 					'You hear a giggle, then sparkles surround your body and you get all tingly.'
 					'You suddenly feel colder and less aroused then before.'
 				end
+				gs 'stat'
 				act 'Go on your way': gt $loc, $loc_arg
 			end
 		end
 	end
 end
 
-killvar '$din_fairy_chat_no1' & killvar '$din_fairy_shoo' & killvar '$din_fairy_chat'
-
 if $ARGS[0] = 'fairychattopic':
 !!	These are the random chat texts for the Fairy from UsagiTripleSix
 	frandchat = rand(1,16)
@@ -258,10 +224,12 @@ if $ARGS[0] = 'fairychattopic':
 	elseif frandchat = 15:
 		'Today the fairy introduces you to fairy knock-knock jokes. She spends almost half an hour telling joke after joke, but you failed to understand a single one. By the time you''re ready to leave, she''s complaining about how humans have no sense of humor.'
 	else
-		killvar 'frandchat' & gt 'MagEncounterFairy', 'teleport'
+		killvar 'frandchat'
+		gt 'MagEncounterFairy', 'teleport'
 	end
 
-	act 'Go on your way': killvar 'frandchat' & gt $loc, $loc_arg
+	killvar 'frandchat'
+	act 'Go on your way': gt $loc, $loc_arg
 
 end
 
@@ -270,20 +238,13 @@ if $ARGS[0] = 'teleport':
 	if spellKnown['teleport'] = 0:
 		!show and teach Teleport spell
 		'The Fairy wraps her arms around your thumb and lightly tugs you over to a mysterious circle of trees.'
-		''
 		'She says, "You may have seen these circles of trees around the lands. Fairies planted them long ago and used their magic to tether them together. Since you also have Fae magic, I can show you how to use them."'
-		''
 		'She continues, "Most of the work was already done in the binding. In a way, the trees of each circle are the same trees. You just have to stand inside the circle, then hold in your mind a picture of another circle that you have been to before. Then you say the word <i>inla</i>. If your will is strong enough and you have enough magical energy, your energy can be used to enact your will."'
-		''
 		'She giggles. "This lets you dance through any field you like! "Let''s go!"'
-		''
 		'She grunts and give you a nudge into the circle.'
 		act 'Stumble into Circle':
-			''
 			'The view outside the circle seems blurry and a little indistinct.  The Fairy''s face scrunches up in concentration as she incants "inla", and the world outside seems to shimmer a little. You feel like you understand how she did that.  Though you can''t tell exactly where you are now in the blurriness, it does look different.'
-			''
 			'The Fairy says, "It''s important to take the time to feel each Fairy Ring, that''s how you can find your way back."  She flies off.'
-			''
 			'You decide it would be wise to memorize your surroundings.'
 			spellKnown['teleport'] = 1
 			tpKnown['GadForest'] = 1

+ 1 - 1
locations/MartinTalk.qsrc

@@ -259,7 +259,7 @@ if $ARGS[0] = '':
 			end
 		end
 		
-		if swinbeggor > 0:
+		if runnerQW['pav_wins2'] > 0:
 			act 'Athletics':
 				cla
 				$MartinHobby = 'athletics training'

+ 1 - 1
locations/NikoEv2.qsrc

@@ -718,7 +718,7 @@ if $ARGS[0] = 'Diner 1':
 									'<center><img <<$set_imgh>> src="images/pc/body/cum/cumface/blonde/15.jpg"></center>'
 									'"Wow, she walks around like that?" one of the bikers asks.'
 									'"Well she''s obviously a slut looking for customers," another replies.'
-									if salocatnow >= 5:
+									if pcs_bmi >= 26:
 										'"A slut, huh?" a trucker asks. "She looks more like a cow to me."'
 										'"Yeah, she looks like my old lady," another biker says. "But a pussy''s a pussy, I guess."'
 									else

+ 2 - 2
locations/NikoWhore.qsrc

@@ -152,7 +152,7 @@ if $ARGS[0] = 'Locker Room':
 															'"I told you she was a freak! She loves getting fucked. She was basically begging me to fuck her ass!" Dan laughs.'
 															'"Come on guys, we already have Sonia. We don''t need <<$pcs_nickname>> too," Vasily responds.'
 															'"She might be Sonia 2.0! It would be wrong for us <i>not</i> to show her off. Now is the perfect time too. The boys are still on the stairwell," Dan adds.'
-															if hotcat >= 7 and salocatnow < 5:
+															if hotcat >= 7 and pcs_bmi <= 25:
 																'"That sounds like a great idea. <<$pcs_nickname>> is much hotter than Sonia anyway. Let''s do it," Vitek responds before pulling you to your feet. "You''re coming with us."'
 															else
 																'"That sounds like a great idea. She looks like an overgrown pig, but we can always fuck her from behind. Alright, let''s do it," Vitek responds before pulling you to your feet. "You''re coming with us."'
@@ -331,7 +331,7 @@ if $ARGS[0] = 'Exposed':
 	'"What the fuck was she thinking? Why would she do this to herself? Is she that desperate for dick?" Lariska asks.'
 	'"I always thought she was a nice girl, but I guess she was just a whore all along. She hid it well," Lina responds.'
 	'Christina laughs. "You''re both so stupid! I knew she was a fucking whore all along, you just have to look at how she acts. So weak and pathetic and eager to please any boy that paid any attention to her." You hear several of the other girls agree with her.'
-	if hotcat >= 6 and salocatnow < 5:
+	if hotcat >= 6 and pcs_bmi <= 25:
 		'"Fuck yeah! I''ve been wanting to fuck <<$pcs_nickname>> since I first saw her drop that chalk in math class!" Roman laughs.'
 	else
 		'"I always thought about what it would be like to fuck <<$pcs_firstname>> since I first saw her drop that chalk in math class. If only she wasn''t so ugly..." Roman laughs.'

+ 1 - 1
locations/Prostitute.qsrc

@@ -295,7 +295,7 @@ if $ARGS[0] = 'work2':
 		*clr
 		gs 'npcgeneratec', 0, '"John"', rand(18,45)
 		gs 'boyStat', $npclastgenerated
-		!! gs 'boy', 'details'    & !! does not seem to be needed for "Johns"
+		!! gs 'boygirl', 'details'    & !! does not seem to be needed for "Johns"
 		guy += 1
 		if pcs_throat < dick: pcs_throat += 1
 

+ 2 - 2
locations/RimmaSexQW.qsrc

@@ -297,7 +297,7 @@ $rimmasexdi = {
 		'Your climax builds quickly - no surprise after almost half an hour of teasing - when you feel her second hand linger on your throat... and tightening around it. You open your eyes to look at her and while it''s harder to breathe, the passion in Rima''s eyes is infectious.'
 		'The orgasm hits you like a truck, the slight lack of air increasing its intensity by an order of magnitude, and by the looks of it, Rima is just about ready to come herself, getting off immensely on dominating you.'
 		$orgasm_or = 'yes'
-		gs 'arousal', 'anal_fist', 20, 'lesbian', 'sub'
+		gs 'arousal', 'vaginal_fist', 20, 'lesbian', 'sub'
 		gs 'stat'
 	elseif RimmaRandEvent = 6:
 		pcs_vag += 5
@@ -309,7 +309,7 @@ $rimmasexdi = {
 		'You barely even register when she sinks her whole hand into your depths - at that point, you are so desperately horny that you are literally begging her to make you cum, and this time, her fist inside you, she finally relents.' 
 		'From one moment to the next, she starts fucking you with her whole hand, pushing you right to the edge and over, then right to the next and over again. You can feel yourself twitching around her hand, gripping her like a vice, but the rest of your body is a shaking, screaming, sweating mess. That doesn''t change the fact, though, that Rima gave you a couple of incredible orgasms, though.'
 		$orgasm_or = 'yes'
-		gs 'arousal', 'anal_fist', 20, 'lesbian', 'sub'
+		gs 'arousal', 'vaginal_fist', 20, 'lesbian', 'sub'
 		gs 'stat'
 	elseif RimmaRandEvent = 5:
 		pcs_vag += 2

+ 109 - 1
locations/SMStext_builder.qsrc

@@ -30,7 +30,7 @@
 !				So if you are used:
 !					gs 'SMStext_builder', 'add_reply', [$text], [$file_name], [$file_args0], [$file_args1].
 !				Then you would pass ARGS[2] (since you used $ARGS[0] and $ARGS[1]):
-!				gs 'SMStext_builder', 'add_sms', ARGS[2]
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
 !	
 !	Finally after the player has made a choice, everything but the replies are stored.
 !	If you want to reset the text (but not the end images), use gs 'SMStext_builder', 'reset'
@@ -39,6 +39,114 @@
 !		gs 'SMStext_builder', 'end'
 
 
+	!!=====================================================!!
+	!!                                                     !!
+	!!                      Examples                       !!
+	!!                                                     !!
+	!!=====================================================!!
+
+!	This example is in a non-existing file called "lukaqw". Here luka has npc code A6969
+
+!	if $ARGS[0] = 'SMS1':
+!		if $ARGS[1] = 'start':
+!			gs 'SMStext_builder', 'start'
+!				gs 'SMStext_builder', 'receive', '"hey Sveta", it''s Luka!'
+!				gs 'SMStext_builder', 'receive', '"how are you doing?"'
+!				gs 'SMStext_builder', 'add_reply', 'im good, you?', 'lukaqw', 'SMS1', '1'
+!				gs 'SMStext_builder', 'add_sms', 'A6969'
+!			gs 'SMStext_builder', 'end'
+!		end
+!
+!		if $ARGS[1] = '1':
+!			!! The replies are removed, but the rest is not. We first send the reply text, wait, then 
+!			gs 'SMStext_builder', 'start'
+!				gs 'SMStext_builder', 'send', 'im good, you?'
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
+!				wait 500
+!
+!				gs 'SMStext_builder', 'receive', 'could you send me a picture?'
+!				gs 'SMStext_builder', 'add_reply', 'sure!', 'lukaqw', 'SMS1', 'send_pic'
+!				gs 'SMStext_builder', 'add_reply', 'you first', 'lukaqw', 'SMS1', 'receive_pic'
+!				gs 'SMStext_builder', 'add_reply', 'no', 'lukaqw', 'SMS1', 'no'
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
+!			gs 'SMStext_builder', 'end'
+!		end
+!
+!		if $ARGS[1] = 'send_pic':
+!			gs 'SMStext_builder', 'start'
+!				gs 'SMStext_builder', 'send', 'sure!'
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
+!				wait 500
+!
+!				gs 'SMStext_builder', 'receive', 'better make it sexy :))!'
+!				gs 'SMStext_builder', 'send_selfie', 'c|u|n|b|sh|ft', 'lukaqw', 'SMS1', 'Selfie_send'
+!			gs 'SMStext_builder', 'end'
+!		end
+!
+!		if $ARGS[1] = 'Selfie_send':
+!			gs 'SMStext_builder', 'start'
+!				gs 'SMStext_builder', 'send_img', $ARGS[3]
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
+!				wait 500
+!
+!				$ARGS[5] is the state of dress:
+!				if $ARGS[5] = 'clothed':
+!					gs 'SMStext_builder', 'receive', 'disapointing, but better than nothin i sup'
+!				elseif $ARGS[5] = 'nude' or $ARGS[5] = 'pussyflash':
+!					gs 'SMStext_builder', 'receive', 'DAMN!'
+!				else
+!					gs 'SMStext_builder', 'receive', 'nice'
+!				end
+!			gs 'SMStext_builder', 'end'
+!		end
+!
+!		if $ARGS[1] = 'receive_pic':
+!			gs 'SMStext_builder', 'start'
+!				gs 'SMStext_builder', 'send', 'you first'
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
+!				wait 500
+!
+!				gs 'SMStext_builder', 'receive_img', 'image/characters/pavlovsk/resident/luka/selfies/sexy3.jpg'
+!				gs 'SMStext_builder', 'receive', 'now you'
+!				gs 'SMStext_builder', 'add_reply', 'sure!', 'lukaqw', 'SMS1', 'send_pic'
+!				gs 'SMStext_builder', 'add_reply', 'no', 'lukaqw', 'SMS1', 'no2'
+!			gs 'SMStext_builder', end
+!		end
+!
+!		if $ARGS[1] = 'no':
+!			gs 'SMStext_builder', 'start'
+!				gs 'SMStext_builder', 'send', 'no'
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
+!				wait 500
+!
+!				gs 'SMStext_builder', 'receive', 'sad'
+!			gs 'SMStext_builder', end
+!		end
+!
+!		if $ARGS[1] = 'no2':
+!			gs 'SMStext_builder', 'start'
+!				gs 'SMStext_builder', 'send', 'no'
+!				gs 'SMStext_builder', 'show_sms', ARGS[2]
+!				wait 500
+!
+!				gs 'SMStext_builder', 'receive', 'what? but i send you mine?!'
+!				gs 'SMStext_builder', 'add_reply', 'get blackmailed noob', 'lukaqw', 'SMS1', 'blackmail'
+!				gs 'SMStext_builder', 'add_reply', 'that time of month, sorry', 'lukaqw', 'SMS1', 'excuses'
+!			gs 'SMStext_builder', end
+!		end
+!		...
+!		...
+!	end
+
+
+
+
+
+	!!=====================================================!!
+	!!                                                     !!
+	!!                        CODE                         !!
+	!!                                                     !!
+	!!=====================================================!!
 
 
 if $ARGS[0] = 'start':

+ 1 - 1
locations/Vika.qsrc

@@ -178,7 +178,7 @@ end
 
 if $ARGS[0] = 'study':
 	minut += 60
-	gs 'exp_gain', 'intel', 1 + (mentats_dose - rand(0,mentats_dose))
+	gs 'exp_gain', 'intel', 1 + rand(0, drugVars['mentats_dose'])
 	gs 'npc_relationship', 'modify', 'A220', 'like'
 	gs 'stat'
 

+ 1 - 0
locations/_attributes_cats_dress.qsrc

@@ -1404,6 +1404,7 @@ elseif ARGS[1] = 207:
 	CloDress = 1
 
 elseif ARGS[1] = 208:
+!! Duplicate of Coco 210
 	CloQuality = 4
 	CloThinness = 4
 	CloTopCut = 4

+ 1 - 1
locations/_attributes_danilovich_panties.qsrc

@@ -46,7 +46,7 @@ elseif ARGS[1] = 6:
 elseif ARGS[1] = 7:
 	PanType = 1
 	PanFun = 2
-	PanQuality = 2
+	PanQuality = 3
 	PanThinness = 2
 	underwear['pair'] = 7
 

+ 1 - 2
locations/abduction.qsrc

@@ -651,8 +651,7 @@ if $ARGS[0] = 'abdFood':
 		if pain['total'] > 0 and pain['killer'] = 0:
 			act 'Take a painkiller':
 				cla
-				pain['killer'] += 1
-				mc_inventory['painkillers'] -= 1
+				gs 'drugs', 'painkiller'
 				if pcs_hydra >= 100:
 					pcs_hydra += 25
 				else

+ 2 - 0
locations/albina_election_events.qsrc

@@ -72,6 +72,7 @@ if $ARGS[0] = 'din_zajava_albfather':
 				minut += 1
 				AlbinaQW['Friends'] = 1
 				AlbinaQW['StarletsShutDown'] = 1
+				starlets_missed = 0
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/pc/activities/phone/calling_outdoor.jpg"></center>'
 				'You quickly dial Albina''s number and, in a panic, tell her what happened. She calms you down and asks if you told them anything.'
@@ -131,6 +132,7 @@ if $ARGS[0] = 'din_zajava_albfather_no2':
 			minut += 1
 			AlbinaQW['Friends'] = 1
 			AlbinaQW['StarletsShutDown'] = 1
+			starlets_missed = 0
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/pc/activities/phone/calling_outdoor.jpg"></center>'
 			'You quickly dial Albina''s number and, in a panic, tell her what happened. She calms you down and asks if you told them anything.'

+ 1 - 0
locations/albina_house_events.qsrc

@@ -1265,6 +1265,7 @@ if $ARGS[0] = 'study_door':
 			'You find yourself in a modern, lavishly decorated study. You take a quick look around, but find nothing of any real interest to you. This was clearly her father''s study. No wonder Albina hates coming in here. Just as you''re about to leave, you accidently knock one of the heavy books off the shelf, gritting your teeth in pain when it lands on your foot. Thankfully, nobody seems to have heard and you kneel down to pick it back up. As you do, something falls out from between the pages. Placing the book back, you glance down and see a flash drive at your feet.' 
 			'You pick it up and pocket it, curious about why someone would hide it. You just need a computer to access it.' 
 			'With nothing else to see, you quickly duck back out of the study, being careful to leave the door in its original ajar position before heading to Albina''s bedroom.'
+			AlbinaQW['flashdrive'] = 1
 			act 'Continue': gt 'albinahome', 'bedroom'
 		end
 	end

+ 1 - 2
locations/albina_wine_event.qsrc

@@ -661,7 +661,6 @@ if $ARGS[0] = 'boob_size_talk':
 !!			$titsize = 'AA cup'
 			'"That you''re... flat...?"'
 			'Shockingly, Albina seems... <i>embarrassed?</i> Have you ever seen her embarrassed about anything before?'
-			gs 'albina_wine_event','small_tits'
 		elseif pcs_cupsize <= 10:
 !!			$titsize = 'A cup'
 			'"That your... boobs are... tiny...?"'
@@ -671,8 +670,8 @@ if $ARGS[0] = 'boob_size_talk':
 			'Shockingly, Albina seems... <i>embarrassed?</i> Have you ever seen her embarrassed about anything before?'
 !!		elseif pcs_cupsize <= 15:
 !!			$titsize = 'B cup'
-			gs 'albina_wine_event','small_tits'
 		end
+		gs 'albina_wine_event','small_tits'
 	else
 		if pcs_cupsize <= 20:
 !!			$titsize = 'C cup'

+ 1 - 2
locations/albinahome.qsrc

@@ -170,8 +170,7 @@ if $ARGS[0] = 'bathroom':
 		if pain['total'] > 0 and pain['killer'] = 0:
 			act 'Take a painkiller':
 				cla
-				pain['killer'] += 1
-				mc_inventory['painkillers'] -= 1
+				gs 'drugs', 'painkiller'
 				pcs_hydra += 20
 				gs 'stat'
 				*nl

+ 39 - 29
locations/anush_bedroom.qsrc

@@ -1,10 +1,10 @@
 # anush_bedroom
-!2022/04/10
+!2024/03/25
 
 !!anushkaQW['first_visit'] = first visit to her apartment
 !!anushkaQW['lunch'] = lunch hookup at school
 !!anushkaQW['model'] = finding out Nush is a professional model
-!!anushkaQW['model_referral'] = referral from nush to the modelling agency
+!!anushkaQW['model_referral'] = referral from nush to the modeling agency
 !!anushkaQW['computer_use'] = using her computer
 !!anushkaQW['marspyknow'] = know that nush is hooking up with marcus
 !!anushkaphoto = photos of nush
@@ -33,6 +33,9 @@
 !!anushkaQW['guitar_play'] = how many songs nush has played for sveta when asked
 !!anushkaQW['knows_guitar'] = nush knows the player character has a guitar
 !!anushkaQW['guitar_day'] = daystart if she has played a song that day
+!!anushkaQW['artem_dom'] = Artem has started to dominate Anushka in 3somes
+!!anushkaQW['sveta_love'] Sveta is falling in love with Anushka
+!!anushkaQW['sveta_love'] > 10 Sveta is in love with Anushka
 !!gopnikbandQW['practice_invite'] = was invited to come watch the band practice
 
 !AnushkaLoc tells us where Anushka is located
@@ -341,7 +344,6 @@ if $ARGS[0] = 'night_stand':
 		act 'Joint':
 			*clr & cla
 			minut += 2
-			joint += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/take_joint.jpg"></center>'
 			'You pull out one of the joints and hold it up. "Yeah, I like this..."'
@@ -350,8 +352,8 @@ if $ARGS[0] = 'night_stand':
 			'She flips you off for your snarky comeback. "Fuck you, bitch. Here, hand it over." You hand over the joint as she takes a lighter off the nightstand and lights it up, taking a long slow drag off it before handing it back to you.'
 			act 'Take a drag':
 				*clr & cla
-				minut += 20
-				gs 'drugs', 'joint'
+				minut += 30
+				gs 'drugs', 'joint', 1
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/get_high.jpg"></center>'
 				'You take the joint from her and take a hit off it as you sit on the bed next to her. The two of you discuss various topics as you hand the joint back and forth, taking turns taking hits. Before too long, the joint is gone, and you feel pretty high.'
@@ -369,7 +371,7 @@ if $ARGS[0] = 'night_stand':
 		act 'Take joint':
 			*clr & cla
 			minut += 2
-			joint += 1
+			mc_inventory['joints'] += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/take_joint.jpg"></center>'
 			'You decide to take one of the joints. Surely she won''t mind that you took just one? You take it out and look at it before placing it in your purse for later and closing the drawer.'
@@ -387,33 +389,41 @@ if $ARGS[0] = 'computer':
 		'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/laptop.jpg"></center>'
 		'You point towards her laptop. "You''re so lucky to have your own computer."'
-		'"I bought it with some of the money I made from our gigs, plus some modelling work I did in the city. Other than using it to write songs, look up the music and play some games, I mostly just look up porn when I''m horny and want to masturbate. I get so fucking turned on watching it that it gets to the point that I just can''t resist playing with myself."'
+		'"I bought it with some of the money I made from our gigs, plus some modeling work I did in the city. Other than using it to write songs, look up the music and play some games, I mostly just look up porn when I''m horny and want to masturbate. I get so fucking turned on watching it that it gets to the point that I just can''t resist playing with myself."'
 		*nl
 		'You''re amazed at how blunt she is. It''s like the most normal thing in the world for her to openly talk about her sex life. You don''t know if you could ever just openly tell someone that you watch porn and masturbate. "I wish I was as open and confident as you are; to just say and do things like that."'
 		*nl
 		'She grins at that and apparently finds it amusing. "Well, we can watch porn together if you want? It''s really not that big of a deal."'
-		'You blush at the thought of watching porn with someone else, but there is some appeal. You think for a second, and you remember her mentioning that she earned money by modelling...'
+		'You blush at the thought of watching porn with someone else, but there is some appeal. You think for a second, and you remember her mentioning that she earned money by modeling...'
 		act 'Find something else to look at':gt 'anush_bedroom','anushroom'
-		act 'Ask about modelling':
-			*clr & cla
-			anushkaQW['model_referral'] = 1
-			anushkaQW['model'] = 1
-			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-			'You perk up at the mention of modelling to earn money towards a lovely laptop like she has. "Does modelling really pay that well?"'
-			'She nods. "Sort of... If you''re willing to do nude modelling, you can make a lot in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
-			'"Nude?" you silently ask yourself. Still, it might be worth considering if it pays that much. "I don''t know... Maybe... How would I get started? Is there a modelling agency or something?"'
-			'She grins at your reply. "Yes, it''s located in the city center." She then explains precisely where it is and to let the photographer know she sent you.'
-			act 'Thanks':gt 'anush_bedroom','anushroom'
-			if fakepassport ! 1:
-				act 'Underaged?':
-					*clr & cla
-					fakepassport = 2
-					'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-					'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model nude when you''re under 18. "Wait a second, how did you get past the age check?"'
-					'She laughs. "Sometimes, I forget that not everyone has a fake ID. It''s pretty easy to pick one up, though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
+		if anushkaQW['model'] = 0:
+			act 'Ask about modeling':
+				*clr & cla
+				anushkaQW['model'] = 1
+				'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+				if model['status'] = 1:
+					'You perk up at the mention of modeling to earn money towards a lovely laptop like she has. "I didn''t know you modeled as well?"'
+					'She nods. "Yeah it pays pretty well, so you model too?" You nod yes and soon the two of you are talking about the varies modeling gigs you have done and you have discovered you both work for the same modeling agency.'
+					act 'Do something else':gt 'anush_bedroom','anushroom'
+				else
+					anushkaQW['model_referral'] = 1
+					'You perk up at the mention of modeling to earn money towards a lovely laptop like she has. "Does modeling really pay that well?"'
+					'She nods. "Sort of... If you''re willing to do nude modeling, you can make a lot in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
+					'"Nude?" you silently ask yourself. Still, it might be worth considering if it pays that much. "I don''t know... Maybe... How would I get started? Is there a modeling agency or something?"'
+					'She grins at your reply. "Yes, it''s located in the city center." She then explains precisely where it is and to let the photographer know she sent you.'
 					act 'Thanks':gt 'anush_bedroom','anushroom'
+					if fakepassport ! 1:
+						act 'Underaged?':
+							*clr & cla
+							fakepassport = 2
+							'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+							'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model nude when you''re under 18. "Wait a second, how did you get past the age check?"'
+							'She laughs. "Sometimes, I forget that not everyone has a fake ID. It''s pretty easy to pick one up, though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
+							act 'Thanks':gt 'anush_bedroom','anushroom'
+						end
+					end
 				end
 			end
 		end
@@ -929,8 +939,8 @@ if $ARGS[0] = 'nush_guitar_teach':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/nushbed.jpg"></center>'
 	'You sit down on the bed next to Anushka and look at her. "Can you teach me how to play the guitar?"'
 	if anushkaQW['knows_guitar'] = 1:
-		'She smiles back at you. "Have you been practising?"'
-		'You nod. "Of course. I''ve been practising what you showed me last time."'
+		'She smiles back at you. "Have you been practicing?"'
+		'You nod. "Of course. I''ve been practicing what you showed me last time."'
 		'She smiles. "Okay then, how good do you feel you are now?"'
 		if instrmusic_lvl < 20:
 			'You look down from her gaze while blushing. "Pretty bad. I don''t really have any clue what I''m doing."'

+ 36 - 16
locations/anush_bedroom_city.qsrc

@@ -34,6 +34,9 @@
 !!anushkaQW['guitar_play'] = how many songs nush has played for sveta when asked
 !!anushkaQW['knows_guitar'] = nush knows the player character has a guitar
 !!anushkaQW['guitar_day'] = daystart if she has played a song that day
+!!anushkaQW['artem_dom'] = Artem has started to dominate Anushka in 3somes
+!!anushkaQW['sveta_love'] Sveta is falling in love with Anushka
+!!anushkaQW['sveta_love'] > 10 Sveta is in love with Anushka
 !!gopnikbandQW['practice_invite'] = was invited to come watch the band practice
 
 ! 2023/05/23
@@ -240,7 +243,6 @@ if $ARGS[0] = 'night_stand':
 		act 'Joint':
 			*clr & cla
 			minut += 2
-			joint += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/take_joint.jpg"></center>'
 			'You pull out one of the joints and hold it up. "Yeah, I like this..."'
@@ -249,9 +251,8 @@ if $ARGS[0] = 'night_stand':
 			'She flips you off for your snarky comeback. "Fuck you, bitch. Here, hand it over." You hand over the joint as she takes a lighter off the nightstand and lights it up, taking a long slow drag off it before handing it back to you.'
 			act 'Take a drag':
 				*clr & cla
-				minut += 20
-				gs 'drugs', 'joint'
-				gs 'stat'
+				minut += 30
+				gs 'drugs', 'joint', 1
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/get_high.jpg"></center>'
 				'You take the joint from her and take a hit off it as you sit on the bed next to her. The two of you discuss various topics as you hand the joint back and forth, taking turns taking hits. Before too long, the joint is gone, and you feel pretty high.'
 				act 'Chill out': locat['A144'] = 2 & gt 'anushkachat_city', 'chat'
@@ -268,7 +269,7 @@ if $ARGS[0] = 'night_stand':
 		act 'Take joint':
 			*clr & cla
 			minut += 2
-			joint += 1
+			mc_inventory['joints'] += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom/take_joint.jpg"></center>'
 			'You decide to take one of the joints. Surely she won''t mind that you took just one? You take it out and look at it before placing it in your purse for later and closing the drawer.'
@@ -293,17 +294,36 @@ if $ARGS[0] = 'computer':
 		'She grins at that and apparently finds it amusing. "Well, we can watch porn together if you want? It''s really not that big of a deal."'
 		'You blush at the thought of watching porn with someone else, but there is some appeal. You think for a second, and you remember her mentioning that she earned money by modeling...'
 		act 'Find something else to look at':gt 'anush_bedroom_city','anushroom'
-		act 'Ask about modeling':
-			*clr & cla
-			anushkaQW['model_referral'] = 1
-			anushkaQW['model'] = 1
-			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-			'You perk up at the mention of modeling to earn money towards a lovely laptop like she has. "Does modeling really pay that well?"'
-			'She nods. "Sort of... If you''re willing to do nude modeling, you can make a lot in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
-			'"Nude?" you silently ask yourself. Still, it might be worth considering if it pays that much. "I don''t know... Maybe... How would I get started? Is there a modeling agency or something?"'
-			'She grins at your reply. "Yes, it''s located in the city center." She then explains precisely where it is and to let the photographer know she sent you.'
-			act 'Thanks':gt 'anush_bedroom_city','anushroom'
+		if anushkaQW['model'] = 0:
+			act 'Ask about modeling':
+				*clr & cla
+				anushkaQW['model'] = 1
+				'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+				if model['status'] = 1:
+					'You perk up at the mention of modeling to earn money towards a lovely laptop like she has. "I didn''t know you modeled as well?"'
+					'She nods. "Yeah it pays pretty well, so you model too?" You nod yes and soon the two of you are talking about the varies modeling gigs you have done and you have discovered you both work for the same modeling agency.'
+					act 'Do something else':gt 'anush_bedroom','anushroom'
+				else
+					anushkaQW['model_referral'] = 1
+					'You perk up at the mention of modeling to earn money towards a lovely laptop like she has. "Does modeling really pay that well?"'
+					'She nods. "Sort of... If you''re willing to do nude modeling, you can make a lot in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
+					'"Nude?" you silently ask yourself. Still, it might be worth considering if it pays that much. "I don''t know... Maybe... How would I get started? Is there a modeling agency or something?"'
+					'She grins at your reply. "Yes, it''s located in the city center." She then explains precisely where it is and to let the photographer know she sent you.'
+					act 'Thanks':gt 'anush_bedroom','anushroom'
+					if fakepassport ! 1:
+						act 'Underaged?':
+							*clr & cla
+							fakepassport = 2
+							'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+							'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model nude when you''re under 18. "Wait a second, how did you get past the age check?"'
+							'She laughs. "Sometimes, I forget that not everyone has a fake ID. It''s pretty easy to pick one up, though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
+							act 'Thanks':gt 'anush_bedroom','anushroom'
+						end
+					end
+				end
+			end
 		end
 		gs 'willpower', 'misc', 'self'
 		if will_cost <= pcs_willpwr:

+ 5 - 3
locations/anushapt.qsrc

@@ -1,5 +1,5 @@
 # anushapt
-!2021/05/02
+!2024/03/25
 !AnushkaLoc tells us where Anvushka is located
 !----------------------------------------------
 !AnushkaLoc = 0 (Anushka not home)
@@ -759,12 +759,13 @@ if $ARGS[0] = 'livingroom':
 	gs 'stat'
 	'<center><b><font color = maroon>Living room</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/living.jpg"></center>'
-	if livingev = 1 and ((week < 6 and hour >= 20 and hour < 23) or (week >= 6 and (hour >= 8 and hour < 16) or (hour >= 18 and hour < 23))):
+	if livingev = 1 and anushkaQW['dad_mom_livingroom'] = 0 and ((week < 6 and hour >= 20 and hour < 23) or (week >= 6 and (hour >= 8 and hour < 16) or (hour >= 18 and hour < 23))):
 		livingev_day = daystart
 		'As you start to walk into the living room, you overhear some muffled voices that are getting louder and louder as they go on... You notice that the door is ajar and sneak towards it to see if you can make out what is being said.'
 		act 'Leave':gt 'anushapt','hallway'
 		act 'Listen in':
 			cla & *nl
+			anushkaQW['dad_mom_livingroom'] = 1
 			valedlisten = daystart
 			'You see Valeria standing in front of the TV, yelling at Eduard. "I want to see that little bitch punished! And for real this time!!!"'
 			'Eduard sighs, clearly annoyed by Valeria being in the way. "What''s wrong now Valeria? I just want to relax and watch the TV..."'
@@ -1081,11 +1082,12 @@ if $ARGS[0] = 'kitchen':
 	gs 'kit_din'
 	'<center><b><font color = maroon>Kitchen</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/kitchen.jpg"></center>'
-	if kitchenev = 1 and ((week < 6 and hour >= 20 and hour < 23) or (week >= 6 and (hour >= 8 and hour < 16) or (hour >= 18 and hour < 23))):
+	if kitchenev = 1 and anushkaQW['dad_mom_kitchen'] = 0 and ((week < 6 and hour >= 20 and hour < 23) or (week >= 6 and (hour >= 8 and hour < 16) or (hour >= 18 and hour < 23))):
 		'As you start to enter the kitchen, you overhear some muffled voices that are getting louder and louder as they go on... You notice that the door is ajar and sneak towards it to see if you can make out what is being said.'
 		act 'Leave':gt 'anushapt','hallway'
 		act 'Listen':
 			*clr & cla
+			anushkaQW['dad_mom_kitchen'] = 1
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/edval_kitchen.jpg"></center>'
 			'Anushka''s mother Valeria is standing with her hands in the air, talking loudly to Eduard. "What is wrong with your daughter? She always has an attitude towards me!"'
 			'Eduard tries his best to keep his calm. "Well if you were a better mother, then maybe she wouldn''t have turned out like this!"'

+ 61 - 57
locations/anushaptbr.qsrc

@@ -254,64 +254,9 @@ if $ARGS[0] = 'brotherroom':
 						'He frowns. "Fine then! Get out of my room. Just get out!"'
 						'You back out of the doorway. "Okay... Okay, I''m going."'
 						act 'Leave': gt 'anushapt', 'hallway'
-					end	
-					act 'Deal':
-						*clr & cla
-						minut += 20
-						gs 'exp_gain', 'gaming', rand(1,3)
-						gs 'stat'
-						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/maksimplay.jpg"></center>'
-						if pcs_gaming <= 40:
-							'The two of you start playing, and it quickly becomes obvious he''s played this game a lot and is very good at it. You try, but you''re unable to keep up with him. You come close a few times, but you''re mostly hopelessly outmatched. After a few matches, he pauses the game and looks at you with a lustful grin. "Haha you lost! Now show me your boobs."'
-							gs 'willpower', 'exhib', 'resist'
-							if will_cost <= pcs_willpwr:	
-								act 'Refuse (<<will_cost>> Willpower)':
-									*clr & cla
-									gs 'willpower', 'pay', 'resist'
-									gs 'stat'
-									'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/broroom.jpg"></center>'
-									'You shake your head. "No, I don''t think so. You''re too young anyways."'
-									'His eyes flash in fury. "You promised!"'
-									'You shrug. "I lied."'
-									'"GET OUT! Get out of my room!" he yells.'
-									'Not wanting anyone to come and find out what''s going on, you quickly get up and leave.'
-									act 'Leave': gt 'anushapt', 'hallway'
-								end
-							else
-								act 'Refuse (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-							end
-							act 'Show him your boobs':
-								*clr & cla
-								gs 'flash', 'tits', 'indoors', 1, 1
-								gs 'stat'
-								'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/maksimshow.jpg"></center>'
-								'"A bet''s a bet," you shrug.'
-								'You stand and pull your top up, his eyes growing wide as he stares at your breasts. Before either of you can say anything, you hear the front door slam. "Maksim... Maksim... Come see... Come see!" Timofey yells as he runs down the hall.'
-								'You pull your top back into place just before he bursts into the room and Maksim gives him a dirty look. "Why do you always have to ruin everything?!"'
-								'Timofey stops, obviously not understanding what''s going on. He looks between the two of you completely confused. "I just wanted to show you something..." You use this as an opportunity to slip out of the room and close the door behind you, leaving the two of them behind to argue.'
-								act 'Leave': gt 'anushapt', 'hallway'
-							end
-						else
-							'You play a game with him. He''s pretty good, but not good enough to beat you. After a while, he grows frustrated. "I''m bored with this game!" he declares, turning it off in the middle of your last game and pulling out a single player one.'
-							'You smile, knowing he only switched games because he couldn''t win. "Well?"'
-							'He glances at you. "Well what?"'
-							'You smile at him. "You said you would tell me a secret about your sister, so what is it?"'
-							if maksimQW['secret1'] = 0 and hotcat >= 6 and npc_rel['A144'] >= 50:
-								maksimQW['secret1'] = 1
-								'He makes a ''V'' shape with his fingers and puts it against his mouth before sticking his tongue between them in the universal sign for eating pussy, mimicking licking for a few seconds. "She <i>likes</i> you."' 
-								'You just shake your head. You should have known he wouldn''t actually tell you anything you didn''t already know.'
-							elseif maksimQW['secret2'] = 0:
-								maksimQW['secret2'] = 1
-								'He looks around for a few seconds. "She keeps a bunch of drugs in her dresser."'
-								'You smile. "How would you know that? Have you been going through her panty drawer?" you ask in a teasing tone.'
-								'He turns bright red. "NO! Shut up and get out of my room!"' 
-								'You sigh and get up, leaving his room before he throws a fit.'
-							else
-								'He sighs and tells you about some nonsense thing she did as a kid that no one would care about, once again learning nothing worth knowing. You don''t know why you keep playing against him. You just shake your head and leave.'
-							end
-							act 'Leave': gt 'anushapt', 'hallway'
-						end
 					end
+					act 'Deal': gt 'anushaptbr', 'race_maksim_result'
+					if pcs_inhib > 30: act 'Deal (Go easy on Maksim)': gt 'anushaptbr', 'race_maksim_result', 1
 				end	
 			end
 		else
@@ -324,6 +269,65 @@ if $ARGS[0] = 'brotherroom':
 	end
 end 
 
+
+if $ARGS[0] = 'race_maksim_result':
+	minut += 20
+	gs 'exp_gain', 'gaming', rand(1 - ARGS[1], 3 - 2 * ARGS[1])
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/maksimplay.jpg"></center>'
+	if pcs_gaming <= 40 or ARGS[1] > 0:
+		'The two of you start playing, and it quickly becomes obvious he''s played this game a lot and is very good at it. You try, but you''re unable to keep up with him. You come close a few times, but you''re mostly hopelessly outmatched. After a few matches, he pauses the game and looks at you with a lustful grin. "Haha you lost! Now show me your boobs."'
+		gs 'willpower', 'exhib', 'resist'
+		if will_cost <= pcs_willpwr:
+			act 'Refuse (<<will_cost>> Willpower)':
+				*clr & cla
+				gs 'willpower', 'pay', 'resist'
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/broroom.jpg"></center>'
+				'You shake your head. "No, I don''t think so. You''re too young anyways."'
+				'His eyes flash in fury. "You promised!"'
+				'You shrug. "I lied."'
+				'"GET OUT! Get out of my room!" he yells.'
+				'Not wanting anyone to come and find out what''s going on, you quickly get up and leave.'
+				act 'Leave': gt 'anushapt', 'hallway'
+			end
+		else
+			act 'Refuse (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
+		act 'Show him your boobs':
+			*clr & cla
+			gs 'flash', 'tits', 'indoors', 1, 1
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/maksimshow.jpg"></center>'
+			'"A bet''s a bet," you shrug.'
+			'You stand and pull your top up, his eyes growing wide as he stares at your breasts. Before either of you can say anything, you hear the front door slam. "Maksim... Maksim... Come see... Come see!" Timofey yells as he runs down the hall.'
+			'You pull your top back into place just before he bursts into the room and Maksim gives him a dirty look. "Why do you always have to ruin everything?!"'
+			'Timofey stops, obviously not understanding what''s going on. He looks between the two of you completely confused. "I just wanted to show you something..." You use this as an opportunity to slip out of the room and close the door behind you, leaving the two of them behind to argue.'
+			act 'Leave': gt 'anushapt', 'hallway'
+		end
+	else
+		'You play a game with him. He''s pretty good, but not good enough to beat you. After a while, he grows frustrated. "I''m bored with this game!" he declares, turning it off in the middle of your last game and pulling out a single player one.'
+		'You smile, knowing he only switched games because he couldn''t win. "Well?"'
+		'He glances at you. "Well what?"'
+		'You smile at him. "You said you would tell me a secret about your sister, so what is it?"'
+		if maksimQW['secret1'] = 0 and hotcat >= 6 and npc_rel['A144'] >= 50:
+			maksimQW['secret1'] = 1
+			'He makes a ''V'' shape with his fingers and puts it against his mouth before sticking his tongue between them in the universal sign for eating pussy, mimicking licking for a few seconds. "She <i>likes</i> you."' 
+			'You just shake your head. You should have known he wouldn''t actually tell you anything you didn''t already know.'
+		elseif maksimQW['secret2'] = 0:
+			maksimQW['secret2'] = 1
+			'He looks around for a few seconds. "She keeps a bunch of drugs in her dresser."'
+			'You smile. "How would you know that? Have you been going through her panty drawer?" you ask in a teasing tone.'
+			'He turns bright red. "NO! Shut up and get out of my room!"' 
+			'You sigh and get up, leaving his room before he throws a fit.'
+		else
+			'He sighs and tells you about some nonsense thing she did as a kid that no one would care about, once again learning nothing worth knowing. You don''t know why you keep playing against him. You just shake your head and leave.'
+		end
+		act 'Leave': gt 'anushapt', 'hallway'
+	end
+end
+
+
 if $ARGS[0] = 'rematch':
 	$menu_loc = 'anushaptbr'
 	$menu_arg = 'rematch'

+ 3 - 5
locations/anushka.qsrc

@@ -117,14 +117,12 @@ if $ARGS[0] = 'plan':
 				npc_rel['A144'] += 1
 				npc_rel['A158'] += 1
 				grupvalue[4] += 1
-				minut += 3
+				minut += 13
 				gs 'drugs', 'alcohol',  'moonshine', 1
-				gs 'drugs', 'joint'
-				gs 'stat'
+				gs 'drugs', 'joint', 1
 				'<center><b><font color="maroon">Detention</font></b></center>'
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/detention/sex/detcbj.jpg"></center>'
 				'You take the offered drink and take a swig as well. You immediately regret it because you choke and cough from the burning liquid. This results in them both laughing. Whatever is in the flask is much stronger than you expected. Anushka soon takes out a joint and lights it up before passing it around. After only a few drinks each, the flask is empty, and the joint doesn''t last much longer. With the flask empty and the joint smoked to ashes, you''re feeling pretty buzzed and watch in dazed fascination as Valentin pulls his pants down.'
-				gs 'stat'
 				if hotcat >= 6:
 					'As Anushka and Valentin make out, she reaches down to close her hand around his cock and immediately starts to jerk him. After she has him good and hard, she reaches toward you with both hands to grab your head and push you down into his lap.'			
 					gs 'willpower', 'bj', 'resist'
@@ -659,7 +657,7 @@ if $ARGS[0] = 'chatwhilewaiting':
 					end
 					if artemQW['bf'] = 1:
 						act 'Artem':
-							cla					
+							cla
 							'"Artem," you tell her.'
 							'She arches a slender brow slightly. "Artem? The nerd?" She seems to consider it for a moment. "Well, I guess he is kind of cute, and I bet you have him totally pussy whipped to do whatever you want. Yeah ok, I can see the appeal." she says with a giggle.'
 							'You shake your head at her comment. "He''s sweet and really nice to me."'

+ 118 - 62
locations/anushkachat.qsrc

@@ -1,5 +1,5 @@
 # anushkachat
-!!2021/03/26
+!!2024/03/21
 if $ARGS[0] = 'chat':
 	menu_off = 1
 	*clr & cla
@@ -15,7 +15,6 @@ if $ARGS[0] = 'chat':
 		'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 		'The two of you chat about a variety of things, mostly school, music, clothes and what has been going on in Pavlovsk lately.'
-
 		act 'Keep talking': gt 'anushkachat', 'chat'
 		act 'Stop talking': gt 'anush_bedroom','anushroom'
 	end
@@ -27,10 +26,11 @@ if $ARGS[0] = 'chat':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 			'"You and Rad use to date, huh?" you ask her.'
 			'She sighs and looks at you for a moment, so you can tell this isn''t something she is too keen on talking about. "Yeah, when I was young and dumb. I started hanging out with them right after they started their band. Val told me him and Rad starting a band and he invited me to come and listen to them."'
-			'You just nod as she continues. "Anyway, they were kind of crap honestly, since they could barely play while the lyrics were awful. They mostly just did covers to practice with back then." She pauses for a moment, as if remembering what it was like. "Even back then, Rad was a decent singer, a bit on the raw, but you could hear the natural talent. He used to look at me with that look. It was the one that boys would give you when they really want you. Back then it felt amazing to be looked at that way, but now I know what that look really means..." she finishes with a frown.'
+			'You just nod as she continues. "Anyway, they were kind of crap honestly, since they could barely play while the lyrics were awful. They mostly just did covers to practice with back then." She pauses for a moment, as if remembering what it was like.'
+			*nl
+			'"Even back then, Rad was a decent singer, a bit on the raw, but you could hear the natural talent. He used to look at me with that look. It was the one that boys would give you when they really want you. Back then it felt amazing to be looked at that way, but now I know what that look really means..." she finishes with a frown.'
 			'You prod her a little. "What happened next?"'
 			'"Well he was already a bit of a bad boy even then, plus he was the lead singer of a band, which was hot. He paid attention to me in the way young girls want guys to pay attention to them," she says with a laugh and shakes her head. "God, I was so stupid back then. When he asked me out, I agreed and we started dating. I ended up becoming their number one fan."'
-
 			act 'Continue':
 				*clr & cla
 				minut += 5
@@ -39,11 +39,11 @@ if $ARGS[0] = 'chat':
 				'She sighs. "At first, everything was great, because I already knew how to play guitar myself. We talked about that and I helped by teaching him what I knew from my dad. He taught me what he knew and we both got better. I also helped him write original songs for the band. In time, I asked him if I could join, so he let me try out. Rad and Val agreed. Shithead didn''t." She notices the look on your face and adds "He was the band''s previous drummer. He was a real asshole."'
 				'You get curious. "How was he an asshole? I mean other than not wanting you in the band?" you ask.'
 				'"It''s hard to explain, but he was always harping about me being in the band and that Rad spent too much time with me. It was like he was against us from the start, but him trying to split us up it only made our relationship grow stronger," she replies, but seems a bit unsure of how to express herself.'
+				*nl
 				'You nod. "Okay, so being in the band caused you guys to break up?"'
 				'She gives you a confused stare. "What? No! At first, things were better than ever between Rad and me."'
 				'"What happened then?" you press her.'
 				'She sighs loudly and you can tell that she''s starting to get annoyed talking about it. "We actually started to make a name for ourselves. I just don''t mean with the local kids, but we started playing at some parties. At the time we just got free booze, drugs and got to hang out with older kids. We even played at some of the underground parties as an opening act."'
-
 				act 'Go on':
 					*clr & cla
 					minut += 5
@@ -51,9 +51,9 @@ if $ARGS[0] = 'chat':
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 					'She frowns at you as you prod her even more. "That''s when it started. Suddenly, I had guys hitting on me all the time, even guys several years older than me. They had never paid me any attention before. The girls were doing the same with the boys, but I didn''t care. Rad and I were together."'
 					'You can tell she''s starting to get visibly upset, but not angry. It''s like she might actually be on the verge of crying. She takes a deep, calming breath to get herself back under control and her vulnerable moment passes. "It happened after one of the underground parties we played at. After we were done, we joined in with the dancing and partying. I noticed Rad wasn''t anywhere to be seen, so I went to look for him... Yeah, I found him fucking some other chick." Now she seems to be angry. "We fought, and he said he was sorry and wouldn''t do it anymore, so I forgave him. God, I was so fucking stupid!" she says harshly.'
+					*nl
 					'"However, he didn''t stop. I caught him several more times with different sluts, but I always kept forgiving him and taking him back. Then the fucking asshole had the nerve to fucking dump <i>me</i>, saying it was ''best for the band''," She goes quiet while looking sad.'
 					'"In the end, he was right. We never should have dated and should have broken up sooner. It was a good PR move for the band if we were both single, to create the fantasy of our fans having a chance with us. It took me a while to come to that realization," she says while shaking her head.'
-
 					act 'Then what?':
 						*clr & cla
 						minut += 5
@@ -62,7 +62,6 @@ if $ARGS[0] = 'chat':
 						'"We fought all the fucking time, but Val convinced me to stay in the bad and Rad wanted me to stay too. However, it made Shithead leave, which is the best thing to come out of Rad and myself dating because then we found Arkadi."'
 						'You''re a little confused. "Why are you still hooking up if you guys broke up?"'
 						'She shrugs. "I got over it. I forgave him, but we were both young and stupid. Now we''re just friends and he''s still a good fuck, so why not?" she says with a smile, but you''re unconvinced. She changes the subject to a song she recently heard, obviously not wanting to talk about it any further.'
-
 						act 'Keep talking': gt 'anushkachat', 'chat'
 						act 'Stop talking': gt 'anush_bedroom','anushroom'
 					end
@@ -81,15 +80,14 @@ if $ARGS[0] = 'chat':
 			'She stares at you, puzzled. "What are you talking about?"'
 			'You smile at her, knowing that she''s having sex with him. "Well, you guys are hooking up, but is that it or is there something more?"'
 			'She shakes her head. "Where did you hear that? Never mind, it doesn''t matter. No, we''re just friends who occasionally fuck is all."'
+			*nl
 			'You get the feeling she''s holding something back. "There''s nothing serious then? No chance of you guys becoming a couple?"'
 			'Her smile completely disappears and you feel like you''ve struck a nerve. "No." She pauses for a moment before continuing. "We used to date, but things didn''t work out and we ended up breaking up."'
 			'You get the feeling she really doesn''t want to talk about it, but you''re also now curious about what happened.'
 			if anushkaQW['radspy'] = 1 and anushkaQW['valspy'] = 1:
 				'You also wonder if the reason she doesn''t want to talk about it is because she''s sleeping with both Radomir and Valentin. Does that cause problems with the band?'
-
 				act 'Problems in the band': gt 'anushkachat', 'radval'
 			end
-
 			act 'Keep talking': gt 'anushkachat', 'chat'
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 		end
@@ -104,11 +102,11 @@ if $ARGS[0] = 'chat':
 			'She stares at you, puzzled. "What are you talking about?"'
 			'You smile at her, knowing she''s having sex with him. "Well, you guys are hooking up, but is that it or is there something more?"'
 			'She shakes her head, but smiles at the question. "No, we''re just friends who occasionally fuck is all."'
+			*nl
 			'"So nothing serious then? Why just hook up? I mean he is okay looking..." you comment.'
 			'She giggles at that. "One, he''s just fun to hang out with. Two, he has a huge dick. He always leaves my pussy and ass aching, but in a good way..." she says with a grin while pretending she''s holding a massive dick. You both laugh and she tells you about some of the times when she and Val have hooked up.'
 			if anushkaQW['radspy'] = 1 and anushkaQW['valspy'] =1:
 				'After that, you can''t help but wonder if her sleeping with both Radomir and Valentin causes problems with the band.'
-
 				act 'Problems in the band': gt 'anushkachat', 'radval'
 			end
 
@@ -136,7 +134,6 @@ if $ARGS[0] = 'chat':
 			'You laugh. "Okay, okay. I get it. Big black dicks are what makes you horny."'
 			'She shakes her head slightly. "It''s not just that, or I should say only that. It''s also about everyone saying it''s wrong. It''s the same reason that I like fucking other chicks or getting naked. Breaking the rules and rubbing it in their narrow minded faces is a huge turn on. I mean fuck what society thinks or wants us to think or how to act. The more people tell me good girls shouldn''t do this or that, the more I want to fucking do it. I say break all the fucking rules and live free."'
 			'You only nod at that. You know Anushka is a bit of an anarchist at heart, so it''s not a surprise breaking social norms turns her on.'
-
 			act 'Keep talking': gt 'anushkachat', 'chat'
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			if OluQW['sex'] = 1 and OluQW['nush_inv'] = 0:
@@ -201,12 +198,10 @@ if $ARGS[0] = 'chat':
 		*nl
 		'"That would be great because we usually have lots of fun at the gigs. They''re so energetic, especially when the crowd gets going. The after parties are also a lot of fun too, especially if you like to party. Yeah, you should definitely come by. I''m sure you wouldn''t regret it. You could also come to one of our practice sessions if you just want to hear us play and hang out."'
 		'You nod. "Where do you practice?"'
-		'She laughs. "Rad somehow managed to get a hold of one of those old garages at the end of the courtyard and we converted it into a studio of sorts." She explains roughly where it is and you find that it isn''t too far from your stepfather''s garage.'
-
+		'She laughs. "Rad somehow managed to get a hold of one of those old garages at the end of the courtyard and we converted it into a studio of sorts." She explains roughly where it is and you find that it isn''t too far from your stepfather''s garage. She also lets you know that they play on Wednesday evenings.'
 		act 'Stop talking': gt 'anush_bedroom','anushroom'
 		act 'Keep talking': gt 'anushkachat', 'chat'
 	end
-
 	act 'Ask about the boys in the band':
 		*clr & cla
 		minut += 5
@@ -218,11 +213,9 @@ if $ARGS[0] = 'chat':
 		'"Then we have Arkadi. He''s a great drummer and is always trying to keep us focused on the music, which can get annoying at times, but he can be fun and is usually up for whatever you want to do. He''s got a serious temper though, and can cause shit to go sideways fast if you aren''t too careful. I''m glad he''s with us though, since the band would probably have split up by now if it wasn''t for him. Yeah, he''s a loose cannon at times, but I enjoy his company. Plus he''s a great hard fuck, especially if you piss him off first..." she says with a wink and a grin.'
 		*nl
 		'"Finally, there''s Valentin. He plays a mean bass and has been with the band from the start. He''s pretty laid back and a lot of fun to hang out with, but takes the business side of things seriously. When we do gigs, Rad schmoozes the client, then Val steps in to handle the details to work out a good deal for us. On the plus side, he''s got a really big dick," she says with a laugh.'
-
 		act 'Stop talking': gt 'anush_bedroom','anushroom'
 		act 'Keep talking': gt 'anushkachat', 'chat'
 	end
-
 	act 'Ask about her being a free-spirit':
 		*clr & cla
 		minut += 5
@@ -236,7 +229,6 @@ if $ARGS[0] = 'chat':
 		'"Well, some people say you like guys, but sometimes hook up with girls. Others say you like girls, but sometimes hook up with guys." You try to not imply that she''s a slut, which is what many seem to think.'
 		'She shrugs. "Honestly, I don''t really care. If I like someone and I find them attractive, then I want to fuck them. I mean sex is great; it feels amazing, and it''s something you can share with other people, so why not have sex with anyone you like and find attractive?"'
 		'You open your mouth to respond when you realize that she makes a valid point.'
-
 		act 'Stop talking': gt 'anush_bedroom','anushroom'
 		act 'Keep talking': gt 'anushkachat', 'chat'
 	end
@@ -248,8 +240,11 @@ if $ARGS[0] = 'chat':
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 			'"I often see you hanging out with Alyona. Aren''t you scared of her?" you ask curiously.'
-			'"Yeah, she''s my partner in crime and confidant. We hang out a lot and I really enjoy her company. She''s also our band''s number one fan. Most people are afraid of her, but she doesn''t really give a fuck, which is what I really like about her."'
-
+			'She snorts and shakes her head. "No, she''s my partner in crime and confidant. We hang out a lot and I really enjoy her company. She''s also our band''s number one fan. Most people are afraid of her, but she doesn''t really give a fuck, which is what I really like about her."'
+			'You decide to press on a bit. "So why is she the way she is?"'
+			*nl
+			'Anushka frowns. "She has a bit of a fucked up family life, her dad smacks her around a bit and I know he is always telling her how worthless she is and shit like that, I would like to stab that fat fuck."'
+			'You are surprised, you never knew. "Wow that''s awful." The two of you talk a bit more about Alyona but either Anushka doesn''t want to share to much about her friends secrets or she doesn''t know a lot, before long you change the subject.'
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
@@ -283,7 +278,6 @@ if $ARGS[0] = 'chat':
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 		'"I don''t mean to pry, but you and your brothers seem to have a rocky relationship."'
 		'"I know, we have a bit of a love/hate relationship. They can be such little assholes, but at the same time they have their moments when they''re an absolute blast to be around. If only Maksim could just stop creeping around and perving on all my female friends. I blame my mother for that; she''s poisoning them against me, and girls in general, and is turning them into sexist assholes."'
-
 		act 'Stop talking': gt 'anush_bedroom','anushroom'
 		act 'Keep talking': gt 'anushkachat', 'chat'
 	end
@@ -303,11 +297,9 @@ if $ARGS[0] = 'chat':
 			'"I''m not sure, but I guess I have a few options," you tell her.'
 			'She nods. "Well, you should decide before you get stuck in this crappy little town married to some asshole whose kids you''re popping out every few years. Not judging you, unless that''s what you want. I''m just saying..."'
 			'You''re not sure what more to say about it, so you decide to change the subject.'
-
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
-
 		act 'Go to the university':
 			*clr & cla
 			minut += 5
@@ -315,11 +307,9 @@ if $ARGS[0] = 'chat':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 			'You get a bit excited. "I''m planning to attend the university as well. I''m glad I''ll know someone there now at least."'
 			'She becomes thoughtful for a second. "Maybe we should think about being roommates when we go? As you said, then we know each other and already get along. Let''s talk about it more when the time comes, yeah?"'
-
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
-
 		if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or (pcs_lover - pcs_girlfriends) > 0:
 			if Rex_Love = 1:	act 'Get married to Rex': gt 'anushkachat', 'telling_marrige_dreams', 'Rex'
 			if artemQW['bf'] = 1: act 'Get married to Artem': gt 'anushkachat', 'telling_marrige_dreams', 'Artem'
@@ -358,17 +348,16 @@ if $ARGS[0] = 'chat':
 		act 'Maybe':
 			*clr & cla
 			minut += 5
+			anushkaQW['sveta_love'] += 1
 			gs 'npc_relationship', 'modify', 'A144', 'like'
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/brtkiss.jpg"></center>'
 			'You feel put on the spot since that''s not what you meant. Or maybe subconsciously you do mean it, which is why you asked. Either way, a part of you would really like to be Anushka''s girlfriend. "I guess... maybe. I have been thinking about it a little..."'
 			'With your eyes downcast, you don''t see her reaction and you''re not sure you want to know it. However, you feel her place a finger under your chin so you''re looking at her. Her face is mere inches from yours and you can feel her breath on your face. You''re looking into her eyes when the two of you suddenly start kissing. A long, deep passionate kiss with just a hint of lust to it. You don''t know if you kissed her or she kissed you, but it sure is amazing.'
 			'Finally, the kiss ends and she leans back and sucks on her lower lip while looking at you before she gives you a smirking smile. "Like I said, I''m not looking, but I''m not against it. Let''s just see where the ride takes us." Before things can go further, she asks about the homework from one of your classes, so you get it. She doesn''t want to rush things, but she isn''t saying no either.'
-
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
-
 		act 'No':
 			*clr & cla
 			minut += 5
@@ -376,11 +365,9 @@ if $ARGS[0] = 'chat':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 			'You shake your head because this conversation really went off the rails and is not at all what you meant. "No, I mean I like you, but not like that. Not that..." She reaches up and places a finger over your lips to stop you from going on. She seems amused by your response.'
 			'"It''s fine. I''m just yanking your chain. I like things just as how they are too."'
-
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
-
 		if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or (pcs_lover - pcs_girlfriends) > 0:
 			act 'I have a boyfriend': gt 'anushkachat', 'boyfriend_chat'
 		end
@@ -405,24 +392,32 @@ if $ARGS[0] = 'chat':
 			anushkaQW['model_referral'] = 1
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-			'Knowing she''s a model, you decide to ask her about it. "I was in the city and saw your photo album at Aphrodite..."'
-			'She laughs. "Did you like what you saw?" she asks rather lewdly and nudges you in the side.'
-			'You shake your head, but she has a nice laptop and a lot of clothes, as well as tattoos. None of these are cheap. "Does modeling pay well?"'
-			'She nods. "Sort of... I mean, if you''re willing to do nude modeling, you can make a lot of money in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
-			'"Nude?" you silently ask yourself. Still, if it pays that much then it might be worth considering. "I don''t know... Maybe... How would I get started? Do I just walk in and tell them I want to be a model or something?"'
-			'She grins at you. "Yeah, pretty much. It helps if you have a portfolio already, but just tell them I sent you. Oh, and make sure you have ID showing you''re old enough."'
-			act 'Stop talking': gt 'anush_bedroom','anushroom'
-			act 'Keep talking': gt 'anushkachat', 'chat'
-			if fakepassport ! 1:
-				act 'Underaged?':
-					*clr & cla
-					fakepassport = 2
-					'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-					'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model in the nude when you''re under 18. "Wait a second, how did you get past the age check?"'
-					'She laughs. "Sometimes I forget that not everyone has a fake passport. It''s pretty easy to pick one up though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
-					act 'Stop talking': gt 'anush_bedroom','anushroom'
-					act 'Keep talking': gt 'anushkachat', 'chat'
+			if model['status'] = 1:
+				'Knowing she''s a model, you decide to ask her about it. "I was in the city killing time between photo shoots and saw your photo album at Aphrodite... I didn''t know you modeled as well."'
+				'She nods. "Yeah it pays pretty well, so you model too?" You nod yes and soon the two of you are talking about the various modeling gigs you have done and you have discovered you both work for the same modeling agency.'
+				act 'Do something else':gt 'anush_bedroom','anushroom'
+			else
+				anushkaQW['model_referral'] = 1
+				'Knowing she''s a model, you decide to ask her about it. "I was in the city and saw your photo album at Aphrodite..."'
+				'She laughs. "Did you like what you saw?" she asks rather lewdly and nudges you in the side.'
+				'You shake your head, but she has a nice laptop and a lot of clothes, as well as tattoos. None of these are cheap. "Does modeling pay well?"'
+				'She nods. "Sort of... I mean, if you''re willing to do nude modeling, you can make a lot of money in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
+				*nl
+				'"Nude?" you silently ask yourself. Still, if it pays that much then it might be worth considering. "I don''t know... Maybe... How would I get started? Do I just walk in and tell them I want to be a model or something?"'
+				'She grins at you. "Yeah, pretty much. It helps if you have a portfolio already, but just tell them I sent you. Oh, and make sure you have ID showing you''re old enough."'
+				act 'Stop talking': gt 'anush_bedroom','anushroom'
+				act 'Keep talking': gt 'anushkachat', 'chat'
+				if fakepassport ! 1:
+					act 'Underaged?':
+						*clr & cla
+						fakepassport = 2
+						'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+						'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model in the nude when you''re under 18. "Wait a second, how did you get past the age check?"'
+						'She laughs. "Sometimes I forget that not everyone has a fake passport. It''s pretty easy to pick one up though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
+						act 'Stop talking': gt 'anush_bedroom','anushroom'
+						act 'Keep talking': gt 'anushkachat', 'chat'
+					end
 				end
 			end
 		end
@@ -442,7 +437,7 @@ if $ARGS[0] = 'chat':
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/brtkiss.jpg"></center>'
 			if hotcat >= 6:
-				'You look at her as you sit side by side. Maybe for too long, or maybe she just senses it, since she turns her head to look at you. Her face is not that far from yours and you can''t help it; she''s so damn pretty! You lean over to give her a kiss, a kiss she fully returns.'
+				'You look at her as you sit side by side. Maybe for too long, or maybe she just senses it, since she turns her head to look at you. Her face is not that far from yours and you can''t help it; she''s so damn pretty! You lean over to give her a kiss, a kiss she fully returns. The two of you kiss for a bit, but you are not sure she wants to do more yet or not. Perhaps you should press on or maybe you should wait and try some other time for more.'
 				gs 'arousal', 'foreplay', 1, 'lesbian'
 				gs 'stat'
 				act 'Stop kissing and talk more': gt 'anushkachat', 'chat'
@@ -450,6 +445,7 @@ if $ARGS[0] = 'chat':
 				if anushkaQW['kiss'] > 5:
 					act 'Make out':
 						*clr & cla
+						anushkaQW['sveta_love'] += 1
 						'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/brtmakeout.jpg"></center>'
 						'She wraps her arms around your neck and pulls you in close. The two of you are soon kissing passionately, the kisses full of eager lust and urgent need as you feel yourself getting more and more aroused.'
@@ -548,6 +544,81 @@ if $ARGS[0] = 'chat':
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
 	end
+	if artemQW['nush3some'] = 2:
+		act 'Bring Artem threesome again':
+			*clr & cla
+			minut += 5
+			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+			if artemQW['rough_anal_nush'] = 2 or anushkaQW['artem_dom'] = 1:
+				artemQW['nush3some'] = 3
+				'You glance over at her. "I talked to Artem about having another threesome and... he''s wants to do it again."'
+				'Anushka giggles softly. "Yeah I bet he does." She looks thoughtful for a moment. "I have to admit he really surprised me, he was way better than I was expecting and there was something about a nerd using me for his pleasure that was kinda a turn on."'
+				'You giggle a bit. "I know right? Him getting all rough and dominate was a big turn on for me too."'
+				'She glances at you and looks you right in the eye. "Are you up for this?"'
+				'You nod. "Yeah like I said we talked about and we would both like to do it again if you are willing."'
+				'She smiles to you. "Sure why not."'
+				act 'Stop talking': gt 'anush_bedroom','anushroom'
+				act 'Keep talking': gt 'anushkachat', 'chat'
+			end
+			if artemQW['rough_anal_nush'] = 1:
+				artemQW['nush3some'] = 3
+				'You glance over at her. "I talked to Artem about having another threesome and... he''s wants to do it again."'
+				'Anushka giggles softly. "Yeah I bet he does." She looks thoughtful for a moment. "I have to admit he wasn''t bad, not as bad as I was expecting anyways."'
+				'She glances at you and looks you right in the eye. "Are you up for this?"'
+				'You nod. "Yeah like I said we talked about and we would both like to do it again if you are willing."'
+				'She looks at you a long minute then sighs and nods. "For you I will."'
+				'You smile to her. "Thanks you won''t regret it I promise."'
+				act 'Stop talking': gt 'anush_bedroom','anushroom'
+				act 'Keep talking': gt 'anushkachat', 'chat'
+			else
+				'You glance over at her. "I talked to Artem about having another threesome and... he''s wants to do it again."'
+				'Anushka rolls her eyes slightly. "Yeah I bet he does. Look no offense but your boyfriend isn''t very good at fucking." She quickly continues before you can inject. "He might be great for you, but I like it rough, I like to fuck and you know how I feel about people that won''t stand up for themselves. Sorry I''m just not interested."'
+				gs 'willpower', 'sex', 'force', 'easy'
+				if will_cost <= pcs_willpwr:
+					act 'Convince her (<<will_cost>> Willpower)':
+						*clr & cla
+						gs 'willpower', 'pay', 'force'
+						gs 'stat'
+						'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+						'You frown but are not to surprised she is so reluctant. "Look I know it wasn''t what you are into, but we talked and he understands now, so how about you give him another chance. For me? Please?" You give her your best puppy dog eyes.'
+						'She rolls her eyes, then sighs and shoves your shoulder. "Fine... one more chance... for you. But you better work with him more before you call me over."'
+						'You nod your head. "I promise."'
+						act 'Stop talking': gt 'anush_bedroom','anushroom'
+						act 'Keep talking': gt 'anushkachat', 'chat'
+					end
+				else
+					act 'Convince her (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end	
+				act 'Drop it':
+					*clr & cla
+					'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+					'You frown but just nod, you knew this would be a bit of a long shot but you really though she would agree to try again. Apparently she was more disappointed with the sex than you thought.'
+					act 'Stop talking': gt 'anush_bedroom','anushroom'
+					act 'Keep talking': gt 'anushkachat', 'chat'
+				end
+			end
+		end
+	end
+	if anushkaQW['artem_dom'] = 1:
+		act 'Talk about Artem dominating her':
+			*clr & cla
+			minut += 5
+			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+			'You look over at her and decide to bring up how Artem dominated her. "So I have been wondering how you feel after Artem put you in your place."'
+			'Anushka smirks to you. "I have to admit it was kinda hot, I honestly didn''t think he had it in him. When he started to crowd me is the first time I realized how tall he had gotten, he towered over me. In my head he was still that short skinny nerdy kid... but he really sprouted up."'
+			'You laugh a bit, you know she is a bit on the short side about 6 or 7cm shorter than the average girl, while Artem is really close to average for a guy, but you get what she means. "So how do you feel about a neeerd." You say nerd in a mocking tone like she often does. "Making a bad ass chick like you his bitch and making you admit your his bitch?"'
+			*nl
+			'She laughs. "It was hot, I loved it, I like it when guys get all forceful and him being a neeerd." She copies your mocking tone for nerd but is grinning. "Just made it extra hot, so yeah I am up for another go. At least for now."'
+			'You arch a brow. "For now?" You ask her.'
+			'She shrugs a bit. "Yeah it''s fun but I think the novelty will wear off eventually... but maybe I should start looking at other nerds, instead of just focusing on bad boys and jocks all the time." You both laugh at that and talking about some of the nerd boys and what you think of them.'
+			act 'Stop talking': gt 'anush_bedroom','anushroom'
+			act 'Keep talking': gt 'anushkachat', 'chat'
+		end
+	end
 end
 
 if $ARGS[0] = 'photo_chat':
@@ -604,7 +675,6 @@ if $ARGS[0] = 'boyfriend_chat':
 			cla
 			'"Niko," you tell her.'
 			'She looks at you, concerned. "<<$pcs_nickname>>, he''s bad news and I don''t mean in the ''fun bad boy'' sort of way. I mean he isn''t what he seems." Noticing your facial expression from bad mouthing your boyfriend, she holds up her hand. "Hey, it''s your life so do what you want. Just... just be careful with him.'
-
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
@@ -638,11 +708,9 @@ if $ARGS[0] = 'boyfriend_chat':
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 						'You blush slightly. "Let me think about it, then I''ll talk to him. I''ll let you know."'
 						'She laughs at that. "He''s a guy. They all want to fuck two girls at once, but sure, let me know." You roll your eyes at her comment, even if it was true and decide to change the subject.'
-
 						act 'Stop talking': gt 'anush_bedroom','anushroom'
 						act 'Keep talking': gt 'anushkachat', 'chat'
 					end
-
 					act 'I''ll ask him':
 						*clr & cla
 						minut += 5
@@ -653,11 +721,9 @@ if $ARGS[0] = 'boyfriend_chat':
 						'You can''t help but grin. You think about it and it does sound fun. "Sure. I''ll ask him and see what he thinks. It could be fun," you tell her.'
 						'She giggles. "Sex is always fun, unless you''re doing it wrong. Anyway, I''m sure if you ask nicely he will agree. He is a guy after all."'
 						'You shake your head. "Yeah, most likely. I''ll let you know what he says."'
-
 						act 'Stop talking': gt 'anush_bedroom','anushroom'
 						act 'Keep talking': gt 'anushkachat', 'chat'
 					end
-
 					act 'No, I don''t think so':
 						*clr & cla
 						minut += 5
@@ -665,7 +731,6 @@ if $ARGS[0] = 'boyfriend_chat':
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 						'You shake your head. "Sorry, but he''s all mine," you tell her with a grin.'
 						'She makes a tsking sound. "Too bad. If you change your mind, then let me know." You''re not sure what else to say, so you change the subject.'
-
 						act 'Stop talking': gt 'anush_bedroom','anushroom'
 						act 'Keep talking': gt 'anushkachat', 'chat'
 					end
@@ -676,7 +741,6 @@ if $ARGS[0] = 'boyfriend_chat':
 					*nl
 					'You roll your eyes. "I just like him, okay?" Thinking about it, you bite your lip and add "Well, maybe it is pretty big..."'
 					'She laughs. "I knew it!" She grabs her pillow and starts pretending to hump it doggystyle while talking in a gruff voice trying to sound like Fedor. "Yeah, take my big dick <<$pcs_nickname>>! Take it!" She switches to a girly voice and tries to sound like you. "Yes... yes... Fedor fuck me with your big dick... YES!" She bursts out laughing and you can''t help but to join in.'
-
 					act 'Stop talking': gt 'anush_bedroom','anushroom'
 					act 'Keep talking': gt 'anushkachat', 'chat'
 				end
@@ -689,7 +753,6 @@ if $ARGS[0] = 'boyfriend_chat':
 			'"Vitek," you tell her.'
 			'She just stares at you. "Really? Yeah, I get that he has that bad boy vibe going for him, but you really could do better."' 
 			'She notices your facial expression from her bad mouthing your boyfriend, so she holds up her hand. "Hey, it''s your life, so do what you want, but doesn''t it feel like you''re dating Lena at the same time because of how much she talks about how great he is? At least, when she isn''t bitching about him ruining her sex life. You would think she wants to suck his dick or something," she says with a smirk. You just roll your eyes and she lets it drop.'
-
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
@@ -715,11 +778,9 @@ if $ARGS[0] = 'boyfriend_chat':
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 					'You blush slightly. "Let me think about it and talk to him. We''ll see, but I''ll let you know if we do."'
 					'She laughs. "He''s a guy. They all want to fuck two girls at once, but sure, let me know." You roll your eyes at her comment, even if it was true and decide to change the subject.'
-
 					act 'Stop talking': gt 'anush_bedroom','anushroom'
 					act 'Keep talking': gt 'anushkachat', 'chat'
 				end
-
 				act 'I''ll ask him':
 					*clr & cla
 					minut += 5
@@ -731,11 +792,9 @@ if $ARGS[0] = 'boyfriend_chat':
 					'You can''t help but grin. You think about it and it does sound fun. "Sure. I''ll ask him and see what he thinks. He''s kind of shy though, so I don''t know what he''ll say," you tell her.'
 					'She giggles. "He''s a boy and all boys want to fuck as much as they can. Having sex with two girls at once is like the most common fantasy they all have, and I doubt he''s any different. Besides, maybe I can teach him a new trick or two for you?" she says in a teasing tone with a wink.'
 					'You shake your head. "I doubt that, but I''ll ask him."'
-
 					act 'Stop talking': gt 'anush_bedroom','anushroom'
 					act 'Keep talking': gt 'anushkachat', 'chat'
 				end
-
 				act 'No, I don''t think so':
 					*clr & cla
 					minut += 5
@@ -743,7 +802,6 @@ if $ARGS[0] = 'boyfriend_chat':
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 					'You shake your head. "Sorry, but he''s all mine," you tell her with a grin.'
 					'She makes a tsking sound. "Too bad. If you change your mind, then let me know." You''re not sure what else to say to that, so you change the subject.'
-
 					act 'Stop talking': gt 'anush_bedroom','anushroom'
 					act 'Keep talking': gt 'anushkachat', 'chat'
 				end
@@ -773,7 +831,6 @@ if $ARGS[0] = 'boyfriend_chat':
 			*nl
 			'She now has an inquisitive look on her face. "How did you meet him? Isn''t he a few years older than you?" she asks.'
 			'You smile at her. "I was invited to his party," you tell her, then add "He''s friends with my sister. She invited me to his party and that''s where we met." You talk about the night you met him and your first date.'
-
 			act 'Stop talking': gt 'anush_bedroom','anushroom'
 			act 'Keep talking': gt 'anushkachat', 'chat'
 		end
@@ -813,7 +870,6 @@ if $ARGS[0] = 'telling_marrige_dreams':
 	act 'Keep talking': gt 'anushkachat', 'chat'
 end
 
-
 if $ARGS[0] = 'radval':
 	menu_off = 1
 	*clr & cla

+ 117 - 94
locations/anushkachat_city.qsrc

@@ -1,5 +1,5 @@
 # anushkachat_city
-!2023/05/08
+!2024/03/27
 
 !AnushkaLocCity tells us where Anushka is located
 !----------------------------------------------
@@ -18,7 +18,6 @@
 !locat['A144'] = 12 (Anushka is at the University Library Mon and Wed from 15:00 till 18:00)
 !---------------------------------------------
 
-!!2021/03/26
 if $ARGS[0] = 'chat':
 	menu_off = 1
 	*clr & cla
@@ -60,9 +59,9 @@ if $ARGS[0] = 'chat':
 				'"It''s hard to explain, but he was always harping about me being in the band and that Rad spent too much time with me. It was like he was against us from the start, but him trying to split us up it only made our relationship grow stronger," she replies, but seems a bit unsure of how to express herself.'
 				'You nod. "Okay, so being in the band caused you guys to break up?"'
 				'She gives you a confused stare. "What? No! At first, things were better than ever between Rad and me."'
+				*nl
 				'"What happened then?" you press her.'
 				'She sighs loudly and you can tell that she''s starting to get annoyed talking about it. "We actually started to make a name for ourselves. I just don''t mean with the local kids, but we started playing at some parties. At the time we just got free booze, drugs and got to hang out with older kids. We even played at some of the underground parties as an opening act."'
-
 				act 'Go on':
 					*clr & cla
 					minut += 5
@@ -73,7 +72,6 @@ if $ARGS[0] = 'chat':
 					*nl
 					'"However, he didn''t stop. I caught him several more times with different sluts, but I always kept forgiving him and taking him back. Then the fucking asshole had the nerve to fucking dump <i>me</i>, saying it was ''best for the band''," She goes quiet while looking sad.'
 					'"In the end, he was right. We never should have dated and should have broken up sooner. It was a good PR move for the band if we were both single, to create the fantasy of our fans having a chance with us. It took me a while to come to that realization," she says while shaking her head.'
-
 					act 'Then what?':
 						*clr & cla
 						minut += 5
@@ -82,7 +80,6 @@ if $ARGS[0] = 'chat':
 						'"We fought all the fucking time, but Val convinced me to stay in the bad and Rad wanted me to stay too. However, it made Shithead leave, which is the best thing to come out of Rad and myself dating because then we found Arkadi."'
 						'You''re a little confused. "Why are you still hooking up if you guys broke up?"'
 						'She shrugs. "I got over it. I forgave him, but we were both young and stupid. Now we''re just friends and he''s still a good fuck, so why not?" she says with a smile, but you''re unconvinced. She changes the subject to a song she recently heard, obviously not wanting to talk about it any further.'
-
 						act 'Keep talking': gt 'anushkachat_city', 'chat'
 						act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 					end
@@ -106,10 +103,8 @@ if $ARGS[0] = 'chat':
 			'You get the feeling she really doesn''t want to talk about it, but you''re also now curious about what happened.'
 			if anushkaQW['radspy'] = 1 and anushkaQW['valspy'] = 1:
 				'You also wonder if the reason she doesn''t want to talk about it is because she''s sleeping with both Radomir and Valentin. Does that cause problems with the band?'
-
 				act 'Problems in the band': gt 'anushkachat_city', 'radval'
 			end
-
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 		end
@@ -124,14 +119,13 @@ if $ARGS[0] = 'chat':
 			'She stares at you, puzzled. "What are you talking about?"'
 			'You smile at her, knowing she''s having sex with him. "Well, you guys are hooking up, but is that it or is there something more?"'
 			'She shakes her head, but smiles at the question. "No, we''re just friends who occasionally fuck is all."'
+			*nl
 			'"So nothing serious then? Why just hook up? I mean he is okay looking..." you comment.'
 			'She giggles at that. "One, he''s just fun to hang out with. Two, he has a huge dick. He always leaves my pussy and ass aching, but in a good way..." she says with a grin while pretending she''s holding a massive dick. You both laugh and she tells you about some of the times when she and Val have hooked up.'
 			if anushkaQW['radspy'] = 1 and anushkaQW['valspy'] =1:
 				'After that, you can''t help but wonder if her sleeping with both Radomir and Valentin causes problems with the band.'
-
 				act 'Problems in the band': gt 'anushkachat_city', 'radval'
 			end
-
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 		end
@@ -156,7 +150,6 @@ if $ARGS[0] = 'chat':
 			'You laugh. "Okay, okay. I get it. Big black dicks are what makes you horny."'
 			'She shakes her head slightly. "It''s not just that, or I should say only that. It''s also about everyone saying it''s wrong. It''s the same reason that I like fucking other chicks or getting naked. Breaking the rules and rubbing it in their narrow minded faces is a huge turn on. I mean fuck what society thinks or wants us to think or how to act. The more people tell me good girls shouldn''t do this or that, the more I want to fucking do it. I say break all the fucking rules and live free."'
 			'You only nod at that. You know Anushka is a bit of an anarchist at heart, so it''s not a surprise breaking social norms turns her on.'
-
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			if OluQW['sex'] = 1 and OluQW['nush_inv'] = 0:
@@ -198,7 +191,6 @@ if $ARGS[0] = 'chat':
 				anushkaQW['dolls'] = 2
 				'You tell her you''ve been there before and she smiles. "Next time you''re there, tell them that they still owe me a round."'
 			end
-
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
@@ -218,12 +210,10 @@ if $ARGS[0] = 'chat':
 		*nl
 		'"That would be great because we usually have lots of fun at the gigs. They''re so energetic, especially when the crowd gets going. The after parties are also a lot of fun too, especially if you like to party. Yeah, you should definitely come by. I''m sure you wouldn''t regret it. You could also come to one of our practice sessions if you just want to hear us play and hang out."'
 		'You nod. "Where do you practice?"'
-		'She laughs. "When we got this apartment, we made sure there was a open garage spot as well. We set up in there sortly like we did back in Pav, in fact we moved all the stuff from there here, so it really looks almost exactly the same." She explains roughly where it is and you find it.'
-
+		'She laughs. "When we got this apartment, we made sure there was a open garage spot as well. We set up in there sortly like we did back in Pav, in fact we moved all the stuff from there here, so it really looks almost exactly the same." She explains roughly where it is and you find it and that it happens on Wednesday nights again.'
 		act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 		act 'Keep talking': gt 'anushkachat_city', 'chat'
 	end
-
 	act 'Ask about the boys in the band':
 		*clr & cla
 		minut += 5
@@ -235,11 +225,9 @@ if $ARGS[0] = 'chat':
 		'"Then we have Arkadi. He''s a great drummer and is always trying to keep us focused on the music, which can get annoying at times, but he can be fun and is usually up for whatever you want to do. He''s got a serious temper though, and can cause shit to go sideways fast if you aren''t too careful. I''m glad he''s with us though, since the band would probably have split up by now if it wasn''t for him. Yeah, he''s a loose cannon at times, but I enjoy his company. Plus he''s a great hard fuck, especially if you piss him off first..." she says with a wink and a grin.'
 		*nl
 		'"Finally, there''s Valentin. He plays a mean bass and has been with the band from the start. He''s pretty laid back and a lot of fun to hang out with, but takes the business side of things seriously. When we do gigs, Rad schmoozes the client, then Val steps in to handle the details to work out a good deal for us. On the plus side, he''s got a really big dick," she says with a laugh.'
-
 		act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 		act 'Keep talking': gt 'anushkachat_city', 'chat'
 	end
-
 	act 'Ask about her being a free-spirit':
 		*clr & cla
 		minut += 5
@@ -253,7 +241,6 @@ if $ARGS[0] = 'chat':
 		'"Well, some people say you like guys, but sometimes hook up with girls. Others say you like girls, but sometimes hook up with guys." You try to not imply that she''s a slut, which is what many seem to think.'
 		'She shrugs. "Honestly, I don''t really care. If I like someone and I find them attractive, then I want to fuck them. I mean sex is great; it feels amazing, and it''s something you can share with other people, so why not have sex with anyone you like and find attractive?"'
 		'You open your mouth to respond when you realize that she makes a valid point.'
-
 		act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 		act 'Keep talking': gt 'anushkachat_city', 'chat'
 	end
@@ -264,9 +251,8 @@ if $ARGS[0] = 'chat':
 			minut += 5
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-			'"I often see you hanging out with Alyona. Aren''t you scared of her?" you ask curiously.'
-			'"Yeah, she''s my partner in crime and confidant. We hang out a lot and I really enjoy her company. She''s also our band''s number one fan. Most people are afraid of her, but she doesn''t really give a fuck, which is what I really like about her."'
-
+			'"So what happened to Alyona after graduation? I havn''t seen her, is she still living in Pavlovsk?" you ask curiously.'
+			'She shakes her head. "No she moved out as soon as she could. She rented some crap hole apartment here in the city, she comes over sometimes and I go see her sometimes. But with school, work, the band, I just don''t have that much free time to hang out as much as we use to." The two of you talk a bit more about her, seems she is working at some restaurant right now to make ends meet with no real plans for the future.'
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
@@ -276,9 +262,8 @@ if $ARGS[0] = 'chat':
 		minut += 5
 		'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-		'"I don''t mean to pry, but you didn''t seem to have the best relationship with your family, but do you ever go see them?"'
+		'You decide to ask her about her family. "Now that you have moved out, do you stay in touch with them?"'
 		'"I try and call once a week sometimes I do. I typically stop by once a month or two to see them. I am actually getting along better with my brothers now that I moved out. Maksim moved into my old room and they both seem happier and think I am cooler for living in the big city." She says with a laugh. "My dad worries even more, he stops by at least once a month to check up on us." She shrugs a bit, but notice she doesn''t mention her mom at all.'
-
 		act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 		act 'Keep talking': gt 'anushkachat_city', 'chat'
 	end
@@ -288,7 +273,7 @@ if $ARGS[0] = 'chat':
 		'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 		'"Now that you are here in the city and out of school, what''s the plan?" you ask.'
-		'She looks at you with a smile. "Get my degree at the University, work at the Coffee Hole, and practice with the band, do more gigs. Then party when I manage to have the time, that is about it."'
+		'She looks at you with a smile. "Get my degree at the University while working at the Coffee Hole, and practice with the band, do more gigs. Then party when I manage to have the time, that is about it."'
 		'Before you can say something she asks you "What about you? What are your plans for the future?"'
 		act 'I don''t know':
 			*clr & cla
@@ -308,10 +293,10 @@ if $ARGS[0] = 'chat':
 				'"I''m not sure, but I guess I have a few options," you tell her.'
 				'She nods. "Well, you should decide before you get stuck in this crappy little town married to some asshole whose kids you''re popping out every few years. Not judging you, unless that''s what you want. I''m just saying..."'
 				'You''re not sure what more to say about it, so you decide to change the subject.'
+			end
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
-
 		act 'Studying at the university':
 			*clr & cla
 			minut += 5
@@ -319,7 +304,6 @@ if $ARGS[0] = 'chat':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 			'You get a bit excited. "I''m studying at the University."'
 			'The two of you talk about the classes you are both taking, it seems she is getting a business degree of all things, while minoring in Music and taking a lot of electives.'
-
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
@@ -347,17 +331,16 @@ if $ARGS[0] = 'chat':
 		act 'Maybe':
 			*clr & cla
 			minut += 5
+			anushkaQW['sveta_love'] += 1
 			gs 'npc_relationship', 'modify', 'A144', 'like'
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/brtkiss.jpg"></center>'
 			'You feel put on the spot since that''s not what you meant. Or maybe subconsciously you do mean it, which is why you asked. Either way, a part of you would really like to be Anushka''s girlfriend. "I guess... maybe. I have been thinking about it a little..."'
 			'With your eyes downcast, you don''t see her reaction and you''re not sure you want to know it. However, you feel her place a finger under your chin so you''re looking at her. Her face is mere inches from yours and you can feel her breath on your face. You''re looking into her eyes when the two of you suddenly start kissing. A long, deep passionate kiss with just a hint of lust to it. You don''t know if you kissed her or she kissed you, but it sure is amazing.'
 			'Finally, the kiss ends and she leans back and sucks on her lower lip while looking at you before she gives you a smirking smile. "Like I said, I''m not looking, but I''m not against it. Let''s just see where the ride takes us." Before things can go further, she just changes the subject to a movie she apparently watched recently.'
-
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
-
 		act 'No':
 			*clr & cla
 			minut += 5
@@ -365,40 +348,46 @@ if $ARGS[0] = 'chat':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 			'You shake your head because this conversation really went off the rails and is not at all what you meant. "No, I mean I like you, but not like that. Not that..." She reaches up and places a finger over your lips to stop you from going on. She seems amused by your response.'
 			'"It''s fine. I''m just yanking your chain. I like things just as how they are too."'
-
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
-
-		if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or (pcs_lover - pcs_girlfriends) > 0:
+		if artemQW['bf'] = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or (pcs_lover - pcs_girlfriends) > 0:
 			act 'I have a boyfriend': gt 'anushkachat_city', 'boyfriend_chat'
 		end
 	end
-	if anushkaQW['valeria_introduced'] = 1:
-		act 'Ask about her mother':
-			*clr & cla
-			minut += 5
-			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-			'You''re not sure how you should ask this, but you''re curious about her mother. "No!" She sighs,shakes her head and looks a little sad. "It is just best if I avoid her, otherwise we fight non-stop. Anyways I don''t really want to talk about her."'
-			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
-			act 'Change the subject': gt 'anushkachat_city', 'chat'
-		end
-	end
 	if anushkaQW['model'] >= 1:
 		act 'Ask about modeling':
 			*clr & cla
 			anushkaQW['model_referral'] = 1
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-			'Knowing she''s a model, you decide to ask her about it. "I was in the city and saw your photo album at Aphrodite..."'
-			'She laughs. "Did you like what you saw?" she asks rather lewdly and nudges you in the side.'
-			'You shake your head, but she has a nice laptop and a lot of clothes, as well as tattoos. None of these are cheap. "Does modeling pay well?"'
-			'She nods. "Sort of... I mean, if you''re willing to do nude modeling, you can make a lot of money in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
-			'"Nude?" you silently ask yourself. Still, if it pays that much then it might be worth considering. "I don''t know... Maybe... How would I get started? Do I just walk in and tell them I want to be a model or something?"'
-			'She grins at you. "Yeah, pretty much. It helps if you have a portfolio already, but just tell them I sent you. Oh, and make sure you have ID showing you''re old enough."'
-			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
-			act 'Keep talking': gt 'anushkachat_city', 'chat'
+			if model['status'] = 1:
+				'Knowing she''s a model, you decide to ask her about it. "I was in the city killing time between photo shoots and saw your photo album at Aphrodite... I didn''t know you modeled as well."'
+				'She nods. "Yeah it pays pretty well, so you model too?" You nod yes and soon the two of you are talking about the varies modeling gigs you have done and you have discovered you both work for the same modeling agency.'
+				act 'Do something else':gt 'anush_bedroom','anushroom'
+			else
+				anushkaQW['model_referral'] = 1
+				'Knowing she''s a model, you decide to ask her about it. "I was in the city and saw your photo album at Aphrodite..."'
+				'She laughs. "Did you like what you saw?" she asks rather lewdly and nudges you in the side.'
+				'You shake your head, but she has a nice laptop and a lot of clothes, as well as tattoos. None of these are cheap. "Does modeling pay well?"'
+				'She nods. "Sort of... I mean, if you''re willing to do nude modeling, you can make a lot of money in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
+				'"Nude?" you silently ask yourself. Still, if it pays that much then it might be worth considering. "I don''t know... Maybe... How would I get started? Do I just walk in and tell them I want to be a model or something?"'
+				'She grins at you. "Yeah, pretty much. It helps if you have a portfolio already, but just tell them I sent you. Oh, and make sure you have ID showing you''re old enough."'
+				act 'Stop talking': gt 'anush_bedroom','anushroom'
+				act 'Keep talking': gt 'anushkachat', 'chat'
+				if fakepassport ! 1:
+					act 'Underaged?':
+						*clr & cla
+						fakepassport = 2
+						'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+						'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model in the nude when you''re under 18. "Wait a second, how did you get past the age check?"'
+						'She laughs. "Sometimes I forget that not everyone has a fake passport. It''s pretty easy to pick one up though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
+						act 'Stop talking': gt 'anush_bedroom','anushroom'
+						act 'Keep talking': gt 'anushkachat', 'chat'
+					end
+				end
+			end
 		end
 	end
 	gs 'willpower', 'misc', 'self', 'easy'
@@ -416,7 +405,7 @@ if $ARGS[0] = 'chat':
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/brtkiss.jpg"></center>'
 			if hotcat >= 6:
-				'You look at her as you sit side by side. Maybe for too long, or maybe she just senses it, since she turns her head to look at you. Her face is not that far from yours and you can''t help it; she''s so damn pretty! You lean over to give her a kiss, a kiss she fully returns.'
+				'You look at her as you sit side by side. Maybe for too long, or maybe she just senses it, since she turns her head to look at you. Her face is not that far from yours and you can''t help it; she''s so damn pretty! You lean over to give her a kiss, a kiss she fully returns. The two of you kiss for a bit, but you are not sure she wants to do more yet or not. Perhaps you should press on or maybe you should wait and try some other time for more.'
 				gs 'arousal', 'foreplay', 1, 'lesbian'
 				gs 'stat'
 				act 'Stop kissing and talk more': gt 'anushkachat_city', 'chat'
@@ -424,6 +413,7 @@ if $ARGS[0] = 'chat':
 				if anushkaQW['kiss'] > 5:
 					act 'Make out':
 						*clr & cla
+						anushkaQW['sveta_love'] += 1
 						'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/brtmakeout.jpg"></center>'
 						'She wraps her arms around your neck and pulls you in close. The two of you are soon kissing passionately, the kisses full of eager lust and urgent need as you feel yourself getting more and more aroused.'
@@ -454,8 +444,6 @@ if $ARGS[0] = 'chat':
 								gs 'arousal', 'foreplay', 3, 'lesbian'
 								gs 'stat'
 								act 'Get pleasured': gt 'anushkaev1', 'getpleasured', 'city'
-	!!this goes to anushkaev1 can you do what ever code is needed so both here and her pav apartment lead to it and then they go back to the correct location afterwards? That will save us from making a new sex folder with just a lot of repeat of the same content.
-	!! HM: Done
 							end
 						end
 					end
@@ -491,10 +479,9 @@ if $ARGS[0] = 'chat':
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 		'You bite your lip, unsure if you should ask. It might seem rude, but you could really use a snack right now. "Hey Nush, do you have anything to snack on, or even a drink?"'
 		'She looks a little surprised, as well as a bit abashed, which is a new look on her. "Yeah sorry, I didn''t think about it. Feel free to just grab something if you want in the future, but come on."'
-		act 'Follow her':gt 'anushapt','snack'
+		act 'Follow her': gt 'anushapt_city','snack'
 	end
-!!Artem is commented out until Artem is introduce at the Uni and I do his room and start his story arc there.
-	!!if artemQW['nush3some_ask'] = 2:
+	if artemQW['nush3some_ask'] = 2:
 		act 'Talk about Artem threesome':
 			*clr & cla
 			minut += 5
@@ -514,6 +501,80 @@ if $ARGS[0] = 'chat':
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
 	end
+	if artemQW['nush3some'] = 2:
+		act 'Bring Artem threesome again':
+			*clr & cla
+			minut += 5
+			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+			if artemQW['rough_anal_nush'] = 2 or anushkaQW['artem_dom'] = 1:
+				artemQW['nush3some'] = 3
+				'You glance over at her. "I talked to Artem about having another threesome and... he''s wants to do it again."'
+				'Anushka giggles softly. "Yeah I bet he does." She looks thoughtful for a moment. "I have to admit he really surprised me, he was way better than I was expecting and there was something about a nerd using me for his pleasure that was kinda a turn on."'
+				'You giggle a bit. "I know right? Him getting all rough and dominate was a big turn on for me too."'
+				'She glances at you and looks you right in the eye. "Are you up for this?"'
+				'You nod. "Yeah like I said we talked about and we would both like to do it again if you are willing."'
+				'She smiles to you. "Sure why not."'
+				act 'Stop talking': gt 'anush_bedroom_city','anushroom'
+				act 'Keep talking': gt 'anushkachat_city', 'chat'
+			end
+			if artemQW['rough_anal_nush'] = 1:
+				artemQW['nush3some'] = 3
+				'You glance over at her. "I talked to Artem about having another threesome and... he''s wants to do it again."'
+				'Anushka giggles softly. "Yeah I bet he does." She looks thoughtful for a moment. "I have to admit he wasn''t bad, not as bad as I was expecting anyways."'
+				'She glances at you and looks you right in the eye. "Are you up for this?"'
+				'You nod. "Yeah like I said we talked about and we would both like to do it again if you are willing."'
+				'She looks at you a long minute then sighs and nods. "For you I will."'
+				'You smile to her. "Thanks you won''t regret it I promise."'
+				act 'Stop talking': gt 'anush_bedroom_city','anushroom'
+				act 'Keep talking': gt 'anushkachat_city', 'chat'
+			else
+				'You glance over at her. "I talked to Artem about having another threesome and... he''s wants to do it again."'
+				'Anushka rolls her eyes slightly. "Yeah I bet he does. Look no offense but your boyfriend isn''t very good at fucking." She quickly continues before you can inject. "He might be great for you, but I like it rough, I like to fuck and you know how I feel about people that won''t stand up for themselves. Sorry I''m just not interested."'
+				gs 'willpower', 'sex', 'force', 'easy'
+				if will_cost <= pcs_willpwr:
+					act 'Convince her (<<will_cost>> Willpower)':
+						*clr & cla
+						gs 'willpower', 'pay', 'force'
+						gs 'stat'
+						'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+						'You frown but are not to surprised she is so reluctant. "Look I know it wasn''t what you are into, but we talked and he understands now, so how about you give him another chance. For me? Please?" You give her your best puppy dog eyes.'
+						'She rolls her eyes, then sighs and shoves your shoulder. "Fine... one more chance... for you. But you better work with him more before you call me over."'
+						'You nod your head. "I promise."'
+						act 'Stop talking': gt 'anush_bedroom_city','anushroom'
+						act 'Keep talking': gt 'anushkachat_city', 'chat'
+					end
+				else
+					act 'Convince her (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end	
+				act 'Drop it':
+					*clr & cla
+					'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+					'You frown but just nod, you knew this would be a bit of a long shot but you really though she would agree to try again. Apparently she was more disappointed with the sex than you thought.'
+					act 'Stop talking': gt 'anush_bedroom_city','anushroom'
+					act 'Keep talking': gt 'anushkachat_city', 'chat'
+				end
+			end
+		end
+	end
+	if anushkaQW['artem_dom'] = 1:
+		act 'Talk about Artem dominating her':
+			*clr & cla
+			minut += 5
+			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
+			'You look over at her and decide to bring up how Artem dominated her. "So I have been wondering how you feel after Artem put you in your place."'
+			'Anushka smirks to you. "I have to admit it was kinda hot, I honestly didn''t think he had it in him. When he started to crowd me is the first time I realized how tall he had gotten, he towered over me. In my head he was still that short skinny nerdy kid... but he really sprouted up."'
+			'You laugh a bit, you know she is a bit on the short side about 6 or 7cm shorter than the average girl, while Artem is really close to average for a guy, but you get what she means. "So how do you feel about a neeerd." You say nerd in a mocking tone like she often does. "Making a bad ass chick like you his bitch and making you admit your his bitch?"'
+			'She laughs. "It was hot, I loved it, I like it when guys get all forceful and him being a neeerd." She copies your mocking tone for nerd but is grinning. "Just made it extra hot, so yeah I am up for another go. At least for now."'
+			'You arch a brow. "For now?" You ask her.'
+			'She shrugs a bit. "Yeah it''s fun but I think the novelty will wear off eventually... but maybe I should start looking at other nerds, instead of just focusing on bad boys and jocks all the time." You both laugh at that and talking about some of the nerd boys and what you think of them.'
+			act 'Stop talking': gt 'anush_bedroom','anushroom'
+			act 'Keep talking': gt 'anushkachat', 'chat'
+		end
+	end
 end
 
 if $ARGS[0] = 'photo_chat':
@@ -570,7 +631,6 @@ if $ARGS[0] = 'boyfriend_chat':
 			cla
 			'"Niko," you tell her.'
 			'She looks at you, concerned. "<<$pcs_nickname>>, he''s bad news and I don''t mean in the ''fun bad boy'' sort of way. I mean he isn''t what he seems." Noticing your facial expression from bad mouthing your boyfriend, she holds up her hand. "Hey, it''s your life so do what you want. Just... just be careful with him.'
-
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
@@ -584,7 +644,6 @@ if $ARGS[0] = 'boyfriend_chat':
 				'You frown at her. You expected her to be more understanding. "He didn''t have a choice! Those criminals were going to take everything from his family since he couldn''t pay them. He''s not gay!"'
 				'She holds up her hands. "I didn''t say he was gay. I don''t care if he''s gay or bisexual or whatever. I was... Never mind, just forget it. If he makes you happy, then I''m happy for you."'
 				'You nod, accepting her apology of sorts and you both let the topic drop.'
-
 				act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 				act 'Keep talking': gt 'anushkachat_city', 'chat'
 			else
@@ -604,11 +663,9 @@ if $ARGS[0] = 'boyfriend_chat':
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 						'You blush slightly. "Let me think about it, then I''ll talk to him. I''ll let you know."'
 						'She laughs at that. "He''s a guy. They all want to fuck two girls at once, but sure, let me know." You roll your eyes at her comment, even if it was true and decide to change the subject.'
-
 						act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 						act 'Keep talking': gt 'anushkachat_city', 'chat'
 					end
-
 					act 'I''ll ask him':
 						*clr & cla
 						minut += 5
@@ -619,11 +676,9 @@ if $ARGS[0] = 'boyfriend_chat':
 						'You can''t help but grin. You think about it and it does sound fun. "Sure. I''ll ask him and see what he thinks. It could be fun," you tell her.'
 						'She giggles. "Sex is always fun, unless you''re doing it wrong. Anyway, I''m sure if you ask nicely he will agree. He is a guy after all."'
 						'You shake your head. "Yeah, most likely. I''ll let you know what he says."'
-
 						act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 						act 'Keep talking': gt 'anushkachat_city', 'chat'
 					end
-
 					act 'No, I don''t think so':
 						*clr & cla
 						minut += 5
@@ -631,7 +686,6 @@ if $ARGS[0] = 'boyfriend_chat':
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 						'You shake your head. "Sorry, but he''s all mine," you tell her with a grin.'
 						'She makes a tsking sound. "Too bad. If you change your mind, then let me know." You''re not sure what else to say, so you change the subject.'
-
 						act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 						act 'Keep talking': gt 'anushkachat_city', 'chat'
 					end
@@ -649,17 +703,6 @@ if $ARGS[0] = 'boyfriend_chat':
 			end
 		end
 	end
-	if kotovLoveQW = 1:
-		act 'Vitek':
-			cla
-			'"Vitek," you tell her.'
-			'She just stares at you. "Really? Yeah, I get that he has that bad boy vibe going for him, but you really could do better."' 
-			'She notices your facial expression from her bad mouthing your boyfriend, so she holds up her hand. "Hey, it''s your life, so do what you want, but doesn''t it feel like you''re dating Lena at the same time because of how much she talks about how great he is? At least, when she isn''t bitching about him ruining her sex life. You would think she wants to suck his dick or something," she says with a smirk. You just roll your eyes and she lets it drop.'
-
-			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
-			act 'Keep talking': gt 'anushkachat_city', 'chat'
-		end
-	end
 	if artemQW['bf'] = 1:
 		act 'Artem':
 			cla
@@ -681,11 +724,9 @@ if $ARGS[0] = 'boyfriend_chat':
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 					'You blush slightly. "Let me think about it and talk to him. We''ll see, but I''ll let you know if we do."'
 					'She laughs. "He''s a guy. They all want to fuck two girls at once, but sure, let me know." You roll your eyes at her comment, even if it was true and decide to change the subject.'
-
 					act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 					act 'Keep talking': gt 'anushkachat_city', 'chat'
 				end
-
 				act 'I''ll ask him':
 					*clr & cla
 					minut += 5
@@ -697,11 +738,9 @@ if $ARGS[0] = 'boyfriend_chat':
 					'You can''t help but grin. You think about it and it does sound fun. "Sure. I''ll ask him and see what he thinks. He''s kind of shy though, so I don''t know what he''ll say," you tell her.'
 					'She giggles. "He''s a boy and all boys want to fuck as much as they can. Having sex with two girls at once is like the most common fantasy they all have, and I doubt he''s any different. Besides, maybe I can teach him a new trick or two for you?" she says in a teasing tone with a wink.'
 					'You shake your head. "I doubt that, but I''ll ask him."'
-
 					act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 					act 'Keep talking': gt 'anushkachat_city', 'chat'
 				end
-
 				act 'No, I don''t think so':
 					*clr & cla
 					minut += 5
@@ -709,7 +748,6 @@ if $ARGS[0] = 'boyfriend_chat':
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 					'You shake your head. "Sorry, but he''s all mine," you tell her with a grin.'
 					'She makes a tsking sound. "Too bad. If you change your mind, then let me know." You''re not sure what else to say to that, so you change the subject.'
-
 					act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 					act 'Keep talking': gt 'anushkachat_city', 'chat'
 				end
@@ -730,20 +768,6 @@ if $ARGS[0] = 'boyfriend_chat':
 			end
 		end
 	end
-	if Rex_Love = 1:
-		act 'Rex':
-			cla
-			'"Rex," you tell her.'
-			'"Who?" she asks as she cocks her head slightly. "Wait, isn''t the the guy that throws parties all the time?"'
-			'You nod. "Yeah, that''s him."'
-			*nl
-			'She now has an inquisitive look on her face. "How did you meet him? Isn''t he a few years older than you?" she asks.'
-			'You smile at her. "I was invited to his party," you tell her, then add "He''s friends with my sister. She invited me to his party and that''s where we met." You talk about the night you met him and your first date.'
-
-			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
-			act 'Keep talking': gt 'anushkachat_city', 'chat'
-		end
-	end
 	i = 0
 	:lover_looop
 	if loverGender[i] ! 1: dynamic '	act ''<<$npc_usedname["<<$lover[i]>>"]>>'': gt ''anushkachat_city'', ''tell_about_generic_boyfreind'', $npc_usedname["<<$lover[i]>>"]'
@@ -779,7 +803,6 @@ if $ARGS[0] = 'telling_marrige_dreams':
 	act 'Keep talking': gt 'anushkachat_city', 'chat'
 end
 
-
 if $ARGS[0] = 'radval':
 	menu_off = 1
 	*clr & cla
@@ -1201,5 +1224,5 @@ if $ARGS[0] = 'photoshoot1':
 	end
 end
 
---- anushkachat ---------------------------------
+--- anushkachat_city ---------------------------------
 

+ 2 - 3
locations/anushkaev2.qsrc

@@ -1270,9 +1270,8 @@ if $ARGS[0] = 'disco_emptyroom':
 	'You find an unlocked door and tell her to go inside. "Head in, I''ll join you in a minute." You quickly walk to the womens restroom, enter one of the stalls and slide the strap-on harness on under your skirt so the dildo hangs between your legs. The strap-on in place, you head back to the room where you left Anushka. When you enter, you look around, unsure what the purpose of the room is before locking the door. Anushka is standing in a corner smoking a joint as you walk over and lean against the wall. She looks you over with a hungry lust filled look in her eye and offers you a hit of the joint.'
 	act 'Take a hit':
 		cla
-		joint += 1
-		minut += 5
-		gs 'drugs', 'joint'
+		minut += 15
+		gs 'drugs', 'joint', 1
 		*nl
 		'You take the offered joint from her and take a hit of it before handing it back. You spend several minutes passing the joint back and forth until it''s gone. Feeling nice and high, it''s time to show her what you''re already wearing.'
 		act 'Show her the strapon':

+ 174 - 202
locations/arousal.qsrc

@@ -14,8 +14,8 @@ It can be when receiving any of the following
 'erotic_nudity' - being aroused by nudity of others
 'trib' - rubbing pussy against another pussy
 'massage' - rubbing your body, back, feet, etc. with their hands/arms
-'cuni' - stimulation of your pussy by someones toungue
-'rimming' - stimulation of your anus by someones toungue
+'cuni' - stimulation of your pussy by someones tongue
+'rimming' - stimulation of your anus by someones tongue
 'vaginal' 'vaginal_finger' 'vaginal_fist' 'vaginal_dildo' 'vaginal_strap' 'vaginal_vibe' - stimulation of your vagina with a penis and various others
 'self_fisting' - fisting your own vagina
 'anal' 'anal_finger' 'anal_fist' 'anal_dildo' 'anal_strap' 'anal_vibe' - stimulation of your anus with a penis and various others
@@ -27,8 +27,8 @@ also when giving any of the following:
 'flashlite' - flashing underwear
 'flash' - flashing naked breasts/arse/vagina
 'massage_give' - rubbing their body, back, feet, etc. with your hands/arms
-'cuni_give' - stimulating someones pussy with your toungue
-'rimming_give' - stimulating someones anus with your toungue
+'cuni_give' - stimulating someones pussy with your tongue
+'rimming_give' - stimulating someones anus with your tongue
 'vaginal_finger_give' 'vaginal_fist_give' 'vaginal_dildo_give' 'vaginal_strap_give' 'vaginal_vibe_give' - stimulating someones vagina in various ways
 'clit_finger_give' - stimulating someones clit
 'anal_finger_give' 'anal_fist_give' 'anal_dildo_give' 'anal_vibe_give' 'anal_strap_give' - stimulating someones anus in various ways
@@ -38,10 +38,11 @@ also when giving any of the following:
 'titjob' - using boobs to jerk off a guy
 'footjob' - using feet to jerk off a guy
 'BDSM_give' - giving candle wax, flogging, leash play, bondage etc
-'pee_give' - peeing on somone
+'pee_give' - peeing on someone
 finally
 'foreplay' - receiving other stuff
 'foreplay_give' - giving other stuff
+'magicd_anal' 'magicd_vaginal' 'magicd_hj' 'magicd_bj' - to experience sex as if Sveta has a penis due to strapon and magic spell effect
 
 ARGS[1] for time taken in minutes - it is use partly for arousal calculation and partly for moving time ahead. If you want to calculate just the arousal and do not move time (simultaneous stimulation), use negative value.
 
@@ -171,8 +172,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			end
 		end
 	end
-	!!	This is to allow a Succubus with the right skill level to handle any size then go back to original size
-	if succubusflag = 1 and sucskill >= 4:
+	!!	This is to allow a Succubus with the right skill level or elastigirl trait to handle any size then go back to original size
+	if (succubusflag = 1 and sucskill >= 4) or pcs_traits['elastigirl'] > 0:
 		if mid($ARGS[0],1,4) = 'vagi' and temp_dick ! pcs_vag:
 			if temp_dick < pcs_vag - 5 or temp_dick > pcs_vag + 5: pcs_mood -= 10
 			if sucvagorg = 0: sucvagorg = pcs_vag
@@ -190,6 +191,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 
 !! set up pain coefficient
 	pain_coeff = 0
+	max_sex_pain = (120 - pcs_vital)/2
+
 	if arrpos('$ARGS', 'rape') >= 0:         pain_coeff += rand(15,30)
 	if arrpos('$ARGS', 'gangbang') >= 0:     pain_coeff += rand(10,15)
 	if arrpos('$ARGS', 'beast') >= 0:        pain_coeff += rand(7,10)
@@ -209,47 +212,132 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		!! ARGS[3] length of inserted object
 		!! ARGS[4] grange of inserted object
 		!! ARGS[5] skill (0-2) aka silavag
-		!! ARGS[6] stimulation time
-		grdif = 0
-		ltdif = 0
+		killvar 'grdif'
+		killvar 'ltdif'
 		!! cap pain to vitality
-		if ARGS[2] < (120 - pcs_vital)/2:
-			!! length and girth abilities of hole are not also separated
-			!! but I suppose that they are related although it is not propable
-			!! we can estimate difference in girth and length
-			grdif = (ARGS[4] - ARGS[0])/2
-			ltdif = (ARGS[3] - ARGS[0])/4
-			!! painful intercourse
-			if pain_coeff > rand(0,2):
-				grdif += rand(pain_coeff/2, pain_coeff)
-				ltdif += rand(pain_coeff/2, pain_coeff)
+		if ARGS[2] < max_sex_pain:
+			killvar 'i'
+			:stim_time_loop
+			if stim_time > i:
+				!! length and girth abilities of hole are not also separated
+				!! but I suppose that they are related although it is not propable
+				!! we can estimate difference in girth and length
+				grdif[i] = (ARGS[4] - ARGS[0])/2
+				ltdif[i] = (ARGS[3] - ARGS[0])/4
+				!! painful intercourse
+				if pain_coeff > rand(0,2):
+					grdif[i] += rand(pain_coeff/2, pain_coeff)
+					ltdif[i] += rand(pain_coeff/2, pain_coeff)
+				end
+				!! in pain, compensated with lube
+				if ARGS[2] > 0:
+					if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): grdif[i] += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
+					if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): ltdif[i] += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
+				end
+				!! lube can compensate the difference a bit, or make it worse if there is no lube at all
+				if ARGS[1] > 0:
+					grdif[i] -= rand(ARGS[1]/2, ARGS[1])
+					ltdif[i] -= rand(ARGS[1]/4, ARGS[1]/2)
+				else
+					grdif[i] += max(1, rand(grdif[i]/4, grdif[i]/2)) / max(1,ARGS[5]+1)
+					ltdif[i] += max(1, rand(ltdif[i]/6, ltdif[i]/4)) / max(1,ARGS[5]+1)
+				end
+				!! when skilled, length does not harm PC
+				if ARGS[5] > 0 and ltdif[i] > 0: ltdif[i] /= max(1,ARGS[5]+1)
+
+				!! min\max
+				grdif[i] = max(0, grdif[i] / max(1, (ARGS[0]/6)))
+				ltdif[i] = max(0, ltdif[i] / max(1, (ARGS[0]/6)))
+
+				i += 1+ARGS[5]
+				jump 'stim_time_loop'
+			end
+		end
+
+        i = arrsize('ltdif')
+        :stim_time_loop2
+        if i > 1:
+            i -= 1
+			grdif += grdif[i]
+			ltdif += ltdif[i]
+            jump 'stim_time_loop2'
+        end
+
+		!{'hole size <<ARGS[0]>>; length: <<ARGS[3]>>; grange: <<ARGS[4]>>; hole slippery: <<ARGS[1]>>; current pain: <<ARGS[2]>>; stim_time: <<stim_time>>; skill: <<ARGS[5]>>; grdif: <<grdif>>; ltdif: <<ltdif>>'}
+
+	}
+	$in_vag = {
+		if arousal_overcall = 0:
+			!! add anal lube from vaginal juices
+			if anal_slip < max(1, vaginal_slip/2):
+				anal_slip = max(1, vaginal_slip/rand(2,3))
+				if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
 			end
-			!! in pain, compensated with lube
-			if ARGS[2] > 0:
-				if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): grdif += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
-				if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): ltdif += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
+			dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
+			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
+			!! the pain lover the pleasure
+			if grdif+ltdif > 0:
+				gs 'pain', grdif+ltdif, 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
+				if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock' & pain['cervix'] = min(pain['cervix'], max_sex_pain)
+				if grange/max(1, temp_silavag)    > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch' & pain['labia'] = min(pain['labia'], max_sex_pain)
 			end
-			!! lube can compensate the difference a bit, or make it worse if there is no lube at all
-			if ARGS[1] > 0:
-				grdif -= rand(ARGS[1]/2, ARGS[1])
-				ltdif -= rand(ARGS[1]/4, ARGS[1]/2)
-			else
-				grdif += max(1, rand(grdif/4, grdif/2)) / max(1,ARGS[5]+1)
-				ltdif += max(1, rand(ltdif/6, ltdif/4)) / max(1,ARGS[5]+1)
+			if pain_coeff > 0: gs 'pain', rand(pain_coeff)/5, 'clitoris', 'hit'
+			!! calculate the harm
+			if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
+			if pcs_vag < temp_dick:pcs_vag += 1
+			if pcs_vag*2 < temp_dick:pcs_vag += 1
+		end
+		!! force cum leak
+		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+	}
+	$in_anal = {
+		if pcs_traits['buttslut_lvl'] = 1:
+			stim['mag'] += 1
+		elseif pcs_traits['buttslut_lvl'] >= 2:
+			stim['mag'] += 3
+		end
+		if arousal_overcall = 0:
+			!! add some lube for future sex type changes
+			if vaginal_slip < max(1, anal_slip/2) and cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
+			dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
+			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
+			!! the pain lover the pleasure
+			if grdif+ltdif > 0: gs 'pain', grdif + ltdif, 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
+			!! calculate the harm
+			if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
+			if pcs_ass < temp_dick:pcs_ass += 1
+			if pcs_ass*2 < temp_dick:pcs_ass += 1
+			!! force cum leak
+		end
+		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+	}
+	$in_throat = {
+		if arousal_overcall = 0:
+			!! add lube from saliva
+			if anal_slip < max(1, pcs_hydra/20): anal_slip += max(1, pcs_hydra/20)
+			if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip += max(1, pcs_hydra/20)
+			if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'mouth', 'stretch'
+			if pcs_lipbalm > 0:
+				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
+				if arrpos('$ARGS', 'rape') >= 0 _ 
+				or arrpos('$ARGS', 'rough') >= 0 _ 
+				or arrpos('$ARGS', 'gangbang') >= 0 _ 
+				or arrpos('$ARGS', 'beast') >= 0:
+					pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
+				end
 			end
-			!! when skilled, it does not harm PC
-			if ARGS[5] > 0 and ltdif > 0: ltdif /= ARGS[5]+1
-			!! if there is any discomfort, check intercourse duration, compensated by skill
-			if stim_time > 1:
-				if grdif > rand(stim_time): grdif += rand(stim_time / (max(1,ARGS[5])*5), stim_time / (max(1,ARGS[5])*3))
-				if ltdif > rand(stim_time): ltdif += rand(stim_time / (max(1,ARGS[5])*5), stim_time / (max(1,ARGS[5])*3))
+			if arrpos('$ARGS', 'deepthroat') >= 0:
+				dynamic $get_hole_pain, pcs_throat, pcs_hydra/10, pain['throat'], temp_dick, grange, temp_silavag
+				stim['act'] = 80 - ltdif + grdif + temp_silavag*8
+				if grdif+ltdif > 0:
+					gs 'pain', grdif + ltdif, 'throat', 'stretch' & pain['throat'] = min(pain['throat'], max_sex_pain)
+					gs 'pain', grdif, 'jaw', 'stretch' & pain['jaw'] = min(pain['jaw'], max_sex_pain)
+				end
+				if pcs_throat < temp_dick:pcs_throat += 1
+				if pcs_throat*2 < temp_dick:pcs_throat += 1
 			end
-
-			!! min\max
-			grdif = max(0, grdif / max(1, (ARGS[0]/6)))
-			ltdif = max(0, ltdif / max(1, (ARGS[0]/6)))
+			if pcs_throat*3 < temp_dick:pcs_throat += 1
 		end
-		!{ 'hole size <<ARGS[0]>>; length: <<ARGS[3]>>; grange: <<ARGS[4]>>; hole slippery: <<ARGS[1]>>; current pain: <<ARGS[2]>>; stim_time: <<stim_time>>; skill: <<ARGS[5]>>; grdif: <<grdif>>; ltdif: <<ltdif>>' }
 	}
 
 !!add count and effects due to action
@@ -325,7 +413,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['mag'] += 3
 		stim['act'] = 70
 		stim_les = 1
-		if pain_coeff > 0:gs 'pain', rand(pain_coeff)/5, 'clitoris', 'twist'
+		if pain_coeff > 0:gs 'pain', rand(pain_coeff)/5, 'clitoris', 'twist' & pain['clitoris'] = min(pain['clitoris'], max_sex_pain)
 	elseif $ARGS[0] = 'anal_finger':
 		orgasm_flag['anal'] = 1
 		count['anal_finger'] = 1
@@ -338,7 +426,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			stim['act'] = 80
 		end
 		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', rand(2,5)*max(1,stim_time/5)
-		if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'asshole', 'stretch'
+		if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
 	elseif $ARGS[0] = 'anal_fist':
 		orgasm_flag['anal'] = 1
 		count['anal_fist'] = 1
@@ -351,7 +439,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arousal_overcall = 0:
 			dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], rand(15,20), rand(35,40), rand(0,2)
 			stim['act'] -= grdif + ltdif
-			gs 'pain', grdif+ltdif, 'asshole', 'stretch'
+			gs 'pain', grdif+ltdif, 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
 			if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
 			pcs_ass += 1
 		end
@@ -370,7 +458,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arousal_overcall = 0:
 			dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], rand(10,15), rand(30,35), 2
 			stim['act'] -= grdif + ltdif
-			gs 'pain', grdif+ltdif, 'asshole', 'stretch'
+			gs 'pain', grdif+ltdif, 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
 			if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
 			pcs_ass += 1
 		end
@@ -397,72 +485,24 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		else
 			count['anal'] = 1
 		end
-		if pcs_traits['buttslut_lvl'] = 1:
-			stim['mag'] += 1
-		elseif pcs_traits['buttslut_lvl'] >= 2:
-			stim['mag'] += 3
-		end
-		if arousal_overcall = 0:
-			!! add some lube for future sex type changes
-			if vaginal_slip < max(1, anal_slip/2) and cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
-			dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
-			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-			!! the pain lover the pleasure
-			gs 'pain', grdif + ltdif, 'asshole', 'stretch'
-			!! calculate the harm
-			if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
-			if pcs_ass < temp_dick:pcs_ass += 1
-			if pcs_ass*2 < temp_dick:pcs_ass += 1
-		end
-		!! force cum leak
-		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+		dynamic $in_anal
 	elseif $ARGS[0] = 'anal_dildo':
 		pcs_sweat += rand(0,2)*max(1,stim_time/5)
 		orgasm_flag['anal'] = 1
 		count['anal_dildo'] = 1
-		!! the same as for 'anal'
-		if pcs_traits['buttslut_lvl'] = 1:
-			stim['act'] += 10
-		elseif pcs_traits['buttslut_lvl'] >= 2:
-			stim['mag'] += 1
-		end
-		if arousal_overcall = 0:
-			if vaginal_slip < max(1, anal_slip/2) and cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
-			dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
-			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-			gs 'pain', grdif + ltdif, 'asshole', 'stretch'
-			if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
-			if pcs_ass < temp_dick:pcs_ass += 1
-			if pcs_ass*2 < temp_dick:pcs_ass += 1
-		end
-		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+		dynamic $in_anal
 	elseif $ARGS[0] = 'anal_strap':
 		pcs_sweat += rand(1,2)*max(1,stim_time/5)
 		stat['last_sex_day'] = daystart
 		orgasm_flag['anal'] = 1
 		count['anal_strap'] = 1
-		if pcs_traits['buttslut_lvl'] = 1:
-			stim['act'] += 10
-		elseif pcs_traits['buttslut_lvl'] >= 2:
-			stim['mag'] += 1
-		end
-		!! the same as for 'anal'
-		if arousal_overcall = 0:
-			if vaginal_slip < max(1, anal_slip/2) and cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
-			dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
-			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-			gs 'pain', grdif + ltdif, 'asshole', 'stretch'
-			if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
-			if pcs_ass < temp_dick:pcs_ass += 1
-			if pcs_ass*2 < temp_dick:pcs_ass += 1
-		end
-		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+		dynamic $in_anal
 	elseif $ARGS[0] = 'vaginal_finger':
 		orgasm_flag['vaginal'] = 1
 		count['vaginal_finger'] = 1
 		stim['mag'] += 1
 		stim['act'] = 80
-		if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'vaginal', 'stretch'
+		if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
 		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', rand(2,5)*max(1,stim_time/5)
 	elseif $ARGS[0] = 'vaginal_fist':
 		pcs_sweat += rand(0,1)*max(1,stim_time/5)
@@ -472,8 +512,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arousal_overcall = 0:
 			dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], rand(15,20), rand(35,40), rand(0,2)
 			stim['act'] -= grdif + ltdif
-			gs 'pain', grdif+ltdif, 'vaginal', 'stretch'
-			gs 'pain', rand(grdif), 'labia', 'stretch'
+			gs 'pain', grdif+ltdif, 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
+			gs 'pain', rand(grdif), 'labia', 'stretch' & pain['labia'] = min(pain['labia'], max_sex_pain)
 			if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
 			pcs_vag += 1
 		end
@@ -488,8 +528,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arousal_overcall = 0:
 			dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], rand(10,15), rand(30,35), 2
 			stim['act'] -= grdif + ltdif
-			gs 'pain', grdif+ltdif, 'vaginal', 'stretch'
-			gs 'pain', rand(grdif), 'labia', 'stretch'
+			gs 'pain', grdif+ltdif, 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
+			gs 'pain', rand(grdif), 'labia', 'stretch' & pain['labia'] = min(pain['labia'], max_sex_pain)
 			if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
 			pcs_vag += 1
 		end
@@ -520,47 +560,20 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			stat['last_man_sex_day'] = daystart
 		end
 		stim['mag'] += 3
-		if arousal_overcall = 0:
-			!! add anal lube from vaginal juices
-			if anal_slip < max(1, vaginal_slip/2):
-				anal_slip = max(1, vaginal_slip/rand(2,3))
-				if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
-			end
-			dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
-			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-			!! the pain lover the pleasure
-			gs 'pain', grdif+ltdif, 'vaginal', 'stretch'
-			if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock'
-			if grange/max(1, temp_silavag)    > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch'
-			if pain_coeff > 0: gs 'pain', rand(pain_coeff)/5, 'clitoris', 'hit'
-			!! calculate the harm
-			if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
-			if pcs_vag < temp_dick:pcs_vag += 1
-			if pcs_vag*2 < temp_dick:pcs_vag += 1
-		end
-		!! force cum leak
-		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+		dynamic $in_vag
 	elseif $ARGS[0] = 'vaginal_dildo':
 		pcs_sweat += rand(0,2)*max(1,stim_time/5)
 		orgasm_flag['vaginal'] = 1
 		count['vaginal_dildo'] = 1
-		stim['mag'] += 1
-		if arousal_overcall = 0:
-			!! the same as for 'vaginal'
-			if anal_slip < max(1, vaginal_slip/2):
-				anal_slip = max(1, vaginal_slip/rand(2,3))
-				if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
-			end
-			dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
-			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-			gs 'pain', grdif + ltdif, 'vaginal', 'stretch'
-			if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock'
-			if grange/max(1, temp_silavag)    > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch'
-			if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
-			if pcs_vag < temp_dick:pcs_vag += 1
-			if pcs_vag*2 < temp_dick:pcs_vag += 1
+		if virgin_stats['dildo'] = 0 and (stat['think_virgin'] = 1 or pcs_vag = 0):
+			virgin_stats['day_lost'] = daystart
+			virgin_stats['age_lost'] = age
+			virgin_stats['dildo'] = 1
+			$virgin_stats['virgin_taker_ID'] = $boy
+			if birthday = day and birthmonth = month: virgin_stats['birthday'] = 1
 		end
-		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+		stim['mag'] += 1
+		dynamic $in_vag
 	elseif $ARGS[0] = 'vaginal_strap':
 		pcs_sweat += rand(1,2)*max(1,stim_time/5)
 		orgasm_flag['vaginal'] = 1
@@ -574,22 +587,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			!! if dont_know_npc_name
 		end
 		stim['mag'] += 1
-		!! the same as for 'vaginal'
-		if arousal_overcall = 0:
-			if anal_slip < max(1, vaginal_slip/2):
-				anal_slip = max(1, vaginal_slip/rand(2,3))
-				if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
-			end
-			dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
-			stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-			gs 'pain', grdif + ltdif, 'vaginal', 'stretch'
-			if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock'
-			if grange/max(1, temp_silavag)    > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch'
-			if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
-			if pcs_vag < temp_dick:pcs_vag += 1
-			if pcs_vag*2 < temp_dick:pcs_vag += 1
-		end
-		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+		dynamic $in_vag
 	elseif $ARGS[0] = 'flashlite':
 		count['flashlite'] = 1
 		stim['act'] = 10
@@ -676,58 +674,12 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			count['bj'] = 1
 		end
 		stim['act'] = 45
-		if arousal_overcall = 0:
-			!! add lube from saliva
-			if anal_slip < max(1, pcs_hydra/20): anal_slip += max(1, pcs_hydra/20)
-			if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip += max(1, pcs_hydra/20)
-			if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'mouth', 'stretch'
-			if pcs_lipbalm > 0:
-				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
-				if arrpos('$ARGS', 'rape') >= 0 _ 
-				or arrpos('$ARGS', 'rough') >= 0 _ 
-				or arrpos('$ARGS', 'gangbang') >= 0 _ 
-				or arrpos('$ARGS', 'beast') >= 0:
-					pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
-				end
-			end
-			if arrpos('$ARGS', 'deepthroat') >= 0:
-				dynamic $get_hole_pain, pcs_throat, pcs_hydra/10, pain['throat'], temp_dick, grange, temp_silavag
-				stim['act'] = 80 - ltdif + grdif + temp_silavag*8
-				gs 'pain', grdif + ltdif, 'throat', 'stretch'
-				gs 'pain', grdif, 'jaw', 'stretch'
-				if pcs_throat < temp_dick:pcs_throat += 1
-				if pcs_throat*2 < temp_dick:pcs_throat += 1
-			end
-			if pcs_throat*3 < temp_dick:pcs_throat += 1
-		end
+		dynamic $in_throat
 	elseif $ARGS[0] = 'dildo_suck':
 		pcs_sweat += rand(0,1)*max(1,stim_time/10)
 		count['dildo_suck'] = 1
 		stim['act'] = 30
-		if arousal_overcall = 0:
-			!! add lube from saliva
-			if anal_slip < max(1, pcs_hydra/20): anal_slip += max(1, pcs_hydra/20)
-			if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip += max(1, pcs_hydra/20)
-			if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'mouth', 'stretch'
-			if pcs_lipbalm > 0:
-				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
-				if arrpos('$ARGS', 'rape') >= 0 _ 
-				or arrpos('$ARGS', 'rough') >= 0 _ 
-				or arrpos('$ARGS', 'gangbang') >= 0 _ 
-				or arrpos('$ARGS', 'beast') >= 0:
-					pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
-				end
-			end
-			if arrpos('$ARGS', 'deepthroat') >= 0:
-				dynamic $get_hole_pain, pcs_throat, pcs_hydra/10, pain['throat'], temp_dick, grange, temp_silavag
-				stim['act'] = 80 - ltdif + grdif + temp_silavag*8
-				gs 'pain', grdif + ltdif, 'throat', 'stretch'
-				gs 'pain', grdif, 'jaw', 'stretch'
-				if pcs_throat < temp_dick:pcs_throat += 1
-				if pcs_throat*2 < temp_dick:pcs_throat += 1
-			end
-			if pcs_throat*3 < temp_dick:pcs_throat += 1
-		end
+		dynamic $in_throat
 	elseif $ARGS[0] = 'footjob':
 		pcs_sweat += rand(0,2)*max(1,stim_time/5)
 		if temp_unaware = 1:
@@ -755,6 +707,18 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		count['pee_give'] = 1
 		stim['act'] = 10
 		last_pee = totminut
+	elseif $ARGS[0] = 'magicd_anal':
+		count['magicd_anal'] = 1
+		stim['act'] = 80
+	elseif $ARGS[0] = 'magicd_vaginal':
+		count['magicd_vaginal'] = 1
+		stim['act'] = 90
+	elseif $ARGS[0] = 'magicd_hj':
+		count['magicd_hj'] = 1
+		stim['act'] = 50
+	elseif $ARGS[0] = 'magicd_bj':
+		count['magicd_bj'] = 1
+		stim['act'] = 60
 	end
 
 	!! anal acts
@@ -1079,6 +1043,10 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	killvar '$stim_les'
 	killvar '$stim_foot'
 	killvar '$get_hole_pain'
+	killvar '$in_vag'
+	killvar '$in_anal'
+	killvar '$in_throat'
+	killvar 'max_sex_pain'
 	killvar 'grdif' & killvar 'ltdif'
 
 	gs 'nichUtil','onArouse',$ARGS[0]
@@ -1263,6 +1231,10 @@ if $ARGS[0] = 'end':
 	gs 'arousal', 'count', 'BDSM_give'
 	gs 'arousal', 'count', 'pee_give'
 	gs 'arousal', 'count', 'massage_give'
+	gs 'arousal', 'count', 'magicd_anal'
+	gs 'arousal', 'count', 'magicd_vaginal'
+	gs 'arousal', 'count', 'magicd_hj'
+	gs 'arousal', 'count', 'magicd_bj'
 
 	gs 'arousal', 'count2', 'flashlite'
 	gs 'arousal', 'count2', 'flash'

+ 1 - 1
locations/artem_sex.qsrc

@@ -1235,7 +1235,7 @@ if $ARGS[0] = 'strapon_first':
 				end
 				act 'Fuck him nice and steady':
 					*clr & cla
-					artemQW[strapon] = 1
+					artemQW['strapon'] = 1
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/strapon/first_strapon7.jpg"></center>'
 					'You keep the pace up, making sure not to go too hard as you lift yourself up so you can more easily thrust into him. He starts moaning a little louder as you do. "Oh... fuck... Ah..."'
 					'You grin as it sounds like he''s really starting to enjoy it. "You like taking my cock in your ass, don''t you?"'

+ 1 - 1
locations/artemhome.qsrc

@@ -1723,7 +1723,7 @@ if $ARGS[0] = 'chat':
 				end
 			end
 		end
-		if artemQW['anal'] >= 1 and mc_inventory['strapon'] = 1 and strapnumber > 0 and artemQW[strapon] = 0:
+		if artemQW['anal'] >= 1 and mc_inventory['strapon'] = 1 and strapnumber > 0 and artemQW['strapon'] = 0:
 			act 'Is Artem really kinky':
 				*clr & cla
 				minut += 1

+ 1 - 1
locations/audition_sex3.qsrc

@@ -688,7 +688,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 		act'Continue':
 			if audition['condom'] = 1:
 				audition['cast_couch'] = 10
-				gs 'cum_call', 'internalcondom', $boydesc
+				gs 'cum_call', '', $boydesc
 				'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. As he pulls out, you look down and see he came in the condom.'
 				'"Hrmm, pretty good," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Almost even worth using a condom for."'
 				'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'

+ 1 - 3
locations/auditions_minor1.qsrc

@@ -3,9 +3,7 @@
 
 if $ARGS[0] = 'general_dialogue':
 	if audition['requirement'] = 0 or audition['requirement'] = '':audition['requirement'] = rand(40,70)
-	gs 'npcgeneratec', 0, 'A Male', rand(30,50)
-	gs 'boyStat', $npclastgenerated
-	gs 'boy', 'details'
+	gs 'boygirl', 0, 'A Male', rand(30,50)
 	cla & *clr
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
 	'You enter the room and see a man sitting at a desk with papers in front of him.'

+ 1 - 1
locations/balkon.qsrc

@@ -52,7 +52,7 @@ if $ARGS[0] = 'start':
 	act 'Approach the railing':gt 'balkon2', 'niz'
 	
 	if mc_inventory['cigarettes'] >= 1: act 'Light a cigarette':gt 'balkon2', 'kurit'
-	if joint > 0 and jointhigh = 0: act 'Smoke a joint': gs 'drugs', 'joint' & gt 'balkon', 'start'
+	if mc_inventory['joints'] > 0 and drugVars['weed_high'] = 0: act 'Smoke a joint': minut += 10 & gs 'drugs', 'joint' & gt 'balkon', 'start'
 	if pcs_horny >= 50 and pcs_inhib > 30: act 'Masturbate':gt 'balkon2', 'masopt'	
 end
 

+ 27 - 3
locations/ballet_npc.qsrc

@@ -12,13 +12,15 @@ $npc_usedname['A<<npctemp>>'] = 'Maya'
 $npc_notes['A<<npctemp>>'] = 'Maya is the daughter of Anitchka a freelance coryphée, she was encouraged to dance from a young age until she was nine when she started doing gymnastics. This changed when she was eleven when her mother became ill and she was asked to carry on the family tradition. Maya is a naturally gifted dancer and after six years is tipped to become one of Russia''s leading stars in the future.'
 npc_dob['A<<npctemp>>'] = 19990502
 npc_gender['A<<npctemp>>'] = 1
-gs 'npcstaticdefaults', 'defaults'
 npc_bust['A<<npctemp>>'] = 14
 npc_intel['A<<npctemp>>'] = 75
 hotcat_rating['A<<npctemp>>'] = 8
+gs 'npcstaticdefaults', 'defaults'
+gs 'npcstaticdefaults', 'skills', 'dance', 'sport'
+gs 'npcstaticdefaults', 'body', 'model'
 
 !! mod appearance NPC settings, height in cm, weight in kg
-$npc_haircolour['A<<npctemp>>'] = 'blonde'
+$npc_haircolour['A<<npctemp>>'] = 'Blonde'
 $npc_eyecolour['A<<npctemp>>'] = 'blue'
 $npc_height['A<<npctemp>>'] = 160
 $npc_weight['A<<npctemp>>'] = 50 
@@ -44,6 +46,28 @@ $npc_weight['A<<npctemp>>'] = 50
 !! NPC temp: 3507 - Gasha
 !! Gasha Morozova - The youngest in the class at 15, close friend of Nikita as the grew up in the same village. Nikita and Galina are often seen in each others company in the local coffee shop and rarely seen alone leading to rumours. She''s a bit of a foodie, and love sweet things which conflicts with keeping in shape for her dance career.
 
+npctemp = 3507
+$npc_firstname['A<<npctemp>>'] = 'Gasha'
+$npc_nickname['A<<npctemp>>'] = 'Gasha'
+$npc_lastname['A<<npctemp>>'] = 'Morozova'
+$npc_usedname['A<<npctemp>>'] = 'Gasha'
+$npc_notes['A<<npctemp>>'] = 'The youngest in the class at 15, close friend of Nikita as the grew up in the same village. Nikita and Galina are often seen in each others company in the local coffee shop and rarely seen alone leading to rumours. She''s a bit of a foodie, and love sweet things which conflicts with keeping in shape for her dance career.'
+npc_dob['A<<npctemp>>'] = 20000705
+npc_gender['A<<npctemp>>'] = 1
+npc_bust['A<<npctemp>>'] = 9
+npc_intel['A<<npctemp>>'] = 50
+hotcat_rating['A<<npctemp>>'] = 6
+gs 'npcstaticdefaults', 'defaults'
+gs 'npcstaticdefaults', 'skills', 'dance', 'sport'
+gs 'npcstaticdefaults', 'body', 'model'
+
+!! mod appearance NPC settings, height in cm, weight in kg
+$npc_haircolour['A<<npctemp>>'] = 'Brunette'
+$npc_eyecolour['A<<npctemp>>'] = 'Blue'
+$npc_height['A<<npctemp>>'] = 145
+$npc_weight['A<<npctemp>>'] = 40 
+
+
 !! NPC temp: 3508 - Calina
 !! NPC temp: 3509 - Ruza
 !! Calina and Ruza Sokolova - Twin dancers. Not interested in ballet, but took the course to further their education into becoming dancers. Age 17. They also professional models with a Moscow agency. 
@@ -63,7 +87,7 @@ gs 'npcstaticdefaults', 'defaults'
 $npc_thdick['A<<npctemp>>'] = 'slim'
 npc_dick['A<<npctemp>>'] = 10
 npc_sexskill['A<<npctemp>>'] = 2
-npc_intel['A<<npctemp>>'] = 57
+npc_intel['A<<npctemp>>'] = 67
 hotcat_rating['A<<npctemp>>'] = 8
 npc_spermpot['A<<npctemp>>'] = 15000
 

+ 205 - 208
locations/ballet_secrets.qsrc

@@ -9,140 +9,138 @@
 $default_img_path = 'locations/pushkin/ballet_secrets/'
 
 if $ARGS[0] = 'init':
-  *clr & cla
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets'
-  $setloc['StageImage'] =  '<<$default_img_path>>ballet-shop-window'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-  minut += 5
-  gs 'stat'
-  if week < 7 and hour >= 9 and hour <= 17:
-    'You enter the shop and greeted by a riot of displays showcasing ballet and other dance equipment. A woman is sewing something in the corner and glances at you before continuing.'
-    if balletqw['ballet_secrets'] = 1:
-      act 'Approach the woman': gt 'ballet_secrets', 'first_visit'
-    else
-      act 'Enter studio area': gt 'ballet_secrets', 'reception'
-      !! act 'Talk to assistant':
-      !! act'Look at equipment'
-      !! act 'look at dance wear'
-      act 'Leave shop': gt 'pushkin_sq'
-    end
-  else
-    'You look at the shop window and realise it''s closed, there is a security door to the left of you that allows you access the studio areas if you are a member.'
-    if balletqw['membership'] >= daystart:
-      act 'Swipe membership card': gt 'ballet_secrets', 'reception'
-    end
-  end
+	*clr & cla
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets'
+	$setloc['StageImage'] =	'<<$default_img_path>>ballet-shop-window.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+	minut += 5
+	gs 'stat'
+	if week < 7 and hour >= 9 and hour <= 17:
+		'You enter the shop and greeted by a riot of displays showcasing ballet and other dance equipment. A woman is sewing something in the corner and glances at you before continuing.'
+		if balletqw['ballet_secrets'] = 1:
+			act 'Approach the woman': gt 'ballet_secrets', 'first_visit'
+		else
+			act 'Enter studio area': gt 'ballet_secrets', 'reception'
+			!! act 'Talk to assistant':
+			!! act'Look at equipment'
+			!! act 'look at dance wear'
+			act 'Leave shop': gt 'pushkin_sq'
+		end
+	else
+		'You look at the shop window and realise it''s closed, there is a security door to the left of you that allows you access the studio areas if you are a member.'
+		act 'Return to Okhlopkov Square' : gt 'pushkin_sq'
+		if balletqw['membership'] >= daystart:
+			act 'Swipe membership card': gt 'ballet_secrets', 'reception'
+		end
+	end
 
 end
 
 !! Intro
 
 if $ARGS[0] = 'first_visit':
-  balletqw['ballet_secrets_visit'] = 1
-  balletqw['shoe_order'] = daystart + 14
-  $setloc['StageImage'] =  '<<$default_img_path>>ballet_secrets_fitting_1'
-  minut += 60
-  gs 'core_library', 'stage_title'
-  gs 'stat'
-
-  'You are greeted by a middle aged woman. "Hello, how may I help you?" She askes politely.'
-  '"Hello, I am <<$pcs_firstname>> <<$pcs_lastname>>. I am part of the ballet school intake." you give her a smile and hand over the schools letter as proof.'
-  'The woman smiles warmly, "Ah you are the new students for this year?" she claps her hands and then takes yours, "Come, come we must measure your feet and order your shoes"'
-  'Before you say anything she''s dragging you through the shop towards the back we are are greeted by a wall of shoes and there is pictures on the wall signed by dancers with shoes next to them. You look at the woman.'
-  '"Yes, they are all dancers who are or have been clients of our establishment", she noticed your gaze and explains with pride."We will only provide the best for the school."'
-  !! Set up gate for sponsored or not, not implemented system needs to be added to the end of year assessment.
-  '"But where are my manners I am Darya Pushkina, I am the owner of this shop and facilies" she exclaims, "now to your fitting grabbing a tape measure and fitting tools for your feet"'
-  'For the next hour Madam Pushkina bombards you with questions of whether you want leather or cotton fabric, how many satin shoes and a myriad other questions before she finally relents.'
-  '"Of course as you are aware the school is sponsoring these costs, but only for the first year she says and you will need to manage your own equipment after this.", Madame Pushkina advises.'
-  '"Is there anything else you neeed? No? Good, I will see you again in two weeks for your final shoe fitting. I would like to extend my congratulations and wish you a successful career Ms. <<$pcs_lastname>>."'
-  act 'Leave': gt 'pushkin_sq'
-  act 'Return to shop': gt 'ballet_secrets', 'init'
-  
-
+	balletqw['ballet_secrets_visit'] = 1
+	balletqw['shoe_order'] = daystart + 14
+	$setloc['StageImage'] =	'<<$default_img_path>>ballet_secrets_fitting_1.jpg'
+	minut += 60
+	gs 'core_library', 'stage_title'
+	gs 'stat'
+
+	'You are greeted by a middle aged woman. "Hello, how may I help you?" She askes politely.'
+	'"Hello, I am <<$pcs_firstname>> <<$pcs_lastname>>. I am part of the ballet school intake." you give her a smile and hand over the schools letter as proof.'
+	'The woman smiles warmly, "Ah you are the new students for this year?" she claps her hands and then takes yours, "Come, come we must measure your feet and order your shoes"'
+	'Before you say anything she''s dragging you through the shop towards the back we are are greeted by a wall of shoes and there is pictures on the wall signed by dancers with shoes next to them. You look at the woman.'
+	'"Yes, they are all dancers who are or have been clients of our establishment", she noticed your gaze and explains with pride."We will only provide the best for the school."'
+	!! Set up gate for sponsored or not, not implemented system needs to be added to the end of year assessment.
+	'"But where are my manners I am Darya Pushkina, I am the owner of this shop and facilies" she exclaims, "now to your fitting grabbing a tape measure and fitting tools for your feet"'
+	'For the next hour Madam Pushkina bombards you with questions of whether you want leather or cotton fabric, how many satin shoes and a myriad other questions before she finally relents.'
+	'"Of course as you are aware the school is sponsoring these costs, but only for the first year she says and you will need to manage your own equipment after this.", Madame Pushkina advises.'
+	'"Is there anything else you neeed? No? Good, I will see you again in two weeks for your final shoe fitting. I would like to extend my congratulations and wish you a successful career Ms. <<$pcs_lastname>>."'
+	act 'Leave': gt 'pushkin_sq'
+	act 'Return to shop': gt 'ballet_secrets', 'init'
 end
 !! Services
 
 !! Sports Area - Req Membership card
 
 if $ARGS[0] = 'reception':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets - Reception'
-  $setloc['StageImage'] =  '<<$default_img_path>>reception'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-  minut += 5
-  gs 'stat'
-  'As you enter you are greeted warmly by the gym staff. The gym has an industrial feel reflecting the buildng being converted from an old factory.'
-
-  'There is a <a href="exec: gt ''food'', ''watercooler''">drinking fountain</a> near the doors to the gym hall to refill your water bottle.'
- 
-
-  act 'Return to shop': gt 'ballet_secrets', 'init'
-  act 'Changing rooms': gt 'ballet_secrets', 'changing_room'
-  !! if membership not active:
-  if balletqw['membership'] = 0 or balletqw['membership'] < daystart:
-    act 'Discuss membership': gt 'ballet_secrets', 'enrol'
-  elseif hour <= 15 and $clothingworntype = 'danilovich_outfits' and $shoeworntype = 'danilovich' and pcs_stam >= stammax / 5 and pcs_energy >= 20:
-    !! link to services:
-    !! if membership active
-    !! act 'Attend Physio': gt 'ballet_secrets', 'physio'
-    !! act 'Attend a gymnastics class.': gt 'ballet_secrets', 'gymnastics_courses'
-    !! act 'Attend a dance class': gt 'ballet_secrets', 'ballet_courses'
-    act 'Attend a yoga class': gt 'ballet_secrets', 'yoga_courses'
-  elseif hour >= 16:
-    'All the evening classes have started today, you need to be here before 16:00 to ensure you can attend.'
-  end
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets - Reception'
+	$setloc['StageImage'] =	'<<$default_img_path>>reception.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+	minut += 5
+	gs 'stat'
+	'As you enter you are greeted warmly by the gym staff. The gym has an industrial feel reflecting the buildng being converted from an old factory.'
+
+	'There is a <a href="exec: gt ''food'', ''watercooler''">drinking fountain</a> near the doors to the gym hall to refill your water bottle.'
+
+	act 'Return to shop': gt 'ballet_secrets', 'init'
+	act 'Changing rooms': gt 'ballet_secrets', 'changing_room'
+	!! if membership not active:
+	if balletqw['membership'] = 0 or balletqw['membership'] < daystart:
+		act 'Discuss membership': gt 'ballet_secrets', 'enrol'
+	elseif hour <= 15 and $clothingworntype = 'danilovich_outfits' and $shoeworntype = 'danilovich' and pcs_stam >= stammax / 5 and pcs_energy >= 20:
+		!! link to services:
+		!! if membership active
+		!! act 'Attend Physio': gt 'ballet_secrets', 'physio'
+		!! act 'Attend a gymnastics class.': gt 'ballet_secrets', 'gymnastics_courses'
+		!! act 'Attend a dance class': gt 'ballet_secrets', 'ballet_courses'
+		act 'Attend a yoga class': gt 'ballet_secrets', 'yoga_courses'
+	elseif hour >= 16:
+		'All the evening classes have started today, you need to be here before 16:00 to ensure you can attend.'
+	end
 end
+
 if $ARGS[0]= 'enrol':
-  
 	$epayments['method'] = ''
 	$epayments['item_variable'] = ''
 	$epayments['description'] = 'gym facilities access'
 	$epayments['loc'] = 'ballet_secrets'
 	$epayments['loc_arg'] = 'reception'
-	$epayments['banner']= 'locations/<<$default_img_path>>reception.jpg'
-  gs 'core_library', 'stage_title'
-  minut += 30
-  gs 'stat'
-
-  if balletqw['membership'] = 0:
-    'You approach the reception to discuss membership to the gym.'
-  elseif balletqw['membership'] ! 0:
-    'You approach the reception to renew your membership.'
-  end
-  act 'Return to the studio entrance': gt 'ballet_secrets', 'reception'
-
-  'The gym offers a weekly or monthly subscription for of 1,500<b> ₽</b>  or 5,000<b> ₽</b> respectively to use the facilities with some courses included. Physio appointments are charged seperately.'
-  'The subscriptions includes classes in gymnastics, yoga and introductory ballet. For advanced classes there is an additional instructor charge. A physical trainer is on hand to assist at all times if you so need one.'
-  'We also have a small café which attracts a members discount and your membership card can purchase items directly from the vending machine which will be billed to your account.'
-
-  if money >= 5000 or karta + bankDebtLimit >= 5000:
-    '<td> <a href="exec: epayments[''value''] = 5000 & balletqw[''membership''] = daystart + 30  & gs ''shortgs'',''payments'' ">Purchase a monthly subscription for 5,000<b> ₽</b></a></td>'
-  end
-  if money >= 1500 or karta + bankDebtLimit >= 1500:
-    '<td> <a href="exec: epayments[''value''] = 1500 & balletqw[''membership''] = daystart + 7  & gs ''shortgs'',''payments'' ">Purchase a weekly subscription for 1,500<b> ₽</b></a></td>'
+	$epayments['banner']= '<<$default_img_path>>reception.jpg'
+	gs 'core_library', 'stage_title'
+	minut += 30
+	gs 'stat'
+
+	if balletqw['membership'] = 0:
+		'You approach the reception to discuss membership to the gym.'
+	elseif balletqw['membership'] ! 0:
+		'You approach the reception to renew your membership.'
+	end
+	act 'Return to the studio entrance': gt 'ballet_secrets', 'reception'
+
+	'The gym offers a weekly or monthly subscription for of 1,500<b> ₽</b>	or 5,000<b> ₽</b> respectively to use the facilities with some courses included. Physio appointments are charged seperately.'
+	'The subscriptions includes classes in gymnastics, yoga and introductory ballet. For advanced classes there is an additional instructor charge. A physical trainer is on hand to assist at all times if you so need one.'
+	'We also have a small café which attracts a members discount and your membership card can purchase items directly from the vending machine which will be billed to your account.'
+
+	if money >= 5000 or karta + bankDebtLimit >= 5000:
+		'<td> <a href="exec: epayments[''value''] = 5000 & balletqw[''membership''] = daystart + 30	& gs ''shortgs'',''payments'' ">Purchase a monthly subscription for 5,000<b> ₽</b></a></td>'
+	end
+	if money >= 1500 or karta + bankDebtLimit >= 1500:
+		'<td> <a href="exec: epayments[''value''] = 1500 & balletqw[''membership''] = daystart + 7	& gs ''shortgs'',''payments'' ">Purchase a weekly subscription for 1,500<b> ₽</b></a></td>'
 	end
 end
 
 if $ARGS[0] = 'changing_room':
-  menu_off = 0
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	menu_off = 0
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
 	$location_type = 'private'
 	$locclass = 'changingroom'
-  gs 'themes', 'indoors'
-  minut += 5
-  gs 'stat'
-  '<center><h2>Changing Room</h2></center>'
+	gs 'themes', 'indoors'
+	minut += 5
+	gs 'stat'
+	'<center><h2>Changing Room</h2></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/gym/locker.jpg"></center>'
 
-  act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
-  if mc_inventory['shampoo'] > 0:
+	act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
+	if mc_inventory['shampoo'] > 0:
 		act 'Take a shower (0:15)':
 			cla
 			*clr
@@ -174,15 +172,15 @@ if $ARGS[0] = 'changing_room':
 		gt 'wardrobe', 'start'
 	end
 
-	gs 'wardrobe', 'default_sport_options'
+	gs 'wardrobe', 'default_clothing_options'
 
-  if mc_inventory['deodorant'] > 0 and deodorant_on = 0:
-		'Your deodorant will last you for <b><<mc_inventory[''deodorant'']>></b> more '+iif(mc_inventory['deodorant'] =  1, 'application.', 'applications.')
+	if mc_inventory['deodorant'] > 0 and deodorant_on = 0:
+		'Your deodorant will last you for <b><<mc_inventory[''deodorant'']>></b> more '+iif(mc_inventory['deodorant'] =	1, 'application.', 'applications.')
 		act 'Apply deodorant (0:01)':
 			*clr & cla
 			menu_off = 1
 			minut += 1
-			mc_inventory['deodorant'] -=  1
+			mc_inventory['deodorant'] -=	1
 			gs 'sweat', 'deo'
 			iif(func('body_din','pregnancyVisibility') = 1, '<center><img <<$set_imgh>> src="images/shared/home/bathroom/deodorant_preg.jpg"></center>', '<center><img <<$set_imgh>> src="images/shared/home/bathroom/deodorant.jpg"></center>')
 			'You apply deodorant to your armpits. It will keep you feeling fresh and clean for longer.'
@@ -190,130 +188,129 @@ if $ARGS[0] = 'changing_room':
 		end
 	end
 	dynamic $tampon
-  
 end
 
 !! Physiotherapy
 if $ARGS[0] = 'physio':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets - Physio'
-  $setloc['StageImage'] =  '<<$default_img_path>>physio'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-
-  !! write attendance spiel 
-  act 'Leave': gt 'pushkin_sq'
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets - Physio'
+	$setloc['StageImage'] =	'<<$default_img_path>>physio.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+
+	!! write attendance spiel 
+	act 'Leave': gt 'pushkin_sq'
 end
 
 !! Gymnastics
 
 if $ARGS[0] = 'gymnastics_courses':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets - Gymnastics Class'
-  $setloc['StageImage'] =  '<<$default_img_path>>gymnastics'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-
-  !! write attendance spiel and some random reactions for post-exercise such that was a great workout, you didn''t feel you did well today
-  act 'Leave': gt 'pushkin_sq'
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets - Gymnastics Class'
+	$setloc['StageImage'] =	'<<$default_img_path>>gymnastics.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+
+	!! write attendance spiel and some random reactions for post-exercise such that was a great workout, you didn''t feel you did well today
+	act 'Leave': gt 'pushkin_sq'
 end
 
 !! Ballet Courses Easy, Intermediate and advanced
 if $ARGS[0] = 'ballet_courses':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets - Courses'
-  $setloc['StageImage'] =  '<<$default_img_path>>ballet_class'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets - Courses'
+	$setloc['StageImage'] =	'<<$default_img_path>>ballet_class.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
 end
 
-  !! Gymnastics
+	!! Gymnastics
 
 if $ARGS[0] = 'yoga_courses':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets - Yoga Class'
-  $setloc['StageImage'] =  '<<$default_img_path>>yoga_class'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-  minut += 5
-  gs 'stat'
-  if balletqw['yoga_session'] ! daystart:
-    act 'Attend Yoga Class':
-      cla
-      balletqw['yoga_session'] = daystart
-      lesson_tier = rand(1,3)
-      if lesson_tier = 1:
-        gs 'exercise', 'tier1', 60, 'sprt', 'agil'
-      'You spend sixty minutes in an easy going class today, leaving you feeling refreshed and ready to face the world again.'
-      elseif lesson_tier = 2:
-        'You spend sixty minutes with your instructor today correcting your poses and providing advice on how you can improve, leaving you feeling tired and some muscle aches from the exercises.'
-        gs 'exercise', 'tier2', 60, 'sprt', 'agil'
-      else 
-        gs 'exercise', 'tier3', 60, 'sprt', 'agil', 'stren'
-        'Today''s sixty minutes was challenging with the instructor taking the class through some of the more demanding positions. Leaving many of your yoga buddies look more than a little bit ragged after todays session.'
-      end
-      pcs_willpwr += rand(1,lesson_tier)
-      !! Set minor pain to reflect exercising
-
-      gs 'pain', 2, 'legL', 'stretch'
-      gs 'pain', 2, 'legR', 'stretch'
-      gs 'pain', 2, 'shoulders', 'stretch'
-      gs 'pain', 2, 'armL', 'stretch'
-      gs 'pain', 2, 'armR', 'stretch'
-      gs 'pain', 2, 'back', 'stretch'
-      gs 'pain', 2, 'chest', 'stretch'
-
-      killvar 'lesson_tier'
-      act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
-    end
-  else 
-    'There is another fitness class in progress and no more yoga sessions today.'
-  end
-  act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets - Yoga Class'
+	$setloc['StageImage'] =	'<<$default_img_path>>yoga_class.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+	minut += 5
+	gs 'stat'
+	if balletqw['yoga_session'] ! daystart:
+		act 'Attend Yoga Class':
+			cla
+			balletqw['yoga_session'] = daystart
+			lesson_tier = rand(1,3)
+			if lesson_tier = 1:
+				gs 'exercise', 'tier1', 60, 'sprt', 'agil'
+			'You spend sixty minutes in an easy going class today, leaving you feeling refreshed and ready to face the world again.'
+			elseif lesson_tier = 2:
+				'You spend sixty minutes with your instructor today correcting your poses and providing advice on how you can improve, leaving you feeling tired and some muscle aches from the exercises.'
+				gs 'exercise', 'tier2', 60, 'sprt', 'agil'
+			else 
+				gs 'exercise', 'tier3', 60, 'sprt', 'agil', 'stren'
+				'Today''s sixty minutes was challenging with the instructor taking the class through some of the more demanding positions. Leaving many of your yoga buddies look more than a little bit ragged after todays session.'
+			end
+			pcs_willpwr += rand(1,lesson_tier)
+			!! Set minor pain to reflect exercising
+
+			gs 'pain', 2, 'legL', 'stretch'
+			gs 'pain', 2, 'legR', 'stretch'
+			gs 'pain', 2, 'shoulders', 'stretch'
+			gs 'pain', 2, 'armL', 'stretch'
+			gs 'pain', 2, 'armR', 'stretch'
+			gs 'pain', 2, 'back', 'stretch'
+			gs 'pain', 2, 'chest', 'stretch'
+
+			killvar 'lesson_tier'
+			act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
+		end
+	else 
+		'There is another fitness class in progress and no more yoga sessions today.'
+	end
+	act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
 end 
 
 !! Shopping
 if $ARGS[0] = 'clothing':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets - Dancewear'
-  $setloc['StageImage'] =  '<<$default_img_path>>sports_shop'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-  act 'Leave': gt 'pushkin_sq'
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets - Dancewear'
+	$setloc['StageImage'] =	'<<$default_img_path>>sports_shop.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+	act 'Leave': gt 'pushkin_sq'
 end
 
 !! Custom Tutus for quests/shows, ballet shoe fitting, clothing, physio items, portable ballet equipment (barre) etc.
 if $ARGS[0] = 'quest':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Ballet Secrets'
-  $setloc['StageImage'] =  '<<$default_img_path>>quest'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-  act 'Leave': gt 'pushkin_sq'
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Ballet Secrets'
+	$setloc['StageImage'] =	'<<$default_img_path>>quest.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+	act 'Leave': gt 'pushkin_sq'
 end
 
 if $ARGS[0] = 'food':
-  gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-  $location_type = 'public_indoors'
-  $setloc['StageTitle'] = 'Food Court'
-  $setloc['StageImage'] =  '<<$default_img_path>>food_court'
-  $location_type = 'public_indoors'
-  gs 'themes', 'indoors'
-  gs 'core_library', 'stage_title'
-
-  'There is a small area set aside for vending machines to provide drinks and food. '
-  act 'Leave': gt 'pushkin_sq'
+	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
+	$location_type = 'public_indoors'
+	$setloc['StageTitle'] = 'Food Court'
+	$setloc['StageImage'] =	'<<$default_img_path>>food_court.jpg'
+	$location_type = 'public_indoors'
+	gs 'themes', 'indoors'
+	gs 'core_library', 'stage_title'
+
+	'There is a small area set aside for vending machines to provide drinks and food. '
+	act 'Leave': gt 'pushkin_sq'
 end
 --- ballet_secrets ---------------------------------

+ 1 - 1
locations/band_tour_anushka_SMS.qsrc

@@ -109,7 +109,7 @@ if $ARGS[0] = 'Week1':
 	elseif $ARGS[1] = 'Choice_a':
 		!! Add Anushka to the contact list if she isn''t in it yet.
 		!! Is here to add it after reading the text.
-		if arrpos('$contact', 'A144') = -1: gs 'telefon', 'AddContact', 'A144', 'images/characters/shared/headshots_main/big144.jpg', "", "1 = 0", "", "", 0
+		if arrpos('$contact', 'A144') = -1: gs 'telefon', 'AddContact', 'A144', 'images/characters/shared/headshots_main/big144.jpg', 0
 
 		gs 'SMStext_builder', 'start'
 			gs 'SMStext_builder', 'send', $SMSTree['a1']

+ 1 - 1
locations/bass.qsrc

@@ -111,7 +111,7 @@ if $ARGS[0] = 'a':
 			if pcs_sweat > 15 : pcs_sweat = 10 + rand(0,4)
 			pcs_mood += 5
 
-			if pcs_stren < 40:gs 'exp_gain', 'stren', 1 + (steroid_dose - rand(0,steroid_dose)) & gs 'obj_din', 'steroids'
+			if pcs_stren < 40:gs 'exp_gain', 'stren', 1 + rand(0, drugVars['steroids_dose']) & gs 'obj_din', 'steroids'		& ! obj_din does not have a steroids sublocation??
 			if KisameSex = 0:KisameSex = 1 & Set guy += 1
 			gs 'boyStat', 'A40'
 			'<center><img <<$set_imgh>> src="images/characters/city/kisame/sex/kisamebj.jpg"></center>'

+ 2 - 2
locations/bdsm_ballroom.qsrc

@@ -11,8 +11,8 @@ if $ARGS[0] = 'ballroom':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/ballroom.jpg"></center>'
 	'Ballroom'
-	act 'Go to west wing hall': gt 'bdsm_hallway', 'west'
-	act 'Go to the atrium': gt 'bdsm_ballroom', 'atrium'
+	act 'Go to the Foyer': gt 'bdsm_hallway', 'foyer'
+	act 'Go to the Atrium': gt 'bdsm_ballroom', 'atrium'
 end
 
 

+ 1 - 1
locations/bdsm_basement.qsrc

@@ -93,7 +93,7 @@ if $ARGS[0] = 'start':
 		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/basement.jpg"></center>'
 		'Basement, for torture and whatnot'
 
-		act 'Go upstairs to the east wing hallway': killvar 'bdsm_basement_rand' & gt 'bdsm_hallway', 'east'
+		act 'Go upstairs': killvar 'bdsm_basement_rand' & gt 'bdsm_hallway', 'foyer'
 	end
 end
 

+ 1 - 1
locations/bdsm_bathrooms.qsrc

@@ -10,7 +10,7 @@ if $ARGS[0] = 'bath':
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/bath1.jpg"></center>'
 	'A luxrious bathroom, designed to indulge and relax.'
 	gs 'din_van', 'private'
-	act 'Return to east wing landing':gt'bdsm_landing', 'east'
+	act 'Return to landing':gt'bdsm_landing'
 end
 
 if $ARGS[0] = 'ensuite':

+ 27 - 55
locations/bdsm_bedeast.qsrc

@@ -1,18 +1,22 @@
 # bdsm_bedeast
 
-if $ARGS[0] = 'guestB':
+if $ARGS[0] = 'start':
     $location_type = 'private'
 	$locclass = 'bedr'
 	$loc = 'bdsm_bedeast'
-	$loc_arg = 'guestB'
+	$loc_arg = 'start'
 	$menu_loc = 'bdsm_bedeast'
-	$menu_arg = 'guestB'
+	$menu_arg = 'start'
 	menu_off = 0
 	*clr & cla
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/bedb.jpg"></center>'
-	'Guest bedroom B'
-	act 'Go to the east wing landing': gt 'bdsm_landing', 'east'
+	'Guest bedroom 2'
+	act 'Go to the landing': gt 'bdsm_landing'
+	gs 'bdsm_bedeast', 'events'
+end
+
+if $ARGS[0] = 'events':
 	if rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -23,7 +27,7 @@ if $ARGS[0] = 'guestB':
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'stat'
 	
-		act 'Return':gt 'bdsm_bedeast', 'guestB'
+		act 'Return':gt 'bdsm_bedeast', 'start'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -34,7 +38,7 @@ if $ARGS[0] = 'guestB':
 		gs 'arousal', 'voyeur', 5
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestB'
+		act 'Return':gt 'bdsm_bedeast', 'start'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -45,8 +49,8 @@ if $ARGS[0] = 'guestB':
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestB'
-		if $BDSMrole = 's':
+		act 'Return':gt 'bdsm_bedeast', 'start'
+		if $bdsmclub['role'] = 'sub':
 			act 'Join them':
 				*clr & cla
 				gs 'npcgeneratec', 0, 'Dominant man from the Club', rand(18,45)
@@ -61,26 +65,10 @@ if $ARGS[0] = 'guestB':
 				gs 'arousal', 'end'
 				gs 'stat'
 		
-				act 'Return':gt 'bdsm_bedeast', 'guestB'
+				act 'Return':gt 'bdsm_bedeast', 'start'
 			end
 		end
-	end
-end
-
-if $ARGS[0] = 'guestC':
-    $location_type = 'private'
-	$locclass = 'bedr'
-	$loc = 'bdsm_bedeast'
-	$loc_arg = 'guestC'
-	$menu_loc = 'bdsm_bedeast'
-	$menu_arg = 'guestC'
-	menu_off = 0
-	*clr & cla
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/bedc.jpg"></center>'
-	'Guest bedroom C'
-	act 'Go to the east wing landing':gt 'bdsm_landing', 'east'
-	if rand (0,100) < 3:
+	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
 		gs 'stat'
@@ -90,8 +78,8 @@ if $ARGS[0] = 'guestC':
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestC'
-		if $BDSMrole = 's':
+		act 'Return':gt 'bdsm_bedeast', 'start'
+		if $bdsmclub['role'] = 'sub':
 			act 'Join them':
 				*clr & cla
 				gs 'stat'
@@ -105,7 +93,7 @@ if $ARGS[0] = 'guestC':
 				gs 'arousal', 'end'
 				gs 'stat'
 		
-				act 'Return':gt 'bdsm_bedeast', 'guestC'
+				act 'Return':gt 'bdsm_bedeast', 'start'
 			end
 		end
 	elseif rand (0,100) < 3:
@@ -119,7 +107,7 @@ if $ARGS[0] = 'guestC':
 		gs 'arousal', 'end'
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestC'
+		act 'Return':gt 'bdsm_bedeast', 'start'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -131,24 +119,8 @@ if $ARGS[0] = 'guestC':
 		gs 'arousal', 'end'
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestC'
-	end
-end
-
-if $ARGS[0] = 'guestD':
-    $location_type = 'private'
-	$locclass = 'bedr'
-	$loc = 'bdsm_bedeast'
-	$loc_arg = 'guestD'
-	$menu_loc = 'bdsm_bedeast'
-	$menu_arg = 'guestD'
-	menu_off = 0
-	*clr & cla
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/bedd.jpg"></center>'
-	'Guest bedroom D'
-	act 'Go to the east wing landing':gt 'bdsm_landing', 'east'
-	if rand (0,100) < 3:
+		act 'Return':gt 'bdsm_bedeast', 'start'
+	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
 		gs 'stat'
@@ -158,7 +130,7 @@ if $ARGS[0] = 'guestD':
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestD'
+		act 'Return':gt 'bdsm_bedeast', 'start'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -169,8 +141,8 @@ if $ARGS[0] = 'guestD':
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestD'
-		if $BDSMrole = 's':
+		act 'Return':gt 'bdsm_bedeast', 'start'
+		if $bdsmclub['role'] = 'sub':
 			act 'Watch':
 				*clr & cla
 				'<center><video autoplay loop src="images/locations/city/suburb/bdsm_club/sex/bedrand6.mp4"></video></center>'
@@ -191,7 +163,7 @@ if $ARGS[0] = 'guestD':
 					gs 'arousal', 'end'
 					gs 'stat'
 					
-					act 'Return':gt 'bdsm_bedeast', 'guestD'
+					act 'Return':gt 'bdsm_bedeast', 'start'
 				end
 			end
 		end
@@ -206,7 +178,7 @@ if $ARGS[0] = 'guestD':
 		gs 'arousal', 'end'
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestD'
+		act 'Return':gt 'bdsm_bedeast', 'start'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -218,7 +190,7 @@ if $ARGS[0] = 'guestD':
 		gs 'arousal', 'end'
 		gs 'stat'
 		
-		act 'Return':gt 'bdsm_bedeast', 'guestD'
+		act 'Return':gt 'bdsm_bedeast', 'start'
 	end
 end
 

+ 4 - 4
locations/bdsm_bedwest.qsrc

@@ -13,7 +13,7 @@ if $ARGS[0] = 'master':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/masterbed.jpg"></center>'
 	'Master bedroom'
-	act 'Go to the west wing landing':gt 'bdsm_landing', 'west'
+	act 'Go to the landing':gt 'bdsm_landing'
 	if rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -50,7 +50,7 @@ if $ARGS[0] = 'master':
 		gs 'stat'
 		
 		act 'Return':gt 'bdsm_bedwest', 'master'
-	elseif rand (0,100) < 3 and $BDSMrole = 's':
+	elseif rand (0,100) < 3 and $bdsmclub['role'] = 'sub':
 		menu_off = 1
 		*clr & cla
 		pcs_horny += 5
@@ -77,8 +77,8 @@ if $ARGS[0] = 'guest':
 	*clr & cla
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/beda.jpg"></center>'
-	'Guest bedroom A'
-	act 'Go to the west wing landing':gt 'bdsm_landing', 'west'
+	'Guest bedroom'
+	act 'Go to the landing':gt 'bdsm_landing'
 	if rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla

+ 2 - 2
locations/bdsm_conservatory.qsrc

@@ -11,8 +11,8 @@ gs 'stat'
 '<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/conservatory.jpg"></center>'
 'This huge glass fronted room is kept very warm and houses a number of rare and exotic plants.'
 'It is one of the few places where you can just relax and enjoy the opulence of the mansion.'
-act 'Go to the garden': gt 'bdsm_garden', 'garden'
-act 'Go to east wing hall': gt 'bdsm_hallway', 'east'
+act 'Go to the Garden': gt 'bdsm_garden', 'garden'
+act 'Go to the Foyer': gt 'bdsm_hallway', 'foyer'
 
 --- bdsm_conservatory ---------------------------------
 

+ 1 - 2
locations/bdsm_dining.qsrc

@@ -9,8 +9,7 @@ menu_off = 0
 cls
 gs 'stat'
 '<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/diningroom.jpg"></center>'
-act 'Go to foyer': gt 'bdsm_hallway', 'foyer'
-act 'Go to the east wing hallway':gt 'bdsm_hallway', 'east'
+act 'Go to the Foyer': gt 'bdsm_hallway', 'foyer'
 
 if rand (0,100) < 3:
 	menu_off = 1

+ 26 - 2
locations/bdsm_dressing.qsrc

@@ -8,6 +8,8 @@ $loc = 'bdsm_dressing'
 $loc_arg = ''
 $menu_loc = 'bdsm_dressing'
 $menu_arg = ''
+!! Role cleared here and set when re-entering to allow for sub and dom usage
+$bdsmclub['role'] = ''
 menu_off = 0
 cls
 gs 'stat'
@@ -15,9 +17,31 @@ gs 'stat'
 'A huge dressing room. Mostly used by submissives to dress as staff and because of this, it is a safe space and games are not allowed.'
 'It contains several <a href="exec:gt ''wardrobe'', ''start''">wardrobes</a> (where you can choose outfits and organize your clothing).'
 'There are whole cabinets filled with designer clothing belonging to various club members and plenty of <a href="exec:gt ''mirror'',''start''">mirrors</a> you can use.'
+*nl
+'It is here where you must set your role for your visit, you can also change it here but must be wearing the correct clothing for your role or you will only be able to leave.'
+'Submissives must wear either maid or submissive sex shop clothing or be naked.'
+'Dominants must wear clothing of minimum "expensive" quality.'
+if ($clothingworntype = 'gm_maid' or PCloStyle2 = 1) or CloStyle3 = 2 or $clothingworntype = 'nude':
+	act 'Enter the club''s foyer (submissive role)':
+		$bdsmclub['role'] = 'sub'
+		gt 'bdsm_hallway', 'foyer'
+	end
+end
+if PCloQuality >= 5 and bdsmclub['payday'] + 30 > daystart and bdsmclub['domtraining'] = 2:
+	act 'Enter the club''s foyer (dominant role)':
+		$bdsmclub['role'] = 'dom'
+		gt 'bdsm_hallway', 'foyer'
+	end
+end
 
-act 'Go to foyer': gt 'bdsm_hallway', 'foyer'
-act 'Go to east wing hall': gt 'bdsm_hallway', 'east'
+if bdsmclub['payday'] + 30 <= daystart:
+	*nl
+	'You do not have a paid subscription so you cannot enter the club as a dominant, you can go direct to the office and pay from here.'
+	act 'Go to office and pay subscription': gt 'bdsm_mansion', 'office'
+end
+
+act 'Go to the Foyer (no role set)': gt 'bdsm_hallway', 'foyer'
+act 'Leave the club':gt 'city_suburbs', 'start'
 
 --- bdsm_dressing ---------------------------------
 

+ 1 - 1
locations/bdsm_gameroom.qsrc

@@ -8,7 +8,7 @@ $menu_arg = ''
 menu_off = 0
 '<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/games.jpg"></center>'
 'Games room'
-act 'Go to the west wing landing':gt 'bdsm_landing', 'west'
+act 'Go to the landing':gt 'bdsm_landing'
 
 if rand (0,100) < 3:
 	menu_off = 1

+ 1 - 1
locations/bdsm_garden.qsrc

@@ -15,7 +15,7 @@ if $ARGS[0] = 'garden':
 	act 'Go to the conservatory': gt 'bdsm_conservatory'
 	act 'Go to the garage': gt 'bdsm_garden', 'garage'
 
-	if $BDSMrole = 's' and rand (0, 100) < 5 and stat['think_virgin'] = 0:
+	if $bdsmclub['role'] = 'sub' and rand (0, 100) < 5 and stat['think_virgin'] = 0:
 		gt 'bdsm_garden', 'gEV1'
 	elseif rand (0,100) < 3:
 		menu_off = 1

+ 24 - 63
locations/bdsm_hallway.qsrc

@@ -1,6 +1,8 @@
 # bdsm_hallway
 
 CLOSE ALL
+
+
 if $ARGS[0] = 'foyer':
     $location_type = 'private'
 	$loc = 'bdsm_hallway'
@@ -13,65 +15,24 @@ if $ARGS[0] = 'foyer':
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/foyer.jpg"></center>'
 	'You stand in the grand foyer, your eye is draw towards and up the dual staircases. To your left is the Dinning room, to your right the dressing room.'
 	'Discreetly to the sides of the staircases are two rest rooms.'
-	act 'Leave the club':
-		if $clothingworntype ! 'nude':
-			gt 'bdsm_mansion', 'start'
-		else
-			msg'<b><font color = red>You need to get dressed.</font></b>'
-			gt'bdsm_hallway','foyer'
-		end
-	end
-	if $BDSMrole = 's':
+
+	if $bdsmclub['role'] = '':
+		*nl
+		'You have not chosen a role in the dressing room so you cannot enter the rest of the club.'
+		act 'Go to Dressing room': gt 'bdsm_dressing'
+	else
 		act 'Go to Dressing room': gt 'bdsm_dressing'
-		if ($clothingworntype ! 'gm_maid' or PCloStyle2 ! 1) and  $clothingworntype ! 'nude':exit
+		act 'Go to Reception':gt 'bdsm_mansion', 'reception'
+		act 'Go upstairs':gt 'bdsm_landing'
+		act 'Go down to the basement':gt 'bdsm_basement', 'start'
+		act 'Go to the Rest room': gt 'bdsm_bathrooms', 'restroom'
+		act 'Go to the Dining room':gt 'bdsm_dining'
+		act 'Go to the Ball room':gt 'bdsm_ballroom', 'ballroom'
+		act 'Go to the Conservatory': gt 'bdsm_conservatory'
+		act 'Go to the Kitchen':gt 'bdsm_kitchen', 'kitchen'
 	end
-	act 'Go upstairs to the west wing landing':gt 'bdsm_landing', 'west'
-	act 'Go upstairs to the east wing landing':gt 'bdsm_landing', 'east'
-	act 'Go to the Dining room':gt 'bdsm_dining'
-	act 'Go to the west wing hallway':gt 'bdsm_hallway', 'west'
-	act 'Go to the east wing hallway':gt 'bdsm_hallway', 'east'
-	act 'Go to the rest room': gt 'bdsm_bathrooms', 'restroom'
-end
-
-if $ARGS[0] = 'west':
-    $location_type = 'private'
-	$loc = 'bdsm_hallway'
-	$loc_arg = 'west'
-	$menu_loc = 'bdsm_hallway'
-	$menu_arg = 'west'
-	menu_off = 0
-	*clr & cla
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/hall.jpg"></center>'
-	'You are standing in the west wing hallway, the reception and office are located here. If you need to speak to management, you need to go to the reception.'
-	'The dressing room is to your right and at the end of the hallway is the ball room leading to the atrium.'
-	act 'Go to the foyer':gt 'bdsm_hallway', 'foyer'
-	act 'Go to reception':gt 'bdsm_mansion', 'reception'
-	act 'Go to the libary':gt 'bdsm_library'
-	act 'Go to the Ball room':gt 'bdsm_ballroom', 'ballroom'
-end
-
-if $ARGS[0] = 'east':
-    $location_type = 'private'
-	$loc = 'bdsm_hallway'
-	$loc_arg = 'east'
-	$menu_loc = 'bdsm_hallway'
-	$menu_arg = 'east'
-	menu_off = 0
-	killvar '$locclass'
-	*clr & cla
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/hall.jpg"></center>'
-	'You are standing in the east wing hallway, you can feel the warm air from the conservatory to your right and the dinning room is to your left.'
-	'Further down the hallway are the kitchen, pantry and laundry room. At the end of the hall is are stairs leading up to the guest bedrooms and down to the basement.'
-	act 'Go to the foyer':gt 'bdsm_hallway', 'foyer'
-	act 'Go to the conservatory': gt 'bdsm_conservatory'
-	act 'Go to the dining room':gt 'bdsm_dining'
-	act 'Go to the kitchen':gt 'bdsm_kitchen', 'kitchen'
-	act 'Go to the laundry':gt 'bdsm_kitchen', 'laundry'
-	act 'Go upstairs to the west wing landing':gt 'bdsm_landing', 'west'
-	act 'Go down to the basement':gt 'bdsm_basement', 'start'
 
+!! Random scenes
 	if rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -83,7 +44,7 @@ if $ARGS[0] = 'east':
 		gs 'arousal', 'end'
 		gs 'stat'
 		
-		act 'Return': gt 'bdsm_hallway', 'east'
+		act 'Return': gt 'bdsm_hallway', 'foyer'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -94,7 +55,7 @@ if $ARGS[0] = 'east':
 		gs 'arousal', 'voyeur', 5
 		gs 'stat'
 		
-		if $BDSMrole = 'slave':
+		if $bdsmclub['role'] = 'sub':
 		    'The woman rides her ponyboy over to you and looks you over, grabbing hold of your chin as if she was inspecting you. "Well arn''t you just a cute little filly. I''ve been thinking about putting my boy here out to stud and I think you will do nicely. Come along." She says as she attaches a lead to your collar from the saddle, the she uses the spurs to get ponyboy going and rides him up the stairs pulling you behind them.'
 			!follow up scene to come
 		end
@@ -102,7 +63,7 @@ if $ARGS[0] = 'east':
 		gs 'arousal', 'end'
 		gs 'stat'
 		
-		act 'Return': gt 'bdsm_hallway', 'east'
+		act 'Return': gt 'bdsm_hallway', 'foyer'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -113,7 +74,7 @@ if $ARGS[0] = 'east':
 		gs 'arousal', 'voyeur', 5
 		gs 'stat'
 		
-		if $BDSMrole = 'slave':
+		if $bdsmclub['role'] = 'sub':
 		    'The man in leathers notices you and smiles, motioning you over as he keeps talking to the couple.'
 			'You obediently walk over to him, as you do he simply points a finger at the floor and you kneel down next to the other girl.'
 			'After several minutes the man ends his conversation with the couple. "Well it was nice seeing you again, but I need to get going. As you can see I have a couple of bitches in need of training." He says with a laugh, while the couple look at you with a knowing smile.'
@@ -124,7 +85,7 @@ if $ARGS[0] = 'east':
 		gs 'arousal', 'end'
 		gs 'stat'
 		
-		act 'Return': gt 'bdsm_hallway', 'east'
+		act 'Return': gt 'bdsm_hallway', 'foyer'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -135,7 +96,7 @@ if $ARGS[0] = 'east':
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'stat'
 		
-		act 'Return': gt 'bdsm_hallway', 'east'
+		act 'Return': gt 'bdsm_hallway', 'foyer'
 	elseif rand (0,100) < 3:
 		menu_off = 1
 		*clr & cla
@@ -156,7 +117,7 @@ if $ARGS[0] = 'east':
 			gs 'arousal', 'end'
 			gs 'stat'
 		
-			act 'Return': gt 'bdsm_hallway', 'east'
+			act 'Return': gt 'bdsm_hallway', 'foyer'
 		end
 	end
 end

+ 4 - 3
locations/bdsm_kitchen.qsrc

@@ -10,8 +10,9 @@ if $ARGS[0] = 'kitchen':
 	menu_off = 0
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/kitchen.jpg"></center>'
-	act 'Go to the east hall': gt 'bdsm_hallway', 'east'
-	act 'look in the pantry': gt 'bdsm_kitchen', 'pantry'
+	act 'Go to the Foyer': gt 'bdsm_hallway', 'foyer'
+	act 'Go to the laundry room': gt 'bdsm_kitchen', 'laundry'
+	act 'Look in the pantry': gt 'bdsm_kitchen', 'pantry'
 end
 
 if $ARGS[0] = 'laundry':
@@ -23,7 +24,7 @@ if $ARGS[0] = 'laundry':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/laundry.jpg"></center>'
 	'The laundry'
-	act 'Go to the east hall': gt 'bdsm_hallway', 'east'
+	act 'Return to the Kitchen': gt 'bdsm_kitchen', 'kitchen'
 end
 
 if $ARGS[0] = 'pantry':

+ 24 - 44
locations/bdsm_landing.qsrc

@@ -2,54 +2,34 @@
 $location_type = 'private'
 killvar '$locclass'
 
-if $ARGS[0] = 'west':
-	*clr & cla
-	$loc = 'bdsm_landing'
-	$loc_arg = 'west'
-	$menu_loc = 'bdsm_landing'
-	$menu_arg = 'west'
-	menu_off = 0
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/wlanding.jpg"></center>'
-	act 'Go to the east wing landing':gt 'bdsm_landing', 'east'
-	act 'Go downstairs to the foyer':gt 'bdsm_hallway', 'foyer'
-	act 'Visit the master bedroom':gt 'bdsm_bedwest', 'master'
-	act 'Visit guest bedroom A':gt 'bdsm_bedwest', 'guest'
-	act 'Visit the games room':gt 'bdsm_gameroom'
+*clr & cla
+$loc = 'bdsm_landing'
+$loc_arg = 'west'
+$menu_loc = 'bdsm_landing'
+$menu_arg = 'west'
+menu_off = 0
+gs 'stat'
+'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/wlanding.jpg"></center>'
 
-	if rand (0,100) < 3:
-		menu_off = 1
-		*clr & cla
-		gs 'stat'
-		'<center><video autoplay loop src="images/locations/city/suburb/bdsm_club/sex/maid_sex_b1.mp4"></video></center>'
-		'A maid is being helped with the vacuum cleaning by a man in casual clothing, you think about reporting him, but he''s a bit busy right now.'
-		
-		gs 'arousal', 'voyeur_sex', 5
-		gs 'arousal', 'end'
-		gs 'stat'
-		
-		act 'Return': gt 'bdsm_landing', 'west'
-	end
-end
+act 'Go downstairs to the foyer':gt 'bdsm_hallway', 'foyer'
+act 'Visit the master bedroom':gt 'bdsm_bedwest', 'master'
+act 'Visit guest bedroom':gt 'bdsm_bedwest', 'guest'
+act 'Visit guest bedroom 2':gt 'bdsm_bedeast', 'start'
+act 'Go to the bathroom': gt 'bdsm_bathrooms', 'bath'
+act 'Visit the games room':gt 'bdsm_gameroom'
 
-if $ARGS[0] = 'east':
+if rand (0,100) < 3:
+	menu_off = 1
 	*clr & cla
-	killvar '$locclass'
-	$loc = 'bdsm_landing'
-	$loc_arg = 'east'
-	$menu_loc = 'bdsm_landing'
-	$menu_arg = 'east'
-	menu_off = 0
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/elanding.jpg"></center>'
-	act 'Go to the west wing landing':gt 'bdsm_landing', 'west'
-	act 'Go downstairs to the foyer':gt 'bdsm_hallway', 'foyer'
-	act 'Go downstairs to the west wing hallway':gt 'bdsm_hallway', 'west'
-	act 'Visit guest bedroom B':gt 'bdsm_bedeast', 'guestB'
-	act 'Visit guest bedroom C':gt 'bdsm_bedeast', 'guestC'
-	act 'Visit guest bedroom D':gt 'bdsm_bedeast', 'guestD'
-	act 'Go to the bathroom': gt 'bdsm_bathrooms', 'bath'
-	act 'Go to the living room': gt 'bdsm_livingroom'
+	'<center><video autoplay loop src="images/locations/city/suburb/bdsm_club/sex/maid_sex_b1.mp4"></video></center>'
+	'A maid is being helped with the vacuum cleaning by a man in casual clothing, you think about reporting him, but he''s a bit busy right now.'
+	
+	gs 'arousal', 'voyeur_sex', 5
+	gs 'arousal', 'end'
+	gs 'stat'
+	
+	act 'Return': gt 'bdsm_landing', 'west'
 end
 
 --- bdsm_landing ---------------------------------

+ 0 - 27
locations/bdsm_library.qsrc

@@ -1,27 +0,0 @@
-# bdsm_library
-
-$location_type = 'private'
-$loc = 'bdsm_library'
-$loc_arg = ''
-$menu_loc = 'bdsm_library'
-$menu_arg = ''
-menu_off = 0
-*clr & cla
-gs 'stat'
-'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/library.jpg"></center>'
-'Library, full of books.'
-
-if hour = 18:
-	menu_off = 1
-	pcs_horny += 10
-	*clr & cla
-	gs 'stat'
-	'<center><video autoplay loop src="images/locations/city/suburb/bdsm_club/librand.mp4"></video></center>'
-	'It looks like the librarian has put one of the books back in the wrong place, she really does seem to like the being punished.'
-	act 'Leave her to it': gt 'bdsm_hallway', 'west'
-end
-
-act 'Go to west wing hall': gt 'bdsm_hallway', 'west'
-
---- bdsm_library ---------------------------------
-

+ 0 - 17
locations/bdsm_livingroom.qsrc

@@ -1,17 +0,0 @@
-# bdsm_livingroom
-
-$location_type = 'private'
-$locclass = 'livingr'
-$loc = 'bdsm_livingroom'
-$loc_arg = ''
-$menu_loc = 'bdsm_livingroom'
-$menu_arg = ''
-menu_off = 0
-*clr & cla
-gs 'stat'
-'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/living.jpg"></center>'
-'Living room'
-act 'Go to the east wing landing':gt 'bdsm_landing', 'east'
-
---- bdsm_livingroom ---------------------------------
-

+ 124 - 152
locations/bdsm_mansion.qsrc

@@ -1,17 +1,38 @@
 # bdsm_mansion
-if $ARGS[0] = 'Hos':
+
+!!{variables for BDSM mansion
+	bdsmclub['unlocked'] = 1 - club unlocked
+	bdsmclub['intro'] = 1 - intro interview complete
+	bdsmclub['subtraining'] - sub training counter
+	bdsmclub['domtraining'] - dom training counter
+	bdsmclub['annatraining'] = 1 - bypass train if you have been trained by Anna
+	bdsmclub['training_daystart'] = daystart - check to stop further training on same day
+	bdsmclub['payday'] = daystart - subscription paid for dom access due every 30 days
+	$bdsmclub['role'] = 'sub' or 'dom' - access used and maintained during that visit as either a sub or a dom
+}
+
+if $ARGS[0] = 'taxi':
+	$loc_arg = 'start'
+	$loc = 'bdsm_mansion'
+	$location_type = 'public_outdoors'
+	$menu_loc = 'bdsm_mansion'
+	$menu_arg = 'start'
+	menu_off = 0
 	*clr & cla
-	menu_off = 1
-	minut += 10
-	lesbiday = daystart
-	BDSMClub = 1
-	gs 'drugs', 'alcohol', 'wine'
+	minut += 5
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/hosjaika.jpg"></center>'
-	'After a few visits to your Mistress you are getting a little closer. Seeing her this evening, you catch her a little tipsy. Instead of already familiar perversions, you just sit in the kitchen and drink wine, talking about life. In conversation, the Mistress mentions a BDSM club. Sounds interesting, you and the Mistress pour glass after glass and slowly you gather details from her. Turns out, the city has an elite BDSM-club, and the missus is in it. After much persuasion, she gives you a business card – a piece of cardboard with three-dimensional logo without inscriptions, and explains how to get to the Club.'
-	act 'Leave':gt 'city_residential'
+	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/club.jpg"></center>'
+	if hour < 16 and hour > 2:
+		bdsmclub['unlocked'] = 1
+		'The taxi brings you in a gated community outside of town and drops you off at the closed wrought iron gate. You attempt to enter the secret club but the guard tells you it is closed. You show your card and he tells you to come back after 16:00.'
+		act 'Leave':gt 'city_suburbs', 'start'
+	else
+		'The taxi brings you in a gated community outside of town and drops you off at the closed wrought iron gate. From the booth comes a guard, you show him the business card. Without saying anything, he opens the gate and points you towards the door. You walk alone a marble tiled walkway past the neatly clipped shrubs and flower beds. An other guard meets you, and leads you into the mansion through the main door.'
+		act 'Enter club':gt 'bdsm_mansion', 'intro'
+	end
 end
 
+
 if $ARGS[0] = 'start':
 	$loc_arg = 'start'
 	$loc = 'bdsm_mansion'
@@ -20,150 +41,106 @@ if $ARGS[0] = 'start':
 	$menu_arg = 'start'
 	menu_off = 0
 	*clr & cla
-	minut += 10
+	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/club.jpg"></center>'
-	if BDSMtaxi = 1 and BDSMmeet = 0:
-		if hour < 16 and hour > 2:
-			'The taxi brings you in a gated community outside of town and drops you off at the closed wrought iron gate. You attempt to enter the secret club but the guard tells you it is closed. You show your card and he tells you to come back after 16:00.'
-			act 'Leave':gt 'city_suburbs', 'start'
-		else
-			'The taxi brings you in a gated community outside of town and drops you off at the closed wrought iron gate. From the booth comes a guard, you show him the business card. Without saying anything, he opens the gate and points you in the direction. You walk to a marble tiled walkway past the neatly clipped shrubs and flower beds. An other guard meets you, and leads you into the mansion through an inconspicuous side door.'
-			act 'Enter club':gt 'bdsm_mansion', 'in'
-		end
-	elseif BDSMday = daystart and hour > 16 or hour < 2:
-		act 'Return to the club':gt 'bdsm_mansion', 'start'
-	elseif BDSMClubIn = 1:
+	'You are standing a large mansion in the suburbs of St Petersberg.'
+	if bdsmclub['unlocked'] = 1:
+		'You know this to be a BDSM club for rich people and you have access.'
+		act 'Go to the elite settlement':gt 'city_suburbs', 'start'
 		if hour < 16 and hour > 2:
-			'You are standing outside the BDSM club but it is closed until 16:00.'
+			*nl
+			'The club is closed until 16:00.'
 			act 'Leave':gt 'city_suburbs', 'start'
 		else
-			'You are standing outside the BDSM club which is currently open.'
-			act 'Leave':gt 'city_suburbs', 'start'
-			if $BDSMrole ! '':
-				act 'Enter the club':gt 'bdsm_mansion', 'start'
-			else
-				act 'Enter the club':BDSMday = daystart & gt 'bdsm_hallway', 'foyer'
-			end
-		end
-	elseif BDSMmeet = 1:
-		if $BDSMrole = 's' and ($clothingworntype ! 'gm_maid' or PCloStyle2 ! 1):
-			'You are not wearing a maid uniform or suitable fetish wear and security refuse you entry.'
-		else
-			if $BDSMrole = 's':
-				gt 'bdsm_training', 'start'
-			else
-				gt 'bdsm_training', 'd_start'
+			if bdsmclub['training_daystart'] ! daystart:
+				if bdsmclub['subtraining'] < 3:
+					act 'Get submissive training': gt 'bdsm_training', 'sub'
+				end
+				if bdsmclub['domtraining'] < 1:
+					if bdsmclub['payday'] + 30 > daystart:
+						act 'Get Dominant training': gt 'bdsm_training', 'dom'
+					else
+						act 'Get Dominant training (unavailable until subscription is paid)': gt 'bdsm_mansion', 'start'
+					end
+				end
+				act 'Enter the club':gt 'bdsm_hallway', 'foyer'
 			end
 		end
-	elseif BDSMmeet < 4:
-		gt 'bdsm_training', 'start'
+		gs 'taxi'		
+	else
+		act 'Go to the elite settlement':gt 'city_suburbs', 'start'
 	end
-
-	gs 'taxi'
-	act 'Elite settlement':gt 'city_suburbs', 'start'
 end
 
-if $ARGS[0] = 'in':
+if $ARGS[0] = 'intro':
 	*clr & cla
 	menu_off = 1
-	BDSMmeet += 1
-	BDSMday = daystart
+	bdsmclub['intro'] = 1
+	bdsmclub['training_daystart'] = daystart
+	gs 'stat'
+	*clr & cla
+	minut += 10
 	gs 'stat'
-	if BDSMmeet = 1:
+	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/1_1.jpg"></center>'
+	'You''re standing in an office, at a table in front of you sits a woman in a strict business suit. Her strict gaze as looks right through you. You show her the card, she briefly says.'
+	'"Candidate? Passport."'
+	'Your hand trembles as you reach out your passport.'
+	'The woman points you to a chair, turns to the computer and starts clicking on the keys. She nods a few times, but says nothing. Then takes the phone and speaks to someone called Vladimir Viktorovich, discussing you. "There''s candidacy, but a bit young, can you check and sort the paperwork? She hangs up, after a few minutes from the office comes a strapping man in a perfectly fitting suit and glasses with gold rim. He says, "Hello." And sits down next to you.'
+	'"What''s your name? <<$pcs_nickname>>? Fine. How old are you?"'
+	'You answer the questions.'
+	'"Tell me, are you sure you want this?"'
+	'You understand, all of the questions he is asking and why.'
+	'"Sure!" You tell him firmly.'
+	'"Well... everything here seems to be in order, there are no issues. Let''s sign some papers. A mere formality, to formally record, that you have grasped everything.'
+	'The man puts a sheet of paper on the table.'
+	'"Read aloud and sign."'
+	'You take the sheet and read "The application for voluntary informed consent" a long, binding document filled with legal terms, confirming your consent to voluntarily participate in actions of a sexual nature, which may be humiliating or degrading in nature and be accompanied by mild corporal punishment. You are not a lawyer, but you understand, this covers them if something goes wrong and takes every step to prevent that.'
+	'"I agree."'
+	'"Well," the woman puts her hands together and looks at you. Due to the nature of this club I have to carry out a visual inspection to confirm physical suitability.'
+	'"I do not know," you shrug. "What does that mean?"'
+	'"Simple you remove all your clothing and I have a good look, its a perk of the job. Besides we record this interview and it helps discourage talk about the club reaching people it should not."'
+	act 'Hesitate':
 		*clr & cla
 		minut += 10
-		$BDSMrole = ''
+		bdsmclub['intro'] = 1
 		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/1_1.jpg"></center>'
-		'You''re standing in an office, at a table in front of you sits a woman in a strict business suit. Her strict gaze as looks right through you. You show her the card, she briefly says.'
-		'"Candidate? Passport."'
-		'Your hand trembles as you reach out your passport.'
-		'The woman points you to a chair, turns to the computer and starts clicking on the keys. She nods a few times, but says nothing. Then takes the phone and speaks to someone called Vladimir Viktorovich, discussing you. "There''s candidacy, but a bit young, can you check and sort the paperwork? She hangs up, after a few minutes from the office comes a strapping man in a perfectly fitting suit and glasses with gold rim. He says, "Hello." And sits down next to you.'
-		'"What''s your name? <<$pcs_nickname>>? Fine. How old are you?"'
-		'You answer the questions.'
-		'"Tell me, are you sure you want this?"'
-		'You understand, all of the questions he is asking and why.'
-		'"Sure!" You tell him firmly.'
-		'"Well... everything here seems to be in order, there are no issues. Let''s sign some papers. A mere formality, to formally record, that you have grasped everything.'
-		'The man puts a sheet of paper on the table, take a videocamera from the draw and points it at you and clicks the button.'
-		'"Read aloud and sign."'
-		'You take the sheet and read "The application for voluntary informed consent" a long, binding document filled with legal terms, confirming your consent to voluntarily participate in actions of a sexual nature, which may be humiliating or degrading in nature and be accompanied by mild corporal punishment. You are not a lawyer, but you understand, this covers them if something goes wrong and takes every step to prevent that.'
-		'"I agree."'
-		'"Well," the woman puts her hands together and looks at you. Who do you want to be? Top or bottom?'
-		'"I do not know," you shrug. "What does that mean?"'
-		'"Dominant or submissive?"'
-		act 'Submissive':
+		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r1_2.jpg"></center>'
+		'The woman''s eyes light up. She stands up behind the desk and orders you.'
+		'"Stand up!"'
+		'You jump, than understand, why you did. The imperious voice of this Lady holds you in awe.'
+		'"Undress!"'
+		'"But..."'
+		'"Undress, now! Or I''ll have security do it for you!" She has her hand on the table, her finger hovering over a small red button which you have to assume will summon the security guard.'
+		'You look to Vladimir you were just talking to, but he just stands there, expressionless. You undress.'
+		'"Sign!"'
+		'You sign the document. The man places the paper in a folder and leaves.'
+		'"Listen carefully..."'
+		act 'Listen':
 			*clr & cla
-			minut += 10
-			$BDSMrole = 's'
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/r<<BDSMmeet>>_2.jpg"></center>'
-			'The woman''s eyes light up. She stands up behind the desk and orders you.'
-			'"Stand up!"'
-			'You jump, than understand, why you did. The imperious voice of this Lady holds you in awe.'
-			'"No sitting lower in the presence of top. Understood?"'
-			'"Yes."'
-			'"Wrong! Try again!"'
-			'"Yes, Mistress."'
-			'The woman nods. "Undress!"'
-			'"But..."'
-			'"Undress, now! Or I''ll have security do it for you!" Mistress has her hand on the table, her finger hovering over a small red button which you have to assume will summon the security guard.'
-			'You look to the man you were just talking to, but he just stands there, expressionless. You undress.'
-			'"Sign!"'
-			'You sign the document. The man places the paper in a folder.'
-			'"Listen carefully..."'
-			'She explains to you, that the club costs 30,000 <b>₽</b> registration, a slave has free entry but must comply with any requests made of them. Failure to do so can result in your registration being revoked. If the slave is well behaved there may be additional tasks they can carry out to earn some more money.'
-			'Untrained slaves are not allowed in the Mansion, you will require training. You''ll have to report to me for that, I''m going to enjoy it.'
-			'"Come back when you are ready for training. Be clean, have an enema. You must own a maid outfit, so you will be wearing it. Everything clear?'
-			'"But... what if I don''t have a maid outfit?..." You whisper.'
-			'"Find a branch of G & M and buy one, and don''t forget to bring the 30 thousand <b>₽</b> registration fee. We are not a charitable organization. But the main thing – do not talk. We have important clients and don''t need advertising so do not tell anyone about us. Everything clear?"'
-			'"Clear... Mistress..."'
-			'As you are leaving you think, <<$OpenInnerThought>>"Where will I get the money for the down payment."<<$CloseInnerThought>>'
-			act 'Leave':gt 'bdsm_mansion', 'start'
-		end
-		gs 'willpower', 'misc', 'resist', 'hard'
-		if will_cost <= pcs_willpwr:
-			act 'Dominant (<<will_cost>> Willpower)':
-				*clr & cla
-				minut += 10
-				$BDSMrole = 'd'
-				gs 'willpower', 'misc', 'resist', 'hard'
-				gs 'willpower', 'pay', 'resist'
-				gs 'stat'
-				!'<center><img <<$set_imgh>> src="images/bdsm_club/<<$BDSMrole>><<BDSMmeet>>_2.jpg"></center>'
-				'The woman sighs disappointedly.'
-				'"Pity, we are short on subs."'
-				'"There is a registration fee of 30,000 <b>₽</b>, then there is a monthly fee of 15,000 <b>₽</b> with your first month free. You should wear nice clothing, don''t want to get mistaken for staff or a sub."'
-				'"That seems reasonable" You reply.'
-				'"If you find a submissive and come together, then they can earn you tips. Alternatively if you want to change things up then you could visit as a sub, for that there is no need to have your monthly fee paid but you must be dressed as a maid or in submissive fetish wear. You would need to do the sub training with me too." She licks her lips as she says this.'
-				act 'Thanks but not my thing':
-					'"Of course, I am simply presenting the option"'
-					gs 'bdsm_mansion', 'in2'
-				end
-				act 'We''ll see':
-					'She smiles and her hand goes to her thigh, clearly she finds being a Dom arousing.'
-					'"Any time you want sub training you just let me know."'
-					gs 'bdsm_mansion', 'in2'
-				end
+			'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/1_1.jpg"></center>'
+			'She explains that there are two ways to visit the club, either as a submissive where you will be subject to sexualization and humiliation, but its free. Or you can pay a monthly fee of 10,000<b>₽</b> and visit as a Dominant, in this case you will be able to sexualize and humiliate the submissives.'
+			'For each role there is something of a dress code in that subs must dress either in submissive fetishwear, as a maid or be naked. A dominant simply has to be dressed in expensive quality clothing.'
+			'There is also a required training aspect.'
+			if bdsmclub['annatraining'] = 1:
+				'You tell Mistress Electra that you have been training with Anna'
+				'"OMG! She told me to look out for you and I clean forgot. I''m so sorry, I''ll mark your training for both roles as complete."'
+				'Due to some contract law you can''t use the club today but you will be able to from tomorrow.'
+			else
+				'Before you can use the club you must either have paid your monthly subscription and I will run you through the rules for Dominants.'
+				'Or You can do my complimentary submissive training over 4 days of your choice (not Tuesdays or Thursdays) and then you can enjoy the free submissive experience.'
 			end
-		else
-			act 'Dominant (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			'"When you arrive at the club you must go to the dressing room and change into suitable clothing for your role, that role remains while in the club but for those wanting to experience all that we have to offer you can switch my changing into the appropriate clothing in the dressing room, but remember you cannot enter as a Dom unless your subscription is paid in advance."'
+			'"We are do here, you may leave."'
+			act 'Leave': gt 'bdsm_mansion', 'start'
 		end
 	end
 end
 
-if $ARGS[0] = 'in2':
-	'"Before you can enter the club there are rules and guidelines that even our Doms must follow, so you will have some orientation under the guidance of an experienced mistress." She points at herself, "The cost of this is covered by your registration fee. If you are satisfied, sign this document."'
-	'You sign the document. The man places the paper in a folder.'
-	'As you are leaving, you think, <<$OpenInnerThought>>"Where will I get the money for the registration fee and how can I persuade someone to come here as a sub."<<$CloseInnerThought>>'
-	act 'Leave':gt 'bdsm_mansion', 'start'
-end
-
-if $ARGS[0] = 'start':
+if $ARGS[0] = 'office':
 	*clr & cla
 	$menu_loc = 'bdsm_mansion'
-	$menu_arg = 'start'
+	$menu_arg = 'office'
 	menu_off = 0
 	gs 'stat'
 	if week = 2 or week = 4:
@@ -173,28 +150,25 @@ if $ARGS[0] = 'start':
 		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/1_1.jpg"></center>'
 		'You enter the club and Mistress Elektra is sitting at her desk overseeing admissions.'
 	end
-	if $BDSMrole = 's' or BDSMpayDay < daystart + 30:
-		act 'Enter the club':gt 'bdsm_hallway', 'foyer'
+	act 'Return to dressing room':gt 'bdsm_dressing'
+	if money < 10000 and karta  < 10000:
+		*nl
+		'You cannot afford the 10,000 rubes required to extend your club membership.'
 	else
-		act 'Leave':gt 'bdsm_mansion', 'start'
-		if money < 10000 and karta  > 10000:
-			'You cannot afford the 10,000 rubes required to extend your club membership.'
-		else
-			if money > 10000:
-				act 'Pay 10,000 <b>₽</b> to extend your membership and enter the club':
-					BDSMpayDay = daystart
-					BDSMday = daystart
-					money -= 10000
-					gt 'bdsm_hallway', 'foyer'
-				end
+		if money > 10000:
+			act 'Pay 10,000 <b>₽</b> to extend your membership and return to the dressing room':
+				bdsmclub['payday'] = daystart
+				bdsmclub['training_daystart'] = daystart
+				money -= 10000
+				gt 'bdsm_dressing'
 			end
-			if karta > 10000:
-				act 'Pay 10,000 <b>₽</b> to extend your membership and enter the club':
-					BDSMpayDay = daystart
-					BDSMday = daystart
-					money -= 10000
-					gt 'bdsm_hallway', 'foyer'
-				end
+		end
+		if karta > 10000:
+			act 'Pay 10,000 <b>₽</b> to extend your membership and return to the dressing room':
+				bdsmclub['payday'] = daystart
+				bdsmclub['training_daystart'] = daystart
+				money -= 10000
+				gt 'bdsm_dressing'
 			end
 		end
 	end
@@ -214,12 +188,10 @@ if $ARGS[0] = 'reception':
 		'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/1_1.jpg"></center>'
 		'You go to the reception, Mistress Elektra is sitting at her desk looking a little bored.'
 	end
-	act 'Go to west wing hall': gt 'bdsm_hallway', 'west'
+	act 'Go to the Foyer': gt 'bdsm_hallway', 'foyer'
 	act 'Go to the garage': gt 'bdsm_garden', 'garage'
 end
 
-if $ARGS[0] = 'office':
-end
 
 --- bdsm_mansion ---------------------------------
 

+ 1 - 0
locations/bedr2x.qsrc

@@ -37,6 +37,7 @@ if husbandrinkday = daystart:
 	gs 'music_actions', 'no_music'
 end
 act 'Go to the corridor': gt 'korr2x'
+gs 'wardrobe', 'default_clothing_options'
 
 if husband > 0 and husbandrink ! 10 and husbandrinkday ! daystart:
 	if hour > 22 or hour < 7:

+ 57 - 36
locations/bedrPar.qsrc

@@ -1,26 +1,36 @@
 # bedrPar
+!! Date refactored: 31st March, 2024
+!! Author: Myles
+!!
+!! Version: .01 - initial refactoring
+!! 
+!! Desc: {MC} and sisters family bedroom links to family flat corridor
 
-*clr & cla
-fromoutside = iif($loc = 'bedrPar',0,1)
-menu_off = 0
-minut += 1
-!!day check so mom doesn''t think you have been out all night if you get up very early 
-motherworry[1] = daystart
-gs 'shortgs', 'setloc', 'bedrPar', $ARGS[0]
-$location_type = 'private'
-$locclass = 'bedr'
-gs 'themes', 'indoors'
-gs 'stat'
-gs 'family_schedule'
-!! ballet career
-gs 'core_library', 'init'
 
-!! This is runs only once, just to make sure that Sveta can sing from the start, does not have to wait a whole day for `cikl` to run.
-if ml_performance['max_perform_minutes'] = 0: ml_performance['max_perform_minutes'] = pcs_instrmusic + pcs_vokal
+!! Set up default image paths for npc and location:
+!! Start location initialisation
+!! Set location header - img path is set in init
+!! Paths are not set due to content structure
 
-if $ARGS[0] = '' or $ARGS[0] = 'start':
+
+!! Begin location content
+if $ARGS[0] = '' or $ARGS[0] = 'start':	
+	!! Call in location default actions
+	gs 'home_family_init', 'init'
+	!! Set location vars:
+	fromoutside = iif($loc = 'bedrPar',0,1)
+	
+	!!day check so mom doesn''t think you have been out all night if you get up very early 
+	motherworry[1] = daystart
+	!! This is runs only once, just to make sure that Sveta can sing from the start, does not have to wait a whole day for `cikl` to run.
+	if ml_performance['max_perform_minutes'] = 0: ml_performance['max_perform_minutes'] = pcs_instrmusic + pcs_vokal
+
+	!! Set up game location data
+	$locclass = 'bedr'
+	gs 'shortgs', 'setloc', 'bedrpar', $ARGS[0]
+	!! End location initialisation
 	if locat['Mother'] = 26 and fromoutside and func('homes_properties', 'can_live_here'):
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost1.jpg"></center>'
+		'<center><img <<$set_imgh>> src="<<$mother_img_path>>prost1.jpg"></center>'
 		if mc_inventory['equipped_condoms'] > 0 and rand(1,3) = 1 and mom['condoms'] = 0:
 			gt 'mother', 'condom_find'
 		elseif mc_inventory['dildo_small'] + mc_inventory['dildo_normal'] + mc_inventory['dildo_big'] + mc_inventory['dildo_large'] + mc_inventory['dildo_huge'] + mc_inventory['dildo_enormous'] + mc_inventory['dildo_gigantic'] > 0 and motherQW['seen_dildos'] ! 1 and rand(1,3) = 1:
@@ -80,15 +90,19 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 		end
 		gs 'stat'
 
-		act 'Leave': gt 'korrPar'
+		act 'Leave': minut += 1 & gt 'korrPar'
 	else
 		if func('homes_properties', 'can_live_here'):
-			'<center><h1><font color="maroon">Your bedroom</font></h1></center>'
-		else
-			'<center><h1><font color="maroon">Your old bedroom</font></h1></center>'
+			$setloc['StageTitle'] = 'Your bedroom'
+		else		
+			$setloc['StageTitle'] = 'Your old bedroom'			
 		end
+		!! Display header and banner image
 		! WD: Correct Image path ~ "images/qwest/alter/<<$loc>>.jpg"
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/bedrpar.jpg"></center>'
+		$setloc['StageImage'] = '<<$default_img_path>>/bedrpar.jpg'
+		gs 'core_library', 'stage_title'
+
+		!! Location default description:
 		*nl
 		if func('homes_properties', 'is_current_home'):
 			'This is the small bedroom you share with your sister, Anya. On one side of the room is a <a href="exec:gt ''wardrobe'', ''start''">wardrobe</a> where you can choose outfits and organise your clothing.'
@@ -98,6 +112,8 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 			'This small bedroom you used to share with your sister, Anya. The furniture is old and basic.'
 		end
 		*nl
+		*nl
+		!! End default Description
 		if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your bed.'
 
 		if ParrotQW['Owned2'] = 1 and func('homes_properties', 'is_current_home'):
@@ -182,6 +198,8 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 				elseif locat['Anya'] = 26 or (locat['Anya'] = 1 and locat['Anya_party_day'] >= daystart - 1):
 					if sisboypartyQW = 1: sisboypartyQW = 2
 					if sisboyparty = -1: sisboyparty = 1
+					!!'A drunken Anya is sound asleep in her bed.'
+					!! In the future should point to 'sistersleep', 'drunk_after_party' when that content is added again
 					'A drunken <a href="exec:gt ''sistersleep'', ''drunk_after_party''">Anya</a> is sound asleep in her bed.'
 				end
 			end
@@ -220,7 +238,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 
 			if locat['Anya_inroom'] = 0: dynamic $palelady
 			
-			gs 'wardrobe', 'default_sport_options'
+			gs 'wardrobe', 'default_clothing_options'
 			
 			gs 'exercise', 'start'
 
@@ -309,13 +327,16 @@ end
 
 if $ARGS[0] = 'intro':
 	CLOSE ALL
+	$setloc['StageTitle'] = 'Your Bedroom'
+	$setloc['StageImage'] = 'characters/pavlovsk/resident/mom/prost4.jpg'
+	gs 'shortgs', 'setloc', 'bedrpar', 'start'
 	grandmaQW['last_month_paid'] = month
 	menu_off = 1
 	hour = 6
 	gs 'stat'
 	music_loop = 0
-	'<center><h1><font color="maroon">Your Bedroom</font></h1></center>'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost4.jpg"></center>'
+	!! Display the header text and banner image
+	gs 'core_library', 'stage_title'
 	'You sudenly hear a familiar voice yelling out. "<<$pcs_nickname>>, time to get up! You can''t spend the whole day laying around!"'
 	wait 1000
 	$temp_nickname = input('<center>What name do you address your mother by?<br>Mother (default), Mum, Mom, Mama, etc.</center>')
@@ -325,8 +346,8 @@ if $ARGS[0] = 'intro':
 		cla & *clr
 		minut += 2
 		gs 'stat'
-		'<center><h1><font color="maroon">Your Bedroom</font></h1></center>'
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost5.jpg"></center>'
+		$setloc['StageImage'] = 'characters/pavlovsk/resident/mom/prost5.jpg'
+		gs 'core_library', 'stage_title'
 		'You tiredly open your eyes and see your mother standing over you. "Fifteen more minutes..." you mumble.'
 		'Your mother lets out a loud sigh. "No, up now!" she says as she yanks the covers off.'
 		'"<<$npc_nickname[''A29'']>>!" you exclaim as you feel a slightly cold breeze hit your body.'
@@ -335,24 +356,24 @@ if $ARGS[0] = 'intro':
 			cla & *clr
 			minut += 2
 			gs 'stat'
-			'<center><h1><font color="maroon">Your Bedroom</font></h1></center>'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost4.jpg"></center>'
+			$setloc['StageImage'] = 'characters/pavlovsk/resident/mom/prost4.jpg'
+			gs 'core_library', 'stage_title'
 			'As soon as you get off your now coverless bed, your mother is quick to resume her nagging, repeating what you already heard from her a few moments ago. "Summer is no excuse to laze around all day. You can''t sleep in anymore, not even for another fifteen minutes." She''s not even looking at you while she talks, but luckily for you that means she misses you rolling your eyes.'
 			'"What are you going to do when school starts, or when you get a job? You better get into the habit of setting your alarm so you can wake up bright and early."'
 			act 'Continue':
 				cla & *clr
 				minut += 2
 				gs 'stat'
-				'<center><h1><font color="maroon">Your Bedroom</font></h1></center>'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost5.jpg"></center>'
+				$setloc['StageImage'] = 'characters/pavlovsk/resident/mom/prost5.jpg'
+				gs 'core_library', 'stage_title'
 				'You let out an exasperated sigh. "Yeah yeah I know, you told me that already. So how early are we talking?"'
 				'Your mother shoots you a sharp look and you know to fix your attitude or else. "Well, that depends on what you plan to do in the morning. There''s breakfast, showering and brushing your teeth, doing your hair and then makeup and shaving if you really need to. If I remember right... Anya used to wake up at 06:00 for school."'
 				act 'Continue':
 					cla & *clr
 					minut += 2
 					gs 'stat'
-					'<center><h1><font color="maroon">Your Bedroom</font></h1></center>'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost4.jpg"></center>'
+					$setloc['StageImage'] = 'characters/pavlovsk/resident/mom/prost4.jpg'
+					gs 'core_library', 'stage_title'
 					'"You want me to wake up that early?!" you huff. "Can''t I wake up at like... 07:00?"'
 					'Your mother shrugs. "You could, but then you might have to cut corners or even end up running late to school, and I won''t be having any of that. Your teachers won''t either," she warns before making her way towards the kitchen.'
 					if stat['think_virgin'] = 1: '"Oh, don''t forget; you need to head down to the clinic and see the gynecologist for a check up. Not just once, but every month!" she adds quickly.'
@@ -361,8 +382,8 @@ if $ARGS[0] = 'intro':
 						cla & *clr
 						minut += 2
 						gs 'stat'
-						'<center><h1><font color="maroon">Your Bedroom</font></h1></center>'
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost5.jpg"></center>'
+						$setloc['StageImage'] = 'characters/pavlovsk/resident/mom/prost5.jpg'
+						gs 'core_library', 'stage_title'
 						'Before you can finish, she cuts you off. "I''m not going to have you running around town like so many of those other girls I see! Opening their legs for any boy that comes around..." She shakes her head in disgust. "I want a referral every month and it better tell me you''re still a virgin or else, understand?" she says before she storms out of the room without giving you a chance to respond.'
 						act 'I understand...':gt 'alarmclock', 'start'
 					end

+ 41 - 27
locations/bedrPar2.qsrc

@@ -1,23 +1,37 @@
 # bedrPar2
-!2021/04/26
-if $ARGS[0] = '':
-	CLOSE ALL
-	*clr & cla
-	$loc = 'bedrPar2'
-	$loc_arg = ''
-	$locclass = 'bedr'
-	$location_type = 'private'
-	$menu_loc = 'bedrPar2'
-	$menu_arg = ''
-	menu_off = 0
-	minut += 1
-	gs 'stat'
-	gs 'themes', 'indoors'
-	gs 'family_schedule'
-	'<center><h1><font color="maroon">Master bedroom</font></h1></center>'
-	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/bedrpar2.jpg"></center>'
+!! Date refactored: 31st March, 2024
+!! Author: Myles
+!!
+!! Version: .01 - initial refactoring
+!! 
+!! Desc: Paernts bedroom links to family flat corridor
+
+
+
+!! Set location header - img path is set in init
+$setloc['StageTitle'] = 'Parents Bedroom'
+$setloc['StageImage'] = '<<$default_img_path>>/bedrpar2.jpg'
+
+!! Set location vars:
+
+
+!! Set up game location data
+$locclass = 'bedr'
+gs 'shortgs', 'setloc', 'bedrPar2', 'start'
+!! End location initialisation
+!! Call in location default actions
+gs 'home_family_init', 'init'
+
+!! Begin location content
+
+if $ARGS[0] = '' or $ARGS[0] = 'start':
+	!! Display header and banner image
+	gs 'core_library', 'stage_title'
+	!! Location default description:
 	*nl
 	'The room in which your parents sleep. Their large bed, <a href="exec: gt ''bedrPar2'',''parents_wardrobe''">wardrobe</a> and other closets take up most of the space.'
+	*nl
+	!! End default Description
 	if locat['Fam_inGad'] = 0:
 		if locat['Mother'] = 1 and locat['Stepdad'] = 1:
 			'Your mother and stepfather are sleeping on the bed.'
@@ -28,7 +42,7 @@ if $ARGS[0] = '':
 		end
 	end
 
-	act 'Return to the hallway':gt 'korrPar'
+	act 'Return to the hallway':minut += 1 & gt 'korrPar'
 
 	if locat['Fam_inGad'] = 1 or (locat['Fam_inGad'] = 0 and hour > 6 and hour < 21):
 		if kamasutra_day ! daystart:
@@ -60,7 +74,7 @@ if $ARGS[0] = 'kamasutra':
 	*clr & cla
 	menu_off = 1
 	minut += 1
-	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/book.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/<<$default_img_path>>/book.jpg"></center>'
 	'The cover says "Kama Sutra"'
 	act 'Leave': gt $loc, $loc_arg
 	act 'Read': kamasutra_page = 0 & kamasutra_day = daystart & gt 'bedrPar2', 'read_book'
@@ -81,7 +95,7 @@ end
 ! parent''s wardrobe
 if $ARGS[0] = 'parents_wardrobe':
 	*clr & cla
-	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/wardrobe.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/<<$default_img_path>>/wardrobe.jpg"></center>'
 	'An old looking wardrobe, probably from the Soviet times.'
 	act 'Leave ': gt $loc, $loc_arg
 	act 'Rummage': gt 'bedrPar2', 'wardrobe_search'
@@ -95,14 +109,14 @@ if $ARGS[0] = 'wardrobe_search':
 		exit
 	end
 	if rand(1,100) > 75:
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/wardrobesearch'+rand(1,4)+'.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/<<$default_img_path>>/wardrobesearch'+rand(1,4)+'.jpg"></center>'
 		$failwords[0]= 'You don''t find anything interesting.'
 		$failwords[1]= 'You find some clothes and underwear.'
 		$failwords[2]= 'You dig through your mother''s closet, but find nothing interesting except underwear.'
 		*pl $failwords[rand(0,2)]
 		killvar '$failwords'
 	else
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/wardrobetoy.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/<<$default_img_path>>/wardrobetoy.jpg"></center>'
 		$findmomtoy[0]= 'Digging through the closet, you find a <a href="exec: gt ''bedrPar2'',''momtoy_play''">dildo</a>.'
 		$findmomtoy[1]= 'Rummaging through your mother''s lingerie, you find a small <a href="exec: gt ''bedrPar2'',''momtoy_play''">dildo</a>.'
 		$findmomtoy[2]= 'You find your mother''s <a href="exec: gt ''bedrPar2'',''momtoy_play''">toy</a>.'
@@ -131,7 +145,7 @@ if $ARGS[0] = 'peek':
 	parentsexday = daystart
 	minut += 2
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/sex/momvlad1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="<<$mother_img_path>>sex/momvlad1.jpg"></center>'
 	'You crack the door open just a little and you see your mother and Vladimir near their bed. "Stop! The kids are here," your mother says as Vlad starts running his hands over her body.'
 	'He doesn''t seem to care about what she says as he doesn''t stop. "Come on, they won''t hear us and you know you want it."'
 	act 'Leave': gt 'korrPar'
@@ -139,7 +153,7 @@ if $ARGS[0] = 'peek':
 	act 'Keep peeking':
 		cla & *clr
 		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/sex/momvlad2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="<<$mother_img_path>>sex/momvlad2.jpg"></center>'
 		'You mother seems to be loving the attention and doesn''t put up much of a fight as he starts to undress her. Once she''s mostly naked, he pushes her down on the bed so she''s sitting on it in front of him, her head about crotch height to him. Knowing what he wants, she opens the fly on his pants and pulls out his cock, stroking it a few times in her hand until he gets hard. She then takes his dick into her mouth and starts sucking it. He moans softly as she does. "Fuck, you''re the best cocksucker ever, Natasha."'
 		gs 'arousal', 'voyeur_sex', 3
 		gs 'stat'
@@ -149,7 +163,7 @@ if $ARGS[0] = 'peek':
 		act 'Keep peeking':
 			cla & *clr
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/sex/momvlad3.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$mother_img_path>>sex/momvlad3.jpg"></center>'
 			'After spending several minutes sucking Vlad''s cock, she helps him strip while continuing to suck his dick. Once he''s naked, he lies down on the bed and she straddles him and quickly starts riding his dick reverse cowgirl style.'
 			'Both of them start moaning as they fuck. "Oh god Vlad, your dick feels so good in my pussy! It''s so big!"'
 			gs 'arousal', 'voyeur_sex', 5
@@ -160,7 +174,7 @@ if $ARGS[0] = 'peek':
 			act 'Keep peeking':
 				cla & *clr
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/sex/momvlad4.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$mother_img_path>>sex/momvlad4.jpg"></center>'
 				'Vlad suddenly grabs her and throws her on her side on the bed. He turns on his side, lifting up her leg with one hand while using the other to guide his cock. He feels around until he places the head of his dick against her anus, then pushes it in, using only her pussy juices for lubrication. It slides in surprisingly easy and you can only guess that this is far from the first time your mother has had a dick in her ass. They both moan in pleasure and she rubs her clit as Vlad fucks her ass.'
 				gs 'arousal', 'voyeur_sex', 5
 				gs 'stat'
@@ -169,7 +183,7 @@ if $ARGS[0] = 'peek':
 				act 'Keep peeking':
 					cla & *clr
 					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/sex/momvlad5.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$mother_img_path>>sex/momvlad5.jpg"></center>'
 					'They keep going for several more minutes until Vlad starts to pant and buries his dick balls deep in your mother''s ass and lets out a loud moan as he twitches. After a few seconds, he pulls out of her and rolls off the bed as she gets on her back and spreads her ass, giving both you and Vlad a good view of her asshole as his cum starts leaking out of it.'
 					'"You''re such a nasty bitch, Natasha!" he laughs.'
 					'She smiles at him. "That''s why you love me," she replies. They start getting cleaned up and you decide it''s time to go before you get caught.'

+ 2 - 2
locations/beg.qsrc

@@ -21,7 +21,7 @@ if $ARGS[0] = 'start':
 	end
 end
 
-if begsec > 0:
+if runnerQW['joined_team'] > 0:
 	act 'Go to your coach':
 		cla
 		'Igor Yurisovich is your coach, a man with a rough voice who never seems to gets tired of motivational one-liners. "The only one who can keep you from winning is you" is his current favorite.'
@@ -31,7 +31,7 @@ if begsec > 0:
 			'"You have to train harder, girl. With a time like this, you would come in dead last. Hell, you wouldn''t even qualify for the main race! If you want to be better, you have to watch your diet, maybe go to the banya after training, but most importantly: Practice, practice, practice!"'
 
 			act 'Leave':gt 'beg', 'start'
-		elseif pcs_run >= 50 and razradbegEG = 0:
+		elseif pcs_run >= 50 and runnerQW['champ_gold'] = 0:
 			'Despite looking occupied with the other trainees, Igor Yurisovich not only watched your practice runs but timed them as well. And while you''re pretty sure he is physically incapable of looking excited or even content, you think that he looks a little less grim than usual as he looks at you.'
 			'"You''re doing fine, girl. Better than fine; you could have a great future in athletics if you play your cards right. If you keep working hard, you might even have it in you to become European champion, perhaps more. But remember, girl, the key to victory is your spirit: If you have the right mindset, you can do anything."'
 			

+ 101 - 101
locations/beg1.qsrc

@@ -5,45 +5,45 @@ if $ARGS[0] = 'start':
 	menu_off = 1
 	gs 'stat'
 	minut += 30
-	kolsorev += 1
-	razdtumbler = 0
-	begmon = month
-	begminus = 0
+	runnerQW['races_ran'] += 1
+	!razdtumbler = 0	& !these do not appear anywhere else
+	!begmon = month		& !these do not appear anywhere else
+	runnerQW['bmi_penalty'] = 0
 
-	if razradbeg = 0:
+	if runnerQW['prof_stage'] = 0:
 		'You''re registered for an amateur''s race. The results will determine if you join the club''s junior squad and entry in the semi-professional runner circuit.'
 
 		act 'Go to the track field.':gt 'beg1', 'br'
-	elseif razradbeg = 1:
+	elseif runnerQW['prof_stage'] = 1:
 		'As a member of your club''s junior squad, you''re registered for a semi-professional''s race. The results will determine if you join the veteran squad.'
 
 		act 'Go to the track field.':gt 'beg1', 'kms'
-	elseif razradbeg = 2:
+	elseif runnerQW['prof_stage'] = 2:
 		'As a member of your club''s veteran squad, you''re registered for a semi-professional''s race. The results will determine your entry in the professional runner circuit.'
 
 		act 'Go to the track field.':gt 'beg1', 'ross'
-	elseif razradbeg >= 3 and razradbeg < 14:
+	elseif runnerQW['prof_stage'] >= 3 and runnerQW['prof_stage'] < 14:
 		'As one of your club''s best athletes, you can take part in a series of qualifying races in the professional circuit. Winning 9 out of 11 would qualify you for the St. Petersburg Track Championship, that is celebrated seasonally.'
 		nl
-		'Qualifying Races Attended: <<razradbeg - 3>>'
-		'Top 3 finishes in Qualifying Races: <<razradbegK>>'
+		'Qualifying Races Attended: <<runnerQW[''prof_stage''] - 3>>'
+		'Top 3 finishes in Qualifying Races: <<runnerQW[''qualifiers'']>>'
 
 		act 'Go to the stadium':gt 'beg1', 'kval'
-	elseif razradbeg = 14 and razradbegK < 9:
+	elseif runnerQW['prof_stage'] = 14 and runnerQW['qualifiers'] < 9:
 		cla
-		razradbegK = 0
-		razradbeg = 3
+		runnerQW['qualifiers'] = 0
+		runnerQW['prof_stage'] = 3
 		'You were unable to qualify for the St. Petersburg Championship.'
 
 		! WD: Argument is 'dressing room'
 		act 'Go back to the dressing room':gt 'fit', 'dressing_room'
-	elseif razradbeg = 14 and razradbegK >= 9:
+	elseif runnerQW['prof_stage'] = 14 and runnerQW['qualifiers'] >= 9:
 		cla
-		razradbegK = 0
-		razradbeg = 3
+		runnerQW['qualifiers'] = 0
+		runnerQW['prof_stage'] = 3
 		'You qualified for the <<year>> St. Petersburg Track Championship, taking place this season in the Petrovsky Stadium.'
 
-		act 'Go to the stadium':gt 'beg1', 'evro'
+		act 'Go to the stadium': gt 'beg1', 'evro'
 	end
 end
 
@@ -51,13 +51,13 @@ if $ARGS[0] = 'br':
 	cla
 	gs 'exercise', 'tier2', 30, 'run'
 
-	begminus = 0
+	runnerQW['bmi_penalty'] = 0
 	if pcs_bmi > 25:
-		begminus = ((pcs_bmi - 25)*4)
+		runnerQW['bmi_penalty'] = ((pcs_bmi - 25)*4)
 	elseif pcs_bmi < 20:
-		begminus = ((20 - pcs_bmi)*(20-pcs_bmi))
+		runnerQW['bmi_penalty'] = ((20 - pcs_bmi)*(20-pcs_bmi))
 	end
-	begresult = pcs_run - begminus
+	runnerQW['result'] = pcs_run - runnerQW['bmi_penalty']
 
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/gym/race/ready.jpg"></center>'
 	'Your discipline: The Women''s 400 Meter Dash.'
@@ -73,35 +73,35 @@ if $ARGS[0] = 'br':
 	'Go! - You''re away!'
 	wait 725
 
-	if begresult < 5:
+	if runnerQW['result'] < 5:
 		grupvalue[2] -= 3
 		'Sadly, you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made a bit of a fool of yourself.'
-	elseif begresult < 10:
+	elseif runnerQW['result'] < 10:
 		grupvalue[2] -= 2
 		'You performed well for an amateur but still only came in last (8th place).'
-	elseif begresult < 15:
+	elseif runnerQW['result'] < 15:
 		grupvalue[2] -= 1
 		'You fought hard, but managed to only take the penultimate place (7th place).'
-	elseif begresult < 20:
+	elseif runnerQW['result'] < 20:
 		'You fought hard, but only managed to take 6th place.'
-	elseif begresult < 35:
+	elseif runnerQW['result'] < 35:
 		grupvalue[2] += 1
 		'You fought hard, but only managed to take 5th place.'
-	elseif begresult < 40:
+	elseif runnerQW['result'] < 40:
 		grupvalue[2] += 2
 		'You fought hard, but only managed to take 4th place.'
-	elseif begresult < 45:
+	elseif runnerQW['result'] < 45:
 		grupvalue[2] += 3
 		gs 'fame', 'city', 'running', 14
-		bronzebeg += 1 & money += 150 & 'You fought hard and managed to take 3rd place, earning a prize: You receive a bronze badge and a prize of 150 <b>₽</b>'
-	elseif begresult < 50:
+		runnerQW['bronze_medals'] += 1 & money += 150 & 'You fought hard and managed to take 3rd place, earning a prize: You receive a bronze badge and a prize of 150 <b>₽</b>'
+	elseif runnerQW['result'] < 50:
 		grupvalue[2] += 4
 		gs 'fame', 'city', 'running', rand(14,15)
-		silverbeg += 1 & money += 300 & 'You fought hard and managed to take 2nd place, earning a prize: You receive a silver badge and a prize of 300 <b>₽</b>'
+		runnerQW['silver_medals'] += 1 & money += 300 & 'You fought hard and managed to take 2nd place, earning a prize: You receive a silver badge and a prize of 300 <b>₽</b>'
 	else
 		grupvalue[2] += 5
 		gs 'fame', 'city', 'running', rand(14,16)
-		razradbeg = 1 & goldbeg += 1 & money += 600 & 'You fought hard and managed to take 1st place! You receive a gold badge, a prize of 600 <b>₽</b> and are now part of your club''s junior squad, performing at the semi-professional level.'
+		runnerQW['prof_stage'] = 1 & runnerQW['gold_medals'] += 1 & money += 600 & 'You fought hard and managed to take 1st place! You receive a gold badge, a prize of 600 <b>₽</b> and are now part of your club''s junior squad, performing at the semi-professional level.'
 	end
 
 	act 'Leave':gt 'fit', 'dressing_room'
@@ -111,13 +111,13 @@ if $ARGS[0] = 'kms':
 	cla
 	gs 'exercise', 'tier2', 30, 'run'
 
-	begminus = 0
+	runnerQW['bmi_penalty'] = 0
 	if pcs_bmi > 25:
-		begminus = ((pcs_bmi - 25)*4)
+		runnerQW['bmi_penalty'] = ((pcs_bmi - 25)*4)
 	elseif pcs_bmi < 20:
-		begminus = ((20 - pcs_bmi)*(20-pcs_bmi))
+		runnerQW['bmi_penalty'] = ((20 - pcs_bmi)*(20-pcs_bmi))
 	end
-	begresult = pcs_run - begminus
+	runnerQW['result'] = pcs_run - runnerQW['bmi_penalty']
 
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/gym/race/ready.jpg"></center>'
 	'Your discipline: The Women''s 400 Meter Dash.'
@@ -133,38 +133,38 @@ if $ARGS[0] = 'kms':
 	'Go! - You''re away!'
 	wait 725
 
-	if begresult < 20:
+	if runnerQW['result'] < 20:
 		grupvalue[2] -= 2
-		razradbeg = 0 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decides to return you to the amateur rank.'
-	elseif begresult < 25:
+		runnerQW['prof_stage'] = 0 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decides to return you to the amateur rank.'
+	elseif runnerQW['result'] < 25:
 		grupvalue[2] -= 1
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You didn''t manage to reach any classification.'
-	elseif begresult < 30:
+	elseif runnerQW['result'] < 30:
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
-	elseif begresult < 35:
+	elseif runnerQW['result'] < 35:
 		'You fought hard, but managed to only take the penultimate place (7th place).'
-	elseif begresult < 40:
+	elseif runnerQW['result'] < 40:
 		grupvalue[2] += 1
 		'You fought hard, but only managed to take 6th place.'
-	elseif begresult < 45:
+	elseif runnerQW['result'] < 45:
 		grupvalue[2] += 2
 		'You fought hard, but only managed to take 5th place.'
-	elseif begresult < 50:
+	elseif runnerQW['result'] < 50:
 		grupvalue[2] += 3
 		gs 'fame', 'city', 'running', 14
 		'You fought hard, but only managed to take 4th place.'
-	elseif begresult < 55:
+	elseif runnerQW['result'] < 55:
 		grupvalue[2] += 4
 		gs 'fame', 'city', 'running', rand(14,15)
-		bronzebeg += 1 & money += 300 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 300 <b>₽</b>'
-	elseif begresult < 60:
+		runnerQW['bronze_medals'] += 1 & money += 300 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 300 <b>₽</b>'
+	elseif runnerQW['result'] < 60:
 		grupvalue[2] += 5
 		gs 'fame', 'city', 'running', rand(14,16)
-		silverbeg += 1 & money += 600 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 600 <b>₽</b>'
+		runnerQW['silver_medals'] += 1 & money += 600 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 600 <b>₽</b>'
 	else
 		grupvalue[2] += 6
 		gs 'fame', 'city', 'running', rand(14,17)
-		razradbeg = 3 & goldbeg += 1 & money += 1000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 1,000 <b>₽</b> and are now part of your club''s veteran squad, performing at the semi-professional level.'
+		runnerQW['prof_stage'] = 3 & runnerQW['gold_medals'] += 1 & money += 1000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 1,000 <b>₽</b> and are now part of your club''s veteran squad, performing at the semi-professional level.'
 	end
 	act 'Leave':gt 'fit', 'dressing_room'
 end
@@ -173,13 +173,13 @@ if $ARGS[0] = 'ross':
 	cla
 	gs 'exercise', 'tier2', 30, 'run'
 
-	begminus = 0
+	runnerQW['bmi_penalty'] = 0
 	if pcs_bmi > 25:
-		begminus = ((pcs_bmi - 25)*4)
+		runnerQW['bmi_penalty'] = ((pcs_bmi - 25)*4)
 	elseif pcs_bmi < 20:
-		begminus = ((20 - pcs_bmi)*(20-pcs_bmi))
+		runnerQW['bmi_penalty'] = ((20 - pcs_bmi)*(20-pcs_bmi))
 	end
-	begresult = pcs_run - begminus
+	runnerQW['result'] = pcs_run - runnerQW['bmi_penalty']
 
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/gym/race/ready.jpg"></center>'
 	'Your discipline: The Women''s 400 Meter Dash.'
@@ -195,38 +195,38 @@ if $ARGS[0] = 'ross':
 	'Go! - You''re away!'
 	wait 725
 
-	if begresult < 30:
-		razradbeg = 1 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decides to return you to the junior rank.'
-	elseif begresult < 35:
+	if runnerQW['result'] < 30:
+		runnerQW['prof_stage'] = 1 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decides to return you to the junior rank.'
+	elseif runnerQW['result'] < 35:
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You didn''t manage to reach any classification.'
-	elseif begresult < 40:
+	elseif runnerQW['result'] < 40:
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
-	elseif begresult < 45:
+	elseif runnerQW['result'] < 45:
 		grupvalue[2] += 1
 		'You fought hard, but managed to only take the penultimate place (7th place).'
-	elseif begresult < 50:
+	elseif runnerQW['result'] < 50:
 		grupvalue[2] += 2
 		'You fought hard, but only managed to take 6th place.'
-	elseif begresult < 55:
+	elseif runnerQW['result'] < 55:
 		grupvalue[2] += 3
 		gs 'fame', 'city', 'running', 14
 		'You fought hard, but only managed to take 5th place.'
-	elseif begresult < 60:
+	elseif runnerQW['result'] < 60:
 		grupvalue[2] += 4
 		gs 'fame', 'city', 'running', rand(14,15)
 		'You fought hard, but only managed to take 4th place.'
-	elseif begresult < 65:
+	elseif runnerQW['result'] < 65:
 		grupvalue[2] += 5
 		gs 'fame', 'city', 'running', rand(14,16)
-		bronzebeg += 1 & money += 600 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 600 <b>₽</b>'
-	elseif begresult < 70:
+		runnerQW['bronze_medals'] += 1 & money += 600 & 'You fought hard and managed to take 3rd place, earning a prize: You get a bronze medal and a prize of 600 <b>₽</b>'
+	elseif runnerQW['result'] < 70:
 		grupvalue[2] += 6
 		gs 'fame', 'city', 'running', rand(14,17)
-		silverbeg += 1 & money += 1000 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 1,000 <b>₽</b>'
+		runnerQW['silver_medals'] += 1 & money += 1000 & 'You fought hard and managed to take 2nd place, earning a prize: You get a silver medal and a prize of 1,000 <b>₽</b>'
 	else
 		grupvalue[2] += 7
 		gs 'fame', 'city', 'running', rand(14,18)
-		razradbeg = 3 & goldbeg += 1 & money += 1500 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 1,500 <b>₽</b> and gain entry to the professional circuit.'
+		runnerQW['prof_stage'] = 3 & runnerQW['gold_medals'] += 1 & money += 1500 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 1,500 <b>₽</b> and gain entry to the professional circuit.'
 	end
 	act 'Leave':gt 'fit', 'dressing_room'
 end
@@ -234,16 +234,16 @@ end
 if $ARGS[0] = 'kval':
 	cla
 	gs 'exercise', 'tier2', 30, 'run'
-	razradbeg += 1
+	runnerQW['prof_stage'] += 1
 	minut += 60
 
-	begminus = 0
+	runnerQW['bmi_penalty'] = 0
 	if pcs_bmi > 25:
-		begminus = ((pcs_bmi - 25)*4)
+		runnerQW['bmi_penalty'] = ((pcs_bmi - 25)*4)
 	elseif pcs_bmi < 20:
-		begminus = ((20 - pcs_bmi)*(20-pcs_bmi))
+		runnerQW['bmi_penalty'] = ((20 - pcs_bmi)*(20-pcs_bmi))
 	end
-	begresult = pcs_run - begminus
+	runnerQW['result'] = pcs_run - runnerQW['bmi_penalty']
 
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/gym/race/ready.jpg"></center>'
 	'Your discipline: The Women''s 400 Meter Dash.'
@@ -260,40 +260,40 @@ if $ARGS[0] = 'kval':
 	'Go! - You''re away!'
 	wait 725
 
-	if begresult < 40:
+	if runnerQW['result'] < 40:
 		grupvalue[2] -= 1
-		razradbeg = 2 & razradbegK = 0 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decides to return you to the semi-professional rank.'
-	elseif begresult < 45:
+		runnerQW['prof_stage'] = 2 & runnerQW['qualifiers'] = 0 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decides to return you to the semi-professional rank.'
+	elseif runnerQW['result'] < 45:
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You didn''t manage to reach any classification.'
-	elseif begresult < 50:
+	elseif runnerQW['result'] < 50:
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
-	elseif begresult < 55:
+	elseif runnerQW['result'] < 55:
 		grupvalue[2] += 2
 		'You fought hard, but managed to only take the penultimate place (7th place).'
-	elseif begresult < 60:
+	elseif runnerQW['result'] < 60:
 		grupvalue[2] += 3
 		gs 'fame', 'city', 'running', 14
 		'You fought hard, but only managed to take 6th place.'
-	elseif begresult < 65:
+	elseif runnerQW['result'] < 65:
 		grupvalue[2] += 4
 		gs 'fame', 'city', 'running', rand(14,15)
 		'You fought hard, but only managed to take 5th place.'
-	elseif begresult < 70:
+	elseif runnerQW['result'] < 70:
 		grupvalue[2] += 5
 		gs 'fame', 'city', 'running', rand(14,16)
 		'You fought hard, but only managed to take 4th place.'
-	elseif begresult < 75:
+	elseif runnerQW['result'] < 75:
 		grupvalue[2] += 6
 		gs 'fame', 'city', 'running', rand(14,17)
-		razradbegK += 1 & bronzebeg += 1 & money += 1000 & 'You fought hard and managed to take 3rd place, earning a prize. You get a bronze badge and a prize of 1,000 <b>₽</b>, but sadly, only the 1st place adds to your qualification for the European championship.'
-	elseif begresult < 80:
+		runnerQW['qualifiers'] += 1 & runnerQW['bronze_medals'] += 1 & money += 1000 & 'You fought hard and managed to take 3rd place, earning a prize. You get a bronze badge and a prize of 1,000 <b>₽</b>, but sadly, only the 1st place adds to your qualification for the European championship.'
+	elseif runnerQW['result'] < 80:
 		grupvalue[2] += 7
 		gs 'fame', 'city', 'running', rand(14,18)
-		razradbegK += 1 & silverbeg += 1 & money += 1500 & 'You fought hard and managed to take 2nd place, earning a prize. You get a silver medal and a prize of 1,500 <b>₽</b>, but sadly, only the 1st place adds to your qualification for the European championship.'
+		runnerQW['qualifiers'] += 1 & runnerQW['silver_medals'] += 1 & money += 1500 & 'You fought hard and managed to take 2nd place, earning a prize. You get a silver medal and a prize of 1,500 <b>₽</b>, but sadly, only the 1st place adds to your qualification for the European championship.'
 	else
 		grupvalue[2] += 8
 		gs 'fame', 'city', 'running', rand(14,19)
-		razradbegK += 1 & goldbeg += 1 & money += 2000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 2,000 <b>₽</b> and are one step closer to qualifying for the St. Petersburg Championship.'
+		runnerQW['qualifiers'] += 1 & runnerQW['gold_medals'] += 1 & money += 2000 & 'You fought hard and managed to take 1st place! You get a gold medal, a prize of 2,000 <b>₽</b> and are one step closer to qualifying for the St. Petersburg Championship.'
 	end
 	act 'Leave':gt 'fit', 'dressing_room'
 end
@@ -303,13 +303,13 @@ if $ARGS[0] = 'evro':
 	gs 'exercise', 'tier2', 30, 'run'
 	minut += 120
 
-	begminus = 0
+	runnerQW['bmi_penalty'] = 0
 	if pcs_bmi > 25:
-		begminus = ((pcs_bmi - 25)*4)
+		runnerQW['bmi_penalty'] = ((pcs_bmi - 25)*4)
 	elseif pcs_bmi < 20:
-		begminus = ((20 - pcs_bmi)*(20-pcs_bmi))
+		runnerQW['bmi_penalty'] = ((20 - pcs_bmi)*(20-pcs_bmi))
 	end
-	begresult = pcs_run - begminus
+	runnerQW['result'] = pcs_run - runnerQW['bmi_penalty']
 
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/gym/race/ready.jpg"></center>'
 	'Your discipline: The Women''s 400 Meter Dash.'
@@ -326,57 +326,57 @@ if $ARGS[0] = 'evro':
 	'Go! - You''re away!'
 	wait 725
 
-	if begresult < 50:
+	if runnerQW['result'] < 50:
 		grupvalue[2] -= 1
-		razradbeg = 2 & razradbegK = 0 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decide to return you to the semi-proffessional rank.'
+		runnerQW['prof_stage'] = 2 & runnerQW['qualifiers'] = 0 & 'But you barely managed to reach the finish line, walking the last 100 meters. Of course, you came in last - but you also made of a fool of yourself. People on the ranks seem to be asking themselves how you even managed to make it this far. Maybe they are right? Your performance is so atrocious that the coach decide to return you to the semi-proffessional rank.'
 		gs 'fame', 'city', 'running', rand(14,19)
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 55:
+	elseif runnerQW['result'] < 55:
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You didn''t manage to reach any classification.'
 		gs 'fame', 'city', 'running', rand(15,21)
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 60:
+	elseif runnerQW['result'] < 60:
 		gs 'fame', 'city', 'running', rand(16,23)
 		'You fought hard but still have a lot of work ahead of you if you want to be better than your competition. You only came in last (8th place).'
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 65:
+	elseif runnerQW['result'] < 65:
 		grupvalue[2] += 1
 		gs 'fame', 'city', 'running', rand(18,25)
 		'You fought hard, but managed to only take the penultimate place (7th place).'
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 70:
+	elseif runnerQW['result'] < 70:
 		grupvalue[2] += 2
 		gs 'fame', 'city', 'running', rand(20,25)
 		'You fought hard, but only managed to take 6th place.'
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 75:
+	elseif runnerQW['result'] < 75:
 		grupvalue[2] += 3
 		gs 'fame', 'city', 'running', rand(25,50)
 		'You fought hard, but only managed to take 5th place.'
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 80:
+	elseif runnerQW['result'] < 80:
 		grupvalue[2] += 4
 		gs 'fame', 'city', 'running', rand(50,100)
 		'You fought hard, but only managed to take 4th place.'
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 85:
+	elseif runnerQW['result'] < 85:
 		grupvalue[2] += 6
 		gs 'fame', 'city', 'running', 'BronzeMedal'
-		razradbegEB += 1
+		runnerQW['champ_bronze'] += 1
 		money += 10000
 		'You fought hard and managed to take 3rd place, earning a prize. You get a bronze medal and a prize of 10,000 <b>₽</b>'
 		act 'Leave':gt 'fit', 'dressing_room'
-	elseif begresult < 90:
+	elseif runnerQW['result'] < 90:
 		grupvalue[2] += 8
 		gs 'fame', 'city', 'running', 'SilverMedal'
-		razradbegES += 1
+		runnerQW['champ_silver'] += 1
 		money += 15000
 		'You fought hard and managed to take 2nd place, earning a prize. You get a silver medal and a prize of 15,000 <b>₽</b>'
 		act 'Leave':gt 'fit', 'dressing_room'
 	else
 		grupvalue[2] += 10
 		gs 'fame', 'city', 'running', 'GoldMedal'
-		razradbegEG += 1
+		runnerQW['champ_gold'] += 1
 		money += 20000
 		'You fought hard and managed to take 1st place. You get a gold medal, a prize of 20,000 <b>₽</b> and are now the "St. Petersburg Track Champion"!'
 		act 'Continue': gt 'beg1', 'Family extension'

+ 478 - 0
locations/blackmailer.qsrc

@@ -0,0 +1,478 @@
+# blackmailer
+
+if $ARGS[0] = 'init_check':
+	if blackmailQW['day'] ! 0: exit
+	if ($ARGS[2] = 'inside' or $ARGS[2] = 'indoors'):
+		if strpos($loc, 'church') <= 0: exit
+	end
+
+
+	temp_prob_chance = 300
+	temp_prob_chance += max(fame['pav_slut'], fame['city_slut'])
+	temp_prob_chance += max(fame['pav_modelling'], fame['city_modelling']) / 10
+	temp_prob_chance += max(fame['pav_porn'], fame['city_porn']) / 10
+	temp_prob_chance -= 15 * min(exhibitionist_lvl * exhibitionist_lvl, 9)
+	temp_prob_chance -= pcs_exhib
+	if temp_prob_chance > 600: killvar 'temp_prob_chance' & exit
+
+	if $ARGS[1] = 'tits':
+		temp_prob_chance -= 40
+	elseif $ARGS[1] = 'butt':
+		temp_prob_chance -= 60
+	elseif $ARGS[1] = 'pussy':
+		temp_prob_chance -= 80
+	elseif $ARGS[1] = 'full':
+		temp_prob_chance -= 100
+	end
+
+	if rand(0, temp_prob_chance) >= 5: killvar 'temp_prob_chance' & exit
+	killvar 'temp_prob_chance'
+
+	gs 'blackmailer', 'init_blackmail', $ARGS[1]
+end
+
+if $ARGS[0] = 'init_blackmail':
+	blackmailQW['day'] = daystart
+	blackmailQW['stage'] = 1
+	blackmailQW['init_day'] = daystart
+	if $ARGS[1] = 'panty':
+		$blackmailQW['init_flashaction'] = 'panties'
+	elseif $ARGS[1] = 'pantyrear':
+		$blackmailQW['init_flashaction'] = 'panty clad ass'
+	elseif $ARGS[1] = 'butt_plug':
+		$blackmailQW['init_flashaction'] = 'butt plug'
+	elseif $ARGS[1] = 'full':
+		$blackmailQW['init_flashaction'] = 'naked body'
+	else
+		$blackmailQW['init_flashaction'] = $ARGS[1]
+	end
+
+	$blackmailQW['init_flashimage'] = $flash_image
+	$blackmailQW['init_flashloc'] = $loc
+	$blackmailQW['init_flashloc_arg'] = $loc_arg
+	$blackmailQW['init_flashregion'] = $region
+	blackmailQW['total_material'] = 1
+
+	if strpos($loc, 'park') > 0:
+		$blackmailQW['init_flashloc_desc'] = 'in a park'
+		'A flash of light briefly brightens the surrounding trees and you see a shadow darting between the trees. The light of the camera flash prickling on your exposed skin.'
+	elseif strpos($loc, 'church') > 0:
+		$blackmailQW['init_flashloc_desc'] = 'in a church'
+		'The flash of a camera illuminates the inside of the church, but the source eludes you.'
+	elseif strpos($loc, 'zaprF') > 0:
+		$blackmailQW['init_flashloc_desc'] = 'while washing cars'
+		'You briefly think a car turned on their headlights, before you realise it was the flash of a camera, the source of which already gone.'
+	else
+		$blackmailQW['init_flashloc_desc'] = ''
+		'You think you notice the flash of a camera from the corner of your eye, but its source is already out of view.'
+	end
+	if exhibitionist_lvl > 0:
+		gs 'arousal', 'flashlite', -5
+		gs 'arousal', 'end'
+	end
+end
+
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                    CIKL                     !!
+	!!                                             !!
+	!!=============================================!!
+
+
+if $ARGS[0] = 'cikl':
+	if blackmailQW['stage'] = 3 and blackmailQW['smsday'] = 0:
+		blackmailQW['smsday'] = blackmailQW['dreamday'] + 3
+		gs 'telefon', 'Blackmailer', 'icon_na', 1
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS1'", "daystart > blackmailQW['smsday'] and (hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	elseif daystart = blackmailQW['smsday'] and blackmailQW['next_payment'] > 0:
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS1_reminder'", "(hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	elseif daystart > blackmailQW['smsday'] and blackmailQW['next_payment'] > 0:
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS_failure'", "(hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+
+	!Currently repeating content
+	elseif blackmailQW['stage'] = 5 and blackmailQW['smsday'] = 0:
+		blackmailQW['smsday'] = daystart + rand(0, 13) + 6
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS_repeat'", "daystart > blackmailQW['smsday'] and (hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	end
+end
+
+
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                   DREAMS                    !!
+	!!                                             !!
+	!!=============================================!!
+
+
+if $ARGS[0] = 'blackmail_dreams':
+	if blackmailQW['stage'] = 1:
+		$sleep_events_priority[] = 'gs ''blackmailer'', ''photo_dream1'' '
+	elseif blackmailQW['stage'] = 2:
+		$sleep_events_priority[] = 'gt ''blackmailer'', ''photo_dream2'' '
+	else
+		temp_rand = rand(-2, 1)
+		if temp_rand >= 1 and blackmailQW['stage'] >= 2:
+			$sleep_events[] = 'gt ''blackmailer'', ''photo_dream2'' '
+		elseif temp_rand = 0:
+			$sleep_events[] = 'gs ''blackmailer'', ''photo_dream1'' '
+		end
+	end
+end
+
+
+if $ARGS[0] = 'photo_dream1':
+	if blackmailQW['stage'] = 1: blackmailQW['stage'] = 2
+	blackmailQW['dreamday'] = daystart + 3
+	if strpos('panty_pantyrear_bra', $blackmailQW['init_flashaction']) > 0:
+		gs 'arousal', 'flashlite', -5
+	else
+		gs 'arousal', 'flash', -5
+	end
+	gs 'arousal', 'end'
+
+	'<center><img <<$set_imgh>> src="<<$blackmailQW[''init_flashimage'']>>.jpg"></center>'
+	$temp_dream_text = 'You dream about getting caught while flashing your '
+	$temp_dream_text += $blackmailQW['init_flashaction']
+	$temp_dream_text += ' ' + $blackmailQW['init_flashloc_desc']
+	$temp_dream_text += ', your skin prickling from the light of unending camera flashes.'
+
+	$temp_dream_text
+	killvar 'temp_dream_text'
+	gs 'dream_events', 'event_end'
+
+elseif $ARGS[0] = 'photo_dream2':
+	if blackmailQW['stage'] = 2:
+		blackmailQW['stage'] = 3
+		blackmailQW['smsday'] = daystart + 6
+		gs 'telefon', 'Blackmailer', 'icon_na', 1
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS1'", "daystart > blackmailQW['smsday'] and (hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	end
+	blackmailQW['dreamday'] = daystart + 3
+	gs 'arousal', 'flash', -5
+	gs 'arousal', 'end'
+
+	if motherKnowWhore = 0 and npc_rel['A29'] > 0:
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/mother.jpg"></center>'
+		'You dream that your <<$npc_nickname[''A29'']>> is sitting at the kitchen table, looking somber, almost defeated, reading what seems to be a letter.'
+
+		act 'Ask your <<$npc_nickname[''A29'']>> what''s wrong':
+			*clr & cla
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/mum_gyno2.jpg"></center>'
+			'You walk up to her and ask "What''s wrong <<$npc_nickname[''A29'']>>?"'
+			'She drops the letter and see that it is accompanied by a picture.'
+
+			act 'Look at the picture':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="<<$blackmailQW[''init_flashimage'']>>.jpg"></center>'
+				$temp_dream_text = 'You get a clear look at the picture depicting you flashing your '
+				$temp_dream_text += $blackmailQW['init_flashaction']
+				$temp_dream_text += ' ' + $blackmailQW['init_flashloc_desc']
+				$temp_dream_text += '.'
+				$temp_dream_text
+				killvar '$temp_dream_text'
+
+				'Overcoming the initial shock, you can barely hear that your <<$npc_nickname[''A29'']>> is speaking to you, though you don''t register what she''s saying to you.'
+
+				act 'Listen to your mother':
+					*clr & cla
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/spank.jpg"></center>'
+					'"Oh, you slut! Your father and I worked so hard to raise you as a decent person, hoping you would find a good husband some day and it turns out you''re a whore who gets off on showing her <<$blackmailQW[''init_flashaction'']>> to strangers!"'
+					'Suddenly her expression steels, her mind made up. "You can still be saved. I will turn you away from this errant path, you will not shame this family even if I have to beat the sin out of you."'
+					'She grabs your arm and yanks you over kitchen table, ripping donw your pants as she reaches for something outside of your view.'
+					'You hear sound of metal and leather, the feel of thick, rough, leather against your naked behind. The sound as she cracks it like a whip. "This is for your own good, someday you''ll understand."'
+					'...'
+					'"Someday you will."'
+
+					act 'Brace yourself':
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/hug_sad1.jpg"></center>'
+						'Bracing yourself for the pain that never comes, the dream shifts. You are left on the outside looking in, the house a mess, your <<$npc_nickname[''A29'']>> crying, <<$npc_nickname[''A34'']>> and your <<$npc_nickname[''A28'']>> nowhere to be seen.'
+						'The lingering feelings of a happy family quickly fading.'
+						gs 'dream_events', 'event_end'
+					end
+				end
+			end
+		end
+	elseif $start_type['loc'] = 'sg' and gruptipe ! 5:
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/building/locker.jpg"></center>'
+		'You dream that it''s the end of a long school day, a tired track back to your lockers, the drab hallways, the monotonous marching of time.'
+		'Opening your locker to take your stuff, ready for the same walk home, you yelp in surprise as hundreds of polaroids flow out of your opened locker. Similar shouts of surprise happen all around you as even more polaroids burst from their lockers too.'
+		'As the surprise fades you can hear snickering around you, your friends holding the pictures pointing and laughing at you.'
+
+		act 'Grab a polaroid':
+			*clr & cla
+			'<center><img <<$set_imgh>> src="<<$blackmailQW[''init_flashimage'']>>.jpg"></center>'
+			$temp_dream_text = 'You grab one of the pictures and see yourself flashing your '
+			$temp_dream_text += $blackmailQW['init_flashaction']
+			$temp_dream_text += ' ' + $blackmailQW['init_flashloc_desc']
+			$temp_dream_text += '.'
+			$temp_dream_text
+			killvar '$temp_dream_text'
+			'The laughter around you grows, you are surrounded by a sea of people holding your picture and laughing at you.'
+			'Wading through the ocean of polaroids, you are ever confronted with the fact that you have lost the respect of your former friends.'
+			
+			gs 'dream_events', 'event_end'
+		end
+	else
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/gorodok.jpg"></center>'
+		'You dream that you''re walking through Pavlovsk on a beautiful, windless, cloudless, sunny afternoon, the soft hum of cars, people, wind, and birds fills your ears as the simmering heat of the sun caresses your skin.'
+		'Snippets of conversations happening around you press against the edges of your mind.'
+		'"...ink that''s h...", "..ooks li...", "...ouldn''t da...", "...at a sl..."'
+		'You can''t really under stand what''s being said as the harsh wind rips the words from the air, but from the way that they''re looking at the newspaper you guess that''s what they''re talking about.'
+
+		act 'Head to the post office to satiate your curriosity':
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/pavresn.jpg"></center>'
+			'You hurry to the post office to get a copy of your own, the wind howling in your ears. The cold sends shivers down you spine as the rain beats relentless in your face.'
+			'When you finally arive you see the postmaster, an older man, look at you strangly. Deafening thunder shakes the building, rain drums loudly against the windows as lightning flashes outside.'
+
+			act 'Buy a newspaper':
+				'<center><img <<$set_imgh>> src="<<$blackmailQW[''init_flashimage'']>>.jpg"></center>'
+				$temp_dream_text = 'The postmaster distandly hands you a newspaper, and on the front cover you see a picture of yourself flashing your '
+				$temp_dream_text += $blackmailQW['init_flashaction']
+				$temp_dream_text += ' ' + $blackmailQW['init_flashloc_desc']
+				$temp_dream_text += '.'
+				$temp_dream_text
+				killvar '$temp_dream_text'
+				'"I didn''t know that you were such a whore!", "That''s really her, what a slut!", "Maybe she''ll let us fuck her too!"'
+				'You run outside into the raging storm, the insults piercing through, chasing you.'
+				gs 'dream_events', 'event_end'
+			end
+		end
+	end
+end
+
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                     SMS                     !!
+	!!                                             !!
+	!!=============================================!!
+
+
+if $ARGS[0] = 'Add_SMS1':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['stage'] = 4
+	blackmailQW['smsday'] = daystart + 2
+	blackmailQW['next_payment'] = rand(50, 100) * 10
+
+	$SMSTree['0'] = '"Hello <<pcs_firstname>>!"'
+
+		if motherKnowWhore = 0 and npc_rel['A29'] > 0:
+			$SMSTree['1'] = '"If you don''t want your mother to see this image you will do exactly as I say"'
+		elseif $start_type['loc'] = 'sg' and gruptipe ! 5:
+			$SMSTree['1'] = '"If you don''t want your friends to see this image you will do exactly as I say"'
+		else
+			$SMSTree['1'] = '"If you don''t want the world to see this image you will do exactly as I say"'
+		end
+
+				$SMSTree['2'] = '"Leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, I know you know which one."'
+					$SMSTree['3'] = '"You have three days"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'receive', $SMSTree['3']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+if $ARGS[0] = 'Add_SMS1_reminder':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+
+	$SMSTree['0'] = '"Don''t forget, if you don''t leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, you will regret it"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+if $ARGS[0] = 'Add_SMS_failure':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['stage'] = -1
+
+	$SMSTree['0'] = '"Guess you like it when people know you''re a whore."'
+		$SMSTree['1'] = '"or you didn''t think I''d go through with it"'
+			$SMSTree['2'] = '"we''ll see"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+
+	if blackmailQW['stage'] < 5:
+		if blackmailQW['init_flashregion'] = 'city':
+			fame['city_sex'] += 2 * blackmailQW['total_material']
+		elseif blackmailQW['init_flashregion'] = 'gad':
+			fame['gad_sex'] += 10 * blackmailQW['total_material']
+		else
+			fame['pav_sex'] += 5 * blackmailQW['total_material']
+		end
+	end
+end
+
+
+if $ARGS[0] = 'Add_SMS_repeat':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['stage'] = blackmailQW['stage'] * 10 + 1
+	blackmailQW['smsday'] = daystart + 2
+	blackmailQW['next_payment'] = rand(50, 100) * 10
+
+	$SMSTree['0'] = '"You know what we want"'
+
+		if motherKnowWhore = 0 and npc_rel['A29'] > 0:
+			$SMSTree['1'] = '"If you don''t want your mother to see this image you will do exactly as I say"'
+		elseif $start_type['loc'] = 'sg' and gruptipe ! 5:
+			$SMSTree['1'] = '"If you don''t want your friends to see this image you will do exactly as I say"'
+		else
+			$SMSTree['1'] = '"If you don''t want the world to see this image you will do exactly as I say"'
+		end
+
+				$SMSTree['2'] = '"Leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, I know you know which one."'
+					$SMSTree['3'] = '"You have three days"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'receive', $SMSTree['3']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                    PARK                     !!
+	!!                                             !!
+	!!=============================================!!
+
+if $ARGS[0] = 'set_park_act':
+	if blackmailQW['next_payment'] > 0:
+		act 'Walk to the fourth bench to pay your blackmailer':
+			minut += 3
+			if blackmailQW['stage'] = 4:
+				gt 'blackmailer', 'park1'
+			else
+				gt 'blackmailer', 'park_repeat'
+			end
+		end
+	end
+end
+
+
+if $ARGS[0] = 'park1':
+	menu_off = 1
+	gs 'stat'
+
+	'<center><img src="images/locations/shared/park/bench_6.jpg"></center>'
+	'You spot the bench that your blackmailer is talking about, and take a seat at the edge of it.'
+
+	if money < blackmailQW['next_payment']:
+		act 'Hide the money (<font color="red"><<blackmailQW[''next_payment'']>> <b>₽</b></font>)': '<br><font color="red">You don''t have enough money to do that.</font>'
+	else
+		act 'Hide the money (<<blackmailQW[''next_payment'']>> <b>₽</b>)':
+			*clr & cla
+			money -= blackmailQW['next_payment']
+			blackmailQW['total_payment'] += blackmailQW['next_payment']
+			blackmailQW['next_payment'] = 0
+			blackmailQW['stage'] = 5
+			blackmailQW['smsday'] = 0
+
+			minut += 1
+			gs 'stat'
+
+			act 'Quickly walk away': gt $loc, $loc_arg
+		end
+	end
+
+	act 'Walk away': gt $loc, $loc_arg
+end
+
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                  REPEATING                  !!
+	!!                                             !!
+	!!=============================================!!
+
+if $ARGS[0] = 'Add_SMS_repeat':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['smsday'] = daystart + 2
+	blackmailQW['next_payment'] = rand(50, 100) * 10
+
+	$SMSTree['0'] = '"You know what we want"'
+
+		if motherKnowWhore = 0 and npc_rel['A29'] > 0:
+			$SMSTree['1'] = '"If you don''t want your mother to see this image you will do exactly as I say"'
+		elseif $start_type['loc'] = 'sg' and gruptipe ! 5:
+			$SMSTree['1'] = '"If you don''t want your friends to see this image you will do exactly as I say"'
+		else
+			$SMSTree['1'] = '"If you don''t want the world to see this image you will do exactly as I say"'
+		end
+
+				$SMSTree['2'] = '"Leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, I know you know which one."'
+					$SMSTree['3'] = '"You have three days"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'receive', $SMSTree['3']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+
+if $ARGS[0] = 'park_repeat':
+	menu_off = 1
+	gs 'stat'
+
+	'<center><img src="images/locations/shared/park/bench_6.jpg"></center>'
+	'You walk to the familiar bench and take a seat at the edge of it.'
+
+	if money < blackmailQW['next_payment']:
+		act 'Hide the money (<font color="red"><<blackmailQW[''next_payment'']>> <b>₽</b></font>)': '<br><font color="red">You don''t have enough money to do that.</font>'
+	else
+		act 'Hide the money (<<blackmailQW[''next_payment'']>> <b>₽</b>)':
+			*clr & cla
+			money -= blackmailQW['next_payment']
+			blackmailQW['total_payment'] += blackmailQW['next_payment']
+			blackmailQW['next_payment'] = 0
+
+			minut += 1
+			gs 'stat'
+
+			act 'Quickly walk away': gt $loc, $loc_arg
+		end
+	end
+
+	act 'Walk away': gt $loc, $loc_arg
+end
+
+
+
+
+--- blackmailer ---------------------------------

+ 141 - 85
locations/body.qsrc

@@ -20,7 +20,7 @@
 !!magf2bdo = flag for magic bust increase; 0, ready; 1, do it; 2, ask; 3, no
 !!mgf2bnocnt = used to count the number of times a bust increase was turned down and stop asking after 3
 !!magtarcup = set in the dream code as the target cup size 
-!!btwarn = used to flag if to display the gaining/losing weight message when bathing
+!!bodyVars['weight_warning'] = used to flag if to display the gaining/losing weight message when bathing
 !!salolast = used when doing a soft rest to control the cycling of the main code
 !!bodyresetflag = used to prevent a code chunk from firing on a soft or hard reset
 !!Image set variables
@@ -32,6 +32,13 @@
 !! imgset6ovr[x] and imgset7ovr[x] = a flag to indicate that an image set (x) has its own image 6 and/or 7
 !! extended lash functionality; pcs_lashes = n are: {2, largest natural size}, {3, with temporary false lashes on or basic 2D lash extensions}, {4, with ornate false lashes on or lavish 4D extensions}, {5, with extremely ornate, 6D-style extensions} - xerya
 
+
+!! Pregnancy weight gain:
+!! Weight gain in the first 5 weeks (roughly pregChem < 800. -> Pregtime = pregchem / 24) is negligable
+!! Afterwards we approximate the weight gain as mass = ((pregChem - 800)^2 * 33 / (7000 - 800)^2) approx (pregChem - 800)^2 / (1080)^2
+
+
+
 if $ARGS[0] = 'RegularUpdate':
 	if dounspell = 0:
 		gs 'body', 'UpdateBodyMeasurement'
@@ -58,8 +65,8 @@ if $ARGS[0] = 'UpdateBodyMeasurement':
 	pcs_hips  = (pcs_hgt   * bodyVars['hratio']) / 100 + bodyVars['vhips']
 	pcs_waist = (pcs_hips  * bodyVars['wratio']) / 100 + bodyVars['vofat']
 	pcs_band  = (pcs_waist * bodyVars['bratio']) / 100 + bodyVars['vofat']
-	pcs_bust  = (pcs_waist * bodyVars['bratio']) / 100 + pcs_mass['bust'] + bodyVars['bust_magic'] + bodyVars['bust_silicone'] + max(-10, min(bodyVars['bust_other'], 10))
-	pcs_butt  = (pcs_hips  * 10    ) / 100 + bodyVars['butt_bonus'] + bodyVars['butt_silicone'] + bodyVars['butt_cheat'] + pcs_butt_tr + max(-5, min(bodyVars['butt_other'], 5))
+	pcs_bust  = (pcs_waist * bodyVars['bratio']) / 100 + pcs_mass['bust'] + bodyVars['bust_magic'] + bodyVars['bust_silicone'] + max(-10, min(bodyVars['bust_other'], 10)) + pcs_mass['preg'] / 5
+	pcs_butt  = min(pcs_mass['butt'], 50) + bodyVars['butt_bonus'] + bodyVars['butt_silicone'] + bodyVars['butt_cheat'] + pcs_butt_tr + max(-10, min(bodyVars['butt_other'], 10))
 
 	!! pcs_cupsize = pcs_mass['bust'] + bodyVars['bust_magic'] + bodyVars['bust_silicone'] - bodyVars['vofat']
 	pcs_cupsize = pcs_bust - pcs_band
@@ -71,7 +78,7 @@ if $ARGS[0] = 'CalcWeight':
 	This is an approximation, so that a sveta with a different height has the same BMI for the same pcs_mass['body'] values.
 	The default height of 170 cm is used as a starting point. The bmi deviates by 0.06 for a deviation of 10cm and 0.4 for a deviation of 20cm.}
 
-	result = (600 + 7 * (pcs_mass['body'] + pcs_mass['bust'] + pcs_mass['butt']) + 14 * (pcs_hgt - 170)) / 20
+	result = (2820 + 33 * (pcs_mass['body'] + pcs_mass['bust'] + pcs_mass['butt'] + pcs_mass['preg']) + 70 * (pcs_hgt - 165)) / 100
 
 	!{Do not remove (julzor)
 	This is the old more complex function, but it doesn''t work correctly.
@@ -83,7 +90,7 @@ end
 
 if $ARGS[0] = 'CalcWeight2':
 	!! weight2 = 10 * weight
-	result = (600 + 7 * (pcs_mass['body'] + pcs_mass['bust'] + pcs_mass['butt']) + 14 * (pcs_hgt - 170)) / 2
+	result = (2820 + 33 * (pcs_mass['body'] + pcs_mass['bust'] + pcs_mass['butt'] + pcs_mass['preg']) + 70 * (pcs_hgt - 165)) / 10
 	!result = (pcs_hgt * 62 / 17) + (10 * (vhips + (bodyVars['vofat'] * 2))) / 4 + 10 * tits
 end
 
@@ -98,6 +105,11 @@ if $ARGS[0] = 'CalcBMI2':
 end
 
 
+if $ARGS[0] = 'CalcOptBodyMass':
+	if ARGS[1] = 0: ARGS[1] = 225
+	result = ((pcs_hgt * pcs_hgt * ARGS[1]) - 2820000 - 70000 * (pcs_hgt - 165)) / (550 * (60 + pcs_mass['bust_gen'] + pcs_mass['butt_gen']))
+end
+
 
 
 	!!===================================================!!
@@ -167,9 +179,9 @@ if $ARGS[0] = 'DailyUpdate':
 end
 
 if $ARGS[0] = 'Update_Appearance':
-	gs 'body', 'UpdateBodyImage'
 	gs 'AppearanceSystem'
 	gs 'body_desc'
+	gs 'body', 'UpdateBodyImage'
 end
 
 
@@ -181,7 +193,6 @@ if $ARGS[0] = 'UpdateBodyImage':
 		salocatnow = (pcs_hips / 10) - 5
 	end
 
-
 	$bodyVars['desc']     = func('body_structure', 'body_desc')
 	$bodyVars['img']      = func('body_structure', 'body_img')
 	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc')
@@ -318,15 +329,47 @@ if $ARGS[0] = 'Update_Body':
 	if bodyresetflag = 1 or cheatNoFat = 1:
 		fat = 0
 	else
-		if fat > (17 + vitalbuf / 25):
-			pcs_mass['body'] += 1
-			fat = 0
-		elseif fat < -(2 + vitalbuf / 10):
-			pcs_mass['body'] -= 1
-			fat = 0
+		if pregChem >= 800 and (pregChem - 800)*(pregChem - 800) >= bodyVars['pchem_next']:
+			pcs_mass['preg'] += 1
+			bodyVars['pchem_next'] += 1166400	& !! 1080 * 1080
+		elseif pcs_mass['preg'] > 0 and (recovH <= bodyVars['recovH'] and (pregChem < 800 or bodyVars['pchem_next'] - 1166400 >= (pregChem - 800)*(pregChem - 800))):
+			pcs_mass['preg'] -= 1
+			if rand(0, 1) = 0: pcs_mass['body'] += 1
+			if pcs_mass['preg'] > 0:
+				bodyVars['pchem_next'] -= 1166400	& !! 1080 * 1080
+				bodyVars['recovH_next'] = bodyVars['recovH_next'] * (pcs_mass['preg'] - 1) / pcs_mass['preg']
+			end
+		elseif pcs_mass['preg'] <= 0:
+			pcs_mass['preg'] = 0
+			bodyVars['pchem_next'] = 0
+			bodyVars['recovH_next'] = 0
+		end
+		if pregChem >= 800:
+			if fat > (12 + vitalbuf / 25):
+				pcs_mass['body'] += 1
+				fat = 0
+			elseif fat < -(7 + vitalbuf / 10):
+				pcs_mass['body'] -= 1
+				fat = 0
+			else
+				if fat < 0:
+					fat = fat / 2
+				else
+					fat = fat / 6
+				end
+			end
 		else
-			fat = fat / 4
+			if fat > (17 + vitalbuf / 25):
+				pcs_mass['body'] += 1
+				fat = 0
+			elseif fat < -(2 + vitalbuf / 10):
+				pcs_mass['body'] -= 1
+				fat = 0
+			else
+				fat = fat / 4
+			end
 		end
+
 	end
 
 	!!This is the pcs_mass['body'] cap for the weight approximation
@@ -374,16 +417,27 @@ if $ARGS[0] = 'Update_Body':
 	salocatnow = func('body', 'Calc_salocat')
 
 	!!This will trigger the warning notices in the bathing code (the +/- 12 should always be +/- 11 + the max change to pcs_mass['body'] w/ fat)
-	if salolast > pcs_mass['body'] and pcs_mass['body'] <= (20 * (salocatnow - 1)) + 12:
-		btwarn = 1
-	elseif salolast < pcs_mass['body'] and pcs_mass['body'] >= (20 * (salocatnow + 1)) - 12:
-		btwarn = 2
+
+!	if salolast > pcs_mass['body'] + pcs_mass['butt'] and pcs_mass['body'] + pcs_mass['butt'] <= (20 * (salocatnow - 1)) + 12:
+!		bodyVars['weight_warning'] = 1
+!	elseif salolast < pcs_mass['body'] + pcs_mass['butt'] and pcs_mass['body'] + pcs_mass['butt'] >= (20 * (salocatnow + 1)) - 12:
+!		bodyVars['weight_warning'] = 2
+!	end
+
+	if pcs_mass['body'] < pcs_mass['body_message'] - 5:
+		bodyVars['weight_warning'] = 1
+		pcs_mass['body_message'] = pcs_mass['body']
+	elseif pcs_mass['body'] > pcs_mass['body_message'] + 5:
+		bodyVars['weight_warning'] = 2
+		pcs_mass['body_message'] = pcs_mass['body']
 	end
 
+
+
 	!!This will trigger the dream for the option to use magic to increase bust
 	!!Three nos at the dream will lock it out (1 yes resets the count)
 	if pcs_magik >= 5 and MagikDostup = 0 and magf2bdo = 0:
-		if tits < 10 and salolast < pcs_mass['body'] and pcs_mass['body'] >= (20 * (salocatnow + 1)) - 11:
+		if tits < 10 and salolast < pcs_mass['body'] + pcs_mass['butt'] and pcs_mass['body'] + pcs_mass['butt'] >= (20 * (salocatnow + 1)) - 11:
 			if mgf2bnocnt < 3:
 				magf2bdo = 2
 			else
@@ -397,8 +451,8 @@ if $ARGS[0] = 'Update_Body':
 	if salocatnow > salocatlast: salocatlast += 1
 
 	!!This is for use in the warning code and as part of the reset routines
-	if salolast > pcs_mass['body']: salolast -= 1
-	if salolast < pcs_mass['body']: salolast += 1
+	if salolast > pcs_mass['body'] + pcs_mass['butt']: salolast -= 1
+	if salolast < pcs_mass['body'] + pcs_mass['butt']: salolast += 1
 
 	!!Setting the pcs_apprnc bonus based on fat and strength
 	temp_bmi = func('body', 'CalcBMI2')
@@ -462,26 +516,8 @@ if $ARGS[0] = 'Update_daily_body_other':
 		end
 	end
 
-	if bcream_used >= 1:
-		bcream_used = 0
-
-		temp = pcs_mass['bust'] - pcs_mass['bust_gen']
-		temp = rand(0, 5 + max(0, temp)) / max(1, temp)
-
-		if temp > 0:
-			bodyVars['bust_other'] += 1
-			'Feels like your breasts have grown slightly.'
-		end
-		killvar 'temp'
-	end
-	
-	if steroid_dose >= 1:
-		if lashair < 1:
-			pcs_pubes += steroid_dose
-			pcs_leghair += steroid_dose
-		end
-		steroid_dose = 0
-	end
+	gs 'drugs', 'breastcream', 'cikl'
+	gs 'drugs', 'steroids', 'cikl'
 end
 
 
@@ -582,7 +618,7 @@ if $ARGS[0] = 'Redistribute_Mass':
 	end
 
 
-	if salobustdo = 0:
+	if salobustdo = 0 and bodyVars['cheat_staticAssets'] = 0:
 		!!This controls the movement of pcs_mass['body'] to/from bust in order of precedence
 
 		!!===============    MAGIC    ===============!!
@@ -608,17 +644,13 @@ if $ARGS[0] = 'Redistribute_Mass':
 		
 		!!===============    Low Weight    ===============!!
 		if pcs_mass['body'] < 10:
-			if pcs_mass['bust'] > 0:
-				temp_diff = min(pcs_mass['bust'], 3)
-				pcs_mass['bust'] -= temp_diff
-				pcs_mass['body'] += temp_diff
-			end
+			temp_diff = min(pcs_mass['bust'], 3)
+			pcs_mass['bust'] -= temp_diff
+			pcs_mass['body'] += temp_diff
 
-			if pcs_mass['butt'] > 0:
-				temp_diff = min(pcs_mass['butt'], 3)
-				pcs_mass['butt'] -= temp_diff
-				pcs_mass['body'] += temp_diff
-			end
+			temp_diff = min(pcs_mass['butt'], 3)
+			pcs_mass['butt'] -= temp_diff
+			pcs_mass['body'] += temp_diff
 
 		else
 			temp_total_mass = pcs_mass['body'] + pcs_mass['bust'] + pcs_mass['butt']
@@ -628,12 +660,13 @@ if $ARGS[0] = 'Redistribute_Mass':
 			temp_mass_bust = (pcs_mass['bust_gen'] * temp_total_mass) / temp_tot_gen_mass
 
 				!!----------- Small -----------!!
-			if pcs_mass['body'] >= 50 and pcs_mass['bust'] < pcs_mass['bust_gen']:
-				if pcs_mass['bust'] < pcs_mass['bust_gen']:
-					temp_diff = min(pcs_mass['bust_gen'] - pcs_mass['bust'], 3)
-					pcs_mass['bust'] += temp_diff
-					pcs_mass['body'] -= temp_diff
-				end
+			if temp_total_mass >= temp_tot_gen_mass - 10 and pcs_mass['bust'] < pcs_mass['bust_gen']:
+				temp_diff = min(pcs_mass['bust_gen'] - pcs_mass['bust'], 2)
+				pcs_mass['bust'] += temp_diff
+				pcs_mass['body'] -= temp_diff
+			
+			elseif temp_total_mass >= temp_tot_gen_mass - 10 and temp_total_mass <= temp_tot_gen_mass and pcs_mass['bust'] = pcs_mass['bust_gen']:
+				!Keep bust at genetic level if pcs_mass['body'] >= 50 and pcs_mass['body'] <= 60
 
 				!!-----------    Growth    -----------!!
 			elseif temp_mass_bust > pcs_mass['bust']:
@@ -651,17 +684,18 @@ if $ARGS[0] = 'Redistribute_Mass':
 			temp_mass_ass  = (pcs_mass['butt_gen']  * temp_total_mass) / temp_tot_gen_mass
 
 				!!----------- Small -----------!!
-			if pcs_mass['body'] >= 50 and pcs_mass['butt'] < pcs_mass['butt_gen']:
-				temp_diff = min(pcs_mass['butt_gen'] - pcs_mass['butt'], 3)
+			if temp_total_mass >= temp_tot_gen_mass - 10 and pcs_mass['butt'] < pcs_mass['butt_gen']:
+				temp_diff = min(pcs_mass['butt_gen'] - pcs_mass['butt'], 2)
 				pcs_mass['butt'] += temp_diff
 				pcs_mass['body'] -= temp_diff
+			
+			elseif temp_total_mass >= temp_tot_gen_mass - 10 and temp_total_mass <= temp_tot_gen_mass and pcs_mass['butt'] = pcs_mass['butt_gen']:
+				!Keep butt at genetic level if pcs_mass['body'] >= 50 and pcs_mass['body'] <= 60
 
 				!!-----------    Rest    -----------!!
 			elseif temp_mass_ass > pcs_mass['butt']:
-				!if pcs_mass['butt'] < 2 * pcs_mass['butt_gen'] + 40:
-					pcs_mass['butt'] += 1
-					pcs_mass['body'] -= 1
-				!end
+				pcs_mass['butt'] += 1
+				pcs_mass['body'] -= 1
 
 			elseif temp_mass_ass < pcs_mass['butt'] and pcs_mass['butt'] > 0:
 				pcs_mass['butt'] -= 1
@@ -675,7 +709,10 @@ if $ARGS[0] = 'Redistribute_Mass':
 			killvar 'temp_diff'
 		end
 
-		if bodyresetflag = 0:
+		if bodyresetflag ! 0:
+			pcs_mass['bust_message'] = pcs_mass['bust']
+			pcs_mass['butt_message'] = pcs_mass['butt']
+		else
 			if pcs_mass['bust'] > pcs_mass['bust_message'] + 3:
 				pcs_mass['bust_message'] = pcs_mass['bust']
 
@@ -716,9 +753,6 @@ if $ARGS[0] = 'Redistribute_Mass':
 					'<b>Your ass seem to be getting smaller</b>'
 				end
 			end
-		else
-			pcs_mass['bust_message'] = pcs_mass['bust']
-			pcs_mass['butt_message'] = pcs_mass['butt']
 		end
 	end
 
@@ -735,14 +769,19 @@ if $ARGS[0] = 'Reset_mass_distribution':
 	total_mass = pcs_mass['body'] + pcs_mass['bust'] + pcs_mass['butt']
 	total_gen_mass = 60 + pcs_mass['bust_gen'] + pcs_mass['butt_gen']
 
-
-	pcs_mass['bust'] = (pcs_mass['bust_gen'] * total_mass) / total_gen_mass
-	pcs_mass['butt']  = (pcs_mass['butt_gen']  * total_mass) / total_gen_mass
+	if total_mass >= total_gen_mass - 10 and total_mass <= total_gen_mass:
+		pcs_mass['bust'] = pcs_mass['bust_gen']
+		pcs_mass['butt'] = pcs_mass['butt_gen']
+	else
+		pcs_mass['bust'] = (pcs_mass['bust_gen'] * total_mass) / total_gen_mass
+		pcs_mass['butt'] = (pcs_mass['butt_gen'] * total_mass) / total_gen_mass
+	end
 
 	pcs_mass['body'] = total_mass - pcs_mass['bust'] - pcs_mass['butt']
 
-	pcs_mass['bust_last'] = pcs_mass['body']
-	pcs_mass['butt_last']  = pcs_mass['body']
+	pcs_mass['bust_message'] = pcs_mass['bust']
+	pcs_mass['butt_message'] = pcs_mass['butt']
+	pcs_mass['body_message'] = pcs_mass['body']
 
 	killvar 'total_mass'
 	killvar 'total_gen_mass'
@@ -750,18 +789,32 @@ if $ARGS[0] = 'Reset_mass_distribution':
 	gs 'body', 'Update_vhips'
 end
 
+if $ARGS[0] = 'Reset_preg_mass':
+	bodyVars['pchem_next'] = 0
+	pcs_mass['preg'] = 0
+	:set_preg_body_loop
+	if pregChem >= 800 and (pregChem - 800) * (pregChem - 800) >= bodyVars['pchem_next']:
+		bodyVars['pchem_next'] += 1166400	& 1080 * 1080
+		pcs_mass['preg'] += 1
+		jump 'set_preg_body_loop'
+	end
+end
+
 
 if $ARGS[0] = 'Set_mass_distribution_using_body':
 	pcs_mass['body'] = ARGS[1]
-	pcs_mass['bust'] = (pcs_mass['bust_gen'] * ARGS[1]) / 60
-	pcs_mass['butt'] = (pcs_mass['butt_gen'] * ARGS[1]) / 60
+	if ARGS[1] >= 50 and ARGS[1] <= 60:
+		pcs_mass['bust'] = pcs_mass['bust_gen']
+		pcs_mass['butt'] = pcs_mass['butt_gen']
+	else
+		pcs_mass['bust'] = (pcs_mass['bust_gen'] * ARGS[1]) / 60
+		pcs_mass['butt'] = (pcs_mass['butt_gen'] * ARGS[1]) / 60
+	end
+	bodyVars['vhips'] = (pcs_mass['body'] + pcs_mass['butt'] - 80) / 2
 
-	gs 'body', 'Reset_mass_distribution'
-	
 	pcs_mass['bust_message'] = pcs_mass['bust']
 	pcs_mass['butt_message'] = pcs_mass['butt']
-	
-	bodyVars['vhips'] = (pcs_mass['body'] + pcs_mass['butt'] - 80) / 2
+	pcs_mass['body_message'] = pcs_mass['body']
 end
 
 
@@ -844,7 +897,7 @@ if $ARGS[0] = 'softreset':
 	!!This is for use in immediately updating shape if something has caused a large change in pcs_mass['body'], primarily fat burners and plastic surgery
 	bodyresetflag = 1
 	:resetloop
-	if pcs_mass['body'] ! salolast:
+	if pcs_mass['body'] + pcs_mass['butt'] ! salolast:
 		if gamestartflag = 1:
 			salobustdo = 1
 		end
@@ -858,7 +911,7 @@ if $ARGS[0] = 'softreset':
 
 	!!Clears the warning and reset status flags if they were set
 	bodyresetflag = 0
-	btwarn = 0
+	bodyVars['weight_warning'] = 0
 end
 
 if $ARGS[0] = 'hardreset':
@@ -881,14 +934,14 @@ if $ARGS[0] = 'hardreset':
 		gs 'body', 'Update_Body'
 
 		pcs_mass['body'] = 60 + (2 * pcs_hips) - (pcs_hgt * bodyVars['hratio']) / 50
-		if pcs_mass['body'] < 10:
+		if pcs_mass['body'] + pcs_mass['butt'] < 10:
 			salocatnow = 0
 		else
-			salocatnow = 1 + (pcs_mass['body'] - 10) / 20
+			salocatnow = 1 + (pcs_mass['body'] + pcs_mass['butt'] - 10) / 20
 		end
 
 		salocatlast = salocatnow
-		salolast = pcs_mass['body']
+		salolast = pcs_mass['body'] + pcs_mass['butt']
 
 		if pcs_mass['butt_gen'] = 0:
 			pcs_mass['butt_gen'] = 20
@@ -910,12 +963,15 @@ if $ARGS[0] = 'hardreset':
 			end
 		end
 
+		pcs_mass['body_message'] = pcs_mass['body']
 		pcs_mass['bust_message'] = pcs_mass['bust']
 		pcs_mass['butt_message'] = pcs_mass['butt']
 
+		gs 'body', 'reset_preg_mass'
+
 		bodyresetflag = 0
 		normbuffpick = 0
-		btwarn = 0
+		bodyVars['weight_warning'] = 0
 		magf2bdo = 0
 
 		killvar 'dounsplkil'

+ 5 - 3
locations/body_desc.qsrc

@@ -389,12 +389,14 @@ end
 
 if $ARGS[0] = 'butt':
 	!natural butt
-	if pcs_butt <= 4:
+	if pcs_butt <= 14:
 		$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/1.jpg''">ass</a> is square and as flat as a plank.'
-	elseif pcs_butt <= 8:
+	elseif pcs_butt <= 25:
 		$pcs_butt = 'You have an average, feminine looking <a href="exec:view''images/pc/body/ass/2.jpg''">ass</a>.'
-	elseif pcs_butt <= 12:
+	elseif pcs_butt <= 40:
 		$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/3.jpg''">ass</a> is bigger, rounder and firmer than average.'
+	elseif pcs_butt <= 59:
+		$pcs_butt = 'You have a large heart-shaped <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a> that jiggles and sways as you walk.'
 	else
 		$pcs_butt = 'You have a large bubble <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a> that jiggles and sways as you walk.'
 	end

+ 23 - 26
locations/body_structure.qsrc

@@ -98,12 +98,10 @@ end
 
 
 !	Get the appearance bonus
-!	Appearance_bonus = func('body_structure', 'appearance_bonus', pcs_bmi, strenbuf, succubusflag)
+!	Appearance_bonus = func('body_structure', 'appearance_bonus', pcs_bmi, strenbuf)
 if $ARGS[0] = 'appearance_bonus':
 	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
 	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
-	if arrsize('ARGS') = 3: ARGS[3] = succubusflag
-	if ARGS[3] = 1: ARGS[2] = 90
 
 	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
 
@@ -199,25 +197,24 @@ end
 
 
 !	Get the body shape image
-!	$bodyVars['img'] = func('body_structure', 'body_img', pcs_bmi, strenbuf, succubusflag)
+!	$bodyVars['img'] = func('body_structure', 'body_img', pcs_bmi, strenbuf, PregChem)
 if $ARGS[0] = 'body_img':
+	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
+	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+	if arrsize('ARGS') = 3: ARGS[3] = PregChem
 
 	! =======      Pregnant       ======= !
-	if bdsetlock = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600))):
-		if PregChem <= 2687:
+	if bdsetlock = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or ARGS[3] > 3600))):
+		if ARGS[3] <= 2687:
 			$result = 'images/pc/body/shape/default_preg/0.jpg'
-		elseif PregChem <= 6215:
-			$result = 'images/pc/body/shape/default_preg/<<((PregChem - 2184)/504)>>.jpg'
+		elseif ARGS[3] <= 6215:
+			$result = 'images/pc/body/shape/default_preg/<<((ARGS[3] - 2184)/504)>>.jpg'
 		else
 			$result = 'images/pc/body/shape/default_preg/8.jpg'
 		end
 		exit
 	end
 
-	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
-	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
-	if arrsize('ARGS') = 3: ARGS[3] = succubusflag
-	if ARGS[3] = 1: ARGS[2] = 80
 
 	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
 
@@ -337,24 +334,28 @@ end
 
 
 !	Get the body description
-!	$bodyVars['desc'] = func('body_structure', 'body_desc', pcs_bmi, strenbuf, succubusflag)
+!	$bodyVars['desc'] = func('body_structure', 'body_desc', pcs_bmi, strenbuf, PregChem)
 if $ARGS[0] = 'body_desc':
-	if knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or PregChem > 3600)):
-		if PregChem <= 2687:
+	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
+	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+	if arrsize('ARGS') = 3: ARGS[3] = PregChem
+
+	if knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or ARGS[3] > 3600)):
+		if ARGS[3] <= 2687:
 			$result = 'pregnant, but not showing'
-		elseif PregChem <= 3191:
+		elseif ARGS[3] <= 3191:
 			$result = 'glowing'
-		elseif PregChem <= 3695:
+		elseif ARGS[3] <= 3695:
 			$result = 'starting to show'
-		elseif PregChem <= 4199:
+		elseif ARGS[3] <= 4199:
 			$result = 'clearly showing'
-		elseif PregChem <= 4703:
+		elseif ARGS[3] <= 4703:
 			$result = 'fairly pregnant'
-		elseif PregChem <= 5207:
+		elseif ARGS[3] <= 5207:
 			$result = 'quite pregnant'
-		elseif PregChem <= 5711:
+		elseif ARGS[3] <= 5711:
 			$result = 'very pregnant'
-		elseif PregChem <= 6215:
+		elseif ARGS[3] <= 6215:
 			$result = 'extremely pregnant'
 		else
 			$result = 'ready to pop'
@@ -363,10 +364,6 @@ if $ARGS[0] = 'body_desc':
 	end
 
 
-	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
-	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
-	if arrsize('ARGS') = 3: ARGS[3] = succubusflag
-	if ARGS[3] = 1: ARGS[2] = 80
 
 	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
 

+ 0 - 11
locations/booty_call.qsrc

@@ -398,17 +398,6 @@ if $ARGS[0] = 'invite_yourself2':
 	end
 end
 
-if $ARGS[0] = 'get_invited':
-	if rand(0,1) = 1:
-		'"Why don''t you come over to my place right now and we can have some fun?"'
-
-	else
-		'"Why don''t you come over to my place tonight and we can have some fun?"'
-	end
-
-
-end
-
 !! ------------ NPC Stat Updater ------------------------
 
 if $ARGS[0] = 'npc_stat_update':

+ 1 - 1
locations/bordel.qsrc

@@ -64,7 +64,7 @@ if $ARGS[0] = 'brothel':
 		else
 			act 'Go to the reception room and wait for customers':
 
-				if (cumloc[6] = 1 or cumloc[7] = 1) or cumloc[11] = 1 or pcs_makeup < 2 or pcs_leghair > 3 or pcs_pubes > 3 or sweat > 25 or pcs_hairbsh < 1:
+				if cumloc[6] = 1 or cumloc[7] = 1 or cumloc[11] = 1 or pcs_makeup < 2 or pcs_leghair > 3 or pcs_pubes > 3 or pcs_sweat > 25 or pcs_hairbsh < 1:
 					cla
 					'The brothel madam comes over to you and says, "Our customers expect you to be clean, shaven, made-up and with your hair looking nice. Go and sort yourself out, now!"'
 

+ 2 - 2
locations/boy_updater.qsrc

@@ -8,10 +8,10 @@ if $ARGS[0] = 'home_update':
 		elseif npc_residence[$boy] = 2:
 			npc_finance[$boy] = 0
 			$npc_residence[$boy] = 'student_dorms'
-		elseif npc_residence[$boy] = 2:
+		elseif npc_residence[$boy] = 3:
 			npc_finance[$boy] = rand(1,2)
 			$npc_residence[$boy] = 'city_res'
-		elseif npc_residence[$boy] = 2:
+		elseif npc_residence[$boy] = 4:
 			npc_finance[$boy] = 2
 			$npc_residence[$boy] = 'city_center'
 		end

+ 167 - 107
locations/boy.qsrc → locations/boygirl.qsrc

@@ -1,91 +1,133 @@
-# boy
+# boygirl
 
 !!'<<$boydesc>> <<$boybody>> <<$boybod>> <<$boyface>>. <<$boydesc>> <<$boyClo>>'
+
+!! For a boy:	gs 'boygirl', 0, 'A Male',  age, region
+!! For a girl:	gs 'boygirl', 1, 'A Woman', age, region
 if $ARGS[0] = '':
-	!randomly age
-	boyage = rand(18,35)
+	!! Random age
+	if ARGS[2] = 0: ARGS[2] = rand(18, 35)
+
+	!! Random Name
+	if $ARGS[1] = '':
+		if ARGS[2] <= 25:
+			$ARGS[1] = iif(ARGS[0] = 0, 'A Male', 'A Girl')
+		else
+			$ARGS[1] = iif(ARGS[0] = 0, 'A Male', 'A Woman')
+		end
+	end
+
+	!! Determine region
+	if ARGS[3] = 0:
+		if $region = 'pav':
+			ARGS[3] = 1
+		elseif $region = 'city':
+			ARGS[3] = rand(3, 4)
+		end
+	end
 
 	!! {The NPC generator is now the primary system of creating new characters.}
-	gs 'npcgeneratec', 0, 'A Male', boyage
+	gs 'npcgeneratec', ARGS[0], $ARGS[1], ARGS[2], ARGS[3]
 	gs 'boyStat', $npclastgenerated
-	gs 'boy', 'details'
+	gs 'boygirl', 'details'
+end
+
+if $ARGS[0] = 'boy' or $ARGS[0] = 'm':
+	gs 'boygirl', 0, $ARGS[1], ARGS[2], ARGS[3]
+elseif $ARGS[0] = 'girl' or $ARGS[0] = 'f':
+	gs 'boygirl', 1, $ARGS[1], ARGS[2], ARGS[3]
 end
 
 if $ARGS[0] = 'details':
 	!Select Photos
-
 	loverGenderTmp = npc_gender[$npclastgenerated]
 	silaVag = npc_sexskill[$npclastgenerated]
 	$npc_usedname[$npclastgenerated] = $npc_firstname[$npclastgenerated]
 	$boydesc = $npc_usedname[$npclastgenerated]
-
 	hairBoy = npc_haircol[$npclastgenerated]
 	titBoy = npc_bust[$npclastgenerated]
 	vneshBoy = npc_apprnc[$npclastgenerated]
-
 	!!appearance
-	gs 'boy', 'set_boybody'
+	gs 'boygirl', 'set_boybody'
 
 	!!Variables responsible for any features like
 	!!security, is responsible for the money and requirements
-	gs 'boy', 'set_finance'
-
-	gs 'boy', 'set_preferences'
-end
+	gs 'boygirl', 'set_finance'
 
-! set_unique_pic is depricated
-if $ARGS[0] = 'set_unique_pic':
-	!! boys 1-30, girlfriends 31-60
-	:boydetailsloop
-		lover_picrand[$npclastgenerated] =  rand(1, 30)
-	if lover_picrand[$npclastgenerated] = lover_picture[0] or lover_picrand[$npclastgenerated] = lover_picture[1] or lover_picrand[$npclastgenerated] = lover_picture[2]: jump 'boydetailsloop'
+	gs 'boygirl', 'set_preferences'
 end
 
 
 if $ARGS[0] = 'set_boybody':
 	boybodyrand = rand(1, 3)
-
-	if boybodyrand = 1: 
-		$boybody = 'tall'
-		$boybody_pref = 'a tall'
-	elseif boybodyrand = 2: 
-		$boybody = 'average'
-		$boybody_pref = 'an average'
-	elseif boybodyrand = 3: 
+	if boybodyrand = 1:
 		$boybody = 'short'
 		$boybody_pref = 'a short'
+	elseif boybodyrand = 2:
+		$boybody = 'average'
+		$boybody_pref = 'an average'
+	else
+		$boybody = 'tall'
+		$boybody_pref = 'a tall'
 	end
 
 	boybodrand = rand(1, 4)
-
-	if boybodrand = 1: 
-		$boybod = 'thin'
-		$boybod_pref = 'a thin'
-	elseif boybodrand = 2: 
-		$boybod = 'athletic'
-		$boybod_pref = 'an athletic'
-	elseif boybodrand = 3: 
-		$boybod = 'chunky'
-		$boybod_pref = 'a chunky'
-	elseif boybodrand = 4: 
-		$boybod = 'fat'
-		$boybod_pref = 'a fat'
-	end
-	
 	boyfacerand = rand(1, 3)
-	if boyfacerand = 1: 
-		$boyface = 'black'
-	elseif boyfacerand = 2:
-		$boyface = 'brown'
-	else 
-		$boyface = 'blond'
+
+	if npc_gender[$npclastgenerated] = 0:
+		if boybodrand = 1:
+			$boybod = 'thin'
+			$boybod_pref = 'a thin'
+		elseif boybodrand = 2:
+			$boybod = 'athletic'
+			$boybod_pref = 'an athletic'
+		elseif boybodrand = 3:
+			$boybod = 'chunky'
+			$boybod_pref = 'a chunky'
+		else
+			$boybod = 'fat'
+			$boybod_pref = 'a fat'
+		end
+
+		if boyfacerand = 1: 
+			$boyface = 'black'
+		elseif boyfacerand = 2:
+			$boyface = 'brown'
+		else 
+			$boyface = 'blond'
+		end
+
+	else
+		if boybodrand = 1 and boybodyrand = 1:
+			$boybod = 'petite'
+			$boybod_pref = 'a petite'
+		elseif boybodrand = 1 and boybodyrand = 2:
+			$boybod = 'slender'
+			$boybod_pref = 'a slender'
+		elseif boybodrand = 2:
+			$boybod = 'toned'
+			$boybod_pref = 'a toned'
+		elseif boybodrand = 3:
+			$boybod = 'average'
+			$boybod_pref = 'an average'
+		else
+			$boybod = 'chubby'
+			$boybod_pref = 'a chubby'
+		end
+
+		if boyfacerand = 1: 
+			$boyface = 'black'
+		elseif boyfacerand = 2:
+			$boyface = 'brunette'
+		else 
+			$boyface = 'blond'
+		end
 	end
 end
 
 if $ARGS[0] = 'set_finance':
 	harakBoy = rand(0, 2)
 	finance = npc_finance[$npclastgenerated]
-
 	if npc_finance[$npclastgenerated] = 0:
 		!!Gopnik beggar or a hard worker
 		!!check in appearance Primary
@@ -109,7 +151,7 @@ if $ARGS[0] = 'set_finance':
 			npc_apprnc[$npclastgenerated] = rand(0, 32)
 		end
 
-		$boyClo = 'wearing jeans and a sweater.'
+		$boyClo = iif(npc_gender[$npclastgenerated] = 0, 'wearing jeans and a sweater.', 'wearing jeans and a blouse.')
 	elseif npc_finance[$npclastgenerated] = 2:
 		!!middle_peasant
 		!!check in appearance
@@ -121,67 +163,71 @@ if $ARGS[0] = 'set_finance':
 			npc_apprnc[$npclastgenerated] = rand(32, 40)
 		end
 
-		$boyClo = 'wearing an expensive suit.'
+		$boyClo = iif(npc_gender[$npclastgenerated] = 0, 'wearing an expensive suit.', 'wearing an expensive dress.')
 	end
 end
 
 
+
 if $ARGS[0] = 'set_preferences':
 	!!requirements of the figure, chest size, hair color.
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = rand(0, 2)
 
 	!character 0 - soft, 1 - norm,  2 - aggressor
-	if rand(0, 100) < 80:
+	temp_rand = rand(0, 100)
+	if temp_rand < 80:
+		izvrat = 0
+	elseif temp_rand < 90 and npc_gender[$npclastgenerated] = 1:
 		izvrat = 0
 	else
 		izvrat = 1
 	end
 
-	!! trying to make the preference section 
+	!! trying to make the preference section
 	!! Variables here are clotTypePrefTmp, clotQualPrefTmp, clotTopPrefTmp, bottShorPrefTmp, clotThinPrefTmp, bimbPrefTmp, pierPrefTmp, tattPrefTmp, lipsPrefTmp, bodyPrefTmp, makePrefTmp, IQPrefTmp.
 
-
 	!!This is for clothing type preference
 	!! If you notice how rare it is to get a preference that is intentional
 	!!0 - none, 1 - cheap, 2 - average, 3 - formal, 4 - fetish.
 	clotTypePrefTmp = 0
 	if rand(0, 4) = 4:
-		if npc_finance[$npclastgenerated] = 0:
-			clotTypePrefTmp = rand(1,2)
-			if rand(0, 1) = 1 and izvrat = 1: clotTypePrefTmp = 4
+		if izvrat = 1 and rand(0, 1 + npc_finance[$npclastgenerated] mod 2) = 0:
+			clotTypePrefTmp = 4
+		elseif npc_finance[$npclastgenerated] = 0:
+			clotTypePrefTmp = rand(1, 2)
 		elseif npc_finance[$npclastgenerated] = 1:
-			clotTypePrefTmp = rand(1,3)
-			if rand(0, 2) = 2 and izvrat = 1: clotTypePrefTmp = 4
+			clotTypePrefTmp = rand(1, 3)
 		elseif npc_finance[$npclastgenerated] = 2:
-			clotTypePrefTmp = rand(2,3)
-			if rand(0, 1) = 1 and izvrat = 1: clotTypePrefTmp = 4
+			clotTypePrefTmp = rand(2, 3)
 		end
 	end
 
 
+
 	!!This is for the quality of clothing
 	!! 0 - no preference, 1 - 1 to 4 units cheap to average (Locked if formal chosen), 2 - 5 to 7 units expensive to ballroom quality (Locked if fetish is chosen)
 	clotQualPrefTmp = 0
-	if rand(0, 5) = 5:
+	if rand(0, 5) = 0:
 		if npc_finance[$npclastgenerated] = 0:
 			clotQualPrefTmp = 1
 		elseif npc_finance[$npclastgenerated] = 1:
 			clotQualPrefTmp = rand(1, 2)
-			randchan = rand(0, 1)
-			if randchan = 0 and clotTypePrefTmp ! 3:
+			temp_rand = rand(0, 1)
+			if temp_rand = 0 and clotTypePrefTmp ! 3:
 				clotQualPrefTmp = 1
-			elseif randchan = 1 and clotTypePrefTmp ! 1:
+			elseif temp_rand = 1 and clotTypePrefTmp ! 1:
 				clotQualPrefTmp = 2
 			end
 		elseif npc_finance[$npclastgenerated] = 2:
-			randchan = rand(0, 2)
-			if randchan = 2 and clotTypePrefTmp ! 1:
+			temp_rand = rand(0, 2)
+			if temp_rand = 2 and clotTypePrefTmp ! 1:
 				clotQualPrefTmp = 2
 			end
 		end
 	end
 
+
 	!!This is for the clothing top cut for the clothing
 
 
@@ -194,56 +240,59 @@ if $ARGS[0] = 'set_preferences':
 	!! It doesn''t matter if your poor or rich, everyone loves tits.
 
 	slutConstant = 0
-	if rand(0, 1) = 1 and izvrat = 1: slutConstant = 1
-
+	if izvrat = 1 and rand(0, 1 + npc_gender[$npclastgenerated]) = 0: slutConstant = 1
 
 	clotTopPrefTmp = 0
-	if rand(0, 2) = 2:
-		randchan = rand(0, 2)
-		if randchan = 0 and clotTypePrefTmp ! 4:
+	if rand(0, 2) = 0:
+		temp_rand = rand(0, 5) - npc_gender[$npclastgenerated]
+		if temp_rand < 2 and clotTypePrefTmp ! 4:
 			clotTopPrefTmp = 1 + slutConstant
-		elseif randchan = 1 and clotTypePrefTmp ! 4:
+		elseif temp_rand < 4 and clotTypePrefTmp ! 4:
 			clotTopPrefTmp = 2 + slutConstant
-		elseif randchan = 2 and clotTypePrefTmp ! 3:
+		elseif temp_rand >= 4 and clotTypePrefTmp ! 3:
 			clotTopPrefTmp = 3
 		end
-		if clotTopPrefTmp ! 0 and titnpc_bust[$npclastgenerated] = 2:
+
+		if clotTopPrefTmp ! 0 and npc_bust[$npclastgenerated] = 2:
 			if clotPref ! 3:
 				clotTopPrefTmp += 1
 			end
 		end
 	end
 
+
 	!! This is for pants and skirt shortness and will be grouped together as such.
 	!! 0 - no preference, 1 - 1 to 2 units or ankle to calf length, 2 - 3 to 4 units or knee to miniskirt, 3 - 5 units to 6 or slut to hoe.
 
 	bottShorPrefTmp = 0
-	if rand(0, 2) = 2:
-		randchan = rand(0, 2)
-		if randchan = 0 and clotTypePrefTmp ! 4:
-			bottShorPrefTmp = 1 
-		elseif randchan = 1:
-			bottShorPrefTmp = 2 
-		elseif randchan = 2:
+	if rand(0, 2) = 0:
+		temp_rand = rand(0, 5) - npc_gender[$npclastgenerated]
+		if temp_rand < 2 and clotTypePrefTmp ! 4:
+			bottShorPrefTmp = 1
+		elseif temp_rand < 4:
+			bottShorPrefTmp = 2
+		elseif temp_rand >= 4:
 			bottShorPrefTmp = 3
 		end
-		if slutConstant = 1 and rand(0, 1) = 1 and clotTypePrefTmp = 4:
+
+		if slutConstant = 1 and rand(0, 1) = 0 and clotTypePrefTmp = 4:
 			bottShorPrefTmp = 3
 		end
 	end
 
+
 	!! This is for clothes thinness.
 	!! 0 - no preference, 1 - 0 to 2 (Conservative), 2 - 3 to 4 (Moderate), 3 - 4 to 6 (really thin)
 	!! I see the moderate to really thin overlapping. Its intentional.
 
 	clotThinPrefTmp = 0
 	if rand(0, 2) = 2:
-		randchan = rand(0, 2)
-		if randchan = 0:
+		temp_rand = rand(0, 5) - npc_gender[$npclastgenerated]
+		if temp_rand < 2:
 			clotThinPrefTmp = 1 + slutConstant
-		elseif randchan = 1:
+		elseif temp_rand < 4:
 			clotThinPrefTmp = 2 + slutConstant
-		elseif randchan = 2 and clotTypePrefTmp ! 3:
+		elseif temp_rand > 4 and clotTypePrefTmp ! 3:
 			clotThinPrefTmp = 3
 		end
 	end
@@ -253,19 +302,20 @@ if $ARGS[0] = 'set_preferences':
 	!! 0 - no preference, 1 - Prefers bimbo clothing.
 
 	bimbPrefTmp = 0
-	if rand(0, 2) = 2 and clotTypePrefTmp ! 3:bimbPrefTmp = 1
+	if rand(0, 2 + 8 * npc_gender[$npclastgenerated]) = 0 and clotTypePrefTmp ! 3: bimbPrefTmp = 1
+
 
 	!!This is to find out if they want you to wear piercings.
 	!! 0 - no preference, 1 - 0 to 2 piercings, 2 - 3 to 5 piercings, 3 - 6 or more piercings.
 
 	pierPrefTmp = 0
 	if rand(0, 3) = 3:
-		randchan = rand(0, 2)
-		if randchan = 0:
+		temp_rand = rand(0, 2)
+		if temp_rand = 0:
 			pierPrefTmp = 1 + slutConstant
-		elseif randchan = 1:
+		elseif temp_rand = 1:
 			pierPrefTmp = 2 + slutConstant
-		elseif randchan = 2:
+		elseif temp_rand = 2:
 			pierPrefTmp = 3
 		end
 	end
@@ -275,41 +325,44 @@ if $ARGS[0] = 'set_preferences':
 	!! 0 - no preference, 1 - 0 to 2 tattoos, 2 - 3 to 5 tattoos, 3 - 6 or more tattoos.
 
 	tattPrefTmp = 0
-	if rand(0, 3) = 3:tattPrefTmp =  rand(1, 3)
+	if rand(0, 3) = 0: tattPrefTmp = rand(1, 3)
+
 
 	!!This is to find out how big they want your lips.
 	!! 0 - no preference, 1 - 2 to 3 units (average) , 2 - 4 units (THIC lips)
 
 	lipsPrefTmp = 0
-	if rand(0, 2) = 2:
-		randchan = rand(0, 2)
-		if randchan = 0:
+	if rand(0, 2 + npc_gender[$npclastgenerated]) = 0:
+		temp_rand = rand(0, 2)
+		if temp_rand = 0:
 			lipsPrefTmp = 1 + slutConstant
-		elseif randchan = 2:
+		elseif temp_rand = 2:
 			lipsPrefTmp = 2
 		end
 	end
 
+
 	!!This is to find out how big they want YOU.
 	!! 0 - no preference, 1 - 1 to 3 units (Skinny) , 2 - 3 to 6 units (Average), 3 - 6 + units (THIC)
 	!! Notice how this one overlaps. I believe that it should because changing ones weight is very hard.
 
 	bodyPrefTmp = 0
-	if rand(0, 3) = 3:bodyPrefTmp = rand(1, 3) 
+	if rand(0, 3) = 0: bodyPrefTmp = rand(1, 3)
+
 
 	!!This is to find out how much makeup they want you to wear.
 	!! 0 - no preference, 1 - 1 (light makeup) , 2 - 2 (moderate makeup), 3 - 3(heavy makeup)
 	!! Plan to make a way for you to set what you makeup you want to wear at your bedside and giving into his wishes would automatically change the automated setting.
 
 	makePrefTmp = 0
-	if rand(0, 1) = 1:
-		randchan = rand(0, 2)
-		if randchan = 0:
+	if rand(0, 1) = 0:
+		temp_rand = rand(0, 5) - npc_gender[$npclastgenerated]
+		if temp_rand < 2:
 			makePrefTmp = 1 + slutConstant 
-		elseif randchan = 1:
+		elseif temp_rand < 4:
 			makePrefTmp = 2 + slutConstant
-		elseif randchan = 2 and clotTypePrefTmp ! 3:
-			makePrefTmp = 3 
+		elseif temp_rand >= 4 and clotTypePrefTmp ! 3:
+			makePrefTmp = 3
 		end
 	end
 
@@ -318,11 +371,18 @@ if $ARGS[0] = 'set_preferences':
 	!!0 - no preference, 1 - 1 to 30 intelligence, 2 - 30 to 85 intelligence, 3 - 85 + intelligence. 
 
 	IQPrefTmp = 0
-	if rand(0, 4) = 4: IQPrefTmp = rand(1, 3)
+	if rand(0, 4) = 0:
+		if npc_gender[$npclastgenerated] = 0:
+			IQPrefTmp = rand(1, 3)
+		else
+			!! IQPrefTmp is capped at 3. With old code: rand(1, 2) + rand(1, 2) + rand(0,1) => 1/8 chance for 2 else 3 (or more)
+			IQPrefTmp = min(rand(2, 9), 3)
+		end
+	end
 
-	killvar 'randchan'
+	killvar 'temp_rand'
 end
 
 
---- boy ---------------------------------
+--- boygirl ---------------------------------
 

+ 12 - 13
locations/brothel.qsrc

@@ -35,15 +35,15 @@ $rec_font = '585858'
 
 dbg = 0
 if dbg = 1:
-	'loc: '+$loc
-	'args: '+$ARGS[0]
-	'session: '+$sessionB
-	'stage: '+stage
-	'pain: '+pain['total']
-	'step: '+step
-	'bonus '+bonus
-	'custTime '+custTime
-	'caneFeetCount '+caneFeetCount
+	'loc: ' + $loc
+	'args: ' + $ARGS[0]
+	'session: ' + $sessionB
+	'stage: ' + stage
+	'pain: ' + pain['total']
+	'step: ' + step
+	'bonus: ' + bonus
+	'custTime: ' + custTime
+	'caneFeetCount: ' + caneFeetCount
 end
 
 if orgasmMeter > 100: orgasmMeter = 100
@@ -605,8 +605,7 @@ if $ARGS[0] = 'brothel_dressingroom':
 	if mc_inventory['razor'] > 0: dynamic $brit
 	if mc_inventory['painkillers'] > 0 and pain['total'] >0 and pain['killer'] = 0:
 		act 'Take a painkiller':
-			pain['killer'] += 1
-			mc_inventory['painkillers'] -= 1
+			gs 'drugs', 'painkiller'
 			pcs_hydra += 20
 			gt 'brothel', 'brothel_dressingroom', $ARGS[1]
 		end
@@ -2316,7 +2315,7 @@ if $ARGS[0] = 'section2_lobby':
 	'The section 2 lobby. This lobby is quite small, offering only enough room for a couch and a small table.'
 	'Only a single room is attached to the lobby by a wide door.Judging by the state of the floor, a lot of heavy equipment is regularly dragged in and out.'
 	'One of the doors also leads to a <a href="exec:gt ''brothel'', ''brothel_dressingroom'',''2''">room</a> made for the girls. '
-	if (klismaday = daystart and pcs_leghair <= 3 and pcs_pubes <= 3 and pcs_hairbsh = 1 and pcs_makeup > 2 and pcs_lipbalm >= 1 and $pantyworntype = 'none' and $clothingworntype = 'nude' and (cumloc[1] = 0 and cumloc[4] = 0 and cumloc[8] = 0 and cumloc[9] = 0 and cumloc[10] = 0 and cumloc[11] = 0 and cumloc[15] = 0 and cumloc[16] = 0 and cumloc[17] = 0) and pcs_sweat < 40 and alko < 3 and StrongNarkota = 0 or jointhigh = 0):
+	if (klismaday = daystart and pcs_leghair <= 3 and pcs_pubes <= 3 and pcs_hairbsh = 1 and pcs_makeup > 2 and pcs_lipbalm >= 1 and $pantyworntype = 'none' and $clothingworntype = 'nude' and (cumloc[1] = 0 and cumloc[4] = 0 and cumloc[8] = 0 and cumloc[9] = 0 and cumloc[10] = 0 and cumloc[11] = 0 and cumloc[15] = 0 and cumloc[16] = 0 and cumloc[17] = 0) and pcs_sweat < 40 and alko < 3 and drugVars['heroin_high'] = 0 or drugVars['weed_high'] = 0):
 		!!stage = 1
 		!!act 'Party with a client': gt 'brothel', 'section2_party'
 		!!act 'Have a bender': gt 'brothel', 'section2_bender'
@@ -2333,7 +2332,7 @@ if $ARGS[0] = 'section2_lobby':
 		if $pantyworntype ! 'none': '- remove your panties.'
 		if $clothingworntype ! 'nude': '- strip off your clothes.'
 		if alko > 3: '- be not drunk'
-		if StrongNarkota > 0 or jointhigh > 0: '- be sober'
+		if drugVars['heroin_high'] > 0 or drugVars['weed_high'] > 0: '- be sober'
 	end
 	act 'Go to the girl''s room':gt 'brothel', 'brothel_dressingroom', '2'
 	act 'Go to the reception': gt 'brothel', 'reception'

+ 2 - 1
locations/brother_shower_sex.qsrc

@@ -354,7 +354,7 @@ if $ARGS[0] = 'brother_shower_anal_vagv_analv':
 		'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex1.jpg"></center>'
 		'"Don''t be a smartass!" It irritates you that he jokes about a monthly task that he doesn''t have to do. A thought then comes through your head, and you gulp nervously. "Unless... Would you... Do you want... Want to try anal instead? I know it''s not-"'
 		'"Yes!" Kolka says, interrupting you mid-sentence with much more enthusiasm than you were expecting.'  
-		'"Okay, but go slow. I''ve never done this before," you tell him.'
+		if stat['anal'] = 0: '"Okay, but go slow. I''ve never done this before," you tell him.'
 		act 'Prepare yourself':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/home/bathroom/broshower2.mp4"></center>'
@@ -362,6 +362,7 @@ if $ARGS[0] = 'brother_shower_anal_vagv_analv':
 			'You turn your back to him, unsure of what to do, so you decide to use your hands to keep your cheeks parted.  He puts one hand on your hip and slowly pushes the tip of his penis against your anus.'
 			'You suddenly panic about the lack of any lube, but decide that the water will be enough. At least you hope it will.'
 			guy += 1
+			anal_slip += rand(4,6)
 			$orgasm_or = 'no'
 			gs 'arousal', 'anal', 2
 			gs 'stat'

+ 38 - 34
locations/brother_voyeur.qsrc

@@ -8,6 +8,10 @@ if (npc_dob['A34'] mod 10000)/100 = month and (npc_dob['A34'] mod 100) > day: br
 dick = npc_dick['A<<34>>']
 if npc_QW['A34'] > 20 and npc_QW['A34'] < 25: npc_QW['A34'] = 20
 
+razors_to_use['all']   = min(3, max(1, (pcs_leghair*4 + max(0, pcs_pubes-shave_length))/20))
+razors_to_use['pussy'] = min(2, max(1, (max(0, pcs_pubes-shave_length))/20))
+razors_to_use['legs']  = min(3, max(1, (pcs_leghair*4)/20))
+
 !! Variables used
 !! brothersawpirsF: Flag 0/1 Have your brother seen your nipple piercings
 !! npc_rel['A34']: relationship
@@ -687,7 +691,7 @@ if $ARGS[0] = 'brother_wash':
 			'As you rinse off, your brother gives a meaningful look at your lower body and you follow his gaze to your <<$pc_desc[''pubes'']>> pussy.'
 		end
 		'"Aren''t you going to shave?"'
-		if mc_inventory['razor'] =  0:
+		if mc_inventory['razor'] = 0:
 			act'"I can''t. I don''t have any razors"':
 				cla & *nl
 				brothershave[1] = daystart + 2
@@ -779,7 +783,7 @@ if $ARGS[0] = 'brother_shower_shave':
 		'"Yeah, you''re probably right. I should shave," you say looking down at yourself, frowning at the growing body hair.'
 	end
 	
-	if pcs_leghair > 3 and pcs_pubes > 3 and mc_inventory['razor'] =  1:
+	if pcs_leghair > 3 and pcs_pubes > 3 and mc_inventory['razor'] < razors_to_use['all']:
 		msg'As you pick up your razor, you realize that it''s probably only sharp enough for one more use. You''ll have to decide between a <<$pc_desc[''pubes'']>> pussy or <<$pc_desc[''legs'']>> legs.'
 	else
 		*nl
@@ -797,7 +801,7 @@ if $ARGS[0] = 'brother_shower_shave':
 end
 
 if $ARGS[0] = 'shave_both':
-	if mc_inventory['razor'] >= 2:
+	if mc_inventory['razor'] >= razors_to_use['all']:
 		if pcs_leghair > 3 and pcs_pubes > 3:
 			act 'Shave your legs and pussy (0:15)':
 				npc_rel['A34'] += 3
@@ -807,7 +811,7 @@ if $ARGS[0] = 'shave_both':
 				pcs_pubes = 0
 				pcs_horny += 5
 				brothershave += 1
-				mc_inventory['razor'] -=  2
+				mc_inventory['razor'] -= razors_to_use['all']
 				'<center><video autoplay loop src="images/shared/home/bathroom/shave.mp4"></center>'
 				'"Yeah, sure. Why not?" you smile.'
 				'You lather up your legs and crotch and then start carefully shaving them. Kolka stares at you and watches the process intently.'
@@ -846,21 +850,21 @@ if $ARGS[0] = 'shave_both':
 end
 
 if $ARGS[0] = 'shave_legs':
-	if pcs_leghair > 3:
+	if pcs_leghair > 3 and mc_inventory['razor'] >= razors_to_use['legs']:
 		act 'Shave your legs (0:05)':
 			npc_rel['A34'] += 2
 			cla & *clr
 			minut += 5
 			pcs_leghair = 0
 			pcs_horny += 5
-			mc_inventory['razor'] -=  1
+			mc_inventory['razor'] -= razors_to_use['legs']
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave2.jpg"></center>'
 			'You lather up your legs and then start carefully shaving them.'
 			*nl
 			if pcs_pubes > 3:
 				'Kolka frowns. "You''re not going to shave your '+iif(pcs_pubes <= 20, 'pussy?"', 'bush?"')
-				if mc_inventory['razor'] =  0:
+				if mc_inventory['razor'] < razors_to_use['pussy']:
 					act'"I can''t. Razor''s gone dull"':
 						cla & *nl
 						'"I couldn''t even if I wanted to," you say to him wistfully. He looks at you in confusion. "Razor''s gone dull." You thumb the razor to show him. Need a sharp razor to shave. <i>Especially</i> down there," you smile.'
@@ -890,7 +894,7 @@ if $ARGS[0] = 'shave_legs':
 
 						if brotherfuck > 0 or brotherbj > 0 or brotherwash > 5: gs 'brother_voyeur', 'get_frisky'
 					end
-					if pcs_pubes < 21:
+					if pcs_pubes < 21 or shave_length > 0:
 						act'"Nope! I''m thinking of growing it out"':
 							cla & *nl
 							'"Nope! I''m thinking about growing it out," you say cheerfully, smiling at him.'
@@ -956,7 +960,7 @@ if $ARGS[0] = 'shave_legs':
 						pcs_horny += 5
 						brothershave += 1
 						minut += 5
-						mc_inventory['razor'] -=  1
+						mc_inventory['razor'] -= razors_to_use['pussy']
 						gs 'stat'
 						'<center><video autoplay loop src="images/shared/home/bathroom/shave.mp4"></center>'
 						'"Hmm..." You think to yourself for a moment. "Maybe you''re right after all," you say and start lathering up your crotch.'
@@ -988,7 +992,7 @@ if $ARGS[0] = 'shave_legs':
 end
 
 if $ARGS[0] = 'shave_pussy':
-	if pcs_pubes > shave_trigger:
+	if pcs_pubes > shave_trigger and mc_inventory['razor'] >= razors_to_use['pussy']:
 		act 'Shave your pussy (0:05)':
 			npc_rel['A34'] += 3
 			cla & *clr
@@ -999,7 +1003,7 @@ if $ARGS[0] = 'shave_pussy':
 				pcs_pubes = 0
 			end
 			pcs_horny += 5
-			mc_inventory['razor'] -=  1
+			mc_inventory['razor'] -= razors_to_use['pussy']
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
 			if brother_shower['shave_ask2'] = daystart:
@@ -1011,7 +1015,7 @@ if $ARGS[0] = 'shave_pussy':
 			
 			if pcs_leghair > 3:
 				'Kolka frowns. "You''re not going to shave your legs?"'
-				if mc_inventory['razor'] =  0:
+				if mc_inventory['razor'] < razors_to_use['legs']:
 					act'"I can''t. Razor''s gone dull"':
 						cla & *nl
 						'"I couldn''t even if I wanted to," you say to him wistfully. He looks at you in confusion. "Razor''s gone dull." You thumb the razor to show him. Need a sharp razor to shave. <i>Especially</i> down there," you smile.'
@@ -1032,7 +1036,7 @@ if $ARGS[0] = 'shave_pussy':
 						pcs_horny += 5
 						brothershave += 1
 						minut += 5
-						mc_inventory['razor'] -=  1
+						mc_inventory['razor'] -= razors_to_use['legs']
 						gs 'stat'
 						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave2.jpg"></center>'
 						'"Hmm..." You think to yourself for a moment. "Maybe you''re right after all," you say and start lathering up your legs and begin carefully shaving them.'
@@ -1253,7 +1257,7 @@ if $ARGS[0] = 'shave':
 		elseif pcs_leghair > 3 and pcs_pubes <= 3:
 			'His lips twisted in thought, he says, "You''re looking a little hairy down there." You follow his gaze to look at your <<$pc_desc[''legs'']>> legs. "Aren''t you going to shave?"'
 		end
-		if mc_inventory['razor'] =  0:
+		if mc_inventory['razor'] = 0:
 			act'"I can''t. I don''t have any razors"':
 				cla
 				*nl
@@ -1263,7 +1267,7 @@ if $ARGS[0] = 'shave':
 			end
 
 		else
-			if pcs_leghair > 3 and pcs_pubes > 3 and mc_inventory['razor'] =  1:
+			if pcs_leghair > 3 and pcs_pubes > 3 and mc_inventory['razor'] < razors_to_use['all']:
 				msg 'As you pick up your razor, you realize that it''s probably only sharp enough for shaving one set of things. If you want to shave you''ll have to decide between keeping a <<$pc_desc[''pubes'']>> pussy or <<$pc_desc[''legs'']>> legs.'
 			end
 
@@ -1315,7 +1319,7 @@ if $ARGS[0] = 'shave':
 				end
 			end
 
-			if pcs_leghair > 3 and pcs_pubes > 3 and mc_inventory['razor'] > 1:
+			if pcs_leghair > 3 and pcs_pubes > 3 and mc_inventory['razor'] >= razors_to_use['all']:
 				act 'Shave your legs and pussy (0:15)':
 					cla & *clr
 					minut += 15
@@ -1323,7 +1327,7 @@ if $ARGS[0] = 'shave':
 					pcs_pubes = 0
 					pcs_horny += 5
 					brothershave += 1
-					mc_inventory['razor'] -=  2
+					mc_inventory['razor'] -= razors_to_use['all']
 					inhib_exp += rand(1,3)
 					gs 'stat'
 					'<center><video autoplay loop src="images/shared/home/bathroom/shave.mp4"></center>'
@@ -1340,13 +1344,13 @@ if $ARGS[0] = 'shave':
 				end
 			end
 
-			if pcs_leghair > 3:
+			if pcs_leghair > 3 and mc_inventory['razor'] >= razors_to_use['legs']:
 				act 'Shave your legs (0:05)':
 					*clr & cla
 					minut += 5
 					pcs_leghair = 0
 					pcs_horny += 5
-					mc_inventory['razor'] -=  1
+					mc_inventory['razor'] -= razors_to_use['legs']
 					inhib_exp += rand(1,2)
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave2.jpg"></center>'
@@ -1354,7 +1358,7 @@ if $ARGS[0] = 'shave':
 					'You lather up your legs and then start carefully shaving them.'
 					if pcs_pubes > 3:
 						'Kolka frowns. "You''re not going to shave your pussy?"'
-						if mc_inventory['razor'] =  0:
+						if mc_inventory['razor'] < razors_to_use['pussy']:
 							act'"I can''t. Razor''s gone dull"':
 								cla
 								*nl
@@ -1371,7 +1375,7 @@ if $ARGS[0] = 'shave':
 								act'Dry off':gt'brother_voyeur','dryoff'
 							end
 
-							if pcs_pubes < 21:
+							if pcs_pubes < 21 or shave_length > 0:
 								act'"Nope! I''m thinking of growing it out"':
 									cla
 									*nl
@@ -1413,7 +1417,7 @@ if $ARGS[0] = 'shave':
 								pcs_horny += 5
 								brothershave += 1
 								minut += 5
-								mc_inventory['razor'] -=  1
+								mc_inventory['razor'] -= razors_to_use['pussy']
 								'<center><video autoplay loop src="images/shared/home/bathroom/shave.mp4"></center>'
 								if pcs_pubes < 11:
 									'<br>"Hmm..." You think to yourself for a moment. "Maybe you''re right after all," you say and start lathering up your crotch.<br>Kolka stares at you intensely as you carefully remove the bits of stubble from around your pussy.'
@@ -1436,8 +1440,8 @@ if $ARGS[0] = 'shave':
 					end
 				end
 			end
-			if pcs_pubes > shave_trigger:
-				act'"Hmm, maybe you''re right"':
+			if pcs_pubes > shave_trigger and mc_inventory['razor'] >= razors_to_use['pussy']:
+				act'Shave your pussy (0:10)':
 					cla & *clr
 					if pubestyle > 0 or pubestyle = 10:
 						pcs_pubes = shave_length
@@ -1447,7 +1451,7 @@ if $ARGS[0] = 'shave':
 					pcs_horny += 5
 					brothershave += 1
 					minut += 5
-					mc_inventory['razor'] -=  1
+					mc_inventory['razor'] -= razors_to_use['pussy']
 					inhib_exp += 1
 					gs 'stat'
 					'<center><video autoplay loop src="images/shared/home/bathroom/shave.mp4"></center>'
@@ -1500,11 +1504,11 @@ if $ARGS[0] = 'shave':
 		end
 	else
 		'<center><video autoplay loop src="images/shared/home/bathroom/brothershowertalk.mp4"></center>'
-		if pcs_leghair >= 4 and pcs_pubes >= shave_trigger and mc_inventory['razor'] > 0:
+		if pcs_leghair >= 4 and pcs_pubes >= shave_trigger and mc_inventory['razor'] >= razors_to_use['all']:
 			'While rinsing off, you notice your legs and pussy could use a shave. You look up and Kolka is still looking at the wall.'
-		elseif pcs_leghair < 4 and pcs_pubes >= shave_trigger and mc_inventory['razor'] > 0:
+		elseif pcs_leghair < 4 and pcs_pubes >= shave_trigger and mc_inventory['razor'] >= razors_to_use['pussy']:
 			'While rinsing off, you notice that your pussy could use a shave. You look up and Kolka is still looking at the wall.'
-		elseif pcs_leghair >= 4 and pcs_pubes < shave_trigger and mc_inventory['razor'] > 0:
+		elseif pcs_leghair >= 4 and mc_inventory['razor'] >= razors_to_use['legs']:
 			'While rinsing off, you notice your legs could use a shave. You look up and Kolka is still looking at the wall.'
 		end
 		'Do you want to shave right now?'
@@ -1515,7 +1519,7 @@ if $ARGS[0] = 'shave':
 			act'Dry off':gt'brother_voyeur','dryoff'
 		end
 
-		if mc_inventory['razor'] > 1 and pcs_leghair > 3 and pcs_pubes > 3:
+		if mc_inventory['razor'] >= razors_to_use['all'] and pcs_leghair > 3 and pcs_pubes > 3:
 			act'Shave your legs and pussy (0:15)':
 				cla & *clr
 				minut += 15
@@ -1526,7 +1530,7 @@ if $ARGS[0] = 'shave':
 					pcs_pubes = 0
 				end
 				pcs_horny += 5
-				mc_inventory['razor'] -=  2
+				mc_inventory['razor'] -= razors_to_use['all']
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
 				'You casually continue the conversation with your brother while lathering up your legs and crotch before starting to carefully shave them. You notice your brother make a few curious peeks but decide not to say anything and simply continue on with your business and the conversation.'
@@ -1535,13 +1539,13 @@ if $ARGS[0] = 'shave':
 			end
 		end
 
-		if mc_inventory['razor'] > 0 and pcs_leghair > 3:
+		if mc_inventory['razor'] >= razors_to_use['legs'] and pcs_leghair > 3:
 			act'Shave your legs (0:05)':
 				*clr & cla
 				minut += 5
 				pcs_leghair = 0
 				pcs_horny += 5
-				mc_inventory['razor'] -=  1
+				mc_inventory['razor'] -= razors_to_use['legs']
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave2.jpg"></center>'
 				'You casually continue the conversation with your brother while lathering up your legs before starting to carefully shave them. You notice your brother make a few curious peeks but decide not to say anything and simply continue on with your business and the conversation.'
@@ -1550,7 +1554,7 @@ if $ARGS[0] = 'shave':
 			end
 		end
 
-		if mc_inventory['razor'] > 0 and pcs_pubes > 3:
+		if mc_inventory['razor'] >= razors_to_use['pussy'] and pcs_pubes > 3:
 			act'Shave your pussy (0:10)':
 				cla
 				*clr
@@ -1561,7 +1565,7 @@ if $ARGS[0] = 'shave':
 					pcs_pubes = 0
 				end
 				pcs_horny += 5
-				mc_inventory['razor'] -=  1
+				mc_inventory['razor'] -= razors_to_use['pussy']
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/shave3.jpg"></center>'
 				'You casually continue the conversation with your brother while lathering up the area between your legs before starting to carefully shave it. You notice your brother make a few curious peeks but you decide not to say anything and simply continue on with your business and the conversation.'

+ 0 - 1625
locations/brother_voyeur_sex.qsrc

@@ -1,1625 +0,0 @@
-# brother_voyeur_sex
-
-if $ARGS[0] = 'brother_shower_bj':
-	gs 'boystat','A34'
-	npc_rel['A34'] += 3
-	brotherbj += 1
-	brothershowerbj = daystart
-	if brotherSex < 6:brotherSex = 6
-	cla & *clr
-	'<center><video autoplay loop src="images/shared/home/bathroom/showerbj.mp4"></center>'
-	'Kneeling down, you take Kolka''s freshly washed cock and push it between your lips, sucking gently. Several minutes go by while you to continue blowing your brother, going slowly up and down his length, the sound of water raining down from the showerhead muting the soft slurping sounds coming from your mouth.'
-	gs 'arousal', 'bj', rand(3,5)
-	gs 'stat'
-	act'Keep sucking':
-		cla
-		gs 'arousal', 'bj', rand(1,5)
-		brotherbjfinish = rand(1,2)
-		if brotherbjfinish = 1:
-			gs 'cum_call', 'mouth', 'A34', 1
-			brotherbjcomment = rand(1,2)
-			gs 'stat'
-
-			gt'brother_voyeur_sex','shower_swallow'
-		else
-			*nl
-			'"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_swallow', 'A34', 1
-				gs 'arousal', 'end'
-				gs 'stat'
-				*nl
-				'Despite his pleas to let him blow his load on your face, you keep sucking until you taste hot liquid spilling into your mouth.'
-				act'Swallow':
-					cla
-					*nl
-					'You swallow his load with a gulp, showing your clean tongue and smiling after you do.'
-					'"Thanks for the warning Kolka. I really appreciate it," you say, standing up.'
-					'"But I wanted to cum on your face..." he says, disappointment seeping from his voice.'
-					act'I was having too much fun':
-						cla & *clr
-						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-						'"Sorry Kolka, I just couldn''t help myself! Blowing you was too much fun and I didn''t want to stop." You keep licking and sucking on his tip as if to make your point. "I hope you''ll forgive me."'
-						'"Okay, fine... " He''s still clearly disappointed but he nods anyways. "But next time I want to cum on your face!"'
-						'"Maybe," you say with is what is probably a very frustrating wink.'
-						act'Finish showering together':gt'brother_voyeur','brother_shower_end'
-					end
-
-					act'But I just washed my face':
-						cla & *clr
-						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-						'"But I just washed my face, Kolka. I don''t want to get cum on it after that."'
-						'"But we''re in the shower!" he protests. "What does it matter if I cum on your face? You can just rinse it off two seconds later!"'
-						act'Cum is hard to clean':
-							cla
-							*nl
-							'"Cum is hard to clean off! Even in the shower! It''s all sticky and gets everywhere. Even if you wipe it off your face, it gets on your hands, and then you have to be careful to get it all off before you run it through your hair."'
-							'Kolka opens his mouth to say something but nothing comes out. Guess he thought better of it.'
-							'"Hrmph! Always asking to cum on a girl''s face, never thinking about what a mess it makes or the trouble it causes for her! Boys!"'
-							act'Finish showering together':gt'brother_voyeur','brother_shower_end'
-						end
-
-						act'Cum is still dirty':
-							cla
-							*nl
-							'"So what? It''s still dirty. It''s a sticky fluid that came out of your dick! That makes it dirty and would mean I''d have to use soap, which I don''t feel like doing twice. You should be grateful that I even swallowed!"'
-							'"It''s not dirty! Besides, I hear that cum is good for a girl''s skin. You should be <i>asking</i> me to cum on your face!"'
-							'"Pfft~!" You roll your eyes. "And where did you hear that? From some porno you were watching with your friends?"'
-							'"No!" he says quickly. You turn off the water and pull back the curtain, rolling your eyes again. "... maybe..." you hear him mutter again under his breath behind you.'
-							act'Finish showering together':gt'brother_voyeur','brother_shower_end'
-						end
-					end
-
-					if pcs_traits['cumeater'] = 1:
-						act'I didn''t want to waste it':
-							cla & *clr
-							'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-							'"I didn''t want to waste it. It''s one of my favorite treats!" you say, licking your lips.'
-							'Your brother stares at you for a moment, giving you a look.'
-							'"Slut." he says.'
-							'"Cum dispenser." you smile back.'
-							act'Finish showering together':gt'brother_voyeur','brother_shower_end'
-						end
-					end
-				end
-
-				act'Spit':
-					cla
-					*nl
-					'Opening your mouth, you drool and let his cum drip down off your tongue before wadding up what''s left and spitting it onto the bottom of the bathtub.'
-					'"Thanks for the warning Kolka. I really appreciate it," you say, smiling as you standing up.'
-					'"But I wanted to cum on your face..." he says, disappointment seeping from his voice.'
-					act'I was having too much fun':
-						cla & *clr
-						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-						'"Sorry Kolka, I just couldn''t help myself! Blowing you was too much fun and I didn''t want to stop." You keep licking and sucking on his tip as if to make your point. "I hope you''ll forgive me."'
-						'"You could have at least swallowed if you weren''t going to let me give you a facial," he grumbles as you stand up.'
-						'"Maybe next time," you say with is what is probably a very frustrating wink.'
-						act'Finish showering together':gt'brother_voyeur','brother_shower_end'
-					end
-
-					act'But I just washed my face':
-						cla & *clr
-						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-						'"But I just washed my face, Kolka. I don''t want to get cum on it after that."'
-						'"But we''re in the shower!" he protests. "What does it matter if I cum on your face? You can just rinse it off two seconds later!"'
-						act'Cum is hard to clean':
-							cla
-							*nl
-							'"Cum is hard to clean off! Even in the shower! It''s all sticky and gets everywhere. Even if you wipe it off your face, it gets on your hands, and then you have to be careful to get it all off before you run it through your hair."'
-							'Kolka opens his mouth but nothing comes out. Guess he thought better of whatever he was about to say.'
-							'"Hrmph! Always asking to cum on a girl''s face, never thinking about what a mess it makes or the trouble it causes for her! Boys!"'
-							act'Finish showering together':gt'brother_voyeur','brother_shower_end'
-						end
-
-						act'It''s still dirty':
-							cla
-							*nl
-							'"So what? It''s still dirty. It''s a sticky fluid that comes out of your dick! That makes it dirty and would mean I''d have to use soap, which I don''t feel like doing twice."'
-							'"It''s not dirty! Besides, I hear that cum is good for a girl''s skin. You should be <i>asking</i> me to cum on your face!"'
-							'"Pfft~!" You roll your eyes. "And where did you hear that? From some porno you were watching with your friends?"'
-							'"No!" he says quickly. You turn off the water and pull back the curtain, rolling your eyes again. "... maybe..." you hear him mutter again under his breath.'
-							act'Finish showering together':gt'brother_voyeur','brother_shower_end'
-						end
-					end
-				end
-			end
-			act'Let him cum on your face':gt'brother_voyeur_sex','shower_facial'
-		end
-	end
-
-	act'Let him fuck you':gt'brother_voyeur_sex','brother_shower_fuck'
-	act'Offer him your ass':gt'brother_voyeur_sex','brother_shower_anal'
-end
-
-
-if $ARGS[0] = 'brother_shower_fuck_first':
-	npc_rel['A34'] += 20
-	gs 'boystat','A34'
-	cla & *clr
-	if brotherSex < 7:brotherSex = 7
-	'<center><video autoplay loop src="images/shared/home/bathroom/broshower2.mp4"></center>'
-	'You lean back into your brother, gripping his member and jerking it a few times to make sure he''s still hard enough for what you want to do next. You pull on him, carefully guiding his cock until you can feel the tip pressing against the entrance of pussy.'
-	if brother_knows_not_virgin = 1:
-		brotherfuck += 1
-		'"I was wondering if you were going to let me join the "Boys Who Fuck <<$pcs_nickname>>" Club," he says, grin radiating from behind you.'
-		*nl
-		act'It''s pretty exclusive':
-			cla
-			brotherclub = 1
-			'"Be grateful little brother. It''s a pretty exclusive club that not a lot of people get access to. What''re you trying to say about your dear sister? I might take offense to something like that," you say, putting on a pouty face.'
-			'His eyes go wide and immediately begins sputtering, his bravado evaporating instantaneously at the possibility that he might not get laid.'
-			'"I didn''t-! I just meant-! Sorry... I just... I mean... I''ve never been with a girl before... And you''re just so hot, and... I can''t believe you''d let me... You know... With you..." You laugh internally at his clumsy explanation but keep up your false face of disapproval. His eyes go even wider and he says, "Please! Don''t-! Don''t be mad... please..." You smile breaks through, deciding to stop messing around and let him off the hook. His embarrassment is kind of endearing. Your brother can be such a sweet boy sometimes.'
-			!!'"Not many <b>members</b> huh?" he says meaningfully, his dick twitching under your touch. You smile at him.'
-			'"It''s okay Kolka. I''m not mad. Let''s get you into the club. Why don''t I show you the <b>member only</b> entrance?"'
-			'"Don''t you mean member<b>s</b> only entrance sis?" he asks, confused.'
-			'"That''s not what I said," you whisper, pushing your hips back and swallowing him straight to the hilt.'
-			act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first3'
-		end
-		act'This doesn''t make you''re special':
-			cla
-			brotherclub = 1
-			'"Sorry to say kiddo, but this doesn''t make you special," you smile wryly at him over your shoulder.'
-			'"What do you mean?" he asks, grin disappearing.'
-			'"There''s been a lot of members in that club." You position his tip at your entrance, lining him up for what you''re about to do next.'
-			'"A <b>lot.</b> Of <b>members.</b>" On your emphasized words, you thrust your hips backward to take his entire cock inside you in one go, causing your brother to gasp and grab you by the hips to steady himself.'
-			'"Inside. <i>My. <b>''Club.''</i></b>" you whisper into his ear.'
-			act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first3'
-		end
-	else
-		brotherfuck += 1
-		'You feel Kolka tense up behind you and he hesitates.'
-		'"Is this...? Are you...?"'
-		'"My first time? A virgin?"'
-		*nl
-		if stat['vaginal'] = 0:
-			act'Yes, I''m a virgin':
-				npc_rel['A34'] += 20
-				cla
-				'"Yeah. I am." You smile at him. "I''m giving my first time to you little brother."'
-				'Still smiling, you push your ass towards him and impale yourself on his cock.'
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first2'
-			end
-
-			act'No, I''m not (lie)':
-				cla
-				brothervirginlie = 1
-				'"Nope!" You smile at him. "Sorry to disappoint, but I lost my virginity a while back little brother."'
-				'You''re not really sure why you''re lying to him about this, but there''s no time to think about that as you push your ass towards him and impale yourself on his cock.'
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first2'
-			end
-
-			act'No, I''m a slut (lie)':
-				cla
-				brothervirginlie = 2
-				'"Nope!" You smile at him. "Sorry to disappoint, but yours is just going to be one more of many different dicks that have been inside my pussy little brother."'
-				'You''re not really sure why you''re lying to him about this, especially with the implication that you''re a huge slut, but there''s no time to think about that as you push your ass towards him and impale yourself on his cock.'
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first2'
-			end
-		else
-			act'No, I''m not':
-				cla
-				'"Nope!" You smile at him. "Sorry to disappoint, but I lost my virginity a while back little brother."'
-				'With one more quick jerk on his cock for good measure and push your ass towards him, swallowing his length with your pussy.'
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first2'
-			end
-
-			act'No, I''m a slut':
-				cla
-				brother_knows_not_virgin = 1
-				'"Nope!" You smile at him. "Sorry to disappoint, but yours is just going to be one more of many different dicks that have been inside my pussy little brother."'
-				'You''re not really sure why you''re telling him about this, especially with the implication that you''re a huge slut, but there''s no time to think about that as you thrust your hips backward to take his entire length inside you in one go. Your brother gasps at the rush of having his cock entirely swallowed by your pussy, grabbing you by the hips to steady himself.'
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first3'
-			end
-
-			act'Yes, you''re my first time (lie)':
-				npc_rel['A34'] += 10
-				cla
-				brothervirginlie = 3
-				'"Yeah. I am." You smile at him. "You''re my first time little brother."'
-				if guy >= 10:'You feel a little bad for lying to him, but you figure it''ll probably make him feel special if he thinks you''re giving him your virginity, especially considering the numerous quantity of dicks that''ve been inside you. You give his cock one more quick jerk for good measure and start pushing him in.'
-				if guy < 10:'You feel a little bad for lying to him, but you figure it''ll probably make him feel special if he thinks you''re giving him your virginity. You give his cock one more quick jerk for good measure and start pushing him inside you.'
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_first2'
-			end
-		end
-	end
-end
-
-if $ARGS[0] = 'brother_shower_fuck_first2':
-	eff_contra = iif(argc > 1,ARGS[1],sexcontra)
-	tmp = func('pregriskeval',eff_contra)
-	cla & *clr
-	if pcs_vag = 0:
-		'<center><video autoplay loop src="images/shared/home/bathroom/broshowervirgin.mp4"></center>'
-		'Holding your breath, you push back on Kolka, feeling his tip stretch your pussy. He eventually pushes the entire length of his cock inside causing you to gasp in pain as his <<npc_dick[''A34'']>> cm dick tears through your hymen. Despite your pain, neither of you stop moving, continuing to thrust against each other.'
-		!!elseif stat['hidden_vaginal'] > 0:
-		!!	'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-		!!	'Kolka slides inside you with surprising ease. Though his dick still stretches your pussy, you find it to be pleasant instead of painful. Of course you''ve heard stories that say it doesn''t hurt for some girls, but you always thought it was a myth or at least a rare occurrence. <i>I must be pretty lucky!<</i> you think to yourself.'
-	else
-		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-		'Your pussy easily swallows your brother''s <<npc_dick[''A34'']>> cm cock and you immediately start building into a rhythm, pushing back on him in time with his thrusts for maximum depth of penetration.'
-	end
-
-	act'Continue':
-		cla & *clr
-		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-		if pcs_vag = 0:
-			'Several minutes pass and your pain is long forgotten. The only thing you can feel now is the ecstasy of Kolka''s cock pumping in and out of your pussy. His hands come up to grope your breasts and you moan in pleasure. Is this what sex is? How did you live your life without it? Why did you wait so long to lose your virginity? Why didn''t you jump on your brother''s cock sooner?!'
-		elseif stat['hidden_vaginal'] > 0 and stat['vaginal'] = 0:
-			'Several minutes go by and you find yourself thoroughly enjoying your brother''s cock pump in and out of your pussy. His hands grope your breasts and you moan in pleasure. Is this what sex is? How did you live your life without it? Why did you wait so long to lose your virginity? Why didn''t you jump on your brother''s cock sooner?!'
-		else
-			'Several minutes go by as you enjoy Kolka''s cock. His hands come up to grope you, and you moan in pleasure, your breasts being used as leverage to fuck you harder. Fuck! He''s pretty good for his first time. Maybe you should have jumped on your brother''s dick ages ago!'
-		end
-		guy += 1
-		gs 'arousal', 'vaginal', 5
-		gs 'arousal','breasts', 1
-		gs 'stat'
-
-		if pcs_horny >= 90:
-			gs 'cum_call', '', 'A34', 1
-			*nl
-			'Your incestuous shower sex continues and you vaguely think that Kolka trying to tell you something but you''re too drunk on cock to hear what he''s saying. Suddenly, he pulls you tight, pushing himself as far into you as he can. Something spurts inside you, filling you up, sending you over the edge, orgasming hard on your brother''s cock.'
-			'As your orgasm winds down and your legs stop quivering, you lean forward against the shower wall, Kolka''s cock slipping from between your legs. You start to think about how empty you feel without a cock inside you when you realize you feel something dripping out from your pussy.'
-			'"Is... is that cum? Did you cum inside me?!" you pant.'
-			'"Y-yeah... I was trying to tell you that I was cumming but you didn''t say anything so..."'
-
-			if succubusflag = 0:
-				if birth_control['think_safe'] = 1 or tabletkishot >= 1:
-					'<i>Well,</i> you think to yourself, <i>It''s a good thing '+iif(birth_control['implant_status'] > 1, 'I have a birth control implant.', '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>Damn...</i> You close your eyes, sighing as you feel another glob of Kolka''s cum drip from your pussy. <i>I should go buy a morning after pill from the pharmacy...</i>'
-				end
-			end
-			act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-		else
-			'Suddenly, you feel your brother tapping you on the shoulder.'
-			act'Continue':gt'brother_voyeur_sex','brother_fuck_cum'
-		end
-	end
-end
-if $ARGS[0] = 'brother_shower_fuck_first3':
-	guy += 1
-	gs 'arousal', 'vaginal', rand(5,10)
-	gs 'arousal','breasts', 1
-	gs 'stat'
-	eff_contra = iif(argc > 1,ARGS[1],sexcontra)
-	tmp = func('pregriskeval',eff_contra)
-	cla & *clr
-	'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-	'Barely giving him any time at all to recover from your sudden start, you immediately break into a hard rhythm, thrusting your hips back and giving it your all. He''s your little brother after all. You should try to make his first time special. Soon enough, you start giving him tips.'
-	'"Hold my hips so you have more control."'
-	'"Grab my boobs if you like. Boobs are meant to be grabbed during sex.'
-	'"Don''t worry if you feel like you''re going to cum. It''s your first time so just let me kn-OW-OW-WOAH!"'
-	'Kolka''s really getting into it. He pumps in and out you, member slick with your juices. His hands come up to grab your breasts and you gasp when they''re used as leverage to fuck you harder, his cock reaching even deeper inside you. His cock! Oh god! It''s driving you insane! Even though it''s his first time, he''s actually pretty good! Fuck! You should have jumped on his dick ages ago!'
-	'Several minutes go by with you unable to think about anything except how good fucking your brother feels.'
-	'Suddenly, you feel him urgently tapping you on the shoulder.'
-	act'Continue':gt'brother_voyeur_sex','brother_fuck_cum'
-end
-
-if $ARGS[0] = 'brother_shower_fuck':
-	broshowerfuck = daystart
-	gs 'boystat','A34'
-	if brotherfuck < 1:gt 'brother_voyeur_sex', 'brother_shower_fuck_first'
-	brotherfuck += 1
-	if brotherSex < 7:brotherSex = 7
-	npc_rel['A34'] += 5
-	gt 'brother_voyeur_sex','brother_fuck_cum'
-end
-
-if $ARGS[0] = 'brother_shower_anal':
-	broshowerfuck = daystart
-	gs 'boystat','A34'
-	brotheranal += 1
-	npc_rel['A34'] += 5
-	if stat['think_virgin'] = 1 or brotheranal = 0:
-		if pcs_anus = 0:
-			gt 'brother_voyeur_sex','brother_shower_anal_vagv_analv'
-		else
-			gt 'brother_voyeur_sex','brother_shower_anal_vagnv_analv'
-		end
-	else
-		if pcs_anus = 0:
-			gt 'brother_voyeur_sex','brother_shower_anal_vagv_analnv'
-		else
-			gt 'brother_voyeur_sex','brother_shower_anal_vagnv_analnv'
-		end
-	end
-end
-
-if $ARGS[0] = 'brother_shower_anal_vagv_analv':
-	*clr
-	cla
-	'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-	'Kolka looks at you. You know he wants to go further, and you want to do more than a blowjob too, but you know you can''t.'
-	'"We have to stop. I want to do more, but if we continue... if I lose my virginity, then mother will kill me."' 
-	'Kolka looks confused, and with a hint of pleading in his voice says "But... I don''t get it. How would she know?"'
-	'You are momentarily surprised he doesn''t know before realizing that he has no reason to know. "Why do you think I have to go to the doctors every month? I have to get checked."'
-	'Kolka thinks for a moment before smiling. "Are my grades good enough to become a doctor?"'
-	act 'What a smartass':
-		*clr
-		cla
-		'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex1.jpg"></center>'
-		'It irritates you that he jokes about a monthly task that you wish you did not have. "Don''t be a smartass..." A thought then comes through your head, and you nervously continue. "Unless... Would you... Do you want... Want to try anal instead? I know it''s not-"'
-		'"Yes!" Kolka says, interrupting you mid-sentence with much more enthusiasm than you were expecting.'  
-		'"Okay, but go slow. I''ve never done this before," you tell him.'
-		act 'Prepare yourself':
-			*clr
-			cla
-			'<center><video autoplay loop src="images/shared/home/bathroom/broshower2.mp4"></center>'
-			'Kolka gives you a wide smile. "Okay, I''ll go slow, I promise. You can stop me if you want."' 
-			'You turn your back to him, unsure of what to do, so you decide to use your hands to keep your cheeks parted.  He puts one hand on your hip and slowly pushes the tip of his penis against your anus.'
-			'You suddenly panic about the lack of any lube, but decide that the water will be enough. At least you hope it will.'
-			guy += 1
-			$orgasm_or = 'no'
-			gs 'arousal', 'anal', 2
-			gs 'stat'
-			act 'Try to relax':
-				*clr
-				cla
-				'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal3.mp4"></center>'
-				'As Kolka slowly enters you, you feel yourself unintentionally tighten your ass around his penis and your hands move to brace yourself against the wall. As you do this, Kolka briefly pauses before slowly going deeper. It''s an odd feeling; not exactly painful but not pleasurable either.'
-				'Kolka starts moving a little faster, and you realize that having water as lube isn''t that effective. You feel some burning pain as he begins picking up speed, but there is another feeling. You start to feel... pleasant; it''s not that much, but it''s definitely there.'
-				'You move a hand down to your clit, and while it''s not that easy, you manage to give yourself some extra stimulation. You soon realize that you''re beginning to feel good, really good. Your clit stimulation, the taboo act and now Kolka''s thrusting is turning from pleasant to... pleasure. Indeed, the pain is rapidly falling into history as your pleasure ramps up with every thrust.  Now you are finding it hard not moan in pleasure as this new experience is undeniably pushing you towards a powerful orgasm.'
-				gs 'arousal', 'anal', 5
-				gs 'arousal', 'clit_finger', 2
-				gs 'stat'
-				act 'Enjoy':
-					*clr
-					cla
-					'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal6.mp4"></center>'
-					'Just as you''re about to cum, you feel Kolka thrust deep and hold it as he cums deep in your bowels, pushing you over the edge. Unable to keep quiet, you moan as your climax tears though you, your body quivering as your knees become weak. You are steadied as Kolka holds you in a firm embrace from behind, squeezing your breasts as he does.'
-					'"That was..." you begin to say before you realize that you''re unsure what to say.'
-					gs 'cum_call', 'anal', 'A34', 1
-					gs 'arousal', 'clit_finger', 2
-					gs 'arousal','breasts', -1
-					$orgasm_txt = ''
-					$orgasm_or = 'custom'
-					gs 'arousal', 'anal', 5
-					act 'Was it good for you?':
-						gs 'arousal', 'end'
-						gs 'stat'
-						*clr
-						cla
-						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brotherwash.jpg"></center>'
-						'You both quietly return to washing before Kolka asks "Was I, um... Was it okay? Did you enjoy it?"'
-						'You replay it in your mind as you say "Well it felt uncomfortable at first and even a bit painful, but by the end it was, well let''s just say, yes, I enjoyed it. Just let me know when you''re about to cum next time, okay?"'
-						'"Does that mean that there will be a next time?" he asks with a hopeful expression on his face.'
-						'"No promises," you say as you realise that he''s not the only one looking forward to trying it again.'
-						'The sit under the water together for a little while longer before you realize someone might notice that your brother is missing and become suspicious. You quickly shut off the water and dry him off, gathering Kolka''s clothes and shooing him into the hallway.'
-						act'Finish':mirror_steam = hour & gt $loc
-					end
-				end
-			end
-		end
-	end
-end
-
-if $ARGS[0] = 'brother_shower_anal_vagnv_analv':
-	*clr
-	cla
-	'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-	'After a short internal debate over whether or not you should do it, you chew your bottom lip. "Kolka, I''m an anal virgin. Would you be willing to change that?" you ask nervously.'  
-	'He freezes for a second before a broad grin appears on his face. "I''d like that."'
-	'While you''re no virgin, anal sex presents problems that you''ve not had before. Kolka seems to be thinking the same as you and asks "So, how do you want to do this?"'
-	'"Go slow, and if I ask you to stop, please stop, okay?" you reply.'  
-	'"Okay, but what about lube? Is the water enough?"'  
-	'This question stops you. Thinking back to porn that you''ve seen, they often just spit, but that doesn''t sound like a good option to you now that you''re about to have something fairly large entering you.'  
-	'Kolka comes up with a suggestion. "I could try to use some of your pussy juice... You know, like one or two thrusts there first, then we try.  What do you think?"'  
-	'While you''re not sure if you like the label ''pussy juice'', it''s the only plan you''ve got.'
-	act '"Okay, let''s do that."':
-		*clr
-		cla
-		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal2.mp4"></center>'
-		'Moving in behind you, Kolka lines up with your pussy before thrusting in. Feeling this, you consider hitting the abort button and returning to what you''re more familiar with, but you want that new experience and still feel the need to try it.'
-		'You widen your stance and push your ass towards Kolka. He grips your hip and his cock slowly pushes at your virgin hole. As the head of Kolka''s cock enters you, he pauses and lets out an annoyed grunt.'
-		'You panic. "What is it? Am I, are we okay?! What''s wrong?!"'  
-		'"Sorry. yes it''s fine.  It''s just, well, perhaps we should have stopped the water. I don''t think our lube has lasted. What should we do?"'
-		guy += 1
-		$orgasm_or = 'no'
-		gs 'arousal', 'vaginal', 2
-		gs 'stat'
-		act 'This is nice':
-			*clr
-			cla
-			'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal3.mp4"></center>'
-			'You briefly think about switching back to ''normal'' shower sex, but you still want to try this and want to see it though.'  
-			'"Keep going," you say, and Kolka pushes deeper, stopping every few seconds to let you breathe before continuing.'  
-			'You can feel Kolka getting deeper when he says "God, you''re tight. I think you''re squeezing me with every heartbeat."'  
-			'"Sorry, I''ll try to stop..."' 
-			'"No, it''s not a complaint, it was just unexpected," he replies.'
-			act 'Try to relax':
-				*clr & cla
-				'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal6.mp4"></center>'
-				'After another minute, Kolka asks "Can I start to move now?"'  
-				'You take a deep breath. "Yes, but go slow."'  
-				'Kolka begins slowly thrusting, but gets into a rhythm as you notice that he''s slowly gaining speed. You could ask him to slow down, but decide against it. You can''t deny that it''s starting to feel good, and every Kolka pushes forward, the pain diminishes and pleasure replaces it.'
-				gs 'arousal', 'anal', 2
-				gs 'stat'
-				act 'Enjoy':
-					*clr
-					cla
-					'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal6.mp4"></center>'
-					'You find yourself needing to brace yourself on the wall with your hands. You didn''t even notice, but you''ve bent forward, allowing Kolka better access as his speed increases.'
-					'You''re really getting into it now, and are surprised by how good you feel.'
-					'"I''m about to cum!" Kolka cries.' 
-					'"Do it!" is all you can say. As Kolka bursts inside you, he pushes deep and if he wasn''t holding you, you may have lost your balance. After a performance like that, you don''t want to complain though.'
-					gs 'arousal', 'anal', 3
-					gs 'cum_call', 'anal', 'A34', 1
-					gs 'stat'
-					act 'Wash yourselves':
-						gs 'arousal', 'end'
-						gs 'stat'
-						*clr
-						cla
-						'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brotherwash.jpg"></center>'
-						'As you both quickly rewash yourselves, Kolka asks "So, was it good? More importantly, will you want to do it again?"'  
-						'You''re slightly annoyed by the ''more importantly'' part, but can''t deny that you''ve enjoyed your first butt fucking.'  
-						'"It was..." you say, letting it hang for a moment before finishing with "Good. Will it happen again? I''ll think about it."'
-						act'Finish':mirror_steam = hour & gt $loc
-					end
-				end
-			end
-		end
-	end
-end
-
-	
-if $ARGS[0] = 'brother_shower_anal_vagv_analnv':
-	*clr
-	cla
-	'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-	'You want, no, <i>need</i> to continue, but thanks to your mother''s stupid rule you know your pussy is out of bounds, but you do have other options...' 
-	'"Kolka, I can''t let you have my pussy, but would you be okay with anal?" You ask and Kolka''s eyes light up.' 
-	act 'Prepare yourself':
-		*clr
-		cla
-		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal3.mp4"></center>'
-		'You''re no anal virgin, but sex in a shower isn''t as easy as it looks in porn; the water also makes proper lube impossible. You spread your legs and lean forward, pushing your ass towards Kolka while bracing yourself on the wall.'
-		'Kolka''s cock prods at your anus as he gets into position, placing one hand on your hip. You''re enjoying the anticipation when Kolka slowly but steadily breaches the resistance of your ass as he pushes himself deep into you. He takes a few seconds before beginning a slow but strong piston motion.'
-		guy += 1
-		gs 'arousal', 'anal', 3
-		gs 'stat'
-		act 'Enjoy':
-			*clr
-			cla
-			'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal6.mp4"></center>'
-			'You find that you are reciprocating his motion as you push back into his thrusts and clench down as he withdraws from you. Kolka reaches up and grabs your right breast, squeezing it hard and thumbing your nipple as his pace increases.'
-			'You know the noise of the shower can only hide so much, and are doing your best to keep your voice down as Kolka says "I''m about to cum."'  
-			'You''re only able to respond with a nod as you''re biting your lower lip to help keep quiet. You feel Kolka push in hard as he cums deep inside you.'
-			gs 'arousal', 'breast', -3
-			gs 'arousal', 'anal', 3
-			gs 'cum_call', 'anal', 'A34', 1
-			gs 'stat'
-			act 'Clean up':
-				*clr
-				cla
-				gs 'arousal', 'end'
-				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brotherwash.jpg"></center>'
-				'Straightening up, you both go back to washing yourselves in silence before you turn to face him.'  
-				'"You really are the best sister." Kolka says.'  
-				'"I know," you reply with a wide grin.'
-				act'Finish':mirror_steam = hour & gt $loc
-			end
-		end
-	end
-end
-
-	
-if $ARGS[0] = 'brother_shower_anal_vagnv_analnv':
-	*clr
-	cla
-	'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-	'"Sorry Kolka," you say while doing your best to pretend that you''re not going to continue, before pushing your backside towards him. "You''re going to have to settle for anal today."'  
-	'He grins before sighing. "If I must."'  
-	'You both giggle before Kolka places his hands on your hips and pulls you back. You lean forward, using your arms to brace yourself on the wall and taking a wider stance to give Kolka room behind you.'
-	guy += 1
-	gs 'arousal', 'anal', 3
-	gs 'stat'
-	act 'Enjoy':
-		*clr & cla
-		'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/showeranal6.mp4"></center>'
-		'As the water from the shower falls on your back and between your ass cheeks, you feel Kolka breaching your anus in one powerful motion. As the glorious feeling of his cock fills you up, he reaches forward and grasps your breasts. A moment later, he''s started moving, and you meet his thrusts by pushing back, willing him to go deeper. Every time he withdraws, you feel yourself gripping him to unconsciously pull him back in.'
-		'"I''m about to cum," he says, and you simply nod. Aafter a final flurry of thrusts, Kolka cums, flooding your bowels with his seed.'
-		gs 'arousal', 'anal', 3
-		gs 'cum_call', 'anal', 'A34', 1
-		gs 'stat'
-		act 'Clean up':
-			*clr & cla
-			gs 'arousal', 'end'
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-			'Straightening up, you both go back to washing yourselves in silence before you turn to face him.'  
-			'"The things I do for you..." Kolka says with a cheeky grin.' 
-			'You just pull a face and stick out your tongue before you both giggle and get out of the shower.'
-			act'Finish':mirror_steam = hour & gt $loc
-		end
-	end
-end
-
-!! ----------------------------------------------------------- Cum Variants  ---------------------------------------------------------------------
-
-if $ARGS[0] = 'brother_fuck_cum':
-	'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-	if brotherfuck ! 1:brothercumchoice = rand(1,5)
-	if brotherfuck = 1:
-		brothercumchoice = 1
-	else
-		'"Nnngh~!" you bite your lip as you feel your brother''s <<npc_dick[''A34'']>> cm cock slide all the way into your pussy. You waste no time and the two of you start furiously fucking each other like the sex crazed teenagers you are.'
-		$orgasm_txt = 'After a few minutes of this, you can''t take it anymore and cum. You grab the shower faucet tight, gasping as Kolka continues to pound you even as you quiver in the throes of your orgasm.'
-		gs 'arousal', 'vaginal', rand(5,10)
-		if brothercumchoice < 5:'Suddenly, Kolka starts tapping you on the shoulder.'
-	end
-	gs 'stat'
-	if brothercumchoice = 1:
-		'"<<$pcs_nickname>>-! I''m gonna cum! What should I do?"'
-		act'Not inside me!':
-			cla & *clr
-			gs 'arousal','hj', 1
-			gs 'cum_call', 'stomach', 'A34', 1
-			'<center><video autoplay loop src="images/shared/home/bathroom/showercum.mp4"></center>'
-			'"Not inside me!" you cry out. You quickly pull yourself off him and turn around, grabbing his cock with your hand and jerking him furiously until he groans and you feel his hot cum spattering all over your stomach.'
-			act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-		end
-
-		act'Suck him off':gt'brother_voyeur_sex','shower_swallow'
-
-		act'Let him cum on your face':gt'brother_voyeur_sex','shower_facial'
-		
-		act'Fuck him till he cums':gt'brother_voyeur_sex','shower_creampie'
-
-		act'Fill me up!': gt'brother_voyeur_sex','shower_fill_me_up'
-		
-	elseif brothercumchoice = 2:
-		'"<<$pcs_nickname>>-! I''m almost there! Can I cum inside you today?"'
-		if knowpreg = 0 and thinkpreg = 0:
-			act'Push him off (not inside!)':
-				cla & *clr
-				gs 'cum_call', 'stomach', 'A34', 1
-				'<center><video autoplay loop 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 birth_control['think_safe'] = 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 birth_control['kolka_knows'] = 1:
-						birth_control['kolka_knows'] = 2
-						'"I thought you were on birth control!"'
-						'"Well I stopped!"'
-						'"Well how was I supposed to know that?"'
-					end
-				end
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			end
-		end
-
-		act'Push him off (not today)':
-			cla & *clr
-			gs 'cum_call', 'stomach', 'A34', 1
-			gs 'stat'
-			'<center><video autoplay loop 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 birth_control['kolka_knows'] = 1:
-				'"Hey what gives?" he complains. "I thought you were on birth control? Why can''t I cum inside?"'
-				if birth_control['think_safe'] = 0:
-					birth_control['kolka_knows'] = 2
-					'"Sorry, I stopped using it a while ago. If you came inside me, you could have seriously knocked me up."'
-					'Kolka gulps at the realization of what you just said.'
-				else
-					'"I just didn''t want you to cum inside me today," you say irritatedly.'
-					'"But why does it matter if you''re on birth control?"'
-					'"Because I said so! It''s my body! I get a say in where you cum on it!"'
-				end
-			end
-			if birth_control['think_safe'] = 0:'"Sorry," you smile apologetically. "I''m not on birth control and I can''t afford to get knocked up. Especially not by my little brother."'
-			act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-		end
-		
-		act'Fuck him till he cums':gt'brother_voyeur_sex','shower_creampie'
-			
-		act'Fill me up!':gt 'brother_voyeur_sex','shower_fill_me_up'
-		
-	elseif brothercumchoice = 3:
-		'"<<$pcs_nickname>>-! I''m almost there! Let me cum on your face!"'
-		act'Let him cum on your face':gt'brother_voyeur_sex','shower_facial'
-
-		act'Ignore him, make him cum inside you':gt'brother_voyeur_sex','shower_forced_creampie'
-
-	elseif brothercumchoice = 4:
-		'"<<$pcs_nickname>>-! I''m almost there! Can I cum in your mouth?"'
-		brotherbjcomment = 3
-		act'Let him cum in your mouth':gt'brother_voyeur_sex','shower_swallow'
-
-		act'Ignore him, make him cum inside you':gt'brother_voyeur_sex','shower_forced_creampie'
-			
-	elseif brothercumchoice = 5:
-		act'Continue':
-			cla & *clr
-			'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-			gs 'cum_call', '', 'A34', 1
-			*nl
-			'Suddenly Kolka grabs you tight, thrusting his cock into you as deep as it can go and you can feel him pulsating inside you.'
-			if pcs_horny >= 95:
-				broshowerorgasm = daystart
-				$orgasm_or = 'custom'
-				$orgasm_txt = 'The sensation sends you over the edge and you clench down on him hard, your orgasm rocking you in waves, and leaving your legs wobbly when it finally subsides.'
-				gs 'arousal', 'vaginal', 1
-			end
-			'A moment later, he pulls out of you and you can feel a thick liquid dripping from your pussy. You frown at that, and turn your head around to face him.'
-			'"What just... wait, is that...? Did you just cum inside me?"'
-			if birth_control['kolka_knows'] = 1:
-				'"Well yeah," he says. "You''re on birth control anyways right?"'
-				if birth_control['think_safe'] = 0:
-					act'"I''m not on it anymore you idiot!"':
-						cla & *nl
-						birth_control['kolka_knows'] = 2
-						'"I''m not on birth control anymore you fucking idiot!"'
-						'"What?? But you said-!"'
-						'"Well you didn''t tell me about it! How was I supposed to know?!"'
-						'"Fuck!"'
-						'<i>Maybe I can get a morning after pill from the pharmacy,</i> you think to yourself.'
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-					
-					act'"I''m not but it''s okay"':
-						cla & *nl
-						birth_control['kolka_knows'] = 2
-						'"Actually... I kinda stopped using it a while ago..."'
-						'"What?? But you said-!"'
-						'"I know, I know. I''m sorry Kolka, this is my fault, I should have told you. But now you know I guess?" you smile weakly at him.'
-						'<i>Maybe I can get a morning after pill from the pharmacy,</i> you think to yourself.'
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-				else
-					act'"Was just asking"':
-						cla & *nl
-						if broshowerorgasm = daystart:
-							'"Yup," you smile. "So it''s no problem. I was just asking because I was a little lightheaded after that. I think we came at the same time."'
-							'"Do you orgasm every time someone cums inside you?" he asks, raising an eyebrow.'
-							'"Only if I''ve been properly fucked beforehand," you respond wryly.'
-						else
-							'"Yup," you smile. "Was just asking because I wasn''t sure what happened."'
-							'"You didn''t feel me cum inside you?" he asks, raising an eyebrow?"'
-							'"I did, I just didn''t understand why you were cumming without making me cum first. I thought you were a better lover than that," you respond wryly.'
-						end
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-					
-					act'"You still need to ask" (tease)':
-						cla & *nl
-						'"Well," you chide him, "you still need to ask."'
-						'"How come? It''s not like you''re in any danger are you?"'
-						'"No, but I like telling you to cum inside me," you smirk.'
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-					
-					act'"You still need to ask"':
-						cla & *nl
-						'"Well, you still need to ask," you chide him.'
-						'"How come? It''s not like you''re in any danger are you?"'
-						'"No, but you still need to ask. It''s my pussy and it''s my right to choose whether you''re filling it with cum or not."'
-						'"Tch. Whatever."'
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-				end
-			else
-				'Kolka''s eyes are wide and filled with worry.'
-				'"I am <i>so</i> sorry <<$pcs_nickname>>! I didn''t mean to! I just couldn''t hold it in and before I could say anything I just-!"'
-				if birth_control['think_safe'] = 1:
-					birth_control['kolka_knows'] = 1
-					act'"I''m on birth control but be careful"':
-						cla & *nl
-						'"It''s okay Kolka, I''m on birth control," you reassure him. His expression melts with visible relief. "But still, you need to be more careful. If I forget to take my pills or stop for some reason, you cumming inside me like that could be really dangerous. I could really get pregnant."'
-						'He nods back at you in understanding. "I''m sorry," he says again. "I''ll be more careful in the future."'
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-					
-					act'"I''m on birth control so you don''t have to worry"':
-						cla & *nl
-						'"It''s okay Kolka, I''m on birth control," you reassure him. His expression melts with visible relief. "So that means you can cum inside me as much as you like and you don''t have to worry."'
-						'You wink at him and his jaw drops open. He looks down at your cum dripping pussy and you can feel a hunger exuding from him.'
-						'<i>Oops. I might have just created a monster,</i> you think to yourself.'
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-					act'Play a prank on him':
-						cla & *nl
-						'"Oh my god," you say, adopting an expression of severe panic. "You just came inside me! Your own sister! Do you have any idea what that means?"'
-						'He wilts back from you. "I-"'
-						'"I could get pregnant Kolka! I''m only <<age>>! I''m not ready to be a mother! Are you ready to be a father?? If I have a baby, are you going to take responsibility? Oh god, what is <<$npc_nickname[''A29'']>> going to think? Her son knocking up his sister?!"'
-						'Kolka''s face visibly pales. "Oh shit! No! What are we going to do? I don''t want to be a dad! I don''t want to get in trouble for this! I-! I-!"'
-						'He''s on the verge of tears now and you can''t hold back any longer and bust into near uncontrollable laughter. Your body is wracked with giggles, trying not to let your laughs escape the room and echo outside the door.'
-						'"WHY ARE YOU LAUGHING?! THIS IS SERIOUS! YOU WERE SERIOUS A SECOND AGO!!"'
-						'"Shhhhh!" you hush him, still laughing. "Pipe down would you?? Do you want <<$npc_nickname[''A29'']>> and dad to find out? Relax, I''m just fucking with you. I''m on birth control, I''m not gonna get pregnant."'
-						act'Continue':
-							cla & *clr
-							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-							'"What the fuck! Are you fucking kidding me?!"'
-							'"Would you rather I not be?" you giggle, his reactions sending you into another fit. "Would you rather have had your sperm swarming around my unprotected uterus looking for eggs to impregnate?"'
-							'"You know what I mean!" His anger has you cackling further and you have to spray yourself in the face with the shower head just to calm down.'
-							act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-						end
-					end
-				else
-					if succubusflag = 0:
-						if mesec > 0:
-							act'"It''s okay, I''m on my period"':
-								cla & *nl
-								'"It''s okay Kolka, I''m on my period right now. I don''t think I can get pregnant on my period."'
-								'His face sighs with visible relief.'
-								'"We got lucky this time. Consider it a freebie," you smile at him.'
-								act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-							end
-							act'"You need to be more careful!"':
-								cla & *nl
-								'"You need to be more careful!" you scold him. "What if I get pregnant?!"'
-								'"I know! I know! I''m sorry!"'
-								'You huff out in anger but turn back to face him again anyways.'
-								'"Look, I was on my period this time and I don''t think I can get pregnant on my period. But you should know better! If I wasn''t on my period right now this could have been really bad! So show some self control next time!" He nods fearfully in agreement.'
-								act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-							end
-						elseif knowpreg = 1:
-							'<i>Well,</i> you think to yourself, <i>I''m already pregnant.</i>'
-							act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-						else
-							act'"It''s okay, it was an accident"':
-								cla & *nl
-								brother['cp_accident'] += 1
-								'"It''s okay Kolka," you say, trying to calm him down. "Look, I''m not mad, it was just an accident."'
-								'"But-!"'
-								'"Yeah, I know. I could get pregnant from this. But we''ll just have to hope I don''t. We can''t change it now, we''ll just have to be more careful in the future."'
-								'"The future? You mean..."'
-								'"Yes, I''m still going to keep fucking you Kolka," you smile at him. "Just cause this happened doesn''t mean I''m going to leave you alone. So just learn from the mistake and we''ll move on from it together, okay? Maybe I can buy a morning after pill from the pharmacy later."'
-								act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-							end
-							act'"You need to be more careful!"':
-								cla & *nl
-								'"You need to be more careful!" you scold him. "What if I get pregnant?!"'
-								'"I know! I know! I''m sorry!"'
-								'You huff out in anger but turn back to face him again anyways.'
-								'"I''m not on birth control! This is really dangerous!"'
-								'"I know! I know!"'
-								'"Fuck! What the fuck were you thinking?!"'
-								'You continue to swear at your brother for the next minute while he pleads for your forgiveness.'
-								'<i>Maybe I can get a morning after pill from the pharmacy,</i> you think to yourself.'
-								act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-							end
-						end
-						if brother['cp_accident'] >= 5:
-							act'"Plan B is expensive!"':
-								brother['cp_accident'] += 1
-								cla & *nl
-								'"Come on Kolka, I''m going to have to buy another morning after pill now! I know accidents happen but this is getting expensive!"'
-								'"Well what if you started taking birth control? Then I can cum in you as much any time right?"'
-								'"That''s not the point Kolka. You need to have more self control!"'
-								'<i>Though he is right...</i>'
-								act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-							end
-						end
-					else
-						'"It''s okay Kolka, I''m on birth control," you lie. His expression melts with visible relief. "So that means you can cum inside me as much as you like and you don''t have to worry."'
-						'You wink at him and his jaw drops open. He looks down at your cum dripping pussy and you can feel a hunger exuding from him.'
-						'<i>Oops. I might have just created a monster,</i> you think to yourself. <i>Well it''s not like I could have told him the truth that I''m a magical sex demon now could I?</i>'
-						act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-					end
-				end
-			end
-		end
-	end
-end
-
-if $ARGS[0] = 'shower_swallow':
-	cla & *clr
-	brotherbjcomment = rand(1,2)
-	gs 'boystat','A34'
-	gs 'arousal','bj', 1
-	gs 'cum_call', 'mouth_swallow', 'A34', 1
-	gs 'stat'
-	'<center><video autoplay loop 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.'
-	else
-		'You keep sucking on Kolka''s cock until he starts tapping on your head.'
-		'"<<$pcs_nickname>>-! I''m gonna-!"'
-		'He doesn''t even finish the word before you feel hot liquid squirting into your mouth.'
-		'"... cum."'
-	end
-
-	act'Swallow':
-		cla & *clr
-		'<center><video autoplay loop src="images/shared/home/bathroom/showerbj.mp4"></center>'
-		'You suck a little more, making sure you''ve drained him to the last drop and then withdraw your mouth with carefully closed lips. You look up at him, meeting his eyes through the falling water drops, and swallow his sperm in one gulp.'
-		act'"Let''s finish up"':
-			cla & *clr
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-			'You stand up without further comment, letting the water run over your body a little more and making sure your hair is thoroughly rinsed.'
-			'"Come on Kolka, let''s finish up quickly before someone starts wondering where we are."'
-			if broshowerfuck = daystart:
-				act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-
-		act'Stare intimately':
-			cla
-			*nl
-			'Still looking into his eyes, you stare at him and lean forward to give him a very long and intimate kiss on the tip of his cock before standing up. The two of you hold each other in continued silence, spending a few more minutes under the water and basking in the afterglow together.'
-			if broshowerfuck = daystart:
-				act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-
-		if pcs_traits['cumeater'] = 1:
-			act'"Tasty!"':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-				'"Mmm!" you smile at him. "Say, you''re pretty tasty!" you say, playfully sucking and licking his cock little more before finishing up with a light kiss on the tip and standing up. "Might have to get myself another drink later! ''Right off the tap'' if you know what I mean," winking at him.'
-				if brotherbjcomment = 1:
-					'"That really tastes good to you?"'
-					'"Mhm," you nod, letting the water run through your hair a little more. "Didn''t used to at first. But maybe it''s just an acquired taste. Or maybe little brothers are just the best vintage of cum!" You grin and wiggle your eyebrows at him.'
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				elseif brotherbjcomment = 2:
-					'Kolka regards you with a bit of a look as you stand back up.'
-					'"What?" you ask at him.'
-					'"You''re kind of a slut, aren''t you <<$pcs_nickname>>?"'
-					act'Feign insult':
-						cla
-						*nl
-						'You gasp in mock indignation. "Kolka! How dare you! I have never been anything other than ladylike! How could you call your beloved sister a slut?"'
-						'"Probably because she loves the taste of cum," he snickers at you while you rinse your hair one last time.'
-						'"Have you considered maybe it''s just yours?" you ask, looking over your shoulder.'
-						'"A cumslut is still a cumslut, even if it''s only for one kind."'
-						'You roll your eyes. He''s being a punk but you can''t find the anger to be annoyed with him. He does have a bit of a point after all.'
-						act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-					end
-
-					act'Careful what you say':
-						cla
-						*nl
-						'"Hey! Careful what you say little brother," you say admonishingly. "Your big sister might stop doing you ''favors'' if you act too much like a brat."'
-						'"Hey, I can''t help it if my big sister is a slut!" he grins. "I just call it like I see it, and girls who swallows are usually sluts. Besides, I don''t think I have to worry too much. If you stopped blowing me, where else would you get your favorite drink?"'
-						if broshowerfuck = daystart:
-							'You roll your eyes. "I''m a slut remember? Maybe I''ll just go around the corner and blow someone else!" you growl at him. Tearing back the curtain, you step out of the tub somewhat annoyed with Kolka. Partially because he''s being a punk, but also partially because he''s actually kind of right. Fucking your brother in the shower and swallowing his cum <i>is</i> pretty slutty...'
-							act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-						else
-							'You roll your eyes. "I''m a slut remember? Maybe I''ll just go around the corner and blow someone else!" You growl at him and shut off the water. Tearing back the curtain, you step out of the tub somewhat annoyed with Kolka. Partially because he''s being a punk, but also partially because he''s actually kind of right. Swallowing your brother''s cum <i>is</i> pretty slutty...'
-							act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-						end
-					end
-
-					act'Yeah, I am':
-						cla
-						*nl
-						'"Uhmm... yeah? What tipped you off? Was it the part where I gave you shower head?"'
-						'"No, it was the part where you swallowed my cum like a shot of vodka. Only sluts swallow like that," he says, grinning.'
-						'You punch him in the arm playfully but you aren''t really mad. He does have a point after all.'
-						if broshowerfuck = daystart:
-							act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-						else
-							act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-						end
-					end
-
-					act'Kiss him to gross him out':
-						cla
-						*nl
-						'You frown at him and without warning fling your arms around his neck to kiss him with as much tongue as you can. He sputters and reels backward, pushing you away.'
-						'"Ugh! Ew! Gross! What the hell <<$pcs_nickname>>?! I just came in your mouth! I don''t want to taste that!"'
-						'He rips open the shower curtain and you grin back in satisfaction as he stumbles out to escape.'
-						'"Well maybe you shouldn''t be calling girls sluts just because they''re nice enough to swallow your cum!"'
-						'<i>Well,</i> you think to yourself. <i>I didn''t <b>just</b> swallow. I did also say I thought it was tasty. I suppose that is a bit slutty isn''t it?</i>'
-						if broshowerfuck = daystart:
-							act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-						else
-							act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-						end
-					end
-
-					act'Only for you(sisterly)':
-						cla
-						*nl
-						'"Only for you!" You wrap your arms around him, smothering him and rubbing your head against his cheek. "I just love you so very much! What sister could stop herself from slutting up for such a cute baby brother?"'
-						'"Ack!" he cries out and shoves you away. "Get off of me! Weirdo!"'
-						if broshowerfuck = daystart:
-							'"Hey! What''s wrong with that?" you grin at him. "I''d say it''s pretty weird to for your sister to let you fuck her in the shower. I thought you liked that! Don''t you want me to be a slutty weirdo then?"'
-							'"Bah!" he says, clambering out of the shower to escape you, grumbling as he does so. "More slut and less weirdo!"'
-							act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-						else
-							'"Hey! What''s wrong with that?" you grin at him. "I''d say it''s pretty weird to get slutty blowjobs from your sister in the shower. I thought you liked that! Don''t you want me to be a slutty weirdo then?"'
-							'"Bah!" he says, clambering out of the shower to escape you, grumbling as he does so. "More slut and less weirdo!"'
-							act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-						end
-					end
-
-					act'Only for you (loving)':
-						pcs_horny += 25
-						gs 'stat'
-						cla & *clr
-						'<center><video autoplay loop src="images/shared/home/bathroom/brotherpussyfeel.mp4"></center>'
-						'"Only for you," you whisper, suddenly serious, looking longingly into his eyes.'
-						'He looks back at you a hesitant expression on his face. You lean in, wrapping your arms around him and pressing your breasts into his chest.'
-						'"Yes, I''m a slut," you murmur into his ear. "I would never be a slut for anyone else Kolka," taking his hand. "But I''ll happily be a slut for you."'
-						'With your final words you press his hand against your pussy and the heat between your legs.'
-						'Neither of you say anything for a few minutes, standing still with your breasts still pressed against him and his fingers gently working themselves in and out of your pussy. You realize you can''t stay in there together too long, lest someone become suspicious and you wistfully pull away, Kolka''s fingers slipping from your pussy as you do.'
-						if broshowerfuck = daystart:
-							act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-						else
-							act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-						end
-					end
-				end
-			end
-		end
-	end
-
-	act'Spit':
-		cla & *clr
-		'<center><video autoplay loop src="images/shared/home/bathroom/showerbj.mp4"></center>'
-		'"Yeeeech..."'
-		'Opening your mouth, you drool and let his cum drip down off your tongue before wadding up what''s left and spitting it onto the bottom of the bathtub.'
-		if broshowerfuck = daystart: '"Thanks for the warning Kolka," you say, smiling as you standing up.'
-		if brotherbjcomment = 1:
-			'"Sorry sis," he says looking somewhat ashamed. "I just couldn''t hold it any longer. I tried, I really did!"'
-			'"It''s okay Kolka," you smile up at him. "It happens sometimes. Just try to warn me a little sooner next time, okay?" He nods promisingly.'
-			if brotherbj > 5:'You suppress a grin when he promises to do better in the future. You''ve given him enough blowjobs to suspect that he doesn''t give any warning because he wants to cum in your mouth. He never seems to have this problem when he asks to give you a facial. <i>Oh well,</i> you mentally shrug to yourself. <i>What''s a girl to do?</i>'
-			'"Now come on, let''s finish up before someone wonders where we are."'
-			if broshowerfuck = daystart:
-				act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		elseif brotherbjcomment = 2:
-			'"A little warning next time maybe?"'
-			'"Sorry sis. Your mouth just felt so good and your blowjobs are so great and... Sorry... I just couldn''t hold it."'
-			'"It''s okay Kolka," you smile up at him. "It''s not like I can be mad at you for saying I''m good at giving head." You give him a quick kiss on the tip of his cock before standing up.'
-			'"Now come on, let''s finish up before someone wonders where we are."'
-			if broshowerfuck = daystart:
-				act'Finish showering together':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-	end
-end
-
-if $ARGS[0] = 'shower_facial':
-	cla & *clr
-	brotherbjcomment = rand(1,2)
-	gs 'boystat','A34'
-	gs 'cum_call', 'face', 'A34', 1
-	gs 'stat'
-	'<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.'
-	elseif brothershowerbj = daystart:
-		'You let his cock slip out of your mouth and close your eyes in anticipation, listening to the light fapping sound of your brother jerking off just centimeters in front of you. Within seconds, you feel his hot cum spattering all over you. It''s a surprisingly big load, as you feel several spurts hit your face before he''s finally done ejaculating.'
-	end
-	if brotherbjcomment = 1:
-		'"That''s a pretty good look for you. Ever consider going out like that?"'
-		act'Hardy har har':
-			cla
-			*nl
-			'"Hardy, har, har." Even with your eyes closed, you can feel his self satisfied grin radiating towards you. You squeeze your eyelids tighter, feeling blindly for the water stream to rinse Kolka''s cum off, pushing him out of the way when you realize he''s blocking it. "You ever consider going out with my foot up your ass?"'
-			'"Hey, I''m only asking! You never know, you might start a new trend!" You finish wiping the last of his cum off your face, grimacing when you see that it''s now stuck to your hands instead. You turn, wiping it on your brother''s arm. "Hey!"'
-			'"Maybe you should try wearing it yourself," you retort sarcastically, ignoring his complaint. "''You never know, you might start a new trend!''"'
-			if broshowerfuck = daystart:
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-
-		act'Only on Sundays':
-			cla & *clr
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facial2.jpg"></center>'
-			'"Sometimes. Only on Sundays though. White cum probably goes well with a white dress at Divine Liturgy."'
-			'You hear him snicker and grin at him with closed eyes, flicking your tongue out to have a taste of the spunk slowly dripping down your face. You motion for Kolka to move aside and let you rinse your face off.'
-			'"Good for spreading a reputation as a town slut too," he adds.'
-			'Finishing rinsing off your face you reply, "Well it''s not like they can complain about wearing my best makeup to church," causing you both to muffle laughter.'
-			if broshowerfuck = daystart:
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-
-		act'Why? Are you willing to help?':
-			cla & *clr
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facial2.jpg"></center>'
-			'"Why do you ask?" you ask, flicking your tongue out to catch a taste of cum, eyes still closed. "Did you want to help me put it on every morning?"'
-			'You wipe the spunk out of your eyes to can see Kolka grinning at you. "Well of course I would! What kind of brother would I be if I wasn''t willing to help my sister put on her best makeup?"'
-			'"Mhm," you hum, sucking the tart semen off your fingers. "And you would be doing this for completely selfless reasons with no ulterior motive I''m sure, especially not to get a free blowjob in the morning."'
-			'You rinse the rest of the cum off your face as Kolka continues, "Of course I wouldn''t be doing this <i>just</i> for blowjobs. I''d hope to get a few morning fucks in too!" You smack his arm, rolling your eyes but smiling anyways.'
-			if broshowerfuck = daystart:
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-
-		act'I only did this because I owed you one':
-			cla
-			*nl
-			'"I only did this because I owed you one," You say, wiping the cum from your eyes with your hands. Your eyes clear, you see a questioning look on his face. "Did you already forget? I promised I''d let you cum on my face this time."'
-			'"Oh! Right."'
-			'"Yeah. Right. So instead of making fun of me, be grateful that you have a sister who keeps her promises."'
-			'"But what if I''m not making fun of you? Seriously, my cum on your face is one of my favorite looks for you!"'
-			'You roll your eyes, but despite yourself you can''t suppress a smile.'
-			'"So you really don''t like getting facials?" he asks.'
-			act'It''s not all that bad':
-				cla
-				*nl
-				'"It''s not all that bad I guess," you say. "It''s just not something I want <i>every</i> time, you know?"'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-			act'I prefer to swallow':
-				cla
-				*nl
-				'"Nah," you say. "I prefer to swallow."'
-				'You grin lewdly at him and you can practically feel him drooling.'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-			act'I prefer creampies':
-				cla
-				*nl
-				'"Nah," you say. "I prefer it when people cum inside me."'
-				'You grin lewdly at him and you can practically feel him drooling.'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-				
-		end
-	else
-		'"What''s it feel like? Having cum on your face like that?"'
-		act'Sticky':
-			cla
-			*nl
-			'"Sticky," you say, squeezing your eyes tight, feeling blindly for the water stream to rinse your face off. "To be honest, it''s not that enjoyable for me."'
-			'"Really?" Kolka helps you find the showerhead and you start scrubbing your face, annoyed at how it ends up sticking to your hands instead of just sliding down the drain. "If it''s so annoying, why do girls you let people give them facials?"'
-			'Your eyes finally clear of the viscous liquid, you look pointedly at Kolka. "Why do boys always want to cum on girls faces?" you ask, raising an eyebrow and before realizing there''s still a wad of spunk still stuck in it.'
-			'Kolka''s lips twist as he sees your point. "Well... We don''t <i>always</i> want to cum on your faces... Sometimes we want you to swallow instead." Your face finally clean, you shut off the water, rolling your eyes at your brother''s justification.'
-			if broshowerfuck = daystart:
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-
-		act'Why don''t you find out?':
-			cla
-			*nl
-			'"Why don''t you find out for yourself if you''re so curious," you say, frowning and blindly searching for the water stream to rinse your face. "I''m sure it wouldn''t be too hard for you to cum all over yourself and wear it on your face."'
-			'"Yeesh, I was just asking," Kolka complains.'
-			'"Yeah, well I''m just telling," you respond, grimacing as you wipe the sticky liquid from your eyes so you can find the showerhead.'
-			'<i>Ugh. Maybe I should have just swallowed,</i> you think to yourself. <i>At least I wouldn''t have to deal with this mess if I had.</i>'
-			if broshowerfuck = daystart:
-				act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-			else
-				act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-			end
-		end
-
-		act'Feels pretty good':
-			cla & *clr
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facial2.jpg"></center>'
-			'"Feels pretty good actually," you say cheerfully. "It''s kind of like getting a face mask except it''s hot and comes with a sense of flattery that your face is the place that someone wanted to blow their load."'
-			'"Huh. Wouldn''t have guessed that."'
-			'Your tongue instinctively flicks out to catch a liquid you feel dribbling down your cheek and you feel an overwhelming lack of surprise when it tastes like cum.'
-			act'Better than having to swallow':
-				cla
-				*nl
-				'"Yech-!" you stick your tongue out in distaste of the bitter sperm. "I''ll tell you what else, getting a facial is also a lot better because it means I don''t have to swallow," you say, reaching blindly for the showerhead.'
-				'"Oh. I thought girls were into that sort of thing. At least, a lot of the girls in porn swallow."'
-				'Finding the showerhead at last, you start to rinse off your face, responding, "Yeah, well, anyone who says they like to swallow is either a liar or a slut." Your face washed clean, you blink a couple times to see Kolka grinning at you.'
-				'"And what does that make you? A girl who lets her little brother cum on her face?"'
-				'You pause and smile back at him before answering. "A good sister."'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-
-			act'Tastes good too':
-				cla
-				*nl
-				'"Mmm... It tastes good too," you say appreciatively, licking your lips to find any more stray drops.'
-				'"Oh! So girls really do like to eat cum! I always wondered if that was just something they did in pornos."'
-				'You wipe your eyes so you can look at him and suck the spunk off your fingers.'
-				'"Oh yeah. I wish all face masks were as edible as a facial. Though they could probably never be this satisfying."'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-		end
-
-		if pcs_traits['cumeater'] = 1:
-			act'Feels like a waste':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/facial2.jpg"></center>'
-				'"Feels like a waste," you say, your tongue flicking about for any sperm it can find within its reach.'
-				'Clearly confused, Kolka asks, "What do you mean?"'
-				'Wiping your face with your hand, you give it a hard lick, savouring the flavour as you do. "You lose so much someone cums on your face. Falls off or gets stuck in your hair, hands aren''t really good utensils for scooping up cum either. Much easier to get it straight from the tap if you know what I mean.'
-				'Your brother''s confusion continues until his eyes go wide with the realization that you''re talking about enjoying the taste of semen. Almost as soon as the realization crosses his face, his eyes become obscured by confusion again.'
-				'"But if you like eating cum so much, why did you let me cum on your face?"'
-				'You give your hand another lick, sucking on the tips of your fingers where you scrapped the cum out of your eyebrow.'
-				'"''Cause I''m a good sister," you smile at him.'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-		end
-
-		act'I only did this because I owed you one':
-			cla
-			*nl
-			'"I only did this because I owed you one," You say, wiping the cum from your eyes with your hands. Your eyes clear, you see a questioning look on his face. "Did you already forget? I promised I''d let you cum on my face this time."'
-			'"Oh! Right... So you don''t like having cum on your face like that?"'
-			act'Not really':
-				cla
-				*nl
-				'"Not really, no," you say, grimacing as some drips into your eye before you find the showerhead.'
-				'"So... Why do you let me do it? Just because you promised?"'
-				'Finally rinsing your face clean, you turn to face him, meeting his eye.'
-				'"''Cause I''m a good sister."'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-
-			act'It''s just messy':
-				cla
-				*nl
-				'"It''s not like it actually feels that bad," you say, blinking to keep it out of your eyes and reaching for the showerhead. "It''s just really messy. Can be hard to clean out of your hair sometimes."'
-				'"Ahh. I see. So... Why did you let me do it today? Just because you promised? Cause we''re in the shower and it''s easier to clean?"'
-				'You turn towards him, meeting his eye, his cum still coating your face.'
-				'"''Cause I''m a good sister."'
-				if broshowerfuck = daystart:
-					act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-				else
-					act'Finish showering together': gs 'arousal', 'end' & gt 'brother_voyeur', 'brother_shower_end'
-				end
-			end
-		end
-	end
-end
-
-if $ARGS[0] = 'shower_creampie':
-	cla & *clr
-	'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-	'You don''t respond verbally but pick up the pace, slapping your ass back against Kolka''s cock until he grabs you tight and you can feel his cock pulsating, spurts of cum pouring out inside you.'
-	$orgasm_txt = 'The sensation sends you over the edge and you orgasm as well, your pussy gripping him and squeezing every last drop of cum from his cock.'
-	gs 'arousal', 'vaginal', 1
-	gs 'cum_call', '', 'A34', 1
-	gs 'stat'
-	'Looking back at Kolka with a self satisfied smirk, you slip off his cock, feeling cum gush from your pussy and spatter on the bath tub floor.'
-	*nl
-	act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-	if succubusflag = 0:
-		if knowpreg = 1 or thinkpreg = 1:
-			'You chuckle to yourself, "Well, at least I can''t get any more pregnant than I already am!"'
-		elseif birth_control['kolka_knows'] = 1:
-			'"I love having a sister who''s on birth control," he grins, watching another glob of cum dribble out of you.'
-!!			act'"Not as much as I do"':
-			
-!!			end
-			
-!!			act'"Be grateful"':
-			
-!!			end
-			
-!!			act'"You''d love me less if I weren''t on birth control?"':
-			
-!!			end
-		elseif birth_control['think_safe'] = 1:
-			birth_control['kolka_knows'] = 1
-			'"<<$pcs_nickname>>!" he says with wide eyes. "Is it okay that I came inside you like that? What if you get pregnant?"'
-			'"Don''t worry about it," you smile. "I''m on birth control. I could take a thousand creampies from you, I won''t get pregnant."'
-			'Kolka''s eyes get even wider and his cock already seems to be hardening up again.'
-			'<i>Whoops,</i> you think to yourself. <i>I wonder if it''s going to come back to bite me that I told him that...</i>'
-		elseif mesec > 0:
-			'"Happy?" you ask him. He nods back at you with a self-satisfied grin. "Just feel lucky that I''m on my period. I might not have let you do that otherwise."'
-		else
-			'You watch as another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>I need to buy a morning after pill from the pharmacy. What if I get pregnant?</i>'
-		end
-	end
-	
-
-end
-
-if $ARGS[0] = 'shower_forced_creampie':
-	cla & *clr
-	'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-	gs 'cum_call', '', 'A34', 1
-	gs 'stat'
-	if pcs_horny >= 90:
-		$orgasm_or = 'custom'
-		$orgasm_txt = 'Smiling mischievously, you suddenly speed up instead of pulling out, causing your brother to erupt inside you. He groans as his cum spills into you, sending you over the edge as well with legs quivering and pussy milking his cock for everything he has to give. Finally, Kolka pulls away and his cock slips from inside you, cum bursting out of your pussy like an uncorked champagne bottle.'
-		gs 'arousal', 'vaginal', 1
-	else
-		'Smiling mischievously, you suddenly speed up instead of pulling out, causing your brother to erupt inside you. He groans and you curl your toes in pleasure, feeling his cum spurting deep inside you. It''s not enough to bring you to orgasm, but it still feels good. You tighten up on him and work your hips a little more, trying to milk him for a couple more shots. Finally, Kolka pulls away and his cock slips from inside you, cum bursting out of your pussy like an uncorked champagne bottle.'
-	end
-	if brothercumchoice = 3:
-		'Kolka steps back, staring as he watches his spunk drip from your pussy. "Why''d you do that? I wanted to give you a facial."'
-	elseif brothercumchoice = 4:
-		'Kolka steps back, staring as he watches his spunk drip from your pussy. "Why''d you do that? I wanted to cum in your mouth."'
-	end
-	*nl
-	act'And I wanted a creampie (argue)':
-		cla
-		'"And I wanted a creampie! Sorry Kolka, but my vote outweighs yours."'
-		'"And why''s that?!"'
-		'"Because."'
-		'"Because what?"'
-		'"Because I''m a girl, I''m a girl who''s your older sister, and I''m a girl who''s your older sister who''s letting you fuck her! And if it weren''t for me, then you''d be on a date with Pamela Handerson instead," you say, making a jerking motion with your hand. "You should be grateful to be getting anything at all, let alone deciding where you get to cum on me."'
-		'"But that''s not fair! So what I want doesn''t count for anything?"'
-		'"Nope! But I get to decide if I''m feeling generous."'
-		'With Kolka''s hands balled into fists at his side and your hands on your hips, the two of you glare at each other, scowling. This turned into a much bigger argument than you meant it to.'
-		if succubusflag = 0:
-			if knowpreg = 1 or thinkpreg = 1:
-				'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-			elseif birth_control['think_safe'] = 1 or tabletkishot >= 1:
-				'<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
-				'<i>At least '+iif(birth_control['implant_status'] > 1, 'I have a birth control implant', 'I''m on birth control')+'...</i>'
-			elseif mesec > 0:
-				'<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Only my idiot brother could ruin a perfectly good creampie like this.</i>'
-				'<i>At least I don''t have to worry about getting pregnant on my period... right...?</i>'
-			else
-				'<i>Goddamn it,</i> you think, looking down to watch another glob of cum drips from your snatch. <i>Fuck. I shouldn''t have done this anyways. This gets me pregnant?</i>'
-			end
-		end
-		act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-	end
-
-	act'It felt too good':
-		cla
-		'"I''m sorry Kolka! Your cock just felt so good, I couldn''t stop! You can''t be mad at me for being too addicted to your cock to stop, can you?" You kneel down, trying to apologize by cleaning him up with your tongue.'
-		if brothercumchoice = 3:
-			'He grumbles a bit but you can tell that he''s not mad at you. "I guess I can''t be mad about that... But next time I ask, I want to cum on your face!"'
-		elseif brothercumchoice = 4:
-			'He grumbles a bit but you can tell that he''s not mad at you. "I guess I can''t be mad about that... But next time I ask, I want to cum in your mouth! And you better swallow it!"'
-		end
-		'"Okay, it''s a promise," you say, standing back up and kissing him on the cheek. "So long as I can stop myself that is."'
-		if birth_control['think_safe'] = 1 or tabletkishot >= 1:
-			'<i>Fuck, that felt good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
-			'<i>It''s a good thing '+iif(birth_control['implant_status'] > 1, 'I have a birth control implant', 'I''m on birth control')+'...</i>'
-		elseif mesec > 0:
-			'<i>Fuck, that felt good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-			'<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-		else
-			'<i>Shit... I probably should have had more self control...</i> you think to yourself, watching another glob of cum dribble from your pussy. <i>What if this gets me pregnant?</i>'
-		end
-		act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-	end
-
-	act'Too much mess':
-		cla
-		'"Too messy," you say. "Sorry Kolka, but I don''t feel like cleaning that off my face. You understand don''t you?"'
-		'"Yeah I guess..."'
-		if succubusflag = 0:
-			if knowpreg = 1 or thinkpreg = 1:
-				'You chuckle to yourself: "Well, at least I can''t get any more pregnant than I already am!"'
-			elseif birth_control['think_safe'] = 1 or tabletkishot >= 1:
-				'<i>Fuck, that feels good...</i> you think to yourself, looking down to watch another glob dribbles out of you with satisfaction.'
-				'<i>It''s a good thing '+iif(birth_control['implant_status'] > 1, 'I have a birth control implant', 'I''m on birth control')+'...</i>'
-			elseif mesec > 0:
-				'<i>Fuck, that feels good...</i> you think to yourself as another glob dribbles out, plopping onto the tub floor.'
-				'<i>It''s a good thing I can''t get pregnant when I''m on my period... right...?</i>'
-			else
-				'<i>Shit...</i> Another glob of cum dribbles from your pussy, plopping onto the tub floor. <i>Maybe I should have let him cum on my face after all... What if I get pregnant?</i>'
-			end
-		end
-		act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-	end
-end
-
-if $ARGS[0] = 'shower_fill_me_up':
-	cla & *clr
-	'<center><video autoplay loop src="images/characters/pavlovsk/resident/kolka/event/shower/broshower.mp4"></center>'
-	gs 'cum_call', '', 'A34', 1
-	gs 'stat'
-	'"Yes! Yes!" you cry out. "Fill me up!"'
-	if pcs_horny >= 90:
-		broshowerorgasm = daystart
-		$orgasm_or = 'custom'
-		$orgasm_txt = 'Your cries push him over the edge and Kolka can''t hold back any longer. He groans and pulls you tight against him. His cock plunges deep and you feel his cum spurting deep inside you. The sensation brings you to orgasm, body spasming and your pussy tightening up around him, squeezing him to the last drop. As your orgasm winds down and your legs stop quivering, you lean forward against the shower wall, Kolka''s cock slipping from between your legs.'
-		gs 'arousal', 'vaginal', 1
-	else
-		'Your cries push him over the edge and Kolka can''t hold back any longer. He groans and pulls you tight against him. His cock plunges deep and you feel his cum spurting deep inside you. You bite your lip and curl your toes, enjoying the sensation even if it doesn''t bring you to orgasm. Eventually his cock stops pulsating and you feel him slide out of you.'
-	end
-	'Pressing your face against the cool wall, you feel Kolka''s cum drip from your pussy, and look back at him.'
-	*nl
-	if succubusflag = 0:
-		if knowpreg = 1 or thinkpreg = 1:
-			*nl
-		elseif birth_control['kolka_knows'] = 1:
-			'"I love having a sister who''s on birth control," he grins, watching another glob of cum dribble out of you.'
-			'"Yeah, it was good for me too, thanks," you roll your eyes before straightening up.'
-		elseif birth_control['think_safe'] = 1:
-			birth_control['kolka_knows'] = 1
-			'"<<$pcs_nickname>>!" he says with wide eyes. "Is it okay that I came inside you like that? What if you get pregnant?"'
-			'"Don''t worry about it," you smile. "I''m on birth control. I could take a thousand creampies from you, I won''t get pregnant."'
-			'Kolka''s eyes get even wider and his cock already seems to be hardening up again.'
-			'<i>Whoops,</i> you think to yourself. <i>I wonder if it''s going to come back to bite me that I told him that...</i>'
-		elseif mesec > 0:
-			'"Happy?" you faintly smile at him. He nods back at you with a self-satisfied grin. "Just feel lucky that I''m on my period. I might not have let you do that otherwise."'
-		else
-			'He has a grin on his face while he watches the cum spilling out of you.'
-			'<i>Huh...</i> you think, basking in the afterglow. <i>I''ll have to buy a morning after pill from the pharmacy...</i>'
-		end
-	end
-	act'Continue':gt'brother_voyeur_sex','brother_shower_fuck_end'
-end
-
-!! ----------------------------------------------------------- Ending ---------------------------------------------------------------------
-
-if $ARGS[0] = 'brother_shower_fuck_end':
-	cla & *clr
-	noshampoo = 1
-	dynamic $showerdin
-	brother_shower_times += 1
-	minut += 2
-	gs 'arousal','end'
-	if brotherfuck = 1 and brother_knows_not_virgin >= 1:
-		gs'stat'
-		'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-		'Thoroughly satisfied with the dicking you received from your brother, you lean into him letting him feel you up from behind.'
-		'"So," you ask, nonchalantly grabbing his cock and working it gently. "Did you enjoy losing your virginity? Was it everything your teenage brain dreamed of?"'
-		'"Everything and more," he responds, gently pinching your nipples. You to moan and squeeze his dick in response. "But more than that, I''m happy to be part of the club."'
-		*nl
-		act'I''m glad you''re in the club too':
-			cla
-			'"I''m glad you''re in the club too," you smile back at him. "Seriously, I meant it when I said I don''t get around much. You''re not just another boy who''s fucked me Kolka. You''re my brother. You''re special."'
-			'He hesitates before he asks his next question. "Does that mean that I''m going to be the only ''active'' member of the club? I mean... does this mean that I''m going to be the only one you have sex with?"'
-			act'No, it means we help each other out':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-				if brotherSex < 9:brotherSex = 9
-				'"Well..." You think for a moment. "I''d still like to get a boyfriend, maybe get married some day. And I like fucking you, but you''re still just my brother to me. I can''t really see you any other way. Besides, I''m sure that you''d like to get a real girlfriend someday. Not just be that boy who''s so pathetic because the only poon he can get is from his sister. Maybe we can just take care of each other? So we''d still see other people and stuff, but we can always fuck each other''s brains out whenever we need some relief. How does that sound?"'
-				'"Sounds good," he grins at you. "Besides, you can''t be the only girl I have sex with. I need to fuck a real virgin some day. Not some loose slut throwing freebies to her brother."'
-				'You smack his arm but smile anyways. "Yeah, but I still have <i>your</i> virginity. No matter how many other girls'' you take, yours will always be mine!"'
-				'The two of you banter back and forth for a little while longer before you realize someone might notice that your brother is missing and become suspicious. You quickly shut off the water and dry him off, gathering Kolka''s clothes and shooing him into the hallway.'
-				act'Finish':mirror_steam = hour & gt $loc
-			end
-			act'Yes, I love you':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-				if brotherSex < 10:brotherSex = 10
-				'His question strikes you by surprise. Even more surprisingly, you hear yourself whispering.'
-				'"Yes."'
-				'"You''re the only one for Kolka. You''re my brother and I love you like a brother but... I also feel something more for you. I want to be with you. I love you."'
-				'He seems taken aback by your answer and thinks about it for a minute.'
-				'"Yeah. I love you too sis," he says, gently kissing you. He seems happy but a little wistful. "I wish I could have taken your virginity too though."'
-				'You quickly try to console him. "I''m sorry Kolka! I''m sorry I couldn''t save it for you. But I''ll make it up to you! Because you''re going to get to far more of me than the person who took it. You''ll have me forever..."'
-				'The sit under the water together for a little while longer before you realize someone might notice that your brother is missing and become suspicious. You quickly shut off the water and dry him off, gathering Kolka''s clothes and shooing him into the hallway.'
-				act'Finish':mirror_steam = hour & gt $loc
-			end
-		end
-
-		act'Glad to have a new member (slut)':
-			cla & *clr
-			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershowersex2.jpg"></center>'
-			'"Oh yeah, I''m glad to have a new member. You can never have enough members inside y-, I mean, in the club," you say, winking at him mischievously.'
-			'"Slut."'
-			'"Cocktoy."'
-			'"Cum dump."'
-			'"Dicking machine."'
-			'"Cocksleeve."'
-			'The two of you banter back and forth for a little while longer before you realize someone might notice that your brother is missing and become suspicious. You quickly shut off the water and dry him off, gathering Kolka''s clothes and shooing him into the hallway.'
-			act'Finish':mirror_steam = hour & gt $loc
-		end
-	else
-		'<center><img <<$set_imgh>> src="images/shared/home/bathroom/brothershower.jpg"></center>'
-		'Your teenage fuck session finished and bodies relatively clean -despite your best attempts to undo the effects of your recent washing- the two of you rinse yourselves off one last time to ensure no cum or other suspicious bodily fluids remain.'
-		*nl
-		if brotherfuck = 1 and brothervirginlie = 3:
-			cla
-			'"Hey <<$pcs_nickname>>. Can I ask you something? I''ve been wondering..."'
-			'"Hmm? What is it?"'
-			if pcs_vag >= 25:
-				'"If it was your first time, how come you''re so loose?"'
-				'<i>Shit!</i>'
-				'"I always heard that virgins are supposed to be really tight for their first time, but you weren''t. I mean, it still felt really good but I slid in so easily. How come?"'
-				'Unable to come up with a suitable explanation, you decide to retaliate with false offense.'
-				'"What are you trying to say about me? Huh? That I''m a slut? That I would lie to you about giving you my virginity? How dare you!"'
-				'Kolka shies away at your sudden burst of emotion.'
-				'"I''m sorry! I jus-"'
-				'"Just nothing! I can''t believe I just gave my virginity to such an ungrateful brat!"'
-				act'Kick him out to cover up your lie':
-					cla & *clr
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-					'Not knowing what else to do, you yank open the shower curtain and shove Kolka towards the door.'
-					'"Get out."'
-					'"But I-!"'
-					'"Out!"'
-					'Still dripping wet with his clothes in his arms, you shove your brother into the hallway naked. If your parents ask about it, you''ll just tell them he was peeping on you and you sprayed him with the showerhead.'
-					'Your brother out of the room you lean back onto the door and close your eyes, feeling bad for what you just did. Maybe you shouldn''t have lied to him about that after all...'
-					brother_knows_not_virgin = 1
-					brothervirginlie = 0
-					act'Finish up':mirror_steam = hour & gt $loc
-				end
-			else
-				'"If that was your first time, how come you didn''t have a hymen? Isn''t that supposed to tear the first time a girl has sex? I didn''t feel it when I put my dick inside you."'
-				'<i>Shit!</i>'
-				'"Well, uhh, I''m definitely a virgin! I mean, I was until you fucked me for the first time, uhh, today!" you stammer, hoping your furious blush is covered up by the heat of the shower. "You definitely tore my hymen! It, uhh, it really hurt! Maybe you just didn''t notice when you did! I sure noticed! Ahaha, haha, ha..."'
-				'"Hmm. Well, you <i>were</i> pretty tight. You''re probably right and I just didn''t feel it."'
-				'You sigh quietly in relief, your hasty lies about your chastity bought by your brother. That was a close one...'
-				act'Finish showering':
-					pcs_horny = 0
-					cla & *clr
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-					'Stepping out of the shower, you grab a towel to personally help your brother dry off, paying special attention to his cock and balls. Once finished, you stand back to smirk at him, you yourself still naked and dripping wet.'
-					'"Well? Did you have fun showering with your sister??"'
-					'Kolka does nothing but grin at you in response.'
-					*nl
-					act'Ruffle his hair and send him on his way':
-						cla
-						'"Well, glad you enjoyed yourself," you say, ruffling his hair, smiling when he cringes back in response to the child-like treatment. "See you later bro."'
-						'He nods back at you, picking up his clothes before peeking into the hallway to make sure no one is there and slipping out the door.'
-						brother_knows_not_virgin = 1
-						brothervirginlie = 0
-						act'Finish drying off':mirror_steam = hour & gt $loc
-					end
-
-					act'Kiss him goodbye':
-						cla
-						'You lean in to give your brother an intimate kiss, then stepping back to meet his eyes.'
-						'"See you later," you whisper.'
-						'He smiles back at you and picks up his clothes before peeking into the hallway to make sure no one is there and slipping out the door.'
-						brother_knows_not_virgin = 1
-						brothervirginlie = 0
-						act'Finish drying off':mirror_steam = hour & gt $loc
-					end
-
-					act'Until next time (grab his cock)':
-						cla
-						'A sly smile on your face, you step forward to grab him by the cock.'
-						'"Until next time little brother," you murmur into his ear, giving his dick a hard squeeze. Then, you slap his ass and push him towards the door. "Now, shoo! Before someone catches us in here together."'
-						'Startled, he does as you say, picking up his clothes and peeking into the hallway to make sure no one is there before slipping out the door.'
-						brothervirginlie = 0
-						act'Finish drying off':mirror_steam = hour & gt $loc
-					end
-				end
-			end
-		elseif brotherfuck = 1 and brothervirginlie <= 2 and brothervirginlie >= 1:
-			cla
-			'"Hey <<$pcs_nickname>>. Can I ask you something? I''ve been wondering..."'
-			'"Hmm? What is it?"'
-			'"When I put it in before, I thought I felt something, some kind of resistance. When I pushed past it I heard you make a sound, like you were in pain. Was... was that your hymen?"'
-			'You freeze in place suddenly, not knowing what to do.'
-			'"Did you lie to me about not being a virgin?"'
-			'You turn towards him, biting your lip and not saying anything. The guilty look on your face gives everything away.'
-			'"Why did you lie about that <<$pcs_nickname>>?"'
-			act'I don''t know':
-				npc_rel['A34'] += 25
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-				if brothervirginlie = 1:
-					'"I... I don''t know. I just panicked I guess. Thought that maybe it might be better for you if you thought your big sister was more experienced and had been with other boys before." You look back at him apprehensively, worried about what he''ll say or do next now that you''ve admitted the truth.'
-				elseif brothervirginlie = 2:
-					'"I... I don''t know. I just panicked I guess. Thought that maybe it might be better for you if you thought your big sister was a big slut who fucked all the boys in town." You look back at him apprehensively, worried about what he''ll say or do next now that you''ve admitted the truth.'
-				end
-				'Your brother regards you for a moment. And then he smiles.'
-				'"Dummy."'
-				'You shy away. And then blink a few times registering what you just heard.'
-				'"What...?"'
-				'"I called you a dummy <<$pcs_nickname>>. How could you think that I''d like you more if you were fucking other guys? You know that most guys like to fuck virgins, right?"'
-				'"They do?"'
-				'"Yes, we do! Anyone can fuck a slut. That''s what makes them sluts. But a girl is only a virgin once. And besides..." His grin grows wider. "This means that we lost our virginities together. I have yours and you have mine. And... I know we''re siblings and stuff... I know that some people think that''s wrong, but you being my sister just makes this feel more right to me. I feel closer to you now. How many other brothers and sisters can say they had their first time together? I''m glad you were a virgin! And I''m glad we got to share that together..."'
-				'He trails off and you eye him for a moment before you break into a smile, wrapping him a tight hug.'
-				'"Aww! You''re actually quite the romantic, little brother!"'
-				'"Pfft~! It''s not like I''m gonna marry you or anything like that. You''re still my sister. And I''m still gonna fuck lots of other girls once they start looking my way! But..." he trails off again.'
-				'"... now we have a bond that other siblings don''t have," you finish. "And no matter what else happens, we''ll carry each other''s virginities for the rest of our lives." He nods.'
-				act'Continue':
-					brotherSex = 9
-					minut += 5
-					gs 'stat'
-					cla & *clr
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-					'You stand together for a few more minutes, holding each other under the water of the shower, not saying anything. Finally, you break the silence.'
-					'"Well, if you''re going to be trying to fuck other girls, you can''t be mad at me when I fuck other boys," you smirk at him.'
-					'"Go ahead! I won''t need you! In a couple years, I''ll practically be drowning in pussy!"'
-					'"Yeah, right! That sounds about as likely as your dick growing 20 centimeters overnight! I''m more likely to find you sitting at home with blue balls, begging me for blowjobs."'
-					'"You''ll see! Girls will be lining up the block for a turn to ride my magnificent cock!"'
-					act'And what if I want a turn?':
-						cla & *clr
-						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-						'"And if I want a turn? Will I have to wait in line like the rest?"'
-						'He opens his mouth and pauses, suddenly realizing the implications of your turn in the flow of banter.'
-						'"... no..." he mutters. "... you won''t have to wait... sisters get special dick privileges."'
-						'Kolka looks away, his cheeks a little redder than they were before, an erection hardening and rubbing up against your thighs. You smile at him. He can be such a sweet boy sometimes.'
-						'"Good! And <i>you</i> should know, little brothers get an all access pussy pass too," you say, leaning in to give him a light kiss on the lips.'
-						'"... even if you have a boyfriend?" he asks hesitantly.'
-						'"Even if I have a boyfriend," you insist. "After all, my relationship with my brother is special. He took my virginity!"'
-						*nl
-						'The conversation winding down, the two of you remember that you have to get your brother out of here, lest the rest of your family grow suspicious of his absence. Leaving the shower running, you quickly help him towel off. Afterwards, he collects his clothes, gives you another quick kiss on the cheek, and slips out the door into the hallway. Your brother gone, now there''s nothing left to do but turn off the water and dry yourself off.'
-						brothervirginlie = 0
-						act'Finish drying off':mirror_steam = hour & gt $loc
-					end
-				end
-			end
-		end
-		if brothervirginlie = 0:
-			act'Did you have fun?':
-				pcs_horny = 0
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-				'Thoroughly satisfied with the dicking you received, you grab a towel to personally help your brother dry off, paying special attention to his cock and balls. Once finished, you stand back to smirk at him, you yourself still naked and dripping wet.'
-				'"Well? Did you have fun showering with your sister??"'
-				'Kolka does nothing but grin at you in response.'
-				*nl
-				act'Ruffle his hair and send him on his way':
-					cla
-					brother_knows_not_virgin = 1
-					brothervirginlie = 0
-					'"Well, glad you enjoyed yourself," you say, ruffling his hair, smiling when he cringes back in response to the child-like treatment. "See you later bro."'
-					'He nods back at you, picking up his clothes before peeking into the hallway to make sure no one is there and slipping out the door.'
-					act'Finish drying off':mirror_steam = hour & gt $loc
-				end
-
-				act'Kiss him goodbye':
-					cla
-					brother_knows_not_virgin = 1
-					brothervirginlie = 0
-					'You lean in to give your brother an intimate kiss, then stepping back to meet his eyes.'
-					'"See you later," you whisper.'
-					'He smiles back at you and picks up his clothes before peeking into the hallway to make sure no one is there and slipping out the door.'
-					act'Finish drying off':mirror_steam = hour & gt $loc
-				end
-
-				act'Until next time (grab his cock)':
-					cla
-					brothervirginlie = 0
-					'A sly smile on your face, you step forward to grab him by the cock.'
-					'"Until next time little brother," you murmur into his ear, giving his dick a hard squeeze. Then, you slap his ass and push him towards the door. "Now, shoo! Before someone catches us in here together."'
-					'Startled, he does as you say, picking up his clothes and peeking into the hallway to make sure no one is there before slipping out the door.'
-					act'Finish drying off':mirror_steam = hour & gt $loc
-				end
-			end
-			act'Kick him out':
-				cla & *clr
-				brother_knows_not_virgin = 1
-				brothervirginlie = 0
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/home/vanrpar.jpg"></center>'
-				if brothervirginlie ! 2:
-					'Thoroughly annoyed with Kolka, you shove him towards the door.'
-				elseif brothervirginlie = 2:
-					'Not knowing what else to do, you yank open the shower curtain and shove Kolka towards the door.'
-					'"Get out."'
-					'"But I-!"'
-					'"Out!"'
-					'Still dripping wet with his clothes in his arms, you shove your brother into the hallway naked. If your parents ask about it, you''ll just tell them he was peeping on you and you sprayed him with the showerhead.'
-					'<br>Your brother out of the room you lean back onto the door and close your eyes, feeling bad for what you just did. Maybe you shouldn''t have lied to him about that after all...'
-				end
-				if pcs_horny > 70 and brothervirginlie ! 2:'And fuck! You''re still so goddamn horny!'
-				act'Finish up':mirror_steam = hour & gt $loc
-			end
-		end
-	end
-end
-
-
---- brother_voyeur_sex ---------------------------------
-

+ 40 - 39
locations/bus.qsrc

@@ -314,7 +314,7 @@ if $ARGS[0] = 'construction':
 	*nl
 	gs 'transport_functions', 'set_bus_wait_time', 'construction'
 
-	act 'Walk to the construction site (0:05)': minut += 5 & nroad = 16 & gt 'road'
+	act 'Walk to the road (0:05)': minut += 5 & nroad = 16 & gt 'road'
 
 	if transportVars['bus_wait_pavlovsk'] <= 60 or transportVars['bus_wait_gadukino'] <= 60:
 		'The next bus in the direction of Gadukino ' + iif(transportVars['bus_wait_gadukino'] = 0, 'is leaving now!', 'leaves in <<transportVars[''bus_wait_gadukino'']>> minutes.')
@@ -490,15 +490,15 @@ if $ARGS[0] = 'communal':
 
 	if month >= 11 or month <= 3:
 		if hour >= 9 and hour <= 16:
-			'<center><img <<$set_imgh>> src="images/shared/bus/winter_day<<rand(1, 3)>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/shared/bus/winter_day<<rand(1, 3)>>.jpg"></center>'
 		else
-			'<center><img <<$set_imgh>> src="images/shared/bus/winter_night<<rand(1, 3)>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/shared/bus/winter_night<<rand(1, 3)>>.jpg"></center>'
 		end
 	else
 		if hour >= 7 and hour <= 18:
-			'<center><img <<$set_imgh>> src="images/shared/bus/day<<rand(1, 3)>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/shared/bus/day<<rand(1, 3)>>.jpg"></center>'
 		else
-			'<center><img <<$set_imgh>> src="images/shared/bus/night<<rand(1, 3)>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/shared/bus/night<<rand(1, 3)>>.jpg"></center>'
 		end
 	end
 
@@ -601,7 +601,8 @@ if $ARGS[0] = 'graveyard':
 	*nl
 	gs 'transport_functions', 'set_bus_wait_time', 'graveyard'
 
-	act 'Walk to the graveyard (0:01)': minut += 1 & nroad = 3 & gt 'road'
+	act 'Walk to the road (0:01)': minut += 1 & nroad = 3 & gt 'road'
+	act 'Walk to the cemetary (0:15)': minut += 15 & gt 'graveyard'
 
 	if transportVars['bus_wait_gadukino'] <= 60 or transportVars['bus_wait_suburbs'] <= 60:
 		'The next bus in the direction of Gadukino ' + iif(transportVars['bus_wait_gadukino'] = 0, 'is leaving now!', 'leaves in <<transportVars[''bus_wait_gadukino'']>> minutes.')
@@ -644,7 +645,7 @@ elseif $ARGS[0] = 'graveyard_busses':
 	'The next bus in the direction of the suburbs of the St. Petersburg suburbs ' + iif(transportVars['bus_wait_suburbs'] = 0, 'is leaving now!', 'leaves in <<transportVars[''bus_wait_suburbs'']>> minutes.')
 	'The next bus in the direction of Gadukino ' + iif(transportVars['bus_wait_gadukino'] = 0, 'is leaving now!', 'leaves in <<transportVars[''bus_wait_gadukino'']>> minutes.')
 
-	act 'Leave the platform': gt 'bus', 'communal'
+	act 'Leave the platform': gt 'bus', 'graveyard'
 
 	act 'Look at the bus schedule':
 		*clr & cla
@@ -783,7 +784,7 @@ if $ARGS[0] = 'community_pavstation':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk train station bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -809,7 +810,7 @@ elseif $ARGS[0] = 'community_pushkin':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pushkin bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -835,7 +836,7 @@ elseif $ARGS[0] = 'community_construction':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the construction site bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -861,7 +862,7 @@ elseif $ARGS[0] = 'community_gadukino':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Gadukino bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -895,7 +896,7 @@ if $ARGS[0] = 'pavstation_community':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk community center bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -921,7 +922,7 @@ elseif $ARGS[0] = 'pavstation_pushkin':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pushkin bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -947,7 +948,7 @@ elseif $ARGS[0] = 'pavstation_construction':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the construction site bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -973,7 +974,7 @@ elseif $ARGS[0] = 'pavstation_gadukino':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Gadukino bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1007,7 +1008,7 @@ if $ARGS[0] = 'pushkin_community':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk community center bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1033,7 +1034,7 @@ elseif $ARGS[0] = 'pushkin_pavstation':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk train station bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1059,7 +1060,7 @@ elseif $ARGS[0] = 'pushkin_construction':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the construction site bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1085,7 +1086,7 @@ elseif $ARGS[0] = 'pushkin_gadukino':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Gadukino bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1119,7 +1120,7 @@ if $ARGS[0] = 'construction_community':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk community center bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1145,7 +1146,7 @@ elseif $ARGS[0] = 'construction_pavstation':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk train station bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1171,7 +1172,7 @@ elseif $ARGS[0] = 'construction_pushkin':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pushkin bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1197,7 +1198,7 @@ elseif $ARGS[0] = 'construction_gadukino':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Gadukino bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1231,7 +1232,7 @@ if $ARGS[0] = 'gadukino_community':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk community center bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1257,7 +1258,7 @@ elseif $ARGS[0] = 'gadukino_pavstation':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pavlovsk train station bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1283,7 +1284,7 @@ elseif $ARGS[0] = 'gadukino_pushkin':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Pushkin bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1309,7 +1310,7 @@ elseif $ARGS[0] = 'gadukino_construction':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the construction site bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1335,7 +1336,7 @@ elseif $ARGS[0] = 'gadukino_communal':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the communal village bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1361,7 +1362,7 @@ elseif $ARGS[0] = 'gadukino_graveyard':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the graveyard bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1387,7 +1388,7 @@ elseif $ARGS[0] = 'gadukino_suburbs':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the suburbs bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1421,7 +1422,7 @@ if $ARGS[0] = 'communal_gadukino':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Gadukino bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1447,7 +1448,7 @@ elseif $ARGS[0] = 'communal_graveyard':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the graveyard bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1473,7 +1474,7 @@ elseif $ARGS[0] = 'communal_suburbs':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the suburbs bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1507,7 +1508,7 @@ if $ARGS[0] = 'graveyard_gadukino':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Gadukino bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1533,7 +1534,7 @@ elseif $ARGS[0] = 'graveyard_communal':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the communal village bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1559,7 +1560,7 @@ elseif $ARGS[0] = 'graveyard_suburbs':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the suburbs bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1593,7 +1594,7 @@ if $ARGS[0] = 'suburbs_gadukino':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the Gadukino bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1619,7 +1620,7 @@ elseif $ARGS[0] = 'suburbs_communal':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the communal village bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'
@@ -1645,7 +1646,7 @@ elseif $ARGS[0] = 'suburbs_graveyard':
 		end
 	end
 
-	'<center><img <<$set_imgh>> src="images/locations/system/image_needed.jpg" ></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png" ></center>'
 	'After <<transportVars[''timecost'']>> minutes, the bus stops at the graveyard bus station.'
 	act 'Get off the bus':
 		if rand(1, 100) <= 5: gt 'bus_incidental', 'end'

+ 1 - 2
locations/bus_incidental.qsrc

@@ -33,6 +33,5 @@ if $ARGS[0] = 'end1':
 	act 'Continue': gt $loc, $loc_arg
 end
 
+--- bus_incidental ---------------------------------
 
-
---- bus_incidental ---------------------------------------

+ 3 - 3
locations/casino.qsrc

@@ -861,9 +861,8 @@ if $ARGS[0] = 'insurance1':
 end
 
 if $ARGS[0] = 'insurance2':
-	if deckFace[dealerCards[1]] > 9: gs 'casino', 'blackjack_view', 1
-	if deckFace[dealerCards[1]] < 10: gs 'casino', 'blackjack_view'
-	if dealerPoints = 21:
+	if dealerPoints = 21 or deckFace[dealerHand[1]] > 9:
+      	gs 'casino', 'blackjack_view', 1
 		*pl 'DEALER WINS'
 		*p 'The dealer takes your <<playerBets[0]>> <b>₽</b> bet'
 		if insurance > 0: *p ' but also gives you <<insurance>> <b>₽</b> for your side bet'
@@ -872,6 +871,7 @@ if $ARGS[0] = 'insurance2':
 		money += insurance
 		act 'Continue' : gt 'casino', 'blackjack_play'
 	else
+      	gs 'casino', 'blackjack_view'
 		*pl 'The dealer takes a peek at his hole card; no blackjack.'
 		if insurance > 0: *p 'He relieves you of <<insurance>> <b>₽</b> for your side bet.'
 		money -= insurance

+ 7 - 56
locations/cikl.qsrc

@@ -560,14 +560,6 @@ gs 'traits', 'overnight'
 !! Clothing wear and tear
 gs 'starenie'
 
-!!cocaine reduction
-if nark > 60:
-	nark = 60
-elseif nark > 30:
-	nark -= 3
-elseif nark > 0:
-	nark -= 1
-end
 
 if pregchem > 240:fat += 1
 
@@ -575,44 +567,6 @@ if pregchem > 240:fat += 1
 !!	Pain
 !!------------------------------------------------------------------------------------------------------------
 
-if pain['head'] > 0:     pain['head']      -= max(rand(1,3), rand(pain['head']      /2))
-if pain['hair'] > 0:     pain['hair']      -= max(rand(1,3), rand(pain['hair']      /2))
-if pain['ears'] > 0:     pain['ears']      -= max(rand(1,3), rand(pain['ears']      /2))
-if pain['eyebrows'] > 0: pain['eyebrows']  -= max(rand(1,3), rand(pain['eyebrows']  /2))
-if pain['eyes'] > 0:     pain['eyes']      -= max(rand(1,3), rand(pain['eyes']      /2))
-if pain['cheeks'] > 0:   pain['cheeks']    -= max(rand(1,3), rand(pain['cheeks']    /2))
-if pain['nose'] > 0:     pain['nose']      -= max(rand(1,3), rand(pain['nose']      /2))
-if pain['mouth'] > 0:    pain['mouth']     -= max(rand(1,3), rand(pain['mouth']     /2))
-if pain['lips'] > 0:     pain['lips']      -= max(rand(1,3), rand(pain['lips']      /2))
-if pain['tongue'] > 0:   pain['tongue']    -= max(rand(1,3), rand(pain['tongue']    /2))
-if pain['throat'] > 0:   pain['throat']    -= max(rand(1,3), rand(pain['throat']    /2))
-if pain['neck'] > 0:     pain['neck']      -= max(rand(1,3), rand(pain['neck']      /2))
-if pain['back'] > 0:     pain['back']      -= max(rand(1,3), rand(pain['back']      /2))
-if pain['asscheeks'] > 0:pain['asscheeks'] -= max(rand(1,3), rand(pain['asscheeks'] /2))
-if pain['asshole'] > 0:  pain['asshole']   -= max(rand(1,3), rand(pain['asshole']   /2))
-if pain['hips'] > 0:     pain['hips']      -= max(rand(1,3), rand(pain['hips']      /2))
-if pain['thighs'] > 0:   pain['thighs']    -= max(rand(1,3), rand(pain['thighs']    /2))
-if pain['legL'] > 0:     pain['legL']      -= max(rand(1,3), rand(pain['legL']      /2))
-if pain['legR'] > 0:     pain['legR']      -= max(rand(1,3), rand(pain['legR']      /2))
-if pain['feet'] > 0:     pain['feet']      -= max(rand(1,3), rand(pain['feet']      /2))
-if pain['toes'] > 0:     pain['toes']      -= max(rand(1,3), rand(pain['toes']      /2))
-if pain['shoulders'] > 0:pain['shoulders'] -= max(rand(1,3), rand(pain['shoulders'] /2))
-if pain['armL'] > 0:     pain['armL']      -= max(rand(1,3), rand(pain['armL']      /2))
-if pain['armR'] > 0:     pain['armR']      -= max(rand(1,3), rand(pain['armR']      /2))
-if pain['hands'] > 0:    pain['hands']     -= max(rand(1,3), rand(pain['hands']     /2))
-if pain['fingers'] > 0:  pain['fingers']   -= max(rand(1,3), rand(pain['fingers']   /2))
-if pain['chest'] > 0:    pain['chest']     -= max(rand(1,3), rand(pain['chest']     /2))
-if pain['breasts'] > 0:  pain['breasts']   -= max(rand(1,3), rand(pain['breasts']   /2))
-if pain['nipples'] > 0:  pain['nipples']   -= max(rand(1,3), rand(pain['nipples']   /2))
-if pain['ribs'] > 0:     pain['ribs']      -= max(rand(1,3), rand(pain['ribs']      /2))
-if pain['tummy'] > 0:    pain['tummy']     -= max(rand(1,3), rand(pain['tummy']     /2))
-if pain['pubic'] > 0:    pain['pubic']     -= max(rand(1,3), rand(pain['pubic']     /2))
-if pain['vaginal'] > 0:  pain['vaginal']   -= max(rand(1,3), rand(pain['vaginal']   /2))
-if pain['labia'] > 0:    pain['labia']     -= max(rand(1,3), rand(pain['labia']     /2))
-if pain['clitoris'] > 0: pain['clitoris']  -= max(rand(1,3), rand(pain['clitoris']  /2))
-if pain['urethra'] > 0:  pain['urethra']   -= max(rand(1,3), rand(pain['urethra']   /2))
-if pain['cervix'] > 0:   pain['cervix']    -= max(rand(1,3), rand(pain['cervix']    /2))
-
 if painpub = 2:
 	if painpubday + 5 < daystart:
 		$painpub = 'Your vulva is painfully sore.'
@@ -1023,16 +977,10 @@ mosal_time = totminut
 !!also, the first thing you do in the morning is visiting your porcelain friend, no?
 killvar 'last_pee'
 
-if aphrodisiac_overdose = 1: aphrodisiac_overdose = 0
-if aphrodisiac_timer ! 0: aphrodisiac_timer	= 0
-
-if mentats_dose = 1:
-	mentats_dose = 0
-elseif mentats_dose > 1:
-	pain['head'] += 20 * mentats_dose
-	mentats_dose = 0
-end
-
+!!Drugs reduction
+gs 'drugs', 'cocaine', 'cikl'
+gs 'drugs', 'mentats', 'cikl'
+gs 'drugs', 'aphrodisiac', 'cikl'
 
 gs 'gaddvor','cikl'
 
@@ -1372,5 +1320,8 @@ if arrsize('policeQW_courthearing_dates') > 1:
 	gs 'shortgs', 'coupled_array_sort', 'policeQW_courthearing_dates', '$policeQW_courthearing_subjects'
 end
 
+if blackmailQW['stage'] > 0: gs 'blackmailer', 'cikl'
+
+
 --- cikl ---------------------------------
 

+ 14 - 22
locations/city_bobka.qsrc

@@ -147,14 +147,11 @@ end
 if $ARGS[0] = 'inject':
 	cls
 	minut += 5
-	StrongNarkota += 25
-	SNarkTimes += 1
-	NarkShmaraTimes += 1
-	pcs_mood += 40
-	gs 'stat'
+	drugVars['heroin_whore'] += 1
+	gs 'drugs', 'heroin'
 	$tempval = ''
 
-	if narkoman ! 0:$tempval = ' with trembling hands'
+	if drugVars['cocaine_addict'] ! 0:$tempval = ' with trembling hands'
 
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/den/crackwhore.jpg"></center>'
 	'You grab the syringe desperately and inject yourself<<$tempval>>. Meanwhile Bobka is looking down at you haughtily, shaking his head while laughing softly. "Another happy customer. Just like you''re going to make a lot of customers happy one day..."'
@@ -240,7 +237,7 @@ if $ARGS[0] = 'peeface':
 	'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/peeface.jpg"></center>'
 	'Bobka releases his flaccid penis from his trousers, and unleashes a warm stream of urine almost immediately. When you wince and close your eyes, he shouts angrily: "Don''t turn away! Open your eyes and look at me, slut! Right now!"'
 
-	act 'Look into his eyes':gt 'city_bobka', 'peeface2'
+	act 'Look into his eyes': gt 'city_bobka', 'peeface2'
 end
 
 if $ARGS[0] = 'peeface2':
@@ -252,7 +249,7 @@ if $ARGS[0] = 'peeface2':
 	'You open your eyes and look at him obediently, keeping your face so the urine at least won''t splash up your nose. His urine smells horribly and slowly drips down your body, forming a puddle underneath you. Your mind is going through a desperate struggle as you sit there; on the one hand you feel terrible for demeaning yourself so much, but on the other hand you''re happily anticipating your next high.'
 	'When you wipe your eyes clear with the back of your trembling hands, Bobka smiles meanly.'
 
-	act 'Ask for the dose':gt 'city_bobka', 'peeface3'
+	act 'Ask for the dose': gt 'city_bobka', 'peeface3'
 end
 
 if $ARGS[0] = 'peeface3':
@@ -264,7 +261,7 @@ if $ARGS[0] = 'peeface3':
 	'Bobka gets closer to you and shakes the last drops off his penis, and then wipes it on your hair.'
 	'"Did you like your shower? It seems just right, for the whore that you are..." he smiles serenely, seeing the defeated look in your eyes. He knows he''s very close to breaking you for good, and offers you the syringe without playing any games.'
 
-	act 'Grab the syringe':gt 'city_bobka', 'peewhore'
+	act 'Grab the syringe': gt 'city_bobka', 'peewhore'
 end
 
 if $ARGS[0] = 'peeswallow':
@@ -279,7 +276,7 @@ if $ARGS[0] = 'peeswallow':
 	'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/peeswallow.jpg"></center>'
 	'As soon as you open your mouth, a torrent of Bobka''s urine enters your mouth. You nearly choke and cough from the horrible taste, and grimace from the nasty smell that fills your nostrils.'
 
-	act 'Cough uncontrollably':gt 'city_bobka', 'peeswallow2'
+	act 'Cough uncontrollably': gt 'city_bobka', 'peeswallow2'
 end
 
 if $ARGS[0] = 'peeswallow2':
@@ -293,7 +290,7 @@ if $ARGS[0] = 'peeswallow2':
 	'"Swallow it, whore! Swallow it all, or you''re not getting anything!" Bobka barks loudly.'
 	'You throw your head back and open your mouth as far as you can, just letting the urine flow directly into your stomach without even bothering to swallow. Your stomach fills quickly, and you feel a bit bloated when the stream finally slows down.'
 
-	act 'Swallow the last drops':gt 'city_bobka', 'peeswallow3'
+	act 'Swallow the last drops': gt 'city_bobka', 'peeswallow3'
 end
 
 if $ARGS[0] = 'peeswallow3':
@@ -304,7 +301,7 @@ if $ARGS[0] = 'peeswallow3':
 	'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/peeswallow3.jpg"></center>'
 	'Bobka steps a bit closer to you and puts the tip of his cock directly onto your lower lip and then makes you close your mouth, making you suck the last drops out of him directly.'
 
-	act 'Lick his cock clean':gt 'city_bobka', 'peeswallow4'
+	act 'Lick his cock clean': gt 'city_bobka', 'peeswallow4'
 end
 
 if $ARGS[0] = 'peeswallow4':
@@ -318,26 +315,21 @@ if $ARGS[0] = 'peeswallow4':
 	'While you try not to think about what you just did to earn it, you extend your trembling hand.'
 	'Bobka laughs as he offers you a syringe and the 100 <b>₽</b> he promised you: "I think you may have found your calling! This might be a decent career for you... maybe I can make some arrangements. Anyway, here you go. I hope it was worth it."'
 
-	act 'Grab the syringe':gt 'city_bobka', 'peewhore'
+	act 'Grab the syringe': gt 'city_bobka', 'peewhore'
 end
 
 if $ARGS[0] = 'peewhore':
 	cla
 	cls
 	minut += 5
-	StrongNarkota += 25
-	SNarkTimes += 1
-	NarkShmaraTimes += 1
-	pcs_mood += 40
 	pcs_hydra += 20
-	gs 'stat'
+	drugVars['heroin_whore'] += 1
+	gs 'drugs', 'heroin'
+
 	'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/peewhore.jpg"></center>'
 	'You don''t even bother washing yourself as you quickly grab the syringe, and inject yourself with it. Bobka looks down on you with a devious smile, he knows he''s very close to completely controlling your life. Soon, you won''t be able to say no any more...'
 
-	act 'Leave the drug den':
-		minut += 5
-		gt 'city_residential'
-	end
+	act 'Leave the drug den': minut += 5 & gt 'city_residential'
 end
 
 --- city_bobka ---------------------------------

+ 1 - 1
locations/city_center.qsrc

@@ -220,7 +220,7 @@ $desc_txt7 = '<a href="exec: minut += 1 & gt ''police_station'',''start''">Main
 *nl
 '<a href="exec: minut += 1 & gt ''city_church'', ''start''">Kazan Cathedral</a>, also known as the Cathedral of Our Lady of Kazan, sits at the very center of the city.'
 *nl
-if nichHotelReferral = 2:
+if nichHotelReferral = 2 and nichWork ! 2 and nichWork ! 4:
 	if hour >= 4 and hour < 16:
 		'You could go to the apartment of a man named Nicholas to apply for a job as a live-in maid, but it''s too early for that. You should come back between 16:00 and 21:00.'
 	elseif hour < 4 or hour > 21:

+ 3 - 3
locations/city_church.qsrc

@@ -109,7 +109,7 @@ if $ARGS[0] = 'Narthex':
 	*clr & cla
 	gs 'themes', 'indoors'
 	gs 'stat'
-	PLAY 'sound/church/76139__dkustic__090227-01-people-church-concert.wav',30
+	PLAY 'sound/church/76139__dkustic__090227-01-people-church-concert.mp3',30
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/church/enterchurch.jpg"></center>'
 	'You enter the church and the scent of incense and beeswax fills your lungs. Your eyes are drawn past the Narthex into the Nave with its walls covered in lovingly painted icons while a thousand points of light dance in joy throughout God''s house from the magnificent chandelier that hangs from the ceiling.'
 	'To your left is a counter where a deacon sells candles, icons and prayer books. He smiles and nods at you absently, acknowledging your presence without really seeing you.'
@@ -201,14 +201,14 @@ if $ARGS[0] = 'pray':
 			pcs_mood += 50
 			church_moral += 1
 			minut += rand(30,60)
-			if nark > 1: nark = nark/2
+			if drugVars['cocaine_system'] > 1: drugVars['cocaine_system'] = drugVars['cocaine_system'] / 2
 			'The Nave is lit only with small candles, leaving your surroundings in darkness, but you find it comforting. You get the urge to pray very intensely and before you know it, an hour has passed and you feel cleansed.'
 		else
 			pcs_horny = 0
 			pcs_mood = 100
 			church_moral += 1
 			minut += 60
-			if nark > 1: nark = ((nark/4)*3)
+			if drugVars['cocaine_system'] > 1: drugVars['cocaine_system'] = 3 * drugVars['cocaine_system'] / 4
 			'The Nave is lit only with candles and small presence lights and the darkness feels very comforting, like being in the womb. You get the urge to pray very intensely and before you know it, more than an hour has passed and you feel reborn and cleansed.'
 		end
 		gs 'stat'

+ 145 - 53
locations/city_clinic.qsrc

@@ -9,6 +9,8 @@ if $ARGS[0] = 'start':
 	$location_type = 'indoors'
 	$menu_loc = 'city_clinic'
 	$menu_arg = 'start'
+	killvar 'temp_small_mbottle_ids'
+	killvar 'temp_medium_mbottle_ids'
 	menu_off = 0
 	*clr & cla
 	hosprand = rand(0, 10)
@@ -114,50 +116,7 @@ if $ARGS[0] = 'start':
 
 	if preg = 2:
 		act 'Give birth':
-			*clr & cla
-			menu_off = 1
-			if kid > 0:minut += rand(300,660) else minut += rand(120,480)
-			'<center><img <<$set_imgh>> src="images/locations/shared/clinic/birthing.jpg"></center>'
-			'You lay on the bed and your feet are put in stirrups. Your contractions get closer and closer, and after some time and a lot of swearing, you finally give birth.'
-			:multikidloop
-				minut += rand(30,90)
-				sterilewb += 1
-				nextbaby = arrpos('$kidname', 'unborn')
-				kid += 1
-				BabyEmbryo -= 1
-				daykid[nextbaby] = day
-				monthkid[nextbaby] = month
-				yearkid[nextbaby] = year
-				if polkid[nextbaby] = 0:$polreb[nextbaby] = 'girl' & '"Congratulations, it''s a girl! What is her name?"'
-				if polkid[nextbaby] = 1:$polreb[nextbaby] = 'boy' & '"Congratulations, it''s a boy! What is his name?"'
-				
-				wait 350
-				$kidname[nextbaby] = input("Enter your <<$polreb[nextbaby]>>''s name")
-				'The doctors clean up <<$kidname[nextbaby]>>.'
-				if $kidname[nextbaby] = '':
-					if polkid[nextbaby] = 0:$kidname[nextbaby] = 'Masha'
-					if polkid[nextbaby] = 1:$kidname[nextbaby] = 'Misha'
-				end
-			if BabyEmbryo > 0: 'You do not have much time to look at your <<$polreb[nextbaby]>>, because you''re having another contraction. Your next baby is coming!' & jump 'multikidloop'
-			preg = 0
-			!! RecovH has a decay of 1.1/hour or ~ 27/day, the recovery period is ~6-10 weeks
-			RecovH = rand(1175,1875)
-			pregbirthdate = daystart
-			thinkpreg = 0
-			knowpreg = 0
-			knowpregrecover = 1
-			vidage += 1
-			pregtalk = 0
-			pcs_pregtalk = 0
-			pregTalkFamily = 0
-			npc_pregtalk['A16'] = 0
-			npc_pregtalk['A34'] = 0
-			npc_pregtalk['A29'] = 0
-			pregchem = 0
-			cycle = 4
-			gs 'cum_cleanup', 'reset'
-			dynamic $d_cycreport_choice
-			gs 'stat'
+			gs 'medical_din', 'give_birth'
 			act 'Return to the entrance': gt 'city_clinic', 'start'
 		end
 	end
@@ -1668,14 +1627,10 @@ if $ARGS[0] = 'milk_bank':
 		'<br>----------------------------------------'
 		if lact_ev['poli_totalmilkdonation_count'] > 0:
 			'Total breast milk donation statistics'
-			if lact_ev['poli_totalmilkdonated'] < 100:
-				'Donated milk volume in liter: <<lact_ev[''poli_totalmilkdonated'']/1000>>.0<<lact_ev[''poli_totalmilkdonated''] mod 1000>>l'
-			else
-				'Donated milk volume in liter: <<lact_ev[''poli_totalmilkdonated'']/1000>>.<<lact_ev[''poli_totalmilkdonated''] mod 1000>>l'
-			end
+			'Donated milk volume in liter: <<lact_ev[''poli_totalmilkdonated'']/1000>>.<<$mid(1000 + (lact_ev[''poli_totalmilkdonated''] mod 1000), 2, 3)>>l'
 			'Donation count: <<lact_ev[''poli_totalmilkdonation_count'']>>'
-			'Average milk volume per donation in ml: <<lact_ev[''poli_totalmilkdonated'']/lact_ev[''poli_totalmilkdonation_count'']>>'
-			'Paid money: <<((lact_ev[''poli_totalmilkdonated'']/50)*100)>><b>₽</b>'
+			'Average milk volume per donation in ml: <<lact_ev[''poli_totalmilkdonated'']/lact_ev[''poli_totalmilkdonation_count'']>>.<<$mid(100 + ((100 * lact_ev[''poli_totalmilkdonated''] / lact_ev[''poli_totalmilkdonation_count'']) mod 100), 2, 2)>>'
+			'Paid money: <<lact_ev[''poli_totaldonatemoney'']>><b>₽</b>'
 			'<br>----------------------------------------'
 		end
 		act 'Leave': gt 'city_clinic', 'milk_donation_room'
@@ -1706,6 +1661,109 @@ if $ARGS[0] = 'milk_bank':
 			end
 		end
 	end
+
+	vmb_i = 0
+	:vmbloop
+	if vmb_i <= temp_var:
+		if mbarrloca[vmb_i] = 2 or mbarrloca[vmb_i] = 1:
+			gs 'lact_bp', 'update_mbottle', vmb_i
+			if $mbarrstat[vmb_i] = 'fresh' or $mbarrstat[vmb_i] = 'normal':
+				if mbarrfill[vmb_i] > 0:
+					if mbarrfill[vmb_i] <= 1500:
+						temp_small_mbottle_ids[] = vmb_i
+					else
+						temp_medium_mbottle_ids[] = vmb_i
+					end
+				end
+			end
+		end
+		vmb_i += 1
+		jump 'vmbloop'
+	end
+	killvar 'vmb_i'
+
+	if arrsize('temp_small_mbottle_ids') > 0:
+		act 'Donate a small bottle of milk':
+			*clr & cla
+			minut += 5
+			temp_total_pay = 0
+			temp_total_milk = 0
+			gs 'city_clinic', 'donate_milk_bottle', 'small'
+			gs 'stat'
+
+			!! IMAGE
+			!! TEXT
+			'You donated a <<temp_total_milk>> ml of milk and got paid <<temp_total_pay>><b>₽</b>.'
+
+			killvar 'temp_total_pay'
+			killvar 'temp_total_milk'
+			act 'Leave': minut += 5 & gt 'city_clinic', 'milk_donation_room'
+		end
+	end
+	if arrsize('temp_small_mbottle_ids') > 4:
+		act 'Donate 5 small bottles of milk':
+			*clr & cla
+			minut += 10
+			temp_total_pay = 0
+			temp_total_milk = 0
+			gs 'city_clinic', 'donate_milk_bottle', 'small'
+			gs 'city_clinic', 'donate_milk_bottle', 'small'
+			gs 'city_clinic', 'donate_milk_bottle', 'small'
+			gs 'city_clinic', 'donate_milk_bottle', 'small'
+			gs 'city_clinic', 'donate_milk_bottle', 'small'
+			gs 'stat'
+
+			!! IMAGE
+			!! TEXT
+			'You donated a <<temp_total_milk>> ml of milk and got paid <<temp_total_pay>><b>₽</b>.'
+
+			killvar 'temp_total_pay'
+			killvar 'temp_total_milk'
+			act 'Leave': minut += 5 & gt 'city_clinic', 'milk_donation_room'
+		end
+	end
+	if arrsize('temp_medium_mbottle_ids') > 0:
+		act 'Donate a medium bottle of milk':
+			*clr & cla
+			minut += 5
+			temp_total_pay = 0
+			temp_total_milk = 0
+			gs 'city_clinic', 'donate_milk_bottle', 'medium'
+			gs 'stat'
+
+			!! IMAGE
+			!! TEXT
+			'You donated a <<temp_total_milk>> ml of milk and got paid <<temp_total_pay>><b>₽</b>.'
+
+			killvar 'temp_total_pay'
+			killvar 'temp_total_milk'
+			act 'Leave': minut += 5 & gt 'city_clinic', 'milk_donation_room'
+		end
+	end
+	if arrsize('temp_medium_mbottle_ids') > 4:
+		act 'Donate 5 medium bottles of milk':
+			*clr & cla
+			minut += 10
+			temp_total_pay = 0
+			temp_total_milk = 0
+			gs 'city_clinic', 'donate_milk_bottle', 'medium'
+			gs 'city_clinic', 'donate_milk_bottle', 'medium'
+			gs 'city_clinic', 'donate_milk_bottle', 'medium'
+			gs 'city_clinic', 'donate_milk_bottle', 'medium'
+			gs 'city_clinic', 'donate_milk_bottle', 'medium'
+			gs 'stat'
+
+			!! IMAGE
+			!! TEXT
+			'You donated a <<temp_total_milk>> ml of milk and got paid <<temp_total_pay>><b>₽</b>.'
+
+			killvar 'temp_total_pay'
+			killvar 'temp_total_milk'
+			act 'Leave': minut += 5 & gt 'city_clinic', 'milk_donation_room'
+		end
+	end
+
+
 	act 'Leave': gt 'city_clinic','start'
 end
 
@@ -1761,7 +1819,7 @@ if $ARGS[0] = 'milk_donation':
 			end
 			lact_ev['poli_milkedvolume'] = 0
 			if lact_ev['poli_donationsessioncount'] > 0:
-				lact_ev['poli_donatemoney'] = (lact_ev['poli_donationsessioncount']*5)/10*10
+				lact_ev['poli_donatemoney'] = (lact_ev['poli_donationsessioncount'] / 2) * 10
 			else
 				lact_ev['poli_donatemoney'] = 0
 			end
@@ -1779,6 +1837,7 @@ if $ARGS[0] = 'milk_donation':
 				gs 'stat'
 				if lact_ev['poli_donationsessioncount'] > 0:
 					money += lact_ev['poli_donatemoney']
+					lact_ev['poli_totaldonatemoney'] += lact_ev['poli_donatemoney']
 					'You put your top back on and the employee hands you <<lact_ev[''poli_donatemoney'']>><b>₽</b> for your donated breast milk.'
 				else
 					'You put your top back on.'
@@ -1799,5 +1858,38 @@ if $ARGS[0] = 'milk_donation':
 	end
 end
 
---- city_clinic ---------------------------------
+if $ARGS[0] = 'donate_milk_bottle':
+	if $ARGS[1] = 'small':
+		temp_id = temp_small_mbottle_ids[0]
+	else
+		temp_id = temp_medium_mbottle_ids[0]
+	end
+
+	!! CHANGE PAY HERE
+	temp_pay = mbarrfill[temp_id] / 10			& !! Base pay = 1 rbl / ml for fresh milk
+	if $mbarrstat[temp_id] = 'normal': temp_pay = temp_pay / 2		& !! And 0.5 rbl / ml for normal milk
+	!!	if $mbarrtemp[temp_id] = 'hot' / 'warm' / 'lukewarm' / 'cold' / 'frozen':
+
+
+	temp_total_pay += temp_pay
+	money += temp_pay
+	lact_ev['poli_totaldonatemoney'] += temp_pay
+
+	temp_total_milk += mbarrfill[temp_id]
+	lact_ev['poli_totalmilkdonated'] += mbarrfill[temp_id]
+
+	gs 'lact_bp', 'empty_milk_bottle', temp_id
+
+	killvar 'temp_don_pay'
+	killvar 'temp_id'
 
+	if $ARGS[1] = 'small':
+		killvar 'temp_small_mbottle_ids', 0
+	else
+		killvar 'temp_medium_mbottle_ids', 0
+	end
+end
+
+
+
+--- city_clinic ---------------------------------

+ 23 - 23
locations/city_drugden.qsrc

@@ -23,7 +23,7 @@ if $ARGS[0] = 'start':
 		act 'Ask for amphetamine': gt 'city_drugden', 'amphetamine'
 		act 'Ask for weed': gt 'city_drugden', 'joints'
 		act 'Ask for cocaine': gt 'city_drugden', 'cocaine'
-		if mid($start_type,1,2) = 'sg' and snarkozak = 0: act 'Ask for a drop-off point in Pavlovsk':	minut += 5 & gs 'events', 'narkozakladka'
+		if mid($start_type,1,2) = 'sg' and drugVars['pav_dropoff'] = 0: act 'Ask for a drop-off point in Pavlovsk':	minut += 5 & gs 'events', 'ask_pav_drug_dropoff'
 	elseif drugUser = 0:
 		'"Ahhh, what do you have?" you ask.'
 		'His eyes light up at a freshy and smiles wildy, "Well I have some H and amphetamine."'
@@ -32,7 +32,7 @@ if $ARGS[0] = 'start':
 		act 'Ask for amphetamine': gt 'city_drugden', 'amphetamine'
 		act 'Ask for weed': gt 'city_drugden', 'joints'
 		act 'Ask for cocaine': gt 'city_drugden', 'cocaine'
-	elseif (StrongNarkota > 23 and amphHigh > 23) or amphHigh > 23 or StrongNarkota > 23:
+	elseif drugVars['amphetamine_high'] > 23 or drugVars['heroin_high'] > 23:
 		gt 'city_drugden', 'kiteHigh'
 	end
 end
@@ -45,13 +45,13 @@ if $ARGS[0] = 'amphetamine':
 	'<center><b>Local drug den</b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/den/narkopriton.jpg"></center>'
 	'"That''ll be 80 <b>₽</b> per pill," he says.'
-	'You have <<amphetamine>> pills.'
+	'You have <<mc_inventory[''amphetamine'']>> pills.'
 	act 'Leave the drug den': minut += 5 & gt 'city_residential'
 	if money >= 1600:
 		act 'Buy 20 (1,600 <b>₽</b>)':
 			money -= 1600
 			drugUser = 1
-			amphetamine += 20
+			mc_inventory['amphetamine'] += 20
 			minut += 5
 			gt 'city_drugden', 'amphetamine'
 		end
@@ -60,7 +60,7 @@ if $ARGS[0] = 'amphetamine':
 		act 'Buy 10 (800 <b>₽</b>)':
 			money -= 800
 			drugUser = 1
-			amphetamine += 10
+			mc_inventory['amphetamine'] += 10
 			minut += 5
 			gt 'city_drugden', 'amphetamine'
 		end
@@ -69,7 +69,7 @@ if $ARGS[0] = 'amphetamine':
 		act 'Buy 5 (400 <b>₽</b>)':
 			money -= 400
 			drugUser = 1
-			amphetamine += 5
+			mc_inventory['amphetamine'] += 5
 			minut += 5
 			gt 'city_drugden', 'amphetamine'
 		end
@@ -85,13 +85,13 @@ if $ARGS[0] = 'joints':
 	'<center><b>Local drug den</b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/den/narkopriton.jpg"></center>'
 	'"That''ll be 250 <b>₽</b> for enough weed to make five joints," he says.'
-	'You have enough weed for <<joint>> joints.'
+	'You have enough weed for <<mc_inventory[''joints'']>> joints.'
 	act 'Leave the drug den': minut += 5 & gt 'city_residential'
 	if money >= 1000:
 		act 'Buy enough weed for 20 joints (1,000 <b>₽</b>)':
 			money -= 1000
 			drugUser = 1
-			joint += 20
+			mc_inventory['joints'] += 20
 			minut += 5
 			gt 'city_drugden', 'joints'
 		end
@@ -100,7 +100,7 @@ if $ARGS[0] = 'joints':
 		act 'Buy enough weed for 10 joints  (500 <b>₽</b>)':
 			money -= 500
 			drugUser = 1
-			joint += 10
+			mc_inventory['joints'] += 10
 			minut += 5
 			gt 'city_drugden', 'joints'
 		end
@@ -109,7 +109,7 @@ if $ARGS[0] = 'joints':
 		act 'Buy enough weed for 5 joints  (250 <b>₽</b>)':
 			money -= 250
 			drugUser = 1
-			joint += 5
+			mc_inventory['joints'] += 5
 			minut += 5
 			gt 'city_drugden', 'joints'
 		end
@@ -125,13 +125,13 @@ if $ARGS[0] = 'cocaine':
 	'<center><b>Local drug den</b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/den/narkopriton.jpg"></center>'
 	'"That''ll be 360 <b>₽</b> for enough cocaine to get you high once," he says.'
-	'You have enough cocaine for <<dur>> lines.'
+	'You have enough cocaine for <<mc_inventory[''cocaine'']>> lines.'
 	act 'Leave the drug den': minut += 5 & gt 'city_residential'
 	if money >= 7200:
 		act 'Buy enough cocaine for 20 lines (7,200 <b>₽</b>)':
 			money -= 7200
 			drugUser = 1
-			dur += 20
+			mc_inventory['cocaine'] += 20
 			minut += 5
 			gt 'city_drugden', 'cocaine'
 		end
@@ -140,7 +140,7 @@ if $ARGS[0] = 'cocaine':
 		act 'Buy enough cocaine for 10 highs (3,600 <b>₽</b>)':
 			money -= 3600
 			drugUser = 1
-			dur += 10
+			mc_inventory['cocaine'] += 10
 			minut += 5
 			gt 'city_drugden', 'cocaine'
 		end
@@ -149,7 +149,7 @@ if $ARGS[0] = 'cocaine':
 		act 'Buy enough cocaine for 5 highs (1,800 <b>₽</b>)':
 			money -= 1800
 			drugUser = 1
-			dur += 5
+			mc_inventory['cocaine'] += 5
 			minut += 5
 			gt 'city_drugden', 'cocaine'
 		end
@@ -169,7 +169,7 @@ if $ARGS[0] = 'heroin':
 	if money >= 420:
 		act 'Buy heroin and smoke it (420 <b>₽</b>)':
 			money -= 420
-			if SNarkTimes <= 10:
+			if drugVars['heroin_used'] <= 10:
 				*clr & cla
 				minut += 20
 				gs 'stat'
@@ -208,7 +208,7 @@ if $ARGS[0] = 'heroin':
 					gs 'stat'
 					act 'You lay there briefly rolling, before leaving': gs 'events', 'snkayf1'
 				end
-			elseif SNarkTimes['inject'] < 1:
+			elseif drugVars['heroin_inject'] < 1:
 				*clr & cla
 				minut += 10
 				gs 'stat'
@@ -246,7 +246,7 @@ if $ARGS[0] = 'heroin':
 					'"Thanks." You take the needle and go find a couch in the house to sit on.'
 					'You inject the needle into your arm unable to stop yourself from trembling a little.'
 					'The rush is instantaneous, you close your eyes as it rolls over you.'
-					SNarkTimes['inject'] = 1
+					drugVars['heroin_inject'] = 1
 					drugUser = 1
 					gs 'drugs', 'heroin'
 					gs 'stat'
@@ -266,7 +266,7 @@ if $ARGS[0] = 'heroin':
 				act 'Leave the drug den': minut += 5 & gt 'city_residential'
 			end
 		end
-	elseif money < 420 and SLomka > 0:
+	elseif money < 420 and drugVars['heroin_need'] > 0:
 		act 'Beg him to give you some':	gs 'city_drugden', 'drugslut'
 	end
 	act 'Buy some amphetamine instead':	gt 'city_drugden', 'amphetamine'
@@ -281,7 +281,7 @@ if $ARGS[0] = 'drugslut':
 	minut += 5
 	gs 'stat'
 
-	if NarkShmaraTimes > 0:
+	if drugVars['heroin_whore'] > 0:
 		'"Bobka, please! You remember me, right? I''m good for it, you can trust me!" you beg him, but he gives you a wicked grin.'
 		'"Come on, <<$pcs_nickname>>! You know I don''t do credit!" he snorts.'
 		
@@ -326,7 +326,7 @@ if $ARGS[0] = 'drugslut':
 				'<center><img <<$set_imgh>> src="images/locations/city/residential/den/narkopriton.jpg"></center>'
 				'You keep begging Bobka to give you some heroin, while you follow him to an empty room. He just laughs at you and says: <<$bobtalk>>'
 
-				act '<<$bobtext>>':	NarkShmaraTimes += 1 & gt 'city_bobka', bobrand
+				act '<<$bobtext>>':	drugVars['heroin_whore'] += 1 & gt 'city_bobka', bobrand
 				
 				gs 'willpower', 'bj', 'resist'
 				if will_cost <= pcs_willpwr:
@@ -343,7 +343,7 @@ if $ARGS[0] = 'drugslut':
 			end
 		end
 
-		if NarkShmaraTimes > 5:
+		if drugVars['heroin_whore'] > 5:
 			act 'Submit to your fate':
 				*clr & cla
 				over = 8
@@ -392,7 +392,7 @@ if $ARGS[0] = 'drugslut':
 				end
 			end
 		end
-	elseif NarkShmaraTimes = 0:
+	elseif drugVars['heroin_whore'] = 0:
 		'You beg the man: "Please! I need a hit... I need it badly! Please, I''ll pay you back! I promise!"'
 		'The guy laughs: "Yea, sure. Do you know how many times a day I hear that? If I had a ruble for every time someone told me that, I would''ve retired by now! I don''t do credit, simple as that. Get lost."'
 		
@@ -425,7 +425,7 @@ if $ARGS[0] = 'drugslut':
 				act 'Suck his cock':
 					*clr & cla
 					guy += 1
-					NarkShmaraTimes += 1
+					drugVars['heroin_whore'] += 1
 					gs 'cum_call', 'mouth_swallow', $boy, 1
 					gs 'dinSex', 'std_trigger'
 					'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/bj.jpg"></center>'

+ 4 - 6
locations/city_experimental_trials_events.qsrc

@@ -480,17 +480,15 @@ end
 if $experimentQW['trial_active'] = 'hair_cream':
 	pcs_hairlng += rand(20, 50)
 	defcurly = rand(0, 1)
+	curly = defcurly
 
 	if experimentQW['trial_duration'] > 1:
 		pcs_haircol = rand(0,22)
-		*nl
-		'You notice that your hair has lengthened and changed in color! This must have been that experimental hair extension shampoo.'
-
 	else
-		pcs_haircol = 23
-		*nl
-		'You notice that your hair has lengthened and changed in color! This must have been that experimental hair extension shampoo.'
+		pcs_haircol = 11
 	end
+	*nl
+	'You notice that your hair has lengthened and changed in color! This must have been that experimental hair extension shampoo.'
 end
 
 

+ 1 - 1
locations/city_house_res_misc.qsrc

@@ -113,7 +113,7 @@ if $ARGS[0] = 'backy':
 				*nl
 				'You can do some exercises here.'
 
-				gs 'wardrobe', 'default_sport_options'
+				gs 'wardrobe', 'default_clothing_options'
 
 				act 'Exercise': gt 'exercise', 'workout'
 			else

+ 4 - 2
locations/city_kafe.qsrc

@@ -565,8 +565,10 @@ if $ARGS[0] = 'tips':
 	workKafe['tips_roll'] = 0
 	!! Skill and attribute gains
 	if pcs_servng < 100: gs 'exp_gain', 'servng', 1
-	if pcs_vital < 30: gs 'exp_gain', 'vital', 1 + rand(0,steroid_dose) & steroidcheck = 1
-	if steroidcheck = 1 and steroid_dose > 0 and rand(1,5) <= steroid_dose:clit_size += rand(0,1) & killvar 'steroidcheck'
+	if pcs_vital < 30:
+		gs 'exp_gain', 'vital', 1 + rand(0, drugVars['steroids_dose'])
+		if drugVars['steroids_dose'] > 0 and rand(1, 5) <= drugVars['steroids_dose']: clit_size += rand(0, 1) & killvar 'steroidcheck'
+	end
 	gs 'stat'
 	'<center><b><font color="maroon">The Roadhouse</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/cafe/kafe.jpg"></center>'

+ 5 - 7
locations/city_library.qsrc

@@ -95,7 +95,7 @@ if $ARGS[0] = 'read':
 	cla
 	act 'Read a book on science (1:00)':
 		dynamic $downlibrary['BookStudy'], ''
-		gs 'exp_gain', 'intel', rand(3,6) + (mentats_dose - rand(0,mentats_dose))
+		gs 'exp_gain', 'intel', rand(3,6) + rand(0, drugVars['mentats_dose'])
 		grupvalue[3] += 1
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/science1.jpg"></center>'
@@ -193,14 +193,12 @@ if $ARGS[0] = 'loan':
 			if lib_debt <= 0: lib_debt = 0
 			gt 'city_library'
 		end
-
-		act 'Go back': gt 'city_library'
 	end
 
 	if lib_debt > 0:
-		'You''ve owe an outstanding debt of <<lib_debt>> <b>₽</b> to the library.'
+		'You owe an outstanding debt of <<lib_debt>> <b>₽</b> to the library.'
 		if money < lib_debt and karta < lib_debt:
-			act '<font color="red">Pay your debt</font>': '<br><font color="red">You don''t have enough money to pay your debt.</font>'
+			'You don''t have enough money to pay your debt!'
 		else
 			if money >= lib_debt:
 				act 'Pay your debt (cash)':
@@ -280,9 +278,9 @@ if $ARGS[0] = 'loan':
 			'"You need to return it within 2 weeks. Every day that you''re late incurs a 50 <b>₽</b> fine."'
 			act 'Continue': gt 'city_library'
 		end}
-	
-		act 'Go back': gt 'city_library'
 	end
+
+	act 'Go back': gt 'city_library'
 end
 
 --- city_library ---------------------------------

+ 2 - 2
locations/city_mansion_entrance.qsrc

@@ -32,8 +32,8 @@ if $ARGS[0] = '':
 	end
 
 	if func('homes_properties', 'is_current_home'):
-		if vladimirday = daystart and vladimirQW = 30 and hour >= 16 and week = 6:'<a href="exec:gt ''qwmeet'',''2''">There''s an Audi parked in front of your mansion, and standing beside it, you notice Vladimir</a>.'
-		if vladimirday = daystart and vladimirQW = 40 and hour >= 16 and week = 6:'<a href="exec:gt ''qwmeet'',''3''">There''s an Audi parked in front of your mansion, and standing beside it, you notice Vladimir</a>.'
+		if vladimirQW['day'] = daystart and vladimirQW['stage'] = 30 and hour >= 16 and week = 6:'<a href="exec:gt ''vladimirQW_meet'',''2''">There''s an Audi parked in front of your mansion, and standing beside it, you notice Vladimir</a>.'
+		if vladimirQW['day'] = daystart and vladimirQW['stage'] = 40 and hour >= 16 and week = 6:'<a href="exec:gt ''vladimirQW_meet'',''3''">There''s an Audi parked in front of your mansion, and standing beside it, you notice Vladimir</a>.'
 
 		if hour = meethour[0]:
 			if svidanie[0] = 1:'<b><a href="exec:lover_number = 0 & gt ''lover_meet'', ''start''"><<$loverdesc[0]>></a> is waiting at the entrance to your mansion.</b>'

+ 1 - 1
locations/city_mansion_residence_2.qsrc

@@ -156,7 +156,7 @@ if $ARGS[0] = 'ylibrary':
 		'A huge collection of books are neatly placed on the bookshelves.'
 		act 'Read a book on science (1:00)':
 			dynamic $downlibrary['read']
-			gs 'exp_gain', 'intel', rand(3,6) + (mentats_dose - rand(0,mentats_dose))
+			gs 'exp_gain', 'intel', rand(3,6) + rand(0, drugVars['mentats_dose'])
 			grupvalue[3] +=1
 			gs 'stat'
 

+ 1 - 1
locations/city_mansion_residence_3.qsrc

@@ -27,7 +27,7 @@ if $ARGS[0] = 'ygym':
 	if ymanrem[11] = 2:
 		'Your private gym with all the necessities to live a healthy life. From here you can walk over to the pool or relax in the sauna.'
 
-		gs 'wardrobe', 'default_sport_options'
+		gs 'wardrobe', 'default_clothing_options'
 
 		gs 'exercise', 'start'
 	end

+ 11 - 19
locations/city_nightclub.qsrc

@@ -315,32 +315,24 @@ if $ARGS[0] = 'dance_guy':
 
 	act 'Kiss':
 		cla
+		'You''re passionately kissing the guy, while he''s continuously groping you, always dedicating one of his hands to either your tits or your ass.'
 		if rand(0,1) = 1:
-			'You''re passionately kissing the guy, while he''s continuously groping you, always dedicating one of his hands to either your tits or your ass. "Why don''t we go to the VIP rooms? We''ll have a bit more privacy there," he says between kisses.'
+			'"Why don''t we go to the VIP rooms? We''ll have a bit more privacy there," he says between kisses.'
 			gs 'arousal', 'kiss', 5
 			gs 'stat'
-			if pcs_horny < 70: act 'Go to the dance floor': gt 'city_nightclub', 'dance'
 			act 'Go to a private room with the guy': picrand = 38 & $sexloc = 'city_nightclub' & xgt 'sex', 'var'
-			act 'Suggest going to his place':
-				cla
-				'You lean in and whisper in his ear. "How about we have fun at your place instead?"'
-				'His eyes light up and he grabs your hand before quickly dragging you to the exit.'
-				act 'Go with him': gt 'sex_ev_start', 'hookup_npc_home_start'
-			end
 		else
-			'You''re passionately kissing the guy while he continuously gropes you, always dedicating one of his hands to either your breasts or your ass. "Let''s go to the toilet," he says with a smile.'
+			'"Let''s go to the toilet," he says with a smile.'
 			gs 'arousal', 'kiss', 5
 			gs 'stat'
-			if pcs_horny < 70: 
-				act 'Go to the dance floor': gt 'city_nightclub', 'dance'
-				act 'Go to the toilet with him': gt 'city_nightclub', 'sex'
-				act 'Suggest going to his place':
-					cla
-					'You lean in and whisper in his ear. "How about we have fun at your place instead?"'
-					'His eyes light up and he grabs your hand before quickly dragging you to the exit.'
-					act 'Go with him': gt 'sex_ev_start', 'hookup_npc_home_start'
-				end
-			end
+			act 'Go to the toilet with him': gt 'city_nightclub', 'sex'
+		end
+		if pcs_horny < 70: act 'Go to the dance floor': gt 'city_nightclub', 'dance'
+		act 'Suggest going to his place':
+			cla
+			'You lean in and whisper in his ear. "How about we have fun at your place instead?"'
+			'His eyes light up and he grabs your hand before quickly dragging you to the exit.'
+			act 'Go with him': gt 'sex_ev_start', 'hookup_npc_home_start'
 		end
 	end
 end

+ 13 - 15
locations/city_park.qsrc

@@ -4,12 +4,8 @@ $location_type = 'public_outdoors'
 
 if $ARGS[0] = 'start':
 	CLOSE ALL
-
-	$loc_arg = 'start'
-	$loc = 'city_park'
+	gs 'shortgs', 'setloc', 'city_park', 'start'
 	$region = 'city'
-	$menu_loc = 'city_park'
-	$menu_arg = 'start'
 	$locclass = 'city_park'
 	menu_off = 0
 	if sound = 0:
@@ -38,7 +34,7 @@ if $ARGS[0] = 'start':
 	*nl
 	if hour >= 10 and hour <= 22:'The small café in the park is open. You could sit there and have some food.'
 
-	if SNarkPriton = 0:'Near the cafe, the <a href="exec: gt ''city_park'', ''junkies''">junkies</a> hang out.'
+	if drugVars['city_drugden'] = 0:'Near the cafe, the <a href="exec: gt ''city_park'', ''junkies''">junkies</a> hang out.'
 
 	if hour >= 9 or hour <= 20:
 		'There is an all year <a href="exec:gt ''city_park'', ''luna''">fair</a> at the park, which you can visit.'
@@ -94,7 +90,7 @@ if $ARGS[0] = 'start':
 
 	act 'Sit on a bench': gt'placer_sex','sitting_park_bench'
 	
-	if joint > 0 and jointhigh = 0: act 'Smoke a joint': gs 'drugs', 'joint' & gt $loc, $loc_arg
+	if mc_inventory['joints'] > 0 and drugVars['weed_high'] = 0: act 'Smoke a joint': minut += 10 & gs 'drugs', 'joint' & gt $loc, $loc_arg
 
 	if pusher = 1 and hour >= 6 and hour <= 21:
 		'There''s a drug dealer casually sitting on one of the benches. He''s trying not to be too suspicious.'
@@ -104,15 +100,16 @@ if $ARGS[0] = 'start':
 				cla
 				menu_off = 1
 				minut += 10
-				palelady = input ("How many doses you want to buy?")
+				temp_doses = input ("How many doses you want to buy?")
 
-				if palelady * 360 > money or palelady <= 0:
+				if temp_doses * 360 > money or temp_doses <= 0:
 					'Either tell me how many you want to buy or get lost.'
 				else
-					money -= palelady * 360
-					dur += palelady
+					money -= temp_doses * 360
+					mc_inventory['cocaine'] += temp_doses
 					'You get out your purse and pay him quickly, hoping nobody else saw you giving him money. He passes you the doses you''ve paid for. You can safely sniff the stuff at home.'
 				end
+				killvar 'temp_doses'
 
 				act 'Casually walk away':gt 'city_park', 'start'
 			end
@@ -249,6 +246,8 @@ if $ARGS[0] = 'start':
 			act 'Continue': gt 'city_park', 'start'
 		end
 	end
+
+	gs 'blackmailer', 'set_park_act'
 end
 
 if $ARGS[0] = 'luna':
@@ -265,7 +264,7 @@ if $ARGS[0] = 'luna':
 	*nl
 	'Opening hours are 9:00 to 21:00'
 
-	if vladimirQW = 0 and hour >= 9 and hour <= 20 and week > 5 and pcs_apprnc > 40:'<a href="exec:gt ''qwloc''">There''s a strong looking man staring at you from the fences.</a>.'
+	if vladimirQW['stage'] = 0 and hour >= 9 and hour <= 20 and week > 5 and pcs_apprnc > 40:'<a href="exec:gt ''vladimirQW_loc''">There''s a strong looking man staring at you from the fences.</a>.'
 
 	act 'Go back to the park':gt 'city_park', 'start'
 	
@@ -638,10 +637,9 @@ if $ARGS[0] = 'rape1':
 
 	act 'Try to resist':
 		cla
-		spafinloc = 0
-		gs 'cum_manage'
 		'You try everything that''s possible in your situation to resist him, but he just tightens his grip and doesn''t stop fucking you. Some time later, he begins to groan and you feel his hot cum flowing inside your pussy. You just hope to yourself that he didn''t impregnate you. He then zips up his pants, takes your money, and leaves.'
 		gs 'arousal', 15, 'vaginal', 'rape', 'rough'
+		gs 'cum_call'
 		gs 'arousal', 'end'
 
 		act 'Leave':gt 'city_park', 'start'
@@ -678,7 +676,7 @@ end
 if $ARGS[0] = 'junkies':
 	*clr & cla
 	gs 'stat'
-	SNarkPriton = 1
+	drugVars['city_drugden'] = 1
 	'The junkies look at you with an apprehensive gaze. They probably think you are a police officer. Then one of them says, "we don''t sell no drugs. Go to the Drug House, ye can get zome there."'
 
 	act 'Walk away from them':gt 'city_park', 'start'

+ 2 - 2
locations/city_redlight.qsrc

@@ -31,9 +31,9 @@ if $ARGS[0] = 'start':
 	else
 		'The strip club is closed for the day and will reopen at 18:00.'
 	end
-	if pornstudio = 1 and hour >= 10 and hour < 22:
+	if pornstudio > 0 and hour >= 10 and hour < 22:
 		'The <a href="exec:gt ''pornstudio'', ''start''">porn studio</a> is housed within one of the few warehouses that hasn''t been abandoned.'
-	elseif pornstudio = 1 and (hour < 10 or hour >= 22):
+	elseif pornstudio > 0 and (hour < 10 or hour >= 22):
 		'The porn studio is closed and will reopen at 10:00.'
 	end
 	if hour < 3 or hour >= 11: 

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно