1
0

57 Коммитууд ad1ae7618a ... 3aaa03c16b

Эзэн SHA1 Мессеж Огноо
  LinaHirata 3aaa03c16b [fixed] gamebreaking typo 4 сар өмнө
  Kevin_Smarts f417c6ed1e Merge branch 'deadend_routes_fix' of creamel/glife into master 4 сар өмнө
  Kevin_Smarts 6173c61827 Merge remote-tracking branch 'Hornguy6/master' 4 сар өмнө
  Kevin_Smarts e645df8b12 Merge remote-tracking branch 'Lusticon/master' 4 сар өмнө
  Kevin_Smarts c77b015a98 Merge remote-tracking branch 'Felix/master' 4 сар өмнө
  Kevin_Smarts 08c6b1de8c Merge remote-tracking branch 'Hooded_Silence/master' 4 сар өмнө
  hornguy6 a949536438 [fixed] inconsistent text 4 сар өмнө
  hornguy6 55d29a537b [fixed] tampons can be used by virgins 4 сар өмнө
  hornguy6 b8a910ff79 [changed] text edit 4 сар өмнө
  hornguy6 27edccf73b [fixed] prevent more 'last cigarette' popups when taking from someone else 4 сар өмнө
  hornguy6 4a65cf3eac [changed] change of media 4 сар өмнө
  hornguy6 7508942ac4 [fixed] there is no reason that this has to be a string 4 сар өмнө
  hornguy6 a7eabb1624 [added] other family home hookup spots 4 сар өмнө
  hornguy6 14fc246cb9 [added] can take a guy back to the family home in Pav if they are in Gad 4 сар өмнө
  hornguy6 638a1e8a8a [changed] text edits at disco sex 4 сар өмнө
  hornguy6 fa0adb3a10 [changed] reorganized sex at the disco code 4 сар өмнө
  hornguy6 7fbfe56bc7 [fixed] correcting arousal calls 4 сар өмнө
  Vengeance_11 911b21605a Some proofreading for Katja 4 сар өмнө
  Vengeance_11 08d6694f1c Improvements to the city nightclub 4 сар өмнө
  Lusticon 34ab78b8ed [removed] realistic stuff 4 сар өмнө
  Lusticon 2b3123550c [added] hair brush time tooltip info 4 сар өмнө
  Lusticon e4c8d99540 [added] city_sauna $menu_loc values 4 сар өмнө
  Lusticon bf99134538 [added] hypnoClothes check willpower 4 сар өмнө
  Lusticon e530b5f5b7 [fixed] tooltip text display 4 сар өмнө
  Lusticon 88e0a81835 [fixed] potential divide by zero 4 сар өмнө
  Lusticon b65e5ba76f [changed] sex pain fine-tune 4 сар өмнө
  hornguy6 64ff01bc5b [changed] modifications to the church slut event 4 сар өмнө
  hornguy6 417698a293 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 4 сар өмнө
  Creamel 35e7697fec [Fixed] using the correct destination when leaving the gopnik girls by night 4 сар өмнө
  Creamel dead9ec45b Fixed wrong destination when joining the gopnik girls by night and making an excuse to leave while being a coolkid/jock 4 сар өмнө
  Creamel 05808181f9 fixed deadend path when trying to join the gopnik girls by night and being a nerd 4 сар өмнө
  Creamel e3e9bd622c fixed deadend path when speaking with Pauline at disco and being the gopniks slut 4 сар өмнө
  Lusticon 5d765f76de [fixed] Petka homework help check 4 сар өмнө
  hornguy6 f331c804b7 [added] seeding clothing storage for future lover events 4 сар өмнө
  hornguy6 bf4bcbb05f [changed] reworked how the sex filming stores for later recall 4 сар өмнө
  hornguy6 e0d53c8477 [added] new dialogue options for sex_ev 4 сар өмнө
  hornguy6 86228050e4 [changed] new way of seeding, tracking, and checking for lovers - will slightly break saves 4 сар өмнө
  hornguy6 31721de74f [changed] various stats, variables, acts, arg names, and gosubs 4 сар өмнө
  hornguy6 c6b18739bf [changed] text edits 4 сар өмнө
  hornguy6 06e97ca52f [added] a lot of creampie things 4 сар өмнө
  hornguy6 b98c6909b1 [changed] a few missed max cum changes 4 сар өмнө
  hornguy6 3ca2c2f83a [fixed] some cum tit variable things 4 сар өмнө
  hornguy6 292c4cb932 [changed] reduce boy blowing load early chance from 1/20 to 1/25 4 сар өмнө
  hornguy6 f523b56f11 [fixed] missed a few relationship stat updates 4 сар өмнө
  hornguy6 26ed5bb0f1 [changed] the boy can now only cum a maximum of 5 times 4 сар өмнө
  hornguy6 8bdb3bb311 [added] new leaving actions including an angry breakup 4 сар өмнө
  hornguy6 095368a75f [fixed] image link 4 сар өмнө
  hornguy6 684bcb321e [added] breakup option to talking while dressing 4 сар өмнө
  hornguy6 e659cb40de [changed] updated some condom variables 4 сар өмнө
  hornguy6 72dfc01446 [changed] some variable things relating to creampies 4 сар өмнө
  hornguy6 21e9cd5d5d [fixed] updated to the new npc relationship modifier 4 сар өмнө
  Lusticon 7af1564a67 [fixed] sex pain calculations 4 сар өмнө
  Lusticon 32252c87e0 [fixed] dead end with Ms. Braakman 4 сар өмнө
  Hooded Silence ead061e07b Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 4 сар өмнө
  Hooded Silence 878b5179bd [Quest update] Allow custom starts to start the ballet content must meet: modern dance skill => 50 and start is set to custom. 4 сар өмнө
  Lusticon b153bfa91a [changed] lactation regen limit set up and nipples grow 4 сар өмнө
  Lusticon dce0316daf [added] daydream sleep stat gain 4 сар өмнө
61 өөрчлөгдсөн 3526 нэмэгдсэн , 2358 устгасан
  1. 5 7
      locations/Cheatmenu_din.qsrc
  2. 164 93
      locations/arousal.qsrc
  3. 47 38
      locations/cikl.qsrc
  4. 2 2
      locations/city_clinic.qsrc
  5. 168 326
      locations/city_nightclub.qsrc
  6. 4 4
      locations/city_nightclubToilet.qsrc
  7. 3 1
      locations/city_sauna.qsrc
  8. 4 0
      locations/city_saunawhore.qsrc
  9. 5 0
      locations/cum_cleanup.qsrc
  10. 3 3
      locations/din_van.qsrc
  11. 1 1
      locations/etoexhib.qsrc
  12. 4 4
      locations/gschool_break.qsrc
  13. 1 1
      locations/gschool_events.qsrc
  14. 9 0
      locations/gschool_lessons1.qsrc
  15. 10 0
      locations/gschool_lessons2.qsrc
  16. 6 0
      locations/gschool_lessons3.qsrc
  17. 4 0
      locations/gschool_lessons4.qsrc
  18. 118 118
      locations/katja_city.qsrc
  19. 222 223
      locations/katja_city_sex.qsrc
  20. 212 209
      locations/katja_nightclub.qsrc
  21. 236 243
      locations/katja_nightclub_sex.qsrc
  22. 25 2
      locations/lact_bp.qsrc
  23. 40 12
      locations/lact_lib.qsrc
  24. 35 4
      locations/lover.qsrc
  25. 104 89
      locations/pain.qsrc
  26. 3 1
      locations/pav_aptcourtev.qsrc
  27. 35 11
      locations/pav_church.qsrc
  28. 3 3
      locations/pav_clinic.qsrc
  29. 23 0
      locations/pav_disco.qsrc
  30. 1 0
      locations/pav_disco_gopniks.qsrc
  31. 281 184
      locations/pav_disco_sex.qsrc
  32. 6 5
      locations/pav_hotel.qsrc
  33. 1 1
      locations/pav_lake.qsrc
  34. 2 1
      locations/pav_residential.qsrc
  35. 1 1
      locations/pushkin_ballet_init.qsrc
  36. 91 57
      locations/sex_ev_after.qsrc
  37. 4 4
      locations/sex_ev_boy_pillow_talk.qsrc
  38. 24 9
      locations/sex_ev_condoms.qsrc
  39. 31 26
      locations/sex_ev_cum.qsrc
  40. 184 0
      locations/sex_ev_dress_talking.qsrc
  41. 59 21
      locations/sex_ev_events.qsrc
  42. 128 98
      locations/sex_ev_favorite_part.qsrc
  43. 3 2
      locations/sex_ev_foreplay.qsrc
  44. 77 39
      locations/sex_ev_leave.qsrc
  45. 12 7
      locations/sex_ev_miss.qsrc
  46. 15 15
      locations/sex_ev_morning.qsrc
  47. 180 24
      locations/sex_ev_pillow_talk.qsrc
  48. 21 21
      locations/sex_ev_pillow_talk2.qsrc
  49. 38 10
      locations/sex_ev_reactions.qsrc
  50. 536 266
      locations/sex_ev_reactions_creampie.qsrc
  51. 112 62
      locations/sex_ev_sex.qsrc
  52. 17 4
      locations/sex_ev_shower.qsrc
  53. 10 1
      locations/sex_ev_start.qsrc
  54. 8 1
      locations/sex_ev_stats.qsrc
  55. 59 25
      locations/sex_ev_talk.qsrc
  56. 115 66
      locations/sex_ev_wakeup.qsrc
  57. 1 1
      locations/sex_ev_work_talk1.qsrc
  58. 1 11
      locations/stat.qsrc
  59. 1 1
      locations/stat_display.qsrc
  60. 1 0
      locations/uni_lessons1.qsrc
  61. 10 0
      locations/wardrobe.qsrc

+ 5 - 7
locations/Cheatmenu_din.qsrc

@@ -727,13 +727,11 @@ $cheatmenu['state'] = {
 			'Lactate Rate: <a href="exec:lactation[''lactaterate''] -= 10000 & dynamic $cheatmenu[''state'']">-10</a> <<lactation[''lactaterate'']/1000>>ml/h'
 		else
 			'Lactate Rate: <a href="exec:lactation[''lactaterate''] -= 10000 & dynamic $cheatmenu[''state'']">-10</a> <<lactation[''lactaterate'']/1000>>ml/h <a href="exec:lactation[''lactaterate''] += 10000 & dynamic $cheatmenu[''state'']">+10</a>'
-			if lactation['caplactaterate'] <= 0:
-				'Cap Lactate Rate: <a href="exec:lactation[''caplactaterate''] = 24 & dynamic $cheatmenu[''state'']">Switch ON</a>'
-			elseif lactation['caplactaterate'] >= 72:
-				'Cap Lactate Rate: <a href="exec:lactation[''caplactaterate''] -= 24 & dynamic $cheatmenu[''state'']">-24h</a> <<lactation[''caplactaterate'']>>h'
-			else
-				'Cap Lactate Rate: <a href="exec:lactation[''caplactaterate''] -= 24 & dynamic $cheatmenu[''state'']">-24h</a> <<lactation[''caplactaterate'']>>h <a href="exec:lactation[''caplactaterate''] += 24 & dynamic $cheatmenu[''state'']">+24h</a>'
-			end
+			'Cap Lactate Rate: ' + _ 
+			iif(lactation['milkprod_type'] = 0 and lactation['caplactaterate'] > 0,'<a href="exec:lactation[''caplactaterate''] -= 2 & dynamic $cheatmenu[''state'']">-2h</a> ','') + _ 
+			iif(lactation['milkprod_type'] = 1 and lactation['caplactaterate'] > 4,'<a href="exec:lactation[''caplactaterate''] -= 2 & dynamic $cheatmenu[''state'']">-2h</a> ','') + _ 
+			iif(lactation['caplactaterate'] > 0,'<<lactation[''caplactaterate'']>>h ','OFF ') + _ 
+			iif(lactation['caplactaterate'] < 72,'<a href="exec:lactation[''caplactaterate''] += 2 & dynamic $cheatmenu[''state'']">+2h</a>','')
 			'<font color="grey">Cap lactate rate makes lactate rate stop growing if <<$pcs_firstname>> needs milking more often.</font>'
 		end
 		'Milk in Breasts: <<lactation[''breastmv'']/1000>>ml'

+ 164 - 93
locations/arousal.qsrc

@@ -90,50 +90,6 @@ killvar 'orgasm_flag'
 
 if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
 
-	stim_time = max(1, iif(ARGS[1] >= 0, ARGS[1], ARGS[1]*-1))
-	$get_hole_pain = {
-		!! ARGS[0] hole size
-		!! ARGS[1] hole slippery
-		!! ARGS[2] current pain
-		!! ARGS[3] length of inserted object
-		!! ARGS[4] grange of inserted object
-		!! ARGS[5] skill (0-2) aka silavag
-		!! length and girth abilities of hole are not also separated
-		!! but I suppose that they are related although it is not propable
-		!! we can estimate difference in girth and length
-		grdif = (ARGS[4] - ARGS[0])/2
-		ltdif = (ARGS[3] - ARGS[0])/4
-		!! painful intercourse compensated with lube
-		if pain_coeff > 0:
-			grdif += rand(pain_coeff/max(1,ARGS[1]/2), pain_coeff/max(1,ARGS[1]))
-			ltdif += rand(pain_coeff/max(1,ARGS[1]/2), pain_coeff/max(1,ARGS[1]))
-		end
-		!! in pain compensated by skill
-		if ARGS[2] > 0:
-			grdif += rand(ARGS[2]/max(1,ARGS[5]*4), ARGS[2]/max(1,ARGS[5]*2))
-			ltdif += rand(ARGS[2]/max(1,ARGS[5]*4), ARGS[2]/max(1,ARGS[5]*2))
-		end
-		!! if there is any discomfort, check intercourse duration, compensated by skill
-		if stim_time > 0:
-			if grdif > rand(ARGS[5]*2): grdif += rand(stim_time/(max(1,ARGS[5])*10), stim_time/(max(1,ARGS[5])*5))
-			if ltdif > rand(ARGS[5]*2): ltdif += rand(stim_time/(max(1,ARGS[5])*10), stim_time/(max(1,ARGS[5])*5))
-		end
-		!! lube can compensate the difference a bit, or make it worse if there is no lube at all
-		if ARGS[1] > 0:
-			grdif -= rand(ARGS[1]/2, ARGS[1])
-		else
-			grdif += max(rand(ARGS[3], ARGS[4]), rand(grdif/2, grdif))
-		end
-		!! when skilled, it does not harm PC
-		if ARGS[5] > 0 and ltdif > 0: ltdif /= ARGS[5]
-
-		!! min\max
-		grdif = max(0, min(15-(ARGS[0]/4), grdif))
-		ltdif = max(0, min(15-(ARGS[0]/4), ltdif))
-
-		!{ 'hole size <<ARGS[0]>>; length: <<ARGS[3]>>; grange: <<ARGS[4]>>; hole slippery: <<ARGS[1]>>; current pain: <<ARGS[2]>>; stim_time: <<stim_time>>; skill: <<ARGS[5]>>; grdif: <<grdif>>; ltdif: <<ltdif>>' }
-	}
-
 	if arrpos('$ARGS', 'unaware') >= 0: temp_unaware = 1
 	if arrpos('$ARGS', 'no_orgasm_msg') >= 0: temp_text = 1
 	
@@ -146,36 +102,70 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		temp_silavag = silavag
 		$temp_dick_girth = $dick_girth
 	end
+	if arrpos('$ARGS', 'prostitution') >= 0: temp_silavag = rand(0,1)
+	if arrpos('$ARGS', 'gangbang') >= 0: temp_silavag = rand(0,2)
 	if arrpos('$ARGS', 'rape') >= 0 or arrpos('$ARGS', 'rough') >= 0 or arrpos('$ARGS', 'beast') >= 0: temp_silavag = 0
 	grange = dyneval('result=strpos(''skinny   slimx     well pr   thicker   thickx    massive   monstrous'',$ARGS[0])',mid($temp_dick_girth+'x',1,6))/2
 
 	!! first let us determine how slippery are pc''s holes
-	if vaginal_slip < pcs_horny / 10: vaginal_slip = pcs_horny / 10
-	if arrpos('$ARGS', 'spit') >= 0:
-		if mid($ARGS[0],1,4) = 'anal':
-			anal_slip = 4
-		end
-		if mid($ARGS[0],1,4) = 'vagi':
-			vaginal_slip = 4
-		end
-	end
-	if arrpos('$ARGS', 'lube') >= 0:
-		if ar_anal_lube = 0:
-			if mid($ARGS[0],1,4) = 'anal':
-				anal_slip = 8
+	if anal_slip < max(1, 8 + pain['asshole']/2 - pcs_ass) _ 
+	and mid($ARGS[0],1,4) = 'anal' and arrpos('$ARGS', 'anal_finger') < 0:
+		!! cum
+		if cumloc[3] > 0: anal_slip += rand(cumvol[3]/15, cumvol[3]/10)
+		!! spit
+		if arrpos('$ARGS', 'spit') >= 0: anal_slip += 4
+		!! lube
+		if anal_slip < max(1, 8 + pain['asshole']/2 - pcs_ass):
+			!! event lube
+			if arrpos('$ARGS', 'lube') >= 0 and ar_anal_lube = 0:
+				anal_slip += 8
 				ar_anal_lube = 1
+			!! PC lube
+			elseif auto_anal_lube = 1 _ 
+			and arrpos('$ARGS', 'rape') < 0 _ 
+			and arrpos('$ARGS', 'gangbang') < 0 _ 
+			and arrpos('$ARGS', 'rough') < 0 _ 
+			and arrpos('$ARGS', 'beast') < 0 _ 
+			and arrpos('$ARGS', 'BDSM') < 0 _ 
+			and arrpos('$ARGS', 'bound') < 0 _ 
+			and arrpos('$ARGS', 'humiliation') < 0:
+				gs 'arousal', 'auto_lube', 'anal'
 			end
 		end
-		if ar_vag_lube = 0:
-			if mid($ARGS[0],1,4) = 'vagi':
-				vaginal_slip = 8
+		!! an old(?) variable that is still in use somewhere
+		if anal_slip <> lubonus and lubonus > 0:
+			anal_slip += lubonus
+			lubonus = anal_slip
+		end
+	end
+
+	if vaginal_slip < max(1, 8 + pain['vaginal']/2 - pcs_vag) _ 
+	and mid($ARGS[0],1,4) = 'vagi' and arrpos('$ARGS', 'vaginal_finger') < 0:
+		!! horny
+		if vaginal_slip < pcs_horny / 10: vaginal_slip = pcs_horny / 10
+		!! cum
+		if cumloc[0] > 0: vaginal_slip += rand(cumvol[0]/10, cumvol[0]/5)
+		!! spit
+		if arrpos('$ARGS', 'spit') >= 0: vaginal_slip += 4
+		!! lube
+		if vaginal_slip < max(1, 8 + pain['vaginal']/2 - pcs_vag):
+			!! event lube
+			if arrpos('$ARGS', 'lube') >= 0 and ar_vag_lube = 0:
+				vaginal_slip += 8
 				ar_vag_lube = 1
+			!! PC lube
+			elseif auto_vag_lube = 1 _ 
+			and arrpos('$ARGS', 'rape') < 0 _ 
+			and arrpos('$ARGS', 'gangbang') < 0 _ 
+			and arrpos('$ARGS', 'rough') < 0 _ 
+			and arrpos('$ARGS', 'beast') < 0 _ 
+			and arrpos('$ARGS', 'BDSM') < 0 _ 
+			and arrpos('$ARGS', 'bound') < 0 _ 
+			and arrpos('$ARGS', 'humiliation') < 0:
+				gs 'arousal', 'auto_lube', 'vag'
 			end
 		end
 	end
-	!! cum slippery
-	if cumloc[0] > 0: vaginal_slip += rand(cumvol[0]/10, cumvol[0]/5)
-	if cumloc[3] > 0: anal_slip += rand(cumvol[3]/15, cumvol[3]/10)
 	!!	This is to allow a Succubus with the right skill level to handle any size then go back to original size
 	if succubusflag = 1 and sucskill >= 4:
 		if mid($ARGS[0],1,4) = 'vagi' and temp_dick ! pcs_vag:
@@ -195,16 +185,63 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 
 !! set up pain coefficient
 	pain_coeff = 0
-	if arrpos('$ARGS', 'rape') >= 0:         pain_coeff += 40
-	if arrpos('$ARGS', 'gangbang') >= 0:     pain_coeff += 30
-	if arrpos('$ARGS', 'rough') >= 0:        pain_coeff += 25
-	if arrpos('$ARGS', 'beast') >= 0:        pain_coeff += 20
-	if arrpos('$ARGS', 'BDSM') >= 0:         pain_coeff += 10
-	if arrpos('$ARGS', 'maso') >= 0:         pain_coeff += 7
-	if arrpos('$ARGS', 'bound') >= 0:        pain_coeff += 3
-	if arrpos('$ARGS', 'sub') >= 0:          pain_coeff += 2
-	if arrpos('$ARGS', 'prostitution') >= 0: pain_coeff += rand(0,5)
-	if arrpos('$ARGS', 'unknown') >= 0:      pain_coeff += rand(0,2)
+	if arrpos('$ARGS', 'rape') >= 0:         pain_coeff += rand(15,30)
+	if arrpos('$ARGS', 'gangbang') >= 0:     pain_coeff += rand(10,15)
+	if arrpos('$ARGS', 'beast') >= 0:        pain_coeff += rand(7,10)
+	if arrpos('$ARGS', 'rough') >= 0:        pain_coeff += rand(5,7)
+	if arrpos('$ARGS', 'BDSM') >= 0:         pain_coeff += rand(4,5)
+	if arrpos('$ARGS', 'maso') >= 0:         pain_coeff += rand(3,4)
+	if arrpos('$ARGS', 'bound') >= 0:        pain_coeff += rand(2,3)
+	if arrpos('$ARGS', 'sub') >= 0:          pain_coeff += rand(1,2)
+	if arrpos('$ARGS', 'prostitution') >= 0: pain_coeff += max(0, rand(-3,2))
+	if arrpos('$ARGS', 'unknown') >= 0:      pain_coeff += max(0, rand(-4,1))
+
+	stim_time = max(1, iif(ARGS[1]<0, -ARGS[1], ARGS[1]))
+	$get_hole_pain = {
+		!! ARGS[0] hole size
+		!! ARGS[1] hole slippery
+		!! ARGS[2] current pain
+		!! ARGS[3] length of inserted object
+		!! ARGS[4] grange of inserted object
+		!! ARGS[5] skill (0-2) aka silavag
+		!! ARGS[6] stimulation time
+		!! length and girth abilities of hole are not also separated
+		!! but I suppose that they are related although it is not propable
+		!! we can estimate difference in girth and length
+		grdif = (ARGS[4] - ARGS[0])/2
+		ltdif = (ARGS[3] - ARGS[0])/4
+		!! painful intercourse
+		if pain_coeff > rand(0,2):
+			grdif += rand(pain_coeff/2, pain_coeff)
+			ltdif += rand(pain_coeff/2, pain_coeff)
+		end
+		!! in pain, compensated with lube
+		if ARGS[2] > 0:
+			if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): grdif += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
+			if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): ltdif += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
+		end
+		!! lube can compensate the difference a bit, or make it worse if there is no lube at all
+		if ARGS[1] > 0:
+			grdif -= rand(ARGS[1]/2, ARGS[1])
+			ltdif -= rand(ARGS[1]/4, ARGS[1]/2)
+		else
+			grdif += max(1, rand(grdif/4, grdif/2)) / max(1,ARGS[5]+1)
+			ltdif += max(1, rand(ltdif/6, ltdif/4)) / max(1,ARGS[5]+1)
+		end
+		!! when skilled, it does not harm PC
+		if ARGS[5] > 0 and ltdif > 0: ltdif /= ARGS[5]+1
+		!! if there is any discomfort, check intercourse duration, compensated by skill
+		if stim_time > 1:
+			if grdif > rand(stim_time): grdif += rand(stim_time / (max(1,ARGS[5])*5), stim_time / (max(1,ARGS[5])*3))
+			if ltdif > rand(stim_time): ltdif += rand(stim_time / (max(1,ARGS[5])*5), stim_time / (max(1,ARGS[5])*3))
+		end
+
+		!! min\max
+		grdif = max(0, grdif / max(1, (ARGS[0]/6)))
+		ltdif = max(0, ltdif / max(1, (ARGS[0]/6)))
+
+		!{ 'hole size <<ARGS[0]>>; length: <<ARGS[3]>>; grange: <<ARGS[4]>>; hole slippery: <<ARGS[1]>>; current pain: <<ARGS[2]>>; stim_time: <<stim_time>>; skill: <<ARGS[5]>>; grdif: <<grdif>>; ltdif: <<ltdif>>' }
+	}
 
 !!add count and effects due to action
 	if $ARGS[0] = 'clit_finger':
@@ -303,12 +340,14 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], rand(15,20), rand(35,40), rand(0,2)
 		stim['act'] -= grdif + ltdif
-		agape = min(4, iif((grdif + ltdif) > 3*agape,(grdif + ltdif)/3,agape))
 		gs 'pain', grdif+ltdif, 'asshole', 'stretch'
+		if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
 		pcs_ass += 1
 	elseif $ARGS[0] = 'self_fisting_anal':
 		orgasm_flag['anal'] = 1
 		count['self_fisting_anal'] = 1
+		!! add lube from saliva
+		if anal_slip < max(1, pcs_hydra/20): anal_slip = max(1, pcs_hydra/20)
 		stim['act'] = 30
 		if pcs_traits['buttslut_lvl'] = 1:
 			stim['act'] = 50
@@ -317,8 +356,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], rand(10,15), rand(30,35), 2
 		stim['act'] -= grdif + ltdif
-		agape = min(4, iif((grdif + ltdif) > 3*agape,(grdif + ltdif)/3,agape))
 		gs 'pain', grdif+ltdif, 'asshole', 'stretch'
+		if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
 		pcs_ass += 1
 	elseif $ARGS[0] = 'anal_vibe':
 		orgasm_flag['anal'] = 1
@@ -346,12 +385,15 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		elseif pcs_traits['buttslut_lvl'] >= 2:
 			stim['mag'] += 3
 		end
+		if vaginal_slip < max(1, anal_slip/2):
+			if cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
+		end
 		dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
 		stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-		!! calculate the harm
-		agape = min(4, iif((grdif + ltdif) > 5*agape,(grdif + ltdif)/5, agape))
 		!! the pain lover the pleasure
 		gs 'pain', grdif + ltdif, 'asshole', 'stretch'
+		!! calculate the harm
+		if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
 		!! force cum leak
 		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
 		if pcs_ass < temp_dick:pcs_ass += 1
@@ -361,6 +403,9 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		orgasm_flag['anal'] = 1
 		count['anal_dildo'] = 1
 		!! the same as for 'anal'
+		if vaginal_slip < max(1, anal_slip/2):
+			if cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
+		end
 		dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
 		stim['act'] = 80 - grdif + ltdif + temp_silavag*8
 		if pcs_traits['buttslut_lvl'] = 1:
@@ -368,8 +413,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		elseif pcs_traits['buttslut_lvl'] >= 2:
 			stim['mag'] += 1
 		end
-		agape = min(4, iif((grdif + ltdif) > 5*agape,(grdif + ltdif)/5, agape))
 		gs 'pain', grdif + ltdif, 'asshole', 'stretch'
+		if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
 		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
 		if pcs_ass < temp_dick:pcs_ass += 1
 		if pcs_ass*2 < temp_dick:pcs_ass += 1
@@ -384,10 +429,13 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			stim['mag'] += 1
 		end
 		!! the same as for 'anal'
+		if vaginal_slip < max(1, anal_slip/2):
+			if cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
+		end
 		dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
 		stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-		agape = min(4, iif((grdif + ltdif) > 5*agape,(grdif + ltdif)/5, agape))
 		gs 'pain', grdif + ltdif, 'asshole', 'stretch'
+		if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
 		!! force cum leak
 		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
 		if pcs_ass < temp_dick:pcs_ass += 1
@@ -405,19 +453,21 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 70
 		dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], rand(15,20), rand(35,40), rand(0,2)
 		stim['act'] -= grdif + ltdif
-		vgape = min(4, iif((grdif + ltdif) > 3*vgape,(grdif + ltdif)/3,vgape))
 		gs 'pain', grdif+ltdif, 'vaginal', 'stretch'
 		gs 'pain', rand(grdif), 'labia', 'stretch'
+		if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
 		pcs_vag += 1
 	elseif $ARGS[0] = 'self_fisting':
 		orgasm_flag['vaginal'] = 1
 		count['self_fisting'] = 1
+		!! add lube from saliva
+		if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip = max(1, pcs_hydra/20)
 		stim['act'] = 70
 		dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], rand(10,15), rand(30,35), 2
 		stim['act'] -= grdif + ltdif
-		vgape = min(4, iif((grdif + ltdif) > 3*vgape,(grdif + ltdif)/3,vgape))
 		gs 'pain', grdif+ltdif, 'vaginal', 'stretch'
 		gs 'pain', rand(grdif), 'labia', 'stretch'
+		if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
 		pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_vibe':
 		orgasm_flag['vaginal'] = 1
@@ -427,6 +477,11 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	elseif $ARGS[0] = 'vaginal':
 		pcs_sweat += rand(1,3)*max(1,stim_time/5)
 		orgasm_flag['vaginal'] = 1
+		!! add anal lube from vaginal juices
+		if anal_slip < max(1, vaginal_slip/2):
+			anal_slip = max(1, vaginal_slip/rand(2,3))
+			if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
+		end
 		!! pre-cum check
 		if rand(0,120) < ARGS[1]: cumprecheck = 1 & gs 'cum_manage'
 		if temp_unaware = 1:
@@ -446,13 +501,13 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['mag'] += 3
 		dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
 		stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-		!! calculate the harm
-		vgape = min(4, iif((grdif + ltdif) > 3*vgape,(grdif + ltdif)/3,vgape))
 		!! the pain lover the pleasure
 		gs 'pain', grdif+ltdif, 'vaginal', 'stretch'
 		if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock'
 		if grange/max(1, temp_silavag)    > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch'
-		if pain_coeff > 0:gs 'pain', rand(pain_coeff)/5, 'clitoris', 'hit'
+		if pain_coeff > 0: gs 'pain', rand(pain_coeff)/5, 'clitoris', 'hit'
+		!! calculate the harm
+		if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
 		!! force cum leak
 		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
 		if pcs_vag < temp_dick:pcs_vag += 1
@@ -463,13 +518,17 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		count['vaginal_dildo'] = 1
 		stim['mag'] += 1
 		!! the same as for 'vaginal'
+		if anal_slip < max(1, vaginal_slip/2):
+			anal_slip = max(1, vaginal_slip/rand(2,3))
+			if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
+		end
 		dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
 		stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-		vgape = min(4, iif((grdif + ltdif) > 3*vgape,(grdif + ltdif)/3,vgape))
 		gs 'pain', grdif + ltdif, 'vaginal', 'stretch'
 		if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock'
 		if grange/max(1, temp_silavag)    > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch'
 		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
+		if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
 		if pcs_vag < temp_dick:pcs_vag += 1
 		if pcs_vag*2 < temp_dick:pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_strap':
@@ -486,12 +545,16 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		stim['mag'] += 1
 		!! the same as for 'vaginal'
+		if anal_slip < max(1, vaginal_slip/2):
+			anal_slip = max(1, vaginal_slip/rand(2,3))
+			if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
+		end
 		dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
 		stim['act'] = 80 - grdif + ltdif + temp_silavag*8
-		vgape = min(4, iif((grdif + ltdif) > 3*vgape,(grdif + ltdif)/3,vgape))
 		gs 'pain', grdif + ltdif, 'vaginal', 'stretch'
 		if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock'
 		if grange/max(1, temp_silavag)    > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch'
+		if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
 		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
 		if pcs_vag < temp_dick:pcs_vag += 1
 		if pcs_vag*2 < temp_dick:pcs_vag += 1
@@ -575,6 +638,9 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 25
 	elseif $ARGS[0] = 'bj':
 		pcs_sweat += rand(0,1)*max(1,stim_time/5)
+		!! add lube from saliva
+		if anal_slip < max(1, pcs_hydra/20): anal_slip += max(1, pcs_hydra/20)
+		if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip += max(1, pcs_hydra/20)
 		if temp_unaware = 1:
 			count['hidden_bj'] = 1
 		else
@@ -603,6 +669,9 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	elseif $ARGS[0] = 'dildo_suck':
 		count['dildo_suck'] = 1
 		stim['act'] = 30
+		!! add lube from saliva
+		if anal_slip < max(1, pcs_hydra/20): anal_slip += max(1, pcs_hydra/20)
+		if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip += max(1, pcs_hydra/20)
 		if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'mouth', 'stretch'
 		if pcs_lipbalm > 0:
 			pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
@@ -903,6 +972,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	stim['total'] = ((stim['mag']*stim['act']*stim['kink']/100) + stim['pref'])*stim['time'] / 120
 
 !!Reduction in arousal linked to pain, masochism helps to deal with this
+	gs 'pain', 'calc'
 	if pain['total'] > 0:
 		if maso['pref'] <= 0 and pain['total'] < 50:
 			if pain['total'] - (maso['exp'] + 1 / 6) > 0:stim['total'] -= (pain['total'] - (maso['exp'] / 6))
@@ -971,10 +1041,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	killvar '$orgasm_txt'
 	killvar '$stim_les'
 	killvar '$stim_foot'
-	killvar 'stim_time'
-	killvar 'pain_coeff'
 	killvar '$get_hole_pain'
-	killvar 'grdif' & killvar 'ltdif'
 
 	gs 'nichUtil','onArouse',$ARGS[0]
 	
@@ -1054,11 +1121,15 @@ if $ARGS[0] = 'end':
 		end
 	end
 
+	killvar 'lubonus'
 	killvar 'anal_slip'
 	killvar 'ar_anal_lube'
 	killvar 'vaginal_slip'
 	killvar 'ar_vag_lube'
 	killvar '$orgasm_or'
+	killvar 'stim_time'
+	killvar 'pain_coeff'
+	killvar 'grdif' & killvar 'ltdif'
 
 !!Updating fetish exp for acts carried out and clearing data
 	gs 'arousal', 'checks', 'maso'
@@ -1186,7 +1257,7 @@ end
 !!to use enter gs 'arousal', 'auto_lube', 'anal' or 'vag'
 !!add 'custom' to display a custom or no text by setting $lube_txt, if $lube_txt is '' no text will be displayed
 if $ARGS[0] = 'auto_lube':
-	if $ARGS[1] = 'anal' and auto_anal_lube = 1:
+	if $ARGS[1] = 'anal' and auto_anal_lube = 1 and anal_slip < 8 + pain['asshole']/2 - pcs_ass:
 		if mc_inventory['lubricant'] > 0:
 			if $ARGS[2] ! 'custom': 
 				'You rub some lube in and around your anus.'
@@ -1194,14 +1265,14 @@ if $ARGS[0] = 'auto_lube':
 				$lube_txt
 			end
 			gs 'arousal', 'anal_finger', 1
-			anal_slip = 8
+			anal_slip += 8
 			ar_anal_lube = 1
 			mc_inventory['lubricant'] -= 1
 		elseif $ARGS[2] ! 'custom' or ($ARGS[2] = 'custom' and $lube_txt ! ''):
 			'You do not have any lube left so cannot use it during this sex act.'
 		end
 	end
-	if $ARGS[1] = 'vag' and auto_vag_lube = 1:
+	if $ARGS[1] = 'vag' and auto_vag_lube = 1 and vaginal_slip < 8 + pain['vaginal']/2 - pcs_vag:
 		if mc_inventory['lubricant'] > 0:
 			if $ARGS[2] ! 'custom': 
 				'You rub some lube in and around your vagina.'
@@ -1209,7 +1280,7 @@ if $ARGS[0] = 'auto_lube':
 				$lube_txt
 			end
 			gs 'arousal', 'vaginal_finger', 1
-			vaginal_slip = 8
+			vaginal_slip += 8
 			ar_vag_lube = 1
 			mc_inventory['lubricant'] -= 1
 		elseif $ARGS[2] ! 'custom' or ($ARGS[2] = 'custom' and $lube_txt ! ''):

+ 47 - 38
locations/cikl.qsrc

@@ -427,12 +427,21 @@ end
 if Enable_auto_tampons =  0 and isprok = 1: isprok = 0 & 'You threw away your used tampon.'
 if Enable_auto_tampons =  0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'
 
+if lactation['nipgrowth'] > 0:
+	tmp = rand(0,2)
+	pcs_nips -= tmp
+	lactation['nipgrowth'] -= tmp
+	killvar 'tmp'
+elseif lactation['nipgrowth'] < 0:
+	lactation['nipgrowth'] = 0
+end
+
 if preg = 1:
 	pregtime = pregchem / 24
 
 	if pregtimes = 0:pregtimes = 1
 
-elseif preg = 2 and pregminut < totminut:
+	elseif preg = 2 and pregminut < totminut:
 	if Enable_nogameover = 0 :
 		cla
 		*clr
@@ -570,43 +579,43 @@ if pregchem > 240:fat += 1
 !!	Pain
 !!------------------------------------------------------------------------------------------------------------
 
-if pain['head'] > 0:pain['head'] -= rand(1,3)
-if pain['hair'] > 0:pain['hair'] -= rand(1,3)
-if pain['ears'] > 0:pain['ears'] -= rand(1,3)
-if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
-if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
-if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
-if pain['nose'] > 0:pain['nose'] -= rand(1,3)
-if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
-if pain['lips'] > 0:pain['lips'] -= rand(1,3)
-if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
-if pain['throat'] > 0:pain['throat'] -= rand(1,3)
-if pain['neck'] > 0:pain['neck'] -= rand(1,3)
-if pain['back'] > 0:pain['back'] -= rand(1,3)
-if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
-if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
-if pain['hips'] > 0:pain['hips'] -= rand(1,3)
-if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
-if pain['legL'] > 0:pain['legL'] -= rand(1,3)
-if pain['legR'] > 0:pain['legR'] -= rand(1,3)
-if pain['feet'] > 0:pain['feet'] -= rand(1,3)
-if pain['toes'] > 0:pain['toes'] -= rand(1,3)
-if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
-if pain['armL'] > 0:pain['armL'] -= rand(1,3)
-if pain['armR'] > 0:pain['armR'] -= rand(1,3)
-if pain['hands'] > 0:pain['hands'] -= rand(1,3)
-if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
-if pain['chest'] > 0:pain['chest'] -= rand(1,3)
-if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
-if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
-if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
-if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
-if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
-if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
-if pain['labia'] > 0:pain['labia'] -= rand(1,3)
-if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
-if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
-if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)
+if pain['head'] > 0:     pain['head']      -= max(rand(1,3), rand(pain['head']      /2))
+if pain['hair'] > 0:     pain['hair']      -= max(rand(1,3), rand(pain['hair']      /2))
+if pain['ears'] > 0:     pain['ears']      -= max(rand(1,3), rand(pain['ears']      /2))
+if pain['eyebrows'] > 0: pain['eyebrows']  -= max(rand(1,3), rand(pain['eyebrows']  /2))
+if pain['eyes'] > 0:     pain['eyes']      -= max(rand(1,3), rand(pain['eyes']      /2))
+if pain['cheeks'] > 0:   pain['cheeks']    -= max(rand(1,3), rand(pain['cheeks']    /2))
+if pain['nose'] > 0:     pain['nose']      -= max(rand(1,3), rand(pain['nose']      /2))
+if pain['mouth'] > 0:    pain['mouth']     -= max(rand(1,3), rand(pain['mouth']     /2))
+if pain['lips'] > 0:     pain['lips']      -= max(rand(1,3), rand(pain['lips']      /2))
+if pain['tongue'] > 0:   pain['tongue']    -= max(rand(1,3), rand(pain['tongue']    /2))
+if pain['throat'] > 0:   pain['throat']    -= max(rand(1,3), rand(pain['throat']    /2))
+if pain['neck'] > 0:     pain['neck']      -= max(rand(1,3), rand(pain['neck']      /2))
+if pain['back'] > 0:     pain['back']      -= max(rand(1,3), rand(pain['back']      /2))
+if pain['asscheeks'] > 0:pain['asscheeks'] -= max(rand(1,3), rand(pain['asscheeks'] /2))
+if pain['asshole'] > 0:  pain['asshole']   -= max(rand(1,3), rand(pain['asshole']   /2))
+if pain['hips'] > 0:     pain['hips']      -= max(rand(1,3), rand(pain['hips']      /2))
+if pain['thighs'] > 0:   pain['thighs']    -= max(rand(1,3), rand(pain['thighs']    /2))
+if pain['legL'] > 0:     pain['legL']      -= max(rand(1,3), rand(pain['legL']      /2))
+if pain['legR'] > 0:     pain['legR']      -= max(rand(1,3), rand(pain['legR']      /2))
+if pain['feet'] > 0:     pain['feet']      -= max(rand(1,3), rand(pain['feet']      /2))
+if pain['toes'] > 0:     pain['toes']      -= max(rand(1,3), rand(pain['toes']      /2))
+if pain['shoulders'] > 0:pain['shoulders'] -= max(rand(1,3), rand(pain['shoulders'] /2))
+if pain['armL'] > 0:     pain['armL']      -= max(rand(1,3), rand(pain['armL']      /2))
+if pain['armR'] > 0:     pain['armR']      -= max(rand(1,3), rand(pain['armR']      /2))
+if pain['hands'] > 0:    pain['hands']     -= max(rand(1,3), rand(pain['hands']     /2))
+if pain['fingers'] > 0:  pain['fingers']   -= max(rand(1,3), rand(pain['fingers']   /2))
+if pain['chest'] > 0:    pain['chest']     -= max(rand(1,3), rand(pain['chest']     /2))
+if pain['breasts'] > 0:  pain['breasts']   -= max(rand(1,3), rand(pain['breasts']   /2))
+if pain['nipples'] > 0:  pain['nipples']   -= max(rand(1,3), rand(pain['nipples']   /2))
+if pain['ribs'] > 0:     pain['ribs']      -= max(rand(1,3), rand(pain['ribs']      /2))
+if pain['tummy'] > 0:    pain['tummy']     -= max(rand(1,3), rand(pain['tummy']     /2))
+if pain['pubic'] > 0:    pain['pubic']     -= max(rand(1,3), rand(pain['pubic']     /2))
+if pain['vaginal'] > 0:  pain['vaginal']   -= max(rand(1,3), rand(pain['vaginal']   /2))
+if pain['labia'] > 0:    pain['labia']     -= max(rand(1,3), rand(pain['labia']     /2))
+if pain['clitoris'] > 0: pain['clitoris']  -= max(rand(1,3), rand(pain['clitoris']  /2))
+if pain['urethra'] > 0:  pain['urethra']   -= max(rand(1,3), rand(pain['urethra']   /2))
+if pain['cervix'] > 0:   pain['cervix']    -= max(rand(1,3), rand(pain['cervix']    /2))
 
 if painpub = 2:
 	if painpubday + 5 < daystart:

+ 2 - 2
locations/city_clinic.qsrc

@@ -1728,8 +1728,8 @@ if $ARGS[0] = 'milk_donation':
 			lactation['breastpumped'] = 1
 			'After 15 minutes, the employee detaches the pumps from your breasts.'
 			if lact_ev['poli_milkedvolume'] => 50000:
+				lact_ev['poli_donationsessioncount'] += lact_ev['poli_milkedvolume']/10000
 				lact_ev['poli_temp_var'] = (lact_ev['poli_milkedvolume']/50000)
-				lact_ev['poli_donationsessioncount'] += lact_ev['poli_temp_var'] 
 				lact_ev['poli_totalmilkdonation_count'] += 1
 				lact_ev['poli_totalmilkdonated'] += (lact_ev['poli_temp_var']*50)
 				if lact_ev['poli_temp_var'] >= 12:
@@ -1761,7 +1761,7 @@ if $ARGS[0] = 'milk_donation':
 			end
 			lact_ev['poli_milkedvolume'] = 0
 			if lact_ev['poli_donationsessioncount'] > 0:
-				lact_ev['poli_donatemoney'] = (lact_ev['poli_donationsessioncount']*100)
+				lact_ev['poli_donatemoney'] = (lact_ev['poli_donationsessioncount']*15)/10*10
 			else
 				lact_ev['poli_donatemoney'] = 0
 			end

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 168 - 326
locations/city_nightclub.qsrc


+ 4 - 4
locations/city_nightclubToilet.qsrc

@@ -12,7 +12,7 @@ if $ARGS[0] = 'start':
 	gs 'stat'
 	*clr & cla
     
-	'<center><b><font color="maroon">Nightclub-Restroom</font></b></center>'
+	'<center><b><font color="maroon">Nightclub - Restroom</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/toiletwalkway.jpg"></center>'
 	gs 'willpower', 'exhib', 'self'
 		if will_cost <= pcs_willpwr:
@@ -42,9 +42,9 @@ if $ARGS[0] = 'clubtoilet_men':
 
 	*clr & cla
 	gs 'stat'
-	'<center><b><font color="maroon">Nightclub-Men''s Room</font></b></center>'
+	'<center><b><font color="maroon">Nightclub - Men''s Room</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/mentoilet.jpg"></center>'
-	'You walk in to the men''s restroom. You see some sinks and <a href="exec:gt ''mirror'', ''start''">mirrors</a>.'
+	'You walk into the men''s restroom, where you see some sinks and <a href="exec:gt ''mirror'', ''start''">mirrors</a>.'
 	
 	act 'Leave': gt 'city_nightclubToilet', 'start'
 	
@@ -68,7 +68,7 @@ if $ARGS[0] = 'clubtoilet_women':
 	
 	*clr & cla
 	gs 'stat'
-	'<center><b><font color="maroon">Nightclub-Women''s Room</font></b></center>'
+	'<center><b><font color="maroon">Nightclub - Women''s Room</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/womentoilet.jpg"></center>'
 	'You walk in to the women''s restroom. You see some sinks and <a href="exec:gt ''mirror'', ''start''">mirrors</a>. You notice the last stall has its door wide open.'
 

+ 3 - 1
locations/city_sauna.qsrc

@@ -230,7 +230,9 @@ end
 
 if $ARGS[0] = 'saunafitness':
 	$loc = 'city_sauna'
-	$loc_arg = 'saunaroom'
+	$loc_arg = 'saunafitness'
+	$menu_loc = 'city_sauna'
+	$menu_arg = 'saunafitness'
 	$location_type = 'indoors'
 	cla
 	*clr

+ 4 - 0
locations/city_saunawhore.qsrc

@@ -14,6 +14,8 @@ if $ARGS[0] = 'saunawork':
 	$loc = 'city_saunawhore'
 	$loc_arg = 'saunawork'
 	$locBroom = 'city_saunawhore'
+	$menu_loc = 'city_saunawhore'
+	$menu_arg = 'saunawork'
 	$metkaBroom = 'saunawork'
 	$locM = 'city_saunawhore'
 	$locM_arg = 'saunawork'
@@ -332,6 +334,8 @@ if $ARGS[0] = 'bathroom':
 	$loc_arg = 'bathroom'
 	$locM = 'city_saunawhore'
 	$locM_arg = 'bathroom'
+	$menu_loc = 'city_saunawhore'
+	$menu_arg = 'bathroom'
 	$location_type = 'bathroom'
 	menu_off = 0
 

+ 5 - 0
locations/cum_cleanup.qsrc

@@ -328,6 +328,11 @@ elseif $ARGS[0] = '':
 	killvar 'deresidue'
 	killvar 'tmp'
 	killvar 'i'
+	killvar 'lubonus'
+	killvar 'anal_slip'
+	killvar 'vaginal_slip'
+	killvar 'ar_anal_lube'
+	killvar 'ar_vag_lube'
 	if cumsumvag > 0: cum_vol['vagina'] = cumsumvag & cumvol[0] = cumsumvag & cum_loc['vagina'] = 1 & cumloc[0] = 1
 	if cumsumass > 0: cum_vol['anus'] = cumsumass   & cumvol[3] = cumsumass & cum_loc['anus'] = 1   & cumloc[3] = 1
 

+ 3 - 3
locations/din_van.qsrc

@@ -536,7 +536,7 @@ $tampon =  {
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 	end
-	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0 and stat['vaginal'] > 0:
+	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0:
 		act 'Use a tampon (0:02)':
 			menu_off = 1
 			*clr & cla
@@ -1550,7 +1550,7 @@ if $ARGS[0] = 'prvt_pee':
 
 	!!If PC is on her period and using tampon, then the following options should appear as well as the standard "Finish and wipe" act:
 	!!This may require an addition check to see if the PC has a purse since I think they need that to carry tampons with them.
-			if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0 and stat['vaginal'] > 0:
+			if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0:
 				act 'Change tampon (0:02)':
 					*clr & cla
 					mc_inventory['tampons'] -=  1
@@ -1678,7 +1678,7 @@ if $ARGS[0] = 'pblc_pee':
 				end
 			end
 
-			if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0 and stat['vaginal'] > 0:
+			if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0:
 				act 'Change tampon (0:02)':
 					*clr & cla
 					mc_inventory['tampons'] -=  1

+ 1 - 1
locations/etoexhib.qsrc

@@ -1383,7 +1383,7 @@ if $ARGS[0] = 'pos39':
 		act 'Remove underwear':gs 'underwear', 'remove' & gt $loc,$loc_arg
 	end
 
-	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0 and stat['vaginal'] > 0:
+	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0:
 		act 'Change tampon':
 			cla
 			*clr

+ 4 - 4
locations/gschool_break.qsrc

@@ -1168,11 +1168,11 @@ if $ARGS[0] = 'smoke2':
 																					'Ms. Braakman pushes you down, bending you over her desk. She reaches around and shoves her panties in your mouth before she starts fucking you with the strapon again. Several minutes go by until she finally stops and pulls her panties out of your mouth, obviously tired from the exertion. "Get your clothes and get out!" she demands and you quickly gather up your clothes and get dressed before leaving.'
 																				else
 																					'Ms. Braakman pushes you down, bending you over her desk. She reaches around and shoves your panties in your mouth before she starts fucking you with the strapon again. Several minutes go by until she finally stops, obviously tired from the exertion. "Get your clothes and get out!" she demands and you quickly gather up your clothes, pull your panties out of your mouth and get dressed before leaving.'
-																					gs 'arousal', 'vaginal_strap', 3, 'sub', 'humiliation'
-																					gs 'arousal', 'end'
-																					gs 'stat'
-																					act 'Leave': gt 'gschool_lessons', 'short_break'
 																				end
+																				gs 'arousal', 'vaginal_strap', 3, 'sub', 'humiliation'
+																				gs 'arousal', 'end'
+																				gs 'stat'
+																				act 'Leave': gt 'gschool_lessons', 'short_break'
 																			end
 																		end
 																	end

+ 1 - 1
locations/gschool_events.qsrc

@@ -1132,7 +1132,7 @@ if $ARGS[0] = 'break_events':
 	elseif break_rand <= 35 and cheerleadingQW['quest_stage'] = -1 and cheerleadingQW['reject'] + 30 => daystart:
 	 !! 'repeat' event that reminds the player of cheerleading if they rejected it the first time or failed the tryouts.
 		gt 'gschool_cheerleading', 'poster_repeat'
-	elseif break_rand <= 36 and petka_homework_day ! daystart:
+	elseif break_rand <= 36 and petka_homework_day ! daystart and week > 1:
 		*clr & cla
 		petka_homework_day = daystart
 		gs 'stat'

+ 9 - 0
locations/gschool_lessons1.qsrc

@@ -430,6 +430,7 @@ if $ARGS[0] = 'russian':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_rus_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about since you keep dozing off.'
@@ -445,6 +446,7 @@ if $ARGS[0] = 'russian':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev1', 'russian'
 		elseif daydream = 3:
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'Mr. Yenotin is talking about the history of the Russian language and it''s dragging on. You nod off from time to time and you''re having a hard time staying awake.'
 			'All of a sudden, you find yourself in the Middle Ages walking around in a castle. You look around and see soldiers, clergymen and farmers going about their lives. In one corner, you see a girl your age waving you over to her. You happily run over, but just as you''re about to reach her, a clergyman stops you and speaks to you in a language you can''t seem to understand.'
@@ -456,6 +458,7 @@ if $ARGS[0] = 'russian':
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/bored.jpg"></center>'
 			'Mr. Yenotin is talking about grammar and asks that everyone listen closely to what he''s saying. You don''t care about his lecture and instead talk to the person sitting next to you.'
 			'"Well Miss <<$pcs_lastname>>, since you have so much to say, why don''t we do it like this? You be the teacher and I''ll be the student." Mr. Yenotin says, clearly irritated by your actions.'
@@ -955,6 +958,7 @@ if $ARGS[0] = 'geography':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_geo_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
@@ -972,6 +976,7 @@ if $ARGS[0] = 'geography':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev2', 'geography'
 		elseif daydream = 3:
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
 			'All of a sudden you hear Mrs. Sokoloff loudly announce "There''s a surprise test in 10 minutes. Until then you''re free to do whatever you want."'
@@ -980,6 +985,7 @@ if $ARGS[0] = 'geography':
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'Mrs. Sokoloff is lecturing the class about exotic places around the world. You close your eyes as you start to fantasize about these places.'
 			'You suddenly find yourself standing in front of a group of people with a globe. They tell you that you''re free to spin it and you''ll get to travel where it stops for free.'
@@ -1481,6 +1487,7 @@ if $ARGS[0] = 'history':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_his_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
@@ -1498,6 +1505,7 @@ if $ARGS[0] = 'history':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev2', 'history'
 		elseif daydream = 3:
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You''re far too tired to pay attention in class today. Mrs. Sokoloff is droning on about the Tsar''s family and their life.'
 			'You close your eyes as you fantasize about living at that time as a noble. You''re in a large room in your underwear while an entourage of women and girls run around presenting a number of dresses for you to wear to the party.'
@@ -1507,6 +1515,7 @@ if $ARGS[0] = 'history':
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You''re far too tired to pay attention in class today. Mrs. Sokoloff is talking about a grand female leader from the Middle Ages. You''re finding her story pretty boring and keep dozing off.'
 			'All of a sudden, you find yourself on a battlefield riding a horse. You seem to be wearing a heavy suit of armor and you''re riding up and down a flank as you''re trying to amass the troops for an attack.'

+ 10 - 0
locations/gschool_lessons2.qsrc

@@ -453,6 +453,7 @@ if $ARGS[0] = 'computer':
 			end
 		elseif daydream = 2:
 			*clr & cla
+			pcs_sleep += rand(1,3)
 			if class['school_comp_grade'] >= 80:
 			   if grupTipe = 3:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
@@ -478,6 +479,7 @@ if $ARGS[0] = 'computer':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev1', 'computer'
 		else
 			*clr & cla
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You spend the duration of class drifting in and out of sleep when the bell startles you awake and you look around in a bit of a confused daze. Mr. Ivanov doesn''t seem to have noticed, nor have most of your classmates, but a few of them give you a knowing smile. You gather up your stuff and leave the classroom.'
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
@@ -886,6 +888,7 @@ if $ARGS[0] = 'science':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_sci_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
@@ -905,11 +908,13 @@ if $ARGS[0] = 'science':
 		elseif daydream = 3:
 !!reminder to add trigger so this doesn''t trigger if player selects straight sexual orientation at character creation.
 			*clr & cla
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You fall asleep, but are suddenly awoken by a loud noise. You jerk up and look around. All the other students are gone, but you notice Miss Orlov standing near her desk staring at you. She looks... different. Is that a leather skirt and bra? "This is the last time you fall asleep in my class <<$pcs_lastname>>! Now come up here for your punishment!" You sit thinking about how this can''t be real when she slaps her desk. "Now <<$pcs_lastname>>!"'
 			act 'Walk up to her desk': gt 'gschool_lessons2', 'arina_dream'
 		else
 			*clr & cla
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You spend the duration of class drifting in and out of sleep when the bell startles you awake and you look around in a bit of a confused daze. Miss Orlov doesn''t seem to have noticed, nor have most of your classmates, but a few of them give you a knowing smile. You gather up your stuff and leave the classroom.'
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
@@ -1423,6 +1428,7 @@ if $ARGS[0] = 'music':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_mus_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
@@ -1440,6 +1446,7 @@ if $ARGS[0] = 'music':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev3', 'music'
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You fell asleep and the end of class bell wakes you up.'
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
@@ -1829,6 +1836,7 @@ if $ARGS[0] = 'biology':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_bio_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
@@ -1848,11 +1856,13 @@ if $ARGS[0] = 'biology':
 		elseif daydream = 3:
 !!reminder to add trigger so this doesn''t trigger if player selects straight sexual orientation at character creation.
 			*clr & cla
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You fall asleep, but are suddenly awoken by a loud noise. You jerk up and look around. All the other students are gone, but you notice Miss Orlov standing near her desk staring at you. She looks... different. Is that a leather skirt and bra? "This is the last time you fall asleep in my class <<$pcs_lastname>>! Now come up here for your punishment!" You sit thinking about how this can''t be real when she slaps her desk. "Now <<$pcs_lastname>>!"'
 			act 'Walk up to her desk': gt 'gschool_lessons2', 'arina_dream'
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You spend the duration of class drifting in and out of sleep when the bell startles you awake and you look around in a bit of a confused daze. Miss Orlov doesn''t seem to have noticed, nor have most of your classmates, but a few of them give you a knowing smile. You gather up your stuff and leave the classroom.'
 			act 'Leave class': gt 'gschool_lessons', 'short_break'

+ 6 - 0
locations/gschool_lessons3.qsrc

@@ -106,6 +106,7 @@ if $ARGS[0] = 'literature':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_lit_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'As Ms. Braakman continues talking, you find yourself unable to stay awake. You''re just on the edge of falling completely asleep when you''re snapped back to reality by the teacher calling your name. "Well? What''s the answer?" she asks with a smug smile.'
@@ -163,6 +164,7 @@ if $ARGS[0] = 'literature':
 			end
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You fell asleep and the bell wakes you up. You slowly get up and stretch before heading to your next class.'
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
@@ -844,6 +846,7 @@ if $ARGS[0] = 'art':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_art_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
@@ -859,6 +862,7 @@ if $ARGS[0] = 'art':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev3', 'art'
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You fell asleep and the bell wakes you up.'
 			act 'Leave class': gt 'gschool_lessons', 'short_break'
@@ -1409,6 +1413,7 @@ if $ARGS[0] = 'shop':
 			end
 		elseif daydream = 2:
 			*clr
+			pcs_sleep += rand(1,3)
 			if class['school_shop_grade'] >= 80:
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you keep dozing off.'
@@ -1426,6 +1431,7 @@ if $ARGS[0] = 'shop':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev2', 'shop'
 		else
 			*clr
+			pcs_sleep += rand(2,5)
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You fell asleep and the bell wakes you up.'
 			act 'Leave class': gt 'gschool_lessons', 'short_break'

+ 4 - 0
locations/gschool_lessons4.qsrc

@@ -127,6 +127,7 @@ if $ARGS[0] = 'math':
 			!	gt 'NikoDreams', 'Toilet Time' this does not exist so commenting it out
 			elseif VK > 12:
 				*clr & cla
+				pcs_sleep += rand(1,3)
 				gs'stat'
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikomisc/nightmares/class/rest.jpg"></center>'
 				'You can feel the day dragging on slowly, so you rest your head on the desk, trying your best to focus on anything but today''s lesson. The light occasionally creeps in between your arms, so you keep re-adjusting until it stops, causing you to feel at peace as you slumber through the lesson.'
@@ -140,6 +141,7 @@ if $ARGS[0] = 'math':
 			elseif VK > 6:
 				VKrand = rand(1,3)
 				*clr & cla
+				pcs_sleep += rand(0,2)
 				gs'stat'
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You''re far too tired to pay attention in class today. You don''t even know what the lesson is about as you continuously doze off. After what feels like a few seconds, you suddenly hear Mr. Tsarev call your name. Everyone''s eyes are on you. "I asked you for the answer to my question," Mr. Tsarev tells you.'
@@ -526,6 +528,7 @@ if $ARGS[0] = 'english':
 				end
 			elseif daydream = 2:
 				*clr
+				pcs_sleep += rand(1,3)
 				if class['school_eng_grade'] >= 80:
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 					'As Ms. Braakman continues talking, you find yourself unable to stay awake. You''re just on the edge of falling completely asleep when you''re snapped back to reality by the teacher calling your name. "Well? What''s the answer?" she asks with a smug smile.'
@@ -541,6 +544,7 @@ if $ARGS[0] = 'english':
 				act 'Wait for the end of the lesson': gs 'gschool_lessonsev3', 'english'
 			else
 				*clr
+				pcs_sleep += rand(2,5)
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 				'You fell asleep and the bell wakes you up.'
 				act 'Leave class': gt 'gschool_lessons', 'short_break'

+ 118 - 118
locations/katja_city.qsrc

@@ -1,13 +1,13 @@
 # katja_city
 !2022/03/08
 
-!! This file governs Katja''s actian in the city center and park. For the variable controlling her content see the documentation in katja_procedural.
+!! This file governs Katja''s actions in the city center and park. For the variables controlling her content, see the documentation in katja_procedural.
 
 if $ARGS[0] = 'metro':
 	$location_type = 'public_indoors'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/waiting_metro.jpg"></center>'
 	gs 'katja_meynold_schedule'
-	'You walk to the Metro station and '+iif(money >= 16, 'pay the fare.', ' since you don''t have any money Katja pays the fare for you.')+' You then go down to the platform and chat while you wait for the train.'
+	'You walk to the Metro station '+iif(money >= 16, 'and pay the fare.', 'but don''t have any money, so Katja pays the fare for you.')+' You then go down to the platform and chat while you wait for the train.'
 	if money >= 16: money -= 16
 	act 'Wait for the train':
 		!! Here will be a check for random events as soon as some are written.
@@ -19,16 +19,16 @@ if $ARGS[0] = 'metro_ride':
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/riding_metro.jpg"></center>'
-	'The train arrives and you board before finding a place to sit as the train leaves the station.' 
+	'The train arrives and you board before finding a place to sit as it leaves the station.' 
 	act 'Chat with Katja':
 		!! Here will be a check for random events as soon as some are written.
 		if katjaQW['drinks'] > rand(10,14):
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/city/metro_drunk.jpg"></center>'
-			'Katja is so drunk that she doesn''t manage to get to a seat, and just lies down on the floor just inside the train.'
-			'You try to get her up, but she is really persistent that she lies perfectly well on the floor and just needs a small nap.'
+			'Katja is so drunk that she doesn''t make it to a seat and just lies on the floor.'
+			'You try to get her up, but she insists that she''s fine and just needs a nap.'
 			'You manage to get her to stand up just as you arrive at your station.'
-			act 'Get off the train and leave the metro': gt 'katja_city', 'metro_destination'
+			act 'Leave the metro': gt 'katja_city', 'metro_destination'
 		else
 			gt 'katja_city', 'metro_get_off'
 		end
@@ -40,7 +40,7 @@ if $ARGS[0] = 'metro_get_off':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/riding_metro.jpg"></center>'	
 	'You chat with Katja as the train heads through the tunnel. After a short time, you arrive at your destination.'  
-	act 'Get off the train and leave the metro':
+	act 'Leave the metro':
 		!! Here will be a check for random events as soon as some are written.
 		gt 'katja_city', 'metro_destination'
 	end
@@ -68,30 +68,31 @@ if $ARGS[0] = 'metro_destination':
 		katjaQW['disco_arrival'] = totminut
 		gs 'stat'
 		gs 'themes', 'indoors'
-		'You exit the metro station walk to the nightclub, and get in line.'
+		'You exit the metro station and walk to the nightclub, where you get in line.'
 		if hotcat = 10:
-			'The bouncer almost immediately spots the two of you and lets you in, jumping to the front of the long line and you can hear several complaints, but also some whitling and more lewd comments.'
+			'The bouncer almost immediately spots the two of you and lets you in, allowing you to skip the long line. You can hear several complaints, but also some whistling and lewd comments.'
 		elseif hotcat > 7:
 			minut += 5
-			'The two of you stand in line for a short while, before the bouncer singles you out, and you get to jump ahead of several people much to their complaints.'
+			'The two of you stand in line for a short while before the bouncer singles you out and you get to jump ahead of several people, much to their annoyance.'
 		elseif hotcat > 5:
 			minut += 10
-			'You wait in line for some time, but finally, it is your turn to be let in.'
+			'You wait in line for some time, but finally make it to the door.'
 		else
 			minut += rand(15,20)
-			'You wait in line for a long time, while several girls are allowed to jump ahead of you. But finally, you are allowed in.'
+			'You wait in line for a long time as several more attractive girls are allowed to jump ahead of you, but are eventually allowed in.'
 		end
 		if money >= 250:
 			money -= 250
-			'You pay the fee of 250<b>₽</b>, and go into the club.'
+			'You pay the 250<b>₽</b> entrance fee and head into the club.'
 		else
-			'Turns out you don''t have enough to pay for the entrance fee, so Katja pays for you telling you that next time you will have to pay.'
+			'You don''t have enough to pay the entrance fee, so Katja pays for you.'
+			'"You''re paying for us next time," she says with a slight hint of annoyance.'
 		end
 		if rand(0,1) = 0:
-			'"Let''s start with a dance," Katja says when you are finally inside the club and starts to drag you to the dance floor.'
+			'"Let''s start with a dance," she says when you''re finally inside the club and drags you to the dance floor.'
 			act 'Go to the dance floor': gt 'katja_nightclub', 'dance'
 		else
-			'"Let''s start by having a drink," Katja says when you are finally inside the club and start to drag you to the bar.'
+			'"Let''s start with a drink," she says when you''re finally inside the club and drags you to the bar.'
 			act 'Go to the bar': gt 'katja_nightclub', 'bar_arrive'
 		end
 	else
@@ -100,14 +101,13 @@ if $ARGS[0] = 'metro_destination':
 			if katjaQW['drinks'] > rand(8,12):
 				minut += 30
 				gs 'stat'
-				'Katja is so drunk that she can barely walk. So you decide to help her home. It takes quite a while since she tries to sit down several times refusing to walk further.'
-				'But you finally manage to get her to her room and in her bed. She goes out immediately and you lever her to sleep.'
-				act 'Go to the hallway': gt 'uni_dorm', 'second_floor'
+				'Katja is so drunk that she can barely walk, so you decide to help her home. It takes quite a while since she tries to sit down several times and refuses to walk further, but you eventually manage to get her back to her dorm room and into her bed, where she immediately falls asleep. You leave her to sleep and quietly leave the room.'
+				act 'Leave': gt 'uni_dorm', 'second_floor'
 			else
 				if katjaQW['horny'] > rand(40,80) and katjaQW['sex_clossedness'] < 2:
-					'You get out at the Metro Station near the university and Katja suggests that you go with her to her room'
-					act 'Go with her to her room': gt 'katja_uni_sex', 'comming_home_from_date'
-					act 'Say you don''t want to and leave her': gt 'city_island'
+					'You exit the metro station near the university and Katja suggests that you come with her to her room.'
+					act 'Go with her': gt 'katja_uni_sex', 'comming_home_from_date'
+					act 'Leave her': gt 'city_island'
 				else
 					'You exit the metro station near the university and say goodbye to each other.'
 					act 'Continue': gt 'city_island'
@@ -148,7 +148,7 @@ end
 if $ARGS[0] = 'clothes_start2':
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 	'Before you leave, Katja stops you. "Do you want to try on some clothes with me?" she asks.'
-	act 'Say yes':
+	act 'Yes':
 		*clr & cla
 		katjaQW['shopping_day'] = daystart
 		gs 'npc_relationship', 'modify', 'A14', 'like'
@@ -186,9 +186,9 @@ if $ARGS[0] = 'Pussy-Cats':
 	killvar 'store_choice'
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/KWS1.jpg"></center>'
-	'You walk into Pussy-Cats, the trendy store for cool kids like you, but still affordable enough that you might be able to buy what you try on if you really like it.'
-	'You start browsing the stands looking at all the new fashion trends for the young and hip. After a while, you decide that you should each pick a set that you think would look great on the other.' 
-	'Spending some time looking, you find something that you really would like to see Katja in. You return to her and she also has some clothes for you to try on. You head to the changing rooms and find one big enough for the two of you.'
+	'You walk into Pussy-Cats, the trendy store for cool kids, but still affordable enough that you might be able to buy what you try on if you really like it.'
+	'You start browsing the stands, looking at all the new fashion trends. After a while, you decide that you should each pick a set that you think would look great on the other.' 
+	'You soon find something that you''d like to see Katja in. You return to her and find that she also has some clothes for you to try on, so you head to the changing rooms and find one big enough for the two of you.'
 	act 'Try on clothes':
 		*clr & cla
 		gs 'stat'
@@ -197,12 +197,12 @@ if $ARGS[0] = 'Pussy-Cats':
 		loop_counter += 1
 		if loop_counter = 600:
 			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
-			'You try to put on what Katja brought you, but it''s ' + iif(pcs_bmi < 25, 'way too loose and will fall off', 'so tight you can''t get into it') + ' so you give up. "I''m sorry, <<$pcs_nickname>>. I''ve miscalculated your size. Let me get something else," Katja says.'
+			'You try to put on what Katja brought you, but it''s ' + iif(pcs_bmi < 25, 'way too loose and will fall off', 'so tight you can''t get into it') + ' so you give up. "Sorry <<$pcs_nickname>>, seems I''ve miscalculated your size. Let me get something else," she says.'
 			'You stop her before she runs out. "Hey don''t be sorry, it''s not your fault. Try what I picked out first."'
 			act 'Katja tries the clothes you picked': gt 'katja_city', 'pussy_cat_outfit<<rand(0,3)>>'
 		else
 			if rand(0,1) = 1:
-				numrand = rand(1, 220)
+				numrand = rand(1,220)
 
 				gs 'clothing_attributes', 'cats_dress', numrand
 				if CloBimbo = 1: jump 'tryclotheswithkatja_pussy_cats'
@@ -228,12 +228,12 @@ if $ARGS[0] = 'Pussy-Cats':
 					act 'Tell her that you like it':
 						cla
 						gs 'npc_relationship', 'modify', 'A14', 'love'
-						'"This is really nice. As always, your fashion sense is impeccable," you say and Katja''s face lights up like a Christmas tree.'
+						'"This is really nice. As always, your fashion sense is impeccable," you say and her face lights up like a Christmas tree.'
 						'You look at the price tag and see that it costs <<price>>.'
 						if money > price: 
 							act 'Buy the dress (cash)':
 								cla
-								'"I''m going to buy this dress after you try on what I picked for you."'
+								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
 								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'money'							
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
@@ -242,30 +242,30 @@ if $ARGS[0] = 'Pussy-Cats':
 						if karta > price:
 							act 'Buy the dress (card)':
 								cla
-								'"I''m going to buy this dress after you try on what I picked for you."'
+								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
 								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'karta'							
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
-						act 'Say it is too expensive for you':
+						act 'It''s too expensive for you':
 							cla
-							'"I wish I could afford to buy it, but I don''t have the money right now," you say.'
+							'"I wish I could afford it, but I don''t have the money right now," you say.'
 							'"That''s totally fine. We didn''t do this to buy stuff, just to have fun trying on new things," she replies.' 
 							act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 						end
 					end
 					act 'It''s not really you':
 						cla
-						'"It''s nice, but I don''t think that this dress is really me," you tell her, trying to let her down gently.'
-						'"Well, I had to try," she says somberly. "You know you should try new things once in a while or else you will miss out on so many great things."'
+						'"It''s nice, but I don''t think that it''s really me," you tell her, trying to let her down gently.'
+						'"Well, I had to try," she says somberly. "You know you should try new things once in a while or you''ll miss out on so many great things."'
 						act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 					end
 				else
 					jump 'tryclotheswithkatja_pussy_cats'
 				end
 			else
-				numrand = rand(1, 200)
+				numrand = rand(1,200)
 
 				gs 'clothing_attributes', 'cats_dress', numrand
 				if CloBimbo = 1: jump 'tryclotheswithkatja_pussy_cats'
@@ -291,12 +291,12 @@ if $ARGS[0] = 'Pussy-Cats':
 					act 'Tell her that you like it':
 						cla
 						gs 'npc_relationship', 'modify', 'A14', 'love'
-						'"This is really nice. As always, your fashion sense is impeccable," you say and Katja''s face lights up like a Christmas tree.'
+						'"This is really nice. As always, your fashion sense is impeccable," you say and her face lights up like a Christmas tree.'
 						'You look at the price tag and see that it costs <<price>>.'
 						if money >= price: 
 							act 'Buy the clothes (cash)':
 								cla
-								'"I''m going to buy this dress after you try on what I picked for you."'
+								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
 								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'money'							
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
@@ -305,23 +305,23 @@ if $ARGS[0] = 'Pussy-Cats':
 						if karta >= price:
 							act 'Buy the clothes (card)':
 								cla
-								'"I''m going to buy this dress after you try on what I picked for you."'
+								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
 								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'karta'							
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
-						act 'Say it is too expensive for you':
+						act 'It''s too expensive for you':
 							cla
-							'"I wish I could afford to buy it, but I don''t have the money right now," you say.'
+							'"I wish I could afford it, but I don''t have the money right now," you say.'
 							'"That''s totally fine. We didn''t do this to buy stuff, just to have fun trying on new things," she replies.'  
 							act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 						end
 					end
 					act 'It''s not really you':
 						cla
-						'"It''s nice, but I don''t think that this dress is really me," you tell her, trying to let her down gently.'
-						'"Well, I had to try," she says somberly. "You know you should try new things once in a while or else you will miss out on so many great things."'
+						'"It''s nice, but I don''t think that it''s really me," you tell her, trying to let her down gently.'
+						'"Well, I had to try," she says somberly. "You know you should try new things once in a while or you''ll miss out on so many great things."'
 						act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 					end
 				else
@@ -337,7 +337,7 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_1.jpg"></center>'
 	'While you change back to your original clothes, Katja puts on the sleeveless shirt and very short pants you''ve chosen for her. Once she''s finished dressing, she turns around so you can get a good look at her.'
 	if katjaQW['slut'] >= 100:
-		'"Wow, these are so great," she says when she sees herself in the mirror. "I''m definitely going to be the sexiest girl on campus wearing these. Though I should probably be weary of Lizaveta seeing me wearing this; she might start spreading rumors that I''ve become a whore," she says with a wink.'
+		'"Wow, these are great!" she says when she sees herself in the mirror. "I''m definitely going to be the sexiest girl on campus wearing these. Though I should probably be weary of Lizaveta seeing me wearing this; she might start spreading rumors that I''ve become a whore," she says with a wink.'
 	elseif katjaQW['slut'] >= 80:
 		'"Damn, I look sexy in these!" she says. "Maybe too sexy. I think this should only be used for special occasions and not for going to class."'
 	elseif katjaQW['slut'] >= 60:
@@ -345,15 +345,15 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 	elseif katjaQW['slut'] >= 40:
 		'"This is too much," she says. "This isn''t something I can wear anywhere."' 
 		'"But you have to agree that that you look sexy?" you reply.'
-		'"Well yeah, but I can''t see myself wearing it outside here," she answers.' 
+		'"Well yeah, but I can''t see myself wearing it outside of here," she answers.' 
 	elseif katjaQW['slut'] >= 20:
-		'"What were you thinking, <<$pcs_nickname>>?!" Katja says. "These are clothes for sluts!"'
-		'"Come on, Katja. You look so sexy in it!" you reply.'
-		'"Maybe, but you''re not going to see me in it outside this changing room," she answers.'
+		'"What were you thinking, <<$pcs_nickname>>?!" she says. "These are clothes for sluts!"'
+		'"Come on, you look so sexy in them!" you reply.'
+		'"Maybe, but you''re not going to see me in them outside this changing room!"'
 	else
 		'"What the heck? Are you trying to turn me into a prostitute?!" she almost yells.'
-		'"Come on, Katja! You look so sexy in these," you reply.'
-		'"We are not having this conversation! This is coming off right now!" she replies.'  
+		'"Come on, you look so sexy in them!" you reply.'
+		'"We are not having this conversation! This is coming off right now!"'  
 	end
 	act 'Ask her to turn around':
 		*clr & cla
@@ -362,17 +362,17 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 		if katjaQW['slut'] < 20:
 			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 			'"Come on, turn around and let me see you from behind," you say.'
-			'"No," Katja answers as she starts taking the clothes off. "I still don''t know what you were thinking choosing these shorts!"'
+			'"No," she answers as she starts taking the clothes off. "I still don''t know what you were thinking choosing these shorts!"'
 			'You let her change clothes in silence. "Well, thanks for this anyway. You should choose some proper clothes for me next time though," she says once she''s finished.'
 			act 'Leave': minut += 3 & gt $loc, $loc_arg
 		else
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_2.jpg"></center>'
 			'"Come on, turn around and let me see you from behind," you say.'
-			iif(katjaQW['slut'] >= 80, '"Of course," Katja says. "I''m sure you''ll enjoy the view!"', '"Really, <<$pcs_nickname>>?!"')
+			iif(katjaQW['slut'] >= 80, '"Of course," she says. "I''m sure you''ll enjoy the view!"', '"Really, <<$pcs_nickname>>?!"')
 			'"Come on, it''s just me," you answer.'
 			'After a moment''s hesitation, she answers, "Okay."'
 			'She turns around and shows you a sight that barely leaves anything to the imagination as the shorts have crept up her butt crack. "Damn that looks good on you," you say. "Great ass!"'
-			iif(katjaQW['slut'] >= 80, '"Thanks!" Katja says. "These will really make me the center of attention at a party."', '"Don''t say that!" Katja says. "It''s really annoying how they creep on my butt!"')+' She then turns around to face you again.'
+			iif(katjaQW['slut'] >= 80, '"Thanks!" she says. "These will really make me the center of attention at a party."', '"Don''t say that! It''s really annoying how they creep on my butt!"')+' She then turns around to face you again.'
 			act 'Continue':
 				*clr & cla
 				minut += 1
@@ -385,26 +385,26 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 				else
 					if katjaQW['QWstage'] > 2 and katjaQW['sex_clossedness'] < 2:
 						if katjaQW['slut'] > 60:
-							act 'Ask Katja to put on a show': gt 'katja_city', 'pussy_cat_outfit1_strip'
+							act 'Ask her to put on a show': gt 'katja_city', 'pussy_cat_outfit1_strip'
 						else
 							gs 'willpower', 'misc', 'force', 'easy'
 							if will_cost <= pcs_willpwr:
-								act 'Ask Katja to put on a show (<<will_cost>> Willpower)':
+								act 'Ask her to put on a show (<<will_cost>> Willpower)':
 									gs 'willpower', 'pay', 'force'
 									gs 'stat'
 									gt 'katja_city', 'pussy_cat_outfit1_strip'					
 								end
 							else
-								act 'Ask Katja to put on a show (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								act 'Ask her to put on a show (<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
-					act 'Let Katja change clothes in peace':
+					act 'Let her change clothes in peace':
 						*clr & cla
 						minut += 3
 						gs 'stat'	
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_3.jpg"></center>'
-						'Katja finishes changing back to her original clothes and you leave the shop. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+						'Katja finishes changing back to her original clothes and you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 						act 'Leave': minut += 2 & gt $loc, $loc_arg
 					end
 				end
@@ -418,25 +418,25 @@ if $ARGS[0] = 'pussy_cat_outfit1_strip':
 	katjaQW['horny'] += 10
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_4.jpg"></center>'
-	'Katja starts by moving more sensually while she slowly unbuttons the shirt before letting it fall to the side, revealing her bare breast. She then unbuttons the pants and puts her hands on her sides.'
+	'Katja starts by moving more sensually while slowly unbuttoning the shirt before letting it fall to the side, revealing her bare breast. She then unbuttons the pants and puts her hands on her sides.'
 	if npc_sex['A14'] > 0:
 		if max(katjaQW['horny'],100) > rand(50,150) and katjaQW['slut'] >= 80:
 			act 'Katja makes things more interesting': gt 'katja_city', 'pussy_cat_outfit1_play'
 		else
 			gs 'willpower', 'mast', 'force'
 			if will_cost <= pcs_willpwr:
-				act 'Ask Katja to touch herself (<<will_cost>> Willpower)':
+				act 'Ask her to touch herself (<<will_cost>> Willpower)':
 					gs 'willpower', 'pay', 'force'
 					gs 'stat'
 					gt 'katja_city', 'pussy_cat_outfit1_play'					
 				end
 			else
-				act 'Ask Katja to touch herself (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				act 'Ask her to touch herself (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
-			act 'Let Katja finish the show': gt 'katja_city', 'pussy_cat_outfit1_strip2' 
+			act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit1_strip2' 
 		end
 	else
-		act 'Let Katja finish the show': gt 'katja_city', 'pussy_cat_outfit1_strip2'
+		act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit1_strip2'
 	end
 end
 
@@ -448,9 +448,9 @@ if $ARGS[0] = 'pussy_cat_outfit1_strip2':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_5a.jpg"></center>'
 	'Katja slowly pulls her pants halfway down her thighs, then lets go of them and puts her arms in front of her in a way that pushes her breasts forward. "See something you like?" she asks in a seductive tone.'
-	'"Very impressive," you say.'
+	'"Very impressive..." you say.'
 	'"Enough of this," she says with a laugh, and starts to change her clothes normally.'
-	'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+	'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 	act 'Leave': minut += 2 & gt $loc, $loc_arg
 end
 
@@ -459,8 +459,8 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 	katjaQW['horny'] += 10
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_5b.jpg"></center>'
-	'Katja stops pulling the pants down and puts one hand on her breast and the other down the pants and starts playing with herself. She seems to be really getting into it.'
-	act 'Watch Katja enjoy herself':
+	'Katja stops pulling the pants down and places one hand on her breast and the other down the pants before she starts playing with herself. She seems to be really getting into it.'
+	act 'Watch':
 		*clr & cla
 		gs 'arousal', 'foreplay', 3
 		katjaQW['horny'] += 10
@@ -468,12 +468,12 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_6.jpg"></center>'
 		'As she gets closer to cumming, she removes her hand from her breast and pulls down the pants so that her other hand has better access.'
 		if katjaQW['know_butt_plug'] = 0:
-			'Out of your eye, you notice that Katja''s bag is open and see something that surprises you. You open the bag and pull out a butt plug and a vibrator. Seems Katja is more naughty than you knew.'
+			'Out of your eye, you notice that her bag is open and see something that surprises you. You open the bag and pull out a butt plug and vibrator.'
 			'"Well, well, what do we have here?" you say as you show your findings to Katja, who immediately stops what she''s doing and blushes bright red.' 
-			'"I... Vicky gave them to me when I moved to the dorm. They aren''t something I would use," she stammers.'
+			'"I... Vicky gave them to me when I moved to the dorm. They aren''t something I would use!" she stammers.'
 			'"Then why are they in your bag if you don''t use them?" you ask.'
-			'"Because I don''t want Sofia to find them. That girl gets into all my stuff and if she finds them, she won''t stop asking me about it," she answers.'
-			'"So you have never used them?" you ask.'
+			'"Because I don''t want Sofia to find them! That girl gets into all my stuff and if she finds them, she won''t stop asking me about it," she answers.'
+			'"So you''ve never used them?" you ask.'
 			if katjaQW['masturbates'] + npc_ass['A14'] = 0:
 				'"I''ve never used any of them," she says.'
 				'"Well, then you''re going to try several new things today," you say and hand her the butt plug.'
@@ -481,12 +481,12 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 				'"I''ve never used the '+iif(katjaQW['masturbates'] = 1, 'butt plug', 'vibrator')+'." she says.'
 				'"So you''ve used the '+iif(katjaQW['masturbates'] = 1, 'vibrator', 'butt plug')+'? You''re going to try something new today," you say and hand her the butt plug.'
 			else
-				'Katja doesn''t say anything, but her face is becoming even more red than before. "So you have been using them, you dirty girl!" you say with a smile. "Show me how you use them," you say as you hand her the butt plug.'
+				'She doesn''t say anything, but her face is becoming even more red than before. "So you <i>have</i> been using them, you dirty girl!" you say with a smile. "Show me how you use them," you say as you hand her the butt plug.'
 			end
 		else
 			'You look into Katja''s bag and find her butt plug and vibrator. "Use these to make the show even better," you say as you hand her the butt plug.'
 		end
-		act 'Watch Katja insert the butt plug':
+		act 'Watch her insert the butt plug':
 			*clr & cla
 			gs 'arousal', 'foreplay', 5
 			katjaQW['horny'] += 10
@@ -494,33 +494,33 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 			if npc_ass['A14'] = 0:
 				npc_ass['A14'] = 1
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_7a.jpg"></center>'		
-				'"I''ve never put anything in my butt before!" Katja protests.'
+				'"I''ve never put anything in my butt before!" she protests.'
 				'"There''s a first time for everything," you reply. "Lick it first to lubricate it."'
-				'Katja does as you say and starts to lick the butt plug. After a minute, you say, "I think it''s wet enough for you to put it in now. Lie down in the chair; it will be easier to put it in from that position."'
-				'She moves to the chair and then guides the butt plug to the opening of her ass. She starts pushing it in, but clearly meets some resistance. "Take your time," you say, but Katja seems determined and after a short while she pushes the butt plug completely into her ass with a slight groan of pain.'
+				'She does as you say and starts licking the butt plug. "I think it''s wet enough for you to put it in now," you say after a minute. "Lie down in the chair; it''ll be easier to put it in from that position."'
+				'She moves to the chair and guides the butt plug to her ass. She starts pushing it in, but clearly meets some resistance. "Take your time," you say, but she seems determined and after a short while she pushes the butt plug completely into her ass with a slight groan of pain.'
 			else
 				if npc_ass['A14'] < 5: npc_ass['A14'] += 1
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_7b.jpg"></center>'		
-				'Katja takes the butt plug and starts licking it. After a minute or so, she lies down in the chair and starts pushing the butt plug into her ass.'+iif(npc_ass['A14'] <= 5, ' You can see that there is some resistance and Katja holds back some near inaudible groans of pain.', 'The butt plug goes in without any resistance, and she pulls it back and forth a little while moaning slightly.')
+				'Katja takes the butt plug and starts licking it. After a minute or so, she lies down in the chair and starts pushing the butt plug into her ass.'+iif(npc_ass['A14'] <= 5, ' You can see that there is some resistance and she holds back some near inaudible groans of pain.', 'The butt plug goes in without any resistance, and she pulls it back and forth a little while moaning slightly.')
 			end
-			act 'Watch Katja''s reaction':
+			act 'Watch her reaction':
 				*clr & cla
 				gs 'arousal', 'foreplay', 2
 				katjaQW['horny'] += 10
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_8.jpg"></center>'		
-				'Katja breathes in and out heavily and opens her eyes to look at you. She then puts the fingers of her right hand around her pussy lips, and starts to gently play with her pussy.'
+				'Katja breathes in and out heavily and opens her eyes to look at you as she starts to gently play with her pussy.'
 				act 'Give her the vibrator':
 					*clr & cla
 					gs 'arousal', 'foreplay', 2
 					katjaQW['horny'] += 10
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_9.jpg"></center>'		
-					'"Here. Use this," you say as you turn on the vibrator and give it to her. '+iif(katjaQW['masturbates'] = 1 or katjaQW['know_butt_plug'] = 1, 'Katja clearly knows what she''s doing and puts it to her clit and starts to moan.', 'Katja looks at it a little nervously, and then starts putting it around her pussy. You''re just about to give her some pointers when she finally puts it to her clit and lets out a loud moan.')
-					act 'Masturbate while you watch Katja':
+					'"Here. Use this," you say as you turn on the vibrator and give it to her. '+iif(katjaQW['masturbates'] = 1 or katjaQW['know_butt_plug'] = 1, 'She clearly knows what she''s doing and puts it to her clit and starts to moan.', 'She looks at it a little nervously. You''re just about to give her some pointers when she puts it to her clit and lets out a loud moan.')
+					act 'Masturbate while you watch':
 						*clr & cla
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_10.jpg"></center>'		
-						'You put you hand down your '+iif(CloSkirtShortness > 0, 'skirt', 'pants')+' and start to rub your clit while you watch Katja. She starts really getting into it, and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
+						'You put you hand down your '+iif(CloSkirtShortness > 0, 'skirt', 'pants')+' and start rubbing your clit as you watch Katja. She starts really getting into it, and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
 						gs 'arousal', 'foreplay', 3
 						gs 'arousal', 'clit_finger', -3, 'masturbate'
 						gs 'arousal', 'end'
@@ -533,10 +533,10 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 						'"It was a great show," you tell her.'
 						'"Thanks. I think," she says while blushing. "Let me get changed," she says and starts taking off the rest of the shirt.'
 						'She starts to take out the butt plug, but you stop her. "Keep it in until you get home. It will be a good experience for you," you say. She blushes, but keeps it in as she puts on her clothes.'
-						'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+						'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 						act 'Leave': minut += 2 & gt $loc, $loc_arg		
 					end
-					act 'Just watch Katja':
+					act 'Just watch her':
 						*clr & cla
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_10.jpg"></center>'		
 						'You intensively watch Katja. She starts really getting into it and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a tremendous orgasm. After that, she simply lies on the chair, recovering her breath.'
@@ -551,7 +551,7 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 						'"It was a fantastic show," you tell her.' 
 						'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.' 
 						'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.' 
-						'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+						'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 						act 'Leave': minut += 2 & gt $loc, $loc_arg		
 					end
 				end
@@ -563,13 +563,13 @@ end
 if $ARGS[0] = 'pussy_cat_outfit2':
 	minut += 5
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_1.jpg"></center>'
-	'While you change back to your original clothes, Katja puts on the white shirt and short skirt you have chosen for her. Once she''s finished dressing, she turns around so you can get a good look at her.'
+	'While you change back to your original clothes, Katja puts on the white shirt and short skirt you''ve chosen for her. Once she''s finished dressing, she turns around so you can get a good look at her.'
 	if katjaQW['slut'] >= 40:
 		'"This looks good," she says when she sees herself in the mirror. "It''s a nice dress for a warm summer night," she continues. "I might buy this."'
 	else
 		'"This looks good," she says when she sees herself in the mirror. "But it''s a bit short, and kind of see-through. I''m not sure if I''m brave enough to wear this in public," she continues.'
 	end
-	act 'Katja starts to change':
+	act 'She starts to change':
 		*clr & cla
 		minut += 2
 		gs 'stat'	
@@ -584,22 +584,22 @@ if $ARGS[0] = 'pussy_cat_outfit2':
 				'"So do your panties match the bra?" you ask.'
 				'"What?!" she gasps. "Why would you ask me that?!"'
 				'"No reason," you reply when it''s clear she''s not comfortable with the question, and you let her change in peace.'
-				'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+				'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 				act 'Leave': minut += 2 & gt $loc, $loc_arg
 			else
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_3.jpg"></center>'
 				'"So do your panties match the bra?" you ask.'
 				iif(katjaQW['slut'] >= 80, '"Are you assuming I''m wearing panties?" she asks slyly.', '"Really, <<$pcs_nickname>>?! You don''t ask a good girl such a question!" she says with a wink.')
-				'"Come on, be a really good girl and show me it''s just me," you answer.'
+				'"Come on, be a really good girl and show me," you answer.'
 				'After a moment''s hesitation, she relents. "Okay."'
 				'She slowly pulls up the skirt to reveal her smoothly shaved pussy.'
 				if katjaQW['pantiesQWstage'] >= 5:
 					'"See? My panties always match my bra," she says. "No need for them to match when you don''t wear any."' 
 				else 
 					if katjaQW['pantiesQWstage'] < 4: katjaQW['pantiesQWstage'] += 1
-					'It''s clear from Katja''s reddening face that she is embarrassed by you seeing her without panties.'
+					'It''s clear from her reddening face that she''s embarrassed by you seeing her without panties.'
 					'"Don''t say anything," she says. "It''s just that all my panties are in the laundry," she says, not sounding very truthful. "I normally never go without panties."'
-					iif($panties_worn = 'nude', '"You should. It is very liberating," you tell her as you flash her your naked pussy', '"Why am I not completely convinced that is the case?" you say')+'  and her face turns even redder.'
+					iif($panties_worn = 'nude', '"You should. It''s very liberating," you tell her as you flash her your naked pussy', '"Why am I not completely convinced that you''re telling the truth?" you say')+'  and her face turns even redder.'
 				end
 				'"Well, this was fun but I should change back," she says.'
 				if npc_sex['A14'] > 0 and katjaQW['slut'] > 60 and rand(0,3) = 0 and katjaQW['sex_clossedness'] < 2:
@@ -608,26 +608,26 @@ if $ARGS[0] = 'pussy_cat_outfit2':
 				else
 					if katjaQW['QWstage'] > 2 and katjaQW['sex_clossedness'] < 2:
 						if katjaQW['slut'] > 60:
-							act 'Ask Katja to put on a show': gt 'katja_city', 'pussy_cat_outfit2_strip'
+							act 'Ask her to put on a show': gt 'katja_city', 'pussy_cat_outfit2_strip'
 						else
 							gs 'willpower', 'misc', 'force', 'easy'
 							if will_cost <= pcs_willpwr:
-								act 'Ask Katja to put on a show (<<will_cost>> Willpower)':
+								act 'Ask her to put on a show (<<will_cost>> Willpower)':
 									gs 'willpower', 'pay'
 									gs 'stat'
 									gt 'katja_city', 'pussy_cat_outfit2_strip'					
 								end
 							else
-								act 'Ask Katja to put on a show (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+								act 'Ask her to put on a show (<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
-					act 'Let Katja change clothes in peace':
+					act 'Let her change clothes in peace':
 						*clr & cla
 						minut += 3
 						gs 'stat'	
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_2.jpg"></center>'
-						'Katja finishes changing and you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+						'Katja finishes changing and you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 						act 'Leave': minut += 2 & gt $loc, $loc_arg
 					end
 				end
@@ -648,18 +648,18 @@ if $ARGS[0] = 'pussy_cat_outfit2_strip':
 		else
 			gs 'willpower', 'mast', 'force'
 			if will_cost <= pcs_willpwr:
-				act 'Ask Katja to touch herself (<<will_cost>> Willpower)':
+				act 'Ask her to touch herself (<<will_cost>> Willpower)':
 					gs 'willpower', 'pay', 'force'
 					gs 'stat'
 					gt 'katja_city', 'pussy_cat_outfit2_play'					
 				end
 			else
-				act 'Ask Katja to touch herself (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				act 'Ask her to touch herself (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
-			act 'Let Katja finish the show': gt 'katja_city', 'pussy_cat_outfit2_strip2' 
+			act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit2_strip2' 
 		end
 	else
-		act 'Let Katja finish the show': gt 'katja_city', 'pussy_cat_outfit2_strip2'
+		act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit2_strip2'
 	end
 end
 
@@ -670,10 +670,10 @@ if $ARGS[0] = 'pussy_cat_outfit2_strip2':
 	katjaQW['slut'] += 2
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_5a.jpg"></center>'
-	'Katja finally takes the shirt off and throws it over her shoulder, holding it in one hand while she lifts the skirt with the other while looking directly at you . "See something you like?" she asks in a seductive tone.'
+	'Katja finally takes the shirt off and throws it over her shoulder, holding it in one hand while she lifts the skirt with the other while looking directly at you. "See something you like?" she asks in a seductive tone.'
 	'"Very nice," you reply.'
 	'"Enough of this," she says with a laugh, and starts to change her clothes normally.'
-	'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+	'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 	act 'Leave': minut += 2 & gt $loc, $loc_arg
 end
 
@@ -684,11 +684,11 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_5b.jpg"></center>'
 	'Katja stops taking off the shirt and moves her hand to her pussy, slowly starting to play with it. She seems to getting really into it.'
 	if katjaQW['know_butt_plug'] = 0:
-		'Out of your eye, you notice that Katja''s bag is open and see something that surprises you. You open the bag and pull out a butt plug and a vibrator. Seems Katja is more naughty than you knew.'
+		'Out of your eye, you notice that Katja''s bag is open and see something that surprises you. You open the bag and pull out a butt plug and a vibrator.'
 		'"Well, well, what do we have here?" you say as you show your findings to Katja, who immediately stops what she''s doing and blushes bright red.' 
-		'"I... Vicky gave them to me when I moved to the dorm. They aren''t something I would use," Katja stammers.'
+		'"I... Vicky gave them to me when I moved to the dorm. They aren''t something I would use!" she stammers.'
 		'"Then why are they in your bag if you don''t use them?" you ask.'
-		'"Because I don''t want Sofia to find them. That girl gets into all my stuff and if she finds them, she won''t stop asking me about it," she answers.'
+		'"Because I don''t want Sofia to find them! That girl gets into all my stuff and if she finds them, she won''t stop asking me about it," she answers.'
 		'"So you''ve never used them?" you ask.'
 		if katjaQW['masturbates'] + npc_ass['A14'] = 0:
 			'"I''ve never used any of them," she replies.'
@@ -697,12 +697,12 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 			'"I''ve never used the '+iif(katjaQW['masturbates'] = 1, 'butt plug', 'vibrator')+'." she says.'
 			'"So you''ve used the '+iif(katjaQW['masturbates'] = 1, 'vibrator', 'butt plug')+'? You''re going to try something new today," you say and hand her the butt plug.'
 		else
-			'Katja doesn''t say anything, but her face is becoming even more red than before. "So you have been using them, you dirty girl!" you say with a smile. "Show me how you use them," you say as you hand her the butt plug.'
+			'She doesn''t say anything, but her face is becoming even more red than before. "So you <i>have</i> been using them, you dirty girl!" you say with a smile. "Show me how you use them," you say as you hand her the butt plug.'
 		end
 	else
 		'You look into Katja''s bag and find her butt plug and vibrator. "Use these to make the show even better," you say as you hand her the butt plug.'
 	end
-	act 'Watch Katja insert the butt plug':
+	act 'Watch her insert the butt plug':
 		*clr & cla
 		gs 'arousal', 'foreplay', 5
 		katjaQW['horny'] += 10
@@ -710,21 +710,21 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_6.jpg"></center>'		
 		if npc_ass['A14'] = 0:
 			npc_ass['A14'] = 1
-			'"I''ve never put anything in my butt before!" Katja protests.'
+			'"I''ve never put anything in my butt before!" she protests.'
 			'"There''s a first time for everything," you reply. "Lick it first to lubricate it."'
-			'Katja does as you say and starts licking the butt plug. After a minute, you say "I think it''s wet enough for you to put it in. Lie down in the chair. It''ll make it easier to put it in."'
-			'She takes off the rest of the clothes except her bra and moves to the chair before guiding the butt plug to the opening of her ass. She starts pushing it in, but clearly meets some resistance. "Take your time," you say, but Katja seems determined and after a short while she pushes the butt plug completely into her ass with a slight groan of pain.'
+			'Katja does as you say and starts licking the butt plug. "I think it''s wet enough for you to put it in," you say after a minute. "Lie down in the chair. It''ll make it easier to put it in."'
+			'She takes off the rest of the clothes except her bra and moves to the chair before guiding the butt plug to her ass. She starts pushing it in, but clearly meets some resistance. "Take your time," you say, but she seems determined and after a short while she pushes the butt plug completely into her ass with a slight groan of pain.'
 		else
 			if npc_ass['A14'] < 5: npc_ass['A14'] += 1
-			'Katja takes the butt plug and starts licking it. After a minute or so, she takes off the rest of the clothes except her bra and lies down in the chair before pushing the butt plug into her ass.'+iif(npc_ass['A14'] <= 5, ' You can see that there is some resistance and Katja holds back some near inaudible groans of pain.', 'The butt plug goes in without any resistance, and she pulls it back and forth a little while moaning slightly.')
+			'Katja takes the butt plug and starts licking it. After a minute or so, she takes off the rest of the clothes except her bra and lies down in the chair before pushing the butt plug into her ass.'+iif(npc_ass['A14'] <= 5, ' You can see that there''s some resistance and she holds back some near inaudible groans of pain.', 'The butt plug goes in without any resistance, and she pulls it back and forth a little while moaning slightly.')
 		end
-		act 'Watch Katja''s reaction':
+		act 'Watch her reaction':
 			*clr & cla
 			gs 'arousal', 'foreplay', 2
 			katjaQW['horny'] += 10
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_7.jpg"></center>'		
-			'Katja breathes in and out heavily and opens her eyes to look at you. She then puts the fingers of her right hand to her pussy lips, and starts to gently play with her pussy.'
+			'She breathes in and out heavily and opens her eyes to look at you as she starts to gently play with her pussy.'
 			act 'Give her the vibrator':
 				*clr & cla
 				gs 'arousal', 'foreplay', 2
@@ -732,10 +732,10 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_8.jpg"></center>'		
 				'"Here. Use this," you say as you turn on the vibrator and give it to her. '+iif(katjaQW['masturbates'] = 1 or katjaQW['know_butt_plug'] = 1, 'Katja clearly knows what she''s doing and uses one hand to spread her pussy lips, puts the vibrator to her clit with the other and starts to moan.', 'Katja looks at it a little nervously, and then starts putting it around her pussy. You''re just about to give her some pointers when she finally uses one hand to spread her pussy lips and puts the vibrator to her clit with the other, letting out a loud moan.')
-				act 'Masturbate while you watch Katja':
+				act 'Masturbate while you watch':
 					*clr & cla
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_9.jpg"></center>'		
-					'You put your hand down your '+iif(CloSkirtShortness > 0, 'skirt', 'pants')+' and start to rub your clit while you watch Katja. She starts really getting into it and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
+					'You put your hand down your '+iif(CloSkirtShortness > 0, 'skirt', 'pants')+' and start rubbing your clit while you watch Katja. She starts really getting into it and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
 					gs 'arousal', 'foreplay', 3
 					gs 'arousal', 'clit_finger', -3, 'masturbate'
 					gs 'arousal', 'end'
@@ -748,10 +748,10 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 					'"It was a fantastic show," you tell her.' 
 					'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.' 
 					'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.' 
-					'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+					'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 					act 'Leave': minut += 2 & gt $loc, $loc_arg		
 				end
-				act 'Just watch Katja':
+				act 'Just watch':
 					*clr & cla
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_9.jpg"></center>'		
 					'You intensely watch Katja as she starts really getting into it. She seems to have a hard time keeping her voice down and after a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
@@ -766,7 +766,7 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 					'"It was a fantastic show," you tell her.' 
 					'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.' 
 					'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.' 
-					'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She waves goodbye and leaves you alone in the mall.'
+					'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 					act 'Leave': minut += 2 & gt $loc, $loc_arg		
 				end
 			end

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 222 - 223
locations/katja_city_sex.qsrc


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 212 - 209
locations/katja_nightclub.qsrc


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 236 - 243
locations/katja_nightclub_sex.qsrc


+ 25 - 2
locations/lact_bp.qsrc

@@ -119,7 +119,8 @@ if $ARGS[0] = 'view_milk_bottles':
 				mbarrfill[vmb_i] = 0
 				'<br><<vmb_i + 1>>. - An empty <<mbarrtype[vmb_i]/10>>ml bottle. You can use it to store your breast milk.'
 			else
-				'<br><<vmb_i + 1>>. - A <<mbarrtype[vmb_i]/10>>ml bottle. There is <<mbarrfill[vmb_i]/10>>ml of milk in the bottle. <a href="exec:msg ''<center>You open the bottle and check the milk inside.<br>You can feel the milk is <<$mbarrtemp[vmb_i]>> and it smells <<$mbarrstat[vmb_i]>>.</center>''">Check the content</a>'
+				'<br><<vmb_i + 1>>. - A <<mbarrtype[vmb_i]/10>>ml bottle. There is <<mbarrfill[vmb_i]/10>>ml of milk in the bottle. <a href="exec:msg ''<center>You open the bottle and check the milk inside.<br>You can feel the milk is <<$mbarrtemp[vmb_i]>> and it smells <<$mbarrstat[vmb_i]>>.</center>''">Check the content</a>' + ' ' + _
+				iif(pcs_hydra < 100 and ($mbarrtemp[vmb_i] = 'warm' or $mbarrtemp[vmb_i] =  'normal temparture' or $mbarrtemp[vmb_i] =  'cold' or $mbarrtemp[vmb_i] =  'hot') and ($mbarrstat[vmb_i] = 'fresh' or $mbarrstat[vmb_i] = 'normal'),'<a href="exec:gt''lact_bp'',''drink_milk_bottles'', <<vmb_i>>"> Drink it</a>','')
 				milkedvolume += mbarrfill[vmb_i]
 			end
 		end
@@ -132,6 +133,28 @@ if $ARGS[0] = 'view_milk_bottles':
 	act 'Back':gt 'lact_bp', 'bp_milking'
 end
 
+!! drink bottle function
+if $ARGS[0] = 'drink_milk_bottles':
+	if mbarrfill[ARGS[1]] <= 0: exit
+	*clr & cla
+	'<center><img <<$set_imgh>> src="images/pc/body/tits/milk_drink.jpg"></center>'
+	'<center>You drink your own breast milk and clean up the bottle.</center>'
+	if $mbarrtemp[ARGS[1]] = 'warm': '<center>The milk is still warm from your breasts.</center>'
+	pcs_health += mbarrfill[ARGS[1]]/400
+	pcs_energy += mbarrfill[ARGS[1]]/500
+	pcs_hydra += mbarrfill[ARGS[1]] / iif(pcs_hydra>=100,200,100)
+	minut += max(1,(mbarrfill[ARGS[1]]/1000) + 3)
+	act 'Finish':
+		mbarrfill[ARGS[1]] = 0
+		mbarrmage[ARGS[1]] = 0
+		mbarrcool[ARGS[1]] = 0
+		$mbarrstat[ARGS[1]] = 'none'
+		$mbarrtemp[ARGS[1]] = 'none'
+		gs 'stat'
+		menu_off = 0 & gs 'lact_bp', 'view_milk_bottles', 1
+	end
+end
+
 !! empty bottle function
 if $ARGS[0] = 'empty_milk_bottles':
 	!! use gt 'lact_bp', 'empty_milk_bottles'
@@ -534,7 +557,7 @@ if $ARGS[0] = 'bp_unbox_event':
 		elseif $location_type = 'private':
 			'You sit down and slowly start to unbox your newly acquired breast pump.'
 		end
-		if kid <= 0 and preg <= 0 and pregtimes <= 0 and pregchem <= 0 and bp_unbox <= 0:
+		if knowpreg = 0 and bp_unbox <= 0:
 			'While examining it, you think about why you bought it in the first place. You are not pregnant nor do you have a kid that needs breast milk.'
 			if lactation['active'] <= 0:
 				'Your breasts haven''t got any milk in them too, so it seems this pump is a bit useless.'

+ 40 - 12
locations/lact_lib.qsrc

@@ -484,6 +484,16 @@ if $ARGS[0] = 'breast_engorment':
 			if lactation['lactmess'] < 0: lactation['lactmess'] = 0
 		end
 	end
+	if lactation['engorgement'] > 0 and pain['breasts'] < max(5, lactation['breastmm']/10000):
+		tmp = max(0, rand(0, 6 - lactation['lactmess']))
+		pain['breasts'] += tmp
+		lactation['engorgement_pain'] += tmp
+		killvar 'tmp'
+	elseif lactation['engorgement'] = 0 and lactation['engorgement_pain'] > 0:
+		pain['breasts'] -= lactation['engorgement_pain'] / 2
+		lactation['engorgement_pain'] /= 2
+		if pain['breasts'] < 0: pain['breasts'] = 0
+	end
 end
 
 !!	Lactation On/Off switch function
@@ -503,7 +513,7 @@ if $ARGS[0] = 'lact_switch':
 		!!	setting milk volume in breasts to 0. Will fill up with lactaterate in another part of the breastcycle
 		lactation['breastmv'] = 0
 		!!	nipples will grow a bit with extended milk channels. If lactation stops, this will be substracted from the nipples again and nipples will shrink.
-		lactation['nipgrowth'] = 2
+		lactation['nipgrowth'] += rand(5,10)
 		pcs_nips += lactation['nipgrowth']
 		if lactation['alveoliexpandlvl'] < 10: lactation['alveoliexpandlvl'] = 10
 		if lactation['alveoliexpandlvl_change'] < 10: lactation['alveoliexpandlvl_change'] = 10
@@ -516,7 +526,7 @@ if $ARGS[0] = 'lact_switch':
 		lactation['alveoliexpandlvl'] = 0
 		lactation['alveoliexpandlvl_change'] = 1
 		lactation['prolactinlvl'] = 0
-		if pcs_nips > lactation['nipgrowth']: pcs_nips -= lactation['nipgrowth']
+		if lactation['nipgrowth'] > 0 and lactation['nipgrowth'] <= 10: pcs_nips -= lactation['nipgrowth'] & lactation['nipgrowth'] = 0
 		lactation['nipgrowth'] = 0
 	end
 	!!	Always trigger the breastcycle after breast change, or the changes to svetas breasts will not happen.
@@ -597,6 +607,7 @@ if $ARGS[0] = 'breastcycle':
 		end
 	else
 	!!	things that happen when Sveta is lactating lactation['active'] > 1
+		if lactation['milkprod_type'] = 1 and lactation['caplactaterate'] <= 0: lactation['caplactaterate'] = 4
 		if lactation['milkgrowday'] < daystart:
 			!!	Lactation rate growth. The higher the lactationrate is, the slower it will grow. I have not found a study on this, so this is pure asumption and common sense.
 			!!	funny parabelfunction for the lactrategrowth > 65 - ((1/1466)*((lactrate-304)*(lactrate-304)))
@@ -604,7 +615,7 @@ if $ARGS[0] = 'breastcycle':
 			lactation['prolactinlvl'] += (lactation['dailyoverdemand']/10000)
 			if lactation['dailyoverdemand'] > 0 and lactation['breastpumped'] >= 0 and lactation['lactaterate'] ! 0:
 				!!  adding cap
-				if (lactation['breastmm'] / lactation['lactaterate']) > lactation['caplactaterate']:		
+				if (lactation['breastmm'] / lactation['lactaterate']) > lactation['caplactaterate']:
 					lactation['max_lactrate_growth'] = (65 - ((((lactation['lactaterate']/1000) - 304)*((lactation['lactaterate']/1000) - 304))/1466))*1000
 					if lactation['max_lactrate_growth'] < ((10*lactation['prolactinlvl'])/2) and lactation['max_lactrate_growth'] >= 1000:
 						lactation['lactaterate'] += lactation['max_lactrate_growth']
@@ -613,6 +624,16 @@ if $ARGS[0] = 'breastcycle':
 					else
 						lactation['lactaterate'] += (10*lactation['prolactinlvl'])/2
 					end
+				elseif (lactation['breastmm'] / lactation['lactaterate']) <> lactation['caplactaterate']:
+					!!	lactation rate is dropping with below function.
+					lactation['lactaterate'] = max(0, lactation['lactaterate'] - (lactation['lactaterate']/2) + (lactation['lactaterate']/5) - (lactation['lactaterate']/8))
+					!! shrink nipples
+					if lactation['nipgrowth'] > lactation['useable_cupsize']*3/2:
+						tmp = max(0, rand(-5, lactation['breastmm']/100000))
+						pcs_nips -= tmp
+						lactation['nipgrowth'] -= tmp
+						killvar 'tmp'
+					end
 				end
 				lactation['prolactinlvl'] = 100
 			elseif lactation['dailyoverdemand'] <= 0 and lactation['breastpumped'] > 0:
@@ -627,7 +648,7 @@ if $ARGS[0] = 'breastcycle':
 				if lactation['lactaterate'] > 0:
 					!!	lactation rate is dropping with below function.
 					lactation['prolactinlvl'] = 100
-					if ((lactation['lactaterate']/2) + (lactation['lactaterate']/5) - (lactation['lactaterate']/8)) < 1:
+					if ((lactation['lactaterate']/2) + (lactation['lactaterate']/5) - (lactation['lactaterate']/8)) < 10:
 						lactation['lactaterate'] -= 1
 					else
 						lactation['lactaterate'] = (lactation['lactaterate'] - (lactation['lactaterate']/2) + (lactation['lactaterate']/5) - (lactation['lactaterate']/8))
@@ -644,6 +665,13 @@ if $ARGS[0] = 'breastcycle':
 		!!	Filling milk into svetas breast every hour and checking for breastengorgement
 		if lactation['breastmv'] < lactation['breastmm'] and lactation['lactaterate'] >= 500 and lactation['milkprod_type'] = 1:
 			lactation['breastmv'] += func('lact_lib','prod_milk',lactation['lactaterate'])
+			!! nipples are growing if Sveta keeps pumping milk
+			if lactation['nipgrowth'] < lactation['useable_cupsize']*2:
+				tmp = max(0, rand(-10, lactation['breastmm']/100000))
+				pcs_nips += tmp
+				lactation['nipgrowth'] += tmp
+				killvar 'tmp'
+			end
 		elseif lactation['breastmv'] < lactation['breastmm'] and lactation['lactaterate'] >= 500 and lactation['milkprod_type'] = 0:
 			lactation['breastmv'] += lactation['lactaterate']
 			if lactation['breastmv'] > lactation['breastmm']: lactation['breastmv'] = lactation['breastmm']
@@ -776,23 +804,23 @@ if $ARGS[0] = 'get_sorenessmod':
 	if lactation['nipple_cream_applied'] > 0:
 		lactation['nipple_cream_applied'] = 0
 		if lactation['dailyoverdemand'] = 0:
-			result = 40
+			result = rand(10,30)
 		elseif lactation['dailyoverdemand'] <= (lactation['breastmm'] / 2):
-			result = 30
+			result = rand(5,15)
 		elseif lactation['dailyoverdemand'] <= lactation['breastmm']:
-			result = 20
+			result = rand(4,8)
 		else
-			result = 10
+			result = rand(3,5)
 		end
 	else
 		if lactation['dailyoverdemand'] = 0:
-			result = 30
+			result = rand(5,10)
 		elseif lactation['dailyoverdemand'] <= (lactation['breastmm'] / 2):
-			result = 20
+			result = rand(3,6)
 		elseif lactation['dailyoverdemand'] <= lactation['breastmm']:
-			result = 10
+			result = rand(2,4)
 		else
-			result = 1
+			result = rand(1,3)
 		end
 	end
 end

+ 35 - 4
locations/lover.qsrc

@@ -64,8 +64,14 @@ if $ARGS[0] = 'add':
 	$loverXemselfc[i] = $xemselfc[0]
 	
 	pcs_lovers[i] = 1
-	pcs_lover +=1
-	if loverGender[i] = 1: pcs_girlfriends += 1
+	!!pcs_lover +=1
+	stat['total_lovers_current'] += 1
+	$pcs_lover_arr[] = $boy
+	if loverGender[i] = 1:
+		stat['girlfriends_current'] += 1
+	else
+		stat['boyfriends_current'] += 1
+	end
 end
 
 if $ARGS[0] = 'remove':
@@ -102,7 +108,13 @@ if $ARGS[0] = 'remove':
 	killvar 'meethour', i
 	killvar 'svidanie', i
 	killvar 'meetday', i
-	if loverGender[i] = 1: pcs_girlfriends -= 1
+	if loverGender[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
@@ -150,15 +162,34 @@ if $ARGS[0] = 'add fuckbuddy':
 	end
 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],'',"hour >= 8 and hour <= 22",'', "hour >= 8 and hour <= 22", 0
+	end
+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])
 end
 
 
-if $ARGS[0] = 'remove sugardaddy':
+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 '$fuckbuddy', arrpos('$fuckbuddy',$ARGS[1])
 end
 

+ 104 - 89
locations/pain.qsrc

@@ -1,101 +1,116 @@
 # pain
-!For checking pain and when applicable triggering arousal.
-!ARGS[0] magnitude of pain inflicted 1 is very light, 9 is the maximum value in the given way of causing pain
-!$ARGS[1] should equal the body part being hurt from any of the following:
-!BobyPart 'head', 'hair', 'ears', 'eyebrows', 'eyes', 'cheeks', 'nose', 'mouth', 'lips', 'tongue', 'throat', 'neck', 'back',
-!'asscheeks', 'asshole', 'hips', 'thighs', 'legL', 'legR', 'feet', 'toes', 'shoulders', 'armL', 'armR', 'handL', 'handR',
-!'fingers', 'chest', 'breasts', 'nipples', 'ribs', 'tummy', 'pubic', 'vaginal', 'labia', 'clitoris', 'urethra', 'cervix',
-!'wrists', 'ankles'
-!$ARGS[2] The action the participant has performed on Sveta (some of these can cause arousal if Sveta is into pain)
-!Acts: 'pierce', 'slap', 'spank', 'pinch', 'bite', 'burn', 'freeze', 'hit', 'kick', 'Slam', 'shock', 'bind', 'stretch'
-!'tear', 'break', 'twist', 'ache', 'cramp', 'labor', 'choke', 'fall', 'pull'
-!Format to use: gs 'pain', n, 'BobyPart', 'Act'
-!For pain to multiple body parts, use multiple calls
+if $ARGS[0] = 'calc':
 
-pain[1] = min(ARGS[0]+ARGS[1]+ARGS[2],9)
-if pain[1]<1: exit
+    paintmp1 = func('shortgs','modul',pain['head'],pain['hair'],pain['ears'],pain['eyebrows'],pain['eyes'],pain['cheeks'],pain['nose'],pain['mouth'])
+    paintmp2 = func('shortgs','modul',pain['tummy'],pain['pubic'],pain['vaginal'],pain['labia'],pain['clitoris'],pain['urethra'],pain['cervix'],pain['lips'])
+    paintmp3 = func('shortgs','modul',pain['throat'],pain['asscheeks'],pain['asshole'],pain['hips'],pain['thighs'],pain['legL'],pain['legR'],pain['feet'])
+    paintmp4 = func('shortgs','modul',pain['toes'],pain['shoulders'],pain['armL'],pain['armR'],pain['hands'],pain['fingers'],pain['chest'],pain['breasts'])
+    paintmp5 = func('shortgs','modul',pain['tongue'],pain['neck'],pain['back'],pain['nipples'],pain['ribs'],vgape * 2, agape * 4,spanked * 24)
 
-pain[2] = 0
-if arrpos('$ARGS', 'slap') >= 0:    pain[2] = 1
-if arrpos('$ARGS', 'bind') >= 0:    pain[2] = 1
-if arrpos('$ARGS', 'spank') >= 0:   pain[2] = 3 & spank += 1
-if arrpos('$ARGS', 'choke') >= 0:   pain[2] = 3
-if arrpos('$ARGS', 'shock') >= 0:   pain[2] = 4
-if arrpos('$ARGS', 'twist') >= 0:   pain[2] = 4
-if arrpos('$ARGS', 'pull') >= 0:    pain[2] = 4	
-if arrpos('$ARGS', 'fall') >= 0:    pain[2] = 4
-if arrpos('$ARGS', 'labor') >= 0:   pain[2] = 4
-if arrpos('$ARGS', 'pinch') >= 0:   pain[2] = 5
-if arrpos('$ARGS', 'stretch') >= 0: pain[2] = 6
-if arrpos('$ARGS', 'slam') >= 0:    pain[2] = 6
-if arrpos('$ARGS', 'burn') >= 0:    pain[2] = 7
-if arrpos('$ARGS', 'freeze') >= 0:  pain[2] = 7
-if arrpos('$ARGS', 'hit') >= 0:     pain[2] = 7
-if arrpos('$ARGS', 'pierce') >= 0:  pain[2] = 8
-if arrpos('$ARGS', 'bite') >= 0:    pain[2] = 8
-if arrpos('$ARGS', 'tear') >= 0:    pain[2] = 9
-if arrpos('$ARGS', 'ache') >= 0:    pain[2] = 9
-if arrpos('$ARGS', 'kick') >= 0:    pain[2] = 10
-if arrpos('$ARGS', 'break') >= 0:   pain[2] = 10
-if arrpos('$ARGS', 'cramp') >= 0:   pain[2] = 10
-if pain[2]<1: exit
+    pain['total'] = func('shortgs','modul',paintmp1,paintmp2,paintmp3,paintmp4,paintmp5)
 
-pain[3] = 0
-if arrpos('$ARGS', 'hair') >= 0:      pain[3] = 1  & $painPart = 'hair'
-if arrpos('$ARGS', 'asscheeks') >= 0: pain[3] = 2  & $painPart = 'asscheeks'
-if arrpos('$ARGS', 'feet') >= 0:      pain[3] = 2  & $painPart = 'feet'
-if arrpos('$ARGS', 'shoulders') >= 0: pain[3] = 2  & $painPart = 'shoulders'
-if arrpos('$ARGS', 'wrists') >= 0:    pain[3] = 2  & $painPart = 'wrists'
-if arrpos('$ARGS', 'ankles') >= 0:    pain[3] = 2  & $painPart = 'ankles'
-if arrpos('$ARGS', 'armL') >= 0:      pain[3] = 2  & $painPart = 'armL'
-if arrpos('$ARGS', 'armR') >= 0:      pain[3] = 2  & $painPart = 'armR'
-if arrpos('$ARGS', 'cheeks') >= 0:    pain[3] = 3  & $painPart = 'cheeks'
-if arrpos('$ARGS', 'legL') >= 0:      pain[3] = 3  & $painPart = 'legL'
-if arrpos('$ARGS', 'legR') >= 0:      pain[3] = 3  & $painPart = 'legR'
-if arrpos('$ARGS', 'hands') >= 0:     pain[3] = 3  & $painPart = 'hands'
-if arrpos('$ARGS', 'mouth') >= 0:     pain[3] = 4  & $painPart = 'mouth'
-if arrpos('$ARGS', 'jaw') >= 0:       pain[3] = 4  & $painPart = 'jaw'
-if arrpos('$ARGS', 'thighs') >= 0:    pain[3] = 4  & $painPart = 'thighs'
-if arrpos('$ARGS', 'toes') >= 0:      pain[3] = 4  & $painPart = 'toes'
-if arrpos('$ARGS', 'fingers') >= 0:   pain[3] = 4  & $painPart = 'fingers'
-if arrpos('$ARGS', 'nose') >= 0:      pain[3] = 5  & $painPart = 'nose'
-if arrpos('$ARGS', 'back') >= 0:      pain[3] = 5  & $painPart = 'back'
-if arrpos('$ARGS', 'ribs') >= 0:      pain[3] = 5  & $painPart = 'ribs'
-if arrpos('$ARGS', 'hips') >= 0:      pain[3] = 5  & $painPart = 'hips'
-if arrpos('$ARGS', 'head') >= 0:      pain[3] = 6  & $painPart = 'head'
-if arrpos('$ARGS', 'ears') >= 0:      pain[3] = 6  & $painPart = 'ears'
-if arrpos('$ARGS', 'eyebrows') >= 0:  pain[3] = 6  & $painPart = 'eyebrows'
-if arrpos('$ARGS', 'lips') >= 0:      pain[3] = 6  & $painPart = 'lips'
-if arrpos('$ARGS', 'throat') >= 0:    pain[3] = 6  & $painPart = 'throat'
-if arrpos('$ARGS', 'tummy') >= 0:     pain[3] = 6  & $painPart = 'tummy'
-if arrpos('$ARGS', 'pubic') >= 0:     pain[3] = 6  & $painPart = 'pubic'
-if arrpos('$ARGS', 'urethra') >= 0:   pain[3] = 6  & $painPart = 'urethra'
-if arrpos('$ARGS', 'tongue') >= 0:    pain[3] = 7  & $painPart = 'tongue'
-if arrpos('$ARGS', 'neck') >= 0:      pain[3] = 7  & $painPart = 'neck'
-if arrpos('$ARGS', 'chest') >= 0:     pain[3] = 7  & $painPart = 'chest'
-if arrpos('$ARGS', 'eyes') >= 0:      pain[3] = 8  & $painPart = 'eyes'
-if arrpos('$ARGS', 'breasts') >= 0:   pain[3] = 8  & $painPart = 'breasts'
-if arrpos('$ARGS', 'vaginal') >= 0:   pain[3] = 8  & $painPart = 'vaginal'
-if arrpos('$ARGS', 'labia') >= 0:     pain[3] = 8  & $painPart = 'labia'
-if arrpos('$ARGS', 'cervix') >= 0:    pain[3] = 8  & $painPart = 'cervix'
-if arrpos('$ARGS', 'asshole') >= 0:   pain[3] = 9  & $painPart = 'asshole'
-if arrpos('$ARGS', 'nipples') >= 0:   pain[3] = 9  & $painPart = 'nipples'
-if arrpos('$ARGS', 'clitoris') >= 0:  pain[3] = 10 & $painPart = 'clitoris'
-if pain[3]<1: exit
+    if pain['total'] > 100: pain['total'] = 100
+    pain['damage'] = pain['total']
 
-curpain = (pain[1] * pain[2] * pain[3]) /10
-prevpain = pain[$painPart]
+else
+    !For checking pain and when applicable triggering arousal.
+    !ARGS[0] magnitude of pain inflicted 1 is very light, 9 is the maximum value in the given way of causing pain
+    !$ARGS[1] should equal the body part being hurt from any of the following:
+    !BobyPart 'head', 'hair', 'ears', 'eyebrows', 'eyes', 'cheeks', 'nose', 'mouth', 'lips', 'tongue', 'throat', 'neck', 'back',
+    !'asscheeks', 'asshole', 'hips', 'thighs', 'legL', 'legR', 'feet', 'toes', 'shoulders', 'armL', 'armR', 'handL', 'handR',
+    !'fingers', 'chest', 'breasts', 'nipples', 'ribs', 'tummy', 'pubic', 'vaginal', 'labia', 'clitoris', 'urethra', 'cervix',
+    !'wrists', 'ankles'
+    !$ARGS[2] The action the participant has performed on Sveta (some of these can cause arousal if Sveta is into pain)
+    !Acts: 'pierce', 'slap', 'spank', 'pinch', 'bite', 'burn', 'freeze', 'hit', 'kick', 'Slam', 'shock', 'bind', 'stretch'
+    !'tear', 'break', 'twist', 'ache', 'cramp', 'labor', 'choke', 'fall', 'pull'
+    !Format to use: gs 'pain', n, 'BobyPart', 'Act'
+    !For pain to multiple body parts, use multiple calls
 
-pain[$painPart] = func( 'shortgs','modul',prevpain,curpain)
+    pain[1] = min(ARGS[0]+ARGS[1]+ARGS[2],9)
+    if pain[1]<1: exit
 
-if pain[$painPart] > 100: pain[$painPart] = 100
+    pain[2] = 0
+    if arrpos('$ARGS', 'slap') >= 0:    pain[2] = 1
+    if arrpos('$ARGS', 'bind') >= 0:    pain[2] = 1
+    if arrpos('$ARGS', 'spank') >= 0:   pain[2] = 3 & spank += 1
+    if arrpos('$ARGS', 'choke') >= 0:   pain[2] = 3
+    if arrpos('$ARGS', 'shock') >= 0:   pain[2] = 4
+    if arrpos('$ARGS', 'twist') >= 0:   pain[2] = 4
+    if arrpos('$ARGS', 'pull') >= 0:    pain[2] = 4	
+    if arrpos('$ARGS', 'fall') >= 0:    pain[2] = 4
+    if arrpos('$ARGS', 'labor') >= 0:   pain[2] = 4
+    if arrpos('$ARGS', 'pinch') >= 0:   pain[2] = 5
+    if arrpos('$ARGS', 'stretch') >= 0: pain[2] = 6
+    if arrpos('$ARGS', 'slam') >= 0:    pain[2] = 6
+    if arrpos('$ARGS', 'burn') >= 0:    pain[2] = 7
+    if arrpos('$ARGS', 'freeze') >= 0:  pain[2] = 7
+    if arrpos('$ARGS', 'hit') >= 0:     pain[2] = 7
+    if arrpos('$ARGS', 'pierce') >= 0:  pain[2] = 8
+    if arrpos('$ARGS', 'bite') >= 0:    pain[2] = 8
+    if arrpos('$ARGS', 'tear') >= 0:    pain[2] = 9
+    if arrpos('$ARGS', 'ache') >= 0:    pain[2] = 9
+    if arrpos('$ARGS', 'kick') >= 0:    pain[2] = 10
+    if arrpos('$ARGS', 'break') >= 0:   pain[2] = 10
+    if arrpos('$ARGS', 'cramp') >= 0:   pain[2] = 10
+    if pain[2]<1: exit
 
-killvar 'prevpain'
-killvar 'curpain'
-killvar '$painPart'
+    pain[3] = 0
+    if arrpos('$ARGS', 'hair') >= 0:      pain[3] = 1  & $painPart = 'hair'
+    if arrpos('$ARGS', 'asscheeks') >= 0: pain[3] = 2  & $painPart = 'asscheeks'
+    if arrpos('$ARGS', 'feet') >= 0:      pain[3] = 2  & $painPart = 'feet'
+    if arrpos('$ARGS', 'shoulders') >= 0: pain[3] = 2  & $painPart = 'shoulders'
+    if arrpos('$ARGS', 'wrists') >= 0:    pain[3] = 2  & $painPart = 'wrists'
+    if arrpos('$ARGS', 'ankles') >= 0:    pain[3] = 2  & $painPart = 'ankles'
+    if arrpos('$ARGS', 'armL') >= 0:      pain[3] = 2  & $painPart = 'armL'
+    if arrpos('$ARGS', 'armR') >= 0:      pain[3] = 2  & $painPart = 'armR'
+    if arrpos('$ARGS', 'cheeks') >= 0:    pain[3] = 3  & $painPart = 'cheeks'
+    if arrpos('$ARGS', 'legL') >= 0:      pain[3] = 3  & $painPart = 'legL'
+    if arrpos('$ARGS', 'legR') >= 0:      pain[3] = 3  & $painPart = 'legR'
+    if arrpos('$ARGS', 'hands') >= 0:     pain[3] = 3  & $painPart = 'hands'
+    if arrpos('$ARGS', 'mouth') >= 0:     pain[3] = 4  & $painPart = 'mouth'
+    if arrpos('$ARGS', 'jaw') >= 0:       pain[3] = 4  & $painPart = 'jaw'
+    if arrpos('$ARGS', 'thighs') >= 0:    pain[3] = 4  & $painPart = 'thighs'
+    if arrpos('$ARGS', 'toes') >= 0:      pain[3] = 4  & $painPart = 'toes'
+    if arrpos('$ARGS', 'fingers') >= 0:   pain[3] = 4  & $painPart = 'fingers'
+    if arrpos('$ARGS', 'nose') >= 0:      pain[3] = 5  & $painPart = 'nose'
+    if arrpos('$ARGS', 'back') >= 0:      pain[3] = 5  & $painPart = 'back'
+    if arrpos('$ARGS', 'ribs') >= 0:      pain[3] = 5  & $painPart = 'ribs'
+    if arrpos('$ARGS', 'hips') >= 0:      pain[3] = 5  & $painPart = 'hips'
+    if arrpos('$ARGS', 'head') >= 0:      pain[3] = 6  & $painPart = 'head'
+    if arrpos('$ARGS', 'ears') >= 0:      pain[3] = 6  & $painPart = 'ears'
+    if arrpos('$ARGS', 'eyebrows') >= 0:  pain[3] = 6  & $painPart = 'eyebrows'
+    if arrpos('$ARGS', 'lips') >= 0:      pain[3] = 6  & $painPart = 'lips'
+    if arrpos('$ARGS', 'throat') >= 0:    pain[3] = 6  & $painPart = 'throat'
+    if arrpos('$ARGS', 'tummy') >= 0:     pain[3] = 6  & $painPart = 'tummy'
+    if arrpos('$ARGS', 'pubic') >= 0:     pain[3] = 6  & $painPart = 'pubic'
+    if arrpos('$ARGS', 'urethra') >= 0:   pain[3] = 6  & $painPart = 'urethra'
+    if arrpos('$ARGS', 'tongue') >= 0:    pain[3] = 7  & $painPart = 'tongue'
+    if arrpos('$ARGS', 'neck') >= 0:      pain[3] = 7  & $painPart = 'neck'
+    if arrpos('$ARGS', 'chest') >= 0:     pain[3] = 7  & $painPart = 'chest'
+    if arrpos('$ARGS', 'eyes') >= 0:      pain[3] = 8  & $painPart = 'eyes'
+    if arrpos('$ARGS', 'breasts') >= 0:   pain[3] = 8  & $painPart = 'breasts'
+    if arrpos('$ARGS', 'vaginal') >= 0:   pain[3] = 8  & $painPart = 'vaginal'
+    if arrpos('$ARGS', 'labia') >= 0:     pain[3] = 8  & $painPart = 'labia'
+    if arrpos('$ARGS', 'cervix') >= 0:    pain[3] = 8  & $painPart = 'cervix'
+    if arrpos('$ARGS', 'asshole') >= 0:   pain[3] = 9  & $painPart = 'asshole'
+    if arrpos('$ARGS', 'nipples') >= 0:   pain[3] = 9  & $painPart = 'nipples'
+    if arrpos('$ARGS', 'clitoris') >= 0:  pain[3] = 10 & $painPart = 'clitoris'
+    if pain[3]<1: exit
 
-!arousal calculation
-!arousal += (pain[1] * pain[2]) * pain[3] * masochism['pref'] / 1000
+    curpain = (pain[1] * pain[2] * pain[3]) /10
+    prevpain = pain[$painPart]
+
+    pain[$painPart] = func( 'shortgs','modul',prevpain,curpain)
+
+    if pain[$painPart] > 100: pain[$painPart] = 100
+
+    killvar 'prevpain'
+    killvar 'curpain'
+    killvar '$painPart'
+
+    !arousal calculation
+    !arousal += (pain[1] * pain[2]) * pain[3] * masochism['pref'] / 1000
+end
 
 --- pain ---------------------------------
 

+ 3 - 1
locations/pav_aptcourtev.qsrc

@@ -556,6 +556,7 @@ if $ARGS[0] = 'events2':
 			else
 				if grupTipe = 3:
 					'You are not met with smiles or inviting looks. Lena speaks up first. "What do you want, freak?"'
+					act 'Move away':gt 'pav_complex', 'start'
 				else
 					'You are not met with smiles or inviting looks. Lena speaks up first. "What? Looking to slum it for a bit?"'
 					'You smile at them. "I just wanted to hang out if that''s okay?"'
@@ -565,7 +566,7 @@ if $ARGS[0] = 'events2':
 						grupvalue[4] -= 2
 						gs 'stat'
 						'Starting to feel nervous, you glance down at your phone. "Oh I didn''t notice the time, I need to get going." You wave at them and start walking away as you hear them laughing behind you.'
-						act 'Move away':gt 'pav_park', 'deeper_park'
+						act 'Move away':gt 'pav_complex', 'start'
 					end
 					act 'Make small talk':
 						'You tell them about what''s been going on lately in your life and make small talk with the girls for a while, but they seem to quickly get tired of listening and tell you that they''ve got things to do. They grab the few beers left and walk away without inviting you to join them.'
@@ -681,6 +682,7 @@ if $ARGS[0] = 'events2':
 					*clr & cla
 					minut += 10
 					mc_inventory['cigarettes'] += 1
+					siga_bum = 1
 					gs 'drugs', 'smoke'
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/events/boysmoke2.jpg"></center>'

+ 35 - 11
locations/pav_church.qsrc

@@ -309,9 +309,18 @@ if $ARGS[0] = 'liturgy':
 				cla & *nl
 				'As you listen to the buzz of slurs, barbs, and insults, a haughty smirk comes over your face. You turn and make direct eye contact with an elderly woman, one of your detractors. With a lick of your lips and let your smirk expand into a lascivious grin. She gasps in shock and you turn towards a man sitting with a woman who appears to be his wife and wink suggestively at him. The woman glares daggers at you and the man shifts in his seat uncomfortably.'
 				*nl
-				'As the service begins, the whispers die down but you can still feel their silent judgment. You ignore the lasers on the back of your head and participate without care, singing the hymns and repeating the scripture with perfect obedience. And every time you make eye contact, a sly smile that makes them turn back in disgust.'
+				if $braworntype = 'none' and PCloThinness >= 4:
+					if pcs_hairlng <= 260 or hscrunchw = 1 or hbraids > 0:
+						!! if hair would not cover breasts
+						'As the service begins, the whispers die down but you can still feel their silent judgment. In response, you sit up straight and push out your chest, participating without hesitation, singing the hymns and repeating the scripture with perfect obedience. And every time someone glances your way it turns into a hushed gasp or a shocked stare when they see your nipples ' + iif(PCloThinness < 6,'making obvious bumps through your ','clearly showing through your transparent ' + iif(PCloDress = 1, 'dress.', 'top.')
+					else
+						'As the service begins, the whispers die down but you can still feel their silent judgment. In response, you sit up straight, push your hair back over your shoulders, and push out your chest, participating without hesitation, singing the hymns and repeating the scripture with perfect obedience. And every time someone glances your way it turns into a hushed gasp or a shocked stare when they see your nipples ' + iif(PCloThinness < 6,'making obvious bumps through your ','clearly showing through your transparent ' + iif(PCloDress = 1, 'dress.', 'top.')
+					end
+				else
+					'As the service begins, the whispers die down but you can still feel their silent judgment. You ignore the stares and participate without care, singing the hymns and repeating the scripture with perfect obedience. And every time you catch someone glancing at you, you turn straight towards them and give them a sly smile that makes them turn back in disgust.'
+				end
 				*nl
-				'At the end, you think people are going to go home talking more about you than about the service...'
+				'You think people are going to go home talking more about you than about the service...'
 				act 'Leave the church': gt 'pav_church' , 'service_end'
 			end
 		end
@@ -584,8 +593,16 @@ end
 
 if $ARGS[0] = 'restroom_fuck_condom_cum':
 	gs 'cum_call', '', 'man at church', 0, 3
-	*nl
-	'After a few minutes, he groans softly and you feel his cock pulse within the condom inside you. You wait for him to finish before pulling away. The man pulls the rubber off and throws it in the toilet, wiping his shaft and throwing those tissues inside with it. Once finished, he pulls up his pants and departs, leaving you ' + iif($temp['approach_type'] = 'prostitute', 'with <<temp[''prost_money'']>><b>₽</b> in your hand and a well used pussy.', 'alone with nothing but a used pussy.')
+	cla & *clr
+	if condom_break = 0:
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/church/supplycloset.jpg"></center>'
+		'After a few minutes, he groans softly and you feel his cock pulse within the condom inside you. You wait for him to finish before pulling away. The man pulls the rubber off and throws it in the toilet, wiping his shaft and throwing those tissues inside with it. Once finished, he pulls up his pants and departs, leaving you ' + iif($temp['approach_type'] = 'prostitute', 'with <<temp[''prost_money'']>><b>₽</b> in your hand and a well used pussy.', 'alone with nothing but a used pussy.')
+	else
+		'<center><img <<$set_imgh>> src="images/shared/sex/public/restroom/creampie1.jpg"></center>'
+		'After a few minutes, he groans softly and you feel his cock pulse within the condom inside you. You wait for him to finish before pulling away. The man pulls the rubber off and throws it in the toilet, wiping his shaft and throwing those tissues inside with it. He yanks up his pants when you feel something suddenly <i>spurt</i> out of your pussy.'
+		'Your eyes go wide as you exclaim, "Wait, did the condom-"'
+		'Before you can even finish the man departs, leaving you ' + iif($temp['approach_type'] = 'prostitute', 'with <<temp[''prost_money'']>><b>₽</b> in your hand and his cum in your pussy.', 'alone with nothing but his cum in your pussy.')
+	end
 	if $temp['approach_type'] = 'prostitute': money += temp['prost_money']
 	act'Finish':gs 'pav_church', 'restroom_sex_end'
 end
@@ -596,9 +613,13 @@ if $ARGS[0] = 'restroom_fuck_bareback_cum':
 			gs 'cum_call', '', 'man at church'
 			cla & *nl
 			'A few minutes later, he groans softly and something suddenly shoots into your womb.'
-			'You gasp in surprise as the man empties his balls into you before pulling away, leaving a sticky white stream dripping down your legs. He immediately pulls up his pants and departs, leaving you ' + iif($temp['approach_type'] = 'prostitute', 'with <<temp[''prost_money'']>><b>₽</b> in your hand and his cum in your pussy.', 'alone with nothing but his cum in your pussy.')
-			!!'leaving a sticky white stream dripping down your legs.'
-			act'Finish':gs 'pav_church', 'restroom_sex_end'
+			act'Continue':
+				cla & *clr
+				'<center><img <<$set_imgh>> src="images/pc/body/cum/creampie/cumpussy1.jpg"></center>'
+				'You gasp in surprise as the man empties his balls into you before pulling away, leaving a sticky white stream dripping down your legs. He immediately pulls up his pants and departs, leaving you ' + iif($temp['approach_type'] = 'prostitute', 'with <<temp[''prost_money'']>><b>₽</b> in your hand and his cum in your pussy.', 'alone with nothing but his cum in your pussy.')
+				!!'leaving a sticky white stream dripping down your legs.'
+				act'Finish':gs 'pav_church', 'restroom_sex_end'
+			end
 		end
 	else
 		'A few minutes later, he groans softly.'
@@ -607,8 +628,12 @@ if $ARGS[0] = 'restroom_fuck_bareback_cum':
 			gs 'cum_call', '', 'man at church'
 			cla & *nl
 			'"It''s okay," you murmur in his ear. "You can come inside."'
-			'With a soft groan, you feel him orgasm and his thick spunk fills your pussy. It pulses within you for several long moments before he finally withdraws, leaving a sticky white stream dripping down your legs. He immediately pulls up his pants and departs, leaving you ' + iif($temp['approach_type'] = 'prostitute', 'with <<temp[''prost_money'']>><b>₽</b> in your hand and his cum in your pussy.', 'alone with nothing but his cum in your pussy.')
-			act'Finish':gs 'pav_church', 'restroom_sex_end'
+			act'Continue':
+				cla & *clr
+				'<center><img <<$set_imgh>> src="images/pc/body/cum/creampie/cumpussy1.jpg"></center>'
+				'With a soft groan, you feel him orgasm and his thick spunk fills your pussy. It pulses within you for several long moments before he finally withdraws, leaving a sticky white stream dripping down your legs. He immediately pulls up his pants and departs, leaving you ' + iif($temp['approach_type'] = 'prostitute', 'with <<temp[''prost_money'']>><b>₽</b> in your hand and his cum in your pussy.', 'alone with nothing but his cum in your pussy.')
+				act'Finish':gs 'pav_church', 'restroom_sex_end'
+			end
 		end
 		gs 'pav_church', 'restroom_cum_hand'
 		gs 'pav_church', 'restroom_cum_mouth'
@@ -616,7 +641,6 @@ if $ARGS[0] = 'restroom_fuck_bareback_cum':
 	end
 end
 
-
 if $ARGS[0] = 'restroom_cum_hand':
 	act'Finish him with your hand':
 		cla & *clr
@@ -645,7 +669,7 @@ if $ARGS[0] = 'restroom_cum_mouth':
 	act'Take his cumshot in your mouth':
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
-		!!'<center><video autoplay loop src="images/shared/sex/public/cum_mouth1.mp4"></video></center>'
+		!!'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum12.mp4"></video></center>'
 		'He cums in your mouth.'
 		if $temp['approach_type'] = 'prostitute': money += temp['prost_money']
 		act'Swallow it':

+ 3 - 3
locations/pav_clinic.qsrc

@@ -1635,7 +1635,7 @@ if $ARGS[0] = 'maternity_ward':
 						act 'Explain yourself':
 							*clr & cla
 							'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/mward/old_nurse.jpg"></center>'
-							if preg = 0 and pregtimes = 0:
+							if knowpreg = 0:
 								pcs_gpolimilkdonation = 2
 								if lactation['induced'] = 1:
 									'"Erm... I used a breast pump on myself..." you blush in embarresment.'
@@ -1911,8 +1911,8 @@ if $ARGS[0] = 'maternity_ward_donation':
 			lactation['breastpumped'] = 1
 			'After 15 minutes, the nurse detaches the pumps from your breasts.'
 			if lact_ev['gpoli_milkedvolume'] => 50000:
+				pcs_gpoli_donationsessioncount += lact_ev['gpoli_milkedvolume']/10000
 				lact_ev['gpoli_temp_var'] = (lact_ev['gpoli_milkedvolume']/50000)
-				pcs_gpoli_donationsessioncount += lact_ev['gpoli_temp_var']
 				pcs_gpoli_totalmilkdonation_count += 1
 				pcs_gpoli_totalmilkdonation += (lact_ev['gpoli_temp_var']*50)
 				if lact_ev['gpoli_temp_var'] >= 12:
@@ -1943,7 +1943,7 @@ if $ARGS[0] = 'maternity_ward_donation':
 			end
 			lact_ev['gpoli_milkedvolume'] = 0
 			if pcs_gpoli_donationsessioncount > 0:
-				mward_donatemoney = (pcs_gpoli_donationsessioncount*100)
+				mward_donatemoney = (pcs_gpoli_donationsessioncount*5)/10*10
 			else
 				mward_donatemoney = 0
 			end

+ 23 - 0
locations/pav_disco.qsrc

@@ -918,6 +918,17 @@ if $ARGS[0] = 'hookup_aggressive':
 		
 		act 'Go to his place':gt 'sex_ev_start', 'hookup_npc_home_start'
 	end
+	
+	if locat['Fam_inGad'] = 1:
+		act 'Take him home':
+			cla & *clr
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+			'"How about mine instead?" you ask. With a sultry smirk, you lean in to whisper in <<$npc_firstname[$boy]>>''s ear.'
+			'"<i>My parents aren''t home tonight...</i>"'
+			'The look in his eyes is all you need to know and the two of you rush back to the estate together.'
+			act 'Continue':gt 'sex_ev_start', 'hookup_pc_home_start'
+		end
+	end
 end
 
 if $ARGS[0] = 'hookup_nice':
@@ -967,6 +978,18 @@ if $ARGS[0] = 'hookup_nice':
 		gs 'stat'
 		act 'Go to his place':gt 'sex_ev_start', 'hookup_npc_home_start'
 	end
+	
+	gs 'family_schedule'
+	if locat['Fam_inGad'] = 1:
+		act'Invite him home (hookup)':
+			cla & *clr
+			gs 'fame', 'pav', 'sex', 1
+			'<center><img src="images/locations/pavlovsk/community/disco/outside_kiss.jpg"></center>'
+			'"You want to come back to my place?" you ask, whispering in his ear. "<i>My parents aren''t home tonight.</i>"'
+			'The look in his eyes is all you need to know and the two of you rush back to the estate together.'
+			act 'Continue':gt 'sex_ev_start', 'hookup_pc_home_start'
+		end
+	end
 end
 
 --- pav_disco ---------------------------------

+ 1 - 0
locations/pav_disco_gopniks.qsrc

@@ -1092,6 +1092,7 @@ if $ARGS[0] = 'pauline':
 			'You sigh. "I just wanted to talk is all."'
 			'"Go talk to someone that cares then." she growls.'
 			'You talk to her for a few minutes, and while she doesn''t ignore you, she makes it clear that she doesn''t approve too much of how you got into the gopniks.'
+			act 'Do something else': gt 'pav_disco_classmates', 'classmates'
 		elseif grupTipe = 5:
 			'She shakes her head as soon as you start to get close. "Get the fuck away from me."'
 			act 'Do something else': gt 'pav_disco_classmates', 'classmates'

+ 281 - 184
locations/pav_disco_sex.qsrc

@@ -414,6 +414,19 @@ if $ARGS[0] = 'kissing':
 					'You pull your clothes back into place before letting him drag you away.'
 					act'Go to his place':gt 'sex_ev_start', 'hookup_npc_home_start'
 				end
+				
+				gs 'family_schedule'
+				if locat['Fam_inGad'] = 1:
+					act'Invite him home (hookup)':
+						cla & *clr
+						gs 'fame', 'pav', 'sex', 1
+						'<center><img src="images/locations/pavlovsk/community/disco/outside_kiss.jpg"></center>'
+						'"How about mine instead?" you ask. With a sultry smirk, you lean in to whisper in <<$npc_firstname[$boy]>>''s ear.'
+						'"<i>My parents aren''t home tonight...</i>"'
+						'The look in his eyes is all you need to know and the two of you rush back to the estate together.'
+						act 'Continue':gt 'sex_ev_start', 'hookup_pc_home_start'
+					end
+				end
 			else
 				if fame['pav_slut'] < 150:
 					gs 'willpower', 'mast', 'resist'
@@ -651,9 +664,9 @@ end
 if $ARGS[0] = 'handjob':
 	act 'Jerk him off':
 		*clr & cla
-		minut += 5
 		gs 'boymass', 'B'
 		bmHJ[Tboynum] += 1
+		gs 'arousal', 'hj', 5, 'no_orgasm_msg'
 		gs 'stat'
 
 		if gdk_nice_guy = 1:
@@ -663,14 +676,34 @@ if $ARGS[0] = 'handjob':
 			stat['hj'] += 1
 			'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hj.jpg"></center>'
 			'You move your hand up and down his shaft, slowly picking up the pace while shoving your tongue down his throat.'
-			'You soon feel his breaths getting shorter, and you feel his body start to stiffen up. Pointing his cock away from you, you pull back from the kiss and keep working his shaft off until you see him cum, his load splattering on the ground. You keep jerking him until you''ve released everything he has, the remains dribbling down your fingers still wrapped around his cock.'
-			gs'pav_disco_sex','handjob_end'
+			act'Make him cum':
+				cla & *nl
+				'You soon feel his breaths getting shorter, and you feel his body start to stiffen up. Pointing his cock away from you, you pull back from the kiss and keep working his shaft off until you see him cum, his load splattering on the ground. You keep jerking him until you''ve released everything he has, the remains dribbling down your fingers still wrapped around his cock.'
+				gs'pav_disco_sex','handjob_end'
+			end
 			
+			act 'Squat down and blow him': gt 'pav_disco_sex', 'blowjob', 'unpaid'
 		elseif gdk_nice_guy = 0:
 			'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hj.jpg"></center>'
 			'You move your hand up and down his shaft, slowly picking up the pace while you kiss him dominantly.'
-			'<<$npc_firstname[$boy]>> wants more and suddenly places his hands on your shoulder. Then, he firmly pushes downwards, forcing you to squat before him.'
-			act 'Squat down before him': gt 'pav_disco_sex', 'blowjob', 'unpaid'
+			'<<$npc_firstname[$boy]>> wants more and suddenly places his hands on your shoulder. Then, he firmly pushes downwards trying to force you to squat before him.'
+			
+			gs 'willpower', 'bj', 'resist'
+			if will_cost <= pcs_willpwr:
+				act 'Make him cum (<<will_cost>> Willpower)':
+					cla & *nl
+					gs 'willpower', 'pay', 'resist'
+					gs 'arousal', 'hj', rand(1,5), 'no_orgasm_msg'
+					gs'cum_call','hands',$boy,1
+					gs 'stat'
+					'With a wry smirk, you stand your ground instead, gripping his length harder and jerking faster. He may want a blowjob, but with your cock in his hand, you''re the one in control. It''s only a matter of time before he groans and releases a hot load that dribbles down your fingers.'
+					gs'pav_disco_sex','handjob_end'
+				end
+			else
+				act 'Make him cum (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			end
+			
+			act 'Squat down and blow him': gt 'pav_disco_sex', 'blowjob', 'unpaid'
 		end
 	end
 end
@@ -721,15 +754,17 @@ end
 
 if $ARGS[0] = 'blowjob':
 	*clr & cla
-	gs'arousal','bj', rand(3,7), 'prostitution'
-	stat['bj'] += 1
+	!!stat['bj'] += 1
 	if $ARGS[1] = 'paid':
+		gs'arousal','bj', rand(3,7), 'prostitution'
 		money += 100
 		if gdk_nice_guy = 1:
 			gs 'fame', 'pav', 'prostitute', rand(1,3)
 		elseif gdk_nice_guy = 0:
 			gs 'fame', 'pav', 'prostitute', rand(3,9)
 		end
+	else
+		gs'arousal','bj', rand(3,7)
 	end
 	
 	if gdk_nice_guy = 1:
@@ -806,183 +841,38 @@ if $ARGS[0] = 'blowjob':
 			end
 		end
 	else
-		'After a few minutes, <<$npc_firstname[$boy]>> pushes your head away and pulls you to your feet, facing you towards the wall. "I want to fuck your pussy."'
-		act 'Refuse':
-			cla & *clr
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-			'"Hey!" You quickly turn back around, putting your hands over your crotch. "What do you think you''re doing?"'
-			'"I just told you I want to fuck you."'
-			'"Well, <i>I</i> don''t you want to!"'
-			'"Why not? You were fine sucking my dick a second ago!"'
-			act 'I don''t want to have sex':
-				gdk['fuck'] = 2
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-				'"I just don''t want to!"'
-				'"Ugh, fine." <<$npc_firstname[$boy]>> grabs you by the shoulder and pulls you back down to your knees. "At least finish me off then."'
-				act 'Refuse':
-					gs'arousal','end'
-					cla & *clr
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-					'"What?? You think I''m going to just get back down there after the way you''re acting?"'
-					'"But you said you didn''t want to fuck!" he snarls.'
-					'"Ugh, I don''t want to deal with you." You quickly back away from <<$npc_firstname[$boy]>>, leaving him with blue balls and his dick hanging out as you head back to the disco.'
-					act 'Go back to the disco': gt'pav_disco'
-				end
-				
-				act 'Finish sucking him off':gt'pav_disco_sex','blowjob'
-			end
-			
-			act 'This is too public':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-				'"This is too public!" you hiss. "You think I''ll fuck you where anybody could see?"'
-				if npc_selfish[$boy] = 1:
-					'"You were just sucking my dick!" he almost shouts again. "Why is it too public to fuck, but it isn''t to suck my dick?!"'
-					'"It just is!" you huff back. "You know what? This whole thing was a mistake. You can sort that out yourself," you say, gesturing at his cock before you hurry away from him and back towards the disco.'
-					act 'Go back to the disco': gt'pav_disco'
-				else
-					'"Well..." <<$npc_firstname[$boy]>> scratches his head for a moment in confusion. "We don''t have to do it in public. We could take this back to my place if you want..."'
-					act 'Refuse':
-						cla & *clr
-						'"Nuh-uh. I''m not up for that."'
-						'"Oh. Well..." <<$npc_firstname[$boy]>> looks down at his still-hard cock. "Well, could you finish me off at least?"'
-						'"Sure, we can do that, at least."'
-						act 'Kneel down':gt'pav_disco_sex','blowjob'
-					end
-					
-					act 'Go with him':
-						cla & *clr
-						'"Well... a bed <i>does</i> sound nice," you smile. Taking that as acceptance, he pulls up his pants and grabs you by the arm, leading you back to a nearby apartment complex.'
-						act'Continue':gt 'sex_ev_start', 'hookup_npc_home_start'
-					end
-				end
-			end
-			
-!!			if stat['think_virgin'] = 1:
-!!				act'I''m a virgin':
-!!					cla & *clr
-!!					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-!!					'"Because I''m a virgin!" you huff.'
-!!					
-!!				end
-!!			end
-		end
-		
-		act 'Bend over':
-			cla & *clr
-			'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
-			gs'pav_disco_sex','insert'
-			if npc_condom_conscious = 1: gdk['condom'] = 1
-			act 'Get fucked':gt'pav_disco_sex','fuck1'
-		end
-		
-		act 'Condom?':
-			cla
-			act 'Ask him to use a condom':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-				
-				if npc_condom_conscious > 0:
-					'"Hang on. Use a-" You start to turn around to ask him to put on a condom but see he''s already pulling one out. "Oh. Way ahead of me, I guess."'
-					gs'pav_disco_sex','insert'
-					act 'Get fucked':gt'pav_disco_sex','fuck1'
-				elseif npc_selfish > 0:
-					'"Hang on. Can you please use a condom?"'
-					'"What? Fuck that rubber shit."'
-					gs 'willpower', 'misc', 'force'
-					if will_cost <= pcs_willpwr:
-						act 'Insist (<<will_cost>> Willpower)':
-							cla & *clr
-							gdk['condom'] = 1
-							'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
-							'"Come on! Please!"'
-							'He grumbles, but you hear him putting on a condom anyways, and you breathe a sigh of relief.'
-							gs'pav_disco_sex','insert'
-							act 'Get fucked':gt'pav_disco_sex','fuck1'
-						end
-					else
-						act 'Insist (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-					end
-					
-					act 'Maybe it''ll be okay...':
-						cla & *nl
-						gdk['condom'] = 2
-						'<i>Maybe it''ll be okay...</i> you think to yourself.'
-						'"Just don''t cum inside me, okay?"'
-						act 'Bend over':
-							cla & *clr
-							'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
-							gs'pav_disco_sex','insert'
-							act 'Get fucked':gt'pav_disco_sex','fuck1'
-						end
-					end
-				else
-					'"Hang on. Use a condom?" <<$npc_firstname[$boy]>> nods and pulls one out of his pocket, tears it open and rolls it onto his cock, leaving you to breathe a sigh of relief.'
-					act 'Bend over':
-						cla & *clr
-						gdk['condom'] = 1
-						'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
-						gs'pav_disco_sex','insert'
-						gdk['condom'] = 1
-						act 'Get fucked':gt'pav_disco_sex','fuck1'
-					end
-				end
-			
-				if mc_inventory['normal_condoms'] + mc_inventory['equipped_condoms'] > 0:
-					act 'Get a condom from your purse':
-						cla & *clr
-						'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-						'"Hang on," you pause, reaching into your bag and pulling out a condom. You tear the package open and gently roll it onto <<$npc_firstname[$boy]>>''s cock, giving him a few gentle tugs when you''re finished. "Safety first."'
-						gdk['condom'] = 1
-						mc_inventory['normal_condoms'] -= 1
-						act 'Bend over':
-							gs'pav_disco_sex','insert'
-							act 'Get fucked':gt'pav_disco_sex','fuck1'
-						end
-					end
-				end
-			end
-		end
-		
-		act 'Not here (suggest his place)':
-			cla & *clr
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-			'"Wait!" you cry, looking around. "Not here. Maybe we could... go back to your place?"'
-			'"That works for me," he grins. Then, pulling his pants back up, he rushes you to a nearby apartment complex, and you head inside.'
-			act 'Continue':gt 'sex_ev_start', 'hookup_npc_home_start'
-		end
+		gs'pav_disco_sex','fuck_pre1'
 	end
 end
 
 if $ARGS[0] = 'insert':
 	if PCloSkirt > 0 and $pantyworntype = 'none':
 		'You smile eagerly, quickly bending over and flipping your skirt up to show <<$npc_firstname[$boy]>> your bare ass.'
-		if npc_condom_conscious = 1 and gdk['condom'] = 0:
-			'"I thought I saw you weren''t wearing panties when we were dancing," <<$npc_firstname[$boy]>> snickers while rolling a condom onto his cock and lining himself up with your pussy.'
+		if npc_condom_conscious[$boy] > 0 and gdk['condom'] = 0:
+			'"I thought I saw you weren''t wearing panties when we were dancing," <<$npc_firstname[$boy]>> snickers, rolling a condom onto his cock and lining himself up with your pussy.'
 		else
-			'"I thought I saw you weren''t wearing panties when we were dancing," <<$npc_firstname[$boy]>> snickers, lining his cock up with your pussy.'
+			'"I thought I saw you weren''t wearing panties when we were dancing," <<$npc_firstname[$boy]>> snickers, lining his ' + iif(gdk['condom'] = 0, 'cock up with your pussy.', 'condom wrapped cock up with your pussy.')
 		end
 	elseif PCloSkirt > 0:
 		'You smile eagerly, quickly bending over and pulling your panties from under your skirt to your knees.'
-		if npc_condom_conscious = 1:
+		if npc_condom_conscious[$boy] > 0 and gdk['condom'] = 0:
 			'Behind you, <<$npc_firstname[$boy]>> rolls a condom onto his cock before lining himself up with your pussy.'
 		else
-			'<<$npc_firstname[$boy]>> moves in behind you, lining his cock up with your pussy.'
+			'<<$npc_firstname[$boy]>> moves in behind you, lining his ' + iif(gdk['condom'] = 0, 'cock up with your pussy.', 'condom wrapped cock up with your pussy.')
 		end
 	elseif $pantyworntype = 'none':
 		'You smile eagerly, quickly bending over and pulling down your pants to show <<$npc_firstname[$boy]>> your bare ass.'
-		if npc_condom_conscious = 1:
-			'"Looks like you came ready for this," <<$npc_firstname[$boy]>> snickers while rolling a condom onto his cock and lining himself up with your pussy.'
+		if npc_condom_conscious[$boy] > 0 and gdk['condom'] = 0:
+			'"Looks like you came ready for this," <<$npc_firstname[$boy]>> snickers, rolling a condom onto his cock and lining himself up with your pussy.'
 		else
-			'"Looks like you came ready for this," <<$npc_firstname[$boy]>> snickers, lining his cock up with your pussy.'
+			'"Looks like you came ready for this," <<$npc_firstname[$boy]>> snickers, lining his ' + iif(gdk['condom'] = 0, 'cock up with your pussy.', 'condom wrapped cock up with your pussy.')
 		end
 	else
 		'You smile eagerly, grabbing your pants and panties and pulling them down to your knees in one tug.'
-		if npc_condom_conscious = 1:
+		if npc_condom_conscious[$boy] > 0 and gdk['condom'] = 0:
 			'Behind you, <<$npc_firstname[$boy]>> rolls a condom onto his cock before lining himself up with your pussy.'
 		else
-			'<<$npc_firstname[$boy]>> moves in behind you, lining his cock up with your pussy.'
+			'<<$npc_firstname[$boy]>> moves in behind you, lining his ' + iif(gdk['condom'] = 0, 'cock up with your pussy.', 'condom wrapped cock up with your pussy.')
 		end
 	end
 end
@@ -1021,6 +911,213 @@ if $ARGS[0] = 'virgin_fuck':
 end
 
 
+if $ARGS[0] = 'fuck_pre1':
+	'After a few minutes, <<$npc_firstname[$boy]>> pushes your head away and pulls you to your feet, facing you towards the wall. "I want to fuck your pussy."'
+	act 'Refuse':
+		cla & *clr
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+		'"Hey!" You quickly turn back around, putting your hands over your crotch. "What do you think you''re doing?"'
+		'"I just told you I want to fuck you."'
+		'"Well, <i>I</i> don''t you want to!"'
+		'"Why not? You were fine sucking my dick a second ago!"'
+		act 'I don''t want to have sex':
+			gdk['fuck'] = 2
+			cla & *clr
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+			'"I just don''t want to!"'
+			'"Ugh, fine." <<$npc_firstname[$boy]>> grabs you by the shoulder and pulls you back down to your knees. "At least finish me off then."'
+			act 'Refuse':
+				gs'arousal','end'
+				cla & *clr
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+				'"What?? You think I''m going to just get back down there after the way you''re acting?"'
+				'"But you said you didn''t want to fuck!" he snarls.'
+				'"Ugh, I don''t want to deal with you." You quickly back away from <<$npc_firstname[$boy]>>, leaving him with blue balls and his dick hanging out as you head back to the disco.'
+				act 'Go back to the disco': gt'pav_disco'
+			end
+			
+			act 'Finish sucking him off':gt'pav_disco_sex','blowjob'
+		end
+		
+		act 'This is too public':
+			cla & *clr
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+			'"This is too public!" you hiss. "You think I''ll fuck you where anybody could see?"'
+			if npc_selfish[$boy] = 1:
+				'"You were just sucking my dick!" he almost shouts again. "Why is it too public to fuck, but it isn''t to suck my dick?!"'
+				'"It just is!" you huff back. "You know what? This whole thing was a mistake. You can sort that out yourself," you say, gesturing at his cock before you hurry away from him and back towards the disco.'
+				act 'Go back to the disco': gt'pav_disco'
+			else
+				'"Well..." <<$npc_firstname[$boy]>> scratches his head for a moment in confusion. "We don''t have to do it in public. We could take this back to my place if you want..."'
+				act 'Refuse':
+					cla & *clr
+					'"Nuh-uh. I''m not up for that."'
+					'"Oh. Well..." <<$npc_firstname[$boy]>> looks down at his still-hard cock. "Well, could you finish me off at least?"'
+					'"Sure, we can do that, at least."'
+					act 'Kneel down':gt'pav_disco_sex','blowjob'
+				end
+				
+				act 'Go with him':
+					cla & *clr
+					'"Well... a bed <i>does</i> sound nice," you smile. Taking that as acceptance, he pulls up his pants and grabs you by the arm, leading you back to a nearby apartment complex.'
+					act'Continue':gt 'sex_ev_start', 'hookup_npc_home_start'
+				end
+			end
+		end
+		
+!!			if stat['think_virgin'] = 1:
+!!				act'I''m a virgin':
+!!					cla & *clr
+!!					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+!!					'"Because I''m a virgin!" you huff.'
+!!					
+!!				end
+!!			end
+	end
+	
+	act 'Bend over':
+		cla & *clr
+		'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
+		gs'pav_disco_sex','insert'
+		if npc_condom_conscious[$boy] > 0: gdk['condom'] = 1
+		act 'Get fucked':gt'pav_disco_sex','fuck1'
+	end
+	
+	act 'Condom?':
+		cla
+		act 'Ask him to use a condom':
+			cla & *clr
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+			
+			if npc_condom_conscious[$boy] > 0:
+				'"Hang on. Use a-" You start to turn around to ask him to put on a condom but see he''s already pulling one out. "Oh. Way ahead of me, I guess."'
+				gs'pav_disco_sex','insert'
+				act 'Get fucked':gt'pav_disco_sex','fuck1'
+			elseif npc_selfish > 0:
+				'"Hang on. Can you please use a condom?"'
+				'"What? Fuck that rubber shit."'
+				gs 'willpower', 'misc', 'force'
+				if will_cost <= pcs_willpwr:
+					act 'Insist (<<will_cost>> Willpower)':
+						cla & *clr
+						gdk['condom'] = 1
+						'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
+						'"Come on! Please!"'
+						'He grumbles, but you hear him putting on a condom anyways, and you breathe a sigh of relief.'
+						gs'pav_disco_sex','insert'
+						act 'Get fucked':gt'pav_disco_sex','fuck1'
+					end
+				else
+					act 'Insist (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+				end
+				
+				act 'Maybe it''ll be okay...':
+					cla & *nl
+					gdk['condom'] = 2
+					'<i>Maybe it''ll be okay...</i> you think to yourself.'
+					'"Just don''t cum inside me, okay?"'
+					act 'Bend over':
+						cla & *clr
+						'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
+						gs'pav_disco_sex','insert'
+						act 'Get fucked':gt'pav_disco_sex','fuck1'
+					end
+				end
+			else
+				'"Hang on. Use a condom?" <<$npc_firstname[$boy]>> nods and pulls one out of his pocket, tears it open and rolls it onto his cock, leaving you to breathe a sigh of relief.'
+				act 'Bend over':
+					cla & *clr
+					gdk['condom'] = 1
+					'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
+					gs'pav_disco_sex','insert'
+					gdk['condom'] = 1
+					act 'Get fucked':gt'pav_disco_sex','fuck1'
+				end
+			end
+		
+			if mc_inventory['normal_condoms'] + mc_inventory['equipped_condoms'] > 0:
+				act 'Get a condom from your purse':
+					cla & *clr
+					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+					'"Hang on," you pause, reaching into your bag and pulling out a condom. You tear the package open and gently roll it onto <<$npc_firstname[$boy]>>''s cock, giving him a few gentle tugs when you''re finished. "Safety first."'
+					gdk['condom'] = 1
+					mc_inventory['normal_condoms'] -= 1
+					act 'Bend over':
+						gs'pav_disco_sex','insert'
+						act 'Get fucked':gt'pav_disco_sex','fuck1'
+					end
+				end
+			end
+		end
+	end
+	
+	act 'Not here (suggest his place)':
+		cla & *clr
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+		'"Wait!" you cry, looking around. "Not here. Maybe we could... go back to your place?"'
+		'"That works for me," he grins. Then, pulling his pants back up, he rushes you to a nearby apartment complex, and you head inside.'
+		act 'Continue':gt 'sex_ev_start', 'hookup_npc_home_start'
+	end
+	gs 'family_schedule'
+	if locat['Fam_inGad'] = 1:
+		act 'Take him home':
+			cla & *clr
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+			'With a sultry smirk, you lean in to whisper in <<$npc_firstname[$boy]>>''s ear.'
+			'"<i>My parents aren''t home tonight...</i>"'
+			'The look in his eyes is all you need to know and the two of you rush back to the estate together.'
+			act 'Continue':gt 'sex_ev_start', 'hookup_pc_home_start'
+		end
+	end
+end
+
+if $ARGS[0] = 'fuck_pre2':
+	if stat['think_virgin'] = 0:
+		act'Let him fuck you':
+			cla & *clr
+			'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
+			'"I''ve got a better idea," you grin.'
+			gs'pav_disco_sex','insert'
+			act 'Get fucked':gt'pav_disco_sex','fuck1'
+		end
+		act'Let him fuck you (with a condom)':
+			cla & *clr
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
+			'"I''ve got a better idea... Got a condom?" you ask suggestively.'
+			if npc_no_condoms[$boy] > 0:
+				'"No," <<$npc_firstname[$boy]>> grins back.'
+				act'Oh well':
+					cla & *clr
+					'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
+					'"Well that''s a shame," you say. And then you shrug. "Oh well."'
+					gs'pav_disco_sex','insert'
+					act'Fuck him':gt'pav_disco_sex','fuck1'
+				end
+				
+				if mc_inventory['normal_condoms'] > 0:
+					act'Use one of yours':
+						mc_inventory['normal_condoms'] -= 1
+						gdk['condom'] = 1
+						cla & *nl
+						'"Good thing I do," you smile, reaching into your bag and pulling out a condom. You tear the package open and gently roll it onto <<$npc_firstname[$boy]>>''s cock, giving him a few gentle tugs when you''re finished. "Safety first."'
+						'He seems pretty disappointed.'
+						act'Fuck him':gt'pav_disco_sex','fuck1'
+					end
+				end
+			else
+				'"Oh hell yes," <<$npc_firstname[$boy]>> grins back and pulls a wrapper out of his pocket.'
+				gdk['condom'] = 1
+				act'Bend over':
+					cla & *clr
+					'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/insert.mp4"></video></center>'
+					gs'pav_disco_sex','insert'
+					act'Fuck him':gt'pav_disco_sex','fuck1'
+				end
+			end
+		end
+	end
+end
+
 if $ARGS[0] = 'fuck1':
 	gdk['fuck'] = 1
 	gdk['orgasm'] = orgasm
@@ -1028,9 +1125,9 @@ if $ARGS[0] = 'fuck1':
 	gs'arousal','vaginal', rand(3,7), 'no_orgasm_msg'
 	'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/fuck.mp4"></video></center>'
 	if mesec > 0:
-		'<<$npc_firstname[$boy]>> slips inside you easily, your pussy already slick from your period, and quickly builds up to a steady pace, pummelling your pussy. The rhythmic fucking pounds your insides just the right way, and you soon find yourself moaning in pleasure.'
+		'<<$npc_firstname[$boy]>> slips inside you easily, your pussy already slick from your period, and quickly builds up to a steady pace, pummeling your pussy. The rhythmic fucking pounds your insides just the right way, and you soon find yourself moaning in pleasure.'
 	else
-		'<<$npc_firstname[$boy]>> quickly builds up to a steady pace, pummelling your pussy from behind, pumping his cock in and out of you. The rhythmic fucking pounds your insides just the right way, and you soon find yourself moaning in pleasure.'
+		'<<$npc_firstname[$boy]>> quickly builds up to a steady pace, pummeling your pussy from behind, pumping his cock in and out of you. The rhythmic fucking pounds your insides just the right way, and you soon find yourself moaning in pleasure.'
 	end
 	*nl
 	gs'pav_disco_sex','disco_cum'
@@ -1047,20 +1144,16 @@ if $ARGS[0] = 'disco_cum':
 		if gdk['condom'] ! 2: act 'Speed up':gt'pav_disco_sex','disco_creampie'
 		
 	elseif gdk['cum'] = 2:
-		'"Hey," <<$npc_firstname[$boy]>> grunts from behind you. "Let me cum in your mouth."'
-		act 'Squat down':gt'pav_disco_sex','disco_cum_facial'
+		'"Hey," <<$npc_firstname[$boy]>> grunts. "Let me cum in your mouth."'
+		act 'Let him cum on your face instead':gt'pav_disco_sex','disco_cum_facial'
 		
 		act 'Suck him off':gt'pav_disco_sex','disco_cum_mouth'
 	elseif gdk['cum'] = 3:
-		if gdk['condom'] = 1:
-			'Suddenly, <<$npc_firstname[$boy]>> pulls out of you and pushes you down to your knees, tears off the condom and starts rapidly jerking himself off in front of your face.'
-		else
-			'Suddenly, <<$npc_firstname[$boy]>> pulls out of you, pushes you down to your knees and starts rapidly jerking himself off in front of your face.'
-		end
+		'"Hey," <<$npc_firstname[$boy]>> grunts. "Let me cum on your face."'
 		
-		act 'Squat down':gt'pav_disco_sex','disco_cum_facial'
+		act 'Let him cum on your face':gt'pav_disco_sex','disco_cum_facial'
 		
-		act 'Suck him off instead':gt'pav_disco_sex','disco_cum_mouth'
+		act 'Finish him in your mouth instead':gt'pav_disco_sex','disco_cum_mouth'
 	elseif gdk['cum'] = 4:
 		if gdk['condom'] = 1:
 			gs'cum_call','', $boy, 1, 3
@@ -1099,18 +1192,22 @@ if $ARGS[0] = 'disco_cum_facial':
 	cla & *clr
 	$gdk['cum'] = 'facial'
 	'<center><video autoplay loop src="images/locations/pavlovsk/community/disco/sex/cum_facial.mp4"></video></center>'
-	if gdk['cum'] ! 2:
+	if gdk['cum'] = 1:
 		if gdk['condom'] = 1:
 			'You quickly jump off his cock and squat down in front of him. <<$npc_firstname[$boy]>> takes the hint and rips off the condom, jerking himself off over your face. Within seconds, cum erupts from the tip of his cock, spattering across your forehead and running down your cheeks. Seconds after that, it seems <<$npc_firstname[$boy]>> is out of juice and pulls back to admire his handiwork.'
 		else
 			'You quickly jump off his cock and squat down in front of him. <<$npc_firstname[$boy]>> takes the hint and begins jerking himself off over your face. Within seconds, cum erupts from the tip of his cock, spattering across your forehead and running down your cheeks. Seconds after that, it seems <<$npc_firstname[$boy]>> is out of juice and pulls back to admire his handiwork.'
 		end
 	else
-		'"Nuh-uh," You wrinkle your nose in disgust. "I don''t want that. But you can still cum on my face."'
+		if gdk['cum'] = 3:
+			'"Okay," you smile and slip yourself off of <<$npc_firstname[$boy]>>''s cock.'
+		else
+			'"No thanks," smirk. "But you can still cum on my face."'
+		end
 		if gdk['condom'] = 1:
-			'With a smile, you jump off his cock and squat in front of him. <<$npc_firstname[$boy]>> rips off the condom in turn, quickly jerking himself off over your face. Within seconds, cum erupts from the tip of his cock, spattering across your forehead and running down your cheeks. Seconds after that, it seems <<$npc_firstname[$boy]>> is out of juice and pulls back to admire his handiwork.'
+			'As you squat down before him, he tears off the condom and starts rapidly jerking himself off. Seconds later, cum blasts from his tip, spattering across your forehead and running down your cheeks. He loses power after the first shot, but continues jerking himself to let the remainder dribble down onto your face.'
 		else
-			'With a smile, you jump off his cock and squat in front of him. <<$npc_firstname[$boy]>> takes the hint and quickly begins jerking himself off over your face. Within seconds, cum erupts from the tip of his cock, spattering across your forehead and running down your cheeks. Seconds after that, it seems <<$npc_firstname[$boy]>> is out of juice and pulls back to admire his handiwork.'
+			'You squat down before him and he starts rapidly jerking himself off. Seconds later, cum blasts from his tip, spattering across your forehead and running down your cheeks. He loses power after the first shot, but continues jerking himself to let the remainder dribble down onto your face.'
 		end
 	end
 	
@@ -1472,13 +1569,13 @@ if $ARGS[0] = 'disco_sex_end':
 		if $pantyworntype ! 'none' or gdk['fuck'] ! 1:
 			if $gdk['cum'] = 'facial':
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-				'Zipping his pants back up, <<$npc_firstname[$boy]>> heads back inside, leaving you alone in the dark with cum on your face.'
+				'<<$npc_firstname[$boy]>> pulls his pants back up and heads back inside, leaving you alone in the dark with cum on your face.'
 			elseif $gdk['cum'] = 'mouth':
-				'Zipping his pants back up, <<$npc_firstname[$boy]>> heads back inside, leaving you alone in the dark, the taste of his cum still on your lips.'
+				'<<$npc_firstname[$boy]>> pulls his pants back up and heads back inside, leaving you alone in the dark, the taste of his cum still on your lips.'
 			elseif $gdk['cum'] = 'creampie' and (mesec > 0 or gdk['virgin'] = 1):
-				'Zipping his pants back up, <<$npc_firstname[$boy]>> heads back inside, leaving you alone in the dark, cum and menstrual fluids running down your legs.'
+				'<<$npc_firstname[$boy]>> pulls his pants back up and heads back inside, leaving you alone in the dark, cum and blood running down your legs.'
 			elseif $gdk['cum'] = 'creampie':
-				'Zipping his pants back up, <<$npc_firstname[$boy]>> heads back inside, leaving you alone in the dark, cum running down your legs.'
+				'<<$npc_firstname[$boy]>> pulls his pants back up and heads back inside, leaving you alone in the dark, cum running down your legs.'
 			elseif $gdk['cum'] = 'condom':
 				'<<$npc_firstname[$boy]>> pulls off the condom and tosses it aside, zipping his pants back up to head back inside and leaving you alone in the dark, pussy juices running down your legs.'
 			end
@@ -1503,9 +1600,9 @@ if $ARGS[0] = 'disco_sex_end':
 		if gdk['fuck'] ! 1:
 			if $gdk['cum'] = 'facial':
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/dk_night.jpg"></center>'
-				'Zipping his pants back up, <<$npc_firstname[$boy]>> heads back inside, leaving you alone in the dark with cum on your face.'
+				'<<$npc_firstname[$boy]>> pulls his pants back up and heads back inside, leaving you alone in the dark with cum on your face.'
 			elseif $gdk['cum'] = 'mouth':
-				'Zipping his pants back up, <<$npc_firstname[$boy]>> heads back inside, leaving you alone in the dark, the taste of his cum still on your lips.'
+				'<<$npc_firstname[$boy]>> pulls his pants back up and heads back inside, leaving you alone in the dark, the taste of his cum still on your lips.'
 			end
 		else
 			if $gdk['cum'] = 'facial':

+ 6 - 5
locations/pav_hotel.qsrc

@@ -36,7 +36,7 @@ if hour = 0 and hotresepQW_day ! daystart and (hotresepQW < 3 or (hotresepQW = 3
 		elseif resepseen = 0:
 			'This is strange, you think to yourself. The lobby is supposed to be open 24/7.'
 		elseif resepseen = 1:
-			'"Damn it, I guess if I am going to catch <<$receptionName>> in the act, I need to find another way to enter the lobby at midnight."'
+			'"Damn it, I guess if I am going to catch Elisabet in the act, I need to find another way to enter the lobby at midnight."'
 			if hotresepQW < 2: hotresepQW = 2
 			gs 'exp_gain', 'observ', 3
 		end
@@ -53,7 +53,7 @@ if hour = 0 and hotresepQW_day ! daystart and (hotresepQW < 3 or (hotresepQW = 3
 				'You find the door closed, and you realise that the receptionist and the manager are probably fooling around again. You carefully open the door with your key, and enter as quietly as you can.'
 				'Moving to the corner carefully, you sneak a glimpse.'
 			end
-			'You spy <<$receptionName>>. Yep, you nod, she''s already showing herself off to the cameras.'
+			'You spy Elisabet. Yep, you nod, she''s already showing herself off to the cameras.'
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/sex/resep_event1.jpg"></center>'
 			'She flashes her breasts beneath a devilish smile.'
 			'She flaps her skirt up and down, and there''s her shaved vagina, now-you-see-it, now-you-don''t.'
@@ -131,7 +131,7 @@ else
 	if pavHotelMaid = 0:
 		'As you enter the Pavlovsk hotel you''re always surprised by how fancy it looks on the inside, given the shabby exterior. You can approach the <a href="exec:minut += 1 & gt ''pav_hotelReception''">reception desk</a> of the hotel where a cute brunette is currently manning the desk, she gives you a friendly nod when you get into her sight range.'
 	else
-		'As you enter the Pavlovsk hotel you''re always surprised by how fancy it looks on the inside, given the shabby exterior. You can approach the <a href="exec:minut += 1 & gt ''pav_hotelReception''">reception desk</a> of the hotel where <<$receptionName>> is currently manning the desk, she gives you a friendly nod when you get into her sight range.'
+		'As you enter the Pavlovsk hotel you''re always surprised by how fancy it looks on the inside, given the shabby exterior. You can approach the <a href="exec:minut += 1 & gt ''pav_hotelReception''">reception desk</a> of the hotel where Elisabet is currently manning the desk, she gives you a friendly nod when you get into her sight range.'
 	end
 end
 
@@ -171,9 +171,10 @@ if maidqw >= 1 and hour >= 16 and hour < 17:
 		gs'stat'
 		if pavHotelMaid = 0:
 			pavHotelMaid = 1
-			'You report in for work at the front desk. The brunette manning the desk quickly makes sure no customers will need her for a minute. "Come with me, I''ll show you to the locker room." She says as she stands up and walks into a room behind the desk. "I didn''t catch your name last time. I''m <<$receptionName>>." She says as she opens a wardrobe and pulls out a maid uniform. "My name is <<$pcs_nickname>>." You tell her as you watch her closely. "This should be about your size. If it doesn''t fit just grab another from here. We have a few different sizes." She gives you a friendly smile: "You need to wear it while you work, company policy. You can put your own clothes in a locker for safekeeping. I have to get back to the desk now before I''m missed, good luck today!"'
+			'You report in for work at the front desk. The brunette manning the desk quickly makes sure no customers will need her for a minute. "Come with me, I''ll show you to the locker room." She says as she stands up and walks into a room behind the desk. "I didn''t catch your name last time. I''m Elisabet." She says as she opens a wardrobe and pulls out a maid uniform. "My name is <<$pcs_nickname>>." You tell her as you watch her closely. "This should be about your size. If it doesn''t fit just grab another from here. We have a few different sizes." She gives you a friendly smile: "You need to wear it while you work, company policy. You can put your own clothes in a locker for safekeeping. I have to get back to the desk now before I''m missed, good luck today!"'
 		else
-			'You report in for work at the front desk. <<$receptionName>> smiles and tells you: "Go and get changed <<$pcs_nickname>>. I''ll put your name on the worksheet for you."'
+			'You report in for work at the front desk.'
+			'"Go and get changed <<$pcs_nickname>>," Elisabet smiles. "I''ll put your name on the worksheet for today."'
 		end
 		act'Change into the maid costume':
 			*clr & cla

+ 1 - 1
locations/pav_lake.qsrc

@@ -539,7 +539,7 @@ if $ARGS[0] = 'nude_home':
 	menu_off = 1
 	inhib_exp += rand(1,3)
 	gs'stat'
-	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/lake/homenude.jpg"></center>'
+	'<center><video autoplay loop src="images/shared/sex/public/streaking1.mp4"></video></center>'
 	'You cover yourself up as best as you can and dash into the woods, using them as cover to get as close as you can to your apartment. Luckily, no one spots you, but now you''re at the edge of the woods and have the difficult task of actually making it to the building without being seen.'
 	
 	gs 'willpower', 'exhib', 'self'

+ 2 - 1
locations/pav_residential.qsrc

@@ -208,7 +208,8 @@ if mid($start_type,1,2) = 'sg' and (hour >= 8 or hour < 23) and cumloc[11] = 1 a
 		'As you walk through Pavlovsk, someone calls out to you. "<<$pcs_firstname>>!" You turn around and see uncle Misha, your neighbor. He looks at your face in amazement, "Your face looks like a mess! What is that?"'
 		'You blush and hesitate, trying to inconspicuously wipe the sperm off your face. It''s obviously not working; he already noticed. You see his eyes widen when he realizes what it is. "I see. Looks like you had fun." he grins and continues on his way.'
 	else
-		'Once again, you run into uncle Misha, your neighbor. He notices the sperm on your face: "Again? Looks like you''ve been busy, girl. Nice look, it suits you."'
+		'Once again, you run into uncle Misha, your neighbor. He notices the sperm on your face.'
+		'"Again? Looks like you''ve been busy, girl. Nice look, it suits you."'
 	end
 	act 'Continue':gt 'pav_residential'
 	exit

+ 1 - 1
locations/pushkin_ballet_init.qsrc

@@ -34,7 +34,7 @@
 if $ARGS[0] = 'init':
     
     !! Start the School
-    if $start_type['cat'] = 'dancer' or mod_ballet['beta'] = 1:
+    if $start_type['cat'] = 'dancer' or ($start_type['cat'] = 'custom' and danc_lvl >= 50):
         
         !! School week
         

+ 91 - 57
locations/sex_ev_after.qsrc

@@ -10,8 +10,26 @@ if $ARGS[0] = 'quit':
 			!! if npc_abusive[$boy] > 0 and rand(1,10) > number:
 			!! get raped
 			!! else
-				'<<$npc_firstname[$boy]>> glares daggers at you the whole time but you don''t care and the moment you have all your clothes on, you stalk out the door, giving him the finger as you slam it behind you.'
+			!!	'<<$npc_firstname[$boy]>> glares daggers at you the whole time but you don''t care and the moment you have all your clothes on, you stalk out the door, giving him the finger as you slam it behind you.'
+			act'Slam the door':
+				cla & *nl
+				'The moment you''re fully dressed, you stalk out the door, giving <<$npc_firstname[$boy]>> the finger as you slam it behind you.'
+				act'Leave':gt'sex_ev_leave', 'exit'
+			end
+			
+			act'Give him the finger':
+				cla & *nl
+				'The moment you''re fully dressed, you stalk out the door, giving <<$npc_firstname[$boy]>> the finger as you slam it behind you.'
 				act'Leave':gt'sex_ev_leave', 'exit'
+			end
+			
+			if sex_ev['type'] ! 'hookup':
+				act'We''re through':
+					cla & *nl
+					'"We''re through," you sneer. The moment you''re fully dressed, you stalk out the door, shouting over your shoulder, "Don''t fucking call me again!"'
+					gs'sex_ev_leave', 'break_up'
+				end
+			end
 			!!end
 		end
 	else
@@ -22,7 +40,8 @@ if $ARGS[0] = 'quit':
 			!! if npc_abusive[$boy] > 0 and rand(1,10) > number:
 			!! get raped
 			!! else
-				'You glare daggers at him as he gets dressed and he glares right back. The moment he''s done, he stalks out the door and slams it behind him.'
+			!!	'You glare daggers at him as he gets dressed and he glares right back. The moment he''s done, he stalks out the door and slams it behind him.'
+				'You glare daggers at him as he gets dressed. The moment he''s done, you practically shove him out the door.'
 				act'Leave':gt'sex_ev_leave', 'exit'
 			!!end
 		end
@@ -135,7 +154,7 @@ end
 
 if $ARGS[0] = 'stop_here2':
 	sex_ev['finish_ask'] = 1
-	if totminut > sex_ev['start_time'] + 60 and sex_ev['cum_count'] > 0:
+	if (totminut > sex_ev['start_time'] + 60 and sex_ev['cum_count'] > 0) or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
 		gs'sex_ev_after', 'finish_sex'
 	elseif $sex_ev['loc'] = 'house_party':
 		if sex_ev['back_to_party'] = 0:
@@ -144,7 +163,7 @@ if $ARGS[0] = 'stop_here2':
 			'"Yeah," he nods. "Probably should."'
 		end
 		gs'sex_ev_after', 'finish_sex'
-	elseif sex_ev['cum_count'] < npc_sexdrive[$boy] - rand(1,3) and sex_ev['blowjob_continue_ask'] ! 1:
+	elseif rand(1,10) >= npc_sexdrive[$boy] and sex_ev['blowjob_continue_ask'] ! 1 and sex_ev['cum_count'] < 5:
 		if sex_ev['npc_late_work'] = 1:
 			gs'sex_ev_after', 'finish_sex'
 		elseif sex_ev['keep_going_continue'] > 0 and npc_caretaker[$boy] = 1:
@@ -166,7 +185,7 @@ if $ARGS[0] = 'stop_here2':
 			'"Are you sure?" <<$npc_firstname[$boy]>> asks. "You haven''t gotten to come yet."'
 			gs'sex_ev_after', 'ask_continue_options'
 		elseif npc_caretaker[$boy] = 1:
-			'"I was actually hoping to go a few more times," <<$npc_firstname[$boy]>> says a bit wistfully. "But if you want to stop, that''s all right."'
+			'"I was actually hoping to go a few more times. But if you want to stop, that''s all right." <<$npc_firstname[$boy]>> gives you a gentle smile.'
 			gs'sex_ev_after', 'ask_continue_options'
 			
 		end
@@ -194,7 +213,7 @@ if $ARGS[0] = 'ask_continue_options':
 			'"I''m sorry <<$npc_firstname[$boy]>>," you say, rubbing his arm, genuinely apologetic. "But I just can''t keep up with your sex drive. I''m all tapped out. Maybe next time?"'
 			if sex_ev['cum_count'] < npc_sexdrive[$boy] - 5:
 				if rand(0,1) = 1:
-					'"Come on, please? Just a couple more times?"'
+					'"Come on, please? Just one more time?"'
 					act'Not happening':
 						sex_ev['blue_ball'] = 1
 						cla & *nl
@@ -457,7 +476,7 @@ if $ARGS[0] = 'stop_hurry1':
 		cla & *clr
 		gs 'sex_ev_sex', 'inserted_img'
 		'"You good?" you ask <<$npc_firstname[$boy]>>.'
-		if sex_ev['cum_count'] < npc_sexdrive[$boy] - rand(1,3):
+		if sex_ev['cum_count'] < npc_sexdrive[$boy] - rand(1,3) and sex_ev['cum_count'] < 5:
 			'"Good enough for now, I guess," he pants. "You gotta go, right?"'
 			'"Yeah," you say wistfully. "Sorry. And thanks."'
 		else
@@ -552,6 +571,7 @@ if $ARGS[0] = 'fucked_out':
 			cla
 			sex_ev['force_harden'] = 1
 			sex_ev['not_done'] = 1
+			sex_ev['extra_cum'] += 1
 			gs'sex_ev_sex', 'harden_hand'
 			gs'sex_ev_sex', 'harden_mouth'
 		end
@@ -579,20 +599,25 @@ if $ARGS[0] = 'no_condom_end':
 		else
 			'"I guess that''s a sign we should stop..."'
 		end
-		if sex_ev['cum_count'] < npc_sexdrive[$boy] - rand(1,3) and sex_ev['condoms_used'] < sex_ev['condom_count']:
-			'"I have a few," <<$npc_firstname[$boy]>> says, reaching for another one."'
-			gs'sex_ev_condoms', 'npc_condom_use_stats'
-			gs'sex_ev_sex', 'reset'
-			act'Let him lead':cla & gs 'sex_ev_sex', 'he_choose_position'
-			act'Sex':cla & gs'sex_ev_sex', 'position_choose'
-		elseif sex_ev['cum_count'] >= npc_sexdrive[$boy]:
-			'"I think I''m all fucked out anyways," <<$npc_firstname[$boy]>> sighs limply.'
-			gs'sex_ev_after', 'after_sex1'
-		elseif sex_ev['fuck_count'] = 0 and sex_ev['cum_count'] < npc_sexdrive[$boy] - rand(1,3):
-			'"Well this was fucking bullshit," <<$npc_firstname[$boy]>> grumbles.'
-			gs'sex_ev_after', 'after_sex1'
+		if rand(1,10) < npc_sexdrive[$boy]:
+			if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
+				'"I think I''m all fucked out anyways," <<$npc_firstname[$boy]>> sighs limply.'
+				gs'sex_ev_after', 'after_sex1'
+			elseif sex_ev['condoms_used'] < sex_ev['condom_count']:
+				'"I have a few," <<$npc_firstname[$boy]>> says, reaching for another one."'
+				gs'sex_ev_condoms', 'npc_condom_use_stats'
+				gs'sex_ev_sex', 'reset'
+				act'Let him lead':cla & gs 'sex_ev_sex', 'he_choose_position'
+				act'Sex':cla & gs'sex_ev_sex', 'position_choose'
+			elseif sex_ev['fuck_count'] = 0 and sex_ev['cum_count'] < 1:
+				'"Well this was fucking bullshit," <<$npc_firstname[$boy]>> grumbles.'
+				gs'sex_ev_after', 'after_sex1'
+			else
+				'"Yeah, I think so too," <<$npc_firstname[$boy]>> says.'
+				gs'sex_ev_after', 'after_sex1'
+			end
 		else
-			'"Yeah, I think so too," <<$npc_firstname[$boy]>> says.'
+			'"I think I''m all fucked out anyways," <<$npc_firstname[$boy]>> sighs limply.'
 			gs'sex_ev_after', 'after_sex1'
 		end
 	end
@@ -813,27 +838,31 @@ if $ARGS[0] = 'finish_sex':
 	$loc = 'sex_ev_after'
 	$loc_arg = 'after_sex2'
 	sex_ev['finish_time'] = totminut
-	if sex_ev['orgasm_count'] = 0 and sex_ev['fake_orgasm_count'] = 0 and sex_ev['fuck'] = 0 and npc_selfish[$boy] = 0 and (npc_caretaker[$boy] = 1 or rand(0,1) = 1):
+	if sex_ev['fucked_out'] > 0:
+		'He just lays there, panting and wheezing in exhaustion.'
+	elseif sex_ev['orgasm_count'] = 0 and sex_ev['fake_orgasm_count'] = 0 and sex_ev['fuck'] = 0 and npc_selfish[$boy] = 0 and (npc_caretaker[$boy] = 1 or rand(0,1) = 1):
 		gs'sex_ev_after', 'no_cum_end'
 !!	elseif sex_ev['force_harden'] = 2:
 !!		sex_ev['force_harden'] = 3
 		
 !!		gs'sex_ev_after', 'after_sex1'
-	elseif sex_ev['cum_count'] < npc_sexdrive[$boy] + sex_ev['extra_cum'] / 2:
-		'"I could go a few more times, but I guess this is good enough for now," <<$npc_firstname[$boy]>> says.'
-		gs'sex_ev_after', 'after_sex1'
-	elseif sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
-		sex_ev['sex_over'] = 1
-		'"Yeah," <<$npc_firstname[$boy]>> pants. "I''m totally tapped out."'
-		gs'sex_ev_after', 'after_sex1'
-	elseif sex_ev['cum_count'] = 0:
-		sex_ev['sex_over'] = 1
-		'"Sorry," you say only a little apologetically. "I really can''t keep going. I''m finished here."'
-		'"This is bullshit..." <<$npc_firstname[$boy]>> grumbles.'
+	elseif rand(1,10) < npc_sexdrive[$boy] and sex_ev['cum_count'] < 5 + sex_ev['extra_cum']:
+		if sex_ev['cum_count'] = 0:
+			sex_ev['sex_over'] = 1
+			'"Sorry," you say only a little apologetically. "I really can''t keep going. I''m finished here."'
+			'"This is bullshit..." <<$npc_firstname[$boy]>> grumbles.'
+		else
+			'"I could go a few more times, but I guess this is good enough for now," <<$npc_firstname[$boy]>> says.'
+		end
 		gs'sex_ev_after', 'after_sex1'
 	else
-		sex_ev['sex_over'] = 1
-		'"Yeah," he sighs. "I''m good."'
+		if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
+			sex_ev['sex_over'] = 1
+			'"Yeah," <<$npc_firstname[$boy]>> pants. "I''m totally tapped out."'
+		else
+			sex_ev['sex_over'] = 1
+			'"Yeah," he sighs. "I''m good."'
+		end
 		gs'sex_ev_after', 'after_sex1'
 	end
 end
@@ -1209,7 +1238,7 @@ if $ARGS[0] = 'cum_clean':
 								'"Sure thing," you smile. Crawling forward between his legs, you bend down and run your lips up and down his shaft, sucking, kissing, and licking every curve and contour until it''s completely clean.'
 								'"There. All better?"'
 								'"Much better," he smiles back.'
-								if sex_ev['cum_count'] < npc_sexdrive[$boy]:
+								if rand(1,10) < npc_sexdrive[$boy] and sex_ev['cum_count'] <= 5 + sex_ev['extra_cum']:
 									*nl
 									'He seems more than pleased by your act of service, considering the stiffness that seems to have returned to his dick under your touch.'
 								end
@@ -1401,7 +1430,7 @@ if $ARGS[0] = 'after_sex2':
 				'<<$npc_firstname[$boy]>> is taking a shower somewhere else in his apartment.'
 			end
 			
-			act'Wait for <<$npc_firstname[$boy]>> to finish':
+			act'Wait to use the bathroom':
 				cla & *clr
 				$sex_ev['bed_room']
 				'You wait patiently on the bed for <<$npc_firstname[$boy]>> to finish his shower.'
@@ -1544,7 +1573,7 @@ if $ARGS[0] = 'boy_bathroom':
 			act'Continue':gs'sex_ev_after', 'boy_bathroom'
 		end
 	end
-	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0 and stat['vaginal'] > 0:
+	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 2 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0:
 		act 'Use a tampon (0:02)':
 			menu_off = 1
 			*clr & cla
@@ -1753,7 +1782,7 @@ end
 if $ARGS[0] = 'kiss':
 	cla & *clr
 	if cum_loc['face'] <= 0:
-		npc_rel[$boy] += 2
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		$orgasm_or = 'no'
 		sex_ev['after_kiss'] = 1
 		'<center><img <<$set_imgh>> src="images/shared/sex/after/kiss1.jpg"></center>'
@@ -1940,12 +1969,14 @@ if $ARGS[0] = 'birth_control_pill_take':
 				*nl
 				'Right, you need to take your birth control pill for the day.'
 			else
-				'A spark fires somewhere in the back of your brain reminding you of something very important.'
-				*nl
-				if birth_control['remind_hour'] > 0:
+				if hour >= birth_control['remind_hour']:
+					'A spark fires somewhere in the back of your brain reminding you of something very important.'
+					*nl
 					'"Oh shit! I almost forgot to take my birth control!"'
 				else
-					'Right, you need to take your birth control pill for the day.'
+					'A sudden thought pops into your head.'
+					*nl
+					'You haven''t taken your birth control pill for the day.'
 				end
 			end
 			if sex_ev['boy_asleep'] = 1:
@@ -2031,28 +2062,30 @@ if $ARGS[0] = 'birth_control_pill_take2':
 		end
 		if cumloc[0] > 0:
 			'With <<$npc_firstname[$boy]>>''s cum still leaking from your pussy, you reach down to your purse and pull out your birth control.'
+			'You give him a sly look and open your mouth wide, sticking out your tongue and placing the pill in the middle of it. You withdraw it into your mouth and gulp hard, all without breaking eye contact with <<$npc_firstname[$boy]>>.'
 			*nl
 			if sex_ev['risky_creampie'] = 1:
-				'"You better hope this stuff kicks in soon," you say, placing the pill between your lips and swallowing with a grin.'
+				'"You better hope this stuff kicks in soon," you grin.'
 			elseif birth_control['think_safe'] = 1:
-				'"My baby police pill," you say, placing the pill between your lips and swallowing with a grin. "So you can keep coming inside me without worry."'
+				'"My baby police pill," you grin. "So you can keep coming inside me without worry."'
 			else
-				'"This is what the pill is for after all," you say, placing the pill between your lips and swallowing with a grin.'
+				'"This is what the pill is for after all," you grin.'
 			end
 		else
 			'You reach down to your purse and pull out your birth control.'
+			'Giving <<$npc_firstname[$boy]>> a sly look, you open your mouth wide, sticking out your tongue and placing the pill in the middle of it. You withdraw it into your mouth and gulp hard, all without breaking eye contact with <<$npc_firstname[$boy]>>.'
 			*nl
 			if pillcon2 > 20000 and birth_control['think_safe'] ! 1:
 				npc_know_bc_not_effective[$boy] = 1
-				'"Just a few more days and we''ll never have to worry about condoms again," you say, placing the pill between your lips and swallowing with a grin.'
+				'"Just a few more days and we''ll never have to worry about condoms again," you grin.'
 			elseif pillcon2 > 10000 and birth_control['think_safe'] ! 1:
 				npc_know_bc_not_effective[$boy] = 1
-				'"It''ll take a little while, but then we''ll never have to worry about condoms again," you say, placing the pill between your lips and swallowing with a grin.'
+				'"It''ll take a little while, but then we''ll never have to worry about condoms again," you grin.'
 			elseif pillcon2 > 0 and birth_control['think_safe'] ! 1:
 				npc_know_bc_not_effective[$boy] = 1
-				'"I only just started," you say, placing the pill between your lips and swallowing with a grin. "But in about a few weeks, we''ll be able to go condom free."'
+				'"I only just started," you grin. "But in about a few weeks, we''ll be able to go condom free."'
 			else
-				'"Nothing sexier than safe sex," you say, placing the pill between your lips and swallowing with a grin.'
+				'"Nothing sexier than safe sex," you grin.'
 			end
 		end
 		gs'sex_ev_after', 'after_sex2'
@@ -2474,10 +2507,10 @@ if $ARGS[0] = 'sleep_function':
 		end
 	end}
 	
-	if rand(1,10) < npc_sexdrive[$boy] - (sex_ev['cum_count']/2) + npc_sleep_sex_okay[$boy] and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) and sex_ev['sleep_fuck'] = 0 and sex_ev['lover_left'] ! 1:
+	if rand(1,10) < npc_sexdrive[$boy] - (sex_ev['cum_count']/2) + npc_sleep_sex_okay[$boy] + npc_selfish[$boy] and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) and sex_ev['sleep_fuck'] = 0 and sex_ev['lover_left'] ! 1:
 		sex_ev['sleepover'] = 1
 		if rand(0,1) = 1:
-			sex_ev['extra_cum'] += npc_sexdrive[$boy]/2
+			sex_ev['extra_cum'] += 5
 			sex_ev['sleep_time'] = rand(1,3)
 			minut += 60*sex_ev['sleep_time']
 			pcs_sleep += 15*sex_ev['sleep_time']
@@ -2491,11 +2524,11 @@ if $ARGS[0] = 'sleep_function':
 			else
 				gs'sleep_simple', 'simple'
 			end
-			sex_ev['extra_cum'] += npc_sexdrive[$boy]
+			sex_ev['extra_cum'] += 5
 			sex_ev['wake_fuck'] = 1
 		end
 	else
-		sex_ev['extra_cum'] += npc_sexdrive[$boy]
+		sex_ev['extra_cum'] += 5
 		sex_ev['sleepover'] = 1
 		if alko > 6:
 			sex_ev['hangover'] = 1
@@ -2517,17 +2550,18 @@ if $ARGS[0] = 'sleep_function':
 			sex_ev['boy_in_shower'] = 1
 		else
 			sex_ev['boy_shower'] = 1
+			sex_ev['npc_morning_shower'] = 1
 		end
-	else
-		if sex_ev['boy_shower'] = 1: sex_ev['boy_shower'] = 0
+!!	else
+!!		if sex_ev['boy_shower'] = 1: sex_ev['boy_shower'] = 0
 	end
 	
 	if sex_ev['wake_fuck'] = 1:
 		gt'sex_ev_sex', 'wakeup_sex'
-	elseif sex_ev['sleep_fuck'] = 0:
-		gt'sex_ev_wakeup', 'start'
 	elseif sex_ev['sleep_fuck'] = 1:
 		gt'sex_ev_sex', 'sleep_sex'
+	elseif sex_ev['sleep_fuck'] = 0:
+		gt'sex_ev_wakeup', 'start'
 	else
 		!! failsafe option
 		gt'sex_ev_wakeup', 'start'

+ 4 - 4
locations/sex_ev_boy_pillow_talk.qsrc

@@ -49,7 +49,7 @@ if $ARGS[0] = 'boy_topic_check':
 	
 	if npc_thinkage[$boy] = 0 and sex_ev['age_ask_talk'] = 0: sex_ev['boy_topics'] += 1
 	
-	if sex_ev['cum_count'] >= (npc_sexdrive[$boy] / 4 * 3) and sex_ev['good_for_you'] ! 1: sex_ev['boy_topics'] += 1
+	if sex_ev['cum_count'] > 0 and sex_ev['fuck_count'] > 0 and sex_ev['good_for_you'] ! 1: sex_ev['boy_topics'] += 1
 	if sex_ev['broken_condom'] >= 1 and sex_ev['broken_condom_talk'] ! 1 and (npc_selfish ! 1 and (npc_childfree = 1 or npc_caretaker = 1)): sex_ev['boy_topics'] += 1
 	if sex_ev['no_condom'] = 0 and sex_ev['fuck_count'] > 0 and npc_no_condoms[$boy] > 0 and sex_ev['wish_no_condoms_talk'] = 0: sex_ev['boy_topics'] += 1
 !!	if sex_ev['surprise_creampie_count'] >= 1 and sex_ev['creampie_okay'] ! 1: sex_ev['boy_topics'] += 1
@@ -108,7 +108,7 @@ if $ARGS[0] = 'boy_broken_condom':
 				end
 				
 				act'Get irritated':
-					npc_rel[$boy] -= 1
+					gs 'npc_relationship', 'modify', $boy, 'dislike'
 					cla & *nl
 					'"I know, I know," you scowl in irritation. "You don''t have to freaking remind me."'
 					gs'sex_ev_pillow_talk', 'topic_route'
@@ -711,7 +711,7 @@ if $ARGS[0] = 'boy_likes_pubes':
 			'<center><video autoplay loop src="images/shared/sex/after/pillow_talk_eyeroll.mp4"></video></center>'
 			'"Well I''m glad I have your permission to shave the way I like it," you huff, acerbically rolling your eyes.'
 			if npc_argumentative[$boy] = 1:
-				npc_rel[$boy] -= 2
+				gs 'npc_relationship', 'modify', $boy, 'dislike'
 				'"What the fuck is your problem?" <<$npc_firstname[$boy]>> growls. "I was trying to pay you a compliment!"'
 				act'Apologize':
 					cla & *clr
@@ -783,7 +783,7 @@ if $ARGS[0] = 'boy_likes_pubes2':
 	end
 	
 	act'Compliment his cock':
-		npc_rel[$boy] += 2
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *nl		
 		if $npc_dick_desc[$boy] = 'tiny':
 			'"You''ve got some pretty nice equipment yourself," you say, grinning lewdly at his flaccid manhood. "For a guy with a tiny dick, you sure know how to use it."'

+ 24 - 9
locations/sex_ev_condoms.qsrc

@@ -39,7 +39,7 @@ if $ARGS[0] = 'condoms':
 		if npc_bareback[$boy] = 1 and sex_ev['condom'] ! 1:
 	!!		if npc_know_bc[$boy] = 1 and npc_condom_conscious[$boy] ! 2: sex_ev['no_condom'] = 1
 			'You agreed to stop using condoms with <<$npc_firstname[$boy]>> and he makes no move to get one.'
-			if npc_free_creampies[$boy] = 1:
+			if npc_free_creampies[$boy] = 1 or npc_creampie_permission[$boy] = 1:
 				gs 'sex_ev_condoms', 'safeday_check'
 			else
 				gs 'sex_ev_sex', 'position_choose'
@@ -50,6 +50,7 @@ if $ARGS[0] = 'condoms':
 				gs 'sex_ev_condoms', 'no_more_free_creampies1'
 				gs 'sex_ev_condoms', 'already_creampie1'
 			end
+			if npc_free_creampies[$boy] = 2 or npc_creampie_permission[$boy] = 2: sex_ev['creampie_allowance'] = 1
 		!!elseif npc_free_creampies[$boy] = 1:
 		elseif npc_bareback[$boy] = 2 and sex_ev['no_condom'] ! 1 and sex_ev['condom'] ! 1:
 			if npc_free_creampies[$boy] = 1:
@@ -66,6 +67,11 @@ if $ARGS[0] = 'condoms':
 			elseif sex_ev['condom_count'] > 0 and (rand(0,1) + rand(0,npc_diligent[$boy]) - npc_risktaker[$boy] >= 1 or npc_always_condoms[$boy] = 1) and ((npc_risktaker[$boy] ! 1 and $npc_cum_pref[$boy] ! 'pullout') or (npc_risktaker[$boy] ! 1 and $npc_cum_pref[$boy] ! 'facial')) and npc_no_condoms[$boy] ! 1:
 				!! boy is less likely to use a condom if he is a risktaker and more likely if he is diligent
 				act'Continue':gs 'sex_ev_condoms', 'npc_condom_use'
+			elseif sex_ev['creampie_allowance'] = 1 and npc_free_creampies[$boy] < 1 and npc_creampie_permission[$boy] < 1:
+				sex_ev['no_condom'] = 1
+				'"Is it really okay for me to come inside?" <<$npc_firstname[$boy]>> asks as he gets into position.'
+				'You nod back, smiling warmly. He returns the smile and starts pushing his way in.'
+				gs 'sex_ev_sex', 'position_choose'
 			else
 				*nl
 				'<<$npc_firstname[$boy]>> makes no indication that he''s going to put on a condom.'
@@ -376,6 +382,7 @@ end
 
 if $ARGS[0] = 'pc_skip_the_condom':
 	act'We could skip the condom':
+		sex_ev['pc_skip_the_condom'] = 1
 		sex_ev['skip_condom'] = 1
 		sex_ev['no_condom'] = 1
 		sex_ev['must_fuck'] = 1
@@ -945,7 +952,7 @@ if $ARGS[0] = 'trust_no_creampie':
 		cla & *nl
 		sex_ev['no_condom'] = 1
 		sex_ev['promise_no_creampie'] = 1
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		$sex_ev['bed_room']
 		'You hesitate for a moment before relenting.'
 		'"I guess it''s okay... I trust you," you smile as <<$npc_firstname[$boy]>> eagerly forgoes the condom.'
@@ -958,7 +965,7 @@ if $ARGS[0] = 'trust_no_creampie_nervous':
 		cla & *nl
 		sex_ev['no_condom'] = 1
 		sex_ev['promise_no_creampie'] = 1
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		$sex_ev['bed_room']
 		'You hesitate for a moment before relenting.'
 		'"If you promise..." you say reluctantly as <<$npc_firstname[$boy]>> eagerly forgoes the condom.'
@@ -969,6 +976,7 @@ end
 if $ARGS[0] = 'condom_why2':
 	!! player says they don''t want to use a condom
 	act'We don''t need a condom (feel better)':
+		sex_ev['pc_skip_the_condom'] = 1
 		cla & *nl
 		'"Come on," you say, grabbing his arm. "Let''s skip the condom. It''ll feel better without one."'
 		if npc_condom_conscious[$boy] = 2 or (npc_condom_conscious[$boy] = 1 and npc_childfree[$boy] = 1):
@@ -992,6 +1000,7 @@ if $ARGS[0] = 'condom_why2':
 				gs'sex_ev_stats', 'birth_control_know'
 				npc_know_not_bc[$boy] = 0
 				sex_ev['must_fuck'] = 1
+				sex_ev['pc_skip_the_condom'] = 1
 				cla & *nl
 				'"Hey," you smile, grabbing his arm. "We don''t need condoms. I''m on the shot."'
 				if npc_condom_conscious[$boy] = 2:
@@ -1011,6 +1020,7 @@ if $ARGS[0] = 'condom_why2':
 				gs'sex_ev_stats', 'birth_control_know'
 				npc_know_not_bc[$boy] = 0
 				sex_ev['must_fuck'] = 1
+				sex_ev['pc_skip_the_condom'] = 1
 				cla & *nl
 				'"Hey," you smile, grabbing his arm. "We don''t need condoms. I''m on the pill."'
 				if npc_condom_conscious[$boy] = 2:
@@ -1030,6 +1040,7 @@ if $ARGS[0] = 'condom_why2':
 		act'Lie about birth control':
 			sex_ev['must_fuck'] = 1
 			gs'sex_ev_stats', 'birth_control_know'
+			sex_ev['pc_skip_the_condom'] = 1
 			npc_know_not_bc[$boy] = 0
 			cla & *nl
 			'"Hey," you smile, grabbing his arm. "We don''t need condoms. I''m on birth control."'
@@ -1596,7 +1607,6 @@ if $ARGS[0] = 'reenable_condoms2':
 		gs 'sex_ev_condoms', 'reenable_condoms3'
 	else
 		gs 'sex_ev_condoms', 'reenable_condoms_code'
-		npc_rel[$boy] += 5
 		'"That''s fair," <<$npc_firstname[$boy]>> nods. "So do you want to use mine or yours today?"'
 		act'Yours':
 			cla & *nl
@@ -1748,6 +1758,7 @@ end
 if $ARGS[0] = 'temp_disable_condoms':
 	if npc_bareback[$boy] = 0 and sex_ev['condom'] = 0:
 		act'Let''s skip the condom':
+			sex_ev['pc_skip_the_condom'] = 1
 			cla & *clr
 			$sex_ev['bed_room']
 			iif($sex_ev['type'] ! 'hookup','"Let''s skip the condom today," you smile.', '"We don''t need to use condoms," you smile.')
@@ -2151,7 +2162,7 @@ if $ARGS[0] = 'pc_dangerous_day2':
 		
 		act'I trust you':
 			cla & *clr
-			npc_rel[$boy] += 1
+			gs 'npc_relationship', 'modify', $boy, 'like'
 			$sex_ev['bed_room']
 			'"No, it''s okay," you say, shaking your head and smiling. "I trust you."'
 			if npc_childfree[$boy] = 1:
@@ -2236,6 +2247,7 @@ if $ARGS[0] = 'pc_safe_day':
 				
 				if npc_bareback[$boy] ! 1:
 					act'We can skip the condom':
+						sex_ev['pc_skip_the_condom'] = 1
 						cla & *clr
 						$sex_ev['bed_room']
 						'"<<$sex_ev[''safe_day_desc1'']>>," you smile at <<$npc_firstname[$boy]>>. "<<$sex_ev[''safe_day_no_condom_desc'']>>."'
@@ -2264,6 +2276,7 @@ if $ARGS[0] = 'pc_safe_day':
 				end
 				if sex_ev['virgin'] = 1:
 					act'I don''t want my first time with a condom':
+						sex_ev['pc_skip_the_condom'] = 1
 						cla & *clr
 						$sex_ev['bed_room']
 						'"<<$sex_ev[''safe_day_desc1'']>>," you smile at <<$npc_firstname[$boy]>>. "Besides, I don''t want my first time to be with a condom."'
@@ -2287,6 +2300,7 @@ if $ARGS[0] = 'already_creampie1':
 		if npc_bareback[$boy] ! 1:
 			act'Already been creampied today (go bareback)':
 				sex_ev['no_condom'] = 1
+				sex_ev['pc_skip_the_condom'] = 1
 				cla & *nl
 				'"Somebody came inside me earlier," you say. "So let''s skip the rubber. Seems a little too late for condoms."'
 				if $npc_cum_pref[$boy] = 'creampie':
@@ -2345,6 +2359,7 @@ if $ARGS[0] = 'already_creampie2':
 		act'Already been creampied today  (go bareback)':
 			cla & *nl
 			sex_ev['no_condom'] = 1
+			sex_ev['pc_skip_the_condom'] = 1
 			'"Well," you say wryly. "Seeing as someone else already came inside me today, it feels a little silly to worry about condoms. So yeah, fuck me bareback."'
 			gs 'sex_ev_sex', 'position_choose'
 		end
@@ -2370,9 +2385,9 @@ if $ARGS[0] = 'started_bc1':
 			sex_ev['creampie_allowance'] = 1
 			gs 'sex_ev_stats', 'birth_control_know'
 			if sex_ev['pullout_game'] = 1:
-				'"Why bother?" you ask in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot now."', '"I''m on the pill now."')
+				'"Why bother?" you ask in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot', '"I''m on the pill') + iif(npc_fuck_times[$boy] > 1, ' now."', '."')
 			else
-				'"Don''t worry about pulling out," you say in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot now."', '"I''m on the pill now."')
+				'"Don''t worry about pulling out," you say in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot', '"I''m on the pill') + iif(npc_fuck_times[$boy] > 1, ' now."', '."')
 			end
 			'<<$npc_firstname[$boy]>>''s eyes light up.'
 			'"Come inside me as much as you want," you smirk.'
@@ -2385,9 +2400,9 @@ if $ARGS[0] = 'started_bc1':
 			sex_ev['no_condom'] = 1
 			sex_ev['creampie_allowance'] = 1
 			if sex_ev['pullout_game'] = 1:
-				'"You better not," you say in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot now."', '"I''m on the pill now."')
+				'"You better not," you say in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot', '"I''m on the pill') + iif(npc_fuck_times[$boy] > 1, ' now."', '."')
 			else
-				'"Don''t you dare pull out," you warn in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot now."', '"I''m on the pill now."')
+				'"Don''t you dare pull out," you warn in a mischievous tone. ' + iif(tabletkishot > 0, '"I''m on the shot', '"I''m on the pill') + iif(npc_fuck_times[$boy] > 1, ' now."', '."')
 			end
 			'<<$npc_firstname[$boy]>>''s eyes light up.'
 			'"Fill me with your cum," you whisper.'

+ 31 - 26
locations/sex_ev_cum.qsrc

@@ -316,6 +316,7 @@ if $ARGS[0] = 'cum_decider':
 	elseif (sex_ev['danger_day'] = 1 or (npc_diligent[$boy] > 0 and $npc_cum_pref[$boy] = 'pullout')) and sex_ev['no_condom'] = 1:
 		sex_ev['extra_caution'] = rand(0,1)
 	end
+	if sex_ev['creampie_allowance'] ! 1 or npc_know_bc[$boy] = 0: sex_ev['extra_caution'] = 0
 	
 !!	if npc_generous[$boy] = 1 and sex_ev['cum_choice'] <= 9:
 
@@ -329,7 +330,7 @@ if $ARGS[0] = 'cum_decider':
 		sex_ev['cum_warn'] = 0
 		if sex_ev['two_pump'] = 1: sex_ev['two_pump'] = 2
 		
-		if sex_ev['extra_caution'] = 1 and sex_ev['no_condom'] = 1 and sex_ev['creampie_allowance'] ! 1:
+		if sex_ev['extra_caution'] = 1 and sex_ev['no_condom'] = 1:
 			$sex_ev['cum_choice'] = 'pullout'
 		else
 			if rand(0,1) = 1 and sex_ev['creampie_allowance'] ! 1:
@@ -422,12 +423,12 @@ if $ARGS[0] = 'fuck_cum':
 	if sex_ev['dirty_talk'] = 1: sex_ev['dirty_talk_talk'] = 1
 	sex_ev['cycle_limit'] += 1
 !!	if sex_ev['cycle_limit'] >= npc_sex_stamina[$boy] or rand(1,npc_sex_stamina[$boy]) = npc_sex_stamina[$boy]:sex_ev['boy_cum'] = 1
-	if rand(1,20) = npc_sex_stamina[$boy] and sex_ev['boy_cocaine'] = 0:
+	if rand(1,25) = npc_sex_stamina[$boy] and sex_ev['boy_cocaine'] = 0:
 		sex_ev['cant_hold_cum'] = 1
 		sex_ev['boy_cum'] = 1
 	end
 	
-	if (sex_ev['cycle_limit'] + sex_ev['extra_stim'] >= npc_sex_stamina[$boy] and sex_ev['boy_cocaine'] = 0) or (sex_ev['boy_cocaine'] = 1 and sex_ev['cycle_limit'] + sex_ev['extra_stim'] = 10): sex_ev['boy_cum'] = 1
+	if (sex_ev['cycle_limit'] + sex_ev['extra_stim'] > npc_sex_stamina[$boy] and sex_ev['boy_cocaine'] = 0) or (sex_ev['boy_cocaine'] = 1 and sex_ev['cycle_limit'] + sex_ev['extra_stim'] = 10): sex_ev['boy_cum'] = 1
 	
 	if npc_two_pump[$boy] = 1 and sex_ev['two_pump'] = 0:
 		sex_ev['two_pump'] = 1
@@ -483,7 +484,7 @@ if $ARGS[0] = 'fuck_cum2':
 			if npc_free_creampies[$boy] = 1 and sex_ev['safe_day'] = 0 and sex_ev['probably_safe_day'] = 0 and sex_ev['danger_day'] = 0 and mesec <= 0 and sex_ev['condom'] ! 1:
 				'"Can I come inside you? Is it safe today?" <<$npc_firstname[$boy]>> whimpers almost pleadingly.'
 			elseif sex_ev['orgasm'] < orgasm:
-				'"Let''s come together," <<$npc_firstname[$boy]>> says, smiling at you.'
+				'"Let''s come together," <<$npc_firstname[$boy]>> moans.'
 			else
 				'"I wanna come inside you so bad," <<$npc_firstname[$boy]>> says.'
 			end
@@ -684,7 +685,7 @@ if $ARGS[0] = 'fuck_cum2':
 			end}
 			
 			act'Pull out!':sex_ev['pullout_ask'] = 1 & gt 'sex_ev_cum', 'cum_pullout'
-			if sex_ev['cum_where'] = 1 or sex_ev['he_ask_creampie'] = 1:
+			if sex_ev['creampie_allowance'] = 0 and npc_free_creampies[$boy] < 2:
 				act'Not inside me!':sex_ev['not_inside'] = 1 & gt 'sex_ev_cum', 'cum_not_inside'
 			end
 		end
@@ -797,7 +798,6 @@ if $ARGS[0] = 'cum_wherever':
 	elseif $sex_ev['cum_choice'] = 'facial':
 		gs'sex_ev_cum', 'facial_he_jerks'
 	elseif $sex_ev['cum_choice'] = 'tits':
-		sex_ev['he_ask_tits'] = 1
 		gs 'sex_ev_cum', 'cum_tits1'
 	else
 !!		if $npc_cum_pref[$boy] = 'creampie' and (npc_childfree[$boy] ! 1 or npc_know_bc[$boy] = 1):
@@ -1577,7 +1577,7 @@ if $ARGS[0] = 'cum_tits4':
 			gs 'stat'
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/cum/chest/tits1.mp4"></video></center>'
-			if sex_ev['cum_choice'] = 'tits':
+			if $sex_ev['cum_choice'] = 'tits':
 				'"I can do you one better than that," you grin.'
 			else
 				'"I''ve got an even better idea," you grin.'
@@ -1616,7 +1616,7 @@ if $ARGS[0] = 'creampie_code':
 	
 	gs'cum_call', '',$boy,1
 	$sex_ev['last_cum'] = 'creampie'
-	if $npc_cum_pref = 'creampie': npc_rel[$boy] += 1
+	if $npc_cum_pref = 'creampie': gs 'npc_relationship', 'modify', $boy, 'like'
 	gs'stat'
 end
 
@@ -1800,17 +1800,20 @@ if $ARGS[0] = 'creampie_menu':
 			act'Make him come inside you':gt'sex_ev_cum', 'cum_force'
 		end
 	end
-!!{	if sex_ev['prostitution'] = 1 and npc_rule_no_creampies[$boy] = 1:
+	if sex_ev['prostitution'] = 1 and npc_rule_no_creampies[$boy] = 1 and sex_ev['p_creampie_bonus'] = 0:
 		act'Creampies cost extra':
 			cla & *nl
-			'"Coming inside costs extra," you say, giving <<$npc_firstname[$boy]>> a sultry look.'
+			sex_ev['p_creampie_bonus'] = 1
+			sex_ev['prostitution_bonus'] += 1000
+			'"Finishing inside costs extra," you smirk teasingly.'
 !!			if $npc_cum_pref[$boy] = 'creampie':
 !!			else
 !!			end
-			'"Ungh~! Paid!" he grunts and thrusts balls deep into you.'
-			act'Continue':gt 'sex_ev_cum', 'cum_inside'
+			'"Ungh~! Done!"'
+			'<<$npc_firstname[$boy]>> doesn''t even hesitate and thrusts balls deep into you with a loud groan.'
+			act'Get creampied':gt 'sex_ev_cum', 'cum_inside'
 		end
-	end}
+	end
 end
 
 if $ARGS[0] = 'cum_inside':
@@ -2020,7 +2023,7 @@ if $ARGS[0] = 'cum_inside_pull_away':
 						'Raising your hips up, you pull yourself off <<$npc_firstname[$boy]>>''s cock. It flops from your pussy and you feel a thick glob of cum immediately begin to leak from your snatch.'
 					end
 				end
-				if sex_ev['surprise_cum_together'] = 1:
+				if sex_ev['surprise_cum_together'] = 1 and sex_ev['came_together'] < 3:
 					*nl
 					'<<$npc_firstname[$boy]>>''s cum.'
 					gs'sex_ev_reactions_creampie', 'creampie_cum_together_react'
@@ -2481,10 +2484,10 @@ if $ARGS[0] = 'creampie_surprise':
 		'Suddenly, <<$npc_firstname[$boy]>> grabs you tight, pulling you down against his chest and thrusting himself deep into you. His cock becomes even more rigid, pulsing like a second heartbeat in your cunt. And then, warmth floods your pussy.'
 	end
 	
-	gs'sex_ev_cum', 'creampie_surprise_react'
+	gs'sex_ev_cum', 'creampie_surprise2'
 end
 
-if $ARGS[0] = 'creampie_surprise_react':
+if $ARGS[0] = 'creampie_surprise2':
 		
 	gs'sex_ev_reactions_creampie', 'take_in_stride1'
 	
@@ -2560,8 +2563,9 @@ if $ARGS[0] = 'creampie_surprise_react':
 	end
 	
 	gs 'sex_ev_reactions_creampie', 'creampie_pc_startled'
-	gs 'sex_ev_reactions_creampie', 'creampie_wtf'
+	gs 'sex_ev_reactions_creampie', 'creampie_wtf_instant'
 	gs 'sex_ev_reactions_creampie', 'creampie_accident_oh_shit'
+	gs'sex_ev_reactions_creampie', 'idk_you_panic_instant'
 end
 
 if $ARGS[0] = 'creampie_surprise_cum_together':
@@ -2597,19 +2601,20 @@ if $ARGS[0] = 'what_now':
 		gs'sex_ev_sex', 'sex_end'
 	else
 		if (npc_selfish[$boy] = 1 or npc_abusive[$boy] > 0) and npc_caretaker[$boy] = 0:
-			if sex_ev['cum_count'] < npc_sexdrive[$boy]:
+			if rand(1,10) >= npc_sexdrive[$boy] or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
+				sex_ev['sex_over'] = 1
+				'"We should probably stop anyways," <<$npc_firstname[$boy]>> shrugs. "I think I''m pretty much all tapped out."'
+			else
 				'"So..." <<$npc_firstname[$boy]>> says. "We gonna go again or...?"'
 				$sex_ev['more_creampies_dialogue'] = 'Yeah. You need to pump more cum into me,'
-			else
-				'"We should probably anyways," <<$npc_firstname[$boy]>> shrugs. "I think I''m pretty much all tapped out."'
 			end
 		else
-			
-			if sex_ev['cum_count'] < npc_sexdrive[$boy]:
+			if rand(1,10) >= npc_sexdrive[$boy] or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
+				sex_ev['sex_over'] = 1
+				'"Uhh... I think that was my last shot..." <<$npc_firstname[$boy]>> says awkwardly. ' + iif(sex_ev['cock_inserted'] = 1, 'As he says it, his cock is already softening inside you.', 'As he says it, his cock is already losing stiffness right before your eyes.')
+			else
 				'"Uhh..." <<$npc_firstname[$boy]>> says awkwardly. "So... what now?"'
 				$sex_ev['more_creampies_dialogue'] = 'Pump me full of more cum, obviously!'
-			else
-				'"Uhh... I think that was my last shot..." <<$npc_firstname[$boy]>> says awkwardly. ' + iif(sex_ev['cock_inserted'] = 1, 'As he says it, you feel his cock softening inside you.', 'As he says it, his cock is already losing stiffness right before your eyes.')
 			end
 		end
 		act'Let''s stop':
@@ -2623,12 +2628,12 @@ if $ARGS[0] = 'what_now':
 			gs'sex_ev_after', 'after_sex1'
 		end
 		
-		if sex_ev['cum_count'] < npc_sexdrive[$boy] + sex_ev['extra_cum']:
+		if sex_ev['sex_over'] = 0:
 			act'Keep going':
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/misc/wait.mp4"></video></center>'
 				'"Let''s just keep going," you say. "I''m not satisfied yet anyways."'
-				'"Great! Gimme a minute to get hard again," he says, working his cock, concentrating hard to try and stiffen up again.'
+				'"Great! Gimme a minute to get hard again," he says, working his cock, concentrating hard to stiffen up again.'
 				gs'sex_ev_sex', 'reset'
 				gs'sex_ev_sex', 'sex_menu'
 			end

+ 184 - 0
locations/sex_ev_dress_talking.qsrc

@@ -116,6 +116,7 @@ if $ARGS[0] = 'dress_talk_pc':
 	gs'sex_ev_dress_talking', 'pc_sex_ev_invite'
 	gs'sex_ev_dress_talking', 'ma_pill_ask_money1'
 	gs'sex_ev_dress_talking', 'prostitution_money'
+	gs'sex_ev_dress_talking', 'break_up'
 	
 end
 
@@ -1053,4 +1054,187 @@ if $ARGS[0] = 'sugar_money':
 		end
 	end
 end
+
+if $ARGS[0] = 'break_up':
+	if $npc_rel_type[$boy] ! 'husband' and $sex_ev['type'] ! 'hookup':
+		act'End things with <<$npc_firstname[$boy]>>':
+			gs'sex_ev_leave', 'dress_loop'
+			iif($sex_ev['loc'] ! 'pc_home','"This is the last time I''m coming over," you say abruptly while <<$sex_ev[''dress_describe'']>>.','"This is the last time you can come over," you say abruptly.')
+			'"Huh?" <<$npc_firstname[$boy]>> looks at you oddly. "What are you talking about?"'
+			gs'sex_ev_dress_talking', 'break_up2'
+		end
+	end
+end
+
+if $ARGS[0] = 'break_up2':
+	if $npc_rel_type[$boy] = 'boyfriend':
+		act'I''m breaking up with you':
+			gs'sex_ev_leave', 'dress_loop'
+			'"I''m breaking up with you," you say, <<$sex_ev[''dress_describe'']>>.'
+			'"What?! Why?"'
+			gs'sex_ev_dress_talking', 'break_up3'
+		end
+	else
+		act'Don''t text me anymore':
+			gs'sex_ev_leave', 'dress_loop'
+			gs'sex_ev_dress_talking', 'break_up3'
+			if npc_rel_type[$boy] = 'fuckbuddy':
+				'"Don''t text me to come over," you say, <<$sex_ev[''dress_describe'']>>. "We can''t be fuckbuddies anymore."'
+			elseif npc_rel_type[$boy] = 'sugar_daddy':
+				'"Don''t text me to come over," you say, <<$sex_ev[''dress_describe'']>>. "I can''t be your sugar baby anymore."'
+			end
+			'"Why not?" he asks.'
+			gs'sex_ev_dress_talking', 'break_up3'
+		end
+	end
+end
+
+if $ARGS[0] = 'break_up3':
+	act'Don''t explain':
+		cla & *clr
+		'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
+		if $npc_rel_type[$boy] = 'boyfriend':
+			'"I just can''t be with you anymore," you say. "I''m sorry."'
+		else
+			'"I just can''t do this any longer," you say. "I''m sorry."'
+		end
+		'You grab your things and leave.'
+		gs'sex_ev_leave', 'break_up'
+	end
+	gs'sex_ev_dress_talking', 'unsatisfied_breakup'
+	gs'sex_ev_dress_talking', 'no_more_cheating_breakup'
+end
+
+if $ARGS[0] = 'unsatisfied_breakup':
+	act'You don''t satisfy me':
+		cla
+		act'Sexually incompatible':
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
+			'"You''re not what I want out of a fuckbuddy," you say flatly as you <<$sex_ev[''dress_describe'']>>. "I just don''t think we''re sexually compatible."'
+			*nl
+			'You shrug once, grab your things, and leave without another word.'
+			gs'sex_ev_dress_talking', 'break_up'
+		end
+		if npc_sexdrive[$boy] = 1 or npc_two_pump[$boy] = 1:
+			act'You''re a two pump chump':
+				gs'sex_ev_dress_talking', 'dress_loop'
+				'"You''re just not what I want out of a fuckbuddy," you say flatly as you <<$sex_ev[''dress_describe'']>>. "You come too fast. I can''t trust you to get me off."'
+				*nl
+				'"Wait but-"'
+				gs'sex_ev_dress_talking', 'isnt_going_to_work'
+			end
+		elseif npc_sexdrive[$boy] < 5:
+			act'You don''t last long enough for me':
+				gs'sex_ev_dress_talking', 'dress_loop'
+				'"You''re just not what I want out of a fuckbuddy," you say flatly as you <<$sex_ev[''dress_describe'']>>. "You can''t keep it up and I can''t trust you to get me off."'
+				*nl
+				'"Wait but-"'
+				gs'sex_ev_dress_talking', 'isnt_going_to_work'
+			end
+		else
+			act'You last too long':
+				gs'sex_ev_dress_talking', 'dress_loop'
+				'"You''re just not what I want out of a fuckbuddy," you say flatly as you <<$sex_ev[''dress_describe'']>>. "Honestly, your sex drive is way too high. By the time you''re satisfied, my pussy is sore."'
+				*nl
+				'"Wait but-"'
+				gs'sex_ev_dress_talking', 'isnt_going_to_work'
+			end
+		end
+!!		act'You''re boring':
+	end
+end
+
+if $ARGS[0] = 'isnt_going_to_work':
+	if pcs_lover > 0 and (npc_know_have_boyfriend + npc_know_have_girlfriend = 0):
+		act'I''ve started seeing somebody':
+			gs'sex_ev_dress_talking', 'dress_loop'
+			'"The truth is, I''ve started seeing somebody. The sex has been good, but..." You shake your head, <<$sex_ev[''dress_describe'']>>. "I can''t keep doing this. I don''t want to fuck things up with them."'
+			if npc_fidelity[$boy] < 7:
+				'"Come on," he says. "We''re just having fun. It''s not cheating if it''s just physical. When you masturbate in the shower, you''re not cheating on him with your showerhead are you?"'
+				act'No means no':
+					cla & *clr
+					'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
+					'"You''re not going to change my mind," you say. "We''re done."'
+					*nl
+					'And with that, you head out the door.'
+					gs'sex_ev_leave', 'break_up'
+				end
+				
+				act'Well...':
+					gs'sex_ev_dress_talking', 'dress_loop'
+					'You pause halfway through <<$sex_ev[''dress_describe'']>>, biting your lip in consideration.'
+					act'As long as it''s just physical':
+						gs'sex_ev_dress_talking', 'dress_loop'
+						'"Well..." you say, slowly <<$sex_ev[''dress_describe'']>>. "As long as it''s <i>just</i> physical..."'
+						'"Thatta girl," <<$npc_firstname[$boy]>> grins from bed.'
+						gs'sex_ev_after', 'cheating_end'
+					end
+					
+					act'Set some rules':
+						cla & *nl
+						'"Okay..." you say, slowly <<$sex_ev[''dress_describe'']>>. "But there have to be rules!"'
+						gs'sex_ev_talk', 'cheating_rules'
+					end
+				end
+			else
+				'"Oh." <<$npc_firstname[$npclastsaved]>> looks at you. "I guess that''s fair. So... I''ll see you around?"'
+				act'See you':
+					cla & *nl
+					'"Yeah," you mumble wistfully. "See you..."'
+					*nl
+					'And with that, you head out the door.'
+					gs'sex_ev_leave', 'break_up'
+				end
+				
+				act'No I won''t':
+					cla & *clr
+					'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
+					'"No, I won''t," you frown. "That''s the point."'
+					*nl
+					'And with that, you head out the door.'
+					gs'sex_ev_leave', 'break_up'
+				end
+			end
+		end
+		
+		if pcs_lover - pcs_girlfriends > 0:
+			act'I can''t keep cheating on my boyfriend':
+				cla & *clr
+				'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
+				if npc_know_cheat[$boy] = 1:
+					'"I can''t keep cheating on my boyfriend like this," you say, hanging your head shamefully. "It''s wrong, and I just can''t do this anymore. I have to go."'
+				else
+					'"The truth is, I''m in a relationship with somebody," you say, hanging your head shamefully. "I''ve been cheating on them with you this whole time. It''s wrong, and I— I just can''t do this anymore!"'
+				end
+				'You grab your things and rush out the door.'
+				gs'sex_ev_leave', 'break_up'
+			end
+		end
+		if pcs_girlfriends > 0:
+			act'I can''t keep cheating on my girlfriend':
+				cla & *clr
+				'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
+				if npc_know_cheat[$boy] = 1:
+					'"I can''t keep cheating on my girlfriend like this," you say, hanging your head shamefully. "It''s wrong, and I just can''t do this anymore. I have to go."'
+				else
+					'"The truth is, I''m in a relationship with somebody," you say, hanging your head shamefully. "I''ve been cheating on them with you this whole time. It''s wrong, and I— I just can''t do this anymore!"'
+				end
+				'You grab your things and rush out the door.'
+				gs'sex_ev_leave', 'break_up'
+			end
+		end
+	end
+end
+
+if $ARGS[0] = 'isnt_going_to_work':
+	act'Grab your things':
+		cla & *clr
+		'<center><video autoplay loop src="images/shared/romance/misc/depart_annoyed1.mp4"></video></center>'
+		'"This just isn''t going to work," you say, cutting him off. "We''re done."'
+		*nl
+		'And with that, you head out the door.'
+		gs'sex_ev_leave', 'break_up'
+	end
+end
 --- sex_ev_dress_talking ---------------------------------

+ 59 - 21
locations/sex_ev_events.qsrc

@@ -17,7 +17,6 @@ end
 if $ARGS[0] = 'sex_film_protest':
 	act'Cover your face':
 		cla
-		$sex_video[$boy] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
 		act'Shy':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
@@ -30,7 +29,12 @@ if $ARGS[0] = 'sex_film_protest':
 			
 			act'Let him film you (reluctant)':
 				sex_ev['phone_film'] = 2
-				$sex_video_dialogue[$boy] = 'Hngh~! Ungh~! <<$npc_firstname[$boy]>>, nooo~!'
+				$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+				if npc_arrogant[$boy] > 0 or npc_assertive[$boy] > 0 or npc_abusive[$boy] > 0:
+					$sex_video_dialogue[] = '"Hngh~! Ungh~! <<$npc_firstname[$boy]>>, nooo~!"<br>"Smile for the camera."'
+				else
+					$sex_video_dialogue[] = '"Hngh~! Ungh~! <<$npc_firstname[$boy]>>, nooo~!"<br>"Fuck, you look so hot."'
+				end
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/vag/miss/hard2.mp4"></video></center>'
 				'With great reluctance, you silence your protests and let <<$npc_firstname[$boy]>> film you getting fucked by him. Though you still can''t stop yourself from shamefully (and ineffectively) trying to cover your face.'
@@ -40,7 +44,6 @@ if $ARGS[0] = 'sex_film_protest':
 			end
 			
 			act'Keep protesting':
-				$sex_video_dialogue[$boy] = 'Please~! Mmph~! I don''t want to be filmed~!'
 				if npc_caretaker[$boy] > 0:
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
@@ -50,7 +53,18 @@ if $ARGS[0] = 'sex_film_protest':
 					'"You''ll delete it later, right?" you ask.'
 					'"I will," he promises with a smile.'
 					!! if npc_abusive[$boy] > 0: he doesn''t delete it
+					!! $sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+					!! $sex_video_dialogue[] = 'Please~! Mmph~! I don''t want to be filmed~!'
+					!! $sex_video_author[] = $boy
 				else
+					$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+					if npc_arrogant[$boy] > 0 or npc_assertive[$boy] > 0 or npc_abusive[$boy] > 0:
+						$sex_video_dialogue[] = '"Hngh~! Ungh~! <<$npc_firstname[$boy]>>, nooo~!"<br>"Smile for the camera."<br>"Please~! Mmph~! I don''t want to be filmed~!"<br>"Come on, don''t be like that. You look so sexy. This is hot."'
+					else
+						$sex_video_dialogue[] = '"Hngh~! Ungh~! <<$npc_firstname[$boy]>>, nooo~!"<br>"Fuck, you look so hot."<br>"Please~! Mmph~! I don''t want to be filmed~!"<br>"Come on, don''t be like that. You look so sexy. This is hot."'
+					end
+					
+					$sex_video_author[] = $boy
 					sex_ev['phone_film'] = 2
 					cla & *nl
 					'"Please~! Mmph~! I don''t want to be filmed~!" you whimper again, feeling cold panic fill your chest.'
@@ -70,7 +84,7 @@ if $ARGS[0] = 'sex_film_protest':
 			'"Ungh~! Hmph~! Hey! What do you think you''re doing?" you grunt as he pushes the camera towards your face and you immediately try to cover up with your hand.'
 			'"Don''t worry, you look great," <<$npc_firstname[$boy]>> grins, still fucking you as he films.'
 			act'Let him film you (reluctant)':
-				$sex_video_dialogue[$boy] = 'Ungh~! Hmph~! Hey! What do you think you''re doing?'
+				$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What do you think you''re doing?"<br>"Don''t worry, you look great."'
 				sex_ev['phone_film'] = 2
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/vag/miss/hard2.mp4"></video></center>'
@@ -82,7 +96,6 @@ if $ARGS[0] = 'sex_film_protest':
 			
 			act'Keep protesting':
 				if npc_caretaker[$boy] > 0:
-					$sex_video_dialogue[$boy] = 'Seriously~! Nngh~! Stop it~!'
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
 					'"Seriously~! Nngh~! Stop it~!" you complain loudly, feeling hot with self consciousness and annoyance.'
@@ -91,14 +104,21 @@ if $ARGS[0] = 'sex_film_protest':
 					'"Make sure to delete it later," you tell him sternly.'
 					'"I will," he promises with a smile.'
 					!! if npc_abusive[$boy] > 0: he doesn''t delete it
+					!! $sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+					!!$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What do you think you''re doing?"<br>"Don''t worry, you look great."<br>"Seriously~! Nngh~! Stop it~!"'
+					!! $sex_video_author[] = $boy
 				else
+					$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+					$sex_video_author[] = $boy
 					sex_ev['phone_film'] = 2
 					cla & *nl
 					'"Seriously~! Nngh~! Stop it~!" you keep protesting, face hot with self consciousness and annoyance.'
 					if npc_arrogant[$boy] > 0 or npc_assertive[$boy] > 0 or npc_abusive[$boy] > 0:
+						$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What do you think you''re doing?"<br>"Don''t worry, you look great."<br>"Seriously~! Nngh~! Stop it~!"<br>"You''re so hot when you''re mad."'
 						'"You''re so hot when you''re mad," <<$npc_firstname[$boy]>> says, grin growing wider while ignoring your pleas.'
 					else
-						'"Come on, don''t be that way," <<$npc_firstname[$boy]>> says, ignoring your pleas. "This is great. You look so sexy."'
+						$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What do you think you''re doing?"<br>"Don''t worry, you look great."<br>"Seriously~! Nngh~! Stop it~!"<br>"Come on, don''t be that way. You look so sexy. This is hot."'
+						'"Come on, don''t be that way," <<$npc_firstname[$boy]>> says, ignoring your pleas. "You look so sexy. This is hot."'
 					end
 					*nl
 					'Your irritation with <<$npc_firstname[$boy]>> do nothing to sway him and he takes a decently long video of you getting railed before he finally puts the phone away.'
@@ -111,11 +131,13 @@ if $ARGS[0] = 'sex_film_protest':
 		act'Angry':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
-			'"Ungh~! Hmph~! What the fuck!" you scream as you realize what he''s doing and immediately try to cover up with your hand.'
+			'"Ungh~! Hmph~! Hey! What the fuck!" you scream as you realize what he''s doing and immediately try to cover up with your hand.'
 			'"Don''t worry, you look great," <<$npc_firstname[$boy]>> grins, still fucking you as he films.'
 			act'Let him film you (reluctant)':
 				sex_ev['phone_film'] = 2
-				$sex_video_dialogue[$boy] = 'Ungh~! Hmph~! What the fuck!'
+				$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+				$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What the fuck!"<br>"Don''t worry, you look great."'
+				$sex_video_author[] = $boy
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/vag/miss/hard2.mp4"></video></center>'
 				'You let <<$npc_firstname[$boy]>> film you getting fucked by him, fuming in silence, occasionally turning to cover your face just to spite him.'
@@ -126,7 +148,6 @@ if $ARGS[0] = 'sex_film_protest':
 			
 			act'Keep protesting':
 				if npc_caretaker[$boy] > 0:
-					$sex_video_dialogue[$boy] = 'Fuck off~! Put that thing away~!'
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
 					'"Fuck off~! Put that thing away~!" you shout, steaming hot with anger.'
@@ -135,14 +156,20 @@ if $ARGS[0] = 'sex_film_protest':
 					'"Make sure to delete it later," you tell him sternly.'
 					'"I will," he promises with a smile.'
 					!! if npc_abusive[$boy] > 0: he doesn''t delete it
+					!! $sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+					!!$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What the fuck! Fuck off~! Put that thing away~!"'
 				else
+					$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+					$sex_video_author[] = $boy
 					sex_ev['phone_film'] = 2
 					cla & *nl
 					'"Fuck off~! Put that thing away~!" you shout, steaming hot with anger.'
 					if npc_arrogant[$boy] > 0 or npc_assertive[$boy] > 0 or npc_abusive[$boy] > 0:
+						$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What the fuck!"<br>"Don''t worry, you look great."<br>"Fuck off~! Put that thing away~!"<br>"You''re so hot when you''re mad."'
 						'"You''re so hot when you''re mad," <<$npc_firstname[$boy]>> says, grin growing wider while ignoring your pleas.'
 					else
-						'"Come on, don''t be that way," <<$npc_firstname[$boy]>> says, ignoring your pleas. "This is great. You look so sexy."'
+						$sex_video_dialogue[] = '"Ungh~! Hmph~! Hey! What the fuck!"Ungh~! Hmph~! Hey! What the fuck!"<br>"Don''t worry, you look great."<br>"Fuck off~! Put that thing away~!"<br>"Come on, don''t be that way. You look so sexy. This is hot."'
+						'"Come on, don''t be that way," <<$npc_firstname[$boy]>> says, ignoring your pleas. "You look so sexy. This is hot."'
 					end
 					*nl
 					'He takes a decently long video of you getting railed, screaming in rage the whole time, before he finally puts the phone away.'
@@ -178,6 +205,8 @@ if $ARGS[0] = 'sex_film_force_stop':
 				'"Finally," you sigh in relief. "Don''t do that again. Now get back to fucking me already."'
 				gs'sex_ev_sex', 'fuck_continue'
 			end
+			
+			gs'sex_ev_after', 'quit'
 		end
 	else
 		act 'Make him put the phone away (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -187,42 +216,51 @@ end
 if $ARGS[0] = 'sex_film_accept':
 	act'Let him film':
 		sex_ev['phone_film'] = 2
-		$sex_video[$boy] = '<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
 		!!if pcs_traits['exhibitionism'] > 0:
 		if Exhibitionist_lvl > 0: gs 'arousal', 'vaginal', -5, 'no_orgasm_msg', 'exhibitionism'
 		cla
 		act'Blush':
-			$sex_video_dialogue[$boy] = 'Mmph~! Mmph~! Mmm~! Nnn~!'
+			$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
+			$sex_video_dialogue[] = '"Mmph~! Mmph~! Mmm~! Nnn~!"<br>"You''re so fucking hot."'
+			$sex_video_author[] = $boy
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
 			'Your cheeks flush with warmth as you realize what <<$npc_firstname[$boy]>>''s doing and turn your face in embarrassment but don''t make any complaints.'
-			'"Mmph~! Mmph~! Mmm~! Nnn~!" Each pump of his cock inside you forces sheepish squeaks from your lips as you get caught between self-consciousness and pleasure. <<$npc_firstname[$boy]>> grins the whole time.'
+			'"Mmph~! Mmph~! Mmm~! Nnn~!" Each pump of his cock inside you forces sheepish squeaks from your lips as you get caught between self-consciousness and pleasure.'
+			'"You''re so fucking hot,"  <<$npc_firstname[$boy]>> grins, continuing to fuck and film at the same time.'
 			*nl
-			'After a few minutes of filming, he puts his phone away.'
+			'After a few minutes, he puts his phone away.'
 			gs 'sex_ev_sex', 'fuck_continue'
 		end
 		
 		act'Ignore the camera':
-			$sex_video_dialogue[$boy] = 'Hah~! Haa~! Ah~! Haa~!'
+			$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
+			$sex_video_dialogue[] = '"Hah~! Haa~! Ah~! Haa~!"<br>"You''re so fucking hot."'
+			$sex_video_author[] = $boy
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
 			'"Hah~! Haa~! Ah~! Haa~!" You ignore the camera completely, focusing on <<$npc_firstname[$boy]>>''s cock pumping inside you and just try to stay the moment, letting moans escape your lips as they come. If he wants to film it, he can do what he wants.'
+			'"You''re so fucking hot,"  <<$npc_firstname[$boy]>> grins, continuing to fuck and film at the same time.'
 			*nl
-			'After a few minutes of filming, he puts his phone away.'
+			'After a few minutes, he puts his phone away.'
 			gs 'sex_ev_sex', 'fuck_continue'
 		end
 		
 		act'Put on a show':
-			$sex_video_dialogue[$boy] = 'Aaah~! I''m so wet~! Ungh~! Your cock is so good inside me~!'
+			$sex_video[] = '<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy2.mp4"></video></center>'
+			$sex_video_dialogue[] = '"Aaah~! I''m so wet~! Ungh~! Your cock feels so good~! OhmygodI''mgonnacome~!"<br>"Yeah you like that?"<br>"Don''t stop~! Don''t stop~!"'
+			$sex_video_author[] = $boy
 			cla & *clr
-			'<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
-			'"Aaah~! I''m so wet~! Ungh~! Your cock is so good inside me~!"'
+			'<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy2.mp4"></video></center>'
+			'"Aaah~! I''m so wet~! Ungh~! Your cock feels so good~! OhmygodImgonnacome~!"'
 			if sex_ev['fuck_enjoyment'] = 1:
 				'Unable to resist putting on a show, you turn up the volume on your moaning and dirty talk. You shake your tits and arch your back, putting extra emphasis on your pleasure.'
 			else
 				'Unable to resist putting on a show, you turn on the moaning and the dirty talk. You shake your tits and arch your back with pleasure you aren''t really feeling.'
 			end
-			'For his part, <<$npc_firstname[$boy]>> seems extra excited by this and makes sure to capture every moment of it, sending the lens up and down your body from where he fucks your pussy back up to your flushed face.'
+			'"Yeah you like that?"  <<$npc_firstname[$boy]>> grins'
+			'"Don''t stop~! Don''t stop~!" you moan back.'
+			'Seeming extra excited by what you''re doing and makes sure to capture every moment of it, sending the lens up and down your body from where he fucks your pussy back up to your flushed face.'
 			*nl
 			'After a few minutes of filming, he puts his phone away.'
 			gs 'sex_ev_sex', 'fuck_continue'
@@ -303,7 +341,7 @@ if $ARGS[0] = 'offer_ciga1':
 					end
 					
 					act'It''s okay ':
-						npc_rel[$boy] += 1
+						gs 'npc_relationship', 'modify', $boy, 'like'
 						cla & *clr
 						'<center><img <<$set_imgh>> src="images/shared/sex/after/bed_smoke2.jpg"></center>'
 						'You shake your head.'

+ 128 - 98
locations/sex_ev_favorite_part.qsrc

@@ -32,13 +32,13 @@ if $ARGS[0] = 'boy_good_for_you':
 	end
 	
 	if $sex_ev['type'] = 'hookup':
-		if sex_ev['cum_count'] >= (npc_sexdrive[$boy] + sex_ev['extra_cum']) / 4 * 3 and npc_sexdrive[$boy] >= 6:
+		if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
 			'"Damn! You''re incredible!" <<$npc_firstname[$boy]>> says. "I haven''t come that much in ages."'
 		else
 			'"That was pretty good," <<$npc_firstname[$boy]>> smiles at you.'
 		end
 	else
-		if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+		if sex_ev['cum_count'] >= 4 + sex_ev['extra_cum']:
 			'"Holy shit," <<$npc_firstname[$boy]>> pants. "You emptied my balls out."'
 			act'I could still go more':
 				cla & *nl
@@ -108,16 +108,16 @@ if $ARGS[0] = 'good_for_you2':
 	!!	 gs'sex_ev_favorite_part', 'pussyeat_favorite'
 	else
 		if sex_ev['virgin'] ! 1:
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy]:
+			if sex_ev['cum_count'] >= npc_sex_stamina[$boy] or sex_ev['fucked_out'] = 1:
 				'"You fucked me so hard my dick hurts," he says grinning. "What about you?"'
-			elseif sex_ev['cum_count'] < npc_sexdrive[$boy]/2:
+			elseif sex_ev['cum_count'] < 5 and rand(1,10) < npc_sexdrive[$boy] and sex_ev['fucked_out'] ! 1:
 				'"I could''ve gone a few more times," he says. "But it wasn''t bad. How about you?"'
 			else
 				'"Yeah, it was," he says. "How about you?"'
 			end
 			gs'sex_ev_favorite_part', 'good_for_you_too'
 		else
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy]:
+			if sex_ev['cum_count'] >= npc_sexdrive[$boy] or sex_ev['fucked_out'] = 1:
 				'"You fucked me so hard my dick hurts," he says grinning. "So yeah, it was good. What about you? Was there anything you liked?"'
 			else
 				'"I could''ve gone a few more times," he says. "But it wasn''t bad. What about you? Was there anything you liked?"'
@@ -135,6 +135,7 @@ if $ARGS[0] = 'creampie_favorite':
 		'"I''m glad you found my pussy so satisfying," you smirk amusedly.'
 		'"What about you?" he asks. "What about you? What was your favorite part?"'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'I liked it too':
@@ -157,6 +158,7 @@ if $ARGS[0] = 'creampie_favorite':
 				'"It would be nice if you would ask before you do," you smile teasingly. "I''m not just a cum receptacle you know."'
 				'"Sorry," he replies, though he doesn''t look it. "What about you? What was your favorite part?"'
 				gs'sex_ev_favorite_part', 'pc_favorite_part'
+				gs'sex_ev_favorite_part', 'pc_nothing_fav'
 			end	
 			
 			act'Ask next time (annoyed)':
@@ -164,6 +166,7 @@ if $ARGS[0] = 'creampie_favorite':
 				'"It would be nice if you would ask first," you frown in annoyance. "I''m not just a cum receptacle you know."'
 				'"Sorry," he replies, though he doesn''t look it. "What about you? What was your favorite part?"'
 				gs'sex_ev_favorite_part', 'pc_favorite_part'
+				gs'sex_ev_favorite_part', 'pc_nothing_fav'
 			end
 		end
 	else
@@ -177,6 +180,7 @@ if $ARGS[0] = 'creampie_favorite':
 			end
 		end
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 end
 
@@ -189,6 +193,7 @@ if $ARGS[0] = 'cum_mouth_favorite':
 			'"Glad you thought so," you smile pleasantly. "I aim to please."'
 			'"So what about you? What did you like?"'
 			gs'sex_ev_favorite_part', 'pc_favorite_part'
+			gs'sex_ev_favorite_part', 'pc_nothing_fav'
 		end
 		
 		act'Not my favorite':
@@ -196,12 +201,13 @@ if $ARGS[0] = 'cum_mouth_favorite':
 			'"It''s not exactly my favorite flavour of syrup," you smile ruefully. "But I''m glad you thought it was hot."'
 			'"So what about you? What did you like?"'
 			gs'sex_ev_favorite_part', 'pc_favorite_part'
+			gs'sex_ev_favorite_part', 'pc_nothing_fav'
 		end
 		
 		if npc_tasty_cum[$boy] ! 1:
 			act'Your cum is disgusting':
 				npc_gross_cum[$boy] = 1
-				npc_rel[$boy] -= 2
+				gs 'npc_relationship', 'modify', $boy, 'dislike'
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk3.jpg"></center>'
 				'"You could stand to eat some more fruit if you want me to keep doing it," you say, wrinkling your nose. "Your cum tastes <i>horrible</i>. It''s like drinking expired caviar."'
@@ -211,14 +217,14 @@ if $ARGS[0] = 'cum_mouth_favorite':
 				if npc_argumentative[$boy] = 1 or npc_insecure[$boy] = 1:
 					'"Come on, it can''t be that bad," <<$npc_firstname[$boy]>> scowls at you.'
 					act'Insist':
-						npc_rel[$boy] -= 1
+						gs 'npc_relationship', 'modify', $boy, 'dislike'
 						cla & *nl
 						'"Yes, it can be and it is," you say, making a face at him. "I <i>wish</i> was making this up. Yuck!"'
 						gs'sex_ev_pillow_talk', 'topic_route'
 					end
 					
 					act'Maybe exaggerating':
-						npc_rel[$boy] += 1
+						gs 'npc_relationship', 'modify', $boy, 'like'
 						cla & *clr
 						'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk2.jpg"></center>'
 						'"Well..." you say. "Maybe I''m exaggerating just a <i>little</i>. But I still don''t like the taste."'
@@ -227,7 +233,7 @@ if $ARGS[0] = 'cum_mouth_favorite':
 					end
 					
 					act'Get sarcastic':
-						npc_rel[$boy] -= 1
+						gs 'npc_relationship', 'modify', $boy, 'dislike'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/after/pillow_talk_eyeroll.mp4"></video></center>'
 						'"<i>It can''t be that bad,</i>" you repeat, mocking <<$npc_firstname[$boy]>> with a squeaky high voice. "I''d like to see you get down there and blow yourself to completion. Then we''ll see."'
@@ -243,6 +249,7 @@ if $ARGS[0] = 'cum_mouth_favorite':
 							'He smiles back warmly.'
 							'"Well what about you? Was there something I did to make you feel good?"'
 							gs'sex_ev_favorite_part', 'pc_favorite_part'
+							gs'sex_ev_favorite_part', 'pc_nothing_fav'
 						end
 						
 						act'For you (sarcastic)':
@@ -252,6 +259,7 @@ if $ARGS[0] = 'cum_mouth_favorite':
 							'He smiles back.'
 							'"Well what about you? Was there something I did to make you feel good?"'
 							gs'sex_ev_favorite_part', 'pc_favorite_part'
+							gs'sex_ev_favorite_part', 'pc_nothing_fav'
 						end
 						
 						act'Acquiring taste':
@@ -261,6 +269,7 @@ if $ARGS[0] = 'cum_mouth_favorite':
 							'<<$npc_firstname[$boy]>> laughs.'
 							'"Well I appreciate the effort. What about you? Was there something I did to make you feel good?"'
 							gs'sex_ev_favorite_part', 'pc_favorite_part'
+							gs'sex_ev_favorite_part', 'pc_nothing_fav'
 						end
 						
 						act'Spitting is quitting':
@@ -270,10 +279,12 @@ if $ARGS[0] = 'cum_mouth_favorite':
 							'<<$npc_firstname[$boy]>> laughs.'
 							'"You certainly do. What about you then? Was there something I did to make you feel good?"'
 							gs'sex_ev_favorite_part', 'pc_favorite_part'
+							gs'sex_ev_favorite_part', 'pc_nothing_fav'
 						end
 					else
 						'"Sorry I guess," <<$npc_firstname[$boy]>> says, looking a little embarrassed. "Was there something you did enjoy?"'
 						gs'sex_ev_favorite_part', 'pc_favorite_part'
+						gs'sex_ev_favorite_part', 'pc_nothing_fav'
 					end
 				end
 			end
@@ -291,6 +302,7 @@ if $ARGS[0] = 'cum_mouth_favorite':
 				'<<$npc_firstname[$boy]>> looks pretty pleased with himself at that.'
 				'"What else did you like?"'
 				gs'sex_ev_favorite_part', 'pc_favorite_part'
+				gs'sex_ev_favorite_part', 'pc_nothing_fav'
 			end
 		end
 		
@@ -301,6 +313,7 @@ if $ARGS[0] = 'cum_mouth_favorite':
 				'<<$npc_firstname[$boy]>> can''t seem to help but grin back at you.'
 				'"What else did you like?"'
 				gs'sex_ev_favorite_part', 'pc_favorite_part'
+				gs'sex_ev_favorite_part', 'pc_nothing_fav'
 			end
 		end
 	else
@@ -414,6 +427,7 @@ if $ARGS[0] = 'facial_favorite':
 		end
 		'"What about you?" he asks. "What about you? What was your favorite part?"'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'Why?':
@@ -425,6 +439,7 @@ if $ARGS[0] = 'facial_favorite':
 		end
 		'"I don''t know," he shrugs. "There''s just something... primal about it. It''s hot, what else do you want me to say? But what about you? What was your favorite part?"'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	if sex_ev['disgusting_facial'] = 0:
@@ -435,7 +450,7 @@ if $ARGS[0] = 'facial_favorite':
 			else
 				'"I think it''s hot too. There''s something about having a guy''s cum on my face that just makes me feel like a sex goddess," you grin back.'
 			end
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'It feels nice':
@@ -445,7 +460,8 @@ if $ARGS[0] = 'facial_favorite':
 			else
 				'"I like how it feels," you smile. "It''s warm and sticky, but in a good way. It feels nice on my skin."'
 			end
-			gs'sex_ev_pillow_talk', 'topic_route'
+			
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	else
 		act'It''s gross':
@@ -480,6 +496,7 @@ if $ARGS[0] = 'facial_favorite':
 				end
 			end
 			
+			!!{
 			act'You didn''t ask':
 				cla & *nl
 				'"Cause you didn''t ask!" you scowl. "Only thing I knew was that you pulled out and before I could say anything you''re blowing your load on my face."'
@@ -488,7 +505,7 @@ if $ARGS[0] = 'facial_favorite':
 				else
 					
 				end
-			end
+			end}
 			
 			act'I don''t get a say (subservient)':
 				cla & *nl
@@ -525,6 +542,7 @@ if $ARGS[0] = 'tit_cum_favorite':
 		end
 		'"What about you?" he asks. "What about you? What was your favorite part?"'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'Why?':
@@ -536,6 +554,7 @@ if $ARGS[0] = 'tit_cum_favorite':
 		end
 		'"Tits are sexy, girls with cum on them are sexy," he shrugs. "So tits with cum on them are the sexiest. What''s not to love about it? But what about you? What was your favorite part?"'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	if sex_ev['tit_cum_gross'] = 0:
@@ -546,7 +565,7 @@ if $ARGS[0] = 'tit_cum_favorite':
 			else
 				'"I think it''s hot too," you grin back. "There''s something about having a guy''s cum on my chest that just makes me feel like a sex goddess!"'
 			end
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'It feels nice':
@@ -556,7 +575,7 @@ if $ARGS[0] = 'tit_cum_favorite':
 			else
 				'"I like how it feels," you smile. "It''s warm and sticky, but in a good way. It feels nice on my skin."'
 			end
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	else
 		act'It''s gross':
@@ -591,6 +610,7 @@ if $ARGS[0] = 'tit_cum_favorite':
 				end
 			end
 			
+			!!{
 			act'You didn''t ask':
 				cla & *nl
 				'"Cause you didn''t ask!" you scowl. "Only thing I knew was that you pulled out and before I could say anything you''re blowing your load all over my chest!"'
@@ -599,7 +619,7 @@ if $ARGS[0] = 'tit_cum_favorite':
 				else
 					
 				end
-			end
+			end}
 			
 			act'I don''t get a say (subservient)':
 				cla & *nl
@@ -635,6 +655,7 @@ if $ARGS[0] = 'pussyeat_favorite':
 		if rand(0,1) = 1:
 			'"I just like giving more than I like receiving," <<$npc_firstname[$boy]>> shrugs. "It turns me on knowing that what I''m doing is making a girl feel good. I love making girls squirm just by running my tongue across their clit at the right time and I like the way they taste. What can I say? I just think it''s fun. What about you? What do you like?"'
 			gs'sex_ev_favorite_part', 'pc_favorite_part'
+			gs'sex_ev_favorite_part', 'pc_nothing_fav'
 		else
 			'"Well, do you like giving blowjobs?" <<$npc_firstname[$boy]>> asks.'
 			act'No':
@@ -644,6 +665,7 @@ if $ARGS[0] = 'pussyeat_favorite':
 				'<<$npc_firstname[$boy]>> shrugs.'
 				'"What can I say? I just think it''s fun. What about you? What do you like?"'
 				gs'sex_ev_favorite_part', 'pc_favorite_part'
+				gs'sex_ev_favorite_part', 'pc_nothing_fav'
 			end
 			
 			act'Yes':
@@ -655,7 +677,7 @@ if $ARGS[0] = 'pussyeat_favorite':
 					'"I like making the guy feel good," you say. "Making <i>you</i> feel good. I love how when I use my tongue just right, I can feel your entire body respond through your cock."'
 					'"Same thing with eating pussy," <<$npc_firstname[$boy]>> smirks back. "I like giving more than receiving. It''s fun to make girls squirm and I love the taste of pussy. So if you''re allowed to love blowjobs, why can''t I love eating pussy?"'
 					'"Guess you''ve got a point," you chuckle.'
-					gs'sex_ev_pillow_talk', 'topic_route'
+					gs'sex_ev_favorite_part', 'pc_favorite_part'
 				end
 				
 				act'The taste':
@@ -663,7 +685,7 @@ if $ARGS[0] = 'pussyeat_favorite':
 					'"Something about having a cock in my mouth just feels good," you say. "The sweaty rough texture, the sort of musky smell. It''s like licking a warm salty popsicle."'
 					'"Same thing with eating pussy," <<$npc_firstname[$boy]>> smirks back. "I love the taste of pussy. And it''s fun to lick them, playing with their little clits and making girls squirm with just my tongue. So if you''re allowed to love blowjobs, why can''t I love eating pussy?"'
 					'"Guess you''ve got a point," you chuckle.'
-					gs'sex_ev_pillow_talk', 'topic_route'
+					gs'sex_ev_favorite_part', 'pc_favorite_part'
 				end
 				
 				act'The control':
@@ -671,10 +693,9 @@ if $ARGS[0] = 'pussyeat_favorite':
 					'"I guess because of the control?" you say. "There''s something... empowering about having a cock in my mouth. Like I could just chomp down and cause tons of pain but also that I have a direct line to the pleasure a guy is feeling. <i>I</i> get to decide if he gets to feel good. <i>I</i> get to decide if he gets to come. I can edge him, I can tease him, I can swallow him whole, make him gasp. Something about that just... turns me on."'
 					'"Same thing with eating pussy," <<$npc_firstname[$boy]>> smirks back. "I like giving more than receiving. I love the taste of pussy and it''s fun to lick them, playing with their little clits and making girls squirm with just my tongue. So if you''re allowed to love blowjobs, why can''t I love eating pussy?"'
 					'"Guess you''ve got a point," you chuckle.'
-					gs'sex_ev_pillow_talk', 'topic_route'
+					gs'sex_ev_favorite_part', 'pc_favorite_part'
 				end
 			end
-			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	end
 	
@@ -686,7 +707,7 @@ if $ARGS[0] = 'pussyeat_favorite':
 		else
 			'"You didn''t have to," he smirks back. "I could tell by the way you were screaming my name."'
 		end
-		gs'sex_ev_pillow_talk', 'topic_route'
+		gs'sex_ev_favorite_part', 'pc_favorite_part'
 	end
 	
 	gs'sex_ev_pillow_talk', 'kuni_wear_out'
@@ -696,12 +717,12 @@ if $ARGS[0] = 'npc_miss_fav1':
 	$sex_ev['boy_favorite'] = 'missionary'
 	'"I liked fucking you," he grins. "Especially when I got to be on top."'
 	act'Me too':
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla
 		act'It''s pleasant':
 			cla & *nl
 			'"Me too," you smile back. "There''s just something... pleasant about missionary. Can''t explain it but it''s my favorite way to fuck."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'It''s intimate':
@@ -711,19 +732,19 @@ if $ARGS[0] = 'npc_miss_fav1':
 			else
 				'"Me too," you smile back. "I like how we can stare into each other''s eyes while we fuck."'
 			end
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'Like being on bottom':
 			cla & *nl
 			'"Me too," you smile back. "I prefer being on bottom myself."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'Like feeling his weight':
 			cla & *nl
 			'"Me too," you smile back. "I can feel the weight of your entire body when you''re on top, pressing down through your cock into my pussy. I love it."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 	end
@@ -733,6 +754,7 @@ if $ARGS[0] = 'npc_miss_fav1':
 		'"Yeah?" you say. "Missionary isn''t usually my favorite, but I had fun while we were doing it."'
 		'"Then what <i>is</i> your favorite?" he asks in response.'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'It''s not my favorite (disliked)':
@@ -741,10 +763,11 @@ if $ARGS[0] = 'npc_miss_fav1':
 		!! add in insecure response
 		'"Then what do you prefer?" he asks in response.'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'Isn''t missionary boring?':
-		npc_rel[$boy] -= 1
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		cla & *clr
 		if npc_argumentative[$boy] = 1:
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk3.jpg"></center>'
@@ -755,6 +778,7 @@ if $ARGS[0] = 'npc_miss_fav1':
 			'"Don''t you think missionary is kind of boring?" you sigh unhappily. "It''s just so... basic."'
 			'"If missionary is boring, then what do you prefer?" he asks back wryly.'
 			gs'sex_ev_favorite_part', 'pc_favorite_part'
+			gs'sex_ev_favorite_part', 'pc_nothing_fav'
 		end
 	end
 end
@@ -763,24 +787,24 @@ if $ARGS[0] = 'npc_doggy_fav1':
 	$sex_ev['boy_favorite'] = 'doggy'
 	'"I liked fucking you," he grins. "Especially when I got to fuck you from behind."'
 	act'Me too':
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla
 		act'Feels better':
 			cla & *nl
 			'"Me too," you grin back. "It feels better in doggy. Hits the inside of my pussy just right."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'Goes deeper':
 			cla & *nl
 			'"Me too," you grin back. "I can feel you so much deeper inside when you fuck me doggy."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'Feels dirty':
 			cla & *nl
 			'"Me too," you grin back wickedly. "It feels dirty. And I like it dirty."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	end
 	
@@ -789,6 +813,7 @@ if $ARGS[0] = 'npc_doggy_fav1':
 		'"Yeah?" you say. "Doggystyle isn''t usually my favorite, but I had fun while we were doing it."'
 		'"Then what <i>is</i> your favorite?" he asks in response.'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'It''s not my favorite (disliked)':
@@ -797,10 +822,12 @@ if $ARGS[0] = 'npc_doggy_fav1':
 		!! add in insecure response
 		'"Then what do you prefer?" he asks in response.'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
+		
 	end
 	
 	act'Isn''t doggy boring?':
-		npc_rel[$boy] -= 1
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		cla & *clr
 		if npc_argumentative[$boy] = 1:
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk3.jpg"></center>'
@@ -811,6 +838,7 @@ if $ARGS[0] = 'npc_doggy_fav1':
 			'"Don''t you think doggy is kind of boring?" you sigh unhappily. "I''m just on hands and knees the whole time staring at the wall and you can''t see anything of me except my ass."'
 			'"If doggy''s boring, then what do you prefer?" he asks back wryly.'
 			gs'sex_ev_favorite_part', 'pc_favorite_part'
+			gs'sex_ev_favorite_part', 'pc_nothing_fav'
 		end
 	end
 end
@@ -823,24 +851,24 @@ if $ARGS[0] = 'npc_cowgirl_fav1':
 		'"I liked when you were on top," he grins.'
 	end
 	act'Me too':
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla
 		act'Feels better':
 			cla & *nl
 			'"Me too," you grin back. "I love bouncing on your dick! I can''t get that feeling in any other position."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'Good angle':
 			cla & *nl
 			'"Me too," you grin back. "Your cock rubs against the inside of my pussy in a whole different way. I can only get that when I''m on top."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'Like control':
 			cla & *nl
 			'"Me too," you grin back wickedly. "I like being in charge."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	end
 	
@@ -849,6 +877,7 @@ if $ARGS[0] = 'npc_cowgirl_fav1':
 		'"Yeah?" you say. "Cowgirl isn''t usually my favorite, but it was fun bouncing on your dick."'
 		'"Then what <i>is</i> your favorite?" he asks in response.'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'It''s not my favorite (disliked)':
@@ -857,10 +886,11 @@ if $ARGS[0] = 'npc_cowgirl_fav1':
 		!! add in insecure response
 		'"Then what do you prefer?" he asks in response.'
 		gs'sex_ev_favorite_part', 'pc_favorite_part'
+		gs'sex_ev_favorite_part', 'pc_nothing_fav'
 	end
 	
 	act'Cowgirl sucks':
-		npc_rel[$boy] -= 1
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		cla & *clr
 		if npc_argumentative[$boy] = 1:
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
@@ -871,12 +901,13 @@ if $ARGS[0] = 'npc_cowgirl_fav1':
 			'"Really? I hate cowgirl," you sigh. "It''s so tiring, just bouncing up and down on your dick for ages until you come. Makes my legs sore."'
 			'"Well, then what do you prefer?" he asks back wryly.'
 			gs'sex_ev_favorite_part', 'pc_favorite_part'
+			gs'sex_ev_favorite_part', 'pc_nothing_fav'
 		end
 	end
 end
 
 if $ARGS[0] = 'npc_argue_lashout':
-	npc_rel[$boy] -= 1
+	gs 'npc_relationship', 'modify', $boy, 'dislike'
 	'"Why''re you being such a bitch?" <<$npc_firstname[$boy]>> scowls back. "What''s the point of asking me what I liked if you''re just going to piss on it?"'
 	act'Let it slide':
 		cla & *clr
@@ -886,13 +917,13 @@ if $ARGS[0] = 'npc_argue_lashout':
 	end
 	
 	act'Apologize':
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk2.jpg"></center>'
 		'<<$npc_firstname[$boy]>>''s response causes you to start. After a moment of shock, you shake your head.'
 		'"You''re right," you say ruefully. "I''m sorry. I shouldn''t have said that."'
 		'He turns to look at you, chewing on his cheek for a few seconds.'
-		'"It''s whatever," he mumbles back.'
+		'"Whatever," he mumbles back.'
 		gs'sex_ev_pillow_talk', 'topic_route'
 	end
 end
@@ -903,22 +934,41 @@ if $ARGS[0] = 'npc_bj_fav1':
 end
 
 if $ARGS[0] = 'pc_favorite_part':
-	act'Your cock':
+	act'You love his cock':
 		cla & *clr
 		if pcs_pubes < 12:
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/dick_play1.jpg"></center>'
 		else
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/dick_play2.jpg"></center>'
 		end
-		'"Your cock," you grin, teasingly wrapping your fingers around his shaft. "This bad boy is the main reason I keep coming over all the time. I don''t care what we do as long as I get to play with this guy."'
+		'"I love your cock," you grin, teasingly wrapping your fingers around his shaft. "This bad boy is the main reason I keep coming over all the time. I don''t care what we do as long as I get to play with this guy."'
 		gs'sex_ev_pillow_talk', 'topic_route'
 	end
+	
+	if sex_ev['fuck_count'] > 0:
+		act'The sex':
+			cla
+			gs'sex_ev_favorite_part', 'pc_fuck_fav1'
+			gs'sex_ev_favorite_part', 'pc_fuck_fav2'
+		end
+	end
+	gs'sex_ev_favorite_part', 'pc_bj_fav1'
+	gs'sex_ev_favorite_part', 'pc_cuni_fav1'
+	gs'sex_ev_favorite_part', 'pc_creampie_fav1'
+	gs'sex_ev_favorite_part', 'pc_mouthcum_fav1'
+	gs'sex_ev_favorite_part', 'pc_facial_fav1'
+	gs'sex_ev_favorite_part', 'pc_titcum_fav1'
+!!	gs'sex_ev_favorite_part', 'pc_broken_condom1'
+	
+end
+
+if $ARGS[0] = 'pc_nothing_fav':
 	act'No one thing':
 		cla
 		act'Nothing in particular':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
-			'"Nothing in particular," you shrug in response. "It was just good."'
+			'"Nothing in particular," you shrug in response. "I just like sex."'
 			'You smile warmly at him.'
 			gs'sex_ev_pillow_talk', 'topic_route'
 		end
@@ -926,26 +976,11 @@ if $ARGS[0] = 'pc_favorite_part':
 		act'Everything together':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
-			'"All of it," you smile warmly. "I loved how everything came together."'
+			'"I couldn''t choose just one thing," you smile warmly. "I liked all of it. <i>Everything</i> we do together... That''s sex."'
 			'<<$npc_firstname[$boy]>> returns the smile with more than a hint of satisfaction.'
 			gs'sex_ev_pillow_talk', 'topic_route'
 		end
 	end
-	if sex_ev['fuck_count'] > 0:
-		act'The sex':
-			cla
-			gs'sex_ev_favorite_part', 'pc_fuck_fav1'
-			gs'sex_ev_favorite_part', 'pc_fuck_fav2'
-		end
-	end
-	gs'sex_ev_favorite_part', 'pc_bj_fav1'
-	gs'sex_ev_favorite_part', 'pc_cuni_fav1'
-	gs'sex_ev_favorite_part', 'pc_creampie_fav1'
-	gs'sex_ev_favorite_part', 'pc_mouthcum_fav1'
-	gs'sex_ev_favorite_part', 'pc_facial_fav1'
-	gs'sex_ev_favorite_part', 'pc_titcum_fav1'
-!!	gs'sex_ev_favorite_part', 'pc_broken_condom1'
-	
 end
 
 if $ARGS[0] = 'pc_bj_fav1':
@@ -992,10 +1027,10 @@ if $ARGS[0] = 'pc_bj_fav1':
 		end
 	else
 		!! if you didn''t blow him
-		act'You like giving head':
+		act'Wish you could''ve blown him':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
-			'"I like sucking cock," you tell him.'
+			'"I wish I could''ve sucked your cock," you say wistfully.'
 			if npc_sexskill[$boy] > 40:
 				'"You''re one of those types huh?" <<$npc_firstname[$boy]>> smirks.'
 			else
@@ -1003,22 +1038,19 @@ if $ARGS[0] = 'pc_bj_fav1':
 			end
 			
 			act'Like making guys feel good':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
+				cla & *nl
 				'"I love the way I can make a boy groan and buck his hips just with my mouth," you grin. " It makes me feel sexy."'
 				gs'sex_ev_pillow_talk', 'topic_route'
 			end
 			
 			act'Oral fixation':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
+				cla & *nl
 				'"I think I have some kind of oral fixation," you grin. "Something about having a cock in my mouth just feels <i>so good</i>."'
 				gs'sex_ev_pillow_talk', 'topic_route'
 			end
 			
 			act'The taste':
-				cla & *clr
-				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
+				cla & *nl
 				'"I like the taste," you grin. "There''s something incredibly sexy about the taste of cock."'
 				if sex_ev['mouth_cum_gross'] = 1:
 					'"You didn''t seem to think that when I came in your mouth," <<$npc_firstname[$boy]>> smirks.'
@@ -1071,7 +1103,7 @@ if $ARGS[0] = 'pc_fuck_fav1':
 			
 			
 			if sex_ev['gentle_fuck'] = 1:
-				act'When you were gentle':
+				act'When he was gentle':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 					'"I liked it when you were gentle, " you say, smiling warmly at <<$npc_firstname[$boy]>>.'
@@ -1081,13 +1113,13 @@ if $ARGS[0] = 'pc_fuck_fav1':
 				act'Prefer it gentle':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
-					'"Would''ve been nice if you could''ve been a little more gentle, " you say wistfully. "I like it softer."'
+					'"Would''ve been nice if you were a little more gentle, " you say wistfully. "I like it softer."'
 					gs'sex_ev_pillow_talk', 'topic_route'
 				end
 			end
 			
 			if sex_ev['rough_enjoy'] = 1:
-				act'When you fucked me hard':
+				act'When he fucked you hard':
 					sex_ev['rough_pillow_talk'] = 1
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
@@ -1108,7 +1140,7 @@ if $ARGS[0] = 'pc_fuck_fav1':
 				end
 				
 				if sex_ev['rough_fuck'] = 1:
-					act'When you got rough with me':
+					act'When he got rough with you':
 						sex_ev['rough_pillow_talk'] = 1
 						cla & *clr
 						'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
@@ -1233,7 +1265,7 @@ if $ARGS[0] = 'pc_miss_pref1':
 		act'Prefer missionary':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk2.jpg"></center>'
-			'"I like being on bottom more," you tell <<$npc_firstname[$boy]>>.'
+			'"I wish we could have done it with you on top," you tell <<$npc_firstname[$boy]>>.'
 			'"Yeah? That''s your favorite position?"'
 			
 			act'It''s pleasant':
@@ -1258,7 +1290,7 @@ if $ARGS[0] = 'pc_miss_pref1':
 			
 			act'Want to feel his weight':
 				cla & *nl
-				'"My favorite part of sex is getting to feel a guy''s weight on top of me," you grin. "His entire body pressing down through his cock into my pussy. You have no idea how amazing it feels."'
+				'"When we do it like that, I can feel your <i>weight</i> on top of me," you grin. "Your entire body pressing down through your cock into my pussy. You have no idea how amazing it feels."'
 				gs'sex_ev_pillow_talk', 'topic_route'
 			end
 			
@@ -1310,8 +1342,8 @@ if $ARGS[0] = 'pc_doggy_pref1':
 		act'Prefer doggystyle':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk2.jpg"></center>'
-			'"I prefer taking it from behind," you tell him.'
-			'"Yeah?" <<$npc_firstname[$boy]>> grins back. "You like it doggystyle?"'
+			'"I wish we could''ve done it doggystyle," you tell him.'
+			'"Yeah?" <<$npc_firstname[$boy]>> grins back. "You like it like that?"'
 			
 			act'Feels better':
 				cla & *nl
@@ -1370,7 +1402,7 @@ if $ARGS[0] = 'pc_cowgirl_pref1':
 		act'Prefer being on top':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/after/pillow_talk2.mp4"></video></center>'
-			'"I prefer being on top," you tell him.'
+			'"I really wanted to ride you," you tell him.'
 			'"Yeah?" <<$npc_firstname[$boy]>> grins back. "You like cowgirl?"'
 			
 			act'Feels better':
@@ -1387,7 +1419,7 @@ if $ARGS[0] = 'pc_cowgirl_pref1':
 			
 			act'Like the control':
 				cla & *nl
-				'"I want to be in charge," you reply wistfully. "It''s no fun being on bottom."'
+				'"I want to be in charge," you reply ruefully. "It''s no fun being on bottom."'
 				gs'sex_ev_pillow_talk', 'topic_route'
 			end
 		end
@@ -1533,7 +1565,7 @@ if $ARGS[0] = 'pc_miss_pref2':
 		act'Prefer missionary':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
-			'"I liked it when... when we did it in missionary," you say, a crimson blush spreading through your cheeks.'
+			'"I liked it... doing it in missionary," you say, a crimson blush spreading through your cheeks.'
 			'"Yeah?" <<$npc_firstname[$boy]>> grins back. "That''s your favorite position?"'
 			
 			act'It''s pleasant':
@@ -1727,7 +1759,7 @@ end
 
 if $ARGS[0] = 'pc_creampie_fav1':
 	if sex_ev['creampie_count'] > 0:
-		act'When you came inside':
+		act'Loved it when he came inside':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 			if $sex_ev['boy_favorite'] = 'creampie' and npc_free_creampies[$boy] < 1 and sex_ev['surprise_creampie_count'] > 0  and npc_ask_creampie[$boy] > 0:
@@ -1752,7 +1784,7 @@ if $ARGS[0] = 'pc_creampie_fav1':
 					'"I liked it when you came inside me," you smile warmly at <<$npc_firstname[$boy]>> rubbing your wet thighs together where his cum was leaking from your snatch just minutes ago. "I could <i>feel</i> everything. Your cock throbbing inside me, warmth spreading through my hips, I just felt <i>full</i> when you came inside me. And it''s really really good."'
 				end
 			end
-			if sex_ev['accidental_creampie_convo'] = 0 and (npc_know_not_bc[$boy] = 1 or sex_ev['risky_creampie'] > 0 or npc_childfree[$boy] > 0) and sex_ev['safe_day'] ! 1 and sex_ev['probably_safe_day'] ! 1:
+			if sex_ev['accidental_creampie_convo'] = 0 and npc_know_bc[$boy] < 1 and (npc_know_not_bc[$boy] = 1 or sex_ev['risky_creampie'] > 0 or npc_childfree[$boy] > 0) and sex_ev['safe_day'] ! 1 and sex_ev['probably_safe_day'] ! 1:
 				gs'sex_ev_talk', 'boy_accidental_creampie'
 			else
 				gs'sex_ev_pillow_talk', 'topic_route'
@@ -1763,7 +1795,7 @@ end
 
 if $ARGS[0] = 'pc_mouthcum_fav1':
 	if sex_ev['mouth_cum_count'] > 0:
-		act'When you came in my mouth':
+		act'Liked when he came in your mouth':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 			if $sex_ev['boy_favorite'] = 'swallowing':
@@ -1819,7 +1851,7 @@ end
 if $ARGS[0] = 'pc_facial_fav1':
 	if sex_ev['facial_count'] > 0:
 		if sex_ev['disgusting_facial'] = 0:
-			act'When you cumshot me':
+			act'Liked getting facialed':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 				if $sex_ev['boy_favorite'] = 'facial':
@@ -1837,7 +1869,7 @@ end
 if $ARGS[0] = 'pc_titcum_fav1':
 	if sex_ev['cum_tits'] > 0:
 		if sex_ev['tit_cum_gross'] = 0:
-			act'When you came on my tits':
+			act'Liked it when he came on your tits':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 				if $sex_ev['boy_favorite'] = 'tit_cum':
@@ -1870,7 +1902,7 @@ if $ARGS[0] = 'good_for_you_too':
 	act'Satisfied':
 		cla & *nl
 		'"I had fun," you say, smiling at <<$npc_firstname[$boy]>>.'
-		gs'sex_ev_pillow_talk', 'topic_route'
+		gs'sex_ev_favorite_part', 'pc_favorite_part'
 	end
 	
 	act'Unsatisfied':
@@ -1908,17 +1940,15 @@ if $ARGS[0] = 'good_for_you_too':
 		act'Good dicking':
 			cla & *nl
 			if  sex_ev['orgasm_count'] > 0:
-				'"You dicked me real good," you grin back. "Plus you made me come. So that''s worth something all on its own."'
-			else
-				'"You dicked me real good," you grin back. "That''s enough for me."'
+				'"You gave me a <i>good</i> docking," you grin back. "What more could I ask for?"'
 			end
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 		
 		act'Dick drunk':
 			cla & *nl
 			'"I think I''m dick drunk," you say with a ditzy giggle, rubbing your wet thighs together.'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	end
 	
@@ -1928,19 +1958,19 @@ if $ARGS[0] = 'good_for_you_too':
 			act'(in a good way)':
 				cla & *nl
 				sex_ev['sore_pussy_talk'] = 1
-				if sex_ev['cum_count'] >= npc_sexdrive[$boy]:
+				if sex_ev['fucked_out'] = 1:
 					'"I''m not gonna be able to walk right for a week either," you say, rubbing your thighs over your thoroughly fucked sex and grinning as you add, "I think you might''ve pounded my pussy into a <<$npc_firstname[$boy]>> shape."'
 				else
 					'"I''m not gonna be able to walk right for a week," you say, rubbing your thighs over your thoroughly fucked sex and grinning as you add, "I think you might''ve pounded my pussy into a <<$npc_firstname[$boy]>> shape."'
 				end
-				gs'sex_ev_pillow_talk', 'topic_route'
+				gs'sex_ev_favorite_part', 'pc_favorite_part'
 			end
 		
 			act'(in a bad way)':
 				cla & *nl
 				sex_ev['keep_it_up'] = 1
 				sex_ev['sore_pussy_talk'] = 1
-				if sex_ev['cum_count'] = npc_sexdrive[$boy]:
+				if sex_ev['fucked_out'] = 1:
 					'"I might not be able to walk right for a week either," you wince, rubbing your thighs over your aching pussy. "I might have a hard time sitting down tomorrow..."'
 				else
 					'"I''m not gonna be able to walk right for a week," you wince, rubbing your thighs over your aching pussy. "I might have a hard time sitting down tomorrow..."'
@@ -1964,7 +1994,7 @@ if $ARGS[0] = 'good_for_you_too':
 				end
 				*nl
 				'You both grin at that.'
-				gs'sex_ev_pillow_talk', 'topic_route'
+				gs'sex_ev_favorite_part', 'pc_favorite_part'
 			end
 		
 			act'(in a bad way)':
@@ -1980,17 +2010,17 @@ if $ARGS[0] = 'good_for_you_too':
 		act'Lots of orgasms':
 			cla & *nl
 			'"You made me come lots," you say, flashing a tired smile at <<$npc_firstname[$boy]>>. "It was more than good."'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	elseif sex_ev['orgasm_count'] > 0:
 		act'You got me off':
 			cla & *nl
-			'"You made me come," you say, smiling at <<$npc_firstname[$boy]>>. "How could I complain?"'
-			gs'sex_ev_pillow_talk', 'topic_route'
+			'"You got me off," you say, smiling at <<$npc_firstname[$boy]>>. "How could I complain?"'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	end
 	
-	if sex_ev['cum_count'] = npc_sexdrive[$boy]:
+	if sex_ev['fucked_out'] = 1:
 		act'Could''ve gone more rounds':
 			cla & *nl
 			'"I could''ve gone a few more rounds," you say wistfully.'
@@ -1999,7 +2029,7 @@ if $ARGS[0] = 'good_for_you_too':
 				cla & *nl
 				'<<$npc_firstname[$boy]>>''s response makes you laugh out loud.'
 				'"That''s okay," you giggle. "I forgive you."'
-				gs'sex_ev_pillow_talk', 'topic_route'
+				gs'sex_ev_favorite_part', 'pc_favorite_part'
 			end
 			
 			act'Roll your eyes':
@@ -2018,7 +2048,7 @@ if $ARGS[0] = 'good_for_you_too':
 			sex_ev['creampie_pillow_talk'] = 1
 			cla & *nl
 			'"I''m all full," you smile, rubbing your belly in tired satisfaction as <<$npc_firstname[$boy]>>''s cum overflows from your snatch.'
-			gs 'sex_ev_pillow_talk', 'topics'
+			gs'sex_ev_favorite_part', 'pc_favorite_part'
 		end
 	end
 end

+ 3 - 2
locations/sex_ev_foreplay.qsrc

@@ -10,6 +10,7 @@ end
 if $ARGS[0] = 'bed_start':
 	cla
 	sex_ev['start_time'] = totminut
+	!!gs 'sex_ev_start', 'undress_function'
 	!! $sex_ev['bed_room']
 	if rand(0,1) = 1:
 		!! he wins initiative
@@ -1458,7 +1459,7 @@ if $ARGS[0] = 'bj_force_cum_grumble':
 						gs'arousal', 'hj',rand(1,2), 'no_orgasm_msg', $sex_ev['prostitution_flag']
 						gs'stat'
 						cla & *clr
-						if sex_ev['cum_count'] >= npc_sexdrive[$boy]:
+						if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
 							cla & *clr
 							!! IMAGE HERE
 							$sex_ev['bed_room']
@@ -1481,7 +1482,7 @@ if $ARGS[0] = 'bj_force_cum_grumble':
 					act'Try to get him hard again (mouth)':
 						gs'arousal', 'bj',rand(1,2), 'no_orgasm_msg', $sex_ev['prostitution_flag']
 						gs'stat'
-						if sex_ev['cum_count'] >= npc_sexdrive[$boy]:
+						if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
 							cla & *clr
 							!! IMAGE HERE
 							$sex_ev['bed_room']

+ 77 - 39
locations/sex_ev_leave.qsrc

@@ -63,10 +63,18 @@ if $ARGS[0] = 'exit':
 	!!		gt $sex_ev_exit['exit_file'], $sex_ev_exit['exit_arg']
 		elseif $sex_ev['loc'] = 'pc_home':
 			gs 'sex_ev_leave', 'ending'
-			if $sex_ev_exit['loc'] = 'bedroom':
-				gt 'bedr'
-			elseif $sex_ev_exit['loc'] = 'hallway':
-				gt 'korr'
+			if $home['current'] = 'parents_home':
+				if $sex_ev_exit['loc'] = 'bedroom':
+					gt 'bedrPar'
+				elseif $sex_ev_exit['loc'] = 'hallway':
+					gt 'korrPar'
+				end
+			else
+				if $sex_ev_exit['loc'] = 'bedroom':
+					gt 'bedr'
+				elseif $sex_ev_exit['loc'] = 'hallway':
+					gt 'korr'
+				end
 			end
 		elseif $sex_ev['loc'] = 'house_party':
 			gs 'sex_ev_leave', 'ending'
@@ -117,7 +125,10 @@ end
 if $ARGS[0] = 'sugar_daddy_add':
 	if $npc_rel_type[$boy] ! 'fuckbuddy': gs 'sex_ev_leave', 'fuckbuddy_add'
 	npc_sugar_daddy_price[$boy] = sex_ev['sugar_daddy_offer'] * 100
-	$npc_rel_type[$boy] = 'sugar_daddy'
+	if $npc_rel_type[$boy] ! 'sugar_daddy':
+		$npc_rel_type[$boy] = 'sugar_daddy'
+		sex_ev['sugar_daddy_count'] += 1
+	end
 	sex_ev['sugar_daddy_paid'] = 1
 	sex_ev['prostitution_paid'] = 1
 end
@@ -133,7 +144,7 @@ if $ARGS[0] = 'ending':
 	end
 	if $booty_call_hotel[$boy] ! '': $booty_call_hotel[$boy] = ''
 	gs 'arousal', 'end'
-	if $clothingworntype = 'nude' and sex_ev['skip_dress'] = 0: gs'sex_ev_leave', 'dress'
+	if $clothingworntype = 'nude': gs'sex_ev_leave', 'dress'
 	if sex_ev['fuck'] > 0: know_virgin[$boy] = 0
 	if sex_ev['creampie_orgasm_count'] > 0: stat_memory['creampie_orgasm'] = daystart
 	npc_last_sex[$boy] = daystart
@@ -149,6 +160,10 @@ if $ARGS[0] = 'ending':
 		hotelRoomDays['<<$region>>_hotel'] = daystart + sex_ev['hotel_days']
 		hotelRoom['<<$region>>_room_service_free'] = 1
 	end
+	if $sex_ev['loc'] = 'pc_home' and $home['current'] = 'parents_home':
+		sisterQW['sex_room'] = 1
+		stat['parents_home_sex'] += 1
+	end
 	killvar 'sex_ev'
 end
 
@@ -298,26 +313,38 @@ if $ARGS[0] = 'leaving_end':
 			*nl
 		end
 	end
+	cla
 	'"<<$sex_ev[''leave_dialogue'']>>," you say<<$sex_ev[''leave_action'']>>.'
 	act'Leave':gt'sex_ev_leave', 'exit'
 end
 
 if $ARGS[0] = 'npc_leave':
-	cla & *clr
-	$sex_ev['bed_room']
-	if npc_latesleeper[$boy] = 1 and sex_ev['boy_wakeup'] = 0:
-		'Not wanting to wake <<$npc_firstname[$boy]>>, you sneak over to the door and let yourself out, closing it as gently as you can behind you.'
-		act'Leave':gt'sex_ev_leave', 'exit'
-	else
-		if sex_ev['angry_after'] = 1 or sex_ev['annoyed'] > 0:
-			'"You should go," you say flatly.'
-			'<<$npc_firstname[$boy]>> stiffly gets out of bed and gets dressed, neither of you really looking the other in the eye as he does. After a minute or two, he''s finished and leaves without another word.'
-			act'Finish':gt'sex_ev_leave', 'exit'
-		else
-			'"This was fun, but you should probably go," you say to <<$npc_firstname[$boy]>>, who nods and moves to start picking up his clothes and get dressed.'
-			gt'sex_ev_leave', 'npc_leaving_action'
+	
+!!{	if npc_latesleeper[$boy] = 1 and sex_ev['boy_wakeup'] = 0 and sex_ev['boy_asleep'] = 1 and $home['current'] ! 'parents_home':
+		act'Get up and leave <<$npc_firstname[$boy]>> in bed':
+			cla & *clr
+			$sex_ev['bed_room']
+			'Not wanting to wake <<$npc_firstname[$boy]>>, you sneak over to the door and let yourself out, closing it as gently as you can behind you.'
+			act'Leave':gt'sex_ev_leave', 'exit'
+		end}
+!!	else
+		act'Tell <<$npc_firstname[$boy]>> to leave':
+			cla & *clr
+			$sex_ev['bed_room']
+			if sex_ev['angry_after'] = 1 or sex_ev['annoyed'] > 0:
+				'"You should go," you say flatly.'
+				'<<$npc_firstname[$boy]>> stiffly gets out of bed and gets dressed, neither of you really looking the other in the eye as he does. After a minute or two, he''s finished and leaves without another word.'
+				act'Finish':gt'sex_ev_leave', 'exit'
+			else
+				if $home['current'] = 'parents_home' and locat['Fam_inGad'] = 1 and week = 7 and hour > 16:
+					'"This was fun, but you should probably go." You smile ruefully. "My parents are coming home soon." <<$npc_firstname[$boy]>> nods and moves to start picking up his clothes and get dressed.'
+				else
+					'"This was fun, but you should probably go," you say to <<$npc_firstname[$boy]>>, who nods and moves to start picking up his clothes and get dressed.'
+				end
+				gs'sex_ev_leave', 'npc_leaving_action'
+			end
 		end
-	end
+!!	end
 end
 
 if $ARGS[0] = 'npc_leaving_action':
@@ -364,7 +391,7 @@ if $ARGS[0] = 'npc_leaving_action':
 			if rand(1,1) = 5:
 				$sex_ev['leave_action2'] = 'You pull <<$npc_firstname[$boy]>> back in for another kiss, but softer and quicker. As you pull back somebody walks past behind him, staring wide eyed at your chest. '
 			else
-				$sex_ev['leave_action2'] = 'You pull <<$npc_firstname[$boy]>> back in for another kiss, but softer and quicker. He flashes you a quick smile in return before stepping off. You watch him go for a few moments before heading back inside and closing the door behind you.'
+				$sex_ev['leave_action2'] = 'You pull <<$npc_firstname[$boy]>> back in for another kiss, but softer and quicker. He flashes you a quick smile in return before stepping off. You watch him go for a few moments before closing the door behind you.'
 			end
 		else
 			$sex_ev['leave_action'] = 'You sit on the bed, waiting patiently for <<$npc_firstname[$boy]>> to get dressed. Once he''s finished you move to take him to the door, making no move to get dressed yourself. Just as <<$npc_firstname[$boy]>> steps out, you grab hold of his shirt to pull him into a passionate kiss. After several long seconds, you break the kiss, saying,'
@@ -375,6 +402,7 @@ if $ARGS[0] = 'npc_leaving_action':
 end
 
 if $ARGS[0] = 'npc_leaving_dialogue':
+	cla
 	act'"Thanks for coming over."':
 		if sex_ev['sleepover'] = 1:
 			$sex_ev['leave_dialogue'] = '"Thanks for coming over last night. It was fun."'
@@ -449,7 +477,7 @@ end
 if $ARGS[0] = 'hurry_leave':
 	act'No time for goodbyes':
 		cla & *nl
-		npc_rel[$boy] -= 1
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		$sex_ev['leave_dialogue'] = ' without even saying goodbye'
 		gs'sex_ev_leave', 'hurry_leave2'
 	end
@@ -782,10 +810,7 @@ end
 if $ARGS[0] = 'prostitution_wakeup1':
 	if sex_ev['prostitution'] = 1 and sex_ev['prostitution_paid'] = 0:
 		act'Wake him up for your money':
-			sex_ev['sugar_daddy_paid'] = 1
-			money += npc_sugar_daddy_price[$boy]
-			sex_ev['prostitution_paid'] = 1
-			money += npc_prostitution_price[$boy]
+			gs 'sex_ev_stats', 'prostitution_pay_code'
 			cla
 			act'Be nice':
 				cla & *clr
@@ -804,7 +829,7 @@ if $ARGS[0] = 'prostitution_wakeup1':
 			end
 			
 			act'Be transactional':
-				npc_rel[$boy] -= 1
+				gs 'npc_relationship', 'modify', $boy, 'dislike'
 				cla & *clr
 				$sex_ev['bed_room']
 				'Without any particular courtesy or care, you shake <<$npc_firstname[$boy]>>''s shoulder until he starts awake.'
@@ -838,7 +863,7 @@ if $ARGS[0] = 'prostitution_wakeup2':
 	
 	
 	act'Peck him on the lips':
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *clr
 		$sex_ev['bed_room']
 		'"Thanks daddy," you smile, tucking the money into your purse and giving him a quick peck on the lips before slipping out the door.'
@@ -846,7 +871,7 @@ if $ARGS[0] = 'prostitution_wakeup2':
 	end
 	
 	act'Kiss him deeply':
-		npc_rel[$boy] += 2
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *clr
 		$sex_ev['bed_room']
 		'"Thanks daddy," you smile. You tuck the money into your purse and turn back, suddenly pulling <<$npc_firstname[$boy]>>''s face into a deep kiss, inhaling his taste, his scent, and pushing your tongue between his lips. It''s several seconds before you let it end and a trail of saliva hangs between you when you finally break the kiss. After a smoldering gaze, you lick your lips and slip out the door.'
@@ -884,7 +909,7 @@ if $ARGS[0] = 'sneak_out_note1':
 	if sex_ev['prostitution'] = 1 and sex_ev['prostitution_paid'] = 0:
 		act'This one''s a freebie':
 			cla & *clr
-			npc_rel[$boy] += 2
+			gs 'npc_relationship', 'modify', $boy, 'like'
 			sex_ev['prostitution_freebie'] = 1
 			$sex_ev['hall_way']
 			$sex_ev['note_desc1'] = '<i>Consider last night a freebie.</i>'
@@ -1028,14 +1053,25 @@ if $ARGS[0] = 'sneak_out2':
 end
 
 if $ARGS[0] = 'dress':
-	if $clothingworntype = 'nude': gs 'clothing', 'wear_last_worn'
-!!	if $pantyworntype = 'none' and $lastwornpantytype ! 'none' and $lastwornpantytype ! '':
-	if $pantyworntype = 'none' and $lastwornpantytype['sex_ev'] ! 'none':
-		gs 'panties', 'wear', $lastwornpantytype['sex_ev'], lastwornpantynumber['sex_ev']
-	end
-!!	if $braworntype = 'none' and $lastwornbratype ! 'none' and $lastwornbratype ! '':
-	if $braworntype = 'none' and $lastwornbratype['sex_ev'] ! 'none':
-		gs 'bras', 'wear', $lastwornbratype['sex_ev'], lastwornbranumber['sex_ev']
+	if sex_ev['skip_dress'] = 0:
+		if $clothingworntype = 'nude': gs 'clothing', 'wear_last_worn'
+	!!	if $pantyworntype = 'none' and $lastwornpantytype ! 'none' and $lastwornpantytype ! '':
+		if $pantyworntype = 'none' and $lastwornpantytype['sex_ev'] ! 'none':
+			gs 'panties', 'wear', $lastwornpantytype['sex_ev'], lastwornpantynumber['sex_ev']
+		end
+	!!	if $braworntype = 'none' and $lastwornbratype ! 'none' and $lastwornbratype ! '':
+		if $braworntype = 'none' and $lastwornbratype['sex_ev'] ! 'none':
+			gs 'bras', 'wear', $lastwornbratype['sex_ev'], lastwornbranumber['sex_ev']
+		end
+	else
+		$lastwornclothingtype['sex_ev'] = $lastwornclothingtype['lover_ev']
+		lastwornclothingnumber['sex_ev'] = lastwornclothingnumber['lover_ev']
+		
+		$lastwornpantytype['sex_ev'] = $lastwornpantytype['lover_ev']
+		lastwornpantynumber['sex_ev'] = lastwornpantynumber['lover_ev']
+		
+		$lastwornbratype['sex_ev'] = $lastwornbratype['lover_ev']
+		lastwornbranumber['sex_ev'] = lastwornbranumber['lover_ev']
 	end
 	gs 'stat'
 end
@@ -1111,7 +1147,7 @@ if $ARGS[0] = 'dressing1':
 			gs 'sex_ev_leave', 'panty_gift'
 		elseif sex_ev['npc_late'] = 1:
 			'<<$npc_firstname[$boy]>> starts getting dressed next to you.'
-				gs'sex_ev_leave', 'dressing2'
+			gs'sex_ev_leave', 'dressing2'
 		else
 			if sex_ev['boy_in_shower'] = 1:
 				sex_ev['boy_in_shower'] = 0
@@ -1133,6 +1169,7 @@ if $ARGS[0] = 'dressing1':
 				gs'sex_ev_leave', 'school_night'
 			end
 			gs'sex_ev_leave', 'going_school'
+			gs'sex_ev_dress_talking', 'break_up'
 	!!		gs'sex_ev_dress_talking', 'dress_talk'
 			
 		end
@@ -1153,6 +1190,7 @@ if $ARGS[0] = 'dressing2':
 		gs'sex_ev_leave', 'dressing_finish'
 	end
 	act'Talk while you dress':cla & gs'sex_ev_dress_talking', 'dress_talk'
+	gs'sex_ev_dress_talking', 'break_up'
 	if sex_ev['ma_pill_money'] = 0 and npc_pay_for_ma_pill[$boy] = 1 and sex_ev['creampie_count'] > 0:
 		cla
 		act'Continue':cla & gs'sex_ev_dress_talking', 'money_for_ma_pill'

+ 12 - 7
locations/sex_ev_miss.qsrc

@@ -84,7 +84,11 @@ if $ARGS[0] = 'miss_insert_slow':
 			
 			gs'stat'
 			$sex_ev['position'] = 'miss'
-			'<center><video autoplay loop src="images/shared/sex/vag/miss/enter1.mp4"></video></center>'
+			if sex_ev['condom'] = 1:
+				'<center><video autoplay loop src="images/shared/sex/vag/miss/enter_condom1.mp4"></video></center>'
+			else
+				'<center><video autoplay loop src="images/shared/sex/vag/miss/enter1.mp4"></video></center>'
+			end
 			'<<$npc_firstname[$boy]>> carefully positions himself between your legs, lines up the head of his cock, and gently forces it into the folds of your pussy.'
 			*nl
 			if $npc_dick_desc[$boy] = 'tiny':
@@ -399,9 +403,10 @@ if $ARGS[0] = 'miss_pain3':
 		act'Continue':gt 'sex_ev_<<$sex_ev[''position'']>>', '<<$sex_ev[''pos_speed'']>>.2'
 	else
 		cla & *clr
-		'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
-		'"Ouch! Hey! Ow!" you yelp. "Wait! That hurts!"'
-		'<<$npc_firstname[$boy]>> stops halfway through a thrust, jabbing you painfully with his cock again and nearly falling on you in the process.'
+		!!'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
+		'<center><video autoplay loop src="images/shared/sex/vag/miss/pain1.mp4"></video></center>'
+		'"OH WOAH!" you yelp, trying to push <<$npc_firstname[$boy]>> out of your pussy. He fails to take the hint and painfully jabs you with his cock again, causing more yelps. "Ow!Ow!Ow!Wait!"'
+		'He finally gets it and pulls out in a panic.'
 		'"Shit! Sorry," he says. "What happened? Are you okay?"'
 		act'Be irritated':
 			minut += 1
@@ -1246,11 +1251,11 @@ if $ARGS[0] = 'miss_kiss':
 		cla & *nl
 		sex_ev['kiss_skip'] = 1
 		if npc_no_kiss[$boy] = 2:
-			npc_rel[$boy] -= 2
+			gs 'npc_relationship', 'modify', $boy, 'dislike'
 			'You turn your head, shying away from his lips.'
 			'"Not right now," you say, smiling apologetically.'
 		elseif npc_no_kiss[$boy] = 1:
-			npc_rel[$boy] -= 3
+			gs 'npc_relationship', 'modify', $boy, 'dislike'
 			'"Hey!" you say, annoyedly jerking your head away. "I told you! No kissing!"'
 		else
 			npc_no_kiss[$boy] = 1
@@ -1325,7 +1330,7 @@ if $ARGS[0] = 'miss_kiss':
 	
 	act'Turn your head':
 		cla & *nl
-		npc_rel[$boy] -= 1
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		'You turn your head, shying away from his lips.'
 		'"Not right now," you say.'
 		gs 'sex_ev_cum', 'fuck_cum'

+ 15 - 15
locations/sex_ev_morning.qsrc

@@ -1,7 +1,7 @@
 # sex_ev_morning
 
 if $ARGS[0] = 'npc_morning_shower_desc':
-	sex_ev['boy_in_shower'] = 1
+	!!sex_ev['boy_in_shower'] = 1
 	sex_ev['npc_morning_shower'] = 1
 	if npc_apt_type[$boy] = 2 or $sex_ev['loc'] = 'hotel_room':
 		'The bed next to you is empty and the bathroom door is closed. You can hear the water running behind it.'
@@ -47,7 +47,7 @@ if $ARGS[0] = 'morning_menu1':
 		end
 
 		
-		if npc_earlyriser[$boy] = 1 and sex_ev['npc_morning_shower'] = 1 and sex_ev['morning_shower'] = 0:
+		if npc_earlyriser[$boy] = 1 and sex_ev['boy_in_shower'] = 1 and sex_ev['morning_shower'] = 0:
 			if npc_apt_type[$boy] = 2 or npc_apt_type[$boy] = 3 or $sex_ev['loc'] = 'hotel_room':
 				act'Join <<$npc_firstname[$boy]>> in the shower':gt'sex_ev_shower', 'shower_join1'
 			else
@@ -55,7 +55,7 @@ if $ARGS[0] = 'morning_menu1':
 			end
 		else
 			act'Use the bathroom':
-				if sex_ev['boy_asleep'] ! 1 and sex_ev['npc_morning_shower'] ! 1 and rand(1,3) = 1 and sex_ev['bathroom_check'] = 0:
+				if sex_ev['boy_asleep'] ! 1 and sex_ev['boy_in_shower'] ! 1 and rand(1,3) = 1 and sex_ev['bathroom_check'] = 0:
 					sex_ev['bathroom_check'] = 1
 					cla & *clr
 					$npc_bedroom[$boy]
@@ -109,7 +109,7 @@ if $ARGS[0] = 'morning_menu1':
 			end
 		end
 		
-		if npc_latesleeper[$boy] ! 1 and sex_ev['breakfast_finished'] = 0 and sex_ev['npc_morning_shower'] ! 1:
+		if npc_latesleeper[$boy] ! 1 and sex_ev['breakfast_finished'] = 0 and sex_ev['boy_in_shower'] ! 1:
 			gs'sex_ev_morning', 'want_breakfast'
 			gs'sex_ev_pillow_talk2', 'forgot_bc_talk1'
 		elseif npc_latesleeper[$boy] = 1 and sex_ev['breakfast_finished'] = 0 and $sex_ev['loc'] ! 'hotel_room':
@@ -469,7 +469,7 @@ if $ARGS[0] = 'breakfast_in_bed':
 	end
 	act'How sweet':
 		cla & *nl
-		npc_rel[$boy] += 2
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		'"That''s sweet of you," you smile back, genuinely a little touched that he would do this for you.'
 		'"It''s no big deal," he shrugs. "Anything I can help you with first?"'
 		'He shows you the tray which is filled with quite a spread.'
@@ -927,7 +927,7 @@ if $ARGS[0] = 'coffee_menu':
 				end
 				
 				act'Knew he''d like that reference':
-					npc_rel[$boy] += 1
+					gs 'npc_relationship', 'modify', $boy, 'like'
 					cla & *nl
 					'"I thought you''d like that reference," you say, grinning into your mug of coffee. "You''re such a nerd."'
 					'"It''s a funny movie," he grins back. "What can I say?"'
@@ -974,7 +974,7 @@ if $ARGS[0] = 'coffee_together':
 	gs 'beverage', 'coffee'
 	sex_ev['breakfast_finished'] = 1
 	minut += 5
-	npc_rel[$boy] += rand(1,3)
+	gs 'npc_relationship', 'modify', $boy, 'like'
 	gs'sex_ev_morning', 'breakfast_image'
 	'The two of you settle down at <<$npc_firstname[$boy]>>''s table and sip away at your coffee, casually chit-chatting with each other until there''s nothing but dregs left.'
 	act'Wash your mugs':gt'sex_ev_morning', 'breakfast_dishes'
@@ -984,7 +984,7 @@ if $ARGS[0] = 'eat_breakfast1':
 	if sex_ev['cooking_total'] = 1 and sex_ev['coffee_make'] = 1:gt'sex_ev_morning', 'coffee_together'
 	sex_ev['breakfast_finished'] = 1
 	if sex_ev['boy_asleep'] = 1: sex_ev['boy_asleep'] = 0
-	npc_rel[$boy] += rand(1,3)
+	gs 'npc_relationship', 'modify', $boy, 'like'
 	act'Eat a small portion':gs'sex_ev_morning', 'eat_breakfast2'
 	act'Eat a medium portion':gs'sex_ev_morning', 'eat_breakfast3'
 	act'Eat a lot':gs'sex_ev_morning', 'eat_breakfast4'
@@ -1148,7 +1148,7 @@ if $ARGS[0] = 'breakfast_dishes':
 	'<center><img <<$set_imgh>> src="images/pc/activities/cooking/nude_misc3.jpg"></center>'
 	if (sex_ev['cooking_total'] = 1 and sex_ev['coffee_make'] = 1) or sex_ev['coffee_only'] = 1:
 		'"Just what I needed," you sigh, taking your used mug over to the sink.'
-		if rand(1,10) < npc_sexdrive[$boy] - ((sex_ev['cum_count'] + sex_ev['extra_cum']) / 2) and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) or sex_ev['sex_after_breakfast'] = 1:
+		if rand(1,10) < npc_sexdrive[$boy] - ((5 + sex_ev['extra_cum']) / 2) and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) or sex_ev['sex_after_breakfast'] = 1:
 			'"I could use something a little stronger than coffee," he says, stepping up behind you. His hands caress your hips and you can feel something hard hovering between your cheeks.'
 			gs'sex_ev_morning', 'after_breakfast_sex'
 		else
@@ -1162,7 +1162,7 @@ if $ARGS[0] = 'breakfast_dishes':
 	else
 		if sex_ev['light_breakfast'] = 1 or sex_ev['medium_breakfast'] = 1:
 			'"That was nice," you hum happily, taking your dirty dishes over to the kitchen area.'
-			if rand(1,10) < npc_sexdrive[$boy] and (npc_sexdrive[$boy] < (sex_ev['cum_count'] + sex_ev['extra_cum'])) and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) or sex_ev['sex_after_breakfast'] = 1:
+			if rand(1,10) < npc_sexdrive[$boy] - ((5 + sex_ev['extra_cum']) / 2) and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) or sex_ev['sex_after_breakfast'] = 1:
 				'"I can think of something nicer," he says, stepping up behind you, hands caressing your hips and something hard poking you in the back.'
 				gs'sex_ev_morning', 'after_breakfast_sex'
 				
@@ -1176,7 +1176,7 @@ if $ARGS[0] = 'breakfast_dishes':
 			end
 		elseif sex_ev['big_breakfast'] = 1:
 			'"I''m stuffed," you sigh, taking your dirty dishes over to the kitchen area.'
-			if rand(1,10) < npc_sexdrive[$boy] and (npc_sexdrive[$boy] < (sex_ev['cum_count'] + sex_ev['extra_cum'])) and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) or sex_ev['sex_after_breakfast'] = 1:
+			if rand(1,10) < npc_sexdrive[$boy] - ((5 + sex_ev['extra_cum']) / 2) and (stat['think_virgin'] ! 1 or sex_ev['fuck_count'] > 0) or sex_ev['sex_after_breakfast'] = 1:
 				'"Not yet you''re not," he says, stepping up behind you, hands caressing your hips and something hard poking you in the back.'
 				gs'sex_ev_morning', 'after_breakfast_sex'
 			else
@@ -1194,7 +1194,7 @@ end
 if $ARGS[0] = 'after_breakfast_sex':
 	act'"Down boy"':
 		cla
-		if sex_ev['sex_after_breakfast'] = 1:npc_rel[$boy] -= 2
+		if sex_ev['sex_after_breakfast'] = 1:gs 'npc_relationship', 'modify', $boy, 'dislike'
 		act'Don''t have time':
 			cla & *nl
 			'"Tsk! Down boy!" you chide, rolling your eyes and taking his hands to forcibly pull them off your body. "I don''t have time for this."'
@@ -1212,9 +1212,9 @@ if $ARGS[0] = 'after_breakfast_sex':
 		cla
 		gs'arousal', 'foreplay', 1, 'no_orgasm_msg', $sex_ev['prostitution_flag']
 		if sex_ev['wake_fuck'] = 1:
-			sex_ev['extra_cum'] += npc_sexdrive[$boy]/2
+			sex_ev['extra_cum'] += 5
 		else
-			sex_ev['extra_cum'] += npc_sexdrive[$boy]
+			sex_ev['extra_cum'] += 5
 		end
 
 		act'You''re gonna make me late':
@@ -1244,7 +1244,7 @@ if $ARGS[0] = 'after_breakfast_sex':
 	if sex_ev['cooking_total'] ! 1 or sex_ev['coffee_make'] ! 1:
 		act'Not after eating':
 			cla & *nl
-			if sex_ev['sex_after_breakfast'] = 1:npc_rel[$boy] -= 2
+			if sex_ev['sex_after_breakfast'] = 1:gs 'npc_relationship', 'modify', $boy, 'dislike'
 			'"Ugh!" you groan, giving <<$npc_firstname[$boy]>> a look of disgust and forcibly pulling his hands off your body. "Right when I feel all gross after eating? How can you even <i>think</i> about that right now?"'
 			gs'sex_ev_morning', 'morning_menu1'
 		end

+ 180 - 24
locations/sex_ev_pillow_talk.qsrc

@@ -119,6 +119,8 @@ if $ARGS[0] = 'cum_talk':
 	gs'sex_ev_pillow_talk', 'plastered'
 	gs'sex_ev_pillow_talk', 'thank_no_creampie'
 	gs'sex_ev_pillow_talk', 'sex_mess'
+	gs'sex_ev_pillow_talk', 'cant_believe_creampie'
+	!!gs'sex_ev_pillow_talk', 'wash_sheets'
 	if sex_ev['creampie_count'] > 0 and npc_free_creampies[$boy] < 1: gs'sex_ev_pillow_talk', 'free_creampies'
 	if sex_ev['pullout_count'] > 0 and sex_ev['creampie_count'] = 0 and npc_creampie_permission[$boy] = 0 and npc_free_creampies[$boy] < 1: gs'sex_ev_talk', 'creampie_permission1'
 end
@@ -166,16 +168,16 @@ if $ARGS[0] = 'good_for_you':
 			minut += 1
 			'"Was it good for you?" you ask pleasantly.'
 			if sex_ev['virgin'] ! 1:
-				if sex_ev['cum_count'] = npc_sexdrive[$boy]:
+				if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
 					'"Yeah, you were great" he says. "You practically drained my balls. I might not be able to come again for a week. What about you?"'
-				elseif sex_ev['cum_count'] < npc_sexdrive[$boy]/2:
+				elseif sex_ev['fucked_out'] = 0:
 					'"I could''ve gone a few more times," he says. "But it wasn''t bad. How about you?"'
 				else
 					'"Yeah, it was," he says. "How about you?"'
 				end
 				gs'sex_ev_pillow_talk', 'good_for_you_too'
 			else
-				if sex_ev['cum_count'] = npc_sexdrive[$boy]:
+				if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] or sex_ev['fucked_out'] = 1:
 					'"Yeah, you were great" he says. "You practically drained my balls. I might not be able to come again for a week."'
 				else
 					'"I could''ve gone a few more times," he says. "But it wasn''t bad."'
@@ -235,7 +237,7 @@ if $ARGS[0] = 'long_time':
 					gs'sex_ev_pillow_talk', 'sex_talk'
 				end
 			end
-			if sex_ev['cum_count'] >= 5 and sex_ev['keep_it_up'] = 0:
+			if sex_ev['cum_count'] >= 3 and sex_ev['keep_it_up'] = 0:
 				act'You can really keep it up':
 					gs'sex_ev_pillow_talk', 'talk_time_add'
 					cla & *clr
@@ -544,7 +546,7 @@ if $ARGS[0] = 'ran_out_of_condoms':
 end
 
 if $ARGS[0] = 'condom_buy_fight':
-	npc_rel[$boy] -= 1
+	gs 'npc_relationship', 'modify', $boy, 'dislike'
 	'"<i>You</i> could always buy more condoms," <<$npc_firstname[$boy]>> grumbles. "I don''t see why it''s all up to me to get the condoms!"'
 	act'Don''t respond':
 		cla & *nl
@@ -552,7 +554,7 @@ if $ARGS[0] = 'condom_buy_fight':
 		gs'sex_ev_pillow_talk', 'sex_talk'
 	end
 	act'He''s got a point':
-		npc_rel[$boy] += 2
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *nl
 		pc_buy_condoms[$boy] = 1
 		'"I guess you''ve got a point," you say, giving <<$npc_firstname[$boy]>> a guilty smile. "I''ll try to buy some for next time."'
@@ -560,7 +562,7 @@ if $ARGS[0] = 'condom_buy_fight':
 	end
 	
 	act'He''s the one with the dick (argue)':
-		npc_rel[$boy] -= 2
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		cla & *nl
 		'"You''re the one with the dick," you scowl. "So it''s your job to get the condoms."'
 		'"My money that''s getting spent too! I don''t see you chipping into the safe sex fun!"'
@@ -599,7 +601,7 @@ end
 
 if $ARGS[0] = 'condom_buy_fight2':
 	act'It''s his responsibility!':
-		npc_rel[$boy] -= 2
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		cla & *nl
 		'"Cause it''s your dick! Take responsibility for it!"'
 		'"It takes two to fuck, you selfish slut!"'
@@ -607,14 +609,14 @@ if $ARGS[0] = 'condom_buy_fight2':
 	end
 	
 	act'Babies are expensive too!':
-		npc_rel[$boy] -= 2
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		cla & *nl
 		'"Yeah, because <i>I''m</i> the one in danger of getting pregnant! If I have a kid, are you going to chip in then?" you shout at him.'
 		if npc_caretaker[$boy] = 1 and npc_childfree ! 1:
 			'"Of course I am!" <<$npc_firstname[$boy]>> yells back.'
 			gs'sex_ev_pillow_talk', 'condom_buy_apology'
 			act'I don''t believe you!':
-				npc_rel[$boy] -= 2
+				gs 'npc_relationship', 'modify', $boy, 'dislike'
 				cla & *clr
 				$sex_ev['bed_room']
 				'"Bullshit!" you say. "That''s what all guys say. But as soon as a there''s a baby in a girl''s belly, they all run!"'
@@ -625,7 +627,7 @@ if $ARGS[0] = 'condom_buy_fight2':
 			gs'sex_ev_pillow_talk', 'condom_buy_apology'
 			
 			act'What the fuck did you just say?':
-				npc_rel[$boy] -= 10
+				gs 'npc_relationship', 'modify', $boy, 'dislike'
 				npc_big_fight[$boy] = daystart
 				cla & *clr
 				$sex_ev['bed_room']
@@ -667,7 +669,7 @@ end
 
 if $ARGS[0] = 'condom_buy_apology':
 	act'Apologize':
-		npc_rel[$boy] += 4
+		gs 'npc_relationship', 'modify', $boy, 'love'
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 		'You open your mouth to respond but the argument dies in your throat.'
@@ -1128,7 +1130,7 @@ if $ARGS[0] = 'always_condoms1':
 			end
 			
 			act'Very considerate of him':
-				npc_rel[$boy] += 1
+				gs 'npc_relationship', 'modify', $boy, 'like'
 				cla & *nl
 				'"That''s really considerate of you," you remark. "A lot of guys try to talk girls into going bareback, not thinking about the consequences. It''s nice to be with a guy who''s thinking about that stuff first instead of later."'
 				'"Well I think I''d find it pretty annoying if I got a bad case of the crabs too," <<$npc_firstname[$boy]>> laughs back.'
@@ -1161,7 +1163,11 @@ if $ARGS[0] = 'love_going_bareback':
 				cla & *nl
 				'"It just feels good," you say with deep satisfaction. "Condoms are all latexy. Bareback is better."'
 				if npc_no_condoms[$boy] > 0:
-					'"You got that right," <<$npc_firstname[$boy]>> says.'
+					if npc_know_bc[$boy] = 1:
+						'"Birth control is awesome..." <<$npc_firstname[$boy]>> grins lewdly.'
+					else
+						'"You got that right," <<$npc_firstname[$boy]>> says.'
+					end
 				elseif npc_bareback[$boy] = 2 and sex_ev['danger_day'] ! 1:
 					'"Good thing today wasn''t a danger day," <<$npc_firstname[$boy]>> smiles back at you.'
 				else
@@ -1639,7 +1645,7 @@ if $ARGS[0] = 'plastered':
 end
 
 if $ARGS[0] = 'mess_text':
-	if $sex_ev['loc'] = 'hotel_room' and sex_ev['mess_for_maid_talk'] = 0 and sex_ev['cum_count'] >= 5 and sex_ev['cum_count'] - (sex_ev['cum_mouth'] - sex_ev['facial_count']) >= 4:
+	if $sex_ev['loc'] = 'hotel_room' and sex_ev['mess_for_maid_talk'] = 0 and sex_ev['cum_count'] >= 3 and sex_ev['cum_count'] - (sex_ev['cum_mouth'] - sex_ev['facial_count']) >= 3:
 		$sex_ev['mess_act'] = 'A real mess for the maids'
 		$sex_ev['mess_dialogue1'] = 'We made a real mess for the maids to clean up,'
 	elseif $sex_ev['loc'] = 'pc_home' and sex_ev['wash_sheets_talk'] = 0 and $sex_ev['bed_choice'] = 'anya_bed':
@@ -1653,7 +1659,7 @@ end
 
 if $ARGS[0] = 'sex_mess':
 	gs'sex_ev_pillow_talk', 'mess_text'
-	if (($sex_ev['loc'] = 'hotel_room' and sex_ev['mess_for_maid_talk'] = 0) or ($sex_ev['loc'] = 'pc_home' and sex_ev['wash_sheets_talk'] = 0)) and sex_ev['cum_count'] >= 5 and sex_ev['cum_count'] - (sex_ev['cum_mouth'] - sex_ev['facial_count']) >= 4:
+	if (($sex_ev['loc'] = 'hotel_room' and sex_ev['mess_for_maid_talk'] = 0) or ($sex_ev['loc'] = 'pc_home' and sex_ev['wash_sheets_talk'] = 0)) and sex_ev['cum_count'] >= 3 and sex_ev['cum_count'] - (sex_ev['cum_mouth'] - sex_ev['facial_count']) >= 3:
 		act'<<$sex_ev[''mess_act'']>>':
 			cla & *clr
 			sex_ev['wash_sheets_talk'] = 1
@@ -1723,6 +1729,156 @@ if $ARGS[0] = 'sex_mess':
 end
 
 
+if $ARGS[0] = 'cant_believe_creampie':
+	if sex_ev['creampie_wtf'] > 0 and sex_ev['cant_believe_creampie_talk'] = 0:
+		act'I still can''t believe you came inside':
+			cla & *clr
+			sex_ev['cant_believe_creampie_talk'] = 1
+			'<center><img <<$set_imgh>> src="images/shared/sex/after/annoyed1.jpg"></center>'
+			'"I still can''t believe you came inside me," you harrumph, crossing your arms in irritation.'
+			if npc_childfree[$boy] > 0 and npc_know_bc[$boy] = 0:
+				'"I know," he sighs, putting his hands over his eyes. "I really fucked up.' + iif(npc_caretaker[$boy] = 1, ' I''m so sorry."', '"')
+				gs'sex_ev_pillow_talk', 'cant_believe_creampie_okay'
+				
+				act'We should have used condoms':
+					cla & *nl
+					if sex_ev['skip_condom'] = 1:
+						'"We really shouldn''t have skipped the condom..." you say and sigh bitterly yourself.'
+					else
+						'"Why didn''t we just use condoms..." you say and sigh bitterly yourself.'
+					end
+					gs'sex_ev_pillow_talk', 'topic_route'
+				end
+				if npc_know_bc[$boy] = 0:
+					act'Not as sorry as if you get pregnant':
+						cla & *nl
+						'"Not nearly as sorry as you''ll be if I get pregnant," you huff.' + iif(birth_control['think_safe'] = 1, ' Not that you <i>can</i> get pregnant. You''re on birth control after all. But <<$npc_firstname[$boy]>> doesn''t know that. And after this, he deserves to sweat it out.', '')
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+				end
+			elseif ($npc_cum_pref[$boy] = 'creampie' or npc_know_love_creampie[$boy] = 1) and (npc_selfish[$boy] > 0 or npc_abusive[$boy] > 0 or $npc_humor[$boy] = 'childish'):
+				'"But it still felt good, didn''t it?" <<$npc_firstname[$boy]>> grins back.'
+				act'Admit it':
+					gs 'npc_relationship', 'modify', $boy, 'like'
+					cla & *clr
+					'<center><img <<$set_imgh>> src="images/shared/sex/after/smile1.jpg"></center>'
+					'"But it still felt good, didn''t it?" <<$npc_firstname[$boy]>> grins back.'
+					'"Yeah, I guess," you reply, unable to stop your lips from twisting into a rueful smirk.'
+					'"I knew you loved it," he chuckles' + iif(cum_loc['vagina'] > 0, ' while watching his cum flow out of your pussy with a satisfied look.', ', looking down at the pussy that was filled with his cum until recently.')
+					gs'sex_ev_pillow_talk', 'topic_route'
+				end
+				
+				act'Admit begrudgingly':
+					gs 'npc_relationship', 'modify', $boy, 'like'
+					cla & *nl
+					'"Hrmgh... Yeah I guess..." you admit with a deep scowl, unwilling to give him the satisfaction. Though it doesn''t seem to stop him from chuckling while ' + iif(cum_loc['vagina'] > 0, ' watching his cum flow out of your pussy.', ', looking down at the pussy that was filled with his cum until recently.')
+					'"I knew you loved it."'
+					'"Shut up."'
+					gs'sex_ev_pillow_talk', 'topic_route'
+				end
+				if sex_ev['creampie_orgasm_count'] = 0:
+					act'Maybe for him':
+						cla & *clr
+						'<center><video autoplay loop src="images/shared/sex/after/pillow_talk_eyeroll.mp4"></video></center>'
+						'"Maybe for you," you roll your eyes, looking away from him in annoyance.'
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+				end
+			elseif npc_know_bc[$boy] = 1:
+				if npc_argumentative[$boy] > 0:
+					'"I don''t see what the big deal is," <<$npc_firstname[$boy]>> huffs. "You''re on birth control anyways."'
+					act'Relent':
+						cla & *clr
+						'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk5.jpg"></center>'
+						'A long sigh escapes your lips as they twist into begrudging smirk.'
+						'"I guess that''s true. It would only be petty if I stay mad at you."'
+						'<<$npc_firstname[$boy]>> smiles back.'
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+					
+					act'Not the point!':
+						gs 'npc_relationship', 'modify', $boy, 'dislike'
+						cla & *nl
+						'"That''s not the point!" you sneer back. "Just because I''m on the <<$sex_ev[''bc_type'']>> doesn''t mean you can just do that whenever you want!"'
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+				else
+					'"Sorry," <<$npc_firstname[$boy]>> says, looking bashful. "But at least you''re on birth control, right?"'
+					act'Relent':
+						cla & *clr
+						'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk5.jpg"></center>'
+						'A long sigh escapes your lips as they twist into begrudging smirk.'
+						'"I suppose that does make it a little less of a big deal."'
+						'<<$npc_firstname[$boy]>> smiles back, seeing he''s forgiven.'
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+				end
+				
+				if sex_ev['creampie_gross'] = 1:
+					act'Still doesn''t feel good (forgiving)':
+						cla & *clr
+						'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk5.jpg"></center>'
+						'"That doesn''t make it any less gross when you do it," you reply, unable to completely keep a growing smirk off your face. <<$npc_firstname[$boy]>> smiles back, seeing he''s forgiven.'
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+					
+					act'Still doesn''t feel good (annoyed)':
+						cla & *nl
+						'"My protection from pregnancy doesn''t make your cum inside me any less gross," you grumble in return.'
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+				end
+			else
+				'"Sorry," <<$npc_firstname[$boy]>> says, looking bashful.'
+				gs'sex_ev_pillow_talk', 'cant_believe_creampie_okay'
+				
+				if npc_know_bc[$boy] = 0:
+					act'Not as sorry as if you get pregnant':
+						cla & *nl
+						'"Not nearly as sorry as you''ll be if I get pregnant," you huff.' + iif(birth_control['think_safe'] = 1, ' Not that you <i>can</i> get pregnant. You''re on birth control after all. But <<$npc_firstname[$boy]>> doesn''t know that. And after this, he deserves to sweat it out.', '')
+						gs'sex_ev_pillow_talk', 'topic_route'
+					end
+				end
+			end
+				
+			if sex_ev['pullout_game'] = 1:
+				act'Never trusting him to pull out':
+					cla & *nl
+					if npc_pullout_failure[$boy] > 0:
+						'"I don''t know why I do this to myself. You <i>always</i> do this," you scowl bitterly. "I''m never trusting you to pull out again."'
+					else
+						'"I''m never trusting you to pull out again," you harrumph again.'
+					end
+					gs'sex_ev_pillow_talk', 'topic_route'
+				end
+			end
+		end
+	end
+end
+
+if $ARGS[0] = 'cant_believe_creampie_okay':
+	act'It''s okay':
+		cla & *clr
+		'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk5.jpg"></center>'
+		'A long sigh escapes your lips and your annoyance relents.'
+		act'Just an accident':
+			cla & *nl
+			'"It was just an accident I suppose," you say in a conciliatory tone. "I won''t blame you for it this time."'
+			gs'sex_ev_pillow_talk', 'topic_route'
+		end
+		if stat['dangerous_day'] ! 1 and birth_control['think_safe'] = 0:
+			act'You shouldn''t get pregnant':
+				cla & *nl
+				'"It''s okay. ' + iif(stat['safe_day'] = 1, 'It''s a safe day in my cycle. I won''t get pregnant."', 'It''s not a dangerous day in my cycle. I shouldn''t get pregnant."')
+				'You look over at <<$npc_firstname[$boy]>> with a small rueful smile.'
+				'"Guess we can just count ourselves lucky this time."'
+				'"Yeah," he nods, returning the small smile.'
+				gs'sex_ev_pillow_talk', 'topic_route'
+			end
+		end
+	end
+end
+
 if $ARGS[0] = 'ruined_makeup':
 	if pcs_makeup = 0 and sex_ev['starting_makeup'] > 1 and sex_ev['ruin_makeup'] = 0:
 		act'You ruined my makeup':
@@ -1752,7 +1908,7 @@ end
 !! ----------------------- CUM TALK --------------------------------------------
 
 if $ARGS[0] = 'so_many_creampies':
-	if sex_ev['creampie_count'] >= 4 and sex_ev['creampie_pillow_talk'] = 0:
+	if sex_ev['creampie_count'] >= 3 and sex_ev['creampie_pillow_talk'] = 0:
 		act'So many creampies':
 			gs'sex_ev_pillow_talk', 'talk_time_add'
 			sex_ev['creampie_pillow_talk'] = 1
@@ -1862,7 +2018,7 @@ if $ARGS[0] = 'first_creampie_shy':
 	if $npc_humor[$boy] = 'childish':
 		'"It''s not that you''re a dude, is it?" <<$npc_firstname[$boy]>> snickers.'
 	elseif $npc_humor[$boy] = 'perverted':
-		if sex_ev['cum_count'] >= npc_sexdrive[$boy]:
+		if sex_ev['fucked_out'] = 1:
 			'"Is it that you want to go another round? Cause I don''t think could manage that..." He grins in a way that makes his question come off more as a joke than a real ask.'
 		else
 			'"Is it that you want to go another round? Cause I think I could manage..." He grins in a way that makes his question come off more as a joke than a real ask.'
@@ -2163,7 +2319,7 @@ if $ARGS[0] = 'broken_creampie_rule':
 				act'If it''s already broken...':
 					cla & *nl
 					'"If I already broke the rule," you smile. "Then there''s no need to hold back anymore. More creampies for me."'
-					if sex_ev['cum_count'] < npc_sexdrive[$boy]:
+					if rand(1,10) < npc_sexdrive[$boy] and sex_ev['cum_count'] <= 5 + sex_ev['extra_cum']:
 						act'Continue':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/shared/sex/foreplay/miss3.jpg"></center>'
@@ -2261,7 +2417,7 @@ if $ARGS[0] = 'high_five2':
 	'<<$npc_firstname[$boy]>> holds up his hand up in the air, causing you to glance over at him.'
 	'"Come on," he says. "Don''t leave me hanging."'
 	act'Leave him hanging':
-		npc_rel[$boy] -= 2
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/after/pillow_talk_eyeroll.mp4"></video></center>'
 		'"Oh come on," you roll your eyes. "Have some class."'
@@ -2271,7 +2427,7 @@ end
 
 if $ARGS[0] = 'agree_high_five':
 	act'Agree (High five)':
-		npc_rel[$boy] += 2
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/after/high_five.mp4"></video></center>'
 		'"Hell yeah," you laugh, slapping against his hand with yours with a satisfying clap.'
@@ -2282,7 +2438,7 @@ end
 
 if $ARGS[0] = 'weird_high_five':
 	act'You''re weird (high five)':
-		npc_rel[$boy] += 2
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/after/high_five.mp4"></video></center>'
 		'"You''re weird," you say, giving him a look, but slap your hand against his anyways before sinking back into the bed.'
@@ -2293,7 +2449,7 @@ end
 
 if $ARGS[0] = 'fine_high_five':
 	act'Fine (High five)':
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/after/high_five.mp4"></video></center>'
 		'"Okay, <i>fine</i>," you say, rolling your eyes but reach over and slap your hand against his anyways, an amused smile on your face.'
@@ -2309,7 +2465,7 @@ if $ARGS[0] = 'couldnt_sleep_fuck':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 			'"So... couldn''t sleep?" you ask <<$npc_firstname[$boy]>> amusedly.'
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy]:
+			if sex_ev['cum_count'] >= 5:
 				'"Hard to sleep with my cock snuggled up against your ass," he grins.'
 				'"Easy to get hard you mean," you snicker.'
 			else

+ 21 - 21
locations/sex_ev_pillow_talk2.qsrc

@@ -571,9 +571,9 @@ if $ARGS[0] = 'cum_drip_tease':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 			if sex_ev['disco_after'] = 1:
-				'"Thinking about going to the disco later," you reply. "I wanna go dancing with your cum running down my thighs."'
+				'"Thinking about going to the disco later," you reply. "I want to dance with your cum running down my thighs."'
 			elseif sex_ev['club_after'] = 1:
-				'"Thinking about going clubbing later," you reply. "I wanna go dancing with your cum running down my thighs."'
+				'"Thinking about going clubbing later," you reply. "I want to dance  with your cum running down my thighs."'
 			end
 			'You give <<$npc_firstname[$boy]>> a mischievous smirk, rubbing your legs together where his cum still leaks from your snatch.'
 			gs'sex_ev_pillow_talk2', 'small_talk'
@@ -588,7 +588,7 @@ if $ARGS[0] = 'day_events':
 		gs'sex_ev_pillow_talk2', 'pc_plans_later'
 !!		gs'sex_ev_work_talk1', 'job_talk'
 	else
-		if npc_girlfriend[$boy] = 1 and npc_fidelity[$boy] = 6 and rand(1,3) = 1:
+		if npc_girlfriend[$boy] = 1 and ($npc_fidelity[$boy] = 'cheater' or $npc_fidelity[$boy] = 'open')  and rand(1,3) = 1:
 			'"Went on a date with my girlfriend," <<$npc_firstname[$boy]>> responds casually.'
 			act'Uncomfortable':
 				cla & *nl
@@ -676,7 +676,7 @@ if $ARGS[0] = 'dance_talk':
 		if $npc_humor[$boy] = 'perverted':
 			'"Is it the kind that requires a pole and ends with you naked?" he grins.'
 			act'Laugh':
-				npc_rel[$boy] += 2
+				gs 'npc_relationship', 'modify', $boy, 'like'
 				cla & *nl
 				'You giggle at his joke.'
 				if AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0:
@@ -690,7 +690,7 @@ if $ARGS[0] = 'dance_talk':
 			end
 			
 			act'Irritation':
-				npc_rel[$boy] -= 2
+				gs 'npc_relationship', 'modify', $boy, 'dislike'
 				cla & *nl
 				'"Don''t be gross," you scowl at him. "For your information we''re a dance troupe. And I don''t appreciate you making jokes about what we do."'
 				gs'sex_ev_pillow_talk2', 'small_talk'
@@ -753,7 +753,7 @@ if $ARGS[0] = 'dance_talk':
 				gs'sex_ev_pillow_talk2', 'small_talk'
 			end
 			act'Dance for him':
-				npc_rel[$boy] += 5
+				gs 'npc_relationship', 'modify', $boy, 'love'
 				cla & *clr
 				$sex_ev['bed_room']
 				'"Okay," you smile, slipping out of bed. What kind of dance should you show him?'
@@ -828,7 +828,7 @@ if $ARGS[0] = 'show_dance':
 	act'Want me to show you?':
 		sex_ev['get_up'] = 1
 		npc_seen_dance[$boy] = 1
-		npc_rel[$boy] += 5
+		gs 'npc_relationship', 'modify', $boy, 'love'
 		minut += 5
 		cla & *nl
 		'"Wanna see me dance?" you ask. "I can show you right now?"'
@@ -1011,11 +1011,11 @@ if $ARGS[0] = 'dick_talk':
 	if sex_ev['dick_play'] = 0:
 		sex_ev['dick_play'] = 1
 		if npc_dick_play[$boy] = 0:
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+			if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
 				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his cock in your hand, squeezing and playing with it between your fingers.'
 				'"If you''re trying to get me hard, I don''t think I can go again," he chuckles.'
-			elseif sex_ev['cum_count'] < npc_sexdrive[$boy]/2:
-				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his cock in your hand, squeezing and playing with it. It twitches under your touch, still rock hard in your grasp.'
+			elseif sex_ev['fucked_out'] = 0:
+				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his cock in your hand, squeezing and playing with it. It twitches under your touch, feeling like a big worm your grasp.'
 				'"You trying to get me hard again?" he snickers.'
 			else
 				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his cock in your hand, squeezing and playing with it. It twitches under your touch, still quite stiff in your grasp.'
@@ -1023,10 +1023,10 @@ if $ARGS[0] = 'dick_talk':
 			end
 			'"That''s not what I''m doing," you say, affectionately rolling your eyes. "I''m just... playing with it."'
 		else
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+			if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
 				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his flaccid cock in your hand, squeezing and playing with it between your fingers.'
 			elseif sex_ev['cum_count'] < npc_sexdrive[$boy]/2:
-				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his cock in your hand, squeezing and playing with it. It twitches under your touch, still rock hard in your grasp.'
+				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his cock in your hand, squeezing and playing with it. It twitches under your touch, soft and squishy between your fingers.'
 			else
 				'You reach over to <<$npc_firstname[$boy]>>, gently taking hold of his cock in your hand, squeezing and playing with it. It twitches under your touch, still quite stiff in your grasp.'
 			end
@@ -1053,7 +1053,7 @@ if $ARGS[0] = 'whats_it_like_dick':
 			cla & *clr
 			sex_ev['whats_it_like_dick_talk'] = 1
 			gs'sex_ev_pillow_talk2', 'dick_grab_image'
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+			if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] or sex_ev['fucked_out'] = 1:
 				'"What''s it like having a dick?" you ask, giving <<$npc_firstname[$boy]>>''s floppy meat a funny look as you fondle it.'
 			else
 				'"What''s it like having a dick?" you ask, giving <<$npc_firstname[$boy]>>''s stiff meat a funny look as you jerk it experimentally.'
@@ -1086,13 +1086,13 @@ if $ARGS[0] = 'dicks_are_weird':
 			cla & *clr
 			gs'sex_ev_pillow_talk2', 'dick_grab_image'
 			if sex_ev['fuck'] = 0:
-				if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+				if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] or sex_ev['fucked_out'] = 1:
 					'"Dicks are <i>so</i> weird," you say, experimentally squishing the flesh of his manhood between your fingers in bemusement. It twitches at your touch, causing you to pull back in alarm for a moment.'
 				else
 					'"Dicks are <i>so</i> weird," you say, experimentally squishing the hard flesh of his cock between your fingers in bemusement. It twitches at your touch, causing you to pull back in alarm for a moment.'
 				end	
 			else
-				if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+				if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] or sex_ev['fucked_out'] = 1:
 					'"Dicks are <i>so</i> weird," you say, experimentally squishing the flesh of his manhood between your fingers in bemusement. "It was so hard, now it''s so soft. I can''t believe I had this thing inside me..."'
 				else
 					'"Dicks are <i>so</i> weird," you say, experimentally gripping his stiff manhood in bemusement. It twitches at your touch, causing you to pull back in alarm for a moment. You look at it warily, mumbling, "How does it get so hard? I can''t believe I had this thing inside me..."'
@@ -1111,7 +1111,7 @@ if $ARGS[0] = 'dick_compliment':
 			act'You have a great dick':
 				cla & *clr
 				gs'sex_ev_pillow_talk2', 'dick_grab_image'
-				if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+				if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] or sex_ev['fucked_out'] = 1:
 					'"You have a great dick, you know that?" you say while giving <<$npc_firstname[$boy]>>''s soft floppy manhood an appreciative fondle.'
 				else
 					'"You have a great dick, you know that?" you say while giving <<$npc_firstname[$boy]>>''s stiff manhood an appreciative jerk.'
@@ -1183,7 +1183,7 @@ if $ARGS[0] = 'dick_compliment':
 				end
 			end
 			
-			if sex_ev['cum_count'] >= 5 and sex_ev['cum_count'] < npc_sexdrive[$boy] + sex_ev['extra_cum']:
+			if sex_ev['cum_count'] >= 3 and sex_ev['cum_count'] < 5 + sex_ev['extra_cum']:
 				act'How are you still hard?!':
 					cla & *clr
 					gs'sex_ev_pillow_talk2', 'dick_grab_image'
@@ -1262,8 +1262,8 @@ if $ARGS[0] = 'how_stay_hard':
 			cla & *clr
 			sex_ev['how_stay_hard_talk'] = 1
 			gs'sex_ev_pillow_talk2', 'dick_grab_image'
-			if sex_ev['cum_count'] < npc_sexdrive[$boy] + sex_ev['extra_cum']:
-				'"I don''t understand how you can stay hard without coming for so long," you murmur, marvelling at how hard <<$npc_firstname[$boy]>>''s member is inside your grip even now.'
+			if sex_ev['cum_count'] <= 5 + sex_ev['extra_cum'] and sex_ev['fucked_out'] = 0:
+				'"I don''t understand how you can stay hard without coming for so long," you murmur, marveling at how hard <<$npc_firstname[$boy]>>''s member is inside your grip even now.'
 			else
 				'"I don''t understand how you can stay hard without coming for so long," you murmur, almost unable to believe the floppy dick inside your grasp was the rock hard member inside you that went for minutes on end.'
 			end
@@ -1334,7 +1334,7 @@ if $ARGS[0] = 'morning_start_day':
 				end
 				
 				act'I know you like it':
-					npc_rel[$boy] += 2
+					gs 'npc_relationship', 'modify', $boy, 'like'
 					cla & *nl
 					'"I know you like doing it," you smile fondly. "It makes you happy, so it makes me happy too."'
 					gs'sex_ev_pillow_talk', 'topic_route'
@@ -1564,7 +1564,7 @@ end
 
 
 if $ARGS[0] = 'forgot_bc_talk1':
-	if sex_ev['forgot_bc'] = 1 and sex_ev['forgot_bc_chat'] = 0:
+	if sex_ev['forgot_bc'] = 1 and sex_ev['forgot_bc_chat'] = 0 and sex_ev['boy_in_shower'] ! 1:
 		act'Tell <<$npc_firstname[$boy]>> you forgot your birth control':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'

+ 38 - 10
locations/sex_ev_reactions.qsrc

@@ -113,14 +113,40 @@ end
 if $ARGS[0] = 'bask_satisfaction':
 	act'Quiet satisfaction':gt'sex_ev_reactions', 'bask_route'
 	
-	act'Catch your breath':sex_ev['catch_breath'] = 1 & gt'sex_ev_reactions', 'bask_route'
+	if sex_ev['catch_breath'] = 0:
+		act'Catch your breath':
+			sex_ev['catch_breath'] = 1
+			sex_ev['react'] = 0
+			sex_ev['did_we_cum_together'] = 0
+			cla & *clr
+			if sex_ev['orgasm'] < orgasm and sex_ev['cum_together_fake'] ! 1:
+				!! if Sveta came
+				if $sex_ev['last_cum'] = 'creampie':
+					gs 'sex_ev_reactions', 'bask_creampie1'
+				elseif $sex_ev['last_cum'] = 'condom':
+					gs 'sex_ev_reactions', 'bask_condom1'
+				else
+					gs 'sex_ev_reactions', 'bask_external_cum1'
+				end
+			else
+				if $sex_ev['last_cum'] = 'creampie':
+					gs 'sex_ev_reactions', 'bask_creampie2'
+				elseif $sex_ev['last_cum'] = 'condom':
+					gs 'sex_ev_reactions', 'bask_condom2'
+				else
+					gs 'sex_ev_reactions', 'bask_external_cum2'
+				end
+			end
+			gs'sex_ev_reactions', 'react_menu'
+		end
+	end
 end
 
 if $ARGS[0] = 'bask_route':
 	cla & *clr
 	minut += rand(1,3)
 	gs 'stat'
-	sex_ev['react'] = 1
+	if sex_ev['catch_breath'] = 0: sex_ev['react'] = 1
 	if sex_ev['orgasm'] < orgasm and sex_ev['cum_together_fake'] ! 1:
 		!! if Sveta came
 		if $sex_ev['last_cum'] = 'creampie':
@@ -529,7 +555,7 @@ if $ARGS[0] = 'why_not_inside':
 				'<center><img <<$set_imgh>> src="images/shared/sex/vag/cowgirl/3.jpg"></center>'
 			end
 			'"Aww," you moan. "What a waste. Why didn''t you come inside me?"'
-			if npc_childfree[$boy] > 0:
+			if npc_childfree[$boy] > 0 and npc_know_bc[$boy] ! 1:
 				if npc_know_not_bc[$boy] = 1:
 					if $npc_cum_pref[$boy] = 'creampie':
 						'"Just cause it feels good doesn''t mean I want to get you pregnant," <<$npc_firstname[$boy]>> says, frowning. "Didn''t you say you''re not on birth control?"'
@@ -546,7 +572,7 @@ if $ARGS[0] = 'why_not_inside':
 					
 					act'But it feels good':
 						cla & *nl
-						npc_rel[$boy] -= 1
+						gs 'npc_relationship', 'modify', $boy, 'dislike'
 						'"So?" you smile wryly. "Pleasure is pleasure. Not really thinking about the consequences right now."'
 						'"Maybe for you..."'
 						gs 'sex_ev_sex', 'sex_end'
@@ -554,7 +580,7 @@ if $ARGS[0] = 'why_not_inside':
 					
 					act'The risk makes it sexy':
 						cla & *nl
-						npc_rel[$boy] -= 2
+						gs 'npc_relationship', 'modify', $boy, 'dislike'
 						'"But that''s the best part," you grin. "The risk is what makes it exciting."'
 						'"Maybe for you..."'
 						gs 'sex_ev_sex', 'sex_end'
@@ -760,7 +786,7 @@ if $ARGS[0] = 'facial_happy_reacts':
 			sex_ev['react'] = 1
 			$sex_ev['facial_pic']
 			'"So, how do I look?" you ask, with a cum glazed smile.'
-			if npc_abusive[$boy] > 0 and rand(0,1) = 1:
+			if $npc_abusive[$boy] and rand(0,1) = 1:
 				'"Like a walking cumdumpster," <<$npc_firstname[$boy]>> snickers.'
 				act'Offended':
 					cla & *clr
@@ -884,7 +910,7 @@ if $ARGS[0] = 'facial_happy_reacts':
 				
 				act'Curious':
 					cla & *clr
-					'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/facial36.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/facial37.jpg"></center>'
 					'"Do guys really like doing this?" you ask with genuine curiosity, popping an eyebrow to look at <<$npc_firstname[$boy]>> through the cum glazing your face.'
 					if $npc_cum_pref[$boy] = 'facial':
 						'"Yeah," <<$npc_firstname[$boy]>> smiles back. "You have no idea how hot it is, seeing you with my cum all over your face."'
@@ -1338,6 +1364,7 @@ end
 if $ARGS[0] = 'no_tits_cum':
 	if $sex_ev['cum_choice'] = 'tits' and $sex_ev['last_cum'] ! 'tits':
 		act'Don''t cum on my tits':
+			cla
 			act'That''s gross':
 				cla & *nl
 				!! IMAGE HERE
@@ -1358,7 +1385,7 @@ end
 if $ARGS[0] = 'no_facial':
 	if $sex_ev['cum_choice'] = 'facial' and $sex_ev['last_cum'] ! 'facial' and $sex_ev['last_cum'] ! 'face_mouth':
 		act'Don''t cum on my face':
-		cla
+			cla
 			act'That''s gross':
 				cla & *nl
 				!! IMAGE HERE
@@ -1885,10 +1912,11 @@ if $ARGS[0] = '2pump_react2':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/misc/wait.mp4"></video></center>'
 			'"Now that that''s out of the way, you ready to go again?" you ask.'
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+			if (rand(1,10) >= npc_sexdrive[$boy] or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']) and sex_ev['boy_cum'] = 1:
 				gs 'sex_ev_after', 'fucked_out'
 			else
-				'<<$npc_firstname[$boy]>> nods back eagerly and starts working his cock with his hand, trying to get hard again.'
+				'"Yeah."'
+				'<<$npc_firstname[$boy]>> smiles warmly at you and you can see his cock already beginning to stiffen up again.'
 				gs'sex_ev_sex', 'reset'
 				gs'sex_ev_sex', 'sex_menu'
 			end

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 536 - 266
locations/sex_ev_reactions_creampie.qsrc


+ 112 - 62
locations/sex_ev_sex.qsrc

@@ -22,7 +22,7 @@ if $ARGS[0] = 'sex_start':
 	elseif sex_ev['cock_inserted'] = 1 and $sex_ev['last_cum'] = 'creampie' and ($sex_ev['position'] = 'miss' or  $sex_ev['position'] = 'doggy' or  $sex_ev['position'] = 'cowgirl'):
 		act'Fuck again':
 			sex_ev['must_fuck'] = 1
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+			if (rand(1,10) >= npc_sexdrive[$boy] or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']) and sex_ev['boy_cum'] = 1:
 				gs 'sex_ev_after', 'fucked_out'
 			else
 !!					cla & *nl
@@ -64,7 +64,7 @@ if $ARGS[0] = 'sex_start':
 		act'Fuck again':
 			cla
 			sex_ev['fuck_again'] = 1
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
+			if (rand(1,10) >= npc_sexdrive[$boy] or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']) and sex_ev['boy_cum'] = 1:
 				gs 'sex_ev_after', 'fucked_out'
 			else
 !!					cla & *clr
@@ -759,7 +759,7 @@ if $ARGS[0] = 'take_a_break':
 		if $sex_ev['last_cum'] = 'creampie':
 			if sex_ev['cock_inserted'] = 0:
 				'<center><img <<$set_imgh>> src="images/shared/sex/cum/vagcreampie/miss1.jpg"></center>'
-				gs 'sex_ev_sex', 'break_ask'
+				if sex_ev['need_break'] = 0: gs 'sex_ev_sex', 'break_ask'
 				*nl
 				'You flop down onto the bed beside <<$npc_firstname[$boy]>>, feeling his cum trickling from your pussy.'
 				*nl
@@ -773,7 +773,7 @@ if $ARGS[0] = 'take_a_break':
 				elseif $sex_ev['position'] = 'cowgirl':
 					'<center><img <<$set_imgh>> src="images/shared/sex/vag/cowgirl/1.jpg"></center>'
 				end
-				gs 'sex_ev_sex', 'break_ask'
+				if sex_ev['need_break'] = 0: gs 'sex_ev_sex', 'break_ask'
 				
 				act'Pull apart':
 					sex_ev['cock_inserted'] = 0
@@ -811,22 +811,24 @@ if $ARGS[0] = 'take_a_break':
 					gs 'sex_ev_sex', 'break_time'
 				end
 				
-				act'Stay like this':
-					cla & *nl
-					if $sex_ev['position'] = 'miss':
-						'You lay still, leaving <<$npc_firstname[$boy]>>''s occasionally twitching cock stuffed inside you, your pussy full of his cum, taking deep breaths as you wind down.'
-					elseif $sex_ev['position'] = 'doggy':
-						'You let your legs give out from under you, collapsing to the bed with <<$npc_firstname[$boy]>> still on top, his occasionally twitching cock stuffed inside you and your pussy full of his cum, taking deep breaths as you wind down.'
-					elseif $sex_ev['position'] = 'cowgirl':
-						'You collapse onto <<$npc_firstname[$boy]>>, feeling his breathing through your breasts pressed up against his chest and the occasional twitch of his cock still stuffed inside your pussy.'
-					end
-					*nl
-					if sex_ev['speed'] <= 2:
-						'The two of you just stay like that for a while, basking in the afterglow of your love-making.'
-					else
-						'The two of you just stay like that for a while, basking in the afterglow of your rough fucking.'
+				if sex_ev['need_break'] = 0:
+					act'Stay like this':
+						cla & *nl
+						if $sex_ev['position'] = 'miss':
+							'You lay still, leaving <<$npc_firstname[$boy]>>''s occasionally twitching cock stuffed inside you, your pussy full of his cum, taking deep breaths as you wind down.'
+						elseif $sex_ev['position'] = 'doggy':
+							'You let your legs give out from under you, collapsing to the bed with <<$npc_firstname[$boy]>> still on top, his occasionally twitching cock stuffed inside you and your pussy full of his cum, taking deep breaths as you wind down.'
+						elseif $sex_ev['position'] = 'cowgirl':
+							'You collapse onto <<$npc_firstname[$boy]>>, feeling his breathing through your breasts pressed up against his chest and the occasional twitch of his cock still stuffed inside your pussy.'
+						end
+						*nl
+						if sex_ev['speed'] <= 2:
+							'The two of you just stay like that for a while, basking in the afterglow of your love-making.'
+						else
+							'The two of you just stay like that for a while, basking in the afterglow of your rough fucking.'
+						end
+						gs 'sex_ev_sex', 'break_time'
 					end
-					gs 'sex_ev_sex', 'break_time'
 				end
 			end
 		elseif $sex_ev['last_cum'] = 'condom':
@@ -913,11 +915,27 @@ if $ARGS[0] = 'break_ask':
 end
 
 if $ARGS[0] = 'break_time':
-	if sex_ev['first_break'] = 0 or rand(1,3) < 3 or sex_ev['cum_count'] >= npc_sexdrive[$boy]:
-		sex_ev['first_break'] = 1
+	if sex_ev['first_break'] = 0 or rand(1,3) < 3 or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']:
+		if sex_ev['first_break'] = 0:
+			sex_ev['first_break'] = 1
+			sex_ev['extra_cum'] += 1
+		end
 		sex_ev['on_break'] = 1
 		gs 'sex_ev_after', 'stop_here'
-		gs 'sex_ev_sex', 'keep_going'
+		!!gs 'sex_ev_sex', 'keep_going'
+		act'Ready to go again?':
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/sex/misc/round2.mp4"></video></center>'
+			if sex_ev['need_break'] = 0:
+				'"You ready to go again?" you ask <<$npc_firstname[$boy]>>, flashing him a smile.'
+				'"Yeah," he grins back eagerly.'
+			else
+				'"You catch your breath yet?" you ask <<$npc_firstname[$boy]>>, flashing him a smile and glancing between his legs. His cock starts hardening up nicely and he grins back eagerly.'
+				'"Yeah, I''m ready."'
+			end
+			gs'sex_ev_sex', 'reset'
+			gs'sex_ev_sex', 'sex_menu'
+		end
 		act'Relax and talk':cla & gs'sex_ev_pillow_talk', 'topics'
 		gs 'sex_ev_sex', 'ciga_break'
 		gs 'sex_ev_sex', 'birth_control_take'
@@ -1102,6 +1120,12 @@ if $ARGS[0] = 'he_end_break':
 			'After a few minutes, you glance over at <<$npc_firstname[$boy]>> and find him hungrily staring at you with a raging erection. You realize what''s about to happen just before he jumps on top of you, eliciting a yelp of surprise from from your lips as flips you onto your stomach, pulls you up by the hips, and slaps your ass before plunging his cock into your pussy.'
 			gs'sex_ev_doggy', 'doggy_goto'
 		end
+	elseif sex_ev['need_break'] = 1:
+		cla & *clr
+		'<center><video autoplay loop src="images/shared/sex/misc/round2.mp4"></video></center>'
+		'"Okay, I think I''m ready to go again," <<$npc_firstname[$boy]>> says and starts working his cock with his hand. You grin back, watching it harden up, and soon enough you''re all over each other again.'
+		gs'sex_ev_sex', 'reset'
+		gs'sex_ev_sex', 'sex_menu'
 	elseif sex_ev['position_rand'] = 3 and sex_ev['must_fuck'] ! 1:
 		!! blowjob
 		'After a few minutes, you glance over at <<$npc_firstname[$boy]>> and find him hungrily staring at you.'
@@ -1122,52 +1146,72 @@ if $ARGS[0] = 'he_end_break':
 end
 
 if $ARGS[0] = 'keep_going':
-	act'Keep going?':
-		if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']:
-			gs 'sex_ev_after', 'fucked_out'
-		elseif $sex_ev['position'] = 'miss' or $sex_ev['position'] = 'doggy' or $sex_ev['position'] = 'cowgirl':
-			
-			minut += rand(1,2)
-			if sex_ev['boy_cocaine'] > 0:
+	if sex_ev['type'] ! 'prostitution_cust':
+		act'Keep going?':
+			if (rand(1,10) >= npc_sexdrive[$boy] or sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']) and sex_ev['boy_cum'] = 1:
+				sex_ev['boy_cum'] = 0
+				gs 'sex_ev_after', 'fucked_out'
+			elseif (rand(1,10) >= npc_sexdrive[$boy] or rand(1,10) >= npc_sex_stamina[$boy]) and sex_ev['boy_cocaine'] = 0 and sex_ev['boy_cum'] = 1:
+				sex_ev['need_break'] = 1
 				if sex_ev['cock_inserted'] = 1 and $sex_ev['last_cum'] = 'creampie':
 					cla & *nl
-					!!iif(sex_ev['on_break'] = 1'"Wanna keep going?" you ask, flexing your pussy around his cock. Having lost none of its hardness, it twitches inside you in response, causing you to grin. "That feels like a yes."'
-					'"Wanna keep going?" you ask, flexing your pussy around his cock. Having lost none of its hardness, it twitches inside you in response, causing you to grin. "That feels like a yes."'
+					'"Wanna keep going?" you ask, flexing your pussy around his cock.'
+					'"Maybe in a minute?" <<$npc_firstname[$boy]>> says, panting. "I think I might need a quick break..."'
+					'His request makes you flex again, only then noticing a certain <i>squishy</i> element to his cock. He must be getting soft.'
 				else
 					cla & *clr
-					'<center><video autoplay loop src="images/shared/sex/misc/wait.mp4"></video></center>'
+					$sex_ev['bed_room']
 					'"Wanna keep going?" you ask, looking over at <<$npc_firstname[$boy]>>.'
-					'"Fuck yes," he grins back, his cock still stiff as a rock despite having just come.'
-					!!act'Sex':cla & gs'sex_ev_sex', 'position_choose' & gs 'sex_ev_condoms', 'condoms'
+					'"Maybe in a minute?" <<$npc_firstname[$boy]>> says, panting. "I think I might need a quick break..."'
+					'It''s only then you see his cock softening before your eyes.'
 				end
-			else
-				if sex_ev['cock_inserted'] = 1 and $sex_ev['last_cum'] = 'creampie':
-					cla & *nl
-					'"Wanna keep going?" you ask, flexing your pussy around his cock. It twitches inside in response, feeling a little stiffer than before, causing you to grin. "That feels like a yes."'
+				'"Just give me a few minutes and I''ll get hard again," he smiles ruefully.'
+				sex_ev['boy_cum'] = 0
+				gs'sex_ev_sex', 'take_a_break'
+			elseif $sex_ev['position'] = 'miss' or $sex_ev['position'] = 'doggy' or $sex_ev['position'] = 'cowgirl':
+				minut += rand(1,2)
+				if sex_ev['boy_cocaine'] > 0:
+					if sex_ev['cock_inserted'] = 1 and $sex_ev['last_cum'] = 'creampie':
+						cla & *nl
+						!!iif(sex_ev['on_break'] = 1'"Wanna keep going?" you ask, flexing your pussy around his cock. Having lost none of its hardness, it twitches inside you in response, causing you to grin. "That feels like a yes."'
+						'"Wanna keep going?" you ask, flexing your pussy around his cock. Having lost none of its hardness, it twitches inside you in response, causing you to grin. "That feels like a yes."'
+					else
+						cla & *clr
+						'<center><video autoplay loop src="images/shared/sex/misc/round2.mp4"></video></center>'
+						'"Wanna keep going?" you ask, looking over at <<$npc_firstname[$boy]>>.'
+						'"Fuck yes," he grins back, his cock still stiff as a rock despite having just come.'
+						!!act'Sex':cla & gs'sex_ev_sex', 'position_choose' & gs 'sex_ev_condoms', 'condoms'
+					end
 				else
-					cla & *clr
-					'<center><video autoplay loop src="images/shared/sex/misc/wait.mp4"></video></center>'
-					'"Wanna keep going?" you ask, looking over at <<$npc_firstname[$boy]>>.'
-					'"Yeah, gimme a minute to get hard again," he grunts back, working himself with his hand to force some stiffness back into his cock.'
-					!!act'Sex':cla & gs'sex_ev_sex', 'position_choose' & gs 'sex_ev_condoms', 'condoms'
+					if sex_ev['cock_inserted'] = 1 and $sex_ev['last_cum'] = 'creampie':
+						cla & *nl
+						'"Wanna keep going?" you ask, flexing your pussy around his cock. It twitches inside in response, feeling a little stiffer than before, causing you to grin. "That feels like a yes."'
+					else
+						cla & *clr
+						!!'<center><video autoplay loop src="images/shared/sex/misc/wait.mp4"></video></center>'
+						'<center><img <<$set_imgh>> src="images/shared/sex/misc/smile.jpg"></center>'
+						'"Wanna keep going?" you ask, looking over at <<$npc_firstname[$boy]>>.'
+						'"Yeah, gimme a minute to get hard again," he grunts back, working himself with his hand to force some stiffness back into his cock.'
+						!!act'Sex':cla & gs'sex_ev_sex', 'position_choose' & gs 'sex_ev_condoms', 'condoms'
+					end
 				end
-			end
-			gs'sex_ev_sex', 'reset'
-			gs'sex_ev_sex', 'sex_menu'
-		else
-			cla & *clr
-			minut += rand(1,2)
-			'<center><video autoplay loop src="images/shared/sex/misc/wait.mp4"></video></center>'
-			'"Wanna keep going?" you ask eagerly.'
-			if $sex_ev['cum_choice'] ! '':
-				'"Yeah, gimme a minute to get hard again," he grunts back, working himself with his hand to force some stiffness back into his cock.'
+				gs'sex_ev_sex', 'reset'
+				gs'sex_ev_sex', 'sex_menu'
 			else
-				'"What do you have in mind?" <<$npc_firstname[$boy]>> grins back.'
+				cla & *clr
+				minut += rand(1,2)
+				'<center><video autoplay loop src="images/shared/sex/misc/wait.mp4"></video></center>'
+				'"Wanna keep going?" you ask eagerly.'
+				if $sex_ev['cum_choice'] ! '':
+					'"Yeah, gimme a minute to get hard again," he grunts back, working himself with his hand to force some stiffness back into his cock.'
+				else
+					'"What do you have in mind?" <<$npc_firstname[$boy]>> grins back.'
+				end
+				
+				gs'sex_ev_sex', 'reset'
+				gs'sex_ev_sex', 'sex_menu'
+				!!act'Sex':cla & gs'sex_ev_sex', 'position_choose' & gs 'sex_ev_condoms', 'condoms'
 			end
-			
-			gs'sex_ev_sex', 'reset'
-			gs'sex_ev_sex', 'sex_menu'
-			!!act'Sex':cla & gs'sex_ev_sex', 'position_choose' & gs 'sex_ev_condoms', 'condoms'
 		end
 	end
 end
@@ -1300,7 +1344,7 @@ if $ARGS[0] = 'harden_hand':
 		act'Try to get him hard again (hand)':
 			sex_ev['cock_inserted'] = 0
 			cla & *clr
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum'] and (sex_ev['force_harden'] >= 2 or rand(1,3) = 1):
+			if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] and (sex_ev['force_harden'] >= 2 or rand(1,3) = 1):
 				!! IMAGE HERE
 				$sex_ev['bed_room']
 				if sex_ev['force_harden'] > 0:
@@ -1348,7 +1392,7 @@ if $ARGS[0] = 'harden_mouth':
 	if $sex_ev['last_cum'] ! '':
 		act'Try to get him hard again (mouth)':
 			cla & *clr
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum'] and (sex_ev['force_harden'] >= 2 or rand(1,3) = 1):
+			if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] and (sex_ev['force_harden'] >= 2 or rand(1,3) = 1):
 				!! IMAGE HERE
 				$sex_ev['bed_room']
 				if sex_ev['force_harden'] > 0:
@@ -1436,6 +1480,8 @@ if $ARGS[0] = 'session_reset':
 	sex_ev['force_harden'] = 0
 	sex_ev['not_done'] = 0
 	sex_ev['boy_shower'] = 0
+	sex_ev['boy_in_shower'] = 0
+	sex_ev['fucked_out'] = 0
 	gs 'sex_ev_sex', 'reset'
 end
 
@@ -1497,14 +1543,17 @@ if $ARGS[0] = 'reset':
 	sex_ev['react'] = 0
 	sex_ev['force_initiative'] = 0
 	sex_ev['smoke_break'] = 0
-	sex_ev['first_break'] = 0
+	!!sex_ev['first_break'] = 0
 	sex_ev['cycle_limit'] = 0
 	sex_ev['extra_stim'] = 0
 	if sex_ev['consecutive_orgasm'] = 0: sex_ev['magik'] = pcs_magik
 	$sex_ev['reaction'] = ''
 	sex_ev['just_cum_inside_me'] = 0
 	sex_ev['take_in_stride'] = 0
-	sex_ev['sex_over'] = 0
+	if sex_ev['sex_over'] > 0:
+		sex_ev['sex_over'] = 0
+		sex_ev['round_count'] += 1
+	end
 	if sex_ev['no_condom'] = 1: sex_ev['condom'] = 0
 	sex_ev['good_for_you'] = 0
 	sex_ev['blowjob_switch'] = 0
@@ -1527,6 +1576,7 @@ if $ARGS[0] = 'reset':
 	sex_ev['pull-out_fail_react'] = 0
 	sex_ev['catch_breath'] = 0
 	if sex_ev['morning_after'] = 1 and sex_ev['morning_fuck'] = 0: sex_ev['morning_fuck'] = 1
+	sex_ev['need_break'] = 0
 end
 
 if $ARGS[0] = 'pain':

+ 17 - 4
locations/sex_ev_shower.qsrc

@@ -362,7 +362,7 @@ end
 !! --------------------------------- Shower Sex ---------------------------------------
 
 if $ARGS[0] = 'shower_sex_menu':
-	if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum'] or rand(1,10) > npc_sexdrive[$boy]:
+	if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] and rand(1,10) < npc_sexdrive[$boy]:
 		*nl
 		if sex_ev['sex_over'] = 0:
 			'<<$npc_firstname[$boy]>> grins back at you but doesn''t push for something more, seeming just be revving you up for the main event.'
@@ -392,7 +392,7 @@ if $ARGS[0] = 'shower_reach_cock':
 		'<center><video autoplay loop src="images/shared/sex/shower/jerkoff2.mp4"></video></center>'
 		'You allow the soap to slip from your fingers, instead snaking your hand down to wrap them around <<$npc_firstname[$boy]>>''s cock.'
 		*nl
-		if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum'] or rand(1,10) > npc_sexdrive[$boy]:
+		if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum'] or rand(1,10) > npc_sexdrive[$boy]:
 			'Unfortunately, if you wanted something more, it seems like you already took it out of him. No matter how you work it, his cock stays soft and squishy, though not for lack of enjoyment on his part judging by the groans your fingers elicit.'
 			gs 'sex_ev_shower', 'shower_together_end'
 		else
@@ -1041,6 +1041,19 @@ if $ARGS[0] = 'shower_together_end':
 				act'Take it to the bed':gt 'sex_ev_shower', 'before_to_the_bed'
 			end
 		end
+	elseif rand(1,10) < npc_sexdrive[$boy] and sex_ev['cum_count'] <= 5 + sex_ev['extra_cum']:
+		'"Want to go another round?" <<$npc_firstname[$boy]>> pants, grinning at you.'
+		act'No thanks':
+			cla & *nl
+			'"Sorry soldier," you smile back ruefully. "I''m all tapped out."'
+			act'Finish showering':gt 'sex_ev_shower', 'shower_together_towel'
+		end
+		
+		act'Another round':
+			cla & *nl
+			'"Yeah," you reply huskily and you quickly stumble from the bathroom together.'
+			act'Take it to the bed':gt 'sex_ev_shower', 'before_to_the_bed'
+		end
 	else
 		act'Finish showering':gt 'sex_ev_shower', 'shower_together_towel'
 		
@@ -1050,7 +1063,7 @@ end
 
 if $ARGS[0] = 'shower_together_ending_kiss':
 	act'Kiss him':
-		npc_rel[$boy] += 1
+		gs 'npc_relationship', 'modify', $boy, 'like'
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/shower/kiss2.mp4"></video></center>'
 		if sex_ev['orgasm'] < orgasm:
@@ -1123,7 +1136,7 @@ if $ARGS[0] = 'shower_together_towel':
 end
 
 if $ARGS[0] = 'before_to_the_bed':
-	gs'sex_ev_sex', 'reset'
+	gs'sex_ev_sex', 'session_reset'
 	cla & *clr
 	$sex_ev['bed_room']
 	'The two of you stumble out of the shower to the bed with hands all over each other. You hit the mattress uncaring of the excess moisture on your bodies and you''re soaking wet, in every sense of the word.'

+ 10 - 1
locations/sex_ev_start.qsrc

@@ -492,7 +492,16 @@ if $ARGS[0] = 'fb_invited_start':
 				end
 			end
 		end
-		
+		if $pantyworntype = 'none' and $braworntype = 'none':
+			act'Tell him you''re not wearing underwear':
+				cla & *clr
+				$sex_ev['bed_room']
+				'You step inside and draw close to <<$npc_firstname[$boy]>>. You lean in and whisper in his ear...'
+				*nl
+				'<i>"I''m not wearing any underwear."</i>'
+				act'Undress':gt 'sex_ev_start', 'undress'
+			end
+		end
 		if birth_control['think_safe'] = 1 and npc_know_bc[$boy] = 0:
 			act'Tell him you''re on birth control':
 				gs 'sex_ev_stats', 'birth_control_know'

+ 8 - 1
locations/sex_ev_stats.qsrc

@@ -48,6 +48,13 @@ if $ARGS[0] = 'starting_stats':
 		$npc_lovername2[$boy] = 'baby'
 	end
 	if npc_creampie_permission[$boy] = 1: sex_ev['creampie_allowance'] = 1
+	if birth_control['think_safe'] = 1:
+		if tabletkishot > 0:
+			$sex_ev['bc_type'] = 'shot'
+		else
+			$sex_ev['bc_type'] = ' pill'
+		end
+	end
 end
 
 if $ARGS[0] = 'save_stats':
@@ -91,7 +98,7 @@ if $ARGS[0] = 'save_stats':
 	npc_facial_count[$boy] += sex_ev['facial_count']
 	
 	!! number of times your fuckbuddy has cum on your tits
-	npc_creampie_count[$boy] += sex_ev['cum_tits']
+	npc_cum_tits_count[$boy] += sex_ev['cum_tits']
 	
 	!! number of times your fuckbuddy has pulled out
 	npc_pullout_count[$boy] += sex_ev['pullout_count']

+ 59 - 25
locations/sex_ev_talk.qsrc

@@ -16,8 +16,9 @@ if $ARGS[0] = 'boy_accidental_creampie':
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
 	end}
-	
-	if sex_ev['safe_day'] = 1:
+	if npc_know_bc[$boy] > 0:
+		gs'sex_ev_pillow_talk', 'topic_route'
+	elseif sex_ev['safe_day'] = 1:
 		if npc_childfree[$boy] = 1:
 			'"You said it''s a safe day for you, right?" <<$npc_firstname[$boy]>> asks.'
 			'"Mhm," you nod.'
@@ -698,16 +699,20 @@ if $ARGS[0] = 'creampie_permission_code':
 end
 
 if $ARGS[0] = 'creampie_permission1':
-	if npc_free_creampies < 1 and sex_ev['creampie_allowance'] = 0 and sex_ev['no_condom'] = 1:
-		act'"You can just come inside me" (free creampies)':
+	if npc_free_creampies[$boy] < 1 and npc_creampie_permission[$boy] < 1 and sex_ev['creampie_allowance'] = 0 and sex_ev['no_condom'] = 1:
+		act'"You don''t have to pull out" (free creampies)':
 			cla & *clr
 			if sex_ev['sex_over'] = 0:
-				if $sex_ev['position'] = 'miss':
-					'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/4.jpg"></center>'
-				elseif $sex_ev['position'] = 'doggy':
-					'<center><img <<$set_imgh>> src="images/shared/sex/cum/pullout_doggy1.jpg"></center>'
+				if $sex_ev['last_cum'] = 'pullout':
+					if $sex_ev['position'] = 'miss':
+						'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/4.jpg"></center>'
+					elseif $sex_ev['position'] = 'doggy':
+						'<center><img <<$set_imgh>> src="images/shared/sex/cum/pullout_doggy1.jpg"></center>'
+					else
+						'<center><img <<$set_imgh>> src="images/shared/sex/vag/cowgirl/smile1.jpg"></center>'
+					end
 				else
-					'<center><img <<$set_imgh>> src="images/shared/sex/vag/cowgirl/smile1.jpg"></center>'
+					$sex_ev['bed_room']
 				end
 			else
 				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
@@ -806,12 +811,12 @@ if $ARGS[0] = 'creampie_permission2':
 		gs'sex_ev_talk', 'topic_exit'
 	end
 	
-	act'"Just warn me"':
+	act'"Just ask first"':
 		npc_ask_creampie[$boy] = 1
 		npc_creampie_permission[$boy] = 2
 		sex_ev['creampie_allowance'] = 1
 		cla & *nl
-		'"Just warn me before you do," you chuckle in reply.'
+		'"Just ask before you do," you smile back teasingly. "Some warning would be appreciated."'
 		gs'sex_ev_talk', 'topic_exit'
 	end
 	
@@ -823,12 +828,22 @@ if $ARGS[0] = 'creampie_permission2':
 		gs'sex_ev_talk', 'topic_exit'
 	end
 	
-	act'On safe days':
-		npc_creampie_permission[$boy] = 1
-		sex_ev['creampie_allowance'] = 1
-		cla & *nl
-		'"On safe days anyways," you smile. "I''ll let you know when."'
-		gs'sex_ev_talk', 'topic_exit'
+	if birth_control['think_safe'] = 0:
+		act'On safe days':
+			npc_creampie_permission[$boy] = 1
+			sex_ev['creampie_allowance'] = 1
+			cla & *nl
+			'"On safe days anyways," you smile. "I''ll let you know when."'
+			gs'sex_ev_talk', 'topic_exit'
+		end
+	else
+		act'On birth control':
+			npc_creampie_permission[$boy] = 2
+			sex_ev['creampie_allowance'] = 1
+			cla & *nl
+			iif(npc_know_bc[$boy] = 0, '"I''m on birth control," you shrug. "Why should it matter?"', '"You know I''m on birth control anyways," you shrug. "So what''s the difference?"')
+			gs'sex_ev_talk', 'topic_exit'
+		end
 	end
 end
 
@@ -837,7 +852,7 @@ if $ARGS[0] = 'creampie_permission3':
 		cla & *nl
 		'"But it''ll feel good," you grin at him.'
 		if npc_childfree[$boy] > 0:
-			npc_rel[$boy] -= 1
+			gs 'npc_relationship', 'modify', $boy, 'dislike'
 			'"That doesn''t matter," <<$npc_firstname[$boy]>> scowls. "I don''t want kids."'
 			'"Ugh, boo. You''re no fun."'
 			gs'sex_ev_talk', 'topic_exit'
@@ -904,7 +919,7 @@ end
 if $ARGS[0] = 'forgot_bc_talk':
 	sex_ev['forgot_bc_chat'] = 1
 	if npc_childfree[$boy] > 0 and (npc_argumentative[$boy] > 0 or npc_abusive[$boy] > 0) and sex_ev['creampie_count'] > 0:
-		npc_rel[$boy] -= 10
+		gs 'npc_relationship', 'modify', $boy, 'dislike'
 		'"What the fuck?!" <<$npc_firstname[$boy]>> exclaims. "Are you fucking kidding me? How could you forget? You better not get pregnant on me. I am <i>not</i> having your fucking kids."'
 		act'Wallow':
 			cla & *nl
@@ -913,7 +928,7 @@ if $ARGS[0] = 'forgot_bc_talk':
 		end
 		
 		act'Tell him to fuck off':
-			npc_rel[$boy] -= 10
+			gs 'npc_relationship', 'modify', $boy, 'dislike'
 			sex_ev['angry_after'] = 1
 			cla & *nl
 			'"<i>''Your''</i> kids?" you say, glaring at him. "If I get pregnant, you''re not the one who''s gonna have to push your ugly baby out her pussy! Don''t try to make this about you. You can fuck off!"'
@@ -935,7 +950,7 @@ if $ARGS[0] = 'forgot_bc_talk':
 			
 			act'Morning after pill (fuck off)':
 				gs 'medical_din', 'morning_after_pill_function'
-				npc_rel[$boy] -= 10
+				gs 'npc_relationship', 'modify', $boy, 'dislike'
 				sex_ev['angry_after'] = 1
 				sex_ev['ma_pill'] = 2
 				cla & *nl
@@ -1322,7 +1337,7 @@ if $ARGS[0] = 'borrow_planb':
 				end
 				
 				if birth_control['think_safe'] = 1 and npc_selfish[$boy] = 1:
-					npc_rel[$boy] -= 2
+					gs 'npc_relationship', 'modify', $boy, 'dislike'
 					'"You want to spend my money on a ''just in case''? Fuck no! You can buy it yourself. If you can''t afford it, that''s what birth control is for in the first place."'
 					gs 'sex_ev_talk', 'borrow_money_exit'
 				elseif npc_childfree[$boy] = 1:
@@ -1534,7 +1549,6 @@ if $ARGS[0] = 'rape_explain2':
 
 end
 
-
 if $ARGS[0] = 'prostitution_payment':
 	if $npc_rel_type[$boy] = 'sugar_daddy' and sex_ev['sugar_daddy_paid'] = 0 and sex_ev['sex_over'] = 1:
 		act'Ask for your sugar money':
@@ -1546,8 +1560,7 @@ if $ARGS[0] = 'prostitution_payment':
 				'"Now that we''ve had our fun..." you smile sweetly. "And I did something for you... Don''t you have something for me...?"'
 				'You pout cutely, making doe eyes at <<$npc_firstname[$boy]>> who smiles back and reaches over to his wallet.'
 				'"Sure do," he says, pulling out <<npc_sugar_daddy_price[$boy] + sex_ev[''prostitution_bonus'']>><b>₽‎</b> in cash and handing it over to you. "There you go baby girl."'
-				'"Thank you daddy," you smile back and put the money away into your purse.'
-				gs 'sex_ev_after', 'relax_together'
+				gs 'sex_ev_talk', 'prostitution_payment_thank'
 			end
 			
 			act'Transactionally':
@@ -1593,4 +1606,25 @@ if $ARGS[0] = 'prostitution_payment':
 		end
 	end
 end
+
+if $ARGS[0] = 'prostitution_payment_thank':
+	act'Thank him':
+		cla & *nl
+		'"Thank you daddy," you smile back and put the money away into your purse.'
+		gs 'sex_ev_after', 'relax_together'
+	end
+!!{	
+	act'Kiss his cheek':
+		cla & *nl
+		'"Thank you daddy," you smile back and put the money away into your purse.'
+		gs 'sex_ev_after', 'relax_together'
+	end
+	
+	act'Kiss his lips':
+		cla & *nl
+		'"Thank you daddy," you smile back and put the money away into your purse.'
+		gs 'sex_ev_after', 'relax_together'
+	end
+	}
+end
 --- sex_ev_talk ---------------------------------

+ 115 - 66
locations/sex_ev_wakeup.qsrc

@@ -428,18 +428,27 @@ if $ARGS[0] = 'yawn_wake':
 			end
 			*nl
 			'Checking your phone, the time reads:'
-		else
+			*nl & gs'shortgs', 'calendar_display'
+		elseif sex_ev['boy_in_shower'] = 1:
 			gs'sex_ev_morning', 'npc_morning_shower_desc'
 			*nl
 			'Checking your phone, the time reads:'
+			*nl & gs'shortgs', 'calendar_display'
+		else
+			'You grope around for your phone and when you switch on the display the time reads:'
+			*nl & gs'shortgs', 'calendar_display'
+			*nl
+			'"Hey sleepyhead," <<$npc_firstname[$boy]>> smirks as he comes back into the room, a towel around his waist, hair still damp from the shower.'
 		end
 	elseif npc_latesleeper[$boy] = 1:
-		'<<$npc_firstname[$boy]>> is still completely passed out beside you, your movement not interrupting his snoring in the slightest.'
+		'<<$npc_firstname[$boy]>> is still completely passed out beside you, your movement not interrupting his snoring in the slightest. Groping around for your phone, the time reads:'
+		*nl & gs'shortgs', 'calendar_display'
 		sex_ev['boy_asleep'] = 1
 	else
 		'Your movement causes <<$npc_firstname[$boy]>> to stir as well, blinking his eyes open. Reaching down, you grab your phone and switch on the display.'
+		*nl & gs'shortgs', 'calendar_display'
 	end
-	gs'shortgs', 'calendar_display'
+	
 	if sex_ev['boy_make_breakfast'] = 1 and $sex_ev['loc'] ! 'hotel_room':
 		act'Finish waking up':gs'sex_ev_morning', 'breakfast_in_bed'
 		if npc_apt_type[$boy] > 2:
@@ -456,7 +465,7 @@ if $ARGS[0] = 'kiss_wake':
 			cla & *clr
 			gs'arousal', 'kiss', 1, 'no_orgasm_msg', $sex_ev['prostitution_flag']
 			sex_ev['boy_asleep'] = 0
-			npc_rel[$boy] += 1
+			gs 'npc_relationship', 'modify', $boy, 'like'
 			'<center><img <<$set_imgh>> src="images/shared/sex/kiss/bed1.jpg"></center>'
 			'You roll over onto <<$npc_firstname[$boy]>>, resting your breasts on his chest as you straddle him.'
 			'"Good <i>-mmmph-</i> morning," you murmur, planting a kiss on his lips.'
@@ -535,7 +544,7 @@ if $ARGS[0] = 'bj_wake':
 		
 		act'I''ll be fast':
 			sex_ev['morning_fuck'] = 1
-			if sex_ev['cum_count'] >= npc_sexdrive[$boy] + sex_ev['extra_cum']: sex_ev['extra_cum'] += npc_sexdrive[$boy]
+			if sex_ev['cum_count'] >= 5 + sex_ev['extra_cum']: sex_ev['extra_cum'] += 5
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/blowjob/bj48.mp4"></video></center>'
 			'You give <<$npc_firstname[$boy]>> one more good suck before you withdraw your lips to speak.'
@@ -546,7 +555,7 @@ if $ARGS[0] = 'bj_wake':
 		end
 	else
 		act'Stop':
-			npc_rel[$boy] -= 3
+			gs 'npc_relationship', 'modify', $boy, 'dislike'
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/sex/blowjob/bj48.mp4"></video></center>'
 			'You pull away, working his cock with your hand.'
@@ -619,7 +628,11 @@ end
 
 if $ARGS[0] = 'cumshot_wakeup1':
 	'<center><video autoplay loop src="images/shared/sex/sleep/cumshot_wake1.mp4"></video></center>'
-	'You gasp as you are suddenly awakened by the shock of liquid splashing across your skin. Your eyes flutter open just in time to see another spurt of cum exit <<$npc_firstname[$boy]>>''s cock and hit you square in the face.'
+	!!	if hangover ! daystart:
+		'You gasp as you are suddenly awakened by the shock of something wet spattering across your face. Your eyes flutter open just in time to see another spurt of cum exit <<$npc_firstname[$boy]>>''s cock and hit you square in the face.'
+	!!{else
+		'You are suddenly awakened by the shock of something wet spattering across your cheeks. Before you''ve even registered full consciousness, the spike of a sharp headache goes lancing through your brain. You groan in pain just in time for the next blast of <<$npc_firstname[$boy]>>''s cum splash into your mouth.'
+	end}
 	act'What the fuck!':
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/sleep/cumshot_wake2.mp4"></video></center>'
@@ -701,7 +714,7 @@ end
 !! ------------------------------------ Misc Stuff -------------------------------------------------------
 
 if $ARGS[0] = 'forgot_bc_pill':
-	if pilldaychk < daystart - 1 and birth_control['using_bc'] = 1:
+	if pilldaychk < daystart - 1 and birth_control['using_bc'] > 0:
 		act'Forgot your birth control':
 			$temp_loc = 'sex_ev_morning'
 			sex_ev['forgot_bc'] = 1
@@ -747,9 +760,10 @@ if $ARGS[0] = 'forgot_bc_pill':
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/after/wakeup_shock2.mp4"></video></center>'
 				'You sit up and start taking big deep breaths, forcing yourself to calm down and try to approach the situation logically.'
-				act'You can take a morning after pill':
-					cla & *nl
-					if sex_ev['creampie_count'] > 0:
+				
+				if sex_ev['creampie_count'] > 0:
+					act'You can take a morning after pill':
+						cla & *nl
 						if sex_ev['creampie_count'] > 5:
 							'Okay, so <<$npc_firstname[$boy]>> came inside you last night... <i>A lot.</i> But you can still take a morning after pill. Maybe it''ll be okay.'
 						elseif sex_ev['creampie_count'] > 1:
@@ -765,11 +779,18 @@ if $ARGS[0] = 'forgot_bc_pill':
 								'Actually, you have one in your bag. You could take it right now.'
 							end
 						end
+					end
+				else
+					if sex_ev['no_condom'] = 0:
+						$sex_ev['forgot_bc_act'] = 'You used condoms'
 					else
+						$sex_ev['forgot_bc_act'] = '<<$npc_firstname[$boy]>> didn''t come inside you'
+					end
+					act'<<$sex_ev[''forgot_bc_act'']>>':
 						if pharmacy_timers['birth_control'] > 0:
-							'<<$npc_firstname[$boy]>> didn''t come inside you yesterday, so you''re not in any real danger of getting pregnant right this second. But this breaks your streak. Aunt Luda said you need to take it every day or it won''t work. So if you take it now, does that mean you''re still not safe?'
+							'<<$npc_firstname[$boy]>> didn''t come inside you yesterday, so you''re not in any real danger of getting pregnant right this second.' + iif(sex_ev['no_condom'] = 0, ' Besides, you used condoms.', ' ') + 'But this breaks your streak. Aunt Luda said you need to take it every day or it won''t work. So if you take it now, does that mean you''re still not safe?'
 						else
-							'<<$npc_firstname[$boy]>> didn''t come inside you yesterday, so you''re not in any real danger of getting pregnant right this second. But does this mean you''ll need to wait a few days to build up the birth control in your system again? If you take your next pill now, does that mean you''re still not safe?'
+							'<<$npc_firstname[$boy]>> didn''t come inside you yesterday, so you''re not in any real danger of getting pregnant right this second.' + iif(sex_ev['no_condom'] = 0, ' Besides, you used condoms.', ' ') + 'But does this mean you''ll need to wait a few days to build up the birth control in your system again? If you take your next pill now, does that mean you''re still not safe?'
 						end
 					end
 					gs'sex_ev_wakeup', 'forgot_bc_pill2'
@@ -877,8 +898,8 @@ if $ARGS[0] = 'fucked_ex':
 end
 
 if $ARGS[0] = 'cheat_no_guilt_start':
-	if pcs_lover + pcs_girlfriends > 0:
-		if $boy ! 'one_of_svetas_lovers':
+	if pcs_lovers + pcs_girlfriends > 0:
+		if arrpos('$pcs_lover_arr', $boy) = -1:
 			if pcs_lover - pcs_girlfriends > 0:
 				act'Your boyfriend (no guilt)':$sex_ev['cheat'] = 'boyfriend' & gs'sex_ev_wakeup', 'cheat_no_guilt1'
 			end
@@ -896,7 +917,7 @@ if $ARGS[0] = 'cheat_no_guilt1':
 		cla & *clr
 		!! IMAGE HERE
 		'<i>Oops,</i> you think. <i>I think I just cheated on my <<$sex_ev[''cheat'']>>.</i>'
-		'But other than the intellectual realization, it''s little more than an intrusive thought.'
+		'The realization brings with it no guilt, to you this moment just as much of an oopsie as dropping a pencil.'
 		act'<i>Yawn</i>':gt'sex_ev_wakeup', 'yawn_wake'
 		gs'sex_ev_wakeup', 'kiss_wake'
 	end
@@ -953,6 +974,67 @@ if $ARGS[0] = 'guilt_start':
 	end
 end
 
+if $ARGS[0] = 'guilt_act_recount':
+	if sex_ev['bj'] > 0:'<i>Sucking his cock...</i>'
+	if $sex_ev['cum_choice'] = 'face': '<i>How he came on your face...</i>'
+	if $sex_ev['cum_choice'] = 'mouth': 
+		iif(sex_ev['swallow'] = 1, '<i>When you swallowed his cum...</i>', '<i>When he came in your mouth...</i>')
+	end
+	if sex_ev['fuck'] > 0:
+		if sex_ev['virgin'] = 1:
+			'<i>You gave him your virginity...</i>'
+		elseif $sex_ev['loc'] = 'npc_home':
+			'<i>Fucking him on his bed...</i>'
+		elseif $sex_ev['loc'] = 'pc_home':
+			'<i>Fucking him in your bed...</i>'
+		elseif $sex_ev['loc'] = 'hotel_room':
+			'<i>Fucking him in this hotel room...</i>'
+		end
+		
+		if $sex_ev['prostitution_flag'] ! 'prostitution':
+			if sex_ev['paid_no_condom'] = 1: 'You let him talk you into doing it without a condom...!'
+			if sex_ev['paid_free_creampies'] = 1: 'You even let him come inside you...!'
+		else
+			if sex_ev['out_of_condoms'] = 1 and sex_ev['condom_count'] > 3:
+				'<i>You did it so many times you ran out of condoms...</i>'
+			elseif sex_ev['no_condom'] = 1:
+				
+				'<i>You let him do it without a condom...</i>'
+			end
+		end
+	end
+	
+	if sex_ev['creampie_orgasm'] = 1:
+		'<i>You came together, orgasming as he filled you with his cum...</i>'
+	elseif sex_ev['creampie_orgasm'] >= 3:
+		'<i>How many times did you come together? How many orgasms came as he filled you with his cum...?</i>'
+	elseif sex_ev['simultaneous_orgasm_count'] = 1:
+		'<i>You had a simultaneous orgasm...</i>'
+	elseif sex_ev['simultaneous_orgasm_count'] >= 3 and sex_ev['no_condom'] ! 1:
+		'<i>How many times did you come together? How many orgasms came as he filled the condom inside you...?</i>'
+	else
+		if sex_ev['orgasm_count'] > 2:
+			'<i>He made you come so many times...</i>'
+		elseif sex_ev['orgasm_count'] > 0:
+			'<i>How he made you come...</i>'
+		end
+	
+		if sex_ev['creampie_count'] > 3:
+			'<i>The multiple loads of cum pumped into your pussy...</i>'
+		elseif sex_ev['creampie_count'] > 0:
+			'<i>When he came inside you...</i>'
+		end
+	end
+	
+	if birth_control['using_bc'] = 0 and birth_control['think_safe'] = 0 and sex_ev['no_condom'] ! 1:
+		if pillcon2 > 0:
+			'<i>And you stopped using birth control...</i>'
+		else
+			'<i>You''re not even on birth control...</i>'
+		end
+	end
+end
+
 if $ARGS[0] = 'cheat_guilt1':
 	cla & *nl
 	if $sex_ev['cheat'] = 'boyfriend' or $sex_ev['cheat'] = 'girlfriend':
@@ -974,51 +1056,7 @@ if $ARGS[0] = 'cheat_guilt1':
 			*nl
 			'Your thoughts wander through your night with <<$npc_firstname[$boy]>>...'
 			*nl
-			if sex_ev['bj'] > 0:'<i>Sucking his cock...</i>'
-			if sex_ev['fuck'] > 0:
-				if sex_ev['virgin'] = 1:
-					'<i>You gave him your virginity...</i>'
-				elseif $sex_ev['loc'] = 'npc_home':
-					'<i>Fucking him on his bed...</i>'
-				elseif $sex_ev['loc'] = 'pc_home':
-					'<i>Fucking him on your bed...</i>'
-				elseif $sex_ev['loc'] = 'hotel_room':
-					'<i>Fucking him in this hotel room...</i>'
-				end
-				
-				if sex_ev['out_of_condoms'] = 1 and sex_ev['condom_count'] > 3:
-					'<i>You did it so many times you ran out of condoms...</i>'
-				elseif sex_ev['no_condom'] = 1:
-					'<i>You didn''t even use condoms...</i>'
-				end
-			end
-			if sex_ev['creampie_orgasm'] = 1:
-				'<i>You came together, orgasming as he filled you with his cum...</i>'
-			elseif sex_ev['creampie_orgasm'] >= 3:
-				'<i>How many times did you come together? How many orgasms came being filled with his cum...?</i>'
-			elseif sex_ev['simultaneous_orgasm_count'] = 1:
-				'<i>You had a simultaneous orgasm...</i>'
-			elseif sex_ev['simultaneous_orgasm_count'] >= 3 and sex_ev['no_condom'] ! 1:
-				'<i>How many times did you come together? How many orgasms came as he filled the condom inside you...?</i>'
-			else
-				if sex_ev['orgasm_count'] > 5:
-					'<i>He made you come so many times...</i>'
-				elseif sex_ev['orgasm_count'] > 0:
-					'<i>How he made you come...</i>'
-				end
-			
-				if sex_ev['creampie_count'] > 3:
-					'<i>He filled you with his cum...</i>'
-				elseif sex_ev['creampie_count'] > 0:
-					'<i>And he came inside you...</i>'
-				end
-			end
-			
-			if $sex_ev['cum_choice'] = 'face': '<i>And he came on your face...</i>'
-			if $sex_ev['cum_choice'] = 'mouth': 
-				'<i>And he came in your mouth...</i>'
-				if sex_ev['swallow'] = 1:'<i>You even swallowed...</i>'
-			end
+			gs'sex_ev_wakeup', 'guilt_act_recount'
 			
 			if $sex_ev['prostitution_flag'] = 'prostitution':
 				*nl
@@ -1156,23 +1194,34 @@ if $ARGS[0] = 'guilt_prostitution1':
 				act'Sit up':
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/after/wakeup_shock2.mp4"></video></center>'
-					'You sit up, taking deep breaths as the guilt and shame course through your body as the memories wash over you.'
+					'You sit up, taking deep breaths as the guilt and shame course through your body as the memories of last night wash over you.'
 					*nl
 					'<i>I fucked someone for money...</i> you think.'
 					*nl
 					'You took his money and spread your legs...'
 					
-					if sex_ev['paid_no_condom'] = 1: 'You let him talk you into doing it without a condom...!'
-					if sex_ev['paid_free_creampies'] = 1: 'You even let him come inside you...!'
+					gs'sex_ev_wakeup', 'guilt_act_recount'
 					*nl
 					'Something so important and you just gave it away...'
 					*nl
 					'For what? Money...?'
+					gs'sex_ev_morning', 'morning_menu1'
 				end
 			end
 		else
 			act'You sold yourself again':
-			
+				cla & *nl
+				'<i>I just whored myself out...</i> you think to yourself. <i>Again.</i>'
+				act'Sit up':
+					cla & *clr
+					'<center><video autoplay loop src="images/shared/sex/after/wakeup_shock2.mp4"></video></center>'
+					'You sit up, taking deep breaths as the guilt and shame course through your body as the memories of last night wash over you.'
+					*nl
+					gs'sex_ev_wakeup', 'guilt_act_recount'
+					*nl
+					'For what? So you could earn a few more rubles...?'
+					gs'sex_ev_morning', 'morning_menu1'
+				end
 			end
 		end
 	end
@@ -1230,7 +1279,7 @@ if $ARGS[0] = 'guilt_virginity_end':
 		if npc_earlyriser[$boy] = 1:
 			!! for later: create option for him to burst in with breakfast in bed
 			if $sex_ev['loc'] = 'player_home':
-				sex_ev['npc_morning_shower'] = 1
+				sex_ev['boy_shower'] = 1
 				'The bed next to you is empty but you can hear water running through the wall. <<$npc_firstname[$boy]>> must be in the shower.'
 			else
 				gs'sex_ev_morning', 'npc_morning_shower_desc'

+ 1 - 1
locations/sex_ev_work_talk1.qsrc

@@ -57,7 +57,7 @@ if $ARGS[0] = 'whats_your_job':
 				cla & *nl
 				'"That''s cool. So, you give happy endings to dirty old guys?" you smirk, making a jerk-off motion with your hand.'
 				if npc_insecure[$boy] = 1:
-					npc_rel[$boy] -= 5
+					gs 'npc_relationship', 'modify', $boy, 'hate'
 					'"What the fuck?" <<$npc_firstname[$boy]>> gives you a deep frown of disgust. "What do you think I am, some kind of faggot?"'
 					'"I was just joking," you say.'
 					'"Jokes are supposed to be funny."'

+ 1 - 11
locations/stat.qsrc

@@ -966,17 +966,7 @@ stat['cuni'] += kuni & kuni = 0
 stat['anal_strap_give'] += pegging & pegging = 0
 
 !!Pain calculation
-
-paintmp1 = func('shortgs','modul',pain['head'],pain['hair'],pain['ears'],pain['eyebrows'],pain['eyes'],pain['cheeks'],pain['nose'],pain['mouth'])
-paintmp2 = func('shortgs','modul',pain['tummy'],pain['pubic'],pain['vaginal'],pain['labia'],pain['clitoris'],pain['urethra'],pain['cervix'],pain['lips'])
-paintmp3 = func('shortgs','modul',pain['throat'],pain['asscheeks'],pain['asshole'],pain['hips'],pain['thighs'],pain['legL'],pain['legR'],pain['feet'])
-paintmp4 = func('shortgs','modul',pain['toes'],pain['shoulders'],pain['armL'],pain['armR'],pain['hands'],pain['fingers'],pain['chest'],pain['breasts'])
-paintmp5 = func('shortgs','modul',pain['tongue'],pain['neck'],pain['back'],pain['nipples'],pain['ribs'],vgape * 8, agape * 10,spanked * 24)
-
-pain['total'] = func('shortgs','modul',paintmp1,paintmp2,paintmp3,paintmp4,paintmp5)
-
-if pain['total'] > 100: pain['total'] = 100
-pain['damage'] = pain['total']
+gs 'pain', 'calc'
 pain['relief'] = 0
 
 if alko > 9:

+ 1 - 1
locations/stat_display.qsrc

@@ -1014,7 +1014,7 @@ if cheatStatusIcons = 0:
 
 	$stat_brush_msg = 'Your hair is <<$pcs_hairbsh>>.'
 	if pcs_hairbsh <> 1 and mc_inventory['comb'] > 0 and menu_off = 0:
-		$statusIconBarTab += '<td><a href="exec: minut += min(15, max(1, pcs_hairlng / 80)) & pcs_hairbsh = 1 & gs ''stat''"><img title="<<stat_brush_msg<br>>>Click to brush it." height = <<set_siconht>> src="images/system/icons/status/hair_0.png"></a></td>'
+		$statusIconBarTab += '<td><a href="exec: minut += min(15, max(1, pcs_hairlng / 80)) & pcs_hairbsh = 1 & gs ''stat''"><img title="<<$stat_brush_msg>> Click to brush. It would take about <<min(15, max(1, pcs_hairlng / 80))>> minutes." height = <<set_siconht>> src="images/system/icons/status/hair_0.png"></a></td>'
 	else
 		$statusIconBarTab += '<td><a href="exec:msg $stat_brush_msg"><img title="<<$stat_brush_msg>>" height = <<set_siconht>> src="images/system/icons/status/hair_'+max(0, pcs_hairbsh)+'.png"></a></td>'
 	end

+ 1 - 0
locations/uni_lessons1.qsrc

@@ -305,6 +305,7 @@ if $ARGS[0] = 'teaching_methods_101':
 	end
 	act 'Daydream':
 		*clr & cla
+		pcs_sleep += rand(2,5)
 		'<center><img <<$set_imgh>> src="images/locations/city/island/university/classroom/sleep<<rand(1,3)>>.jpg"></center>'
 		'Mr. Pasternak is lecturing the class about exotic locations around the world. You close your eyes as you start to fantasize about these places.'
 		'You suddenly find yourself standing in front of a group of people with a globe. They tell you that you''re free to spin it and you''ll get to travel where it stops for free.'

+ 10 - 0
locations/wardrobe.qsrc

@@ -621,6 +621,16 @@ if $ARGS[0] = 'default_entry_wear':
 		cla & *clr
 		'<center><video autoplay loop src="images/locations/pavlovsk/trainstation/bimbo.strip6.mp4"/></center>'
 		'You pick up the outfit and think about trying them on... but you don''t really like wearing these type of outfits'
+		gs 'willpower', 'misc', 'resist', 'easy'
+		will_cost += hypnoTime
+		if will_cost <= pcs_willpwr:
+			act 'Put them on anyways (<<will_cost>> Willpower)':
+				gs 'willpower', 'pay', 'resist'
+				gt 'wardrobe', $wloc
+			end
+		else
+			act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+		end
 		act 'Strip out of restrictive clothing':
 			gs 'clothing', 'strip'
 			gs 'stat'

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