156 次代碼提交 1237995471 ... 6beeaf0bff

作者 SHA1 備註 提交日期
  anjuna krokus 6beeaf0bff [fixed/changed] Bug in AppearanceSystem. Reported by Skylah, found by Felix, caused by Kevin. Rewrote some logic and exported the bmi checks to `pcs_has_attr` and `body_structure`. 5 月之前
  anjuna krokus 0f6c6bfd34 [fixed] Changed the order of acts even though I shouldn't. 5 月之前
  Kevin_Smarts 446a5b2207 Merge branch 'master' of azdraik/glife into master 5 月之前
  Kevin_Smarts 40f5a60783 Merge branch 'master' of awatar/glife into master 5 月之前
  Kevin_Smarts bbd2942102 [fixed] was returning negative bonus for underwear in appearance if not wearing any 5 月之前
  Kevin_Smarts 76058b68b1 [fixed] a few duplicate lines and one was breaking shit 5 月之前
  anjuna krokus 977a21c3c8 [fixed] Radomir not showing up at school grounds when using the table. Reported by Dark Ether, problem found by Skylah 5 月之前
  Kevin_Smarts a597c7744c Merge remote-tracking branch 'Hooded_Silence/master' 5 月之前
  Myles Croft (Hooded Silence) 1636961129 [Bug Fixes] Fix game breaking bug in home kitchen due to npc migration and fixed $loc bugs for ballet secrets shuffle. Corrected wrong variable type in elene's schedule. 5 月之前
  Kevin_Smarts 49c412fecf Merge remote-tracking branch 'Hooded_Silence/master' 5 月之前
  Myles Croft (Hooded Silence) 0d6adc0c0e [Bug fix] Removed line duplication due to branch merge 5 月之前
  Myles Croft (Hooded Silence) 12876c03ed forgot to save the colon. 5 月之前
  Myles Croft (Hooded Silence) 106d89b108 [Code clean up] Clean up code validation errors. 5 月之前
  Myles Croft (Hooded Silence) ab25807618 Merge branch 'Beta' 5 月之前
  anjuna krokus 9feeb455fb [fixed] Forgot to reset the pregnancy pics to the old version 5 月之前
  anjuna krokus b6bdb6efa7 [fixed/added] Extracted repeated library code to a `library_functions` location. Fixed an issue with the loaned books 5 月之前
  anjuna krokus 28e7767e73 Merge remote-tracking branch 'master/master' 5 月之前
  Myles Croft (Hooded Silence) 528038eacb Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  Myles Croft (Hooded Silence) 38c7a81f49 no message 5 月之前
  Kevin_Smarts 1e25ca930a [fixed] A number of platform shoes with high heel values in error. 5 月之前
  Kevin_Smarts 8f24fe37a8 Merge remote-tracking branch 'Anjuna/master' 5 月之前
  Kevin_Smarts 423e7109bb Merge remote-tracking branch 'Awesome/master' 5 月之前
  Kevin_Smarts 1f0697c863 [fixed] typo and duplicate sentences for both options spotted by yoyodyne 5 月之前
  anjuna krokus 61dfa0728a [fixed] Mitka now properly uses the right `gt $loc, $loc_arg` structure. Reported by Vladzilla, problem found by Xtirp8 5 月之前
  User Namovich ecbacf7ffb [added] missing space 5 月之前
  User Namovich eda9ef9cae [fixed] 'condom_steal' talk/hear event 5 月之前
  anjuna krokus 8219c8a504 [fixed] accidentally pushed an unreleased image feature 5 月之前
  anjuna krokus f4716e4c0f [fixed] Chat with Iron Lung vladimir in `buklinik_event` leading to a blank screen. Reported by Honey 5 月之前
  anjuna krokus bb6584b19b [fixed] typo and duplicate code. Reported by Azdraik 5 月之前
  anjuna krokus 7c14f84cb1 [changed] `torgcentr` to `city_mall` 5 月之前
  anjuna krokus 578c70a826 [changed] Removed empty screen when taking a music lesson, simplyfing the code as a byproduct 5 月之前
  anjuna krokus 08024a9eed [changed] Changes to the code for clothing and shops. Extracted most (if not all) totals to their respective files (clothing, bras, panties, purses, coats, shoes). Renamed various shops to have a similar name structure (shop_{...}). Used `i = 1 + (Cloathingstock / m) mod n` structures so that shop inventory has semi-independent randomization. Simplified code structures, removed unnecessary code, and removed trailing spaces. 5 月之前
  Awesome e0ec5e6f58 [Added] Versions to the stat explanation tables so they don't have to be rebuilt on every visit 5 月之前
  anjuna krokus 68d65347a5 [changed] `gad_market` to `gad_store` in preparation for the introduction of the farmers market (to avoid confusion) 5 月之前
  anjuna krokus a4756c3e12 [fixed] Wrong use of `arrpos` caused the camera to stop working 5 月之前
  anjuna krokus 86cd578beb [fixed] Moisuriser count wasn't bolded. Reported by deuslinks 5 月之前
  anjuna krokus e0bc788c69 [changed] The body image, body description, and bmi description are now updated once per day (or on cheats). This opens the way for more random images/descriptions 5 月之前
  anjuna krokus bb87ea555c [fixed] forgotten m in `city_commcenter` caused a bug 5 月之前
  anjuna krokus ec0e009d8b [changed] Full removal of the last (I think) vestiges of `salo` and `salocat` 5 月之前
  anjuna krokus a7418bfc8a [changed/fixed] Small rewrite of the park jogging logic to prevent wrong messages 5 月之前
  Kevin_Smarts 05c08dfa8a Merge remote-tracking branch 'Anjuna/master' 5 月之前
  anjuna krokus 9eb4abdc3b [changed/fixed] `bk` to `city_commcenter`. Fixed multiple bugs related to the payments there, simplified logic. 5 月之前
  anjuna krokus 4b3a293844 [fixed] Sense to since 5 月之前
  anjuna krokus 13c2f0684a [changed/removed] Changed the logic of `drinking_game` to be an actual fuction. Removed trailing spaces, changed spaces into tabs 5 月之前
  anjuna krokus 2d0f1d5e33 [fixed] chaffing to chafing + removed trailing spaces 5 月之前
  Myles Croft (Hooded Silence) fd66da1af5 [Failed Merge] Failed merge of mainline due to connection outage, removing stream data from file. 5 月之前
  Myles Croft (Hooded Silence) c05a0056e0 no message 5 月之前
  Myles Croft (Hooded Silence) 7db520d85f [code migration] ballet migration for npcs and structure, and initial gad changes to grandparents dacha 5 月之前
  bgkjdgbizgblzdgbr 59b21bbfd0 [fixed] You should not used your own drugs when you are offered it by somebody else. 5 月之前
  bgkjdgbizgblzdgbr c9fe5c9f2b [fixed] Always use perenthisis that way you are sure the logic is correct. 5 月之前
  Lusticon ae08dda20f [changed] more secure int ARGS set 5 月之前
  Awesome a068f989be [Fixed] Wrong location call 5 月之前
  bgkjdgbizgblzdgbr 956a69a654 [fixed] Missing *clr & cla and wrong file extension for images. 5 月之前
  bgkjdgbizgblzdgbr c46f585aa0 [text edit] Made the sentece better. I hope. 5 月之前
  anjuna krokus 34eb838979 [fixed] Feofan shouldn't approach you on monday about the D&D night. This is to prevent easy conflicts with the SMS invite 5 月之前
  Kevin_Smarts b72499e420 [fixed] Shirt and skirt labelled as a dress 5 月之前
  Lusticon 4c2e801480 [fixed] missing ARGS 5 月之前
  anjuna krokus ea479ccfef [fixed] `pubes` to `pcs_pubes` 5 月之前
  anjuna krokus 0f1e95441f [fixed] Accidentally overwrote the therapist stat message instead of adding to it 5 月之前
  anjuna krokus 889d765dd8 [added/removed] Added the "shave hair" hypno event to the therapist. Removed trailing spaces 5 月之前
  anjuna krokus 9c61e299f0 [added/removed] Added the experimental trials pharmacy. Removed trailing traces 5 月之前
  Kevin_Smarts 734fffbf03 [fixed] misspelt variable spotted by Honey 5 月之前
  Kevin_Smarts c221147414 [added] updates for release 5 月之前
  anjuna krokus 0b87aa8963 [removed] Trailing Spaces 5 月之前
  anjuna krokus 6255ba365d [fixed] Open `clr` removed earlier content 5 月之前
  anjuna krokus f4cbab998e [fixed] Small trexting error 5 月之前
  azdraik 101c21d867 Case syncing of noShampoo 5 月之前
  anjuna krokus a0d1f5e77b [fixed] more bugfixes 5 月之前
  anjuna krokus 471af96da2 [fixed] stop saving empty preferences 5 月之前
  anjuna krokus ab694e46d0 [fixed/changed] Fixed an issue with the `npc_set_preference, rebuild_preferences` function. Combined `$npc_preferences` and `$npc_pref_values` into a singular array 5 月之前
  Lusticon 8c9833f2be Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  Lusticon 060389512e [fixed] sell acts 5 月之前
  anjuna krokus 384751d5fe [fixed] Space at the wrong place was creating blank screens 5 月之前
  anjuna krokus 746f3d9d2c [fixed] Pharmacy not unlocking from the KBI trial 5 月之前
  Kevin_Smarts 0511304b4e Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  Kevin_Smarts ddc5ffacf7 Merge remote-tracking branch 'origin/master' 5 月之前
  Kevin_Smarts d91487dc36 Merge remote-tracking branch 'Lusticon/master' 5 月之前
  Kevin_Smarts f20973f624 Merge remote-tracking branch 'Awesome/master' 5 月之前
  Kevin_Smarts b962e2db7b Merge remote-tracking branch 'Anjuna/master' 5 月之前
  bgkjdgbizgblzdgbr 8d0adf19d8 [fixed] You should not used your own drugs when you are offered it by somebody else. 5 月之前
  bgkjdgbizgblzdgbr 0aa6ef6aff [fixed] Always use perenthisis that way you are sure the logic is correct. 5 月之前
  Lusticon e246208127 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  Lusticon 6482567e11 [changed] more secure int ARGS set 5 月之前
  Awesome a789d7f39b [Fixed] Wrong location call 5 月之前
  bgkjdgbizgblzdgbr a0d0ca49f8 [fixed] Missing *clr & cla and wrong file extension for images. 5 月之前
  bgkjdgbizgblzdgbr 67323651a3 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  bgkjdgbizgblzdgbr dcafe54806 [text edit] Made the sentece better. I hope. 5 月之前
  Kevin_Smarts 4c2f87bc9b [fixed] Shirt and skirt labelled as a dress 5 月之前
  anjuna krokus 08b2ae96f1 [fixed] Feofan shouldn't approach you on monday about the D&D night. This is to prevent easy conflicts with the SMS invite 5 月之前
  Lusticon 31345adfd2 [fixed] missing ARGS 5 月之前
  Myles Croft (Hooded Silence) 69bab7c643 Merge commit 'e3f6b1cc40084e958a21c3b6af1ea5dca8972a6c' into Beta 5 月之前
  anjuna krokus 5e8154a9b0 [fixed] `pubes` to `pcs_pubes` 5 月之前
  anjuna krokus c7700ff8ae [fixed] Accidentally overwrote the therapist stat message instead of adding to it 5 月之前
  anjuna krokus 8468161c16 [added/removed] Added the "shave hair" hypno event to the therapist. Removed trailing spaces 5 月之前
  anjuna krokus f450b730c9 [added/removed] Added the experimental trials pharmacy. Removed trailing traces 5 月之前
  Kevin_Smarts 9680804ec9 [fixed] misspelt variable spotted by Honey 5 月之前
  Kevin_Smarts 92ab749fe8 [added] updates for release 5 月之前
  Kevin_Smarts e3f6b1cc40 Merge remote-tracking branch 'Lusticon/master' 5 月之前
  Myles Croft (Hooded Silence) db2dea07f1 [File maintenance] changed ballet secrets to pushkin_ballet_secrets to reflect naming convention and updated locations 5 月之前
  Lusticon 070baa247f [added] search by DNA 5 月之前
  Lusticon 11358c0fb1 [changed] random generated npc horny based on PC attractiveness 5 月之前
  Lusticon 3ab86c40bf [added] pattern npc DNA instruction 5 月之前
  Kevin_Smarts 40f7dcdeb3 [fixed] it said pants not panties and I got confused 5 月之前
  Kevin_Smarts f2a1c9f439 [fixed] Wrong willpower check as spotted by bg 5 月之前
  Kevin_Smarts b7ee82efcc [fixed] no panty check for scene 5 月之前
  Kevin_Smarts 1f59ec8f21 [fixed] Hotel rental check to prevent staying there forever for free 5 月之前
  Kevin_Smarts d1d9c6db99 Merge remote-tracking branch 'Anjuna/master' 5 月之前
  Kevin_Smarts d324cf5282 Merge remote-tracking branch 'Lusticon/master' 5 月之前
  Kevin_Smarts 9dc6ee239f Merge remote-tracking branch 'Awesome/master' 5 月之前
  Kevin_Smarts 4572a7ba9b Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  anjuna krokus 22b0b1bec1 Merge remote-tracking branch 'master/master' 5 月之前
  bgkjdgbizgblzdgbr f680280944 [fixed] Stopped teleportation form nush room in the city to her room in pav, couse by bad cut and paste and a overwriting return loc code. 5 月之前
  Lusticon dfc8a26259 [added] qsp_parser new version and integration instructions 5 月之前
  Lusticon 046c9ff872 [fixed] string vs integer 5 月之前
  Lusticon 24fe778075 [changed] simplified string output 5 月之前
  Lusticon 8fe5c44b40 [changed] 'if' order check 5 月之前
  Lusticon e6871272bb [fixed] string vs integer 5 月之前
  Lusticon aa383ed57a [fixed] string vs integer, vars checks, pic path 5 月之前
  Lusticon ff8653320f Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  Kevin_Smarts 4c682376c5 [text edit] missing space spotted by esoom on f95 5 月之前
  anjuna krokus 249ce2e853 [changed/removed] changed spaces into tabs, removed trailing spaces 5 月之前
  anjuna krokus 43a5c0d579 Merge remote-tracking branch 'master/master' 5 月之前
  Kevin_Smarts 2a0284ff5a [fixed] a couple of inconsistencies and a wrong variable 5 月之前
  Awesome cf1504a414 [Fixed] Imagepaths again 5 月之前
  Awesome 961fb69c77 [Fixed] Some more imagepaths 5 月之前
  anjuna krokus f15ecc70a2 [added] `.log` files to the gitignore 5 月之前
  Awesome d07d7f1d57 [fixed] some imagepaths 5 月之前
  anjuna krokus 8552d83783 [fixed] replaced dead 'audition' calls with an option to back out. Removed trailing spaces and unneeded *clr & cla calls 5 月之前
  anjuna krokus 42bdc67005 [changed] fixed some typos in `stat_explenations`, and changed "player character" to use her first name instead 5 月之前
  anjuna krokus 344c7b55c8 [removed] trailing spaces 5 月之前
  anjuna krokus 3faa406003 [fixed/removed] `'rad_bedroom', 'radroom'` should just be `'radapt', 'bedroom'`. 5 月之前
  anjuna krokus 949b871b88 [fixed/removed] `rapapt` should be `radapt`. Removed trailing spaces 5 月之前
  anjuna krokus b279797a22 [fixed/removed] `booty_call_start` doesn't exist and should be `booty_call`. Removed trailing spaces 5 月之前
  anjuna krokus cdb36ba7fb Merge remote-tracking branch 'master/master' 5 月之前
  Kevin_Smarts 345ededcf8 Merge remote-tracking branch 'origin/master' 5 月之前
  Kevin_Smarts 3829a651af Merge remote-tracking branch 'Anjuna/master' 5 月之前
  anjuna krokus 57df6999c4 Merge remote-tracking branch 'master/master' 5 月之前
  bgkjdgbizgblzdgbr 66562423c1 [fixed] Cheatmenu unecessarily set the floor and cealing for skills and attributes, which the gs 'stat' just before already does. Except the cheatmenu used the wrong formula (not acounting for succubus) and violated the prinible of which variables that can be cahnged outside stat_sklattrib. 5 月之前
  Lusticon 1242268e13 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  anjuna krokus 92b71338b9 [fixed/changed] succubus appearance bonus fixed. Simplefied another calculation 5 月之前
  anjuna krokus 7337acd054 [changed/removed] Changed how long Mira will hang out at the grandparents on a rainy day waiting for you. Removed traling spaces. 5 月之前
  anjuna krokus 70f3787b91 [fixed] Succubus not properly moving towards optimal weight (22.5 BMI). Removed trailing spaces. Simplified some code 5 月之前
  Awesome 95b7a098af [Fixed] even more Maksim stuff 5 月之前
  Awesome 21259da7ba [Fixed] this as well 5 月之前
  Awesome df06d8c82b [Fixed] more maksim fixes 5 月之前
  Awesome 31269d2dd8 [Fixed] Some Maksim bugs 5 月之前
  Kevin_Smarts 20c7b46409 Merge remote-tracking branch 'Anjuna/master' 5 月之前
  Kevin_Smarts 8b40c8820f Merge remote-tracking branch 'Awesome/master' 5 月之前
  Kevin_Smarts 72fc977e8b Merge remote-tracking branch 'Hornguy6/master' 5 月之前
  anjuna krokus 73441aa634 [fixed] Kolka shave scene not having the correct logic. Reported by Serina 5 月之前
  Awesome 3eda4edd50 [Fixed] Wrong variable 5 月之前
  hornguy6 474f1fda17 [fixed] dead ends relating to creampies and condoms 5 月之前
  Lusticon 9a03d9ea79 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 5 月之前
  Myles Croft (Hooded Silence) c105c941dc no message 5 月之前
  Myles Croft (Hooded Silence) 3cd8feb22a Merge commit '27161209886c4c7be46ce9eda46b09523cfa6beb' into Beta 5 月之前
  Myles Croft (Hooded Silence) cc4186e69b [Beta Branch] code for testing purpose away from GL main branch, npc migration and various locations updated. untested code and is WIP, there will be hungry dragons. 6 月之前
共有 100 個文件被更改,包括 2728 次插入4734 次删除
  1. 2 1
      .gitignore
  2. 18 17
      glife.qproj
  3. 73 115
      locations/AppearanceSystem.qsrc
  4. 6 34
      locations/Cheatmenu_din.qsrc
  5. 2 0
      locations/HotelRoom.qsrc
  6. 1 1
      locations/KGstart.qsrc
  7. 1 1
      locations/MeynoldHome.qsrc
  8. 8 9
      locations/NPCChanger.qsrc
  9. 34 34
      locations/RimmaSexQW.qsrc
  10. 1 1
      locations/SMS_selfies.qsrc
  11. 1 1
      locations/SMStext_builder.qsrc
  12. 0 1
      locations/_attributes_cats_dress.qsrc
  13. 4 4
      locations/_attributes_cats_shoes.qsrc
  14. 56 56
      locations/_attributes_dolls_shoes.qsrc
  15. 0 1
      locations/_body_image.qsrc
  16. 7 7
      locations/agentned.qsrc
  17. 64 64
      locations/albina_chat.qsrc
  18. 1 0
      locations/albina_starlets.qsrc
  19. 3 2
      locations/anush_bedroom_city.qsrc
  20. 2 2
      locations/anushapt.qsrc
  21. 6 6
      locations/anushapt_city.qsrc
  22. 4 4
      locations/anushaptbr.qsrc
  23. 8 9
      locations/anushkachat_city.qsrc
  24. 0 7
      locations/anushkaev1.qsrc
  25. 2 2
      locations/anushkaev2.qsrc
  26. 4 1
      locations/anushkamaksim.qsrc
  27. 10 32
      locations/arousal.qsrc
  28. 1 1
      locations/artem_chebotarev_schedule.qsrc
  29. 5 5
      locations/artem_dorm.qsrc
  30. 30 30
      locations/artem_nush_sex.qsrc
  31. 29 29
      locations/artem_nush_sex_uni.qsrc
  32. 21 25
      locations/bedrPar.qsrc
  33. 7 7
      locations/billiard.qsrc
  34. 16 16
      locations/billsvid.qsrc
  35. 6 6
      locations/blackmailer.qsrc
  36. 51 77
      locations/body.qsrc
  37. 30 43
      locations/body_desc.qsrc
  38. 277 106
      locations/body_structure.qsrc
  39. 10 10
      locations/booty_call.qsrc
  40. 5 5
      locations/bouling.qsrc
  41. 3 9
      locations/boyStat.qsrc
  42. 37 18
      locations/bras.qsrc
  43. 19 16
      locations/brother_voyeur.qsrc
  44. 0 636
      locations/budgetclothes.qsrc
  45. 5 4
      locations/buklinik_event.qsrc
  46. 6 6
      locations/camera.qsrc
  47. 35 35
      locations/cikl.qsrc
  48. 49 0
      locations/city_canal.qsrc
  49. 2 2
      locations/city_center.qsrc
  50. 125 112
      locations/city_commcenter.qsrc
  51. 3 3
      locations/city_experimental_trials.qsrc
  52. 5 5
      locations/city_experimental_trials_events.qsrc
  53. 22 22
      locations/city_experimental_trials_list.qsrc
  54. 17 2
      locations/city_experimental_trials_pharmacy.qsrc
  55. 2 0
      locations/city_hotel.qsrc
  56. 3 3
      locations/city_industrial.qsrc
  57. 40 237
      locations/city_library.qsrc
  58. 28 28
      locations/city_mall.qsrc
  59. 16 124
      locations/city_mansion_residence_2.qsrc
  60. 59 73
      locations/city_market.qsrc
  61. 32 32
      locations/city_musicstore.qsrc
  62. 67 66
      locations/city_park.qsrc
  63. 8 8
      locations/city_redlight.qsrc
  64. 3 3
      locations/city_residential.qsrc
  65. 6 6
      locations/city_saunawhore.qsrc
  66. 12 10
      locations/city_trashplaceevents.qsrc
  67. 30 22
      locations/clothing.qsrc
  68. 26 11
      locations/coats.qsrc
  69. 1 1
      locations/core_library.qsrc
  70. 11 11
      locations/dateF.qsrc
  71. 51 31
      locations/din_van.qsrc
  72. 73 13
      locations/drugs.qsrc
  73. 5 8
      locations/emp_functions.qsrc
  74. 8 8
      locations/event.qsrc
  75. 23 102
      locations/events.qsrc
  76. 6 21
      locations/gad_field.qsrc
  77. 1 1
      locations/gad_forest_lost.qsrc
  78. 5 3
      locations/gad_gpbath.qsrc
  79. 107 1601
      locations/gad_gphouse.qsrc
  80. 12 12
      locations/gad_store.qsrc
  81. 22 33
      locations/gad_swamphouse.qsrc
  82. 4 2
      locations/gadukino.qsrc
  83. 15 15
      locations/goplust.qsrc
  84. 53 0
      locations/gp_elene_schedule.qsrc
  85. 2 2
      locations/grandmahelp.qsrc
  86. 20 20
      locations/gschool_chats.qsrc
  87. 5 4
      locations/gschool_grounds.qsrc
  88. 31 31
      locations/gschool_lessons.qsrc
  89. 10 4
      locations/gschool_lessonsev1.qsrc
  90. 5 5
      locations/gschool_lunch.qsrc
  91. 27 27
      locations/hairsalon.qsrc
  92. 5 7
      locations/homes_properties.qsrc
  93. 14 9
      locations/hourly_events.qsrc
  94. 1 1
      locations/igorev.qsrc
  95. 20 20
      locations/intro_customization.qsrc
  96. 2 2
      locations/item_cart.qsrc
  97. 520 272
      locations/item_stock_db.qsrc
  98. 130 130
      locations/journal.qsrc
  99. 2 2
      locations/katja_chat.qsrc
  100. 71 71
      locations/katja_city.qsrc

+ 2 - 1
.gitignore

@@ -47,4 +47,5 @@ glife.7z
 *.test
 *.drawio
 missing_media.txt
-plugins.dat
+plugins.dat
+*.log

+ 18 - 17
glife.qproj

@@ -81,6 +81,7 @@
 		<Location name="pcs_has_attr"/>
 		<Location name="grades"/>
 		<Location name="internet_mobile"/>
+		<Location name="library_functions"/>
 	</Folder>
 	<Folder name="Sleep">
 		<Location name="pre_sleep"/>
@@ -940,8 +941,6 @@
 		<Location name="burger"/>
 		<Location name="burgerWork"/>
 		<Location name="BurgerTip"/>
-		<Location name="moncheri"/>
-		<Location name="lusso"/>
 		<Location name="butoilet"/>
 		<Location name="city_nightclub"/>
 		<Location name="city_nightclubToilet"/>
@@ -958,22 +957,24 @@
 		<Location name="alexandriaChat"/>
 		<Location name="alexandriaEv"/>
 		<Location name="alexandriaSex"/>
-		<Location name="shop_fashionista"/>
 		<Location name="office"/>
 		<Location name="restoran"/>
+		<Location name="city_mall"/>
 		<Location name="hairsalon"/>
 		<Location name="shopdacha"/>
-		<Location name="sportShop"/>
+		<Location name="shop_danilovich"/>
+		<Location name="shop_lusso"/>
 		<Location name="shop_scandalicious"/>
-		<Location name="torgcentr"/>
+		<Location name="shop_fashionista"/>
+		<Location name="shop_moncheri"/>
+		<Location name="shop_gm"/>
+		<Location name="shop_materinstvo"/>
+		<Location name="shop_photography"/>
+		<Location name="photography_work"/>
 		<Location name="yarik"/>
 		<Location name="zoomagazine"/>
-		<Location name="budgetclothes"/>
 		<Location name="city_musicstore"/>
 		<Location name="city_musicstore_stock"/>
-		<Location name="shop_materinstvo"/>
-		<Location name="shop_photography"/>
-		<Location name="photography_work"/>
 	</Folder>
 	<Folder name="City Residential">
 		<Location name="city_residential"/>
@@ -1012,7 +1013,7 @@
 		<Location name="TerminalOffice"/>
 		<Location name="ilyroom"/>
 		<Location name="trFatherMisha"/>
-		<Location name="dk"/>
+		<Location name="city_commcenter"/>
 		<Location name="kakuzu"/>
 		<Location name="youry"/>
 		<Location name="alex"/>
@@ -1043,7 +1044,7 @@
 		<Location name="city_redlight"/>
 		<Location name="bordel"/>
 		<Location name="bordelv"/>
-		<Location name="sexshop"/>
+		<Location name="shop_erotomaniac"/>
 		<Location name="stripclub"/>
 		<Location name="cfnm"/>
 		<Location name="stwork"/>
@@ -1157,7 +1158,7 @@
 		<Location name="gad_beach"/>
 		<Location name="gad_prostitutes"/>
 		<Location name="gad_field"/>
-		<Location name="gad_market"/>
+		<Location name="gad_store"/>
 		<Location name="gad_road"/>
 		<Location name="gad_miroslava_home"/>
 		<Location name="gad_forest"/>
@@ -1171,6 +1172,7 @@
 		<Location name="gad_swampspring"/>
 		<Location name="gad_swamp_woods"/>
 		<Location name="gad_backwater"/>
+		<Location name="gp_elene_schedule"/>		
 	</Folder>
 	<Folder name="Gadyukino Characters">
 		<Location name="hunters"/>
@@ -1356,7 +1358,7 @@
 		<Location name="rasputin_walkway"/>
 		<Location name="rasputin_show_bur"/>
 		<Location name="rasputin_show_var"/>
-		<Location name="exhibitionistshop"/>
+		<Location name="shop_exhibitionist"/>
 		<Location name="kseniyaQW"/>
 		<Location name="pushkin_parks"/>
 		<Location name="dibodi"/>
@@ -1396,16 +1398,15 @@
 	<Folder name="Ballet_career">
 		<Location name="pushkin_ballet_init"/>
 		<Location name="core_library"/>
-		<Location name="ballet_npc"/>
-		<Location name="npc_3501_init"/>
-		<Location name="npc_3510_init"/>
+		<Location name="npc_274_init"/>
+		<Location name="npc_292_init"/>
 		<Location name="maya_residence"/>
 		<Location name="pushkin_ballet_center"/>
 		<Location name="pushkin_ballet_res"/>
 		<Location name="pushkin_ballet_class"/>
 		<Location name="pushkin_ballet_evt"/>
 		<Location name="ballet_global_evt"/>
-		<Location name="ballet_secrets"/>
+		<Location name="pushkin_ballet_secrets"/>
 		<Location name="marlilnsky_theatre"/>
 		<Location name="pushkin_theatre"/>
 		<Location name="st_petersburg_canals"/>

+ 73 - 115
locations/AppearanceSystem.qsrc

@@ -2,10 +2,10 @@
 
 if $ARGS[0] = '':
 	!{
-        PC's appearance is updated regularly in stat.qsrc.
-        Note: A huge part of PC's appearance is from base appearance, which is updated once a day. Because it's
-        a global variable, it does not show in this function in particular, but it's used in 'CalcAppearance'
-    }
+		PC's appearance is updated regularly in stat.qsrc.
+		Note: A huge part of PC's appearance is from base appearance, which is updated once a day. Because it's
+		a global variable, it does not show in this function in particular, but it's used in 'CalcAppearance'
+	}
 	if pcs_makeup = 6 and bimbolevel >= 2: extra_supnatvnesh = 2*bimbolevel - 2
 
 	clothingBonus = func('AppearanceSystem', 'CalcClothingBonus')
@@ -44,47 +44,32 @@ if $ARGS[0] = 'CalcFaceBonus':
 		eyelashesBonus = 0
 	elseif pcs_lashes = 1:
 		eyelashesBonus = 1
-	elseif pcs_lashes = 2:
-		eyelashesBonus = 3
-	elseif pcs_lashes = 3:
-		eyelashesBonus = 4
-	elseif pcs_lashes = 4:
-		eyelashesBonus = 5
-	elseif pcs_lashes = 5:
-		eyelashesBonus = 6
-	else
-		eyelashesBonus = 0
+	elseif pcs_lashes >= 2:
+		eyelashesBonus = pcs_lashes + 1
 	end
 	eyelashesBonus = FUNC('AppearanceSystem', 'AdjustFromBMI', eyelashesBonus)
 
 	!!	Setting Eye Size bonus
-	if pcs_eyesize = 1:
-		eyeSizeBonus = 1
+	if pcs_eyesize <= 1:
+		eyeSizeBonus = pcs_eyesize
 	elseif pcs_eyesize = 2:
 		eyeSizeBonus = 3
-	elseif pcs_eyesize = 3:
-		eyeSizeBonus = 2
 	else
-		eyeSizeBonus = 0
+		eyeSizeBonus = 2
 	end
 	eyeSizeBonus = FUNC('AppearanceSystem', 'AdjustFromBMI', eyeSizeBonus)
 
 	!!	Setting the Lip size bonus
-	if pcs_lip = 0:
+	if pcs_lip <= 0:
 		lipBonus = -2
-	elseif pcs_lip = 1:
-		lipBonus = 0
-	elseif pcs_lip = 2:
-		lipBonus = 1
-	elseif pcs_lip = 3:
-		lipBonus = 3
+	elseif pcs_lip <= 2:
+		lipBonus = pcs_lip - 1
 	else
 		lipBonus = 3
 	end
 	lipBonus = FUNC('AppearanceSystem', 'AdjustFromBMI', lipBonus)
 
 	result = eyelashesBonus + eyeSizeBonus + lipBonus
-
 end
 
 if $ARGS[0] = 'CalcAttributeBonus':
@@ -95,11 +80,7 @@ if $ARGS[0] = 'CalcAttributeBonus':
 end
 
 if $ARGS[0] = 'CalcVisibleAgePenalty':
-	if vidage < 20:
-		tempAttributePenalty =   func('shortgs','round_divide', (5*(20 - vidage)), 2)
-	else
-		tempAttributePenalty = 0
-	end
+	if vidage < 20: tempAttributePenalty = func('shortgs','round_divide', (5*(20 - vidage)), 2)
 
 	result = func('AppearanceSystem', 'AdjustFromBMI', tempAttributePenalty)
 	killvar 'tempAttributePenalty'
@@ -136,51 +117,47 @@ if $ARGS[0] = 'SetBodyShapeBonus':
 			result = 8
 		end
 
+	! Succubus gets maximum appearance bonus
+	elseif succubusflag > 0:
+		result = func('body_structure', 'appearance_bonus', 22, 90)
+
 	!!Setting the pcs_apprnc bonus based on fat and strength
 	else
-		tempBodyShapeBonus = func('body_structure', 'appearance_bonus')
+		result = func('body_structure', 'appearance_bonus')
 
 		!!This modifies bodykoef for high or low pcs_mass['body'] values
 		if pcs_mass['body'] < 8 or pcs_mass['body'] >= 98:
-			tempBodyShapeBonus -= 8
+			result -= 8
 		elseif pcs_mass['body'] < 23 or pcs_mass['body'] >= 83:
-			tempBodyShapeBonus -= 4
+			result -= 4
 		end
 
-		if bodyVars['vofat'] > 0: tempBodyShapeBonus -= bodyVars['vofat']
-
-		result = tempBodyShapeBonus
-
-		killvar 'tempBodyShapeBonus'
+		result -= max(0, bodyVars['vofat'])
 	end
 end
 
 if $ARGS[0] = 'CalcClothingBonus':
 	if $clothingworntype = 'nude':
-		if pcs_bmi >= 19 and pcs_bmi < 30:
+		if func('pcs_has_attr', 'OR', 'body_bmi_normal', 'body_bmi_overweight'):
 			! Healthy and overweight
-			tempRevealing = 405
-			PCloQuality = 3
+			result = 15
 		else
-			tempRevealing = 0
-			PCloQuality = 1
+			result = 0
 		end
 	else
-		if pcs_bmi < 19:
+		if func('pcs_has_attr', 'OR', 'body_bmi_starving', 'body_bmi_underweight'):
 			!Skinny and severely skinny
-			tempRevealing = ((400 - PXCloThinness) + (500 - PXCloTopCut) + (400 - PXCloBottomShortness))/2
-		elseif pcs_bmi >= 19 and pcs_bmi < 30:
+			tempRevealing = ((400 - PXCloThinness) + (500 - PXCloTopCut) + (400 - PXCloBottomShortness)) / 2
+		elseif func('pcs_has_attr', 'OR', 'body_bmi_normal', 'body_bmi_overweight'):
 			!Healthy and overweight
 			tempRevealing = (PXCloThinness + PXCloTopCut + PXCloBottomShortness)/2
-		elseif pcs_bmi >= 30:
+		else
 			!Moderately overweight and above
-			tempRevealing = ((400 - PXCloThinness) + (500 - PXCloTopCut) + (400 - PXCloBottomShortness)) * 3/4
+			tempRevealing = ((400 - PXCloThinness) + (500 - PXCloTopCut) + (400 - PXCloBottomShortness)) * 3 / 4
 		end
+		result = tempRevealing / 76 * PCloQuality
+		killvar 'tempRevealing'
 	end
-
-	result = tempRevealing/ 76 * PCloQuality
-	killvar 'tempRevealing'
-
 end
 
 if $ARGS[0] = 'CalcAccessoriesBonus':
@@ -188,24 +165,20 @@ if $ARGS[0] = 'CalcAccessoriesBonus':
 	shoesQualityBonus = ARGS[2] & !! PShoQuality
 
 	!!bonuses for certain underwear
-	if PanQuality = 6:
-		pantyBonus = 4
-	elseif PanQuality = 5:
-		pantyBonus = 3
-	elseif PanQuality >= 3:
-		pantyBonus = 2
-	else
-		pantyBonus = PanQuality - 1
+	if $pantyworntype ! 'none':
+		if PanQuality => 4:
+			pantyBonus = PanQuality - 2
+		else
+			pantyBonus = PanQuality - 1
+		end
 	end
 
-	if BraQuality = 6:
-		braBonus = 4
-	elseif BraQuality = 5:
-		braBonus = 3
-	elseif BraQuality >= 3:
-		braBonus = 2
-	else
-		braBonus = BraQuality - 1
+	if $braworntype ! 'none':
+		if BraQuality => 4:
+			braBonus = BraQuality - 2
+		else
+			braBonus = BraQuality - 1
+		end
 	end
 
 	result = coatQualityBonus + shoesQualityBonus + pantyBonus + braBonus
@@ -230,23 +203,18 @@ if $ARGS[0] = 'CalcGroomingBonus':
 	!result = tempGroomingBonus
 	result = func('AppearanceSystem', 'AdjustFromBMI', tempGroomingBonus)
 
+	killvar 'tempGroomingBonus'
+	killvar 'breathBonus'
+	killvar 'makeupBonus'
 end
 
 if $ARGS[0] = 'CalcGroomingPenalty':
-	if pcs_lipbalm > 0:
-		lipBalmPenalty = 0
-	else
-		lipBalmPenalty = 5
-	end
+	if pcs_lipbalm <= 0: lipBalmPenalty = 5
 
 	hairPenalty = (1 - pcs_hairbsh) * 10
 
 	!! buzzcut penalty to pcs_apprnc
-	if pcs_hairlng < 10:
-		buzzCutPenalty = 10
-	else
-		buzzCutPenalty = 0
-	end
+	if pcs_hairlng < 10: buzzCutPenalty = 10
 
 	!!Small penalty for not wearing deodorant, if pcs_sweat is low enough
 	if deodorant_on = 0 or pcs_sweat >= 20: deodorantPenalty = 5
@@ -262,11 +230,7 @@ if $ARGS[0] = 'CalcGroomingPenalty':
 	end
 
 	!Glasses Penalty
-	if glass >= 2 or glass = 0:
-		glassesPenalty = 0
-	elseif glass = 1:
-		glassesPenalty = 10
-	end
+	if glass = 1: glassesPenalty = 10
 
 	!hair color fade penalty
 	if pcs_haircol ! nathcol:
@@ -275,15 +239,7 @@ if $ARGS[0] = 'CalcGroomingPenalty':
 	end
 
 	! Leg hair penalty
-	if pcs_leghair <= 0:
-		legPenalty = 0
-	elseif pcs_leghair <= 3:
-		legPenalty = 3
-	elseif pcs_leghair <= 6:
-		legPenalty = 6
-	else
-		legPenalty = 9
-	end
+	legPenalty = max(0, min(3 * (pcs_leghair / 3), 9))
 
 	result = sweatPenalty + glassesPenalty + hairDyePenalty + buzzCutPenalty + legPenalty + lipBalmPenalty + hairPenalty + deodorantPenalty
 
@@ -303,12 +259,11 @@ if $ARGS[0] = 'CalcAppearance':
 
 	temp_apprnc = pcs_apprncbase + clothingBonus + accessoriesBonus + groomingBonus - groomingPenalty
 
-	if temp_apprnc >= 200: temp_apprnc = 200
-	if temp_apprnc < 0: temp_apprnc = 0
-
 	!Any super natural bonuses are allowed to go above the max scale
-	result = temp_apprnc + superNaturalBonus
+	result = max(0, min(temp_apprnc, 200)) + superNaturalBonus
 
+	killvar 'temp_apprnc'
+	killvar 'superNaturalBonus'
 end
 
 if $ARGS[0] = 'ConvertToHotcat':
@@ -338,33 +293,36 @@ end
 if $ARGS[0] = 'AdjustFromBMI':
 	tempValue = ARGS[1] & !!value to be adjusted
 
-	if pcs_bmi < 16:
+	temp_bs_class = func('body_structure', 'get_class')
+	if temp_bs_class < 100:
 		!! severely underweight
-		tempValue = tempValue * 50 / 100
-    elseif pcs_bmi < 19:
+		result = tempValue * 50 / 100
+	elseif temp_bs_class < 200:
 		!! underweight
-		tempValue = tempValue * 95 / 100
-    elseif pcs_bmi < 25:
+		result = tempValue * 95 / 100
+	elseif temp_bs_class < 400:
 		!! healthy weight
 		!! normal bonus
-    elseif pcs_bmi < 30:
+		result = tempValue
+	elseif temp_bs_class < 500:
 		!! overweight
-		tempValue = tempValue * 95 / 100
-    elseif pcs_bmi < 35:
+		result = tempValue * 95 / 100
+	elseif temp_bs_class < 600:
 		!! moderately obese
-		tempValue = tempValue * 80 / 100
-    elseif pcs_bmi < 40:
+		result = tempValue * 80 / 100
+	elseif temp_bs_class < 700:
 		!! severely obese
-		tempValue = tempValue * 55 / 100
-    elseif pcs_bmi < 45:
+		result = tempValue * 55 / 100
+	elseif temp_bs_class < 800:
 		!! very severely obese
-		tempValue = tempValue * 50 / 100
-    else
+		result = tempValue * 50 / 100
+	else
 		!!morbidly obese
-		tempValue = tempValue * 40 / 100
-    end
+		result = tempValue * 40 / 100
+	end
 
-	result = tempValue
 	killvar 'tempValue'
+	killvar 'temp_bs_class'
 end
+
 --- AppearanceSystem ---------------------------------

+ 6 - 34
locations/Cheatmenu_din.qsrc

@@ -945,7 +945,6 @@ $cheatmenu['change_avatar_path'] = {
 
 if $ARGS[0] = 'change_pcs_mass_body':
 	gs 'body', 'Set_mass_distribution_using_body', pcs_mass['body'] + ARGS[1]
-	pcs_mass['body_message'] = pcs_mass['body']
 	dynamic $cheatmenu['looks']
 end
 
@@ -1102,15 +1101,12 @@ if $ARGS[0] = 'parameters':
 	'bodyVars[''bratio''] = <<bodyVars[''bratio'']>>'
 	'bodyVars[''hratio''] = <<bodyVars[''hratio'']>>'
 	'bodyVars[''vofat''] = <<bodyVars[''vofat'']>>'
-	'salocatnow = <<salocatnow>>'
-	'salocatlast = <<salocatlast>>'
 	'magf2bdo = <<magf2bdo>>'
 	'mgf2bnocnt = <<mgf2bnocnt>>'
 	'magtarcup = <<magtarcup>>'
 	'normbuffpick = <<normbuffpick>>'
 	'nrmbfpckct = <<nrmbfpckct>>'
 	'bodyVars[''weight_warning''] = <<bodyVars[''weight_warning'']>>'
-	'salolast = <<salolast>>'
 end
 
 !!----------------------------------------------------------------------------------------------------------------------------
@@ -1246,30 +1242,6 @@ $cheatmenu['stats'] = {
 	cla & *clr
 	gs 'obj_din', 'cheattabs'
 
-	!Set a floor and ceiling for all attributes and skills
-	loop_index = 0
-	:attr_trim_loop
-		dynamic "
-			if <<$att_name[loop_index]>>_lvl < 0: <<$att_name[loop_index]>>_lvl = 0
-			if <<$att_name[loop_index]>>_lvlst < 0: <<$att_name[loop_index]>>_lvlst = 0
-			if <<$att_name[loop_index]>>_lvl > 100: <<$att_name[loop_index]>>_lvl = 100
-			if <<$att_name[loop_index]>>_lvlst > 100: <<$att_name[loop_index]>>_lvlst = 100
-		"
-		loop_index += 1
-		if loop_index < arrsize('$att_name'): jump 'attr_trim_loop'
-
-	loop_index = 0
-	:skill_trim_loop
-		dynamic "
-			if <<$skl_name[loop_index]>>_lvl < 0: <<$skl_name[loop_index]>>_lvl = 0
-			if <<$skl_name[loop_index]>>_lvlst < 0: <<$skl_name[loop_index]>>_lvlst = 0
-			if <<$skl_name[loop_index]>>_lvl > 100: <<$skl_name[loop_index]>>_lvl = 100
-			if <<$skl_name[loop_index]>>_lvlst > 100: <<$skl_name[loop_index]>>_lvlst = 100
-		"
-		loop_index += 1
-		if loop_index < arrsize('$skl_name'): jump 'skill_trim_loop'
-	killvar 'loop_index'
-
 	'<center><h1>Cheat Menu - Attributes and Skills</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
@@ -2242,7 +2214,7 @@ $cheatmenu['theme_presets_copy'] = {
 	custom_theme['table_bg'] = theme['table_bg']
 	custom_theme['table_bg_alt'] = theme['table_bg_alt']
 
-	$custom_theme['is_dark'] = str(theme['is_dark'])
+	custom_theme['is_dark'] = theme['is_dark']
 
 	gs 'themes', 'set_custom'
 	dynamic $cheatmenu['theme_customize']
@@ -2261,7 +2233,7 @@ $cheatmenu['theme_export'] = {
 	"custom_theme['table_bg'] = <<custom_theme['table_bg']>>"
 	"custom_theme['table_bg_alt'] = <<custom_theme['table_bg_alt']>>"
 	""
-	"$custom_theme['is_dark'] = '<<$custom_theme['is_dark']>>'"
+	"custom_theme['is_dark'] = <<custom_theme['is_dark']>>"
 }
 
 $cheatmenu['theme_presets'] = {
@@ -2349,10 +2321,10 @@ $cheatmenu['theme_customize'] = {
 	!!  --- DARK MODE ---
 	*nl
 	*p 'Dark Mode&nbsp;'
-	if $custom_theme['is_dark'] = '0':
-		*pl '<a href="exec: $custom_theme[''is_dark''] = ''1'' & dynamic $cheatmenu[''theme_customize'']"><img src="images/system/ui/box<<$icon_selector>>.png" height="<<icon_height>>"></img></a>'
+	if custom_theme['is_dark'] = 0:
+		*pl '<a href="exec: custom_theme[''is_dark''] = 1 & dynamic $cheatmenu[''theme_customize'']"><img src="images/system/ui/box<<$icon_selector>>.png" height="<<icon_height>>"></img></a>'
 	else
-		*pl '<a href="exec: $custom_theme[''is_dark''] = ''0'' & dynamic $cheatmenu[''theme_customize'']"><img src="images/system/ui/check<<$icon_selector>>.png" height="<<icon_height>>"></img></a>'
+		*pl '<a href="exec: custom_theme[''is_dark''] = 0 & dynamic $cheatmenu[''theme_customize'']"><img src="images/system/ui/check<<$icon_selector>>.png" height="<<icon_height>>"></img></a>'
 	end
 
 	!!  --- INCREMENT ---
@@ -3356,7 +3328,7 @@ $cheatmenu['items'] = {
 		*pl 'Antibiotics: <a href="exec:mc_inventory[''antibiotics'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''antibiotics'']>> </b></a>'
 		*pl 'Vitamins: <a href="exec:mc_inventory[''vitamins'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''vitamins'']>> </b></a>'
 		*pl 'Painkillers: <a href="exec:mc_inventory[''painkillers'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''painkillers'']>> </b></a>'
-		*pl 'Ointments for chafing: <a href="exec:mc_inventory[''chaffing_cream'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''chaffing_cream'']>> </b></a>'
+		*pl 'Ointments for chafing: <a href="exec:mc_inventory[''chafing_cream'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''chafing_cream'']>> </b></a>'
 		*pl 'Lubricants: <a href="exec:mc_inventory[''lubricant'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''lubricant'']>> </b></a>'
 		*pl 'Lip balms: <a href="exec:mc_inventory[''lipbalm'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''lipbalm'']>> </b></a>'
 		*pl 'Weight loss pill: <a href="exec:mc_inventory[''weight_loss_pill'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''weight_loss_pill'']>> </b></a>'

+ 2 - 0
locations/HotelRoom.qsrc

@@ -1,5 +1,7 @@
 # HotelRoom
 
+if hotelRoomDays[$region] = 0 and hour > 11: hotelRoom[$region] = 0
+if hotelRoomDays[$region] < 0: hotelRoom[$region] = 0
 CLOSE ALL
 if $ARGS[0] = 'normal':
 	*clr & cla

+ 1 - 1
locations/KGstart.qsrc

@@ -96,7 +96,7 @@ if KFOnLineReaga > 0:
 			cls
 			$KGOLname = input("Enter your nickname")
 
-			if $KGOLname <= 0:msg 'Not valid nickname' & gt $curloc
+			if $KGOLname = '': msg 'Not valid nickname' & gt $curloc
 
 			'Your nickname <<$KGOLname>>'
 			'You must select the player race'

+ 1 - 1
locations/MeynoldHome.qsrc

@@ -779,7 +779,7 @@ if $ARGS[0] = 'Natalia Park 2':
 	minut += 15
 	gs'stat'
 	'<center><b><h4><font color=#00eaff><<"Natalia [Nat] Pavlova">></font></h4></b></center>'
-	'<center><img <<$set_imgh>> src="images/characters/shared/photos/big240.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big240.jpg"></center>'
 	'You, and Natalia continue chatting for a few minutes before Natalia looks at her phone then says, "Wow, I can''t believe it gotten so late. We should really get home." You both walk home. When you reach your door Natalia says, "Stay safe <<$pcs_firstname>>, and remember to follow your heart. Have a good night." You then wave goodbye to Natalia, as she walks away.'
 	
 	act 'Enter your apartment':gt 'korrPar'

+ 8 - 9
locations/NPCChanger.qsrc

@@ -61,19 +61,19 @@ end
 if $ARGS[0] = 'npcdisplay':
 	*nl 'NPC[A<<n>>] = '
 
-	if $npc_firstname['A<<n>>'] = 0:
-	*p ''
+	if isnum($npc_firstname['A<<n>>']):
+		*p ''
 	else
-	*p '<<$npc_firstname[''A<<n>>'']>>'
+		*p $npc_firstname['A<<n>>']
 	end
 
-	if $npc_firstname['A<<n>>'] = $npc_nickname['A<<n>>'] or $npc_nickname['A<<n>>'] = 0:
+	if $npc_firstname['A<<n>>'] = $npc_nickname['A<<n>>'] or isnum($npc_nickname['A<<n>>']):
 		*p''
 	else
 		*p ' "<<$npc_nickname[''A<<n>>'']>>"'
 	end
 
-	if $npc_lastname['a<<n>>'] = 0:
+	if isnum($npc_lastname['a<<n>>']):
 		*p ''
 	else
 		*p ' <<$npc_lastname[''A<<n>>'']>>'
@@ -81,10 +81,9 @@ if $ARGS[0] = 'npcdisplay':
 
 end
 if $ARGS[0] = 'selection':
-	s = input("Which NPC do you want to edit? Enter #")
-		!!cla
-		!!*clr
-	if s = '':
+	s = val(input("Which NPC do you want to edit? Enter #"))
+	!!*clr & cla
+	if s = 0:
 		n = (o - 10)
 		gt 'NPCChanger', 'NPCLoop'
 	else

+ 34 - 34
locations/RimmaSexQW.qsrc

@@ -7,7 +7,7 @@ gs 'stat'
 'You go over to Rima who smiles affably as she greets you.'
 '"Hi <<$pcs_nickname>>. My shift is almost over. Do you want to do something?"'
 
-act '"Sorry, I can''t right now"':gt 'moncheri', 'start'
+act '"Sorry, I can''t right now"':gt 'shop_moncheri', 'start'
 
 if money >= 250:
 	act '"Sure. How about we go to my place?"':
@@ -35,7 +35,7 @@ $rimmasexdi = {
 	if RimmaRandEvent = 23:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma14.jpg"></center>'
 		pcs_throat += 3
-		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -57,7 +57,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 22:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimmabj.jpg"></center>'
 		pcs_throat += 3
-		'Rima pulled the strap-on out of her purse, followed by collar with a chain attached to it. At her order, you put on the collar and hand the chain to Rima who put on the strap-on while you were occupied. She roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulled the strap-on out of her purse, followed by collar with a chain attached to it. At her order, you put on the collar and hand the chain to Rima who put on the strap-on while you were occupied. She roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -79,13 +79,13 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 21:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma21.jpg"></center>'
 		gs 'arousal', 'pee', -5, 'sub', 'humiliation', 'lesbian'
-		'Rimma orders you to squat and gets over you, her legs spread wide. Your face an inch from her pussy, you suddenly feel something warm running over it: Without warning, Rima just started peeing on you! Shocked by this, you sit motionless until the jet subsides, the smell intense as the last droplets drip from your chin.' 
+		'Rimma orders you to squat and gets over you, her legs spread wide. Your face an inch from her pussy, you suddenly feel something warm running over it: Without warning, Rima just started peeing on you! Shocked by this, you sit motionless until the jet subsides, the smell intense as the last droplets drip from your chin.'
 		'When she''s done, Rima orders you to lick her clean and you comply without question.'
-		
+
 	elseif RimmaRandEvent = 20:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma14.jpg"></center>'
 		if pcs_throat < 25: pcs_throat += 3
-		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -94,7 +94,7 @@ $rimmasexdi = {
 			if pcs_ass < 25: pcs_ass += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma20.jpg"></center>'
-			'Rima bends you over and her strap-on enters your ass sans additional lubrication. The friction and fullness are intense but you are also suddenly aware that your bladder is not only full but feels like it''s about to burst.' 
+			'Rima bends you over and her strap-on enters your ass sans additional lubrication. The friction and fullness are intense but you are also suddenly aware that your bladder is not only full but feels like it''s about to burst.'
 			'As Rima fucks you, you tighten the muscles in your lower body to try and keep control of your urethra but all you do is make the stimulation by her that much more intense. When you come, and you come very quickly, the orgasm deprives you of all control and you feel your own piss running down your leg. Rima chuckles but doesn''t stop, driving the strap-on even harder into you, sending you right over the edge again, your shame and sudden relaxation fueling your second climax.'
 			$orgasm_or = 'yes'
 			gs 'arousal', 'anal_strap', 20, 'lesbian', 'sub'
@@ -107,7 +107,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 19:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimmabj.jpg"></center>'
 		pcs_throat += 3
-		'Rima pulled the strap-on out of her purse, followed by collar with a chain attached to it. At her order, you put on the collar and hand the chain to Rima who put on the strap-on while you were occupied. She roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulled the strap-on out of her purse, followed by collar with a chain attached to it. At her order, you put on the collar and hand the chain to Rima who put on the strap-on while you were occupied. She roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -117,7 +117,7 @@ $rimmasexdi = {
 			pcs_vag += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma19.jpg"></center>'
-			'You bend over for Rima when she orders you to, presenting your bare ass to her, feeling the pull on the chain as she enters your wet pussy. As demeaning as this is, it feels right with Rima, experience speaking from each of her actions and her movements inside you so intensely arousing that your moans are no doubt audible to your neighbors.' 
+			'You bend over for Rima when she orders you to, presenting your bare ass to her, feeling the pull on the chain as she enters your wet pussy. As demeaning as this is, it feels right with Rima, experience speaking from each of her actions and her movements inside you so intensely arousing that your moans are no doubt audible to your neighbors.'
 			'At some point, you feel Rima pulling hard on the chain, hard enough to make you rear, and at that exact moment, she pulls the strap-on out and inserts it into your ass, your wetness making it as easy as it''s going to be. A few thrusts later, you are already at your limit and come so hard that all strength leaves your body and Rima has to let go of the chain, lest she choke you.'
 			$orgasm_or = 'yes'
 			gs 'arousal', 'vaginal_strap', 20, 'lesbian', 'sub'
@@ -130,7 +130,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 18:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma14.jpg"></center>'
 		pcs_throat += 3
-		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -139,7 +139,7 @@ $rimmasexdi = {
 			pcs_ass += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma18.jpg"></center>'
-			'Rima bends you over doggystyle and you feel the tip of her strap-on resting against your anus as she pulls the bottle of lube out of her purse. You groan and try to relax, preparing yourself mentally as she spreads the cool liquid around and inside your puckered hole, but even after all the things you''ve done with Rima, taking this gigantic strap-on up your ass is not an easy feat.' 
+			'Rima bends you over doggystyle and you feel the tip of her strap-on resting against your anus as she pulls the bottle of lube out of her purse. You groan and try to relax, preparing yourself mentally as she spreads the cool liquid around and inside your puckered hole, but even after all the things you''ve done with Rima, taking this gigantic strap-on up your ass is not an easy feat.'
 			'But slowly, ever so slowly, the woman works it into you, inch by inch, and starts moving back and forth, going a little deeper with every thrust, going a little faster every time. Your voice rises with her, the mix of pain and pleasure making it impossible to remain silent, and when you feel her grabbing your hair and pulling your head back, it sends you over the edge, screaming, hurting, but satisfied nonetheless.'
 			$orgasm_or = 'yes'
 			gs 'arousal', 'anal_strap', 20, 'lesbian', 'sub'
@@ -152,7 +152,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 17:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma14.jpg"></center>'
 		pcs_throat += 3
-		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -174,7 +174,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 16:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma14.jpg"></center>'
 		pcs_throat += 3
-		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -183,7 +183,7 @@ $rimmasexdi = {
 			pcs_vag += 1
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma16.jpg"></center>'
-			'Rima puts you on your back and spreads your legs, driving the strap-on into your pussy with one slow thrust, stopping just short of your cervix, your moan music to her ears. She doesn''t move fast today, focusing entirely on slowly driving you towards the edge and gauging your reactions as she goes.' 
+			'Rima puts you on your back and spreads your legs, driving the strap-on into your pussy with one slow thrust, stopping just short of your cervix, your moan music to her ears. She doesn''t move fast today, focusing entirely on slowly driving you towards the edge and gauging your reactions as she goes.'
 			'Your eyes never leave hers, not on your slow ascent, not as you fall over the edge, not as you''re coming back down. When the last wave of your orgasm has passed, Rima rips the strap-on off and sits down on your face. Her own climax is only a few licks away.'
 			$orgasm_or = 'yes'
 			gs 'arousal', 'vaginal_strap', 20, 'lesbian', 'sub'
@@ -196,7 +196,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 15:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma14.jpg"></center>'
 		pcs_throat += 3
-		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.' 
+		'Rima pulls a massive strap-on out of her purse and puts it on, and you feel a hint of fear mingled into your excitement, knowing that she''s going to fuck you with it. Wasting no time on ordering you around, she roughly pushes you down on your knees and slips it past your <<$pc_desc[''lips'']>> lips.'
 		'You instinctively start moving your tongue around its thick tip, her hand at the back of your head holding you in place as she guides it into your throat. Given its size, it doesn''t come as a surprise that your gag reflex starts acting up but you endure as best you can, covering it generously in saliva.'
 		gs 'arousal', 'bj', 10, 'sub', 'lesbian'
 		gs 'stat'
@@ -206,7 +206,7 @@ $rimmasexdi = {
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma15.jpg"></center>'
 			'Rima lies down on the couch with you, spooning you from behind, rubbing the strap-on''s tip against your lower lips, teasing you only for a moment before she pushes it in. Between your spit and lust, the artificial dick goes in without resistance.'
-			'Only when it hits your cervix do you reach back to stop her, the sudden pain shaking you out of your reverie, but Rima whispers encouragingly into your ear as she pulls back. When she starts moving in earnest, she doesn''t hit that threshold again, filling you up as much as she can without actually hurting you, even as she furiously fucks you.' 
+			'Only when it hits your cervix do you reach back to stop her, the sudden pain shaking you out of your reverie, but Rima whispers encouragingly into your ear as she pulls back. When she starts moving in earnest, she doesn''t hit that threshold again, filling you up as much as she can without actually hurting you, even as she furiously fucks you.'
 			'Your folds tighten so much during your orgasm and grip the strap-on so violently that Rima has trouble pulling out afterwards.'
 			$orgasm_or = 'yes'
 			gs 'arousal', 'vaginal_strap', 20, 'lesbian', 'sub'
@@ -219,9 +219,9 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 14:
 		pcs_ass += 8
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma13.jpg"></center>'
-		'You bend over on the couch for Rima as she lubes up her hands, followed by your anus. She doesn''t have to say a word as she does; you know what''s coming.' 
-		'She places both of her hands at your puckered hole and works her fingers in - left, right, left, right, almost like she''s following an obscure sexual knitting manual - but you don''t care as long as she doesn''t stop, her expert stimulation causing you to moan like a bitch in heat right from the start.' 
-		'Not only does she fit both hands into you but she does so in record time, her soft chuckle speaking of her own surprise at this. Then, she comes to the main course: Without warning or warm-up, she begins pounding you with her hands, your yelp turning into a sustained moan as she hits all the right spots.' 
+		'You bend over on the couch for Rima as she lubes up her hands, followed by your anus. She doesn''t have to say a word as she does; you know what''s coming.'
+		'She places both of her hands at your puckered hole and works her fingers in - left, right, left, right, almost like she''s following an obscure sexual knitting manual - but you don''t care as long as she doesn''t stop, her expert stimulation causing you to moan like a bitch in heat right from the start.'
+		'Not only does she fit both hands into you but she does so in record time, her soft chuckle speaking of her own surprise at this. Then, she comes to the main course: Without warning or warm-up, she begins pounding you with her hands, your yelp turning into a sustained moan as she hits all the right spots.'
 		'When you come down from your climax, Rima sits down in front of you, dripping wet. You are more than happy to return the favor...'
 		$orgasm_or = 'yes'
 		gs 'arousal', 'anal_finger', 20, 'lesbian', 'sub'
@@ -229,8 +229,8 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 13:
 		pcs_ass += 8
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma12.jpg"></center>'
-		'Rima tells you to lie back on your couch and lubricate your anus while she does the same with her hands. You are too excited to question her order, instead taking the bottle of lube she presents to you and making sure your backdoor is ready for anything.' 
-		'Even when you tell her that you are done, Rima lifts your ass to check if your anus is properly lubed up, by pushing several fingers at once it. When her hand is almost all the way in, she seems to be convinced... and adds a finger from her other hand. Then another. And another. What you are feeling is beyond description, beyond comprehension, and it leaves you breathless and almost mute.' 
+		'Rima tells you to lie back on your couch and lubricate your anus while she does the same with her hands. You are too excited to question her order, instead taking the bottle of lube she presents to you and making sure your backdoor is ready for anything.'
+		'Even when you tell her that you are done, Rima lifts your ass to check if your anus is properly lubed up, by pushing several fingers at once it. When her hand is almost all the way in, she seems to be convinced... and adds a finger from her other hand. Then another. And another. What you are feeling is beyond description, beyond comprehension, and it leaves you breathless and almost mute.'
 		'Only when she starts to move, both of her hands all the way inside you, do you make noises again: Soft, understated coos that swell to loud screams when the woman picks up the pace and fucks your ass with both of her hands. The orgasm comes loud and hard and you feel deaf and numb. All you can see is Rima, grinning like a Cheshire cat, and you weakly return that grin.'
 		$orgasm_or = 'yes'
 		gs 'arousal', 'anal_fist', 20, 'lesbian', 'sub'
@@ -239,7 +239,7 @@ $rimmasexdi = {
 		pcs_ass += 6
 		pcs_vag += 5
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma11.jpg"></center>'
-		'Once again, Rima leads you into your bedroom and you lie down on your back for her, curious what she intends to do today. She doesn''t keep you wondering for long: Rima rummages around her purse until she finds a bottle of lube and generously applies it to both of her hands, giving you suggestive smiles as she does.' 
+		'Once again, Rima leads you into your bedroom and you lie down on your back for her, curious what she intends to do today. She doesn''t keep you wondering for long: Rima rummages around her purse until she finds a bottle of lube and generously applies it to both of her hands, giving you suggestive smiles as she does.'
 		'Your previous experiences with her have prepared you well for what she has in mind: With terrifying ease and very little patience, Rima pushes one of her hands into your vagina and works the other into your anus. It''s a testament to the times you have spent with her that you don''t hurt as much as you feel full as, knuckle by knuckle, her fingers sink into you, your groans leaving little doubt as to your pleasure.'
 		'Soon, both of her hands are all the way inside you and Rima starts slowly pulling them out again, then back in, fucking you with her entire limbs, the fullness ebbing away only to return in force. It''s an incredible, maddening feeling and your orgasm hits you with the suddenness and violence of a tsunami.'
 		$orgasm_or = 'yes'
@@ -272,7 +272,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 9:
 		pcs_ass += 5
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma8.jpg"></center>'
-		'You find yourself lying on your side, spreading your legs to give Rima easier access to your sex. Indeed, her fingers penetrate your wet pussy and her wonderful touch has you panting in no time at all.' 
+		'You find yourself lying on your side, spreading your legs to give Rima easier access to your sex. Indeed, her fingers penetrate your wet pussy and her wonderful touch has you panting in no time at all.'
 		'Between two strokes, though, she pulls out entirely and instead works the well-lubricated fingers into your ass. You gasp as she gets the speed back to where it was and have your backdoor thoroughly fingerfucked by her. She skillfully teases your clit for additional stimulation but you even without it, you''d have come anyway.'
 		'And come you do, feeling your sphincter twitch around her index and middle finger, beckoning them to stay a little longer as you ride out the waves of your anal climax.'
 		$orgasm_or = 'yes'
@@ -281,7 +281,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 8:
 		pcs_ass += 3
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma7.jpg"></center>'
-		'Rima puts you on your back, your soft bed ever-willing to serve, and dives right in, her tongue finding your clit with pin-point precision.' 
+		'Rima puts you on your back, your soft bed ever-willing to serve, and dives right in, her tongue finding your clit with pin-point precision.'
 		'At the same time, her hand explores your nether regions, stroking up and down your legs, outside and inside, caresses your stomach and sides, squeezing your buttcheeks, teasing your wet folds with quick flicks and lingering strokes, but it doesn''t come to rest... until it finds your rosebud.'
 		'She circles around your backdoor as if she had all the time in the world, pretending to push a finger in one moment only to pull it away the next, her constant back and forth driving you crazy and making you hornier the longer she persists.'
 		'At some point, you simply cannot hold out any longer and clamp down hard the instant you feel her pushing in. At the same time, you put one hand at the back of her head and pull her against you. This tiny push is all you need to cum, finally.'
@@ -292,7 +292,7 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 7:
 		pcs_vag += 5
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma6.jpg"></center>'
-		'The couch in the living room is where Rima wants to have you, and you have no reason to deny her. Spreading your legs for her, you watch as she patiently puts one finger after the other into you, teasing you with gusto and nipping at your clit every now and then to put you even more on edge.' 
+		'The couch in the living room is where Rima wants to have you, and you have no reason to deny her. Spreading your legs for her, you watch as she patiently puts one finger after the other into you, teasing you with gusto and nipping at your clit every now and then to put you even more on edge.'
 		'Her second hand squeezes your tits, teases your nipples, strokes your stomach, caresses your cheek - seems to be everywhere at once. Her hand inside your pussy doesn''t go easy on you, not this time: Rima immediately goes from massaging your insides to fist-fucking you and you love every second of it.'
 		'Your climax builds quickly - no surprise after almost half an hour of teasing - when you feel her second hand linger on your throat... and tightening around it. You open your eyes to look at her and while it''s harder to breathe, the passion in Rima''s eyes is infectious.'
 		'The orgasm hits you like a truck, the slight lack of air increasing its intensity by an order of magnitude, and by the looks of it, Rima is just about ready to come herself, getting off immensely on dominating you.'
@@ -302,11 +302,11 @@ $rimmasexdi = {
 	elseif RimmaRandEvent = 6:
 		pcs_vag += 5
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma5.jpg"></center>'
-		'Once again, Rima takes you into your bedroom and has you lie down. Your memories of how she went down on you very present in your mind, you eagerly spread your legs for her and she smiles broadly as lowers her mouth onto you.' 
-		'Two of her fingers are inside your wet pussy in an instant but other than that, she takes her time, teasing and touching you with unfathomable skill, only slowly picking up speed. When you are getting closer to orgasm, she inserts a third finger but slows down at the same time, your groans turning from lust to frustration as she teases you, inches away from release.' 
+		'Once again, Rima takes you into your bedroom and has you lie down. Your memories of how she went down on you very present in your mind, you eagerly spread your legs for her and she smiles broadly as lowers her mouth onto you.'
+		'Two of her fingers are inside your wet pussy in an instant but other than that, she takes her time, teasing and touching you with unfathomable skill, only slowly picking up speed. When you are getting closer to orgasm, she inserts a third finger but slows down at the same time, your groans turning from lust to frustration as she teases you, inches away from release.'
 		'But Rima is merciless: She slowly, ever so slowly works you down from that almost-climax, then back up again, to that same breaking point... then introduces a fourth finger and slows down once again.'
 		nl
-		'You barely even register when she sinks her whole hand into your depths - at that point, you are so desperately horny that you are literally begging her to make you cum, and this time, her fist inside you, she finally relents.' 
+		'You barely even register when she sinks her whole hand into your depths - at that point, you are so desperately horny that you are literally begging her to make you cum, and this time, her fist inside you, she finally relents.'
 		'From one moment to the next, she starts fucking you with her whole hand, pushing you right to the edge and over, then right to the next and over again. You can feel yourself twitching around her hand, gripping her like a vice, but the rest of your body is a shaking, screaming, sweating mess. That doesn''t change the fact, though, that Rima gave you a couple of incredible orgasms, though.'
 		$orgasm_or = 'yes'
 		gs 'arousal', 'vaginal_fist', 20, 'lesbian', 'sub'
@@ -315,7 +315,7 @@ $rimmasexdi = {
 		pcs_vag += 2
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma4.jpg"></center>'
 		'Rima and you go into the bedroom and you lie down on your back, opening yourself to your female company. She doesn''t even try to resist the enticing view and you can feel her tongue on your clit before she''s come to rest on the bed.'
-		'You feel her fingers penetrate you, your folds wet and ready with anticipation, and her touch is heavenly. Rima seems to have an almost supernatural intuition for where she has to touch your insides to elicit the highest moans from you and you are all too willing to let them erupt.' 
+		'You feel her fingers penetrate you, your folds wet and ready with anticipation, and her touch is heavenly. Rima seems to have an almost supernatural intuition for where she has to touch your insides to elicit the highest moans from you and you are all too willing to let them erupt.'
 		'While there is a lot of variation in the way she angles her hand and hooks her fingers, she never gets slower - her index and middle finger went from teasingly slow to a good, hard fingerfuck and she seems certain that she can hold out longer than you.'
 		nl
 		'She''s right, too: When she adds a third finger - without slowing down - an incredible orgasm rips through you and you have to hold on for dear life. All you can manage when Rima kisses you is a weak smile as you taste yourself on her lips.'
@@ -324,23 +324,23 @@ $rimmasexdi = {
 		gs 'stat'
 	elseif RimmaRandEvent = 4:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma3.jpg"></center>'
-		'Rima leads you into the bedroom and has you lie down. You''ve barely come to rest when she''s already on top of you, her wet pussy mere inches from your mouth, her eyes sparkling as she bends backwards and you feel her fingers caressing your sex.' 
-		'You lose yourself in her expert touch and the arousing taste of her juices, your tongue and lips working tirelessly to pleasure her.' 
+		'Rima leads you into the bedroom and has you lie down. You''ve barely come to rest when she''s already on top of you, her wet pussy mere inches from your mouth, her eyes sparkling as she bends backwards and you feel her fingers caressing your sex.'
+		'You lose yourself in her expert touch and the arousing taste of her juices, your tongue and lips working tirelessly to pleasure her.'
 		'When you feel her crotch pressing more strongly against your face, you know that she won''t take much longer and redouble your efforts, as does she. In seconds, you have her screaming and thrashing, your own orgasm muffled by her nether lips.'
 		$orgasm_or = 'yes'
 		gs 'arousal', 'cuni_give', 20, 'lesbian', 'sub'
 		gs 'stat'
 	elseif RimmaRandEvent = 3:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma2.jpg"></center>'
-		'You go into the living room where she sits down on the sofa, legs spread. You understand the invitation and drop to your knees, languidly licking her pussy up and down, teasing her greedy hole with one hand while you rub your own clit with the other.' 
-		'Rima moans with joy and you can feel her hands on your head, stroking it, urging you on.' 
+		'You go into the living room where she sits down on the sofa, legs spread. You understand the invitation and drop to your knees, languidly licking her pussy up and down, teasing her greedy hole with one hand while you rub your own clit with the other.'
+		'Rima moans with joy and you can feel her hands on your head, stroking it, urging you on.'
 		'As her passion grows, her movements become rougher and in her bliss, her fingers claw into your hair. She pulls you closer, grinding her hips against your face and is quickly overcome by her orgasm. Thanks to her rough treatment and your "free" hand, you follow her immediately.'
 		$orgasm_or = 'yes'
 		gs 'arousal', 'cuni_give', 20, 'lesbian', 'sub'
 		gs 'stat'
 	elseif RimmaRandEvent = 2:
 		'<center><img <<$set_imgh>> src="mod/bestmod/images/beast/zoo/rimma.jpg"></center>'
-		'You barely make it into the bedroom. As soon as you''re there, Rima pushes you onto the bed and lays on top of you in a 69, offering you her pussy and immediately going down on yours.' 
+		'You barely make it into the bedroom. As soon as you''re there, Rima pushes you onto the bed and lays on top of you in a 69, offering you her pussy and immediately going down on yours.'
 		'The passion she licks you with is infectious and as you desperately try to hold onto her, you do your best to reciprocate, exploring Rima''s delicate folds and hole with your tongue and fingers.'
 		'Your moans, muffled as they are, grow louder, loud enough for the neighbors to hear, you''re sure, but they don''t last for long: Within minutes, the unearthly bliss you''re experiencing culminates in an overwhelming orgasm that leaves you and your partner gasping and shaking.'
 		$orgasm_or = 'yes'

+ 1 - 1
locations/SMS_selfies.qsrc

@@ -50,7 +50,7 @@ if $ARGS[0] = 'show_sms':
 	gs 'telefon', 'show_sms', SMSSelfieVars['SMSid']
 	$SMSMessage[SMSSelfieVars['SMSid']] = $temp_curSMS
 	$SMSReplies[SMSSelfieVars['SMSid']] = $temp_curReplies
-	SMSSelfieVars['text'] = ''
+	$SMSSelfieVars['text'] = ''
 	killvar 'temp_curSMS'
 	killvar 'temp_curReplies'
 end

+ 1 - 1
locations/SMStext_builder.qsrc

@@ -274,7 +274,7 @@ if $ARGS[0] = 'add_sms':
 	end
 	gs 'telefon', 'add_sms', $ARGS[1], $SMSBuilderVars['text'], $SMSBuilderVars['replies'], $SMSBuilderImages[0], $SMSBuilderImages[1], $SMSBuilderImages[2], $SMSBuilderImages[3]
 	
-	SMSBuilderVars['replies'] = ''
+	$SMSBuilderVars['replies'] = ''
 
 elseif $ARGS[0] = 'show_sms':
 	if arrsize('SMSBuilderReplies') > 0:

+ 0 - 1
locations/_attributes_cats_dress.qsrc

@@ -679,7 +679,6 @@ elseif ARGS[1] = 99:
 	CloThinness = 5
 	CloTopCut = 1
 	CloSkirtShortness = 4
-	CloDress = 1
 	
 elseif ARGS[1] = 100:
 	CloQuality = 5

+ 4 - 4
locations/_attributes_cats_shoes.qsrc

@@ -222,25 +222,25 @@ elseif ARGS[1] = 37:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 1
-	ShoHeels = 2
+	ShoHeels = 1
 	
 elseif ARGS[1] = 38:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 1
-	ShoHeels = 2
+	ShoHeels = 1
 	
 elseif ARGS[1] = 39:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 1
-	ShoHeels = 2
+	ShoHeels = 1
 	
 elseif ARGS[1] = 40:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 1
-	ShoHeels = 2
+	ShoHeels = 1
 
 end
 

+ 56 - 56
locations/_attributes_dolls_shoes.qsrc

@@ -6,7 +6,7 @@ if ARGS[1] = 1:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 2
+	ShoHeels = 1
 	
 elseif ARGS[1] = 2:
 	ShoStyle = 0
@@ -42,55 +42,55 @@ elseif ARGS[1] = 7:
 	ShoStyle = 0
 	ShoQuality = 3
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 8:
 	ShoStyle = 0
 	ShoQuality = 3
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 9:
 	ShoStyle = 2
 	ShoQuality = 3
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 10:
 	ShoStyle = 0
 	ShoQuality = 3
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 11:
 	ShoStyle = 2
 	ShoQuality = 3
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 12:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 3
 	
 elseif ARGS[1] = 13:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 2
 	
 elseif ARGS[1] = 14:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 3
 	
 elseif ARGS[1] = 15:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 5
+	ShoHeels = 3
 	
 elseif ARGS[1] = 16:
 	ShoStyle = 0
@@ -120,49 +120,49 @@ elseif ARGS[1] = 20:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 5
+	ShoHeels = 3
 	
 elseif ARGS[1] = 21:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 5
+	ShoHeels = 3
 	
 elseif ARGS[1] = 22:
 	ShoStyle = 2
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 5
+	ShoHeels = 3
 	
 elseif ARGS[1] = 23:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 6
+	ShoHeels = 3
 	
 elseif ARGS[1] = 24:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 6
+	ShoHeels = 3
 	
 elseif ARGS[1] = 25:
 	ShoStyle = 2
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 6
+	ShoHeels = 3
 	
 elseif ARGS[1] = 26:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 6
+	ShoHeels = 3
 	
 elseif ARGS[1] = 27:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 6
+	ShoHeels = 3
 	
 elseif ARGS[1] = 28:
 	ShoStyle = 3
@@ -342,55 +342,55 @@ elseif ARGS[1] = 57:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 1
-	ShoHeels = 5
+	ShoHeels = 2
 	
 elseif ARGS[1] = 58:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 
 elseif ARGS[1] = 59:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 60:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 3
-	ShoHeels = 3
+	ShoHeels = 1
 
 elseif ARGS[1] = 61:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 62:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 
 elseif ARGS[1] = 63:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 3
+	ShoHeels = 1
 	
 elseif ARGS[1] = 64:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 3
 
 elseif ARGS[1] = 65:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 3
 	
 elseif ARGS[1] = 66:
 	ShoStyle = 0
@@ -414,25 +414,25 @@ elseif ARGS[1] = 69:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 1
 	
 elseif ARGS[1] = 70:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 1
 
 elseif ARGS[1] = 71:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 1
-	ShoHeels = 4
+	ShoHeels = 1
 	
 elseif ARGS[1] = 72:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 4	
+	ShoHeels = 2
 
 elseif ARGS[1] = 73:
 	ShoStyle = 3
@@ -444,25 +444,25 @@ elseif ARGS[1] = 74:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4	
+	ShoHeels = 3
 
 elseif ARGS[1] = 75:
 	ShoStyle = 2
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4	
+	ShoHeels = 3
 	
 elseif ARGS[1] = 76:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4	
+	ShoHeels = 2
 
 elseif ARGS[1] = 77:
 	ShoStyle = 0
 	ShoQuality = 4
 	ShoCut = 1
-	ShoHeels = 4	
+	ShoHeels = 2
 	
 elseif ARGS[1] = 78:
 	ShoStyle = 0
@@ -492,19 +492,19 @@ elseif ARGS[1] = 82:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 4	
+	ShoHeels = 3
 
 elseif ARGS[1] = 83:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 4	
+	ShoHeels = 1
 	
 elseif ARGS[1] = 84:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 4
+	ShoHeels = 1
 
 elseif ARGS[1] = 85:
 	ShoStyle = 3
@@ -516,13 +516,13 @@ elseif ARGS[1] = 86:
 	ShoStyle = 3
 	ShoQuality = 4
 	ShoCut = 2
-	ShoHeels = 4
+	ShoHeels = 3
 
 elseif ARGS[1] = 87:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 6
+	ShoHeels = 3
 	
 elseif ARGS[1] = 88:
 	ShoStyle = 0
@@ -546,25 +546,25 @@ elseif ARGS[1] = 91:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 4
+	ShoHeels = 1
 	
 elseif ARGS[1] = 92:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 4	
+	ShoHeels = 1
 
 elseif ARGS[1] = 93:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 4
+	ShoHeels = 1
 	
 elseif ARGS[1] = 94:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 2
-	ShoHeels = 4
+	ShoHeels = 2
 
 elseif ARGS[1] = 95:
 	ShoStyle = 0
@@ -600,55 +600,55 @@ elseif ARGS[1] = 100:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 3
-	ShoHeels = 4
+	ShoHeels = 1
 
 elseif ARGS[1] = 101:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 3
-	ShoHeels = 4
+	ShoHeels = 1
 	
 elseif ARGS[1] = 102:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 3
-	ShoHeels = 4
+	ShoHeels = 1
 
 elseif ARGS[1] = 103:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 3
-	ShoHeels = 5
+	ShoHeels = 2
 	
 elseif ARGS[1] = 104:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 4
-	ShoHeels = 5
+	ShoHeels = 2
 
 elseif ARGS[1] = 105:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 4
-	ShoHeels = 5
+	ShoHeels = 2
 	
 elseif ARGS[1] = 106:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 4
-	ShoHeels = 5
+	ShoHeels = 2
 
 elseif ARGS[1] = 107:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 4
-	ShoHeels = 5
+	ShoHeels = 2
 	
 elseif ARGS[1] = 108:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 4
-	ShoHeels = 5
+	ShoHeels = 2
 
 elseif ARGS[1] = 109:
 	ShoStyle = 3
@@ -672,19 +672,19 @@ elseif ARGS[1] = 112:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 4
-	ShoHeels = 4
+	ShoHeels = 2
 
 elseif ARGS[1] = 113:
 	ShoStyle = 3
 	ShoQuality = 5
 	ShoCut = 3
-	ShoHeels = 5
+	ShoHeels = 2
 	
 elseif ARGS[1] = 114:
 	ShoStyle = 0
 	ShoQuality = 5
 	ShoCut = 4
-	ShoHeels = 5
+	ShoHeels = 2
 
 elseif ARGS[1] = 115:
 	ShoStyle = 3

+ 0 - 1
locations/_body_image.qsrc

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

+ 7 - 7
locations/agentned.qsrc

@@ -187,17 +187,17 @@ if $ARGS[0] = 'sell':
 			'<h4>Available offers for your properties</h4>'
 			i = 0
 			:listing_offers_on_owned_properties_loop
-				if $property_code[i] ! 'matryona_mansion' or ($property_code[i] = 'matryona_mansion' and $property_construction_status[i] = 0):
+				if $property_code[i] ! 'matryona_mansion' or ($property_code[i] = 'matryona_mansion' and property_construction_status[i] = 0):
 					!! NOTE: Offer: (last sales price + rand(-10%, +10%)) + (renovation value + rand(0%,+10%)
 					!! 		 No need to check what has been renovated, the only thing that matters is the total value of the renovation
 					!! 		 If Sveta sells, this will be stored as the new sales price of the property
 					
 					offer = property_sales_price + property_renovation_value + (property_sales_price*rand(-10,10))/100 + (property_renovation_value*rand(0,10))/100
 					'We have found a buyer for your <<$property_display[i]>>. They will offer <<func(''agentned'', ''format_price_string'', offer)>><b>₽</b>, minus 5% for fees and taxes to the value of <<func(''agentned'', ''format_price_string'', ( (offer*5)/100) )>>, bringing the total to <<func(''agentned'', ''format_price_string'', ( (offer*95)/100 ) )>>'
-					if $property_code[i] = 'city_apartment': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'city_apartment'
-					if $property_code[i] = 'village_cottage': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'village_cottage'
-					if $property_code[i] = 'matryona_mansion': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'matryona_mansion'
-					if $property_code[i] = 'city_house': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'city_house'
+					if $property_code[i] = 'city_apartment': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'city_apartment', i
+					if $property_code[i] = 'village_cottage': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'village_cottage', i
+					if $property_code[i] = 'matryona_mansion': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'matryona_mansion', i
+					if $property_code[i] = 'city_house': act 'Sell the <<$property_display[i]>>': gs 'agentned', 'finalise_sale', 'city_house', i
 				end
 				i += 1
 			if i < count: jump 'listing_offers_on_owned_properties_loop'
@@ -237,10 +237,10 @@ if $ARGS[0] = 'finalise_sale':
 	'<center><b><font color = maroon>Real Estate Agency</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/realestate/agenstvo_paperwork.jpg"></center>'
 	minut += 30
-	'You spend thirty minutes filling out the paperwork for the sale of your <<$property_display>>. <<func(''agentned'', ''format_price_string'', ( (offer*95)/100) )>><b>₽</b> has been paid into your bank account.'
+	'You spend thirty minutes filling out the paperwork for the sale of your <<$property_display[ARGS[2]]>>. <<func(''agentned'', ''format_price_string'', ( (offer*95)/100) )>><b>₽</b> has been paid into your bank account.'
 	gs 'homes_properties', 'sell_property', $ARGS[1], offer
 	karta += (offer*95)/100
-	delact 'Sell the <<$property_display>>'
+	delact 'Sell the <<$property_display[ARGS[2]]>>'
 	gs 'stat'
 	killvar 'property_display' & killvar 'property_sales_price'
 end

+ 64 - 64
locations/albina_chat.qsrc

@@ -28,7 +28,7 @@ if $ARGS[0] = 'small_talk2':
 		gs 'albina_chat','bella_conversation'
 		gs 'albina_chat','lazar_conversation'
 		gs 'albina_chat','zoya_conversation'
-		
+
 	else
 		!! Albina takes the lead
 		AlbinaQW['chat_rand'] = rand(1,3)
@@ -61,26 +61,26 @@ if $ARGS[0] = 'job_talk1':
 	end
 	act 'Odd jobs':
 		cla & *nl
-		'"Odd jobs here and there," you shrug. "There''s a lot of things to do around town. They don''t pay very much, but it gives me some spending money. You could try doing that?"' 
+		'"Odd jobs here and there," you shrug. "There''s a lot of things to do around town. They don''t pay very much, but it gives me some spending money. You could try doing that?"'
 		'She wrinkles her nose in disgust. "I don''t want to <i>work</i> for a living," she says, sending both of you into giggles.'
 		gs 'albina_chat','small_talk'
 	end
-	
+
 	gs 'albina_chat2','first_model_talk1'
-	
+
 	if film > 0:
 		act 'Tell her you''ve shot porn': cla & gs 'albina_chat','pornstar_talk1'
 	end
-	
-		
+
+
 	!!{if masseuse['jobtype'] ! 0:
 		act 'I work as a masseuse':
 			cla & *nl
-			
+
 			gs 'albina_chat','small_talk'
 		end
 	end}
-	
+
 	if stripdancesum > 0:
 		act 'I''m a stripper':
 			cla & *nl
@@ -111,7 +111,7 @@ if $ARGS[0] = 'stripper_talk1':
 			gs 'albina_chat','small_talk'
 		end
 	end
-	
+
 	act 'Nonchalant':
 		cla & *nl
 		'"I do some strip dancing in the city," you say casually.'
@@ -133,7 +133,7 @@ if $ARGS[0] = 'stripper_talk1':
 			gs 'albina_chat','small_talk'
 		end
 	end
-	
+
 	act 'Proud':
 		cla & *nl
 		'"I do some strip dancing in the city," you admit, letting a smug smile creep onto your lips.'
@@ -145,7 +145,7 @@ if $ARGS[0] = 'stripper_talk1':
 				'"I got a fake passport. Expensive sumbitch, but it gets me into 18+ areas."'
 				'She grins. "Maybe I''ll come visit you at work one night..."'
 				'"I''m not giving you a free show," you smirk.'
-				'She smiles even wider. "Don''t worry, I''d happily pay to watch you shake that ass!"' 
+				'She smiles even wider. "Don''t worry, I''d happily pay to watch you shake that ass!"'
 				gs 'albina_chat','small_talk'
 			end
 		else
@@ -167,7 +167,7 @@ if $ARGS[0] = 'pornstar_talk1':
 			'"Ew! You''re doing porn?! Seriously?!" She grimaces at you in disgust.'
 			gs 'albina_chat','pornstar_talk2'
 		end
-		
+
 		act 'Casual':
 			$AlbinaQW['porn_talk'] = 'casual'
 			cla & *clr
@@ -176,7 +176,7 @@ if $ARGS[0] = 'pornstar_talk1':
 			'"Ew! You''re doing porn?! Seriously?!" She grimaces at you in disgust.'
 			gs 'albina_chat','pornstar_talk2'
 		end
-		
+
 		act 'Happy':
 			$AlbinaQW['porn_talk'] = 'happy'
 			cla & *clr
@@ -259,7 +259,7 @@ if $ARGS[0] = 'pornstar_talk2.3':
 			cla & *nl
 			'"I need the money," you shrug. "It pays decently well."'
 			gs 'albina_chat','albina_porn_rant1'
-			
+
 			gs 'albina_chat','pornstar_talk3.1'
 			gs 'albina_chat','pornstar_talk3.2'
 		end
@@ -275,7 +275,7 @@ if $ARGS[0] = 'pornstar_talk2.4':
 			'"I just want to be able to afford nice things," you shrug. "The pay is pretty good and lets me buy expensive stuff. Is that so wrong?"'
 		end
 		gs 'albina_chat','albina_porn_rant2'
-		
+
 		gs 'albina_chat','pornstar_talk3.1'
 		gs 'albina_chat','pornstar_talk3.2'
 	end
@@ -290,7 +290,7 @@ if $ARGS[0] = 'pornstar_talk2.5':
 			'"It''s kind of fun actually," you smirk. "The sex is really good and it kind of makes me feel like a movie star."'
 		end
 		gs 'albina_chat','albina_porn_rant2'
-		
+
 		gs 'albina_chat','pornstar_talk3.1'
 		gs 'albina_chat','pornstar_talk3.2'
 	end
@@ -323,7 +323,7 @@ if $ARGS[0] = 'pornstar_talk3.2':
 			'"Thanks," you say and finally move on to other topics.'
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		act 'Apologize':
 			cla & *nl
 			'You take a deep breath as your adrenaline comes down.'
@@ -351,7 +351,7 @@ if $ARGS[0] = 'underwear_talk':
 			'You both laugh at that.'
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		act 'I like them':
 			cla & *nl
 			'"I just like them," you shrug. "They''re cheap and comfortable, and I like the designs."'
@@ -359,7 +359,7 @@ if $ARGS[0] = 'underwear_talk':
 			gs 'albina_chat','small_talk'
 		end
 	end
-	
+
 	act 'Pussy Kats':
 		cla & *nl
 		'"I get most of my underwear from Pussy Kats," you reply.'
@@ -371,7 +371,7 @@ if $ARGS[0] = 'underwear_talk':
 			'She punctuates her acronym by drawing an inverted triangle with both her index fingers while smirking and bouncing her eyebrows at you.'
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		act 'They''re cute':
 			cla & *nl
 			'"I like cute panties," you answer. "Between the cuts, designs and colors, Pussy Kats are the cutest."'
@@ -379,7 +379,7 @@ if $ARGS[0] = 'underwear_talk':
 			gs 'albina_chat','small_talk'
 		end
 	end
-	
+
 	act 'Fashionista':
 		cla & *nl
 		'"I get most of my underwear from Fashionista," you reply.'
@@ -387,7 +387,7 @@ if $ARGS[0] = 'underwear_talk':
 		'"I guess. I just like the way it looks and feels."'
 		gs 'albina_chat','small_talk'
 	end
-	
+
 	act 'Lusso':
 		cla & *nl
 		'"I get most of my underwear from Lusso Intimo," you reply.'
@@ -396,7 +396,7 @@ if $ARGS[0] = 'underwear_talk':
 		'"Quality doesn''t matter to me as long as it''s a thong and it looks good. And they don''t sell thongs there," she grins wickedly.'
 		gs 'albina_chat','small_talk'
 	end
-	
+
 	act 'I mostly wear sports underwear':
 		cla & *nl
 		'"I mostly buy sports underwear actually," you reply.'
@@ -407,17 +407,17 @@ if $ARGS[0] = 'underwear_talk':
 			'"Got hella V-P-O though," she says while drawing an inverted triangle with both her index fingers and bouncing her eyebrows suggestively.'
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		act 'Good for dancing':
 			cla & *nl
-			'"They''re good for dancing," you shrug. "Nice and flexible, no chaffing."'
+			'"They''re good for dancing," you shrug. "Nice and flexible, no chafing."'
 			'"You''re still dancing?" she asks seriously. "After Starlets shut down and all I thought you might..."'
 			'"Of course I''m still dancing! Aren''t you?"'
 			'"I guess that''s a fair point," she smiles back, perhaps feeling a little silly for assuming.'
 			gs 'albina_chat','small_talk'
 		end
 	end
-	
+
 	if pcs_traits['commando_lvl'] = 3:
 		act 'I don''t wear underwear':
 			AlbinaQW['commando_know'] = 3
@@ -432,7 +432,7 @@ if $ARGS[0] = 'underwear_talk':
 				'She stares at you for a few seconds. "Slut," she replies as her face breaks into one of the biggest grins you''ve ever seen her wear.'
 				gs 'albina_chat','small_talk'
 			end
-			
+
 			act 'Casual':
 				cla & *nl
 				'"I don''t," you shrug.'
@@ -449,7 +449,7 @@ if $ARGS[0] = 'underwear_talk':
 				'She stares at you for a few seconds. "Slut," she replies as her face breaks into one of the biggest grins you''ve ever seen her wear.'
 				gs 'albina_chat','small_talk'
 			end
-			
+
 			act 'Proud':
 				cla & *nl
 				'"I don''t wear panties," you smirk.'
@@ -478,14 +478,14 @@ if $ARGS[0] = 'commando_talk':
 				'"<i>That''s</i> weird," she says while giving you a funny look.'
 				gs 'albina_chat','small_talk'
 			end
-			
+
 			act 'It seemed sexy':
 				cla & *nl
 				'"It just seemed sexy at the time. Made me <i>feel</i> sexy. That''s why I started anyways. Now I can''t go back. It feels weird having something between my legs covering my pussy. It would be like if I walked around with tape over my nipples under my shirt."'
 				'"Well, you''re right about the sexy part," she smirks while eyeing your ass.'
 				gs 'albina_chat','small_talk'
 			end
-			
+
 			act 'Panty lines':
 				cla & *nl
 				'"I started because I didn''t want panty lines," you explain. "But now it''s a personal comfort thing. It feels weird having something between my legs covering my pussy. It would be like if I walked around with tape over my nipples under my shirt."'
@@ -494,7 +494,7 @@ if $ARGS[0] = 'commando_talk':
 				gs 'albina_chat','small_talk'
 			end
 		else
-		
+
 		end
 	else
 		'"So you really never wear underwear?" she asks, that twinkle back in her eye again.'
@@ -565,7 +565,7 @@ if $ARGS[0] = 'pube_talk2':
 			'"Fuck yeah!" Albina cheers, high-fiving you. "Smooth pussy for life!"'
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		act 'It''s stylish':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
@@ -573,7 +573,7 @@ if $ARGS[0] = 'pube_talk2':
 			'"Pfft-! You''re just like Katja," she snickers. "But I won''t complain that you see it my way either. Smooth pussy revolution!" she cheers, high-fiving you.'
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		act 'Boys like it':
 			cla & *clr
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
@@ -595,9 +595,9 @@ if $ARGS[0] = 'pube_talk2':
 			end
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		gs 'albina_chat','grow_pubes_chat1'
-		
+
 	elseif $pube_style['word'] = 'stubbly':
 		!! stubbly
 		act 'I really need to':
@@ -608,9 +608,9 @@ if $ARGS[0] = 'pube_talk2':
 			'"Ew. I can''t even wait a day. If I feel stubble, the wax comes out <i>that night</i>."'
 			gs 'albina_chat','small_talk'
 		end
-		
+
 		gs 'albina_chat','grow_pubes_chat1'
-		
+
 		if pubestyle = 11:
 			act 'Only once it gets bad (lazy)':
 				cla & *clr
@@ -621,7 +621,7 @@ if $ARGS[0] = 'pube_talk2':
 				'"Ew. I don''t know how you can stand it. If I feel stubble, the wax comes out <i>that night</i>."'
 			end
 		end
-		
+
 		'"I can''t help but notice in the locker room that you don''t keep your stubble clean all the time," she remarks with a raised eyebrow.'
 	elseif pcs_pubes <= 15:
 		!! small patch
@@ -630,11 +630,11 @@ if $ARGS[0] = 'pube_talk2':
 		!! trimmed/styled bush
 		if (pubestyle >= 2 and pubestyle <= 8) or pubestyle >= 12:
 			!! styled section
-			'"Ugh, how can you stand having hair down there?" she rants. "I bet making it look all fancy doesn''t make it any less itchy!"' 
+			'"Ugh, how can you stand having hair down there?" she rants. "I bet making it look all fancy doesn''t make it any less itchy!"'
 			gs 'albina_wine_event', 'shave_answer5'
 		else
 			!! trimmed section
-			'Ugh, how can you stand having hair down there?" she rants. "You''ve already trimmed it down, so why not just finish the job and shave it off?"' 
+			'Ugh, how can you stand having hair down there?" she rants. "You''ve already trimmed it down, so why not just finish the job and shave it off?"'
 			gs 'albina_wine_event', 'shave_answer5'
 		end
 	elseif pcs_pubes <= 30:
@@ -646,7 +646,7 @@ if $ARGS[0] = 'pube_talk2':
 		'"Holy shit <<$pcs_nickname>>, do you <i>ever</i> shave?" she asks with a disgusted look on her face as she moves her head uncomfortably on your lap before turning to glance down at the wild bush between your legs. "You practically have an entire sheep down there! How can you stand it?"'
 		gs 'albina_wine_event','shave_answer6'
 	end
-	
+
 end
 
 if $ARGS[0] = 'grow_pubes_chat1':
@@ -656,7 +656,7 @@ if $ARGS[0] = 'grow_pubes_chat1':
 		'"I''m actually growing it out right now," you say.'
 		gs 'albina_chat','grow_pubes_chat2'
 	end
-	
+
 	act 'Thinking about growing it out':
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
@@ -671,15 +671,15 @@ if $ARGS[0] = 'grow_pubes_chat2':
 		cla & *nl
 		'"No reason," you shrug back. "Change of pace I guess. Might feel nice having some hair down there again."'
 	end
-	
+
 	act 'Too much work':
 		cla & *nl
-		
+
 	end
-	
+
 	act 'Feels weird':
 		cla & *nl
-		
+
 	end
 end
 
@@ -768,11 +768,11 @@ if $ARGS[0] = 'lover_conversation':
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
 		'You shake your head. "Not really, no..."'
-		'She shakes her head and smiles. "Don''t worry, not everyone''s interested in dating."' 
+		'She shakes her head and smiles. "Don''t worry, not everyone''s interested in dating."'
 		act 'Stop talking': gt 'albinahome', 'bedroom'
 		act 'Change the subject': gt 'albina_chat', 'chat'
 	end
-	
+
 	if arrsize('$fuckbuddy') = 1:
 		act 'I have a fuckbuddy':
 			cla & *clr
@@ -803,7 +803,7 @@ if $ARGS[0] = 'lover_conversation':
 			act 'Change the subject': gt 'albina_chat', 'chat'
 		end
 	end
-	
+
 	if stat['hookup'] > 0:
 		act 'I hook up with random guys':
 			cla & *clr
@@ -812,7 +812,7 @@ if $ARGS[0] = 'lover_conversation':
 			'"Duh. I can''t go a day without some pervert catcalling me about my ass and trying to get me to go home with them."'
 			'"Sometimes I let them," you wink and Albina''s jaw drops.'
 			'"You slut!" she grins.'
-			'"Hey!" you say, shoving her back with both hands but laughing anyways.'	
+			'"Hey!" you say, shoving her back with both hands but laughing anyways.'
 			'"Ow! Come on! You know I''m kidding. But seriously, do you really get off on one night stands? I like fucking Lazar because he <i>knows</i> how to fuck me. He knows exactly what to do to drive me insane and I love it. Is fucking a random guy once enough for you?"'
 			!! '"Ow! Come on! You know I''m kidding. But seriously, you would really trust a random guy you just met like that?"'
 			act 'It''s hit or miss':
@@ -823,7 +823,7 @@ if $ARGS[0] = 'lover_conversation':
 				act 'Stop talking': gt 'albinahome', 'bedroom'
 				act 'Change the subject': gt 'albina_chat', 'chat'
 			end
-			
+
 			act 'Absolutely':
 				cla & *nl
 				'"Absolutely," you grin. "I love trying new dicks! I think I''m up to <<stat[''vaginal'']>>."'
@@ -834,7 +834,7 @@ if $ARGS[0] = 'lover_conversation':
 			end
 		end
 	end
-	
+
 	if Rex_Love = 1 or artemQW['bf'] = 1 or kotovLoveQW = 1 or fedorKozlovQW or NikoVolkovQW >= 5 or pcs_lover > pcs_girlfriends:
 		act 'I have a boyfriend':
 			cla & *clr
@@ -884,7 +884,7 @@ if $ARGS[0] = 'lover_conversation':
 					'You shake your head. "He''s sweet, and really nice to me."'
 					'She laughs, seemingly amused by your words. "Yeah, I''m sure he is ''nice'' and ''sweet''. Does he rock your world though?" she asks with a grin.'
 					'You disregard her comment. "There''s more to life than sex you know!" The amused look on her face tells you she isn''t buying it. "Okay fine, he''s pretty good at it... Good enough anyway."'
-					'She again laughs at your comment. "I''m sure that feedback will be well received! Whatever, he''s a nerd who''s getting some pussy. That makes him the alpha of that pack of losers," she says while shrugging her shoulders.' 
+					'She again laughs at your comment. "I''m sure that feedback will be well received! Whatever, he''s a nerd who''s getting some pussy. That makes him the alpha of that pack of losers," she says while shrugging her shoulders.'
 					act 'Stop talking': gt 'albinahome', 'bedroom'
 					act 'Change the subject': gt 'albina_chat', 'chat'
 				end
@@ -918,7 +918,7 @@ if $ARGS[0] = 'lover_conversation':
 			if albina['kolka_know'] = 0:
 				'"Well..." you say. "I''ve been doing stuff with Kolka lately."'
 				'"Kolka? Who''s Kolk-" She stops mid-sentence and her eyes go wide. "Wait, you mean your <i>brother</i>?!"'
-				
+
 				if brotherSex >= 5:
 					act 'It''s just handjobs':
 						cla & *nl
@@ -934,8 +934,8 @@ if $ARGS[0] = 'lover_conversation':
 						act 'Stop talking': gt 'albinahome', 'bedroom'
 						act 'Change the subject': gt 'albina_chat', 'chat'
 					end
-				end	
-				
+				end
+
 				if brotherSex >= 6:
 					act 'It''s just blowjobs':
 						cla & *nl
@@ -951,8 +951,8 @@ if $ARGS[0] = 'lover_conversation':
 						act 'Stop talking': gt 'albinahome', 'bedroom'
 						act 'Change the subject': gt 'albina_chat', 'chat'
 					end
-				end	
-				
+				end
+
 				if brotherSex = 9:
 					act 'It''s just casual':
 						cla & *nl
@@ -966,8 +966,8 @@ if $ARGS[0] = 'lover_conversation':
 						act 'Stop talking': gt 'albinahome', 'bedroom'
 						act 'Change the subject': gt 'albina_chat', 'chat'
 					end
-				end	
-				
+				end
+
 				if brotherSex = 10:
 					act 'I love him':
 						cla & *nl
@@ -981,7 +981,7 @@ if $ARGS[0] = 'lover_conversation':
 						act 'Stop talking': gt 'albinahome', 'bedroom'
 						act 'Change the subject': gt 'albina_chat', 'chat'
 					end
-				end	
+				end
 			else
 				'"Well, still mostly Kolka, but-"'
 				'Albina shoves her hand directly into your face and clamps it over your mouth while glaring at you.'
@@ -1004,7 +1004,7 @@ if $ARGS[0] = 'zoya_conversation':
 			act 'Continue':
 				cla & *clr
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
-				'"It made her uncomfortable and after she ended up pregnant with me, things just got worse. My father never wanted children, so they argued constantly after I was born. She ended up divorcing him when I was 8 years old after she found out about the 18 year old gold digging stripper whore who was sucking his dick every chance she got. She stormed out on him and never looked back. Being forced to leave me behind broke her heart and she''s still feeling guilty about it, so please don''t mention anything about it to her."' 
+				'"It made her uncomfortable and after she ended up pregnant with me, things just got worse. My father never wanted children, so they argued constantly after I was born. She ended up divorcing him when I was 8 years old after she found out about the 18 year old gold digging stripper whore who was sucking his dick every chance she got. She stormed out on him and never looked back. Being forced to leave me behind broke her heart and she''s still feeling guilty about it, so please don''t mention anything about it to her."'
 				'"Anyway, she went to Moscow and finally got into university, where she earned her degree before she moved back here and got her dream job working at a hospital in the city, right under his nose. She''s looking into getting me into uni myself," she says with a warm smile and a twinkle in her eye. You''ve never seen her look so... happy before.'
 				'She turns to you. "So what about you? What do you want to do after school?" she asks warmly.'
 				act 'I don''t know':
@@ -1034,7 +1034,7 @@ if $ARGS[0] = 'zoya_conversation':
 				if loverGender[i] ! 1: dynamic '	act ''Get married to <<$npc_usedname["<<$lover[i]>>"]>>'': gt ''albina_chat'', ''telling_marrige_dreams'', $npc_usedname["<<$lover[i]>>"]'
 				i +=1
 				if i < ARRSIZE('lover'): jump 'marrid_looop'
-				Killvar 'i'				
+				Killvar 'i'
 			end
 		end
 	end
@@ -1073,7 +1073,7 @@ if NikoPayback = 2 and AlbinaQW['niko_help'] = 0:
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/albina/albinatalk.jpg"></center>'
 	'You feel Albina wrap an arm around you. "What''s up, <<$pcs_nickname>>? You''re looking pretty glum."'
 	'You collect your thoughts before replying. "Ever since I broke up with Niko, he''s been raping me at lunchtime and I..."'
-	'Her face contorts in rage. "That slimy little motherfucker''s been doing WHAT?! Don''t worry, I''ll sort him out..."' 
+	'Her face contorts in rage. "That slimy little motherfucker''s been doing WHAT?! Don''t worry, I''ll sort him out..."'
 	'She doesn''t eleborate on what she''s planning when you ask, but you give her a tight hug. "Thanks Albina, I just don''t know what to do!"'
 	act 'Continue': gt 'albinahome','bedroom'
 	end

+ 1 - 0
locations/albina_starlets.qsrc

@@ -259,6 +259,7 @@ if $ARGS[0] = 'starlets':
 	AlbinaQW['startletsday'] = daystart
 	starlets_practice = 0
 	gs 'exercise', 'tier2', 120, 'agil', 'dancero'
+	gs 'exp_gain', 'dancero', 2
 	pcs_mood -= 5
 	inhib_exp += rand(2,4)
 	if perform_lvl < 35: gs 'exp_gain', 'perform', 1

+ 3 - 2
locations/anush_bedroom_city.qsrc

@@ -72,6 +72,7 @@ if $ARGS[0] = 'anushroom':
 	music_loop = 1
 	*clr & cla
 	minut += 1
+	killvar '$returnLoc'
 	gs 'stat'
 	'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/anushroom.jpg"></center>'
@@ -238,8 +239,8 @@ if $ARGS[0] = 'night_stand':
 		end
 !!this goes to anushkaev1 can you do what ever code is needed so both here and her pav apartment lead to it and then they go back to the correct location afterwards? That will save us from making a new sex folder with just a lot of repeat of the same content.
 !HM: done
-		act 'Strap-on': gt 'anushkaev1', 'strapon1', 'city'
-		act 'Butt plug': gt 'anushkaev1', 'buttplug', 'city'
+		act 'Strap-on': $returnLoc = '_city' & gt 'anushkaev1', 'strapon1'
+		act 'Butt plug': $returnLoc = '_city' & gt 'anushkaev1', 'buttplug'
 		act 'Joint':
 			*clr & cla
 			minut += 2

+ 2 - 2
locations/anushapt.qsrc

@@ -278,7 +278,7 @@ if $ARGS[0] = 'home':
 			'He looks you over from head to toe, obviously trying to imagine you naked. "What?" he asks.'
 			'You ignore his staring and ask "Is Anushka home?"'
 			'He hooks his thumb over his shoulder to point down the hall. "She''s in her room, likely getting stoned or masturbating to porn or something."'
-			if maksim_blackmail >= 1:
+			if maksimQW['blackmail'] >= 1 and maksimQW['blackmail_flash'] <= 5:
 				*nl
 				'You ignore his comments and start to step around him, to enter the apartment. But he puts his arm up blocking you from entering.'
 				'You give him a look of annoyance. "Do you mind?"'
@@ -287,7 +287,7 @@ if $ARGS[0] = 'home':
 				'He laughs. "If you want to come in, that''s the price now. So pay up or fuck off." You sigh, you know the little snitch would tell Anushka, so do you just leave or flash him.'
 				act 'Leave': gt 'pav_complex', 'start'
 				act 'Flash Maksim': gt 'anushkamaksim', 'hallway_flash_tits'
-			elseif maksimQW['blackmail_flash'] > 5:
+			elseif maksimQW['blackmail_flash'] > 5 and maksimQW['blackmail_flash'] <= 10:
 				*nl
 				'You ignore his comments and start to step around him, to enter the apartment. But he puts his arm up blocking you from entering.'
 				'You sigh, knowing what he wants. "Fine!" You say as you start to show him your tits again.'

+ 6 - 6
locations/anushapt_city.qsrc

@@ -438,7 +438,7 @@ if $ARGS[0] = 'bathroom':
 			'Despite the pattering noise of the running water, you hear the bathroom door open. You look past the shower curtain to see Eduard walking up to the toilet and unzipping his pants.'
 			act 'Uhm excuse me?':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/locations/city/island/homes/band_apt/showergetout.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/showergetout.jpg"></center>'
 				'You pull the shower curtain tight against your body to make sure there is nothing for him to see other than your head, but you look out at him in consternation.'
 				'He looks up at you when you question him. It takes him a moment to realize who you are and he quickly zips up his pants. "Shit sorry... I thought you were my wife." He turns away and hurries for the door. "I''ll just be going... Sorry again." he says as he pulls the door closed. Unsure about what to think, you just decide to finish your shower.'
 				act 'Get out of the shower': gt 'anushapt_city','bathroom'
@@ -447,7 +447,7 @@ if $ARGS[0] = 'bathroom':
 				act 'Give him a show':
 					*clr & cla
 					inhib_exp += 3
-					'<center><img <<$set_imgh>> src="images/locations/city/island/homes/band_apt/showershow.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/showershow.jpg"></center>'
 					'It seems he hasn''t looked over to see who is in the shower yet. You decide to pull the curtain wide open and give him a proper view of your soapy naked body. "Excuse me, is this what you were looking for?" you ask him.'
 					*nl
 					'He is a bit surprised at first. "Oh sorry... I thought you were my wife." His eyes roam up and down your naked body as he pulls out his dick and starts to piss in the toilet. "Don''t mind me. Just get back to your shower." he adds with a smirk.'
@@ -461,7 +461,7 @@ if $ARGS[0] = 'bathroom':
 			'Despite the pattering noise of the running water, you hear the bathroom door creaking slightly. Looking past the shower curtain you see that the bathroom door has been cracked open a little bit. Through the small crack in the doorway, you notice Maksim, Anushka''s younger brother, peeking in to watch you shower.'
 			act 'Yell at him':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/locations/city/island/homes/band_apt/showergetout.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/showergetout.jpg"></center>'
 				if locat['A144'] = 0:
 					'You pull the shower curtain tight against your body to make sure there is nothing for him to see other than your head. "Get out of here you little pervert!"'
 					'He laughs, then quickly ducks away before you hear Anushka yelling at him. "What the hell are you doing?" As you continue your shower, you hear a lot more yelling from behind the door, and there is even a loud crash. Suddenly, silence descends upon the apartment.'
@@ -477,7 +477,7 @@ if $ARGS[0] = 'bathroom':
 				act 'Give him a show':
 					*clr & cla
 					inhib_exp += 3
-					'<center><img <<$set_imgh>> src="images/locations/city/island/homes/band_apt/showershow.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/showershow.jpg"></center>'
 					'Looking straight at him, you give him a smile. You pull the curtain wide open to give him the perfect view of your naked, wet, supple body. His eyes grow wide and he wastes no time, quickly coming into the bathroom, pulling the door closed behind him. After a few minutes of just watching you, you notice him pulling out his phone and trying to take a picture. You immediately shake your head at him. "No pictures or I will tell your sister that you snuck in here and started taking pictures of me in the shower." He doesn''t say anything, but gives you a look that''s a mixture of disgust, annoyance and fear at the mention of his sister.'
 					'He just settles in, enjoying watching you shower and dry yourself off. As you start getting dressed, you shoo him out of the room before finishing up.'
 					act 'Get out of the shower': gt 'anushapt_city','bathroom'
@@ -523,7 +523,7 @@ if $ARGS[0] = 'livingroom':
 			*clr & cla
 			gs 'npc_relationship', 'modify', 'A156', 'like'
 			minut += 30
-			'<center><img <<$set_imgh>> src="images/shared/food/video_games/videogame_boy.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/shared/home/video_games/videogame_boy.jpg"></center>'
 			'You take a seat next to Arkadi as he plays a video game. After a few minutes he switches games to a two player game. Smiling to him you pick up the other controller and start playing with him. The two of you have a good time playing games for awhile, but after a bit you get kinda tired playing the game you are playing and he seems to have no interest in switching games. So you get up and decide to look around the rest of the apartment.'
 			act 'Leave the livingroom':gt 'anushapt_city', 'hallway'
 		end
@@ -876,7 +876,7 @@ if $ARGS[0] = 'nushlivroom':
 	gs 'anushapt_city_schedule'
 	locat['A144'] = 5
 	'<center><b><font color = maroon>Living room</font></b></center>'
-	'<center><img <<$set_imgh>> src="images/locations/city/island/homes/band_apt/living.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/island/homes/band_apt/living_room.jpg"></center>'
 	'The room has a couple of recliners and a couch where Anushka is sitting. In front of the couch is a large coffee table. Several empty beer bottles and cups are spread across the table. There are also some scattered papers and a pill bottle sitting on the table. Opposite the couch but in front of the window is a fairly large TV playing an action movie of some sort and a stereo system. The room isn''t exactly messy, but it is far from clean. It doesn''t look like it has been dusted in months or the floor has been recently swept. You walk over and sit down next to Anushka.'
 	*nl
 	'You notice that you don''t hear anything else. "Where''s everyone else?" you ask her.'

+ 4 - 4
locations/anushaptbr.qsrc

@@ -1,9 +1,9 @@
 # anushaptbr
 !!2024/04/03
-!!maksimQW['QWstage'] = 1 - tracks the stage of his overall questline
-!!maksimQW['blackmail_flash'] += 1 - tracks how many times Sveta has been blackmailed after agreeing to it
-!!maksimQW['blackmail'] = 1 = shows if Sveta has agreed to be blackmailed
-!!maksimQW['nush_games'] += 1 shows how many times Sveta and Nush have played her brothers in video games
+!!maksimQW['QWstage'] - tracks the stage of his overall questline
+!!maksimQW['blackmail_flash']- tracks how many times Sveta has been blackmailed after agreeing to it
+!!maksimQW['blackmail'] shows if Sveta has agreed to be blackmailed
+!!maksimQW['nush_games'] shows how many times Sveta and Nush have played her brothers in video games
 
 if $ARGS[0] = 'brotherroom':
 	$menu_loc = 'anushaptbr'

+ 8 - 9
locations/anushkachat_city.qsrc

@@ -280,7 +280,6 @@ if $ARGS[0] = 'chat':
 			minut += 5
 			'<center><h4><font color="maroon">Anushka''s Room</font></h4></center>'
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
-!!need code that checks if Sveta is at the Uni, living in the city or still living in pav.
 			if $home['current'] = 'university_dorm':
 				'"I''m not sure, but I guess I have a few options," you tell her.'
 				'She nods. "Well, you should decide before you get stuck in this crappy little town married to some asshole whose kids you''re popping out every few years. Not judging you, unless that''s what you want. I''m just saying..."'
@@ -364,7 +363,7 @@ if $ARGS[0] = 'chat':
 			if model['status'] = 1:
 				'Knowing she''s a model, you decide to ask her about it. "I was in the city killing time between photo shoots and saw your photo album at Aphrodite... I didn''t know you modeled as well."'
 				'She nods. "Yeah it pays pretty well, so you model too?" You nod yes and soon the two of you are talking about the varies modeling gigs you have done and you have discovered you both work for the same modeling agency.'
-				act 'Do something else':gt 'anush_bedroom','anushroom'
+				act 'Do something else':gt 'anush_bedroom_city','anushroom'
 			else
 				anushkaQW['model_referral'] = 1
 				'Knowing she''s a model, you decide to ask her about it. "I was in the city and saw your photo album at Aphrodite..."'
@@ -373,8 +372,8 @@ if $ARGS[0] = 'chat':
 				'She nods. "Sort of... I mean, if you''re willing to do nude modeling, you can make a lot of money in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
 				'"Nude?" you silently ask yourself. Still, if it pays that much then it might be worth considering. "I don''t know... Maybe... How would I get started? Do I just walk in and tell them I want to be a model or something?"'
 				'She grins at you. "Yeah, pretty much. It helps if you have a portfolio already, but just tell them I sent you. Oh, and make sure you have ID showing you''re old enough."'
-				act 'Stop talking': gt 'anush_bedroom','anushroom'
-				act 'Keep talking': gt 'anushkachat', 'chat'
+				act 'Stop talking': gt 'anush_bedroom_city','anushroom'
+				act 'Keep talking': gt 'anushkachat_city', 'chat'
 				if fakepassport ! 1:
 					act 'Underaged?':
 						*clr & cla
@@ -383,8 +382,8 @@ if $ARGS[0] = 'chat':
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 						'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model in the nude when you''re under 18. "Wait a second, how did you get past the age check?"'
 						'She laughs. "Sometimes I forget that not everyone has a fake passport. It''s pretty easy to pick one up though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
-						act 'Stop talking': gt 'anush_bedroom','anushroom'
-						act 'Keep talking': gt 'anushkachat', 'chat'
+						act 'Stop talking': gt 'anush_bedroom_city','anushroom'
+						act 'Keep talking': gt 'anushkachat_city', 'chat'
 					end
 				end
 			end
@@ -571,8 +570,8 @@ if $ARGS[0] = 'chat':
 			'She laughs. "It was hot, I loved it, I like it when guys get all forceful and him being a neeerd." She copies your mocking tone for nerd but is grinning. "Just made it extra hot, so yeah I am up for another go. At least for now."'
 			'You arch a brow. "For now?" You ask her.'
 			'She shrugs a bit. "Yeah it''s fun but I think the novelty will wear off eventually... but maybe I should start looking at other nerds, instead of just focusing on bad boys and jocks all the time." You both laugh at that and talking about some of the nerd boys and what you think of them.'
-			act 'Stop talking': gt 'anush_bedroom','anushroom'
-			act 'Keep talking': gt 'anushkachat', 'chat'
+			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
+			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end
 	end
 end
@@ -630,7 +629,7 @@ if $ARGS[0] = 'boyfriend_chat':
 		act 'Niko':
 			cla
 			'"Niko," you tell her.'
-			'She looks at you, concerned. "<<$pcs_nickname>>, he''s bad news and I don''t mean in the ''fun bad boy'' sort of way. I mean he isn''t what he seems." Noticing your facial expression from bad mouthing your boyfriend, she holds up her hand. "Hey, it''s your life so do what you want. Just... just be careful with him.'
+			'She looks at you, concerned. "<<$pcs_nickname>>, he''s bad news and I don''t mean in the ''fun bad boy'' sort of way. I mean he isn''t what he seems." Noticing your facial expression from bad mouthing your boyfriend, she holds up her hand. "Hey, it''s your life so do what you want. Just... just be careful with him."'
 			act 'Stop talking': gt 'anush_bedroom_city','anushroom'
 			act 'Keep talking': gt 'anushkachat_city', 'chat'
 		end

+ 0 - 7
locations/anushkaev1.qsrc

@@ -1,13 +1,6 @@
 # anushkaev1
 !2021/05/06
 
-! First see if the return location var is set, adjust it so we can concatenate them.
-if $ARGS[1] = 'city':
-	$returnLoc = '_city'
-else
-	$returnLoc = ''
-end
-
 if $ARGS[0] = 'strapon1':
 	*clr & cla
 	menu_off = 1

+ 2 - 2
locations/anushkaev2.qsrc

@@ -455,7 +455,7 @@ if $ARGS[0] = 'watch_nushval':
 			act 'Walk in and join them': gt 'anushkaev2', 'val3some'
 			act 'Keep watching':
 				*clr & cla
-				if rand(1,5) = 1 and maksim_blackmail ! 1:
+				if rand(1,5) = 1 and maksimQW['blackmail'] ! 1:
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/caughtspying.jpg"></center>'
 					'As you''re watching, you''re so caught up in the action that you don''t notice your hand slide down to your crotch, nor hear the footsteps heading your way.'
 					'"What are you doing?" You nearly jump out of your skin and blush when you look back and see Maksim, cursing to yourself for being so foolish as to let yourself be caught spying.'
@@ -816,7 +816,7 @@ if $ARGS[0] = 'watch_nushmar':
 			act 'Leave apartment': gt 'pav_complex','start'
 			act 'Keep watching':
 				*clr & cla
-				if rand(1,5) = 1 and maksim_blackmail ! 1:
+				if rand(1,5) = 1 and maksimQW['blackmail'] ! 1:
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/caughtspying.jpg"></center>'
 					'As you''re watching, you''re so caught up in the action that you don''t notice your hand slide down to your crotch, nor hear the footsteps heading your way.'
 					'"What are you doing?" You nearly jump out of your skin and blush when you look back and see Maksim, cursing to yourself for being so foolish as to let yourself be caught spying.'

+ 4 - 1
locations/anushkamaksim.qsrc

@@ -10,7 +10,8 @@ if $ARGS[0] = 'maksim_blackmail':
 	'He grins at you and looks you over as if he''s giving it some serious thought. "For now, just show me your tits."'
 	act 'Show him your tits':
 		*clr & cla
-		maksimQW['blackmail'] = 1
+		maksimQW['blackmail'] += 1
+		maksimQW['blackmail_flash'] += 1
 		gs 'fame', 'pav', 'sex', 1
 		inhib_exp += rand(1,3)
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/anushapt/hallflashtits.jpg"></center>'
@@ -56,6 +57,7 @@ if $ARGS[0] = 'maksim_blackmail':
 							minut += 5
 							gs 'fame', 'pav', 'sex', 2
 							inhib_exp += rand(1,3)
+							maksimQW['blackmail_flash_friends'] += 1
 							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/maksim/flashtits1.jpg"></center>'
 							'You sigh as you pull aside your clothes and flash your breasts at them.'
 							'"Holy shit! She really did it!" They all look surprised, but Maksim just looks smug.'
@@ -90,6 +92,7 @@ if $ARGS[0] = 'maksim_blackmail':
 						'You give him a look of surprise and don''t move, but his stern glare tells you what will happen if you don''t.'
 
 						act 'Flash them your tits':
+							maksimQW['blackmail_flash_friends'] += 1
 							*clr & cla
 							minut += 5
 							gs 'fame', 'pav', 'sex', 2

+ 10 - 32
locations/arousal.qsrc

@@ -114,8 +114,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	grange = dyneval('result=strpos(''skinny   slimx     well pr   thicker   thickx    massive   monstrous'',$ARGS[0])',mid($temp_dick_girth+'x',1,6))/2
 
 	!! first let us determine how slippery are pc''s holes
-	if anal_slip < max(1, 8 + pain['asshole']/2 - pcs_ass) _ 
-	and mid($ARGS[0],1,4) = 'anal' and arrpos('$ARGS', 'anal_finger') < 0:
+	if anal_slip < max(1, 8 + pain['asshole']/2 - pcs_ass) and mid($ARGS[0],1,4) = 'anal' and arrpos('$ARGS', 'anal_finger') < 0:
 		!! cum
 		if cumloc[3] > 0: anal_slip += rand(cumvol[3]/15, cumvol[3]/10)
 		!! spit
@@ -127,14 +126,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 				anal_slip += 8
 				ar_anal_lube = 1
 			!! PC lube
-			elseif auto_anal_lube = 1 _ 
-			and arrpos('$ARGS', 'rape') < 0 _ 
-			and arrpos('$ARGS', 'gangbang') < 0 _ 
-			and arrpos('$ARGS', 'rough') < 0 _ 
-			and arrpos('$ARGS', 'beast') < 0 _ 
-			and arrpos('$ARGS', 'BDSM') < 0 _ 
-			and arrpos('$ARGS', 'bound') < 0 _ 
-			and arrpos('$ARGS', 'humiliation') < 0:
+			elseif auto_anal_lube = 1 and arrpos('$ARGS', 'rape') < 0 and arrpos('$ARGS', 'gangbang') < 0 and arrpos('$ARGS', 'rough') < 0 and arrpos('$ARGS', 'beast') < 0 and arrpos('$ARGS', 'BDSM') < 0 and arrpos('$ARGS', 'bound') < 0  and arrpos('$ARGS', 'humiliation') < 0:
 				gs 'arousal', 'auto_lube', 'anal'
 			end
 		end
@@ -145,8 +137,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 	end
 
-	if vaginal_slip < max(1, 8 + pain['vaginal']/2 - pcs_vag) _ 
-	and mid($ARGS[0],1,4) = 'vagi' and arrpos('$ARGS', 'vaginal_finger') < 0:
+	if vaginal_slip < max(1, 8 + pain['vaginal']/2 - pcs_vag) and mid($ARGS[0],1,4) = 'vagi' and arrpos('$ARGS', 'vaginal_finger') < 0:
 		!! horny
 		if vaginal_slip < pcs_horny / 10: vaginal_slip = pcs_horny / 10
 		!! cum
@@ -160,14 +151,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 				vaginal_slip += 8
 				ar_vag_lube = 1
 			!! PC lube
-			elseif auto_vag_lube = 1 _ 
-			and arrpos('$ARGS', 'rape') < 0 _ 
-			and arrpos('$ARGS', 'gangbang') < 0 _ 
-			and arrpos('$ARGS', 'rough') < 0 _ 
-			and arrpos('$ARGS', 'beast') < 0 _ 
-			and arrpos('$ARGS', 'BDSM') < 0 _ 
-			and arrpos('$ARGS', 'bound') < 0 _ 
-			and arrpos('$ARGS', 'humiliation') < 0:
+			elseif auto_vag_lube = 1 and arrpos('$ARGS', 'rape') < 0 and arrpos('$ARGS', 'gangbang') < 0	and arrpos('$ARGS', 'rough') < 0  and arrpos('$ARGS', 'beast') < 0 and arrpos('$ARGS', 'BDSM') < 0 and arrpos('$ARGS', 'bound') < 0  and arrpos('$ARGS', 'humiliation') < 0:
 				gs 'arousal', 'auto_lube', 'vag'
 			end
 		end
@@ -319,10 +303,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'mouth', 'stretch'
 			if pcs_lipbalm > 0:
 				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
-				if arrpos('$ARGS', 'rape') >= 0 _ 
-				or arrpos('$ARGS', 'rough') >= 0 _ 
-				or arrpos('$ARGS', 'gangbang') >= 0 _ 
-				or arrpos('$ARGS', 'beast') >= 0:
+				if arrpos('$ARGS', 'rape') >= 0 or arrpos('$ARGS', 'rough') >= 0  or arrpos('$ARGS', 'gangbang') >= 0 or arrpos('$ARGS', 'beast') >= 0:
 					pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
 				end
 			end
@@ -738,10 +719,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arrpos('$ARGS', 'maso') >= 0:          pcs_hairbsh = iif(rand(30, pcs_hairlng)>125,rand(-1,0),pcs_hairbsh)
 		if arrpos('$ARGS', 'prostitution') >= 0:  pcs_hairbsh = iif(rand(30, pcs_hairlng)>150,rand(-1,0),pcs_hairbsh)
 		if arrpos('$ARGS', 'unknown') >= 0:       pcs_hairbsh = iif(rand(30, pcs_hairlng)>200,rand(-1,pcs_hairbsh),pcs_hairbsh)
-		if arrpos('$ARGS', 'anal') >= 0 _ 
-		or arrpos('$ARGS', 'anal_strap') >= 0:    pcs_hairbsh = iif(rand(30, pcs_hairlng)>220,rand(-1,pcs_hairbsh),pcs_hairbsh)
-		if arrpos('$ARGS', 'vaginal') >= 0 _ 
-		or arrpos('$ARGS', 'vaginal_strap') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>240,rand(-1,pcs_hairbsh),pcs_hairbsh)
+		if arrpos('$ARGS', 'anal') >= 0 or arrpos('$ARGS', 'anal_strap') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>220,rand(-1,pcs_hairbsh),pcs_hairbsh)
+		if arrpos('$ARGS', 'vaginal') >= 0 or arrpos('$ARGS', 'vaginal_strap') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>240,rand(-1,pcs_hairbsh),pcs_hairbsh)
 		if pcs_hairbsh > 0:
 			if arrpos('$ARGS', 'bound') >= 0:     pcs_hairbsh = iif(rand(30, pcs_hairlng)>270,rand(0,pcs_hairbsh),pcs_hairbsh)
 			if arrpos('$ARGS', 'sub') >= 0:       pcs_hairbsh = iif(rand(30, pcs_hairlng)>300,rand(0,pcs_hairbsh),pcs_hairbsh)
@@ -764,8 +743,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			end
 		end
 		if pcs_makeup > 1:
-			if (arrpos('$ARGS', 'bj') >= 0 _ 
-			or arrpos('$ARGS', 'cuni_give') >= 0):        pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,rand(0,1),pcs_makeup)
+			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
 	
@@ -1056,8 +1034,8 @@ end
 !!-----------------------------------------------
 
 !!workaround over use
-if $ARGS[0] ! 'auto_lube' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
-	if arousal_overcall = 0:
+if arousal_overcall = 0:
+	if $ARGS[0] ! 'auto_lube' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
 		$arousal_overcall = $ARGS[0]+$ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+$ARGS[7]+$ARGS[8]
 		arousal_overcall = 1
 	end

+ 1 - 1
locations/artem_chebotarev_schedule.qsrc

@@ -2,7 +2,7 @@
 !!2023/05/02
 
 
-$locat['A2'] = 0
+$locat['A2'] = ''
 
 if yearstart = 1:
 	!! Schedule for school year not yet done

+ 5 - 5
locations/artem_dorm.qsrc

@@ -45,7 +45,7 @@ if $ARGS[0] = 'start':
 	gs 'artem_chebotarev_schedule'
 	gs 'stat'
 	'<center><b><font color="maroon">Artem''s Dorm Room</font></b></center>'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/dorm/artemroom/artem_dorm_room.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/island/university/dorm/artemroom/artem_dorm_room.jpg"></center>'
 	'The dorm room has two beds. The one on the left belongs to Artem''s roommate while the one on the right is Artem''s.' 
 	if $locat['A2'] = 'dormroom_ studying_or _relaxing':
 		'Above his bed is a small <a href="exec:gt ''artem_dorm'',''bookshelf''">bookshelf</a> full of books, and the wall is plastered with sci-fi, fantasy, anime and super hero posters. At the foot of his bed is a small desk with a <a href="exec:gt ''artem_dorm'',''computer''">laptop</a> on it. Artem is sitting on a couch facing a TV sitting against the wall.'
@@ -68,7 +68,7 @@ if $ARGS[0] = 'bookshelf':
 	*clr & cla
 	minut += 2
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artem_dorm/artemroom/bookshelf.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artemhome/artemroom/bookshelf.jpg"></center>'
 	'The small bookshelf has a lot of fantasy and science fiction books, a few gaming books and a lot of various nerdy nicknacks from popular fantasy, anime, and science fiction movies and TV shows. Maybe he wouldn''t mind if you borrowed a book?'
 	if artem_borrowed_book ! 1:
 		act 'Ask to borrow a book':
@@ -79,7 +79,7 @@ if $ARGS[0] = 'bookshelf':
 			artembook = 5
 !!need code to add a book for Sveta to read other than the ones she can buy.			
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artem_dorm/artemroom/bookshelf.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artemhome/artemroom/bookshelf.jpg"></center>'
 			'You look through the books until you find one you like. "Do you mind if I borrow this to read?"'
 			'He looks a little surprised as he walks over. "Oh sure yeah, you can borrow it," he answers a little excitedly.'
 			'You take the book and put it in your purse. "Thanks. I''ll get it back to you as soon as I finish it."'
@@ -94,7 +94,7 @@ if $ARGS[0] = 'bookshelf':
 			artem_borrowed_book = 0
 			artembook = 0
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artem_dorm/artemroom/bookshelf.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artemhome/artemroom/bookshelf.jpg"></center>'
 			'"I brought your book back," you tell him as you take it out of your purse and put it back in place on the shelf, right where you got it from.'
 			'"Did you like it?" he asks.'
 			act 'I did':
@@ -129,7 +129,7 @@ if $ARGS[0] = 'computer':
 		ArtemCompUse = 1
 		*clr & cla
 		'<center><h4><font color="maroon">Artem''s Dorm Room</font></h4></center>'
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artem_dorm/start/laptop.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/artemhome/artemroom/laptop.jpg"></center>'
 		'You point towards his laptop. "You''re so lucky to have your own computer."'
 		'"I saved up my allowance for years before I could afford it," he replies.'
 		'"Mind if I use it? I want to check my emails and stuff," you ask.'

+ 30 - 30
locations/artem_nush_sex.qsrc

@@ -802,7 +802,7 @@ if $ARGS[0] = 'artem_nush_disco_walk':
 	menu_off = 1
 	*clr & cla
 	minut += 10
-	'<center><img <<$set_imgh>> src="'+'images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walking.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/walking.jpg"></center>'
 	'Artem leads you down the side streets and into the alleyway that runs behind the apartment courtyard where all the garages are located. You and Artem hold hands and Anushka walks on the other side of him as the three of you talk about a variety of subjects, mostly about your classmates and teachers. Artem then talks about the D&D game, but quickly drops it when Anushka seems like she''s getting bored.'
 	'She changes the subject by asking you what you thought of some of the boys at the disco tonight, but is interrupted by a smacking sound as she jumps. "What the fuck, dude?" she asks.'
 	*nl
@@ -811,7 +811,7 @@ if $ARGS[0] = 'artem_nush_disco_walk':
 	'Artem barks a laugh. "Doubtful. I''m a great boyfriend. I''m kind, caring, romantic, good in bed and when my girl needs to be dominated, then I can do that too. What more could she want?"'
 	act 'Just let them banter':
 		*clr & cla
-		'<center><img <<$set_imgh>> src="'+'images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walking.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/walking.jpg"></center>'
 		'Anushka snorts. "Maybe she wants to try a real bad boy for a change..."'
 		'Artem responds by smacking her on the ass again. "Maybe, but I''m not worried."'
 		'Anushka scowls a little. "What was that for?"'
@@ -828,18 +828,18 @@ if $ARGS[0] = 'artem_nush':
 	menu_off = 1
 	*clr & cla
 	minut += 5
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk1.jpg"></center>'
 	'Anushka sits and leaves room for you between her and Artem, but you motion for her to scoot over next to Artem and you sit next to her, sandwiching her between the two of you. Artem gives you a questioning look, but you just smile and nod at him.'
 	'He grins and leans back in a half reclining position as you engage Anushka in a conversation about her latest sexual partner. You can see the bulge growing in his pants, and Anushka soon does as well. "Guess someone likes my story, huh?" she asks in a bemused tone.'
 	act 'Tell her to peek':
 		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk2.jpg"></center>'
 		'You lean against her, pushing her closer to Artem. "I think someone wants to say hi. Why don''t you take a peek?"'
 		'She looks back at you with a questioning look, but starts to unbutton and unzip his pants to peek inside. "It''s too dark to see anything. Pull his dick out so we can see it," you tell her.'
 		act 'Tell her to take it out':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj1.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj1.jpg"></center>'
 			'She reaches into his underwear and pulls out his <<dick>>cm <<$dick_girth>> dick. Once it''s free, he reaches over and pulls her head down into his lap. "You made it hard, so now you got to suck it," you say with a smirk.'
 			'She starts stroking his dick with one hand before taking it into her mouth and sucking on it as Artem moans in pleasure.'
 			gs 'arousal', 'voyeur_sex', 2
@@ -848,14 +848,14 @@ if $ARGS[0] = 'artem_nush':
 			act 'Push her head down':
 				*clr & cla
 				anushkaQW['dom_nush'] += 1
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj2.jpg"></center>'
 				'As Anushka continues sucking Artem''s cock, you reach over and push her head down to force her to take more of it into her mouth.'
 				'"Oh yeah babe! Just like that..." Artem moans as he looks at you.'
 				gs 'arousal', 'voyeur_sex', 2, 'dom'
 				gs 'stat'
 				act 'Grab her hair':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj3.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj3.jpg"></center>'
 					'You grab hold of Anushka''s hair and push her head down until you hear her gagging on his cock.'
 					'"Just think if some of the other gopniks walked by and seen you sucking my nerd dick. What would they think?" Artem says to her between moans as you make her deepthroat his cock.'
 					'After a few minutes of this, Artem looks you dead in the eye. "Help me take her jeans off so I can fuck this slut."'
@@ -866,14 +866,14 @@ if $ARGS[0] = 'artem_nush':
 			end
 			act 'Let her suck his dick':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj2.jpg"></center>'
 				'As Anushka sucks Artem''s cock, you lean over and partially lay on her back so you can peek around and watch as most of his dick disappears into her mouth with each downward bob of her head.'
 				'"Yeah bitch... Just like that... Suck my dick!" Artem groans between moans of pleasure.'
 				gs 'arousal', 'voyeur_sex', 2, 'dom'
 				gs 'stat'
 				act 'Grab her hair':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj3.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj3.jpg"></center>'
 					'You grab ahold of Anushka''s hair to pull it up out of the way so it is easier to watch her suck Artem''s dick. "Just think if some of the other gopniks walked by and seen you sucking my nerd dick. What would they think?" Artem says with a smirk.' 
 					'After a few minutes of this, Artem looks you dead in the eye. "Help me take her jeans off so I can fuck this slut."'
 					gs 'arousal', 'voyeur_sex', 2, 'dom'
@@ -888,27 +888,27 @@ end
 if $ARGS[0] = 'artem_nush_strip':
 	menu_off = 1
 	*clr & cla
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_strip1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_strip1.jpg"></center>'
 	'You pull her head up and both you and Artem start unbuttoning her jeans. Once you have them off, Artem tosses them aside as Anushka continues jerking him off. He then starts to tug at her panties.'
 	gs 'arousal', 'voyeur', 1
 	gs 'stat'
 	act 'Watch Artem take off her panties':
 		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_strip2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_strip2.jpg"></center>'
 		'Artem roughly pulls her panties off and tosses them down by her jeans before he stands up and starts pulling down his pants and underwear. "Roll the dirty slut over on all fours so I can fuck her."'
 		gs 'arousal', 'voyeur', 1
 		gs 'stat'
 		act 'Help her onto all fours':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_vaginal1.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_vaginal1.jpg"></center>'
 			'You help Anushka get up on all fours so her ass is facing Artem. Once she''s in place, Artem kneels down behind her. "Damn, you''re soaking wet! Look babe, her juices are already running down her thigh!"'
 			'He moves forward and she suddenly moans loudly as he shoves his <<dick>>cm <<$dick_girth>> cock inside her pussy and starts fucking her as you lean in and start kissing her.'
 			gs 'arousal', 'kiss', 2
 			gs 'stat'
 			act 'Spread her ass cheeks':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_vaginal2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_vaginal2.jpg"></center>'
 				'After you break the kiss with her, you reach back and spread her ass cheeks as wide as you can while looking up at Artem. He grins as he gets the hint.'
 				'"Look at that little asshole, just begging to be used by nerd dick!" he says before he spits on her ass and uses a finger to rub it into her asshole.'
 				gs 'arousal', 'voyeur_sex', 2
@@ -917,7 +917,7 @@ if $ARGS[0] = 'artem_nush_strip':
 					*clr & cla
 					artemQW['artem_dom'] += 1
 					gs 'boyStat', 'A2'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_anal1.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_anal1.jpg"></center>'
 					'After spending a few more minutes fucking her pussy, he pulls his hips back. "Tell me you want this nerd dick in your ass."'
 					'"Yes... I want you to fuck my ass with your big nerd dick," she says, sounding rather desperate, yet also aroused.'
 					'You hold her ass cheeks wide for him as he lines his dick up with her asshole. "Oh fuck!" she mutters as he forces his cock up her ass.'
@@ -929,7 +929,7 @@ if $ARGS[0] = 'artem_nush_strip':
 					gs 'stat'
 					act 'Keep holding her':
 						*clr & cla
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_anal2.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_anal2.jpg"></center>'
 						'Now that she''s unable to move, Artem shoves his hips forward again, causing her to moan loudly. As he starts really hammering her ass, she starts crying out and shaking as she has a massive orgasm, so much so you have to help hold her up as Artem starts grunting louder himself.'
 						gs 'arousal', 'voyeur_sex', 2
 						gs 'arousal', 'end'
@@ -937,7 +937,7 @@ if $ARGS[0] = 'artem_nush_strip':
 						act 'Watch him cum':
 							*clr & cla
 							minut += 5
-							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_facial.jpg"></center>'
+							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_facial.jpg"></center>'
 							'Artem suddenly pulls out of Anushka and stands up. "Turn her around to face me." You help her quickly turn around, her body still shaking from her orgasm. "Jerk me off and let me cum over your face, slut!" he orders.' 
 							'She takes hold of his dick and starts jerking him off. Almost at once, he starts cumming over her face. She milks his cock until every last drop of it has been squeezed out of it. They both sigh and sit back against the garage once he''s finished.'
 							*nl
@@ -972,18 +972,18 @@ if $ARGS[0] = 'artem_sveta':
 	menu_off = 1
 	*clr & cla
 	minut += 5
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk1.jpg"></center>'
 	'Artem and Anushka take a seat, with Anushka leaving room for you to sit between her and Artem. You sit between them and lean against Artem as the three of you talk a bit more.'
 	'Artem leans back in a half reclining position and you can see his bulge growing in his pants. After a while, Anushka notices as well. "Looks like someone is getting a little worked up, huh?" she asks is a bemused tone.'
 	'Artem smiles at you. "Sorry babe, but I can''t help it. You''re just so beautiful."'
 	act 'Take a peek':
 		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk2.jpg"></center>'
 		'You unbutton his pants, but it''s too dark to see anything as you hear Anushka''s voice in your ear. It seems she''s leaned over to try and take a look too. "Go on. Pull it out."'
 		act 'Pull his dick out':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_bj1.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_bj1.jpg"></center>'
 			'You pull his dick out and he looks at you with pleading eyes. "Please suck it, babe."'
 			'You lean forward and take his dick into your mouth and start sucking it while stroking his shaft. "Damn <<$pcs_nickname>>, you''re getting good at that!" Anushka says.'
 			'You''re unable to answer, so Artem replies for you. "She''s the best!"'
@@ -993,14 +993,14 @@ if $ARGS[0] = 'artem_sveta':
 			act 'Deepthroat':
 				*clr & cla
 				gs 'boyStat', 'A2'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_bj2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_bj2.jpg"></center>'
 				'As you''re sucking Artem''s dick, you feel a hand press down on the back of your head and force it down until his dick slides down your throat, causing you to gag. You think it''s Artem at first, but soon realize that it''s Anushka.'
 				gs 'arousal', 'bj', 2, 'deepthroat'
 				gs 'stat'
 				act 'Get your hair grabbed':
 					*clr & cla
 					gs 'boyStat', 'A2'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_bj3.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_bj3.jpg"></center>'
 					'You feel her fingers wrap themselves in your hair as she roughly forces you to deepthroat Artem before he speaks up. "Okay, let her up."'
 					'You can keep sucking his dick until he blows his load, offer up your pussy or give him your ass.'
 					gs 'arousal', 'bj', 2, 'deepthroat', 'rough'
@@ -1011,7 +1011,7 @@ if $ARGS[0] = 'artem_sveta':
 						*clr & cla
 						minut += 5
 						gs 'boyStat', 'A2'
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_facial.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_facial.jpg"></center>'
 						'He stands up and you keep sucking his dick until he tells you he''s about to cum. You then pop his dick out of your mouth and jerk him off until he starts cumming on your face. Once you''ve milked every last drop out of him, you look up at him with a grin as he tucks his dick back away in his pants.'
 						gs 'cum_call', 'face', 'A2', 1
 						gs 'arousal', 'end'
@@ -1041,7 +1041,7 @@ if $ARGS[0] = 'artem_sveta_vag':
 	menu_off = 1
 	*clr & cla
 	gs 'boyStat', 'A2'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal1.jpg"></center>'
 	'You slide his dick out of your mouth and turn to look at him. "I want you to fuck me, right here, right now."'
 	'He just grins and gets up as Anushka helps you get naked from the waist down while he strips out of his pants and underwear. Once you''re both ready, you lay on your back and spread your legs wide before he lays down between your legs and slides his <<dick>>cm <<$dick_girth>> cock into your already wet pussy.'
 	gs 'arousal', 'vaginal', 2
@@ -1049,7 +1049,7 @@ if $ARGS[0] = 'artem_sveta_vag':
 	act 'Watch Anushka':
 		*clr & cla
 		gs 'boyStat', 'A2'
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal2.jpg"></center>'
 		'As Artem fucks you, you glance over and see that Anushka has her hand down her pants, rubbing one out as she watches you get fucked by Artem. You just grin.'
 		gs 'arousal', 'vaginal', 2
 		gs 'stat'
@@ -1057,7 +1057,7 @@ if $ARGS[0] = 'artem_sveta_vag':
 		act 'Get fucked some more':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal3.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal3.jpg"></center>'
 			'Anushka is soon moaning almost as loud as you are, enough to attract even Artem''s attention. "What a little slut you are, rubbing one off while you watch me fuck your friend," he grins. "Admit it. You wish you were being fucked by some nerd cock right now, don''t you?"'
 			'Anushka bites her lower lip and redoubles her effort as she keeps rubbing one off. "YES! Oh fuck yes, I wish you were fucking me with your big nerd cock right now!"'
 			'Artem looks at you and smiles before looking back at her as he keeps fucking you. "Maybe next time I''ll ask Petka or Feofan to come along and they can fuck you while you watch me fuck <<$pcs_nickname>>. You''d like that, wouldn''t you? I can tell by your expression that the meer thought of some other nerd using you turns you on."'
@@ -1066,14 +1066,14 @@ if $ARGS[0] = 'artem_sveta_vag':
 			act 'Let him finish':
 				*clr & cla
 				gs 'boyStat', 'A2'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal4.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal4.jpg"></center>'
 				'He then starts really pounding your pussy, even more so once Anushka starts arching her back and moaning loudly as she rubs herself to orgasm. This pushes Artem to the edge as well as he starts grunting hard before he pulls out of you and points his dick in your face.'
 				gs 'arousal', 'vaginal', 2
 				gs 'stat'
 				act 'Artem blows his load':
 					*clr & cla
 					minut += 5
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_facial.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_facial.jpg"></center>'
 					'You quickly jerk him off and he soon starts cumming on your face. Once you''ve milked every last drop out of him, you look up at him with a grin as he tucks his dick back away in his pants.'
 					gs 'cum_call', 'face', 'A2', 1
 					gs 'arousal', 'end'
@@ -1102,7 +1102,7 @@ if $ARGS[0] = 'artem_sveta_anal':
 	menu_off = 1
 	*clr & cla
 	gs 'boyStat', 'A2'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_anal1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_anal1.jpg"></center>'
 	'"I want you to fuck my ass," you tell him with a smile.'
 	'He grins. "Get on all fours for me then."'
 	'You get on all fours while Anushka keeps rubbing one out. Artem uses your pussy juices and some spit to lube your asshole up before he gently slides it in. Once his dick is inside you, he starts to slowly fuck your ass.'
@@ -1111,14 +1111,14 @@ if $ARGS[0] = 'artem_sveta_anal':
 	act 'Take an anal pounding':
 		*clr & cla
 		gs 'boyStat', 'A2'		
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_anal2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_anal2.jpg"></center>'
 		'Artem pushes his cock deeper into your ass as he starts to fuck you harder and faster, even more so once Anushka starts arching her back and moaning loudly as she rubs herself to orgasm. This pushes Artem to the edge as well as he starts grunting hard before he pulls out of you and points his dick in your face.'
 		gs 'arousal', 'anal', 2, 'lube'
 		gs 'stat'
 		act 'Artem blows his load':
 			*clr & cla
 			minut += 5
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_facial.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_facial.jpg"></center>'
 			'You quickly jerk him off and he soon starts cumming on your face. Once you''ve milked every last drop out of him, you look up at him with a grin as he tucks his dick back away in his pants.'
 			gs 'cum_call', 'face', 'A2', 1
 			gs 'arousal', 'end'

+ 29 - 29
locations/artem_nush_sex_uni.qsrc

@@ -801,7 +801,7 @@ if $ARGS[0] = 'nerd_game_night_walk':
 	menu_off = 1
 	*clr & cla
 	minut += 10
-	'<center><img <<$set_imgh>> src="'+'images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walking.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/walking.jpg"></center>'
 	if func('uniutil', 'student', 'enrolled'):
 		'You and Artem hold hands and Anushka walks on the other side of him as the three of you talk about a variety of subjects, mostly about the university, your respective courses and the professors. Artem then talks about the D&D game, but quickly drops it when Anushka seems like she''s getting bored.' 
 		'You then walk past the garages out back of the apartment complex Anushka lives in, and she points out which one the band is renting. Artem suddenly stops and takes his jacket off before spreading it wide on the ground. "Hey, why don''t we sit and talk for a bit here?" If you want Anushka to have sex with Artem, then you should sit with her between you and him. If you want to have sex with him, then you should sit between them.'
@@ -817,18 +817,18 @@ if $ARGS[0] = 'artem_nush':
 	menu_off = 1
 	*clr & cla
 	minut += 5
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk1.jpg"></center>'
 	'Anushka sits and leaves room for you between her and Artem, but you motion for her to scoot over next to Artem and you sit next to her, sandwiching her between the two of you. Artem gives you a questioning look, but you just smile and nod at him.'
 	'He grins and leans back in a half-reclining position as you engage Anushka in a conversation about her latest sexual partner. You can see the bulge growing in his pants, and Anushka soon does as well. "Guess someone likes my story, huh?" she asks in a bemused tone.'
 	act 'Tell her to peek':
 		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk2.jpg"></center>'
 		'You lean against her, pushing her closer to Artem. "I think someone wants to say hi. Why don''t you take a peek?"'
 		'She looks back at you with a questioning look but starts to unbutton and unzip his pants to peek inside. "It''s too dark to see anything. Pull his dick out so we can see it," you tell her.'
 		act 'Tell her to take it out':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj1.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj1.jpg"></center>'
 			'She reaches into his underwear and pulls out his <<dick>>cm <<$dick_girth>> dick. Once it''s free, he reaches over and pulls her head down into his lap. "You made it hard, so now you got to suck it," you say with a smirk.'
 			'She starts stroking his dick with one hand before taking it into her mouth and sucking on it as Artem moans in pleasure.'
 			'"This is the best use for that mouth of her''s," he says as you grin at him.'
@@ -838,14 +838,14 @@ if $ARGS[0] = 'artem_nush':
 			act 'Push her head down':
 				*clr & cla
 				anushkaQW['dom_nush'] += 1
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj2.jpg"></center>'
 				'As Anushka continues sucking Artem''s cock, you reach over and push her head down to force her to take more of it into her mouth.'
 				'"Oh yeah babe! Just like that..." Artem moans as he looks at you.'
 				gs 'arousal', 'voyeur_sex', 2, 'dom'
 				gs 'stat'
 				act 'Grab her hair':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj3.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj3.jpg"></center>'
 					'You grab hold of Anushka''s hair and push her head down until you hear her gagging on his cock.'
 					'"God, you''re the best girlfriend a guy could have!" he says between moans as you make Anushka deepthroat his cock.' 
 					'After a few minutes of this, Artem looks you dead in the eye. "Help me take her jeans off so I can fuck this slut."'
@@ -856,14 +856,14 @@ if $ARGS[0] = 'artem_nush':
 			end
 			act 'Let her suck his dick':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj2.jpg"></center>'
 				'As Anushka sucks Artem''s cock, you lean over and partially lay on her back so you can peek around and watch as most of his dick disappears into her mouth with each downward bob of her head.'
 				'"Yeah bitch... Just like that... Suck my dick!" Artem groans between moans of pleasure.'
 				gs 'arousal', 'voyeur_sex', 2, 'dom'
 				gs 'stat'
 				act 'Grab her hair':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_bj3.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_bj3.jpg"></center>'
 					'You grab hold of Anushka''s hair and pull it up out of the way so it''s easier to watch her suck Artem''s dick.'
 					'"Just look at you submissively and obediently sucking my dick like a good little slut. We''ll make you into a slut for all the nerds before long," he says to her.'
 					'After a few minutes of this, Artem looks you dead in the eye. "Help me take her jeans off so I can fuck this dirty slut in this alley."'
@@ -879,27 +879,27 @@ end
 if $ARGS[0] = 'artem_nush_strip':
 	menu_off = 1
 	*clr & cla
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_strip1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_strip1.jpg"></center>'
 	'You pull her head up and both you and Artem start unbuttoning her jeans. Once you have them off, Artem tosses them aside as Anushka continues jerking him off. He then starts to tug at her panties.'
 	gs 'arousal', 'voyeur', 1
 	gs 'stat'
 	act 'Watch Artem take off her panties':
 		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_strip2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_strip2.jpg"></center>'
 		'Artem roughly pulls her panties off and tosses them down by her jeans before he stands up and starts pulling down his pants and underwear. "Roll the dirty slut over on all fours so I can fuck her."'
 		gs 'arousal', 'voyeur', 1
 		gs 'stat'
 		act 'Help her onto all fours':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_vaginal1.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_vaginal1.jpg"></center>'
 			'You help Anushka get up on all fours so her ass is facing Artem. Once she''s in place, Artem kneels down behind her. "Damn, you''re soaking wet! Look babe, her juices are already running down her thigh!"'
 			'He moves forward and she suddenly moans loudly as he shoves his <<dick>>cm <<$dick_girth>> cock inside her pussy and starts fucking her as you lean in and start kissing her.'
 			gs 'arousal', 'kiss', 2
 			gs 'stat'
 			act 'Spread her ass cheeks':
 				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_vaginal2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_vaginal2.jpg"></center>'
 				'After you break the kiss with her, you reach back and spread her ass cheeks as wide as you can while looking up at Artem. He grins as he gets the hint.'
 				'"Look at that little asshole, just begging to be used by nerd dick!" he says before he spits on her ass and uses a finger to rub it into her asshole.'
 				gs 'arousal', 'voyeur_sex', 2
@@ -908,7 +908,7 @@ if $ARGS[0] = 'artem_nush_strip':
 					*clr & cla
 					artemQW['artem_dom'] += 1
 					gs 'boyStat', 'A2'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_anal1.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_anal1.jpg"></center>'
 					'After spending a few more minutes fucking her pussy, he pulls his hips back. "Tell me you want this nerd dick in your ass."'
 					'"Yes... I want you to fuck my ass with your big nerd dick," she says, sounding rather desperate, yet also aroused.'
 					'You hold her ass cheeks wide for him as he lines his dick up with her asshole. "Oh fuck!" she mutters as he forces his cock up her ass.'
@@ -920,7 +920,7 @@ if $ARGS[0] = 'artem_nush_strip':
 					gs 'stat'
 					act 'Keep holding her':
 						*clr & cla
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_anal2.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_anal2.jpg"></center>'
 						'Now that she''s unable to move, Artem shoves his hips forward again, causing her to moan loudly. As he starts really hammering her ass, she starts crying out and shaking as she has a massive orgasm, so much so you have to help hold her up as Artem starts grunting louder himself.'
 						gs 'arousal', 'voyeur_sex', 2
 						gs 'arousal', 'end'
@@ -928,7 +928,7 @@ if $ARGS[0] = 'artem_nush_strip':
 						act 'Watch him cum':
 							*clr & cla
 							minut += 5
-							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/anushka/walk_facial.jpg"></center>'
+							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/anushka/walk_facial.jpg"></center>'
 							'Artem suddenly pulls out of Anushka and stands up. "Turn her around to face me." You help her quickly turn around, her body still shaking from her orgasm. "Jerk me off and let me cum over your face, slut!" he orders.' 
 							'She takes hold of his dick and starts jerking him off. Almost at once, he starts cumming over her face. She milks his cock until every last drop of it has been squeezed out of it. They both sigh and sit back against the garage once he''s finished.'
 							*nl
@@ -971,18 +971,18 @@ if $ARGS[0] = 'artem_sveta':
 	menu_off = 1
 	*clr & cla
 	minut += 5
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk1.jpg"></center>'
 	'Artem and Anushka take a seat, with Anushka leaving room for you to sit between her and Artem. You sit between them and lean against Artem as the three of you talk a bit more.'
 	'Artem leans back in a half reclining position and you can see his bulge growing in his pants. After a while, Anushka notices as well. "Looks like someone is getting a little worked up, huh?" she asks is a bemused tone.'
 	'Artem smiles at you. "Sorry babe, but I can''t help it. You''re just so beautiful."'
 	act 'Take a peek':
 		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk2.jpg"></center>'
 		'You unbutton his pants, but it''s too dark to see anything as you hear Anushka''s voice in your ear. It seems she''s leaned over to try and take a look too. "Go on. Pull it out."'
 		act 'Pull his dick out':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_bj1.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_bj1.jpg"></center>'
 			'You pull his dick out and he looks at you with pleading eyes. "Please suck it, babe."'
 			'You lean forward and take his dick into your mouth and start sucking it while stroking his shaft. "Damn <<$pcs_nickname>>, you''re getting good at that!" Anushka says.'
 			'You''re unable to answer, so Artem replies for you. "She''s the best!"'
@@ -992,14 +992,14 @@ if $ARGS[0] = 'artem_sveta':
 			act 'Deepthroat':
 				*clr & cla
 				gs 'boyStat', 'A2'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_bj2.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_bj2.jpg"></center>'
 				'As you''re sucking Artem''s dick, you feel a hand press down on the back of your head and force it down until his dick slides down your throat, causing you to gag. You think it''s Artem at first, but soon realize that it''s Anushka.'
 				gs 'arousal', 'bj', 2, 'deepthroat'
 				gs 'stat'
 				act 'Get your hair grabbed':
 					*clr & cla
 					gs 'boyStat', 'A2'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_bj3.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_bj3.jpg"></center>'
 					'You feel her fingers wrap themselves in your hair as she roughly forces you to deepthroat Artem before he speaks up. "Okay, let her up."'
 					'You can keep sucking his dick until he blows his load, offer up your pussy or give him your ass.'
 					gs 'arousal', 'bj', 2, 'deepthroat', 'rough'
@@ -1010,7 +1010,7 @@ if $ARGS[0] = 'artem_sveta':
 						*clr & cla
 						minut += 5
 						gs 'boyStat', 'A2'
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_facial.jpg"></center>'
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_facial.jpg"></center>'
 						'He stands up and you keep sucking his dick until he tells you he''s about to cum. You then pop his dick out of your mouth and jerk him off until he starts cumming on your face. Once you''ve milked every last drop out of him, you look up at him with a grin as he tucks his dick back away in his pants.'
 						gs 'cum_call', 'face', 'A2', 1
 						gs 'arousal', 'end'
@@ -1047,7 +1047,7 @@ if $ARGS[0] = 'artem_sveta_vag':
 	menu_off = 1
 	*clr & cla
 	gs 'boyStat', 'A2'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal1.jpg"></center>'
 	'You slide his dick out of your mouth and turn to look at him. "I want you to fuck me, right here, right now."'
 	'He just grins and gets up as Anushka helps you get naked from the waist down while he strips out of his pants and underwear. Once you''re both ready, you lay on your back and spread your legs wide before he lays down between your legs and slides his <<dick>>cm <<$dick_girth>> cock into your already wet pussy.'
 	gs 'arousal', 'vaginal', 2
@@ -1055,7 +1055,7 @@ if $ARGS[0] = 'artem_sveta_vag':
 	act 'Watch Anushka':
 		*clr & cla
 		gs 'boyStat', 'A2'
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal2.jpg"></center>'
 		'As Artem fucks you, you glance over and see that Anushka has her hand down her pants, rubbing one out as she watches you get fucked by Artem. You just grin.'
 		gs 'arousal', 'vaginal', 2
 		gs 'stat'
@@ -1063,7 +1063,7 @@ if $ARGS[0] = 'artem_sveta_vag':
 		act 'Get fucked some more':
 			*clr & cla
 			gs 'boyStat', 'A2'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal3.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal3.jpg"></center>'
 			'Anushka is soon moaning almost as loud as you are, enough to attract even Artem''s attention. "What a little slut you are, rubbing one off while you watch me fuck your friend," he grins. "Admit it. You wish you were being fucked by some nerd cock right now, don''t you?"'
 			'Anushka bites her lower lip and redoubles her effort as she keeps rubbing one off. "YES! Oh fuck yes, I wish you were fucking me with your big nerd cock right now!"'
 			'Artem looks at you and smiles before looking back at her as he keeps fucking you. "Maybe next time I''ll ask Petka or Feofan to come along and they can fuck you while you watch me fuck <<$pcs_nickname>>. You''d like that, wouldn''t you? I can tell by your expression that the meer thought of some other nerd using you turns you on."'
@@ -1072,14 +1072,14 @@ if $ARGS[0] = 'artem_sveta_vag':
 			act 'Let him finish':
 				*clr & cla
 				gs 'boyStat', 'A2'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_vaginal4.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_vaginal4.jpg"></center>'
 				'He then starts really pounding your pussy, even more so once Anushka starts arching her back and moaning loudly as she rubs herself to orgasm. This pushes Artem to the edge as well as he starts grunting hard before he pulls out of you and points his dick in your face.'
 				gs 'arousal', 'vaginal', 2
 				gs 'stat'
 				act 'Artem blows his load':
 					*clr & cla
 					minut += 5
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_facial.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_facial.jpg"></center>'
 					'You quickly jerk him off and he soon starts cumming on your face. Once you''ve milked every last drop out of him, you look up at him with a grin as he tucks his dick back away in his pants.'
 					gs 'cum_call', 'face', 'A2', 1
 					gs 'arousal', 'end'
@@ -1116,7 +1116,7 @@ if $ARGS[0] = 'artem_sveta_anal':
 	menu_off = 1
 	*clr & cla
 	gs 'boyStat', 'A2'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_anal1.jpg"></center>'
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_anal1.jpg"></center>'
 	'"I want you to fuck my ass," you tell him with a smile.'
 	'He grins. "Get on all fours for me then."'
 	'You get on all fours while Anushka keeps rubbing one out. Artem uses your pussy juices and some spit to lube your asshole up before he gently slides it in. Once his dick is inside you, he starts to slowly fuck your ass.'
@@ -1125,14 +1125,14 @@ if $ARGS[0] = 'artem_sveta_anal':
 	act 'Take an anal pounding':
 		*clr & cla
 		gs 'boyStat', 'A2'		
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_anal2.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_anal2.jpg"></center>'
 		'Artem pushes his cock deeper into your ass as he starts to fuck you harder and faster, even more so once Anushka starts arching her back and moaning loudly as she rubs herself to orgasm. This pushes Artem to the edge as well as he starts grunting hard before he pulls out of you and points his dick in your face.'
 		gs 'arousal', 'anal', 2, 'lube'
 		gs 'stat'
 		act 'Artem blows his load':
 			*clr & cla
 			minut += 5
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffe_hole/sveta/walk_facial.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/artem/sex/city/coffee_hole/sveta/walk_facial.jpg"></center>'
 			'You quickly jerk him off and he soon starts cumming on your face. Once you''ve milked every last drop out of him, you look up at him with a grin as he tucks his dick back away in his pants.'
 			gs 'cum_call', 'face', 'A2', 1
 			gs 'arousal', 'end'

+ 21 - 25
locations/bedrPar.qsrc

@@ -4,7 +4,7 @@
 fromoutside = iif($loc = 'bedrPar',0,1)
 menu_off = 0
 minut += 1
-!!day check so mom doesn''t think you have been out all night if you get up very early 
+!!day check so mom doesn''t think you have been out all night if you get up very early
 motherworry[1] = daystart
 gs 'shortgs', 'setloc', 'bedrPar', $ARGS[0]
 $location_type = 'private'
@@ -43,7 +43,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 		'As soon as you enter the room, you rush over to <<$ParrotQW[''Name'']>>''s cage and pour the contents of the vial into his water bowl. You hope this will work and keep him from spilling you and your sister''s bedroom secrets.'
 		ParrotQW['Level'] = 3
 		ParrotQW['Day'] = 3
-		
+
 		act 'Continue':gt $loc, $loc_arg
 	elseif ParrotQW['SisterReleaseParrotDay'] + 3 < daystart and ParrotQW['Level'] = 1 and func('homes_properties', 'is_current_home'):
 		*clr & cla
@@ -55,14 +55,14 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 		ParrotQW['Day'] = 2
 		ParrotQW['Failed'] = 0
 		gs 'stat'
-		
+
 		act 'Continue':gt $loc, $loc_arg
 	elseif pcs_magik >= 6 and spellbefshild = 1 and tobiQW = 0 and locat['Anya_inroom'] = 0 and func('homes_properties', 'can_live_here'):
 		gt 'tobiQW', 'start'
-		
-	elseif locat['Anya'] = 11 and func('homes_properties', 'can_live_here'): 
+
+	elseif locat['Anya'] = 11 and func('homes_properties', 'can_live_here'):
 		gt 'sisterQW', 'sisboyQW_expel'
-		
+
 	elseif locat['Anya_inroom'] = 1 and ParrotQW['Owned2'] = 1 and ParrotQW['SisKeepParrot'] = 0 and func('homes_properties', 'is_current_home'):
 		*clr & cla
 		menu_off = 1
@@ -103,22 +103,22 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 
 		if ParrotQW['Owned2'] = 1 and func('homes_properties', 'is_current_home'):
 			'<a href="exec:gt ''popu'',''start2''"><<$ParrotQW[''Name2'']>></a> is sitting in his cage'
-			if daystart - ParrotQW['BuyDate'] <= 10: 
+			if daystart - ParrotQW['BuyDate'] <= 10:
 				'<<$ParrotQW[''Name2'']>> starts squawking at you when you enter the room.'
-			elseif daystart - ParrotQW['BuyDate'] <= 20: 
+			elseif daystart - ParrotQW['BuyDate'] <= 20:
 				'When <<$ParrotQW[''Name2'']>> sees you, he starts ''speaking''. It sounds almost like he is saying "<b>Hello <<$pcs_nickname>>!</b>"'
-			elseif daystart - ParrotQW['BuyDate'] <= 30: 
+			elseif daystart - ParrotQW['BuyDate'] <= 30:
 				'When <<$ParrotQW[''Name2'']>> sees you, he starts ''speaking''. He is clearly saying "<b>Hello <<$pcs_nickname>>!</b>"'
-			elseif daystart - ParrotQW['BuyDate'] <= 35: 
+			elseif daystart - ParrotQW['BuyDate'] <= 35:
 				'When <<$ParrotQW[''Name2'']>> sees you, he starts ''speaking''. He is saying "<b><<$pcs_nickname>> very pretty!</b>"'
-			elseif daystart - ParrotQW['BuyDate'] <= 40: 
+			elseif daystart - ParrotQW['BuyDate'] <= 40:
 				'When <<$ParrotQW[''Name2'']>> sees you, he starts ''speaking''. He is saying "<b>Great body, <<$pcs_nickname>>!</b>"'
-			elseif daystart - ParrotQW['BuyDate'] <= 50: 
+			elseif daystart - ParrotQW['BuyDate'] <= 50:
 				'When <<$ParrotQW[''Name2'']>> sees you, he starts ''speaking''. He is saying "<b>You''re the best, Anya!</b>"'
-			elseif daystart - ParrotQW['BuyDate'] <= 55: 
+			elseif daystart - ParrotQW['BuyDate'] <= 55:
 				'When <<$ParrotQW[''Name2'']>> sees you, he starts ''speaking''. He is saying "<b>Yeah, that''s it Anya! Swallow it all!</b>"'
 			else
-				if ParrotQW['Level'] < 3: 
+				if ParrotQW['Level'] < 3:
 					'When <<$ParrotQW[''Name2'']>> sees you, he starts ''speaking''. He is saying "<b>Your pussy tastes great, Anya!</b>"'
 				else
 					parfixrand = rand(0,9)
@@ -148,7 +148,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 			elseif mc_inventory['equipped_condoms'] + mc_inventory['normal_condoms'] + mc_inventory['sabotaged_condoms'] > 0:
 				'Your <a href="exec:gt ''stol'', ''bc''">condoms</a> are hidden in one of your desk drawers.'
 			end
-			
+
 			if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and week = 6 and hour > 4 and hour < 9 and detention_set = 1 and detention_warning ! daystart:
 				detention_warning = daystart
 				msg 'You have detention this morning and must be at school before 09:00.'
@@ -188,10 +188,6 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 						gt 'sister_chat', 'sex_room_talk1'
 					end
 					'<a href="exec:gt ''sister_chat'', ''talking''">Anya</a> is sitting on her bed, reading a book.'
-				elseif locat['Anya'] = 26 or (locat['Anya'] = 1 and locat['Anya_party_day'] >= daystart - 1):
-					if sisboypartyQW = 1: sisboypartyQW = 2
-					if sisboyparty = -1: sisboyparty = 1
-					'A drunken <a href="exec:gt ''sistersleep'', ''drunk_after_party''">Anya</a> is sound asleep in her bed.'
 				end
 			end
 		end
@@ -205,7 +201,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 			act 'Relax on your bed': gt 'bed', 'start'
 			act 'Open wardrobe': gt 'wardrobe', 'start'
 			gs 'prostitution_functions', 'prostitute_outfit_at_home'
-			
+
 			if mc_inventory['mag_porn'] > 0:'You have hidden your porn magazines under the mattress of your bed.'
 			!!Masturbation, allowed after sister threesome (when sis_watch is used for a message) or sister not here.
 			sis_watch = 0
@@ -228,9 +224,9 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 			if mc_inventory['trinkets_home'] > 0:'You currently have <<mc_inventory[''trinkets_home'']>> trinkets to sell at the station. The maximum you can carry is 30.'
 
 			if locat['Anya_inroom'] = 0: dynamic $palelady
-			
+
 			gs 'wardrobe', 'default_sport_options'
-			
+
 			gs 'exercise', 'start'
 
 			if mc_inventory['sewing_kit'] = 1:
@@ -238,7 +234,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 				*nl
 				if mc_inventory['sewing_fabric'] <= 0:'You do not have any fabric.'
 				if pcs_sewng >= 80:
-					if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0: 
+					if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0:
 						act 'Start a new tapestry': gt 'sewing', 'tapestry'
 					elseif newgobelen >= 1:
 						'Your tapestry is <<newgobelen/10>> percent finished.'
@@ -275,7 +271,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 		if func('homes_properties', 'is_current_home'): gs 'subkid'
 		'</td></tr></table>'
 
-		!! NOTE: This has to go here, otherwise gs 'subkid' removes the icon. 
+		!! NOTE: This has to go here, otherwise gs 'subkid' removes the icon.
 		gs 'music_actions', 'start'
 	end
 end
@@ -289,7 +285,7 @@ if $ARGS[0] = 'intro':
 	music_loop = 0
 	'<center><h1><font color="maroon">Your Bedroom</font></h1></center>'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost4.jpg"></center>'
-	'You sudenly hear a familiar voice yelling out. "<<$pcs_nickname>>, time to get up! You can''t spend the whole day laying around!"'
+	'You suddenly hear a familiar voice yelling out. "<<$pcs_nickname>>, time to get up! You can''t spend the whole day laying around!"'
 	wait 1000
 	$temp_nickname = input('<center>What name do you address your mother by?<br>Mother (default), Mum, Mom, Mama, etc.</center>')
 	if $temp_nickname ! '':$npc_nickname['A29'] = '<<$temp_nickname>>'

+ 7 - 7
locations/billiard.qsrc

@@ -11,7 +11,7 @@ gs 'stat'
 '<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/pool/bil.jpg"></center>'
 'Quite a large billiard room, there are plenty of tables in the main hall, but there are some tables in individual cubicles.'
 
-act 'Leave':gt 'torgcentr'
+act 'Leave': gt 'city_mall'
 
 if hour >= 8 and hour <= 20:
 	if money >= 125:
@@ -23,7 +23,7 @@ if hour >= 8 and hour <= 20:
 			gs 'exp_gain', 'pool', rand(0,3)
 			billrand = rand(0,5)
 			gs 'stat'
-			
+
 			if billrand = 0:
 				cla
 				'You play one of the guys here and he asks if you want to make it more interesting.'
@@ -31,7 +31,7 @@ if hour >= 8 and hour <= 20:
 				if money >= 1000:act 'Bet on the game (1000 <b>₽</b>)':billvar = 0 & gt 'billiard', 'randwin'
 
 				if mc_inventory['strapon'] = 1:act 'Play for his ass, sex if you lose':billvar = 1 & gt 'billiard', 'randwin'
-				
+
 				gs 'willpower', 'anal', 'resist'
 				if will_cost <= pcs_willpwr:
 					act 'Stick to practice games (<<will_cost>> Willpower)':
@@ -43,7 +43,7 @@ if hour >= 8 and hour <= 20:
 				else
 					act 'Stick to practice games (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
-				
+
 				act 'Let him have the table instead':
 					money += 125
 					gs 'exp_gain', 'pool', rand(0, 1)
@@ -69,7 +69,7 @@ if hour >= 8 and hour <= 20:
 				else
 					act 'Stick to practice games (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
-				
+
 				act 'Let him have the table instead':
 					money += 125
 					gs 'exp_gain', 'pool', rand(0, 1)
@@ -120,7 +120,7 @@ if $ARGS[0] = 'randwin':
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/pool/sex/strapon.jpg"></center>'
 		'You win, put your strapon, and look at the guy, "Well bend over, today you''re my bitch."'
 		'The guy drops his pants and bends over, you peg that butt.'
-		
+
 		gs 'arousal', 'anal_strap_give', 10, 'dom'
 		gs 'arousal', 'end'
 		gs 'stat'
@@ -134,7 +134,7 @@ if $ARGS[0] = 'randwin':
 		gs 'arousal', 'anal_strap_give', 10, 'dom'
 		gs 'arousal', 'end'
 		gs 'stat'
-		
+
 		act 'Leave':gt 'billiard'
 	elseif billwin > 10 and billvar = 3:
 		money += 250

+ 16 - 16
locations/billsvid.qsrc

@@ -48,9 +48,9 @@ if $ARGS[0] = '':
 				gt 'billsvid', '3'
 			end
 		elseif $telsob = $loverdesc[lover_number]:
-			!! date with girlfriend	
+			!! date with girlfriend
 			loverrelation[lover_number] += 1
-			
+
 			if loverrelation[lover_number] >= 20:
 				bilrand = rand(0, 10)
 				if bilrand > 0 and bilrand < 3:gt 'billsvid', '1'
@@ -70,7 +70,7 @@ if $ARGS[0] = '1':
 
 	gs 'arousal', 'foreplay', 5, 'lesbian'
 	gs 'stat'
-	
+
 	gs 'willpower', 'cuni', 'resist'
 	if will_cost <= pcs_willpwr:
 		act 'Not now <<$telsob>> (<<will_cost>> Willpower)':
@@ -91,7 +91,7 @@ if $ARGS[0] = '1':
 
 		gs 'arousal', 'kiss', 5, 'lesbian'
 		gs 'stat'
-	
+
 		act 'Lick her':gt 'billsvid', '10'
 		gs 'willpower', 'cuni', 'force'
 		if will_cost <= pcs_willpwr:
@@ -114,7 +114,7 @@ if $ARGS[0] = '10':
 
 	gs 'arousal', 'cuni_give', 5, 'lesbian'
 	gs 'stat'
-		
+
 	gs 'willpower', 'cuni', 'force'
 	if will_cost <= pcs_willpwr:
 		act 'Get licked (<<will_cost>> Willpower)':
@@ -138,7 +138,7 @@ if $ARGS[0] = '11':
 
 	gs 'arousal', 'cuni', 5, 'lesbian'
 	gs 'stat'
-	
+
 	act 'Lick her':gt 'billsvid', '10'
 
 	if bilsvidkiy = 0:act 'Play with a cue':gt 'billsvid', '12'
@@ -165,7 +165,7 @@ if $ARGS[0] = '12':
 
 	gs 'arousal', 'vaginal_dildo_give', 5, 'lesbian'
 	gs 'stat'
-	
+
 	if bilsvidukiy = 0:
 		gs 'willpower', 'sex', 'force'
 		if will_cost <= pcs_willpwr:
@@ -206,7 +206,7 @@ if $ARGS[0] = '2':
 
 	gs 'arousal', 'foreplay', 5, 'lesbian'
 	gs 'stat'
-	
+
 	gs 'willpower', 'cuni', 'resist'
 	if will_cost <= pcs_willpwr:
 		act 'Continue to play <<$telsob>> (<<will_cost>> Willpower)':
@@ -226,7 +226,7 @@ if $ARGS[0] = '2':
 
 		gs 'arousal', 'kiss', 5, 'lesbian'
 		gs 'stat'
-	
+
 		act 'Proceed':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/pool/sex/12.jpg"></center>'
@@ -234,7 +234,7 @@ if $ARGS[0] = '2':
 
 			gs 'arousal', 'foreplay', 5, 'lesbian'
 			gs 'stat'
-	
+
 			act 'Lick her':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/pool/sex/13.jpg"></center>'
@@ -242,7 +242,7 @@ if $ARGS[0] = '2':
 
 				gs 'arousal', 'cuni_give', 5, 'lesbian'
 				gs 'stat'
-	
+
 				act 'Proceed':
 					*clr & cla
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/pool/sex/14.jpg"></center>'
@@ -250,7 +250,7 @@ if $ARGS[0] = '2':
 
 					gs 'arousal', 'cuni_give', 5, 'lesbian'
 					gs 'stat'
-	
+
 					act 'Your turn':
 						*clr & cla
 						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/pool/sex/15.jpg"></center>'
@@ -258,7 +258,7 @@ if $ARGS[0] = '2':
 
 						gs 'arousal', 'cuni', 5, 'lesbian'
 						gs 'stat'
-	
+
 						act 'Lick her':
 							*clr & cla
 							'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/pool/sex/16.jpg"></center>'
@@ -267,7 +267,7 @@ if $ARGS[0] = '2':
 							$orgasm_or = 'yes'
 							gs 'arousal', 'cuni', 5, 'lesbian'
 							gs 'stat'
-							
+
 							act 'Finish':gt 'billsvid', '3'
 						end
 					end
@@ -285,11 +285,11 @@ if $ARGS[0] = '3':
 
 	if $telsob = $loverdesc[lover_number]:
 		'When you have finished playing, <<$telsob>> looks at you and waits for your next move.'
-		act 'Say goodbye': gt 'torgcentr'
+		act 'Say goodbye': gt 'city_mall'
 		act 'Invite her to your home': gt 'lezbsex', 'startloverhome'
 	else
 		'When you have finished playing, <<$telsob>> says that she needs to run and leaves.'
-		act 'Leave': gt 'torgcentr'
+		act 'Leave': gt 'city_mall'
 	end
 end
 

+ 6 - 6
locations/blackmailer.qsrc

@@ -317,7 +317,7 @@ elseif $ARGS[0] = 'photo_dream2':
 			killvar '$temp_dream_text'
 			'The laughter around you grows, you are surrounded by a sea of people holding your picture and laughing at you.'
 			'Wading through the ocean of polaroids, you are ever confronted with the fact that you have lost the respect of your former friends.'
-			
+
 			gs 'dream_events', 'event_end'
 		end
 	else
@@ -573,7 +573,7 @@ if $ARGS[0] = 'police1':
 				'"Hmm, how did this person contact you?"'
 				'"He texted me."'
 				'You see a stark of hope flash through the officers eyes, if you could show us the texts we might be able to locate him."'
-				
+
 				if arrpos('$SMSContact', 'Blackmailer') >= 0:
 					act 'Show them the messages':
 						*clr & cla
@@ -726,7 +726,7 @@ if $ARGS[0] = 'set_SMSTree':
 						else
 							$SMSTree['b4'] = 'How much do you want before it stops?'
 						end
-	
+
 	$SMSTree['5'] = 'Just drop off the money'
 		$SMSTree['6'] = 'or else'
 
@@ -789,7 +789,7 @@ if $ARGS[0] = 'Add_SMS_repeat':
 		gs 'SMStext_builder', 'receive', $SMSTree['2']
 		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', $SMSTree['a4']
+			gs 'SMStext_builder', 'add_reply', $SMSTree['a4'], 'blackmailer', 'sms_repeat_end1', 'a4'
 		elseif blackmailQW['stage'] < 8 and blackmailQW['next_payment'] < 3000:
 			gs 'SMStext_builder', 'add_reply', $SMSTree['b4'], 'blackmailer', 'sms_repeat_switch1', 'a', $SMSTree['b4']
 		elseif blackmailQW['stage'] = 7:
@@ -842,7 +842,7 @@ if $ARGS[0] = 'sms_repeat_switch1':
 		else
 			gs 'SMStext_builder', 'send_selfie', $SMSTree['c12'], 'c|sw|u|n|b|sh|ft|fa|fp', 'blackmailer', 'sms_repeat_switch2'
 		end
-		if $ARGS[1] = 'b': 
+		if $ARGS[1] = 'b':
 			gs 'SMStext_builder', 'add_reply', $SMSTree['d12'], 'blackmailer', 'sms_repeat_switch3', 'd12'
 		elseif $ARGS[1] = 'c':
 			gs 'SMStext_builder', 'add_reply', $SMSTree['e12'], 'blackmailer', 'sms_repeat_switch5', 'e12'
@@ -899,7 +899,7 @@ if $ARGS[0] = 'sms_repeat_switch2':
 		gs 'SMStext_builder', 'show_sms', ARGS[1]
 
 		wait 250
-	
+
 		if blackmailQW['next_payment'] > 0:
 			gs 'SMStext_builder', 'receive', $SMSTree[$temp_path + '22']
 		else

+ 51 - 77
locations/body.qsrc

@@ -15,22 +15,19 @@
 !!bodyVars['bust_magic'] = set in body_shape for the fat moved to bust
 !!bodyVars['bust_other'] = other additions to bust-size, including breast creams
 !!
-!!salocatnow = the current category of pcs_mass['body']
-!!salocatlast = the previous category of pcs_mass['body']
 !!magf2bdo = flag for magic bust increase; 0, ready; 1, do it; 2, ask; 3, no
 !!mgf2bnocnt = used to count the number of times a bust increase was turned down and stop asking after 3
-!!magtarcup = set in the dream code as the target cup size 
+!!magtarcup = set in the dream code as the target cup size
 !!bodyVars['weight_warning'] = used to flag if to display the gaining/losing weight message when bathing
-!!salolast = used when doing a soft rest to control the cycling of the main code
 !!bodyresetflag = used to prevent a code chunk from firing on a soft or hard reset
 !!Image set variables
-!! bodset = body image and descriptor control variable, used to indicate which image and descriptor set is in use
-!! $bodimgsets[x] = body shape descriptors, tens place is the set (using bodset), 0 - 7 the descriptors (using salocatnow), 8 filler, 9 is the folder name
-!! bdsetlock = flag to indicate set control override, 0 is use the formula to pick a set, 1 is use a fixed set
-!! fixbodset = the identification number of the fixed image set
-!! bodsetcnt = the number of sets present
-!! imgset6ovr[x] and imgset7ovr[x] = a flag to indicate that an image set (x) has its own image 6 and/or 7
-!! extended lash functionality; pcs_lashes = n are: {2, largest natural size}, {3, with temporary false lashes on or basic 2D lash extensions}, {4, with ornate false lashes on or lavish 4D extensions}, {5, with extremely ornate, 6D-style extensions} - xerya
+!!	bodset = body image and descriptor control variable, used to indicate which image and descriptor set is in use
+!!	$bodimgsets[x] = body shape descriptors, tens place is the set (using bodset), 0 - 7 the descriptors, 8 filler, 9 is the folder name
+!!	bdsetlock = flag to indicate set control override, 0 is use the formula to pick a set, 1 is use a fixed set
+!!	fixbodset = the identification number of the fixed image set
+!!	bodsetcnt = the number of sets present
+!!	imgset6ovr[x] and imgset7ovr[x] = a flag to indicate that an image set (x) has its own image 6 and/or 7
+!!	extended lash functionality; pcs_lashes = n are: {2, largest natural size}, {3, with temporary false lashes on or basic 2D lash extensions}, {4, with ornate false lashes on or lavish 4D extensions}, {5, with extremely ornate, 6D-style extensions} - xerya
 
 
 !! Pregnancy weight gain:
@@ -73,7 +70,7 @@ if $ARGS[0] = 'UpdateBodyMeasurement':
 end
 
 if $ARGS[0] = 'CalcWeight':
-	!{pcs_weight: Svetas weight in kg 
+	!{pcs_weight: Svetas weight in kg
 	Optimal Weight (170cm): 60kg, 60 pcs_mass['body']
 	This is an approximation, so that a sveta with a different height has the same BMI for the same pcs_mass['body'] values.
 	The default height of 170 cm is used as a starting point. The bmi deviates by 0.06 for a deviation of 10cm and 0.4 for a deviation of 20cm.}
@@ -170,18 +167,17 @@ if $ARGS[0] = 'DailyUpdate':
 
 	gs 'AppearanceSystem', 'UpdateBaseAppearance'
 	gs 'body', 'Update_Appearance'
+	gs 'body', 'UpdateBodyImage'
 
 	!skin variable reset
 	killvar 'moisturizerDailyCount'
 	killvar 'skinDailyGain'
 	killvar 'skinDailyPenalty'
-	
 end
 
 if $ARGS[0] = 'Update_Appearance':
 	gs 'AppearanceSystem'
 	gs 'body_desc'
-	gs 'body', 'UpdateBodyImage'
 end
 
 
@@ -189,13 +185,10 @@ end
 
 if $ARGS[0] = 'UpdateBodyImage':
 	!Update body image set
-	if dounspell = 1:
-		salocatnow = (pcs_hips / 10) - 5
-	end
 
 	$bodyVars['desc']     = func('body_structure', 'body_desc')
-	$bodyVars['img']      = func('body_structure', 'body_img')
 	$bodyVars['bmi_desc'] = func('body_structure', 'bmi_desc')
+	$bodyVars['img']      = func('body_structure', 'body_img')
 end
 
 
@@ -239,7 +232,7 @@ if $ARGS[0] = 'Update_Hair':
 	if pcs_haircol ! nathcol and dyefade > 0:
 		dyefade -= 1
 	end
-	
+
 	!! daily reduction of braids
 	if hbraids > 0: hbraids -= 1
 
@@ -324,6 +317,7 @@ end
 
 if $ARGS[0] = 'Update_Body':
 	gs 'body', 'Update_StatBuffs'
+	pcs_mass['body_last'] = pcs_mass['body']
 
 	!!pcs_mass['body'] Handling; the first part is because during a reset fat is not used and should be cleared
 	if bodyresetflag = 1 or cheatVars['fat'] = 1:
@@ -382,7 +376,6 @@ if $ARGS[0] = 'Update_Body':
 	gs 'body', 'Find_band_to_waist_ratio'
 	gs 'body', 'Find_hip_to_height_ratio'
 
-	salocatnow = func('body', 'Calc_salocat')
 	gs 'body', 'Redistribute_Mass'
 
 	!!This is if a Succubus has pcs_mass['body'] < 1
@@ -409,30 +402,25 @@ if $ARGS[0] = 'Update_Body':
 
 	gs 'body', 'Update_vhips'
 
-	salocatnow = func('body', 'Calc_salocat')
-
 	!!This will trigger the warning notices in the bathing code (the +/- 12 should always be +/- 11 + the max change to pcs_mass['body'] w/ fat)
-
-!	if salolast > pcs_mass['body'] + pcs_mass['butt'] and pcs_mass['body'] + pcs_mass['butt'] <= (20 * (salocatnow - 1)) + 12:
-!		bodyVars['weight_warning'] = 1
-!	elseif salolast < pcs_mass['body'] + pcs_mass['butt'] and pcs_mass['body'] + pcs_mass['butt'] >= (20 * (salocatnow + 1)) - 12:
-!		bodyVars['weight_warning'] = 2
-!	end
-
-	if pcs_mass['body'] < pcs_mass['body_message'] - 5:
+	if pcs_mass['body'] <= pcs_mass['body_message'] - 6:
 		bodyVars['weight_warning'] = 1
 		pcs_mass['body_message'] = pcs_mass['body']
-	elseif pcs_mass['body'] > pcs_mass['body_message'] + 5:
+	elseif pcs_mass['body'] => pcs_mass['body_message'] + 6:
 		bodyVars['weight_warning'] = 2
 		pcs_mass['body_message'] = pcs_mass['body']
 	end
 
-
+	!!Setting the pcs_apprnc bonus based on fat and strength
+	temp_bmi = func('body', 'CalcBMI2')
+	pcs_bmi[0] = temp_bmi / 10
+	pcs_bmi[1] = temp_bmi mod 10
+	killvar 'temp_bmi'
 
 	!!This will trigger the dream for the option to use magic to increase bust
 	!!Three nos at the dream will lock it out (1 yes resets the count)
 	if pcs_magik >= 5 and MagikDostup = 0 and magf2bdo = 0:
-		if tits < 10 and salolast < pcs_mass['body'] + pcs_mass['butt'] and pcs_mass['body'] + pcs_mass['butt'] >= (20 * (salocatnow + 1)) - 11:
+		if tits < 10 and pcs_mass['body'] > pcs_mass['body_last'] and pcs_bmi > 17:
 			if mgf2bnocnt < 3:
 				magf2bdo = 2
 			else
@@ -441,20 +429,6 @@ if $ARGS[0] = 'Update_Body':
 		end
 	end
 
-	!!This is to deal with the possibility that salocatnow changed by more than 1 (fat burners, vitamins, plastic surgery, etc.)
-	if salocatnow < salocatlast: salocatlast -= 1
-	if salocatnow > salocatlast: salocatlast += 1
-
-	!!This is for use in the warning code and as part of the reset routines
-	if salolast > pcs_mass['body'] + pcs_mass['butt']: salolast -= 1
-	if salolast < pcs_mass['body'] + pcs_mass['butt']: salolast += 1
-
-	!!Setting the pcs_apprnc bonus based on fat and strength
-	temp_bmi = func('body', 'CalcBMI2')
-	pcs_bmi[0] = temp_bmi / 10
-	pcs_bmi[1] = temp_bmi mod 10
-	killvar 'temp_bmi'
-
 	!!This is to clean up unused variables
 	killvar 'normbuffpick'
 	killvar 'nrmbfpckct'
@@ -584,6 +558,7 @@ elseif $ARGS[0] = 'Find_hip_to_height_ratio':
 	killvar 'temp_hratio'
 end
 
+!! Depricated
 if $ARGS[0] = 'Calc_salocat':
 	!!This calculates the current pcs_mass['body'] category; ranges are 20 points, seemed to balance best if the range is x10 the hip devisor
 	if pcs_mass['body'] + pcs_mass['butt'] < 10:
@@ -625,18 +600,8 @@ if $ARGS[0] = 'Redistribute_Mass':
 
 			if bodyVars['bust_magic'] >= 2 + magtarcup * 5: magf2bdo = 0
 			pcs_mana -= max(100, 2000 / pcs_magik)
-		
-		!! Old content
-		!{
-		elseif salocatnow < salocatlast:
-			if magikDostup = 0 and bodyVars['bust_magic'] > 0 and salocatnow < 2:
-				bodyVars['bust_magic'] -= 1
-				pcs_mass['body'] += 3
-				magf2bdo = 1
-			end
-		}
 		end
-		
+
 		!!===============    Low Weight    ===============!!
 		if pcs_mass['body'] < 10:
 			temp_diff = min(pcs_mass['bust'], 3)
@@ -659,7 +624,7 @@ if $ARGS[0] = 'Redistribute_Mass':
 				temp_diff = min(pcs_mass['bust_gen'] - pcs_mass['bust'], 2)
 				pcs_mass['bust'] += temp_diff
 				pcs_mass['body'] -= temp_diff
-			
+
 			elseif temp_total_mass >= temp_tot_gen_mass - 10 and temp_total_mass <= temp_tot_gen_mass and pcs_mass['bust'] = pcs_mass['bust_gen']:
 				!Keep bust at genetic level if pcs_mass['body'] >= 50 and pcs_mass['body'] <= 60
 
@@ -683,7 +648,7 @@ if $ARGS[0] = 'Redistribute_Mass':
 				temp_diff = min(pcs_mass['butt_gen'] - pcs_mass['butt'], 2)
 				pcs_mass['butt'] += temp_diff
 				pcs_mass['body'] -= temp_diff
-			
+
 			elseif temp_total_mass >= temp_tot_gen_mass - 10 and temp_total_mass <= temp_tot_gen_mass and pcs_mass['butt'] = pcs_mass['butt_gen']:
 				!Keep butt at genetic level if pcs_mass['body'] >= 50 and pcs_mass['body'] <= 60
 
@@ -778,10 +743,10 @@ if $ARGS[0] = 'Reset_mass_distribution':
 	pcs_mass['butt_message'] = pcs_mass['butt']
 	pcs_mass['body_message'] = pcs_mass['body']
 
+	bodyVars['vhips'] = (pcs_mass['body'] + pcs_mass['butt'] - 80) / 2
+
 	killvar 'total_mass'
 	killvar 'total_gen_mass'
-
-	gs 'body', 'Update_vhips'
 end
 
 if $ARGS[0] = 'Reset_preg_mass':
@@ -807,9 +772,27 @@ if $ARGS[0] = 'Set_mass_distribution_using_body':
 	end
 	bodyVars['vhips'] = (pcs_mass['body'] + pcs_mass['butt'] - 80) / 2
 
+	pcs_mass['body_message'] = pcs_mass['body']
 	pcs_mass['bust_message'] = pcs_mass['bust']
 	pcs_mass['butt_message'] = pcs_mass['butt']
-	pcs_mass['body_message'] = pcs_mass['body']
+
+	if dounspell = 0:
+		temp_weight = func('body', 'CalcWeight2')
+		pcs_weight[0] = temp_weight / 10
+		pcs_weight[1] = temp_weight mod 10
+
+		temp_bmi = func('body', 'CalcBMI2')
+		pcs_bmi[0] = temp_bmi / 10
+		pcs_bmi[1] = temp_bmi mod 10
+
+		killvar 'temp_weight'
+		killvar 'temp_bmi'
+	end
+
+	gs 'body', 'Update_vhips'
+	gs 'AppearanceSystem', 'UpdateBaseAppearance'
+	gs 'body', 'Update_Appearance'
+	gs 'body', 'UpdateBodyImage'
 end
 
 
@@ -834,13 +817,13 @@ if $ARGS[0] = 'Update_vhips':
 	!! Varies between 0 and 25 to 30 ish range
 	!bodyVars['butt_bonus'] = max(0, pcs_mass['butt'] - max(0, bodyVars['vhips']))
 	bodyVars['butt_bonus'] = (pcs_mass['butt'] - 20) / 3
-	
+
 	!! temp_vhips2 = vhips + (pcs_hgt * bodyVars['hratio'])/100 - (pcs_hgt * 72)/100
 	!! temp_vhips2 = pcs_hips - (pcs_hgt * 72) / 1000
 	temp_vhips2 = vhips - (pcs_hgt * (72 - bodyVars['hratio'])) / 100
 	bodyVars['vofat'] = max(0, temp_vhips2 / 2)
 	bodyVars['vhips'] -= 2 * bodyVars['vofat']
-	
+
 	!! vhips = vhips - max(0, temp_vhips2)
 	!! vhips = vhips || vhips = (pcs_hgt * (72 - bodyVars['hratio'])) / 100
 
@@ -891,8 +874,9 @@ end
 if $ARGS[0] = 'softreset':
 	!!This is for use in immediately updating shape if something has caused a large change in pcs_mass['body'], primarily fat burners and plastic surgery
 	bodyresetflag = 1
+	body_sr_counter = 0
 	:resetloop
-	if pcs_mass['body'] + pcs_mass['butt'] ! salolast:
+	if body_sr_counter < 10 and pcs_mass['body'] ! pcs_mass['body_last']:
 		if gamestartflag = 1:
 			salobustdo = 1
 		end
@@ -929,14 +913,6 @@ if $ARGS[0] = 'hardreset':
 		gs 'body', 'Update_Body'
 
 		pcs_mass['body'] = 60 + (2 * pcs_hips) - (pcs_hgt * bodyVars['hratio']) / 50
-		if pcs_mass['body'] + pcs_mass['butt'] < 10:
-			salocatnow = 0
-		else
-			salocatnow = 1 + (pcs_mass['body'] + pcs_mass['butt'] - 10) / 20
-		end
-
-		salocatlast = salocatnow
-		salolast = pcs_mass['body'] + pcs_mass['butt']
 
 		if pcs_mass['butt_gen'] = 0:
 			pcs_mass['butt_gen'] = 20
@@ -1011,8 +987,6 @@ if $ARGS[0] = 'initial':
 	gs 'body', 'softreset'
 
 	!!	This sets/resets the controler variables
-	salocatnow = func('body', 'Calc_salocat')
-	salocatlast = salocatlast
 	normbuffpick = 0
 	magf2bdo = 0
 	killvar 'gamestartflag'
@@ -1024,8 +998,8 @@ if $ARGS[0] = 'initial':
 	pcs_bmi[1] = temp_bmi mod 10
 	killvar 'temp_bmi'
 
-	gs 'body', 'UpdateBodyImage'
 	gs 'body', 'Update_Appearance'
+	gs 'body', 'UpdateBodyImage'
 end
 
 

+ 30 - 43
locations/body_desc.qsrc

@@ -194,57 +194,44 @@ if $ARGS[0] = 'breasts':
 	!! more noticeable on a thinner body than a heavier one. I have experimented with moving where the silicone is factored in to the body shape calculations, but ultimately there is just no better way to do it than how it is now, given the things that increase the amount
 	!! of silicone in the PC body. The best kludge I can make is working off of stored fat (pcs_weight does actually not do the job at all, as a fat PC and thin PC are almost the same, oddly, in my tests) and making an approximation from there. The amount of the silicone
 	!! variable does not really equate to any particular real-life cc calculation for implant size, so we cannot go off of that. This will have to do for now.
-	pcs_bustdisparity = (bodyVars['bust_silicone']/10) - salocatnow
+	pcs_bustdisparity = (bodyVars['bust_silicone'] - pcs_mass['bust']) / 10
 
-	if pcs_bustdisparity >=1 and pcs_bustdisparity < 2:
-		$pcdesc_breastsqualifierinsertive = ''
-		$pcdesc_breastsword = 'bolt-ons'
-		pcdesc_breastimplantcheck = 1
-	elseif pcs_bustdisparity >= 2 and pcs_bustdisparity < 3:
-		$pcdesc_breastsqualifierinsertive = ', semi-spherical'
-		$pcdesc_breastsword = 'bolt-ons'
-		pcdesc_breastimplantcheck = 1
-	elseif pcs_bustdisparity >= 3 and pcs_bustdisparity < 4:
-		$pcdesc_breastsqualifierinsertive = ', firm and round'
-		$pcdesc_breastsword = 'bolt-ons'
-		pcdesc_breastimplantcheck = 1
-	!! Already we are about as far as a normal, non-fetishistic human being would get -- the maximum size of implant, the XXL, results in 40 silicone, and an extremely thin and well-kept PC will have a minimum salocatnow of 1.
-	!! That means that anything below this line means it was a very intentional move toward sexual objectification, as it could only come from fillable or string implants (and on a thin frame, no less), so we can take some liberties.
-	elseif pcs_bustdisparity >= 4 and pcs_bustdisparity < 5:
-		$pcdesc_breastsqualifierinsertive = ', clearly man-made'
-		$pcdesc_breastsword = 'bolt-ons'
-		pcdesc_breastimplantcheck = 1
-	elseif pcs_bustdisparity >= 5 and pcs_bustdisparity < 6:
-		$pcdesc_breastsqualifierinsertive = ', plastic fuckdoll'
-		$pcdesc_breastsword = 'bolt-ons'
-		pcdesc_breastimplantcheck = 1
-	elseif pcs_bustdisparity >= 6 and pcs_bustdisparity < 7:
-		$pcdesc_breastsqualifierinsertive = ', walking fucktoy'
-		$pcdesc_breastsword = 'bolt-ons'
-		pcdesc_breastimplantcheck = 1
-	elseif pcs_bustdisparity >= 7 and pcs_bustdisparity < 8:
-		$pcdesc_breastsqualifierinsertive = ', laughably overdone fuckdoll'
-		$pcdesc_breastsword = 'bolt-ons'
-		pcdesc_breastimplantcheck = 1
-	elseif pcs_bustdisparity >= 8:
-		$pcdesc_breastsqualifierinsertive = ', <<$pc_descWordy[''hair colour'']>> overdone fuckdoll'
-		$pcdesc_breastsword = 'bolt-ons'
+	$pcdesc_breastsqualifierinsertive = ''
+	!! For all-natural PCs.
+	if bodyVars['bust_silicone'] <= 0:
+		pcdesc_breastimplantcheck = 0
+	else
 		pcdesc_breastimplantcheck = 1
-	!! This triggers if they have fake breasts, but they are not obviously, blatantly fake breasts. In fact, this should be what triggers most of the time with a PC who has implants, given average cases.
-	elseif pcs_bustdisparity < 1 and bodyVars['bust_silicone'] > 0:
+	end
+
+
+	if pcs_bustdisparity <= 0:
+		!! This triggers if they have natural breasts, or fake breasts but they are not obviously, blatantly fake breasts.
+		!! In fact, this should be what triggers most of the time with a PC who has implants, given average cases.
 		if pcs_cupsize <= 30:
 			$pcdesc_breastsword = 'breasts'
 		else
 			$pcdesc_breastsword = 'tits'
 		end
-		$pcdesc_breastsqualifierinsertive = ''
-		pcdesc_breastimplantcheck = 1
-	!! For all-natural PCs.
 	else
-		if pcs_cupsize <= 30:$pcdesc_breastsword = 'breasts'
-		if pcs_cupsize > 30:$pcdesc_breastsword = 'tits'
-		$pcdesc_breastsqualifierinsertive = ''
-		pcdesc_breastimplantcheck = 0
+		$pcdesc_breastsword = 'bolt-ons'
+		if pcs_bustdisparity = 2:
+			$pcdesc_breastsqualifierinsertive = ', semi-spherical'
+		elseif pcs_bustdisparity = 3:
+			$pcdesc_breastsqualifierinsertive = ', firm and round'
+		!! Already we are about as far as a normal, non-fetishistic human being would get -- the maximum size of implant, the XXL, results in 40 silicone, and an extremely thin and well-kept PC will have a minimum pcs_mass['bust'] of 1.
+		!! That means that anything below this line means it was a very intentional move toward sexual objectification, as it could only come from fillable or string implants (and on a thin frame, no less), so we can take some liberties.
+		elseif pcs_bustdisparity = 4:
+			$pcdesc_breastsqualifierinsertive = ', clearly man-made'
+		elseif pcs_bustdisparity = 5:
+			$pcdesc_breastsqualifierinsertive = ', plastic fuckdoll'
+		elseif pcs_bustdisparity = 6:
+			$pcdesc_breastsqualifierinsertive = ', walking fucktoy'
+		elseif pcs_bustdisparity = 7:
+			$pcdesc_breastsqualifierinsertive = ', laughably overdone fuckdoll'
+		elseif pcs_bustdisparity >= 8:
+			$pcdesc_breastsqualifierinsertive = ', <<$pc_descWordy[''hair colour'']>> overdone fuckdoll'
+		end
 	end
 
 	!! These will not be used below, but can be referenced by descriptive writers in case they want to be able to quickly reference whether or not the PC has implants, as in "He reaches up and cups your<<$pcdesc_breastsfakeinsertive>> breasts."

+ 277 - 106
locations/body_structure.qsrc

@@ -196,6 +196,104 @@ if $ARGS[0] = 'appearance_bonus':
 end
 
 
+if $ARGS[0] = 'Body_img_totals':
+	if ARGS[1] = 0:
+		result = 1
+	elseif ARGS[1] = 100:
+		result = 4
+	elseif ARGS[1] = 106:
+		result = 3
+	elseif ARGS[1] = 200:
+		result = 3
+	elseif ARGS[1] = 206:
+		result = 4
+	elseif ARGS[1] = 207:
+		result = 2
+	elseif ARGS[1] = 208:
+		result = 1
+	elseif ARGS[1] = 210:
+		result = 1
+	elseif ARGS[1] = 213:
+		result = 1
+	elseif ARGS[1] = 215:
+		result = 1
+	elseif ARGS[1] = 300:
+		result = 4
+	elseif ARGS[1] = 306:
+		result = 3
+	elseif ARGS[1] = 307:
+		result = 1
+	elseif ARGS[1] = 400:
+		result = 2
+	elseif ARGS[1] = 406:
+		result = 3
+	elseif ARGS[1] = 500:
+		result = 3
+	elseif ARGS[1] = 506:
+		result = 2
+	elseif ARGS[1] = 600:
+		result = 1
+	elseif ARGS[1] = 700:
+		result = 1
+	elseif ARGS[1] = 800:
+		result = 1
+	else
+		result = 0
+	end
+end
+
+if $ARGS[0] = 'Body_img_transform':
+	if ARGS[1] < 100:
+		result = 0
+	elseif ARGS[1] < 106:
+		result = 100
+	elseif ARGS[1] < 200:
+		result = 106
+	elseif ARGS[1] < 206:
+		result = 200
+	elseif ARGS[1] = 206:
+		result = 206
+	elseif ARGS[1] = 207:
+		result = 207
+	elseif ARGS[1] < 210:
+		result = 208
+	elseif ARGS[1] < 213:
+		result = 210
+	elseif ARGS[1] < 215:
+		result = 213
+	elseif ARGS[1] < 300:
+		result = 215
+	elseif ARGS[1] < 306:
+		result = 300
+	elseif ARGS[1] = 306:
+		result = 306
+	elseif ARGS[1] = 307:
+		result = 307
+	elseif ARGS[1] < 310:
+		result = 208
+	elseif ARGS[1] < 313:
+		result = 210
+	elseif ARGS[1] < 315:
+		result = 213
+	elseif ARGS[1] < 400:
+		result = 215
+	elseif ARGS[1] < 406:
+		result = 400
+	elseif ARGS[1] < 500:
+		result = 406
+	elseif ARGS[1] < 506:
+		result = 500
+	elseif ARGS[1] < 600:
+		result = 506
+	elseif ARGS[1] < 700:
+		result = 600
+	elseif ARGS[1] < 800:
+		result = 700
+	else
+		result = 800
+	end
+end
+
 !	Get the body shape image
 !	$bodyVars['img'] = func('body_structure', 'body_img', pcs_bmi, strenbuf, PregChem)
 if $ARGS[0] = 'body_img':
@@ -203,120 +301,193 @@ if $ARGS[0] = 'body_img':
 	if arrsize('ARGS') = 2: ARGS[2] = strenbuf
 	if arrsize('ARGS') = 3: ARGS[3] = PregChem
 
-	! =======      Pregnant       ======= !
-	if bdsetlock = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or ARGS[3] > 3600))):
-		if ARGS[3] <= 2687:
-			$result = 'images/pc/body/shape/default_preg/0.jpg'
-		elseif ARGS[3] <= 6215:
-			$result = 'images/pc/body/shape/default_preg/<<((ARGS[3] - 2184)/504)>>.jpg'
-		else
-			$result = 'images/pc/body/shape/default_preg/8.jpg'
-		end
-		exit
-	end
 
-
-	bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
-
-	if bdsetlock = 1:
-		if fixbodset = 0:
-			bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 4
-		elseif fixbodset = 1:
-			bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 6
-		elseif fixbodset = 2:
-			bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 8
-		else
-			$result = func('body_structure', 'custom_body_img', bs_temp_bs_class)
-			killvar 'bs_temp_bs_class'
+	if 1:
+		! =======      Pregnant       ======= !
+		if bdsetlock = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or ARGS[3] > 3600))):
+			if ARGS[3] <= 2687:
+				$result = 'images/pc/body/shape/default_preg/0.jpg'
+			elseif ARGS[3] <= 6215:
+				$result = 'images/pc/body/shape/default_preg/<<((ARGS[3] - 2184)/504)>>.jpg'
+			else
+				$result = 'images/pc/body/shape/default_preg/8.jpg'
+			end
 			exit
 		end
-	end
-
 
-	! =======      starving       ======= !
-	! -----           bmi < 16      ----- !
-	if bs_temp_bs_class <= 17:
-		!	0 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/0.jpg'
-
-	! =======     underweight     ======= !
-	! -----     16 <= bmi < 19      ----- !
-	elseif bs_temp_bs_class <= 105:
-		!	0 <= strenbuf <= 50
-		$result = 'images/pc/body/shape/default_low/1.jpg'
-	elseif bs_temp_bs_class <= 107:
-		!	51 <= strenbuf <= 100
-		$result = 'images/pc/body/shape/default_mid/1.jpg'
-	elseif bs_temp_bs_class <= 117:
-		!	101 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/default_high/1.jpg'
-
-	! =======       slender       ======= !
-	! -----     19 <= bmi < 21      ----- !
-	elseif bs_temp_bs_class <= 205:
-		!	0 <= strenbuf <= 50
-		$result = 'images/pc/body/shape/default_low/2.jpg'
-	elseif bs_temp_bs_class <= 207:
-		!	51 <= strenbuf <= 100
-		$result = 'images/pc/body/shape/default_mid/2.jpg'
-	elseif bs_temp_bs_class <= 217:
-		!	101 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/default_high/2.jpg'
+		bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
+
+		if bdsetlock = 1:
+			if fixbodset = 0:
+				bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 2
+			elseif fixbodset = 1:
+				bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 6
+			elseif fixbodset = 2:
+				bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 8
+			else
+				$result = func('body_structure', 'custom_body_img', bs_temp_bs_class)
+				killvar 'bs_temp_bs_class'
+				exit
+			end
+		end
 
-	! =======       healthy       ======= !
-	! -----     21 <= bmi < 25      ----- !
-	elseif bs_temp_bs_class <= 305:
-		!	0 <= strenbuf <= 50
-		$result = 'images/pc/body/shape/default_low/3.jpg'
-	elseif bs_temp_bs_class <= 307:
-		!	51 <= strenbuf <= 100
-		$result = 'images/pc/body/shape/default_mid/3.jpg'
-	elseif bs_temp_bs_class <= 317:
-		!	101 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/default_high/3.jpg'
+		$result = 'images/pc/body/shape/'
+		! =======      starving       ======= !
+		! -----           bmi < 16      ----- !
+		if bs_temp_bs_class <= 17:
+			!	0 <= strenbuf <= 200
+			$result += '0.jpg'
+
+		! =======     underweight     ======= !
+		! -----     16 <= bmi < 19      ----- !
+		elseif bs_temp_bs_class <= 105:
+			!	0 <= strenbuf <= 50
+			$result += 'default_low/1.jpg'
+		elseif bs_temp_bs_class <= 107:
+			!	51 <= strenbuf <= 100
+			$result += 'default_mid/1.jpg'
+		elseif bs_temp_bs_class <= 117:
+			!	101 <= strenbuf <= 200
+			$result += 'default_high/1.jpg'
+
+		! =======       slender       ======= !
+		! -----     19 <= bmi < 21      ----- !
+		elseif bs_temp_bs_class <= 205:
+			!	0 <= strenbuf <= 50
+			$result += 'default_low/2.jpg'
+		elseif bs_temp_bs_class <= 207:
+			!	51 <= strenbuf <= 100
+			$result += 'default_mid/2.jpg'
+		elseif bs_temp_bs_class <= 217:
+			!	101 <= strenbuf <= 200
+			$result += 'default_high/2.jpg'
+
+		! =======       healthy       ======= !
+		! -----     21 <= bmi < 25      ----- !
+		elseif bs_temp_bs_class <= 305:
+			!	0 <= strenbuf <= 50
+			$result += 'default_low/3.jpg'
+		elseif bs_temp_bs_class <= 307:
+			!	51 <= strenbuf <= 100
+			$result += 'default_mid/3.jpg'
+		elseif bs_temp_bs_class <= 317:
+			!	101 <= strenbuf <= 200
+			$result += 'default_high/3.jpg'
+
+		! =======     overweight      ======= !
+		! -----     26 <= bmi < 30      ----- !
+		elseif bs_temp_bs_class <= 405:
+			!	0 <= strenbuf <= 50
+			$result += 'default_low/4.jpg'
+		elseif bs_temp_bs_class <= 407:
+			!	51 <= strenbuf <= 100
+			$result += 'default_mid/4.jpg'
+		elseif bs_temp_bs_class <= 417:
+			!	101 <= strenbuf <= 200
+			$result += 'default_high/4.jpg'
+
+		! =======  moderately obese   ======= !
+		! -----     30 <= bmi < 35      ----- !
+		elseif bs_temp_bs_class <= 505:
+			!	0 <= strenbuf <= 50
+			$result += 'default_low/5.jpg'
+		elseif bs_temp_bs_class <= 507:
+			!	51 <= strenbuf <= 100
+			$result += 'default_mid/5.jpg'
+		elseif bs_temp_bs_class <= 517:
+			!	101 <= strenbuf <= 200
+			$result += 'default_high/5.jpg'
+
+		! =======   severely obese    ======= !
+		! -----     35 <= bmi < 40      ----- !
+		elseif bs_temp_bs_class <= 617:
+			!	0 <= strenbuf <= 200
+			$result += '6.jpg'
+
+		! ======= very severely obese ======= !
+		! -----     40 <= bmi < 45      ----- !
+		elseif bs_temp_bs_class <= 717:
+			!	0 <= strenbuf <= 200
+			$result += '7.jpg'
+
+		! =======   morbidly obese    ======= !
+		! -----     45 <= bmi           ----- !
+		else
+			!	0 <= strenbuf <= 200
+			!$result = 'images/pc/body/shape/8.jpg'
+			$result += '7.jpg'
+		end
 
-	! =======     overweight      ======= !
-	! -----     26 <= bmi < 30      ----- !
-	elseif bs_temp_bs_class <= 405:
-		!	0 <= strenbuf <= 50
-		$result = 'images/pc/body/shape/default_low/4.jpg'
-	elseif bs_temp_bs_class <= 407:
-		!	51 <= strenbuf <= 100
-		$result = 'images/pc/body/shape/default_mid/4.jpg'
-	elseif bs_temp_bs_class <= 417:
-		!	101 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/default_high/4.jpg'
+	else
+		! =======      Pregnant       ======= !
+		if bdsetlock = 0 and (knowpreg = 1 or (preg = 1 and (thinkpreg = 1 or ARGS[3] > 3600))):
+			if ARGS[3] <= 2687:
+				$result = 'images/pc/body/shape/preg/0/0.jpg'
+			elseif ARGS[3] <= 6215:
+				$result = 'images/pc/body/shape/preg/0/<<((ARGS[3] - 2184)/504)>>.jpg'
+			else
+				$result = 'images/pc/body/shape/preg/0/8.jpg'
+			end
+			exit
+		end
 
-	! =======  moderately obese   ======= !
-	! -----     30 <= bmi < 35      ----- !
-	elseif bs_temp_bs_class <= 505:
-		!	0 <= strenbuf <= 50
-		$result = 'images/pc/body/shape/default_low/5.jpg'
-	elseif bs_temp_bs_class <= 507:
-		!	51 <= strenbuf <= 100
-		$result = 'images/pc/body/shape/default_mid/5.jpg'
-	elseif bs_temp_bs_class <= 517:
-		!	101 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/default_high/5.jpg'
+		bs_temp_bs_class = func('body_structure', 'get_class', ARGS[1], ARGS[2])
+
+		if bdsetlock = 1:
+			if fixbodset = 0:
+				bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 2
+			elseif fixbodset = 1:
+				bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 6
+			elseif fixbodset = 2:
+				bs_temp_bs_class = 100 * (bs_temp_bs_class / 100) + 8
+			else
+				$result = func('body_structure', 'custom_body_img', bs_temp_bs_class)
+				killvar 'bs_temp_bs_class'
+				exit
+			end
+		end
 
-	! =======   severely obese    ======= !
-	! -----     35 <= bmi < 40      ----- !
-	elseif bs_temp_bs_class <= 617:
-		!	0 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/6.jpg'
+		$result = 'images/pc/body/shape/'
+
+		bs_temp_bs_class = func('body_structure', 'Body_img_transform', bs_temp_bs_class)
+		gs 'body_structure', 'Body_img_totals'
+		if bs_temp_bs_class < 100:
+			$result += '0_starving/'
+		elseif bs_temp_bs_class < 200:
+			$result += '1_underweight/'
+		elseif bs_temp_bs_class < 300:
+			$result += '2_slender/'
+		elseif bs_temp_bs_class < 400:
+			$result += '3_healthy/'
+		elseif bs_temp_bs_class < 500:
+			$result += '4_overweight/'
+		elseif bs_temp_bs_class < 600:
+			$result += '5_modobese/'
+		elseif bs_temp_bs_class < 700:
+			$result += '6_sevobese/'
+		elseif bs_temp_bs_class < 800:
+			$result += '7_vsevobese/'
+		else
+			$result += '8_morobese/'
+		end
 
-	! ======= very severely obese ======= !
-	! -----     40 <= bmi < 45      ----- !
-	elseif bs_temp_bs_class <= 717:
-		!	0 <= strenbuf <= 200
-		$result = 'images/pc/body/shape/7.jpg'
+		if bs_temp_bs_class mod 100 = 0:
+			$result += '0_low_'
+		elseif bs_temp_bs_class mod 100 = 6:
+			$result += '6_mid_'
+		elseif bs_temp_bs_class mod 100 = 7:
+			$result += '7_high_'
+		elseif bs_temp_bs_class mod 100 = 8:
+			$result += '8_strong_'
+		elseif bs_temp_bs_class mod 100 = 10:
+			$result += '10_vstrong_'
+		elseif bs_temp_bs_class mod 100 = 13:
+			$result += '13_bb_'
+		elseif bs_temp_bs_class mod 100 = 15:
+			$result += '15_hulk_'
+		end
 
-	! =======   morbidly obese    ======= !
-	! -----     45 <= bmi           ----- !
-	else
-		!	0 <= strenbuf <= 200
-		!$result = 'images/pc/body/shape/8.jpg'
-		$result = 'images/pc/body/shape/7.jpg'
+		$result += '<<rand(0, func(''body_structure'', ''Body_img_totals'', bs_temp_bs_class)-1)>>.jpg'
 	end
 
 	killvar 'bs_temp_bs_class'
@@ -388,7 +559,7 @@ if $ARGS[0] = 'body_desc':
 		$result = 'wiry'
 
 	! =======       slender       ======= !
-	! -----     19 <= bmi < 21      ----- !
+	! -----     19 <= bmi < 22      ----- !
 	elseif bs_temp_bs_class <= 205:
 		!	0 <= strenbuf <= 50
 		$result = 'slender'
@@ -400,7 +571,7 @@ if $ARGS[0] = 'body_desc':
 		$result = 'lean'
 
 	! =======       healthy       ======= !
-	! -----     21 <= bmi < 25      ----- !
+	! -----     22 <= bmi < 25      ----- !
 	elseif bs_temp_bs_class <= 305:
 		!	0 <= strenbuf <= 50
 		$result = 'healthy'

+ 10 - 10
locations/booty_call.qsrc

@@ -43,7 +43,7 @@ if $ARGS[0] = 'sugar_daddy_scheduler2':
 !!		if (rand(1,10) <= npc_sexdrive[$FuckBuddy[i]] or npc_booty_call[$sugar_daddy[i]] = daystart) and npc_no_booty_call[$sugar_daddy[i]] ! daystart and (npc_big_fight[$sugar_daddy[i]] < daystart - 7 and daystart > 7):
 		if npc_sugar_daddy_timer[$sugar_daddy[i]] - (npc_rel[$sugar_daddy[i]] / 10) > daystart:
 			npc_no_booty_call[$sugar_daddy[i]] = daystart
-			
+
 		elseif (npc_booty_call_date[$sugar_daddy[i]] = daystart or rand(1,10) <= npc_sexdrive[$sugar_daddy[i]] or rand(1,100) <= npc_rel[$sugar_daddy[i]]) and npc_no_booty_call[$sugar_daddy[i]] ! daystart:
 			sugar_daddy_call[$sugar_daddy[i]] = 1
 			gs 'booty_call', 'sugar_daddy_scheduler3'
@@ -79,9 +79,9 @@ if $ARGS[0] = 'sugar_daddy_scheduler3':
 	end
 end
 
-!!	if npc_start_free_time[$FuckBuddy[i]] = 0 or npc_day_off[$FuckBuddy[i]] = 0 or npc_end_free_time[$FuckBuddy[i]] = 0: 
+!!	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]
-		
+
 !!	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:
@@ -288,7 +288,7 @@ if $ARGS[0] = 'text1':
 		elseif booty_call['text'] = 3:
 			'	<b><font color="blue">fucking you on my bed</font></b>'
 		end
-		gs 'booty_call_start', 'text2'
+		gs 'booty_call', 'text2'
 	end
 
 	act'Me too':
@@ -385,7 +385,7 @@ if $ARGS[0] = 'invite_yourself1':
 			'<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">wanna come then?</font></b>'
-			gs 'booty_call_start', 'invite_yourself2'
+			gs 'booty_call', 'invite_yourself2'
 		end
 
 		act'I wanna fuck':
@@ -394,7 +394,7 @@ if $ARGS[0] = 'invite_yourself1':
 			'<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">wanna come then?</font></b>'
-			gs 'booty_call_start', 'invite_yourself2'
+			gs 'booty_call', 'invite_yourself2'
 		end
 	else
 		'	<b><font color="blue">i was thinking about your naked body in my bed</font></b>'
@@ -492,13 +492,13 @@ if $ARGS[0] = 'fb_npc_stat_update':
 			if rand(1,2) = 1:
 				npc_start_free_time[$npclastgenerated] = 8
 				npc_end_free_time[$npclastgenerated] = 12
-				
+
 				npc_work_start[$npclastgenerated] = 13
 				npc_work_end[$npclastgenerated] = 21
 			else
 				npc_start_free_time[$npclastgenerated] = 18
 				npc_end_free_time[$npclastgenerated] = 22
-				
+
 				npc_work_start[$npclastgenerated] = 9
 				npc_work_end[$npclastgenerated] = 17
 			end
@@ -537,13 +537,13 @@ if $ARGS[0] = 'sd_npc_stat_update':
 			if rand(1,2) = 1:
 				npc_start_free_time[$npclastgenerated] = 8
 				npc_end_free_time[$npclastgenerated] = 12
-				
+
 				npc_work_start[$npclastgenerated] = 13
 				npc_work_end[$npclastgenerated] = 21
 			else
 				npc_start_free_time[$npclastgenerated] = 18
 				npc_end_free_time[$npclastgenerated] = 22
-				
+
 				npc_work_start[$npclastgenerated] = 9
 				npc_work_end[$npclastgenerated] = 17
 			end

+ 5 - 5
locations/bouling.qsrc

@@ -13,7 +13,7 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 	'<center><b>Bowling</b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/bowling/boul.jpg"></center>'
 
-	act 'Leave':gt 'torgcentr'
+	act 'Leave': gt 'city_mall'
 
 	if hour >= 8 and hour <= 20 and money >= 300:
 		act 'Play (300 <b>₽</b>) (1:00)':
@@ -29,9 +29,9 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 			$boy[1] = $npclastgenerated
 			$boydesc[1] = $npc_usedname[$npclastgenerated]
 			gs 'stat'
-				
+
 			act 'Leave': gt 'bouling'
-				
+
 			if boulrand = 0:
 				killvar 'boulrand'
 				'You see two guys and they challenge you to a game.'
@@ -64,7 +64,7 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 				end
 			elseif boulrand > 1:
 				killvar 'boulrand'
-				gt 'bouling', 'randwin' 
+				gt 'bouling', 'randwin'
 			end
 		end
 	end
@@ -108,7 +108,7 @@ if $ARGS[0] = 'randwin':
 
 		if money >= 2000:
 			'You lose and have to pay 2,000 <b>₽</b>.'
-			
+
 			gs 'willpower', 'sex', 'self', 'hard'
 			if will_cost <= pcs_willpwr:
 				act 'Offer sex instead (<<will_cost>> Willpower)':

+ 3 - 9
locations/boyStat.qsrc

@@ -9,11 +9,7 @@
 !! 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):
-	if ARGS[0] > 0:
-		npclastcalledn = ARGS[0]
-	else
-		npclastcalledn = val($ARGS[0])
-	end
+	npclastcalledn = iif(isnum($ARGS[0]),val($ARGS[0]),ARGS[0])
 	$npcboytemp = 'A' + npclastcalledn
 else
 	$npcboytemp = $ARGS[0]
@@ -27,7 +23,7 @@ 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 $npc_usedname[$npclastcalled]=0: $npc_usedname[$npclastcalled] = $npc_firstname[$npclastcalled] & !! this is a workaround which compensate incomplete settings in npc_static files, it can be removed later ...
+	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]
@@ -103,9 +99,7 @@ elseif $ARGS[1] = 'f':
 	$dick_girth6 = $bstemp[3]
 	silavag6 = bstemp[4]
 else
-	boyStat_i = ARGS[1]
-	!! check if $ARGS[1] is an empty string or not
-	if $ARGS[1] ! 0 and isnum($ARGS[1]) ! 0: boyStat_i = val($ARGS[1])
+	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]

+ 37 - 18
locations/bras.qsrc

@@ -4,11 +4,30 @@
 !!gs 'bras', 'dispose'
 !!gs 'bras', 'remove'
 !!gs 'bras', 'wear'
+menu_off = 1
+
+if $ARGS[0] = 'totals':
+	if $ARGS[1] = 'gm_bras':
+		total = 19
+	elseif $ARGS[1] = 'fashionista_bras':
+		total = 42
+	elseif $ARGS[1] = 'pussycats_bras':
+		total = 41
+	elseif $ARGS[1] = 'danilovich_bras':
+		total = 8
+	elseif $ARGS[1] = 'eroto_bras':
+		total = 27
+	elseif $ARGS[1] = 'salacious_bras':
+		total = 37
+	elseif $ARGS[1] = 'lusso_bras':
+		total = 33
+	end
+end
 
 if $ARGS[0] = 'view_bra_list':
 	!! ARGS 0 - view_bra_list
 	!! ARGS 1 - action type (draw, store, unwanted)
-	
+
 	if $pursepantytype ! '' or $pursebratype ! '':
 		'<center><b>You put the '+iif($pursepantytype ! '','panties','')+iif($pursepantytype ! '' and $pursebratype ! '',' and ','')+iif($pursebratype ! '','bra','')+' from your purse back in the wardrobe.</b></center><br>'
 		killvar '$pursepantytype' & killvar 'pursepantynumber'
@@ -38,7 +57,7 @@ if $ARGS[0] = 'view_bra_list':
 	'<center><table border=1><TH><a href="exec:gt ''bras'', ''view_bra_list'', ''wardrobe''">Draw</a></TH><TH><a href="exec:gt ''bras'', ''view_bra_list'', ''store''">Storage</a></TH><TH><a href="exec:gt ''bras'', ''view_bra_list'', ''unwanted''">Unwanted</a></TH></table></center>'
 
 	if $braworntype ! 'none':act 'Remove bra':gs 'bras', 'remove' & gt 'bras', 'view_bra_list', $ARGS[1]
-	
+
 	if $ARGS[1] = 'store':
 		cloc = 1
 	end
@@ -67,7 +86,7 @@ if $ARGS[0] = 'view_bra_list':
 	if ARRSIZE('lusso_bras') > 0 and clothingfilter['quality'] = 1:'<center><img src="images/locations/city/citycenter/mall/Lusso.png"></center>'
 
 	i = 1
-	:looplussobras 
+	:looplussobras
 		if lusso_brasS[i] = metka_bras and lusso_bras[i] = 1:
 			gs 'underwear_attributes', 'lusso_bras', i
 			gs 'bras', 'bra_filter'
@@ -84,7 +103,7 @@ if $ARGS[0] = 'view_bra_list':
 	if ARRSIZE('salacious_bras') > 0 and clothingfilter['quality'] = 1:'<center><img src="images/locations/pushkin/exhibitshop/shop_name.png"></center>'
 
 	i = 1
-	:loopsalaciousbras 
+	:loopsalaciousbras
 	if salacious_brasS[i] = metka_bras and salacious_bras[i] = 1:
 			gs 'underwear_attributes', 'salacious_bras', i
 			gs 'bras', 'bra_filter'
@@ -101,7 +120,7 @@ if $ARGS[0] = 'view_bra_list':
 	if ARRSIZE('fashionista_bras') > 0 and clothingfilter['quality'] = 1:'<center><img src="images/locations/city/citycenter/mall/fashionista.png"></center>'
 
 	i = 1
-	:loopfashionistabras 
+	:loopfashionistabras
 	if fashionista_brasS[i] = metka_bras and fashionista_bras[i] = 1:
 			gs 'underwear_attributes', 'fashionista_bras', i
 			gs 'bras', 'bra_filter'
@@ -120,7 +139,7 @@ if $ARGS[0] = 'view_bra_list':
 	!!To filter just this set
 
 	i = 1
-	:loopcatsbras 
+	:loopcatsbras
 	if cats_brasS[i] = metka_bras and cats_bras[i] = 1:
 			gs 'underwear_attributes', 'cats_bras', i
 			gs 'bras', 'bra_filter'
@@ -137,7 +156,7 @@ if $ARGS[0] = 'view_bra_list':
 	if ARRSIZE('eroto_bras') > 0 and clothingfilter['quality'] = 1:'<center><img src="images/locations/city/redlight/erotomaniac/shop_name.png"></center>'
 
 	i = 1
-	:looperotobras 
+	:looperotobras
 	if eroto_brasS[i] = metka_bras and eroto_bras[i] = 1:
 			gs 'underwear_attributes', 'eroto_bras', i
 			gs 'bras', 'bra_filter'
@@ -154,7 +173,7 @@ if $ARGS[0] = 'view_bra_list':
 	if ARRSIZE('danilovich_bras') > 0 and clothingfilter['quality'] = 1:'<center><img src="images/locations/city/citycenter/mall/sports.png"></center>'
 
 	i = 1
-	:loopdanilovichbras 
+	:loopdanilovichbras
 	if danilovich_brasS[i] = metka_bras and danilovich_bras[i] = 1:
 			gs 'underwear_attributes', 'danilovich_bras', i
 			gs 'bras', 'bra_filter'
@@ -167,7 +186,7 @@ if $ARGS[0] = 'view_bra_list':
 		end
 	i += 1
 	if i <= ARRSIZE('danilovich_bras'):jump 'loopdanilovichbras'
-	
+
 	clo_i += 1
 	if clothingfilter['quality'] = 0 and clo_i <= 7:
 		jump 'loopbraquality_filter'
@@ -187,7 +206,7 @@ if $ARGS[0] = 'view_bra_item':
 !!	$RESULT = FUNC('$short_description', $ARGS[2], CloStyle2)
 !!	$RESULT += '<<ARGS[3]>>'
 !!	'<<$RESULT>>'
-	
+
 	gs 'underwear_descriptions', 'bras'
 	if underwear['pair'] > 0: 'This bra forms a set with panty #<<underwear[''pair'']>>.'
 
@@ -255,7 +274,7 @@ if $ARGS[0] = 'view_bra_item':
 		end
 	else
 		act 'Return':gt 'bras', 'view_bra_list', $ARGS[1]
-		
+
 		if $ARGS[1] = 'store':
 			'This bra is in storage.'
 			gs 'bras', 'storage_options'
@@ -282,7 +301,7 @@ if $ARGS[0] = 'view_bra_item':
 										gs 'willpower', 'pay', 'resist'
 										gs 'stat'
 										gs 'bras', 'wear', $ARGS[2], ARGS[3]
-		
+
 										if $ARGS[1] = 'wardrobe':
 											gt 'wardrobe', 'main'
 										else
@@ -327,7 +346,7 @@ if $ARGS[0] = 'view_bra_item':
 												gs 'stat'
 												gs 'panties', 'wear', $ARGS[2], underwear['pair']
 												gs 'bras', 'wear', $ARGS[2], ARGS[3]
-				
+
 												if $ARGS[1] = 'wardrobe':
 													gt 'wardrobe', 'main'
 												else
@@ -352,7 +371,7 @@ if $ARGS[0] = 'view_bra_item':
 												gs 'stat'
 												gs 'panties', 'wear', $ARGS[2], underwear['pair']
 												gs 'bras', 'wear', $ARGS[2], ARGS[3]
-				
+
 												if $ARGS[1] = 'wardrobe':
 													gt 'wardrobe', 'main'
 												else
@@ -377,7 +396,7 @@ if $ARGS[0] = 'view_bra_item':
 												gs 'stat'
 												gs 'panties', 'wear', $ARGS[2], underwear['pair']
 												gs 'bras', 'wear', $ARGS[2], ARGS[3]
-					
+
 												if $ARGS[1] = 'wardrobe':
 													gt 'wardrobe', 'main'
 												else
@@ -585,14 +604,14 @@ if $ARGS[0] = 'filter_header':
 	else
 		$Headerstring += '<a href="exec:clothingfilter[''number''] = 0 & clothingfilter[''quality''] = 1 & clothingfilter[''inhibition''] = 1 & gt ''bras'', ''view_bra_list'',  $ward_list_store"><img src="images/system/icons/clothing/number_off.png"></a></TD>'
 	end
-	
+
 	$Headerstring += '<TD>'
 	if clothingfilter['quality'] = 0:
 		$Headerstring += '<img src="images/system/icons/clothing/quality.png"></TD>'
 	else
 		$Headerstring += '<a href="exec:clothingfilter[''quality''] = 0 & clothingfilter[''number''] = 1 & clothingfilter[''inhibition''] = 1 & gt ''bras'', ''view_bra_list'',  $ward_list_store"><img src="images/system/icons/clothing/quality_off.png"></a></TD>'
 	end
-	
+
 !! Show only filers
 	$Headerstring[1] = '<TD>'
 	if clothingfilter['sport_only'] = 0:
@@ -644,7 +663,7 @@ if $ARGS[0] = 'shop_filter_header':
 	else
 		$Headerstring += '<a href="exec:clothingfilter[''number''] = 0 & clothingfilter[''quality''] = 1 & clothingfilter[''inhibition''] = 1 & gt $loc, $loc_arg"><img src="images/system/icons/clothing/number_off.png"></a></TD>'
 	end
-	
+
 	$Headerstring += '<TD>'
 	if clothingfilter['quality'] = 0:
 		$Headerstring += '<img src="images/system/icons/clothing/quality.png"></TD>'

+ 19 - 16
locations/brother_voyeur.qsrc

@@ -781,10 +781,8 @@ if $ARGS[0] = 'brother_shower_shave':
 	else
 		'"Yeah, you''re probably right. I should shave," you say looking down at yourself, frowning at the growing body hair.'
 	end
-	
-	if pcs_leghair > 3 and pcs_pubes > 3 and mc_inventory['razor'] < razors_to_use['all']:
-		msg'As you pick up your razor, you realize that it''s probably only sharp enough for one more use. You''ll have to decide between a <<$pc_desc[''pubes'']>> pussy or <<$pc_desc[''legs'']>> legs.'
-	else
+
+	if pcs_leghair <= 3 and pcs_pubes <= 3:
 		*nl
 		'You don''t have enough hair on either your legs of pussy for you to need shave.'
 		'"Sorry bro but I don''t need to shave. Give a couple of days and I can show you." You say to the now a bit disappointed Kolka but there''s not much you can do about that.'
@@ -793,10 +791,15 @@ if $ARGS[0] = 'brother_shower_shave':
 			act'Put his hand on your pussy': gs 'brother_shower_sex', 'sex_menu'
 		end
 		act 'Finish showering together': gt 'brother_voyeur', 'brother_shower_end'
+	else
+		if mc_inventory['razor'] < razors_to_use['all']:
+			msg'As you pick up your razor, you realize that it''s probably only sharp enough for one more use. You''ll have to decide between a <<$pc_desc[''pubes'']>> pussy or <<$pc_desc[''legs'']>> legs.'
+		else
+			gs 'brother_voyeur', 'shave_both'
+		end
+		gs 'brother_voyeur', 'shave_legs'
+		gs 'brother_voyeur', 'shave_pussy'
 	end
-	gs 'brother_voyeur', 'shave_both'
-	gs 'brother_voyeur', 'shave_legs'
-	gs 'brother_voyeur', 'shave_pussy'
 end
 
 if $ARGS[0] = 'shave_both':
@@ -836,7 +839,7 @@ if $ARGS[0] = 'shave_both':
 						end
 					else
 						cla & *clr
-						gs 'stat'						
+						gs 'stat'
 						'Once you''re finished you gently glide your hands over your smooth pussy and legs, enjoying the feeling.'
 						'You put your hands on either side of your pussy and say, "Well? Satisfied now?"'
 						'"Yeah..." he says, trailing off at the end, obviously hypnotized by your pussy, causing you to roll your eyes.'
@@ -882,12 +885,12 @@ if $ARGS[0] = 'shave_legs':
 								cla & *nl
 								'"That''s not what I said. I said I''d shave just because you asked. I didn''t say what exactly I''d be shaving or that I''d do everything you tell me to."'
 								'"Hrmph." Kolka seems disappointed. Once you''re finished you gently glide your hands over your smooth legs, making sure you didn''t miss a spot.'
-								
+
 								gs 'brother_voyeur', 'shower_end'
 							end
 
 							act'I guess I did': brother_shower['shave_request'] = 1 & gt 'brother_voyeur', 'brother_shower_shave'
-							
+
 							act'Oh alright': brother_shower['shave_request'] = 2 & gt 'brother_voyeur', 'brother_shower_shave'
 						end
 
@@ -905,7 +908,7 @@ if $ARGS[0] = 'shave_legs':
 									cla
 									'"Sorry little brother, you''re not going to change my mind that easily. I said I''d shave just because you asked. I didn''t say that I''d do everything you asked."'
 									'"Hmph. I still think you''d look better if you just kept it smooth..." he mutters while you gently glide your hands over your smooth legs, making sure you didn''t miss a spot.'
-									
+
 									gs 'brother_voyeur', 'shower_end'
 								end
 
@@ -932,7 +935,7 @@ if $ARGS[0] = 'shave_legs':
 									cla & *nl
 									'"Sorry little brother, you''re not going to change my mind that easily. I said I''d shave just because you asked. I didn''t say that I''d shave everything you wanted."'
 									'"Hmph. I still think you''d look better if you just kept it smooth..." he mutters while you gently glide your hands over your smooth legs, making sure you didn''t miss a spot.'
-									
+
 									gs 'brother_voyeur', 'shower_end'
 								end
 
@@ -1011,7 +1014,7 @@ if $ARGS[0] = 'shave_pussy':
 				'"Yeah, I guess I could use a trim."'
 				'You lather up your crotch and then start carefully shaving your pussy.'
 			end
-			
+
 			if pcs_leghair > 3:
 				'Kolka frowns. "You''re not going to shave your legs?"'
 				if mc_inventory['razor'] < razors_to_use['legs']:
@@ -1277,7 +1280,7 @@ if $ARGS[0] = 'shave':
 				'"Hmm..." He seems disappointed.'
 				act 'Dry off': gt 'brother_voyeur', 'dryoff'
 			end
-			
+
 			if pcs_pubes < 21:
 				act'"Nope! I''m thinking of growing it out"':
 					cla
@@ -1300,7 +1303,7 @@ if $ARGS[0] = 'shave':
 					act 'Dry off': gt 'brother_voyeur', 'dryoff'
 				end
 			end
-			
+
 			if pcs_pubes > 10:
 				act'"I like it like this!"':
 					cla
@@ -1598,7 +1601,7 @@ if $ARGS[0] = 'shave_not_done':
 			act 'Dry off': gt 'brother_voyeur', 'dryoff'
 		end
 	end
-	
+
 	act'Indulge him':
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/home/bathroom/shave_stubble.mp4"></center>'

+ 0 - 636
locations/budgetclothes.qsrc

@@ -1,636 +0,0 @@
-# budgetclothes
-!2022/03/12
-if $ARGS[0] = 'start':
-	killvar 'clothingfilter'
-	$loc_arg = $ARGS[0]
-	$loc = 'budgetclothes'
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'start'
-	menu_off = 0
-	$location_type = 'event'
-	'<center><b><font color="maroon">Welcome to G & M - Clothes for all your needs</font></b></center>'
-	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/gandm/shop.jpg"</center>'
-	'G&M is not fancy, it''s certainly not high fashion but it''s cheap and has specific work and school wear.'
-	clr
-
-	gs 'stat'
-	gs 'themes', 'indoors'
-
-	act 'Leave the store':
-		cla
-		$shoplocation = ''
-		if torg = 1:
-			minut += 3
-			gt 'torgcentr'
-		else
-			gt 'pav_industrial'
-		end
-	end
-
-	act 'Visit clothing department':
-		cla
-		menu_off = 1
-
-		act 'Return':gt 'budgetclothes', 'start'
-
-		act 'View clothing':
-			minut += 5
-			gt 'budgetclothes', 'clothes'
-		end
-
-		act 'View dresses':
-			minut += 5
-			gt 'budgetclothes', 'dresses'
-		end
-
-		act 'View office wear':
-			minut += 5
-			gt 'budgetclothes', 'office'
-		end
-
-		act 'View maid outfits':
-			minut += 5
-			gt 'budgetclothes', 'gm_maid'
-		end
-
-		act 'View server uniforms':
-			minut += 5
-			gt 'budgetclothes', 'gm_server'
-		end
-
-		act 'View school uniforms':
-			minut += 5
-			gt 'budgetclothes', 'school'
-		end
-	end
-
-	act 'View regular shoes':
-		minut += 5
-		gt 'budgetclothes', 'shoes'
-	end
-
-	act 'View panties':
-		minut += 5
-		gt 'budgetclothes', 'panties'
-	end
-
-	act 'View bras':
-		minut += 5
-		gt 'budgetclothes', 'bras'
-	end
-
-	act 'View purses':
-		minut += 5
-		gt 'budgetclothes', 'purses'
-	end
-
-	act 'View coats':
-		minut += 5
-		gt 'budgetclothes', 'coats'
-	end
-end
-
-if $ARGS[0] = 'clothes':
-	$loc_arg = 'clothes'
-	$loc = 'budgetclothes'
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'clothes'
-	menu_off = 0
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M outfits</font></b></center>'
-	*nl
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'gm_outfits'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopgm_outfits_filter
-
-		if Clothingstock - 16 > 0:
-			i = 1
-		elseif Clothingstock - 8 > 0:
-			i = 2
-		else
-			i = 3
-		end
-
-		:loopgm_outfits
-			if gm_outfits[i] = 0:
-				gs 'clothing_attributes', 'gm_outfits', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''gm_outfits''"><img src="images/pc/items/gm/outfits/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += 3
-
-		if i <= total:jump 'loopgm_outfits'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopgm_outfits_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopgm_outfits_filter'
-	end
-end
-
-if $ARGS[0] = 'gm_outfits':
-	cla
-	menu_off = 1
-	if gm_outfits[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'budgetclothes', 'clothes'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'gm_outfits',i, 1000, 'shop'
-end
-
-if $ARGS[0] = 'dresses':
-	$loc_arg = 'dresses'
-	$loc = 'budgetclothes'
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'dresses'
-	menu_off = 0
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M dresses</font></b></center>'
-	*nl
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'gm_dress'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopgm_dress_filter
-
-		if Clothingstock > 17:
-			i = 1
-		elseif Clothingstock > 11:
-			i = 2
-		elseif Clothingstock > 5:
-			i = 3
-		else
-			i = 4
-		end
-
-		:loopgm_dress
-			if gm_dress[i] = 0:
-				gs 'clothing_attributes', 'gm_dress', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''gm_dress''"><img src="images/pc/items/gm/dress/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += 3
-		if i <= total:jump 'loopgm_dress'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopgm_dress_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopgm_dress_filter'
-	end
-end
-
-if $ARGS[0] = 'gm_dress':
-	cla
-	menu_off = 1
-	if gm_dress[i] ! 0:
-		msg 'You already own this dress.'
-		gt 'budgetclothes', 'dresses'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'gm_dress',i, 1000, 'shop'
-end
-
-if $ARGS[0] = 'office':
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'office'
-	menu_off = 0
-	$loc_arg = $ARGS[0]
-	$loc = 'budgetclothes'
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M office clothing</font></b></center>'
-	*nl
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'gm_office'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopoffice_filter
-
-		i = 1
-
-		:loopoffice
-			if gm_office[i] = 0:
-				gs 'clothing_attributes', 'gm_office', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''officeclo''"><img src="images/pc/items/gm/office/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += 1
-		if i <= total:jump 'loopoffice'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopoffice_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopoffice_filter'
-	end
-end
-
-if $ARGS[0] = 'officeclo':
-	cla
-	menu_off = 1
-	if gm_office[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'budgetclothes', 'office'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'gm_office',i, 2000, 'shop'
-end
-
-if $ARGS[0] = 'gm_maid':
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'gm_maid'
-	menu_off = 0
-	$loc_arg = $ARGS[0]
-	$loc = 'budgetclothes'
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M maid outfits</font></b></center>'
-	*nl
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'gm_maid'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopgm_maid_filter
-
-		if Clothingstock > 11:
-			i = 1
-		else
-			i = 2
-		end
-
-		:loopgm_maid
-			if gm_maid[i] = 0:
-				gs 'clothing_attributes', 'gm_maid', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''gm_maidclo''"><img src="images/pc/items/gm/maid/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += 2
-		if i <= total:jump 'loopgm_maid'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopgm_maid_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopgm_maid_filter'
-	end
-end
-
-if $ARGS[0] = 'gm_maidclo': gt 'clothing', 'view_clothing_item', 'gm_maid',i, 2000, 'shop'
-
-if $ARGS[0] = 'gm_server':
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'gm_server'
-	menu_off = 0
-	$loc_arg = $ARGS[0]
-	$loc = 'budgetclothes'
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M server uniforms</font></b></center>'
-	*nl
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'gm_server'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopgm_server_filter
-
-		if Clothingstock > 11:
-			i = 1
-		else
-			i = 2
-		end
-
-		:loopgm_server
-			if gm_server[i] = 0:
-				gs 'clothing_attributes', 'gm_server', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''gm_serverclo''"><img src="images/pc/items/gm/server/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += 2
-		if i <= total:jump 'loopgm_server'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopgm_server_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopgm_server_filter'
-	end
-end
-
-if $ARGS[0] = 'gm_serverclo': gt 'clothing', 'view_clothing_item', 'gm_server', i, 2000, 'shop'
-
-if $ARGS[0] = 'school':
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'school'
-	menu_off = 0
-	$loc_arg = $ARGS[0]
-	$loc = 'budgetclothes'
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M school uniforms</font></b></center>'
-	*nl
-
-	gs 'clothing_QV', 'shop_filter_header'
-	gs 'clothing', 'totals', 'gm_school'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopgm_school_filter
-
-		if Clothingstock > 15:
-			i = 1
-		elseif Clothingstock > 7:
-			i = 2
-		else
-			i = 3
-		end
-
-		:loopschool
-			if gm_school[i] = 0:
-				gs 'clothing_attributes', 'gm_school', i
-				gs 'clothing_QV', 'shop_filter'
-
-				!!sort by filter
-				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1: *p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''schoolclo''"><img src="images/pc/items/gm/school/<<i>>.jpg" 	height="250" /></a>'
-				end
-			end
-			i += 3
-			if i = 6:i = 9
-		if i <= total:jump 'loopschool'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopgm_school_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
-		jump 'loopgm_school_filter'
-	end
-end
-
-if $ARGS[0] = 'schoolclo':
-	cla
-	menu_off = 1
-	if gm_school[i] ! 0:
-		msg 'You already own these clothes.'
-		gt 'budgetclothes', 'school'
-	end
-
-	gt 'clothing', 'view_clothing_item', 'gm_school',i, 1500, 'shop'
-end
-
-if $ARGS[0] = 'shoes':
-	$loc_arg = 'shoes'
-	$loc = 'budgetclothes'
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'shoes'
-	menu_off = 0
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M shoes</font></b></center>'
-	*nl
-
-	gs 'shoes', 'shop_filter_header'
-
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopshoequality_filter
-
-		i = 1
-		:loopgm_shoes
-			if gm_shoe[i] = 0:
-				gs 'shoe_attributes', 'gm', i
-				gs 'shoes', 'shoe_filter'
-				if (Shofilter['quality'] = 0 and ShoQuality = clo_i) or Shofilter['number'] = 0:
-					if Shofilter['inc'] = 1 and Shofilter['only'] = 1:
-						*p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''budget_shoes''"><img src="images/pc/items/gm/shoes/<<i>>.jpg" height="250" /></a>'
-					end
-				end
-			end
-			i += 1
-		if i <= 30:jump 'loopgm_shoes'
-
-	clo_i += 1
-	if Shofilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopshoequality_filter'
-	end
-end
-
-if $ARGS[0] = 'budget_shoes': gt 'shoes', 'view_shoe_item', 'shop', 'gm',i, 700
-
-if $ARGS[0] = 'coats':
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'coats'
-	menu_off = 0
-	$loc_arg = 'coats'
-	$loc = 'budgetclothes'
-	*clr & cla
-	gs'stat'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	i = 1
-	:loopcoats
-		if gm_coats[i] = 0:*p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''coats2''"><img src="images/pc/items/gm/coats/<<i>>.jpg" 	height="250" /></a>'
-		i += 1
-	if i <= 20:jump 'loopcoats'
-end
-
-if $ARGS[0] = 'coats2': gt 'coats', 'view_coat_item', 'shop', 'gm',i, 1500
-
-if $ARGS[0] = 'purses':
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'purses'
-	menu_off = 0
-	$loc_arg = 'purses'
-	$loc = 'budgetclothes'
-	*clr & cla
-	gs'stat'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	i = 1
-	:looppurses
-		if gm_purses[i] = 0:*p '<a href="exec: i = <<i>> & gt ''budgetclothes'', ''purses2''"><img src="images/pc/items/gm/purses/<<i>>.jpg" 	height="250" /></a>'
-		i += 1
-	if i <= 20:jump 'looppurses'
-end
-
-if $ARGS[0] = 'purses2': gt 'purses', 'view_purse_item', 'shop', 'gm',i, 1500
-
-if $ARGS[0] = 'panties':
-	$loc_arg = 'panties'
-	$loc = 'budgetclothes'
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'panties'
-	menu_off = 0
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M panties</font></b></center>'
-
-
-	gs 'panties', 'shop_filter_header'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:looppantyquality_filter
-
-		i = 1
-		:looppanties
-			if gm_panties[i] = 0:
-				gs 'underwear_attributes', 'gm_panties', i
-				if (clothingfilter['quality'] = 0 and PanQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec: gt ''panties'', ''view_panty_item'', ''shop'', ''gm'', <<i>>, 300"><img src="images/pc/items/gm/panties/<<i>>.jpg" 	height="150" /></a>'
-				end
-			end
-			i += 1
-			if i = 7: i = 8
-			if i = 9: i = 10
-			if i = 21: i = 22
-			if i = 37: i = 38
-		if i <= 37:jump 'looppanties'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'looppantyquality_filter'
-	end
-end
-
-if $ARGS[0] = 'bras':
-	$menu_loc = 'budgetclothes'
-	$menu_arg = 'bras'
-	menu_off = 0
-	$loc_arg = 'bras'
-	$loc = 'budgetclothes'
-	*clr & cla
-	gs'stat'
-	'<center><b><font color="maroon">Viewing G&M bras</font></b></center>'
-	*nl
-
-	gs 'bras', 'shop_filter_header'
-
-	act 'Return':
-		cla
-		minut += 1
-		gt 'budgetclothes', 'start'
-	end
-
-	!!To filter just this set
-	clo_i = 0
-	:loopbraquality_filter
-
-		i = 1
-
-		:loopgm_bras
-			if gm_bras[i] = 0:
-				gs 'underwear_attributes', 'gm_bras', i
-				if (clothingfilter['quality'] = 0 and BraQuality = clo_i) or clothingfilter['number'] = 0:
-					*p '<a href="exec:gt ''bras'', ''view_bra_item'', ''shop'', ''gm'', <<i>>, 300"><img src="images/pc/items/gm/bras/<<i>>.jpg" 	height="150" /></a>'
-				end
-			end
-		i += 1
-		if i = 11: i = 13
-		if i = 16: i = 17
-		if i = 18: i = 19
-		if i <= 19:jump 'loopgm_bras'
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 6:
-		jump 'loopbraquality_filter'
-	end
-end
-
-
---- budgetclothes ---------------------------------
-

+ 5 - 4
locations/buklinik_event.qsrc

@@ -25,7 +25,7 @@ if $ARGS[0] = 'pos2':
 	'Vladimir calls you over, "Take a seat young lady. There''s nothin'' to worry about."'
 	'You take a seat at a small table in the middle of the room. In no time, you''re surrounded by the men. "Meet Vitaly, Paul Afanasyevitch, Oleg, Kostya and slow Albert.'
 	'Suddenly you feel one of them touch you. "So young and smooth..." while someone else takes a sniff of you, "Delicious..."'
-	
+
 	act 'Try to get away': gt 'buklinik_event', 'pos3'
 end
 
@@ -284,8 +284,9 @@ if $ARGS[0] = 'misha':
 	'<center><img <<$set_imgh>> src="images/locations/city/industrial/mercyclinic/misha.jpg" ></center>'
 	'Michael after the disease paralyzed the whole body, fingers and toes, head is all it can move. He <<MishaAge>> years. His spine is curved too much, and he can''t sit in a regular chair.'
 
-	act'Chat':
-		*clr & cla
+	act 'Chat':
+		*clr
+		delact 'Chat'
 		gs 'stat'
 		'You decided to chat with Michael.'
 		$zz_str[0] = 'You were talking with Michael I learned that he was born in Pavlovo, in the same way as you. His family moved to here when he was seven. The family had four children, he is a senior. He says he often remembers about the life he''d led before he contracted polio.'
@@ -304,6 +305,7 @@ if $ARGS[0] = 'misha':
 	end
 
 	gs 'buklinik_event', 'event2'
+	act '<B>Leave</B>': gt 'buklinik_event', 'room'
 end
 
 ! --- EVENTS --- !
@@ -430,7 +432,6 @@ if $ARGS[0] = 'entrance':
 end
 
 if $ARGS[0] = 'event2':
-	act '<B>Leave</B>': gt 'buklinik_event', 'room'
 	if nanny_cleaning = 0 or nanny_food = 0: exit
 
 	if MishaLove = 1:

+ 6 - 6
locations/camera.qsrc

@@ -127,7 +127,7 @@ if $ARGS[0] = 'start':
 	'You spend a few minutes thinking about places and people that might make for interesting subjects. Perhaps...'
 	*nl
 	! Get the number of locations in the array
-	location_count = ARRSIZE('$camera_locations')
+	location_count = arrsize('$camera_locations')
 	iterator = 0
 	! For every location
 	if location_count > 0:
@@ -135,12 +135,12 @@ if $ARGS[0] = 'start':
 		! Assign the variables
 		dynamic $camera_locations[iterator]
 		! Show the player unphotographed locations
-		if camera_found[$camera_event] ! 1: '<<$camera_description>>'
+		if camera_found[$camera_event] ! 1: $camera_description
 		iterator += 1
 		if iterator < location_count: jump 'location_loop'
 	end
 	*nl
-	people_count = ARRSIZE('$camera_people')
+	people_count = arrsize('$camera_people')
 	iterator = 0
 	! For every person in the array
 	if people_count > 0:
@@ -148,7 +148,7 @@ if $ARGS[0] = 'start':
 		! Assign the variables
 		dynamic $camera_people[iterator]
 		! If the subject has not been photographed and requirements are met (-1), show the name
-		if camera_found[$camera_event] ! 1 and camera_requirement = -1: '<<$camera_description>>'
+		if camera_found[$camera_event] ! 1 and camera_requirement = -1: $camera_description
 		iterator += 1
 		if iterator < people_count: jump 'people_loop'
 	end
@@ -158,7 +158,7 @@ end
 
 if $ARGS[0] = 'check_location':
 	! If the player has a camera and this location exists in the array
-	if photographyEv >= 2 and $camera_locations[$loc] ! 0:
+	if photographyEv >= 2 and $camera_locations[$loc] ! '':
 		! Assign the variables
 		dynamic $camera_locations[$loc]
 		! If they have not already photographed the location
@@ -181,7 +181,7 @@ end
 
 if $ARGS[0] = 'check_person':
     ! If the player has a camera and this person exists in the array
-    if photographyEv >= 2 and $camera_people[$ARGS[1]] ! 0:
+    if photographyEv >= 2 and $camera_people[$ARGS[1]] ! '':
         ! Assign the variables
         dynamic $camera_people[$ARGS[1]]
         ! If they have not already photographed the person

+ 35 - 35
locations/cikl.qsrc

@@ -30,10 +30,10 @@ if day > monthsEnd[month]:
 	month += 1
 
 	!! Changing the year at new year and making sure February have the correct number of days.
-	if month > 12: 
+	if month > 12:
 		month = 1
 		year += 1
-		if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0): 
+		if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0):
 			monthsend[2] = 29
 		else
 			monthsend[2] = 28
@@ -164,13 +164,13 @@ if husbandMark = 1 and husband <= 10:
 end
 
 !! after having surgery you will be in recuperation for a few days
-
-if surgeryday ! '':
+if surgeryday > 0:
 	if daystart - 7 <= surgeryday:
 		dailyhealthimprov = (daystart - surgeryday) * 50
 		pcs_health = dailyhealthimprov
 		recuperation = 1
 	else
+		killvar 'surgeryday'
 		killvar 'recuperation'
 		killvar 'dailyhealthimprov'
 	end
@@ -180,12 +180,12 @@ end
 streetevent_hour = -2
 
 !!Clothing stock and price randomizers
-Clothingstock = rand (0,23)
+Clothingstock = rand (0, 119)
 i = 1
 :loopprice
-Clothingstock[i] = rand (0,500)
-i += 1
-if i <= 147:jump 'loopprice'
+	Clothingstock[i] = rand (0, 500)
+	i += 1
+if i <= 147: jump 'loopprice'
 
 if dyneval ('RESULT = <<$coatworntype>>_coats_h[<<coatwornnumber>>]') <= 0: $coatworntype = 'none'
 
@@ -437,7 +437,7 @@ elseif preg = 2 and pregminut < totminut:
 	gs 'gameover', 'check', 4
 	msg '<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
 	pregminut = totminut + 1440
-	
+
 elseif preg = 0:
 	gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A14'
 	gs 'shortgs', 'remove_array_element', 'npc_pregtalk','A16'
@@ -618,9 +618,9 @@ dmishaevent = 0
 if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
 if GspravkaT = 1:Gspravka -= 1
 
-if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] > 0 and BurgerQW['IlyQWPoliceDayCount'] < 30: 
+if BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] > 0 and BurgerQW['IlyQWPoliceDayCount'] < 30:
 	BurgerQW['IlyQWPoliceDayCount'] += 1
-elseif BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] = 30: 
+elseif BurgerQW['IlyQW'] = 2 and BurgerQW['IlyQWPoliceDayCount'] = 30:
 	BurgerQW['IlyQW'] = 3
 end
 
@@ -815,14 +815,14 @@ if mid($start_type, 1, 2) = 'sg':
 			if week = 1:
 				!!The start and end values for i have to be changed if more female schoolgirl npcs are added to the game
 				i = 11
-				
+
 				:hotcat_calc_jump
 				i += 1
-				
+
 				if hotcat_rating['A<<i>>'] = 0 and i < 145: jump 'hotcat_calc_jump'
-				
+
 				switch_rand = rand(1,100)
-				
+
 				if hotcat_movement['A<<i>>'] = 0 and switch_rand < 21:
 					hotcat_rating['A<<i>>'] -= 1
 					hotcat_movement['A<<i>>'] -= 1
@@ -840,15 +840,15 @@ if mid($start_type, 1, 2) = 'sg':
 				killvar 'i'
 				killvar 'switch_rand'
 			end
-			
+
 			!! Resetting the late flag
 			if late = 1: late = 0
-			
-		end	
-		
+
+		end
+
 
 		!!Social grup changes
-		
+
 		!!Change from relatonship with other students.
 		gs 'gschool_socialchg', 'group_student_rel_change'
 
@@ -900,7 +900,7 @@ if mid($start_type, 1, 2) = 'sg':
 		old_grupvalue[2] = grupvalue[2]
 		old_grupvalue[3] = grupvalue[3]
 		old_grupvalue[4] = grupvalue[4]
-		
+
 	elseif SchoolAtestat = -1:
 		if func('homes_properties', 'has_access', 'parents_home') = 0:
 			$holyday = '<b>You missed your graduation. You could pick up your diploma at the school.</b>'
@@ -967,7 +967,7 @@ gs 'uni_lessons', 'cikl'
 
 !!resetting moisturizer so it can be used in the morning regardless
 moisturiser_time = totminut
-!!same with chaffing cream
+!!same with chafing cream
 mosal_time = totminut
 
 !!resetting last_pee to counteract time cheat
@@ -999,7 +999,7 @@ if blizoruk < 0: blizoruk = 0
 
 
 !!------------------------------------------------------------------------------------------------------------------------
-!!C and B array cleaning 
+!!C and B array cleaning
 
 if InSleep = 1: gs 'npc','cleanarrays'
 
@@ -1021,7 +1021,7 @@ killvar 'therapistFuckedPussyScene'
 
 if $status['dog'] ! 'blocked' and rex['owned'] = 1:
 	rex['timer_day'] = daystart
-	
+
 	!!Daily decay
 	rex['relationship'] -= 1
 
@@ -1035,7 +1035,7 @@ if $status['dog'] ! 'blocked' and rex['owned'] = 1:
 	rex['timer_walk'] = 0
 	rex['count_feed'] = rex['count_feed_base']
 	rex['timer_feed'] = 0
-		
+
 	if week = 1:
 		if cheat['dog_rel'] = 0:
 			npc_rel['A29'] -= rex['count_bath']
@@ -1043,7 +1043,7 @@ if $status['dog'] ! 'blocked' and rex['owned'] = 1:
 		end
 		rex['count_bath'] = rex['count_bath_base']
 	end
-end	
+end
 
 !!------------------------------------------------------------------------------------------------------------
 
@@ -1057,7 +1057,7 @@ if starlets['late_message'] = 1: starlets['late_message'] = 0
 
 !!---------- Starlet Content ---------------------------------------------------------------------------------
 if AlbinaQW['StarletsJoined'] > 0 and AlbinaQW['StarletsShutDown'] = 0 and npc_pregtalk['A23'] = 0:
-	if starlets_practice = daystart - 1: 
+	if starlets_practice = daystart - 1:
 		starlets_missed = 1
 		starlets_practice = 0
 	end
@@ -1075,7 +1075,7 @@ if month = 11 and day = 19 and (AlbinaQW['StarletsJoined'] <= 0 or (AlbinaQW['St
 !! Setting Del Parco initial variables
 if daystart < 2:
 	ml_delparcoQW['Stage'] = 0
-	ml_delparcoQW['Zariyah Trust'] = 50 
+	ml_delparcoQW['Zariyah Trust'] = 50
 end
 
 
@@ -1090,15 +1090,15 @@ if ml_guitarlesson['nextlesson'] < daystart and ml_guitarlesson['lessonday'] ! 8
 	ml_guitarlesson['lessonday'] = 8
 end
 
-!! Calculating the fame increase from the uploaded songs and removing ones that do not effect fame anymore to keep the 
+!! Calculating the fame increase from the uploaded songs and removing ones that do not effect fame anymore to keep the
 !! data at a sane level
 if ml_onlinesongcount > 0:
 	i = 0
 	j = -1
 
 	:looponlinesongs
-!!		this so every song counts only every 7 days and only for a limited number of weeks 
-		if ml_onlinesong_freshness[i] > 0:		
+!!		this so every song counts only every 7 days and only for a limited number of weeks
+		if ml_onlinesong_freshness[i] > 0:
 			j += 1
 			ml_tempsong_freshness[j] = ml_onlinesong_freshness[i]
 			ml_tempsong_lastcalcday[j] = ml_onlinesong_lastcalcday[i]
@@ -1122,7 +1122,7 @@ if ml_onlinesongcount > 0:
 	killvar 'ml_onlinesong_uploaded'
 
 	i = 0
-	
+
 	if j >= 0:
 		:looprebuildsongs
 			ml_onlinesong_freshness[i] = ml_tempsong_freshness[i]
@@ -1169,7 +1169,7 @@ gs 'emp_functions', 'evt_day_chk'
 !!---------------------------- WEEKLY RESET ----------------------------
 !!----------------------------------------------------------------------
 if week = 1:
-	!! Reset used car dealership offers 
+	!! Reset used car dealership offers
 	killvar 'used_car'
 
 	!! Reset therapist schedule
@@ -1186,7 +1186,7 @@ if $lib_book_loaned ! '': lib_debt += 50
 
 
 !!------------- Preliminary npc_uni_eduTipe  ------------------------------------------
-!! 
+!!
 !!npc_uni_eduType = '', 'professor', 'teaching_studies', 'business_studies', 'science_studies', 'fashion_studies'
 !!				'nursing_studies', 'psychology_studies', 'programming_studies', 'other_studies'
 !!
@@ -1288,7 +1288,7 @@ end
 if arrsize('policeQW_courthearing_dates') > 0 and daystart > policeQW_courthearing_dates[0]:
 	policeQW['missed_court_dates'] += 1
 	policeQW['tot_court_dates_missed'] += 1
-	
+
 	!! Might need code to throw a message with 'You''ve missed your court hearing or something'
 
 	policeQW_courtletter_dates[] = daystart + rand(3, 6)

+ 49 - 0
locations/city_canal.qsrc

@@ -0,0 +1,49 @@
+# city_canal
+!! Date Created: 14th May, 2024
+!! Modified date: 
+!! Version: .01 - initial release
+!! Author: Hooded Silence
+!!
+!! St Petersburg Canals
+!!
+!! Sub-location in St Petersburg for dates, boat rides and other events
+
+if $args[0] = 'init':
+    img_sel = rand(1,2)
+    if daystage = 2 or daystage = 3:
+        $setloc['StageImage'] =  'city_canals_day_<<img_sel>>'
+    else
+        $setloc['StageImage'] =  'city_canals_night_<<img_sel>>'
+    end
+    killvar img_sel
+end
+
+if $args[0] = 'content':
+    !! Main location content.
+
+    *clr & cla
+	$setloc['StageTitle'] = 'St Petersburg Canals'
+    gs 'city_canal', 'init'
+	$location_type = 'public_outdoors'
+	gs 'shortgs', 'setloc', 'city_canals', $ARGS[0]
+	gs 'stat'
+	gs 'core_library', 'stage_title'
+
+
+    'You stand gazing at the famous Canals of the North, the hustle and bustle of people on the streets against a backdrop of elegant Russian buildings. You see boatmen plying their trade on the waters below and working on their tour boats.'
+
+    !! Navigation
+
+    act 'Head to the Arts district': msg 'not implented' & gt 'city_canal', 'content'
+    act 'Take a boat trip (100)': msg 'not implented' & gt 'city_canal', 'content'
+    act 'Take the boats to Vasily Island (50)': msg 'not implented' & gt 'city_canal', 'content'
+
+end
+
+if $args[0] = 'dates':
+    !! For all date related activities.
+
+end
+
+
+--- city_canal ---------------------------------

+ 2 - 2
locations/city_center.qsrc

@@ -129,10 +129,10 @@ 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.'
 *nl
 if hour = 8 and minut >= 30:
-	$desc_txt1 = '<a href="exec: minut += 1 & gt ''torgcentr''">The Galeria mall</a>'
+	$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>'
 elseif hour >= 9 and hour <= 20:
-	$desc_txt1 = '<a href="exec: minut += 1 & gt ''torgcentr''">The Galeria mall</a>'
+	$desc_txt1 = '<a href="exec: minut += 1 & gt ''city_mall''">The Galeria mall</a>'
 	$desc_txt2 = '<a href="exec:gt ''fit'', ''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>'

+ 125 - 112
locations/dk.qsrc → locations/city_commcenter.qsrc

@@ -1,7 +1,7 @@
-# dk
+# city_commcenter
 ! Refactored 24 Aug 22
 ! Amended by Hooded Silence
-! Author Validation: 
+! Author Validation:
 ! Industrial Community center - used for gaining life skills
 ! Events - Driving Lessons, Singing classes, Secretarial Training & Masseuse.
 ! V .01 - Refactored to break down into event sections and expand on content, and to create hot links for city_industrial navigation.
@@ -44,14 +44,14 @@
 ! ---  End ---
 
 if $ARGS[0] = 'start':
-	$loc = 'dk'
+	$loc = 'city_commcenter'
 	$loc_arg = 'start'
-	$menu_loc = 'dk'
+	$menu_loc = 'city_commcenter'
 	$menu_arg = 'start'
 	$location_type = 'public_indoors'
 	menu_off = 0
 	gs 'stat'
-	gs 'dk', 'lessons'
+	gs 'city_commcenter', 'lessons'
 	act 'Leave the center': minut += 5 & gt 'city_industrial'
 end
 
@@ -68,19 +68,19 @@ if $ARGS[0] = 'lessons':
 	'<table border=0 align="center">'
 	'<TR>'
 	if	prava = 0 and avtoskul = 0:
-		'<TR><TD>Driving lessons - 30,000 <b>₽</b>.</TD><TD>10 classes</TD><TD><a href="exec:gt ''dk'', ''drivingschool''">Book a driving course.</a></TD></TR>'
+		'<TR><TD>Driving lessons - 30,000 <b>₽</b>.</TD><TD>10 classes</TD><TD><a href="exec:gt ''city_commcenter'', ''drivingschool''">Book a driving course.</a></TD></TR>'
 	elseif avtoskul  < 11 and prava = 0 and skulday ! daystart:
-		'<TR><TD>Driving lessons -</TD><TD></TD><TD><a href="exec:gt ''dk'', ''drivingschool''">Attend your driving lesson.</a></TD></TR>'
+		'<TR><TD>Driving lessons -</TD><TD></TD><TD><a href="exec:gt ''city_commcenter'', ''drivingschool''">Attend your driving lesson.</a></TD></TR>'
 	elseif avtoskul  < 12 and prava = 0 and skulday ! daystart:
-		'<TR><TD>Driving lessons -</TD><TD></TD><TD><a href="exec:gt ''dk'', ''drivingschool''">Attend driving theory lesson.</a></TD></TR>'
+		'<TR><TD>Driving lessons -</TD><TD></TD><TD><a href="exec:gt ''city_commcenter'', ''drivingschool''">Attend driving theory lesson.</a></TD></TR>'
 	elseif avtoskul  <= 12 and prava = 0 and skulday ! daystart:
-		'<TR><TD>Driving lessons -</TD><TD></TD><TD><a href="exec:gt ''dk'', ''drivingschool''">Attend your driving test.</a></TD></TR>'
+		'<TR><TD>Driving lessons -</TD><TD></TD><TD><a href="exec:gt ''city_commcenter'', ''drivingschool''">Attend your driving test.</a></TD></TR>'
 	elseif prava = 0 and skulday = daystart:
 		'<TR><TD>Driving lessons - You have already attended your driving lesson for today.</TD></TR>'
 	end
-	'<TR><TD>Secretarial diploma - 15,000 <b>₽</b>.</TD><TD>10 classes</TD><TD><a href="exec:gt ''dk'', ''secretarialschool''">Classes in room 204.</a></TD></TR>'
-	'<TR><TD>Massage lessons - 10,000 <b>₽</b>.</TD><TD>10 classes</TD><TD><a href="exec:gt ''dk'', ''masseuse''">Classes in room 203. </a></TD></TR>'
-	'<TR><TD>Singing lessons - 500 <b>₽</b>.</TD><TD>Per class</TD><TD><a href="exec:gt ''dk'', ''singingtutor''">Classes in room 213. </TD></a></TR>'
+	'<TR><TD>Secretarial diploma - 15,000 <b>₽</b>.</TD><TD>10 classes</TD><TD><a href="exec:gt ''city_commcenter'', ''secretarialschool''">Classes in room 204.</a></TD></TR>'
+	'<TR><TD>Massage lessons - 10,000 <b>₽</b>.</TD><TD>10 classes</TD><TD><a href="exec:gt ''city_commcenter'', ''masseuse''">Classes in room 203. </a></TD></TR>'
+	'<TR><TD>Singing lessons - 500 <b>₽</b>.</TD><TD>Per class</TD><TD><a href="exec:gt ''city_commcenter'', ''singingtutor''">Classes in room 213. </TD></a></TR>'
 	!!'<TR><TD>Personal development - 1,000 <b>₽</b>.</TD><TD>Per class</TD><TD>Classes in room 201 (Learn to assert yourself)</TD></TR>'
 	!!'Medium for new opportunities - only here only freebie.'
 	'</TR>'
@@ -133,25 +133,40 @@ if $ARGS[0] = 'drivingschool':
 	'You enter the community center with excitement with your thoughts full about getting your driving licence and the freedom to achieve your dreams.'
 	*nl
 
-	if skulday = daystart:
-		'You''ve taken your driving lesson for today.'
+	if prava ! 0:
+		'You''ve already got your driving licence.'
+		act 'Return': gt $loc, $loc_arg
+		exit
 	end
-	if avtoskul = 0 and money >= 30000 and prava = 0 and age >= 18:
 
+	if avtoskul = 0 and age >= 18 and (money >= 30000 or karta >= 30000):
 		act 'Book a driving training course (30,000 <b>₽</b>)':
 			cla
 			menu_off = 1
-			if money > 30000: act 'pay with for lessons with cash': gt 'dk', 'payments', 'driving lessons ', 'money', 30000
-			if karta > 30000: act ' pay with your card': gt 'dk', 'payments', 'driving lessons', 'karta', 30000
-			avtoskul = 1
+			!! This text should be rewritten
 			'You briefly look around for information about driving lessons, and approach the receptionist who gives you the necessary papers to fill in and she warns you that they will be checked by the agency to prevent fraud. You pay her the money and she gives you a small information pack about the driving lessons and you quickly skim through them to see you can now take a 2-hour driving lessons on each workday.'
 
+			if money >= 30000:
+				act 'Pay with for lessons with cash':
+					avtoskul = 1
+					gt 'city_commcenter', 'payments', 'driving lessons ', 'money', 30000
+				end
+			end
+			if karta >= 30000:
+				act 'Pay with your card':
+					avtoskul = 1
+					gt 'city_commcenter', 'payments', 'driving lessons', 'karta', 30000
+				end
+			end
+
 			act 'Return': gt $loc, $loc_arg
 		end
-	end
-	if hour >= 9 and hour <= 17 and week < 6:
-		if avtoskul >= 1 and avtoskul < 11 and skulday ! daystart and age >= 18:
 
+	elseif skulday = daystart:
+		'You''ve taken your driving lesson for today.'
+
+	elseif hour >= 9 and hour <= 17 and week < 6:
+		if avtoskul >= 1 and avtoskul < 11:
 			act 'Driving lesson':
 				*clr & cla
 				skulday = daystart
@@ -164,9 +179,8 @@ if $ARGS[0] = 'drivingschool':
 
 				act 'Return': gt $loc, $loc_arg
 			end
-		end
-		if avtoskul = 11 and skulday ! daystart and age >= 18:
 
+		elseif avtoskul = 11:
 			act 'Driving theory':
 				*clr & cla
 				menu_off = 1
@@ -179,8 +193,8 @@ if $ARGS[0] = 'drivingschool':
 				act 'Return': gt $loc, $loc_arg
 				!!if nikpravaQW = 1:end
 			end
-		elseif avtoskul = 12 and skulday ! daystart and age >= 18:
 
+		elseif avtoskul = 12:
 			act 'Driving test':
 				*clr & cla
 				menu_off = 1
@@ -209,32 +223,41 @@ if $ARGS[0] = 'secretarialschool':
 	'<center><b>Secretarial Training</b></center>'
 	'The center offers a wide range of business related skills including computer training, secretarial work, PA, management and accounting'
 
-	if secrDiplom = 0 and sekrObu = 0 and money >= 15000:
-
-		act 'Book a secretarial course (15,000 <b>₽</b>)':
-
-			cla
-			menu_off = 1
-			sekrObu = 1
-			'You pay the money for the course, once you''ve filled in the blanks on an application paper, and can now attend secretary training each day for 2 hours. You need to attend 10 training lessons to earn a diploma.'
-			if money > 15000: act 'Pay with for lessons with cash': gt 'dk', 'payments', 'secretarial class', 'money', 15000
-			if karta > 15000: act ' Pay with your card': gt 'dk', 'payments', 'secretarial class', 'karta', 15000
-
-			act 'Return': gt $loc, $loc_arg
-		end
-	elseif secrday = daystart:
-		'You''ve had your lesson for today, come back another day.'
-
-		act 'Return': gt $loc, $loc_arg
-	elseif secrDiplom = 0 and sekrObu = 0 and money < 15000:
-		'You could take lessons here if you had sufficient funds with you. '
-
+	if secrDiplom ! 0:
+		'You''ve already got your secretarial diploma.'
 		act 'Return': gt $loc, $loc_arg
+		exit
 	end
 
+	if sekrObu = 0:
+		if money >= 15000 or karta >= 15000:
+			act 'Book a secretarial course (15,000 <b>₽</b>)':
+				cla
+				menu_off = 1
+				!! This text should be rewritten
+				'You pay the money for the course, once you''ve filled in the blanks on an application paper, and can now attend secretary training each day for 2 hours. You need to attend 10 training lessons to earn a diploma.'
+				if money >= 15000:
+					act 'Pay with for lessons with cash':
+						sekrObu = 1
+						gt 'city_commcenter', 'payments', 'secretarial class', 'money', 15000
+					end
+				end
+				if karta >= 15000:
+					act 'Pay with your card':
+						sekrObu = 1
+						gt 'city_commcenter', 'payments', 'secretarial class', 'karta', 15000
+					end
+				end
+				act 'Return': gt $loc, $loc_arg
+			end
+		else
+			'You could take lessons here if you had sufficient funds with you. '
+		end
 
-	if sekrObu > 0 and sekrObu < 11 and secrday ! daystart:
+	elseif secrday = daystart:
+		'You''ve had your lesson for today, come back another day.'
 
+	elseif sekrObu > 0 and sekrObu < 11:
 		act 'Secretarial class':
 			*clr & cla
 			menu_off = 1
@@ -247,8 +270,8 @@ if $ARGS[0] = 'secretarialschool':
 
 			act 'Return': gt $loc, $loc_arg
 		end
-	elseif sekrObu >= 11 and secrday ! daystart:
 
+	elseif sekrObu >= 11:
 		act 'Secretarial diploma':
 			*clr & cla
 			menu_off = 1
@@ -273,37 +296,45 @@ end
 if $ARGS[0] = 'masseuse':
 	'<center><img <<$set_imgh>> src="images/locations/city/industrial/community/masseuse_training.jpg"></center>'
 	*nl
+
 	if masseuse['certification'] = 0:
-		'You enter a room and are greeted with by a young lady, she looks are you with a welcoming smile and asks "Are you here for the lessons?" You reply and she quickly gives you the course details of the course and a pamphlet to read.'
-		*nl
-		'The basic course is 10 lessons, and the  class costs 10,000 <b>₽</b>'
-		if money > 10000: act 'Pay with for lessons with cash': gt 'dk', 'payments', 'masseuse class', 'money', 10000
-		if karta > 10000: act 'Pay with your card': gt 'dk', 'payments', 'masseuse class', 'karta', 10000
-		masseuse['certification'] = -1
-	else
-		if masseuse_lesson = daystart:
-			'You look around the empty room and realised you''ve had your lesson today and the class instructor has left.'
-		else
-			if masseuse['certification'] ! 0 and masseuse['certification'] < 10 and masseuse_lesson ! daystart:
-				masseuse_lesson = daystart
-				if masseuse['certification'] = -1:
-					masseuse['certification'] = 1
-				else
-					masseuse['certification'] += 1
+		if money >= 10000 or karta >= 10000:
+			'You enter a room and are greeted with by a young lady, she looks are you with a welcoming smile and asks "Are you here for the lessons?" You reply and she quickly gives you the course details of the course and a pamphlet to read.'
+			*nl
+			'The basic course is 10 lessons, and the  class costs 10,000 <b>₽</b>'
+			if money >= 10000:
+				act 'Pay with for lessons with cash':
+					masseuse['certification'] = -1
+					gt 'city_commcenter', 'payments', 'masseuse class', 'money', 10000
 				end
-				minut += 120
-				gs 'stat'
-				'You enter the room and see the tables laid out for your lesson. The instructor welcomes you and takes down your name. You notice some people coming in for a free massage from your course.'
-				'The next two hours are dedicated to reading detailed guides to how to relieve pain or tension in certain muscles and to putting these guides into practice with partners attending the course and some local students looking for a freebie.'
-				*nl
-				if masseuse['certification'] >10:
-					'Congratulations that was your final lesson! You''ve completed the basic course, you are issued a certificate that shows you are a certified masseuse.This is your first step in providing a wonderful service to your clients.'
+			end
+			if karta >= 10000:
+				act 'Pay with your card':
+					masseuse['certification'] = -1
+					gt 'city_commcenter', 'payments', 'masseuse class', 'karta', 10000
 				end
 			end
+		else
+
 		end
-	end
-	*nl
-	if masseuse['certification'] >= 10  and masseuse_lesson ! daystart:
+	elseif masseuse_lesson = daystart:
+		'You look around the empty room and realised you''ve had your lesson today and the class instructor has left.'
+	elseif masseuse['certification'] <= 10:
+		masseuse_lesson = daystart
+		if masseuse['certification'] < 0:
+			masseuse['certification'] = 1
+		else
+			masseuse['certification'] += 1
+		end
+		minut += 120
+		gs 'stat'
+		'You enter the room and see the tables laid out for your lesson. The instructor welcomes you and takes down your name. You notice some people coming in for a free massage from your course.'
+		'The next two hours are dedicated to reading detailed guides to how to relieve pain or tension in certain muscles and to putting these guides into practice with partners attending the course and some local students looking for a freebie.'
+		*nl
+		if masseuse['certification'] >= 10:
+			'Congratulations that was your final lesson! You''ve completed the basic course, you are issued a certificate that shows you are a certified masseuse.This is your first step in providing a wonderful service to your clients.'
+		end
+	elseif masseuse['certification'] >= 10:
 		'Sorry we don''t have any new classes to offer yet. You could speak to Xian at the Galleria''s Beauty Bar if you''re looking for work as she usually has openings for new staff.'
 	end
 
@@ -312,63 +343,45 @@ if $ARGS[0] = 'masseuse':
 end
 
 if $ARGS[0] = 'singingtutor':
-	if money >= 500 and vokalday ! daystart:
-		'The center offers singing lessons with Alexei, an established local singer and musician who works with up and coming talent. Unlike the centers other classes he only ever accepts cash for his lessons.'
+	if vokalday = daystart:
+		'The classroom is empty, you play on the piano for a few minutes before heading back to the hall. Maybe come back another time to see if there''s more classes.'
+
+	elseif money < 500:
+		'You see Alexei in the classroom, but you don''t have enough cash to take a lesson.'
 
-		act 'Singing lessons':
-			clr
-			'<center>'
+	else
+		'The center offers singing lessons with Alexei, an established local singer and musician who works with up and coming talent. Unlike the centers other classes he only ever accepts cash for his lessons.'
+		act 'Singing lessons (500 <b>₽</b>)':
+			*clr & cla
 			menu_off = 1
 			minut += 60
 			alexeyQW += 1
 			gs 'exp_gain', 'vokal', rand(5,10)
 			vokalday = daystart
+			money -= 500
 			gs 'stat'
-			if alexeyQW = 1:
-				money -= 500
 
-				act 'First lesson':
-					*clr & cla
-					'When you enter the office, you see a middle aged man with long hair that''s been pulled back in a ponytail. He gives you a confident look and says, with a particularly well-modulated voice: "Are you here to learn how to sing, Miss?" You nod and hand him 500 <b>₽</b>.'
-					'He pockets it and introduces himself: "I''m Alexei. What is your name?" You respond that your name is <<$pcs_nickname>>. Acknowledging  your answer with little more than a nod, the man immediately moves on to the lesson. Before you even notice, an hour has passed. You head out and the man politely wishes you goodbye.'
-
-					act 'Return': gt $loc, $loc_arg
-				end
+			if alexeyQW = 1:
+				'When you enter the office, you see a middle aged man with long hair that''s been pulled back in a ponytail. He gives you a confident look and says, with a particularly well-modulated voice: "Are you here to learn how to sing, Miss?" You nod and hand him 500 <b>₽</b>.'
+				'He pockets it and introduces himself: "I''m Alexei. What is your name?" You respond that your name is <<$pcs_nickname>>. Acknowledging  your answer with little more than a nod, the man immediately moves on to the lesson. Before you even notice, an hour has passed. You head out and the man politely wishes you goodbye.'
 
 			elseif alexeyQW = 2:
+				'You enter the small classroom eager to your lesson, Alexei is sitting at a piano and indicates you should sit on a chair to it. He asks you practice the scales as he plays each note on the piano. You quickly gain confidence and he touches your knee whenever you do well. '
+				'After an hour you feel drained but feel that you have learned more about singing. You have a good voice Alexei says, but you still need to practice breathing and control, touching your breasts and throat as he says each word.'
+				gs 'arousal', 'foreplay', 15
+				gs 'stat'
 
-				act 'Second lesson':
-					*clr & cla
-					money -= 500
-					'You enter the small classroom eager to your lesson, Alexei is sitting at a piano and indicates you should sit on a chair to it. He asks you practice the scales as he plays each note on the piano. You quickly gain confidence and he touches your knee whenever you do well. '
-					'After an hour you feel drained but feel that you have learned more about singing. You have a good voice Alexei says, but you still need to practice breathing and control, touching your breasts and throat as he says each word.'
-					gs 'arousal', 'foreplay', 15
-
-					act 'Return': gt $loc, $loc_arg
-				end
-			elseif alexeyQW > 2:
-
-				act 'Continue lessons':
-				*clr & cla
-				money -= 500
+			else
 				'You enter the small classroom eager to start your next lesson, Alexei is sitting at his normal place by the piano and waves hand to your chair. He asks you practice the warm up scales as he plays the notes on the piano. You are fairly accomplished now and quickly finish the warm up.'
 				'Halfway through the lesson Alexei gives you another music sheet to sing from and starts playing the piano indicating you should start, after the lesson you feel exhausted from the class but keen to attend your next lesson.'
-
-				act 'Return': gt $loc, $loc_arg
 			end
-			elseif money <= 500 and vokalday ! daystart:
-				'You see Alexei in the classroom, but you don''t have enough cash to take a lesson.'
 
-				act 'Return': gt $loc, $loc_arg
-			end
+			act 'Return': gt $loc, $loc_arg
 		end
-
-	else
-		'The classroom is empty, you play on the piano for a few minutes before heading back to the hall. Maybe come back another time to see if there''s more classes.'
-
-		act 'Return': gt $loc, $loc_arg
 	end
+
+	act 'Return': gt $loc, $loc_arg
 end
 
---- dk ---------------------------------
+--- city_commcenter ---------------------------------
 

+ 3 - 3
locations/city_experimental_trials.qsrc

@@ -75,7 +75,7 @@ if $ARGS[0] = 'front_desk' or $ARGS[0] = '':
 			end
 		end
 
-		if experimentQW['times_participated_0'] >= 2 or experimentQW['times_participated_1'] ! 0 or experimentQW['times_participated_2'] ! 0 or experimentQW['times_participated_3'] ! 0:
+		if experimentQW['times_participated_0'] >= 2 or experimentQW['times_participated_1'] ! 0 or experimentQW['times_participated_2'] ! 0 or experimentQW['times_participated_3'] ! 0 or experimentQW['times_participated_4'] ! 0:
 			*nl
 			'You also spot a small pharmaceutical stand to the side.'
 			act 'Go to the experimental pharmacy': gt 'city_experimental_trials_pharmacy', 'counter'
@@ -109,7 +109,7 @@ if $ARGS[0] = 'front_desk' or $ARGS[0] = '':
 		*nl
 
 		'At the bottom of the document is an area where you need to write down your full name, age and add your signature.'
-		
+
 		act 'Sign the document':
 			experimentQW['signed'] = 1
 			*clr & cla
@@ -121,7 +121,7 @@ if $ARGS[0] = 'front_desk' or $ARGS[0] = '':
 
 			act 'Return to the front desk': gt 'city_experimental_trials', 'front_desk'
 		end
-		
+
 		act 'Put the contract down and leave': gt 'city_clinic', 'start'
 	end
 end

+ 5 - 5
locations/city_experimental_trials_events.qsrc

@@ -83,14 +83,14 @@ elseif $experimentQW['trial_active'] = 'pill_red':
 		end
 
 		'Your agility has increased and you feel faster! This must have been that experimental pill you took.'
-	
+
 	elseif experimentQW['random_option'] = 5:
 		if vital_lvl > 11:
 			vital_exp -= 2 * vital_xpnxt
 		end
 
 		'Your endurance has decreased! This must have been that experimental pill you took.'
-	
+
 	else
 		if vital_lvl < 99:
 			vital_exp += 2 * vital_xpnxt
@@ -514,7 +514,7 @@ if $experimentQW['trial_active'] = 'aphrodisiac_pill':
 		orgasm += 1
 		pcs_mood = 100
 		if pcs_traits['easy_orgams'] < 2: pcs_traits['easy_orgams'] = 2
-		
+
 		*nl
 		'You feel a heat spreading from your stomach and moving towards your pussy. The heat pulses and you find yourself in the grips of an intense orgasm! You feel like it''ll be easier to orgasm from now on. This must have been that experimental aphrodisiac.'
 	end
@@ -530,7 +530,7 @@ end
 
 if $experimentQW['trial_active'] = 'butt_injection':
 	pcs_horny += 10
-	butt_tr_exp += butt_tr_xpnxt * 2
+	bodyVars['butt_other'] += 2
 
 	if experimentQW['trial_duration'] >= 4:
 		*nl
@@ -568,7 +568,7 @@ if $experimentQW['trial_active'] = 'fertility_shot':
 	if experimentQW['trial_duration'] = 3:
 		if min_arousal < 20: min_arousal = 20
 		if pcs_horny < 20: pcs_horny = 20
-		
+
 		*nl
 		'You feel a heat radiate from your womb, awakening your arousal. This must have been that experimental fertility shot.'
 	elseif experimentQW['trial_duration'] = 2:

+ 22 - 22
locations/city_experimental_trials_list.qsrc

@@ -106,13 +106,13 @@ if $ARGS[0] = $trial_sections[0]:
 	$loc_arg = $trial_sections[0]
 
 	minut += 2
-	
+
 	!!Image of the desk, or an experimental trials folder
 	'<center><img <<$set_imgh>> src="images\system\image_needed.png"></center>'
 
 	'We have developed a range of enhancement pills that are designed to improve both body and mood. They''ve just been approved for human trials, so we''re still cataloguing the effects.'
 	'The following are expected: mood swings, aches, itches, rashes and physical changes.'
-	
+
 	act 'Sign up':
 		$experimentQW['trial_active'] = $trial_names[0]
 
@@ -137,77 +137,77 @@ if $ARGS[0] = $trial_sections[0]:
 		!! Change tits
 		if temp_rand < 10:
 			$temp_pill_color = 'cyan'
-			$experimentQW['trial_active']     = 'pill_cyan'
+			$experimentQW['trial_active']    = 'pill_cyan'
 			experimentQW['pill_cyan_taken'] += 1
-			experimentQW['trial_duration']   = rand(1,3)
+			experimentQW['trial_duration']   = rand(1, 3)
 
 		!! Change stren, vital, or agil
 		elseif temp_rand < 20:
 			$temp_pill_color = 'red'
-			$experimentQW['trial_active']    = 'pill_red'
+			$experimentQW['trial_active']   = 'pill_red'
 			experimentQW['pill_red_taken'] += 1
-			experimentQW['trial_duration']  = rand(2,4)
+			experimentQW['trial_duration']  = rand(2, 4)
 
 		!! Change intel, cha, perception?
 		elseif temp_rand < 30:
 			$temp_pill_color = 'blue'
 			$experimentQW['trial_active']     = 'pill_blue'
-			experimentQW['pill_blue_taken'] += 1
-			experimentQW['trial_duration']   = rand(2,4)
+			 experimentQW['pill_blue_taken'] += 1
+			 experimentQW['trial_duration']   = rand(2, 4)
 
 		!! Change skin
 		elseif temp_rand < 40:
 			$temp_pill_color = 'yellow'
-			$experimentQW['trial_active']       = 'pill_yellow'
+			$experimentQW['trial_active']      = 'pill_yellow'
 			experimentQW['pill_yellow_taken'] += 1
-			experimentQW['trial_duration']     = rand(2,5)
+			experimentQW['trial_duration']     = rand(2, 5)
 
 		!! Change butt
 		elseif temp_rand < 50:
 			$temp_pill_color = 'orange'
-			$experimentQW['trial_active']       = 'pill_orange'
+			$experimentQW['trial_active']      = 'pill_orange'
 			experimentQW['pill_orange_taken'] += 1
-			experimentQW['trial_duration']     = rand(2,4)
+			experimentQW['trial_duration']     = rand(2, 4)
 
 		!! Change inhib
 		elseif temp_rand < 60:
 			$temp_pill_color = 'violet'
-			$experimentQW['trial_active']       = 'pill_violet'
+			$experimentQW['trial_active']      = 'pill_violet'
 			experimentQW['pill_violet_taken'] += 1
 			experimentQW['trial_duration']     = 1
 
 		!! Change min_arousal
 		elseif temp_rand < 65:
 			$temp_pill_color = 'brown'
-			$experimentQW['trial_active']      = 'pill_brown'
+			$experimentQW['trial_active']     = 'pill_brown'
 			experimentQW['pill_brown_taken'] += 1
-			experimentQW['trial_duration']    = rand(2,4)
-		
+			experimentQW['trial_duration']    = rand(2, 4)
+
 		!! Change clit
 		elseif temp_rand < 70:
 			$temp_pill_color = 'purple'
-			$experimentQW['trial_active']     = 'pill_purple'
+			$experimentQW['trial_active']      = 'pill_purple'
 			experimentQW['pill_purple_taken'] += 1
-			experimentQW['trial_duration']   = rand(2,4)
+			experimentQW['trial_duration']     = rand(2, 4)
 
 		!! Change alko_status
 		elseif temp_rand < 80:
 			$temp_pill_color = 'green'
-			$experimentQW['trial_active']      = 'pill_green'
+			$experimentQW['trial_active']     = 'pill_green'
 			experimentQW['pill_green_taken'] += 1
 			experimentQW['trial_duration']    = 1
 
 		!! Give exhib level or change willwpower
 		elseif temp_rand < 85:
 			$temp_pill_color = 'gray'
-			$experimentQW['trial_active']     = 'pill_gray'
+			$experimentQW['trial_active']    = 'pill_gray'
 			experimentQW['pill_gray_taken'] += 1
 			experimentQW['trial_duration']   = 1
 
 		!! Give bimbo lvl or change willpower?
 		elseif temp_rand < 90:
 			$temp_pill_color = 'pink'
-			$experimentQW['trial_active']     = 'pill_pink'
+			$experimentQW['trial_active']    = 'pill_pink'
 			experimentQW['pill_pink_taken'] += 1
 			experimentQW['trial_duration']   = 1
 		end
@@ -403,7 +403,7 @@ elseif $ARGS[0] = $trial_sections[4]:
 		 experimentQW['times_participated_4'] += 1
 		$experimentQW['trial_active'] = $trial_sections[4]
 		 experimentQW['trial_duration'] = trial_durations[4]
-		
+
 		menu_off = 1
 		minut += 2
 		gs 'stat'

+ 17 - 2
locations/city_experimental_trials_pharmacy.qsrc

@@ -15,11 +15,26 @@ if $ARGS[0] = 'counter':
 		end
 		*nl
 
-		'There is currently nothing of note being sold here (yet).'
-		'More content will be added here in later updates.'
+		if experimentQW['times_participated_1'] = 0 and experimentQW['times_participated_2'] = 0 and experimentQW['times_participated_3'] = 0 and experimentQW['times_participated_4'] = 0 and experimentQW['times_participated_5'] = 0:
+			'"If any of our experimental trials lead to a breakthrough, we will sell the medicine those trials produced here. Currently all of our trials are ongoing so there''s nothing in stock, do check back later. Sign up for a trial, if you want to help us develop medicine for the future."'
+		else
+			act 'Buy something': gt 'city_experimental_trials_pharmacy', 'cart'
+		end
 
 		act 'Go back to the front desk': gt 'city_experimental_trials', 'front_desk'
 end
 
 
+if $ARGS[0] = 'cart':
+	*clr & cla
+	$loc_s = 'city_experimental_trials_pharmacy'
+	$args_s = 'cart'
+
+	gs 'item_cart', 'shoppping_aisle', 'experimental_trials'
+	gs 'themes', 'indoors'
+	gs 'stat'
+
+	act 'Exit shopping cart': gt 'city_experimental_trials_pharmacy', 'counter'
+end
+
 --- city_experimental_trials_pharmacy ---------------------------------

+ 2 - 0
locations/city_hotel.qsrc

@@ -1,6 +1,8 @@
 # city_hotel
 
 if $ARGS[0] = 'start' or $ARGS[0] = '':
+	if hotelRoomDays['city'] = 0 and hour > 11: hotelRoom['city'] = 0
+	if hotelRoomDays['city'] <= 0: hotelRoom['city'] = 0
 	*clr & cla
 	nom_o[1] = 100
 	nom_o[2] = 1000

+ 3 - 3
locations/city_industrial.qsrc

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

+ 40 - 237
locations/city_library.qsrc

@@ -1,287 +1,90 @@
 # city_library
 
-$loc_arg = $ARGS[0]
-$loc = 'city_library'
-$menu_loc = 'city_library'
-$menu_arg = ''
 menu_off = 0
-$location_type = 'public_indoors'
-frost = 0
-gs 'stat'
-gs 'themes', 'indoors'
 
-! Stuff to do on Studying a Book
-!	$ARGS[0] = Skill to Check
-killvar '$downlibrary'
-$downlibrary['BookStudy'] = {
-	$downlibrary['Skill'] = $ARGS[0]
-	*clr & cla
-	menu_off = 1
-	if blizoruk = 500 or glassqw = 1:
-		glassqw = 1
-		msg '	The text blurs across the page. It seems you have poor eyesight. Maybe you should visit an ophthalmologist?'
-		gt 'city_library'
-	end
-	if pcs_nerd > 0:
-		lastread = totminut
-		lastreadday = daystart
-		pcs_nerd += 1
-	end
-	minut += 60
-	if $downlibrary['Skill'] ! '':
-		dynamic "
-			if pcs_<<$downlibrary['Skill']>> >= 50:
-				<<$downlibrary['Skill']>>_exp += rand(0,1)
-			elseif pcs_<<$downlibrary['Skill']>> >= 25:
-				<<$downlibrary['Skill']>>_exp += rand(1,2)
-			else
-				<<$downlibrary['Skill']>>_exp += rand(1,3)
-			end"
-	end
+if $ARGS[0] = '':
+	gs 'shortgs', 'setloc', 'city_library', $ARGS[0]
+	$location_type = 'public_indoors'
+	frost = 0
+	gs 'stat'
+	gs 'themes', 'indoors'
 
-	blizoruk += 1
-}
+	'<center><b><font color="maroon">National Library of Russia</font></b></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/library/downlibint.jpg"></center>'
+	'A huge library with thousands upon thousands of books. You could spend years in here and probably still wouldn''t be able to read it all.'
 
-'<center><b><font color="maroon">National Library of Russia</font></b></center>'
-'<center><img <<$set_imgh>> src="images/locations/city/citycenter/library/downlibint.jpg"></center>'
-'A huge library with thousands upon thousands of books. You could spend years in here and probably still wouldn''t be able to read it all.'
+	act 'Leave': minut += 5 & gt 'city_center'
 
-act 'Leave': minut += 5 & gt 'city_center'
+	if hour <= 7 or hour >= 19:
+		'The library is closed.'
+		exit
+	end
 
-if hour >= 8 and hour <= 18:
 	'There is a large IT section with <a href="exec: gs ''internet_mobile'', ''get_access'', ''free'', ''noporn'',''nocamshow'' & gs ''internet_mobile'', ''add_limitation'', ''general-text'', ''On this public computer all adult content sites are blocked'' & gt ''Komp'',''start''">computers</a> available for public use.'
-	act 'Read a book':
-		gt 'city_library', 'read'
-	end
-	
-	act 'Borrow a book':
-		gt 'city_library', 'loan'
-	end
+
+	act 'Read a book': gt 'city_library', 'read'
+	act 'Borrow a book': gt 'city_library', 'loan'
 
 	if MagicLibrary = 1:
 		act 'Read magic books':
-			dynamic $downlibrary['BookStudy'], 'splcstng'
+			*clr & cla
+			menu_off = 1
+			gs 'library_functions', 'read_book', 'splcstng'
 			gs 'stat'
+
 			'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.'
 
 			! Find Researchable Spells
-			if func('spellList','numAvailableSpells','librarySpells') > 0:
-				if rand(1,10) = 10:
+			if func('spellList','numAvailableSpells','librarySpells') <= 0:
+				'There doesn''t seem to be any more spells to learn here, but you can still improve your skills in the ones that you''ve already found.'
+			else
+				if rand(0, 9) = 0:
 					gs 'spellList','addAvailableSpells','librarySpells'
 					*nl
 					*pl 'You have come across a lead on a new spell.'
 				end
-			else
-				'There doesn''t seem to be any more spells to learn here, but you can still improve your skills in the ones that you''ve already found.'
 			end
 
 			!!Adding to the Actions opportunity to practice spells MC found
 			gs 'spellList', 'teacherActions', '$librarySpells', 'city_library', ''
 
-			act 'Put the book down': gt $curloc
+			act 'Put the book down': gt $loc, $loc_arg
 		end
 		!!Adding to the Actions opportunity to practice spells MC found
 		gs 'spellList', 'teacherActions', '$librarySpells', 'city_library', ''
 	end
-else
-	'The library is closed.'
-end
 
-gs 'camera', 'check_location'
+	gs 'camera', 'check_location'
+end
 
 if $ARGS[0] = 'read':
-	cla
-	act 'Read a book on science (1:00)':
-		dynamic $downlibrary['BookStudy'], ''
-		gs 'exp_gain', 'intel', rand(3,6) + rand(0, drugVars['mentats_dose'])
-		grupvalue[3] += 1
-		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/science1.jpg"></center>'
-		'You spend an hour reading, trying to make sense of all the clever propositions written inside and understand the subject it describes.'
-		act 'Put the book back': gt 'city_library', 'read'
-	end
+	gs 'shortgs', 'setloc', 'city_library', 'read'
 
-	act 'Read an adventure novel (1:00)':
-		dynamic $downlibrary['BookStudy'], ''
-		pcs_mood = 100
-		grupvalue[3] += 1
-		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/fiction' + rand(1,2) + '.jpg"></center>'
-		'You spend an hour reading an adventure novel, immersing yourself in daring deeds and awesome twists.'
-		act 'Put the book back': gt 'city_library', 'read'
-	end
+	act 'Leave': minut += 5 & gt 'city_center'
 
-	act 'Read a fantasy novel (1:00)':
-		dynamic $downlibrary['BookStudy'], ''
-		pcs_mood = 100
-		grupvalue[3] += 1
-		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/fantasy' + rand(1,9) + '.jpg"></center>'
-		'You spend an hour reading a fantasy novel, rescuing damsels from dragons, digging for jewels with dwarves and performing world changing magic alongside elves and druids.'
-		act 'Put the book back': gt 'city_library', 'read'
+	if hour <= 7 or hour >= 19:
+		'The library is closed.'
+		exit
 	end
 
-	act 'Read a science fiction novel (1:00)':
-		dynamic $downlibrary['BookStudy'], ''
-		pcs_mood = 100
-		grupvalue[3] += 1
-		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/scifi' + rand(1,6) + '.jpg"></center>'
-		'You spend an hour reading a science fiction novel - flying off into space, traveling through time, running from rogue AI and creating monsters with your hunchbacked assistant.'
-		act 'Put the book back': gt 'city_library', 'read'
-	end
-
-	act 'Read a romance novel (1:00)':
-		dynamic $downlibrary['BookStudy'], ''
-		pcs_mood = 100
-		pcs_horny += 20
-		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/romance' + rand(1,20) + '.jpg"></center>'
-		'You spend a very short hour reading a romance novel - choosing between a vampire or a werewolf, falling in love with an obscenely wealthy Grey... Several of the scenes are very steamy and you find yourself getting quite aroused.'
-		act 'Put the book back': gt 'city_library', 'read'
-	end
-	
-	temp = pcs_intel * 2 + pcs_sprt
-	if temp < 100:
-		$diff = 'hard'
-	elseif temp < 150:
-		$diff = 'medium'
-	else
-		$diff = 'easy'
-	end
-	gs 'willpower', 'misc', 'self', $diff
-	if will_cost <= pcs_willpwr:
-		act 'Read from the collected works of Leo Tolstoy (1:00) (<<will_cost>> Willpower)':
-			gs 'willpower', 'pay', 'self'
-			killvar 'will_cost'
-
-			dynamic $downlibrary['BookStudy'], ''
-			gs 'exp_gain', 'sprt', rand(3,6)
-			grupvalue[3] += 2
-			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/tolstoy.jpg"></center>'
-			'You read the book for an hour. Tolstoy is certainly a classic writer, but he used a <i>lot</i> of words.'
-			act 'Put the book back': gt 'city_library', 'read'
-		end
-	else
-		act 'Read from the collected works of Leo Tolstoy (1:00) (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-	end
-	
 	act 'Go back': gt 'city_library'
+	gs 'library_functions', 'set_read_acts'
 end
 
 if $ARGS[0] = 'loan':
-	cla
-	if $lib_book_loaned ! '':
-		'You''ve currently borrowed a <<$lib_book_loaned>>.'
-		if lib_debt <= 0:
-			temp_loan_days_left = lib_debt / -50
-			'You have <<temp_loan_days_left>> days left before you need to return it.'
-		else
-			'<font color="red">Your book is overdue!</font>'
-		end
+	gs 'shortgs', 'setloc', 'city_library', 'loan'
 
-		act 'Return your loaned book':
-			if lib_book_read = 0:
-				if $lib_book_loaned = 'fantasy': f_book -= 1
-			elseif lib_book_read = 1:
-				if $lib_book_loaned = 'fantasy': fantasybook = 0
-			end
-			$lib_book_loaned = ''
-			if lib_debt <= 0: lib_debt = 0
-			gt 'city_library'
-		end
-	end
+	act 'Leave': minut += 5 & gt 'city_center'
 
-	if lib_debt > 0:
-		'You owe an outstanding debt of <<lib_debt>> <b>₽</b> to the library.'
-		if money < lib_debt and karta < lib_debt:
-			'You don''t have enough money to pay your debt!'
-		else
-			if money >= lib_debt:
-				act 'Pay your debt (cash)':
-					money -= lib_debt
-					lib_debt = 0
-					gt 'city_library', 'loan'
-				end
-			end
-			if karta >= lib_debt:
-				act 'Pay your debt (card)':
-					karta -= lib_debt
-					lib_debt = 0
-					gt 'city_library', 'loan'
-				end
-			end
-		end
-	end
-
-	if $lib_book_loaned = '' and lib_debt = 0:
-		!!There''s currently only code for fantasy novels
-		!{act 'Borrow a book on science':
-			*clr & cla
-			menu_off = 1
-			s_book += 1
-			$lib_book_loaned = 'a science book'
-			lib_debt = -700
-			!!Picture here
-			'You find a science book that catches your interest and bring it to the librarian, who notes your name and the title of the book down before handing it to you.'
-			'"You need to return it within 2 weeks. Every day that you''re late incurs a 50 <b>₽</b> fine."'
-			act 'Continue': gt 'city_library'
-		end
-		
-		act 'Borrow an adventure novel':
-			*clr & cla
-			menu_off = 1
-			a_book += 1
-			$lib_book_loaned = 'an adventure novel'
-			lib_debt = -700
-			!!Picture here
-			'You find an adventure novel that catches your interest and bring it to the librarian, who notes your name and the title of the book down before handing it to you.'
-			'"You need to return it within 2 weeks. Every day that you''re late incurs a 50 <b>₽</b> fine."'
-			act 'Continue': gt 'city_library'
-		end}
-		
-		act 'Borrow a fantasy novel':
-			*clr & cla
-			menu_off = 1
-			f_book += 1
-			$lib_book_loaned = 'a fantasy novel'
-			lib_debt = -700
-			!!Picture here
-			'You find a fantasy novel that catches your interest and bring it to the librarian, who notes your name and the title of the book down before handing it to you.'
-			'"You need to return it within 2 weeks. Every day that you''re late incurs a 50 <b>₽</b> fine."'
-			act 'Continue': gt 'city_library'
-		end
-		
-		!{act 'Borrow a science fiction novel':
-			*clr & cla
-			menu_off = 1
-			sf_book += 1
-			$lib_book_loaned = 'a science fiction novel'
-			lib_debt = -700
-			!!Picture here
-			'You find a fantasy novel that catches your interest and bring it to the librarian, who notes your name and the title of the book down before handing it to you.'
-			'"You need to return it within 2 weeks. Every day that you''re late incurs a 50 <b>₽</b> fine."'
-			act 'Continue': gt 'city_library'
-		end
-		
-		act 'Borrow a romance novel':
-			*clr & cla
-			menu_off = 1
-			r_book += 1
-			$lib_book_loaned = 'a romance novel'
-			lib_debt = -700
-			!!Picture here
-			'You find a romance novel that catches your interest and bring it to the librarian, who notes your name and the title of the book down before handing it to you.'
-			'"You need to return it within 2 weeks. Every day that you''re late incurs a 50 <b>₽</b> fine."'
-			act 'Continue': gt 'city_library'
-		end}
+	if hour <= 7 or hour >= 19:
+		'The library is closed.'
+		exit
 	end
 
 	act 'Go back': gt 'city_library'
+	gs 'library_functions', 'set_loan_acts'
 end
 
 --- city_library ---------------------------------
-

+ 28 - 28
locations/torgcentr.qsrc → locations/city_mall.qsrc

@@ -1,13 +1,13 @@
-# torgcentr
+# city_mall
 CLOSE ALL
 if sound = 0:PLAY 'sound/mall.mp3',30
 gs 'stat'
 '<center><b>Shopping mall</b></center>'
 '<center><img <<$set_imgh>> src="images/locations/city/citycenter/mall/torgcentr.jpg"></center>'
 ! WD: Supermarket fix
-$loc = 'torgcentr'
+$loc = 'city_mall'
 $location_type = 'public_indoors'
-$menu_loc = 'torgcentr'
+$menu_loc = 'city_mall'
 $menu_arg = ''
 menu_off = 0
 gs 'katja_meynold_schedule'
@@ -18,20 +18,20 @@ if hour >= 8 and hour <= 20:
 	*p '<center><a href="exec: minut += 3 & gt ''shop_pussycats'', ''start''"><img src="images/locations/city/citycenter/mall/pussycat.png"></a>'
 !! Pussy-Kats - Youth clothing shop
 		*p '   '
-	*p'<a href="exec: minut += 3 & gt ''moncheri'', ''start''"><img src="images/locations/city/citycenter/mall/moncheri.png"></a>'
+	*p'<a href="exec: minut += 3 & gt ''shop_moncheri'', ''start''"><img src="images/locations/city/citycenter/mall/moncheri.png"></a>'
 !!Mon Cheri - European style expensive boutique
 		*p '   '
-	*p'<a href="exec: minut += 3 & gt ''lusso'', ''start''"><img src="images/locations/city/citycenter/mall/Lusso.png"></a>'
+	*p'<a href="exec: minut += 3 & gt ''shop_lusso'', ''start''"><img src="images/locations/city/citycenter/mall/Lusso.png"></a>'
 !!Lusso Intimo - European style expensive underwear
 		*p '   '
 	*p '<a href="exec: minut += 3 & gt ''shop_fashionista'',''start''"><img src="images/locations/city/citycenter/mall/fashionista.png"></a>'
 !! shop_fashionista - Shop for designer brands
-	
+
 	*nl
 	*nl
 	*nl
-	
-	*p '<a href="exec: minut += 3 & gt ''sportShop'', ''start''"><img src="images/locations/city/citycenter/mall/sports.png"></a>'
+
+	*p '<a href="exec: minut += 3 & gt ''shop_danilovich'', ''start''"><img src="images/locations/city/citycenter/mall/sports.png"></a>'
 !! Danilovich Sporting goods - Sports shop
 		*p '   '
 	*p '<a href="exec: minut += 3 & gt ''salon'', ''start''"><img src="images/locations/city/citycenter/mall/beautybart.png"></a>'
@@ -40,13 +40,13 @@ if hour >= 8 and hour <= 20:
 	*p'<a href="exec: minut += 3 & gt ''hairsalon'', ''start''"><img src="images/locations/city/citycenter/mall/goldencurl.png"></a>'
 !! Golden curl - hairdressers
 		*p '   '
-	*p '<a href="exec:torg = 1 & minut += 3 & gt ''budgetclothes'',''start''"><img src="images/locations/city/citycenter/mall/gm.png"></a>'
+	*p '<a href="exec:torg = 1 & minut += 3 & gt ''shop_gm'',''start''"><img src="images/locations/city/citycenter/mall/gm.png"></a>'
 !! G&M - Cheap clothing store
 
 	*nl
 	*nl
 	*nl
-		
+
 	*p '<a href="exec: minut += 3 & gt ''zoomagazine'',''start''"><img src="images/locations/city/citycenter/mall/petstore.png"></a>'
 !! Pet Emporium - Pet shop
 		*p '   '
@@ -62,9 +62,9 @@ if hour >= 8 and hour <= 20:
 	*nl
 	*nl
 	*nl
-	
+
 	*p '<a href="exec: minut += 3 & gt ''shop_materinstvo'',''start''"><img src="images/locations/city/citycenter/mall/mommy.png"></a>'
-!! Pregnancy store	
+!! Pregnancy store
 
 	*p '<a href="exec: minut += 3 & gt ''shop_photography'',''start''"><img src="images/locations/city/citycenter/mall/photoshop.png"></a>'
 !! Photography store
@@ -87,7 +87,7 @@ if hour > 12 and hour < 18 and sunWeather = 1 and exhibitionQW >= 5 and KsenyaQW
 	'<center><img <<$set_imgh>> src="images/characters/pushkin/ksenya/mall1.jpg"></center>'
 	'As you approach the mall, you see a beautiful, hot pink Lamborghini before you. It''s top is down and it''s doors are wide open. Inside you see a familiar face. "Hello Ksenya" You say walking up to her.'
 	'She looks up at you with a smile and steps out of the car. You can see she isn''t wearing her normal exhibition clothes today but with slight movement, you can get a look at her panties as her dress is rather tight and short.'
-	
+
 	act 'Talk to Ksenya':
 		*clr & cla
 		KsenyaQW = 1
@@ -104,51 +104,51 @@ if hour > 12 and hour < 18 and sunWeather = 1 and exhibitionQW >= 5 and KsenyaQW
 			act 'stick around':
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/pushkin/ksenya/mall3.jpg"></center>'
-				'You and Ksenya wait around talking about your shared passion when a woman in a white dress walks up to the car. For a moment you could swear this was her sister but when Ksenya walked up to her and hugged her, you understood that this was her mother. "You look good, mom" She says to the other woman.' 
+				'You and Ksenya wait around talking about your shared passion when a woman in a white dress walks up to the car. For a moment you could swear this was her sister but when Ksenya walked up to her and hugged her, you understood that this was her mother. "You look good, mom" She says to the other woman.'
 				'"Who''s your friend?" she asks leaning on the hood of the car.'
-				'"Mom, This is <<$pcs_firstname>>. She is a friend that I share an interest with and she is also a customer of mine" Ksenya says. "<<$pcs_nickname>>, This is my mother, Makoto." she says and her mother hugs you. "Any friend of my daughters is a friend of mine."' 
+				'"Mom, This is <<$pcs_firstname>>. She is a friend that I share an interest with and she is also a customer of mine" Ksenya says. "<<$pcs_nickname>>, This is my mother, Makoto." she says and her mother hugs you. "Any friend of my daughters is a friend of mine."'
 
 				act 'continue':
 					*clr & cla
 					'<center><img <<$set_imgh>> src="images/characters/pushkin/ksenya/mall2.jpg"></center>'
 					'Makoto gets into the driver seat and starts up the car. "Come on Ksenya, we need to make a stop at the bank before we head back" she says and looks at you as Ksenya goes to the other side of the car. "Nice to have met you, <name>. I hope to see you around" she says and they drive off, leaving you alone in the parking lot.'
 
-					act 'Enter the mall': gt 'torgcentr'
+					act 'Enter the mall': gt 'city_mall'
 				end
 			end
 		end
 	end
 	act 'say you don''t have time right now and enter the mall':
 		Kignore = daystart
-		gt 'torgcentr'
+		gt 'city_mall'
 	end
 end
 
 !!{Old menu
 	*p '<center><a href="exec:gt ''shop_pussycats''">Pussy-Cats</a>'
 		*p ' - '
-	*p '<a href="exec:gt ''sportShop'', ''start''">Sporting goods store</a>'
+	*p '<a href="exec:gt ''shop_danilovich'', ''start''">Sporting goods store</a>'
 		*p ' - '
-	*p'<a href="exec:gt ''moncheri'', ''start''">Mon Chéri</a>'
+	*p'<a href="exec:gt ''shop_moncheri'', ''start''">Mon Chéri</a>'
 		*p ' - '
-	*p '<a href="exec:torg = 1 & gt ''budgetclothes'',''start''">G&M Store</a>'
+	*p '<a href="exec:torg = 1 & gt ''shop_gm'',''start''">G&M Store</a>'
 		*p ' - '
 	*p '<a href="exec:gt ''shop_fashionista'',''start''">shop_fashionista</a>'
-	
+
 	*nl
 	*nl
-	
+
 	*p '<a href="exec:gt ''salon'', ''start''">Beauty Salon</a>'
 		*p ' - '
 	*p'<a href="exec:gt ''hairsalon'', ''start''">The Golden Curl Hairsalon</a>'
-		
+
 	*nl
 	*nl
-		
+
 	*p '<a href="exec:gt ''zoomagazine'',''start''">Pet store</a>'
 		*p ' - '
 	*p '<a href="exec:gt ''shopdacha''">Construction Firm</a>'
-		
+
 	*nl
 	*nl
 
@@ -157,10 +157,10 @@ end
 	*p '<a href="exec:gt ''billiard''">Play Billiards</a>'
 		*p ' - '
 	*p'<a href="exec:gt ''kino''">Movie theater</a>'
-	
+
 	*nl
 	*nl
-	
+
 	*P '<a href="exec:gt ''shop'', ''start''">Supermarket</a></center>'
 
 end
@@ -168,5 +168,5 @@ end
 act 'Leave': minut += 5 & gt 'city_center'
 }
 
---- torgcentr ---------------------------------
+--- city_mall ---------------------------------
 

+ 16 - 124
locations/city_mansion_residence_2.qsrc

@@ -7,12 +7,12 @@ if $ARGS[0] = 'yliving':
 	$menu_arg = 'yliving'
 	$location_type = 'private'
 	$locclass = 'livingr'
-	
+
 	menu_off = 0
 	minut += 1
 	gs 'stat'
 	gs 'music_actions', 'clear_restrictions'
-	
+
 	*clr & cla
 	'<center><b><font color="maroon">Living Room</font></b></center>'
 	if ymanrem[7] = 2:
@@ -38,11 +38,11 @@ if $ARGS[0] = 'ylounge':
 	$menu_loc = 'city_mansion_residence_2'
 	$menu_arg = 'ylounge'
 	$location_type = 'private'
-	
+
 	menu_off = 0
 	minut += 1
 	gs 'stat'
-	
+
 	*clr & cla
 	'<center><b><font color="maroon">Lounge</font></b></center>'
 	if ymanrem[8] = 2:
@@ -52,7 +52,7 @@ if $ARGS[0] = 'ylounge':
 	else
 		'<center><img <<$set_imgh>> src="images/locations/city/suburb/mansion/i_unfinished.jpg"></center>'
 	end
-	
+
 	act 'Leave the room': gt 'city_mansion_residence_1', 'yfoyer'
 
 	if ymanrem[8] = 2:
@@ -64,7 +64,7 @@ if $ARGS[0] = 'ylounge':
 			if mc_inventory['sewing_fabric'] <= 0:'You do not have any fabric.'
 			*nl
 			if pcs_sewng >= 80:
-				if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0: 
+				if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0:
 					act 'Start a new tapestry': gt 'sewing', 'tapestry'
 				elseif newgobelen >= 1:
 					'Your tapestry is <<newgobelen/10>> percent finished.'
@@ -77,17 +77,12 @@ if $ARGS[0] = 'ylounge':
 end
 
 if $ARGS[0] = 'ylibrary':
-	$loc = 'city_mansion_residence_2'
-	$loc_arg = 'ylibrary'
-	$menu_loc = 'city_mansion_residence_2'
-	$menu_arg = 'ylibrary'
-	$location_type = 'private'
-	
 	menu_off = 0
+	gs 'shortgs', 'setloc', 'city_mansion_residence_2', 'ylibrary'
+	$location_type = 'private'
 	minut += 1
 	gs 'stat'
-	
-	*clr & cla
+
 	'<center><b><font color="maroon">Library</font></b></center>'
 	if ymanrem[10] = 2:
 		'<center><img <<$set_imgh>> src="images/locations/city/suburb/mansion/y_library.jpg"></center>'
@@ -98,114 +93,11 @@ if $ARGS[0] = 'ylibrary':
 	end
 
 	act 'Leave the room': gt 'city_mansion_residence_1', 'yfoyer'
-	
-	if ymanrem[10] = 2:
-		killvar '$downlibrary'
-		$downlibrary['read'] = {
-			*clr & cla
-			menu_off = 1
-			if blizoruk = 500 or glassqw = 1:
-				glassqw = 1
-				msg '	The text blurs across the page. It seems you have poor eyesight. Maybe you should visit an ophthalmologist?'
-				gt 'city_mansion_residence_2', 'ylibrary'
-			end
-			if pcs_nerd > 0:
-				lastread = totminut
-				lastreadday = daystart
-				pcs_nerd += 1
-			end
-			minut += 60
-			blizoruk += 1
-		}
 
+	if ymanrem[10] = 2:
 		'A huge collection of books are neatly placed on the bookshelves.'
-		act 'Read a book on science (1:00)':
-			dynamic $downlibrary['read']
-			gs 'exp_gain', 'intel', rand(3,6) + rand(0, drugVars['mentats_dose'])
-			grupvalue[3] +=1
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/science1.jpg"></center>'
-			'You spend an hour reading, trying to make sense of all the clever propositions writen inside and to finally understand the subject it describes.'
-			
-			act 'Put the book back': gt 'city_mansion_residence_2', 'ylibrary'
-		end
-
-		act 'Read an adventure novel (1:00)':
-			dynamic $downlibrary['read']
-			pcs_mood = 100
-			grupvalue[3] +=1
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/fiction' + rand(1,2) + '.jpg"></center>'
-			'You spend an hour reading an adventure novel, immersing yourself in daring deeds and awesome twists.'
-			
-			act 'Put the book back': gt 'city_mansion_residence_2', 'ylibrary'
-		end
-
-		act 'Read a fantasy novel (1:00)':
-			dynamic $downlibrary['read']
-			pcs_mood = 100
-			grupvalue[3] +=1
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/fantasy' + rand(1,9) + '.jpg"></center>'
-			'You spend an hour reading a fantasy novel, rescuing damsels from dragons, digging for jewels with dwarves and performing word changing magic alongside elves and druids.'
 
-			act 'Put the book back': gt 'city_mansion_residence_2', 'ylibrary'
-		end
-
-		act 'Read a science fiction novel (1:00)':
-			dynamic $downlibrary['read']
-			pcs_mood = 100
-			grupvalue[3] += 1
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/scifi' + rand(1,6) + '.jpg"></center>'
-			'You spend an hour reading a science fiction novel - flying off into space, travelling though time, running from rogue AI''s and creating monsters with your hunchbacked assistant.'
-
-			act 'Put the book back': gt 'city_mansion_residence_2', 'ylibrary'
-		end
-
-		act 'Read a romance novel (1:00)':
-			dynamic $downlibrary['read']
-			pcs_mood = 100
-			pcs_horny += 20
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/romance' + rand(1,20) + '.jpg"></center>'
-			'You spend a very short hour reading a romance novel - choosing between a vampire or a werewolf, falling in love with an obscenely wealthy Grey... several of the scenes are very steamy and you find yourself getting quite aroused.'
-
-			act 'Put the book back': gt 'city_mansion_residence_2', 'ylibrary'
-		end
-
-		temp = pcs_intel * 2 + pcs_sprt
-		if temp < 100:
-			$diff = 'hard'
-		elseif temp < 150:
-			$diff = 'medium'
-		else
-			$diff = 'easy'
-		end
-		gs 'willpower', 'misc', 'self', $diff
-		if will_cost <= pcs_willpwr:
-			act 'Read from the collected works of Leo Tolstoy (1:00) (<<will_cost>> Willpower)':
-				gs 'willpower', 'pay', 'self'
-				killvar 'will_cost'
-
-				dynamic $downlibrary['read']
-				gs 'exp_gain', 'sprt', rand(3,6)
-				grupvalue[3] += 2
-				gs 'stat'
-
-				'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/tolstoy.jpg"></center>'
-				'You read the book for an hour. Tolstoy is certainly a classic writer, no one denies this, but he used a shit-load of words.'
-
-				act 'Put the book back': gt 'city_mansion_residence_2', 'ylibrary'
-			end
-		else
-			act 'Read from the collected works of Leo Tolstoy (1:00) (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-		end
+		gs 'library_functions', 'set_read_acts'
 	end
 end
 
@@ -217,12 +109,12 @@ if $ARGS[0] = 'yoffice':
 	$locM = 'city_mansion_residence_2'
 	$locM_arg = 'yoffice'
 	$location_type = 'private'
-	
+
 	menu_off = 0
 	minut += 1
 	gs 'stat'
 	gs 'music_actions', 'clear_restrictions'
-	
+
 	*clr & cla
 	'<center><b><font color="maroon">Office</font></b></center>'
 	if ymanrem[12] = 2:
@@ -243,7 +135,7 @@ if $ARGS[0] = 'yoffice':
 
 	!! 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
 end
 
@@ -253,11 +145,11 @@ if $ARGS[0] = 'ynursery':
 	$menu_loc = 'city_mansion_residence_2'
 	$menu_arg = 'ynursery'
 	$location_type = 'private'
-	
+
 	menu_off = 0
 	minut += 1
 	gs 'stat'
-	
+
 	*clr & cla
 	'<center><b><font color="maroon">Nursery</font></b></center>'
 	if ymanrem[9] = 2:

+ 59 - 73
locations/city_market.qsrc

@@ -15,17 +15,14 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 	end
 	!if sound = 0:PLAY 'sound/street.mp3',30
 
-	cls
-	gs 'stat'
+	gs 'shortgs', 'setloc', 'city_market', 'start'
 	minut += 5
-	$loc_arg = 'start'
-	$loc = 'city_market'
-	$menu_loc = 'city_market'
-	$menu_arg = 'start'
+	menu_off = 0
 	gs 'stat'
+
 	gs 'themes', 'outdoors'
 	'One of the stalls has a sign attached to it that reads "Cash paid for secondhand clothes". You can <a href="exec:cloc=2 & gt ''clothing'', ''view_clothing_list'', ''sell''">sell individual items</a> or <a href="exec:gs ''portnoi''">all of your unwanted clothes here</a>.'
-	
+
 	if analplugIN = 1 and $pantyworntype = 'none' and PCloSkirt > 2:
 		nurand = rand(0, 100)
 
@@ -39,9 +36,7 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 	end
 
 	act 'Leave':
-		cla
 		minut += 5
-		$loc_arg = ''
 		gs 'arousal', 'end'
 		gs 'stat'
 		gt 'city_residential'
@@ -54,25 +49,30 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 			if hour < 9:
 				'Arthur is waiting to set up a stall for you.'
 				act '<b>Set up stall</b>':
-					cla
-					*clr
+					*clr & cla
+					menu_off = 1
 					hour = 9
 					minut = 0
 					prodpayum = 1200
+					gs 'stat'
+
 					'Arthur unloads boxes from his truck and gives them to you. You start hanging the clothes inside around the stall.'
 					'Before leaving, Arthur gives you instructions. "Sell it all at whatever price you want, but at the end of your shift, I''ll charge you 1000 <b>₽</b> for each item sold. You should be making me no less than <<arturplan>> <b>₽</b>."'
 
-					act 'Start working':gt 'city_marketwork', 'start'
+					act 'Start working': gt 'city_marketwork', 'start'
 				end
 			end
 		end
 		act 'Quit':
 			cla
+			menu_off = 1
 			work = 0
 			workrin = 0
+			gs 'stat'
+
 			'You quit your job at the market and collect your papers.'
 
-			act 'Leave':gt 'city_market', 'start'
+			act 'Leave': gt 'city_market', 'start'
 		end
 	end
 
@@ -81,13 +81,15 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 		'A messily written ad hangs from one of the stalls. "Need female market stall staff. Paychecks big."'
 
 		act 'Approach the owner of the ad':
-			cla
-			*clr
+			*clr & cla
+			menu_off = 1
+			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.'
 			'Government insist I have your papers, so it would be your main job.'
 
-			act 'Leave':gt 'city_market', 'start'
+			act 'Leave': gt 'city_market', 'start'
 
 			act 'Take the job':
 				cla
@@ -96,39 +98,40 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 				arturplan = 5000
 				'You give your papers to Arthur and he shakes your hand, welcoming you aboard.'
 
-				act 'Leave':gt 'city_market', 'start'
+				act 'Leave': gt 'city_market', 'start'
 			end
 		end
 	end
 
 	act 'Go to the book tray':
-		cls
+		*clr & cla
+		menu_off = 1
 		minut += 15
-		gs'stat'
+		gs 'stat'
 
 		'You wlak up to the stall and inspect what''s on sale. You see a fantasy book, a science fiction book and various romance novels. They all cost 350 <b>₽</b> each.'
 
 		if money >= 350:
 			act 'Buy the fantasy book':
-				cls
+				*clr & cla
 				minut += 15
 				money -= 350
 				f_book += 1
-				gs'stat'
+				gs 'stat'
 
 				'You buy the fantasy book for 350 <b>₽</b>.'
 
-				act 'Leave':gt 'city_market', 'start'
+				act 'Leave': gt 'city_market', 'start'
 			end
 		end
 
 		if money >= 350:
 			act 'Buy the science fiction book':
-				cls
+				*clr & cla
 				minut += 15
 				money -= 350
 				f_book += 1
-				gs'stat'
+				gs 'stat'
 
 				'You buy the science fiction book 350 <b>₽</b>.'
 
@@ -138,11 +141,11 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 
 		if money >= 350:
 			act 'Buy a romance novel':
-				cls
+				*clr & cla
 				minut += 15
 				money -= 350
 				w_book += 1
-				gs'stat'
+				gs 'stat'
 
 				'You buy a romance novel for 350 <b>₽</b>.'
 
@@ -150,76 +153,62 @@ if $ARGS[0] = 'start' or $loc_arg = 'start':
 			end
 		end
 
-		act 'Leave':gt 'city_market', 'start'
+		act 'Leave': gt 'city_market', 'start'
 	end
 
-	act 'View clothing':
-		cla
-		minut += 5
-		gt 'city_market', 'clo'
-	end
+	act 'View clothing': minut += 5 & gt 'city_market', 'clo'
 end
 
 if $ARGS[0] = 'clo':
-	$loc_arg = 'clo'
-	$loc = 'city_market'
-	cls
-	gs'stat'
+	gs 'shortgs', 'setloc', 'city_market', 'clo'
+	menu_off = 0
+	gs 'stat'
+
 	gs 'themes', 'indoors'
 	'<center><b><font color="maroon">Clothes.</font></b></center>'
 	'You inspect the cheap clothing the stall has to offer.'
 
+	act 'Return': minut += 5 & gt 'city_market', 'start'
+
 	gs 'clothing_QV', 'shop_filter_header'
 	gs 'clothing', 'totals', 'market_outfits'
 
-	act 'Return':
-		cla
-		minut += 5
-		gt 'city_market', 'start'
-	end
-
 	!!To filter just this set
 	clo_i = 0
 	:loopmarket_outfits_filter
-
-	i = 1
-	:loopmarket_outfits
-		if market_outfits[i] = 0:
-			gs 'clothing_attributes', 'market_outfits', i
-			gs 'clothing_QV', 'shop_filter'
-
-			!!sort by filter
-			if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
-				if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:*p '<a href="exec: i = <<i>> & gt ''city_market'', ''marketclo''"><img <<$set_imgh>> src="images/pc/items/market/clothes/<<i>>.jpg" 	height="250" /></a>'
+		i = 1
+		:loopmarket_outfits
+			if market_outfits[i] = 0:
+				gs 'clothing_attributes', 'market_outfits', i
+				gs 'clothing_QV', 'shop_filter'
+
+				!!sort by filter
+				if (clothingfilter['quality'] = 0 and CloQuality = clo_i) or (clothingfilter['inhibition'] = 0 and CloInhibit = clo_i) or clothingfilter['number'] = 0:
+					if clothingfilter['inc'] = 1 and clothingfilter['only'] = 1:*p '<a href="exec: i = <<i>> & gt ''city_market'', ''marketclo''"><img <<$set_imgh>> src="images/pc/items/market/clothes/<<i>>.jpg" 	height="250" /></a>'
+				end
 			end
-		end
-	i += 1
-	if i <= total:jump 'loopmarket_outfits'
-
-	clo_i += 1
-	if clothingfilter['quality'] = 0 and clo_i <= 7:
-		jump 'loopmarket_outfits_filter'
-	elseif clothingfilter['inhibition'] = 0 and clo_i <= 50:
+			i += 1
+		if i <= total: jump 'loopmarket_outfits'
+		clo_i += 1
+	if clothingfilter['quality'] = 0 and clo_i <= 7 or clothingfilter['inhibition'] = 0 and clo_i <= 50:
 		jump 'loopmarket_outfits_filter'
 	end
 end
 
 if $ARGS[0] = 'marketclo':
-	cla
-
 	if market_outfits[i] ! 0:
 		msg 'You already own these clothes.'
 		gt 'city_market', 'clo'
 	end
 
-	gt 'clothing', 'view_clothing_item', 'market_outfits',i, 750, 'shop'
-
+	gt 'clothing', 'view_clothing_item', 'market_outfits', i, 750, 'shop'
 end
 
 if $ARGS[0] = 'wares':
 	*clr & cla
 	$loc_s = 'city_market'
 	$args_s = 'wares'
+	menu_off = 1
 
 	gs 'item_cart', 'shoppping_aisle', 'market'
 	gs 'stat'
@@ -232,17 +221,14 @@ end
 
 if $ARGS[0] = 'tailor':
 	CLOSE ALL
-	cls
-	$loc = 'city_market'
-	$loc_arg = 'tailor'
-	$menu_loc = 'city_market'
-	$menu_arg = 'tailor'
+	gs 'shortgs', 'setloc', 'city_market', 'tailor'
 	menu_off = 0
 	gs 'stat'
+
 	'A sign reads, "Jacob Solomonovich Schneersohn, tailor, 8:00-16:00 Monday - Friday"'
+
 	act 'Speak to the tailor':
-		cla
-		*clr
+		*clr & cla
 		'An elderly Jewish man is sitting at a table. He pulls his glasses down a little and looks over the top of them as he points at you.'
 
 		if portnoyQW > 0:
@@ -283,10 +269,10 @@ if $ARGS[0] = 'tailor':
 				'"<<$pcs_nickname>>....What a pretty name. Come, sit here on this chair. How can I help you?"'
 
 				act 'Ask him about your clothes':
-					cla
-					*clr
+					*clr & cla
 					minut += 15
 					gs 'stat'
+
 					'"Can you tailor my clothes to fit me better?"'
 					'"Of course I can! Otherwise, what kind of tailor would I be? Here, let me see what you''re wearing."'
 					'He jumps up and nimbly removes the tape from his neck and begins to measure your chest, waist and hips.'

+ 32 - 32
locations/city_musicstore.qsrc

@@ -1,7 +1,7 @@
 # city_musicstore
 
 if $ARGS[0] = 'musicshop':
-	*clr & cla	
+	*clr & cla
 	if ml_musicstorevisited = 0:
 		ml_musicstorevisited = 1
 		gt 'city_musicstore', 'firstvisit'
@@ -16,14 +16,14 @@ if $ARGS[0] = 'musicshop':
 			if pcs_instrmusic < 30 and pcs_perform < 10:
 				'You pick up a guitar you like the look of, but are too shy to play it. After strumming a few chords, you put it back on it''s stand.'
 			else
-				'Some texts here depending on music skill and performing skill'			
+				'Some texts here depending on music skill and performing skill'
 			end
 		end }
-		act 'Leave': 
+		act 'Leave':
 			if ml_boughtguitar > 0 or ml_boughtamp > 0:
 				gt 'city_musicstore', 'payandtakestuff'
 			end
-			gt 'torgcentr'
+			gt 'city_mall'
 		end
 
 		musicrand = rand(1,2)
@@ -42,7 +42,7 @@ if $ARGS[0] = 'musicshop':
 						'He smiles and starts telling you about a variety of instruments. He seems to really know his stuff.'
 					else
 						'He gives you a slight knowing smirk when he sees you. "So what can I do for one of my fans?"'
-						'"I just came to look around and maybe do a little shopping," you reply.' 
+						'"I just came to look around and maybe do a little shopping," you reply.'
 						'He nods and starts telling you about a variety of instruments. He seems to really know his stuff.'
 					end
 				elseif npc_rel['A154'] <= 20:
@@ -53,7 +53,7 @@ if $ARGS[0] = 'musicshop':
 						'You smile. "Thanks, but I just came to look around and maybe do a little shopping."'
 						'He nods and starts telling you about a variety of instruments. He seems to really know his stuff.'
 					else
-						'He smirks when he sees you. "Come to try and butter me up before I get famous?"' 
+						'He smirks when he sees you. "Come to try and butter me up before I get famous?"'
 						'You ignore his comment and ask him about some of the instruments.'
 						'He nods and starts telling you about a variety of instruments. He seems to really know his stuff.'
 					end
@@ -81,46 +81,46 @@ if $ARGS[0] = 'firstvisit':
 		'You enter the store, passing the door to be submerged in a loud, cacophony environment. The walls are filled with guitars, bass, amps, drums and even keyboards.'
 		'A tall, ginger haired man turns to you with a bored expression that turns into a perplexed smile as he takes your sight in.'
 	end
-	
+
 	act 'Approach the counter':
 		*clr & cla
 		'<center><img src="images/locations/city/citycenter/mall/musicstore/jimmy.jpg"></center>'
 		'He straightens up. "Hello there, I''m Jimmy! Is there anything I can help you with?"'
 		act 'Look for a guitar':
 			*clr & cla
-			'<center><img src="images/locations/city/citycenter/mall/musicstore/cheap_acoustic_1.jpg"></center>'		
+			'<center><img src="images/locations/city/citycenter/mall/musicstore/cheap_acoustic_1.jpg"></center>'
 			'You start browsing the guitars on offer, but aren''t sure what you''re looking and gladly accept his help. After answering his questions about what you''re looking for, he finally picks up an affordable acoustic guitar as a recommendation.'
 			'He leaves you alone with the instrument, so you sit down to try it. You strum the chords that you know, trying to play something.'
 			if money > 3400 or karta > 3400:
 				if money < 14280 and karta < 14280:
 					'While the guitar isn''t the best sounding, it''s comfortable and looking at the price tags, the only one you can afford.'
-				else 
+				else
 					'The guitar isn''t the best sounding. However, looking at the price tags on the others, you''re not sure if you should spend so much money on a better one until you''re better at playing.'
 				end
 				if money > 3400: act 'Buy a cheap acoustic guitar (3,400 <b>P</b>) - pay with cash': gt 'city_musicstore', 'buycheapacoustic', 'money'
 
-				if karta > 3400: act 'Buy a cheap acoustic guitar (3,400 <b>P</b>) - pay with card': gt 'city_musicstore', 'buycheapacoustic', 'karta'						
+				if karta > 3400: act 'Buy a cheap acoustic guitar (3,400 <b>P</b>) - pay with card': gt 'city_musicstore', 'buycheapacoustic', 'karta'
 				act 'You have to think about it':
 					ml_didntbuyguitarthefirstvisit = 1
 					'You hesitate before deciding not to buy it, at least not for now. "I''ll have to talk to think about it first," you tell Jimmy.'
 					'He nods. "You know what? I''ll put it aside for you in case you change your mind, but be quick before someone else beats you to it!" He scribbles something on a post-it note and sticks it on the guitar. "I''ll try to keep the price the same, 3,400 <b>₽</b>."'
-					act 'Leave': gt 'torgcentr'
+					act 'Leave': gt 'city_mall'
 				end
 			else
 				ml_didntbuyguitarthefirstvisit = 1
 				'While the guitar isn''t the best sounding, it is comfortable. Unfortunately, while it''s cheaper than the rest, it still costs more than you have. You hand it back to Jimmy with a sigh. "Sorry, but I can''t buy it right now."'
 				'He nods. "You know what? I''ll put it aside for you in case you change your mind, but be quick before someone else beats you to it!" He scribbles something on a post-it note and sticks it on the guitar. "I''ll try to keep the price the same, 3,400 <b>₽</b>."'
-				act 'Leave': gt 'torgcentr'
-			end				
+				act 'Leave': gt 'city_mall'
+			end
 		end
-		act 'Leave': 
-			ml_didntbuyguitarthefirstvisit = 1		
-			gt 'torgcentr'
+		act 'Leave':
+			ml_didntbuyguitarthefirstvisit = 1
+			gt 'city_mall'
 		end
 	end
-	act 'Leave': 
-		ml_didntbuyguitarthefirstvisit = 1		
-		gt 'torgcentr'
+	act 'Leave':
+		ml_didntbuyguitarthefirstvisit = 1
+		gt 'city_mall'
 	end
 end
 
@@ -130,7 +130,7 @@ if $ARGS[0] = 'cameback':
 	'<center><img src="images/locations/city/citycenter/mall/musicstore/music_store.jpg"></center>'
 	*nl
 	'You enter the store, passing the door to be submerged in a loud, cacophony environment.'
-	if money > 3400 or karta > 3400: 
+	if money > 3400 or karta > 3400:
 		act 'Ask Jimmy about the guitar':
 			cla
 			'<center><img src="images/locations/city/citycenter/mall/musicstore/jimmy.jpg"></center>'
@@ -139,24 +139,24 @@ if $ARGS[0] = 'cameback':
 			'He looks up from the guitar. "Oh hey. Sure, I have it. Let me get it for you."'
 			'He disappears for a while before he brings the guitar out. "See, all in good shape. Properly set up and everything."'
 			if money > 3400: act 'Buy a cheap acoustic guitar (3,400 <b>P</b>) - pay with cash': gt 'city_musicstore', 'buycheapacoustic', 'money'
-			if karta > 3400: act 'Buy a cheap acoustic guitar (3,400 <b>P</b>) - pay with card': gt 'city_musicstore', 'buycheapacoustic', 'karta'						
+			if karta > 3400: act 'Buy a cheap acoustic guitar (3,400 <b>P</b>) - pay with card': gt 'city_musicstore', 'buycheapacoustic', 'karta'
 		end
 	end
 	act 'Shop for guitars and amps': gt 'city_musicstore_stock', 'acoustic'
-	act 'Try some guitars': 
+	act 'Try some guitars':
 		'<center><img src="images/locations/city/citycenter/mall/musicstore/try_guitars.jpg"></center>'
-		!! TO DO: Better scenes here			
+		!! TO DO: Better scenes here
 		if pcs_instrmusic < 30 and pcs_perform < 10:
 			'You pick up a guitar you like the look of, but are too shy to play it. After strumming a few chords, you put it back on it''s stand.'
 		else
-			'Some texts here depending on music skill and performing skill'			
+			'Some texts here depending on music skill and performing skill'
 		end
 	end
-	act 'Leave': 
+	act 'Leave':
 		if ml_boughtguitar > 0 or ml_boughtamp > 0:
 			gt 'city_musicstore', 'payandtakestuff'
 		end
-		gt 'torgcentr'
+		gt 'city_mall'
 	end
 end
 
@@ -171,20 +171,20 @@ if $ARGS[0] = 'buycheapacoustic':
 		'Jimmy puts the guitar in a gigbag and drops a set of strings and picks in the pocket. "A proper starter kit," he states and rings up the purchase.'
 	end
 	'He looks at you thoughtfully, then drops a thick, slightly worn booklet in the bag. "Some stuff to learn from," he says while handing your purchase to you. "Congratulations, welcome to the starving musician community."'
-	
+
 	gs 'city_musicstore', 'first_setup'
-	
+
 	if $ARGS[1] = 'money': money -= 3400
 	if $ARGS[1] = 'karta': karta -= 3400
 	gs 'stat'
-	act 'Leave': gt 'torgcentr'
+	act 'Leave': gt 'city_mall'
 end
 
 if $ARGS[0] = 'payandtakestuff':
 	if ml_boughtamp + ml_guitar['carried'] > 0 or ml_boughtguitar > 1:
 		minut += (ml_boughtguitar * 5) + (ml_boughtguitar * 5)
 		'Jimmy takes your details and your home address after you pay to set up the delivery. "It should be there tomorrow."'
-	else	
+	else
 		minut += 20
         ml_guitar['carried'] = 1
 		'Jimmy disappears into the back of the shop with your guitar before returning 10 minutes later. "That''s it all set up, but if you need to tweak anything, just bring it in and we''ll do it for you, free of charge."'
@@ -194,7 +194,7 @@ if $ARGS[0] = 'payandtakestuff':
 	killvar 'ml_boughtguitar'
 	killvar 'ml_gigbag'
 	killvar 'ml_hardcase'
-	act 'Leave': gt 'torgcentr'
+	act 'Leave': gt 'city_mall'
 end
 
 if $ARGS[0] = 'first_setup':
@@ -202,7 +202,7 @@ if $ARGS[0] = 'first_setup':
 	ml_guitars['jb-budget-acoustic'] = 1
 	ml_strings = 2
 	ml_guitar['chordbook'] = 1
-	ml_guitar['hasguitar'] = 1 
+	ml_guitar['hasguitar'] = 1
 	ml_guitar['carried'] = 1
 
 	!! Has to set it here as cikl calculates it otherwise at midnight

+ 67 - 66
locations/city_park.qsrc

@@ -90,7 +90,7 @@ if $ARGS[0] = 'start':
 	end
 
 	act 'Sit on a bench': gt 'placer_sex', 'sitting_park_bench'
-	
+
 	if mc_inventory['joints'] > 0 and drugVars['weed_high'] = 0: act 'Smoke a joint': minut += 10 & gs 'drugs', 'joint' & gt $loc, $loc_arg
 
 	if pusher = 1 and hour >= 6 and hour <= 21:
@@ -119,71 +119,16 @@ if $ARGS[0] = 'start':
 		end
 	end
 
-	if $clothingworntype = 'danilovich_outfits' and $shoeworntype = 'danilovich' and hour > 5 and hour < 23:
-		if pcs_energy >= 5 and pcs_stam >= stammax / 5:
-			act 'Go for a run in the park (1:00)':
-				*clr & cla
-				menu_off = 1
-				gs 'exercise', 'tier1', 60, 'run'
-				'<center><b><font color="maroon">Park</font></b></center>'
-				'<center><img <<$set_imgh>> src="images/locations/shared/park/parkbeg.jpg"></center>'
-				'You choose paths randomly, running them up and down, and about an hour later, you are out of breath and heavily sweating.'
-
-				if hour >= 20:
-					parkrand = rand(0, 10)
-
-					if parkrand >= 8:
-						'A man steps out of the shadow of a tree and runs up to you. Before you can react, he grabs you and starts dragging you into the bushes. "Relax and enjoy this", he says.'
-						gs 'npcgeneratec', 0, 'Rapist', rand(18,40)
-						gs 'boyStat', $npclastgenerated
-						act 'Fight':
-							cla
-							gs 'fight','initFight'
-
-							gs 'fight_npcdata', 'rapist'
-
-							gt 'fight', 'start'
-						end
-						if succubusQW = 5:
-							!!Used if this was a random encounter instead of active hunting
-							Act 'Lure him in and feed (this can take a lot of time)':
-								cla
-								'You wait until he has dragged you almost to the bushes before turning on him.'
-								act 'Continue': gt 'succubus', 'RapistFight'
-							end
-						end
-
-						exit
-					end
-				end
-
-				act 'Finish your run':
-					cla & *nl
-					'You feel great after your run. You''re a bit sweaty, but you''ve managed to improve your stamina, and you even feel a bit slimmer.'
-					act 'Continue': gt 'city_park', 'start'
-				end
-				
-				if pcs_inhib >= 35  or exhibitionist_lvl > 0:
-					act 'Expose your breasts':
-						*clr & cla
-						if rand(0,1) = 0:
-							'<center><img <<$set_imgh>> src="images/locations/shared/park/flash'+rand(3,4)+'.jpg"></center>'
-						else
-							'<center><video autoplay loop src="images/locations/shared/park/flash'+rand(1,2)+'.mp4"></video></center>'
-						end
-						'Halfway through your run, you pull up your top and expose your breasts. The cool air against your warm skin causes you to shiver, and almost immediately your nipples start to harden, a mixed reaction from the air hitting them and your growing excitement.'
-						*nl
-						gs 'park_walkevents', 'run_reactions'
-					end
-				end
-			end
-		elseif pcs_stam >= stammax / 5:
+	if hour >= 6 and hour <= 22 and parkrunday ! daystart:
+		if $clothingworntype ! 'danilovich_outfits' or $shoeworntype ! 'danilovich':
+			'You could go for a run in the park if you were wearing sports clothes and shoes.'
+		elseif pcs_energy < 5:
 			act 'Go for a run in the park (1:00)': '<br><font color="red">You are so hungry you cannot face going for a run.</font>'
-		else
+		elseif pcs_stam <= stammax / 5:
 			act 'Go for a run in the park (1:00)': '<br><font color="red">You are to exhausted to do this. Recover your stamina before trying to go for a run.</font>'
+		else
+			act 'Go for a run in the park (1:00)': gt 'city_park', 'run'
 		end
-	elseif hour > 5 and hour < 23 and parkrunday ! daystart:
-		'You could go for a run in the park if you were wearing sports clothes and shoes.'
 	end
 
 	gs 'music_actions', 'start'
@@ -268,7 +213,7 @@ if $ARGS[0] = 'luna':
 	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>.'
 
 	act 'Go back to the park':gt 'city_park', 'start'
-	
+
 	if hour >= 9 and hour <= 20:
 		act 'Distribute flyers to earn money (50 <b>₽</b>) (1:00)':
 			*clr & cla
@@ -399,7 +344,7 @@ if $ARGS[0] = 'luna':
 					damage = rand(pcs_stren - stKo, pcs_stren + stKo)
 
 					gs 'exercise', 'tier2', 1, 'stren'
-					
+
 					'A LED screen lights up and shows you your score:<<damage>>'
 					if damage > maxdamage:
 						maxdamage = damage & 'Congratulations! A new personal best!'
@@ -484,7 +429,7 @@ if $ARGS[0] = 'whore':
 	temp = rand(1, 10)
 
 	act 'Go back to the park (0:05)': minut += 5 & gt 'city_park', 'start'
-	
+
 	if pcs_inhib > 35:
 		act 'Flash breasts':
 			*clr & cla
@@ -683,6 +628,62 @@ if $ARGS[0] = 'junkies':
 	act 'Walk away from them':gt 'city_park', 'start'
 end
 
+if $ARGS[0] = 'run':
+	*clr & cla
+	menu_off = 1
+	gs 'exercise', 'tier1', 60, 'run'
+	'<center><b><font color="maroon">Park</font></b></center>'
+	'<center><img <<$set_imgh>> src="images/locations/shared/park/parkbeg.jpg"></center>'
+	'You choose paths randomly, running them up and down, and about an hour later, you are out of breath and heavily sweating.'
+
+	if hour >= 20:
+		parkrand = rand(0, 10)
+
+		if parkrand >= 8:
+			'A man steps out of the shadow of a tree and runs up to you. Before you can react, he grabs you and starts dragging you into the bushes. "Relax and enjoy this", he says.'
+			gs 'npcgeneratec', 0, 'Rapist', rand(18,40)
+			gs 'boyStat', $npclastgenerated
+			act 'Fight':
+				cla
+				gs 'fight','initFight'
+
+				gs 'fight_npcdata', 'rapist'
+
+				gt 'fight', 'start'
+			end
+			if succubusQW = 5:
+				!!Used if this was a random encounter instead of active hunting
+				Act 'Lure him in and feed (this can take a lot of time)':
+					cla
+					'You wait until he has dragged you almost to the bushes before turning on him.'
+					act 'Continue': gt 'succubus', 'RapistFight'
+				end
+			end
+
+			exit
+		end
+	end
+
+	act 'Finish your run':
+		cla & *nl
+		'You feel great after your run. You''re a bit sweaty, but you''ve managed to improve your stamina, and you even feel a bit slimmer.'
+		act 'Continue': gt 'city_park', 'start'
+	end
+
+	if pcs_inhib >= 35 or exhibitionist_lvl > 0:
+		act 'Expose your breasts':
+			*clr & cla
+			if rand(0,1) = 0:
+				'<center><img <<$set_imgh>> src="images/locations/shared/park/flash'+rand(3,4)+'.jpg"></center>'
+			else
+				'<center><video autoplay loop src="images/locations/shared/park/flash'+rand(1,2)+'.mp4"></video></center>'
+			end
+			'Halfway through your run, you pull up your top and expose your breasts. The cool air against your warm skin causes you to shiver, and almost immediately your nipples start to harden, a mixed reaction from the air hitting them and your growing excitement.'
+			*nl
+			gs 'park_walkevents', 'run_reactions'
+		end
+	end
+end
 
 --- city_park ---------------------------------
 

+ 8 - 8
locations/city_redlight.qsrc

@@ -24,7 +24,7 @@ if $ARGS[0] = 'start':
 	'<center><h2>St. Petersburg</h2></center>'
 	'<center><b>Red Light District</b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/redlight/redlight.jpg"></center>'
-	
+
 	'This small area inside the Industrial District is home to a number of strip clubs and sex shops.'
 	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.'
@@ -36,27 +36,27 @@ if $ARGS[0] = 'start':
 	elseif pornstudio > 0 and (hour < 10 or hour >= 22):
 		'The porn studio is closed and will reopen at 10:00.'
 	end
-	if hour < 3 or hour >= 11: 
-		'A <a href="exec:minut += 1 & gt ''sexshop'', ''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.'
+	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.'
 	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: 
+	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.'
 	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 
+	else
 		'The Hookah Lounge is currently closed and will reopen at 19:00.'
 	end
-	
+
 	act 'Walk to the Industrial Region (0:05)': minut += 5 & gt 'city_industrial'
 
 	act 'Wait': gs 'obj_din', 'wait'
-	
+
 	gs 'taxi'
 
 	if car > 0:
@@ -74,7 +74,7 @@ if $ARGS[0] = 'start':
 		'Prostitutes are working near here.'
 		if pcs_makeup > 2 and PCloStyle = 4 and pcs_inhib >= 40:
 			act 'Prostitute yourself': prst_loc = 1 & gt 'street_walker', 'work'
-		elseif pcs_inhib >= 40:  
+		elseif pcs_inhib >= 40:
 			*nl
 			'You could work as a prostitute, but you need to wear appropriate clothes and more than a little bit of makeup.'
 		else

+ 3 - 3
locations/city_residential.qsrc

@@ -4,7 +4,7 @@
 
 music_loop = 0
 CLOSE ALL
-gs 'shortgs', 'setloc', 'city_residential', $ARGS[0]
+gs 'shortgs', 'setloc', 'city_residential', ''
 $location_type = 'public_outdoors'
 $region = 'city'
 menu_off = 0
@@ -146,7 +146,7 @@ else
 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	
+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.')
 end
 if hour = 11 and week > 1 and week < 7 and workKafe['job'] = 1:
@@ -190,7 +190,7 @@ if hour >= 20 or hour <= 4:
 	'There are prostitutes working near here.'
 	if pcs_makeup > 2 and PCloStyle = 4 and pcs_inhib >= 40 and (stat['vaginal'] >  0 or fame['pav_slut'] >= 100):
 		act 'Prostitute yourself': gt 'street_walker', 'work'
-	elseif pcs_inhib >= 40 and (stat['vaginal'] >  0 or fame['pav_slut'] >= 100):  
+	elseif pcs_inhib >= 40 and (stat['vaginal'] >  0 or fame['pav_slut'] >= 100):
 		*nl
 		'You could work as a prostitute, but you need to wear appropriate clothes and more than a little bit of makeup.'
 	else

+ 6 - 6
locations/city_saunawhore.qsrc

@@ -112,7 +112,7 @@ if $ARGS[0] = 'saunawork':
 			menu_off = 1
 			gs 'stat'
 			'The nurse has you strip and put your legs in stirrups then roughly examines you.'
-		
+
 			if GerpesOnce = 1:
 				'You have genital herpes. You can''t afford the cure and I can''t provide it.'
 				if Gerpes >= 3:
@@ -134,7 +134,7 @@ if $ARGS[0] = 'saunawork':
 
 			if TriperOnce = 1:
 				'We found gonorrhoea. In principle, this disease is curable.'
-				if TriperNapr = 0: 
+				if TriperNapr = 0:
 					TriperNapr = 5 & 'I''m going to put you on a course of gonorrhoea injections. You''ll need a total of 5 injections (no more than 1 a day), each injection will add 750 <b>₽</b> to your debt or put you in debt if not already.'
 				elseif TriperNapr > 0:
 					'You need to finish your course of gonorrhoea injections.'
@@ -153,7 +153,7 @@ if $ARGS[0] = 'saunawork':
 			act 'Return':gt 'city_saunawhore', 'saunawork'
 		end
 	end
-		
+
 	if GerpesNapr > 0 and GerpesUkolDay ! daystart:
 		act 'See nurse for herpes shot':
 			*clr & cla
@@ -620,7 +620,7 @@ end
 
 if $ARGS[0] = 'blowjob':
 	minut += 5
-	
+
 	if $moodType = 'fairly normal':
 		'<center><video autoplay loop src="images/locations/city/residential/sauna/sex/blowjob'+rand(1, 5)+'.mp4"></video></center>'
 		'You kneel in front of him and bite your lip, caressing his cock through his pants with your hands. He pulls out his <<$dick_girth>> dick and brings it to your <<$pc_desc[''lips'']>> lips.'
@@ -1015,7 +1015,7 @@ if $ARGS[0] = 'cumAnal':
 end
 
 if $ARGS[0] = 'cumFace':
-	
+
 	'<center><video autoplay loop src="images/locations/city/residential/sauna/sex/cumface'+rand(1, 5)+'.mp4"></video></center>'
 	if useCondom = 1:
 		'The client rips the condom from his dick and <<$cumType>> cum splatters all over your face.'
@@ -1081,7 +1081,7 @@ if $ARGS[0] = 'bdsmclient':
 		minut += 15
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/city/residential/sauna/sex/bdsm2.jpg"></center>'
-		'The ropes are chaffing, you''re uncomfortable and it feels like an eternity until you hear someone open the door. You hear some heavy steps come towards you but you can''t see anything.'
+		'The ropes are chafing, you''re uncomfortable and it feels like an eternity until you hear someone open the door. You hear some heavy steps come towards you but you can''t see anything.'
 		'"Let me help you there." you hear a deep voice say as he removes the bag from your head. You flinch as you see he''s wearing a mask over his head.'
 		'The man tells you to relax and that he doesn''t want to fuck you, only watch you squirm.'
 		act 'Squirm':

+ 12 - 10
locations/city_trashplaceevents.qsrc

@@ -71,7 +71,7 @@ if $ARGS[0] = 'pos7':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/bum_kiss.jpg"></center>'
 	'The bum, gently and in disbelief, pulls your hand up to his lips and kisses it. He''s quite charming and closes his eyes in pleasure.'
-	
+
 	act 'Further':
 		*clr & cla
 		gs 'stat'
@@ -147,16 +147,18 @@ if $ARGS[0] = 'pos10':
 		gs 'arousal', 'flashlite', 10
 		gs 'arousal', 'flash', -10
 		gs 'stat'
-		
+
 		if bomjqw > 0:
 			'"Thank you very much once again," he starts. "But if you agree to one more service?"'
 			'"What?" you ask suspiciously.'
 			'"Could you help an old man with your lovely mouth? I''ll pay 150 <b>₽</b>!"'
 			if pcs_horny < 50:
-				*clr & cla
-				gs 'arousal', 'end'
-				'"No, that''s disgusting!" you reply before turning around and walking away.'
-				act 'Leave': gt 'city_residential'
+				act 'No!':
+					*clr & cla
+					gs 'arousal', 'end'
+					'"No, that''s disgusting!" you reply before turning around and walking away.'
+					act 'Leave': gt 'city_residential'
+				end
 			else
 				gs 'npcgeneratec', 0, 'Homeless man', rand(25,55)
 				gs 'boyStat', $npclastgenerated
@@ -170,7 +172,7 @@ if $ARGS[0] = 'pos10':
 					'You hold in your gag reflex as you take his cock into your mouth and start sucking.'
 					gs 'arousal', 'bj', 3, 'prostitution'
 					gs 'stat'
-		
+
 					act 'Suck harder':
 						cla
 						'You start sucking harder and your efforts are paying off. The old man is ready to cum...'
@@ -184,7 +186,7 @@ if $ARGS[0] = 'pos10':
 							gs 'arousal', 'bj', 3, 'prostitution'
 							gs 'arousal', 'end'
 							gs 'stat'
-							
+
 							act 'Leave': gt 'city_residential'
 						end
 						act 'On your face':
@@ -196,7 +198,7 @@ if $ARGS[0] = 'pos10':
 							'A few seconds later, your face is covered in nasty smelling cum. You take your money and quickly leave before someone sees you.'
 							gs 'arousal', 'end'
 							gs 'stat'
-							
+
 							act 'Leave': gt 'city_residential'
 						end
 					end
@@ -216,7 +218,7 @@ if $ARGS[0] = 'pos10':
 						gs 'arousal', 'vaginal', 15, 'prostitution'
 						gs 'arousal', 'end'
 						gs 'stat'
-					
+
 						act 'Leave': gt 'city_residential'
 					end
 				end

+ 30 - 22
locations/clothing.qsrc

@@ -1,5 +1,6 @@
 # clothing
 !!2021/05/06
+menu_off = 1
 
 if $ARGS[0] = 'totals':
 	!!sets the number of items in clothing sets
@@ -43,6 +44,10 @@ if $ARGS[0] = 'totals':
 		total = 160
 	elseif $ARGS[1] = 'nerdvana_outfits':
 		total = 90
+	elseif $ARGS[1] = 'nerdvana_swimsuit':
+		total = 30
+	elseif $ARGS[1] = 'nerdvana_bikinis':
+		total = 30
 	elseif $ARGS[1] = 'cats_dress':
 		total = 220
 	elseif $ARGS[1] = 'cats_outfits':
@@ -51,6 +56,10 @@ if $ARGS[0] = 'totals':
 		total = 150
 	elseif $ARGS[1] = 'scandalicious_outfits':
 		total = 30
+	elseif $ARGS[1] = 'scandalicious_swimsuits':
+		total = 40
+	elseif $ARGS[1] = 'scandalicious_bikinis':
+		total = 70
 	elseif $ARGS[1] = 'bomba_dresses':
 		total = 100
 	elseif $ARGS[1] = 'bomba_outfits':
@@ -73,12 +82,11 @@ if $ARGS[0] = 'totals':
 		total = 100
 	elseif $ARGS[1] = 'danilovich_outfits':
 		total = 160
+	elseif $ARGS[1] = 'danilovich_swimsuit':
+		total = 30
 	end
 end
 
-
-menu_off = 1
-
 $clothing_list_line = {
 	!! a single line in a clothing list (wardrobe, etc)
 	!! ARGS 0 - action type (wardrobe, sell, resize, store, forsale)
@@ -144,22 +152,22 @@ $clothing_list_line = {
 		else
 			$RESULT += '<TD><center><a href="exec:gt ''clothing'', ''dest2'', ''<<$ARGS[0]>>'', ''<<$ARGS[1]>>'', <<ARGS[2]>> "><img src="images/system/icons/clothing/unwanted_off.png"></a></center></TD>'
 		end
-		
+
 		if ($ARGS[1] ! 'gm_school' or ARGS[2] ! 6) and dyneval('RESULT = <<$ARGS[1]>>_h[<<ARGS[2]>>]') <= 0 and pcs_sewng >= 60 and mc_inventory['sewing_fabric'] > 0:
 			$RESULT += '<TD><center><a href="exec:gt ''clothing'', ''qrepair'', ''<<$ARGS[0]>>'', ''<<$ARGS[1]>>'', <<ARGS[2]>> "><img src="images/system/icons/clothing/repair.png"></a></center></TD>'
 		else
 			$RESULT += '<TD><center><img src="images/system/icons/clothing/repair_off.png"></center></TD>'
 		end
-		
+
 		if pcs_sewng >= 50 and money >= 500 and (dyneval('RESULT = <<$ARGS[1]>>_b[<<ARGS[2]>>]') < pcs_hips - 8 or dyneval('RESULT = <<$ARGS[1]>>_b[<<ARGS[2]>>]') > pcs_hips + 8):
 			$RESULT += '<TD><center><a href="exec:gt ''clothing'', ''qresize'', ''<<$ARGS[0]>>'', ''<<$ARGS[1]>>'', <<ARGS[2]>> "><img src="images/system/icons/clothing/resize.png"></a></center></TD>'
 		else
 			$RESULT += '<TD><center><img src="images/system/icons/clothing/resize_off.png"></center></TD>'
 		end
-		
+
 		if ($ARGS[1] ! 'gm_school' or ARGS[2] ! 6):
 			$RESULT += '<TD><center><a href="exec:gt ''clothing'', ''qdelete'', ''<<$ARGS[0]>>'', ''<<$ARGS[1]>>'', <<ARGS[2]>> "><img src="images/system/icons/clothing/delete_on.png"></a></center></TD>'
-		end	
+		end
 
 	else
 		$RESULT += '<TD></TD><TD></TD><TD></TD><TD></TD><TD></TD>'
@@ -234,20 +242,20 @@ if $ARGS[0] = 'view_clothing_list':
 	!! ARGS 0 - view_clothing_list
 	!! ARGS 1 - action type (wardrobe, resize)
 	!! ARGS 2 - Shop name (kats, moncheri, gm, etc)
-	
+
 	if $ARGS[1] = 'wardrobe':
 		$ward_list_page = $ARGS[1]
 		'<center><table><TH><a href="exec:gt ''wardrobe'', ''main''"><img src="images/system/icons/clothing/clothes.png" height="50"></TH><TH><a href="exec:gt ''wardrobe'', $wloc"><img src="images/system/icons/clothing/default.png" height="50"></a></TH><TH><b>Your Wardrobe</b></TH></table></center>'
 
-	    if $wardrobeDefaultPagePref = 'viewClothing':
-	        $wardrobeSetDefault = '<a href="exec: $wardrobeDefaultPagePref = '''' & gt ''clothing'', ''view_clothing_list'', ''wardrobe''">Unset as default wardrobe page</a>'
-	    else
-	        $wardrobeSetDefault = '<a href="exec: $wardrobeDefaultPagePref = ''viewClothing'' & gt ''clothing'', ''view_clothing_list'', ''wardrobe''">Set here as default wardrobe page</a>'
-	    end
+		if $wardrobeDefaultPagePref = 'viewClothing':
+			$wardrobeSetDefault = '<a href="exec: $wardrobeDefaultPagePref = '''' & gt ''clothing'', ''view_clothing_list'', ''wardrobe''">Unset as default wardrobe page</a>'
+		else
+			$wardrobeSetDefault = '<a href="exec: $wardrobeDefaultPagePref = ''viewClothing'' & gt ''clothing'', ''view_clothing_list'', ''wardrobe''">Set here as default wardrobe page</a>'
+		end
 !! '''' Colour code correction for editor
-        '<center><<$wardrobeSetDefault>></center>'
+		'<center><<$wardrobeSetDefault>></center>'
 		killvar '$wardrobeSetDefault'
-    elseif $ARGS[1] = 'resize':
+	elseif $ARGS[1] = 'resize':
 		$ward_list_page = $ARGS[1]
 		'<h3><center><b><font color="maroon">Choose item/s to resize</font></b></center></h3>'
 	end
@@ -1292,7 +1300,7 @@ if $ARGS[0] = 'clothing_list':
 		act 'Return': killvar '$ward_list_store' & gt 'clothing', 'view_clothing_list', '<<$ward_list_page>>'
 		gs 'clothing', 'clothwidth'
 	end
-	
+
 	if $args[1] = 'sports' or $args[1] = 'all':
 		if $args[1] ! 'all':
 			$ward_list_store = $args[1]
@@ -1437,7 +1445,7 @@ if $ARGS[0] = 'clothinglist_header':
 end
 
 if $ARGS[0] = 'clothwidth':
-	act 'Set image size for this view': 
+	act 'Set image size for this view':
 		Enable_clothwidth = input("Enter height in pixels you want for images on this page <br>(Default 150, min 50, max 500)")
 		if Enable_clothwidth < 50:
 			Enable_clothwidth = 50
@@ -1458,7 +1466,7 @@ if $ARGS[0] = 'view_clothing_item':
 	$swimwear_description = ''
 
 	cla
-	'<center><img src="<<FUNC(''$clothing_image'',  $ARGS[1], ARGS[2])>>"></center>'
+	'<center><img src="<<FUNC(''$clothing_image'', $ARGS[1], ARGS[2])>>"></center>'
 	gs 'clothing_attributes', $ARGS[1], ARGS[2]
 
 	$RESULT = FUNC('$short_description', $ARGS[1], CloStyle2)
@@ -1469,8 +1477,8 @@ if $ARGS[0] = 'view_clothing_item':
 	elseif $swimwear_description = '':
 		gs 'clothing_descriptions'
 		'<<$description>>'
-		if hypnoClothes > 0 and (CloThinness >= 6 or $ARGS[1] = 'salacious_outfits' or $ARGS[1] = 'salacious_dress' _ 
-		or (($ARGS[1] = 'eroto_outfits' or $ARGS[1] = 'eroto_dress' or $ARGS[1] = 'eroto_strip') and CloThinness >= 3) _ 
+		if hypnoClothes > 0 and (CloThinness >= 6 or $ARGS[1] = 'salacious_outfits' or $ARGS[1] = 'salacious_dress' _
+		or (($ARGS[1] = 'eroto_outfits' or $ARGS[1] = 'eroto_dress' or $ARGS[1] = 'eroto_strip') and CloThinness >= 3) _
 		or ($ARGS[1] = 'danilovich_outfits' and CloThinness >= 5)):
 			nl & '<I>You have a strange feeling about this outfit. You <b>really</b> want to wear it.</i>'
 		end
@@ -1705,7 +1713,7 @@ if $args[0] = 'school_check':
 		if CloInhibit >= 30 or CloTopCut = 4:
 			'<font color="red">This uniform, despite meeting the school uniform regulations, is too risqué. Everybody in school will think that you''re a slut apart from the gopniks who will respect you for beating the school rules.</font>'
 		elseif CloStyle = 2:
-			'<font color="blue">This uniform follows the school regulation on skirt length but is of a style that only the Gopniks will approve of.</font>'	
+			'<font color="blue">This uniform follows the school regulation on skirt length but is of a style that only the Gopniks will approve of.</font>'
 		elseif CloQuality >= 4:
 			'<font color="blue">This uniform complies with the regulations and is of good quality. It would certainly help you with your standing with the cool kids and jocks.</font>'
 		else
@@ -1715,7 +1723,7 @@ if $args[0] = 'school_check':
 		if CloInhibit >= 35 or CloTopCut = 4:
 			'<font color="red">This uniform slightly breaches the school uniform regulations and it is too risqué. Everybody in school apart from the gopniks will think that you''re a slut.</font>'
 		elseif CloStyle = 2:
-			'<font color="blue">This uniform slightly breaches the school regulations on skirt length and is of a style that only the Gopniks will approve of.</font>'	
+			'<font color="blue">This uniform slightly breaches the school regulations on skirt length and is of a style that only the Gopniks will approve of.</font>'
 		elseif CloQuality >= 4:
 			'<font color="blue">This uniform slightly breaches the school regulations on skirt length and is of good quality. Everybody apart from the nerds would approve of you wearing it.</font>'
 		else

+ 26 - 11
locations/coats.qsrc

@@ -4,9 +4,24 @@
 !!To remove coat and store them
 !!gs 'coats', 'wear', 'type', 'number'
 !!To wear coat - There is no previous worn stored as this is only specified through cloakroom/wardrobe
-
 menu_off = 1
 
+if $ARGS[0] = 'totals':
+	if $ARGS[1] = 'gm_coats':
+		total = 20
+	elseif $ARGS[1] = 'dolls_coats':
+		total = 20
+	elseif $ARGS[1] = 'pussycats_coats':
+		total = 20
+	elseif $ARGS[1] = 'bomba_coats':
+		total = 20
+	elseif $ARGS[1] = 'danilovich_coats':
+		total = 20
+	elseif $ARGS[1] = 'moncheri_coats':
+		total = 20
+	end
+end
+
 if $ARGS[0] = 'remove':
 	$coatworntype = 'none'
 	coatwornnumber = 0
@@ -35,7 +50,7 @@ if $ARGS[0] = 'view_coat_list':
 	!! ARGS 1 - action type (clean, dirty, store, bathroom, wardrobe)
 
 
-	act 'Return': 
+	act 'Return':
 		if $ARGS[1] = 'wardrobe':
 			gt 'wardrobe', 'main'
 		else
@@ -58,7 +73,7 @@ if $ARGS[0] = 'view_coat_list':
 	'<center><table border=1><TH><a href="exec:gt ''coats'', ''view_coat_list'', ''wardrobe''">Draw</a></TH><TH><a href="exec:gt ''coats'', ''view_coat_list'', ''store''">Storage</a></TH><TH><a href="exec:gt ''coats'', ''view_coat_list'', ''unwanted''">Unwanted</a></TH></center>'
 
 	if $coatworntype ! 'none':act 'Remove coat':gs 'coats', 'remove' & gt 'coats', 'view_coat_list', $ARGS[1]
-	
+
 	if $ARGS[1] = 'store':
 		cloc = 1
 	end
@@ -67,7 +82,7 @@ if $ARGS[0] = 'view_coat_list':
 		'<center><img src="images/locations/city/citycenter/mall/gm.png"></a></center>'
 
 		i = 1
-		:loopgmcoat 
+		:loopgmcoat
 		if gm_coats_s[i] = coat_loc and gm_coats[i] = 1:*p '<a href="exec:gt ''coats'', ''view_coat_item'', ''<<$ARGS[1]>>'', ''gm'', <<i>>"><img src="images/pc/items/gm/coats/<<i>>.jpg" 	height="150" /></a>'
 		i += 1
 		if i <= ARRSIZE('gm_coats'):jump 'loopgmcoat'
@@ -77,7 +92,7 @@ if $ARGS[0] = 'view_coat_list':
 		'<center><img src="images/locations/city/citycenter/mall/pussycat.png"></center>'
 
 		i = 1
-		:loopcatscoat 
+		:loopcatscoat
 		if cats_coats_s[i] = coat_loc and cats_coats[i] = 1:*p '<a href="exec:gt ''coats'', ''view_coat_item'', ''<<$ARGS[1]>>'', ''cats'', <<i>>"><img src="images/pc/items/cats/coats/<<i>>.jpg" 	height="150" /></a>'
 		i += 1
 		if i <= ARRSIZE('cats_coats'):jump 'loopcatscoat'
@@ -87,7 +102,7 @@ if $ARGS[0] = 'view_coat_list':
 		'<center><img src="images/locations/city/citycenter/mall/moncheri.png"></center>'
 
 		i = 1
-		:loopmonchericoat 
+		:loopmonchericoat
 		if moncheri_coats_s[i] = coat_loc and moncheri_coats[i] = 1:*p '<a href="exec:gt ''coats'', ''view_coat_item'', ''<<$ARGS[1]>>'', ''moncheri'', <<i>>"><img src="images/pc/items/moncheri/coats/<<i>>.jpg" 	height="150" /></a>'
 		i += 1
 		if i <= ARRSIZE('moncheri_coats'):jump 'loopmonchericoat'
@@ -97,7 +112,7 @@ if $ARGS[0] = 'view_coat_list':
 		'<center><img src="images/locations/city/island/dolls/shop_name.png"></center>'
 
 		i = 1
-		:loopdollscoat 
+		:loopdollscoat
 		if dolls_coats_s[i] = coat_loc and dolls_coats[i] = 1:*p '<a href="exec:gt ''coats'', ''view_coat_item'', ''<<$ARGS[1]>>'', ''dolls'', <<i>>"><img src="images/pc/items/dolls/coats/<<i>>.jpg" 	height="150" /></a>'
 		i += 1
 		if i <= ARRSIZE('dolls_coats'):jump 'loopdollscoat'
@@ -107,7 +122,7 @@ if $ARGS[0] = 'view_coat_list':
 		'<center><img src="images/locations/pushkin/bomba/shop_name.png"></center>'
 
 		i = 1
-		:loopbombacoat 
+		:loopbombacoat
 		if bomba_coats_s[i] = coat_loc and bomba_coats[i] = 1:*p '<a href="exec:gt ''coats'', ''view_coat_item'', ''<<$ARGS[1]>>'', ''bomba'', <<i>>"><img src="images/pc/items/bomba/coats/<<i>>.jpg" 	height="150" /></a>'
 		i += 1
 		if i <= ARRSIZE('bomba_coats'):jump 'loopbombacoat'
@@ -117,7 +132,7 @@ if $ARGS[0] = 'view_coat_list':
 		'<center><img src="images/locations/city/citycenter/mall/sports.png"></center>'
 
 		i = 1
-		:loopdanilovichcoat 
+		:loopdanilovichcoat
 		if danilovich_coats_s[i] = coat_loc and danilovich_coats[i] = 1:*p '<a href="exec:gt ''coats'', ''view_coat_item'', ''<<$ARGS[1]>>'', ''danilovich'', <<i>>"><img src="images/pc/items/danilovich/coats/<<i>>.jpg" 	height="150" /></a>'
 		i += 1
 		if i <= ARRSIZE('danilovich_coats'):jump 'loopdanilovichcoat'
@@ -173,9 +188,9 @@ if $ARGS[0] = 'view_coat_item':
 			if coat_loc ! 0:$RESULT += 'Move these coat to  <a href="exec:gt ''coats'', ''dest0'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>">Wardrobe</a><BR>'
 			if coat_loc ! 2:$RESULT += 'Move these coat to  <a href="exec:gt ''coats'', ''dest2'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>">Unwanted</a>'
 		end
-		
+
 		act 'Return':gt 'coats', 'view_coat_list', $ARGS[1]
-		
+
 		if $ARGS[1] = 'store':
 			'These coat are in storage.'
 		elseif $ARGS[1] = 'unwanted':

+ 1 - 1
locations/core_library.qsrc

@@ -115,7 +115,7 @@ if $ARGS[0] = 'bathroom':
 			pcs_makeup = 1
 			minut += 10
 			pcs_mood += 10
-			noShampoo = 1
+			noshampoo = 1
 			dynamic $showerdin	
 			gs 'stat'
 			'You grab a quick shower, but you wish you could stay longer in the shower to let the heat soak into your muscles.'

+ 11 - 11
locations/dateF.qsrc

@@ -2,7 +2,7 @@
 !2021/05/02
 !!boy walks up to Sveta and talks to her.
 !!1) Sveta in a school uniform
-!!2) Gopnik Sveta 
+!!2) Gopnik Sveta
 !!3) unattractive or average Sveta
 !!4) Attractive Sveta
 !!After that have her ask her out, this should depend on the weather, location and time.
@@ -199,7 +199,7 @@ if $ARGS[0] = 'start':
 					act 'Continue': gt $loc, $loc_arg
 				end
 			end
-		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>>'
@@ -222,7 +222,7 @@ if $ARGS[0] = 'start':
 				'"<<$pcs_nickname>>." you answer.'
 				'"Just as I expected a beautiful name for a beautiful girl..." <<$boydesc>> quickly replies.'
 				!!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>'
@@ -231,7 +231,7 @@ if $ARGS[0] = 'start':
 					'The two of you say goodbye to each other.'
 					act 'Continue': gt $loc, $loc_arg
 				end
-				
+
 				act 'Look at her in disgust':
 					*clr & cla
 					'<center><img <<$set_imgh>> src="images/characters/shared/headshots_generic/<<lover_picrand[$boy]>>.jpg"></center>'
@@ -239,7 +239,7 @@ if $ARGS[0] = 'start':
 					'"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>'
@@ -247,7 +247,7 @@ if $ARGS[0] = 'start':
 					'"Great!" answers <<$boydesc>> "So, what do you want to do gorgeous?".'
 					gs 'dateF', 'date_choice'
 				end
-					
+
 				act 'I would love to but can''t right now':
 					*clr & cla
 					gs 'girlfriend', 'start'
@@ -271,7 +271,7 @@ if $args[0] = 'decline':
 	act 'Continue': gt $loc, $loc_arg
 	!!this goes back to what ever street it started on
 end
-				
+
 if $args[0] = 'date_choice':
 	if sunWeather = 1:
 		!!if good weather, day/night, go to park is an option
@@ -298,7 +298,7 @@ if $ARGS[0] = 'datepark':
 	'"Since it''s such a beautiful day today, let''s go for a walk in the park." you suggest.'
 	'"Sounds great. Lets go." <<$boydesc>> walks with you towards the park.'
 	'The two of you walk in the park for a while causally talking, getting knowing each other. After a while she suggests sitting down.'
-	!!Jump to park 
+	!!Jump to park
 	act 'Watch people':
 		*clr & cla
 		minut += 45
@@ -498,7 +498,7 @@ if $ARGS[0] = 'bartalk':
 								end
 
 							end
-						end	
+						end
 					end
 				end
 			end
@@ -515,7 +515,7 @@ if $ARGS[0] = 'bartalk':
 		end
 	end
 end
-				
+
 if $ARGS[0] = 'barend':
 	*clr & cla
 	minut += 5
@@ -531,7 +531,7 @@ if $ARGS[0] = 'barend':
 		'You end the date by her giving you a kiss on the cheek.'
 		act 'Leave':gt $loc, $loc_arg
 	end
-	
+
 	act 'Sorry':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/shared/date/barreject.jpg"></center>'

+ 51 - 31
locations/din_van.qsrc

@@ -31,7 +31,7 @@ $showerdin = {
 	if noshampoo = 0:
 		mc_inventory['shampoo'] -=  1
 	else
-		killvar 'noShampoo'
+		killvar 'noshampoo'
 	end
 	gs 'body', 'SkinGain', 'CleanSelf'
 	if false_lashes >= 1:
@@ -79,7 +79,7 @@ $shower = {
 		*clr & cla
 		minut += 15
 		if $loc = 'vanrPar' or $loc = 'tanvanr' or $loc = 'albinahome' or $loc = 'LariskaHome' or hotelmc_inventory['shampoo'] =  1: noshampoo = 1
-		noShampoo_tmp = noShampoo
+		noshampoo_tmp = noshampoo
 		dynamic $showerdin
 
 		'<center><video autoplay loop src="images/shared/home/bathroom/dush.mp4"></center>'
@@ -93,10 +93,10 @@ $shower = {
 			'You''ve already gotten used to your feminine body and its softness doesn''t surprise you very much anymore, but you still let your hands wander a bit over your soft curves before you begin to wash yourself in earnest.'
 		else
 			pcs_horny += rand(0,2)
-			''+iif(noShampoo_tmp = 1, 'It''s not your shampoo, so you use a little more than you normally would; with a tinge of guilt you ', 'Using your own shampoo, you carefully ')+'lather yourself up, trying not to miss any spots, and then wash off.'
+			''+iif(noshampoo_tmp = 1, 'It''s not your shampoo, so you use a little more than you normally would; with a tinge of guilt you ', 'Using your own shampoo, you carefully ')+'lather yourself up, trying not to miss any spots, and then wash off.'
 		end
 
-		if mc_inventory['shampoo'] =  0 and noShampoo_tmp = 1:
+		if mc_inventory['shampoo'] =  0 and noshampoo_tmp = 1:
 			'When you get a chance, you should stop by the supermarket and buy some shampoo.'
 		elseif mc_inventory['shampoo'] <= 5:
 			'You are getting low on shampoo, with only <<mc_inventory[''shampoo'']>> remaining. When you get a chance, you should stop by the supermarket and buy some more.'
@@ -156,7 +156,8 @@ $shower = {
 				'His cum <i>leaking</i> out of you.'
 				*nl
 				'You grab the soap again and scrub yourself again, but it still feels like something is there, coating your skin. You scrub and scrub and scrub but it just won''t go away until you finally cry out, throwing it into the corner. Tremors begin coursing through your body and you slowly sink down onto the shower floor, where you remain, sobbing while the water continues raining down on you.'
-				
+
+
 				dynamic $dryOff
 			end
 		elseif pcs_horny >= 40:
@@ -188,9 +189,11 @@ $shower = {
 				dynamic $dryOff
 			end
 		end
-		
+
+
 		gs 'selfplay', 'shower_dildo_check'
-		
+
+
 		act 'Take a selfie':
 			gs 'telefon', 'Phone_selfie_image_bathing', 'shower'
 		end
@@ -203,7 +206,7 @@ $shower = {
 			if locat['Fam_inGad'] = 0: gs 'vanrPar', 'peek'
 		end
 	end
-	killvar 'noShampoo_tmp'
+	killvar 'noshampoo_tmp'
 }
 
 $bath = {
@@ -215,7 +218,7 @@ $bath = {
 		pcs_sweat = 7 + rand(0,4)
 		pcs_mood += 20
 		if $loc = 'vanrPar' or $loc = 'tanvanr' or $loc = 'LariskaHome' or hotelmc_inventory['shampoo'] =  1: noshampoo = 1
-		noShampoo_tmp = noShampoo
+		noshampoo_tmp = noshampoo
 		dynamic $showerdin
 
 		gs 'body', 'SkinGain', 'Bath'
@@ -234,10 +237,10 @@ $bath = {
 			'You have become a little accustomed to your female body and casually soap up all these soft curves and rinse yourself off, rubbing your hands all over your feminine body to make sure you didn''t miss a spot.'
 		else
 			pcs_horny += rand(0,2)
-			'You lean back and relax for a while. '+iif(noShampoo_tmp = 1, 'It’s not your shampoo, so you use a little more than you normally would; with a tinge of guilt you ', 'Using your own shampoo, you carefully ')+'begin to lather your body, gently gliding your soft hands over your smooth curves, and wash yourself thoroughly.'
+			'You lean back and relax for a while. '+iif(noshampoo_tmp = 1, 'It’s not your shampoo, so you use a little more than you normally would; with a tinge of guilt you ', 'Using your own shampoo, you carefully ')+'begin to lather your body, gently gliding your soft hands over your smooth curves, and wash yourself thoroughly.'
 		end
 
-		if mc_inventory['shampoo'] =  0 and noShampoo_tmp = 1:
+		if mc_inventory['shampoo'] =  0 and noshampoo_tmp = 1:
 			'When you get a chance, you should stop by the supermarket and buy some shampoo.'
 		elseif mc_inventory['shampoo'] <= 5:
 			'You are getting low on shampoo, with only <<mc_inventory[''shampoo'']>> remaining. When you get a chance, you should stop by the supermarket and buy some more.'
@@ -282,7 +285,8 @@ $bath = {
 			gs 'arousal', 'end'
 			dynamic $dryOff
 		end
-		
+
+
 		gs 'selfplay', 'bathtub_dildo_check'
 
 		act 'Take a selfie':
@@ -291,7 +295,7 @@ $bath = {
 
 		dynamic $brit
 	end
-	killvar 'noShampoo_tmp'
+	killvar 'noshampoo_tmp'
 }
 
 $SkinCare = {
@@ -305,7 +309,8 @@ $SkinCare = {
 			minut += 5
 			'<center><img <<$set_imgh>> src="images/shared/home/bathroom/skincare.jpg"></center>'
 			'You get out your skin care products and apply them, the creams feel cool and nice against your skin. You sometimes wonder if all this effort and money is worth it, but one look in the mirror at your skin and you figure it is.'
-			
+
+
 			gs 'body', 'SkinGain', 'Moisturizer'
 			gs 'stat'
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
@@ -332,7 +337,7 @@ $brit = {
 							$shave_txt1 = 'You do your legs first before lathering up your crotch and taking a razor to the bush growing there. After a few minutes of shaving, you take a moment to inspect yourself, making sure you got everything.'
 							$shave_txt2 = 'Satisfied there isn''t even a single hair left, you rinse yourself off, enjoying the newfound smoothness of your pussy.'
 						else
-							$shave_txt1 = 'You lather up your legs and crotch, grabbing your razor and carefully scraping away stubble that is growing from them.' 
+							$shave_txt1 = 'You lather up your legs and crotch, grabbing your razor and carefully scraping away stubble that is growing from them.'
 							$shave_txt2 = 'After a few minutes of work, you take a moment to inspect yourself, making sure you got every last pube and there isn''t even a bit of stubble left. Satisfied, you rinse yourself off, smiling in relief that your pussy is silky smooth once again.'
 						end
 					elseif (pubestyle >= 2 and pubestyle <= 8) or pubestyle >= 12:
@@ -360,7 +365,7 @@ $brit = {
 					elseif pubestyle = 11:
 						$shave_act = 'Shave your legs and pussy'
 						if pcs_pubes <= 10:
-							$shave_txt1 = 'You do your legs first before realizing that the stubble growing around your pussy is starting to become irritating and you can''t put it off any longer. Lathering yourself up, you grab your razor and carefully scrape away the rough itchy hairs have been bothering you so.' 
+							$shave_txt1 = 'You do your legs first before realizing that the stubble growing around your pussy is starting to become irritating and you can''t put it off any longer. Lathering yourself up, you grab your razor and carefully scrape away the rough itchy hairs have been bothering you so.'
 							$shave_txt2 = 'After a few minutes of work, you take a moment to inspect yourself, making sure you got every last pube and there isn''t even a bit of stubble hiding in the folds of your crotch somewhere. Satisfied, you rinse yourself off, smiling in relief that your pussy is smooth once again.'
 						else
 							$shave_txt1 = 'You do your legs first before lathering up your crotch and taking a razor to the hair growing there. After a few minutes of shaving, you take a moment to inspect yourself, making sure you got every last pube and there isn''t even a bit of stubble hiding in the folds of your crotch somewhere. Satisfied, you rinse yourself off, enjoying the newfound smoothness of your pussy.'
@@ -368,7 +373,8 @@ $brit = {
 					else
 						$shave_act = ''
 					end
-				
+
+
 					if $shave_act ! '':
 						act '<<$shave_act>> (0:15)':
 							menu_off = 1
@@ -415,7 +421,7 @@ $brit = {
 				if pubestyle = 1:
 					$shave_act = 'Shave your pussy'
 					if pcs_pubes <= 10:
-						$shave_txt1 = 'You lather up yourself up, and grab your razor, carefully scraping away stubble that is growing from your crotch.' 
+						$shave_txt1 = 'You lather up yourself up, and grab your razor, carefully scraping away stubble that is growing from your crotch.'
 						$shave_txt2 = 'After a few minutes of work, you take a moment to inspect yourself, making sure you got every last pube and there isn''t even a bit of stubble hiding in the folds of your crotch somewhere. Satisfied, you rinse yourself off, smiling in relief that your pussy is silky smooth once again.'
 					else
 						$shave_txt1 = 'You lather up your crotch and take a razor to the hair growing there. After a few minutes of shaving, you take a moment to inspect yourself, making sure you got every last pube and there isn''t even a bit of stubble hiding in the folds of your crotch somewhere. Satisfied, you rinse yourself off, enjoying the newfound smoothness of your pussy.'
@@ -716,7 +722,7 @@ $publicpan = {
 	!! Changing into a different outfit for prostitution
 	if prostitute['active'] = 1 and ARGS[1] ! 'no_prost' and $loc ! 'gschool_break':
 		gs 'prostitution_functions', 'work_clothes'
-		if  prostitute['work_clothes'] = 0 and prostitute['outfit_is_set']: 
+		if  prostitute['work_clothes'] = 0 and prostitute['outfit_is_set']:
 			act 'Change into prostitute outfit': gt 'prostitution_functions', 'change_to_work', 'restroom'
 		elseif prostitute['work_clothes'] and prostitute['changed_for_work']:
 			act 'Change into your regular clothes': gt 'prostitution_functions', 'change_back', 'restroom'
@@ -909,7 +915,8 @@ $basin = {
 			act 'Continue': menu_off = 0 & gt $loc, $loc_arg
 		end
 	end
-	
+
+
 	if KandidozOnce = 1 and KandidNapr > 0:
 		act 'Use antifungal Medication':
 			*clr & cla
@@ -1072,9 +1079,9 @@ if $ARGS[0] = 'private':
 		end
 	end
 
-	if mc_inventory['chaffing_cream'] > 0: 'On a shelf is a tube of ointment for chafing, which will be enough for <b><<mc_inventory[''chaffing_cream'']>></b> applications.'
-	if mc_inventory['moisturiser'] > 0: 
-		'You look at your moisturiser and think you have about <<mc_inventory[''moisturiser'']>> applications left.'
+	if mc_inventory['chafing_cream'] > 0: 'On a shelf is a tube of ointment for chafing, which will be enough for <b><<mc_inventory[''chafing_cream'']>></b> applications.'
+	if mc_inventory['moisturiser'] > 0:
+		'You look at your moisturiser and think you have about <b><<mc_inventory[''moisturiser'']>></b> applications left.'
 	end
 	if mc_inventory['tampons'] =  0 and mc_inventory['sanitary_pads'] = 0:
 		'<b><font color="red">You have no feminine hygiene products left.</font></b>'
@@ -1086,7 +1093,8 @@ if $ARGS[0] = 'private':
 	elseif mc_inventory['tampons'] > 0:
 		'You have <b><<mc_inventory[''tampons'']>></b> tampons.'
 	end
-	
+
+
 	if mc_inventory['sanitary_pads'] = 1 and tampon['warning'] ! daystart:
 		tampon['warning'] = daystart
 		msg'<font color="red">You only have <b><<mc_inventory[''sanitary_pads'']>></b> pad left!</font>'
@@ -1097,7 +1105,8 @@ if $ARGS[0] = 'private':
 	end
 
 	'Your deodorant will last you for <b><<mc_inventory[''deodorant'']>></b> more '+iif(mc_inventory['deodorant'] =  1, 'application.', 'applications.')
-	
+
+
 	if $ARGS[1] = 'hotelroom':
 		dynamic $shower
 		if $ARGS[2] = 'bath': dynamic $bath
@@ -1140,6 +1149,13 @@ if $ARGS[0] = 'private':
 		end
 	end
 
+	if mc_inventory['hair_extensioncream'] > 0:
+		'<a href="exec:gs ''drugs'', ''hair_extensioncream'' & gt $loc, $loc_arg">Apply hair extension shampoo.</a> Uses left: <<mc_inventory[''hair_extensioncream'']>>.'
+	end
+	if mc_inventory['butt_injection'] > 0:
+		'<a href="exec:gs ''drugs'', ''butt_injection'' & gt $loc, $loc_arg">Inject the KBI butt enhancement shot.</a> Uses left: <<mc_inventory[''butt_injection'']>>.'
+	end
+
 	if mc_inventory['breastcream'] > 0:
 		'<a href="exec:gs ''drugs'', ''breastcream'' & gt $loc, $loc_arg">Apply breast cream.</a> Uses left: <<mc_inventory[''breastcream'']>>.'
 	end
@@ -1200,17 +1216,18 @@ if $ARGS[0] = 'private':
 	dynamic $brit
 
 	dynamic $enema
-	
+
+
 	dynamic $palelady
 
 
-	if mc_inventory['chaffing_cream'] > 0 and mosol > 0 and mosal_time <= totminut:
+	if mc_inventory['chafing_cream'] > 0 and mosol > 0 and mosal_time <= totminut:
 		act 'Rub ointment onto your pussy (0:05)':
 			cla
 			menu_off = 1
 			mosal_time = totminut + 600
 			minut += 5
-			mc_inventory['chaffing_cream'] -= 1
+			mc_inventory['chafing_cream'] -= 1
 			mosol -= 5
 			gs 'stat'
 			'You take a tube of cream and rub it onto your itchy vulva.'
@@ -1271,7 +1288,8 @@ if $ARGS[0] = 'private':
 				*nl
 				'The test shows one band. You are not pregnant.'
 				act 'Sigh in relief': gt 'din_van', 'ReliefReact'
-				
+
+
 				act 'Sigh in disappointment': gt 'din_van', 'DisappointedReact'
 			end
 
@@ -1795,7 +1813,8 @@ if $ARGS[0] = 'shave_options':
 
 	!! ROW 1: IMAGES
 		*p '<TR><TD><center><a href="exec:view''images/pc/body/pussy/hair/pussy.jpg''"><img Height = <<shave_img_hgt>> src="images/pc/body/pussy/hair/pussy.jpg"></a></center></TD>'
-		
+
+
 		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 2)
 		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
 
@@ -1856,7 +1875,8 @@ if $ARGS[0] = 'shave_options':
 
 		$temp_pube_image = FUNC('$pube_image', 26, pcs_pubecol[2], 10)
 		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD></TR>'
-	
+
+
 	!! ROW 2: TEXT
 		*p '<TR><TD><center>'
 		if pubestyle ! 6 and pcs_pubes > 15:

+ 73 - 13
locations/drugs.qsrc

@@ -22,6 +22,8 @@ if $ARGS[0] = 'cikl':
 	gs 'drugs', 'cocaine', 'cikl'
 	gs 'drugs', 'mentats', 'cikl'
 	gs 'drugs', 'aphrodisiac', 'cikl'
+	gs 'drugs', 'hair_extensioncream', 'cikl'
+	gs 'drugs', 'butt_injection', 'cikl'
 
 elseif $ARGS[0] = 'hourly_events':
 	gs 'drugs', 'smoke', 'hourly_events'
@@ -74,7 +76,7 @@ elseif $ARGS[0] = 'smoke':
 			drugVars['cigarettes_used'] += 1
 			if drugVars['cigarettes_used'] > 20 and drugVars['cigarettes_exp'] = 0: drugVars['cigarettes_exp'] = 1
 		end
-		
+
 		stat['cigarettes_smoked'] += 1
 		drugVars['cigarettes_day'] = daystart
 		drugVars['cigarettes_hour'] = hour
@@ -96,7 +98,7 @@ elseif $ARGS[0] = 'smoke':
 		gs 'stat'
 	end
 
-	
+
 elseif $ARGS[0] = 'joint':
 	if $ARGS[1] = 'hourly_events':
 		if drugVars['weed_high'] > 0: drugVars['weed_high'] -= 1
@@ -137,16 +139,16 @@ elseif $ARGS[0] = 'joint':
 
 elseif $ARGS[0] = 'heroin':
 	if $ARGS[1] = 'hourly_events':
-		if drugVars['heroin_high'] > 0: 
+		if drugVars['heroin_high'] > 0:
 			pcs_mood -= (40 / drugVars['heroin_high'])
 			drugVars['heroin_high'] -= 1
 		end
 
-		if drugVars['heroin_need'] > 0 and pcs_mood > 10: 
+		if drugVars['heroin_need'] > 0 and pcs_mood > 10:
 			drugVars['heroin_need'] += 1
 			pcs_mood -= pcs_mood / 10
 		end
-		if drugVars['heroin_need'] > 100 and drugVars['heroin_high'] <= 0: 
+		if drugVars['heroin_need'] > 100 and drugVars['heroin_high'] <= 0:
 			drugVars['heroin_need'] = 0
 			drugVars['heroin_used'] = 0
 		end
@@ -189,7 +191,7 @@ elseif $ARGS[0] = 'cocaine':
 	elseif $ARGS[1] = 'hourly_events':
 		if drugVars['cocaine_addict'] = 1 and drugVars['cocaine_day'] ! daystart:
 			pcs_health -= 5
-			
+
 			!! Changed from pcs_mood > 40 -> pcs_mood > 45 to avoid pcs_mood becoming lower than 5. Blame Anjuna
 			if pcs_mood > 45:
 				pcs_mood -= 40
@@ -246,7 +248,7 @@ elseif $ARGS[0] = 'amphetamine':
 			end
 		end
 
-		if drugVars['amphetamine_withdrawl'] >= 5: 
+		if drugVars['amphetamine_withdrawl'] >= 5:
 			drugVars['amphetamine_withdrawl'] += 1
 			pcs_mood -= (drugVars['amphetamine_withdrawl'] / 5)
 		end
@@ -275,7 +277,7 @@ elseif $ARGS[0] = 'amphetamine':
 			drugVars['amphetamine_bonus'] = 1
 		end
 
-		if drugVars['amphetamine_withdrawl'] > 169: 
+		if drugVars['amphetamine_withdrawl'] > 169:
 			drugVars['amphetamine_withdrawl'] = 1
 			drugVars['amphetamine_bonus'] = 1
 			drugVars['amphetamine_used'] = 0
@@ -299,7 +301,7 @@ elseif $ARGS[0] = 'amphetamine':
 				mc_inventory['amphetamine'] -= 1
 				if mc_inventory['amphetamine'] <= 0: mc_inventory['amphetamine'] = 0 & msg 'That was your last amphetamine pill.'
 			end
-			if cheatVars['drugs_immune'] = 0: 
+			if cheatVars['drugs_immune'] = 0:
 				drugVars['amphetamine_used'] += 1
 				if drugVars['amphetamine_used'] > 5 and drugVars['amphetamine_exp'] = 0: drugVars['amphetamine_exp'] = 1
 			end
@@ -362,7 +364,7 @@ elseif $ARGS[0] = 'breastcream':
 			drugVars['breastcream_dose'] = 0
 
 			temp = pcs_mass['bust'] - pcs_mass['bust_gen']
-			temp = rand(0, 5 + max(0, temp)) / max(1, temp)
+			temp = rand(0, 10 + max(0, temp)) / max(1, temp)
 
 			if temp > 0:
 				bodyVars['bust_other'] += 1
@@ -407,12 +409,12 @@ elseif $ARGS[0] = 'alcohol':
 			pain['relief'] = 15
 		end
 	else
-		if cheatVars['drugs_immune'] = 0: 
+		if cheatVars['drugs_immune'] = 0:
 			drugVars['alcohol_used'] += 1
 			if drugVars['alcohol_used'] > 15 and drugVars['alcohol_exp'] = 0: drugVars['alcohol_exp'] = 1
-		end	
+		end
 
-		if ARGS[2] <= 1: 
+		if ARGS[2] <= 1:
 			temp_alc_count = 1
 		else
 			temp_alc_count = ARGS[2]
@@ -567,6 +569,64 @@ elseif $ARGS[0] = 'aphrodisiac':
 		end
 		gs 'stat'
 	end
+elseif $ARGS[0] = 'hair_extensioncream':
+	if $ARGS[1] = 'cikl':
+		if drugVars['hair_extensioncream_dose'] >= 1:
+			drugVars['hair_extensioncream_dose'] = 0
+
+			if pcs_hairlng < 999:
+				pcs_hairlng += 2
+				'Feels like your hair has grown slightly.'
+			end
+		end
+	else
+		if drugVars['hair_extensioncream_dose'] < 1:
+			'<font color = #DB7093>You smear the shampoo into your hair and rub it in, then wash it out shortly later.</font>'
+
+			if ARGS[1] = 0 and $ARGS[1] = '':
+				mc_inventory['hair_extensioncream'] -= 1
+				if mc_inventory['hair_extensioncream'] <= 0: mc_inventory['hair_extensioncream'] = 0 & msg 'That was your last bit of hair extension shampoo.'
+			end
+
+			drugVars['hair_extensioncream_used'] += 1
+			drugVars['hair_extensioncream_dose'] = 1
+		else
+			'Using any more hair extension shampoo won''t have any effect.'
+		end
+		gs 'stat'
+	end
+
+elseif $ARGS[0] = 'butt_injection':
+	if $ARGS[1] = 'cikl':
+		if drugVars['butt_injection_dose'] >= 1:
+			drugVars['butt_injection_dose'] = 0
+
+			temp = pcs_mass['butt'] - pcs_mass['butt_gen']
+			temp = rand(0, 10 + max(0, temp)) / max(1, temp)
+
+			if temp > 0:
+				bodyVars['butt_other'] += 1
+				'Feels like your butt has grown slightly.'
+			end
+			killvar 'temp'
+		end
+	else
+		if drugVars['butt_injection_dose'] < 1:
+			'<font color = #DB7093>You inject the KBI formula into your ass.</font>'
+
+			if ARGS[1] = 0 and $ARGS[1] = '':
+				mc_inventory['butt_injection'] -= 1
+				if mc_inventory['butt_injection'] <= 0: mc_inventory['butt_injection'] = 0 & msg 'That was your last KBI shot.'
+			end
+
+			drugVars['butt_injection_used'] += 1
+			drugVars['butt_injection_dose'] = 1
+		else
+			'Using any more injections won''t have any effect.'
+		end
+		gs 'stat'
+	end
+
 else
 	'<br><font color = red>Developer note: The type of drug is wrong or missing in this scene. Please report this and a small part of the text of the current scene as a bug.</font>'
 end

+ 5 - 8
locations/emp_functions.qsrc

@@ -168,7 +168,7 @@ if $ARGS[0] = 'job_info':
 	$msg_body += '<p>Notes: ' + $emp_job_notes[j_id]+ '</p>'
 	$msg_body += '<p>Wages: ' + func('agentned', 'format_price_string', emp_job_wages[j_id]) + '<b>₽</b></p>'
 
-	msg '<<$msg_body>>'
+	msg $msg_body
 	killvar '$msg_body'
 end
 
@@ -300,17 +300,14 @@ if $ARGS[0] = 'gen_evt':
 	transient_evt_minutes = rand(0, 9)
 
 	!! Set as multiples of 60
-	if transient_evt_duration = '':
-		transient_evt_duration = rand(1,8)
-	end
-	!! logic check for when randomising event duration
+	if transient_evt_duration <= 0: transient_evt_duration = rand(1,8)
 
+	!! logic check for when randomising event duration
 	if transient_evt_duration + transient_evt_hour >= 22:
 		transient_evt_hour = 22 - transient_evt_duration
 	end
 
 	!! find a suitable date
-
 	srch_day_u = rnd_day + 7
 	if srch_day_u >= monthsend[transient_evt_month]:
 		srch_day_u = monthsend[transient_evt_month]
@@ -476,7 +473,7 @@ end
 
 if $ARGS[0] = 'evt_day_suffix':
 
-	if ARGS[1] ! '':
+	if ARGS[1] ! 0:
 		query_day = ARGS[1]
 	else
 		query_day = transient_evt_day
@@ -486,7 +483,7 @@ if $ARGS[0] = 'evt_day_suffix':
 	else
 		test_day = query_day
 	end
-	if transient_evt_day ! '':
+	if transient_evt_day ! 0:
 		if test_day => 4 and test_day <= 10:
 			$evt_suffix = 'th'
 		elseif test_day = 1 or test_day = 31:

+ 8 - 8
locations/event.qsrc

@@ -89,14 +89,14 @@ if $ARGS[0] = 'blow':
 				'<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:
-				
+
 				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.'
 			end
 		elseif haraklover[lover_number] = 2:
-			
+
 			spafinloc = 11
 			gs 'cum_manage'
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/facial/facial0,8.jpg"></center>'
@@ -166,7 +166,7 @@ if $ARGS[0] = 'dima':
 				end
 			else
 				act 'Make excuses and go (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-			end	
+			end
 			act 'Drink vodka': gt 'event', 'dima2'
 		end
 	end
@@ -418,7 +418,7 @@ if $ARGS[0] = 'dima17':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/city/dmitry/sex/dima6.jpg"></center>'
 	'You leave the bathroom in the buff, despite the instructions'
-	
+
 	act 'See Alex in the hall':
 		if runrnd < 9:
 			gt 'event', 'dima18'
@@ -519,7 +519,7 @@ if $ARGS[0] = 'dima32':
 		end
 	else
 		act 'Kick (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-	end	
+	end
 end
 if $ARGS[0] = 'dima33':
 	cla
@@ -580,7 +580,7 @@ if $ARGS[0] = 'dima36':
 	'<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'
 end
 if $ARGS[0] = 'dima37':
@@ -919,7 +919,7 @@ if $ARGS[0] = 'lesbi':
 	'<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 'moncheri', 'start'
+	act 'Turn away':gt 'shop_moncheri', 'start'
 	act 'Get acquainted':gt 'event', 'lesbi1'
 end
 
@@ -959,7 +959,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 'moncheri', 'start'
+	act 'Leave':gt 'shop_moncheri', 'start'
 end
 
 --- event ---------------------------------

+ 23 - 102
locations/events.qsrc

@@ -19,24 +19,6 @@ end
 
 if $ARGS[0] = 'read':
 	act 'Read a book':
-		killvar '$downlibrary'
-		$downlibrary['read'] = {
-			*clr & cla
-			menu_off = 1
-			if blizoruk = 500 or glassqw = 1:
-				glassqw = 1
-				msg '	The text blurs across the page. It seems you have poor eyesight. Maybe you should visit an ophthalmologist?'
-				gt $loc, $loc_arg
-			end
-			if pcs_nerd > 0:
-				lastread = totminut
-				lastreadday = daystart
-				pcs_nerd += 1
-			end
-			minut += 60
-			blizoruk += 1
-		}
-
 		*clr & cla
 		gs 'stat'
 		if $clothingworntype = 'nude' and $braworntype = 'none' and $pantyworntype = 'none':
@@ -51,7 +33,7 @@ if $ARGS[0] = 'read':
 
 		if f_book > 0:
 			if fantasybook <= 0:
-				if $lib_book_loaned = 'fantasy' and lib_book_read = 0:
+				if $lib_book_loaned = 'a fantasy novel' and lib_book_read = 0:
 					lib_book_read = 1
 				end
 				fantasybook = 5
@@ -63,13 +45,15 @@ if $ARGS[0] = 'read':
 
 		if fantasybook > 0:
 			act 'Read fantasy book. There are <<fantasybook * 100>> pages left (1:00)':
+				*clr & cla
+				menu_off = 1
 				fantasybook -= 1
 				if fantasybook = 0:
 					totalbook += 1
-					if lib_book_read = 1 and $lib_book_loaned = 'fantasy': lib_book_read = 2
+					if lib_book_read = 1 and $lib_book_loaned = 'a fantasy novel': lib_book_read = 2
 				end
 
-				dynamic $downlibrary['read']
+				gs 'library_functions', 'read_book'
 				gs 'stat'
 
 				if $clothingworntype = 'nude' and $braworntype = 'none' and $pantyworntype = 'none':
@@ -79,7 +63,7 @@ if $ARGS[0] = 'read':
 				else
 					'<center><img <<$set_imgh>> src="images/pc/activities/reading/bed_book_dressed.jpg"></center>'
 				end
-				
+
 				if pcs_nerd > 0:
 					pcs_mood = 100
 
@@ -103,10 +87,12 @@ if $ARGS[0] = 'read':
 
 		if womanbook > 0:
 			act 'Read Women''s Novel. There are <<womanbook * 100>> pages left (1:00)':
+				*clr & cla
+				menu_off = 1
 				womanbook -= 1
 				if womanbook = 0: totalbook += 1
 
-				dynamic $downlibrary['read']
+				gs 'library_functions', 'read_book'
 				gs 'stat'
 
 				if $clothingworntype = 'nude' and $braworntype = 'none' and $pantyworntype = 'none':
@@ -135,12 +121,14 @@ if $ARGS[0] = 'read':
 			end
 		end
 
-        if artembook > 0:
+		if artembook > 0:
 			act 'Read the book your borrowed from Artem. There are <<artembook * 100>> pages left (1:00) ':
+				*clr & cla
+				menu_off = 1
 				artembook -= 1
 				if artembook = 0:totalbook += 1
 
-				dynamic $downlibrary['read']
+				gs 'library_functions', 'read_book'
 				gs 'stat'
 
 				if $clothingworntype = 'nude' and $braworntype = 'none' and $pantyworntype = 'none':
@@ -166,7 +154,7 @@ if $ARGS[0] = 'read':
 			end
 
 		end
-		
+
 		if tractatus > 0:
 			act 'Study Aleksei''s magical discourse on unarmed combat. You feel that there are <<tractatus>> uses left (0:15) ':
 				if pcs_mana <= 400:
@@ -191,7 +179,7 @@ if $ARGS[0] = 'read':
 				else
 					'<center><img <<$set_imgh>> src="images/pc/activities/reading/bed_book_dressed.jpg"></center>'
 				end
-				
+
 				'As you read the strange text, the words blur and suddenly you are <i>inspired</i>. Your mind fill with new ideas and revelations, the defects in your combat form polished and the knows at how inflict the maximum level of pain at the minimal cost... sharpened.'
 
 				act 'Close the book':gt $loc, $loc_arg
@@ -206,18 +194,6 @@ if $ARGS[0] = 'read':
 		'You have no magazines to read.'
 	else
 		act 'Read a magazine':
-			killvar '$downlibrary'
-			$downlibrary['magazine'] = {
-				cla & *nl
-				if blizoruk = 500 or glassqw = 1:
-					glassqw = 1
-					msg '	The text blurs across the page. It seems you have poor eyesight. Maybe you should visit an ophthalmologist?'
-					gt $loc, $loc_arg
-				end
-				pcs_mood += 5
-				minut += 30
-			}
-			
 			*clr & cla
 			gs 'stat'
 			if $clothingworntype = 'nude' and $braworntype = 'none' and $pantyworntype = 'none':
@@ -229,65 +205,10 @@ if $ARGS[0] = 'read':
 			else
 				'<center><img <<$set_imgh>> src="images/pc/activities/reading/bed_magazine_dressed.jpg"></center>'
 			end
-			
-			if mc_inventory['mag_cooking'] = 1:
-				act 'Read your cooking magazine':
-					dynamic $downlibrary['magazine']
-					mc_inventory['mag_cooking'] = 0
-					'You relax for half an hour reading your cooking magazine.'
-					act 'Return':gt $loc, $loc_arg
-				end
-			end
 
-			if mc_inventory['mag_fashion'] = 1:
-				act 'Read your fashion magazine':
-					dynamic $downlibrary['magazine']
-					mc_inventory['mag_fashion'] = 0
-					gs 'exp_gain', 'makupskl', 1
-					'You relax for half an hour reading your fashion magazine.'
-					act 'Return':gt $loc, $loc_arg
-				end
-			end
+			gs 'library_functions', 'set_magazine_acts'
 
-			if mc_inventory['mag_computer'] = 1:
-				act 'Read your computing magazine':
-					dynamic $downlibrary['magazine']
-					mc_inventory['mag_computer'] = 0
-					gs 'exp_gain', 'compskl', 1 
-					'You relax for half an hour reading your computing magazine.'
-					act 'Return':gt $loc, $loc_arg
-				end
-			end
-
-			if mc_inventory['mag_biography'] = 1:
-				act 'Read your biographical magazine':
-					dynamic $downlibrary['magazine']
-					mc_inventory['mag_biography'] = 0
-					'You relax for half an hour reading your biographical magazine.'
-					act 'Return':gt $loc, $loc_arg
-				end
-			end
-
-			if mc_inventory['mag_knitting'] = 1:
-				act 'Read your knitting magazine':
-					dynamic $downlibrary['magazine']
-					mc_inventory['mag_knitting'] = 0
-					if pcs_sewng <= 100: gs 'exp_gain', 'sewng', rand(1,3)
-					'You relax for half an hour reading your knitting magazine.'
-					act 'Return':gt $loc, $loc_arg
-				end
-			end
-
-			if mc_inventory['mag_fitness'] = 1:
-				act 'Read your fitness magazine':
-					dynamic $downlibrary['magazine']
-					mc_inventory['mag_fitness'] = 0
-					'You relax for half an hour reading your fitness magazine.'
-					act 'Return':gt $loc, $loc_arg
-				end
-			end
-
-			act 'Return':gt $loc, $loc_arg
+			act 'Return': gt $loc, $loc_arg
 		end
 	end
 end
@@ -300,7 +221,7 @@ if $ARGS[0] = 'read_porn':
 			gt $loc, $loc_arg
 		end
 		*clr & cla
-		
+
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/magazines/porn.jpg"></center>'
 
 		if mc_inventory['mag_porn'] = 1:
@@ -383,9 +304,9 @@ if $ARGS[0] = 'pav_drug_dropoff':
 	'Cocaine: 2100 <b>₽</b>'
 	'Amphetamine: 600 <b>₽</b>'
 	'Weed: 300 <b>₽</b>'
-	
+
 	act 'Leave': gt 'pav_train_hall'
-	
+
 	if money >= 560:
 		act 'Buy and use heroin (560 <b>₽</b>)':
 			money -= 560
@@ -416,7 +337,7 @@ if $ARGS[0] = 'pav_drug_dropoff':
 	else
 		'You don''t have enough money to buy heroin.'
 	end
-	
+
 	if money >= 2100:
 		act 'Buy enough cocaine for 5 lines (1800 <b>₽</b>)':
 			money -= 2100
@@ -427,7 +348,7 @@ if $ARGS[0] = 'pav_drug_dropoff':
 	else
 		'You don''t have enough money to buy cocaine.'
 	end
-	
+
 	if money >= 600:
 		act 'Buy 5 Amphetamine (600 <b>₽</b>)':
 			money -= 600
@@ -437,7 +358,7 @@ if $ARGS[0] = 'pav_drug_dropoff':
 	else
 		'You don''t have enough money to buy amphetamine.'
 	end
-	
+
 	if money >= 300:
 		act 'Buy enough weed for 5 joints (300 <b>₽</b>)':
 			money -= 300

+ 6 - 21
locations/gad_field.qsrc

@@ -38,7 +38,7 @@ if $ARGS[0] = 'field':
 	if hour >= 7 and hour <= 20 and grandpaQW['chore_bale_hay'] = 1:'You see a crowd of people working on the field.'
 
 	act 'Head back to the road (0:10)':minut += 10 & gt 'gad_road', 'start'
-	
+
 	if hour >= 7 and hour <= 13 and grandpaQW['chore_bale_hay'] = 1:
 		act 'Spend the day helping to bale hay (6:00)':
 			gs 'food', 'm_meal'
@@ -97,24 +97,6 @@ if $ARGS[0] = 'horse':
 	end
 end
 
-killvar '$downlibrary'
-$downlibrary['read'] = {
-	*clr & cla
-	menu_off = 1
-	if blizoruk = 500 or glassqw = 1:
-		glassqw = 1
-		msg '	The text blurs across the page. It seems you have poor eyesight. Maybe you should visit an ophthalmologist?'
-		gt $loc, $loc_arg
-	end
-	if pcs_nerd > 0:
-		lastread = totminut
-		lastreadday = daystart
-		pcs_nerd += 1
-	end
-	minut += 60
-	blizoruk += 1
-}
-
 if $ARGS[0] = 'cow':
 	gs 'shortgs', 'setloc', 'gad_field', 'cow'
 	$location_type = 'secluded'
@@ -284,7 +266,7 @@ if $ARGS[0] = 'cow2':
 			menu_off = 1
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/cow_go.jpg"></center>'
 			'Grandpa looks at his watch and says it''s time to drive the herd near the forest. So the two of you begin to gather the herd and guide them toward the woods.'
-			
+
 			minut += 60
 			if temper >= 25 and sunWeather = 1:
 				pcs_hydra -= 12
@@ -477,7 +459,10 @@ if $ARGS[0] = 'set_nomira_acts':
 		end
 
 		act 'Read a book (1:00)':
-			dynamic $downlibrary['read']
+			*clr & cla
+			menu_off = 1
+			gs 'library_functions', 'read_book'
+
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_book'+rand(1,2)+'.jpg"></center>'
 			if temper >= 25: pcs_hydra -= 12
 			if pcs_nerd > 0:

+ 1 - 1
locations/gad_forest_lost.qsrc

@@ -425,7 +425,7 @@ if $ARGS[0] = 'finish':
 					foresteventrand = rand(1,3)
 				end
 				if foresteventrand = 1: minut += 30 & gt 'gad_forest', 'forest_edge'
-				if foresteventrand = 2: minut += 15 & gt 'gad_forest',' forest_outskirts'
+				if foresteventrand = 2: minut += 15 & gt 'gad_forest', 'forest_outskirts'
 				if foresteventrand = 3: gt 'gad_forest', 'forest_center'
 				if foresteventrand = 4: minut += 50 & gt 'gad_meadow', 'start'
 				if foresteventrand = 5: minut += 30 & gt 'gad_swamp_yard', 'start'

+ 5 - 3
locations/gad_gpbath.qsrc

@@ -25,6 +25,8 @@ if $ARGS[0] = 'start':
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/bana.jpg"></center>'
 	'A small room with a low, smoky ceiling, a small stove, a couple of stainless steel water tanks, and a blackened wooden shelf.'
 	'Grandma''s enema bulb is hidden behind some stuff on the shelf.'
+	'You can check your weight on your grandma''s old mechanical <a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bodyVars[''bmi_desc'']>></center>''">scales</a>.'
+	
 	gs 'stat'
 
 	gs 'gad_gpbath', 'set_leave_acts'
@@ -193,7 +195,7 @@ if $ARGS[0] = 'alone':
 	'There''s a small shaving <a href="exec:gt ''mirror'', ''start''">mirror</a> on the window sill, which you can use to ' +iif(pcs_hairbsh < 1,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair.'
 
 	!WD: heal chafe
-	if mc_inventory['chaffing_cream']>0:'On a shelf is a tube of ointment for chafing, which will be enough for <b><<mc_inventory[''chaffing_cream'']>></b> applications.'
+	if mc_inventory['chafing_cream']>0:'On a shelf is a tube of ointment for chafing, which will be enough for <b><<mc_inventory[''chafing_cream'']>></b> applications.'
 
 	if mc_inventory['tampons'] =  0 and mc_inventory['sanitary_pads'] = 0:
 		'<b><font color="red">You have no tampons left.</font></b>'
@@ -245,13 +247,13 @@ if $ARGS[0] = 'alone':
 	dynamic $toymanage
 	dynamic $enema
 
-	if mc_inventory['chaffing_cream'] > 0 and mosol > 0 and mosal_time <= totminut:
+	if mc_inventory['chafing_cream'] > 0 and mosol > 0 and mosal_time <= totminut:
 		act 'Rub ointment onto your pussy (0:05)':
 			cla
 			menu_off = 1
 			mosal_time = totminut + 600
 			minut += 5
-			mc_inventory['chaffing_cream'] -= 1
+			mc_inventory['chafing_cream'] -= 1
 			mosol -= 5
 			gs 'stat'
 			'You take a tube of cream and rub it onto your itchy vulva.'

文件差異過大導致無法顯示
+ 107 - 1601
locations/gad_gphouse.qsrc


+ 12 - 12
locations/gad_market.qsrc → locations/gad_store.qsrc

@@ -1,8 +1,8 @@
-# gad_market
+# gad_store
 
 
 *clr & cla
-gs 'shortgs', 'setloc', 'gad_market', ''
+gs 'shortgs', 'setloc', 'gad_store', ''
 $location_type = 'public_indoors'
 menu_off = 0
 
@@ -16,24 +16,24 @@ frost = 0
 *nl
 'As you approach the teller, you notice a rack full of magazines, cigarettes, and a few hygienic items.'
 *nl
-act 'Browse the aisles': gt 'gad_market', 'cart'
+act 'Browse the aisles': gt 'gad_store', 'cart'
 
-act 'Leave the market': minut += 5 & gt 'gadukino'
+act 'Leave the store': minut += 5 & gt 'gadukino'
 if grandmaQW['chore_groceries'] = 1:
 	act 'Gather the things on Grandma''s list (0:30)':
 		*clr & cla
 		minut += 30
 		gs 'stat'
-	
+
 		grandmaQW['chore_groceries'] = 2
 		grandmaQW['help_amount'] += 1
-	
+
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/market.jpg"></center>'
 		'You take out the list Grandma gave you and begin browsing the shelves for the items she needs. Finally, after about half an hour, you have gotten everything on the list.'
 		*nl
 		'You take your basket of goods to the teller and explain that you are getting these things for your grandmother.'
 		'"Of course! Go ahead and take these on home to her. Tell her I will be by this evening to pick up her payment. I know it''s hard for her to get out anymore..."'
-	
+
 		act 'Thank him and leave': minut += 5 & gt 'gadukino'
 		act 'Thank him and take the groceries back to your grandmother (0:10)': minut += 10 & gt 'gad_gphouse', 'grandma'
 	end
@@ -41,7 +41,7 @@ end
 
 
 if $ARGS[0] = 'cart':
-	$loc_s = 'gad_market'
+	$loc_s = 'gad_store'
 	$args_s = 'cart'
 	*clr & cla
 
@@ -52,15 +52,15 @@ if $ARGS[0] = 'cart':
 		exit
 	end
 
-	gs 'item_cart', 'shoppping_aisle', 'gad_market'
+	gs 'item_cart', 'shoppping_aisle', 'gad_store'
 	gs 'stat'
 	gs 'themes', 'indoors'
 	$backimage= 'images/locations/gadukino/village/market.jpg'
 
-	act 'Exit shopping cart': $backimage = '' & gt 'gad_market'
-	act 'Leave the market': minut += 5 & gt 'gadukino'
+	act 'Exit shopping cart': $backimage = '' & gt 'gad_store'
+	act 'Leave the store': minut += 5 & gt 'gadukino'
 end
 
 
---- gad_market ---------------------------------
+--- gad_store ---------------------------------
 

+ 22 - 33
locations/gad_swamphouse.qsrc

@@ -583,26 +583,7 @@ if $ARGS[0] = 'clothes_read_magazines':
 end
 
 if $ARGS[0] = 'stackmagazines':
-	killvar '$downlibrary'
-	$downlibrary['read'] = {
-		*clr & cla
-		menu_off = 1
-		if blizoruk = 500 or glassqw = 1:
-			glassqw = 1
-			msg '	The text blurs across the page. It seems you have poor eyesight. Maybe you should visit an ophthalmologist?'
-			gt 'gad_swamphouse', 'stackmagazines'
-		end
-		if pcs_nerd > 0:
-			lastread = totminut
-			lastreadday = daystart
-			pcs_nerd += 1
-		end
-		minut += 60
-		blizoruk += 1
-	}
-
-	cla
-	*clr
+	*clr & cla
 	menu_off = 1
 	minut += 1
 	gs 'stat'
@@ -612,7 +593,9 @@ if $ARGS[0] = 'stackmagazines':
 	'A stack of all kinds of magazines, there''s even one with "interesting" pictures.'
 
 	act 'Read the scientific journal (1:00)':
-		dynamic $downlibrary['read']
+		*clr & cla
+		menu_off = 1
+		gs 'library_functions', 'read_book'
 		gs 'exp_gain', 'intel', 4
 		pcs_mood += 10
 		gs 'stat'
@@ -623,7 +606,9 @@ if $ARGS[0] = 'stackmagazines':
 		act 'Continue': gs 'gad_swamphouse', 'stackmagazines'
 	end
 	act 'Read the literary magazine (1:00)':
-		dynamic $downlibrary['read']
+		*clr & cla
+		menu_off = 1
+		gs 'library_functions', 'read_book'
 		gs 'exp_gain', 'intel', 4
 		pcs_mood += 10
 		gs 'stat'
@@ -634,7 +619,9 @@ if $ARGS[0] = 'stackmagazines':
 		act 'Continue': gs 'gad_swamphouse', 'stackmagazines'
 	end
 	act 'Read the entertainment magazine (1:00)':
-		dynamic $downlibrary['read']
+		*clr & cla
+		menu_off = 1
+		gs 'library_functions', 'read_book'
 		gs 'exp_gain', 'sprt', 4
 		pcs_mood += 10
 		gs 'stat'
@@ -647,23 +634,25 @@ if $ARGS[0] = 'stackmagazines':
 	act 'Read the porn magazine (1:00)':
 		*clr & cla
 		menu_off = 1
-		if blizoruk = 500 or glassqw = 1:
-			glassqw = 1
-			msg '	The text blurs across the page, it seems you have poor eyesight. Probably from all the porn. Maybe you should visit an ophthalmologist?'
-			gt 'gad_swamphouse', 'stackmagazines'
-		end
-		blizoruk += 1
+		gs 'library_functions', 'read_book', 'porn'
 		pcs_mood += 10
 		gs 'stat'
 
-		if $clothingworntype ! 'nude':'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/readpornomag.jpg"></center>'
-		if $clothingworntype = 'nude' and $pantyworntype ! 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/readpornomag_tanga.jpg"></center>'
-		if $clothingworntype = 'nude' and $pantyworntype = 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/readpornomag_nude.jpg"></center>'
+		if $clothingworntype ! 'nude':
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/readpornomag.jpg"></center>'
+		elseif $pantyworntype ! 'none':
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/readpornomag_tanga.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/readpornomag_nude.jpg"></center>'
+		end
+
 		*nl
 		'You flip through the porn magazine, reading the stories and looking at pictures, when suddenly you realize you''ve started touching yourself.'
-		gs 'arousal', 'porn', 60
+
+		gs 'arousal', 'porn', -60
 		gs 'arousal', 'end'
 		gs 'stat'
+
 		act 'Continue': gs 'gad_swamphouse', 'stackmagazines'
 	end
 	act 'Move away': gt 'gad_swamphouse', 'start'

+ 4 - 2
locations/gadukino.qsrc

@@ -127,12 +127,14 @@ if $ARGS[0] = '':
 		'In the center of the village is a small grass-covered square where villagers gather to meet and discuss or argue about politics or village life.'
 		'Near the square sits the old <a href="exec: minut += 3 & gt ''gad_church'',''start''">chapel</a>, it is not in the best shape, but it appears well-loved.'
 		if hour >= 8 and hour < 20:
-			'One of the buildings facing the square has a sign saying, <a href="exec: minut += 5 & gt ''gad_market''">General Store</a>. A sign on the door proclaims it "OPEN". It looks like the only place in the village to buy goods.'
-			act 'Go to the general store': minut += 5 & gt 'gad_market'
+			'One of the buildings facing the square has a sign saying, <a href="exec: minut += 5 & gt ''gad_store''">General Store</a>. A sign on the door proclaims it "OPEN". It looks like the only place in the village to buy goods.'
+			act 'Go to the general store': minut += 5 & gt 'gad_store'
 		else
 			'One of the buildings facing the square has a sign saying, General Store. A sign on the door proclaims it "CLOSED". It looks like the only place in the village to buy goods.'
 		end
 
+		if (week = 4 or week = 7) and hour >= 6 and hour <= 20: act 'Go to the nearby farmers market': gt 'gad_sundaymarket', 'start'
+
 		act 'Walk to the forest road (0:10)': minut += 10 & gt 'gad_road', 'start'
 		act 'Walk to the highway (0:15)': minut += 15 & nroad = 10 & gt 'road'
 		if hour >= 6 and hour < 20:

+ 15 - 15
locations/goplust.qsrc

@@ -108,7 +108,7 @@ $namgop[0] = ''
 $gopnik = ''
 
 if gopV = 1:
-	$gopnik += '<<$gopV>>'
+	$gopnik += $gopV
 	if gopB + gopVi + gopK + gopU + gopS > 1:
 		$gopnik += ', '
 	elseif gopB + gopVi + gopK + gopU + gopS = 1:
@@ -117,7 +117,7 @@ if gopV = 1:
 end
 
 if $namgop[1] ! '':
-	$namgop[0] += '<<$namgop[1]>>'
+	$namgop[0] += $namgop[1]
 	if namgop[2] + namgop[3] + namgop[4] + namgop[5] + namgop[6] > 1:
 		$namgop[0] += ', '
 	elseif namgop[2] + namgop[3] + namgop[4] + namgop[5] + namgop[6] = 1:
@@ -126,7 +126,7 @@ if $namgop[1] ! '':
 end
 
 if gopB = 1:
-	$gopnik += '<<$gopB>>'
+	$gopnik += $gopB
 	if gopVi + gopK + gopU + gopS > 1:
 		$gopnik += ', '
 	elseif gopVi + gopK + gopU + gopS = 1:
@@ -135,7 +135,7 @@ if gopB = 1:
 end
 
 if $namgop[2] ! '':
-	$namgop[0] += '<<$namgop[2]>>'
+	$namgop[0] += $namgop[2]
 	if namgop[3] + namgop[4] + namgop[5] + namgop[6] > 1:
 		$namgop[0] += ', '
 	elseif namgop[3] + namgop[4] + namgop[5] + namgop[6] = 1:
@@ -144,7 +144,7 @@ if $namgop[2] ! '':
 end
 
 if gopVi = 1:
-	$gopnik += '<<$gopVi>>'
+	$gopnik += $gopVi
 	if gopK + gopU + gopS > 1:
 		$gopnik += ', '
 	elseif gopK + gopU + gopS = 1:
@@ -152,8 +152,8 @@ if gopVi = 1:
 	end
 end
 
-if namgop[3] ! '':
-	$namgop[0] += '<<$namgop[3]>>'
+if $namgop[3] ! '':
+	$namgop[0] += $namgop[3]
 	if namgop[4] + namgop[5] + namgop[6] > 1:
 		$namgop[0] += ', '
 	elseif namgop[4] + namgop[5] + namgop[6] = 1:
@@ -162,7 +162,7 @@ if namgop[3] ! '':
 end
 
 if gopK = 1:
-	$gopnik += '<<$gopK>>'
+	$gopnik += $gopK
 	if gopU + gopS > 1:
 		$gopnik += ', '
 	elseif gopU + gopS = 1:
@@ -170,8 +170,8 @@ if gopK = 1:
 	end
 end
 
-if namgop[4] ! '':
-	$namgop[0] += '<<$namgop[4]>>'
+if $namgop[4] ! '':
+	$namgop[0] += $namgop[4]
 	if namgop[5] + namgop[6] > 1:
 		$namgop[0] += ', '
 	elseif namgop[5] + namgop[6] = 1:
@@ -180,18 +180,18 @@ if namgop[4] ! '':
 end
 
 if gopU = 1:
-	$gopnik += '<<$gopU>>'
+	$gopnik += $gopU
 	if gopS = 1:$gopnik += ' and '
 end
 
-if namgop[5] ! '':
-	$namgop[0] += '<<$namgop[5]>>'
+if $namgop[5] ! '':
+	$namgop[0] += $namgop[5]
 	if namgop[6] = 1:$gopnik += ' and '
 end
 
-if gopS = 1:$gopnik += '<<$gopS>>'
+if gopS = 1:$gopnik += $gopS
 
-if namgop[6] ! '':$namgop[0] += '<<$namgop[6]>>'
+if $namgop[6] ! '':$namgop[0] += $namgop[6]
 
 $namgop[0] += ' strip off your clothes and get out their members'
 

+ 53 - 0
locations/gp_elene_schedule.qsrc

@@ -0,0 +1,53 @@
+# gp_elene_schedule
+!! Date Created: 15th May, 2024
+!! Version: .01
+!! Author: Myles Croft
+!!
+!! Sveta''s Grandmother in Gad npc id A31
+!!
+$locat['elene'] = ''
+
+!! scheduled weekday events.
+
+if week <= 7:
+    if (hour > 5 and hour < 7) or (hour  = 12 or hour = 13) or hour = 18:
+        $locat['elene'] = 'kitchen'
+    end
+    if day ! 7 and hour = 13:
+        $locat['elene'] = 'sauna'
+    end
+    if (hour >= 14 and  hour <= 17) or (hour >= 19 and hour <= 20):
+        $locat['elene'] = 'lounge'
+    end
+    if hour > 21 and hour  < 6:
+        $locat['elene'] = 'bed'
+    end
+end
+if day <= 3 and (hour >= 8 and hour <= 11):
+    loc_switch = rand(0,1)
+    if loc_switch = 0 and sunWeather = 1:
+        $locat['elene'] = 'garden'
+    else
+        $locat['elene'] = 'lounge'
+    end
+    killvar 'loc_switch'
+end
+if week = 6 or week = 7:
+    if day = 6 and (hour = 19 or hour = 20):
+        $locat['elene'] = 'church'
+    end
+    if  day = 7 and (hour >= 9 or hour <= 11):
+        $locat['elene'] = 'church'
+    end
+    if day =  7 and (hour  = 13 or hour = 14):
+        $locat['elene'] = 'kitchen'
+    end
+end
+
+if (day = 5 or day = 6) and (hour >= 8 or hour <= 11):
+    $locat['elene'] = 'village'
+elseif day = 7 and hour = 8:
+    $locat['elene'] = 'village'
+end
+
+--- gp_elene_schedule ---------------------------------

+ 2 - 2
locations/grandmahelp.qsrc

@@ -128,7 +128,7 @@ if $ARGS[0] = 'groceries':
 
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/izba.jpg"></center>'
 		'Your grandmother shuffles around, looking for her list for a few minutes, finally finding it and giving it to you. You grab a basket and set out for the store.'
-		act 'Continue': gt 'gad_market'
+		act 'Continue': gt 'gad_store'
 	end
 end
 
@@ -255,7 +255,7 @@ if $ARGS[0] = 'feedchickens':
 		'You take the grain mix for the chickens and walk to the yard.'
 
 		act 'Continue': gt 'gad_gpyard','chickens'
-		
+
 	end
 end
 

+ 20 - 20
locations/gschool_chats.qsrc

@@ -27,7 +27,7 @@ if $ARGS[0] = 'nerds':
 	else
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/chat/nerd' + rand(1,3) + '.jpg"></center>'
 		if PCloStyle2 = 4:
-			if PCloInhibit <= 10:
+			if PCloInhibit <= 5:
 				grupvalue[3] += 1
 				if fame['pav_sex'] > 0: gs 'fame', 'pav', 'sex', -1
 				gs 'gschool_socialchg', 'group_rel_change', 'nerds', 1
@@ -51,7 +51,7 @@ if $ARGS[0] = 'nerds':
 					else
 						'You go to the classrooms that the nerdy students like to hang out in and find them, as always, all nerding around a table talking and engaging in various personal projects. Several of them look up as you walk closer. Artem and Petka both seem to be struggling to hide their judgmental stares about your choice of uniform and you don''t find the look Julia has in her eyes all that comforting either.'
 					end
-				elseif CloStyle = 2:
+				elseif PCloStyle = 2:
 					grupvalue[3] -= 1
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
@@ -73,7 +73,7 @@ if $ARGS[0] = 'nerds':
 				*nl
 				gs 'gschool_groups', 'nerds'
 			elseif PCloSkirt = 5 and PCloThinness < 5 and PCloBra = 0:
-				if PCloInhibit >= 35:
+				if PCloInhibit >= 35 or PCloTopCut = 4:
 					grupvalue[3] -= 1
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
 					if soniaPS > 0: gs 'npc_relationship', 'modify', 'A25', 'like'
@@ -83,7 +83,7 @@ if $ARGS[0] = 'nerds':
 					else
 						'You go to the classrooms that the nerdy students like to hang out in and find them, as always, all nerding around a table talking and engaging in various personal projects. Several of them look up as you walk closer. Artem and Petka both seem to be struggling to hide their judgmental stares about your choice of uniform and you don''t find the look Julia has in her eyes all that comforting either.'
 					end
-				elseif CloStyle = 2:
+				elseif PCloStyle = 2:
 					grupvalue[3] -= 1
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
@@ -166,13 +166,13 @@ if $ARGS[0] = 'gopniks':
 					grupvalue[4] -= 10
 					gs 'gschool_socialchg', 'group_rel_change', 'gopniks', -5
 					gs 'npc_relationship', 'modify', 'A189', 5
-					
+
 					'You head to the stairwell that you and your fellow gopniks like to gather in and find them leaning against the wall or sitting on the stairs engaged in a variety of conversations.'
 					'A few of them stare at you before Dan laughs and Lavrenti speaks up. "What are you wearing?" They seem stunned at your uniform as Anushka chimes in. "Please tell me you just lost some kind of bet?" Several others comment, all expressing displeasure at your choice of uniform. After a few minutes of ridicule, they finally lose interest in you, but you can tell you lost their respect and maybe more today.'
 				else
 					grupvalue[4] -= 5
 					gs 'gschool_socialchg', 'group_rel_change', 'gopniks', -2
-					
+
 					'You head to the stairwell that the gopniks like to gather in and find them leaning against the wall or sitting on the stairs engaged in a variety of conversations.'
 					'A few of them stare at you before Radomir speaks up. "Are you lost or something?" Pauline then chimes in, pointing back the way you came. "The nerds are back that way, loser." Several others also comment, all expressing displeasure at your choice of uniform. You feel very unwelcome among them, which makes you uneasy.'
 				end
@@ -227,7 +227,7 @@ if $ARGS[0] = 'gopniks':
 					gs 'npc_relationship', 'modify', 'A9', 'dislike'
 					pcs_mood -= 10
 					gs 'stat'
-					
+
 					'You head to the stairwell that '+iif(grupTipe = 4,'you and your fellow','the')+' gopniks like to gather in and find them leaning against the wall or sitting on the stairs engaged in a variety of conversations. As you approach, Dan stands up and whistles. "Hey there, slut. Why don''t you come over here and suck my dick?" Several of the other gopniks laugh and a few of the guys comment about being next in line. You feel yourself getting very nervous around them dressed the way you are and fear they might actually try something. No one comes down to this end of the school at this time of the day after all without a good reason.'
 					*nl
 					'Vitek stands up and shoves Dan up against the wall. "What did you say about my girl?"'
@@ -238,7 +238,7 @@ if $ARGS[0] = 'gopniks':
 					gs 'npc_relationship', 'modify', 'A9', 'hate'
 					pcs_mood -= 10
 					gs 'stat'
-					
+
 					'You head to the stairwell that '+iif(grupTipe = 4,'you and your fellow','the')+' gopniks like to gather in and find them leaning against the wall or sitting on the stairs engaged in a variety of conversations. As you approach, everyone notices you and when Vitek sees you, he tenses up and angrily walks over to you before grabbing you roughly by the arm and dragging you out of the stairwell. "What did I tell you about coming to school dressed like this? No girl of mine is going to walk around dressed like some slut. Now don''t come back to school dressed like this again!" He roughly shoves you into the wall and storms back to the other gopniks.'
 					act 'Leave': gt 'gschool_lessons', 'short_break'
 				elseif grupTipe = 4:
@@ -248,7 +248,7 @@ if $ARGS[0] = 'gopniks':
 				else
 					grupvalue[4] -= 5
 					gs 'fame', 'pav', 'sex', 3
-					
+
 					'You head to the stairwell that the gopniks like to gather in and find them leaning against the wall or sitting on the stairs engaged in a variety of conversations. As you approach, Dan stands up and whistles. "Hey there, slut. Why don''t you come over here and suck my dick?" Several of the other gopniks laugh and a few of the guys comment as well. "Like she came to see you Dan! She obviously came to throw herself at me," Radomir says. You feel yourself getting very nervous around them dressed the way you are and fear they might actually try something. No one comes down to this end of the school at this time of the day after all without a good reason.'
 					gs 'gschool_groups', 'gopniks'
 					act 'Leave': gt 'gschool_lessons', 'short_break'
@@ -293,7 +293,7 @@ if $ARGS[0] = 'cooljocks':
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/chat/cooljocks.jpg"></center>'
 		'When the break finally comes, the girls wander through the hallways of the school, gossiping about pretty much everyone they know while the guys are standing around in small groups, some of them sneaking off to have a smoke behind the school building.'
 		if PCloStyle2 = 4:
-			if PCloInhibit <= 10:
+			if PCloInhibit <= 5:
 				if fame['pav_sex'] > 0: gs 'fame', 'pav', 'sex', -1
 				grupvalue[1] -= 5
 				grupvalue[2] -= 3
@@ -341,7 +341,7 @@ if $ARGS[0] = 'cooljocks':
 					'As you approach, everyone is staring at you. Irina speaks up. "What on earth are you wearing? Forget to change out of your whoring clothes last night?" Several of the others laugh and you can sense the general feeling of agreement from the rest.'
 					'Dimka smirks. "Maybe she messed up the wash and her uniform shrunk, but she was too stupid to notice?"'
 					'Bella steps forward. "Looks like someone is looking for a good time." You hear several murmurs of agreement from the others. It looks like even Igor, Katja, Vicky, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+'Stasya, Albina, Lizaveta, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+'Svyatoslav, Christina, Lariska, Lina, Veronika, Lazar, Erast and Vanya appear to agree. They either give you the cold shoulder or refuse to meet your eyes. Feeling very unwelcome, you turn around and leave.'
-				elseif CloStyle = 2:
+				elseif PCloStyle = 2:
 					gs 'gschool_socialchg', 'group_rel_change', 'cool kids', -1
 					grupvalue[1] -= 5
 					gs 'gschool_socialchg', 'group_rel_change', 'jocks', -1
@@ -354,8 +354,8 @@ if $ARGS[0] = 'cooljocks':
 					gs 'npc_relationship', 'modify', 'A139', 'dislike'
 					gs 'npc_relationship', 'modify', 'A140', 'dislike'
 					'As you approach them, several of them give you once over, obviously noticing your uniform. "Someone''s trying hard to look tough," Stasya says with a smirk.'
-                    'Hearing this, Bella gives you a closer look. "It wouldn''t be so bad if it was a good quality."'
-                    '"Now Bella, you know her family can''t afford the finer things in life," Dimka adds. If not for the tone of his voice and the smirk, it would almost sound like he was defending you, but it comes across as more of an insult. Igor, Katja, Vicky, Irina, Albina, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+' Lizaveta, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+'Svyatoslav, Christina, Lariska, Lina, Veronika, Lazar, Erast and Vanya just stay out of it.'
+					'Hearing this, Bella gives you a closer look. "It wouldn''t be so bad if it was a good quality."'
+					'"Now Bella, you know her family can''t afford the finer things in life," Dimka adds. If not for the tone of his voice and the smirk, it would almost sound like he was defending you, but it comes across as more of an insult. Igor, Katja, Vicky, Irina, Albina, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+' Lizaveta, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+'Svyatoslav, Christina, Lariska, Lina, Veronika, Lazar, Erast and Vanya just stay out of it.'
 				elseif PCloQuality >= 4:
 					grupvalue[1] += 1
 					grupvalue[2] += 1
@@ -368,7 +368,7 @@ if $ARGS[0] = 'cooljocks':
 					if soniaPS = 0: gs 'npc_relationship', 'modify', 'A25', 1
 					gs 'npc_relationship', 'modify', 'A139', 1
 					gs 'npc_relationship', 'modify', 'A140', 1
-					'As you approach them, several of them give you approving looks. "Looking good <<$pcs_nickname>>! Where did you buy that uniform?" Stasya comments.' 
+					'As you approach them, several of them give you approving looks. "Looking good <<$pcs_nickname>>! Where did you buy that uniform?" Stasya comments.'
 					'"Yeah I like it, it looks very nice," Vicky adds. Katja, Irina, Albina, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+' Lizaveta and Bella all comment on how nice your outfit looks while Dimka, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+' and Svyatoslav talk among themselves. However, you do notice Igor seems to be somewhat paying attention, maybe at you in particular. Christina just pretends you don''t exist while she talks to Lina and Lariska while Veronika is reading something and seems to be entirely unaware of the conversation.'
 				else
 					'Dimka, Igor, Katja, Vicky, Irina, Albina, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+'Stasya, Lizaveta, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+'Svyatoslav, Lariska, Christina, Lina, Bella, Veronika, Lazar, Erast and Vanya are all gathered around the lockers.'
@@ -377,7 +377,7 @@ if $ARGS[0] = 'cooljocks':
 				gs 'gschool_groups', 'jocks'
 				act 'Leave': gt 'gschool_lessons', 'short_break'
 			elseif PCloSkirt = 5 and PCloThinness < 5 and PCloBra = 0:
-				if PCloInhibit >= 35:
+				if PCloInhibit >= 35 or PCloTopCut = 4:
 					gs 'fame', 'pav', 'sex', 5
 					gs 'gschool_socialchg', 'group_rel_change', 'cool kids', -1
 					grupvalue[1] -= 5
@@ -393,7 +393,7 @@ if $ARGS[0] = 'cooljocks':
 					'As you approach, everyone is staring at you. Irina speaks up. "What on earth are you wearing? Forget to change out of your whoring clothes last night?" Several of the others laugh and you can sense the general feeling of agreement from the rest.'
 					'Dimka smirks. "Maybe she messed up the wash and her uniform shrunk, but she was too stupid to notice?"'
 					'Bella steps forward. "Looks like someone is looking for a good time." You hear several murmurs of agreement from the others. It looks like even Igor, Katja, Vicky, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+'Stasya, Albina, Lizaveta, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+'Svyatoslav, Christina, Lariska, Lina, Veronika, Lazar, Erast and Vanya appear to agree. They either give you the cold shoulder or refuse to meet your eyes. Feeling very unwelcome, you turn around and leave.'
-				elseif CloStyle = 2:
+				elseif PCloStyle = 2:
 					gs 'gschool_socialchg', 'group_rel_change', 'cool kids', -1
 					grupvalue[1] -= 5
 					gs 'gschool_socialchg', 'group_rel_change', 'jocks', -1
@@ -406,16 +406,16 @@ if $ARGS[0] = 'cooljocks':
 					gs 'npc_relationship', 'modify', 'A139', 'dislike'
 					gs 'npc_relationship', 'modify', 'A140', 'dislike'
 					'As you approach them, several of them give you once over, obviously noticing your uniform. "Someone''s trying hard to look tough," Stasya says with a smirk.'
-                    'Hearing this, Bella gives you a closer look. "It wouldn''t be so bad if it was a good quality."'
-                    '"Now Bella, you know her family can''t afford the finer things in life," Dimka adds. If not for the tone of his voice and the smirk, it would almost sound like he was defending you, but it comes across as more of an insult. Igor, Katja, Vicky, Irina, Albina, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+' Lizaveta, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+'Svyatoslav, Christina, Lariska, Lina, Veronika, Lazar, Erast and Vanya just stay out of it.'
+					'Hearing this, Bella gives you a closer look. "It wouldn''t be so bad if it was a good quality."'
+					'"Now Bella, you know her family can''t afford the finer things in life," Dimka adds. If not for the tone of his voice and the smirk, it would almost sound like he was defending you, but it comes across as more of an insult. Igor, Katja, Vicky, Irina, Albina, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+' Lizaveta, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+'Svyatoslav, Christina, Lariska, Lina, Veronika, Lazar, Erast and Vanya just stay out of it.'
 				elseif PCloQuality >= 4:
 					gs 'gschool_socialchg', 'group_rel_change', 'cool kids', 1
 					grupvalue[1] += 2
 					gs 'gschool_socialchg', 'group_rel_change', 'jocks', 1
 					grupvalue[2] += 1
 					if soniaPS = 0: gs 'npc_relationship', 'modify', 'A25', 'like'
-					
-					'As you approach them, several of them give you approving looks. "Looking good <<$pcs_nickname>>! Where did you buy that uniform?" Stasya comments.' 
+
+					'As you approach them, several of them give you approving looks. "Looking good <<$pcs_nickname>>! Where did you buy that uniform?" Stasya comments.'
 					'"Yeah, looking sexy <<$pcs_nickname>>!" Vicky adds. Katja, Irina, Albina, '+iif(npc_grupTipe['A25'] ! 5, 'Sonia, ', '')+' Lizaveta and Bella all comment on how nice your outfit looks while Dimka, Marcus, Andrey, Mefodiy, Ivan, '+iif(npc_grupTipe['A5'] ! 5, 'Fedor, ', '')+' and Svyatoslav talk among themselves. However, you do notice Igor seems to be somewhat paying attention, maybe to you in particular. Christina just pretends you don''t exist while she talks to Lina and Lariska while Veronika is reading something and seems to be entirely unaware of the conversation.'
 				else
 					gs 'gschool_socialchg', 'group_rel_change', 'jocks', 1, 'male'

+ 5 - 4
locations/gschool_grounds.qsrc

@@ -89,7 +89,7 @@ if $ARGS[0] = 'main':
 			gs 'stat'
 
 			if func('homes_properties', 'has_access', 'parents_home'):
-				'Everyone from your year is assembled in the auditorium of the school. Your teachers are standing on a platform in front of several rows of chairs where you and your classmates are sitting. Some parents and siblings are sitting in the back rows. You turn your head and see your mother and your brother sitting among them.'				
+				'Everyone from your year is assembled in the auditorium of the school. Your teachers are standing on a platform in front of several rows of chairs where you and your classmates are sitting. Some parents and siblings are sitting in the back rows. You turn your head and see your mother and your brother sitting among them.'
 			else
 				'Everyone from your year is assembled in the auditorium of the school. Your teachers are standing on a platform in front of several rows of chairs where you and your classmates are sitting. Some parents and siblings are sitting in the back rows. Nobody from your family showed up.'
 			end
@@ -276,6 +276,7 @@ if $ARGS[0] = 'main':
 			!display friends in table if switch is on.
 			st_count=0 & $show_table=''
 			if anushkaQW['first_visit'] = 0 and meet_after_school = 1: gs 'show_table', '<a href="exec: gt ''anushka'', ''meet_after_school''">Anushka Konstantinov</a>', '5'
+			if radomirQW['first_visit'] = 0 and radomirQW['meet_after_school'] = 1: gs 'show_table', '<a href="exec: gt ''radapt'', ''meet_after_school''">Radomir</a>', '5'
 			if LariskaQW['story'] >= 5 and cheerleaders_on = 0: gs 'show_table', '<a href="exec:minut += 1 & gt ''LariskaGo''">Lariska Gruzdev</a>', '5'
 			if christinaQW['subpath'] >= 4 and cheerleaders_on = 0: gs 'show_table', '<a href="exec:minut += 1 & gt ''Zvereva_house_events'', ''Chris_walk_home''">Christina Zvereva</a>', '5'
 			if juliaQW['study_unlocked'] >= 1: gs 'show_table', '<a href="exec:minut += 1 & gt ''JuliaMilHome'', ''julia_go''">Julia Milova</a>', '5'
@@ -825,7 +826,7 @@ if $ARGS[0] = 'Family extension':
 					'"Hey, don''t worry about it. As I said well done, but I''d be interested to hear what''s going on with you so don''t worry about disturbing me."'
 					'"Okay, thanks Anya... I''ll try." You give her a hug.'
 				end
-				
+
 				'Your stepfather now joins the conversation. "Come on <<$pcs_nickname>>, get showered and changed and we''ll meet you outside. We''re all going out for dinner to celebrate."'
 				'"You don''t have to! I know money is tight and I''m already so happy you all took the time to come and support me. It means a lot."'
 				'"No, I insist. I''ve talked about this with your <<$npc_nickname[''A29'']>> and she agrees. It''s not often we get the chance to do something like this and we think that some quality family time would be good for all of us."'
@@ -929,7 +930,7 @@ if $ARGS[0] = 'Family extension':
 							'Unsure how to respond, you sigh. "Okay <<$npc_nickname[''A29'']>>, I''ll try. It''s just that it can get a bit overbearing."'
 							'Your mother continues. "Okay, let''s just try to get our relationship back to a good place. Please promise me that you''ll do your best in school too. Also, no matter what please know that you can always talk to me if something is worrying you. Please know that I do love you and want the best for you."'
 							'This is the closest you''ve felt to your mother for ages, so you get up and give her a hug. "Thanks <<$npc_nickname[''A29'']>>. I''m glad we had this chat to clear the air. I love you too and it''ll be good to have my <<$npc_nickname[''A29'']>> back." She hugs you back and you both finish your meals with some more relaxed conversation.'
-							'After that, you both feel much relieved and emotionally drained, but happier.'					
+							'After that, you both feel much relieved and emotionally drained, but happier.'
 						end
 						npc_rel['A29'] = 50
 						minut += 60
@@ -961,7 +962,7 @@ if $ARGS[0] = 'Family extension':
 				gs 'stat'
 				'<center><video autoplay loop src="images/shared/home/bathroom/dush.mp4"></video></center>'
 				'A few minutes later, you reappear showered and changed and head off to the station cafe.'
-				
+
 				act 'Have a drink with Anya':
 					*clr & cla
 					gs 'drugs', 'alcohol', 'beer', 4

+ 31 - 31
locations/gschool_lessons.qsrc

@@ -8,7 +8,7 @@ if $ARGS[0] = 'morning':
 	$location_type = 'public_indoors'
 	killvar '$locclass'
 	menu_off = 0
-	
+
 	if school_check_day ! daystart:
 		school_check_day = daystart
 		schoolprogul -= 1
@@ -24,7 +24,7 @@ if $ARGS[0] = 'morning':
 		if runnerQW['pav_racetype'] = 1: runnerQW['pav_racetype'] = 0
 		if hour < 8: gs 'gschool_socialchg', 'test'
 	end
-		
+
 	if $breaktype ! 'first':
 		if detention_set = 1 and week = 1:
 			detention_set = 2
@@ -39,7 +39,7 @@ if $ARGS[0] = 'morning':
 			act 'Continue down the hall': gt 'gschool_lessons', 'morning'
 		elseif week < 4 and class['first_grade_check'] = 0:
 			gt 'gschool_lessons', 'grade_check'
-		elseif (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
+		elseif week > 1 and (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
 			gt 'nerd_game_night', 'invite', 'morning'
 		else
 			gs 'gschool_gossip', 'morning'
@@ -82,7 +82,7 @@ if $ARGS[0] = 'uniform_check':
 			'<font color="red">This uniform complies with the regulations but is too risqué.</font>'
 		elseif PCloStyle = 2:
 			grupvalue[4] += 1
-			'<font color="blue">This uniform follows the school regulation on skirt length and is of a style that appeals to Gopniks.</font>'	
+			'<font color="blue">This uniform follows the school regulation on skirt length and is of a style that appeals to Gopniks.</font>'
 		elseif PCloQuality >= 4:
 			grupvalue[1] += 1
 			grupvalue[2] += 1
@@ -100,7 +100,7 @@ if $ARGS[0] = 'uniform_check':
 			'<font color="red">This uniform slightly breaches the school regulations and it is too risqué.</font>'
 		elseif PCloStyle = 2:
 			grupvalue[4] += 1
-			'<font color="blue">This uniform slightly breaches the school regulations on skirt length and is of a style that appeals to Gopniks.</font>'	
+			'<font color="blue">This uniform slightly breaches the school regulations on skirt length and is of a style that appeals to Gopniks.</font>'
 		elseif PCloQuality >= 4:
 			grupvalue[1] += 1
 			grupvalue[2] += 1
@@ -251,11 +251,11 @@ if $ARGS[0] = 'short_break':
 		act 'Go to next class': gt 'gschool_lessons', 'schedule'
 
 		act 'Skip next class': school_period += 1 & gt 'gschool_lessons', 'skip'
-		
+
 		if cheerleadingQW['skipped_ev'] + cheerleadingQW['skipped_g_ev'] > 0:
 			gs 'gschool_cheerleading', 'skipped_ev'
 			act 'Continue down the hall': gt 'gschool_lessons', 'short_break'
-		elseif (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
+		elseif week > 1 and (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
 			gt 'nerd_game_night', 'invite', 'short_break'
 		end
 	elseif Kuznetsov_punishment = 1:
@@ -371,61 +371,61 @@ if $ARGS[0] = 'grade_check':
 	end
 	*nl
 	gs 'grades', 'assing_grade_description', 'school'
-	
-	'Math: <<$class[''school_math_grade'']>> (<<class[''school_math_grade'']>>) Russian: <<$class[''school_rus_grade'']>> (<<class[''school_rus_grade'']>>) Literature: <<$class[''school_lit_grade'']>> (<<class[''school_lit_grade'']>>) Art: <<$class[''school_art_grade'']>> (<<class[''school_art_grade'']>>) Biology: <<$class[''school_bio_grade'']>> (<<class[''school_bio_grade'']>>) English: <<$class[''school_eng_grade'']>> (<<class[''school_eng_grade'']>>) Geography: <<$class[''school_geo_grade'']>> (<<class[''school_geo_grade'']>>) Science: <<$class[''school_sci_grade'']>> (<<class[''school_sci_grade'']>>) History: <<$class[''school_his_grade'']>> (<<class[''school_his_grade'']>>) Shop: <<$class[''school_shop_grade'']>> (<<class[''school_shop_grade'']>>) Computer: <<$class[''school_comp_grade'']>> (<<class[''school_comp_grade'']>>) Music: <<$class[''school_mus_grade'']>> (<<class[''school_mus_grade'']>>) P.E.: <<$class[''school_pe_grade'']>> (<<class[''school_pe_grade'']>>)' 
+
+	'Math: <<$class[''school_math_grade'']>> (<<class[''school_math_grade'']>>) Russian: <<$class[''school_rus_grade'']>> (<<class[''school_rus_grade'']>>) Literature: <<$class[''school_lit_grade'']>> (<<class[''school_lit_grade'']>>) Art: <<$class[''school_art_grade'']>> (<<class[''school_art_grade'']>>) Biology: <<$class[''school_bio_grade'']>> (<<class[''school_bio_grade'']>>) English: <<$class[''school_eng_grade'']>> (<<class[''school_eng_grade'']>>) Geography: <<$class[''school_geo_grade'']>> (<<class[''school_geo_grade'']>>) Science: <<$class[''school_sci_grade'']>> (<<class[''school_sci_grade'']>>) History: <<$class[''school_his_grade'']>> (<<class[''school_his_grade'']>>) Shop: <<$class[''school_shop_grade'']>> (<<class[''school_shop_grade'']>>) Computer: <<$class[''school_comp_grade'']>> (<<class[''school_comp_grade'']>>) Music: <<$class[''school_mus_grade'']>> (<<class[''school_mus_grade'']>>) P.E.: <<$class[''school_pe_grade'']>> (<<class[''school_pe_grade'']>>)'
 	*nl
 	'A grade of 1 means "Very Poor" and is generally only used for absence. 2 means "Unsatisfactory" and is also a falling grade. 3 means "Satisfactory" and is a passing grade. 4 means "Good". 5 means "Excellent" and is only given to the best students. (The number in the parenthesis is the variable grade, which is changed by your in-class actions and translated into the actual grade)'
 	*nl
-	
+
 	gs 'grades', 'grade above', 'school', 90
 	gs 'grades', 'grade above', 'school', 70
 	gs 'grades', 'grade above', 'school', 50
 	gs 'grades', 'grade above', 'school', 40
-	
+
 	if class['school_grades_above_90'] = 13:
 		'You''re getting top marks in all your classes. You''re one of the best, if not the best student in the entire school.'
-	elseif class['school_grades_above_90'] > 6 and class['school_grades_above_40'] = 13: 
+	elseif class['school_grades_above_90'] > 6 and class['school_grades_above_40'] = 13:
 		'You''re getting top marks in more than half your classes and aren''t failing any of the others. You''re one of the best students in the school.'
-	elseif class['school_grades_above_90'] > 6: 
+	elseif class['school_grades_above_90'] > 6:
 		'Even if you''re failing some of your classes, you''re getting top marks in more than half of them and are still one of the best students in the school. You should have no trouble getting into university.'
-	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_70'] = 13: 
+	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_70'] = 13:
 		'You''re only getting top marks in a few of your classes, but the rest of your grades are still good. You should have no trouble getting into university.'
-	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_70'] > 10 and class['school_grades_above_40'] =13: 
+	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_70'] > 10 and class['school_grades_above_40'] =13:
 		'You''re only getting top marks in some of your classes, but only a few of your grades are bad and you''re not failing any classes. You should have no trouble getting into university, but improving your grades wouldn''t hurt.'
-	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_70'] > 10: 
+	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_70'] > 10:
 		'You''re only getting top marks in a few of your classes and are failing others. You should improve your grades if you want to get into university.'
-	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_40'] = 13: 
+	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_40'] = 13:
 		'You''re only getting top marks in some of your classes and a lot of bad grades, but you''re not failing any classes. You need to improve your bad grades if you want to get into university.'
-	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_40'] > 10: 
+	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_40'] > 10:
 		'You''re getting top marks in a few of your classes, but are failing some of the others. You should improve your grades if you want to get into university.'
-	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_40'] > 6: 
+	elseif class['school_grades_above_90'] > 0 and class['school_grades_above_40'] > 6:
 		'You''re getting top marks in a few of your classes, but are failing a lot of the others. You should improve your grades if you want to get into university.'
-	elseif class['school_grades_above_90'] > 0: 
+	elseif class['school_grades_above_90'] > 0:
 		'Even a top mark or two won''t help when you''re failing more than half of your classes. You''ll have to put a lot of work in if you want to go to university.'
-	elseif class['school_grades_above_70'] = 13: 
+	elseif class['school_grades_above_70'] = 13:
 		'You''re getting good grades in all of your classes, but nothing impressive. You should have no trouble getting into university, but improving your grades wouldn''t hurt.'
-	elseif class['school_grades_above_70'] > 6 and class['school_grades_above_40'] =13: 
+	elseif class['school_grades_above_70'] > 6 and class['school_grades_above_40'] =13:
 		'You''re getting good grades in over half of your classes, but nothing impressive. You''re not failing any classes, but improving your grades wouldn''t hurt.'
-	elseif class['school_grades_above_70'] > 6 and class['school_grades_above_40'] >10: 
+	elseif class['school_grades_above_70'] > 6 and class['school_grades_above_40'] >10:
 		'You''re getting good grades in over half of your classes, but are failing others. You should improve your grades if you want to get into university.'
-	elseif class['school_grades_above_70'] > 0 and class['school_grades_above_40'] = 13: 
+	elseif class['school_grades_above_70'] > 0 and class['school_grades_above_40'] = 13:
 		'You''re getting good grades in a few of your classes, but nothing impressive. You''re not failing any classes, but improving your grades wouldn''t hurt.'
-	elseif class['school_grades_above_70'] > 0 and class['school_grades_above_40'] >10: 
+	elseif class['school_grades_above_70'] > 0 and class['school_grades_above_40'] >10:
 		'You''re getting good grades in a few of your classes, but are failing others. You should improve your grades if you want to get into university.'
-	elseif class['school_grades_above_70'] > 0 and class['school_grades_above_40'] >6: 
+	elseif class['school_grades_above_70'] > 0 and class['school_grades_above_40'] >6:
 		'You''re getting good grades in a few of your classes, but are failing a lot of the others. You should improve your grades if you want to get into university.'
-	elseif class['school_grades_above_70'] > 0: 
+	elseif class['school_grades_above_70'] > 0:
 		'A good grade or two isn''t enough when you''re failing more than half of your classes. It will require a lot of work for you to turn this around.'
-	elseif class['school_grades_above_40'] = 13: 
+	elseif class['school_grades_above_40'] = 13:
 		'You are not getting any good grades, but at least you are not failing any classes. It will require a lot of work if you want to go to university.'
-	elseif class['school_grades_above_40']  > 10: 
+	elseif class['school_grades_above_40']  > 10:
 		'Your grades are terrible and you''re in danger of not graduating high school.'
-	elseif class['school_grades_above_40']  > 6: 
+	elseif class['school_grades_above_40']  > 6:
 		'You''re failing a lot of classes and barely passing the rest. You won''t graduate at this rate unless you get your grades up.'
 	else
 		'You''re failing high school and need to do something about it right now if you want to graduate.'
 	end
-	
+
 	act 'Continue': gt 'gschool_lessons', 'morning'
 end
 --- gschool_lessons ---------------------------------

+ 10 - 4
locations/gschool_lessonsev1.qsrc

@@ -87,16 +87,22 @@ if $ARGS[0] = 'fiz2':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/fizperand3.jpg"></center>'
 	'You and some of the other girls get down on your knees together, enjoying the attention of the watching boys as you all show off your asses to them. Deciding to tease them further, the girls all pull their pants down at the same time.'
-	gs 'willpower', 'misc', 'self', 'medium'
+	gs 'willpower', 'flash', 'self', 'medium'
 	if will_cost <= pcs_willpwr:
 		act 'Pull your pants down':
 			cla
-			gs 'willpower', 'misc', 'self', 'hard'
+			gs 'willpower', 'flash', 'self', 'hard'
 			gs 'willpower', 'pay', 'self'
 			gs 'arousal', 'foreplay', 10, 'exhibitionism'
 			pcs_mood += 20
-			gs 'stat'
-			'You join in and enjoy the small boost of confidence as the boys drool over the panty-clad asses all swaying in front of them. Coach Pavlovich is keeping his distance, unsure what to think or do.'
+			if $pantyworntype = 'none':
+				gs 'fame', 'pav', 'sex', 1
+				gs 'stat'
+				'You are not wearing panties so you sway your naked ass for the boys, this gains you a lot of attention but its not great for your reputation. Coach Pavlovich is keeping his distance, unsure what to think or do.'
+			else
+				gs 'stat'
+				'You join in and enjoy the small boost of confidence as the boys drool over the panty-clad asses all swaying in front of them. Coach Pavlovich is keeping his distance, unsure what to think or do.'
+			end
 			act 'End of lesson': gt 'gschool_lessons4', 'postphys'
 		end
 	else

+ 5 - 5
locations/gschool_lunch.qsrc

@@ -128,7 +128,7 @@ if $ARGS[0] = 'break':
 		gs 'gschool_cheerleading', 'skipped_ev'
 		act 'Continue down the hall': gt 'gschool_events', 'leave_break_events2'
 		exit
-	elseif (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
+	elseif week > 1 and (grupTipe = 3 or nerd_game['stage'] > 0 or rand(80,npc_rel['A152']) > 95) and nerd_game['invite_day'] < daystart - week:
 		gt 'nerd_game_night', 'invite', 'lunch'
 	end
 
@@ -160,10 +160,10 @@ if $ARGS[0] = 'break':
 			gt 'NikoPayback', 'Payback 2'
 		elseif NikoVolkovQW = 10 and NikoEv = 14:
 			lunch_event = daystart
-			gt 'NikoEv2', 'Vicky Talk'	
+			gt 'NikoEv2', 'Vicky Talk'
 		elseif NikoVolkovQW = 10 and NikoEv = 16:
 			lunch_event = daystart
-			gt 'NikoEv2', 'Natalia Talk'		
+			gt 'NikoEv2', 'Natalia Talk'
 		end
 
 		if school_period = 6:
@@ -348,7 +348,7 @@ if $ARGS[0] = 'events':
 				act 'Eat Katja out':
 					*clr & cla
 					KatjaQW['dom'] += 1
-					if katjaQW['school_sex'] = 0: katjaQW['school_sex'] = 1 
+					if katjaQW['school_sex'] = 0: katjaQW['school_sex'] = 1
 					katjaQW['slut'] += 1
 					katjaQW['horny'] = 0
 					gs 'stat'
@@ -470,7 +470,7 @@ if $ARGS[0] = 'events':
 	elseif rand(1,100) < 3:
 		cla
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/lunch/lunchdhump.jpg"></center>'
-		'While in the cafeteria, you see a couple of the gopnik girls hanging out by one of the tables. One of them is slightly bent over with her skirt hiked almost all the way up to her breasts, her panties and tight ass exposed to anyone who cares to look. The second girl stands behind her with her hands on her hips. She thrusts her hips forward hard, bouncing off the panty-clad ass of the first girl, pretending like she''s giving her a pounding fuck. Both girls let out loud fake moans with each slap of their bodies.' 
+		'While in the cafeteria, you see a couple of the gopnik girls hanging out by one of the tables. One of them is slightly bent over with her skirt hiked almost all the way up to her breasts, her panties and tight ass exposed to anyone who cares to look. The second girl stands behind her with her hands on her hips. She thrusts her hips forward hard, bouncing off the panty-clad ass of the first girl, pretending like she''s giving her a pounding fuck. Both girls let out loud fake moans with each slap of their bodies.'
 		'The quite public fake fucking gets laughs from all the other gopniks, while most of the other boys and more than one teacher watch with a gleam of lust in their eyes at their antics. The raunchy display has an obvious effect and many of the boys in the audience do their best to inconspicuously cover their groins with whatever happens to be available. Even a few the girls seem to be lightly rubbing their legs together, their faces slightly flushed.'
 		gs 'arousal', 'erotic', 10
 		act 'Continue your break': gt 'gschool_lunch', 'break'

+ 27 - 27
locations/hairsalon.qsrc

@@ -16,7 +16,7 @@ if $ARGS[0] = 'start':
 	if hour =< 8 or hour >= 20:
 		cls
 		'The hair salon is closed. You should return during their working hours.'
-		act 'Leave':minut += 3 & gt 'torgcentr'
+		act 'Leave':minut += 3 & gt 'city_mall'
 		exit
 	end
 
@@ -40,7 +40,7 @@ if $ARGS[0] = 'start':
 	end
 	'<a href=' + iif(money >= 1250, '"exec:gt ''hairsalon'', ''braidhair''"', '') + '>Get your hair braided - 1250 <b>₽</b></a>'
 
-	act 'Leave':minut += 3 & gt 'torgcentr'
+	act 'Leave':minut += 3 & gt 'city_mall'
 
 	if money >= 100:
 		act 'Buy Scrunchies - 100 <b>₽</b>':
@@ -522,17 +522,17 @@ if $ARGS[0] = 'straighthair':
 
 	if pcs_hairlng <= 80:
 		'"Sorry, your hair is too short to straighten. But don''t hesitate to come back when it''s grown out." the receptionist replies, smiling.'
-		
+
 		act 'Move away':gt 'hairsalon', 'start'
-		
+
 	elseif straight >= 10 or (defcurly = 0 and curly = 0):
 		'The receptionist looks at you, "I''m sorry but your hair is already as straight as we can make it... Come see us when it''s a bit more curly and we''ll sort you out."'
 
 		act 'Move away':gt 'hairsalon', 'start'
-	
+
 	elseif hbraids > 0:
 		'"Your hair is in braids right now, to straighten it we would have to remove them. Is that what you want us to do?" the receptionist asks you.'
-		
+
 		act 'Yes':
 			cla
 			minut += 20+hbraids*2+pcs_hairlng/100
@@ -578,17 +578,17 @@ if $ARGS[0] = 'curlhair':
 
 	if pcs_hairlng <= 80:
 		'"Sorry, your hair is too short to curl. But don''t hesitate to come back when it''s grown out." the receptionist replies, smiling.'
-		
+
 		act 'Move away':gt 'hairsalon', 'start'
-	
+
 	elseif curly >= 10:
 		'The receptionist looks at you, "Your hair is already as curly as we can make it... Come see us when it''s a bit less curly and we''ll sort you out."'
-		
+
 		act 'Move away':gt 'hairsalon', 'start'
-	
+
 	elseif hbraids > 0:
 		'"Your hair is in braids right now, to curl it we would have to remove them. Is that what you want us to do?" the receptionist asks you.'
-		
+
 		act 'Yes':
 			cla
 			minut += 20+hbraids*2+pcs_hairlng/100
@@ -648,7 +648,7 @@ if $ARGS[0] = 'dyehair':
 		act'Return to natural colour':
 			cla & *clr
 			gs 'stat'
-			'"I want to go back to my natural hair colour." you say as you pick at your hair in the mirror, "I don''t think <<$pcs_haircol>> is working for me."' 
+			'"I want to go back to my natural hair colour." you say as you pick at your hair in the mirror, "I don''t think <<$pcs_haircol>> is working for me."'
 			'"Sure thing!", she says in a cheerful way, "Just a second and I''ll see who of our hairdressers'' are available, why don''t you take a seat?" she says and points you over to sit in one of the seats.'
 
 			act 'Sit down':
@@ -663,7 +663,7 @@ if $ARGS[0] = 'dyehair':
 				act 'Look in the mirror':gt 'hairsalon', 'mirror'
 			end
 		end
-	end	
+	end
 	if pcs_haircol ! 0:
 		act 'Black':
 			cla & *clr
@@ -874,7 +874,7 @@ if $ARGS[0] = 'dyehair':
 				act 'Look in the mirror':gt 'hairsalon', 'mirror'
 			end
 		end
-	end	
+	end
 	if pcs_haircol ! 9:
 		act 'Medium green':
 			cla & *clr
@@ -1231,7 +1231,7 @@ end
 if $ARGS[0] = 'touchup2':
 	cla & *clr
 	'The receptionist smiles apologetically, "Sorry, but you''re going to need a completely new dye job to cover that up. We can help you out with it if you want? It''s only 1000 <b>₽</b>."'
-	
+
 	act 'Sure':
 		cla & *clr
 		minut += 45
@@ -1266,7 +1266,7 @@ if $ARGS[0] = 'braidhair':
 	end
 
 	'"I''ll have someone help you out straight away! Just a second while I get someone, feel free to take a seat." the receptionist tells you.'
-	
+
 	act 'Sit down':
 		cla & *clr
 		'"Just relax, we''ll be done in no time.", the hairdresser tells you.'
@@ -1301,7 +1301,7 @@ if $ARGS[0] = 'mixed':
 		'"Well you know Lana, well she said some guy she dated had been there..." the hairdresser fills in.'
 		'A third woman chimes in, "I hear you can only be invited if someone from within the club vouches for you." The other two look at her.'
 		'"What? It''s just what I heard... for this guy..." then they start asking her about this guy.'
-		
+
 	elseif chat_rand = 2:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "I was in Moscow last week, great shops. Doesn''t have the same vibe as St. Petersburg."'
 		'"Did you go clubbing?" her colleague asks her.'
@@ -1309,53 +1309,53 @@ if $ARGS[0] = 'mixed':
 		'"No way!" the colleague exclaims.'
 		'Your hairdresser nods, "Yeah, he said he loves girls from St. Petersburg because we''re always up for sex."'
 		'"He''s not wrong." as they both start laughing.'
-		
+
 	elseif chat_rand = 3:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "Do you have a boyfriend, hun?" the hairdresser asks.'
 		'Before you''re able to answer another hairdresser chimes in, "Be sure to pick one with the biggest cock..."'
 		'The hairdresser turns to her colleague, "You can''t tell that in front of a customer! But you should take her advice, those are the real keepers you''ll thank me later..."'
-	
+
 	elseif chat_rand = 4:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "So what is the biggest one you''ve ever had?"'
 		'"E-Excuse me?!" you stumble...'
 		'"The biggest one I''ve ever had was 18 cm," the woman sitting next to you admits, "I''ve been with one guy that had an enormous one, way bigger than my husbands... that one must''ve been easily over 20 cm." the hairdresser''s colleague sighs.'
 		'The hairdresser''s face turns a bit red, "Well there''s that time I was on a trip..." The others turn their attention to her, "I''m not even a size queen, but I''ve never seen anything like it, it was easily 30 cm..." The others start laughing, not really believing the hairdresser...'
-		
+
 	elseif chat_rand = 5:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "So I was helping Anastasia dye a customer''s hair," she stops and scans the room, "But we really messed up the hair..."'
 		'"Oh, yeah. What did you do?" her colleague pries.'
 		'"I left Anastasia alone only for a moment and I don''t know what she did but the customer started balding..." the hairdresser says a bit worryingly, "I''m surprised that she got to keep the job..."'
-	
+
 	elseif chat_rand = 6:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "Have you heard about the commotion at the Sauna the other day?"'
 		'"No, what happened?!" you curiously ask.'
 		'"Apparently there are rumors going around that it''s all a big front for a brothel, but I wouldn''t know, I''ve never visited the place..." she whispers.'
-	
+
 	elseif chat_rand = 7:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "Scandalous, I can''t believe what our city has come to..."'
 		'"What''s wrong now?" her colleague chimes in.'
 		'"There are lots of street walkers turning up lately everywhere..." the hairdresser concernedly, "No one wants to see that around the town. It gives it a bad reputation. I really hope that the police take care of it."'
-	
+
 	elseif chat_rand = 8:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "Oh girl you look so beautiful, you should try out modeling"'
 		'"Who me?!" you try to avert the attention from yourself.'
 		'"Yes, you. There''s a model agency here in the city center that you should go and see. I''m positive they''ll take you on." the hairdresser speaks in a convinced manner.'
-	
+
 	elseif chat_rand = 9:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "I had a customer not too long ago spending money like crazy..."'
 		'"Oh?" her colleague turns her attention to the conversation, "A rich husband?"'
 		'The hairdresser shakes her head, "No, she was in adult movies. There''s a porn studio here in the city center. They pay good money but I don''t know, I would never be caught alive shooting a sex movie for everyone to watch. Who knows what crazy people are out there."'
 		'"And think about your family finding out, that would ruin all those relationships..." the colleague adds.'
-	
+
 	elseif chat_rand = 10:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "So I had a customer the other day, that was a bit off if we put it that way..."'
 		'Everyone around turns their attention towards the hairdresser waiting for her to continue, "Yeah, so there was an older lady, really sweet and everything but in the middle of the appointment she pulled out a boiled egg, peeled it and ate it just like it was nothing. Just a bit weird you know..."'
-	
+
 	elseif chat_rand = 11:
 		'The hairdresser proceeds to work on your hair and quickly gets into gossiping, "So I had this glammed up woman visiting me not too long ago... She was really fit and good-looking, I won''t lie I was jealous and was pretty bitchy to her."'
 		'"Why is that? A customer is a customer no matter who it is." her colleague starts arguing with the hairdresser.'
 		'"I know, but with that body, I couldn''t help myself and do you know where she worked?!" she raises her voice a little, "As a stripper, can you believe it?! At that strip joint, in the red light district by the industry area. I hated her so much, only because she was so damn good-looking..."'
-		
+
 	else
 		gs 'hairsalon', 'mixed'
 	end

+ 5 - 7
locations/homes_properties.qsrc

@@ -90,7 +90,7 @@ if $ARGS[0] = 'set_access':
 	orig_status_code = accessible_property[$propcode]
 	new_status_code = ARGS[2]
 	if orig_status_code ! new_status_code:
-		if $accessible_property[$propcode] = '' or accessible_property['<<$propcode>>-display'] = '' or accessible_property['<<$propcode>>-name'] = '':
+		if $accessible_property[$propcode] = '' or $accessible_property['<<$propcode>>-display'] = '' or $accessible_property['<<$propcode>>-name'] = '':
 			if $property['code'] ! $propcode: 				
 				gs 'homes_properties_attr', 'get_property_attr', $propcode	
 			else
@@ -538,10 +538,8 @@ if $ARGS[0] = 'get_properties_for_sale':
 			$getforsalespropcode = $homes[i]
 			if $getforsalespropcode ! '' and checked_homes[$getforsalespropcode] = 0 and accessible_property[$getforsalespropcode] < 2:
 				checked_homes[$getforsalespropcode] = 1
-				if accessible_property[$getforsalespropcode] = '': 
-					gs 'homes_properties_attr', 'get_property_attr', $getforsalespropcode
-				end
-				ishome = iif(accessible_property[$getforsalespropcode] = '', INSTR($property['type'], 'residence') > 0, INSTR($accessible_property['<<$getforsalespropcode>>-type'], 'residence') > 0 )
+				if $accessible_property[$getforsalespropcode] = '': gs 'homes_properties_attr', 'get_property_attr', $getforsalespropcode
+				ishome = iif($accessible_property[$getforsalespropcode] = '', INSTR($property['type'], 'residence') > 0, INSTR($accessible_property['<<$getforsalespropcode>>-type'], 'residence') > 0 )
 				hasprice = iif($accessible_property[$getforsalespropcode] = '', property['price'] > 0, accessible_property['<<$getforsalespropcode>>-sales-price'] > 0)
 				if (($ARGS[1] ! 'home' and ishome = 0) or ($ARGS[1] ! 'business' and ishome)) and hasprice:
 					$property_code[j] = $getforsalespropcode
@@ -586,7 +584,7 @@ if $ARGS[0] = 'get_properties_for_rent':
 			$getpropforrentcode = $homes[i]
 			if $getpropforrentcode ! '' and checked_homes[$getpropforrentcode] = 0 and accessible_property[$getpropforrentcode] = 0:
 				checked_homes[$getpropforrentcode] = 1
-				if accessible_property[$getpropforrentcode] = '': gs 'homes_properties_attr', 'get_property_attr', $getpropforrentcode
+				if $accessible_property[$getpropforrentcode] = '': gs 'homes_properties_attr', 'get_property_attr', $getpropforrentcode
 				ishome = iif($accessible_property[$getpropforrentcode] = '', INSTR($property['type'], 'residence') > 1, INSTR($accessible_property['<<$getpropforrentcode>>-type'], 'residence') > 1 )
 				isrental = iif($accessible_property[$getpropforrentcode] = '', property['rental'] = 1, accessible_property['<<$getpropforrentcode>>-rental'] = 1 )
 				if (($ARGS[1] ! 'home' and ishome = 0) or ($ARGS[1] ! 'business' and ishome)) and isrental:			
@@ -838,7 +836,7 @@ end
 !!
 !! $ARGS[1] - property code
 if $ARGS[0] = 'get_property_sales_price':
-	if accessible_property[$ARGS[1]] ! '':
+	if $accessible_property[$ARGS[1]] ! '':
 		result = accessible_property['<<$ARGS[1]>>-sales-price']
 	else
 		gs 'homes_properties_attr', 'get_property_attr', $ARGS[1]

+ 14 - 9
locations/hourly_events.qsrc

@@ -85,6 +85,11 @@ else
 		pcs_mood -= rand(2,5)
 	end
 
+	if hypnoHair > 0 and pcs_mood > 50:
+		if pcs_pubes > 3: pcs_mood -= rand(2, 5)
+		if pcs_leghair > 3: pcs_mood -= rand(2, 5)
+	end
+
 	if pcs_energy > 20: pcs_stam += stammax / max(5, 110-pcs_energy)
 	pcs_willpower_feeder += willpowermax*4/3
 	pcs_willpwr += pcs_willpower_feeder/100
@@ -113,7 +118,7 @@ else
 	if pcs_willpwr < willpowermax/4: will_counter -= 1
 end
 
-if will_counter <= -10: 
+if will_counter <= -10:
 	willpowermax -= 1
 	will_counter = 0
 end
@@ -157,11 +162,11 @@ else
 
 		if alko > 4:
 			vomit['hangover'] = 1
-		
+
 		elseif pregchem > 600 and pregchem < 2160 and rand(1,4) = 4:
 			vomit['morning_sick'] = 1
-		
-		elseif rand(1,100) = 100: 
+
+		elseif rand(1,100) = 100:
 			vomit['unlucky'] = 1
 		end
 	end
@@ -175,7 +180,7 @@ if alko > 0 and alkoblock = 0:
 	if alko >= 6:
 		if pcs_run > 0: run_deg -= 1
 		if vball_lvl >= 50: vball_deg -= 1
-		
+
 		if alko >= 10:
 			if pcs_stren > 10: stren_deg -= 1
 			if pcs_vital > 10: vital_deg -= 1
@@ -204,7 +209,7 @@ if $pantyworntype = 'none' and PCloPants > 0 and PCloPanties = 0 and $clothingwo
 	elseif pcs_traits['commando_lvl'] = 1:
 		mosol += 1
 	end
-	
+
 	if mosol >= 100: pcs_mood -= 5
 
 	if mosol >= 60 and pain['pubic'] < 80: gs 'pain', 1, 'pubic', 'ache'
@@ -223,14 +228,14 @@ end
 if pcs_hydra > 200: pcs_hydra = 200
 
 if mosol > 0:
-	if $pantyworntype ! 'none' or $clothingworntype = 'nude' or PCloPanties = 1: 
+	if $pantyworntype ! 'none' or $clothingworntype = 'nude' or PCloPanties = 1:
 		mosol -= rand(0,1)
 	end
 end
 
 if pcs_lipbalm > 0: pcs_lipbalm -= 1
 
-if sickstage = 1: 
+if sickstage = 1:
 	sick += 1
 	sicktimer += 1
 
@@ -242,7 +247,7 @@ end
 
 if sickstage = 2:
 	if sick > 0: sick -= 1
-	if sick <= 0: 
+	if sick <= 0:
 		sick = 0
 		sickstage = 0
 	end

+ 1 - 1
locations/igorev.qsrc

@@ -582,7 +582,7 @@ if $ARGS[0] = 'strap on':
 						gs 'stat'
 						act 'Insert the tip':
 							*clr & cla
-							'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/igor/sex/home/vstavlaet1.mp4"></video></center>'
+							'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/igor/sex/home/vstavlaet_1.mp4"></video></center>'
 							'You lube up the strap-on real good and for good measure you spit on his asshole for a little extra lube. You move up behind him and slowly begin to push the tip of the strap-on against his asshole. Igor starts moaning immediately.'
 							gs 'arousal', 'anal_strap_give', 10, 'dom'
 							gs 'stat'

+ 20 - 20
locations/intro_customization.qsrc

@@ -43,13 +43,13 @@ if $ARGS[0] = 'modapp':
 	else
 		'<a href="exec:pcs_mass[''bust_gen''] = 7 & gt ''intro_customization'', ''modapp''">Below average</a>'
 	end
-	
+
 	if pcs_mass['bust_gen'] = 12:
 		'Average - Currently set'
 	else
 		'<a href="exec:pcs_mass[''bust_gen''] = 12 & gt ''intro_customization'', ''modapp''">Average</a>'
 	end
-	
+
 	if pcs_mass['bust_gen'] = 17:
 		'Above average - Currently set'
 	else
@@ -97,13 +97,13 @@ if $ARGS[0] = 'modapp':
 	else
 		'<a href="exec:pcs_mass[''bust_gen''] = 57 & gt ''intro_customization'', ''modapp''">Freakishly big</a>'
 	end
-	
+
 	if pcs_mass['bust_gen'] = 67:
 		'Will struggle to open doors or see the ground big - Currently set'
 	else
 		'<a href="exec:pcs_mass[''bust_gen''] = 67 & gt ''intro_customization'', ''modapp''">Will struggle to open doors or see the ground big</a>'
 	end
-	
+
 	if pcs_mass['bust_gen'] = 87:
 		'You''ve been eclipsed by 2 small moons - Currently set'
 	else
@@ -124,13 +124,13 @@ if $ARGS[0] = 'modapp':
 	else
 		'<a href="exec:pcs_mass[''butt_gen''] = 7 & gt ''intro_customization'', ''modapp''">Mostly Flat</a>'
 	end
-	
+
 	if pcs_mass['butt_gen'] = 12:
 		'Small - Currently set'
 	else
 		'<a href="exec:pcs_mass[''butt_gen''] = 12 & gt ''intro_customization'', ''modapp''">Small</a>'
 	end
-	
+
 	if pcs_mass['butt_gen'] = 17:
 		'Below Average - Currently set'
 	else
@@ -195,7 +195,7 @@ if $ARGS[0] = 'modite':
 	act 'Computer (<<mc_inventory[''tech_computer'']>>/1)':
 		if mc_inventory['tech_computer'] = 0:
 			mc_inventory['tech_computer'] = 1
-		else 
+		else
 			mc_inventory['tech_computer'] = 0
 		end
 		gt 'intro_customization','modite'
@@ -256,7 +256,7 @@ if $ARGS[0] = 'modite_pha':
 	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''antibiotics'']', 'Antibiotics'
 	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''vitamins'']', 'Vitamins'
 	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''painkillers'']', 'Painkillers'
-	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''chaffing_cream'']', 'Ointment for chafing'
+	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''chafing_cream'']', 'Ointment for chafing'
 	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''lubricant'']', 'Lubricants'
 	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''lipbalm'']', 'Lip balms'
 	gs 'intro_customization', 'modrel_setup2', 'mc_inventory[''weight_loss_pill'']', 'Weight loss pills'
@@ -289,7 +289,7 @@ if $ARGS[0] = 'modpur':
 		currentpursenumber = ARGS[2]
 	end
 	*clr & cla
-	if $currentpursetype = '': 
+	if $currentpursetype = '':
 		'You do not own a purse.'
 	else
 		bag = 1
@@ -308,7 +308,7 @@ if $ARGS[0] = 'modpur':
 		*p '<a href="exec:gt ''intro_customization'', ''modpur'', ''gm'', <<i>>"><img src="images/pc/items/gm/purses/<<i>>.jpg" 	height="300" /></a>'
 		i += 1
 		if i <= 20:jump 'loopgmpurses'
-	end	
+	end
 	act 'Get Danilovich':
 		*clr & cla
 		'<center><img src="images/locations/city/citycenter/mall/sports.png"></center>'
@@ -317,7 +317,7 @@ if $ARGS[0] = 'modpur':
 		*p '<a href="exec:gt ''intro_customization'', ''modpur'', ''danilovich'', <<i>>"><img src="images/pc/items/danilovich/purses/<<i>>.jpg" 	height="300" /></a>'
 		i += 1
 		if i <= 60:jump 'loopdanilovichpurses'
-	end	
+	end
 	act 'Get Dolls':
 		*clr & cla
 		'<center><img src="images/locations/city/island/dolls/shop_name.png"></center>'
@@ -353,7 +353,7 @@ if $ARGS[0] = 'modpur':
 		*p '<a href="exec:gt ''intro_customization'', ''modpur'', ''coco'', <<i>>"><img src="images/pc/items/coco/purses/<<i>>.jpg" 	height="300" /></a>'
 		i += 1
 		if i <= 60:jump 'loopcocopurses'
-	end	
+	end
 	act 'Get Pussy_Cats':
 		*clr & cla
 		'<center><img src="images/locations/city/citycenter/mall/pussycat.png"></center>'
@@ -384,9 +384,9 @@ if $ARGS[0] = 'modpur':
 	act 'I do not want a purse':
 		bag = 0
 		$currentpursetype = ''
-		currentpursenumber = ''
+		currentpursenumber = 0
 		gt 'intro_customization','modpur'
-	end	
+	end
 end
 !!This is used to set value, is used to avoid any values that go below 5.
 if $ARGS[0] = 'setval':
@@ -525,7 +525,7 @@ if $ARGS[0] = 'modskl_men':
 
 	act 'Return':
 		gt 'intro_customization','modskl'
-	end 
+	end
 end
 
 if $ARGS[0] = 'modskl_spo':
@@ -627,7 +627,7 @@ if $ARGS[0] = 'hair':
 	'<center><b><font color = maroon>CHARACTER CUSTOMIZATION</font></b></center>'
 	'<center><img <<$set_imgh>> src="<<func(''$face_image'')>>"></center>'
 	*nl
-	
+
 	if face_style['type'] = 1:
 		'<center>Adjust your hair to match your avatar.</center>'
 		'<center>Please note that this choice is given only once and you will not be able to change it without starting a new game!</center>'
@@ -730,7 +730,7 @@ if $ARGS[0] = 'eyes':
 
 	if face_style['type'] = 1:
 		'<center>Adjust your eyes and eyelashes to match your avatar.</center>'
-	end	
+	end
 	*nl
 	'<center><i><<$glaza>></i></center>'
 	*nl
@@ -740,8 +740,8 @@ if $ARGS[0] = 'eyes':
 	if pcs_eyesize > 0:'<center><a href="exec:pcs_eyesize -= 1 & gs ''intro_customization'', ''eyes''">Smaller eyes</a></center>'
 	if glass = 0:'<center><a href="exec:glass = 1 & gs ''intro_customization'', ''eyes''">Wear glasses</a></center>'
 	if glass = 1:'<center><a href="exec:glass = 0 & gs ''intro_customization'', ''eyes''">Remove glasses</a></center>'
-	
-	
+
+
 	act'<center><b>Done</b></center>': gt $loc, $loc_arg
 end
 
@@ -765,7 +765,7 @@ if $ARGS[0] = 'birthday':
 	if birthday = 0: birthday = 1
 
 	if birthmonth = 2:
-		if ((birthyear mod 4 = 0) and (birthyear mod 100 ! 0)) or (birthyear mod 400 = 0): 
+		if ((birthyear mod 4 = 0) and (birthyear mod 100 ! 0)) or (birthyear mod 400 = 0):
 			monthdays = 29
 		else
 			monthdays = 28

+ 2 - 2
locations/item_cart.qsrc

@@ -2,7 +2,7 @@
 
 if $ARGS[0] = 'shoppping_aisle':
 	gs 'item_stock_db', 'cleanup'
-	
+
     $curr_aisle = $ARGS[1]
 	gs 'item_stock_db', $ARGS[1]
 
@@ -45,7 +45,7 @@ if $ARGS[0] = 'shoppping_aisle':
 		i += 1
 	if i <= item_idx:jump 'loopshopping_cart'
 	'</table></center>'
-	
+
 	killvar '$temp_bcolor' & killvar '$icon_selector' & killvar 'icon_height'
 
 	!! Checkout

文件差異過大導致無法顯示
+ 520 - 272
locations/item_stock_db.qsrc


+ 130 - 130
locations/journal.qsrc

@@ -4,7 +4,7 @@
 !! Refactored 24 Aug 22
 !! Amended by Hooded Silence
 !! Game Character Journal - central core game data area for players.
-!! V .01 Refactored to enable menu bar navigation for UI consistency. 
+!! V .01 Refactored to enable menu bar navigation for UI consistency.
 !! V .02 Redesign and integration of content areas.
 !! V .03 Bug fixes.
 !!
@@ -14,7 +14,7 @@
 !! 2 Work - calls in journal_work
 !! 3 Quests - calls in journal_quest section
 !! 4 Relations / Current Group - pulls in various elements refactored from other areas to make tracking relationships easier. To be expanded on.
-!! 5 General Information 
+!! 5 General Information
 !! 6 User Notes - custom function
 !!
 !! Menu Variables
@@ -52,19 +52,19 @@ if $ARGS[0]='journalmenu':
 	$tablebody += '</tr>'
 
 	!display the table here.
-	
+
 	'<center><table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top"><tr><<$tablebody>></tr></table></center>'
 	killvar '$tablebody'
-	
-	if $jumploc = '' or jclose = 1: 
-		if $start_type[1] ! 'nomagic': 
+
+	if $jumploc = '' or jclose = 1:
+		if $start_type[1] ! 'nomagic':
 			menutrack = 0
 			jclose = 0
 			gt 'journal', 'magictab'
 		else
 			menutrack = 1
 			jclose = 0
-			gt 'journal', 'housingtab'  
+			gt 'journal', 'housingtab'
 		end
 	end
 	gs 'journal', 'leaveactions'
@@ -83,19 +83,19 @@ end
 if $ARGS[0] = 'magictab':
 	$jumploc = 'magictab'
 	gs 'journal', 'journalmenu'
-	
+
 	'<center><h2>Spells</h2></center><br>'
 	'<center><h2>Spells to Cast</h2></center><br>'
-	func('spellBook','cast','$nonComSpells', 'gt ''journal'', ''magictab''', 'jclose = 1') 
+	func('spellBook','cast','$nonComSpells', 'gt ''journal'', ''magictab''', 'jclose = 1')
 	!!''''
 	'<br><center><h2>Spell Learning</h2></center><br>'
 	'<br><center><h3>Combat</h3></center><br>'
-	func('spellBook','learn','$combatSpells') 
+	func('spellBook','learn','$combatSpells')
 	'<br><center><h3>Non-Combat</h3></center><br>'
-	func('spellBook','learn','$nonComSpells') 
+	func('spellBook','learn','$nonComSpells')
 	delact 'Never mind'
-	
-	
+
+
 ! magic
 end
 
@@ -111,7 +111,7 @@ if $ARGS[0] = 'housingtab':
 	gs 'journal', 'journalmenu'
 
 	'<center><h2>Housing</h2></center>'
-	
+
 	*nl
 	if accessible_property['shared_apartment'] = 4: 'You share an apartment with three others in Pavlovsk. Your bills are paid by the other tenants in exchange for your house services.'
 	if accessible_property['city_apartment'] = 1: 'You rent a two bedroom apartment in the city residential area. Your rent for the apartment is subtracted automatically in sum of <<accessible_property[''city_apartment-rent'']>> <b>₽</b> us electric bill on 25th of each month. You are currently paid up for <b><<accessible_property[''city_apartment-days-left'']>></b> days.'
@@ -171,26 +171,26 @@ if $ARGS[0] = 'relationstab':
 
 	'<center><h2>Relationships</h2></center>'
 	'<h2>Family</h2>'
-		
+
 	'Mother:'
-		
+
 	gs 'journal', 'relindex', 'A29'
-	
+
 	'Stepfather:'
-	
+
 	gs 'journal', 'relindex', 'A28'
-	
+
 	'Sister:'
 
 	gs 'journal', 'relindex', 'A33'
-	
+
 	'Brother:'
-	
+
 	gs 'journal', 'relindex', 'A34'
 
-	
+
 	if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and SchoolBlock = 0:
-	
+
 		'<center><h2>Standings by Social Group</h2></center>'
 
 		if grupTipe < 5 and grupvalue[grupTipe] > 700:
@@ -217,7 +217,7 @@ if $ARGS[0] = 'relationstab':
 			'Your school social group consists of losers, teacher''s pets, sluts and the ugly.'
 		end
 		*nl
-		
+
 		'Cool Kids'
 
 		gs 'indik', '4', grupvalue[1]/10, grupvalue[1], 1 & '<<$ind>>'
@@ -230,94 +230,94 @@ if $ARGS[0] = 'relationstab':
 
 		'Gopnik'
 		gs 'indik', '4', grupvalue[4]/10, grupvalue[4], 4 & '<<$ind>>'
-			
+
 		'<center><h2>Popular Kids Relations</h2></center>'
-		
-		if npc_rel['A1']   > 0: 'Friendship with Dimka:'    & gs 'journal', 'relindex', 'A1' 
-		if npc_rel['A4']   > 0: 'Friendship with Igor:'     & gs 'journal', 'relindex', 'A4' 
-		if npc_rel['A14']  > 0: 'Friendship with Katja:'    & gs 'journal', 'relindex', 'A14' 
-		if npc_rel['A15']  > 0: 'Friendship with Vicky:'    & gs 'journal', 'relindex', 'A15' 
+
+		if npc_rel['A1']   > 0: 'Friendship with Dimka:'    & gs 'journal', 'relindex', 'A1'
+		if npc_rel['A4']   > 0: 'Friendship with Igor:'     & gs 'journal', 'relindex', 'A4'
+		if npc_rel['A14']  > 0: 'Friendship with Katja:'    & gs 'journal', 'relindex', 'A14'
+		if npc_rel['A15']  > 0: 'Friendship with Vicky:'    & gs 'journal', 'relindex', 'A15'
 		if npc_rel['A17']  > 0: 'Friendship with Irina:'    & gs 'journal', 'relindex', 'A17'
-		if npc_rel['A22']  > 0: 'Friendship with Bella:'    & gs 'journal', 'relindex', 'A22' 
-		if npc_rel['A146'] > 0: 'Friendship with Marcus:'   & gs 'journal', 'relindex', 'A146' 
-		if npc_rel['A147'] > 0: 'Friendship with Andrey:'   & gs 'journal', 'relindex', 'A147' 
-		if npc_rel['A148'] > 0: 'Friendship with Mefodiy:'  & gs 'journal', 'relindex', 'A148' 
-		if soniaPS = 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25' 
-		if npc_rel['A139'] > 0: 'Friendship with Stasya:'   & gs 'journal', 'relindex', 'A139' 
-		if npc_rel['A140'] > 0: 'Friendship with Lizaveta:' & gs 'journal', 'relindex', 'A140' 
-		
+		if npc_rel['A22']  > 0: 'Friendship with Bella:'    & gs 'journal', 'relindex', 'A22'
+		if npc_rel['A146'] > 0: 'Friendship with Marcus:'   & gs 'journal', 'relindex', 'A146'
+		if npc_rel['A147'] > 0: 'Friendship with Andrey:'   & gs 'journal', 'relindex', 'A147'
+		if npc_rel['A148'] > 0: 'Friendship with Mefodiy:'  & gs 'journal', 'relindex', 'A148'
+		if soniaPS = 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25'
+		if npc_rel['A139'] > 0: 'Friendship with Stasya:'   & gs 'journal', 'relindex', 'A139'
+		if npc_rel['A140'] > 0: 'Friendship with Lizaveta:' & gs 'journal', 'relindex', 'A140'
+
 		'<center><h2>Jocks Relations</h2></center>'
-		
-		if npc_rel['A3']   > 0: 'Friendship with Ivan:'       & gs 'journal', 'relindex', 'A3' 
-		if fedormasha = 0 and npc_rel['A5'] > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5' 
-		if npc_rel['A8']   > 0: 'Friendship with Svyatoslav:' & gs 'journal', 'relindex', 'A8' 
-		if npc_rel['A13']  > 0: 'Friendship with Lariska:'    & gs 'journal', 'relindex', 'A13' 
+
+		if npc_rel['A3']   > 0: 'Friendship with Ivan:'       & gs 'journal', 'relindex', 'A3'
+		if fedormasha = 0 and npc_rel['A5'] > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5'
+		if npc_rel['A8']   > 0: 'Friendship with Svyatoslav:' & gs 'journal', 'relindex', 'A8'
+		if npc_rel['A13']  > 0: 'Friendship with Lariska:'    & gs 'journal', 'relindex', 'A13'
 		if npc_rel['A18']  > 0: 'Friendship with Christina:'  & gs 'journal', 'relindex', 'A18'
 		if npc_rel['A19']  > 0: 'Friendship with Lina:'       & gs 'journal', 'relindex', 'A19'
-		if npc_rel['A23']  > 0: 'Friendship with Albina:'     & gs 'journal', 'relindex', 'A23' 
-		if npc_rel['A149'] > 0: 'Friendship with Lazar:'      & gs 'journal', 'relindex', 'A149' 
-		if npc_rel['A150'] > 0: 'Friendship with Erast:'      & gs 'journal', 'relindex', 'A150' 
-		if npc_rel['A141'] > 0: 'Friendship with Veronika:'   & gs 'journal', 'relindex', 'A141' 
-		if npc_rel['A165'] > 0: 'Friendship with Vanya:'      & gs 'journal', 'relindex', 'A165' 
-		
+		if npc_rel['A23']  > 0: 'Friendship with Albina:'     & gs 'journal', 'relindex', 'A23'
+		if npc_rel['A149'] > 0: 'Friendship with Lazar:'      & gs 'journal', 'relindex', 'A149'
+		if npc_rel['A150'] > 0: 'Friendship with Erast:'      & gs 'journal', 'relindex', 'A150'
+		if npc_rel['A141'] > 0: 'Friendship with Veronika:'   & gs 'journal', 'relindex', 'A141'
+		if npc_rel['A165'] > 0: 'Friendship with Vanya:'      & gs 'journal', 'relindex', 'A165'
+
 		'<center><h2>Nerds Relations</h2></center>'
-		
-		if npc_rel['A2']   > 0: 'Friendship with Artem:'   & gs 'journal', 'relindex', 'A2' 
-		if npc_rel['A6']   > 0: 'Friendship with Petka:'   & gs 'journal', 'relindex', 'A6' 
-		if npc_rel['A12']  > 0: 'Friendship with Julia:'   & gs 'journal', 'relindex', 'A12' 
-		if npc_rel['A16']  > 0: 'Friendship with Natasha:' & gs 'journal', 'relindex', 'A16' 
+
+		if npc_rel['A2']   > 0: 'Friendship with Artem:'   & gs 'journal', 'relindex', 'A2'
+		if npc_rel['A6']   > 0: 'Friendship with Petka:'   & gs 'journal', 'relindex', 'A6'
+		if npc_rel['A12']  > 0: 'Friendship with Julia:'   & gs 'journal', 'relindex', 'A12'
+		if npc_rel['A16']  > 0: 'Friendship with Natasha:' & gs 'journal', 'relindex', 'A16'
 		if npc_rel['A151'] > 0: 'Friendship with Evgeny:'  & gs 'journal', 'relindex', 'A151'
 		if npc_rel['A152'] > 0: 'Friendship with Feofan:'  & gs 'journal', 'relindex', 'A152'
-		if npc_rel['A153'] > 0: 'Friendship with Gerasim:' & gs 'journal', 'relindex', 'A153' 
-		if npc_rel['A142'] > 0: 'Friendship with Zinaida:' & gs 'journal', 'relindex', 'A142' 
-		if npc_rel['A240'] > 0: 'Friendship with Natalia:' & gs 'journal', 'relindex', 'A240' 
-		
+		if npc_rel['A153'] > 0: 'Friendship with Gerasim:' & gs 'journal', 'relindex', 'A153'
+		if npc_rel['A142'] > 0: 'Friendship with Zinaida:' & gs 'journal', 'relindex', 'A142'
+		if npc_rel['A240'] > 0: 'Friendship with Natalia:' & gs 'journal', 'relindex', 'A240'
+
 		'<center><h2>Gopnik Relations</h2></center>'
-		
-		if npc_rel['A9']   > 0: 'Friendship with Vitek:'     & gs 'journal', 'relindex', 'A9' 
-		if npc_rel['A10']  > 0: 'Friendship with Dan:'       & gs 'journal', 'relindex', 'A10' 
-		if npc_rel['A11']  > 0: 'Friendship with Vasily:'    & gs 'journal', 'relindex', 'A11' 
-		if npc_rel['A20']  > 0: 'Friendship with Lena:'      & gs 'journal', 'relindex', 'A20' 
+
+		if npc_rel['A9']   > 0: 'Friendship with Vitek:'     & gs 'journal', 'relindex', 'A9'
+		if npc_rel['A10']  > 0: 'Friendship with Dan:'       & gs 'journal', 'relindex', 'A10'
+		if npc_rel['A11']  > 0: 'Friendship with Vasily:'    & gs 'journal', 'relindex', 'A11'
+		if npc_rel['A20']  > 0: 'Friendship with Lena:'      & gs 'journal', 'relindex', 'A20'
 		if npc_rel['A21']  > 0: 'Friendship with Lera:'      & gs 'journal', 'relindex', 'A21'
-		if npc_rel['A24']  > 0: 'Friendship with Pauline:'   & gs 'journal', 'relindex', 'A24' 
-		if npc_rel['A154'] > 0: 'Friendship with Radomir:'   & gs 'journal', 'relindex', 'A154' 
-		if npc_rel['A155'] > 0: 'Friendship with Lavrenti:'  & gs 'journal', 'relindex', 'A155' 
-		if npc_rel['A156'] > 0: 'Friendship with Arkadi:'    & gs 'journal', 'relindex', 'A156' 
-		if npc_rel['A157'] > 0: 'Friendship with Roman:'     & gs 'journal', 'relindex', 'A157' 
-		if npc_rel['A158'] > 0: 'Friendship with Valentin:'  & gs 'journal', 'relindex', 'A158' 
-		if npc_rel['A143'] > 0: 'Friendship with Alyona:'    & gs 'journal', 'relindex', 'A143' 
-		if npc_rel['A144'] > 0: 'Friendship with Anushka:'   & gs 'journal', 'relindex', 'A144' 
-		if npc_rel['A145'] > 0: 'Friendship with Ekaterina:' & gs 'journal', 'relindex', 'A145' 
-		if npc_rel['A189'] > 0: 'Friendship with Niko:'      & gs 'journal', 'relindex', 'A189' 
-		
+		if npc_rel['A24']  > 0: 'Friendship with Pauline:'   & gs 'journal', 'relindex', 'A24'
+		if npc_rel['A154'] > 0: 'Friendship with Radomir:'   & gs 'journal', 'relindex', 'A154'
+		if npc_rel['A155'] > 0: 'Friendship with Lavrenti:'  & gs 'journal', 'relindex', 'A155'
+		if npc_rel['A156'] > 0: 'Friendship with Arkadi:'    & gs 'journal', 'relindex', 'A156'
+		if npc_rel['A157'] > 0: 'Friendship with Roman:'     & gs 'journal', 'relindex', 'A157'
+		if npc_rel['A158'] > 0: 'Friendship with Valentin:'  & gs 'journal', 'relindex', 'A158'
+		if npc_rel['A143'] > 0: 'Friendship with Alyona:'    & gs 'journal', 'relindex', 'A143'
+		if npc_rel['A144'] > 0: 'Friendship with Anushka:'   & gs 'journal', 'relindex', 'A144'
+		if npc_rel['A145'] > 0: 'Friendship with Ekaterina:' & gs 'journal', 'relindex', 'A145'
+		if npc_rel['A189'] > 0: 'Friendship with Niko:'      & gs 'journal', 'relindex', 'A189'
+
 		'<center><h2>Outcast/Loner Relations</h2></center>'
-		
-		if npc_rel['A7']   > 0: 'Friendship with Lesco:' & gs 'journal', 'relindex', 'A7' 
-		if npc_rel['A159'] > 0: 'Friendship with Petia:' & gs 'journal', 'relindex', 'A159' 
-		if soniaPS    > 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25' 
-		if fedormasha = 1 and npc_rel['A5']  > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5' 
-		
+
+		if npc_rel['A7']   > 0: 'Friendship with Lesco:' & gs 'journal', 'relindex', 'A7'
+		if npc_rel['A159'] > 0: 'Friendship with Petia:' & gs 'journal', 'relindex', 'A159'
+		if soniaPS    > 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25'
+		if fedormasha = 1 and npc_rel['A5']  > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5'
+
 		'<center><h2>Teachers/Coaches/School Staff Relations</h2></center>'
-		
-		if npc_rel['A26']  > 0: 'Friendship with Anatoly Tsarev (Math Teacher):'             & gs 'journal', 'relindex', 'A26' 
-		if npc_rel['A69']  > 0: 'Friendship with Mikhail Nikolaevich (Volleyball Coach):'    & gs 'journal', 'relindex', 'A69' 
-		if npc_rel['A128'] > 0: 'Friendship with Makar Vasilyev (Art Teacher):'              & gs 'journal', 'relindex', 'A128' 
+
+		if npc_rel['A26']  > 0: 'Friendship with Anatoly Tsarev (Math Teacher):'             & gs 'journal', 'relindex', 'A26'
+		if npc_rel['A69']  > 0: 'Friendship with Mikhail Nikolaevich (Volleyball Coach):'    & gs 'journal', 'relindex', 'A69'
+		if npc_rel['A128'] > 0: 'Friendship with Makar Vasilyev (Art Teacher):'              & gs 'journal', 'relindex', 'A128'
 		if npc_rel['A129'] > 0: 'Friendship with Serafim Ivanov (Computer Science Teacher):' & gs 'journal', 'relindex', 'A129'
-		if npc_rel['A130'] > 0: 'Friendship with Ilya Yenotin (Literature Teacher):'         & gs 'journal', 'relindex', 'A130' 
+		if npc_rel['A130'] > 0: 'Friendship with Ilya Yenotin (Literature Teacher):'         & gs 'journal', 'relindex', 'A130'
 		if npc_rel['A131'] > 0: 'Friendship with Viktor Pavlovich (P.E. Teacher):'           & gs 'journal', 'relindex', 'A131'
-		if npc_rel['A132'] > 0: 'Friendship with Ruslan Kuznetsov (Shop Teacher):'           & gs 'journal', 'relindex', 'A132' 
-		if npc_rel['A133'] > 0: 'Friendship with Rolan Metveev (Janitor):'                   & gs 'journal', 'relindex', 'A133' 
-		if npc_rel['A134'] > 0: 'Friendship with Aleksandrina Volkov (Headmistress):'        & gs 'journal', 'relindex', 'A134' 
+		if npc_rel['A132'] > 0: 'Friendship with Ruslan Kuznetsov (Shop Teacher):'           & gs 'journal', 'relindex', 'A132'
+		if npc_rel['A133'] > 0: 'Friendship with Rolan Metveev (Janitor):'                   & gs 'journal', 'relindex', 'A133'
+		if npc_rel['A134'] > 0: 'Friendship with Aleksandrina Volkov (Headmistress):'        & gs 'journal', 'relindex', 'A134'
 		if npc_rel['A135'] > 0: 'Friendship with Yeva Sokoloff (Geography Teacher):'         & gs 'journal', 'relindex', 'A135'
-		if npc_rel['A136'] > 0: 'Friendship with Olga Aleksandrov (School Nurse):'           & gs 'journal', 'relindex', 'A136' 
-		if npc_rel['A137'] > 0: 'Friendship with Raven Braakman (English Teacher):'          & gs 'journal', 'relindex', 'A137' 
+		if npc_rel['A136'] > 0: 'Friendship with Olga Aleksandrov (School Nurse):'           & gs 'journal', 'relindex', 'A136'
+		if npc_rel['A137'] > 0: 'Friendship with Raven Braakman (English Teacher):'          & gs 'journal', 'relindex', 'A137'
 		if npc_rel['A138'] > 0: 'Friendship with Arina Orlov (Biology Teacher):'             & gs 'journal', 'relindex', 'A138'
-		
+
 
 		!!!WD: Formatting
 		if (npc_rel['A93'] + npc_rel['A41'] + npc_rel['A42'] + npc_rel['A43'] + gosh + npc_rel['A220'] + npc_rel['A219'] + npc_QW['A192'] + npc_rel['A218']) > 0:*nl
 		*nl
-		
+
 	end
 
 	'<center><h2>Pavlovsk Relations</h2></center>'
@@ -326,7 +326,7 @@ if $ARGS[0] = 'relationstab':
 	if npc_rel['A217'] > 0: 'Friendship with Pavlin:'         & gs 'journal', 'relindex', 'A217'
 	if npc_rel['A112'] > 0: 'Friendship with Sergey Shulgin:' & gs 'journal', 'relindex', 'A112'
 	if npc_rel['A119'] > 0: 'Friendship with Borislav:'       & gs 'journal', 'relindex', 'A119'
-		
+
 	'<center><h2>Gadukino Relations</h2></center>'
 	if npc_rel['A31']  > 0: 'Friendship with Elena (your great-grandmother):'  & gs 'journal', 'relindex', 'A31'
 	if npc_rel['A32']  > 0: 'Friendship with Zlatek (your great-grandfather):' & gs 'journal', 'relindex', 'A32'
@@ -340,7 +340,7 @@ if $ARGS[0] = 'relationstab':
 	if npc_rel['A172'] > 0: 'Friendship with Andrei (hunter):' & gs 'journal', 'relindex', 'A172'
 	if npc_rel['A173'] > 0: 'Friendship with Igor (hunter):'   & gs 'journal', 'relindex', 'A173'
 	if npc_rel['A174'] > 0: 'Friendship with Sergei (hunter):' & gs 'journal', 'relindex', 'A174'
-	
+
 	'<center><h2>Saint Petersburg Relations</h2></center>'
 	if npc_QW['A192']  > 0: 'Friendship with Nastya:'  & gs 'journal', 'relindex', 'A192'
 	if npc_rel['A218'] > 0: 'Friendship with Tanya:'   & gs 'journal', 'relindex', 'A218'
@@ -348,11 +348,11 @@ if $ARGS[0] = 'relationstab':
 	if npc_rel['A220'] > 0: 'Friendship with Vika:'    & gs 'journal', 'relindex', 'A220'
 	if npc_rel['A93']  > 0: 'Friendship with Ira:'     & gs 'journal', 'relindex', 'A93'
 	if npc_rel['A43']  > 0: 'Friendship with Tamara:'  & gs 'journal', 'relindex', 'A43'
-	if npc_rel['A35']  > 0: 'Friendship with Mikhail Kuznetsov (your biological father):' & gs 'journal', 'relindex', 'A35' 
+	if npc_rel['A35']  > 0: 'Friendship with Mikhail Kuznetsov (your biological father):' & gs 'journal', 'relindex', 'A35'
 	if npc_rel['A169'] > 0: 'Friendship with Dima:'    & gs 'journal', 'relindex', 'A169'
 	if npc_rel['A89']  > 0: 'Friendship with Eugene:'  & gs 'journal', 'relindex', 'A89'
 	if npc_rel['A216'] > 0: 'Friendship with Martin:'  & gs 'journal', 'relindex', 'A216'
-	
+
 	! '<center><h2>Other Relations</h2></center>'
 	! Uncomment if re-introduced into the game ensure you use NPC ID to update them
 	! if alla > 0: 'Friendship with Alla <<alla>>'
@@ -432,10 +432,10 @@ end
 if $ARGS[0] = 'generaltab':
 	$jumploc = 'generaltab'
 	gs 'journal', 'journalmenu'
-	
+
 !! generaltab
 	'<center><h2>General Information</h2></center>'
-	
+
 	if ARRSIZE('$portfolio_locations') > 0 or ARRSIZE('$portfolio_people') > 0:
 		act 'View your photography portfolio': gt 'journal_portfolio'
 	end
@@ -447,13 +447,13 @@ if $ARGS[0] = 'generaltab':
 	'<br><center><a href="exec: gs ''journal'', ''city_res''">City Residents</a></center>'
 	if mod_ballet['blocker'] >  0 or balletqw['school'] > 0: '<br><center><a href="exec: gs ''journal'', ''ballet''">Ballet Career</a></center>'
 
-	if SchoolAtestat = 0 and mid($start_type, 1, 2) = 'sg' and SchoolBlock = 0: 
+	if SchoolAtestat = 0 and mid($start_type, 1, 2) = 'sg' and SchoolBlock = 0:
 		'<br><center><a href="exec: gs ''journal_school'', ''school''">School</a></center>
 		<br><center><a href="exec: gs ''journal_school'', ''coursesinfo''">School Courses and Grades</a></center>'
 	end
 
 	!!Make this an elseif, add a third option to see where our friends end up in city-life??
-	if university['student'] = 1: 
+	if university['student'] = 1:
 		'<br><center><a href="exec: gs ''journal'', ''uni''">University</a></center>'
 	end
 
@@ -470,7 +470,7 @@ end
 if $ARGS[0] = 'notestab':
 	$jumploc = 'notestab'
 	gs 'journal', 'journalmenu'
-	'<center><h2>Notes</h2></center>' 
+	'<center><h2>Notes</h2></center>'
 
 	'Your Current Start is: ' + $start_type['cat']
 	'Create notes to keep track of any information you need.'
@@ -486,7 +486,7 @@ if $ARGS[0] = 'notestab':
 		jump 'jur_loop'
 	end
 	killvar 'jur_temp'
-	
+
 !! notes
 end
 
@@ -522,23 +522,23 @@ if $ARGS[0] = 'ballet':
 	gs 'journal', 'journalmenu'
 	'<center><h1>Ballet Career</h1></center>'
 	'<center><img <<$set_imgh>> src="mod/img_ballet/system/readme.jpg"></center>'
-	
+
 	'Пан или пропал (You become the master or, leave).'
-	
+
 	'A narrative based mod and activities for the Dancer start. The MC has been given a grant to attend an intensive 6 day summer class with an assessment that, if passed, can lead to a weekly rehearsal and a Winter dance show in December.'
-	
+
 	'Note: This storyline will play out over a long time span and your actions will have consequences that won''t initially be obvious. Some of this is dependent on the development of the main Girl Life codebase.'
-	
+
 	 'Current and planned features:'
-	
+
 		'• A new dancer start option, with other starts being granted access later or uni/city years paying to join.'
 		'• A 6 day intensive course during the school summer break - look for the letter in your parents kitchen to notify you.'
 		'• New pen friend(s), with meet ups and theatre or ballet nights with family or partner.'
 		'• A new dance instructor, whose intentions may prevent MC from joining the Pushkin Ballet Company or could have far ranging consequences on both herself and NPC characters.'
 		'• New dance gigs. At each rehearsal, there''s a chance that you may get a dance job for the local theatre or the city if you pass with merit.'
-	
+
 	'NB: There is no sex acts in this mod at present. If you wish to write such scenes based on the content, then contact me on the Girl Life Discord.'
-	
+
 	'<center><h2>In Memoriam — Hooded Silence.</h2></center>'
 	*nl
 	'This content is being maintained as part of Hooded Silence''s legacy. I have approximately 1-2 years of original content to add but if you wish to contribute, then note that there is no sexual content in this mod until at least year 3 as per his notes.'
@@ -550,10 +550,10 @@ if $ARGS[0] = 'ballet':
 
 	*nl
 	'These are the obvious repercussions, but there will be subtle consequences for your interactions with NPCs. This mod is meant to be played blind for your initial playthrough and the only feedback will be the varying conversations.'
-	
+
 end
 
-!! ---- Other Sections ---- 
+!! ---- Other Sections ----
 
 
 !! --- General Information -- Clothing
@@ -616,7 +616,7 @@ if $ARGS[0] = 'uni':
 		j += 1
 		if j < 8: jump 'semester_loop'
 	killvar 'j'
-	
+
 	if university['semester_passed'] = university['enrolled_in_semester'] and university['diploma'] = 0:
 		*nl
 		'You need to register for your next semester at the university administration building.'
@@ -714,7 +714,7 @@ if $ARGS[0] = 'uni':
 			if ARRSIZE('class_list_institution') >= j: jump 'exam_loop'
 		killvar 'j'
 	end
-	
+
 	*nl
 	!!Added a link to the various Character Journal entries for location: journal_uni.
 	!!Should probably be put somewhere else.                                           Blame Anjuna and Nutluck
@@ -725,7 +725,7 @@ if $ARGS[0] = 'uni':
 	*nl
 	'<br><center><a href="exec: gs ''journal_uni'', ''former_pavlovsk_students''">Former Pavlovsk Students</a></center>'
 
-	
+
 	act 'Go back': gt 'journal', 'generaltab'
 	gs 'journal', 'leaveactions'
 end
@@ -797,7 +797,7 @@ if $ARGS[0] = 'family':
 elseif $ARGS[0] = 'pav_res':
 	$jumploc = 'generalsub'
 	gs 'journal', 'journalmenu'
-	
+
 	'<center><h2>Pavlovsk Residents</h2></center>'
 
 	!! Post Secondary school !!
@@ -813,25 +813,25 @@ elseif $ARGS[0] = 'pav_res':
 		*nl
 		!!Erast Vagin
 		gs 'journal_NPC_information', 'A150', 'uni'
-		*nl	
+		*nl
 		!!Veronika
 		gs 'journal_NPC_information', 'A141', 'uni'
-		*nl	
+		*nl
 		!!Evgany
 		gs 'journal_NPC_information', 'A151', 'uni'
 		*nl
 		!!Natalia
 		gs 'journal_NPC_information', 'A240', 'uni'
-		*nl	
+		*nl
 		!!Vitek
 		gs 'journal_NPC_information', 'A9',   'uni'
 		*nl
 		!!Dan
 		gs 'journal_NPC_information', 'A10',  'uni'
-		*nl	
+		*nl
 		!!Vasily
 		gs 'journal_NPC_information', 'A11',  'uni'
-		*nl	
+		*nl
 		!!Roman
 		gs 'journal_NPC_information', 'A157', 'uni'
 		*nl
@@ -865,7 +865,7 @@ elseif $ARGS[0] = 'pav_res':
 elseif $ARGS[0] = 'gad_res':
 	$jumploc = 'generalsub'
 	gs 'journal', 'journalmenu'
-	
+
 	'<center><h2>Gadukino Residents</h2></center>'
 	!!Grandpa
 	gs 'journal_NPC_information', 'A31'
@@ -874,7 +874,7 @@ elseif $ARGS[0] = 'gad_res':
 	gs 'journal_NPC_information', 'A32'
 	*nl
 	!!Mira
-	if npc_known['A60'] = 1: 
+	if npc_known['A60'] = 1:
 		gs 'journal_NPC_information', 'A60'
 		*nl
 	end
@@ -892,12 +892,12 @@ elseif $ARGS[0] = 'gad_res':
 		*nl
 	end
 	!!Afanasiy (Mira''s father)
-	if npc_known['A60'] = 1: 
+	if npc_known['A60'] = 1:
 		gs 'journal_NPC_information', 'A64'
 		*nl
 	end
 	!!Vtialiy (Mira''s brother)
-	if npc_known['A60'] = 1: 
+	if npc_known['A60'] = 1:
 		gs 'journal_NPC_information', 'A64'
 		*nl
 	end
@@ -905,7 +905,7 @@ elseif $ARGS[0] = 'gad_res':
 	if npc_qw['A221'] > 0:
 		gs 'journal_NPC_information', 'A221'
 		*nl
-	end 
+	end
 	!!Hunters
 	if hunters_were_met > 0:
 		gs 'journal_NPC_information', 'A172'
@@ -915,7 +915,7 @@ elseif $ARGS[0] = 'gad_res':
 		gs 'journal_NPC_information', 'A174'
 		*nl
 	end
-	
+
 	act 'Go back': gt 'journal', 'generaltab'
 	gs 'journal', 'leaveactions'
 
@@ -923,7 +923,7 @@ elseif $ARGS[0] = 'gad_res':
 elseif $ARGS[0] = 'city_res':
 	$jumploc = 'generalsub'
 	gs 'journal', 'journalmenu'
-	
+
 	'<center><h2>City Residents</h2></center>'
 
 	!! Post Secondary school !!
@@ -937,7 +937,7 @@ elseif $ARGS[0] = 'city_res':
 		!!Valentin
 		gs 'journal_NPC_information', 'A154', 'uni'
 	end
-	
+
 	act 'Go back': gt 'journal', 'generaltab'
 	gs 'journal', 'leaveactions'
 end
@@ -951,11 +951,11 @@ if $ARGS[0] = 'relindex':
 
 
 elseif $ARGS[0] = 'leaveactions':
-	act 'Put your notebook down': 		 
+	act 'Put your notebook down':
 		killvar 'jumploc'
 		jclose = 1
 		gt $loc, $loc_arg
-	end	
+	end
 end
 
 

+ 2 - 2
locations/katja_chat.qsrc

@@ -573,13 +573,13 @@ if $ARGS[0] = 'coffee_hole_event':
 			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/Coffe_hole2.jpg"></center>'
 			if katjaQW['know_dandd'] = 0:
 				'"Have you heard that the nerds from our high school meet here every week?" Katja asks. But before you can answer, she continues, "They are playing some kind of game, dragons and elves or something like that. Julia tried to explain it to me, but I didn''t really get what it was about."'
-				'"Apparently, they used to play at the library in Pavlovsk, but it seems like they have gotten braver and don''t think they need to hide themselves anymore. Which is really good, just because they''re doing something we don''t understand, doesn''t mean that they should be ashamed about it. Luckily, the days where the stupid jocks or girls like Stasya would try to act important by bullying others for doing things they don''t understand are over."'
+				'"Apparently, they used to play at the library in Pavlovsk, but it seems like they have gotten braver and don''t think they need to hide themselves anymore. Which is really good, just because they''re doing something we don''t understand, doesn''t mean that they should be ashamed about it. Luckily, the days, when the stupid jocks or girls like Stasya would try to act important by bullying others for doing things they don''t understand, are over."'
 				if nerd_game['stage'] > 0:
 					act 'Tell Katja that you play with them':
 						*clr & cla
 						katjaQW['know_dandd'] = 1
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/Coffe_hole2.jpg"></center>'
-						'"It''s ''Dungeons and Dragons is what the game''," you tell Katja, who looks at you a little surprised. "I''m part of their group, it''s a lot of fun," you says.'
+						'"It''s called ''Dungeons and Dragons'' the game we play" you tell Katja, who looks at you a little surprised. "I''m part of their group, it''s a lot of fun," you says.'
 						'"I didn''t know that. How does it work, Julia told me you are taking on roles like in a fantasy movie. Do you dress up? How is that even a game?" Katja asks, and you spend time trying to explain how the game works.' 
 						act 'Continue to drink your coffee': gt 'katja_chat', 'coffee_hole_hangout'
 					end

+ 71 - 71
locations/katja_city.qsrc

@@ -19,7 +19,7 @@ if $ARGS[0] = 'metro_ride':
 	minut += 5
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/riding_metro.jpg"></center>'
-	'The train arrives and you board before finding a place to sit as it leaves the station.' 
+	'The train arrives and you board before finding a place to sit as it leaves the station.'
 	act 'Chat with Katja':
 		!! Here will be a check for random events as soon as some are written.
 		if katjaQW['drinks'] > rand(10,14):
@@ -38,8 +38,8 @@ end
 if $ARGS[0] = 'metro_get_off':
 	minut += 5
 	gs 'stat'
-	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/riding_metro.jpg"></center>'	
-	'You chat with Katja as the train heads through the tunnel. After a short time, you arrive at your destination.'  
+	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/riding_metro.jpg"></center>'
+	'You chat with Katja as the train heads through the tunnel. After a short time, you arrive at your destination.'
 	act 'Leave the metro':
 		!! Here will be a check for random events as soon as some are written.
 		gt 'katja_city', 'metro_destination'
@@ -50,11 +50,11 @@ if $ARGS[0] = 'metro_destination':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/Leaving_metro.jpg"></center>'
 	if locat['katja'] = 44:
 		minut += 5
-		$loc = 'torgcentr'
+		$loc = 'city_mall'
 		$location_type = 'public_indoors'
-		$menu_loc = 'torgcentr'
+		$menu_loc = 'city_mall'
 		gs 'stat'
-		'You exit the metro station and walk to the Galleria shopping mall.' 
+		'You exit the metro station and walk to the Galleria shopping mall.'
 		act 'Start shopping': gt 'katja_chat', 'chat1'
 	elseif locat['katja'] = 53:
 		minut += 10
@@ -179,7 +179,7 @@ if $ARGS[0] = 'clothes_start2':
 		'You apologize to Katja, but you don''t have the time right now. She looks a little disappointed, but it soon gives way to a smile as you say goodbye.'
 		act 'Leave': gt $loc, $loc_arg
 	end
-end	
+end
 
 if $ARGS[0] = 'Pussy-Cats':
 	minut += 20
@@ -187,7 +187,7 @@ if $ARGS[0] = 'Pussy-Cats':
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/KWS1.jpg"></center>'
 	'You walk into Pussy-Cats, the trendy store for cool kids, but still affordable enough that you might be able to buy what you try on if you really like it.'
-	'You start browsing the stands, looking at all the new fashion trends. After a while, you decide that you should each pick a set that you think would look great on the other.' 
+	'You start browsing the stands, looking at all the new fashion trends. After a while, you decide that you should each pick a set that you think would look great on the other.'
 	'You soon find something that you''d like to see Katja in. You return to her and find that she also has some clothes for you to try on, so you head to the changing rooms and find one big enough for the two of you.'
 	act 'Try on clothes':
 		*clr & cla
@@ -209,14 +209,14 @@ if $ARGS[0] = 'Pussy-Cats':
 				if CloInhibit > pcs_inhib: jump 'tryclotheswithkatja_pussy_cats'
 				if CloQuality < 4: jump 'tryclotheswithkatja_pussy_cats'
 				if CloStyle = 4: jump 'tryclotheswithkatja_pussy_cats'
-				if katjaQW['slut'] > 80 and CloThinness < 4: 
+				if katjaQW['slut'] > 80 and CloThinness < 4:
 					jump 'tryclotheswithkatja_pussy_cats'
-				elseif katjaQW['slut'] > 60 and CloThinness = 1: 
+				elseif katjaQW['slut'] > 60 and CloThinness = 1:
 					jump 'tryclotheswithkatja_pussy_cats'
-				elseif katjaQW['slut'] < 40 and CloThinness = 6: 				
+				elseif katjaQW['slut'] < 40 and CloThinness = 6:
 					jump 'tryclotheswithkatja_pussy_cats'
 				end
-				if katjaQW['slut'] < 80 and (CloSkirtShortness = 6 or CloBra = 2): jump 'tryclotheswithkatja_pussy_cats'				
+				if katjaQW['slut'] < 80 and (CloSkirtShortness = 6 or CloBra = 2): jump 'tryclotheswithkatja_pussy_cats'
 
 				if cats_dress[numrand] = 0:
 					'<center><b><font color="maroon">Pussy-Cats</font></b></center>'
@@ -230,12 +230,12 @@ if $ARGS[0] = 'Pussy-Cats':
 						gs 'npc_relationship', 'modify', 'A14', 'love'
 						'"This is really nice. As always, your fashion sense is impeccable," you say and her face lights up like a Christmas tree.'
 						'You look at the price tag and see that it costs <<price>>.'
-						if money > price: 
+						if money > price:
 							act 'Buy the dress (cash)':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'money'							
+								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'money'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
@@ -244,14 +244,14 @@ if $ARGS[0] = 'Pussy-Cats':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'karta'							
+								gs 'clothing', 'quick_buy', 'cats_dress', numrand, 3000, 'karta'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
 						act 'It''s too expensive for you':
 							cla
 							'"I wish I could afford it, but I don''t have the money right now," you say.'
-							'"That''s totally fine. We didn''t do this to buy stuff, just to have fun trying on new things," she replies.' 
+							'"That''s totally fine. We didn''t do this to buy stuff, just to have fun trying on new things," she replies.'
 							act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 						end
 					end
@@ -272,14 +272,14 @@ if $ARGS[0] = 'Pussy-Cats':
 				if CloInhibit > pcs_inhib: jump 'tryclotheswithkatja_pussy_cats'
 				if CloQuality < 4: jump 'tryclotheswithkatja_pussy_cats'
 				if CloStyle = 4: jump 'tryclotheswithkatja_pussy_cats'
-				if katjaQW['slut'] > 80 and CloThinness < 4: 
+				if katjaQW['slut'] > 80 and CloThinness < 4:
 					jump 'tryclotheswithkatja_pussy_cats'
-				elseif katjaQW['slut'] > 60 and CloThinness = 1: 
+				elseif katjaQW['slut'] > 60 and CloThinness = 1:
 					jump 'tryclotheswithkatja_pussy_cats'
-				elseif katjaQW['slut'] < 40 and CloThinness = 6: 				
+				elseif katjaQW['slut'] < 40 and CloThinness = 6:
 					jump 'tryclotheswithkatja_pussy_cats'
 				end
-				if katjaQW['slut'] < 80 and (CloPantsShortness = 6 or CloBra = 2): jump 'tryclotheswithkatja_pussy_cats'				
+				if katjaQW['slut'] < 80 and (CloPantsShortness = 6 or CloBra = 2): jump 'tryclotheswithkatja_pussy_cats'
 
 				if cats_outfits[numrand] = 0:
 					'<center><b><font color="maroon">Pussy-Cats</font></b></center>'
@@ -293,12 +293,12 @@ if $ARGS[0] = 'Pussy-Cats':
 						gs 'npc_relationship', 'modify', 'A14', 'love'
 						'"This is really nice. As always, your fashion sense is impeccable," you say and her face lights up like a Christmas tree.'
 						'You look at the price tag and see that it costs <<price>>.'
-						if money >= price: 
+						if money >= price:
 							act 'Buy the clothes (cash)':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'money'							
+								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'money'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
@@ -307,14 +307,14 @@ if $ARGS[0] = 'Pussy-Cats':
 								cla
 								'"I''ll buy it, but only after you try on what I picked for you."'
 								'"That''s so great!" she says, looking really happy.'
-								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'karta'							
+								gs 'clothing', 'quick_buy', 'cats_outfits', numrand, 3000, 'karta'
 								act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 							end
 						end
 						act 'It''s too expensive for you':
 							cla
 							'"I wish I could afford it, but I don''t have the money right now," you say.'
-							'"That''s totally fine. We didn''t do this to buy stuff, just to have fun trying on new things," she replies.'  
+							'"That''s totally fine. We didn''t do this to buy stuff, just to have fun trying on new things," she replies.'
 							act 'Katja''s turn': gt 'katja_city', 'pussy_cat_outfit<<rand(1,2)>>'
 						end
 					end
@@ -343,9 +343,9 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 	elseif katjaQW['slut'] >= 60:
 		'"Wow, I don''t know..." she says. "I definitely look sexy in this, but I''m not sure if I can wear it anywhere."'
 	elseif katjaQW['slut'] >= 40:
-		'"This is too much," she says. "This isn''t something I can wear anywhere."' 
+		'"This is too much," she says. "This isn''t something I can wear anywhere."'
 		'"But you have to agree that that you look sexy?" you reply.'
-		'"Well yeah, but I can''t see myself wearing it outside of here," she answers.' 
+		'"Well yeah, but I can''t see myself wearing it outside of here," she answers.'
 	elseif katjaQW['slut'] >= 20:
 		'"What were you thinking, <<$pcs_nickname>>?!" she says. "These are clothes for sluts!"'
 		'"Come on, you look so sexy in them!" you reply.'
@@ -353,12 +353,12 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 	else
 		'"What the heck? Are you trying to turn me into a prostitute?!" she almost yells.'
 		'"Come on, you look so sexy in them!" you reply.'
-		'"We are not having this conversation! This is coming off right now!"'  
+		'"We are not having this conversation! This is coming off right now!"'
 	end
 	act 'Ask her to turn around':
 		*clr & cla
 		minut += 2
-		gs 'stat'	
+		gs 'stat'
 		if katjaQW['slut'] < 20:
 			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 			'"Come on, turn around and let me see you from behind," you say.'
@@ -376,7 +376,7 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 			act 'Continue':
 				*clr & cla
 				minut += 1
-				gs 'stat'	
+				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_3.jpg"></center>'
 				'"Well, this was fun, but I should change back," she says while starting to unbutton the shirt.'
 				if npc_sex['A14'] > 0 and katjaQW['slut'] > 60 and rand(0,3) = 0 and katjaQW['sex_clossedness'] < 2:
@@ -392,7 +392,7 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 								act 'Ask her to put on a show (<<will_cost>> Willpower)':
 									gs 'willpower', 'pay', 'force'
 									gs 'stat'
-									gt 'katja_city', 'pussy_cat_outfit1_strip'					
+									gt 'katja_city', 'pussy_cat_outfit1_strip'
 								end
 							else
 								act 'Ask her to put on a show (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -402,7 +402,7 @@ if $ARGS[0] = 'pussy_cat_outfit1':
 					act 'Let her change clothes in peace':
 						*clr & cla
 						minut += 3
-						gs 'stat'	
+						gs 'stat'
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_3.jpg"></center>'
 						'Katja finishes changing back to her original clothes and you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 						act 'Leave': minut += 2 & gt $loc, $loc_arg
@@ -428,12 +428,12 @@ if $ARGS[0] = 'pussy_cat_outfit1_strip':
 				act 'Ask her to touch herself (<<will_cost>> Willpower)':
 					gs 'willpower', 'pay', 'force'
 					gs 'stat'
-					gt 'katja_city', 'pussy_cat_outfit1_play'					
+					gt 'katja_city', 'pussy_cat_outfit1_play'
 				end
 			else
 				act 'Ask her to touch herself (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
-			act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit1_strip2' 
+			act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit1_strip2'
 		end
 	else
 		act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit1_strip2'
@@ -469,7 +469,7 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 		'As she gets closer to cumming, she removes her hand from her breast and pulls down the pants so that her other hand has better access.'
 		if katjaQW['know_butt_plug'] = 0:
 			'Out of your eye, you notice that her bag is open and see something that surprises you. You open the bag and pull out a butt plug and vibrator.'
-			'"Well, well, what do we have here?" you say as you show your findings to Katja, who immediately stops what she''s doing and blushes bright red.' 
+			'"Well, well, what do we have here?" you say as you show your findings to Katja, who immediately stops what she''s doing and blushes bright red.'
 			'"I... Vicky gave them to me when I moved to the dorm. They aren''t something I would use!" she stammers.'
 			'"Then why are they in your bag if you don''t use them?" you ask.'
 			'"Because I don''t want Sofia to find them! That girl gets into all my stuff and if she finds them, she won''t stop asking me about it," she answers.'
@@ -493,14 +493,14 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 			gs 'stat'
 			if npc_ass['A14'] = 0:
 				npc_ass['A14'] = 1
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_7a.jpg"></center>'		
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_7a.jpg"></center>'
 				'"I''ve never put anything in my butt before!" she protests.'
 				'"There''s a first time for everything," you reply. "Lick it first to lubricate it."'
 				'She does as you say and starts licking the butt plug. "I think it''s wet enough for you to put it in now," you say after a minute. "Lie down in the chair; it''ll be easier to put it in from that position."'
 				'She moves to the chair and guides the butt plug to her ass. She starts pushing it in, but clearly meets some resistance. "Take your time," you say, but she seems determined and after a short while she pushes the butt plug completely into her ass with a slight groan of pain.'
 			else
 				if npc_ass['A14'] < 5: npc_ass['A14'] += 1
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_7b.jpg"></center>'		
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_7b.jpg"></center>'
 				'Katja takes the butt plug and starts licking it. After a minute or so, she lies down in the chair and starts pushing the butt plug into her ass.'+iif(npc_ass['A14'] <= 5, ' You can see that there is some resistance and she holds back some near inaudible groans of pain.', 'The butt plug goes in without any resistance, and she pulls it back and forth a little while moaning slightly.')
 			end
 			act 'Watch her reaction':
@@ -508,18 +508,18 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 				gs 'arousal', 'foreplay', 2
 				katjaQW['horny'] += 10
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_8.jpg"></center>'		
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_8.jpg"></center>'
 				'Katja breathes in and out heavily and opens her eyes to look at you as she starts to gently play with her pussy.'
 				act 'Give her the vibrator':
 					*clr & cla
 					gs 'arousal', 'foreplay', 2
 					katjaQW['horny'] += 10
 					gs 'stat'
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_9.jpg"></center>'		
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_9.jpg"></center>'
 					'"Here. Use this," you say as you turn on the vibrator and give it to her. '+iif(katjaQW['masturbates'] = 1 or katjaQW['know_butt_plug'] = 1, 'She clearly knows what she''s doing and puts it to her clit and starts to moan.', 'She looks at it a little nervously. You''re just about to give her some pointers when she puts it to her clit and lets out a loud moan.')
 					act 'Masturbate while you watch':
 						*clr & cla
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_10.jpg"></center>'		
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_10.jpg"></center>'
 						'You put you hand down your '+iif(CloSkirtShortness > 0, 'skirt', 'pants')+' and start rubbing your clit as you watch Katja. She starts really getting into it, and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
 						gs 'arousal', 'foreplay', 3
 						gs 'arousal', 'clit_finger', -3, 'masturbate'
@@ -534,11 +534,11 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 						'"Thanks. I think," she says while blushing. "Let me get changed," she says and starts taking off the rest of the shirt.'
 						'She starts to take out the butt plug, but you stop her. "Keep it in until you get home. It will be a good experience for you," you say. She blushes, but keeps it in as she puts on her clothes.'
 						'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
-						act 'Leave': minut += 2 & gt $loc, $loc_arg		
+						act 'Leave': minut += 2 & gt $loc, $loc_arg
 					end
 					act 'Just watch her':
 						*clr & cla
-						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_10.jpg"></center>'		
+						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_1_10.jpg"></center>'
 						'You intensively watch Katja. She starts really getting into it and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a tremendous orgasm. After that, she simply lies on the chair, recovering her breath.'
 						gs 'arousal', 'foreplay', 3
 						gs 'arousal', 'end'
@@ -547,12 +547,12 @@ if $ARGS[0] = 'pussy_cat_outfit1_play':
 						katjaQW['slut'] += 4
 						gs 'stat'
 						*nl
-						'After she comes down, she says, "Wow, that was intense!"' 
-						'"It was a fantastic show," you tell her.' 
-						'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.' 
-						'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.' 
+						'After she comes down, she says, "Wow, that was intense!"'
+						'"It was a fantastic show," you tell her.'
+						'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.'
+						'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.'
 						'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
-						act 'Leave': minut += 2 & gt $loc, $loc_arg		
+						act 'Leave': minut += 2 & gt $loc, $loc_arg
 					end
 				end
 			end
@@ -572,13 +572,13 @@ if $ARGS[0] = 'pussy_cat_outfit2':
 	act 'She starts to change':
 		*clr & cla
 		minut += 2
-		gs 'stat'	
+		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_2.jpg"></center>'
-		'As Katja gets ready to change, she lets the shirt hang loose and it falls around her bra, emphasizing her breasts.' 
+		'As Katja gets ready to change, she lets the shirt hang loose and it falls around her bra, emphasizing her breasts.'
 		act 'Ask if her panties match her bra':
 			*clr & cla
 			minut += 3
-			gs 'stat'	
+			gs 'stat'
 			if katjaQW['slut'] < 40:
 				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 				'"So do your panties match the bra?" you ask.'
@@ -594,8 +594,8 @@ if $ARGS[0] = 'pussy_cat_outfit2':
 				'After a moment''s hesitation, she relents. "Okay."'
 				'She slowly pulls up the skirt to reveal her smoothly shaved pussy.'
 				if katjaQW['pantiesQWstage'] >= 5:
-					'"See? My panties always match my bra," she says. "No need for them to match when you don''t wear any."' 
-				else 
+					'"See? My panties always match my bra," she says. "No need for them to match when you don''t wear any."'
+				else
 					if katjaQW['pantiesQWstage'] < 4: katjaQW['pantiesQWstage'] += 1
 					'It''s clear from her reddening face that she''s embarrassed by you seeing her without panties.'
 					'"Don''t say anything," she says. "It''s just that all my panties are in the laundry," she says, not sounding very truthful. "I normally never go without panties."'
@@ -615,7 +615,7 @@ if $ARGS[0] = 'pussy_cat_outfit2':
 								act 'Ask her to put on a show (<<will_cost>> Willpower)':
 									gs 'willpower', 'pay'
 									gs 'stat'
-									gt 'katja_city', 'pussy_cat_outfit2_strip'					
+									gt 'katja_city', 'pussy_cat_outfit2_strip'
 								end
 							else
 								act 'Ask her to put on a show (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -625,7 +625,7 @@ if $ARGS[0] = 'pussy_cat_outfit2':
 					act 'Let her change clothes in peace':
 						*clr & cla
 						minut += 3
-						gs 'stat'	
+						gs 'stat'
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_2.jpg"></center>'
 						'Katja finishes changing and you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
 						act 'Leave': minut += 2 & gt $loc, $loc_arg
@@ -651,12 +651,12 @@ if $ARGS[0] = 'pussy_cat_outfit2_strip':
 				act 'Ask her to touch herself (<<will_cost>> Willpower)':
 					gs 'willpower', 'pay', 'force'
 					gs 'stat'
-					gt 'katja_city', 'pussy_cat_outfit2_play'					
+					gt 'katja_city', 'pussy_cat_outfit2_play'
 				end
 			else
 				act 'Ask her to touch herself (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
-			act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit2_strip2' 
+			act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit2_strip2'
 		end
 	else
 		act 'Let her finish the show': gt 'katja_city', 'pussy_cat_outfit2_strip2'
@@ -685,7 +685,7 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 	'Katja stops taking off the shirt and moves her hand to her pussy, slowly starting to play with it. She seems to getting really into it.'
 	if katjaQW['know_butt_plug'] = 0:
 		'Out of your eye, you notice that Katja''s bag is open and see something that surprises you. You open the bag and pull out a butt plug and a vibrator.'
-		'"Well, well, what do we have here?" you say as you show your findings to Katja, who immediately stops what she''s doing and blushes bright red.' 
+		'"Well, well, what do we have here?" you say as you show your findings to Katja, who immediately stops what she''s doing and blushes bright red.'
 		'"I... Vicky gave them to me when I moved to the dorm. They aren''t something I would use!" she stammers.'
 		'"Then why are they in your bag if you don''t use them?" you ask.'
 		'"Because I don''t want Sofia to find them! That girl gets into all my stuff and if she finds them, she won''t stop asking me about it," she answers.'
@@ -707,7 +707,7 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 		gs 'arousal', 'foreplay', 5
 		katjaQW['horny'] += 10
 		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_6.jpg"></center>'		
+		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_6.jpg"></center>'
 		if npc_ass['A14'] = 0:
 			npc_ass['A14'] = 1
 			'"I''ve never put anything in my butt before!" she protests.'
@@ -723,18 +723,18 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 			gs 'arousal', 'foreplay', 2
 			katjaQW['horny'] += 10
 			gs 'stat'
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_7.jpg"></center>'		
+			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_7.jpg"></center>'
 			'She breathes in and out heavily and opens her eyes to look at you as she starts to gently play with her pussy.'
 			act 'Give her the vibrator':
 				*clr & cla
 				gs 'arousal', 'foreplay', 2
 				katjaQW['horny'] += 10
 				gs 'stat'
-				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_8.jpg"></center>'		
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_8.jpg"></center>'
 				'"Here. Use this," you say as you turn on the vibrator and give it to her. '+iif(katjaQW['masturbates'] = 1 or katjaQW['know_butt_plug'] = 1, 'Katja clearly knows what she''s doing and uses one hand to spread her pussy lips, puts the vibrator to her clit with the other and starts to moan.', 'Katja looks at it a little nervously, and then starts putting it around her pussy. You''re just about to give her some pointers when she finally uses one hand to spread her pussy lips and puts the vibrator to her clit with the other, letting out a loud moan.')
 				act 'Masturbate while you watch':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_9.jpg"></center>'		
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_9.jpg"></center>'
 					'You put your hand down your '+iif(CloSkirtShortness > 0, 'skirt', 'pants')+' and start rubbing your clit while you watch Katja. She starts really getting into it and seems to have a hard time keeping her voice down. After a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
 					gs 'arousal', 'foreplay', 3
 					gs 'arousal', 'clit_finger', -3, 'masturbate'
@@ -744,16 +744,16 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 					katjaQW['slut'] += 4
 					gs 'stat'
 					*nl
-					'After she comes down, she says, "Wow, that was intense!"' 
-					'"It was a fantastic show," you tell her.' 
-					'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.' 
-					'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.' 
+					'After she comes down, she says, "Wow, that was intense!"'
+					'"It was a fantastic show," you tell her.'
+					'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.'
+					'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.'
 					'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
-					act 'Leave': minut += 2 & gt $loc, $loc_arg		
+					act 'Leave': minut += 2 & gt $loc, $loc_arg
 				end
 				act 'Just watch':
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_9.jpg"></center>'		
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/mall/cats_2_9.jpg"></center>'
 					'You intensely watch Katja as she starts really getting into it. She seems to have a hard time keeping her voice down and after a few minutes, she starts convulsing and has a powerful orgasm. Afterwards, she just lies in the chair, catching her breath.'
 					gs 'arousal', 'foreplay', 3
 					gs 'arousal', 'end'
@@ -762,12 +762,12 @@ if $ARGS[0] = 'pussy_cat_outfit2_play':
 					katjaQW['slut'] += 4
 					gs 'stat'
 					*nl
-					'After she comes down, she says, "Wow, that was intense!"' 
-					'"It was a fantastic show," you tell her.' 
-					'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.' 
-					'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.' 
+					'After she comes down, she says, "Wow, that was intense!"'
+					'"It was a fantastic show," you tell her.'
+					'"Thanks. I guess," she adds while blushing. "Let me get changed," she adds and begins to remove the rest of the shirt.'
+					'She tries to take out the buttplug, but you stop her. "Keep it in until you get home. It will be a great experience for you," you say. She blushes, but keeps it in and starts putting on her clothes.'
 					'A few minutes later, you leave the store. "That was fun, <<$pcs_nickname>>," she says. "We should do this again!" She then waves goodbye and leaves you alone in the mall.'
-					act 'Leave': minut += 2 & gt $loc, $loc_arg		
+					act 'Leave': minut += 2 & gt $loc, $loc_arg
 				end
 			end
 		end

部分文件因文件數量過多而無法顯示