Browse Source

Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife

Zedrt 3 months ago
parent
commit
96481ea876
100 changed files with 2056 additions and 3216 deletions
  1. 0 2143
      duplicate_media_files.txt
  2. 50 39
      glife.qproj
  3. 1 1
      locations/AppearanceSystem.qsrc
  4. 2 2
      locations/Cheatmenu_din.qsrc
  5. 309 13
      locations/Cum_Manage.qsrc
  6. 19 26
      locations/KatjaHomeTalk.qsrc
  7. 1 1
      locations/Komp.qsrc
  8. 4 2
      locations/LakeBoyDy.qsrc
  9. 7 1
      locations/LariskaHome.qsrc
  10. 2 8
      locations/LariskaSex.qsrc
  11. 4 4
      locations/MartinSex.qsrc
  12. 8 13
      locations/Nudelake.qsrc
  13. 2 2
      locations/Peterroom.qsrc
  14. 5 6
      locations/Serge_kuh.qsrc
  15. 1 1
      locations/Voltrener.qsrc
  16. 1 4
      locations/Zvereva_Sly_sex.qsrc
  17. 2 2
      locations/_attributes_fashionista_dress.qsrc
  18. 1 1
      locations/_attributes_school.qsrc
  19. 1 1
      locations/_body_image.qsrc
  20. 1 1
      locations/_clothing_image.qsrc
  21. 1 1
      locations/_short_description.qsrc
  22. 3 3
      locations/albina_chat.qsrc
  23. 1 1
      locations/albina_house_events.qsrc
  24. 1 1
      locations/albinahome.qsrc
  25. 1 1
      locations/alex.qsrc
  26. 2 2
      locations/anush_bedroom.qsrc
  27. 1 1
      locations/anush_bedroom_city.qsrc
  28. 2 2
      locations/anushkaev1.qsrc
  29. 1 1
      locations/anushkaev2.qsrc
  30. 318 43
      locations/arousal.qsrc
  31. 2 1
      locations/artemhome.qsrc
  32. 4 4
      locations/backwater.qsrc
  33. 9 5
      locations/ballet_npc.qsrc
  34. 271 32
      locations/ballet_secrets.qsrc
  35. 1 0
      locations/barbershop.qsrc
  36. 1 1
      locations/bed_events.qsrc
  37. 1 1
      locations/bedr.qsrc
  38. 1 1
      locations/bedr2x.qsrc
  39. 18 14
      locations/begin.qsrc
  40. 10 8
      locations/body.qsrc
  41. 1 2
      locations/body_desc.qsrc
  42. 78 51
      locations/boy.qsrc
  43. 8 8
      locations/brothel.qsrc
  44. 39 32
      locations/brother.qsrc
  45. 12 6
      locations/budgetclothes.qsrc
  46. 1 1
      locations/carF.qsrc
  47. 1 1
      locations/cardgame_durak.qsrc
  48. 1 1
      locations/cikl.qsrc
  49. 1 1
      locations/city_experimental_trials_list.qsrc
  50. 2 2
      locations/city_hermitage.qsrc
  51. 2 2
      locations/city_industrial.qsrc
  52. 21 124
      locations/city_industrial_train.qsrc
  53. 2 1
      locations/city_market.qsrc
  54. 10 7
      locations/city_saunawhore.qsrc
  55. 1 0
      locations/city_smalloffice.qsrc
  56. 20 136
      locations/city_train.qsrc
  57. 87 18
      locations/clothing.qsrc
  58. 37 79
      locations/clothing_QV.qsrc
  59. 8 2
      locations/clothing_attributes.qsrc
  60. 4 4
      locations/core_library.qsrc
  61. 82 29
      locations/cum_cleanup.qsrc
  62. 9 1
      locations/dateF.qsrc
  63. 2 0
      locations/dateM.qsrc
  64. 4 0
      locations/dimaRevenge.qsrc
  65. 51 49
      locations/dinSex.qsrc
  66. 2 4
      locations/dinSex2.qsrc
  67. 7 4
      locations/din_bad.qsrc
  68. 94 32
      locations/din_van.qsrc
  69. 1 1
      locations/emp_functions.qsrc
  70. 2 2
      locations/ender.qsrc
  71. 1 1
      locations/etoexhib.qsrc
  72. 57 40
      locations/exercise.qsrc
  73. 47 1
      locations/exhibitionistshop.qsrc
  74. 2 2
      locations/fbDormD.qsrc
  75. 7 3
      locations/fit.qsrc
  76. 1 1
      locations/food.qsrc
  77. 1 0
      locations/food_menu.qsrc
  78. 65 65
      locations/foto.qsrc
  79. 10 10
      locations/foto_events.qsrc
  80. 2 2
      locations/foto_model_documentary.qsrc
  81. 1 1
      locations/foto_practice.qsrc
  82. 2 1
      locations/foto_shoot.qsrc
  83. 2 3
      locations/gadhouse.qsrc
  84. 61 1
      locations/gadsarai.qsrc
  85. 2 2
      locations/gadukino.qsrc
  86. 3 3
      locations/gameover.qsrc
  87. 1 1
      locations/gdksport.qsrc
  88. 97 53
      locations/girl.qsrc
  89. 4 4
      locations/gopnik_house.qsrc
  90. 3 3
      locations/gopsex.qsrc
  91. 1 1
      locations/gopskver.qsrc
  92. 1 1
      locations/gschool_break.qsrc
  93. 1 1
      locations/gschool_cheerleading.qsrc
  94. 13 11
      locations/gschool_grounds.qsrc
  95. 1 0
      locations/gschool_jock_chats.qsrc
  96. 5 5
      locations/gschool_lessons.qsrc
  97. 1 1
      locations/gschool_lessons1.qsrc
  98. 2 3
      locations/gschool_lessons2.qsrc
  99. 1 1
      locations/gschool_lunch.qsrc
  100. 1 1
      locations/gschool_sex.qsrc

+ 0 - 2143
duplicate_media_files.txt

@@ -1,2143 +0,0 @@
-   2 equal files of size 3965879
-   /images/shared/prostitution/car/normal/sex/cum/abelly_10.mp4
-   /images/shared/prostitution/car/normal/sex/cum/pbelly_10.mp4
-
-   2 equal files of size 2199156
-   /images/shared/prostitution/car/normal/sex/anal/anal_17.mp4
-   /images/shared/prostitution/car/regular/sex/main_anal2.mp4
-
-   2 equal files of size 1920167
-   /images/locations/city/citycenter/photo/lingerie/2.mp4
-   /images/locations/city/citycenter/photo/lingerie2.mp4
-
-   2 equal files of size 1880659
-   /images/locations/city/citycenter/photo/bikini/4.mp4
-   /images/locations/city/citycenter/photo/bikini2.mp4
-
-   2 equal files of size 1762882
-   /images/locations/city/citycenter/photo/fame/fametopless1.mp4
-   /images/locations/city/citycenter/photo/fametopless1.mp4
-
-   2 equal files of size 1695915
-   /images/locations/city/citycenter/photo/special/basketball.mp4
-   /images/locations/city/citycenter/photo/basketball.mp4
-
-   2 equal files of size 1614645
-   /images/locations/city/citycenter/photo/bikini/1.mp4
-   /images/locations/city/citycenter/photo/bikini3.mp4
-
-   2 equal files of size 1412968
-   /images/locations/city/citycenter/photo/skill/skill_beach.mp4
-   /images/locations/city/citycenter/photo/skill_beach.mp4
-
-   2 equal files of size 1304186
-   /images/shared/prostitution/car/normal/sex/anal/anal_19.mp4
-   /images/shared/prostitution/car/regular/sex/main_anal4.mp4
-
-   2 equal files of size 1260905
-   /images/characters/pavlovsk/school/boy/igor/sex/home/trahaet2.mp4
-   /images/characters/pavlovsk/school/boy/igor/sex/home/trahaet_2.mp4
-
-   2 equal files of size 1260370
-   /images/shared/sex/shower/doggy_enter1.mp4
-   /images/shared/sex/shower/enter.mp4
-
-   2 equal files of size 1237419
-   /images/locations/city/citycenter/photo/fame/fametopless3.mp4
-   /images/locations/city/citycenter/photo/fametopless3.mp4
-
-   2 equal files of size 1060169
-   /images/locations/city/citycenter/photo/fashion/2.mp4
-   /images/locations/city/citycenter/photo/fashion2.mp4
-
-   2 equal files of size 1039135
-   /images/locations/city/citycenter/photo/fame/tennis.mp4
-   /images/locations/city/citycenter/photo/fame_tennis.mp4
-
-   3 equal files of size 1002214
-   /images/locations/city/citycenter/photo/skill/runway/1.mp4
-   /images/locations/city/citycenter/photo/skill/skill_runway.mp4
-   /images/locations/city/citycenter/photo/skill_runway.mp4
-
-   2 equal files of size 998910
-   /images/locations/city/citycenter/photo/bikini/5.mp4
-   /images/locations/city/citycenter/photo/bikini.mp4
-
-   2 equal files of size 997280
-   /images/locations/city/citycenter/photo/fame/fametopless2.mp4
-   /images/locations/city/citycenter/photo/fametopless2.mp4
-
-   2 equal files of size 939811
-   /images/shared/sex/cum/mouth/spit3.mp4
-   /images/shared/sex/cum/spit3.mp4
-
-   2 equal files of size 829627
-   /images/locations/city/citycenter/photo/fame/pool.mp4
-   /images/locations/city/citycenter/photo/fame_pool.mp4
-
-   2 equal files of size 777447
-   /images/locations/city/citycenter/photo/fame/fametopless4.mp4
-   /images/locations/city/citycenter/photo/fametopless4.mp4
-
-   2 equal files of size 763982
-   /images/locations/shared/brothel/tiedonbackfuckvaginal.mp4
-   /images/locations/shared/brothel/tied_vaginal.mp4
-
-   2 equal files of size 711573
-   /images/shared/sex/misc/undress1.mp4
-   /images/shared/sex/undress/undress1.mp4
-
-   2 equal files of size 668416
-   /images/characters/pavlovsk/school/boy/igor/sex/home/trahaet3.mp4
-   /images/characters/pavlovsk/school/boy/igor/sex/home/trahaet_3.mp4
-
-   2 equal files of size 620688
-   /images/locations/city/citycenter/photo/fame/fametopless5.mp4
-   /images/locations/city/citycenter/photo/fametopless5.mp4
-
-   2 equal files of size 617129
-   /images/locations/city/citycenter/photo/skill/skill_pool.mp4
-   /images/locations/city/citycenter/photo/skill_pool.mp4
-
-   3 equal files of size 583286
-   /images/locations/city/citycenter/photo/special/wet/wet.mp4
-   /images/locations/city/citycenter/photo/special/wet.mp4
-   /images/locations/city/citycenter/photo/wet.mp4
-
-   2 equal files of size 550835
-   /images/locations/pavlovsk/school/grounds/track/MA-010.png
-   /images/pc/activities/track/MA-010.png
-
-   2 equal files of size 517123
-   /images/shared/romance/misc/wakeup_shock2.mp4
-   /images/shared/sex/after/wakeup_shock2.mp4
-
-   2 equal files of size 516927
-   /images/locations/city/citycenter/photo/fame/outdoors1.mp4
-   /images/locations/city/citycenter/photo/fame_outdoors.mp4
-
-   2 equal files of size 492786
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/hall3.mp4
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/lock3.mp4
-
-   2 equal files of size 485588
-   /images/locations/shared/brothel/tiedonbackfistanal.mp4
-   /images/locations/shared/brothel/tied_analfisting.mp4
-
-   2 equal files of size 467370
-   /images/locations/shared/brothel/tiedonbackfuckanal.mp4
-   /images/locations/shared/brothel/tied_anal.mp4
-
-   2 equal files of size 455129
-   /images/locations/city/citycenter/photo/skill/skill_topless.mp4
-   /images/locations/city/citycenter/photo/skill_topless.mp4
-
-   2 equal files of size 446317
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/hall2.mp4
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/lock2.mp4
-
-   2 equal files of size 442513
-   /images/shared/romance/misc/wakeup_shock1.mp4
-   /images/shared/sex/after/wakeup_shock1.mp4
-
-   2 equal files of size 430261
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/hall7.mp4
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/lock7.mp4
-
-   2 equal files of size 383652
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/hall4.mp4
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/lock1.mp4
-
-   2 equal files of size 345769
-   /images/shared/prostitution/car/normal/sex/anal/anal_16.mp4
-   /images/shared/prostitution/car/regular/sex/main_anal1.mp4
-
-   2 equal files of size 317583
-   /images/shared/romance/misc/wakeup_shock3.mp4
-   /images/shared/sex/after/wakeup_shock3.mp4
-
-   2 equal files of size 296109
-   /images/locations/city/citycenter/mall/salon/work/sex/creampie2.mp4
-   /images/shared/sex/cum/cum7.mp4
-
-   3 equal files of size 273081
-   /images/locations/shared/brothel/tiedonbackvibropussy.mp4
-   /images/locations/shared/brothel/tied_bibrate.mp4
-   /images/locations/shared/brothel/tied_vibrate.mp4
-
-   2 equal files of size 259833
-   /images/shared/prostitution/car/normal/sex/anal/anal_15.mp4
-   /images/shared/prostitution/car/regular/sex/main_anal0.mp4
-
-   2 equal files of size 240406
-   /images/shared/home/bathroom/shower_bath_dildo.mp4
-   /images/shared/home/bathroom/shower_bath_dildo2.mp4
-
-   2 equal files of size 230670
-   /images/shared/sex/cum/mouth/spit2.mp4
-   /images/shared/sex/cum/spit2.mp4
-
-   2 equal files of size 202334
-   /images/locations/pavlovsk/school/grounds/track/FE-016.jpg
-   /images/pc/activities/track/FE-016.jpg
-
-   2 equal files of size 201702
-   /images/shared/prostitution/car/normal/sex/anal/anal_18.mp4
-   /images/shared/prostitution/car/regular/sex/main_anal3.mp4
-
-   2 equal files of size 199851
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/hall5.mp4
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/lock5.mp4
-
-   2 equal files of size 197714
-   /images/locations/shared/brothel/tiedonbackwhippussy.mp4
-   /images/locations/shared/brothel/tied_whip.mp4
-
-   2 equal files of size 195289
-   /images/locations/shared/brothel/tiedonbackfuckmouth.mp4
-   /images/locations/shared/brothel/tied_mouth.mp4
-
-   2 equal files of size 188921
-   /images/locations/pavlovsk/resident/apartment/events/sex/evbgsex.jpg
-   /images/locations/pavlovsk/resident/apartment/events/evbgsex.jpg
-
-   2 equal files of size 182518
-   /images/pc/activities/photography/foto/locations/9.jpg
-   /images/pc/activities/photography/foto/pav_school.jpg
-
-   2 equal files of size 173232
-   /images/locations/shared/brothel/tiedonbacktease.mp4
-   /images/locations/shared/brothel/tied_tease.mp4
-
-   2 equal files of size 168857
-   /images/characters/pavlovsk/resident/mom/pavrun1.jpg
-   /images/characters/pavlovsk/resident/mom/pavyoga1.jpg
-
-   2 equal files of size 157938
-   /images/locations/shared/street/sharkdress.mp4
-   /images/locations/shared/street/sharkdress1.mp4
-
-   2 equal files of size 157765
-   /images/locations/pavlovsk/school/bathroom/sex/mastrubate.mp4
-   /images/locations/pavlovsk/school/bathroom/sex/masturbate1.mp4
-
-   2 equal files of size 150087
-   /images/locations/pavlovsk/school/grounds/track/AP-003.jpg
-   /images/pc/activities/track/AP-003.jpg
-
-   2 equal files of size 144239
-   /images/locations/pavlovsk/school/grounds/track/OC-001.jpg
-   /images/pc/activities/track/OC-001.jpg
-
-   2 equal files of size 132587
-   /images/pc/activities/photography/foto/locations/4.jpg
-   /images/pc/activities/photography/foto/gadukino.jpg
-
-   2 equal files of size 128067
-   /images/pc/activities/photography/foto/people/4.jpg
-   /images/pc/activities/photography/foto/sonia.jpg
-
-   2 equal files of size 123417
-   /images/locations/pavlovsk/school/grounds/track/MA-009.jpg
-   /images/pc/activities/track/MA-009.jpg
-
-   2 equal files of size 123165
-   /images/locations/pavlovsk/school/grounds/track/MA-012.jpg
-   /images/pc/activities/track/MA-012.jpg
-
-   2 equal files of size 120840
-   /images/pc/activities/photography/foto/locations/10.jpg
-   /images/pc/activities/photography/foto/pav_park.jpg
-
-   2 equal files of size 120611
-   /images/locations/pavlovsk/school/grounds/track/PR-005.jpg
-   /images/pc/activities/track/PR-005.jpg
-
-   2 equal files of size 120462
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-003.jpg
-   /images/pc/activities/track/SXFU-003.jpg
-
-   2 equal files of size 116571
-   /images/locations/pavlovsk/resident/apartment/shulginhome/smroom/event/miss2.mp4
-   /images/locations/pavlovsk/resident/apartment/shulginhome/smroom/event/miss3.mp4
-
-   2 equal files of size 116184
-   /images/locations/city/citycenter/photo/nude/2.jpg
-   /images/locations/city/citycenter/photo/nude29.jpg
-
-   2 equal files of size 115073
-   /images/pc/activities/photography/foto/locations/5.jpg
-   /images/pc/activities/photography/foto/dachi.jpg
-
-   2 equal files of size 113262
-   /images/locations/pavlovsk/school/grounds/track/MA-003.jpeg
-   /images/pc/activities/track/MA-003.jpeg
-
-   2 equal files of size 109359
-   /images/locations/city/citycenter/photo/topnude/14.jpg
-   /images/locations/city/citycenter/photo/nude21.jpg
-
-   2 equal files of size 108986
-   /images/locations/city/residential/apartment/home/sex/balcony_anal2.mp4
-   /images/locations/city/residential/apartment/sex/balcony_anal2.mp4
-
-   2 equal files of size 108402
-   /images/locations/pavlovsk/community/guitarlesson/glessonad.jpg
-   /images/locations/shared/noticeboards/pav/flyer_music_guitar.jpg
-
-   2 equal files of size 107890
-   /images/locations/pavlovsk/lake/secluded_beach/voyeurism/voyeurism_start_event_18.jpg
-   /images/locations/pavlovsk/lake/secluded_beach/voyeurism/voyeurism_start_event_4.jpg
-
-   2 equal files of size 107465
-   /images/locations/city/citycenter/photo/adverts/advert2.jpg
-   /images/locations/city/citycenter/photo/advert2.jpg
-
-   2 equal files of size 106529
-   /images/pc/activities/photography/foto/locations/7.jpg
-   /images/pc/activities/photography/foto/pav_complex.jpg
-
-   2 equal files of size 105474
-   /images/locations/gadukino/forest/gadforestlost_winter0.2.jpg
-   /images/locations/gadukino/forest/gadforest_winter3.jpg
-
-   2 equal files of size 105150
-   /images/locations/pavlovsk/school/grounds/track/MA-011.jpg
-   /images/pc/activities/track/MA-011.jpg
-
-   2 equal files of size 102213
-   /images/locations/pavlovsk/school/grounds/track/PR-003.jpg
-   /images/pc/activities/track/PR-003.jpg
-
-   2 equal files of size 100161
-   /images/locations/pavlovsk/school/grounds/track/AP-013.jpg
-   /images/pc/activities/track/AP-013.jpg
-
-   2 equal files of size 98624
-   /images/locations/gadukino/sex/mitka/mitkaforestsexccowkiss1_2.jpg
-   /images/locations/gadukino/sex/mitka/mitkaforestsex_owKiss1_2.jpg
-
-   2 equal files of size 98473
-   /images/locations/pavlovsk/school/grounds/track/DE-007.jpg
-   /images/pc/activities/track/DE-007.jpg
-
-   2 equal files of size 98224
-   /images/locations/gadukino/sex/mitka/mitkaforestsexccoworal1_1.jpg
-   /images/locations/gadukino/sex/mitka/mitkaforestsex_owOral1_1.jpg
-
-   2 equal files of size 97615
-   /images/characters/pavlovsk/school/girl/natasha/study.jpg
-   /images/locations/pavlovsk/resident/apartment/natbelapt/study.jpg
-
-   2 equal files of size 96749
-   /images/locations/city/citycenter/photo/special/runway_waiting.mp4
-   /images/locations/city/citycenter/photo/runway_waiting.mp4
-
-   2 equal files of size 93764
-   /images/characters/pavlovsk/school/girl/albina/sex/prostitute/d1.jpg
-   /images/characters/pavlovsk/school/girl/albina/sex/prostitute/threesome1.jpg
-
-   2 equal files of size 93249
-   /images/locations/city/residential/apartment/home/kuhr.jpg
-   /images/locations/city/residential/apartment/kuhr.jpg
-
-   2 equal files of size 93098
-   /images/pc/activities/photography/foto/locations/6.jpg
-   /images/pc/activities/photography/foto/gadforest.jpg
-
-   2 equal files of size 92794
-   /images/locations/city/citycenter/photo/portraits/katherine_a/7.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/7.jpg
-
-   2 equal files of size 92096
-   /images/locations/pavlovsk/school/grounds/track/PR-008.jpg
-   /images/pc/activities/track/PR-008.jpg
-
-   2 equal files of size 90908
-   /images/locations/gadukino/sex/mitka/mitkaforestsexccowkiss1_1.jpg
-   /images/locations/gadukino/sex/mitka/mitkaforestsex_owKiss1_1.jpg
-
-   2 equal files of size 90908
-   /images/locations/pavlovsk/school/gym/locker/palpeek.jpg
-   /images/locations/pavlovsk/school/gym/palpeek.jpg
-
-   2 equal files of size 90204
-   /images/pc/activities/photography/foto/locations/1.jpg
-   /images/pc/activities/photography/foto/city_library.jpg
-
-   2 equal files of size 89369
-   /images/locations/gadukino/sex/mitka/mitkaforestsexccow1_2.1.jpg
-   /images/locations/gadukino/sex/mitka/mitkaforestsex_ow1_2.1.jpg
-
-   2 equal files of size 89013
-   /images/locations/gadukino/sex/mitka/mitkaforestsexccoworalcuml1_1.jpg
-   /images/locations/gadukino/sex/mitka/mitkaforestsex_owOralCuml1_1.jpg
-
-   2 equal files of size 88182
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-005.jpg
-   /images/pc/activities/track/SXFU-005.jpg
-
-   2 equal files of size 88096
-   /images/pc/activities/photography/foto/locations/8.jpg
-   /images/pc/activities/photography/foto/pav_train.jpg
-
-   2 equal files of size 88048
-   /images/characters/pavlovsk/school/boy/artem/sex/park/rape2.jpg
-   /images/shared/sex/rape/park_rape2.jpg
-
-   2 equal files of size 87418
-   /images/characters/pavlovsk/school/girl/natasha/bedtalk.jpg
-   /images/locations/pavlovsk/resident/apartment/natbelapt/bedtalk.jpg
-
-   2 equal files of size 86800
-   /images/locations/pavlovsk/school/grounds/track/FE-020.jpg
-   /images/pc/activities/track/FE-020.jpg
-
-   2 equal files of size 86714
-   /images/characters/city/anatoly/sex/bossbjcum3.jpg
-   /images/locations/city/anatoly/sex/bossbjcum3.jpg
-
-   2 equal files of size 86368
-   /images/locations/city/residential/apartment/home/kuhr2.jpg
-   /images/locations/city/residential/apartment/kuhr2.jpg
-
-   2 equal files of size 85071
-   /images/characters/city/anatoly/sex/bossbjcum6.jpg
-   /images/locations/city/anatoly/sex/bossbjcum6.jpg
-
-   2 equal files of size 84865
-   /images/pc/activities/photography/foto/locations/12.jpg
-   /images/pc/activities/photography/foto/pav_church.jpg
-
-   2 equal files of size 84836
-   /images/locations/pavlovsk/school/grounds/track/PR-007.jpg
-   /images/pc/activities/track/PR-007.jpg
-
-   2 equal files of size 84595
-   /images/shared/sex/vag/miss/blood1.jpg
-   /images/shared/sex/vag/miss/virgin1.jpg
-
-   2 equal files of size 83055
-   /images/locations/city/citycenter/nichApartment/messy-room.jpg
-   /images/locations/city/citycenter/nichApartment/tanyaDirty3.jpg
-
-   2 equal files of size 82884
-   /images/locations/city/citycenter/photo/topnude/4.jpg
-   /images/locations/city/citycenter/photo/nude9.jpg
-
-   2 equal files of size 80067
-   /images/characters/pavlovsk/school/boy/artem/sex/park/rapecum2.jpg
-   /images/shared/sex/rape/park_rapecum2.jpg
-
-   2 equal files of size 79848
-   /images/locations/shared/train/electri.jpg
-   /images/locations/shared/train/electri_1.jpg
-
-   2 equal files of size 78969
-   /images/shared/sex/vag/cowgirl/blood1.jpg
-   /images/shared/sex/vag/cowgirl/virgin1.jpg
-
-   2 equal files of size 78740
-   /images/locations/pavlovsk/school/grounds/track/MA-006.jpg
-   /images/pc/activities/track/MA-006.jpg
-
-   2 equal files of size 78124
-   /images/locations/pavlovsk/school/grounds/track/MA-002.jpg
-   /images/pc/activities/track/MA-002.jpg
-
-   2 equal files of size 77958
-   /images/characters/city/anatoly/sex/bossbjcum5.jpg
-   /images/locations/city/anatoly/sex/bossbjcum5.jpg
-
-   2 equal files of size 76969
-   /images/locations/pavlovsk/resident/dimkahome/newyear/tusa3.jpg
-   /images/locations/pavlovsk/school/events/newyear/tusa3.jpg
-
-   2 equal files of size 76837
-   /images/locations/pavlovsk/school/grounds/track/FE-018.jpg
-   /images/pc/activities/track/FE-018.jpg
-
-   2 equal files of size 76422
-   /images/locations/city/residential/apartment/home/bedr2.jpg
-   /images/locations/city/residential/apartment/bedr2.jpg
-
-   2 equal files of size 76366
-   /images/characters/pavlovsk/school/boy/artem/sex/park/rape4.jpg
-   /images/shared/sex/rape/park_rape4.jpg
-
-   3 equal files of size 76326
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-001.jpg
-   /images/locations/pavlovsk/school/grounds/track/OR-001.jpg
-   /images/pc/activities/track/OR-001.jpg
-
-   2 equal files of size 76198
-   /images/locations/pavlovsk/school/grounds/track/DE-006.jpg
-   /images/pc/activities/track/DE-006.jpg
-
-   3 equal files of size 76181
-   /images/locations/city/citycenter/photo/nude/1.jpg
-   /images/locations/city/citycenter/photo/nude.jpg
-   /images/locations/city/citycenter/photo/nude17.jpg
-
-   2 equal files of size 75721
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream3.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream3.jpg
-
-   2 equal files of size 75588
-   /images/locations/city/citycenter/mall/salon/work/sex/creampie1.mp4
-   /images/shared/sex/cum/cum8.mp4
-
-   2 equal files of size 74290
-   /images/locations/city/residential/apartment/stairs/event/sex/floor5_bj.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor5_bj.jpg
-
-   2 equal files of size 74231
-   /images/characters/pavlovsk/school/boy/artem/sex/park/rape1.jpg
-   /images/shared/sex/rape/park_rape1.jpg
-
-   2 equal files of size 74115
-   /images/locations/city/industrial/red_light_district.jpg
-   /images/locations/city/redlight/redlight.jpg
-
-   2 equal files of size 73980
-   /images/locations/pavlovsk/school/grounds/track/KNO-01.jpg
-   /images/pc/activities/track/KNO-01.jpg
-
-   2 equal files of size 73240
-   /images/pc/activities/photography/foto/locations/11.jpg
-   /images/pc/activities/photography/foto/pav_lake.jpg
-
-   2 equal files of size 73237
-   /images/locations/city/residential/apartment/stairs/event/sex/floor2_bj.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor2_bj.jpg
-
-   2 equal files of size 73202
-   /images/locations/shared/sex/sexdvanadva/New folder/minet14.jpg
-   /images/locations/shared/sex/sexdvanadva/minet14.jpg
-
-   2 equal files of size 73118
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream4.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream4.jpg
-
-   2 equal files of size 72961
-   /images/pc/activities/phone/selfies/beach/nude/16.jpg
-   /images/pc/activities/phone/selfies/beach/nude/9.jpg
-
-   2 equal files of size 72798
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet18.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet18.jpg
-
-   2 equal files of size 72665
-   /images/locations/pavlovsk/school/grounds/track/AP-001.jpg
-   /images/pc/activities/track/AP-001.jpg
-
-   2 equal files of size 72202
-   /images/locations/pavlovsk/school/grounds/track/DE-005.jpg
-   /images/pc/activities/track/DE-005.jpg
-
-   2 equal files of size 71451
-   /images/locations/pavlovsk/school/grounds/track/OC-002.jpg
-   /images/pc/activities/track/OC-002.jpg
-
-   2 equal files of size 71168
-   /images/characters/pavlovsk/school/boy/artem/sex/park/rape5.jpg
-   /images/shared/sex/rape/park_rape5.jpg
-
-   2 equal files of size 70892
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream2.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream2.jpg
-
-   2 equal files of size 70170
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-M01.mp4
-   /images/pc/activities/track/SXFU-M01.mp4
-
-   2 equal files of size 70111
-   /images/locations/pavlovsk/school/grounds/track/punishment/SP-003.jpg
-   /images/pc/activities/track/SP-003.jpg
-
-   2 equal files of size 69698
-   /images/locations/pavlovsk/school/grounds/track/FE-014.jpg
-   /images/pc/activities/track/FE-014.jpg
-
-   2 equal files of size 69508
-   /images/locations/pavlovsk/school/grounds/track/PR-009.jpg
-   /images/pc/activities/track/PR-009.jpg
-
-   2 equal files of size 69030
-   /images/locations/city/residential/lake/sex/anfisa/anuli4.jpg
-   /images/locations/city/residential/lake/sex/anfisa/kuni1.jpg
-
-   2 equal files of size 68953
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream1.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream1.jpg
-
-   2 equal files of size 68386
-   /images/locations/city/residential/apartment/home/sitr2.jpg
-   /images/locations/city/residential/apartment/sitr2.jpg
-
-   2 equal files of size 68357
-   /images/locations/pavlovsk/factory/gshveyfab.jpg
-   /images/locations/pavlovsk/factory/pav_factory.jpg
-
-   2 equal files of size 68125
-   /images/locations/pavlovsk/school/grounds/track/sex/FE-011.jpg
-   /images/pc/activities/track/FE-011.jpg
-
-   2 equal files of size 68073
-   /images/characters/pavlovsk/school/boy/niko/kikoev2/dinner/6/vag2.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikoev2/diner/5/Vag2.jpg
-
-   2 equal files of size 68067
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift4.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift4.jpg
-
-   2 equal files of size 68011
-   /images/pc/activities/photography/foto/locations/13.jpg
-   /images/pc/activities/photography/foto/graveyard.jpg
-
-   2 equal files of size 67939
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift3.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift3.jpg
-
-   2 equal files of size 67901
-   /images/locations/city/citycenter/photo/seethru/5.jpg
-   /images/locations/city/citycenter/photo/seethru5.jpg
-
-   2 equal files of size 67742
-   /images/locations/pavlovsk/school/gym/locker/change.jpg
-   /images/locations/pavlovsk/school/gym/change.jpg
-
-   2 equal files of size 67627
-   /images/locations/pavlovsk/school/grounds/track/PR-006.jpg
-   /images/pc/activities/track/PR-006.jpg
-
-   2 equal files of size 67571
-   /images/locations/pavlovsk/resident/apartment/events/sex/evbj1.jpg
-   /images/locations/pavlovsk/resident/apartment/events/evbj.jpg
-
-   2 equal files of size 67279
-   /images/locations/pavlovsk/school/grounds/track/DE-002.jpg
-   /images/pc/activities/track/DE-002.jpg
-
-   2 equal files of size 67143
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sex/cum4.jpg
-   /images/pc/body/cum/cumface/brown/8.jpg
-
-   2 equal files of size 67067
-   /images/locations/city/residential/apartment/home/balcony_naked3.jpg
-   /images/locations/city/residential/apartment/balcony_naked3.jpg
-
-   2 equal files of size 66945
-   /images/characters/pavlovsk/school/boy/artem/sex/park/rapecum1.jpg
-   /images/shared/sex/rape/park_rapecum1.jpg
-
-   2 equal files of size 66932
-   /images/characters/city/anatoly/sex/bossbjcum4.jpg
-   /images/locations/city/anatoly/sex/bossbjcum4.jpg
-
-   2 equal files of size 66609
-   /images/locations/pavlovsk/resident/dimkahome/newyear/sex/pett2.jpg
-   /images/locations/pavlovsk/school/events/newyear/sex/pett2.jpg
-
-   2 equal files of size 66336
-   /images/locations/pavlovsk/school/grounds/track/PC-002.jpg
-   /images/pc/activities/track/PC-002.jpg
-
-   2 equal files of size 66108
-   /images/locations/pavlovsk/school/grounds/track/AP-005.jpg
-   /images/pc/activities/track/AP-005.jpg
-
-   2 equal files of size 65900
-   /images/locations/pavlovsk/park/hugging park 3.jpg
-   /images/locations/pavlovsk/park/hugging_park_3.jpg
-
-   2 equal files of size 65582
-   /images/locations/pavlovsk/school/gym/locker/peekdress2.jpg
-   /images/locations/pavlovsk/school/gym/peekdress2.jpg
-
-   2 equal files of size 65379
-   /images/locations/city/residential/apartment/home/bedr.jpg
-   /images/locations/city/residential/apartment/bedr.jpg
-
-   2 equal files of size 65138
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream5.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream5.jpg
-
-   2 equal files of size 64714
-   /images/locations/city/citycenter/photo/topnude/1.jpg
-   /images/locations/city/citycenter/photo/nude3.jpg
-
-   2 equal files of size 64647
-   /images/locations/gadukino/sex/mitka/mitkaforestsexccow1_2.2.jpg
-   /images/locations/gadukino/sex/mitka/mitkaforestsex_ow1_2.2.jpg
-
-   2 equal files of size 64458
-   /images/characters/pavlovsk/school/boy/artem/sex/park/rape3.jpg
-   /images/shared/sex/rape/park_rape3.jpg
-
-   2 equal files of size 64140
-   /images/locations/city/citycenter/photo/fashion/4.jpg
-   /images/locations/city/citycenter/photo/fashion4.jpg
-
-   2 equal files of size 64004
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/exhibition/denis.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/exhibition/Vasily.jpg
-
-   2 equal files of size 63675
-   /images/locations/pavlovsk/school/grounds/track/sex/FE-012.jpg
-   /images/pc/activities/track/FE-012.jpg
-
-   2 equal files of size 63497
-   /images/locations/city/citycenter/photo/nude/6.jpg
-   /images/locations/city/citycenter/photo/nude33.jpg
-
-   2 equal files of size 63027
-   /images/locations/city/residential/apartment/stairs/event/floor4_bottle.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor4_bottle.jpg
-
-   2 equal files of size 62846
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/hallway/soniaUpset.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikomisc/nikoev/school/hallway/soniaupset.jpg
-
-   2 equal files of size 62384
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift14.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift14.jpg
-
-   2 equal files of size 62282
-   /images/locations/pavlovsk/school/grounds/track/MA-005.jpg
-   /images/pc/activities/track/MA-005.jpg
-
-   2 equal files of size 62027
-   /images/locations/city/residential/apartment/home/balcony_naked1.jpg
-   /images/locations/city/residential/apartment/balcony_naked1.jpg
-
-   2 equal files of size 61917
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet15.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet15.jpg
-
-   2 equal files of size 61545
-   /images/locations/city/residential/apartment/home/kurit.jpg
-   /images/locations/city/residential/apartment/kurit.jpg
-
-   2 equal files of size 61304
-   /images/locations/pavlovsk/school/afterschool/sex/bscum2.jpg
-   /images/shared/sex/cum/mouth/cum50.jpg
-
-   2 equal files of size 61058
-   /images/locations/city/citycenter/photo/topless/2.jpg
-   /images/locations/city/citycenter/photo/topless2.jpg
-
-   2 equal files of size 60993
-   /images/locations/pavlovsk/school/grounds/track/CHR-02.jpg
-   /images/pc/activities/track/CHR-02.jpg
-
-   2 equal files of size 60672
-   /images/shared/home/bathroom/towel_wet.jpg
-   /images/shared/romance/lovers/misc/towel.jpg
-
-   2 equal files of size 60411
-   /images/locations/pavlovsk/resident/apartment/home/kuhrpar.jpg
-   /images/locations/pavlovsk/resident/apartment/ludahome/kitchen.jpg
-
-   2 equal files of size 60208
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream6.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream6.jpg
-
-   2 equal files of size 59544
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet11.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet11.jpg
-
-   2 equal files of size 59445
-   /images/locations/city/residential/apartment/stairs/event/sex/floor4_bj.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor4_bj.jpg
-
-   2 equal files of size 58801
-   /images/characters/pavlovsk/resident/reks/rex.jpg
-   /images/characters/shared/headshots_main/big57.jpg
-
-   2 equal files of size 58714
-   /images/locations/city/residential/apartment/stairs/event/sex/floor3_fuck.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor3_fuck.jpg
-
-   2 equal files of size 58625
-   /images/locations/gadukino/village/girl_cow_river.jpg
-   /images/locations/gadukino/village/graze_cow_river.jpg
-
-   3 equal files of size 58018
-   /images/pc/body/hairstyles/lng/curly-bangs-buns/hcol3.jpg
-   /images/pc/body/hairstyles/med/curly-bangs-buns/hcol3.jpg
-   /images/pc/body/hairstyles/medlo/curly-bangs-buns/hcol3.jpg
-
-   2 equal files of size 57523
-   /images/locations/pavlovsk/school/gym/locker/peekdress1.jpg
-   /images/locations/pavlovsk/school/gym/peekdress1.jpg
-
-   2 equal files of size 57179
-   /images/locations/city/citycenter/photo/adverts/advert4.jpg
-   /images/locations/city/citycenter/photo/advert4.jpg
-
-   2 equal files of size 57118
-   /images/locations/pavlovsk/school/classroom/literature/classlit.jpg
-   /images/locations/pavlovsk/school/classroom/classlit.jpg
-
-   2 equal files of size 57008
-   /images/characters/pavlovsk/pavlin/pavlin-bj.jpg
-   /images/characters/pavlovsk/pavlin/pavlin_bj.jpg
-
-   2 equal files of size 56989
-   /images/locations/pavlovsk/school/grounds/track/FE-019.jpg
-   /images/pc/activities/track/FE-019.jpg
-
-   2 equal files of size 56872
-   /images/characters/shared/headshots_main/big32.jpg
-   /images/locations/gadukino/grandparents/babushka.jpg
-
-   2 equal files of size 56849
-   /images/locations/city/citycenter/photo/tastenude/3.jpg
-   /images/locations/city/citycenter/photo/nude6.jpg
-
-   2 equal files of size 56601
-   /images/shared/food/fast_food.jpg
-   /images/shared/food/food.jpg
-
-   2 equal files of size 56535
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift11.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift11.jpg
-
-   2 equal files of size 56425
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-004.jpg
-   /images/pc/activities/track/OR-004.jpg
-
-   2 equal files of size 56395
-   /images/locations/pavlovsk/resident/apartment/events/sex/evanal.jpg
-   /images/locations/pavlovsk/resident/apartment/events/evanal.jpg
-
-   2 equal files of size 56066
-   /images/locations/pavlovsk/school/grounds/track/AP-009.jpg
-   /images/pc/activities/track/AP-009.jpg
-
-   2 equal files of size 55871
-   /images/characters/pavlovsk/school/boy/vasya/sex/shuglinhome/tv/cum9.jpg
-   /images/pc/body/cum/cumface/black/8.jpg
-
-   2 equal files of size 55709
-   /images/locations/city/citycenter/photo/sexy/3.jpg
-   /images/locations/city/citycenter/photo/ero4.jpg
-
-   2 equal files of size 55527
-   /images/locations/shared/sex/sexdvanadva/New folder/minet15.jpg
-   /images/locations/shared/sex/sexdvanadva/minet15.jpg
-
-   2 equal files of size 55490
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-002.jpg
-   /images/pc/activities/track/OR-002.jpg
-
-   2 equal files of size 55484
-   /images/locations/city/residential/apartment/stairs/event/sex/floor3_bj.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor3_bj.jpg
-
-   2 equal files of size 55450
-   /images/locations/city/citycenter/photo/tastenude/4.jpg
-   /images/locations/city/citycenter/photo/nude4.jpg
-
-   2 equal files of size 55221
-   /images/locations/pavlovsk/school/grounds/track/sex/FE-009.jpg
-   /images/pc/activities/track/FE-009.jpg
-
-   2 equal files of size 55146
-   /images/characters/pavlovsk/school/boy/niko/kikoev2/dinner/6/rear2.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikoev2/diner/6/anal2.jpg
-
-   2 equal files of size 54805
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift10.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift10.jpg
-
-   2 equal files of size 54660
-   /images/locations/pavlovsk/resident/dimkahome/newyear/alb.jpg
-   /images/locations/pavlovsk/school/events/newyear/alb.jpg
-
-   2 equal files of size 54459
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-002.jpg
-   /images/pc/activities/track/SXFU-002.jpg
-
-   2 equal files of size 54454
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift13.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift13.jpg
-
-   2 equal files of size 54359
-   /images/characters/pavlovsk/school/girl/albina/sex/prostitute/d.jpg
-   /images/characters/pavlovsk/school/girl/albina/sex/prostitute/threesome.jpg
-
-   2 equal files of size 54245
-   /images/locations/pavlovsk/school/grounds/track/FAM-003.jpg
-   /images/pc/activities/track/FAM-003.jpg
-
-   2 equal files of size 54186
-   /images/characters/pavlovsk/pavlin/pavlin-hj.jpg
-   /images/characters/pavlovsk/pavlin/pavlin_hj.jpg
-
-   2 equal files of size 54085
-   /images/pc/activities/photography/foto/people/5.jpg
-   /images/pc/activities/photography/foto/nush.jpg
-
-   2 equal files of size 54035
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet14.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet14.jpg
-
-   2 equal files of size 53971
-   /images/pc/activities/photography/foto/people/1.jpg
-   /images/pc/activities/photography/foto/mother.jpg
-
-   2 equal files of size 53713
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet7.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet7.jpg
-
-   2 equal files of size 53578
-   /images/locations/pavlovsk/school/grounds/track/FE-003.jpg
-   /images/pc/activities/track/FE-003.jpg
-
-   2 equal files of size 53509
-   /images/locations/pavlovsk/school/grounds/track/MA-013.jpg
-   /images/pc/activities/track/MA-013.jpg
-
-   2 equal files of size 53282
-   /images/locations/pavlovsk/park/sex/gop/bjbeerbeaten.jpg
-   /images/locations/pavlovsk/park/sex/gop/bjbeerbeaten1.jpg
-
-   2 equal files of size 53137
-   /images/locations/pavlovsk/school/grounds/track/PC-001.jpg
-   /images/pc/activities/track/PC-001.jpg
-
-   2 equal files of size 53002
-   /images/locations/pavlovsk/resident/dimkahome/newyear/tusa9.jpg
-   /images/locations/pavlovsk/school/events/newyear/tusa9.jpg
-
-   2 equal files of size 52934
-   /images/characters/pavlovsk/school/girl/natasha/sex/seethrough01.jpg
-   /images/characters/pavlovsk/school/girl/natasha/seethrough01.jpg
-
-   2 equal files of size 52712
-   /images/locations/pavlovsk/school/grounds/track/DE-001.jpg
-   /images/pc/activities/track/DE-001.jpg
-
-   2 equal files of size 52684
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift9.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift9.jpg
-
-   2 equal files of size 52338
-   /images/locations/pavlovsk/school/grounds/track/DE-008.jpg
-   /images/pc/activities/track/DE-008.jpg
-
-   2 equal files of size 52332
-   /images/locations/pavlovsk/school/grounds/track/punishment/SP-004.jpg
-   /images/pc/activities/track/SP-004.jpg
-
-   2 equal files of size 52326
-   /images/characters/city/anatoly/sex/bossbj14.jpg
-   /images/locations/city/anatoly/sex/bossbj14.jpg
-
-   2 equal files of size 52302
-   /images/locations/city/residential/apartment/home/balcony_naked2.jpg
-   /images/locations/city/residential/apartment/balcony_naked2.jpg
-
-   2 equal files of size 51505
-   /images/locations/pavlovsk/school/grounds/track/DE-003.jpg
-   /images/pc/activities/track/DE-003.jpg
-
-   2 equal files of size 51424
-   /images/locations/pavlovsk/school/grounds/track/punishment/SP-002.jpg
-   /images/pc/activities/track/SP-002.jpg
-
-   2 equal files of size 51375
-   /images/locations/city/residential/apartment/stairs/event/floor5_couple.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor5_couple.jpg
-
-   2 equal files of size 51344
-   /images/characters/pavlovsk/school/boy/niko/kikoev2/dinner/6/vag1.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikoev2/diner/5/Vag1.jpg
-
-   2 equal files of size 50697
-   /images/pc/body/pussy/hair/green.jpg
-   /images/pc/body/pussy/hair/green_full.jpg
-
-   2 equal files of size 50594
-   /images/characters/pavlovsk/resident/arthur/sex/cocksuckercum.jpg
-   /images/locations/city/residential/office/sex/guard/bjcum4.jpg
-
-   2 equal files of size 50577
-   /images/locations/pavlovsk/school/grounds/track/MA-008.jpg
-   /images/pc/activities/track/MA-008.jpg
-
-   2 equal files of size 49459
-   /images/locations/city/citycenter/photo/topless/14.jpg
-   /images/locations/city/citycenter/photo/topless14.jpg
-
-   2 equal files of size 49458
-   /images/locations/city/citycenter/photo/special/art1.jpg
-   /images/locations/city/citycenter/photo/art1.jpg
-
-   2 equal files of size 49378
-   /images/locations/pavlovsk/school/grounds/track/DE-004.jpg
-   /images/pc/activities/track/DE-004.jpg
-
-   2 equal files of size 49344
-   /images/locations/city/residential/apartment/home/vanr.jpg
-   /images/locations/city/residential/apartment/vanr.jpg
-
-   2 equal files of size 49026
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-008.jpg
-   /images/pc/activities/track/OR-008.jpg
-
-   2 equal files of size 48958
-   /images/locations/pavlovsk/school/grounds/track/sex/FE-010.jpg
-   /images/pc/activities/track/FE-010.jpg
-
-   2 equal files of size 48939
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-016.jpg
-   /images/pc/activities/track/MA-016.jpg
-
-   2 equal files of size 48436
-   /images/characters/pavlovsk/school/boy/niko/nikomisc/meynold/vicky/vickySmile.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikomisc/meynold/vicky/vickysmile1.jpg
-
-   2 equal files of size 48227
-   /images/characters/shared/headshots_main/big31.jpg
-   /images/locations/gadukino/grandparents/grandpa1.jpg
-
-   2 equal files of size 47983
-   /images/locations/city/citycenter/photo/portraits/katherine_a/2.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/2.jpg
-
-   2 equal files of size 47977
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_8.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_toilet_5_13.jpg
-
-   2 equal files of size 47964
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-004.jpg
-   /images/pc/activities/track/SXFU-004.jpg
-
-   2 equal files of size 47785
-   /images/locations/city/citycenter/photo/bnude/4.jpg
-   /images/locations/city/citycenter/photo/nude38.jpg
-
-   2 equal files of size 47757
-   /images/locations/city/citycenter/photo/topless/12.jpg
-   /images/locations/city/citycenter/photo/topless12.jpg
-
-   2 equal files of size 47651
-   /images/pc/activities/photography/foto/people/3.jpg
-   /images/pc/activities/photography/foto/lazar.jpg
-
-   2 equal files of size 47601
-   /images/locations/pavlovsk/school/grounds/track/NI-003.jpg
-   /images/pc/activities/track/NI-003.jpg
-
-   2 equal files of size 47507
-   /images/locations/pavlovsk/school/grounds/track/FE-005.jpg
-   /images/pc/activities/track/FE-005.jpg
-
-   2 equal files of size 47427
-   /images/locations/pavlovsk/school/grounds/track/punishment/SP-001.jpg
-   /images/pc/activities/track/SP-001.jpg
-
-   2 equal files of size 47376
-   /images/locations/pavlovsk/school/grounds/track/FAM-002.jpg
-   /images/pc/activities/track/FAM-002.jpg
-
-   2 equal files of size 47318
-   /images/locations/pavlovsk/school/grounds/track/PR-004.jpg
-   /images/pc/activities/track/PR-004.jpg
-
-   2 equal files of size 46957
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream8.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream8.jpg
-
-   2 equal files of size 46890
-   /images/characters/pavlovsk/resident/serge/serge2.jpg
-   /images/characters/shared/headshots_main/big112.jpg
-
-   2 equal files of size 46809
-   /images/pc/body/cum/cumface/blonde/5.jpg
-   /images/shared/sex/cum/facial/facial0,6.jpg
-
-   2 equal files of size 46553
-   /images/locations/pavlovsk/school/lunch/peremena20.jpg
-   /images/locations/pavlovsk/school/lunch/peremena4.jpg
-
-   2 equal files of size 46396
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet20.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet20.jpg
-
-   2 equal files of size 46292
-   /images/locations/pavlovsk/school/lunch/peremena10.jpg
-   /images/locations/pavlovsk/school/lunch/peremena17.jpg
-
-   2 equal files of size 46141
-   /images/locations/pavlovsk/school/grounds/track/AP-012.jpg
-   /images/pc/activities/track/AP-012.jpg
-
-   2 equal files of size 46112
-   /images/locations/pavlovsk/resident/dimkahome/newyear/sex/cond.jpg
-   /images/locations/pavlovsk/school/events/newyear/sex/cond.jpg
-
-   2 equal files of size 46100
-   /images/locations/city/citycenter/photo/special/group.jpg
-   /images/locations/city/citycenter/photo/group.jpg
-
-   2 equal files of size 45918
-   /images/characters/shared/boyfriend/groped.jpg
-   /images/locations/shared/boyfriend/groped.jpg
-
-   2 equal files of size 45774
-   /images/locations/city/citycenter/photo/topnude/12.jpg
-   /images/locations/city/citycenter/photo/nude19.jpg
-
-   2 equal files of size 45708
-   /images/locations/city/citycenter/photo/topless/4.jpg
-   /images/locations/city/citycenter/photo/topless4.jpg
-
-   2 equal files of size 45312
-   /images/locations/pavlovsk/resident/apartment/events/sex/evbjn.jpg
-   /images/locations/pavlovsk/resident/apartment/events/evbjn.jpg
-
-   2 equal files of size 45289
-   /images/locations/city/citycenter/photo/topnude/10.jpg
-   /images/locations/city/citycenter/photo/nude15.jpg
-
-   2 equal files of size 45154
-   /images/locations/city/citycenter/photo/portraits/katherine_a/3.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/3.jpg
-
-   2 equal files of size 45074
-   /images/locations/city/residential/apartment/home/vanr2.jpg
-   /images/locations/shared/bathroom/vanr2.jpg
-
-   3 equal files of size 45020
-   /images/pc/body/hairstyles/lng/curly-bangs-buns/hcol2.jpg
-   /images/pc/body/hairstyles/med/curly-bangs-buns/hcol2.jpg
-   /images/pc/body/hairstyles/medlo/curly-bangs-buns/hcol2.jpg
-
-   2 equal files of size 44931
-   /images/locations/pavlovsk/resident/dimkahome/newyear/sex/pett.jpg
-   /images/locations/pavlovsk/school/events/newyear/sex/pett.jpg
-
-   2 equal files of size 44862
-   /images/characters/pavlovsk/school/girl/natasha/sex/seethrough03.jpg
-   /images/characters/pavlovsk/school/girl/natasha/seethrough03.jpg
-
-   2 equal files of size 44615
-   /images/locations/city/citycenter/photo/special/art3.jpg
-   /images/locations/city/citycenter/photo/art3.jpg
-
-   2 equal files of size 44611
-   /images/locations/pavlovsk/resident/dimkahome/newyear/tusa8.jpg
-   /images/locations/pavlovsk/school/events/newyear/tusa8.jpg
-
-   2 equal files of size 44490
-   /images/locations/city/citycenter/photo/adverts/advert3.jpg
-   /images/locations/city/citycenter/photo/advert3.jpg
-
-   2 equal files of size 44382
-   /images/locations/city/citycenter/photo/fashion/2.jpg
-   /images/locations/city/citycenter/photo/fashion2.jpg
-
-   2 equal files of size 44374
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-006.jpg
-   /images/pc/activities/track/SXFU-006.jpg
-
-   2 equal files of size 44369
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift5.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift5.jpg
-
-   2 equal files of size 44270
-   /images/locations/pavlovsk/school/grounds/track/sex/FE-008.jpg
-   /images/pc/activities/track/FE-008.jpg
-
-   2 equal files of size 44264
-   /images/locations/city/citycenter/photo/adverts/advert1.jpg
-   /images/locations/city/citycenter/photo/advert1.jpg
-
-   2 equal files of size 43839
-   /images/locations/pavlovsk/resident/dimkahome/newyear/tusa6.jpg
-   /images/locations/pavlovsk/school/events/newyear/tusa6.jpg
-
-   2 equal files of size 43625
-   /images/locations/city/citycenter/photo/tastenude/1.jpg
-   /images/locations/city/citycenter/photo/nude1.jpg
-
-   2 equal files of size 43520
-   /images/locations/pavlovsk/community/chess/kruchess.jpg
-   /images/locations/pavlovsk/community/kruchess.jpg
-
-   2 equal files of size 43516
-   /images/locations/pavlovsk/school/bathroom/caught.jpg
-   /images/locations/pavlovsk/school/bathroom/caught1.jpg
-
-   2 equal files of size 43465
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet2.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet2.jpg
-
-   2 equal files of size 43464
-   /images/characters/pavlovsk/school/boy/vasya/sex/shuglinhome/tv/cum10.jpg
-   /images/pc/body/cum/cumface/brown/10.jpg
-
-   2 equal files of size 43207
-   /images/locations/shared/sex/sexdvanadva/New folder/minet1.jpg
-   /images/locations/shared/sex/sexdvanadva/minet1.jpg
-
-   2 equal files of size 43134
-   /images/locations/pavlovsk/school/grounds/track/MA-014.jpg
-   /images/pc/activities/track/MA-014.jpg
-
-   2 equal files of size 43041
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet12.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet12.jpg
-
-   2 equal files of size 43021
-   /images/locations/pavlovsk/school/grounds/track/AP-010.jpg
-   /images/pc/activities/track/AP-010.jpg
-
-   2 equal files of size 42808
-   /images/locations/city/residential/apartment/home/balcony_dressed1.jpg
-   /images/locations/city/residential/apartment/balcony_dressed1.jpg
-
-   2 equal files of size 42770
-   /images/locations/city/citycenter/photo/topless/19.jpg
-   /images/locations/city/citycenter/photo/topless19.jpg
-
-   2 equal files of size 42722
-   /images/locations/pavlovsk/school/gym/locker/lenpeek.jpg
-   /images/locations/pavlovsk/school/gym/lenpeek.jpg
-
-   2 equal files of size 42668
-   /images/locations/shared/sex/sexdvanadva/New folder/minet0.jpg
-   /images/locations/shared/sex/sexdvanadva/minet0.jpg
-
-   2 equal files of size 42587
-   /images/locations/pavlovsk/school/grounds/track/FE-002.jpg
-   /images/pc/activities/track/FE-002.jpg
-
-   2 equal files of size 42569
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-001.jpg
-   /images/pc/activities/track/SXFU-001.jpg
-
-   2 equal files of size 42263
-   /images/locations/pavlovsk/school/lunch/peremena18.jpg
-   /images/locations/pavlovsk/school/lunch/peremena6.jpg
-
-   2 equal files of size 42253
-   /images/locations/city/citycenter/photo/seethru/2.jpg
-   /images/locations/city/citycenter/photo/seethru2.jpg
-
-   2 equal files of size 42137
-   /images/locations/pavlovsk/resident/dimkahome/newyear/tit.jpg
-   /images/locations/pavlovsk/school/events/newyear/tit.jpg
-
-   2 equal files of size 42135
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet9.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet9.jpg
-
-   2 equal files of size 42101
-   /images/locations/city/citycenter/photo/seethru/1.jpg
-   /images/locations/city/citycenter/photo/seethru1.jpg
-
-   2 equal files of size 41967
-   /images/locations/pavlovsk/resident/dimkahome/newyear/sex/kat.jpg
-   /images/locations/pavlovsk/school/events/newyear/sex/kat.jpg
-
-   2 equal files of size 41857
-   /images/locations/city/citycenter/photo/portraits/katherine_a/5.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/5.jpg
-
-   2 equal files of size 41753
-   /images/pc/activities/phone/selfies/beach/nude/20.jpg
-   /images/pc/activities/phone/selfies/beach/nude/7.jpg
-
-   2 equal files of size 41720
-   /images/locations/city/citycenter/photo/topless/5.jpg
-   /images/locations/city/citycenter/photo/topless5.jpg
-
-   2 equal files of size 41705
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet25.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet25.jpg
-
-   2 equal files of size 41515
-   /images/characters/pavlovsk/school/girl/natasha/sex/seethrough02.jpg
-   /images/characters/pavlovsk/school/girl/natasha/seethrough02.jpg
-
-   2 equal files of size 41513
-   /images/locations/pavlovsk/school/grounds/track/sex/SXFU-M02.mp4
-   /images/pc/activities/track/SXFU-M02.mp4
-
-   2 equal files of size 41032
-   /images/locations/city/citycenter/photo/seethru/3.jpg
-   /images/locations/city/citycenter/photo/seethru3.jpg
-
-   2 equal files of size 41030
-   /images/locations/pavlovsk/school/gym/shower/watchkaty.jpg
-   /images/locations/pavlovsk/school/gym/katypeek.jpg
-
-   2 equal files of size 40935
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sexrough/ass9.jpg
-   /images/pc/body/cum/cumanal/cumanal3.jpg
-
-   2 equal files of size 40905
-   /images/locations/pavlovsk/school/classroom/literature/work2.jpg
-   /images/locations/pavlovsk/school/classroom/work2.jpg
-
-   2 equal files of size 40897
-   /images/locations/pavlovsk/school/grounds/track/FE-017.jpg
-   /images/pc/activities/track/FE-017.jpg
-
-   2 equal files of size 40674
-   /images/locations/city/residential/apartment/stairs/event/floor4_bdsm.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor4_bdsm.jpg
-
-   2 equal files of size 40654
-   /images/locations/pavlovsk/school/grounds/track/MA-004.jpg
-   /images/pc/activities/track/MA-004.jpg
-
-   2 equal files of size 40514
-   /images/locations/shared/sex/sexdvanadva/uvag12.jpg
-   /images/locations/shared/sex/sexdvanadva/vag12.jpg
-
-   2 equal files of size 40297
-   /images/pc/activities/photography/foto/people/6.jpg
-   /images/pc/activities/photography/foto/eugene.jpg
-
-   2 equal files of size 40235
-   /images/locations/city/citycenter/photo/topnude/6.jpg
-   /images/locations/city/citycenter/photo/nude11.jpg
-
-   2 equal files of size 40169
-   /images/locations/city/residential/apartment/stairs/event/floor5_bdsm.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor5_bdsm.jpg
-
-   2 equal files of size 40129
-   /images/locations/pavlovsk/school/grounds/track/NI-002.jpg
-   /images/pc/activities/track/NI-002.jpg
-
-   2 equal files of size 39990
-   /images/locations/pavlovsk/school/gym/locker/iripeek.jpg
-   /images/locations/pavlovsk/school/gym/iripeek.jpg
-
-   2 equal files of size 39972
-   /images/locations/pavlovsk/resident/apartment/shulginhome/kuh/help/jara3.jpg
-   /images/locations/pavlovsk/resident/apartment/shulginhome/kuh/help/vert10.jpg
-
-   2 equal files of size 39920
-   /images/locations/pavlovsk/school/grounds/track/AP-004.jpg
-   /images/pc/activities/track/AP-004.jpg
-
-   2 equal files of size 39790
-   /images/locations/pavlovsk/school/grounds/track/AP-007.jpg
-   /images/pc/activities/track/AP-007.jpg
-
-   2 equal files of size 39788
-   /images/locations/pavlovsk/school/grounds/track/AP-008.jpg
-   /images/pc/activities/track/AP-008.jpg
-
-   2 equal files of size 39601
-   /images/characters/pavlovsk/school/girl/natasha/sex/seethroughkitchen01.jpg
-   /images/characters/pavlovsk/school/girl/natasha/seethroughkitchen01.jpg
-
-   2 equal files of size 39564
-   /images/locations/pavlovsk/school/gym/locker/nushpeek.jpg
-   /images/locations/pavlovsk/school/gym/nushpeek.jpg
-
-   2 equal files of size 39485
-   /images/locations/shared/sex/sexdvanadva/New folder/minet13.jpg
-   /images/locations/shared/sex/sexdvanadva/minet13.jpg
-
-   2 equal files of size 39430
-   /images/locations/city/citycenter/photo/topnude/17.jpg
-   /images/locations/city/citycenter/photo/nude23.jpg
-
-   2 equal files of size 39326
-   /images/locations/city/citycenter/photo/topless/11.jpg
-   /images/locations/city/citycenter/photo/topless11.jpg
-
-   2 equal files of size 39300
-   /images/locations/pavlovsk/hotel/hotel.room.best1.jpg
-   /images/locations/pavlovsk/resident/meynolds/bathroom.jpg
-
-   3 equal files of size 39073
-   /images/pc/body/hairstyles/lng/curly-bangs-buns/hcol1.jpg
-   /images/pc/body/hairstyles/med/curly-bangs-buns/hcol1.jpg
-   /images/pc/body/hairstyles/medlo/curly-bangs-buns/hcol1.jpg
-
-   2 equal files of size 39045
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sex/cum3.jpg
-   /images/pc/body/cum/cumtits/cumtits1.jpg
-
-   2 equal files of size 39019
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift2.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift2.jpg
-
-   2 equal files of size 38877
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift6.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift6.jpg
-
-   2 equal files of size 38822
-   /images/locations/pavlovsk/school/grounds/track/NI-001.jpg
-   /images/pc/activities/track/NI-001.jpg
-
-   2 equal files of size 38652
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet1.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet1.jpg
-
-   2 equal files of size 38552
-   /images/locations/city/residential/apartment/home/sex/balcony_anal1.mp4
-   /images/locations/city/residential/apartment/sex/balcony_anal1.mp4
-
-   2 equal files of size 38549
-   /images/characters/pavlovsk/resident/vladimir/father.jpg
-   /images/characters/shared/headshots_main/big28.jpg
-
-   2 equal files of size 38549
-   /images/locations/pavlovsk/school/grounds/track/CHR-01.jpg
-   /images/pc/activities/track/CHR-01.jpg
-
-   2 equal files of size 38502
-   /images/locations/pavlovsk/school/grounds/track/FAM-001.jpg
-   /images/pc/activities/track/FAM-001.jpg
-
-   2 equal files of size 38385
-   /images/locations/city/residential/apartment/home/balcony_underwear3.jpg
-   /images/locations/city/residential/apartment/balcony_underwear3.jpg
-
-   2 equal files of size 38354
-   /images/characters/city/jugo/jugopre.jpg
-   /images/system/1_openings/shared/npc_gustav.jpg
-
-   2 equal files of size 38227
-   /images/locations/pavlovsk/school/grounds/track/FE-015.jpg
-   /images/pc/activities/track/FE-015.jpg
-
-   2 equal files of size 38144
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet5.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet5.jpg
-
-   2 equal files of size 38115
-   /images/locations/pavlovsk/school/gym/locker/belpeek.jpg
-   /images/locations/pavlovsk/school/gym/belpeek.jpg
-
-   2 equal files of size 38111
-   /images/characters/pavlovsk/resident/misha/misha.jpg
-   /images/characters/shared/headshots_main/big54.jpg
-
-   2 equal files of size 38109
-   /images/locations/pavlovsk/school/grounds/track/AP-011.jpg
-   /images/pc/activities/track/AP-011.jpg
-
-   2 equal files of size 37864
-   /images/locations/city/citycenter/photo/topless/22.jpg
-   /images/locations/city/citycenter/photo/topless22.jpg
-
-   2 equal files of size 37762
-   /images/characters/shared/headshots_main/big63.jpg
-   /images/locations/gadukino/village/mitka.jpg
-
-   2 equal files of size 37712
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet21.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet21.jpg
-
-   3 equal files of size 37601
-   /images/locations/city/citycenter/photo/portraits/katherine_a/face.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/talking/face.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/face.jpg
-
-   2 equal files of size 37396
-   /images/locations/pavlovsk/school/gym/locker/albpeek.jpg
-   /images/locations/pavlovsk/school/gym/albpeek.jpg
-
-   2 equal files of size 37324
-   /images/locations/pavlovsk/school/gym/locker/katpeek.jpg
-   /images/locations/pavlovsk/school/gym/katpeek.jpg
-
-   2 equal files of size 37260
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-021.jpg
-   /images/pc/activities/track/MA-021.jpg
-
-   2 equal files of size 37180
-   /images/locations/pavlovsk/school/gym/locker/chrispeek.jpg
-   /images/locations/pavlovsk/school/gym/chrispeek.jpg
-
-   2 equal files of size 36827
-   /images/pc/activities/phone/selfies/beach/nude/21.jpg
-   /images/pc/activities/phone/selfies/beach/nude/6.jpg
-
-   2 equal files of size 36709
-   /images/locations/city/residential/apartment/stairs/event/floor3_ir.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor3_ir.jpg
-
-   2 equal files of size 36454
-   /images/locations/city/citycenter/photo/portraits/katherine_a/1.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/1.jpg
-
-   2 equal files of size 36441
-   /images/locations/pavlovsk/resident/dimkahome/newyear/vomit.jpg
-   /images/locations/pavlovsk/school/events/newyear/vomit.jpg
-
-   2 equal files of size 36333
-   /images/locations/pavlovsk/resident/dimkahome/newyear/idi.jpg
-   /images/locations/pavlovsk/school/events/newyear/idi.jpg
-
-   2 equal files of size 36311
-   /images/locations/pavlovsk/school/events/newyear/ggkiss.jpg
-   /images/locations/pavlovsk/school/events/girlskiss.jpg
-
-   2 equal files of size 36306
-   /images/locations/city/residential/apartment/home/balcony_dressed2.jpg
-   /images/locations/city/residential/apartment/balcony_dressed2.jpg
-
-   2 equal files of size 36199
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sex/cum1.jpg
-   /images/pc/body/cum/cumface/blonde/8.jpg
-
-   3 equal files of size 36056
-   /images/pc/body/hairstyles/lng/curly-bangs-buns/hcol0.jpg
-   /images/pc/body/hairstyles/med/curly-bangs-buns/hcol0.jpg
-   /images/pc/body/hairstyles/medlo/curly-bangs-buns/hcol0.jpg
-
-   2 equal files of size 35971
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-006.jpg
-   /images/pc/activities/track/OR-006.jpg
-
-   2 equal files of size 35933
-   /images/locations/city/citycenter/photo/special/art2.jpg
-   /images/locations/city/citycenter/photo/art2.jpg
-
-   2 equal files of size 35871
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet0.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet0.jpg
-
-   2 equal files of size 35655
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/hall10.mp4
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/lock8.mp4
-
-   2 equal files of size 35610
-   /images/locations/pavlovsk/altschool/ptu_ups.jpg
-   /images/locations/pavlovsk/school/afterschool/ptu_ups.jpg
-
-   2 equal files of size 35515
-   /images/locations/pavlovsk/school/grounds/track/AP-002.jpg
-   /images/pc/activities/track/AP-002.jpg
-
-   2 equal files of size 35419
-   /images/locations/shared/sex/sexdvanadva/anal12.jpg
-   /images/locations/shared/sex/sexdvanadva/uanal12.jpg
-
-   2 equal files of size 35387
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-007.jpg
-   /images/pc/activities/track/OR-007.jpg
-
-   2 equal files of size 35383
-   /images/locations/city/citycenter/photo/bnude/6.jpg
-   /images/locations/city/citycenter/photo/nude40.jpg
-
-   2 equal files of size 35328
-   /images/pc/body/cum/cumface/black/4.jpg
-   /images/shared/sex/cum/facial/facial0,7.jpg
-
-   2 equal files of size 35141
-   /images/locations/city/residential/apartment/stairs/event/sex/floor4_fuck.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor4_fuck.jpg
-
-   2 equal files of size 34875
-   /images/locations/pavlovsk/school/gym/locker/lizpeek.jpg
-   /images/locations/pavlovsk/school/gym/lizpeek.jpg
-
-   2 equal files of size 34847
-   /images/locations/pavlovsk/school/grounds/track/DE-009.jpg
-   /images/pc/activities/track/DE-009.jpg
-
-   2 equal files of size 34755
-   /images/locations/pavlovsk/school/gym/locker/linpeek.jpg
-   /images/locations/pavlovsk/school/gym/linpeek.jpg
-
-   2 equal files of size 34644
-   /images/locations/pavlovsk/school/grounds/track/punishment/PR-010.jpg
-   /images/pc/activities/track/PR-010.jpg
-
-   2 equal files of size 34640
-   /images/locations/pavlovsk/school/gym/locker/verpeek.jpg
-   /images/locations/pavlovsk/school/gym/verpeek.jpg
-
-   2 equal files of size 34516
-   /images/locations/pavlovsk/school/gym/locker/zinpeek.jpg
-   /images/locations/pavlovsk/school/gym/zinpeek.jpg
-
-   2 equal files of size 34448
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet4.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet4.jpg
-
-   2 equal files of size 34334
-   /images/characters/pavlovsk/school/boy/igor/crossdress/kd_2.jpg
-   /images/characters/pavlovsk/school/boy/igor/crossdress/kd_6.jpg
-
-   2 equal files of size 34199
-   /images/characters/city/models/mari/talking/face.jpg
-   /images/characters/city/models/mari/face.jpg
-
-   2 equal files of size 34163
-   /images/locations/city/citycenter/photo/topless/21.jpg
-   /images/locations/city/citycenter/photo/topless21.jpg
-
-   2 equal files of size 34105
-   /images/pc/body/piercings/cli1.jpg
-   /images/pc/body/piercings/g2.jpg
-
-   2 equal files of size 34093
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-005.jpg
-   /images/pc/activities/track/OR-005.jpg
-
-   2 equal files of size 34058
-   /images/locations/pavlovsk/school/grounds/track/MA-001.jpg
-   /images/pc/activities/track/MA-001.jpg
-
-   2 equal files of size 34045
-   /images/locations/pavlovsk/school/gym/locker/natpeek.jpg
-   /images/locations/pavlovsk/school/gym/natpeek.jpg
-
-   2 equal files of size 33996
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sex/cum6.jpg
-   /images/pc/body/cum/cumtits/cumtits2.jpg
-
-   2 equal files of size 33989
-   /images/locations/pavlovsk/resident/dimkahome/newyear/sex/fuck.jpg
-   /images/locations/pavlovsk/school/events/newyear/sex/fuck.jpg
-
-   2 equal files of size 33942
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_14_3.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_7_3.jpg
-
-   2 equal files of size 33884
-   /images/locations/pavlovsk/school/grounds/track/sex/FE-007.jpg
-   /images/pc/activities/track/FE-007.jpg
-
-   2 equal files of size 33873
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_14_2.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_7_2.jpg
-
-   2 equal files of size 33818
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sexrough/ass1.jpg
-   /images/pc/body/cum/cumanal/cumanal2.jpg
-
-   2 equal files of size 33720
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet10.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet10.jpg
-
-   2 equal files of size 33686
-   /images/locations/pavlovsk/school/grounds/track/FE-001.jpg
-   /images/pc/activities/track/FE-001.jpg
-
-   2 equal files of size 33626
-   /images/pc/body/cum/cumface/black/3.jpg
-   /images/shared/sex/cum/facial/facial0,1.jpg
-
-   2 equal files of size 33590
-   /images/locations/pavlovsk/school/gym/locker/julpeek.jpg
-   /images/locations/pavlovsk/school/gym/julpeek.jpg
-
-   2 equal files of size 33559
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift8.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift8.jpg
-
-   2 equal files of size 33436
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-023.jpg
-   /images/pc/activities/track/MA-023.jpg
-
-   2 equal files of size 33423
-   /images/locations/city/citycenter/photo/topless/13.jpg
-   /images/locations/city/citycenter/photo/topless13.jpg
-
-   2 equal files of size 33273
-   /images/characters/pavlovsk/school/girl/anushka/nush_model/nush_talk.jpg
-   /images/locations/pavlovsk/school/gym/nushwatch1.jpg
-
-   2 equal files of size 33214
-   /images/locations/pavlovsk/school/gym/locker/alypeek.jpg
-   /images/locations/pavlovsk/school/gym/alypeek.jpg
-
-   2 equal files of size 33181
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift7.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift7.jpg
-
-   2 equal files of size 33136
-   /images/locations/city/citycenter/photo/portraits/jeff_m/talking/19.jpg
-   /images/locations/city/citycenter/photo/portraits/jeff_m/talking/26.jpg
-
-   2 equal files of size 32992
-   /images/locations/pavlovsk/school/lunch/peremena19.jpg
-   /images/locations/pavlovsk/school/lunch/peremena5.jpg
-
-   2 equal files of size 32920
-   /images/characters/pavlovsk/school/boy/vasya/sex/shuglinhome/tv/cum6.jpg
-   /images/pc/body/cum/cumface/blonde/10.jpg
-
-   2 equal files of size 32908
-   /images/locations/city/residential/apartment/stairs/event/sex/floor5_fuck.jpg
-   /images/locations/city/residential/apartment/stairs/sex/floor5_fuck.jpg
-
-   2 equal files of size 32768
-   /images/locations/city/residential/apartment/home/balcony_underwear1.jpg
-   /images/locations/city/residential/apartment/balcony_underwear1.jpg
-
-   2 equal files of size 32688
-   /images/locations/pavlovsk/resident/rekshome/party/party_girls_party_gost_1_2.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_4_2.jpg
-
-   2 equal files of size 32606
-   /images/characters/pavlovsk/school/girl/natasha/sex/seethrough00.jpg
-   /images/characters/pavlovsk/school/girl/natasha/seethrough00.jpg
-
-   2 equal files of size 32592
-   /images/characters/pavlovsk/school/boy/kolka/brother.jpg
-   /images/characters/shared/headshots_main/big34.jpg
-
-   2 equal files of size 32518
-   /images/locations/pavlovsk/school/grounds/track/FE-004.jpg
-   /images/pc/activities/track/FE-004.jpg
-
-   2 equal files of size 32473
-   /images/locations/pavlovsk/school/grounds/track/punishment/PR-011.jpg
-   /images/pc/activities/track/PR-011.jpg
-
-   2 equal files of size 32361
-   /images/pc/activities/reading/bed_book_nude.jpg
-   /images/shared/accessories/books/book_nude.jpg
-
-   2 equal files of size 32292
-   /images/characters/pavlovsk/school/boy/niko/kikoev2/dinner/6/ride1.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikoev2/diner/6/ride1.jpg
-
-   2 equal files of size 32258
-   /images/locations/pavlovsk/school/gym/locker/vicpeek.jpg
-   /images/locations/pavlovsk/school/gym/vicpeek.jpg
-
-   2 equal files of size 32235
-   /images/locations/city/citycenter/photo/nude/4.jpg
-   /images/locations/city/citycenter/photo/nude31.jpg
-
-   2 equal files of size 32231
-   /images/pc/body/cum/cumface/blonde/4.jpg
-   /images/shared/sex/cum/facial/facial0,0.jpg
-
-   2 equal files of size 32131
-   /images/locations/city/citycenter/photo/nude/5.jpg
-   /images/locations/city/citycenter/photo/nude32.jpg
-
-   2 equal files of size 32079
-   /images/locations/city/citycenter/photo/topnude/3.jpg
-   /images/locations/city/citycenter/photo/nude8.jpg
-
-   2 equal files of size 32012
-   /images/locations/city/residential/apartment/home/balcony_underwear2.jpg
-   /images/locations/city/residential/apartment/balcony_underwear2.jpg
-
-   2 equal files of size 31682
-   /images/characters/pavlovsk/school/girl/vicky/event/case_gift0.jpg
-   /images/characters/pavlovsk/school/girl/vicky/sex/case_gift0.jpg
-
-   2 equal files of size 31483
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sex/cum2.jpg
-   /images/pc/body/cum/creampie/cumpussy13.jpg
-
-   2 equal files of size 31326
-   /images/locations/pavlovsk/school/gym/locker/stapeek.jpg
-   /images/locations/pavlovsk/school/gym/stapeek.jpg
-
-   2 equal files of size 31287
-   /images/locations/pavlovsk/school/grounds/track/sex/OR-003.jpg
-   /images/pc/activities/track/OR-003.jpg
-
-   2 equal files of size 31254
-   /images/locations/city/citycenter/photo/lingerie/2.jpg
-   /images/locations/city/citycenter/photo/lingerie2.jpg
-
-   2 equal files of size 31239
-   /images/locations/pavlovsk/altschool/ptu_korr1.jpg
-   /images/locations/pavlovsk/school/afterschool/ptu_korr1.jpg
-
-   2 equal files of size 31226
-   /images/locations/pavlovsk/altschool/ptu_zanato.jpg
-   /images/locations/pavlovsk/school/afterschool/ptu_zanato.jpg
-
-   2 equal files of size 31212
-   /images/locations/city/citycenter/photo/portraits/katherine_a/4.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/4.jpg
-
-   2 equal files of size 31191
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_7.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_toilet_5_12.jpg
-
-   2 equal files of size 31121
-   /images/locations/city/citycenter/photo/topnude/16.jpg
-   /images/locations/city/citycenter/photo/nude28.jpg
-
-   2 equal files of size 31036
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-019.jpg
-   /images/pc/activities/track/MA-019.jpg
-
-   2 equal files of size 30890
-   /images/locations/city/citycenter/photo/topnude/11.jpg
-   /images/locations/city/citycenter/photo/nude16.jpg
-
-   2 equal files of size 30729
-   /images/locations/city/citycenter/photo/topless/16.jpg
-   /images/locations/city/citycenter/photo/topless16.jpg
-
-   2 equal files of size 30627
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet24.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet24.jpg
-
-   2 equal files of size 30232
-   /images/locations/pavlovsk/school/gym/locker/larpeek.jpg
-   /images/locations/pavlovsk/school/gym/larpeek.jpg
-
-   2 equal files of size 30041
-   /images/characters/pavlovsk/school/teacher/arina/dream/dream7.jpg
-   /images/characters/pavlovsk/school/teacher/arina/sex/dream/dream7.jpg
-
-   2 equal files of size 30004
-   /images/locations/pavlovsk/resident/apartment/shulginhome/bigroom/card/sex/cum5.jpg
-   /images/pc/body/cum/cumface/brown/9.jpg
-
-   2 equal files of size 29940
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-017.jpg
-   /images/pc/activities/track/MA-017.jpg
-
-   2 equal files of size 29821
-   /images/characters/pavlovsk/school/boy/vasya/sex/shuglinhome/tv/cum4.jpg
-   /images/pc/body/cum/cumface/blonde/9.jpg
-
-   2 equal files of size 29762
-   /images/locations/city/citycenter/photo/topnude/8.jpg
-   /images/locations/city/citycenter/photo/nude13.jpg
-
-   2 equal files of size 29624
-   /images/locations/pavlovsk/altschool/ptu_urok1.jpg
-   /images/locations/pavlovsk/school/afterschool/ptu_urok1.jpg
-
-   2 equal files of size 29387
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/hall9.mp4
-   /images/characters/pavlovsk/school/boy/niko/nikoev/school/locker/lock6.mp4
-
-   2 equal files of size 29212
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_2_18.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_1.jpg
-
-   2 equal files of size 29080
-   /images/locations/pavlovsk/school/gym/locker/lerpeek.jpg
-   /images/locations/pavlovsk/school/gym/lerpeek.jpg
-
-   2 equal files of size 29050
-   /images/locations/city/citycenter/photo/special/special1.jpg
-   /images/locations/city/citycenter/photo/special1.jpg
-
-   2 equal files of size 28406
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet26.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet26.jpg
-
-   2 equal files of size 28236
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_14_5.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_7_5.jpg
-
-   2 equal files of size 28179
-   /images/characters/pavlovsk/resident/roma/roma.jpg
-   /images/characters/shared/headshots_main/big56.jpg
-
-   2 equal files of size 28123
-   /images/pc/items/fashionista/panties/58.jpg
-   /images/pc/items/lusso/panties/36.jpg
-
-   2 equal files of size 28090
-   /images/locations/city/citycenter/photo/topless/3.jpg
-   /images/locations/city/citycenter/photo/topless3.jpg
-
-   2 equal files of size 28060
-   /images/locations/city/citycenter/photo/topless/10.jpg
-   /images/locations/city/citycenter/photo/topless10.jpg
-
-   2 equal files of size 28027
-   /images/locations/pavlovsk/school/grounds/track/MA-007.jpg
-   /images/pc/activities/track/MA-007.jpg
-
-   2 equal files of size 28027
-   /images/locations/pavlovsk/school/gym/locker/sonpeek.jpg
-   /images/locations/pavlovsk/school/gym/sonpeek.jpg
-
-   2 equal files of size 27916
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet28.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet28.jpg
-
-   2 equal files of size 27701
-   /images/locations/city/citycenter/photo/bnude/5.jpg
-   /images/locations/city/citycenter/photo/nude39.jpg
-
-   2 equal files of size 27576
-   /images/locations/pavlovsk/resident/dimkahome/newyear/tusa5.jpg
-   /images/locations/pavlovsk/school/events/newyear/tusa5.jpg
-
-   2 equal files of size 27514
-   /images/locations/city/citycenter/photo/fashion/5.jpg
-   /images/locations/city/citycenter/photo/fashion5.jpg
-
-   2 equal files of size 27356
-   /images/locations/pavlovsk/resident/rekshome/party/party_girls_party_gost_1_3.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_4_8.jpg
-
-   2 equal files of size 27295
-   /images/locations/city/citycenter/photo/topless/1.jpg
-   /images/locations/city/citycenter/photo/topless1.jpg
-
-   2 equal files of size 27229
-   /images/locations/pavlovsk/resident/apartment/garage/father/sex/father.misha1,0.jpg
-   /images/locations/pavlovsk/resident/apartment/garage/father/sex/fathermisha.jpg
-
-   2 equal files of size 27155
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-020.jpg
-   /images/pc/activities/track/MA-020.jpg
-
-   2 equal files of size 27122
-   /images/shared/sex/blowjob/fa6.jpg
-   /images/shared/sex/cum/mouth/cum40.jpg
-
-   2 equal files of size 27084
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet22.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet22.jpg
-
-   2 equal files of size 27055
-   /images/characters/pavlovsk/school/boy/niko/nikomisc/meynold/bathroom/door.jpg
-   /images/characters/pavlovsk/school/boy/niko/nikomisc/meynold/bathroom/locked.jpg
-
-   2 equal files of size 27031
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet23.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet23.jpg
-
-   2 equal files of size 27023
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-015.jpg
-   /images/pc/activities/track/MA-015.jpg
-
-   2 equal files of size 26929
-   /images/locations/city/citycenter/photo/topless/17.jpg
-   /images/locations/city/citycenter/photo/topless17.jpg
-
-   2 equal files of size 26796
-   /images/locations/city/residential/clinic/sex/exam13.jpg
-   /images/locations/city/residential/clinic/exam13.jpg
-
-   2 equal files of size 26662
-   /images/pc/activities/phone/selfies/bathroom/bath/27.jpg
-   /images/pc/activities/phone/selfies/bathroom/nude/1.jpg
-
-   2 equal files of size 26531
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-018.jpg
-   /images/pc/activities/track/MA-018.jpg
-
-   2 equal files of size 26324
-   /images/locations/city/residential/clinic/sex/exam14.jpg
-   /images/locations/city/residential/clinic/exam14.jpg
-
-   2 equal files of size 26278
-   /images/locations/city/citycenter/photo/sexy/1.jpg
-   /images/locations/city/citycenter/photo/ero2.jpg
-
-   2 equal files of size 25750
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_12.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_toilet_5_17.jpg
-
-   2 equal files of size 25451
-   /images/pc/activities/photography/foto/people/2.jpg
-   /images/pc/activities/photography/foto/sister.jpg
-
-   2 equal files of size 24933
-   /images/locations/shared/sex/sexdvanadva/New folder/minet11.jpg
-   /images/locations/shared/sex/sexdvanadva/minet11.jpg
-
-   2 equal files of size 24903
-   /images/locations/pavlovsk/school/grounds/track/FE-013.jpg
-   /images/pc/activities/track/FE-013.jpg
-
-   2 equal files of size 24842
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet6.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet6.jpg
-
-   2 equal files of size 24645
-   /images/locations/pavlovsk/school/grounds/track/sex/MA-022.jpg
-   /images/pc/activities/track/MA-022.jpg
-
-   2 equal files of size 24506
-   /images/locations/shared/sex/sexdvanadva/New folder/minet26.jpg
-   /images/locations/shared/sex/sexdvanadva/minet26.jpg
-
-   2 equal files of size 24496
-   /images/locations/city/citycenter/photo/portraits/katherine_a/6.jpg
-   /images/locations/city/citycenter/photo/portraits/krystal_b/6.jpg
-
-   2 equal files of size 24276
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet3.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet3.jpg
-
-   2 equal files of size 24205
-   /images/locations/pavlovsk/resident/rekshome/party/party_girls_party_gost_1_1.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_4_4.jpg
-
-   2 equal files of size 24144
-   /images/locations/pavlovsk/resident/dimkahome/newyear/drunk.jpg
-   /images/locations/pavlovsk/school/events/newyear/drunk.jpg
-
-   2 equal files of size 23905
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_9.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_toilet_5_14.jpg
-
-   2 equal files of size 23899
-   /images/locations/city/citycenter/photo/nude/3.jpg
-   /images/locations/city/citycenter/photo/nude30.jpg
-
-   2 equal files of size 23782
-   /images/locations/pavlovsk/resident/dimkahome/newyear/vom.jpg
-   /images/locations/pavlovsk/school/events/newyear/vom.jpg
-
-   2 equal files of size 23700
-   /images/locations/city/citycenter/photo/topnude/18.jpg
-   /images/locations/city/citycenter/photo/nude24.jpg
-
-   2 equal files of size 23557
-   /images/locations/city/citycenter/photo/topless/15.jpg
-   /images/locations/city/citycenter/photo/topless15.jpg
-
-   2 equal files of size 23268
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_6.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_toilet_5_18.jpg
-
-   2 equal files of size 22975
-   /images/locations/city/citycenter/photo/topnude/9.jpg
-   /images/locations/city/citycenter/photo/nude14.jpg
-
-   2 equal files of size 22666
-   /images/pc/activities/phone/selfies/beach/nude/19.jpg
-   /images/pc/activities/phone/selfies/beach/titflash/7.jpg
-
-   2 equal files of size 21741
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_11.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_toilet_5_16.jpg
-
-   2 equal files of size 21711
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet27.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet27.jpg
-
-   2 equal files of size 21588
-   /images/locations/city/citycenter/photo/topless/8.jpg
-   /images/locations/city/citycenter/photo/topless8.jpg
-
-   2 equal files of size 21379
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_14_1.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_7_1.jpg
-
-   2 equal files of size 21123
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_14_6.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_7_6.jpg
-
-   2 equal files of size 21077
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet16.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet16.jpg
-
-   2 equal files of size 20390
-   /images/locations/pavlovsk/school/grounds/track/FE-006.jpg
-   /images/pc/activities/track/FE-006.jpg
-
-   2 equal files of size 20101
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet13.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet13.jpg
-
-   2 equal files of size 19949
-   /images/locations/pavlovsk/resident/apartment/garage/father/sex/father.gar.1,0.jpg
-   /images/locations/pavlovsk/resident/apartment/garage/father/sex/fathergar.jpg
-
-   2 equal files of size 19653
-   /images/locations/pavlovsk/school/grounds/track/AP-006.jpg
-   /images/pc/activities/track/AP-006.jpg
-
-   2 equal files of size 19219
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet17.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet17.jpg
-
-   2 equal files of size 18921
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet8.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet8.jpg
-
-   2 equal files of size 18886
-   /images/characters/pavlovsk/school/teacher/rolan/school/rolanmeet19.jpg
-   /images/locations/pavlovsk/resident/apartment/aptrolan/rolanmeet/rolanmeet19.jpg
-
-   2 equal files of size 18296
-   /images/locations/city/citycenter/photo/topless/6.jpg
-   /images/locations/city/citycenter/photo/topless6.jpg
-
-   2 equal files of size 18273
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_home_fun_2_8_10.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/reksparty_party_toilet_5_15.jpg
-
-   2 equal files of size 18168
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_14_4.jpg
-   /images/locations/pavlovsk/resident/rekshome/party/party_rex_party_gost_7_4.jpg
-
-   2 equal files of size 18130
-   /images/locations/pavlovsk/police/pavrec.jpg
-   /images/locations/shared/police/pavrec.jpg
-
-   3 equal files of size 17989
-   /images/locations/city/citycenter/photo/fashion/1.jpg
-   /images/locations/city/citycenter/photo/fashion.jpg
-   /images/locations/city/citycenter/photo/fashion1.jpg
-
-   2 equal files of size 17864
-   /images/characters/city/jora/sex/klof10.jpg
-   /images/shared/sex/cum/vagcreampie/klof10.jpg
-
-   2 equal files of size 16723
-   /images/characters/city/jora/sex/bas13.jpg
-   /images/characters/city/jora/sex/vas13.jpg
-
-   2 equal files of size 15484
-   /images/locations/city/industrial/casino/stavkabd.jpg
-   /images/locations/city/industrial/casino/stavkacw.jpg
-
-   2 equal files of size 14140
-   /images/characters/city/jora/sex/bas 27.jpg
-   /images/characters/city/jora/sex/bas27.jpg
-
-   2 equal files of size 13771
-   /images/shared/drinks/tea.jpg
-   /images/shared/food/tea.jpg
-
-   2 equal files of size 12678
-   /images/characters/city/jora/sex/klof11.jpg
-   /images/characters/city/jora/sex/klof7.jpg
-
-   2 equal files of size 9170
-   /images/system/phone/theme/Custom_Voidwalker Red/icon_sms_new.gif
-   /images/system/phone/theme/Custom_Voidwalker Toxic/icon_sms_new.gif
-
-   2 equal files of size 6556
-   /images/locations/pavlovsk/school/grounds/track/sex/CHR-03.jpg
-   /images/pc/activities/track/CHR-03.jpg
-
-   2 equal files of size 6408
-   /images/locations/city/residential/lake/allure/shop_name.png
-   /images/locations/pavlovsk/commercial/allure/shop_name.png
-
-   2 equal files of size 4650
-   /images/system/icons/status/bimbo.png
-   /images/system/icons/bimbo.png
-
-   2 equal files of size 2348
-   /images/system/icons/status/boobs.png
-   /images/system/icons/status/boobs_black.png
-
-   2 equal files of size 1743
-   /images/system/icons/status/commando.png
-   /images/system/icons/status/commando_black.png
- 

+ 50 - 39
glife.qproj

@@ -8,15 +8,17 @@
 	<Location name="begin"/>
 	<Location name="onobjsel"/>
 	<Location name="obj_din"/>
-	<Location name="journal"/>
-	<Location name="journal_work"/>
-	<Location name="journal_school"/>
-	<Location name="journal_uni"/>
-	<Location name="journal_quests"/>
-	<Location name="journal_portfolio"/>
-	<Location name="journal_NPC_information"/>
-	<Location name="Cheatmenu_din"/>
 	<Location name="themes"/>
+	<Folder name="Journal">
+		<Location name="journal"/>
+		<Location name="journal_work"/>
+		<Location name="journal_school"/>
+		<Location name="journal_uni"/>
+		<Location name="journal_quests"/>
+		<Location name="journal_portfolio"/>
+		<Location name="journal_NPC_information"/>
+		<Location name="Cheatmenu_din"/>
+	</Folder>
 	<Folder name="System">
 		<Location name="counter"/>
 		<Location name="loadg"/>
@@ -142,7 +144,7 @@
 		<Location name="$attributes_flamingos_dress"/>
 		<Location name="$attributes_coco_outfits"/>
 		<Location name="$attributes_coco_dress"/>
-		<Location name="$attributes_fashionista"/>
+		<Location name="$attributes_fashionista_dress"/>
 		<Location name="$attributes_fashionista_outfits"/>
 		<Location name="$attributes_moncheri_gown"/>
 		<Location name="$attributes_moncheri_dress"/>
@@ -286,6 +288,7 @@
 		<Location name="intro_sg_select"/>
 		<Location name="intro_sg_select_custom"/>
 		<Location name="intro_city_select"/>
+		<Location name="intro_functions"/>
 	</Folder>
 	<Folder name="NPCManage">
 		<Location name="npccleanc"/>
@@ -348,10 +351,6 @@
 		<Location name="bank"/>
 		<Location name="kiosk"/>
 		<Location name="taxi"/>
-		<Location name="train"/>
-		<Location name="train_incidental"/>
-		<Location name="metro"/>
-		<Location name="metro_events"/>
 		<Location name="events"/>
 		<Location name="flash"/>
 		<Location name="street_event"/>
@@ -362,6 +361,15 @@
 		<Location name="gloryhole"/>
 		<Location name="home_activity"/>
 	</Folder>
+	<Folder name="Transportation">
+		<Location name="transport_functions"/>
+		<Location name="train"/>
+		<Location name="train_events"/>
+		<Location name="train_incidental"/>
+		<Location name="metro"/>
+		<Location name="metro_events"/>
+		<Location name="bicycle"/>
+	</Folder>
 	<Folder name="Post office">
 		<Location name="post_office"/>
 		<Location name="post_master"/>
@@ -426,26 +434,6 @@
 		<Location name="WorkHosp"/>
 		<Location name="worksalon"/>
 	</Folder>
-	<Folder name="Nicholas">
-		<Location name="nichApartment"/>
-		<Location name="nichBathGuest"/>
-		<Location name="nichBathMaster"/>
-		<Location name="nichBathServant"/>
-		<Location name="nichBedroomMaster"/>
-		<Location name="nichBedroomServant"/>
-		<Location name="nichBedroomTanja"/>
-		<Location name="nichChore"/>
-		<Location name="nichClub"/>
-		<Location name="nichCook"/>
-		<Location name="nichGala"/>
-		<Location name="nichKitchen"/>
-		<Location name="nichLivingroom"/>
-		<Location name="nichNicholas"/>
-		<Location name="nichStudy"/>
-		<Location name="nichTanya"/>
-		<Location name="nichTaras"/>
-		<Location name="nichUtil"/>
-	</Folder>
 	<Folder name="Home- City Residental Apartment">
 		<Location name="bedr"/>
 		<Location name="sitr"/>
@@ -519,6 +507,26 @@
 		<Location name="rex_party_smallEvents"/>
 		<Location name="rex_party_sexEvents"/>
 	</Folder>
+	<Folder name="Nicholas">
+		<Location name="nichApartment"/>
+		<Location name="nichBathGuest"/>
+		<Location name="nichBathMaster"/>
+		<Location name="nichBathServant"/>
+		<Location name="nichBedroomMaster"/>
+		<Location name="nichBedroomServant"/>
+		<Location name="nichBedroomTanja"/>
+		<Location name="nichChore"/>
+		<Location name="nichClub"/>
+		<Location name="nichCook"/>
+		<Location name="nichGala"/>
+		<Location name="nichKitchen"/>
+		<Location name="nichLivingroom"/>
+		<Location name="nichNicholas"/>
+		<Location name="nichStudy"/>
+		<Location name="nichTanya"/>
+		<Location name="nichTaras"/>
+		<Location name="nichUtil"/>
+	</Folder>
 	<Folder name="Dima Nosov">
 		<Location name="dimaEv"/>
 		<Location name="dimaHome"/>
@@ -545,6 +553,7 @@
 		<Location name="KatjaHomeTalk"/>
 		<Location name="katja_sex"/>
 		<Location name="Katja_Tanga"/>
+		<Location name="katja_pantyquest"/>
 		<Location name="katja_meynold_schedule"/>
 		<Location name="katja_uni"/>
 		<Location name="katja_uni_sex"/>
@@ -612,6 +621,8 @@
 		<Location name="fbDormD"/>
 		<Location name="fbGar"/>
 		<Location name="zsoft_gopskverGorSlut"/>
+        <Location name="pav_park_meet_event"/>
+        <Location name="pav_park_meet_kol_event"/>
 	</Folder>
 	<Folder name="Employment Systems">
 		<Location name="emp_functions"/>
@@ -686,7 +697,7 @@
 		<Location name="VolleyTrenCentr"/>
 		<Location name="VolleyTrenerSpeak"/>
 		<Location name="Voltrenersex"/>
-		<Location name="chessplay"/>git
+		<Location name="chessplay"/>
 		<Location name="boilerroom"/>
 		<Location name="krupo"/>
 		<Location name="kruchess"/>
@@ -1057,9 +1068,10 @@
 	<Folder name="University Characters">
 		<Location name="vecher"/>
 		<Location name="djibril"/>
+		<Location name="djibrilev1"/>
 		<Location name="gosha"/>
 		<Location name="kendra"/>
-		<Location name="djibrilev1"/>
+		<Location name="sofia"/>
 		<Location name="Vika"/>
 		<Location name="vikaev1"/>
 	</Folder>
@@ -1123,7 +1135,6 @@
 		<Location name="gadriver"/>
 		<Location name="meadow"/>
 		<Location name="gadprostitutes"/>
-		<Location name="bicycle"/>
 		<Location name="gadfield"/>
 		<Location name="gadgarden"/>
 		<Location name="gadmarket"/>
@@ -1360,13 +1371,13 @@
 		<Location name="treeCircActs"/>
 		<Location name="treeCircEntry"/>
 	</Folder>
-	<folder name="Ballet_career">
+	<Folder name="Ballet_career">
 		<Location name="pushkin_ballet_init"/>
 		<Location name="core_library"/>
 		<Location name="ballet_npc"/>
 		<Location name="npc_3501_init"/>
-		<Location name="maya_residence"/>
 		<Location name="npc_3510_init"/>
+		<Location name="maya_residence"/>
 		<Location name="pushkin_ballet_center"/>
 		<Location name="pushkin_ballet_res"/>
 		<Location name="pushkin_ballet_class"/>
@@ -1376,7 +1387,7 @@
 		<Location name="marlilnsky_theatre"/>
 		<Location name="pushkin_theatre"/>
 		<Location name="st_petersburg_canals"/>
-	</folder>
+	</Folder>
 	<Location name="cleanHTML"/>
 	</Structure>
 </QGen-project>

+ 1 - 1
locations/AppearanceSystem.qsrc

@@ -138,7 +138,7 @@ if $ARGS[0] = 'SetBodyShapeBonus':
 
 	!!Setting the pcs_apprnc bonus based on fat and strength
 	else
-		temp_BodyShapeBonus = func('body_structure', 'appearance_bonus', pcs_bmi, strenbuf, succubusflag)
+		tempBodyShapeBonus = func('body_structure', 'appearance_bonus')
 
 		!!This modifies bodykoef for high or low pcs_mass['body'] values
 		if salocatnow = 0 or salocatnow >= 7:

+ 2 - 2
locations/Cheatmenu_din.qsrc

@@ -1706,9 +1706,9 @@ $cheatmenu['time'] = {
 	gs 'outdoors', 'temp_set'
 	gs 'stat'
 
-	temp_daystart = (year - 2016) * 365
+	temp_daystart = (temp_year - 2016) * 365
 	!! leap year correction
-	temp_daystart += (year - 2013) / 4
+	temp_daystart += (temp_year - 2013) / 4
 
 	copyarr 'temp_monthsend', 'monthsend'
 	if ((temp_year mod 4 = 0) and (temp_year mod 100 ! 0)) or (temp_year mod 400 = 0):

+ 309 - 13
locations/Cum_Manage.qsrc

@@ -112,9 +112,9 @@ if $ARGS[0] = '':
 	if sexspecpot = 0: sexspecpot = npc_spermpot[$boy]
 	if sexspecpot = 0: sexspecpot = sexvolume * rand(250, 300)
 	if sexspecpot < 0: sexspecpot = 0
-	if vibratorIN = 1 and spafinloc = 0 and replace_vib = 0: vibratorIN = 0
-
-	if analplugIN = 1 and spafinloc = 3 and replace_analplug = 0: analplugIN = 0
+	if vibratorIN = 1 and spafinloc = 0: vibratorIN = 0
+	if isprok = 1 and spafinloc = 0: isprok = 0
+	if analplugIN = 1 and spafinloc = 3: analplugIN = 0
 
 !!{	Set the cum array temp to the current size of the cum array to add a new entry to the end of file. Then checks to see if you are on the pill. If you are and there is no contraception used, it flags this as a "done with pill" act, which means a pregnancy will be a pill failure.}
 
@@ -525,7 +525,7 @@ if $ARGS[0] = 'cumeater_icon':
 	*nl
 	j = 0
 	:cumeater_icon_jump
-	if cumloc[j] > 0 and j ! 12: gs 'cum_manage', 'cumeater', j
+	if cumloc[j] > 0 and j <> 12 and ((j <> 0 and j <> 3) or FUNC('Cum_Manage', 'check_innards', j) = 1 or cheatKlisma = 0): gs 'cum_manage', 'cumeater', j
 	if j < 17: j += 1 & jump 'cumeater_icon_jump'
 end
 
@@ -535,6 +535,7 @@ if $ARGS[0] = 'cumeater':
 
 	if i ! -1 and i < arrsize('sparrloc'):
 		cumloc[12] = 1
+		spafinloc = 12 & sexvolume = sparrvol[i] & sexunaware = 0 & sexspecpot = -1 & cumarrnam = sparrnam[i] & cumarrcpt = sparrppt[i] & cumarrkno = sparridt[i] & cumarrage = sparrage[i] & cumnostd = 1 & gs 'Cum_Manage'
 		pcs_breath = 0
 		$part = ''
 
@@ -582,7 +583,11 @@ if $ARGS[0] = 'cumeater':
 				'You collect the sperm from your <<$part>> with your fingers and lick them, enjoying the tart taste.'
 			end
 
-			gs 'cum_cleanup', 'cleanloc', cloc
+			if FUNC('Cum_Manage', 'check_innards', cloc) = 1 and cheatKlisma = 1:
+				cumspclnt = 15 & gs 'cum_cleanup'
+			elseif (cloc <> 0 and cloc <> 3) or cheatKlisma = 0:
+				gs 'cum_cleanup', 'cleanloc', cloc
+			end
 		end
 
 		minut += 2
@@ -677,6 +682,9 @@ if $ARGS[0] = 'cum_stat_display':
 	$stat_cum_text = ''
 	stat_visible_cum = 0
 	stat_cumloc_check = 0
+	cumsumbod = 0
+	cumsumvag = 0
+	cumsumass = 0
 
 	i = 0
 	:cumlocloop
@@ -687,7 +695,7 @@ if $ARGS[0] = 'cum_stat_display':
 			$txtloc_adj = 'all over '
 			$icon_txtloc = 'your labia'
 			$txtloc = 'your <a href="exec:view''images/pc/body/cum/cumpussy/cumpus'+rand(1,4)+'.jpg''">labia</a>'
-		elseif i = 2:
+		elseif i = 2 and PCloPanties > 0:
 			$txtloc_adj = 'across '
 			$txtloc = 'the front of your panties'
 			$icon_txtloc = $txtloc
@@ -699,15 +707,15 @@ if $ARGS[0] = 'cum_stat_display':
 			$txtloc_adj = 'all over '
 			$icon_txtloc = 'your butt'
 			$txtloc = 'your <a href="exec:view''images/pc/body/cum/cumass/cumass'+rand(1,6)+'.jpg''">butt</a>'
-		elseif i = 5:
+		elseif i = 5 and PCloPanties > 0:
 			$txtloc_adj = 'painting '
 			$txtloc = 'the back of your panties'
 			$icon_txtloc = $txtloc
-		elseif i = 6:
+		elseif i = 6 and PCloPants > 0:
 			$txtloc_adj = 'on '
 			$icon_txtloc = 'your clothes near your groin'
 			$txtloc = 'your <a href="exec:view''images/pc/body/cum/cumclothes/'+rand(1,3)+'.jpg''">clothes near your groin</a>'
-		elseif i = 7:
+		elseif i = 7 and $clothingworntype <> 'nude':
 			$txtloc_adj = 'on '
 			$icon_txtloc = 'your clothes'
 			$txtloc = 'your <a href="exec:view''images/pc/body/cum/cumclothes/cumclothes'+rand(1,21)+'.jpg''">clothes</a>'
@@ -793,11 +801,14 @@ if $ARGS[0] = 'cum_stat_display':
 
 				!! if sperm age stage is 4, it means inside the body
 				if j = 4:
-					if (vibratorIN = 1 and i = 0) or (analplugin = 1 and i = 3):
+					cumsumbod += cumvolume['<<i>>:<<j>>']
+					cumsumvag += iif(i=0,cumvolume['<<i>>:<<j>>'],0)
+					cumsumass += iif(i=3,cumvolume['<<i>>:<<j>>'],0)
+					if ((vibratorIN = 1 or isprok = 1) and i = 0) or (analplugin = 1 and i = 3):
 						$txtproxy = 'being plugged in '
-					elseif i = 0 and cumvolume['<<i>>:<<j>>'] < pcs_vag*5:
+					elseif i = 0 and cumvolume['<<i>>:<<j>>'] < FUNC('Cum_Manage', 'check_innards', 0, 1):
 						$txtproxy = 'staying inside '
-					elseif i = 3 and pcs_ass <= 25:
+					elseif i = 3 and cumvolume['<<i>>:<<j>>'] < FUNC('Cum_Manage', 'check_innards', 3, 1):
 						$txtproxy = 'staying inside '
 					else
 						if cumvolume['<<i>>:<<j>>'] > 250:
@@ -821,6 +832,7 @@ if $ARGS[0] = 'cum_stat_display':
 					end
 					if cumcondslip_deep > (vagina / 2): $txtproxy += 'deep '
 				elseif j < 4 and j > 0:
+					cumsumbod += cumvolume['<<i>>:<<j>>']
 					!!amount setting
 					if cumvolume['<<i>>:<<j>>'] > 160:
 						!! 10 ml, about two load, flowing
@@ -912,7 +924,10 @@ if $ARGS[0] = 'cum_stat_display':
 					end
 				end
 				$icon_txtiscum = $txtiscum
-				if j <= 4 and pcs_traits['cumeater'] = 1 and $txtiscum = 'cum': $txtiscum = '<a href="exec:gs ''cum_manage'', ''cumeater'', <<i>>"><font color=#0064FF>' + $txtiscum + '</font></a>'
+				if j <= 4 and pcs_traits['cumeater'] = 1 and $txtiscum = 'cum' _ 
+				and FUNC('Cum_Manage', 'check_private', i) = 1 and ((i <> 0 and i <> 3) or FUNC('Cum_Manage', 'check_innards', i) = 1 or cheatKlisma = 0):
+					$txtiscum = '<a href="exec:gs ''cum_manage'', ''cumeater'', <<i>>"><font color=#0064FF>' + $txtiscum + '</font></a>'
+				end
 				if $txtperson ! '':
 					$txtperson = ' from ' + $txtperson
 				end
@@ -935,6 +950,14 @@ if $ARGS[0] = 'cum_stat_display':
 				end
 			end
 		if j < 7: j+=1 & jump 'ageloop'
+
+		if stat_cumloc_check = 1 and cheatKlisma = 1 and (FUNC('Cum_Manage', 'check_private', i) = 0 _ 
+		or (i <> 0 and cumsumass = 0 and cumsumvag > 0 and FUNC('Cum_Manage', 'check_innards', 0) = 0) _ 
+		or (i <> 3 and cumsumvag = 0 and cumsumass > 0 and FUNC('Cum_Manage', 'check_innards', 3) = 0) _ 
+		or (i > 3 and cumsumvag > 0 and FUNC('Cum_Manage', 'check_innards', 0) = 0 and cumsumass > 0 and FUNC('Cum_Manage', 'check_innards', 3) = 0)):
+			stat_cumloc_check = 0
+		end
+
 	if i < 18: i+=1 & jump 'cumlocloop'
 	killvar 'i'
 	killvar 'j'
@@ -1024,5 +1047,278 @@ if $ARGS[0] = 'cum_stat_display':
 	cum_vol['condom_in_pussy'] = cumvol[17]
 end
 
+if $ARGS[0] = 'check_private':
+!! Checks whether the current location is private for cleaning cum in intimate places
+!! ARGS[1] - cum location (see cum_cleanup)
+!! no ARGS[1] means 0, means vagina, means you must be in a private location to interact
+!! FUNC('Cum_Manage', 'check_private') = 1
+!! FUNC('Cum_Manage', 'check_private', 7) = 1
+
+	RESULT = 0
+
+	if $location_type = 'private' or $location_type = 'private_indoors' or $location_type = 'private_shared' or $location_type = 'bathroom': RESULT = 1
+	if ARGS[1] > 5 and ARGS[1] <> 15 and ARGS[1] <> 17: RESULT = 1
+
+end
+
+if $ARGS[0] = 'check_innards':
+!! Cum overflow check inside vagina or anus
+!! ARGS[1] - 0 (vagina) or 3 (anus)
+!! ARGS[2] - return max capacity
+!! capvag - vagina max capacity
+!! capanus - anus max capacity
+!! FUNC('Cum_Manage', 'check_innards') = 1
+!! FUNC('Cum_Manage', 'check_innards', 3) = 1
+!! FUNC('Cum_Manage', 'check_innards', 0, 1) <= cumsumvag
+
+	capvag  = pcs_vag*3 - vgape*30 - min(100,pcs_horny)/10
+	capanus = pcs_ass*6 - agape*40
+	RESULT = 0
+
+	if ARGS[1] = 0:
+		if ARGS[2] > 0:
+			RESULT = capvag
+		elseif cumsumvag >= capvag and isprok = 0 and vibratorIN = 0:
+			RESULT = 1
+		end
+	elseif ARGS[1] = 3:
+		if ARGS[2] > 0:
+			RESULT = capanus
+		elseif cumsumass >= capanus and analplugin = 0:
+			RESULT = 1
+		end
+	end
+
+	killvar 'capvag'
+	killvar 'capanus'
+end
+
+if $ARGS[0] = 'cum_decay':
+!! ARGS[1] forced cum leak (sex intercourse) in values like 20-100
+
+	cumforced = ARGS[1]
+	if (menu_off = 1 or cumdectime+15 > totminut) and cumforced = 0: exit
+
+	if arrsize('sparrvol') > 0:
+		cumsumvag = 0
+		cumsumass = 0
+        killvar 'cumloc'
+        killvar 'cumvol'
+		i = 0
+
+		!!go through every location
+		:sparrvolloop
+			!!start from the freshest load
+			idx = arrsize('sparrloc')-1
+			:sparrlocloop
+				!!if the currently examined load loaction is the location of the current cycle, execute
+				if sparrloc[idx] = i and sparrvol[idx] > 0:
+					!! 0 = 'In your Vagina'
+					if i = 0:
+						!! passive absorption, succubus has its own
+						!! InSleep - increase the amount during sleep, isprok - tampon absorption
+						if succubusflag = 0:
+							cumamount = (totminut-cumdectime)/15 * max(rand(0,1), rand(sparrvol[idx]/60, sparrvol[idx]/30) + rand(0, InSleep*rand(1,3)) + isprok*rand(5,10) + rand(0, iif(pcs_hydra<30,(30-pcs_hydra)/10,0)) + rand(0, iif(pcs_horny<100,(100-pcs_horny)/20,0)))
+							sparrvol[idx] -= cumamount
+						end
+
+						if sparrvol[idx] > 0:
+							cumsumvag += sparrvol[idx]
+							!! seeping out
+							if FUNC('Cum_Manage', 'check_innards', 0) = 1 or cumforced/rand(2,3) > sparrvol[idx]:
+								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(1,3), rand(sparrvol[idx]/pcs_vag, vgape*40) - InSleep*rand(2,5) + iif(pcs_horny>50, min(100,pcs_horny)/10 - 4,0)) + cumforced/rand(5,10))
+								sparrvol[idx] -= cumamount & cumsumvag -= cumamount
+								cumvol[0] -= cumamount
+
+								!! 1 = 'On your labia'
+								sexvolume = max(cumamount/10, cumamount/2 - iif(cumforced=0,isprokp*rand(10,20),0))
+								if sexvolume > 0:
+									spafinloc = 1
+									sexunaware = iif(cumforced=0,iif(rand(0,4)=1 or sparridt[idx]=-2,1,0),0)
+									sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+									gs 'Cum_Manage'
+									cumvol[1] += sexvolume & cumloc[1] = 1
+								end
+								if cumforced = 0:
+									!! 2 = 'On your panties over your vagina'
+									if $pantyworntype <> 'none' or PCloPanties > 0:
+										!! isprokp - sanitary pad absorption
+										if isprokp <> 1:
+											spafinloc = 2
+											sexvolume = max(1, cumamount/2)
+											sexunaware = iif(rand(0,3)=1 or sparridt[idx]=-2,1,0)
+											sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											gs 'Cum_Manage'
+											cumvol[2] += sexvolume & cumloc[2] = 1
+										end
+									!! 9 = 'On your legs'
+									elseif ($clothingworntype = 'nude' or PCloSkirt > 0 or PCloDress > 0) and rand(1,10) > 6 + InSleep*2:
+										sexvolume = max(0, cumamount/4)
+										if sexvolume > 0:
+											spafinloc = 9
+											sexunaware = iif(rand(0,2)=1 or sparridt[idx]=-2,1,0)
+											sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											gs 'Cum_Manage'
+											cumvol[9] += sexvolume & cumloc[9] = 1
+										end
+									end
+									!! 6 = 'On your clothes in your groin area'
+									if PCloPants > 0:
+										sexvolume = max(0, cumamount / (3 + iif($pantyworntype<>'none',12,0)))
+										if sexvolume > 0:
+											spafinloc = 6
+											sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
+											sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											gs 'Cum_Manage'
+											cumvol[6] += sexvolume & cumloc[6] = 1
+										end
+									end
+								end
+							end
+						end
+						if sparrvol[idx] <= 0: gs 'cum_cleanup', 'cleandeposit', idx
+					!! 3 = 'In your anus'
+					elseif i = 3:
+						!! passive absorption, succubus has its own
+						if succubusflag = 0:
+							cumamount = (totminut-cumdectime)/15 * max(rand(0,2), rand(sparrvol[idx]/40, sparrvol[idx]/20) + rand(0, InSleep*rand(3,6)) + rand(0, iif(pcs_hydra<50,(50-pcs_hydra)/10,0)))
+							sparrvol[idx] -= cumamount
+						end
+
+						if sparrvol[idx] > 0:
+							cumsumass += sparrvol[idx]
+							!! seeping out
+							if FUNC('Cum_Manage', 'check_innards', 3) = 1 or cumforced/rand(2,4) > sparrvol[idx]:
+								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(0,1), rand(sparrvol[idx]/(pcs_ass*3/2), agape*20) - InSleep*rand(4,8)) + cumforced/rand(7,15))
+								sparrvol[idx] -= cumamount & cumsumass -= cumamount
+								cumvol[3] -= cumamount
+
+								!! 1 = 'On your labia'
+								sexvolume = max(cumamount/10, cumamount/4 - iif(cumforced=0,isprokp*rand(10,20),0))
+								if sexvolume > 0:
+									spafinloc = 1
+									sexunaware = iif(cumforced=0,iif(rand(0,4)=1 or sparridt[idx]=-2,1,0),0)
+									sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx]/2 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+									gs 'Cum_Manage'
+									cumvol[1] += sexvolume & cumloc[1] = 1
+								end
+								if cumforced > 0:
+									!! 4 = 'On your butt'
+									sexvolume = max(cumamount/15, cumamount/3)
+									if sexvolume > 0:
+										spafinloc = 4
+										sexvolume = max(0, cumamount/2)
+										sexunaware = 0
+										sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+										gs 'Cum_Manage'
+										cumvol[4] += sexvolume & cumloc[4] = 1
+									end
+								else
+									!! 5 = 'On your panties over your butt'
+									if $pantyworntype <> 'none' or PCloPanties > 0:
+										!! isprokp - sanitary pad absorption
+										if isprokp <> 1:
+											spafinloc = 5
+											sexvolume = max(1, cumamount/3)
+											sexunaware = iif(rand(0,3)=1 or sparridt[idx]=-2,1,0)
+											sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											gs 'Cum_Manage'
+											cumvol[5] += sexvolume & cumloc[5] = 1
+										end
+									!! 9 = 'On your legs'
+									elseif ($clothingworntype = 'nude' or PCloSkirt > 0 or PCloDress > 0) and rand(1,10) > 4 + InSleep*3:
+										sexvolume = max(0, cumamount/5)
+										if sexvolume > 0:
+											spafinloc = 9
+											sexunaware = iif(rand(0,2)=1 or sparridt[idx]=-2,1,0)
+											sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx]/4 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											gs 'Cum_Manage'
+											cumvol[9] += sexvolume & cumloc[9] = 1
+										end
+									end
+									!! 6 = 'On your clothes in your groin area'
+									if PCloPants > 0:
+										sexvolume = max(0, cumamount / (4 + iif($pantyworntype<>'none',16,0)))
+										if sexvolume > 0:
+											spafinloc = 6
+											sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
+											sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											gs 'Cum_Manage'
+											cumvol[6] += sexvolume & cumloc[6] = 1
+										end
+									end
+								end
+							end
+						end
+						if sparrvol[idx] <= 0: gs 'cum_cleanup', 'cleandeposit', idx
+					!! 1 = 'On your labia'  4 = 'On your butt'
+					elseif (i = 1 and sparrvol[idx]*((totminut-cumdectime)/15) > rand(2,5)) _ 
+						or (i = 4 and sparrvol[idx]*((totminut-cumdectime)/15) > rand(4,8)):
+						if $pantyworntype <> 'none' or PCloPanties > 0:
+							!! 2 = 'On your panties over your vagina'  5 = 'On your panties over your butt'
+							sexvolume = rand(sparrvol[idx]/2, sparrvol[idx]) - iif(i=1,isprokp*rand(15,30),0)
+							if sexvolume > 0:
+								sparrvol[idx] -= sexvolume
+								spafinloc = iif(i=1,2,5)
+								sexunaware = 1
+								sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx] & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 0
+								gs 'Cum_Manage'
+								cumvol[iif(i=1,2,5)] += sexvolume & cumloc[iif(i=1,2,5)] = 1
+							end
+						!! 6 = 'On your clothes in your groin area'
+						elseif PCloPants > 0:
+							sexvolume = rand(sparrvol[idx]/2, sparrvol[idx])
+							if sexvolume > 0:
+								spafinloc = 6
+								sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
+								sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+								gs 'Cum_Manage'
+								cumvol[6] += sexvolume & cumloc[6] = 1
+							end
+						end
+						if sparrvol[idx] <= 0: gs 'cum_cleanup', 'cleandeposit', idx
+					!! 17 = 'In a condom in your vagina'
+					elseif i = 17 and sparrvol[idx] > rand(10,15):
+						!! 0 = 'In your Vagina'
+						sexvolume = min(sparrvol[idx]/3, (totminut-cumdectime)/15 * max(0, cumamount/5 - isprokp*rand(2,5)) + cumforced/rand(5,10))
+						if sexvolume > 0:
+							!! condom in vagina is summed in cumsumvag and Cum_Manage call will added more, so subtract here
+							cumsumvag -= sexvolume
+							sparrvol[idx] -= sexvolume
+							spafinloc = 0
+							sexunaware = 1
+							sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx] & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 0
+							gs 'Cum_Manage'
+							cumvol[17] -= sexvolume & cumvol[0] += sexvolume & cumloc[0] = 1
+						end
+					!! 12 = 'Inside your mouth'
+					elseif i <> 12 and sparrvol[idx] > rand(0,3):
+						!! dry out
+						!! 1: in this hour
+						!! 2: in four hours
+						!! 3: at least five hours ago
+						if rand(min(-1+InSleep, sparrvol[idx]/-5), sparrage[idx] + (totminut-cumdectime)/30) >= 1:
+							!! 5 and 7 = not clothes
+							if i <> 6 and i <> 7: pcs_sweat += rand(0, max(1,sparrvol[idx]/10))
+							gs 'cum_cleanup', 'cleandeposit', idx
+						end
+					end
+					if sparrvol[idx] > 0: cumloc[i] = 1 & cumvol[inx] += sparrvol[idx] else cumloc[i] = 0 & cumvol[inx] = 0
+				end
+				!! reset just in case
+				sexvolume = 0 & cumnostd = 0 & cumarrkno = 0
+			if idx > 0:idx -= 1 & jump 'sparrlocloop'
+		if i < 18:i += 1 & jump 'sparrvolloop'
+		killvar 'i'
+		killvar 'idx'
+		killvar 'cumamount'
+		if cumsumvag <= 0: cumsumvag = 0 & cum_vol['vagina'] = 0 & cumvol[0] = 0 & cum_loc['vagina'] = 0 & cumloc[0] = 0
+		if cumsumass <= 0: cumsumass = 0 & cum_vol['anus'] = 0   & cumvol[3] = 0 & cum_loc['anus'] = 0   & cumloc[3] = 0
+		if cumsumbod < 0: cumsumbod = 0
+	end
+	killvar 'cumforced'
+	cumdectime = totminut
+end
+
 --- Cum_Manage ---------------------------------
 

+ 19 - 26
locations/KatjaHomeTalk.qsrc

@@ -279,19 +279,7 @@ if $ARGS[0] = 'chat':
 	if katjaQW['QWstage'] >= 7 and katjaQW['birth_control_start_day'] < daystart and katjaQW['birth_control_start_day'] > 0 and katjaQW['horny'] > 60 and katjaQW['sex_clossedness'] = 0:
 		!!If you have gotten to the last stage of Katja''s questline, you can suggest to go to the park to look for boys if Katja is horny.
 		act 'Look for boys in the park':
-			minut += 15
-			katjaQW['horny'] += 5
-			$ev_name = 'Katja'
-			$ev_name_a = 'Katja'
-			$ev_name_om = 'Katja'
-			dick = 0
-			place = 1
-			Frend_num = 14
-			p_slut = katjaQW['slut']
-			p_dom = KatjaQW['dom'] + 50
-			p_horny = katjaQW['horny']
-			p_alko = 0
-			gt 'placer'
+			gt 'KatjaHomeTalk', 'go_to_park'
 		end
 	end
 			
@@ -1874,19 +1862,7 @@ if $ARGS[0] = 'random_park_sex_talk':
 		'"Awesome!" she says and looks at you really excitedly. "Why don''t we go right now?"'
 		if katjaQW['birth_control_start_day'] < daystart and katjaQW['birth_control_start_day'] > 0:
 			act 'Agree':
-				minut += 15
-				katjaQW['horny'] += 5
-				$ev_name = 'Katja'
-				$ev_name_a = 'Katja'
-				$ev_name_om = 'Katja'
-				dick = 0
-				place = 1
-				Frend_num = 14
-				p_slut = katjaQW['slut']
-				p_dom = KatjaQW['dom'] + 50
-				p_horny = katjaQW['horny']
-				p_alko = 0
-				gt 'placer'
+				gt 'KatjaHomeTalk', 'go_to_park'
 			end				
 			act 'Not right now': gt 'KatjaHomeTalk'
 		else
@@ -2163,5 +2139,22 @@ if $ARGS[0] = 'fisting_ask':
 	end
 end
 
+if $ARGS[0] = 'go_to_park':
+	minut += 15
+	katjaQW['horny'] += 5
+	dick = 0
+	gs 'placer', 'init'
+	$placerStringParameter['ev_name'] = 'Katja'
+	$placerStringParameter['ev_name_a'] = 'Katja'
+	$placerStringParameter['ev_name_om'] = 'Katja'
+	placerParameter['friend_index'] = 14
+	placerParameter['friend_horny'] = katjaQW['horny']
+	placerParameter['friend_dom'] = KatjaQW['dom'] + 50
+	placerParameter['friend_slut'] = katjaQW['slut']
+	placerParameter['friend_alko'] = 0
+	placerParameter['location_index']  = 0
+	gt 'placer'
+end
+
 --- KatjaHomeTalk ---------------------------------
 

+ 1 - 1
locations/Komp.qsrc

@@ -80,7 +80,7 @@ if $ARGS[0] = 'browse':
 		if access['general-text'] = 1: '<center><h4 style="color: red;"><b><<$access[''general-text'']>></b></h4></center>'
 		'You go to your favourite start page, while you try to decide on what you want to see right now.'		
 		'A blinking banner for a <a href="exec: gt ''komp'',''agent''">Kirsanova Real Estate Agency</a> keeps popping up in the corner.'
-		if $access['noporn'] = 1:
+		if access['noporn'] = 1:
 			"<b><<$access['noporn']>></b>"
 		end
 		if camwhore = 1 and access['nocamshow'] = 1 and mc_inventory['tech_webcam'] = 1: 

+ 4 - 2
locations/LakeBoyDy.qsrc

@@ -7,8 +7,10 @@ if $ARGS[0] = 'ride':
 		gs'stat'
 
 		'You quickly get dressed and follow the fat man to his car. He guides you to an old Mitsubishi Pajero, and takes place behind the wheel while he invites you to relax in the passenger seat. Once you get in the car, he puts his hand on your knee as he starts the engine.'
-		'"My name is Vadim Bely... you can call me Mr. Bely. What''s your name, girl?"'
-		'You''re still a bit intimidated by his presence, and just say your name: "<<$pcs_nickname>>."'
+		if npc_QW['A113'] = 0 and belgangday = 0:
+			'"My name is Vadim Bely... you can call me Mr. Bely. What''s your name, girl?"'
+			'You''re still a bit intimidated by his presence, and just say your name: "<<$pcs_nickname>>."'
+		end
 		'Vadim slides his hand up your leg a little, and gently kneads your thigh as you drive through town, the engine roaring. Within minutes, you approach a five-storey apartment. Vadim parks the car in front of it and says: "Get out and follow me", not waiting for a response.'
 		act'Look around':
 			cls

+ 7 - 1
locations/LariskaHome.qsrc

@@ -490,7 +490,13 @@ if $ARGS[0] = 'lariska_bedroom':
 	if locat['Lariska'] = 17:'<a href="exec:gt ''LariskaHome'', ''lariska_cleaning_1''">Lariska</a> is here cleaning.'
 	if locat['Lariska'] = 22:'Lariska is here, doing various things.'
 	if locat['Lariska'] = 9:gt 'LariskaHome', 'community_center_invite'
-	act 'Return to the hallway':gt 'LariskaHome', 'hallway'
+	act 'Return to the hallway':
+		if $clothingworntype ! 'nude':
+			gt 'LariskaHome', 'hallway'
+		else
+			msg'<b><font color = red>You need to get dressed first.</font></b>'
+		end
+	end
 	if locat['Lariska'] = 2 or locat['Lariska'] = 8 or locat['Lariska'] = 22 or locat['Lariska'] = 15 or locat['Lariska'] = 17:
 		act 'Chat with Lariska': gt 'LariskaHome', 'chat'
 	end

+ 2 - 8
locations/LariskaSex.qsrc

@@ -32,10 +32,7 @@ if $ARGS[0] = 'undressed2':
 		act 'Lariska wears the Strap-on': gt 'LariskaSex', 'bj_1'
 	end
 	act 'Get dressed': 
-		if analplugout = 1:
-			analplugout = 0
-			analplugin = 1
-		end
+		if analplugout = 1: gs 'dinsex', 'after_anal'
 		if vibratorOUT = 1:
 			vibratorIN = 1
 			vibratorOUT = 0
@@ -709,10 +706,7 @@ if $ARGS[0] = 'boyfriend_sex':
 							gs 'arousal', 'bj', 5,'lesbian', 'group'
 							gs 'stat'
 							act 'Clean up':
-								if analplugout = 1:
-									analplugout = 0
-									analplugin = 1
-								end
+								if analplugout = 1: gs 'dinsex', 'after_anal'
 								if vibratorOUT = 1:
 									vibratorIN = 1
 									vibratorOUT = 0

+ 4 - 4
locations/MartinSex.qsrc

@@ -493,7 +493,7 @@ if $ARGS[0] = 'MartinTease1':
 		'And you can''t blame him for this reaction - you went from being a friendly flirt to showing him your pussy in under a minute, so most men would need a second to catch up with a reality that has gone utterly mad.'
 
 		if analplugin = 1:
-			analplugin = 0
+			analplugin = 0 & analplugout = 1
 			minut += 1
 			*nl
 			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
@@ -605,7 +605,7 @@ if $ARGS[0] = 'MartinTease2':
 				'"There, better now?"'
 
 				if analplugin = 1:
-					analplugin = 0
+					analplugin = 0 & analplugout = 1
 					minut += 1
 					*nl
 					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
@@ -670,7 +670,7 @@ if $ARGS[0] = 'MartinTease3':
 			*nl
 			'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about that same young <<$bodyVars[''desc'']>> woman stripping and exposing her privates to him.'
 		else
-			analplugin = 0
+			analplugin = 0 & analplugout = 1
 			minut += 1
 			*nl
 			'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'
@@ -828,7 +828,7 @@ if $ARGS[0] = 'MartinTease4':
 					'"Maybe a little better than okay," he smirks.'
 					'Considering how reluctant he was to let you "settle for an old man", he seems to be awfully happy about teasing that same young <<$bodyVars[''desc'']>> woman while she''s stripping and exposing her privates to him.'
 				else
-					analplugin = 0
+					analplugin = 0 & analplugout = 1
 					minut += 1
 					*nl
 					'<center><img <<$set_imgh>> src="images/locations/city/industrial/bar/sex/bar/martin/tease/buttplug.jpg"></center>'

+ 8 - 13
locations/Nudelake.qsrc

@@ -8,6 +8,7 @@ $menu_arg = ''
 killvar '$locclass'
 menu_off = 0
 $location_type = 'secluded'
+gs 'stat'
 
 '<center><b>nudist beach</b></center>'
 '<center><img <<$set_imgh>> src="images/locations/city/residential/lake/nudelake.jpg"></center>'
@@ -27,7 +28,7 @@ if PCloswimwear = 1 or $clothingworntype = 'nude':
 	end
 end
 
-if temper >= 15 and month >= 5 and month <= 9:
+if temper >= 15 and month >= 5 and month <= 9 and hour >= 6 and hour <= 20:
 	if func('changingroom','count_swim_item') > 0 and PCloswimwear = 0:
 		act'Change into your swimwear':
 			menu_off = 1
@@ -48,9 +49,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 			end
 		end
 	end
-end
 
-if temper >= 15 and month >= 5 and month <= 9:
 	if $clothingworntype ! 'nude':
 		act'Take off your clothes':
 			menu_off = 1
@@ -65,7 +64,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 				$lastwornbratype['swim'] = $braworntype
 				lastwornbranumber['swim'] = brawornnumber
 				gs 'clothing', 'strip_all'
-				if pcs_horny >= 80 and exhibitionist_lvl > 1:
+				if pcs_horny >= 80 and exhibitionist_lvl > 1 and PCloPanties > 0:
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/lake/secluded_beach/self/wetpussypants3.jpg"></center>'
 					'You strip off. A few passing men do a double-take and pause to look at your sopping wet panties, probably thinking about what is making you so excited. You don''t care about what they might say or think of you.'
 				elseif pcs_inhib >= 60:
@@ -84,10 +83,7 @@ if temper >= 15 and month >= 5 and month <= 9:
 			act'Continue':gt'Nudelake'
 		end
 	end
-end
-gs 'stat'
 
-if hour >= 6 and hour <= 20 and temper >= 15:
 	if $clothingworntype = 'nude':
 		'Here you can <a href="exec:gt ''Nudelake'', ''zagarat''">sunbathe</a> and <a href="exec:gt ''Nudelake'', ''swim''">swim</a>'
 		if pcs_stam >= (20 * (10 - sport_clothes_exercise_bonus)) / 2:
@@ -96,6 +92,11 @@ if hour >= 6 and hour <= 20 and temper >= 15:
 		act 'Sunbathe': gt 'Nudelake', 'zagarat'
 		'You can play <a href="exec:gt ''Nudelake'', ''voleybol''">beach volleyball</a>.'
 	end
+
+	if katday ! daystart and kat >= 1:
+		'You see Kat on the beach.'
+		act 'Approach Kat':gt 'Katlake', 'kat'
+	end
 elseif hour >= 6 and hour <= 20:
 	'It''s too cold for any nudist activities.'
 else
@@ -112,12 +113,6 @@ else
 	act 'Return to the main beach':gt 'city_lake', 'start'
 end
 
-if katday ! daystart and kat >= 1 and temper >= 15:
-	'You see Kat on the beach.'
-
-	act 'Approach Kat':gt 'Katlake', 'kat'
-end
-
 if $ARGS[0] = 'voleybol':
 	$location_type = 'event_outdoors'
 	$menu_loc = 'Nudelake'

+ 2 - 2
locations/Peterroom.qsrc

@@ -72,7 +72,7 @@ if $ARGS[0] = 'start':
 			'You do as he says and feel leather cuffs being tightly fastened around your wrists.'
 
 			if analplugin = 1:
-				analplugin = 0
+				analplugin = 0 & analplugout = 1
 				'"What do we have here?" he asks as he grips the end of your butt plug and eases it out.'
 			end
 
@@ -141,7 +141,7 @@ if $ARGS[0] = 'klap':
 		'Your moans are muffled by the gag as Peter bears down on you from above. "Let''s see how well your sweet ass takes me..." he says'
 
 		if analplugin = 1:
-			analplugin = 0
+			analplugin = 0 & analplugout = 1
 			', pulls out your butt plug'
 		end
 

+ 5 - 6
locations/Serge_kuh.qsrc

@@ -488,7 +488,7 @@ if $ARGS[0] = 'izdev2':
 							'He slips his dick into your soppy pussy with one firm thrust, and begins to fuck you thoroughly. "Very nice, very wet... you''re a good little slut, <<$pcs_nickname>>. Did getting me off with your mouth really turn you on so much?"'
 							'To your shame you have to admit that: yes, yes it did.'
 							if analplugin = 1:
-								analplugin = 0
+								analplugin = 0 & analplugout = 1
 								'While Sergey keeps pounding your pussy, he begins to tug at your butt plug. It''s not that easy to take out while you''re moving constantly, and eventually Sergey stops fucking you for a second to pull it out.'
 							end
 							'With his cock still inside your pussy, he begins to finger your tight little asshole.'
@@ -925,7 +925,7 @@ if $ARGS[0] = 'izdev9':
 							'"When Sergey tells you to stop after a few minutes of throatfucking, his cock is covered in a layer of saliva. "Very good, <<$pcs_nickname>>. You''re almost as good as your classmate. Now get on your hands and knees."'
 							'Sergey''s hands explore your body greedily, but end up a little bit higher than you had anticipated.'
 							if analplugin = 1:
-								analplugin = 0
+								analplugin = 0 & analplugout = 1
 								'Sergey laughs when he finds your butt plug and says: "Wow, <<$pcs_nickname>>! I never would''ve thought... good for you, though. Let''s get this out of the way for now."'
 								'He carefully pulls your butt plug out of your ass, and plunges his fingers in to test how loose your ass is. "Very nice. That should make the next step easier. Will save some time, too... no need to take it slow!"'
 							end
@@ -1476,7 +1476,7 @@ if $ARGS[0] = 'izn1':
 			'"I have all day, slut! We''ll repeat this until you get it right! Hands behind your back!" he growls, and slaps your hand away once more.'
 			'He repeats this three more times. When he realizes you''re no longer trying to disobey him, he nods: "That''s better, slut. Turn around."'
 			if analplugin = 1:
-				analplugin = 0
+				analplugin = 0 & analplugout = 1
 				'Sergey notices your butt plug and pulls it out of you in one quick motion, tossing it aside carelessly.'
 			end
 			'When you turn your back to him, you feel his raging erection poking against the small of your back. He takes it in his hand and guides it towards your tight anus, and begins to work the head inside your asshole. "You handle pain well, slut", Sergey groans. "This should be easy for you."'
@@ -1545,7 +1545,7 @@ if $ARGS[0] = 'izn2':
 		'Then he stops, and rubs his cock against your puckered asshole.'
 		$orgasm_or = 'yes'
 		if analplugin = 1:
-			analplugin = 0
+			analplugin = 0 & analplugout = 1
 			'Or at least, he tries to. "What''s this?" he asked, a bit amazed... he was not expecting you to be wearing a butt plug! He grins as he pulls it out, and holds it in front of your mouth: "Lick it clean while I stuff your ass with something else, slut."'
 		end
 		'He slips one finger inside your ass, and then another. And then another! With three fingers inside you, he begins to move his hand.'
@@ -1700,7 +1700,6 @@ if $ARGS[0] = 'sex2':
 					*clr & cla
 					minut +=10
 					pcs_mood = 100
-					gs 'cum_manage'
 					gs 'cum_call','',$boy,1
 					pcs_hairbsh = 0
 					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/shulginhome/kuh/help/event/sex2-5.jpg"></center>'
@@ -1749,7 +1748,7 @@ if $ARGS[0] = 'sex3':
 			'"Uncle Sergey, fuck me!" you tell him. It''s more of an order than a question, but Sergey seems happy to oblige and turns you around, showing his cock inside you in one firm thrust.'
 			'He''s satisfied enough to just fuck you for a while, but you notice his attention is going to your asshole more and more.'
 			if analplugin = 1:
-				analplugin = 0
+				analplugin = 0 & analplugout = 1
 				'Sergey laughs when he finds your butt plug and says: "Wow, <<$pcs_nickname>>! I never would''ve thought... good for you, though. Let''s get this out of the way for now."'
 				'He carefully pulls your butt plug out of your ass, and plunges his fingers in to test how loose your ass is. "Very nice. That should make the next step easier. Will save some time, too... no need to take it slow!"'
 			end

+ 1 - 1
locations/Voltrener.qsrc

@@ -446,7 +446,7 @@ if $ARGS[0] = 'trener_speak':
 			$OpenInnerThought+'"Didn''t get anything out of him there, <<$pcs_lastname>>. Although, the classes in the fitness center should be worth investigating."'+$CloseInnerThought 
 			npc_rel['A69'] += 3
 			'Seeing Mikhail a little upset by your questions, you decide to cheer him up.'
-			!! the flag on the emergence of Turner in the centre
+			!! the flag on the emergence of Turner in the center
 			ShowerIvan = 4
 			act 'Kiss':
 				cla & *clr

+ 1 - 4
locations/Zvereva_Sly_sex.qsrc

@@ -172,10 +172,7 @@ if $ARGS[0] = 'sex_end':
 		killvar '$pursebratype' & killvar 'pursebranumber'
 		gs 'clothing','wear_last_worn'
 
-		if analplugout = 1:
-			analplugout = 0
-			analplugin = 1
-		end
+		if analplugout = 1: gs 'dinsex', 'after_anal'
 		if vibratorOUT = 1:
 			vibratorIN = 1
 			vibratorOUT = 0

+ 2 - 2
locations/_attributes_fashionista.qsrc → locations/_attributes_fashionista_dress.qsrc

@@ -1,4 +1,4 @@
-# $attributes_fashionista
+# $attributes_fashionista_dress
 !2022/06/14
 !prince range from 4 to 6, please avoid adding too many 4s
 
@@ -1457,5 +1457,5 @@ elseif ARGS[1] = 200:
 	
 end
 
---- $attributes_fashionista ---------------------------------
+--- $attributes_fashionista_dress ---------------------------------
 

+ 1 - 1
locations/_attributes_school.qsrc

@@ -393,7 +393,7 @@ elseif ARGS[1] = 55:
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 56:
-	CloQuality = 4
+	CloQuality = 3
 	CloThinness = 4
 	CloTopCut = 4
 	CloSkirtShortness = 3

+ 1 - 1
locations/_body_image.qsrc

@@ -6,7 +6,7 @@
 
 $body_image_msg = ''
 if $ARGS[0] = 'body':
-	$bodyVars['img'] = func('body_structure', 'body_img', pcs_bmi, strenbuf, succubusflag)
+	$bodyVars['img'] = func('body_structure', 'body_img')
 	$result = $bodyVars['img']
 	$body_image_msg += 'You are <<pcs_hgt>>cm tall and <<$bodyVars[''desc'']>>'
 end

+ 1 - 1
locations/_clothing_image.qsrc

@@ -21,7 +21,7 @@ elseif $ARGS[0] = 'coco_outfits':
 	$RESULT = 'images/pc/items/coco/outfits/<<ARGS[1]>>.jpg'
 elseif $ARGS[0] = 'coco_dress':
 	$RESULT = 'images/pc/items/coco/dress/<<ARGS[1]>>.jpg'
-elseif $ARGS[0] = 'fashionista':
+elseif $ARGS[0] = 'fashionista_dress':
 	$RESULT = 'images/pc/items/fashionista/dress/<<ARGS[1]>>.jpg'
 elseif $ARGS[0] = 'fashionista_outfits':
 	$RESULT = 'images/pc/items/fashionista/outfits/<<ARGS[1]>>.jpg'

+ 1 - 1
locations/_short_description.qsrc

@@ -26,7 +26,7 @@ elseif $ARGS[0] = 'coco_outfits':
 	$RESULT = 'Coco outfit number '
 elseif $ARGS[0] = 'coco_dress':
 	$RESULT = 'Coco dress number '
-elseif $ARGS[0] = 'fashionista':
+elseif $ARGS[0] = 'fashionista_dress':
 	$RESULT = 'Fashionista dress number '
 elseif $ARGS[0] = 'fashionista_outfits':
 	$RESULT = 'Fashionista outfit number '

+ 3 - 3
locations/albina_chat.qsrc

@@ -95,7 +95,7 @@ if $ARGS[0] = 'stripper_talk1':
 		'"I... do some strip dancing in the city," you admit, blushing hard.'
 		if age < 18:
 			'"You''re a stripper?" Her jaw drops. "How? You''re underage!"'
-			if alterstrtimg = 18 or alterstrtimg = 19 or alterstrtimg = 20 or alterstrtimg = 21:
+			if $start_type['group'] = 'gopnik':
 				'"I''ve had a fake passport for years," you shrug uncomfortably. "Easiest way to get booze. Now it helps me with other things too."'
 			else
 				'"I... got a fake passport that the club don''t really care to check," you admit. "It... wasn''t easy getting it."'
@@ -117,7 +117,7 @@ if $ARGS[0] = 'stripper_talk1':
 		'"I do some strip dancing in the city," you say casually.'
 		if age < 18:
 			'"You''re a stripper?" she exclaims, her jaw dropping. "How? You''re underage!"'
-			if alterstrtimg = 18 or alterstrtimg = 19 or alterstrtimg = 20 or alterstrtimg = 21:
+			if $start_type['group'] = 'gopnik':
 				'"I''ve had a fake passport for years, Albina," you say, rolling your eyes. "How do you think I got all my booze?"'
 			else
 				'"I got a fake passport," you admit with a shrug. "It wasn''t easy but it gets me past any doors that have an 18+ requirement."'
@@ -139,7 +139,7 @@ if $ARGS[0] = 'stripper_talk1':
 		'"I do some strip dancing in the city," you admit, letting a smug smile creep onto your lips.'
 		if age < 18:
 			'"You''re a stripper?!" she exclaims, her jaw dropping. "How? You''re underage!"'
-			if alterstrtimg = 18 or alterstrtimg = 19 or alterstrtimg = 20 or alterstrtimg = 21:
+			if $start_type['group'] = 'gopnik':
 				'"I''ve had a fake passport for years," you grin. "Easiest way to get booze. Now it helps me with other things too."'
 			else
 				'"I got a fake passport. Expensive sumbitch, but it gets me into 18+ areas."'

+ 1 - 1
locations/albina_house_events.qsrc

@@ -650,7 +650,7 @@ if $ARGS[0] = 'hot_tub_no_panties':
 	else
 		'"I uhh, may have forgotten to wear them today..." you blush before stepping into the tub with her.'
 	end
-	if albina['commando_know'] = 0 and alterstrtimg = 24:
+	if albina['commando_know'] = 0 and $start_type['cat'] = 'goodgirl':
 		gs 'albina_house_events', 'goodie_two_shoes'
 	else
 		gs 'albina_house_events', 'hot_tub_no_panties2'

+ 1 - 1
locations/albinahome.qsrc

@@ -220,7 +220,7 @@ if $ARGS[0] = 'bedroom':
 		act 'Hang out': gt $loc, $loc_arg
 	else
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/albinahome/albinaroom.jpg"></center>'
-		'You are impressed at how nice Albina''s bedroom looks, the centrepiece being a large double bed covered in soft pillows. A door at the back of the room leads to her en-suite bathroom, and she even has a sliding door leading to a balcony that overlooks the nearby lake. A closet full of expensive-looking clothes is built into one of the walls.'
+		'You are impressed at how nice Albina''s bedroom looks, the centerpiece being a large double bed covered in soft pillows. A door at the back of the room leads to her en-suite bathroom, and she even has a sliding door leading to a balcony that overlooks the nearby lake. A closet full of expensive-looking clothes is built into one of the walls.'
 		'By the bed is a small <a href="exec:gt ''albina_house_events'',''night_stand''">nightstand</a>, and on a desk is a <a href="exec:gt ''albina_house_events'',''computer''">laptop</a>'
 		act 'Return to the hallway': gt 'albinahome', 'hallway'
 		act 'Chat with Albina': gt 'albina_chat', 'chat'

+ 1 - 1
locations/alex.qsrc

@@ -31,7 +31,7 @@ act 'Get on your knees and take it in your mouth':
 		'Alexey slaps you on your ass with the palm of his hand and says, "You''re wet like a slut already, do you like being fucked like this?"'
 		if analplugin = 1:
 			'Alexey pulls the plug out of your narrow and tight ass.'
-			analplugout = 1
+			analplugin = 0 & analplugout = 1
 		end
 		'Without stopping his relentless pounding of your pussy, Alexey smears one of his fingers with your lovejuices, and sticks it in your anus.'
 		'He moves his finger slowly, probing your anus and preparing it for his dick.'

+ 2 - 2
locations/anush_bedroom.qsrc

@@ -60,7 +60,7 @@ if $ARGS[0] = 'anushroom':
 	gs 'stat'
 	'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom.jpg"></center>'
-	'The room is surprisingly clean, more so than any other room in the apartment. The walls are covered with pictures and posters of <a href="exec:gt ''anush_bedroom'',''the_pretty_reckless''">bands</a> or famous models, girls and guys, while the room is skillfully decorated with various strings of coloured lights. In the centre of the room, beneath the window, is a <a href="exec:gt ''anush_bedroom'',''bed''">bed</a> with a small <a href="exec:gt ''anush_bedroom'',''night_stand''">nightstand</a> beside it.'
+	'The room is surprisingly clean, more so than any other room in the apartment. The walls are covered with pictures and posters of <a href="exec:gt ''anush_bedroom'',''the_pretty_reckless''">bands</a> or famous models, girls and guys, while the room is skillfully decorated with various strings of coloured lights. In the center of the room, beneath the window, is a <a href="exec:gt ''anush_bedroom'',''bed''">bed</a> with a small <a href="exec:gt ''anush_bedroom'',''night_stand''">nightstand</a> beside it.'
 	'Against the opposite wall are a small computer desk, a <a href="exec:gt ''anush_bedroom'',''computer''">laptop</a> and a chair. Next to the desk is a <a href="exec:gt ''anush_bedroom'',''nushdresser''">dresser</a> with a decent sized flatscreen TV sitting on top of it. On the other side of the desk is a bookshelf with a relatively large collection of books. Hanging on the wall next to the shelves is an <a href="exec:gt ''anush_bedroom'',''guitar''">acoustic guitar</a> with an electric guitar right beside it. A skateboard is also leaning against one of the other walls next to the <a href="exec:gt ''anush_bedroom'',''nushcloset''">closet door</a>, along with some rollerblades in the corner.'
 	act 'Leave Anushka''s room': gt 'anushapt','hallway'
 	if AnushkaLoc = 2:
@@ -403,7 +403,7 @@ if $ARGS[0] = 'computer':
 			'You perk up at the mention of modelling to earn money towards a lovely laptop like she has. "Does modelling really pay that well?"'
 			'She nods. "Sort of... If you''re willing to do nude modelling, you can make a lot in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
 			'"Nude?" you silently ask yourself. Still, it might be worth considering if it pays that much. "I don''t know... Maybe... How would I get started? Is there a modelling agency or something?"'
-			'She grins at your reply. "Yes, it''s located in the city centre." She then explains precisely where it is and to let the photographer know she sent you.'
+			'She grins at your reply. "Yes, it''s located in the city center." She then explains precisely where it is and to let the photographer know she sent you.'
 			act 'Thanks':gt 'anush_bedroom','anushroom'
 			if fakepassport ! 1:
 				act 'Underaged?':

+ 1 - 1
locations/anush_bedroom_city.qsrc

@@ -72,7 +72,7 @@ if $ARGS[0] = 'anushroom':
 	gs 'stat'
 	'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom.jpg"></center>'
-	'The room is clean, even more so than her room back in Pavlovsk, it reminds you a lot of her old room, a few new posters, slightly bigger and looks a little more adult but otherwise pretty much the same. The walls are covered with pictures and posters of <a href="exec:gt ''anush_bedroom_city'',''the_pretty_reckless''">bands</a> or famous models, girls and guys, while the room is skillfully decorated with various strings of coloured lights. In the centre of the room, beneath the window, is a <a href="exec:gt ''anush_bedroom_city'',''bed''">bed</a> with a small <a href="exec:gt ''anush_bedroom_city'',''night_stand''">nightstand</a> beside it.'
+	'The room is clean, even more so than her room back in Pavlovsk, it reminds you a lot of her old room, a few new posters, slightly bigger and looks a little more adult but otherwise pretty much the same. The walls are covered with pictures and posters of <a href="exec:gt ''anush_bedroom_city'',''the_pretty_reckless''">bands</a> or famous models, girls and guys, while the room is skillfully decorated with various strings of coloured lights. In the center of the room, beneath the window, is a <a href="exec:gt ''anush_bedroom_city'',''bed''">bed</a> with a small <a href="exec:gt ''anush_bedroom_city'',''night_stand''">nightstand</a> beside it.'
 	*nl
 	'Against the opposite wall are a small computer desk, a <a href="exec:gt ''anush_bedroom_city'',''computer''">laptop</a> and a chair. Next to the desk is a <a href="exec:gt ''anush_bedroom_city'',''nushdresser''">dresser</a> with a decent sized flatscreen TV sitting on top of it. On the other side of the desk is a bookshelf with a relatively large collection of books. Hanging on the wall next to the shelves is an <a href="exec:gt ''anush_bedroom_city'',''guitar''">acoustic guitar</a> with an electric guitar right beside it. A skateboard is also leaning against one of the other walls next to the <a href="exec:gt ''anush_bedroom_city'',''nushcloset''">closet door</a>, along with some rollerblades in the corner.'
 	act 'Leave Anushka''s room': gt 'anushapt_city','hallway'

+ 2 - 2
locations/anushkaev1.qsrc

@@ -134,7 +134,7 @@ if $ARGS[0] = 'strapon1':
 													anushkaQW['dom_nush'] -= 1
 													'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/sex/strapon/strapme9.jpg"></center>'
 													if analplugin = 1:
-														analplugin = 0
+														analplugin = 0 & analplugout = 1
 														'She straddles your thighs to get a better position, then starts pulling on your butt plug. As you glance back, you see a huge grin on her face. "You won''t be needing this for a while..." she says as she pulls it free and shows it to you.'
 													else
 														'She straddles your thighs to get a better position and uses her hands to spread your ass cheeks. As you glance back, you see a huge grin on her face. She obviously loves the idea of fucking you in the ass.'
@@ -277,7 +277,7 @@ if $ARGS[0] = 'strapon1':
 										'Once she gets bored of you sucking the dildo, she flips your ass towards her.'
 										anushkaQW['dom_nush'] -= 1
 										if analplugin = 1:
-											analplugin = 0
+											analplugin = 0 & analplugout = 1
 											'She straddles your thighs to get a better position, then starts pulling on your butt plug. As you glance back, you see a huge grin on her face. "You won''t be needing this for a while..." she says as she pulls it free and shows it to you.'
 										else
 											'She straddles your thighs to get a better position and uses her hands to spread your ass cheeks. As you glance back, you see a huge grin on her face. She obviously loves the idea of fucking you in the ass.'

+ 1 - 1
locations/anushkaev2.qsrc

@@ -671,7 +671,7 @@ if $ARGS[0] = 'val3some':
 													'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/sex/spy/join/val/valnushs11.jpg"></center>'
 													'You nod at his request. "Sure, you can fuck my ass." you tell him and Anushka rolls off of you as Valentin moves up behind you. He grabs you by the hips and pulls you up into a doggy position. As he does, Anushka moves around in front of you and lies on her back with her legs spread. She places her hand on the back of your head and pulls your face to her crotch.'
 													*nl
-													if analplugin = 1: analplugin = 0 & 'Valentin pulls out your butt plug without mercy, and it comes out with a loud pop. You doing some anal training <<$pcs_nickname>>? Nice! No need to take it easy on you it seems.'
+													if analplugin = 1: analplugin = 0 & analplugout = 1 & 'Valentin pulls out your butt plug without mercy, and it comes out with a loud pop. You doing some anal training <<$pcs_nickname>>? Nice! No need to take it easy on you it seems.'
 													'As you lower your head, you feel Valentin''s cock pressing against your asshole, along with a squirt of lube. He rubs the tip of his dick against your asshole while you start to lick Anushka''s sopping wet pussy.'
 													*nl
 													'You groan as Valentin''s <<dick>>cm <<$dick_girth>> cock pops into your ass. He pauses to let you adjust before he slowly starts fucking your ass. The louder you moan the harder and rougher he gets. He seems to be really getting into it, making you think he is close when he cries out "Fuck, I''m about to cum!"'

+ 318 - 43
locations/arousal.qsrc

@@ -56,9 +56,10 @@ eg: gs 'arousal', 'trib', 10, 'bound', 'sub'
 In this case lesbianism is automatically added, much as feet would be applied to 'footjob'
 
 Lubrication - if one of the arguments $ARGS[2] - [8] is set to 'lube', it supposes that it is used some kind of lubricant - preferably from PCs supply of lube.
-The lube will remain applied to the orifice in question until 'end' is called. The usage of Svetas lube and checks for her having any must be done in the sex act.
+The lube will remain applied to the orifice in question until 'end' is called. The usage of Svetas lube and checks for her having any must be done in the sex act or use the auto lube action.
 The lubrication is binded with anal or vaginal action. I think that the best combo is with 'anal_finger' and 'vaginal_finger'
 Only call one at a time, if more required, use multiple calls
+Also - if one of the arguments $ARGS[2] - [8] is set to 'spit' then it will apply lube at half value, again this must be with a vaginal or anal action. I would suggest skipping the specific finger part
 
 Unaware - if one of the arguments $ARGS[2] - [8] is set to 'unaware', Sveta is not aware of this Sexact. Sveta will never know she had Sex!
 no_orgasm_msg - if one of the arguments $ARGS[2] - [8] is set to 'no_orgasm_msg', the system will not generate a generic arousal message
@@ -89,13 +90,8 @@ killvar 'orgasm_flag'
 
 if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
 
-	if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'unaware') > 0:
-		temp_unaware = 1
-	end
-
-	if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'no_orgasm_msg') > 0:
-		temp_text = 1
-	end
+	if arrpos('$ARGS', 'unaware') >= 0: temp_unaware = 1
+	if arrpos('$ARGS', 'no_orgasm_msg') >= 0: temp_text = 1
 	
 	if mid($ARGS[2],1,4) = 'dick':
 		temp_dick = dyneval('result='+$ARGS[2])
@@ -106,12 +102,20 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		temp_silavag = silavag
 		$temp_dick_girth = $dick_girth
 	end
-	if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'rough')+strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'beast') > 0: temp_silavag = 0
+	if arrpos('$ARGS', 'rape') >= 0 or arrpos('$ARGS', 'rough') >= 0 or arrpos('$ARGS', 'beast') >= 0: temp_silavag = 0
 	grange = dyneval('result=strpos(''skinny   slimx     well pr   thicker   thickx    massive   monstrous'',$ARGS[0])',mid($temp_dick_girth+'x',1,6))/2
 
 	!! first let us determine how slippery are pc''s holes
 	if vaginal_slip < pcs_horny / 10: vaginal_slip = pcs_horny / 10
-	if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'lube') > 0:
+	if arrpos('$ARGS', 'spit') >= 0:
+		if mid($ARGS[0],1,4) = 'anal':
+			anal_slip = 4
+		end
+		if mid($ARGS[0],1,4) = 'vagi':
+			vaginal_slip = 4
+		end
+	end
+	if arrpos('$ARGS', 'lube') >= 0:
 		if ar_anal_lube = 0:
 			if mid($ARGS[0],1,4) = 'anal':
 				anal_slip = 8
@@ -125,6 +129,9 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			end
 		end
 	end
+	!! cum slippery
+	if cumloc[0] > 0: vaginal_slip += rand(cumvol[0]/10, cumvol[0]/5)
+	if cumloc[3] > 0: anal_slip += rand(cumvol[3]/15, cumvol[3]/10)
 	!!	This is to allow a Succubus with the right skill level to handle any size then go back to original size
 	if succubusflag = 1 and sucskill >= 4:
 		if mid($ARGS[0],1,4) = 'vagi' and temp_dick ! pcs_vag:
@@ -170,17 +177,25 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	elseif $ARGS[0] = 'kiss':
 		count['kiss'] = 1
 		stim['act'] = 10
-!!	elseif $ARGS[0] = 'breasts':
-!!		stim['act'] = 30
-!!		!! No idea where else to put this. This is used for breast stimulation which will eventually cause lactation in sveta without her knowledge. If anyone knows a better place for this, please let me know. - milky_boobs.
-!!		milkedvolume += func('lact_lib','$get_breastmilk', 8, ARGS[1])
+	elseif $ARGS[0] = 'breasts':
+		stim['act'] = 30
+		!! lose some milk
+		if lactation['active'] > 0 and lactation['breastmv'] > lactation['breastmm']*3/2:
+			stim['act'] += rand(10,20)
+			lactation['breastmv'] = max(0, lactation['breastmv'] - rand(lactation['breastmv']/10, lactation['breastmv']/4)*max(1,ARGS[1]/2))
+		end
+
+		!! No idea where else to put this. This is used for breast stimulation which will eventually cause lactation in sveta without her knowledge. If anyone knows a better place for this, please let me know. - milky_boobs.
+		!! milkedvolume += func('lact_lib','$get_breastmilk', 8, ARGS[1])
 	elseif $ARGS[0] = 'massage':
+		pcs_sweat += rand(2,4)*max(1,ARGS[1]/5)
 		count['massage'] = 1
 		stim['act'] = 25
 	elseif $ARGS[0] = 'foreplay':
 		count['foreplay'] = 1
 		stim['act'] = 20
 	elseif $ARGS[0] = 'cuni':
+		pcs_sweat += rand(0,1)*max(1,ARGS[1]/5)
 		orgasm_flag['vaginal'] = 1
 		count['cuni'] = 1
 		stim['mag'] += 4
@@ -203,6 +218,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 70
 		stim_les = 1
 	elseif $ARGS[0] = 'anal':
+		pcs_sweat += rand(1,4)*max(1,ARGS[1]/5)
 		stat['last_sex_day'] = daystart
 		orgasm_flag['anal'] = 1
 		if temp_unaware = 1:
@@ -215,8 +231,6 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		elseif pcs_traits['buttslut_lvl'] >= 2:
 			stim['mag'] += 3
 		end
-		if pcs_ass < temp_dick:pcs_ass += 1
-		if pcs_ass*2 < temp_dick:pcs_ass += 1
 		!! length and girth abilities of anus are not also separated , but I suppose that they are related although it is not propable
 		!! we can estimate difference in girth and length anal_girth_difference and anal_lenght_difference - names are shortened
 		altdif = temp_dick - pcs_ass
@@ -236,11 +250,33 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		!! if the dick is smaller, it cannot harm PC
 		if agrdif < 0: agrdif = 0
 		if altdif < 0: altdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:             altdif += rand(temp_dick/7,temp_dick/4)   & agrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'rough') >= 0:            altdif += rand(temp_dick/10,temp_dick/5)  & agrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'gangbang') >= 0:         altdif += rand(temp_dick/12,temp_dick/6)  & agrdif += rand(grange/7,grange/5)
+		if arrpos('$ARGS', 'beast') >= 0:            altdif += rand(temp_dick/15,temp_dick/8)  & agrdif += rand(grange/10,grange/7)
+		if pain['asshole'] > rand(30,50):
+			!! if arrpos('$ARGS', 'group') >= 0:        altdif += rand(temp_dick/20,temp_dick/12) & agrdif += rand(grange/15,grange/10)
+			if arrpos('$ARGS', 'maso') >= 0:         altdif += rand(temp_dick/24,temp_dick/16) & agrdif += rand(grange/18,grange/12)
+		end
+		if pain['asshole'] > rand(40,60):
+			if arrpos('$ARGS', 'prostitution') >= 0: altdif += rand(temp_dick/28,temp_dick/20) & agrdif += rand(grange/20,grange/14)
+			!! if arrpos('$ARGS', 'unknown') >= 0:      altdif += rand(temp_dick/32,temp_dick/22) & agrdif += rand(grange/24,grange/17)
+			if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/35,temp_dick/25) & agrdif += rand(grange/28,grange/20)
+			if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/40,temp_dick/30) & agrdif += rand(grange/35,grange/25)
+		end
+		!! increase if already in pain
+		agrdif += rand(pain['asshole']/10, pain['asshole']/2)
+		altdif += rand(pain['asshole']/10, pain['asshole']/2)
 		!! calculate the harm
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
 		!! the pain lover the pleasure
-		gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
+		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
+		!! force cum leak
+		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
+		if pcs_ass < temp_dick:pcs_ass += 1
+		if pcs_ass*2 < temp_dick:pcs_ass += 1
 	elseif $ARGS[0] = 'anal_finger':
 		orgasm_flag['anal'] = 1
 		count['anal_finger'] = 1
@@ -263,7 +299,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if pcs_ass + anal_slip < 30:
 			pcs_ass = 30
-			gs 'pain', 4-agape, 'asshole', 'stretch'
+			gs 'pain', (6-agape)*max(1,ARGS[1]), 'asshole', 'stretch'
 			if agape < 3:agape = 3
 		end
 	elseif $ARGS[0] = 'self_fisting_anal':
@@ -277,15 +313,14 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if pcs_ass + anal_slip < 30:
 			pcs_ass = 30
-			gs 'pain', 4-agape, 'asshole', 'stretch'
+			gs 'pain', (6-agape)*max(1,ARGS[1]), 'asshole', 'stretch'
 			if agape < 3:agape = 3
 		end
 	elseif $ARGS[0] = 'anal_dildo':
+		pcs_sweat += rand(0,2)*max(1,ARGS[1]/5)
 		orgasm_flag['anal'] = 1
 		count['anal_dildo'] = 1
 		!! the same as for 'anal'
-		if pcs_ass < temp_dick:pcs_ass += 1
-		if pcs_ass*2 < temp_dick:pcs_ass += 1
 		altdif = temp_dick - pcs_ass
 		agrdif = grange - pcs_ass
 		altdif = altdif / (temp_silavag+1)
@@ -301,16 +336,34 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if agrdif < 0: agrdif = 0
 		if altdif < 0: altdif = 0
+		if arrpos('$ARGS', 'rape') >= 0:             altdif += rand(temp_dick/7,temp_dick/4)   & agrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'rough') >= 0:            altdif += rand(temp_dick/10,temp_dick/5)  & agrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'gangbang') >= 0:         altdif += rand(temp_dick/12,temp_dick/6)  & agrdif += rand(grange/7,grange/5)
+		if arrpos('$ARGS', 'beast') >= 0:            altdif += rand(temp_dick/15,temp_dick/8)  & agrdif += rand(grange/10,grange/7)
+		if pain['asshole'] > rand(30,50):
+			!! if arrpos('$ARGS', 'group') >= 0:        altdif += rand(temp_dick/20,temp_dick/12) & agrdif += rand(grange/15,grange/10)
+			if arrpos('$ARGS', 'maso') >= 0:         altdif += rand(temp_dick/24,temp_dick/16) & agrdif += rand(grange/18,grange/12)
+		end
+		if pain['asshole'] > rand(40,60):
+			if arrpos('$ARGS', 'prostitution') >= 0: altdif += rand(temp_dick/28,temp_dick/20) & agrdif += rand(grange/20,grange/14)
+			!! if arrpos('$ARGS', 'unknown') >= 0:      altdif += rand(temp_dick/32,temp_dick/22) & agrdif += rand(grange/24,grange/17)
+			if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/35,temp_dick/25) & agrdif += rand(grange/28,grange/20)
+			if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/40,temp_dick/30) & agrdif += rand(grange/35,grange/25)
+		end
+		agrdif += rand(pain['asshole']/10, pain['asshole']/2)
+		altdif += rand(pain['asshole']/10, pain['asshole']/2)
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
-		gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
+		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
+		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
+		if pcs_ass < temp_dick:pcs_ass += 1
+		if pcs_ass*2 < temp_dick:pcs_ass += 1
 	elseif $ARGS[0] = 'anal_strap':
+		pcs_sweat += rand(1,2)*max(1,ARGS[1]/5)
 		stat['last_sex_day'] = daystart
 		orgasm_flag['anal'] = 1
 		count['anal_strap'] = 1
 		!! the same as for 'anal'
-		if pcs_ass < temp_dick:pcs_ass += 1
-		if pcs_ass*2 < temp_dick:pcs_ass += 1
 		altdif = temp_dick - pcs_ass
 		agrdif = grange - pcs_ass
 		altdif = altdif / (temp_silavag+1)
@@ -326,9 +379,29 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if agrdif < 0: agrdif = 0
 		if altdif < 0: altdif = 0
+		if arrpos('$ARGS', 'rape') >= 0:             altdif += rand(temp_dick/7,temp_dick/4)   & agrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'rough') >= 0:            altdif += rand(temp_dick/10,temp_dick/5)  & agrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'gangbang') >= 0:         altdif += rand(temp_dick/12,temp_dick/6)  & agrdif += rand(grange/7,grange/5)
+		if arrpos('$ARGS', 'beast') >= 0:            altdif += rand(temp_dick/15,temp_dick/8)  & agrdif += rand(grange/10,grange/7)
+		if pain['asshole'] > rand(30,50):
+			!! if arrpos('$ARGS', 'group') >= 0:        altdif += rand(temp_dick/20,temp_dick/12) & agrdif += rand(grange/15,grange/10)
+			if arrpos('$ARGS', 'maso') >= 0:         altdif += rand(temp_dick/24,temp_dick/16) & agrdif += rand(grange/18,grange/12)
+		end
+		if pain['asshole'] > rand(40,60):
+			if arrpos('$ARGS', 'prostitution') >= 0: altdif += rand(temp_dick/28,temp_dick/20) & agrdif += rand(grange/20,grange/14)
+			!! if arrpos('$ARGS', 'unknown') >= 0:      altdif += rand(temp_dick/32,temp_dick/22) & agrdif += rand(grange/24,grange/17)
+			if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/35,temp_dick/25) & agrdif += rand(grange/28,grange/20)
+			if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/40,temp_dick/30) & agrdif += rand(grange/35,grange/25)
+		end
+		agrdif += rand(pain['asshole']/10, pain['asshole']/2)
+		altdif += rand(pain['asshole']/10, pain['asshole']/2)
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
-		gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
+		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
+		!! force cum leak
+		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
+		if pcs_ass < temp_dick:pcs_ass += 1
+		if pcs_ass*2 < temp_dick:pcs_ass += 1
 	elseif $ARGS[0] = 'anal_vibe':
 		orgasm_flag['anal'] = 1
 		count['anal_vibe'] = 1
@@ -342,7 +415,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			stim['act'] = 90
 		end
 	elseif $ARGS[0] = 'vaginal':
-		
+		pcs_sweat += rand(1,3)*max(1,ARGS[1]/5)
 		orgasm_flag['vaginal'] = 1
 		!! pre-cum check
 		if rand(0,120) < ARGS[1]: cumprecheck = 1 & gs 'cum_manage'
@@ -362,8 +435,6 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			stat['last_man_sex_day'] = daystart
 		end
 		stim['mag'] += 3
-		if pcs_vag < dick:pcs_vag += 1
-		if pcs_vag*2 < dick:pcs_vag += 1
 		!! length and girth abilities of vagina are not separated , but I suppose that they are related
 		!! we can estimate difference in girth and length vaginal_girth_difference and vaginal_lenght_difference - names are shortened
 		vgrdif = grange - pcs_vag
@@ -383,24 +454,47 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		!! if the dick is smaller, it cannot harm PC
 		if vgrdif < 0: vgrdif = 0
 		if vltdif < 0: vltdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:             vltdif += rand(temp_dick/9,temp_dick/6)   & vgrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'rough') >= 0:            vltdif += rand(temp_dick/12,temp_dick/7)  & vgrdif += rand(grange/7,grange/5)
+		if arrpos('$ARGS', 'gangbang') >= 0:         vltdif += rand(temp_dick/15,temp_dick/9)  & vgrdif += rand(grange/10,grange/7)
+		if arrpos('$ARGS', 'beast') >= 0:            vltdif += rand(temp_dick/18,temp_dick/12) & vgrdif += rand(grange/13,grange/9)
+		if pain['vaginal'] > rand(30,50):
+			!! if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/25,temp_dick/15) & vgrdif += rand(grange/18,grange/14)
+			if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/28,temp_dick/19) & vgrdif += rand(grange/21,grange/17)
+		end
+		if pain['vaginal'] > rand(40,60):
+			if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/32,temp_dick/25) & vgrdif += rand(grange/24,grange/18)
+			!! if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/34,temp_dick/26) & vgrdif += rand(grange/27,grange/22)
+			if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/38,temp_dick/29) & vgrdif += rand(grange/32,grange/26)
+			if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/45,temp_dick/35) & vgrdif += rand(grange/40,grange/32)
+		end
+		!! increase if already in pain
+		vgrdif += rand(pain['vaginal']/10, pain['vaginal']/2)
+		vltdif += rand(pain['vaginal']/10, pain['vaginal']/2)
 		!! calculate the harm
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
 		!! the pain lover the pleasure
-		gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
+		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
+		!! force cum leak
+		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
+		if pcs_vag < temp_dick:pcs_vag += 1
+		if pcs_vag*2 < temp_dick:pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_finger':
 		orgasm_flag['vaginal'] = 1
 		count['vaginal_finger'] = 1
 		stim['mag'] += 1
 		stim['act'] = 80
 	elseif $ARGS[0] = 'vaginal_fist':
+		pcs_sweat += rand(0,1)*max(1,ARGS[1]/5)
 		orgasm_flag['vaginal'] = 1
 		count['vaginal_fist'] = 1
 		stim['act'] = 70
 		if pcs_vag + vaginal_slip < 30:
 			!! same as for 'vaginal'
 			pcs_vag += 3
-			gs 'pain', 3 - vgape, 'vaginal', 'stretch'
+			gs 'pain', (5 - vgape)*max(1,ARGS[1]), 'vaginal', 'stretch'
 			if vgape < 3:vgape = 3
 		end
 	elseif $ARGS[0] = 'self_fisting':
@@ -410,16 +504,15 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if pcs_vag + vaginal_slip < 30:
 			!! same as for 'vaginal'
 			pcs_vag += 3
-			gs 'pain', 3 - vgape, 'vaginal', 'stretch'
+			gs 'pain', (5 - vgape)*max(1,ARGS[1]), 'vaginal', 'stretch'
 			if vgape < 3:vgape = 3
 		end
 	elseif $ARGS[0] = 'vaginal_dildo':
+		pcs_sweat += rand(0,2)*max(1,ARGS[1]/5)
 		orgasm_flag['vaginal'] = 1
 		count['vaginal_dildo'] = 1
 		stim['mag'] += 1
 		!! the same as for 'vaginal'
-		if pcs_vag < temp_dick:pcs_vag += 1
-		if pcs_vag*2 < temp_dick:pcs_vag += 1
 		vgrdif = grange - pcs_vag
 		vltdif = temp_dick - pcs_vag
 		vltdif = vltdif / (temp_silavag+1)
@@ -430,10 +523,30 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 80 - (iif(vltdif>0,vltdif,-vltdif) + iif(vgrdif >0,vgrdif,-vgrdif)) + temp_silavag*8
 		if vgrdif < 0: vgrdif = 0
 		if vltdif < 0: vltdif = 0
+		if arrpos('$ARGS', 'rape') >= 0:             vltdif += rand(temp_dick/9,temp_dick/6)   & vgrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'rough') >= 0:            vltdif += rand(temp_dick/12,temp_dick/7)  & vgrdif += rand(grange/7,grange/5)
+		if arrpos('$ARGS', 'gangbang') >= 0:         vltdif += rand(temp_dick/15,temp_dick/9)  & vgrdif += rand(grange/10,grange/7)
+		if arrpos('$ARGS', 'beast') >= 0:            vltdif += rand(temp_dick/18,temp_dick/12) & vgrdif += rand(grange/13,grange/9)
+		if pain['vaginal'] > rand(30,50):
+			!! if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/25,temp_dick/15) & vgrdif += rand(grange/18,grange/14)
+			if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/28,temp_dick/19) & vgrdif += rand(grange/21,grange/17)
+		end
+		if pain['vaginal'] > rand(40,60):
+			if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/32,temp_dick/25) & vgrdif += rand(grange/24,grange/18)
+			!! if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/34,temp_dick/26) & vgrdif += rand(grange/27,grange/22)
+			if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/38,temp_dick/29) & vgrdif += rand(grange/32,grange/26)
+			if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/45,temp_dick/35) & vgrdif += rand(grange/40,grange/32)
+		end
+		vgrdif += rand(pain['vaginal']/10, pain['vaginal']/2)
+		vltdif += rand(pain['vaginal']/10, pain['vaginal']/2)
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
-		gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
+		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
+		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
+		if pcs_vag < temp_dick:pcs_vag += 1
+		if pcs_vag*2 < temp_dick:pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_strap':
+		pcs_sweat += rand(1,2)*max(1,ARGS[1]/5)
 		orgasm_flag['vaginal'] = 1
 		count['vaginal_strap'] = 1
 		if stat['think_virgin'] = 1:
@@ -447,9 +560,6 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			!! if dont_know_npc_name
 		end
 		stim['mag'] += 1
-		!! virginal capacity increase
-		if pcs_vag < temp_dick:pcs_vag += 1
-		if pcs_vag*2 < temp_dick:pcs_vag += 1
 		!! the same as for 'vaginal'
 		vgrdif = grange - pcs_vag
 		vltdif = temp_dick - pcs_vag
@@ -461,9 +571,28 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 80 - (iif(vltdif>0,vltdif,-vltdif) + iif(vgrdif >0,vgrdif,-vgrdif)) + temp_silavag*8
 		if vgrdif < 0: vgrdif = 0
 		if vltdif < 0: vltdif = 0
+		if arrpos('$ARGS', 'rape') >= 0:             vltdif += rand(temp_dick/9,temp_dick/6)   & vgrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'rough') >= 0:            vltdif += rand(temp_dick/12,temp_dick/7)  & vgrdif += rand(grange/7,grange/5)
+		if arrpos('$ARGS', 'gangbang') >= 0:         vltdif += rand(temp_dick/15,temp_dick/9)  & vgrdif += rand(grange/10,grange/7)
+		if arrpos('$ARGS', 'beast') >= 0:            vltdif += rand(temp_dick/18,temp_dick/12) & vgrdif += rand(grange/13,grange/9)
+		if pain['vaginal'] > rand(30,50):
+			!! if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/25,temp_dick/15) & vgrdif += rand(grange/18,grange/14)
+			if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/28,temp_dick/19) & vgrdif += rand(grange/21,grange/17)
+		end
+		if pain['vaginal'] > rand(40,60):
+			if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/32,temp_dick/25) & vgrdif += rand(grange/24,grange/18)
+			!! if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/34,temp_dick/26) & vgrdif += rand(grange/27,grange/22)
+			if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/38,temp_dick/29) & vgrdif += rand(grange/32,grange/26)
+			if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/45,temp_dick/35) & vgrdif += rand(grange/40,grange/32)
+		end
+		vgrdif += rand(pain['vaginal']/10, pain['vaginal']/2)
+		vltdif += rand(pain['vaginal']/10, pain['vaginal']/2)
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
-		gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
+		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
+		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
+		if pcs_vag < temp_dick:pcs_vag += 1
+		if pcs_vag*2 < temp_dick:pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_vibe':
 		orgasm_flag['vaginal'] = 1
 		count['vaginal_vibe'] = 1
@@ -482,12 +611,14 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		count['pee'] = 1
 		stim['act'] = 10
 	elseif $ARGS[0] = 'massage_give':
+		pcs_sweat += rand(3,6)*max(1,ARGS[1]/5)
 		count['massage_give'] = 1
 		stim['act'] = 10
 	elseif $ARGS[0] = 'foreplay_give':
 		count['foreplay_give'] = 1
 		stim['act'] = 20
 	elseif $ARGS[0] = 'cuni_give':
+		pcs_sweat += rand(0,1)*max(1,ARGS[1]/5)
 		count['cuni_give'] = 1
 		stim['act'] = 30
 		stim_les = 1
@@ -501,12 +632,14 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		count['anal_fist_give'] = 1
 		stim['act'] = 30
 	elseif $ARGS[0] = 'anal_dildo_give':
+		pcs_sweat += rand(0,1)*max(1,ARGS[1]/5)
 		count['anal_dildo_give'] = 1
 		stim['act'] = 40
 	elseif $ARGS[0] = 'anal_vibe_give':
 		count['anal_vibe_give'] = 1
 		stim['act'] = 40
 	elseif $ARGS[0] = 'anal_strap_give':
+		pcs_sweat += rand(2,4)*max(1,ARGS[1]/5)
 		count['anal_strap_give'] = 1
 		stim['act'] = 40
 	elseif $ARGS[0] = 'vaginal_finger_give':
@@ -522,10 +655,12 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 50
 		stim_les = 1
 	elseif $ARGS[0] = 'vaginal_dildo_give':
+		pcs_sweat += rand(0,1)*max(1,ARGS[1]/5)
 		count['vaginal_dildo_give'] = 1
 		stim['act'] = 60
 		stim_les = 1
 	elseif $ARGS[0] = 'vaginal_strap_give':
+		pcs_sweat += rand(2,4)*max(1,ARGS[1]/5)
 		count['vaginal_strap_give'] = 1
 		stim['act'] = 70
 		stim_les = 1
@@ -534,6 +669,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 60
 		stim_les = 1
 	elseif $ARGS[0] = 'hj':
+		pcs_sweat += rand(0,3)*max(1,ARGS[1]/5)
 		if temp_unaware = 1:
 			count['hidden_hj'] = 1
 		else
@@ -541,18 +677,102 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		stim['act'] = 25
 	elseif $ARGS[0] = 'bj':
+		pcs_sweat += rand(0,1)*max(1,ARGS[1]/5)
 		if temp_unaware = 1:
 			count['hidden_bj'] = 1
 		else
 			count['bj'] = 1
 		end
 		stim['act'] = 45
-		if temp_dick > pcs_throat: pcs_throat += 1
+		if pcs_lipbalm > 0:
+			pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			if arrpos('$ARGS', 'rape') >= 0 _ 
+			or arrpos('$ARGS', 'rough') >= 0 _ 
+			or arrpos('$ARGS', 'gangbang') >= 0 _ 
+			or arrpos('$ARGS', 'beast') >= 0:
+				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			end
+		end
+		if arrpos('$ARGS', 'deepthroat') >= 0:
+			tgrdif = grange - pcs_throat
+			tltdif = temp_dick - pcs_throat
+			tltdif = tltdif / (temp_silavag+1)
+			tgrdif = tgrdif *(5/4 - 1/(4 - temp_silavag))
+			if (temp_silavag = 2) and (tltdif > 0): tltdif = 0
+			if tgrdif > pcs_hydra/10: tgrdif = tgrdif - pcs_hydra/10 else if (tgrdif > 0): tgrdif = 0
+			if -1*tgrdif > pcs_hydra/10: tgrdif = tgrdif + pcs_hydra/10 else if (tgrdif < 0): tgrdif = 0
+
+			stim['act'] = 80 - (iif(tltdif>0,tltdif,-tltdif) + iif(tgrdif >0,tgrdif,-tgrdif)) + temp_silavag*8
+			if tgrdif < 0: tgrdif = 0
+			if tltdif < 0: tltdif = 0
+			if arrpos('$ARGS', 'rape') >= 0:             tltdif += rand(temp_dick/8,temp_dick/5)   & tgrdif += rand(grange/4,grange/2)
+			if arrpos('$ARGS', 'rough') >= 0:            tltdif += rand(temp_dick/10,temp_dick/6)  & tgrdif += rand(grange/6,grange/4)
+			if arrpos('$ARGS', 'gangbang') >= 0:         tltdif += rand(temp_dick/13,temp_dick/8)  & tgrdif += rand(grange/8,grange/6)
+			if arrpos('$ARGS', 'beast') >= 0:            tltdif += rand(temp_dick/16,temp_dick/10) & tgrdif += rand(grange/10,grange/8)
+			if pain['throat'] > rand(30,50):
+				!! if arrpos('$ARGS', 'group') >= 0:        tltdif += rand(temp_dick/23,temp_dick/13) & tgrdif += rand(grange/16,grange/13)
+				if arrpos('$ARGS', 'maso') >= 0:         tltdif += rand(temp_dick/25,temp_dick/16) & tgrdif += rand(grange/19,grange/15)
+			end
+			if pain['throat'] > rand(40,60):
+				if arrpos('$ARGS', 'prostitution') >= 0: tltdif += rand(temp_dick/30,temp_dick/19) & tgrdif += rand(grange/21,grange/17)
+				!! if arrpos('$ARGS', 'unknown') >= 0:      tltdif += rand(temp_dick/32,temp_dick/23) & tgrdif += rand(grange/24,grange/19)
+				if arrpos('$ARGS', 'bound') >= 0:        tltdif += rand(temp_dick/35,temp_dick/26) & tgrdif += rand(grange/29,grange/23)
+				if arrpos('$ARGS', 'sub') >= 0:          tltdif += rand(temp_dick/38,temp_dick/33) & tgrdif += rand(grange/35,grange/28)
+			end
+			tgrdif += rand(pain['throat']/10, pain['throat']/2)
+			tltdif += rand(pain['throat']/10, pain['throat']/2)
+			gs 'pain', (tgrdif + tltdif)/5*max(1,ARGS[1]/5), 'throat', 'stretch'
+			if pcs_throat < temp_dick:pcs_throat += 1
+			if pcs_throat*2 < temp_dick:pcs_throat += 1
+		end
+		if pcs_throat*3 < temp_dick:pcs_throat += 1
 	elseif $ARGS[0] = 'dildo_suck':
 		count['dildo_suck'] = 1
 		stim['act'] = 30
-		if temp_dick > pcs_throat: pcs_throat += 1
+		if pcs_lipbalm > 0:
+			pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			if arrpos('$ARGS', 'rape') >= 0 _ 
+			or arrpos('$ARGS', 'rough') >= 0 _ 
+			or arrpos('$ARGS', 'gangbang') >= 0 _ 
+			or arrpos('$ARGS', 'beast') >= 0:
+				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			end
+		end
+		if arrpos('$ARGS', 'deepthroat') >= 0:
+			tgrdif = grange - pcs_throat
+			tltdif = temp_dick - pcs_throat
+			tltdif = tltdif / (temp_silavag+1)
+			tgrdif = tgrdif *(5/4 - 1/(4 - temp_silavag))
+			if (temp_silavag = 2) and (tltdif > 0): tltdif = 0
+			if tgrdif > pcs_hydra/10: tgrdif = tgrdif - pcs_hydra/10 else if (tgrdif > 0): tgrdif = 0
+			if -1*tgrdif > pcs_hydra/10: tgrdif = tgrdif + pcs_hydra/10 else if (tgrdif < 0): tgrdif = 0
+
+			stim['act'] = 80 - (iif(tltdif>0,tltdif,-tltdif) + iif(tgrdif >0,tgrdif,-tgrdif)) + temp_silavag*8
+			if tgrdif < 0: tgrdif = 0
+			if tltdif < 0: tltdif = 0
+			if arrpos('$ARGS', 'rape') >= 0:             tltdif += rand(temp_dick/8,temp_dick/5)   & tgrdif += rand(grange/4,grange/2)
+			if arrpos('$ARGS', 'rough') >= 0:            tltdif += rand(temp_dick/10,temp_dick/6)  & tgrdif += rand(grange/6,grange/4)
+			if arrpos('$ARGS', 'gangbang') >= 0:         tltdif += rand(temp_dick/13,temp_dick/8)  & tgrdif += rand(grange/8,grange/6)
+			if arrpos('$ARGS', 'beast') >= 0:            tltdif += rand(temp_dick/16,temp_dick/10) & tgrdif += rand(grange/10,grange/8)
+			if pain['throat'] > rand(30,50):
+				!! if arrpos('$ARGS', 'group') >= 0:        tltdif += rand(temp_dick/23,temp_dick/13) & tgrdif += rand(grange/16,grange/13)
+				if arrpos('$ARGS', 'maso') >= 0:         tltdif += rand(temp_dick/25,temp_dick/16) & tgrdif += rand(grange/19,grange/15)
+			end
+			if pain['throat'] > rand(40,60):
+				if arrpos('$ARGS', 'prostitution') >= 0: tltdif += rand(temp_dick/30,temp_dick/19) & tgrdif += rand(grange/21,grange/17)
+				!! if arrpos('$ARGS', 'unknown') >= 0:      tltdif += rand(temp_dick/32,temp_dick/23) & tgrdif += rand(grange/24,grange/19)
+				if arrpos('$ARGS', 'bound') >= 0:        tltdif += rand(temp_dick/35,temp_dick/26) & tgrdif += rand(grange/29,grange/23)
+				if arrpos('$ARGS', 'sub') >= 0:          tltdif += rand(temp_dick/38,temp_dick/33) & tgrdif += rand(grange/35,grange/28)
+			end
+			tgrdif += rand(pain['throat']/10, pain['throat']/2)
+			tltdif += rand(pain['throat']/10, pain['throat']/2)
+			gs 'pain', (tgrdif + tltdif)/5*max(1,ARGS[1]/5), 'throat', 'stretch'
+			if pcs_throat < temp_dick:pcs_throat += 1
+			if pcs_throat*2 < temp_dick:pcs_throat += 1
+		end
+		if pcs_throat*3 < temp_dick:pcs_throat += 1
 	elseif $ARGS[0] = 'footjob':
+		pcs_sweat += rand(0,2)*max(1,ARGS[1]/5)
 		if temp_unaware = 1:
 			count['hidden_footjob'] = 1
 		else
@@ -561,6 +781,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 25
 		stim_foot = 1
 	elseif $ARGS[0] = 'titjob':
+		pcs_sweat += rand(3,5)*max(1,ARGS[1]/5)
 		if temp_unaware = 1:
 			count['hidden_titjob'] = 1
 		else
@@ -569,11 +790,13 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 45
 		stim_titjob = 1
 	elseif $ARGS[0] = 'BDSM_give':
+		pcs_sweat += rand(0,3)*max(1,ARGS[1]/5)
 		count['BDSM_give'] = 1
 		stim['act'] = 20
 	elseif $ARGS[0] = 'pee_give':
 		count['pee_give'] = 1
 		stim['act'] = 10
+		last_pee = totminut
 	end
 
 	!! anal acts
@@ -582,8 +805,48 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			stim['act'] += 20
 		end
 	end
-
-
+	
+	if pcs_hairbsh >= 0:
+		if arrpos('$ARGS', 'rape') >= 0:          pcs_hairbsh = iif(rand(30, pcs_hairlng)>30,-1,pcs_hairbsh)
+		if arrpos('$ARGS', 'rough') >= 0:         pcs_hairbsh = iif(rand(30, pcs_hairlng)>40,-1,pcs_hairbsh)
+		if arrpos('$ARGS', 'gangbang') >= 0:      pcs_hairbsh = iif(rand(30, pcs_hairlng)>50,-1,pcs_hairbsh)
+		if arrpos('$ARGS', 'group') >= 0:         pcs_hairbsh = iif(rand(30, pcs_hairlng)>70,-1,pcs_hairbsh)
+		if arrpos('$ARGS', 'BDSM') >= 0:          pcs_hairbsh = iif(rand(30, pcs_hairlng)>80,-1,pcs_hairbsh)
+		if arrpos('$ARGS', 'beast') >= 0:         pcs_hairbsh = iif(rand(30, pcs_hairlng)>100,-1,pcs_hairbsh)
+		if arrpos('$ARGS', 'maso') >= 0:          pcs_hairbsh = iif(rand(30, pcs_hairlng)>125,rand(-1,0),pcs_hairbsh)
+		if arrpos('$ARGS', 'prostitution') >= 0:  pcs_hairbsh = iif(rand(30, pcs_hairlng)>150,rand(-1,0),pcs_hairbsh)
+		if arrpos('$ARGS', 'unknown') >= 0:       pcs_hairbsh = iif(rand(30, pcs_hairlng)>200,rand(-1,pcs_hairbsh),pcs_hairbsh)
+		if arrpos('$ARGS', 'anal') >= 0 _ 
+		or arrpos('$ARGS', 'anal_strap') >= 0:    pcs_hairbsh = iif(rand(30, pcs_hairlng)>220,rand(-1,pcs_hairbsh),pcs_hairbsh)
+		if arrpos('$ARGS', 'vaginal') >= 0 _ 
+		or arrpos('$ARGS', 'vaginal_strap') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>240,rand(-1,pcs_hairbsh),pcs_hairbsh)
+		if pcs_hairbsh > 0:
+			if arrpos('$ARGS', 'bound') >= 0:     pcs_hairbsh = iif(rand(30, pcs_hairlng)>270,rand(0,pcs_hairbsh),pcs_hairbsh)
+			if arrpos('$ARGS', 'sub') >= 0:       pcs_hairbsh = iif(rand(30, pcs_hairlng)>300,rand(0,pcs_hairbsh),pcs_hairbsh)
+		end
+	end
+	if pcs_makeup > 1:
+		if arrpos('$ARGS', 'rape') >= 0:                  pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<7,0,pcs_makeup)
+		if arrpos('$ARGS', 'rough') >= 0:                 pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
+		if arrpos('$ARGS', 'gangbang') >= 0:              pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
+		if arrpos('$ARGS', 'beast') >= 0:                 pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<4,0,pcs_makeup)
+		if arrpos('$ARGS', 'bj') >= 0 or arrpos('$ARGS', 'deepthroat') >= 0:
+			if arrpos('$ARGS', 'group') >= 0:             pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
+			if arrpos('$ARGS', 'BDSM') >= 0:              pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
+			if arrpos('$ARGS', 'deepthroat') >= 0:
+				if arrpos('$ARGS', 'maso') >= 0:          pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
+				if arrpos('$ARGS', 'prostitution') >= 0:  pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<4,0,pcs_makeup)
+				if arrpos('$ARGS', 'unknown') >= 0:       pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<4,0,pcs_makeup)
+				if arrpos('$ARGS', 'bound') >= 0:         pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
+				if arrpos('$ARGS', 'sub') >= 0:           pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
+			end
+		end
+		if pcs_makeup > 1:
+			if (arrpos('$ARGS', 'bj') >= 0 _ 
+			or arrpos('$ARGS', 'cuni_give') >= 0):        pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,rand(0,1),pcs_makeup)
+		end
+	end
+	
 	if stim['mag'] > 9: stim['mag'] = 9
 
 	if ARGS[1] > 0: minut += ARGS[1]
@@ -856,6 +1119,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	killvar '$orgasm_txt'
 	killvar '$stim_les'
 	killvar '$stim_foot'
+	killvar 'temp_gape'
 	
 	gs 'nichUtil','onArouse',$ARGS[0]
 	
@@ -926,12 +1190,23 @@ if $ARGS[0] = 'end':
 		end
 		stat['anal_partners'] += 1
 	end
-	
+
+	if analplugout > 0:
+		if pain['asshole'] > 10:
+			gs 'dinsex', 'after_anal','no_plug'
+		else
+			gs 'dinsex', 'after_anal','pc'
+		end
+	end
+
 	killvar 'anal_slip'
 	killvar 'ar_anal_lube'
 	killvar 'vaginal_slip'
 	killvar 'ar_vag_lube'
 	killvar '$orgasm_or'
+	killvar 'vgrdif' & killvar 'vltdif'
+	killvar 'agrdif' & killvar 'altdif'
+	killvar 'tgrdif' & killvar 'tltdif'
 
 !!Updating fetish exp for acts carried out and clearing data
 	gs 'arousal', 'checks', 'maso'

+ 2 - 1
locations/artemhome.qsrc

@@ -1196,7 +1196,8 @@ if $ARGS[0] = 'chat':
 			act 'Stop talking': gt 'artemhome', 'artemroom'
 		end
 !! This is triggered after Sveta has asked Artem to steal the video
-	elseif artemQW['artlie'] =1 and artemQW['dimkahelp'] ! daystart:
+!! dimaRevChoice ! 6 - Sveta did not ask Artem for extra help at school
+	elseif artemQW['artlie'] = 1 and artemQW['dimkahelp'] ! daystart and dimaRevChoice ! 6:
 		cla & clr
 		DimaRudeBlock = 1
 		artemQW['artlie'] = 2

+ 4 - 4
locations/backwater.qsrc

@@ -65,7 +65,7 @@ if $ARGS[0] = 'alone':
 			act 'Finish': gt 'backwater'
 		end
 	end
-	if cumloc[11] = 1 or cumloc[12] = 1:
+	if cumloc[11]+cumloc[12]+cumloc[16] > 0:
 		act 'Clean the sperm from your face (0:10)':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/backwaterswim1.jpg"></center>'
@@ -98,7 +98,7 @@ if $ARGS[0] = 'alone':
 			act 'Finish': gt 'backwater'
 		end
 	end
-	if cumloc[6] = 1 or cumloc[7] = 1:
+	if cumloc[2]+cumloc[5]+cumloc[6]+cumloc[7] > 0:
 		act 'Wipe the cum off your clothes (0:10)':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/cumwash.jpg"></center>'
@@ -113,11 +113,11 @@ if $ARGS[0] = 'alone':
 			act 'Finish':gt 'backwater'
 		end
 	end
-	if spdirty > 0:
+	if cumsumbod-cumsumvag-cumsumass > 0 or pcs_sweat > 20:
 		act 'Quick wash (0:15)':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/pc/activities/facewash.jpg"></center>'
-			*nl 'You carefully wash your face, removing any impurities.'
+			*nl 'You carefully wash your body, removing any impurities.'
 			menu_off = 1
 			cumspclnt = 4
 			gs 'cum_cleanup'

+ 9 - 5
locations/ballet_npc.qsrc

@@ -20,7 +20,7 @@ hotcat_rating['A<<npctemp>>'] = 8
 !! mod appearance NPC settings, height in cm, weight in kg
 $npc_haircolour['A<<npctemp>>'] = 'blonde'
 $npc_eyecolour['A<<npctemp>>'] = 'blue'
-$npc_height['A<<npctemp>>'] = 170
+$npc_height['A<<npctemp>>'] = 160
 $npc_weight['A<<npctemp>>'] = 50 
 
 !! NPC Temp: 3502 - Kima
@@ -83,12 +83,16 @@ $npc_nickname['A<<npctemp>>'] = 'Bronya '
 $npc_lastname['A<<npctemp>>'] = 'Volkova'
 $npc_usedname['A<<npctemp>>'] = 'Bronya'
 
-!! NPC temp: 3514 - Physio - 
+!! NPC temp: 3514 - Physio - Pelageya Makarova
  
-!! Make up teacher: No name, the teacher never bothers to tell the class after a week. Former stage make up artist, beautician and scatterbrained.
+!! Make up teacher: Rada Egorova, the teacher never bothers to tell the class after a week. Former stage make up artist, beautician and scatterbrained.
+
+!! Staff Physio -  Syuzanna Zakharova / Klavdii Frolov (Klavdii is a pun)
+!! Mistress of Ballet - Zarya Popova
+
+!! Names f: Boleslava Grigoreva, Esfir Mikhaylova, Gavriila Makarova (warrior),Yustina Vinogradova
+!! Names m: Ipatiy Novikov, Venedikt Sorokin, Ony Volkov, Kazimir Sokolov
 
-!! Staff Physio - TBC
-!! Mistress of Ballet - TBC
 --- ballet_npc ---------------------------------
 
 

+ 271 - 32
locations/ballet_secrets.qsrc

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

+ 1 - 0
locations/barbershop.qsrc

@@ -158,6 +158,7 @@ elseif barbershop_wrk = 1 and barbershop_wrk_day ! daystart:
 		menu_off = 1
 		minut += 60
 		money += 125
+		gs 'exp_gain', 'cleaning', rand(1,2)
 		barbershop_wrk_day = daystart
 		gs 'stat'
 		'You work diligently and fast. You clean the floor, take out the trash, dust off the shelves and wipe some mirrors and windows. Before you know an hour has passed and you''re 125 <b>₽</b> richer.'

+ 1 - 1
locations/bed_events.qsrc

@@ -148,7 +148,7 @@ if $ARGS[0] = 'rab2':
 	act 'Suck it':
 		*clr & cla
 
-		if analplugIN = 1: analplugIN = 0
+		if analplugIN = 1: analplugIN = 0 & analplugout = 1
 		if pcs_makeup ! 1 and cosmetic_tattoo = 0: pcs_makeup = 0
 
 		'<center><img <<$set_imgh>> src="images/characters/city/nicholas/sex/r1.jpg"></center>'

+ 1 - 1
locations/bedr.qsrc

@@ -131,8 +131,8 @@ if husbandrink = 10 and hour > 20 and hour < 23 and husbanstrapon = 0:
 			husbanstrapon = 1
 			minut += 10
 			'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h0.jpg"></center>'
-			if analplugin = 1: 'You pull the plug out of you and shove it up his ass.'
 			if analplugin = 0: 'You take an anal plug and put it into his ass.'
+			if analplugin = 1: analplugIN = 0 & analplugout = 0 & 'You pull the plug out of you and shove it up his ass.'
 
 			'<<$husName>> moves, but he doesn''t wake up.'
 

+ 1 - 1
locations/bedr2x.qsrc

@@ -121,8 +121,8 @@ if husbandrink = 10 and hour > 20 and hour < 23 and husbanstrapon = 0:
 			husbanstrapon = 1
 			minut += 10
 			'<center><img <<$set_imgh>> src="images/characters/city/husband/sex/h0.jpg"></center>'
-			if analplugin = 1: 'You get your butt plug out and pull down his pants. You put just a dab of lube on the tip of the plug, then gently insert it into his ass.'
 			if analplugin = 0: 'You take an anal plug and put it into his ass.'
+			if analplugin = 1: analplugIN = 0 & analplugout = 0 & 'You get your butt plug out and pull down his pants. You put just a dab of lube on the tip of the plug, then gently insert it into his ass.'
 			'<<$husName>> moves, but he doesn''t wake up.'
 
 			if mc_inventory['dildo_small'] > 0:

+ 18 - 14
locations/begin.qsrc

@@ -12,10 +12,10 @@ if $ARGS[0] = 'start':
 
 	settingmode = 0
 	$checkimg = {
-		if $ARGS[0]=$ARGS[1]:
+		if $ARGS[0]=$ARGS[2] and $ARGS[1]=$ARGS[3]:
 			$result = '<TD><center><img src="images/system/icons/check.png" height="50"></center></TD>'
 		else
-			$result = '<TD><center><a href="exec:$start_type = ''<<$ARGS[1]>>'' & gt ''begin'',''start''"><img src="images/system/icons/uncheck.png" height="50"></a></center></TD>'
+			$result = '<TD><center><a href="exec:$start_type[''loc''] = ''<<$ARGS[2]>>'' & $start_type[''magic''] = ''<<$ARGS[3]>>'' & gt ''begin'',''start''"><img src="images/system/icons/uncheck.png" height="50"></a></center></TD>'
 		end
 	}
 	gs 'Cheatmenu_din'
@@ -40,30 +40,34 @@ if $ARGS[0] = 'start':
 
 	$start_text = '<TR><TD><p align="center">School</p></TD>'
 
-	$start_text += $dyneval($checkimg,$start_type,'sg')
-	$start_text += $dyneval($checkimg,$start_type,'sg_m')
-	$start_text += $dyneval($checkimg,$start_type,'sg_tg')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'sg', 'nomagic')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'sg', 'magic')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'sg', 'tg')
 
 	$start_text += '<TR><TD><p align="center">City</p></TD>'
 
-	$start_text += $dyneval($checkimg,$start_type,'city')
-	$start_text += $dyneval($checkimg,$start_type,'city_m')
-	$start_text += $dyneval($checkimg,$start_type,'city_tg')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'city', 'nomagic')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'city', 'magic')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'city', 'tg')
 
 	$start_text += '<TR><TD><p align="center">University</p></TD>'
 
-	$start_text += $dyneval($checkimg,$start_type,'uni')
-	$start_text += $dyneval($checkimg,$start_type,'uni_m')
-	$start_text += $dyneval($checkimg,$start_type,'uni_tg')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'uni', 'nomagic')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'uni', 'magic')
+	$start_text += $dyneval($checkimg, $start_type['loc'], $start_type['magic'], 'uni', 'tg')
 
 	$start_text
 
 	'</table></center>'
 
-	if $start_type = 'sg' or $start_type = 'sg_m':
+	if $start_type['loc'] = 'sg' and $start_type['magic'] ! 'tg':
 		act '<center><b>Start</b></center>': gt 'intro_sg', 'start'
-	elseif $start_type ! '':
-		act '<center><b>Start</b></center>': gt 'intro_'+$start_type, 'start'
+	elseif $start_type['magic'] = 'nomagic':
+		act '<center><b>Start</b></center>': gt 'intro_' + $start_type['loc'], 'start'
+	elseif $start_type['magic'] = 'magic':
+		act '<center><b>Start</b></center>': gt 'intro_' + $start_type['loc'] + '_m', 'start'
+	elseif $start_type['magic'] = 'tg':
+		act '<center><b>Start</b></center>': gt 'intro_' + $start_type['loc'] + '_tg', 'start'
 	end
 
 	act '<center><b>Change game settings</b></center>': settingmode = 1 & gs '$menu_setting'

+ 10 - 8
locations/body.qsrc

@@ -156,6 +156,7 @@ if $ARGS[0] = 'DailyUpdate':
 
 	gs 'body', 'Update_Teeth'
 
+	gs 'AppearanceSystem', 'UpdateBaseAppearance'
 	gs 'body', 'Update_Appearance'
 
 	!skin variable reset
@@ -167,7 +168,7 @@ end
 
 if $ARGS[0] = 'Update_Appearance':
 	gs 'body', 'UpdateBodyImage'
-	gs 'AppearanceSystem', 'UpdateBaseAppearance'
+	gs 'AppearanceSystem'
 	gs 'body_desc'
 end
 
@@ -181,9 +182,9 @@ if $ARGS[0] = 'UpdateBodyImage':
 	end
 
 
-	$bodyVars['desc']     = func('body_structure', 'body_desc', pcs_bmi, strenbuf, succubusflag)
-	$bodyVars['img']      = func('body_structure', 'body_img',  pcs_bmi, strenbuf, succubusflag)
-	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc',  pcs_bmi, strenbuf, succubusflag)
+	$bodyVars['desc']     = func('body_structure', 'body_desc')
+	$bodyVars['img']      = func('body_structure', 'body_img')
+	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc')
 end
 
 
@@ -647,7 +648,7 @@ if $ARGS[0] = 'Redistribute_Mass':
 					pcs_mass['body'] -= 1
 				!end
 
-			elseif emp_mass_ass < pcs_mass['butt'] and pcs_mass['butt'] > 0:
+			elseif temp_mass_ass < pcs_mass['butt'] and pcs_mass['butt'] > 0:
 				pcs_mass['butt'] -= 1
 				pcs_mass['body'] += 1
 			end
@@ -837,6 +838,7 @@ if $ARGS[0] = 'softreset':
 	end
 
 	!!Updates pcs_apprncbase after a reset
+	gs 'body', 'UpdateBodyMeasurement'
 	gs 'body', 'Update_Appearance'
 
 	!!Clears the warning and reset status flags if they were set
@@ -932,8 +934,8 @@ if $ARGS[0] = 'initial':
 		gs 'body', 'Set_mass_distribution_using_body', pcs_mass['body']
 	end
 
-	agilbuf = pcs_agil
 	strenbuf = pcs_stren
+	agilbuf  = pcs_agil
 	vitalbuf = pcs_vital
 
 	normbuffpick = -1
@@ -943,7 +945,8 @@ if $ARGS[0] = 'initial':
 	gs 'body', 'softreset'
 
 	!!	This sets/resets the controler variables
-	salocatlast = salocatnow
+	salocatnow = func('body', 'Calc_salocat')
+	salocatlast = salocatlast
 	normbuffpick = 0
 	magf2bdo = 0
 	killvar 'gamestartflag'
@@ -956,7 +959,6 @@ if $ARGS[0] = 'initial':
 	killvar 'temp_bmi'
 
 	gs 'body', 'UpdateBodyImage'
-	gs 'body_desc', 'BMI'
 end
 
 

+ 1 - 2
locations/body_desc.qsrc

@@ -186,7 +186,7 @@ if $ARGS[0] = 'anus':
 end
 
 if $ARGS[0] = 'BMI':
-	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc', pcs_bmi)
+	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc')
 end
 
 if $ARGS[0] = 'breasts':
@@ -1012,7 +1012,6 @@ if $ARGS[0] = 'hair':
 	if hbraids >= 1:
 		hscrunchw = 0
 		hpingripw = 0
-		hbangs = 0
 		hpigtail = 0
 	end
 

+ 78 - 51
locations/boy.qsrc

@@ -14,16 +14,35 @@ end
 if $ARGS[0] = 'details':
 	!Select Photos
 
-:boydetailsloop
-	lover_picrand =  RAND(1,30)
-	if lover_picrand = lover_picture[0] or lover_picrand = lover_picture[1] or lover_picrand = lover_picture[2]: jump 'boydetailsloop'
-
-	loverGenderTmp = 0
+	loverGenderTmp = npc_gender[$npclastgenerated]
 	silaVag = npc_sexskill[$npclastgenerated]
 	$npc_usedname[$npclastgenerated] = $npc_firstname[$npclastgenerated]
 	$boydesc = $npc_usedname[$npclastgenerated]
 
+	hairBoy = npc_haircol[$npclastgenerated]
+	titBoy = npc_bust[$npclastgenerated]
+	vneshBoy = npc_apprnc[$npclastgenerated]
+
 	!!appearance
+	gs 'boy', 'set_boybody'
+
+	!!Variables responsible for any features like
+	!!security, is responsible for the money and requirements
+	gs 'boy', 'set_finance'
+
+	gs 'boy', 'set_preferences'
+end
+
+! set_unique_pic is depricated
+if $ARGS[0] = 'set_unique_pic':
+	!! boys 1-30, girlfriends 31-60
+	:boydetailsloop
+		lover_picrand[$npclastgenerated] =  rand(1, 30)
+	if lover_picrand[$npclastgenerated] = lover_picture[0] or lover_picrand[$npclastgenerated] = lover_picture[1] or lover_picrand[$npclastgenerated] = lover_picture[2]: jump 'boydetailsloop'
+end
+
+
+if $ARGS[0] = 'set_boybody':
 	boybodyrand = rand(1, 3)
 
 	if boybodyrand = 1: 
@@ -54,63 +73,71 @@ if $ARGS[0] = 'details':
 	end
 	
 	boyfacerand = rand(1, 3)
+	if boyfacerand = 1: 
+		$boyface = 'black'
+	elseif boyfacerand = 2:
+		$boyface = 'brown'
+	else 
+		$boyface = 'blond'
+	end
+end
 
-	if boyfacerand = 1: $boyface = 'black'
-	if boyfacerand = 2: $boyface = 'brown'
-	if boyfacerand = 3: $boyface = 'blond'
-
-	!!Variables responsible for any features like
-	!!security, is responsible for the money and requirements
+if $ARGS[0] = 'set_finance':
 	harakBoy = rand(0, 2)
-	finance = rand(0, 2)
+	finance = npc_finance[$npclastgenerated]
 
-	if finance = 0:
+	if npc_finance[$npclastgenerated] = 0:
 		!!Gopnik beggar or a hard worker
 		!!check in appearance Primary
-		if harakBoy = 0: npc_apprnc[$npclastgenerated] = rand(0, 8)
-		if harakBoy = 1: npc_apprnc[$npclastgenerated] = rand(0, 16)
-		if harakBoy = 2: npc_apprnc[$npclastgenerated] = rand(0, 32)
+		if harakBoy = 0:
+			npc_apprnc[$npclastgenerated] = rand(0, 8)
+		elseif harakBoy = 1:
+			npc_apprnc[$npclastgenerated] = rand(0, 16)
+		else 
+			npc_apprnc[$npclastgenerated] = rand(0, 32)
+		end
 
 		$boyClo = 'wearing a tracksuit.'
-	elseif finance = 1:
+	elseif npc_finance[$npclastgenerated] = 1:
 		!!middle_peasant
 		!!check in appearance
-		if harakBoy = 0: npc_apprnc[$npclastgenerated] = rand(0, 16)
-		if harakBoy = 1: npc_apprnc[$npclastgenerated] = rand(0, 24)
-		if harakBoy = 2: npc_apprnc[$npclastgenerated] = rand(0, 32)
+		if harakBoy = 0:
+			npc_apprnc[$npclastgenerated] = rand(0, 16)
+		elseif harakBoy = 1:
+			npc_apprnc[$npclastgenerated] = rand(0, 24)
+		else
+			npc_apprnc[$npclastgenerated] = rand(0, 32)
+		end
 
 		$boyClo = 'wearing jeans and a sweater.'
-	elseif finance = 2:
+	elseif npc_finance[$npclastgenerated] = 2:
 		!!middle_peasant
 		!!check in appearance
-		if harakBoy = 0: npc_apprnc[$npclastgenerated] = rand(16, 32)
-		if harakBoy = 1: npc_apprnc[$npclastgenerated] = rand(24, 32)
-		if harakBoy = 2: npc_apprnc[$npclastgenerated] = rand(32, 40)
+		if harakBoy = 0:
+			npc_apprnc[$npclastgenerated] = rand(16, 32)
+		elseif harakBoy = 1:
+			npc_apprnc[$npclastgenerated] = rand(24, 32)
+		else
+			npc_apprnc[$npclastgenerated] = rand(32, 40)
+		end
 
 		$boyClo = 'wearing an expensive suit.'
 	end
+end
 
+
+if $ARGS[0] = 'set_preferences':
 	!!requirements of the figure, chest size, hair color.
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurBoy = rand(0, 2)
-	!!0 set here as they are boys
-	npc_bust[$npclastgenerated] = 0
-	!!0 - black, 1 - brown, 2 - Redhead, 3 - blonde
-	npc_haircol[$npclastgenerated] = rand(0, 3)
-	!!character 0 - soft, 1 -norm 2 - aggressor
+
+	!character 0 - soft, 1 - norm,  2 - aggressor
 	if rand(0, 100) < 80:
 		izvrat = 0
 	else
 		izvrat = 1
 	end
 
-
-
-	hairBoy = npc_haircol[$npclastgenerated]
-	titBoy = npc_bust[$npclastgenerated]
-	vneshBoy = npc_apprnc[$npclastgenerated]
-
-
 	!! trying to make the preference section 
 	!! Variables here are clotTypePrefTmp, clotQualPrefTmp, clotTopPrefTmp, bottShorPrefTmp, clotThinPrefTmp, bimbPrefTmp, pierPrefTmp, tattPrefTmp, lipsPrefTmp, bodyPrefTmp, makePrefTmp, IQPrefTmp.
 
@@ -120,15 +147,15 @@ if $ARGS[0] = 'details':
 	!!0 - none, 1 - cheap, 2 - average, 3 - formal, 4 - fetish.
 	clotTypePrefTmp = 0
 	if rand(0, 4) = 4:
-		if finance = 0:
+		if npc_finance[$npclastgenerated] = 0:
 			clotTypePrefTmp = rand(1,2)
-			if rand(0, 1) = 1 and izvrat = 1:clotTypePrefTmp = 4
-		elseif finance = 1:
+			if rand(0, 1) = 1 and izvrat = 1: clotTypePrefTmp = 4
+		elseif npc_finance[$npclastgenerated] = 1:
 			clotTypePrefTmp = rand(1,3)
-			if rand(0, 2) = 2 and izvrat = 1:clotTypePrefTmp = 4
-		elseif finance = 2:
+			if rand(0, 2) = 2 and izvrat = 1: clotTypePrefTmp = 4
+		elseif npc_finance[$npclastgenerated] = 2:
 			clotTypePrefTmp = rand(2,3)
-			if rand(0, 1) = 1 and izvrat = 1:clotTypePrefTmp = 4
+			if rand(0, 1) = 1 and izvrat = 1: clotTypePrefTmp = 4
 		end
 	end
 
@@ -137,9 +164,9 @@ if $ARGS[0] = 'details':
 	!! 0 - no preference, 1 - 1 to 4 units cheap to average (Locked if formal chosen), 2 - 5 to 7 units expensive to ballroom quality (Locked if fetish is chosen)
 	clotQualPrefTmp = 0
 	if rand(0, 5) = 5:
-		if finance = 0:
+		if npc_finance[$npclastgenerated] = 0:
 			clotQualPrefTmp = 1
-		elseif finance = 1:
+		elseif npc_finance[$npclastgenerated] = 1:
 			clotQualPrefTmp = rand(1, 2)
 			randchan = rand(0, 1)
 			if randchan = 0 and clotTypePrefTmp ! 3:
@@ -147,7 +174,7 @@ if $ARGS[0] = 'details':
 			elseif randchan = 1 and clotTypePrefTmp ! 1:
 				clotQualPrefTmp = 2
 			end
-		elseif finance = 2:
+		elseif npc_finance[$npclastgenerated] = 2:
 			randchan = rand(0, 2)
 			if randchan = 2 and clotTypePrefTmp ! 1:
 				clotQualPrefTmp = 2
@@ -160,14 +187,14 @@ if $ARGS[0] = 'details':
 
 	!!Need to add modifiers based on breast size, where larger breasts end up forcing the player to show more cleavage than those with smaller breasts.
 	!! 0 - no preference, 1 - 1 to 2 or neckline to moderate, 2 - 3 to 4 or heavy to severe, 3 - 5 to 7 or buldging to outpouring 
-	!! The breast size must be adjusted either when the action is being calculeted or we can base it on their ideal breast size :titBoy + 0/3 depending on the players breast size
+	!! The breast size must be adjusted either when the action is being calculeted or we can base it on their ideal breast size :npc_bust[$npclastgenerated] + 0/3 depending on the players breast size
 
 
 	!!0 - no preference, 1 - 1 neckline , 2 - 2 or moderate, 3 - 3 to 4 or heavy to severe
 	!! It doesn''t matter if your poor or rich, everyone loves tits.
 
 	slutConstant = 0
-	if rand(0, 1) = 1 and izvrat = 1:slutConstant = 1
+	if rand(0, 1) = 1 and izvrat = 1: slutConstant = 1
 
 
 	clotTopPrefTmp = 0
@@ -180,7 +207,7 @@ if $ARGS[0] = 'details':
 		elseif randchan = 2 and clotTypePrefTmp ! 3:
 			clotTopPrefTmp = 3
 		end
-		if clotTopPrefTmp ! 0 and titBoy = 2:
+		if clotTopPrefTmp ! 0 and titnpc_bust[$npclastgenerated] = 2:
 			if clotPref ! 3:
 				clotTopPrefTmp += 1
 			end
@@ -200,8 +227,7 @@ if $ARGS[0] = 'details':
 		elseif randchan = 2:
 			bottShorPrefTmp = 3
 		end
-		randchan = rand(0, 1)
-		if slutConstant = 1 and randchan = 1 and clotTypePrefTmp = 4:
+		if slutConstant = 1 and rand(0, 1) = 1 and clotTypePrefTmp = 4:
 			bottShorPrefTmp = 3
 		end
 	end
@@ -292,10 +318,11 @@ if $ARGS[0] = 'details':
 	!!0 - no preference, 1 - 1 to 30 intelligence, 2 - 30 to 85 intelligence, 3 - 85 + intelligence. 
 
 	IQPrefTmp = 0
-	if rand(0, 4) = 4:IQPrefTmp = rand(1, 3) 
+	if rand(0, 4) = 4: IQPrefTmp = rand(1, 3)
 
 	killvar 'randchan'
 end
 
+
 --- boy ---------------------------------
 

+ 8 - 8
locations/brothel.qsrc

@@ -333,7 +333,7 @@ if $ARGS[0] = 'abducted5':
 end
 
 if $ARGS[0] = 'abducted6':
-	analplugIN = 0
+	analplugIN = 0 & analplugout = 1
 	*nl
 	'<center><video autoplay loop src="images/locations/shared/brothel/pullplugfromass.mp4"></video></center>'
 	*nl
@@ -1641,7 +1641,7 @@ if $ARGS[0] = 'section1_pushplugout':
 	menu_off = 1
 	minut += 1
 	custTime += 1
-	analplugIN = 0
+	analplugIN = 0 & analplugout = 1
 	gs 'pain', 3, 'asshole', 'cramp'
 	gs 'stat'
 
@@ -1706,7 +1706,7 @@ if $ARGS[0] = 'section1_play_stretch':
 	  	gt 'brothel', 'section1_buttplug_stretch'
 	elseif stage = 5:
 	  	stage += 1
-	  	analplugIN = 0
+	  	analplugIN = 0 & analplugout = 1
 	  	gt 'brothel', 'section1_vagfisting'
 	elseif stage = 6:
 	  	stage += 1
@@ -2020,7 +2020,7 @@ if $ARGS[0] = 'section1_finish':
 					'The Client seems to disregard that, as he pounds your pussy even deeper...'
 					'<font color=#<<$pcs_font>>>"Owwwwuuch! Pleaaase no, no, take it ouuuut! Maaaster, pleaaase!"</font>'
 					'Just as you say that the next pound of the Client''s dick pushes out the plug, which falls out down between your bound legs.'
-					analplugIN = 0
+					analplugIN = 0 & analplugout = 1
 					gs 'pain', 2, 'pussy', 'stretch'
 					gs 'stat'
 				else
@@ -2082,7 +2082,7 @@ if $ARGS[0] = 'section1_finish':
 					'<font color=#<<$pcs_font>>>"Owwwwuuch! Pleaaase no, no, take it ouuuut! Maaaster, pleaaase!"</font>'
 					'Just as you say that the next pound of the Client''s dick pushes out the plug, which falls out down between your bound legs.'
 					'The Client seems to disregard that, as he stretches your anus even more with his phallus... Or maybe he does it on purpose!'
-					analplugIN = 0
+					analplugIN = 0 & analplugout = 1
 					gs 'pain', 2, 'anus', 'stretch'
 					gs 'stat'
 				else
@@ -2102,7 +2102,7 @@ if $ARGS[0] = 'section1_finish':
 					'The Client seems to disregard that, as he stretches your anus even more with his phallus...'
 					'<font color=#<<$pcs_font>>>"Owwwwuuch! Pleaaase no, no, take it ouuuut! Maaaster, pleaaase!"</font>'
 					'Just as you say that the next pound of the Client''s dick pushes out the plug, which falls out down between your bound legs.'
-					analplugIN = 0
+					analplugIN = 0 & analplugout = 1
 					gs 'pain', 4, 'anus', 'stretch'
 					gs 'stat'
 				else
@@ -2249,7 +2249,7 @@ if $ARGS[0] = 'section1_end':
 			'<center><video autoplay loop src="images/locations/shared/brothel/pullplugfromass.mp4"></video></center>'
 			'With one hard pull he rips the plug out of your anus, causing your already abused anus additional pain!'
 			'<font color=#<<$pcs_font>>>"Ouuuuchhhhh! You moron, you didn''t even pay for this!"</font>'
-			analplugIN = 0
+			analplugIN = 0 & analplugout = 1
 			gs 'pain', 3, 'asshole', 'stretch'
 			gs 'stat'
 			act 'Yell at him to untie you': gt 'brothel', 'section1_end'
@@ -2274,7 +2274,7 @@ if $ARGS[0] = 'section1_end':
 		'<center><video autoplay loop src="images/locations/shared/brothel/pullplugfromassyourself.mp4"></video></center>'
 		'<font color=#<<$pcs_font>>>Oww... Oww... Owwwch!</font> with a loud wet "pop" the plug finally goes out!'
 		step = 0
-		analplugIN = 0
+		analplugIN = 0 & analplugout = 1
 		gs 'pain', 4, 'asshole', 'stretch'
 		gs 'stat'
 		act 'Throw it away and leave': gt 'brothel', 'brothel_dressingroom', '1'

+ 39 - 32
locations/brother.qsrc

@@ -48,6 +48,11 @@ if npc_QW['A34'] > 20 and npc_QW['A34'] < 25: npc_QW['A34'] = 20
 !! npc_breastfeed_by_sveta['A34'] = 0 or 1 - Kolka was not/was breastfeed by sveta
 !! npc_tasted_sveta_milk['A34'] = 0 or 1 - Does Kolka know how svetas breast milk taste? 0 = no, 1 = yes
 
+if npc_pregtalk['A34'] = 0 and brother_pregreact <> 1 and ($ARGS[0] = 'start' or $ARGS[0] = 'showbody' or $ARGS[0] = 'kiss_talk' or $ARGS[0] = 'homework'):
+	gs 'brother', 'pregreact'
+	if brother_pregreact = 1: exit
+end
+if npc_pregtalk['A34'] = 1: killvar 'brother_pregreact'
 
 if $ARGS[0] = 'start':
 	menu_off = 1
@@ -214,7 +219,6 @@ if $ARGS[0] = 'start':
 	end
 
 	if $loc = 'sitrPar':
-		if npc_pregtalk['A34'] = 0: gs 'brother', 'pregreact'
 		gs 'brother', 'brotherSexCount'
 
 		if locat['Fam_inGad'] = 0 and $clothingworntype ! 'nude' and brothersawpirsF=0 and locat['Stepdad'] ! 10 and npc_rel['A34'] > 85 and hour >= 18 and hour < 23 and pirsF > 0:
@@ -282,7 +286,7 @@ if $ARGS[0] = 'start':
 
 		if locat['Fam_inGad'] = 0 and brotherSexCount > 0 and brotherDay = daystart:
 			brotherrand = rand(0,10)
-			if hour < 6:
+			if  hour < 6 or hour = 23:
 				'You look at your brother sleeping peacefully on the couch.'
 			elseif hour < 7 and brotherMorningSex ! daystart:
 				'You look at your brother sleeping peacefully on the couch.'
@@ -304,7 +308,7 @@ if $ARGS[0] = 'start':
 				'Your brother is playing video games.'
 			end
 
-			if hour >= 23 and brotherSex > 4 and brotherNightSex ! daystart and locat['Mother'] ! 19:
+			if hour > 0 and hour < 4 and brotherSex > 4 and brotherNightSex ! daystart and locat['Mother'] ! 19:
 				'As you approach your sleeping brother, he suddenly opens his eyes and looks at you.'
 				'He points to the mound under his blanket, "Sis, I can''t get any sleep, can you help?"'
 				cla
@@ -322,9 +326,7 @@ if $ARGS[0] = 'start':
 					act 'Leave':gt 'sitrPar'
 					exit
 				end
-			end
-
-			if locat['Stepdad'] ! 10 and hour >= 18 and hour < 23 and brotherSex > 4 and brotherEvSex ! daystart and locat['Mother'] ! 19:
+			elseif locat['Stepdad'] ! 10 and hour >= 18 and hour < 23 and brotherSex > 4 and brotherEvSex ! daystart and locat['Mother'] ! 19:
 				'When you get close, Kolka turns to you.'
 				'"Sis, I''ve got a problem," he points to the lump in his pants. "Can you help me solve it?"'
 				cla
@@ -1286,7 +1288,6 @@ if $ARGS[0] = 'brother_voyeur_ev6':
 	end
 end
 
-
 if $ARGS[0] = 'brother_voyeur_ev7':
 	*clr & cla
 	menu_off = 1
@@ -1498,37 +1499,48 @@ if $ARGS[0] = 'brother_voyeur_ev8':
 end
 
 if $ARGS[0] = 'pregreact':
+	if $loc = 'sitrPar':
+		if hour < 6: exit
+		if hour < 7 and brotherMorningSex ! daystart: exit
+		if hour >= 23: exit
+	end
+
+	*clr
+	brother_pregreact = 1
+	'<center><b><font color="maroon">Kolka</font></b></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/kolka/brother.jpg"></center>'
+
 	if knowpreg = 1 and kid = 0 and FUNC('body_din','pregnancyVisibility') = 1:
 		if $clothingworntype = 'nude' and brotherSex < 7:
+			cla
 			'Surprised, your brother looks at your stomach. "<<$pcs_nickname>>, are you pregnant? <<$npc_nickname[''A29'']>> and dad are going to be pissed!" After a moments pause he adds, "You do still look good, though."'
 			npc_pregtalk['A34'] = 1
 
 			act 'Continue' :gt 'sitrPar'
-		exit
-
+			exit
 		elseif $clothingworntype ! 'nude' and brotherSex < 7:
+			cla
 			'Surprised, your brother looks at your stomach, "<<$pcs_nickname>>, why didn''t you tell me I''m going to be an uncle?"'
 			npc_pregtalk['A34'] = 1
 
 			act 'Continue' :gt 'sitrPar'
 			exit
-
 		elseif brotherSex >= 7 and npc_pregtalk['A29'] = 0:
 			cla
 			'Surprised, your brother looks at your stomach, "Are you really pregnant? It... it''s not mine, is it?"'
-			*nl
 			if $wombthfathID = 'A34' and npc_rel['A34'] > 50:
-				act 'Yes (Happy)':gt 'brother', 'brotherknows1'
-				act 'Yes (Angry)':gt 'brother', 'brotherknows2'
+				act 'Yes (Happy)':gs 'brother', 'brotherknows1'
+				act 'Yes (Angry)':gs 'brother', 'brotherknows2'
 			elseif arrpos('$wombpotfath', 'A34') >= 0:
-				act 'Maybe (Happy)':gt 'brother', 'brotherknows3'
-				act 'Maybe (Angry)':gt 'brother', 'brotherknows4'
+				act 'Maybe (Happy)':gs 'brother', 'brotherknows3'
+				act 'Maybe (Angry)':gs 'brother', 'brotherknows4'
 			else
-				act 'No':gt 'brother', 'brotherknows5'
+				act 'No':gs 'brother', 'brotherknows5'
 			end
 			exit
 		end
 	elseif brotherSex < 7 and kid > 0 and FUNC('body_din','pregnancyVisibility') = 1:
+		cla
 		'"You''re already pregnant again? This is starting to look like a new hobby," he laughs.'
 		'"You know what? Maybe it is," you joke back. "Some girls play sports, I get serially impregnated."'
 		'Kolka pokes his tongue out at you, "Well, congratulations on taking home the gold in getting knocked up."'
@@ -1538,24 +1550,26 @@ if $ARGS[0] = 'pregreact':
 		'You leave your brother to what he was doing before, glad that the two of you have the relationship that you do.'
 
 		act 'Continue' :npc_pregtalk['A34'] = 1 & gt 'sitrPar'
+		exit
 	elseif brotherSex >= 7 and kid > 0 and npc_pregtalk['A29'] = 0 and FUNC('body_din','pregnancyVisibility') = 1:
 		cla
 		'Kolka looks at your stomach for moment before asking, "Wow, you''re pregnant again? Is it mine?"'
-		*nl
-
 		if arrpos('$wombpotfath', 'A34') >= 0:
-			act 'Maybe':gt 'brother', 'brotherknows7'
-			if $wombthfathID = 'A34' and npc_rel['A34'] > 50: act 'Yes':gt 'brother', 'brotherknows6'
+			act 'Maybe':gs 'brother', 'brotherknows7'
+			if $wombthfathID = 'A34' and npc_rel['A34'] > 50: act 'Yes':gs 'brother', 'brotherknows6'
 		else
-			act 'No':gt 'brother', 'brotherknows8'
+			act 'No':gs 'brother', 'brotherknows8'
 		end
+		exit
 	end
+
+	brother_pregreact = 0
+	*clr
 end
 
 if $ARGS[0] = 'brotherknows1':
 	cla
 	npc_pregtalk['A34'] = 1
-	*nl
 	'"Yeah, this baby is yours," you say, rubbing your belly. "And after it''s born, I might let you help me make another one," you add before giving your brother a kiss. You look down at him and notice a lump starting to form in his pants.'
 	'Kolka''s eyes suddenly go wide, "Wait! You''re not going to tell <<$npc_nickname[''A29'']>> I got you pregnant, are you?"'
 
@@ -1584,7 +1598,6 @@ end
 if $ARGS[0] = 'brotherknows2':
 	cla
 	npc_pregtalk['A34'] = 1
-	*nl
 	'"Yes, it is and you''re going to take responsibility. I am not going to be a single mother raising this child on my own."'
 	'Kolka stares at you in shock, "But I don''t know anything about raising a kid!"'
 	'"Well, you should have thought of that before knocking me up! You''re going to have to figure it out," your brother is clearly crestfallen as you walk away.'
@@ -1610,7 +1623,6 @@ end
 if $ARGS[0] = 'brotherknows3':
 	cla
 	npc_pregtalk['A34'] = 1
-	*nl
 	'"It could be, I''m still not sure yet. I just wanted to give you a heads up." You then add with a wink, "Honestly, I kind of hope it is."'
 	'"Me too," he states just a little too eagerly. He then quickly moves his lips to yours and you share a passionate kiss.'
 
@@ -1620,7 +1632,6 @@ end
 if $ARGS[0] = 'brotherknows4':
 	cla
 	npc_pregtalk['A34'] = 1
-	*nl
 	'"I''m still not sure," you say. "But if it is, you had better take responsibility."'
 	'Your brother rolls his eyes, "Then I really hope it''s someone else''s problem."'
 	'"Fuck off! If it''s yours then I''ll make sure you take responsibility!" You then storm away, leaving Kolka to stew.'
@@ -1631,7 +1642,6 @@ end
 if $ARGS[0] = 'brotherknows5':
 	cla
 	npc_pregtalk['A34'] = 1
-	*nl
 	'"No, you got lucky this time. It''s actually <<$wombthfath>>''s," you tell him. "I just wanted to share the news with my little brother."'
 	'"Oh, well congratulations!" He tries to sound happy, but you detect a note of disappointment in his voice.'
 
@@ -1641,7 +1651,6 @@ end
 !Once pregnancy fetish is added, these will be expanded
 if $ARGS[0] = 'brotherknows6':
 	npc_pregtalk['A34'] = 1
-	*nl
 	if arrpos('$ChildThFath','A34') >= 0 and BrotherHappy = 1:
 		cla
 		'"Yeah, you knocked me up again," you smile at him. "I think you''re doing this on purpose." You walk closer to your brother and straddle his lap. You affectionately wrap your arms around his neck and lean your face close to his, "You like knocking up your sister, don''t you? You just love that this belly shows the whole world that I let my own brother fuck me, huh?"'
@@ -1727,7 +1736,6 @@ end
 if $ARGS[0] = 'brotherknows7':
 	cla
 	npc_pregtalk['A34'] = 1
-	*nl
 !! $ChildThFath gets applied in labor so it is relatively good way to check if you think you already have babies with somebody
 	if arrpos('$ChildThFath','A34') >= 0 and BrotherHappy = 1:
 		'"It could be, I''m still not sure yet. I just wanted to give you a heads up." You then add with a wink, "Honestly, I''m kind of hoping it is. I would love to be carrying another one of my brother''s children."'
@@ -1749,14 +1757,13 @@ end
 if $ARGS[0] = 'brotherknows8':
 	cla
 	npc_pregtalk['A34'] = 1
-	*nl
-	if $wombthfathID ! 'A34' and arrpos('$ChildThFath','A34') >= 0 and $wombthfathID ! 'unknown':
+	if $wombthfathID ! 'A34' and arrpos('$ChildThFath','A34') >= 0 and $wombthfathID ! 'unknown' and $wombthfathID ! '':
 		'"Not this time. It''s actually <<$wombthfath>>''s. Why, were you hoping you''d give me more children? Sorry, but this body is just too good to limit myself to one man, even if that man is my cute younger brother," you giggle.'
 		'Kolka licks his lips, "Well, you do have a great body, so I''ll concede that point."'
 		'"You know I love you, but please don''t take this as an invitation to try to get me pregnant again. I don''t know if I''m ready for more kids." Your brother nods, clearly disappointed. "Hey, you can still fuck me, you just have to be careful."'
 
 		act 'Continue' :gt 'sitrPar'
-	elseif $wombthfathID ! 'A34' and arrpos('$ChildThFath','A34') < 0 and $wombthfathID ! 'unknown':
+	elseif $wombthfathID ! 'A34' and arrpos('$ChildThFath','A34') < 0 and $wombthfathID ! 'unknown' and $wombthfathID ! '':
 		'You shake your head, "No, not this time either. It''s actually <<$wombthfath>>''s."'
 		'"Oh, congratulations again, then." You still catch disappointment in his voice.'
 		'You question him, "You weren''t trying to get me pregnant, were you?"'
@@ -1767,7 +1774,7 @@ if $ARGS[0] = 'brotherknows8':
 	else
 	!! Somebody with writing skills should add flavor.
 		'No, it is not.'
-		if $wombthfathID = 'unknown':
+		if $wombthfathID = 'unknown' or $wombthfathID = '':
 			'I actually have no idea whose this one is.'
 		end
 

+ 12 - 6
locations/budgetclothes.qsrc

@@ -102,6 +102,7 @@ if $ARGS[0] = 'clothes':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'gm_outfits'
 
 	act 'Return':
 		cla
@@ -133,7 +134,7 @@ if $ARGS[0] = 'clothes':
 			end
 			i += 3
 
-		if i <= 200:jump 'loopgm_outfits'
+		if i <= total:jump 'loopgm_outfits'
 
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:
@@ -166,6 +167,7 @@ if $ARGS[0] = 'dresses':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'gm_dress'
 
 	act 'Return':
 		cla
@@ -198,7 +200,7 @@ if $ARGS[0] = 'dresses':
 				end
 			end
 			i += 3
-		if i <= 300:jump 'loopgm_dress'
+		if i <= total:jump 'loopgm_dress'
 
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:
@@ -231,6 +233,7 @@ if $ARGS[0] = 'office':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'gm_office'
 
 	act 'Return':
 		cla
@@ -255,7 +258,7 @@ if $ARGS[0] = 'office':
 				end
 			end
 			i += 1
-		if i <= 40:jump 'loopoffice'
+		if i <= total:jump 'loopoffice'
 
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:
@@ -288,6 +291,7 @@ if $ARGS[0] = 'gm_maid':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'gm_maid'
 
 	act 'Return':
 		cla
@@ -316,7 +320,7 @@ if $ARGS[0] = 'gm_maid':
 				end
 			end
 			i += 2
-		if i <= 40:jump 'loopgm_maid'
+		if i <= total:jump 'loopgm_maid'
 
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:
@@ -340,6 +344,7 @@ if $ARGS[0] = 'gm_server':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'gm_outfits'
 
 	act 'Return':
 		cla
@@ -368,7 +373,7 @@ if $ARGS[0] = 'gm_server':
 				end
 			end
 			i += 2
-		if i <= 30:jump 'loopgm_server'
+		if i <= total:jump 'loopgm_server'
 
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:
@@ -392,6 +397,7 @@ if $ARGS[0] = 'school':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'gm_school'
 
 	act 'Return':
 		cla
@@ -423,7 +429,7 @@ if $ARGS[0] = 'school':
 			end
 			i += 3
 			if i = 6:i = 9
-		if i <= 62:jump 'loopschool'
+		if i <= total:jump 'loopschool'
 
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:

+ 1 - 1
locations/carF.qsrc

@@ -95,7 +95,7 @@ if $ARGS[0] = 'salon':
 	if cardrive = 4:'Through the windshield, you see the lake.'
 	if cardrive = 5:'Through the windshield, you can see the park.'
 	if cardrive = 6:'Through the windshield, you can see the gas station in the city industrial region.'
-	if cardrive = 7:'Through the windshield, you can see the car service centre.'
+	if cardrive = 7:'Through the windshield, you can see the car service center.'
 	if cardrive = 8:'Through the windshield, you see your house in St. Petersburg''s residential area.'
 	if cardrive = 9:'Through the windshield, you can see many of the cars for sale outside the showroom.'
 	if cardrive = 10:'Through the windshield, you can see hookers outside the park.'

+ 1 - 1
locations/cardgame_durak.qsrc

@@ -515,7 +515,7 @@ if $ARGS[0] = 'card_game_rough_sex':
 		'"I want your ass next, bitch", <<$boydesc>> says. "Get on your hands and knees, and offer yourself to me."'
 		'You hesitantly do as he says, spreading your buttocks with your hands once you lower yourself to the ground.'
 		if analplugin = 1:
-			analplugin = 0
+			analplugin = 0 & analplugout = 1
 
 			'<<$boydesc>> laughs: "This would only get in the way. Out you go!", and he tugs the plug out of your ass and tosses it aside.'
 		end

+ 1 - 1
locations/cikl.qsrc

@@ -113,7 +113,7 @@ end
 if week = 7 and masseuse['schedule_update'] ! daystart: gs 'masseuse_schedule','schedule_reset'
 
 !!modelling check
-if model_week ! (daystart - week) / 7:model_job_week = 0
+if model_week ! (daystart - week) / 7 and model['status'] > 0: model_job_week = 0
 
 !!acting strings to set available jobs
 if casting = 1:

+ 1 - 1
locations/city_experimental_trials_list.qsrc

@@ -187,7 +187,7 @@ if $ARGS[0] = $trial_sections[0]:
 		elseif temp_rand < 70:
 			$temp_pill_color = 'purple'
 			$experimentQW['trial_active']     = 'pill_purple'
-			$experimentQW['pill_cyan_taken'] += 1
+			$experimentQW['pill_purple_taken'] += 1
 			 experimentQW['trial_duration']   = rand(2,4)
 
 		!! Change alko_status

+ 2 - 2
locations/city_hermitage.qsrc

@@ -1,5 +1,5 @@
 # city_hermitage
-!Please add a blue underlined link on the St. Petersburg city centre page as below for the State Hermitage Museum
+!Please add a blue underlined link on the St. Petersburg city center page as below for the State Hermitage Museum
 !Please add 1 intelligence point and 5 mood points for each visit
 
 if $ARGS[0] = 'start':
@@ -19,7 +19,7 @@ if $ARGS[0] = 'start':
 		'Of the six buildings in the main museum complex, five, being the Winter Palace, Small Hermitage, Old Hermitage, New Hermitage, and Hermitage Theatre are all open to the public.'
 		'You approach the visitors entrance which is located in the Winter Palace.'
 	end
-	act 'Return city centre': gt 'city_center'
+	act 'Return city center': gt 'city_center'
 	if hour >= 8 and hour <= 17:
 		act 'View The Golden Peacock (90 mins)': gt 'city_hermitage', 'peacock'
 		act 'View Catherine The Great''s art collection (90 mins)': gt 'city_hermitage', 'art'

+ 2 - 2
locations/city_industrial.qsrc

@@ -103,9 +103,9 @@ if $ARGS[0] = '':
 		'Next to the car dealership is a repair shop.' + iif(week = 7, 'It''s closed on Sundays.', 'It will be open between 09:00 and 20:00.') + iif(car > 0 and cardrive = 7, ' Your <<$car>> is currently locked inside.', '')
 	end
 	if hour >= 9 and hour < 17 and week < 6:
-		'The <a href="exec: minut += 5 & gt ''dk'', ''start''">community centre</a> is currently open.'
+		'The <a href="exec: minut += 5 & gt ''dk'', ''start''">community center</a> is currently open.'
 	else
-		'The community centre is currently closed. It''s only open during the week between 09:00 and 17:00.'
+		'The community center is currently closed. It''s only open during the week between 09:00 and 17:00.'
 	end
 
 	if hour >= 9 and hour <= 17 and (mid($start_type,1,2) ! 'sg' or SchoolAtestat = 0) or bumtolik > 3: 

+ 21 - 124
locations/city_industrial_train.qsrc

@@ -16,8 +16,8 @@ if $ARGS[0] = 'inside':
 	'<center><img <<$set_imgh>> src="images/locations/shared/train/vokzalholle.jpg" ></center>'
 	act 'Leave the station': minut += 2 & gt 'city_industrial_train', 'outside'
 	*nl
-	if Trainpass_day > daystart:
-		'You have <<Trainpass_day - daystart>> days left on your train pass.'
+	if transportVars['trainpass_day'] > daystart:
+		func('transport_functions', 'display_trainpass_time')
 		act 'Go to the platforms': gt 'city_industrial_train', 'platform'
 	else
 		act 'Go to the ticket office': minut += 1 & gt 'city_industrial_train', 'ticket'
@@ -56,9 +56,9 @@ if $ARGS[0] = 'outside':
 
 	'There is a path leading off in to the distance, in the direction of the <a href="exec:minut += 60 & gt ''city_lake'', ''start''">lake</a>.'
 
-	act 'Walk to the City Industrial Region': minut += 15 & gt'city_industrial'
-	act 'Walk to the lake': minut += 60 & gt'city_lake', 'start'
-	act 'Enter the station building': minut += 2 & gt'city_industrial_train', 'inside'
+	act 'Walk to the City Industrial Region': minut += 15 & gt 'city_industrial'
+	act 'Walk to the lake': minut += 60 & gt 'city_lake', 'start'
+	act 'Enter the station building': minut += 2 & gt 'city_industrial_train', 'inside'
 end
 
 if $ARGS[0] = 'platform':
@@ -72,17 +72,18 @@ if $ARGS[0] = 'platform':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/trainstation/vokzalper.jpg" ></center>'
 	'When you arrive at the platform, you can''t help but notice it bustling with activity. Lots of passengers are coming and going, all carrying large bags. It feels like it is always busy here, no matter at what time of the day you are here.'
+	*nl
+	gs 'transport_functions', 'set_train_wait_time', 'ind'
+	'The next train in the direction of the city center ' + iif(transportVars['train_wait_center'] = 0, 'is leaving now!', 'leaves in <<transportVars[''train_wait_center'']>> minutes.')
+	'The next train in the direction of Pavlovsk ' + iif(transportVars['train_wait_pavlovsk'] = 0, 'is leaving now!', 'leaves in <<transportVars[''train_wait_pavlovsk'']>> minutes.')
 
 	act 'Return to the station': minut += 5 & gt 'city_industrial_train', 'inside'
 	
-	if Trainpass_day > daystart:
-		act 'Take a train to the city center': gt 'city_industrial_train', 'centre'
-		
-		act 'Take a train to the old platform by the communal village': gt 'city_industrial_train', 'communal'
-		
-		act 'Take a train to the village of Gadukino': gt 'city_industrial_train', 'village'
-		
-		act 'Take a train to Pavlovsk': gt 'city_industrial_train', 'pavlovsk'
+	if transportVars['trainpass_day'] > daystart:
+		act 'Take a train to the city center (<<func(''transport_functions'', ''display_train_timecost'', ''ind'')>>)': gt 'train', 'ind_center'
+		act 'Take a train to the old platform by the communal village (<<func(''transport_functions'', ''display_train_timecost'', ''ind'')>>)': gt 'train', 'ind_communal'
+		act 'Take a train to the village of Gadukino (<<func(''transport_functions'', ''display_train_timecost'', ''ind'')>>)': gt 'train', 'ind_village'
+		act 'Take a train to Pavlovsk (<<func(''transport_functions'', ''display_train_timecost'', ''ind'')>>)': gt 'train', 'ind_pavlovsk'
 	end
 end
 
@@ -122,6 +123,10 @@ if $ARGS[0] = 'ticket':
 	gs 'stat'
 	'<center><h4>Ticket office</h4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/trainstation/ticketoffice.jpg"></center>'
+	*nl
+	gs 'transport_functions', 'set_train_wait_time', 'ind'
+	'The next train in the direction of the city center ' + iif(transportVars['train_wait_center'] = 0, 'is leaving now!', 'leaves in <<transportVars[''train_wait_center'']>> minutes.')
+	'The next train in the direction of Pavlovsk ' + iif(transportVars['train_wait_pavlovsk'] = 0, 'is leaving now!', 'leaves in <<transportVars[''train_wait_pavlovsk'']>> minutes.')
 
 	act 'Leave the ticket office':minut += 1 & gt 'city_industrial_train', 'inside'
 	
@@ -132,125 +137,17 @@ if $ARGS[0] = 'ticket':
 		end
 	end
 
-	if money >= 1500 and Trainpass_day <= daystart:
-		act 'Buy a weekly pass  (7 days - 1500 <b>₽</b>) ':
-			cla
-			money -= 1500
-			Trainpass_day = daystart + 7
-			act 'Return': gt 'city_industrial_train', 'inside'
-		end
-	end
-
-	if money >= 5500 and Trainpass_day <= daystart:
-		act 'Buy a monthly pass (30day -  5500 <b>₽</b>)':
-			cla
-			money -= 5500
-			Trainpass_day = daystart + 30
-			act 'Return': gt 'city_industrial_train', 'inside'
-		end
-	end
+	gs 'transport_functions', 'buy_train_pass'
 end
 
-if $ARGS[0] = 'buy_ticket':	
+if $ARGS[0] = 'buy_ticket':
 	$menu_loc = 'city_industrial_train'
 	$menu_arg = 'buy_ticket'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'city_industrial_train', 'inside'
-	
-	if money >= 50:
-		act 'Buy a ticket to the city center (50 <b>₽</b>)':
-			money -= 50
-			gt 'city_industrial_train', 'centre'
-		end
-	end
-
-	if money >= 50:
-		act 'Buy a ticket to the old platform by the communal village (50 <b>₽</b>)':
-			money -= 100
-			gt 'city_industrial_train', 'communal'
-		end
-	end
 
-	if money >= 75:
-		act 'Buy a ticket to the village of Gadukino (75 <b>₽</b>)':
-			money -= 75
-			gt 'city_industrial_train', 'village'
-		end
-	end
-
-	if money >= 125:
-		act 'Buy a ticket to Pavlovsk (125 <b>₽</b>)':
-			money -= 125
-			gt 'city_industrial_train', 'pavlovsk'
-		end
-	end
-end
-
-if $ARGS[0] = 'centre':
-	$loc = 'city_train'
-	$loc_arg = 'start'
-	menu_off = 1
-	*clr & cla
-	minut += 5
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/electri_' + rand(1,5) + '.jpg"></center>'
-	'You pay for the ticket and board the next train going to the city center.'
-	'After 5 minutes, you see the office blocks and shops at the heart of the city. The train stops at its final destination, the busy station in the city center.'
-
-	act 'Get off the train at this station':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'city_train', 'start'
-	end
-end
-
-if $ARGS[0] = 'communal':
-	$loc = 'train'
-	$loc_arg = 'communal'
-	menu_off = 1
-	minut += 10
-	if rand(1, 100) < 20: gt 'train', 'events'
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/oldplat.jpg" ></center>'
-	'After 10 minutes you arrive at an old railway platform near the communal village.'
-	act 'Get off the train':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'train', 'communal'
-	end
-end
-
-if $ARGS[0] = 'village':
-	$loc = 'train'
-	$loc_arg = 'village'
-	menu_off = 1
-	minut += 20
-	if rand(1, 100) <= 10: gt 'train_incidental', 'events'
-	if rand(1, 100) < 20: gt 'train', 'events'
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/gadplat.jpg" ></center>'
-	'After 20 minutes, the train stops at the small station near the village of Gadukino.'
-	act 'Get off the train':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'train', 'village'
-	end
-end
-
-if $ARGS[0] = 'pavlovsk':
-	$loc = 'pav_train_hall'
-	$loc_arg = 'platform'
-	menu_off = 1
-	minut += 35
-	if rand(1, 100) < 15: gt 'train', 'private'
-	if rand(1, 100) < 30: gt 'train', 'Gopnik'
-	if rand(1, 100) <= 10: gt 'train_incidental', 'events'
-	if rand(1, 100) <= 20: gt 'train', 'events'
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/pavplat.jpg" ></center>'
-	'After 35 minutes, you see the town of Pavlovsk approaching. Pavlovsk Castle is an impressive sight, even from a long distance. The train stops at its final destination, a platform in Pavlovsk station.'
-	act 'Get off the train':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'pav_train_hall'
-	end
+	gs 'transport_functions', 'buy_train_ticket', 'ind'
 end
 
 --- city_industrial_train ---------------------------------

+ 2 - 1
locations/city_market.qsrc

@@ -170,6 +170,7 @@ if $ARGS[0] = 'clo':
 	'You inspect the cheap clothing the stall has to offer.'
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'market_outfits'
 
 	act 'Return':
 		cla
@@ -193,7 +194,7 @@ if $ARGS[0] = 'clo':
 			end
 		end
 	i += 1
-	if i <= 40:jump 'loopmarket_outfits'
+	if i <= total:jump 'loopmarket_outfits'
 
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:

+ 10 - 7
locations/city_saunawhore.qsrc

@@ -104,8 +104,8 @@ if $ARGS[0] = 'saunawork':
 		end
 	end
 
-	if venera > 0 or Kandidoz > 10:
-		act 'See nurse for STD check up':
+	act 'See nurse for STD check up':
+		if Gerpes+Sifilis+Triper > rand(2,4) or Kandidoz > 10:
 			cls
 			menu_off = 1
 			gs 'stat'
@@ -146,10 +146,10 @@ if $ARGS[0] = 'saunawork':
 				if Kandidoz < 30:'Your yeast infection is currently in remission, take vitamins, and it will stay that way.'
 			end
 			act 'Return':gt 'city_saunawhore', 'saunawork'
+		else
+			'The nurse has you strip and put your legs in stirrups then roughly examines you. I can''t see anything wrong with you down there so whatever it is you got it''s in remission so you''re good to work.'
+			act 'Return':gt 'city_saunawhore', 'saunawork'
 		end
-	else
-		'The nurse has you strip and put your legs in stirrups then roughly examines you. I can''t see anything wrong with you down there so whatever it is you got it''s in remission so you''re good to work.'
-		act 'Return':gt 'city_saunawhore', 'saunawork'
 	end
 		
 	if GerpesNapr > 0 and GerpesUkolDay ! daystart:
@@ -260,6 +260,7 @@ if $ARGS[0] = 'saunawork':
 			minut += 60
 			clenerSauna = daystart
 			pcs_mood -= 25
+			gs 'exp_gain', 'cleaning', rand(1,3)
 			menu_off = 1
 			gs 'sweat', 'add', 30
 			gs 'stat'
@@ -283,6 +284,7 @@ if $ARGS[0] = 'saunawork':
 			menu_off = 1
 			minut += 60
 			clenerSauna2 = daystart
+			gs 'exp_gain', 'cleaning', rand(1,2)
 			pcs_mood -= 25
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/residential/office/clener1.jpg"></center>'
@@ -546,7 +548,7 @@ if $ARGS[0] = 'clientGate':
 end
 
 if $ARGS[0] = 'striptease':
-	if pcs_dancero < 20:pcs_dancero += rand(1,3)
+	gs 'exp_gain', 'dancero', rand(0,1)
 	if pcs_inhib < 40:
 		inhib_exp += rand(2,4)
 	elseif pcs_inhib >= 40 and pcs_inhib < 60:
@@ -561,7 +563,7 @@ if $ARGS[0] = 'striptease':
 end
 
 if $ARGS[0] = 'simplystrip':
-	if pcs_dancero < 10: pcs_dancero += rand(0,2)
+	gs 'exp_gain', 'dancero', rand(0,1)
 	if pcs_inhib < 40:
 		inhib_exp += rand(1,2)
 	elseif pcs_inhib >= 40 and pcs_inhib < 60:
@@ -586,6 +588,7 @@ if $ARGS[0] = 'strippedGate':
 end
 
 if $ARGS[0] = 'nakeddance':
+	gs 'exp_gain', 'dancero', rand(0,1)
 	if pcs_inhib < 40:
 		inhib_exp += rand(3,6)
 	elseif pcs_inhib >= 40 and pcs_inhib < 60:

+ 1 - 0
locations/city_smalloffice.qsrc

@@ -314,6 +314,7 @@ if $ARGS[0] = 'start':
 			menu_off = 1
 			clendayT = daystart
 			minut += 60
+			gs 'exp_gain', 'cleaning', rand(1,3)
 			clenerT += 1
 			pcs_mood -= 25
 			money += 65

+ 20 - 136
locations/city_train.qsrc

@@ -11,15 +11,15 @@ if $ARGS[0] = 'start':
 	gs'stat'
 	'<center><B>City center railway station</B></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/shared/trainstation/central_station_inside.jpg"></center>'
-	'The grand old station in the city centre is an impressive building. It is busy and has a number of shops and bars as well as all the platforms and trains. '
+	'The grand old station in the city center is an impressive building. It is busy and has a number of shops and bars as well as all the platforms and trains. '
 	*nl
 	if car > 0 and cardrive = 2:
 		'In the parking lot is <a href="exec:GS ''carF'',''start''">your <<$car>></a>.'
 	end
 
 	act 'Walk to the city center (0:05)':minut += 5 & gt 'city_center'
-	if Trainpass_day > daystart:
-		'You have <<Trainpass_day - daystart>> days left on your train pass.'
+	if transportVars['trainpass_day'] > daystart:
+		func('transport_functions', 'display_trainpass_time')
 		act 'Go to the platforms': gt 'city_train', 'platform'
 	else
 		act 'Go to the ticket office': gt 'city_train', 'tickets'
@@ -35,76 +35,28 @@ if $ARGS[0] = 'tickets':
 	'<center><h4>Ticket office</h4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/shared/train/kassa.jpg" ></center>'
 
-	act 'Leave the ticket office':minut += 1 & gt 'city_train', 'start'
+	*nl
+	gs 'transport_functions', 'set_train_wait_time', 'center'
+	'The next train in the direction of Pavlovsk ' + iif(transportVars['train_wait_pavlovsk'] = 0, 'is leaving now!', 'leaves in <<transportVars[''train_wait_pavlovsk'']>> minutes.')
+
+	act 'Leave the ticket office': minut += 1 & gt 'city_train', 'start'
 	
 	act 'Buy a ticket':
 		cla
 		gs 'city_train', 'buy_ticket'
 	end
 
-	if money >= 1500 and Trainpass_day <= daystart:
-		act 'Buy a weekly pass  (7 days - 1500 <b>₽</b>) ':
-			cla
-			menu_off = 1
-			money -= 1500
-			Trainpass_day = daystart + 7
-			act 'Return': gt 'city_train', 'start'
-		end
-	end
-
-	if money >= 5500 and Trainpass_day <= daystart:
-		act 'Buy a monthly pass (30day -  5500 <b>₽</b>)':
-			cla
-			menu_off = 1
-			money -= 5500
-			Trainpass_day = daystart + 30
-			act 'Return': gt 'city_train', 'start'
-		end
-	end	
+	gs 'transport_functions', 'buy_train_pass'
 end
 
 if $ARGS[0] = 'buy_ticket':
 	$menu_loc = 'city_train'
 	$menu_arg = 'buy_ticket'
 	menu_off = 0
-	
-	act 'Leave the ticket office': minut += 1 & gt 'city_train', 'start'
-	
-	act 'Buy a ticket to the city industrial area (50 <b>₽</b>)':
-		if money >= 50:
-			money -= 50
-			gt 'city_train', 'ind'
-		else
-			'You don''t have enough money for this ticket.'
-		end
-	end
 
-	act 'Buy a ticket to the old platform by the communal village (75 <b>₽</b>)':
-		if money >= 75:
-			money -= 75
-			gt 'city_train', 'communal'
-		else
-			'You don''t have enough money for this ticket.'
-		end	
-	end
-
-	act 'Buy a ticket to the village of Gadukino (100 <b>₽</b>)':
-		if money >= 100:
-			money -= 100
-			gt 'city_train', 'village'
-		else
-			'You don''t have enough money for this ticket.'	
-		end
-	end
+	act 'Leave the ticket office': minut += 1 & gt 'city_train', 'start'
 
-	act 'Buy a ticket to Pavlovsk (150 <b>₽</b>)':
-		if money >= 150:
-			money -= 150
-			gt 'city_train', 'pavlovsk'
-		else
-			'You don''t have enough money for this ticket.'		
-		end
-	end
+	gs 'transport_functions', 'buy_train_ticket', 'center'
 end
 
 if $ARGS[0] = 'platform':
@@ -115,84 +67,16 @@ if $ARGS[0] = 'platform':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/shared/train/indusplat.jpg" ></center>'
 	'When you arrive at the platform, you can''t help but notice it bustling with activity. Lots of passengers are coming and going, all carrying shopping bags. It feels like it is always busy here, no matter at what time of the day it is.'
-
-	act 'Return to the station hall':gt 'city_train', 'start'
+	*nl
+	gs 'transport_functions', 'set_train_wait_time', 'center'
+	'The next train in the direction of Pavlovsk ' + iif(transportVars['train_wait_pavlovsk'] = 0, 'is leaving now!', 'leaves in <<transportVars[''train_wait_pavlovsk'']>> minutes.')
 	
-	act 'Take a train to the city industrial area': gt 'city_train', 'ind'
-
-	act 'Take a train to the old platform by the communal village': gt 'city_train', 'communal'
-
-	act 'Take a train to the village of Gadukino': gt 'city_train', 'village'
-
-	act 'Take a train to Pavlovsk': gt 'city_train', 'pavlovsk'
-end
-
-if $ARGS[0] = 'ind':
-	$loc = 'city_industrial_train'
-	$loc_arg = 'platform'
-	menu_off = 1
-	minut += 5
-	gs 'stat'
-	if rand(1, 100) < 15: gt 'train', 'private'
-	if rand(1, 100) <= 10: gt 'train_incidental', 'events'
-	if rand(1, 100) <= 20: gt 'train', 'events'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/indusplat.jpg" ></center>'
-	'After 5 minutes, the train stops at the St. Petersburg city industrial area station.'
-	act 'Get off the train':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'city_industrial_train', 'platform'
-	end
-end
-
-if $ARGS[0] = 'communal':
-	$loc = 'train'
-	$loc_arg = 'communal'
-	menu_off = 1
-	minut += 15
-	if rand(1, 100) <= 10: gt 'train_incidental', 'events'
-	if rand(1, 100) <= 20: gt 'train', 'events'
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/oldplat.jpg" ></center>'
-	'After 15 minutes you arrive at an old railway platform near the communal village.'
-	act 'Get off the train':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'train', 'communal'
-	end
-end
-
-if $ARGS[0] = 'village':
-	$loc = 'train'
-	$loc_arg = 'village'
-	menu_off = 1
-	minut += 25
-	if rand(1, 100) <= 10: gt 'train_incidental', 'events'
-	if rand(1, 100) <= 20: gt 'train', 'events'
-	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/gadplat.jpg" ></center>'
-	'After 25 minutes, the train stops at the small station near the village of Gadukino.'
-	act 'Get off the train':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'train', 'village'
-	end
-end
-
-if $ARGS[0] = 'pavlovsk':
-	$loc = 'pav_train_hall'
-	$loc_arg = 'platform'
-	menu_off = 1
-	minut += 40
-	if rand(1, 100) < 15: gt 'train', 'private'
-	if rand(1, 100) < 30: gt 'train', 'Gopnik'
-	if rand(1, 100) <= 10: gt 'train_incidental', 'events'
-	if rand(1, 100) <= 20: gt 'train', 'events'
-	gs 'stat'
-	if train_event = 0 and rand(1, 100) < 20: gt 'train', 'events'
-	'<center><img <<$set_imgh>> src="images/locations/shared/train/pavplat.jpg" ></center>'
-	'After 40 minutes, you see the town of Pavlovsk approaching. Pavlovsk Castle is an impressive sight, even from a long distance. The train stops at its final destination, a platform in Pavlovsk station.'
-	act 'Get off the train':
-		if train_event = 0 and rand(1, 100) <= 5: gt 'train_incidental', 'end'
-		gt 'pav_train_hall'
-	end
+	act 'Return to the station hall': gt 'city_train', 'start'
+	
+	act 'Take a train to the city industrial area (<<func(''transport_functions'', ''display_train_timecost'', ''center'', ''ind'')>>)': gt 'train', 'center_ind'
+	act 'Take a train to the old platform by the communal village (<<func(''transport_functions'', ''display_train_timecost'', ''center'', ''communal'')>>)': gt 'train', 'center_communal'
+	act 'Take a train to the village of Gadukino (<<func(''transport_functions'', ''display_train_timecost'', ''center'', ''village'')>>)': gt 'train', 'center_village'
+	act 'Take a train to Pavlovsk (<<func(''transport_functions'', ''display_train_timecost'', ''center'', ''pavlovsk'')>>)': gt 'train', 'center_pavlovsk'
 end
 
 --- city_train ---------------------------------

+ 87 - 18
locations/clothing.qsrc

@@ -1,6 +1,82 @@
 # clothing
 !!2021/05/06
 
+if $ARGS[0] = 'totals':
+	!!sets the number of items in clothing sets
+	if $ARGS[1] = 'gm_outfits':
+		total = 200
+	elseif $ARGS[1] = 'gm_dress':
+		total = 300
+	elseif $ARGS[1] = 'gm_office':
+		total = 40
+	elseif $ARGS[1] = 'gm_maid':
+		total = 40
+	elseif $ARGS[1] = 'gm_server':
+		total = 30
+	elseif $ARGS[1] = 'gm_school':
+		total = 62
+	elseif $ARGS[1] = 'allure_swimsuit':
+		total = 100
+	elseif $ARGS[1] = 'allure_bikinis':
+		total = 140
+	elseif $ARGS[1] = 'coco_dress':
+		total = 300
+	elseif $ARGS[1] = 'coco_outfits':
+		total = 160
+	elseif $ARGS[1] = 'dolls_dress':
+		total = 120
+	elseif $ARGS[1] = 'dolls_outfits':
+		total = 80
+	elseif $ARGS[1] = 'fancy_burlesque':
+		total = 40
+	elseif $ARGS[1] = 'fashionista_dress':
+		total = 200
+	elseif $ARGS[1] = 'fashionista_outfits':
+		total = 20
+	elseif $ARGS[1] = 'flamingos_dress':
+		total = 180
+	elseif $ARGS[1] = 'flamingos_outfits':
+		total = 160
+	elseif $ARGS[1] = 'materinstvo_dress':
+		total = 10
+	elseif $ARGS[1] = 'nerdvana_cosplay':
+		total = 160
+	elseif $ARGS[1] = 'nerdvana_outfits':
+		total = 90
+	elseif $ARGS[1] = 'cats_dress':
+		total = 220
+	elseif $ARGS[1] = 'cats_outfits':
+		total = 200
+	elseif $ARGS[1] = 'scandalicious_dress':
+		total = 150
+	elseif $ARGS[1] = 'scandalicious_outfits':
+		total = 30
+	elseif $ARGS[1] = 'bomba_dresses':
+		total = 100
+	elseif $ARGS[1] = 'bomba_outfits':
+		total = 100
+	elseif $ARGS[1] = 'eroto_dress':
+		total = 140
+	elseif $ARGS[1] = 'eroto_outfits':
+		total = 100
+	elseif $ARGS[1] = 'eroto_strip':
+		total = 30
+	elseif $ARGS[1] = 'market_outfits':
+		total = 40
+	elseif $ARGS[1] = 'salacious_dress':
+		total = 60
+	elseif $ARGS[1] = 'salacious_outfits':
+		total = 20
+	elseif $ARGS[1] = 'moncheri_gown':
+		total = 100
+	elseif $ARGS[1] = 'moncheri_dress':
+		total = 100
+	elseif $ARGS[1] = 'danilovich_outfits':
+		total = 160
+	end
+end
+
+
 menu_off = 1
 
 $clothing_list_line = {
@@ -197,7 +273,7 @@ if $ARGS[0] = 'view_clothing_list':
 
 	if ARRSIZE('coco_outfits') > 0 or ARRSIZE('coco_dress') > 0:'<center><a href="exec:$ward_list_store = ''coco'' & gt ''clothing'', ''clothing_list'', ''coco''"><img src="images/locations/pavlovsk/coco/shop_name.png"></a></center>'
 
-	if ARRSIZE('fashionista') > 0 or ARRSIZE('fashionista_outfits') > 0:'<center><a href="exec:$ward_list_store = ''fashionista'' & gt ''clothing'', ''clothing_list'', ''fashionista''"><img src="images/locations/city/citycenter/mall/fashionista.png"></a></center>'
+	if ARRSIZE('fashionista_dress') > 0 or ARRSIZE('fashionista_outfits') > 0:'<center><a href="exec:$ward_list_store = ''fashionista'' & gt ''clothing'', ''clothing_list'', ''fashionista''"><img src="images/locations/city/citycenter/mall/fashionista.png"></a></center>'
 
 	if ARRSIZE('moncheri_gown') > 0 or ARRSIZE('moncheri_dress') > 0:'<center><a href="exec:$ward_list_store = ''moncheri'' & gt ''clothing'', ''clothing_list'', ''moncheri''"><img src="images/locations/city/citycenter/mall/moncheri.png"></a></center>'
 
@@ -646,17 +722,17 @@ if $ARGS[0] = 'clothing_list':
 		end
 
 		i = 1
-		:loopfashionista
-			if fashionista[i] = 1 and ($clothingworntype ! 'fashionista' or clothingwornnumber ! i):
-				gs 'clothing_attributes', 'fashionista', i
+		:loopfashionista_dress
+			if fashionista_dress[i] = 1 and ($clothingworntype ! 'fashionista_dress' or clothingwornnumber ! i):
+				gs 'clothing_attributes', 'fashionista_dress', i
 				gs 'clothing_QV', 'clo_filter'
 				!!sort by filter
 				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1 and clothingfilter['sport_only'] = 0 and clothingfilter['swim_only'] = 0:*P dyneval($clothing_list_line, $ward_list_page, 'fashionista', i)
+					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1 and clothingfilter['sport_only'] = 0 and clothingfilter['swim_only'] = 0:*P dyneval($clothing_list_line, $ward_list_page, 'fashionista_dress', i)
 				end
 			end
 			i += 1
-		if i <= ARRSIZE('fashionista'):jump 'loopfashionista'
+		if i <= ARRSIZE('fashionista_dress'):jump 'loopfashionista_dress'
 
 		i = 1
 		:loopfashionista_outfits
@@ -1385,12 +1461,6 @@ if $ARGS[0] = 'view_clothing_item':
 	'<center><img src="<<FUNC(''$clothing_image'',  $ARGS[1], ARGS[2])>>"></center>'
 	gs 'clothing_attributes', $ARGS[1], ARGS[2]
 
-	if CloTopCut > 1:
-		if tits = 2 or tits = 3: CloTopCut += 1
-		if tits >= 4: CloTopCut += 2
-		if CloTopCut > 2 and tits >=6: CloTopCut += 1
-	end
-
 	$RESULT = FUNC('$short_description', $ARGS[1], CloStyle2)
 	$RESULT += '<<ARGS[2]>>'
 	'<<$RESULT>>'
@@ -1399,6 +1469,11 @@ if $ARGS[0] = 'view_clothing_item':
 	elseif $swimwear_description = '':
 		gs 'clothing_descriptions'
 		'<<$description>>'
+		if hypnoClothes > 0 and (CloThinness >= 6 or $ARGS[1] = 'salacious_outfits' or $ARGS[1] = 'salacious_dress' _ 
+		or (($ARGS[1] = 'eroto_outfits' or $ARGS[1] = 'eroto_dress' or $ARGS[1] = 'eroto_strip') and CloThinness >= 3) _ 
+		or ($ARGS[1] = 'danilovich_outfits' and CloThinness >= 5)):
+			nl & '<I>You have a strange feeling about this outfit. You <b>really</b> want to wear it.</i>'
+		end
 	else
 		$swimwear_description
 	end
@@ -1814,12 +1889,6 @@ if $ARGS[0] = 'wear':
 
 	gs 'clothing_attributes', $ARGS[1], ARGS[2]
 
-	if CloTopCut > 1:
-		if tits = 2 or tits = 3: CloTopCut += 1
-		if tits >= 4: CloTopCut += 2
-		if CloTopCut > 2 and tits >=6: CloTopCut += 1
-	end
-
 	dynamic '<<$ARGS[1]>>_s[<<ARGS[2]>>] = 0'
 
 	if CloStyle2 = 4:

+ 37 - 79
locations/clothing_QV.qsrc

@@ -42,7 +42,7 @@ if $ARGS[0] = 'list':
 
 	if ARRSIZE('coco_outfits') > 0 or ARRSIZE('coco_dress') > 0:'<center><a href="exec:gt ''clothing_QV'', ''clothing_list'', ''coco''"><img src="images/locations/pavlovsk/coco/shop_name.png"></a></center>'
 
-	if ARRSIZE('fashionista') > 0 or ARRSIZE('fashionista_outfits') > 0:'<center><a href="exec:gt ''clothing_QV'', ''clothing_list'', ''fashionista''"><img src="images/locations/city/citycenter/mall/fashionista.png"></a></center>'
+	if ARRSIZE('fashionista_dress') > 0 or ARRSIZE('fashionista_outfits') > 0:'<center><a href="exec:gt ''clothing_QV'', ''clothing_list'', ''fashionista''"><img src="images/locations/city/citycenter/mall/fashionista.png"></a></center>'
 
 	if ARRSIZE('moncheri_gown') > 0 or ARRSIZE('moncheri_dress') > 0:'<center><a href="exec:gt ''clothing_QV'', ''clothing_list'', ''moncheri''"><img src="images/locations/city/citycenter/mall/moncheri.png"></a></center>'
 
@@ -501,25 +501,25 @@ if $ARGS[0] = 'clothing_list':
 		end
 
 		i = 1
-		:loopfashionista
-		if fashionista[i] = 1:
-			gs 'clothing_attributes', 'fashionista', i
+		:loopfashionista_dress
+		if fashionista_dress[i] = 1:
+			gs 'clothing_attributes', 'fashionista_dress', i
 			gs 'clothing_QV', 'clo_filter'
 			!!sort by filter
 			if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
 				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1 and clothingfilter['sport_only'] = 0:
 					if CloInhibit <= pcs_inhib:
 						if CloStyle ! 5:
-							if fashionista_s[i] = 0 and fashionista_h[i] > 0 and fashionista_b[i] >= (pcs_hips - 8) and fashionista_b[i] <= (pcs_hips + 8):*p '<a href="exec:gt ''clothing_QV'', ''change'', ''fashionista'', <<i>>"><img src="images/pc/items/fashionista/dress/<<i>>.jpg" 	height="250" /></a>'
+							if fashionista_dress_s[i] = 0 and fashionista_dress_h[i] > 0 and fashionista_dress_b[i] >= (pcs_hips - 8) and fashionista_dress_b[i] <= (pcs_hips + 8):*p '<a href="exec:gt ''clothing_QV'', ''change'', ''fashionista_dress'', <<i>>"><img src="images/pc/items/fashionista/dress/<<i>>.jpg" 	height="250" /></a>'
 						else
-							if fashionista_s[i] = 0 and fashionista_h[i] > 0:*p '<a href="exec:gt ''clothing_QV'', ''change'', ''fashionista'', <<i>>"><img src="images/pc/items/fashionista/dress/<<i>>.jpg" 	height="250" /></a>'
+							if fashionista_dress_s[i] = 0 and fashionista_dress_h[i] > 0:*p '<a href="exec:gt ''clothing_QV'', ''change'', ''fashionista_dress'', <<i>>"><img src="images/pc/items/fashionista/dress/<<i>>.jpg" 	height="250" /></a>'
 						end
 					end
 				end
 			end
 		end
 		i += 1
-		if i <= ARRSIZE('fashionista'):jump 'loopfashionista'
+		if i <= ARRSIZE('fashionista_dress'):jump 'loopfashionista_dress'
 
 		i = 1
 		:loopfashionista_outfits
@@ -1298,91 +1298,49 @@ if $ARGS[0] = 'change':
 		
 		!!Therapist force exhibitionist clothing check
 		if hypnoClothes > 0:
-			if CloStyle2 = 4:
-				if CloThinness < 3:		
-					act 'Wear this outfit':
-						cla
-						*clr		
-						'You pick up the uniform and think about trying them on... but you don''t really like wearing these type of uniform. You wonder if you can find more revealing uniform.'
-						gs 'willpower', 'misc', 'resist', 'easy'
-						will_cost += hypnoTime/CloThinness
-						if will_cost <= pcs_willpwr:
-							act 'Put them on anyways (<<will_cost>> Willpower)':
-								gs 'willpower', 'pay', 'resist'
-								gs 'stat'
-								gs 'clothing', 'wear', $ARGS[1], ARGS[2]
-
-								if $regularwornclothingtype = '':
-									gt 'wardrobe', 'main'
-								else
-									gt 'clothing_QV', 'gym'
-								end
-							end
-						else
-							act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-						end
-						act 'Back':
+			if CloThinness >= 6 or CloStyle2 = 4 or $ARGS[1] = 'salacious_outfits' or $ARGS[1] = 'salacious_dress' _ 
+			or (($ARGS[1] = 'eroto_outfits' or $ARGS[1] = 'eroto_dress' or $ARGS[1] = 'eroto_strip') and CloThinness >= 3) _ 
+			or ($ARGS[1] = 'danilovich_outfits' and CloThinness >= 5):
+				act 'Wear this outfit':
+					gs 'clothing', 'wear', $ARGS[1], ARGS[2]
+
+					if $regularwornclothingtype = '':
+						gt 'wardrobe', 'main'
+					else
+						gt 'clothing_QV', 'gym'
+					end
+				end
+			else
+				act 'Wear this outfit':
+					cla
+					*clr		
+					'You pick up the outfit and think about trying them on... but you don''t really like wearing these type of outfits'
+					gs 'willpower', 'misc', 'resist', 'easy'
+					will_cost += hypnoTime
+					if will_cost <= pcs_willpwr:
+						act 'Put them on anyways (<<will_cost>> Willpower)':
+							gs 'willpower', 'pay', 'resist'
+							gs 'stat'
+							gs 'clothing', 'wear', $ARGS[1], ARGS[2]
+
 							if $regularwornclothingtype = '':
 								gt 'wardrobe', 'main'
 							else
 								gt 'clothing_QV', 'gym'
 							end
 						end
-					end	
-				else
-					act 'Wear this outfit':
-						gs 'clothing', 'wear', $ARGS[1], ARGS[2]
-
-						if $regularwornclothingtype = '':
-							gt 'wardrobe', 'main'
-						else
-							gt 'clothing_QV', 'gym'
-						end
+					else
+						act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 					end
-				end
-			else
-				if CloThinness > 6 or $clothingworntype = 'salacious_outfits' or $clothingworntype = 'salacious_dress':
-					act 'Wear this outfit':
-						gs 'clothing', 'wear', $ARGS[1], ARGS[2]
-
+					act 'Back':
 						if $regularwornclothingtype = '':
 							gt 'wardrobe', 'main'
 						else
 							gt 'clothing_QV', 'gym'
 						end
 					end
-				else
-					act 'Wear this outfit':
-						cla
-						*clr		
-						'You pick up the outfit and think about trying them on... but you don''t really like wearing these type of outfits'
-						gs 'willpower', 'misc', 'resist', 'easy'
-						will_cost += hypnoTime
-						if will_cost <= pcs_willpwr:
-							act 'Put them on anyways (<<will_cost>> Willpower)':
-								gs 'willpower', 'pay', 'resist'
-								gs 'stat'
-								gs 'clothing', 'wear', $ARGS[1], ARGS[2]
-
-								if $regularwornclothingtype = '':
-									gt 'wardrobe', 'main'
-								else
-									gt 'clothing_QV', 'gym'
-								end
-							end
-						else
-							act 'Put them on anyways (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-						end
-						act 'Back':
-							if $regularwornclothingtype = '':
-								gt 'wardrobe', 'main'
-							else
-								gt 'clothing_QV', 'gym'
-							end
-						end
-					end	
-				end
-			end	
+				end	
+			end
 		else
 			act 'Wear this outfit':
 				gs 'clothing', 'wear', $ARGS[1], ARGS[2]

+ 8 - 2
locations/clothing_attributes.qsrc

@@ -133,8 +133,8 @@ elseif $ARGS[0] = 'coco_outfits':
 	*P FUNC('$attributes_coco_outfits', $ARGS[0], ARGS[1])
 elseif $ARGS[0] = 'coco_dress':
 	*P FUNC('$attributes_coco_dress', $ARGS[0], ARGS[1])
-elseif $ARGS[0] = 'fashionista':
-	*P FUNC('$attributes_fashionista', $ARGS[0], ARGS[1])
+elseif $ARGS[0] = 'fashionista_dress':
+	*P FUNC('$attributes_fashionista_dress', $ARGS[0], ARGS[1])
 elseif $ARGS[0] = 'fashionista_outfits':
 	*P FUNC('$attributes_fashionista_outfits', $ARGS[0], ARGS[1])
 elseif $ARGS[0] = 'moncheri_dress':
@@ -277,5 +277,11 @@ if $ARGS[0] ! 'allure_swimsuit' and $ARGS[0] ! 'allure_bikinis' and $ARGS[0] ! '
 	end
 end
 
+if CloTopCut > 1:
+	if tits = 2 or tits = 3: CloTopCut += 1
+	if tits >= 4: CloTopCut += 2
+	if CloTopCut > 2 and tits >=6: CloTopCut += 1
+end
+
 --- clothing_attributes ---------------------------------
 

+ 4 - 4
locations/core_library.qsrc

@@ -14,8 +14,8 @@ if $ARGS[0] = 'init':
 
     !!  Summer School
     
-     !! alterstrtimg is the mc backstry, mod_ballet[beta] is a test variable to initiate regardless
-    if alterstrtimg = 13 or mod_ballet['beta'] = 1: 
+     !! $start_type['cat'] is the mc backstry, mod_ballet[beta] is a test variable to initiate regardless
+    if $start_type['cat'] = 'dancer' or mod_ballet['beta'] = 1: 
         if daystart = 1:
             mod_ballet['blocker'] = 1
         end    
@@ -25,7 +25,7 @@ if $ARGS[0] = 'init':
                 gs 'pushkin_ballet_init', 'init'
             end
     
-            if  (daystart > 6 and mod_ballet['letter'] = 0) or daystart > 45:	
+            if  ((daystart >= 6 and daystart <= 14) and mod_ballet['letter'] = 0) or (daystart >= 45 and balletqw['school'] > 1):	
                 gs 'pushkin_ballet_init', 'start'
             end 
         end
@@ -47,7 +47,7 @@ if $ARGS[0] = 'init':
         if $loc = 'pav_commcenter':
             if month = 7 and day = 3 and (hour >= 16 and hour < 17) and mod_ballet['letter'] = 1:
                 ! Pre-flight - travel to school dorms
-                act '<font color="#80E656">Get on the bus</font>': gs 'shortgs', 'remove_array_element', 'mod_ballet', 'letter' & gt 'pushkin_ballet_res', 'start'	
+                act 'Get on the bus': gt 'pushkin_ballet_res', 'start'	
             end
         end
     

+ 82 - 29
locations/cum_cleanup.qsrc

@@ -52,8 +52,15 @@ if $ARGS[0] = 'cleanloc' and arrsize('ARGS') > 1:
 	if i < arrsize('$sparrnam'):
 		if sparrloc[i] = ARGS[1]:
 			if sparrloc[i] = 0 or sparrloc[i] = 3:
-				sparrvol[i] = 0
-				sparrslc[i] = 0
+				if mc_inventory['enema_kit'] = 1 or cheatKlisma = 0:
+					cumsumvag -= iif(sparrloc[i]=0,sparrvol[i],0)
+					cumsumass -= iif(sparrloc[i]=3,sparrvol[i],0)
+					sparrvol[i] = 0
+					sparrslc[i] = 0
+				else
+					cumspclnt = 15
+					gs 'cum_cleanup'
+				end
 			else
 				gs 'cum_cleanup', 'cleandeposit', i
 			end
@@ -63,6 +70,8 @@ if $ARGS[0] = 'cleanloc' and arrsize('ARGS') > 1:
 	end
 elseif $ARGS[0] = 'cleandeposit' and arrsize('ARGS') > 1:
 	cumsumbod -= sparrvol[ARGS[1]]
+	cumsumvag -= iif(sparrloc[ARGS[1]]=0,sparrvol[ARGS[1]],0)
+	cumsumass -= iif(sparrloc[ARGS[1]]=3,sparrvol[ARGS[1]],0)
 	KILLVAR 'sparrage',ARGS[1]
 	KILLVAR 'sparrloc',ARGS[1]
 	KILLVAR '$sparrnam',ARGS[1]
@@ -71,6 +80,10 @@ elseif $ARGS[0] = 'cleandeposit' and arrsize('ARGS') > 1:
 	KILLVAR 'sparrvol',ARGS[1]
 	KILLVAR 'sparrslc',ARGS[1]
 	KILLVAR 'sparrcnt',ARGS[1]
+	cumloc[ARGS[1]] = 0
+	if cumsumbod < 0: cumsumbod = 0
+	if cumsumvag <= 0: cumsumvag = 0 & cum_vol['vagina'] = 0 & cumvol[0] = 0 & cum_loc['vagina'] = 0 & cumloc[0] = 0
+	if cumsumass <= 0: cumsumass = 0 & cum_vol['anus'] = 0   & cumvol[3] = 0 & cum_loc['anus'] = 0   & cumloc[3] = 0
 elseif $ARGS[0] = 'cleanwomb' and arrsize('ARGS') > 1:
 	KILLVAR 'cumarrcpt',ARGS[1]
 	KILLVAR 'cumarrppt',ARGS[1]
@@ -81,7 +94,7 @@ elseif $ARGS[0] = 'cleanwomb' and arrsize('ARGS') > 1:
 	KILLVAR 'cumarrcnt',ARGS[1]
 	KILLVAR 'cumarrcon',ARGS[1]
 elseif $ARGS[0] = 'cumcondslip':
-	if cumcondslip_deep > (pcs_vag / 2):
+	if cumcondslip_deep > (pcs_vag / 2) and vgape < 3:
 		'The condom is too deep inside you to be pulled out by hand. You need to seek professional help!'
 	else
 		gs 'cum_cleanup', 'cleanloc', 17
@@ -102,6 +115,7 @@ elseif $ARGS[0] = 'reset':
 	KILLVAR 'cumarrcon'
 	KILLVAR 'cumcount'
 	KILLVAR 'cumloc'
+	killvar 'cum_loc'
 	KILLVAR '$cumowner'
 	KILLVAR 'cumspclnt'
 	KILLVAR 'cumvolume'
@@ -124,21 +138,21 @@ elseif $ARGS[0] = 'reset':
 	cumsumvag = 0
 	cumsumass = 0
 	Enable_clearcum = 0
-	spdirtyn = 0
-	spdirtyv = 0
-	spdirty = 0
 elseif $ARGS[0] = '':
-	cumsumbod = 0
-	cumsumvag = 0
-	cumsumass = 0
-
+	if cumspclnt = 0: exit
 	KILLVAR 'spafinloc'
 	killvar 'toclean'
 	killvar 'deresidue'
 	if cumspclnt = 1 or cumspclnt = 10:
+		if hypnoAddict > 0:
+			!{full clean but skipping internal due to hypno}
+			cumspclnt = 18
+			gs 'cum_cleanup'
+			exit
+		end
 		!{full external clean}
-		deresidue[arrsize('deresidue')] = 0
-		deresidue[arrsize('deresidue')] = 3
+		if isprok = 0 and vibratorIN = 0: deresidue[arrsize('deresidue')] = 0
+		if analplugin = 0: deresidue[arrsize('deresidue')] = 3
 		toclean[arrsize('toclean')] = 1
 		toclean[arrsize('toclean')] = 2
 		toclean[arrsize('toclean')] = 4
@@ -162,10 +176,9 @@ elseif $ARGS[0] = '':
 		toclean[arrsize('toclean')] = 0
 		toclean[arrsize('toclean')] = 3
 		toclean[arrsize('toclean')] = 17
+		if hypnoAddict > 0 and (cumloc[0] > 0 or cumloc[3] > 0): 'You have no reason to, but you carefully avoid cleaning out your pussy and ass.'
 	elseif cumspclnt = 4:
 		!{external body clean}
-		deresidue[arrsize('deresidue')] = 0
-		deresidue[arrsize('deresidue')] = 3
 		toclean[arrsize('toclean')] = 1
 		toclean[arrsize('toclean')] = 4
 		toclean[arrsize('toclean')] = 8
@@ -214,6 +227,7 @@ elseif $ARGS[0] = '':
 		toclean[arrsize('toclean')] = 4
 		deresidue[arrsize('deresidue')] = 0
 		deresidue[arrsize('deresidue')] = 3
+		if hypnoAddict > 0 and (cumloc[0] > 0 or cumloc[3] > 0): 'You have no reason to, but you carefully avoid cleaning out your pussy and ass.'
 	elseif cumspclnt = 16:
 		!{Breasts}
 		toclean[arrsize('toclean')] = 15
@@ -248,36 +262,75 @@ elseif $ARGS[0] = '':
 		KILLVAR 'sparrvol'
 		KILLVAR 'sparrslc'
 		KILLVAR 'sparrcnt'
+		KILLVAR 'cumloc'
+		KILLVAR 'cum_loc'
+		KILLVAR 'cumvol'
+		KILLVAR 'cum_vol'
 	end
 
 	i = 0
 	:cumcleanloop
 	if i < arrsize('$sparrnam'):
 		tmp = arrpos('deresidue', sparrloc[i])
-		if tmp ! -1 and tmp < arrsize('deresidue'): sparrslc[i] = 0 & sparrvol[i] = 0
+		if tmp ! -1 and tmp < arrsize('deresidue'):
+			!! vagina
+			if sparrloc[i] = 0:
+				!! cannot be completely cleaned with tissues\toilet use\hypno block\no enema kit
+				if FUNC('Cum_Manage', 'check_innards', sparrloc[i]) = 1 _ 
+				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
+				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
+					cumsumbod -= sparrvol[i] & cumsumvag -= sparrvol[i]
+					sparrslc[i] = 0 & sparrvol[i] = 0
+					isprok = 0 & vibratorIN = 0
+				end
+			!! ass
+			elseif sparrloc[i] = 3:
+				if FUNC('Cum_Manage', 'check_innards', sparrloc[i]) = 1 or cumspclnt = 7 _ 
+				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
+				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
+					cumsumbod -= sparrvol[i] & cumsumass -= sparrvol[i]
+					sparrslc[i] = 0 & sparrvol[i] = 0
+					analplugin = 0 & analplugout = 0
+				end
+			else
+				cumsumbod -= sparrvol[i]
+				sparrslc[i] = 0 & sparrvol[i] = 0
+			end
+		end
 
 		tmp = arrpos('toclean', sparrloc[i])
 		if tmp ! -1 and tmp < arrsize('toclean'):
-			gs 'cum_cleanup', 'cleandeposit', i
-		else
-			i += 1
-			cumsumbod += sparrvol[i]
+			!! vagina
 			if sparrloc[i] = 0:
-				cumsumvag += sparrvol[i]
+				if cumsumvag*rand(6,9)/6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[i], 1) and isprok = 0 and vibratorIN = 0 _ 
+				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
+				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
+					gs 'cum_cleanup', 'cleandeposit', i
+					if cumspclnt = 3: isprok = 0 & vibratorIN = 0
+				end
+			!! ass
 			elseif sparrloc[i] = 3:
-				cumsumass += sparrvol[i]
+				if (cumsumass*rand(6,9)/6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[i], 1) and analplugin = 0) or cumspclnt = 7 _ 
+				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
+				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
+					gs 'cum_cleanup', 'cleandeposit', i
+					if cumspclnt = 3 or cumspclnt = 7: analplugin = 0
+				end
+			else
+				gs 'cum_cleanup', 'cleandeposit', i
 			end
+		else
+			i += 1
 		end
 		jump 'cumcleanloop'
 	end
-	spdirty = 0
-	cumloc[0] = 0
-	spdirtyn = 0
-	spdirtyv = 0
-	cumloc[12] = 0
-	cumloc[6] = 0
-	cumloc[7] = 0
-	killvar 'cumloc'
+	killvar 'toclean'
+	killvar 'deresidue'
+	killvar 'tmp'
+	killvar 'i'
+	if cumsumvag > 0: cum_vol['vagina'] = cumsumvag & cumvol[0] = cumsumvag & cum_loc['vagina'] = 1 & cumloc[0] = 1
+	if cumsumass > 0: cum_vol['anus'] = cumsumass   & cumvol[3] = cumsumass & cum_loc['anus'] = 1   & cumloc[3] = 1
+
 end
 
 --- cum_cleanup ---------------------------------

+ 9 - 1
locations/dateF.qsrc

@@ -16,8 +16,16 @@ if $ARGS[0] = 'start':
 	!! generate a girlfriend
 	menu_off = 1
 	$location_type = 'event_outdoors'
-	gs 'girl'
 	*clr & cla
+	!! generate a girl
+	if $region = 'pav':
+		gs 'npcgeneratec', 1, '', rand(18,45), 1
+	elseif $region = 'city':
+		gs 'npcgeneratec', 1, '', rand(18,45), rand(3,4)
+	end
+	gs 'boyStat', $npclastgenerated
+	gs 'girl', 'details'
+
 	act 'Ignore her and hurry away':gt $loc, $loc_arg
 	!!1) Sveta in a school uniform
 	if PCloStyle2 = 4:

+ 2 - 0
locations/dateM.qsrc

@@ -23,6 +23,8 @@ if $ARGS[0] = 'start':
 		gs 'npcgeneratec', 0, '', rand(18,45), rand(3,4)
 	end
 	gs 'boyStat', $npclastgenerated
+	gs 'boy', 'details'
+
 	act 'Ignore him and hurry away':gt $loc, $loc_arg
 !!1) Sveta in a school uniform
 	if PCloStyle2 = 4:

+ 4 - 0
locations/dimaRevenge.qsrc

@@ -9,6 +9,7 @@ menu_off = 1
 !! dimaDisco - Did you attend the disco?
 !! dimaTrain - Did you go to the train station?
 gs 'stat'
+if DimaRudeBlock = 0: DimaRudeBlock = 1
 
 if ARGS[0] = 1:
 	menu_off = 1
@@ -730,6 +731,9 @@ if dimaRevChoice = 3:
 			'"No wait! I''m sorry. I''ll stop everyone from talking. I swear. Jst don''t show that to anyone."'
 			'"That''s more like it. You have until the end of the day to get results, or else you know what will happen. Don''t you? I don''t want to see you in class until you get it done." He nods and heads into the hall. You breathe a sigh of relief. You were seriously scared there, but it was also exciting seeing him so scared himself. You think about following him around to make sure he keeps his word, but that would mean skipping class. You know he won''t cross you as long as you have dirt on him. You head to class.'
 			act 'Go to class':
+				!! needed to avoid school absences
+				gs 'gschool_lessons', 'morning' & school_period = 1
+
 				*clr & cla
 				'<center><b><font color="maroon">Classroom</font></b></center>'
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/engaged.jpg"></center>'

+ 51 - 49
locations/dinSex.qsrc

@@ -32,6 +32,8 @@ end
 $penis_desc = $dick_girth + ', ' + $penis_desc
 
 if $ARGS[0] = 'std_trigger':
+	if rand(pcs_health/10, pcs_health) > 600: exit
+
 	tipvenerarand = rand(0, 10)
 	if protect = 1:
 		if rand(0, 1000) = 1000: gs 'dinSex', 'disease_picker'
@@ -46,20 +48,20 @@ if $ARGS[0] = 'disease_picker':
 			!!candidiasis/thrush/yeast infection
 			if rand(1, 100) > 85 and KandidozOnce = 0:
 				KandidozOnce = 1
-				Kandidoz += 1
+				Kandidoz = rand(-12,-6)
 			end
 		elseif tipvenerarand < 7:
 			!!gonorrhea/triper
 			if rand(1, 100) > 95 and TriperOnce = 0:
 				TriperOnce = 1
-				Triper += 1
+				Triper = rand(-11,-6)
 				Venera += 1
 			end
 		elseif tipvenerarand = 7:
 			!!syphilis
 			if rand(1, 100) > 95 and SifacOnce = 0:
 				SifacOnce = 1
-				Sifilis += 1
+				Sifilis = rand(-9,-5)
 				Venera += 1
 			end
 		elseif tipvenerarand = 8:
@@ -67,7 +69,7 @@ if $ARGS[0] = 'disease_picker':
 			if rand(1, 100) > 90 and GerpesOnce = 0:
 				GerpesOnce = 1
 				Venera += 1
-				Gerpes += 1
+				Gerpes = rand(-10,-6)
 				GenHerpes = 1
 			end
 		end
@@ -75,6 +77,8 @@ if $ARGS[0] = 'disease_picker':
 end
 
 if $ARGS[0] = 'std_trigger_oral':
+	if rand(pcs_health/10, pcs_health) > 300: exit
+
 	tipvenerarand = rand(0, 10)
 	if protect = 1:
 		if rand(0, 1000) = 1000: gs 'dinSex', 'disease_picker_oral'
@@ -88,7 +92,7 @@ if $ARGS[0] = 'disease_picker_oral':
 		if tipvenerarand >= 5 and tipvenerarand < 7:
 			if rand(1, 100) > 95 and TriperOnce = 0:
 				TriperOnce = 1
-				TriperOral += 1
+				TriperOral = rand(-15,-9)
 				Venera += 1
 				if rand (0,100) < 15: TriperOralSigns = 1 
 			end
@@ -97,7 +101,7 @@ if $ARGS[0] = 'disease_picker_oral':
 				!!syphilis
 				if rand(1, 100) > 95 and SifacOnce = 0:
 					SifacOnce = 1
-					Sifilis += 1
+					Sifilis = rand(-13,-8)
 					Venera += 1
 				end
 			end
@@ -105,14 +109,14 @@ if $ARGS[0] = 'disease_picker_oral':
 			!!candidiasis/thrush/yeast infection
 			if rand(1, 100) > 85 and KandidozOnce = 0:
 				KandidozOnce = 1
-				Kandidoz += 1
+				Kandidoz = rand(-21,-14)
 			end
 		elseif tipvenerarand = 8:
 			!!herpes
 			if rand(1, 100) > 90 and GerpesOnce = 0:
 				GerpesOnce = 1
 				Venera += 1
-				Gerpes += 1
+				Gerpes = rand(-16,-11)
 				OrHerpes = 1
 			end
 		end
@@ -139,10 +143,11 @@ end
 !! this procedure calls 'arousal','vaginal', so the rest of the parameters for arousal should be passed as parameters: call like gs 'dinsex','vaginal_sex',10,'rough','sub'
 if $ARGS[0] = 'vaginal_sex':
 	frost = 0 &! the sex heats
+	gs 'arousal','vaginal',ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
 	vaginal_tightness = 5 + vgrdif + vltdif - pcs_horny / 10
 	arousal_modifier = 12 - vaginal_tightness
+	$temp_mens = iif(cycle <= 0,' and a bit of your period leaks from your vagina','')
 	if pcs_vag > 0:
-		$temp_mens = iif(cycle <= 0,' and a bit of your period leaks from your vagina','')
 		if vaginal_tightness >= 30: 
 			'You let out a groan when <<$boydesc>> penetrates you. You are too tight to take <<$xyr>> just yet, <<$xe>> is tearing you apart!'
 			'You gasp and scream while <<$xyr>> <<$penis_desc>> painfully stretches and tears your pussy<<$temp_mens>>.'
@@ -161,18 +166,15 @@ if $ARGS[0] = 'vaginal_sex':
 		elseif vaginal_tightness < -3: 
 			'You feel <<$boydesc>>''s <<$penis_desc>> sliding through your wet folds<<$temp_mens>>. You savor the intense pleasure from the <<$penis_desc>> inside you, your cunt aching to be filled even more.'
 		end
-		gs 'arousal','vaginal',$ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
 
 		pcs_horny += arousal_modifier
 		pcs_mood += arousal_modifier
 	
 	else
-		$temp_mens = iif(cycle <= 0,' and a bit of your period leaks from your vagina','')
 		pcs_horny += arousal_modifier * 2
 		pcs_mood += arousal_modifier * 2
 		'<<$boydesc>> pushes <<$xyr>> <<$penis_desc>> into your unexplored pussy gently. It is a bit painful, but as your lust builds up you do not want to wait anymore.'
 		'With the next push from <<$boydesc>>, you push your ass towards <<$xyr>> cock. You feel your hymen break and his cock slide into deep inside you, <<$xyr>> head rubbing against your no longer untouched walls as you both moan very loudly.'
-		gs 'arousal','vaginal',$ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
 	end
 	killvar '$temp_mens'
 end
@@ -280,29 +282,28 @@ if $ARGS[0] = 'boy_wants_anal':
 	$bwa_boy = iif($ARGS[1] = '',$boydesc,$ARGS[1])
 	if $bwa_boy = 'lubri': $bwa_boy = $boydesc
 	if analplugin = 1:
+		analplugin = 0 & analplugout = 1
 		if pcs_ass < 16:
-			'<<$bwa_boy>> pulls the plug out of your narrow and tight ass.'
-			analplugout = 1
+			*p '<<$bwa_boy>> pulls the plug out of your narrow and tight ass, '
 		else
-			'<<$bwa_boy>> pulls the plug out of your ass.'
-			analplugout = 1
+			*p '<<$bwa_boy>> pulls the plug out of your ass, '
 		end
 	end
 	if $ARGS[2] = 'lubri':
-		'<<$bwa_boy>> takes a tube of lubricant, squeezes a little on <<$xyr>> palm and rubs your anus.'
+		*p '<<iif(analplugout = 1,$xe,$bwa_boy)>> takes a tube of lubricant, squeezes a little on <<$xyr>> palm and rubs your anus. '
 		gs 'arousal', 'anal_finger', 1,'lube' 
 	else
 		if mc_inventory['lubricant'] = 0:
-			'You have no lube, <<$bwa_boy>> spits on his fingers and using saliva he massages your anus.'
+			*p 'You have no lube, <<iif(analplugout = 1,$xe,$bwa_boy)>> spits on his fingers and using saliva he massages your anus. '
 			gs 'arousal', 'anal_finger', 1,'lube' 
 		else
 			mc_inventory['lubricant'] -= 1
 			if rand(0,2) = 0: 
-				'You take a tube of lubricant and hand it to <<$bwa_boy>>, he squeezes a little on his palm and rubs your anus.'
+				*p 'You take a tube of lubricant and hand it to <<$bwa_boy>>, he squeezes a little on his palm and rubs your anus. '
 			elseif rand(0,1) = 0:
-				'You squeeze anal lube on your hand and begin to smear it in your ass. Then you give the guy a tube and <<$xe>> starts lucricating <<$xyr>> cock.'
+				*p 'You squeeze anal lube on your hand and begin to smear it in your ass. Then you give the guy a tube and <<$xe>> starts lucricating <<$xyr>> cock. '
 			else
-				'You squeeze anal lube on your hand and begin to smear it in your ass. Then you give it to <<$xem>> and <<$xe>> smears it on <<$xyr>> dick'
+				*p 'You squeeze anal lube on your hand and begin to smear it in your ass. Then you give it to <<$xem>> and <<$xe>> smears it on <<$xyr>> dick. '
 			end
 			gs 'arousal', 'anal_finger', 1,'lube' 
 		end
@@ -315,24 +316,23 @@ if $ARGS[0] = 'girl_wants_anal':
 	$bwa_girl = iif($ARGS[1] = '',$boydesc,$ARGS[1])
 	if $bwa_girl = 'lubri': $bwa_girl = $boydesc
 	if analplugin = 1:
+		analplugin = 0 & analplugout = 1
 		if pcs_ass < 16:
-			'<<$bwa_boy>> pulls the plug out of your narrow and tight ass.'
-			analplugout = 1
+			*p '<<$bwa_girl>> pulls the plug out of your narrow and tight ass, '
 		else
-			'<<$bwa_boy>> pulls the plug out of your ass.'
-			analplugout = 1
+			*p '<<$bwa_girl>> pulls the plug out of your ass, '
 		end
 	end
 	if $ARGS[2] = 'lubri':
 		mc_inventory['lubricant'] += 1
-		'<<$bwa_girl>> takes a tube of lubricant, squeezes a little on her palm and rubs your anus.'
+		*p '<<iif(analplugout = 1,$xe,$bwa_girl)>> takes a tube of lubricant, squeezes a little on her palm and rubs your anus. '
 		gs 'arousal', 'anal_finger', 1,'lube' 
 	else
 		if mc_inventory['lubricant'] = 0:
-			'You have no lube, <<$bwa_girl>> spits on her fingers and using saliva she massages your anus.'
+			*p 'You have no lube, <<iif(analplugout = 1,$xe,$bwa_girl)>> spits on her fingers and using saliva she massages your anus. '
 			gs 'arousal', 'anal_finger', 1,'lube' 
 		elseif mc_inventory['lubricant'] > 0:
-			'You take a tube of lubricant and hand it to <<$bwa_girl>>, she squeezes a little on her palm and rubs your anus.'
+			*p 'You take a tube of lubricant and hand it to <<$bwa_girl>>, she squeezes a little on her palm and rubs your anus. '
 			gs 'arousal', 'anal_finger', 1,'lube' 
 		end
 	end
@@ -342,19 +342,14 @@ end &! --- girl_wants_anal ---
 !! gs 'dinsex', 'after_anal','boy',$boydesc
 if $ARGS[0] = 'after_anal':
 	if analplugout = 1:
+		analplugin = 1
 		if $ARGS[1] = 'boy':
-			analplugin = 1
 			'<<$ARGS[2]>> takes your butt plug and he puts it back into your anus. He grins: "Continue your training"' 
-		end
-		if $ARGS[1] = 'girl':
-			analplugin = 1
+		elseif $ARGS[1] = 'girl':
 			'<<$ARGS[2]>> takes your butt plug and she puts it back into your anus. She grins: "Continue your training"' 
-		end
-		if $ARGS[1] = 'pc':
-			analplugin = 1
+		elseif $ARGS[1] = 'pc':
 			'You take your butt plug and put it back into your anus. You grin: "I have to keep my butt trained"' 
-		end
-		if $ARGS[1] = 'no_plug':
+		elseif $ARGS[1] = 'no_plug' or pain['asshole'] > 10:
 			analplugin = 0
 			'You take your butt plug and put it into your purse. Your anus has to rest for a while now.' 
 		end
@@ -366,24 +361,31 @@ end &! --- after_anal ---
 !! use gs 'dinSex','boy_wants_anal'[,'lubri'] together with gs 'dinsex','analsex'
 if $ARGS[0] = 'analsex':
 	frost = 0 &! the sex heats
-	'<<$boydesc>> fingers your anus, slowly pushing in before squeezing in a second one .'
-	if pcs_ass < 10:'When <<$xe>> tries inserting a third finger you groan in pain.'
-	if pcs_ass >= 10:'<<$boydesc>> inserts a third finger, very slowly thrusting and wiggling to stretch your anus.'
-	*p '<<$boydesc>> pulls <<$xyr>> fingers out of your ass and you feel <<$xyr>> <<$penis_desc>> pushing against your butthole'
-	gs 'arousal','anal',$ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
-	if (agrdif + altdif) >= 20:'You scream and bite your lip from the sharp pain when <<$xe>> penetrates your ass.'
-	if (agrdif + altdif) < 20:'You moan when <<$xe>> penetrates your ass.'
-	'<<$boydesc>> stops for a moment, giving your ass time to adjust to <<$xyr>> cock in it. Then he starts to slowly move, pumping your anus.'
+	*p '<<$boydesc>> fingers your anus, slowly pushing in before squeezing in a second one, '
+	*p iif(pcs_ass < 10,'when <<$xe>> tries inserting a third finger you groan in pain. ','<<$xe>> inserts a third finger, very slowly thrusting and wiggling to stretch your anus, ')
+	*p '<<$xe>> pulls <<$xyr>> fingers out of your ass and you feel <<$xyr>> <<$penis_desc>> pushing against your butthole. '
+	gs 'arousal','anal',ARGS[1],$ARGS[2],$ARGS[3],$ARGS[4],$ARGS[5],$ARGS[6],$ARGS[7],$ARGS[8]
+	*p iif(agrdif + altdif >= 20,'You scream and bite your lip from the sharp pain when <<$xe>> penetrates your ass, ','You moan when <<$xe>> penetrates your ass, ')
+	*p '<<$xe>> stops for a moment, giving your ass time to adjust to <<$xyr>> cock in it. Then he starts to slowly move, pumping your anus.'
 
-	if (agrdif + altdif) >= 30:
+	if agrdif + altdif >= rand(25,35):
 		if pcs_makeup > 1:pcs_makeup = 0
 		'You cry and bite your lip when the <<$penis_desc>> begins to thrust in and out of your ass. Your anus feels like it is going to tear apart and all you want is for this torture to be over quickly.'
-	elseif (agrdif + altdif) >= 20 and (agrdif + altdif) < 30:
+	elseif agrdif + altdif < rand(15,25):
 		pcs_horny += 10
 		'You savor <<$xyr>> cock moving inside you, lightly moaning in rhythm.'
 	end
-	'After some time <<$boydesc>> groans and you feel <<$xyr>> cock pulsing inside you and a pleasant warmth filling your ass.'
-	gs 'cum_call','anus',$boy,1
+	$tmp = iif(sexcontra = 7,'sabotaged ','')
+	*nl 'After some time <<$boydesc>> groans and you feel <<$xyr>> cock pulsing inside you '+iif(protect<>1,'and a pleasant warmth filling your ass. ','and you realized that <<$xe>> ejaculated in the <<$tmp>>condom. ')
+	gs 'cum_call','anus',$boy,1, sexcontra
+	if sexcontra = 4:'Pulling out of you and looking at <<$xyr>> dick, <<$boydesc>> said "Hmm, the condom burst."'
+	if analplugout > 0:
+		if pain['asshole'] > 10:
+			gs 'dinsex', 'after_anal','no_plug',$boydesc
+		else
+			gs 'dinsex', 'after_anal','boy',$boydesc
+		end
+	end
 end &! --- analsex ---
 
 !! this procedure calls 'cum_call','',$boy,1

+ 2 - 4
locations/dinSex2.qsrc

@@ -92,8 +92,7 @@ if $ARGS[0] = 'd_analsex_dildo':
 	frost = 0
 	if analplugin = 1:
 		'You pull the plug out of your narrow and tight ass.'
-		analplugin = 0
-		analplugout = 1
+		analplugin = 0 & analplugout = 1
 	end
 	if mc_inventory['lubricant'] = 0:
 		'You have no lube, so you spit on your fingers and use your saliva to lubricate your anus.'
@@ -155,8 +154,7 @@ if $ARGS[0] = 'd_analsex_bottle':
 
 	if analplugin = 1:
 		'You pull the plug out of your narrow and tight ass.'
-		analplugin = 0
-		analplugout = 1
+		analplugin = 0 & analplugout = 1
 	end
 	if mc_inventory['lubricant'] = 0:
 		'You have no lube, so you spit on your fingers and, using saliva, you massage your anus.'

+ 7 - 4
locations/din_bad.qsrc

@@ -88,8 +88,8 @@ $d_salf = {
 	'<td cellspacing="0" cellpadding="0" valign="top">'
 	if cumloc[13] > 0 or cumloc[11] > 0 or cumloc[16] > 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 12 & gs ''cum_cleanup'' & cumspclnt = 9 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Wipe your face and hands clean</b></a>'
 	if cumloc[14] > 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 14	& gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Wipe your belly clean</b></a>'
-	if cumloc[15] > 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 16 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Wipe your breasts clean</b></a>'
-	if cumloc[0] > 0 or cumloc[1] > 0 or cumloc[3] > 0 or cumloc[4] > 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 15 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Wipe your ass and pussy clean</b></a>'
+	if FUNC('Cum_Manage', 'check_private', 15) = 1 and cumloc[15] > 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 16 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Wipe your breasts clean</b></a>'
+	if FUNC('Cum_Manage', 'check_private') = 1 and (cumloc[1] + cumloc[4] > 0 or FUNC('Cum_Manage', 'check_innards', 0) = 1 or FUNC('Cum_Manage', 'check_innards', 3) = 1): '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 15 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Wipe your ass and pussy clean</b></a>'
 	if cumloc[10] > 0 or cumloc[9] > 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 17 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Wipe your arms and legs clean</b></a>'
 	if cumloc[2] > 0 or cumloc[5] > 0 or cumloc[6] > 0 or cumloc[7] > 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & cumspclnt = 6 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Clean your clothing</b></a>'
 	if pcs_makeup ! 1 and cosmetic_tattoo = 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & pcs_makeup = 1 & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Remove your makeup</b></a>'
@@ -193,7 +193,10 @@ if $ARGS[0] = 'd_bag':
 			'Automatically use for vaginal sex: <a href="exec:auto_vag_lube = 0 & gs ''stat'' & gs ''din_bad'', ''d_bag''">Yes</a>'
 		end
 	end
-	dynamic $toymanage
+	if FUNC('Cum_Manage', 'check_private') = 1:
+		dynamic $toymanage
+		if pirsA + pirsB + pirsC + pirsD + pirsE + pirsF + pirsN + pirsG > 0: act 'Manage your piercings': gt 'piercing_management', 'main'
+	end
 	*nl
 	if amphetamine > 0:	'You have <b><<amphetamine>></b> tablets of amphetamine left in your purse. <a href="exec: gs ''drugs'', ''amphetamine'' & gs ''din_bad'', ''d_bag''">Take One</a>'
 	if joint > 0: 'You have enough weed for <b><<joint>></b> joints.'
@@ -797,7 +800,7 @@ $d_cycreport_update = {
 		if cyccustom = 1:
 			if preg = 1 and knowpreg = 1:
 				$cycreport_txt = 'You are pregnant. Your due date is around <<$pregduedate>>.'
-				if $wombthfath ! 'unknown': 
+				if $wombthfath <> 'unknown' and $wombthfath <> '':
 					$cycreport_txt = '<<$cycreport_txt>> You suspect the father being <<$wombthfath>>.'
 				end
 			elseif knowpregloss = 1:

+ 94 - 32
locations/din_van.qsrc

@@ -536,7 +536,7 @@ $tampon =  {
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 	end
-	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0:
+	if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0 and stat['vaginal'] > 0:
 		act 'Use a tampon (0:02)':
 			menu_off = 1
 			*clr & cla
@@ -553,7 +553,7 @@ $tampon =  {
 }
 
 $quickwash = {
-	if spdirty > 0:
+	if cumsumbod-cumsumvag-cumsumass > 0:
 		act 'Quick wash (0:15)':
 			menu_off = 1
 			*clr & cla
@@ -574,6 +574,21 @@ $quickwash = {
 		end
 	end
 
+	if cumloc[0]+cumloc[3] > 0 and hypnoAddict = 0:
+		if FUNC('Cum_Manage', 'check_innards', 0) = 1 or FUNC('Cum_Manage', 'check_innards', 3) = 1:
+			act 'Let the cum drain from your (0:10)':
+				menu_off = 1
+				*clr & cla
+				cumspclnt = 15 & gs 'cum_cleanup'
+				minut += 10
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/pc/body/pee/wiping/no<<rand(3,4)>>.jpg"></center>'
+				'You spend minutes waiting between the sudden gushes of semen pouring out of your snatch.'
+
+				act 'Finish':menu_off = 0 & gt $loc, $loc_arg
+			end
+		end
+	end
 	gs 'din_van', 'pblc_pee'
 }
 
@@ -736,57 +751,57 @@ $basin = {
 		end
 	end
 
-	if cumloc[11] = 1 and cumloc[16] = 0:
-		act 'Wash the cum from your face (0:05)':
+	if cumloc[11] = 1 and cumloc[16] = 1:
+		act 'Wash the cum from your face and hair (0:10)':
 			menu_off = 1
 			*clr & cla
 			pcs_makeup = 1
 			cumspclnt = 9
 			gs 'cum_cleanup'
-			cumspclnt = 11
+			cumspclnt = 12
 			gs 'cum_cleanup'
+			pcs_hairbsh = 0
 			if pcs_sweat > 19 : pcs_sweat -= 5
-			minut += 5
+			minut += 10
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/pc/activities/facewash.jpg"></center>'
 			*nl
-			'You clean your face and get rid of any trace of cum.'
+			'You clean your face and hair and get rid of any trace of cum.'
 
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
-	elseif cumloc[11] = 0 and cumloc[16] = 1:
-		act 'Wash the cum out of your hair (0:10)':
+	elseif cumloc[11] = 1 and cumloc[16] = 0:
+		act 'Wash the cum from your face (0:05)':
 			menu_off = 1
-			cla
+			*clr & cla
+			pcs_makeup = 1
 			cumspclnt = 9
 			gs 'cum_cleanup'
-			cumspclnt = 5
+			cumspclnt = 11
 			gs 'cum_cleanup'
-			pcs_hairbsh = 0
 			if pcs_sweat > 19 : pcs_sweat -= 5
-			minut += 10
+			minut += 5
 			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/pc/activities/facewash.jpg"></center>'
 			*nl
-			'You clean your hair and get rid of any trace of cum.'
+			'You clean your face and get rid of any trace of cum.'
 
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
-	elseif cumloc[11] = 1 and cumloc[16] = 1:
-		act 'Wash the cum from your face and hair (0:10)':
+	elseif cumloc[11] = 0 and cumloc[16] = 1:
+		act 'Wash the cum out of your hair (0:10)':
 			menu_off = 1
-			*clr & cla
-			pcs_makeup = 1
+			cla
 			cumspclnt = 9
 			gs 'cum_cleanup'
-			cumspclnt = 12
+			cumspclnt = 5
 			gs 'cum_cleanup'
 			pcs_hairbsh = 0
 			if pcs_sweat > 19 : pcs_sweat -= 5
 			minut += 10
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/pc/activities/facewash.jpg"></center>'
 			*nl
-			'You clean your face and hair and get rid of any trace of cum.'
+			'You clean your hair and get rid of any trace of cum.'
 
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
@@ -809,6 +824,22 @@ $basin = {
 		end
 	end
 
+	if cumloc[0]+cumloc[3] > 0 and hypnoAddict = 0:
+		if FUNC('Cum_Manage', 'check_innards', 0) = 1 or FUNC('Cum_Manage', 'check_innards', 3) = 1:
+			act 'Let the cum drain from your (0:10)':
+				menu_off = 1
+				*clr & cla
+				cumspclnt = 15 & gs 'cum_cleanup'
+				minut += 10
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/pc/body/pee/wiping/no<<rand(3,4)>>.jpg"></center>'
+				'You spend minutes waiting between the sudden gushes of semen pouring out of your snatch.'
+
+				act 'Finish':menu_off = 0 & gt $loc, $loc_arg
+			end
+		end
+	end
+
 	if body_write > 0 or face_write > 0:
 		act 'Wash the writings off your body (0:10)':
 			menu_off = 1
@@ -912,6 +943,22 @@ $enema = {
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 	end
+	if cumloc[0]+cumloc[3] > 0 and hypnoAddict = 0:
+		if mc_inventory['enema_kit'] = 1:
+			act 'Wash up cum from your insides (0:05)':
+				menu_off = 1
+				*clr & cla
+				cumspclnt = 15 & gs 'cum_cleanup'
+				cumspclnt = 3 & gs 'cum_cleanup'
+				minut += 5
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/shared/home/bathroom/klisma.jpg"></center>'
+				'You give yourself a quick enema, feeling clean down there.'
+
+				act 'Finish':menu_off = 0 & gt $loc, $loc_arg
+			end
+		end
+	end
 }
 
 $toymanage = {
@@ -921,7 +968,7 @@ $toymanage = {
 			cla
 			*clr
 			minut += 5
-			analplugIN = 0
+			analplugIN = 0 & analplugout = 0
 
 			if pcs_ass < 30:pcs_ass += 1
 
@@ -937,7 +984,7 @@ $toymanage = {
 			cla
 			*clr
 			minut += 5
-			analplugIN = 1
+			analplugIN = 1 & analplugout = 0
 
 			if pcs_ass < 10:pcs_ass += 5
 			if pcs_ass >= 10 and pcs_ass < 20:pcs_ass += rand(1, 2)
@@ -1171,16 +1218,18 @@ if $ARGS[0] = 'private':
 	end
 
 	!For now, the pregnancy reactions use bimbolevel as a chack. Once the pregnancy fetish is added to the game, the check will likely change to that.
-	if knowpreg ! 1 and mc_inventory['pregnancy_test'] > 0 and (abortionbirthdate = 0 or daystart - abortionbirthdate > 100):
+	if knowpreg ! 1 and mc_inventory['pregnancy_test'] > 0 and (abortionbirthdate = 0 or daystart - abortionbirthdate > 100) and last_pee + 59 < totminut:
 		act 'Do a pregnancy test (0:05)':
 			cla & *clr
+			last_pee = totminut
 			'<center><img <<$set_imgh>> src="images/pc/items/accessories/birthcontrol/preg_test.jpg"></center>'
 			'You sit down on the toilet and slip the test between your legs, carefully letting loose a stream of urine from your pussy onto the tip. Following the instructions, you then re-cap it and lay it flat on the sink, spending the next five minutes nervously fidgeting, waiting out the suggested time...'
 			'When the time is up, you eagerly snatch it up and yank off the cap to see the results.'
 			minut += 5
 			mc_inventory['pregnancy_test'] -= 1
 			gs 'stat'
-			 if pregchem > 120 and bimbolevel < 3 and knowpreg = 0 and husband = 0 and pcs_pregtalk = 0:
+			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
+			if pregchem > 120 and bimbolevel < 3 and hypnoAddict = 0 and knowpreg = 0 and husband = 0 and pcs_pregtalk = 0:
 				cla
 				knowpreg = 1
 				thinkpreg = 1
@@ -1189,14 +1238,14 @@ if $ARGS[0] = 'private':
 				act 'Horrified':gt 'din_van', 'HorrifiedReact1'
 				act 'Concerned':gt 'din_van', 'ConcernedReact1'
 				act 'Excited':gt 'din_van', 'ExcitedReact1'
-			elseif pregchem > 120 and bimbolevel = 3 and knowpreg = 0 and husband = 0 and pcs_pregtalk = 0:
+			elseif pregchem > 120 and (bimbolevel = 3 or hypnoAddict = 1) and knowpreg = 0 and husband = 0 and pcs_pregtalk = 0:
 				cla
 				knowpreg = 1
 				thinkpreg = 1
 				*nl
 				'The test shows two strips. You are pregnant. As you look at the test in your hand, you are...'
 				act 'Excited':gt 'din_van', 'ExcitedReact1'
-				act 'Aroused':gt 'din_van', 'ArousedReact1'
+				if pcs_horny >= 50 or bimbolevel = 3: act 'Aroused':gt 'din_van', 'ArousedReact1'
 			elseif pregchem > 120 and knowpreg = 0 and husband = 1 and kid = 0 and pcs_pregtalk = 0:
 				knowpreg = 1
 				thinkpreg = 1
@@ -1224,7 +1273,6 @@ if $ARGS[0] = 'private':
 				act'Sigh in disappointment':gt'din_van','DisappointedReact'
 			end
 
-			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 	end
 
@@ -1502,10 +1550,13 @@ if $ARGS[0] = 'prvt_pee':
 
 	!!If PC is on her period and using tampon, then the following options should appear as well as the standard "Finish and wipe" act:
 	!!This may require an addition check to see if the PC has a purse since I think they need that to carry tampons with them.
-			if isprok = 1 and mc_inventory['tampons'] > 0:
+			if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0 and stat['vaginal'] > 0:
 				act 'Change tampon (0:02)':
 					*clr & cla
+					mc_inventory['tampons'] -=  1
+					isprok = 1
 					minut += 2
+					pcs_mood -= 5
 					'<center><img <<$set_imgh>> src="images/pc/body/pee/period/tampon/' + rand(1,12) + '.jpg"></center>'
 					'Reaching down and taking the string between your fingers, you slowly pull the used tampon from your vagina. You wrap it in toilet paper to be thrown in the trash bin. Opening your purse, you retrieve a fresh one, unpack it and carefully insert it into yourself.'
 
@@ -1514,10 +1565,13 @@ if $ARGS[0] = 'prvt_pee':
 			end
 	!!If PC is on her period and using pad, then the following options should appear as well as the standard "Finish and wipe" act:
 	!!This may require an addition check to see if the PC has a purse since I think they need that to carry pads with them.
-			if isprokp = 1 and mc_inventory['sanitary_pads'] > 0:
+			if isprokp = 1 and mc_inventory['sanitary_pads'] > 0 and $pantyworntype ! 'none':
 				act 'Change pad (0:02)':
 					*clr & cla
+					mc_inventory['sanitary_pads'] -=  1
+					isprokp = 1
 					minut += 2
+					pcs_mood -= 5
 					'<center><img <<$set_imgh>> src="images/pc/body/pee/period/pad/' + rand(1,6) + '.jpg"></center>'
 					'Checking your pad, you decide it''s time for a new one. You carefully peel it off of your panties before folding it into thirds and setting it aside to be thrown away. Digging in your bag, you pull out a fresh pad, unpackage it, peel off the adhesive strip, and place it into your underwear. Finally, you wrap the wings around the sides of the gusset to make sure it is nice and secure.'
 
@@ -1533,6 +1587,7 @@ end
 if $ARGS[0] = 'prvt_pee_end':
 	act 'Finish and wipe':
 		*clr & cla
+		cumspclnt = 15 & gs 'cum_cleanup'
 		if pcs_willpwr < 150: pcs_willpwr += 1
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/body/pee/wiping/' + rand(1,9) + '.jpg"></center>'
@@ -1623,10 +1678,13 @@ if $ARGS[0] = 'pblc_pee':
 				end
 			end
 
-			if mesec > 0 and (isprok = 1 or (isprok = 0 and isprokp = 0)) and mc_inventory['tampons'] > 0 and bag = 1:
+			if mc_inventory['tampons'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and (isprok = 1 or (isprok = 0 and isprokp = 0)) and knowpreg = 0 and stat['vaginal'] > 0:
 				act 'Change tampon (0:02)':
 					*clr & cla
+					mc_inventory['tampons'] -=  1
+					isprok = 1
 					minut += 2
+					pcs_mood -= 5
 					'<center><img <<$set_imgh>> src="images/pc/body/pee/period/tampon/' + rand(1,12) + '.jpg"></center>'
 					'Reaching down and taking the string between your fingers, you slowly pull the used tampon from your vagina. You wrap it in toilet paper to be thrown in the trash bin. Opening your purse, you retrieve a fresh one before unpackaging it and carefully inserting it into yourself.'
 
@@ -1634,10 +1692,13 @@ if $ARGS[0] = 'pblc_pee':
 				end
 			end
 
-			if mesec > 0 and (isprokp = 1 or (isprok = 0 and isprokp = 0)) and mc_inventory['sanitary_pads'] > 0 and bag = 1:
+			if mesec > 0 and (isprokp = 1 or (isprok = 0 and isprokp = 0)) and mc_inventory['sanitary_pads'] > 0 and bag = 1 and $pantyworntype ! 'none':
 				act 'Change pad (0:02)':
 					*clr & cla
+					mc_inventory['sanitary_pads'] -=  1
+					isprokp = 1
 					minut += 2
+					pcs_mood -= 5
 					'<center><img <<$set_imgh>> src="images/pc/body/pee/period/pad/' + rand(1,6) + '.jpg"></center>'
 					'Checking your pad, you decide it''s time for a new one. You carefully peel it off of your panties before folding it into thirds and setting it aside to be thrown away. Digging in your bag, you pull out a fresh pad, unpackage it, peel off the adhesive strip, and place it into your underwear. Finally, you wrap the wings around the sides of the gusset to make sure it is nice and secure.'
 
@@ -1654,6 +1715,7 @@ end
 if $ARGS[0] = 'pblc_pee_end':
 	act 'Finish and wipe':
 		*clr & cla
+		cumspclnt = 15 & gs 'cum_cleanup'
 		if pcs_willpwr < 150: pcs_willpwr += 1
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/body/pee/wiping/' + rand(1,9) + '.jpg"></center>'

+ 1 - 1
locations/emp_functions.qsrc

@@ -389,7 +389,7 @@ if $ARGS[0] = 'cat_evt':
 	evt_wages[] = transient_evt_wages
 	!! Journal location as reminder
 	$evt_journal[] = $transient_journal
-	!! The following are event location triggers to allow the content to appear in areas such as community centre but host their content elsewhere such as Photography shop
+	!! The following are event location triggers to allow the content to appear in areas such as community center but host their content elsewhere such as Photography shop
 	!! 	Event area triggers such as city_residential
 	$evt_loc[] = $transient_loc
 	$evt_loc_arg[] = $transient_arg 

+ 2 - 2
locations/ender.qsrc

@@ -19,7 +19,7 @@ if $ARGS[0] = 'loss':
 
 		'You fall to the floor and feel your consciousness slipping away.'
 
-		if $start_type = 'uni_tg':
+		if $start_type['loc'] = 'uni' and $start_type['magic'] = 'tg':
 			act 'Further': gt 'intro_uni_tg', 'tatianaPRE'
 		else
 			act 'Further': gt 'intro_city_tg', 'tatianaPRE'
@@ -681,7 +681,7 @@ if $ARGS[0] = 'surrender':
 		'He ignores your pleas and hits you with a huge upper cut.'
 		'You fall to the floor and feel your consciousness slipping away.'
 
-		if $start_type = 'uni_tg':
+		if $start_type['loc'] = 'uni' and $start_type['magic'] = 'tg':
 			act 'Further': gt 'intro_uni_tg', 'tatianaPRE'
 		else
 			act 'Further': gt 'intro_city_tg', 'tatianaPRE'

+ 1 - 1
locations/etoexhib.qsrc

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

+ 57 - 40
locations/exercise.qsrc

@@ -41,7 +41,7 @@ if $ARGS[0] = 'workout':
 			gt $loc, $loc_arg
 		end
 	end
-	if pcs_energy < 20 or pcs_stam < stammax / 5:
+	if pcs_stam < stammax / 5:
 		'You do not have the energy/stamina to exercise currently'
 	elseif $clothingworntype = 'nude' or $clothingworntype = 'danilovich_outfits':
 		act 'Manual routines': gt 'exercise', 'manual'
@@ -144,56 +144,73 @@ if $ARGS[0] = 'manual':
 	menu_off = 0
 	cla
 	act 'Return':gt 'exercise', 'workout'
-	if pcs_energy < 20 and pcs_stam < stammax / 5:
+	if pcs_stam < 5 * (10 - sport_clothes_exercise_bonus):
 		'You don''t have the energy/stamina to work out anymore now.'
 	else
-		act 'Do pushups for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
-		act 'Do crunches for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
-		act 'Do squats for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
-		if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow':
-			act 'Jump rope for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
-		end
-		if mc_inventory['book_yoga'] > 0:
-			act 'Do yoga for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
-		end
-		if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow':
-			act 'Use your hula hoop for 15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
-		end
-		act 'Do pushups for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'push'
-		act 'Do crunches for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'press'
-		act 'Do squats for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
-		if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow':
-			act 'Jump rope for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'rope'
+		act 'Do pushups':
+			cla
+			act 'Return':gt 'exercise', 'manual'
+			if pcs_stam >= (15*1 * (10 - sport_clothes_exercise_bonus)) / 2: act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
+			if pcs_stam >= (15*2 * (10 - sport_clothes_exercise_bonus)) / 2: act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
+			if pcs_stam >= (15*3 * (10 - sport_clothes_exercise_bonus)) / 2: act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
+			if pcs_stam >= (15*4 * (10 - sport_clothes_exercise_bonus)) / 2: act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'push'
 		end
-		if mc_inventory['book_yoga'] > 0:
-			act 'Do yoga for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'yoga'
+
+		act 'Do crunches':
+			cla
+			act 'Return':gt 'exercise', 'manual'
+			if pcs_stam >= (15*1 * (10 - sport_clothes_exercise_bonus)) / 2: act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
+			if pcs_stam >= (15*2 * (10 - sport_clothes_exercise_bonus)) / 2: act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
+			if pcs_stam >= (15*3 * (10 - sport_clothes_exercise_bonus)) / 2: act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
+			if pcs_stam >= (15*4 * (10 - sport_clothes_exercise_bonus)) / 2: act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'press'
 		end
-		if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow':
-			act 'Use your hula hoop for 30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'hula'
+
+		act 'Do squats':
+			cla
+			act 'Return':gt 'exercise', 'manual'
+			if pcs_stam >= 5*1 * (10 - sport_clothes_exercise_bonus): act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
+			if pcs_stam >= 5*2 * (10 - sport_clothes_exercise_bonus): act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
+			if pcs_stam >= 5*3 * (10 - sport_clothes_exercise_bonus): act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
+			if pcs_stam >= 5*4 * (10 - sport_clothes_exercise_bonus): act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
 		end
-		act 'Do pushups for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'push'
-		act 'Do crunches for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'press'
-		act 'Do squats for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
+
 		if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow':
-			act 'Jump rope for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'rope'
+			act 'Jump rope':
+				cla
+				act 'Return':gt 'exercise', 'manual'
+				if pcs_stam >= (15*1 * (10 - sport_clothes_exercise_bonus)) / 2: act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'rope'
+				if pcs_stam >= (15*2 * (10 - sport_clothes_exercise_bonus)) / 2: act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'rope'
+				if pcs_stam >= (15*3 * (10 - sport_clothes_exercise_bonus)) / 2: act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'rope'
+				if pcs_stam >= (15*4 * (10 - sport_clothes_exercise_bonus)) / 2: act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'rope'
+			end
 		end
+
 		if mc_inventory['book_yoga'] > 0:
-			act 'Do yoga for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'yoga'
+			act 'Do yoga':
+				cla
+				act 'Return':gt 'exercise', 'manual'
+				if pcs_stam >= 5*1 * (10 - sport_clothes_exercise_bonus): act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'yoga'
+				if pcs_stam >= 5*2 * (10 - sport_clothes_exercise_bonus): act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'yoga'
+				if pcs_stam >= 5*3 * (10 - sport_clothes_exercise_bonus): act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'yoga'
+				if pcs_stam >= 5*4 * (10 - sport_clothes_exercise_bonus): act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'yoga'
+			end
 		end
+
 		if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow':
-			act 'Use your hula hoop for 45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'hula'
-		end
-		act 'Do pushups for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'push'
-		act 'Do crunches for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'press'
-		act 'Do squats for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
-		if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow':
-			act 'Jump rope for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'rope'
-		end
-		if mc_inventory['book_yoga'] > 0:
-			act 'Do yoga for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'yoga'
+			act 'Use your hula hoop':
+				cla
+				act 'Return':gt 'exercise', 'manual'
+				if pcs_stam >= 5*1 * (10 - sport_clothes_exercise_bonus): act '15 minutes': timemult = 1 & gs 'exercise', 'timestring' & gt 'exercise', 'hula'
+				if pcs_stam >= 5*2 * (10 - sport_clothes_exercise_bonus): act '30 minutes': timemult = 2 & gs 'exercise', 'timestring' & gt  'exercise', 'hula'
+				if pcs_stam >= 5*3 * (10 - sport_clothes_exercise_bonus): act '45 minutes': timemult = 3 & gs 'exercise', 'timestring' & gt  'exercise', 'hula'
+				if pcs_stam >= 5*4 * (10 - sport_clothes_exercise_bonus): act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'hula'
+			end
 		end
-		if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow':
-			act 'Use your hula hoop for 60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt  'exercise', 'hula'
+
+		if pcs_stam < (15*1 * (10 - sport_clothes_exercise_bonus)) / 2:
+			delact 'Jump rope'
+			delact 'Do crunches'
+			delact 'Do pushups'
 		end
 	end
 end

+ 47 - 1
locations/exhibitionistshop.qsrc

@@ -23,7 +23,11 @@ if $ARGS[0] = 'start':
 	end
 	
 	if exhibitionQW = 5 and exhibitionQW['daystart'] ! daystart:
-		act 'Talk to Ksenya': gt 'exhibitionistshop', 'ksenya_chat'
+		if ksenyaQW = 2:
+			act 'ask to see Ksenya':gt 'exhibitionistshop', 'ksenya_shop' 
+		else
+			act 'Talk to Ksenya': gt 'exhibitionistshop', 'ksenya_chat'
+		end
 	end
 
 	act 'Leave':
@@ -114,6 +118,46 @@ if $ARGS[0] = 'ksenya_chat':
 	act 'Continue': gt 'exhibitionistshop', 'start'
 end
 
+if $ARGS[0] = 'ksenya_shop':
+    *clr & cla
+	KsenyaQW = 3
+    '<center><img <<$set_imgh>> src="images/character/pushkin/ksenya/shop1.jpg"></center>'
+    'You are taken to Ksenya''s office and it is open a crack and you look inside. You see her sitting on a chair looking back at you.'
+    '"Hey <<$pcs_nickname>>, Come in, Come in. What do I owe the pleasure?" she asks and closes the door to her office behind you after which she hugs you gently.' 
+    act 'continue':
+        *clr & cla
+        '<center><img <<$set_imgh>> src="images/character/pushkin/ksenya/shop2.jpg"></center>'
+        '"I wanna ask about what happened at the lake. Was that... for me?" you ask blushing.'
+        '"Which part?" she asks sitting on the edge of that same chair. She doesn''t seem that bothered by being seen in her underwear.'
+        '"The... flashing part when you saw me" you say without making eye contact.'
+        '"Maybe" she teases.'
+        act 'continue':
+            *clr & cla
+            '<center><img <<$set_imgh>> src="images/character/pushkin/ksenya/shop3.jpg"></center>'
+            '"Did you like what you saw?" she asks.'
+            'You look at her as she teases removing her bra. "I did, I think you are very beautiful." you tell her.'
+            '"Would you like to be my girlfriend?" she asks bluntly.'
+            'This shocks you a bit. "What?" you ask'
+            '"You are the closest thing I have to a friend, and I want you to be my girlfriend" she repeats.'
+            act 'Sure':
+                *clr & cla
+                '<center><video autoplay loop src="images/character/pushkin/ksenya/shop5.mp4"></video></center>'
+                'She walks over to you and gives you a gentle hug. She moves a hand to your hair and moves it behind your ear before leaning in and kissing you. The kiss lingers for a bit before she pulls back. Before anything can be done further, a knock is heard on her office door and a voice says. "Miss?! You''re needed in the store."'
+                '"Be right there" she says and turns back to you. "I''ll see you later" she says and her hand slowly rubs your cheek as she walks away from you, leaving you alone in her office. After you collect your bearings, you leave and see her arguing with a customer as you exit the store.'
+                act 'Leave the store': gt 'pushkin_sq'
+            end
+            act 'No thanks':
+                *clr & cla
+                '<center><img <<$set_imgh>> src="images/character/pushkin/ksenya/shop4.jpg"></center>'
+                '"I''m sorry Ksenya, this is moving too fast. I don''t think I''m ready for that right now" you tell her.'
+                'She looks upset at your answer as she leans on the chair. "That''s ok, I''ll be here when you are ready." she says and goes to her desk like nothing ever happened.'
+                'You walk out of her office feeling you are no longer welcome there today.'
+                act 'Leave the store': gt 'pushkin_sq'
+            end
+        end
+    end
+end
+
 if $ARGS[0] = 'outfits':
 	$loc_arg = 'outfits'
 	$loc = 'exhibitionistshop'
@@ -123,6 +167,7 @@ if $ARGS[0] = 'outfits':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'salacious_outfits'
 
 	act 'Return':
 		cla
@@ -168,6 +213,7 @@ if $ARGS[0] = 'dresses':
 	*nl
 
 	gs 'clothing_QV', 'shop_filter_header'
+	gs 'clothing', 'totals', 'salacious_dress'
 
 	act 'Return':
 		cla

+ 2 - 2
locations/fbDormD.qsrc

@@ -251,8 +251,8 @@ $d_fbd_drunk = {
 
 		act 'Drink some more':
 			dormrape = 0
-			kol_man = rand(5,16)
-			$kol_man_text = 'guys'
+			placerParameter['number_of_man'] = rand(5,16)
+			$placerStringParameter['text_someone'] = 'guys'
 			gs 'drugs', 'alcohol', 'vodka', 4
 			gt 'placer_sex', 'meet'
 		end

+ 7 - 3
locations/fit.qsrc

@@ -146,10 +146,14 @@ if $ARGS[0] = 'dressing_room':
 
 	gs 'wardrobe', 'default_sport_options'
 
-	if PCloswimwear = 1:
-		act 'Use the pool': gt 'bass', 'start'
+	if (pcs_makeup = 1 or cosmetic_tattoo > 0) and PCloswimwear = 1:
+		act 'Use the pool': gs 'shoes', 'strip' & gt 'bass', 'start'
 	else
-		act 'Change into swimwear': gt 'changingroom', 'view_swim_list'
+		if PCloswimwear = 0:
+			act 'Change into swimwear': gt 'changingroom', 'view_swim_list'
+			*pl 'You need to put some swimwear on first if you want to go in the pool.'
+		end
+		if pcs_makeup <> 1 and cosmetic_tattoo = 0: *pl 'You need to wash your make-up off first if you want to go in the pool.'
 	end
 
 	if abonement > 0:

+ 1 - 1
locations/food.qsrc

@@ -179,7 +179,6 @@ if $ARGS[0] = 'bliny':
 		'You buy some bliny. The portions are fairly small.'
 		gs 'uni_cafe', 'sitting_choice'
 	else
-		'<center><img <<$set_imgh>> src="images/shared/food/blini.jpg"></center>'
 		'You eat some bliny. The portions are fairly small and<<$mtxt>>'
 		gs 'stat'
 		if food_loc = 1:
@@ -934,6 +933,7 @@ if $ARGS[0] = 'watercooler':
 	cumspclnt = 2
 	gs 'cum_cleanup'
 	gs 'stat'
+	dynamic $fill_bottle
 
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/bathroom/waterfountain.jpg"></center>'
 	'You drink some water and feel refreshed.'

+ 1 - 0
locations/food_menu.qsrc

@@ -16,6 +16,7 @@ menu_off = 1
 if $ARGS[0] ! 'mod':
 	*clr & cla
 	food_loc = 1
+	$food_loc = $loc
 	killvar '$_drink'
 	killvar '$_eat'
 end

+ 65 - 65
locations/foto.qsrc

@@ -22,6 +22,7 @@ if $ARGS[0] = 'start':
 	special_model['roll'] = rand(30,1400)
 	special_skill_model['roll'] = rand(1,500)
 	foto['documentary'] = rand(1,100)
+	act'Leave':gt'city_center'
 	act'Strip down':
 		cla & *clr
 		menu_off = 1
@@ -177,13 +178,6 @@ if $ARGS[0] = 'studio':
 	*clr & cla
 	killvar '$modelopt'
 
-	if model['spcial_job_day'] ! daystart:
-		model['spcial_job_day'] = daystart
-		if special_model['roll'] < min(fame['city_modelling'], 700) and modelfoto['topless'] > 0 and hour < 15: gt 'foto_events', 'fame'
-		if special_skill_model['roll'] < pcs_mdlng and modelfoto['nip'] > 0: gt 'foto_events', 'skill'
-		if foto['documentary'] >= 95 and $pantyworntype = 'none' and modelfoto['shoots']>= foto['documentary_timer']: gt 'foto_model_documentary', '1st_documentary'
-	end
-
 	minut += 5
 	gs 'stat'
 	gs 'themes', 'indoors'
@@ -232,8 +226,70 @@ if $ARGS[0] = 'studio':
 		gs 'foto', 'wandering_models'
 	end
 
+	if model['status'] = 1: act 'Go to the showers':gt'foto','showers'
+	if model['status'] = 1: act 'Go to your makeup station':gt'foto','makeup'
+	if model['status'] = 1: act 'Talk to a manager':gt'foto','manager_talk'
+	gs 'foto','microcamera_ask'
+	if parkblackmail = 2: act 'Look around for the blackmailer':gt 'foto', 'blackm'
+
+	if model['status'] = 0:
+		gs 'foto', 'hiring_ask'
+	elseif model['status'] = 1:
+		act 'Look for work':
+			delact 'Look for work'
+			*clr
+			menu_off = 1
+			'<center><b><font color="maroon">Floor Manager</font></b></center>'
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
+
+			$tmp = iif(rand(2)=1,iif(rand(2)=1,$model['firstname']+' '+$model['lastname'],$model['firstname']),$model['nickname'])
+			if venera > 2:
+				'<<$tmp>>! There is no way anyone is going to want to see pictures of you while your STD is so obvious, you should see a doctor.'
+			elseif func('body_din','pregnancyVisibility') = 1:
+				'"<<$tmp>>! Who knocked you up!? Didn''t we pay you enough to use contraception? Sorry, but we don''t specialize in this type of shots."'
+			elseif pcs_apprnc < 80:
+				'"I''m sorry but you are going to have to work on your appearance if you want to do a shoot."'
+			elseif cumsumbod-cumsumvag-cumsumass > rand(0,5):
+				'"Ugh, <<$tmp>>, what the hell is that?" he looks at you and the cum on you with disgust. "We don''t care what your sexual habits are outside of work, but we''re not shooting Japanese porn here. At least take a shower after getting laid."'
+			elseif pcs_leghair > 3:
+				'"Go shave your legs, we''re not running a nature special on gorillas."'
+			elseif mesec > 0 and isprok = 0:
+				'"What the hell <<$tmp>>!"'
+				'You follow his gaze to see the blood running down your legs.'
+				'"Go wash that off and put a tampon in already! There''s a dispenser in the shower room."'
+			elseif pcs_sweat >= 20:
+				'"You''re all sweaty. Go take a shower before asking for work. And don''t forget to do your makeup after."'
+			elseif pcs_makeup = 0:
+				'"Your makeup is smeared all over your face <<$tmp>>. Go clean up and see the makeup artists first."'
+			elseif pcs_makeup = 1:
+				'"<<$tmp>>, you forget to do your makeup. Hurry up! We don''t have all day."'
+			else
+				cla
+				if model['spcial_job_day'] ! daystart:
+					model['spcial_job_day'] = daystart
+					if special_model['roll'] < min(fame['city_modelling'], 700) and modelfoto['topless'] > 0 and hour < 15: gt 'foto_events', 'fame'
+					if special_skill_model['roll'] < pcs_mdlng and modelfoto['nip'] > 0: gt 'foto_events', 'skill'
+					if foto['documentary'] >= 95 and $pantyworntype = 'none' and modelfoto['shoots']>= foto['documentary_timer']: gt 'foto_model_documentary', '1st_documentary'
+				end
+
+				'"Hello <<$tmp>>. Are you here to work?"'
+				act 'Perform the shoots':
+					if model_job_week >= 2:
+						gt 'foto_practice','start'
+					else
+						gt 'foto_shoot','model'
+					end
+				end
+				if first_fame_event = 2: act 'Ask if there''s special work available': gt'foto_events','special'
+				!!act'Check auditions':gt'foto_events2','auditions'
+				act 'Never mind': gt'foto','studio'
+			end
+			killvar '$tmp'
+		end
+	end
+	
 	if model['status'] = 1:
-		act 'Leave':
+		act 'Leave studio':
 			*clr & cla
 			menu_off = 1
 			if studio_underwear_steal > 0:
@@ -252,64 +308,8 @@ if $ARGS[0] = 'studio':
 			end
 		end
 	elseif model['status'] = 0:
-		act 'Leave': minut += 1 & gt 'city_center'
-	end
-	
-	if model['status'] = 0:
-		gs 'foto', 'hiring_ask'
-	elseif venera < 3:
-		act 'Ask for work':
-			menu_off = 1
-			if pcs_apprnc < 80:
-				*clr & cla
-				menu_off = 1
-				'<center><b><font color="maroon">Floor Manager</font></b></center>'
-				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
-				'"I''m sorry but you are going to have to work on your appearance if you want to do a shoot."'
-				act 'Leave':gt'foto','studio'
-			elseif pcs_sweat >= 20:
-				'"You''re all sweaty. Go take a shower before asking for work. And don''t forget to do your makeup after."'
-				act'Go to the showers':gt'foto','showers'
-			!! elseif $stat_cum_msg ! '':
-			elseif cum_loc['labia'] + cum_loc['butt'] + cum_loc['back'] + cum_loc['legs'] + cum_loc['arms'] + cum_loc['hands'] + cum_loc['stomach'] + cum_loc['tits'] + cum_loc['face'] + cum_loc['hair'] + cum_loc['vagina'] + cum_loc['anus'] > 0:
-				'"Ugh, <<$pcs_lastname>>, what the hell is that?" he looks at you and the cum on you with disgust. "We don''t care what your sexual habits are outside of work, but we''re not shooting Japanese porn here. At least take a shower after getting laid."'
-				act'Go to the showers':gt'foto','showers'
-			elseif pcs_leghair > 3:
-				'"Go shave your legs, we''re not running a nature special on gorillas."'
-				act'Go to the showers':gt'foto','showers'
-			elseif mesec > 0 and isprok = 0:
-				'"What the hell <<$pcs_lastname>>!"'
-				'You follow his gaze to see the blood running down your legs.'
-				'"Go wash that off and put a tampon in already! There''s a dispenser in the shower room."'
-				act'Go to the showers':gt'foto','showers'
-			elseif pcs_makeup = 0:
-				'"Your makeup is smeared all over your face <<$pcs_lastname>>. Go clean up and see the makeup artists first."'
-				act'Go to the showers':gt'foto','showers'
-			else
-				if model_job_week >= 2:
-					gt 'foto_practice','start'
-				else
-					gt 'foto_shoot','model'
-				end
-			end
-		end
-		if first_fame_event = 2:
-			act'Ask if there''s special work available':gt'foto_events','special'
-		end
-		!!act'Check auditions':gt'foto_events2','auditions'
-	else
-		*nl
-		'There is no way anyone is going to want to see pictures of you while your STD is so obvious, you should see a doctor.'
+		act 'Leave studio': minut += 1 & gt 'city_center'
 	end
-	if model['status'] = 1:act 'Go to the showers':gt'foto','showers'
-	if model['status'] = 1:act 'Go to your makeup station':gt'foto','makeup'
-	
-	if model['status'] = 1:act'Talk to a manager':gt'foto','manager_talk'
-	
-	
-	gs 'foto','microcamera_ask'
-	
-	if parkblackmail = 2: act 'Look around for the blackmailer':gt 'foto', 'blackm'
 end
 
 if $ARGS[0] = 'bathroom':

+ 10 - 10
locations/foto_events.qsrc

@@ -991,7 +991,7 @@ if $ARGS[0] = 'special':
 	cla & *clr
 	'<center><b><font color="maroon">Photographer</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
-	'"Hey!" you call out to one of the studio managers. "Looking for some more work, any special jobs still available today?"'
+	'"I''m looking for some more work, any special jobs still available today?"'
 	act'Return to the main floor':gt'foto','studio'
 	if specialjob1 > 95 or specialjob2 > 95 or specialjob3 > 95 or specialjob4 > 95 or specialjob5 > 95 or specialjob6 > 95 or (specialjob7 > 95 and city_kickboxing >=30 and pcs_inhib >= 45) or (specialjob8 > 95 and city_running >=30 and pcs_inhib >= 50 and month >= 3 and month <=8):
 		'"Sure, we have a few today. Come take a look at the list, tell me if you''re interested in doing something."'
@@ -1489,7 +1489,7 @@ end
 if $ARGS[0] = 'topless1':
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -1632,7 +1632,7 @@ end
 if $ARGS[0] = 'pool1':
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -1739,7 +1739,7 @@ end
 if $ARGS[0] = 'tennis':
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -1844,7 +1844,7 @@ if $ARGS[0] = 'topless2':
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -1919,7 +1919,7 @@ if $ARGS[0] = 'beach2':
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -2003,7 +2003,7 @@ if $ARGS[0] = 'pool2':
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -2071,7 +2071,7 @@ end
 if $ARGS[0] = 'runway1':
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -2088,7 +2088,7 @@ if $ARGS[0] = 'runway2':
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
@@ -2220,7 +2220,7 @@ if $ARGS[0] = 'wet1':
 	*clr & cla
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'"<<$model[''firstname'']>>!"'
-	'As you walk out of the changing room you hear someone call your name.'
+	'As you walk out of the room you hear someone call your name.'
 	act'Turn around':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'

+ 2 - 2
locations/foto_model_documentary.qsrc

@@ -11,8 +11,8 @@ if $ARGS[0] = '1st_documentary':
 !!	if foto['1st_documentary'] = 1:gt'foto_model_documentary2','2nd_documentary'
 	cla & *clr
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
-	'You step out of the locker room and almost run head first into one of the managers.'
-	'"Woah!" you say, jumping back. "What are you doing going into the girls locker room?"'
+	'You step out of the room and almost run head first into one of the managers.'
+	'"Woah!" you say, jumping back. "What are you doing?"'
 	'"Oh <<$model[''firstname'']>>, glad I caught you before you wandered off somewhere else in the studio. I was just going to see if anyone else showed up today. We''re looking for volunteers to participate in some interviews for a documentary."'
 	'"Documentary?" you ask. "What about?"'
 	'"There''s some people here today who are making a film about models, their lives, and about working here. They want to capture girls working here in their usual working environment so you wouldn''t dressing up or anything, just interviewed as in the studio approved dress code."'

+ 1 - 1
locations/foto_practice.qsrc

@@ -11,7 +11,7 @@ if $ARGS[0] = 'start':
 	'<center><b><font color="maroon">Photographer</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
 	if model_job_week >= 2:
-		'"Hello <<$pcs_firstname>>. We''ve already done a paid shoot with you this week, so we can''t do another one. But would you like to get some practice in?"'
+		'"We''ve already done a paid shoot with you this week, so we can''t do another one. But would you like to get some practice in?"'
 	else
 		'"Oh, you want to practice today?"'
 	end

+ 2 - 1
locations/foto_shoot.qsrc

@@ -18,7 +18,7 @@ if $ARGS[0] = 'model':
 	gs 'stat'
 	'<center><b><font color="maroon">Manager</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
-	'"Hello <<$model[''firstname'']>>. Are you here to work? What kind of shoot would you like to do today?"'
+	'"What kind of shoot would you like to do today?"'
 	*nl
 !!	'<a href="exec:gs ''shortgs'',''msg'',''There are three types of shoots: Catalog, Fashion, and Glamour. A catalog shoot is any shoot that is meant to appear in a shopping magazine or online catalog. They don''t do much for your fame but the base pay is steady. A fashion shoot is more stylized and though the base pay is not as high, there will be a bonus tip based on your modelling skill and fame. A glamour shoot will always involve nudity or risqué clothing and will typically be erotic in nature. This type of modelling will have good pay with good bonuses based on skill and fame, but also will spread your fame beyond the city far more quickly. If you grew up in a small town outside St. Petersburg, the pictures may reach its populace sooner rather than later.''">Modelling Shoot Guide</a>'
 	'<center><b><font color="blue">Modelling guide</font></b></center>'
@@ -45,6 +45,7 @@ if $ARGS[0] = 'model':
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/fotograph.jpg"></center>'
 		'"Alright, what kind of shoot? Clothing or swimsuits?"'
 		
+		act 'Look at something else':gt 'foto_shoot','model'
 		act'Clothing':
 			$modelfoto['shoot_type'] = 'catalog'
 			modelfoto['catalog'] += 1

+ 2 - 3
locations/gadhouse.qsrc

@@ -309,7 +309,7 @@ if $ARGS[0] = 'main':
 	'<center><H4>Your Grandparents'' Cottage</H4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/izba.jpg"></center>'
 	*nl
-	'A fairly simple cottage in the village of Gadukino which your grandparents call home. In the main room there is a huge <a href="exec:gt ''wardrobe'', ''start''">wardrobe</a> (where you can choose outfits and organize your clothing), and a <a href="exec:gad = 1 & gt ''bed'', ''start''">bed</a> where you can rest. The bed is more comfortable than it looks.'
+	'A fairly simple cottage in the village of Gadukino which your grandparents call home. In the main room there is a huge <a href="exec:gt ''wardrobe'', ''start''">wardrobe</a> (where you can choose outfits and organize your clothing).'
 	'There is an old <a href="exec:gt ''TV'',''gad''">television</a> in the living room. It''s positioned next to a body length <a href="exec:gt ''mirror'', ''start''">mirror</a>.'
 	'You can check your weight on your grandma''s old mechanical <a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bodyVars[''bmi_desc'']>></center>''">scales</a>.'
 
@@ -404,7 +404,7 @@ if $ARGS[0] = 'main':
 			act 'Continue': gt 'gaddvor'
 		end
 	end
-
+	act 'Go to your room':  gt 'gadsarai', 'barn_room'
 	if grandmaQW['chore_clean_floor'] = 1:
 		act 'Clean the floor for Grandma (1:00)':
 			*clr & cla
@@ -504,7 +504,6 @@ if $ARGS[0] = 'main':
 	end
 
 	if rand(0,2) ! 0: gs 'din_bad' & dynamic $mobile_check
-	act 'Relax on your bed': gt 'bed', 'start'
 	gs 'prostitution_functions', 'prostitute_outfit_at_home'
 end
 

+ 61 - 1
locations/gadsarai.qsrc

@@ -1,5 +1,7 @@
 # gadsarai
 !2021/05/08
+
+$default_img_path = 'locations/gadukino/'
 if $ARGS[0] = '':
 	$loc_arg = ''
 	$loc = 'gadsarai'
@@ -23,6 +25,7 @@ if $ARGS[0] = '':
 		end
 	end
 	'Your grandparents'' old barn could hold some valuable items if you spend time searching.'
+	'To the left is the new staircase built to convert some of the loft space into a bedroom to afford guests privacy.'
 	'The right side of the barn is piled high with various boxes, barrels, and chests of items.'
 	'You can store some extra mushrooms and berries here if you don''t want to carry them around all the time.'
 	'The left side of the barn has stalls for your grandparents'' horse, cow, and boar.'
@@ -31,7 +34,7 @@ if $ARGS[0] = '':
 	gs 'stat'
 
 	act 'Go back to the yard':minut += 1 & gt 'gaddvor'
-
+	act 'Go to your room': gt 'gadsarai', 'barn_room'
 	if grandpaQW['chore_fetch_firewood'] = 1:
 		act 'Gather firewood for Grandpa (0:10)':
 			*clr & cla
@@ -295,5 +298,62 @@ if $ARGS[0] = 'boar':
 	end
 end
 
+if $ARGS[0] = 'barn_room':
+	$location_type = 'private'    
+	$setloc['StageTitle'] = 'Guest Room'
+	$setloc['StageImage'] =   '<<$default_img_path>>village/gad_room'
+	minut += 5
+	gs 'shortgs', 'setloc', 'gadsarai', $ARGS[0]
+	gs 'themes', 'indoors'
+	gs 'stat'
+	gs 'themes', 'indoors'
+    gs 'stat'
+	gs 'core_library', 'stage_title'
+	act '<b>Leave and go to the yard</b>':
+		if $clothingworntype ! 'nude':
+			gt 'gaddvor'
+		else
+			msg'<b><font color = red>You need to get dressed.</font></b>'
+			gt $loc, $loc_arg
+		end
+	end
+	
+	'A small rustic loft space converted from your grandparents barn. A pair of sleeping pallets of dubious comfort is laid out for guests. The room walls are whitewashed with some clothes lines to dry your clothes with some farming tools. It''s not much to look at but it''s somewhere you can call home and have some privacy.'
+
+
+	!! Activities - basic only. There is no internet so laptop is consigned to grandparents only. Room is too small for exercise, use yard or forest meadow.
+
+
+	gs 'events', 'read'
+	gs 'music_actions', 'music_icon'
+
+	!! Activities End
+	act 'Relax on your bed': gt 'bed', 'start'
+	!! act 'light log stove': gt  'gadsarai', 'log_stove' 
+
+	!! Game functions
+	'At the foot of your bed is a small <a href="exec:gt ''wardrobe'', ''start''">chest</a> containing some of your clothes.'
+
+	'<table><tr><td valign="top">Your <a href="exec:gt ''alarmclock'', ''start''">alarm clock</a> is set to <<func(''alarmclock'', ''alarm_display'', alarmVars[''timerH''], alarmVars[''timerM''])>> during the week and <<func(''alarmclock'', ''alarm_display'', alarmVars[''timerEndH''], alarmVars[''timerEndM''])>> during the weekend. It is currently turned ' + iif(alarmVars['alarmOn'] = 0, '<a href="exec: alarmVars[''alarmOn''] = 1 & gt $loc, $loc_arg">OFF</a>.', '<a href="exec: alarmVars[''alarmOn''] = 0 & gt $loc, $loc_arg">ON</a>.')
+
+	if mc_inventory['contraceptive_pill'] > 0 and mc_inventory['equipped_condoms'] + mc_inventory['normal_condoms'] + mc_inventory['sabotaged_condoms'] > 0:
+		'Your <a href="exec:gt ''stol'', ''bc''">birth control</a> is hidden in one of your desk drawers, as are your <a href="exec:gt ''stol'', ''bc''">condoms</a>.'
+	elseif mc_inventory['contraceptive_pill'] > 0:
+		'Your <a href="exec:gt ''stol'', ''bc''">birth control</a> is hidden in a small box under your pallet.'
+	elseif mc_inventory['equipped_condoms'] + mc_inventory['normal_condoms'] + mc_inventory['sabotaged_condoms'] > 0:
+		'Your <a href="exec:gt ''stol'', ''bc''">condoms</a> are hidden behind a loose brick.'
+	end
+	
+	if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and week = 6 and hour > 4 and hour < 9 and detention_set = 1 and detention_warning ! daystart:
+		detention_warning = daystart
+		msg 'You have detention this morning and must be at school before 09:00.'
+	end
+
+	if mc_inventory['tech_computer'] = 1: 'Your <a href="exec: gt ''Komp'',''start''">computer</a> is on your desk.'
+end
+
+if $ARGS[0] = 'log_stove':
+	!! simple iron stove that requires wood logs. Make it a task to fill and light in winter.
+end
 --- gadsarai ---------------------------------
 

+ 2 - 2
locations/gadukino.qsrc

@@ -125,7 +125,7 @@ if $ARGS[0] = '':
 
 		!Looks like no reference to Gadmarket exists. Adding it...FinnMacha
 		*nl
-		'In the centre of the village is a small grass-covered square where villagers gather to meet and discuss or argue about politics or village life.'
+		'In the center of the village is a small grass-covered square where villagers gather to meet and discuss or argue about politics or village life.'
 		'Near the square sits the old <a href="exec: minut += 3 & gt ''gad_church'',''start''">chapel</a>, it is not in the best shape, but it appears well-loved.'
 		if hour >= 8 and hour < 20:
 			'One of the buildings facing the square has a sign saying, <a href="exec: minut += 5 & gt ''gadmarket''">General Store</a>. A sign on the door proclaims it "OPEN". It looks like the only place in the village to buy goods.'
@@ -315,7 +315,7 @@ if $ARGS[0] = 'mira_events':
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira.jpg"></center>'
 			'You decide to lend a hand to help the girl with the calf. You are lonely in the village, and maybe this girl, if you get to know her, could make your trips to Gadukino less boring. You walk over to the girl, introduce yourself, and ask if she wants help. She nods and resumes pulling on the rope while you walk over behind the calf and give it a load slap on the rump. The calf is surprised and immediately moves forward away from you. The girl smiles in thanks and tells you her name is Miroslava, but everyone calls her Mira.'
-			'Together you can guide the calf back into its pen. Mira turns out to be quite a sociable girl and conversationalist. You learn that her family was recently forced to move to the village from the city. Her father''s substantial gambling debts to some questionable men forced him to sell the family''s property in the city to pay them back. Mira is having a rough time adjusting to life in a small village. She misses the apartment in the city centre and the money to buy lovely dresses and makeup. After selling everything and paying off the debt, her father was told to leave the city "or else...".'
+			'Together you can guide the calf back into its pen. Mira turns out to be quite a sociable girl and conversationalist. You learn that her family was recently forced to move to the village from the city. Her father''s substantial gambling debts to some questionable men forced him to sell the family''s property in the city to pay them back. Mira is having a rough time adjusting to life in a small village. She misses the apartment in the city center and the money to buy lovely dresses and makeup. After selling everything and paying off the debt, her father was told to leave the city "or else...".'
 			'They were left relatively poor and could only afford a house in this run-down, dust-covered village.'
 			'You walk with her and chat until you reach her house, which turns out to be just down the road from your grandparents'' place. Mira invites you to come and visit her anytime. She is just as bored in the village as you are.'
 

+ 3 - 3
locations/gameover.qsrc

@@ -107,11 +107,11 @@ end
 
 if $ARGS[0] = 'load_autosave':
 	if mid($start_type,1,4) = 'city':
-		opengame 'autosave_city.sav'
+		opengame 'autosave_city_<<$week[week]>>.sav'
 	elseif mid($start_type,1,3) = 'uni':
-		opengame 'autosave_uni.sav'
+		opengame 'autosave_uni_<<$week[week]>>.sav'
 	else
-		opengame 'autosave_sg.sav'
+		opengame 'autosave_sg_<<$week[week]>>.sav'
 	end
 end
 

+ 1 - 1
locations/gdksport.qsrc

@@ -274,7 +274,7 @@ if $ARGS[0] = 'dance2':
 
 		act 'Leave':
 			if AlbinaQW['StarletsJoined'] = 0 and AlbinaQW['StarletsShutDown'] = 0 and mid($start_type,1,2) = 'sg' and ( month < 10 or ( month = 10 and day < 18 )):
-				if alterstrtimg = 13:
+				if $start_type['cat'] = 'dancer':
 					gt 'albina_starlets', 'albina3'
 				elseif (grupTipe = 1 or grupTipe = 2) and npc_rel['A23'] >= 60:
 					gt 'albina_starlets', 'albina2'

+ 97 - 53
locations/girl.qsrc

@@ -18,76 +18,125 @@ end
 if $ARGS[0] = 'details':
 	!Select Photos
 
-:girldetailsloop
-	!! boys 1-30, girlfriends 31-60
-	lover_picrand =  RAND(31,60)
-	if lover_picrand = lover_picture[0] or lover_picrand = lover_picture[1] or lover_picrand = lover_picture[2]: jump 'girldetailsloop'
-
-	loverGenderTmp = 1
-	npc_gender[$npclastgenerated] = 1
+	loverGenderTmp = npc_gender[$npclastgenerated]
 	silaVag = npc_sexskill[$npclastgenerated]
 	$npc_usedname[$npclastgenerated] = $npc_firstname[$npclastgenerated]
 	$boydesc = $npc_usedname[$npclastgenerated]
 
+	hairboy = npc_haircol[$npclastgenerated]
+	titboy = npc_bust[$npclastgenerated]
+	vneshboy = npc_apprnc[$npclastgenerated]
+
 	!!appearance
+	gs 'girl', 'set_boybody'
+
+	!!Variables responsible for any features like
+	!!security, is responsible for the money and requirements
+	gs 'girl', 'set_finance'
+
+	gs 'girl', 'set_preferences'
+end
+
+! set_unique_pic is depricated
+if $ARGS[0] = 'set_unique_pic':
+	!! boys 1-30, girlfriends 31-60
+	:girldetailsloop
+		lover_picrand[$npclastgenerated] =  rand(31,60)
+	if lover_picrand[$npclastgenerated] = lover_picture[0] or lover_picrand[$npclastgenerated] = lover_picture[1] or lover_picrand[$npclastgenerated] = lover_picture[2]: jump 'girldetailsloop'
+end
+
+if $ARGS[0] = 'set_boybody':
 	boybodyrand = rand(1, 3)
 
-	if boybodyrand = 1: $boybody = 'short'
-	if boybodyrand = 2: $boybody = 'average'
-	if boybodyrand = 3: $boybody = 'tall'
+	if boybodyrand = 1: 
+		$boybody = 'short'
+		$boybody_pref = 'a short'
+	elseif boybodyrand = 2: 
+		$boybody = 'average'
+		$boybody_pref = 'an average'
+	elseif boybodyrand = 3: 
+		$boybody = 'tall'
+		$boybody_pref = 'a tall'
+	end
 
 	boybodrand = rand(1, 4)
 
-	if boybodrand = 1 and boybodyrand = 1: $boybod = 'petite'
-	if boybodrand = 1 and boybodyrand > 1: $boybod = 'slender'
-	if boybodrand = 2: $boybod = 'toned'
-	if boybodrand = 3: $boybod = 'average'
-	if boybodrand = 4: $boybod = 'chubby'
-
+	if boybodrand = 1 and boyboyrand = 1: 
+		$boybod = 'petite'
+		$boybod_pref = 'a petite'
+	elseif boybodrand = 1 and boybodyrand = 1: 
+		$boybod = 'slender'
+		$boybod_pref = 'a slender'
+	elseif boybodrand = 2: 
+		$boybod = 'toned'
+		$boybod_pref = 'a toned'
+	elseif boybodrand = 3: 
+		$boybod = 'average'
+		$boybod_pref = 'an average'
+	else
+		$boybod = 'chubby'
+		$boybod_pref = 'a chubby'
+	end
+	
 	boyfacerand = rand(1, 3)
+	if boyfacerand = 1: 
+		$boyface = 'black'
+	elseif boyfacerand = 2:
+		$boyface = 'brunette'
+	else 
+		$boyface = 'blond'
+	end
+end
 
-	if boyfacerand = 1: $boyface = 'black'
-	if boyfacerand = 2: $boyface = 'brunette'
-	if boyfacerand = 3: $boyface = 'blond'
-
-	!!Variables responsible for any features like
-	!!security, is responsible for the money and requirements
-	harakboy = rand(0, 2)
-	finance = rand(0, 2)
+if $ARGS[0] = 'set_finance':
+	harakBoy = rand(0, 2)
+	finance = npc_finance[$npclastgenerated]
 
-	if finance = 0:
+	if npc_finance[$npclastgenerated] = 0:
 		!!Gopnik beggar or a hard worker
 		!!check in appearance Primary
-		if harakboy = 0: npc_apprnc[$npclastgenerated] = rand(0, 8)
-		if harakboy = 1: npc_apprnc[$npclastgenerated] = rand(0, 16)
-		if harakboy = 2: npc_apprnc[$npclastgenerated] = rand(0, 32)
+		if harakBoy = 0:
+			npc_apprnc[$npclastgenerated] = rand(0, 8)
+		elseif harakBoy = 1:
+			npc_apprnc[$npclastgenerated] = rand(0, 16)
+		else 
+			npc_apprnc[$npclastgenerated] = rand(0, 32)
+		end
 
 		$boyClo = 'wearing a tracksuit.'
-	elseif finance = 1:
+	elseif npc_finance[$npclastgenerated] = 1:
 		!!middle_peasant
 		!!check in appearance
-		if harakboy = 0: npc_apprnc[$npclastgenerated] = rand(0, 16)
-		if harakboy = 1: npc_apprnc[$npclastgenerated] = rand(0, 24)
-		if harakboy = 2: npc_apprnc[$npclastgenerated] = rand(0, 32)
+		if harakBoy = 0:
+			npc_apprnc[$npclastgenerated] = rand(0, 16)
+		elseif harakBoy = 1:
+			npc_apprnc[$npclastgenerated] = rand(0, 24)
+		else
+			npc_apprnc[$npclastgenerated] = rand(0, 32)
+		end
 
 		$boyClo = 'wearing jeans and a blouse.'
-	elseif finance = 2:
+	elseif npc_finance[$npclastgenerated] = 2:
 		!!middle_peasant
 		!!check in appearance
-		if harakboy = 0: npc_apprnc[$npclastgenerated] = rand(16, 32)
-		if harakboy = 1: npc_apprnc[$npclastgenerated] = rand(24, 32)
-		if harakboy = 2: npc_apprnc[$npclastgenerated] = rand(32, 40)
+		if harakBoy = 0:
+			npc_apprnc[$npclastgenerated] = rand(16, 32)
+		elseif harakBoy = 1:
+			npc_apprnc[$npclastgenerated] = rand(24, 32)
+		else
+			npc_apprnc[$npclastgenerated] = rand(32, 40)
+		end
 
 		$boyClo = 'wearing an expensive dress.'
 	end
+end
 
+if $ARGS[0] = 'set_preferences':
 	!!requirements of the figure, chest size, hair color.
 	!!0 - ass less 80, 1 back from 80 prior_to 100, 2 ass over 100
 	figurboy = rand(0, 2)
-	!!0 - 60  curve around 22,5 (C/D cups)
-	npc_bust[$npclastgenerated] = rand(0,15) + rand(0,15) + rand(0,15) & if rand(1,10) = 1: npc_bust[$npclastgenerated] += rand(0,15)
-	!!0 - black, 1 - brown, 2 - Redhead, 3 - blonde
-	npc_haircol[$npclastgenerated] = rand(0, 3)
+
+
 	!!character 0 - soft, 1 -norm 2 - aggressor
 	if rand(0, 100) < 90:
 		izvrat = 0
@@ -95,13 +144,6 @@ if $ARGS[0] = 'details':
 		izvrat = 1
 	end
 
-
-
-	hairboy = npc_haircol[$npclastgenerated]
-	titboy = npc_bust[$npclastgenerated]
-	vneshboy = npc_apprnc[$npclastgenerated]
-
-
 	!! trying to make the preference section 
 	!! Variables here are clotTypePrefTmp, clotQualPrefTmp, clotTopPrefTmp, bottShorPrefTmp, clotThinPrefTmp, bimbPrefTmp, pierPrefTmp, tattPrefTmp, lipsPrefTmp, bodyPrefTmp, makePrefTmp, IQPrefTmp.
 
@@ -111,13 +153,13 @@ if $ARGS[0] = 'details':
 	!!0 - none, 1 - cheap, 2 - average, 3 - formal, 4 - fetish.
 	clotTypePrefTmp = 0
 	if rand(0, 4) = 4:
-		if finance = 0:
+		if npc_finance[$npclastgenerated] = 0:
 			clotTypePrefTmp = rand(1,2)
 			if rand(0, 1) = 1 and izvrat = 1:clotTypePrefTmp = 4
-		elseif finance = 1:
+		elseif npc_finance[$npclastgenerated] = 1:
 			clotTypePrefTmp = rand(1,3)
 			if rand(0, 2) = 2 and izvrat = 1:clotTypePrefTmp = 4
-		elseif finance = 2:
+		elseif npc_finance[$npclastgenerated] = 2:
 			clotTypePrefTmp = rand(2,3)
 			if rand(0, 1) = 1 and izvrat = 1:clotTypePrefTmp = 4
 		end
@@ -128,9 +170,9 @@ if $ARGS[0] = 'details':
 	!! 0 - no preference, 1 - 1 to 4 units cheap to average (Locked if formal chosen), 2 - 5 to 7 units expensive to ballroom quality (Locked if fetish is chosen)
 	clotQualPrefTmp = 0
 	if rand(0, 5) = 5:
-		if finance = 0:
+		if npc_finance[$npclastgenerated] = 0:
 			clotQualPrefTmp = 1
-		elseif finance = 1:
+		elseif npc_finance[$npclastgenerated] = 1:
 			clotQualPrefTmp = rand(1, 2)
 			randchan = rand(0, 1)
 			if randchan = 0 and clotTypePrefTmp ! 3:
@@ -138,7 +180,7 @@ if $ARGS[0] = 'details':
 			elseif randchan = 1 and clotTypePrefTmp ! 1:
 				clotQualPrefTmp = 2
 			end
-		elseif finance = 2:
+		elseif npc_finance[$npclastgenerated] = 2:
 			randchan = rand(0, 2)
 			if randchan = 2 and clotTypePrefTmp ! 1:
 				clotQualPrefTmp = 2
@@ -289,5 +331,7 @@ if $ARGS[0] = 'details':
 	killvar 'randchan'
 end
 
+
+
 --- girl ---------------------------------
 

+ 4 - 4
locations/gopnik_house.qsrc

@@ -24,8 +24,8 @@ if gophouse = 0:
 		rape += 1
 		gang += 1
 		gophouse = 1
-		guy += kol_man
-		ciklkm = kol_man
+		guy += placerParameter['number_of_man']
+		ciklkm = placerParameter['number_of_man']
 		
 		gs 'arousal', 'vaginal', 5, 'sub', 'group'
 		gs 'stat'
@@ -47,8 +47,8 @@ elseif gophouse = 1:
 
 	ciklkm -= 1
 	if ciklkm > 0:
-		if ciklkm < kol_man:'All of the guys want to fuck you at least once. You see one of them impatiently stroking his cock, keeping it erect while he is waiting for the Gopnik that is currently fucking you to finish. There might be more beyond your vision range though, you''re not quite sure. And frankly, you''re also too drunk to care.'
-		if ciklkm < kol_man:'Once the Gopnik finishes, his friend quickly takes his place between your legs.'
+		if ciklkm < placerParameter['number_of_man']:'All of the guys want to fuck you at least once. You see one of them impatiently stroking his cock, keeping it erect while he is waiting for the Gopnik that is currently fucking you to finish. There might be more beyond your vision range though, you''re not quite sure. And frankly, you''re also too drunk to care.'
+		if ciklkm < placerParameter['number_of_man']:'Once the Gopnik finishes, his friend quickly takes his place between your legs.'
 		gs 'npcgeneratec', 0, 'Gopnik from the park', rand(16,26)
 		gs 'boyStat', $npclastgenerated
 		jump 'markgophouserape'

+ 3 - 3
locations/gopsex.qsrc

@@ -563,7 +563,7 @@ if $ARGS[0] = 'hide':
 	end &!--- npc_orgasm ---
 	if $ARGS[1] = 'gop_sex_analplugin':
 		if analplugin = 1:
-			analplugin = 0
+			analplugin = 0 & analplugout = 1
 			'"What?! Do you have a buttplug in your ass?" <<$boydesc>> asks in surprise.'
 			'"Aha, you are loosening your anus."'
 			'"That''s great, but it''s in the way right now." He comments and pulls the plug out from your ass.<br>'
@@ -595,7 +595,7 @@ if $ARGS[0] = 'hide':
 !anal tube and lubrication(gangbang):
 	if $ARGS[1] = 'gop_groupsex_analplugin':
 		if analplugin = 1:
-			analplugin = 0
+			analplugin = 0 & analplugout = 1
 			'"What?! Do you have a buttplug in your ass?" '+func('gopsex','hide','gop_name_npc')+' asks in surprise.'
 			'"Aha, you are loosening your anus."'
 			'"That''s great, but it''s in the way right now." He comments and pulls the plug out from your ass.<br>'
@@ -1106,7 +1106,7 @@ if $ARGS[0] = 'hide':
 		if rnd_telogg_text = 10:$rnd_telogg_text = '"What have we here, <<$pcs_nickname>>?! How come they stretch you here so?"'
 		if rnd_telogg_text = 11:$rnd_telogg_text = '"She lost her fear completely, '+func('gopsex','hide','gop_gg_name2')+'!"'
 		if rnd_telogg_text = 12:$rnd_telogg_text = '"She lost her shyness completely, '+func('gopsex','hide','gop_gg_name2')+'!"'
-		if rnd_telogg_text = 13:$rnd_telogg_text = '"How can you shamelessly expose your holes right, left and centre, '+func('gopsex','hide','gop_gg_name2')+'?"'
+		if rnd_telogg_text = 13:$rnd_telogg_text = '"How can you shamelessly expose your holes right, left and center, '+func('gopsex','hide','gop_gg_name2')+'?"'
 		if rnd_telogg_text = 14:$rnd_telogg_text = '"<<$pcs_nickname>>, you are so shameless, '+func('gopsex','hide','gop_gg_name2')+'!"'
 		if rnd_telogg_text = 15:$rnd_telogg_text = '"Oh, <<$pcs_nickname>>, aren''t you sorry for yourself?"'
 		!turnip: whore

+ 1 - 1
locations/gopskver.qsrc

@@ -977,7 +977,7 @@ if $ARGS[0] = 'BjBeerAnal':
 	if pcs_ass > 5: 'You hear a frantic discussion behind you, the guys are trying to figure out who gets to fuck your ass first. Vasily ends up being the lucky one.'
 	if tatupb > 0: 'When he sees the tattoo on your lower back, Vasily pats your ass approvingly: "Nice tramp stamp, whore."'
 	if tatupb = 0: 'Seeing your bare back, Vasily mutters irritably: "A slut such as yourself should really get a tattoo back there... that way, people can recognize you for what you really are."'
-	if analplugin = 1: analplugin = 0 & '"You won''t be needing this!" Vasily grins, and he pulls out your butt plug with a loud pop. He''s quite rough with it, and you grimace at the sudden extrusion.'
+	if analplugin = 1: analplugin = 0 & analplugout = 1 & '"You won''t be needing this!" Vasily grins, and he pulls out your butt plug with a loud pop. He''s quite rough with it, and you grimace at the sudden extrusion.'
 	'Once he thinks you''re ready, Vasily roughly pulls your buttocks to the sides with a grin on his face and looks at your sphincter, before spitting on it.'
 
 	act 'Try to relax your anus':

+ 1 - 1
locations/gschool_break.qsrc

@@ -481,7 +481,7 @@ if $ARGS[0] = 'boys_restroom_events':
 			if soniaPS < 5:soniasextime += 1
 			gs 'stat'
 			'<center><video autoplay loop src="images/locations/pavlovsk/school/bathroom/sex/soniabj.mp4"></video></center>'
-			'You go to the girls restroom to wash your hands and see Sonia on her knees with an open blouse and a cock in her mouth, enthusiastically deepthroating a boy you''ve never seen before.'
+			'You go to the boys restroom and see Sonia on her knees with an open blouse and a cock in her mouth, enthusiastically deepthroating a boy you''ve never seen before.'
 			gs 'arousal', 'voyeur_sex', 5
 			gs 'stat'
 			act 'Leave':

+ 1 - 1
locations/gschool_cheerleading.qsrc

@@ -313,7 +313,7 @@ if $ARGS[0] = 'practice':
 			end
 		else
 			if cheerleadingQW['quest_stage'] = 2:
-				if (cheerleadingQW['game_count'] > 6) and (rand(0,3) = 0):
+				if (cheerleadingQW['game_count'] > 6 and rand(0,3) = 0) or grupTipe = 1 or grupTipe = 2:
 					'As you enter the hall, Albina walks up to you, looking strangely cheerful. "Hey <<$pcs_nickname>>, I''ve been talking with the girls and, since you''ve proven yourself capable, we''re <i>mostly</i> in agreement that you deserve a spot on the squad. I''ll sort you out with a uniform in due time, but you''re part of the squad now. So... welcome, I guess?" she says before walking away to prepare the rest of the squad for practice. You contain your excitement as you take your place among the other girls, overjoyed that you actually made it onto the squad!'
 					cheerleadingQW['quest_stage'] = 3
 				else

+ 13 - 11
locations/gschool_grounds.qsrc

@@ -53,7 +53,7 @@ if $ARGS[0] = 'main':
 		end
 	end
 
-	if week < 6 and hour = 14 and kanikuli = 0 and afterschool_day ! daystart and suspended['on'] ! 1:
+	if week < 6 and hour = 14 and kanikuli = 0 and afterschool_day ! daystart and suspended['on'] ! 1 and SchoolAtestat = 0 and SchoolBlock = 0:
 		afterschool_day = daystart
 		if rand(0,3) = 0:
 			$eventtype = 'after_school'
@@ -64,14 +64,16 @@ if $ARGS[0] = 'main':
 	end
 
 	!! Cheerleading tryouts if Sveta decided to attend
-	if hour = 14 and cheerleadingQW['quest_stage'] = 1:
-		if pregtime < 90: gt 'gschool_cheerleading', 'tryouts'
-	!! Sveta attends training after school every Tuesday and Thursday.
-	elseif hour = 14 and cheerleadingQW['day'] ! daystart and (week = 2 or week = 4) and kanikuli = 0 and cheerleadingQW['quest_stage'] > 1 and suspended['on'] ! 1:
-		if npc_pregtalk['A23'] = 0: gt 'gschool_cheerleading', 'afterschool_practice'
-	!! A football game is played once every 2nd Friday and the cheerleaders perform out on the field.
-	elseif hour = 14 and cheerleadingQW['day'] ! daystart and week = 5 and (daystart - (daystart mod 7)) mod 2 = 1 and kanikuli = 0 and (cheerleadingQW['quest_stage'] >= 3 or cheerleadingQW['backup_game'] = 1) and suspended['on'] ! 1:
-		if npc_pregtalk['A23'] = 0: gt 'gschool_cheerleading', 'afterschool_game'
+	if SchoolAtestat = 0 and kanikuli = 0 and suspended['on'] ! 1:
+		if hour = 14 and cheerleadingQW['quest_stage'] = 1:
+			if pregtime < 90: gt 'gschool_cheerleading', 'tryouts'
+		!! Sveta attends training after school every Tuesday and Thursday.
+		elseif hour = 14 and cheerleadingQW['day'] ! daystart and (week = 2 or week = 4) and kanikuli = 0 and cheerleadingQW['quest_stage'] > 1 and suspended['on'] ! 1:
+			if npc_pregtalk['A23'] = 0: gt 'gschool_cheerleading', 'afterschool_practice'
+		!! A football game is played once every 2nd Friday and the cheerleaders perform out on the field.
+		elseif hour = 14 and cheerleadingQW['day'] ! daystart and week = 5 and (daystart - (daystart mod 7)) mod 2 = 1 and kanikuli = 0 and (cheerleadingQW['quest_stage'] >= 3 or cheerleadingQW['backup_game'] = 1) and suspended['on'] ! 1:
+			if npc_pregtalk['A23'] = 0: gt 'gschool_cheerleading', 'afterschool_game'
+		end
 	end
 
 	if hour <= 8 and kanikuli = 6:
@@ -437,7 +439,7 @@ if $ARGS[0] = 'bulding':
 			!!this should happen the first time Sveta enters school in a game and never again
 			gt 'Zvereva_events', 'christina_bu_1'
 		else
-			if rand(0,1) = 0:
+			if rand(0,1) = 0 or hour > 7:
 				gt 'gschool_lessons', 'morning'
 			else
 				if rand(0,3) = 0:
@@ -869,7 +871,7 @@ if $ARGS[0] = 'Family extension':
 				'"<<$pcs_nickname>>, you won! Well done!" your <<$npc_nickname[''A29'']>> shouts as she approaches.'
 				'"Thanks. And thanks for coming too."'
 				'"I know that we have our differences, but I haven''t stopped caring about you and I asked Kolka to let me know if he saw you around as I kept seeing you heading out in your sports gear with your waterbottle and wondered what you were doing." she replies.'
-				'You''re a little lost for words, so your <<$npc_nickname[''A29'']>> continues. "He told me he''s seen you running at the track when the school was closed and training at the community centre, so I asked the coach. Anyway I''m so proud of you! Why didn''t you say something?"'
+				'You''re a little lost for words, so your <<$npc_nickname[''A29'']>> continues. "He told me he''s seen you running at the track when the school was closed and training at the community center, so I asked the coach. Anyway I''m so proud of you! Why didn''t you say something?"'
 				'When you don''t answer, your <<$npc_nickname[''A29'']>> continues. "Come on, get showered and changed and I''ll meet you outside." Anya and Kolka give you a friendly wave and leave.'
 				minut += 4
 				gs 'stat'

+ 1 - 0
locations/gschool_jock_chats.qsrc

@@ -1496,6 +1496,7 @@ if $ARGS[0] = 'ivan':
 		if npc_rel['A3'] >= 80 and NikoPayback = 2 and IvanVsNiko = 0:act 'Ask for help with Niko': gt 'NikoPayback', 'Ivan Help'
 
 		if rand(0,4) = 0:
+			*clr
 			'<center><b><h4><font color="green"><<"Ivan Prokhorov">></font></h4></b></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/ivan/School/ivan2.jpg"></center>'
 			func('npc_reactions', 'general', 'A3')

+ 5 - 5
locations/gschool_lessons.qsrc

@@ -22,7 +22,7 @@ if $ARGS[0] = 'morning':
 		lernHome += 1
 
 		if SchoolSorev = 1: SchoolSorev = 0
-		gs 'gschool_socialchg', 'test'
+		if hour < 8: gs 'gschool_socialchg', 'test'
 	end
 		
 	if $breaktype ! 'first':
@@ -39,7 +39,7 @@ if $ARGS[0] = 'morning':
 			act 'Continue down the hall': gt 'gschool_lessons', 'morning'
 		elseif week < 4 and class['first_grade_check'] = 0:
 			gt 'gschool_lessons', 'grade_check'
-		elseif grupTipe = 3 and nerd_game['invite_day'] < daystart - week:
+		elseif (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
 			gt 'nerd_game_night', 'invite', 'morning'
 		else
 			gs 'gschool_gossip', 'morning'
@@ -80,7 +80,7 @@ if $ARGS[0] = 'uniform_check':
 			grupvalue[4] += 1
 			grupvalue[5] -= 1
 			'<font color="red">This uniform complies with the regulations but is too risqué.</font>'
-		elseif CloStyle = 2:
+		elseif PCloStyle = 2:
 			grupvalue[4] += 1
 			'<font color="blue">This uniform follows the school regulation on skirt length and is of a style that appeals to Gopniks.</font>'	
 		elseif PCloQuality >= 4:
@@ -98,7 +98,7 @@ if $ARGS[0] = 'uniform_check':
 			grupvalue[4] += 1
 			grupvalue[5] -= 1
 			'<font color="red">This uniform slightly breaches the school regulations and it is too risqué.</font>'
-		elseif CloStyle = 2:
+		elseif PCloStyle = 2:
 			grupvalue[4] += 1
 			'<font color="blue">This uniform slightly breaches the school regulations on skirt length and is of a style that appeals to Gopniks.</font>'	
 		elseif PCloQuality >= 4:
@@ -255,7 +255,7 @@ if $ARGS[0] = 'short_break':
 		if cheerleadingQW['skipped_ev'] + cheerleadingQW['skipped_g_ev'] > 0:
 			gs 'gschool_cheerleading', 'skipped_ev'
 			act 'Continue down the hall': gt 'gschool_lessons', 'short_break'
-		elseif grupTipe = 3 and nerd_game['invite_day'] < daystart - week:
+		elseif (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
 			gt 'nerd_game_night', 'invite', 'short_break'
 		end
 	elseif Kuznetsov_punishment = 1:

+ 1 - 1
locations/gschool_lessons1.qsrc

@@ -1496,7 +1496,7 @@ if $ARGS[0] = 'history':
 				'It was an embarrassing experience, but the sudden adrenaline surge helps you to stay awake for the rest of the period.'
 			end
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev2', 'history'
-		elseif daydream = 2:
+		elseif daydream = 3:
 			*clr
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/sleeping.jpg"></center>'
 			'You''re far too tired to pay attention in class today. Mrs. Sokoloff is droning on about the Tsar''s family and their life.'

+ 2 - 3
locations/gschool_lessons2.qsrc

@@ -576,9 +576,8 @@ if $ARGS[0] = 'computer':
 			act 'Wait for the end of the lesson': gs 'gschool_lessonsev1', 'computer'
 		end
 	end
-	if fuckornot > 2:
-		act 'Check the listings on "Fuck or Not"': $view_location = 'school' & gt 'komp_HF_or_not', 'fuckornot'
-	end
+	if fuckornot > 2: act 'Check the listings on "Fuck or Not"': $view_location = 'school_lesson' & gt 'komp_HF_or_not', 'fuckornot'
+	if hotornot >= 2: act 'Check the listings on "Hot or Not"': $view_location = 'school_lesson' & gt 'komp_HF_or_not', 'hotornot'
 end
 
 if $ARGS[0] = 'science':

+ 1 - 1
locations/gschool_lunch.qsrc

@@ -128,7 +128,7 @@ if $ARGS[0] = 'break':
 		gs 'gschool_cheerleading', 'skipped_ev'
 		act 'Continue down the hall': gt 'gschool_events', 'leave_break_events2'
 		exit
-	elseif grupTipe = 3 and nerd_game['invite_day'] < daystart - week:
+	elseif (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
 		gt 'nerd_game_night', 'invite', 'lunch'
 	end
 

+ 1 - 1
locations/gschool_sex.qsrc

@@ -570,7 +570,7 @@ if $ARGS[0] = 'rand_sex':
 		act 'He fucks your ass':
 			*clr & cla
 			if analplugin = 1:
-				analplugin = 0
+				analplugin = 0 & analplugout = 1
 				'He plays with your butt plug for a moment before pulling it out. Your anus gapes slightly from being filled for so long. "Don''t worry babe, I''ll be filling that soon enough," he reassures you.'
 			end
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/building/sex/boysex_scool4.jpg"></center>'

Some files were not shown because too many files changed in this diff