1
0

151 Ревизии 9f0b276362 ... ec22934151

Автор SHA1 Съобщение Дата
  anjuna krokus ec22934151 [added] Strip Club overhaul. Written and Coded by Vengeance and HornGuy6. Updated by Anjuna преди 2 месеца
  anjuna krokus fb2328c94d [added] calling `gs 'cum_cleanup', number` now has the function of `cumspclnt = number & gs 'cum_cleanup'` преди 2 месеца
  anjuna krokus 1514ce71dc [fixed] bug related to repeated stat display. Fix found in collaboration with Awesome and Felix преди 2 месеца
  anjuna krokus e1dea73530 [fixed] get_class function now properly defaults to your bmi and strength as expected. Found by Jack Lagas преди 2 месеца
  anjuna krokus bfd61518e6 [fixed] forgotten dating site update. Reported by Eogran преди 2 месеца
  anjuna krokus 6af3bb103c [fixed] dates not redirecting to the proper version because I was comparing strings to numbers... Reported by retlifeforme преди 2 месеца
  Kevin_Smarts b29f7613d0 Merge remote-tracking branch 'Awesome/master' преди 2 месеца
  Awesome dba9e18b2c [Fixed] Wrong variables used in convert_dob преди 2 месеца
  Awesome f4e193bf86 [Fixed] Commented out gt to a missing event преди 2 месеца
  anjuna krokus 4a96f56a5e [fixed] select month option not working. Reported by Honey преди 2 месеца
  anjuna krokus 2d134fc786 [changed] preferences initialised at the start of the sex_ev system and cleaned up at the end преди 2 месеца
  anjuna krokus ea3398f55c [fixed] lover preferences not properly working because they got deleted. Moved the cleanup to the end преди 2 месеца
  Awesome 51a3eadc91 [Fixed] Missing `$` преди 2 месеца
  anjuna krokus 58f4022e9a [fixed] Added forgotten npcAge (as requested by HG a few weeks ago and I then forgot about..), and fixed some typos and forgotten cleanups преди 2 месеца
  Kevin_Smarts fc98f7c3b1 Merge remote-tracking branch 'Anjuna/master' преди 2 месеца
  anjuna krokus a65c1fb45b [fixed] cum_call overwriting $npcID. Fixed locations calling cum_call with $boydesc instead of $boy / $npcID. Reported by retlifeforme преди 2 месеца
  anjuna krokus 1b278b63f1 [fixed] variable typo, caught by Hornguy6 преди 2 месеца
  Awesome 186840e061 Parser update from Chimrod (https://git.tfgames.site/Chimrod/qsp_parser) преди 2 месеца
  anjuna krokus 9bb95efeeb [fixed] flash images not set correctly. Reported by retlifeforme преди 2 месеца
  Awesome bff1bf1fe9 [Fixed] Igor blank screen преди 2 месеца
  anjuna krokus ded06b0c72 [fixed] $npcID wasn't properly given to the lover call, resulting in missing names (and more). Renamed the staging_call function to scheduler to mimic the sms function преди 2 месеца
  anjuna krokus 0294fbaa42 [fixed] breaking up with lovers/fuckbuddies/sugar daddies did not do anything преди 2 месеца
  Kevin_Smarts de6036d494 Merge remote-tracking branch 'origin/master' преди 2 месеца
  bgkjdgbizgblzdgbr 0224b82160 [fixed] Wrong order of clear the screen преди 2 месеца
  anjuna krokus d2ebbae029 [changed/fixed] Changed the npcrnamefile into a funcion, and fixed the npcgenerator not setting names correctly преди 2 месеца
  anjuna krokus fadd9ef383 [fixed/changed] extracted repeated code in flash and fixed typos which changed `ARGS[3]` into the never given `ARGS[4]` преди 2 месеца
  anjuna krokus 26f2db6949 [fixed] Uni location should be `uni_grounds, main` преди 2 месеца
  anjuna krokus 9e23ed7a10 [fixed] small fix to the salon work due to a missing return statement преди 2 месеца
  anjuna krokus a97a99b26b [fixed] forgot to remove `lover_pronouns` from the qproj. Fixed bug related to string vs integer variables. Forgot setting npc_daygenerated in saveupdater преди 2 месеца
  anjuna krokus f14408f028 Merge branch 'Lover_migation' преди 2 месеца
  anjuna krokus 56948b6d1e [fixed] metro time not displayed correctly, because I was a dumb dumb. Reported by Awesome преди 2 месеца
  anjuna krokus dee025e82f [fixed] piercing issues. Reported by Reche преди 2 месеца
  anjuna krokus b092aefccc [fixed] Forgotten piericing, time string, and stat_display fixes/changes преди 2 месеца
  anjuna krokus b8a97de33a [changed] npcstat change propagation преди 2 месеца
  anjuna krokus b2101eaa6a [updated] Lover and npcgeneratec migrations преди 2 месеца
  anjuna krokus cdeb7f86b3 [changed] Updated the stat_display w.r.t. the lovers and some other small stuff преди 2 месеца
  anjuna krokus 033a579564 [changed] code simplifcations преди 2 месеца
  anjuna krokus ff85a5afa2 [changed/fixed] Journal lovers updates преди 2 месеца
  anjuna krokus 0910871aff [added] dob to age function преди 2 месеца
  anjuna krokus f686c062a8 [changed] misc changes преди 2 месеца
  anjuna krokus c03d439ff0 [added/changed] Full update of cheatmenu code related to lovers преди 2 месеца
  anjuna krokus c934518423 [changed] Large migration of lover and husband code преди 2 месеца
  anjuna krokus df036df74f [changed] old husband variables were lingering in cikl преди 2 месеца
  anjuna krokus d9f1743bec [added] npcStat dynamic code to simplify the prefix functions преди 2 месеца
  anjuna krokus 7e9c09c6c3 [changed] missed npc and $husID updates. More propagation of npcgeneratec преди 2 месеца
  anjuna krokus 89796b44cb [changed] npcs updated преди 2 месеца
  anjuna krokus c6c73cccbf [changed] Meeting a lover updated to the new lover structure преди 2 месеца
  anjuna krokus b6cf03ddab [changed] Propagation of the $husID changes преди 2 месеца
  anjuna krokus 3bf3400ff0 [changed] Dates updated to the new lover version. Removed last vestiges of `lover_number` преди 2 месеца
  anjuna krokus 5493b2c5a4 [changed] propagation of lover and npcgeneratec changes преди 2 месеца
  anjuna krokus dbb59aaf90 [changed] chats about your lovers now follow the new 'lover' format преди 2 месеца
  anjuna krokus bb37e6491d [changed] SMS_schedules to telefon_schedules in qproj преди 2 месеца
  anjuna krokus 31e6fd4d9b [changed] husband variables all moved to npcgeneratec variables accessed through $husID and the spouseVars array преди 2 месеца
  anjuna krokus e4d804f622 [changed/removed] Removed code that's now handled by `lover_call`. Removed Lover specific code that's now staged in `telefon_schedules`. Layout changes преди 2 месеца
  anjuna krokus 07d074d787 [changed] taking selfies with an npc is now called slightly differently преди 2 месеца
  Awesome 60adcb7172 [Fixed] Crash due to unescaped single quote преди 2 месеца
  anjuna krokus 935dfb8f19 [changed] SMS and call schedules are now set through telefon_schedules преди 2 месеца
  anjuna krokus 5383cfcd00 [changed] Complete lover code overhaul преди 2 месеца
  anjuna krokus bafb41438f [changed] npcgeneratec variable overhaul, with many variables impacted преди 2 месеца
  anjuna krokus 92b35a95d9 [changed/added] Renamed some preferences, used npc_pref_values over npc_trait_values, added more preferences. преди 2 месеца
  Awesome f5eb9f34dc Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife преди 2 месеца
  Awesome 22df6c7181 [changed] Variable conversion IgorQW преди 2 месеца
  Awesome af4a14f6f3 [Added] Igor events by Nutluck преди 2 месеца
  Vengeance_11 b8bc112d00 Oops преди 2 месеца
  Vengeance_11 82f5939e52 Added NPC to city apartment building преди 2 месеца
  Vengeance_11 31d2cb6fa6 Text edits преди 2 месеца
  Kevin_Smarts 995093aa67 [fixed] Clothing file was deleting shoe data it shouldn't have been преди 2 месеца
  Kevin_Smarts b546de6747 Merge remote-tracking branch 'Anjuna/master' преди 2 месеца
  anjuna krokus e32e8e1124 [fixed] Bank deposit not working. Reported by Blakeaton преди 2 месеца
  Awesome ba24f64b12 [fixed] wrong location преди 2 месеца
  Kevin_Smarts ecb1da0de8 Merge remote-tracking branch 'Anjuna/master' преди 2 месеца
  anjuna krokus e6b3b881f3 [fixed] gamebreaking bug преди 2 месеца
  anjuna krokus f5986bef47 [fixed/added] more npcStat updates and fixes преди 2 месеца
  Kevin_Smarts f146d3aedd [fixed] Wrong number in check for dom training at BDSM club преди 2 месеца
  anjuna krokus d41f88ae71 [fixed] EoC message overwriting the wrong sms преди 2 месеца
  Kevin_Smarts 6cca264658 Merge remote-tracking branch 'Steuchs_bug_hunt/QSRC2TW' преди 2 месеца
  Kevin_Smarts cc9521120f Merge remote-tracking branch 'Netuttki/master' преди 2 месеца
  Stephan Fuchs 934640fc7e [SugarCube] Move path-prefix `images/` from `<<image>>`-call to `<<image>>`-source. преди 2 месеца
  Stephan Fuchs 92c4aadced [SugarCube] Add `<<meter>>`. преди 2 месеца
  Stephan Fuchs ad41efcdb3 Merge commit 'c236007a137b61c99bc8842ec60e6950e73798ae' into QSRC2TW преди 2 месеца
  netuttki dc3988d880 Merge remote-tracking branch 'Kevin_Smarts/master' преди 2 месеца
  netuttki e6ae44f68d Fixed the bug with home status check. преди 2 месеца
  anjuna krokus c5ceb3adea [added] `lover_living` now contains all relevant code for living with husband. Massively simplifying code преди 2 месеца
  anjuna krokus e63386e09a [changed] Base boyStat -> npcStat преди 2 месеца
  anjuna krokus adae542fa7 [fixed] completely forgot to push this преди 2 месеца
  anjuna krokus b3cd3a0f3e [changed] removed redundent `any` variable since it should just be equal to `total > 0` преди 2 месеца
  anjuna krokus 809970b0e1 [fixed] piercings not showing up in the looks page. Reported by Sapper преди 2 месеца
  anjuna krokus f427af1f49 [added] Mira quest when QW = 20. Reported by MK преди 2 месеца
  netuttki 9b70edd43a Fixed type: `set_gadukion_prostitute` -> `set_gadukino_prostitute` преди 2 месеца
  netuttki ee68473435 Merge remote-tracking branch 'Kevin_Smarts/master' преди 2 месеца
  anjuna krokus 43f444b05b [changed/fixed] cheatVars['time_format'] follows the same format as the other cheatVars. This fixes the issue that the cheatmenu wouldn't set/display the time_format correctly at the start and after the first click преди 2 месеца
  anjuna krokus 0849046b58 Merge remote-tracking branch 'master/master' преди 2 месеца
  anjuna krokus 741534aa0e [changed] updated descriptions for Mira's schedule преди 2 месеца
  Awesome c90c85067a [Added] AM/PM time format setting преди 2 месеца
  Kevin_Smarts 6ee3ddd1c2 Merge remote-tracking branch 'Steuchs_bug_hunt/QSRC2TW' преди 2 месеца
  Stephan Fuchs c236007a13 [SugarCube] Ship typescript-result for people who can't compile it and disable typescript in bat-file if node isn't installed. преди 2 месеца
  Stephan Fuchs 0019c83522 [SugarCube] enables Linux-compilation. преди 2 месеца
  Stephan Fuchs c425ba4ac5 [SugarCube] add `task_processor.js`, so we don't have to replace the binary whenever the task changes. преди 2 месеца
  Stephan Fuchs e0cd5300e9 [Sugarcube] Replace node-based qsrc2tw in build-process with `QSRC2TW.exe` преди 2 месеца
  Stephan Fuchs 86d3c86903 [SugarCube] Move resources from tool to tw-output. преди 2 месеца
  Stephan Fuchs 0626de57f4 [SugarCube] Fix `node:internal/event_target:1090`-error. преди 2 месеца
  anjuna krokus d736565923 [fixed] A bug related to repeatedly declining to send pictures in the blackmail storyline. Reported by Vladzilla преди 2 месеца
  Myles Croft (Hooded Silence) 791ad567b0 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife преди 2 месеца
  bgkjdgbizgblzdgbr dee279c105 [changed] Some appearence values where way to low to actually mather, so replaced them wiht better matching hotcat values. преди 2 месеца
  Kevin_Smarts d1e1e58aac Merge remote-tracking branch 'Anjuna/master' преди 2 месеца
  anjuna krokus 60f259a132 [fixed] ass and wrist tattoos weren't properly routing. Reported by Dasha преди 2 месеца
  netuttki af5117681a Buggy comment - reminder `//` is not qsp friendly. :/ преди 3 месеца
  netuttki 256a6d4534 Fixed the name used for prostitution at every location. преди 3 месеца
  netuttki 26b96f2d3f Merge remote-tracking branch 'Kevin_Smarts/master' преди 3 месеца
  Kevin_Smarts b7ca8c293e Merge remote-tracking branch 'Anjuna/master' преди 3 месеца
  anjuna krokus 40c100e5c1 [fixed] gadukino prostitution didn't set $used_name, leading to empty texts. Reported by Vladzilla преди 3 месеца
  anjuna krokus 05cd70ef34 [fixed] typo in the owned variables. Caught by Netuttki преди 3 месеца
  anjuna krokus 4dfbd36e56 Merge remote-tracking branch 'master/master' преди 3 месеца
  anjuna krokus f46cd98dc2 [fixed] navel piercing returned to brow piercing. Reported by Grimaldus преди 3 месеца
  netuttki 44500bdb02 Merge remote-tracking branch 'Kevin_Smarts/master' преди 3 месеца
  netuttki aeff8607ff Added to check for Sveta being homeless. преди 3 месеца
  netuttki ea457914d2 Replaced numeric values with the new constants преди 3 месеца
  Kevin_Smarts c388beb669 Merge remote-tracking branch 'Anjuna/master' преди 3 месеца
  netuttki 16a1768f02 Refactoring the `set_access` code - I think it's easier to read now. преди 3 месеца
  anjuna krokus 62db31067c [fixed] pcs_tattoos instead of the wrong tattoos variable преди 3 месеца
  Kevin_Smarts 49516123bb Merge remote-tracking branch 'Netuttki/master' преди 3 месеца
  netuttki 43f43d63da Blocking access to homes was broken - probably while adding 'homeless' преди 3 месеца
  anjuna krokus 726b15ba6a [fixed] cheatmenu still refering to old tattoo variables. преди 3 месеца
  anjuna krokus 5ff8750e36 Merge remote-tracking branch 'master/master' преди 3 месеца
  Kevin_Smarts aa327a3546 Merge remote-tracking branch 'Hornguy6/master' преди 3 месеца
  hornguy6 fe50cd94eb [fixed] endless looping causing crash преди 3 месеца
  anjuna krokus 21a5d97d5b [added] comments explaining the style types преди 3 месеца
  Myles Croft (Hooded Silence) 0c0ddc293e [Code Update] Reset named home after ballet week to parents apartment. преди 3 месеца
  Myles Croft (Hooded Silence) 7571efb4a6 [Code debugging] Further validation of gate logic for end-of-week assessments and to restrict leave times from the residence to prevent leaving too early, therefore resulting in {mc} breaking into the school преди 3 месеца
  Myles Croft (Hooded Silence) 70aac6c149 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife преди 3 месеца
  Kevin_Smarts e4bc1713ba Merge remote-tracking branch 'Anjuna/master' преди 3 месеца
  anjuna krokus 7b577cc038 [fixed] Mira and grandparents should now have their random schedules be set преди 3 месеца
  Myles Croft (Hooded Silence) 31a113f7d9 [Image update] New images added to library for spell learning. преди 3 месеца
  Myles Croft (Hooded Silence) a4836a8df5 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife преди 3 месеца
  Myles Croft (Hooded Silence) 157fc5507e [Code Debugging] Reverted ballet school gate assessment checks and fixed the lack o' time progression, and removed errant end statement in telefon. преди 3 месеца
  Kevin_Smarts 780b4a0348 Merge remote-tracking branch 'Anjuna/master' преди 3 месеца
  Kevin_Smarts e19912bc42 Merge remote-tracking branch 'Hooded_Silence/master' преди 3 месеца
  anjuna krokus 5d44bbeaf1 [fixed] a typo in the 'totals' functions causing only one to show up. Reported by Myles Croft. преди 3 месеца
  Myles Croft (Hooded Silence) bede61ad3b Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife преди 3 месеца
  netuttki 76e6f303b3 Removed the check for money block the Pavlovsk drug dealer преди 3 месеца
  netuttki 28ff4a174f Merge remote-tracking branch 'Kevin_Smarts/master' преди 3 месеца
  netuttki 27312797f3 No idea why there was an empty `glife` folder. преди 3 месеца
  Kevin_Smarts 00dea0c51d Merge remote-tracking branch 'Steuchs_bug_hunt/QSRC2TW' преди 3 месеца
  Kevin_Smarts 937b4fbad0 Merge remote-tracking branch 'Anjuna/master' преди 3 месеца
  Kevin_Smarts ba6031b409 [added] More feedback at the driving school so player knows they cannot use fake ID преди 3 месеца
  Stephan Fuchs 08ffe79131 [SugarCube] Fixes `<<EXIT>>`. Now it should work. преди 3 месеца
  Myles Croft (Hooded Silence) 7c418dfc47 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife преди 3 месеца
  anjuna krokus 8b0b2b2d52 Merge remote-tracking branch 'master/master' преди 3 месеца
  anjuna krokus 2294983359 [changed] moved some code around to put the filters at the top of the file преди 3 месеца
  netuttki 0a6c6eb1af Merge remote-tracking branch 'keving-upstream/master' преди 5 месеца
  netuttki 5ed829a3d1 Merge remote-tracking branch 'keving-upstream/master' преди 5 месеца
променени са 100 файла, в които са добавени 2963 реда и са изтрити 2818 реда
  1. 2 0
      .gitignore
  2. 11 3
      buildHTML.bat
  3. 22 0
      buildHTML.sh
  4. 0 1
      glife
  5. 12 8
      glife.qproj
  6. 64 64
      locations/BDman.qsrc
  7. 214 210
      locations/BDsex.qsrc
  8. 329 217
      locations/Cheatmenu_din.qsrc
  9. 1 1
      locations/Katlake.qsrc
  10. 30 29
      locations/Komp.qsrc
  11. 3 4
      locations/LakeBoyZ.qsrc
  12. 1 1
      locations/LariskaHome.qsrc
  13. 1 1
      locations/Serge_Shulgin.qsrc
  14. 1 1
      locations/Serge_kuh.qsrc
  15. 2 2
      locations/Terminal.qsrc
  16. 2 2
      locations/TerminalOffice.qsrc
  17. 1 1
      locations/Vika.qsrc
  18. 1 1
      locations/VolleyTrenCentr.qsrc
  19. 1 1
      locations/WorkHosp.qsrc
  20. 5 2
      locations/_face_image.qsrc
  21. 6 6
      locations/alarmclock.qsrc
  22. 43 37
      locations/albina_chat.qsrc
  23. 2 2
      locations/albina_sex_chat.qsrc
  24. 5 5
      locations/albina_sex_scenes.qsrc
  25. 15 14
      locations/albina_starlets.qsrc
  26. 15 11
      locations/albinahome.qsrc
  27. 1 1
      locations/andreihunter.qsrc
  28. 5 5
      locations/andrey.qsrc
  29. 5 5
      locations/anushka.qsrc
  30. 5 5
      locations/anushka_konstantinov_schedule.qsrc
  31. 8 8
      locations/anushkachat.qsrc
  32. 5 5
      locations/anushkachat_city.qsrc
  33. 1 1
      locations/arkadi_fyodorov_schedule.qsrc
  34. 16 16
      locations/arousal.qsrc
  35. 52 52
      locations/audition_reflections.qsrc
  36. 89 89
      locations/audition_sex1.qsrc
  37. 109 109
      locations/audition_sex2.qsrc
  38. 106 106
      locations/audition_sex3.qsrc
  39. 8 8
      locations/auditions.qsrc
  40. 15 9
      locations/bank.qsrc
  41. 1 1
      locations/bdsm_dressing.qsrc
  42. 2 2
      locations/bdsm_mansion.qsrc
  43. 61 57
      locations/bed_events.qsrc
  44. 1 142
      locations/bedr.qsrc
  45. 2 143
      locations/bedr2x.qsrc
  46. 1 1
      locations/bedrPar.qsrc
  47. 4 4
      locations/billsvid.qsrc
  48. 19 10
      locations/blackmailer.qsrc
  49. 3 0
      locations/body_structure.qsrc
  50. 79 103
      locations/booty_call.qsrc
  51. 34 29
      locations/booty_call_sms.qsrc
  52. 3 112
      locations/boyStat.qsrc
  53. 19 25
      locations/boy_updater.qsrc
  54. 0 19
      locations/boyfrend.qsrc
  55. 95 60
      locations/boylove.qsrc
  56. 3 3
      locations/bras.qsrc
  57. 0 37
      locations/brosok.qsrc
  58. 3 3
      locations/buklinik.qsrc
  59. 1 1
      locations/burger.qsrc
  60. 2 2
      locations/casting.qsrc
  61. 31 24
      locations/cikl.qsrc
  62. 59 6
      locations/city_apt_building.qsrc
  63. 13 13
      locations/city_bobka.qsrc
  64. 23 23
      locations/city_center.qsrc
  65. 3 3
      locations/city_church.qsrc
  66. 3 3
      locations/city_clinic.qsrc
  67. 1 1
      locations/city_coffee_hole.qsrc
  68. 2 1
      locations/city_commcenter.qsrc
  69. 1 19
      locations/city_house_res_kitch.qsrc
  70. 9 9
      locations/city_industrial.qsrc
  71. 5 5
      locations/city_island.qsrc
  72. 2 2
      locations/city_kafe.qsrc
  73. 1 1
      locations/city_lake.qsrc
  74. 4 1
      locations/city_library.qsrc
  75. 12 8
      locations/city_mansion_entrance.qsrc
  76. 1 19
      locations/city_mansion_residence_1.qsrc
  77. 2 2
      locations/city_market.qsrc
  78. 14 14
      locations/city_nightclub.qsrc
  79. 2 2
      locations/city_park.qsrc
  80. 5 5
      locations/city_redlight.qsrc
  81. 5 5
      locations/city_residential.qsrc
  82. 1 1
      locations/city_saunawhore.qsrc
  83. 2 2
      locations/city_smalloffice.qsrc
  84. 14 13
      locations/city_trademission.qsrc
  85. 0 9
      locations/clothing.qsrc
  86. 840 420
      locations/clothing_QV.qsrc
  87. 2 2
      locations/courtletter.qsrc
  88. 10 8
      locations/cum_call.qsrc
  89. 9 8
      locations/cum_cleanup.qsrc
  90. 5 23
      locations/dachain.qsrc
  91. 26 13
      locations/dachi.qsrc
  92. 39 39
      locations/dateF.qsrc
  93. 50 50
      locations/dateM.qsrc
  94. 7 4
      locations/dimaHome.qsrc
  95. 2 28
      locations/din_bad.qsrc
  96. 60 56
      locations/din_van.qsrc
  97. 2 2
      locations/directors.qsrc
  98. 3 3
      locations/emp_job_array.qsrc
  99. 1 1
      locations/etoexhib.qsrc
  100. 145 173
      locations/event.qsrc

+ 2 - 0
.gitignore

@@ -52,3 +52,5 @@ plugins.dat
 *.stackdump
 
 *glife.html
+
+glife

+ 11 - 3
buildHTML.bat

@@ -4,10 +4,18 @@ SET LOCATIONS=%CD%/locations
 
 PUSHD %1
 cd ./qsrc2tw/tools/QSRC2TW
-node index.js -in "%LOCATIONS%" -out "../../twine-code"
+CALL QSRC2TW.exe -in "%LOCATIONS%" -out "../../twine-code"
 cd ../..
-call npx tsc
-call npx esbuild "temp/typescript.js" --minify --outfile="twine-code/-generated/typescript-min.js"
+
+REM Check if node is installed
+node -v 2> Nul
+if "%errorlevel%" == "9009" (
+    echo node could not be found
+) else (
+	call npx tsc
+	call npx esbuild "temp/typescript.js" --minify --outfile="twine-code/-generatedFromTS/typescript-min.js"
+)
+
 POPD
 
 if %PROCESSOR_ARCHITECTURE% == AMD64 (

+ 22 - 0
buildHTML.sh

@@ -0,0 +1,22 @@
+LOCATIONS="$(pwd)/locations"
+
+pushd "$1" > /dev/null
+
+cd ./qsrc2tw/tools/QSRC2TW
+
+./qsrc2tw -in "$LOCATIONS" -out "../../twine-code"
+
+cd ../..
+
+if which node > /dev/null
+	then
+		npx tsc
+		npx esbuild "temp/typescript.js" --minify --outfile="twine-code/-generatedFromTW/typescript-min.js"
+	else
+		echo "Node could not be found"
+
+fi
+
+popd > /dev/null
+
+./qsrc2tw/tools/tweeGo/tweego_nix64 --head "./qsrc2tw/twine-code/misc/head.txt" -o "./glife.html" "./qsrc2tw/twine-code"

+ 0 - 1
glife

@@ -1 +0,0 @@
-Subproject commit 5aee05d9d8873e1b211f1c13dccc48e24f2eccfd

+ 12 - 8
glife.qproj

@@ -113,7 +113,6 @@
 		<Location name="$body_image"/>
 	</Folder>
 	<Folder name="Stimulus">
-		<Location name="boyStat"/>
 		<Location name="pain"/>
 		<Location name="arousal"/>
 		<Location name="arousal_oneline"/>
@@ -247,11 +246,11 @@
 	</Folder>
 	<Folder name="Phone">
 		<Location name="telefon"/>
+		<Location name="telefon_schedules"/>
 		<Location name="phone_selfies"/>
 		<Location name="phone_selfies_popup"/>
 		<Location name="SMStext_builder"/>
 		<Location name="SMS_selfies"/>
-		<Location name="SMS_schedules"/>
 	</Folder>
 	<Folder name="Prostitution">
 		<Location name="street_walker"/>
@@ -300,11 +299,14 @@
 		<Location name="stat_explanations"/>
 	</Folder>
 	<Folder name="NPCManage">
-		<Location name="npccleanc"/>
 		<Location name="npcgeneratec"/>
-		<Location name="npcgenext"/>
 		<Location name="npcpreservec"/>
+		<Location name="npccleanc"/>
+		<Location name="npcgenext"/>
 		<Location name="npcrnamefile"/>
+		<Location name="npcStat"/>
+		<Location name="npcStat_clean"/>
+		<Location name="boyStat"/>
 		<Location name="npcstaticdefaults"/>
 		<Location name="npcstatic1"/>
 		<Location name="npcstatic2"/>
@@ -560,6 +562,7 @@
 	<Folder name="Igor Kruglov">
 		<Location name="igorev"/>
 		<Location name="igorhome"/>
+		<Location name="igorsex"/>
 		<Location name="igor_schedule"/>
 	</Folder>
 	<Folder name="Katja Meynold">
@@ -861,24 +864,22 @@
 		<Location name="anekdot"/>
 		<Location name="stihi"/>
 		<Location name="love"/>
-		<Location name="brosok"/>
 		<Location name="gossips"/>
 	</Folder>
 	<Folder name="Boys">
 		<Location name="BDman"/>
 		<Location name="BDsex"/>
-		<Location name="boyfrend"/>
 		<Location name="boylove"/>
 	</Folder>
 	<Folder name="Lover">
-		<Location name="girlfriend"/>
 		<Location name="lover"/>
+		<Location name="lover_call"/>
 		<Location name="lover_change"/>
 		<Location name="lover_likes"/>
 		<Location name="lover_love"/>
+		<Location name="lover_living"/>
 		<Location name="lover_meet"/>
 		<Location name="lover_pref"/>
-		<Location name="lover_pronouns"/>
 		<Location name="pronouns"/>
 	</Folder>
 	<Folder name="Salon">
@@ -1053,10 +1054,13 @@
 		<Location name="bordelv"/>
 		<Location name="shop_erotomaniac"/>
 		<Location name="stripclub"/>
+		<Location name="stripclub_schedule"/>
 		<Location name="cfnm"/>
 		<Location name="stwork"/>
 		<Location name="stwork2"/>
+		<Location name="stwork3"/>
 		<Location name="hookahlounge"/>
+		<Location name="viktor_sex"/>
 	</Folder>
 	<Folder name="City_Island">
 		<Location name="city_island"/>

+ 64 - 64
locations/BDman.qsrc

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

+ 214 - 210
locations/BDsex.qsrc

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

+ 329 - 217
locations/Cheatmenu_din.qsrc

@@ -56,6 +56,7 @@ if $ARGS[0] = 'setting':
 	'Peeing: <a href="exec:										cheatVars[''pee'']					= iif(cheatVars[''pee''], 0, 1)					& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''pee'']					, ''Disabled'', ''Enabled'')>></a>'
 	*nl
 	'Renaming porn movies you star in: <a href="exec:			cheatVars[''rename_porn'']			= iif(cheatVars[''rename_porn''], 0, 1)			& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''rename_porn'']			, ''Enabled'', ''Disabled'')>></a>'
+	'Time format: <a href="exec: 								cheatVars[''time_format''] 			= iif(cheatVars[''time_format''], 0, 1) 		& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''time_format'']			, ''12 Hour'', ''24 Hour'')>></a>'
 	'Remove "once a week" therapist limit: <a href="exec:		cheatVars[''therapist_schedule'']	= iif(cheatVars[''therapist_schedule''], 0, 1)	& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''therapist_schedule'']	, ''Enabled'', ''Disabled'')>></a>'
 	*nl
 
@@ -434,10 +435,11 @@ if $ARGS[0] = 'permanent':
 
 	*nl
 	'No dream chance: <a href="exec: cheatVars[''no_dream_chance''] = input(''Enter no dream chance (%)'') & dynamic $cheatmenu[$cheatmenu[''this_menu'']]">' + iif(cheatVars['no_dream_chance'] > 0, '<<cheatVars[''no_dream_chance'']>>%</a>, <a href="exec:cheatVars[''no_dream_chance''] = 0 & dynamic $cheatmenu[$cheatmenu[''this_menu'']]">Enabled</a>', 'Disabled</a>')
-
 	*nl
-	'<font color="red"><b>WARNING!</b></font>: Disabling states may cause some events not to trigger. Use at your own risk!'
+
 	$cheatmenu['table_end']
+
+	'<center><font color="red"><b>WARNING!</b></font>: Disabling states may cause some events not to trigger. Use at your own risk!</center>'
 end
 
 !!----------------------------------------------------------------------------------------------------------------------------
@@ -819,158 +821,170 @@ if $ARGS[0] = 'looks':
 	'<center><h1>Cheat Menu - Character Appearance</h1></center>'
 	'<center><font color="red"><b>WARNING!</b></font>: Using cheats can cause bugs and break your save, use them with care. When reporting bugs, please mention any cheats you used.</center>'
 	*nl
-	$cheatmenu['table_start']
-	'<<$pcs_firstname>> <<$pcs_lastname>> (<<$pcs_nickname>>). <a href="exec:dynamic $cheatmenu[''rename'']">Rename</a>'
-
-
-	if face_style['type'] = 1: '<a href="exec: dynamic $cheatmenu[''change_avatar_path'']">Change current profile path:</a> <<$face_style[''avatar_path'']>>'
-	if face_style['type'] ! 0: '<a href="exec: face_style[''type''] = 0 & dynamic $cheatmenu[''looks'']">Use the dynamic profile system</a>'
-	if face_style['type'] ! 1: '<a href="exec: face_style[''type''] = 1 & $face_style[''avatar_path''] += iif($face_style[''avatar_path''] = '''', ''images/avatar.jpg'', '''') & dynamic $cheatmenu[''looks'']">Use a fixed profile image</a>'
-	if face_style['type'] ! 2: '<a href="exec: face_style[''type''] = 2 & dynamic $cheatmenu[''looks'']">Use the rendered profile system</a>'
-
-	if $face_style['avatar_hair'] ! '':
-		'<a href="exec: $face_style[''avatar_hair''] = '''' & dynamic $cheatmenu[''looks'']">Custom Hair: ON</a>'
-		'<<$face_style[''avatar_hair'']>>'
-	else
-		'<a href="exec:dynamic $cheatmenu[''avatar_hair_set'']">Custom Hair: OFF</a>'
-	end
-	*nl
-	'<a href="exec:gs ''Cheatmenu_din'', ''parameters''">Show design parameters of body</a>'
-	'<a href="exec:gs ''Cheatmenu_din'', ''vneshpara''">Show beauty parameters</a>'
-	*nl
-	'You are <a href="exec: pcs_dob += 10000 & dynamic $cheatmenu[''age'']">(-1)</a> <<age>> <a href="exec: pcs_dob -= 10000 & dynamic $cheatmenu[''age'']">(+1)</a> years old'
-	*nl
-	'You look <<vidage>> years old'
-	'<a href="exec:dynamic $cheatmenu[''visualage'']">Change apparent age</a>'
-	*nl
-	'You are <<pcs_hgt>> centimetres tall'
-	'<a href="exec:pcs_hgt = input(''Enter <<$pcs_nickname>>s height in centimetres<br><br>(default 165, min 100, max 200, values below 150 and above 180 will cause problems in the calculation of BMI/weight the more you deviate from the default 170)'') & dynamic $cheatmenu[''looks'']">Change <<$pcs_nickname>>''s height</a>'
-	*nl
-	*p 'Musculature (<<stren_plus_lvl>>): ' & dynamic $cheatmenu['printLooksLinks'], 'stren_plus', 'Musculature'
-	*pl '<font color="grey">Allows strength to go past 100'
-	*pl'<font color="red">Negatively</font> affects appearance</font>'
-	*nl
-	*p 'Toned Butt (<<butt_tr_lvl>>): ' & dynamic $cheatmenu['printLooksLinks'], 'butt_tr', 'Toned Butt'
-	*nl
-	'You have <<$titsize>> breasts'
-	if tits < 11:'<a href="exec: bodyVars[''bust_silicone''] += 5 & dynamic $cheatmenu[''looks'']">Enlarge breasts(silicone)</a>'
-	if bodyVars['bust_silicone'] => 1:'<a href="exec: bodyVars[''bust_silicone''] = min(0, bodyVars[''bust_silicone'']-5) & dynamic $cheatmenu[''looks'']">Shrink breasts(silicone)</a>'
-	if tits < 11 and pcs_mass['bust_gen'] < 50:'<a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_bust'', 5">Enlarge breasts (natural)</a>'
-	if pcs_mass['bust'] => 6 and pcs_mass['bust_gen'] => 6: '<a href="exec: titreduc = 1 & gs ''Cheatmenu_din'', ''change_pcs_mass_bust'', -5">Shrink breasts (natural)</a>'
-	*nl
-	if pcs_buttsize <= 14:
-		$cmd_temp_butt_desc = 'flat'
-	elseif pcs_buttsize <= 25:
-		$cmd_temp_butt_desc = 'average'
-	elseif pcs_buttsize <= 40:
-		$cmd_temp_butt_desc = 'pert'
-	elseif pcs_buttsize <= 59:
-		$cmd_temp_butt_desc = 'heart-shaped'
-	else
-		$cmd_temp_butt_desc = 'bubble'
-	end
-	'You have a <<$cmd_temp_butt_desc>> butt'
-	if pcs_buttsize < 50: '<a href="exec: bodyVars[''butt_silicone''] += 10 & dynamic $cheatmenu[''looks'']">Enlarge butt (silicone)</a>'
-	if bodyVars['butt_silicone'] => 1: '<a href="exec: bodyVars[''butt_silicone''] = max(0, bodyVars[''butt_silicone'']-10) & dynamic $cheatmenu[''looks'']">Shrink butt (silicone)</a>'
-	if pcs_mass['butt'] < 50 and pcs_mass['butt_gen'] < 50: '<a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_butt'', 10">Enlarge butt (natural)</a>'
-	if pcs_mass['butt'] => 6 and pcs_mass['butt_gen'] => 6: '<a href="exec: assreduc = 1 & gs ''Cheatmenu_din'', ''change_pcs_mass_butt'', -10">Shrink butt (natural)</a>'
-	killvar '$cmd_temp_butt_desc'
-	!! if pcs_buttsize < 20:'<a href="exec: bodyVars[''butt_cheat''] += 2 & dynamic $cheatmenu[''looks'']">Enlarge butt</a>'
-	!! if pcs_buttsize > 1:'<a href="exec: bodyVars[''butt_cheat''] -= 2 & dynamic $cheatmenu[''looks'']">Shrink butt</a>'
-	!! if bodyVars['butt_cheat'] ! 0:'<a href="exec: bodyVars[''butt_cheat''] = 0 & dynamic $cheatmenu[''looks'']">Reset butt shape to default</a>'
-	*nl
-	'<<$pc_descFull[''lip'']>>'
-	if pcs_lip < 4:'<a href="exec:pcs_lip += 1 & dynamic $cheatmenu[''looks'']">Enlarge lips</a>'
-	if pcs_lip > 0:'<a href="exec:pcs_lip -= 1 & dynamic $cheatmenu[''looks'']">Shrink lips</a>'
-	*nl
-	'<<$pc_descFull[''skin'']>>'
-	if pcs_skin < 900: '<a href="exec:pcs_skin += 200 & gs ''AppearanceSystem'', ''UpdateBaseAppearance'' & dynamic $cheatmenu[''looks'']">Improve skin</a>'
-	if pcs_skin > 0: '<a href="exec:pcs_skin -= 200 & gs ''AppearanceSystem'', ''UpdateBaseAppearance'' & dynamic $cheatmenu[''looks'']">Worsen skin</a>'
-	if pcs_tan >= 0:'<a href="exec:pcs_tan += 10 & dynamic $cheatmenu[''looks'']">Become tanned</a>'
-	if pcs_tan > 0:'<a href="exec:pcs_tan = 0 & dynamic $cheatmenu[''looks'']">Remove tan</a>'
-	*nl
-	'<<$pc_descFull[''throat'']>>'
-	if pcs_throat <= 31:'<a href="exec:pcs_throat += 5 & dynamic $cheatmenu[''looks'']">Increase throat capacity</a>'
-	if pcs_throat >= 5:'<a href="exec:pcs_throat -= 5 & dynamic $cheatmenu[''looks'']">Decrease throat capacity</a>'
-	if dounspell = 1:
+	'<center><table width="1000" cellspacing="0" cellpadding="10" valign="top"><tr><td width="33%" valign="top">'
+		'<<$pcs_firstname>> <<$pcs_lastname>> (<<$pcs_nickname>>). <a href="exec:dynamic $cheatmenu[''rename'']">Rename</a>'
 		*nl
-		'<a href="exec:dounsplkil = 2 & gs ''body'', ''hardreset''">Hard Reset body shape</a>'
-	end
-
-	*nl
-	'<<$pcs_vag>>'
-	if pcs_vag > 0:'<a href="exec:pcs_vag = 0 & dynamic $cheatmenu[''looks'']">Reinstate virginity</a>'
-	if stat['think_virgin'] < 1:'<a href="exec:stat[''vaginal''] = 0 & stat[''vaginal_fist''] = 0 & stat[''vaginal_dildo''] = 0 & stat[''vaginal_strap''] = 0 & dynamic $cheatmenu[''looks'']">Make Sveta believe she is a virgin again (resets the related sex stats)</a>'
-	if pcs_vag <= 25:'<a href="exec:gs ''Cheatmenu_din'', ''vagenlarge''">Enlarge comfortable vaginal capacity</a>'
-	if pcs_vag >= 5:'<a href="exec:gs ''Cheatmenu_din'', ''vagreduce''">Reduce comfortable vaginal capacity</a>'
-	'Your comfortable vaginal capacity will reduce by <<vshrink>> every <<vshrinkdays>> days.'
-	if vshrink < 10:'<a href="exec:vshrink += 1 & dynamic $cheatmenu[''looks'']">Increase amount of reduction</a>'
-	if vshrink > 0:'<a href="exec:vshrink -= 1 & dynamic $cheatmenu[''looks'']">Reduce amount of reduction</a>'
-	if vshrinkdays < 10:'<a href="exec:vshrinkdays += 1 & dynamic $cheatmenu[''looks'']">Increase number of days it takes</a>'
-	if vshrinkdays > 1:'<a href="exec:vshrinkdays -= 1 & dynamic $cheatmenu[''looks'']">Reduce number of days it takes</a>'
-	'When gaped your vagina will reduce each stage (up to 4 for maximum gape) every <<vgape[4]>> minutes.'
-	if vgape[4] < 60:'<a href="exec:vgape[4] += 5 & dynamic $cheatmenu[''looks'']">Increase time by 5 minutes</a>'
-	if vgape[4] > 5:'<a href="exec:vgape[4] -= 5 & dynamic $cheatmenu[''looks'']">Reduce time by 5 minutes</a>'
-	*nl
-	'<<$pcs_ass>>'
-	if pcs_ass <= 25:'<a href="exec:gs ''Cheatmenu_din'', ''assenlarge''">Enlarge comfortable anal capacity</a>'
-	if pcs_ass >= 5:'<a href="exec:gs ''Cheatmenu_din'', ''assreduce''">Reduce comfortable anal capacity</a>'
-	'Your comfortable anal capacity will reduce by <<ashrink>> every <<ashrinkdays>> days.'
-	if ashrink < 10:'<a href="exec:ashrink += 1 & dynamic $cheatmenu[''looks'']">Increase amount of reduction</a>'
-	if ashrink > 0:'<a href="exec:ashrink -= 1 & dynamic $cheatmenu[''looks'']">Reduce amount of reduction</a>'
-	if ashrinkdays < 10:'<a href="exec:ashrinkdays += 1 & dynamic $cheatmenu[''looks'']">Increase number of days it takes</a>'
-	if ashrinkdays > 1:'<a href="exec:ashrinkdays -= 1 & dynamic $cheatmenu[''looks'']">Reduce number of days it takes</a>'
-	'When gaped your anus will reduce each stage (up to 4 for maximum gape) every <<agape[4]>> minutes.'
-	if agape[4] < 60:'<a href="exec:agape[4] += 5 & dynamic $cheatmenu[''looks'']">Increase time by 5 minutes</a>'
-	if agape[4] > 5:'<a href="exec:agape[4] -= 5 & dynamic $cheatmenu[''looks'']">Reduce time by 5 minutes</a>'
-	*nl
-	if dounspell = 0:
-		if fat ! 0: '<a href="exec:fat = 0 & dynamic $cheatmenu[''looks'']">Zero fat</a>'
-		'Body Fat = (<<pcs_mass[''body'']>>): <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -10">-10</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -5">-5</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -1">-1</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 1">+1</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 5">+5</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 10">+10</a>'
-		'Note: You need some Body Fat to survive, any value under 11 is clasified as "starving" and a value of 0 can lead to a Game Over. <<func(''body'', ''CalcOptBodyMass'')>> gives a bmi of 22.5.'
-	end
-	*nl
-	'<a href="exec:dynamic $cheatmenu[''tatoo'']">Tattoo removal</a>'
-	*nl
-	'<<$hair>>'
-	if pcs_haircol = 0:
-		'Your hair is now (prev) <<$pcs_haircol>> <a href="exec:pcs_haircol +=1 & dynamic $cheatmenu[''looks''] & nathcol = pcs_haircol">(next)</a>'
-	elseif pcs_haircol > 0 and pcs_haircol < 3:
-		'Your hair is now <a href="exec:pcs_haircol -=1 & dynamic $cheatmenu[''looks'']" & nathcol = pcs_haircol>(prev)</a> <<$pcs_haircol>> <a href="exec:pcs_haircol +=1 & dynamic $cheatmenu[''looks'']" & pcs_haircol = nathcol>(next)</a>'
-	elseif pcs_haircol = 3:
-		'Your hair is now <a href="exec:pcs_haircol -=1 & dynamic $cheatmenu[''looks'']" & nathcol = pcs_haircol>(prev)</a> <<$pcs_haircol>> (next)'
-	else
-		'To change your natural hair color, you have to <a href="exec:pcs_haircol = nathcol & dynamic $cheatmenu[''looks'']">restore your natural hair color</a> first.'
-	end
-	if pcs_hairlng > 975:
-		'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 100 & dynamic $cheatmenu[''looks'']">-100</a> <a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a>'
-	elseif pcs_hairlng > 900:
-		'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 100 & dynamic $cheatmenu[''looks'']">-100</a> <a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a>'
-	elseif pcs_hairlng >= 100:
-		'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 100 & dynamic $cheatmenu[''looks'']">-100</a> <a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
-	elseif pcs_hairlng >= 25:
-		'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
-	elseif pcs_hairlng >= 5:
-		'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
-	else
-		'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
-	end
-	if hairgrowcht = 0:'<a href="exec:hairgrowcht = 1 & dynamic $cheatmenu[''looks'']">Stop hair growth</a>'
-	if hairgrowcht = 1:'<a href="exec:hairgrowcht = 0 & dynamic $cheatmenu[''looks'']">Allow hair growth</a>'
-	*nl
-	'<<$pc_descFull[''eyes'']>>'
-	if pcs_naturallashes < 2:'<a href="exec:pcs_naturallashes += 1 & dynamic $cheatmenu[''looks'']">Enlarge lashes</a>'
-	if pcs_naturallashes > 0:'<a href="exec:pcs_naturallashes -= 1 & dynamic $cheatmenu[''looks'']">Shrink lashes</a>'
-	if pcs_eyesize < 3:'<a href="exec:pcs_eyesize += 1 & dynamic $cheatmenu[''looks'']">Increase the size of the eye</a>'
-	if pcs_eyesize > 0:'<a href="exec:pcs_eyesize -= 1 & dynamic $cheatmenu[''looks'']">Reduce the size of the eye</a>'
-	if pcs_eyecol <= 0:
-		'Your eyes are now (prev) <<$pcs_eyecol>> <a href="exec:pcs_eyecol +=1 & dynamic $cheatmenu[''looks'']">(next)</a>'
-	elseif pcs_eyecol > 0 and pcs_eyecol < 3:
-		'Your eyes are now <a href="exec:pcs_eyecol -=1 & dynamic $cheatmenu[''looks'']">(prev)</a> <<$pcs_eyecol>> <a href="exec:pcs_eyecol +=1 & dynamic $cheatmenu[''looks'']">(next)</a>'
-	elseif pcs_eyecol >= 3:
-		'Your eyes are now <a href="exec:pcs_eyecol -=1 & dynamic $cheatmenu[''looks'']">(prev)</a> <<$pcs_eyecol>> (next)'
-	end
-	$cheatmenu['table_end']
+		if face_style['type'] = 1: '<a href="exec: dynamic $cheatmenu[''change_avatar_path'']">Change current profile path:</a> <<$face_style[''avatar_path'']>>'
+		if face_style['type'] = 0:
+			'Using the dynamic profile system'
+		else
+			'<a href="exec: face_style[''type''] = 0 & dynamic $cheatmenu[''looks'']">Use the dynamic profile system</a>'
+		end
+		if face_style['type'] = 1:
+			'Using a fixed profile image'
+		else
+			'<a href="exec: face_style[''type''] = 1 & $face_style[''avatar_path''] += iif($face_style[''avatar_path''] = '''', ''images/avatar.jpg'', '''') & dynamic $cheatmenu[''looks'']">Use a fixed profile image</a>'
+		end
+		if face_style['type'] = 2:
+			'Using the rendered profile system'
+		else
+			'<a href="exec: face_style[''type''] = 2 & dynamic $cheatmenu[''looks'']">Use the rendered profile system</a>'
+		end
+		*nl
+		if $face_style['avatar_hair'] = '':
+			'<a href="exec:dynamic $cheatmenu[''avatar_hair_set'']">Custom Hair: OFF</a>'
+		else
+			'<a href="exec: $face_style[''avatar_hair''] = '''' & dynamic $cheatmenu[''looks'']">Custom Hair: ON</a>'
+			'<<$face_style[''avatar_hair'']>>'
+		end
+		*nl
+		'<a href="exec:gs ''Cheatmenu_din'', ''parameters''">Show design parameters of body</a>'
+		'<a href="exec:gs ''Cheatmenu_din'', ''vneshpara''">Show beauty parameters</a>'
+		*nl
+		'You are <a href="exec: pcs_dob += 10000 & dynamic $cheatmenu[''age'']">(-1)</a> <<age>> <a href="exec: pcs_dob -= 10000 & dynamic $cheatmenu[''age'']">(+1)</a> years old'
+		*nl
+		'You look <<vidage>> years old'
+		'<a href="exec:dynamic $cheatmenu[''visualage'']">Change apparent age</a>'
+		*nl
+		'You are <<pcs_hgt>> centimetres tall'
+		'<a href="exec:pcs_hgt = input(''Enter <<$pcs_nickname>>s height in centimetres<br><br>(default 165, min 100, max 200, values below 150 and above 180 will cause problems in the calculation of BMI/weight the more you deviate from the default 170)'') & dynamic $cheatmenu[''looks'']">Change <<$pcs_nickname>>''s height</a>'
+		*nl
+		'Musculature (<<stren_plus_lvl>>): ' & dynamic $cheatmenu['printLooksLinks'], 'stren_plus', 'Musculature'
+		'<font color="grey">Allows strength to go past 100'
+		'<font color="red">Negatively</font> affects appearance</font>'
+		*nl
+		'Toned Butt (<<butt_tr_lvl>>): ' & dynamic $cheatmenu['printLooksLinks'], 'butt_tr', 'Toned Butt'
+		*nl
+		'You have <<$titsize>> breasts'
+		if tits < 11:'<a href="exec: bodyVars[''bust_silicone''] += 5 & dynamic $cheatmenu[''looks'']">Enlarge breasts(silicone)</a>'
+		if bodyVars['bust_silicone'] => 1:'<a href="exec: bodyVars[''bust_silicone''] = min(0, bodyVars[''bust_silicone'']-5) & dynamic $cheatmenu[''looks'']">Shrink breasts(silicone)</a>'
+		if tits < 11 and pcs_mass['bust_gen'] < 50:'<a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_bust'', 5">Enlarge breasts (natural)</a>'
+		if pcs_mass['bust'] => 6 and pcs_mass['bust_gen'] => 6: '<a href="exec: titreduc = 1 & gs ''Cheatmenu_din'', ''change_pcs_mass_bust'', -5">Shrink breasts (natural)</a>'
+		*nl
+		if pcs_buttsize <= 14:
+			$cmd_temp_butt_desc = 'flat'
+		elseif pcs_buttsize <= 25:
+			$cmd_temp_butt_desc = 'average'
+		elseif pcs_buttsize <= 40:
+			$cmd_temp_butt_desc = 'pert'
+		elseif pcs_buttsize <= 59:
+			$cmd_temp_butt_desc = 'heart-shaped'
+		else
+			$cmd_temp_butt_desc = 'bubble'
+		end
+		'You have a <<$cmd_temp_butt_desc>> butt'
+		if pcs_buttsize < 50: '<a href="exec: bodyVars[''butt_silicone''] += 10 & dynamic $cheatmenu[''looks'']">Enlarge butt (silicone)</a>'
+		if bodyVars['butt_silicone'] => 1: '<a href="exec: bodyVars[''butt_silicone''] = max(0, bodyVars[''butt_silicone'']-10) & dynamic $cheatmenu[''looks'']">Shrink butt (silicone)</a>'
+		if pcs_mass['butt'] < 50 and pcs_mass['butt_gen'] < 50: '<a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_butt'', 10">Enlarge butt (natural)</a>'
+		if pcs_mass['butt'] => 6 and pcs_mass['butt_gen'] => 6: '<a href="exec: assreduc = 1 & gs ''Cheatmenu_din'', ''change_pcs_mass_butt'', -10">Shrink butt (natural)</a>'
+		killvar '$cmd_temp_butt_desc'
+		!! if pcs_buttsize < 20:'<a href="exec: bodyVars[''butt_cheat''] += 2 & dynamic $cheatmenu[''looks'']">Enlarge butt</a>'
+		!! if pcs_buttsize > 1:'<a href="exec: bodyVars[''butt_cheat''] -= 2 & dynamic $cheatmenu[''looks'']">Shrink butt</a>'
+		!! if bodyVars['butt_cheat'] ! 0:'<a href="exec: bodyVars[''butt_cheat''] = 0 & dynamic $cheatmenu[''looks'']">Reset butt shape to default</a>'
+		*nl
+		'<<$pc_descFull[''lip'']>>'
+		if pcs_lip < 4:'<a href="exec:pcs_lip += 1 & dynamic $cheatmenu[''looks'']">Enlarge lips</a>'
+		if pcs_lip > 0:'<a href="exec:pcs_lip -= 1 & dynamic $cheatmenu[''looks'']">Shrink lips</a>'
+	'</td><td width="33%" valign="top">'
+		!*nl
+		'<<$pc_descFull[''skin'']>>'
+		if pcs_skin < 900: '<a href="exec:pcs_skin += 200 & gs ''AppearanceSystem'', ''UpdateBaseAppearance'' & dynamic $cheatmenu[''looks'']">Improve skin</a>'
+		if pcs_skin > 0: '<a href="exec:pcs_skin -= 200 & gs ''AppearanceSystem'', ''UpdateBaseAppearance'' & dynamic $cheatmenu[''looks'']">Worsen skin</a>'
+		if pcs_tan >= 0:'<a href="exec:pcs_tan += 10 & dynamic $cheatmenu[''looks'']">Become tanned</a>'
+		if pcs_tan > 0:'<a href="exec:pcs_tan = 0 & dynamic $cheatmenu[''looks'']">Remove tan</a>'
+		*nl
+		'<<$pc_descFull[''throat'']>>'
+		if pcs_throat <= 31:'<a href="exec:pcs_throat += 5 & dynamic $cheatmenu[''looks'']">Increase throat capacity</a>'
+		if pcs_throat >= 5:'<a href="exec:pcs_throat -= 5 & dynamic $cheatmenu[''looks'']">Decrease throat capacity</a>'
+		if dounspell = 1:
+			*nl
+			'<a href="exec:dounsplkil = 2 & gs ''body'', ''hardreset''">Hard Reset body shape</a>'
+		end
+		*nl
+		'<<$pcs_vag>>'
+		if pcs_vag > 0:'<a href="exec:pcs_vag = 0 & dynamic $cheatmenu[''looks'']">Reinstate virginity</a>'
+		if stat['think_virgin'] < 1:'<a href="exec:stat[''vaginal''] = 0 & stat[''vaginal_fist''] = 0 & stat[''vaginal_dildo''] = 0 & stat[''vaginal_strap''] = 0 & dynamic $cheatmenu[''looks'']">Make Sveta believe she is a virgin again (resets the related sex stats)</a>'
+		if pcs_vag <= 25:'<a href="exec:gs ''Cheatmenu_din'', ''vagenlarge''">Enlarge comfortable vaginal capacity</a>'
+		if pcs_vag >= 5:'<a href="exec:gs ''Cheatmenu_din'', ''vagreduce''">Reduce comfortable vaginal capacity</a>'
+		'Your comfortable vaginal capacity will reduce by <<vshrink>> every <<vshrinkdays>> days.'
+		if vshrink < 10:'<a href="exec:vshrink += 1 & dynamic $cheatmenu[''looks'']">Increase amount of reduction</a>'
+		if vshrink > 0:'<a href="exec:vshrink -= 1 & dynamic $cheatmenu[''looks'']">Reduce amount of reduction</a>'
+		if vshrinkdays < 10:'<a href="exec:vshrinkdays += 1 & dynamic $cheatmenu[''looks'']">Increase number of days it takes</a>'
+		if vshrinkdays > 1:'<a href="exec:vshrinkdays -= 1 & dynamic $cheatmenu[''looks'']">Reduce number of days it takes</a>'
+		'When gaped your vagina will reduce each stage (up to 4 for maximum gape) every <<vgape[4]>> minutes.'
+		if vgape[4] < 60:'<a href="exec:vgape[4] += 5 & dynamic $cheatmenu[''looks'']">Increase time by 5 minutes</a>'
+		if vgape[4] > 5:'<a href="exec:vgape[4] -= 5 & dynamic $cheatmenu[''looks'']">Reduce time by 5 minutes</a>'
+		*nl
+		'<<$pcs_ass>>'
+		if pcs_ass <= 25:'<a href="exec:gs ''Cheatmenu_din'', ''assenlarge''">Enlarge comfortable anal capacity</a>'
+		if pcs_ass >= 5:'<a href="exec:gs ''Cheatmenu_din'', ''assreduce''">Reduce comfortable anal capacity</a>'
+		'Your comfortable anal capacity will reduce by <<ashrink>> every <<ashrinkdays>> days.'
+		if ashrink < 10:'<a href="exec:ashrink += 1 & dynamic $cheatmenu[''looks'']">Increase amount of reduction</a>'
+		if ashrink > 0:'<a href="exec:ashrink -= 1 & dynamic $cheatmenu[''looks'']">Reduce amount of reduction</a>'
+		if ashrinkdays < 10:'<a href="exec:ashrinkdays += 1 & dynamic $cheatmenu[''looks'']">Increase number of days it takes</a>'
+		if ashrinkdays > 1:'<a href="exec:ashrinkdays -= 1 & dynamic $cheatmenu[''looks'']">Reduce number of days it takes</a>'
+		'When gaped your anus will reduce each stage (up to 4 for maximum gape) every <<agape[4]>> minutes.'
+		if agape[4] < 60:'<a href="exec:agape[4] += 5 & dynamic $cheatmenu[''looks'']">Increase time by 5 minutes</a>'
+		if agape[4] > 5:'<a href="exec:agape[4] -= 5 & dynamic $cheatmenu[''looks'']">Reduce time by 5 minutes</a>'
+	'</td><td width="33%" valign="top">'
+		!*nl
+		if dounspell = 0:
+			if fat ! 0: '<a href="exec:fat = 0 & dynamic $cheatmenu[''looks'']">Zero fat</a>'
+			'Body Fat = (<<pcs_mass[''body'']>>): <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -10">-10</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -5">-5</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', -1">-1</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 1">+1</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 5">+5</a> <a href="exec: gs ''Cheatmenu_din'', ''change_pcs_mass_body'', 10">+10</a>'
+			'Note: You need some Body Fat to survive, any value under 11 is clasified as "starving" and a value of 0 can lead to a Game Over. <<func(''body'', ''CalcOptBodyMass'')>> gives a bmi of 22.5.'
+		end
+		*nl
+		'<a href="exec:dynamic $cheatmenu[''tatoo'']">Tattoo removal</a>'
+		*nl
+		'<<$hair>>'
+		if pcs_haircol = 0:
+			'Your hair is now (prev) <<$pcs_haircol>> <a href="exec:pcs_haircol +=1 & dynamic $cheatmenu[''looks''] & nathcol = pcs_haircol">(next)</a>'
+		elseif pcs_haircol > 0 and pcs_haircol < 3:
+			'Your hair is now <a href="exec:pcs_haircol -=1 & dynamic $cheatmenu[''looks'']" & nathcol = pcs_haircol>(prev)</a> <<$pcs_haircol>> <a href="exec:pcs_haircol +=1 & dynamic $cheatmenu[''looks'']" & pcs_haircol = nathcol>(next)</a>'
+		elseif pcs_haircol = 3:
+			'Your hair is now <a href="exec:pcs_haircol -=1 & dynamic $cheatmenu[''looks'']" & nathcol = pcs_haircol>(prev)</a> <<$pcs_haircol>> (next)'
+		else
+			'To change your natural hair color, you have to <a href="exec:pcs_haircol = nathcol & dynamic $cheatmenu[''looks'']">restore your natural hair color</a> first.'
+		end
+		if pcs_hairlng > 975:
+			'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 100 & dynamic $cheatmenu[''looks'']">-100</a> <a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a>'
+		elseif pcs_hairlng > 900:
+			'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 100 & dynamic $cheatmenu[''looks'']">-100</a> <a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a>'
+		elseif pcs_hairlng >= 100:
+			'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 100 & dynamic $cheatmenu[''looks'']">-100</a> <a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
+		elseif pcs_hairlng >= 25:
+			'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 25 & dynamic $cheatmenu[''looks'']">-25</a> <a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
+		elseif pcs_hairlng >= 5:
+			'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng -= 5 & dynamic $cheatmenu[''looks'']">-5</a> <a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
+		else
+			'Hair length (<<pcs_hairlng>>)	<a href="exec:pcs_hairlng += 5 & dynamic $cheatmenu[''looks'']">+5</a> <a href="exec:pcs_hairlng += 25 & dynamic $cheatmenu[''looks'']">+25</a> <a href="exec:pcs_hairlng += 100 & dynamic $cheatmenu[''looks'']">+100</a>'
+		end
+		if hairgrowcht = 0:'<a href="exec:hairgrowcht = 1 & dynamic $cheatmenu[''looks'']">Stop hair growth</a>'
+		if hairgrowcht = 1:'<a href="exec:hairgrowcht = 0 & dynamic $cheatmenu[''looks'']">Allow hair growth</a>'
+		*nl
+		'<<$pc_descFull[''eyes'']>>'
+		if pcs_naturallashes < 2:'<a href="exec:pcs_naturallashes += 1 & dynamic $cheatmenu[''looks'']">Enlarge lashes</a>'
+		if pcs_naturallashes > 0:'<a href="exec:pcs_naturallashes -= 1 & dynamic $cheatmenu[''looks'']">Shrink lashes</a>'
+		if pcs_eyesize < 3:'<a href="exec:pcs_eyesize += 1 & dynamic $cheatmenu[''looks'']">Increase the size of the eye</a>'
+		if pcs_eyesize > 0:'<a href="exec:pcs_eyesize -= 1 & dynamic $cheatmenu[''looks'']">Reduce the size of the eye</a>'
+		if pcs_eyecol <= 0:
+			'Your eyes are now (prev) <<$pcs_eyecol>> <a href="exec:pcs_eyecol +=1 & dynamic $cheatmenu[''looks'']">(next)</a>'
+		elseif pcs_eyecol > 0 and pcs_eyecol < 3:
+			'Your eyes are now <a href="exec:pcs_eyecol -=1 & dynamic $cheatmenu[''looks'']">(prev)</a> <<$pcs_eyecol>> <a href="exec:pcs_eyecol +=1 & dynamic $cheatmenu[''looks'']">(next)</a>'
+		elseif pcs_eyecol >= 3:
+			'Your eyes are now <a href="exec:pcs_eyecol -=1 & dynamic $cheatmenu[''looks'']">(prev)</a> <<$pcs_eyecol>> (next)'
+		end
+	'</td></tr></table>'
 end
 
 $cheatmenu['change_avatar_path'] = "gs 'Cheatmenu_din', 'change_avatar_path'"
@@ -1161,42 +1175,96 @@ if $ARGS[0] = 'tatoo':
 	'<center><h1>Cheat Menu - Tattoos</h1></center>'
 	act 'Return to appearance menu':dynamic $cheatmenu['looks']
 	*nl
-	if tatarm = 0:'You do not have a tattoo on your arm</a>'
-	if tatarm >= 1:'<a href="exec:tattCount-=1 & tatarm = 0 & dynamic $cheatmenu[''tatoo'']">Remove your arm tattoo</a>'
-	if tatass = 0:'You do not have a tattoo on your ass</a>'
-	if tatass >= 1:'<a href="exec:tattCount-=1 & tatass = 0 & dynamic $cheatmenu[''tatoo'']">Remove your ass tattoo</a>'
-	if tatback = 0:'You do not have a tattoo on your back</a>'
-	if tatback >= 1:'<a href="exec:tattCount-=1 & tatback = 0 & dynamic $cheatmenu[''tatoo'']">Remove your back tattoo</a>'
-	if tatblly = 0:'You do not have a tattoo on your belly</a>'
-	if tatblly >= 1:'<a href="exec:tattCount-=1 & tatblly = 0 & dynamic $cheatmenu[''tatoo'']">Remove your belly tattoo</a>'
-	if tatbrst = 0:'You do not have a tattoo on your breast</a>'
-	if tatbrst >= 1:'<a href="exec:tattCount-=1 & tatbrst = 0 & dynamic $cheatmenu[''tatoo'']">Remove your breast tattoo</a>'
-	if tatchst = 0:'You do not have a tattoo on your chest</a>'
-	if tatchst >= 1:'<a href="exec:tattCount-=1 & tatchst = 0 & dynamic $cheatmenu[''tatoo'']">Remove your chest tattoo</a>'
-	if tatfce = 0:'You do not have a tattoo on your face</a>'
-	if tatfce >= 1:'<a href="exec:tattCount-=1 & tatfce = 0 & dynamic $cheatmenu[''tatoo'']">Remove your face tattoo</a>'
-	if tatankle = 0:'You do not have a tattoo on your ankle</a>'
-	if tatankle >= 1:'<a href="exec:tattCount-=1 & tatankle = 0 & dynamic $cheatmenu[''tatoo'']">Remove your ankle tattoo</a>'
-	if tatleg = 0:'You do not have a tattoo on your leg</a>'
-	if tatleg >= 1:'<a href="exec:tattCount-=1 & tatleg = 0 & dynamic $cheatmenu[''tatoo'']">Remove your leg tattoo</a>'
-	if tatlip = 0:'You do not have a tattoo on your lip</a>'
-	if tatlip >= 1:'<a href="exec:tattCount-=1 & tatlip = 0 & dynamic $cheatmenu[''tatoo'']">Remove your lip tattoo</a>'
-	if tatneck = 0:'You do not have a tattoo on your neck</a>'
-	if tatneck >= 1:'<a href="exec:tattCount-=1 & tatneck = 0 & dynamic $cheatmenu[''tatoo'']">Remove your neck tattoo</a>'
-	if tatvag = 0:'You do not have a pubic tattoo</a>'
-	if tatvag >= 1:'<a href="exec:tattCount-=1 & tatvag = 0 & dynamic $cheatmenu[''tatoo'']">Remove your pubic tattoo</a>'
-	if tatlech = 0:'You do not have a tattoo on your shoulder</a>'
-	if tatlech >= 1:'<a href="exec:tattCount-=1 & tatlech = 0 & dynamic $cheatmenu[''tatoo'']">Remove your shoulder tattoo</a>'
-	if tatside = 0:'You do not have a tattoo on your side</a>'
-	if tatside >= 1:'<a href="exec:tattCount-=1 & tatside = 0 & dynamic $cheatmenu[''tatoo'']">Remove your the tattoo on your side</a>'
-	if tatupb = 0:'You do not have a tramp stamp</a>'
-	if tatupb >= 1:'<a href="exec:tattCount-=1 & tatupb = 0 & dynamic $cheatmenu[''tatoo'']">Remove your tramp stamp</a>'
-	if tatunder = 0:'You do not have an under breast tattoo</a>'
-	if tatunder >= 1:'<a href="exec:tattCount-=1 & tatunder = 0 & dynamic $cheatmenu[''tatoo'']">Remove your under breast tattoo</a>'
-	if tatwrist = 0:'You do not have a tattoo on your wrist</a>'
-	if tatwrist >= 1:'<a href="exec:tattCount-=1 & tatwrist = 0 & dynamic $cheatmenu[''tatoo'']">Remove your wrist tattoo</a>'
-	if tathand = 0:'You do not have a tattoo on your hand</a>'
-	if tathand >= 1:'<a href="exec:tattCount-=1 & tathand = 0 & dynamic $cheatmenu[''tatoo'']">Remove your hand tattoo</a>'
+	if pcs_tattoos['ankle'] <= 0:
+		'You do not have a tattoo on your ankle'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''ankle'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your ankle tattoo</a>'
+	end
+	if pcs_tattoos['arm'] <= 0:
+		'You do not have a tattoo on your arm'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''arm'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your arm tattoo</a>'
+	end
+	if pcs_tattoos['ass'] <= 0:
+		'You do not have a tattoo on your ass'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''ass'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your ass tattoo</a>'
+	end
+	if pcs_tattoos['back'] <= 0:
+		'You do not have a tattoo on your back'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''back'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your back tattoo</a>'
+	end
+	if pcs_tattoos['belly'] <= 0:
+		'You do not have a tattoo on your belly'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''belly'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your belly tattoo</a>'
+	end
+	if pcs_tattoos['breast'] <= 0:
+		'You do not have a tattoo on your breast'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''breast'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your breast tattoo</a>'
+	end
+	if pcs_tattoos['chest'] <= 0:
+		'You do not have a tattoo on your chest'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''chest'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your chest tattoo</a>'
+	end
+	if pcs_tattoos['face'] <= 0:
+		'You do not have a tattoo on your face'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''face'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your face tattoo</a>'
+	end
+	if pcs_tattoos['leg'] <= 0:
+		'You do not have a tattoo on your leg'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''leg'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your leg tattoo</a>'
+	end
+	if pcs_tattoos['lip'] <= 0:
+		'You do not have a tattoo on your leg'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''lip'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your lip tattoo</a>'
+	end
+	if pcs_tattoos['neck'] <= 0:
+		'You do not have a tattoo on your neck'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''neck'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your neck tattoo</a>'
+	end
+	if pcs_tattoos['pussy'] <= 0:
+		'You do not have a pubic tattoo'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''pussy'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your pubic tattoo</a>'
+	end
+	if pcs_tattoos['shoulder'] <= 0:
+		'You do not have a tattoo on your shoulder'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''shoulder'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your shoulder tattoo</a>'
+	end
+	if pcs_tattoos['side'] <= 0:
+		'You do not have a tattoo on your side'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''side'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your the tattoo on your side</a>'
+	end
+	if pcs_tattoos['tramp'] <= 0:
+		'You do not have a tramp stamp'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''tramp'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your tramp stamp</a>'
+	end
+	if pcs_tattoos['under'] <= 0:
+		'You do not have an under breast tattoo'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''under'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your under breast tattoo</a>'
+	end
+	if pcs_tattoos['wrist'] <= 0:
+		'You do not have a tattoo on your wrist'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''wrist'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your wrist tattoo</a>'
+	end
+	if pcs_tattoos['hand'] <= 0:
+		'You do not have a tattoo on your hand'
+	else
+		'<a href="exec: gs ''tattoo_management'', ''remove'', ''hand'' & gs ''Cheatmenu_din'', ''tatoo''">Remove your hand tattoo</a>'
+	end
 	if cosmetic_tattoo = 0:'You do not have the makup tattoo</a>'
 	if cosmetic_tattoo >= 1:'<a href="exec:cosmetic_tattoo = 0 & dynamic $cheatmenu[''tatoo'']">Remove your makup tattoo</a>'
 end
@@ -1602,35 +1670,15 @@ if $ARGS[0] = 'reputation':
 	*nl
 	'<font color="blue"><b>Nicholas'' Family</b></font>'
 	'<a href="exec:gt ''nichUtil'', ''debug''">Storyline Debug Menu</a>'
+	*nl
 
-	temp_cmd_i = 0
-	:loverrelationshiploop
-	if temp_cmd_i < arrsize('$lover'):
-		if pcs_lovers[temp_cmd_i] = 1:
-			$temp_npcid = $lover[temp_cmd_i]
-			*nl
-			'You are dating <<$npc_usedname[$temp_npcid]>>.'
-			if loverrelation[temp_cmd_i] < 0: loverrelation[temp_cmd_i] = 0
-			if loverdays[temp_cmd_i] < 0: loverdays[temp_cmd_i] = 0
-			if npc_gentle[$temp_npcid] = 1:
-				'Change lover''s personality: <a href="exec: npc_gentle[<<$temp_npcid>>] = 0 & dynamic $cheatmenu[''reputation'']">Gentle</a>'
-			elseif npc_rough[$temp_npcid] = 0:
-				'Change lover''s personality: <a href="exec: npc_rough[<<$temp_npcid>>] = 1 & dynamic $cheatmenu[''reputation'']">Normal</a>'
-			else
-				'Change lover''s personality: <a href="exec: npc_rough[<<$temp_npcid>>] = 0 & npc_gentle[<<$temp_npcid>>] = 1 & dynamic $cheatmenu[''reputation'']">Rough</a>'
-			end
-			if npc_pervert[$temp_npcid] = 0:
-				'Change lover''s perversion: <a href="exec: npc_pervert[<<$temp_npcid>>] = 1 & dynamic $cheatmenu[''reputation'']">Not perverted</a>'
-			else
-				'Change lover''s perversion: <a href="exec: npc_pervert[<<$temp_npcid>>] = 0 & dynamic $cheatmenu[''reputation'']">Perverted</a>'
-			end
-			'Relationship: <<loverrelation[temp_cmd_i]>> <a href="exec: loverrelation[<<temp_cmd_i>>] += 10 & dynamic $cheatmenu[''reputation'']">+10</a> <a href="exec: loverrelation[<<temp_cmd_i>>] -= 10 & dynamic $cheatmenu[''reputation'']">-10</a>'
-			'You''ve been dating for <<loverdays[temp_cmd_i]>> days. <a href="exec:loverdays[<<temp_cmd_i>>] += 5 & dynamic $cheatmenu[''reputation'']">+5</a> <a href="exec: loverdays[<<temp_cmd_i>>] -= 5 & dynamic $cheatmenu[''reputation'']">-5</a>'
-		end
-		temp_cmd_i += 1
-		jump 'loverrelationshiploop'
+	if arrsize('$lover') > 0:
+		'<font color="blue"><b>Lovers</b></font>'
+		'<a href="exec:gt ''cheatmenu_din'', ''lover_menu''">Edit lovers</a>'
+		*nl
 	end
-	*nl
+
+
 	if fame['pav_slut'] >= 50:
 		gs 'fame'
 		'In Pavlovsk you are known as a <font color="red"><<$gnikname>></font> <a href="exec:fame[''pav_sex''] = 0 & fame[''pav_prostitute''] = 0 & gs ''fame'', ''calculateSlut'' & dynamic $cheatmenu[''reputation'']">Clear</a>'
@@ -1686,6 +1734,70 @@ if $ARGS[0] = 'reputation':
 	$cheatmenu['table_end']
 end
 
+
+$cheatmenu['lover_menu'] = "gt 'cheatmenu_din', 'lover_menu'"
+if $ARGS[0] = 'lover_menu':
+	*clr & cla
+	'<center><h2>Cheat Menu - Relationships - Lovers</h2></center>'
+
+	$cheatmenu['table_start']
+		act 'Go Back': gt 'cheatmenu_din', 'reputation'
+		'<a href="exec:gt ''cheatmenu_din'', ''reputation''">Go Back</a>'
+
+		temp_cmd_i = 0
+		temp_cmd_max_i = arrsize('$lover')
+		:loverrelationshiploop
+		if temp_cmd_i < temp_cmd_max_i:
+			$cmd_temp_npcid = $lover[temp_cmd_i]
+			if mid($npc_rel_type[$cmd_temp_npcid], 1, 2) = 'ex':
+				temp_cmd_i += 1
+				jump 'loverrelationshiploop'
+			end
+
+			*nl
+
+			if npc_rel[$cmd_temp_npcid] < 0: npc_rel[$cmd_temp_npcid] = 0
+			if npc_rel[$cmd_temp_npcid] > 100: npc_rel[$cmd_temp_npcid] = 100
+			if npc_dates[$cmd_temp_npcid] < 0: npc_dates[$cmd_temp_npcid] = 0
+
+			if $npc_rel_type[$cmd_temp_npcid] = 'boyfriend' or $npc_rel_type[$cmd_temp_npcid] = 'girlfriend':
+				'You are dating <<$npc_usedname[$cmd_temp_npcid]>>.'
+			elseif $npc_rel_type[$cmd_temp_npcid] = 'husband' or $npc_rel_type[$cmd_temp_npcid] = 'wife':
+				'You are married to <<$npc_usedname[$cmd_temp_npcid]>>.'
+			elseif $npc_rel_type[$cmd_temp_npcid] = 'fuckbuddy':
+				'You are fuckbuddies with <<$npc_usedname[$cmd_temp_npcid]>>.'
+			elseif $npc_rel_type[$cmd_temp_npcid] = 'sugar_daddy':
+				'<<$npc_usedname[$cmd_temp_npcid]>> is your sugar daddy.'
+			end
+
+			if npc_gentle[$cmd_temp_npcid] = 1:
+				'Change lover''s personality: <a href="exec: npc_gentle[''<<$cmd_temp_npcid>>''] = 0 & dynamic $cheatmenu[''lover_menu'']">Gentle</a>'
+			elseif npc_rough[$cmd_temp_npcid] = 0:
+				'Change lover''s personality: <a href="exec: npc_rough[''<<$cmd_temp_npcid>>''] = 1 & dynamic $cheatmenu[''lover_menu'']">Normal</a>'
+			else
+				'Change lover''s personality: <a href="exec: npc_rough[''<<$cmd_temp_npcid>>''] = 0 & npc_gentle[''<<$cmd_temp_npcid>>''] = 1 & dynamic $cheatmenu[''lover_menu'']">Rough</a>'
+			end
+
+			if npc_pervert[$cmd_temp_npcid] = 0:
+				'Change lover''s perversion: <a href="exec: npc_pervert[''<<$cmd_temp_npcid>>''] = 1 & dynamic $cheatmenu[''lover_menu'']">Not perverted</a>'
+			else
+				'Change lover''s perversion: <a href="exec: npc_pervert[''<<$cmd_temp_npcid>>''] = 0 & dynamic $cheatmenu[''lover_menu'']">Perverted</a>'
+			end
+
+			'Relationship: <<npc_rel[$cmd_temp_npcid]>> <a href="exec: npc_rel[''<<$cmd_temp_npcid>>''] += 10 & dynamic $cheatmenu[''lover_menu'']">+10</a> <a href="exec: npc_rel[''<<$cmd_temp_npcid>>''] -= 10 & dynamic $cheatmenu[''lover_menu'']">-10</a>'
+			'You''ve been on <<npc_dates[$cmd_temp_npcid]>> dates. <a href="exec: npc_dates[''<<$cmd_temp_npcid>>''] += 5 & dynamic $cheatmenu[''lover_menu'']">+5</a> <a href="exec: npc_dates[''<<$cmd_temp_npcid>>''] -= 5 & dynamic $cheatmenu[''lover_menu'']">-5</a>'
+
+			temp_cmd_i += 1
+			jump 'loverrelationshiploop'
+		end
+		killvar 'temp_cmd_max_i'
+		killvar 'temp_cmd_i'
+
+	$cheatmenu['table_end']
+end
+
+
+
 !!----------------------------------------------------------------------------------------------------------------------------
 !! Diplomas, Licences, and Certificates
 !!----------------------------------------------------------------------------------------------------------------------------
@@ -1769,7 +1881,7 @@ if $ARGS[0] = 'month':
 	'<a href="exec:dynamic $cheatmenu[''month2''], 12">December</a>'
 end
 
-$cheatmenu['month2'] = "gs 'Cheatmenu_din', 'month2', $ARGS[0]"
+$cheatmenu['month2'] = "gs 'Cheatmenu_din', 'month2', ARGS[0]"
 if $ARGS[0] = 'month2':
 	gs 'time', 'to_daystart', 1, ARGS[1], temp_year
 	temp_daystart = dateVars['daystart']

+ 1 - 1
locations/Katlake.qsrc

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

+ 30 - 29
locations/Komp.qsrc

@@ -139,7 +139,7 @@ if $ARGS[0] = 'sale':
 				cla
 				if obkvsdam = 1:
 					'Nobody has responded to your offer to rent out your apartment yet.'
-				elseif obkvsdam > 1: 
+				elseif obkvsdam > 1:
 					predsum = 14000 + (obkvsdam*1000)
 					'Someone wants to stay in your apartment for a month! They''re offering you <<predsumm>> <b>₽</b> in cash.'
 
@@ -362,39 +362,40 @@ if $ARGS[0] = 'znak':
 		'You spend time looking at the various profiles, but it won''t let you register unless you have your own home.'
 		'Still, some of the pictures were quite raunchy and the more desperate profiles were really funny.'
 	else
-		if pcs_lover < 3:
-			act 'Look for a kind man':
-				cla
-				gs 'npcgeneratec', 0
-				gs 'boyStat', $npclastgenerated
-				gs 'boyfrend', 'start'
-				haraklover[lover_number] = 0
-				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he''ll call you!'
+		act 'Look for a kind man':
+			cla
+			gs 'npcgeneratec', 0
+			gs 'npcStat', $npclastgenerated
+			npc_gentle[$npcID] = 1
+			npc_rough[$npcID] = 0
+			gs 'lover', 'add_boyfriend', $npcID
+			'You find a guy named <<$npcdesc>> and send him your number after checking out his profile. You hope he''ll call you!'
 
-				act 'Leave this website': gt 'komp', 'browse'
-			end
+			act 'Leave this website': gt 'komp', 'browse'
+		end
 
-			act 'Look for a normal guy':
-				cla
-				gs 'npcgeneratec', 0
-				gs 'boyStat', $npclastgenerated
-				gs 'boyfrend', 'start'
-				haraklover[lover_number] = 1
-				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he''ll call you!'
+		act 'Look for a normal guy':
+			cla
+			gs 'npcgeneratec', 0
+			gs 'npcStat', $npclastgenerated
+			npc_gentle[$npcID] = 0
+			npc_rough[$npcID] = 0
+			gs 'lover', 'add_boyfriend', $npcID
+			'You find a guy named <<$npcdesc>> and send him your number after checking out his profile. You hope he''ll call you!'
 
-				act 'Leave this website': gt 'komp', 'browse'
-			end
+			act 'Leave this website': gt 'komp', 'browse'
+		end
 
-			act 'Look for a strong man':
-				cla
-				gs 'npcgeneratec', 0
-				gs 'boyStat', $npclastgenerated
-				gs 'boyfrend', 'start'
-				haraklover[lover_number] = 2
-				'You find a guy named <<$loverdesc[lover_number]>> and send him your number after checking out his profile. You hope he''ll call you!'
+		act 'Look for a strong man':
+			cla
+			gs 'npcgeneratec', 0
+			gs 'npcStat', $npclastgenerated
+			npc_gentle[$npcID] = 0
+			npc_rough[$npcID] = 1
+			gs 'lover', 'add_boyfriend', $npcID
+			'You find a guy named <<$npcdesc>> and send him your number after checking out his profile. You hope he''ll call you!'
 
-				act 'Leave this website': gt 'komp', 'browse'
-			end
+			act 'Leave this website': gt 'komp', 'browse'
 		end
 	end
 	act 'Leave this website': gt 'komp', 'browse'

+ 3 - 4
locations/LakeBoyZ.qsrc

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

+ 1 - 1
locations/LariskaHome.qsrc

@@ -63,7 +63,7 @@ if $ARGS[0] = 'front_door':
 		elseif locat['Lariska'] = 21:
 			$text_home = 'Lariska is at the volleyball game.'
 		elseif locat['Lariska'] = 1:
-			$text_home = 'Lariska is asleep right now. She should be up around 9am.'
+			$text_home = 'Lariska is asleep right now. She should be up around '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'.'
 		elseif locat['Lariska'] = 13:
 			$text_home = 'Lariska is unable to answer the door right now.'
 		elseif locat['Lariska'] = 15:

+ 1 - 1
locations/Serge_Shulgin.qsrc

@@ -559,7 +559,7 @@ if $ARGS[0] = 'hide':
 		serge_textb = rand(0,6)
 		if serge_textb = 0:$serge_textb = 'When you ask about Vasily''s mother, Sergey shrugs: "It''s a short story, really. I met Vasily''s mother at my graduation party. We all got drunk and she and I had some fun. When she turned out to be pregnant, we got married. We didn''t have much of a say in the matter, that''s just how it worked back then. Shulga was born a few months after that. We tried to make it work, but she got bored and left me a year later when she got offered a job abroad, leaving Shulga with me. I haven''t heard from her since. It''s fine, though... me and him managed just fine, without her."'
 		if serge_textb = 1:$serge_textb = 'You spend fifteen minutes talking to Sergey about everyday things.'
-		if serge_textb = 2:$serge_textb = 'When you ask Sergey what he does for a living, he smiles and says: "I work in a factory where we produce bricks. I work the day shift, from 09:00 to 15:00, five days a week. I''m a foreman there, managing the laborers and keeping an eye on the machinery. Of course I pitch in as well, when the men need help. It''s dusty, hard work, and it doesn''t pay well, but it''s work worth doing!"'
+		if serge_textb = 2:$serge_textb = 'When you ask Sergey what he does for a living, he smiles and says: "I work in a factory where we produce bricks. I work the day shift, from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+', five days a week. I''m a foreman there, managing the laborers and keeping an eye on the machinery. Of course I pitch in as well, when the men need help. It''s dusty, hard work, and it doesn''t pay well, but it''s work worth doing!"'
 		if serge_textb = 3:$serge_textb = 'When you ask about his relationship with his son, Sergey shrugs and says in a tired voice: "Eh. We do okay, given the circumstances. He''s... changed, though. He''s rather difficult to handle nowadays. For the last year or so, he has shown no interest in school and he stays out until late every day, doing God knows what. I''m just not sure how to get through to him any more."'
 		if serge_textb = 4:$serge_textb = 'Sergey tells you a funny story.'
 		if serge_textb = 5:$serge_textb = 'Sergey is actually a pretty smart guy, and you listen to him for fifteen minutes while he tells you anecdotes about his past.'

+ 1 - 1
locations/Serge_kuh.qsrc

@@ -37,7 +37,7 @@ if $ARGS[0] = '':
 		serge_textbk = rand(0,4)
 		if serge_textbk = 0:$serge_textbk = 'When you ask about Vasily''s mother, Sergey shrugs: "It''s a short story, really. I met Vasily''s mother at my graduation party. We all got drunk and she and I had some fun. When she turned out to be pregnant, we got married. We didn''t have much of a say in the matter, that''s just how it worked back then. Shulga was born a few months after that. We tried to make it work, but she got bored and left me a year later when she got offered a job abroad, leaving Shulga with me. I haven''t heard from her since. It''s fine, though... me and him managed just fine, without her."'
 		if serge_textbk = 1:$serge_textbk = 'You spend fifteen minutes talking to Sergey about everyday things.'
-		if serge_textbk = 2:$serge_textbk = 'When you ask Sergey what he does for a living, he smiles and says: "I work in a factory where we produce bricks. I work the day shift, from 09:00 to 15:00, five days a week. I''m a foreman there, managing the labourers and keeping an eye on the machinery. Of course I pitch in as well, when the men need help. It''s dusty, hard work, and it doesn''t pay well, but it''s work worth doing!"'
+		if serge_textbk = 2:$serge_textbk = 'When you ask Sergey what he does for a living, he smiles and says: "I work in a factory where we produce bricks. I work the day shift, from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+', five days a week. I''m a foreman there, managing the labourers and keeping an eye on the machinery. Of course I pitch in as well, when the men need help. It''s dusty, hard work, and it doesn''t pay well, but it''s work worth doing!"'
 		if serge_textbk = 3:$serge_textbk = 'When you ask about his relationship with his son, Sergey shrugs and says in a tired voice: "Eh. We do okay, given the circumstances. He''s... changed, though. He''s rather difficult to handle nowadays. For the last year or so, he has shown no interest in school and he stays out until late every day, doing God knows what. I''m just not sure how to get through to him any more."'
 		if serge_textbk = 4:$serge_textbk = 'Sergey is actually a pretty smart guy, and you listen to him for fifteen minutes while he tells you stories about his past.'
 

+ 2 - 2
locations/Terminal.qsrc

@@ -104,7 +104,7 @@ if trfatherQW = 2:
 			'<center><img <<$set_imgh>> src="images/locations/city/industrial/terminal/trfatherqw_3.jpg"></center>'
 			'You go up to the managers office. "Good afternoon! What I can help you?" he says.'
 			'"Hello, I wanted to know, if you know a Mikhail Kuznetsov or if he works here?"'
-			'He turns to his computer and pulls something up. "I''ll check in our database, yes, we have a driver by that name. He is on the road right now and only comes in on Saturday at 12:00."'
+			'He turns to his computer and pulls something up. "I''ll check in our database, yes, we have a driver by that name. He is on the road right now and only comes in on Saturday at '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+'."'
 			'"Thank you very much, you helped me a lot."  With that you leaved but now you know when and where to find him.'
 			act 'Leave':minut += 5 & gt 'Terminal'
 		end
@@ -168,7 +168,7 @@ if trfatherQW = 2:
 						'You got out of the truck with sperm all over your face.'
 						'"So, What did you want to know?" The first man asked.'
 						'"I wanted you to know, whether you know a Mikhail Kuznetsov?"'
-						'"Aaa, Micah, Sure, great guy, he is out on a run. He will be back Saturday at 12:00."'
+						'"Aaa, Micah, Sure, great guy, he is out on a run. He will be back Saturday at '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+'."'
 						act 'Leave':minut += 5 & gt 'Terminal'
 					end
 				end

+ 2 - 2
locations/TerminalOffice.qsrc

@@ -220,7 +220,7 @@ if $ARGS[0] = '11':
 		!Where the Director, the Door was closed dir
 		act 'Ask about the Director':
 			'"Excuse me, I wonder if I could meet your supervisor?" you ask.'
-			'The Manager grins, "Yuri is usually here every Monday through Friday, between 9:00 and 18:00 except lunch between 13:00 and 14:00."'
+			'The Manager grins, "Yuri is usually here every Monday through Friday, between '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+' except lunch between '+func('time', 'get_time_string', 13, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+'."'
 			cla
 			act 'Leave': YouNotOpenDoorDir = 0 & gt 'TerminalOffice', '11'
 		end
@@ -230,7 +230,7 @@ if $ARGS[0] = '11':
 	if YouNotOpenDoorBuh = 1:
 		act 'Ask about the accountant':
 			'"Excuse me, I wonder if I could meet your accountant?" you ask.'
-			'The Manager grins, "Elizabeth is usually here Monday through Friday, between 9:00 and 20:00 except lunch between 13:00 and 14:00."'
+			'The Manager grins, "Elizabeth is usually here Monday through Friday, between '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+' except lunch between '+func('time', 'get_time_string', 13, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+'."'
 			cla
 			act 'Leave': YouNotOpenDoorBuh = 0 & gt 'TerminalOffice', '11'
 		end

+ 1 - 1
locations/Vika.qsrc

@@ -216,7 +216,7 @@ if $ARGS[0] = 'brothel_questions':
 					odkomp = 0
 
 					'"Do you think you could get me a job at the brothel?" you ask.'
-					'"Well I can ask the manager, but I can''t guarantee anything. Come by' + iif(hour < 20, ' after 20:00', '') + ', and I''ll see what I can do."'
+					'"Well I can ask the manager, but I can''t guarantee anything. Come by' + iif(hour < 20, ' after '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+'', '') + ', and I''ll see what I can do."'
 				end
 			end
 		end

+ 1 - 1
locations/VolleyTrenCentr.qsrc

@@ -17,7 +17,7 @@ if ShowerIvan = 4 and centr = 1:
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/event/voltrenerspeak11.jpg"></center>'
 		'After greeting Mikhail, an awkward silence follows because you don''t know what to say.'
 		'"<<$pcs_nickname>>, what are you doing here?" Mikhail asks you in astonishment.'
-		'"Well, I wanted to improve my physical fitness, and since the sports club doesn''t open until 14:00, I figured it was worth the trip into the city to come here," you explain hastily.'
+		'"Well, I wanted to improve my physical fitness, and since the sports club doesn''t open until '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+', I figured it was worth the trip into the city to come here," you explain hastily.'
 		'The coach looks at you with an approving nod, "That is good, <<$pcs_nickname>>."'
 		'The stranger smiles at you and says, "I am Guang. Your coach and I are old friends from when we used to compete against each other. He represented the people of the Soviet Republics, and I, naturally, represented the people of the Republic of China. After my team beat his so many times, his government finally convinced me to change sides as it were. Now I train the athletes of the Russian Federation, and Mikhail and I meet here from time to time."'
 		'"I am sorry, <<$pcs_nickname>> and Guang, but my wife is expecting me and I must be going," the coach says, looking at his watch. He then departs, leaving you in the company of the Chinese trainer.'

+ 1 - 1
locations/WorkHosp.qsrc

@@ -97,7 +97,7 @@ if $ARGS[0] = 'milit':
 	cla
 	military = 1
 	'Kat turns to you. "Listen, I''m scheduled to work this weekend, but I have plans. Here''s the deal: war games are often held not far from the city and, well, according to the rules, they need doctors on site before they can begin.' 
-	'She notices your reaction. "Don''t worry, you''ll have a doctor with you, so the most you''ll need to do is apply some bandages. If you feel up to it, you can catch a bus at the clinic on Saturday between 06:00 and 09:00. Oh yeah, I almost forgot! The pay for two days is 5000 <b>₽</b>. So what do you say?"'
+	'She notices your reaction. "Don''t worry, you''ll have a doctor with you, so the most you''ll need to do is apply some bandages. If you feel up to it, you can catch a bus at the clinic on Saturday between '+func('time', 'get_time_string', 6, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'. Oh yeah, I almost forgot! The pay for two days is 5000 <b>₽</b>. So what do you say?"'
 
 	act 'Move away': gt 'WorkHosp', 'start'
 end

+ 5 - 2
locations/_face_image.qsrc

@@ -2,6 +2,11 @@
 
 !!use with - <img <<$set_imgh>> src="<<func(''$face_image'')>>">
 
+!! type = 1: custom image
+!! type = 2: 3D generated image
+!! type = 0: picture image
+
+
 if face_style['type'] = 1:
 	if $face_style['avatar_path'] = '': $face_style['avatar_path'] = 'images/avatar.jpg'
 	$result = $face_style['avatar_path']
@@ -296,6 +301,4 @@ else
 end
 
 
-
 --- $face_image ---------------------------------
-

+ 6 - 6
locations/alarmclock.qsrc

@@ -28,15 +28,15 @@ end
 
 if $ARGS[0] = 'alarm_display':
 	!! func('alarmclock', 'alarm_display', hour, minutes)
-	$result = '<b><<func(''time'', ''get_time_string'', ARGS[1], ARGS[2])>></b>'
+	$result = '<b><<func(''time'', ''get_time_string'',  ARGS[1], ARGS[2], cheatVars[''time_format''])>></b>'
 end
 
 if $ARGS[0] = 'get_week_display':
-	$result = '<b><<func(''time'', ''get_time_string'', alarmVars[''timerH''], alarmVars[''timerM''])>></b>'
+	$result = '<b><<func(''time'', ''get_time_string'',  alarmVars[''timerH''], alarmVars[''timerM''], cheatVars[''time_format''])>></b>'
 end
 
 if $ARGS[0] = 'get_weekend_display':
-	$result = '<b><<func(''time'', ''get_time_string'', alarmVars[''timerEndH''], alarmVars[''timerEndM''])>></b>'
+	$result = '<b><<func(''time'', ''get_time_string'',  alarmVars[''timerEndH''], alarmVars[''timerEndM''], cheatVars[''time_format''])>></b>'
 end
 
 if $ARGS[0] = 'base_alarmclock_text':
@@ -222,11 +222,11 @@ if $ARGS[0] = 'build_table':
 	$alarmVars_table='<center><table border=0 cellpadding=0 cellspacing=5><font size="+1"<b>'
 	$alarmVars_table+='<tr><td><b><a href="exec: bud_weekend = 0 & gt ''alarmclock'', ''Reset''">Reset weekday alarm</a></b></td>'
 	$alarmVars_table+='<td><b><a href="exec: bud_weekend = 0 & gt ''alarmclock'', ''Time''">Set weekday alarm</a></b></td>'
-	$alarmVars_table+='<td><b>Currently set for <<func(''time'', ''get_time_string'', alarmVars[''timerH''], alarmVars[''timerM''])>></b></td></tr>'
+	$alarmVars_table+='<td><b>Currently set for <<func(''time'', ''get_time_string'',  alarmVars[''timerH''],  alarmVars[''timerM''], cheatVars[''time_format''])>></b></td></tr>'
 
 	$alarmVars_table+='<tr><td><b><a href="exec: bud_weekend = 1 & gt ''alarmclock'', ''Reset''">Reset weekend alarm</a></b></td>'
 	$alarmVars_table+='<td><b><a href="exec: bud_weekend = 1 & gt ''alarmclock'', ''Time''">Set weekend alarm</a></b></td>'
-	$alarmVars_table+='<td><b>Currently set for <<func(''time'', ''get_time_string'', alarmVars[''timerEndH''], alarmVars[''timerEndM''])>></b></td></tr>'
+	$alarmVars_table+='<td><b>Currently set for <<func(''time'', ''get_time_string'',  alarmVars[''timerEndH''],  alarmVars[''timerEndM''], cheatVars[''time_format''])>></b></td></tr>'
 
 	if mid($start_type,1,2) = 'sg':
 		$alarmVars_table+='<tr><td colspan="3"><b>Use weekend alarm for holidays - ' + iif(alarmVars['alarm_holiday'] = 0, '<a href="exec: alarmVars[''alarm_holiday''] = 1 & gt ''alarmclock'', ''start''">OFF</a>', '<a href="exec:  alarmVars[''alarm_holiday''] = 0 & gt ''alarmclock'', ''start''">ON</a>') + '</b></td></tr>'
@@ -235,7 +235,7 @@ if $ARGS[0] = 'build_table':
 	$alarmVars_table+='<tr><td colspan="3"><b>Your alarm is currently turned ' + iif(alarmVars['alarmOn'] = 0, '<a href="exec: alarmVars[''alarmOn''] = 1 & gt ''alarmclock'', ''start''">OFF</a>', '<a href="exec: alarmVars[''alarmOn''] = 0 & gt ''alarmclock'', ''start''">ON</a>') + '.</b></td></tr>'
 
 	if alarmVars['alarmOn'] = 1:
-		$alarmVars_table+='</table></center><center><table border=0 cellpadding=0 cellspacing=10><tr><td><b>Your Alarm is ' + iif(alarmVars['timerH'] <= 0 and alarmVars['timerM'] <= 0, 'not set', 'set to ' + func('time', 'get_time_string', alarmVars['timerH'], alarmVars['timerM'])) + ' for the weekdays ' + iif(alarmVars['timerEndH'] <= 0 and alarmVars['timerEndM'] <= 0, 'and not set', 'and set to ' + func('time', 'get_time_string', alarmVars['timerEndH'], alarmVars['timerEndM'])) + ' for the weekend' + iif(alarmVars['alarm_holiday'] = 1, ' and holidays', '') + '.</b></td></tr>'
+		$alarmVars_table+='</table></center><center><table border=0 cellpadding=0 cellspacing=10><tr><td><b>Your Alarm is ' + iif(alarmVars['timerH'] <= 0 and alarmVars['timerM'] <= 0, 'not set', 'set to ' + func('time', 'get_time_string', alarmVars['timerH'], alarmVars['timerM'], cheatVars['time_format'])) + ' for the weekdays ' + iif(alarmVars['timerEndH'] <= 0 and alarmVars['timerEndM'] <= 0, 'and not set', 'and set to ' + func('time', 'get_time_string', alarmVars['timerEndH'], alarmVars['timerEndM'], cheatVars['time_format'])) + ' for the weekend' + iif(alarmVars['alarm_holiday'] = 1, ' and holidays', '') + '.</b></td></tr>'
 	end
 	$alarmVars_table+='</b></font></table></center>'
 

+ 43 - 37
locations/albina_chat.qsrc

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

+ 2 - 2
locations/albina_sex_chat.qsrc

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

+ 5 - 5
locations/albina_sex_scenes.qsrc

@@ -47,7 +47,7 @@ if $ARGS[0] = 'virgin_take1':
 	!! IMAGE HERE
 	'"Albina," you murmur.'
 	'"What is it?" she smiles up at you.'
-	act'Ask shyly':
+	act 'Ask shyly':
 		cla & *nl
 		'"W-will... Will you take my virginity?" you stammer shyly.'
 		'Her eyes go wide. "What?! You-" She chokes on her words. "You want me to-? Are you... sure?"'
@@ -644,7 +644,7 @@ if $ARGS[0] = 'fuck_albina_magic':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/sex/game/givevag.jpg"></center>'
 			'You slap her on the ass. "Come on, Albina! Ride it like you mean it!"'
-			'With your encouragement, she starts really riding you hard and fast, her ass slapping against your thighs as she takes the whole length inside her. She rides you for several minutes before you feel a tingling sensation in your stomach and feel a pressure building within your dick. You''re about to cum!'
+			'With your encouragement, she starts really riding you hard and fast, her ass slapping against your thighs as she takes the whole length inside her. She rides you for several minutes before you feel a tingling sensation in your stomach and a pressure building within your dick. You''re about to cum!'
 			gs 'arousal', 'magicd_vaginal', 8, 'dom'
 			gs 'stat'
 
@@ -1236,7 +1236,7 @@ if $ARGS[0] = 'lazar_start':
 	if AlbinaQW['Lazar_Sex'] = 0:
 		'"Miss <<$pcs_firstname>>, how nice to see you. Miss Albina already has a guest, shall I tell them of your arrival?"'
 		'You shake your head, knowing what Albina and her "guest" are doing upstairs. "No, it''s fine. She should be expecting me, so I''ll head up to her room if that''s okay?"'
-		'The maid just nods and continues with her duties, leaving you to head up the stairs, curious to know what "other friend" this could be as you reach the door...'
+		'The maid just nods and continues with her duties, leaving you to head up the stairs, curious to know who this "other friend" could be as you reach the door...'
 		act 'Open the door': gt 'albina_sex_scenes', 'lazar_door_first'
 	else
 		'"Miss <<$pcs_firstname>>, how nice to see you. Miss Albina already has a guest, shall I tell them of your arrival?"'
@@ -1254,13 +1254,13 @@ if $ARGS[0] = 'lazar_door_first':
 	if AlbinaQW['Lazar_Sex'] = 0:
 		AlbinaQW['Lazar_Sex'] = 1
 		*nl
-		'<b><i>"OH FUCK! JUST LIKE THAT! POUND MY FUCKING PUSSY!"</i></b>'
+		'<b><i>"OH FUCK! JUST LIKE THAT! POUND MY TIGHT LITTLE PUSSY!"</i></b>'
 		*nl
 		'You jump in surprise as Albina''s screaming voice blasts right through the closed door, clear into the hallway.'
 	else
 		*nl
 		if rand(1,3) = 1:
-			'<b><i>"OH FUCK! JUST LIKE THAT! POUND MY FUCKING PUSSY!"</i></b>'
+			'<b><i>"OH FUCK! JUST LIKE THAT! POUND MY TIGHT LITTLE PUSSY!"</i></b>'
 		elseif rand(1,2) = 1:
 			'<b><i>"YES! YES! FUCK ME WITH YOUR BIG FAT COCK!"</i></b>'
 		else

+ 15 - 14
locations/albina_starlets.qsrc

@@ -315,10 +315,10 @@ if $ARGS[0] = 'starlets':
 						dynamic $showerdin
 						if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
 
-						if pcs_apprnc >= 52 and (stat['think_virgin'] = 0 or stat['vaginal'] > 0):
-							if pcs_apprnc < 64:
+						if pcs_hotcat >= 6 and (stat['think_virgin'] = 0 or stat['vaginal'] > 0):
+							if pcs_hotcat < 8:
 								AlbinaQW['StarletCustomer'] = rand(1,15)
-							elseif pcs_apprnc < 72:
+							elseif pcs_hotcat < 9:
 								AlbinaQW['StarletCustomer'] = rand(1,12)
 							else
 								AlbinaQW['StarletCustomer'] = rand(1,10)
@@ -443,13 +443,13 @@ if $ARGS[0] = 'after_show':
 end
 
 if $ARGS[0] = 'parkrally':
-	cla & *clr
+	*clr & cla
 	AlbinaQW['ParkRally'] = 3
 	AlbinaQW['ShowTriggerCount'] = 0
-
-	'After practice, Albina walks up to the group, furious. "My stupid father wants us to perform at his stupid rally! Using us to try and win back some of his supporters!" she huffs.'
-	'She directs you to follow her, saying her father had someone drop off special outfits for you to wear. As you walk into the changing room, a box sits on the bench.'
-	'Albina pulls a lycra leotard out and her fist clenches around it as she sees how skimpy it is, but resigns herself and hands them out to the reluctant girls.'
+	
+	'After practice, Albina walks up to the group, furious. "My father wants us to perform at his stupid rally!" she huffs.'
+	'She directs you to follow her, saying someone dropped off special outfits for you to wear. As you walk into the changing room, a box sits on the bench.'
+	'Albina reads a note before she pulls a lycra leotard out. Her fist clenches around it as she sees how skimpy it is, but resigns herself and hands them out to the reluctant girls.'
 	*nl
 	'You undress and slide the outfit on.'
 	if tits = 4:
@@ -459,9 +459,10 @@ if $ARGS[0] = 'parkrally':
 	else
 		'It''s skin tight and your nipples poke through the thin fabric as you adjust the straps. The back isn''t much better...'
 	end
+	'You might as well be wearing a thong for all it covers. You have to constantly adjust the strip of fabric covering your crotch to make it comfortable as you can.'
 	*nl
-	'Albina walks up behind you and pulls your leotard from between your ass with her fingers. "We might as well dance in thongs for all these are covering!"'
-	'You jump slightly as she lets go and the fabric snaps back into place. "Let''s just get this over with. A car is waiting for us outside."'
+	'You look over and see Albina scowling as she inspects herself in the mirror, her leotard somehow looking even skimpier than yours and leaving little to the imagination; the outline of her perky breasts and nipples can clearly be seen and the near lack of rear coverage all but draws your attention to her jiggling bubble butt.'
+	'"She fumes as she approaches you and the other girls. "Let''s just get this over with. A car is waiting for us outside."'
 
 	act 'Do the show':
 		*clr & cla
@@ -472,11 +473,11 @@ if $ARGS[0] = 'parkrally':
 		dynamic $showerdin
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/event/meeting/meeting3.jpg"></center>'
-		'You arrive at the park and gather behind the stage as Albina''s father gives an awkward speech to what is left of his supporters. He clears his throat and calls you up onto the stage as music starts playing. You reluctantly walk out onto the stage with the other girls, the crowd reacting to your skimpy clothing. Some men whistle and holler and others avert their gaze while the women watch in disgust and whisper among themselves. '
-		'You and the girls start your routine, but the crowd''s reactions at your outfits makes you all feel very uncomfortable and you see Albina glaring at her father a few times. You finally finish the awkward performance and Albina motions for you all to return to the car as her father makes desperate pleas to the diminishing crowd.'
-		'You return to the community center locker room, where Albina practically rips her leotard off and storms off into the showers. You remove your own outfit and go for a shower yourself. '
+		'You arrive at the park and gather behind the stage as Albina''s father gives an awkward speech to what is left of his supporters. He clears his throat and calls you up onto the stage as music starts playing. You reluctantly walk out onto the stage with the other girls, the crowd reacting to your skimpy clothing. Some men whistle and holler and others avert their gaze while the women watch in disgust and whisper among themselves.'
+		'You and the girls start your routine, but the crowd''s reactions at your outfits makes you all feel very uncomfortable and you see Albina glaring at someone in the crowd a few times. You finally finish the awkward performance and Albina motions for you all to return to the car as her father makes desperate pleas to the diminishing crowd.'
+		'You return to the community center locker room, where Albina literally rips her leotard off and storms off naked into the showers. You remove your own outfit and go for a shower yourself. '
 		if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the shower.'
-		act 'Leave': gt 'pav_park', 'start'
+		act 'Leave': gt 'gdksport', 'start'
 	end
 end
 

+ 15 - 11
locations/albinahome.qsrc

@@ -100,8 +100,8 @@ if $ARGS[0] = 'downstairs_bathroom':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/albinahome/bathroom.jpg"></center>'
 	'The bathroom is just as well appointed as the rest of the house, with polished marble used throughout its furnishings.'
 	*nl
-	'There is a shower, toilet, sink, <a href="exec:gt ''mirror'',''start''">mirror</a>, where you can ' + iif(pcs_hairbsh < 1,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair, and even a separate bath tub.'
-	act 'Return to the hallway':gt 'albinahome', 'hallway'
+	'There is a shower, toilet, sink, <a href="exec:gt ''mirror'',''start''">mirror</a>, where you can ' + iif(pcs_hairbsh < 1,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair, and even a separate bathtub.'
+	act 'Return to the hallway': gt 'albinahome', 'hallway'
 	dynamic $tampon
 	dynamic $quickwash
 	dynamic $basin
@@ -123,7 +123,7 @@ if $ARGS[0] = 'downstairs_bathroom':
 end
 
 if $ARGS[0] = 'bedroom_event_random':
-	!!temp = iif((month < 9) and (month > 5) and (week = 3 or week = 6), rand(1, 12), rand(1,10)) 
+	!!temp = iif((month < 9) and (month > 5) and (week = 3 or week = 6), rand(1,12), rand(1,10)) 
 	if rand(1,6) = 1:
 		!! Lazar Sex Event
 		gt 'albina_sex_scenes', 'lazar_start'
@@ -197,10 +197,14 @@ if $ARGS[0] = 'albina_bathroom':
 	gs 'stat'
 	gs 'themes', 'indoors'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/albinahome/bathroom.jpg"></center>'
-	'Albina''s bathroom.'
+	'Much like the other bathrooms in the house, Albina''s en-suite is extravagantly decorated with polished marble and glossy tiles.'
 	*nl
-	'There is a shower, toilet, sink, <a href="exec:gt ''mirror'',''start''">mirror</a>, where you can ' + iif(pcs_hairbsh < 1,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair, and even a separate bath tub.'
-	!! add a dildo?
+	'There is a large shower, toilet, sink, <a href="exec:gt ''mirror'',''start''">mirror</a>, where you can ' + iif(pcs_hairbsh < 1,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair, and a huge marble bathtub that looks big enough to fit two people.'
+	if rand (0,2) = 0: 
+		'As you glance around the room, you notice the suction dildo stuck to the edge of the bathtub. Albina could have absent-mindedly left it here by mistake, but knowing your friend, it''s also likely that she done it deliberately.'
+		!!act 'Inspect it': gt 'albina_sex_scenes', 'bath_dildo'
+		act 'Leave it alone': gt 'albina_chat', 'chat_exit'
+	end
 	act 'Return to Albina''s room': gt 'albina_chat', 'chat_exit'
 	dynamic $tampon
 	dynamic $quickwash
@@ -271,7 +275,7 @@ if $ARGS[0] = 'pool_side':
 	else
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/albinahome/pool_winter.jpg"></center>'
 	end
-	'Albina''s pool.'
+	'The small pool takes up most of the space in the center of the backyard, with a seperate hot tub built next to it. Multiple loungers and deck chairs line the edge of the pool.'
 	act 'Back to the hall': gt 'albinahome', 'hallway'
 	act 'Go to Albina''s bedroom': gt 'albinahome', 'bedroom'
 !!	act 'Go to Zoya''s bedroom': gt 'albinahome', 'zoya_room'
@@ -315,7 +319,7 @@ if $ARGS[0] = 'stripping':
 	AlbinaQW['SportDay'] = daystart
 	npc_rel['A23'] += 1
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/albinahome/stripdance.jpg"></center>'
-	if pcs_inhib < 60:inhib_exp += rand(2,3)
+	if pcs_inhib < 60: inhib_exp += rand(2,3)
 
 	if pcs_danc >= 40:
 		gs 'exercise', 'tier2', 120, 'agil', 'dancero'
@@ -323,7 +327,7 @@ if $ARGS[0] = 'stripping':
 		'"Okay, we need some space. Follow me."'
 		'She leads you down to the home gym, where she teaches you how to passionately dance to the music while stripping.'
 
-		if pcs_dancero >= 100:'You don''t learn anything new since you already know everything she can teach you.'
+		if pcs_dancero >= 100: 'You don''t learn anything new since you already know everything she can teach you.'
 	else
 		gs 'exercise', 'tier3', 120, 'agil', 'danc'
 		gs 'stat'
@@ -338,7 +342,7 @@ if $ARGS[0] = 'poledancing':
 	AlbinaQW['SportDay'] = daystart
 	npc_rel['A23'] += 1
 	if pcs_stren >= 40 and pcs_dancero > 50:
-		if pcs_inhib < 60:inhib_exp += rand(2,3)
+		if pcs_inhib < 60: inhib_exp += rand(2,3)
 		gs 'exercise', 'tier2', 120, 'stren', 'vital', 'dancpol'
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/albinahome/poledance.jpg"></center>'
@@ -363,7 +367,7 @@ if $ARGS[0] = 'poledancing':
 	else
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/albinahome/stripdance.jpg"></center>'
-		if pcs_inhib < 60:inhib_exp += rand(2,3)
+		if pcs_inhib < 60: inhib_exp += rand(2,3)
 		'Albina grins. "You still can''t strip well enough for pole dancing. We should practice that first."'
 		if pcs_danc >= 40:
 			gs 'exercise', 'tier2', 120, 'agil', 'dancero'

+ 1 - 1
locations/andreihunter.qsrc

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

+ 5 - 5
locations/andrey.qsrc

@@ -44,7 +44,7 @@ if $ARGS[0] = 'apply':
 		*nl
 		'He barely glances your way as he shuffles some papers around. "Oh yeah I forgot about that... well, the job is still open. I need an extra worker around the store, and it needs to be a girl... a young girl," he says before suddenly dropping the papers to look at you accusingly. "Before you start with that gender equality crap, I had a guy working here, and all he cared about was getting into the pants of female customers rather than their wallets. I''m saving myself from another headache...<i>hopefully</i>."'
 		*nl
-		'You''re at a loss for words. This wasn''t how you imagined the interview would go, but your silence goes unnoticed as the store manager continues to talk. "The salary is 205 <b>₽</b> a hour alright? Trust me, no one is fighting you for the chance to work here, but don''t think that means you can slack off. Miss work three times, and you''re fired... no questions. I have two part-time positions that are from 16:00 until 20:00 Monday through Friday or the weekend shift between 09:00 and 15:00."'
+		'You''re at a loss for words. This wasn''t how you imagined the interview would go, but your silence goes unnoticed as the store manager continues to talk. "The salary is 205 <b>₽</b> a hour alright? Trust me, no one is fighting you for the chance to work here, but don''t think that means you can slack off. Miss work three times, and you''re fired... no questions. I have two part-time positions that are from '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' until '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+' Monday through Friday or the weekend shift between '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+'."'
 		*nl
 		'He seems to have found what he was looking for, which is the employment documents, "You''ll need to sign these to start work here." He holds them out to you, "So, are you interested?"'
 
@@ -60,7 +60,7 @@ if $ARGS[0] = 'apply':
 				minut += 5
 				*nl
 				'You find the conditions suitable, and without batting an eye, you sign the documents.'
-				'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Monday at 15:00.'
+				'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Monday at '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+'.'
 				act 'Continue': gt 'shop_pussycats', 'start'
 			end
 			act 'Take the weekend job':
@@ -70,7 +70,7 @@ if $ARGS[0] = 'apply':
 				minut += 5
 				*nl
 				'You find the conditions suitable, and without batting an eye, you sign the documents.'
-				'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Saturday at 09:00.'
+				'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Saturday at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'.'
 				act 'Continue': gt 'shop_pussycats', 'start'
 			end
 !!			act 'Take the full time job':
@@ -407,13 +407,13 @@ if $ARGS[0] = 'reapply':
 			work = 1
 			young_shop_work = 1
 			minut += 5
-			'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Monday at 15:00.'
+			'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Monday at '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+'.'
 			gt 'shop_pussycats', 'start'
 		end
 		act 'Accept work during the weekend':
 			young_shop_work1 = 1
 			minut += 5
-			'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Saturday at 09:00.'
+			'You got a job in the youth clothing store ''Pussy-Cats''. Your first workday is on Saturday at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'.'
 			gt 'shop_pussycats', 'start'
 		end
 		act 'Leave':gt 'shop_pussycats', 'start'

+ 5 - 5
locations/anushka.qsrc

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

+ 5 - 5
locations/anushka_konstantinov_schedule.qsrc

@@ -332,7 +332,7 @@ end
 if $ARGS[0] = 'getLocation':
 	!Set the text for the current NPC ID
 	if locat['A144'] = 0:
-		$npcLocation['A144'] = 'Anushka not home Fri and Sat 20:00 for rest of night'
+		$npcLocation['A144'] = 'Anushka not home Fri and Sat '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+' for rest of night'
 	elseif locat['A144'] = 1: 
 		$npcLocation['A144'] = 'Anushka in the hallway at her city apartment'
 	elseif locat['A144'] = 2:
@@ -348,15 +348,15 @@ if $ARGS[0] = 'getLocation':
 	elseif locat['A144'] = 7:
 		$npcLocation['A144'] = 'Anushka in the bathroom'
 	elseif locat['A144'] = 8:
-		$npcLocation['A144'] = 'Anushka is in the garage with the band Wed 18-23'
+		$npcLocation['A144'] = 'Anushka is in the garage with the band Wed '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+' - '+func('time', 'get_time_string', 23, 0, cheatVars['time_format'])+''
 	elseif locat['A144'] = 9:
 		$npcLocation['A144'] = 'Anushka is at her job at the The Coffee Hole'
 	elseif locat['A144'] = 10:
-		$npcLocation['A144'] = 'Anushka is at the University classes 09:00 to 15:00'
+		$npcLocation['A144'] = 'Anushka is at the University classes '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+''
 	elseif locat['A144'] = 11:
-		$npcLocation['A144'] = 'Anushka is at the modeling studio First Sat of each month 8:00 to 16:00'
+		$npcLocation['A144'] = 'Anushka is at the modeling studio First Sat of each month '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+''
 	elseif locat['A144'] = 12:
-		$npcLocation['A144'] = 'Anushka is at the University Library Mon and Wed from 15:00 till 18:00'
+		$npcLocation['A144'] = 'Anushka is at the University Library Mon and Wed from '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+' till '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+''
 	end
 end
 

+ 8 - 8
locations/anushkachat.qsrc

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

+ 5 - 5
locations/anushkachat_city.qsrc

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

+ 1 - 1
locations/arkadi_fyodorov_schedule.qsrc

@@ -118,7 +118,7 @@ end
 if $ARGS[0] = 'getLocation':
 	!Set the text for the current NPC ID
 	if locat['A156'] = 0:
-		$npcLocation['A156'] = 'Arkadi not home Fri and Sat 20:00 for rest of night.'
+		$npcLocation['A156'] = 'Arkadi not home Fri and Sat '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+' for rest of night.'
 	elseif locat['A156'] = 1:
 		$npcLocation['A156'] = 'Arkadi in the hallway.'
 	elseif locat['A156'] = 2:

+ 16 - 16
locations/arousal.qsrc

@@ -46,8 +46,8 @@ finally
 
 ARGS[1] for time taken in minutes - it is use partly for arousal calculation and partly for moving time ahead. If you want to calculate just the arousal and do not move time (simultaneous stimulation), use negative value.
 
-$ARGS[2] can be used for passing the name of boys dick variable .. 'dick' is default, which belong to $boy, else can be passed 'dick1' .. 'dick4' or 'dick[i]' along the boys parameters activation 
-The variables used can be set by calling boyStat e.g. gs 'boyStat', 'A75', 'a'  will set dick1 for NPC A75 
+$ARGS[2] can be used for passing the name of boys dick variable .. 'dick' is default, which belong to $boy, else can be passed 'dick1' .. 'dick4' or 'dick[i]' along the boys parameters activation
+The variables used can be set by calling boyStat e.g. gs 'boyStat', 'A75', 'a'  will set dick1 for NPC A75
 
 $ARGS[2] - [8] Are optional but can be upto 7 themes involved in the act and can be any of the following:
 'maso' 'bound' 'beast' 'exhibitionism' 'rough' 'prostitution' 'dom' 'sub' 'incest' 'feet' 'lesbian' 'group' 'gangbang' 'humiliation' 'deepthroat' 'unknown' 'gloryhole' 'rape' 'shemale' 'masturbate'
@@ -73,7 +73,7 @@ $orgasm_or = 'no' to prevent orgasm, it will remain in place until manually chan
 $orgasm_txt is used to add custom text that will be called if Sveta orgasms in the next arousal call. It will remain until cleared or orgasm so you must clear it if not forcing orgasm and don''t want it to be used on next orgasm.
 You can also add 'no_orgasm_msg' to the list of themes to prevent any orgasm message from being shown
 }
- 
+
 !!------------------------------------Virginity checks----------------------------------
 !!{
 	pcs_vag > 0: Hymen broken
@@ -98,11 +98,11 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 
 	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])
-		temp_silavag = dyneval('result=silavag'+mid($ARGS[2],5,len($ARGS[2])-4))
-		$temp_dick_girth = dyneval('$result=$dick_girth'+mid($ARGS[2],5,len($ARGS[2])-4))
+		temp_silavag = dyneval('result=silavag'+mid($ARGS[2],5))
+		$temp_dick_girth = dyneval('$result=$dick_girth'+mid($ARGS[2],5))
 	else
 		temp_dick = dick
 		temp_silavag = silavag
@@ -171,7 +171,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	end
 
 !!set a magnitude as a random
-	stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3) 
+	stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
 
 !! set up pain coefficient
 	pain_coeff = 0
@@ -708,7 +708,7 @@ 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)
@@ -746,7 +746,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			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]
@@ -1028,7 +1028,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	killvar 'grdif' & killvar 'ltdif'
 
 	gs 'nichUtil','onArouse',$ARGS[0]
-	
+
 end
 
 !!-----------------------------------------------
@@ -1071,7 +1071,7 @@ if $ARGS[0] = 'end':
 			stat['herm_sexual_partners'] += 1
 		end
 	end
-	
+
 	if npc_sex[$boy] = 0 and (count['vaginal'] + stim['lesbian']) > 0:
 		if npc_sexual[$boy] = 1 and npc_sex[$boy] = 0: stat['sexual_partners'] -= 1
 		if npc_sex[$boy] = 0:
@@ -1087,7 +1087,7 @@ if $ARGS[0] = 'end':
 		end
 		stat['vaginal_partners'] += 1
 	end
-	
+
 	if npc_anal_fucked[$boy] = 0 and count['anal'] > 0:
 		npc_anal_fucked[$boy] = 1
 		if npc_sexual[$boy] = 1 and npc_sex[$boy] = 0: stat['sexual_partners'] -= 1
@@ -1152,7 +1152,7 @@ if $ARGS[0] = 'end':
 	gs 'arousal', 'checks', 'shemale'
 	gs 'arousal', 'checks', 'hidden_shemale'
 	gs 'arousal', 'checks', 'masturbate'
-	
+
 	stim['event'] = 0
 
 !!Adding to counts for character stats
@@ -1219,7 +1219,7 @@ if $ARGS[0] = 'end':
 	gs 'arousal', 'count2', 'voyeur'
 	gs 'arousal', 'count2', 'voyeur_sex'
 	gs 'arousal', 'count2', 'erotic_nudity'
-	
+
 	!! Thats here because there is currently a variable zoo.
 		if zoo > beast['exp']: beast['exp'] = zoo
 		if beast['exp'] > zoo: zoo = beast['exp']
@@ -1256,7 +1256,7 @@ end
 if $ARGS[0] = 'auto_lube':
 	if $ARGS[1] = 'anal' and auto_anal_lube = 1 and anal_slip < 8 + pain['asshole']/2 - pcs_ass:
 		if mc_inventory['lubricant'] > 0:
-			if $ARGS[2] ! 'custom': 
+			if $ARGS[2] ! 'custom':
 				'You rub some lube in and around your anus.'
 			elseif $lube_txt ! '':
 				$lube_txt
@@ -1271,7 +1271,7 @@ if $ARGS[0] = 'auto_lube':
 	end
 	if $ARGS[1] = 'vag' and auto_vag_lube = 1 and vaginal_slip < 8 + pain['vaginal']/2 - pcs_vag:
 		if mc_inventory['lubricant'] > 0:
-			if $ARGS[2] ! 'custom': 
+			if $ARGS[2] ! 'custom':
 				'You rub some lube in and around your vagina.'
 			elseif $lube_txt ! '':
 				$lube_txt

+ 52 - 52
locations/audition_reflections.qsrc

@@ -56,7 +56,7 @@ if $ARGS[0] = 'reflection_thoughts':
 			'You feel...'
 			'. . .'
 		end
-		
+
 !! --------------------------------------- Vaginal Thoughts ---------------------------------------------------------
 
 	elseif audition['cast_couch'] < 13:
@@ -113,7 +113,7 @@ if $ARGS[0] = 'reflection_thoughts':
 			'You feel...'
 			'. . .'
 		end
-		
+
 !! --------------------------------------- Anal Thoughts ---------------------------------------------------------
 
 	else
@@ -171,54 +171,54 @@ if $ARGS[0] = 'reflection_thoughts':
 			'. . .'
 		end
 	end
-	
+
 !! --------------------------------------- Player Thought Choices ---------------------------------------------------------
-	
+
 	act'Normal':
 		cla
 		gs 'audition_reflections', 'normal'
 	end
-	
+
 	act'Dirty':
 		cla
 		gs 'audition_reflections', 'dirty'
 	end
-	
+
 	act'Hollow':
 		cla
 		gs 'audition_reflections', 'hollow'
 	end
-	
+
 	act'Angry':
 		cla
 		gs 'audition_reflections', 'angry'
 	end
-	
+
 	act'Horny':
 		cla
 		gs 'audition_reflections', 'horny'
 	end
-	
+
 	if audition['result'] >= audition['requirement']:
 		act'Powerful':
 			cla
 			gs 'audition_reflections', 'powerful'
 		end
 	end
-	
+
 	if audition['result'] < audition['requirement']:
 		act'Upset you didn''t get the part':
 			gs 'audition_reflections', 'powerful'
 		end
 	end
 end
-	
+
 !! --------------------------------------- Feel Normal ---------------------------------------------------------
-	
+
 if $ARGS[0] = 'normal':
 	if $actress_last_reflect = 'normal':
 		'... still pretty normal. Almost like nothing happened.'
-		if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.' 
+		if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.'
 		if cumloc[11] > 0:'You twitch your cheek, feeling the cum that still coats your face.'
 		if cumloc[7] > 0:'You glance at your clothes, still spattered and stained with jizz.'
 		if cumloc[0] > 0 and $pantyworntype ! 'none':
@@ -248,7 +248,7 @@ if $ARGS[0] = 'normal':
 	else
 		$actress_last_reflect = 'normal'
 		if actress['cast_couch'] >= 10:
-			if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.' 
+			if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.'
 			if cumloc[11] > 0:'You twitch your cheek, feeling the cum that still coats your face.'
 			if cumloc[7] > 0:'You glance at your clothes, still spattered and stained with jizz.'
 			if cumloc[0] > 0 and $pantyworntype ! 'none':
@@ -269,7 +269,7 @@ if $ARGS[0] = 'normal':
 		elseif actress['cast_couch'] >= 5:
 			'... normal. Almost like nothing happened.'
 			'Huh.'
-			if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.' 
+			if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.'
 			if cumloc[11] > 0:'You reach your hand up to your face, feeling the cum that still coats your cheeks. It''s lukewarm and slightly sticky.'
 			if cumloc[7] > 0:'You look down at your clothes, still spattered and stained with jizz.'
 			if audition['result'] >= audition['requirement']:
@@ -282,7 +282,7 @@ if $ARGS[0] = 'normal':
 		elseif actress['cast_couch'] = 1:
 			'... normal. Almost like nothing happened.'
 			'Huh. That''s kind of weird isn''t it?'
-			if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.' 
+			if cumloc[12] > 0:'You smack your lips and taste the residual tang of semen.'
 			if cumloc[11] > 0:'You reach your hand up to your face, feeling the cum that still coats your cheeks. It''s lukewarm and slightly sticky.'
 			if cumloc[7] > 0:'You look down at your clothes, still spattered and stained with jizz.'
 			if audition['result'] >= audition['requirement']:
@@ -296,7 +296,7 @@ if $ARGS[0] = 'normal':
 	end
 	act 'Continue': gt 'auditions', 'reflection_end'
 end
-	
+
 if $ARGS[0] = 'dirty':
 	'... <i>dirty.</i>'
 	*nl
@@ -323,7 +323,7 @@ if $ARGS[0] = 'dirty':
 				'This is how you get jobs as an actress. Not by being good at your job. Just having a pussy that fucks. You''re used to it by now. It''s just who you are. Not that that makes you feel any better, or like less of a filthy whore...'
 			else
 				'This is how you get jobs as an actress. Not by being good at your job. Just by sticking out your ass and offering to let someone fuck it. You''re used to it by now. It''s just who you are. Not that that makes you feel any better, or like less of a filthy whore...'
-			end					
+			end
 		else
 			if audition['cast_couch'] < 6:
 				'This is how you get jobs as an actress. Not by being good at your job. Just having a mouth that sucks. And you''re not even good enough to get jobs that way...'
@@ -360,7 +360,7 @@ if $ARGS[0] = 'dirty':
 				elseif audition['cast_couch'] = 13:
 					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You even swallowed his load afterwards like the fucking whore you are. That''s all you are. You''re not an actress.'
 				elseif audition['cast_couch'] = 14 or audition['cast_couch'] = 15:
-					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You even let him cum in your mouth afterwards like a fucking whore. That''s all you are. You''re not an actress.'								
+					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You even let him cum in your mouth afterwards like a fucking whore. That''s all you are. You''re not an actress.'
 				elseif audition['cast_couch'] = 16:
 					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You let him cum on your face, even opened your mouth up to swallow his load too like a fucking whore. That''s all you are. You''re not an actress.'
 				elseif audition['cast_couch'] = 17:
@@ -394,7 +394,7 @@ if $ARGS[0] = 'dirty':
 				elseif audition['cast_couch'] = 13:
 					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You even swallowed his load afterwards like the fucking whore you are. That''s all you are. You''re not an actress. You can''t even get the part by using your ass. <i>I guess that mean''s I''m not even much of a whore,</i> you think to yourself as you walk down the hall.'
 				elseif audition['cast_couch'] = 14 or audition['cast_couch'] = 15:
-					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You even let him cum in your mouth afterwards like a fucking whore. That''s all you are. You''re not an actress. You can''t even get the part by using your ass. <i>I guess that mean''s I''m not even much of a whore,</i> you think to yourself as you walk down the hall.'								
+					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You even let him cum in your mouth afterwards like a fucking whore. That''s all you are. You''re not an actress. You can''t even get the part by using your ass. <i>I guess that mean''s I''m not even much of a whore,</i> you think to yourself as you walk down the hall.'
 				elseif audition['cast_couch'] = 16:
 					'Deep down inside, you feel a sickness in your stomach, pure disgust with what you''ve done again. Another audition you''ve let someone fuck your ass for another acting job. You let him cum on your face, even opened your mouth up to swallow his load too like a fucking whore. That''s all you are. You''re not an actress. You can''t even get the part by using your ass. <i>I guess that mean''s I''m not even much of a whore,</i> you think to yourself as you walk down the hall.'
 				elseif audition['cast_couch'] = 17:
@@ -837,10 +837,10 @@ if $ARGS[0] = 'hollow':
 	end
 	act 'Continue': gt 'auditions', 'reflection_end'
 end
-	
+
 if $ARGS[0] = 'angry':
 	if $actress_last_reflect = 'angry':
-	
+
 	else
 		$actress_last_reflect = 'angry'
 		if blah = 0:
@@ -850,7 +850,7 @@ if $ARGS[0] = 'angry':
 		end
 	end
 	if cumloc[11] > 0:
-		gs 'cum_call','hands', $boydesc
+		gs 'cum_call','hands', $boy
 		gs 'stat'
 		'<i><b>Angry!</b></i> Your eyes well up with tears of rage and you wipe at your face, only to become disgusted when your hand cums away with cum instead. What the fuck was that?! So you didn''t do well enough in the audition to get the role and then what happened? You acted like a slut and used your body to get what you wanted. Is this what is going to happen working in this industry? Just time after time of getting literally fucked over by people?'
 		*nl
@@ -862,7 +862,7 @@ if $ARGS[0] = 'angry':
 	end
 	act 'Continue': gt 'auditions', 'reflection_end'
 end
-	
+
 if $ARGS[0] = 'horny':
 	$orgasm_or = 'no'
 	gs 'arousal', 'clit_finger', 1, 'masturbate'
@@ -904,7 +904,7 @@ if $ARGS[0] = 'horny':
 		else
 			'Concentrating on that flavor, remembering the texture of his cock in your mouth, you reach under your skirt and plunge your fingers into your pussy while your other hand runs across your face, feeling where cum was spattered moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
 		end
-	elseif audition['cast_couch'] = 9:			
+	elseif audition['cast_couch'] = 9:
 		if cumloc[11] > 0:
 			'You lick your lips, savoring taste of <<$boydesc>>''s cum that''s still on your face, basking in the memory of it spattering across your face and landing on your tongue.'
 			*nl
@@ -921,7 +921,7 @@ if $ARGS[0] = 'horny':
 			else
 				'Concentrating on that flavor, plunge your fingers into your pussy filling the space that was filled with cock moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
 			end
-		end			
+		end
 	elseif audition['cast_couch'] = 10:
 		if CloPantsShortness > 0:
 			'You shove your hand down your pants, plunging your fingers into your pussy, frantically trying to fill the space that was occupied with cock moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
@@ -945,7 +945,7 @@ if $ARGS[0] = 'horny':
 			else
 				'Concentrating on that flavor, you reach under your skirt and plunge your fingers into your pussy, frantically trying to fill the space that was occupied with cock moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
 			end
-		end	
+		end
 	elseif audition['cast_couch'] = 12:
 		if cumloc[0] > 0:
 			if cumloc[0] > 0 and $pantyworntype ! 'none':
@@ -1022,12 +1022,12 @@ if $ARGS[0] = 'horny':
 			end
 		end
 	end
-	
-	
+
+
 	gs 'arousal','end'
 	gs 'stat'
 	act 'Continue': gt 'auditions', 'reflection_end'
-		
+
 	gs 'arousal', 'clit_finger', 1, 'masturbate'
 	pcs_horny += 50
 	'... <i>horny.</i> '
@@ -1039,9 +1039,9 @@ if $ARGS[0] = 'horny':
 		elseif actress['cast_couch'] >= 5:
 		elseif actress['cast_couch'] = 1:
 		end
-	end		
+	end
 	if cumloc[11] > 0:
-		gs 'cum_call','hands', $boydesc
+		gs 'cum_call','hands', $boy
 		'You reach up to your face and feel the cum still painting it, feeling the rush of uncontrollable arousal as your other hand snakes down to your pussy. You thrust two fingers inside, feeling how wet you are, biting down on your lips hard to stiffle a moan. As your fingers come out, you bring them up to your eyes to see them coated with your juices.'
 	else
 		'You reach up to your face and put your hand on your head, feeling the rush of uncontrollable arousal as your other hand snakes down to your pussy. You thrust two fingers inside, feeling how wet you are, biting down on your lips hard to stiffle a moan. As your fingers come out, you bring them up to your eyes to see them coated with your juices.'
@@ -1056,7 +1056,7 @@ if $ARGS[0] = 'horny':
 	gs 'stat'
 	act 'Continue': gt 'auditions', 'reflection_end'
 end
-	
+
 if $ARGS[0] = 'powerful':
 
 	'... <i>powerful.</i>'
@@ -1072,7 +1072,7 @@ if $ARGS[0] = 'powerful':
 		end
 	end
 	if cumloc[11] > 0:
-		gs 'cum_call','hands', $boydesc
+		gs 'cum_call','hands', $boy
 		gs 'stat'
 		'Your face twitches and you reach up to feel your face. Underneath the cum you feel yourself making an odd expression. Are you... smiling?'
 		*nl
@@ -1122,11 +1122,11 @@ if $ARGS[0] = 'virgin_reflect':
 		'You shrug your shoulders and continue on with your life.'
 		act 'Continue': gt 'auditions', 'reflection_end'
 	end
-	
+
 	act'Dirty':
 		cla
 		if cumloc[11] > 0:
-			gs 'cum_call','hands', $boydesc
+			gs 'cum_call','hands', $boy
 			gs 'stat'
 			'... <i>dirty.</i> Your eyes well up and you wipe your face but only succeed on smearing cum across it even more. What were you thinking?? How could you let this happen? You traded a part of yourself, something precious and valuable and for what? A bit part in an acting gig? You look down at your hands and the cum that spread to it from your face now webbed across your fingers and wonder to yourself if this feeling of filth will ever go away...?'
 		else
@@ -1153,11 +1153,11 @@ if $ARGS[0] = 'virgin_reflect':
 		end
 		act 'Continue': gt 'auditions', 'reflection_end'
 	end
-	
+
 	act'Hollow':
 		cla
 		if cumloc[11] > 0:
-			gs 'cum_call','hands', $boydesc
+			gs 'cum_call','hands', $boy
 			gs 'stat'
 			'... hollow. You bring your hand to your face and run your hand down your cheek, feeling the cum smear further across your face and spread to your hand. You look down at it, the strands clinging to your fingers and forming webs as you spread them apart. You''re standing with cum on your face in the middle of a hallway inside a busy public building. You just fucked a guy and let him cum on your face so you could land a role in an acting gig. You gave him your first time to get this job and now that you have it you just... don''t care. Your just-fucked pussy throbs between your legs, aching and empty. You feel a similar emptiness in your chest and wonder just what it was that you gave up when you let that man take your virginity...'
 		else
@@ -1171,11 +1171,11 @@ if $ARGS[0] = 'virgin_reflect':
 		end
 		act 'Continue': gt 'auditions', 'reflection_end'
 	end
-	
+
 	act'Angry':
 		cla
 		if cumloc[11] > 0:
-			gs 'cum_call','hands', $boydesc
+			gs 'cum_call','hands', $boy
 			gs 'stat'
 			'<i><b>Angry!</b></i> Your eyes well up with tears of rage and you wipe at your face, only to become disgusted when your hand cums away with cum instead. What the fuck was that?! So you didn''t do well enough in the audition to get the role and then what happened? You got pressured into doing something and ultimately gave up your virginity. Is this what is going to happen working in this industry? Just time after time of getting literally fucked over by people? Your rage continues to burn inside as you stand trembling in the hallway but in the end, you can''t tell who you''re really angry at. The one who took your virginity, or yourself for giving it up...'
 		else
@@ -1189,7 +1189,7 @@ if $ARGS[0] = 'virgin_reflect':
 		end
 		act 'Continue': gt 'auditions', 'reflection_end'
 	end
-	
+
 	act'Horny':
 		gs 'arousal', 'clit_finger', 1, 'masturbate'
 		pcs_horny += 50
@@ -1230,7 +1230,7 @@ if $ARGS[0] = 'virgin_reflect':
 			else
 				'Concentrating on that flavor, remembering the texture of his cock in your mouth, you reach under your skirt and plunge your fingers into your pussy while your other hand runs across your face, feeling where cum was spattered moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
 			end
-		elseif audition['cast_couch'] = 9:			
+		elseif audition['cast_couch'] = 9:
 			if cumloc[11] > 0:
 				'You lick your lips, savoring taste of <<$boydesc>>''s cum that''s still on your face, basking in the memory of it spattering across your face and landing on your tongue.'
 				*nl
@@ -1247,7 +1247,7 @@ if $ARGS[0] = 'virgin_reflect':
 				else
 					'Concentrating on that flavor, plunge your fingers into your pussy filling the space that was filled with cock moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
 				end
-			end			
+			end
 		elseif audition['cast_couch'] = 10:
 			if CloPantsShortness > 0:
 				'You shove your hand down your pants, plunging your fingers into your pussy, frantically trying to fill the space that was occupied with cock moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
@@ -1271,7 +1271,7 @@ if $ARGS[0] = 'virgin_reflect':
 				else
 					'Concentrating on that flavor, you reach under your skirt and plunge your fingers into your pussy, frantically trying to fill the space that was occupied with cock moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
 				end
-			end	
+			end
 		elseif audition['cast_couch'] = 12:
 			if cumloc[0] > 0:
 				if cumloc[0] > 0 and $pantyworntype ! 'none':
@@ -1290,7 +1290,7 @@ if $ARGS[0] = 'virgin_reflect':
 				else
 					'Concentrating on that flavor, you reach under your skirt and plunge your fingers into your pussy, frantically trying to fill the space that was occupied with cock moments ago. It''s blazing hot and when you draw your fingers back to your face, they''re totally wet, your juices hanging in thick strings between them.'
 				end
-			end	
+			end
 			else
 				'<<$boydesc>>'' cock in your pussy. The pulsing you felt. The cum spilling out inside. You shudder.'
 				if $pantyworntype ! 'none':
@@ -1349,20 +1349,20 @@ if $ARGS[0] = 'virgin_reflect':
 				end
 			end
 		end
-		
-		
+
+
 		gs 'arousal','end'
 		gs 'stat'
 		act 'Continue': gt 'auditions', 'reflection_end'
 	end
-	
+
 	if audition['result'] >= audition['requirement']:
 		act'Powerful':
 			cla
 			'... <i>powerful.</i>'
 			*nl
 			if cumloc[11] > 0:
-				gs 'cum_call','hands', $boydesc
+				gs 'cum_call','hands', $boy
 				gs 'stat'
 				'Your face twitches and you reach up to feel your face. Underneath the cum you feel yourself making an odd expression. Are you... smiling?'
 				*nl
@@ -1377,11 +1377,11 @@ if $ARGS[0] = 'virgin_reflect':
 			act 'Continue': gt 'auditions', 'reflection_end'
 		end
 	end
-	
+
 !!{	if audition['result'] < audition['requirement']:
 		act'Upset you didn''t get the part':
-		
-		
+
+
 		end
 	end}
 end

+ 89 - 89
locations/audition_sex1.qsrc

@@ -12,7 +12,7 @@
 !! audition['roletype'] = 9 - A main character with nude scenes
 
 !! Audition Types
-!! 
+!!
 !! $audition['type'] = 'general' - general audition no special events usually for a minor speaking role
 !! $audition['type'] = 'extra' - an audition basically just to confirm scheduling and check that the PC isn''t grossly ugly
 !! $audition['type'] = 'titty' - an audition based solely on appearance and size of breasts, usually for a role as an extra
@@ -71,7 +71,7 @@ if $ARGS[0] = 'reluctant_bj1':
 	else
 		act 'Chicken out (<<will_cost>> Willpower)': gt 'auditions', 'audition_escape'
 	end
-	
+
 	act'Tentatively blow him':
 		cla & *clr
 		gs 'arousal', 'bj', 2, 'sub'
@@ -96,7 +96,7 @@ if $ARGS[0] = 'reluctant_bj1':
 				else
 					act 'Run away (<<will_cost>> Willpower)': gt 'auditions', 'audition_escape'
 				end
-				
+
 				act'No! Please! I''ll do a better job!':
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/actress/sex/reluctant/bj3.mp4"></video></center>'
@@ -118,7 +118,7 @@ if $ARGS[0] = 'reluctant_bj1':
 							'<center><video autoplay loop src="images/shared/actress/sex/grope.mp4"></video></center>'
 							'"A virgin huh?" he says with a hungry look. "Well if you''re a virgin, then I could <i>definitely</i> give this part for you..." His hands are all over you now, groping you through your clothes. "... that is if you... give something to me..."'
 						end
-							
+
 						act'No, only a blowjob':
 							cla & *nl
 							'"No!" you gasp, shaking out of his grasp as you feel his fingers grab at your crotch. "No! Only a blowjob!"'
@@ -131,7 +131,7 @@ if $ARGS[0] = 'reluctant_bj1':
 !!							'"Well let''s see that ass and then we''ll decide if you get the role."'
 !!							act 'Take off your clothes': gt 'auditions', 'reluctant_anal1'
 !!						end
-						
+
 						act'Give in':
 							cla & *nl
 							'"Okay," you whisper, closing your eyes. "Okay. I''ll let you... fuck me..."'
@@ -173,7 +173,7 @@ if $ARGS[0] = 'reluctant_bj1':
 !!						'"Well let''s see that ass and then we''ll decide if you get the role."'
 !!						act 'Take off your clothes': gt 'audition_sex1', 'reluctant_anal1'
 !!					end
-					
+
 					act'Give in':
 						cla & *nl
 						'"Okay," you whisper, closing your eyes. "Okay. I''ll let you... fuck me..."'
@@ -184,20 +184,20 @@ if $ARGS[0] = 'reluctant_bj1':
 				end
 			end
 		end
-		
+
 !!		act'Put in real effort': gt 'audition_sex1', 'reluctant_bj3'
-		
-		act'Undress and try harder': 
+
+		act'Undress and try harder':
 			audition['undress'] = 1
 			gt 'audition_sex1', 'reluctant_bj2'
 		end
-		
+
 !!		act'Let him take control':
 !!			cla & *clr
 !!			audition['bonus'] += 10
 !!			gs 'arousal', 'bj', 2, 'sub', 'deepthroat'
 !!			'<center><video autoplay loop src="images/locations/city/citycenter/aurora/auditions/sex/bj1.mp4"></video></center>'
-!!			
+!!
 !!		end
 	end
 end
@@ -225,11 +225,11 @@ if $ARGS[0] = 'reluctant_bj2':
 		'"I''m cumming!"'
 		act'Choke':
 			gs 'arousal', 'bj', 1, 'sub', 'deepthroat', 'rough'
-			gs 'cum_call', 'mouth', $boydesc
+			gs 'cum_call', 'mouth', $boy
 			if $clothingworntype ! 'nude':
-				gs 'cum_call', 'clothes', $boydesc
+				gs 'cum_call', 'clothes', $boy
 			else
-				gs 'cum_call', 'breasts', $boydesc
+				gs 'cum_call', 'breasts', $boy
 			end
 			gs 'stat'
 			cla & *clr
@@ -256,11 +256,11 @@ if $ARGS[0] = 'reluctant_bj2':
 					'He slides the paper closer towards you and a pen with it. "Just sign here and the casting will be official."'
 					act 'Sign the contract': gt 'auditions', 'naked_signature'
 				end
-				
+
 !!				act'Just leave':
 !!					actress['cast_couch_walk'] = 1
 !!				end
-				
+
 			end
 			act'Too stunned to care':
 				cla & *clr
@@ -282,7 +282,7 @@ if $ARGS[0] = 'reluctant_bj2':
 		act'Continue':
 			if audition['cum_choice'] = 2:
 				cla & *clr
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				'<center><video autoplay loop src="images/shared/actress/sex/reluctant/bj2.mp4"></video></center>'
 				'"Here it comes girlie!" <<$boydesc>> grabs you by the back of the head and begins to work your head like a fleshlite. "You better swallow every drop!"'
@@ -310,7 +310,7 @@ if $ARGS[0] = 'reluctant_bj2':
 								'Once the floor is as clean as you think you can get it (though you''re pretty sure it''s still going to stain), you take a moment to gather your clothes and redress yourself. By the time you''re done, <<$boydesc>> has already resituated himself behind the desk.'
 								act 'Find out if you got the role now': gt 'auditions', 'reluctant_swallow_end'
 							end
-						
+
 							act'Stand up':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -322,18 +322,18 @@ if $ARGS[0] = 'reluctant_bj2':
 						end
 					end
 				end
-				
+
 				act'Take it in your mouth':
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
 					'You keep sucking as you feel <<$boydesc>>''s cock pulsate and more and more cum spill from it. Eventually he finally stops orgasming and you carefully pull away, trying not to spill everything that''s in your mouth.'
 					'"Well?" <<$boydesc>> looks at you expectantly. "Aren''t you going to swallow?"'
-					act'Try and fail':				
+					act'Try and fail':
 						audition['penalty'] += 10
 						audition['cast_couch'] = 2
-						gs 'cum_call', 'hands', $boydesc
-						gs 'cum_call', 'face', $boydesc
-						gs 'cum_call', 'breasts', $boydesc
+						gs 'cum_call', 'hands', $boy
+						gs 'cum_call', 'face', $boy
+						gs 'cum_call', 'breasts', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -359,7 +359,7 @@ if $ARGS[0] = 'reluctant_bj2':
 							'Picking the tissues up from the floor, you wipe your mouth and body clean before picking up your disgarded clothes and pulling them back on. By the time you''re done, <<$boydesc>> has already resituated himself behind the desk.'
 							act 'Find out if you got the role': gt 'auditions', 'reluctant_swallow_end'
 						end
-						
+
 						act'Just clean yourself':
 							gs 'clothing','wear_last_worn'
 							gs 'underwear','wear'
@@ -372,8 +372,8 @@ if $ARGS[0] = 'reluctant_bj2':
 							'Picking the tissues up from the floor, you wipe your hands and breasts off before carefully wiping your mouth clean. By the time you''re done, <<$boydesc>> has already resituated himself behind the desk. You ignore your disgarded clothes for the moment and you stand, still naked, to face him.'
 							act 'Find out if you got the role': gt 'auditions', 'reluctant_swallow_end'
 						end
-						
-						
+
+
 						act'Don''t bother and get off the ground':
 							cla & *clr
 							gs 'stat'
@@ -382,7 +382,7 @@ if $ARGS[0] = 'reluctant_bj2':
 							act 'Find out if you got the role': gt 'auditions', 'reluctant_swallow_end'
 						end
 					end
-					
+
 					act'Swallow':
 						audition['bonus'] += 5
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/swallow2.mp4"></video></center>'
@@ -408,8 +408,8 @@ if $ARGS[0] = 'reluctant_bj2':
 							'<center><video autoplay loop src="images/shared/sex/cum/clean_mouth.mp4"></video></center>'
 							'Picking the tissues up from the floor, you wipe your mouth clean before crawling over to your disgarded clothes and pulling them back on. By the time you''re done, <<$boydesc>> has already resituated himself behind the desk.'
 							act 'Find out if you got the role': gt 'auditions', 'reluctant_swallow_end'
-						end	
-						
+						end
+
 						act'Just wipe your mouth':
 							gs 'clothing','wear_last_worn'
 							gs 'underwear','wear'
@@ -431,14 +431,14 @@ if $ARGS[0] = 'reluctant_bj2':
 				act'Wait for it':
 					audition['cast_couch'] = 5
 					cla & *clr
-					gs 'cum_call', 'face', $boydesc
+					gs 'cum_call', 'face', $boy
 					gs 'stat'
 					'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 					'You close your eyes and wait a few moments until hot liquid splashes across your skin. You flinch and squeeze your eyes tighter as more cum spatters all over your face.'
 					'You can''t see but you hear <<$boydesc>> talking.'
 					'"Ahh yeah. Now isn''t that a pretty sight?"'
 					act'Wipe your eyes':
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -453,13 +453,13 @@ if $ARGS[0] = 'reluctant_bj2':
 								gs 'cum_cleanup'
 								gs 'stat'
 								'<center><video autoplay loop src="images/shared/sex/cum/clean_mouth.mp4"></video></center>'
-								'You take them and begin cleaning yourself up, wiping your face and then wiping away the cum that dripped onto your breasts, and then finally cleaning off your hands. By the time you''re done, <<$boydesc>> has already pulled his pants up and is sitting behind the desk again with a sheet of paper on it between you and him. You pull your clothes on while he watches you, leering the whole time.'								
+								'You take them and begin cleaning yourself up, wiping your face and then wiping away the cum that dripped onto your breasts, and then finally cleaning off your hands. By the time you''re done, <<$boydesc>> has already pulled his pants up and is sitting behind the desk again with a sheet of paper on it between you and him. You pull your clothes on while he watches you, leering the whole time.'
 								act 'Find out if you got the role': gt 'auditions', 'reluctant_facial_end'
 							end
 
 							act'Just get dressed':
 								cla & *clr
-								gs 'cum_call', 'clothes', $boydesc
+								gs 'cum_call', 'clothes', $boy
 								gs 'stat'
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
 								'You look blankly at the packet in front of you but for some reason you can''t summon the will inside you to be bothered by the cum covering your face. You blink your tired eyes a few times before pulling on your clothes, unavoidably smearing them with cum from your body as you do.'
@@ -467,7 +467,7 @@ if $ARGS[0] = 'reluctant_bj2':
 								act 'Find out if you got the role': gt 'auditions', 'reluctant_facial_end'
 							end
 						end
-						
+
 						act'Just clean up':
 							cla & *clr
 							minut += 2
@@ -483,7 +483,7 @@ if $ARGS[0] = 'reluctant_bj2':
 							end
 							act 'Find out if you got the role': gt 'auditions', 'reluctant_facial_end'
 						end
-						
+
 						act'Too stunned to care':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -496,14 +496,14 @@ if $ARGS[0] = 'reluctant_bj2':
 							act 'Find out if you got the role': gt 'auditions', 'reluctant_facial_end'
 						end
 					end
-					
+
 					act'Try not to cry':
 						audition['bonus'] += 5
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/actress/sex/cry_facial2.mp4"></video></center>'
 						'As the cum drips down your face, your chest wells up with emotion and you want to cry. Determined not to humilate yourself further, you hold it in as best you can when <<$boydesc>> flicks one final glob of cum from his cock, spattering across your forehead. So insignificant in the grand scheme of things, and yet it almost breaks you right then and there. Despite it all, you barely manage to contain it. Your jaw clenches and your lips quiver, but you don''t cry.'
 						act'Wipe your eyes':
-							gs 'cum_call', 'hands', $boydesc
+							gs 'cum_call', 'hands', $boy
 							gs 'stat'
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -532,7 +532,7 @@ if $ARGS[0] = 'reluctant_bj2':
 						'<center><video autoplay loop src="images/shared/actress/sex/cry_facial3.mp4"></video></center>'
 						'Tears well up in your eyes and drip down your cheeks, mixing with the cum that coats them. You put your head in your hands and cry, taking deep breaths and trying to cover up the huffing the sobbs that escape your mouth.'
 						act'Wipe your eyes':
-							gs 'cum_call', 'hands', $boydesc
+							gs 'cum_call', 'hands', $boy
 							gs 'stat'
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -547,13 +547,13 @@ if $ARGS[0] = 'reluctant_bj2':
 									gs 'cum_cleanup'
 									gs 'stat'
 									'<center><video autoplay loop src="images/shared/sex/cum/clean_mouth.mp4"></video><video autoplay loop src="images/shared/sex/cum/clean_hands.mp4"></video></center>'
-									'You take them and begin cleaning yourself up, wiping your face and then wiping away the cum that dripped onto your breasts, and then finally cleaning off your hands. By the time you''re done, <<$boydesc>> has already pulled his pants up and is sitting behind the desk again with a sheet of paper on it between you and him. You pull your clothes on while he watches you, leering the whole time.'								
+									'You take them and begin cleaning yourself up, wiping your face and then wiping away the cum that dripped onto your breasts, and then finally cleaning off your hands. By the time you''re done, <<$boydesc>> has already pulled his pants up and is sitting behind the desk again with a sheet of paper on it between you and him. You pull your clothes on while he watches you, leering the whole time.'
 									act 'Find out if you got the role': gt 'auditions', 'reluctant_facial_end'
 								end
 
 								act'Just get dressed':
 									cla & *clr
-									gs 'cum_call', 'clothes', $boydesc
+									gs 'cum_call', 'clothes', $boy
 									gs 'stat'
 									'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
 									'You look blankly at the packet in front of you but for some reason you can''t summon the will inside you to be bothered by the cum covering your face. You blink your puffy eyes a few times before pulling on your clothes, unavoidably smearing them with cum from your body as you do.'
@@ -561,14 +561,14 @@ if $ARGS[0] = 'reluctant_bj2':
 									act 'Find out if you got the role': gt 'auditions', 'reluctant_facial_end'
 								end
 							end
-							
+
 							act'Just clean up':
 								cla & *clr
 								minut += 2
 								cumspclnt = 4
 								gs 'cum_cleanup'
 								gs 'stat'
-								
+
 								if $clothingworntype ! 'nude':
 									'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
 									'You take them and begin cleaning yourself up, wiping your face and then wiping away the cum that dripped onto your clothes, and then finally cleaning off your hands. By the time you''re done, <<$boydesc>> has already pulled his pants up and is sitting behind the desk again with a sheet of paper on it between you and him. You pull your clothes on while he watches you, leering the whole time.'
@@ -578,7 +578,7 @@ if $ARGS[0] = 'reluctant_bj2':
 								end
 								act 'Find out if you got the role': gt 'auditions', 'reluctant_facial_end'
 							end
-							
+
 							act'Too stunned to care':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -625,14 +625,14 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 	if audition['cum_choice'] = 0:
 		act'Continue':
 			if audition['condom'] = 1:
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. Your whole body goes taut in panic before he pulls out and you see he cam  in the condom.'
 				'"Hrmm, not bad, not bad," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Almost even worth using a condom for."'
 				'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'
 				audition['cast_couch'] = 10
 			else
 				cla & *clr
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 	!!			if audition['position'] = 3:
 	!!				'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/raised.mp4"></video></center>'
@@ -650,7 +650,7 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 		'After a few more minutes, <<$boydesc>> grunts.'
 		'"You''re sucking me in! I''m gonna cum!"'
 		act'Don''t say anything':
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			cla & *clr
 !!			if audition['position'] = 3:
@@ -662,10 +662,10 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 			audition['cast_couch'] = 12
 			act 'Continue': gt 'audition_sex1', 'reluctant_creampie'
 		end
-		
+
 		act'Not inside me!':
 			if rand(0,1) = 1:
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				audition['creampie_surprise'] = 1
 				cla & *clr
@@ -684,9 +684,9 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 				'"Then get on your knees." He pulls you of the desk and tosses you onto the floor, jerking off in front of your face.'
 				act'Close your eyes':
 					cla & *clr
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'hair', $boydesc
-					gs 'cum_call', 'breasts', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'hair', $boy
+					gs 'cum_call', 'breasts', $boy
 					audition['cast_couch'] = 11
 					gs 'stat'
 					'<center><video autoplay loop src="images/shared/actress/sex/cry_facial1.mp4"></video></center>'
@@ -697,7 +697,7 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 						'Emotion wells up inside you but you steel yourself. You are determined not to humilate yourself further by crying when you feel another glob of cum flicked from <<$boydesc>>''s cock onto your face and it almost breaks you right then, but you barely contain it. Your lips quiver, but no tears fall from your face.'
 						act 'Continue': gt 'audition_sex1', 'reluctant_facial1'
 					end
-					
+
 					act'Cry':
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/actress/sex/cry_facial3.mp4"></video></center>'
@@ -725,7 +725,7 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 			*nl
 			'And then you taste it.'
 			act'Mrrph-!':
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/actress/sex/cum/cum_choke.mp4"></video></center>'
@@ -753,7 +753,7 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 							'You take the packet and wipe your mouth coughing heavily into the tissues as you do. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'reluctant_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -762,7 +762,7 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 						end
 					end
 				end
-				
+
 				act'Just endure it':
 					audition['cast_couch'] = 6
 					audition['swallow'] = 1
@@ -775,11 +775,11 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 					'"Outstanding," he says, grinning ear to ear as he withdraws himself from your mouth. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 					act 'Find out the results of your audition': gt 'auditions', 'reluctant_results'
 				end
-				
+
 				act'Spit it out':
 					audition['cast_couch'] = 8
 					audition['penalty'] += 5
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -797,9 +797,9 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 		'Not waiting for a response, he grabs you by the arm and flings you to the floor and starts jerking off in front of your face.'
 		act'Close your eyes':
 			cla & *clr
-			gs 'cum_call', 'face', $boydesc
-			gs 'cum_call', 'hair', $boydesc
-			gs 'cum_call', 'breasts', $boydesc
+			gs 'cum_call', 'face', $boy
+			gs 'cum_call', 'hair', $boy
+			gs 'cum_call', 'breasts', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/actress/sex/cry_facial1.mp4"></video></center>'
 			'You feel the tip of his cock brush against your forehead and after a moment hot liquid spills all over across your face. You feel his cum drip down over your eyes and down your cheek and even onto your breasts.'
@@ -809,7 +809,7 @@ if $ARGS[0] = 'reluctant_fuck_cum':
 				'Emotion wells up inside you but you steel yourself. You are determined not to humilate yourself further by crying when you feel another glob of cum flicked from <<$boydesc>>''s cock onto your face and it almost breaks you right then, but you barely contain it. Your lips quiver, but no tears fall from your face.'
 				act 'Continue': gt 'audition_sex1', 'reluctant_facial1'
 			end
-			
+
 			act'Cry':
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/actress/sex/cry_facial3.mp4"></video></center>'
@@ -833,9 +833,9 @@ if $ARGS[0] = 'reluctant_creampie':
 		end
 		'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 		act 'Clean yourself up and get dressed': gt 'audition_sex1', 'reluctant_clean_dress'
-			
+
 		act 'Just clean up': gt 'audition_sex1', 'reluctant_clean'
-		
+
 		act'Don''t bother':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -859,9 +859,9 @@ if $ARGS[0] = 'reluctant_creampie':
 			end
 			'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 			act 'Clean yourself up and get dressed': gt 'audition_sex1', 'reluctant_clean_dress'
-				
+
 			act 'Just clean up': gt 'audition_sex1', 'reluctant_clean'
-			
+
 			act'Don''t bother':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -869,7 +869,7 @@ if $ARGS[0] = 'reluctant_creampie':
 				act 'Find out the results of your audition': gt 'auditions', 'reluctant_results'
 			end
 		end
-		
+
 		act'What the fuck!':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -878,16 +878,16 @@ if $ARGS[0] = 'reluctant_creampie':
 				'"What?" he says, pulling a pack of tissues from the desk. "You''re complaining about getting creampied? If you don''t want to get pregnant, you shouldn''t have sex. Goodness knows I wasn''t your first time," <<$boydesc>> smirks. "If you''re really that scared go get yourself a morning-after pill from the pharmacy."'
 				'<i>I guess this is why I''m on birth control...</i> you think to yourself, glaring at him while he wipes his cock off. He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'reluctant_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'reluctant_clean'
 			else
 				'"What the fuck!" you shout. "You just came inside me! What the fuck were you thinking?? I''m not on birth control!"'
 				'"Well you should have thought of that before deciding to fuck someone," he says, pulling a pack of tissues from the desk to clean his cock off. "That''s not my problem if you''re too stupid to trade sex for favors without taking birth control. Besides, your pussy was so tight, it was practically begging me to cum inside it! Just buy a morning-after pill. Or don''t, maybe you''ll get pregnant. I bet it''d be a real handsome kid. You''ve got a gold mine of DNA in that pussy of yours," <<$boydesc>> smirks arrogantly.'
 				'He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'reluctant_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'reluctant_clean'
-				
+
 				act'Don''t bother':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -940,7 +940,7 @@ end
 
 if $ARGS[0] = 'panic_virgin1':
 	gs 'arousal', 'vaginal', rand(5,10), 'rape', 'rough'
-	gs 'cum_call', 'precum', $boydesc
+	gs 'cum_call', 'precum', $boy
 	actress['cast_couch_virginity'] = 1
 	audition['cast_couch_virgin'] = 1
 	actress['panic_virgin'] = 1
@@ -950,9 +950,9 @@ if $ARGS[0] = 'panic_virgin1':
 	'<<$boydesc>> continues to fuck you, the room filled with the slapping sound of hips clapping against your ass and the softer grunts and whimpers of pain that mew from your mouth, until finally he pulls out and pushes you onto the floor. When you look up, he''s jerking himself off in front of your face. Unable to do anything else, you close your eyes and wait.'
 	act'Continue':
 		cla & *clr
-		gs 'cum_call', 'face', $boydesc
-		gs 'cum_call', 'hair', $boydesc
-		gs 'cum_call', 'breasts', $boydesc
+		gs 'cum_call', 'face', $boy
+		gs 'cum_call', 'hair', $boy
+		gs 'cum_call', 'breasts', $boy
 		gs 'stat'
 		'<center><video autoplay loop src="images/shared/actress/sex/cry_facial1.mp4"></video></center>'
 		'You feel the tip of his cock brush against your forehead and after a moment hot liquid spills all over across your face. You feel his cum drip down over your eyes and down your cheek and even onto your breasts.'
@@ -973,7 +973,7 @@ if $ARGS[0] = 'panic_virgin1':
 			'Emotion wells up inside you but you steel yourself. You are determined not to humilate yourself further by crying when you feel another glob of cum flicked from <<$boydesc>>''s cock onto your face and it almost breaks you right then, but you barely contain it. Your lips quiver, but no tears fall from your face.'
 			act 'Continue': gt 'audition_sex1', 'panic_virgin2'
 		end
-		
+
 		act'Cry':
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/actress/sex/cry_facial3.mp4"></video></center>'
@@ -1003,9 +1003,9 @@ if $ARGS[0] = 'panic_virgin2':
 		'"Thank you for casting me," you say flatly and exit the room.'
 		act 'Leave': gt 'auditions', 'reflection'
 	end
-	
+
 	act'Don''t bother':
-		gs 'cum_call', 'clothes', $boydesc
+		gs 'cum_call', 'clothes', $boy
 		gs 'clothing', 'wear_last_worn'
 		gs 'underwear', 'wear'
 		gs 'stat'
@@ -1052,9 +1052,9 @@ end
 if $ARGS[0] = 'reluctant_virgin_facial':
 	cla & *clr
 	audition['cast_couch'] = 10
-	gs 'cum_call', 'face', $boydesc
-	gs 'cum_call', 'hair', $boydesc
-	gs 'cum_call', 'breasts', $boydesc
+	gs 'cum_call', 'face', $boy
+	gs 'cum_call', 'hair', $boy
+	gs 'cum_call', 'breasts', $boy
 	gs 'stat'
 	'<center><video autoplay loop src="images/shared/actress/sex/cry_facial1.mp4"></video></center>'
 	'He starts to jerk off and puts the tip right above your forehead before spurts of cum start coming out and dribble across your face. It drips down over your eyes, your cheeks, your mouth, and even down to your breasts.'
@@ -1064,14 +1064,14 @@ if $ARGS[0] = 'reluctant_virgin_facial':
 		'The cum that dribbles down your face causes something to bubble up inside you and suddenly you want to cry, not knowing entirely why. The feeling fades and just as you think it''s about to pass, <<$boydesc>> flicks one last glob of cum from his cock onto your forehead. The impact on your face nearly causes you to instantly burst into tears but taking deep breaths through your nose, you somehow hold it back.'
 		act 'Continue': gt 'audition_sex1', 'reluctant_virgin_facial2'
 	end
-	
+
 	act'Cry':
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/actress/sex/cry_facial3.mp4"></video></center>'
 		'Everything that''s happening is just too much and you burst into tears, the droplets that fall from your eyes mixing with the cum that already coats your cheeks. You heave shuddering breaths as sobs wrack your body and you hang your head in your hands, unable to contain your blubbering emotions.'
 		act 'Continue': gt 'audition_sex1', 'reluctant_virgin_facial2'
 	end
-	
+
 	act'Take it in stride':
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/shared/actress/sex/facial.jpg"></center>'
@@ -1101,7 +1101,7 @@ end
 if $ARGS[0] = 'reluctant_virgin_creampie':
 	cla & *clr
 	if rand (0,1) = 1:
-		gs 'cum_call', '', $boydesc
+		gs 'cum_call', '', $boy
 		gs 'stat'
 		'<center><video autoplay loop src="images/shared/sex/cum/cum7.mp4"></video></center>'
 		'<<$boydesc>> grabs you by the hips and thrusts himself to the hilt. You feel him pulsating inside you and a hot liquid filling up your pussy. Your eyes go wide when you realize <<$boydesc>> just came inside you.'
@@ -1120,10 +1120,10 @@ if $ARGS[0] = 'reluctant_virgin_creampie':
 			act 'Clean up and get dressed': gt 'audition_sex1', 'reluctant_clean_dress'
 			act 'Just clean up': gt 'audition_sex1', 'reluctant_clean'
 		end
-		
+
 		act'What the fuck!':
 			cla & *clr
-			gs 'cum_call', 'hands', $boydesc
+			gs 'cum_call', 'hands', $boy
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/cum111.jpg"></center>'
 			'"What the fuck!" you shout and practically shove him off of you. Looking down, you see the white liquid dribbling from your pussy and you confirm it. "You just came inside me!"'
@@ -1140,7 +1140,7 @@ if $ARGS[0] = 'reluctant_virgin_creampie':
 			act 'Clean up and get dressed': gt 'audition_sex1', 'reluctant_clean_dress'
 			act 'Just clean up': gt 'audition_sex1', 'reluctant_clean'
 		end
-		
+
 		if birth_control['think_safe'] = 0:
 			act'Panic':
 				cla & *clr
@@ -1159,7 +1159,7 @@ if $ARGS[0] = 'reluctant_virgin_creampie':
 		'"Ugh! You''re so tight! I''m gonna cum!"'
 		act'Don''t say anything':
 			cla & *clr
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/actress/sex/fuck3.mp4"></video></center>'
 			'You don''t say anything and let him keep fucking you. A few pumps later, <<$boydesc>> grabs you by the hips and thrusts himself to the hilt. You feel him pulsating inside you and a hot liquid filling up your pussy.'
@@ -1176,7 +1176,7 @@ if $ARGS[0] = 'reluctant_virgin_creampie':
 			act 'Clean up and get dressed': gt 'audition_sex1', 'reluctant_clean_dress'
 			act 'Just clean up': gt 'audition_sex1', 'reluctant_clean'
 		end
-		
+
 		gs 'willpower', 'cum_inside','resist'
 		if will_cost >= pcs_willpwr:
 			act'Not inside me! (<<will_cost>> Willpower)':
@@ -1194,8 +1194,8 @@ if $ARGS[0] = 'reluctant_virgin_creampie':
 					act 'Continue': gt 'audition_sex1', 'reluctant_virgin_facial'
 				else
 					'<center><video autoplay loop src="images/shared/sex/cum/cum3.mp4"></video></center>'
-					gs 'cum_call', 'butt', $boydesc
-					gs 'cum_call', 'back', $boydesc
+					gs 'cum_call', 'butt', $boy
+					gs 'cum_call', 'back', $boy
 					gs 'stat'
 					if birth_control['think_safe'] = 0:
 						'"Please! Don''t cum inside me!" you beg. "I''m not on birth control!"'

+ 109 - 109
locations/audition_sex2.qsrc

@@ -12,7 +12,7 @@
 !! audition['roletype'] = 9 - A main character with nude scenes
 
 !! Audition Types
-!! 
+!!
 !! $audition['type'] = 'general' - general audition no special events usually for a minor speaking role
 !! $audition['type'] = 'extra' - an audition basically just to confirm scheduling and check that the PC isn''t grossly ugly
 !! $audition['type'] = 'titty' - an audition based solely on appearance and size of breasts, usually for a role as an extra
@@ -93,14 +93,14 @@ if $ARGS[0] = 'neutral_bj1':
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/actress/sex/cum_choke.mp4"></video></center>'
 					gs 'arousal', 'bj', 1, 'sub', 'deepthroat', 'rough'
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'mouth', $boy
 					if $clothingworntype ! 'nude':
-						gs 'cum_call', 'clothes', $boydesc
+						gs 'cum_call', 'clothes', $boy
 					else
-						gs 'cum_call', 'breasts', $boydesc
+						gs 'cum_call', 'breasts', $boy
 					end
 					'With no more warning than that, he forces your head down onto his cock as far as it can go. No sooner do you feel his tip touching the back of your throat than a flood of cum begins to pour down it. Your eyes tear up and you involuntarily choke, coughing and causing some of the cum to spill out the corners of your mouth.'
-					
+
 					act'Cough it all up':
 						cla & *clr
 						audition['cast_couch'] = 2
@@ -141,7 +141,7 @@ if $ARGS[0] = 'neutral_bj1':
 							end
 						end
 					end
-					
+
 					act'Swallow':
 						cla & *nl
 						audition['cast_couch'] = 1
@@ -171,14 +171,14 @@ if $ARGS[0] = 'neutral_bj1':
 			elseif audition['cum_choice'] = 2:
 				'"I''m almost there girlie," he says. "I want you to swallow every drop, you hear?"'
 				act'Keep blowing him until he cums':
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
 					'You prepare yourself and keep blowing him until you begin to feel hot liquid pour into your mouth. You gently continue to suck even after he stops ejaculating, feeling the last remnants of his load being drawn from the tip of his cock. When you''re finally sure you have it all, you carefully move away, holding it all inside your mouth.'
 					act'Try to swallow (and fail)':
 						audition['cast_couch'] = 2
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -196,7 +196,7 @@ if $ARGS[0] = 'neutral_bj1':
 								'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 								act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 							end
-							
+
 							act'Don''t bother':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -204,7 +204,7 @@ if $ARGS[0] = 'neutral_bj1':
 								act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 							end
 						end
-						
+
 						act'Apologize':
 							audition['bonus'] += 3
 							cla & *clr
@@ -219,7 +219,7 @@ if $ARGS[0] = 'neutral_bj1':
 								'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 								act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 							end
-							
+
 							act'Don''t bother':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -228,7 +228,7 @@ if $ARGS[0] = 'neutral_bj1':
 							end
 						end
 					end
-					
+
 					act'Swallow':
 						audition['cast_couch'] = 1
 						audition['bonus'] += 10
@@ -239,11 +239,11 @@ if $ARGS[0] = 'neutral_bj1':
 						'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 						act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 					end
-					
+
 					act'Spit it out':
 						audition['cast_couch'] = 3
 						audition['penalty'] += 5
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -268,11 +268,11 @@ if $ARGS[0] = 'neutral_bj1':
 						'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 						act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 					end
-					
+
 					act'Spit it out':
 						audition['cast_couch'] = 3
 						audition['penalty'] += 5
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -286,13 +286,13 @@ if $ARGS[0] = 'neutral_bj1':
 				'"Ready for your close up?" he smiles, pulling his dick out of your mouth and jerking it off in front of your face. "Here comes the money shot!"'
 				act'Close your eyes and wait for it':
 					audition['cast_couch'] = 5
-					gs 'cum_call', 'face', $boydesc
+					gs 'cum_call', 'face', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/actress/sex/cum/facial/facial0,3.mp4"></video></center>'
 					'You close your eyes and wait for the inevitable. You don''t have to wait very long, as after just a couple seconds a hot liquid hits you in the face. Even knowing what''s going to happen doesn''t stop you from flinching as more and more cum spatters onto your eyelids and cheeks until eventually nothing else comes.'
 					act'Wipe your eyes':
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -317,8 +317,8 @@ if $ARGS[0] = 'neutral_bj1':
 					end
 				end
 				act'Stick out your tongue':
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					audition['bonus'] += 5
 					cla & *clr
@@ -328,7 +328,7 @@ if $ARGS[0] = 'neutral_bj1':
 					'The first shot of cum lands directly on your tongue and you can taste its salty flavor. The second and third shot don''t have as great aim and hit you in the cheek, though maybe it was actually on purpose when the rest of his ejaculate spurts into your mouth; the very last of it more of a dribble onto your lips. Your eyes are still closed, but nothing else comes.'
 !!					act'Spit it out':
 !!						audition['penalty'] += 5
-!!						gs 'cum_call', 'hands', $boydesc
+!!						gs 'cum_call', 'hands', $boy
 !!						gs 'stat'
 !!						cla & *clr
 !!						'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -352,7 +352,7 @@ if $ARGS[0] = 'neutral_bj1':
 !!							act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 !!						end
 !!					end
-					
+
 					act'Swallow':
 						audition['cast_couch'] = 4
 						audition['bonus'] += 10
@@ -408,7 +408,7 @@ if $ARGS[0] = 'neutral_bj1':
 								'"Good," he says. "Now bend over."'
 								act 'Get assfucked': gt 'audition_sex2', 'neutral_anal2'
 							end
-							
+
 							act'... yes':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -462,7 +462,7 @@ if $ARGS[0] = 'neutral_bj1':
 								act 'Bend over': gt 'auditions', 'neutral_anal2'
 							end
 						end
-						
+
 						act'Give in':
 							cla & *nl
 							'"Okay," you whisper, closing your eyes and taking a deep breath. "Okay. I''ll let you fuck me... If you promise to give me the role."'
@@ -501,7 +501,7 @@ if $ARGS[0] = 'neutral_bj2':
 		act'Close your eyes and wait for it': gt 'audition_sex2','neutral_bj3'
 		act'Stick out your tongue': gt 'audition_sex2','neutral_bj4'
 	end
-	
+
 	act'Try to take him as deep as possible':
 		cla & *clr
 		audition['bonus'] += 8
@@ -514,13 +514,13 @@ end
 
 if $ARGS[0] = 'neutral_bj3':
 	audition['cast_couch'] = 5
-	gs 'cum_call', 'face', $boydesc
+	gs 'cum_call', 'face', $boy
 	gs 'stat'
 	cla & *clr
 	'<center><video autoplay loop src="images/shared/actress/sex/cum/facial/facial0,3.mp4"></video></center>'
 	'You close your eyes and wait for the inevitable. You don''t have to wait very long, as after just a couple seconds a hot liquid hits you in the face. Even knowing what''s going to happen doesn''t stop you from flinching as more and more cum spatters onto your eyelids and cheeks until eventually nothing else comes.'
 	act'Wipe your eyes':
-		gs 'cum_call', 'hands', $boydesc
+		gs 'cum_call', 'hands', $boy
 		gs 'stat'
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -546,8 +546,8 @@ if $ARGS[0] = 'neutral_bj3':
 end
 
 if $ARGS[0] = 'neutral_bj4':
-	gs 'cum_call', 'face', $boydesc
-	gs 'cum_call', 'mouth', $boydesc
+	gs 'cum_call', 'face', $boy
+	gs 'cum_call', 'mouth', $boy
 	gs 'stat'
 	audition['bonus'] += 5
 	cla & *clr
@@ -631,7 +631,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 		act'Continue':
 			if audition['condom'] = 1:
 				audition['cast_couch'] = 10
-				gs 'cum_call', '', $boydesc,'', 3
+				gs 'cum_call', '', $boy,'', 3
 				'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. As he pulls out, you look down and see he came in the condom.'
 				'"Hrmm, not bad, not bad," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Almost even worth using a condom for."'
 				'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'
@@ -665,7 +665,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 			else
 				audition['cast_couch'] = 12
 				cla & *clr
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				if audition['position'] = 3:
 					'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/raised.mp4"></video></center>'
@@ -684,7 +684,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 		act'Don''t say anything':
 			if audition['condom'] = 1:
 				audition['cast_couch'] = 10
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. As he pulls out, you look down and see he came in the condom.'
 				'"Hrmm, not bad, not bad," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Almost even worth using a condom for."'
 				'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'
@@ -718,7 +718,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 			else
 				cla & *clr
 				audition['cast_couch'] = 12
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				if audition['position'] = 3:
 					'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/raised.mp4"></video></center>'
@@ -729,11 +729,11 @@ if $ARGS[0] = 'neutral_fuck_cum':
 				act 'Continue': gt 'audition_sex2', 'neutral_creampie'
 			end
 		end
-		
+
 		act'Not inside me!':
 			if rand(0,1) = 1:
 				audition['cast_couch'] = 12
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				audition['creampie_surprise'] = 1
 				cla & *clr
@@ -752,15 +752,15 @@ if $ARGS[0] = 'neutral_fuck_cum':
 				act'Close your eyes':
 					audition['cast_couch'] = 11
 					cla & *clr
-					gs 'cum_call', 'face', $boydesc
+					gs 'cum_call', 'face', $boy
 					gs 'stat'
 					'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 					'You flinch instinctively when you feel hot liquid spatter across your face.'
 					act 'Continue': gt 'audition_sex2', 'neutral_facial'
 				end
 				act'Stick out your tongue':
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					audition['bonus'] += 5
 					cla & *clr
@@ -798,10 +798,10 @@ if $ARGS[0] = 'neutral_fuck_cum':
 				end
 			end
 		end
-		
+
 		act'Cum inside me':
 			audition['cast_couch'] = 12
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			audition['bonus'] += 10
 			cla & *clr
@@ -814,7 +814,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 			'"Now that''s how you impress me at an audition!" <<$boydesc>> pumps twice more and then thrusts balls deep into you. He grunts and you feel something hot spill out inside you. You wait patient while his cock pulses several times before he withdraws himself from you, cum spilling out after.'
 			act 'Continue': gt 'audition_sex2', 'neutral_creampie'
 		end
-		
+
 		act'Cum wherever you want':
 			audition['cast_couch'] = 12
 			audition['bonus'] += 10
@@ -826,10 +826,10 @@ if $ARGS[0] = 'neutral_fuck_cum':
 			end
 			'"Cum wherever you want," you say. "Inside me or not, I''ll take it where you want it."'
 			'"Now that''s a good girl. I can tell you''re going to go far in this business!"'
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			'<<$boydesc>> says the last word and he thrusts balls deep into you, grunting as you feel him release his load inside you hot spill out inside you. You wait patient while his cock pulses several times before he withdraws himself from you, cum spilling out after.'
-			act 'Continue': gt 'audition_sex2', 'neutral_creampie'					
+			act 'Continue': gt 'audition_sex2', 'neutral_creampie'
 		end
 	elseif audition['cum_choice'] = 2:
 		'After a few more minutes, <<$boydesc>> grunts.'
@@ -849,7 +849,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 			*nl
 			'And then you taste it.'
 			act'Mrrph-!':
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
@@ -857,7 +857,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 				'"Now swallow it girlie.'
 				act'Try to swallow (and fail)':
 					audition['cast_couch'] = 7
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -875,7 +875,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -883,7 +883,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 						end
 					end
-					
+
 					act'Apologize':
 						audition['bonus'] += 3
 						cla & *clr
@@ -898,7 +898,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -907,7 +907,7 @@ if $ARGS[0] = 'neutral_fuck_cum':
 						end
 					end
 				end
-				
+
 				act'Swallow':
 					audition['cast_couch'] = 6
 					audition['swallow'] = 1
@@ -919,11 +919,11 @@ if $ARGS[0] = 'neutral_fuck_cum':
 					'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 					act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 				end
-				
+
 				act'Spit it out':
 					audition['cast_couch'] = 8
 					audition['penalty'] += 5
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -941,15 +941,15 @@ if $ARGS[0] = 'neutral_fuck_cum':
 		act'Close your eyes':
 			audition['cast_couch'] = 11
 			cla & *clr
-			gs 'cum_call', 'face', $boydesc
+			gs 'cum_call', 'face', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 			'You flinch instinctively when you feel hot liquid spatter across your face.'
 			act 'Continue': gt 'audition_sex2', 'neutral_facial'
 		end
 		act'Stick out your tongue':
-			gs 'cum_call', 'face', $boydesc
-			gs 'cum_call', 'mouth', $boydesc
+			gs 'cum_call', 'face', $boy
+			gs 'cum_call', 'mouth', $boy
 			gs 'stat'
 			audition['bonus'] += 5
 			cla & *clr
@@ -1000,9 +1000,9 @@ if $ARGS[0] = 'neutral_creampie':
 		end
 		'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 		act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-			
+
 		act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
-		
+
 		act'Don''t bother':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1026,9 +1026,9 @@ if $ARGS[0] = 'neutral_creampie':
 			end
 			'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 			act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-				
+
 			act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
-			
+
 			act'Don''t bother':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1036,7 +1036,7 @@ if $ARGS[0] = 'neutral_creampie':
 				act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 			end
 		end
-		
+
 		act'What the fuck!':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1045,16 +1045,16 @@ if $ARGS[0] = 'neutral_creampie':
 				'"What?" he says, pulling a pack of tissues from the desk. "You''re complaining about getting creampied? If you don''t want to get pregnant, you shouldn''t have sex. Goodness knows I wasn''t your first time," <<$boydesc>> smirks. "If you''re really that scared go get yourself a morning-after pill from the pharmacy."'
 				'<i>I guess this is why I''m on birth control...</i> you think to yourself, glaring at him while he wipes his cock off. He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
 			else
 				'"What the fuck!" you shout. "You just came inside me! What the fuck were you thinking?? I''m not on birth control!"'
 				'"Well you should have thought of that before deciding to fuck someone," he says, pulling a pack of tissues from the desk to clean his cock off. "That''s not my problem if you''re too stupid to trade sex for favors without taking birth control. Besides, your pussy was so tight, it was practically begging me to cum inside it! Just buy a morning-after pill. Or don''t, maybe you''ll get pregnant. I bet it''d be a real handsome kid. You''ve got a gold mine of DNA in that pussy of yours," <<$boydesc>> smirks arrogantly.'
 				'He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
-				
+
 				act'Don''t bother':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1141,7 +1141,7 @@ if $ARGS[0] = 'neutral_virgin2':
 	else
 		'You wince at the first thrust, feeling his cock tear through your hymen and stretch your virgin walls. He pauses for a moment. "Was that... are you a virgin?" You don''t answser him, teeth still grit in pain and he looks down at the trickle of blood running down your thigh. "Heh. Well looks like you <i>were</i> a virgin." And he immediately thrusts again causing you to gasp. And again. And again.'
 	end
-	
+
 	act'Continue':
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/actress/sex/table_doggy/fuck3.mp4"></video></center>'
@@ -1159,13 +1159,13 @@ if $ARGS[0] = 'neutral_virgin_cum':
 	audition['cum_choice'] = rand(0,3)
 	if audition['cum_choice'] = 0:
 		if audition['condom'] = 1:
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. As he pulls out, you look down and see he came in the condom.'
 			'"Hrmm, not bad, not bad," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Tight enough I couldn''t even pull out to finish on your face. Wanted your pussy to squeeze me to the last drop, even with the condom. Virgins really are the best."'
 			'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'
 		else
 			cla & *clr
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			if audition['position'] = 3:
 				'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/raised.mp4"></video></center>'
@@ -1183,7 +1183,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 		act'Don''t say anything':
 			if audition['condom'] = 1:
 				audition['cast_couch'] = 10
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. As he pulls out, you look down and see he came in the condom.'
 				'"Hrmm, not bad, not bad," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Almost even worth using a condom for."'
 				'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'
@@ -1218,7 +1218,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 			else
 				cla & *clr
 				audition['cast_couch'] = 12
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				if audition['position'] = 3:
 					'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/raised.mp4"></video></center>'
@@ -1229,10 +1229,10 @@ if $ARGS[0] = 'neutral_virgin_cum':
 				act 'Continue': gt 'audition_sex2', 'neutral_virgin_creampie'
 			end
 		end
-		
+
 		act'Not inside me!':
 			if rand(0,1) = 1:
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				audition['creampie_surprise'] = 1
 				cla & *clr
@@ -1250,15 +1250,15 @@ if $ARGS[0] = 'neutral_virgin_cum':
 				'"Then get on your knees." He pulls you of the desk and tosses you onto the floor, jerking off in front of your face.'
 				act'Close your eyes':
 					cla & *clr
-					gs 'cum_call', 'face', $boydesc
+					gs 'cum_call', 'face', $boy
 					gs 'stat'
 					'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 					'You flinch instinctively when you feel hot liquid spatter across your face.'
 					act 'Continue': gt 'audition_sex2', 'neutral_virgin_facial'
 				end
 				act'Stick out your tongue':
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					audition['bonus'] += 5
 					cla & *clr
@@ -1296,9 +1296,9 @@ if $ARGS[0] = 'neutral_virgin_cum':
 				end
 			end
 		end
-		
+
 		act'Cum inside me':
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			audition['bonus'] += 10
 			cla & *clr
@@ -1311,17 +1311,17 @@ if $ARGS[0] = 'neutral_virgin_cum':
 			'"Now that''s how you impress me at an audition!" <<$boydesc>> pumps twice more and then thrusts balls deep into you. He grunts and you feel something hot spill out inside you. <<$boydesc>> waits until he finishes his orgasm and then slides his cock out, a slurry of cum, pussy juice, and blood spilling out after it.'
 			act 'Continue': gt 'audition_sex2', 'neutral_virgin_creampie'
 		end
-		
+
 		act'Cum wherever you want':
 			audition['bonus'] += 10
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/actress/sex/table_miss/fuck2.mp4"></video></center>'
 			'"Cum wherever you want," you say. "Inside me or not, I''ll take it where you want it."'
 			'"Now that''s a good girl. I can tell you''re going to go far in this business!"'
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			'<<$boydesc>> says the last word and he thrusts balls deep into you, grunting as you feel him release his load inside you hot spill out inside you. <<$boydesc>> waits until he finishes his orgasm and then slides his cock out, a slurry of cum, pussy juice, and blood spilling out after it.'
-			act 'Continue': gt 'audition_sex2', 'neutral_virgin_creampie'					
+			act 'Continue': gt 'audition_sex2', 'neutral_virgin_creampie'
 		end
 	elseif audition['cum_choice'] = 2:
 		'After a few more minutes, <<$boydesc>> grunts.'
@@ -1341,7 +1341,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 			*nl
 			'And then you taste it.'
 			act'Mrrph-!':
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
@@ -1349,7 +1349,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 				'"Now swallow it girlie.'
 				act'Try to swallow (and fail)':
 					audition['cast_couch'] = 7
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -1367,7 +1367,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_virgin_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1375,7 +1375,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_virgin_results'
 						end
 					end
-					
+
 					act'Apologize':
 						audition['bonus'] += 3
 						cla & *clr
@@ -1390,7 +1390,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_virgin_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1399,7 +1399,7 @@ if $ARGS[0] = 'neutral_virgin_cum':
 						end
 					end
 				end
-				
+
 				act'Swallow':
 					audition['cast_couch'] = 6
 					audition['swallow'] = 1
@@ -1411,11 +1411,11 @@ if $ARGS[0] = 'neutral_virgin_cum':
 					'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 					act 'Find out the results of your audition': gt 'auditions', 'neutral_virgin_results'
 				end
-				
+
 				act'Spit it out':
 					audition['cast_couch'] = 8
 					audition['penalty'] += 5
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -1432,15 +1432,15 @@ if $ARGS[0] = 'neutral_virgin_cum':
 		'Not waiting for a response, he grabs you by the arm and flings you to the floor and starts jerking off in front of your face.'
 		act'Close your eyes':
 			cla & *clr
-			gs 'cum_call', 'face', $boydesc
+			gs 'cum_call', 'face', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 			'You flinch instinctively when you feel hot liquid spatter across your face.'
 			act 'Continue': gt 'audition_sex2', 'neutral_virgin_facial'
 		end
 		act'Stick out your tongue':
-			gs 'cum_call', 'face', $boydesc
-			gs 'cum_call', 'mouth', $boydesc
+			gs 'cum_call', 'face', $boy
+			gs 'cum_call', 'mouth', $boy
 			gs 'stat'
 			audition['bonus'] += 5
 			cla & *clr
@@ -1492,9 +1492,9 @@ if $ARGS[0] = 'neutral_virgin_creampie':
 		end
 		'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 		act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-			
+
 		act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
-		
+
 		act'Don''t bother':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1519,9 +1519,9 @@ if $ARGS[0] = 'neutral_virgin_creampie':
 			end
 			'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 			act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-				
+
 			act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
-			
+
 			act'Don''t bother':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1529,7 +1529,7 @@ if $ARGS[0] = 'neutral_virgin_creampie':
 				act 'Find out the results of your audition': gt 'auditions', 'neutral_virgin_results'
 			end
 		end
-		
+
 		act'What the fuck!':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1539,16 +1539,16 @@ if $ARGS[0] = 'neutral_virgin_creampie':
 				'<i>It''s a good thing I was already on birth control,</i> you think to yourself. <i>I could''ve ended up with this guy''s baby growing inside me...</i>'
 				'He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
 			else
 				'"What the fuck!" you shout. "You just came inside me! What the fuck were you thinking?? I''m not on birth control!"'
 				'"Well you should have thought of that before deciding to fuck someone," he says, pulling a pack of tissues from the desk to clean his cock off. "That''s not my problem if you''re too stupid to trade sex for favors without taking birth control. Besides, your pussy was so tight, it was practically begging me to cum inside it! Just buy a morning-after pill. Or don''t, maybe you''ll get pregnant. I bet it''d be a real handsome kid. You''ve got a gold mine of DNA in that pussy of yours," <<$boydesc>> smirks arrogantly.'
 				'He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'neutral_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'neutral_clean'
-				
+
 				act'Don''t bother':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1610,7 +1610,7 @@ if $ARGS[0] = 'neutral_anal2':
 	*nl
 	gs 'audition_sex2', 'neutral_assfuck_cum'
 end
-	
+
 if $ARGS[0] = 'neutral_assfuck_cum':
 	:cum_choice2
 	audition['cum_choice'] = rand(0,3)
@@ -1619,7 +1619,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 		act'Continue':
 			audition['cast_couch'] = 18
 			cla & *clr
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/sex/cum/analcreampie/cumanal1.mp4"></video></center>'
 			audition['creampie_surprise'] = 1
@@ -1640,7 +1640,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 			*nl
 			'And then you taste the other thing.'
 			act'Mrrph-!':
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
@@ -1648,7 +1648,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 				'"Now swallow it girlie.'
 				act'Try to swallow (and fail)':
 					audition['cast_couch'] = 14
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -1666,7 +1666,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1674,7 +1674,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 						end
 					end
-					
+
 					act'Apologize':
 						audition['bonus'] += 3
 						cla & *clr
@@ -1689,7 +1689,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1698,7 +1698,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 						end
 					end
 				end
-				
+
 				act'Swallow':
 					audition['cast_couch'] = 13
 					audition['swallow'] = 1
@@ -1710,11 +1710,11 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 					'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 					act 'Find out the results of your audition': gt 'auditions', 'neutral_results'
 				end
-				
+
 				act'Spit it out':
 					audition['cast_couch'] = 15
 					audition['penalty'] += 5
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -1732,7 +1732,7 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 		act'Close your eyes':
 			audition['cast_couch'] = 17
 			cla & *clr
-			gs 'cum_call', 'face', $boydesc
+			gs 'cum_call', 'face', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 			'You flinch instinctively when you feel hot liquid spatter across your face.'
@@ -1753,8 +1753,8 @@ if $ARGS[0] = 'neutral_assfuck_cum':
 			end
 		end
 		act'Stick out your tongue':
-			gs 'cum_call', 'face', $boydesc
-			gs 'cum_call', 'mouth', $boydesc
+			gs 'cum_call', 'face', $boy
+			gs 'cum_call', 'mouth', $boy
 			gs 'stat'
 			audition['bonus'] += 5
 			cla & *clr

+ 106 - 106
locations/audition_sex3.qsrc

@@ -13,7 +13,7 @@
 !! audition['roletype'] = 9 - A main character with nude scenes
 
 !! Audition Types
-!! 
+!!
 !! $audition['type'] = 'general' - general audition no special events usually for a minor speaking role
 !! $audition['type'] = 'extra' - an audition basically just to confirm scheduling and check that the PC isn''t grossly ugly
 !! $audition['type'] = 'titty' - an audition based solely on appearance and size of breasts, usually for a role as an extra
@@ -87,14 +87,14 @@ if $ARGS[0] = 'slutty_bj1':
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/actress/sex/cum_choke.mp4"></video></center>'
 					gs 'arousal', 'bj', 1, 'sub', 'deepthroat', 'rough'
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'mouth', $boy
 					if $clothingworntype ! 'nude':
-						gs 'cum_call', 'clothes', $boydesc
+						gs 'cum_call', 'clothes', $boy
 					else
-						gs 'cum_call', 'breasts', $boydesc
+						gs 'cum_call', 'breasts', $boy
 					end
 					'With no more warning than that, he forces your head down onto his cock as far as it can go. No sooner do you feel his tip touching the back of your throat than a flood of cum begins to pour down it. Your eyes tear up and you involuntarily choke, coughing and causing some of the cum to spill out the corners of your mouth.'
-					
+
 					act'Cough it all up':
 						cla & *clr
 						audition['cast_couch'] = 2
@@ -135,7 +135,7 @@ if $ARGS[0] = 'slutty_bj1':
 							end
 						end
 					end
-					
+
 					act'Swallow':
 						cla & *nl
 						audition['cast_couch'] = 1
@@ -165,14 +165,14 @@ if $ARGS[0] = 'slutty_bj1':
 			elseif audition['cum_choice'] = 2:
 				'"I''m almost there girlie," he says. "I want you to swallow every drop, you hear?"'
 				act'Keep blowing him until he cums':
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
 					'You prepare yourself and keep blowing him until you begin to feel hot liquid pour into your mouth. You gently continue to suck even after he stops ejaculating, feeling the last remnants of his load being drawn from the tip of his cock. When you''re finally sure you have it all, you carefully move away, holding it all inside your mouth.'
 					act'Try to swallow (and fail)':
 						audition['cast_couch'] = 2
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -190,7 +190,7 @@ if $ARGS[0] = 'slutty_bj1':
 								'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 								act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 							end
-							
+
 							act'Don''t bother':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -198,7 +198,7 @@ if $ARGS[0] = 'slutty_bj1':
 								act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 							end
 						end
-						
+
 						act'Apologize':
 							audition['bonus'] += 3
 							cla & *clr
@@ -213,7 +213,7 @@ if $ARGS[0] = 'slutty_bj1':
 								'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 								act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 							end
-							
+
 							act'Don''t bother':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -222,7 +222,7 @@ if $ARGS[0] = 'slutty_bj1':
 							end
 						end
 					end
-					
+
 					act'Swallow':
 						audition['cast_couch'] = 1
 						audition['bonus'] += 10
@@ -233,11 +233,11 @@ if $ARGS[0] = 'slutty_bj1':
 						'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 						act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 					end
-					
+
 					act'Spit it out':
 						audition['cast_couch'] = 3
 						audition['penalty'] += 5
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -262,11 +262,11 @@ if $ARGS[0] = 'slutty_bj1':
 						'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 						act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 					end
-					
+
 					act'Spit it out':
 						audition['cast_couch'] = 3
 						audition['penalty'] += 5
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -280,13 +280,13 @@ if $ARGS[0] = 'slutty_bj1':
 				'"Ready for your close up?" he smiles, pulling his dick out of your mouth and jerking it off in front of your face. "Here comes the money shot!"'
 				act'Close your eyes and wait for it':
 					audition['cast_couch'] = 5
-					gs 'cum_call', 'face', $boydesc
+					gs 'cum_call', 'face', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/actress/sex/cum/facial/facial0,3.mp4"></video></center>'
 					'You close your eyes and wait for the inevitable. You don''t have to wait very long, as after just a couple seconds a hot liquid hits you in the face. Even knowing what''s going to happen doesn''t stop you from flinching as more and more cum spatters onto your eyelids and cheeks until eventually nothing else comes.'
 					act'Wipe your eyes':
-						gs 'cum_call', 'hands', $boydesc
+						gs 'cum_call', 'hands', $boy
 						gs 'stat'
 						cla & *clr
 						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -311,8 +311,8 @@ if $ARGS[0] = 'slutty_bj1':
 					end
 				end
 				act'Stick out your tongue':
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					audition['bonus'] += 5
 					cla & *clr
@@ -322,7 +322,7 @@ if $ARGS[0] = 'slutty_bj1':
 					'The first shot of cum lands directly on your tongue and you can taste its salty flavor. The second and third shot don''t have as great aim and hit you in the cheek, though maybe it was actually on purpose when the rest of his ejaculate spurts into your mouth; the very last of it more of a dribble onto your lips. Your eyes are still closed, but nothing else comes.'
 !!					act'Spit it out':
 !!						audition['penalty'] += 5
-!!						gs 'cum_call', 'hands', $boydesc
+!!						gs 'cum_call', 'hands', $boy
 !!						gs 'stat'
 !!						cla & *clr
 !!						'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -346,7 +346,7 @@ if $ARGS[0] = 'slutty_bj1':
 !!							act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 !!						end
 !!					end
-					
+
 					act'Swallow':
 						audition['cast_couch'] = 4
 						audition['bonus'] += 10
@@ -402,7 +402,7 @@ if $ARGS[0] = 'slutty_bj1':
 								'"Good," he says. "Now bend over."'
 								act 'Get assfucked': gt 'audition_sex1', 'slutty_anal2'
 							end
-							
+
 							act'... yes':
 								cla & *clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -456,7 +456,7 @@ if $ARGS[0] = 'slutty_bj1':
 								act 'Bend over': gt 'audition_sex3', 'slutty_anal2'
 							end
 						end
-						
+
 						act'Give in':
 							cla & *nl
 							'"Okay," you whisper, closing your eyes and taking a deep breath. "Okay. I''ll let you fuck me... If you promise to give me the role."'
@@ -494,7 +494,7 @@ if $ARGS[0] = 'slutty_bj2':
 		act'Close your eyes and wait for it': gt 'audition_sex1','slutty_bj3'
 		act'Stick out your tongue': gt 'audition_sex1','slutty_bj4'
 	end
-	
+
 	act'Try to take him as deep as possible':
 		cla & *clr
 		audition['bonus'] += 8
@@ -507,13 +507,13 @@ end
 
 if $ARGS[0] = 'slutty_bj3':
 	audition['cast_couch'] = 5
-	gs 'cum_call', 'face', $boydesc
+	gs 'cum_call', 'face', $boy
 	gs 'stat'
 	cla & *clr
 	'<center><video autoplay loop src="images/shared/actress/sex/cum/facial/facial0,3.mp4"></video></center>'
 	'You close your eyes and wait for the inevitable. You don''t have to wait very long, as after just a couple seconds a hot liquid hits you in the face. Even knowing what''s going to happen doesn''t stop you from flinching as more and more cum spatters onto your eyelids and cheeks until eventually nothing else comes.'
 	act'Wipe your eyes':
-		gs 'cum_call', 'hands', $boydesc
+		gs 'cum_call', 'hands', $boy
 		gs 'stat'
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -539,8 +539,8 @@ if $ARGS[0] = 'slutty_bj3':
 end
 
 if $ARGS[0] = 'slutty_bj4':
-	gs 'cum_call', 'face', $boydesc
-	gs 'cum_call', 'mouth', $boydesc
+	gs 'cum_call', 'face', $boy
+	gs 'cum_call', 'mouth', $boy
 	gs 'stat'
 	audition['bonus'] += 5
 	cla & *clr
@@ -594,7 +594,7 @@ if $ARGS[0] = 'slutty_fuck':
 		if stat['think_virgin'] = 1:
 			act'"By the way, I''m a virgin"':
 				cla & *nl
-				audition['virgin_know'] = 1				
+				audition['virgin_know'] = 1
 				'"By the way, I''m a virgin," you say hoping to entice him for a more favorable audition, bending over and spreading your pussy lips to show him the proof.'
 				'"A virgin huh?" He gives you a hungry look. "Well, don''t mind if I do then..." he continues, lining his cock up with your pussy.'
 				audition['bonus'] += 10
@@ -688,7 +688,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 		act'Continue':
 			if audition['condom'] = 1:
 				audition['cast_couch'] = 10
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. As he pulls out, you look down and see he came in the condom.'
 				'"Hrmm, pretty good," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Almost even worth using a condom for."'
 				'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'
@@ -722,7 +722,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 			else
 				audition['cast_couch'] = 12
 				cla & *clr
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				if audition['position'] = 3:
 					'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/raised.mp4"></video></center>'
@@ -740,7 +740,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 		'"You''re sucking me in! I''m gonna cum!"'
 		act'Don''t say anything':
 			audition['cast_couch'] = 12
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			cla & *clr
 			if audition['position'] = 3:
@@ -751,11 +751,11 @@ if $ARGS[0] = 'slutty_fuck_cum':
 			'You decide not to say anything and just keep moaning along, waiting for it to happen. After a couple more pumps <<$boydesc>> thrusts balls deep into you and grunts and you feel something hot spill out inside you. <<$boydesc>> waits until he finishes his orgasm and then slides his cock out, thick globs of cum dripping out after.'
 			act 'Continue': gt 'audition_sex3', 'slutty_creampie'
 		end
-		
+
 		act'Why don''t you finish on my face?':
 			if rand(0,1) = 1 and audition['condom'] ! 1:
 				audition['cast_couch'] = 12
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				audition['creampie_surprise'] = 1
 				cla & *clr
@@ -777,8 +777,8 @@ if $ARGS[0] = 'slutty_fuck_cum':
 				'"Why don''t you finish on my face?" you ask him. "Bet I''d look great with your cum all over me."'
 				'"Sounds good to me," he grins, pulling you off the desk and tossing you onto the floor, jerking off in front of your face.'
 				act'Stick out your tongue':
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					audition['bonus'] += 5
 					cla & *clr
@@ -817,10 +817,10 @@ if $ARGS[0] = 'slutty_fuck_cum':
 				end
 			end
 		end
-		
+
 		act'Cum inside me':
 			audition['cast_couch'] = 12
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			audition['bonus'] += 10
 			cla & *clr
@@ -833,7 +833,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 			'Your words must have sent him over the edge because <<$boydesc>> thrusts balls deep into you and begins groaning. Inside your pussy you can feel his cock pulsing and spurts of liquid painting your insides, and you moan, squeezing tight and trying to milk him for all he''s worth. A few moments later, he removes himself from you and you feel the dribble of cum spill from your pussy.'
 			act 'Continue': gt 'audition_sex3', 'slutty_creampie'
 		end
-		
+
 		act'Where do you want to cum?':
 			audition['bonus'] += 15
 			cla & *clr
@@ -845,7 +845,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 					'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/doggy1.mp4"></video></center>'
 				end
 				'"Where do you want to cum?" you say. "On my face? Or I can swallow? Or you could-"'
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				'<<$boydesc>> cuts you off by thrusting balls deep into you and groaning loaudly. Inside your pussy you can feel his cock pulsing and spurts of liquid painting your insides, and you moan, squeezing tight and trying to milk him for all he''s worth. A few moments later, he removes himself from you and you feel the dribble of cum spill from your pussy.'
 				'"I want to cum inside you," he says belatedly, grinning.'
@@ -856,8 +856,8 @@ if $ARGS[0] = 'slutty_fuck_cum':
 				'"I want to glaze your pretty face."'
 				act'Stick out your tongue':
 					audition['cast_couch'] = 9
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					audition['bonus'] += 5
 					cla & *clr
@@ -914,7 +914,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 			*nl
 			'And then you taste it.'
 			act'Mrrph-!':
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
@@ -922,7 +922,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 				'"Now swallow it girlie.'
 				act'Try to swallow (and fail)':
 					audition['cast_couch'] = 7
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -940,7 +940,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -948,7 +948,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 						end
 					end
-					
+
 					act'Apologize':
 						audition['bonus'] += 3
 						cla & *clr
@@ -963,7 +963,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -972,7 +972,7 @@ if $ARGS[0] = 'slutty_fuck_cum':
 						end
 					end
 				end
-				
+
 				act'Swallow':
 					audition['cast_couch'] = 6
 					audition['swallow'] = 1
@@ -991,8 +991,8 @@ if $ARGS[0] = 'slutty_fuck_cum':
 		'"Get on your knees."'
 		'Not waiting for a response, he grabs you by the arm and flings you to the floor and starts jerking off in front of your face.'
 		act'Stick out your tongue':
-			gs 'cum_call', 'face', $boydesc
-			gs 'cum_call', 'mouth', $boydesc
+			gs 'cum_call', 'face', $boy
+			gs 'cum_call', 'mouth', $boy
 			gs 'stat'
 			audition['bonus'] += 5
 			cla & *clr
@@ -1044,9 +1044,9 @@ if $ARGS[0] = 'slutty_creampie':
 		end
 		'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 		act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-			
+
 		act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-		
+
 		act'Don''t bother':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1070,9 +1070,9 @@ if $ARGS[0] = 'slutty_creampie':
 			end
 			'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 			act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-				
+
 			act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-			
+
 			act'Don''t bother':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1080,7 +1080,7 @@ if $ARGS[0] = 'slutty_creampie':
 				act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 			end
 		end
-		
+
 		act'What the fuck!':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1089,9 +1089,9 @@ if $ARGS[0] = 'slutty_creampie':
 				'"What?" he says, pulling a pack of tissues from the desk. "You''re the one who offered to have sex," <<$boydesc>> says, rolling his eyes. "You have a problem with someone creampieing you, maybe you shouldn''t be slutting it up in back rooms of talent agencies without birth control. That just seems stupid."'
 				'<i>I guess this is why I''m on birth control...</i> you think to yourself, glaring at him while he wipes his cock off. He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-				
+
 				act'Don''t clean up':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1103,9 +1103,9 @@ if $ARGS[0] = 'slutty_creampie':
 				'"Well you should have thought of that before deciding to fuck someone," he says, pulling a pack of tissues from the desk to clean his cock off. "That''s not my problem if you''re too stupid to trade sex for favors without getting knocked up. If you''re that afraid of getting pregnant, maybe you shouldn''t be slutting it up in back rooms of talent agencies without birth control. That just seems stupid," <<$boydesc>> says, rolling his eyes.'
 				'He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-				
+
 				act'Don''t bother':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1174,7 +1174,7 @@ if $ARGS[0] = 'slutty_virgin2':
 	else
 		'You wince at the first thrust, feeling his cock tear through your hymen and stretch your virgin walls. He pauses for a moment. "Was that... are you a virgin?" You don''t answser him, teeth still grit in pain and he looks down at the trickle of blood running down your thigh. "Heh. Well looks like you <i>were</i> a virgin." And he immediately thrusts again causing you to gasp. And again. And again.'
 	end
-	
+
 	act'Continue':
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/actress/sex/table_doggy/fuck3.mp4"></video></center>'
@@ -1192,13 +1192,13 @@ if $ARGS[0] = 'slutty_virgin_cum':
 	audition['cum_choice'] = rand(0,3)
 	if audition['cum_choice'] = 0:
 		if audition['condom'] = 1:
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			'After a few minutes, you feel him tense up and he thrusts deep into your pussy, his cock throbbing inside you. As he pulls out, you look down and see he came in the condom.'
 			'"Hrmm, not bad, not bad," <<$boydesc>> says, pulling off the condom and throwing it into the trash. "Tight enough I couldn''t even pull out to finish on your face. Wanted your pussy to squeeze me to the last drop, even with the condom. Virgins really are the best."'
 			'<<$boydesc>> then opens a drawer in the desk and pulls a packet of tissues from it, wiping down his cock, the used paper following the condom into the trash after. He leaves the packet next to you on the desk.'
 		else
 			cla & *clr
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			if audition['position'] = 3:
 				'<center><video autoplay loop src="images/shared/sex/cum/vagcreampie/raised.mp4"></video></center>'
@@ -1214,7 +1214,7 @@ if $ARGS[0] = 'slutty_virgin_cum':
 		'After a few more minutes, <<$boydesc>> grunts.'
 		'"You''re sucking me in! I''m gonna cum!"'
 		act'Don''t say anything':
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			cla & *clr
 			if audition['position'] = 3:
@@ -1225,10 +1225,10 @@ if $ARGS[0] = 'slutty_virgin_cum':
 			'You decide not to say anything and just keep moaning, waiting for it to happen. After a couple more pumps <<$boydesc>> thrusts balls deep into you and grunts and you feel something hot spill out inside you. <<$boydesc>> waits until he finishes his orgasm and then slides out, a slurry of cum and pussy juice slightly tinged with red spills out after it.'
 			act 'Continue': gt 'audition_sex3', 'slutty_virgin_creampie'
 		end
-		
+
 		act'Not inside me!':
 			if rand(0,1) = 1:
-				gs 'cum_call', '', $boydesc
+				gs 'cum_call', '', $boy
 				gs 'stat'
 				audition['creampie_surprise'] = 1
 				cla & *clr
@@ -1246,15 +1246,15 @@ if $ARGS[0] = 'slutty_virgin_cum':
 				'"Then get on your knees." He pulls you off the desk and tosses you onto the floor, jerking off in front of your face.'
 				act'Close your eyes':
 					cla & *clr
-					gs 'cum_call', 'face', $boydesc
+					gs 'cum_call', 'face', $boy
 					gs 'stat'
 					'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 					'You flinch instinctively when you feel hot liquid spatter across your face.'
 					act 'Continue': gt 'audition_sex3', 'slutty_virgin_facial'
 				end
 				act'Stick out your tongue':
-					gs 'cum_call', 'face', $boydesc
-					gs 'cum_call', 'mouth', $boydesc
+					gs 'cum_call', 'face', $boy
+					gs 'cum_call', 'mouth', $boy
 					gs 'stat'
 					audition['bonus'] += 5
 					cla & *clr
@@ -1292,9 +1292,9 @@ if $ARGS[0] = 'slutty_virgin_cum':
 				end
 			end
 		end
-		
+
 		act'Cum inside me':
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			audition['bonus'] += 10
 			cla & *clr
@@ -1307,17 +1307,17 @@ if $ARGS[0] = 'slutty_virgin_cum':
 			'"Now that''s how you impress me at an audition!" <<$boydesc>> pumps twice more and then thrusts balls deep into you. He grunts and you feel something hot spill out inside you. <<$boydesc>> waits until he finishes his orgasm and then slides his cock out, a slurry of cum, pussy juice, and blood spilling out after it.'
 			act 'Continue': gt 'audition_sex3', 'slutty_virgin_creampie'
 		end
-		
+
 		act'Cum wherever you want':
 			audition['bonus'] += 10
 			cla & *clr
 			'<center><video autoplay loop src="images/shared/actress/sex/table_miss/fuck2.mp4"></video></center>'
 			'"Cum wherever you want," you say. "Inside me or not, I''ll take it where you want it."'
 			'"Now that''s a good girl. I can tell you''re going to go far in this business!"'
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			'<<$boydesc>> says the last word and he thrusts balls deep into you, grunting as you feel him release his load inside you hot spill out inside you. <<$boydesc>> waits until he finishes his orgasm and then slides his cock out, a slurry of cum, pussy juice, and blood spilling out after it.'
-			act 'Continue': gt 'audition_sex3', 'slutty_virgin_creampie'					
+			act 'Continue': gt 'audition_sex3', 'slutty_virgin_creampie'
 		end
 	elseif audition['cum_choice'] = 2:
 		'After a few more minutes, <<$boydesc>> grunts.'
@@ -1337,7 +1337,7 @@ if $ARGS[0] = 'slutty_virgin_cum':
 			*nl
 			'And then you taste it.'
 			act'Mrrph-!':
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
@@ -1345,7 +1345,7 @@ if $ARGS[0] = 'slutty_virgin_cum':
 				'"Now swallow it girlie.'
 				act'Try to swallow (and fail)':
 					audition['cast_couch'] = 7
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -1363,7 +1363,7 @@ if $ARGS[0] = 'slutty_virgin_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_virgin_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1371,7 +1371,7 @@ if $ARGS[0] = 'slutty_virgin_cum':
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_virgin_results'
 						end
 					end
-					
+
 					act'Apologize':
 						audition['bonus'] += 3
 						cla & *clr
@@ -1386,7 +1386,7 @@ if $ARGS[0] = 'slutty_virgin_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_virgin_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1395,7 +1395,7 @@ if $ARGS[0] = 'slutty_virgin_cum':
 						end
 					end
 				end
-				
+
 				act'Swallow':
 					audition['cast_couch'] = 6
 					audition['swallow'] = 1
@@ -1407,11 +1407,11 @@ if $ARGS[0] = 'slutty_virgin_cum':
 					'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 					act 'Find out the results of your audition': gt 'auditions', 'slutty_virgin_results'
 				end
-				
+
 				act'Spit it out':
 					audition['cast_couch'] = 8
 					audition['penalty'] += 5
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -1428,15 +1428,15 @@ if $ARGS[0] = 'slutty_virgin_cum':
 		'Not waiting for a response, he grabs you by the arm and flings you to the floor and starts jerking off in front of your face.'
 		act'Close your eyes':
 			cla & *clr
-			gs 'cum_call', 'face', $boydesc
+			gs 'cum_call', 'face', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/sex/cum/facial/facial0,3.mp4"></video></center>'
 			'You flinch instinctively when you feel hot liquid spatter across your face.'
 			act 'Continue': gt 'audition_sex3', 'slutty_virgin_facial'
 		end
 		act'Stick out your tongue':
-			gs 'cum_call', 'face', $boydesc
-			gs 'cum_call', 'mouth', $boydesc
+			gs 'cum_call', 'face', $boy
+			gs 'cum_call', 'mouth', $boy
 			gs 'stat'
 			audition['bonus'] += 5
 			cla & *clr
@@ -1488,9 +1488,9 @@ if $ARGS[0] = 'slutty_virgin_creampie':
 		end
 		'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 		act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-			
+
 		act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-		
+
 		act'Don''t bother':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1515,9 +1515,9 @@ if $ARGS[0] = 'slutty_virgin_creampie':
 			end
 			'He''s already pulled a packet of tissues from the desk and is wiping himself off with them. When he''s done, he leaves the packet next to you.'
 			act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-				
+
 			act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-			
+
 			act'Don''t bother':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1525,7 +1525,7 @@ if $ARGS[0] = 'slutty_virgin_creampie':
 				act 'Find out the results of your audition': gt 'auditions', 'slutty_virgin_results'
 			end
 		end
-		
+
 		act'What the fuck!':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1534,9 +1534,9 @@ if $ARGS[0] = 'slutty_virgin_creampie':
 				'"What?" he says, pulling a pack of tissues from the desk. "You''re the one who offered to have sex," <<$boydesc>> says, rolling his eyes. "If you''re that afraid of getting pregnant, maybe you shouldn''t be offering up your virginity in the back room of talent agenciy without birth control. That just seems stupid."'
 				'<i>I guess this is why I''m on birth control...</i> you think to yourself, glaring at him while he wipes his cock off. He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-				
+
 				act'Don''t clean up':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1548,9 +1548,9 @@ if $ARGS[0] = 'slutty_virgin_creampie':
 				'"Well you should have thought of that before deciding to fuck someone," he says, pulling a pack of tissues from the desk to clean his cock off. "That''s not my problem if you''re too stupid to trade sex for favors without taking birth control. If you''re that afraid of getting pregnant, maybe you shouldn''t be slutting it up in back rooms of talent agencies without birth control. That just seems stupid," <<$boydesc>> says, rolling his eyes.'
 				'He leaves the packet next to you on the desk.'
 				act 'Clean yourself up and get dressed': gt 'audition_sex1', 'slutty_clean_dress'
-				
+
 				act 'Just clean up': gt 'audition_sex1', 'slutty_clean'
-				
+
 				act'Don''t bother':
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1613,7 +1613,7 @@ if $ARGS[0] = 'slutty_anal2':
 	*nl
 	gs 'audition_sex3', 'slutty_assfuck_cum'
 end
-	
+
 if $ARGS[0] = 'slutty_assfuck_cum':
 	:cum_choice2
 	audition['cum_choice'] = rand(0,3)
@@ -1622,7 +1622,7 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 		act'Continue':
 			audition['cast_couch'] = 18
 			cla & *clr
-			gs 'cum_call', '', $boydesc
+			gs 'cum_call', '', $boy
 			gs 'stat'
 			'<center><video autoplay loop src="images/shared/sex/cum/analcreampie/cumanal1.mp4"></video></center>'
 			audition['creampie_surprise'] = 1
@@ -1643,7 +1643,7 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 			*nl
 			'And then you taste the other thing.'
 			act'Mrrph-!':
-				gs 'cum_call', 'mouth', $boydesc
+				gs 'cum_call', 'mouth', $boy
 				gs 'stat'
 				cla & *clr
 				'<center><video autoplay loop src="images/shared/sex/cum/mouth/cum11.mp4"></video></center>'
@@ -1651,7 +1651,7 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 				'"Now swallow it girlie.'
 				act'Try to swallow (and fail)':
 					audition['cast_couch'] = 14
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/gag1.mp4"></video></center>'
@@ -1669,7 +1669,7 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1677,7 +1677,7 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 						end
 					end
-					
+
 					act'Apologize':
 						audition['bonus'] += 3
 						cla & *clr
@@ -1692,7 +1692,7 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 							'Taking the tissues, you pull them out and clean your hands off, also taking a moment to wipe the corners of your mouth. When you''re done, you stand and face <<$boydesc>>.'
 							act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 						end
-						
+
 						act'Don''t bother':
 							cla & *clr
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/aurora/auditions/room.jpg"></center>'
@@ -1701,7 +1701,7 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 						end
 					end
 				end
-				
+
 				act'Swallow':
 					audition['cast_couch'] = 13
 					audition['swallow'] = 1
@@ -1713,11 +1713,11 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 					'"Outstanding," <<$boydesc>> says, grinning ear to ear. He pulls a pack of tissues from the desk and wipes himself off before pulling up his pants. You stand to face him and find out the result of the audition.'
 					act 'Find out the results of your audition': gt 'auditions', 'slutty_results'
 				end
-				
+
 				act'Spit it out':
 					audition['cast_couch'] = 15
 					audition['penalty'] += 5
-					gs 'cum_call', 'hands', $boydesc
+					gs 'cum_call', 'hands', $boy
 					gs 'stat'
 					cla & *clr
 					'<center><video autoplay loop src="images/shared/sex/cum/mouth/spit2.mp4"></video></center>'
@@ -1733,8 +1733,8 @@ if $ARGS[0] = 'slutty_assfuck_cum':
 		'"Get on your knees."'
 		'Not waiting for a response, he grabs you by the arm and flings you to the floor and starts jerking off in front of your face.'
 		act'Stick out your tongue':
-			gs 'cum_call', 'face', $boydesc
-			gs 'cum_call', 'mouth', $boydesc
+			gs 'cum_call', 'face', $boy
+			gs 'cum_call', 'mouth', $boy
 			gs 'stat'
 			audition['bonus'] += 5
 			cla & *clr

+ 8 - 8
locations/auditions.qsrc

@@ -380,7 +380,7 @@ if $ARGS[0] = 'reluctant_facial_end':
 				'You''re still fuming, but you can see that you really don''t have any real options here. Stomping your way to the door, you fling it open and slam it shut behind you.'
 			else
 				if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-					gs 'cum_call', 'clothes', $boydesc
+					gs 'cum_call', 'clothes', $boy
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on, smearing leftover cum across them in the process, and stomp your way to the door, flinging it open and slaming it shut behind you.'
 				else
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on and stomp your way to the door, flinging it open and slaming it shut behind you.'
@@ -491,7 +491,7 @@ if $ARGS[0] = 'reluctant_results':
 				'You''re still fuming, but you can see that you really don''t have any real options here. Stomping your way to the door, you fling it open and slam it shut behind you.'
 			else
 				if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-					gs 'cum_call', 'clothes', $boydesc
+					gs 'cum_call', 'clothes', $boy
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on, smearing leftover cum across them in the process, and stomp your way to the door, flinging it open and slaming it shut behind you.'
 				else
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on and stomp your way to the door, flinging it open and slaming it shut behind you.'
@@ -545,7 +545,7 @@ if $ARGS[0] = 'reluctant_virgin_results':
 				'You''re still fuming, but you can see that you really don''t have any real options here. Stomping your way to the door, you fling it open and slam it shut behind you.'
 			else
 				if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-					gs 'cum_call', 'clothes', $boydesc
+					gs 'cum_call', 'clothes', $boy
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on, smearing leftover cum across them in the process, and stomp your way to the door, flinging it open and slaming it shut behind you.'
 				else
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on and stomp your way to the door, flinging it open and slaming it shut behind you.'
@@ -663,7 +663,7 @@ if $ARGS[0] = 'neutral_results':
 				'You''re still fuming, but you can see that you really don''t have any real options here. Stomping your way to the door, you fling it open and slam it shut behind you.'
 			else
 				if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-					gs 'cum_call', 'clothes', $boydesc
+					gs 'cum_call', 'clothes', $boy
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on, smearing leftover cum across them in the process, and stomp your way to the door, flinging it open and slaming it shut behind you.'
 				else
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on and stomp your way to the door, flinging it open and slaming it shut behind you.'
@@ -723,7 +723,7 @@ if $ARGS[0] = 'neutral_virgin_results':
 				'You''re still fuming, but you can see that you really don''t have any real options here. Stomping your way to the door, you fling it open and slam it shut behind you.'
 			else
 				if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-					gs 'cum_call', 'clothes', $boydesc
+					gs 'cum_call', 'clothes', $boy
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on, smearing leftover cum across them in the process, and stomp your way to the door, flinging it open and slaming it shut behind you.'
 				else
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on and stomp your way to the door, flinging it open and slaming it shut behind you.'
@@ -834,7 +834,7 @@ if $ARGS[0] = 'slutty_results':
 				'You''re still fuming, but you can see that you really don''t have any real options here. Stomping your way to the door, you fling it open and slam it shut behind you.'
 			else
 				if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-					gs 'cum_call', 'clothes', $boydesc
+					gs 'cum_call', 'clothes', $boy
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on, smearing leftover cum across them in the process, and stomp your way to the door, flinging it open and slaming it shut behind you.'
 				else
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on and stomp your way to the door, flinging it open and slaming it shut behind you.'
@@ -895,7 +895,7 @@ if $ARGS[0] = 'slutty_virgin_results':
 				'You''re still fuming, but you can see that you really don''t have any real options here. Stomping your way to the door, you fling it open and slam it shut behind you.'
 			else
 				if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-					gs 'cum_call', 'clothes', $boydesc
+					gs 'cum_call', 'clothes', $boy
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on, smearing leftover cum across them in the process, and stomp your way to the door, flinging it open and slaming it shut behind you.'
 				else
 					'You''re still fuming, but you can see that you really don''t have any real options here. You yank your clothes back on and stomp your way to the door, flinging it open and slaming it shut behind you.'
@@ -947,7 +947,7 @@ if $ARGS[0] = 'naked_signature':
 	*nl
 	'"Congratulations <<$pcs_firstname>>. You are officially cast as <<$audition[''role'']>>. Thank you for coming."'
 	if cumloc[11] > 0 or cumloc[13] > 0 or cumloc[15] > 0 or cumloc[16] > 0:
-		gs 'cum_call', 'clothes', $boydesc
+		gs 'cum_call', 'clothes', $boy
 		'"Thank you for casting me," you nod back and start pulling your clothes back on, unavoidably smearing the cum from your body onto them. Once everything is more or less back in place, you take your copy of the contract and step out into the hallway.'
 	else
 		'"Thank you for casting me," you nod back and get dressed to leave. Once everything is more or less back in place, you take your copy of the contract and step out into the hallway.'

+ 15 - 9
locations/bank.qsrc

@@ -355,18 +355,19 @@ end
 
 
 if $ARGS[0] = 'deposit_cash':
-	kartaIN = input ("How much money do you want to deposit into your account?")
+	kartaIN = input ("How much money do you want to deposit into your account? (There''s a 100 <b>₽</b> fee)")
 
-	if kartaIN <= 0 or kartaIN > money:
+	if kartaIN <= 100 or kartaIN > money:
 		'Invalid operation.'
 	else
-		atmDeposit[] += kartaINATM - 100
+		atmDeposit[] = kartaIN - 100
 		atmDepositDate[] = daystart + 2
-		money -= kartaINATM
+		money -= kartaIN
 
-		'<br>You deposit <<kartaINATM>> <b>₽</b> into your account.'
+		'<br>After the fee, you deposit <<atmDeposit[]>> <b>₽</b> into your account.'
 		'It will take 2 days for funds to be available. Your new balance will be <<karta - bankDebtLimit + atmDeposit[]>> <b>₽</b>.'
 	end
+	killvar 'kartaIN'
 end
 
 
@@ -536,15 +537,20 @@ if $ARGS[0] = 'cikl':
 			'<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job at the garment factory.</font></b>'
 		end
 
-		if husband > 0 and paydayHusb = 0:
+		if $husID ! '' and paydayHusb = 0:
 			paydayHusb = 1
 
-			if husbFin = 0:huspay = 20000
-			if husbFin = 1:huspay = 30000
-			if husbFin = 2:huspay = 40000
+			if npc_finance[$husID] = 0:
+				huspay = 20000
+			elseif npc_finance[$husID] = 1:
+				huspay = 30000
+			else
+				huspay = 40000
+			end
 
 			karta += huspay
 			'<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
+			killvar 'huspay'
 		end
 
 		if func('uniutil', 'scholarship' , 'is_active') and scholarshipday = 0:

+ 1 - 1
locations/bdsm_dressing.qsrc

@@ -27,7 +27,7 @@ if ($clothingworntype = 'gm_maid' or PCloStyle2 = 1) or PCloStyle3 = 2 or $cloth
 		gt 'bdsm_hallway', 'foyer'
 	end
 end
-if PCloQuality >= 5 and bdsmclub['payday'] + 30 > daystart and bdsmclub['domtraining'] = 2:
+if PCloQuality >= 5 and bdsmclub['payday'] + 30 > daystart and bdsmclub['domtraining'] = 1:
 	act 'Enter the club''s foyer (dominant role)':
 		$bdsmclub['role'] = 'dom'
 		gt 'bdsm_hallway', 'foyer'

+ 2 - 2
locations/bdsm_mansion.qsrc

@@ -24,7 +24,7 @@ if $ARGS[0] = 'taxi':
 	'<center><img <<$set_imgh>> src="images/locations/city/suburb/bdsm_club/club.jpg"></center>'
 	if hour < 16 and hour > 2:
 		bdsmclub['unlocked'] = 1
-		'The taxi brings you in a gated community outside of town and drops you off at the closed wrought iron gate. You attempt to enter the secret club but the guard tells you it is closed. You show your card and he tells you to come back after 16:00.'
+		'The taxi brings you in a gated community outside of town and drops you off at the closed wrought iron gate. You attempt to enter the secret club but the guard tells you it is closed. You show your card and he tells you to come back after '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'.'
 		act 'Leave':gt 'city_suburbs', 'start'
 	else
 		'The taxi brings you in a gated community outside of town and drops you off at the closed wrought iron gate. From the booth comes a guard, you show him the business card. Without saying anything, he opens the gate and points you towards the door. You walk alone a marble tiled walkway past the neatly clipped shrubs and flower beds. An other guard meets you, and leads you into the mansion through the main door.'
@@ -50,7 +50,7 @@ if $ARGS[0] = 'start':
 		act 'Go to the elite settlement':gt 'city_suburbs', 'start'
 		if hour < 16 and hour > 2:
 			*nl
-			'The club is closed until 16:00.'
+			'The club is closed until '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'.'
 			act 'Leave':gt 'city_suburbs', 'start'
 		else
 			if bdsmclub['training_daystart'] ! daystart:

+ 61 - 57
locations/bed_events.qsrc

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

+ 1 - 142
locations/bedr.qsrc

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

+ 2 - 143
locations/bedr2x.qsrc

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

+ 1 - 1
locations/bedrPar.qsrc

@@ -152,7 +152,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 
 			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.'
+				msg 'You have detention this morning and must be at school before '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'.'
 			end
 
 			if mc_inventory['tech_computer'] = 1: 'Your <a href="exec: gt ''Komp'',''start''">computer</a> is on your desk.'

+ 4 - 4
locations/billsvid.qsrc

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

+ 19 - 10
locations/blackmailer.qsrc

@@ -736,10 +736,19 @@ if $ARGS[0] = 'set_SMSTree':
 						else
 							$SMSTree['a4'] = 'What do you want from me?'
 						end
-						if rand(0, 1) = 0:
-							$SMSTree['b4'] = 'Where am I going to get that much money from?'
+						if blackmailQW['total_material'] <= 4:
+							if rand(0, 1) = 0:
+								$SMSTree['b4'] = 'Where am I going to get that much money from?'
+							else
+								$SMSTree['b4'] = 'How much do you want before it stops?'
+							end
 						else
-							$SMSTree['b4'] = 'How much do you want before it stops?'
+							if rand(0, 1) = 0:
+								$SMSTree['b4'] = 'What about lowering the amount?'
+							else
+								$SMSTree['b4'] = 'What can I do to lower that?'
+							end
+
 						end
 
 	$SMSTree['5'] = 'Just drop off the money'
@@ -752,8 +761,8 @@ if $ARGS[0] = 'set_SMSTree':
 		$SMSTree['11b'] = 'or you could do something special for us'
 
 			$SMSTree['a12'] = 'fuck you'
-			$SMSTree['b12'] = 'Send a (non-nude) selfie from your galleray'
-			$SMSTree['c12'] = 'Send a selfie from your galleray'
+			$SMSTree['b12'] = 'Send a (non-nude) selfie from your gallery'
+			$SMSTree['c12'] = 'Send a selfie from your gallery'
 			$SMSTree['d12'] = 'what?'
 			$SMSTree['e12'] = 'yes sir'
 
@@ -805,7 +814,7 @@ if $ARGS[0] = 'Add_SMS_repeat':
 		gs 'SMStext_builder', 'receive', $SMSTree['3']
 		if blackmailQW['next_payment'] < 2000 and blackmailQW['total_payment'] < 5000:
 			gs 'SMStext_builder', 'add_reply', $SMSTree['a4'], 'blackmailer', 'sms_repeat_end1', 'a4'
-		elseif blackmailQW['stage'] < 8 and blackmailQW['next_payment'] < 3000:
+		elseif blackmailQW['stage'] <= 6 or (blackmailQW['stage'] = 7 and blackmailQW['next_payment'] < 3000):
 			gs 'SMStext_builder', 'add_reply', $SMSTree['b4'], 'blackmailer', 'sms_repeat_switch1', 'a', $SMSTree['b4']
 		elseif blackmailQW['stage'] = 7:
 			gs 'SMStext_builder', 'add_reply', $SMSTree['b4'], 'blackmailer', 'sms_repeat_switch1', 'b', $SMSTree['b4']
@@ -852,7 +861,7 @@ if $ARGS[0] = 'sms_repeat_switch1':
 		gs 'SMStext_builder', 'receive', $SMSTree['11' + $ARGS[1]]
 
 		gs 'SMStext_builder', 'add_reply', $SMSTree['a12'], 'blackmailer', 'sms_repeat_end1', 'a12'
-		if blackmailQW['stage'] < 6:
+		if blackmailQW['stage'] <= 5:
 			gs 'SMStext_builder', 'send_selfie', $SMSTree['b12'], 'c|sw|u|ft|fa', 'blackmailer', 'sms_repeat_switch2'
 		else
 			gs 'SMStext_builder', 'send_selfie', $SMSTree['c12'], 'c|sw|u|n|b|sh|ft|fa|fp', 'blackmailer', 'sms_repeat_switch2'
@@ -894,13 +903,13 @@ if $ARGS[0] = 'sms_repeat_switch2':
 
 		elseif strpos('bath|shower|titflash|assflash', $ARGS[4]) > 0:
 			blackmailQW['next_payment'] -= 1000
-			if blackmailQW['stage'] = 5: blackmailQW['stage'] = 6
+			if blackmailQW['stage'] < 6: blackmailQW['stage'] = 6
 			gs 'blackmailer', 'add_blackmail_selfie', $ARGS[2], $ARGS[3], $ARGS[4], ARGS[5], ARGS[6]
 			$temp_path = 'c'
 
 		elseif strpos('nude|pussyflash', $ARGS[4]) > 0:
 			blackmailQW['next_payment'] -= 2000
-			if blackmailQW['stage'] = 6: blackmailQW['stage'] = 7
+			if blackmailQW['stage'] < 7: blackmailQW['stage'] = 7
 			gs 'blackmailer', 'add_blackmail_selfie', $ARGS[2], $ARGS[3], $ARGS[4], ARGS[5], ARGS[6]
 			$temp_path = 'd'
 		end
@@ -995,7 +1004,7 @@ if $ARGS[0] = 'sms_repeat_switch5':
 		gs 'SMStext_builder', 'show_sms', ARGS[2]
 		wait 250
 		gs 'SMStext_builder', 'receive', '<i>Love, Anjuna</i>'
-		gs 'SMStext_builder', 'show_sms', ARGS[3]
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
 	gs 'SMStext_builder', 'end'
 end
 

+ 3 - 0
locations/body_structure.qsrc

@@ -4,6 +4,9 @@
 !	Get the bmi-strength class
 !	bs_class = func('body_structure', 'get_class', pcs_bmi, strenbuf)
 if $ARGS[0] = 'get_class':
+	if arrsize('ARGS') = 1: ARGS[1] = pcs_bmi
+	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
+
 	!	bmi
 	if ARGS[1] < 16:
 		result = 0

+ 79 - 103
locations/booty_call.qsrc

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

+ 34 - 29
locations/booty_call_sms.qsrc

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

+ 3 - 112
locations/boyStat.qsrc

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

+ 19 - 25
locations/boy_updater.qsrc

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

+ 0 - 19
locations/boyfrend.qsrc

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

+ 95 - 60
locations/boylove.qsrc

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

+ 3 - 3
locations/bras.qsrc

@@ -520,7 +520,7 @@ if $ARGS[0] = 'dispose':
 	PBraThinness = 0
 	PBraCover = 4
 
-	gs 'clothing', 'exposure_calc'
+	gs 'outfit', 'exposure_calc'
 
 end
 
@@ -538,7 +538,7 @@ if $ARGS[0] = 'remove':
 	PBraThinness = 0
 	PBraCover = 4
 
-	gs 'clothing', 'exposure_calc'
+	gs 'outfit', 'exposure_calc'
 
 end
 
@@ -587,7 +587,7 @@ if $ARGS[0] = 'wear2':
 	PBraThinness = BraThinness
 	PBraCover = BraCover
 
-	gs 'clothing', 'exposure_calc'
+	gs 'outfit', 'exposure_calc'
 
 end
 

+ 0 - 37
locations/brosok.qsrc

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

+ 3 - 3
locations/buklinik.qsrc

@@ -12,7 +12,7 @@ if $ARGS[0] = 'start':
 	'<center><img <<$set_imgh>> src="images/locations/city/industrial/mercyclinic/bukli.jpg"></center>'
 	'A well-known homeless shelter in a run-down building. Looking above the entrance you can see a sign saying, Mercy Clinic.'
 	'There is a note by the entrance.'
-	'Working hours: 09:00 to 17:00'
+	'Working hours: '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+''
 	temp = rand(1, 10)
 	if temp = 9:'A crowd of homeless people have huddled together trying to see if there are any available beds...'
 	if temp = 2:'A homeless person is trying to get into the shelter...'
@@ -231,8 +231,8 @@ if $ARGS[0] = 'stol':
 	'There''s a large canteen with lots of tables and chairs with loads of space. This is probably the biggest room in the building.'
 	*nl
 	'There is a sign by the entrance:'
-	'Breakfast: 08:00 - 09:30'
-	'Dinner: 17:00 - 19:00'
+	'Breakfast: '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' - '+func('time', 'get_time_string', 9, 30, cheatVars['time_format'])+''
+	'Dinner: '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+' - '+func('time', 'get_time_string', 19, 0, cheatVars['time_format'])+''
 
 	act 'Leave the canteen':gt 'buklinik', 'holl'
 end

+ 1 - 1
locations/burger.qsrc

@@ -727,7 +727,7 @@ if $ARGS[0] = 'boss':
 								work = 1
 								BurgerQW['Secretary'] = 1
 								gs 'stat'
-								'You agree to become a secretary to Anatoly Borisovich. He takes your CV, makes a copy of your passport and diploma, and tells you. "Come to work here every weekday, no later than 9 am, you must wear an office outfit. You will receive calls, take letters, and copy documents, and you have to do any other general office work as required. You will work until 17:00, your salary will be paid into your bank account every month."'
+								'You agree to become a secretary to Anatoly Borisovich. He takes your CV, makes a copy of your passport and diploma, and tells you. "Come to work here every weekday, no later than '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+', you must wear an office outfit. You will receive calls, take letters, and copy documents, and you have to do any other general office work as required. You will work until '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+', your salary will be paid into your bank account every month."'
 
 								act 'Leave':gt 'burger', 'start'
 							end

+ 2 - 2
locations/casting.qsrc

@@ -132,7 +132,7 @@ end
 if $ARGS[0] = 'details':
 	gs 'casting', 'audition_schedule'
 	'Pay: <<acting[''pay'']>> <b>₽</b>'
-	'Audition time: 16:00-18:00, <<$week[audition[''week'']]>>, <<audition[''calendar_day'']>> of <<$audition[''month'']>>.'
+	'Audition time: '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'-'+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+', <<$week[audition[''week'']]>>, <<audition[''calendar_day'']>> of <<$audition[''month'']>>.'
 !!	'Shoot time: <<acting_shoot_time>>:00'
 end
 
@@ -440,7 +440,7 @@ if $ARGS[0] = 'YulyaGavrikov':
 	'Synopsis: Unashamed is a comedic drama that follows the Gavrikov family as they struggle through their problems of self image, romance, sexual identity, work and life balance, and most of all what it means to stick together as a family and be able to love each other without shame.'
 	*nl
 	'Role Description: Yulya is a sexually free and uninhibited university student who is constantly getting into trouble with her many hookups. Though constantly getting together with people and desperately wanting some kind of genuine attachment, Yulya fears commitment and tries to cover up the fact by keeping her partners at an emotional arms length through sex and physicality.'
-	'Audition: Room <<audition[''room'']>> - 16:00-18:00, <<$week[audition[''week'']]>>, <<audition[''calendar_day'']>> of <<$audition[''month'']>>.'
+	'Audition: Room <<audition[''room'']>> - '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'-'+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+', <<$week[audition[''week'']]>>, <<audition[''calendar_day'']>> of <<$audition[''month'']>>.'
 	'Filming duration: 2 months'
 	act 'Return':
 		gs 'casting', 'clearcasting'

+ 31 - 24
locations/cikl.qsrc

@@ -31,7 +31,6 @@ end
 ciklNewWeek = 0
 if week = 1:
 	ciklNewWeek = 1
-	husbandrink = 0
 	if military = 1: military = 0
 end
 
@@ -99,24 +98,23 @@ age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
 if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
 if birthday = day and birthmonth = month and model['age'] > 0:model['age'] += 1
 
-if workDolgDay > 0: workDolgDay -= 1
-if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
-if husband > 0: husbanday += 1
-if husband > 10 and husbanday > 0: husband -= 15
 if fingal > 0: fingal -= 1
 
-if husbandMark = 1 and husband <= 10:
-	husbizvradd = 0
-	husbharmin = 0
-	husbandMark = 0
-	husband = 0
-	divorced += 1
-
-	if KFOnLineReaga > 0:KFOnLineReaga -= 1
-
-	'<b><font color="red">Your husband has filed for a divorce.</font></b>'
+if workDolgDay > 0: workDolgDay -= 1
+if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
+if $husID ! '':
+	if npc_rel[$husID] > 10: npc_rel[$husID] -= 15
+	if npc_rel[$husID] > 0 and spouseVars['drink'] ! 11: spouseVars['drink'] = rand(0, 10)
+	husbandsexday = 0
+
+	if npc_rel[$husID] <= 10:
+		gs 'lover_love', 'divorce'
+		'<b><font color="red">Your husband has filed for a divorce.</font></b>'
+	end
 end
 
+if KFOnLineReaga > 0: KFOnLineReaga -= 1
+
 !! after having surgery you will be in recuperation for a few days
 if surgeryday > 0:
 	if daystart - 7 <= surgeryday:
@@ -596,20 +594,17 @@ gs 'stat_sklattrib', 'daycall'
 gs 'body', 'DailyUpdate'
 
 
-!! Set Mira''s schedule for the day
-!gs 'miroslava_schedule', 'cikl'
+!! Set the daily schedules for npc''s
+gs 'schedule', 'cikl'
 
 
 
-if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
-
 !!Pussy_Kats job settings
 inWorkYoungShop = 0
 if week = 1 and young_shop_work = 100: young_shop_work = 1
 if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
 if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
 
-husbandsexday = 0
 borsexkol = 0
 givisexday = 0
 
@@ -727,9 +722,9 @@ if mid($start_type, 1, 2) = 'sg':
 					kanikuli = 6
 					SchoolAtestat = -1
 					lernHome = 0
-					$holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
+					$holyday = '<b>Your graduation is today. Be there by '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'.</b>'
 				elseif day = 25:
-					$holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
+					$holyday = '<b>Your graduation is tomorrow. Be there by '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'.</b>'
 				elseif day >= 19:
 					$holyday = '<b>Your graduation is in <<26-day>> days.</b>'
 				end
@@ -911,11 +906,11 @@ end
 
 	!!====================================================================!!
 	!!                                                                    !!
-	!!                      Setting story SMS times                       !!
+	!!                     Setting story phone times                      !!
 	!!                                                                    !!
 	!!====================================================================!!
 
-gs 'SMS_schedules', 'cikl'
+gs 'telefon_schedules', 'cikl'
 
 
 
@@ -1281,4 +1276,16 @@ end
 
 if blackmailQW['stage'] > 0: gs 'blackmailer', 'cikl'
 
+
+
+	!!================================================================!!
+	!!                                                                !!
+	!!                        NPCSTAT CLEANUP                         !!
+	!!                                                                !!
+	!!================================================================!!
+
+
+gs 'npcStat_clean'
+
+
 --- cikl ---------------------------------

+ 59 - 6
locations/city_apt_building.qsrc

@@ -20,13 +20,18 @@ if $ARGS[0] = 'housemates':
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/stairs/housemates.jpg"></center>'
 	'Floor 1 - You don''t know anyone on this floor.'
 	'Floor 2 - You don''t know anyone on this floor.'
-	'Floor 3 - You don''t know anyone on this floor.'
+	if porn_studio['know_alli_home'] = 1 and film > 0:
+		'Floor 3 - Apartment 28: Aliana Smirnova'
+	else
+		'Floor 3 - You don''t know anyone on this floor.'
+	end
 	if trychat >= 1:
 		'Floor 4 - Apartment number 37: Tryndin Maximovich'
 	else
 		'Floor 4 - You don''t know anyone on this floor.'
 	end
 	'Floor 5 - Apartment number 49: Your apartment'
+	
 	act 'Leave': gt 'city_apt_building', 'floor_1'
 end
 
@@ -86,6 +91,13 @@ if $ARGS[0] = 'floor_3':
 	end
 	act 'Go down to the second floor': minut +=1 & gt 'city_apt_building','floor_2'
 	act 'Go up to the fourth floor': minut +=1 & gt 'city_apt_building','floor_4'
+	if porn_studio['know_alli_home'] = 1:
+		if film > 0:
+			'Your fellow porn actress Alli lives on this floor, but she never seems to be home. Knowing Alli, you''re more likely to find her at the porn studio.'
+		else
+			'A girl called Aliana lives on this floor, but she never seems to be home. She did mention that she spends a lot of time working at the nearby porn studio.'
+		end
+	end
 	act 'Take the elevator': gt 'city_apt_building','lift','floor_3'
 end
 
@@ -128,7 +140,7 @@ if $ARGS[0] = 'floor_5':
 	act 'Go down to the fourth floor': minut +=1 & gt 'city_apt_building','floor_4'
 	act 'Go up to the roof': minut +=1 & gt 'city_apt_building', 'roof'
 	act 'Take the elevator': gt 'city_apt_building','lift','floor_5'
-	act 'Apartment 69: Your home': gt 'korr'
+	act 'Apartment 49: Your home': gt 'korr'
 end
 
 if $ARGS[0] = 'roof':
@@ -176,7 +188,7 @@ if $ARGS[0] = 'roof':
 	end
 	if temper >= 15 and daystage < 5 and sunWeather = 1:
 		if func('changingroom','count_swim_item') > 0 and PCloswimwear = 0:
-			act 'Change into a bikini':gt 'changingroom', 'view_swim_list'
+			act 'Change into a bikini': gt 'changingroom', 'view_swim_list'
 		end
 		if pcs_inhib > 30:
 			act 'Sunbathe naked':
@@ -207,7 +219,7 @@ if $ARGS[0] = 'roof':
 					pcs_tan += 3
 					'You strip out of your clothes, put sunblock on your body and lie down on the roof to sunbathe.'
 				end
-				act 'Get Up':gt 'city_apt_building', 'roof'
+				act 'Get up': gt 'city_apt_building', 'roof'
 			end
 		end
 
@@ -229,7 +241,7 @@ if $ARGS[0] = 'roof':
 					pcs_tan += 3
 					'You put sunblock on your body and lie down on the roof to sunbathe.'
 				end
-				act 'Get Up':gt 'city_apt_building', 'roof'
+				act 'Get up': gt 'city_apt_building', 'roof'
 			end
 		end
 	end
@@ -478,7 +490,7 @@ if $ARGS[0] = 'floor2_events':
 end
 
 if $ARGS[0] = 'floor3_events':
-	floor3 = rand(1,18)
+	floor3 = rand(1,19)
 	if floor3 < 3:
 		*clr & cla
 		menu_off = 1
@@ -642,6 +654,47 @@ if $ARGS[0] = 'floor3_events':
 		gs 'arousal', 'end'
 		gs 'stat'
 		act 'Leave': gt 'city_apt_building', 'floor_3'
+	elseif floor3 = 19 and (hour >= 23 and hour < 2) and porn_studio['know_alli_home'] = 0:
+		*clr & cla
+		menu_off = 1
+		porn_studio['know_alli_home'] = 1
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/stairs/event/floor3_nudedoor.jpg"></center>'
+		if film > 0:
+			'As you get to the stairwell landing, the door of one of the apartments suddenly opens and you see a naked Alli standing there, her perky breasts and neatly trimmed bush on full display.'
+			'"Alli?!" you ask in bewilderment and she giggles.'
+			'"Oh hey there. Sorry, I thought you were someone else. I didn''t know you lived here?"'
+			'"Yeah, I live on the fifth floor. Apartment 49," you reply.'
+			*nl
+			'"I would say I live here, but I spend most of my time at work and other places, so I only come here to crash," she smiles.'
+			'At this point, an older man appears on the stairs and Alli grins. "Sorry, I need to go, but I''ll see you at work?"'
+			'You just nod and the man smacks her ass as he enters her apartment and she closes the door.'
+			gs 'arousal', 'voyeur', 3
+			gs 'arousal', 'end'
+			gs 'stat'
+		else
+			'As you get to the stairwell landing, the door of one of the apartments suddenly opens and you see a naked girl standing there, her perky breasts and neatly trimmed bush on full display.'
+			'"Oh hey there. Sorry, I thought you were someone else. I''m Alli," she smiles as she casually reaches out to shake your hand. "Are you one of my neigbors?"'
+			*nl
+			'"Yeah, I''m <<$pcs_nickname>>. I live up on the fifth floor."'
+			'"Cool," she replies. "I''d say I live here, but I spend most of my time working at the porn studio and doing other stuff, so I only come here to crash," she smiles.'
+			'"You''re a porn star?" you ask and she smiles.'
+			'"I wouldn''t say a star since I only just started, but yes, I do work in porn and I don''t care what anyone thinks. I signed up at the local studio on my 18th birthday and never looked back."'
+			if pornstudio = 0:
+				pornstudio = 1
+				'"There''s a porn studio in the city?" you ask.'
+				'"Yeah, it''s in one of the warehouses in the redlight district. You should swing by sometime and sign up."'
+				'She gives you directions to the studio before she excuses herself and closes the door, leaving you to continue on your way.'
+			else
+				'"I heard there was a porn studio somewhere in the industrial district," you reply.'
+				'"Yeah, it''s in one of the warehouses in the redlight district. You should swing by sometime and sign up."'
+				'You just nod your head and she smiles before excusing herself and closing the door, leaving you to continue on your way.' 
+				gs 'arousal', 'voyeur', 3
+				gs 'arousal', 'end'
+				gs 'stat'
+			end
+		end
+		act 'Leave': gt 'city_apt_building', 'floor_3'
 	else
 		gt 'city_apt_building', 'floor_3'
 	end

+ 13 - 13
locations/city_bobka.qsrc

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

+ 23 - 23
locations/city_center.qsrc

@@ -113,7 +113,7 @@ gs 'taxi'
 if hour >= 4 and hour < 23:
 	$desc_txt1 = '<a href="exec: minut += 1 & gt ''metro'', ''start''">the metro</a>'
 else
-	$desc_txt1 = '<a href="exec:msg ''The metro is closed and will reopen at 04:00''">the metro</a>'
+	$desc_txt1 = '<a href="exec:msg ''The metro is closed and will reopen at '+func('time', 'get_time_string', 4, 0, cheatVars['time_format'])+'''">the metro</a>'
 end
 
 'You have easy access to the <a href="exec: minut += 5 & gs ''city_train'', ''start''">train station</a> and <<$desc_txt1>> is only a short walk from there. Both connect you quickly to other parts of St. Petersburg and the subway is great if you''re tight on cash. If you can''t afford either, the <a href="exec:minut += 35 & gt ''city_park'', ''start''">central park</a> is a 35 minute walk from here and provides a more scenic route to the other city districts.'
@@ -121,51 +121,51 @@ end
 if hour >= 8 and hour < 22:
 	$desc_txt1 = '<a href="exec: minut += 1 & gt ''kiosk'', ''start''">kiosk</a>'
 else
-	$desc_txt1 = '<a href="exec:msg ''The Ruch kiosk is closed and will reopen at 08:00''">kiosk</a>'
+	$desc_txt1 = '<a href="exec:msg ''The Ruch kiosk is closed and will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'''">kiosk</a>'
 end
-'The neon green sign of a <<$desc_txt1>> catches your eye. It''s open between 08:00 and 22:00 and sells cheap magazines and cigarettes.'
+'The neon green sign of a <<$desc_txt1>> catches your eye. It''s open between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 22, 0, cheatVars['time_format'])+' and sells cheap magazines and cigarettes.'
 *nl
 if hour = 8 and minut >= 30:
 	$desc_txt1 = '<a href="exec: minut += 1 & gt ''city_mall''">The Galeria mall</a>'
-	$desc_txt2 = '<a href="exec:msg ''The Havana Fitness Center is closed and will reopen at 09:00''">Havana Fitness Center</a>'
+	$desc_txt2 = '<a href="exec:msg ''The Havana Fitness Center is closed and will reopen at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'''">Havana Fitness Center</a>'
 elseif hour >= 9 and hour <= 20:
 	$desc_txt1 = '<a href="exec: minut += 1 & gt ''city_mall''">The Galeria mall</a>'
 	$desc_txt2 = '<a href="exec:gt ''havana'', ''start''">Havana Fitness Center</a>'
 else
-	$desc_txt1 = '<a href="exec:msg ''The Galeria mall is closed and will reopen at 8:30''">The Galeria mall</a>'
-	$desc_txt2 = '<a href="exec:msg ''The Havana Fitness Center is closed and will reopen at 09:00''">Havana Fitness Center</a>'
+	$desc_txt1 = '<a href="exec:msg ''The Galeria mall is closed and will reopen at '+func('time', 'get_time_string', 8, 30, cheatVars['time_format'])+'''">The Galeria mall</a>'
+	$desc_txt2 = '<a href="exec:msg ''The Havana Fitness Center is closed and will reopen at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'''">Havana Fitness Center</a>'
 end
 '<<$desc_txt1>> is front and center in the commercial area. Nearby is a <<$desc_txt2>> which has a swimming pool that can be used for a small fee.'
 if hour >= 6 and hour <= 23:
 	$desc_txt1 = '<a href="exec: minut += 1 & gt ''foto'', ''start''">Aphrodite Photography</a>'
 else
-	$desc_txt1 = '<a href="exec:msg ''Aphrodite Photography is closed and will reopen at 06:00''">Aphrodite Photography</a>'
+	$desc_txt1 = '<a href="exec:msg ''Aphrodite Photography is closed and will reopen at '+func('time', 'get_time_string', 6, 0, cheatVars['time_format'])+'''">Aphrodite Photography</a>'
 end
 if hour >= 6 and hour <= 23:
 	$desc_txt2 = '<a href="exec: minut += 1 & gt ''burger'', ''start''">Diner Bystroeshka</a>'
 else
-	$desc_txt2 = '<a href="exec:msg ''Diner Bystroeshka is closed and will reopen at 06:00''">Diner Bystroeshka</a>'
+	$desc_txt2 = '<a href="exec:msg ''Diner Bystroeshka is closed and will reopen at '+func('time', 'get_time_string', 6, 0, cheatVars['time_format'])+'''">Diner Bystroeshka</a>'
 end
 if hour >= 8 and hour <= 22:
 	$desc_txt3 = '<a href="exec:gt ''restoran'', ''start''">Babel</a>'
 else
-	$desc_txt3 = '<a href="exec:msg ''Babel is closed and will reopen at 08:00''">Babel</a>'
+	$desc_txt3 = '<a href="exec:msg ''Babel is closed and will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'''">Babel</a>'
 end
 'A few buildings away is <<$desc_txt1>> and <<$desc_txt2>>, a place that sells cheap fast food. For a more lavish dining experience, <<$desc_txt3>> is available.'
 *nl
 if week >= 4 and (hour >= 18 or hour <= 3):
 	$desc_txt3 = '<a href="exec:gt ''city_nightclub'', ''start''">the nightclub</a>'
 else
-	$desc_txt3 = '<a href="exec:msg ''The nightclub is closed and will open from Thursday to Sunday at 18:00''">The nightclub</a>'
+	$desc_txt3 = '<a href="exec:msg ''The nightclub is closed and will open from Thursday to Sunday at '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+'''">The nightclub</a>'
 end
 'The only place open here at night is <<$desc_txt3>>.'
 *nl
 if (week < 6 and hour >= 8 and hour <= 16) or (week = 6 and hour >= 8 and hour <= 13):
 	$desc_txt1 = '<a href="exec:gt ''office'', ''start''">Titran-Express</a>'
 elseif (week = 5 or week = 6) and hour > 16:
-	$desc_txt1 = '<a href="exec:msg ''Titran-Express is closed and will reopen at 08:00 on Monday''">Titran-Express</a>'
+	$desc_txt1 = '<a href="exec:msg ''Titran-Express is closed and will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' on Monday''">Titran-Express</a>'
 else
-	$desc_txt1 = '<a href="exec:msg ''Titran-Express is closed and will reopen at 08:00''">Titran-Express</a>'
+	$desc_txt1 = '<a href="exec:msg ''Titran-Express is closed and will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'''">Titran-Express</a>'
 end
 'Across the street is considered the business area. The large skyscraper there serves as the base of operations for <<$desc_txt1>>, an engineering company.'
 *nl
@@ -174,42 +174,42 @@ if casting = 0:
 elseif hour >= 7 and hour <= 20:
 	$desc_txt1 = '<a href="exec:gt ''talent_agency'', ''start''">Aurora talent agency</a>'
 else
-	$desc_txt1 = '<a href="exec:msg ''Aurora talent agency is closed and will reopen at 07:00''">Aurora talent agency</a>'
+	$desc_txt1 = '<a href="exec:msg ''Aurora talent agency is closed and will reopen at '+func('time', 'get_time_string', 7, 0, cheatVars['time_format'])+'''">Aurora talent agency</a>'
 end
 if week < 6:
 	if hour >= 9 and hour <= 18:
 		$desc_txt2 = '<a href="exec:gt ''bank'', ''start''">VTB bank</a>'
 	else
-		$desc_txt2 = '<a href="exec:msg ''VTB bank is closed and will reopen at 09:00''">VTB bank</a>'
+		$desc_txt2 = '<a href="exec:msg ''VTB bank is closed and will reopen at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'''">VTB bank</a>'
 	end
 else
-	$desc_txt2 = '<a href="exec:msg ''VTB bank is closed and will reopen on monday at 09:00''">VTB bank</a>'
+	$desc_txt2 = '<a href="exec:msg ''VTB bank is closed and will reopen on monday at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'''">VTB bank</a>'
 end
 if hour >= 8 and hour <= 22:
 	$desc_txt3 = '<a href="exec: minut += 1 & gt ''agentned'', ''start''">Kirsanova Realty</a>'
 else
-	$desc_txt3 = '<a href="exec:msg ''Kirsanova Realty is closed and will reopen at 08:00''">Kirsanova Realty</a>'
+	$desc_txt3 = '<a href="exec:msg ''Kirsanova Realty is closed and will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'''">Kirsanova Realty</a>'
 end
 if (week < 6 and hour >= 9 and hour <= 16) or (week = 6 and hour >= 9 and hour <= 13):
 	$desc_txt4 = '<a href="exec: minut += 3 & gt ''post_office'', ''start''">post office</a>'
 elseif (week = 5 or week = 6) and hour > 16:
-	$desc_txt4 = '<a href="exec:msg ''The post office is closed and will reopen at 09:00 on Monday''">post office</a>'
+	$desc_txt4 = '<a href="exec:msg ''The post office is closed and will reopen at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' on Monday''">post office</a>'
 else
-	$desc_txt4 = '<a href="exec:msg ''The post office is closed and will reopen at 09:00''">post office</a>'
+	$desc_txt4 = '<a href="exec:msg ''The post office is closed and will reopen at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+'''">post office</a>'
 end
 if hour >= 8 and hour <= 18:
 	$desc_txt5 = '<a href="exec: minut += 1 & gt ''city_library''">National Library of Russia</a> and <a href="exec: minut += 1 & gt ''city_hermitage'', ''start''">Hermitage Museum</a>'
 else
-	$desc_txt5 = '<a href="exec:msg ''The National Library of Russia is closed and will reopen at 08:00''">National Library of Russia</a> and <a href="exec:msg ''The Hermitage Museum is closed and will reopen at 08:00''">Hermitage Museum</a>'
+	$desc_txt5 = '<a href="exec:msg ''The National Library of Russia is closed and will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'''">National Library of Russia</a> and <a href="exec:msg ''The Hermitage Museum is closed and will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'''">Hermitage Museum</a>'
 end
 'Next door is the <<$desc_txt1>> followed by a <<$desc_txt2>>, <<$desc_txt3>> and the 5-star <a href="exec: minut += 1 & gt ''city_hotel'', ''start''">Hotel Indigo</a> for your housing needs. Lastly, the local <<$desc_txt4>>, <<$desc_txt5>> can be found at the end of the road.'
 *nl
 if week < 6 and hour >= 7 and hour <= 17:
 	$desc_txt6 = '<a href="exec: minut += 1 & gt ''sentence'',''start''">The City Courthouse</a>'
 elseif week < 5 and hour > 17:
-	$desc_txt6 = '<a href="exec:msg ''The City Courthouse is closed and will reopen tomorrow at 07:00''">City Courthouse</a>'
+	$desc_txt6 = '<a href="exec:msg ''The City Courthouse is closed and will reopen tomorrow at '+func('time', 'get_time_string', 7, 0, cheatVars['time_format'])+'''">City Courthouse</a>'
 else
-	$desc_txt6 = '<a href="exec:msg ''The City Courthouse is closed and will reopen on Monday at 07:00''">City Courthouse</a>'
+	$desc_txt6 = '<a href="exec:msg ''The City Courthouse is closed and will reopen on Monday at '+func('time', 'get_time_string', 7, 0, cheatVars['time_format'])+'''">City Courthouse</a>'
 end
 $desc_txt7 = '<a href="exec: minut += 1 & gt ''police_station'',''start''">Main city police station</a>'
 'Away from the shops is both <<$desc_txt6>> and the <<$desc_txt7>>.'
@@ -218,9 +218,9 @@ $desc_txt7 = '<a href="exec: minut += 1 & gt ''police_station'',''start''">Main
 *nl
 if nichHotelReferral = 2 and nichWork ! 2 and nichWork ! 4:
 	if hour >= 4 and hour < 16:
-		'You could go to the apartment of a man named Nicholas to apply for a job as a live-in maid, but it''s too early for that. You should come back between 16:00 and 21:00.'
+		'You could go to the apartment of a man named Nicholas to apply for a job as a live-in maid, but it''s too early for that. You should come back between '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 21, 0, cheatVars['time_format'])+'.'
 	elseif hour < 4 or hour > 21:
-		'You could go to the apartment of a man named Nicholas to apply for a job as a live-in maid, but it''s too late for that. You should come back between 16:00 and 21:00.'
+		'You could go to the apartment of a man named Nicholas to apply for a job as a live-in maid, but it''s too late for that. You should come back between '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 21, 0, cheatVars['time_format'])+'.'
 	else
 		'You could go to the <a href="exec:gt ''nichApartment'', ''jobInterview''">apartment of a man named Nicholas</a> to apply for a job as a live-in maid.'
 	end

+ 3 - 3
locations/city_church.qsrc

@@ -26,9 +26,9 @@ if $ARGS[0] = 'start':
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/church/kazan.jpg"></center>'
 	'Kazan Cathedral, also known as the Cathedral of Our Lady of Kazan. It''s old and huge, it is well maintained by the worshipers of the parish.'
 	''
-	'You can attend confession every weekday between 07:00 and 09:00 or 16:00 and 18:00, and on the weekend between 16:00 and 18:00.'
-	'Vigil is held on Saturdays at 19:00.'
-	'The Divine Liturgy is on Sundays between 09:00 and 12:00.'
+	'You can attend confession every weekday between '+func('time', 'get_time_string', 7, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' or '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+', and on the weekend between '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+'.'
+	'Vigil is held on Saturdays at '+func('time', 'get_time_string', 19, 0, cheatVars['time_format'])+'.'
+	'The Divine Liturgy is on Sundays between '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+'.'
 	act 'Return to the city':minut += 5 & gt 'city_center'
 	if week = 6 and hour >=19 and hour <= 22 and churchday ! daystart:
 		act 'Attend vigil': gt 'city_church', 'vigil'

+ 3 - 3
locations/city_clinic.qsrc

@@ -804,7 +804,7 @@ if $ARGS[0] = 'glavdoc':
 	if workhosp = 0:
 		'You enter the chief of staff''s office and ask him about the job.'
 		'The chief of staff looks at you. "Oh, you must be the girl Kat was talking about. I don''t have much time, so I''ll keep it short and take her word that you have the necessary experience."'
-		'He continues. "You''ll work five days per week, Mondays to Fridays. Your shift begins between 8:00 and 9:00, and finishes around 16:00. Miss a day and you don''t get paid. You''ll get 1,500 <b>₽</b> per shift, and your salary will be deposited onto your back account on the 25th of the month."'
+		'He continues. "You''ll work five days per week, Mondays to Fridays. Your shift begins between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+', and finishes around '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'. Miss a day and you don''t get paid. You''ll get 1,500 <b>₽</b> per shift, and your salary will be deposited onto your back account on the 25th of the month."'
 		'He looks at his watch again and shrugs. "You can sort out the rest of the details with the personnel department later. Do you want the job?"'
 	else
 		'You step into the office of the chief of staff.'
@@ -1035,7 +1035,7 @@ if $ARGS[0] = 'milk_donation_room':
 	act 'Go back': gt 'city_clinic','start'
 	if lactation['pc_aware'] > 0 and hour < 10 or hour > 19:
 		'The door seems to be locked and nobody is here.'
-		'A sign reads "Opening hours 10:00 to 19:00 daily.'
+		'A sign reads "Opening hours '+func('time', 'get_time_string', 10, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 19, 0, cheatVars['time_format'])+' daily.'
 	elseif lactation['pc_aware'] > 0 and hour >= 10 and hour <= 19:
 		'The door is open and someone is talking inside.'
 		act 'Go inside':
@@ -1376,7 +1376,7 @@ if $ARGS[0] = 'milk_donation':
 		'You put your top back on and the employee hands you <<lact_ev[''poli_donatemoney'']>><b>₽</b> for your donated breast milk.'
 		act 'Leave': minut += 5 & gt 'city_clinic', 'milk_donation_room'
 	else
-		'The milk donation service is closed. It''s open every day between 10:00 and 19:00.'
+		'The milk donation service is closed. It''s open every day between '+func('time', 'get_time_string', 10, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 19, 0, cheatVars['time_format'])+'.'
 		act 'Leave': minut += 5 & gt 'city_clinic', 'milk_donation_room'
 	end
 end

+ 1 - 1
locations/city_coffee_hole.qsrc

@@ -11,7 +11,7 @@ if $ARGS[0]= 'start':
 	menu_off = 0
 	'<center><h4><font color="maroon">Cafe "Coffee Hole"</font></h4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/island/coffee_hole/street_sign.jpg"></center>'
-	'Along the street is a sign advertising a cafe called the "Coffee Hole". Following the direction of the sign, you find the door to the cafe in a little nook between two buildings. It would have been hard to see from the street without the sign. Opening hours are 07:00 to 23:00.'
+	'Along the street is a sign advertising a cafe called the "Coffee Hole". Following the direction of the sign, you find the door to the cafe in a little nook between two buildings. It would have been hard to see from the street without the sign. Opening hours are '+func('time', 'get_time_string', 7, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 23, 0, cheatVars['time_format'])+'.'
 	act 'Return to the city': gt 'city_island'
 	if hour >= 7 and hour < 22: act 'Enter the cafe': gt 'city_coffee_hole', 'inner'
 end

+ 2 - 1
locations/city_commcenter.qsrc

@@ -60,7 +60,7 @@ if $ARGS[0] = 'lessons':
 	'<center><b>The Vladimir Lenin community center</b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/industrial/community/dk1.jpg"></center>'
 	*nl
-	'Vladimir Lenin is open from 9am through to 5pm on weekdays, and closed on weekends.
+	'Vladimir Lenin is open from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' through to '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+' on weekdays, and closed on weekends.
 	 It''s available to teach essential life skills such as driving, life coaching or finding new job skills this is the place to learn. '
 	*nl
 	'<B><center>Currently available courses:</center></B>'
@@ -131,6 +131,7 @@ if $ARGS[0] = 'drivingschool':
 	'<center><img <<$set_imgh>> src="images/locations/city/industrial/community/dk2.jpg"></center>'
 	*nl
 	'You enter the community center with excitement with your thoughts full about getting your driving licence and the freedom to achieve your dreams.'
+	'The driving school is government run and they check personal details against state registration database. As such a fake ID will not work, you have to be 18 or above.'
 	*nl
 
 	if prava ! 0:

+ 1 - 19
locations/city_house_res_kitch.qsrc

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

+ 9 - 9
locations/city_industrial.qsrc

@@ -69,13 +69,13 @@ if $ARGS[0] = '':
 	if hour > 7 and hour < 23:
 		'You can see the <a href="exec:$loc = ''city_industrial'' & minut += 1 & gt ''kiosk'', ''start''">kiosk</a> selling cigarettes and magazines.'
 	else
-		'The kiosk is closed between 23:00 and 07:00.'
+		'The kiosk is closed between '+func('time', 'get_time_string', 23, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 7, 0, cheatVars['time_format'])+'.'
 	end
 
 	'At the center of the industrial region is a <a href="exec:minut += 15 & gt ''city_industrial_train'', ''outside''">train station</a>.'
 
 	if week = 3 or hour < 16:
-		'The "Rabotnik" bar is here, but it seems to be closed. A sign by the door tells you that it''s open every day (except Wednesday) between 16:00 and midnight.'
+		'The "Rabotnik" bar is here, but it seems to be closed. A sign by the door tells you that it''s open every day (except Wednesday) between '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' and midnight.'
 	else
 		'The <a href="exec: minut += 5 & gt ''qwBarPolet''">Bar "Rabotnik"</a> seems to be open.'
 	end
@@ -86,22 +86,22 @@ if $ARGS[0] = '':
 	if hour >= 4 and hour < 23:
 		'The <a href="exec: minut += 5 & gt ''metro'', ''start''">metro station</a> is within a 5 minute walk from here.'
 	else
-		'The metro station is within a 5 minute walk from here, but it''s closed until 04:00.'
+		'The metro station is within a 5 minute walk from here, but it''s closed until '+func('time', 'get_time_string', 4, 0, cheatVars['time_format'])+'.'
 	end
 	if func('autotraidF', 'is_open'):
 		'A <a href="exec: minut += 5 & gt ''autotraidF'', ''start''">car dealership</a> is nearby.'
 	else
-		'A car dealership is nearby' + iif(week = 1, ', but it''s closed on Mondays.', '. It''s currently closed and will open between 09:00 and 18:00.') + iif(car > 0 and cardrive = 9, ' Your <<$car>> is currently locked inside.', '')
+		'A car dealership is nearby' + iif(week = 1, ', but it''s closed on Mondays.', '. It''s currently closed and will open between '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+'.') + iif(car > 0 and cardrive = 9, ' Your <<$car>> is currently locked inside.', '')
 	end
 	if func('autoservisF', 'is_open'):
 		'Next to the car dealership is a <a href="exec: minut += 5 & gt ''autoservisF'', ''start''">repair shop</a>.'
 	else
-		'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.', '')
+		'Next to the car dealership is a repair shop.' + iif(week = 7, 'It''s closed on Sundays.', 'It will be open between '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+'.') + 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 ''city_commcenter'', ''start''">community center</a> is currently open.'
 	else
-		'The community center 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 '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+'.'
 	end
 
 	if hour >= 9 and hour <= 17 and ($start_type['loc'] ! 'sg' or SchoolAtestat = 0) or bumtolik > 3:
@@ -112,12 +112,12 @@ if $ARGS[0] = '':
 	if hour >= 8 and hour <= 20:
 		'The parking lot, which is engulfed in bright lights, belongs to a <a href="exec: minut += 2 & gt ''shop'', ''start''">supermarket</a>.'
 	else
-		'The empty parking lot, which is engulfed in bright lights, belongs to a supermarket that is open between 08:00 and 20:00'
+		'The empty parking lot, which is engulfed in bright lights, belongs to a supermarket that is open between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+''
 	end
 	if hour >= 12 and hour <= 19:
 		'Above the door to a basement room is a bright neon sign for the <a href="exec: minut += 5 & gt ''pirsingsalon'', ''start''">Tattoo & Piercing parlor</a>.'
 	else
-		'Above the door to a basement room is a bright neon sign for the Tattoo & Piercing parlor. The opening hours are 12:00 to 20:00'
+		'Above the door to a basement room is a bright neon sign for the Tattoo & Piercing parlor. The opening hours are '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+''
 	end
 	if tobiQW >= 1:'The old mansion, home to <a href="exec:gt ''kakuzu'', ''start''">Kakuzu</a>'
 
@@ -128,7 +128,7 @@ if $ARGS[0] = '':
 	if hour >= 14 or hour < 4:
 		'Located far away from the buildings is a <a href="exec: minut += 2 & gt ''lakecafe'', ''main''">barbecue</a>.'
 	else
-		'Located far away from the buildings is a barbecue. It''ll be open between 14:00 and 04:00'
+		'Located far away from the buildings is a barbecue. It''ll be open between '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 4, 0, cheatVars['time_format'])+''
 	end
 	if jouryResult = 10: 'You can go to one of the apartment blocks and visit <a href="exec:gt ''youry'',''start''">Yuri</a>.'
 	if BurgerQW['IlyQWTatianaHelp'] > 0:'In one of these buildings is <a href="exec:gt ''ilyroom''">Ilyushkin''s</a> apartment.'

+ 5 - 5
locations/city_island.qsrc

@@ -58,23 +58,23 @@ if hour >= 8 and hour <= 22:
 	'The <a href="exec: minut += 3 & gt ''uni_shop'', ''start''">supermarket</a> is not far from here.'
 	'You can see a <a href="exec:$loc = ''city_island'' & minut += 1 & gt ''kiosk'', ''start''">kiosk</a> selling cigarettes and magazines.'
 else
-	'The local convenience store is closed. It will reopen at 08:00.'
-	'You can see a closed kiosk. It''s open between 08:00 and 23:00.'
+	'The local convenience store is closed. It will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'.'
+	'You can see a closed kiosk. It''s open between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 23, 0, cheatVars['time_format'])+'.'
 end
 if hour >= 8 and hour < 22:
 	'You can see <a href="exec:gt ''shop_dolls'', ''start''">Patch Work Dolls</a>, a clothing store that caters to Alternative styles, like gothic, punk and skater. Next door is <a href="exec:gt ''shop_nerdvana'', ''start''">Nerdvana</a>, a clothing store that stock everything a nerd could desire.'
 else
-	'You can see Patch Work Dolls, a clothing store that caters to Alternative styles, like gothic, punk, skater. Next door is Nerdvana, the nerd clothing store. They both open every day between 08:00 and 22:00'
+	'You can see Patch Work Dolls, a clothing store that caters to Alternative styles, like gothic, punk, skater. Next door is Nerdvana, the nerd clothing store. They both open every day between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 22, 0, cheatVars['time_format'])+''
 end
 if hour >= 7 and hour < 22:
 	'You can see a sign advertising a coffee shop called <a href="exec: minut += 3 & gt ''city_coffee_hole'', ''start''">The Coffee Hole</a> just a few blocks away from the university.'
 else
-	'The Coffee Hole is closed. They reopen at 07:00.'
+	'The Coffee Hole is closed. They reopen at '+func('time', 'get_time_string', 7, 0, cheatVars['time_format'])+'.'
 end
 if hour >= 4 and hour < 23:
 	'The <a href="exec:minut += 1 & gt ''metro'', ''start''">Metro</a> Station is within a 5 minute walk from here.'
 else
-	'The Metro Station is closed. The first train will depart at 04:00.'
+	'The Metro Station is closed. The first train will depart at '+func('time', 'get_time_string', 4, 0, cheatVars['time_format'])+'.'
 end
 if anushkaCityQW['first_visit'] > 0:
 	'Anushka lives in <a href="exec:minut += 1 & gt ''anushapt_city'', ''home''">a shared apartment</a> around the corner.'

+ 2 - 2
locations/city_kafe.qsrc

@@ -124,7 +124,7 @@ if $ARGS[0] = 'fabi':
 	'His smile broadens and he looks a little less tired. "Ah, so you want to work here? Well why wouldn''t you? Rockabilly music, the greaser subculture, Cadillacs and motorcycles and hamburgers! I love this period of American culture, it''s so vibrant and exciting! I''ve put every ruble I have into making this place the perfect recreation of an American diner from 1958. Who doesn''t love that?"'
 	*nl
 	'A glance around the place shows you that the diner is barely half full, and most of those dining are eating Russian food rather than American. Fabi is still raving about America in the 1950s, talking about Elvis Presley, someone called Carl Perkins and cheeseburgers and French fries. His enthusiasm is honest and infectious, but you came here for a reason, so you clear your throat. "Fabi? About the job?"'
-	'He grins sheepishly. "Sorry, I get carried away sometimes. Let me tell you about the job. We''re open every day except Monday from 12:00 to 20:00 and you''d be working five days a week, Tuesday through Saturday. You''ll be expected to arrive between 11:00 and 12:00 to help get the place ready – if you''re late then you won''t work that day. You don''t work, you don''t get paid. Pay is 600 rubles per shift plus whatever you get in tips, and you get paid on the 25th of each month."'
+	'He grins sheepishly. "Sorry, I get carried away sometimes. Let me tell you about the job. We''re open every day except Monday from '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+' and you''d be working five days a week, Tuesday through Saturday. You''ll be expected to arrive between '+func('time', 'get_time_string', 11, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+' to help get the place ready – if you''re late then you won''t work that day. You don''t work, you don''t get paid. Pay is 600 rubles per shift plus whatever you get in tips, and you get paid on the 25th of each month."'
 	'"Oh, and local regulations say I have to hold your work book as long as you''re employed here," he adds. "So... Are you interested?"'
 
 	act 'Yes':
@@ -132,7 +132,7 @@ if $ARGS[0] = 'fabi':
 		minut += 5
 		workKafe['job'] = 1
 		gs 'stat'
-		'You hand over your work book and Fabi takes it with a smile. "Good! Now remember, you have to be here between 11:00 and noon, Monday through Friday."'
+		'You hand over your work book and Fabi takes it with a smile. "Good! Now remember, you have to be here between '+func('time', 'get_time_string', 11, 0, cheatVars['time_format'])+' and noon, Monday through Friday."'
 		act 'Leave': gt 'city_kafe', 'start'
 	end
 	

+ 1 - 1
locations/city_lake.qsrc

@@ -36,7 +36,7 @@ if $ARGS[0] = 'start':
 	if hour >= 8 and hour <= 17:
 		'There is a branch of the swimwear chain <a href="exec: minut += 3 & gt ''shop_allure'', ''start''">Allure</a> here'
 	else
-		'There is a branch of the swimwear chain Allure here, but it is currently closed. It will reopen at 08:00.'
+		'There is a branch of the swimwear chain Allure here, but it is currently closed. It will reopen at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'.'
 	end
 
 	if car > 0 and cardrive = 4:

+ 4 - 1
locations/city_library.qsrc

@@ -31,7 +31,10 @@ if $ARGS[0] = '':
 			menu_off = 1
 			gs 'library_functions', 'read_book', 'splcstng'
 			gs 'stat'
-
+			'<center><b><font color="maroon">Grimoire Magicka</font></b></center>'
+			imageid = rand(1,2)
+			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/library/mage_learning_<<imageid>>.jpg"></center>'
+			killvar 'imageid'
 			'You pick out one of the magic books you can actually read and sit down with it.'
 			'You discover that not only is the subject matter complex and mostly a mystery to you, but the descriptions and explanations are unnecessarily wordy, as if the writer had something to prove.'
 			'After about an hour, you decide to take a break from it and instead test your memory. You don''t remember much, but you understand magic a little better than before.'

+ 12 - 8
locations/city_mansion_entrance.qsrc

@@ -35,14 +35,18 @@ if $ARGS[0] = '':
 		if vladimirQW['day'] = daystart and vladimirQW['stage'] = 30 and hour >= 16 and week = 6:'<a href="exec:gt ''vladimirQW_meet'',''2''">There''s an Audi parked in front of your mansion, and standing beside it, you notice Vladimir</a>.'
 		if vladimirQW['day'] = daystart and vladimirQW['stage'] = 40 and hour >= 16 and week = 6:'<a href="exec:gt ''vladimirQW_meet'',''3''">There''s an Audi parked in front of your mansion, and standing beside it, you notice Vladimir</a>.'
 
-		if hour = meethour[0]:
-			if svidanie[0] = 1:'<b><a href="exec:lover_number = 0 & gt ''lover_meet'', ''start''"><<$loverdesc[0]>></a> is waiting at the entrance to your mansion.</b>'
-		end
-		if hour = meethour[1]:
-			if svidanie[1] = 1:'<b><a href="exec:lover_number = 1 & gt ''lover_meet'', ''start''"><<$loverdesc[1]>></a> is waiting at the entrance to your mansion.</b>'
-		end
-		if hour = meethour[2]:
-			if svidanie[2] = 1:'<b><a href="exec:lover_number = 2 & gt ''lover_meet'', ''start''"><<$loverdesc[2]>></a> is waiting at the entrance to your mansion.</b>'
+		if arrsize('$lover') > 0:
+			temp_i = 0
+			temp_max_i = arrsize('$lover')
+			:lover_pickup_loop
+				$temp_npcid = $lover[temp_i]
+				if npc_meetday[$temp_npcid] = daystart and npc_meethour[$temp_npcid] = hour:
+					'<b><a href="exec: gt ''lover_meet'', ''start'', ''<<$temp_npcid>>''"><<$npc_usedname[$temp_npcid]>></a> is waiting at the entrance to your mansion.</b>'
+				end
+				temp_i += 1
+			if temp_i < temp_max_i: jump 'lover_pickup_loop'
+			killvar 'temp_i'
+			killvar 'temp_max_i'
 		end
 	end
 

+ 1 - 19
locations/city_mansion_residence_1.qsrc

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

+ 2 - 2
locations/city_market.qsrc

@@ -86,7 +86,7 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 			gs 'stat'
 
 			'Hi, my name is Arthur. I own many stalls here and I need a saleswoman. Want the job?'
-			'Pay is a percentage of sales, paid at end of shift. Your shifts would be Tuesdays, Thursdays and Saturdays from 08:00 to 14:00.'
+			'Pay is a percentage of sales, paid at end of shift. Your shifts would be Tuesdays, Thursdays and Saturdays from '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+'.'
 			'Government insist I have your papers, so it would be your main job.'
 
 			act 'Leave': gt 'city_market', 'start'
@@ -185,7 +185,7 @@ if $ARGS[0] = 'tailor':
 	menu_off = 0
 	gs 'stat'
 
-	'A sign reads, "Jacob Solomonovich Schneersohn, tailor, 8:00-16:00 Monday - Friday"'
+	'A sign reads, "Jacob Solomonovich Schneersohn, tailor, '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'-'+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' Monday - Friday"'
 
 	act 'Speak to the tailor':
 		*clr & cla

+ 14 - 14
locations/city_nightclub.qsrc

@@ -111,7 +111,7 @@ if $ARGS[0] = 'inside':
 		act 'Hear him out':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club11.jpg"></center>'
-			'"The club opens at 6pm. You can work for an hour at a time, up to 1am. The jobs will vary, according to time and demand. It includes finding customers to bring to the club, promoting drinks, and some dancing."'
+			'"The club opens at '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+'. You can work for an hour at a time, up to '+func('time', 'get_time_string', 1, 0, cheatVars['time_format'])+'. The jobs will vary, according to time and demand. It includes finding customers to bring to the club, promoting drinks, and some dancing."'
 			'"Your pay will depend on results: get more people in and get them buying up the promotional drinks, or if you dance well, and you''ll get 200<b>₽</b>. Do worse, you get less. Do very well, you get a bonus. When you finish, you can stay in the club, so you get free entry as well."'
 			'"So, are you interested?"'
 			act 'No': clubno = 1 & gt 'city_nightclub', 'inside'
@@ -210,9 +210,9 @@ if $ARGS[0] = 'dance':
 				if clrand < 5:
 					gs 'arousal', 'foreplay', 1
 					gs 'npcgeneratec', 0
-					gs 'boyStat', $npclastgenerated
+					gs 'npcStat', $npclastgenerated
 
-					'As you''re dancing, you feel someone groping your ass. You turn around and see <<$boybody_pref>>, <<$boybod>> guy with <<$boyface>> hair. He''s <<$boyClo>>'
+					'As you''re dancing, you feel someone groping your ass. You turn around and see <<$npcheight_pref>>, <<$npcbuild>> guy with <<$npchair>> hair. He''s wearing <<$npcClo>>.'
 					act 'Stop dancing': gt 'city_nightclub', 'inside'
 					act 'Dance with him': gt 'city_nightclub', 'dance_guy'
 				elseif clrand > 8:
@@ -278,7 +278,7 @@ if $ARGS[0] = 'dance':
 								*clr & cla
 								pcs_horny += 10
 								minut += 10
-								gs 'boystat', 'A81'
+								gs 'npcStat', 'A81'
 								gs 'cum_call', 'mouth_swallow', $boy, 1
 								gs 'stat'
 								'<center><img <<$set_imgh>> src="images/shared/sex/cum/mouth/cum<<rand(34, 47)>>.jpg"></center>'
@@ -460,7 +460,7 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand4.jpg"></center>'
 			gs 'npcgeneratec', 0, 'Club Dancer', rand(18,26)
-			gs 'boyStat', $npclastgenerated
+			gs 'npcStat', $npclastgenerated
 			spafinloc = 12
 			gs 'cum_manage'
 			'The last thing you remember is how you sucked someone''s cock in the middle of the dance floor.'
@@ -660,7 +660,7 @@ if $ARGS[0] = 'sex':
 	gs 'dinSex', 'std_trigger_oral'
 	gs 'npcgeneratec', 0
 	dick = rand(10, 18)
-	gs 'boyStat', $npclastgenerated
+	gs 'npcStat', $npclastgenerated
 	gs 'stat'
 	'<center><b><font color="maroon">toilet stall</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/sex.jpg"></center>'
@@ -679,12 +679,18 @@ if $ARGS[0] = 'sex':
 
 		act 'Take his cock out of your mouth':
 			*clr & cla
-			if harakBoy = 0:
+			if npc_gentle[$boy] = 1:
 				'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hand.jpg"></center>'
 				spafinloc = 13
 				gs 'cum_manage'
 				'You take his cock and point it away from you. He groans as he cums and most of his cum gets splattered onto the floor, with a few drops covering your hand.'
-			elseif harakBoy = 1:
+			elseif npc_rough[$boy] = 1:
+				spafinloc = 11
+				gs 'cum_manage'
+				SUB += 1
+				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/sex/clubfacial.jpg"></center>'
+				'The guy grabs your hair and cums on your face. You quickly close your eyes, but it''s too late. A few blasts of cum get in your eyes and sting them.'
+			else
 				act 'Point his cock at the floor':
 					cla
 					'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hand.jpg"></center>'
@@ -703,12 +709,6 @@ if $ARGS[0] = 'sex':
 					act 'Stand up': gt 'city_nightclubToilet', 'clubtoilet_men'
 				end
 				exit
-			elseif harakBoy = 2:
-				spafinloc = 11
-				gs 'cum_manage'
-				SUB += 1
-				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/sex/clubfacial.jpg"></center>'
-				'The guy grabs your hair and cums on your face. You quickly close your eyes, but it''s too late. A few blasts of cum get in your eyes and sting them.'
 			end
 			act 'Stand up': gt 'city_nightclubToilet', 'clubtoilet_men'
 		end

+ 2 - 2
locations/city_park.qsrc

@@ -40,7 +40,7 @@ if $ARGS[0] = 'start':
 	if hour >= 9 or hour <= 20:
 		'There is an all year <a href="exec:gt ''city_park'', ''luna''">fair</a> at the park, which you can visit.'
 	else
-		'There is an all year fair at the park, but it is closed. Opening hours from 9:00 to 21:00.'
+		'There is an all year fair at the park, but it is closed. Opening hours from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 21, 0, cheatVars['time_format'])+'.'
 	end
 
 	if car > 0 and cardrive = 5:
@@ -220,7 +220,7 @@ if $ARGS[0] = 'luna':
 	'<center><img <<$set_imgh>> src="images/locations/city/centralpark/luna.jpg"></center>'
 	'The fun fair sits in the heart of the park and attracts families, people on vacation, and loving couples from all over the town. It''s a popular gathering spot and a place to forget your worries for a few hours.'
 	*nl
-	'Opening hours are 9:00 to 21:00'
+	'Opening hours are '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 21, 0, cheatVars['time_format'])+''
 
 	if vladimirQW['stage'] = 0 and hour >= 9 and hour <= 20 and week > 5 and pcs_apprnc > 40:'<a href="exec:gt ''vladimirQW_loc''">There''s a strong looking man staring at you from the fences.</a>.'
 

+ 5 - 5
locations/city_redlight.qsrc

@@ -29,28 +29,28 @@ if $ARGS[0] = 'start':
 	if hour >= 18 or hour < 3:
 		'The bright lights and booming music of the <a href="exec:gt ''stripclub'', ''start''">Fuzzy Dice</a> strip club attract men from all over the city.'
 	else
-		'The strip club is closed for the day and will reopen at 18:00.'
+		'The strip club is closed for the day and will reopen at '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+'.'
 	end
 	if pornstudio > 0 and hour >= 10 and hour < 22:
 		'The <a href="exec:gt ''pornstudio'', ''start''">porn studio</a> is housed within one of the few warehouses that hasn''t been abandoned.'
 	elseif pornstudio > 0 and (hour < 10 or hour >= 22):
-		'The porn studio is closed and will reopen at 10:00.'
+		'The porn studio is closed and will reopen at '+func('time', 'get_time_string', 10, 0, cheatVars['time_format'])+'.'
 	end
 	if hour < 3 or hour >= 11:
 		'A <a href="exec:minut += 1 & gt ''shop_erotomaniac'', ''start''">seedy looking shop</a> that sells sex toys and other erotic merchandise is open for perverts from all around the city to browse its stock.'
 	else
-		'A seedy looking shop that sells sex toys and other erotic merchandise. It is currently closed and will reopen at 11:00.'
+		'A seedy looking shop that sells sex toys and other erotic merchandise. It is currently closed and will reopen at '+func('time', 'get_time_string', 11, 0, cheatVars['time_format'])+'.'
 	end
 	if bordel > 0 and func('bordel', 'is_open'): 'Inside the courtyard is the entrance to the <a href="exec:gt ''bordel''">brothel</a>.'
 	if hour >= 10:
 		'You see a small <a href="exec:gt ''city_redlight'',''city_copy_shop''">printing shop</a> tucked away between two larger buildings.'
 	else
-		'You see a small printing shop tucked away between two larger buildings. It is currently closed and will open at 10:00.'
+		'You see a small printing shop tucked away between two larger buildings. It is currently closed and will open at '+func('time', 'get_time_string', 10, 0, cheatVars['time_format'])+'.'
 	end
 		if hour >= 19 or hour < 2:
 		'A <a href="exec:gt ''hookahlounge'', ''start''">Hookah Lounge</a> sits on a corner, with Indian music and the scent of exotic spices streaming from an open door.'
 	else
-		'The Hookah Lounge is currently closed and will reopen at 19:00.'
+		'The Hookah Lounge is currently closed and will reopen at '+func('time', 'get_time_string', 19, 0, cheatVars['time_format'])+'.'
 	end
 
 	act 'Walk to the Industrial Region (0:05)': minut += 5 & gt 'city_industrial'

+ 5 - 5
locations/city_residential.qsrc

@@ -129,22 +129,22 @@ if hour >= 8 and hour <= 20:'The <a href="exec: minut += 3 & gt ''shop'', ''star
 if (hour >= 8 and hour <= 20) or preg = 2:
 	'The <a href="exec:gt ''city_clinic'', ''start''">clinic</a> is also nearby.'
 else
-	'The clinic is closed. It will open at 08:00.'
+	'The clinic is closed. It will open at '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'.'
 end
 if hour >= 6 and hour <= 9 and military = 1 and week = 6:
 	'There is a <a href="exec:minut += 60 & gt ''Military'', ''start''">military bus</a> waiting on the other side of the street.'
 elseif military = 1:
-	'The military bus will wait between 06:00 and 09:00 on Saturdays.'
+	'The military bus will wait between '+func('time', 'get_time_string', 6, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' on Saturdays.'
 end
 if hour >= 8 and hour <= 14 and week ! 1:
 	'You could go shopping at the local <a href="exec: minut += 10 & gt ''city_market'', ''start''">marketplace</a>.'
 else
-	'You could go shopping at the local marketplace, but it''s '+iif(week = 1, 'closed on Mondays.', 'only open between 08:00 and 15:00.')
+	'You could go shopping at the local marketplace, but it''s '+iif(week = 1, 'closed on Mondays.', 'only open between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 15, 0, cheatVars['time_format'])+'.')
 end
 if hour >= 8 and hour <= 15 and week < 6:
 	'Near the market is a <a href="exec: minut += 10 & gt ''city_market'', ''tailor''">tailor shop</a> where you can get your clothes resized if needed.'
 else
-	'Near the market is a tailor shop where you can get your clothes resized if needed. '+iif(week < 6, 'It closes at 16:00.', 'It''s closed on weekends.')
+	'Near the market is a tailor shop where you can get your clothes resized if needed. '+iif(week < 6, 'It closes at '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'.', 'It''s closed on weekends.')
 end
 if hour = 11 and week > 1 and week < 7 and workKafe['job'] = 1:
 	'The side door of <a href="exec: minut += 1 & gt ''city_kafe'', ''work''">The Roadhouse</a> diner is open, allowing you to enter and start your shift.'
@@ -153,7 +153,7 @@ elseif hour >= 12 and hour <= 20 and week ! 1:
 elseif hour > 20 and hour <= 3:
 	'You can hear some <a href="exec:gt ''gopnew'', ''start''">gopniks</a> laughing and swearing in the parking lot of The Roadhouse diner. The diner itself is currently closed.'
 else
-	'The Roadhouse diner is currently closed. It''s open between 12:00 and 20:00 every day except Monday.'
+	'The Roadhouse diner is currently closed. It''s open between '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+' every day except Monday.'
 end
 if clener >= 1 and hour >= 7 and hour <= 22: 'There''s a small office building where a <a href="exec: minut += 1 & gt ''city_smalloffice'', ''start''">cleaning lady</a> is needed.'
 

+ 1 - 1
locations/city_saunawhore.qsrc

@@ -31,7 +31,7 @@ if $ARGS[0] = 'saunawork':
 	'<center><b><font color="maroon">Sauna</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/sauna/sauna1.jpg"></center>'
 	''
-	'The sauna is open to "customers" between 08:00 and 00:00.'
+	'The sauna is open to "customers" between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 0, 0, cheatVars['time_format'])+'.'
 	'All the walls are covered in <a href="exec:gt ''mirror'', ''start''">mirrors</a>.'
 
 	if saunaWorkNow = 1:

+ 2 - 2
locations/city_smalloffice.qsrc

@@ -16,7 +16,7 @@ if $ARGS[0] = 'start':
 		if hour >= 8 and hour <= 16 and week < 6:
 			'The door to the<a href="exec:gt ''city_trademission''">Trade Mission</a> is open.'
 		else
-			'The door of the trade mission is closed. There''s a note on the door, Open hours: Saturday and Sunday 8:00--16:00'
+			'The door of the trade mission is closed. There''s a note on the door, Open hours: Saturday and Sunday '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'--'+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+''
 		end
 	end
 
@@ -327,7 +327,7 @@ if $ARGS[0] = 'start':
 				act 'You''re ashamed of me?':
 					cla
 					'You let go off your cleaning stuff and look straight into Yuri''s eyes, asking him, "Are you ashamed of me?"'
-					'Yuri stammers, "I-I''m not embarrassed by you being a cleaner, but you must understand, I''m a manager, and you''re the cleaning lady. We must not be seen together. But I want you to keep seeing you. You know where I live, come by my place after 16:00."'
+					'Yuri stammers, "I-I''m not embarrassed by you being a cleaner, but you must understand, I''m a manager, and you''re the cleaning lady. We must not be seen together. But I want you to keep seeing you. You know where I live, come by my place after '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'."'
 
 					gs 'willpower', 'misc', 'self'
 					if will_cost <= pcs_willpwr:

+ 14 - 13
locations/city_trademission.qsrc

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

+ 0 - 9
locations/clothing.qsrc

@@ -1859,15 +1859,6 @@ if $ARGS[0] = 'strip_code':
 	PCloCoverBack = 4
 	PCloCoverFront = 4
 
-	PShoQuality = 0
-	PShoCut = 0
-	PShoHeels = 0
-	PShoStyle = 0
-	PShoStyle2 = 0
-	PShoBimbo = 0
-	PShoGoth = 0
-	PShoPunk = 0
-
 	gs 'outfit', 'set_tags'
 
 	gs 'outfit', 'exposure_calc'

Файловите разлики са ограничени, защото са твърде много
+ 840 - 420
locations/clothing_QV.qsrc


+ 2 - 2
locations/courtletter.qsrc

@@ -176,7 +176,7 @@ if $ARGS[0] = 'letter':
 			end
 
 			'<i>Failing to appear in court will have dire consequences for the accused.</i> Your heart drops as you read that line...'
-			'<i>The court is located in the city center. You should arrive at 9:00 as there are a lot of cases and we can''t say when your turn might come up.</i>'
+			'<i>The court is located in the city center. You should arrive at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' as there are a lot of cases and we can''t say when your turn might come up.</i>'
 			'You put the letter back in the envelope and let out a loud sigh...'
 
 		else
@@ -211,7 +211,7 @@ if $ARGS[0] = 'letter':
 			end
 
 			'<i>Failing to appear in court will have dire consequences for the accused.</i> Your heart drops as you read that line...'
-			'<i>The court is located in the city center. You should arrive at 9:00 as there are a lot of cases and we can''t say when your turn might come up.</i>'
+			'<i>The court is located in the city center. You should arrive at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' as there are a lot of cases and we can''t say when your turn might come up.</i>'
 			'You put the letter back in the envelope and let out a loud sigh...'
 
 		else

+ 10 - 8
locations/cum_call.qsrc

@@ -30,33 +30,34 @@ gs 'cum_call', 'anus', 'plumber' - for an unknown partner named "plumber"}
 
 if $ARGS[0] ! 'precum':
 	$cumboy = $boy
+	$cumnpc = $npcID
 
-	if $boy ! $ARGS[1] and $ARGS[1] ! '': $boy = $ARGS[1]
+	if $boy ! $ARGS[1] and $npcID ! $ARGS[1] and $ARGS[1] ! '': $boy = $ARGS[1] & $npcID = $ARGS[1]
 
 	!!This check if the name passed is not in the new MGX format
 	if $ARGS[1] = '' or isnum(mid($ARGS[1],2)) = 0:
 		if ARGS[2] = 0 or ARGS[2] = 2:
 			gs 'npcgeneratec', 0, $ARGS[1], rand(18,60), 0, 1
-			gs 'boyStat', $npclastgenerated
+			gs 'npcStat', $npclastgenerated
 		elseif ARGS[2] = 1:
 			tempnpcid = arrpos('$npc_usedname', $ARGS[1])
 			if tempnpcid > 0:
-				gs 'boystat', tempnpcid
+				gs 'npcStat', tempnpcid
 				'<br><b><font color="teal">DEVELOPER WARNING: Legacy name cum_call needs upgrade from <<$ARGS[1]>> to A<<tempnpcid>></font></b>'
 			else
 				MSG 'There has been an error in the cum_call code. Please contact a developer with what you were doing prior to receiving this message so the error may be fixed. Error type: Improper value for cum_call. Name <<$ARGS[1]>>'
-				gs 'boyStat', 'D0'
+				gs 'npcStat', 'D0'
 			end
 		end
 	else
-		gs 'boyStat', $ARGS[1]
+		gs 'npcStat', $ARGS[1]
 	end
 
 	sexvolume  = iif(ARGS[5] ! 0,  ARGS[5], 40)
 	sexspecpot = ARGS[4]
 	sexcontra  = max(0, min(7, ARGS[3]), sexcontra)
 
-	sexpartkno = iif(npc_love[$boy] > 0, 1, 0)
+	sexpartkno = iif(npc_love[$npcID] > 0, 1, 0)
 	if ARGS[2] = 2:
 		sexunaware = 1
 	elseif ARGS[2] = 1:
@@ -109,10 +110,11 @@ if $ARGS[0] ! 'precum':
 		!Vagina and default
 	end
 
-	!{'boy <<$boydesc>> loc <<spafinloc>> contra <<sexcontra>> vol <<sexvolume>> ppt <<sexspecpot>> know <<sexpartkno>> unaware <<sexunaware>> cumboy <<$cumboy>>'}
+	!{'boy <<$npcdesc>> loc <<spafinloc>> contra <<sexcontra>> vol <<sexvolume>> ppt <<sexspecpot>> know <<sexpartkno>> unaware <<sexunaware>> cumboy <<$cumnpcID>>'}
 
 	gs 'Cum_Manage'
-	if $cumboy ! '': $boy = $cumboy & killvar '$cumboy'
+	if $cumboy ! '': $boy	= $cumboy	& killvar '$cumboy'
+	if $cumnpc ! '': $npcID	= $cumnpc	& killvar '$cumnpc'
 	sexcontra = 0
 else
 	!This is to check for pregnancy and stds from precum. It is added for readability when it is used in the code.

+ 9 - 8
locations/cum_cleanup.qsrc

@@ -139,6 +139,7 @@ elseif $ARGS[0] = 'reset':
 	cumsumass = 0
 	Enable_clearcum = 0
 elseif $ARGS[0] = '':
+	if ARGS[0] ! 0: cumspclnt = ARGS[0]
 	if cumspclnt = 0: exit
 	KILLVAR 'spafinloc'
 	killvar 'toclean'
@@ -276,8 +277,8 @@ elseif $ARGS[0] = '':
 			!! vagina
 			if sparrloc[n] = 0:
 				!! cannot be completely cleaned with tissues\toilet use\hypno block\no enema kit
-				if FUNC('Cum_Manage', 'check_innards', sparrloc[n]) = 1 _ 
-				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _ 
+				if FUNC('Cum_Manage', 'check_innards', sparrloc[n]) = 1 _
+				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _
 				and (cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3)))):
 					cumsumbod -= sparrvol[n] & cumsumvag -= sparrvol[n]
 					sparrslc[n] = 0 & sparrvol[n] = 0
@@ -285,8 +286,8 @@ elseif $ARGS[0] = '':
 				end
 			!! ass
 			elseif sparrloc[n] = 3:
-				if FUNC('Cum_Manage', 'check_innards', sparrloc[n]) = 1 or cumspclnt = 7 _ 
-				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _ 
+				if FUNC('Cum_Manage', 'check_innards', sparrloc[n]) = 1 or cumspclnt = 7 _
+				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _
 				and (cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3)))):
 					cumsumbod -= sparrvol[n] & cumsumass -= sparrvol[n]
 					sparrslc[n] = 0 & sparrvol[n] = 0
@@ -302,16 +303,16 @@ elseif $ARGS[0] = '':
 		if tmp ! -1 and tmp < arrsize('toclean') and sparrvol[n] > 0:
 			!! vagina
 			if sparrloc[n] = 0:
-				if cumsumvag * rand(6, 9) / 6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[n], 1) and isprok = 0 and vibratorIN = 0 _ 
-				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _ 
+				if cumsumvag * rand(6, 9) / 6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[n], 1) and isprok = 0 and vibratorIN = 0 _
+				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _
 				and (cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3)))):
 					gs 'cum_cleanup', 'cleandeposit', n
 					if cumspclnt = 3: isprok = 0 & vibratorIN = 0
 				end
 			!! ass
 			elseif sparrloc[n] = 3:
-				if (cumsumass * rand(6, 9) / 6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[n], 1) and analplugin = 0) or cumspclnt = 7 _ 
-				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _ 
+				if (cumsumass * rand(6, 9) / 6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[n], 1) and analplugin = 0) or cumspclnt = 7 _
+				or (hypnoAddict = 0 and (cheatVars['enema'] = 1 or (mc_inventory['enema_kit'] = 1 _
 				and (cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3)))):
 					gs 'cum_cleanup', 'cleandeposit', n
 					if cumspclnt = 3 or cumspclnt = 7: analplugin = 0

+ 5 - 23
locations/dachain.qsrc

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

+ 26 - 13
locations/dachi.qsrc

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

+ 39 - 39
locations/dateF.qsrc

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

+ 50 - 50
locations/dateM.qsrc

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

+ 7 - 4
locations/dimaHome.qsrc

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

+ 2 - 28
locations/din_bad.qsrc

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

+ 60 - 56
locations/din_van.qsrc

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

+ 2 - 2
locations/directors.qsrc

@@ -59,9 +59,9 @@ if $ARGS[0] = 'fuck1':
 			end
 		end
 		act'Cumming':
-			gs 'cum_call', '', '<<$boydesc[0]>>', 1, 'rough'
+			gs 'cum_call', '', $boy, 1, 'rough'
 			cla & *clr
-			
+
 			'"Ugh! I''m cumming!"'
 			'"Don''t ruin the costume!" you protest. In response he drives his cock as deep as it can go inside you and starts cumming. You feel his sperm splashing around inside you.'
 			'"Oh come on! Now I have to spend the whole day filming with your spunk dripping out of me."'

+ 3 - 3
locations/emp_job_array.qsrc

@@ -38,7 +38,7 @@ if $ARGS[0] = 'emp_tourist_guide':
 	$emp_job_loc[j_id] = 'Pavlosk Park'
 
 	!! Job notes - to remind the player of the job details
-	$emp_job_notes[j_id] = 'Summer job with flexible days - start between 08:00 and 09:00'
+	$emp_job_notes[j_id] = 'Summer job with flexible days - start between '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+''
 
 	if emp_job_status[j_id] < 1:
 		!! Job status 1 Employed, 2 Started with favor, 3 Started with merit, 4 Terminated/suspended, 5 Fired permanently - REQ. <= 10 reserved for core mechanics, 10 + for custom quest markers
@@ -60,7 +60,7 @@ if $ARGS[0] = 'emp_pav_maid':
 	emp_job_end[j_id] = 40
 	emp_job_wages[j_id] = 375
 	$emp_job_loc[j_id] = 'Pavlosk Park'
-	$emp_job_notes[j_id] = 'Be at the Pavlosk Hotel reception between 16:00-17:00 to start your shift.'
+	$emp_job_notes[j_id] = 'Be at the Pavlosk Hotel reception between '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'-'+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+' to start your shift.'
 	if emp_job_status[j_id] < 1:
 		emp_job_status[j_id] = 0
 	end
@@ -108,7 +108,7 @@ if $ARGS[0] = 'emp_titran':
 	$emp_job_title[j_id] = 'Secretary'
 	emp_job_wages[j_id] = 1500
 	$emp_job_loc[j_id] = 'Titran-Express Engineering'
-	$emp_job_notes[j_id] = 'You work as a secretary at Titran Express. You need to come to work by 09:00 during the week Monday-Friday. Salary is automatically transferred on the 25th of each month.'
+	$emp_job_notes[j_id] = 'You work as a secretary at Titran Express. You need to come to work by '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' during the week Monday-Friday. Salary is automatically transferred on the 25th of each month.'
 
 	if emp_job_status[j_id] < 1:
 		emp_job_status[j_id] = 0

+ 1 - 1
locations/etoexhib.qsrc

@@ -765,7 +765,7 @@ if $ARGS[0] = 'pos19' or $ARGS[0] = '':
 				gs 'stat'
 				'<center><b><font color="maroon">Personnel department</font></b></center>'
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/altschool/ptu_cadr.jpg"></center>'
-				'"Hello!" Welcomes the Human Relations employee. She tells you that they need a certified teacher. Working days are Monday to Saturday from 14:00 to 16:00. The pay is 300 <b>₽</b> per day, plus a room in a hostel. The terms of the contract say that, because they pay a full salary, at the moment there are no free meals. There is a strict dress code: business attire is required. Also, it is not recommended for women to have bright makeup or strong perfume.'
+				'"Hello!" Welcomes the Human Relations employee. She tells you that they need a certified teacher. Working days are Monday to Saturday from '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'. The pay is 300 <b>₽</b> per day, plus a room in a hostel. The terms of the contract say that, because they pay a full salary, at the moment there are no free meals. There is a strict dress code: business attire is required. Also, it is not recommended for women to have bright makeup or strong perfume.'
 
 				if university['diploma'] = 1 or university['fakediplom'] = 1:
 					act 'Pass an interview for a job':

+ 145 - 173
locations/event.qsrc

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

Някои файлове не бяха показани, защото твърде много файлове са промени