Przeglądaj źródła

Merge branch 'Lover_migation'

anjuna krokus 2 miesięcy temu
rodzic
commit
f14408f028
100 zmienionych plików z 8789 dodań i 7840 usunięć
  1. 8 7
      glife.qproj
  2. 64 64
      locations/BDman.qsrc
  3. 214 210
      locations/BDsex.qsrc
  4. 71 27
      locations/Cheatmenu_din.qsrc
  5. 1 1
      locations/Katlake.qsrc
  6. 3 4
      locations/LakeBoyZ.qsrc
  7. 43 37
      locations/albina_chat.qsrc
  8. 2 2
      locations/albina_sex_chat.qsrc
  9. 1 1
      locations/andreihunter.qsrc
  10. 5 5
      locations/anushka.qsrc
  11. 8 8
      locations/anushkachat.qsrc
  12. 5 5
      locations/anushkachat_city.qsrc
  13. 9 4
      locations/bank.qsrc
  14. 61 57
      locations/bed_events.qsrc
  15. 1 142
      locations/bedr.qsrc
  16. 2 143
      locations/bedr2x.qsrc
  17. 4 4
      locations/billsvid.qsrc
  18. 77 101
      locations/booty_call.qsrc
  19. 34 29
      locations/booty_call_sms.qsrc
  20. 3 112
      locations/boyStat.qsrc
  21. 19 25
      locations/boy_updater.qsrc
  22. 0 19
      locations/boyfrend.qsrc
  23. 102 60
      locations/boylove.qsrc
  24. 0 37
      locations/brosok.qsrc
  25. 27 20
      locations/cikl.qsrc
  26. 13 13
      locations/city_bobka.qsrc
  27. 1 19
      locations/city_house_res_kitch.qsrc
  28. 12 8
      locations/city_mansion_entrance.qsrc
  29. 1 19
      locations/city_mansion_residence_1.qsrc
  30. 13 13
      locations/city_nightclub.qsrc
  31. 14 13
      locations/city_trademission.qsrc
  32. 5 23
      locations/dachain.qsrc
  33. 26 13
      locations/dachi.qsrc
  34. 39 39
      locations/dateF.qsrc
  35. 46 46
      locations/dateM.qsrc
  36. 6 3
      locations/dimaHome.qsrc
  37. 2 28
      locations/din_bad.qsrc
  38. 60 56
      locations/din_van.qsrc
  39. 145 173
      locations/event.qsrc
  40. 117 113
      locations/foto_model_documentary.qsrc
  41. 15 12
      locations/gadukino.qsrc
  42. 33 35
      locations/gevent.qsrc
  43. 0 13
      locations/girlfriend.qsrc
  44. 8 11
      locations/gschool_grounds.qsrc
  45. 7 7
      locations/havana_crossfit.qsrc
  46. 94 94
      locations/hookup_after.qsrc
  47. 4 3
      locations/hookup_female.qsrc
  48. 114 77
      locations/hunterLoveSex.qsrc
  49. 9 6
      locations/hunters.qsrc
  50. 6 3
      locations/huntersex.qsrc
  51. 30 18
      locations/husb.qsrc
  52. 149 166
      locations/husbSex.qsrc
  53. 10 39
      locations/igorhunter.qsrc
  54. 51 45
      locations/journal.qsrc
  55. 54 85
      locations/kafeM.qsrc
  56. 25 18
      locations/kafesvid.qsrc
  57. 29 22
      locations/kazinosvid.qsrc
  58. 46 59
      locations/kinoM.qsrc
  59. 23 16
      locations/kinosvid.qsrc
  60. 14 173
      locations/kit_din.qsrc
  61. 1 1
      locations/korr.qsrc
  62. 6 22
      locations/kuhr.qsrc
  63. 5 24
      locations/kuhr2x.qsrc
  64. 19 19
      locations/lezbsex.qsrc
  65. 86 94
      locations/love.qsrc
  66. 101 196
      locations/lover.qsrc
  67. 939 0
      locations/lover_call.qsrc
  68. 414 477
      locations/lover_change.qsrc
  69. 901 695
      locations/lover_likes.qsrc
  70. 444 0
      locations/lover_living.qsrc
  71. 90 59
      locations/lover_love.qsrc
  72. 412 424
      locations/lover_meet.qsrc
  73. 432 335
      locations/lover_pref.qsrc
  74. 0 23
      locations/lover_pronouns.qsrc
  75. 3 3
      locations/ludahome.qsrc
  76. 0 1
      locations/mirafather.qsrc
  77. 104 104
      locations/mitkabuh.qsrc
  78. 24 24
      locations/nastja.qsrc
  79. 512 0
      locations/npcStat.qsrc
  80. 76 0
      locations/npcStat_clean.qsrc
  81. 282 287
      locations/npc_reactions.qsrc
  82. 27 20
      locations/npc_set_preference.qsrc
  83. 418 336
      locations/npc_standard_preferences.qsrc
  84. 148 67
      locations/npccleanc.qsrc
  85. 432 520
      locations/npcgeneratec.qsrc
  86. 143 149
      locations/npcpreservec.qsrc
  87. 539 1058
      locations/npcrnamefile.qsrc
  88. 8 74
      locations/npcstatic1.qsrc
  89. 0 1
      locations/npcstatic2.qsrc
  90. 6 1
      locations/npcstatic4.qsrc
  91. 2 2
      locations/npcstaticdefaults.qsrc
  92. 1 1
      locations/obj_din.qsrc
  93. 5 5
      locations/oral.qsrc
  94. 89 95
      locations/parkM.qsrc
  95. 64 61
      locations/park_walkevents.qsrc
  96. 24 16
      locations/parksvid.qsrc
  97. 6 2
      locations/pav_disco.qsrc
  98. 12 14
      locations/pav_disco_sex.qsrc
  99. 28 24
      locations/pav_market.qsrc
  100. 1 1
      locations/pav_pharmacy.qsrc

+ 8 - 7
glife.qproj

@@ -113,7 +113,6 @@
 		<Location name="$body_image"/>
 	</Folder>
 	<Folder name="Stimulus">
-		<Location name="boyStat"/>
 		<Location name="pain"/>
 		<Location name="arousal"/>
 		<Location name="arousal_oneline"/>
@@ -247,11 +246,11 @@
 	</Folder>
 	<Folder name="Phone">
 		<Location name="telefon"/>
+		<Location name="telefon_schedules"/>
 		<Location name="phone_selfies"/>
 		<Location name="phone_selfies_popup"/>
 		<Location name="SMStext_builder"/>
 		<Location name="SMS_selfies"/>
-		<Location name="SMS_schedules"/>
 	</Folder>
 	<Folder name="Prostitution">
 		<Location name="street_walker"/>
@@ -300,11 +299,14 @@
 		<Location name="stat_explanations"/>
 	</Folder>
 	<Folder name="NPCManage">
-		<Location name="npccleanc"/>
 		<Location name="npcgeneratec"/>
-		<Location name="npcgenext"/>
 		<Location name="npcpreservec"/>
+		<Location name="npccleanc"/>
+		<Location name="npcgenext"/>
 		<Location name="npcrnamefile"/>
+		<Location name="npcStat"/>
+		<Location name="npcStat_clean"/>
+		<Location name="boyStat"/>
 		<Location name="npcstaticdefaults"/>
 		<Location name="npcstatic1"/>
 		<Location name="npcstatic2"/>
@@ -862,21 +864,20 @@
 		<Location name="anekdot"/>
 		<Location name="stihi"/>
 		<Location name="love"/>
-		<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="girlfriend"/>
 		<Location name="lover"/>
+		<Location name="lover_call"/>
 		<Location name="lover_change"/>
 		<Location name="lover_likes"/>
 		<Location name="lover_love"/>
+		<Location name="lover_living"/>
 		<Location name="lover_meet"/>
 		<Location name="lover_pref"/>
 		<Location name="lover_pronouns"/>

+ 64 - 64
locations/BDman.qsrc

@@ -1,186 +1,186 @@
 # BDman
 if $ARGS[0] = 'givi':
 	!!stopboy = 0
-	gs 'boyStat', 'A41'
-	$boybody = 'small'
-	$boybod = 'thick'
-	$boyface = 'bald'
+	gs 'npcStat', 'A41'
+	$npcheight = 'small'
+	$npcbuild = 'thick'
+	$npchair = 'bald'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 2
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 40
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 1
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+	!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 if $ARGS[0] = 'ashot':
 	!!stopboy = 0
-	gs 'boyStat', 'A42'
-	$boybody = 'average growth'
-	$boybod = 'muscular'
-	$boyface = 'black-haired'
+	gs 'npcStat', 'A42'
+	$npcheight = 'average growth'
+	$npcbuild = 'muscular'
+	$npchair = 'black'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 1
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 60
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 2
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+	!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 if $ARGS[0] = 'arthur':
 	!!stopboy = 0
-	gs 'boyStat', 'A73'
-	$boybody = 'average growth'
-	$boybod = 'muscular'
-	$boyface = 'black-haired'
+	gs 'npcStat', 'A73'
+	$npcheight = 'average growth'
+	$npcbuild = 'muscular'
+	$npchair = 'black'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 2
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 100
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 2
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+	!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 if $ARGS[0] = 'abdula':
 	!!stopboy = 0
-	gs 'boyStat', 'A91'
-	$boybody = 'long'
-	$boybod = 'skinny'
-	$boyface = 'gray'
+	gs 'npcStat', 'A91'
+	$npcheight = 'long'
+	$npcbuild = 'skinny'
+	$npchair = 'gray'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 2
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 100
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 2
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+	!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 if $ARGS[0] = 'hasan':
 	!!stopboy = 0
-	gs 'boyStat', 'A92'
-	$boybody = 'average growth'
-	$boybod = 'abdominous'
-	$boyface = 'black-haired'
+	gs 'npcStat', 'A92'
+	$npcheight = 'average growth'
+	$npcbuild = 'abdominous'
+	$npchair = 'black'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 2
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 100
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 2
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+		!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 if $ARGS[0] = 'kamil':
 	!!stopboy = 0
-	gs 'boyStat', 'A97'
-	$boybody = 'average growth'
-	$boybod = 'thin'
-	$boyface = 'black-haired'
+	gs 'npcStat', 'A97'
+	$npcheight = 'average growth'
+	$npcbuild = 'thin'
+	$npchair = 'black'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 2
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 100
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 2
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+	!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 if $ARGS[0] = 'aslan':
 	!!stopboy = 0
-	gs 'boyStat', 'A98'
-	$boybody = 'small'
-	$boybod = 'thin'
-	$boyface = 'black-haired'
+	gs 'npcStat', 'A98'
+	$npcheight = 'small'
+	$npcbuild = 'thin'
+	$npchair = 'black'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 2
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 100
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 2
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+	!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 if $ARGS[0] = 'muhtar':
 	!!stopboy = 0
-	gs 'boyStat', 'A99'
-	$boybody = 'small'
-	$boybod = 'thick'
-	$boyface = 'black-haired'
+	gs 'npcStat', 'A99'
+	$npcheight = 'small'
+	$npcbuild = 'thick'
+	$npchair = 'black'
 	!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
 	finance = 2
 	!!check in appearance, a parameter pcs_apprnc
 	vneshBoy = 100
-	$boyClo = 'dressed in a leather jacket and cap'
+	$npcClo = 'a leather jacket and cap'
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = 2
 	!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
 	titBoy = 2
 	!!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
 	hairBoy = 3
-	!!character 0 - soft, 1 -norm 2 - aggressor
-	harakBoy = 2
+	!!character: npc_gentle=1 - soft; norm ; npc_rough=1 - aggressor
+	npc_rough[$boy] = 1
 	!!perversity
-	izvrat = 1
+	npc_pervert[$boy] = 1
 end
 
 --- BDman ---------------------------------

+ 214 - 210
locations/BDsex.qsrc

@@ -11,8 +11,8 @@ if $ARGS[0] = 'start':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/shared/sex/pet/petting1.jpg"></center>'
 
-	if harakBoy = 0:
-		'<<$boydesc>> hugs you and gently caresses your breasts.'
+	if npc_gentle[$npcID] = 1:
+		'<<$npcdesc>> hugs you and gently caresses your breasts.'
 
 		gs 'willpower', 'cuni', 'force'
 		if will_cost <= pcs_willpwr:
@@ -20,101 +20,101 @@ if $ARGS[0] = 'start':
 		else
 			act 'Order him to lick you (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
-		act 'Stroke his cock':gt 'BDsex', 'hj'
-		act 'Suck his dick':gt 'BDsex', 'minet'
-		act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
-		act 'Go on all fours':gt 'BDsex', 'sex2'
-		act 'Do anal':gt 'BDsex', 'anal2'
-	elseif harakBoy = 1:
-		'<<$boydesc>> skillfully caresses your breasts.'
+		act 'Stroke his cock': gt 'BDsex', 'hj'
+		act 'Suck his dick': gt 'BDsex', 'minet'
+		act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
+		act 'Go on all fours': gt 'BDsex', 'sex2'
+		act 'Do anal': gt 'BDsex', 'anal2'
+
+	elseif npc_rough[$npcID] = 0:
+		'<<$npcdesc>> skillfully caresses your breasts.'
 		gs 'arousal', 'foreplay', 5
 		gs 'stat'
 
 		if rand(0, 100) < 70:
-			'<<$boydesc>> strokes and caresses your pussy with his fingers.'
+			'<<$npcdesc>> strokes and caresses your pussy with his fingers.'
 			gs 'arousal', 'vaginal_finger', -5, 'sub'
 			gs 'stat'
 
-			if rand(0, 2) < 2:
-				'<<$boydesc>> moves to lay you down on your back.'
+			if rand(0, 2) ! 0:
+				'<<$npcdesc>> moves to lay you down on your back.'
 
-				act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
+				act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
 			else
-				'<<$boydesc>> turns you face down.'
+				'<<$npcdesc>> turns you face down.'
 
-				act 'Stand on all fours':gt 'BDsex', 'sex2'
+				act 'Stand on all fours': gt 'BDsex', 'sex2'
 			end
 
-			act 'Suck him':gt 'BDsex', 'minet'
+			act 'Suck him': gt 'BDsex', 'minet'
 		else
-			'<<$boydesc>> asks you to suck his cock.'
+			'<<$npcdesc>> asks you to suck his cock.'
 
-			act 'Stroke his cock':gt 'BDsex', 'hj'
-			act 'Take by mouth':gt 'BDsex', 'minet'
-			act 'Tell him you prefer to lay down and happily spread your legs for him':gt 'BDsex', 'sex'
+			act 'Stroke his cock': gt 'BDsex', 'hj'
+			act 'Take by mouth': gt 'BDsex', 'minet'
+			act 'Tell him you prefer to lay down and happily spread your legs for him': gt 'BDsex', 'sex'
 		end
-	elseif harakBoy = 2:
-		'<<$boydesc>> hugs you and passionately caresses your breasts.'
+	else
+		'<<$npcdesc>> hugs you and passionately caresses your breasts.'
 		gs 'arousal', 'foreplay', 5
 		gs 'stat'
-		tmpbrand = rand(0, 100)
+		temp_rand = rand(0, 100)
 
-		if tmpbrand < 70:
-			'<<$boydesc>> caresses your pussy with his fingers.'
+		if temp_rand < 70:
+			'<<$npcdesc>> caresses your pussy with his fingers.'
 			gs 'arousal', 'vaginal_finger', -5, 'sub'
 			gs 'stat'
-			killvar 'tmpbrand'
 
-			if rand(0, 2) < 2:
-				'<<$boydesc>> moves to lay you down on your back.'
+			if rand(0, 2) ! 0:
+				'<<$npcdesc>> moves to lay you down on your back.'
 
-				act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
+				act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
 			else
-				'<<$boydesc>> turns you around.'
+				'<<$npcdesc>> turns you around.'
 
-				act 'Go on all fours':gt 'BDsex', 'sex2'
+				act 'Go on all fours': gt 'BDsex', 'sex2'
 			end
-		elseif tmpbrand >= 70 and tmpbrand < 90:
-			'<<$boydesc>> grabs the back of your head and pulls you to face his penis.'
-			killvar 'tmpbrand'
+		elseif temp_rand >= 70 and temp_rand < 90:
+			'<<$npcdesc>> grabs the back of your head and pulls you to face his penis.'
 
-			act 'Take by mouth':gt 'BDsex', 'minet'
+			act 'Take by mouth': gt 'BDsex', 'minet'
 			gs 'willpower', 'bj', 'resist', 'easy'
-			if will_cost <= pcs_willpwr:
-				act 'Lie on your back and spread your legs (<<will_cost>> Willpower)': gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex'
-				act 'Stand on all fours (<<will_cost>> Willpower)': gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex2'
-			else
+			if pcs_willpwr < will_cost:
 				act 'Lie on your back and spread your legs (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				act 'Stand on all fours (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			else
+				act 'Lie on your back and spread your legs (<<will_cost>> Willpower)': gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex'
+				act 'Stand on all fours (<<will_cost>> Willpower)': gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex2'
 			end
-		elseif tmpbrand >= 90:
-			killvar 'tmpbrand'
-			'<<$boydesc>> tells you that he wants to take you in the ass.'
+		elseif temp_rand >= 90:
+			'<<$npcdesc>> tells you that he wants to take you in the ass.'
 
-			act 'Do anal':gt 'BDsex', 'anal2'
+			act 'Do anal': gt 'BDsex', 'anal2'
 
 			gs 'willpower', 'anal', 'resist', 'easy'
-			if will_cost <= pcs_willpwr:
-				act '"I do not want to!" Lie on your back and spread your legs (<<will_cost>> Willpower)': gs 'willpower', 'anal', 'resist', 'easy' & gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex'
-				act '"I''ll do it doggy style, but not in the ass!" (<<will_cost>> Willpower)': gs 'willpower', 'anal', 'resist', 'easy' & gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex2'
-			else
+			if pcs_willpwr < will_cost:
 				act '"I do not want to!" Lie on your back and spread your legs (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				act '"I''ll do it doggy style, but not in the ass!" (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			else
+				act '"I do not want to!" Lie on your back and spread your legs (<<will_cost>> Willpower)': gs 'willpower', 'anal', 'resist', 'easy' & gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex'
+				act '"I''ll do it doggy style, but not in the ass!" (<<will_cost>> Willpower)': gs 'willpower', 'anal', 'resist', 'easy' & gs 'willpower', 'pay', 'resist' & gt 'BDsex', 'sex2'
 			end
+
 			gs 'willpower', 'bj', 'force'
-			if will_cost <= pcs_willpwr:
-				act 'Take him into your mouth (<<will_cost>> Willpower)': gs 'willpower', 'bj', 'force' & gs 'willpower', 'pay', 'force' & gt 'BDsex', 'minet'
-			else
+			if pcs_willpwr < will_cost:
 				act 'Take him into your mouth (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			else
+				act 'Take him into your mouth (<<will_cost>> Willpower)': gs 'willpower', 'bj', 'force' & gs 'willpower', 'pay', 'force' & gt 'BDsex', 'minet'
 			end
 		end
+		killvar 'temp_rand'
 	end
 end
 
 if $ARGS[0] = 'kuni':
 	'<center><img <<$set_imgh>> src="images/shared/sex/kuni/kuni.jpg"></center>'
 	'You undress and lay on the bed, bringing his face to your pussy.'
-	'<<$boydesc>> lays down between your legs and begins to work his tongue across your pussy.'
+	'<<$npcdesc>> lays down between your legs and begins to work his tongue across your pussy.'
 	gs 'arousal', 'cuni', 10, 'dom'
 	gs 'stat'
 	if pcs_horny >= 90:
@@ -126,11 +126,11 @@ if $ARGS[0] = 'kuni':
 		'His tongue work is exciting, but After a while, you begin to grow bored.'
 	end
 
-	act 'Stroke his cock':gt 'BDsex', 'hj'
-	act 'Take by mouth':gt 'BDsex', 'minet'
-	act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
-	act 'Go on all fours':gt 'BDsex', 'sex2'
-	act 'Do anal':gt 'BDsex', 'anal2'
+	act 'Stroke his cock': gt 'BDsex', 'hj'
+	act 'Take by mouth': gt 'BDsex', 'minet'
+	act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
+	act 'Go on all fours': gt 'BDsex', 'sex2'
+	act 'Do anal': gt 'BDsex', 'anal2'
 end
 
 if $ARGS[0] = 'sex':
@@ -141,22 +141,22 @@ if $ARGS[0] = 'sex':
 	gs 'stat'
 	gs 'BDsex', 'org'
 
-	if harakBoy > 0:
+	if npc_gentle[$npcID] = 0:
 		if rand(0, 10) >= 8:
-			'Suddenly <<$boydesc>> pulls out of you and takes you by the shoulders, guiding you to your knees before him.'
+			'Suddenly <<$npcdesc>> pulls out of you and takes you by the shoulders, guiding you to your knees before him.'
 
-			act 'Take it on the face':gt 'BDsex', 'facial'
-			act 'Open your mouth':gt 'BDsex', 'swallow'
+			act 'Take it on the face': gt 'BDsex', 'facial'
+			act 'Open your mouth': gt 'BDsex', 'swallow'
 
 			exit
 		end
 	end
 
-	if harakBoy = 2:
+	if npc_rough[$npcID] = 1:
 		if rand(0, 10) >= 8:
-			'Suddenly <<$boydesc>> pulls his member out and begins to fondle your ass, preparing it for penetration.'
+			'Suddenly <<$npcdesc>> pulls his member out and begins to fondle your ass, preparing it for penetration.'
 
-			act 'Do anal':gt 'BDsex', 'anal2'
+			act 'Do anal': gt 'BDsex', 'anal2'
 
 			exit
 		end
@@ -164,7 +164,7 @@ if $ARGS[0] = 'sex':
 
 	gs 'BDsex', 'cum'
 
-	act 'Leave':gt 'BDsex', 'end'
+	act 'Leave': gt 'BDsex', 'end'
 end
 
 
@@ -176,22 +176,22 @@ if $ARGS[0] = 'sex2':
 	gs 'stat'
 	gs 'BDsex', 'org'
 
-	if harakBoy > 0:
+	if npc_gentle[$npcID] = 0:
 		if rand(0, 10) >= 8:
-			'Suddenly <<$boydesc>> pulls out of you and takes you by the shoulders, guiding you to your knees before him.'
+			'Suddenly <<$npcdesc>> pulls out of you and takes you by the shoulders, guiding you to your knees before him.'
 
-			act 'Take it on the face':gt 'BDsex', 'facial'
-			act 'Open mouth':gt 'BDsex', 'swallow'
+			act 'Take it on the face': gt 'BDsex', 'facial'
+			act 'Open mouth': gt 'BDsex', 'swallow'
 
 			exit
 		end
 	end
 
-	if harakBoy = 2:
+	if npc_rough[$npcID] = 1:
 		if rand(0, 10) >= 8:
-			'Suddenly <<$boydesc>> withdraws and begins to fondle your ass, preparing it for penetration.'
+			'Suddenly <<$npcdesc>> withdraws and begins to fondle your ass, preparing it for penetration.'
 
-			act 'Anal':gt 'BDsex', 'anal2'
+			act 'Anal': gt 'BDsex', 'anal2'
 
 			exit
 		end
@@ -199,7 +199,7 @@ if $ARGS[0] = 'sex2':
 
 	gs 'BDsex', 'cum'
 
-	act 'Leave':gt 'BDsex', 'end'
+	act 'Leave': gt 'BDsex', 'end'
 end
 
 
@@ -228,19 +228,19 @@ if $ARGS[0] = 'anal2':
 	gs 'stat'
 	gs 'bdsex', 'an'
 
-	if harakBoy > 0:
+	if npc_gentle[$npcID] = 0:
 		if rand(0, 10) >= 8:
-			'Suddenly <<$boydesc>> pulls out of you and takes you by the shoulders, guiding you to your knees before him.'
+			'Suddenly <<$npcdesc>> pulls out of you and takes you by the shoulders, guiding you to your knees before him.'
 
-			act 'Take it on the face':gt 'BDsex', 'facial'
-			act 'Open mouth':gt 'BDsex', 'swallow'
+			act 'Take it on the face': gt 'BDsex', 'facial'
+			act 'Open mouth': gt 'BDsex', 'swallow'
 
 			exit
 		end
 	end
 
 	gs 'bdsex', 'ancum'
-	act 'Leave':gt 'BDsex', 'end'
+	act 'Leave': gt 'BDsex', 'end'
 end
 
 
@@ -259,72 +259,71 @@ if $ARGS[0] = 'hj':
 	gs 'arousal', 'hj', 5
 	gs 'stat'
 
-	if rand(0, 100) >= 75:
-		if harakBoy = 0:
-			'<<$boydesc>> moans, "I''m going to come."'
+	if rand(0, 100) < 75:
+		'<<$npcdesc>> Now finish.'
+
+		act 'Take it on the face': gt 'BDsex', 'facial'
+		act 'Open mouth': gt 'BDsex', 'swallow'
+	else
+		if npc_gentle[$npcID] = 1:
+			'<<$npcdesc>> moans, "I''m going to come."'
 
 			act 'Let ends':
-				cla
-				*clr
+				*clr & cla
 				'<center><img <<$set_imgh>> src="images/shared/sex/cum/handjob/hand2.jpg"></center>'
 				if protect = 1:
 					gs 'cum_manage'
 					protect = 0
 					if sexcontra = 4:
-						'<<$boydesc>> finishes, filling the condom with his hot and sticky cum, and then a slimy feeling. You realize that the condom burst.'
+						'<<$npcdesc>> finishes, filling the condom with his hot and sticky cum, and then a slimy feeling. You realize that the condom burst.'
 						gs 'arousal', 'end'
 						gs 'stat'
 					elseif sexcontra = 5:
-						'<<$boydesc>> finishes, filling the condom with his hot and sticky cum. As he pulls out, you feel a ghostly sensation, as if he didn''t come all the way out. Looking down, you see his bare dick.'
+						'<<$npcdesc>> finishes, filling the condom with his hot and sticky cum. As he pulls out, you feel a ghostly sensation, as if he didn''t come all the way out. Looking down, you see his bare dick.'
 						gs 'arousal', 'end'
 						gs 'stat'
 					else
-						'<<$boydesc>> finishes, filling the condom with his hot and sticky cum.'
+						'<<$npcdesc>> finishes, filling the condom with his hot and sticky cum.'
 						gs 'arousal', 'end'
 						gs 'stat'
 					end
 					sexcontra = 0
 				else
-					'<<$boydesc>> finishes, covering your hands in his hot and sticky cum.'
+					'<<$npcdesc>> finishes, covering your hands in his hot and sticky cum.'
 					spafinloc = 13
 					sexpartkno = 1
 					gs 'cum_manage'
 					gs 'arousal', 'end'
 					gs 'stat'
 				end
-				act 'Leave':gt 'BDsex', 'end'
+				act 'Leave': gt 'BDsex', 'end'
 			end
 
-			act 'Take by mouth':gt 'BDsex', 'minet'
-			act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
-		elseif harakBoy = 1:
-			'<<$boydesc>> groans, "<<$pcs_nickname>> take my cock in your mouth or let me fuck you!"'
-
-			act 'Take by mouth':gt 'BDsex', 'minet'
-			act 'Lie on your back and spread her legs ':gt 'BDsex', 'sex'
-		else
+			act 'Take by mouth': gt 'BDsex', 'minet'
+			act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
+		elseif npc_rough[$npcID] = 1:
 			tmpbrand = rand(0, 100)
 
 			if tmpbrand < 70:
-				'<<$boydesc>> caresses your pussy with his fingers.'
+				'<<$npcdesc>> caresses your pussy with his fingers.'
 				gs 'arousal', 'vaginal_finger', -5, 'sub'
 				gs 'stat'
 				killvar 'tmpbrand'
 
 				if rand(0, 2) < 2:
-					'<<$boydesc>> attempts to lay you down on your back.'
+					'<<$npcdesc>> attempts to lay you down on your back.'
 
-					act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
+					act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
 				else
-					'<<$boydesc>> turns you around.'
+					'<<$npcdesc>> turns you around.'
 
-					act 'Stand on all fours':gt 'BDsex', 'sex2'
+					act 'Stand on all fours': gt 'BDsex', 'sex2'
 				end
 			elseif tmpbrand >= 70 and tmpbrand < 80:
-				'<<$boydesc>> tells you that he wants your ass.'
+				'<<$npcdesc>> tells you that he wants your ass.'
 				killvar 'tmpbrand'
 
-				act 'Anal':gt 'BDsex', 'anal2'
+				act 'Anal': gt 'BDsex', 'anal2'
 
 				gs 'willpower', 'anal', 'resist', 'easy'
 				if will_cost <= pcs_willpwr:
@@ -341,17 +340,18 @@ if $ARGS[0] = 'hj':
 					act 'Take him into your mouth (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
 			elseif tmpbrand >= 80:
-				'<<$boydesc>> forces your face down on his member.'
+				'<<$npcdesc>> forces your face down on his member.'
 				killvar 'tmpbrand'
 
-				act 'Take by mouth':gt 'BDsex', 'minet'
+				act 'Take by mouth': gt 'BDsex', 'minet'
 			end
-		end
-	else
-		'<<$boydesc>> Now finish.'
 
-		act 'Take it on the face':gt 'BDsex', 'facial'
-		act 'Open mouth':gt 'BDsex', 'swallow'
+		else
+			'<<$npcdesc>> groans, "<<$pcs_nickname>> take my cock in your mouth or let me fuck you!"'
+
+			act 'Take by mouth': gt 'BDsex', 'minet'
+			act 'Lie on your back and spread her legs ': gt 'BDsex', 'sex'
+		end
 	end
 end
 
@@ -362,55 +362,79 @@ if $ARGS[0] = 'minet':
 	gs 'stat'
 	gs 'bdsex', 'autobj'
 
-	if rand(0, 100) >= 75:
-		if harakBoy = 0:
-			'<<$boydesc>> moans, "I''m going to come."'
+	if rand(0, 100) < 75:
+		'<<$npcdesc>> Now finish.'
+
+		act 'Take it on the face': gt 'BDsex', 'facial'
+		act 'Open mouth': gt 'BDsex', 'swallow'
 
+		if npc_gentle[$npcID] = 1:
 			act 'In the palm of your hand':
 				cla
 				*clr
 				'<center><img <<$set_imgh>> src="images/shared/sex/cum/handjob/hand2.jpg"></center>'
 				if protect = 1:
-					'<<$boydesc>> finishes, filling the condom with his cum.'
+					'<<$npcdesc>> finishes, filling the condom with his cum.'
 					protect = 0
 					sexcontra = 0
 					gs 'arousal', 'end'
 					gs 'stat'
 				else
-					'<<$boydesc>> finished all over your hands covering them in hot and sticky cum.'
+					'<<$npcdesc>> finished all over your hands covering them in hot and sticky cum.'
 					spafinloc = 13
 					sexpartkno = 1
 					gs 'cum_manage'
 					gs 'arousal', 'end'
 					gs 'stat'
 				end
-				act 'Leave':gt 'BDsex', 'end'
+				act 'Leave': gt 'BDsex', 'end'
 			end
+		end
+	else
+		if npc_gentle[$npcID] = 1:
+			'<<$npcdesc>> moans, "I''m going to come."'
 
-			act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
-		elseif harakBoy = 1:
-			'<<$boydesc>> groans, "<<$pcs_nickname>> take my cock in your mouth or let me fuck you!"'
+			act 'In the palm of your hand':
+				cla
+				*clr
+				'<center><img <<$set_imgh>> src="images/shared/sex/cum/handjob/hand2.jpg"></center>'
+				if protect = 1:
+					'<<$npcdesc>> finishes, filling the condom with his cum.'
+					protect = 0
+					sexcontra = 0
+					gs 'arousal', 'end'
+					gs 'stat'
+				else
+					'<<$npcdesc>> finished all over your hands covering them in hot and sticky cum.'
+					spafinloc = 13
+					sexpartkno = 1
+					gs 'cum_manage'
+					gs 'arousal', 'end'
+					gs 'stat'
+				end
+				act 'Leave': gt 'BDsex', 'end'
+			end
 
-			act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
-		else
+			act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
+		elseif npc_rough[$npcID] = 1:
 			if rand(0, 100) < 70:
-				'<<$boydesc>> caresses your pussy with his fingers.'
+				'<<$npcdesc>> caresses your pussy with his fingers.'
 				gs 'arousal', 'vaginal_finger', -10, 'sub'
 				gs 'stat'
 
 				if rand(0, 2) < 2:
-					'<<$boydesc>> tries to lay you down on your back.'
+					'<<$npcdesc>> tries to lay you down on your back.'
 
-					act 'Lie on your back and spread your legs ':gt 'BDsex', 'sex'
+					act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
 				else
-					'<<$boydesc>> turns you around.'
+					'<<$npcdesc>> turns you around.'
 
-					act 'Stand on all fours':gt 'BDsex', 'sex2'
+					act 'Stand on all fours': gt 'BDsex', 'sex2'
 				end
 			else
-				'<<$boydesc>> tells you that he wants your ass.'
+				'<<$npcdesc>> tells you that he wants your ass.'
 
-				act 'Anal':gt 'BDsex', 'anal2'
+				act 'Anal': gt 'BDsex', 'anal2'
 
 				gs 'willpower', 'anal', 'resist', 'easy'
 				if will_cost <= pcs_willpwr:
@@ -421,34 +445,10 @@ if $ARGS[0] = 'minet':
 					act '"I''ll do it doggy style, but not in the ass!" (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
 			end
-		end
-	else
-		'<<$boydesc>> Now finish.'
-
-		act 'Take it on the face':gt 'BDsex', 'facial'
-		act 'Open mouth':gt 'BDsex', 'swallow'
+		else
+			'<<$npcdesc>> groans, "<<$pcs_nickname>> take my cock in your mouth or let me fuck you!"'
 
-		if harakBoy = 0:
-			act 'In the palm of your hand':
-				cla
-				*clr
-				'<center><img <<$set_imgh>> src="images/shared/sex/cum/handjob/hand2.jpg"></center>'
-				if protect = 1:
-					'<<$boydesc>> finishes, filling the condom with his cum.'
-					protect = 0
-					sexcontra = 0
-					gs 'arousal', 'end'
-					gs 'stat'
-				else
-					'<<$boydesc>> finished all over your hands covering them in hot and sticky cum.'
-					spafinloc = 13
-					sexpartkno = 1
-					gs 'cum_manage'
-					gs 'arousal', 'end'
-					gs 'stat'
-				end
-				act 'Leave':gt 'BDsex', 'end'
-			end
+			act 'Lie on your back and spread your legs ': gt 'BDsex', 'sex'
 		end
 	end
 end
@@ -458,7 +458,7 @@ if $ARGS[0] = 'facial':
 	minut += 3
 	'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/facial<<rand(11, 15)>>.jpg"></center>'
 	if protect = 1:
-		'<<$boydesc>> finishes, filling the condom with his cum.'
+		'<<$npcdesc>> finishes, filling the condom with his cum.'
 		protect = 0
 		sexcontra = 0
 	else
@@ -468,22 +468,22 @@ if $ARGS[0] = 'facial':
 		gs 'cum_manage'
 	end
 	gs 'stat'
-	act 'Brush up':gt 'BDsex', 'end'
+	act 'Brush up': gt 'BDsex', 'end'
 end
 
 if $ARGS[0] = 'swallow':
 	minut += 3
 	'<center><img <<$set_imgh>> src="images/shared/sex/cum/mouth/cum<<rand(20, 29)>>.jpg"></center>'
 	if protect = 1:
-		'<<$boydesc>> finishes, and you feel the condom balloon up in your mouth.'
+		'<<$npcdesc>> finishes, and you feel the condom balloon up in your mouth.'
 		protect = 0
 		sexcontra = 0
 	else
 		'Thick jets of sharply smelling sperm fill your mouth.'
-		gs 'cum_call', 'mouth_swallow', $boy, 1
+		gs 'cum_call', 'mouth_swallow', $npcID, 1
 	end
 	gs 'stat'
-	act 'Brush up':gt 'BDsex', 'end'
+	act 'Brush up': gt 'BDsex', 'end'
 end
 
 if $ARGS[0] = 'end':
@@ -491,7 +491,7 @@ if $ARGS[0] = 'end':
 
 	if BDcafe = 1:
 		BDcafe = 0
-		act 'Leave':gt 'city_residential'
+		act 'Leave': gt 'city_residential'
 	elseif Yuri_sex = 1:
 		Yuri_sex = 0
 		cumspclnt = 4
@@ -499,27 +499,20 @@ if $ARGS[0] = 'end':
 		gs 'stat'
 		'Yuri lets you have a quick shower and dress before giving you a quick kiss on the cheek.'
 		if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
-		act 'Leave':gt 'city_industrial'
-	elseif $boydesc = 'Michael N.':
+		act 'Leave': gt 'city_industrial'
+	elseif $npcdesc = 'Michael N.':
 		act 'Leave':dynamic $brodilr
 	elseif InYouHome = 1:
 		InYouHome = 0
-		'<<$boydesc>> politely says goodbye and leaves.'
+		'<<$npcdesc>> politely says goodbye and leaves.'
 
-		act 'Leave':gt $home['entrance'], $home['entrance_arg']
+		act 'Leave': gt $home['entrance'], $home['entrance_arg']
 
 		exit
 	elseif GoToGuy = 1:
 		GoToGuy = 0
-		act 'Leave':gt 'city_industrial'
-	elseif harakBoy = 1:
-		harakBoy = 0
-		cumspclnt = 4
-		gs 'cum_cleanup'
-		'You wash quickly in shower and <<$boydesc>> begins to hurry you out.'
-		if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
-		act 'Leave':dynamic $brodilr
-	elseif harakBoy = 0:
+		act 'Leave': gt 'city_industrial'
+	elseif npc_gentle[$npcID] = 1:
 		minut += 15
 		pcs_horny += 1
 		pcs_hairbsh = 1
@@ -530,17 +523,28 @@ if $ARGS[0] = 'end':
 		'You go into the bathroom and turn on the shower, lathering body and washing as well as you can.'
 		if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
 		act 'Leave':dynamic $brodilr
-	elseif harakBoy = 2:
-		'<<$boydesc>> won''t even let you go to the bathroom to clean up.'
+	elseif npc_rough[$npcID] = 1:
+		'<<$npcdesc>> won''t even let you go to the bathroom to clean up.'
 		act 'Leave':dynamic $brodilr
-	elseif finance > 0:
-		if finance = 1:money += 300
-		if finance = 2:money += 500
-		'<<$boydesc>> gives you money for a taxi and kicks you out of the apartment.'
+	elseif npc_gentle[$npcID] = 0 and npc_rough[$npcID] = 0:
+		npc_gentle[$npcID] = 1
+		cumspclnt = 4
+		gs 'cum_cleanup'
+		'You wash quickly in shower and <<$npcdesc>> begins to hurry you out.'
+		if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
 		act 'Leave':dynamic $brodilr
-	elseif finance = 0:
-		'<<$boydesc>> kicks you out of the apartment.'
+
+	!! These will never trigger?
+	elseif npc_finance[$npcID] > 0:
+		if npc_finance[$npcID] = 1: money += 300
+		if npc_finance[$npcID] = 2: money += 500
+		'<<$npcdesc>> gives you money for a taxi and kicks you out of the apartment.'
 		act 'Leave':dynamic $brodilr
+	elseif npc_finance[$npcID] = 0:
+		'<<$npcdesc>> kicks you out of the apartment.'
+		act 'Leave':dynamic $brodilr
+
+	!! This will never trigger
 	elseif GoToGuy = 0:
 		act 'Leave':
 			tmpgorand = rand(0, 2)
@@ -559,7 +563,7 @@ if $ARGS[0] = 'org':
 	if mc_inventory['contraceptive_pill'] <= 0 and mc_inventory['equipped_condoms'] > 0:
 		dynamic $prezik
 		protect = 1
-		'<<$boydesc>> takes a condom and puts it on his <<dick>> centimeter member.'
+		'<<$npcdesc>> takes a condom and puts it on his <<dick>> centimeter member.'
 		if preziktype = 2:
 			sexcontra = 7
 		else
@@ -651,27 +655,27 @@ if $ARGS[0] = 'org':
 
 		if orgazm = 0:
 			pcs_mood -= 15
-			'You groan in pain when <<$boydesc>> enters you, tears flowing from your eyes as you endure the feeling of having a red-hot rod between your legs. You cry and moan while his strong <<dick>> centimeter dick fucks your pussy.'
+			'You groan in pain when <<$npcdesc>> enters you, tears flowing from your eyes as you endure the feeling of having a red-hot rod between your legs. You cry and moan while his strong <<dick>> centimeter dick fucks your pussy.'
 			gs 'arousal', 'vaginal', 5, 'sub'
 			gs 'stat'
 		elseif orgazm = 1:
 			pcs_mood -= 10
-			'You bite your lip in pain when <<$boydesc>> enters you, a twinge of pain between your legs. Frowning, you moan in pain while his strong <<dick>> centimeter dick fucks your pussy.'
+			'You bite your lip in pain when <<$npcdesc>> enters you, a twinge of pain between your legs. Frowning, you moan in pain while his strong <<dick>> centimeter dick fucks your pussy.'
 			gs 'arousal', 'vaginal', 5, 'sub'
 			gs 'stat'
 		elseif orgazm = 2:
 			pcs_mood -= 5
-			'You wince at the sudden pain when <<$boydesc>> enters you, the pain between your legs gradually calms and becomes quite tolerable. You try to get aroused while his strong <<dick>> centimeter dick fucks your pussy, but it is not enough.'
+			'You wince at the sudden pain when <<$npcdesc>> enters you, the pain between your legs gradually calms and becomes quite tolerable. You try to get aroused while his strong <<dick>> centimeter dick fucks your pussy, but it is not enough.'
 			gs 'arousal', 'vaginal', 5, 'sub'
 			gs 'stat'
 		elseif orgazm = 3:
 			pcs_mood += 5
-			'You are startled by the feeling as your pussy is stretched when <<$boydesc>> enters you. A shiver of pleasure starts from between your legs and travels up your spine as each stroke of his <<dick>> centimeter fucks into your pussy.'
+			'You are startled by the feeling as your pussy is stretched when <<$npcdesc>> enters you. A shiver of pleasure starts from between your legs and travels up your spine as each stroke of his <<dick>> centimeter fucks into your pussy.'
 			gs 'arousal', 'vaginal', 5, 'sub'
 			gs 'stat'
 		elseif orgazm = 4:
 			pcs_mood += 10
-			'You are startled by the feeling as your pussy is stretched when <<$boydesc>> enters you. A shiver of pleasure starts from between your legs and travels up your spine as each stroke of his <<dick>> centimeter fucks into your pussy. Gradually a pleasant warmth and ripple grows in the lower abdomen, but the feeling never peaks, instead decreasing in strength even as it remains with you until the end.'
+			'You are startled by the feeling as your pussy is stretched when <<$npcdesc>> enters you. A shiver of pleasure starts from between your legs and travels up your spine as each stroke of his <<dick>> centimeter fucks into your pussy. Gradually a pleasant warmth and ripple grows in the lower abdomen, but the feeling never peaks, instead decreasing in strength even as it remains with you until the end.'
 			gs 'arousal', 'vaginal', 5, 'sub'
 			gs 'stat'
 		elseif orgazm = 5:
@@ -682,7 +686,7 @@ if $ARGS[0] = 'org':
 			gs 'stat'
 		elseif orgazm = 6:
 			pcs_mood += 5
-			'You feel every centimeter as his member enters your pussy when <<$boydesc>> slides home. It is a pleasant feeling, but his dick is significantly smaller than you prefer and <<dick>> centimeter is not enough for you. Gradually, a pleasant ripples grows in your lower abdomen, but the feeling never rises to true orgasm.'
+			'You feel every centimeter as his member enters your pussy when <<$npcdesc>> slides home. It is a pleasant feeling, but his dick is significantly smaller than you prefer and <<dick>> centimeter is not enough for you. Gradually, a pleasant ripples grows in your lower abdomen, but the feeling never rises to true orgasm.'
 			gs 'arousal', 'vaginal', 5, 'sub'
 			gs 'stat'
 		end
@@ -690,7 +694,7 @@ if $ARGS[0] = 'org':
 		if pcs_vag <= dick:pcs_vag += 1
 	elseif stat['think_virgin'] = 1 and mesec <= 0:
 		pcs_mood -= 15
-		'You bite your lip in pain and tears gush from your eyes when <<$boydesc>> enters you, breaking your hymen. You moan while weeping as his strong <<dick>> centimeter dick fucks your bloody pussy.'
+		'You bite your lip in pain and tears gush from your eyes when <<$npcdesc>> enters you, breaking your hymen. You moan while weeping as his strong <<dick>> centimeter dick fucks your bloody pussy.'
 		gs 'arousal', 'vaginal', 5, 'sub', 'rough'
 		gs 'stat'
 	end
@@ -708,7 +712,7 @@ if $ARGS[0] = 'cum':
 			!!inside
 			sexpartkno = 1
 			gs 'cum_manage'
-			'<<$boydesc>> groans and you feel each jet of sperm paint the walls of your womb with seed.'
+			'<<$npcdesc>> groans and you feel each jet of sperm paint the walls of your womb with seed.'
 			gs 'arousal', 'end'
 			gs 'stat'
 			pcs_mood -= 15
@@ -719,14 +723,14 @@ if $ARGS[0] = 'cum':
 				spafinloc = 14
 				sexpartkno = 1
 				gs 'cum_manage'
-				'<<$boydesc>> shouts, pulling out to finish on your stomach.'
+				'<<$npcdesc>> shouts, pulling out to finish on your stomach.'
 				gs 'arousal', 'end'
 				gs 'stat'
 			elseif pose = 1:
 				spafinloc = 4
 				sexpartkno = 1
 				gs 'cum_manage'
-				'<<$boydesc>> shudders, pulling out just in time to paint your ass white with semen.'
+				'<<$npcdesc>> shudders, pulling out just in time to paint your ass white with semen.'
 				gs 'arousal', 'end'
 				gs 'stat'
 			end
@@ -734,15 +738,15 @@ if $ARGS[0] = 'cum':
 	elseif protect = 1:
 		protect = 0
 		if sexcontra = 4:
-			'<<$boydesc>> groans and you feel heat building deep inside, and then a slimy feeling. You realize that the condom burst.'
+			'<<$npcdesc>> groans and you feel heat building deep inside, and then a slimy feeling. You realize that the condom burst.'
 			gs 'arousal', 'end'
 			gs 'stat'
 		elseif sexcontra = 5:
-			'<<$boydesc>> groans and you feel heat building deep inside. As he pulls out, you feel a ghostly sensation, as if he didn''t come all the way out. Looking down, you see his bare dick.'
+			'<<$npcdesc>> groans and you feel heat building deep inside. As he pulls out, you feel a ghostly sensation, as if he didn''t come all the way out. Looking down, you see his bare dick.'
 			gs 'arousal', 'end'
 			gs 'stat'
 		else
-			'<<$boydesc>> groans and you feel heat building deep inside. You realize that he has filled the condom.'
+			'<<$npcdesc>> groans and you feel heat building deep inside. You realize that he has filled the condom.'
 			gs 'arousal', 'end'
 			gs 'stat'
 		end
@@ -756,20 +760,20 @@ if $ARGS[0] = 'autobj':
 	'You little fingers caress his <<dick>> centimeter shaft before you take the head into your mouth and began to suck.'
 	gs 'arousal', 'hj', 5, 'sub'
 	gs 'stat'
-	if harakBoy = 0:
-		'<<$boydesc>> closes his eyes in pleasure, enjoying the caress of your lips.'
+	if npc_gentle[$npcID] = 1:
+		'<<$npcdesc>> closes his eyes in pleasure, enjoying the caress of your lips.'
 		gs 'arousal', 'bj', 5, 'sub'
 		gs 'stat'
-	elseif harakBoy = 1:
-		'<<$boydesc>> stares expectingly at you until your lips glide over his hard dick.'
-		gs 'arousal', 'bj', 5, 'sub'
-		gs 'stat'
-	elseif harakBoy = 2:
+	elseif npc_rough[$npcID] = 1:
 		if pcs_makeup > 1:pcs_makeup = 0
 		pcs_hairbsh = -1
-		'<<$boydesc>> grabs your hair and begins to fuck your mouth roughly, each thrust strikes against the back of your throat as tears flow from your eyes.'
+		'<<$npcdesc>> grabs your hair and begins to fuck your mouth roughly, each thrust strikes against the back of your throat as tears flow from your eyes.'
 		gs 'arousal', 'bj', 5, 'sub', 'rough'
 		gs 'stat'
+	else
+		'<<$npcdesc>> stares expectingly at you until your lips glide over his hard dick.'
+		gs 'arousal', 'bj', 5, 'sub'
+		gs 'stat'
 	end
 
 	pcs_horny += pcs_throat + 10 - (willpowermax / 10)
@@ -784,33 +788,33 @@ if $ARGS[0] = 'autobj':
 		gs 'stat'
 	end
 
-	!!'Finally <<$boydesc>> groans and you realize that he is at his limit.'
+	!!'Finally <<$npcdesc>> groans and you realize that he is at his limit.'
 end
 
 if $ARGS[0] = 'an':
 	!!if analplugin = 1:
 	!!	analpluginbonus = 10
 	!!	analplugin = 0
-	!!	if pcs_ass < 16:'<<$boydesc>> pulls the plug out of your narrow and tight ass.'
-	!!	if pcs_ass >= 16:'<<$boydesc>> pulls the butt plug out of your ass, hot juices dripping from your now unstoppered hole.'
+	!!	if pcs_ass < 16:'<<$npcdesc>> pulls the plug out of your narrow and tight ass.'
+	!!	if pcs_ass >= 16:'<<$npcdesc>> pulls the butt plug out of your ass, hot juices dripping from your now unstoppered hole.'
 	!!	if pcs_ass + analpluginbonus < dick:'You scream and bite your lip at the sharp pain when the <<dick>> centimeter dick parts your ass and plunges home.'
 	!!	if pcs_ass + analpluginbonus >= dick:'You groan and a satisfying fullness spreads through you as the <<dick>> member centimeter dick forces its way into your ass.'
 	!!	!!gs 'BDsex', 'ancum'
 	!!end
 
 	gs 'dinsex','boy_wants_anal'
-	'<<$boydesc>> lays you on your stomach on the bed, spreading your ass apart as he begins to massage and open your anus with his fingers, first one, then two.'
+	'<<$npcdesc>> lays you on your stomach on the bed, spreading your ass apart as he begins to massage and open your anus with his fingers, first one, then two.'
 	gs 'arousal', 'anal_finger', 5, 'sub'
 	if pcs_ass < 10:
 		'You groan in pain as his third finger invades your ass.'
 	else
 		'You feel your asshole stretch to accommodate his third finger.'
 	end
-	'<<$boydesc>> abruptly pulls his fingers out of your ass and you feel his hard cock rest against your hole.'
+	'<<$npcdesc>> abruptly pulls his fingers out of your ass and you feel his hard cock rest against your hole.'
 
 	if pcs_ass + lubonus < dick:'You scream and bite your lip at the sharp pain when the <<dick>> member centimeter enters your ass.'
 	if pcs_ass + lubonus >= dick:'You groan and a satisfying fullness spreads through you as the <<dick>> member centimeter dick forces its way into your ass.'
-	'<<$boydesc>> stops his assault for a moment, giving your ass time to adapt to the cock invading it before he starts you again, this time even more insistent.'
+	'<<$npcdesc>> stops his assault for a moment, giving your ass time to adapt to the cock invading it before he starts you again, this time even more insistent.'
 	gs 'arousal', 'anal', 10, 'sub'
 	gs 'stat'
 	if pcs_ass + lubonus + 2 < dick:
@@ -826,7 +830,7 @@ if $ARGS[0] = 'an':
 end
 
 if $ARGS[0] = 'ancum':
-	'Finally <<$boydesc>> grabs your tight ass and drives home, hilting his dick in your aching ass and slapping your pussy with his balls as he cums.'
+	'Finally <<$npcdesc>> grabs your tight ass and drives home, hilting his dick in your aching ass and slapping your pussy with his balls as he cums.'
 	spafinloc = 3
 	sexvolume = 20
 	sexpartkno = 1

+ 71 - 27
locations/Cheatmenu_din.qsrc

@@ -1670,35 +1670,15 @@ if $ARGS[0] = 'reputation':
 	*nl
 	'<font color="blue"><b>Nicholas'' Family</b></font>'
 	'<a href="exec:gt ''nichUtil'', ''debug''">Storyline Debug Menu</a>'
+	*nl
 
-	temp_cmd_i = 0
-	:loverrelationshiploop
-	if temp_cmd_i < arrsize('$lover'):
-		if pcs_lovers[temp_cmd_i] = 1:
-			$temp_npcid = $lover[temp_cmd_i]
-			*nl
-			'You are dating <<$npc_usedname[$temp_npcid]>>.'
-			if loverrelation[temp_cmd_i] < 0: loverrelation[temp_cmd_i] = 0
-			if loverdays[temp_cmd_i] < 0: loverdays[temp_cmd_i] = 0
-			if npc_gentle[$temp_npcid] = 1:
-				'Change lover''s personality: <a href="exec: npc_gentle[<<$temp_npcid>>] = 0 & dynamic $cheatmenu[''reputation'']">Gentle</a>'
-			elseif npc_rough[$temp_npcid] = 0:
-				'Change lover''s personality: <a href="exec: npc_rough[<<$temp_npcid>>] = 1 & dynamic $cheatmenu[''reputation'']">Normal</a>'
-			else
-				'Change lover''s personality: <a href="exec: npc_rough[<<$temp_npcid>>] = 0 & npc_gentle[<<$temp_npcid>>] = 1 & dynamic $cheatmenu[''reputation'']">Rough</a>'
-			end
-			if npc_pervert[$temp_npcid] = 0:
-				'Change lover''s perversion: <a href="exec: npc_pervert[<<$temp_npcid>>] = 1 & dynamic $cheatmenu[''reputation'']">Not perverted</a>'
-			else
-				'Change lover''s perversion: <a href="exec: npc_pervert[<<$temp_npcid>>] = 0 & dynamic $cheatmenu[''reputation'']">Perverted</a>'
-			end
-			'Relationship: <<loverrelation[temp_cmd_i]>> <a href="exec: loverrelation[<<temp_cmd_i>>] += 10 & dynamic $cheatmenu[''reputation'']">+10</a> <a href="exec: loverrelation[<<temp_cmd_i>>] -= 10 & dynamic $cheatmenu[''reputation'']">-10</a>'
-			'You''ve been dating for <<loverdays[temp_cmd_i]>> days. <a href="exec:loverdays[<<temp_cmd_i>>] += 5 & dynamic $cheatmenu[''reputation'']">+5</a> <a href="exec: loverdays[<<temp_cmd_i>>] -= 5 & dynamic $cheatmenu[''reputation'']">-5</a>'
-		end
-		temp_cmd_i += 1
-		jump 'loverrelationshiploop'
+	if arrsize('$lover') > 0:
+		'<font color="blue"><b>Lovers</b></font>'
+		'<a href="exec:gt ''cheatmenu_din'', ''lover_menu''">Edit lovers</a>'
+		*nl
 	end
-	*nl
+
+
 	if fame['pav_slut'] >= 50:
 		gs 'fame'
 		'In Pavlovsk you are known as a <font color="red"><<$gnikname>></font> <a href="exec:fame[''pav_sex''] = 0 & fame[''pav_prostitute''] = 0 & gs ''fame'', ''calculateSlut'' & dynamic $cheatmenu[''reputation'']">Clear</a>'
@@ -1754,6 +1734,70 @@ if $ARGS[0] = 'reputation':
 	$cheatmenu['table_end']
 end
 
+
+$cheatmenu['lover_menu'] = "gt 'cheatmenu_din', 'lover_menu'"
+if $ARGS[0] = 'lover_menu':
+	*clr & cla
+	'<center><h2>Cheat Menu - Relationships - Lovers</h2></center>'
+
+	$cheatmenu['table_start']
+		act 'Go Back': gt 'cheatmenu_din', 'reputation'
+		'<a href="exec:gt ''cheatmenu_din'', ''reputation''">Go Back</a>'
+
+		temp_cmd_i = 0
+		temp_cmd_max_i = arrsize('$lover')
+		:loverrelationshiploop
+		if temp_cmd_i < temp_cmd_max_i:
+			$cmd_temp_npcid = $lover[temp_cmd_i]
+			if mid($npc_rel_type[$cmd_temp_npcid], 1, 2) = 'ex':
+				temp_cmd_i += 1
+				jump 'loverrelationshiploop'
+			end
+
+			*nl
+
+			if npc_rel[$cmd_temp_npcid] < 0: npc_rel[$cmd_temp_npcid] = 0
+			if npc_rel[$cmd_temp_npcid] > 100: npc_rel[$cmd_temp_npcid] = 100
+			if npc_dates[$cmd_temp_npcid] < 0: npc_dates[$cmd_temp_npcid] = 0
+
+			if $npc_rel_type[$cmd_temp_npcid] = 'boyfriend' or $npc_rel_type[$cmd_temp_npcid] = 'girlfriend':
+				'You are dating <<$npc_usedname[$cmd_temp_npcid]>>.'
+			elseif $npc_rel_type[$cmd_temp_npcid] = 'husband' or $npc_rel_type[$cmd_temp_npcid] = 'wife':
+				'You are married to <<$npc_usedname[$cmd_temp_npcid]>>.'
+			elseif $npc_rel_type[$cmd_temp_npcid] = 'fuckbuddy':
+				'You are fuckbuddies with <<$npc_usedname[$cmd_temp_npcid]>>.'
+			elseif $npc_rel_type[$cmd_temp_npcid] = 'sugar_daddy':
+				'<<$npc_usedname[$cmd_temp_npcid]>> is your sugar daddy.'
+			end
+
+			if npc_gentle[$cmd_temp_npcid] = 1:
+				'Change lover''s personality: <a href="exec: npc_gentle[''<<$cmd_temp_npcid>>''] = 0 & dynamic $cheatmenu[''lover_menu'']">Gentle</a>'
+			elseif npc_rough[$cmd_temp_npcid] = 0:
+				'Change lover''s personality: <a href="exec: npc_rough[''<<$cmd_temp_npcid>>''] = 1 & dynamic $cheatmenu[''lover_menu'']">Normal</a>'
+			else
+				'Change lover''s personality: <a href="exec: npc_rough[''<<$cmd_temp_npcid>>''] = 0 & npc_gentle[''<<$cmd_temp_npcid>>''] = 1 & dynamic $cheatmenu[''lover_menu'']">Rough</a>'
+			end
+
+			if npc_pervert[$cmd_temp_npcid] = 0:
+				'Change lover''s perversion: <a href="exec: npc_pervert[''<<$cmd_temp_npcid>>''] = 1 & dynamic $cheatmenu[''lover_menu'']">Not perverted</a>'
+			else
+				'Change lover''s perversion: <a href="exec: npc_pervert[''<<$cmd_temp_npcid>>''] = 0 & dynamic $cheatmenu[''lover_menu'']">Perverted</a>'
+			end
+
+			'Relationship: <<npc_rel[$cmd_temp_npcid]>> <a href="exec: npc_rel[''<<$cmd_temp_npcid>>''] += 10 & dynamic $cheatmenu[''lover_menu'']">+10</a> <a href="exec: npc_rel[''<<$cmd_temp_npcid>>''] -= 10 & dynamic $cheatmenu[''lover_menu'']">-10</a>'
+			'You''ve been on <<npc_dates[$cmd_temp_npcid]>> dates. <a href="exec: npc_dates[''<<$cmd_temp_npcid>>''] += 5 & dynamic $cheatmenu[''lover_menu'']">+5</a> <a href="exec: npc_dates[''<<$cmd_temp_npcid>>''] -= 5 & dynamic $cheatmenu[''lover_menu'']">-5</a>'
+
+			temp_cmd_i += 1
+			jump 'loverrelationshiploop'
+		end
+		killvar 'temp_cmd_max_i'
+		killvar 'temp_cmd_i'
+
+	$cheatmenu['table_end']
+end
+
+
+
 !!----------------------------------------------------------------------------------------------------------------------------
 !! Diplomas, Licences, and Certificates
 !!----------------------------------------------------------------------------------------------------------------------------

+ 1 - 1
locations/Katlake.qsrc

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

+ 3 - 4
locations/LakeBoyZ.qsrc

@@ -9,12 +9,11 @@ $gL_boy_z = {
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/lake/event/sunbathe_lake.jpg"></center>'
 		end
 		'He seems nice enough so you decide to give him your name.'
-		randvnesh = rand(40,120)
-		if rand(0,10) = 0 and pcs_apprnc >= randvnesh:
+		if rand(0,10) = 0 and pcs_apprnc >= rand(40,120):
 			'<<$boydesc>> smiles as he says, "You''re a pretty cool girl. Maybe we can hang out again?"'
 			gs 'willpower', 'misc', 'resist', 'easy'
 			if will_cost <= pcs_willpwr:
-				act 'Smile and leave (<<will_cost>> Willpower)':	
+				act 'Smile and leave (<<will_cost>> Willpower)':
 					gs 'willpower', 'pay', 'resist'
 					gt 'pav_lake'
 				end
@@ -24,7 +23,7 @@ $gL_boy_z = {
 			act 'Give him your phone number':
 				*clr & cla
 				pcs_mood += 10
-				if rand(0,2) = 0: gs 'boyfrend','start'
+				if rand(0,2) = 0: gs 'lover', 'add_boyfriend', $boy
 				minut += 5
 				bmFrend[Tboynum] = 1
 				gs 'stat'

+ 43 - 37
locations/albina_chat.qsrc

@@ -949,40 +949,46 @@ if $ARGS[0] = 'lover_conversation':
 		act 'Change the subject': gt 'albina_chat', 'chat'
 	end
 
-	if arrsize('$fuckbuddy') = 1:
-		act 'I have a fuckbuddy':
-			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
-			'"Pretty much the same deal as you," you smile. "I keep it casual with a fuckbuddy. We booty call each other whenever we want to get off."'
-			'"Better that way, isn''t it?" she smirks. "Romance is overrated. Let''s not kid ourselves. We''re all in it for the fucking."'
-			act 'Stop talking': gt 'albina_chat', 'chat_exit'
-			act 'Change the subject': gt 'albina_chat', 'chat'
-		end
-	elseif arrsize('$fuckbuddy') < 7:
-		act 'A few fuckbuddies':
-			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
-			'"Pretty much the same deal as you," you smile. "I keep it casual with a few fuckbuddies I have stashed around the way. They booty call me whenever they want to hook up."'
-			'"Better that way, isn''t it?" she smirks. "Romance is overrated. Let''s not kid ourselves. Even couples are just looking for an excuse to fuck."'
-			act 'Stop talking': gt 'albina_chat', 'chat_exit'
-			act 'Change the subject': gt 'albina_chat', 'chat'
-		end
-	else
-		act 'A lot of fuckbuddies':
-			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
-			'"Pretty much the same deal as you," you smile. "I have a bunch of guys I keep it casual with. They booty call me whenever they want to hook up."'
-			'"A bunch?" She raises an eyebrow. "How much is ''a bunch''?"'
-			iif(arrsize('$fuckbuddy') <= 10, '"Hmmm..." You start counting off your various lovers on your fingers.  "<<arrsize(''$fuckbuddy'') - 1>>? No wait, <<arrsize(''$fuckbuddy'')>>. I just wait for them to text me if they want to fuck."', '"Let''s just say more than ten," you say with a wry smirk.')
-			'"You slut!" she grins.'
-			act 'Stop talking': gt 'albina_chat', 'chat_exit'
-			act 'Change the subject': gt 'albina_chat', 'chat'
-			act 'Accept your sluttiness':
-				cla & *nl
-				'"Uh, yes?" You give her a nonchalant shrug. "I like sex. I''m going to have as much of it as I want. If that makes me a slut then so be it."'
+	if stat['fuckbuddies_current'] > 0:
+		if stat['fuckbuddies_current'] = 1:
+			act 'I have a fuckbuddy':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
+				'"Pretty much the same deal as you," you smile. "I keep it casual with a fuckbuddy. We booty call each other whenever we want to get off."'
+				'"Better that way, isn''t it?" she smirks. "Romance is overrated. Let''s not kid ourselves. We''re all in it for the fucking."'
 				act 'Stop talking': gt 'albina_chat', 'chat_exit'
 				act 'Change the subject': gt 'albina_chat', 'chat'
 			end
+		elseif stat['fuckbuddies_current'] < 7:
+			act 'A few fuckbuddies':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
+				'"Pretty much the same deal as you," you smile. "I keep it casual with a few fuckbuddies I have stashed around the way. They booty call me whenever they want to hook up."'
+				'"Better that way, isn''t it?" she smirks. "Romance is overrated. Let''s not kid ourselves. Even couples are just looking for an excuse to fuck."'
+				act 'Stop talking': gt 'albina_chat', 'chat_exit'
+				act 'Change the subject': gt 'albina_chat', 'chat'
+			end
+		else
+			act 'A lot of fuckbuddies':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
+				'"Pretty much the same deal as you," you smile. "I have a bunch of guys I keep it casual with. They booty call me whenever they want to hook up."'
+				'"A bunch?" She raises an eyebrow. "How much is ''a bunch''?"'
+				if stat['fuckbuddies_current'] <= 10:
+					'"Hmmm..." You start counting off your various lovers on your fingers.  "<<stat[''fuckbuddies_current''] - 1>>? No wait, <<stat[''fuckbuddies_current'']>>. I just wait for them to text me if they want to fuck."'
+				else
+					'"Let''s just say more than ten," you say with a wry smirk.'
+				end
+				'"You slut!" she grins.'
+				act 'Stop talking': gt 'albina_chat', 'chat_exit'
+				act 'Change the subject': gt 'albina_chat', 'chat'
+				act 'Accept your sluttiness':
+					cla & *nl
+					'"Uh, yes?" You give her a nonchalant shrug. "I like sex. I''m going to have as much of it as I want. If that makes me a slut then so be it."'
+					act 'Stop talking': gt 'albina_chat', 'chat_exit'
+					act 'Change the subject': gt 'albina_chat', 'chat'
+				end
+			end
 		end
 	end
 
@@ -1017,7 +1023,7 @@ if $ARGS[0] = 'lover_conversation':
 		end
 	end
 
-	if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or pcs_lover > pcs_girlfriends:
+	if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or stat['boyfriends_current'] > 0:
 		act 'I have a boyfriend':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
@@ -1028,10 +1034,10 @@ if $ARGS[0] = 'lover_conversation':
 			gs 'albina_chat', 'lover_rex_talk'
 			i = 0
 			:lover_looop
-			if i < arrsize('lover'):
+			if i < arrsize('$lover'):
 				$temp_npcid = $lover[i]
-				if npc_gender[$temp_npcid] ! 1:
-					dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''albina_chat'', ''tell_about_generic_boyfreind'', $npc_usedname["<<$temp_npcid>>"]'
+				if $npc_rel_type[$temp_npcid] = 'boyfriend':
+					dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''albina_chat'', ''tell_about_generic_boyfriend'', $npc_usedname["<<$temp_npcid>>"]'
 				end
 				killvar '$temp_npcid'
 				i += 1
@@ -1243,9 +1249,9 @@ if $ARGS[0] = 'zoya_conversation':
 				if NikoVolkovQW >= 5: act 'Get married to Niko': gt 'albina_chat', 'telling_marrige_dreams', 'Niko'
 				i = 0
 				:marrid_looop
-				if i < arrsize('lover'):
+				if i < arrsize('$lover'):
 					$temp_npcid = $lover[i]
-					if npc_gender[$temp_npcid] ! 1:
+					if $npc_rel_type[$temp_npcid] = 'boyfriend':
 						dynamic 'act ''Get married to <<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''albina_chat'', ''telling_marrige_dreams'', $npc_usedname["<<$temp_npcid>>"]'
 					end
 					killvar 'temp_npcid'

+ 2 - 2
locations/albina_sex_chat.qsrc

@@ -496,7 +496,7 @@ if $ARGS[0] = 'bj_fav':
 
 	end
 
-	if arrsize('$lover') > 0:
+	if stat['boyfriends_current'] > 0:
 		act 'I do it for my boyfriend':
 			cla & *nl
 			'"I like making my boyfriend feel good," you smile. "He likes it, so I like it."'
@@ -687,7 +687,7 @@ if $ARGS[0] = 'birth_control_talk':
 							gs 'albina_sex_chat', 'sex_talk'
 						end
 
-						if pcs_lover - pcs_girlfriends > 0:
+						if stat['boyfriends_current'] > 0:
 							act 'I love my boyfriend':
 								*clr & cla
 								'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'

+ 1 - 1
locations/andreihunter.qsrc

@@ -3,7 +3,7 @@
 
 menu_off = 1
 gs 'boystat', 'A172'
-harakBoy = 2
+npc_rough[$boy] = 1
 boyage = npc_dob[$boy]
 boyage = (boyage - boyage mod 10000) / 10000
 boyage = year - boyage

+ 5 - 5
locations/anushka.qsrc

@@ -568,7 +568,7 @@ if $ARGS[0] = 'chatwhilewaiting':
 				'"It''s fine. I''m just yanking your chain. I like things just as how they are too."'
 				act 'Talk about something else': gt 'anushka', 'chatwhilewaiting'
 			end
-			if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or pcs_lover > pcs_girlfriends:
+			if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or arrpos('$pcs_rel_type', 'boyfriend') >= 0:
 				act 'I have a boyfriend':
 					*clr & cla
 					'<center><b><font color="maroon">Classroom</font></b></center>'
@@ -717,9 +717,9 @@ if $ARGS[0] = 'chatwhilewaiting':
 					end
 					i = 0
 					:lover_looop
-					if i < arrsize('lover'):
+					if i < arrsize('$lover'):
 						$temp_npcid = $lover[i]
-						if npc_gender[$temp_npcid] ! 1:
+						if $npc_rel_type[$temp_npcid] = 'boyfriend':
 							dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''anushka'', ''tell_about_generic_boyfreind'', $npc_usedname["<<$temp_npcid>>"]'
 						end
 						killvar '$temp_npcid'
@@ -791,9 +791,9 @@ if $ARGS[0] = 'chatwhilewaiting':
 				if NikoVolkovQW >= 5:	act 'Get married to Niko': gt 'anushka', 'telling_marrige_dreams', 'Niko'
 				i = 0
 				:marrid_looop
-				if i < arrsize('lover'):
+				if i < arrsize('$lover'):
 					$temp_npcid = $lover[i]
-					if npc_gender[$temp_npcid] ! 1:
+					if $npc_rel_type[$temp_npcid] = 'boyfriend':
 						dynamic 'act ''Get married to <<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''anushka'', ''telling_marrige_dreams'', $npc_usedname["<<$temp_npcid>>"]'
 					end
 					killvar '$temp_npcid'

+ 8 - 8
locations/anushkachat.qsrc

@@ -310,7 +310,7 @@ if $ARGS[0] = 'chat':
 			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 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or stat['boyfriends_current'] > 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'
 			if kotovLoveQW = 1: act 'Get married to Vitek': gt 'anushkachat', 'telling_marrige_dreams', 'Vitek'
@@ -318,9 +318,9 @@ if $ARGS[0] = 'chat':
 			if NikoVolkovQW >= 5:	act 'Get married to Niko': gt 'anushkachat', 'telling_marrige_dreams', 'Niko'
 			i = 0
 			:marrid_looop
-			if i < arrsize('lover'):
+			if i < arrsize('$lover'):
 				$temp_npcid = $lover[i]
-				if npc_gender[$temp_npcid] ! 1:
+				if $npc_rel_type[$temp_npcid] = 'boyfriend':
 					dynamic 'act ''Get married to <<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''anushkachat'', ''telling_marrige_dreams'', $npc_usedname["<<$temp_npcid>>"]'
 				end
 				killvar '$temp_npcid'
@@ -374,7 +374,7 @@ if $ARGS[0] = 'chat':
 			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 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or stat['boyfriends_current'] > 0:
 			act 'I have a boyfriend': gt 'anushkachat', 'boyfriend_chat'
 		end
 	end
@@ -843,10 +843,10 @@ if $ARGS[0] = 'boyfriend_chat':
 	end
 	i = 0
 	:lover_looop
-	if i < arrsize('lover'):
+	if i < arrsize('$lover'):
 		$temp_npcid = $lover[i]
-		if npc_gender[$temp_npcid] ! 1:
-			dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''anushkachat'', ''tell_about_generic_boyfreind'', $npc_usedname["<<$temp_npcid>>"]'
+		if $npc_rel_type[$temp_npcid] = 'boyfriend':
+			dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''anushkachat'', ''tell_about_generic_boyfriend'', $npc_usedname["<<$temp_npcid>>"]'
 		end
 		killvar '$temp_npcid'
 		i += 1
@@ -855,7 +855,7 @@ if $ARGS[0] = 'boyfriend_chat':
 	killvar 'i'
 end
 
-if $ARGS[0] = 'tell_about_generic_boyfreind':
+if $ARGS[0] = 'tell_about_generic_boyfriend':
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 	'"I have a boyfriend you know," you tell her.'

+ 5 - 5
locations/anushkachat_city.qsrc

@@ -350,7 +350,7 @@ if $ARGS[0] = 'chat':
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
-		if artemQW['bf'] = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or (pcs_lover - pcs_girlfriends) > 0:
+		if artemQW['bf'] = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or stat['boyfriends_current'] > 0:
 			act 'I have a boyfriend': gt 'anushkachat_city', 'boyfriend_chat'
 		end
 	end
@@ -769,10 +769,10 @@ if $ARGS[0] = 'boyfriend_chat':
 	end
 	i = 0
 	:lover_looop
-	if i < arrsize('lover'):
+	if i < arrsize('$lover'):
 		$temp_npcid = $lover[i]
-		if npc_gender[$temp_npcid] ! 1:
-			dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''anushkachat_city'', ''tell_about_generic_boyfreind'', $npc_usedname["<<$temp_npcid>>"]'
+		if $npc_rel_type[$temp_npcid] = 'boyfriend':
+			dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''anushkachat_city'', ''tell_about_generic_boyfriend'', $npc_usedname["<<$temp_npcid>>"]'
 		end
 		killvar '$temp_npcid'
 		i += 1
@@ -781,7 +781,7 @@ if $ARGS[0] = 'boyfriend_chat':
 	killvar 'i'
 end
 
-if $ARGS[0] = 'tell_about_generic_boyfreind':
+if $ARGS[0] = 'tell_about_generic_boyfriend':
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 	'"I have a boyfriend you know," you tell her.'

+ 9 - 4
locations/bank.qsrc

@@ -537,15 +537,20 @@ if $ARGS[0] = 'cikl':
 			'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job at the garment factory.</font></b>'
 		end
 
-		if husband > 0 and paydayHusb = 0:
+		if $husID ! '' and paydayHusb = 0:
 			paydayHusb = 1
 
-			if husbFin = 0:huspay = 20000
-			if husbFin = 1:huspay = 30000
-			if husbFin = 2:huspay = 40000
+			if npc_finance[$husID] = 0:
+				huspay = 20000
+			elseif npc_finance[$husID] = 1:
+				huspay = 30000
+			else
+				huspay = 40000
+			end
 
 			karta += huspay
 			'<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
+			killvar 'huspay'
 		end
 
 		if func('uniutil', 'scholarship' , 'is_active') and scholarshipday = 0:

+ 61 - 57
locations/bed_events.qsrc

@@ -24,7 +24,7 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 		if (hour > 22 or hour < 3) and rand(0, 50) = 0 and houserab = 1 and houserabday ! daystart and pcs_sleep < 50 and $loc = 'nichBedroomServant':
 			$sleep_events[] = 'gs ''bed_events'', ''rab'' '
 		end
-		if (hour > 22 or hour < 3) and rand(0, 200) = 0 and strpos('bedr,bedr2x,korr,korr2x',$loc) > 0 and husband = 0:
+		if (hour > 22 or hour < 3) and rand(0, 200) = 0 and strpos('bedr,bedr2x,korr,korr2x', $loc) > 0 and $husID = '':
 			$sleep_events[] = 'gs ''bed_events'', ''vor'' '
 		end
 
@@ -360,7 +360,7 @@ if $ARGS[0] = 'mast':
 	pcs_mood += 15
 	pcs_vag += 1
 
-	if husband = 0 or strpos('bedr,bedr2x,korr,korr2x',$loc) <= 0 or husbandrink = 10:
+	if $husID = '' or strpos('bedr,bedr2x,korr,korr2x', $loc) <= 0 or spouseVars['drink'] = 10:
 		gs 'bed_events', 'exit'
 		gt 'selfplay', 'start'
 	else
@@ -387,18 +387,23 @@ if $ARGS[0] = 'mast':
 			else
 				'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m21.jpg"></center>'
 				'You bend over and start fucking your pussy with your dildo.'
+				gs 'boyStat', $husID
 				gs 'arousal', 'vaginal_dildo', 15
 				gs 'stat'
 
-				if hour > 22 or hour < 7:'<<$husName>> looks at you, a little dumbfounded.'
-				if hour >= 7 and hour <= 22:'Once you get into it, <<$husName>> enters the room.'
-				if harakHusb = 0:
+				if hour > 22 or hour < 7:
+					'<<$boydesc>> looks at you, a little dumbfounded.'
+				else
+					'Once you get into it, <<$boydesc>> enters the room.'
+				end
+				if npc_gentle[$boy] = 1:
 					'"What are you doing?" he asks.'
 					'"I''m sorry dear, but I really need it, and you''ve been busy," you reply without stopping.'
 					'"How often do you do this?" he asks.'
 					'"Quite often, sometimes in my ass. you want to see?" you ask.'
-					if izvratH = 0:
-						husband -= 1
+
+					if npc_pervert[$boy] = 0:
+						npc_rel[$boy] -= 1
 						'"I''ll wait outside the door until you''re done," he says and leaves. You continue to satisfy yourself rapidly, and soon finish.'
 						$orgasm_or = 'yes'
 						gs 'arousal', 'clit_finger', 5, 'masturbate'
@@ -407,14 +412,14 @@ if $ARGS[0] = 'mast':
 
 						act 'Finish': gs 'bed_events', 'event_end'
 
-					elseif izvratH = 1:
+					else
 						'"Oh. I don''t know..." he stammers.'
 						'"Come on," you encourage him.'
 
 						act 'Show him':
 							*clr & cla
 							'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m22.jpg"></center>'
-							'You pull the dildo out of your pussy and, winking at your husband, insert it into your ass. <<$husName>> watches closely as the dildo disappears into your ass.'
+							'You pull the dildo out of your pussy and, winking at your husband, insert it into your ass. <<$boydesc>> watches closely as the dildo disappears into your ass.'
 							'You see how his pants swell. "Anything else you want, dear?" you ask while smiling.'
 							'"Can I join?" he asks, a little embarrassed.'
 							gs 'arousal', 'anal_dildo', 5, 'masturbate'
@@ -423,9 +428,9 @@ if $ARGS[0] = 'mast':
 							act 'Invite':
 								*clr & cla
 								'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m23.jpg"></center>'
-								'<<$husName>> gets his dick out and starts masturbating. It''s not what you expected and you feel a little sad that he isn''t fucking you as you start to masturbate.'
+								'<<$boydesc>> gets his dick out and starts masturbating. It''s not what you expected and you feel a little sad that he isn''t fucking you as you start to masturbate.'
 								'You watch your husband masturbate as he watches you, his face covered in pleasure, before you scream and fall on the table, having experienced an orgasm.'
-								'<<$husName>> is still masturbating, looking at you stretched out on the table before you take the dildo out of your ass and start lick it while looking into his eyes.'
+								'<<$boydesc>> is still masturbating, looking at you stretched out on the table before you take the dildo out of your ass and start lick it while looking into his eyes.'
 								'The spectacle has him immediately cum all over the floor before you walk over to him and kiss him on the lips. He passionately kisses you back.'
 								gs 'arousal', 'anal_dildo', 5, 'masturbate'
 								$orgasm_or = 'custom'
@@ -437,34 +442,34 @@ if $ARGS[0] = 'mast':
 						end
 					end
 
-				elseif harakHusb = 1:
+				elseif npc_rough[$boy] = 0:
 					'"Are you trying to tell me that I''m not enough to satisfy you?" He asks.'
 					'"I''m sorry dear, but I really need this, and you''ve been busy," you reply without stopping.'
 					'"Well then, show me everything now that you know I''ll watch," he says.'
 					'"Want to see me do it in the ass too?" you offer.'
 
-					if izvratH = 0:
-						husband += 1
-						husbizvradd += 1
+					if npc_pervert[$boy] = 0:
+						npc_rel[$boy] += 1
+						spouseVars['pervert_add'] += 1
 						'"No, I think this is enough," he says as he sits on a chair and starts watching you. You continue to satisfy yourself rapidly and soon finish in front of him.'
 						$orgasm_or = 'yes'
 						gs 'arousal', 'clit_finger', 5, 'masturbate'
 						gs 'arousal', 'end'
 						gs 'stat'
-						'<<$husName>> stands up and playfully claps. "Bravo! Encore?" he laughs.'
-						'"Anything for such a lovely audience, but first an intermission," you laugh and <<$husName>> helps you down from the table.'
+						'<<$boydesc>> stands up and playfully claps. "Bravo! Encore?" he laughs.'
+						'"Anything for such a lovely audience, but first an intermission," you laugh and <<$boydesc>> helps you down from the table.'
 
 						act 'Finish': gs 'bed_events', 'event_end'
 
-					elseif izvratH = 1:
-						husband += 1
+					else
+						npc_rel[$boy] += 1
 						'"Well then, I think you better show me," he says.'
 						'"As you wish," you reply.'
 
 						act 'Show':
 							*clr & cla
 							'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m22.jpg"></center>'
-							'You pull the dildo out of your pussy and, winking at your husband, insert it into your ass. <<$husName>> watches closely as you slide the dildo in and out of your ass.'
+							'You pull the dildo out of your pussy and, winking at your husband, insert it into your ass. <<$boydesc>> watches closely as you slide the dildo in and out of your ass.'
 							'You see how his pants swell. "Anything else you want, dear?" you ask while smiling.'
 							'"I don''t just want something, I''ll do something!" he replies, unbuttoning his pants and brings his cock to your mouth.'
 							gs 'arousal', 'anal_dildo', 5
@@ -474,7 +479,7 @@ if $ARGS[0] = 'mast':
 								*clr & cla
 								'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m24.jpg"></center>'
 								'You take his flaccid penis in your mouth and start sucking while continuing to drive the dildo into your ass.'
-								'When his cock has finally hardened, <<$husName>> stops you. "Now I''ll take this hole."'
+								'When his cock has finally hardened, <<$boydesc>> stops you. "Now I''ll take this hole."'
 								gs 'arousal', 'clit_finger', 5
 								gs 'arousal', 'bj', -5
 								gs 'stat'
@@ -486,49 +491,48 @@ if $ARGS[0] = 'mast':
 								end
 							end
 						end
+					end
+				else
+					'"Itchy hole?" he asks.'
+					'"I''m sorry dear, but I really need it, and you''ve been busy," you reply without stopping.'
+
+					if npc_pervert[$boy] = 0:
+						npc_rel[$boy] += 1
+						spouseVars['pervert_add'] += 1
+						'"You should have said something. Now open your mouth," he says while pulling out his cock and forcefully pushing it into your mouth.'
+						'He holds you by the hair and fucks your mouth, telling you not to stop masturbating before he tires of your mouth. "Enough of this rubber shit! I''m going to fuck you."'
+						gs 'arousal', 'vaginal_dildo', 10
+						gs 'arousal', 'bj', -10
+						gs 'stat'
+
+						act 'Spread your legs ':
+							picrand = 89
+							gs 'bed_events', 'exit'
+							gt 'sex', 'vag'
+						end
 
 					else
-						'"Itchy hole?" he asks.'
-						'"I''m sorry dear, but I really need it, and you''ve been busy," you reply without stopping.'
-
-						if izvratH = 0:
-							husband += 1
-							husbizvradd += 1
-							'"You should have said something. Now open your mouth," he says while pulling out his cock and forcefully pushing it into your mouth.'
-							'He holds you by the hair and fucks your mouth, telling you not to stop masturbating before he tires of your mouth. "Enough of this rubber shit! I''m going to fuck you."'
-							gs 'arousal', 'vaginal_dildo', 10
+						npc_rel[$boy] += 1
+						'"You''re going to insert this stupid toy into your pussy, ass and mouth. You''ll pulverize them for as long as I like," he says while sitting down to watch.'
+						'You quickly and submissively do as you''re told.'
+						gs 'arousal', 'vaginal_dildo', 5
+						gs 'arousal', 'anal_dildo', -5
+						gs 'stat'
+
+						act 'Offer your mouth':
+							*clr & cla
+							'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m24.jpg"></center>'
+							'Still using the dildo on your pussy and ass, you offer <<$boydesc>> your mouth. He gets up and walks over to you.'
+							'You take his flaccid penis and start sucking until his cock is finally hard and he stops you. "Now I''ll fuck your ass."'
+							gs 'arousal', 'vaginal_dildo', 5
+							gs 'arousal', 'anal_dildo', 5
 							gs 'arousal', 'bj', -10
 							gs 'stat'
 
-							act 'Spread your legs ':
+							act 'Offer your ass':
 								picrand = 89
 								gs 'bed_events', 'exit'
-								gt 'sex', 'vag'
-							end
-
-						else
-							husband += 1
-							'"You''re going to insert this stupid toy into your pussy, ass and mouth. You''ll pulverize them for as long as I like," he says while sitting down to watch.'
-							'You quickly and submissively do as you''re told.'
-							gs 'arousal', 'vaginal_dildo', 5
-							gs 'arousal', 'anal_dildo', -5
-							gs 'stat'
-
-							act 'Offer your mouth':
-								*clr & cla
-								'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m24.jpg"></center>'
-								'Still using the dildo on your pussy and ass, you offer <<$husName>> your mouth. He gets up and walks over to you.'
-								'You take his flaccid penis and start sucking until his cock is finally hard and he stops you. "Now I''ll fuck your ass."'
-								gs 'arousal', 'vaginal_dildo', 5
-								gs 'arousal', 'anal_dildo', 5
-								gs 'arousal', 'bj', -10
-								gs 'stat'
-
-								act 'Offer your ass':
-									picrand = 89
-									gs 'bed_events', 'exit'
-									gt 'sex', 'anal'
-								end
+								gt 'sex', 'anal'
 							end
 						end
 					end

+ 1 - 142
locations/bedr.qsrc

@@ -35,148 +35,7 @@ if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your b
 *nl
 act 'Go to the corridor': gt 'korr'
 
-if husbandrinkday = daystart:
-	if husbanstrapon = 1:'Your drunken husband sleeps on the bed with a butt plug up his ass.'
-	if husbanstrapon = 2:'Your drunken husband sleeps on the bed after you put a dildo up his ass.'
-	if husbanstrapon = 3:'Your drunken husband sleeps on the bed after you fucked him with a strap-on.'
-	gs 'music_actions', 'no_music'
-end
-if husband > 0 and husbandrink ! 10 and husbandrinkday ! daystart:
-	if hour > 22 or hour < 7:'Your <a href="exec:gt ''husb'', ''start''">husband</a> is sleeping on the bed.'
-	gs 'music_actions', 'no_music'
-end
-
-if husbandrink = 11 and husbanstrapon > 0 and husbandrinkday ! daystart:
-	cla
-	'Your husband approaches you. "Honey, my ass hurts. Like a lot. Do you know why?"'
-
-	act 'Lie':
-		cla
-		menu_off = 1
-		husbanstrapon = 0
-		'"No dear, I don''t know anything about that," you answer, trying to look as innocent as possible before he shrugs and walks away.'
-
-		act 'Finish': gt 'bedr'
-	end
-
-	act 'Confess':
-		cla
-		menu_off = 1
-
-		if husbanstrapon = 1:'"Honey, you were so drunk last night that I decided to teach you a lesson and put a butt plug up your ass."'
-		if husbanstrapon = 2:'"I wanted to make you happy, so I started to give you a blowjob, but you didn''t cum, so I inserted a finger into your asshole. When you still didn''t cum, I took a small dildo and some lube and put in it your ass; I''ve never seen you cum like that before. I even gave you a second blowjob. Forgive me, but you seemed to enjoy it so much that I could''t stop. I just wanted to make you happy," you lie to him.'
-		if husbanstrapon = 3:'"I wanted to make you happy, so I started to give you a blowjob, but you didn''t cum, so I inserted a finger into your asshole. When you still didn''t cum, I put in a second finger you began to move your ass towards my fingers, moaning heavily. I thought that you liked it, so I put on a strap-on. You enjoyed it so much that you finished over and over again, and I continued until I was tired. I then licked all the cum off your body and went to sleep. I just wanted to make you happy and you were enjoying it," you lie to him.'
-
-		if harakHusb = 2:
-			husbizvradd = 0
-			husbharmin = 0
-			husbandMark = 0
-			husband = 0
-			divorced += 1
-			fingal += 1
-			minut += 120
-			'The next thing you feel is a powerful slap to the face. When you come back to your senses, your husband and his things are gone. He left a note telling you he''s going to file for divorce.'
-		elseif harakHusb = 1:
-			if husbanstrapon = 1:
-				'"Don''t do that again!" he snarls and storms off.'
-			elseif husbanstrapon = 2:
-				husbizvradd += 1
-				'"Don''t do that again! I''m a man and I''m not supposed to get fucked in the ass!" he snarls and storms off.'
-
-			elseif husbanstrapon = 3:
-				if pcs_intel > 40 or izvratH = 1:
-					husbharmin += 1
-					'"Are you serious?! I''m not some kind of bitch that wants to get fucked up the ass!" he yells at you. You start to cry and say that you only wanted to please him and he looks at you and sighs. "Don''t cry, sweetie. I believe you, just don''t do it again."'
-				elseif pcs_intel <= 40:
-					husbizvradd = 0
-					husbharmin = 0
-					husbandMark = 0
-					husband = 0
-					divorced += 1
-					fingal += 1
-					minut += 120
-					'The next thing you feel is a powerful slap to the face. When you come back to your senses, your husband and his things are gone. He left a note telling you he''s going to file for divorce.'
-				end
-			end
-		elseif harakHusb = 0:
-			if husbanstrapon = 1:
-				'"I''m sorry. I won''t get that drunk again," he says and leaves the room.'
-			elseif husbanstrapon = 2:
-				husbizvradd += 1
-				'"You''re so thoughtful. Instead of scolding me, you still wanted to make me happy. Thank you, dear," he says and leaves the room.'
-			elseif husbanstrapon = 3:
-				husbizvradd += 1
-				'"Did I really like it?" he asks and you nod.'
-				'"Well then, thank you dear. Ask me next time though," he says and leaves the room.'
-			end
-		end
-
-		act 'Finish':husbanstrapon = 0 & gt 'bedr'
-	end
-end
-
-if husbandrink = 10 and hour > 20 and hour < 23 and husbanstrapon = 0:
-	'<<$husName>> came home drunk and fell asleep on the bed.'
-	'<i>That pig</i>! you think when an idea springs to mind. <i>Maybe I should teach him a lesson so he won''t get drunk again</i>.'
-
-	if mc_inventory['buttplug'] = 1:
-		act 'Insert a butt plug in his ass':
-			*clr & cla
-			menu_off = 1
-			husbandrinkday = daystart
-			husbandrink = 11
-			husbanstrapon = 1
-			minut += 10
-			'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h0.jpg"></center>'
-			if analplugin = 0: 'You take an anal plug and put it into his ass.'
-			if analplugin = 1: analplugIN = 0 & analplugout = 0 & 'You pull the plug out of you and shove it up his ass.'
-
-			'<<$husName>> moves, but he doesn''t wake up.'
-
-			if mc_inventory['dildo_small'] > 0:
-				act 'Insert a dildo into his ass':
-					*clr & cla
-					menu_off = 1
-					husbanstrapon = 2
-					gs 'boyStat', $HusID
-					gs 'cum_call', 'mouth_swallow', $boy, 1
-					'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h1.jpg"></center>'
-					'You pull out the plug and replace it with a dildo. <<$husName>> doesn''t even budge as you slowly move the dildo in and out, trying not to wake him up. You notice his cock starts to get rock-hard, and he starts to moan softly in his sleep. His dick starts to throb like he''s going to cum. You take his dick in your mouth and don''t need to suck on it for long. You swallow his cum before carefully putting his underpants back on.'
-					gs 'arousal', 'bj', 20
-					gs 'arousal', 'anal_dildo_give', 20
-					minut -= 20
-					gs 'arousal', 'end'
-					gs 'stat'
-
-					act 'Finish':gt 'bedr'
-				end
-			end
-
-			if mc_inventory['strapon'] > 0:
-				act 'Use the strap-on':
-					*clr & cla
-					menu_off = 1
-					minut += 20
-					husbanstrapon = 3
-					gs 'boyStat', $HusID
-					gs 'cum_call', 'mouth_swallow', $boy, 1
-					pcs_horny += 30
-					'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h2.jpg"></center>'
-					'You put on the strapon and pull out the butt plug. You gently move the shaft of the strap-on inside his ass and <<$husName>> moves, but doesn''t wake up. You continue to slowly move it in and out, trying not to wake him. You notice his cock is getting rock-hard and he starts to moan softly in his sleep. Hoping that he won''t wake up, you increase your speed and push the entire length of the strap-on into his ass as you start to stroke his dick. Realizing he''s not far from cumming, you pull out and finish him by giving him a blowjob. He cums in your mouth and you swallow before carefully putting his underpants back on.'
-					gs 'arousal', 'bj', 20
-					gs 'arousal', 'anal_strap_give', 20
-					minut -= 20
-					gs 'arousal', 'end'
-					gs 'stat'
-
-					act 'Finish':gt 'bedr'
-				end
-			end
-
-			act 'Finish':gt 'bedr'
-		end
-	end
-end
+gs 'lover_living', 'bedr'
 
 if sick >= 1:
 	act 'Go to sleep (Sick)':

+ 2 - 143
locations/bedr2x.qsrc

@@ -2,13 +2,8 @@
 
 CLOSE ALL
 *clr & cla
-$loc = 'bedr2x'
-$loc_arg = ''
-$locM = 'bedr2x'
-$locM_arg = ''
-$menu_loc = 'bedr2x'
-$menu_arg = ''
 menu_off = 0
+gs 'shortgs', 'setloc', 'bedr2x', ''
 $locclass = 'bedr'
 $location_type = 'private'
 minut += 1
@@ -34,143 +29,7 @@ if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your b
 act 'Go to the corridor': gt 'korr2x'
 gs 'wardrobe', 'default_clothing_options'
 
-if husbandrinkday = daystart:
-	if husbanstrapon = 1:'Your husband is still passed out drunk after you used an anal plug on him.'
-	if husbanstrapon = 2:'Your husband is still passed out drunk after you stuck a dildo in his ass.'
-	if husbanstrapon = 3:'Your husband is still passed out drunk after you fucked him in the ass with a strap-on.'
-	gs 'music_actions', 'no_music'
-end
-if husband > 0 and husbandrink ! 10 and husbandrinkday ! daystart:
-	if hour > 22 or hour < 7:
-		'Your <a href="exec: gt''husb'',''start'' ">husband</a> is sleeping on the bed.'
-		gs 'music_actions', 'no_music'
-	end
-end
-if husbandrink = 11 and husbanstrapon > 0 and husbandrinkday ! daystart:
-	cla
-	'Your husband approaches you. "Honey, my ass hurts. Did something happen yesterday?"'
-	act 'Lie':
-		cla
-		menu_off = 1
-		husbanstrapon = 0
-		'"Not that I know of, though you were in the bathroom a lot," you say with an innocent look on your face before he shrugs his shoulders and walks away.'
-		act 'Finish': gt 'bedr2x'
-	end
-	act 'Confess':
-		cla
-		menu_off = 1
-		if husbanstrapon = 1:'"You got so drunk yesterday that I decided to teach you a lesson and put a plug in your ass."'
-		if husbanstrapon = 2:'"I wanted to give you a pleasant surprise and started to give you a blowjob, but you wouldn''t cum no matter how much I tried, so I put a finger in your ass, but again you failed to cum. That''s when I put the dildo in your ass and you shot your load. Forgive me, but I just wanted to get you off."'
-		if husbanstrapon = 3:'"I wanted to give you a pleasant surprise and started to give you a blowjob, but you wouldn''t cum no matter how much I tried, so I put a finger in your ass, but again you failed to cum. That''s when I put in a second finger and you started moving your ass up and down, fucking my fingers as you moaned in pleasure. Since you seemed to be liking it so much and asked for more, I put on my strap-on and fucked you with it while I was jerking you off. I just wanted you to be happy, even if you don''t remember. Please forgive me!"'
-		if harakHusb = 2:
-			husbizvradd = 0
-			husbharmin = 0
-			husbandMark = 0
-			husband = 0
-			divorced += 1
-			fingal += 1
-			minut += 120
-
-			'The next thing you feel is a powerful slap to the face. When you come back to your senses, your husband and his things are gone. He left a note telling you he''s going to file for divorce.'
-		elseif harakHusb = 1:
-			if husbanstrapon = 1:
-				'"Just don''t do that anymore," is all he says before leaving the room.'
-			elseif husbanstrapon = 2:
-				husbizvradd += 1
-				'"Don''t ever do that again. I''m a man and <i>I</i> do the fucking!" he says before leaving the room.'
-			elseif husbanstrapon = 3:
-				if pcs_intel > 40 or izvratH = 1:
-					husbharmin += 1
-					'"Are you really trying to tell me that I asked you to fuck me with a strap-on, bitch?" he bellows. When you start crying and lamenting that you only wanted to please him, he looks at you and exhales. "Fine, fine, I believe you. I believe you wanted to pleasure me and make me happy, but never do that again."'
-				elseif pcs_intel <= 40:
-					husbizvradd = 0
-					husbharmin = 0
-					husbandMark = 0
-					husband = 0
-					divorced += 1
-					fingal += 1
-					minut += 120
-
-					'The next thing you feel is a powerful slap to the face. When you come back to your senses, your husband and his things are gone. He left a note telling you he''s going to file for divorce.'
-				end
-			end
-		elseif harakHusb = 0:
-			if husbanstrapon = 1:
-				'"I''m sorry. I won''t get that drunk again," he says before leaving the room.'
-			elseif husbanstrapon = 2:
-				husbizvradd += 1
-				'"You''re such a caring woman. Instead of scolding me for being drunk, you suck me off. Thank you, dear," he says before leaving the room.'
-			elseif husbanstrapon = 3:
-				husbizvradd += 1
-				'"I really liked it?" he asks and you nod. "Well then, thank you dear, but ask for my consent next time," he says before leaving the room.'
-			end
-		end
-
-		act 'Finish':husbanstrapon = 0 & gt 'bedr2x'
-	end
-end
-
-if husbandrink = 10 and hour > 20 and hour < 23 and husbanstrapon = 0:
-	'<<$husName>> came home very drunk and collapsed on the bed. He fell asleep in his clothes.'
-	'<i>That pig</i>! you think when an idea springs to mind. <i>Maybe I should teach him a lesson so he won''t get drunk again</i>.'
-
-	if mc_inventory['buttplug'] = 1:
-		act 'Insert an anal plug':
-			*clr & cla
-			menu_off = 1
-			husbandrinkday = daystart
-			husbandrink = 11
-			husbanstrapon = 1
-			minut += 10
-			'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h0.jpg"></center>'
-			if analplugin = 0: 'You take an anal plug and put it into his ass.'
-			if analplugin = 1: analplugIN = 0 & analplugout = 0 & 'You get your butt plug out and pull down his pants. You put just a dab of lube on the tip of the plug, then gently insert it into his ass.'
-			'<<$husName>> moves, but he doesn''t wake up.'
-
-			if mc_inventory['dildo_small'] > 0:
-				act 'Insert dildo':
-					*clr & cla
-					menu_off = 1
-					husbanstrapon = 2
-					gs 'boyStat', $HusID
-					gs 'cum_call', 'mouth_swallow', $boy
-					'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h1.jpg"></center>'
-					'You pull out the plug and stick the dildo up his ass instead, <<$husName>> did not move. You began to slowly move the dildo trying not to wake him. After a bit, his dick begins to get hard in front of your face, and <<$husName>> moaned softly, but didn''t wake up. You start to really work the dildo in his ass, stroking it deep in his ass, before too long his cock started to throb. You wrap your lips around his cock, you barely even started to suck his dick when suddenly your mouth is filled with a jet of sperm, you swallow it all and carefully cleaned his penis, then you pulled his pants back up.'
-					gs 'arousal', 'bj', 20
-					gs 'arousal', 'anal_dildo_give', 20
-					minut -= 20
-					gs 'arousal', 'end'
-					gs 'stat'
-
-					act 'Finish': gt 'bedr2x'
-				end
-			end
-
-			if mc_inventory['strapon'] > 0:
-				act 'Wear strap-on':
-					*clr & cla
-					menu_off = 1
-					minut += 20
-					husbanstrapon = 3
-					gs 'boyStat', $HusID
-					gs 'cum_call', 'mouth_swallow', $boy, 1
-					pcs_horny += 30
-					'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h2.jpg"></center>'
-					'You put on the strapon and pull out the butt plug. You gently move the shaft of the strap-on inside his ass and <<$husName>> moves, but doesn''t wake up. You continue to slowly move it in and out, trying not to wake him. You notice his cock is getting rock-hard and he starts to moan softly in his sleep. Hoping that he won''t wake up, you increase your speed and push the entire length of the strap-on into his ass as you start to stroke his dick. Realizing he''s not far from cumming, you pull out and finish him by giving him a blowjob. He cums in your mouth and you swallow before carefully putting his underpants back on.'
-					gs 'arousal', 'bj', 20
-					gs 'arousal', 'anal_strap_give', 20
-					minut -= 20
-					gs 'arousal', 'end'
-					gs 'stat'
-
-					act 'Finish': gt 'bedr2x'
-				end
-			end
-
-			act 'Finish': gt 'bedr2x'
-		end
-	end
-end
+gs 'lover_living', 'bedr'
 
 if sick >= 1:
 	act 'Go to bed rest (Sick)':

+ 4 - 4
locations/billsvid.qsrc

@@ -47,11 +47,11 @@ if $ARGS[0] = '':
 			else
 				gt 'billsvid', '3'
 			end
-		elseif $telsob = $loverdesc[lover_number]:
+		elseif $telsob = $npcdesc:
 			!! date with girlfriend
-			loverrelation[lover_number] += 1
+			npc_rel[$npcID] += rand(0, 1)
 
-			if loverrelation[lover_number] >= 20:
+			if npc_rel[$npcID] >= 60:
 				bilrand = rand(0, 10)
 				if bilrand > 0 and bilrand < 3:gt 'billsvid', '1'
 				if bilrand > 2 and bilrand < 5:gt 'billsvid', '2'
@@ -283,7 +283,7 @@ if $ARGS[0] = '3':
 	gs 'arousal', 'end'
 	gs 'stat'
 
-	if $telsob = $loverdesc[lover_number]:
+	if $telsob = $boydesc:
 		'When you have finished playing, <<$telsob>> looks at you and waits for your next move.'
 		act 'Say goodbye': gt 'city_mall'
 		act 'Invite her to your home': gt 'lezbsex', 'startloverhome'

+ 77 - 101
locations/booty_call.qsrc

@@ -12,43 +12,37 @@ end
 
 if $ARGS[0] = 'booty_call_scheduler':
 	temp_bc_i = 0
-	:bc_fb_sched_loop
-	if temp_bc_i < arrsize('$fuckbuddy'):
-		$temp_bc_id = $FuckBuddy[temp_bc_i]
-		gs 'telefon', 'ClearSMSSchedule', $temp_bc_id
-		gs 'booty_call', 'bc_npc_stat_update', $temp_bc_id
-!!		if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_rel[$temp_bc_id] > 0 and npc_no_booty_call[$temp_bc_id] ! daystart and npc_big_fight[$temp_bc_id] < daystart - 7:
+	:bc_sched_loop
+	if temp_bc_i < arrsize('$lover'):
+		$temp_bc_id = $lover[temp_bc_i]
+		if $npc_rel_type[$temp_bc_id] = 'fuckbuddy':
+			gs 'telefon', 'ClearSMSSchedule', $temp_bc_id
+			gs 'booty_call', 'bc_npc_stat_update', $temp_bc_id
+!!			if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_rel[$temp_bc_id] > 0 and npc_no_booty_call[$temp_bc_id] ! daystart and npc_big_fight[$temp_bc_id] < daystart - 7:
 
-!!		temporary removal of npc_rel requirement until boy initiated breakups can occur
+!!			temporary removal of npc_rel requirement until boy initiated breakups can occur
 
-!!		if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_no_booty_call[$temp_bc_id] ! daystart and (npc_big_fight[$temp_bc_id] < daystart - 7 and daystart > 7):
+!!			if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_no_booty_call[$temp_bc_id] ! daystart and (npc_big_fight[$temp_bc_id] < daystart - 7 and daystart > 7):
 
-		if daystart > npc_no_booty_call[$temp_bc_id] and (npc_booty_call_date[$temp_bc_id] = daystart or rand(1, 10) <= npc_sexdrive[$temp_bc_id] or rand(1, 100) <= npc_rel[$temp_bc_id]):
-			gs 'booty_call', 'schedule_sms', $temp_bc_id
-		end
-		temp_bc_i += 1
-		jump 'bc_fb_sched_loop'
-	end
-
-
-	temp_bc_i = 0
-	:bc_sd_sched_loop
-	if temp_bc_i < arrsize('$sugar_daddy'):
-		$temp_bc_id = $sugar_daddy[temp_bc_i]
-		gs 'telefon', 'ClearSMSSchedule', $temp_bc_id
-		gs 'booty_call', 'bc_npc_stat_update', $temp_bc_id
-!!		if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_rel[$temp_bc_id] > 0 and npc_no_booty_call[$temp_bc_id] ! daystart and npc_big_fight[$temp_bc_id] < daystart - 7:
+			if daystart > npc_no_booty_call[$temp_bc_id] and (npc_booty_call_date[$temp_bc_id] = daystart or rand(1, 10) <= npc_sexdrive[$temp_bc_id] or rand(1, 100) <= npc_rel[$temp_bc_id]):
+				gs 'booty_call', 'schedule_sms', $temp_bc_id
+			end
+		elseif $npc_rel_type[$temp_bc_id] = 'sugar_daddy':
+			gs 'telefon', 'ClearSMSSchedule', $temp_bc_id
+			gs 'booty_call', 'bc_npc_stat_update', $temp_bc_id
+!!			if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_rel[$temp_bc_id] > 0 and npc_no_booty_call[$temp_bc_id] ! daystart and npc_big_fight[$temp_bc_id] < daystart - 7:
 
-!!		temporary removal of npc_rel requirement until boy initiated breakups can occur
+!!			temporary removal of npc_rel requirement until boy initiated breakups can occur
 
-!!		if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_no_booty_call[$temp_bc_id] ! daystart and (npc_big_fight[$temp_bc_id] < daystart - 7 and daystart > 7):
+!!			if (rand(1, 10) <= npc_sexdrive[$temp_bc_id] or npc_booty_call[$temp_bc_id] = daystart) and npc_no_booty_call[$temp_bc_id] ! daystart and (npc_big_fight[$temp_bc_id] < daystart - 7 and daystart > 7):
 
-		if daystart > npc_no_booty_call[$temp_bc_id] and (daystart + npc_rel[$temp_bc_id] / 10 >= npc_sugar_daddy_timer[$temp_bc_id]) and (npc_booty_call_date[$temp_bc_id] = daystart or rand(1, 10) <= npc_sexdrive[$temp_bc_id] or rand(1, 100) <= npc_rel[$temp_bc_id]):
-			sugar_daddy_call[$sugar_daddy[temp_bc_i]] = 1
-			gs 'booty_call', 'schedule_sms', $temp_bc_id
+			if daystart > npc_no_booty_call[$temp_bc_id] and (daystart + npc_rel[$temp_bc_id] / 10 >= npc_sugar_daddy_timer[$temp_bc_id]) and (npc_booty_call_date[$temp_bc_id] = daystart or rand(1, 10) <= npc_sexdrive[$temp_bc_id] or rand(1, 100) <= npc_rel[$temp_bc_id]):
+				sugar_daddy_call[$temp_bc_id] = 1
+				gs 'booty_call', 'schedule_sms', $temp_bc_id
+			end
 		end
 		temp_bc_i += 1
-		jump 'bc_sd_sched_loop'
+		jump 'bc_sched_loop'
 	end
 
 	killvar 'temp_bc_i'
@@ -72,17 +66,17 @@ if $ARGS[0] = 'schedule_sms':
 end
 
 
-!!	if npc_start_free_time[$FuckBuddy[i]] = 0 or npc_day_off[$FuckBuddy[i]] = 0 or npc_end_free_time[$FuckBuddy[i]] = 0:
-!!		$boy = $FuckBuddy[i]
+!!	if npc_start_free_time[$lover[i]] = 0 or npc_day_off[$lover[i]] = 0 or npc_end_free_time[$lover[i]] = 0:
+!!		$boy = $lover[i]
 
 !!	end
 
-!!		if ((rand(1, 10) <= npc_sexdrive[$FuckBuddy[i]] or npc_booty_call[$FuckBuddy[i]] = daystart) and (rand(1, npc_rel[$FuckBuddy[i]]) > 0)) and npc_no_booty_call[$FuckBuddy[i]] ! daystart and npc_big_fight[$FuckBuddy[i]] < daystart - 7:
+!!		if ((rand(1, 10) <= npc_sexdrive[$lover[i]] or npc_booty_call[$lover[i]] = daystart) and (rand(1, npc_rel[$lover[i]]) > 0)) and npc_no_booty_call[$lover[i]] ! daystart and npc_big_fight[$lover[i]] < daystart - 7:
 
 !!			elseif week < 6:
-!!				booty_call_time[$FuckBuddy[i]] = 900 + rand(0, 210)
+!!				booty_call_time[$lover[i]] = 900 + rand(0, 210)
 !!			else
-!!				booty_call_time[$FuckBuddy[i]] = 600 + rand(0, 720)
+!!				booty_call_time[$lover[i]] = 600 + rand(0, 720)
 
 
 !! ------------ NPC Stat Updater ------------------------
@@ -162,27 +156,23 @@ end
 
 if $ARGS[0] = 'home_links':
 	temp_bc_i = 0
-	:loopFB_homes
-	if temp_bc_i < arrsize('$Fuckbuddy'):
-		gs 'booty_call', 'generate_home_link', $Fuckbuddy[temp_bc_i]
-		temp_bc_i += 1
-		jump 'loopFB_homes'
-	end
-
-	temp_bc_i = 0
-	:loopSD_homes
-	if temp_bc_i < arrsize('$sugar_daddy'):
-		gs 'booty_call', 'generate_home_link', $sugar_daddy[temp_bc_i]
+	:loop_homes
+	if temp_bc_i < arrsize('$lover'):
+		$temp_bc_id = $lover[temp_bc_i]
+		if $npc_rel_type[$temp_bc_id] = 'fuckbuddy' or $npc_rel_type[$temp_bc_id] = 'sugar_daddy':
+			gs 'booty_call', 'generate_home_link', $temp_bc_id
+		end
 		temp_bc_i += 1
-		jump 'loopSD_homes'
+		jump 'loop_homes'
 	end
-
 	killvar 'temp_bc_i'
+	killvar '$temp_bc_id'
 end
 
+
 ! $ARGS[1] = $npc_id
 if $ARGS[0] = 'generate_home_link':
-	if (npc_residence[$ARGS[1]] = 1 and $loc = 'pav_residential') or (npc_residence[$ARGS[1]] = 3 and $loc = 'city_residential') or (npc_residence[$ARGS[1]] = 4 and $loc = 'city_center'):
+	if $npc_residence[$ARGS[1]] = $loc and $npc_residence[$ARGS[1]] ! 'uni_grounds':
 		*nl
 		dynamic(' ''<a href="exec: minut += 2 & gt ''''sex_ev_start'''',''''initiate_pre'''',''''<<$ARGS[1]>>'''' "><<$npc_firstname[$ARGS[1]]>>''''s</a> apartment is nearby.'' ')
 		!! ''''
@@ -194,22 +184,17 @@ end
 
 if $ARGS[0] = 'hotel_links':
 	temp_bc_i = 0
-	:loopFB_hotel
-	if temp_bc_i < arrsize('$Fuckbuddy'):
-		gs 'booty_call', 'generate_hotel_link', $Fuckbuddy[temp_bc_i]
-		temp_bc_i += 1
-		jump 'loopFB_hotel'
-	end
-
-	temp_bc_i = 0
-	:loopSD_hotel
-	if temp_bc_i < arrsize('$sugar_daddy'):
-		gs 'booty_call', 'generate_hotel_link', $sugar_daddy[temp_bc_i]
+	:loop_hotel
+	if temp_bc_i < arrsize('$lover'):
+		$temp_bc_id = $lover[temp_bc_i]
+		if $npc_rel_type[$temp_bc_id] = 'fuckbuddy' or $npc_rel_type[$temp_bc_id] = 'sugar_daddy':
+			gs 'booty_call', 'generate_hotel_link', $temp_bc_id
+		end
 		temp_bc_i += 1
-		jump 'loopSD_hotel'
+		jump 'loop_hotel'
 	end
-
 	killvar 'temp_bc_i'
+	killvar '$temp_bc_id'
 end
 
 if $ARGS[0] = 'generate_hotel_link':
@@ -350,14 +335,14 @@ if $ARGS[0] = 'text2':
 	act'I''m on my way':
 		cla & *nl
 		'<b><font color="pink">ill come right now ;)</font></b>'
-		if npc_humor[$boy] <= 1:
-			'	<b><font color="blue">my cock is waiting for you</font></b>'
-		elseif npc_humor[$boy] = 2:
+		if $npc_humor[$boy] = 'perverted':
 			'	<b><font color="blue">in the street?</font></b>'
 			'	<b><font color="blue">damn!</font></b>'
 			'	<b><font color="blue">keep it in your pants till you get here!</font></b>'
-		elseif npc_humor[$boy] = 3:
+		elseif $npc_humor[$boy] = 'intellectual':
 			'	<b><font color="blue">phrasing</font></b>'
+		else
+			'	<b><font color="blue">my cock is waiting for you</font></b>'
 		end
 		!! missing code
 		!! confirm player is coming over
@@ -375,13 +360,14 @@ if $ARGS[0] = 'text2':
 			!! IMAGE HERE
 			!! missing code
 			!! fix this code to work with this event
-			contMeetHour[Call4Date["ContactIndex"]] = input ("When do you want to go over to his place? It is now <<$mid(100+hour,2,2)>>:<<$mid(100+minut,2,2)>>. [Enter the hour only <<hour>> - 22]")
-			if contMeetHour[Call4Date["ContactIndex"]] <= hour or contMeetHour[Call4Date["ContactIndex"]] > 23:contMeetHour[Call4Date["ContactIndex"]] = 20
+			npc_meetday[$boy] = daystart
+			npc_meethour[$boy] = input ("When do you want to go over to his place? It is now <<func('time', 'get_time_string', hour, minut)>>. [Enter the hour only <<hour>> - 22]")
+			if npc_meethour[$boy] <= hour or npc_meethour[$boy] > 23: npc_meethour[$boy] = 20
 
-			'<b><font color="pink">maybe around <<contMeetHour[Call4Date["ContactIndex"]]>>:00?</font></b>'
+			'<b><font color="pink">maybe around <<npc_meethour[$boy]>>:00?</font></b>'
 
-			'"How about <<contMeetHour[Call4Date["ContactIndex"]]>>:00?."'
-			'<<$Call4Date["CallerName"]>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<contMeetHour[Call4Date["ContactIndex"]]>>:00."'
+			'"How about <<npc_meethour[$boy]>>:00?."'
+			'<<$Call4Date["CallerName"]>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<npc_meethour[$boy]>>:00."'
 
 			act 'Put away your phone': gt $loc, $loc_arg
 		end
@@ -509,48 +495,38 @@ if $ARGS[0] = 'draw':
 	! but I cannnot randomize the time because the probability is 100 % now
 	! I suppose that the routine will be modified later to take in account the lovers preferences
 	if booty_call['A0'] ! daystart :
-		temp_bc_i = rand(0, arrsize('$fuckbuddy')-1)
-		$lover_drawn = $fuckbuddy[temp_bc_i]
-		!$booty_call_daily_id[temp_bc_i] = $lover_drawn
-		gs 'booty_call_sms', 'start', $lover_drawn
+		if stat['boyfriends_current'] > 0 or stat['girlfriends_current'] > 0:
+			:find_textable_lover
+				temp_bc_i = rand(0, arrsize('$lover')-1)
+				$lover_drawn = $lover[temp_bc_i]
+				!$booty_call_daily_id[temp_bc_i] = $lover_drawn
+			if $npc_rel_type[$lover_drawn] ! 'boyfriend' and $npc_rel_type[$lover_drawn] ! 'girlfriend': jump 'find_textable_lover'
+			gs 'booty_call_sms', 'start', $lover_drawn
+		end
 		booty_call['A0'] = daystart
 	end
 	killvar 'temp_bc_i'
+	killvar '$lover_drawn'
 end
 
 
 if $ARGS[0] = 'SMS raiser':
 	temp_bc_i = 0
-	:fuckbuddy_sms_raiser_loop
-	if temp_bc_i < arrsize('$FuckBuddy'):
-		$temp_bc_id = $FuckBuddy[temp_bc_i]
-		if booty_call_time[$temp_bc_id] < ((hour * 60) + minut) and npc_no_booty_call[$temp_bc_id] ! daystart and npc_last_booty_call[$temp_bc_id] ! daystart:
-			!$booty_call_daily_id[temp_bc_i] = $temp_bc_id
-			gs 'booty_call_sms', 'start', $temp_bc_id
-			booty_call_time[$temp_bc_id] = 2399
-			!! this is a bit superfluous, but it makes the code run faster.
-			booty_call_invite[$temp_bc_id] = daystart
-		end
-		temp_bc_i += 1
-		jump 'fuckbuddy_sms_raiser_loop'
-	end
-
-
-	temp_bc_i = 0
-	:sugar_daddy_sms_raiser_loop
-	if temp_bc_i < arrsize('$sugar_daddy'):
-		$temp_bc_id = $sugar_daddy[temp_bc_i]
-		if booty_call_time[$temp_bc_id] < ((hour * 60) + minut) and npc_no_booty_call[$temp_bc_id] ! daystart and npc_last_booty_call[$temp_bc_id] ! daystart:
-			!$booty_call_daily_id[i] = $temp_bc_id
-			gs 'booty_call_sms', 'start', $temp_bc_id
-			booty_call_time[$temp_bc_id] = 2399
-			!! this is a bit superfluous, but it makes the code run faster.
-			booty_call_invite[$temp_bc_id] = daystart
+	:sms_raiser_loop
+	if temp_bc_i < arrsize('$lover'):
+		$temp_bc_id = $lover[temp_bc_i]
+		if $npc_rel_type[$temp_bc_id] = 'fuckbuddy' or $npc_rel_type[$temp_bc_id] = 'sugar_daddy':
+			if booty_call_time[$temp_bc_id] < ((hour * 60) + minut) and npc_no_booty_call[$temp_bc_id] ! daystart and npc_last_booty_call[$temp_bc_id] ! daystart:
+				!$booty_call_daily_id[temp_bc_i] = $temp_bc_id
+				gs 'booty_call_sms', 'start', $temp_bc_id
+				booty_call_time[$temp_bc_id] = 2399
+				!! this is a bit superfluous, but it makes the code run faster.
+				booty_call_invite[$temp_bc_id] = daystart
+			end
 		end
 		temp_bc_i += 1
-		jump 'sugar_daddy_sms_raiser_loop'
+		jump 'sms_raiser_loop'
 	end
-
 	killvar 'temp_bc_i'
 	killvar '$temp_bc_id'
 end

+ 34 - 29
locations/booty_call_sms.qsrc

@@ -81,7 +81,7 @@ if $ARGS[0] = 'default_booty_call':
 					!! player response 1 option 1
 				$SMSTree['a3'] = 'what were you thinking about?'
 						!! boy response 1
-					if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3:
+					if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and mid($npc_residence[$ARGS[1]], 1, 4) = 'city':
 						$SMSTree['a4'] = 'I booked a hotel room in Pav. why dont you come by?'
 					else
 						if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0, 2) = 0:
@@ -123,16 +123,16 @@ if $ARGS[0] = 'default_booty_call':
 									!! player response 2 option 2
 								$SMSTree['ab5'] = 'ill come right now ;)'
 										!! boy response 2 option 1
-									if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 0:
-										$SMSTRee['ab6'] = 'im already hard'
-									elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 0:
+									if $npc_humor[$ARGS[1]] = 'perverted' and rand(0, 1) = 0:
 										if rand(0,1) = 1:
 											$SMSTRee['ab6'] = 'in the street?? damn! keep it in your pants till you get here!'
 										else
 											$SMSTRee['ab6'] = 'as long as you make me cum later'
 										end
-									elseif npc_humor[$ARGS[1]] = 3 and rand(0, 1) = 0:
+									elseif $npc_humor[$ARGS[1]] = 'intellectual' and rand(0, 1) = 0:
 										$SMSTRee['ab6'] = 'phrasing'
+									elseif rand(0, 1) = 0:
+										$SMSTRee['ab6'] = 'im already hard'
 									else
 										$SMSTRee['ab6'] = 'cant wait'
 									end
@@ -141,7 +141,7 @@ if $ARGS[0] = 'default_booty_call':
 					!! player response 1 option 2
 				$SMSTree['b3'] = 'me too'
 						!! boy response 2
-					if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3:
+					if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and mid($npc_residence[$ARGS[1]], 1, 4) = 'city':
 						$SMSTree['b4'] = 'I booked a hotel room in Pav. why dont you come by?'
 					else
 						if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0, 2) = 0:
@@ -222,20 +222,20 @@ if $ARGS[0] = 'pre_planned_booty_call':
 				$SMSTree['bb3'] = 'ill come right now ;)'
 
 					! boy
-					if npc_humor[$ARGS[1]] <= 1:
-						$SMSTree['bb4'] = 'im already hard'
-					elseif npc_humor[$ARGS[1]] = 2:
+					if $npc_humor[$ARGS[1]] = 'perverted':
 						if rand(0,1) = 1:
 							$SMSTree['bb4'] = 'in the street?? damn! keep it in your pants till you get here!'
 						else
 							$SMSTree['bb4'] = 'as long as you make me cum later'
 						end
-					elseif npc_humor[$ARGS[1]] = 3:
+					elseif $npc_humor[$ARGS[1]] = 'intellectual':
 						if rand(0,1) = 1:
 							$SMSTree['bb4'] = 'phrasing'
 						else
 							$SMSTree['bb4'] = 'as long as you make me cum later'
 						end
+					else
+						$SMSTree['bb4'] = 'im already hard'
 					end
 end
 
@@ -280,16 +280,16 @@ if $ARGS[0] = 'std_free':
 							!! player response 2 option 2
 						$SMSTree['ab5'] = 'ill come right now ;)'
 								!! boy response 2 option 2
-							if npc_humor[$ARGS[1]] <= 1 and rand(0, 1) = 0:
-								$SMSTree['ab6'] = 'im already hard'
-							elseif npc_humor[$ARGS[1]] = 2 and rand(0, 1) = 0:
+							if $npc_humor[$ARGS[1]] = 'perverted' and rand(0, 1) = 0:
 								if rand(0, 1) = 0:
 									$SMSTree['ab6'] = 'in the street?? damn! keep it in your pants till you get here!'
 								else
 									$SMSTree['ab6'] = 'as long as you make me cum later'
 								end
-							elseif npc_humor[$ARGS[1]] = 3 and rand(0, 1) = 0:
+							elseif $npc_humor[$ARGS[1]] = 'intellectual' and rand(0, 1) = 0:
 								$SMSTree['ab6'] = 'phrasing'
+							elseif rand(0, 1) = 0:
+								$SMSTree['ab6'] = 'im already hard'
 							else
 								$SMSTree['ab6'] = 'cant wait'
 							end
@@ -339,7 +339,7 @@ if $ARGS[0] = 'sugar_daddy_booty_call':
 				$SMSTree['a3'] = 'what were you thinking about?'
 
 						!! boy response to 1st reply, choice A
-					if ($home['current'] ! 'city_apartment' and $home['current'] ! 'niko_apartment' and $home['current'] ! 'university_dorm' and $home['current'] ! 'city_house' and $home['current'] ! 'maid_bedroom') and npc_residence[$ARGS[1]] >= 3:
+					if ($home['current'] ! 'city_apartment' and $home['current'] ! 'niko_apartment' and $home['current'] ! 'university_dorm' and $home['current'] ! 'city_house' and $home['current'] ! 'maid_bedroom') and mid($npc_residence[$ARGS[1]], 1, 4) = 'city':
 						$SMSTree['a4'] = 'I booked a hotel room in Pav. why dont you come by?'
 					else
 						$SMSTree['a4'] = 'I want to see you. why dont you come by my apartment?'
@@ -356,15 +356,15 @@ if $ARGS[0] = 'sugar_daddy_booty_call':
 							!! player 2nd reply, choice B
 						$SMSTree['ab5'] = 'ill come right now ;)'
 								!! boy response to 2nd reply, choice B
-							if ($home['current'] = 'parents_home' or $home['current'] = 'meynold_household' or $home['current'] = 'shared_apartment') and npc_residence[$ARGS[1]] >= 3:
+							if ($home['current'] = 'parents_home' or $home['current'] = 'meynold_household' or $home['current'] = 'shared_apartment') and mid($npc_residence[$ARGS[1]], 1, 4) = 'city':
 								$SMSTree['ab6'] = 'room <<rand(1,3)>><<rand(10,19)>>'
 							else
-								if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 1:
-									$SMSTree['ab6'] = 'im already hard'
-								elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 1:
+								if $npc_humor[$ARGS[1]] = 'perverted' and rand(0, 1) = 1:
 									$SMSTree['ab6'] = 'as long as you make me cum later'
-								elseif npc_humor[$ARGS[1]] = 3 and rand(0,1) = 1:
+								elseif $npc_humor[$ARGS[1]] = 'intellectual' and rand(0, 1) = 1:
 									$SMSTree['ab6'] = 'phrasing'
+								elseif rand(0, 1) = 1:
+									$SMSTree['ab6'] = 'im already hard'
 								else
 									$SMSTree['ab6'] = 'cant wait'
 								end
@@ -430,7 +430,7 @@ if $ARGS[0] = 'new_booty_call':
 				!! player response 1 option 1
 			$SMSTree['a11'] = 'what were you thinking about?'
 					!! boy response 1
-				if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3:
+				if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and mid($npc_residence[$ARGS[1]], 1, 4) = 'city':
 					$SMSTree['a12'] = 'I booked a hotel room in Pav. why dont you come by?'
 				else
 					if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0, 2) = 0:
@@ -465,7 +465,7 @@ if $ARGS[0] = 'new_booty_call':
 				!! player response 1 option 2
 			$SMSTree['b11'] = 'me too'
 					!! boy response 2
-				if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3:
+				if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and mid($npc_residence[$ARGS[1]], 1, 4) = 'city':
 					$SMSTree['b12'] = 'I booked a hotel room in Pav. why dont you come by?'
 				else
 					if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0, 2) = 0:
@@ -520,9 +520,14 @@ if $ARGS[0] = 'new_booty_call':
 			end
 		end
 
-	elseif $npc_rel_type[$ARGS[1]] = 'lover':
+	elseif $npc_rel_type[$ARGS[1]] = 'boyfriend':
 		!! temp
-		$SMSTree['10'] = '$npc_rel_type = lover!!'
+		$SMSTree['10'] = '$npc_rel_type = boyfriend!!'
+			$SMSTree['11'] = 'PLACEHOLDER2'
+
+	elseif $npc_rel_type[$ARGS[1]] = 'girlfriend':
+		!! temp
+		$SMSTree['10'] = '$npc_rel_type = girlfriend!!'
 			$SMSTree['11'] = 'PLACEHOLDER2'
 
 	else
@@ -548,16 +553,16 @@ if $ARGS[0] = 'new_booty_call':
 			!! player response 2 option 2
 		$SMSTree['b20'] = 'ill come right now ;)'
 				!! boy response 2 option 1
-			if npc_humor[$ARGS[1]] <= 1 and rand(0, 1) = 0:
-				$SMSTRee['b21'] = 'im already hard'
-			elseif npc_humor[$ARGS[1]] = 2 and rand(0, 1) = 0:
+			if $npc_humor[$ARGS[1]] = 'perverted' and rand(0, 1) = 0:
 				if rand(0, 1) = 0:
 					$SMSTRee['b21'] = 'in the street?? damn! keep it in your pants till you get here!'
 				else
 					$SMSTRee['b21'] = 'as long as you make me cum later'
 				end
-			elseif npc_humor[$ARGS[1]] = 3 and rand(0, 1) = 0:
+			elseif $npc_humor[$ARGS[1]] = 'intellectual' and rand(0, 1) = 0:
 				$SMSTRee['b21'] = 'phrasing'
+			elseif rand(0, 1) = 0:
+				$SMSTRee['b21'] = 'im already hard'
 			else
 				$SMSTRee['b21'] = 'cant wait'
 			end
@@ -893,7 +898,7 @@ end
 !  ARGS[2] = smsID
 if $ARGS[0] = 'accept_booty_call':
 	booty_call_invite[$ARGS[1]] = daystart
-	if npc_finance[$ARGS[1]] = 2 and npc_residence[$ARGS[1]] >= 3:
+	if npc_finance[$ARGS[1]] = 2 and mid($npc_residence[$ARGS[1]], 1, 4) = 'city':
 		if func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) = 'city':
 			$booty_call_hotel[$ARGS[1]] = 'city'
 		else

+ 3 - 112
locations/boyStat.qsrc

@@ -1,118 +1,9 @@
 # boyStat
 
-!!For setting the $boy, dick and $dick_girth with a single call for a npc
-!!Use with a gosub and match the ARGS[0] with the correct char
-!!A generated NPC would be gs 'boyStat', $npclastcalled
-!!Other NPCs may be called either by number if they are a static NPC, or by letter and number otherwise.
-!!eg. "gs 'boyStat', 'A56'" would call for Roma. Likewise, "gs 'boyStat', 'A56'" also calls for Roma.
-!! A second argument calls for multiple partners. They are output as stats1, stats2, stats3, and stats4, for a total of 5 stats.
-!! If ARGS[1] is not set it defaults to zero, so you can use the variables it sets with or without [0] e.g. dick or dick[0] are equivalent 
-
-if ($ARGS[0] = '' and ARGS[0] > 0) or (isnum(mid($ARGS[0],1,1)) and val(mid($ARGS[0],1,1)) < 10):
-	npclastcalledn = iif(isnum($ARGS[0]),val($ARGS[0]),ARGS[0])
-	$npcboytemp = 'A' + npclastcalledn
-else
-	$npcboytemp = $ARGS[0]
-	!! {This error is for where something outside the range of possibility is specified. The calling code is broken. The exact thing specified will be announced.}
-	if isnum(mid($npcboytemp,2,1)) and val(mid($npcboytemp,2,1)) > 10:
-		MSG 'There has been an error in the $boy passing code. Please contact a developer with what you were doing prior to receiving this message so the error may be fixed. Error type: Improper value for boyStat. Calling <<$ARGS[0]>>'
-		$npcboytemp = 'D0'
-	end
-end
-
-if mid($npcboytemp,1,1) = 'A' or mid($npcboytemp,1,1) = 'B' or mid($npcboytemp,1,1) = 'C':
-	$npclastcalled = $npcboytemp
-	npclastcalledn = val(mid($npcboytemp, 2))
-	if isnum($npc_usedname[$npclastcalled]) or $npc_usedname[$npclastcalled] = '': $npc_usedname[$npclastcalled] = $npc_firstname[$npclastcalled] & !! this is a workaround which compensate incomplete settings in npc_static files, it can be removed later ...
-	$bstemp[1] = $npc_usedname[$npclastcalled]
-	bstemp[2] = npc_dick[$npclastcalled]
-	$bstemp[3] = $npc_thdick[$npclastcalled]
-	bstemp[4] = npc_sexskill[$npclastcalled]
-	gs 'pronouns', npc_gender[$npclastcalled], $ARGS[1]
-elseif mid($npcboytemp,1,1) = 'D':
-	npclastcalledn = val(mid($npcboytemp, 2))
-	if npclastcalledn = 1:
-		$bstemp[1] = 'small sized'
-		bstemp[2] = 10
-		$bstemp[3] = 'slim'
-	elseif npclastcalledn = 2:
-		$bstemp[1] = 'medium sized'
-		bstemp[2] = 15
-		$bstemp[3] = 'well proportioned'
-	elseif npclastcalledn = 3:
-		$bstemp[1] = 'large sized'
-		bstemp[2] = 20
-		$bstemp[3] = 'thicker than average'
-	elseif npclastcalledn = 4:
-		$bstemp[1] = 'huge sized'
-		bstemp[2] = 25
-		$bstemp[3] = 'thick'
-	elseif npclastcalledn = 5:
-		$bstemp[1] = 'giant sized'
-		bstemp[2] = 30
-		$bstemp[3] = 'massive'
-	elseif npclastcalledn = 6:
-		$bstemp[1] = 'humongous sized'
-		bstemp[2] = 35
-		$bstemp[3] = 'monstrous'
-	else
-		$bstemp[1] = 'horse sized'
-		bstemp[2] = 40
-		$bstemp[3] = 'monstrous'
-	end
-end
-
-if $ARGS[1] = 'a':
-	$boy1 = $npclastcalled
-	$boydesc1 = $bstemp[1]
-	dick1 = bstemp[2]
-	$dick_girth1 = $bstemp[3]
-	silavag1 = bstemp[4]
-elseif $ARGS[1] = 'b':
-	$boy2 = $npclastcalled
-	$boydesc2 = $bstemp[1]
-	dick2 = bstemp[2]
-	$dick_girth2 = $bstemp[3]
-	silavag2 = bstemp[4]
-elseif $ARGS[1] = 'c':
-	$boy3 = $npclastcalled
-	$boydesc3 = $bstemp[1]
-	dick3 = bstemp[2]
-	$dick_girth3 = $bstemp[3]
-	silavag3 = bstemp[4]
-elseif $ARGS[1] = 'd':
-	$boy4 = $npclastcalled
-	$boydesc4 = $bstemp[1]
-	dick4 = bstemp[2]
-	$dick_girth4 = $bstemp[3]
-	silavag4 = bstemp[4]
-elseif $ARGS[1] = 'e':
-	$boy5 = $npclastcalled
-	$boydesc5 = $bstemp[1]
-	dick5 = bstemp[2]
-	$dick_girth5 = $bstemp[3]
-	silavag5 = bstemp[4]
-elseif $ARGS[1] = 'f':
-	$boy6 = $npclastcalled
-	$boydesc6 = $bstemp[1]
-	dick6 = bstemp[2]
-	$dick_girth6 = $bstemp[3]
-	silavag6 = bstemp[4]
+if $ARGS[1] ! '':
+	gs 'npcStat', $ARGS[0], $ARGS[1]
 else
-	boyStat_i = iif(isnum($ARGS[1]),val($ARGS[1]),ARGS[1])
-	$boy[boyStat_i] = $npclastcalled
-	$boydesc[boyStat_i] = $bstemp[1]
-	dick[boyStat_i] = bstemp[2]
-	$dick_girth[boyStat_i] = $bstemp[3]
-	silavag[boyStat_i] = bstemp[4]
+	gs 'npcStat', $ARGS[0], ARGS[1]
 end
 
-killvar 'bstemp'
-killvar 'boyStat_i'
-killvar 'npclastcalledn'
-killvar 'npcboytemp'
-
-
-
 --- boyStat ---------------------------------
-

+ 19 - 25
locations/boy_updater.qsrc

@@ -1,20 +1,14 @@
 # boy_updater
 
 if $ARGS[0] = 'home_update':
-	if $npc_residence[$boy] = '':
-		if npc_residence[$boy] = 1:
-			npc_finance[$boy] = 0
-			$npc_residence[$boy] = 'pav_res'
-		elseif npc_residence[$boy] = 2:
-			npc_finance[$boy] = 0
-			$npc_residence[$boy] = 'student_dorms'
-		elseif npc_residence[$boy] = 3:
-			npc_finance[$boy] = rand(1,2)
-			$npc_residence[$boy] = 'city_res'
-		elseif npc_residence[$boy] = 4:
-			npc_finance[$boy] = 2
-			$npc_residence[$boy] = 'city_center'
-		end
+	if $npc_residence[$boy] = 'pav_residential':
+		npc_finance[$boy] = 0
+	elseif $npc_residence[$boy] = 'uni_grounds':
+		npc_finance[$boy] = 0
+	elseif $npc_residence[$boy] = 'city_residential':
+		npc_finance[$boy] = rand(1,2)
+	elseif $npc_residence[$boy] = 'city_center':
+		npc_finance[$boy] = 2
 	end
 end
 
@@ -94,20 +88,20 @@ if $ARGS[0] = 'schedule_update':
 			if rand(1,3) = 1:
 				npc_start_free_time[$boy] = 8
 				npc_end_free_time[$boy] = 12
-				
+
 				npc_work_start[$boy] = 13
 				npc_work_end[$boy] = 21
-				
+
 			elseif rand(1,2) = 1:
 				npc_start_free_time[$boy] = 15
 				npc_end_free_time[$boy] = 20
-				
+
 				npc_work_start[$boy] = 6
 				npc_work_end[$boy] = 14
 			else
 				npc_start_free_time[$boy] = 18
 				npc_end_free_time[$boy] = 22
-				
+
 				npc_work_start[$boy] = 9
 				npc_work_end[$boy] = 17
 			end
@@ -116,13 +110,13 @@ if $ARGS[0] = 'schedule_update':
 			if rand(1,2) = 1:
 				npc_start_free_time[$boy] = 8
 				npc_end_free_time[$boy] = 12
-				
+
 				npc_work_start[$boy] = 13
 				npc_work_end[$boy] = 21
 			else
 				npc_start_free_time[$boy] = 18
 				npc_end_free_time[$boy] = 22
-				
+
 				npc_work_start[$boy] = 9
 				npc_work_end[$boy] = 17
 			end
@@ -130,13 +124,13 @@ if $ARGS[0] = 'schedule_update':
 			if rand(1,2) = 1:
 				npc_start_free_time[$boy] = 8
 				npc_end_free_time[$boy] = 12
-				
+
 				npc_work_start[$boy] = 13
 				npc_work_end[$boy] = 21
 			else
 				npc_start_free_time[$boy] = 18
 				npc_end_free_time[$boy] = 22
-				
+
 				npc_work_start[$boy] = 9
 				npc_work_end[$boy] = 17
 			end
@@ -158,7 +152,7 @@ end
 
 if $ARGS[0] = 'unique_NPC_stat_seed':
 	if $boy = 'A11':
-		
+
 	end
 end
 
@@ -185,8 +179,8 @@ if $ARGS[0] = 'vasily_seed':
 		npc_dirty_lover['A11'] = 1
 		npc_cum_pref['A11'] = 1
 		$npc_cum_pref['A11'] = 'creampie'
-		npc_tit_pref['A11'] = 3
-		npc_bush_pref['A11'] = 1
+		gs 'npc_set_preference', 'A11', 'body_tits_big', 'like'
+		gs 'npc_set_preference', 'A11', 'hair_pubes_shaven', 'like'
 		$npc_fav_body_part['A11'] = 'tits'
 		npc_sexdrive['A11'] = 4
 		npc_sex_stamina['A11'] = 5

+ 0 - 19
locations/boyfrend.qsrc

@@ -1,19 +0,0 @@
-# boyfrend
-
-if $ARGS[0] = 'start':
-	if arrsize('pcs_lovers') > 2:
-		'Hmm, you are already three lovers, why do you need a fourth?'
-	else
-		gs 'lover', 'add'
-	end
-end
-
-!use    $boyfriend_code = func('boyfrend','add',$npclastgenerated)
-!the function returns the string, that correspends npc identificator in B array
-if $ARGS[0] = 'add':
-	gs 'npcpreservec', $ARGS[1]
-	$result = $npclastsaved
-end
-
---- boyfrend ---------------------------------
-

+ 102 - 60
locations/boylove.qsrc

@@ -1,80 +1,122 @@
 # boylove
-if $ARGS[0] = 'hair':
-	if hairlover[lover_number] ! pcs_haircol:
-		loverrelation[lover_number] -= 1
 
-		if hairlover[lover_number] = 0:'<<$loverdesc[lover_number]>> says that you are very beautiful, although he likes the black-haired.'
-		if hairlover[lover_number] = 1:'<<$loverdesc[lover_number]>> says that you are very beautiful, although he likes the brown-haired.'
-		if hairlover[lover_number] = 2:'<<$loverdesc[lover_number]>> says that you are very beautiful, although he likes red.'
-		if hairlover[lover_number] = 3:'<<$loverdesc[lover_number]>> says that you are very beautiful, although he likes blondes.'
-	elseif hairlover[lover_number] = pcs_haircol:
-		loverrelation[lover_number] += 1
-		'<<$loverdesc[lover_number]>> says that you have beautiful hair.'
+dynamic $npc_preferences[$npcID]
+
+
+if $ARGS[0] = 'hair':
+	if npc_pref_values['hair_color_black'] > 0:
+		if func('pcs_has_attr', 'hair_color_black'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> says that you have beautiful hair.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are very beautiful, although he likes black-haired women.'
+		end
+	elseif npc_pref_values['hair_color_brown'] > 0:
+		if func('pcs_has_attr', 'hair_color_brown'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> says that you have beautiful hair.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are very beautiful, although he likes brunettes.'
+		end
+	elseif npc_pref_values['hair_color_red'] > 0:
+		if func('pcs_has_attr', 'hair_color_red'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> says that you have beautiful hair.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are very beautiful, although he likes redheads.'
+		end
+	elseif npc_pref_values['hair_color_blonde'] > 0:
+		if func('pcs_has_attr', 'hair_color_blonde'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> says that you have beautiful hair.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are very beautiful, although he likes bondes.'
+		end
 	end
 end
 
+
 if $ARGS[0] = 'figure':
-	if figurlover[lover_number] = 0:
-		if pcs_hips < 80:
-			loverrelation[lover_number] += 1
-			'<<$loverdesc[lover_number]>> tells you that you have a perfect figure.'
-		elseif pcs_hips >= 80:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> says that you love him despite the fact that he always met with skinny.'
+	if npc_pref_values['body_bmi_starving'] > 0 or npc_pref_values['body_bmi_underweight'] > 0:
+		if func('pcs_has_attr', 'OR', 'body_bmi_starving', 'body_bmi_underweight'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> tells you that you have a perfect figure.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you love him despite the fact that he always met with skinny.'
 		end
-	elseif figurlover[lover_number] = 1:
-		if pcs_hips > 80 and pcs_hips < 100:
-			loverrelation[lover_number] += 1
-			'<<$loverdesc[lover_number]>> tells you that you have a perfect figure.'
-		elseif pcs_hips <= 80:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> asks whether you have anorexia.'
-		elseif pcs_hips >= 100:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> asks whether you are going on a diet.'
+	elseif npc_pref_values['body_bmi_normal'] > 0:
+		if func('pcs_has_attr', 'OR', 'body_bmi_starving', 'body_bmi_underweight'):
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> asks whether you have anorexia.'
+		elseif func('pcs_has_attr', 'body_bmi_normal'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> tells you that you have a perfect figure.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> asks whether you are going on a diet.'
 		end
-	elseif figurlover[lover_number] = 2:
-		if pcs_hips >= 100:
-			loverrelation[lover_number] += 1
-			'<<$loverdesc[lover_number]>> tells you that you have a perfect figure.'
-		elseif pcs_hips < 100:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> says that you are beautiful, but the woman should be in the body.'
+	elseif npc_pref_values['body_bmi_overweight'] > 0 or npc_pref_values['body_bmi_obese'] > 0:
+		if func('pcs_has_attr', 'OR', 'body_bmi_overweight', 'body_bmi_obese') = 0:
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are beautiful, but the woman should be in the body.'
+		else
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> tells you that you have a perfect figure.'
 		end
 	end
 end
 
+
 if $ARGS[0] = 'tits':
-	!!titlover[lover_number]
-	if titlover[lover_number] = 0:
-		if tits < 3:
-			loverrelation[lover_number] += 1
-			'<<$loverdesc[lover_number]>> tells you that you have beautiful breasts.'
-		elseif tits >= 3:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> says that you love him despite the fact that he prefers small breasts.'
+	if npc_pref_values['body_tits_small'] > 0:
+		if func('pcs_has_attr', 'body_tits_small'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> tells you that you have beautiful breasts.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you love him despite the fact that he prefers small breasts.'
 		end
-	elseif titlover[lover_number] = 1:
-		if tits >= 3 and tits <= 4:
-			loverrelation[lover_number] += 1
-			'<<$loverdesc[lover_number]>> tells you that you have perfect breasts.'
-		elseif tits < 3:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> says that you are beautiful, though small breasts.'
-		elseif tits > 4:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> says that you have a really huge breasts.'
+	elseif npc_pref_values['body_tits_average'] > 0:
+		if func('pcs_has_attr', 'body_tits_small'):
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are beautiful, though small breasts.'
+		elseif func('pcs_has_attr', 'body_tits_average'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> tells you that you have perfect breasts.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you have a really huge breasts.'
 		end
-	elseif titlover[lover_number] = 2:
-		if tits > 4:
-			loverrelation[lover_number] += 1
-			'<<$loverdesc[lover_number]>> tells you that you have a great chest.'
-		elseif tits <= 4:
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> says that you are beautiful, though small breasts.'
+	elseif npc_pref_values['body_tits_big'] > 0:
+		if func('pcs_has_attr', 'OR', 'body_tits_small', 'body_tits_average'):
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are beautiful, though small breasts.'
+		elseif func('pcs_has_attr', 'body_tits_big'):
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> tells you that you have perfect breasts.'
+		else
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you have a really huge breasts.'
+		end
+	elseif npc_pref_values['body_tits_huge'] > 0:
+		if func('pcs_has_attr', 'body_tits_huge') = 0:
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> says that you are beautiful, though small breasts.'
+		else
+			npc_rel[$npcID] += rand(0, 1)
+			'<<$npcdesc>> tells you that you have a great chest.'
 		end
 	end
 end
 
---- boylove ---------------------------------
 
+killvar '$npc_pref_traits'
+killvar 'npc_pref_values'
+
+
+--- boylove ---------------------------------

+ 0 - 37
locations/brosok.qsrc

@@ -1,37 +0,0 @@
-# brosok
-if boyonce[lover_number] = 0:
-	!!racing requirements after sex
-	boyonce[lover_number] = 1
-	guy += 1
-	!!!WD:  Probably community extension
-	$bfsex += '<font color="maroon">'+$lover[lover_number]+'</font>:He was a '+$boybody+' '+$boybod+' '+$boyface+'. Most of the time he was '+$boyClo+' First time we had sex was on the '+day+'th of '+$month+'. He had a '+loverdick[lover_number]+' cm long member'
-
-	if loverdick[lover_number] > 20:
-		$bfsex += '[:c].'
-		elseif loverdick[lover_number] > 14:
-		$bfsex += '[:)].'
-	else
-		$bfsex += '[:(].'
-	end
-
-	if haraklover[lover_number] = 0:$bfsex += 'He was a calm and self-possessed character.<br>'
-	if haraklover[lover_number] = 1:$bfsex += 'He was cheerful and sociable nature.<br>'
-	if haraklover[lover_number] = 2:$bfsex += 'He was irascible and very rigid.<br>'
-	!!!
-	if loverfinance[lover_number] = 0:
-		if haraklover[lover_number] = 0:vneshlover[lover_number] += 8
-		if haraklover[lover_number] = 1:vneshlover[lover_number] += 16
-		if haraklover[lover_number] = 2:vneshlover[lover_number] += 32
-	elseif loverfinance[lover_number] = 1:
-		if haraklover[lover_number] = 0:vneshlover[lover_number] += 24
-		if haraklover[lover_number] = 1:vneshlover[lover_number] += 40
-		if haraklover[lover_number] = 2:vneshlover[lover_number] += 56
-	elseif loverfinance[lover_number] = 2:
-		if haraklover[lover_number] = 0:vneshlover[lover_number] += 56
-		if haraklover[lover_number] = 1:vneshlover[lover_number] += 72
-		if haraklover[lover_number] = 2:vneshlover[lover_number] += 88
-	end
-end
-
---- brosok ---------------------------------
-

+ 27 - 20
locations/cikl.qsrc

@@ -31,7 +31,6 @@ end
 ciklNewWeek = 0
 if week = 1:
 	ciklNewWeek = 1
-	husbandrink = 0
 	if military = 1: military = 0
 end
 
@@ -99,24 +98,23 @@ age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
 if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
 if birthday = day and birthmonth = month and model['age'] > 0:model['age'] += 1
 
-if workDolgDay > 0: workDolgDay -= 1
-if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
-if husband > 0: husbanday += 1
-if husband > 10 and husbanday > 0: husband -= 15
 if fingal > 0: fingal -= 1
 
-if husbandMark = 1 and husband <= 10:
-	husbizvradd = 0
-	husbharmin = 0
-	husbandMark = 0
-	husband = 0
-	divorced += 1
-
-	if KFOnLineReaga > 0:KFOnLineReaga -= 1
-
-	'<b><font color="red">Your husband has filed for a divorce.</font></b>'
+if workDolgDay > 0: workDolgDay -= 1
+if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
+if $husID ! '':
+	if npc_rel[$husID] > 10: npc_rel[$husID] -= 15
+	if npc_rel[$husID] > 0 and spouseVars['drink'] ! 11: spouseVars['drink'] = rand(0, 10)
+	husbandsexday = 0
+
+	if npc_rel[$husID] <= 10:
+		gs 'lover_love', 'divorce'
+		'<b><font color="red">Your husband has filed for a divorce.</font></b>'
+	end
 end
 
+if KFOnLineReaga > 0: KFOnLineReaga -= 1
+
 !! after having surgery you will be in recuperation for a few days
 if surgeryday > 0:
 	if daystart - 7 <= surgeryday:
@@ -601,15 +599,12 @@ gs 'schedule', 'cikl'
 
 
 
-if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
-
 !!Pussy_Kats job settings
 inWorkYoungShop = 0
 if week = 1 and young_shop_work = 100: young_shop_work = 1
 if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
 if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
 
-husbandsexday = 0
 borsexkol = 0
 givisexday = 0
 
@@ -911,11 +906,11 @@ end
 
 	!!====================================================================!!
 	!!                                                                    !!
-	!!                      Setting story SMS times                       !!
+	!!                     Setting story phone times                      !!
 	!!                                                                    !!
 	!!====================================================================!!
 
-gs 'SMS_schedules', 'cikl'
+gs 'telefon_schedules', 'cikl'
 
 
 
@@ -1281,4 +1276,16 @@ end
 
 if blackmailQW['stage'] > 0: gs 'blackmailer', 'cikl'
 
+
+
+	!!================================================================!!
+	!!                                                                !!
+	!!                        NPCSTAT CLEANUP                         !!
+	!!                                                                !!
+	!!================================================================!!
+
+
+gs 'npcStat_clean'
+
+
 --- cikl ---------------------------------

+ 13 - 13
locations/city_bobka.qsrc

@@ -15,15 +15,15 @@ $bobkabj = {
 
 if ARGS[0] = 0:
 	dick = 16
-	gs 'cum_call', 'mouth', 'Bobka', 1
+	gs 'cum_call', 'mouth', 'A47', 1
 	gs 'stat'
 
 	gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 	gs 'stat'
-	
+
 	gs 'dinSex', 'std_trigger_oral'
 	dynamic $bobkabj
-	
+
 	gs 'arousal', 'end'
 	gs 'stat'
 
@@ -34,7 +34,7 @@ if ARGS[0] = 1:
 
 	gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 	gs 'stat'
-	
+
 	gs 'dinSex', 'std_trigger_oral'
 	dynamic $bobkabj
 	gs 'stat'
@@ -45,19 +45,19 @@ if ARGS[0] = 1:
 		sexpartkno = 1
 		gs 'dinSex', 'std_trigger'
 		'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/doggy.jpg"></center>'
-		
+
 		gs 'arousal', 'vaginal', 5, 'sub'
 		gs 'stat'
-		
+
 		gs 'dinsex', 'boy_puts_condom'
 		gs 'dinsex','vaginal_sex',10
 		gs 'dinsex','sexcum'
 		gs 'stat'
 		'Bobka tosses you a syringe, and tells you to get lost.'
-		
+
 		gs 'arousal', 'end'
 		gs 'stat'
-		
+
 		act 'Inject yourself with the drugs ': gt 'city_bobka', 'inject'
 	end
 end
@@ -66,7 +66,7 @@ if ARGS[0] = 2:
 	!HM Is this the correct call, the scene is about anal, not deepthroat
 	gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 	gs 'stat'
-	
+
 	gs 'dinSex', 'std_trigger'
 	dynamic $bobkabj
 	gs 'stat'
@@ -80,14 +80,14 @@ if ARGS[0] = 2:
 		gs 'dinsex','analsex'
 
 		'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/anal.jpg"></center>'
-	
+
 		gs 'stat'
 		'You feel <<$boydesc>>''s sperm spread inside you when he finally stops thrusting. When he pulls out of you, some of his sperm slowly trickles out of your gaping butthole.'
 		'Bobka tosses you a syringe, and tells you to get lost.'
-		
+
 		gs 'arousal', 'end'
 		gs 'stat'
-		
+
 		act 'Inject yourself with the drugs ': gt 'city_bobka', 'inject'
 	end
 end
@@ -103,7 +103,7 @@ if ARGS[0] = 3:
 	'<center><img <<$set_imgh>> src="images/characters/city/bobka/sex/rimming.jpg"></center>'
 	'<<$tempval>> drop to your knees before Bobka and look at him questioningly, softly muttering you''ll do whatever he wants you to do.'
 	'Bobka lies back and lifts his legs, exposing his ass to you. He grunts: "Start licking, bitch! If you know what''s good for you..."'
-	
+
 	gs 'willpower', 'bj', 'resist'
 	if will_cost <= pcs_willpwr:
 		act 'Lick his ass reluctantly (<<will_cost>> Willpower)':

+ 1 - 19
locations/city_house_res_kitch.qsrc

@@ -46,25 +46,7 @@ if $ARGS[0] = 'kitch':
 
 	if edahot > 0:'<a href="exec:dynamic $edahotd">There''s a warm meal on the table.</a>'
 
-	if husband > 0 and husbandrink ! 10:
-		if hour = 7 or hour = 17:'<a href="exec:gt ''husb'', ''start''">Your husband is eating at the table.</a>'
-	end
-
-	if husband > 0 and husbanday > 0 and huseatday ! daystart and mc_inventory['food_basic'] >= 2:
-		act 'Cook a meal for your husband and yourself (1:00)':
-			cla
-			*clr
-			husband += 5
-			mc_inventory['food_basic'] -= 2
-			minut += 60
-			huseatday = daystart
-			pcs_mood -= 25
-			'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
-			'You prepare a meal for your husband and yourself.'
-
-			act 'Leave the meal':gt 'kuhr'
-		end
-	end
+	gs 'lover_living', 'kitchen'
 
 	dynamic $edasnack
 	dynamic $sandwich

+ 12 - 8
locations/city_mansion_entrance.qsrc

@@ -35,14 +35,18 @@ if $ARGS[0] = '':
 		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>'
-		end
-		if hour = meethour[1]:
-			if svidanie[1] = 1:'<b><a href="exec:lover_number = 1 & gt ''lover_meet'', ''start''"><<$loverdesc[1]>></a> is waiting at the entrance to your mansion.</b>'
-		end
-		if hour = meethour[2]:
-			if svidanie[2] = 1:'<b><a href="exec:lover_number = 2 & gt ''lover_meet'', ''start''"><<$loverdesc[2]>></a> is waiting at the entrance to your mansion.</b>'
+		if arrsize('$lover') > 0:
+			temp_i = 0
+			temp_max_i = arrsize('$lover')
+			:lover_pickup_loop
+				$temp_npcid = $lover[temp_i]
+				if npc_meetday[$temp_npcid] = daystart and npc_meethour[$temp_npcid] = hour:
+					'<b><a href="exec: gt ''lover_meet'', ''start'', ''<<$temp_npcid>>''"><<$npc_usedname[$temp_npcid]>></a> is waiting at the entrance to your mansion.</b>'
+				end
+				temp_i += 1
+			if temp_i < temp_max_i: jump 'lover_pickup_loop'
+			killvar 'temp_i'
+			killvar 'temp_max_i'
 		end
 	end
 

+ 1 - 19
locations/city_mansion_residence_1.qsrc

@@ -204,25 +204,7 @@ if $ARGS[0] = 'ykitchen':
 
 		if edahot > 0:'<a href="exec:dynamic $edahotd">There''s a warm meal on the table.</a>'
 
-		if husband > 0 and husbandrink ! 10:
-			if hour = 7 or hour = 17:'<a href="exec:gt ''husb'', ''start''">Your husband is eating at the table.</a>'
-		end
-
-		if husband > 0 and husbanday > 0 and huseatday ! daystart and mc_inventory['food_basic'] >= 2:
-			act 'Cook a meal for your husband and yourself (1:00)':
-				cla
-				*clr
-				husband += 5
-				mc_inventory['food_basic'] -= 2
-				minut += 60
-				huseatday = daystart
-				pcs_mood -= 25
-				'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
-				'You prepare a meal for your husband and yourself.'
-
-				act 'Leave the meal':gt 'kuhr'
-			end
-		end
+		gs 'lover_living', 'kitchen'
 
 		dynamic $edasnack
 		dynamic $sandwich

+ 13 - 13
locations/city_nightclub.qsrc

@@ -210,9 +210,9 @@ if $ARGS[0] = 'dance':
 				if clrand < 5:
 					gs 'arousal', 'foreplay', 1
 					gs 'npcgeneratec', 0
-					gs 'boyStat', $npclastgenerated
+					gs 'npcStat', $npclastgenerated
 
-					'As you''re dancing, you feel someone groping your ass. You turn around and see <<$boybody_pref>>, <<$boybod>> guy with <<$boyface>> hair. He''s <<$boyClo>>'
+					'As you''re dancing, you feel someone groping your ass. You turn around and see <<$npcheight_pref>>, <<$npcbuild>> guy with <<$npchair>> hair. He''s wearing <<$npcClo>>.'
 					act 'Stop dancing': gt 'city_nightclub', 'inside'
 					act 'Dance with him': gt 'city_nightclub', 'dance_guy'
 				elseif clrand > 8:
@@ -278,7 +278,7 @@ if $ARGS[0] = 'dance':
 								*clr & cla
 								pcs_horny += 10
 								minut += 10
-								gs 'boystat', 'A81'
+								gs 'npcStat', 'A81'
 								gs 'cum_call', 'mouth_swallow', $boy, 1
 								gs 'stat'
 								'<center><img <<$set_imgh>> src="images/shared/sex/cum/mouth/cum<<rand(34, 47)>>.jpg"></center>'
@@ -460,7 +460,7 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand4.jpg"></center>'
 			gs 'npcgeneratec', 0, 'Club Dancer', rand(18,26)
-			gs 'boyStat', $npclastgenerated
+			gs 'npcStat', $npclastgenerated
 			spafinloc = 12
 			gs 'cum_manage'
 			'The last thing you remember is how you sucked someone''s cock in the middle of the dance floor.'
@@ -660,7 +660,7 @@ if $ARGS[0] = 'sex':
 	gs 'dinSex', 'std_trigger_oral'
 	gs 'npcgeneratec', 0
 	dick = rand(10, 18)
-	gs 'boyStat', $npclastgenerated
+	gs 'npcStat', $npclastgenerated
 	gs 'stat'
 	'<center><b><font color="maroon">toilet stall</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/sex.jpg"></center>'
@@ -679,12 +679,18 @@ if $ARGS[0] = 'sex':
 
 		act 'Take his cock out of your mouth':
 			*clr & cla
-			if harakBoy = 0:
+			if npc_gentle[$boy] = 1:
 				'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hand.jpg"></center>'
 				spafinloc = 13
 				gs 'cum_manage'
 				'You take his cock and point it away from you. He groans as he cums and most of his cum gets splattered onto the floor, with a few drops covering your hand.'
-			elseif harakBoy = 1:
+			elseif npc_rough[$boy] = 1:
+				spafinloc = 11
+				gs 'cum_manage'
+				SUB += 1
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/sex/clubfacial.jpg"></center>'
+				'The guy grabs your hair and cums on your face. You quickly close your eyes, but it''s too late. A few blasts of cum get in your eyes and sting them.'
+			else
 				act 'Point his cock at the floor':
 					cla
 					'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hand.jpg"></center>'
@@ -703,12 +709,6 @@ if $ARGS[0] = 'sex':
 					act 'Stand up': gt 'city_nightclubToilet', 'clubtoilet_men'
 				end
 				exit
-			elseif harakBoy = 2:
-				spafinloc = 11
-				gs 'cum_manage'
-				SUB += 1
-				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/sex/clubfacial.jpg"></center>'
-				'The guy grabs your hair and cums on your face. You quickly close your eyes, but it''s too late. A few blasts of cum get in your eyes and sting them.'
 			end
 			act 'Stand up': gt 'city_nightclubToilet', 'clubtoilet_men'
 		end

+ 14 - 13
locations/city_trademission.qsrc

@@ -108,22 +108,23 @@ if svQW = 2:
 			act 'Agree':
 				'You smile, "I would love to start dating you." He jumps for joy and promises to call you soon to set up a date.'
 				TPmainQW = 2
-				gs 'boyStat', 'A50'
-				boybodyrand = 1
-				$boybody = 'high'
-				boybodrand = 1
-				$boybod = 'thin'
-				boyfacerand = 3
-				$boyface = 'blond'
-				harakBoy = 1
-				finance = 1
-				vneshBoy = 1
-				$boyClo = 'dressed in jeans and a sweater.'
+				npc_height['A50'] = 181
+				npc_weight['A50'] = 58
+				npc_haircol['A50'] = 3
+				npc_finance['A50'] = 1
+				npc_pervert['A50'] = 0
+
 				figurBoy = rand(0, 2)
 				titBoy = rand(0, 2)
 				hairBoy = rand(0, 3)
-				izvrat = 0
-				gs 'boyfrend', 'start'
+
+				gs 'npcStat', 'A50'
+				$npcheight = 'high'
+				$npcbuild = 'thin'
+				$npchair = 'blond'
+				vneshBoy = 1
+				$npcClo = 'jeans and a sweater'
+				gs 'lover', 'add_boyfriend', 'A50'
 				stopboy = 0
 				bfa = 70
 				boyonceA = 1

+ 5 - 23
locations/dachain.qsrc

@@ -37,7 +37,7 @@ if $args[0] = 'start':
 		'Your <a href="exec: gt ''Komp'',''start''">computer</a> is on the table. Unfortunately, there is no internet service in the village.'
 	end
 	*nl
-	
+
 	if hour >= 6 and hour <= 20 and etoexhib = 11:'Kopashatsya working in the garden, hmm... maybe sometime <a href="exec:gt ''etoexhib'', ''pos10''">motivate</a> for them to work quicker and smarter.'
 	if hour >= 6 and hour <= 20 and etoexhib = 12:'Leave in <a href="exec:gt ''etoexhib'', ''pos11''">garden in lingerie and robe.</a>'
 	if hour >= 6 and hour <= 20 and etoexhib = 13 and temp ! daystart:'I wonder how to <a href="exec:gt ''etoexhib'', ''pos12''">garden</a>'
@@ -63,7 +63,7 @@ if $args[0] = 'start':
 
 	!! IMPORTANT: if there is anything added later that could mean that others are in the room, gs 'music_actions', 'not_alone' should be added with the correct conditions.
 	gs 'music_actions', 'start'
-	
+
 end
 
 if $args[0] = 'dachakit':
@@ -85,7 +85,7 @@ if $args[0] = 'dachakit':
 	else
 		'<center><img <<$set_imgh>> src="images/locations/suburban/cottage/dachakit1.jpg"></center>'
 	end
-	
+
 	act 'Go into the main room': gt 'dachain', 'start'
 
 	if mc_inventory['dish_plates'] > 0:
@@ -110,28 +110,10 @@ if $args[0] = 'dachakit':
 	elseif mc_inventory['food_diet'] = 0 and mc_inventory['food_basic'] = 0:
 		'<b><font color="red">The fridge is empty. You have nothing to eat.</font></b>'
 	end
-	
-	if edahot > 0:'<a href="exec:dynamic $edahotd">There''s a warm meal on the table.</a>'
 
-	if husband > 0 and husbandrink ! 10:
-		if hour = 7 or hour = 17:'<a href="exec:gt ''husb'', ''start''">Your husband is eating at the table.</a>'
-	end
+	if edahot > 0:'<a href="exec:dynamic $edahotd">There''s a warm meal on the table.</a>'
 
-	if husband > 0 and husbanday > 0 and huseatday ! daystart and mc_inventory['food_basic'] >= 2:
-		act 'Cook a meal for your husband and yourself (1:00)':
-			cla
-			*clr
-			husband += 5
-			mc_inventory['food_basic'] -= 2
-			minut += 60
-			huseatday = daystart
-			pcs_mood -= 25
-			'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
-			'You prepare a meal for your husband and yourself.'
-
-			act 'Leave the meal':gt 'kuhr'
-		end
-	end
+	gs 'lover_living', 'kitchen'
 
 	dynamic $edasnack
 	dynamic $sandwich

+ 26 - 13
locations/dachi.qsrc

@@ -6,7 +6,7 @@ $loc = 'dachi'
 $menu_arg = ''
 menu_off = 0
 music_loop = 0
-CLOSE ALL 
+CLOSE ALL
 
 $location_type = 'public_outdoors'
 *clr & cla
@@ -28,10 +28,19 @@ act 'Go to the highway (0:15)': minut += 15 & nroad = 5 & gt 'road'
 if func('homes_properties', 'has_access','village_cottage'):
 	'Enter <a href="exec:gt ''dachamy'', ''start''">your yard</a>.'
 	'Across the street from your cottage is another <a href="exec:gt ''etoexhib'', ''pos8''">cottage</a> almost identical to yours.'
-	if hour = meethour:
-		if svidanie[0] = 1:'<b>Near the entrance you expect <a href="exec:lover_number = 0 & gt ''lover_meet'',''start''"><<$loverdesc[0]>></a></b>'
-		if svidanie[1] = 1:'<b>Near the entrance you expect <a href="exec:lover_number = 1 & gt ''lover_meet'',''start''"><<$loverdesc[1]>></a></b>'
-		if svidanie[2] = 1:'<b>Near the entrance you expect <a href="exec:lover_number = 2 & gt ''lover_meet'',''start''"><<$loverdesc[2]>></a></b>'
+
+	if arrsize('$lover') > 0:
+		temp_i = 0
+		temp_max_i = arrsize('$lover')
+		:lover_pickup_loop
+			$temp_npcid = $lover[temp_i]
+			if npc_meetday[$temp_npcid] = daystart and npc_meethour[$temp_npcid] = hour:
+				'<b>Near the entrance you expect <a href="exec: gt ''lover_meet'', ''start'', ''<<$temp_npcid>>''"><<$npc_usedname[$temp_npcid]>></a></b>'
+			end
+			temp_i += 1
+		if temp_i < temp_max_i: jump 'lover_pickup_loop'
+		killvar 'temp_i'
+		killvar 'temp_max_i'
 	end
 end
 
@@ -39,14 +48,18 @@ if  func('homes_properties', 'is_current_home', 'village_cottage'):
 	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 cottage, 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 cottage, 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 yard.</b>'
-	end
-	if hour = meethour[1]:
-		if svidanie[1] = 1:'<b><a href="exec:lover_number = 1 & gt ''lover_meet'', ''start''"><<$loverdesc[1]>></a> is waiting at the entrance to your yard.</b>'
-	end
-	if hour = meethour[2]:
-		if svidanie[2] = 1:'<b><a href="exec:lover_number = 2 & gt ''lover_meet'', ''start''"><<$loverdesc[2]>></a> is waiting at the entrance to your yard.</b>'
+	if arrsize('$lover') > 0:
+		temp_i = 0
+		temp_max_i = arrsize('$lover')
+		:lover_pickup_loop
+			$temp_npcid = $lover[temp_i]
+			if npc_meetday[$temp_npcid] = daystart and npc_meethour[$temp_npcid] = hour:
+				'<b><a href="exec: gt ''lover_meet'', ''start'', ''<<$temp_npcid>>''"><<$npc_usedname[$temp_npcid]>></a> is waiting at the entrance to your yard.</b>'
+			end
+			temp_i += 1
+		if temp_i < temp_max_i: jump 'lover_pickup_loop'
+		killvar 'temp_i'
+		killvar 'temp_max_i'
 	end
 end
 

+ 39 - 39
locations/dateF.qsrc

@@ -19,25 +19,25 @@ if $ARGS[0] = 'start':
 	*clr & cla
 	!! generate a girl
 	gs 'npcgeneratec', 1, '', rand(18, 35)
-	gs 'boyStat', $npclastgenerated
+	gs 'npcStat', $npclastgenerated
 
 
 	act 'Ignore her and hurry away':gt $loc, $loc_arg
 	!!1) Sveta in a school uniform
 	if PCloStyle2 = 4:
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-		'You notice <<$boybody_pref>> girl with <<$boybod_pref>> body and <<$boyface>> hair approaching you. She is wearing <<$boyClo>>'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+		'You notice <<$npcheight_pref>> girl with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. She is wearing <<$npcClo>>.'
 		'As she nears you, she presents herself; "Hi. My name is <<$boydesc>>. What are you doing here all by yourself?"'
 		act 'Greet her':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'"Hi! My name is <<$pcs_nickname>>." you answer. "School just ended so I was trying to figure out what to do for the rest of the day."'
 			'"Oh really." After a moment of silence <<$boydesc>> finally speaks up; "Don''t take this the wrong way but what school do you attend?" she asks.'
 			act 'Don''t tell her which school':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'You break out into laughter, "Why would I tell you that, for all I know you could be a weird stalker."'
 				'"Did you just accuse me for being a stalker?" she asks as her voice changes to a more serious tone.'
 				'"I didn''t mean to make you upset, but don''t you thinks it''s a bit creepy for someone unknown to walk up a schoolgirl and ask what school they go to?" you answer.'
@@ -47,7 +47,7 @@ if $ARGS[0] = 'start':
 			end
 			act 'Tell her':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"I don''t really know if I should tell you that. For all I know you might be a creepy woman that wants to kidnap me."'
 				'"I''m sorry I knew I would come off as creepy, but I got a bit thrown off by your school outfit. I didn''t mean anything by it."'
 				if $loc = 'pav_residential' or $loc = 'pav_commercial':
@@ -63,7 +63,7 @@ if $ARGS[0] = 'start':
 				end
 				act 'Decline':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'As you''re talking you get a creepy feeling about this girl, "I''m sorry but I just remembered I was supposed to meet a friend."'
 					'<<$boydesc>> looks at you disappointed. "Oh, that''s a shame. Could I get-..."'
 					'You''re already moving away from her before she even finished her sentence not hearing what she wanted.'
@@ -71,7 +71,7 @@ if $ARGS[0] = 'start':
 				end
 				act 'Decline politely':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry but I''m not interested. I sort of have a boyfriend..." you answer wanting to reject the girl as easy as possible.'
 					'"That''s too bad... I should have guessed a girl in that hot outfit would be taken."'
 					'As you move away from her, you''re glad you declined, especially after the last comment.'
@@ -79,15 +79,15 @@ if $ARGS[0] = 'start':
 				end
 				act 'I would love to':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"Sure, that sounds fun and I just so happen to have some time to kill." You say with a wink.'
 					'"Great!" answers <<$boydesc>> "So, what do you want to do?".'
 					gs 'dateF', 'date_choice'
 				end
 				act 'I would love to but can''t right now':
 					*clr & cla
-					gs 'girlfriend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_girlfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, I would love to go on a date with you but I''m busy right. What if I give you my number so you can call me?"'
 					'"I say that''s a great idea. I''ll be in touch." <<$boydesc>> adds your number to her contact list.'
 					'"You better be." you say teasingly.'
@@ -97,26 +97,26 @@ if $ARGS[0] = 'start':
 		end
 	!!2) Gopnik Sveta
 	elseif gruptipe = 4:
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-		'You notice <<$boybody_pref>> girl with <<$boybod_pref>> body and <<$boyface>> hair approaching you. She is wearing <<$boyClo>>'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+		'You notice <<$npcheight_pref>> girl with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. She is wearing <<$npcClo>>.'
 		'As she nears you, you hear her say, "Hey baby, you seem like a girl that likes to have fun. What do you say, wanna hang out?"'
 		act 'Look at her':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'You give her a once over and then give her an amused look, "What did you say? I hope you know what you''re getting yourself into."'
 			'Not fazed by your brashness she continues on, "I know it''s just a front with girls like you. All of you just act hard but I''ve got you all figured out. Tell me this instead, what is your name?"'
 			act 'No':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"How about I kick your ass instead? Now get out of here before you know what my boot feels like shoved up your ass." you reply angrily.'
 				'"Okay, okay, sheesh... take it easy." she says loudly as she''s moving away from you.'
 				act 'Continue': gt $loc, $loc_arg
 			end
 			act 'Answer her':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'You give her a contemptuous look. "Oh, you have me all figured out do you? My name is <<$pcs_nickname>>, not that it is any of your business."'
 				if $loc = 'pav_residential' or $loc = 'pav_commercial':
 					'"Well, I spotted you while I was on my way to a friend''s place and your looks caught my attention. Simply said, I want to add another trophy to my trophy wall." she impudently answers.'
@@ -129,8 +129,8 @@ if $ARGS[0] = 'start':
 				end
 				act 'Not now':
 					*clr & cla
-					gs 'girlfriend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_girlfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m busy right now." You tell her and watch her become disappointed. "But maybe I will get bored out of my skull and you will seem like a better open, so take my number and maybe I will answer if you call."'
 					'She laughs at your response. "Thanks. I''ll try to make sure to call you when you''re really bored." <<$boydesc>> adds your number to her contact list.'
 					'"Don''t count on it loser." you answer.'
@@ -146,7 +146,7 @@ if $ARGS[0] = 'start':
 				end
 				act 'Fine':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'You give her a hard look and eye her up and down. "Fine I''m fucking bored anyways, but you''re paying."'
 					'"Good, I expected no other outcome." she says. "I''ll give it to you to decide what we should do?".'
 					gs 'dateF', 'date_choice'
@@ -155,12 +155,12 @@ if $ARGS[0] = 'start':
 		end
 	!!3 - unattractive or average Sveta
 	elseif pcs_hotcat < 6:
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-		'You notice <<$boybody_pref>> girl with <<$boybod_pref>> body and <<$boyface>> hair approaching you. She is wearing <<$boyClo>>'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+		'You notice <<$npcheight_pref>> girl with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. She is wearing <<$npcClo>>.'
 		'As she nears you, she reaches out her hand for a handshake. "Hi. My name is <<$boydesc>>."'
 		act 'Refuse and walk away':
 			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'Not really impressed, you decide to teach her a lesson, "Sure thing, here''s my number."'
 			'<<$boydesc>> quickly scribbles it down not knowing you''ve just given her a totally unknown number.'
 			act 'Continue': gt $loc, $loc_arg
@@ -169,14 +169,14 @@ if $ARGS[0] = 'start':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'You think <<$boydesc>> is cute-looking and even though you''re not sure about this you decide grasping her hand.'
 			'"Aren''t you going to tell me your name?" she asks.'
 	!!I would suggest an option for Sveta to be happy about it.
 			act 'Decline':gt 'dateF', 'decline'
 			act 'Happily tell her your name':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'All of a sudden you get a bubbly feeling in your stomach thinking if she''s really asking your name?'
 				'You break out in a smile telling her, "My name is <<$pcs_nickname>>."'
 				'"What a beautiful name and a loving smile." <<$boydesc>> tells you.'
@@ -185,15 +185,15 @@ if $ARGS[0] = 'start':
 				act 'Decline':gt 'dateF', 'decline'
 				act 'I would love to':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'You think about it a moment and figure why not "Sure I would love to out with you."'
 					'"Great!" answers <<$boydesc>> "So, what do you want to do?".'
 					gs 'dateF', 'date_choice'
 				end
 				act 'I would love to but can''t right now':
 					*clr & cla
-					gs 'girlfriend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_girlfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, I would love to go on a date with you but I''m busy right. What if I give you my number so you can call me?"'
 					'"I say that''s a great idea. I''ll be in touch." <<$boydesc>> adds your number to her contact list.'
 					'"You better be." you say teasingly.'
@@ -202,19 +202,19 @@ if $ARGS[0] = 'start':
 			end
 		end
 	else
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-		'You notice <<$boybody_pref>> girl with <<$boybod_pref>> body and <<$boyface>> hair approaching you. She is wearing <<$boyClo>>'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+		'You notice <<$npcheight_pref>> girl with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. She is wearing <<$npcClo>>.'
 		'She walks up to full of confidence, "Damn, baby, on a scale from 1 to 10, you''re an 11. How about a date?"'
 		act 'Excuse me?':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'"Yeah, you heard me." said <<$boydesc>>. "Don''t act all that surprised, you''re good-looking, I''m good-looking we would be the perfect couple, so what do you say?"'
 			'"Isn''t someone full of confidence." you comment, seizing control of the conversation, as you contemplate your next move...'
 			act 'Remain silent':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"Come on, gorgeous, don''t give me the silent treatment."'
 				'As you hear the word gorgeous you melt straight away. You blush and mumble thanks, stammering like a buffoon.'
 				'<<$boydesc>> noticing that you''re having some trouble, smiles and tells you, "I''ll ask you one more time, I don''t want to come off as desperate." she says laughing.'
@@ -226,7 +226,7 @@ if $ARGS[0] = 'start':
 
 				act 'Decline':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry but I don''t feel myself attracted to you enough and I don''t want to lead you on."'
 					'<<$boydesc>> looks at you disappointed. "Oh well, I didn''t think I had a chance but you can''t blame me for trying."'
 					'The two of you say goodbye to each other.'
@@ -235,7 +235,7 @@ if $ARGS[0] = 'start':
 
 				act 'Look at her in disgust':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, it''s good that you have all this confidence, but I''m way out of your league. There''s no way I would be caught seen out with you."'
 					'"What did you say, you little..." you''re not able to hear the rest as you walk away...'
 					act 'Continue': gt $loc, $loc_arg
@@ -243,7 +243,7 @@ if $ARGS[0] = 'start':
 
 				act 'Agree to a date':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"Stop, you''re making me blush again. Sure, sounds like fun, I would love to."'
 					'"Great!" answers <<$boydesc>> "So, what do you want to do gorgeous?".'
 					gs 'dateF', 'date_choice'
@@ -251,8 +251,8 @@ if $ARGS[0] = 'start':
 
 				act 'I would love to but can''t right now':
 					*clr & cla
-					gs 'girlfriend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_girlfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, I would love to go on a date with you but I''m busy right. What if I give you my number so you can call me?"'
 					'"I say that''s a great idea. I''ll be in touch." <<$boydesc>> adds your number to her contact list.'
 					'"You better be." you say teasingly.'
@@ -265,7 +265,7 @@ end
 
 if $args[0] = 'decline':
 	*clr & cla
-	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+	'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 	'"I''m sorry but I don''t feel us clicking so I''ll have to decline."'
 	'<<$boydesc>> looks at you disappointed and then shrugs. "Well can''t blame a girl for trying, right?"'
 	'The two of you say goodbye to each other.'
@@ -371,7 +371,7 @@ if $ARGS[0] = 'walk_back':
 	'"I''ve had a great time." you say smiling. "Yeah, me too..." <<$boydesc>> says quietly. "Could I get your number so I can call you?"'
 	act 'Sure':
 		*clr & cla
-		gs 'girlfriend', 'start'
+		gs 'lover', 'add_girlfriend', $boy
 		'<center><img <<$set_imgh>> src="images/locations/shared/date/givenumber.jpg"></center>'
 		'You give <<$boydesc>> your number. "Now I really hope you don''t forget to call me." you tell her. "Oh, don''t worry about that I''ll be in touch." she says.'
 		'You end the date by her giving you a kiss on the cheek.'
@@ -526,7 +526,7 @@ if $ARGS[0] = 'barend':
 	'"I had a great time, you''re really fun to hang out with." <<$boydesc>> tells you. "Could I get your number?"'
 	act 'Sure':
 		*clr & cla
-		gs 'girlfriend', 'start'
+		gs 'lover', 'add_girlfriend', $boy
 		'<center><img <<$set_imgh>> src="images/locations/shared/date/givenumber.jpg"></center>'
 		'You give <<$boydesc>> your number. "Now I really hope you don''t forget to call me." you tell her. "Oh, don''t worry about that I''ll be in touch." she says.'
 		'You end the date by her giving you a kiss on the cheek.'

+ 46 - 46
locations/dateM.qsrc

@@ -18,13 +18,13 @@ if $ARGS[0] = 'start':
 	*clr & cla
 	!! generate a boy
 	gs 'npcgeneratec', 0, '', rand(18, 35)
-	gs 'boyStat', $npclastgenerated
+	gs 'npcStat', $npclastgenerated
 
 	act 'Ignore him and hurry away':gt $loc, $loc_arg
 !!1) Sveta in a school uniform
 	if PCloStyle2 = 4:
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-!!		'You notice a guy of <<$boybody>> height with a <<$boybod>> body and <<$boyface>> hair approaching you. He is wearing <<$boyClo>>.'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+!!		'You notice a guy of <<$npcheight>> height with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. He is wearing <<$npcClo>>.'
 !!		'As he nears you, he presents himself; "Hi. My name is <<$npc_firstname[$boy]>>. What are you doing here all by yourself?"'
 		'A man approaches, smiling at you.'
 		'"Hi. My name is <<$npc_firstname[$boy]>>. What are you doing here all by yourself?"'
@@ -33,12 +33,12 @@ if $ARGS[0] = 'start':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'"Hi! My name is <<$pcs_nickname>>." you answer. "School just ended so I was trying to figure out what to do for the rest of the day."'
 			'"Oh really." After a moment of silence <<$npc_firstname[$boy]>> finally speaks up; "Don''t take this the wrong way but what school do you attend?" he asks.'
 			act 'Don''t tell him which school':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'You break out into laughter, "Why would I tell you that, for all I know you could be a rapist."'
 				'"Did you just accuse me for a rapist?" he asks as his voice changes to a more serious tone.'
 				'"I didn''t mean to make you upset, but don''t you thinks it''s a bit strange for someone unknown to walk up a schoolgirl and ask what school they go to?" you answer.'
@@ -48,7 +48,7 @@ if $ARGS[0] = 'start':
 			end
 			act 'Tell him':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"I don''t really know if I should tell you that. For all I know you might be a creepy guy, that wants to kidnap me."'
 				'"I''m sorry I knew I would come off as creepy but I got a bit thrown off by your school outfit. I didn''t mean anything by it."'
 				if $loc = 'pav_residential' or $loc = 'pav_commercial':
@@ -64,15 +64,15 @@ if $ARGS[0] = 'start':
 				end
 				act 'I would love to':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"Sure, that sounds fun and I just so happen to have some time to kill." You say with a wink.'
 					'"Great!" answers <<$npc_firstname[$boy]>> "So, what do you want to do?".'
 					gs 'dateM', 'date_choice'
 				end
 				act 'I would love to but can''t right now':
 					*clr & cla
-					gs 'boyfrend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_boyfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, I would love to go on a date with you but I''m busy right. What if I give you my number so you can call me?"'
 					'"I say that''s a great idea. I''ll be in touch." <<$npc_firstname[$boy]>> adds your number to his contact list.'
 					'"You better be." you say teasingly.'
@@ -80,7 +80,7 @@ if $ARGS[0] = 'start':
 				end
 				act 'Decline':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'As you''re talking you get a creepy feeling about this guy, "I''m sorry but I just remembered I was supposed to meet a friend."'
 					'<<$npc_firstname[$boy]>> looks at you disappointed. "Oh, that''s a shame. Could I get-..."'
 					'You''re already moving away from him before he even finished his sentence not hearing what he wanted.'
@@ -88,7 +88,7 @@ if $ARGS[0] = 'start':
 				end
 				act 'Decline politely':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry but I''m not interested. I sort of have a boyfriend..." you answer wanting to reject the guys as easy as possible.'
 					'"That''s too bad... I should have guessed a girl in that hot outfit would be taken."'
 					'As you move away from him, you''re glad you declined, especially after the last comment.'
@@ -96,7 +96,7 @@ if $ARGS[0] = 'start':
 				end
 				act'How about we fuck?':
 					cla & *clr
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"How about a fuck for the road instead?"'
 					'"Excuse me?" It''s his turn to look surprised now.'
 					'"You, me, your place, we have sex right now. How about it?"'
@@ -113,27 +113,27 @@ if $ARGS[0] = 'start':
 		end
 	!!2) Gopnik Sveta
 	elseif gruptipe = 4:
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-!!		'You notice a guy of <<$boybody>> height with a <<$boybod>> body and <<$boyface>> hair approaching you. He is wearing <<$boyClo>>.'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+!!		'You notice a guy of <<$npcheight>> height with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. He is wearing <<$npcClo>>.'
 		'A man approaches, smiling at you.'
 		'"Hey baby, you seem like a girl that likes to have fun. What do you say, wanna hang out?"'
 		act 'Look at him':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'You give him a once over and then give him an amused look, "What did you say? I hope you know what you''re getting yourself into."'
 			'Not fazed by your brashness he continues on, "I know it''s just a front with girls like you. All of you just act hard but I''ve got you all figured out. Tell me this instead, what is your name?"'
 			act 'No':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"How about I kick your ass instead? Now get out of her before you know what my boot feels like shoved up your ass." you reply angrily.'
 				'"Okay, okay, sheesh... take it easy." he says loudly as he''s moving away from you.'
 				act 'Continue': gt $loc, $loc_arg
 			end
 			act 'Answer him':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'You give him a contemptuous look. "Oh, you have us all figured out do you? My name is <<$pcs_nickname>>, not that it is any of your business."'
 				if $loc = 'pav_residential' or $loc = 'pav_commercial':
 					'"Well, I spotted you while I was on my way to a friends place and your looks caught my attention. Simply said, I want to add another trophy to my trophy wall." he impudently answers.'
@@ -146,8 +146,8 @@ if $ARGS[0] = 'start':
 				end
 				act 'Not now':
 					*clr & cla
-					gs 'boyfrend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_boyfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m busy right now." You tell him and watch him become disappointed. "But maybe I will get bored out of my skull and you will seem like a better open, so take my number and maybe I will answer if you call."'
 					'He laughs at your response. "Thanks. I''ll try to make sure to call you when you''re really bored." <<$npc_firstname[$boy]>> adds your number to his contact list.'
 					'"Don''t count on it loser." you answer.'
@@ -163,14 +163,14 @@ if $ARGS[0] = 'start':
 				end
 				act 'Fine':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'You give him a hard look and eye him up and down. "Fine I''m fucking bored anyways, but you''re paying."'
 					'"Good, I expected no other outcome." he says. "I''ll give it to you to decide what we should do?".'
 					gs 'dateM', 'date_choice'
 				end
 				act'How about we fuck?':
 					cla & *clr
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"How about a fuck for the road instead?"'
 					'"Excuse me?" It''s his turn to look surprised now.'
 					'"You, me, your place, we have sex right now. How about it?"'
@@ -186,14 +186,14 @@ if $ARGS[0] = 'start':
 		end
 	!!3 - unattractive or average Sveta
 	elseif pcs_hotcat < 6:
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-!!		'You notice a guy of <<$boybody>> height with a <<$boybod>> body and <<$boyface>> hair approaching you. He is wearing <<$boyClo>>.'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+!!		'You notice a guy of <<$npcheight>> height with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. He is wearing <<$npcClo>>.'
 !!		'As he nears you, he reaches out his hand for a handshake. "Hi. My name is <<$npc_firstname[$boy]>>."'
 		'A man approaches, smiling at you.'
 		'As he nears you, he reaches out his hand for a handshake. "Hi. My name is <<$npc_firstname[$boy]>>."'
 		act 'Give him a fake number':
 			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'Not really impressed, you decide to teach him a lesson, "Sure thing, here''s my number."'
 			'<<$npc_firstname[$boy]>> quickly scribbles it down not knowing you''ve just given him a totally unknown number.'
 			act 'Continue': gt $loc, $loc_arg
@@ -202,14 +202,14 @@ if $ARGS[0] = 'start':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'Even though you know it''s impolite to shake hands with the opposite sex, you think <<$npc_firstname[$boy]>> is cute-looking and even though you''re not sure about this you decide grasping his hand.'
 			'"Aren''t you going to tell me your name?" he asks.'
 	!!I would suggest an option for Sveta to be happy about it.
 			act 'Decline':gt 'dateM', 'decline'
 			act 'Happily tell him your name':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'All of a sudden you get a bubbly feeling in your stomach thinking if he''s really asking your name?'
 				'You break out in a smile telling him, "My name is <<$pcs_nickname>>."'
 				'"What a beautiful name and a loving smile." <<$npc_firstname[$boy]>> tells you.'
@@ -218,15 +218,15 @@ if $ARGS[0] = 'start':
 				act 'Decline':gt 'dateM', 'decline'
 				act 'I would love to':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'You think about it a moment and figure why not "Sure I would love to out with you."'
 					'"Great!" answers <<$npc_firstname[$boy]>> "So, what do you want to do?".'
 					gs 'dateM', 'date_choice'
 				end
 				act 'I would love to but can''t right now':
 					*clr & cla
-					gs 'boyfrend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_boyfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, I would love to go on a date with you but I''m busy right. What if I give you my number so you can call me?"'
 					'"I say that''s a great idea. I''ll be in touch." <<$npc_firstname[$boy]>> adds your number to his contact list.'
 					'"You better be." you say teasingly.'
@@ -234,7 +234,7 @@ if $ARGS[0] = 'start':
 				end
 				act'How about we fuck?':
 					cla & *clr
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"How about a fuck for the road instead?"'
 					'"Excuse me?" It''s his turn to look surprised now.'
 					'"You, me, your place, we have sex right now. How about it?"'
@@ -250,8 +250,8 @@ if $ARGS[0] = 'start':
 		end
 	!!4) Attractive Sveta
 	else
-		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-!!		'You notice a guy of <<$boybody>> height with a <<$boybod>> body and <<$boyface>> hair approaching you. He is wearing <<$boyClo>>.'
+		'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+!!		'You notice a guy of <<$npcheight>> height with <<$npcbuild_pref>> body and <<$npchair>> hair approaching you. He is wearing <<$npcClo>>.'
 !!		'He walks up to full of confidence, "Damn, baby, on a scale from 1 to 10, you''re an 11. How about a date?"'
 		'A man approaches, smiling confidently at you.'
 		'"Damn, baby, on a scale from 1 to 10, you''re an 11. How about a date?"'
@@ -260,12 +260,12 @@ if $ARGS[0] = 'start':
 			*clr & cla
 			minut += 5
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+			'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 			'"Yeah, you heard me." said <<$npc_firstname[$boy]>>. "Don''t act all that surprised, you''re good-looking, I''m good-looking we would be the perfect couple, so what do you say?"'
 			'"Isn''t someone full of confidence," you comment, seizing control of the conversation, as you contemplate your next move...'
 			act 'Remain silent':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"Come on, gorgeous, don''t give me the silent treatment."'
 				'As you hear the word gorgeous you melt straight away. You blush and mumble thanks, stammering like a buffoon.'
 				'<<$npc_firstname[$boy]>> noticing that you''re having some trouble, smiles and tells you, "I''ll ask you one more time, I don''t want to come off as desperate." he says laughing.'
@@ -276,7 +276,7 @@ if $ARGS[0] = 'start':
 				!!Go on date, same answer no matter what time of day or weather
 				act 'Decline':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry but I don''t feel myself attracted to you enough and I don''t want to lead you on."'
 					'<<$npc_firstname[$boy]>> looks at you disappointed. "Oh well, I didn''t think I had a chance but you can''t blame me for trying."'
 					'The two of you say goodbye to each other.'
@@ -284,22 +284,22 @@ if $ARGS[0] = 'start':
 				end
 				act 'Look at him in disgust':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, it''s good that you have all this confidence, but I''m way out of your league. There''s no way I would be caught seen out with you."'
 					'"What did you say, you little..." you''re not able to hear the rest as you walk away...'
 					act 'Continue': gt $loc, $loc_arg
 				end
 				act 'Agree to a date':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"Stop, you''re making me blush again. Sure, sounds like fun, I would love to."'
 					'"Great!" answers <<$npc_firstname[$boy]>> "So, what do you want to do gorgeous?".'
 					gs 'dateM', 'date_choice'
 				end
 				act 'I would love to but can''t right now':
 					*clr & cla
-					gs 'boyfrend', 'start'
-					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+					gs 'lover', 'add_boyfriend', $boy
+					'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 					'"I''m sorry, I would love to go on a date with you but I''m busy right. What if I give you my number so you can call me?"'
 					'"I say that''s a great idea. I''ll be in touch." <<$npc_firstname[$boy]>> adds your number to his contact list.'
 					'"You better be." you say teasingly.'
@@ -308,7 +308,7 @@ if $ARGS[0] = 'start':
 			end
 			act'How about we fuck?':
 				cla & *clr
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"How about a fuck for the road instead?"'
 				'"Excuse me?" It''s his turn to look surprised now.'
 				'"You, me, your place, we have sex right now. How about it?"'
@@ -326,7 +326,7 @@ end
 
 if $args[0] = 'decline':
 	*clr & cla
-	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+	'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 	'"I''m sorry but I don''t feel us clicking so I''ll have to decline."'
 	'<<$npc_firstname[$boy]>> looks at you disappointed then shrugs. "Well can''t blame a guy for trying right."'
 	'The two of you say goodbye to each other.'
@@ -478,7 +478,7 @@ if $ARGS[0] = 'walk_back':
 	'"I''ve had a great time." you say smiling. "Yeah, me too..." <<$npc_firstname[$boy]>> says quietly. "Could I get your number so I can call you?"'
 	act 'Sure':
 		*clr & cla
-		gs 'boyfrend', 'start'
+		gs 'lover', 'add_boyfriend', $boy
 		'<center><img <<$set_imgh>> src="images/locations/shared/date/givenumber.jpg"></center>'
 		'You give <<$npc_firstname[$boy]>> your number. "Now I really hope you don''t forget to call me." you tell him. "Oh, don''t worry about that I''ll be in touch." he says.'
 		'You end the date by him giving you a kiss on the cheek.'
@@ -644,7 +644,7 @@ end
 
 if $ARGS[0] = 'cinema_sure':
 	*clr & cla
-	gs 'boyfrend', 'start'
+	gs 'lover', 'add_boyfriend', $boy
 	'<center><img <<$set_imgh>> src="images/locations/shared/date/givenumber.jpg"></center>'
 	'You give <<$npc_firstname[$boy]>> your number. "Now I really hope you don''t forget to call me." you tell him. "Oh, don''t worry about that I''ll be in touch." he says.'
 	'You end the date by him giving you a kiss on the cheek.'
@@ -772,7 +772,7 @@ if $ARGS[0] = 'cafeend':
 	'"I had a great time, you''re really fun to hang out with." <<$npc_firstname[$boy]>> tells you. "Could I get your number?"'
 	act 'Sure':
 		*clr & cla
-		gs 'boyfrend', 'start'
+		gs 'lover', 'add_boyfriend', $boy
 		'<center><img <<$set_imgh>> src="images/locations/shared/date/givenumber.jpg"></center>'
 		'You give <<$npc_firstname[$boy]>> your number. "Now I really hope you don''t forget to call me." you tell him. "Oh, don''t worry about that I''ll be in touch." he says.'
 		'You end the date by him giving you a kiss on the cheek.'
@@ -961,7 +961,7 @@ if $ARGS[0] = 'barend':
 	'"I had a great time, you''re really fun to hang out with." <<$npc_firstname[$boy]>> tells you. "Could I get your number?"'
 	act 'Sure':
 		*clr & cla
-		gs 'boyfrend', 'start'
+		gs 'lover', 'add_boyfriend', $boy
 		'<center><img <<$set_imgh>> src="images/locations/shared/date/givenumber.jpg"></center>'
 		'You give <<$npc_firstname[$boy]>> your number. "Now I really hope you don''t forget to call me." you tell him. "Oh, don''t worry about that I''ll be in touch." he says.'
 		'You end the date by him giving you a kiss on the cheek.'
@@ -977,5 +977,5 @@ if $ARGS[0] = 'barend':
 	end
 end
 
---- dateM ---------------------------------
 
+--- dateM ---------------------------------

+ 6 - 3
locations/dimaHome.qsrc

@@ -948,7 +948,7 @@ if $ARGS[0] = 'dimka_chat':
 			act 'No (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
 		!! I changed the else condition so it matches up with generic boyfriends, because I think the variable boyfriend doesnt exist... if it does a third elseif must be added for boyfirend or generic boyfriends and the if conditions must be changed
-		if NikoVolkovQW >= 5 or fedorKozlovQW >= 1 or pcs_lover ! 0:
+		if NikoVolkovQW >= 5 or fedorKozlovQW >= 1 or stat['boyfriends_current'] > 0:
 			act 'I have a boyfriend':
 				*clr & cla
 				'<center><h4><font color="maroon">Dimka''s Room</font></h4></center>'
@@ -960,8 +960,11 @@ if $ARGS[0] = 'dimka_chat':
 					'You tell him. "I have a boyfriend you know, I''m dating Fedor."'
 					'He busts out laughing. "Fedor? Oh god I thought you had more sense than that. I mean if it was Lazar or Ivan, maybe. Fedor is just a hanger on, you know you could do much better than that, don''t you?" He says as he strokes your hair.'
 				else
-					'You tell him. "I have a boyfriend you know, I''m dating <<$loverdesc[0]>>."'
-					'He busts out laughing. "<<$loverdesc[0]>>? Oh god I thought you had more sense than that. You know you could do much better than him, right?" He says as he strokes your hair.'
+					$temp_npcID = func('lover', 'draw_random_from', 'boyfriend')
+
+					'You tell him. "I have a boyfriend you know, I''m dating <<$npc_usedname[$temp_npcID]>>."'
+					'He busts out laughing. "<<$npc_usedname[$temp_npcID]>>? Oh god I thought you had more sense than that. You know you could do much better than him, right?" He says as he strokes your hair.'
+					killvar '$temp_npcID'
 				end
 				gs 'willpower', 'misc', 'self', 'easy'
 				if will_cost <= pcs_willpwr:

+ 2 - 28
locations/din_bad.qsrc

@@ -7,6 +7,7 @@ $mobile_check = "gs 'din_bad', 'mobile_check'"
 if $ARGS[0] = 'mobile_check':
 	if menu_off = 0:
 		gs 'stat'
+		!{
 		if vladimirQW['day'] ! daystart and hour >= 15 and hour <= 17:
 			if vladimirQW['stage'] = 20:
 				'<b><font color="red">Your phone is ringing</font></b>'
@@ -28,6 +29,7 @@ if $ARGS[0] = 'mobile_check':
 				pl'<center><a href="exec:gt ''vladimirQW_loc'',''4''"><img src="images/system/phone/call_accept.png"></a>		<a href="exec:vladimirQW[''day''] = daystart & gt $loc, $loc_arg"><img src="images/system/phone/decline.png"></a></center>'
 			end
 		end
+		}
 
 		if leonidSlaveDay = daystart and hour >= 6 and hour <= 10 and leonidVisit = 0:
 			'<b><font color="red">Your phone is ringing</font></b>'
@@ -54,34 +56,6 @@ if $ARGS[0] = 'mobile_check':
 			pl''
 			'<center><a href="exec:gt ''qwlocdog''"><img src="images/system/phone/call_accept.png"></a>			 <a href="exec:qwdogiventday = daystart & gt $loc, $loc_arg"><img src="images/system/phone/decline.png"></a></center>'
 		end
-
-		!! iterating all lovers
-		lover_number = 0
-		:loverloop
-			$temp_npcid = $lover[lover_number]
-			if pcs_lovers[lover_number] = 1 and loverday[lover_number] ! daystart and hour > 5 and hour < 20 and ringA = 0 and rand(1,7) > 5:
-				if pcs_apprnc < vneshlover[lover_number]:
-					loverrelation[lover_number] -= 1
-					if loverrelation[lover_number] = 0:
-						'<b><font color="red">Your lover hasn''t been calling you lately, they''ve probably grown tired of you.</font></b>'
-					else
-						'Your lover <<$loverdesc[lover_number]>> has not called you.'
-					end
-				else
-					ring = 1
-					ringA = 1
-					'<b><font color="red">Your phone is ringing</font></b>'
-					PLAY 'sound/old_phone.mp3',30
-					$caller = '<<$loverdesc[lover_number]>>'
-					$callerid = $npc_pic[$temp_npcid]
-					gs 'telefon','phone_ring'
-					pl'<center><a href="exec:gt ''telefon'', ''lover'', <<lover_number>>"><img src="images/system/phone/call_accept.png"></a>			 <a href="exec:gt $loc, $loc_arg"><img src="images/system/phone/decline.png"></a></center>'
-				end
-			end
-			lover_number += 1
-		if lover_number < arrsize('pcs_lovers'): jump 'loverloop'
-		killvar '$temp_npc_id'
-		killvar 'lover_number'
 	end
 end
 

+ 60 - 56
locations/din_van.qsrc

@@ -1288,7 +1288,7 @@ if $ARGS[0] = 'private':
 			mc_inventory['pregnancy_test'] -= 1
 			gs 'stat'
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
-			if pregchem > 120 and bimbolevel < 3 and hypnoAddict = 0 and knowpreg = 0 and husband = 0 and pcs_pregtalk = 0:
+			if pregchem > 120 and bimbolevel < 3 and hypnoAddict = 0 and knowpreg = 0 and $husID = '' and pcs_pregtalk = 0:
 				cla
 				knowpreg = 1
 				thinkpreg = 1
@@ -1297,7 +1297,7 @@ if $ARGS[0] = 'private':
 				act 'Horrified':gt 'din_van', 'HorrifiedReact1'
 				act 'Concerned':gt 'din_van', 'ConcernedReact1'
 				act 'Excited':gt 'din_van', 'ExcitedReact1'
-			elseif pregchem > 120 and (bimbolevel = 3 or hypnoAddict = 1) and knowpreg = 0 and husband = 0 and pcs_pregtalk = 0:
+			elseif pregchem > 120 and (bimbolevel = 3 or hypnoAddict = 1) and knowpreg = 0 and $husID = '' and pcs_pregtalk = 0:
 				cla
 				knowpreg = 1
 				thinkpreg = 1
@@ -1305,11 +1305,11 @@ if $ARGS[0] = 'private':
 				'The test shows two strips. You are pregnant. As you look at the test in your hand, you are...'
 				act 'Excited':gt 'din_van', 'ExcitedReact1'
 				if pcs_horny >= 50 or bimbolevel = 3: act 'Aroused':gt 'din_van', 'ArousedReact1'
-			elseif pregchem > 120 and knowpreg = 0 and husband = 1 and kid = 0 and pcs_pregtalk = 0:
+			elseif pregchem > 120 and knowpreg = 0 and $husID ! '' and kid = 0 and pcs_pregtalk = 0:
 				knowpreg = 1
 				thinkpreg = 1
 				gt 'din_van', 'WifeReact1'
-			elseif pregchem > 120 and knowpreg = 0 and husband = 1 and kid > 0 and pcs_pregtalk = 0:
+			elseif pregchem > 120 and knowpreg = 0 and $husID ! '' and kid > 0 and pcs_pregtalk = 0:
 				knowpreg = 1
 				thinkpreg = 1
 				gt 'din_van', 'WifeReact2'
@@ -1352,8 +1352,8 @@ if $ARGS[0] = 'misery':
 	menu_off = 1
 
 	if mc_inventory['tech_washing_machine'] > 0:
-		if husband > 0 and husbanday > 0 and husporday ! daystart and mc_inventory['laundry_soap'] >= 1:
-			husband += 5
+		if $husID ! '' and spouseVars['marry_day'] > daystart and husporday ! daystart and mc_inventory['laundry_soap'] >= 1:
+			npc_rel[$husID] += 5
 			mc_inventory['laundry_soap'] -= 1
 			husporday = daystart
 			'The washing machine washed your husband''s dirty laundry.'
@@ -1362,34 +1362,36 @@ if $ARGS[0] = 'misery':
 		end
 	end
 
-	if husband > 0 and husbanday > 0 and husporday ! daystart and mc_inventory['laundry_soap'] >= 2:
-		act 'Wash your husband''s clothes (2 units of washing powder) (1:00)':
-			*clr & cla
-			husband += 5
-			mc_inventory['laundry_soap'] -= 2
-			minut += 60
-			husporday = daystart
-			pcs_mood -= 20
-			'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/stir.jpg"></center>'
-			*nl
-			'You spend an hour washing your husband''s dirty laundry.'
+	if $husID ! '':
+		if spouseVars['marry_day'] > daystart and husporday ! daystart and mc_inventory['laundry_soap'] >= 2:
+			act 'Wash your husband''s clothes (2 units of washing powder) (1:00)':
+				*clr & cla
+				npc_rel[$husID] += 5
+				mc_inventory['laundry_soap'] -= 2
+				minut += 60
+				husporday = daystart
+				pcs_mood -= 20
+				'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/stir.jpg"></center>'
+				*nl
+				'You spend an hour washing your husband''s dirty laundry.'
 
-			act 'Leave the bathroom':menu_off = 0 & gt $loc, $loc_arg
+				act 'Leave the bathroom': menu_off = 0 & gt $loc, $loc_arg
+			end
 		end
-	end
 
-	if husband > 0 and husbanday > 0 and huspolday ! daystart:
-		act 'Clean the apartment (1:00)':
-			*clr & cla
-			husband += 5
-			minut += 60
-			huspolday = daystart
-			pcs_mood -= 20
-			!!'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
-			*nl
-			'You take a rag and start cleaning the apartment.'
+		if spouseVars['marry_day'] > daystart and huspolday ! daystart:
+			act 'Clean the apartment (1:00)':
+				*clr & cla
+				npc_rel[$husID] += 5
+				minut += 60
+				huspolday = daystart
+				pcs_mood -= 20
+				!!'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
+				*nl
+				'You take a rag and start cleaning the apartment.'
 
-			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
+				act 'Finish': menu_off = 0 & gt $loc, $loc_arg
+			end
 		end
 	end
 end
@@ -1398,8 +1400,8 @@ if $ARGS[0] = 'misery_2':
 	menu_off = 1
 
 	if mc_inventory['tech_washing_machine'] > 0:
-		if husband > 0 and husbanday > 0 and husporday ! daystart and mc_inventory['laundry_soap'] >= 1:
-			husband += 5
+		if $husID ! '' and spouseVars['marry_day'] > daystart and husporday ! daystart and mc_inventory['laundry_soap'] >= 1:
+			npc_rel[$husID] += 5
 			mc_inventory['laundry_soap'] -= 1
 			husporday = daystart
 			'The washing machine washed your husband''s dirty laundry.'
@@ -1408,34 +1410,36 @@ if $ARGS[0] = 'misery_2':
 		end
 	end
 
-	if husband > 0 and husbanday > 0 and husporday ! daystart and mc_inventory['laundry_soap'] >= 2:
-		act 'Wash your husband''s clothes (2 units of washing powder) (1:00)':
-			*clr & cla
-			husband += 5
-			mc_inventory['laundry_soap'] -= 2
-			minut += 60
-			husporday = daystart
-			pcs_mood -= 20
-			'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/stir.jpg"></center>'
-			*nl
-			'You spend an hour washing your husband''s dirty laundry.'
+	if $husID ! '':
+		if husporday ! daystart and mc_inventory['laundry_soap'] >= 2:
+			act 'Wash your husband''s clothes (2 units of washing powder) (1:00)':
+				*clr & cla
+				npc_rel[$husID] += 5
+				mc_inventory['laundry_soap'] -= 2
+				minut += 60
+				husporday = daystart
+				pcs_mood -= 20
+				'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/stir.jpg"></center>'
+				*nl
+				'You spend an hour washing your husband''s dirty laundry.'
 
-			act 'Leave the bathroom':menu_off = 0 & gt $loc, $loc_arg
+				act 'Leave the bathroom': menu_off = 0 & gt $loc, $loc_arg
+			end
 		end
-	end
 
-	if husband > 0 and husbanday > 0 and huspolday ! daystart:
-		act 'Clean the apartment (1:00)':
-			*clr & cla
-			husband += 5
-			minut += 60
-			huspolday = daystart
-			pcs_mood -= 20
-			!!'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
-			*nl
-			'You take a rag and start cleaning the apartment.'
+		if spouseVars['marry_day'] > daystart and huspolday ! daystart:
+			act 'Clean the apartment (1:00)':
+				*clr & cla
+				npc_rel[$husID] += 5
+				minut += 60
+				huspolday = daystart
+				pcs_mood -= 20
+				!!'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
+				*nl
+				'You take a rag and start cleaning the apartment.'
 
-			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
+				act 'Finish': menu_off = 0 & gt $loc, $loc_arg
+			end
 		end
 	end
 end

+ 145 - 173
locations/event.qsrc

@@ -1,25 +1,24 @@
 # event
 !2021/05/06
 
+menu_off = 1
+
 if $ARGS[0] = 'klof 2':
-	cla
-	*clr
+	*clr & cla
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/jora/15 1.jpg"></center>'
 	'"Well baby, come and see us if you want more entertainment, and if you behave, you can earn some cash"'
 	'- "Okay, guys give her our address."'
 
-	act 'Get dressed':gt 'event', 'klof 3'
-	!!act 'Move away':gt 'city_park', 'start'
+	act 'Get dressed': gt 'event', 'klof 3'
+	!!act 'Move away': gt 'city_park', 'start'
 end
 
 if $ARGS[0] = 'klof 3':
-	cla
-	*clr
+	*clr & cla
 	minut += 5
 	klofQW = 2
-	clr
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/jora/15 1.jpg"></center>'
 	'With sudden curiosity, you ask:'
@@ -27,49 +26,45 @@ if $ARGS[0] = 'klof 3':
 	'"Of course, Come visit us in the afternoons and we''ll talk", the guy says and smirks at you.'
 	'(It turns out, they live really close to you.)'
 
-	act 'Leave':gt 'city_park', 'start'
+	act 'Leave': gt 'city_park', 'start'
 end
 
 if $ARGS[0] = 'city_park':
-	cla
-	*clr
+	*clr & cla
 	'<center><img <<$set_imgh>> src="images/locations/city/centralpark/sex/event/benchkiss.jpg"></center>'
 	'You find a quiet, deserted bench off the main paths, you sit together and you start to kiss, but you want more.'
 	gs 'arousal', 'kiss', 5
 	gs 'stat'
-	act 'Masturbate him':gt 'event', 'hand'
-	act 'Suck':gt 'event', 'blow'
-	act 'Fuck':gt 'event', 'sex'
+	act 'Masturbate him': gt 'event', 'hand'
+	act 'Suck': gt 'event', 'blow'
+	act 'Fuck': gt 'event', 'sex'
 end
 
 if $ARGS[0] = 'hand':
-	cla
-	*clr
+	*clr & cla
 	bfa += 1
 	'<center><img <<$set_imgh>> src="images/locations/city/centralpark/sex/event/event.jpg"></center>'
-	'Without breaking the kiss you deftly unbutton his pants <<$loverdesc[lover_number]>> and start to wank your <<loverdick[lover_number]>> cm friend. Unable to withstand such pressure he spills his seed on the ground.'
+	'Without breaking the kiss you deftly unbutton his pants <<$boydesc>> and start to wank your <<npc_dick[$boy]>> cm friend. Unable to withstand such pressure he spills his seed on the ground.'
 	gs 'arousal', 'hj', 5, 'dom'
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Finish walk':gt 'city_park', 'start'
+	act 'Finish walk': gt 'city_park', 'start'
 end
 
 if $ARGS[0] = 'blow':
-	cla
-	*clr
+	*clr & cla
 	bfa += 2
 	'<center><img <<$set_imgh>> src="images/locations/city/centralpark/sex/event/event1.jpg"></center>'
-	'You get on your knees, unbutton his pants, and dramatically immerse yourself in sucking his member, looking up as his face relaxs. After a few minutes the <<$loverdesc[lover_number]>> tenses in anticipation of orgasm'
+	'You get on your knees, unbutton his pants, and dramatically immerse yourself in sucking his member, looking up as his face relaxs. After a few minutes the <<$boydesc>> tenses in anticipation of orgasm'
 	gs 'arousal', 'bj', 5, 'sub'
 	gs 'stat'
 	act 'Continue sucking.':
 		cla
 		gs 'cum_call', 'mouth_swallow', $boy, 1
 		'<center><img <<$set_imgh>> src="images/shared/sex/cum/mouth/cum30.jpg"></center>'
-		'A jet of hot sperm hits you in the mouth. You begin to swallow cum, and <<$loverdesc[lover_number]>> continues to cum in your mouth. Finally, the flow of hot pungent liquid stops.'
+		'A jet of hot sperm hits you in the mouth. You begin to swallow cum, and <<$boydesc>> continues to cum in your mouth. Finally, the flow of hot pungent liquid stops.'
 
 		act 'Leave':
-			cla
 			gs 'arousal', 'end'
 			gs 'stat'
 			gt 'city_park', 'start'
@@ -79,32 +74,29 @@ if $ARGS[0] = 'blow':
 	act 'Remove from your mouth.':
 		cla
 
-		if haraklover[lover_number] = 0:
+		if npc_gentle[$boy] = 1:
 			'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hj.jpg"></center>'
-			'You take his cock out of your mouth and <<$loverdesc[lover_number]>> finishes in your hand.'
-		elseif haraklover[lover_number] = 1:
+			'You take his cock out of your mouth and <<$boydesc>> finishes in your hand.'
+		elseif npc_rough[$boy] = 0:
 			tiprand = rand(0, 3)
 
-			if tiprand < 3:
+			if rand(0, 3) < 3:
 				'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hj.jpg"></center>'
-				'You take his cock out of your mouth and <<$loverdesc[lover_number]>> finishes in your hand.'
-			elseif tiprand = 3:
-
+				'You take his cock out of your mouth and <<$boydesc>> finishes in your hand.'
+			else
 				spafinloc = 11
 				gs 'cum_manage'
 				'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/facial0,8.jpg"></center>'
-				'You took his cock out of your mouth and immediatly <<$loverdesc[lover_number]>> cums directly on your face, covering it with his warm and sticky seed.'
+				'You took his cock out of your mouth and immediatly <<$boydesc>> cums directly on your face, covering it with his warm and sticky seed.'
 			end
-		elseif haraklover[lover_number] = 2:
-
+		else
 			spafinloc = 11
 			gs 'cum_manage'
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/facial0,8.jpg"></center>'
-			'<<$loverdesc[lover_number]>> holds your hair, pulls his dick out of your mouth and finishes on your face. Covering it with warm and sticky cum.'
+			'<<$boydesc>> holds your hair, pulls his dick out of your mouth and finishes on your face. Covering it with warm and sticky cum.'
 		end
 
 		act 'Leave':
-			cla
 			gs 'arousal', 'end'
 			gs 'stat'
 			gt 'city_park', 'start'
@@ -113,39 +105,36 @@ if $ARGS[0] = 'blow':
 end
 
 if $ARGS[0] = 'sex':
-	cla
-	*clr
+	*clr & cla
 	'<center><img <<$set_imgh>> src="images/locations/city/centralpark/sex/event/event2.jpg"></center>'
 	bfa += 3
 	pose = 1
-	gs 'boyStat', $lover[lover_number]
 	'<center><img <<$set_imgh>> src="images/shared/sex/vag/doggy/dog.jpg"></center>'
 	'You remove your heels, pull down your pants, and shake your ass invitingly. <<$boydesc>> pushes you onto all fours, and abruptly enters you'
 	gs 'arousal', 'vaginal', 15, 'sub'
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Complete walk':gt 'city_park', 'start'
+	act 'Complete walk': gt 'city_park', 'start'
 end
 
 if $ARGS[0] = 'dima':
-	cls
+	*clr & cla
 	gs 'stat'
 	'Seeing that you are interested, the man walks up to you.'
 	'He stands in front of you and asks politely:'
 	'"Hey girl. You look lonely there, maybe you can help me out."'
 
-	act 'Not interested':gt 'shop', 'start'
+	act 'Not interested': gt 'shop', 'start'
 
 	act 'Help him?':
 		cla
 		'"Help you how, exactly?" you ask.'
 		'"Well you see, my friend is visiting me and my wife, and you well, three''s a bit awkward. However, if you join us for a drink and a chat, it would be much more relaxed. I promise it won''t be boring.'
 
-		act 'No':gt 'shop', 'start'
+		act 'No': gt 'shop', 'start'
 
 		act 'Yes':
-			cla
-			*clr
+			*clr & cla
 			minut = minut + 60
 			'"Thanks, My name is Dmitry".'
 			'You hold out your hand to him - "<<$pcs_nickname>>".'
@@ -174,7 +163,7 @@ if $ARGS[0] = 'dima':
 end
 
 if $ARGS[0] = 'dima2':
-	cls
+	*clr & cla
 	gs 'stat'
 	'You drank one shot, then another, and so on, until you are a little tipsy. The men took turns to telling you entertaining stories, you had a lot of fun. The wife did not come of course, but you never thought to ask about it.'
 	'Dima turns on some music, and invites you to dance. Alexei protested, "You can''t dance with Dima and not me!"'
@@ -189,21 +178,21 @@ if $ARGS[0] = 'dima2':
 	gs 'arousal', 'foreplay', 5, 'sub', 'group'
 	minut -= 5
 	gs 'stat'
-	act 'Moan with pleasure':gt 'event', 'dima3'
+	act 'Moan with pleasure': gt 'event', 'dima3'
 end
 
 if $ARGS[0] = 'dima3':
-	cls
+	*clr & cla
 	minut += 10
 	gs 'stat'
 	'They take you to the bedroom. In an instant, your gallant gentlemen turn into animals, and you into a whore. This turns you on even more. In the bedroom stands a large bed, the men unzip their pants and take out their huge cocks.'
 	'"Go on start sucking, I see that you want it" says Alex.'
 
-	act 'Kneel down':gt 'event', 'dima4'
+	act 'Kneel down': gt 'event', 'dima4'
 end
 
 if $ARGS[0] = 'dima4':
-	cls
+	*clr & cla
 	guy += 2
 	pcs_throat += 1
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima.jpg"></center>'
@@ -218,11 +207,11 @@ if $ARGS[0] = 'dima4':
 	gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
 	minut -= 30
 	gs 'stat'
-	act 'Scream in pain':gt 'event', 'dima5'
+	act 'Scream in pain': gt 'event', 'dima5'
 end
 
 if $ARGS[0] = 'dima5':
-	cls
+	*clr & cla
 	pcs_throat += 1
 	pcs_ass += 1
 	spafinloc = 4
@@ -243,14 +232,12 @@ if $ARGS[0] = 'dima5':
 	gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
 	minut -= 10
 	gs 'stat'
-	act 'Lick':gt 'event', 'dima6'
+	act 'Lick': gt 'event', 'dima6'
 end
 
 if $ARGS[0] = 'dima6':
-	cls
-
-	if pcs_makeup > 1:pcs_makeup = 0
-
+	*clr & cla
+	if pcs_makeup > 1: pcs_makeup = 0
 	spafinloc = 12
 	gs 'cum_manage'
 	gs 'stat'
@@ -259,11 +246,11 @@ if $ARGS[0] = 'dima6':
 	'"Did you like how we fucked you?"'
 	gs 'arousal', 'bj', 10, 'sub'
 	gs 'stat'
-	act 'Very much':gt 'event', 'dima7'
+	act 'Very much': gt 'event', 'dima7'
 end
 
 if $ARGS[0] = 'dima7':
-	cls
+	*clr & cla
 	pcs_vag += 1
 	pcs_ass += 1
 	gs 'cum_manage'
@@ -286,11 +273,11 @@ if $ARGS[0] = 'dima7':
 	gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
 	minut -= 10
 	gs 'stat'
-	act 'No please... I''ll do whatever you want!':gt 'event', 'dima8'
+	act 'No please... I''ll do whatever you want!': gt 'event', 'dima8'
 end
 
 if $ARGS[0] = 'dima8':
-	cls
+	*clr & cla
 	spank += 1
 	minut += 5
 	gs 'stat'
@@ -300,34 +287,34 @@ if $ARGS[0] = 'dima8':
 	'He puts you doggy-style on the floor and starts beating your ass with the belt, you cry and beg him to stop. Ass burning with pain. Each hit getting more painful.'
 	'"Get up bitch!" he ties your hands with the belt, "suck my dick before bedtime."'
 	gs 'pain', 2, 'asscheeks', 'spank'
-	act 'Suck':gt 'event', 'dima9'
+	act 'Suck': gt 'event', 'dima9'
 end
 
 if $ARGS[0] = 'dima9':
-	cls
+	*clr & cla
 	pcs_throat += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima5.jpg"></center>'
 	'Alex holds your head and starts to fuck your mouth, it does not last very long. His dick is big and goes deep into your throat, he holds your hair. When he has finished, he ties you to a radiator and collapses on the sofa bed.'
 	gs 'arousal', 'bj', 5, 'sub', 'deepthroat', 'rough', 'bound'
 	gs 'stat'
-	act 'Cry from the beating':gt 'event', 'dima10'
+	act 'Cry from the beating': gt 'event', 'dima10'
 end
 
 if $ARGS[0] = 'dima10':
-	cls
+	*clr & cla
 	minut += 30
 	dimaQW = 2
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
 	'You are tied to the radiator weeping uncontrolably. Your ass is on fire after the whipping. The drunken men have gine to bed. Finally you hear them snoring loudly.'
 
-	act 'Struggle free and escape':gt 'city_residential'
-	act 'Fall asleep':gt 'event', 'dima11'
+	act 'Struggle free and escape': gt 'city_residential'
+	act 'Fall asleep': gt 'event', 'dima11'
 end
 
 if $ARGS[0] = 'dima11':
-	cls
+	*clr & cla
 	minut += 480
 	datster = 1
 	gs 'stat'
@@ -336,11 +323,11 @@ if $ARGS[0] = 'dima11':
 	'"I bet you''re hungy", you recognize Dimas'' voice, "Breakfast must be earned!"'
 	gs 'arousal', 'bj', 10, 'sub', 'deepthroat', 'rough', 'bound'
 	gs 'stat'
-	act 'Suck':gt 'event', 'dima12'
+	act 'Suck': gt 'event', 'dima12'
 end
 
 if $ARGS[0] = 'dima12':
-	cls
+	*clr & cla
 	pcs_throat += 1
 	gs 'cum_call', 'mouth_swallow', $boy, 1
 	gs 'stat'
@@ -350,13 +337,13 @@ if $ARGS[0] = 'dima12':
 	gs 'arousal', 'foreplay', 10, 'sub'
 	minut -= 10
 	gs 'stat'
-	act 'Grudgingly comply':gt 'event', 'dima13'
-	act 'Enthusiastically lick his balls':gt 'event', 'dima14'
-	act 'Bite his balls':gt 'event', 'dima31'
+	act 'Grudgingly comply': gt 'event', 'dima13'
+	act 'Enthusiastically lick his balls': gt 'event', 'dima14'
+	act 'Bite his balls': gt 'event', 'dima31'
 end
 
 if $ARGS[0] = 'dima13':
-	cls
+	*clr & cla
 	minut += 5
 	balls += 1
 	gs 'stat'
@@ -364,22 +351,21 @@ if $ARGS[0] = 'dima13':
 	'You lick and suck his shaven balls, but he doesn''t seem to like it. After a couple of minutes, he slaps you and says:'
 	'"What the fuck? I''m going to have to teach you some obedience!"'
 
-	act 'Look down':gt 'event', 'dima39'
+	act 'Look down': gt 'event', 'dima39'
 end
 
 if $ARGS[0] = 'dima14':
-	*clr
-	cla
+	*clr & cla
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima9.jpg"></center>'
 	'You remember having seen this done in a porno, and try to emulate. Your tongue and lips lick and kiss every millimeter, moistening the tender skin. Then a smooth transition to his cock which you swallow whole, he immediately pushes against your head and rapidly fucks your throat again, without releasing, until his cock starts convulse'
 	gs 'arousal', 'bj', 10, 'sub', 'group', 'deepthroat', 'rough', 'bound'
 	gs 'cum_call', 'mouth_swallow', $boy, 1
 	gs 'stat'
-	act 'Swallow':gt 'event', 'dima15'
+	act 'Swallow': gt 'event', 'dima15'
 end
 
 if $ARGS[0] = 'dima15':
-	cls
+	*clr & cla
 	minut += 10
 	runrnd = rand(0, 10)
 
@@ -395,11 +381,11 @@ if $ARGS[0] = 'dima15':
 		end
 	end
 
-	act 'Go to the bathroom':gt 'event', 'dima16'
+	act 'Go to the bathroom': gt 'event', 'dima16'
 end
 
 if $ARGS[0] = 'dima16':
-	cls
+	*clr & cla
 	minut += 30
 	lobkoef = 3
 	cumspclnt = 20
@@ -408,12 +394,12 @@ if $ARGS[0] = 'dima16':
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
 	'You convolse as you find a mesh bodysuit in the parcel. In the bathroom, you wash off the thick layer of sperm and shave as needed, then apply makeup.'
 
-	act 'Wear bodysuit':gt 'event', 'dima19'
-	act 'Don''t wear bodysuit':gt 'event', 'dima17'
+	act 'Wear bodysuit': gt 'event', 'dima19'
+	act 'Don''t wear bodysuit': gt 'event', 'dima17'
 end
 
 if $ARGS[0] = 'dima17':
-	cls
+	*clr & cla
 	runrnd = rand(0, 10)
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
@@ -429,35 +415,33 @@ if $ARGS[0] = 'dima17':
 end
 
 if $ARGS[0] = 'dima18':
-	cls
+	*clr & cla
 	minut += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
 	'"Oh, we have a defiant bitch! You think you can do what you want? Fuck! You''re nobody here, and you will do what you are told! You like to go naked in public? Great! We''ll help you!" With these words something is sprayed in your face, and you passed out.'
 
-	act 'Fall asleep':gt 'event', 'dima49'
+	act 'Fall asleep': gt 'event', 'dima49'
 end
 
 if $ARGS[0] = 'dima19':
-	clr
+	*clr & cla
 	gs 'stat'
 	'Subdued and in shock, you have lost any desire to stand up to these men'
 
-	act 'Go to them':gt 'event', 'dima20'
+	act 'Go to them': gt 'event', 'dima20'
 end
 
 if $ARGS[0] = 'dima20':
-	cls
+	*clr & cla
 	gs 'stat'
 	'"Well done, bitch. Now that you are well trained, time for your reward"'
 
-	act 'Obey the men unreservedly':gt 'event', 'dima21'
+	act 'Obey the men unreservedly': gt 'event', 'dima21'
 end
 
 if $ARGS[0] = 'dima21':
-	cla
-	clr
-	*clr
+	*clr & cla
 	dimaQW = 2
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima3.jpg"></center>'
@@ -469,7 +453,7 @@ if $ARGS[0] = 'dima21':
 	minut -= 80
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Leave':gt 'city_residential'
+	act 'Leave': gt 'city_residential'
 end
 
 if $ARGS[0] = 'dima30':
@@ -479,7 +463,7 @@ if $ARGS[0] = 'dima30':
 	gs 'stat'
 	'I confess, I am a sinner, a writer from me worthless, and all my dark little thoughts went to the recent arrival of women. If there are interesting ideas/scenarios to continue - fling in a personal, zabubenyu'
 
-	act 'Leave':gt 'city_residential'
+	act 'Leave': gt 'city_residential'
 end
 
 if $ARGS[0] = 'dima31':
@@ -492,13 +476,11 @@ if $ARGS[0] = 'dima31':
 	'"Bitch, you think you can get away with that?!"'
 	'You feel a strong blow to your face and lose consciousness.'
 
-	act 'Wake up':gt 'event', 'dima32'
+	act 'Wake up': gt 'event', 'dima32'
 end
 
 if $ARGS[0] = 'dima32':
-	cla
-	clr
-	*clr
+	*clr & cla
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10028_tommypistoljacquelineblacklady_180.jpg"></center>'
 	'You wake up to a bright light, making you squint. Your mouth is dry. What is stopping you from shuting your mouth? Your body aches.'
@@ -508,7 +490,7 @@ if $ARGS[0] = 'dima32':
 	'With these words, Alex puts you on your knees in front of him, he pulls out his penis and puts it in your mouth.'
 	gs 'arousal', 'bj', 10, 'sub'
 	gs 'stat'
-	act 'Resist':gt 'event', 'dima33'
+	act 'Resist': gt 'event', 'dima33'
 	gs 'willpower', 'misc', 'self', 'medium'
 	if will_cost <= pcs_willpwr:
 		act 'Kick (<<will_cost>> Willpower)':
@@ -522,9 +504,7 @@ if $ARGS[0] = 'dima32':
 	end
 end
 if $ARGS[0] = 'dima33':
-	cla
-	clr
-	*clr
+	*clr & cla
 	pcs_throat += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10028_tommypistoljacquelineblacklady_183.jpg"></center>'
@@ -533,13 +513,11 @@ if $ARGS[0] = 'dima33':
 	'"Oh, are you enjoying safe sex? Come on, don''t stop!"'
 	gs 'arousal', 'bj', 10, 'sub', 'deepthroat'
 	gs 'stat'
-	act 'Continue to please':gt 'event', 'dima38'
-	act 'Stop tongue movement':gt 'event', 'dima34'
+	act 'Continue to please': gt 'event', 'dima38'
+	act 'Stop tongue movement': gt 'event', 'dima34'
 end
 if $ARGS[0] = 'dima34':
-	cla
-	clr
-	*clr
+	*clr & cla
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10028_tommypistoljacquelineblacklady_187.jpg"></center>'
 	'Alex realizes, you''re not going to continue humoring him:'
@@ -548,16 +526,14 @@ if $ARGS[0] = 'dima34':
 	'You are trapped in an empty underground passage. Alex takes the gag out of your mouth, and you''re finally able to close it.'
 	'As you start to get some feeling back in your jaw, he blindfolds you, turns you around and bends you over.'
 
-	act 'stand still':gt 'event', 'dima35'
+	act 'stand still': gt 'event', 'dima35'
 end
 if $ARGS[0] = 'dima35':
-	cla
-	clr
-	*clr
+	*clr & cla
 	pcs_vag += 1
 	rape += 1
 	spafinloc = 11
-gs 'cum_manage'
+	gs 'cum_manage'
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10028_tommypistoljacquelineblacklady_301.jpg"></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10028_tommypistoljacquelineblacklady_301.jpg"></center>'
@@ -568,25 +544,21 @@ gs 'cum_manage'
 	$orgasm_or = 'yes'
 	gs 'arousal', 'vaginal', 30, 'sub', 'rough', 'bound'
 	gs 'stat'
-	act 'Recover':gt 'event', 'dima36'
+	act 'Recover': gt 'event', 'dima36'
 end
 
 if $ARGS[0] = 'dima36':
-	cla
-	clr
-	*clr
+	*clr & cla
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10028_tommypistoljacquelineblacklady_352.jpg"></center>'
 	'After sitting in this position for a few minutes, you start to free your hands. Once they''re loose, you tear off the blindfold, and wipe as much of the sperm of your face as is possible.'
 	'Looking around, you find the box Alex had put your stuff it. You get dressed and find a passage that leads to the street above.'
 
-	act 'Leave':gt 'city_residential'
+	act 'Leave': gt 'city_residential'
 end
 if $ARGS[0] = 'dima37':
-	cla
-	clr
-	*clr
+	*clr & cla
 	minut += 30
 	money = 0
 	gs 'stat'
@@ -597,10 +569,10 @@ if $ARGS[0] = 'dima37':
 	'Your dress is trampled and torn in places, but still able to cover your body. You are lost, but after a while find the supermarket, where you met Dima.'
 	'Only then do you realize Alex took all your money.'
 
-	act 'Relax':gt 'city_residential'
+	act 'Relax': gt 'city_residential'
 end
 if $ARGS[0] = 'dima38':
-	cls
+	*clr & cla
 	spafinloc = 12
 	gs 'cum_manage'
 	pcs_throat += 1
@@ -615,22 +587,22 @@ if $ARGS[0] = 'dima38':
 	gs 'arousal', 'bj', 10, 'sub', 'deepthroat', 'rough', 'bound'
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Leave':gt 'city_residential'
+	act 'Leave': gt 'city_residential'
 end
 
 if $ARGS[0] = 'dima39':
-	cls
+	*clr & cla
 	minut += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/13606_zenzaragginikisweet085.jpg"></center>'
 	'Alex dresses you, sticks a gag in your mouth and binds your hands. Then he leads you from the apartment, and onto a bus going to the center. It is surprisingly empty.'
 	'"I noticed you didn''t try to escape last night, so I''m thinking, maybe you simply didn''t get enough sex? Don''t worry I''ll fix that mistake.'
 
-	act 'Smile seductively':gt 'event', 'dima40'
-	act 'Try to get away':gt 'event', 'dima45'
+	act 'Smile seductively': gt 'event', 'dima40'
+	act 'Try to get away': gt 'event', 'dima45'
 end
 if $ARGS[0] = 'dima40':
-	cls
+	*clr & cla
 	pcs_vag += 2
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/13606_zenzaragginikisweet113.jpg"></center>'
@@ -638,11 +610,11 @@ if $ARGS[0] = 'dima40':
 	'You begin to move rhythmically, but the bus keeps bouncing around, adding new sensations.'
 	gs 'arousal', 'vaginal', 10, 'sub', 'exhibitionism'
 	gs 'stat'
-	act 'Change position':gt 'event', 'dima41'
+	act 'Change position': gt 'event', 'dima41'
 end
 
 if $ARGS[0] = 'dima41':
-	cls
+	*clr & cla
 	minut += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/13606_zenzaragginikisweet154.jpg"></center>'
@@ -653,11 +625,11 @@ if $ARGS[0] = 'dima41':
 	'Soon you find a small clearing in the park.'
 	'"Time to show me that you can do even better than this morning!"'
 
-	act 'Kneel down':gt 'event', 'dima42'
+	act 'Kneel down': gt 'event', 'dima42'
 end
 
 if $ARGS[0] = 'dima42':
-	cls
+	*clr & cla
 	spafinloc = 12
 	gs 'cum_manage'
 	pcs_throat += 1
@@ -672,12 +644,12 @@ if $ARGS[0] = 'dima42':
 	'"I''ll be gone for a couple of hours, when I get back, I''ll bring your stuff. You just sit here and show off your skills, like a good little girl!"'
 	gs 'arousal', 'bj', 10, 'sub', 'deepthroat', 'bound'
 	gs 'stat'
-	act 'Wait for his return':gt 'event', 'dima43'
-	act 'Leave':gt 'event', 'dima44'
+	act 'Wait for his return': gt 'event', 'dima43'
+	act 'Leave': gt 'event', 'dima44'
 end
 
 if $ARGS[0] = 'dima43':
-	cls
+	*clr & cla
 	minut += 50
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/13606_zenzaragginikisweet263.jpg"></center>'
@@ -687,10 +659,10 @@ if $ARGS[0] = 'dima43':
 	'When Alex returns, he unties you, and hands you your stuff. He says that he was sorry he has to leave and would be very happy for another "rendezvous" with you.'
 	'You dress, Take your things and hurriedly leave him.'
 
-	act 'Go to the yard':gt 'city_residential'
+	act 'Go to the yard': gt 'city_residential'
 end
 if $ARGS[0] = 'dima44':
-	cls
+	*clr & cla
 	minut += 5
 	money = 0
 	gs 'stat'
@@ -699,10 +671,10 @@ if $ARGS[0] = 'dima44':
 	'Unfortunately he took your money. You find a sharpened stone, and when your hands are free, you carefully wipe the semen from your face.'
 	'You are lost, but after a while manage to find yourself the supermarket where you met Dimitry.'
 
-	act 'Relax':gt 'city_residential'
+	act 'Relax': gt 'city_residential'
 end
 if $ARGS[0] = 'dima45':
-	cls
+	*clr & cla
 	minut += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/13606_zenzaragginikisweet084.jpg"></center>'
@@ -711,11 +683,11 @@ if $ARGS[0] = 'dima45':
 	'"Hello there", A girl greets you. She unceremoniously grabs you and takes to a back room. There she undresses you.'
 	'"Follow me", the girl leads you to the stairs.'
 
-	act 'Go to the basement':gt 'event', 'dima46'
+	act 'Go to the basement': gt 'event', 'dima46'
 end
 
 if $ARGS[0] = 'dima46':
-	cls
+	*clr & cla
 	pcs_throat += 1
 	gs 'npcgeneratec', 0, 'gloryhole stranger', rand(19,45)
 	gs 'boyStat', $npclastgenerated
@@ -731,12 +703,12 @@ if $ARGS[0] = 'dima46':
 	'"Your companion has been paid for a certain number of customers. Do you think you can manage, or do you need my help?'
 	gs 'arousal', 'bj', 5, 'sub', 'prostitution', 'unknown'
 	gs 'stat'
-	act 'Agree to suck':gt 'event', 'dima47'
-	act 'Two of you would make it easier':gt 'event', 'dima48'
+	act 'Agree to suck': gt 'event', 'dima47'
+	act 'Two of you would make it easier': gt 'event', 'dima48'
 end
 
 if $ARGS[0] = 'dima47':
-	cls
+	*clr & cla
 	pcs_throat += 5
 	dimagh_counter = 0
 	:gloryhole1
@@ -769,11 +741,11 @@ if $ARGS[0] = 'dima47':
 	gs 'arousal', 'end'
 	gs 'stat'
 	killvar 'dimagh_counter'
-	act 'Get Outside' :gt 'city_industrial'
+	act 'Get Outside' : gt 'city_industrial'
 end
 
 if $ARGS[0] = 'dima48':
-	cls
+	*clr & cla
 	pcs_throat += 5
 	dimagh_counter = 0
 	:gloryhole2
@@ -795,11 +767,11 @@ if $ARGS[0] = 'dima48':
 	gs 'arousal', 'end'
 	gs 'stat'
 	killvar 'dimagh_counter'
-	act 'Get Outside' :gt 'city_industrial'
+	act 'Get Outside' : gt 'city_industrial'
 end
 
 if $ARGS[0] = 'dima49':
-	cls
+	*clr & cla
 	minut += 50
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10022_paristommy_021.jpg"></center>'
@@ -808,11 +780,11 @@ if $ARGS[0] = 'dima49':
 	'Suddenly you notice, a man standing in front of you.'
 	'"Do you need help?" He asks'
 
-	act 'Nod':gt 'event', 'dima50'
+	act 'Nod': gt 'event', 'dima50'
 end
 
 if $ARGS[0] = 'dima50':
-	cls
+	*clr & cla
 	minut += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/street/sex/10022_paristommy_028.jpg"></center>'
@@ -821,17 +793,17 @@ if $ARGS[0] = 'dima50':
 	'When you''re there, the guy asks,:'
 	'"Will you reward your savior?"'
 
-	act 'Suck':gt 'event', 'dima51'
+	act 'Suck': gt 'event', 'dima51'
 
 	if pcs_agil < 50:
-		act 'Dismiss':gt 'event', 'dima52'
+		act 'Dismiss': gt 'event', 'dima52'
 	else
-		act 'Dismiss':gt 'event', 'dima53'
+		act 'Dismiss': gt 'event', 'dima53'
 	end
 end
 
 if $ARGS[0] = 'dima51':
-	cls
+	*clr & cla
 	pcs_throat += 1
 	gs 'cum_call', 'mouth_swallow', $boy, 1
 	spafinloc = 11
@@ -842,11 +814,11 @@ if $ARGS[0] = 'dima51':
 	gs 'arousal', 'bj', 5, 'sub', 'unknown'
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Freshen up' :gt 'city_industrial'
+	act 'Freshen up' : gt 'city_industrial'
 end
 
 if $ARGS[0] = 'dima52':
-	cls
+	*clr & cla
 	pcs_throat += 2
 	gs 'npcgeneratec', 0, 'stranger', rand(19,45)
 	gs 'boyStat', $npclastgenerated
@@ -866,75 +838,75 @@ if $ARGS[0] = 'dima52':
 	gs 'arousal', 'bj', 20, 'group','sub'
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Relax':gt 'city_residential'
+	act 'Relax': gt 'city_residential'
 end
 
 
 if $ARGS[0] = 'dima53':
-	cls
+	*clr & cla
 	minut += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$clothing_image'', $clothingworntype, clothingwornnumber)>>"></center>'
 	'Enraged by your refusal, man pushes you, but you stand firm. Realizing that you''re not to be messed with, he runs away.'
 	'You sort out you clothing and dress yourself in the outfit you were wearing when this all started.'
 
-	act 'Freshen up' :gt 'city_industrial'
+	act 'Freshen up' : gt 'city_industrial'
 end
 
 if $ARGS[0] = 'scoreslut1':
-	cls
+	*clr & cla
 	minut += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
 	'You wake up, hands tied to the radiator. From the sofa Dima looks at you expectantly.'
 
-	act 'Frightened look':gt 'event', 'scoreslut2'
-	act 'Trying to escape':gt 'event', 'scoreslut3'
+	act 'Frightened look': gt 'event', 'scoreslut2'
+	act 'Trying to escape': gt 'event', 'scoreslut3'
 end
 
 if $ARGS[0] = 'scoreslut2':
-	cls
+	*clr & cla
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
 	'"You awake, bitch? Want to go home?"'
 
-	act 'Frightened look':gt 'event', 'dima30'
+	act 'Frightened look': gt 'event', 'dima30'
 end
 
 if $ARGS[0] = 'scoreslut3':
-	cls
+	*clr & cla
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
 	'"I don''t think so, bitch"'
 
-	act 'Frightened look':gt 'event', 'dima30'
+	act 'Frightened look': gt 'event', 'dima30'
 end
 
 if $ARGS[0] = 'lesbi':
-	cls
+	*clr & cla
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/natalya/lesbi.jpg"></center>'
 	'The woman stares at you, you catch her eye. She looks you up and down, smiles and licks her lips.'
 
-	act 'Turn away':gt 'shop_moncheri', 'start'
-	act 'Get acquainted':gt 'event', 'lesbi1'
+	act 'Turn away': gt 'shop_moncheri', 'start'
+	act 'Get acquainted': gt 'event', 'lesbi1'
 end
 
 if $ARGS[0] = 'lesbi1':
-	cls
+	*clr & cla
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/natalya/lesbi.jpg"></center>'
 	'You go to the woman. She looks at you with a twinkle in her eye "I am Natalya Petrovna, here''s my card, maybe you would let me take you somewhere interesting?"'
     'The woman is very confident and it makes it hard for you to think clearly.'
-	act 'Paris?':gt 'event', 'lesbi2'
+	act 'Paris?': gt 'event', 'lesbi2'
 end
 
 if $ARGS[0] = 'lesbi2':
-	cls
+	*clr & cla
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/natalya/lesbi.jpg"></center>'
@@ -944,11 +916,11 @@ if $ARGS[0] = 'lesbi2':
 	if lesbian > 0:'No... no, I haven''t - You mumble. I''ve been with girls, but not like that...'
 	if lesbian = 0:'No... no, I haven''t - You mumble. I''ve never been with a girl to try such a thing...'
 
-	act 'Ask to learn':gt 'event', 'lesbi3'
+	act 'Ask to learn': gt 'event', 'lesbi3'
 end
 
 if $ARGS[0] = 'lesbi3':
-	cls
+	*clr & cla
 	minut += 5
 	lesbiQW = 1
 	gs 'stat'
@@ -959,7 +931,7 @@ if $ARGS[0] = 'lesbi3':
 	'"Teach?" She asked in surprise. "Teach... hmm... I think I might be able to help you!" The lady says with a grin. "Come visit me at my apartment."'
 	'You read the card and see that see lives in the city residential area, looking up again, Natalya is walking out of the boutique with a graceful and confident gait.'
 
-	act 'Leave':gt 'shop_moncheri', 'start'
+	act 'Leave': gt 'shop_moncheri', 'start'
 end
 
 --- event ---------------------------------

+ 117 - 113
locations/foto_model_documentary.qsrc

@@ -20,7 +20,7 @@ if $ARGS[0] = '1st_documentary':
 	'<i>You mean naked...</i> you think to yourself.'
 	*nl
 	'"They''re paying the equivalent of a two hour nude shoot for every model that participates. Do you want in?"'
-	
+
 	if modelfoto['nip']  < 1:
 		act'No way! I''ve never been naked on camera before!':
 			cla & *clr
@@ -50,7 +50,7 @@ if $ARGS[0] = '1st_documentary':
 			else
 				act 'Still no (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
-			
+
 			act'I guess I could...':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -60,7 +60,7 @@ if $ARGS[0] = '1st_documentary':
 			end
 		end
 	end
-	
+
 	act'No thanks, not interested':
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -86,7 +86,7 @@ if $ARGS[0] = '1st_documentary':
 		else
 			act 'Still no (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
-		
+
 		act'I guess I could...':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -95,7 +95,7 @@ if $ARGS[0] = '1st_documentary':
 			act 'Go to the set': gt 'foto_model_documentary', 'documentary_1'
 		end
 	end
-	
+
 	act'No thanks, I''m here to model':
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -121,7 +121,7 @@ if $ARGS[0] = '1st_documentary':
 		else
 			act 'Still no (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
-		
+
 		act'I guess I could...':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -138,7 +138,7 @@ if $ARGS[0] = '1st_documentary':
 !!			'"Ehh, no thanks. I''m here to model, not do interviews."'
 !!		end
 !!	end
-	
+
 	act'Sure, I''ll take part':
 		cla
 		*nl
@@ -168,7 +168,7 @@ if $ARGS[0] = 'documentary_1':
 		'"Okay, we''re all set. Ready?"'
 		'You nod.'
 		'"Okay, first question then. What''s your name, how old are you, and what is your job?"'
-	
+
 		act'I''m <<$model[''firstname'']>>':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/1.mp4"></video></center>'
@@ -180,7 +180,7 @@ if $ARGS[0] = 'documentary_1':
 			*nl
 			gs 'foto_model_documentary','documentary_2'
 		end
-		
+
 		act'I''m <<$model[''nickname'']>>':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/1.mp4"></video></center>'
@@ -209,7 +209,7 @@ if $ARGS[0] = 'documentary_2':
 		*nl
 		gs 'foto_model_documentary','documentary_3'
 	end
-	
+
 	act'I''ve always wanted to be a model':
 		foto_documentary['question_2'] = 2
 		cla & *clr
@@ -220,7 +220,7 @@ if $ARGS[0] = 'documentary_2':
 		*nl
 		gs 'foto_model_documentary','documentary_3'
 	end
-	
+
 	act'I just wanted some extra cash':
 		foto_documentary['question_2'] = 3
 		cla & *clr
@@ -232,7 +232,7 @@ if $ARGS[0] = 'documentary_2':
 		*nl
 		gs 'foto_model_documentary','documentary_3'
 	end
-	
+
 	act'I was desperate and needed money':
 		foto_documentary['question_2'] = 4
 		cla & *clr
@@ -243,7 +243,7 @@ if $ARGS[0] = 'documentary_2':
 		*nl
 		gs 'foto_model_documentary','documentary_3'
 	end
-	
+
 	act'I love attention':
 		foto_documentary['question_2'] = 5
 		cla & *clr
@@ -254,7 +254,7 @@ if $ARGS[0] = 'documentary_2':
 		*nl
 		gs 'foto_model_documentary','documentary_3'
 	end
-	
+
 	if pcs_inhib < 20 or studio_inhib > 0:
 		act'To build confidence':
 			foto_documentary['question_2'] = 5
@@ -271,7 +271,7 @@ if $ARGS[0] = 'documentary_2':
 			gs 'foto_model_documentary','documentary_3'
 		end
 	end
-	
+
 	if Exhibitionist_lvl > 0:
 		act'It turns me on':
 			foto_documentary['question_2'] = 6
@@ -301,7 +301,7 @@ if $ARGS[0] = 'documentary_3':
 		*nl
 		gs 'foto_model_documentary','documentary_4'
 	end
-	
+
 	act'I want to be the number one model in the city':
 		foto_documentary['question_3'] = 2
 		cla & *clr
@@ -318,7 +318,7 @@ if $ARGS[0] = 'documentary_3':
 			*nl
 			gs 'foto_model_documentary','documentary_4'
 		end
-		
+
 		act'Personal':
 			foto_documentary['question_3.2'] = 2
 			cla & *clr
@@ -329,7 +329,7 @@ if $ARGS[0] = 'documentary_3':
 			gs 'foto_model_documentary','documentary_4'
 		end
 	end
-	
+
 	act'No, I hate dieting':
 		foto_documentary['question_3'] = 3
 		cla & *clr
@@ -345,7 +345,7 @@ if $ARGS[0] = 'documentary_3':
 			gs 'foto_model_documentary','documentary_4'
 		end
 	end
-	
+
 	act'As long as it pays the bills':
 		foto_documentary['question_3'] = 4
 		cla & *clr
@@ -355,7 +355,7 @@ if $ARGS[0] = 'documentary_3':
 		*nl
 		gs 'foto_model_documentary','documentary_4'
 	end
-	
+
 	act'Yes! I love this job!':
 		foto_documentary['question_3'] = 5
 		cla & *clr
@@ -365,7 +365,7 @@ if $ARGS[0] = 'documentary_3':
 		*nl
 		gs 'foto_model_documentary','documentary_4'
 	end
-	
+
 	act'I''m not sure yet':
 		foto_documentary['question_3'] = 6
 		cla & *clr
@@ -393,7 +393,7 @@ if $ARGS[0] = 'documentary_4':
 			gs 'foto_model_documentary','documentary_5'
 		end
 	end
-	
+
 	if studio_inhib > 0:
 		act'It used to be worse but I''m still a little shy':
 			foto_documentary['question_4'] = 2
@@ -403,7 +403,7 @@ if $ARGS[0] = 'documentary_4':
 			*nl
 			gs 'foto_model_documentary','documentary_5'
 		end
-		
+
 		act'I used to be shy but now I''m not':
 			foto_documentary['question_4'] = 3
 			cla & *clr
@@ -413,7 +413,7 @@ if $ARGS[0] = 'documentary_4':
 			gs 'foto_model_documentary','documentary_5'
 		end
 	end
-	
+
 	act'I haven''t been shy since I was little':
 		foto_documentary['question_4'] = 4
 		cla & *clr
@@ -422,7 +422,7 @@ if $ARGS[0] = 'documentary_4':
 		*nl
 		gs 'foto_model_documentary','documentary_5'
 	end
-	
+
 	act'I''ve never been shy':
 		foto_documentary['question_4'] = 5
 		cla & *clr
@@ -431,8 +431,8 @@ if $ARGS[0] = 'documentary_4':
 		*nl
 		gs 'foto_model_documentary','documentary_5'
 	end
-	
-	
+
+
 	act'I''m fucking hot and I know it':
 		foto_documentary['question_4'] = 6
 		cla & *clr
@@ -455,7 +455,7 @@ if $ARGS[0] = 'documentary_5':
 		*nl
 		gs 'foto_model_documentary','documentary_6'
 	end
-	
+
 	act'It''s really embarrassing':
 		foto_documentary['question_5'] = 2
 		cla & *clr
@@ -464,7 +464,7 @@ if $ARGS[0] = 'documentary_5':
 		*nl
 		gs 'foto_model_documentary','documentary_6'
 	end
-	
+
 	act'I''m not very comfortable with it':
 		foto_documentary['question_5'] = 3
 		cla & *clr
@@ -473,7 +473,7 @@ if $ARGS[0] = 'documentary_5':
 		*nl
 		gs 'foto_model_documentary','documentary_6'
 	end
-	
+
 	if studio_inhib > 0:
 		act'I got used to it eventually':
 			foto_documentary['question_5'] = 4
@@ -483,7 +483,7 @@ if $ARGS[0] = 'documentary_5':
 			*nl
 			gs 'foto_model_documentary','documentary_6'
 		end
-		
+
 		act'I think it really helped me':
 			foto_documentary['question_5'] = 5
 			cla & *clr
@@ -493,7 +493,7 @@ if $ARGS[0] = 'documentary_5':
 			gs 'foto_model_documentary','documentary_6'
 		end
 	end
-	
+
 	act'I don''t really mind it':
 		foto_documentary['question_5'] = 6
 		cla & *clr
@@ -502,7 +502,7 @@ if $ARGS[0] = 'documentary_5':
 		*nl
 		gs 'foto_model_documentary','documentary_6'
 	end
-	
+
 	act'I love it!':
 		foto_documentary['question_5'] = 7
 		cla & *clr
@@ -511,7 +511,7 @@ if $ARGS[0] = 'documentary_5':
 		*nl
 		gs 'foto_model_documentary','documentary_6'
 	end
-	
+
 	act'I think it promotes camaraderie':
 		foto_documentary['question_5'] = 8
 		cla & *clr
@@ -520,15 +520,15 @@ if $ARGS[0] = 'documentary_5':
 		*nl
 		gs 'foto_model_documentary','documentary_6'
 	end
-	
-	
+
+
 !!	if Exhibitionist_lvl > 0:
 !!		act'It gets me wet':
 !!			foto_documentary['question_5'] = 8
 !!			cla & *clr
 !!			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/6.mp4"></video></center>'
-!!			
-!!			
+!!
+!!
 !!			gs 'foto_model_documentary','documentary_6'
 !!		end
 !!	end
@@ -546,7 +546,7 @@ if $ARGS[0] = 'documentary_6':
 		*nl
 		gs 'foto_model_documentary','documentary_7'
 	end
-	
+
 	act'Sports':
 		foto_documentary['question_6'] = 2
 		cla & *clr
@@ -557,7 +557,7 @@ if $ARGS[0] = 'documentary_6':
 		*nl
 		gs 'foto_model_documentary','documentary_7'
 	end
-	
+
 	act'Dancing':
 		foto_documentary['question_6'] = 3
 		cla & *clr
@@ -566,7 +566,7 @@ if $ARGS[0] = 'documentary_6':
 		*nl
 		gs 'foto_model_documentary','documentary_7'
 	end
-	
+
 	act'I''m a foodie':
 		foto_documentary['question_6'] = 4
 		cla & *clr
@@ -579,7 +579,7 @@ if $ARGS[0] = 'documentary_6':
 		*nl
 		gs 'foto_model_documentary','documentary_7'
 	end
-	
+
 	act'Going clubbing':
 		foto_documentary['question_6'] = 5
 		cla & *clr
@@ -588,7 +588,7 @@ if $ARGS[0] = 'documentary_6':
 		*nl
 		gs 'foto_model_documentary','documentary_7'
 	end
-	
+
 	act'Having sex (clean answer)':
 		foto_documentary['question_6'] = 6
 		cla & *clr
@@ -603,34 +603,36 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
-		if husband > 0:
-			act'With my husband':
+
+		if $husID ! '':
+			act 'With my husband':
 				cla & *clr
 				'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/1.mp4"></video></center>'
 				'"With my husband actually," you say. "I''m married. Nothing is better than making love to him."'
 				*nl
 				gs 'foto_model_documentary','documentary_7'
 			end
-		else
-			act'With <b>my</b> boyfriend':
+		end
+
+		if stat['boyfriends_current'] > 0:
+			act 'With <b>my</b> boyfriend':
 				cla & *clr
 				'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/1.mp4"></video></center>'
 				'"With my boyfriend," you say. "He just knows my body so well! Spending the time investing in a relationship is the only way to get that." She nods at your sage advice.'
 				*nl
 				gs 'foto_model_documentary','documentary_7'
 			end
-			
-			act'With <b>a</b> boyfriend':
-				cla & *clr
-				'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/9.mp4"></video></center>'
-				'"I would say... with a boyfriend. I''m single for the moment, but spending the time to let someone get to know you and what turns you on really is the best. You''ll never get that kind of satisfaction randomly sleeping around." She nods at your sage advice.'
-				*nl
-				gs 'foto_model_documentary','documentary_7'
-			end
 		end
-		
-		act'Why not girlfriends?':
+
+		act 'With <b>a</b> boyfriend':
+			cla & *clr
+			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/9.mp4"></video></center>'
+			'"I would say... with a boyfriend. I''m single for the moment, but spending the time to let someone get to know you and what turns you on really is the best. You''ll never get that kind of satisfaction randomly sleeping around." She nods at your sage advice.'
+			*nl
+			gs 'foto_model_documentary','documentary_7'
+		end
+
+		act 'Why not girlfriends?':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/1.mp4"></video></center>'
 			'"Why not girlfriends?" you smile with a twinkle in your eye. "Who said I liked sleeping with men the most?"'
@@ -638,7 +640,7 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
+
 		act'Group sex':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/4.mp4"></video></center>'
@@ -647,7 +649,7 @@ if $ARGS[0] = 'documentary_6':
 			gs 'foto_model_documentary','documentary_7'
 		end
 	end
-	
+
 	act'Having sex (slutty answer)':
 		foto_documentary['question_6'] = 6
 		cla & *clr
@@ -663,34 +665,36 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
-		if husband > 0:
-			act'With my husband':
+
+		if $husID ! '':
+			act 'With my husband':
 				cla & *clr
 				'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/1.mp4"></video></center>'
 				'"With my husband actually," you say. "I''m married. I love getting fucked by him. He knows every centimeter of my body, nobody knows how to make me cum like he does."'
 				*nl
 				gs 'foto_model_documentary','documentary_7'
 			end
-		else
-			act'With <b>my</b> boyfriend':
+		end
+
+		if stat['boyfriends_current'] > 0:
+			act 'With <b>my</b> boyfriend':
 				cla & *clr
 				'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/6.mp4"></video></center>'
 				'"With my boyfriend," you say. "He just knows my body so well! I never feel better than I do after he fucks me."'
 				*nl
 				gs 'foto_model_documentary','documentary_7'
 			end
-			
-			act'With <b>a</b> boyfriend':
-				cla & *clr
-				'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/12.mp4"></video></center>'
-				'"I would say... with a boyfriend. I''m single for the moment, which is a bit of a problem, but there''s nothing better than getting fucked by a guy who knows every part of your body. Unfortunately, most guys don''t have that information instinctively. It takes time for them to really learn how to make you cum."'
-				'She nods with eyebrows raised, as if surprised by your answer.'
-				*nl
-				gs 'foto_model_documentary','documentary_7'
-			end
 		end
-		
+
+		act 'With <b>a</b> boyfriend':
+			cla & *clr
+			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/12.mp4"></video></center>'
+			'"I would say... with a boyfriend. I''m single for the moment, which is a bit of a problem, but there''s nothing better than getting fucked by a guy who knows every part of your body. Unfortunately, most guys don''t have that information instinctively. It takes time for them to really learn how to make you cum."'
+			'She nods with eyebrows raised, as if surprised by your answer.'
+			*nl
+			gs 'foto_model_documentary','documentary_7'
+		end
+
 		act'Why not girlfriends?':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/1.mp4"></video></center>'
@@ -699,7 +703,7 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
+
 		act'Group sex':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/6.mp4"></video></center>'
@@ -709,7 +713,7 @@ if $ARGS[0] = 'documentary_6':
 			gs 'foto_model_documentary','documentary_7'
 		end
 	end
-	
+
 	act'Masturbating':
 		foto_documentary['question_6'] = 7
 		cla & *clr
@@ -727,7 +731,7 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
+
 		act'... with my dildo':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/6.mp4"></video></center>'
@@ -738,7 +742,7 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
+
 		act'... in the shower':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/6.mp4"></video></center>'
@@ -748,7 +752,7 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
+
 		act'... in the bath':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/6.mp4"></video></center>'
@@ -758,7 +762,7 @@ if $ARGS[0] = 'documentary_6':
 			*nl
 			gs 'foto_model_documentary','documentary_7'
 		end
-		
+
 		act'... with my shower dildo':
 			cla & *clr
 			'<center><video autoplay loop src="images/locations/city/citycenter/photo/special/interview/6.mp4"></video></center>'
@@ -767,9 +771,9 @@ if $ARGS[0] = 'documentary_6':
 			'"Masturbating! Honestly, my interests are pretty all over the place so I don''t know if any of those really classify as hobbies, but the one thing I do all the time is masturbate with my shower dildo. Nice steamy room, hot water, a showerhead to use for vibrations, a nice rubber dick to fill me up, oh man. I could spend hours in there."'
 			*nl
 			gs 'foto_model_documentary','documentary_7'
-		end		
+		end
 	end
-	
+
 	act'Nothing in particular':
 		foto_documentary['question_6'] = 8
 		cla & *clr
@@ -794,7 +798,7 @@ if $ARGS[0] = 'documentary_7':
 		*nl
 		gs 'foto_model_documentary','documentary_8'
 	end
-	
+
 	act'Something fun with lots of activities':
 		foto_documentary['question_7'] = 2
 		cla & *clr
@@ -803,7 +807,7 @@ if $ARGS[0] = 'documentary_7':
 		*nl
 		gs 'foto_model_documentary','documentary_8'
 	end
-	
+
 	act'Dinner and a movie':
 		foto_documentary['question_7'] = 3
 		cla & *clr
@@ -812,7 +816,7 @@ if $ARGS[0] = 'documentary_7':
 		*nl
 		gs 'foto_model_documentary','documentary_8'
 	end
-	
+
 	act'A long walk with scenery':
 		foto_documentary['question_7'] = 4
 		cla & *clr
@@ -821,7 +825,7 @@ if $ARGS[0] = 'documentary_7':
 		*nl
 		gs 'foto_model_documentary','documentary_8'
 	end
-	
+
 	act'Something thrilling':
 		foto_documentary['question_7'] = 5
 		cla & *clr
@@ -830,7 +834,7 @@ if $ARGS[0] = 'documentary_7':
 		*nl
 		gs 'foto_model_documentary','documentary_8'
 	end
-	
+
 	act'A romantic evening that ends in sex':
 		foto_documentary['question_7'] = 6
 		cla & *clr
@@ -855,7 +859,7 @@ if $ARGS[0] = 'documentary_8':
 		*nl
 		gs 'foto_model_documentary','documentary_9'
 	end
-	
+
 	act'Day drinking':
 		foto_documentary['question_8'] = 2
 		cla & *clr
@@ -864,7 +868,7 @@ if $ARGS[0] = 'documentary_8':
 		*nl
 		gs 'foto_model_documentary','documentary_9'
 	end
-	
+
 	act'Binge watching':
 		foto_documentary['question_8'] = 3
 		cla & *clr
@@ -873,7 +877,7 @@ if $ARGS[0] = 'documentary_8':
 		*nl
 		gs 'foto_model_documentary','documentary_9'
 	end
-	
+
 	act'Bad romcoms':
 		foto_documentary['question_8'] = 4
 		cla & *clr
@@ -882,7 +886,7 @@ if $ARGS[0] = 'documentary_8':
 		*nl
 		gs 'foto_model_documentary','documentary_9'
 	end
-	
+
 	act'Social media':
 		foto_documentary['question_8'] = 5
 		cla & *clr
@@ -891,7 +895,7 @@ if $ARGS[0] = 'documentary_8':
 		*nl
 		gs 'foto_model_documentary','documentary_9'
 	end
-	
+
 	act'Sleeping in':
 		foto_documentary['question_8'] = 6
 		cla & *clr
@@ -914,7 +918,7 @@ if $ARGS[0] = 'documentary_9':
 		*nl
 		gs 'foto_model_documentary','documentary_10'
 	end
-	
+
 	act'Panties':
 		foto_documentary['question_9'] = 2
 		cla & *clr
@@ -923,7 +927,7 @@ if $ARGS[0] = 'documentary_9':
 		*nl
 		gs 'foto_model_documentary','documentary_10'
 	end
-	
+
 	act'I sleep naked':
 		foto_documentary['question_9'] = 3
 		cla & *clr
@@ -932,7 +936,7 @@ if $ARGS[0] = 'documentary_9':
 		*nl
 		gs 'foto_model_documentary','documentary_10'
 	end
-	
+
 	act'Negligee':
 		foto_documentary['question_9'] = 4
 		cla & *clr
@@ -941,7 +945,7 @@ if $ARGS[0] = 'documentary_9':
 		*nl
 		gs 'foto_model_documentary','documentary_10'
 	end
-	
+
 	act'A big t-shirt and panties':
 		foto_documentary['question_9'] = 5
 		cla & *clr
@@ -950,7 +954,7 @@ if $ARGS[0] = 'documentary_9':
 		*nl
 		gs 'foto_model_documentary','documentary_10'
 	end
-	
+
 	act'Just a big t-shirt':
 		foto_documentary['question_9'] = 6
 		cla & *clr
@@ -961,7 +965,7 @@ if $ARGS[0] = 'documentary_9':
 		*nl
 		gs 'foto_model_documentary','documentary_10'
 	end
-	
+
 	act'Pajamas':
 		foto_documentary['question_9'] = 7
 		cla & *clr
@@ -983,7 +987,7 @@ if $ARGS[0] = 'documentary_10':
 		*nl
 		gs 'foto_model_documentary','documentary_11'
 	end
-	
+
 	act'Early morning to do chores':
 		foto_documentary['question_10'] = 2
 		cla & *clr
@@ -994,7 +998,7 @@ if $ARGS[0] = 'documentary_10':
 		*nl
 		gs 'foto_model_documentary','documentary_11'
 	end
-	
+
 	act'Early morning with a light breakfast':
 		foto_documentary['question_10'] = 3
 		cla & *clr
@@ -1003,7 +1007,7 @@ if $ARGS[0] = 'documentary_10':
 		*nl
 		gs 'foto_model_documentary','documentary_11'
 	end
-	
+
 	act'Anything involving coffee':
 		foto_documentary['question_10'] = 4
 		cla & *clr
@@ -1013,7 +1017,7 @@ if $ARGS[0] = 'documentary_10':
 		*nl
 		gs 'foto_model_documentary','documentary_11'
 	end
-	
+
 	act'Anything involving coffee (slightly crude/slutty)':
 		foto_documentary['question_10'] = 5
 		cla & *clr
@@ -1023,7 +1027,7 @@ if $ARGS[0] = 'documentary_10':
 		*nl
 		gs 'foto_model_documentary','documentary_11'
 	end
-	
+
 	act'Sleeping in followed by brunch':
 		foto_documentary['question_10'] = 6
 		cla & *clr
@@ -1032,7 +1036,7 @@ if $ARGS[0] = 'documentary_10':
 		*nl
 		gs 'foto_model_documentary','documentary_11'
 	end
-	
+
 	act'Wakeup sex':
 		foto_documentary['question_10'] = 7
 		cla & *clr
@@ -1056,7 +1060,7 @@ if $ARGS[0] = 'documentary_11':
 		*nl
 		act 'Finish interview': gt 'foto_model_documentary', '1st_documentary_end'
 	end
-	
+
 	act'Early morning to do chores':
 		foto_documentary['question_11'] = 2
 		cla & *clr
@@ -1065,7 +1069,7 @@ if $ARGS[0] = 'documentary_11':
 		*nl
 		act 'Finish interview': gt 'foto_model_documentary', '1st_documentary_end'
 	end
-	
+
 	act'Early morning with a light breakfast':
 		foto_documentary['question_11'] = 3
 		cla & *clr
@@ -1074,7 +1078,7 @@ if $ARGS[0] = 'documentary_11':
 		*nl
 		act 'Finish interview': gt 'foto_model_documentary', '1st_documentary_end'
 	end
-	
+
 	act'Anything involving coffee':
 		foto_documentary['question_11'] = 4
 		cla & *clr
@@ -1083,7 +1087,7 @@ if $ARGS[0] = 'documentary_11':
 		*nl
 		act 'Finish interview': gt 'foto_model_documentary', '1st_documentary_end'
 	end
-	
+
 	act'Anything involving coffee (slightly crude/slutty)':
 		foto_documentary['question_11'] = 5
 		cla & *clr
@@ -1092,7 +1096,7 @@ if $ARGS[0] = 'documentary_11':
 		*nl
 		act 'Finish interview': gt 'foto_model_documentary', '1st_documentary_end'
 	end
-	
+
 	act'Sleeping in followed by brunch':
 		foto_documentary['question_11'] = 6
 		cla & *clr
@@ -1101,7 +1105,7 @@ if $ARGS[0] = 'documentary_11':
 		*nl
 		act 'Finish interview': gt 'foto_model_documentary', '1st_documentary_end'
 	end
-	
+
 	act'':
 		foto_documentary['question_11'] = 7
 		cla & *clr
@@ -1135,9 +1139,9 @@ if $ARGS[0] = '1st_documentary_end':
 	'"No problem! You were a very good interviewer."'
 	*nl
 	'After exchanging a few more pleasantries, they hand you an envelope filled with bills that count out to <<modelpayfin>> <b>₽</b> and call the next girl in from the side.'
-	
+
 	foto['1st_documentary'] = 1
-	
+
 	act 'Leave': gt 'foto', 'studio'
 end
 

+ 15 - 12
locations/gadukino.qsrc

@@ -97,14 +97,18 @@ if $ARGS[0] = '':
 			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 the street, 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 the street, 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 in the street.</b>'
-			end
-			if hour = meethour[1]:
-				if svidanie[1] = 1:'<b><a href="exec:lover_number = 1 & gt ''lover_meet'', ''start''"><<$loverdesc[1]>></a> is waiting in the street.</b>'
-			end
-			if hour = meethour[2]:
-				if svidanie[2] = 1:'<b><a href="exec:lover_number = 2 & gt ''lover_meet'', ''start''"><<$loverdesc[2]>></a> is waiting in the street.</b>'
+			if arrsize('$lover') > 0:
+				temp_i = 0
+				temp_max_i = arrsize('$lover')
+				:lover_pickup_loop
+					$temp_npcid = $lover[temp_i]
+					if npc_meetday[$temp_npcid] = daystart and npc_meethour[$temp_npcid] = hour:
+						'<b><a href="exec: gt ''lover_meet'', ''start'', ''<<$temp_npcid>>''"><<$npc_usedname[$temp_npcid]>></a> is waiting in the street.</b>'
+					end
+					temp_i += 1
+				if temp_i < temp_max_i: jump 'lover_pickup_loop'
+				killvar 'temp_i'
+				killvar 'temp_max_i'
 			end
 		end
 		if npc_rel['A60'] > 0 and npc_known['A60'] = 1:
@@ -115,9 +119,9 @@ if $ARGS[0] = '':
 
 		if month >= 6 and month <= 9:
 			if hour >= 6 and hour <= 16:
-				'An old farm truck is parked halfway off one of the roads nearby. The farmer who owns it will buy <a href="exec: gt ''gadukino'',''collection_point''">mushrooms and berries</a> from the locals to sell back in the city. He makes multiple trips from Gadukino to the city daily to ensure the freshest produce so he can be found from '+func('time', 'get_time_string', 6, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'.'
+				'An old farm truck is parked halfway off one of the roads nearby. The farmer who owns it will buy <a href="exec: gt ''gadukino'',''collection_point''">mushrooms and berries</a> from the locals to sell back in the city. He makes multiple trips from Gadukino to the city daily to ensure the freshest produce so he can be found from 6 am to 4 pm.'
 			else
-				'This time of year, a truck usually comes by multiple times a day between '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+' to purchase mushrooms and berries from the locals.'
+				'This time of year, a truck usually comes by multiple times a day between 6 am and 4 pm to purchase mushrooms and berries from the locals.'
 			end
 		else
 			'During the summer, a truck usually comes into town from the city to buy fresh mushrooms and berries from the locals. It''s not the right season for it right now, though.'
@@ -144,9 +148,8 @@ if $ARGS[0] = '':
 				menu_off = 1
 				gs 'stat'
 
-				temp = rand(1,100)
 				! 50% chance of mira events if you already found the meadow and are still friends with mira
-				if temp >= 50 and locat['A60'] = 30:
+				if rand(0, 1) = 0 and locat['A60'] = 30:
 					gt 'gadukino', 'mira_events'
 				! 50% chance of other random 1 picture flavour events
 				else

+ 33 - 35
locations/gevent.qsrc

@@ -182,7 +182,7 @@ if $ARGS[0] = '4':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/4.jpg"></center>'
 	'You accompany the guy to his house, where you enjoy a few beverages with him. A while later you find yourself on your back, getting pounded by this stranger. He rides you with his hairy body and pulls out right before he orgasms, draping his load all over your buttocks. Not bothering to clean it up, you simply get dressed. You sit back down and chat with him for a while, drinking some tea in an attempt to sober up before leaving. You still feel rather drunk when you close the door behind you, returning to the streets.'
-	
+
 	gs 'arousal', 'vaginal', 20, 'humiliation'
 	gs 'arousal', 'end'
 	gs 'stat'
@@ -234,14 +234,13 @@ if $ARGS[0] = '5':
 	gs 'arousal', 'vaginal', 15, 'prostitution'
 	gs 'arousal', 'end'
 	gs 'stat'
-	
+
 	act 'Straighten your clothes':gt 'pav_residential'
 end
 
 if $ARGS[0] = '6':
 	*clr & cla
 	menu_off = 1
-	gs 'cikl'
 	gs 'fame', 'pav', 'sex', rand(8,16)
 	guyondisco = rand(5, 10)
 	guy += guyondisco
@@ -249,34 +248,34 @@ if $ARGS[0] = '6':
 	pcs_throat += guyondisco
 	gang += 1
 	:geventgondloop
-	gs 'npcgeneratec', 0, 'guy from the disco', rand(19,27)
-	gs 'boyStat', $npclastgenerated
-	gs 'cum_manage'
-	spafinloc = 1
-	gs 'cum_manage'
-	spafinloc = 3
-	gs 'cum_manage'
-	spafinloc = 4
-	gs 'cum_manage'
-	spafinloc = 8
-	gs 'cum_manage'
-	spafinloc = 9
-	gs 'cum_manage'
-	spafinloc = 10
-	gs 'cum_manage'
-	spafinloc = 11
-	gs 'cum_manage'
-	spafinloc = 12
-	gs 'cum_manage'
-	spafinloc = 13
-	gs 'cum_manage'
-	spafinloc = 14
-	gs 'cum_manage'
-	spafinloc = 15
-	gs 'cum_manage'
-	spafinloc = 16
-	gs 'cum_manage'
-	guyondisco -= 1
+		gs 'npcgeneratec', 0, 'guy from the disco', rand(19,27)
+		gs 'boyStat', $npclastgenerated
+		gs 'cum_manage'
+		spafinloc = 1
+		gs 'cum_manage'
+		spafinloc = 3
+		gs 'cum_manage'
+		spafinloc = 4
+		gs 'cum_manage'
+		spafinloc = 8
+		gs 'cum_manage'
+		spafinloc = 9
+		gs 'cum_manage'
+		spafinloc = 10
+		gs 'cum_manage'
+		spafinloc = 11
+		gs 'cum_manage'
+		spafinloc = 12
+		gs 'cum_manage'
+		spafinloc = 13
+		gs 'cum_manage'
+		spafinloc = 14
+		gs 'cum_manage'
+		spafinloc = 15
+		gs 'cum_manage'
+		spafinloc = 16
+		gs 'cum_manage'
+		guyondisco -= 1
 	if guyondisco > 0: jump 'geventgondloop'
 	gs 'stat'
 
@@ -287,11 +286,10 @@ if $ARGS[0] = '6':
 	'By the time you wake up again it''s the middle of the next day, and you are lying naked in a ditch somewhere just outside of town, covered in semen. Luckily they were decent enough to at least give you your clothes back, which you find in a pile next to you with your other belongings. As you quickly get dressed you silently pray they reconsidered and didn''t share the video, but at the same time know better. As you make your way back to Pavlovsk you realize this probably hurt your reputation in town as a result, since many people will have seen the video by now.'
 
 	gs 'arousal', 'bj', 600, 'rough', 'rape', 'humiliation', 'group'
-	gs 'arousal', 'vaginal', 600, 'rough', 'rape', 'humiliation', 'group'
-	minut -= 600
+	gs 'arousal', 'vaginal', -600, 'rough', 'rape', 'humiliation', 'group'
 	gs 'arousal', 'end'
 	gs 'stat'
-	
+
 	act 'Return to the Pavlovsk streets':gt 'pav_residential'
 end
 
@@ -325,7 +323,7 @@ if $ARGS[0] = '7':
 	minut -= 50
 	gs 'arousal', 'end'
 	gs 'stat'
-	
+
 	act 'Return to the Pavlovsk streets':gt 'pav_residential'
 end
 

+ 0 - 13
locations/girlfriend.qsrc

@@ -1,13 +0,0 @@
-# girlfriend
-
-if $ARGS[0] = 'start':
-	if arrsize('pcs_lovers') > 2:
-		'Hmm, you are already three lovers, why do you need a fourth?'
-	else
-		gs 'lover', 'add'
-	end
-end
-
-
---- girlfriend ---------------------------------
-

+ 8 - 11
locations/gschool_grounds.qsrc

@@ -980,15 +980,12 @@ if $ARGS[0] = 'Family extension':
 				end
 			end
 		else
-			if Boyfriend = 0:
-				if $lover[0] ! '':
-					lover_number = 0
-				elseif $lover[1] ! '':
-					lover_number = 1
-				else
-					lover_number = 2
-				end
-				'You hear <<$lover[lover_number]>> shouting your name and jog over to meet them. You both embrace with a cuddle and a kiss on the cheek.'
+			if stat['boyfriends_current'] > 0 or stat['girlfriends_current']:
+				$temp_npcID = func('lover', 'draw_random_from', 'boyfrined', 'girlfriend')
+				gs 'npcStat', $temp_npcID
+				killvar '$temp_npcid'
+
+				'You hear <<$npcdesc>> shouting your name and jog over to meet them. You both embrace with a cuddle and a kiss on the cheek.'
 				'"Hey love, well done."'
 				'"Thanks. And thanks for coming, it means a lot."'
 				'"Of course, I''d come and support you. Now go and get freshened up and we''ll go out, my treat and you choose."'
@@ -1000,8 +997,8 @@ if $ARGS[0] = 'Family extension':
 					if deodorant_on = 1: gs 'sweat', 'remove_deo' & 'Your deodorant gets washed away in the shower.'
 					pcs_hairbsh = 1
 					'<center><video autoplay loop src="images/shared/home/bathroom/dush.mp4"></video></center>'
-					'Rejoining <<$lover[lover_number]>>, you both have a passionate embrace as most folks have gone.'
-					'<<$lover[lover_number]>> then says "Well done again <<$pcs_nickname>>, but I have something I have to do that won''t wait. See you soon."'
+					'Rejoining <<$npcdesc>>, you both have a passionate embrace as most folks have gone.'
+					'<<$npcdesc>> then says "Well done again <<$pcs_nickname>>, but I have something I have to do that won''t wait. See you soon."'
 					minut += 10
 					gs 'stat'
 					act 'Go home': minut += 4 & gt 'homes_properties', 'go_home'

+ 7 - 7
locations/havana_crossfit.qsrc

@@ -14,7 +14,7 @@ if $ARGS[0] = 'box':
 		crossfit_random_choice = daystart
 	end
 
-	if $previous_record_holder ! ''  and pcs_lover < 3 and last_crossfit_workout < daystart:
+	if $previous_record_holder ! '' and last_crossfit_workout < daystart:
 		gt 'havana_crossfit', 'girlmeet'
 	end
 
@@ -115,16 +115,16 @@ if $ARGS[0] = 'girlmeet':
 	menu_off = 1
 	!! generate a girlfriend
 	gs 'npcgeneratec', 1
-	gs 'boyStat', $npclastgenerated
+	gs 'npcStat', $npclastgenerated
 	$boydesc = $previous_record_holder
-	$boyClo = 'wearing workout clothes'
+	$npcClo = 'workout clothes'
 	killvar '$previous_record_holder'
 	minut += 5
 	gs 'stat'
 
-	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
-	'As you enter the crossfit box, you notice <<$boybody_pref>> girl with <<$boybod_pref>> body and <<$boyface>> hair.
-	She is <<$boyClo>>'
+	'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
+	'As you enter the crossfit box, you notice <<$npcheight_pref>> girl with <<$npcbuild_pref>> body and <<$npchair>> hair.
+	She is wearing <<$npcClo>>.'
 	'As she notices you, she greets you "Hi. My name is <<$boydesc>>. I heard you beat my old record, very impressive!"'
 
 	act 'Thank her':
@@ -143,7 +143,7 @@ if $ARGS[0] = 'girlmeet':
 			end
 			act 'Decline':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+				'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 				'"I''m sorry but I don''t feel myself attracted to you enough and I don''t want to lead you on."'
 				'<<$boydesc>> looks at you disappointed. "Oh well, I didn''t know if I had a chance but you can''t blame me for trying."'
 				'The two of you say goodbye to each other.'

+ 94 - 94
locations/hookup_after.qsrc

@@ -8,30 +8,30 @@ if $ARGS[0] = 'exit':
 	npc_last_sex[$boy] = daystart
 	if hookup['virgin'] = 1 and hookup['fuck'] > 0: npc_virgin_take[$boy] = 1
 	gs 'hookup_after', 'dress'
-			
+
 	if hookup['fuckbuddy'] > 0:
 		know_virgin[$boy] = hookup['virgin']
 		gs 'lover', 'add_fuckbuddy',$boy
 		npc_fuckbuddy[$boy] = 1
 		npc_no_booty_call[$boy] = daystart
 	end
-	
+
 	killvar 'hookup'
 	minut += 2
 	!! exit should be based on type of apartment and location
-	if npc_residence[$boy] = 1:
+	if $npc_residence[$boy] = 'pav_residential':
 		!! Pav residential exit
 		gs 'fame', 'pav', 'sex', rand(2,5)
 		gt 'pav_residential'
-	elseif npc_residence[$boy] = 2:
+	elseif $npc_residence[$boy] = 'uni_grounds':
 		!! Student dorms exit
 		gs 'fame', 'city', 'sex', rand(2,5)
 		gt 'city_island'
-	elseif npc_residence[$boy] = 3:
+	elseif $npc_residence[$boy] = 'city_residential':
 		!! St. Petersburg Residential exit
 		gs 'fame', 'city', 'sex', rand(2,5)
 		gt 'city_residential'
-	elseif npc_residence[$boy] = 4:
+	elseif $npc_residence[$boy] = 'city_center':
 		!! St. Petersburg City Center exit
 		gs 'fame', 'city', 'sex', rand(2,5)
 		gt 'city_center'
@@ -122,13 +122,13 @@ if $ARGS[0] = 'creampie_mad':
 				'"It''s fine," you sigh, taking another deep breath. "I''ll just buy a morning-after pill tomorrow. I shouldn''t have freaked out so much. Sorry."'
 				gs 'hookup_after', 'pre'
 			end
-			
+
 			act'I''ll buy a morning-after pill (calm)':
 				cla & *nl
 				'"It''s fine," you say, shaking your head. "I''ll just buy a morning-after pill."'
 				gs 'hookup_after', 'pre'
 			end
-			
+
 			act'I''ll buy a morning-after pill (nervous)':
 				cla & *nl
 				'"Everything will be okay," you say, still taking deep breaths. "I''ll just buy a morning-after pill. I won''t get pregnant, everything will be fine..." You keep repeating the words to yourself and eventually your heartrate decreases and you feel calm again.'
@@ -165,7 +165,7 @@ if $ARGS[0] = 'creampie_panic':
 		'"Ohmygodohmygodohmygodohmygod!" You cut him off with a torrent of words that spill from your mouth and globs of cum spill from your pussy, causing you to hyperventilate. "You said-! You promised-!"'
 	elseif hookup['condom'] = 4:
 		!! he promised he wouldn''t cum inside you
-		'"Ohmygodohmygodohmygodohmygod!" You cut him off with a torrent of words that spill from your mouth and globs of cum spill from your pussy, causing you to hyperventilate. "You said-! I told you-!"'		
+		'"Ohmygodohmygodohmygodohmygod!" You cut him off with a torrent of words that spill from your mouth and globs of cum spill from your pussy, causing you to hyperventilate. "You said-! I told you-!"'
 	else
 		'"Ohmygodohmygodohmygodohmygod!" You cut him off with a torrent of words that spill from your mouth and globs of cum spill from your pussy, causing you to hyperventilate.'
 	end
@@ -229,7 +229,7 @@ if $ARGS[0] = 'creampie_panic':
 		end
 		act 'Leave': gt 'hookup_after', 'exit'
 	end
-	
+
 	act'That''s not what I''m concerned about! (STDs)':
 		cla & *clr
 		'<center><b><font color="maroon"><<$npc_firstname[$boy]>>''s Bedroom</font></b></center>'
@@ -347,7 +347,7 @@ if $ARGS[0] = 'creampie_react':
 				end
 				gs 'hookup_after', 'creampie_react2'
 			end
-			
+
 		end
 		if orgasm = hookup['orgasm']:
 			act'Come':
@@ -371,12 +371,12 @@ if $ARGS[0] = 'creampie_react':
 			end
 		end
 	end
-	
-	
+
+
 !!{		if hookup['creampie_ask'] = 0:
 			act'Did you just cum inside me?':
 				gs 'cum_call', 'hands',$boy,1
-				
+
 				if $hookup['position'] = 'miss':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/cum/vagcreampie/oops.jpg"></center>'
@@ -400,21 +400,21 @@ if $ARGS[0] = 'creampie_react':
 				else
 					'"Yeah, your pussy was so tight, I just couldn''t help it."'
 				end
-				
+
 				act'What the fuck!':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/cum/cum111.jpg"></center>'
 					'"What the fuck!" you shout, scrambling backwards off the bed to look down at your pussy, horrified by the white liquid dripping from your snatch.'
 					gs 'hookup_after', 'creampie_mad'
 				end
-				
+
 				act'Panic!':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/cum/cum111.jpg"></center>'
 					'"Holy shit!" you shout, scrambling backwards off the bed to look down at your pussy, horrified by the white liquid dripping from your snatch.'
 					gs 'hookup_after', 'creampie_panic'
 				end
-				
+
 				if hookup['not_inside'] = 1 or hookup['condom'] = 2 or hookup['condom'] = 3:
 					act'Forgive the mistake':
 						cla & *clr
@@ -424,7 +424,7 @@ if $ARGS[0] = 'creampie_react':
 						gs 'hookup_talk', 'pillow_talk1'
 					end
 				end
-				
+
 				act'Just wondering':
 					cla & *clr
 					if $hookup['position'] = 'miss':
@@ -440,7 +440,7 @@ if $ARGS[0] = 'creampie_react':
 					gs 'hookup_after', 'pre'
 					gs 'hookup_talk', 'pillow_talk1'
 				end
-				
+
 				act'That''s hot':
 					cla & *clr
 					if $hookup['position'] = 'miss':
@@ -461,7 +461,7 @@ if $ARGS[0] = 'creampie_react':
 						gs 'hookup_after', 'pre'
 						gs 'hookup_talk', 'pillow_talk1'
 					end
-					
+
 					if hookup['creampie_surprise'] = 1:
 						act'Premature ejaculation is hot':
 							cla & *nl
@@ -474,7 +474,7 @@ if $ARGS[0] = 'creampie_react':
 						end
 					end
 				end}
-				
+
 				!!{act'Prank him':
 					cla & *clr
 					if $hookup['position'] = 'miss':
@@ -523,7 +523,7 @@ if $ARGS[0] = 'creampie_react':
 			else
 				'"Yeah, your pussy was so tight, I just couldn''t help it."'
 			end
-			
+
 			act'What the fuck!':
 				gs 'cum_call', 'hands',$boy,1
 				cla & *clr
@@ -537,7 +537,7 @@ if $ARGS[0] = 'creampie_react':
 				end
 				gs 'hookup_after', 'creampie_mad'
 			end
-			
+
 			act'Panic!':
 				gs 'cum_call', 'hands',$boy,1
 				cla & *clr
@@ -551,7 +551,7 @@ if $ARGS[0] = 'creampie_react':
 				end
 				gs 'hookup_after', 'creampie_panic'
 			end
-			
+
 			act'Just wondering':
 				cla & *clr
 				if $hookup['position'] = 'miss':
@@ -567,7 +567,7 @@ if $ARGS[0] = 'creampie_react':
 				gs 'hookup_after', 'pre'
 				gs 'hookup_talk', 'pillow_talk1'
 			end
-			
+
 			act'That''s hot':
 				cla & *clr
 				if $hookup['position'] = 'miss':
@@ -601,14 +601,14 @@ if $ARGS[0] = 'creampie_react':
 					end
 				end
 			end
-			
-!!{			if orgasm = hookup['orgasm'] 
+
+!!{			if orgasm = hookup['orgasm']
 				act'Ugh, two pump chump':
-				
-				
+
+
 				end
 			end}
-			
+
 			if hookup['not_inside'] = 1 or hookup['condom'] = 2 or hookup['condom'] = 3:
 				act'Forgive the mistake':
 					cla & *clr
@@ -621,7 +621,7 @@ if $ARGS[0] = 'creampie_react':
 						'<i>I''ll probably be fine. I mean, what are the odds that something bad happens, right?</i>'
 						gs 'hookup_after', 'pre'
 					end
-					
+
 					act'I''ll buy a morning-after pill':
 						cla & *nl
 						'You bite your lip for a moment considering the situation.'
@@ -629,7 +629,7 @@ if $ARGS[0] = 'creampie_react':
 						'<i>Well... that probably isn''t good... I''ll have to buy a morning-after pill tomorrow. As long as I don''t forget it should be fine, right?</i>'
 						gs 'hookup_after', 'pre'
 					end
-					
+
 					if tabletkishot > 0 or birth_control['think_safe'] = 1:
 						gs 'hookup_after', 'birth_control'
 					else
@@ -649,9 +649,9 @@ if $ARGS[0] = 'creampie_react2':
 	gs 'hookup_after', 'birth_control'
 	gs 'hookup_after', 'birth_control_lie'
 	gs 'hookup_after', 'preg_responsibility_tease'
-	
+
 	gs 'hookup_after', 'have_to_ask'
-	
+
 	if npc_selfish[$boy] > 0 or npc_abusive[$boy] > 0:
 		if hookup['did_you_cum_inside'] = 0 and hookup['take_in_stride'] ! 1:'"Ahh yeah. Cumming inside is the best."'
 		act'Glad you enjoyed yourself':
@@ -661,7 +661,7 @@ if $ARGS[0] = 'creampie_react2':
 			gs 'hookup_after', 'pre'
 			gs 'hookup_talk', 'pillow_talk1'
 		end
-		
+
 		act'It was hot':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/after/pillow_talk1.mp4"></video></center>'
@@ -681,7 +681,7 @@ if $ARGS[0] = 'creampie_react2':
 			gs 'hookup_after', 'pre'
 			gs 'hookup_talk', 'pillow_talk1'
 		end
-		
+
 		act'It was cute':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/after/pillow_talk2.mp4"></video></center>'
@@ -692,7 +692,7 @@ if $ARGS[0] = 'creampie_react2':
 			gs 'hookup_after', 'pre'
 			gs 'hookup_talk', 'pillow_talk1'
 		end
-		
+
 		act'It was hot':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/after/pillow_talk1.mp4"></video></center>'
@@ -850,7 +850,7 @@ if $ARGS[0] = 'light_cigarette':
 				'<center><img <<$set_imgh>> src="images/shared/sex/after/bed_smoke2.jpg"></center>'
 				'"Any chance I could get one of those?" you ask in the most sultry way you can.'
 				'"Cost is one fuck per," <<$npc_firstname[$boy]>> says, grinning.'
-				'"Well it''s a good thing I paid upfront then," you smile back, plucking one from his pack.' 
+				'"Well it''s a good thing I paid upfront then," you smile back, plucking one from his pack.'
 				act'Continue':
 					cla & *clr
 					gs 'drugs', 'smoke', 1
@@ -906,7 +906,7 @@ if $ARGS[0] = 'light_cigarette2':
 		'<center><img <<$set_imgh>> src="images/shared/sex/after/bed_smoke2.jpg"></center>'
 		'"Any chance I could get one of those?" you ask in the most sultry way you can.'
 		'"Cost is one fuck per," <<$npc_firstname[$boy]>> says, grinning.'
-		'"Well it''s a good thing I paid upfront then," you smile back, plucking one from his pack.' 
+		'"Well it''s a good thing I paid upfront then," you smile back, plucking one from his pack.'
 		act'Continue':
 			cla & *clr
 			gs 'drugs', 'smoke', 1
@@ -962,7 +962,7 @@ if $ARGS[0] = 'pre':
 						end
 						gs 'cum_cleanup'
 						cla & *clr
-						
+
 						if cum_loc['vagina'] > 0 or $hookup['cum_choice'] = 'creampie':
 							!! vagina
 							if hypnoAddict > 0:
@@ -1003,7 +1003,7 @@ if $ARGS[0] = 'pre':
 								'"Oh yeah, right here." <<$npc_firstname[$boy]>> reaches over to his nightstand, pulls a packet of tissues and tosses them over to you. Gratefully accepting them, you pull out a handful and get to work cleaning yourself up.'
 							end
 							*nl
-							
+
 							if cum_loc['hair'] > 0:
 								!! hair
 								'You carefully wipe the cum from your face, making sure to get every last drop, including getting the tangled web that <<$npc_firstname[$boy]>> managed to get in your hair. About a minute later, you can still feel a faintly sticky layer over the top of your skin, but at least nobody is going to give you funny looks walking down the street.'
@@ -1030,7 +1030,7 @@ if $ARGS[0] = 'pre':
 							else
 								'You really need to clean yourself after up after that. Reaching down to your purse, you pull some wipes out of your purse.'
 							end
-						end						
+						end
 						act'Get dressed':
 							cla & *clr
 							'<center><video autoplay loop src="images/pc/activities/misc/dress_1.mp4"></video></center>'
@@ -1042,7 +1042,7 @@ if $ARGS[0] = 'pre':
 							act 'Leave': gt 'hookup_after', 'exit'
 						end
 					end
-					
+
 					act'Borrow your shower?':
 						cla & *clr
 						$npc_apt_bedroom[$boy]
@@ -1108,7 +1108,7 @@ if $ARGS[0] = 'pre':
 					end
 				end
 			end
-			
+
 			act'Seriously?':
 				cla & *nl
 				'"Seriously?" you ask in disbelief.'
@@ -1234,7 +1234,7 @@ if $ARGS[0] = 'pre':
 			end
 			gs 'hookup_after', 'start'
 		end
-		
+
 		act'Get up':
 			hookup['get_up'] = 1
 			cla & *clr
@@ -1244,7 +1244,7 @@ if $ARGS[0] = 'pre':
 			*nl
 			'You swing your legs over the side and scooting forward until your feet touch the ground and allow you to stand up from the bed.'
 		end
-		
+
 		act'Play with your phone':
 			cla & *clr
 			minut += rand(2,5)
@@ -1265,7 +1265,7 @@ if $ARGS[0] = 'pre':
 			end
 			gs 'hookup_after', 'start'
 		end
-		
+
 		if mc_inventory['cigarettes'] > 0 and hookup['cigarette'] = 0:
 			act'Have a smoke':
 				cla & *clr
@@ -1274,7 +1274,7 @@ if $ARGS[0] = 'pre':
 				hookup['cigarette'] = 1
 				act 'Smoke': gt 'hookup_after', 'start'
 			end
-			
+
 			act'Have a smoke and play with your phone':
 				hookup['cigarette'] = 3
 				gs 'hookup_after', 'start'
@@ -1288,7 +1288,7 @@ if $ARGS[0] = 'pre':
 					gt 'hookup_after', 'wipes'
 				end
 			end
-			
+
 			act'Clean yourself up (ask him for wipes)':
 				hookup['wipes'] = 2
 				gt 'hookup_after', 'wipes'
@@ -1315,7 +1315,7 @@ if $ARGS[0] = 'wipes':
 			'You reach up and poke at the sperm coating your face. Ew. You really need to clean that up before you do anything else. Reaching down to your purse, you pull some wipes out of your purse.'
 		end
 		*nl
-		
+
 		if cum_loc['hair'] > 0:
 			!! hair
 			'You carefully wipe the cum from your face, making sure to get every last drop, including getting the tangled web that <<$npc_firstname[$boy]>> managed to get in your hair. About a minute later, you can still feel a faintly sticky layer over the top of your skin, but at least nobody is going to give you funny looks walking down the street.'
@@ -1371,13 +1371,13 @@ if $ARGS[0] = 'wipes':
 			end
 		end
 	end
-		
+
 	if cum_loc['hands'] > 0:
 		*nl
 		!! hands
 		'Once you''re satisfied that the rest of your body is clean, you wipe your hands off and toss the wipes into the trash.'
 	end
-	
+
 	hookup['wipes'] = 0
 	gs 'cum_cleanup'
 	gs 'hookup_after', 'start'
@@ -1436,7 +1436,7 @@ if $ARGS[0] = 'start':
 		*nl
 		'<<$npc_firstname[$boy]>> is just laying back on his bed, relaxing in the afterglow of your little encounter together.'
 	end
-	
+
 	act'Can I borrow your shower?':
 		cla & *clr
 		$npc_apt_bathroom[$boy]
@@ -1453,17 +1453,17 @@ if $ARGS[0] = 'start':
 			!!	'Joins you in the shower'
 			dynamic $showerdin
 			'You turn on the faucet, relaxing as the hot water pours down over your skin. After a few minutes, you turn the tap off, toweling off using what you can only assume to be <<$npc_firstname[$boy]>>''s towel and walk naked back into his room. <<$npc_firstname[$boy]>> is still there, relaxing in his bed'
-			
+
 			gs 'hookup_after', 'gotta_go'
-			
+
 			act 'Crawl back into bed': gt 'hookup_after', 'cuddle'
 		end
 	end
 	if hookup['get_up'] ! 1:
 		if hour > 20 or hour < 5:act 'Rest your eyes': gt 'hookup_after', 'bed'
-		
+
 		act 'Cuddle up with <<$npc_firstname[$boy]>>': gt 'hookup_after', 'cuddle'
-			
+
 		if npc_smoker[$boy] > 0 and hookup['cigarette'] = 0:
 			act'Ask to bum a cigarette':
 				cla & *nl
@@ -1473,7 +1473,7 @@ if $ARGS[0] = 'start':
 			end
 		end
 	end
-	
+
 	gs 'hookup_after', 'gotta_go'
 end
 
@@ -1525,13 +1525,13 @@ if $ARGS[0] = 'bed':
 		if $hookup['cum_choice'] = 'face':
 			!! face
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/sleep<<rand(1,3)>>.jpg"></center>'
-			
+
 		elseif $hookup['cum_choice'] = 'stomach':
 			!! stomach
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/stomach/sleep1.jpg"></center>'
 		elseif $hookup['cum_choice'] = 'ass' or $hookup['cum_choice'] = 'back':
 			!! butt
-			'<center><img <<$set_imgh>> src="images/shared/sex/cum/back1.jpg"></center>'			
+			'<center><img <<$set_imgh>> src="images/shared/sex/cum/back1.jpg"></center>'
 		elseif $hookup['cum_choice'] = 'creampie':
 			!! vagina
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/vagcreampie/after2.jpg"></center>'
@@ -1565,7 +1565,7 @@ if $ARGS[0] = 'cuddle':
 		'Hair still wet from the shower, you crawl back into bed with <<$npc_firstname[$boy]>> and cuddle up, resting your naked body on top of his. He wraps his arms around you in return and the two of you relax, listening to the sound of each other''s breathing.'
 	else
 		'Scootching over, you cuddle up with <<$npc_firstname[$boy]>>, resting your naked body on top of his. He wraps his arms around you in return and the two of you relax, listening to the sound of each other''s breathing.'
-	end	
+	end
 
 	gs 'hookup_after', 'gotta_go'
 	if hour > 20 or hour < 2:
@@ -1598,7 +1598,7 @@ if $ARGS[0] = 'gotta_go':
 		gs 'hookup_after', 'dress_loop'
 		gs 'hookup_after', 'hookup_continuation'
 	end
-	
+
 	act'Thanks for the <<$hookup[''fun'']>>':
 		hookup['thank_for_fun'] = 1
 		gs 'hookup_after', 'dress_loop'
@@ -1609,7 +1609,7 @@ if $ARGS[0] = 'gotta_go':
 		else
 			'"Well, thanks for the <<$hookup[''fun'']>>," you say, bending down to pick up your clothes.'
 		end
-		
+
 		if hookup['bj'] > 0 and hookup['fuck'] < 1:
 			if hookup['virgin'] > 0:
 				'"Thanks for the blowjob," he smirks back. "You give pretty good head. You sure you''re a virgin?" You don''t respond, <<$hookup[''dress_describe'']>>, but roll your eyes at his commentary.'
@@ -1628,9 +1628,9 @@ if $ARGS[0] = 'hookup_continuation':
 		'"Really?" <<$npc_firstname[$boy]>> sits up in bed. "You don''t have to. Are you sure you don''t want to spend the night?"'
 		gs 'hookup_after', 'spend_the_night'
 	elseif hookup['continuation'] > 0:
-		if npc_goal[$boy] = 1:
+		if $npc_rel_goal[$boy] = 'sex':
 			gs 'hookup_after', 'npc_fuckbuddy_request'
-		elseif npc_goal[$boy] > 1:
+		elseif $npc_rel_goal[$boy] ! '':
 			gs 'hookup_after', 'npc_date_request'
 		end
 		gs 'hookup_after', 'finish_dressing'
@@ -1660,7 +1660,7 @@ if $ARGS[0] = 'spend_the_night':
 			'"... no," you sigh. "I really shouldn''t. I want to, but I can''t."'
 			gs 'hookup_after', 'hookup_continuation'
 		end
-		
+
 		act'I guess I could...':
 			cla & *clr
 			'<center><b><font color="maroon"><<$npc_firstname[$boy]>>''s Bedroom</font></b></center>'
@@ -1669,16 +1669,16 @@ if $ARGS[0] = 'spend_the_night':
 			act'Undress and get into bed with him':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/shared/sex/after/cuddle1.jpg"></center>'
-				'After pulling off your clothes again, you slip back into bed and cuddle up with <<$npc_firstname[$boy]>>, resting your naked body on top of his. He wraps his arms around you in return and the two of you relax, listening to the sound of each other''s breathing.'						
+				'After pulling off your clothes again, you slip back into bed and cuddle up with <<$npc_firstname[$boy]>>, resting your naked body on top of his. He wraps his arms around you in return and the two of you relax, listening to the sound of each other''s breathing.'
 				act'Fall asleep':
 					cla & *nl
 					'As you lay there together, your eyelids slowly grow heavier until they close completely and your consciousness drifts slowly into darkness...'
 					act '. . .': gt 'hookup_after', 'sleep'
 				end
 			end
-		end				
+		end
 	end
-	
+
 	act'I really need to go':
 		cla & *clr
 		'<center><video autoplay loop src="images/pc/activities/misc/dress_1.mp4"></video></center>'
@@ -1759,7 +1759,7 @@ if $ARGS[0] = 'pc_date_request':
 end
 
 if $ARGS[0] = 'npc_fuckbuddy_request':
-	if hookup['thank_for_fun'] = 1:		
+	if hookup['thank_for_fun'] = 1:
 		'"You want to do it again sometime? Nothing serious, just sex. No strings."'
 		'"Like what?" you ask back, <<$hookup[''dress_describe'']>>. "Friends with benefits? Fuckbuddies? Booty callers?"'
 		'"Yeah, just like that," he grins.'
@@ -1830,11 +1830,11 @@ if $ARGS[0] = 'npc_date_request':
 			'<i>Holy fuck this is awkward,</i> you think to yourself as you pull the last of your clothes on. After giving yourself a once over, you give <<$npc_firstname[$boy]>> a strained smile and wave goodbye, quickly striding towards the door to escape.'
 			act 'Leave': gt 'hookup_after', 'exit'
 		end
-		
+
 		act'If we were fuckbuddies...':
 			cla & *nl
 			'"If it were something purely physical, like fuckbuddies or something, I wouldn''t mind getting together for some fun, but I''m just not interested in dating."'
-			if rand(1,10) > 7 and npc_goal[$boy] ! 3:
+			if rand(1,10) > 7 and $npc_rel_goal[$boy] ! 'serious':
 				hookup['fuckbuddy'] = 1
 				'"Well... If it means I can see you again, then sure I guess." <<$npc_firstname[$boy]>> doesn''t really seem satisfied with the results, but he still tells you his number while you tap it into your contact list.'
 				'"So uhh, yeah... Call me sometime?"'
@@ -1850,7 +1850,7 @@ if $ARGS[0] = 'npc_date_request':
 					'"Uhh well, uhh... Alright... Guess I won''t see you later then..." you respond awkwardly. After giving yourself a once over, you give <<$npc_firstname[$boy]>> a strained smile and wave goodbye, quickly striding towards out the door.'
 					act 'Leave': gt 'hookup_after', 'exit'
 				end
-				
+
 				act'It''s to be expected':
 					cla & *clr
 					'<center><b><font color="maroon"><<$npc_firstname[$boy]>>''s Bedroom</font></b></center>'
@@ -1907,14 +1907,18 @@ if $ARGS[0] = 'just_a_hookup':
 end
 
 if $ARGS[0] = 'have_a_boyfriend':
-	if pcs_lovers - pcs_girlfriends > 0:
-		act'I have a boyfriend':
+	if stat['boyfriends_current'] > 0:
+		act 'I have a boyfriend':
 			npc_know_girlfriend[$boy] = 0
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
 			'"I have a boyfriend," you say, giving him a look.'
-			if npc_fidelity[$boy] = 6:
-				if npc_girlfriend[$boy] = 1 and npc_goal[$boy] = 1:
+			if $npc_fidelity[$boy] = 'faithful':
+				'"Oh. Uhh, well..." <<$npc_firstname[$boy]>> trails off and you''re left in an extremely uncomfortable silence while you get dressed in front of him.'
+				'<i>Holy fuck this is awkward,</i> you think to yourself as you pull the last of your clothes on. After giving yourself a once over, you give <<$npc_firstname[$boy]>> a strained smile and wave goodbye, quickly striding towards the door to escape.'
+				act 'Leave': gt 'hookup_after', 'exit'
+			else
+				if npc_girlfriend[$boy] = 1 and $npc_rel_goal[$boy] = 'sex':
 					'"So? I have a girlfriend," he grins shamelessly. "Doesn''t mean we can''t keep fucking."'
 					act'No way':
 						cla & *clr
@@ -1936,24 +1940,20 @@ if $ARGS[0] = 'have_a_boyfriend':
 					'"Yeah, sure," you snigger back, pulling on the rest of your clothes. You give yourself a once over, making sure everything''s in place and wave goodbye as you head towards the door.'
 					act 'Leave': gt 'hookup_after', 'exit'
 				end
-			else
-				'"Oh. Uhh, well..." <<$npc_firstname[$boy]>> trails off and you''re left in an extremely uncomfortable silence while you get dressed in front of him.'
-				'<i>Holy fuck this is awkward,</i> you think to yourself as you pull the last of your clothes on. After giving yourself a once over, you give <<$npc_firstname[$boy]>> a strained smile and wave goodbye, quickly striding towards the door to escape.'
-				act 'Leave': gt 'hookup_after', 'exit'
 			end
 		end
 	end
 end
 
 if $ARGS[0] = 'have_a_girlfriend':
-	if pcs_girlfriends > 0:
+	if stat['girlfriends_current'] > 0:
 		act'I have a girlfriend':
 			npc_know_girlfriend[$boy] = 1
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
 			'"I have a girlfriend," you say, giving him a look.'
 			if npc_fidelity[$boy] = 6:
-				if npc_girlfriend[$boy] = 1 and npc_goal[$boy] = 1:
+				if npc_girlfriend[$boy] = 1 and $npc_rel_goal[$boy] = 'sex':
 					'"Hey, me too!" he grins shamelessly.'
 					act'No way':
 						cla & *clr
@@ -2002,7 +2002,7 @@ if $ARGS[0] = 'dress_loop':
 		gs 'panties', 'wear', $lastwornpantytype['hookup'], lastwornpantynumber['hookup']
 		killvar 'lastwornpantytype'
 		killvar 'lastwornpantynumber'
-		
+
 		if $lastwornbratype['hookup'] ! 'none':
 			$hookup['dress_describe'] += 'fastening your bra around your chest'
 			if $clothingworntype = 'nude': $hookup['dress_describe'] += ' then '
@@ -2104,7 +2104,7 @@ if $ARGS[0] = 'panty_gift2':
 			gs 'hookup_after', 'later'
 		end
 	end
-	
+
 	act'Something to remember the occassion':
 		cla & *clr
 		$npc_apt_bedroom[$boy]
@@ -2122,7 +2122,7 @@ if $ARGS[0] = 'panty_gift2':
 			gs 'hookup_after', 'later'
 		end
 	end
-	
+
 	act'Consider it a trophy':
 		cla & *clr
 		$npc_apt_bedroom[$boy]
@@ -2163,7 +2163,7 @@ if $ARGS[0] = 'panty_gift2':
 				gs 'hookup_after', 'later'
 			end
 		end
-		
+
 	end
 end
 
@@ -2174,13 +2174,13 @@ if $ARGS[0] = 'panty_gift_girlfriend':
 		'"Just hide them," you say, <<$hookup[''dress_describe'']>>. "If you can hide a fucking a girl in your bed, surely you can hide a pair of panties."'
 		gs 'hookup_after', 'finish_dressing'
 	end
-	
+
 	act'Say they''re hers':
 		cla & *nl
 		'"Tell her they''re hers," you snicker, <<$hookup[''dress_describe'']>>. "Maybe she''ll think she bought them."'
 		gs 'hookup_after', 'finish_dressing'
 	end
-	
+
 	act'Say they''re yours':
 		gs 'hookup_after', 'dress_loop'
 		cla & *nl
@@ -2195,7 +2195,7 @@ if $ARGS[0] = 'panty_gift_girlfriend':
 				'You move to <<$hookup[''dress_describe'']>> but <<$npc_firstname[$boy]>> continues to glare at you out of the corner of your eye for a few moments longer before looking away.'
 				gs 'hookup_after', 'later'
 			end
-			
+
 			act'I was kidding (acerbic)':
 				cla & *clr
 				$npc_apt_bedroom[$boy]
@@ -2209,13 +2209,13 @@ if $ARGS[0] = 'panty_gift_girlfriend':
 			gs 'hookup_after', 'later'
 		end
 	end
-	
+
 	act'Give them to her':
 		cla & *nl
 		'"Gift them to her," you say mischievously, <<$hookup[''dress_describe'']>>. "Maybe she''ll put them on."'
 		gs 'hookup_after', 'later'
 	end
-	
+
 	act'Throw them away':
 		cla & *nl
 		'"Throw them away then," you shrug, <<$hookup[''dress_describe'']>>. "Do whatever you want with them.'
@@ -2234,8 +2234,8 @@ if $ARGS[0] = 'sleep':
 		gs 'pain', 3, 'head', 'ache'
 	else
 		gs 'sleep', 'simple'
-	end	
-	
+	end
+
 	if mid($start_type,1,2) = 'sg' and func('homes_properties', 'has_access', 'parents_home'): sveta_punishment['no_come_home'] = 1
 	gt 'hookup_morning', 'morning'
 end

+ 4 - 3
locations/hookup_female.qsrc

@@ -2,6 +2,7 @@
 !! 2021/05/06
 if $ARGS[0] = 'quickie':
 	$location_type = 'indoors'
+	gs 'boyStat', $npclastsaved
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/shared/romance/lovers/hookups/gf/gf1.jpg"></center>'
 	'<<$npc_firstname[$npclastsaved]>> opens the door to her apartment and you both immediately begin caressing each other and kissing passionately.'
@@ -56,16 +57,16 @@ if $ARGS[0] = 'quickie':
 						gs 'arousal', 'kiss', 2
 						act 'Yes':
 							*clr & cla
-							'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+							'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 							'"Umm, very unexpected but wow! Yeah, that would be great, I''ll look forward to our date. Don''t make me wait too long!'
 							act 'Leave':
-								gs 'lover', 'add'
+								gs 'lover', 'add_girlfriend', $boy
 								gt 'hookup_after', 'exit'
 							end
 						end
 						act 'No':
 							*clr & cla
-							'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+							'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 							'"I really enjoyed it too, but it''s probably best to leave it here. You never know, we might bump into each other again."'
 							act 'Leave':
 								gt 'hookup_after', 'exit'

+ 114 - 77
locations/hunterLoveSex.qsrc

@@ -21,8 +21,11 @@ if $ARGS[0] = 'din_hunters_bj_bonusH1':
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus1.mp4"></video></center>'
 	*pl
 	'You glide your tongue over the head of his member, gently flicking and poking at his urethra.'
-	if harakBoyH = 2:'<<$boydesc>> looks down at you: -<<$pcs_nickname>>, what are you doing, stop it, I''m fucking going to cum from this already.'
-	if harakBoyH < 2:'<<$boydesc>> looks down at you: -<<$pcs_nickname>>, what are you doing, stop it, I''m going to shoot my load already.'
+	if npc_rough[$boy] = 1:
+		'<<$boydesc>> looks down at you: -<<$pcs_nickname>>, what are you doing, stop it, I''m fucking going to cum from this already.'
+	else
+		'<<$boydesc>> looks down at you: -<<$pcs_nickname>>, what are you doing, stop it, I''m going to shoot my load already.'
+	end
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bjH1'
@@ -93,8 +96,11 @@ if $ARGS[0] = 'din_hunters_bj_bonusH2':
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus2.mp4"></video></center>'
 	*pl
 	'He shivers slightly as you gently bite the head of his cock with your pearly white teeth.'
-	if harakBoyH = 2:'-Hey, fuck, <<$pcs_nickname>>, are you mistaking my dick for a banana? Cut that shit out!'
-	if harakBoyH < 2:'-Be careful <<$pcs_nickname>>, stop joking around with that thing.'
+	if npc_rough[$boy] = 1:
+		'-Hey, fuck, <<$pcs_nickname>>, are you mistaking my dick for a banana? Cut that shit out!'
+	else
+		'-Be careful <<$pcs_nickname>>, stop joking around with that thing.'
+	end
 	'You smile and look at him.'
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
@@ -231,8 +237,11 @@ if $ARGS[0] = 'din_hunters_bj_bonusH4':
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus4.mp4"></video></center>'
 	*pl
 	'Grasping the base of his penis, you do as he asks, slapping his cock against your cheeks.'
-	if harakBoyH = 2:'-Oh yeah, you are my little submissive bitch, get down on that dick honey.'
-	if harakBoyH = 0:'-Oh yeah, you know what I like, go ahead honey.'
+	if npc_rough[$boy] = 1:
+		'-Oh yeah, you are my little submissive bitch, get down on that dick honey.'
+	elseif npc_gentle[$boy] = 1:
+		'-Oh yeah, you know what I like, go ahead honey.'
+	end
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bjH4'
@@ -289,8 +298,11 @@ if $ARGS[0] = 'din_hunters_bj_bonusH6':
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus6.mp4"></video></center>'
 	*pl
 	'<<$boydesc>> slaps his member on your face.'
-	if harakBoyH > 0:'-Bad girl, now daddy will punish you.'
-	if harakBoyH = 0:'-You are a perfect little slut, he says with a smile.'
+	if npc_gentle[$boy] = 1:
+		'-You are a perfect little slut, he says with a smile.'
+	else
+		'-Bad girl, now daddy will punish you.'
+	end
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bjH6'
@@ -303,9 +315,9 @@ if $ARGS[0] = 'din_hunters_bjH6':
 	*pl
 	h = rand(1,3)
 	'Grasping his thick cock in your hands, you begin to stroke it confidently watching his reaction.'
-	if harakBoyH > 0:'-Well,<<$pcs_nickname>>, I can jerk myself off, but lets see what sort of skills you have.'
+	if npc_gentle[$boy] = 0: '-Well,<<$pcs_nickname>>, I can jerk myself off, but lets see what sort of skills you have.'
 	gs 'arousal', 'foreplay', 5, 'sub'
-	if harakBoyH = 0:'-Come on,<<$pcs_nickname>>, show me what you can do!   <<$boydesc>> says, gazing deep into your eyes.'
+	if npc_gentle[$boy] = 1: '-Come on,<<$pcs_nickname>>, show me what you can do!   <<$boydesc>> says, gazing deep into your eyes.'
 	*pl
 	gs 'arousal', 'foreplay', 5, 'sub'
 	if hunters_bj_times < 3:'You stick out your tongue and <a href="exec:gt ''hunterLoveSex'', ''din_hunters_bj_bonusH6''">lick</a> his hot cockhead.'
@@ -422,8 +434,8 @@ if $ARGS[0] = 'din_hunters_bj_bonusH8':
 	'<center><video autoplay loop src="images/shared/sex/cum/kotovbjbonus12.mp4"></video></center>'
 	*pl
 	'You try to take his cock even deeper, but, unaccustomed to deepthroating, you gag and almost puked all over him.'
-	if harakBoyH = 2:' -Fuck, fucking<<$pcs_nickname>>, if you are not able to take it all, work on it at home with a banana, and not on my cock.'
-	if harakBoyH = 0:' -Don''t worry <<$pcs_nickname>>, maybe you''ll be able to take all of it next time.'
+	if npc_rough[$boy] = 1: ' -Fuck, fucking<<$pcs_nickname>>, if you are not able to take it all, work on it at home with a banana, and not on my cock.'
+	if npc_gentle[$boy] = 1: ' -Don''t worry <<$pcs_nickname>>, maybe you''ll be able to take all of it next time.'
 	gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bjH8'
@@ -597,7 +609,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface7':
 	'<center><video autoplay loop src="images/shared/sex/cum/cumf70.mp4"></video></center>'
 	*pl
 	'You feel his member begin to throb in your mouth as it unleashes a torrent of hot, tart spunk down your throat.'
-	if harakBoyH < 2: '-Sorry <<$pcs_nickname>>, I couldn''t hold  back any longer.'
+	if npc_rough[$boy] = 0: '-Sorry <<$pcs_nickname>>, I couldn''t hold  back any longer.'
 	if silavag = 0 and dikos = 0:'All <<$pcs_nickname>> hare. I can''t.'
 	if silavag = 1 and dikos = 1:'All <<$pcs_nickname>>. I can''t.'
 	if silavag = 2 and dikos = 2:'All <<$pcs_nickname>>, enough. I can''t.'
@@ -662,7 +674,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface6':
 	'<center><video autoplay loop src="images/shared/sex/cum/cumf60.mp4"></video></center>'
 	*pl
 	'You feel his cock start to throb in your mouth as it unleashes a torrent of spunk. Your mouth can''t possibly accomodate his massive load and your quickly gulp it down as fast as you can.'
-	if harakBoyH = 2: '-Insatiable slut, here''s what you''ve been missing all day.'
+	if npc_rough[$boy] = 1: '-Insatiable slut, here''s what you''ve been missing all day.'
 	if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -728,7 +740,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface5':
 	'<center><video autoplay loop src="images/shared/sex/cum/cumf50.mp4"></video></center>'
 	*pl
 	'His powerful jet of cum hits you on the face chin. It slowly drips onto your tits, leaving them nicely glazed with his fresh load.'
-	if harakBoyH = 2: '-<<$pcs_nickname>>, just dig your kueng Boobs.'
+	if npc_rough[$boy] = 1: '-<<$pcs_nickname>>, just dig your kueng Boobs.'
 	if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -794,7 +806,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface4':
 	'<center><video autoplay loop src="images/shared/sex/cum/cumf40.mp4"></video></center>'
 	*pl
 	'<<$boydesc>> cum is on your chest. Warm droplets flow down to your stomach. You smear the sticky cum all over your body, relishing the feeling.'
-	if harakBoyH = 2: '-<<$pcs_nickname>>, it''s supposed to help your tits grow. Do you want to be my Busty beauty?'
+	if npc_rough[$boy] = 1: '-<<$pcs_nickname>>, it''s supposed to help your tits grow. Do you want to be my Busty beauty?'
 	if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -860,7 +872,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface3':
 	'<center><video autoplay loop src="images/shared/sex/cum/cumf30.mp4"></video></center>'
 	*pl
 	'You feel his hard dick begin to throb in your hands and soon <<$boydesc>> cum gushes out covering your hands in a fresh coat of warm spunk.'
-	if harakBoyH > 0: '-Baby, you have some Golden hands! Will you lend them to me sometime?'
+	if npc_gentle[$boy] = 0: '-Baby, you have some Golden hands! Will you lend them to me sometime?'
 	if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -936,7 +948,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface2':
 		'<center><video autoplay loop src="images/locations/pavlovsk/resident/rekshome/party/reksparty_party_kuh_4_' + rand(13,14) + '.mp4"></video></center>'
 		*pl
 		'With great pleasure you swallow every last drop.'
-		if harakBoyH = 2: '-Fuck  <<$pcs_nickname>>, you''re a real cum guzzler, don''t forget to mouth wash, I still want to kiss you sometime.'
+		if npc_rough[$boy] = 1: '-Fuck  <<$pcs_nickname>>, you''re a real cum guzzler, don''t forget to mouth wash, I still want to kiss you sometime.'
 		if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 		if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 		if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -1001,7 +1013,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface2':
 		'<center><video autoplay loop src="images/locations/pavlovsk/resident/rekshome/party/reksparty_party_kuh_4_16.mp4"></video></center>'
 		*pl
 		'You don''t like the taste and you quickly spit out his disgusting load.'
-		if harakBoyH = 2: '-Does that not taste good <<$pcs_nickname>>? I thought all women loved the taste of a fresh load. It''s a pity you don''t. '
+		if npc_rough[$boy] = 1: '-Does that not taste good <<$pcs_nickname>>? I thought all women loved the taste of a fresh load. It''s a pity you don''t. '
 		if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 		if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 		if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -1068,7 +1080,7 @@ if $ARGS[0] = 'din_hunters_sex_cumface1':
 	'<center><video autoplay loop src="images/shared/sex/cum/cumf10.mp4"></video></center>'
 	*pl
 	'The jets of hot sperm hit you in the face and slowly flow down onto your throat and tits.'
-	if harakBoyH > 0: '-Ohh, <<$pcs_nickname>>, god that felt good!'
+	if npc_gentle[$boy] = 0: '-Ohh, <<$pcs_nickname>>, god that felt good!'
 	if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -2158,8 +2170,8 @@ if $ARGS[0] = 'din_hunters_sex_cum3':
 	'<center><video autoplay loop src="images/shared/sex/cum/cum3.mp4"></video></center>'
 	*pl
 	'<<$boydesc>> pulls out his member and groans as you feel his warm drops of sperm drip on your ass and back.'
-	if harakBoyH = 2:'-Hell,<<$pcs_nickname>>, in this position you fuck like a perfect whore. He slaps you lightly on the ass.'
-	if harakBoyH = 0:'-<<$pcs_nickname>>, in this position you are simply irresistible. He gently kisses you on the cheek.'
+	if npc_rough[$boy] = 1:'-Hell,<<$pcs_nickname>>, in this position you fuck like a perfect whore. He slaps you lightly on the ass.'
+	if npc_gentle[$boy] = 1:'-<<$pcs_nickname>>, in this position you are simply irresistible. He gently kisses you on the cheek.'
 	if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -2224,7 +2236,7 @@ if $ARGS[0] = 'din_hunters_sex_cum2':
 	'<center><video autoplay loop src="images/shared/sex/cum/cum2.mp4"></video></center>'
 	*pl
 	'<<$boydesc>> pulls out his cock and groans as you feel his warm sperm drip onto your stomach.'
-	if harakBoyH = 2:'-Shit, <<$pcs_nickname>> that was awesome, <<$boydesc>> looks completely satisfied. He passionately kisses you.'
+	if npc_rough[$boy] = 1:'-Shit, <<$pcs_nickname>> that was awesome, <<$boydesc>> looks completely satisfied. He passionately kisses you.'
 	if silavag = 0 and dikos = 0:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 1 and dikos = 1:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
 	if silavag = 2 and dikos = 2:'Sorry <<$pcs_nickname>>. I couldn''t help myself!'
@@ -2566,9 +2578,9 @@ if $ARGS[0] = 'din_hunters_sex_bell_bonus1':
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/vag/facedown/kotovsexbonus10.mp4"></video></center>'
 	'Lying relaxed on your stomach, you lazily twist your ass, spreading your cheeks open to show off your tight hole. <<$boydesc>> freezes and enjoys the view.'
-	if harakBoyH = 2: 'Oh yeah, my kitty, I never get tired of looking at your tasty ass.'
-	if harakBoyH = 2:'-Uhh, <<$pcs_nickname>>, don''t stop...'
-	if harakBoyH < 2:'-It''s super cute...'
+	if npc_rough[$boy] = 1: 'Oh yeah, my kitty, I never get tired of looking at your tasty ass.'
+	if npc_rough[$boy] = 1:'-Uhh, <<$pcs_nickname>>, don''t stop...'
+	if npc_rough[$boy] = 0:'-It''s super cute...'
 	*pl
 	*pl
 	gs 'arousal', 'anal', 5, 'sub'
@@ -2705,7 +2717,7 @@ if $ARGS[0] = 'din_hunters_sex_cow_bonus2':
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/vag/hug/kotovsex60.mp4"></video></center>'
 	'<<$boydesc>> gets up and you tightly hug him. You clasp his neck, and move your waist.'
-	if harakBoyH = 2:'-Umm, what a hot bitch, let me get my hands on those tits of yours...'
+	if npc_rough[$boy] = 1:'-Umm, what a hot bitch, let me get my hands on those tits of yours...'
 	*pl
 	gs 'dinsex','vaginal_sex',10
 	*pl
@@ -2743,8 +2755,8 @@ if $ARGS[0] = 'din_hunters_sex_cow_bonus1':
 	'<center><video autoplay loop src="images/shared/sex/vag/cowgirl/kotovsexbonus'+rand(17,19)+'.mp4"></video></center>'
 	*pl
 	'You turn your back to him and continue to slide your wet pussy up and down his rock-hard member.'
-	if harakBoyH = 2:'-Uhh, baby, your ass looks so fucking great...'
-	if harakBoyH < 2:'-Lookin good <<$pcs_nickname>>...'
+	if npc_rough[$boy] = 1:'-Uhh, baby, your ass looks so fucking great...'
+	if npc_rough[$boy] = 0:'-Lookin good <<$pcs_nickname>>...'
 	*pl
 	gs 'dinsex','vaginal_sex',10 & !original dynamic $sexstart5
 	*pl
@@ -2851,9 +2863,13 @@ if $ARGS[0] = 'din_hunters_sex_dog_bonus':
 	'<center><video autoplay loop src="images/shared/sex/sequence/kotovsexbonus'+rand(11,12)+'.mp4"></video></center>'
 	*pl
 	'Slowing him down, you start to move your dripping pussy to meet his hot member.'
-	if harakBoyH = 2:'<<$boydesc>> slows his movements "Excellent work, bootyfull bitch."'
-	if harakBoyH = 1:'<<$boydesc>> slows his movements "Cool <<$pcs_nickname>>."'
-	if harakBoyH = 0:'<<$boydesc>> slows his movements "You''re good just so good <<$pcs_nickname>>."'
+	if npc_gentle[$boy] = 1:
+		'<<$boydesc>> slows his movements "You''re good just so good <<$pcs_nickname>>."'
+	elseif npc_rough[$boy] = 1:
+		'<<$boydesc>> slows his movements "Excellent work, bootyfull bitch."'
+	else
+		'<<$boydesc>> slows his movements "Cool <<$pcs_nickname>>."'
+	end
 	*pl
 	gs 'arousal', 'vaginal', 5, 'sub'
 	gs 'stat'
@@ -3085,12 +3101,12 @@ if $ARGS[0] = 'din_hunters_sex_kuni_bonus':
 	if silavag = 2: pcs_horny += 25
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/facesit/kotovsexbonus'+rand(23,24)+'.mp4"></video></center>'
-	if harakBoyH = 2:'-What are you doing? Oh shit, <<$pcs_nickname>>, not this! Why do I let you do this to me...'
+	if npc_rough[$boy] = 1:'-What are you doing? Oh shit, <<$pcs_nickname>>, not this! Why do I let you do this to me...'
 	'You climb up and begin rubbing your wet pussy on his face.'
 	gs 'arousal', 'cuni', 5, 'dom'
-	if harakBoyH > 0:'He doesn''t seem to like it, but he dutifully laps at your pussy, making you quiver at the pleasent feeling of a tongue on your clit.'
+	if npc_gentle[$boy] = 0:'He doesn''t seem to like it, but he dutifully laps at your pussy, making you quiver at the pleasent feeling of a tongue on your clit.'
 	gs 'arousal', 'cuni', 5, 'dom'
-	if harakBoyH = 0:'Apparently he enjoys it, and he diligently licks and sucks at your pussy and clit, causing you to quiver in exstacy.'
+	if npc_gentle[$boy] = 1:'Apparently he enjoys it, and he diligently licks and sucks at your pussy and clit, causing you to quiver in exstacy.'
 	gs 'arousal', 'cuni', 5, 'dom'
 	gs 'stat'
 	if pcs_horny >= 90:
@@ -3104,7 +3120,7 @@ if $ARGS[0] = 'din_hunters_sex_kuni_bonus':
 	*pl
 	'You enjoy the sweet efforts of your boyfriend.
 	-Alright <<$boydesc>>, come here and fuck me.'
-	if harakBoyH > 0:'-Yes baby, I''m going to fuck you like crazy. Come over here, my dick is like stone.'
+	if npc_gentle[$boy] = 0:'-Yes baby, I''m going to fuck you like crazy. Come over here, my dick is like stone.'
 	*pl
  	 i = rand(1,5)
 	 if i = 1: act 'Spread your legs ':gt 'hunterLoveSex', 'din_hunters_sex_misionary'
@@ -3122,18 +3138,18 @@ if $ARGS[0] = 'din_hunters_sex_kuni':
 		'<center><video autoplay loop src="images/shared/sex/oface/kotovecho.mp4"></video></center>'
 		if pcs_horny >= 80:
 			'<<$boydesc>> refuses to lick your pussy.'
-			if harakBoyH = 2: '-No <<$pcs_nickname>>, leave me alone. Real men don''t lick pussy, now spread those legs.'
-			if harakBoyH = 0: 'Maybe another time, honey'
+			if npc_rough[$boy] = 1: '-No <<$pcs_nickname>>, leave me alone. Real men don''t lick pussy, now spread those legs.'
+			if npc_gentle[$boy] = 1: 'Maybe another time, honey'
 			act 'Continue': gt 'hunterLoveSex', 'din_hunters_sex_misionary'
 		else
-			if harakBoyH = 2:
-				'<<$boydesc>> reluctantly agrees to lick you.'
-				'-Okay,<<$pcs_nickname>>, don''t tell anyone or they''ll lose all respect for me.'
-			end
-			if harakBoyH = 1: '<<$boydesc>> agrees to lick you.'
-			if harakBoyH = 0:
+			if npc_gentle[$boy] = 1:
 				'<<$boydesc>> happily agrees to lick you.'
 				'-<<$pcs_nickname>>, I will deliver you unearthly pleasure.'
+			elseif npc_rough[$boy] = 1:
+				'<<$boydesc>> reluctantly agrees to lick you.'
+				'-Okay,<<$pcs_nickname>>, don''t tell anyone or they''ll lose all respect for me.'
+			else
+				'<<$boydesc>> agrees to lick you.'
 			end
 			act 'Spread your legs for him':
 				*clr & cla
@@ -3331,9 +3347,9 @@ if $ARGS[0] = 'din_hunters_bj_bonus12':
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/cum/kotovbjbonus12.mp4"></video></center>'
 	'You try to swallow his cock even deeper, but gag in the process. You barely avoid throwing up all over him.'
-	if harakBoyH = 2:' -Fu fucking<<$pcs_nickname>>, if you are not able to swallow normally, practice at home on a banana and not on my cock!'
-	if harakBoyH = 0:' -Do not worry <<$pcs_nickname>>, deep throating is hard to learn, but gets easier the more you do it.'
-	if harakBoyH = 0:' -Do not worry <<$pcs_nickname>>, maybe next time it will work.'
+	if npc_rough[$boy] = 1:' -Fu fucking<<$pcs_nickname>>, if you are not able to swallow normally, practice at home on a banana and not on my cock!'
+	if npc_gentle[$boy] = 1:' -Do not worry <<$pcs_nickname>>, deep throating is hard to learn, but gets easier the more you do it.'
+	if npc_gentle[$boy] = 1:' -Do not worry <<$pcs_nickname>>, maybe next time it will work.'
 	gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bj12'
@@ -3396,9 +3412,13 @@ if $ARGS[0] = 'din_hunters_bj_bonus11':
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus11.mp4"></video></center>'
 	'You take his cock into your mouth and <<$boydesc>> starts roughly fucking your face, doing his best to shove as much of his cock down your throat as he can.'
-	if harakBoyH = 2:'-Oh yeah, baby, just let me do this for a little while, your pretty face looks so sexy.'
-	if harakBoyH = 1:'-Oh yeah, <<$pcs_nickname>>, come on, that feels so good.'
-	if harakBoyH = 0:'-Honey, this is amazing, your face looks so sexy.'
+	if npc_gentle[$boy] = 1:
+		'-Honey, this is amazing, your face looks so sexy.'
+	elseif npc_rough[$boy] = 1:
+		'-Oh yeah, baby, just let me do this for a little while, your pretty face looks so sexy.'
+	else
+		'-Oh yeah, <<$pcs_nickname>>, come on, that feels so good.'
+	end
 	gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bj11'
@@ -3551,14 +3571,18 @@ if $ARGS[0] = 'din_hunters_bj9':
 end &! --- din_hunters_bj9 ---
 
 if $ARGS[0] = 'din_hunters_bj_bonus8':
-	if harakBoyH > 0:hunters_bj_times -= 1
-	if harakBoyH = 0:hunters_bj_times += 1
+	if npc_gentle[$boy] = 0:hunters_bj_times -= 1
+	if npc_gentle[$boy] = 1:hunters_bj_times += 1
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus8.mp4"></video></center>'
 	'While <<$boydesc>> continues to enjoy himself, you lick the pucker of his asshole, forcing your tongue inside. He jumps and looks down at you startled.'
-	if harakBoyH = 2:'-Who told you to fuck my ass with your tongue? No, <<$pcs_nickname>>, I don''t like it. Cut that shit out!'
-	if harakBoyH = 1:'- What the hell <<$pcs_nickname>>, stop!'
-	if harakBoyH = 0:'- Mmmm <<$pcs_nickname>>, don''t stop," <<$boydesc>> says.'
+	if npc_gentle[$boy] = 1:
+		'- Mmmm <<$pcs_nickname>>, don''t stop," <<$boydesc>> says.'
+	elseif npc_rough[$boy] = 1:
+		'-Who told you to fuck my ass with your tongue? No, <<$pcs_nickname>>, I don''t like it. Cut that shit out!'
+	else
+		'- What the hell <<$pcs_nickname>>, stop!'
+	end
 	gs 'arousal', 'cuni_give', 5, 'sub'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bj8'
@@ -3687,8 +3711,8 @@ if $ARGS[0] = 'din_hunters_bj_bonus6':
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus6.mp4"></video></center>'
 	*pl
 	'<<$boydesc>> slaps his cock against your tongue.'
-	if harakBoyH = 2:'-Bad girl, now daddy will punish you.'
-	if harakBoyH < 2:'- You''re a dirty little girl, he says with a smile.'
+	if npc_rough[$boy] = 1:'-Bad girl, now daddy will punish you.'
+	if npc_rough[$boy] = 0:'- You''re a dirty little girl, he says with a smile.'
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bj6'
@@ -3701,8 +3725,8 @@ if $ARGS[0] = 'din_hunters_bj6':
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbj6'+rand(0,1)+'.mp4"></video></center>'
 	h = rand(1,3)
 	'Capturing hold of his thick meat with your hands, you start to jerk it confidently, watching his reaction.'
-	if harakBoyH > 0:'-Well,<<$pcs_nickname>>, I can jerk my dick myself, but I bet you have some better tools to use on what you''re holding there.'
-	if harakBoyH = 0:'-Come on,<<$pcs_nickname>>, show me what you can do - <<$boydesc>> says with a smile.'
+	if npc_gentle[$boy] = 0:'-Well,<<$pcs_nickname>>, I can jerk my dick myself, but I bet you have some better tools to use on what you''re holding there.'
+	if npc_gentle[$boy] = 1:'-Come on,<<$pcs_nickname>>, show me what you can do - <<$boydesc>> says with a smile.'
 	*pl
 	gs 'arousal', 'hj', 5, 'sub'
 	if hunters_bj_times < 3 and bj > 10:'You stick out your tongue and he <a href="exec:gt ''hunterLoveSex'', ''din_hunters_bj_bonus6''">spanks</a> his cock on it.'
@@ -3814,8 +3838,8 @@ if $ARGS[0] = 'din_hunters_bj_bonus4':
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus4.mp4"></video></center>'
 	*pl
 	'You grasp the base of the penis and, carrying out his request, slap his glistening cock head against your cheeks.'
-	if harakBoyH = 2:'-Oh yeah, you submissive little slut. You''ve really got me going.'
-	if harakBoyH = 0:'-Oh yeah, you''ve really got me hard, keep going honey.'
+	if npc_rough[$boy] = 1:'-Oh yeah, you submissive little slut. You''ve really got me going.'
+	if npc_gentle[$boy] = 1:'-Oh yeah, you''ve really got me hard, keep going honey.'
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bj4'
@@ -3938,8 +3962,8 @@ if $ARGS[0] = 'din_hunters_bj_bonus2':
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus2.mp4"></video></center>'
 	'He shivers slightly as you bite the head of his dick with your pearly white teeth.'
-	if harakBoyH = 2:'-Hey, fuck, <<$pcs_nickname>>, are you mistaking my dick for a fucking banana? Suck it, don''t bite it!'
-	if harakBoyH < 2:'-Careful <<$pcs_nickname>>, don''t joke like that!'
+	if npc_rough[$boy] = 1:'-Hey, fuck, <<$pcs_nickname>>, are you mistaking my dick for a fucking banana? Suck it, don''t bite it!'
+	if npc_rough[$boy] = 0:'-Careful <<$pcs_nickname>>, don''t joke like that!'
 	'You smiled and look at him, deciding to...'
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
@@ -4007,8 +4031,8 @@ if $ARGS[0] = 'din_hunters_bj_bonus1':
 	'<center><H4>Hut</H4></center>'
 	'<center><video autoplay loop src="images/shared/sex/blowjob/kotovbjbonus1.mp4"></video></center>'
 	'You run your tongue along the tip of his penis, flicking at his urethra.'
-	if harakBoyH = 2:'<<$boydesc>> is already on edge: -<<$pcs_nickname>>, what are you doing, stop it, I''m fucking going to cum from this.'
-	if harakBoyH < 2:'<<$boydesc>> is already on edge: -<<$pcs_nickname>>, what are you doing, stop it or i''m going to blow my load!'
+	if npc_rough[$boy] = 1:'<<$boydesc>> is already on edge: -<<$pcs_nickname>>, what are you doing, stop it, I''m fucking going to cum from this.'
+	if npc_rough[$boy] = 0:'<<$boydesc>> is already on edge: -<<$pcs_nickname>>, what are you doing, stop it or i''m going to blow my load!'
 	gs 'arousal', 'foreplay', 5, 'sub'
 	gs 'stat'
 	act 'Continue':gt 'hunterLoveSex', 'din_hunters_bj1'
@@ -4118,13 +4142,21 @@ if $ARGS[0] = 'din_hunters_first_sex':
 		'<center><H4>Hut</H4></center>'
 		'<center><img <<$set_imgh>> src="images/shared/sex/oface/kotovfirst1.jpg"></center>'
 		*pl
-		if harakBoyH = 2:'Oh,<<$pcs_nickname>>, you''re a fucking woman now, congratulations! Now quit being a little crybaby. How do you feel?'
-		if harakBoyH = 1:'Well <<$pcs_nickname>>, congratulations, you''re not a little girl any more. How do you feel?'
-		if harakBoyH = 0:'-<<$pcs_nickname>>, all is well, how are you feeling? '
+		if npc_gentle[$boy] = 1:
+			'-<<$pcs_nickname>>, all is well, how are you feeling? '
+		elseif npc_rough[$boy] = 1:
+			'Oh,<<$pcs_nickname>>, you''re a fucking woman now, congratulations! Now quit being a little crybaby. How do you feel?'
+		else
+			'Well <<$pcs_nickname>>, congratulations, you''re not a little girl any more. How do you feel?'
+		end
 		'-It hurts damn, never going to do it.'
-		if harakBoyH = 2:'-Ha ha, we''ll see if we can''t fix that.'
-		if harakBoyH = 1:'- Come on, all girls do it eventually. It''s nothing to be upset about.'
-		if harakBoyH = 0:'- Calm down, sweetheart, next time will be much better and you''ll still like it, I promise -  <<$boydesc>> says with a smile. He gently kisses and comforts you.'
+		if npc_gentle[$boy] = 1:
+			'- Calm down, sweetheart, next time will be much better and you''ll still like it, I promise -  <<$boydesc>> says with a smile. He gently kisses and comforts you.'
+		elseif npc_rough[$boy] = 1:
+			'-Ha ha, we''ll see if we can''t fix that.'
+		else
+			'- Come on, all girls do it eventually. It''s nothing to be upset about.'
+		end
 		gs 'arousal', 'end'
 		gs 'stat'
 		act 'Further':gt $loc, $loc_arg
@@ -4133,7 +4165,7 @@ end &! --- din_hunters_first_sex ---
 
 if $ARGS[0] = 'Igor':
 	if huntersIgorLove > 0 and huntersIgorQw <= 50:
-		harakBoyH = 0
+		npc_gentle[$boy] = 1
 		if huntersIgorLove = 2: bfa += 1
 		boyonceA = 1
 		hunters_bj_times = 0
@@ -4210,7 +4242,8 @@ if $ARGS[0] = 'Igor':
 			end
 		end
 	elseif huntersIgorLove > 0 and huntersIgorQw > 50:
-		harakBoyH = 1
+		npc_gentle[$boy] = 0
+		npc_rough[$boy] = 0
 		hunters_bj_times = 0
 		boyonceA = 1
 
@@ -4311,7 +4344,8 @@ end
 
 if $ARGS[0] = 'Andrei':
 	if huntersAndreiLove > 0 and stat['think_virgin'] = 1:
-		harakBoyH = 1
+		npc_gentle[$boy] = 0
+		npc_rough[$boy] = 0
 		hunters_bj_times = 0
 		boyonceA = 1
 
@@ -4352,7 +4386,8 @@ if $ARGS[0] = 'Andrei':
 			end
 		end
 	elseif huntersAndreiLove > 0 and stat['think_virgin'] = 0:
-		harakBoyH = 1
+		npc_gentle[$boy] = 0
+		npc_rough[$boy] = 0
 		hunters_bj_times = 0
 		boyonceA = 1
 
@@ -4453,7 +4488,8 @@ end
 
 if $ARGS[0] = 'Sergei':
 	if huntersSergeiLove > 0 and huntersSergeiQw <= 40:
-		harakBoyH = 1
+		npc_gentle[$boy] = 0
+		npc_rough[$boy] = 0
 		hunters_bj_times = 0
 		boyonceA = 1
 
@@ -4529,7 +4565,8 @@ if $ARGS[0] = 'Sergei':
 		end
 
 	elseif huntersSergeiLove > 0 and huntersSergeiQw > 40:
-		harakBoyH = 1
+		npc_gentle[$boy] = 0
+		npc_rough[$boy] = 0
 		hunters_bj_times = 0
 		boyonceA = 1
 

+ 9 - 6
locations/hunters.qsrc

@@ -298,12 +298,15 @@ if $ARGS[0] = 'start':
 		boyAsexa = 0
 		boyBsexa = 0
 		boyCsexa = 0
-		if hunterandreisex = 0:hunterandreisex = 1 & guy += 1
-		if huntersergeisex = 0:huntersergeisex = 1 & guy += 1
-		if hunterigorsex = 0:hunterigorsex = 1 & guy += 1
-		if huntersIgorLove = 1:huntersIgorLove = 0 & huntersIgorQw -= 100
-		if huntersIgorLove = 2:huntersIgorLove = 0 & huntersIgorQw -= 100 & bfA = 0
-		if huntersIgorLove = 3:huntersIgorLove = 0 & huntersIgorQw -= 100 & husband = 0 & divorced += 1 & husbandMark = 0 & husbharmin = 0 & husbizvradd = 0
+		if hunterandreisex = 0: hunterandreisex = 1 & guy += 1
+		if huntersergeisex = 0: huntersergeisex = 1 & guy += 1
+		if hunterigorsex = 0: hunterigorsex = 1 & guy += 1
+		if huntersIgorLove > 0:
+			huntersIgorLove = 0
+			huntersIgorQw -= 100
+			if huntersIgorLove = 2: bfA = 0
+			if huntersIgorLove = 3: gs 'lover_love', 'divorce'
+		end
 		if huntersSergeiLove = 1:huntersSergeiLove = 0 & huntersSergeiQw -= 100
 		if huntersAndreiLove = 1:huntersAndreiLove = 0 & huntersAndreiQw -= 100
 		gs 'stat'

+ 6 - 3
locations/huntersex.qsrc

@@ -187,9 +187,12 @@ if $ARGS[0] = 'sexafterstrip1':
 																pcs_health += 50
 																pcs_mood += 50
 																huntdanceslut = 1
-																if huntersIgorLove = 3:huntersIgorLove = 0 & huntersIgorQw -= 100 & husband = 0 & divorced += 1 & husbandMark = 0 & husbharmin = 0 & husbizvradd = 0
-																if huntersIgorLove = 2:huntersIgorLove = 0 & huntersIgorQw -= 100 & bfa += 0
-																if huntersIgorLove = 1:huntersIgorLove = 0 & huntersIgorQw -= 100
+																if huntersIgorLove > 0:
+																	huntersIgorLove = 0
+																	huntersIgorQw -= 100
+																	if huntersIgorLove = 2: bfa += 0
+																	if huntersIgorLove = 3: gs 'lover_love', 'divorce'
+																end
 																if huntersSergeiLove = 1:huntersSergeiLove = 0 & huntersSergeiQw -= 100
 																if huntersAndreiLove = 1:huntersAndreiLove = 0 & huntersAndreiQw -= 100
 																'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/drunk_ev/pohmel1.jpg"></center>'

+ 30 - 18
locations/husb.qsrc

@@ -3,9 +3,11 @@
 
 if $ARGS[0] = 'start':
 	CLOSE ALL
-	cla & *clr
-	gs'stat'
-	'<center><B><font color = maroon><<$husName>></font></B></center>'
+	*clr & cla
+	gs 'boyStat', $husID
+	gs 'stat'
+
+	'<center><B><font color = maroon><<$boydesc>></font></B></center>'
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<HusbPic>>.jpg"></center>'
 	gs 'husb', 'husb_discription'
 	gs 'husb', 'husb_action'
@@ -26,36 +28,46 @@ if $ARGS[0] = 'start':
 end
 
 if $ARGS[0] = 'husb_discription':
+	husb_birth_day = npc_dob[$boy] mod 100
+	husb_birth_month = npc_dob[$boy] / 100 mod 100
+	husb_birth_year = npc_dob[$boy] / 10000
+
 	if birthyear < husb_birth_year:
 		age_diff = husbAge - age
-		$h_age = '<<$husName>> was born in <<husb_birth_year>>, he is <<husbAge>> years old. He is <<age_diff>> years older than you.'
+		$h_age = '<<$boydesc>> was born in <<husb_birth_year>>, he is <<husbAge>> years old. He is <<age_diff>> years older than you'
 	elseif birthyear = husb_birth_year:
-		$h_age = '<<$husName>> was born in <<husb_birth_year>>, he is <<husbAge>> years old. Same as you.'
-	else 
+		$h_age = '<<$boydesc>> was born in <<husb_birth_year>>, he is <<husbAge>> years old. Same as you'
+	else
 		age_diff = age - husbAge
-		$h_age = '<<$husName>> was born in <<husb_birth_year>>, he is <<husbAge>> years old. You are <<age_diff>> years older than him.'
+		$h_age = '<<$boydesc>> was born in <<husb_birth_year>>, he is <<husbAge>> years old. You are <<age_diff>> years older than him'
+	end
+	'Your husband <<$boydesc>>, <<$h_age>>. It <<$npcheight>> <<$npcbuild>> <<$npchair>>.'
+	if npc_rel[$boy] < 20:
+		'You have a terrible row with your husband.'
+	elseif npc_rel[$boy] < 40:
+		'There are tension between you and your husband.'
+	elseif npc_rel[$boy] < 60:
+		'You have a normal relationship with your husband.'
+	elseif npc_rel[$boy] < 80:
+		'You have a good relationship with your husband.'
+	else
+		'You have a great relationship with your husband.'
 	end
-	'Your husband <<$husName>>, <<$h_age>> It <<$husBody>> <<$husFat>> <<$husHair>>.'
-	if husband<20:'You have a terrible row with your husband.'
-	if husband>=20 and husband<40:'There are tension between you and your husband.'
-	if husband>=40 and husband<60:'You have a normal relationship with your husband.'
-	if husband>=60 and husband<80:'You have a good relationship with your husband.'
-	if husband>=80:'You have a great relationship with your husband.'
-	''
+	*nl
 end
 
 if $ARGS[0] = 'husb_action':
 	if $loc = 'korr':$husb_action = ''
 	if $loc = 'bedr':
-		if hour > 22 or hour < 7: $husb_action = 'Your husband <<$husName>> is lying in bed, eyes open. "What do you want? It is late, go to sleep."'
+		if hour > 22 or hour < 7: $husb_action = 'Your husband <<$boydesc>> is lying in bed, eyes open. "What do you want? It is late, go to sleep."'
 	end
 	if $loc = 'sitr':
-		if hour > 7 and hour < 17 and week >= 6: $husb_action = '<<$husName>> is sitting on the couch and watching TV.'
-		if hour > 17 and hour <= 22: $husb_action = '<<$husName>> is sitting on the couch and watching TV.'
+		if hour > 7 and hour < 17 and week >= 6: $husb_action = '<<$boydesc>> is sitting on the couch and watching TV.'
+		if hour > 17 and hour <= 22: $husb_action = '<<$boydesc>> is sitting on the couch and watching TV.'
 	end
 	if $loc = 'vanr':$husb_action = ''
 	if $loc = 'kuhr':
-		if hour = 17 or hour = 7:$husb_action = '<<$husName>> is sitting at the kitchen table.'
+		if hour = 17 or hour = 7:$husb_action = '<<$boydesc>> is sitting at the kitchen table.'
 	end
 	'<<$husb_action>>'
 end

+ 149 - 166
locations/husbSex.qsrc

@@ -1,13 +1,11 @@
 # husbSex
 if $ARGS[0] = 'room':
-	clr
+	menu_off = 1
 	minut += 60
-	gs 'boyStat', $HusID
+	gs 'npcStat', $husID
 	husbandsexday += 1
 	suprdolg += 1
-	sexrand = RAND(0,3)
-	menu_off = 1
-
+	gs 'stat'
 	gs 'themes', 'indoors'
 
 	'<center><b><font color = maroon>Bedroom</font></b></center>'
@@ -15,28 +13,26 @@ if $ARGS[0] = 'room':
 	if rembedr = 1:'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/bedr2.jpg"></center>'
 
 	'You go with your husband into the bedroom.'
-	'<<$husName>> grabs you and roughly pushes you on the bed and starts to passionately kiss you while trying to get rid of your clothes.'
-	'Finally, <<$husName>> wins his unequal battle with the straps of your bra.'
+	'<<$boydesc>> grabs you and roughly pushes you on the bed and starts to passionately kiss you while trying to get rid of your clothes.'
+	'Finally, <<$boydesc>> wins his unequal battle with the straps of your bra.'
 
 	if husbdolg = 0:
-		cla
-		*clr
-		sexrand = 4
+		*clr & cla
 		husbdolg = 1
 
 		'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/d0.jpg"></center>'
-		'<<$husName>> is about to enter you as he gets pulled back and you spot two other men in the room. One is standing by the bed holding your husband''s hair, the second one is holding a gun in his hand.'
+		'<<$boydesc>> is about to enter you as he gets pulled back and you spot two other men in the room. One is standing by the bed holding your husband''s hair, the second one is holding a gun in his hand.'
 		'"Do you have the money, moron?" Asks the one holding your husband.'
-		'"I told, I will pay you. I have no money now, but in a month I can give it to you" Says <<$husName>>.'
+		'"I told, I will pay you. I have no money now, but in a month I can give it to you" Says <<$boydesc>>.'
 		'"You should have thought about this earlier. We need the money now!" Continues the bandit.'
-		'"But I don''t have the money. I need more time." Pleads <<$husName>>.'
+		'"But I don''t have the money. I need more time." Pleads <<$boydesc>>.'
 		'"Stop whining. We have your fine bitch and all her holes and you already owe us 100000 rubles" Says the bandit.'
 
-		if harakHusb < 2:
-			'"Don''t touch her! I''ll get you the money. You will have it tomorrow." Says <<$husName>>.'
+		if npc_rough[$boy] = 0:
+			'"Don''t touch her! I''ll get you the money. You will have it tomorrow." Says <<$boydesc>>.'
 			'"Maybe, but we are here today. And we will get something out of this." Adressing you the bandit says "Yes Beauty, open your mouth as wide as you can. You will need to fit both of us in there."'
-		elseif harakHusb = 2:
-			'"Alright you can have her. But this is part of my payment, Kral." Says <<$husName>>.'
+		else
+			'"Alright you can have her. But this is part of my payment, Kral." Says <<$boydesc>>.'
 
 			if pcs_apprnc < 60:
 				'"No! Look at her Kral. She looks like she has just washed the floors in a public toilet" Says one of the bandits.'
@@ -78,43 +74,35 @@ if $ARGS[0] = 'room':
 		end
 
 		act 'Open your mouth': gt 'husbSex', 'dolg'
+		exit
 	end
 
+	sexrand = rand(0, 3)
 	if sexrand = 0:
 		'"<<$pcs_nickname>>, wrap your lips around my cock."'
 
-		act 'Give him a blowjob':
-			cla
-			husband += 1
-			gt 'husbsex', 'minet'
-		end
-		act 'Not now. Let''s do another position.':husband -= 1 & gt 'husbsex', 'variant'
+		act 'Give him a blowjob': npc_rel[$npcID] += 1 & gt 'husbsex', 'minet'
+		act 'Not now. Let''s do another position.': npc_rel[$npcID] -= 1 & gt 'husbsex', 'variant'
 	elseif sexrand = 1:
 		'"<<$pcs_nickname>>, I want your ass."'
 
-		act 'Anal':
-			cla
-			husband += 2
-			gt 'husbsex', 'anal'
-		end
-		act 'Fuck that. Let''s do something else.':husband -= 1 & gt 'husbsex', 'variant'
+		act 'Anal': npc_rel[$npcID] += 2 & gt 'husbsex', 'anal'
+		act 'Fuck that. Let''s do something else.': npc_rel[$npcID] -= 1 & gt 'husbsex', 'variant'
 	elseif sexrand = 2:
 		'"Lie down <<$pcs_nickname>> and open your legs for me."'
 
-		act 'Open your legs':gt 'husbsex', 'miss'
-		act 'Let''s do another positon.':husband -= 1 & gt 'husbsex', 'variant'
+		act 'Open your legs': gt 'husbsex', 'miss'
+		act 'Let''s do another positon.': npc_rel[$npcID] -= 1 & gt 'husbsex', 'variant'
 	elseif sexrand = 3:
 		'"I want to take you from behind <<$pcs_nickname>>."'
 
-		act 'Doggy style':gt 'husbsex', 'dog'
-		act 'Let''s do another positon.':husband -= 1 & gt 'husbsex', 'variant'
+		act 'Doggy style': gt 'husbsex', 'dog'
+		act 'Let''s do another positon.': npc_rel[$npcID] -= 1 & gt 'husbsex', 'variant'
 	end
+	killvar 'sexrand'
 end
 
 if $ARGS[0] = 'dolg':
-	cla
-	*clr
-
 	'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/d1.jpg"></center>'
 	'The bandits take out their cocks and attempt to put them both in your mouth. You try to open your mouth as wide as possible, but you fail and eventually begin to suck them one by one. Soon they get tired and hurl you on the bed, arguing who will be the first to fuck you.'
 
@@ -122,8 +110,7 @@ if $ARGS[0] = 'dolg':
 	gs 'stat'
 
 	act 'Further':
-		cla
-		*clr
+		*clr & cla
 		'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/d2.jpg"></center>'
 		'They fuck you as they please, using each of your holes several times. Periodically, you glance at your husband.'
 
@@ -133,31 +120,35 @@ if $ARGS[0] = 'dolg':
 		gs 'arousal', 'end'
 		gs 'stat'
 
-		act 'Finish':gt 'husbSex', 'dolgend'
-
-		if harakHusb = 0 and izvratH = 0:
-			'He is huddled in a corner quietly weeping, not looking in your direction.'
-		elseif harakHusb = 0 and izvratH = 1:
-			'He is huddled in a corner quietly weeping, glancing in your direction. It seems he is a little excited.'
-		elseif harakHusb = 1 and izvratH = 0:
-			'He is standing on the sidelines, leaning against the wall looking at you.'
-		elseif harakHusb = 1 and izvratH = 1:
-			'He is standing on the sidelines, watching you. He looks very excited.'
-		elseif harakHusb = 2 and izvratH = 0:
-			'He is standing on the sidelines, not looking at you swearing loudly. He curses the bandits, then himself, then he calls you a horny slut.'
-		elseif harakHusb = 2 and izvratH = 1:
-			cla
-			picrand = 18
-			'He is standing on the sidelines, looking at you with his dick in his hand. Soon he can no longer resist and comes over to the bed, saying "Well, you both can do what you want, but she is my bitch and I''ll fuck her too." The bandits don''t object.'
+		act 'Finish': gt 'husbSex', 'dolgend'
 
-			act 'Further':gt 'paysex', 'var'
+		if npc_gentle[$boy] = 1:
+			if npc_pervert[$boy] = 0:
+				'He is huddled in a corner quietly weeping, not looking in your direction.'
+			else
+				'He is huddled in a corner quietly weeping, glancing in your direction. It seems he is a little excited.'
+			end
+		elseif npc_rough[$boy] = 0:
+			if npc_pervert[$boy] = 0:
+				'He is standing on the sidelines, leaning against the wall looking at you.'
+			else
+				'He is standing on the sidelines, watching you. He looks very excited.'
+			end
+		else
+			if npc_pervert[$boy] = 0:
+				'He is standing on the sidelines, not looking at you swearing loudly. He curses the bandits, then himself, then he calls you a horny slut.'
+			else
+				cla
+				picrand = 18
+				'He is standing on the sidelines, looking at you with his dick in his hand. Soon he can no longer resist and comes over to the bed, saying "Well, you both can do what you want, but she is my bitch and I''ll fuck her too." The bandits don''t object.'
+
+				act 'Further': gt 'paysex', 'var'
+			end
 		end
 	end
 end
 
 if $ARGS[0] = 'dolgend':
-	cla
-	*clr
 	noshampoo = 1
 	dynamic $showerdin
 	gs'stat'
@@ -165,67 +156,70 @@ if $ARGS[0] = 'dolgend':
 	'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/d3.jpg"></center>'
 	'When it''s over, they take you to the bathroom and tell you to clean yourself up as they go back into the bedroom.'
 
-	if pcs_apprnc >= 60 and husbdolg = 1:
-		cla
-		husbdolg = 2
-		workDolg += 100000
+	if pcs_apprnc >= 60:
+		if husbdolg = 1:
+			cla
+			husbdolg = 2
+			workDolg += 100000
 
-		'"What a beauty. You will come with us and we''ll get your husband''s debt sorted out." Grins one of the men.'
+			'"What a beauty. You will come with us and we''ll get your husband''s debt sorted out." Grins one of the men.'
 
-		act 'Go with them':
-			cla
-			pcs_leghair = 0
-			pcs_pubes = 0
-			pcs_hairbsh = 1
-			pcs_makeup = 3
+			act 'Go with them':
+				cla
+				pcs_leghair = 0
+				pcs_pubes = 0
+				pcs_hairbsh = 1
+				pcs_makeup = 3
 
-			'They take you to the sauna. The bandits drag you into a room start to explain. "You will live here and work, until the debt is paid off. Everything clear? If you try to escape we''ll put a bullet in your head and bury you in the woods, understood?"'
-			'You nod fearfully, realizing that they aren''t kidding.'
+				'They take you to the sauna. The bandits drag you into a room start to explain. "You will live here and work, until the debt is paid off. Everything clear? If you try to escape we''ll put a bullet in your head and bury you in the woods, understood?"'
+				'You nod fearfully, realizing that they aren''t kidding.'
 
-			act 'Look around':gt 'city_sauna', 'saunaroom'
-		end
+				act 'Look around': gt 'city_sauna', 'saunaroom'
+			end
+			exit
 
-		exit
-	elseif pcs_apprnc >= 60 and husbdolg = 2:
-		cla
-		husbdolg = 3
-		saunaWorkWhore = 1
+		elseif husbdolg = 2:
+			cla
+			husbdolg = 3
+			saunaWorkWhore = 1
 
-		'"What a beauty. You did well. If you want you can come to the sauna, we have a job for you there." One man says grinning.'
+			'"What a beauty. You did well. If you want you can come to the sauna, we have a job for you there." One man says grinning.'
 
-		act 'Finish':gt'bedr'
+			act 'Finish': gt'bedr'
+		end
+	else
+		'"She looks frightening. Like a poltergeist." Says one of the thugs, looking at you. "Okay, you bring us the money tomorrow, and then she''s getting fucked." Says the second one to your husband.'
 	end
-
-	if pcs_apprnc < 60:'"She looks frightening. Like a poltergeist." Says one of the thugs, looking at you. "Okay, you bring us the money tomorrow, and then she''s getting fucked." Says the second one to your husband.'
 	if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
 
-	act 'Finish':gt'bedr'
+	act 'Finish': gt'bedr'
 end
 
 if $ARGS[0] = 'variant':
-	'<<$husName>> He is looking at you and waiting for what you say'
+	gs 'npcStat', $HusID
+
+	'<<$npcdesc>> He is looking at you and waiting for what you say'
 
-	act 'Open your legs':gt 'husbsex', 'miss'
-	act 'Get into doggy position':gt 'husbsex', 'dog'
-	act 'Anal':gt 'husbsex', 'anal'
-	act 'Give him a blowjob':gt 'husbsex', 'minet'
-	act 'Give him a handjob':gt 'husbsex', 'hand'
+	act 'Open your legs': gt 'husbsex', 'miss'
+	act 'Get into doggy position': gt 'husbsex', 'dog'
+	act 'Anal': gt 'husbsex', 'anal'
+	act 'Give him a blowjob': gt 'husbsex', 'minet'
+	act 'Give him a handjob': gt 'husbsex', 'hand'
 
 	if kundayH ! daystart:
-		act 'Ask him to lick you':gt 'husbsex', 'kuni'
+		act 'Ask him to lick you': gt 'husbsex', 'kuni'
 	end
 
-	if harakHusb = 0 and izvratH = 1 and mc_inventory['strapon'] > 0:
-		act 'Use a strapon':gt 'husbsex', 'strapon'
+	if npc_gentle[$npcID] = 1 and npc_pervert[$npcID] = 1 and mc_inventory['strapon'] > 0:
+		act 'Use a strapon': gt 'husbsex', 'strapon'
 	end
 end
 
 if $ARGS[0] = 'minet':
 	*clr
-	gs'brosok'
 
 	'<center><img <<$set_imgh>> src="images/shared/sex/blowjob/bj24.jpg"></center>'
-	'Your husband''s <<husDick>> centimeter member enters your mouth.'
+	'Your husband''s <<dick>> centimeter member enters your mouth.'
 
 	gs 'arousal', 'bj', 10
 	gs 'stat'
@@ -235,14 +229,12 @@ if $ARGS[0] = 'minet':
 	gs 'oral', 'start'
 
 	act 'Continue to suck':
-		cla
-		*clr
-		gs 'boyStat', $HusID
-		gs 'cum_call', 'mouth_swallow', $boy, 1
-		husband += 1
+		*clr & cla
+		gs 'cum_call', 'mouth_swallow', $npcID, 1
+		npc_rel[$npcID] += 1
 
 		'<center><img <<$set_imgh>> src="images/shared/sex/cum/mouth/cum30.jpg"></center>'
-		'A jet of hot sperm hits you in the mouth. You begin to swallow his sperm as <<$husName>> continues to cum in your mouth. Finally, the flow of hot, pungent tasting liquid stops.'
+		'A jet of hot sperm hits you in the mouth. You begin to swallow his sperm as <<$npcdesc>> continues to cum in your mouth. Finally, the flow of hot, pungent tasting liquid stops.'
 
 		act 'Leave':
 			cla
@@ -255,20 +247,20 @@ if $ARGS[0] = 'minet':
 
 		tiprand = RAND(0,1)
 		if tiprand = 0:
-			
+
 			gs 'boyStat', $HusID
 			sexpartkno = 1
 			spafinloc = 11
 			gs 'cum_manage'
-			husband += 1
+			npc_rel[$npcID] += 1
 
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/facial16.jpg"></center>'
-			'You take his member out and at this point <<$husName>> discharges directly on your face, covering it with warm and sticky sperm.'
+			'You take his member out and at this point <<$npcdesc>> discharges directly on your face, covering it with warm and sticky sperm.'
 		else
-			husband -= 1
+			npc_rel[$npcID] -= 1
 
 			'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hand.jpg"></center>'
-			'You take his member out of your mouth and <<$husName>> finishes onto the palm of your hand.'
+			'You take his member out of your mouth and <<$npcdesc>> finishes onto the palm of your hand.'
 		end
 
 		act 'Leave':
@@ -280,14 +272,12 @@ end
 
 if $ARGS[0] = 'hand':
 	*clr
-	gs'brosok'
-	gs 'boyStat', $HusID
 	sexpartkno = 1
 	spafinloc = 13
 	gs 'cum_manage'
 
 	'<center><img <<$set_imgh>> src="images/shared/sex/cum/handjob/hand1.jpg"></center>'
-	'You take the <<husDick>> inch cock and begin to caress it with your hands, moving the skin of the purple head.'
+	'You take the <<$dick_desc>> cock and begin to caress it with your hands, moving the skin of the purple head.'
 	'Soon your skillful movements bring your husband to orgasm and he finishes onto the palms of you hands, covering them with warm and sticky sperm.'
 
 	gs 'arousal', 'hj', 20
@@ -303,11 +293,10 @@ end
 if $ARGS[0] = 'kuni':
 	*clr
 	kunday = daystart
-	gs'brosok'
 
 	'<center><img <<$set_imgh>> src="images/shared/sex/kuni/kuni.jpg"></center>'
 	'You undres and lie down on the bed, telling your husband to caress you with his tongue.'
-	'<<$husName>> lies down between your legs and begins to lick your clit and pussy.'
+	'<<$npcdesc>> lies down between your legs and begins to lick your clit and pussy.'
 
 	gs 'arousal', 'cuni', 20, 'dom'
 	gs 'stat'
@@ -333,10 +322,9 @@ end
 
 if $ARGS[0] = 'strapon':
 	*clr
-	gs'brosok'
 
 	'<center><video autoplay loop src="images/shared/sex/dom/pegging.mp4"></video></center>'
-	'You get the strap-on from the box and put it on. <<$husName>> kneels in the doggy position on the bed.'
+	'You get the strap-on from the box and put it on. <<$npcdesc>> kneels in the doggy position on the bed.'
 	'You lubricate his anus and enter him with the strap-on. While you fuck his ass, he groans and finally finishes. You pull the strap-on out and go to the bathroom.'
 
 	gs 'arousal', 'anal_strap_give', 20, 'dom'
@@ -351,7 +339,6 @@ end
 
 if $ARGS[0] = 'anal':
 	*clr
-	gs'brosok'
 
 	if analplugin = 1:
 		analpluginbonus = 10
@@ -360,25 +347,25 @@ if $ARGS[0] = 'anal':
 		sexpartkno = 1
 		spafinloc = 3
 		gs 'cum_manage'
-		if pcs_ass < husDick: pcs_ass += 1
+		if pcs_ass < dick_length: pcs_ass += 1
 
 		'<center><img <<$set_imgh>> src="images/shared/sex/vag/doggy/dog2.jpg"></center>'
 		if pcs_ass < 16:
-			'<<$husName>> pulls the anal plug out of your narrow and tight ass.'
+			'<<$npcdesc>> pulls the anal plug out of your narrow and tight ass.'
 		else
-			'<<$husName>> pulls out the anal plug and oozes flush out of your ass. Soon you feel his hard cock enter your hole.'
+			'<<$npcdesc>> pulls out the anal plug and oozes flush out of your ass. Soon you feel his hard cock enter your hole.'
 		end
 
 		gs 'arousal', 'anal_dildo', 3, 'sub'
 		gs 'stat'
 
-		if pcs_ass + analpluginbonus < husDick:
-			'You scream and bite your lip from the sharp pain when <<husDick>> member inches apart your ass as he enters you.'
+		if pcs_ass + analpluginbonus < dick_length:
+			'You scream and bite your lip from the sharp pain when <<$dick_desc>> member inches apart your ass as he enters you.'
 		else
-			'You groan when his full <<husDick>> member inches apart your ass as he enters you.'
+			'You groan when his full <<$dick_desc>> member inches apart your ass as he enters you.'
 		end
 
-		'<<$husName>> tightly grabs your buttcheeks as he drives is cock deep into your aching ass one last time, releasing the contents of his balls.'
+		'<<$npcdesc>> tightly grabs your buttcheeks as he drives is cock deep into your aching ass one last time, releasing the contents of his balls.'
 
 		$orgasm_txt = 'As you press your ass against his dick, your anus feels like it is blazing with fire and waves of pleasure sweep your body.'
 		gs 'arousal', 'anal', 20, 'sub'
@@ -392,12 +379,12 @@ if $ARGS[0] = 'anal':
 		end
 	end
 
-	if husDick < pcs_ass: pcs_ass += 1
+	if dick_length < pcs_ass: pcs_ass += 1
 	'<center><img <<$set_imgh>> src="images/shared/sex/vag/doggy/dog2.jpg"></center>'
 
 	if mc_inventory['lubricant'] = 0:
 		anal_slip += 2
-		'You don''t have an lubricants, so <<$husName>> spits on his fingers and uses the saliva to lubricate your ass.'
+		'You don''t have an lubricants, so <<$npcdesc>> spits on his fingers and uses the saliva to lubricate your ass.'
 	else
 		mc_inventory['lubricant'] -= 1
 		anal_slip += 8
@@ -407,7 +394,7 @@ if $ARGS[0] = 'anal':
 	gs 'arousal', 'anal_finger', 3, 'sub'
 	gs 'stat'
 
-	'<<$husName>> puts you on you stomach and parts your buttocks, massaging your anus with his fingers, first one, then two.'
+	'<<$npcdesc>> puts you on you stomach and parts your buttocks, massaging your anus with his fingers, first one, then two.'
 
 	if pcs_ass < 10:
 		'When he enters your ass with three fingers you involuntarily groan in pain.'
@@ -418,43 +405,43 @@ if $ARGS[0] = 'anal':
 	gs 'arousal', 'anal_finger', 3, 'sub'
 	gs 'stat'
 
-	'<<$husName>> Pulls his fingers out of your ass, and you feel his hard cock slide into your hole.'
+	'<<$npcdesc>> Pulls his fingers out of your ass, and you feel his hard cock slide into your hole.'
 
 	gs 'arousal', 'anal', 10, 'sub'
 	gs 'stat'
 
-	if pcs_ass + anal_slip < husDick:
+	if pcs_ass + anal_slip < dick_length:
 		'You scream and bit your lip from the sharp pain when his member slides into your ass.'
 	else
 		'You groan at the feeling of fullness when his penis parts your ass as he enters.'
 	end
 
-	'<<$husName>> freezes for a moment giving your ass time to adapt to his member. Then he begins to drive it in, all the more insistent.'
+	'<<$npcdesc>> freezes for a moment giving your ass time to adapt to his member. Then he begins to drive it in, all the more insistent.'
 
 	gs 'arousal', 'anal', 10, 'sub'
 	gs 'stat'
 
-	if pcs_ass + anal_slip + 2 < husDick:
+	if pcs_ass + anal_slip + 2 < dick_length:
 		if pcs_makeup > 1:pcs_makeup = 0
-		'You cry and sink your teeth into the pillow when his <<husDick>> inch cock begins to fuck your ass at full power.'
+		'You cry and sink your teeth into the pillow when his <<$dick_desc>> cock begins to fuck your ass at full power.'
 	else
 		'You start moaning rhythmically to the beat of the movements inside you.'
 	end
 
-	'<<$husName>> tightly grabs your buttcheeks as he drives is cock deep into your aching ass one last time, releasing the contents of his balls.'
+	'<<$npcdesc>> tightly grabs your buttcheeks as he drives is cock deep into your aching ass one last time, releasing the contents of his balls.'
 
 	gs 'arousal', 'anal', 10, 'sub'
 	gs 'stat'
 
 	if klismaday ! daystart:
-		husband -= 1
-		'<<$husName>> takes his member out of your ass and seeing shit on his dick tells you, "Damn. <<$pcs_nickname>> clean your ass before sex."'
+		npc_rel[$npcID] -= 1
+		'<<$npcdesc>> takes his member out of your ass and seeing shit on his dick tells you, "Damn. <<$pcs_nickname>> clean your ass before sex."'
 	else
-		husband += 5
-		'<<$husName>> takes his member out of you, kisses you and goes to the bathroom.'
+		npc_rel[$npcID] += 5
+		'<<$npcdesc>> takes his member out of you, kisses you and goes to the bathroom.'
 	end
 
-	if pcs_ass < husDick: pcs_ass += 1
+	if pcs_ass < dick_length: pcs_ass += 1
 
 	gs 'arousal', 'end'
 	gs 'stat'
@@ -467,13 +454,11 @@ end
 
 if $ARGS[0] = 'miss':
 	*clr
-	husband += 1
-	gs'brosok'
+	npc_rel[$npcID] += 1
 	pose = 0
-	gs 'boyStat', $HusID
 
 	'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/vag.jpg"></center>'
-	'<<$husName>> spreads your legs and uses his fingers to caress your pussy.'
+	'<<$npcdesc>> spreads your legs and uses his fingers to caress your pussy.'
 	'After a few minutes you are practically begging him to take you and he is more than willing, it is slow and gentle making you feel full and satisfied.'
 
 	gs 'arousal', 'vaginal_finger', -15
@@ -491,13 +476,11 @@ end
 
 if $ARGS[0] = 'dog':
 	*clr
-	husband += 1
-	gs'brosok'
+	npc_rel[$npcID] += 1
 	pose = 1
-	gs 'boyStat', $HusID
 
 	'<center><img <<$set_imgh>> src="images/shared/sex/vag/doggy/dog1.jpg"></center>'
-	'<<$husName>> turns you around into the doggy style position and spreads your buttcheeks before he enters you.'
+	'<<$npcdesc>> turns you around into the doggy style position and spreads your buttcheeks before he enters you.'
 
 	gs 'dinsex', 'boy_puts_condom'
 	gs 'dinsex', 'vaginal_sex', 15, 'sub'
@@ -522,26 +505,26 @@ if $ARGS[0] = 'husb_mastr_vtor':
 		gs 'stat'
 
 		if hour > 22 or hour < 7:
-			'<<$husName>> looks at you, obviously a little dumbfounded.'
+			'<<$npcdesc>> looks at you, obviously a little dumbfounded.'
 		else
-			'Just as you start getting into it, <<$husName>> walks in.'
+			'Just as you start getting into it, <<$npcdesc>> walks in.'
 		end
 
-		if harakHusb = 0:
+		if npc_gentle[$boy] = 1:
 			'"What are you doing honey?" he asks.'
 			'"Sorry, honey, but I really need to release steam, and you were busy." You answer, while continuing to masturbate.'
 			'"And how often do you do that?" He asks.'
 			'"As often as I need to. Do you want to watch?" You reply'
 
-			if izvratH = 0:
-				husband -= 1
+			if npc_pervert[$boy] = 0:
+				npc_rel[$npcID] -= 1
 				$orgasm_or = 'yes'
 				'"I''ll wait outside the door until you''re done" he says, as he goes away. You continue to satisfy yourself rapidly, and soon finish.'
 
 				gs 'arousal', 'end'
 				gs 'stat'
 
-				act 'Finish':gt $loc, $loc_arg
+				act 'Finish': gt $loc, $loc_arg
 			else
 				'"Well, I don''t know." He says hesitantly.'
 				'"So you want to." You say smiling'
@@ -550,7 +533,7 @@ if $ARGS[0] = 'husb_mastr_vtor':
 					cla
 					*clr
 					'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m22.jpg"></center>'
-					'You pull the dildo out of your pussy and, winking at your husband, insert it into your anus. <<$husName>> closely watches as the dildo disappears in your ass and then reappears. You see a swelling in his pants.'
+					'You pull the dildo out of your pussy and, winking at your husband, insert it into your anus. <<$npcdesc>> closely watches as the dildo disappears in your ass and then reappears. You see a swelling in his pants.'
 					'"Is there anything else you want, dear?" You ask with a smile.'
 					'"Can I join you?" He asks a little sheepishly.'
 
@@ -561,18 +544,18 @@ if $ARGS[0] = 'husb_mastr_vtor':
 						cla
 						*clr
 						'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m23.jpg"></center>'
-						'<<$husName>> takes out his member and begins to masturbate. This is not what you expected and at first you even feel a little sorry that he did not enter you, but then you start to masturbate again. You look at your husband, who masturbates looking at you, as you drive the dildo in your ass. Soon you feel yourself coming and you cry out in delight as you fall on the table, orgasming, the dildo still sticking out of your ass. <<$husName>> furiously masturbates looking at you stretched out on the table. You remov the dildo from your ass and start licking it in front of your husband''s eyes. Clearly excited from such a spectacle he soon starts cumming, spraying his sperm on the floor. You reach out to him sticking out your lips. A moment later he passionately kisses you.'
+						'<<$npcdesc>> takes out his member and begins to masturbate. This is not what you expected and at first you even feel a little sorry that he did not enter you, but then you start to masturbate again. You look at your husband, who masturbates looking at you, as you drive the dildo in your ass. Soon you feel yourself coming and you cry out in delight as you fall on the table, orgasming, the dildo still sticking out of your ass. <<$npcdesc>> furiously masturbates looking at you stretched out on the table. You remov the dildo from your ass and start licking it in front of your husband''s eyes. Clearly excited from such a spectacle he soon starts cumming, spraying his sperm on the floor. You reach out to him sticking out your lips. A moment later he passionately kisses you.'
 
 						$orgasm_or = 'yes'
 						gs 'arousal', 'anal_dildo', 5, 'masturbate'
 						gs 'arousal', 'end'
 						gs 'stat'
 
-						act 'Finish':gt $loc, $loc_arg
+						act 'Finish': gt $loc, $loc_arg
 					end
 				end
 			end
-		elseif harakHusb = 1:
+		elseif npc_rough[$boy] = 0:
 			'"Do you not get enough with me?" He asks.'
 			'"Sorry, honey, but I really need to let of steam, and you were busy" You answer, while continuing to masturbate.'
 			'"Well, at least give me a show." He says.'
@@ -581,19 +564,19 @@ if $ARGS[0] = 'husb_mastr_vtor':
 			gs 'arousal', 'vaginal_dildo', 10, 'masturbate'
 			gs 'stat'
 
-			if izvratH = 0:
-				husband += 1
-				husbizvradd += 1
+			if npc_pervert[$boy] = 0:
+				npc_rel[$npcID] += 1
+				spouseVars['pervert_add'] += 1
 
-				'"No, don''t. This is enough" He says, and sits down on a chair watching you. You continue to satisfy yourself rapidly, and soon finish in front of husband. <<$husName>> stands up and begins to applaud. "Bravo, can I have an encore?" He says laughing.'
-				'"For such a wonderful audience I will do anything, but only after the intermission," You laugh. <<$husName>> helps you getting off the table.'
+				'"No, don''t. This is enough" He says, and sits down on a chair watching you. You continue to satisfy yourself rapidly, and soon finish in front of husband. <<$npcdesc>> stands up and begins to applaud. "Bravo, can I have an encore?" He says laughing.'
+				'"For such a wonderful audience I will do anything, but only after the intermission," You laugh. <<$npcdesc>> helps you getting off the table.'
 
 				gs 'arousal', 'end'
 				gs 'stat'
 
-				act 'Finish':gt $loc, $loc_arg
+				act 'Finish': gt $loc, $loc_arg
 			else
-				husband += 1
+				npc_rel[$npcID] += 1
 
 				'"You do that too? I would love a demonstration." He says.'
 				'"Whatever you want" You reply'
@@ -602,7 +585,7 @@ if $ARGS[0] = 'husb_mastr_vtor':
 					cla
 					*clr
 					'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m22.jpg"></center>'
-					'You pull the dildo out of your pussy and, winking at your husband, insert it into your anus. <<$husName>> watches closely as the dildo disappears in your ass and then reappears. You see a swelling in his pants.'
+					'You pull the dildo out of your pussy and, winking at your husband, insert it into your anus. <<$npcdesc>> watches closely as the dildo disappears in your ass and then reappears. You see a swelling in his pants.'
 					'"Is there anything else you want, dear?" You ask with a smile.'
 					'"I would like to join" He says, unbuttoning his pants and exposing his member to your face.'
 
@@ -613,7 +596,7 @@ if $ARGS[0] = 'husb_mastr_vtor':
 						cla
 						*clr
 						'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m24.jpg"></center>'
-						'You take his slightly flaccid penis and start sucking, continuing to drive the dildo in your anus. You quickly get him hard and <<$husName>> stops you. "Wait, I think I''ll take another hole."'
+						'You take his slightly flaccid penis and start sucking, continuing to drive the dildo in your anus. You quickly get him hard and <<$npcdesc>> stops you. "Wait, I think I''ll take another hole."'
 
 						gs 'arousal', 'bj', 10, 'sub'
 						gs 'arousal', 'anal_dildo', 10, 'sub'
@@ -627,16 +610,16 @@ if $ARGS[0] = 'husb_mastr_vtor':
 					end
 				end
 			end
-		elseif harakHusb = 2:
+		else
 			'"After all the fucking I give you, you''re still not satisfied? You horny bitch." He asks.'
 			'"I''m sorry dear, but I really need to let of steam, and you were busy" You answer, while continuing to masturbate.'
 
 			gs 'arousal', 'vaginal_dildo', 10
 			gs 'stat'
 
-			if izvratH = 0:
-				husband += 1
-				husbizvradd += 1
+			if npc_pervert[$boy] = 0:
+				npc_rel[$npcID] += 1
+				spouseVars['pervert_add'] += 1
 
 				'"Well then, open your mouth." He says pulling his member out of his pants and roughly pushing it into your mouth. He grabs you by the hair and starts fucking your mouth telling you to not stop masturbating. Soon, he tires of your mouth. "Take that rubber thing out of your hole because I''ll use it now."'
 
@@ -650,7 +633,7 @@ if $ARGS[0] = 'husb_mastr_vtor':
 					gt 'sex', 'vag'
 				end
 			else
-				husband += 1
+				npc_rel[$npcID] += 1
 
 				'"Put it in your ass and open your mouth" He says, pulling out his cock. You quickly take the dildo out of your pussy and put it in your ass as you humbly open your mouth.'
 
@@ -661,7 +644,7 @@ if $ARGS[0] = 'husb_mastr_vtor':
 					cla
 					*clr
 					'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/m24.jpg"></center>'
-					'You take his slightly flaccid penis and start sucking, continuing to drive the dildo in your anus. You quickly get him hard and <<$husName>> stops you. "Take the dildo out. It is time for me to fuck your ass."'
+					'You take his slightly flaccid penis and start sucking, continuing to drive the dildo in your anus. You quickly get him hard and <<$npcdesc>> stops you. "Take the dildo out. It is time for me to fuck your ass."'
 
 					gs 'arousal', 'bj', 10, 'sub'
 					gs 'arousal', 'anal_dildo', 10, 'sub'

+ 10 - 39
locations/igorhunter.qsrc

@@ -4,22 +4,15 @@
 $menu_loc = 'igorhunter'
 $menu_arg = ''
 menu_off = 0
-gs 'boyStat', 'A173'
-$boybody = 'high'
-$boybod = 'athletic'
-$boyface = 'brunette'
+
+!! NEEDS TO BE UPDATED TO CORRECT VALEUS
+gs 'npcStat', 'A173'
 lover_picture_number = 31
-finance = 1
-vneshBoy = 8
-$boyClo = 'dressed in jeans and a sweater.'
-figurBoy = 1
-titBoy = 1
-hairBoy = 3
-harakBoy = 1
-izvrat = 0
-boyage = year - ((npc_dob['A173'] - (npc_dob['A173'] mod 10000)) / 10000)
-boy_birth_date = 9
-boy_birth_month = 6
+$npcClo = 'jeans and a sweater'
+npc_pervert[$boy] = 0
+boyage = year - (npc_dob['A173'] / 10000)
+boy_birth_month = (npc_dob['A173'] / 100) mod 100
+boy_birth_date = npc_dob['A173'] mod 100
 
 if huntersIgorQw < 10 and huntersIgorLove > 0:
 	*clr & cla
@@ -79,37 +72,15 @@ else
 			gs 'arousal', 'foreplay', 1
 			gs 'stat'
 		!! this part is not included properly into boyfriend system yet - rachels
-		!! it could be simply replaced with gs 'boyfrend', 'start' but we need to check if a slot is empty
+		!! it could be simply replaced with gs 'lover', 'add_boyfriend', $boy but we need to check if a slot is empty
 		!! at the moment I disable all the actions
 			act 'Yes':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/hanterkiss2.jpg"></center>'
 				'You move closer to him and begin kissing him again. Igor gently kisses you back.'
 				'<center><b>Be aware! Igor is not in the Boyfriend system yet!</b></center>'
-				!stopboy = 0
-		!!		$lover[lover_number] = $boy
-		!!		$loverbody[lover_number] = $boybody
-		!!		$loverbod[lover_number] = $boybod
-		!!		$loverface[lover_number] = $boyface
-		!!		loverdick[lover_number] = dick
-		!!		loversilaVag[lover_number] = silaVag
-		!!		loverfinance[lover_number] = finance
-		!!		vneshlover[lover_number] = vneshBoy
-		!!		$loverClo[lover_number] = $boyClo
-		!!		figurlover[lover_number] = figurBoy
-		!!		titlover[lover_number] = titBoy
-		!!		hairlover[lover_number] = hairBoy
-		!!		haraklover[lover_number] = harakBoy
-		!!		boyage[lover_number] = boyage
-		!!		loverday[lover_number] = day
+		!!		gs 'lover', 'add_boyfriend', $boy
 		!!		bfA = 1
-		!!		day[lover_number] = 0
-		!!		boyonce[lover_number] = 0
-		!!		loverizvrat[lover_number] = izvrat
-		!!		giftDay[lover_number] = 0
-		!!		giftNum[lover_number] = 0
-		!!		loverlove[lover_number] = 0
-		!!		lover_picture[lover_number] = lover_picture_number
 				huntersIgorLove = 2
 				pcs_mood = 100
 				gs 'arousal', 'kiss', 5

+ 51 - 45
locations/journal.qsrc

@@ -170,7 +170,7 @@ end
 
 
 if $ARGS[0] = 'relationstab':
-    $jumploc = 'relationstab'
+	$jumploc = 'relationstab'
 	gs 'journal', 'journalmenu'
 
 	'<center><h2>Relationships</h2></center>'
@@ -364,59 +364,65 @@ if $ARGS[0] = 'relationstab':
 	! if npc_rel['A41'] > 0: 'Friendship with Givi K. <<npc_rel[''A41'']>>'
 	! if npc_rel['A42'] > 0: 'Friendship with Ashot <<npc_rel[''A42'']>>'
 
-	if husband > 0:'You have been married for <<husbanday>> days. Your husband <<$husName>> <<$husBody>> <<$husFat>> <<$husHair>>. Member <<husDick>> Relationship <<husband>>.'
-	if kid > 0:
-		i = 0
-		if kid = 1:
-			'You have a child, a <<$polreb[0]>> named <<$kidname[0]>>. Born <<daykid[0]>>-<<monthkid[0]>>-<<yearkid[0]>>. Aged <<kidage[0]>>.'
 
-		else
-			'You have children:'
-			:LoopKidCounter
+	if kid > 0 or arrsize('$lover') > 0:
+		'<center><h2>Lovers & Children</h2></center>'
+		if kid > 0:
+			i = 0
+			if kid = 1:
+				'You have a child, a <<$polreb[0]>> named <<$kidname[0]>>. Born <<daykid[0]>>-<<monthkid[0]>>-<<yearkid[0]>>. Aged <<kidage[0]>>.'
+
+			else
+				'You have children:'
+				:LoopKidCounter
 				if i < kid:
 					'<br> a <<$polreb[i]>> named <<$kidname[i]>>. Born <<daykid[i]>>-<<monthkid[i]>>-<<yearkid[i]>>. Aged <<kidage[i]>>.'
 					i += 1
 					jump 'LoopKidCounter'
 				end
+			end
+			*nl
+			*nl
 		end
-		*nl
-	end
-	*nl
-!! This has some sex info but also weirdness like npc number and smilie face is dick the right length. Its about first time with a random lover
-!! if $bfsex > 0:'<<$bfsex>>'
-	*nl
-	i = 0
-	:loverjournalloop
-	if i < arrsize('lover'):
-		$temp_npcid = $lover[i]
-
-		if npcgender[$temp_npcid] = 0:
-			$obj_loverintro = 'Your boyfriend'
-			$obj_loverpron  = 'He'
-		else
-			$obj_loverintro = 'Your girlfriend'
-			$obj_loverpron  = 'She'
-		end
 
-		if pcs_lovers[i] = 1: '<<$obj_loverintro>> <<$npc_usedname[$temp_npcid]>> is <<$loverbody[i]>> height and <<$loverbod[i]>> build with <<$loverface[i]>> hair. <<$loverdesc[i]>> is <<$loverClo[i]>>. Your relationship is <<loverrelation[i]>> after <<loverdays[i]>> days dating.'
-		if loverrelation[i] > 1:
-			if haraklover[i] = 0:
-				'<<$obj_loverpron>>''s timid and lacks confidence.'
-			elseif haraklover[i] = 1:
-				'<<$obj_loverpron>> has a cheerful and sociable personality.'
-			elseif haraklover[i] = 2:
-				'<<$obj_loverpron>>''s short-tempered and strict.'
+		jnl_i = 0
+		jnl_max_i = arrsize('$lover')
+		:loverjournalloop
+		if jnl_i < jnl_max_i:
+			gs 'npcStat', $lover[jnl_i], 'i'
+
+			if mid($npc_rel_type[$npcID9], 1, 2) = 'ex':
+				jnl_i += 1
+				jump 'loverjournalloop'
 			end
+
+			if $npc_rel_type[$npcID9] = 'husband':
+				'You have been married for <<daystart - spouseVars[''marry_day'']>> days. Your husband <<$npcdesc9>> is <<$npcheight9>> and <<$npcbuild9>> with <<$npchair9>> hair. <<$npcdesc9>> is usually wearing <<$npcClo9>>. Member <<$dick_desc9>> cock and <<$dick_girth9>>. Relationship <<npc_rel[$npcID9]>>.'
+			else
+				'Your <<$npcrelat9>> <<$npcdesc9>> is <<$npcheight9>> and <<$npcbuild9>> with <<$npchair9>> hair. <<$npcdesc9>> is usually wearing <<$npcClo9>>. Your relationship is <<npc_rel[$npcID9]>> after <<npc_dates[$npcID9]>> dates and <<daystart - npc_daygenerated[$npcID9]>> days dating.'
+			end
+
+			gs 'indik', '1', npc_rel[$npcID9], npc_rel[$npcID9], 100
+			'<<$ind>>'
+
+			if npc_rel[$npcID9] > 1:
+				if npc_gentle[$npcID9] = 1:
+					'<<$Xec9>> is timid and lacks confidence.'
+				elseif npc_rough[$npcID9] = 0:
+					'<<$Xec9>> has a cheerful and sociable personality.'
+				else
+					'<<$Xec9>> is short-tempered and strict.'
+				end
+			end
+
+			*nl
+
+			jnl_i += 1
+			jump 'loverjournalloop'
 		end
-		killvar '$temp_npcid'
-		i += 1
+		killvar 'jnl_i'
+		killvar 'jnl_max_i'
 	end
-	killvar 'i'
-	killvar '$obj_loverintro'
-	killvar '$obj_loverpron'
-	*nl
-
-!! relations
 end
 
 
@@ -722,7 +728,7 @@ if $ARGS[0] = 'uni':
 		j = 0
 		:exam_loop
 			if $class_list_institution[j] = 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>':
-				if     dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_exam_done'']') = 1:
+				if dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_exam_done'']') = 1:
 					'You completed your <<$class_list_name[j]>> exam and think you will get an <<$class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']>>.'
 
 				elseif func('uni_programs', 'exam', 'is_over', $class_list_name[j]) = 1:
@@ -980,7 +986,7 @@ end
 !! Helper functions
 
 if $ARGS[0] = 'relindex':
-    gs 'indik', '1', npc_rel['<<$ARGS[1]>>'], npc_rel['<<$ARGS[1]>>'], 100 & '<<$ind>>'
+	gs 'indik', '1', npc_rel['<<$ARGS[1]>>'], npc_rel['<<$ARGS[1]>>'], 100 & '<<$ind>>'
 	*nl
 
 

+ 54 - 85
locations/kafeM.qsrc

@@ -2,31 +2,23 @@
 
 if $ARGS[0] = 'start':
 	minut += 30
-	'You arrive at the cafe and sit at a table. <<$loverdesc[lover_number]>> orders food and wine. While you wait for the food to arrive, <<$loverdesc[lover_number]>> tells you an anecdote:<br>'
+	'You arrive at the cafe and sit at a table. <<$npcdesc>> orders food and wine. While you wait for the food to arrive, <<$npcdesc>> tells you an anecdote:<br>'
 	gs 'anekdot'
-	*nl	
-	if loverdays[lover_number] > 15 and haraklover[lover_number] = 2:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 20 and haraklover[lover_number] = 1:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 25 and haraklover[lover_number] = 0:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 20 and haraklover[lover_number] = 2:gs 'boylove', 'figure'
-	if loverdays[lover_number] > 25 and haraklover[lover_number] = 1:gs 'boylove', 'figure'
-	if loverdays[lover_number] > 30 and haraklover[lover_number] = 0:gs 'boylove', 'figure'
-	act 'Laugh':
-		cla
-		loverrelation[lover_number] += 1
-		xgt 'kafeM', 'a'
-	end
-
-	act 'Smile':
-		cla
-		xgt 'kafeM', 'a'
+	*nl
+	if npc_gentle[$npcID] = 1:
+		if npc_dates[$npcID] > 25: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 30: gs 'boylove', 'figure'
+	elseif npc_rough[$npcID] = 0:
+		if npc_dates[$npcID] > 20: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 25: gs 'boylove', 'figure'
+	else
+		if npc_dates[$npcID] > 15: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 20: gs 'boylove', 'figure'
 	end
 
-	act 'Not funny':
-		cla
-		loverrelation[lover_number] -= 1
-		xgt 'kafeM', 'a'
-	end
+	act 'Laugh': npc_rel[$npcID] += rand(0, 1) & xgt 'kafeM', 'a'
+	act 'Smile': xgt 'kafeM', 'a'
+	act 'Not funny': npc_rel[$npcID] -= rand(0, 1) & xgt 'kafeM', 'a'
 end
 
 if $ARGS[0] = 'a':
@@ -37,128 +29,105 @@ if $ARGS[0] = 'a':
 		pcs_hydra -= 10
 	end
 	fat += 1
-	'Finally the food is served. <<$loverdesc[lover_number]>> pours you wine and proposes a toast to you.'
+	'Finally the food is served. <<$npcdesc>> pours you wine and proposes a toast to you.'
 
-	act 'Eat':
-		cla
-		xgt 'kafeM', 'b'
-	end
+	act 'Eat': xgt 'kafeM', 'b'
 end
 
 if $ARGS[0] = 'b':
 	gs 'food', 'm_meal'
 	gs 'stat'
-	'Music begins to play in the cafe and <<$loverdesc[lover_number]>> asks if you would like to dance.'
+	'Music begins to play in the cafe and <<$npcdesc>> asks if you would like to dance.'
 
-	act 'Dance':
-		
-		*clr & cla
-		loverrelation[lover_number] += 1
-		xgt 'kafeM', 'dance'
-	end
+	act 'Dance': npc_rel[$npcID] += rand(0, 1) & gt 'kafeM', 'dance'
 	gs 'willpower', 'misc', 'resist', 'easy'
-	if will_cost <= pcs_willpwr:
+	if pcs_willpwr < will_cost:
+		act 'Refuse(<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	else
 		act 'Refuse (<<will_cost>> Willpower)':
-			*clr & cla
 			gs 'willpower', 'pay', 'resist'
 			gs 'stat'
-			cla
-			loverrelation[lover_number] -= 1
-			xgt 'kafeM', 'end'
+			npc_rel[$npcID] -= rand(0, 1)
+			gt 'kafeM', 'end'
 		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	
+	end
 end
 
 if $ARGS[0] = 'dance':
 	minut += 5
 	'<center><img <<$set_imgh>> src="images/pc/activities/dance.jpg"></center>'
-	'You go with <<$loverdesc[lover_number]>> to the dance floor. He puts his arms around you and you start to dance.'
+	'You go with <<$npcdesc>> to the dance floor. He puts his arms around you and you start to dance.'
 
-	if haraklover[lover_number] = 0:
-		'<<$loverdesc[lover_number]>> is very reserved in his dance. He holds you a bit awkwardly and apologizes.'
+	if npc_gentle[$npcID] = 1:
+		'<<$npcdesc>> is very reserved in his dance. He holds you a bit awkwardly and apologizes.'
 
-		act 'Finish the dance':
-			cla
-			loverrelation[lover_number] += 1
-			xgt 'kafeM', 'end'
-		end
-	elseif haraklover[lover_number] = 1:
-		'<<$loverdesc[lover_number]>> leads you confidently in the dance.'
+		act 'Finish the dance': npc_rel[$npcID] += rand(0, 1) & xgt 'kafeM', 'end'
+	elseif npc_rough[$npcID] = 0:
+		'<<$npcdesc>> leads you confidently in the dance.'
 
-		act 'Finish the dance':
-			cla
-			loverrelation[lover_number] += 1
-			xgt 'kafeM', 'end'
-		end
-	elseif haraklover[lover_number] = 2:
-		'<<$loverdesc[lover_number]>> grabs your ass while dancing and presses against you. You can feel his hard cock against your stomach through the clothes.'
+		act 'Finish the dance': npc_rel[$npcID] += rand(0, 1) & xgt 'kafeM', 'end'
+	else
+		'<<$npcdesc>> grabs your ass while dancing and presses against you. You can feel his hard cock against your stomach through the clothes.'
 		'He whispers to you, Let''s go to the toilet.'
 		gs 'willpower', 'sex', 'resist', 'medium'
-		if will_cost <= pcs_willpwr:
+		if pcs_willpwr < will_cost:
+			act 'Finish the dance(<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		else
 			act 'Finish the dance (<<will_cost>> Willpower)':
-				*clr & cla
 				gs 'willpower', 'pay', 'resist'
 				gs 'stat'
-				cla
-				loverrelation[lover_number] -= 1
+				npc_rel[$npcID] -= rand(0, 1)
 				xgt 'kafeM', 'end'
 			end
-		else
-			act 'Finish the dance(<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-		end	
+		end
 
-		act 'Go to the toilet':xgt 'kafeM', 'tualet'
+		act 'Go to the toilet': xgt 'kafeM', 'tualet'
 	end
 end
 
 if $ARGS[0] = 'tualet':
-	'<<$loverdesc[lover_number]>> pulls you inside the toilet and begins to knead your chest as you get ready for the act.'
+	'<<$npcdesc>> pulls you inside the toilet and begins to knead your chest as you get ready for the act.'
 	gs 'arousal', 'foreplay', 5
 	gs 'stat'
 
-	act 'Give blowjob':gt 'kafeM', 'bj'
-	act 'Bend over the toilet':gt 'kafeM', 'sex'
+	act 'Give blowjob': gt 'kafeM', 'bj'
+	act 'Bend over the toilet': gt 'kafeM', 'sex'
 end
 
 if $ARGS[0] = 'sex':
-	*clr
 	sexa += 1
-	loverrelation[lover_number] += 2
-	gs 'brosok'
+	npc_rel[$npcID] += 1
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cafe/kafe.jpg"></center>'
-	'You pull his dick out of his pants and start masturbating him. <<$loverdesc[lover_number]>> puts on a condom, then makes you stand over the toilet and pushes his <<dick>> centimeter member in your quivering pussy.'
+	'You pull his dick out of his pants and start masturbating him. <<$npcdesc>> puts on a condom, then makes you stand over the toilet and pushes his <<dick>> centimeter member in your quivering pussy.'
 	gs 'arousal', 'vaginal', 15, 'sub'
 	gs 'arousal', 'end'
 	gs 'stat'
 
-	'Soon <<$loverdesc[lover_number]>> can no longer hold back and finishes in a condom.'
+	'Soon <<$npcdesc>> can no longer hold back and finishes in a condom.'
 
-	act 'Next':gt 'kafeM', 'end'
+	act 'Next': gt 'kafeM', 'end'
 end
 
 if $ARGS[0] = 'bj':
-	*clr
 	bja += 1
-	gs 'cum_call', 'mouth_swallow', $boy, 1
-	loverrelation[lover_number] += 2
-	gs 'brosok'
+	gs 'cum_call', 'mouth_swallow', $npcID, 1
+	npc_rel[$npcID] += 1
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cafe/kafe1.jpg"></center>'
 	'You pull his dick out of his pants and start masturbating him, then squat in front of him and take him in your mouth, slowly sucking his <<dick>> centimeter member.'
-	'Soon <<$loverdesc[lover_number]>> can not resist any longer and finishes in your mouth, filling it with his tart semen. You try to swallow it all, but cum still pours out of your mouth, running down your lips and chin.'
-	'You faithfully look <<$loverdesc[lover_number]>> in the eyes with your semen smeared face.'
+	'Soon <<$npcdesc>> can not resist any longer and finishes in your mouth, filling it with his tart semen. You try to swallow it all, but cum still pours out of your mouth, running down your lips and chin.'
+	'You faithfully look <<$npcdesc>> in the eyes with your semen smeared face.'
 	gs 'arousal', 'bj', 15, 'sub'
 	gs 'arousal', 'end'
 	gs 'stat'
 
-	act 'Next':gt 'kafeM', 'end'
+	act 'Next': gt 'kafeM', 'end'
 end
 
 if $ARGS[0] = 'end':
-	'<<$loverdesc[lover_number]>> offers to hold you.'
+	gs 'stat'
+	'<<$npcdesc>> offers to hold you.'
 
-	act 'Home':gt 'sexm', 'start'
+	act 'Home': gt 'sexm', 'start'
 end
 
 --- kafeM ---------------------------------

+ 25 - 18
locations/kafesvid.qsrc

@@ -53,15 +53,22 @@ if $ARGS[0] = '':
 			else
 				gt 'kafesvid', '3'
 			end
-		elseif $telsob = $loverdesc[lover_number]:
-			loverrelation[lover_number] += 1
-			if loverrelation[lover_number] >= 20:
-				kaferand = rand(0, 8)
-				if kaferand > 0 and kaferand < 3:gt 'kafesvid', '1'
-				if kaferand > 2 and kaferand < 5:gt 'kafesvid', '2'
-				if kaferand = 0 or kaferand > 4:gt 'kafesvid', '3'
-			else
+		else
+			npc_rel[$npcID] += 1
+			if npc_rel[$npcID] < 60:
 				gt 'kafesvid', '3'
+			else
+				kaferand = rand(0, 8)
+				if kaferand <= 1:
+					killvar 'kaferand'
+					gt 'kafesvid', '1'
+				elseif kaferand <= 3:
+					killvar 'kaferand'
+					gt 'kafesvid', '2'
+				else
+					killvar 'kaferand'
+					gt 'kafesvid', '3'
+				end
 			end
 		end
 	end
@@ -259,7 +266,7 @@ if $ARGS[0] = '2':
 
 			gs 'arousal', 'hj', 5, 'sub'
 			gs 'stat'
-	
+
 			act 'Take him in your mouth':
 				*clr & cla
 				gs 'cum_call', 'mouth_swallow', $boy, 1
@@ -440,7 +447,7 @@ if $ARGS[0] = '2':
 
 					gs 'arousal', 'bj', 5, 'sub'
 					gs 'stat'
-	
+
 					act '<<$telsob>> knows best':
 						*clr & cla
 						orgasm += 5
@@ -490,21 +497,21 @@ if $ARGS[0] = '3':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/0.jpg"></center>'
 
-	if $telsob = $loverdesc[lover_number]:
-		'After your fun, <<$telsob>> looks at you and waits for your next move.'
+	if $telsob = 'Alla' or $telsob = 'Masha' or $telsob = 'Kate':
+		'After your fun, <<$telsob>> says she has to go. She leaves you with a little kiss on the cheek.'
 		if $home['town'] = 'pavlovsk':
-			act 'Say goodbye': gt 'pav_residential'
+			act 'Leave': gt 'pav_residential'
 		else
-			act 'Say goodby': gt 'city_center'
+			act 'Leave': gt 'city_center'
 		end
-		act 'Invite her to your home': gt 'lezbsex', 'startloverhome'
 	else
-		'After your fun, <<$telsob>> says she has to go. She leaves you with a little kiss on the cheek.'
+		'After your fun, <<$telsob>> looks at you and waits for your next move.'
 		if $home['town'] = 'pavlovsk':
-			act 'Leave': gt 'pav_residential'
+			act 'Say goodbye': gt 'pav_residential'
 		else
-			act 'Leave': gt 'city_center'
+			act 'Say goodby': gt 'city_center'
 		end
+		act 'Invite her to your home': gt 'lezbsex', 'startloverhome'
 	end
 end
 

+ 29 - 22
locations/kazinosvid.qsrc

@@ -56,17 +56,24 @@ if $ARGS[0] = '':
 			else
 				gt 'kazinosvid', '3'
 			end
-		elseif $telsob = $loverdesc[lover_number]:
-			!! date with girlfriend	
-			loverrelation[lover_number] += 1
-			
-			if loverrelation[lover_number] >= 20:
-				kisvrand = rand(0, 8)
-				if kisvrand > 0 and kisvrand < 3:gt 'kazinosvid', '1'
-				if kisvrand > 2 and kisvrand < 5:gt 'kazinosvid', '2'
-				if kisvrand = 0 or kisvrand > 4:gt 'kazinosvid', '3'
-			else
+		elseif $telsob = $npcdesc:
+			!! date with girlfriend
+			npc_rel[$npcID] += rand(0, 1)
+
+			if npc_rel[$npcID] < 60:
 				gt 'kazinosvid', '3'
+			else
+				kisvrand = rand(0, 8)
+				if kisvrand <= 1:
+					killvar 'kisvrand'
+					gt 'kazinosvid', '1'
+				elseif kisvrand <= 3:
+					killvar 'kisvrand'
+					gt 'kazinosvid', '2'
+				else
+					killvar 'kisvrand'
+					gt 'kazinosvid', '3'
+				end
 			end
 		end
 	end
@@ -95,11 +102,11 @@ if $ARGS[0] = '1':
 
 			if telsobnastr < 4:
 				'No, it''s time we were on our way," says <<$telsob>>. She takes you by the hand, and leads you out of the room.'
-				
+
 				act 'Finish':gt 'kazinosvid', '3'
 			else
-				'"I wouldn''t mind consoling the losers," says <<$telsob>>, with a lustful look in her eye. One of the men starts to unbutton his fly.'  
-				
+				'"I wouldn''t mind consoling the losers," says <<$telsob>>, with a lustful look in her eye. One of the men starts to unbutton his fly.'
+
 				act 'Take <<$telsob>> and leave.':gt 'kazinosvid', '3'
 
 				act 'Console the losers':
@@ -136,7 +143,7 @@ if $ARGS[0] = '1':
 						money -= randkazinvsum
 						gt 'kazinosvid', '3'
 					end
-					
+
 					gs 'willpower', 'misc', 'self', 'hard'
 					if will_cost <= pcs_willpwr:
 						act 'Use an alternative form of payment (<<will_cost>> Willpower)':
@@ -149,7 +156,7 @@ if $ARGS[0] = '1':
 						end
 					else
 						act 'Use an alternative form of payment (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-					end	
+					end
 				end
 			end
 		end
@@ -172,7 +179,7 @@ if $ARGS[0] = '2':
 		'A few minutes later the man says: "Let''s up the stakes. I''m willing to gamble with my clothing if you ladies are."'
 		'<<$telsob>> giggled, "You may end up naked and ashamed, <<$pcs_nickname>> and I haven''t lost a hand yet."'
 		'"I have nothing to be ashamed of," the man grins.'
-		
+
 		gs 'willpower', 'misc', 'self', 'medium'
 		if will_cost <= pcs_willpwr:
 			act 'Take <<$telsob>> and leave (<<will_cost>> Willpower)':
@@ -182,7 +189,7 @@ if $ARGS[0] = '2':
 			end
 		else
 			act 'Take <<$telsob>> and leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-		end	
+		end
 
 		act 'Play strip poker':
 			*clr & cla
@@ -195,7 +202,7 @@ if $ARGS[0] = '2':
 			act 'Keep playing':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cards/5.jpg"></center>'
-				'Minutes later, you are both naked, and he is standing in front of you with his pants down. It must''ve been the wine that lead you to this predicament.'	
+				'Minutes later, you are both naked, and he is standing in front of you with his pants down. It must''ve been the wine that lead you to this predicament.'
 				'"Well ladies, it looks you''re all out of clothes. There is only one thing you have left to offer as payment," he says, while slowly stroking himself.'
 
 				act 'Go for it':
@@ -216,13 +223,13 @@ if $ARGS[0] = '3':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cards/0.jpg"></center>'
 
-	if $telsob = $loverdesc[lover_number]:
+	if $telsob = 'Alla' or $telsob = 'Masha' or $telsob = 'Kate':
+		'After your fun, <<$telsob>> says she has to go. She leaves you with a little kiss on the cheek.'
+		act 'Leave': gt 'city_industrial'
+	else
 		'After your fun, <<$telsob>> looks at you and waits for your next move.'
 		act 'Say goodbye': gt 'city_industrial'
 		act 'Invite her to your home': gt 'lezbsex', 'startloverhome'
-	else
-		'After your fun, <<$telsob>> says she has to go. She leaves you with a little kiss on the cheek.'
-		act 'Leave':gt 'city_industrial'
 	end
 end
 

+ 46 - 59
locations/kinoM.qsrc

@@ -2,65 +2,55 @@
 
 if $ARGS[0] = 'start':
 	minut += 30
-	'You go to the cinema with <<$loverdesc[lover_number]>>, who buys two tickets for the back row.'
-	'While you wait for the movie to start, <<$loverdesc[lover_number]>> tells you an anecdote as he buys popcorn and drinks.<br>'
+	'You go to the cinema with <<$npcdesc>>, who buys two tickets for the back row.'
+	'While you wait for the movie to start, <<$npcdesc>> tells you an anecdote as he buys popcorn and drinks.<br>'
 	gs 'anekdot'
-*nl
-	if loverdays[lover_number] > 15 and haraklover[lover_number] = 2:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 20 and haraklover[lover_number] = 1:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 25 and haraklover[lover_number] = 0:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 20 and haraklover[lover_number] = 2:gs 'boylove', 'figure'
-	if loverdays[lover_number] > 25 and haraklover[lover_number] = 1:gs 'boylove', 'figure'
-	if loverdays[lover_number] > 30 and haraklover[lover_number] = 0:gs 'boylove', 'figure'
-	act 'Laugh':
-		cla
-		loverrelation[lover_number] += 1
-		xgt 'kinoM', 'a'
+	*nl
+	if npc_gentle[$npcID] = 1:
+		if npc_dates[$npcID] > 25: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 30: gs 'boylove', 'figure'
+	elseif npc_rough[$npcID] = 0:
+		if npc_dates[$npcID] > 20: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 25: gs 'boylove', 'figure'
+	else
+		if npc_dates[$npcID] > 15: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 20: gs 'boylove', 'figure'
 	end
 
-	act 'Smile':
-		cla
-		xgt 'kinoM', 'a'
-	end
-
-	act 'Not funny':
-		cla
-		loverrelation[lover_number] -= 3
-		xgt 'kinoM', 'a'
-	end
+	act 'Laugh': npc_rel[$npcID] += 1 & gt 'kinoM', 'a'
+	act 'Smile': xgt 'kinoM', 'a'
+	act 'Not funny': npc_rel[$npcID] -= 3 & gt 'kinoM', 'a'
 end
 
 if $ARGS[0] = 'a':
-	*clr
 	minut += 90
 	fat += 2
-	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cinema/kino.jpg"></center>'
-	'You and <<$loverdesc[lover_number]>> quickly find your seats and <<$loverdesc[lover_number]>> puts the big cup of popcorn on your lap.'
+	gs 'stat'
 
-	if haraklover[lover_number] < 2:
+	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/cinema/kino.jpg"></center>'
+	'You and <<$npcdesc>> quickly find your seats and <<$npcdesc>> puts the big cup of popcorn on your lap.'
 
+	if npc_rough[$npcID] = 0:
 		act 'Hug his arm':
-			cla
-			loverrelation[lover_number] += 1
+			npc_rel[$npcID] += 1
 			'You lean against him and hold his arm, taking his hand in yours. He leans over and kisses you in response. The two of you sit there holding hands for the entire movie.'
 			xgt 'kinoM', 'b'
 		end
-	elseif haraklover[lover_number] = 2:
+	else
 		act 'Hug his arm':
 			cla
-			loverrelation[lover_number] += 1
+			npc_rel[$npcID] += 1
 			'You lean against him and hug his arm, taking his hand in yours. He leans over and kisses you. Once the lights go out and the theatre gets dark, his hand breaks free from yours and begins to rub your knee. A few minutes later the hand works its way up your thighs, sliding between them to your crotch. He rubs your pussy with his fingers and leans over to whisper, "Baby, I want you right here, right now."'
 
-			act 'Shush him and remove his hand, so you can watch the movie':xgt 'kinoM', 'b'
-			act 'Jerk him off':gt 'kinoM', 'hj'
-			act 'Give him a blowjob':gt 'kinoM', 'bj'
-			act 'Sit on his lap and fuck him':gt 'kinoM', 'sex'
+			act 'Shush him and remove his hand, so you can watch the movie': xgt 'kinoM', 'b'
+			act 'Jerk him off': gt 'kinoM', 'hj'
+			act 'Give him a blowjob': gt 'kinoM', 'bj'
+			act 'Sit on his lap and fuck him': gt 'kinoM', 'sex'
 		end
 	end
 
 	act 'Watch the movie':
-		cla
-		loverrelation[lover_number] -= 1
+		npc_rel[$npcID] -= 1
 		gs 'exp_gain', 'intel', 1 + rand(0, drugVars['mentats_dose'])
 		'The movie proves interesting and you sit through the whole thing without interruption.'
 		xgt 'kinoM', 'b'
@@ -68,58 +58,55 @@ if $ARGS[0] = 'a':
 end
 
 if $ARGS[0] = 'sex':
-	*clr
 	sexa += 1
 	pcs_vag += 1
-	loverrelation[lover_number] += 2
-	gs 'brosok'
+	npc_rel[$npcID] += 2
+
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cinema/sinema.jpg"></center>'
-	'You reach over and undo his pants, opening his fly and pulling the front of his boxers just far enough down for his dick to spring free - he was already rock-hard. Looking around to make sure no one is watching, <<$loverdesc[lover_number]>> takes out a condom and puts it on his penis; while he does that, you adjust your clothes so that you can pull your panties down to allow access to your pussy. With a final look around you lift up slightly and slide across his lap, reaching between your legs to take his dick in your hand and guide it inside your moist cunt. You bite your lip as his <<dick>>cm <<$dick_girth>> cock enters your pussy, to keep from moaning out loud. Then you begin to slowly move, sneakily fucking your lover in the dark theatre behind the rest of the audience.'
+	'You reach over and undo his pants, opening his fly and pulling the front of his boxers just far enough down for his dick to spring free - he was already rock-hard. Looking around to make sure no one is watching, <<$npcdesc>> takes out a condom and puts it on his penis; while he does that, you adjust your clothes so that you can pull your panties down to allow access to your pussy. With a final look around you lift up slightly and slide across his lap, reaching between your legs to take his dick in your hand and guide it inside your moist cunt. You bite your lip as his <<dick>>cm <<$dick_girth>> cock enters your pussy, to keep from moaning out loud. Then you begin to slowly move, sneakily fucking your lover in the dark theatre behind the rest of the audience.'
 
 	gs 'arousal', 'vaginal', 10, 'sub'
-	gs 'cum_call', '', $lover[lover_number], 1
+	gs 'cum_call', '', $npcID, 1
 	gs 'stat'
-	
+
 	if pcs_horny >= 90:
 		pcs_mood += 15
 		$orgasm_or = 'yes'
-		$orgasm_txt = 'As you feel pleasure growing inside of you, you start moaning involuntarily, louder and louder. <<$loverdesc[lover_number]>> puts his hand over your mouth in an effort to muffle the noises. Then a massive orgasm hits you, leaving you shuddering and quivering on his cock.'
+		$orgasm_txt = 'As you feel pleasure growing inside of you, you start moaning involuntarily, louder and louder. <<$npcdesc>> puts his hand over your mouth in an effort to muffle the noises. Then a massive orgasm hits you, leaving you shuddering and quivering on his cock.'
 	end
 
-	'<<$loverdesc[lover_number]>> cannot take it any longer and shoots his load into the condom. Once he is finished, you move back to your seat and straighten out your clothes. Once you both are fully dressed again, you look at each other and stifle a laugh. Your act went unnoticed and you watch the rest of the movie holding hands.'
+	'<<$npcdesc>> cannot take it any longer and shoots his load into the condom. Once he is finished, you move back to your seat and straighten out your clothes. Once you both are fully dressed again, you look at each other and stifle a laugh. Your act went unnoticed and you watch the rest of the movie holding hands.'
 
-	act 'Next':gt 'kinoM', 'b'
+	act 'Next': xgt 'kinoM', 'b'
 end
 
 if $ARGS[0] = 'bj':
 	*clr
 	bja += 1
-	gs 'cum_call', 'mouth_swallow', $boy, 1
-	loverrelation[lover_number] += 2
-	gs 'brosok'
+	gs 'cum_call', 'mouth_swallow', $npcID, 1
+	npc_rel[$npcID] += 2
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cinema/sinema1.jpg"></center>'
 	'You reach over and undo his pants, opening the fly and pulling the front of his underwear down just enough. His dick springs free, already rock-hard. You look around to make sure no one is watching, then lean over and put your face in his lap. You wrap your lips around the shaft of his <<dick>>cm <<$dick_girth>> cock and begin to slowly suck him off in the dark theater.'
-	'Soon <<$loverdesc[lover_number]>> can no longer hold back and shoots his load into your mouth, flooding it with spurts of hot sperm. You keep your lips wrapped tightly around his dick until he is finished unloading. Lacking any better options, you swallow it all down and suck his dick clean. Once done you sit back up. The two of you look at each other and stifle a laugh, as no one seems to have noticed what you just did. You watch the rest of the movie holding hands quietly.'
+	'Soon <<$npcdesc>> can no longer hold back and shoots his load into your mouth, flooding it with spurts of hot sperm. You keep your lips wrapped tightly around his dick until he is finished unloading. Lacking any better options, you swallow it all down and suck his dick clean. Once done you sit back up. The two of you look at each other and stifle a laugh, as no one seems to have noticed what you just did. You watch the rest of the movie holding hands quietly.'
 
 	gs 'arousal', 'bj', 10, 'sub'
 	gs 'stat'
-	
-	act 'Next':gt 'kinoM', 'b'
+
+	act 'Next': xgt 'kinoM', 'b'
 end
 
 if $ARGS[0] = 'hj':
 	*clr
 	hja += 1
-	loverrelation[lover_number] += 1
-	gs 'brosok'
+	npc_rel[$npcID] += 1
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cinema/sinema2.jpg"></center>'
-	'You reach over and undo his pants, opening the fly and pulling the front of his underwear down just enough. His dick springs free, already rock-hard. You look around to make sure no one is watching, while <<$loverdesc[lover_number]>> takes out a condom and puts it on his penis. You begin to stroke his cock while watching the movie.'
+	'You reach over and undo his pants, opening the fly and pulling the front of his underwear down just enough. His dick springs free, already rock-hard. You look around to make sure no one is watching, while <<$npcdesc>> takes out a condom and puts it on his penis. You begin to stroke his cock while watching the movie.'
 	'Soon your skillful movements make him shoot his load in the condom. Once done, you lean back and watch the rest of the movie holding hands.'
 
 	gs 'arousal', 'hj', 10, 'sub'
 	gs 'stat'
-	
-	act 'Next':gt 'kinoM', 'b'
+
+	act 'Next': xgt 'kinoM', 'b'
 end
 
 if $ARGS[0] = 'b':
@@ -129,8 +116,8 @@ if $ARGS[0] = 'b':
 
 	gs 'arousal', 'end'
 	gs 'stat'
-	
-	act 'Home':gt 'sexm', 'start'
+
+	act 'Home': gt 'sexm', 'start'
 end
 
 --- kinoM ---------------------------------

+ 23 - 16
locations/kinosvid.qsrc

@@ -42,16 +42,23 @@ if $ARGS[0] = '':
 			else
 				gt 'kinosvid', '3'
 			end
-		elseif $telsob = $loverdesc[lover_number]:
+		elseif $telsob = $npcdesc:
 			!! date with girlfriend
-			loverrelation[lover_number] += 1
-			if loverrelation[lover_number] >= 20:
-				kisvrand = rand(0, 20)
-				if kisvrand =< 4:gt 'kinosvid', '1'
-				if kisvrand = 5:gt 'kinosvid', '2'
-				if kisvrand >= 6:gt 'kinosvid', '3'
-			else
+			npc_rel[$npcID] += 1
+			if npc_rel[$npcID] < 60:
 				gt 'kinosvid', '3'
+			else
+				kisvrand = rand(0, 20)
+				if kisvrand <= 4:
+					killvar 'kisvrand'
+					gt 'kinosvid', '1'
+				elseif kisvrand = 5:
+					killvar 'kisvrand'
+					gt 'kinosvid', '2'
+				else
+					killvar 'kisvrand'
+					gt 'kinosvid', '3'
+				end
 			end
 		end
 	end
@@ -461,21 +468,21 @@ if $ARGS[0] = '3':
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/cinema/0.jpg"></center>'
 	'With some playful flirting, you settle into your seats ready to watch the movie and notice the theater is packed, you struggle to find a pair of empty seats next to each other.'
 
-	if $telsob = $loverdesc[lover_number]:
-		'When the movie ends, <<$telsob>> looks at you and waits for your next move.'
+	if $telsob = 'Alla' or $telsob = 'Masha' or $telsob = 'Kate':
+		'When the movie ends, <<$telsob>> says she has get home. She leaves you with a deep kiss, leaving you wanting more.'
 		if $home['town'] = 'pavlovsk':
-			act 'Kiss her and say goodbye': gt 'gskino'
+			act 'Leave': gt 'gskino'
 		else
-			act 'Kiss her and say goodbye': gt 'city_mall'
+			act 'Leave': gt 'city_mall'
 		end
-		act 'Kiss her and invite her to your home': gt 'lezbsex', 'startloverhome'
 	else
-		'When the movie ends, <<$telsob>> says she has get home. She leaves you with a deep kiss, leaving you wanting more.'
+		'When the movie ends, <<$telsob>> looks at you and waits for your next move.'
 		if $home['town'] = 'pavlovsk':
-			act 'Leave': gt 'gskino'
+			act 'Kiss her and say goodbye': gt 'gskino'
 		else
-			act 'Leave': gt 'city_mall'
+			act 'Kiss her and say goodbye': gt 'city_mall'
 		end
+		act 'Kiss her and invite her to your home': gt 'lezbsex', 'startloverhome'
 	end
 end
 

+ 14 - 173
locations/kit_din.qsrc

@@ -13,7 +13,7 @@ $santehnikgr = {
 $santehnikend3 = {
 	*clr & cla
 	ransloman = 0
-	
+
 	spafinloc = 11
 	gs 'cum_manage'
 	if GrishaSex = 0:GrishaSex = 1 & guy += 1
@@ -27,7 +27,7 @@ $santehnikend3 = {
 
 	gs 'arousal', 'end'
 	gs 'stat'
-	
+
 	act 'Get up':gt $curloc
 }
 
@@ -70,7 +70,7 @@ $santehnikend1 = {
 
 				gs 'arousal', 'bj', 3, 'sub', 'deepthroat', 'rough'
 				gs 'stat'
-				
+
 				act 'Close your eyes':dynamic $santehnikend3
 			end
 		end
@@ -165,7 +165,7 @@ $santehnikend = {
 
 				gs 'arousal', 'bj', 3, 'sub'
 				gs 'stat'
-				
+
 				act 'Continue':
 ! here I need work around the direct return address and get from kuhr korr and from kuhr2x korr2x
 					$sexloc = 'korr' + $mid($curloc,5,2)
@@ -180,7 +180,7 @@ $santehnikend = {
 						gs 'arousal', 'end'
 						gs 'stat'
 
-				
+
 						act 'Leave':gt $sexloc
 					elseif pcs_apprnc >= 60:
 						picrand = 90
@@ -203,176 +203,17 @@ $santehnik1 = {
 	act 'Disregard':dynamic $santehnikend
 }
 
-$santehnik = {
+$santehnik = 'gt ''kit_din'', ''santehnik'' '
+if $ARGS[0] = 'santehnik':
 	*clr & cla
 	kransloman = 0
 
-	if husband = 0 or husbandrink = 10:dynamic $santehnik1 & exit
-	if husband > 0 and week < 6 and hour < 17 and hour > 7:dynamic $santehnik1 & exit
-
-	sexpartkno = 1
-	gs 'boyStat', $HusID
-	gs 'boyStat', 53, 'a'
-
-	if husband > 0 and husbandrink ! 10:
-		*clr & cla
-		minut += 20
-		'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s7.jpg"></center>'
-		'You tell your husband about the leak and he makes a phone call. After 20 minutes, a plumber arrives.'
-		'Your husband walks him to the kitchen and the two of you began to observe his actions, you are sick of hearing about how the plumber hates cheap Chinese fittings and what people pushed into the sink, and you decided to wait in the living room.'
-
-		act 'Leave':
-			*clr & cla
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s8.jpg"></center>'
-			'You go into the room and sit on the couch, soon your husband comes in and sits down beside you. With one hand on your breast, he runs his other hand down under your panties and begins to massage your clitoris.'
-			'"What are you doing? What if the plumber comes in?"'
-			'"He''ll be another hour poking around." he answers, "Come on, quick blow job."'
-			'"OK, lets." you say, now excited, it really looks like his hand has done its job.'
-
-			gs 'arousal', 'foreplay', 10, 'sub'
-			gs 'stat'
-			act 'Start':
-				*clr & cla
-				'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s9.jpg"></center>'
-				'The husband stands up and pulls from his unbuttoned pants his member, you drop to your knees and his cock is in your mouth, right then the plumber enters, "I''m finished." he says and freezes, seeing this picture.'
-
-				gs 'arousal', 'bj', 10, 'sub'
-				gs 'stat'
-			
-				if izvratH = 0:
-					'Your husband tries to remove his member from your mouth'
-
-					if pcs_horny < 80:
-						act 'Stop':
-							cla
-							'Your husband quickly hides his dick in his pants and with the plumber goes out into the corridor'
-							gs 'arousal', 'end'
-							gs 'stat'
-							act 'Leave':gt 'sitr'
-						end
-					end
-
-					act 'Do not stop':
-						cla
-						'You grabbed your husbands hips and continued to work your mouth, he jerks a couple of times trying to free himself, but you can not stop and just swallow his cock even deeper. When he stops twitching you bring one hand to your crotch and with just a couple of motions bring yourself to orgasm.'
-						'But the excitement does not recede, you want even more, and the watching plumber just arouses you. You can not control yourself.'
-
-						$orgasm_or = 'yes'
-						gs 'arousal', 'bj', 10, 'sub'
-						gs 'stat'
-						act 'Ride your husband':
-							*clr & cla
-							gs 'cum_manage'
-							suprdolg += 1
-							husband += 1
-							husbizvradd += 1
-							'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s12.jpg"></center>'
-							'You release your husband''s member from your mouth and quickly push him to sit on the couch, then jump on top of him, quickly planting his dick in your pussy. You ride it like crazy, ignoring the plumber, still stood in the doorway, watching you. When you are again close to orgasm you feel as sperm gushes into you'
-							'It take a few movements from his twitching cock, but you also reach orgasm, uttering a cry you limp and fall from your husband. He leaves you still quaking, pulls up his pants and walks out with the plumber to the hallway.'
-
-							$orgasm_or = 'yes'
-							gs 'arousal', 'vaginal', 10, 'sub'
-							gs 'arousal', 'end'
-							gs 'stat'
-						
-							act 'Leave':gt 'sitr'
-						end
-					end
-				else
-					'Your husband did not even try to stop you'
-
-					if pcs_horny < 80:
-						act 'Stop':
-							if harakHusb ! 2:
-								cla
-								'You release your husband''s member from your mouth and he quickly pulls up his pants and with the plumber goes out into the corridor'
-								act 'Leave':gt 'sitr'
-							elseif harakHusb = 2:
-								cla
-								guy += 1
-								'You tried to spit the member from your mouth, but your husband grabs hold of your head and he starts to fuck you in the mouth, talking with shocked plumber, "We''re a little busy, at the moment, it''s her feeding time." he laughes, "How much do I owe you?" He continues.'
-								'"Fifteen hundred." Manages the plumber.'
-								'"Well, with those prices can agree that if you feed her too, we consider it paid?" He asks.'
-								'"I do not know, a blowjob would earn a discount, but if she can do us both, then yes." replied the plumber.'
-								'"You know how to bargain." Says your husband, "Okay agreed." He adds, almost without thinking. Knowing the character of your husband you know that your peril has been decided.'
-
-								act 'Serve both':picrand = 43 & gt 'sexdvoe', 'var'
-							end
-						end
-					end
-
-					act 'Do not stop':
-						cla
-						'You continued to suck ignoring the watching plumber.'
-
-						if harakHusb = 0:'Your husband tries not to look at the plumber, obviously embarrassed, but he does not hesitate to follow your every move.'
-						if harakHusb = 1:'Your husband stands savoring the process without paying attention to the plumber.'
-						if harakHusb = 2:'Your husband chats with the plumber does not hesitate to turn slightly so that it is easier for him to see.'
-
-						gs 'arousal', 'bj', 10, 'sub'
-						gs 'stat'
-						
-						act 'Continue':
-							cla
-							gs 'cum_call', 'mouth_swallow', $boy, 1
-							suprdolg += 1
-							husband += 1
-							pcs_horny += 20
-							'You continue to blow your husband, and soon a stream of hot liquid squirts into your mouth, swallowing the sperm you lick the remnants of semen from his penis. Your husband puts his cleaned dick in his pants and walks out into the hallway with the plumber. And you are left sitting on the floor, exhausted from desire.'
-
-							gs 'arousal', 'end'
-							gs 'stat'
-							
-							act 'Leave':gt 'sitr'
-						end
-
-						if pcs_horny > 70:
-							act 'Suggest a threesome':
-								cla
-								'You break away from the penis, and a whisper to your husband if he wants to try a threesome.'
-
-								if harakHusb = 0:
-									*clr
-									houseslut += 1
-									husband += 2
-									'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s11.jpg"></center>'
-									'Your husband is a little shocked by the idea, what would convince him? In a loud voice you continue, "Let him lick me while I caress you."'
-									'The plumber tenses, waiting for the reaction of your husband, "Well, if only licking you, then let him." Says your husband. The plumber does not need persuading, your husband sits on the sofa, and you get on your knees and stick out your ass as the plumbers tongue penetrates your pussy.'
-									'At first your husband keeps glancing in his direction, but soon relaxes and finally when the guy starts to finger your hole with a vengance, he says nothing, you decide that he is no longer against you sharing with others.'
-
-									gs 'arousal', 'cuni', 10, 'sub', 'group'
-									gs 'arousal', 'vaginal_finger', 10, 'sub', 'group'
-									minut -= 10
-									gs 'stat'
-							
-									act 'Serve both':picrand = 43 & gt 'sexdvoe', 'var'
-								elseif harakHusb = 1:
-									husband -= 5
-									'"You think I should share you, my wife with the plumber? Cool that foolish pussy, you must think with your head." shouts your husband and returning his member to his pants goes out of the room with the plumber.'
-
-									act 'Leave':gt 'sitr'
-								elseif harakHusb = 2:
-									*clr
-									houseslut += 1
-									husband += 2
-									'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s10.jpg"></center>'
-									'"It''s not for nothing that they say all women are whores, hey man this whore wants to do both of us, but then the repair is free of charge." Says your husband. The plumber does need a second invite, he quickly approachs and pulls out his dick.'
-									'Bringing it to your face, you cling to him and start to suck both cocks alternately, your husband stands carefully watching your actions "You like sucking fresh meat, but do not forget about me, and this boys and mine you swallow deeper and deeper."'
-
-									gs 'arousal', 'bj', 10, 'sub', 'group'
-									gs 'stat'
-							
-									act 'Serve both':picrand = 43 & gt 'sexdvoe', 'var'
-								end
-							end
-						end
-					end
-				end
-			end
-		end
+	if $husID ! '' and spouseVars['drink'] ! 10 and week >= 6 and (hour <= 6 or hour >= 17):
+		gt 'lover_living', 'santehnik'
+	else
+		dynamic $santehnik1
 	end
-}
+end
 
 $dirtarm = {
 	if mc_inventory['dish_soap'] > 0:
@@ -565,8 +406,8 @@ $fill_bottle = {
 }
 
 $sandwich = {
-	if bag > 0 and mc_inventory['food_sandwich'] = 0: 
-		act 'Make a sandwich to go (0:05)': 
+	if bag > 0 and mc_inventory['food_sandwich'] = 0:
+		act 'Make a sandwich to go (0:05)':
 			minut += 5
 			mc_inventory['food_sandwich'] = 1
 			gt $loc, $loc_arg

+ 1 - 1
locations/korr.qsrc

@@ -24,7 +24,7 @@ if sound = 0:PLAY 'sound/korr.mp3',30
 gs 'courtletter'
 
 if lesbiday + 14 <= daystart and lesbiQW >= 11 and hour >= 19 and santehnikDolg = 0:
-	if RAND(0,100) > 82 and husband = 0:
+	if rand(0, 100) > 82 and $husID = '':
 		gt 'lesbimistress','mistvisit'
 	else
 		lesbiday += 1

+ 6 - 22
locations/kuhr.qsrc

@@ -30,7 +30,7 @@ if kransloman = 1:
 	if Grisha = 0: act 'Call the plumber': dynamic $santehnik
 	if Grisha > 0: act 'Call Grisha': dynamic $santehnikgr
 
-	act 'Leave': killvar 'fullmorrout' & gt 'korr' 
+	act 'Leave': killvar 'fullmorrout' & gt 'korr'
 
 	exit
 end
@@ -66,24 +66,8 @@ end
 
 if edahot > 0:'<a href="exec:dynamic $edahotd">There''s a warm meal on the table.</a>'
 
-if husband > 0 and husbandrink ! 10:
-	if hour = 7 or hour = 17: 'Your <a href="exec:gt ''husb'', ''start''">husband /a> is eating at the table.'
-end
+gs 'lover_living', 'kitchen'
 
-if husband > 0 and husbanday > 0 and huseatday ! daystart and mc_inventory['food_basic'] >= 2:
-	act 'Cook a meal for your husband and yourself (1:00)':
-		*clr & cla
-		husband += 5
-		mc_inventory['food_basic'] -= 2
-		minut += 60
-		huseatday = daystart
-		pcs_mood -= 25
-		'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
-		'You prepare a meal for your husband and yourself.'
-
-		act 'Leave the meal':gt 'kuhr'
-	end
-end
 
 dynamic $edasnack
 dynamic $sandwich
@@ -125,7 +109,7 @@ if mc_inventory['dildo_small'] > 0 and pcs_horny >= 50:
 				$orgasm_or = 'yes'
 				gs 'arousal', 'vaginal_dildo', 10, 'masturbate'
 				gs 'arousal', 'end'
-				
+
 				act 'Breathe': gt 'kuhr'
 			end
 		else
@@ -137,7 +121,7 @@ if mc_inventory['dildo_small'] > 0 and pcs_horny >= 50:
 			$orgasm_or = 'yes'
 			gs 'arousal', 'vaginal_dildo', 10, 'masturbate'
 			gs 'arousal', 'end'
-		
+
 			act 'Breathe': gt 'kuhr'
 		end
 	end
@@ -146,13 +130,13 @@ if pcs_horny >= 50: act 'Masturbate':gt 'selfplay', 'start'
 
 if fullmorrout = 1:
 	minut += 2
-	
+
 	act '<font color = maroon><b>Leave the apartment and go outside</b></font>':
 		minut +=1
 		killvar 'fullmorrout'
 		gs 'korr'
 		xgt 'city_residential', 'start'
-		
+
 	end
 end
 

+ 5 - 24
locations/kuhr2x.qsrc

@@ -65,26 +65,7 @@ end
 
 if edahot > 0:'<a href="exec:dynamic $edahotd">There''s a warm meal on the table.</a>'
 
-if husband > 0 and husbandrink ! 10:
-	if hour = 7 or hour = 17:'<a href="exec:gt ''husb'', ''start''">Your husband is eating at the table.</a>'
-end
-
-if husband > 0 and husbanday > 0 and huseatday ! daystart and mc_inventory['food_basic'] >= 2:
-	act 'Cook meal for your husband and yourself (1:00)':
-		cla
-		*clr
-		husband += 5
-		mc_inventory['food_basic'] -= 2
-		dynamic $edahotd
-		minut += 60
-        huseatday = daystart
-		pcs_mood -= 25
-        '<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
-		'You cook a meal for your husband and yourself.'
-
-		act 'Leave the meal':gt'kuhr2x'
-	end
-end
+gs 'lover_living', 'kitchen'
 
 dynamic $edasnack
 dynamic $sandwich
@@ -114,11 +95,11 @@ if mc_inventory['dildo_small'] > 0 and pcs_horny >= 50:
 				'Shivers run down your spine as you feel the thick head spreading your lips and soon the whole length begins to slide deep inside your hole. A throaty moan overwhelms the room when the dildo bottoms out inside you.'
 				'After shifting your legs and getting more comfortable, you start to rock your hips and bounce on it, moaning louder and louder as you keep increasing the power and pace of your thrusts. Your ass is hammering against the floor with each thrust and it takes you just a few minutes to reach orgasm, your toes curling tightly as your entire body is overwhelmed in pleasure.'
 				'Your juices drip down the length of the dildo, pooling on the floor beneath you. You take a few deep breaths and a satisfied smile grows on your face. That was just what you needed!'
-				
+
 				$orgasm_or = 'yes'
 				gs 'arousal', 'vaginal_dildo', 10, 'masturbate'
 				gs 'arousal', 'end'
-				
+
 				act 'Breathe':gt $loc
 			end
 		else
@@ -127,11 +108,11 @@ if mc_inventory['dildo_small'] > 0 and pcs_horny >= 50:
 			'Shivers run down your spine as you feel the thick head spreading your lips and soon the whole length begins to slide deep inside your hole. A throaty moan overwhelms the room when the dildo bottoms out inside you.'
 			'After shifting your legs and getting more comfortable, you start to rock your hips and bounce on it, moaning louder and louder as you keep increasing the power and pace of your thrusts. Your ass is hammering against the floor with each thrust and it takes you just a few minutes to reach orgasm, your toes curling tightly as your entire body is overwhelmed in pleasure.'
 			'Your juices drip down the length of the dildo, pooling on the floor beneath you. You take a few deep breaths and a satisfied smile grows on your face. That was just what you needed!'
-				
+
 			$orgasm_or = 'yes'
 			gs 'arousal', 'vaginal_dildo', 10, 'masturbate'
 			gs 'arousal', 'end'
-				
+
 			act 'Breathe':gt $loc
 		end
 	end

+ 19 - 19
locations/lezbsex.qsrc

@@ -6,7 +6,7 @@ if $ARGS[0] = 'start':
 	picrand = rand(0, 1)
 
 	if lezbsexhome = 1:
-		$lezbsexname = $loverdesc[lover_number]
+		$lezbsexname = $npcdesc
 	else
 		$lezbsexname = 'the girl'
 	end
@@ -20,13 +20,13 @@ if $ARGS[0] = 'startloverhome':
 	minut += 15
 	'<center><img <<$set_imgh>> src="images/shared/sex/lesbian/lezbsexhome.jpg"></center>'
 
-	'You spend some time with <<$loverdesc[lover_number]>> in the kitchen when she gets impatient and caresses you.'
+	'You spend some time with <<$npcdesc>> in the kitchen when she gets impatient and caresses you.'
 	act 'Kiss her back and take her to the bedroom':
-		loverrelation[lover_number] += 2
+		npc_rel[$npcID] += 1
 		gt 'lezbsex', 'start'
 	end
-	act 'Stop her and say goodbye':	
-		loverrelation[lover_number] -= 4
+	act 'Stop her and say goodbye':
+		npc_rel[$npcID] -= 2
 		killvar 'lezbsexhome'
 		gt 'homes_properties', 'go_straight_home'
 	end
@@ -68,7 +68,7 @@ if $ARGS[0] = 'ukuni':
 	gs 'arousal', 'vaginal_finger_give', 5, 'lesbian'
 	minut -=5
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -76,13 +76,13 @@ end
 if $ARGS[0] = 'kuni':
 	cla
 	*clr
-	
+
 	'<center><img <<$set_imgh>> src="images/shared/sex/lesbian/kuni<<picrand>>.jpg"></center>'
 	'She begins by dragging her tongue up your thighs to your crotch and plants light kisses from the top of your slit down to the opening of your vagina.  Her tongue pushes into your slickened hole a few times, then slides back up your cunny to caress your tingling clitoris again.'
 
 	gs 'arousal', 'cuni', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -96,7 +96,7 @@ if $ARGS[0] = 'anuli':
 
 	gs 'arousal', 'rimming', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -104,13 +104,13 @@ end
 if $ARGS[0] = 'uanuli':
 	cla
 	*clr
-	
+
 	'<center><img <<$set_imgh>> src="images/shared/sex/lesbian/uanuli<<picrand>>.jpg"></center>'
 	'You kiss her buttocks in ever-decreasing circles, eventually reaching the center where her puckered anus is waiting. Reaching your goal, you lick all around the tender star to get it plenty moist, then firmly push your tongue forward, penetrating her ass with just the tip. Finally, you retract it, again licking all around her anus and repeating your tongue invasion into that most private entrance.'
 
 	gs 'arousal', 'rimming_give', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -124,7 +124,7 @@ if $ARGS[0] = 'svag':
 
 	gs 'arousal', 'vaginal_strap_give', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -138,7 +138,7 @@ if $ARGS[0] = 'sanal':
 
 	gs 'arousal', 'anal_strap_give', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -152,7 +152,7 @@ if $ARGS[0] = 'usvag':
 
 	gs 'arousal', 'vaginal_strap', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -166,7 +166,7 @@ if $ARGS[0] = 'usanal':
 
 	gs 'arousal', 'anal_strap', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -180,7 +180,7 @@ if $ARGS[0] = 'dvag':
 
 	gs 'arousal', 'vaginal_dildo_give', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -194,7 +194,7 @@ if $ARGS[0] = 'danal':
 
 	gs 'arousal', 'anal_dildo_give', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end
@@ -205,7 +205,7 @@ if $ARGS[0] = 'udvag':
 
 	'<center><img <<$set_imgh>> src="images/shared/sex/lesbian/udvag<<picrand>>.jpg"></center>'
 	'<<$lezbsexname>> inserts the dildo into your wet pussy, moving it in and out while constantly twisting and turning it in her hands to stimulate your love hole as much as possible.'
-	
+
 	gs 'arousal', 'vaginal_dildo', 5, 'lesbian'
 	gs 'stat'
 
@@ -223,7 +223,7 @@ if $ARGS[0] = 'udanal':
 
 	gs 'arousal', 'anal_dildo', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Continue': xgt 'lezbsex', 'var'
 	act 'Finish': gt 'lezbsex', 'end'
 end

+ 86 - 94
locations/love.qsrc

@@ -1,33 +1,32 @@
 # love
+
 if $ARGS[0] = 'start':
-	cla & *clr
+	*clr & cla
 	menu_off = 1
 
-	if haraklover[lover_number] = 0:gt 'love', '0'
-	if haraklover[lover_number] = 1:gt 'love', '1'
-	if haraklover[lover_number] = 2:gt 'love', '2'
+	if npc_gentle[$npcID] = 1:
+		gt 'love', '0'
+	elseif npc_rough[$npcID] = 0:
+		gt 'love', '1'
+	else
+		gt 'love', '2'
+	end
 end
 
 if $ARGS[0] = '0':
-	cla
-	*clr
-	loverlove[lover_number] = 1
-	'You start talking about living together. <<$loverdesc[lover_number]>> tells you that he is not against it, but first he wants you to meet his parents.'
-	'He warns you that his mother is very demanding and rigorous. <<$loverdesc[lover_number]>> says that he loves his mother and does not want to upset her. Therefore, you must look gorgeous, wear a dress from a boutique, be well-groomed with curled hair and use cosmetics only in moderation.'
-	'For your next date, if you are ready, <<$loverdesc[lover_number]>> will take you to his parents.'
-
-	act 'To invite':
-		cla
-		gt 'sexm', 'room'
-	end
+	npc_love[$npcID] = 1
+	'You start talking about living together. <<$npcdesc>> tells you that he is not against it, but first he wants you to meet his parents.'
+	'He warns you that his mother is very demanding and rigorous. <<$npcdesc>> says that he loves his mother and does not want to upset her. Therefore, you must look gorgeous, wear a dress from a boutique, be well-groomed with curled hair and use cosmetics only in moderation.'
+	'For your next date, if you are ready, <<$npcdesc>> will take you to his parents.'
+
+	act 'To invite': gt 'sexm', 'room'
 end
 
 if $ARGS[0] = 'mother':
-	cla
-	*clr
+	*clr & cla
 	minut += 60
-	'<<$loverdesc[lover_number]>> drives you to the home of his parents. You get out and take the elevator. The door opens after only knocking once. It seems clear that they were waiting for you. You enter the apartment and are greeted by an elderly gray-haired woman dressed in trousers and a shirt. You are told to switch into a pair of slippers and are then led down a hallway into another room where the elderly woman invites you to sit down at a table.'
-	'<<$loverdesc[lover_number]>> pulls out a chair for you and you sit down. His mother places herself in front of the two of you. She looks at you with disgust in her eyes, looking like an overgrown insect, clearly thinking you are not a girl for her son. "So, darling, what do you do for a living?"'
+	'<<$npcdesc>> drives you to the home of his parents. You get out and take the elevator. The door opens after only knocking once. It seems clear that they were waiting for you. You enter the apartment and are greeted by an elderly gray-haired woman dressed in trousers and a shirt. You are told to switch into a pair of slippers and are then led down a hallway into another room where the elderly woman invites you to sit down at a table.'
+	'<<$npcdesc>> pulls out a chair for you and you sit down. His mother places herself in front of the two of you. She looks at you with disgust in her eyes, looking like an overgrown insect, clearly thinking you are not a girl for her son. "So, darling, what do you do for a living?"'
 
 	if workKafe['job'] = 1 and (work = 1 or cheatVars['work'] = 1):'"I am a waitress in a cafe."'
 	if func('uniutil', 'student', 'enrolled'):'"I study at the university."'
@@ -35,9 +34,9 @@ if $ARGS[0] = 'mother':
 	if work = 0 and cheatVars['work'] = 0 and workKafe['job'] ! 1:'"I''m unemployed."'
 
 	if modelfoto_nude > 30:
-		loverrelation[lover_number] = 0
+		npc_rel[$npcID] = 0
 		'She smiles and says with disgust, "Why are you not telling us about the photos you shot for these web sites?" She pulls out the nude photos of you and lies them out on the table. "My son, your mother cares about you. This girl is not worthy of you."'
-		'<<$loverdesc[lover_number]>> blushes and screams, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
+		'<<$npcdesc>> blushes and screams, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
 
 		act 'Leave':dynamic $brodilr
 
@@ -45,9 +44,9 @@ if $ARGS[0] = 'mother':
 	end
 
 	if kavslut > 0:
-		loverrelation[lover_number] = 0
+		npc_rel[$npcID] = 0
 		'She smiles and says with disgust, "Son, everyone knows that this girl is a slut. <<$pcs_nickname>> does not just wait tables, she lets every customer, even the Armenians who go there, tear up every hole she has. She doesn''t deserve you!"'
-		'<<$loverdesc[lover_number]>> blushes and says, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
+		'<<$npcdesc>> blushes and says, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
 
 		act 'Leave':dynamic $brodilr
 
@@ -55,9 +54,9 @@ if $ARGS[0] = 'mother':
 	end
 
 	if frot > 3:
-		loverrelation[lover_number] = 0
+		npc_rel[$npcID] = 0
 		'She smiles and says with disgust, "Son, this girl is a slut and lets every pervert who settles down next to her on the subway grope her. She is not worthy of you!"'
-		'<<$loverdesc[lover_number]>> blushes and says, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
+		'<<$npcdesc>> blushes and says, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
 
 		act 'Leave':dynamic $brodilr
 
@@ -65,72 +64,68 @@ if $ARGS[0] = 'mother':
 	end
 
 	if gloryhole > 30:
-		loverrelation[lover_number] = 0
+		npc_rel[$npcID] = 0
 		'She smiles and says with disgust, "Son, your girlfriend moonlights at the sex shop, sucking the members of countless strangers. Do you want a wife like that? She is not worthy of you!"'
-		'<<$loverdesc[lover_number]>> blushes and says, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
+		'<<$npcdesc>> blushes and says, "<<$pcs_nickname>>, I loved you so, and you... you turn out to be just another dirty whore! Get out!"'
 
 		act 'Leave':dynamic $brodilr
 
 		exit
 	end
 
-	loverlove[lover_number] = 2
+	npc_love[$npcID] = 2
 	'She looks at her son with tearful eyes and says, "Alright. Well son, it''s your choice. Who am I to interfere with your life? I just gave birth to you, nursed you and helped you grow up. But of course you are free to forget about your mother who loves you and only wishes the best for you. If you insist on keeping her, please do. I certainly don''t forbid it. "'
-	'<<$loverdesc[lover_number]>> looks down, "Mother, what are you saying? Of course I love you, but <<$pcs_nickname>> is also very dear to me."'
+	'<<$npcdesc>> looks down, "Mother, what are you saying? Of course I love you, but <<$pcs_nickname>> is also very dear to me."'
 	'His mother jumps up, her eyes flashing, "Son, you only met her recently, what do you even know about her?"'
-	'<<$loverdesc[lover_number]>> takes a long time trying to persuade his mother and making excuses. Finally she lets you out of her predatory claws and you''re ready to leave.'
+	'<<$npcdesc>> takes a long time trying to persuade his mother and making excuses. Finally she lets you out of her predatory claws and you''re ready to leave.'
 
 	act 'Leave':dynamic $brodilr
 end
 
 if $ARGS[0] = '1':
-	cla
-	*clr
-	loverlove[lover_number] = 1
-	'You start talking about living together. <<$loverdesc[lover_number]>> tells you that he is not against it, but first he wants you to meet his friends.'
+	npc_love[$npcID] = 1
+	'You start talking about living together. <<$npcdesc>> tells you that he is not against it, but first he wants you to meet his friends.'
 	'He tells you that you have to look chic, wear a dress from a boutique, be well-groomed with curled hair, use cosmetics only in moderation. He wants his friends to get green with envy.'
-	'For your next date, if you are totally ready <<$loverdesc[lover_number]>> will take you to his friends.'
+	'For your next date, if you are totally ready <<$npcdesc>> will take you to his friends.'
 
-	act 'To invite':
-		cla
-		gt 'sexm', 'room'
-	end
+	act 'To invite': gt 'sexm', 'room'
 end
 
 if $ARGS[0] = 'frends':
-	cla
-	*clr
+	sexpartkno = 1
+	gs 'npcgeneratec', 0, '<<$npcdesc>>''s "friend"', rand(18,32)
+	gs 'npcStat', $npclastgenerated, 'a'
+	gs 'npcgeneratec', 0, '<<$npcdesc>>''s "friend"', rand(18,32)
+	gs 'npcStat', $npclastgenerated, 'b'
+
+	gt 'love', 'frends2'
+end
+
+if $ARGS[0] = 'frends2':
 	'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/z0.jpg"></center>'
 
-	sexpartkno = 1
-	gs 'boyStat', $lover[lover_number]
-	gs 'npcgeneratec', 0, '<<$loverdesc[lover_number]>>''s "friend"', rand(18,32)
-	gs 'boyStat', $npclastgenerated, 'a'
-gs 'npcgeneratec', 0, '<<$loverdesc[lover_number]>>''s "friend"', rand(18,32)
-	gs 'boyStat', $npclastgenerated, 'b'
-	
 	if proverka1 = 0 and proverka2 = 0 and proverka3 = 0 and proverka4 = 0 and proverka5 = 0:
 		minut += 180
-		'<<$loverdesc[lover_number]>> drives you to his friends. You arrive at an apartment and <<$loverdesc[lover_number]>> introduces you as his bride to two other guys. You sit down at a table set and talk for a couple of hours. Everybody has fun and after everyone finishes eating and drinking, <<$loverdesc[lover_number]>> invites you to dance, to which you gladly agree. <<$loverdesc[lover_number]>> is already pretty drunk and he''s bad at dancing, but still start to grope you, his hands squeezing your buttocks. Soon he runs them under your dress and continues to stroke your ass. He hitches up you skirt so everyone can see your panties. The other guys are sitting on the sofa intently staring at your buttocks. Soon one of them gets up he guys got up from the couch and comes over to you. "You have the best butt I''ve ever seen. I would like to check it out." he says, and slaps you on the buttocks making you jump. <<$loverdesc[lover_number]>> pulls you to him and tells the other guy "Stop that. She''s my girl. You can watch, but you can not touch."'
+		'<<$npcdesc>> drives you to his friends. You arrive at an apartment and <<$npcdesc>> introduces you as his bride to two other guys. You sit down at a table set and talk for a couple of hours. Everybody has fun and after everyone finishes eating and drinking, <<$npcdesc>> invites you to dance, to which you gladly agree. <<$npcdesc>> is already pretty drunk and he''s bad at dancing, but still start to grope you, his hands squeezing your buttocks. Soon he runs them under your dress and continues to stroke your ass. He hitches up you skirt so everyone can see your panties. The other guys are sitting on the sofa intently staring at your buttocks. Soon one of them gets up he guys got up from the couch and comes over to you. "You have the best butt I''ve ever seen. I would like to check it out." he says, and slaps you on the buttocks making you jump. <<$npcdesc>> pulls you to him and tells the other guy "Stop that. She''s my girl. You can watch, but you can not touch."'
 	end
 
 	if modelfoto_nude > 30 and proverka1 = 0:
 		'"Calm down. I''ve already seen her naked. The Internet is full of naked pictures of her." the guy says.'
-		'"Is this true?" asks <<$loverdesc[lover_number]>> turning to you.'
+		'"Is this true?" asks <<$npcdesc>> turning to you.'
 		'"Yes, I did some naked photoshoots, but I only ever showed of my body. I never fucked anyone." you say'
 
 		if pcs_intel <= 30:
 			guy += 2
 			picrand = 39
-			loverrelation[lover_number] = 0
-			'"I don''t care! Once everyone has seen you naked you are no better than a whore." With these words he throws you on the sofa. You try to get up to leave, but <<$loverdesc[lover_number]>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$loverdesc[lover_number]>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$loverdesc[lover_number]>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
+			npc_rel[$npcID] = 0
+			'"I don''t care! Once everyone has seen you naked you are no better than a whore." With these words he throws you on the sofa. You try to get up to leave, but <<$npcdesc>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$npcdesc>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$npcdesc>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
 
-			act 'Further':xgt 'sexdvoe', 'var'
-		elseif pcs_intel > 30:
+			act 'Further': xgt 'sexdvoe', 'var'
+		else
 			proverka1 = 1
-			'You defend yourself for a few minutes trying to tell him, that you didn''t do anything wrong and that his friends are just jealous. In the end, you manage to convince him, and <<$loverdesc[lover_number]>> agrees with you.'
+			'You defend yourself for a few minutes trying to tell him, that you didn''t do anything wrong and that his friends are just jealous. In the end, you manage to convince him, and <<$npcdesc>> agrees with you.'
 
-			act 'Further':gt 'love', 'frends'
+			act 'Further': gt 'love', 'frends2'
 		end
 
 		exit
@@ -139,21 +134,21 @@ gs 'npcgeneratec', 0, '<<$loverdesc[lover_number]>>''s "friend"', rand(18,32)
 	if kavslut > 0 and proverka2 = 0:
 		cla
 		'"I''ve heard that your little <<$pcs_nickname>> doesn''t just wait the tables but also lets herself get fucked by the customers. I''ve even heard some Armenians brag about using her every hole." the boy says'
-		'"Is this true?" asks <<$loverdesc[lover_number]>> turning to you. You can''t think of anything better so you start to cry.'
+		'"Is this true?" asks <<$npcdesc>> turning to you. You can''t think of anything better so you start to cry.'
 		'"Yes, these freaks raped me several times."'
 
 		if pcs_intel <= 50:
 			guy += 2
 			picrand = 39
-			loverrelation[lover_number] = 0
-			'"I don''t care. Someone who says that she got raped several times clearly likes it and invites these situations." With these words he throws you on the sofa. You try to get up to leave, but <<$loverdesc[lover_number]>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$loverdesc[lover_number]>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$loverdesc[lover_number]>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
+			npc_rel[$npcID] = 0
+			'"I don''t care. Someone who says that she got raped several times clearly likes it and invites these situations." With these words he throws you on the sofa. You try to get up to leave, but <<$npcdesc>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$npcdesc>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$npcdesc>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
 
-			act 'Further':gt 'sexdvoe', 'var'
-		elseif pcs_intel > 50:
+			act 'Further': gt 'sexdvoe', 'var'
+		else
 			proverka2 = 1
-			'You keep crying for a few minutes about the bastards who raped you and in the end, you manage to convince him and <<$loverdesc[lover_number]>> hugs you and says that he will not allow anyone to hurt you again.'
+			'You keep crying for a few minutes about the bastards who raped you and in the end, you manage to convince him and <<$npcdesc>> hugs you and says that he will not allow anyone to hurt you again.'
 
-			act 'Further':gt 'love', 'frends'
+			act 'Further': gt 'love', 'frends2'
 		end
 
 		exit
@@ -162,21 +157,21 @@ gs 'npcgeneratec', 0, '<<$loverdesc[lover_number]>>''s "friend"', rand(18,32)
 	if frot > 3 and proverka3 = 0:
 		cla
 		'"You don''t know who she really is. Everybody knows that this whore lets all the perverts in the subway fuck her in the car right in front of everyone, " says the boy'
-		'"Is this true?" asks <<$loverdesc[lover_number]>> turning to you.'
+		'"Is this true?" asks <<$npcdesc>> turning to you.'
 		'"What do you mean? How can you believe that even for a second?" you yell at him squeezing a tear from you eye.'
 
 		if pcs_intel <= 40:
 			guy += 2
 			picrand = 39
-			loverrelation[lover_number] = 0
-			'"Shout your mouth, you whore! I believe my friends, when they say they it was you." With these words he throws you on the sofa. You try to get up to leave, but <<$loverdesc[lover_number]>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$loverdesc[lover_number]>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$loverdesc[lover_number]>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
+			npc_rel[$npcID] = 0
+			'"Shout your mouth, you whore! I believe my friends, when they say they it was you." With these words he throws you on the sofa. You try to get up to leave, but <<$npcdesc>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$npcdesc>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$npcdesc>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
 
-			act 'Further':gt 'sexdvoe', 'var'
-		elseif pcs_intel > 40:
+			act 'Further': gt 'sexdvoe', 'var'
+		else
 			proverka3 = 1
-			'Deciding that the best defense is offense, you yell at him for a few minutes. In the end, you manage to convince him and <<$loverdesc[lover_number]>> begins to soothe you saying that he doesn''t blame you, but he had to know.'
+			'Deciding that the best defense is offense, you yell at him for a few minutes. In the end, you manage to convince him and <<$npcdesc>> begins to soothe you saying that he doesn''t blame you, but he had to know.'
 
-			act 'Further':gt 'love', 'frends'
+			act 'Further': gt 'love', 'frends2'
 		end
 
 		exit
@@ -185,21 +180,21 @@ gs 'npcgeneratec', 0, '<<$loverdesc[lover_number]>>''s "friend"', rand(18,32)
 	if gloryhole > 30 and proverka4 = 0:
 		cla
 		'"You know, this slut sucks other men''s cocks in the sex shop.?" the guy asks'
-		'"Is this true?" asks <<$loverdesc[lover_number]>> turning to you.'
+		'"Is this true?" asks <<$npcdesc>> turning to you.'
 		'"How can you believe that I would do that?" you cry. "And you''re a freak! How would you even know, unless you went there yourself?" you start to attack the guy.'
 
 		if pcs_intel <= 60:
 			guy += 2
 			picrand = 39
-			loverrelation[lover_number] = 0
-			'"Shut your mouth, you whore! If my friends say it was you I believe them." With these words he throws you on the sofa. You try to get up to leave, but <<$loverdesc[lover_number]>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$loverdesc[lover_number]>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$loverdesc[lover_number]>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
+			npc_rel[$npcID] = 0
+			'"Shut your mouth, you whore! If my friends say it was you I believe them." With these words he throws you on the sofa. You try to get up to leave, but <<$npcdesc>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$npcdesc>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$npcdesc>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
 
-			act 'Further':gt 'sexdvoe', 'var'
-		elseif pcs_intel > 60:
+			act 'Further': gt 'sexdvoe', 'var'
+		else
 			proverka4 = 1
-			'Deciding that the best defense is offense, you yell at him for a few minutes. In the end, you manage to convince him and <<$loverdesc[lover_number]>> begins to soothe you saying that he doesn''t blame you, but he had to know.'
+			'Deciding that the best defense is offense, you yell at him for a few minutes. In the end, you manage to convince him and <<$npcdesc>> begins to soothe you saying that he doesn''t blame you, but he had to know.'
 
-			act 'Further':gt 'love', 'frends'
+			act 'Further': gt 'love', 'frends2'
 		end
 
 		exit
@@ -208,42 +203,39 @@ gs 'npcgeneratec', 0, '<<$loverdesc[lover_number]>>''s "friend"', rand(18,32)
 	if film > 2 and proverka5 = 0:
 		cla
 		'"You know this slut has done porn movies?" the guy asks'
-		'"Is this true?" asks <<$loverdesc[lover_number]>> turning to you.'
+		'"Is this true?" asks <<$npcdesc>> turning to you.'
 		'"Yes, but that was long before I met you. It mad some mistakes when I was younger. I had a very difficult time, but I didn''t do this for a long time." you start trying to squeeze out a tear.'
 
-		if pcs_intel <= 70 and izvrat = 0:
+		if pcs_intel <= 70 and npc_pervert[$npcID] = 0:
 			guy += 2
 			picrand = 39
-			loverrelation[lover_number] = 0
-			'"Shout your mouth! Doing porn clearly means you are just another whore." With these words he throws you on the sofa. You try to get up to leave, but <<$loverdesc[lover_number]>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$loverdesc[lover_number]>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$loverdesc[lover_number]>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
+			npc_rel[$npcID] = 0
+			'"Shout your mouth! Doing porn clearly means you are just another whore." With these words he throws you on the sofa. You try to get up to leave, but <<$npcdesc>> stops you, "Where are you going, slut? You think you can just mess around with me and then dump me? Well guys, lets pass this whore around." he says, sititng down on the sofa unbuttoning his pants. "Suck" he shouts while pushing your head down to his dick. Having decided that it is better to not argue with three drunken men you take his dick out of his pants and put it into your mouth. The two other guys join in, one sitting down on the couch next to <<$npcdesc>>. He takes out his member and you grasp it with your hand starting to suck both cocks simultaniously. The second guy undresses you and kneels down using his tongue to lick your pussy. The guy sitting on the couch suddenly starts to hiccup as if he is about to vomit and <<$npcdesc>> shouts at him, "Get out of here, before you make a mess." The guy gets up from the couch and rushes to the toilet, his hands covering his mouth.'
 
 			act 'Further':gt 'sexdvoe', 'var'
-		elseif pcs_intel > 70 or izvrat = 1:
+		else
 			proverka5 = 1
-			'You keep explaining that you love him and that you made all these mistakes before you met him. In the end, you manage to convince him and <<$loverdesc[lover_number]>> hugs you and whispers in your ear "I guess you still remeber a couple of tricks... I would like you to show them to me later."'
+			'You keep explaining that you love him and that you made all these mistakes before you met him. In the end, you manage to convince him and <<$npcdesc>> hugs you and whispers in your ear "I guess you still remeber a couple of tricks... I would like you to show them to me later."'
 
-			act 'Further':gt 'love', 'frends'
+			act 'Further': gt 'love', 'frends2'
 		end
 
 		exit
 	end
 
-	loverlove[lover_number] = 2
-	'"Okay, it''s time to go, <<$pcs_nickname>>." says <<$loverdesc[lover_number]>>. You head for the exit.'
-	act 'Leave':gt 'city_residential'
+	npc_love[$npcID] = 2
+	'"Okay, it''s time to go, <<$pcs_nickname>>." says <<$npcdesc>>. You head for the exit.'
+
+	act 'Leave': gt 'city_residential'
 end
 
 if $ARGS[0] = '2':
-	cla
-	*clr
+	*clr & cla
 	'(Further actions are available.)'
 	!! if some writer would volunteer...
-	loverlove[lover_number] = 2
+	npc_love[$npcID] = 2
 
-	act 'To invite':
-		cla
-		gt 'sexm', 'room'
-	end
+	act 'To invite': gt 'sexm', 'room'
 end
 
 --- love ---------------------------------

+ 101 - 196
locations/lover.qsrc

@@ -1,225 +1,130 @@
 # lover
 
 if $ARGS[0] = 'add':
-	if mid($boy,1,1) = 'C': gs 'npcpreservec', $boy & gs 'boyStat', $npclastsaved
-	i = arrsize('pcs_lovers')
-	$lover[i] = $boy									& !boyStat: = $npclastcalled
-	$loverdesc[i] = $boydesc							& !boystat (new)
-	loverbodyrand[i] = boybodyrand						& !boy/girl
-	$loverbody[i] = $boybody							& !boy/girl
-	loverbodrand[i] = boybodrand						& !boy/girl
-	$loverbod[i] = $boybod								& !boy/girl
-	loverfacerand[i] = boyfacerand						& !boy/girl
-	$loverface[i] = $boyface							& !boy/girl
-	loverdick[i] = npc_dick[$boy]
-	$loverdick_girth[i] = $npc_thdick[$boy]
-	loversilaVag[i] = npc_sexskill[$boy]
-	loverfinance[i] = npc_finance[$boy]
-	vneshlover[i] = npc_apprnc[$boy] / 3
-	$loverClo[i] = $boyClo								& !boy/girl
-	figurlover[i] = figurBoy							& !boy/girl
-	titlover[i] = npc_bust[$boy]
-	hairlover[i] = npc_haircol[$boy]
-	haraklover[i] = harakBoy							& !boy/girl
-	loverday[i] = daystart
-	loverrelation[i] = 3
-	loverdays[i] = 0
-	boyonce[i] = 0
-	loverizvrat[i] = izvrat								& !boy/girl
-	giftDay[i] = 0
-	giftNum[i] = 0
-	loverlove[i] = 0
-	loverscompliance[i] = 0
-	lover_picture[i] = lover_picrand[$boy]
-	meethour[i] = 0
-	svidanie[i] = 0
-	meetday[i] = 0
-
-	!!new preferences
-	clotTypePref[i] = clotTypePrefTmp					& !boy/girl
-	clotQualPref[i] = clotQualPrefTmp					& !boy/girl
-	clotTopPref[i] = clotTopPrefTmp						& !boy/girl
-	bottShorPref[i] = bottShorPrefTmp					& !boy/girl
-	clotThinPref[i] = clotThinPrefTmp					& !boy/girl
-	bimbPref[i] = bimbPrefTmp							& !boy/girl
-	pierPref[i] = pierPrefTmp							& !boy/girl
-	tattPref[i] = tattPrefTmp							& !boy/girl
-	lipsPref[i] = lipsPrefTmp							& !boy/girl
-	bodyPref[i] = bodyPrefTmp							& !boy/girl
-	makePref[i] = makePrefTmp							& !boy/girl
-	IQPref[i] = IQPrefTmp								& !boy/girl
-	loverGender[i] = npc_gender[$boy]
-
-	!! making sure lover has pronouns
-	gs 'pronouns', loverGender[i], 0
-	$loverXe[i] = $xe[0]
-	$loverXec[i] = $xec[0]
-	$loverXem[i] = $xem[0]
-	$loverXemc[i] = $xemc[0]
-	$loverXyr[i] = $xyr[0]
-	$loverXyrc[i] = $xyrc[0]
-	$loverXyrs[i] = $xyrs[0]
-	$loverXyrsc[i] = $xyrsc[0]
-	$loverXemself[i] = $xemself[0]
-	$loverXemselfc[i] = $xemselfc[0]
-
-	pcs_lovers[i] = 1
-	!!pcs_lover +=1
-	stat['total_lovers_current'] += 1
-	$pcs_lover_arr[] = $boy
-	if loverGender[i] = 1:
-		stat['girlfriends_current'] += 1
+	if mid($ARGS[1], 1, 1) = 'C':
+		gs 'npcpreservec', $npcID
+		gs 'npcStat', $npclastsaved
 	else
-		stat['boyfriends_current'] += 1
+		gs 'npcStat', $ARGS[1]
 	end
 
-	gs 'telefon', 'AddContact', $boy, $npc_pic[$boy], 0
+	$lover[] = $npcID
+	gs 'telefon', 'AddContact', $npcID, $npc_icon[$npcID], 0
 end
 
 if $ARGS[0] = 'remove':
-	i = ARGS[1]
-
-	gs 'telefon', 'DeleteContact', $lover[i]
-
-	killvar '$lover', i
-	killvar '$loverdesc', i
-	killvar 'loverbodyrand', i
-	killvar '$loverbody', i
-	killvar 'loverbodrand', i
-	killvar '$loverbod', i
-	killvar 'loverfacerand', i
-	killvar '$loverface', i
-	killvar 'loverdick', i
-	killvar '$loverdick_girth', i
-	killvar 'loversilaVag', i
-	killvar 'loverfinance', i
-	killvar 'vneshlover', i
-	killvar '$loverClo', i
-	killvar 'figurlover', i
-	killvar 'titlover', i
-	killvar 'hairlover', i
-	killvar 'haraklover', i
-	killvar 'loverday', i
-	killvar 'loverrelation', i
-	killvar 'loverdays', i
-	killvar 'boyonce', i
-	killvar 'loverizvrat', i
-	killvar 'giftDay', i
-	killvar 'giftNum', i
-	killvar 'loverlove', i
-	killvar 'loverscompliance', i
-	killvar 'lover_picture', i
-	killvar 'meethour', i
-	killvar 'svidanie', i
-	killvar 'meetday', i
-	if npc_gender[$lover[i]] = 1:
-		stat['girlfriends_current'] -= 1
-		stat['ex_girlfriends'] += 1
-	else
-		stat['boyfriends_current'] -= 1
-		stat['ex_boyfriends'] += 1
-	end
-	killvar 'loverGender', i
-
-	!!new preferences
-	killvar 'clotTypePref', i
-	killvar 'clotQualPref', i
-	killvar 'clotTopPref', i
-	killvar 'bottShorPref', i
-	killvar 'clotThinPref', i
-	killvar 'bimbPref', i
-	killvar 'pierPref', i
-	killvar 'tattPref', i
-	killvar 'lipsPref', i
-	killvar 'bodyPref', i
-	killvar 'makePref', i
-	killvar 'IQPref', i
-
-	killvar '$loverXe', i
-	killvar '$loverXec', i
-	killvar '$loverXem', i
-	killvar '$loverXemc', i
-	killvar '$loverXyr', i
-	killvar '$loverXyrc', i
-	killvar '$loverXyrs', i
-	killvar '$loverXyrsc', i
-	killvar '$loverXemself', i
-	killvar '$loverXemselfc', i
-
-	killvar 'pcs_lovers', i
-	pcs_lover -=1
+	lover_index = arrpos('$lover', $ARGS[1])
+	if lover_index < 0: exit
 
+	$npc_rel_type[$ARGS[1]] = 'ex_' + $npc_rel_type[$ARGS[1]]
+	gs 'telefon', 'ClearCallSchedule', $ARGS[1]
+	gs 'telefon', 'ClearSMSSchedule', $ARGS[1]
 end
 
-if $ARGS[0] = 'add_fuckbuddy':
-	if mid($ARGS[1],1,1) = 'C':
-		gs 'npcpreservec', $ARGS[1]
-		gs 'boyStat', $npclastsaved
-	else
-		gs 'boyStat',$ARGS[1]
-	end
-	! Do not add when he has already been added.
-	if arrpos('$fuckbuddy',$boy) = -1:
-		$fuckbuddy[] = $boy
-		$npc_rel_type[$boy] = 'fuckbuddy'
-		gs 'telefon', 'AddContact', $boy, $npc_pic[$boy], 0
-	end
+
+
+if $ARGS[0] = 'add_boyfriend':
+	gs 'lover', 'add', $ARGS[1]
+	gs 'telefon', 'SetCallSchedule', $npcID, "gt 'lover_call', 'callingTheLover', '<<$temp_npcid>>'", "hour > 6 and hour < 20", "", "0"
+	$npc_rel_type[$npcID] = 'boyfriend'
+	stat['boyfriends_current'] += 1
+	stat['total_lovers_current'] += 1
+
+elseif $ARGS[0] = 'add_girlfriend':
+	gs 'lover', 'add', $ARGS[1]
+	gs 'telefon', 'SetCallSchedule', $npcID, "gt 'lover_call', 'callingTheLover', '<<$temp_npcid>>'", "hour > 6 and hour < 20", "", "0"
+	$npc_rel_type[$npcID] = 'girlfriend'
+	stat['girlfriends_current'] += 1
+	stat['total_lovers_current'] += 1
+
+elseif $ARGS[0] = 'add_fuckbuddy':
+	gs 'lover', 'add', $ARGS[1]
+	$npc_rel_type[$boy] = 'fuckbuddy'
+	stat['fuckbuddies_current'] += 1
+	stat['total_lovers_current'] += 1
+
+elseif $ARGS[0] = 'add_sugar_daddy':
+	gs 'lover', 'add', $ARGS[1]
+	$npc_rel_type[$boy] = 'sugar_daddy'
+	stat['sugardaddies_current'] += 1
+	stat['total_lovers_current'] += 1
+
 end
 
-if $ARGS[0] = 'add_sugar_daddy':
-	if mid($ARGS[1],1,1) = 'C' :
-		gs 'npcpreservec', $ARGS[1]
-		gs 'boyStat', $npclastsaved
-	else
-		gs 'boyStat',$ARGS[1]
-	end
-	! Do not add when he has already been added.
-	if arrpos('$sugar_daddy',$boy) = -1:
-		$sugar_daddy[] = $boy
-		$npc_rel_type[$boy] = 'sugar_daddy'
-		gs 'telefon', 'AddContact', $boy, $npc_pic[$boy], 0
-	end
+
+if $ARGS[0] = 'remove_boyfriend':
+	gs 'lover', 'remove', $ARGS[0]
+	$npc_rel_type[$ARGS[0]] = 'ex-boyfriend'
+	stat['boyfriends_current'] -= 1
+	stat['total_lovers_current'] -= 1
+	stat['ex_boyfriends'] += 1
+
+elseif $ARGS[0] = 'remove_girlfriend':
+	gs 'lover', 'remove', $ARGS[0]
+	$npc_rel_type[$ARGS[0]] = 'ex-girlfriend'
+	stat['girlfriends_current'] -= 1
+	stat['total_lovers_current'] -= 1
+	stat['ex_girlfriends'] += 1
+
+elseif $ARGS[0] = 'remove_fuckbuddy':
+	gs 'lover', 'remove', $ARGS[0]
+	stat['fuckbuddies_current'] -= 1
+	stat['total_lovers_current'] -= 1
+	stat['ex_fuckbuddies'] += 1
+
+elseif $ARGS[0] = 'remove_sugar_daddy':
+	gs 'lover', 'remove', $ARGS[0]
+	stat['sugardaddies_current'] -= 1
+	stat['total_lovers_current'] -= 1
+	stat['ex_sugardaddies'] += 1
+
 end
 
-if $ARGS[0] = 'remove_fuckbuddy':
-	gs 'telefon', 'DeleteContact', $ARGS[1]
-	$ex_fuckbuddy[] = $ARGS[1]
-	$npc_rel_type[$ARGS[1]] = 'ex_fuckbuddy'
-	killvar '$fuckbuddy', arrpos('$fuckbuddy',$ARGS[1])
+! $ARGS[1+]: npc_rel_types that you want to include
+if $ARGS[0] = 'draw_random_from':
+	lover_i = 0
+	lover_max_i = arrsize('$lover')
+	:draw_from_lover_loop
+		$lover_temp_npcID = $lover[lover_i]
+		if arrpos('$ARGS', $npc_rel_type[$lover_temp_npcID]) > 0:
+			$lover_temp_lovers[] = $lover_temp_npcID
+		end
+		lover_i += 1
+	if lover_i < lover_max_i: jump 'draw_from_lover_loop'
+
+	lover_temp_index = rand(0, arrsize('$lover_temp_npcID')-1)
+	$result = $lover_temp_lovers[lover_temp_index]
+
+	killvar '$lover_temp_npcID'
+	killvar '$lover_temp_lovers'
+	killvar 'lover_temp_index'
 end
 
 
-if $ARGS[0] = 'remove_sugar_daddy':
-	gs 'telefon', 'DeleteContact', $ARGS[1]
-	npc_sugar_daddy_price[$ARGS[1]] = 0
-	$ex_sugar_daddy[] = $ARGS[1]
-	$npc_rel_type[$ARGS[1]] = 'ex_sugar_daddy'
-	killvar '$sugar_daddy', arrpos('$sugar_daddy',$ARGS[1])
-end
+
 
 if $ARGS[0] = 'clear_all':
 	! CLEAR LOVERS
+	! THIS IS A NUCLEAR OPTION!
+
 	:clear_lovers_loop
-	if arrsize('pcs_lovers') > 0:
-		gs 'lover', 'remove', 0
+	if arrsize('$lover') > 0:
+		if $npc_rel_type[$lover[0]] = 'boyfriend':
+			gs 'lover', 'remove_boyfriend', $lover[0]
+		elseif $npc_rel_type[$lover[0]] = 'girlfriend':
+			gs 'lover', 'remove_girlfriend', $lover[0]
+		elseif $npc_rel_type[$lover[0]] = 'fuckbuddy':
+			gs 'lover', 'remove_fuckbuddy', $lover[0]
+		elseif $npc_rel_type[$lover[0]] = 'sugar_daddy':
+			gs 'lover', 'remove_sugar_daddy', $lover[0]
+		elseif $npc_rel_type[$lover[0]] = 'husband':
+			gs 'lover', 'remove_husband', $lover[0]
+			gs 'lover_love', 'divorce'
+
+		end
 		jump 'clear_lovers_loop'
 	end
-
-	! CLEAR FUCKBUDDIES
-	:clear_fb_loop
-	if arrsize('$fuckbuddy') > 0:
-		gs 'lover', 'remove_fuckbuddy', $fuckbuddy[0]
-		jump 'clear_fb_loop'
-	end
-
-	! CLEAR SUGAR DADIES
-	:clear_sd_loop
-	if arrsize('$sugar_daddy') > 0:
-		gs 'lover', 'remove_sugar_daddy', $sugar_daddy[0]
-		jump 'clear_sd_loop'
-	end
 end
 
 
-
 --- lover ---------------------------------

+ 939 - 0
locations/lover_call.qsrc

@@ -0,0 +1,939 @@
+# lover_call
+
+if $ARGS[0] = 'stage_calls':
+	if arrsize('$lover') > 0:
+		ts_temp_i = 0
+		ts_temp_max_i = arrsize('$lover')
+		:loverloop2
+			$temp_npcid = $lover[ts_temp_i]
+			if $npc_rel_type[$temp_npcid] = 'boyfriend' or $npc_rel_type[$temp_npcid] = 'girlfriend':
+				if rand(0, 1) = 1:
+					gs 'telefon', 'SetCallSchedule', $temp_npcid, "gt 'lover_call', 'callingTheLover', '<<$temp_npcid>>'", "npc_meetday['<<$temp_npcid>>'] < <<daystart>> and hour >= 7 and hour <= 19", "gs 'lover_call', 'lover', <<$temp_npcid>>", "hour >= 6 and hour <= 19"
+				else
+					gs 'telefon', 'SetCallSchedule', $temp_npcid, "gt 'lover_call', 'callingTheLover', '<<$temp_npcid>>'", "npc_meetday['<<$temp_npcid>>'] < <<daystart>> and hour >= 7 and hour <= 19", "", "0"
+				end
+			end
+			ts_temp_i += 1
+		if ts_temp_i < ts_temp_max_i: jump 'loverloop2'
+		killvar 'ts_temp_i'
+		killvar 'ts_temp_max_i'
+	end
+end
+
+
+
+
+
+if $ARGS[0] = 'telotkaz':
+	cla
+	minut += 10
+	'<<$ARGS[1]>>, "Sorry, I''m busy right now, maybe next time."'
+
+	act 'Hangup': gt 'lover_call', 'fin'
+end &! --- telotkaz ---
+
+
+if $ARGS[0] = 'fin':
+	killvar 'Call4Date'
+
+	gt $loc, $loc_arg
+end
+
+
+
+if $ARGS[0] = 'mobilaraz':
+	*clr & cla
+	gs 'din_bad'
+	$caller = $telsob
+	gs 'telefon','phone_balance'
+	gs 'telefon','phone_call_receive'
+	willAgree = (rand(0, 10) > 3)
+
+
+	'"Yes, I''m listening," says a voice from the speaker.'
+
+	if month > 5 and temper > 20 and sunWeather = 1:
+		act 'Invite to the park':
+			cla
+			'"Let''s go for a walk in the park."'
+
+			if willAgree:
+				'<<$telsob>>, "See you in the park in an hour."'
+
+				act 'Go':
+					if $clothingworntype = 'nude':
+						gs 'clothing', 'wear_last_worn'
+						gs 'underwear', 'wear'
+					end
+					gt 'parksvid'
+				end
+			else
+				gs 'lover_call', 'telotkaz', $telsob
+			end
+		end
+	end
+
+	act 'Invite to a movie':
+		cla
+		'"Want to go see a movie?"'
+
+		if willAgree:
+			'<<$telsob>>, "See you at the movie theater in an hour."'
+			act 'Go': gt 'kinosvid'
+		else
+			gs 'lover_call', 'telotkaz', $telsob
+		end
+	end
+
+	act 'Invite to the pool hall':
+		cla
+		'"Let''s play pool."'
+
+		if willAgree:
+			'<<$telsob>>, "See you at the pool hall in an hour."'
+
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing', 'wear_last_worn'
+					gs 'underwear', 'wear'
+				end
+				gt 'billsvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $telsob
+		end
+	end
+
+	act 'Invite to the cafe':
+		cla
+		'"Let''s go to the cafe."'
+
+		if willAgree:
+			'<<$telsob>>, "See you at the cafe in an hour."'
+
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing', 'wear_last_worn'
+					gs 'underwear', 'wear'
+				end
+				gt 'kafesvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $telsob
+		end
+	end
+
+	act 'Invite to the casino':
+		cla
+		'"Let''s go to the casino."'
+
+		if willAgree:
+			'<<$telsob>>, "See you in the casino in an hour."'
+
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing', 'wear_last_worn'
+					gs 'underwear', 'wear'
+				end
+				gt 'kazinosvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $telsob
+		end
+	end
+
+	act 'Hangup': gt 'lover_call', 'fin'
+end
+
+
+
+
+
+
+
+
+if $ARGS[0] = 'init_Call4Date_lover':
+	$Call4Date["NPC"] = $ARGS[1]
+	$Call4Date["CallerName"] = $npc_usedname[$Call4Date["NPC"]]
+
+	!! These variables are setup for certain downstream functions
+	$caller = $Call4Date["CallerName"]
+	$callerid = $npc_pic[$Call4Date["NPC"]]
+	$telsob = $caller
+end
+
+
+!-----------------------------------------------------------------------------
+! Support for Hardcoded Lovers (BF/GF)
+
+if $ARGS[0] = 'callingTheLover':
+	*clr & cla
+	menu_off = 1
+	gs 'din_bad'
+	gs 'stat'
+	gs 'lover_call', 'init_Call4Date_lover', $ARGS[1]
+
+	gs 'telefon','phone_balance'
+	gs 'telefon','phone_call_receive'
+
+	if npc_gender[$ARGS[1]] = 1 or npc_gender[$ARGS[1]] = 2:
+		xgt 'lover_call', 'callingTheLover_f'
+	elseif npc_gender[$ARGS[1]] = 0 or npc_gender[$ARGS[1]] = 3:
+		xgt 'lover_call', 'callingTheLover_m'
+	end
+end
+
+if $ARGS[0] = 'callingTheLover_f':
+	Call4Date["willAgree"] = (rand(0, 10) > 3)
+
+	'"Yes, I''m listening," says a voice from the speaker.'
+
+	if month > 5 and temper > 20 and sunWeather = 1:
+		act 'Invite to the park':
+			cla
+			'"Let''s go for a walk in the park."'
+
+			if Call4Date["willAgree"]:
+				'<<$telsob>>, "See you in the park in an hour."'
+
+				act 'Go':
+					if $clothingworntype = 'nude':
+						gs 'clothing', 'wear_last_worn'
+						gs 'underwear', 'wear'
+					end
+					gt 'parksvid'
+				end
+			else
+				gs 'lover_call', 'telotkaz', $telsob
+			end
+		end
+	end
+
+	act 'Invite to a movie':
+		cla
+		'"Want to go see a movie?"'
+
+		if Call4Date["willAgree"]:
+			'<<$telsob>>, "See you at the movie theater in an hour."'
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing', 'wear_last_worn'
+					gs 'underwear', 'wear'
+				end
+				gt 'kinosvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $telsob
+		end
+	end
+
+	if $home['town'] = 'city':
+		act 'Invite to the pool hall':
+			cla
+			'"Let''s play pool."'
+
+			if Call4Date["willAgree"]:
+				'<<$telsob>>, "See you at the pool hall in an hour."'
+
+				act 'Go':
+					if $clothingworntype = 'nude':
+						gs 'clothing', 'wear_last_worn'
+						gs 'underwear', 'wear'
+					end
+					gt 'billsvid'
+				end
+			else
+				gs 'lover_call', 'telotkaz', $telsob
+			end
+		end
+	end
+
+	act 'Invite to the cafe':
+		cla
+		'"Let''s go to the cafe."'
+
+		if Call4Date["willAgree"]:
+			'<<$telsob>>, "See you at the cafe in an hour."'
+
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing', 'wear_last_worn'
+					gs 'underwear', 'wear'
+				end
+				gt 'kafesvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $telsob
+		end
+	end
+
+	act 'Invite to the casino':
+		cla
+		'"Let''s go to the casino."'
+
+		if Call4Date["willAgree"]:
+			'<<$telsob>>, "See you in the casino in an hour."'
+
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing','wear_last_worn'
+					gs 'underwear','wear'
+				end
+				gt 'kazinosvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $telsob
+		end
+	end
+
+	act 'I think we should break up...':
+		cla
+		'She sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+		gs 'lover', 'remove_girlfriend', $Call4Date["NPC"]
+
+		act 'Hangup': gt 'lover_call', 'fin'
+	end
+
+	act 'Hangup': gt 'lover_call', 'fin'
+end
+
+if $ARGS[0] = 'callingTheLover_m':
+	Call4Date["willAgree"] = (rand(0, 10) > 3)
+
+	'"Yes, I''m listening," says a voice from the speaker.'
+
+	if month > 5 and temper > 20 and sunWeather = 1:
+		act 'Invite to the park':
+			cla
+			'"Let''s go for a walk in the park."'
+
+			if Call4Date["willAgree"]:
+				'<<$caller>>, "See you in the park in an hour."'
+
+				act 'Go':
+					if $clothingworntype = 'nude':
+						gs 'clothing','wear_last_worn'
+						gs 'underwear','wear'
+					end
+					gs 'npcStat', $Call4Date["NPC"]
+					gt 'svidboy', 'parksvid'
+				end
+			else
+				gs 'lover_call', 'telotkaz', $caller
+			end
+		end
+	end
+
+	act 'Invite to a movie':
+		cla
+		'"Want to go see a movie?"'
+
+		if Call4Date["willAgree"]:
+			'<<$caller>>, "See you at the movie theater in an hour."'
+
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing','wear_last_worn'
+					gs 'underwear','wear'
+				end
+				gs 'npcStat', $Call4Date["NPC"]
+				gt 'svidboy', 'kinosvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $caller
+		end
+	end
+
+	if $home['town'] = 'city':
+		act 'Invite to the pool hall':
+			cla
+			'"Let''s play pool."'
+
+			if Call4Date["willAgree"]:
+				'<<$caller>>, "See you at the pool hall in an hour."'
+
+				act 'Go':
+					if $clothingworntype = 'nude':
+						gs 'clothing','wear_last_worn'
+						gs 'underwear','wear'
+					end
+					gs 'npcStat', $Call4Date["NPC"]
+					gt 'svidboy', 'billsvid'
+				end
+
+			else
+				gs 'lover_call', 'telotkaz', $caller
+			end
+		end
+	end
+
+	act 'Invite to the cafe':
+		cla
+		'"Let''s go to the cafe."'
+
+		if Call4Date["willAgree"]:
+			'<<$caller>>, "See you at the cafe in an hour."'
+
+			act 'Go':
+				if $clothingworntype = 'nude':
+					gs 'clothing','wear_last_worn'
+					gs 'underwear','wear'
+				end
+				gs 'npcStat', $Call4Date["NPC"]
+				gt 'svidboy', 'kafesvid'
+			end
+		else
+			gs 'lover_call', 'telotkaz', $caller
+		end
+	end
+
+	act 'I think we should break up...':
+		cla
+		'He sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+		gs 'lover', 'remove_boyfriend', $Call4Date["NPC"]
+
+		act 'Hangup':gt 'lover_call', 'fin'
+	end
+
+	act 'Hangup':gt 'lover_call', 'fin'
+end
+
+
+if $ARGS[0] = 'lover':
+	*clr & cla
+	menu_off = 1
+	gs 'stat'
+	gs 'lover_call', 'init_Call4Date_lover', $ARGS[1]
+	ring = 0
+	Call4Date['lover_days'] = daystart - npc_eventday[$Call4Date["NPC"]]
+	gs 'stat'
+	gs 'telefon', 'phone_call_receive'
+	gs 'telefon', 'SetCallSchedule', $Call4Date["NPC"], "gt 'lover_call', 'callingTheLover', '<<$temp_npcid>>'", "npc_meetday['<<$temp_npcid>>'] < <<daystart>> and hour >= 7 and hour <= 19", "", "0"
+
+
+	if npc_gender[$ARGS[1]] = 0 or npc_gender[$ARGS[1]] = 3:
+		xgt 'lover_call', 'lover_m'
+	elseif npc_gender[$ARGS[1]] = 1 or npc_gender[$ARGS[1]] = 2:
+		xgt 'lover_call', 'lover_f'
+	end
+end
+
+if $ARGS[0] = 'lover_m':
+	$DateNickName[0] = 'cutie'
+	$DateNickName[1] = 'honey'
+	$DateNickName[2] = 'sweetie'
+	$DateNickName[3] = 'baby'
+	$DateNickName[4] = 'hot stuff'
+	$DateNickName[5] = '<<$pcs_nickname>>'
+	$Call4Date["SvetaName"] = $DateNickName[rand(0, arrsize('$DateNickName')-1)]
+	killvar '$DateNickName'
+
+	'Hey <<$Call4Date["SvetaName"]>>, it''s me, <<$caller>>. How''s it going?'
+
+	act 'Reply':
+		cla
+		'"Pretty good, you?"'
+		'<<$caller>>, "Great, but I kind of miss you, can we meet today?"'
+
+
+		if knowpreg = 1 and pregtalk = 0:
+			if (pregchem / 24) > Call4Date['lover_days']:
+				act 'Honey, you will soon become a dad':
+					cla
+					npc_rel[$Call4Date["NPC"]] = 0
+					'"Honey, I''m pregnant with your child."'
+					'<<$caller>>, "How the fuck did I manage that? Unless I own a time-machine and went back to before we met and fucked you, it''s someone else''s, go and tell him. I don''t want to see you again, goodbye."'
+
+					act 'Hang up.': gt 'lover_call', 'fin'
+				end
+			else
+				act 'Tell him he''s going to be a dad':
+					cla
+					pregtalk = 1
+					'"Honey, I''m pregnant with your child."'
+
+					if npc_gentle[$Call4Date["NPC"]] = 1:
+
+						if npc_rel[$Call4Date["NPC"]] < 85:
+							money += 20000
+							'<<$caller>> "I''m not yet ready to become a dad. I''ll give you the money for an abortion. Get rid of the child.'
+
+							act 'Hang up': gt 'lover_call', 'fin'
+						else
+							npc_love[$Call4Date["NPC"]] = 1
+
+							'<<$caller>>, "This is wonderful! We have to celebrate!"'
+							'You start talking about living together. <<$caller>> tells you that he is not against it on principle, but first he wants you to meet his parents.'
+							'He warns you that his mother is very demanding and rigorous. <<$caller>> says that he loves his mother and does not want to upset her. Therefore, you must look gorgeous, wear a dress from a boutique, and have well-groomed and curled hair and makeup in moderation.'
+							'When you are totally ready <<$caller>> will take you to his parents.'
+
+							act 'Hang up': gt 'lover_call', 'fin'
+
+							act 'Meet tonight':
+								cla
+								'"How about this evening?"'
+								'<<$caller>>, "Sounds great! When can I come to pick you up?"'
+
+								act 'Pick a time':
+									cla
+									npc_meetday[$call4Date['NPC']] = daystart
+									npc_meethour[$call4Date['NPC']] = input ("When do you want to be picked up? It is now <<func('time', 'get_time_string', hour, minut)>>. [Enter the hour only 0 - 20]")
+									if npc_meethour[$call4Date['NPC']] <= hour or npc_meethour[$call4Date['NPC']] > 23: npc_meethour[$call4Date['NPC']] = 20
+									'"How about <<temp_hour>>:00?"'
+									'<<$caller>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<npc_meethour[$call4Date[''NPC'']]>>:00."'
+
+									act 'Hang up': gt 'lover_call', 'fin'
+								end
+							end
+						end
+					elseif npc_rough[$Call4Date["NPC"]] = 0:
+						money += 20000
+						'<<$caller>> "I''m not yet ready to become a dad. I''ll give you the money get an abortion.'
+
+						act 'Hang up': gt 'lover_call', 'fin'
+					else
+						pregtalk = 0
+						'<<$caller>>, "What? You whore! Someone fucked your pussy, and now you drop it on me. You''re dumped.'
+						gs 'lover', 'remove_boyfriend', $Call4Date["NPC"]
+
+						act 'Hang up': gt 'lover_call', 'fin'
+					end
+				end
+			end
+		elseif week > 1 and week < 5 and workKafe['job'] = 1:
+			act 'Sorry, I''m working today':
+				cla
+				'"Sorry, I''m working today."'
+				'<<$caller>>, "Okay, I''ll call tomorrow."'
+
+				act 'Hang up': gt 'lover_call', 'fin'
+			end
+		end
+
+		act 'Tonight':
+			cla
+			npc_rel[$Call4Date["NPC"]] += rand(0, 1)
+			'"How about this evening?"'
+			'<<$caller>>, "Sounds great! When can I come to pick you up?"'
+
+			act 'Pick a time':
+				cla
+				npc_meetday[$call4Date['NPC']] = daystart
+				npc_meethour[$call4Date['NPC']] = input ("When do you want to be picked up. It is now <<func('time', 'get_time_string', hour, minut)>>. [Enter the hour only 0 - 20]")
+				if npc_meethour[$call4Date['NPC']] <= hour or npc_meethour[$call4Date['NPC']] > 23: npc_meethour[$call4Date['NPC']] = 20
+
+				'"How about <<npc_meethour[$call4Date[''NPC'']]>>:00?."'
+				'<<$caller>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<npc_meethour[$call4Date[''NPC'']]>>:00."'
+
+				act 'Hang up': gt 'lover_call', 'fin'
+			end
+		end
+
+		act 'Maybe tomorrow':
+			cla
+			npc_rel[$Call4Date["NPC"]] -= rand(0, 1)
+			'"I''m busy today. Call tomorrow."'
+
+			if npc_rel[$Call4Date["NPC"]] <= 0:
+				'<<$caller>>, Are you fucking me, you know what. Suck my dick.'
+				gs 'lover', 'remove_boyfriend', $Call4Date["NPC"]
+			else
+				'(<<$caller>>) -  Okay, I''ll call tomorrow.'
+			end
+
+			act 'Hang up': gt 'lover_call', 'fin'
+		end
+
+		act 'I think we should break up...':
+			cla
+			'He sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+			gs 'lover', 'remove_boyfriend', $Call4Date["NPC"]
+
+			act 'Hang up': gt 'lover_call', 'fin'
+		end
+	end
+
+	act 'Hang up (end relationship)':
+		cla
+		gs 'lover', 'remove_boyfriend', $Call4Date["NPC"]
+		gt 'lover_call', 'fin'
+	end
+end
+
+if $ARGS[0] = 'lover_f':
+	$DateNickName[0] = 'cutie'
+	$DateNickName[1] = 'honey'
+	$DateNickName[2] = 'sweetie'
+	$DateNickName[3] = 'baby'
+	$DateNickName[4] = 'hot stuff'
+	$DateNickName[5] = '<<$pcs_nickname>>'
+	$Call4Date["SvetaName"] = $DateNickName[rand(0, arrsize('$DateNickName')-1)]
+	killvar '$DateNickName'
+
+	'Hey <<$Call4Date["SvetaName"]>>, it''s me, <<$caller>>. How''s it going?'
+
+	act 'Reply':
+		cla
+		'"Pretty good, you?"'
+		'<<$caller>>, "Great, but I kind of miss you, can we meet today?"'
+
+
+		act 'Tonight':
+			cla
+			npc_rel[$Call4Date["NPC"]] += rand(0, 1)
+			'"How about this evening?"'
+			'<<$caller>>, "Sounds great! When can I come to pick you up?"'
+
+			act 'Pick a time':
+				cla
+				npc_meetday[$call4Date['NPC']] = daystart
+				npc_meethour[$call4Date['NPC']] = input ("When do you want to be picked up. It is now <<func('time', 'get_time_string', hour, minut)>>. [Enter the hour only 0 - 20]")
+				if npc_meethour[$call4Date['NPC']] <= hour or npc_meethour[$call4Date['NPC']] > 23: npc_meethour[$call4Date['NPC']] = 20
+
+				'"How about <<npc_meethour[$call4Date[''NPC'']]>>:00?."'
+				'<<$caller>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<npc_meethour[$call4Date[''NPC'']]>>:00."'
+
+				act 'Hang up': gt 'lover_call', 'fin'
+			end
+		end
+
+		act 'Maybe tomorrow':
+			cla
+			npc_rel[$Call4Date["NPC"]] -= rand(0, 1)
+			'"I''m busy today. Call tomorrow."'
+
+			if npc_rel[$Call4Date["NPC"]] <= 20:
+				'<<$caller>>, Are you fucking me, you know what. Fuck off.'
+				gs 'lover', 'remove_girlfriend', $Call4Date["NPC"]
+			else
+				'(<<$caller>>) -  Okay, I''ll call tomorrow.'
+			end
+			act 'Hang up': gt 'lover_call', 'fin'
+		end
+
+		act 'I think we should break up...':
+			cla
+			'She sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+			gs 'lover', 'remove_girlfriend', $Call4Date["NPC"]
+
+			act 'Hang up': gt 'lover_call', 'fin'
+		end
+	end
+
+	act 'Hang up (end relationship)':
+		cla
+		gs 'lover', 'remove_girlfriend', $Call4Date["NPC"]
+		gt 'lover_call', 'fin'
+	end
+end
+!---------------------- End of Lover support
+
+
+!!-----------------------------------EVENTS------------------------------------------
+! Generic Calls for dates
+
+
+!!	ARGS[1] = contactlist index
+if $ARGS[0] = 'init_Call4Date':
+	Call4Date["ContactIndex"] = ARGS[1]
+	$Call4Date["NPC"] = $contact[Call4Date['ContactIndex']]
+	$Call4Date["CallerName"] = $npc_nickname[$Call4Date["NPC"]]
+
+	if npc_gender[$Call4Date["NPC"]] = 0:
+		$Call4Date["NPC-he"] = 'he'
+		$Call4Date["NPC-He"] = 'He'
+		$Call4Date["NPC-his"] = 'his'
+		$Call4Date["NPC-His"] = 'His'
+	else
+		$Call4Date["NPC-he"] = 'her'
+		$Call4Date["NPC-He"] = 'Her'
+		$Call4Date["NPC-his"] = 'hers'
+		$Call4Date["NPC-His"] = 'Hers'
+	end
+
+	!! These variables are setup for certain downstream functions
+	$caller = $Call4Date["CallerName"]
+	$callerid = $contactIcon[Call4Date["ContactIndex"]]
+end
+
+
+
+!! NPC Date
+!!	ARGS[1] = contactlist index
+!!	$ARGS[2] = Date Location
+if $ARGS[0] = 'NPCDate':
+	gs 'lover_call', 'init_Call4Date', ARGS[1]
+	$Call4Date["Location"] = $ARGS[2]
+
+	gs 'npcStat', $Call4Date["NPC"]
+
+	pcs_mood += 10
+	npc_rel[$Call4Date["NPC"]] += rand(1, 2)
+
+	$Call4Date['leave'] = 'killvar ''Call4Date'' & '
+	if npc_gender[$Call4Date["NPC"]] = 0:
+		if $Call4Date["Location"] = 'city_park':
+			$Call4Date['leave'] += 'gt ''dateM'', ''datepark'' '
+		elseif $Call4Date["Location"] = 'bar':
+			$Call4Date['leave'] += 'gt ''dateM'', ''datebar'' '
+		elseif $Call4Date["Location"] = 'movie':
+			$Call4Date['leave'] += 'gt ''dateM'', ''datecinema'' '
+		elseif $Call4Date["Location"] = 'cafe':
+			$Call4Date['leave'] += 'gt ''dateM'', ''datecafe'' '
+		else
+			!!Saveguard
+			$Call4Date['leave'] += 'gt ''dateM'', ''datepark'' '
+		end
+	else
+		if $Call4Date["Location"] = 'city_park':
+			$Call4Date['leave'] += 'gt ''dateF'', ''datepark'' '
+		elseif $Call4Date["Location"] = 'bar':
+			$Call4Date['leave'] += 'gt ''dateF'', ''datebar'' '
+		elseif $Call4Date["Location"] = 'movie':
+			!Not implemented yet
+			!$Call4Date['leave'] += 'gt ''dateF'', ''datecinema'' '
+		elseif $Call4Date["Location"] = 'cafe':
+			!Not implemented yet
+			!$Call4Date['leave'] += 'gt ''dateF'', ''datecafe'' '
+		else
+			!!Saveguard
+			$Call4Date['leave'] += 'gt ''dateF'', ''datepark'' '
+		end
+	end
+	dynamic $Call4Date['leave']
+end
+
+!! Sveta Calls the NPC
+!!	ARGS[1] = contactlist index
+if $ARGS[0] = 'SvetaCallsNPC':
+	*clr & cla
+	gs 'lover_call', 'init_Call4Date', ARGS[1]
+
+	gs 'telefon', 'phone_balance'
+	gs 'telefon', 'phone_call_receive'
+
+	Call4Date["willAgree"] = (rand(0, 10) > 3)
+	$Call4Date['leave'] = 'killvar ''Call4Date'' & '
+
+
+	'"Yes, I''m listening," says a voice from the speaker.'
+
+	act 'Ask to meet':
+		cla
+		'"Let''s meet up."'
+
+		act 'Continue':
+			$Call4Date['leave'] += 'gt ''lover_call'', ''NPCCallsForDate'', <<Call4Date["ContactIndex"]>>'
+			dynamic $Call4Date['leave']
+		end
+	end
+
+	if month > 5 and temper > 20 and sunWeather = 1:
+		act 'Invite to the park':
+			cla
+			'"Let''s go for a walk in the park."'
+
+			if Call4Date["willAgree"]:
+				'<<$Call4Date["CallerName"]>>, "See you in the park in an hour."'
+
+				act 'Go':
+					$Call4Date['leave'] += 'gt ''lover_call'', ''NPCDate'', <<Call4Date["ContactIndex"]>>, ''city_park'' '
+					dynamic $Call4Date['leave']
+				end
+			else
+				$Call4Date['leave'] += 'gs ''lover_call'', ''telotkaz'', ''<<$Call4Date["CallerName"]>>'' '
+				dynamic $Call4Date['leave']
+			end
+		end
+	end
+
+	act 'Invite to a movie':
+		cla
+		'"Want to go see a movie?"'
+
+		if Call4Date["willAgree"]:
+			'<<$Call4Date["CallerName"]>>, "See you at the movie theater in an hour."'
+
+			act 'Go':
+				$Call4Date['leave'] += 'gt ''lover_call'', ''NPCDate'', <<Call4Date["ContactIndex"]>>, ''movie'' '
+				dynamic $Call4Date['leave']
+			end
+		else
+			$Call4Date['leave'] += 'gs ''lover_call'', ''telotkaz'', ''<<$Call4Date["CallerName"]>>'' '
+			dynamic $Call4Date['leave']
+		end
+	end
+
+	if $home['town'] = 'city':
+		act 'Invite to the bar':
+			cla
+			'"Let''s go to the bar."'
+
+			if Call4Date["willAgree"]:
+				'<<$Call4Date["CallerName"]>>, "See you at the bar in an hour."'
+
+				act 'Go':
+					$Call4Date['leave'] += 'gt ''lover_call'', ''NPCDate'', <<Call4Date["ContactIndex"]>>, ''bar'' '
+					dynamic $Call4Date['leave']
+				end
+			else
+				$Call4Date['leave'] += 'gs ''lover_call'', ''telotkaz'', ''<<$Call4Date["CallerName"]>>'' '
+				dynamic $Call4Date['leave']
+			end
+		end
+	end
+
+	act 'Invite to the cafe':
+		cla
+		'"Let''s go to the cafe."'
+
+		if Call4Date["willAgree"]:
+			'<<$Call4Date["CallerName"]>>, "See you at the cafe in an hour."'
+
+			act 'Go':
+				$Call4Date['leave'] += 'gt ''lover_call'', ''NPCDate'', <<Call4Date["ContactIndex"]>>, ''cafe'' '
+				dynamic $Call4Date['leave']
+			end
+		else
+			$Call4Date['leave'] += 'gs ''lover_call'', ''telotkaz'', ''<<$Call4Date["CallerName"]>>'' '
+			dynamic $Call4Date['leave']
+		end
+	end
+
+	!!Willpower checks for resistance
+	if npc_rel[$Call4Date["NPC"]] <= 50:
+		$Call4Date["loverResist"] = 'easy'
+	elseif npc_rel[$Call4Date["NPC"]] <= 65:
+		$Call4Date["loverResist"] = 'medium'
+	else
+		$Call4Date["loverResist"] = 'hard'
+	end
+
+
+	gs 'willpower', 'misc', 'self', $Call4Date["loverResist"]
+	if pcs_willpwr < will_cost:
+		act 'I think we should break up... (<font color="red"><<will_cost>> Willpower</font>)':
+			'<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
+	else
+		act 'I think we should break up... (<<will_cost>> Willpower)':
+			*clr & cla
+			gs 'willpower', 'pay', 'self'
+			gs 'stat'
+
+			'<<$Call4Date["NPC-He"]>> sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+			gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+
+			act 'Hang up': gt 'lover_call', 'fin'
+		end
+	end
+
+	act 'Hangup': gt 'lover_call', 'fin'
+end
+
+!! NPC Calls Sveta for a Date
+!!	ARGS[1] = $contact index number
+if $ARGS[0] = 'NPCCallsForDate':
+	*clr & cla
+	gs 'lover_call', 'init_Call4Date', ARGS[1]
+
+	!!Pick a nickname that caller will use for Sveta
+	$DateNickName[0] = 'cutie'
+	$DateNickName[1] = 'honey'
+	$DateNickName[2] = 'sweetie'
+	$DateNickName[3] = 'baby'
+	$DateNickName[4] = 'hot stuff'
+	$DateNickName[5] = '<<$pcs_nickname>>'
+	$Call4Date['SvetaName'] = $DateNickName[rand(0, arrsize('$DateNickName')-1)]
+	killvar '$DateNickName'
+
+	$Call4Date['leave'] = 'killvar ''Call4Date'' & '
+
+
+	'Hey <<$Call4Date["SvetaName"]>>, it''s me, <<$Call4Date["CallerName"]>>. How''s it going?'
+
+	act 'Answer':
+		cla
+		'"Pretty good, you?"'
+		'<<$Call4Date["CallerName"]>>, "Great, but I kind of miss you, can we meet today?"'
+		if week > 1 and week < 5 and workKafe['job'] = 1:
+			act 'Sorry, I''m working today':
+				cla
+				'"Sorry, I''m working today."'
+				'<<$Call4Date["CallerName"]>>, "Okay, I''ll call tomorrow."'
+
+				act 'Hang up': gt 'lover_call', 'fin'
+			end
+		end
+
+		act 'Tonight':
+			cla
+			npc_rel[$Call4Date["NPC"]] += rand(0, 1)
+			'"How about this evening?"'
+			'<<$Call4Date["CallerName"]>>, "Sounds great! When can I come to pick you up?"'
+
+			act 'Pick a time':
+				cla
+				npc_meetday[$call4Date['NPC']] = daystart
+				npc_meethour[$call4Date['NPC']] = input ("When do you want to be picked up. It is now <<func('time', 'get_time_string', hour, minut)>>. [Enter the hour only 0 - 20]")
+				if npc_meethour[$call4Date['NPC']] <= hour or npc_meethour[$call4Date['NPC']] > 23: npc_meethour[$call4Date['NPC']] = 20
+
+				'"How about <<npc_meethour[$call4Date[''NPC'']]>>:00?."'
+				'<<$Call4Date["CallerName"]>>, "Okay <<$Call4Date["SvetaName"]>>, see you at <<npc_meethour[$call4Date[''NPC'']]>>:00."'
+
+				act 'Hang up': gt 'lover_call', 'fin'
+			end
+		end
+
+		act 'Maybe tomorrow':
+			cla
+			npc_rel[$Call4Date["NPC"]] -= rand(0, 1)
+			'"I''m busy today. Call tomorrow."'
+
+			if npc_rel[$Call4Date["NPC"]] <= 20:
+				'<<$Call4Date["CallerName"]>>, Are you fucking me, you know what. Suck my dick.'
+				gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+			else
+				'(<<$Call4Date["CallerName"]>>) -  Okay, I''ll call tomorrow.'
+			end
+
+			act 'Hang up': gt 'lover_call', 'fin'
+		end
+
+		!!Willpower checks for resistance
+		if npc_rel[$Call4Date["NPC"]] <= 50:
+			$Call4Date["loverResist"] = 'easy'
+		elseif npc_rel[$Call4Date["NPC"]] <= 65:
+			$Call4Date["loverResist"] = 'medium'
+		else
+			$Call4Date["loverResist"] = 'hard'
+		end
+		gs 'willpower', 'misc', 'self', $Call4Date["loverResist"]
+
+		if pcs_willpwr < will_cost:
+			act 'I think we should break up... (<font color="red"><<will_cost>> Willpower</font>)':
+				'<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			end
+		else
+			act 'I think we should break up... (<<will_cost>> Willpower)':
+				*clr & cla
+				gs 'willpower', 'pay', 'self'
+				gs 'stat'
+
+				'<<$Call4Date["NPC-He"]>> sounds hurt, but you insist it is for the best. You both say goodbye and part ways.'
+				gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+
+				act 'Hang up': gt 'lover_call', 'fin'
+			end
+		end
+
+	end
+
+	act 'Hang up (end relationship)':
+		gs 'telefon', 'DeleteContact', $Call4Date["NPC"]
+		gt 'lover_call', 'fin'
+	end
+end
+
+
+--- lover_call ----------------------------------

Plik diff jest za duży
+ 414 - 477
locations/lover_change.qsrc


Plik diff jest za duży
+ 901 - 695
locations/lover_likes.qsrc


+ 444 - 0
locations/lover_living.qsrc

@@ -0,0 +1,444 @@
+# lover_living
+
+if $husID = '': exit
+
+
+if $ARGS[0] = 'bedr':
+	if $boy ! $husID: gs 'boyStat', $husID
+
+	if spouseVars['drunk_day'] = daystart:
+		if spouseVars['hus_strapon'] = 1:
+			if rand(0, 1) = 0:
+				'Your husband is still passed out drunk after you used an anal plug on him.'
+			else
+				'Your husband is still passed out drunk after you used an anal plug on him.'
+			end
+		elseif spouseVars['hus_strapon'] = 2:
+			if rand(0, 1) = 0:
+				'Your husband is still passed out drunk after you stuck a dildo in his ass.'
+			else
+				'Your husband is still passed out drunk after you stuck a dildo in his ass.'
+			end
+		elseif spouseVars['hus_strapon'] = 3:
+			if rand(0, 1) = 0:
+				'Your husband is still passed out drunk after you fucked him in the ass with a strap-on.'
+			else
+				'Your husband is still passed out drunk after you fucked him in the ass with a strap-on.'
+			end
+		end
+		gs 'music_actions', 'no_music'
+	end
+
+	if spouseVars['drink'] ! 10 and spouseVars['drunk_day'] ! daystart:
+		if hour > 22 or hour < 7:
+			'Your <a href="exec: gt ''husb'', ''start''">husband</a> is sleeping on the bed.'
+		end
+		gs 'music_actions', 'no_music'
+	end
+
+	if spouseVars['drink'] = 10 and hour > 20 and hour < 23 and spouseVars['hus_strapon'] = 0:
+		if rand(0, 1) = 0:
+			'<<$boydesc>> came home very drunk and collapsed on the bed. He fell asleep in his clothes.'
+		else
+			'<<$boydesc>> came home drunk and fell asleep on the bed.'
+		end
+		'<i>That pig</i>! you think when an idea springs to mind. <i>Maybe I should teach him a lesson so he won''t get drunk again</i>.'
+
+		if mc_inventory['buttplug'] = 1:
+			act iif(rand(0, 1) = 0, 'Insert an anal plug', 'Insert a butt plug in his ass'):
+				*clr & cla
+				menu_off = 1
+				spouseVars['drunk_day'] = daystart
+				spouseVars['drink'] = 11
+				spouseVars['hus_strapon'] = 1
+				minut += 10
+				'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h0.jpg"></center>'
+				if analplugin = 0:
+					'You take an anal plug and put it into his ass.'
+				else
+					analplugIN = 0
+					analplugout = 0
+					if rand(0, 1) = 0:
+						'You get your butt plug out and pull down his pants. You put just a dab of lube on the tip of the plug, then gently insert it into his ass.'
+					else
+						'You pull the plug out of you and shove it up his ass.'
+					end
+				end
+				'<<$boydesc>> moves, but he doesn''t wake up.'
+
+
+
+				if mc_inventory['dildo_small'] > 0:
+					act iif(rand(0, 1) = 0, 'Insert dildo', 'Insert a dildo into his ass'):
+						*clr & cla
+						menu_off = 1
+						spouseVars['hus_strapon'] = 2
+						gs 'cum_call', 'mouth_swallow', $boy, 1
+						'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h1.jpg"></center>'
+						if rand(0, 1) = 0:
+							'You pull out the plug and replace it with a dildo. <<$boydesc>> doesn''t even budge as you slowly move the dildo in and out, trying not to wake him up. You notice his cock starts to get rock-hard, and he starts to moan softly in his sleep. His dick starts to throb like he''s going to cum. You take his dick in your mouth and don''t need to suck on it for long. You swallow his cum before carefully putting his underpants back on.'
+						else
+							'You pull out the plug and stick the dildo up his ass instead, <<$boydesc>> did not move. You began to slowly move the dildo trying not to wake him. After a bit, his dick begins to get hard in front of your face, and <<$boydesc>> moaned softly, but didn''t wake up. You start to really work the dildo in his ass, stroking it deep in his ass, before too long his cock started to throb. You wrap your lips around his cock, you barely even started to suck his dick when suddenly your mouth is filled with a jet of sperm, you swallow it all and carefully cleaned his penis, then you pulled his pants back up.'
+						end
+						gs 'arousal', 'bj', 20
+						gs 'arousal', 'anal_dildo_give', -20
+						gs 'arousal', 'end'
+						gs 'stat'
+
+						act 'Finish': gt $loc, $loc_arg
+					end
+				end
+
+				if mc_inventory['strapon'] > 0:
+					act iif(rand(0, 1) = 0, 'Use the strap-on', 'Wear strap-on'):
+						*clr & cla
+						menu_off = 1
+						minut += 20
+						spouseVars['hus_strapon'] = 3
+						gs 'cum_call', 'mouth_swallow', $boy, 1
+						pcs_horny += 30
+						'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h2.jpg"></center>'
+						'You put on the strapon and pull out the butt plug. You gently move the shaft of the strap-on inside his ass and <<$boydesc>> moves, but doesn''t wake up. You continue to slowly move it in and out, trying not to wake him. You notice his cock is getting rock-hard and he starts to moan softly in his sleep. Hoping that he won''t wake up, you increase your speed and push the entire length of the strap-on into his ass as you start to stroke his dick. Realizing he''s not far from cumming, you pull out and finish him by giving him a blowjob. He cums in your mouth and you swallow before carefully putting his underpants back on.'
+						gs 'arousal', 'bj', 20
+						gs 'arousal', 'anal_strap_give', -20
+						gs 'arousal', 'end'
+						gs 'stat'
+
+						act 'Finish': gt $loc, $loc_arg
+					end
+				end
+
+				act 'Finish': gt $loc, $loc_arg
+			end
+		end
+	end
+
+	if spouseVars['drink'] = 11 and spouseVars['hus_strapon'] > 0 and spouseVars['drunk_day'] ! daystart:
+		cla
+
+		if rand(0, 1) = 0:
+			'Your husband approaches you. "Honey, my ass hurts. Did something happen yesterday?"'
+		else
+			'Your husband approaches you. "Honey, my ass hurts. Like a lot. Do you know why?"'
+		end
+
+		act 'Lie':
+			cla
+			menu_off = 1
+			spouseVars['hus_strapon'] = 0
+			gs 'stat'
+
+			if rand(0, 1) = 0:
+				'"Not that I know of, though you were in the bathroom a lot," you say with an innocent look on your face before he shrugs his shoulders and walks away.'
+			else
+				'"No dear, I don''t know anything about that," you answer, trying to look as innocent as possible before he shrugs and walks away.'
+			end
+			act 'Finish': gt $loc, $loc_arg
+		end
+
+		act 'Confess':
+			cla
+			menu_off = 1
+			gs 'stat'
+
+			if spouseVars['hus_strapon'] = 1:
+				if rand(0, 1) = 0:
+					'"You got so drunk yesterday that I decided to teach you a lesson and put a plug in your ass."'
+				else
+					'"Honey, you were so drunk last night that I decided to teach you a lesson and put a butt plug up your ass."'
+				end
+			elseif spouseVars['hus_strapon'] = 2:
+				if rand(0, 1) = 0:
+					'"I wanted to give you a pleasant surprise and started to give you a blowjob, but you wouldn''t cum no matter how much I tried, so I put a finger in your ass, but again you failed to cum. That''s when I put the dildo in your ass and you shot your load. Forgive me, but I just wanted to get you off."'
+				else
+					'"I wanted to make you happy, so I started to give you a blowjob, but you didn''t cum, so I inserted a finger into your asshole. When you still didn''t cum, I took a small dildo and some lube and put in it your ass; I''ve never seen you cum like that before. I even gave you a second blowjob. Forgive me, but you seemed to enjoy it so much that I could''t stop. I just wanted to make you happy," you lie to him.'
+				end
+			elseif spouseVars['hus_strapon'] = 3:
+				if rand(0, 1) = 0:
+					'"I wanted to give you a pleasant surprise and started to give you a blowjob, but you wouldn''t cum no matter how much I tried, so I put a finger in your ass, but again you failed to cum. That''s when I put in a second finger and you started moving your ass up and down, fucking my fingers as you moaned in pleasure. Since you seemed to be liking it so much and asked for more, I put on my strap-on and fucked you with it while I was jerking you off. I just wanted you to be happy, even if you don''t remember. Please forgive me!"'
+				else
+					'"I wanted to make you happy, so I started to give you a blowjob, but you didn''t cum, so I inserted a finger into your asshole. When you still didn''t cum, I put in a second finger you began to move your ass towards my fingers, moaning heavily. I thought that you liked it, so I put on a strap-on. You enjoyed it so much that you finished over and over again, and I continued until I was tired. I then licked all the cum off your body and went to sleep. I just wanted to make you happy and you were enjoying it," you lie to him.'
+				end
+			end
+
+			if npc_gentle[$boy] = 1:
+				if spouseVars['hus_strapon'] = 1:
+					if rand(0, 1) = 0:
+						'"I''m sorry. I won''t get that drunk again," he says before leaving the room.'
+					else
+						'"I''m sorry. I won''t get that drunk again," he says and leaves the room.'
+					end
+				elseif spouseVars['hus_strapon'] = 2:
+					spouseVars['pervert_add'] += 1
+					if rand(0, 1) = 0:
+						'"You''re such a caring woman. Instead of scolding me for being drunk, you suck me off. Thank you, dear," he says before leaving the room.'
+					else
+						'"You''re so thoughtful. Instead of scolding me, you still wanted to make me happy. Thank you, dear," he says and leaves the room.'
+					end
+				elseif spouseVars['hus_strapon'] = 3:
+					spouseVars['pervert_add'] += 1
+					if rand(0, 1) = 0:
+						'"I really liked it?" he asks and you nod. "Well then, thank you dear, but ask for my consent next time," he says before leaving the room.'
+					else
+						'"Did I really like it?" he asks and you nod.'
+						'"Well then, thank you dear. Ask me next time though," he says and leaves the room.'
+					end
+				end
+			elseif npc_rough[$boy] = 0:
+				if spouseVars['hus_strapon'] = 1:
+					if rand(0, 1) = 0:
+						'"Just don''t do that anymore," is all he says before leaving the room.'
+					else
+						'"Don''t do that again!" he snarls and storms off.'
+					end
+				elseif spouseVars['hus_strapon'] = 2:
+					spouseVars['pervert_add'] += 1
+					if rand(0, 1) = 0:
+						'"Don''t ever do that again. I''m a man and <i>I</i> do the fucking!" he says before leaving the room.'
+					else
+						'"Don''t do that again! I''m a man and I''m not supposed to get fucked in the ass!" he snarls and storms off.'
+					end
+				elseif spouseVars['hus_strapon'] = 3:
+					if pcs_intel > 40 or npc_pervert[$boy] = 1:
+						spouseVars['gentle_add'] += 1
+						if rand(0, 1) = 0:
+							'"Are you really trying to tell me that I asked you to fuck me with a strap-on, bitch?" he bellows. When you start crying and lamenting that you only wanted to please him, he looks at you and exhales. "Fine, fine, I believe you. I believe you wanted to pleasure me and make me happy, but never do that again."'
+						else
+							'"Are you serious?! I''m not some kind of bitch that wants to get fucked up the ass!" he yells at you. You start to cry and say that you only wanted to please him and he looks at you and sighs. "Don''t cry, sweetie. I believe you, just don''t do it again."'
+						end
+					elseif pcs_intel <= 40:
+						gs 'lover_love', 'divorce'
+						fingal += 1
+						minut += 120
+
+						'The next thing you feel is a powerful slap to the face. When you come back to your senses, your husband and his things are gone. He left a note telling you he''s going to file for divorce.'
+					end
+				end
+			else
+				gs 'lover_love', 'divorce'
+				fingal += 1
+				minut += 120
+				gs 'stat'
+
+				'The next thing you feel is a powerful slap to the face. When you come back to your senses, your husband and his things are gone. He left a note telling you he''s going to file for divorce.'
+			end
+
+			act 'Finish': spouseVars['hus_strapon'] = 0 & gt $loc, $loc_arg
+		end
+	end
+end
+
+
+if $ARGS[0] = 'kitchen':
+	if spouseVars['drink'] ! 10:
+		if hour = 7 or hour = 17:'<a href="exec:gt ''husb'', ''start''">Your husband is eating at the table.</a>'
+	end
+
+	if spouseVars['eat_day'] ! daystart:
+		if mc_inventory['food_basic'] < 2:
+			*nl
+			'<b><font color="red">You need to buy some food so you can cook for your husband and yourself.</font><b>'
+		else
+			act 'Cook a meal for your husband and yourself (1:00)':
+				*clr & cla
+				menu_off = 1
+				minut += 60
+				npc_rel[$husID] += 5
+				mc_inventory['food_basic'] -= 2
+				spouseVars['eat_day'] = daystart
+				pcs_mood -= 25
+				gs 'stat'
+
+				'<center><img <<$set_imgh>> src="images/shared/home/kitchen/cook.jpg"></center>'
+				'You prepare a meal for your husband and yourself.'
+
+				act 'Leave the meal': gt $loc, $loc_arg
+			end
+		end
+	end
+end
+
+if $ARGS[0] = 'livingroom':
+	if spouseVars['drink'] ! 10 and spouseVars['drunk_day'] ! daystart:
+		if (week >= 6 and hour > 7 and hour < 17) or (hour > 17 and hour <= 22):
+			'Your <a href="exec:gt ''husb'', ''start''">husband</a> is sitting on the couch, watching television.'
+			gs 'music_actions', 'not_alone'
+		end
+	end
+	if spouseVars['drunk_day'] = daystart and hour >= 20 and hour <= 23: gs 'music_actions', 'no_music'
+end
+
+
+
+if $ARGS[0] = 'santehnik':
+	sexpartkno = 1
+	gs 'npcStat', $HusID
+	gs 'npcStat', 'A53', 'a'
+
+	if spouseVars['drink'] ! 10:
+		*clr & cla
+		minut += 20
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s7.jpg"></center>'
+		'You tell your husband about the leak and he makes a phone call. After 20 minutes, a plumber arrives.'
+		'Your husband walks him to the kitchen and the two of you began to observe his actions, you are sick of hearing about how the plumber hates cheap Chinese fittings and what people pushed into the sink, and you decided to wait in the living room.'
+
+		act 'Leave':
+			*clr & cla
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s8.jpg"></center>'
+			'You go into the room and sit on the couch, soon your husband comes in and sits down beside you. With one hand on your breast, he runs his other hand down under your panties and begins to massage your clitoris.'
+			'"What are you doing? What if the plumber comes in?"'
+			'"He''ll be another hour poking around." he answers, "Come on, quick blow job."'
+			'"OK, lets." you say, now excited, it really looks like his hand has done its job.'
+
+			gs 'arousal', 'foreplay', 10, 'sub'
+			gs 'stat'
+			act 'Start':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s9.jpg"></center>'
+				'The husband stands up and pulls from his unbuttoned pants his member, you drop to your knees and his cock is in your mouth, right then the plumber enters, "I''m finished." he says and freezes, seeing this picture.'
+
+				gs 'arousal', 'bj', 10, 'sub'
+				gs 'stat'
+
+				if npc_pervert[$boy] = 0:
+					'Your husband tries to remove his member from your mouth'
+
+					if pcs_horny < 80:
+						act 'Stop':
+							cla
+							'Your husband quickly hides his dick in his pants and with the plumber goes out into the corridor'
+							gs 'arousal', 'end'
+							gs 'stat'
+							act 'Leave':gt 'sitr'
+						end
+					end
+
+					act 'Do not stop':
+						cla
+						'You grabbed your husbands hips and continued to work your mouth, he jerks a couple of times trying to free himself, but you can not stop and just swallow his cock even deeper. When he stops twitching you bring one hand to your crotch and with just a couple of motions bring yourself to orgasm.'
+						'But the excitement does not recede, you want even more, and the watching plumber just arouses you. You can not control yourself.'
+
+						$orgasm_or = 'yes'
+						gs 'arousal', 'bj', 10, 'sub'
+						gs 'stat'
+						act 'Ride your husband':
+							*clr & cla
+							gs 'cum_manage'
+							suprdolg += 1
+							npc_rel[$boy] += 1
+							spouseVars['pervert_add'] += 1
+							'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s12.jpg"></center>'
+							'You release your husband''s member from your mouth and quickly push him to sit on the couch, then jump on top of him, quickly planting his dick in your pussy. You ride it like crazy, ignoring the plumber, still stood in the doorway, watching you. When you are again close to orgasm you feel as sperm gushes into you'
+							'It take a few movements from his twitching cock, but you also reach orgasm, uttering a cry you limp and fall from your husband. He leaves you still quaking, pulls up his pants and walks out with the plumber to the hallway.'
+
+							$orgasm_or = 'yes'
+							gs 'arousal', 'vaginal', 10, 'sub'
+							gs 'arousal', 'end'
+							gs 'stat'
+
+							act 'Leave':gt 'sitr'
+						end
+					end
+				else
+					'Your husband did not even try to stop you'
+
+					if pcs_horny < 80:
+						act 'Stop':
+							cla
+							if npc_rough[$boy] = 0:
+								'You release your husband''s member from your mouth and he quickly pulls up his pants and with the plumber goes out into the corridor'
+								act 'Leave':gt 'sitr'
+							else
+								guy += 1
+								'You tried to spit the member from your mouth, but your husband grabs hold of your head and he starts to fuck you in the mouth, talking with shocked plumber, "We''re a little busy, at the moment, it''s her feeding time." he laughes, "How much do I owe you?" He continues.'
+								'"Fifteen hundred." Manages the plumber.'
+								'"Well, with those prices can agree that if you feed her too, we consider it paid?" He asks.'
+								'"I do not know, a blowjob would earn a discount, but if she can do us both, then yes." replied the plumber.'
+								'"You know how to bargain." Says your husband, "Okay agreed." He adds, almost without thinking. Knowing the character of your husband you know that your peril has been decided.'
+
+								act 'Serve both': picrand = 43 & gt 'sexdvoe', 'var'
+							end
+						end
+					end
+
+					act 'Do not stop':
+						cla
+						'You continued to suck ignoring the watching plumber.'
+
+						if npc_gentle[$boy] = 1:
+							'Your husband tries not to look at the plumber, obviously embarrassed, but he does not hesitate to follow your every move.'
+						elseif npc_rough[$boy] = 0:
+							'Your husband stands savoring the process without paying attention to the plumber.'
+						else
+							'Your husband chats with the plumber does not hesitate to turn slightly so that it is easier for him to see.'
+						end
+
+						gs 'arousal', 'bj', 10, 'sub'
+						gs 'stat'
+
+						act 'Continue':
+							cla
+							gs 'cum_call', 'mouth_swallow', $boy, 1
+							suprdolg += 1
+							npc_rel[$boy] += 1
+							pcs_horny += 20
+							'You continue to blow your husband, and soon a stream of hot liquid squirts into your mouth, swallowing the sperm you lick the remnants of semen from his penis. Your husband puts his cleaned dick in his pants and walks out into the hallway with the plumber. And you are left sitting on the floor, exhausted from desire.'
+
+							gs 'arousal', 'end'
+							gs 'stat'
+
+							act 'Leave': gt 'sitr'
+						end
+
+						if pcs_horny > 70:
+							act 'Suggest a threesome':
+								cla
+								if npc_gentle[$boy] = 1:
+									*clr
+									spouseVars['houseslut'] += 1
+									npc_rel[$boy] += 2
+									'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s11.jpg"></center>'
+									'You break away from the penis, and a whisper to your husband if he wants to try a threesome.'
+									'Your husband is a little shocked by the idea, what would convince him? In a loud voice you continue, "Let him lick me while I caress you."'
+									'The plumber tenses, waiting for the reaction of your husband, "Well, if only licking you, then let him." Says your husband. The plumber does not need persuading, your husband sits on the sofa, and you get on your knees and stick out your ass as the plumbers tongue penetrates your pussy.'
+									'At first your husband keeps glancing in his direction, but soon relaxes and finally when the guy starts to finger your hole with a vengance, he says nothing, you decide that he is no longer against you sharing with others.'
+
+									gs 'arousal', 'cuni', 10, 'sub', 'group'
+									gs 'arousal', 'vaginal_finger', -10, 'sub', 'group'
+									gs 'stat'
+
+									act 'Serve both':picrand = 43 & gt 'sexdvoe', 'var'
+								elseif npc_rough[$boy] = 0:
+									npc_rel[$boy] -= 5
+									'You break away from the penis, and a whisper to your husband if he wants to try a threesome.'
+									'"You think I should share you, my wife with the plumber? Cool that foolish pussy, you must think with your head." shouts your husband and returning his member to his pants goes out of the room with the plumber.'
+
+									act 'Leave': gt 'sitr'
+								else
+									*clr
+									spouseVars['houseslut'] += 1
+									npc_rel[$boy] += 2
+									'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/sex/s10.jpg"></center>'
+									'You break away from the penis, and a whisper to your husband if he wants to try a threesome.'
+									'"It''s not for nothing that they say all women are whores, hey man this whore wants to do both of us, but then the repair is free of charge." Says your husband. The plumber does need a second invite, he quickly approachs and pulls out his dick.'
+									'Bringing it to your face, you cling to him and start to suck both cocks alternately, your husband stands carefully watching your actions "You like sucking fresh meat, but do not forget about me, and this boys and mine you swallow deeper and deeper."'
+
+									gs 'arousal', 'bj', 10, 'sub', 'group'
+									gs 'stat'
+
+									act 'Serve both': picrand = 43 & gt 'sexdvoe', 'var'
+								end
+							end
+						end
+					end
+				end
+			end
+		end
+	end
+end
+
+
+
+
+--- lover_living ----------------------------------

+ 90 - 59
locations/lover_love.qsrc

@@ -1,80 +1,111 @@
 # lover_love
 
-if loverlove[lover_number] = 3:
-	'<<$loverdesc[lover_number]>> has hired a wedding limousine and it''s outside waiting for you. This is it, you are getting married today.'
+if $ARGS[0] = '':
+	if npc_love[$npcID] = 3:
+		'<<$npcdesc>> has hired a wedding limousine and it''s outside waiting for you. This is it, you are getting married today.'
 
-	act 'Sit in the limousine':
-		cla
-		'You get into the limo, and it drives off. Soon you arrive at the wedding, <<$loverdesc[lover_number]>> is waiting for you as you walk down the aisle.'
-
-		act 'Marry husband':
+		act 'Sit in the limousine':
 			cla
-			minut += 60
-			husband = 100
-			husbanday = 0
-			$husID = $lover[lover_number]
-			$husName = $loverdesc[lover_number]
-			$husHair = $loverface[lover_number]
-			$husBody = $loverbod[lover_number]
-			$husFat = $loverbod[lover_number]
-			husDick = loverdick[lover_number]
-			harakHusb = haraklover[lover_number]
-			izvratH = loverizvrat[lover_number]
-			silavagH = loversilaVag[lover_number]
-			husbFin = loverfinance[lover_number]
-			husbandMark = 1
-			loverslove[lover_number] = 0
-			gs 'lover', 'remove', lover_number
-			'The wedding reception takes place at a cafe. There aren''t many guests since neither you nor the groom have that many friends or family members. There is a lot of congratulations, toasts, merrymaking and crying. By the evening, everybody is drunk and you and your husband stagger into a taxi, which takes you home.'
-
-			act 'Wedding night':gt 'husbsex', 'room'
+			'You get into the limo, and it drives off. Soon you arrive at the wedding, <<$npcdesc>> is waiting for you as you walk down the aisle.'
+
+			act 'Marry husband':
+				cla
+				minut += 60
+				gs 'lover_love', 'marry', $npcID
+				'The wedding reception takes place at a cafe. There aren''t many guests since neither you nor the groom have that many friends or family members. There is a lot of congratulations, toasts, merrymaking and crying. By the evening, everybody is drunk and you and your husband stagger into a taxi, which takes you home.'
+
+				act 'Wedding night': gt 'husbsex', 'room'
+			end
 		end
-	end
 
-	exit
-elseif loverlove[lover_number] = 2:
-	'<<$loverdesc[lover_number]>> looks very excited and suddenly pulls a ring out of a box.'
-	'<<$loverdesc[lover_number]>> says "<<$pcs_nickname>>. I offer you my hand and heart. Would you marry me?"'
-
-	act 'No (turn him down)':
-		minut += 60
-		gs 'lover', 'remove', lover_number
-		pregtalk = 0
-		gt 'homes_properties', 'go_home'
-		
-	end
+		exit
+	elseif npc_love[$npcID] = 2:
+		'<<$npcdesc>> looks very excited and suddenly pulls a ring out of a box.'
+		'<<$npcdesc>> says "<<$pcs_nickname>>. I offer you my hand and heart. Would you marry me?"'
 
-	act 'Yes':
-		cla
-		'You agree and put the ring on your finger. <<$loverdesc[lover_number]>> rejoices and happily hugs and kisses you.'
-		'<<$loverdesc[lover_number]>> says "Now you need to find a wedding dress."'
+		act 'No (turn him down)':
+			minut += 60
+			pregtalk = 0
+			gs 'lover', 'remove_boyfriend', $npcID
+			gt 'homes_properties', 'go_home'
+
+		end
 
-		act 'Go looking for the dress':
+		act 'Yes':
 			cla
-			minut += 60
-			loverlove[lover_number] = 3
-			'You get into a taxi with your soon to be husband and go to the store to choose a dress. You choose an expensive and luxurious dress. <<$loverdesc[lover_number]>> pays for the purchase.'
-			'After a long day you feel tired and ask <<$loverdesc[lover_number]>> to drive you home, warning him that the next time you''ll meet you will get married.'
-			act 'Go home': gt 'homes_properties', 'go_home'
+			'You agree and put the ring on your finger. <<$npcdesc>> rejoices and happily hugs and kisses you.'
+			'<<$npcdesc>> says "Now you need to find a wedding dress."'
+
+			act 'Go looking for the dress':
+				cla
+				minut += 60
+				npc_love[$npcID] = 3
+				'You get into a taxi with your soon to be husband and go to the store to choose a dress. You choose an expensive and luxurious dress. <<$npcdesc>> pays for the purchase.'
+				'After a long day you feel tired and ask <<$npcdesc>> to drive you home, warning him that the next time you''ll meet you will get married.'
+				act 'Go home': gt 'homes_properties', 'go_home'
+			end
+		end
+
+		exit
+	elseif npc_love[$npcID] = 1:
+		if pcs_makeup > 1 and ($clothingworntype = 'fashionista_dress' or $clothingworntype = 'moncheri_gown' or $clothingworntype = 'moncheri_dress') and curly > 0:
+			if npc_gentle[$boy] = 1:
+				'<<$npcdesc>> looks very excited. He decides that you are now ready to meet his mother.'
+
+				act 'Meet the parents':gt 'love', 'mother'
+
+				exit
+			elseif npc_rough[$boy] = 0 and $pantyworntype ! 'none':
+				'<<$npcdesc>> examins you and decides that you are ready to meet his friends.'
+
+				act 'Meet his friends':gt 'love', 'frends'
+
+				exit
+			end
 		end
 	end
 
-	exit
 end
 
-if pcs_makeup > 1 and ($clothingworntype = 'fashionista_dress' or $clothingworntype = 'moncheri_gown' or $clothingworntype = 'moncheri_dress') and curly > 0 and loverlove[lover_number] = 1 and haraklover[lover_number] = 0:
-	'<<$loverdesc[lover_number]>> looks very excited. He decides that you are now ready to meet his mother.'
 
-	act 'Meet the parents':gt 'love', 'mother'
+if $ARGS[0] = 'marry':
+	if $husID ! '':
+		msg 'You are already married, this should not trigger!'
+	else
+		$husID = $ARGS[1]
+		$npc_rel_type[$husID] = 'husband'
+		npc_rel[$husID] = 100
+		spouseVars['marry_day'] = daystart
+		spouseVars['eat_day'] = daystart
+		!gs 'rings', 'wear', ???
+		PRinStyle = 1
+		PRinStyle2 = 1
+		stat['boyfriends_current'] -= 1
+		stat['husbands_current'] += 1
+	end
 
-	exit
-elseif pcs_makeup > 1 and ($clothingworntype = 'fashionista_dress' or $clothingworntype = 'moncheri_gown' or $clothingworntype = 'moncheri_dress') and curly > 0 and loverlove[lover_number] = 1 and haraklover[lover_number] = 1 and $pantyworntype ! 'none':
-	'<<$loverdesc[lover_number]>> examins you and decides that you are ready to meet his friends.'
+	!$husBody = $loverbod[lover_number]
+	!$husFat = $loverbod[lover_number]
+	!husbFin = npc_finance[$husID]
+	!loverlove[lover_number] = 0
+	!gs 'lover', 'remove_boyfriend', $husID
+end
 
-	act 'Meet his friends':gt 'love', 'frends'
+if $ARGS[0] = 'divorce':
+	npc_rel[$husID] = 0
+	npc_rel_type[$husID] = 'ex-husband'
+	$husID = ''
+	divorced += 1
+	if PRinStyle2 = 1:
+		!gs 'rings', 'strip'
+		PRinStyle = 0
+		PRinStyle2 = 0
+	end
 
-	exit
+	killvar 'spouseVars'
 end
 
---- lover_love ---------------------------------
 
+
+
+--- lover_love ---------------------------------

Plik diff jest za duży
+ 412 - 424
locations/lover_meet.qsrc


+ 432 - 335
locations/lover_pref.qsrc

@@ -1,33 +1,19 @@
 # lover_pref
 
-gs 'boyStat', $lover[lover_number]
-!!$boybody = 1 - tall, 2 - average, 3 - short
-$boybody = $loverbody[lover_number]
-!!$boybod = 1 - thin, 2 - athletic, 3 - chunky, 4 - fat
-$boybod = $loverbod[lover_number]
-$boyface = $loverface[lover_number]
-!! sexual force of 0 prior_to 2
-silaVag = loversilaVag[lover_number]
-!!security, is responsible for the money and requirements 0 beggar, 1 middle_peasant 2 rich
-finance = loverfinance[lover_number]
-!!check in appearance, a parameter vnesh
-vneshBoy = vneshlover[lover_number]
-$boyClo = $loverClo[lover_number]
+dynamic $npc_preferences[$npcID]
+
 
 
 !!0 - 0 to 2, 1 - 3 to 5, 2, 5 to 6
 
 !! These variables will be compared to the player value 'pcs_bmi'.
-figurBoy = figurlover[lover_number]
-
-
-if figurBoy = 0:
+if npc_pref_values['body_bmi_starving'] > 0 or npc_pref_values['body_bmi_underweight'] > 0:
 	figurePrefMin = 0
 	figurePrefMax = 18
-elseif figurBoy = 1:
+elseif npc_pref_values['body_bmi_normal'] > 0:
 	figurePrefMin = 19
 	figurePrefMax = 25
-elseif figurBoy = 2:
+elseif npc_pref_values['body_bmi_overweight'] > 0 or npc_pref_values['body_bmi_obese'] > 0:
 	figurePrefMin = 26
 	figurePrefMax = 77
 else
@@ -36,142 +22,50 @@ else
 end
 
 
-!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
-titBoy = titlover[lover_number]
-if titBoy = 0:
+
+if npc_pref_values['body_tits_small'] > 0:
 	titMin = 0
+	titMax = 1
+elseif npc_pref_values['body_tits_average'] > 0:
+	titMin = 2
 	titMax = 3
-elseif titBoy = 1:
-	titMin = 3
-	titMax = 4
-elseif titBoy = 2:
-	titMin = 5
+elseif npc_pref_values['body_tits_big'] > 0:
+	titMin = 4
+	titMax = 5
+elseif npc_pref_values['body_tits_big'] > 0:
+	titMin = 6
 	titMax = 999
 end
 
 
 !!favorite hair color 0 - black, 1 - brown, 2 - redhead, 3 - blonde
-hairBoy = hairlover[lover_number]
+if npc_pref_values['hair_color_black'] > 0:
+	hairBoy = 0
+elseif npc_pref_values['hair_color_brown'] > 0:
+	hairBoy = 1
+elseif npc_pref_values['hair_color_red'] > 0:
+	hairBoy = 2
+elseif npc_pref_values['hair_color_blonde'] > 0:
+	hairBoy = 3
+end
+
+
 !!character 0 - soft, 1 -norm 2 - aggressor
-harakBoy = haraklover[lover_number]
-!!perversity
-izvrat = loverizvrat[lover_number]
 husb_birth_year = year - boyage
 husbAge = boyage
 
 
 !!new preferences
 
-!!renaming perversity constant
-pervConstant = izvrat
-
-!!This is for clothing type preference
-!!0 - none, 1 - cheap, 2 - average, 3 - formal, 4 - fetish.
-clotTypePrefTmp = clotTypePref[lover_number]
-
-!!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 = clotQualPref[lover_number]
-
-!!Need to add modifiers based on breast size, where larger breasts end up forcing the player to show more cleavage than those with smaller breasts.
-!! 0 - no preference, 1 - 1 to 2 or neckline to moderate, 2 - 3 to 4 or heavy to severe, 3 - 5 to 7 or buldging to outpouring
-!! The breast size must be adjusted either when the action is being calculeted or we can base it on their ideal breast size :titBoy + 0/3 depending on the players breast size
-
-!! How much they want to see your chest USE THIS FOR NOW
-!! 0 - no preference, 1 - 1 neckline , 2 - 2 or moderate, 3 - 3 to 4 or heavy to severe
-!! It doesn''t matter if your poor or rich, everyone loves tits.
-clotTopPrefTmp = clotTopPref[lover_number]
-
-!!This part helps calculate the constant to add to the
-
-
-!!This is to set the max/min of the clotTop variables. This is so you dont need to go through the code changing individual numbers.
-if clotTopPrefTmp = 1:
-	clotTopMin = 1
-	clotTopMax = 4
-elseif clotTopPrefTmp = 2:
-	clotTopMin = 3
-	clotTopMax = 5
-elseif clotTopPrefTmp = 3:
-	clotTopMin = 5
-	clotTopMax = 7
-else
-	clotTopMin = 0
-	clotTopMax = 999
-end
-
-!!THIS IS THE EQUATION FOR THE TIT ADDITION
-if tits < 2:
-	titConstant = 0
-elseif tits >= 2 and tits < 4:
-	titConstant = 1
-elseif tits >= 4 and tits < 6:
-	titConstant = 2
-elseif tits >= 6:
-	titConstant = 3
-else
-	titConstant = 0
-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 5 units or knee to miniskirt, 3 - 5 units to 6 or slut to hoe.
-bottShorPrefTmp = bottShorPref[lover_number]
-
-
-!!This is to set the max/min of the bottShor variables. This is so you dont need to go through the code changing individual numbers.
-if bottShorPrefTmp = 1:
-	bottShorMin = 0
-	bottShorMax = 2
-elseif bottShorPrefTmp = 2:
-	bottShorMin = 3
-	bottShorMax = 5
-elseif bottShorPrefTmp = 3:
-	bottShorMin = 5
-	bottShorMax = 6
-else
-	bottShorMin = 0
-	bottShorMax = 999
-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.
-
-!!This is to set the max/min of the clotThinness variables. This is so you dont need to go through the code changing individual numbers.
-clotThinPrefTmp = clotThinPref[lover_number]
-if clotThinPrefTmp = 1:
-	clotThinMin = 0
-	clotThinMax = 2
-elseif clotThinPrefTmp = 2:
-	clotThinMin = 3
-	clotThinMax = 4
-elseif clotThinPrefTmp = 3:
-	clotThinMin = 4
-	clotThinMax = 6
-else
-	clotThinMin = 0
-	clotThinMax = 999
-end
-
-
-
-!!This is to find out if they want you to wear bimbo clothing
-!! 0 - no preference, 1 - Prefers bimbo clothing.
-bimbPrefTmp = bimbPref[lover_number]
-
 !!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 = pierPref[lover_number]
-
 !!This is to set the max min
-if pierPrefTmp = 1:
+if npc_pref_values['cosmetics_piercings_none'] > 0 or npc_pref_values['cosmetics_piercings_few'] > 0:
 	pierPrefTmpMin = 0
 	pierPrefTmpMax = 2
-elseif pierPrefTmp = 2:
+elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
 	pierPrefTmpMin = 3
 	pierPrefTmpMax = 5
-elseif pierPrefTmp = 3:
+elseif npc_pref_values['cosmetics_piercings_lot'] > 0:
 	pierPrefTmpMin = 6
 	pierPrefTmpMax = 999
 else
@@ -180,21 +74,15 @@ else
 end
 
 
-
-
 !!This is to find out if they want you to have tattoos.
-!! 0 - no preference, 1 - 0 to 2 tattoos, 2 - 3 to 5 tattoos, 3 - 6 or more tattoos.
-tattPrefTmp = tattPref[lover_number]
-
 !!This is to set the max min for tattoos
-
-if tattPrefTmp = 1:
+if npc_pref_values['cosmetics_tattoos_none'] > 0 or npc_pref_values['cosmetics_tattoos_few'] > 0:
 	tattPrefTmpMin = 0
 	tattPrefTmpMax = 2
-elseif tattPrefTmp = 2:
+elseif npc_pref_values['cosmetics_tattoos_multiple'] > 0:
 	tattPrefTmpMin = 3
 	tattPrefTmpMax = 5
-elseif tattPrefTmp = 3:
+elseif npc_pref_values['cosmetics_tattoos_lot'] > 0:
 	tattPrefTmpMin = 6
 	tattPrefTmpMax = 999
 else
@@ -203,13 +91,10 @@ else
 end
 
 !!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 = lipsPref[lover_number]
-
-if lipsPrefTmp = 1:
+if npc_pref_values['body_lips_normal'] > 0 or npc_pref_values['body_lips_plump'] > 0:
 	lipsPrefTmpMin = 2
 	lipsPrefTmpMax = 3
-elseif lipsPrefTmp = 2:
+elseif npc_pref_values['body_lips_big'] > 0 or npc_pref_values['body_lips_pillowy'] > 0:
 	lipsPrefTmpMin = 3
 	lipsPrefTmpMax = 99
 else
@@ -217,227 +102,439 @@ else
 	lipsPrefTmpMax = 99
 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 = bodyPref[lover_number]
-
-!!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)
-makePrefTmp = makePref[lover_number]
-
-
-!! This is to see if they like a ditz, average, or a smartypants
-!!0 - no preference, 1 - 1 to 30 intelligence, 2 - 30 to 85 intelligence, 3 - 85 + intelligence.
-IQPrefTmp = IQPref[lover_number]
-
 !!This is the new hair color preference
-!! 0 - black, 1 - brown, 2 - redhead, 3 - blonde, 4 - no preference,
-hairPref = hairBoy
-
-
-
-!!0 - none, 1 - cheap, 2 - average, 3 - formal, 4 - fetish.
-if clotTypePrefTmp = 0:
-	$clotTypePrefTmp = ''
-elseif clotTypePrefTmp = 1:
-	$clotTypePrefTmp = 'cheap'
-elseif clotTypePrefTmp = 2:
-	$clotTypePrefTmp = 'average'
-elseif clotTypePrefTmp = 3:
-	$clotTypePrefTmp = 'formal'
-elseif clotTypePrefTmp = 4:
-	$clotTypePrefTmp = 'fetish'
+if npc_pref_values['hair_color_black'] > 0:
+	$hairPref = 'black'
+elseif npc_pref_values['hair_color_brown'] > 0:
+	$hairPref = 'brown'
+elseif npc_pref_values['hair_color_red'] > 0:
+	$hairPref = 'redhead'
+elseif npc_pref_values['hair_color_blonde'] > 0:
+	$hairPref = 'blond'
+else
+	$hairPref = 'any color'
 end
 
-!! 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)
-if clotQualPrefTmp = 0:
-	$clotQualPrefTmp = 'any type of'
-elseif clotQualPrefTmp = 1:
-	$clotQualPrefTmp = 'anything but expensive'
-elseif clotQualPrefTmp = 2:
-	$clotQualPrefTmp = 'expensive'
+!!This are generic things your boyfriend will call you based on how much he likes you.
+if npc_rel[$npcID] > 80:
+	randchan = rand(0, 2)
+	if randchan = 0 and npc_gentle[$npcID] ! 1:
+		$giveNick = 'angel'
+	elseif randchan <= 1:
+		$giveNick = 'beautiful'
+	elseif randchan <= 2:
+		$giveNick = 'love'
+	end
+elseif npc_rel[$npcID] > 40:
+	randchan = rand(0, 1)
+	if randchan = 0:
+		$giveNick = 'babe'
+	elseif randchan = 1:
+		$giveNick = '<<$pcs_nickname>>'
+	end
+else
+	$giveNick = '<<$pcs_firstname>>'
 end
 
-!! 0 - no preference, 1 - 1 to 2 or neckline to moderate, 2 - 3 to 4 or heavy to severe, 3 - 5 to 7 or buldging to outpouring
-if clotTopPrefTmp = 0:
-	$clotTopPrefTmp = 'any amount of'
-elseif clotTopPrefTmp = 1:
-	$clotTopPrefTmp = 'a little bit of'
-elseif clotTopPrefTmp = 2:
-	$clotTopPrefTmp = 'a lot of'
-elseif clotTopPrefTmp = 3:
-	$clotTopPrefTmp = 'a huge amount of'
-end
 
-!! 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.
-if bottShorPrefTmp = 0:
-	$bottShorPrefTmp= 'any length'
-elseif bottShorPrefTmp = 1:
-	$bottShorPrefTmp= 'modest length'
-elseif bottShorPrefTmp = 2:
-	$bottShorPrefTmp= 'slightly short length'
-elseif bottShorPrefTmp = 3:
-	$bottShorPrefTmp= 'really short length'
-end
+!!Relies on the coupled arrays:
+!!	$loverPref = the preference in pcs_has_attr.					Example: hair_color_black
+!!	$loverPrefDesc = the description of the preference				Example: 'black'
+!!	$loverPrefDescInv = the inverse description of the preference	Example: 'black'
+if $ARGS[0] = 'choose_pref':
+	killvar 'LoverPrefResult'
 
-!! 0 - no preference, 1 - 0 to 2 (Conservative), 2 - 3 to 4 (Moderate), 3 - 4 to 6 (really thin)
-if clotThinPrefTmp = 0:
-	$clotThinPrefTmp= ''
-elseif clotThinPrefTmp = 1:
-	$clotThinPrefTmp= 'thick'
-elseif clotThinPrefTmp = 2:
-	$clotThinPrefTmp= 'a little thin'
-elseif clotThinPrefTmp = 3:
-	$clotThinPrefTmp= 'really thin or even see through'
-end
+	lp_max = arrsize('$LoverPref')
+	if lp_max = 0:
+		killvar 'lp_max'
+		exit
+	end
 
-!! 0 - no preference, 1 - Prefers bimbo clothing.
-if bimbPrefTmp = 0:
-	$bimboPref = ''
-else
-	$bimboPref = 'a bimbo'
-end
+	lp_i = 0
+	:choose_pref_loop
+		$temp_pref_trait = $LoverPref[lp_i]
+		if npc_pref_values[$temp_pref_trait] > 0:
+			if func('pcs_has_attr', $temp_pref_trait):
+				TempLoverPrefHasPos[] = lp_i
+			else
+				TempLoverPrefNotPos[] = lp_i
+			end
+		elseif npc_pref_values[$temp_pref_trait] < 0:
+			if func('pcs_has_attr', $temp_pref_trait):
+				TempLoverPrefHasNeg[] = lp_i
+			else
+				TempLoverPrefNotNeg[] = lp_i
+			end
+		else
+			if func('pcs_has_attr', $temp_pref_trait):
+				TempLoverPrefHasInd[] = lp_i
+			else
+				TempLoverPrefNotInd[] = lp_i
+			end
+		end
+		lp_i += 1
+	if lp_i < lp_max: jump 'choose_pref_loop'
+
+	if arrsize('TempLoverPrefHasPos') > 0:
+		lp_i = TempLoverPrefHasPos[rand(0, arrsize('TempLoverPrefHasPos') - 1)]
+		$LoverPrefResult['HasPos'] = $LoverPrefDesc[lp_i]
+		$LoverPrefResult['HasPosInv'] = $LoverPrefDescInv[lp_i]
+		killvar 'TempLoverPrefHasPos'
+	end
+	if arrsize('TempLoverPrefNotPos') > 0:
+		lp_i = TempLoverPrefNotPos[rand(0, arrsize('TempLoverPrefNotPos') - 1)]
+		$LoverPrefResult['NotPos'] = $LoverPrefDesc[lp_i]
+		$LoverPrefResult['NotPosInv'] = $LoverPrefDescInv[lp_i]
+		killvar 'TempLoverPrefNotPos'
+	end
+	if arrsize('TempLoverPrefHasNeg') > 0:
+		lp_i = TempLoverPrefHasNeg[rand(0, arrsize('TempLoverPrefHasNeg') - 1)]
+		$LoverPrefResult['HasNeg'] = $LoverPrefDesc[lp_i]
+		$LoverPrefResult['HasNegInv'] = $LoverPrefDescInv[lp_i]
+		killvar 'TempLoverPrefHasNeg'
+	end
+	if arrsize('TempLoverPrefNotNeg') > 0:
+		lp_i = TempLoverPrefNotNeg[rand(0, arrsize('TempLoverPrefNotNeg') - 1)]
+		$LoverPrefResult['NotNeg'] = $LoverPrefDesc[lp_i]
+		$LoverPrefResult['NotNegInv'] = $LoverPrefDescInv[lp_i]
+		killvar 'TempLoverPrefNotNeg'
+	end
+	if arrsize('TempLoverPrefHasInd') > 0:
+		lp_i = TempLoverPrefHasInd[rand(0, arrsize('TempLoverPrefHasInd') - 1)]
+		$LoverPrefResult['HasInd'] = $LoverPrefDesc[lp_i]
+		$LoverPrefResult['HasIndInv'] = $LoverPrefDescInv[lp_i]
+		killvar 'TempLoverPrefHasInd'
+	end
+	if arrsize('TempLoverPrefNotInd') > 0:
+		lp_i = TempLoverPrefNotInd[rand(0, arrsize('TempLoverPrefNotInd') - 1)]
+		$LoverPrefResult['NotInd'] = $LoverPrefDesc[lp_i]
+		$LoverPrefResult['NotIndInv'] = $LoverPrefDescInv[lp_i]
+		killvar 'TempLoverPrefNotInd'
+	end
 
-!! 0 - no preference, 1 - 0 to 2 piercings, 2 - 3 to 5 piercings, 3 - 6 or more piercings.
-if pierPrefTmp = 0:
-	$pierPrefTmp = 'any amount'
-elseif pierPrefTmp = 1:
-	$pierPrefTmp = 'a couple'
-elseif pierPrefTmp = 2:
-	$pierPrefTmp = 'a good amount'
-elseif pierPrefTmp = 3:
-	$pierPrefTmp = 'a lot'
+	killvar 'lp_i'
+	killvar 'lp_max'
 end
 
-!! 0 - no preference, 1 - 0 to 2 tattoos, 2 - 3 to 5 tattoos, 3 - 6 or more tattoos.
-if tattPrefTmp = 0:
-	$tattPrefTmp = 'any amount'
-elseif tattPrefTmp = 1:
-	$tattPrefTmp = 'a couple'
-elseif tattPrefTmp = 2:
-	$tattPrefTmp = 'a good amount'
-elseif tattPrefTmp = 3:
-	$tattPrefTmp = 'a lot'
-end
 
-!! 0 - no preference, 1 - 2 to 3 units (average) , 2 - 4 units (THIC lips)
-if lipsPrefTmp = 0:
-	$lipsPrefTmp = 'any sized lips'
-elseif lipsPrefTmp = 1:
-	$lipsPrefTmp = 'average-sized lips'
-elseif lipsPrefTmp = 2:
-	$lipsPrefTmp = 'thick lips'
+if $ARGS[0] = 'get_makeup_pref':
+	if npc_pref_values['cosmetics_makeup_light'] > 0:
+		$result = 'a subtle amount of'
+	elseif npc_pref_values['cosmetics_makeup_moderate'] > 0:
+		$result = 'a good amount of'
+	elseif npc_pref_values['cosmetics_makeup_heavy'] > 0:
+		$result = 'a slutty amount of'
+	else
+		$result = 'any amount of'
+	end
 end
 
-!!This is the Players lip description, this allows flexibility when writing
-if pcs_lip = 0:
-	$lipDesc = 'thin'
-elseif pcs_lip = 1:
-	$lipDesc = 'soft'
-elseif pcs_lip = 2:
-	$lipDesc = 'plump'
-elseif pcs_lip = 3:
-	$lipDesc = 'juicy'
-elseif pcs_lip = 4:
-	$lipDesc = 'thick'
+if $ARGS[0] = 'get_piercing_pref':
+	if npc_pref_values['cosmetics_piercing_none'] > 0 or npc_pref_values['cosmetics_piercing_few'] > 0:
+		if func('pcs_has_attr', 'OR', 'cosmetics_piercing_none', 'cosmetics_piercing_few'):
+			$result = 'the same amount of'
+		else
+			$result = 'less'
+		end
+	elseif npc_pref_values['cosmetics_piercing_multiple'] > 0:
+		if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+			$result = 'less'
+		elseif func('pcs_has_attr', 'cosmetics_piercing_multiple'):
+			$result = 'the same amount of'
+		else
+			$result = 'more'
+		end
+	elseif npc_pref_values['cosmetics_piercing_multiple'] > 0:
+		if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+			$result = 'the same amount of'
+		else
+			$result = 'more'
+		end
+	else
+		$result = 'the same amount of'
+	end
 end
 
 
 
-!! 0 - no preference, 1 - 1 to 3 units (Skinny) , 2 - 3 to 6 units (Average), 3 - 6 + units (THIC)
-if bodyPrefTmp = 0:
-	$bodyPrefTmp = 'any weight'
-elseif bodyPrefTmp = 1:
-	$bodyPrefTmp = 'should be skinny'
-elseif bodyPrefTmp = 2:
-	$bodyPrefTmp = ' should be not to skinny or fat'
-elseif bodyPrefTmp = 3:
-	$bodyPrefTmp = 'should be thick and curvy'
-end
 
-!! 0 - no preference, 1 - 1 (light makeup) , 2 - 2 (moderate makeup), 3 - 3(heavy makeup)
-if makePrefTmp = 0:
-	$makePrefTmp = 'any amount of makeup'
-elseif makePrefTmp = 1:
-	$makePrefTmp = 'a subtle amount of makeup'
-elseif makePrefTmp = 2:
-	$makePrefTmp = 'a good amount of makeup'
-elseif makePrefTmp = 3:
-	$makePrefTmp = 'a slutty amount of makeup'
-end
 
-!!0 - no preference, 1 - 1 to 30 intelligence, 2 - 30 to 85 intelligence, 3 - 85 + intelligence.
-if IQPrefTmp = 0:
-	$IQPrefTmp = 'nice'
-elseif IQPrefTmp = 1:
-	$IQPrefTmp = 'ditzy'
-elseif IQPrefTmp = 2:
-	$IQPrefTmp = 'with at least a little brain power'
-elseif IQPrefTmp = 3:
-	$IQPrefTmp = 'genius'
+
+
+
+if $ARGS[0] = 'check_piercings':
+	result = 0
+	lp_temp_check = 1
+	if result = 0 and npc_pref_values['cosmetics_piercings_none'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_piercings_none') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_piercings_few'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_piercings_few') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_piercings_multiple'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_piercings_multiple') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_piercings_lot'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_piercings_lot') = 1:
+			result = 1
+		end
+	end
+	if p_temp_check = 1:
+		!! no preferences means happy
+		result = 1
+	end
+	killvar 'lp_temp_check'
+	exit
 end
 
-!! 0 - black, 1 - brown, 2 - redhead, 3 - blonde, 4 - no preference,
-if hairPref = 0:
-	$hairPref = 'black'
-elseif hairPref = 1:
-	$hairPref = 'brown'
-elseif hairPref = 2:
-	$hairPref = 'redhead'
-elseif hairPref = 3:
-	$hairPref = 'blond'
-elseif hairPref = 4:
-	$hairPref = 'any color'
+if $ARGS[0] = 'get_pier_change':
+	$result = ''
+	if npc_pref_values['cosmetics_piercings_none'] > 0 or npc_pref_values['cosmetics_piercings_few'] > 0:
+		if func('pcs_has_attr', 'OR', 'cosmetics_piercings_none', 'cosmetics_piercings_few') = 0:
+			$result = 'decrease'
+		end
+	elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
+		if func('pcs_has_attr', 'OR', 'cosmetics_piercings_none', 'cosmetics_piercings_few'):
+			$result = 'increase'
+		elseif func('pcs_has_attr', 'cosmetics_piercings_lot'):
+			$result = 'decrease'
+		end
+	elseif npc_pref_values['cosmetics_piercings_lot'] > 0:
+		if func('pcs_has_attr', 'cosmetics_piercings_lot') = 0:
+			$result = 'increase'
+		end
+	end
 end
 
 
-!!0 - chest less 3, 1 breast 3-4, 2 breasts bigger 4
-if titBoy = 0:
-	$titBoy = 'petite breasts'
-elseif titBoy = 1:
-	$titBoy = 'good sized breasts'
-elseif titBoy = 2:
-	$titBoy = 'huge breasts'
+if $ARGS[0] = 'check_tattoos':
+	result = 0
+	lp_temp_check = 1
+	if result = 0 and npc_pref_values['cosmetics_tattoos_none'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_tattoos_none') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_tattoos_few'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_tattoos_few') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_tattoos_multiple'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_tattoos_multiple') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_tattoos_lot'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_tattoos_lot') = 1:
+			result = 1
+		end
+	end
+	if p_temp_check = 1:
+		!! no preferences means happy
+		result = 1
+	end
+	killvar 'lp_temp_check'
+	exit
 end
 
+if $ARGS[0] = 'check_makeup':
+	result = 0
+	lp_temp_check = 1
+	if result = 0 and npc_pref_values['cosmetics_makeup_light'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_makeup_light') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_makeup_moderate'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_makeup_moderate') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['cosmetics_makeup_heavy'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'cosmetics_makeup_heavy') = 1:
+			result = 1
+		end
+	end
+	if p_temp_check = 1:
+		!! no preferences means happy
+		result = 1
+	end
+	killvar 'lp_temp_check'
+	exit
+end
 
-!! mana , manamax * 50 / 100:
-
-if pcs_hairbsh = 1 and curly > 0:
-	loverrelation[lover_number] += 2
-	$meetHair = 'Your hair looks very beautiful.'
+if $ARGS[0] = 'check_haircol':
+	result = 0
+	lp_temp_check = 1
+	if result = 0 and npc_pref_values['hair_color_black'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'hair_color_black') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['hair_color_brown'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'hair_color_brown') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['hair_color_red'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'hair_color_red') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['hair_color_blonde'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'hair_color_blonde') = 1:
+			result = 1
+		end
+	end
+	if p_temp_check = 1:
+		!! no preferences means happy
+		result = 1
+	end
+	killvar 'lp_temp_check'
+	exit
 end
-if pcs_hairbsh = 1 and curly = 0:
-	loverrelation[lover_number] += 1
-	$meetHair = 'You have pretty hair today.'
+
+if $ARGS[0] = 'check_tits':
+	result = 0
+	lp_temp_check = 1
+	if result = 0 and npc_pref_values['body_tits_small'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_tits_small') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_tits_average'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_tits_average') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_tits_big'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_tits_big') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_tits_huge'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_tits_huge') = 1:
+			result = 1
+		end
+	end
+	if p_temp_check = 1:
+		!! no preferences means happy
+		result = 1
+	end
+	killvar 'lp_temp_check'
+	exit
 end
-if pcs_hairbsh < 1:
-	loverrelation[lover_number] -= 1
-	$meetHair = 'You look like you were in a hurry.'
+
+if $ARGS[0] = 'check_lips':
+	result = 0
+	lp_temp_check = 1
+	if result = 0 and npc_pref_values['body_lips_thin'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_lips_thin') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_lips_normal'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_lips_normal') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_lips_plump'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_lips_plump') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_lips_big'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_lips_big') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_lips_pillowy'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_lips_pillowy') = 1:
+			result = 1
+		end
+	end
+	if p_temp_check = 1:
+		!! no preferences means happy
+		result = 1
+	end
+	killvar 'lp_temp_check'
+	exit
 end
 
-!!This are generic things your boyfriend will call you based on how much he likes you.
-if loverrelation[lover_number] > 80:
-	randchan = rand(0,2)
-	if randchan = 0 and haraklover[lover_number] ! 0:
-		$giveNick = 'angel'
-	elseif randchan = 1:
-		$giveNick = 'beautiful'
-	elseif randchan = 2:
-		$giveNick = 'love'
+if $ARGS[0] = 'check_bmi':
+	result = 0
+	lp_temp_check = 1
+	if result = 0 and npc_pref_values['body_bmi_starving'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_bmi_starving') = 1:
+			result = 1
+		end
 	end
-elseif loverrelation[lover_number] > 20:
-	randchan = rand(0,1)
-	if randchan = 0:
-		$giveNick = 'babe'
-	elseif randchan = 1:
-		$giveNick = '<<$pcs_nickname>>'
+	if result = 0 and npc_pref_values['body_bmi_underweight'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'OR', 'body_bmi_starving', 'body_bmi_underweight') = 1:
+			result = 1
+		end
 	end
-else
-	$giveNick = '<<$pcs_firstname>>'
+	if result = 0 and npc_pref_values['body_bmi_normal'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'OR', 'body_bmi_starving', 'body_bmi_underweight', 'body_bmi_normal') = 1:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_bmi_overweight'] > 0:
+		lp_temp_check = 0
+		if func('pcs_has_attr', 'body_bmi_obese') = 0:
+			result = 1
+		end
+	end
+	if result = 0 and npc_pref_values['body_bmi_obese'] > 0:
+		lp_temp_check = 0
+		result = 1
+	end
+	if p_temp_check = 1:
+		!! no preferences means happy
+		result = 1
+	end
+	killvar 'lp_temp_check'
+	exit
 end
 
 
---- lover_pref ---------------------------------
 
+killvar '$npc_pref_traits'
+killvar 'npc_pref_values'
+
+
+--- lover_pref ---------------------------------

+ 0 - 23
locations/lover_pronouns.qsrc

@@ -1,23 +0,0 @@
-# lover_pronouns
-
-!! copy variables for easy of use in long texts
-if pcs_lovers[lover_number] = 1:
-	$tXe = $loverXe[lover_number] 						&! he/she
-	$tXec = $loverXec[lover_number] 					&! He/She
-	$tXem = $loverXem[lover_number] 					&! him/her
-	$tXemc = $loverXemc[lover_number] 					&! Him/Her
-	$tXyr = $loverXyr[lover_number] 					&! his/her
-	$tXyrc = $loverXyrc[lover_number] 					&! His/Her
-	$tXyrs = $loverXyrs[lover_number] 					&! his/hers
-	$tXyrsc = $loverXyrsc[lover_number] 				&! His/Hers
-	$tXemself = $loverXemself[lover_number] 			&! himself/herself
-	$tXemselfc = $loverXemselfc[lover_number]	 		&! Himself/Herself
-	$loverGenderName = 'man'
-	if loverGender[lover_number] = 1: $loverGenderName = 'woman'
-	$tBoyGirlfriend = 'boyfriend'
-	if loverGender[lover_number] = 1: $tBoyGirlfriend = 'girlfriend'
-end
-
-
---- lover_pronouns ---------------------------------
-

+ 3 - 3
locations/ludahome.qsrc

@@ -1022,7 +1022,7 @@ if $ARGS[0] = 'chat_luda':
 				act 'Keep talking': gt 'ludahome', 'chat_luda'
 				act 'Stop talking': gt 'ludahome', 'livingroom'
 			end
-			if NikoVolkovQW >= 5 or fedorKozlovQW >= 5 or kotovLoveQW = 1 or artemQW['bf'] = 1 or Rex_Love = 1 or IgorQW['Lover'] = 1 or (pcs_lover - pcs_girlfriends) > 0:
+			if NikoVolkovQW >= 5 or fedorKozlovQW >= 5 or kotovLoveQW = 1 or artemQW['bf'] = 1 or Rex_Love = 1 or IgorQW['Lover'] = 1 or stat['boyfriends_current'] > 0:
 				act 'I have a boyfriend':
 					*clr & cla
 					minut += 2
@@ -1097,9 +1097,9 @@ if $ARGS[0] = 'chat_luda':
 					end
 					i = 0
 					:lover_looop
-					if i < arrsize('lover'):
+					if i < arrsize('$lover'):
 						$temp_npcid = $lover[i]
-						if npc_gender[$temp_npcid] ! 1:
+						if $npc_rel_type[$temp_npcid] = 'boyfriend':
 							dynamic 'act ''<<$npc_usedname["<<$temp_npcid>>"]>>'': gt ''ludahome'', ''tell_about_generic_boyfreind'', $npc_usedname["<<$temp_npcid>>"]'
 						end
 						killvar '$temp_npcid'

+ 0 - 1
locations/mirafather.qsrc

@@ -7,7 +7,6 @@ $menu_loc = 'mirafather'
 $menu_arg = ''
 menu_off = 0
 gs 'boystat', 'A64'
-harakBoy = 1
 tempday = (npc_dob['A64'] mod 100)
 tempmonth = (((npc_dob['A64'] mod 10000) - tempday) / 100)
 tempyear = (((npc_dob['A64']) - (npc_dob['A64'] mod 10000)) / 10000)

+ 104 - 104
locations/mitkabuh.qsrc

@@ -12,7 +12,7 @@ if $ARGS[0] = '':
 	menu_off = 1
 	CLOSE ALL
 	gs 'stat'
-	
+
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/mitka_old_trailer.jpg"></center>'
 	*nl
 	if GadBoy['first_drink'] = 1:
@@ -30,7 +30,7 @@ if $ARGS[0] = '':
 		else
 			'You quickly head over to the bench and sit down before anyone else can claim it.'
 		end
-		
+
 		act 'Sit down outside':
 			if locat['A60'] = 42:
 				gt 'mitkabuh', 'partywithMira'
@@ -46,7 +46,7 @@ if $ARGS[0] = '':
 		else
 			'The inside of the trailer looks like last time, just with maybe a few more empty bottles and cups strewn about. You quickly head over to the best couch and sit down before anyone else can claim it.'
 		end
-		
+
 		act 'Go inside the trailer':
 			if locat['A60'] = 42:
 				gt 'mitkabuh', 'partywithMira'
@@ -62,19 +62,19 @@ if $ARGS[0] = 'partyalone':
 	$loc = 'mitkabuh'
 	$loc_arg = 'partyalone'
 	$location_type = 'indoors'
-	
+
 	$menu_loc = 'mitkabuh'
 	$menu_arg = 'partyalone'
-	menu_off = 0	
-	
+	menu_off = 0
+
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drunk.jpg"></center>'
 	*nl
 	'You, Mitka, Kolyamba and Vasyan are sitting on some '+iif(sunWeather=1,'logs outside','couches inside')+' the trailer. There is plenty of moonshine to go around but no snacks.'
-	
+
 	! prevent drinking events from repeating after sex is done because the passage of time in the sex events allowed alko to decrease again
 	if GadBoy['drunk_event'] = 1 and alko < 10: alko = 10
 	GadBoy['drinkday'] = daystart
-	
+
 	! Sveta is not drunk
 	if alko < 10:
 		gs 'willpower', 'drink', 'resist'
@@ -84,7 +84,7 @@ if $ARGS[0] = 'partyalone':
 				gs 'willpower', 'drink', 'resist'
 				gs 'willpower', 'pay', 'resist'
 				gs 'stat'
-				
+
 				gt 'gad_road', 'start'
 			end
 		else
@@ -99,7 +99,7 @@ if $ARGS[0] = 'partyalone':
 			npc_rel['A63'] += rand(0, 1)
 			gs 'drugs', 'alcohol', 'moonshine', 1
 			gs 'stat'
-			
+
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
 			*nl
 			'Mitka pours some of the brew into a clear plastic shot glass and hands it over to you.'
@@ -148,7 +148,7 @@ if $ARGS[0] = 'partyalone':
 					'As you are leaving the guys call after you "Hey, <<$pcs_nickname>>, come drink with us again, we love fucking you!! Ha-ha!" They laugh as you make your way out. You are too drunk to come up with a proper insult and just walk away.'
 				end
 			end
-			
+
 			act 'Leave': minut += 15 & gt 'gad_road', 'start'
 		end
 	! Sveta is drunk but hasn''t done anything to encourage Mitka yet
@@ -158,7 +158,7 @@ if $ARGS[0] = 'partyalone':
 		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big63.jpg"></center>'
 		*nl
 		'You are way too drunk, and can barely stand. Mitka, noticing your condition, walks over to you and laughs, "It seems you''ve had enough for tonight. Get out of here."'
-		
+
 		act 'Leave': minut += 15 & gt 'gad_road', 'start'
 	end
 end
@@ -174,15 +174,15 @@ if $ARGS[0] = 'partywithMira':
 
 	!start Mira''s quest
 	if MiraVars['QW'] = 0: MiraVars['QW'] = 1
-	
+
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drunk.jpg"></center>'
 	*nl
 	'You, Mira, Mitka, Kolyamba and Vasyan are sitting on some '+iif(sunWeather=1,'logs outside','couches inside')+' the trailer. There is plenty of moonshine to go around but no snacks.'
-	
+
 	! prevent drinking events from repeating after sex is done because the passage of time in the sex events allowed alko to decrease again
 	if GadBoy['drunk_event'] = 1 and alko < 10: alko = 10
 	if MiraVars['drunk_event'] = 1 and npc_drunk['A60'] < 10: npc_drunk['A60'] = 10
-	
+
 	! Sveta is drunk and Mira is drunk and boys fucked both already tonight
 	if npc_drunk['A60'] >= 10 and alko >= 10 and GadBoy['drunk_event'] = 1 and MiraVars['drunk_event'] = 1:
 		*clr & cla
@@ -201,7 +201,7 @@ if $ARGS[0] = 'partywithMira':
 			'You and Mira are both way too drunk and can barely stand. The guys tell you to leave, they already fucked you tonight, but to make sure to come back tomorrow for another round.'
 			'As you are leaving the guys call after you both "Hey, <<$pcs_nickname>> and Mira, come drink with us again, we love fucking you both!! Ha-ha!" They laugh as you make your way out. You are too drunk to come up with a proper insult and just walk away with Mira.'
 		end
-		
+
 		act 'Leave': minut += 15 & gt 'gad_road', 'start'
 	! Mira is drunk and not had sex with the boys or refused a drink yet tonight
 	elseif npc_drunk['A60'] >= 10 and MiraVars['drunk_event'] = 0:
@@ -230,7 +230,7 @@ if $ARGS[0] = 'partywithMira':
 						gs 'willpower', 'drink', 'resist'
 						gs 'willpower', 'pay', 'resist'
 						gs 'stat'
-						
+
 						gt 'gad_road', 'start'
 					end
 				else
@@ -245,7 +245,7 @@ if $ARGS[0] = 'partywithMira':
 					npc_rel['A63'] += rand(0, 1)
 					gs 'drugs', 'alcohol', 'moonshine', 1
 					gs 'stat'
-					
+
 					act 'Continue drinking':gt 'mitkabuh','partywithMira'
 				end
 			else
@@ -254,7 +254,7 @@ if $ARGS[0] = 'partywithMira':
 				*nl
 				'You and Mira are both way too drunk and can barely stand. You decide it is time to go for the night and you should walk home together.'
 				'As you are leaving you overhear the guys talking about you both, but can''t make out what they are saying.'
-				
+
 				act 'Leave': minut += 15 & gt 'gad_road', 'start'
 			end
 		end
@@ -297,20 +297,20 @@ if $ARGS[0] = 'partywithMira':
 						gs 'willpower', 'drink', 'force'
 						gs 'willpower', 'pay', 'force'
 						gs 'stat'
-						
+
 						act 'Continue drinking':gt 'mitkabuh','partywithMira'
 					end
 				else
 					act 'Make Mira drink the shot instead (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
-				
+
 			else
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/girls_go.jpg"></center>'
 				*nl
 				'You and Mira are both way too drunk and can barely stand. You decide it is time to go for the night and you should walk home together.'
 				'As you are leaving you overhear the guys talking about you both, but can''t make out what they are saying.'
-				
+
 				act 'Leave': minut += 15 & gt 'gad_road', 'start'
 			end
 		end
@@ -339,7 +339,7 @@ if $ARGS[0] = 'partywithMira':
 				npc_rel['A62'] += rand(0, 1)
 				npc_rel['A63'] += rand(0, 1)
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
 				*nl
 				'Mitka pours some of the brew into a clear plastic shot glass and hands it over to you.'
@@ -356,9 +356,9 @@ if $ARGS[0] = 'partywithMira':
 						gs 'willpower', 'drink', 'force'
 						gs 'willpower', 'pay', 'force'
 						gs 'stat'
-						
+
 						'Mira examines the glass''s contents for a moment, then gulps down the entire glass with a single toss of her head. Her eyes widen and she coughs a little, sucking in her breath with a smile. You chat with the boys as they drink as well.'
-						
+
 						act 'Continue drinking':gt 'mitkabuh','partywithMira'
 					end
 				else
@@ -373,7 +373,7 @@ if $ARGS[0] = 'partywithMira':
 					npc_rel['A63'] += rand(0, 1)
 					gs 'drugs', 'alcohol', 'moonshine', 1
 					gs 'stat'
-					
+
 					'You take the shot glass full of moonshine and quickly gulp it down, you cough and suck in your breath. Mira chats with the boys as they drink as well.'
 					'Mitka looks at you approvingly, "Good shit, right?"'
 					if GadBoy['first_drink'] = 1:
@@ -382,7 +382,7 @@ if $ARGS[0] = 'partywithMira':
 					else
 						'"Just as good as the last batch you made!" you reply.'
 					end
-					
+
 					act 'Continue drinking':gt 'mitkabuh','partywithMira'
 				end
 			end
@@ -395,7 +395,7 @@ if $ARGS[0] = 'partywithMira':
 					gs 'willpower', 'drink', 'resist'
 					gs 'willpower', 'pay', 'resist'
 					gs 'stat'
-					
+
 					gt 'gad_road', 'start'
 				end
 			else
@@ -411,7 +411,7 @@ if $ARGS[0] = 'partywithMira':
 				npc_rel['A63'] += rand(0, 1)
 				gs 'drugs', 'alcohol', 'moonshine', 1
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
 				*nl
 				'Mitka pours some of the brew into a clear plastic shot glass and hands it over to you.'
@@ -439,12 +439,12 @@ if $ARGS[0] = 'partywithMira':
 				minut += 15
 				npc_drunk['A60'] += 5
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drinking.jpg"></center>'
 				*nl
 				'Mitka pours some of the brew into a clear plastic shot glass and hands it over to Mira.'
 				'Mira examines the glass''s contents for a moment, then gulps down the entire glass with a single toss of her head. Her eyes widen and she coughs a little, sucking in her breath with a smile. You chat with the boys as they drink as well.'
-				
+
 				act 'Continue watching':gt 'mitkabuh','partywithMira'
 			end
 		end
@@ -490,7 +490,7 @@ if $ARGS[0] = 'solo_1to9':
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big63.jpg"></center>'
 	*nl
 	'You are way too drunk and can barely stand. Mitka, noticing your condition, grabs you by the waist. "Well, well little <<$pcs_nickname>>, had a bit too much to drink? Come with me."'
-	
+
 	temp_rand = rand(1, 10)
 	if (temp_rand = 1 or (temp_rand < 5 and stat['think_virgin'] = 0)) and mesec = 0:
 		act 'You nod and slur your words... mumbling something as you fall into his waiting arms':
@@ -509,7 +509,7 @@ if $ARGS[0] = 'solo_1to9':
 			end
 			'Mitka doesn''t bother to pull out and cums deep inside you. Breathing heavily, he gets off of you and says, "You''re an even better slut when drunk!"'
 			'He gets up and goes back to drinking with Kolyamba and Vasyan, leaving you naked on the bed. After a little while you sober up enough to get dressed and go sit back by the boys.'
-			
+
 			npc_rel['A63'] += 1
 			if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 			gs 'boyStat', 'A63'
@@ -518,25 +518,25 @@ if $ARGS[0] = 'solo_1to9':
 			gs 'arousal', 'vaginal', 20, 'sub'
 			gs 'arousal', 'end'
 			gs 'stat'
-			
+
 			gs 'mitkabuh', 'set_continue_acts'
 		end
 	elseif temp_rand < 9:
 		act 'You nod and slur your words... mumbling something as you fall into his waiting arms':
 			*clr & cla
-			
+
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabj.jpg"></center>'
 			*nl
 			'He takes you '+iif(sunWeather=1,'inside the trailer','into the bedroom of the trailer')+' and pushes you to your knees.'
 			'He makes you remove your clothes before he puts his cock in your mouth for you to suck on.'
-			
+
 			npc_rel['A63'] += 1
 			if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 			gs 'boyStat', 'A63'
 			npc_sex['A63'] += 1
 			gs 'arousal', 'bj', 10, 'sub'
 			gs 'stat'
-			
+
 			act 'Make him cum':
 				*clr & cla
 				temp_rand = rand(0,5)
@@ -545,7 +545,7 @@ if $ARGS[0] = 'solo_1to9':
 					*nl
 					'You are sucking his cock fiercely until suddenly warm cum starts to fill your mouth. Surprised, you pull his cock out of your mouth which continues to shoot cum onto your face and breasts.'
 					'He makes you lick his dick clean before he leaves you to go back to drinking with Kolyamba and Vasyan. After a little while you sober up enough to get dressed and go sit back by the boys.'
-					
+
 					minut += 5
 					gs 'cum_call','face','A63',1
 					gs 'cum_call','mouth','A63',1
@@ -556,7 +556,7 @@ if $ARGS[0] = 'solo_1to9':
 					'You tighten your lips and suck harder on Mitka''s cock. Your head bobs up and down as you cram as much of his cock as deep in your mouth and throat as you can take it.'
 					'Eventually, you feel Mitka''s cock pulse and a few seconds later your mouth is filled with his salty sperm. You quickly swallow it all down.'
 					'He makes you lick his dick clean before he leaves you to go back to drinking with Kolyamba and Vasyan. After a little while you sober up enough to get dressed and go sit back by the boys.'
-					
+
 					gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 					gs 'cum_call','mouth_swallow','A63',1
 				else
@@ -565,7 +565,7 @@ if $ARGS[0] = 'solo_1to9':
 					'Mitka, roughly grabs you by by the hair and face fucks you. All you can do is keep your mouth open as his cock hits the back of your throat.'
 					'As he gets close to cumming, he pulls your head back and starts to spurt warm sticky spunk all over your face and hair.'
 					'He makes you lick his dick clean before he leaves you to go back to drinking with Kolyamba and Vasyan. After a little while you sober up enough to get dressed and go sit back by the boys.'
-					
+
 					gs 'arousal', 'bj', 5, 'sub', 'deepthroat', 'rough'
 					gs 'cum_call','face','A63',1
 					gs 'cum_call','mouth_swallow','A63',1
@@ -594,7 +594,7 @@ if $ARGS[0] = 'solo_1to9':
 			end
 			'Mitka doesn''t bother to pull out and cums deep inside your ass. Breathing heavily, he gets off of you and says, "You''re an even better slut when drunk!"'
 			'He gets up and goes back to drinking with Kolyamba and Vasyan, leaving you naked on the bed. After a little while you sober up enough to get dressed and go sit back by the boys.'
-			
+
 			npc_rel['A63'] += 1
 			if npc_QW['A63'] < 10: npc_QW['A63'] += 1
 			gs 'boyStat', 'A63'
@@ -617,7 +617,7 @@ if $ARGS[0] = 'solo_10':
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big63.jpg"></center>'
 	*nl
 	'You are way too drunk and can barely stand. Mitka, noticing your condition, grabs you by the waist. "Well, well little <<$pcs_nickname>>, had a bit too much to drink? Come with me."'
-	
+
 	act 'You mumble something about needing to pee':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drunkgirl.jpg"></center>'
@@ -634,7 +634,7 @@ if $ARGS[0] = 'solo_10':
 			'You refuse, drunkenly trying to fight off the advancing Kolyamba while barely standing on your feet.'
 			'Your struggles piss Mitka off, who grabs you by the arm and leads you '+iif(sunWeather=1,'inside the trailer','into the bedroom of the trailer')+'.'
 			'Mitka whispers in your ear, "You want my dick so bad then you can have it this time. But, next time you will do as I say. Understand?"'
-			
+
 			act 'Moan in affirmation':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkasexnopublic.jpg"></center>'
@@ -642,7 +642,7 @@ if $ARGS[0] = 'solo_10':
 				'Mitka roughly rips all your clothes off, bends you over the bed and begins mercilessly pounding you. You''ve never seen him this way before, maybe everyone is just more drunk than usual and this will all blow over tomorrow.'
 				'All you can manage are moans as Mitka fucks you. They are so loud you are sure everyone else can hear you outside the bedroom. You can''t help but think to yourself that the other guys may start treating you differently after tonight.'
 				'He cums inside of you and then goes back to drinking with Kolyamba and Vasyan, leaving you naked on the bed. After a little while you sober up enough to get dressed and go sit back by the boys.'
-				
+
 				npc_rel['A63'] += 1
 				npc_rel['A61'] -= 5
 				npc_QW['A63'] = 11
@@ -669,7 +669,7 @@ if $ARGS[0] = 'solo_10':
 			'All you can manage are moans as Kolyamba fucks you, but you can''t help but think to yourself that the other guys may start treating you differently after tonight.'
 			'You are both so drunk that any type of rhythm is hard to maintain. Eventually Kolyamba speeds up a little and finishes inside of your '+iif(mesec=0,'pussy','ass')+'.'
 			'He gets up and goes back to drinking with Mitka and Vasyan, leaving you naked outside. After a little while you sober up enough to get dressed and go sit back by the boys.'
-			
+
 			npc_rel['A63'] += 1
 			npc_rel['A61'] += 5
 			npc_QW['A63'] = 11
@@ -710,7 +710,7 @@ if $ARGS[0] = 'solo_11andup_1boy':
 		*nl
 		'While you are drinking, <<$boydesc[0]>> comes up to you and takes the shot glass out of your hand. You can have this back after you do something for me.'
 		'"Get down on your knees and suck my dick." <<$boydesc[0]>> commands as he pulls his pants down.'
-		
+
 		act 'Suck his dick':
 			*clr & cla
 			npc_rel[$boy[0]] += 1
@@ -718,11 +718,11 @@ if $ARGS[0] = 'solo_11andup_1boy':
 			npc_sex[$boy[0]] += 1
 			gs 'arousal', 'bj', 10, 'sub'
 			gs 'stat'
-			
+
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjpublic.jpg"></center>'
 			*nl
 			'You kneel and take his cock in your mouth and it quickly stiffens as you lick it. You fit as much of it in your mouth as you can.'
-			
+
 			act 'Make him cum':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkagroupcum2.jpg"></center>'
@@ -734,7 +734,7 @@ if $ARGS[0] = 'solo_11andup_1boy':
 					money += 5
 				end
 				'He makes you lick his dick clean before he leaves you to go back to drinking again. After a little while you sober up enough to get dressed and go sit back by the boys.'
-				
+
 				gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 				gs 'cum_call','mouth_swallow',$boy[0],1
 				gs 'arousal', 'end'
@@ -757,7 +757,7 @@ if $ARGS[0] = 'solo_11andup_1boy':
 		*nl
 		'While you are drinking, <<$boydesc[0]>> comes up to you and takes the shot glass out of your hand. You can have this back after you do something for me.'
 		'"Bend over and let me fuck you." <<$boydesc[0]>> commands as he pulls his pants down.'
-		
+
 		act 'Bend over':
 			*clr & cla
 			npc_rel[$boy[0]] += 1
@@ -769,7 +769,7 @@ if $ARGS[0] = 'solo_11andup_1boy':
 				gs 'arousal', 'anal', 20, 'sub'
 			end
 			gs 'stat'
-			
+
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkasexpublic.jpg"></center>'
 			*nl
 			'<<$boydesc[0]>> bends you over a nearby log outside the trailer. He places one hand on your back to steady himself while guiding his dick into your '+iif(mesec=0,'pussy','ass')+'.'
@@ -785,7 +785,7 @@ if $ARGS[0] = 'solo_11andup_1boy':
 				money += 5
 			end
 			'He gets up and goes back to drinking again, leaving you alone outside. After a little while you sober up enough to get dressed and go sit back by the boys.'
-			
+
 			gs 'arousal', 'end'
 			gs 'stat'
 
@@ -821,7 +821,7 @@ if $ARGS[0] = 'solo_11andup_2boys':
 		*nl
 		'While you are drinking, <<$boydesc[0]>> and <<$boydesc[1]>> come up to you and takes the shot glass out of your hand. You can have this back after you do something for us.'
 		'"Get down on your knees and suck our dicks." <<$boydesc[0]>> commands as he pulls his pants down. <<$boydesc[1]>> quickly follows his lead and start getting his own dick out.'
-		
+
 		act 'Suck them one a time':
 			*clr & cla
 			npc_rel[$boy[0]] += 1
@@ -832,12 +832,12 @@ if $ARGS[0] = 'solo_11andup_2boys':
 			gs 'arousal', 'bj', 10, 'sub'
 			gang += 1
 			gs 'stat'
-			
+
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjpublicguys.jpg"></center>'
 			*nl
 			'As you bend over to suck <<$boydesc[0]>>''s cock, <<$boydesc[1]>> moves behind you and begins to finger your '+iif(mesec=0,'pussy','ass')+'.'
 			'After a few minutes they switch positions, each taking turns having you blow them while the other fingers you.'
-			
+
 			act 'Make them cum':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkabjpublicguys2.jpg"></center>'
@@ -849,7 +849,7 @@ if $ARGS[0] = 'solo_11andup_2boys':
 					money += 5
 				end
 				'They make you lick them both clean before going back to drinking again. After a little while you sober up enough to get dressed and go sit back by the boys.'
-				
+
 				gs 'arousal', 'bj', 5, 'sub', 'deepthroat'
 				gs 'cum_call','mouth_swallow',$boy[0],1
 				gs 'cum_call','mouth',$boy[1],1
@@ -878,7 +878,7 @@ if $ARGS[0] = 'solo_11andup_2boys':
 		*nl
 		'While you are drinking, <<$boydesc[0]>> and <<$boydesc[1]>> come up to you and takes the shot glass out of your hand. You can have this back after you do something for us.'
 		'"Let us double team you." <<$boydesc[0]>> commands as he pulls his pants down. <<$boydesc[1]>> quickly follows his lead and start getting his own dick out.'
-		
+
 		act 'Bend over for them':
 			*clr & cla
 			npc_rel[$boy[0]] += 1
@@ -894,7 +894,7 @@ if $ARGS[0] = 'solo_11andup_2boys':
 			end
 			gang += 1
 			gs 'stat'
-			
+
 			if sunWeather = 1:
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkapublicguys2.jpg"></center>'
 			else
@@ -911,7 +911,7 @@ if $ARGS[0] = 'solo_11andup_2boys':
 				money += 5
 			end
 			'They make you lick them both clean before going back to drinking again. After a little while you sober up enough to get dressed and go sit back by the boys.'
-			
+
 			if mesec = 0:
 				gs 'cum_call','vagina',$boy[0],1
 			else
@@ -936,14 +936,14 @@ if $ARGS[0] = 'solo_11andup_3boys':
 	*nl
 	'While you are drinking, Mitka, Kolyamba and Vasyan come up to you and take the shot glass out of your hand. You can have this back after you do something for us.'
 	'"Let us all gangbang you." Mitka commands as he pulls his pants down. Kolyamba and Vasyan quickly follow his lead and start getting their own dicks out.'
-	
+
 	act 'Smile at them':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkagroup.jpg"></center>'
 		*nl
 		'You have a seat on the bench outside the trailer and expose your breasts to the boys. This is all the encouragement the boys need as they quickly surround you.'
 		'You start jerking off Kolyamba and Vasyan while Mitka pushes his fingers into your '+iif(mesec=0,'pussy','ass')+'.'
-		
+
 		npc_rel['A63'] += 1
 		npc_rel['A62'] += 1
 		npc_rel['A61'] += 1
@@ -962,7 +962,7 @@ if $ARGS[0] = 'solo_11andup_3boys':
 			gs 'arousal', 'anal_finger', 5, 'sub', 'gangbang'
 		end
 		gs 'stat'
-		
+
 		act 'Get gangbanged':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkagroupcum.jpg"></center>'
@@ -977,7 +977,7 @@ if $ARGS[0] = 'solo_11andup_3boys':
 				money += 5
 			end
 			'The guys then go back to drinking and leave you naked and alone outside. After a little while you sober up enough to get dressed and go sit back by the boys.'
-			
+
 			gs 'arousal', 'hj', 10, 'sub', 'gangbang', 'rough'
 			gs 'arousal', 'bj', 10, 'sub', 'gangbang', 'rough'
 			if mesec = 0:
@@ -1012,17 +1012,17 @@ if $ARGS[0] = 'mira_5':
 	minut += 5
 	MiraVars['QW'] = 6
 	gs 'stat'
-	
+
 	gs 'miroslava','miraclothes'
 	*nl
 	'Mira is absolutely trashed now, she looks at you and winks before taking Mitka''s hand and leading him '+iif(sunWeather=1,'behind the trailer out of view ',' outside the trailer away')+' from the other boys.'
 	'A few minutes later, you excuse yourself from talking with Kolyamba and Vasyan and follow after them.'
-	
+
 	act 'Watch them':
 		*clr & cla
 		gs 'arousal', 'voyeur_sex', 15, 'sub'
 		gs 'stat'
-		
+
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirawish1_2.jpg"></center>'
 		*nl
 		'By the time you catch up and find a good hiding spot, Mitka and Mira have already started. Mira is naked, lying on a wooden table with her fit up in the air.'
@@ -1030,19 +1030,19 @@ if $ARGS[0] = 'mira_5':
 		'The loud sounds of Mitka''s thrusts can easily be heard from you where you are spying from. After 15 minutes Mira is wriggling her ass and mooing, having the time of her life.'
 		'This is too much for Mitka and he begins to noisily cum in her ass, not even bothering to pull out. He makes her clean his cock before heading back to drink with the other boys some more.'
 		'Mira looks around to try and spot you, but cannot see you in her drunk state.'
-		
+
 		act 'Talk to Mira':
 			*clr & cla
 			minut += 5
 			MiraVars['QW'] = 7
 			gs 'stat'
-			
+
 			gs 'miroslava','miraclothes'
 			*nl
 			'You emerge from your hiding spot and go up to Mira. You tell her that you saw everything as Mitka fucked her in the ass.'
 			'You ask her if she likes having her ass fucked. To your surprise, Mira responds that yes she did enjoy it.'
 			'You are slightly disappointed because this was supposed to be a punishment, and then remind her, that she still has two wishes to fullfill. Once they are all fullfilled, she will have satisfied her debt to you. Mira nods her head and says, she is ready to obey your wishes upon demand.'
-		
+
 			if sunWeather = 1:
 				act 'Go back to the trailer':gt 'mitkabuh','partywithMira'
 			else
@@ -1059,17 +1059,17 @@ if $ARGS[0] = 'mira_7':
 	minut += 5
 	MiraVars['QW'] = 8
 	gs 'stat'
-	
+
 	gs 'miroslava','miraclothes'
 	*nl
 	'"I''m bored!" Mitka yells. "Mira get your ass down and give us a show to remember!" he snorts like a pig. "Show us how how loose your holes are whore..."'
 	'Mira refuses. Mitka and the others immediately demand she follow their orders. She continues to refuse to do their bidding. Eventually Mira offers a compromise and they agree with it, she''ll just strip naked and be made to crawl around in front of them on all fours, portraying a dog...'
-		
+
 	act 'Watch her':
 		*clr & cla
 		gs 'arousal', 'erotic_nudity', 15, 'sub'
 		gs 'stat'
-		
+
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraqw15_1.jpg"></center>'
 		*nl
 		'Mira takes off all her clothes and for the next fifteen minutes crawls around on all fours on the grass, constantly rolling her head from side to side and barking a little. The guys laugh and drink as Mira demeans herself for their entertainment.'
@@ -1089,7 +1089,7 @@ if $ARGS[0] = 'mira_8':
 	minut += 5
 	MiraVars['QW'] = 9
 	gs 'stat'
-	
+
 	gs 'miroslava','miraclothes'
 	*nl
 	'"I''m bored!" Mitka yells. "Mira get your ass down and give us a show to remember!" he snorts like a pig. "Show us how how loose your holes are whore..."'
@@ -1099,7 +1099,7 @@ if $ARGS[0] = 'mira_8':
 		*clr & cla
 		gs 'arousal', 'voyeur_sex', 15, 'sub'
 		gs 'stat'
-		
+
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw15.jpg"></center>'
 		*nl
 		'Mira gets down on all fours and sticks out her ass in the direction of the party. She begins to push her fingers into both holes. Mira moans as she forces more fingers into her stretched holes.'
@@ -1120,65 +1120,65 @@ if $ARGS[0] = 'mira_9':
 	minut += 5
 	MiraVars['QW'] = 10
 	gs 'stat'
-	
+
 	gs 'miroslava','miraclothes'
 	*nl
 	'Mira is super drunk now and can barely stand but keeps asking for more moonshine. Vasyan comes over to her and says with a devilish grin on his face "I have a better idea. How about you service both mine and Kolyamba''s dicks instead? Then you can have more to drink."'
 	'Mira only chuckles in response and says, "Sure, but can you guys get it up with all the moonshine you have been drinking?" Mitka gives her a pat on the ass, and says that she is a responsible adult and can make up her own mind. Kolyamba meanwhile, walks over to Mira and forcefully presses down on her shoulders.'
 	'Mira, drunkenly giggles, and playfully resists for a few seconds, but eventually gets on her knees. She watches as he unzips his pants and pulls them down to his ankles...'
-	
+
 	act 'Watch her and Kolyamba':
 		*clr & cla
 		gs 'arousal', 'voyeur_sex', 5, 'sub'
 		gs 'stat'
-		
+
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw10.jpg"></center>'
 		*nl
 		'Mira, seeing that his dick is not yet fully erect, immediately leans forward and swallows it down to the balls and begins to give him an excellent blowjob. Her lips slide over the skin, then sucking it fully into her mouth, then releasing the dick and licking the head and shaft. Kolyamba blissfully closes his eyes and enjoys Mira''s blowjob.'
 		if npc_QW['A63'] < 10: 'Mitka askes if you will do the same for him, but you snort and tell him no. Mitka looks disappointed, but hands you another shot glass full of moonshine.'
-		
+
 		act 'Continue':
 			*clr & cla
 			gs 'arousal', 'voyeur_sex', 5, 'sub'
 			gs 'stat'
-			
+
 			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw10_1.jpg"></center>'
 			*nl
 			'After a several minutes of Mira sucking on his cock, Kolyamba roughly pushes her mouth off his cock and he begins to shoot ropes of cum onto her face. Mira''s eyes are closed, she drunkenly mumbles, trying to act like a sexy pornstar, while slowly wiping her fingers across her face collecting the sperm. She then puts her fingers in her mouth and sucks them clean.'
-			
+
 			act 'Watch her and Vasyan':
 				*clr & cla
 				gs 'arousal', 'voyeur_sex', 5, 'sub'
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw10_2.jpg"></center>'
 				*nl
 				'"Well, now it''s my turn", says Vasyan and steps before Mira. She enthusiastically sucks him as well and he eventually cums on her tongue and in her mouth. She swallows his entire load.'
-				
+
 				act 'Watch her and Mitka':
 					*clr & cla
 					gs 'arousal', 'voyeur_sex', 5, 'sub'
 					gs 'stat'
-					
+
 					'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw10_3.jpg"></center>'
 					*nl
 					'Mitka, having drunk several shots himself already, silently walks over to Mira and without saying a word, signals for her to bend over. Mira, drunkenly staggers about for a few seconds before obediently turning her ass to him, and sliding her panties out of the way, exposing her wet cunt for all to see. Mitka pulls out his cock and places the head between her pussy lips, rubbing it up and down lubricating it with her juices.'
-					
+
 					act 'Continue':
 						*clr & cla
 						gs 'arousal', 'voyeur_sex', 10, 'sub'
 						gs 'stat'
-						
+
 						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw10_4.jpg"></center>'
 						'Mitka slaps her on the butt hard, leaving a red hand print on her ass. He roughly grabs her panties and pulls them down to her knees before starting to fuck her roughly. Mitka is extremely drunk and doesn''t last long at all, quickly cumming in her pussy. Mira sighs with a look of satisfaction on her face as she orgasms too. Your own crotch is on fire and all you want is to masturbate. The boys look at you and smile knowlingly, seeing your hand slightly touching your own crotch and rubbing your legs together. You need to get away before you lose control and ask the guys to fuck you too.'
-						
-						
+
+
 						act 'Talk to Mira':
 							*clr & cla
 							minut += 5
 							MiraVars['QW'] = 11
 							gs 'stat'
-							
+
 							gs 'miroslava','miraclothes'
 							*nl
 							'You don''t know where to begin, as you walk up to Mira. Mira is slowly coming back to her senses as she looks at herself and begins to blush.'
@@ -1187,7 +1187,7 @@ if $ARGS[0] = 'mira_9':
 							'But you were also drunk, and did not do what she did. Her face sinks with shame and she continues to look at the ground.'
 							'You manage to soothe her and tell her that, she should just bite the bullet and move on. Everything will be okay and you should just go back to drinking and having fun.'
 							'Mira thanks you for your support, but she still can''t bring herself to look at you.'
-						
+
 							if sunWeather = 1:
 								act 'Go back to the trailer':gt 'mitkabuh','partywithMira'
 							else
@@ -1208,20 +1208,20 @@ if $ARGS[0] = 'mira_11andup':
 	minut += 5
 	if MiraVars['QW'] < 15: MiraVars['QW'] += 1
 	gs 'stat'
-	
+
 	temp_rand = rand(1, 3)
 	if rand(0,1) = 0:
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraqw11_4.jpg"></center>'
 		*nl
 		'"Well Mira," Mirka says while smiling. "Are you ready to suck some cock?" - The other guys voice their agreement.'
 		'Mira blushes a bit but nods and obediently kneels down right where she was.'
-		
+
 		if temp_rand = 1:
 			act 'Watch her':
 				*clr & cla
 				gs 'arousal', 'voyeur_sex', 15, 'sub', 'group'
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw11_5.jpg"></center>'
 				*nl
 				'The boys immediately forget about you, as they surround Mira and pull out their cocks and present them to her. Mira starts to suck off all the guys and the sound of moans and loud slurping sounds interrupt the silence of the night. It does not take long for Mira to make the guys cum all over her.'
@@ -1229,7 +1229,7 @@ if $ARGS[0] = 'mira_11andup':
 					'After they''re done Mitka looks at Mira and says, "What are you waiting for? Oh right, money. You''ll do anything for a ruble. Here you go."'
 					'He takes a 5 ruble note out of his pocket and throws it at her, "Clean yourself up with that."'
 				end
-				
+
 				if sunWeather = 1:
 					act 'Go back to the trailer':gt 'mitkabuh','partywithMira'
 				else
@@ -1241,7 +1241,7 @@ if $ARGS[0] = 'mira_11andup':
 				*clr & cla
 				gs 'arousal', 'voyeur_sex', 15, 'sub', 'goup'
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw11_6.jpg"></center>'
 				*nl
 				'The boys immediately forget about you, as they surround Mira and take turns roughly fucking her mouth. She grunts and gags a lot, but they don''t pay attention, they continue to slam their cocks into her mouth and throat until they have all cum on her.'
@@ -1249,7 +1249,7 @@ if $ARGS[0] = 'mira_11andup':
 					'After they''re done Mitka looks at Mira and says, "What are you waiting for? Oh right, money. You''ll do anything for a ruble. Here you go."'
 					'He takes a 5 ruble note out of his pocket and throws it at her, "Clean yourself up with that."'
 				end
-				
+
 				if sunWeather = 1:
 					act 'Go back to the trailer':gt 'mitkabuh','partywithMira'
 				else
@@ -1261,7 +1261,7 @@ if $ARGS[0] = 'mira_11andup':
 				*clr & cla
 				gs 'arousal', 'voyeur_sex', 15, 'sub', 'group'
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw11_7.jpg"></center>'
 				*nl
 				'The boys immediately forget about you, as they surround Mira and take their cocks out. She starts sucking off each guy while jerking off the others with her free hands. Mira has gotten pretty good at this you think to yourself as the boys quickly climax and shoot their loads in her mouth.'
@@ -1269,7 +1269,7 @@ if $ARGS[0] = 'mira_11andup':
 					'After they''re done Mitka looks at Mira and says, "What are you waiting for? Oh right, money. You''ll do anything for a ruble. Here you go."'
 					'He takes a 5 ruble note out of his pocket and throws it at her, "Clean yourself up with that."'
 				end
-				
+
 				if sunWeather = 1:
 					act 'Go back to the trailer':gt 'mitkabuh','partywithMira'
 				else
@@ -1282,13 +1282,13 @@ if $ARGS[0] = 'mira_11andup':
 		*nl
 		'"Well Mira," Mitka says while smiling. "Are you ready to work that pussy?" - The other guys voice their agreement.'
 		'Mira drunkenly giggles in response, after which she readily pulls down her pants in front of the group, turns her back to them and then pulls down her panties. She bends forward displaying her pussy and ass for everyone to see.'
-		
+
 		if temp_rand = 1:
 			act 'Watch her':
 				*clr & cla
 				gs 'arousal', 'voyeur_sex', 15, 'sub'
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw11_1.jpg"></center>'
 				*nl
 				'Kolyamba is pleased with the show but wants more tonight. He pulls Mira aside, and orders her to work her cunt on his cock. He pulls off his pants and plops down waiting for her to obey. Mira jumps on top of him and starts to ride his cock until he cums inside of her.'
@@ -1296,7 +1296,7 @@ if $ARGS[0] = 'mira_11andup':
 					'After he''s done Kolyamba looks at Mira and says, "What are you waiting for? Oh right, money. You''ll do anything for a ruble. Here you go."'
 					'He takes a 5 ruble note out of his pocket and throws it at her, "Clean yourself up with that."'
 				end
-				
+
 				if sunWeather = 1:
 					act 'Go back to the trailer':gt 'mitkabuh','partywithMira'
 				else
@@ -1308,7 +1308,7 @@ if $ARGS[0] = 'mira_11andup':
 				*clr & cla
 				gs 'arousal', 'voyeur_sex', 15, 'sub'
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw11_2.jpg"></center>'
 				*nl
 				'Mitka grunts approvingly and takes the drunk Mira aside, where he pulls down his pants and shoves his cock into her exposed pussy. He fucks her for several a while until dumping his load into her pussy.'
@@ -1316,7 +1316,7 @@ if $ARGS[0] = 'mira_11andup':
 					'After he''s done Mitka looks at Mira and says, "What are you waiting for? Oh right, money. You''ll do anything for a ruble. Here you go."'
 					'He takes a 5 ruble note out of his pocket and throws it at her, "Clean yourself up with that."'
 				end
-				
+
 				if sunWeather = 1:
 					act 'Go back to the trailer':gt 'mitkabuh','partywithMira'
 				else
@@ -1328,7 +1328,7 @@ if $ARGS[0] = 'mira_11andup':
 				*clr & cla
 				gs 'arousal', 'voyeur_sex', 15, 'sub'
 				gs 'stat'
-				
+
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/miraqw11_3.jpg"></center>'
 				*nl
 				'Vasyan enjoys the show and asks Mira to follow him and take off her clothes. Mira looks at him for a second before complying with his order. Once completely naked Vasyan pulls off his pants and starts to fuck Mira. Vasyan, hoots and hollers as he roughly fucks Mira, acting like a cowboy. Eventally, he cums deep in her pussy.'
@@ -1336,7 +1336,7 @@ if $ARGS[0] = 'mira_11andup':
 					'After he''s done Vasyan looks at Mira and says, "What are you waiting for? Oh right, money. You''ll do anything for a ruble. Here you go."'
 					'He takes a 5 ruble note out of his pocket and throws it at her, "Clean yourself up with that."'
 				end
-				
+
 				if sunWeather = 1:
 					act 'Go back to the trailer': gt 'mitkabuh','partywithMira'
 				else

+ 24 - 24
locations/nastja.qsrc

@@ -145,7 +145,7 @@ if $ARGS[0] = 'pos8':
 	pcs_hydra += 30
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/anastasia/1shamp0.jpg"></center>'
-	'"Oh... Really? Well... alright, then let''s have some tea." Even though Nastya is taken aback at first, she quickly recovers and smiles at you reassuringly.' 
+	'"Oh... Really? Well... alright, then let''s have some tea." Even though Nastya is taken aback at first, she quickly recovers and smiles at you reassuringly.'
 	''
 	'The waitress brings you salads, tea and sweets and you have a nice, long chat with Nastya. Anastasia says that her father is a very powerful man in St. Petersburg and, as a result, she has been getting just about everything she could possibly want since she was a child. But that only made her appreciate the "simple pleasures" more: She tells you that she likes to be the center of attention.'
 	'Considering the outfit she wears, you have no trouble believing her. But with a stunning build such as hers, she wouldn''t have trouble attracting attention even if she dressed like a nun.'
@@ -163,7 +163,7 @@ if $ARGS[0] = 'pos8':
 
 		gs 'arousal', 'erotic', 60, 'exhibitionism'
 		gs 'stat'
-		
+
 		act 'Say goodbye and go home':gt 'city_residential'
 	end
 end
@@ -177,7 +177,7 @@ if $ARGS[0] = 'pos9':
 	'You two have a wonderful time. As you leave the cafe, Nastya insists that she pay the bill herself.  You go out and wait for a taxi but you can tell that Anastasia is a little tense and she soon tells you why.'
 	'Nastya: "<<$pcs_nickname>>, I REALLY have to pee... I''ll just go real quick by that fence behind the building, and you have to stand guard, okay?"'
 	'You: "Why make it so complicated? We can just go back into the cafe, you know?"'
-	'Nastya: "No, no, I can''t. I really gotta go, right now!"' 
+	'Nastya: "No, no, I can''t. I really gotta go, right now!"'
 	'With these words, she runs around the corner, leaving you confused and awkward.'
 
 	act 'No choice but to wait for Nastya...':
@@ -216,7 +216,7 @@ if $ARGS[0] = 'pos9':
 					gs 'arousal', 'flash', 5
 					gs 'arousal', 'end'
 					gs 'stat'
-		
+
 					act 'Run out and hop into a taxi with Nastya':gt 'city_residential'
 				end
 			end
@@ -234,7 +234,7 @@ if $ARGS[0] = 'pos9':
 			gs 'arousal', 'voyeur', 60, 'exhibitionism'
 			gs 'arousal', 'end'
 			gs 'stat'
-		
+
 			act 'Get a cab and go home':gt 'city_residential'
 		end
 	end
@@ -264,7 +264,7 @@ if $ARGS[0] = 'pos10':
 		gs 'arousal', 'erotic_nudity', 60, 'exhibitionism'
 		gs 'arousal', 'end'
 		gs 'stat'
-		
+
 		act 'Let the taxi take you home':gt 'city_residential'
 	end
 end
@@ -278,14 +278,14 @@ if $ARGS[0] = 'pos11':
 	'You tell Anastasia about your sexual experiences and you don''t hold back either. Everything you''ve done or had done to you that you''ve enjoyed is brought up and shared with this woman you only recently met, holding back virtually nothing about your female sex life. When you start talking, you''re half afraid you might scare her away but the topic is right up her alley. In fact, for every encounter you describe to her, she sees yours and raises you an equally or even more intimate and saucy detail about her sexual experiences with men.'
 	'"And sometimes, I like to have fun with women, too", she says with a wink, biting her lower lip.'
 	'You two have a wonderful time - maybe a little too much of it, because by the time you want to leave, you''re both having trouble getting up from the table, let along walking out of the cafe. Nastya insists that she pay the bill herself and don''t dare to protest, secretly grateful that you don''t have to fumble with your purse in your state. You stagger outside, arm in arm, and don''t break the embrace when you reach the street.'
-	'"<<$pcs_nickname>>, let''s take a walk along the shore", Nastya suggests. You don''t know if a walk is really in the cards for you but you wouldn''t mind that walk either.' 
+	'"<<$pcs_nickname>>, let''s take a walk along the shore", Nastya suggests. You don''t know if a walk is really in the cards for you but you wouldn''t mind that walk either.'
 
 	act 'Head down to the river.':
 		cls
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/characters/city/anastasia/1party3.jpg"></center>'
 		'You walk down a set of stairs to reach the river bank and stroll unevenly along the waterfront, talking and laughing, until your friend stops.'
-		'"Hey, how about we refresh ourselves a little bit? I haven''t gone swimming at all this summer."' 
+		'"Hey, how about we refresh ourselves a little bit? I haven''t gone swimming at all this summer."'
 		'"What? But the water''s gotta be freezing right now!", you protest but Nastya is already knee-deep in the water, squealing as she goes.'
 		'"Oh my god, it''s so cold!" "Told you so!", you call out, but Nastya only sticks her tongue out at you and gestures for you to follow her as she pulls off her dress to keep it from getting wet, showing you her boobs in the process.'
 		'You hesitate a little bit but you don''t want to be left behind, just because she does something slightly crazy, so you take your clothes off and go after her, playing around with her in the water in your wet underwear.'
@@ -293,18 +293,18 @@ if $ARGS[0] = 'pos11':
 
 		gs 'arousal', 'foreplay', 10, 'exhibitionism'
 		gs 'stat'
-		
+
 		act 'Splish splash':
 			cls
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/characters/city/anastasia/1party4.jpg"></center>'
 			'You don''t pay attention to your surroundings but, evidently, Nastya does because after a while, she covers her breasts and points somewhere a little down the river and exclaims: "Hey, there''s somebody watching us!"'
-			'Instead of terrifying you, that thought only serves to excite you in your drunk state and you reply: "Then let''s enjoy the attention!"' 
+			'Instead of terrifying you, that thought only serves to excite you in your drunk state and you reply: "Then let''s enjoy the attention!"'
 			'With these words, you tear off your bra and whirl it around like a lasso, revealing your breasts to Nastya and your audience. It''s all the encouragement she needs to drop her arm and give you and the world unrestricted access to her tits once again.'
 
 			gs 'arousal', 'flash', 5
 			gs 'stat'
-			
+
 			act 'Further':
 				cls
 				gs 'stat'
@@ -323,7 +323,7 @@ if $ARGS[0] = 'pos11':
 
 					gs 'arousal', 'end'
 					gs 'stat'
-					
+
 					act 'Let the taxi take you home':gt 'city_residential'
 				end
 			end
@@ -344,12 +344,12 @@ if $ARGS[0] = 'pos12':
 	''
 	'You: "Hello Nastya! How are you?"'
 	'Nastya: "Hi <<$pcs_nickname>>! I''m great, thanks for asking." There is a short, awkward pause before she continues with audible excitement: "Last Saturday was AMAZING. I couldn''t think of anything else since."'
-	'You sigh with relief and laugh: "Me neither. I loved it. We should go out again."' 
+	'You sigh with relief and laugh: "Me neither. I loved it. We should go out again."'
 	'Nastya: "How about today? I was going to go down to the beach, sunbathe, swim, show off my new bikini... Do you want to come?"'
 	'You: "Of course! I''ll meet you there in a bit."'
 	'Nastya: "I can''t wait."'
 
-	act 'Hang up':gt 'telefon', 'fin'
+	act 'Hang up': gt $loc, $loc_arg
 end
 
 if $ARGS[0] = 'pos13':
@@ -367,7 +367,7 @@ if $ARGS[0] = 'pos13':
 	'You spend the next half hour chatting, talking about this and that. Nastya reveals to you that she loves to be photographed. You fantasise about the two of you going out into the countryside and having an impromptu photo shoot.'
 	'She tells you that she has spare time on Saturdays and you should ring her if you want to do something any Saturday.'
 
-	act 'Hang up':gt 'telefon', 'fin'
+	act 'Hang up': gt $loc, $loc_arg
 end
 
 if $ARGS[0] = 'pos14':
@@ -394,7 +394,7 @@ if $ARGS[0] = 'pos15':
 	'You come to the booths and are not impressed. They definitely looked better in your memory.'
 	'Nastya: "Yeah... I definitely wouldn''t want to live in them." Nastya looks at them as if she expects them to crumble any moment.'
 	'You shrug: "Nothing we can do about it. Go get changed, I''ll wait for you."'
-	'Nastya raises an eyebrow at you. "What about you?"' 
+	'Nastya raises an eyebrow at you. "What about you?"'
 	'You: "I already put my swimsuit on at home."'
 	'"Smart", she comments and goes inside.'
 
@@ -413,7 +413,7 @@ if $ARGS[0] = 'pos16':
 	gs 'arousal', 'erotic_nudity', 10, 'exhibitionism'
 	gs 'arousal', 'end'
 	gs 'stat'
-		
+
 	act 'Find a good spot':gt 'nastja', 'pos17'
 end
 
@@ -426,7 +426,7 @@ if $ARGS[0] = 'pos17':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/anastasia/2bimbos.jpg"></center>'
 	'You have a great time on the beach: You swim and play around in the water, you sunbathe, reading, chatting or snoozing as you do, drink milkshakes that Nastya brought along from home and take a couple of photos with the lake in the background. It is a thoroughly enjoyable, exhausting time and you are starting to wonder if you shouldn''t go home soon when Nastya speaks up.'
-	'Nastya: "That girl we saw bathe naked earlier... Would you be able to do that? Like, undress in front of complete strangers?" That sly smile is back on her face as she asks you.' 
+	'Nastya: "That girl we saw bathe naked earlier... Would you be able to do that? Like, undress in front of complete strangers?" That sly smile is back on her face as she asks you.'
 	'You feel torn. On one hand, it''s scary and your modesty and self-consciousness hold you back - what would people think or say if you just up and undressed right here and now? But on the other hand, you DID fantasize about it earlier and your insides tingle at the thought of revealing yourself like that.'
 	if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
 
@@ -479,7 +479,7 @@ if $ARGS[0] = 'pos20':
 
 	gs 'arousal', 'flash', 20
 	gs 'stat'
-	
+
 	act 'Finish the game and return to your spot':gt 'nastja', 'pos21'
 end
 
@@ -497,7 +497,7 @@ if $ARGS[0] = 'pos21':
 
 	gs 'arousal', 'end'
 	gs 'stat'
-	
+
 	act 'Head home':gt 'city_residential'
 end
 
@@ -614,7 +614,7 @@ if $ARGS[0] = 'pos27':
 
 	gs 'arousal', 'flash', 5
 	gs 'stat'
-		
+
 	act 'Give him the money':gt 'nastja', 'pos28'
 end
 
@@ -632,7 +632,7 @@ if $ARGS[0] = 'pos28':
 
 	gs 'arousal', 'flash', 10
 	gs 'stat'
-	
+
 	act 'Close the door':gt 'nastja', 'pos30'
 end
 
@@ -650,7 +650,7 @@ if $ARGS[0] = 'pos29':
 
 	gs 'arousal', 'erotic', 10, 'exhibitionism'
 	gs 'stat'
-	
+
 	act 'Slam!':gt 'nastja', 'pos30'
 end
 
@@ -677,7 +677,7 @@ if $ARGS[0] = 'pos30':
 
 	gs 'arousal', 'end'
 	gs 'stat'
-	
+
 	act 'You are home alone again':gt 'korr'
 end
 

+ 512 - 0
locations/npcStat.qsrc

@@ -0,0 +1,512 @@
+# npcStat
+
+!! For setting the $npcID, $npcdesc, dick, $dick_girth, etc. with a single call for a npc
+!! Used for translating generated variables (like npc_haircol) to useable strings.
+!! Use with a gosub and match the ARGS[0] with the correct char
+!! A generated NPC would be gs 'boyStat', $npclastcalled
+!! Other NPCs may be called either by number if they are a static NPC, or by letter and number otherwise.
+!! eg. "gs 'boyStat', 'A56'" would call for Roma. Likewise, "gs 'boyStat', 'A56'" also calls for Roma.
+!! A second argument calls for multiple partners. They are output as stats1, stats2, stats3, and stats4, for a total of 5 stats.
+!! If ARGS[1] is not set it defaults to zero, so you can use the variables it sets with or without [0] e.g. dick or dick[0] are equivalent
+
+if ($ARGS[0] = '' and ARGS[0] > 0) or (isnum(mid($ARGS[0],1,1)) and val(mid($ARGS[0],1,1)) < 10):
+	npclastcalledn = iif($ARGS[1] ! '' and isnum($ARGS[0]), val($ARGS[0]), ARGS[0])
+	$npcStatVars['tempID'] = 'A' + npclastcalledn
+else
+	$npcStatVars['tempID'] = $ARGS[0]
+	!! {This error is for where something outside the range of possibility is specified. The calling code is broken. The exact thing specified will be announced.}
+	if isnum(mid($npcStatVars['tempID'], 2, 1)) and val(mid($npcStatVars['tempID'], 2, 1)) > 10:
+		MSG 'There has been an error in the $boy passing code. Please contact a developer with what you were doing prior to receiving this message so the error may be fixed. Error type: Improper value for boyStat. Calling <<$ARGS[0]>>'
+		$npcStatVars['tempID'] = 'D<<rand(0, 7)>>'
+	end
+end
+
+
+if mid($npcStatVars['tempID'], 1, 1) = 'A' or mid($npcStatVars['tempID'], 1, 1) = 'B' or mid($npcStatVars['tempID'],1,1) = 'C':
+	$npclastcalled = $npcStatVars['tempID']
+	npclastcalledn = val(mid($npcStatVars['tempID'], 2))
+	if isnum($npc_usedname[$npclastcalled]) or $npc_usedname[$npclastcalled] = '': $npc_usedname[$npclastcalled] = $npc_firstname[$npclastcalled] & !! this is a workaround which compensate incomplete settings in npc_static files, it can be removed later ...
+
+	npcStatVars['gender']				= npc_gender[$npclastcalled]
+	$npcStatVars['name']				= $npc_usedname[$npclastcalled]
+	npcStatVars['dick_length']			= npc_dick[$npclastcalled]
+	npcStatVars['dick_girth']			= npc_girth[$npclastcalled]
+	$npcStatVars['thdick']				= $npc_thdick[$npclastcalled]
+	$npcStatVars['dick_class']			= $npc_dick_class[$npclastcalled]
+	$npcStatVars['dick_desc']			= $npc_dick_desc[$npclastcalled]
+	$npcStatVars['thdick']				= $npc_thdick[$npclastcalled]
+	$npcStatVars['height_desc']			= $npc_height_desc[$npclastcalled]
+	$npcStatVars['height_desc_pref']	= $npc_height_desc_pref[$npclastcalled]
+	$npcStatVars['build_desc']			= $npc_build_desc[$npclastcalled]
+	$npcStatVars['build_desc_pref']		= $npc_build_desc_pref[$npclastcalled]
+
+	npcStatVars['sexskill']		= npc_sexskill[$npclastcalled]
+	npcStatVars['height']		= npc_height[$npclastcalled]
+	npcStatVars['weight']		= npc_weight[$npclastcalled]
+	npcStatVars['haircol']		= npc_haircol[$npclastcalled]
+	$npcStatVars['outfit']		= $npc_outfit[$npclastcalled]
+	$npcStatVars['occupation']	= $npc_occupation[$npclastcalled]
+	$npcStatVars['relation']	= $npc_rel_type[$npclastcalled]
+else
+	npclastcalledn = val(mid($npcStatVars['tempID'], 2))
+	npcStatVars['gender'] = 0
+	if npclastcalledn = 1:
+		$npcStatVars['name'] = 'a small sized man'
+		npcStatVars['dick_length'] = 10
+		npcStatVars['dick_girth'] = 9
+		npcStatVars['sexskill'] = rand(0, 50)
+	elseif npclastcalledn = 2:
+		$npcStatVars['name'] = 'a medium sized man'
+		npcStatVars['dick_length'] = 15
+		npcStatVars['dick_girth'] = 10
+		npcStatVars['sexskill'] = rand(30, 60)
+	elseif npclastcalledn = 3:
+		$npcStatVars['name'] = 'a large sized man'
+		npcStatVars['dick_length'] = 20
+		npcStatVars['dick_girth'] = 11
+		npcStatVars['sexskill'] = rand(40, 60)
+	elseif npclastcalledn = 4:
+		$npcStatVars['name'] = 'a huge sized man'
+		npcStatVars['dick_length'] = 25
+		npcStatVars['dick_girth'] = 12
+		npcStatVars['sexskill'] = rand(35, 70)
+	elseif npclastcalledn = 5:
+		$npcStatVars['name'] = 'a giant sized man'
+		npcStatVars['dick_length'] = 30
+		npcStatVars['dick_girth'] = 13
+		npcStatVars['sexskill'] = rand(30, 80)
+	elseif npclastcalledn = 6:
+		$npcStatVars['name'] = 'a humongous sized man'
+		npcStatVars['dick_length'] = 35
+		npcStatVars['dick_girth'] = 14
+		npcStatVars['sexskill'] = rand(20, 90)
+	else
+		$npcStatVars['name'] = 'a horse sized man'
+		npcStatVars['dick_length'] = 40
+		npcStatVars['dick_girth'] = 15
+		npcStatVars['sexskill'] = rand(0, 100)
+	end
+	npcStatVars['height'] = rand(160, 180)
+	npcStatVars['weight'] = rand(45, 90)
+	npcStatVars['haircol'] = rand(0, 3)
+	$npcStatVars['occupation'] = ''
+	$npcStatVars['relation'] = 'stranger'
+end
+
+!! ----- PRONOUNS --------------------------------------------------
+
+if npcStatVars['gender'] = 0:
+	$npcStatVars['xe']			= 'he'
+	$npcStatVars['xec']			= 'He'
+	$npcStatVars['xem']			= 'him'
+	$npcStatVars['xemc']		= 'Him'
+	$npcStatVars['xyr']			= 'his'
+	$npcStatVars['xyrc']		= 'His'
+	$npcStatVars['xyrs']		= 'his'
+	$npcStatVars['xyrsc']		= 'His'
+	$npcStatVars['xemself']		= 'himself'
+	$npcStatVars['xemselfc']	= 'Himself'
+	$npcStatVars['person']		= 'man'
+	$npcStatVars['personc']		= 'Man'
+elseif npcStatVars['gender'] = 1:
+	$npcStatVars['xe']			= 'she'
+	$npcStatVars['xec']			= 'She'
+	$npcStatVars['xem']			= 'her'
+	$npcStatVars['xemc']		= 'Her'
+	$npcStatVars['xyr']			= 'her'
+	$npcStatVars['xyrc']		= 'Her'
+	$npcStatVars['xyrs']		= 'hers'
+	$npcStatVars['xyrsc']		= 'Hers'
+	$npcStatVars['xemself']		= 'herself'
+	$npcStatVars['xemselfc']	= 'Herself'
+	$npcStatVars['person']		= 'woman'
+	$npcStatVars['personc']		= 'Woman'
+elseif 1:
+	$npcStatVars['xe']			= 'they'
+	$npcStatVars['xec']			= 'They'
+	$npcStatVars['xem']			= 'them'
+	$npcStatVars['xemc']		= 'Them'
+	$npcStatVars['xyr']			= 'their'
+	$npcStatVars['xyrc']		= 'Their'
+	$npcStatVars['xyrs']		= 'theirs'
+	$npcStatVars['xyrsc']		= 'Theirs'
+	$npcStatVars['xemself']		= 'themself'
+	$npcStatVars['xemselfc']	= 'Themself'
+	$npcStatVars['person']		= 'person'
+	$npcStatVars['personc']		= 'Person'
+else
+	$npcStatVars['xe']			= 'xe'
+	$npcStatVars['xec']			= 'Xe'
+	$npcStatVars['xem']			= 'xem'
+	$npcStatVars['xemc']		= 'Xem'
+	$npcStatVars['xyr']			= 'xyr'
+	$npcStatVars['xyrc']		= 'Xyr'
+	$npcStatVars['xyrs']		= 'xyrs'
+	$npcStatVars['xyrsc']		= 'Xyrs'
+	$npcStatVars['xemself']		= 'xemself'
+	$npcStatVars['xemselfc']	= 'Xemself'
+	$npcStatVars['person']		= 'person'
+	$npcStatVars['personc']		= 'Person'
+end
+
+!! ===== PRONOUNS
+
+
+!! ----- HAIRCOLOR --------------------------------------------------
+
+if npcStatVars['haircol'] = 0:
+	$npcStatVars['hair'] = 'black'
+elseif npcStatVars['haircol'] = 1:
+	$npcStatVars['hair'] = iif(npcStatVars['gender'] = 0, 'brown', 'brunette')
+elseif npcStatVars['haircol'] = 2:
+	$npcStatVars['hair'] = 'red'
+else
+	$npcStatVars['hair'] = iif(npcStatVars['gender'] = 0, 'blond', 'blonde')
+end
+
+!! ===== HAIRCOLOR
+
+
+!! ----- CLOTHING --------------------------------------------------
+
+if $npcStatVars['outfit'] = '':
+	temp_rand = rand(0, 2)
+	if temp_rand = 0:
+		$npcStatVars['outfit'] = 'a tracksuit'
+	elseif temp_rand = 1:
+		$npcStatVars['outfit'] = 'jeans and a ' + iif(npcStatVars['gender'] = 0, 'sweater', 'blouse')
+	else
+		$npcStatVars['outfit'] = 'an expensive ' + iif(npcStatVars['gender'] = 0, 'suit', 'dress')
+	end
+	killvar 'temp_rand'
+end
+
+!! ===== CLOTHING
+
+
+
+$npcStatVars['pref_func'] = "$result = iif(strpos('aeiou', mid($ARGS[0], 1, 1)) > 0, 'an ', 'a ') + $ARGS[0]"
+
+
+
+!! ----- BODY --------------------------------------------------
+
+
+if npcStatVars['height'] = 0:
+	npcStatVars['bmi'] = 200
+else
+	npcStatVars['bmi'] = 100000 * npcStatVars['weight'] / (npcStatVars['height'] * npcStatVars['height'])
+end
+
+if npcStatVars['gender'] = 0:
+	npcStatVars['av_height'] = 175
+else
+	npcStatVars['av_height'] = 165
+end
+
+if $npcStatVars['height_desc'] = '' or $npcStatVars['height_desc_pref'] = '':
+	if npcStatVars['height'] < npcStatVars['av_height'] - 5:
+		temp_body = 1
+		$npcStatVars['height_desc'] = 'short'
+	elseif npcStatVars['height'] <= npcStatVars['av_height'] + 5:
+		temp_body = 2
+		$npcStatVars['height_desc'] = 'average'
+	else
+		temp_body = 3
+		$npcStatVars['height_desc'] = 'tall'
+	end
+end
+
+$npcStatVars['height_desc_pref'] = dyneval($npcStatVars['pref_func'], $npcStatVars['height_desc'])
+
+
+if $npcStatVars['build_desc'] = '' or $npcStatVars['build_desc_pref'] = '':
+	if npcStatVars['gender'] = 0:
+		if npcStatVars['bmi'] < 190:
+			$npcStatVars['build_desc'] = 'thin'
+		elseif npcStatVars['bmi'] < 225:
+			$npcStatVars['build_desc'] = 'athletic'
+		elseif npcStatVars['bmi'] < 250:
+			$npcStatVars['build_desc'] = 'chunky'
+		else
+			$npcStatVars['build_desc'] = 'fat'
+		end
+	else
+		if npcStatVars['bmi'] < 190:
+			if temp_body = 1:
+				$npcStatVars['build_desc'] = 'petite'
+			else
+				$npcStatVars['build_desc'] = 'slender'
+			end
+		elseif npcStatVars['bmi'] < 225:
+			$npcStatVars['build_desc'] = 'toned'
+		elseif npcStatVars['bmi'] < 250:
+			$npcStatVars['build_desc'] = 'average'
+		else
+			$npcStatVars['build_desc'] = 'chubby'
+		end
+	end
+end
+
+$npcStatVars['build_desc_pref'] = dyneval($npcStatVars['pref_func'], $npcStatVars['build_desc'])
+
+
+!! ===== BODY
+
+
+!! ----- DICK --------------------------------------------------
+
+if $npcStatVars['thdick']  = '':
+	if npcStatVars['dick_girth'] <= 9:
+		$npcStatVars['thdick'] = 'skinny'
+	elseif npcStatVars['dick_girth'] = 10:
+		$npcStatVars['thdick'] = 'slim'
+	elseif npcStatVars['dick_girth'] = 11:
+		$npcStatVars['thdick'] = 'well proportioned'
+	elseif npcStatVars['dick_girth'] = 12:
+		$npcStatVars['thdick'] = 'thicker than average'
+	elseif npcStatVars['dick_girth'] = 13:
+		$npcStatVars['thdick'] = 'thick'
+	elseif npcStatVars['dick_girth'] = 14:
+		$npcStatVars['thdick'] = 'massive'
+	else
+		$npcStatVars['thdick'] = 'monstrous'
+	end
+end
+
+$npcStatVars['thdick_pref'] = dyneval($npcStatVars['pref_func'], $npcStatVars['thdick'])
+
+
+
+!!	$npc_dick_desc is set here
+!!	this variable is to set a shorthand method of checking dick size without looking for specific numbers
+!!	it is organized by length and then ascending girth
+!!	$npc_dick_class is a fast way of determining size by category
+
+!! short dicks
+if $npcStatVars['dick_class'] = '' or $npcStatVars['dick_desc'] = '':
+	if npcStatVars['dick_length'] < 9:
+		$npcStatVars['dick_class'] = 'short'
+		if npcStatVars['dick_girth'] <= 2:
+			$npcStatVars['dick_desc'] = 'tiny'
+		elseif npcStatVars['dick_girth'] <= 4:
+			$npcStatVars['dick_desc'] = 'short'
+		else
+			$npcStatVars['dick_desc'] = 'chode'
+		end
+
+	!! average length dicks
+	elseif npcStatVars['dick_length'] < 15:
+		$npcStatVars['dick_class'] = 'average'
+		if npcStatVars['dick_girth'] <= 2:
+			$npcStatVars['dick_desc'] = 'skinny'
+		elseif npcStatVars['dick_girth'] <= 4:
+			$npcStatVars['dick_desc'] = 'normal'
+		else
+			$npcStatVars['dick_desc'] = 'thick'
+		end
+
+	!! long dicks
+	elseif npcStatVars['dick_length'] < 20:
+		$npcStatVars['dick_class'] = 'big'
+		if npcStatVars['dick_girth'] <= 2:
+			$npcStatVars['dick_desc'] = 'long'
+		elseif npcStatVars['dick_girth'] <= 4:
+			$npcStatVars['dick_desc'] = 'huge'
+		else
+			$npcStatVars['dick_desc'] = 'enormous'
+		end
+
+	!! extremely long dicks
+	else
+		$npcStatVars['dick_class'] = 'extra_big'
+		if npcStatVars['dick_girth'] <= 2:
+			$npcStatVars['dick_desc'] = 'lengthy'
+		elseif npcStatVars['dick_girth'] <= 4:
+			$npcStatVars['dick_desc'] = 'gigantic'
+		else
+			$npcStatVars['dick_desc'] = 'monster'
+		end
+	end
+end
+
+$npcStatVars['dick_desc_pref'] = dyneval($npcStatVars['pref_func'], $npcStatVars['dick_desc'])
+
+
+!! ===== Dick
+
+
+!! ----- WORK --------------------------------------------------
+
+if $npcStatVars['occupation'] = 'cashier_supermarket':
+	$npcStatVars['work'] = 'a cashier at a generic supermarket'
+elseif $npcStatVars['occupation'] = 'cashier_liquor':
+	$npcStatVars['work'] = 'a cashier at a liquor store'
+elseif $npcStatVars['occupation'] = 'cashier_coffee':
+	$npcStatVars['work'] = 'a cashier at a coffee shop'
+elseif $npcStatVars['occupation'] = 'barista':
+	$npcStatVars['work'] = 'a barista at a coffee shop'
+elseif $npcStatVars['occupation'] = 'fast_food':
+	$npcStatVars['work'] = 'a fast-food worker at a burger-chain'
+elseif $npcStatVars['occupation'] = 'taxi_driver':
+	$npcStatVars['work'] = 'a cab driver in the city'
+elseif $npcStatVars['occupation'] = 'masseuse':
+	$npcStatVars['work'] = 'a masseuse in the city'
+elseif $npcStatVars['occupation'] = 'masseuse_sexual':
+	$npcStatVars['work'] = 'a masseuse in the city'
+elseif $npcStatVars['occupation'] = 'factory':
+	$npcStatVars['work'] = 'a worker at the textile factory'
+elseif $npcStatVars['occupation'] = 'bartender':
+	$npcStatVars['work'] = 'a bartender'
+elseif $npcStatVars['occupation'] = 'mechanic':
+	$npcStatVars['work'] = 'a mechanic'
+elseif $npcStatVars['occupation'] =  'line_cook':
+	$npcStatVars['work'] = 'a line cook'
+elseif $npcStatVars['occupation'] = 'waiter':
+	$npcStatVars['work'] = 'a waiter at a restaurant downtown'
+elseif $npcStatVars['occupation'] = 'personal_trainer':
+	$npcStatVars['work'] = 'a personal trainer at the gym'
+elseif $npcStatVars['occupation'] = 'programmer':
+	$npcStatVars['work'] = 'a programmer'
+elseif $npcStatVars['occupation'] = 'pimp':
+	if npc_criminal_open = 1:
+		$npcStatVars['work'] = 'a pimp'
+	else
+
+	end
+elseif $npcStatVars['occupation'] = 'drug_dealer':
+	if npc_criminal_open = 1:
+		$npcStatVars['work'] = 'a drug dealer'
+	else
+		$npcStatVars['work'] = 'a pharmacist'
+	end
+elseif $npcStatVars['occupation'] = 'enforcer':
+	if npc_criminal_open = 1:
+		$npcStatVars['work'] = 'an enforcer for a gang'
+	else
+		$npcStatVars['work'] = 'a fixer'
+	end
+elseif $npcStatVars['occupation'] = 'thief':
+	if npc_criminal_open = 1:
+		$npcStatVars['work'] = 'a thief'
+	else
+		$npcStatVars['work'] = 'a salesman'
+	end
+elseif $npcStatVars['occupation'] = 'businessman':
+	$npcStatVars['work'] = 'a CEO of a car import business'
+elseif $npcStatVars['occupation'] = 'lawyer':
+	$npcStatVars['work'] = 'a partner at a lawfirm'
+elseif $npcStatVars['occupation'] = 'investment_banker':
+	$npcStatVars['work'] = 'an investment banker'
+end
+
+!! ===== WORK
+
+
+!! ----- RELATIONSHIP --------------------------------------------------
+
+
+if $npcStatVars['relation'] = 'sugar_daddy':
+	$npcStatVars['relat'] =  'daddy'
+elseif $npcStatVars['relation'] = '':
+	$npcStatVars['relat'] =  'stranger'
+else
+	$npcStatVars['relat'] = $npcStatVars['relation']
+end
+
+
+!! ===== WORK
+
+
+
+npcStat_i = strpos('abcdefghi', $ARGS[1])
+if $ARGS[1] ! '' and npcStat_i > 0:
+
+	dynamic "
+		npcStatCalled<<npcStat_i>>		= daystart
+		$npcID<<npcStat_i>>				= $npclastcalled
+		$npcdesc<<npcStat_i>>			= $npcStatVars['name']
+		dick_length<<npcStat_i>>		= npcStatVars['dick_length']
+
+		!! Depricated, leaving active for the forseeable future.
+		$boy<<npcStat_i>>				= $npclastcalled
+		$boydesc<<npcStat_i>>			= $npcStatVars['name']
+		dick<<npcStat_i>>				= npcStatVars['dick_length']
+
+		$dick_girth<<npcStat_i>>		= $npcStatVars['thdick']
+		$dick_girth_pref<<npcStat_i>>	= $npcStatVars['thdick_pref']
+		$dick_class<<npcStat_i>>		= $npcStatVars['dick_class']
+		$dick_desc<<npcStat_i>>			= $npcStatVars['dick_desc']
+		$dick_desc_pref<<npcStat_i>>	= $npcStatVars['dick_desc_pref']
+		silavag<<npcStat_i>>			= npcStatVars['sexskill']
+		$npchair<<npcStat_i>>			= $npcStatVars['hair']
+		$npcClo<<npcStat_i>>			= $npcStatVars['outfit']
+		$npcWork<<npcStat_i>>			= $npcStatVars['work']
+		$npcheight<<npcStat_i>>			= $npcStatVars['height_desc']
+		$npcheight_pref<<npcStat_i>>	= $npcStatVars['height_desc_pref']
+		$npcbuild<<npcStat_i>>			= $npcStatVars['build_desc']
+		$npcbuild_pref<<npcStat_i>>		= $npcStatVars['build_desc_pref']
+		$npcrelat<<npcStat_i>>			= $npcStatVars['relat']
+
+		$xe<<npcStat_i>>				= $npcStatVars['xe']
+		$xec<<npcStat_i>>				= $npcStatVars['xec']
+		$xem<<npcStat_i>>				= $npcStatVars['xem']
+		$xemc<<npcStat_i>>				= $npcStatVars['xemc']
+		$xyr<<npcStat_i>>				= $npcStatVars['xyr']
+		$xyrc<<npcStat_i>>				= $npcStatVars['xyrc']
+		$xyrs<<npcStat_i>>				= $npcStatVars['xyrs']
+		$xyrsc<<npcStat_i>>				= $npcStatVars['xyrsc']
+		$xemself<<npcStat_i>>			= $npcStatVars['xemself']
+		$xemselfc<<npcStat_i>>			= $npcStatVars['xemselfc']
+		$person<<npcStat_i>>			= $npcStatVars['person']
+		$personc<<npcStat_i>>			= $npcStatVars['personc']
+	"
+
+else
+	npcStat_i = iif($ARGS[1] ! '' and isnum($ARGS[1]), val($ARGS[1]), ARGS[1])
+
+	npcStatcalled[npcStat_i]	= daystart
+	$npcID[npcStat_i]			= $npclastcalled
+	$npcdesc[npcStat_i]			= $npcStatVars['name']
+	dick_length[npcStat_i]		= npcStatVars['dick_length']
+
+	!! Depricated, leaving active for the forseeable future.
+	$boy[npcStat_i]				= $npclastcalled
+	$boydesc[npcStat_i]			= $npcStatVars['name']
+	dick[npcStat_i]				= npcStatVars['dick_length']
+
+	$dick_girth[npcStat_i]		= $npcStatVars['thdick']
+	$dick_girth_pref[npcStat_i]	= $npcStatVars['thdick_pref']
+	$dick_class[npcStat_i]		= $npcStatVars['dick_class']
+	$dick_desc[npcStat_i]		= $npcStatVars['dick_desc']
+	$dick_desc_pref[npcStat_i]	= $npcStatVars['dick_desc_pref']
+	silavag[npcStat_i]			= npcStatVars['sexskill']
+	$npchair[npcStat_i]			= $npcStatVars['hair']
+	$npcClo[npcStat_i]			= $npcStatVars['outfit']
+	$npcWork[npcStat_i]			= $npcStatVars['work']
+	$npcheight[npcStat_i]		= $npcStatVars['height_desc']
+	$npcheight_pref[npcStat_i]	= $npcStatVars['height_desc_pref']
+	$npcbuild[npcStat_i]		= $npcStatVars['build_desc']
+	$npcbuild_pref[npcStat_i]	= $npcStatVars['build_desc_pref']
+	$npcrelat[npcStat_i]		= $npcStatVars['relat']
+
+	$xe[npcStat_i]				= $npcStatVars['xe']
+	$xec[npcStat_i]				= $npcStatVars['xec']
+	$xem[npcStat_i]				= $npcStatVars['xem']
+	$xemc[npcStat_i]			= $npcStatVars['xemc']
+	$xyr[npcStat_i]				= $pcStatVars['xyr']
+	$xyrc[npcStat_i]			= $pcStatVars['xyrc']
+	$xyrs[npcStat_i]			= $npcStatVars['xyrs']
+	$xyrsc[npcStat_i]			= $npcStatVars['xyrsc']
+	$xemself[npcStat_i]			= $npcStatVars['xemself']
+	$xemselfc[npcStat_i]		= $npcStatVars['xemselfc']
+	$person[npcStat_i]			= $npcStatVars['person']
+	$personc[npcStat_i]			= $npcStatVars['personc']
+end
+
+killvar 'npcStatVars'
+killvar 'npcStat_i'
+killvar 'npclastcalledn'
+
+
+--- npcStat --------------------------------------------------

+ 76 - 0
locations/npcStat_clean.qsrc

@@ -0,0 +1,76 @@
+# npcStat_clean
+
+npcStat_clean_i = arrsize('npcID')
+:npcStat_clean_loop1
+if npcStat_clean_i > 1 and npcStatCalled[npcStat_clean_i] < daystart - 2:
+	killvar '$boy',				npcStat_clean_i
+	killvar '$npcID',			npcStat_clean_i
+	killvar '$boydesc',			npcStat_clean_i
+	killvar '$npcdesc',			npcStat_clean_i
+	killvar 'dick',				npcStat_clean_i
+	killvar 'dick_length',		npcStat_clean_i
+	killvar '$dick_girth',		npcStat_clean_i
+	killvar '$dick_girth_pref',	npcStat_clean_i
+	killvar '$dick_class',		npcStat_clean_i
+	killvar '$dick_desc',		npcStat_clean_i
+	killvar '$dick_desc_pref',	npcStat_clean_i
+	killvar 'silavag',			npcStat_clean_i
+	killvar '$npchair',			npcStat_clean_i
+	killvar '$npcClo',			npcStat_clean_i
+	killvar '$npcbuild',		npcStat_clean_i
+	killvar '$npcbuild_pref',	npcStat_clean_i
+
+	killvar '$xe',				npcStat_clean_i
+	killvar '$xec',				npcStat_clean_i
+	killvar '$xem',				npcStat_clean_i
+	killvar '$xemc',			npcStat_clean_i
+	killvar '$xyr',				npcStat_clean_i
+	killvar '$xyrc',			npcStat_clean_i
+	killvar '$xyrs',			npcStat_clean_i
+	killvar '$xyrsc',			npcStat_clean_i
+	killvar '$xemself',			npcStat_clean_i
+	killvar '$xemselfc',		npcStat_clean_i
+	killvar '$person',			npcStat_clean_i
+	killvar '$personc',			npcStat_clean_i
+	npcStat_clean_i -= 1
+	jump 'npcStat_clean_loop1'
+end
+
+
+npcStat_clean_i = 1
+:npcStat_clean_loop2
+	dynamic "
+		if $npcID<<npcStat_clean_i>> ! '' and npcStatCalled<<npcStat_clean_i>> < daystart - 2:
+			killvar '$boy<<npcStat_clean_i>>'
+			killvar '$npcID<<npcStat_clean_i>>'
+			killvar '$boydesc<<npcStat_clean_i>>'
+			killvar '$npcdesc<<npcStat_clean_i>>'
+			killvar 'dick<<npcStat_clean_i>>'
+			killvar 'dick_length<<npcStat_clean_i>>'
+			killvar '$dick_girth<<npcStat_clean_i>>'
+			killvar '$dick_class<<npcStat_clean_i>>'
+			killvar '$dick_desc<<npcStat_clean_i>>'
+			killvar 'silavag<<npcStat_clean_i>>'
+			killvar '$npchair<<npcStat_clean_i>>'
+			killvar '$npcClo<<npcStat_clean_i>>'
+
+			killvar '$xe<<npcStat_clean_i>>'
+			killvar '$xec<<npcStat_clean_i>>'
+			killvar '$xem<<npcStat_clean_i>>'
+			killvar '$xemc<<npcStat_clean_i>>'
+			killvar '$xyr<<npcStat_clean_i>>'
+			killvar '$xyrc<<npcStat_clean_i>>'
+			killvar '$xyrs<<npcStat_clean_i>>'
+			killvar '$xyrsc<<npcStat_clean_i>>'
+			killvar '$xemself<<npcStat_clean_i>>'
+			killvar '$xemselfc<<npcStat_clean_i>>'
+			killvar '$person<<npcStat_clean_i>>'
+			killvar '$personc<<npcStat_clean_i>>'
+		end
+	"
+	npcStat_clean_i += 1
+if npcStat_clean_i < 9: jump 'npcStat_clean_loop2'
+
+killvar 'npc_Stat_clean_i'
+
+--- npcStat_clean ---------------------------------------

Plik diff jest za duży
+ 282 - 287
locations/npc_reactions.qsrc


+ 27 - 20
locations/npc_set_preference.qsrc

@@ -28,12 +28,12 @@ end
 !! $ARGS[0] = 'A***', 'B***', 'C***', etc.
 if isnum(mid($ARGS[0], 2)):
 
-	!!Dynamically create the $npc_pref_traits and npc_trait_values arrays
+	!!Dynamically create the $npc_pref_traits and npc_pref_values arrays
 	dynamic $npc_preferences[$ARGS[0]]
 
 	!! Example of these created arrays.
 	!!$npc_pref_traits: npc_pref_traits[i] = 'strong'
-	!!npc_trait_values: npc_trait_values['strong'] = -15
+	!!npc_pref_values: npc_pref_values['strong'] = -15
 
 	if $ARGS[2] = '':
 		temp_set_preference_trait_value = ARGS[2]
@@ -66,16 +66,16 @@ if isnum(mid($ARGS[0], 2)):
 		if arrsize('$npc_pref_traits') = 0:
 			!!replace(..., '	', '') is there to remove the tabs from the string.
 			$npc_preferences[$ARGS[0]] = replace({killvar '$npc_pref_traits'
-				killvar 'npc_trait_values'
+				killvar 'npc_pref_values'
 				$npc_pref_traits[] = } + "'<<$ARGS[1]>>'" + {
-				npc_trait_values} + "['<<$ARGS[1]>>'] = <<temp_set_preference_trait_value>>" + {
+				npc_pref_values} + "['<<$ARGS[1]>>'] = <<temp_set_preference_trait_value>>" + {
 			}, '	', '')
 
 		else
 			if preference_loop_index < arrsize('$npc_pref_traits'):
 				!!The npc already has a preference for the trait.
 				!!We overwrite the trait and then escape the preference_loop
-				npc_trait_values[$ARGS[1]] = temp_set_preference_trait_value
+				npc_pref_values[$ARGS[1]] = temp_set_preference_trait_value
 
 				!!Rebuild the $npc_pref....[$ARGS[0]] strings from the grounds up
 				gs 'npc_set_preference', 'rebuild_preferences', $ARGS[0]
@@ -84,7 +84,7 @@ if isnum(mid($ARGS[0], 2)):
 				!!We have checked that the npc has no preference for the trait.
 				!!We add the preference to the npc.
 				$npc_preferences[$ARGS[0]] += replace({$npc_pref_traits[] = } + "'<<$ARGS[1]>>'" + {
-					npc_trait_values} + "['<<$ARGS[1]>>'] = <<temp_set_preference_trait_value>>" + {
+					npc_pref_values} + "['<<$ARGS[1]>>'] = <<temp_set_preference_trait_value>>" + {
 				}, '	', '')
 			end
 		end
@@ -93,7 +93,7 @@ if isnum(mid($ARGS[0], 2)):
 		!! The trait exists and we are setting it to 0. Best just remove it entirely
 		if temp_preference_loop_index < arrsize('$npc_pref_traits'):
 			killvar '$npc_pref_traits', temp_preference_loop_index
-			gs 'shortgs', 'remove_array_element', 'npc_trait_values', $ARGS[1]
+			gs 'shortgs', 'remove_array_element', 'npc_pref_values', $ARGS[1]
 
 			!!Rebuild the $npc_pref....[$ARGS[0]] strings from the grounds up
 			gs 'npc_set_preference', 'rebuild_preferences', $ARGS[0]
@@ -102,7 +102,7 @@ if isnum(mid($ARGS[0], 2)):
 
 
 	killvar '$npc_pref_traits'
-	killvar 'npc_trait_values'
+	killvar 'npc_pref_values'
 
 	killvar 'preference_loop_index'
 
@@ -115,14 +115,14 @@ end
 if $ARGS[0] = 'rebuild_preferences':
 	!!Rebuild the $npc_pref....[$ARGS[1]] strings from the grounds up
 	$temp_npc_preferences = {killvar '$npc_pref_traits'
-		killvar 'npc_trait_values'
+		killvar 'npc_pref_values'
 	}
 
 	!!Loop over every preference and add it to the $npc_pref....[$ARGS[1]] strings.
 	rebuild_preferences_index = 0
 	:rebuild_preferences_loop
 		$temp_npc_preferences += {$npc_pref_traits[] = } + "'<<$npc_pref_traits[rebuild_preferences_index]>>'" + {
-			npc_trait_values} + "['<<$npc_pref_traits[rebuild_preferences_index]>>'] = <<npc_trait_values[rebuild_preferences_index]>>" + {
+			npc_pref_values} + "['<<$npc_pref_traits[rebuild_preferences_index]>>'] = <<npc_pref_values[rebuild_preferences_index]>>" + {
 		}
 
 		rebuild_preferences_index += 1
@@ -148,7 +148,7 @@ if $ARGS[0] = 'remove_preference':
 		if temp_set_preferences_trait_position ! -1:
 			!! Remove the preference from the array.
 			killvar '$npc_pref_traits', temp_set_preferences_trait_position
-			gs 'shortgs', 'remove_array_element', 'npc_trait_values', $ARGS[2]
+			gs 'shortgs', 'remove_array_element', 'npc_pref_values', $ARGS[2]
 
 			!! Then rebuild the dynamic string.
 			gs 'npc_set_preference', 'rebuild_preferences', $ARGS[1]
@@ -279,12 +279,6 @@ end
 !!				body_skin_bad
 !!				body_skin_normal
 !!				body_skin_good
-!!			strength:
-!!				body_strength_weak
-!!				body_strenght_normal
-!!				body_strenght_athletic
-!!				body_strenght_strong
-!!				body_strenght_manly
 !!			sweat:
 !!				body_sweat_none
 !!				body_sweat_sweaty
@@ -318,9 +312,9 @@ end
 !!
 !!		cosmetics:
 !!			cosmetics_deodorant
-!!			cosmetics_makeup
-!!			cosmetics_piercing
-!!			cosmetics_tattoo
+!!			cosmetics_makeup_any
+!!			cosmetics_piercing_visible
+!!			cosmetics_tattoo_visible
 !!
 !!		cum:
 !!			cum_clothes
@@ -348,6 +342,19 @@ end
 !!			hair_leg_not
 !!			hair_curly
 !!			hair_straight
+!!
+!!		stats:
+!!			intelligence
+!!				stats_intelligence_dumb
+!!				stats_intelligence_normal
+!!				stats_intelligence_smart
+!!			strength:
+!!				stats_strength_weak
+!!				stats_strength_normal
+!!				stats_strength_athletic
+!!				stats_strength_strong
+!!				stats_strength_manly
+
 
 
 

Plik diff jest za duży
+ 418 - 336
locations/npc_standard_preferences.qsrc


+ 148 - 67
locations/npccleanc.qsrc

@@ -4,76 +4,157 @@
 $tempcclean = $ARGS[0]
 
 if (mid($tempcclean, 1, 1) = 'B' or mid($tempcclean, 1, 1) = 'C'):
-
-	gs 'shortgs', 'remove_array_element', '$npc_firstname',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', '$npc_nickname',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_lastname',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_usedname',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_notes',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_pic',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_thdick',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_perstype',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_dna',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_occupation',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', 'npc_dob',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_gender',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_height',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_haircol',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_apprnc',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_dick',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_bust',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_spermpot',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_sexskill',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_drunk',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_horny',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', 'npc_rel',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_love',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_sex',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_QW',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', 'npc_herpes',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_syth',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_gon',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_thrush',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', 'npc_apt_type',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_apt_number',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_apt_bedroom',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_apt_kitchen',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_apt_livingroom',$tempcclean
-	gs 'shortgs', 'remove_array_element', '$npc_apt_bathroom',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', 'npc_perv',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_outfit',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_finance',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_intel',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_humor',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_fav_pos',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_tit_pref',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', 'npc_style',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_addit',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_doors',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_goal',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_fidelity',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_lover_days',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_lover_keys',$tempcclean
-	gs 'shortgs', 'remove_array_element', 'npc_residence',$tempcclean
-
-	gs 'shortgs', 'remove_array_element', '$npc_index',$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_index',				$tempcclean
+
+	gs 'shortgs', 'remove_array_element', 'npc_dob',				$tempcclean
+
+	gs 'shortgs', 'remove_array_element', 'npc_stren',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_agil',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_vital',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_intel',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_prcptn',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_react',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_chrsm',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sprt',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_magik',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sexskill',			$tempcclean
+
+	gs 'shortgs', 'remove_array_element', 'npc_gender',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_height',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_weight',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_dick',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_girth',				$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_thdick',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_dick_class',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_dick_desc',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_spermpot',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_notes',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_bust',				$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_height_desc',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_build_desc',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_haircol',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_icon',				$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_pic',				$tempcclean
+
+	gs 'shortgs', 'remove_array_element', '$npc_firstname',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_nickname',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_lastname',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_usedname',			$tempcclean
+
+	gs 'shortgs', 'remove_array_element', '$npc_residence',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_finance',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_start_free_time',	$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_end_free_time',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_work_start',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_work_end',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_student',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_apt_type',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_day_off',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_car',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_style',				$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_outfit',			$tempcclean
+
+	gs 'shortgs', 'remove_array_element', '$npc_apt_sparetype',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_apt_number',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_apt_bedroom',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_apt_kitchen',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_apt_livingroom',	$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_apt_bathroom',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_apt_hall',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_apt_spare',			$tempcclean
+
+	gs 'shortgs', 'remove_array_element', '$npc_occupation',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_criminal',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_criminal_open',		$tempcclean
+
+	gs 'shortgs', 'remove_array_element', '$npc_perstype',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_humor',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sexdrive',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_pervert',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_mj',					$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_addit',				$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_door_pref',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_rel_goal',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_fidelity',			$tempcclean
+
+	gs 'shortgs', 'remove_array_element', 'npc_earlyriser',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_latesleeper',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_generous',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_selfish',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_gentle',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_rough',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_diligent',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_risktaker',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_messy',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_neat',				$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_pubes',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_argumentative',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_assertive',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_willpwr',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_arrogant',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_competitive',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_insecure',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_gymrat',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_abusive',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_caretaker',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_condom_conscious',	$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_no_condoms',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_latex_allergy',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_fav_pos',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sex_speed',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sex_volume',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_gentle_lover',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_dirty_lover',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sensual_lover',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_cum_pref',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_bukakke_fetish',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_dislikes_facials',	$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_preferences',		$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_fav_body_part',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sex_stamina',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sex_spanker',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_childfree',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_pussyeater',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_cuddler',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_cum_cannon',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sex_filmer',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_two_pump',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_fav_date',			$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_fav_genre',			$tempcclean
+
+	gs 'shortgs', 'remove_array_element', 'npc_apprnc',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_hotcat',				$tempcclean
+
+	gs 'shortgs', 'remove_array_element', 'npc_drunk',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_horny',				$tempcclean
+
+	gs 'shortgs', 'remove_array_element', 'npc_lover_days',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_daygenerated',		$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_eventday',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_meetday',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_meethour',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_dates',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_compliance',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_lover_keys',			$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_QW',					$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_rel',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_love',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_sex',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_perv',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_herpes',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_syth',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_gon',				$tempcclean
+	gs 'shortgs', 'remove_array_element', 'npc_thrush',				$tempcclean
+	gs 'shortgs', 'remove_array_element', '$npc_dna',				$tempcclean
 end
 
-i = arrsize('$cemptyarray')
-$cemptyarray[i] = $tempcclean
-
-:clean_sanity_loop
-i = arrsize('$cemptyarray') 
-If i > 1 and $cemptyarray[0] = $cemptyarray[i]: killvar '$cemptyarray', i & jump 'clean_sanity_loop'
+!! if $tempcclean is not already in the $cemptyarray
+!!   add $tempcclean to the end of the $cemptyarray
+if arrpos('$cemptyarray', $tempcclean) < 0:
+	$cemptyarray[] = $tempcclean
+end
 
 killvar '$tempcclean'
 
---- npccleanc ---------------------------------
 
+--- npccleanc ---------------------------------

Plik diff jest za duży
+ 432 - 520
locations/npcgeneratec.qsrc


+ 143 - 149
locations/npcpreservec.qsrc

@@ -27,155 +27,149 @@ if mid($npctemp,1,1) = 'C':
 	killvar 'npc_scheck'
 
 	! {This copies the array from Array C to Array B}
-	$npc_firstname[$npclastsaved]		= $npc_firstname[$npctemp]
-	$npc_nickname[$npclastsaved]		= $npc_nickname[$npctemp]
-	$npc_lastname[$npclastsaved]		= $npc_lastname[$npctemp]
-	$npc_usedname[$npclastsaved]		= $npc_usedname[$npctemp]
-	$npc_notes[$npclastsaved]			= $npc_notes[$npctemp]
-	$npc_pic[$npclastsaved]				= $npc_pic[$npctemp]
-	lover_picrand[$npclastsaved]		= lover_picrand[$npctemp]
-
-	npc_age[$npclastsaved]				= npc_age[$npctemp]
-	npc_dob[$npclastsaved]				= npc_dob[$npctemp]
-	npc_gender[$npclastsaved]			= npc_gender[$npctemp]
-
-	npc_height[$npclastsaved]			= npc_height[$npctemp]
-! npc_body
-	npc_haircol[$npclastsaved]			= npc_haircol[$npctemp]
-	npc_apprnc[$npclastsaved]			= npc_apprnc[$npctemp]
-
-	npc_dick[$npclastsaved]				= npc_dick[$npctemp]
-	$npc_thdick[$npclastsaved]			= $npc_thdick[$npctemp]
-	npc_bust[$npclastsaved]				= npc_bust[$npctemp]
-	$npc_dick_desc[$npclastsaved]		= $npc_dick_desc[$npctemp]
-
-
-	npc_spermpot[$npclastsaved]			= npc_spermpot[$npctemp]
-	npc_sexskill[$npclastsaved]			= npc_sexskill[$npctemp]
-
-	npc_drunk[$npclastsaved]			= npc_drunk[$npctemp]
-	npc_horny[$npclastsaved]			= npc_horny[$npctemp]
-
-	npc_rel[$npclastsaved]				= npc_rel[$npctemp]
-	npc_love[$npclastsaved]				= npc_love[$npctemp]
-	npc_sex[$npclastsaved]				= npc_sex[$npctemp]
-	npc_QW[$npclastsaved]				= npc_QW[$npctemp]
-
-	$npc_perstype[$npclastsaved]		= $npc_perstype[$npctemp]
-	$npc_dna[$npclastsaved]				= $npc_dna[$npctemp]
-
-	npc_herpes[$npclastsaved]			= npc_herpes[$npctemp]
-	npc_syth[$npclastsaved]				= npc_syth[$npctemp]
-	npc_gon[$npclastsaved]				= npc_gon[$npctemp]
-	npc_thrush[$npclastsaved]			= npc_thrush[$npctemp]
-
-	npc_residence[$npclastsaved]		= npc_residence[$npctemp]
-	npc_apt_type[$npclastsaved]			= npc_apt_type[$npctemp]
-	npc_apt_number[$npclastsaved]		= npc_apt_number[$npctemp]
-
-	$npc_apt_bedroom[$npclastsaved]		= $npc_apt_bedroom[$npctemp]
-	$npc_apt_kitchen[$npclastsaved]		= $npc_apt_kitchen[$npctemp]
-	$npc_apt_livingroom[$npclastsaved]	= $npc_apt_livingroom[$npctemp]
-	$npc_apt_bathroom[$npclastsaved]	= $npc_apt_bathroom[$npctemp]
-	$npc_apt_hall[$npclastsaved]		= $npc_apt_hall[$npctemp]
-	if $npc_apt_spare[$npclastsaved]	! '':$npc_apt_spare[$npclastsaved] = $npc_apt_spare[$npctemp]
-
-	npc_perv[$npclastsaved]				= npc_perv[$npctemp]
-	npc_outfit[$npclastsaved]			= npc_outfit[$npctemp]
-	npc_finance[$npclastsaved]			= npc_finance[$npctemp]
-	npc_occupation[$npclastsaved]		= npc_occupation[$npctemp]
-	$npc_occupation[$npclastsaved]		= $npc_occupation[$npctemp]
-
-	npc_start_free_time[$npclastsaved]	= npc_start_free_time[$npctemp]
-	npc_end_free_time[$npclastsaved]	= npc_end_free_time[$npctemp]
-	npc_work_start[$npclastsaved]		= npc_work_start[$npctemp]
-	npc_work_end[$npclastsaved]			= npc_work_end[$npctemp]
-
-	npc_day_off[$npclastsaved]			= npc_day_off[$npctemp]
-
-	npc_car[$npclastsaved]  			= npc_car[$npctemp]
-	npc_intel[$npclastsaved]			= npc_intel[$npctemp]
-	npc_humor[$npclastsaved]			= npc_humor[$npctemp]
-
-	npc_style[$npclastsaved]			= npc_style[$npctemp]
-	npc_smoker[$npclastsaved]			= npc_smoker[$npctemp]
-	npc_mj[$npclastsaved]				= npc_mj[$npctemp]
-	npc_addit[$npclastsaved]			= npc_addit[$npctemp]
-	npc_doors[$npclastsaved]			= npc_doors[$npctemp]
-	npc_goal[$npclastsaved]				= npc_goal[$npctemp]
-	$npc_rel_goal[$npclastsaved]		= $npc_rel_goal[$npctemp]
-
-!!	relationship ideals/stats
-
-	npc_fidelity[$npclastsaved]			= npc_fidelity[$npctemp]
-	$npc_fidelity[$npclastsaved]		= $npc_fidelity[$npctemp]
-	npc_wife[$npclastsaved]				= npc_wife[$npctemp]
-	npc_girlfriend[$npclastsaved]		= npc_girlfriend[$npctemp]
-	npc_lover_days[$npclastsaved]		= npc_lover_days[$npctemp]
-	npc_lover_keys[$npclastsaved]		= npc_lover_keys[$npctemp]
-
-!!	traits
-
-	npc_earlyriser[$npclastsaved]		= npc_earlyriser[$npctemp]
-	npc_latesleeper[$npclastsaved]		= npc_latesleeper[$npctemp]
-	npc_generous[$npclastsaved]			= npc_generous[$npctemp]
-	npc_selfish[$npclastsaved]			= npc_selfish[$npctemp]
-	npc_gentle[$npclastsaved]			= npc_gentle[$npctemp]
-	npc_rough[$npclastsaved]			= npc_rough[$npctemp]
-	npc_risktaker[$npclastsaved]		= npc_risktaker[$npctemp]
-	npc_diligent[$npclastsaved]			= npc_diligent[$npctemp]
-	npc_neat[$npclastsaved]				= npc_neat[$npctemp]
-	npc_messy[$npclastsaved]			= npc_messy[$npctemp]
-	npc_diligent[$npclastsaved]			= npc_diligent[$npctemp]
-
-	npc_manscaped[$npclastsaved]		= npc_manscaped[$npctemp]
-	npc_argumentative[$npclastsaved]	= npc_argumentative[$npctemp]
-	npc_competitive[$npclastsaved]		= npc_competitive[$npctemp]
-	npc_insecure[$npclastsaved]			= npc_insecure[$npctemp]
-	npc_condom_conscious[$npclastsaved] = npc_condom_conscious[$npctemp]
-	npc_no_condoms[$npclastsaved]		= npc_no_condoms[$npctemp]
-	npc_latex_allergy[$npclastsaved]	= npc_latex_allergy[$npctemp]
-	npc_caretaker[$npclastsaved]		= npc_caretaker[$npctemp]
-	npc_childfree[$npclastsaved]		= npc_childfree[$npctemp]
-	npc_abusive[$npclastsaved]			= npc_abusive[$npctemp]
-
-	npc_cuddler[$npclastsaved]			= npc_cuddler[$npctemp]
-
-!!	sex traits and stats
-	npc_sexdrive[$npclastsaved]			= npc_sexdrive[$npctemp]
-	npc_sex_stamina[$npclastsaved]		= npc_sex_stamina[$npctemp]
-
-	npc_fav_pos[$npclastsaved]			= npc_fav_pos[$npctemp]
-	$npc_fav_pos[$npclastsaved]			= $npc_fav_pos[$npctemp]
-	npc_sex_speed[$npclastsaved]		= npc_sex_speed[$npctemp]
-	npc_sex_volume[$npclastsaved]		= npc_sex_volume[$npctemp]
-	npc_gentle_lover[$npclastsaved]		= npc_gentle_lover[$npctemp]
-	npc_dirty_lover[$npclastsaved]		= npc_dirty_lover[$npctemp]
-	npc_sensual_lover[$npclastsaved]	= npc_sensual_lover[$npctemp]
-	npc_cum_pref[$npclastsaved]			= npc_cum_pref[$npctemp]
-	$npc_cum_pref[$npclastsaved]		= $npc_cum_pref[$npctemp]
-	npc_bukakke_fetish[$npclastsaved]	= npc_bukakke_fetish[$npctemp]
-	npc_dislikes_facials[$npclastsaved]	= npc_dislikes_facials[$npctemp]
-	npc_tit_pref[$npclastsaved]			= npc_tit_pref[$npctemp]
-	npc_bush_pref[$npclastsaved]		= npc_bush_pref[$npctemp]
-	npc_sex_spanker[$npclastsaved]		= npc_sex_spanker[$npctemp]
-	npc_pussyeater[$npclastsaved]		= npc_pussyeater[$npctemp]
-	npc_cum_cannon[$npclastsaved]		= npc_cum_cannon[$npctemp]
-	npc_sex_filmer[$npclastsaved]		= npc_sex_filmer[$npctemp]
-	npc_know_bc[$npclastsaved]			= npc_know_bc[$npctemp]
-	npc_know_not_bc[$npclastsaved]		= npc_know_not_bc[$npctemp]
-	npc_thinkage[$npclastsaved]			= npc_thinkage[$npctemp]
-	$npc_know_pubes[$npclastsaved]		= $npc_know_pubes[$npctemp]
-	npc_hj_count[$npclastsaved]			= npc_hj_count[$npctemp]
-	npc_bj_count[$npclastsaved]			= npc_bj_count[$npctemp]
-	npc_fuck_times[$npclastsaved]		= npc_fuck_times[$npctemp]
-	virgin_taker_ID[$npclastsaved]		= virgin_taker_ID[$npctemp]
-
-	!! This checks if you have had sex with this person before or not
-	npc_sex[$npclastsaved]				= npc_sex[$npctemp]
-
-	$npc_index[$npclastsaved]			= $npclastsaved
-
+	$npc_index[$npclastsaved]				= $npclastsaved
+
+	npc_dob[$npclastsaved]					= npc_dob[$npctemp]
+
+	npc_stren[$npclastsaved]				= npc_stren[$npctemp]
+	npc_agil[$npclastsaved]					= npc_agil[$npctemp]
+	npc_vital[$npclastsaved]				= npc_vital[$npctemp]
+	npc_intel[$npclastsaved]				= npc_intel[$npctemp]
+	npc_prcptn[$npclastsaved]				= npc_prcptn[$npctemp]
+	npc_react[$npclastsaved]				= npc_react[$npctemp]
+	npc_chrsm[$npclastsaved]				= npc_chrsm[$npctemp]
+	npc_sprt[$npclastsaved]					= npc_sprt[$npctemp]
+	npc_magik[$npclastsaved]				= npc_magik[$npctemp]
+	npc_sexskill[$npclastsaved]				= npc_sexskill[$npctemp]
+
+	npc_gender[$npclastsaved]				= npc_gender[$npctemp]
+	npc_height[$npclastsaved]				= npc_height[$npctemp]
+	npc_weight[$npclastsaved]				= npc_weight[$npctemp]
+	npc_dick[$npclastsaved]					= npc_dick[$npctemp]
+	npc_girth[$npclastsaved]				= npc_girth[$npctemp]
+	$npc_thdick[$npclastsaved]				= $npc_thdick[$npctemp]
+	$npc_dick_class[$npclastsaved]			= $npc_dick_class[$npctemp]
+	$npc_dick_desc[$npclastsaved]			= $npc_dick_desc[$npctemp]
+	npc_spermpot[$npclastsaved]				= npc_spermpot[$npctemp]
+	$npc_notes[$npclastsaved]				= $npc_notes[$npctemp]
+	npc_bust[$npclastsaved]					= npc_bust[$npctemp]
+	$npc_height_desc[$npclastsaved]			= $npc_height_desc[$npctemp]
+	$npc_build_desc[$npclastsaved]			= $npc_build_desc[$npctemp]
+	npc_haircol[$npclastsaved]				= npc_haircol[$npctemp]
+	$npc_icon[$npclastsaved]				= $npc_icon[$npctemp]
+	$npc_pic[$npclastsaved]					= $npc_pic[$npctemp]
+
+	$npc_firstname[$npclastsaved]			= $npc_firstname[$npctemp]
+	$npc_nickname[$npclastsaved]			= $npc_nickname[$npctemp]
+	$npc_lastname[$npclastsaved]			= $npc_lastname[$npctemp]
+	$npc_usedname[$npclastsaved]			= $npc_usedname[$npctemp]
+
+	$npc_residence[$npclastsaved]			= $npc_residence[$npctemp]
+	npc_finance[$npclastsaved]				= npc_finance[$npctemp]
+	npc_start_free_time[$npclastsaved]		= npc_start_free_time[$npctemp]
+	npc_end_free_time[$npclastsaved]		= npc_end_free_time[$npctemp]
+	npc_work_start[$npclastsaved]			= npc_work_start[$npctemp]
+	npc_work_end[$npclastsaved]				= npc_work_end[$npctemp]
+	npc_student[$npclastsaved]				= npc_student[$npctemp]
+	npc_apt_type[$npclastsaved]				= npc_apt_type[$npctemp]
+	npc_day_off[$npclastsaved]				= npc_day_off[$npctemp]
+	npc_car[$npclastsaved]					= npc_car[$npctemp]
+	npc_style[$npclastsaved]				= npc_style[$npctemp]
+	$npc_outfit[$npclastsaved]				= $npc_outfit[$npctemp]
+
+	$npc_apt_sparetype[$npclastsaved]		= $npc_apt_sparetype[$npctemp]
+	npc_apt_number[$npclastsaved]			= npc_apt_number[$npctemp]
+	$npc_apt_bedroom[$npclastsaved]			= $npc_apt_bedroom[$npctemp]
+	$npc_apt_kitchen[$npclastsaved]			= $npc_apt_kitchen[$npctemp]
+	$npc_apt_livingroom[$npclastsaved]		= $npc_apt_livingroom[$npctemp]
+	$npc_apt_bathroom[$npclastsaved]		= $npc_apt_bathroom[$npctemp]
+	$npc_apt_hall[$npclastsaved]			= $npc_apt_hall[$npctemp]
+	$npc_apt_spare[$npclastsaved]			= $npc_apt_spare[$npctemp]
+
+	$npc_occupation[$npclastsaved]			= $npc_occupation[$npctemp]
+	npc_criminal[$npclastsaved]				= npc_criminal[$npctemp]
+	npc_criminal_open[$npclastsaved]		= npc_criminal_open[$npctemp]
+
+	$npc_perstype[$npclastsaved]			= $npc_perstype[$npctemp]
+	$npc_humor[$npclastsaved]				= $npc_humor[$npctemp]
+	npc_sexdrive[$npclastsaved]				= npc_sexdrive[$npctemp]
+	npc_pervert[$npclastsaved]				= npc_pervert[$npctemp]
+	npc_mj[$npclastsaved]					= npc_mj[$npctemp]
+	npc_addit[$npclastsaved]				= npc_addit[$npctemp]
+	$npc_door_pref[$npclastsaved]			= $npc_door_pref[$npctemp]
+	$npc_rel_goal[$npclastsaved]			= $npc_rel_goal[$npctemp]
+	$npc_fidelity[$npclastsaved]			= $npc_fidelity[$npctemp]
+!	npc_fidelity[$npclastsaved]				= npc_fidelity[$npctemp]
+
+	npc_earlyriser[$npclastsaved]			= npc_earlyriser[$npctemp]
+	npc_latesleeper[$npclastsaved]			= npc_latesleeper[$npctemp]
+	npc_generous[$npclastsaved]				= npc_generous[$npctemp]
+	npc_selfish[$npclastsaved]				= npc_selfish[$npctemp]
+	npc_gentle[$npclastsaved]				= npc_gentle[$npctemp]
+	npc_rough[$npclastsaved]				= npc_rough[$npctemp]
+	npc_diligent[$npclastsaved]				= npc_diligent[$npctemp]
+	npc_risktaker[$npclastsaved]			= npc_risktaker[$npctemp]
+	npc_messy[$npclastsaved]				= npc_messy[$npctemp]
+	npc_neat[$npclastsaved]					= npc_neat[$npctemp]
+	$npc_pubes[$npclastsaved]				= $npc_pubes[$npctemp]
+	npc_argumentative[$npclastsaved]		= npc_argumentative[$npctemp]
+	npc_assertive[$npclastsaved]			= npc_assertive[$npctemp]
+	npc_willpwr[$npclastsaved]				= npc_willpwr[$npctemp]
+	npc_arrogant[$npclastsaved]				= npc_arrogant[$npctemp]
+	npc_competitive[$npclastsaved]			= npc_competitive[$npctemp]
+	npc_insecure[$npclastsaved]				= npc_insecure[$npctemp]
+	npc_gymrat[$npclastsaved]				= npc_gymrat[$npctemp]
+	npc_abusive[$npclastsaved]				= npc_abusive[$npctemp]
+	npc_caretaker[$npclastsaved]			= npc_caretaker[$npctemp]
+	npc_condom_conscious[$npclastsaved]		= npc_condom_conscious[$npctemp]
+	npc_no_condoms[$npclastsaved]			= npc_no_condoms[$npctemp]
+	npc_latex_allergy[$npclastsaved]		= npc_latex_allergy[$npctemp]
+	$npc_fav_pos[$npclastsaved]				= $npc_fav_pos[$npctemp]
+	npc_sex_speed[$npclastsaved]			= npc_sex_speed[$npctemp]
+	npc_sex_volume[$npclastsaved]			= npc_sex_volume[$npctemp]
+	npc_gentle_lover[$npclastsaved]			= npc_gentle_lover[$npctemp]
+	npc_dirty_lover[$npclastsaved]			= npc_dirty_lover[$npctemp]
+	npc_sensual_lover[$npclastsaved]		= npc_sensual_lover[$npctemp]
+	$npc_cum_pref[$npclastsaved]			= $npc_cum_pref[$npctemp]
+	npc_bukakke_fetish[$npclastsaved]		= npc_bukakke_fetish[$npctemp]
+	npc_dislikes_facials[$npclastsaved]		= npc_dislikes_facials[$npctemp]
+	$npc_preferences[$npclastsaved]			= $npc_preferences[$npctemp]
+	$npc_fav_body_part[$npclastsaved]		= $npc_fav_body_part[$npctemp]
+	npc_sex_stamina[$npclastsaved]			= npc_sex_stamina[$npctemp]
+	npc_sex_spanker[$npclastsaved]			= npc_sex_spanker[$npctemp]
+	npc_childfree[$npclastsaved]			= npc_childfree[$npctemp]
+	npc_pussyeater[$npclastsaved]			= npc_pussyeater[$npctemp]
+	npc_cuddler[$npclastsaved]				= npc_cuddler[$npctemp]
+	npc_cum_cannon[$npclastsaved]			= npc_cum_cannon[$npctemp]
+	npc_sex_filmer[$npclastsaved]			= npc_sex_filmer[$npctemp]
+	npc_two_pump[$npclastsaved]				= npc_two_pump[$npctemp]
+	$npc_fav_date[$npclastsaved]			= $npc_fav_date[$npctemp]
+	$npc_fav_genre[$npclastsaved]			= $npc_fav_genre[$npctemp]
+
+	npc_apprnc[$npclastsaved]				= npc_apprnc[$npctemp]
+	npc_hotcat[$npclastsaved]				= npc_hotcat[$npctemp]
+
+	npc_drunk[$npclastsaved]				= npc_drunk[$npctemp]
+	npc_horny[$npclastsaved]				= npc_horny[$npctemp]
+
+	npc_lover_days[$npclastsaved]			= npc_lover_days[$npctemp]
+	npc_daygenerated[$npclastsaved]			= npc_daygenerated[$npctemp]
+	npc_eventday[$npclastsaved]				= npc_eventday[$npctemp]
+	npc_meetday[$npclastsaved]				= npc_meetday[$npctemp]
+	npc_meethour[$npclastsaved]				= npc_meethour[$npctemp]
+	npc_dates[$npclastsaved]				= npc_dates[$npctemp]
+	npc_compliance[$npclastsaved]			= npc_compliance[$npctemp]
+	npc_lover_keys[$npclastsaved]			= npc_lover_keys[$npctemp]
+	npc_QW[$npclastsaved]					= npc_QW[$npctemp]
+	npc_rel[$npclastsaved]					= npc_rel[$npctemp]
+	npc_love[$npclastsaved]					= npc_love[$npctemp]
+	npc_sex[$npclastsaved]					= npc_sex[$npctemp]
+	npc_perv[$npclastsaved]					= npc_perv[$npctemp]
+	npc_herpes[$npclastsaved]				= npc_herpes[$npctemp]
+	npc_syth[$npclastsaved]					= npc_syth[$npctemp]
+	npc_gon[$npclastsaved]					= npc_gon[$npctemp]
+	npc_thrush[$npclastsaved]				= npc_thrush[$npctemp]
+	$npc_dna[$npclastsaved]					= $npc_dna[$npctemp]
 
 
 	! {This checks the miscellanious arrays for the Entry and changes it to the new Array B.}

Plik diff jest za duży
+ 539 - 1058
locations/npcrnamefile.qsrc


+ 8 - 74
locations/npcstatic1.qsrc

@@ -53,6 +53,7 @@ npc_spermpot['A<<npctemp>>'] = 10000
 npc_horny['A<<npctemp>>'] = 0
 npc_apprnc['A<<npctemp>>'] = 0
 npc_height['A<<npctemp>>'] = 0
+npc_weight['A<<npctemp>>'] = 0
 npc_bust['A<<npctemp>>'] = 0
 npc_haircol['A<<npctemp>>'] = 0
 npc_QW['A<<npctemp>>'] = 0
@@ -60,12 +61,13 @@ npc_love['A<<npctemp>>'] = 0
 $npc_occupation['A<<npctemp>>'] = ''
 npc_outfit['A<<npctemp>>'] = 0
 $npc_pic['A<<npctemp>>'] = 'xPICx'
+$npc_icon['A<<npctemp>>'] = 'xICONx'
 npc_style['A<<npctemp>>'] = 0
 $npc_PersType['A<<npctemp>>'] = 'XXXX'
 npc_grupTipe['A<<npctemp>>'] = 0
 $npc_uni_eduType['A<<npctemp>>'] = ''
 npc_selfieon['A<<npctemp>>'] = 1
-$npc_selfie['A<<npctemp>>'] = '<a href="exec:numnpc = 1 & gt ''phone_selfies'', ''listretrieve2''"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></a>'
+$npc_selfie['A<<npctemp>>'] = '<a href="exec: gt ''phone_selfies'', ''listretrieve2'', ''A1''"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></a>'
 }
 
 
@@ -80,79 +82,7 @@ $npc_selfie['A<<npctemp>>'] = '<a href="exec:numnpc = 1 & gt ''phone_selfies'',
 
 !{
 gs 'npc_set_preference', 'reset', 'A<<npctemp>>'
-
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_ass_flat', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_ass_average', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_ass_big', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_ass_heart', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_ass_bubble', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_bmi_starving', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_bmi_underweight', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_bmi_normal', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_bmi_overweight', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_bmi_obese', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_lips_thin', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_lips_normal', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_lips_plump', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_lips_big', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_lips_pillowy', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_strength_weak', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_strength_normal', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_strength_athletic', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_strength_strong', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_strength_manly', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_sweat_none', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_sweat_sweaty', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_sweat_stinky', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_tits_small', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_tits_average', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_tits_big', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_tits_huge', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_fit', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_pregnant', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_tan', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'body_tan_not', 'neutral'
-
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_exposed_ass', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_exposed_bra', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_exposed_panties', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_exposed_pussy', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_exposed_tits', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_skirt_long', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_skirt_normal', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_skirt_short', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_style_bimbo', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_style_punk', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_style_goth', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'clothes_thin', 'neutral'
-
-gs 'npc_set_preference', 'A<<npctemp>>', 'cosmetics_deodorant', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'cosmetics_makeup', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'cosmetics_piercing', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'cosmetics_tattoo', 'neutral'
-
-gs 'npc_set_preference', 'A<<npctemp>>', 'cum_face', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'cum_clothes', 'neutral'
-
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_pubes_shaven', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_pubes_grown', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_pubes_styled', 'neutral'
-
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_color_black', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_color_brown', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_color_red', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_color_blonde', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_color_dyed', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_length_veryshort', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_length_short', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_length_chin', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_length_shoulder', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_length_bra', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_length_long', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_leg', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_leg_not', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_curly', 'neutral'
-gs 'npc_set_preference', 'A<<npctemp>>', 'hair_straight', 'neutral'
+gs 'npc_standard_preferences', 'A<<npctemp>>'
 }
 
 
@@ -174,6 +104,7 @@ gs 'npcstaticdefaults', 'group', 'coolkid'
 gs 'npcstaticdefaults', 'uni_type', 'business'
 
 $npc_thdick['A<<npctemp>>'] = 'thicker than average'
+!npc_girth['A<<npctemp>>'] = ???
 npc_dick['A<<npctemp>>'] = 16
 npc_sexskill['A<<npctemp>>'] =  1
 npc_rep['A<<npctemp>>'] = 260
@@ -181,7 +112,10 @@ npc_intel['A<<npctemp>>'] = 57
 npc_hotcat['A<<npctemp>>'] =  8
 !!height_metric = 180cm
 !!height_imperial = 5ft 11in
+!!npc_height['A<<npctemp>>'] = ....
+!!npc_weight['A<<npctemp>>'] = ....
 !!body_build = average
+!!npc_haircol = 1
 !!hair = brown
 
 gs 'npc_set_preference', 'reset', 'A<<npctemp>>'

+ 0 - 1
locations/npcstatic2.qsrc

@@ -75,7 +75,6 @@ gs 'npcstaticdefaults', 'group', 'family'
 
 $npc_thdick['A<<npctemp>>'] = 'massive'
 npc_dick['A<<npctemp>>'] = 18
-$npc_selfie['A<<npctemp>>'] = '<a href="exec:numnpc = 54 & gt ''phone_selfies'', ''listretrieve2''"><<$npc_usedname[''A54'']>>'
 npc_hotcat['A<<npctemp>>'] = 4
 
 

+ 6 - 1
locations/npcstatic4.qsrc

@@ -556,7 +556,12 @@ $npc_thdick['A<<npctemp>>'] = 'well proportioned'
 npc_dick['A<<npctemp>>'] = 16
 npc_sexskill['A<<npctemp>>'] = 2
 npc_hotcat['A<<npctemp>>'] = 6
-
+npc_finance['A<<npctemp>>'] = 1
+npc_height['A<<npctemp>>'] = 182
+npc_weight['A<<npctemp>>'] = 64
+npc_haircol['A<<npctemp>>'] = 1
+npc_pic['A<<npctemp>>'] = 'images/characters/shared/headshots_generic/31.jpg'
+npc_icon['A<<npctemp>>'] = 'images/system/phone/icons/icon_bf31.png'
 
 
 

+ 2 - 2
locations/npcstaticdefaults.qsrc

@@ -53,9 +53,9 @@ elseif $ARGS[0] = 'group':
 	npc_selfieon['A<<npctemp>>'] = 1
 
 	if $npc_lastname['A<<npctemp>>'] ! '':
-		$npc_selfie['A<<npctemp>>'] = '<a href="exec:numnpc = <<npctemp>> & gt ''phone_selfies'', ''listretrieve2''"><<$npc_firstname["A<<npctemp>>"]>> <<$npc_lastname["A<<npctemp>>"]>></a>'
+		$npc_selfie['A<<npctemp>>'] = '<a href="exec: gt ''phone_selfies'', ''listretrieve2'', ''A<<npctemp>>''"><<$npc_firstname["A<<npctemp>>"]>> <<$npc_lastname["A<<npctemp>>"]>></a>'
 	else
-		$npc_selfie['A<<npctemp>>'] = '<a href="exec:numnpc = <<npctemp>> & gt ''phone_selfies'', ''listretrieve2''"><<$npc_firstname["A<<npctemp>>"]>></a>'
+		$npc_selfie['A<<npctemp>>'] = '<a href="exec: gt ''phone_selfies'', ''listretrieve2'', ''A<<npctemp>>''"><<$npc_firstname["A<<npctemp>>"]>></a>'
 	end
 
 	if $ARGS[1] = 'friends' or ARGS[1] = 8:

+ 1 - 1
locations/obj_din.qsrc

@@ -596,7 +596,7 @@ if $ARGS[0] = 'skill_format_func':
 end
 
 if $ARGS[0] = 'husb_cheat_count':
-	if husband > 0:
+	if $husID ! '':
 		if guy > before_h_guy :
 			guy_cheat += guy - guy_cheat
 			before_h_guy = guy

+ 5 - 5
locations/oral.qsrc

@@ -7,18 +7,18 @@ if $ARGS[0] = 'start':
 	frost = 0
 	'Your one hand caress his <<dick>> cm cock, while the other cups his balls as you lick his cock.'
 
-	if harakBoy = 0:
+	if npc_gentle[$boy] = 1:
 		'<<$boydesc>> closes his eyes in pleasure as he enjoys the caress of your soft lips.'
 		gs 'arousal', 'bj', tmpl,$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],'sub'
-	elseif harakBoy = 1:
-		'<<$boydesc>> stares you in the eyes while you wrap your lips around his rock-hard cock.'
-		gs 'arousal', 'bj', tmpl,$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],'sub'
-	elseif harakBoy = 2:
+	elseif npc_rough[$boy] = 1:
 		if pcs_makeup > 1:pcs_makeup = 0
 		pcs_hairbsh = 0
 		pcs_throat += 1
 		'<<$boydesc>> grabs you by the hair and begins to mouth fuck you, the beating your throat takes causes tears to flow from your eyes.'
 		gs 'arousal', 'bj', tmpl,$ARGS[2],$ARGS[3],$ARGS[4], $ARGS[5],'sub', 'deepthroat', 'rough'
+	else
+		'<<$boydesc>> stares you in the eyes while you wrap your lips around his rock-hard cock.'
+		gs 'arousal', 'bj', tmpl,$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],'sub'
 	end
 
 	'You hear <<$boydesc>> groaning loudly, you realize he must be edging and is ready to finish.'

+ 89 - 95
locations/parkM.qsrc

@@ -4,52 +4,45 @@ menu_off = 1
 
 if $ARGS[0] = 'start':
 	minut += 30
+
 	'You leisurely stroll through the park.'
-	'<<$loverdesc[lover_number]>> tells you an anecdote:<br>'
+	'<<$npcdesc>> tells you an anecdote:<br>'
 	gs 'anekdot'
 	*nl
-	if loverdays[lover_number] > 15 and haraklover[lover_number] = 2:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 20 and haraklover[lover_number] = 1:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 25 and haraklover[lover_number] = 0:gs 'boylove', 'tits'
-	if loverdays[lover_number] > 20 and haraklover[lover_number] = 2:gs 'boylove', 'figure'
-	if loverdays[lover_number] > 25 and haraklover[lover_number] = 1:gs 'boylove', 'figure'
-	if loverdays[lover_number] > 30 and haraklover[lover_number] = 0:gs 'boylove', 'figure'
-	act 'Laugh':
-		cla
-		loverrelation[lover_number] += 1
-		xgt 'parkM', 'a'
-	end
-
-	act 'Smile':
-		cla
-		xgt 'parkM', 'a'
+	if npc_gentle[$npcID] = 1:
+		if npc_dates[$npcID] > 25: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 30: gs 'boylove', 'figure'
+	elseif npc_rough[$npcID] = 0:
+		if npc_dates[$npcID] > 20: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 25: gs 'boylove', 'figure'
+	else
+		if npc_dates[$npcID] > 15: gs 'boylove', 'tits'
+		if npc_dates[$npcID] > 20: gs 'boylove', 'figure'
 	end
 
-	act 'Not funny':
-		cla
-		loverrelation[lover_number] -= 1
-		xgt 'parkM', 'a'
-	end
+	act 'Laugh': npc_rel[$npcID] += rand(0, 1) & xgt 'parkM', 'a'
+	act 'Smile': xgt 'parkM', 'a'
+	act 'Not funny': npc_rel[$npcID] -= rand(0, 1) & xgt 'parkM', 'a'
 end
 
 if $ARGS[0] = 'a':
-	if haraklover[lover_number] = 0:
+	if npc_gentle[$npcID] = 1:
 		gs 'stihi'
-		'<<$loverdesc[lover_number]>> reads poetry to you <<$stihi>>.'
+		'<<$npcdesc>> reads poetry to you <<$stihi>>.'
 
 		act 'Further':gt 'parkM', 'aa'
-	elseif haraklover[lover_number] = 1:
-		'<<$loverdesc[lover_number]>> to take you by the hand and leads you through the deserted paths of the park.'
+	elseif npc_rough[$npcID] = 0:
+		'<<$npcdesc>> to take you by the hand and leads you through the deserted paths of the park.'
 
 		act 'Further':gt 'parkM', 'aa'
-	elseif haraklover[lover_number] = 2:
-		'<<$loverdesc[lover_number]>> hugs your waist. "You''re a cool girl." he said and leans in to kiss you on the lips.'
+	else
+		'<<$npcdesc>> hugs your waist. "You''re a cool girl." he said and leans in to kiss you on the lips.'
 
 		act 'Kiss':gt 'parkM', 'kiss'
 		act 'Step back':
 			cla
-			loverrelation[lover_number] -= 1
-			'<<$loverdesc[lover_number]>> does not look happy as you pull away from his kiss, "Okay, <<$pcs_nickname>>, lets keep on trekking."'
+			npc_rel[$npcID] -= rand(0, 1)
+			'<<$npcdesc>> does not look happy as you pull away from his kiss, "Okay, <<$pcs_nickname>>, lets keep on trekking."'
 
 			act 'Next':gt 'parkM', 'aa'
 		end
@@ -57,16 +50,16 @@ if $ARGS[0] = 'a':
 end
 
 if $ARGS[0] = 'kiss':
-	loverrelation[lover_number] += 1
-	'<<$loverdesc[lover_number]>> kisses you and reaches around to gently massage your ass. His touch excites you and <<$loverdesc[lover_number]>> takes you by the hand and drags you into the bushes.'
+	npc_rel[$npcID] += rand(0, 1)
+	'<<$npcdesc>> kisses you and reaches around to gently massage your ass. His touch excites you and <<$npcdesc>> takes you by the hand and drags you into the bushes.'
 
 	gs 'arousal', 'kiss', 15
 	gs 'stat'
-	
+
 	act 'Stop it':
 		cla
-		loverrelation[lover_number] -= 1
-		'<<$loverdesc[lover_number]>> does not look happy as you push his hand away, "Okay, <<$pcs_nickname>>, Let''s keep on going."'
+		npc_rel[$npcID] -= rand(0, 1)
+		'<<$npcdesc>> does not look happy as you push his hand away, "Okay, <<$pcs_nickname>>, Let''s keep on going."'
 
 		act 'Further':gt 'parkM', 'aa'
 	end
@@ -76,20 +69,20 @@ end
 
 if $ARGS[0] = 'sexrand':
 	*clr & cla
-	loverrelation[lover_number] += 1
+	npc_rel[$npcID] += rand(0, 1)
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/park/park.jpg"></center>'
-	'<<$loverdesc[lover_number]>> pulls you into the bushes and exposes your breasts, suckling on your nipples. You close your eyes, immersed in bliss. <<$loverdesc[lover_number]>> kneels in front of you and starts on your pussy.'
+	'<<$npcdesc>> pulls you into the bushes and exposes your breasts, suckling on your nipples. You close your eyes, immersed in bliss. <<$npcdesc>> kneels in front of you and starts on your pussy.'
 
 	gs 'arousal', 'foreplay', 15
 	gs 'arousal', 'cuni', 15
 	minut -= 15
 	gs 'stat'
-	
+
 	act 'Stop it':
 		cla
-		loverrelation[lover_number] -= 1
-		'You sidestep and cover your chest, <<$loverdesc[lover_number]>> looks annoyed, "Okay, <<$pcs_nickname>>, Let''s go."'
+		npc_rel[$npcID] -= rand(0, 1)
+		'You sidestep and cover your chest, <<$npcdesc>> looks annoyed, "Okay, <<$pcs_nickname>>, Let''s go."'
 
 		act 'Further':gt 'parkM', 'aa'
 	end
@@ -99,18 +92,18 @@ end
 
 if $ARGS[0] = 'sexrand1':
 	*clr & cla
-	loverrelation[lover_number] += 1
+	npc_rel[$npcID] += rand(0, 1)
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/park/park1.jpg"></center>'
-	'<<$loverdesc[lover_number]>> bares your pussy and began to caress it gently, then increasing the tempo, you are very excited, your pussy is sopping, aching for more. <<$loverdesc[lover_number]>> whispers to you, "Suck me!"'
+	'<<$npcdesc>> bares your pussy and began to caress it gently, then increasing the tempo, you are very excited, your pussy is sopping, aching for more. <<$npcdesc>> whispers to you, "Suck me!"'
 
 	gs 'arousal', 'vaginal_finger', 15
 	gs 'stat'
-	
+
 	act 'We can not do that here':
 		cla
-		loverrelation[lover_number] -= 1
-		'You backed away from him and began to dress, <<$loverdesc[lover_number]>> does not look happy, "Okay, <<$pcs_nickname>>, Let''s go."'
+		npc_rel[$npcID] -= rand(0, 1)
+		'You backed away from him and began to dress, <<$npcdesc>> does not look happy, "Okay, <<$pcs_nickname>>, Let''s go."'
 
 		act 'Next':gt 'parkM', 'aa'
 	end
@@ -120,35 +113,34 @@ end
 
 if $ARGS[0] = 'sexrand2':
 	*clr & cla
-	loverrelation[lover_number] += 1
+	npc_rel[$npcID] += rand(0, 1)
 	bja += 1
-	gs 'brosok'
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/park/park2.jpg"></center>'
-	'You kneel in front of <<$loverdesc[lover_number]>> swallowing his sticking <<loverdick[lover_number]>> centimeter member. You cup his balls and began to suck.'
-	'After a few minutes <<$loverdesc[lover_number]>> tells you, "Baby, if you continue, I''ll finish. Let''s have sex!"'
+	'You kneel in front of <<$npcdesc>> swallowing his sticking <<$dick_desc>> member. You cup his balls and began to suck.'
+	'After a few minutes <<$npcdesc>> tells you, "Baby, if you continue, I''ll finish. Let''s have sex!"'
 
 	gs 'arousal', 'bj', 15, 'sub'
 	gs 'stat'
-	
+
 	act 'Continue to suck':gt 'parkM', 'sexrand3'
 	act 'Sex':gt 'parkM', 'sexrand4'
 end
 
 if $ARGS[0] = 'sexrand3':
 	*clr & cla
-	loverrelation[lover_number] += 1
+	npc_rel[$npcID] += rand(0, 1)
 	gs 'cum_call', 'mouth_swallow', $boy, 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/park/park3.jpg"></center>'
-	'You continued enthusiastically sucking his cock and <<$loverdesc[lover_number]>> moans, grabs you by the hair realising a vigorous stream of burning semen into your mouth.'
+	'You continued enthusiastically sucking his cock and <<$npcdesc>> moans, grabs you by the hair realising a vigorous stream of burning semen into your mouth.'
 	'You choke swallowing it, but his mightly load doesn''t fit in your mouths and pours out spreading onto your chin.'
-	'<<$loverdesc[lover_number]>> pulls his member out of your cum-filled mouth stuffed and tucked it into his pants, helping you rise then says goodbye, promising to call you.'
+	'<<$npcdesc>> pulls his member out of your cum-filled mouth stuffed and tucked it into his pants, helping you rise then says goodbye, promising to call you.'
 
 	gs 'arousal', 'bj', 15, 'sub'
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Leave':		
+	act 'Leave':
 		if $home['town'] = 'pavlovsk':
 			gt 'pav_park', 'start'
 		elseif $home['town'] = 'oldtown':
@@ -162,13 +154,12 @@ end
 if $ARGS[0] = 'sexrand4':
 	cls
 	pose = 1
-	gs 'boyStat', $lover[lover_number]
 	'<center><img <<$set_imgh>> src="images/characters/city/boyfriend/sex/event/park/park4.jpg"></center>'
-	'<<$loverdesc[lover_number]>> pulls you to your feet, turns you around and bends you over as he enters you. You have to grab the ground to keep from going over as he pounds you.'
-	
+	'<<$npcdesc>> pulls you to your feet, turns you around and bends you over as he enters you. You have to grab the ground to keep from going over as he pounds you.'
+
 	gs 'arousal', 'vaginal', 15, 'sub'
 	gs 'arousal', 'end'
-	gs 'cum_call', '', $lover[lover_number], 1
+	gs 'cum_call', '', $boy, 1
 	gs 'stat'
 	act 'Leave':
 		if $home['town'] = 'pavlovsk':
@@ -184,16 +175,15 @@ end
 if $ARGS[0] = 'aa':
 	clr & cla
 	minut += 30
-	gs 'boyStat', $lover[lover_number]
-	'<img src = "images/characters/shared/headshots_generic/'+lover_picture[lover_number]+'.jpg">'
+	'<img src = "<<$npc_pic[$npcID]>>">'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/skver.jpg"></center>'
 	*nl
 
-	if loverrelation[lover_number] < 25:
-		'<center>While walking for an hour <<$loverdesc[lover_number]>> proposes to hold your hand.</center>'
+	if npc_rel[$npcID] < 55:
+		'<center>While walking for an hour <<$npcdesc>> proposes to hold your hand.</center>'
 		act 'You gladly accept':
 			cls
-			'<img src = "images/characters/shared/headshots_generic/'+lover_picture[lover_number]+'.jpg">'
+			'<img src = "<<$npc_pic[$npcID]>>">'
 			temp = RAND(1,3)
 			if temp = 1:
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/hanterhands.jpg"></center>'
@@ -204,58 +194,58 @@ if $ARGS[0] = 'aa':
 			end
 			*nl
 			'<center>You hold his hand as you walk through the park.</center>'
-			loverrelation[lover_number] += 1
-			act '<<$loverdesc[lover_number]>> takes you home...': gt 'sexm', 'start'
+			npc_rel[$npcID] += rand(0, 1)
+			act '<<$npcdesc>> takes you home...': gt 'sexm', 'start'
 		end
 		act 'Reject his request':
 			clr & cla
 			*nl
-			'<center><<$loverdesc[lover_number]>> looks rather disappointed as you continue your walk through the park.</center>'
-			loverrelation[lover_number] -= 1
-			act '<<$loverdesc[lover_number]>> takes you home...': gt 'sexm', 'start'
+			'<center><<$npcdesc>> looks rather disappointed as you continue your walk through the park.</center>'
+			npc_rel[$npcID] -= rand(0, 1)
+			act '<<$npcdesc>> takes you home...': gt 'sexm', 'start'
 		end
-	elseif loverrelation[lover_number] < 50:
-		'<center>While walking for an hour <<$loverdesc[lover_number]>> stops to give you a warm hug.</center>'
+	elseif npc_rel[$npcID] < 65:
+		'<center>While walking for an hour <<$npcdesc>> stops to give you a warm hug.</center>'
 		act 'Hug him':
 			cls
-			'<img src = "images/characters/shared/headshots_generic/'+lover_picture[lover_number]+'.jpg">'
-			temp = RAND(1,4)
+			'<img src = "<<$npc_pic[$npcID]>>">'
+			temp = rand(1,4)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/hugging_park_<<temp>>.jpg"></center>'
 			*nl
-			'<center>You enjoy <<$loverdesc[lover_number]>>''s warm embrace.</center>'
-			loverrelation[lover_number] += 1
-			act '<<$loverdesc[lover_number]>> takes you home...': gt 'sexm', 'start'
+			'<center>You enjoy <<$npcdesc>>''s warm embrace.</center>'
+			npc_rel[$npcID] += rand(0, 1)
+			act '<<$npcdesc>> takes you home...': gt 'sexm', 'start'
 		end
 		act 'Pull away':
 			clr & cla
 			*nl
-			'<center><<$loverdesc[lover_number]>> looks rather disappointed as you continue your walk through the park.</center>'
-			loverrelation[lover_number] -= 1
-			act '<<$loverdesc[lover_number]>> takes you home...': gt 'sexm', 'start'
+			'<center><<$npcdesc>> looks rather disappointed as you continue your walk through the park.</center>'
+			npc_rel[$npcID] -= rand(0, 1)
+			act '<<$npcdesc>> takes you home...': gt 'sexm', 'start'
 		end
-	elseif loverrelation[lover_number] < 75:
-		'<center>While walking for an hour <<$loverdesc[lover_number]>> stops occassionally to give you a tender kiss.</center>'
+	elseif npc_rel[$npcID] < 75:
+		'<center>While walking for an hour <<$npcdesc>> stops occassionally to give you a tender kiss.</center>'
 		act 'Gladly accept with a warm smile':
 			cls
-			'<img src = "images/characters/shared/headshots_generic/'+lover_picture[lover_number]+'.jpg">'
+			'<img src = "<<$npc_pic[$npcID]>>">'
 			temp = RAND(1,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/kissing_park_<<temp>>.jpg"></center>'
 			*nl
-			'<center>You are very happy with all the affection and attention <<$loverdesc[lover_number]>> is giving you.</center>'
-			loverrelation[lover_number] += 1
-			act '<<$loverdesc[lover_number]>> takes you home...': gt 'sexm', 'start'
+			'<center>You are very happy with all the affection and attention <<$npcdesc>> is giving you.</center>'
+			npc_rel[$npcID] += rand(0, 1)
+			act '<<$npcdesc>> takes you home...': gt 'sexm', 'start'
 		end
 		act 'Pull away':
 			cls
-			'<img src = "images/characters/shared/headshots_generic/'+lover_picture[lover_number]+'.jpg">'
+			'<img src = "<<$npc_pic[$npcID]>>">'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/dimka/revenge/rejectedkiss.jpg"></center>'
 			*nl
-			'<center><<$loverdesc[lover_number]>> looks rather disappointed as you continue your walk through the park.</center>'
-			loverrelation[lover_number] -= 1
-			act '<<$loverdesc[lover_number]>> takes you home...': gt 'sexm', 'start'
+			'<center><<$npcdesc>> looks rather disappointed as you continue your walk through the park.</center>'
+			npc_rel[$npcID] -= rand(0, 1)
+			act '<<$npcdesc>> takes you home...': gt 'sexm', 'start'
 		end
 	else
-		temploverrand = RAND(1,3)
+		temploverrand = rand(1, 3)
 		if temploverrand = 1:
 			$temploveraction = 'stops several times to give you a passionate kiss.  You gladly accept and kiss him passionately.'
 		elseif temploverrand = 2:
@@ -263,21 +253,25 @@ if $ARGS[0] = 'aa':
 		else
 			$temploveraction = 'stops at a park bench and passionately makes out with you for all to see.  You return the passion with enthusiasm and don''t care who is watching.'
 		end
-		'<center><<$loverdesc[lover_number]>> takes you on a nice walk through the park...</center>'
+		'<center><<$npcdesc>> takes you on a nice walk through the park...</center>'
+
 		act 'Continue':
 			cls
-			'<img src = "images/characters/shared/headshots_generic/'+lover_picture[lover_number]+'.jpg">'
+			'<img src = "<<$npc_pic[$npcID]>>">'
 			if temploverrand < 3:
-				temp = RAND(1,5)
+				temp = rand(1, 5)
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/kissing_park_<<temp>>.jpg"></center>'
 			else
-				temp = RAND(1,3)
+				temp = rand(1, 3)
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/making_out_park_bench_<<temp>>.jpg"></center>'
 			end
 			*nl
-			'<center>While walking for an hour <<$loverdesc[lover_number]>> <<$temploveraction>></center>'
-			loverrelation[lover_number] += 1
-			act '<<$loverdesc[lover_number]>> takes you home...': gt 'sexm', 'start'
+			'<center>While walking for an hour <<$npcdesc>> <<$temploveraction>></center>'
+			npc_rel[$npcID] += rand(0, 1)
+			act '<<$npcdesc>> takes you home...': gt 'sexm', 'start'
+
+			killvar 'temploverrand'
+			killvar '$temploveraction'
 		end
 	end
 end

+ 64 - 61
locations/park_walkevents.qsrc

@@ -42,7 +42,7 @@ if $ARGS[0] = '1':
 		'From the shadow of the tree, a guy walks out...'
 		'He comes up to you, grabs you, and, through gritted teeth says, "Com''ear Bitch", dragging you into the bushes.'
 		gs 'npcgeneratec', 0, 'Rapist', rand(18,40)
-		gs 'boyStat', $npclastgenerated
+		gs 'npcStat', $npclastgenerated
 		act 'Fight him':
 			*clr & cla
 
@@ -152,7 +152,7 @@ if $ARGS[0] = '2':
 			act 'Bend over the bench':
 				cla & *clr
 				money += 500
-				gs 'boyStat', 'A121'
+				gs 'npcStat', 'A121'
 				parkday = daystart
 
 				picrand = rand(1, 6)
@@ -192,7 +192,7 @@ if $ARGS[0] = '2':
 				cla
 				*clr
 				money += 2000
-				gs 'boyStat', 'A121'
+				gs 'npcStat', 'A121'
 				parkday = daystart
 
 				if parkslut = 0:parkslut = 1 & guy += 1
@@ -276,11 +276,11 @@ if $ARGS[0] = '3':
 					'"Look what I''ve found. We''ve got ourselves a new volunteer." says the guy while holding you tightly.'
 					killvar '$boy'
 					gs 'npcgeneratec', 0, 'Rapist', rand(18,40)
-					gs 'boyStat', $npclastgenerated
+					gs 'npcStat', $npclastgenerated
 					gs 'npcgeneratec', 0, 'Rapist', rand(18,40)
-					gs 'boyStat', $npclastgenerated,'1'
+					gs 'npcStat', $npclastgenerated,'1'
 					gs 'npcgeneratec', 0, 'Rapist', rand(18,40)
-					gs 'boyStat', $npclastgenerated,'2'
+					gs 'npcStat', $npclastgenerated,'2'
 
 					act 'Try to talk your way out':
 						cla
@@ -417,7 +417,7 @@ if $ARGS[0] = '4':
 						i = 0
 						:park_blowbang
 							gs 'npcgeneratec', 0, 'stranger', rand(19,23)
-							gs 'boyStat', $npclastgenerated
+							gs 'npcStat', $npclastgenerated
 							gs 'arousal', 'bj', 10, 'gangbang', 'sub', 'humiliation', 'deepthroat', 'rape'
 							gs 'arousal', 'hj', -10, 'gangbang', 'sub', 'humiliation', 'rape'
 							gs 'arousal', 'titjob', -10, 'gangbang', 'sub', 'humiliation', 'rape'
@@ -448,17 +448,17 @@ if $ARGS[0] = '4':
 								i = 0
 								:park_blowbang2
 									gs 'npcgeneratec', 0, 'stranger', rand(19,23)
-									gs 'boyStat', $npclastgenerated
+									gs 'npcStat', $npclastgenerated
 									gs 'cum_call', 'mouth_swallow', $boy
 									gs 'arousal', 'bj', 3, 'gangbang', 'sub', 'humiliation', 'deepthroat'
 									i += 1
 								if i < 6:jump 'park_blowbang2'
 
 								gs 'npcgeneratec', 0, 'stranger', rand(19,23)
-								gs 'boyStat', $npclastgenerated
+								gs 'npcStat', $npclastgenerated
 								gs 'cum_call', 'face', $boy
 								gs 'npcgeneratec', 0, 'stranger', rand(19,23)
-								gs 'boyStat', $npclastgenerated
+								gs 'npcStat', $npclastgenerated
 								gs 'cum_call', 'breasts', $boy
 								gs 'arousal', 'titjob', 2, 'gangbang', 'sub', 'humiliation'
 
@@ -558,7 +558,7 @@ if $ARGS[0] = '6':
 				cla & *clr
 				minut += 30
 				gs 'npcgeneratec', 0, 'Rapist', rand(18,40)
-				gs 'boyStat', $npclastgenerated
+				gs 'npcStat', $npclastgenerated
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/locations/city/centralpark/sex/event/rape/1.jpg"></center>'
 				'"Ouch...", you say groggily as you wake up.'
@@ -778,20 +778,19 @@ end
 if $ARGS[0] = '8':
 	menu_off = 1
 	gs 'stat'
-	vnerand = rand(0, 1200)
 
-	if pcs_lover < 3 and vnerand <= pcs_apprnc:
+	if rand(0, 1200) <= pcs_apprnc:
 		*clr & cla
 		gs 'npcgeneratec', 0
-		gs 'boyStat', $npclastgenerated
-		'A guy with <<$boybody_pref>>, <<$boybod>> body and <<$boyface>> hair approaches you. He''s wearing <<$boyClo>>.'
-		'The guy introduces himself as <<$boydesc>> and asks for your number.'
+		gs 'npcStat', $npclastgenerated
+		'A guy with <<$npcheight_pref>>, <<$npcbuild>> body and <<$npchair>> hair approaches you. He''s wearing wearing <<$npcClo>>.'
+		'The guy introduces himself as <<$npcdesc>> and asks for your number.'
 
 		act 'Give him your number':
 			cla
-			gs 'boyfrend', 'start'
+			if rand(0, 1) = 0: gs 'lover','add_boyfriend', $npcID
 			stopboy = 0
-			'<<$loverdesc[lover_number]>> writes it in his phone and walks away from you smiling.'
+			'<<$npcdesc>> writes it in his phone and walks away from you smiling.'
 
 			act 'Finish your walk':gt 'city_park', 'start'
 		end
@@ -808,57 +807,61 @@ if $ARGS[0] = '9':
 	menu_off = 1
 	gs 'stat'
 
-	if arrsize('pcs_lovers') >= 1:
-		lover_number = rand(0, arrsize('pcs_lovers') - 1)
-		cls
-		'As you walk through the park, you notice <<$loverdesc[lover_number]>> walking towards you.'
 
-		act 'Leave': loverrelation[lover_number]-= 1 & gt 'city_park', 'start'
+	$temp_npcID = func('lover', 'draw_random_from', 'boyfriend', 'girlfriend', 'sugar_daddy', 'fuckbuddy', 'husband')
+	if $temp_npcID = '':
+		killvar '$temp_npcID'
+		gt 'park_walkevents', 'empty'
+	end
+	gs 'npcStat', $temp_npcID
+	killvar '$temp_npcID'
 
-		if boyonce[lover_number] = 0 or SUB = 0:
-			act 'Nice to talk':
-				cla
-				loverrelation[lover_number] += 2
-				minut += 15
-				'<<$loverdesc[lover_number]>> is happy about meeting you randomly and gives you a big hug. You have a nice short talk and kiss goodbye as you part ways again.'
+	'As you walk through the park, you notice <<$npcdesc>> walking towards you.'
 
-				act 'Finish your walk':gt 'city_park', 'start'
-			end
-		elseif boyonce[lover_number] = 1 and SUB > 0:
-			'<<$loverdesc[lover_number]>> is happy to see you, quickly grabbing you by the hand leading you into a more secluded area of the park.'
-
-			act 'Follow <<$loverdesc[lover_number]>>.':
-				if loverGender[lover_number] = 0: gt 'event', 'city_park'
-				if loverGender[lover_number] = 1:
-					$telsob = '<<$loverdesc[lover_number]>>'
-					gt 'parksvid'
-				end
-			end
-		elseif boyonce[lover_number] = 1:
-			'<<$loverdesc[lover_number]>> is happy to see you, quickly grabbing you by the hand, wanting to lead you to a secluded area of the park.'
-
-			act 'Offer to sit on the bench':
-				if loverGender[lover_number] = 0: gt 'event', 'city_park'
-				if loverGender[lover_number] = 1:
-					$telsob = '<<$loverdesc[lover_number]>>'
-					gt 'parksvid'
-				end
+	act 'Leave': npc_rel[$npcID] -= rand(0, 1) & gt 'city_park', 'start'
+
+	if npc_sex[$npcID] = 0 or SUB = 0:
+		act 'Nice to talk':
+			cla
+			npc_rel[$npcID] += 1
+			minut += 15
+			'<<$npcdesc>> is happy about meeting you randomly and gives you a big hug. You have a nice short talk and kiss goodbye as you part ways again.'
+
+			act 'Finish your walk': gt 'city_park', 'start'
+		end
+	elseif npc_sex[$npcID] > 0 and SUB > 0:
+		'<<$npcdesc>> is happy to see you, quickly grabbing you by the hand leading you into a more secluded area of the park.'
+
+		act 'Follow <<$npcdesc>>.':
+			if npc_gender[$boy] = 0: gt 'event', 'city_park'
+			if npc_gender[$boy] = 1:
+				$telsob = $npcdesc
+				gt 'parksvid'
 			end
+		end
 
-			act 'Nice talk':
-				cla
-				loverrelation[lover_number] += 5
-				minut += 15
-				'<<$loverdesc[lover_number]>> is happy about meeting you randomly and gives you a big hug. You have a nice short talk and kiss goodbye as you part ways again.'
+	!! NEVER TRIGGERS? UNLESS SUB < 0?
+	elseif npc_sex[$npcID] > 0:
+		'<<$npcdesc>> is happy to see you, quickly grabbing you by the hand, wanting to lead you to a secluded area of the park.'
 
-				act 'Finish your walk':gt 'city_park', 'start'
+		act 'Offer to sit on the bench':
+			if npc_gender[$boy] = 0: gt 'event', 'city_park'
+			if npc_gender[$boy] = 1:
+				$telsob = $npcdesc
+				gt 'parksvid'
 			end
 		end
 
-		exit
-	else
-		gt 'park_walkevents', 'empty'
+		act 'Nice talk':
+			cla
+			npc_rel[$npcID] += rand(2, 3)
+			minut += 15
+			'<<$npcdesc>> is happy about meeting you randomly and gives you a big hug. You have a nice short talk and kiss goodbye as you part ways again.'
+
+			act 'Finish your walk': gt 'city_park', 'start'
+		end
 	end
+	exit
 end
 
 if $ARGS[0] = 'running_image':
@@ -925,8 +928,8 @@ if $ARGS[0] = 'run':
 						act'Turn':
 							cla & *clr
 							gs 'npcgeneratec', 0, '', rand(18, 45)
-							gs 'boyStat', $npclastgenerated
-							'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
+							gs 'npcStat', $npclastgenerated
+							'<center><img <<$set_imgh>> src="<<$npc_pic[$boy]>>"></center>'
 							temp['catcall'] = rand(1,3)
 							'Turning your head instinctively at the sound, you see a guy lowering his fingers from his mouth, a wide grin on his face.'
 							if temp['catcall'] = 1:

+ 24 - 16
locations/parksvid.qsrc

@@ -47,16 +47,23 @@ act 'Go for a walk':
 		else
 			gt 'parksvid', '3'
 		end
-	elseif $telsob = $loverdesc[lover_number]:
+	elseif $telsob = $npcdesc:
 		!! date with girlfriend
-		loverrelation[lover_number] += 1
-		if loverrelation[lover_number] >= 20:
-			parksvidrand = rand(0, 10)
-			if parksvidrand > 0 and parksvidrand < 3:gt 'parksvid', '1'
-			if parksvidrand > 2 and parksvidrand < 5:gt 'parksvid', '2'
-			if parksvidrand = 0 or parksvidrand > 4:gt 'parksvid', '3'
-		else
+		npc_rel[$npcID] += rand(0, 1)
+		if npc_rel[$npcID] < 50:
 			gt 'parksvid', '3'
+		else
+			parksvidrand = rand(0, 10)
+			if parksvidrand <= 1:
+				killvar 'parksvidrand'
+				gt 'parksvid', '1'
+			elseif parksvidrand <= 3:
+				killvar 'parksvidrand'
+				gt 'parksvid', '2'
+			else
+				killvar 'parksvidrand'
+				gt 'parksvid', '3'
+			end
 		end
 	end
 end
@@ -160,21 +167,22 @@ if $ARGS[0] = '3':
 	pcs_horny = 0
 	minut += 90
 	gs 'stat'
-	if $telsob = $loverdesc[lover_number]:
-		'After you finish your walk, <<$telsob>> looks at you and waits for your next move.'
+
+	if $telsob = 'Alla' or $telsob = 'Masha' or $telsob = 'Kate':
+		'After you finish your walk, <<$telsob>> says she needs to go, she gives you a kiss on the cheek and leaves.'
 		if $home['town'] = 'pavlovsk':
-			act 'Kiss her and say goodbye': gt 'pav_park', 'start'
+			act 'Leave': gt 'pav_park', 'start'
 		else
-			act 'Kiss her and say goodbye': gt 'city_park', 'start'
+			act 'Leave': gt 'city_park', 'start'
 		end
-		act 'Kiss her and invite her to your home': gt 'lezbsex', 'startloverhome'
 	else
-		'After you finish your walk, <<$telsob>> says she needs to go, she gives you a kiss on the cheek and leaves.'
+		'After you finish your walk, <<$telsob>> looks at you and waits for your next move.'
 		if $home['town'] = 'pavlovsk':
-			act 'Leave': gt 'pav_park', 'start'
+			act 'Kiss her and say goodbye': gt 'pav_park', 'start'
 		else
-			act 'Leave': gt 'city_park', 'start'
+			act 'Kiss her and say goodbye': gt 'city_park', 'start'
 		end
+		act 'Kiss her and invite her to your home': gt 'lezbsex', 'startloverhome'
 	end
 end
 

+ 6 - 2
locations/pav_disco.qsrc

@@ -710,7 +710,11 @@ if $ARGS[0] = 'dance_partner':
 			end
 		elseif DaPaTipeRand >= 90:
 			!!traveling_expenses
-			npc_residence[$boy] = rand(3,4)
+			if rand(0, 1) = 0:
+				$npc_residence[$boy] = 'city_residential'
+			else
+				$npc_residence[$boy] = 'city_center'
+			end
 			npc_finance[$boy] = 2
 			bmtimeTipe = 2
 			DrunkDPTrand = rand(0,100)
@@ -861,7 +865,7 @@ if $ARGS[0] = 'anushka_too_drunk':
 	'Anushka approaches and pokes you, which causes you to jerk away. This causes you to stumble and nearly fall, but Anushka catches you by the arm to help steady you. "Someone''s partied pretty hard tonight, haven''t they? Maybe a little too hard. Let''s get you home before someone tries to take advantage of you."'
 	act 'Go with Anushka': gt 'pav_disco_gopniks', 'anushka_walkhome'
 end
-	
+
 if $ARGS[0] = 'albina_too_drunk':
 	*clr & cla
 	menu_off = 1

+ 12 - 14
locations/pav_disco_sex.qsrc

@@ -28,18 +28,18 @@ if $ARGS[0] = 'outside':
 			act 'Don''t drink the beer (<<will_cost>> Willpower)':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/outside_talk.jpg"></center>'
-				if alko < 6: 'You smile at him as you shake your head. "No thanks, I''m not really in the mood for a beer right now."'
-				if alko >= 6: '"No, I don''t thi-*hic* think I should... *hic*" you manage to drunkenly mumble.'
+				if alko < 6:
+					'You smile at him as you shake your head. "No thanks, I''m not really in the mood for a beer right now."'
+				else
+					'"No, I don''t thi-*hic* think I should... *hic*" you manage to drunkenly mumble.'
+				end
 				'<<$npc_firstname[$boy]>> offers you a disarming smile. "Alright, no problem! We can just chat!"'
 				act 'Chat with him':
 					*clr & cla
-					minut+=10
+					minut += 10
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/outside_talk.jpg"></center>'
 					'You spend some time getting to know <<$npc_firstname[$boy]>> a bit better before he checks his watch. "I have to get going, but I really enjoyed chatting with you!"'
-					randvnesh = rand(40,120)
-
-					deystrand = rand(0,2)
-					if deystrand = 0 and pcs_apprnc >= randvnesh:
+					if rand(0,2) = 0 and pcs_apprnc >= rand(40,120):
 						'"I would love to see you again! How about you give me your number, so we can go on a date some time?" he adds.'
 
 						act 'Decline and go back to the disco': gt 'pav_disco'
@@ -50,14 +50,14 @@ if $ARGS[0] = 'outside':
 							gs 'npcgeneratec', 0
 							gs 'boyStat', $npclastgenerated
 							bmFrend[Tboynum] = 1
-							gs 'boyfrend', 'start'
+							gs 'lover', 'add_boyfriend', $npcID
 							gs 'stat'
 							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/disco/outside_talk.jpg"></center>'
 							'You smile and give him your phone number, which he diligently adds to his phone.'
 							'"I hope I''ll see you again soon, <<$pcs_firstname>>. I''ll call you!" he says as he packs up his things. You get up and chat with him as you head back to the disco.'
 							act 'Return to the disco': gt 'pav_disco'
 						end
-					elseif deystrand > 0 or pcs_apprnc < randvnesh:
+					else
 						'<<$npc_firstname[$boy]>> scoots over until he''s right next to you and kisses you.'
 
 						act 'Go back to the disco': gt 'pav_disco'
@@ -186,10 +186,8 @@ if $ARGS[0] = 'outside':
 				end
 			elseif alko < 6:
 				if DPtipe = 1:
-					randvnesh = rand(40,120)
-					deystrand = rand(0,1)
 
-					if deystrand = 0 and pcs_apprnc >= randvnesh:
+					if rand(0,1) = 0 and pcs_apprnc >= rand(40,120):
 						'He checks his watch and frowns. "I have to get going, but I would love to see you again! How about you give me your number, so we can go on a date sometime?"'
 
 						act 'Decline and go back to the disco': gt 'pav_disco'
@@ -200,13 +198,13 @@ if $ARGS[0] = 'outside':
 							gs 'npcgeneratec', 0
 							gs 'boyStat', $npclastgenerated
 							bmFrend[Tboynum] = 1
-							gs 'boyfrend', 'start'
+							gs 'lover', 'add_boyfriend', $npcID
 							gs 'stat'
 							'You smile and give him your number, which he diligently adds to his phone.'
 							'"I hope I''ll see you again soon, <<$pcs_firstname>>. I''ll call you!" he says as he packs up his things. You get up as well, and chat with him as you head back to the disco.'
 							act 'Go back to the disco': gt 'pav_disco'
 						end
-					elseif deystrand = 1 or pcs_apprnc < randvnesh:
+					else
 						'<<$npc_firstname[$boy]>> scoots over until he''s right next to you and kisses you.'
 
 						if fame['pav_slut'] < 50:

+ 28 - 24
locations/pav_market.qsrc

@@ -47,7 +47,7 @@ exit
 end
 
 if prostitute['wl_block'] = 0 and prostitute['full_block'] = 0 and prostitute['gas_station'] = 1:
-	*nl 
+	*nl
 	if money >= 75:
 		'Next to the train station you can find the bus terminal. Here you can catch the bus that will take you to <a href="exec:minut += 87 & money -= 75 & gt ''gas_station_gp_117'', ''outside''">the gas station on the M11</a>.'
 	else
@@ -60,14 +60,18 @@ if $home['current'] = 'pavlovsk_hotel':
 	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 the hotel, 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 the hotel, 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 in front of the hotel.</b>'
-	end
-	if hour = meethour[1]:
-		if svidanie[1] = 1:'<b><a href="exec:lover_number = 1 & gt ''lover_meet'', ''start''"><<$loverdesc[1]>></a> is waiting in front of the hotel.</b>'
-	end
-	if hour = meethour[2]:
-		if svidanie[2] = 1:'<b><a href="exec:lover_number = 2 & gt ''lover_meet'', ''start''"><<$loverdesc[2]>></a> is waiting in front of the hotel.</b>'
+	if arrsize('$lover') > 0:
+		temp_i = 0
+		temp_max_i = arrsize('$lover')
+		:lover_pickup_loop
+			$temp_npcid = $lover[temp_i]
+			if npc_meetday[$temp_npcid] = daystart and npc_meethour[$temp_npcid] = hour:
+				'<b><a href="exec: gt ''lover_meet'', ''start'', ''<<$temp_npcid>>''"><<$npc_usedname[$temp_npcid]>></a> is waiting in front of the hotel.</b>'
+			end
+			temp_i += 1
+		if temp_i < temp_max_i: jump 'lover_pickup_loop'
+		killvar 'temp_i'
+		killvar 'temp_max_i'
 	end
 end
 
@@ -119,10 +123,10 @@ if kidaloa = 0:
 			end
 
 			'Even though you definitely wouldn''t mind a new laptop, you simply don''t have time to talk to them right now. You politely decline and walk away before they can protest. A few minutes later you see the two of them hastily running across the square, while some poor guy opens the fancily packed box only to find a brick in it. By the time he realizes he got scammed, they are long gone. Looks like you dodged a bullet there!'
-			
+
 			act 'Return to the station' :minut += 15 & gt $curloc
-		end	
-		
+		end
+
 		act 'Wow, this must be your lucky day!':
 			*clr & cla
 			gs 'stat'
@@ -166,7 +170,7 @@ if kidaloa = 0:
 				end
 
 				'You quickly give them the money and enthusiastically begin to pull at the bow. When you finally manage to tear the wrapping paper off and open the box, you only find a brick wrapped in newspaper. You look up trying to find the man and girl to get your money back, but they are nowhere to be found. You feel terrible for being scammed out of your money, and angrily stuff the box in a garbage can before you move on.'
-				
+
 				act 'Return to the train station':minut += 15 & gt $curloc
 			end
 			act 'Say you can''t afford it right now':
@@ -189,16 +193,16 @@ if kidaloa = 0:
 
 				'With some regret in your voice, you apologize to the man and girl and explain that you can''t afford to pay the VAT right now. They try to explain to you that this could very well be a one-time opportunity and that you are missing out on a free laptop, but you have to decline. You simply cannot afford to spend the money you have right now on a frivolous purchase like a laptop, even if it comes really cheap.'
 				'Sympathizing with you, they promise to look for you if they ever come back to Pavlovsk for another episode of the show.'
-				
+
 				act 'Thank them and leave': minut +=15 & gt $curloc
 			end
 		end
 		exit
 	end
 end
-	
+
 if kidalob = 0:
-	podrand = rand(0, 5)	
+	podrand = rand(0, 5)
 	if money >= 1000 and hour >= 8 and hour <= 20 and podrand = 5 and ($clothingworntype = 'moncheri_dress' or $clothingworntype = 'moncheri_gown' or $clothingworntype = 'fashionista_dress') and monthKidalo ! month:
 		*clr & cla
 		menu_off = 1
@@ -232,7 +236,7 @@ if kidalob = 0:
 			end
 		else
 			act 'You''re not interested (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-		end	
+		end
 		act 'Agree to do the photo shoot':
 			*clr & cla
 			minut += 2
@@ -251,7 +255,7 @@ if kidalob = 0:
 				end
 			else
 				act 'Refuse and leave, you''re not taking off your clothes!(<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-			end	
+			end
 			act 'Change into the sundress':
 				*clr & cla
 				!! ths will either add the sundress or simply set it to a certain damage level
@@ -266,11 +270,11 @@ if kidalob = 0:
 				gs 'clothing', 'wear', 'gm_dress', 52
 				KILLVAR '$lastwornclothingtype'
 				KILLVAR 'lastwornclothingnumber'
-				
+
 				gs 'stat'
 				!!need image
 				'You quickly get into the car and take off your dress, and put on the dress the man gave you. You give your <<$titsize>> breasts a squeeze through the fabric, adjusting the dress a bit so it fits well around them for the photo shoot.'
-				
+
 				act 'Pose for the camera':
 					*clr & cla
 					kidalob = 1
@@ -278,7 +282,7 @@ if kidalob = 0:
 					gs 'stat'
 					!!need image
 					'You get out of the car leaving your possessions in there, figuring it''s easier to just collect them when you change back to your regular clothes. You get out and walk to the tree the camera is aimed at. The guy who hasn''t said a word mans the camera, while the first guy instructs you how to stand in several poses. "Very nice, very nice... now turn your back to the camera!" The camera clicks several times. "Excellent. Now tilt your head backwards and close your eyes." You do as instructed, waiting for the now familiar click of the camera. It never comes.'
-					
+
 					act 'Ask what''s taking so long':
 						*clr & cla
 						money = 0
@@ -287,14 +291,14 @@ if kidalob = 0:
 						gs 'stat'
 						!!need image
 						'After a while you turn around and open your eyes, wanting to ask the guys what''s taking so long. You open your eyes right on time to see the car, with the guys in it, speed off and zip around a corner. Then you realize: all your stuff is still on the back seat of the car! Slowly realizing you have just been scammed out of your good dress and all of your money, you sit down on a tree stump and hold your head in your hands for a minute or two, pondering how you could''ve been so stupid as to believe them.'
-						
+
 						act 'Return to the train station':gt $curloc
 					end
 				end
 			end
 		end
 	exit
-		
+
 	end
 end
 
@@ -316,7 +320,7 @@ act 'Walk to Pushkin (0:20)':minut += 20 & gt 'pushkin'
 
 gs 'camera', 'check_location'
 
-!-- Random prostitution solicitation check ------------------------ 
+!-- Random prostitution solicitation check ------------------------
 gs 'prostitution_functions', 'check_solicitation_event'
 
 --- pav_market ---------------------------------

+ 1 - 1
locations/pav_pharmacy.qsrc

@@ -1543,7 +1543,7 @@ if $ARGS[0] = 'luda_stopped_bc':
 			gs'pav_pharmacy', 'luda_birth_control_worry2'
 		end
 
-		if pcs_lovers - pcs_girlfriends > 0:
+		if stat['boyfriends_current'] > 0 or $husID ! '':
 			act 'Trying for a baby with my boyfriend':
 				LudaQW['birth_control_worry'] = 3
 				cla

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików