Pārlūkot izejas kodu

Merge branch 'Edited-QSP9' into Edited-TW

Stephan Fuchs 11 mēneši atpakaļ
vecāks
revīzija
9ad5ffc491
100 mainītis faili ar 425 papildinājumiem un 418 dzēšanām
  1. 5 0
      qrsc_to_tw.py
  2. 5 5
      sugarcube/src/autogenerated/events/abductionCustomer.tw
  3. 1 1
      sugarcube/src/autogenerated/events/actress/audition_sex1.tw
  4. 4 4
      sugarcube/src/autogenerated/events/bootycall/booty_call_after.tw
  5. 27 27
      sugarcube/src/autogenerated/events/bootycall/booty_call_condoms.tw
  6. 4 4
      sugarcube/src/autogenerated/events/bootycall/booty_call_cum.tw
  7. 4 4
      sugarcube/src/autogenerated/events/bootycall/booty_call_doggy.tw
  8. 6 6
      sugarcube/src/autogenerated/events/bootycall/booty_call_morning.tw
  9. 2 2
      sugarcube/src/autogenerated/events/bootycall/booty_call_pillow_talk.tw
  10. 7 7
      sugarcube/src/autogenerated/events/bootycall/booty_call_reactions.tw
  11. 2 2
      sugarcube/src/autogenerated/events/bootycall/booty_call_shower.tw
  12. 3 3
      sugarcube/src/autogenerated/events/bootycall/booty_call_start.tw
  13. 11 11
      sugarcube/src/autogenerated/events/bootycall/booty_call_talk.tw
  14. 2 2
      sugarcube/src/autogenerated/events/bootycall/booty_call_virgin.tw
  15. 18 18
      sugarcube/src/autogenerated/locations/city/city_jorahouse.tw
  16. 4 4
      sugarcube/src/autogenerated/locations/city/city_kavkazkafe.tw
  17. 2 2
      sugarcube/src/autogenerated/locations/city/city_park.tw
  18. 1 1
      sugarcube/src/autogenerated/locations/city/city_trashplace.tw
  19. 1 1
      sugarcube/src/autogenerated/locations/gadukino/gadukino.tw
  20. 6 6
      sugarcube/src/autogenerated/locations/pavlov/disco/pav_disco_sex.tw
  21. 3 3
      sugarcube/src/autogenerated/locations/pavlov/disco/pav_discoev1.tw
  22. 5 5
      sugarcube/src/autogenerated/locations/pavlov/pav_pharmacy.tw
  23. 1 1
      sugarcube/src/autogenerated/locations/stores/bank.tw
  24. 3 3
      sugarcube/src/autogenerated/npcs/artur/arturend.tw
  25. 8 6
      sugarcube/src/autogenerated/npcs/family/brother/brother.tw
  26. 2 2
      sugarcube/src/autogenerated/npcs/family/brother/brother2.tw
  27. 2 2
      sugarcube/src/autogenerated/npcs/family/brother/brother_shower_sex.tw
  28. 2 2
      sugarcube/src/autogenerated/npcs/family/brother/brother_voyeur_sex.tw
  29. 3 3
      sugarcube/src/autogenerated/npcs/family/mother/mother.tw
  30. 2 2
      sugarcube/src/autogenerated/npcs/family/mother/mother_sextalk.tw
  31. 9 9
      sugarcube/src/autogenerated/npcs/katja/KatjaHomeTalk.tw
  32. 8 8
      sugarcube/src/autogenerated/npcs/katja/katja_dorm.tw
  33. 2 2
      sugarcube/src/autogenerated/npcs/katja/katja_procedural.tw
  34. 2 2
      sugarcube/src/autogenerated/npcs/katja/katja_uni_sex.tw
  35. 6 6
      sugarcube/src/autogenerated/npcs/martin/MartinSex.tw
  36. 3 3
      sugarcube/src/autogenerated/npcs/rex/rex_party_sexEvents.tw
  37. 4 4
      sugarcube/src/autogenerated/npcs/school/Albina/albina_chat.tw
  38. 1 1
      sugarcube/src/autogenerated/npcs/school/Albina/albina_chat2.tw
  39. 3 3
      sugarcube/src/autogenerated/npcs/school/Albina/albina_starlets.tw
  40. 7 7
      sugarcube/src/autogenerated/npcs/school/Albina/albina_wine_event.tw
  41. 6 6
      sugarcube/src/autogenerated/npcs/school/Albina/albinahome.tw
  42. 1 1
      sugarcube/src/autogenerated/school/gschool_boys_bathroom.tw
  43. 1 1
      sugarcube/src/autogenerated/school/gschool_girls_bathroom.tw
  44. 3 3
      sugarcube/src/autogenerated/school/gschool_sex.tw
  45. 20 20
      sugarcube/src/autogenerated/start/city/intro_city_select.tw
  46. 23 23
      sugarcube/src/autogenerated/start/intro_sg_select.tw
  47. 3 3
      sugarcube/src/autogenerated/start/intro_sg_select_custom.tw
  48. 4 4
      sugarcube/src/autogenerated/unsorted/BDSM.tw
  49. 12 12
      sugarcube/src/autogenerated/unsorted/Cum_Manage.tw
  50. 1 1
      sugarcube/src/autogenerated/unsorted/Kwlake2.tw
  51. 1 1
      sugarcube/src/autogenerated/unsorted/ParkKafe.tw
  52. 3 3
      sugarcube/src/autogenerated/unsorted/Prostitute.tw
  53. 1 1
      sugarcube/src/autogenerated/unsorted/Voltrener - WIP.tw
  54. 6 6
      sugarcube/src/autogenerated/unsorted/Voltrenersex.tw
  55. 3 3
      sugarcube/src/autogenerated/unsorted/arousal.tw
  56. 3 3
      sugarcube/src/autogenerated/unsorted/blowPR.tw
  57. 5 5
      sugarcube/src/autogenerated/unsorted/buklinik_event.tw
  58. 1 1
      sugarcube/src/autogenerated/unsorted/burger.tw
  59. 8 8
      sugarcube/src/autogenerated/unsorted/cikl.tw
  60. 1 1
      sugarcube/src/autogenerated/unsorted/cum_call.tw
  61. 9 9
      sugarcube/src/autogenerated/unsorted/dinSex.tw
  62. 3 3
      sugarcube/src/autogenerated/unsorted/din_bad.tw
  63. 1 1
      sugarcube/src/autogenerated/unsorted/dinsexFX.tw
  64. 11 11
      sugarcube/src/autogenerated/unsorted/dreams.tw
  65. 3 3
      sugarcube/src/autogenerated/unsorted/eugeneev1.tw
  66. 3 3
      sugarcube/src/autogenerated/unsorted/event.tw
  67. 4 4
      sugarcube/src/autogenerated/unsorted/fbDormD.tw
  68. 4 4
      sugarcube/src/autogenerated/unsorted/fbHouse.tw
  69. 1 1
      sugarcube/src/autogenerated/unsorted/foto_events.tw
  70. 1 1
      sugarcube/src/autogenerated/unsorted/gdksport.tw
  71. 3 3
      sugarcube/src/autogenerated/unsorted/gevent.tw
  72. 12 12
      sugarcube/src/autogenerated/unsorted/gloryhole.tw
  73. 1 1
      sugarcube/src/autogenerated/unsorted/gopnew.tw
  74. 1 1
      sugarcube/src/autogenerated/unsorted/gopsex.tw
  75. 4 4
      sugarcube/src/autogenerated/unsorted/gopskver.tw
  76. 2 2
      sugarcube/src/autogenerated/unsorted/grigory.tw
  77. 1 1
      sugarcube/src/autogenerated/unsorted/home_activity.tw
  78. 2 2
      sugarcube/src/autogenerated/unsorted/hookup.tw
  79. 1 1
      sugarcube/src/autogenerated/unsorted/hookup_after.tw
  80. 3 3
      sugarcube/src/autogenerated/unsorted/hookup_morning.tw
  81. 2 2
      sugarcube/src/autogenerated/unsorted/hookup_sex.tw
  82. 7 7
      sugarcube/src/autogenerated/unsorted/hookup_talk.tw
  83. 1 1
      sugarcube/src/autogenerated/unsorted/husbSex.tw
  84. 2 2
      sugarcube/src/autogenerated/unsorted/kafesvid.tw
  85. 1 1
      sugarcube/src/autogenerated/unsorted/kit_din.tw
  86. 1 1
      sugarcube/src/autogenerated/unsorted/masseuse_work.tw
  87. 3 3
      sugarcube/src/autogenerated/unsorted/medical_din.tw
  88. 3 3
      sugarcube/src/autogenerated/unsorted/mey_tamara_events.tw
  89. 3 3
      sugarcube/src/autogenerated/unsorted/model_anastasia.tw
  90. 2 2
      sugarcube/src/autogenerated/unsorted/model_krystal.tw
  91. 8 8
      sugarcube/src/autogenerated/unsorted/pav_church2.tw
  92. 4 4
      sugarcube/src/autogenerated/unsorted/paysex.tw
  93. 2 2
      sugarcube/src/autogenerated/unsorted/placer_act.tw
  94. 1 1
      sugarcube/src/autogenerated/unsorted/placer_house_one.tw
  95. 4 4
      sugarcube/src/autogenerated/unsorted/pornfilm.tw
  96. 2 2
      sugarcube/src/autogenerated/unsorted/post_events.tw
  97. 1 1
      sugarcube/src/autogenerated/unsorted/praiders_garageev1.tw
  98. 6 6
      sugarcube/src/autogenerated/unsorted/prostitution_functions.tw
  99. 1 1
      sugarcube/src/autogenerated/unsorted/seeporn.tw
  100. 4 4
      sugarcube/src/autogenerated/unsorted/sex_ev_after.tw

+ 5 - 0
qrsc_to_tw.py

@@ -1241,12 +1241,17 @@ def cleanUpTheMess(output):
 
 	for get_set_variable in variables.get_set_variables:
 		output = re.sub(rf"<<set(?:init)?\s+{get_set_variable[0]}\s*=\s*(.*?)\s*>>",rf"<<run {get_set_variable[2]}>>",output)
+		if(len(get_set_variable) == 5):
+			output = re.sub(rf"<<set(?:init)?\s+{get_set_variable[0]}\s*\+=\s*(.*?)\s*>>",rf"<<run {get_set_variable[3]}>>",output)
+			output = re.sub(rf"<<set(?:init)?\s+{get_set_variable[0]}\s*\-=\s*(.*?)\s*>>",rf"<<run {get_set_variable[4]}>>",output)
 		#output = re.sub(rf"<<set(?:init)?\s+\${get_set_variable[0]}\s*-=\s*(.*?)\s*>>",rf"<<run $inventory.dec('{inventory_variable[1]}',\1)>>",output)
 		#output = re.sub(rf"<<set(?:init)?\s+\${get_set_variable[0]}\s*\+=\s*(.*?)\s*>>",rf"<<run $inventory.inc('{inventory_variable[1]}',\1)>>",output)
 		output = re.sub(rf"<<{get_set_variable[0]}>>",get_set_variable[1],output)
 		output = re.sub(rf"""getvar\("{get_set_variable[0]}"\)""",get_set_variable[1],output)
 		output = re.sub(rf"""{get_set_variable[0]}([^\w])""",rf"""{get_set_variable[1]}\1""",output)
 
+	for pgsvr in  variables.post_get_set_variables_replacements:
+		output = output.replace(pgsvr[0],pgsvr[1])
 
 	output = output.replace("$location_var[$here][0] == ''","!$location_var[$here][0]")
 

+ 5 - 5
sugarcube/src/autogenerated/events/abductionCustomer.tw

@@ -327,7 +327,7 @@
 	He pushes it in with a single long thrust that almost hits the bottom of your virgin cunt.
 	Pain rips through your body, spreading like a fire as a trickle of blood runs down the shaft of his cock.
 	<<set $pc.pcs_vag += 1>>
-	<<setinit $stat['vaginal'] += 1>>
+	<<run $pc.sexStatInc('vaginal','aware',1)>>
 	<<run $pc.painInc('vaginal',20)>>
 	<<run $pc.arouse('vaginal',5,undefined,['sub','maso','humiliation','rough','bound'])>>
 	<<actCLA 'Cry'>>
@@ -967,7 +967,7 @@
 		The customer cums inside you. When he pulls his cock out, his cum slowly drips out of your pussy.
 	<</if>>
 	<<set $pc.pcs_vag += 1>>
-	<<setinit $stat['vaginal'] += 1>>
+	<<run $pc.sexStatInc('vaginal','aware',1)>>
 	<<set $cumnostd = 1>>
 	<<gs 'cum_call' 'pussy' 'customer' $svol '' $spot>>
 	<<actCLA 'Continue'>>
@@ -1024,7 +1024,7 @@
 	<<set $pc.pcs_ass += 1>>
 	<<set $cumnostd = 1>>
 	<<gs 'cum_call' 'anus' $boy>>
-	<<setinit $stat['anal'] += 1>>
+	<<run $pc.sexStatInc('anal','aware',1)>>
 	<<if getvar("$buyout") == 1>>
 		<<actCLA 'Continue'>>
 			<<gt 'abductionCustomer' 'abdCustomer-buyout4'>>
@@ -1061,7 +1061,7 @@
 	<<set $mouth += 1>>
 	<<set $cumnostd = 1>>
 	<<gs 'cum_call' 'mouth' 'customer'>>
-	<<setinit $stat['throat'] += 1>>
+	<<run $pc.sexStatInc('throat','aware',1)>>
 	<<actCLA 'Continue'>>
 		<<gt 'abductionCustomer' 'abdCustomer-end'>>
 	<</actCLA>>
@@ -1084,7 +1084,7 @@
 	<<set $mouth += 1>>
 	<<set $cumnostd = 1>>
 	<<gs 'cum_call' 'face' 'customer'>>
-	<<setinit $stat['mouth'] += 1>>
+	<<run $pc.sexStatInc('mouth','aware',1)>>
 	<<actCLA 'Continue'>>
 		<<gt 'abductionCustomer' 'abdCustomer-end'>>
 	<</actCLA>>

+ 1 - 1
sugarcube/src/autogenerated/events/actress/audition_sex1.tw

@@ -98,7 +98,7 @@
 						<<gt 'audition_sex1' 'reluctant_bj2'>>
 					<</actCLA>>
 				<</actCLA>>
-				<<if getvar("$stat['vaginal']") == 0 and $will_cost <= $pc.pcs_willpwr>>
+				<<if $pc.sexStat('vaginal') == 0 and $will_cost <= $pc.pcs_willpwr>>
 					<<actCLA '"No! I`m a virgin!" (will_cost Willpower)'>>
 						<<setinit $audition['virgin_know'] = 1>>
 						<<image "locations/city/citycenter/aurora/auditions/room.jpg">>

+ 4 - 4
sugarcube/src/autogenerated/events/bootycall/booty_call_after.tw

@@ -792,7 +792,7 @@
 				<<actCLA 'Lick your fingers clean'>>
 					<<setinit $booty_call['cock_inserted'] = 0>>
 					<<gs 'cum_cleanup' 'cleanloc'>>
-					<<setinit $stat['swallow'] += 1>>
+					<<run $pc.sexStatInc('swallow','aware',1)>>
 					<<image "shared/sex/cum/lick_fingers.jpg">>
 					<p>Briefly making eye contact with <<=$npcs.get($boy,'firstname')>>, you use your fingers to gather up all the loose cum on you and stick out your tongue, running it up your hand, licking every drop from it and into your mouth. You give your hand a thorough tongue bath, sucking your fingers clean at the end. Once finished, you smack your lips, smiling at <<=$npcs.get($boy,'firstname')>> who stared at you the whole time.</p>
 					<<if getvar("$booty_call['he_cleaned']") == 0>>
@@ -1198,13 +1198,13 @@
 			<<setinit $booty_call['plan_b'] = 2>>
 			<<=$npcs.get($boy,'apt_bedroom')>>
 			<<if $pc.cumAtLocation(0) > 0>>
-				<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					<p>With <<=$npcs.get($boy,'firstname')>>'s cum still leaking from your pussy, you reach down to your purse and pull out the morning after pill Luda gave you.</p>
 				<<else>>
 					<p>With <<=$npcs.get($boy,'firstname')>>'s cum still leaking from your pussy, you reach down to your purse and pull out the morning after pill you keep inside.</p>
 				<</if>>
 			<<else>>
-				<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					You reach down to your purse and pull out the morning after pill Luda gave you.
 				<<else>>
 					You reach down to your purse and pull out the morning after pill you keep inside.
@@ -1217,7 +1217,7 @@
 <<if $location_var[$here][0] == 'plan_b2'>>
 	<<actCLA 'Take it shyly'>>
 		<p><<=$npcs.get($boy,'firstname')>> watches you pop the pill out of it's packaging and you can't help but blush beneath his gaze.</p>
-		<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+		<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 			"My aunt gave me this for emergencies," you say shyly, blush intensifying as you put it in your mouth and force it down with a dry swallow.
 		<<else>>
 			"The instructions say to take it as soon as possible for best effect," you smile shyly, blush intensifying as you put it in your mouth and force it down with a dry swallow.

+ 27 - 27
sugarcube/src/autogenerated/events/bootycall/booty_call_condoms.tw

@@ -457,12 +457,12 @@
 		<<=$npcs.get($boy,'apt_bedroom')>>
 		<<if $npcs.get($boy,'condom_rule') == 1>>
 			<p>"You know my rule," you say sternly. "We're not fucking without one!"</p>
-		<<elseif getvar("$stat['dangerous_day']") == 1 and getvar("$birth_control['think_safe']") != 1>>
+		<<elseif $pc.sexStat('dangerous_day') == 1 and getvar("$birth_control['think_safe']") != 1>>
 			<p>"I'm ovulating right now!" you say sternly. "I could get pregnant!</p>
 		<<else>>
 			"We're not fucking without one," you say sternly.
 		<</if>>
-		<<if getvar("$stat['dangerous_day']") == 1 and getvar("$birth_control['think_safe']") != 1 and $npcs.get($boy,'childfree') > 0>>
+		<<if $pc.sexStat('dangerous_day') == 1 and getvar("$birth_control['think_safe']") != 1 and $npcs.get($boy,'childfree') > 0>>
 			<<setinit $booty_call['condom'] = 1>>
 			<p>"What the fuck! Why didn't you say so!" he says, immediately reaching for a condom.</p>
 			<<actCLA 'Continue'>>
@@ -684,7 +684,7 @@
 				<<setinit $booty_call['disable_condoms_desc'] = '"Hey," you smile. "We don`t need to use condoms.'>>
 				<<gs 'booty_call_condoms' 'disable_condoms_options1'>>
 			<</actCLA>>
-			<<if getvar("$stat['dangerous_day']") != 1>>
+			<<if $pc.sexStat('dangerous_day') != 1>>
 				<<actCLA 'I'll tell you when it's safe'>>
 					<<setinit $booty_call['temp_bareback'] = 2>>
 					<<=$npcs.get($boy,'apt_bedroom')>>
@@ -898,14 +898,14 @@
 						Your smile breaks into a grin and he pulls you over, preparing to fuck you bareback.
 						<<gs 'booty_call_sex' 'position_choose'>>
 					<</actCLA>>
-				<<elseif getvar("$stat['safe_day']") == 1>>
+				<<elseif $pc.sexStat('safe_day') == 1>>
 					<<actCLA 'It`s a safe day'>>
 						<<setinit $booty_call['safe_day'] = 1>>
 						"Yeah."
 						<p>Your eyes meet for just a moment before <<=$npcs.get($boy,'firstname')>> begins clambering into position to fuck you bareback.</p>
 						<<gs 'booty_call_sex' 'position_choose'>>
 					<</actCLA>>
-				<<elseif getvar("$stat['probably_safe_day']") == 1>>
+				<<elseif $pc.sexStat('probably_safe_day') == 1>>
 					<<actCLA 'It`s probably safe day'>>
 						<<setinit $booty_call['probably_safe_day'] = 1>>
 						<<=$npcs.get($boy,'apt_bedroom')>>
@@ -928,11 +928,11 @@
 			<<if getvar("$mesec") > 0>>
 				"I'm on my period so... probably."
 				Your smile breaks into a grin and he pulls you over, preparing to fuck you bareback.
-			<<elseif getvar("$stat['safe_day']") == 1>>
+			<<elseif $pc.sexStat('safe_day') == 1>>
 				<<setinit $booty_call['safe_day'] = 1>>
 				"Yeah."
 				<p>Your eyes meet for just a moment before <<=$npcs.get($boy,'firstname')>> begins clambering into position to fuck you bareback.</p>
-			<<elseif getvar("$stat['probably_safe_day']") == 1>>
+			<<elseif $pc.sexStat('probably_safe_day') == 1>>
 				<<setinit $booty_call['probably_safe_day'] = 1>>
 				"Probably," you admit, your smile twisting into a smirk. His smile breaks into a grin and pulls you over, preparing to fuck you bareback.
 			<<else>>
@@ -988,14 +988,14 @@
 					"Let''s skip the condom today," you smile. "I don't think I can get pregnant on my period."
 					<<gs 'booty_call_condoms' 'npc_temp_no_condom_react'>>
 				<</actCLA>>
-			<<elseif getvar("$stat['safe_day']") == 1>>
+			<<elseif $pc.sexStat('safe_day') == 1>>
 				<<actCLA 'It`s a safe day'>>
 					<<setinit $booty_call['safe_day'] = 1>>
 					<<=$npcs.get($boy,'apt_bedroom')>>
 					"Let''s skip the condom," you smile. "It's a safe day for me. I won''t get pregnant."
 					<<gs 'booty_call_condoms' 'npc_temp_no_condom_react'>>
 				<</actCLA>>
-			<<elseif getvar("$stat['probably_safe_day']") == 1>>
+			<<elseif $pc.sexStat('probably_safe_day') == 1>>
 				<<actCLA 'It`s probably safe day'>>
 					<<setinit $booty_call['probably_safe_day'] = 1>>
 					<<=$npcs.get($boy,'apt_bedroom')>>
@@ -1090,21 +1090,21 @@
 	<p>"What do you mean 'should' be?" he asks.</p>
 <</if>>
 <<if $location_var[$here][0] == 'bareback_check'>>
-	<<if getvar("$stat['safe_day']") == 1>>
+	<<if $pc.sexStat('safe_day') == 1>>
 		<<actCLA 'No condoms today (safe)'>>
 			<<setinit $booty_call['safe_day'] = 1>>
 			<<setinit $booty_call['no_condom'] = 1>>
 			"It's safe," you smile. "Let''s go bareback."
 			<<gs 'booty_call_sex' 'position_choose'>>
 		<</actCLA>>
-	<<elseif getvar("$stat['probably_safe_day']") == 1>>
+	<<elseif $pc.sexStat('probably_safe_day') == 1>>
 		<<actCLA 'No condoms today (probably safe)'>>
 			<<setinit $booty_call['probably_safe_day'] = 1>>
 			<<setinit $booty_call['no_condom'] = 1>>
 			"Should be safe," you smile. "Let''s go bareback."
 			<<gs 'booty_call_sex' 'position_choose'>>
 		<</actCLA>>
-	<<elseif getvar("$stat['dangerous_day']") == 1>>
+	<<elseif $pc.sexStat('dangerous_day') == 1>>
 		<<actCLA 'No condoms today (risky)'>>
 			<<setinit $booty_call['danger_day'] = 1>>
 			"It probably isn''t safe today," you admit. "But I want to feel you. I want to go bareback."
@@ -1116,7 +1116,7 @@
 <</if>>
 <<if $location_var[$here][0] == 'need_condoms_today'>>
 	<<actCLA 'Need condoms today'>>
-		<<if getvar("$stat['dangerous_day']") == 1>>
+		<<if $pc.sexStat('dangerous_day') == 1>>
 			<<setinit $booty_call['danger_day'] = 1>>
 
 		<</if>>
@@ -1153,7 +1153,7 @@
 	<</actCLA>>
 <</if>>
 <<if $location_var[$here][0] == 'pc_dangerous_day'>>
-	<<if getvar("$stat['dangerous_day']") == 1 and getvar("$birth_control['think_safe']") != 1 and getvar("$succubusflag") != 1 and getvar("$booty_call['dangerous_day']") == 0 and getvar("$booty_call['safe_day']") == 0>>
+	<<if $pc.sexStat('dangerous_day') == 1 and getvar("$birth_control['think_safe']") != 1 and getvar("$succubusflag") != 1 and getvar("$booty_call['dangerous_day']") == 0 and getvar("$booty_call['safe_day']") == 0>>
 		<<actCLA 'Today is a dangerous day'>>
 			<<setinit $booty_call['danger_day'] = 1>>
 			<<setinit $booty_call['no_creampies_today'] = 1>>
@@ -1267,18 +1267,18 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'pc_safe_day'>>
-	<<if getvar("$stat['safe_day']") == 1 or getvar("$stat['probably_safe_day']") == 1 and getvar("$birth_control['think_safe']") != 1 and getvar("$succubusflag") != 1 and getvar("$booty_call['danger_day']") == 0 and getvar("$booty_call['safe_day']") == 0 and getvar("$booty_call['condom']") == 0>>
+	<<if $pc.sexStat('safe_day') == 1 or $pc.sexStat('probably_safe_day') == 1 and getvar("$birth_control['think_safe']") != 1 and getvar("$succubusflag") != 1 and getvar("$booty_call['danger_day']") == 0 and getvar("$booty_call['safe_day']") == 0 and getvar("$booty_call['condom']") == 0>>
 		<<if getvar("$mesec") > 0>>
 			<<setinit $booty_call['safe_day_act'] = 'I`m on my period'>>
 			<<setinit $booty_call['safe_day_desc1'] = 'I`m on my period'>>
 			<<setinit $booty_call['safe_day_creampie_desc'] = 'So you can come inside me today. I don`t think I can get pregnant on my period'>>
 			<<setinit $booty_call['safe_day_no_condom_desc'] = 'So we don`t need a condom. I don`t think I can get pregnant on my period'>>
-		<<elseif getvar("$stat['safe_day']") == 1>>
+		<<elseif $pc.sexStat('safe_day') == 1>>
 			<<setinit $booty_call['safe_day_act'] = 'Today is a safe day'>>
 			<<setinit $booty_call['safe_day_desc1'] = 'It`s a safe day'>>
 			<<setinit $booty_call['safe_day_creampie_desc'] = 'You can come inside me today'>>
 			<<setinit $booty_call['safe_day_no_condom_desc'] = 'We can skip the condom today'>>
-		<<elseif getvar("$stat['probably_safe_day']") == 1>>
+		<<elseif $pc.sexStat('probably_safe_day') == 1>>
 			<<setinit $booty_call['safe_day_act'] = 'I`m probably safe today'>>
 			<<setinit $booty_call['safe_day_desc1'] = 'It should be a safe day for me'>>
 			<<setinit $booty_call['safe_day_creampie_desc'] = 'I think it`ll be okay if you want to come inside me'>>
@@ -1290,11 +1290,11 @@
 				<<if getvar("$mesec") > 0>>
 					<p>"You can come inside me today," you smile at <<=$npcs.get($boy,'firstname')>>. "I don't think I can get pregnant on my period."</p>
 				<<else>>
-					<<if getvar("$stat['safe_day']") == 1>>
+					<<if $pc.sexStat('safe_day') == 1>>
 						<<setinit $booty_call['safe_day'] = 1>>
 
 					<</if>>
-					<<if getvar("$stat['probably_safe_day']") == 1>>
+					<<if $pc.sexStat('probably_safe_day') == 1>>
 						<<setinit $booty_call['probably_safe_day'] = 1>>
 
 					<</if>>
@@ -1370,7 +1370,7 @@
 <</if>>
 <<if $location_var[$here][0] == 'already_creampie1'>>
 	<!-- !! someone already came inside you earlier today so you throw caution to the wind-->
-	<<if $stat['last_creampie'] == $time.daystart>>
+	<<if $pc.sexStat('last_creampie')'last_creampie'== $time.daystart>>
 		<<if $npcs.get($boy,'bareback') != 1>>
 			<<actCLA 'Already been creampied today (go bareback)'>>
 				<<setinit $booty_call['no_condom'] = 1>>
@@ -1413,7 +1413,7 @@
 <</if>>
 <<if $location_var[$here][0] == 'already_creampie2'>>
 	<!-- !! someone already came inside you earlier today so you throw caution to the wind-->
-	<<if $stat['last_creampie'] == $time.daystart>>
+	<<if $pc.sexStat('last_creampie')'last_creampie'== $time.daystart>>
 		<<actCLA 'Already been creampied today  (go bareback)'>>
 			<<setinit $booty_call['no_condom'] = 1>>
 			"Well," you say with a wry smirk. "Seeing as someone else already came inside me today, it feels a little silly to worry about condoms. So yeah, fuck me bareback."
@@ -1536,12 +1536,12 @@
 			"I'm on my period so... probably."
 			Your smile breaks into a grin and he pulls you over, preparing to fuck you.
 			"Pump me full of cum," you giggle.
-		<<elseif getvar("$stat['safe_day']") == 1>>
+		<<elseif $pc.sexStat('safe_day') == 1>>
 			<<setinit $booty_call['safe_day'] = 1>>
 			"Yeah."
 			<p>Your eyes meet for just a moment before <<=$npcs.get($boy,'firstname')>> begins clambering into position to fuck you.</p>
 			"Pump me full of cum," you giggle.
-		<<elseif getvar("$stat['probably_safe_day']") == 1>>
+		<<elseif $pc.sexStat('probably_safe_day') == 1>>
 			<<setinit $booty_call['probably_safe_day'] = 1>>
 			"Probably," you admit, your smile twisting into a smirk.
 			His smile breaks into a grin and pulls you over, preparing to fuck you.
@@ -1774,7 +1774,7 @@
 			<<else>>
 				<p>"Were you expecting to lose your virginity today?"</p>
 			<</if>>
-			<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+			<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 				<<if $LudaQW['condom_give_day'] == $time.daystart>>
 					"My aunt gave it to me today," you mumble shyly. "I don't think she was expecting me to use it this soon though..."
 				<<elseif $LudaQW['condom_give_day'] >= $time.daystart - 7>>
@@ -1811,7 +1811,7 @@
 			<<gs 'booty_call_condoms' 'virgin_condom3'>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['safe_day']") == 1>>
+	<<if $pc.sexStat('safe_day') == 1>>
 		<<actCLA 'It`s a safe day'>>
 			<<setinit $booty_call['safe_day'] = 1>>
 			"It's a safe day," you add nervously. "I won''t get pregnant."
@@ -1823,7 +1823,7 @@
 			"And it's a safe day," you add hesitantly. "I won''t get pregnant if you... if you want to come inside me..."
 			<<gs 'booty_call_condoms' 'virgin_condom3'>>
 		<</actCLA>>
-	<<elseif getvar("$stat['probably_safe_day']") == 1>>
+	<<elseif $pc.sexStat('probably_safe_day') == 1>>
 		<<actCLA 'It`s probably safe today'>>
 			<<setinit $booty_call['probably_safe_day'] = 1>>
 			<p>"It's a safe-ish day," you add nervously. "I probably won't get pregnant."</p>
@@ -1835,7 +1835,7 @@
 			<p>"And it should be a safe-ish day," you add hesitantly. "I probably won't get pregnant if you... if you want to come inside me..."</p>
 			<<gs 'booty_call_condoms' 'virgin_condom3'>>
 		<</actCLA>>
-	<<elseif getvar("$stat['dangerous_day']") == 1>>
+	<<elseif $pc.sexStat('dangerous_day') == 1>>
 		<<actCLA 'Don`t come inside me (danger day)'>>
 			<<setinit $booty_call['danger_day'] = 1>>
 			"Just... don't come inside me," you add nervously. "It's a danger day for me..."

+ 4 - 4
sugarcube/src/autogenerated/events/bootycall/booty_call_cum.tw

@@ -440,7 +440,7 @@
 								<<gt 'booty_call_cum' 'cum_inside'>>
 							<</actCLA>>
 						<</actCLA>>
-					<<elseif getvar("$stat['safe_day']") == 1>>
+					<<elseif $pc.sexStat('safe_day') == 1>>
 						<<actCLA 'It`s a safe day'>>
 							<<setinit $booty_call['safe_day'] = 1>>
 							"It's a safe day," you smile at him. "Go ahead."
@@ -448,7 +448,7 @@
 								<<gt 'booty_call_cum' 'cum_inside'>>
 							<</actCLA>>
 						<</actCLA>>
-					<<elseif getvar("$stat['probably_safe_day']") == 1>>
+					<<elseif $pc.sexStat('probably_safe_day') == 1>>
 						<<actCLA 'It`s probably a safe day'>>
 							<<setinit $booty_call['probably_safe_day'] = 1>>
 							"It should be," you smile at him. "Go ahead."
@@ -842,7 +842,7 @@
 			The warm cum making contact with your tongue is the only thing left you need and you come with him, struggling to catch the rest of his load as you quiver in orgasm.
 		<</if>>
 		<<actCLA 'Gulp'>>
-			<<setinit $stat['swallow'] += 1>>
+			<<run $pc.sexStatInc('swallow','aware',1)>>
 			<<video "shared/sex/cum/facial/facial26.mp4">>
 			<<if $orgasm > $booty_call['orgasm']>>
 				<p>A few seconds go by and no more spurts of cum land on you so you close your mouth and swallow, gulping down the entire load. You pant heavily in the aftershocks of your orgasm, looking up at <<=$npcs.get($boy,'firstname')>> through cum-glazed eyes.</p>
@@ -1315,7 +1315,7 @@
 
 	<</if>>
 	<<setinit $booty_call['cum_pussy'] += 1>>
-	<<if getvar("$birth_control['think_safe']") == 0 and getvar("$stat['dangerous_day']") == 1>>
+	<<if getvar("$birth_control['think_safe']") == 0 and $pc.sexStat('dangerous_day') == 1>>
 		<<setinit $booty_call['risky_creampie'] += 1>>
 		<<run $npcs.inc($boy,'risky_creampie_count',1)>>
 	<</if>>

+ 4 - 4
sugarcube/src/autogenerated/events/bootycall/booty_call_doggy.tw

@@ -526,17 +526,17 @@
 					<<gs 'booty_call_cum' 'fuck_cum'>>
 				<</if>>
 			<</actCLA>>
-			<<if getvar("$WIP_enabled") > 0 and getvar("$stat['rape_count']") > 0 and getvar("$pcs_trait['repressed_trait']") == 0>>
+			<<if getvar("$WIP_enabled") > 0 and $pc.sexStat('rape_count') > 0 and getvar("$pcs_trait['repressed_trait']") == 0>>
 				<<actCLA 'Rape flashbacks'>>
 					<<setinit $booty_call['rape_flashback'] = 1>>
 					<<actCLA 'Hold it in'>>
 						<<video "shared/sex/vag/doggy/hard2.mp4">>
 						<<setinit $booty_call['rough_hurt'] = 1>>
-						<<if getvar("$stat['rape_count']") == 1>>
+						<<if $pc.sexStat('rape_count') == 1>>
 							Your arms give out from underneath you as you break down in terror, the memory of your rape explodes like a missile inside your mind. The images and sensations come flooding back to you, memories of your body being violated flashing before your eyes like a montage you can't turn off. But you hide it, burying your face into the mattress and gritting your teeth as you bite down on the sheets, stifling the scream that wants to escape your lips.
-						<<elseif getvar("$stat['rape_count']") < 5>>
+						<<elseif $pc.sexStat('rape_count') < 5>>
 							Your arms give out from underneath you as you break down in terror, the memories the several times you've been raped exploding like a missile inside your mind. The images and sensations come flooding back to you, memories of your body being violated flashing before your eyes like a montage you can't turn off. But you hide it, burying your face into the mattress and gritting your teeth as you bite down on the sheets, stifling the scream that wants to escape your lips.
-						<<elseif getvar("$stat['rape_count']") < 10>>
+						<<elseif $pc.sexStat('rape_count') < 10>>
 							Your arms give out from underneath you as you break down in terror, the memories the several times you've been raped exploding like a missile inside your mind. The images and sensations come flooding back to you, memories of your attackers all blurring together, combining into one horrible sensation like they're all violating you at once. But you hide it, burying your face into the mattress and gritting your teeth as you bite down on the sheets, stifling the scream that wants to escape your lips.
 						<<else>>
 							Your arms give out from underneath you as you break down in terror, reducing you to barely more than a shuddering mess as the trauma of your countless rapes threaten to overwhelm you. But you hide it, burying your face into the mattress and gritting your teeth as you bite down on the sheets, stifling the scream that wants to escape your lips.

+ 6 - 6
sugarcube/src/autogenerated/events/bootycall/booty_call_morning.tw

@@ -587,7 +587,7 @@
 			<<actCLA 'Take a morning after pill'>>
 				<<setinit $booty_call['plan_b'] = 2>>
 				<<=$npcs.get($boy,'apt_bedroom')>>
-				<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					You reach down to your purse and pull out the morning after pill Luda gave you, popping it from the packaging and swallowing it dry.
 				<<else>>
 					You reach down to your purse and pull out the morning after pill you keep inside, popping it from the packaging and swallowing it dry.
@@ -920,7 +920,7 @@ end} -->
 				<</if>>
 			<</if>>
 			<<if getvar("$morning_after_pill") > 0>>
-				<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					<p>Wait, don't you have that morning after pill Aunt Luda gave you?</p>
 				<<else>>
 					<p>Wait, don't you have a morning after pill in your bag?</p>
@@ -940,7 +940,7 @@ end} -->
 					<p>Okay, so <<=$npcs.get($boy,'firstname')>> came inside you last night... But only once. That's not too bad, right? Maybe you can still take a morning after pill. Maybe it'll be okay.</p>
 				<</if>>
 				<<if getvar("$morning_after_pill") > 0>>
-					<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+					<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 						Actually, you have the one Aunt Luda gave you. For emergencies she said...
 					<<else>>
 						Actually, you have one in your bag. You could take it right now.
@@ -1006,7 +1006,7 @@ end} -->
 <</if>>
 <<if $location_var[$here][0] == 'guilt1'>>
 	<<setinit $booty_call['guilt'] = 1>>
-	<<if getvar("$stat['bf_cheated_on']") <= 10>>
+	<<if $pc.sexStat('bf_cheated_on') <= 10>>
 		<<if $npcs.get($boy,'earlyriser') != 1>>
 			<<video "shared/sex/after/wakeup_shock1.mp4">>
 			You bolt upright as a lance of guilt pierces your chest.
@@ -1102,7 +1102,7 @@ end} -->
 		<<else>>
 			<i>You slut! What''s wrong with you? A committed relationship isn''t enough to satisfy you? Can't keep your legs closed? You're nothing but a filthy whore...</i>
 		<</if>>
-		<<if getvar("$stat['bf_cheated_on']") > 10>>
+		<<if $pc.sexStat('bf_cheated_on') > 10>>
 			You breathe deeply, letting the pain take its course, waiting for it to subside. It's nothing you haven''t felt before...
 		<</if>>
 		<<actCLA 'Continue'>>
@@ -1111,7 +1111,7 @@ end} -->
 	<</actCLA>>
 <</if>>
 <<if $location_var[$here][0] == 'guilt2'>>
-	<<if getvar("$stat['bf_cheated_on']") <= 10>>
+	<<if $pc.sexStat('bf_cheated_on') <= 10>>
 		The guilt doesn''t go away.
 	<<else>>
 		You breathe deeply, letting the pain take its course, waiting for it to subside. It's nothing you haven''t felt before...

+ 2 - 2
sugarcube/src/autogenerated/events/bootycall/booty_call_pillow_talk.tw

@@ -1190,7 +1190,7 @@
 			<<actCLA 'Take your morning after pill (shy)'>>
 				"It's okay," you say. "In fact..."
 				<p><<=$npcs.get($boy,'firstname')>> watches you reach into your purse and pull out your morning after pill and you can't help but blush beneath his gaze.</p>
-				<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					"My aunt gave me this for emergencies," you say shyly, blush intensifying as you put it in your mouth and force it down with a dry swallow.
 				<<else>>
 					"The instructions say to take it as soon as possible for best effect," you smile shyly, blush intensifying as you put it in your mouth and force it down with a dry swallow.
@@ -1203,7 +1203,7 @@
 				<p>As <<=$npcs.get($boy,'firstname')>> watches you pull your morning after pill from your purse, you give him a smouldering look. Sticking out your tongue at him, you pop the pill onto your mouth, swallowing with a wide grin.</p>
 				<<if $booty_call['last_cum'] == 'swallow'>>
 					"If only I thought to do this earlier," you grin. "Could''ve washed it down with your load."
-				<<elseif getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<elseif getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					"My aunt gave me this," you grin.
 					<p>"She sounds like a good aunt," <<=$npcs.get($boy,'firstname')>> smirks back. "Or a slutty one."</p>
 					"Kind of both actually," you say, causing both of you to laugh.

+ 7 - 7
sugarcube/src/autogenerated/events/bootycall/booty_call_reactions.tw

@@ -77,7 +77,7 @@
 <</if>>
 <<if $location_var[$here][0] == 'creampie_safe_day'>>
 	<<if getvar("$booty_call['safe_day']") == 0 and getvar("$booty_call['probably_safe_day']") == 0 and getvar("$booty_call['danger_day']") == 0 and getvar("$birth_control['think_safe']") != 1>>
-		<<if getvar("$stat['safe_day']") == 1>>
+		<<if $pc.sexStat('safe_day') == 1>>
 			<<actCLA 'It`s a safe day'>>
 				<<setinit $booty_call['safe_day'] = 1>>
 				<<actCLA 'Reassurance'>>
@@ -152,7 +152,7 @@
 					<</if>>
 				<</actCLA>>
 			<</actCLA>>
-		<<elseif getvar("$stat['probably_safe_day']") == 1>>
+		<<elseif $pc.sexStat('probably_safe_day') == 1>>
 			<<actCLA 'It should be a safe day'>>
 				<<setinit $booty_call['probably_safe_day'] = 1>>
 				<<actCLA 'Reassurance'>>
@@ -430,7 +430,7 @@
 	<<gs 'booty_call_sex' 'sex_end'>>
 <</if>>
 <<if $location_var[$here][0] == 'cum_together_no_bc1'>>
-	<<if getvar("$booty_call['creampie_ask']") == 0 and getvar("$booty_call['he_ask_creampie_yes']") != 1 and ($npcs.get($boy,'free_creampies') == 0 or ($npcs.get($boy,'free_creampies') == 1 and getvar("$stat['dangerous_day']") == 1))>>
+	<<if getvar("$booty_call['creampie_ask']") == 0 and getvar("$booty_call['he_ask_creampie_yes']") != 1 and ($npcs.get($boy,'free_creampies') == 0 or ($npcs.get($boy,'free_creampies') == 1 and $pc.sexStat('dangerous_day') == 1))>>
 		<<actCLA 'Be careful (pregnancy)'>>
 			<<if getvar("$pillcon2") > 0>>
 				<<actCLA 'Not effective yet (not mad)'>>
@@ -1501,9 +1501,9 @@
 					<</actCLA>>
 				<</actCLA>>
 			<</if>>
-			<<if getvar("$booty_call['danger_day']") == 1 or getvar("$stat['dangerous_day']") == 1>>
+			<<if getvar("$booty_call['danger_day']") == 1 or $pc.sexStat('dangerous_day') == 1>>
 				<<actCLA 'Danger day'>>
-					<<if getvar("$stat['dangerous_day']") == 1>>
+					<<if $pc.sexStat('dangerous_day') == 1>>
 						<<setinit $booty_call['danger_day'] = 1>>
 						<<actCLA '(Apologetic)'>>
 							<<gs 'booty_call_reactions' 'no_cum_inside_pic'>>
@@ -2021,8 +2021,8 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['safe_day']") == 1 and getvar("$booty_call['safe_day']") == 0>>
-	<<elseif getvar("$stat['probably_safe_day']") == 1 and getvar("$booty_call['probably_safe_day']") == 0>>
+	<<if $pc.sexStat('safe_day') == 1 and getvar("$booty_call['safe_day']") == 0>>
+	<<elseif $pc.sexStat('probably_safe_day') == 1 and getvar("$booty_call['probably_safe_day']") == 0>>
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'creampie_accident_birth_control'>>

+ 2 - 2
sugarcube/src/autogenerated/events/bootycall/booty_call_shower.tw

@@ -816,7 +816,7 @@
 	<<actCLA 'Jerk him off'>>
 		<<gt 'booty_call_shower' 'after_shower_fuck_jerkoff'>>
 	<</actCLA>>
-	<<if getvar("$booty_call['condom']") > 0 or getvar("$stat['dangerous_day']") > 0>>
+	<<if getvar("$booty_call['condom']") > 0 or $pc.sexStat('dangerous_day') > 0>>
 		<<actCLA 'Not inside!'>>
 			<<setinit $booty_call['not_inside'] = 1>> <<gt 'booty_call_shower' 'after_shower_fuck_jerkoff'>>
 		<</actCLA>>
@@ -1413,7 +1413,7 @@
 	<<actCLA 'Jerk him off'>>
 		<<gt 'booty_call_shower' 'morning_shower_fuck_jerkoff'>>
 	<</actCLA>>
-	<<if getvar("$booty_call['condom']") > 0 or getvar("$stat['dangerous_day']") > 0>>
+	<<if getvar("$booty_call['condom']") > 0 or $pc.sexStat('dangerous_day') > 0>>
 		<<actCLA 'Not inside!'>>
 			<<setinit $booty_call['not_inside'] = 1>> <<gt 'booty_call_shower' 'morning_shower_fuck_jerkoff'>>
 		<</actCLA>>

+ 3 - 3
sugarcube/src/autogenerated/events/bootycall/booty_call_start.tw

@@ -194,7 +194,7 @@
 			<<gs 'booty_call_start' 'fuck_or_what'>>
 			<<gs 'booty_call_shower' 'before_borrow_shower'>>
 		<</actCLA>>
-		<<if $stat['dance_day'] == $time.daystart>>
+		<<if $pc.sexStat('dance_day')'dance_day'== $time.daystart>>
 			<<actCLA 'Came from dance'>>
 				"I came straight from dance practice," you shrug.
 				<p>"And you couldn't take a shower first?"</p>
@@ -209,7 +209,7 @@
 		gs 'booty_call_start', 'couldnt_wait'
 		gs 'booty_call_shower', 'before_borrow_shower'
 		end} -->
-		<<if $stat['volleyball_day'] == $time.daystart>>
+		<<if $pc.sexStat('volleyball_day')'volleyball_day'== $time.daystart>>
 			<<actCLA 'Came from volleyball'>>
 				"I came straight from volleyball practice," you shrug.
 				<p>"And you couldn't take a shower first?"</p>
@@ -217,7 +217,7 @@
 				<<gs 'booty_call_shower' 'before_borrow_shower'>>
 			<</actCLA>>
 		<</if>>
-		<<if $stat['run_day'] == $time.daystart>>
+		<<if $pc.sexStat('run_day')'run_day'== $time.daystart>>
 			<<actCLA 'I was running'>>
 				"I was on a run when I saw your message," you shrug.
 				<p>"And you couldn't take a shower first?"</p>

+ 11 - 11
sugarcube/src/autogenerated/events/bootycall/booty_call_talk.tw

@@ -28,7 +28,7 @@
 	<<if getvar("$birth_control['think_safe']") == 1>>
 		<<gs 'booty_call_pillow_talk' 'on_birth_control'>>
 	<<else>>
-		<<if getvar("$stat['safe_day']") == 1>>
+		<<if $pc.sexStat('safe_day') == 1>>
 			<<actCLA 'I should be'>>
 				<<if $booty_call['convo'] == 'used_all_condoms'>>
 					"It's a safe day," you nod. "I should be okay. This time anyways," you smile teasingly.
@@ -37,7 +37,7 @@
 				<</if>>
 				<<gs 'booty_call_pillow_talk' 'topics'>>
 			<</actCLA>>
-		<<elseif getvar("$stat['probably_safe_day']") == 1>>
+		<<elseif $pc.sexStat('probably_safe_day') == 1>>
 			<<actCLA 'I think so'>>
 				<<if $booty_call['convo'] == 'used_all_condoms'>>
 					"I think so," you say. "It <i>should</i> be a safe day for me as long as I'm keeping track of my cycle correctly..."
@@ -47,7 +47,7 @@
 				<<gs 'booty_call_pillow_talk' 'topics'>>
 			<</actCLA>>
 		<<else>>
-			<<if getvar("$stat['dangerous_day']") == 1>>
+			<<if $pc.sexStat('dangerous_day') == 1>>
 				<<actCLA 'Probably not'>>
 					<<if $booty_call['convo'] == 'used_all_condoms'>>
 						"Probably not..." you say hesitantly, grimacing as you do. "Which is why it's so important we don't run out of condoms in the future...
@@ -101,7 +101,7 @@
 	<<if getvar("$birth_control['think_safe']") == 1>>
 		<<gs 'booty_call_pillow_talk' 'on_birth_control'>>
 	<<else>>
-		<<if getvar("$stat['safe_day']") == 1>>
+		<<if $pc.sexStat('safe_day') == 1>>
 			<<actCLA 'It`s a safe day'>>
 				<<if $booty_call['convo'] == 'used_all_condoms'>>
 					"It's a safe day," you nod. "I should be okay. This time anyways," you smile teasingly.
@@ -110,7 +110,7 @@
 				<</if>>
 				<<gs 'booty_call_pillow_talk' 'topics'>>
 			<</actCLA>>
-		<<elseif getvar("$stat['probably_safe_day']") == 1>>
+		<<elseif $pc.sexStat('probably_safe_day') == 1>>
 			<<actCLA 'I think so'>>
 				<<if $booty_call['convo'] == 'used_all_condoms'>>
 					"I think so," you say. "It <i>should</i> be a safe day for me as long as I'm keeping track of my cycle correctly..."
@@ -677,11 +677,11 @@
 <</if>>
 <<if $location_var[$here][0] == 'rape_explain'>>
 	<<=$npcs.get($boy,'apt_bedroom')>>
-	<<if getvar("$stat['rape_count']") == 1>>
+	<<if $pc.sexStat('rape_count') == 1>>
 		<p><<=$npcs.get($boy,'firstname')>> stops in shock wondering what has just come over you as your body convulses in uncontrollable sobs. The images and sensations of that time come flooding back to you, invading your mind. It's as if you're back in that moment, being violated all over again.</p>
-	<<elseif getvar("$stat['rape_count']") < 5>>
+	<<elseif $pc.sexStat('rape_count') < 5>>
 		<p><<=$npcs.get($boy,'firstname')>> stops in shock wondering what has just come over you as your body convulses in uncontrollable sobs. The images and sensations come flooding back to you, invading your mind. The memories of your various attackers won't stop flashing before your eyes, memories of your body being violated like a montage you can't escape.</p>
-	<<elseif getvar("$stat['rape_count']") < 10>>
+	<<elseif $pc.sexStat('rape_count') < 10>>
 		<p><<=$npcs.get($boy,'firstname')>> stops in shock wondering what has just come over you as your body convulses in uncontrollable sobs. Images and sensations flood through you, invading your mind. The memories of your attackers all blur together, combining into one horrible sensation like they're all violating you at once.</p>
 	<<else>>
 		<p><<=$npcs.get($boy,'firstname')>> stops in shock wondering what has just come over you as your body convulses in uncontrollable sobs. Images and sensations flood through you, invading your mind. Your countless rapes leave you a shuddering mess as the trauma threatens to overwhelm you.</p>
@@ -694,11 +694,11 @@
 		<<run $npcs.set($boy,'knows_rape_victim',1)>>
 		<<image "shared/sex/after/pillow_talk1.jpg">>
 		<p>You crawl up beside <<=$npcs.get($boy,'firstname')>>, still shivering as you wipe the tears from your eyes that won't stop flowing.</p>
-		<<if getvar("$stat['rape_count']") == 1>>
+		<<if $pc.sexStat('rape_count') == 1>>
 			"Listen," you sniff, rubbing your hand across your cheek again. "I was raped once... It was awful and horrible and I... well I... I had a flashback about it just now..."
-		<<elseif getvar("$stat['rape_count']") < 5>>
+		<<elseif $pc.sexStat('rape_count') < 5>>
 			"I've never told you this but..." you sniff, rubbing your hand across your cheek again. "I've been raped... Several times... and I... I had flashbacks just now..."
-		<<elseif getvar("$stat['rape_count']") < 10>>
+		<<elseif $pc.sexStat('rape_count') < 10>>
 			"I've never told you this but..." you sniff, rubbing your hand across your cheek again. "I've been raped... More than a few times... and I... I had flashbacks just now..."
 		<<else>>
 			"I've never told you this but..." you sniff, rubbing your hand across your cheek again. "I've been raped... A lot... I don't know why it keeps happening but I've been raped so many times I've lost count... And sometimes the trauma just comes out..."

+ 2 - 2
sugarcube/src/autogenerated/events/bootycall/booty_call_virgin.tw

@@ -221,12 +221,12 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'safe_day_no_condoms1'>>
-	<<if getvar("$stat['safe_day']") == 1>>
+	<<if $pc.sexStat('safe_day') == 1>>
 		<<actCLA 'It <i>is</i> a safe day...'>>
 			<<setinit $booty_call['safe_day'] = 1>>
 			"I guess... it's a safe day for me so..." you murmur, nervously opening your legs.
 		<</actCLA>>
-	<<elseif getvar("$stat['probably_safe_day']") == 1>>
+	<<elseif $pc.sexStat('probably_safe_day') == 1>>
 		<<actCLA 'It`s <i>probably</i> a safe day...'>>
 			<<setinit $booty_call['probably_safe_day'] = 1>>
 			"I guess... it's a safe day for me so..." you murmur, nervously opening your legs.

+ 18 - 18
sugarcube/src/autogenerated/locations/city/city_jorahouse.tw

@@ -123,12 +123,12 @@
 	<<run $pc.arouse('vaginal',5,undefined,['sub','group'])>>
 	<<set $time.minutes -= 5>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<setn $orgasm += 1>> 
 
 	<</if>>
 	<<set $orgasm_or = 'yes'>>
-	<<if $horand > $stat['vaginal']>>
+	<<if $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<setn $pc.pcs_horny += 10>> 
 
 	<</if>>
@@ -212,10 +212,10 @@
 	<<set $picrand = rand(11, 13)>>
 	<<image `'characters/city/jora/sex/klof<<picrand>>.jpg'`>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	<<actCLA '...'>>
@@ -240,10 +240,10 @@
 	<<set $picrand = rand(15, 17)>>
 	<<image `'characters/city/jora/sex/klof<<picrand>>.jpg'`>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	<<actCLA 'Continue'>>
@@ -304,10 +304,10 @@
 	<<set $picrand = rand(11, 13)>>
 	<<image `'characters/city/jora/sex/klof<<picrand>>.jpg'`>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	<<actCLA 'Continue'>>
@@ -333,10 +333,10 @@
 	<<set $picrand = rand(15, 17)>>
 	<<image `'characters/city/jora/sex/klof<<picrand>>.jpg'`>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	<<actCLA 'Continue'>>
@@ -386,10 +386,10 @@
 	<<run $pc.arouse('vaginal',30,undefined,['sub','rough','group'])>>
 	<<set $time.minutes -= 30>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	Finally they both finished, one in your pussy, the other on your face.
@@ -605,10 +605,10 @@
 	<<run $pc.arouse('vaginal',30,undefined,['sub','rough'])>>
 	<<set $guy += 1>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	"Now I try your ass."
@@ -629,10 +629,10 @@
 	The boss skewers your ass with his penis.
 	<<run $pc.arouse('anal',30,undefined,['sub','rough'])>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	You feel that the boss is ready to cum.
@@ -704,10 +704,10 @@
 	<<set $guy += 2>>
 	<<set $gang += 1>>
 	<<set $horand = rand(1, 100)>>
-	<<if $horand <= $stat['vaginal']>>
+	<<if $horand <= $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny = 0>> <<set $orgasm += 1>> 
 		<<set $orgasm_or = 'yes'>>
-	<<elseif $horand > $stat['vaginal']>>
+	<<elseif $horand > $pc.sexStat('vaginal')'vaginal'>
 		<<set $pc.pcs_horny += 10>> 
 	<</if>>
 	<<actCLA 'Get up and get dressed'>>

+ 4 - 4
sugarcube/src/autogenerated/locations/city/city_kavkazkafe.tw

@@ -429,7 +429,7 @@
 	<<set $time.minutes += 3>>
 	<<image "locations/city/residential/cafe/sex/before4.jpg">>
 	<p>You undress still on all fours, and with your hands hold your butt cheeks apart. Givi grunts approval and slaps your ass. "Great ass, $pc.name_nick!"</p>
-	<<if getvar("$givitime") > 5 and rand(0, 100) >= 75 and getvar("$stat['anal']") > 0 and getvar("$giviVagOnce") == 1>>
+	<<if getvar("$givitime") > 5 and rand(0, 100) >= 75 and $pc.sexStat('anal') > 0 and getvar("$giviVagOnce") == 1>>
 		<p>$pc.name_nick, I want you in the ass.</p>
 		<<actCLA 'No way'>>
 			<<gt 'city_kavkazkafe' 'givisex1'>>
@@ -517,7 +517,7 @@
 	Givi sits on the couch and pulls out his penis, you and Ira begin to undress each other sexually and kiss each other.
 	<<actCLA 'Suck dick'>>
 		<<if getvar("$bjgiviiraonce") == 0>>
-			<<set $bjgiviiraonce = 1>> <<setinit $stat['bj'] += 1>>
+			<<set $bjgiviiraonce = 1>> <<run $pc.sexStatInc('bj','aware',1)>>
 
 		<</if>>
 		<<if rand(0, 1) == 0>>
@@ -540,7 +540,7 @@
 	<</actCLA>>
 	<<actCLA 'Kiss Givi'>>
 		<<if getvar("$bjgiviiraonce") == 0>>
-			<<set $bjgiviiraonce = 1>> <<setinit $stat['bj'] += 1>>
+			<<set $bjgiviiraonce = 1>> <<run $pc.sexStatInc('bj','aware',1)>>
 
 		<</if>>
 		<<set $picrand = rand(1, 3)>>
@@ -559,7 +559,7 @@
 	<<run $pc.arouse('kiss',3,undefined,['sub','group'])>>
 	<<actCLA 'Suck'>>
 		<<if getvar("$bjgiviiraonce") == 0>>
-			<<set $bjgiviiraonce = 1>> <<setinit $stat['bj'] += 1>>
+			<<set $bjgiviiraonce = 1>> <<run $pc.sexStatInc('bj','aware',1)>>
 
 		<</if>>
 		<<set $picrand = rand(1, 10)>>

+ 2 - 2
sugarcube/src/autogenerated/locations/city/city_park.tw

@@ -543,7 +543,7 @@
 				<</actCLA>>
 			<<elseif getvar("$whrand") > 5 and getvar("$whrand") <= 60>>
 				<<set $time.minutes += 15>>
-				<<setinit $stat['bj'] += 1>>
+				<<run $pc.sexStatInc('bj','aware',1)>>
 				<<set $guy += 1>>
 				<<set $finances.cash += 500>>
 				<<set $pc.pcs_throat += 1>>
@@ -622,7 +622,7 @@
 		<</actCLA>>
 	<</actCLA>>
 	<<actCLA 'Try to relax and enjoy it'>>
-		 		<<setinit $stat['anal'] += 1>>
+		 		<<run $pc.sexStatInc('anal','aware',1)>>
 		<<set $pc.pcs_sub += 5>>
 		<<image "locations/city/centralpark/sex/rapean.jpg">>
 		<p>It doesn't take long for the rapist to realize you're not resisting. "Good girl!", he says to you. He pushes you onto all fours so that he can take you doggy-style. He spreads your buttocks and pushes his cock into your ass. You cry out in pain, but he holds your mouth shut and doesn't stop fucking your asshole.</p>

+ 1 - 1
sugarcube/src/autogenerated/locations/city/city_trashplace.tw

@@ -71,7 +71,7 @@ A long line of trash cans for all the local apartments, shamefully hidden behind
 	<</if>>
 	<<actCLA 'No'>>
 		<<if $start_subtype == 'tg'>>
-			<<if getvar("$time.daystart") < 10 or getvar("$stat['vaginal']") <= 2>>
+			<<if getvar("$time.daystart") < 10 or $pc.sexStat('vaginal') <= 2>>
 				"I''d love to, but I don't have much money." Hell, you're not even accustomed to your new body, but you take care not to say anything.
 				<p>"Are you alright?" He looks you up and down.</p>
 				<<actCLA 'No'>>

+ 1 - 1
sugarcube/src/autogenerated/locations/gadukino/gadukino.tw

@@ -291,7 +291,7 @@
 				<<else>>
 					<<set $scxcum = 'multiple times'>>
 				<</if>>
-				<<setinit $stat['vaginal'] += 1>>
+				<<run $pc.sexStatInc('vaginal','aware',1)>>
 				<<set $guy += 1>>
 				<<set $pc.pcs_horny = 0>>
 				<<set $orgasm += 1 + $scfeed>>

+ 6 - 6
sugarcube/src/autogenerated/locations/pavlov/disco/pav_disco_sex.tw

@@ -409,7 +409,7 @@
 									<<actCLA 'Suck it'>>
 										<<set $time.minutes += 5>>
 										<<set $pc.pcs_horny += 10>>
-										<<setinit $stat['bj'] += 1>>
+										<<run $pc.sexStatInc('bj','aware',1)>>
 										<<if getvar("$boynumBlock") == 0>>
 											<<setn $guy += 1>>
 
@@ -457,7 +457,7 @@
 												
 												<<actCLA 'Swallow'>>
 													<<set $time.minutes += 1>>
-													<<setinit $stat['swallow'] += 1>>
+													<<run $pc.sexStatInc('swallow','aware',1)>>
 													Realizing he doesn''t care, you gulp down his load and stand up. Hopefully, he won''t tell anyone about what you just did...
 													<<actCLA 'Leave'>>
 														<<gt 'pav_commcenter'>>
@@ -501,7 +501,7 @@
 
 											<</if>>
 											<<setinit $bmHJ[$Tboynum] += 1>>
-											<<setinit $stat['hj'] += 1>>
+											<<run $pc.sexStatInc('hj','aware',1)>>
 											
 											
 											<<image "shared/sex/handjob/hj.jpg">>
@@ -569,7 +569,7 @@
 
 			<</if>>
 			<<gs 'cum_call' 'hands' $boy 1>>
-			<<setinit $stat['hj'] += 1>>
+			<<run $pc.sexStatInc('hj','aware',1)>>
 			<<image "shared/sex/handjob/hj.jpg">>
 			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.
@@ -595,7 +595,7 @@
 		<</actCLA>>
 		<<if $pc.trait('cumeater') > 0>>
 			<<actCLA 'Lick your hand clean on the way'>>
-				<<setinit $stat['swallow'] += 1>>
+				<<run $pc.sexStatInc('swallow','aware',1)>>
 				<<set $cumspclnt = 9>>
 				<<gs 'cum_cleanup'>>
 				<<image "locations/pavlovsk/community/dk_night.jpg">>
@@ -628,7 +628,7 @@
 <</if>>
 <<if $location_var[$here][0] == 'blowjob'>>
 	<<run $pc.arouse('bj',`rand(3,7)`,undefined,['prostitution'])>>
-	<<setinit $stat['bj'] += 1>>
+	<<run $pc.sexStatInc('bj','aware',1)>>
 	<<if $location_var[$here][1] == 'paid'>>
 		<<set $finances.cash += 100>>
 		<<if getvar("$gdk_nice_guy") == 1>>

+ 3 - 3
sugarcube/src/autogenerated/locations/pavlov/disco/pav_discoev1.tw

@@ -472,7 +472,7 @@
 	<</actCLA>>
 <</if>>
 <<if $location_var[$here][0] == 'dan'>>
-	<<setinit $stat['bj'] += 1>>
+	<<run $pc.sexStatInc('bj','aware',1)>>
 	<<if $npcs.get('A10','Sex') == 0>>
 		<<run $npcs.set('A10','Sex',1)>> <<setn $guy += 1>>
 
@@ -491,7 +491,7 @@
 		You keep sucking his dick as he moans softly. "That's it baby. Keep sucking it like a good girl."
 		He lets go of your hair and lets you guide the action, but after a while he starts moving his hips forward to force his dick further into your mouth.
 		<<run $pc.arouse('bj',3,undefined,['sub','inhibition'])>>
-		<<if rand(1,4) == 1 and getvar("$stat['vaginal']") > 0>>
+		<<if rand(1,4) == 1 and $pc.sexStat('vaginal') > 0>>
 			He reaches down and pulls you up before roughly shoving you over to the railing and bending you over it. He quickly strips you from the waist down and you feel him rubbing the tip of his hard cock against your wet slit.
 			<<actCLA 'Get fucked'>>
 				<<gt 'pav_discoev1' 'dan_fuck'>>
@@ -601,7 +601,7 @@
 	<</actCLA>>
 <</if>>
 <<if $location_var[$here][0] == 'radomir'>>
-	<<setinit $stat['bj'] += 1>>
+	<<run $pc.sexStatInc('bj','aware',1)>>
 	<<if $npcs.get('A154','Sex') == 0>>
 		<<run $npcs.set('A154','Sex',1)>> <<setn $guy += 1>>
 

+ 5 - 5
sugarcube/src/autogenerated/locations/pavlov/pav_pharmacy.tw

@@ -486,7 +486,7 @@
 						"Actually I... found out I like it when guys finish inside," you confess. "It feels really good."
 						Luda raises an eyebrow and you feel a blush spread through your cheeks.
 						<p>"I hope you used my other gift then when you found out?" she asks.</p>
-						<<if getvar("$stat['morning_after_pill']") > 0>>
+						<<if $pc.sexStat('morning_after_pill') > 0>>
 							"I did," you nod, blush intensifying as you do.
 							"Good," she says, ringing up your purchase. "You''d be a fool if you didn''t."
 							"Remeber to take these every day," she advises, handing over the pills. "It doesn''t work unless it's every single day. In fact, they'll make it more likely for you to get pregnant instead. Which is very bad news for a girl who likes creampies."
@@ -622,7 +622,7 @@
 						<<image "locations/pavlovsk/pharmacy/apteka_aunt_1.jpg">>
 						"Actually I... found out I like creampies," you confess, with a wide smile. "It feels really good."
 						<p>"I hope you used my other gift upond discovery?" she asks.</p>
-						<<if getvar("$stat['morning_after_pill']") > 0>>
+						<<if $pc.sexStat('morning_after_pill') > 0>>
 							"I did," you nod. "It really helped me enjoy the creampie without worry."
 							"Well," she says, returning your smile as she rings up your purchase. "That's what the gift was for. So you could experiment without fear. So I'm happy it came in handy."
 							"Remeber to take these every day," she advises, handing over the pills. "It doesn''t work unless it's every single day. In fact, they'll make it more likely for you to get pregnant instead. Which is very bad news for a girl who likes creampies."
@@ -872,7 +872,7 @@
 		<<actCLA 'I made a mistake'>>
 			<<gt 'pav_pharmacy_morning_after_mistake_embarrassed'>>
 		<</actCLA>>
-		<<if getvar("$stat['broken_condoms']") > 0>>
+		<<if $pc.sexStat('broken_condoms') > 0>>
 			<<actCLA 'The condom broke'>>
 				<<gt 'pav_pharmacy_buy_morning_after_condom_broke_meek'>>
 			<</actCLA>>
@@ -907,7 +907,7 @@
 			<<actCLA 'I made a mistake'>>
 				<<gt 'pav_pharmacy_morning_after_mistake_open'>>
 			<</actCLA>>
-			<<if getvar("$stat['broken_condoms']") > 0>>
+			<<if $pc.sexStat('broken_condoms') > 0>>
 				<<actCLA 'The condom broke'>>
 					<<gt 'pav_pharmacy_buy_morning_after_condom_broke_meek'>>
 				<</actCLA>>
@@ -929,7 +929,7 @@
 			<<actCLA 'Continue'>>
 				<<gt 'pav_pharmacy'>>
 			<</actCLA>>
-			<<if getvar("$stat['broken_condoms']") > 0>>
+			<<if $pc.sexStat('broken_condoms') > 0>>
 				<<actCLA 'The condom broke'>>
 					<<gt 'pav_pharmacy_buy_morning_after_condom_broke_meek'>>
 				<</actCLA>>

+ 1 - 1
sugarcube/src/autogenerated/locations/stores/bank.tw

@@ -158,7 +158,7 @@
 		<</actCLA>>
 	<<elseif $location_var[$here][1] == 'sex_start'>>
 		<<set $menu_off = 1>>
-		<<if getvar("$pc.pcs_inhib") >= 35 and getvar("$stat['vaginal']") != 0>>
+		<<if getvar("$pc.pcs_inhib") >= 35 and $pc.sexStat('vaginal') != 0>>
 			<<gs 'willpower' 'sex' 'self' 'medium'>>
 			<<if $will_cost <= $pc.pcs_willpwr>>
 				<<actCLA 'I think you`ll find that I can be very cooperative, Mr. Karpenko..." (will_cost Willpower)'>>

+ 3 - 3
sugarcube/src/autogenerated/npcs/artur/arturend.tw

@@ -12,15 +12,15 @@ Arthur stands up and helps you to your feet.
 	<<set $cumspclnt = 11>>
 	<<gs 'cum_cleanup'>>
 	<<if getvar("$artbj") > 0>>
-		<<set $artbj = 0>> <<setinit $stat['bj'] += 1>>
+		<<set $artbj = 0>> <<run $pc.sexStatInc('bj','aware',1)>>
 
 	<</if>>
 	<<if getvar("$artsex") > 0>>
-		<<set $artsex = 0>> <<setinit $stat['vaginal'] += 1>>
+		<<set $artsex = 0>> <<run $pc.sexStatInc('vaginal','aware',1)>>
 
 	<</if>>
 	<<if getvar("$artanal") > 0>>
-		<<set $artanal = 0>> <<setinit $stat['anal'] += 1>>
+		<<set $artanal = 0>> <<run $pc.sexStatInc('anal','aware',1)>>
 
 	<</if>>
 	<<image "characters/pavlovsk/resident/arthur/artur.jpg">>

+ 8 - 6
sugarcube/src/autogenerated/npcs/family/brother/brother.tw

@@ -1082,11 +1082,11 @@
 		<<=$npcs.get('A34','firstname')>>'s voice goes low, you can barely hear him over the noise of the shower. "Are you, you know..."
 		<p>"A virgin?" you ask him smiling.</p>
 		"Yeah," he replies with a red face and embarrassed expression on his face.
-		<<if getvar("$stat['vaginal']") == 1>>
+		<<if $pc.sexStat('vaginal') == 1>>
 			"Yes, I am," you nod to him. "You will be my first, little brother."
 			He takes a deep breath to sort himself before shedding his clothes and stepping into the shower.
 			<p>You turn your ass to <<=$npcs.get('A34','firstname')>> as he strokes his hardening npc_dick['A34'] cm long member, before guiding it into your waiting pussy.</p>
-			<<if getvar("$stat['hidden_vaginal']") > 0>>
+			<<if $pc.sexStat('hidden_vaginal') > 0>>
 				To your surprise his entry in your pussy does not cause you any pain. Of course you have heard about stories that say it didn''t hurt, but you always thought it fake. You feel lucky to be wrong about that.
 			<<else>>
 				You feel a small, sharp pain between your legs, like a needle, but it quickly fades. You turn your head to look back at <<=$npcs.get('A34','firstname')>>, his expression pure rapture.
@@ -1204,15 +1204,15 @@
 		<<set $brother_knows_not_virgin = 1>>
 		"Only the first time or two," you respond.
 		<p><<=$npcs.get('A34','firstname')>> inquires, "Have you tried?"</p>
-		<<if getvar("$stat['vaginal']") == 0>>
+		<<if $pc.sexStat('vaginal') == 0>>
 			You really don't want to have this conversation. You try to brush it off, "Never mind..."
 			<p>"Well, tell me!" <<=$npcs.get('A34','firstname')>> implores you.</p>
 			You look at the floor, "No, I'm still a virgin."
-		<<elseif getvar("$stat['vaginal']") < 10>>
+		<<elseif $pc.sexStat('vaginal') < 10>>
 			You're not sure you want to have this conversation with your brother, "Never mind..."
 			<p>"Well, tell me!" <<=$npcs.get('A34','firstname')>> implores you.</p>
 			You blush lightly thinking of the number of times you've had sex, "I have a few times."
-		<<elseif getvar("$stat['vaginal']") < 20>>
+		<<elseif $pc.sexStat('vaginal') < 20>>
 			This isn''t a conversation you want to have with your brother, "Never mind..."
 			<p>"Well, tell me!" <<=$npcs.get('A34','firstname')>> implores you.</p>
 			"Yes, I've had sex," you answer.
@@ -1321,8 +1321,10 @@
 		<p>You turn and sit down in the chair then spread your legs wide. Using the tips of your fingers, you gently pull at your labia, revealing your $pc_desc['pussy'] pussy to <<=$npcs.get('A34','firstname')>>.</p>
 		<p>Your sibling is mesmerized, "Wow!"</p>
 		<p>"Satisfied, now?" you ask.</p>
+		<<if getvar("$brother_knows_not_virgin") == 1 and getvar("$stat['think_virgin']") == 0 and getvar("$ivrand") == 1>>
+
 		<<=$npcs.get('A34','firstname')>> continues to stare at your exposed pussy, "Almost..."
-		<<set $ivrand = rand(1,2)>>
+		<<set $ivrand = rand (1,2)>>
 		<<if getvar("$brother_knows_not_virgin") == 1 and !$pc.thinksIsVirgin and getvar("$ivrand") == 1>>
 			<p>You sigh, "What else?"</p>
 			<p>He looks up at you, "$pc.name_nick, can you poke a finger inside?"</p>

+ 2 - 2
sugarcube/src/autogenerated/npcs/family/brother/brother2.tw

@@ -267,7 +267,7 @@
 				<<if $pc.trait('cumeater') == 1>>
 					<<actCLA 'Swallow it'>>
 						<<set $time.minutes += 2>>
-						<<setinit $stat['swallow'] += 1>>
+						<<run $pc.sexStatInc('swallow','aware',1)>>
 						<<run $pc.arousalEnd()>>
 						<center><video autoplay loop src="images\shared\sex\cum\mouth\swallow3.mp4"></video></center>
 						<p>You return his gaze and give him one last treat. Making a show of it, you gulp down his fresh load, letting out a satisfied 'aaah!'.</p>
@@ -286,7 +286,7 @@
 					<<actCLA 'Swallow it' undefined `{willpower:['swallow','self']}`>>
 							
 							<<set $time.minutes += 2>>
-							<<setinit $stat['swallow'] += 1>>
+							<<run $pc.sexStatInc('swallow','aware',1)>>
 							<<run $pc.arousalEnd()>>
 							<center><video autoplay loop src="images\shared\sex\cum\mouth\swallow2.mp4"></video></center>
 							You return his gaze and swallow down his slimy load.

+ 2 - 2
sugarcube/src/autogenerated/npcs/family/brother/brother_shower_sex.tw

@@ -161,7 +161,7 @@
 		You feel Kolka tense up behind you and he hesitates.
 		<p>"Is this...? Are you...?"</p>
 		<p>"My first time? A virgin?"</p>
-		<<if getvar("$stat['vaginal']") == 0>>
+		<<if $pc.sexStat('vaginal') == 0>>
 			<<actCLA 'Yes, I`m a virgin'>>
 				<<run $npcs.inc('A34','rel',20)>>
 				"Yeah. I am." You smile at him. "I'm giving my first time to you little brother."
@@ -238,7 +238,7 @@
 		<<video "shared/sex/shower/doggy5.mp4">>
 		<<if getvar("$pc.pcs_vag") == 0>>
 			<p>Several minutes pass and your pain is long forgotten. The only thing you can feel now is the ecstasy of Kolka's cock pumping in and out of your pussy. His hands come up to grope your breasts and you moan in pleasure. Is this what sex is? How did you live your life without it? Why did you wait so long to lose your virginity? Why didn't you jump on your brother's cock sooner?!</p>
-		<<elseif getvar("$stat['hidden_vaginal']") > 0 and getvar("$stat['vaginal']") == 0>>
+		<<elseif $pc.sexStat('hidden_vaginal') > 0 and $pc.sexStat('vaginal') == 0>>
 			<p>Several minutes go by and you find yourself thoroughly enjoying your brother's cock pump in and out of your pussy. His hands grope your breasts and you moan in pleasure. Is this what sex is? How did you live your life without it? Why did you wait so long to lose your virginity? Why didn't you jump on your brother's cock sooner?!</p>
 		<<else>>
 			<p>Several minutes go by as you enjoy Kolka's cock. His hands come up to grope you, and you moan in pleasure, your breasts being used as leverage to fuck you harder. Fuck! He's pretty good for his first time. Maybe you should have jumped on your brother's dick ages ago!</p>

+ 2 - 2
sugarcube/src/autogenerated/npcs/family/brother/brother_voyeur_sex.tw

@@ -164,7 +164,7 @@
 		You feel Kolka tense up behind you and he hesitates.
 		<p>"Is this...? Are you...?"</p>
 		<p>"My first time? A virgin?"</p>
-		<<if getvar("$stat['vaginal']") == 0>>
+		<<if $pc.sexStat('vaginal') == 0>>
 			<<actCLA 'Yes, I`m a virgin'>>
 				<<run $npcs.inc('A34','rel',20)>>
 				"Yeah. I am." You smile at him. "I'm giving my first time to you little brother."
@@ -241,7 +241,7 @@
 		<<video "characters/pavlovsk/resident/kolka/event/shower/broshower.mp4">>
 		<<if getvar("$pc.pcs_vag") == 0>>
 			<p>Several minutes pass and your pain is long forgotten. The only thing you can feel now is the ecstasy of Kolka's cock pumping in and out of your pussy. His hands come up to grope your breasts and you moan in pleasure. Is this what sex is? How did you live your life without it? Why did you wait so long to lose your virginity? Why didn't you jump on your brother's cock sooner?!</p>
-		<<elseif getvar("$stat['hidden_vaginal']") > 0 and getvar("$stat['vaginal']") == 0>>
+		<<elseif $pc.sexStat('hidden_vaginal') > 0 and $pc.sexStat('vaginal') == 0>>
 			<p>Several minutes go by and you find yourself thoroughly enjoying your brother's cock pump in and out of your pussy. His hands grope your breasts and you moan in pleasure. Is this what sex is? How did you live your life without it? Why did you wait so long to lose your virginity? Why didn't you jump on your brother's cock sooner?!</p>
 		<<else>>
 			<p>Several minutes go by as you enjoy Kolka's cock. His hands come up to grope you, and you moan in pleasure, your breasts being used as leverage to fuck you harder. Fuck! He's pretty good for his first time. Maybe you should have jumped on your brother's dick ages ago!</p>

+ 3 - 3
sugarcube/src/autogenerated/npcs/family/mother/mother.tw

@@ -824,7 +824,7 @@
 			<<actCLA 'Continue'>>
 				<<gt 'mother'>>
 			<</actCLA>>
-		<<elseif getvar("$stat['vaginal']") > 0>>
+		<<elseif $pc.sexStat('vaginal') > 0>>
 			<<if ($pcs_cp_safe_known + $pcs_cp_notsafe_known + $pcs_cp_risky_known) > 0>>
 				<<if ($pcs_cp_notsafe_known + $pcs_cp_risky_known) == 0>>
 					<<actCLA 'I don`t know (I used birth control)'>>
@@ -1395,7 +1395,7 @@
 			<<image "characters/pavlovsk/resident/mom/mother.jpg">>
 			You swallow hard as your start explaining, "I bought them... For safety of course..."
 			<p>Your <<=$npcs.get('A29','nickname')>> reacts as expected, "For safety?! What safety?! You're not supposed to have sex! Wait, are you telling me that you're having sex?!"</p>
-			<<if getvar("$stat['vaginal']") == 0>>
+			<<if $pc.sexStat('vaginal') == 0>>
 				<<actCLA 'I`m still a virgin!'>>
 					<<run $npcs.inc('A29','rel',30)>>
 					<!-- !! TEMPORARY PICTURE-->
@@ -1453,7 +1453,7 @@
 				<<image "characters/pavlovsk/resident/mom/mother.jpg">>
 				You swallow hard as your start explaining, "I saw you hiding some away in your room and I thought I would take some of them..."
 				<p>"How could you $pc.name_nick, those were just for me and your dad, not for you to steal?! Not only have you stolen condoms from your mother but you've been also using them to have sex?!"</p>
-				<<if getvar("$stat['vaginal']") == 0>>
+				<<if $pc.sexStat('vaginal') == 0>>
 					<<actCLA 'I`m still a virgin!'>>
 						<<run $npcs.inc('A29','rel',30)>>
 						<!-- !! TEMPORARY PICTURE-->

+ 2 - 2
sugarcube/src/autogenerated/npcs/family/mother/mother_sextalk.tw

@@ -583,7 +583,7 @@
 		<<set $dildo_gyno_check = 1>>
 		<<set $GspravkaTimes = 2>>
 		<<image "characters/pavlovsk/resident/mom/mother.jpg">>
-		<<if getvar("$stat['vaginal_dildo']") == 0 or $pc.thinksIsVirgin>>
+		<<if $pc.sexStat('vaginal_dildo') == 0 or $pc.thinksIsVirgin>>
 			<p>"No! I haven't! I... I didn't get to use it yet..."</p>
 			<p>"You think I'm going to fall for an obvious lie like that $pc.name_first??"</p>
 			<p>"No! I swear! It's true!"</p>
@@ -716,7 +716,7 @@
 		<<set $dildo_gyno_check = 1>>
 		<<set $GspravkaTimes = 2>>
 		<<image "characters/pavlovsk/resident/mom/mother.jpg">>
-		<<if getvar("$stat['vaginal_dildo']") == 0 or $pc.thinksIsVirgin>>
+		<<if $pc.sexStat('vaginal_dildo') == 0 or $pc.thinksIsVirgin>>
 			<p>"No! I haven't! I... I didn't get to use them yet..."</p>
 			<p>"You think I'm going to fall for an obvious lie like that $pc.name_first? There were <i>two of them</i> in there!"</p>
 			<p>"No! I swear! It's true!"</p>

+ 9 - 9
sugarcube/src/autogenerated/npcs/katja/KatjaHomeTalk.tw

@@ -765,7 +765,7 @@
 		<<else>>
 			<p>"$pc.name_nick, have you ever given a guy a blowjob?"</p>
 		<</if>>
-		<<if getvar("$stat['bj']") > 0>>
+		<<if $pc.sexStat('bj') > 0>>
 			<<gs 'KatjaHomeTalk' 'bj_talk1'>>
 		<<else>>
 			<<actCLA 'You`ve never given a blowjob'>>
@@ -790,7 +790,7 @@
 		<<else>>
 			<p>"$pc.name_nick, have you ever had sex with a guy?"</p>
 		<</if>>
-		<<if getvar("$stat['vaginal']") > 0>>
+		<<if $pc.sexStat('vaginal') > 0>>
 			<<actCLA 'Talk about sex'>>
 				<<setinit $katjaQW['horny'] += 5>>
 				<<setinit $katjaQW['knows_sex'] = 1>>
@@ -828,7 +828,7 @@
 		<<else>>
 			<p>"$pc.name_nick, have you ever had a guy stick it in your ass?"</p>
 		<</if>>
-		<<if getvar("$stat['anal']") > 0>>
+		<<if $pc.sexStat('anal') > 0>>
 			<<actCLA 'Talk about anal'>>
 				<<setinit $katjaQW['horny'] += 5>>
 				<<setinit $katjaQW['knows_anal'] = 1>>
@@ -866,7 +866,7 @@
 		<<else>>
 			<p>"$pc.name_nick, have you gone down on a girl?"</p>
 		<</if>>
-		<<if getvar("$stat['cuni_give']") > 0>>
+		<<if $pc.sexStat('cuni_give') > 0>>
 			<<actCLA 'Talk about licking pussy'>>
 				<<setinit $katjaQW['horny'] += 5>>
 				<<setinit $katjaQW['knows_cuni'] = 1>>
@@ -939,7 +939,7 @@
 		<<else>>
 			<p>"$pc.name_nick, do you masturbate?"</p>
 		<</if>>
-		<<if getvar("$stat['mast']") > 0>>
+		<<if $pc.sexStat('mast') > 0>>
 			<<actCLA 'Talk about masturbation'>>
 				<<setinit $katjaQW['horny'] += 5>>
 				<<setinit $katjaQW['knows_masterbation'] = 1>>
@@ -970,7 +970,7 @@
 					<</actCLA>>
 				<</if>>
 			<</actCLA>>
-			<<if getvar("$stat['self_fisting']") > 0>>
+			<<if $pc.sexStat('self_fisting') > 0>>
 				<<actCLA 'Tell her how you pushed your hand into your pussy'>>
 					<<setinit $katjaQW['horny'] += 10>>
 					<<image "characters/shared/headshots_main/big14.jpg">>
@@ -994,7 +994,7 @@
 					<</actCLA>>
 				<</actCLA>>
 			<</if>>
-			<<if getvar("$stat['self_fisting_anal']") > 0>>
+			<<if $pc.sexStat('self_fisting_anal') > 0>>
 				<<actCLA 'Tell her how you fisted your ass'>>
 					<<setinit $katjaQW['horny'] += 10>>
 					<<if getvar("$katjaQW['knows_self_fisting_anal']") == 0>>
@@ -1047,7 +1047,7 @@
 	<<elseif getvar("$katjaQW['knows_BJ']") == 0>>
 		<p>"$pc.name_nick, have you ever given a guy a blowjob?"</p>
 	<</if>>
-	<<if getvar("$stat['bj']") > 0>>
+	<<if $pc.sexStat('bj') > 0>>
 		<<if getvar("$katjaQW['knows_BJ']") == 0>>
 			<<actCLA 'No (lie)'>>
 				<<image "characters/shared/headshots_main/big14.jpg">>
@@ -1070,7 +1070,7 @@
 				<p>"What's it like?" Katja asks, eyes wide with excitement.</p>
 				<<gs 'KatjaHomeTalk' 'bj_talk2'>>
 			<</actCLA>>
-		<<elseif getvar("$stat['bj']") > 0>>
+		<<elseif $pc.sexStat('bj') > 0>>
 			<<setinit $katjaQW['horny'] += 5>>
 			<<gs 'KatjaHomeTalk' 'bj_talk2'>>
 		<</if>>

+ 8 - 8
sugarcube/src/autogenerated/npcs/katja/katja_dorm.tw

@@ -459,7 +459,7 @@
 					"Have you ever..." she continues.
 					<p>"Have I ever what?" you ask.</p>
 					<p>"Had sex with a guy?" she finishes.</p>
-					<<if getvar("$stat['vaginal']") == 0>>
+					<<if $pc.sexStat('vaginal') == 0>>
 						<<actCLA 'Tell her you haven`t'>>
 							<<set '"No. I've never had ' + iif(stat['anal'] = 0, 'sex', 'vaginal sex') + ' with a guy," you say.'>>
 							<p>"Me neither," Katja replies. "Do you want to try?" she asks hesitantly.</p>
@@ -577,7 +577,7 @@
 						<</actCLA>>
 					<<else>>
 						<p>"We've had anal sex with a guy, but have you ever had vaginal sex with one?" she continues.</p>
-						<<if getvar("$stat['vaginal']") == 0>>
+						<<if $pc.sexStat('vaginal') == 0>>
 							<<actCLA 'Tell her you haven`t'>>
 								<<set '"No. I've never had ' + iif(stat['anal'] = 0, 'sex', 'vaginal sex') + 'with a guy," you say.'>>
 								<p>"Me neither," Katja says. "Do you want to try?" she asks hesitantly.</p>
@@ -691,7 +691,7 @@
 				<<setinit $katjaQW['lazer_pussy_talk'] = 1>>
 				<<image "characters/shared/headshots_main/big14.jpg">>
 				<p>"You know we have '+iif(katjaQW['lazer_anal'] > 0, 'talked about', 'had')+' anal sex with Lazar," Katja says. "Maybe we could also have... vaginal sex... with him?" she continues.</p>
-				<<if getvar("$stat['vaginal']") > 0>>
+				<<if $pc.sexStat('vaginal') > 0>>
 					<<if getvar("$katjaQW['QWstage']") < 6>>
 						<<if getvar("$katjaQW['QWstage']") < 4>>
 							<<setinit $katjaQW['QWstage'] = 4>>
@@ -731,7 +731,7 @@
 	<<set $time.minutes =  + 5>>
 	<<image "characters/shared/headshots_main/big14.jpg">>
 	You refuse and Katja looks puzzled.
-	<<if getvar("$stat['vaginal']") == 0 and $location_var[$here][1] == 'pussy'>>
+	<<if $pc.sexStat('vaginal') == 0 and $location_var[$here][1] == 'pussy'>>
 		<<actCLA 'Tell her you aren`t ready'>>
 			"I'm not ready to have sex with a guy," you say. Katja nods, but seems a little surprised that she's more ready than you.
 			<<actCLA 'Talk about something else'>>
@@ -739,7 +739,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['anal']") == 0 and $location_var[$here][1] == 'anal'>>
+	<<if $pc.sexStat('anal') == 0 and $location_var[$here][1] == 'anal'>>
 		<<actCLA 'Tell her you`re not ready'>>
 			"I'm not ready to have anal sex with a guy," you say. Katja nods, but seems a little surprised that she's more ready than you.
 			<<actCLA 'Talk about something else'>>
@@ -879,7 +879,7 @@
 					"Have you ever..." she continues.
 					<p>"Have I ever what?" you ask.</p>
 					<p>"Had anal sex with a guy?" she finishes.</p>
-					<<if getvar("$stat['anal']") == 0>>
+					<<if $pc.sexStat('anal') == 0>>
 						<<actCLA 'Tell her you haven`t'>>
 							<p>"No. I've never had
 							<<if stat['vaginal'] = 0>>
@@ -971,7 +971,7 @@
 						<</actCLA>>
 					<<else>>
 						<p>"We've had sex with a guy, but have you ever had anal sex with one?" she continues.</p>
-						<<if getvar("$stat['anal']") == 0>>
+						<<if $pc.sexStat('anal') == 0>>
 							<<actCLA 'Tell her you haven`t'>>
 								<p>"No. I've never had
 								<<if stat['vaginal'] = 0>>
@@ -1076,7 +1076,7 @@
 				<<setinit $katjaQW['lazer_anal_talk'] = 1>>
 				<<image "characters/shared/headshots_main/big14.jpg">>
 				<<set '"You know we have ' + iif(katjaQW['lazer_pussy'] = 0, 'talked about', 'had') + ' sex with Lazar," Katja says. "Maybe we could also have... anal sex with him?" she continues.'>>
-				<<if getvar("$stat['anal']") > 0>>
+				<<if $pc.sexStat('anal') > 0>>
 					<<if getvar("$katjaQW['anal_quest']") < 2>>
 						<<setinit $katjaQW['anal_quest'] = 2>>
 						<p>"So you want him to be the first guy to fuck your ass?" you ask Katja. She just nods, looking at you expectantly.</p>

+ 2 - 2
sugarcube/src/autogenerated/npcs/katja/katja_procedural.tw

@@ -173,11 +173,11 @@
 
 	<</if>>
 	<!-- !! Katja learning about you sexual experience from other sources because you are a slut.-->
-	<<if $pc.fame('pav_slut') >= 150 and getvar("$stat['bj']") > 0 and getvar("$katjaQW['knows_BJ']") != 1>>
+	<<if getvar("$fame['pav_slut']") >= 150 and $pc.sexStat('bj') > 0 and getvar("$katjaQW['knows_BJ']") != 1>>
 		<<setinit $katjaQW['knows_BJ'] = 1>>
 
 	<</if>>
-	<<if $pc.fame('pav_slut') >= 250 or getvar("$pc.preg") > 0 and getvar("$stat['vaginal']") > 0 and getvar("$katjaQW['knows_sex']") != 1>>
+	<<if getvar("$fame['pav_slut']") >= 250 or getvar("$pc.preg") > 0 and $pc.sexStat('vaginal') > 0 and getvar("$katjaQW['knows_sex']") != 1>>
 		<<setinit $katjaQW['knows_sex'] = 1>>
 
 	<</if>>

+ 2 - 2
sugarcube/src/autogenerated/npcs/katja/katja_uni_sex.tw

@@ -579,7 +579,7 @@
 		You shake your head. "No, I'm sure. I'm ready and I want you to by my first."
 		You start to lower yourself, you feel the tip of his dick slide into your twat and you slow down as you take more of his length into you. You feel the pain of your hymen tearing, but it also feels good, better than you''d have thought.
 		Lazar seems content to let you control things and he coaxes Katja to sit on his face.
-	<<elseif getvar("$stat['vaginal']") == 0>>
+	<<elseif $pc.sexStat('vaginal') == 0>>
 		"Please be gentle, this is my first time with a man," you tell him.
 		<p>He looks a bit surprised. "You're a virgin? You sure? I could fuck you in the ass instead, if you want."</p>
 		<p>"No, I'm not a virgin! I've just never been with a guy before," you tell him as you slowly start lowering yourself down, guiding his dick into your wet slit.</p>
@@ -686,7 +686,7 @@
 		You take a deep breath and slowly release it as you feel the tip of his cock pressing against your virgin sphincter.
 		You let out a gasp when his head pops into your butt. "See, that wasn''t so bad," he says as you adjust to his member inside of your ass.
 		<p>He starts to slowly move his cock inside of you. Katja places her head next to yours. "It doesn't feel that painful, does it, $pc.name_nick? Feels really good?"</p>
-	<<elseif getvar("$stat['anal']") == 0>>
+	<<elseif $pc.sexStat('anal') == 0>>
 		"This is my first time trying this with a guy," you tell him.
 		He looks at you and smiles. "Don't worry, it will feel good. Just remember to breathe and relax."
 		You take a deep breath and slowly release it as you feel the tip of his cock pressing against your butthole.

+ 6 - 6
sugarcube/src/autogenerated/npcs/martin/MartinSex.tw

@@ -87,7 +87,7 @@
 				<<elseif getvar("$exhibitionist_lvl") > 0 and getvar("$cycle") == 0>>
 					<p>You are half-tempted to go on the offensive, show him what he's missing out on by acting like a knight in shining armor and see if that won't change his mind, but then you remember that you are on your period, so stripping isn't really a sexy option right now.</p>
 				<</if>>
-				<<if getvar("$exhibitionist_lvl") > 0 and getvar("$stat['bj']") > 20 and getvar("$cycle") != 0>>
+				<<if getvar("$exhibitionist_lvl") > 0 and $pc.sexStat('bj') > 20 and getvar("$cycle") != 0>>
 					<p>Or you could just pull his pants off and blow him - you've done it enough times to know how convincing that can be.</p>
 				<<elseif getvar("$exhibitionist_lvl") > 0 and getvar("$cycle") == 0>>
 					<p>Or you could just pull his pants off and blow him - you've done it enough times to know how convincing that can be, and your period certainly isn't going to stand in the way of <i>that</i>.</p>
@@ -97,7 +97,7 @@
 						<<set $MartinStripVar = 1>> <<gt 'MartinSex' 'MartinTease'>>
 					<</actCLA>>
 				<</if>>
-				<<if getvar("$exhibitionist_lvl") > 0 and getvar("$stat['bj']") > 20>>
+				<<if getvar("$exhibitionist_lvl") > 0 and $pc.sexStat('bj') > 20>>
 					<<actCLA 'Be even more aggressive - Give Martin a blowjob'>>
 						<<set $MartinConvinceBJ = 1>> <<gt 'MartinSex3' 'MartinBlowTease'>>
 					<</actCLA>>
@@ -145,7 +145,7 @@
 				But, damn, since you are currently on your period, that isn''t an option today. You will have to think of something else or come back some other time.
 
 			<</if>>
-			<<if getvar("$exhibitionist_lvl") > 0 and getvar("$stat['bj']") > 20>>
+			<<if getvar("$exhibitionist_lvl") > 0 and $pc.sexStat('bj') > 20>>
 				<<if getvar("$cycle") == 0>>
 					A good blowjob would probably set him straight right quick, no matter what time of the month it is.
 				<<else>>
@@ -190,7 +190,7 @@
 				<<set $MartinStripVar = 1>> <<gt 'MartinSex' 'MartinTease'>>
 			<</actCLA>>
 		<</if>>
-		<<if getvar("$exhibitionist_lvl") > 0 and getvar("$stat['bj']") > 20>>
+		<<if getvar("$exhibitionist_lvl") > 0 and $pc.sexStat('bj') > 20>>
 			<<actCLA 'Be even more aggressive - Give Martin a blowjob'>>
 				<<set $MartinConvinceBJ = 1>> <<gt 'MartinSex3' 'MartinBlowTease'>>
 			<</actCLA>>
@@ -207,7 +207,7 @@
 		<<elseif getvar("$exhibitionist_lvl") > 0 and getvar("$cycle") == 0>>
 			<p>You are half-tempted to go on the offensive, show him what he's missing out on by acting like a knight in shining armor and see if that won't change his mind, but then you remember that you are on your period, so stripping isn't really a sexy option right now.</p>
 		<</if>>
-		<<if getvar("$exhibitionist_lvl") > 0 and getvar("$stat['bj']") > 20 and getvar("$cycle") != 0>>
+		<<if getvar("$exhibitionist_lvl") > 0 and $pc.sexStat('bj') > 20 and getvar("$cycle") != 0>>
 			<p>Or you could just pull his pants off and blow him - you've done it enough times to know how convincing that can be.</p>
 		<<elseif getvar("$exhibitionist_lvl") > 0 and getvar("$cycle") == 0>>
 			<p>Or you could just pull his pants off and blow him - you've done it enough times to know how convincing that can be, and your period certainly isn't going to stand in the way of <i>that</i>.</p>
@@ -304,7 +304,7 @@
 				<<set $MartinStripVar = 1>> <<gt 'MartinSex' 'MartinTease'>>
 			<</actCLA>>
 		<</if>>
-		<<if getvar("$exhibitionist_lvl") > 0 and getvar("$stat['bj']") > 20>>
+		<<if getvar("$exhibitionist_lvl") > 0 and $pc.sexStat('bj') > 20>>
 			<<actCLA 'Be even more aggressive - Give Martin a blowjob'>>
 				<<set $MartinConvinceBJ = 1>> <<gt 'MartinSex3' 'MartinBlowTease'>>
 			<</actCLA>>

+ 3 - 3
sugarcube/src/autogenerated/npcs/rex/rex_party_sexEvents.tw

@@ -1215,8 +1215,8 @@
 <<if $location_var[$here][0] == 'gangbang_indoor'>>
 	<<set $guy += 3>>
 	<<set $gang += 1>>
-	<<setinit $stat['vaginal'] += 1>>
-	<<setinit $stat['anal'] += 1>>
+	<<run $pc.sexStatInc('vaginal','aware',1)>>
+	<<run $pc.sexStatInc('anal','aware',1)>>
 	<<set $pc.pcs_vag += 3>>
 	<<set $pc.pcs_ass += 3>>
 	<<set $menu_off = 1>>
@@ -1348,7 +1348,7 @@
 <<if $location_var[$here][0] == 'boys_swalow'>>
 	<<set $menu_off = 1>>
 	<<set $time.minutes += 5>>
-	<<setinit $stat['swallow'] += 1>>
+	<<run $pc.sexStatInc('swallow','aware',1)>>
 	<<set $i = 5>>
 	<<warn 'JUMP MARKER ENCOUNTERED: :dinPartySwalloop'>>
 	<<gs 'npcgeneratec' 0 'a guy from Rex's party' `rand(17,22)`>>

+ 4 - 4
sugarcube/src/autogenerated/npcs/school/Albina/albina_chat.tw

@@ -874,7 +874,7 @@
 		You've clearly hit a nerve and quickly back off, not wanting to get hit yourself.
 		<<gs 'albina_chat' 'sex_talk'>>
 	<</actCLA>>
-	<<if getvar("$stat['anal']") == 0>>
+	<<if $pc.sexStat('anal') == 0>>
 		<<actCLA 'I want to try it (shy)'>>
 			<<image "characters/pavlovsk/school/girl/albina/albinatalk.jpg">>
 			"Well..." you stammer. "I... I want to try it and..."
@@ -911,7 +911,7 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'anal_questions_shy'>>
-	<<if getvar("$stat['anal']") == 0>>
+	<<if $pc.sexStat('anal') == 0>>
 		<<actCLA 'Where do I start?'>>
 			<p>"Well..." you mumble. "Where do I even start?"</p>
 			<p>She nods. "Humble question. Good. Too many girls try to get ahead of themselves with this kind of thing. My advice? Start small."</p>
@@ -936,7 +936,7 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'anal_questions_open'>>
-	<<if getvar("$stat['anal']") == 0>>
+	<<if $pc.sexStat('anal') == 0>>
 		<<actCLA 'Where do I start?'>>
 			<p>"Where do I even start?" you ask.</p>
 			<p>She nods. "Humble question. Too many girls try to get ahead of themselves with this kind of thing. My advice? Start small."</p>
@@ -1091,7 +1091,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['hookup']") > 0>>
+	<<if $pc.sexStat('hookup') > 0>>
 		<<actCLA 'I hook up with random guys'>>
 			<<image "characters/pavlovsk/school/girl/albina/albinatalk.jpg">>
 			<p>"You know how guys try to pick you up around town?" you ask and Albina rolls her eyes.</p>

+ 1 - 1
sugarcube/src/autogenerated/npcs/school/Albina/albina_chat2.tw

@@ -6,7 +6,7 @@
 	<<if getvar("$model['status']") == 1>>
 		<<actCLA 'I do some modelling'>>
 			<<setinit $AlbinaQW['know_model'] = $time.daystart>>
-			<<if $pc.fame('pav_modelling') >= 400 and getvar("$stat['school_knows_model']") == 0>>
+			<<if $pc.fame('pav_modelling') >= 400 and $pc.sexStat('school_knows_model') == 0>>
 				"I... do some modelling in the city..." you admit slowly. Albina''s eyes go wide.
 				<p>"Holy shit! The rumors are true!" she shouts gleefully, suddenly punching you in the arm.</p>
 				<p>"Ow! What rumors?" you ask in sudden bewilderment.</p>

+ 3 - 3
sugarcube/src/autogenerated/npcs/school/Albina/albina_starlets.tw

@@ -148,7 +148,7 @@
 					<p>"Well, am I good enough to join?" you ask.</p>
 					Albina just laughs at you dismissively. "While I <i>could</i> train you properly so you're not a floundering embarrassment, appearance is everything to the Starlets, so try improving your looks first and then get back to us."
 					She turns and leaves with the rest of the troupe, her comments leaving you feeling slightly insulted.
-				<<elseif getvar("$pc.hotcat") >= 6 and $pc.thinksIsVirgin and getvar("$stat['vaginal']") == 0>>
+				<<elseif getvar("$pc.hotcat") >= 6 and $pc.thinksIsVirgin and $pc.sexStat('vaginal') == 0>>
 					<p>"Well, am I good enough to join?" you ask.</p>
 					<p>Albina thinks about it and looks at the other girls; some nod, others shrug.</p>
 					Finally, she answers. "Okay, we'll take a shot. Maybe you'll learn something by training with <i>actual</i> dancers. We practice every day except Tuesday and Thursday, so don't be late."
@@ -202,7 +202,7 @@
 					<p>"Well of course you are! I can't let someone as good as you go to waste on these bow-legged amateurs. We practice every day except for Tuesday and Thursday, so don't be late!" Albina replies.</p>
 					<<setinit $AlbinaQW['StarletsJoined'] = 1>>
 					<!-- !! If Sveta is virgin-->
-					<<if $pc.thinksIsVirgin and getvar("$stat['vaginal']") == 0>>
+					<<if $pc.thinksIsVirgin and $pc.sexStat('vaginal') == 0>>
 						<p>When the other girls leave, Albina pulls you aside. "Hey, are you 'pure'?" she whispers.</p>
 						<p>"Why would you want to know such a personal thing?" you reply as you blush.</p>
 						"Oh, it's... nothing. I just... look out for my girls is all..." she says with hesitation.
@@ -281,7 +281,7 @@
 							<<gs 'sweat' 'remove_deo'>>
 
 						<</if>>
-						<<if getvar("$pc.pcs_apprnc") >= 52 and (!$pc.thinksIsVirgin or getvar("$stat['vaginal']") > 0)>>
+						<<if getvar("$pc.pcs_apprnc") >= 52 and (!$pc.thinksIsVirgin or $pc.sexStat('vaginal') > 0)>>
 							<<if getvar("$pc.pcs_apprnc") < 64>>
 								<<setinit $AlbinaQW['StarletCustomer'] = rand(1,15)>>
 							<<elseif getvar("$pc.pcs_apprnc") < 72>>

+ 7 - 7
sugarcube/src/autogenerated/npcs/school/Albina/albina_wine_event.tw

@@ -122,7 +122,7 @@
 				<p>"I jus' wanted to see if <i>you</i> were the weird one!" Albina mumbles into her glass as she takes another sip, her voice echoing off the inside.</p>
 				<<gs 'albina_wine_event' 'wine_chat2'>>
 			<</actCLA>>
-			<<if getvar("$stat['mast']") > 0>>
+			<<if $pc.sexStat('mast') > 0>>
 				<<actCLA 'I lick my fingers after masturbating'>>
 					"I like the taste of my pussy too," you slur back. "Sometimes I stick my fingers in my mouf after I masturbate, lick it all off."
 					<p>"Oh fuck, I do that to! Suck my dildo fucking clean right after I cum. It always makes me want to rub another one out. <i>Fuuuuck</i>, I wanna rub one out right now," Albina moans while unconsciously squeezing her thighs together.</p>
@@ -255,13 +255,13 @@
 				You continue to try and elude her responses, though she grows increasingly bold and entertained in her teasing questions about you.
 				<<gs 'albina_wine_event' 'wine_chat2'>>
 			<</actCLA>>
-			<<if getvar("$stat['mast']") == 0>>
+			<<if $pc.sexStat('mast') == 0>>
 				<<actCLA 'Never done it'>>
 					"I don't," you say taking another sip of wine.
 					<p>"<i>What?!</i>" Albina sits up suddenly, causing you to curse as wine sloshes out of the glass and onto your chest.</p>
 					"I've never masturbated before," you say, scowling as you wipe your mouth.
 					<p>"Bull<i>Shit</i>! Everyone masturbates!"</p>
-					<<if getvar("$stat['sex']") > 0>>
+					<<if $pc.sexStat('sex') > 0>>
 						<<actCLA 'I fuck boys instead'>>
 							"I let cock take care of my needs," you say, taking another sip with a smirk. Albina returns it immediately with a sly grin.
 							"Oh. Well, I guess if you're just gonna slut it up instead..."
@@ -305,7 +305,7 @@
 						"You just need practice," Albina says. "Schlick off every day for a month and I guarantee you'll find what turns your crank."
 						<<gs 'albina_wine_event' 'wine_chat2'>>
 					<</actCLA>>
-					<<if getvar("$stat['sex']") > 0>>
+					<<if $pc.sexStat('sex') > 0>>
 						<<actCLA 'I fuck boys instead'>>
 							"I let cock take care of my needs," you say, taking another sip with a smirk. Albina returns it immediately with a sly grin.
 							"Oh. Well, I guess if you're just gonna slut it up instead..."
@@ -338,7 +338,7 @@
 				<<setinit $albina['wine_convo_5'] = $time.daystart>>
 			<</if>>
 			<p>"$pc.name_nick, what kind of porn are you into?" Albina asks.</p>
-			<<if getvar("$stat['porn']") == 0>>
+			<<if $pc.sexStat('porn') == 0>>
 				<<actCLA 'I`ve never watched porn'>>
 					"None," you say. "I've never watched porn."
 					"You're such a prude," she giggles drunkenly.
@@ -747,7 +747,7 @@
 		"A good showerhead is a girl''s best friend," Albina nods.
 		<<gs 'albina_wine_event' 'wine_chat2'>>
 	<</actCLA>>
-	<<if getvar("$stat['vaginal_dildo']") > 0 and getvar("$dildo") >= 1>>
+	<<if $pc.sexStat('vaginal_dildo') > 0 and getvar("$dildo") >= 1>>
 		<<actCLA 'Dildo'>>
 			<<image "characters/pavlovsk/school/girl/albina/event/wine_talk.jpg">>
 			"I use a dildo too," you say. "But not on my ass."
@@ -765,7 +765,7 @@
 			<<gs 'albina_wine_event' 'wine_chat2'>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['anal_dildo']") > 0>>
+	<<if $pc.sexStat('anal_dildo') > 0>>
 		<<actCLA 'Anal dildo'>>
 			<<image "characters/pavlovsk/school/girl/albina/event/wine_talk.jpg">>
 			"Something like what you do," you say. "I like taking my dildo up the ass too."

+ 6 - 6
sugarcube/src/autogenerated/npcs/school/Albina/albinahome.tw

@@ -614,8 +614,8 @@
 <<if $location_var[$here][0] == 'receive_strapon'>>
 	<<set $menu_off = 1>>
 	<<set $lesbian += 1>>
-	<<if getvar("$stat['bj']") == 0>>
-		<<setinit $stat['bj'] += 1>>
+	<<if $pc.sexStat('bj') == 0>>
+		<<run $pc.sexStatInc('bj','aware',1)>>
 		<<image "characters/pavlovsk/school/girl/albina/sex/game/bj.jpg">>
 		<p>Albina notices you staring at the dildo as she tightens the straps firmly around her hips. "You okay, $pc.name_nick?"</p>
 		"Yeah, it's just..." you start to answer.
@@ -693,8 +693,8 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'albina_ass_fucks_you'>>
-	<<if getvar("$stat['anal']") == 0 and getvar("$stat['anal_strap']") == 0>>
-		<<if getvar("$stat['anal_dildo']") == 0 and getvar("$stat['anal_fist']") == 0 and getvar("$stat['self_fisting_anal']") == 0>>
+	<<if $pc.sexStat('anal') == 0 and $pc.sexStat('anal_strap') == 0>>
+		<<if $pc.sexStat('anal_dildo') == 0 and $pc.sexStat('anal_fist') == 0 and $pc.sexStat('self_fisting_anal') == 0>>
 			<!-- !!The player character has never had anything larger than a finger in her ass-->
 			<<actCLA 'Anal virgin'>>
 				<<image "locations/pavlovsk/resident/albinahome/albinaroom.jpg">>
@@ -711,7 +711,7 @@
 				<</actCLA>>
 			<</actCLA>>
 		<</if>>
-		<<if getvar("$stat['anal_fist']") == 1 or getvar("$stat['self_fisting_anal']") == 1>>
+		<<if $pc.sexStat('anal_fist') == 1 or $pc.sexStat('self_fisting_anal') == 1>>
 			<!-- !!The player character has had a fist (her own or another persons) in her ass-->
 			<<actCLA 'Only a fist'>>
 				<<image "locations/pavlovsk/resident/albinahome/albinaroom.jpg">>
@@ -731,7 +731,7 @@
 				<</actCLA>>
 			<</actCLA>>
 		<</if>>
-		<<if getvar("$stat['anal_dildo']") == 1>>
+		<<if $pc.sexStat('anal_dildo') == 1>>
 			<!-- !!The player character has used a dildo on her ass-->
 			<<actCLA 'Only a dildo'>>
 				<<image "locations/pavlovsk/resident/albinahome/albinaroom.jpg">>

+ 1 - 1
sugarcube/src/autogenerated/school/gschool_boys_bathroom.tw

@@ -1617,7 +1617,7 @@
 		<!-- Boy A129 -->
 		<<image "characters/pavlovsk/school/teacher/serafim/sex/school/caughtbj2.jpg">>
 		<p>He places his hand at the back of your head to keep you from pulling away as he jams his dick down your throat. As you gag on his dickcm $dick_girth dick, you feel his balls slap against your chin and your slobber running out of your mouth as he gags you over and over, violently deepthroating you before he finally pulls his dick out of your mouth and pulls you up to your feet by your hair. His slips one hand between your legs to your pussy and slides his fingers inside you.</p>
-		<<if getvar("$stat['vaginal']") == 0>>
+		<<if $pc.sexStat('vaginal') == 0>>
 			<p>He snorts in surprise. "I can't believe a slut like you is still a virgin. That's okay, you have another hole for fucking. Isn't that right?" he asks rhetorically. Still holding you by the hair, he turns you around and bends you over in the stall. You feel him spit between your ass cheeks and his fingers work his spit into your asshole. Before you realize it, you feel the tip of his dick pressed up against your anus.</p>
 			<<run $pc.arouse('bj',5,undefined,['rough','deepthroat'])>>
 			<<actCLA 'Get butt fucked'>>

+ 1 - 1
sugarcube/src/autogenerated/school/gschool_girls_bathroom.tw

@@ -900,7 +900,7 @@
 		<<run $pc.arouse('vaginal_finger',5,undefined,['lesbian'])>>
 		Just as you're approaching the edge, she stops, pulls her fingers out of you and steps away. You want to protest, but her order preempts it: "Spread your legs."
 		<<actCLA 'Strip'>>
-			<<if getvar("$stat['vaginal']") == 0>>
+			<<if $pc.sexStat('vaginal') == 0>>
 				<<image "characters/pavlovsk/school/teacher/raven/sex/school/caughtfanal1.jpg">>
 				You do as she says as she eummages through her bag and pulls out a strapon harness with a large black dildo attached to it. Steeling yourself, you reach down between your legs and spread your pussy lips to make it easier for her to enter.
 				<p>She tightens the strapon into place and squirts some lube over it. You start rubbing your pussy as she comes closer, planning to enjoy this, before she grabs you and drags you into the stall you were in and bends you over. You wince in pain when instead of feeling it slip into your pussy, the lubed-up tip force its way into your asshole. It hurts, and you try to pull away, but she grabs your hips and keeps you in place. "You've been a bad little girl, $pc.name_first!" Ms. Braakman states, her voice somewhere between imperious and gleeful. "And bad little girls deserve to have their asses punished." You shiver in fearful anticipation as she slowly pushes the massive dildo deeper inside.</p>

+ 3 - 3
sugarcube/src/autogenerated/school/gschool_sex.tw

@@ -24,7 +24,7 @@
 			<p>You return to school with the guys, a hand groping your ass as you walk through the hallway. You pretend to ignore it and just keep walking, but your heart is racing as they pull you into the men's room. "Get on your knees slut!" Vitek snarls as he pulls his dick out of his pants.</p>
 			<<actCLA 'Suck his dick'>>
 				<<set $time.minutes += 15>>
-				<<setinit $stat['bj'] += 3>>
+				<<run $pc.sexStatInc('bj','aware',3)>>
 				<<if $npcs.get('A9','Sex') == 0>>
 					<<run $npcs.set('A9','Sex',1)>> <<setn $guy += 1>>
 
@@ -42,7 +42,7 @@
 				<<run $pc.arouse('bj',10,undefined,['group','sub'])>>
 				<<actCLA 'Let them cum on your face'>>
 					<<set $time.minutes += 15>>
-					<<setinit $stat['bj'] += 3>>
+					<<run $pc.sexStatInc('bj','aware',3)>>
 					<<set $spafinloc = 12>>
 					<<gs 'cum_manage'>>
 					<<set $spafinloc = 11>>
@@ -497,7 +497,7 @@
 			<<set $orgasm_txt = 'Taking you upstairs to a window sill, he tells you to lay down on your back on the ledge. Once you oblige, he spreads your legs and slowly slides his cock into your dripping pussy, beginning to fuck you in low, long strokes. Every thrust puts him in a little deeper and when he bottoms out in you, he begins to fuck you in earnest. You've given into your pleasure a long time ago; you are nothing but putty in his hands, letting him fuck you however he wants as long as you get off on it. Before too long you reach your orgasm and grasp your arms tightly around his neck to keep yourself from falling out of the window. Your spasming pussy is milking his cock and you can tell he's getting close.'>>
 			<<gs 'dinsex' 'vaginal_sex' 10>>
 			<<actCLA 'Take his load in your mouth'>>
-				<<setinit $stat['bj'] += 1>>
+				<<run $pc.sexStatInc('bj','aware',1)>>
 				<<gs 'cum_call' 'mouth' $boy 1>>
 				<<gs 'cum_call' 'breasts' $boy 1>>
 				<<run $pc.arousalEnd()>>

+ 20 - 20
sugarcube/src/autogenerated/start/city/intro_city_select.tw

@@ -972,9 +972,9 @@
 	<<set $pc.pcs_vag = 1>>
 	<<set $pc.pcs_throat = 1>>
 
-	<<setinit $stat['hj'] = 10>>
-	<<setinit $stat['bj'] = 5>>
-	<<setinit $stat['vaginal'] = 1>>
+	<<run $pc.sexStatSet('hj','aware',10)>>
+	<<run $pc.sexStatSet('bj','aware',5)>>
+	<<run $pc.sexStatSet('vaginal','aware',1)>>
 	<<set $Gspassed = 0>>
 	<<run $pc.fameInc('pav','sex',30)>>
 	<<set $grupTipe = 4>>
@@ -1137,14 +1137,14 @@
 		<<set $pc.pcs_vag = 1>>
 		<<set $pc.pcs_ass = 1>>
 		<<set $pc.pcs_throat = 5>>
-		<<setinit $stat['hj'] = 15>>
-		<<setinit $stat['bj'] = 10>>
-		<<setinit $stat['vaginal'] = 3>>
-		<<setinit $stat['anal'] = 1>>
-		<<setinit $stat['vaginal_finger'] = 5>>
-		<<setinit $stat['vaginal_finger_give'] = 5>>
-		<<setinit $stat['cuni'] = 3>>
-		<<setinit $stat['cuni_give'] = 3>>
+		<<run $pc.sexStatSet('hj','aware',15)>>
+		<<run $pc.sexStatSet('bj','aware',10)>>
+		<<run $pc.sexStatSet('vaginal','aware',3)>>
+		<<run $pc.sexStatSet('anal','aware',1)>>
+		<<run $pc.sexStatSet('vaginal_finger','aware',5)>>
+		<<run $pc.sexStatSet('vaginal_finger_give','aware',5)>>
+		<<run $pc.sexStatSet('cuni','aware',3)>>
+		<<run $pc.sexStatSet('cuni_give','aware',3)>>
 		<<run $pc.fameInc('pav','sex',40)>>
 		<<set $Gspassed = 0>>
 		<<gs 'npc_relationship' 'socialgroup_setting' 5 0 0 10 0 0>>
@@ -1403,15 +1403,15 @@
 		<<set $motherKnowSpravka = 2>>
 		<<set $Gspassed = 0>>
 		<<set $pc.salo = 70>>
-		<<setinit $stat['porn'] = 75>>
-		<<setinit $stat['mast'] = 100>>
-		<<setinit $stat['hj'] = 70>>
-		<<setinit $stat['bj'] = 50>>
-		<<setinit $stat['vaginal_finger'] = 20>>
-		<<setinit $stat['cuni'] = 5>>
-		<<setinit $stat['vaginal'] = 30>>
-		<<setinit $stat['anal'] = 20>>
-		<<setinit $stat['group'] = 5>>
+		<<run $pc.sexStatSet('porn','aware',75)>>
+		<<run $pc.sexStatSet('mast','aware',100)>>
+		<<run $pc.sexStatSet('hj','aware',70)>>
+		<<run $pc.sexStatSet('bj','aware',50)>>
+		<<run $pc.sexStatSet('vaginal_finger','aware',20)>>
+		<<run $pc.sexStatSet('cuni','aware',5)>>
+		<<run $pc.sexStatSet('vaginal','aware',30)>>
+		<<run $pc.sexStatSet('anal','aware',20)>>
+		<<run $pc.sexStatSet('group','aware',5)>>
 		<<set $guy = 15>>
 		<<set $orgasm = 120>>
 		<<set $swallow = 40>>

+ 23 - 23
sugarcube/src/autogenerated/start/intro_sg_select.tw

@@ -750,9 +750,9 @@
 	<<set $pc.pcs_vag = 1>>
 	<<set $pc.pcs_throat = 1>>
 
-	<<setinit $stat['hj'] = 10>>
-	<<setinit $stat['bj'] = 5>>
-	<<setinit $stat['vaginal'] = 1>>
+	<<run $pc.sexStatSet('hj','aware',10)>>
+	<<run $pc.sexStatSet('bj','aware',5)>>
+	<<run $pc.sexStatSet('vaginal','aware',1)>>
 	<<set $Gspassed = 0>>
 	<<run $pc.fameInc('pav','sex',30)>>
 	<<set $grupTipe = 4>>
@@ -908,9 +908,9 @@
 		<<set $pc.pcs_vag = 1>>
 		<<set $pc.pcs_throat = 1>>
 		<<set $pc.salo = 130>>
-		<<setinit $stat['hj'] = 10>>
-		<<setinit $stat['bj'] = 5>>
-		<<setinit $stat['vaginal'] = 2>>
+		<<run $pc.sexStatSet('hj','aware',10)>>
+		<<run $pc.sexStatSet('bj','aware',5)>>
+		<<run $pc.sexStatSet('vaginal','aware',2)>>
 		<<run $q.school.func('grade_award','math',55)>>
 		<<run $q.school.func('grade_award','rus',55)>>
 		<<run $q.school.func('grade_award','lit',55)>>
@@ -982,14 +982,14 @@
 		<<set $pc.pcs_vag = 1>>
 		<<set $pc.pcs_ass = 1>>
 		<<set $pc.pcs_throat = 5>>
-		<<setinit $stat['hj'] = 15>>
-		<<setinit $stat['bj'] = 10>>
-		<<setinit $stat['vaginal'] = 3>>
-		<<setinit $stat['anal'] = 1>>
-		<<setinit $stat['vaginal_finger'] = 5>>
-		<<setinit $stat['vaginal_finger_give'] = 5>>
-		<<setinit $stat['cuni'] = 3>>
-		<<setinit $stat['cuni_give'] = 3>>
+		<<run $pc.sexStatSet('hj','aware',15)>>
+		<<run $pc.sexStatSet('bj','aware',10)>>
+		<<run $pc.sexStatSet('vaginal','aware',3)>>
+		<<run $pc.sexStatSet('anal','aware',1)>>
+		<<run $pc.sexStatSet('vaginal_finger','aware',5)>>
+		<<run $pc.sexStatSet('vaginal_finger_give','aware',5)>>
+		<<run $pc.sexStatSet('cuni','aware',3)>>
+		<<run $pc.sexStatSet('cuni_give','aware',3)>>
 		<<run $pc.fameInc('pav','sex',40)>>
 		<<set $Gspassed = 0>>
 		<<gs 'npc_relationship' 'socialgroup_setting' 5 0 0 10 0 0>>
@@ -1262,15 +1262,15 @@
 		<<run $inventory.set('tampon',40)>>
 		<<set $Gspassed = 0>>
 		<<set $pc.salo = 70>>
-		<<setinit $stat['porn'] = 75>>
-		<<setinit $stat['mast'] = 100>>
-		<<setinit $stat['hj'] = 70>>
-		<<setinit $stat['bj'] = 50>>
-		<<setinit $stat['vaginal_finger'] = 20>>
-		<<setinit $stat['cuni'] = 5>>
-		<<setinit $stat['vaginal'] = 30>>
-		<<setinit $stat['anal'] = 20>>
-		<<setinit $stat['group'] = 5>>
+		<<run $pc.sexStatSet('porn','aware',75)>>
+		<<run $pc.sexStatSet('mast','aware',100)>>
+		<<run $pc.sexStatSet('hj','aware',70)>>
+		<<run $pc.sexStatSet('bj','aware',50)>>
+		<<run $pc.sexStatSet('vaginal_finger','aware',20)>>
+		<<run $pc.sexStatSet('cuni','aware',5)>>
+		<<run $pc.sexStatSet('vaginal','aware',30)>>
+		<<run $pc.sexStatSet('anal','aware',20)>>
+		<<run $pc.sexStatSet('group','aware',5)>>
 		<<set $guy = 15>>
 		<<set $orgasm = 120>>
 		<<set $swallow = 40>>

+ 3 - 3
sugarcube/src/autogenerated/start/intro_sg_select_custom.tw

@@ -263,9 +263,9 @@
 	<<set $pc.tan = 0>>
 	<<set $pc.pcs_throat = 0>>
 	<<set $pc.pcs_vag = 0>>
-	<<setinit $stat['bj'] = 0>>
-	<<setinit $stat['hj'] = 0>>
-	<<setinit $stat['vaginal'] = 0>>
+	<<run $pc.sexStatSet('bj','aware',0)>>
+	<<run $pc.sexStatSet('hj','aware',0)>>
+	<<run $pc.sexStatSet('vaginal','aware',0)>>
 	<<set $soc_grup = 'outcast'>>
 	<<set $grupTipe = 5>>
 <</if>>

+ 4 - 4
sugarcube/src/autogenerated/unsorted/BDSM.tw

@@ -15,7 +15,7 @@ You make your way to a room where a makeshift decor has been setup to shoot a po
 	You started filming a scene with two actors
 	<<actCLA 'Shoot a scene with blowjob'>>
 		 		<<set $guy += 2>>
-		<<setinit $stat['bj'] += 2>>
+		<<run $pc.sexStatInc('bj','aware',2)>>
 		<<set $gang += 1>>
 		<!-- !!Image needed			if pcs_haircol = 0:'<<image `'locations/city/redlight/studio_porn/brunette_3.jpg'`>>'-->
 		<!-- !!Image needed			if pcs_haircol = 1:'<<image `'locations/city/redlight/studio_porn/brown_3.jpg'`>>'-->
@@ -23,7 +23,7 @@ You make your way to a room where a makeshift decor has been setup to shoot a po
 		<!-- !!Image needed			if pcs_haircol = 3:'<<image `'locations/city/redlight/studio_porn/blonde_3.jpg'`>>'-->
 		You purse your lips and start sucking on the first cock while vigorously pistoning the other shaft with your hand. You alternate sucking and pistoning each cock with gusto, going as far as trying to swallow both simultaneously all while making eye contact with the lens in the hope enticing your viewers.
 		<<actCLA 'Get into doggy-style'>>
-			 			<<setinit $stat['anal'] += 1>>
+			 			<<run $pc.sexStatInc('anal','aware',1)>>
 			<<set $pc.pcs_ass += 1>>
 			<!-- !!Image needed				if pcs_haircol = 0:'<<image `'locations/city/redlight/studio_porn/brunette_4.jpg'`>>'-->
 			<!-- !!Image needed				if pcs_haircol = 1:'<<image `'locations/city/redlight/studio_porn/brown_4.jpg'`>>'-->
@@ -43,7 +43,7 @@ You make your way to a room where a makeshift decor has been setup to shoot a po
 					<!-- !!Image needed					if pcs_haircol = 3:'<<image `'locations/city/redlight/studio_porn/blonde_6.jpg'`>>'-->
 					Your male costars exchange roles fucking your face and ass. You slather away unpreoccupied by the taste of your own ass.
 					<<actCLA 'Prepare for double penetration'>>
-						 						<<setinit $stat['vaginal'] += 1>>
+						 						<<run $pc.sexStatInc('vaginal','aware',1)>>
 						<<set $pc.pcs_vag += 1>>
 						<!-- !!Image needed						if pcs_haircol = 0:'<<image `'locations/city/redlight/studio_porn/brunette_7.jpg'`>>'-->
 						<!-- !!Image needed						if pcs_haircol = 1:'<<image `'locations/city/redlight/studio_porn/brown_7.jpg'`>>'-->
@@ -57,7 +57,7 @@ You make your way to a room where a makeshift decor has been setup to shoot a po
 							<!-- !!Image needed							if pcs_haircol = 3:'<<image `'locations/city/redlight/studio_porn/blonde_8.jpg'`>>'-->
 							You let yourself be manhandled and stretched by the two brutes fucking you into pleasure numbing submission with their large pleasure rods. They roll you over and spread your legs farther apart giving the camera an excellent view of dripping quim and orgasming rosebud.
 							<<actCLA 'Time to finish...'>>
-								 								<<setinit $stat['swallow'] += 1>>
+								 								<<run $pc.sexStatInc('swallow','aware',1)>>
 								<!-- !!Image needed								if pcs_haircol = 0:'<<image `'locations/city/redlight/studio_porn/brunette_9.jpg'`>>'-->
 								<!-- !!Image needed								if pcs_haircol = 1:'<<image `'locations/city/redlight/studio_porn/brown_9.jpg'`>>'-->
 								<!-- !!Image needed								if pcs_haircol = 2:'<<image `'locations/city/redlight/studio_porn/redhead_9.jpg'`>>'-->

+ 12 - 12
sugarcube/src/autogenerated/unsorted/Cum_Manage.tw

@@ -101,7 +101,7 @@
 	<!-- !!{ Debug information, comment out in release versions. } -->
 	<!-- !!	'<br><b><font color="red">cum_manage</font> called with: spafinloc=<<spafinloc>> cumarrkno=<<cumarrkno>> cummarrcon=<<cumarrcon>> cumarrdel=<<cumarrdel>></b>'-->
 	<!-- !!{ We count every time somebody cum on or inside the MC. It is used for spatter and cum matching in femcyc} -->
-	<<setinit $stat['cum_count'] += 1>>
+	<<run $pc.sexStatInc('cum_count','aware',1)>>
 	<<set $condom_break = 0>>
 	<!-- !!{	Here we define our important variables.} -->
 	<<set $dick = $npcs.get($boy,'dick')>>
@@ -177,7 +177,7 @@
 			<<setinit $cumarrnam[$cumarrtemp] = $boy>>
 			<<setinit $cumarrage[$cumarrtemp] = 0>>
 			<<setinit $cumarrdel[$cumarrtemp] = 0>>
-			<<setinit $cumarrcnt[$cumarrtemp] = $stat['cum_count']>>
+			<<setinit $cumarrcnt[$cumarrtemp] = $pc.sexStat('cum_count')'cum_count'>
 			<<setinit $cumarrppt[$cumarrtemp] = $sexspecpot>>
 			<!-- !!{	Now it sets up the splatter and actual internal cum.
 			!!	First it sets the array to the spatter end of file.	Then it checks for riding bareback.
@@ -244,14 +244,14 @@
 						<<setinit $sparrage[$sparrtemp] = 0>>
 						<<setinit $sparrloc[$sparrtemp] = 0>>
 						<<setinit $sparrnam[$sparrtemp] = $boy>>
-						<<setinit $sparrcnt[$sparrtemp] = $stat['cum_count']>>
+						<<setinit $sparrcnt[$sparrtemp] = $pc.sexStat('cum_count')'cum_count'>
 						<<setinit $sparrppt[$sparrtemp] = $sexspecpot>>
 						<<setinit $sparrvol[$sparrtemp] += $sexvolume>>
 						<<set $cumsumbod += $sexvolume>>
 						<<set $cumsumvag += $sexvolume>>
 						<<set $condom_break = 1>>
-						<<setinit $stat['broken_condoms'] += 1>>
-						<<setinit $stat['last_broken_condom'] = $time.daystart>>
+						<<run $pc.sexStatInc('broken_condoms','aware',1)>>
+						<<run $pc.sexStatSet('last_broken_condom','aware',$time.daystart)>>
 						<<setinit $sparridt[$sparrtemp] = $cumarrkno[$cumarrtemp]>>
 						<<setinit $sparrslc[$sparrtemp] = 0>>
 						<<ferteggfather>>
@@ -267,7 +267,7 @@
 					<<setinit $sparrage[$sparrtemp] = 0>>
 					<<setinit $sparrloc[$sparrtemp] = 0>>
 					<<setinit $sparrnam[$sparrtemp] = $boy>>
-					<<setinit $sparrcnt[$sparrtemp] = $stat['cum_count']>>
+					<<setinit $sparrcnt[$sparrtemp] = $pc.sexStat('cum_count')'cum_count'>
 					<<setinit $sparrppt[$sparrtemp] = $sexspecpot>>
 					<<setinit $sparrvol[$sparrtemp] += $sexvolume>>
 					<<set $cumsumbod += $sexvolume>>
@@ -284,7 +284,7 @@
 					<<setinit $sparrage[$sparrtemp] = 0>>
 					<<setinit $sparrloc[$sparrtemp] = 17>>
 					<<setinit $sparrnam[$sparrtemp] = $boy>>
-					<<setinit $sparrcnt[$sparrtemp] = $stat['cum_count']>>
+					<<setinit $sparrcnt[$sparrtemp] = $pc.sexStat('cum_count')'cum_count'>
 					<<setinit $sparrppt[$sparrtemp] = $sexspecpot>>
 					<<setinit $sparrvol[$sparrtemp] += $sexvolume>>
 					<<set $cumsumbod += $sexvolume>>
@@ -316,7 +316,7 @@
 				<<setinit $sparrage[$sparrtemp] = 0>>
 				<<setinit $sparrloc[$sparrtemp] = 0>>
 				<<setinit $sparrnam[$sparrtemp] = $boy>>
-				<<setinit $sparrcnt[$sparrtemp] = $stat['cum_count']>>
+				<<setinit $sparrcnt[$sparrtemp] = $pc.sexStat('cum_count')'cum_count'>
 				<<setinit $sparrppt[$sparrtemp] = $sexspecpot>>
 				<<setinit $sparrvol[$sparrtemp] += $sexvolume>>
 				<<set $cumsumbod += $sexvolume>>
@@ -329,7 +329,7 @@
 			<</if>>
 			<!-- !! creampie vaginal statistics:-->
 			<<if getvar("$spafinloc") == 0>>
-				<<setinit $stat['last_creampie'] = $time.daystart>>
+				<<run $pc.sexStatSet('last_creampie','aware',$time.daystart)>>
 				<!-- !!STD checks-->
 				<<if getvar("$cumnostd") == 0>>
 					<<gs 'dinSex' 'std_trigger'>>
@@ -363,7 +363,7 @@
 			!!	If you are naked and it calls for a clothing strike, it will go to your body instead.} -->
 		<<elseif getvar("$spafinloc") > 0 and getvar("$sexcontra") < 3>>
 			<<setinit $sparrage[$sparrtemp] = 0>>
-			<<setinit $sparrcnt[$sparrtemp] = $stat['cum_count']>>
+			<<setinit $sparrcnt[$sparrtemp] = $pc.sexStat('cum_count')'cum_count'>
 			<<if $wardrobe.pantyworntype == 'none'>>
 				<<if getvar("$spafinloc") == 2>>
 					<<set $spafinloc = 1>>
@@ -418,7 +418,7 @@
 		<!-- !!{	And this is the pre ejaculate release talked about above.} -->
 	<<elseif getvar("$sexcontra") < 3 and getvar("$spafinloc") == 0>>
 		<<setinit $cumarrnam[$cumarrtemp] = $boy>>
-		<<setinit $cumarrcnt[$cumarrtemp] = $stat['cum_count']>>
+		<<setinit $cumarrcnt[$cumarrtemp] = $pc.sexStat('cum_count')'cum_count'>
 		<<setinit $cumarrppt[$cumarrtemp] = $sexspecpot>>
 		<<setinit $cumarrage[$cumarrtemp] = 0>>
 		<<setinit $cumarrdel[$cumarrtemp] = 0>>
@@ -483,7 +483,7 @@
 		<<elseif getvar("$cloc") == 10>>
 			<<set $part = 'arms'>>
 		<<elseif getvar("$cloc") == 11>>
-			<<setinit $stat['cum_facial'] += 1>>
+			<<run $pc.sexStatInc('cum_facial','aware',1)>>
 			<<set $part = 'face'>>
 		<<elseif getvar("$cloc") == 14>>
 			<<set $part = 'stomach'>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/Kwlake2.tw

@@ -38,7 +38,7 @@ While you're walking along the beach, Kat notices a man sitting by himself.
 		<<run $pc.arouse('cuni',5,undefined,['lesbian'])>>
 		<<run $pc.arouse('bj',-5)>>
 		<<actCLA 'Continue'>>
-			 			<<setinit $stat['vaginal'] += 1>>
+			 			<<run $pc.sexStatInc('vaginal','aware',1)>>
 			<<image "locations/city/residential/lake/sex/kwlake2/kwlake4.jpg">>
 			After a few minutes the man pulls away from you. He makes you lie down on the sand, so he can fuck you.
 			Kat is all for the idea and encourages you to do what he says. Meanwhile the man helps you down and brings his cock to your snatch, penetrating you with one fierce thrust.

+ 1 - 1
sugarcube/src/autogenerated/unsorted/ParkKafe.tw

@@ -309,7 +309,7 @@
 					You can feel yourself getting wetter as he continues to tease you, which turns you on more and more...
 					<<run $pc.arouse('kiss',5)>>
 					<<run $pc.arouse('foreplay',-5)>>
-					<<if getvar("$stat['vaginal']") == 0>>
+					<<if $pc.sexStat('vaginal') == 0>>
 						<<actCLA 'Stop, I`m a virgin'>>
 							<<image "locations/city/centralpark/cafe/sex/kissing2.jpg">>
 							Suddenly, you snap back to reality and you hastily push him away. "Wait, I'm a virgin..."

+ 3 - 3
sugarcube/src/autogenerated/unsorted/Prostitute.tw

@@ -444,7 +444,7 @@
 						<<set $bjrand = rand(1, 100)>>
 						<<set $finances.cash += $ProsMoney * 100>>
 						<<if getvar("$bjrand") <= 50>>
-							<<if getvar("$stat['bj']") <= 15>>
+							<<if $pc.sexStat('bj') <= 15>>
 								<<set $spafinloc = 12>>
 								<<gs 'cum_manage'>>
 								<<image "shared/sex/cum/mouth/cum32.jpg">>
@@ -461,7 +461,7 @@
 								<<run $pc.arouse('bj',10,undefined,['prostitution','unknown'])>>
 							<</if>>
 						<<elseif getvar("$bjrand") <= 80>>
-							<<if getvar("$stat['bj']") <= 15>>
+							<<if $pc.sexStat('bj') <= 15>>
 								<<set $spafinloc = 11>>
 								<<gs 'cum_manage'>>
 								<<image "shared/sex/cum/facial/facial17.jpg">>
@@ -488,7 +488,7 @@
 								<<run $pc.arouse('bj',10,undefined,['prostitution','unknown'])>>
 							<</if>>
 						<<else>>
-							<<if getvar("$stat['bj']") <= 15>>
+							<<if $pc.sexStat('bj') <= 15>>
 								<<set $spafinloc = 7>>
 								<<set $pc.pcs_throat += 1>>
 								<<gs 'cum_manage'>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/Voltrener - WIP.tw

@@ -347,7 +347,7 @@
 															<!-- !! IMAGE LINK-->
 															<<set $cumspclnt = 9>>
 															<<gs 'cum_cleanup'>>
-															<<setinit $stat['swallow'] += 1>>
+															<<run $pc.sexStatInc('swallow','aware',1)>>
 															<<run $pc.arousalEnd()>>
 															<!-- !! IMAGE LINK-->
 															"Yes Coach," you grin, staring at him while you lick the cum from your fingers. You don't break eye contact until every drop is gone. Afterwards, you take a nearby tissue and clean up the mess you made on the floor as well.

+ 6 - 6
sugarcube/src/autogenerated/unsorted/Voltrenersex.tw

@@ -88,7 +88,7 @@
 	<</actCLA>>
 <</if>>
 <<if $location_var[$here][0] == 'sex'>>
-	<<setinit $stat['hj'] += 1>>
+	<<run $pc.sexStatInc('hj','aware',1)>>
 	<<set $pc.pcs_horny += 10>>
 	<<if getvar("$trenerSex") > 0>>
 		<<setn $trenerSex += 1>>
@@ -98,7 +98,7 @@
 	<<video "locations/pavlovsk/community/gym/volley/sex/voitrensex3.mp4">>
 	<p>He unzips his fly and pulls down his pants, letting his dickcm $dick_girth cock spring to life. Clasping his dick in your hand, you start to stroke him, your every movement causing him to moan in pleasure.</p>
 	<<actCLA 'Balls'>>
-		<<setinit $stat['bj'] += 1>>
+		<<run $pc.sexStatInc('bj','aware',1)>>
 		<<set $eggs += 1>>
 		<<image "locations/pavlovsk/community/gym/volley/sex/voitrensex4.jpg">>
 		After jerking him off for a time, you lift his cock up and admire his balls. You begin to lick and suck them as you continue to jerk him off.
@@ -125,7 +125,7 @@
 			<<gs 'willpower' 'sex' 'self' 'hard'>>
 			<<video "locations/pavlovsk/community/gym/volley/sex/voitrensex6.mp4">>
 			Kissing the head of his cock, you open your mouth and began to caress his dick with your tongue, lightly sucking it. Then, you start to suck his cock in earnest, running your lips up and down his shaft as you bob your head, you hands caressing his balls as you do.
-			<<if getvar("$trenerSex") >= 3 and $pc.thinksIsVirgin and getvar("$stat['vaginal']") == 0 and getvar("$mesec") <= 0>>
+			<<if getvar("$trenerSex") >= 3 and $pc.thinksIsVirgin and $pc.sexStat('vaginal') == 0 and getvar("$mesec") <= 0>>
 				<<if $will_cost <= $pc.pcs_willpwr>>
 					<<actCLA 'Lose your virginity (will_cost Willpower)'>>
 						 <<gt 'Voltrenersex' 'Defl'>>
@@ -210,7 +210,7 @@
 					<<gt 'Voltrenersex' 'Anal'>>
 				<</actCLA>>
 			<</if>>
-			<<if getvar("$trenerSex") >= 15 and getvar("$pc.pcs_vag") > 13 and getvar("$stat['vaginal']") > 0 and getvar("$mesec") <= 0>>
+			<<if getvar("$trenerSex") >= 15 and getvar("$pc.pcs_vag") > 13 and $pc.sexStat('vaginal') > 0 and getvar("$mesec") <= 0>>
 				<<actCLA 'Take it in your pussy'>>
 					<<gt 'Voltrenersex' 'vag'>>
 				<</actCLA>>
@@ -297,7 +297,7 @@
 			<<gt 'gdksport' 'start'>>
 		<</actCLA>>
 		<<actCLA 'Stay'>>
-			<<setinit $stat['cuni'] += 1>>
+			<<run $pc.sexStatInc('cuni','aware',1)>>
 			<<set $pc.pcs_horny = 100>>
 			<<set $time.minutes += 10>>
 			<<run $npcs.inc('A69','rel',10)>>
@@ -390,7 +390,7 @@
 <</if>>
 <<if $location_var[$here][0] == 'bj'>>
 	<<actCLA 'Give blowjob'>>
-		<<setinit $stat['bj'] += 1>>
+		<<run $pc.sexStatInc('bj','aware',1)>>
 		<<if getvar("$trenerSex") > 0>>
 			<<setn $trenerSex += 1>>
 

+ 3 - 3
sugarcube/src/autogenerated/unsorted/arousal.tw

@@ -205,11 +205,11 @@ stat['think_virgin'] = 0: Had intercourse by penis, strap, dildo and/or fist [co
 
 	<</if>>
 	<<if getvar("$stim['gloryhole']") == 1>>
-		<<setinit $stat['gloryhole'] += 1>>
+		<<run $pc.sexStatInc('gloryhole','aware',1)>>
 
 	<</if>>
 	<<if getvar("$stim['hidden_gloryhole']") == 1>>
-		<<setinit $stat['hidden_gloryhole'] += 1>>
+		<<run $pc.sexStatInc('hidden_gloryhole','aware',1)>>
 
 	<</if>>
 	<<if getvar("$stim['rape']") == 1>>
@@ -237,7 +237,7 @@ stat['think_virgin'] = 0: Had intercourse by penis, strap, dildo and/or fist [co
 
 	<</if>>
 	<<if getvar("$stim['masturbate']") == 1>>
-		<<setinit $stat['mast'] += 1>>
+		<<run $pc.sexStatInc('mast','aware',1)>>
 
 	<</if>>
 	<<set $anal_slip to null>>

+ 3 - 3
sugarcube/src/autogenerated/unsorted/blowPR.tw

@@ -89,7 +89,7 @@
 			<<set $spafinloc = 12>>
 			<<gs 'cum_manage'>>
 			<<set $pc.pcs_breath = 0>>
-			<<if getvar("$stat['bj']") <= 15>>
+			<<if $pc.sexStat('bj') <= 15>>
 				<<image "shared/sex/cum/mouth/cum32.jpg">>
 				You don't have much experience giving blowjobs, and even though you do your best, the man can tell you're not very good at it.
 				Your mouth makes him feel good nevertheless, and after a few minutes the man groans and cums in your mouth. You wince from the unpleasant taste of his sperm, earning you a doubtful look from him.
@@ -108,7 +108,7 @@
 		<<elseif getvar("$bjrand") <= 80>>
 			<<set $spafinloc = 11>>
 			<<gs 'cum_manage'>>
-			<<if getvar("$stat['bj']") <= 15>>
+			<<if $pc.sexStat('bj') <= 15>>
 				<<image "shared/sex/cum/facial/facial17.jpg">>
 				You don't have much experience giving blowjobs, and even though you do your best, the man can tell you're not very good at it.
 				<p>When the man cums, he suddenly pulls his cock out of your mouth and shoots his load all over your face. Not expecting this, you didn't have time to close your eyes and some of it ends up in your eye... ouch!</p>
@@ -134,7 +134,7 @@
 				<</actCLA>>
 			<</if>>
 		<<elseif getvar("$bjrand") <= 100>>
-			<<if getvar("$stat['bj']") <= 15>>
+			<<if $pc.sexStat('bj') <= 15>>
 				<<set $spafinloc = 7>>
 				<<gs 'cum_manage'>>
 				<<image "shared/sex/cum/chest/bjt2.jpg">>

+ 5 - 5
sugarcube/src/autogenerated/unsorted/buklinik_event.tw

@@ -781,7 +781,7 @@
 									<<warn "CONVERSION ERROR 4c40cdafd69cc3af5998d0a94d4fec53">>
 									You suddenly wanted to he made you a pussy.'
 									<<actCLA 'Want Cooney'>>
-										<<setinit $stat['cuni'] += 1>>
+										<<run $pc.sexStatInc('cuni','aware',1)>>
 										<<video "locations/city/industrial/mercyclinic/sex/facesitting.mp4">>
 										You told him about it. He immediately agreed. You sat on his face and began to slowly move his hips. Arousal gushed on and you reschili...
 										<<actCLA 'To accelerate the pace'>>
@@ -894,7 +894,7 @@
 						Member Michael tensed a second time, and you quickly put a condom on it.
 						I''d give you just the tip, and see what happens.
 						<<actCLA 'Enter the penis'>>
-							<<setinit $stat['vaginal'] += 1>>
+							<<run $pc.sexStatInc('vaginal','aware',1)>>
 							<<set $pc.pcs_vag += 1>>
 							<!-- Boy A185 -->
 							<<gs 'cum_manage'>>
@@ -933,7 +933,7 @@
 			 			<<set $buklinikDay = $time.daystart>>
 			Misha you undressed and undressed themselves. His cock was almost solid.
 			<<actCLA 'Further'>>
-				<<setinit $stat['hj'] += 1>>
+				<<run $pc.sexStatInc('hj','aware',1)>>
 				You held his penis in his hands for a few minutes and he asked if he could kiss my vagina.
 				<<actCLA 'Of course'>>
 					<<video "locations/city/industrial/mercyclinic/sex/lick.mp4">>
@@ -942,11 +942,11 @@
 						<<video "locations/city/industrial/mercyclinic/sex/dickplay.mp4">>
 						You ran a finger across the cock and he jerked slightly, which caused you to smile.
 						<<actCLA 'Suck'>>
-							<<setinit $stat['bj'] += 1>>
+							<<run $pc.sexStatInc('bj','aware',1)>>
 							<<video "locations/city/industrial/mercyclinic/sex/suck.mp4">>
 							You suck dick
 							<<actCLA 'Take the dick'>>
-								<<setinit $stat['vaginal'] += 1>>
+								<<run $pc.sexStatInc('vaginal','aware',1)>>
 								<<set $pc.pcs_vag += 1>>
 								<!-- Boy A185 -->
 								<<gs 'cum_manage'>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/burger.tw

@@ -475,7 +475,7 @@
 						<<gs 'cum_call' 'face' 'A75' 1>>
 						<<gs 'cum_call' 'face' $BurgerQW['GroupSex1']>>
 						<<gs 'cum_call' 'face' $BurgerQW['GroupSex2']>>
-						<<setinit $stat['facial'] += 3>>
+						<<run $pc.sexStatInc('facial','aware',3)>>
 						<<image "locations/city/citycenter/diner/sex/tri2.jpg">>
 						Hot jets of sperm slap you in the face, you close your eyes and just feel the stinky seed on your skin. Soon after the sprays of semen stop and your face is all covered with a thick layer of sticky cum. The guys look satisfied and laugh at you. Afterwards they exit the warehouse leaving you by yourself.
 						<<run $pc.arousalEnd()>>

+ 8 - 8
sugarcube/src/autogenerated/unsorted/cikl.tw

@@ -404,20 +404,20 @@
 <</if>>
 <<gs 'fertility' 'birth_control'>>
 <<if getvar("$birth_control['think_safe']") == 1>>
-	<<setinit $stat['forgot_bc_pill'] = 0>>
+	<<run $pc.sexStatSet('forgot_bc_pill','aware',0)>>
 <<elseif $pilldaychk < $time.daystart - 1 and $pilldaychk > $time.daystart - 5 and getvar("$pillcon2") > 0>>
-	<<setinit $stat['forgot_birth_control_pill'] = 1>>
+	<<run $pc.sexStatSet('forgot_birth_control_pill','aware',1)>>
 	<!-- !!	stat['forget_bc_count'] += 1-->
 <</if>>
-<<setinit $stat['safe_day'] = 0>>
-<<setinit $stat['probably_safe_day'] = 0>>
-<<setinit $stat['dangerous_day'] = 0>>
+<<run $pc.sexStatSet('safe_day','aware',0)>>
+<<run $pc.sexStatSet('probably_safe_day','aware',0)>>
+<<run $pc.sexStatSet('dangerous_day','aware',0)>>
 <<if getvar("$cycle") > 3>>
-	<<setinit $stat['safe_day'] = 1>>
+	<<run $pc.sexStatSet('safe_day','aware',1)>>
 <<elseif getvar("$cycle") == 0 or getvar("$cycle") == 3>>
-	<<setinit $stat['probably_safe_day'] = 1>>
+	<<run $pc.sexStatSet('probably_safe_day','aware',1)>>
 <<else>>
-	<<setinit $stat['dangerous_day'] = 1>>
+	<<run $pc.sexStatSet('dangerous_day','aware',1)>>
 <</if>>
 <!-- !!-------------------------------------------------------------------------------------------------------------->
 <<if getvar("$pc.pcs_breath") == 1>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/cum_call.tw

@@ -108,7 +108,7 @@ gs 'cum_call', 'anus', 'plumber' - for an unknown partner named "plumber"} -->
 		<<set $spafinloc = 12>>
 	<<elseif $location_var[$here][0] == 'mouth_swallow'>>
 		<<set $spafinloc = 12>>
-		<<setinit $stat['swallow'] += 1>>
+		<<run $pc.sexStatInc('swallow','aware',1)>>
 	<<elseif $location_var[$here][0] == 'hands'>>
 		<<set $spafinloc = 13>>
 	<<elseif $location_var[$here][0] == 'stomach'>>

+ 9 - 9
sugarcube/src/autogenerated/unsorted/dinSex.tw

@@ -549,20 +549,20 @@
 	<<set $eff_contra to null>>
 <</if>>
 <<if $location_var[$here][0] == 'bj_random'>>
-	<<if getvar("$stat['bj']") == 0>>
+	<<if $pc.sexStat('bj') == 0>>
 		You are anxious about the idea of sucking a cock, having never given a blowjob before. You wonder what it will taste like.
 
 	<</if>>
-	<<if getvar("$stat['bj']") <= 10>>
+	<<if $pc.sexStat('bj') <= 10>>
 		<p>Hesitantly bringing your face to $boydesc's crotch, you lightly press your $pc_desc['lips'] lips against $xyr dick, tasting the slight saltiness.</p>
 		Then you start flicking your tongue around the head as you wrap your lips further, stroking the shaft in the meantime.
-	<<elseif getvar("$stat['bj']") <= 25>>
+	<<elseif $pc.sexStat('bj') <= 25>>
 		<p>You lightly put $boydesc's cock into your mouth, rolling your tongue around the head as you rhytmically stroke the shaft.</p>
 		After a moment you start getting into rhythm, lightly bobbing your head although not sucking his dick much further than the tip.
-	<<elseif getvar("$stat['bj']") <= 40>>
+	<<elseif $pc.sexStat('bj') <= 40>>
 		<p>You wrap your $pc_desc['lips'] lips around the $penis_desc in front of you. You give $boydesc a moment to adjust to the warmthness with more than half his cock resting in your mouth</p>
 		<p>Then you greedily lean forwards, taking $xyr dick deeper in your mouth and start to bob your head back and forth along $xyr $penis_desc</p>
-	<<elseif getvar("$stat['bj']") <= 60>>
+	<<elseif $pc.sexStat('bj') <= 60>>
 		<p>Imagining how the hard cock in front of your face would feel between your $pc_desc['lips'] lips, you just can't hold back and hungrily take the whole length in your mouth until its tip is resting at the entrance of your throat</p>
 		You playfully roll your tongue around the cock you are sucking and try to see if you can swallow the whole length down your throat.
 	<<else>>
@@ -570,14 +570,14 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'bj_swallow_random'>>
-	<<if getvar("$stat['bj']") <= 10>>
+	<<if $pc.sexStat('bj') <= 10>>
 		Not knowing what else to do, you forcefully gulp down and swallow the sperm filling your mouth. The taste lingers at the back of your throat
-	<<elseif getvar("$stat['bj']") <= 25>>
+	<<elseif $pc.sexStat('bj') <= 25>>
 		You swallow the viscous semen that is filling your mouth, then lick the softening member clean.
 		Afterwards you lean forward to plant a tender kiss on the freshly milked cock.
-	<<elseif getvar("$stat['bj']") <= 40>>
+	<<elseif $pc.sexStat('bj') <= 40>>
 		You swallow the warm cum that fills your mouth and smile as you lick the sticky leftovers with your tongue.
-	<<elseif getvar("$stat['bj']") <= 60>>
+	<<elseif $pc.sexStat('bj') <= 60>>
 		Your mouth is quickly filled with warm sperm and you smile as you gulp it down and enjoy the now familiar tart taste.
 	<<else>>
 		You let the warm cum drain down the throat, enjoying the familiar taste as you feel it slowly making its way down.

+ 3 - 3
sugarcube/src/autogenerated/unsorted/din_bad.tw

@@ -1354,11 +1354,11 @@
 					<<set $cycreport_txt = 'It has been '+$temp[1]+' days since the start of your last period. <font color=red>It is currently your fertile stage.</font>'>>
 				<<elseif getvar("$birth_control['implant_status']") == 1>>
 					<<set $cycreport_txt = 'It has been '+$temp[1]+' days since the start of your last period. <font color=red>Your implant stopped working. You need a new one.</font>'>>
-				<<elseif getvar("$birth_control['think_safe']") != 1 and getvar("$stat['safe_day']") == 1>>
+				<<elseif getvar("$birth_control['think_safe']") != 1 and $pc.sexStat('safe_day') == 1>>
 					<<set $cycreport_txt = 'It has been '+$temp[1]+' days since the start of your last period. <font color=green>Today is a safe day to have sex.</font>'>>
-				<<elseif getvar("$birth_control['think_safe']") != 1 and getvar("$stat['probably_safe_day']") == 1>>
+				<<elseif getvar("$birth_control['think_safe']") != 1 and $pc.sexStat('probably_safe_day') == 1>>
 					<<set $cycreport_txt = 'It has been '+$temp[1]+' days since the start of your last period. <font color=blue>Today is <i>probably</i> a safe day to have sex.</font>'>>
-				<<elseif getvar("$birth_control['think_safe']") != 1 and getvar("$stat['dangerous_day']") == 1>>
+				<<elseif getvar("$birth_control['think_safe']") != 1 and $pc.sexStat('dangerous_day') == 1>>
 					<<set $cycreport_txt = 'It has been '+$temp[1]+' days since the start of your last period. <font color=red>Today is a dangerous day to have sex.</font>'>>
 				<<else>>
 					<<set $cycreport_txt = 'It has been '+$temp[1]+' days since the start of your last period.'>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/dinsexFX.tw

@@ -136,7 +136,7 @@
 	<<setn $pc.pcs_vag += 1>>
 
 <</if>>
-	<<setinit $stat['vaginal'] += 1>>
+	<<run $pc.sexStatInc('vaginal','aware',1)>>
 	<<if getvar("$protect") < 2>>
 		<!-- !!Unprotected sex-->
 		<<if rand(0, 1) == 0 or getvar("$pose") == 3>>

+ 11 - 11
sugarcube/src/autogenerated/unsorted/dreams.tw

@@ -31,7 +31,7 @@
 		<</if>>-->
 		<<if getvar("$pc.pcs_horny") > 50>>
 			<!-- !erotic dream-->
-			<<if getvar("$pc.pcs_vag") == 0 and $pc.thinksIsVirgin and getvar("$pc.pcs_ass") == 0 and getvar("$stat['anal']") == 0 and getvar("$stat['bj']") == 0 and getvar("$stat['hj']") == 0 and getvar("$stat['cuni']") == 0 and getvar("$girl") == 0 and getvar("$guy") == 0>>
+			<<if getvar("$pc.pcs_vag") == 0 and $pc.thinksIsVirgin and getvar("$pc.pcs_ass") == 0 and $pc.sexStat('anal') == 0 and $pc.sexStat('bj') == 0 and $pc.sexStat('hj') == 0 and $pc.sexStat('cuni') == 0 and getvar("$girl") == 0 and getvar("$guy") == 0>>
 				<!-- !dreams only for virgin-->
 				<<set $ivrand = rand(1,5)>>
 			<<elseif getvar("$haveHypnoDream") == 1>>
@@ -170,9 +170,9 @@
 	<p></p>
 	<<if getvar("$guy") == 0>>
 		You wake up feeling strange and excited, even though you have never had sex the dream felt very real.
-	<<elseif getvar("$pc.pcs_vag") > 0 and getvar("$stat['vaginal']") == 0>>
+	<<elseif getvar("$pc.pcs_vag") > 0 and $pc.sexStat('vaginal') == 0>>
 		You have never had a cock in your pussy and yet the sensations from the dream felt very real and have gotten you a little excited.
-	<<elseif getvar("$stat['vaginal']") > 0 or getvar("$pc.pcs_vag") > 0>>
+	<<elseif $pc.sexStat('vaginal') > 0 or getvar("$pc.pcs_vag") > 0>>
 		<p>It seems your $vaginatipe pussy urgently needs some attention.</p>
 	<</if>>
 	<<if getvar("$dreamedOfTherapistFucking") == 1>>
@@ -256,7 +256,7 @@
 	<</if>>
 	<<if $pc.thinksIsVirgin>>
 		You wake up feeling strange and excited, even though you have never had sex the dream felt very real.
-	<<elseif getvar("$pc.pcs_vag") > 0 and getvar("$stat['vaginal']") == 0>>
+	<<elseif getvar("$pc.pcs_vag") > 0 and $pc.sexStat('vaginal') == 0>>
 		You have never had a cock in your pussy and yet the sensations from the dream felt very real and have gotten you a little excited.
 	<<else>>
 		<p>It seems your $vaginatipe pussy urgently needs some attention.</p>
@@ -273,9 +273,9 @@
 		<<image "shared/home/bedroom/dream/sex/anal2.jpg">>
 		You dream that you are laying on your side and a guy is fucking your ass. You moan loudly from the feeling.
 	<</if>>
-	<<if getvar("$stat['anal']") == 0 and getvar("$pc.pcs_ass") == 0>>
+	<<if $pc.sexStat('anal') == 0 and getvar("$pc.pcs_ass") == 0>>
 		You wake up feeling strange and excited, even though you have never had anal sex the dream felt very real.
-	<<elseif getvar("$stat['anal']") == 0>>
+	<<elseif $pc.sexStat('anal') == 0>>
 		You have never had a cock in your ass but the sensations from the dream felt very real and have gotten you a little excited.
 	<<else>>
 		<p>It seems your $anustipe anus urgently needs some attention.</p>
@@ -292,7 +292,7 @@
 		<<image "shared/home/bedroom/dream/sex/bj2.jpg">>
 		You dream that are you tied to a staircase squatting down with you legs wide open sucking and savouring the dick of a guy dressed in a nice and expensive looking suit.
 	<</if>>
-	<<if getvar("$stat['bj']") == 0>>
+	<<if $pc.sexStat('bj') == 0>>
 		You have never given anyone a blow job before but the feeling of the dick in your mouth felt very real, the dream has excited you a little.
 	<<else>>
 		It seems subconsciously you want to suck a dick.
@@ -330,13 +330,13 @@
 		<<image "shared/home/bedroom/dream/sex/gang2.jpg">>
 		<p>You dream that you are in-between two hot guys. One is fucking your pussy and the other one is fucking your ass. Both of them slam you with force causing you to moan loudly with pleasure.</p>
 	<</if>>
-	<<if $pc.thinksIsVirgin and getvar("$pc.pcs_ass") == 0 and getvar("$stat['anal']") == 0 and getvar("$stat['bj']") == 0 and getvar("$stat['hj']") == 0 and getvar("$gang") == 0 and getvar("$guy") == 0 and getvar("$girl") == 0>>
+	<<if $pc.thinksIsVirgin and getvar("$pc.pcs_ass") == 0 and $pc.sexStat('anal') == 0 and $pc.sexStat('bj') == 0 and $pc.sexStat('hj') == 0 and getvar("$gang") == 0 and getvar("$guy") == 0 and getvar("$girl") == 0>>
 		You haven''t even had normal sex, least of all a threesome. Even though you are excited, the dream still scared you a little.
-	<<elseif getvar("$stat['vaginal']") > 0 and getvar("$pc.pcs_ass") == 0 and getvar("$stat['anal']") == 0 and getvar("$stat['bj']") == 0 and getvar("$stat['hj']") == 0 and getvar("$gang") == 0>>
+	<<elseif $pc.sexStat('vaginal') > 0 and getvar("$pc.pcs_ass") == 0 and $pc.sexStat('anal') == 0 and $pc.sexStat('bj') == 0 and $pc.sexStat('hj') == 0 and getvar("$gang") == 0>>
 		Even though you've had sex, the thought of a gangbang, even in a dream, is a little alarming.
-	<<elseif getvar("$pc.pcs_vag") == 0 and getvar("$stat['vaginal']") == 0 and getvar("$pc.pcs_ass") > 0 and getvar("$gang") == 0 and getvar("$guy") > 0 and getvar("$girl") == 0>>
+	<<elseif getvar("$pc.pcs_vag") == 0 and $pc.sexStat('vaginal') == 0 and getvar("$pc.pcs_ass") > 0 and getvar("$gang") == 0 and getvar("$guy") > 0 and getvar("$girl") == 0>>
 		Even though you are only technically still a virgin, the thought of a gangbang, even in a dream, is a little alarming.
-	<<elseif getvar("$pc.pcs_ass") == 0 and getvar("$stat['anal']") == 0 and getvar("$gang") == 0 and getvar("$guy") > 0 and getvar("$girl") == 0>>
+	<<elseif getvar("$pc.pcs_ass") == 0 and $pc.sexStat('anal') == 0 and getvar("$gang") == 0 and getvar("$guy") > 0 and getvar("$girl") == 0>>
 		It seems that in your dreams one guy at a time is not enough...
 	<<elseif getvar("$gang") > 0 and getvar("$guy") > 0 and getvar("$girl") == 0>>
 		It seems that your experience with swinging with a few guys was not in vain and your subconscious is actively reminding you about it.

+ 3 - 3
sugarcube/src/autogenerated/unsorted/eugeneev1.tw

@@ -260,7 +260,7 @@
 				<<gt 'Lakecafe' 'main'>>
 			<</actCLA>>
 		<</actCLA>>
-		<<if getvar("$stat['vaginal']") >= 1>>
+		<<if $pc.sexStat('vaginal') >= 1>>
 			<<actCLA 'Let her fuck you'>>
 				<<image "characters/city/eugene/sex/work3.jpg">>
 				When she pulls her dick out of your mouth, and you don't protest, she flips you over onto your back before grabbing you by the leg and spinning you around. You spread your legs wide for her, and within moments you feel the tip of her dick rubbing against your slit. Once you are wet enough, she slides her dick inside your pussy and starts slowly fucking you, causing you to moan.
@@ -353,7 +353,7 @@
 		<<run $npcs.dec('A89','rel',10)>>
 		<<set $time.minutes += 5>>
 		<<video "pc/reactions/no.mp4">>
-		<<if getvar("$stat['vaginal']") == 0>>
+		<<if $pc.sexStat('vaginal') == 0>>
 			You think about it before shaking your head. "Um, no, I'm not going to trade sex for photos. Sorry."
 			She frowns but nods. "I understand. I just don't want images of me out there. You never know how it might get out on the internet."
 			With your hopes dashed, you pack up your stuff. "Okay, well, guess I'll see you around then..."
@@ -368,7 +368,7 @@
 			<<gt 'city_industrial'>>
 		<</actCLA>>
 	<</actCLA>>
-	<<if getvar("$stat['vaginal']") >= 1>>
+	<<if $pc.sexStat('vaginal') >= 1>>
 		<<actCLA 'Agree'>>
 			<<run $npcs.inc('A89','rel',5)>>
 			<<image "pc/activities/photography/foto/people/6.jpg">>

+ 3 - 3
sugarcube/src/autogenerated/unsorted/event.tw

@@ -609,7 +609,7 @@
 	<<gs 'npcgeneratec' 0 'gloryhole stranger' `rand(19,45)`>>
 
 	<<gs 'cum_call' 'mouth_swallow' $boy>>
-	<<setinit $stat['gloryhole'] += 1>>
+	<<run $pc.sexStatInc('gloryhole','aware',1)>>
 	<<image "locations/city/residential/street/sex/15933_markdavisdonnaannika_447.jpg">>
 	When you're downstairs, the girl moves you into a dark room with a round hole in one wall. Almost immediately, a cock appears from the hole.
 	"Proceed", commandeds the girl.
@@ -632,7 +632,7 @@
 	<<gs 'npcgeneratec' 0 'stranger' `rand(19,45)`>>
 
 	<<gs 'cum_call' 'mouth_swallow' $boy>>
-	<<setinit $stat['gloryhole'] += 1>>
+	<<run $pc.sexStatInc('gloryhole','aware',1)>>
 	<<set $dimagh_counter += 1>>
 	<<if getvar("$dimagh_counter") <= 8>>
 		<<warn 'JUMP COMMAND ENCOUNTERED: jump gloryhole1'>>
@@ -670,7 +670,7 @@
 	<<gs 'npcgeneratec' 0 'stranger' `rand(19,45)`>>
 
 	<<gs 'cum_call' 'mouth_swallow' $boy>>
-	<<setinit $stat['gloryhole'] += 1>>
+	<<run $pc.sexStatInc('gloryhole','aware',1)>>
 	<<set $dimagh_counter += 1>>
 	<<if getvar("$dimagh_counter") <= 8>>
 		<<warn 'JUMP COMMAND ENCOUNTERED: jump gloryhole2'>>

+ 4 - 4
sugarcube/src/autogenerated/unsorted/fbDormD.tw

@@ -191,19 +191,19 @@
 	<<actCLA 'Brush up'>>
 		<<set $menu_off = 1>>
 		<<if getvar("$ppbj") > 0>>
-		<<setinit $stat['bj'] += 1>>
+		<<run $pc.sexStatInc('bj','aware',1)>>
 
 	<</if>>
 		<<if getvar("$pphj") > 0>>
-		<<setinit $stat['hj'] += 1>>
+		<<run $pc.sexStatInc('hj','aware',1)>>
 
 	<</if>>
 		<<if getvar("$ppsex") > 0>>
-		<<setinit $stat['vaginal'] += 1>>
+		<<run $pc.sexStatInc('vaginal','aware',1)>>
 
 	<</if>>
 		<<if getvar("$ppanal") > 0>>
-		<<setinit $stat['anal'] += 1>>
+		<<run $pc.sexStatInc('anal','aware',1)>>
 
 	<</if>>
 		<<set $time.minutes += 5>>

+ 4 - 4
sugarcube/src/autogenerated/unsorted/fbHouse.tw

@@ -48,19 +48,19 @@
 			<<run $pc.arouse('vaginal',5)>>
 			<<actCLA 'Brush up'>>
 				<<if getvar("$ppbj") > 0>>
-					<<setinit $stat['bj'] += 1>>
+					<<run $pc.sexStatInc('bj','aware',1)>>
 
 				<</if>>
 				<<if getvar("$pphj") > 0>>
-					<<setinit $stat['hj'] += 1>>
+					<<run $pc.sexStatInc('hj','aware',1)>>
 
 				<</if>>
 				<<if getvar("$ppsex") > 0>>
-					<<setinit $stat['vaginal'] += 1>>
+					<<run $pc.sexStatInc('vaginal','aware',1)>>
 
 				<</if>>
 				<<if getvar("$ppanal") > 0>>
-					<<setinit $stat['anal'] += 1>>
+					<<run $pc.sexStatInc('anal','aware',1)>>
 
 				<</if>>
 				<<set $time.minutes += 5>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/foto_events.tw

@@ -1101,7 +1101,7 @@
 							<p>"Vell? Vhat are we waiting for?"</p>
 							<p>"You can't do this!"</p>
 							<p>"And vhy not?"</p>
-							<<if getvar("$stat['vaginal']") == 0>>
+							<<if $pc.sexStat('vaginal') == 0>>
 								<<actCLA 'I`m a virgin!'>>
 									<<image "locations/city/citycenter/photo/foto.jpg">>
 									<p>"I'm a virgin! I've never had sex before! I can't lose my virginity like this to some guy I've never met before in the middle of some modelling job!"</p>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/gdksport.tw

@@ -887,7 +887,7 @@
 							<</actCLA>>
 						<<else>>
 							<<if getvar("$pc.pcs_horny") >= 100>>
-								<<if getvar("$stat['anal']") >= 10 and getvar("$orgasm") > 0>>
+								<<if $pc.sexStat('anal') >= 10 and getvar("$orgasm") > 0>>
 									<<set $pc.pcs_mood += 20>>
 									<<set $orgasm_txt = 'Your whole body contracts and then you cry out in orgasm.'>>
 									<<set $orgasm_or = 'custom'>>

+ 3 - 3
sugarcube/src/autogenerated/unsorted/gevent.tw

@@ -67,8 +67,8 @@
 	<<set $menu_off = 1>>
 	<<set $dmishaday = $time.daystart>>
 	<<set $dick = 18>>
-	<<setinit $stat['vaginal'] += 1>>
-	<<setinit $stat['bj'] += 1>>
+	<<run $pc.sexStatInc('vaginal','aware',1)>>
+	<<run $pc.sexStatInc('bj','aware',1)>>
 	<<set $cumprecheck = 1>>
 	<<gs 'cum_manage'>>
 	<<set $spafinloc = 14>>
@@ -105,7 +105,7 @@
 	<<set $time.minutes += 15>>
 	<<set $spafinloc = 11>>
 	<<gs 'cum_manage'>>
-	<<setinit $stat['bj'] += 1>>
+	<<run $pc.sexStatInc('bj','aware',1)>>
 	<<run $pc.fameInc('pav','sex',8)>>
 	<<set $finances.cash += 100>>
 	<<image "locations/pavlovsk/park/sex/2.jpg">>

+ 12 - 12
sugarcube/src/autogenerated/unsorted/gloryhole.tw

@@ -6,9 +6,9 @@
 	<<set $menu_off = 1>>
 	<h2>Empty Stall</h2>
 	<<image "locations/shared/gloryhole/action/sitting.jpg">>
-	<<if getvar("$stat['bj']") == 0 or getvar("$stat['know_glory']") == 0>>
+	<<if $pc.sexStat('bj') == 0 or $pc.sexStat('know_glory') == 0>>
 		You walk down to the last stall and sit down, next to the toilet is a rather large almost perfectly round hole. Puzzled, you wonder how it got there and why no one has fixed it.
-	<<elseif getvar("$stat['bj']") >= 1>>
+	<<elseif $pc.sexStat('bj') >= 1>>
 		<<set $pc.pcs_horny += 10>>
 		You walk down to the last stall. The large almost perfectly round hole is still there. You wonder how many women have used that hole. You feel a little excited as you contemplate your next move.
 	<</if>>
@@ -17,9 +17,9 @@
 <<if $location_var[$here][0] == 'return'>>
 	<h2>The Last Stall</h2>
 	<<image "locations/shared/gloryhole/action/sitting.jpg">>
-	<<if getvar("$stat['bj']") == 0 or getvar("$stat['know_glory']") == 0>>
+	<<if $pc.sexStat('bj') == 0 or $pc.sexStat('know_glory') == 0>>
 		You are still in the last stall. Next to the toilet is a rather large almost perfectly round hole. You still don't know how it got there and why no one has fixed it.
-	<<elseif getvar("$stat['bj']") >= 1>>
+	<<elseif $pc.sexStat('bj') >= 1>>
 		<<set $pc.pcs_horny += 10>>
 		You are still in the last stall. The large almost perfectly round hole is still there. You wonder how many women have used that hole. You feel a little excited as you contemplate your next move.
 	<</if>>
@@ -115,9 +115,9 @@
 	<<set $time.minutes += 5>>
 	<<image "locations/shared/gloryhole/action/looking.jpg">>
 	<<wait 700>>
-	<<if getvar("$stat['gloryhole']") == 0 or rand(1,5) == 5>>
+	<<if $pc.sexStat('gloryhole') == 0 or rand(1,5) == 5>>
 		<<actCLA 'Sign the wall'>>
-			<<setinit $stat['know_glory'] = 1>>
+			<<run $pc.sexStatSet('know_glory','aware',1)>>
 			<<video "locations/shared/gloryhole/sex/ghstartled.mp4">>
 			While looking through the hole you decided to write something on the wall just above it. While you were focused on writing, you didn''t notice the dick poking through the hole until the tip of it nearly went into your mouth. Startled you jerk away from the offending penis.
 			<<actCLA 'Quickly leave the stall '>>
@@ -159,11 +159,11 @@
 				<<set $time.minutes += 10>>
 				
 				
-				<<if getvar("$stat['gloryhole']") == 0>>
+				<<if $pc.sexStat('gloryhole') == 0>>
 					<<image "shared/sex/gloryhole/ghfinger#.jpg" 1 5>>
 					You put your finger in the hole hoping to entice a man to come over...
 					<p>The man slips 100 <b>₽</b> into the hole, and then puts his erect cock through the hole.</p>
-				<<elseif getvar("$stat['gloryhole']") > 0>>
+				<<elseif $pc.sexStat('gloryhole') > 0>>
 					<<image "locations/shared/gloryhole/action/ready.jpg">>
 					You poke your finger in the hole showing that you are ready to serve a man. Then you put your face close to the hole and open your mouth.
 					<p>The stranger slips 100 <b>₽</b> into the hole, and then his erect cock pokes out of the hole.</p>
@@ -254,13 +254,13 @@
 <<if $location_var[$here][0] == 'blowjob'>>
 	<<set $guy += 1>>
 	<<set $ghnow += 1>>
-	<<setinit $stat['gloryhole'] += 1>>
+	<<run $pc.sexStatInc('gloryhole','aware',1)>>
 	<<set $temp = rand(1,5)>>
 	<<set $bjVideoSource = 'images/locations/shared/gloryhole/sex/dressed'>>
 	<center><video autoplay loop src="<<$bjVideoSource>>/bj#.mp4" 1 5></video></center>
 	<p>You wrap your lips around his dick and take his npc_dick[$npclastgenerated]cm long <<=$npcs.get($npclastgenerated,'thdick')>> cock in your mouth and start to suck it, you suck the cock enthusiastically.</p>
 	<<run $pc.arouse('bj',5,undefined,['unknown','sub'])>>
-	<<if getvar("$stat['vaginal']") > 0 or getvar("$stat['anal']") > 0>>
+	<<if $pc.sexStat('vaginal') > 0 or $pc.sexStat('anal') > 0>>
 		<<actCLA 'Undress'>>
 	<<gt 'gloryhole' 'ghsex'>>
 <</actCLA>>
@@ -309,13 +309,13 @@
 	<<video "locations/shared/gloryhole/action/undress.mp4">>
 	You let go of him and quickly undress, once you are naked you start stroking him again while you line yourself up with his dick. You badly want to fuck him.
 	<<run $pc.arouse('hj',5,undefined,['unknown','sub'])>>
-	<<if getvar("$stat['anal']") > 0>>
+	<<if $pc.sexStat('anal') > 0>>
 		<<actCLA 'Ass'>>
 	<<gt 'gloryhole' 'anal'>>
 <</actCLA>>
 
 	<</if>>
-	<<if getvar("$stat['vaginal']") > 0>>
+	<<if $pc.sexStat('vaginal') > 0>>
 		<<if $inventory.get("condom") > 0>>
 			<<actCLA "Use a condom">>
 	<<gt 'gloryhole' 'condom'>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/gopnew.tw

@@ -650,7 +650,7 @@
 			<<set $vasansex = 1>> <<setn $guy += 1>>
 
 		<</if>>
-		<<setinit $stat['bj'] += 1>>
+		<<run $pc.sexStatInc('bj','aware',1)>>
 		<<image "locations/city/residential/street/sex/rapebj2.jpg">>
 		You open your mouth but don't take his cock in your mouth. Instead you run your tongue up and down his shaft repeatedly, without much enthusiasm.
 		<p>"What is this garbage? Put some effort into it, slut! Or else..." he grunts.</p>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/gopsex.tw

@@ -584,7 +584,7 @@
 	<<actCLA 'Suck one by one'>>
 		<<gs 'gopsex' 'hide' 'group_sex_start'>> <<gt 'gopsex' 'hide' 'shgopsex_group_bj'>>
 	<</actCLA>>
-	<<if getvar("$stat['bj']") >= 50>>
+	<<if $pc.sexStat('bj') >= 50>>
 		<<actCLA 'Suck all at once'>>
 			<<gs 'gopsex' 'hide' 'group_sex_start'>> <<gt 'gopsex' 'hide' 'shgopsex_group_bja'>>
 		<</actCLA>>

+ 4 - 4
sugarcube/src/autogenerated/unsorted/gopskver.tw

@@ -207,7 +207,7 @@
 						<<run $npcs.set('A11','Sex',1)>> <<setn $guy += 1>>
 
 					<</if>>
-					<<setinit $stat['vaginal'] += 3>>
+					<<run $pc.sexStatInc('vaginal','aware',3)>>
 					<<set $gang += 1>>
 					<<set $pc.pcs_vag += 3>>
 					<<image "locations/pavlovsk/park/gop/sex/gop/gopgang.jpg">>
@@ -611,7 +611,7 @@
 <<if $location_var[$here][0] == 'BjBeerPas'>>
 	<<set $time.minutes += 30>>
 	<<gs 'cum_call' 'mouth_swallow' $boy>>
-	<<setinit $stat['bj'] += 1>>
+	<<run $pc.sexStatInc('bj','aware',1)>>
 	<<set $BjBeerActiv = 0>>
 	<<image "locations/pavlovsk/park/sex/gop/bjbeer4.jpg">>
 	You lazily take the cock in your mouth. You make a token effort of using your tongue a little, but all in all just aren''t feeling it today. The guys sit back and have another beer while you passively suck their cocks, but a half hour later they're not much closer to being satisfied than when you started.
@@ -714,7 +714,7 @@
 <</if>>
 <<if $location_var[$here][0] == 'BjBeerPhone'>>
 	<<set $pc.pcs_hairbsh = 0>>
-	<<setinit $stat['bj'] += 2>>
+	<<run $pc.sexStatInc('bj','aware',2)>>
 	<<set $pc.pcs_throat += 1>>
 	<<set $spafinloc = 11>>
 	<<gs 'cum_manage'>>
@@ -755,7 +755,7 @@
 	<</if>>
 	<<set $Doublerand = rand(14,15)>>
 	<<set $pc.pcs_hairbsh = 0>>
-	<<setinit $stat['bj'] += 2>>
+	<<run $pc.sexStatInc('bj','aware',2)>>
 	<<set $pc.pcs_throat = $pc.pcs_throat + 1>>
 	<<set $spafinloc = 11>>
 	<<gs 'cum_manage'>>

+ 2 - 2
sugarcube/src/autogenerated/unsorted/grigory.tw

@@ -122,7 +122,7 @@
 	<<actCLA 'Let him continue'>>
 		 		<<set $time.minutes += 2>>
 		<!-- Boy A221 -->
-		<<if getvar("$stat['vaginal']") == 0>>
+		<<if $pc.sexStat('vaginal') == 0>>
 			You let the kiss linger and within moments his hands are roaming over your body as he begins to undress you. There''s something animalistic in his movements, like a stud animal that can smell a mate.
 			Once naked, he pushes you onto a pile of hay, the motion only somewhat playful. Within seconds, his own clothing joins yours on the ground at his feet.
 			Moving towards you, he pauses, both affection and need clear in his expression. "I do care about you Kiska," His expression becomes self conscious, "And I've wanted this for a long time now."
@@ -1168,7 +1168,7 @@
 		Then, faster than you ever imagined the big man could move, he closes the distance between you, picking you up in a crushing hug that makes your ribs hurt. His lips press against yours, and the taste of the alcohol on his tongue is enough to make your head swim.
 		Before you even realize what is happening, Grigory lets go of you, shoving you to the ground roughly. 
 		Your heart races as you start to get up, only reaching your hands and knees before his huge hands grab your hips. With a powerful pull and the sound of ripping clothing, you feel the cool night air on your suddenly exposed bottom.
-		<<if getvar("$stat['vaginal']") == 0>>
+		<<if $pc.sexStat('vaginal') == 0>>
 			<p>"Grigory, no! I'm-" You cry in alarm, horrified at what he is about to do to you.</p>
 			One of his hands grabs the back of your neck, pushing your face into the dirt before you can protest further. A second later, you can feel his other hand brush between your legs as he searches for your slit.
 			The moment his thick finger touches the folds of your pussy, you can hear him make a pleased sound. His finger probes deeper until he finds your opening, then shoves his finger forward, tearing through your hymen painfully.

+ 1 - 1
sugarcube/src/autogenerated/unsorted/home_activity.tw

@@ -169,7 +169,7 @@
 	<<if !$pc.thinksIsVirgin>>
 		<i>Ugh, I feel awful!</i> you think to yourself. <i>I wonder if-</i>
 		You stop in shock as your brain suddenly puts the facts together:
-		<<if $time.daystart - getvar("$stat['last_man_sex_day']") < 30>>
+		<<if $time.daystart - $pc.sexStat('last_man_sex_day') < 30>>
 			<<if $time.daystart - getvar("$time.daylastperiod") > 28 and $time.daystart - getvar("$time.daylastperiod") <= 35>>
 				You've been having sex, your period is late, and you're throwing up in the morning.
 			<<elseif $time.daystart - getvar("$time.daylastperiod") > 35 and $time.daystart - getvar("$time.daylastperiod") <= 42>>

+ 2 - 2
sugarcube/src/autogenerated/unsorted/hookup.tw

@@ -592,7 +592,7 @@
 				"Makes sense," he nods, withdrawing and laying down on the bed next to you.
 				<<gs 'hookup_after' 'pre'>>
 			<</actCLA>>
-			<<if getvar("$stat['bj']") > 10>>
+			<<if $pc.sexStat('bj') > 10>>
 				<<actCLA 'I prefer giving head'>>
 					<<setinit $hookup['get_out'] = 2>>
 					"I prefer giving over receiving. I don't know, I just can't really enjoy it when someone goes down on me. Can't get out of my own head. Would rather give head instead." You smirk at him and add on a wink to the end of your statement.
@@ -1231,7 +1231,7 @@
 			"Makes sense," he nods, withdrawing and laying down on the bed next to you.
 			<<gs 'hookup_after' 'pre'>>
 		<</actCLA>>
-		<<if getvar("$stat['bj']") > 10>>
+		<<if $pc.sexStat('bj') > 10>>
 			<<actCLA 'I prefer giving head'>>
 				<<setinit $hookup['get_out'] = 2>>
 				"I prefer giving over receiving. I don't know, I just can't really enjoy it when someone goes down on me. Can't get out of my own head. Would rather give head instead." You smirk at him and add on a wink to the end of your statement.

+ 1 - 1
sugarcube/src/autogenerated/unsorted/hookup_after.tw

@@ -4,7 +4,7 @@
 <!-- !2021/05/06-->
 <<if $location_var[$here][0] == 'exit'>>
 	<<run $pc.arousalEnd()>>
-	<<setinit $stat['hookup'] += 1>>
+	<<run $pc.sexStatInc('hookup','aware',1)>>
 	<<run $npcs.inc($boy,'hookup',1)>>
 	<<run $npcs.set($boy,'last_sex',$time.daystart)>>
 	<<if getvar("$hookup['virgin']") == 1 and getvar("$hookup['fuck']") > 0>>

+ 3 - 3
sugarcube/src/autogenerated/unsorted/hookup_morning.tw

@@ -202,14 +202,14 @@
 	<</if>>
 <</if>>
 <<if $location_var[$here][0] == 'guilt1'>>
-	<<if getvar("$stat['infidelity']") <= 10>>
+	<<if $pc.sexStat('infidelity') <= 10>>
 		<<video "shared/sex/after/wakeup_shock1.mp4">>
 		You bolt upright as a lance of guilt pierces through you.
 		<p><i>My $hookup['cheat']...</i> you think.</p>
 		<<actCLA 'Wallow'>>
 			<<video "shared/sex/after/wakeup_shock2.mp4">>
 			<p>Throwing your legs over the side of the bed, you sit up, hands on your knees, breathing hard in your guilt-driven panic.</p>
-			<<if getvar("$stat['infidelity']") == 1>>
+			<<if $pc.sexStat('infidelity') == 1>>
 				<i>I just cheated on my <<$hookup[''cheat'']>>...</i>
 			<<else>>
 				<i>I cheated on my <<$hookup[''cheat'']>> again...</i>
@@ -270,7 +270,7 @@
 		<<video "shared/sex/after/wakeup_shock3.mp4">>
 		You scold yourself internally, screaming insults that impale your own soul.
 		<i>You slut! Jumping any random cock that comes your way. You're nothing but a filthy whore...</i>
-		<<if getvar("$stat['bf_cheated_on']") > 10>>
+		<<if $pc.sexStat('bf_cheated_on') > 10>>
 			You breathe deeply, letting the pain take its course, waiting for it to subside. It's nothing you haven''t felt before...
 		<</if>>
 		<<actCLA 'Continue'>>

+ 2 - 2
sugarcube/src/autogenerated/unsorted/hookup_sex.tw

@@ -812,7 +812,7 @@
 	<</actCLA>>
 	<<actCLA 'Lick your fingers clean'>>
 		<<gs 'cum_cleanup' 'cleanloc' 13>>
-		<<setinit $stat['swallow'] += 1>>
+		<<run $pc.sexStatInc('swallow','aware',1)>>
 		<h2><<<<=$npcs.get($boy,'firstname')>>>>''s Bedroom</h2>
 		<<=$npcs.get($boy,'apt_bedroom')>>
 		<p>Briefly making eye contact with <<=$npcs.get($boy,'firstname')>>, you stick out your tongue and run it up your hand, drawing loose strands of cum from it and into your mouth. You give your hand a thorough tongue bath, sucking your fingers clean at the end. Once finished, you smack your lips, smiling at <<=$npcs.get($boy,'firstname')>> who stared at you the whole time.</p>
@@ -888,7 +888,7 @@
 		<<video "shared/sex/cum/facial/facial25.mp4">>
 		You hop off the bed and kneel down, closing your eyes, opening your mouth, and sticking out your tongue as far as it can go. Moments later, you feel a hot glob of bitter liquid land directly on your tongue, followed by more that spatters across your face, running down your cheek and dripping onto your breasts. The rest spray across your lips and fill your mouth.
 		<<actCLA 'Gulp'>>
-			<<setinit $stat['swallow'] += 1>>
+			<<run $pc.sexStatInc('swallow','aware',1)>>
 			<<video "shared/sex/cum/facial/facial26.mp4">>
 			<p>A few seconds go by and no more spurts of cum land on you so you close your mouth and swallow, gulping down the entire load. You open your mouth again afterwards to pick up any stray shots, but it seems <<=$npcs.get($boy,'firstname')>> is out of ammo so you open your eyes to look at him.</p>
 			<p>"You're a swallower huh?" <<=$npcs.get($boy,'firstname')>> says, cock still hanging in front of your face.</p>

+ 7 - 7
sugarcube/src/autogenerated/unsorted/hookup_talk.tw

@@ -1278,7 +1278,7 @@ gs'hookup_talk','first_cum_lie'
 	<<if getvar("$orgasm") > 1 and ($orgasm > $hookup['orgasm'] or getvar("$hookup['fake_orgasm']") == 1) and getvar("$hookup['first_cum']") == 0>>
 		<<actCLA 'I`ve never had an orgasm before (lie)'>>
 			<<setinit $hookup['first_cum'] = 2>>
-			<<setinit $stat['first_orgasm_lie'] += 1>>
+			<<run $pc.sexStatInc('first_orgasm_lie','aware',1)>>
 			<p>"Can I tell you something?"</p>
 			"Sure," he says tiredly.
 			"This might not be important to you, but it is to me..." You pause dramatically.
@@ -1287,9 +1287,9 @@ gs'hookup_talk','first_cum_lie'
 			"You're my first one," you smile.
 			<<if $npcs.get($boy,'generous') == 1>>
 				"... you don't know how happy that makes me," he smiles back.
-				<<if getvar("$stat['first_orgasm_lie']") < 3>>
+				<<if $pc.sexStat('first_orgasm_lie') < 3>>
 					Your smile breaks into a giggle as a rush of euphoria flies through you, almost as good as the orgasm you just experienced. You're not sure why you're lying about this, but the pleasure you feel from the response seems more than enough to justify it.
-				<<elseif getvar("$stat['first_orgasm_lie']") < 10>>
+				<<elseif $pc.sexStat('first_orgasm_lie') < 10>>
 					Your smile breaks into a giggle as a rush of euphoria flies through you. The lie gives you extreme pleasure, just as it did the first few times. You don't know what it is about these lies that you love so much, but they feel so good that you could almost cum again.
 				<<else>>
 					Your smile breaks into a giggle as a rush of euphoria flies through you. One more lie on a stack of countless lies, but it never ceases to give you pleasure. You don't know what it is about these lies that you love so much, but you don't care, and just telling it and getting a genuine reaction sends another wave of warmth spreading from between your legs.
@@ -1297,18 +1297,18 @@ gs'hookup_talk','first_cum_lie'
 			<<elseif $npcs.get($boy,'selfish') == 1>>
 				"Guess you've just never been with a real man before," he grins.
 				"I guess not," you grin back, and a rush of euphoria flies through you, almost as good as the orgasm you just experienced.
-				<<if getvar("$stat['first_orgasm_lie']") < 3>>
+				<<if $pc.sexStat('first_orgasm_lie') < 3>>
 					"I guess not," you giggle back as a rush of euphoria flies through you, almost as good as the orgasm you just experienced. You're not sure why you're lying about this, but the pleasure you feel from the response seems more than enough to justify it.
-				<<elseif getvar("$stat['first_orgasm_lie']") < 10>>
+				<<elseif $pc.sexStat('first_orgasm_lie') < 10>>
 					"I guess not," you giggle back as a rush of euphoria flies through you. The lie gives you such extreme pleasure, just as it did the first few times. You don't know what it is about these lies that you love so much, but they feel so good that you could almost cum again.
 				<<else>>
 					"I guess not," you giggle back as a rush of euphoria flies through you. One more lie on a stack of countless lies, but it never ceases to give you pleasure. You don't know what it is about these lies that you love so much, but you don't care, and just telling it and getting a genuine reaction sends another wave of warmth spreading from between your legs.
 				<</if>>
 			<<else>>
 				<p>"Really...?" He doesn't say anything else, but you can tell he's in awe.</p>
-				<<if getvar("$stat['first_orgasm_lie']") < 3>>
+				<<if $pc.sexStat('first_orgasm_lie') < 3>>
 					Your smile breaks into a giggle as a rush of euphoria flies through you, almost as good as the orgasm you just experienced. You're not sure why you're lying about this, but the pleasure you feel from the response seems more than enough to justify it.
-				<<elseif getvar("$stat['first_orgasm_lie']") < 10>>
+				<<elseif $pc.sexStat('first_orgasm_lie') < 10>>
 					Your smile breaks into a giggle as a rush of euphoria flies through you. The lie gives you such extreme pleasure, just as it did the first few times. You don't know what it is about these lies that you love so much, but they feel so good that you could almost cum again.
 				<<else>>
 					Your smile breaks into a giggle as a rush of euphoria flies through you. One more lie on a stack of countless lies, but it never ceases to give you pleasure. You don't know what it is about these lies that you love so much, but you don't care, and just telling it and getting a genuine reaction sends another wave of warmth spreading from between your legs.

+ 1 - 1
sugarcube/src/autogenerated/unsorted/husbSex.tw

@@ -216,7 +216,7 @@
 	<<image "shared/sex/blowjob/bj24.jpg">>
 	Your husband''s <<husDick>> centimeter member enters your mouth.
 	<<run $pc.arouse('bj',10)>>
-	<<if getvar("$stat['bj']") == 1>>
+	<<if $pc.sexStat('bj') == 1>>
 		You think "This is exciting. I am sitting in front of a man, with his dick in my mouth."
 
 	<</if>>

+ 2 - 2
sugarcube/src/autogenerated/unsorted/kafesvid.tw

@@ -247,7 +247,7 @@
 				<p>$telsob starts up again, "$pc.name_nick, you have to at least try the yogurt. It would be a shame for it to go to waste."</p>
 				<<run $pc.arouse('hj',5,undefined,['sub'])>>
 				<<actCLA 'Lick sperm'>>
-					<<setinit $stat['swallow'] += 1>>
+					<<run $pc.sexStatInc('swallow','aware',1)>>
 					<<image "characters/city/boyfriend/sex/event/14.jpg">>
 					<p>You lean over the table, and lap up his sperm with your tongue. $telsob gently strokes your hair, as you do.</p>
 					<<actCLA 'Finish'>>
@@ -255,7 +255,7 @@
 					<</actCLA>>
 				<</actCLA>>
 				<<actCLA 'Don`t touch the sperm'>>
-					<<setinit $stat['swallow'] += 1>>
+					<<run $pc.sexStatInc('swallow','aware',1)>>
 					<<image "characters/city/boyfriend/sex/event/15.jpg">>
 					<p>Seeing that you aren't moving, $telsob leans over the table to collect all his sperm in her mouth. Before you can think to react, she gives you a deep kiss, forcing most of his cum into your mouth. You swallow it without thinking. "Now tell me that wasn't a tasty treat," she finishes.</p>
 					<<actCLA 'Finish'>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/kit_din.tw

@@ -51,7 +51,7 @@
 			<<set $time.minutes += 1>>
 			<<image "locations/city/residential/apartment/sex/plumber/bj.jpg">>
 			You slowly kneel before then smelly plumber. He unbuttons his pants and his dick slaps you in your face, making you pull back.
-			<<if getvar("$stat['bj']") == 0>>
+			<<if $pc.sexStat('bj') == 0>>
 				You have never blown a guy before and you look with horror at the cock in front of you. The plumber sees your confusion and taking you by the head pulls you to the member. Unwittingly your lips touch the crimson head.
 			<<else>>
 				You tilt your head forward and kiss it.

+ 1 - 1
sugarcube/src/autogenerated/unsorted/masseuse_work.tw

@@ -663,7 +663,7 @@
 			<</actCLA>>
 			<<actCLA 'Lick them clean'>>
 				<<set $cumspclnt = 9>>
-				<<setinit $stat['swallow'] += 1>>
+				<<run $pc.sexStatInc('swallow','aware',1)>>
 				<<gs 'cum_cleanup'>>
 				<<video "locations/city/citycenter/mall/salon/work/sex/hj_cum.mp4">>
 				Still smiling at the client, you raise your hand to your lips stick your tongue out to give your hand a thorough tongue bath. You taste the bitter flavor of semen mixed with the massage oils and your tongue picks up every drop of the white liquid before a quick swallow followed by a beaming smile. Only after that, you take a towel and begin to wipe him down, cleaning his body of his own cum before reaching for the oil to begin the massage in earnest.

+ 3 - 3
sugarcube/src/autogenerated/unsorted/medical_din.tw

@@ -417,19 +417,19 @@
 		<</if>>
 		<<set $temp_ID to null>>
 	<</if>>
-	<<setinit $stat['morning_after_pill'] += 1>>
+	<<run $pc.sexStatInc('morning_after_pill','aware',1)>>
 	<<set $morning_after_pill -= 1>>
 <</if>>
 <<if $location_var[$here][0] == 'morning_after_pill'>>
 	 	<<if $locclass == 'kitr'>>
 		<<image "pc/items/accessories/birthcontrol/pill_take2.jpg">>
-		<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+		<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 			<i>I suppose this is why Aunt Luda gave me this,</i> you think guiltily as you take out the morning after pill.
 		<</if>>
 		You fill up a small glass of water and pop the pill out of the packaging. Putting it in your mouth, you gulp, washing it down with sips from the glass after.
 	<<else>>
 		<<image "pc/items/accessories/birthcontrol/pill_take1.jpg">>
-		<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+		<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 			<i>I suppose this is why Aunt Luda gave me this,</i> you think guiltily as you take out the morning after pill.
 		<</if>>
 		Removing the pill from the packaging, you pop it in your mouth and gulp it down dry, wincing in discomfort as you feel it stick slightly on the way down.

+ 3 - 3
sugarcube/src/autogenerated/unsorted/mey_tamara_events.tw

@@ -736,10 +736,10 @@ mey_tamara['reputation_qw']	mey_tamara['reputation_qw']
 							<<actCLA 'Continue'>>
 								<<image "characters/pavlovsk/school/girl/vicky/event/party25.jpg">>
 								<!-- !!according to texts, kuni/bj/sex/cum in mouth-->
-								<<setinit $stat['cuni'] += 1>>
-								<<setinit $stat['bj'] += 1>>
+								<<run $pc.sexStatInc('cuni','aware',1)>>
+								<<run $pc.sexStatInc('bj','aware',1)>>
 								<<set $guy += 1>>
-								<<setinit $stat['vaginal'] += 1>>
+								<<run $pc.sexStatInc('vaginal','aware',1)>>
 								<<gs 'cum_call' 'mouth_swallow' 'businessman at party' 0>>
 								<<set $time.minutes += 20>>
 								<<set $zz_stage to null>>

+ 3 - 3
sugarcube/src/autogenerated/unsorted/model_anastasia.tw

@@ -332,7 +332,7 @@
 					<<actCLA 'Pay?'>>
 						<<gt 'model_anastasia' 'anastasiasex2'>>
 					<</actCLA>>
-					<<if getvar("$stat['prostitution_count']") > 0>>
+					<<if $pc.sexStat('prostitution_count') > 0>>
 						<<actCLA 'Oh! We can do that here?'>>
 							<<gt 'model_anastasia' 'anastasiasex3'>>
 						<</actCLA>>
@@ -345,7 +345,7 @@
 						<<actCLA 'Pay?'>>
 							<<gt 'model_anastasia' 'anastasiasex2'>>
 						<</actCLA>>
-						<<if getvar("$stat['prostitution_count']") > 0>>
+						<<if $pc.sexStat('prostitution_count') > 0>>
 							<<actCLA 'Oh! We can do that here?'>>
 								<<gt 'model_anastasia' 'anastasiasex3'>>
 							<</actCLA>>
@@ -359,7 +359,7 @@
 						<<actCLA 'Pay?'>>
 							<<gt 'model_anastasia' 'anastasiasex2'>>
 						<</actCLA>>
-						<<if getvar("$stat['prostitution_count']") > 0>>
+						<<if $pc.sexStat('prostitution_count') > 0>>
 							<<actCLA 'Oh! We can do that here?'>>
 								<<gt 'model_anastasia' 'anastasiasex3'>>
 							<</actCLA>>

+ 2 - 2
sugarcube/src/autogenerated/unsorted/model_krystal.tw

@@ -82,7 +82,7 @@
 			<p>"Hmm? Oh, I'm already a porn star."</p>
 			<<gs 'model_krystal' 'krystal2_2'>>
 		<</actCLA>>
-		<<if getvar("$stat['porn']") > 0>>
+		<<if $pc.sexStat('porn') > 0>>
 			<<actCLA '"Hey, aren`t you a porn star?"'>>
 				<<image "locations/city/citycenter/photo/portraits/krystal_b/meeting2/5.jpg">>
 				"Hang on," you say. "I feel like I've seen you somewhere before..."
@@ -140,7 +140,7 @@
 			<p>"Hmm? Oh, I'm already a porn star."</p>
 			<<gs 'model_krystal' 'krystal2_2'>>
 		<</actCLA>>
-		<<if getvar("$stat['porn']") > 0>>
+		<<if $pc.sexStat('porn') > 0>>
 			<<actCLA '"Hey, aren`t you a porn star?"'>>
 				<<image "locations/city/citycenter/photo/portraits/krystal_b/meeting2/5.jpg">>
 				"Hang on," you say. "I feel like I've seen you somewhere before..."

+ 8 - 8
sugarcube/src/autogenerated/unsorted/pav_church2.tw

@@ -160,7 +160,7 @@
 				<</actCLA>>
 			<</actCLA>>
 		<</actCLA>>
-	<<elseif getvar("$stat['cuni_give']") != 0>>
+	<<elseif $pc.sexStat('cuni_give') != 0>>
 		<<actCLA 'Tell him about having lesbian sex'>>
 			<<set $confK += 1>>
 			<<set $church_moral += 1>>
@@ -188,7 +188,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['hj']") != 0>>
+	<<if $pc.sexStat('hj') != 0>>
 		<<actCLA 'Tell him about giving handjobs'>>
 			<<set $confK += 1>>
 			<<set $church_moral += 1>>
@@ -259,7 +259,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['bj']") != 0>>
+	<<if $pc.sexStat('bj') != 0>>
 		<<actCLA 'Tell him about giving blowjobs'>>
 			<<set $confK += 1>>
 			<<set $church_moral += 1>>
@@ -330,7 +330,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['anal']") != 0>>
+	<<if $pc.sexStat('anal') != 0>>
 		<<actCLA 'Tell him about having anal sex'>>
 			<<set $confK += 1>>
 			<<set $church_moral += 1>>
@@ -401,7 +401,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['vaginal']") != 0>>
+	<<if $pc.sexStat('vaginal') != 0>>
 		<<actCLA 'Tell him about having sex'>>
 			<<set $confK += 1>>
 			<<set $church_moral += 1>>
@@ -472,7 +472,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['group']") != 0>>
+	<<if $pc.sexStat('group') != 0>>
 		<<actCLA 'Tell him about the sex you`ve had'>>
 			<<set $confK += 1>>
 			<<set $church_moral += 1>>
@@ -522,7 +522,7 @@
 			<</actCLA>>
 		<</actCLA>>
 	<</if>>
-	<<if getvar("$stat['mast']") != 0>>
+	<<if $pc.sexStat('mast') != 0>>
 		<<actCLA 'Tell him that you have masturbated'>>
 			<<set $confK += 1>>
 			<<set $church_moral += 1>>
@@ -600,7 +600,7 @@
 		<<set $KnoKirillName = 1>>
 		<<set $time.minutes += 5>>
 		<<image "locations/pavlovsk/church/confession.jpg">>
-		<<if getvar("$motherKnowSpravka") == 0 and getvar("$stat['vaginal']") == 0>>
+		<<if getvar("$motherKnowSpravka") == 0 and $pc.sexStat('vaginal') == 0>>
 			You once more feel the need to speak to the priest about some of the things that have happened recently in your life.
 			<p>"I sometimes think that my <<=$npcs.get('A29','nickname')>> doesn't trust me. I'm still a virgin, but she won't take my word for it. Every month she nags my head off about going to the gynecologist to prove it. She claims that my school needs to know, but I know that's a lie. It’s starting to irritate me."</p>
 			The priest sighs. "I'm sure she's just doing what she thinks is best for you."

+ 4 - 4
sugarcube/src/autogenerated/unsorted/paysex.tw

@@ -61,7 +61,7 @@
 	<<gs 'boyStat' $temp2[$j]>>
 	<<if getvar("$j") == 0>>
 		<<if getvar("$paysxsex") == 0>>
-			<<setinit $stat['vaginal'] += 1>> <<set $paysxsex = 1>>
+			<<run $pc.sexStatInc('vaginal','aware',1)>> <<set $paysxsex = 1>>
 
 		<</if>>
 		<<if $paysextext[$j] == ''>>
@@ -76,7 +76,7 @@
 		<</if>>
 	<<elseif getvar("$j") == 1>>
 		<<if getvar("$paysxanal") == 0>>
-			<<setinit $stat['anal'] += 1>> <<set $paysxanal = 1>>
+			<<run $pc.sexStatInc('anal','aware',1)>> <<set $paysxanal = 1>>
 
 		<</if>>
 		<<if $paysextext[$j] == ''>>
@@ -86,7 +86,7 @@
 		<</if>>
 	<<elseif getvar("$j") == 2>>
 		<<if getvar("$paysxbj") == 0>>
-			<<setinit $stat['bj'] += 1>> <<set $paysxbj = 1>>
+			<<run $pc.sexStatInc('bj','aware',1)>> <<set $paysxbj = 1>>
 
 		<</if>>
 		<<if $paysextext[$j] == ''>>
@@ -96,7 +96,7 @@
 		<</if>>
 	<<elseif getvar("$j") == 3>>
 		<<if getvar("$paysxhj") == 0>>
-			<<setinit $stat['hj'] += 1>> <<set $paysxhj = 1>>
+			<<run $pc.sexStatInc('hj','aware',1)>> <<set $paysxhj = 1>>
 
 		<</if>>
 		<<if $paysextext[$j] == ''>>

+ 2 - 2
sugarcube/src/autogenerated/unsorted/placer_act.tw

@@ -246,7 +246,7 @@
 					The guys firmly pull you down the stairs, and push you down onto a dirty mattress as you enter the room. When you look around you notice there''s nothing here besides the mattress, and a whole lot of empty booze bottles. They must use this place more often, and you wonder how many poor girls have already met a similar fate on this mattress before you.
 					<p>Several of the guys pull their pants down and expose their erect cocks, while one of them grins at you: "Well now, movie star! We know you're good at this, so we expect a top notch performance from you. If you don't satisfy us, we'll just have you stay a while longer while we think of something else you can do for us."</p>
 					<<actCLA 'Kneel down and open your mouth'>>
-						<<setinit $stat['bj'] += $kol_man>>
+						<<run $pc.sexStatInc('bj','aware',$kol_man)>>
 						<<set $guy += $kol_man>>
 						<<set $i = 0>>
 						<<warn 'JUMP MARKER ENCOUNTERED: :parkbj'>>
@@ -295,7 +295,7 @@
 					They guide you to a shabby house near the park, and guide you down into the basement below the house. Besides a dirty mattress and a lot of empty bottles, the basement is empty.
 					Several of them already drop their pants, revealing their stiff cocks. One of them tells you: "You know why you're here, slut. Get to work."
 					<<actCLA 'Squat before them'>>
-						<<setinit $stat['bj'] += $kol_man>>
+						<<run $pc.sexStatInc('bj','aware',$kol_man)>>
 						<<set $guy += $kol_man>>
 						<<set $i = 0>>
 						<<warn 'JUMP MARKER ENCOUNTERED: :parkbj2'>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/placer_house_one.tw

@@ -21,7 +21,7 @@ When you're about to enter a building, he suddenly puts his arms around you and
 			You increase the pace and use your tongue to stimulate the head of his cock, trying to coax his cum out of him. He soon rewards you, and you feel his hot jets of sperm handing at the back of your throat.
 			<<run $pc.arouse('bj',10,undefined,['sub'])>>
 			<<actCLA 'Swallow it'>>
-				<<setinit $stat['swallow'] += 1>>
+				<<run $pc.sexStatInc('swallow','aware',1)>>
 				<<image "locations/pavlovsk/park/event/katja/swallow.jpg">>
 				<p>You swallow your casual acquaintance's cum, and smile up at him with the nasty after-taste of his spunk still left in your mouth. You obediently open your mouth and move around your tongue, to show him that you swallowed his load.</p>
 				He grins down at you and softly strokes your hair as he says: "You're so fucking hot... I wish I could keep you forever."

+ 4 - 4
sugarcube/src/autogenerated/unsorted/pornfilm.tw

@@ -1193,7 +1193,7 @@
 		<<set $anal50 = rand(0,8)>>
 		<<set $bukk50 = rand(0,8)>>
 		<<set $sex50 = 50 - $bj50 - $hj50 - $lip50 - $anal50 - $bukk50>>
-		<<setinit $stat['vaginal'] += 50 - $anal50>>
+		<<run $pc.sexStatInc('vaginal','aware',50 - $anal50)>>
 		<<if getvar("$bj50") > 5>>
 			<<setn $pornbj += 1>>
 
@@ -1242,7 +1242,7 @@
 			<<set $cumnostd = 1>>
 			<<gs 'cum_call' 'mouth_swallow' 'Porn Fan' 0 0 10000 40>>
 			<<set $bj50 -= 1>>
-			<<setinit $stat['bj'] += 1>>
+			<<run $pc.sexStatInc('bj','aware',1)>>
 		<</if>>
 		<<if getvar("$bj50") > 0>>
 			<<warn 'JUMP COMMAND ENCOUNTERED: jump gbblow'>>
@@ -1256,7 +1256,7 @@
 			<<gs 'cum_call' 'precum' 'Porn Fan' 0 0 10000 1>>
 			<<gs 'cum_call' 'hands' 'Porn Fan' 0 0 10000 40>>
 			<<set $hj50 -= 1>>
-			<<setinit $stat['hj'] += 1>>
+			<<run $pc.sexStatInc('hj','aware',1)>>
 		<</if>>
 		<<if getvar("$hj50") > 0>>
 			<<warn 'JUMP COMMAND ENCOUNTERED: jump gbhand'>>
@@ -1288,7 +1288,7 @@
 			<<set $cumnostd = 1>>
 			<<gs 'cum_call' 'anus' 'Porn Fan' 0 0 10000 40>>
 			<<set $anal50 -= 1>>
-			<<setinit $stat['anal'] += 1>>
+			<<run $pc.sexStatInc('anal','aware',1)>>
 		<</if>>
 		<<if getvar("$anal50") > 0>>
 			<<warn 'JUMP COMMAND ENCOUNTERED: jump gbass'>>

+ 2 - 2
sugarcube/src/autogenerated/unsorted/post_events.tw

@@ -517,7 +517,7 @@
 	<<else>>
 		<<image `'locations/shared/postoffice/sex/postevent3-3.jpg'`>>
 	<</if>>
-	<<if getvar("$stat['bj']") >= 50>>
+	<<if $pc.sexStat('bj') >= 50>>
 		<!-- !!you swallow his load-->
 		<p>You've sucked cock many times before, and pull out every trick you know to best please him. He seems thoroughly impressed with your performance. Despite the thick head you manage to take his cock all the way down your throat too, which impresses him even more!</p>
 		Finally, he grabs a firm hold of your head to keep it in place. Several splurts of his sperm land on your tongue, after which he finally lets you go.
@@ -527,7 +527,7 @@
 		<<actCLA 'Continue'>>
 			<<gt 'post_events' '3-2'>>
 		<</actCLA>>
-	<<elseif getvar("$stat['bj']") > 15>>
+	<<elseif $pc.sexStat('bj') > 15>>
 		<!-- !!you swallow his load-->
 		<p>You have some experience giving blowjobs, but it's difficult to do without being able to use your hands!</p>
 		You do the best you can, but struggle when he tries to push more of his length down your throat. The thick head makes it very difficult.

+ 1 - 1
sugarcube/src/autogenerated/unsorted/praiders_garageev1.tw

@@ -15,7 +15,7 @@
 			<<image `'characters/pavlovsk/school/boy/radomir/sex/garage/practice3.jpg'`>>
 			<p>He starts moving his hips as you suck his cock and starts fucking your mouth. "You really know how to suck a cock! You must get a lot of practice." You don't comment back as you keep sucking him. "I want to fuck that sweet little pussy of yours now."</p>
 			<<run $pc.arouse('bj',3)>>
-			<<if getvar("$stat['vaginal']") >= 1>>
+			<<if $pc.sexStat('vaginal') >= 1>>
 				<<actCLA 'Let him fuck you'>>
 					<!-- Boy A154 -->
 					<<image `'characters/pavlovsk/school/boy/radomir/sex/garage/practice4.jpg'`>>

+ 6 - 6
sugarcube/src/autogenerated/unsorted/prostitution_functions.tw

@@ -244,20 +244,20 @@
 <<if $location_var[$here][0] == 'will_rimming'>>
 	<<gs 'willpower' 'calc'>>
 	<<if $location_var[$here][1] == 'self'>>
-		<<if getvar("$stat['rimming_give']") <= 90>>
-			<<set $will_cost = (100 - $stat['rimming_give'] + $will_calc) / 10>>
+		<<if $pc.sexStat('rimming_give') <= 90>>
+			<<set $will_cost = (100 - $pc.sexStat('rimming_give')'rimming_give'+ $will_calc) / 10>>
 		<<else>>
 			<<set $will_cost = (10 + $will_calc) / 10>>
 		<</if>>
 	<<elseif $location_var[$here][1] == 'force'>>
-		<<if getvar("$stat['rimming_give']") <= 40>>
-			<<set $will_cost = (110 - $will_enforced - $stat['rimming_give'] + $will_calc) / 10>>
+		<<if $pc.sexStat('rimming_give') <= 40>>
+			<<set $will_cost = (110 - $will_enforced - $pc.sexStat('rimming_give')'rimming_give'+ $will_calc) / 10>>
 		<<else>>
 			<<set $will_cost = (70 - $will_enforced + $will_calc) / 10>>
 		<</if>>
 	<<else>>
-		<<if getvar("$stat['rimming_give']") <= 90>>
-			<<set $will_cost = (10 + $stat['rimming_give'] + $will_calc) / 10>>
+		<<if $pc.sexStat('rimming_give') <= 90>>
+			<<set $will_cost = (10 + $pc.sexStat('rimming_give')'rimming_give'+ $will_calc) / 10>>
 		<<else>>
 			<<set $will_cost = (100 + $will_calc) / 10>>
 		<</if>>

+ 1 - 1
sugarcube/src/autogenerated/unsorted/seeporn.tw

@@ -8,7 +8,7 @@ You and the boys sit down around the TV. Kolka puts on a DVD, and immediately, t
 	<<set $kolkaseepornday = $time.daystart>>
 	<<set $time.minutes += 15>>
 	<<set $seepornofut += 1>>
-	<<set $pc.pcs_horny += ($seepornofut + $stat['mast']) * 2>>
+	<<set $pc.pcs_horny += ($seepornofut + $pc.sexStat('mast')'mast' * 2>>
 	<<if getvar("$evgenQW") >= 4 and $pc.fame('pav_slut') >= 150>>
 		<<gt 'seeporn' 'SeePornPalevo'>>
 

+ 4 - 4
sugarcube/src/autogenerated/unsorted/sex_ev_after.tw

@@ -973,7 +973,7 @@
 				<<actCLA 'Lick your fingers clean'>>
 					<<setinit $sex_ev['cock_inserted'] = 0>>
 					<<gs 'cum_cleanup' 'cleanloc'>>
-					<<setinit $stat['swallow'] += 1>>
+					<<run $pc.sexStatInc('swallow','aware',1)>>
 					<<image "shared/sex/cum/lick_fingers.jpg">>
 					<p>Briefly making eye contact with <<=$npcs.get($boy,'firstname')>>, you use your fingers to gather up all the loose cum on you and stick out your tongue, running it up your hand, licking every drop from it and into your mouth. You give your hand a thorough tongue bath, sucking your fingers clean at the end. Once finished, you smack your lips, smiling at <<=$npcs.get($boy,'firstname')>> who stared at you the whole time.</p>
 					<<if getvar("$sex_ev['he_cleaned']") == 0>>
@@ -1387,13 +1387,13 @@
 			<<setinit $sex_ev['ma_pill'] = 2>>
 			$sex_ev['bed_room']
 			<<if $pc.cumAtLocation(0) > 0>>
-				<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					<p>With <<=$npcs.get($boy,'firstname')>>'s cum still leaking from your pussy, you reach down to your purse and pull out the morning after pill Luda gave you.</p>
 				<<else>>
 					<p>With <<=$npcs.get($boy,'firstname')>>'s cum still leaking from your pussy, you reach down to your purse and pull out the morning after pill you keep inside.</p>
 				<</if>>
 			<<else>>
-				<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+				<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 					You reach down to your purse and pull out the morning after pill Luda gave you.
 				<<else>>
 					You reach down to your purse and pull out the morning after pill you keep inside.
@@ -1412,7 +1412,7 @@
 	<</actCLA>>
 	<<actCLA 'Take it shyly'>>
 		<p><<=$npcs.get($boy,'firstname')>> watches you pop the pill out of it's packaging and you can't help but blush beneath his gaze.</p>
-		<<if getvar("$LudaQW['free_condoms']") == 1 and getvar("$stat['morning_after_pill']") == 0>>
+		<<if getvar("$LudaQW['free_condoms']") == 1 and $pc.sexStat('morning_after_pill') == 0>>
 			"My aunt gave me this for emergencies," you say shyly, blush intensifying as you put it in your mouth and force it down with a dry swallow.
 		<<else>>
 			"The instructions say to take it as soon as possible for best effect," you smile shyly, blush intensifying as you put it in your mouth and force it down with a dry swallow.

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels