89 Commits 4063d0dbb1 ... 90e5c7f34e

Auteur SHA1 Message Date
  maankamara 90e5c7f34e [fix]typo in willpower calculation's passed arguments ATGS->ARGS il y a 11 mois
  maankamara fa6d739209 [fix] missing action for nerds with girls drinking beer outside pav apartments il y a 11 mois
  maankamara db794fdf6b [fixed]Syntax of a bunch of time advance statements were wrong, only printing a number in main screen. il y a 11 mois
  anjuna krokus 175d5b5160 [added] placeholders for browsing assbook and visiting your friends pages. il y a 11 mois
  anjuna krokus af879e34d4 [added] the option to upload selfies to the assbook website. It still looks shit, but it (should) work il y a 11 mois
  anjuna krokus 9761391750 [removed] the "fix clothing" call, since pcs_hips should now be unchanged il y a 11 mois
  anjuna krokus d0f749b01c Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  bgkjdgbizgblzdgbr 094f05b376 [fixed] Debit limit added to using the card at the clinics. il y a 11 mois
  anjuna krokus 66dd1357d0 [fixed] blank screen when accepting the smuggle questline il y a 11 mois
  Kevin_Smarts 19c90c730a [updated] Purses for full custom were so out of date many were missing il y a 11 mois
  anjuna krokus 1555c78353 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  Kevin_Smarts bdf0b98f9a Merge remote-tracking branch 'Anjuna/master' il y a 11 mois
  anjuna krokus 596d64bc8d Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  bgkjdgbizgblzdgbr 3f4089eb7b Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  bgkjdgbizgblzdgbr a51dd934cc [changed] The cost of willpower call using the force type is now scaled with the player characters persuasion. il y a 11 mois
  anjuna krokus bb7e0bd3e0 [removed] unneeded bodymass fixing in body, softreset now that everything is (hopefully) properly initialised il y a 11 mois
  anjuna krokus 9bc62a1dd6 [fixed] Instead of only setting your starting mass distribution to genetic (which works for the range of body mass >= 50 and body mass <= 60), or as determined by your starting weight (wich works better in every other case), we now use the appropriate value which should prevent any sudden changes at the start. il y a 11 mois
  anjuna krokus 5aceb5d517 [fixed] some more fixes in body to ensure that the starting mass distribution is truly as defined in the start il y a 11 mois
  anjuna krokus b17240bc5e [fixed] a typing error which caused genbsize to not update properly when loading an old save. Found due to testing by BBZ01. il y a 11 mois
  anjuna krokus 31cfeb3c17 [fixed] issues arround getting payed for the experimental trials, the table layout, and the hair extension not working. Credits to Felix for finding the payment issue and the noticing the problem with the table layout il y a 11 mois
  Kevin_Smarts fd36109ca7 [fixed] This one should be pink il y a 11 mois
  Kevin_Smarts 0c8dcb6fec [fixed] 𝑍𝑒𝑑𝑟𝑡🍮 — Today at 17:15 il y a 11 mois
  bgkjdgbizgblzdgbr 984100dc67 [fixed] Some Katja uni bugs. il y a 11 mois
  LinaHirata 2e94519b48 [changed] a bit more readable code for shaving options, should also take couple cycles less to run il y a 11 mois
  Kevin_Smarts 7262091433 Revert "[fixed] added two styles back in" il y a 11 mois
  Kevin_Smarts 3d2e5a1639 Merge remote-tracking branch 'Netuttki/master' il y a 11 mois
  Kevin_Smarts 1a866fd650 Merge remote-tracking branch 'Anjuna/master' il y a 11 mois
  hornguy6 d4dfb6fc41 [added] seeding in preparation for boy falling asleep after sex il y a 11 mois
  hornguy6 364bfbadc2 [added] peeing after sex il y a 11 mois
  hornguy6 e8be9d705e [added] filming during sex il y a 11 mois
  hornguy6 a421a34970 [fixed] gosubbing wrong location il y a 11 mois
  hornguy6 06f1ab2392 [fixed] loc should be hotel_room il y a 11 mois
  hornguy6 459dbd4911 [fixed] 0 should be 1 il y a 11 mois
  hornguy6 5dec8d693a [fixed] missing $ il y a 11 mois
  hornguy6 853f5b3514 [fixed] possible dead end il y a 11 mois
  anjuna krokus d82563be6b [change] split up listretrieve to support showing part of the total selfie catalogue (aka only the clothed, the non-nude, only nudes, etc). Added more options in the "select a selfie" section of phone_selfies_popup to better support sending/uploading selfies il y a 11 mois
  anjuna krokus 4551b7ac5e Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  rachels 0a52e7714a [fixed] typos il y a 11 mois
  anjuna krokus 8dc819ca19 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  anjuna krokus 1f76298c4c [fixed] leftover use of func in phone_selfies_popup il y a 11 mois
  netuttki a0b6613e5b Merge remote-tracking branch 'Kevin-upstream/master' il y a 11 mois
  Kevin_Smarts 752d66b665 Merge remote-tracking branch 'Anjuna/master' il y a 11 mois
  anjuna krokus ab4c4b5864 [added] Assbook, the #1 social media site in Russia. Extrapolated from existing content (blackmailing somebody you took a picture of) and added the absolute minimum (let's be honest, even less than that) to make it work. In the future you can upload pictures and selfies to your page, and maybe even earn some money from your lonely fans il y a 11 mois
  netuttki baa6351fea Old prostitution content set prostitution flag - see description il y a 11 mois
  netuttki f7b6461b4b Merge remote-tracking branch 'Kevin-upstream/master' il y a 11 mois
  Hooded Silence 278756c17a [Fixes - Dance School] All images should now work, numerous bugs, QOL and text fixes. Residential Dance school should now be release complete. Further School content will be added next release. il y a 11 mois
  Kevin_Smarts e211657947 Merge remote-tracking branch 'Hornguy6/master' il y a 11 mois
  hornguy6 d03721adf8 [added] teeth description to the mirror il y a 11 mois
  anjuna krokus 6de71b60a0 [fixed] small bugs related to the new additions to the phone_selfies il y a 11 mois
  anjuna krokus 4278e19bd4 [changed] small changes to phone_selfies in preparation to upload/send selfies il y a 11 mois
  anjuna krokus bfb0a24179 [changed] some tiny layout changes in city_residential, tatiana_lab, and telefon il y a 11 mois
  anjuna krokus e722bfbfda [fixed] some bugs in the experimental trials il y a 11 mois
  anjuna krokus 8a90fe3b7b [fixed] an issue in the city residential appartment hallway not being marked as public indoor il y a 11 mois
  anjuna krokus c0cf8bf6d2 [fixed/added] Fixed a softlock in pav_pool which happend if you're nude without any swimwear left. Added remaining content surrounding (un)dressing in the pav pool locker room il y a 11 mois
  Kevin_Smarts 13cc5e3bee Merge remote-tracking branch 'Hornguy6/master' il y a 11 mois
  hornguy6 11a9c14fb3 [fixed] commented out WIP content il y a 11 mois
  anjuna krokus 462e09c5ef [changed/fixed] fixed vhips not updating properly... Whoops... Changed the frequency at which the "your breasts/butt seem fuller/smaller" messeges fire. il y a 11 mois
  Kevin_Smarts aa75d1da03 [fixed] Logic holes giving no actions and a typo, both reported on F95 il y a 11 mois
  Kevin_Smarts 20e69c1979 Merge remote-tracking branch 'Felix/master' il y a 11 mois
  Kevin_Smarts 12d244344f Merge remote-tracking branch 'Hooded_Silence/master' il y a 11 mois
  LinaHirata 11eee57c59 [fixed] clothing now uses new themes system il y a 11 mois
  Hooded Silence 59258a862b [Feature Update, code fixes] Now restored the ability to actually attend the dance school from the residence. Residence, Class and Journal code refactored. Numerous bug fixes including image paths fixed. Fixed minor display discrepancy for makeQSP. il y a 11 mois
  Kevin_Smarts 508baadeec Merge remote-tracking branch 'Anjuna/master' il y a 11 mois
  anjuna krokus 357ca41974 [fixed] booty_call not working as intended il y a 11 mois
  anjuna krokus 4639ba6e32 [changed] $body_image now uses bmi instead of salocat. BMI values have been calibrated to fall at the same salocat values il y a 11 mois
  hornguy6 2dbf0e9d47 [changed] testing new form of morning after pill which functions more like real life - delays ovulation by a certain amount of time, if you are already ovulating you are SOL il y a 11 mois
  hornguy6 328d704f3d [fixed] location of pickup was the wrong string il y a 11 mois
  hornguy6 8c64865e98 [changed] blue color to orange il y a 11 mois
  hornguy6 de25d12866 [changed] birth control msg text edits il y a 11 mois
  hornguy6 5bc2fbb2a3 [added] stat tracking for cigarettes il y a 11 mois
  hornguy6 70370a4283 [fixed] 1 should be 0, > should be >= il y a 11 mois
  hornguy6 e28abf022d [fixed] added two styles back in il y a 11 mois
  hornguy6 16e8e4aa18 [added] some more strings to keep track of pubic shaving patterns il y a 11 mois
  anjuna krokus 070d828dc6 [fixed] bug in intro_customization related to butt genetics il y a 11 mois
  anjuna krokus 2104c0db77 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  anjuna krokus 6fb8f3bfe0 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  Kevin_Smarts 56ec2f0c4e Merge branch 'master' of https://git.tfgames.site/anjuna/Girl-Life-Anjuna il y a 11 mois
  anjuna krokus a4a4157901 [fixed] made pre_planned_booty_call work il y a 11 mois
  Kevin_Smarts e167083083 [fixed] I dun't speel gud il y a 11 mois
  anjuna krokus 90a65bd75a Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife il y a 11 mois
  Kevin_Smarts 6a338ca132 [fixed] File path for parcer wasn't correct il y a 11 mois
  anjuna krokus 3bca9f3e6f [changed/fixed] Updated the outdated variable names to increase readability. Fixed some bugs in booty_all_sms il y a 11 mois
  Kevin_Smarts a07475678a [update] New version of parcer added il y a 11 mois
  Kevin_Smarts aaa47cd1b1 Merge remote-tracking branch 'Hornguy6/master' il y a 11 mois
  hornguy6 3f1443ef91 [fixed] added else location if you do have a home in the city il y a 11 mois
  LinaHirata 54eab93636 [fixed] interacting with `Show Debug` toggle now also sets `debug_warning_closed` var il y a 11 mois
  anjuna krokus 3faf39f0cc [added/fixed] Updated saveupdater to use the correct calculation for bodymass. Should prevent large jumps in weights. Updated all intros to use the new body weight values. Added the option to set your genetic butt size in intro_customization. Removed a floating tab from intro_sg_select_custom il y a 11 mois
  maankamara 4063d0dbb1 [fixed]Syntax of a bunch of time advance statements were wrong, only printing a number in main screen. il y a 11 mois
  netuttki b24220ab85 Merge remote-tracking branch 'Kevin-upstream/master' il y a 11 mois
75 fichiers modifiés avec 2527 ajouts et 1206 suppressions
  1. 2 2
      MakeQSP.bat
  2. 1 0
      glife.qproj
  3. 2 2
      locations/Cheatmenu_din.qsrc
  4. 7 7
      locations/Komp.qsrc
  5. 55 24
      locations/_body_image.qsrc
  6. 8 6
      locations/albina_chat.qsrc
  7. 1 1
      locations/ballet_global_evt.qsrc
  8. 76 38
      locations/body.qsrc
  9. 5 1
      locations/body_desc.qsrc
  10. 1 2
      locations/booty_call.qsrc
  11. 600 342
      locations/booty_call_sms.qsrc
  12. 9 8
      locations/city_apt_building.qsrc
  13. 18 18
      locations/city_clinic.qsrc
  14. 1 1
      locations/city_experimental_trials.qsrc
  15. 5 5
      locations/city_experimental_trials_events.qsrc
  16. 19 16
      locations/city_experimental_trials_list.qsrc
  17. 1 1
      locations/city_residential.qsrc
  18. 1 0
      locations/city_trashplace.qsrc
  19. 3 5
      locations/clothing.qsrc
  20. 5 9
      locations/core_library.qsrc
  21. 5 5
      locations/dateM.qsrc
  22. 4 4
      locations/din_bad.qsrc
  23. 35 14
      locations/din_van.qsrc
  24. 1 0
      locations/drugs.qsrc
  25. 1 1
      locations/emp_functions.qsrc
  26. 18 18
      locations/intro_city_select.qsrc
  27. 81 19
      locations/intro_customization.qsrc
  28. 19 19
      locations/intro_sg_select.qsrc
  29. 1 1
      locations/intro_sg_select_custom.qsrc
  30. 0 1
      locations/journal.qsrc
  31. 7 6
      locations/journal_quests.qsrc
  32. 3 3
      locations/katja_city.qsrc
  33. 2 2
      locations/katja_city_sex.qsrc
  34. 5 5
      locations/kiosk.qsrc
  35. 313 0
      locations/komp_assbook.qsrc
  36. 8 0
      locations/medical_din.qsrc
  37. 28 2
      locations/mirror.qsrc
  38. 4 2
      locations/mother.qsrc
  39. 21 25
      locations/npc_3501_init.qsrc
  40. 1 1
      locations/npc_3510_init.qsrc
  41. 10 7
      locations/npcgeneratec.qsrc
  42. 7 2
      locations/npcpreservec.qsrc
  43. 1 0
      locations/pav_aptcourtev.qsrc
  44. 18 18
      locations/pav_clinic.qsrc
  45. 1 0
      locations/pav_hotelReception.qsrc
  46. 4 1
      locations/pav_pool.qsrc
  47. 128 19
      locations/pav_pool_events.qsrc
  48. 189 134
      locations/phone_selfies.qsrc
  49. 30 6
      locations/phone_selfies_popup.qsrc
  50. 1 1
      locations/pushkin_ballet_center.qsrc
  51. 53 45
      locations/pushkin_ballet_class.qsrc
  52. 8 7
      locations/pushkin_ballet_evt.qsrc
  53. 5 6
      locations/pushkin_ballet_init.qsrc
  54. 167 110
      locations/pushkin_ballet_res.qsrc
  55. 31 17
      locations/saveupdater.qsrc
  56. 91 54
      locations/sex_ev_after.qsrc
  57. 283 26
      locations/sex_ev_events.qsrc
  58. 6 1
      locations/sex_ev_leave.qsrc
  59. 3 2
      locations/sex_ev_miss.qsrc
  60. 2 2
      locations/sex_ev_pillow_talk.qsrc
  61. 1 1
      locations/sex_ev_shower.qsrc
  62. 2 2
      locations/sex_ev_start.qsrc
  63. 5 0
      locations/sex_ev_stats.qsrc
  64. 1 1
      locations/sex_ev_work_talk1.qsrc
  65. 3 5
      locations/shoes.qsrc
  66. 31 31
      locations/stat_display.qsrc
  67. 1 0
      locations/street_walker.qsrc
  68. 1 1
      locations/stwork.qsrc
  69. 2 2
      locations/tatiana_lab.qsrc
  70. 1 1
      locations/telefon.qsrc
  71. 22 51
      locations/themes.qsrc
  72. 1 1
      locations/uni_admin.qsrc
  73. 3 2
      locations/wardrobe.qsrc
  74. 38 34
      locations/willpower.qsrc
  75. BIN
      tools/Parser/qsp_parser.exe

+ 2 - 2
MakeQSP.bat

@@ -15,7 +15,7 @@ set QGEN=tools\QGen5\QGen.exe
 set QSPFILE=glife.qsp
 
 :: Chimrod validation tool
-set QSPParser=tools\qsp_parser.exe
+set QSPParser=tools\Parser\qsp_parser.exe
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 
 :menu
@@ -69,7 +69,7 @@ if defined NOT_FOUND (
 )
 
 echo.
-echo ACTIONS: (B)uild  (R)un  (F)ull  (Q)Gen (V) Validate (E)xit
+echo ACTIONS: (B)uild  (R)un  (F)ull  (Q)Gen (V)alidate (E)xit
 echo.
 set /p action=Choose an action:
 

+ 1 - 0
glife.qproj

@@ -330,6 +330,7 @@
 		<Location name="kompMFCanal"/>
 		<Location name="kompMFCoral"/>
 		<Location name="komp_HF_or_not"/>
+		<Location name="komp_assbook"/>
 		<Location name="mirror"/>
 		<Location name="stol"/>
 		<Location name="kit_din"/>

+ 2 - 2
locations/Cheatmenu_din.qsrc

@@ -2156,9 +2156,9 @@ $cheatmenu['display'] = {
 	end
 	*nl
 	if loadg_show_debug = 0:
-		'Show Debug window on save load: Currently OFF - <a href="exec:loadg_show_debug = 1 & showobjs 1 & dynamic $cheatmenu[''display'']">Turn ON</a>'
+		'Show Debug window on save load: Currently OFF - <a href="exec:loadg_show_debug = 1 & debug_warning_closed = 1 & showobjs 1 & dynamic $cheatmenu[''display'']">Turn ON</a>'
 	else
-		'Show Debug window on save load: Currently ON - <a href="exec:loadg_show_debug = 0 & showobjs 0 & dynamic $cheatmenu[''display'']">Turn OFF</a>'
+		'Show Debug window on save load: Currently ON - <a href="exec:loadg_show_debug = 0 & debug_warning_closed = 1 & showobjs 0 & dynamic $cheatmenu[''display'']">Turn OFF</a>'
 	end
 	'</tr></table></b></center>'
 }

+ 7 - 7
locations/Komp.qsrc

@@ -56,9 +56,7 @@ if $ARGS[0] = 'browse':
 	gs 'stat'
 	menu_off = 0
 	
-	act 'Close the browser':
-		gt 'komp','start'
-	end
+	act 'Close the browser': gt 'komp','start'
 	
 	!! TODO: Update
 	!! check if the original account still valid?
@@ -85,7 +83,7 @@ if $ARGS[0] = 'browse':
 		if $access['noporn'] = 1:
 			"<b><<$access['noporn']>></b>"
 		end
-		if  camwhore = 1 and access['nocamshow'] = 1 and mc_inventory['tech_webcam'] = 1: 
+		if camwhore = 1 and access['nocamshow'] = 1 and mc_inventory['tech_webcam'] = 1: 
 			"<b><<$access['nocamshow']>></b>"
 		end
 		if func('homes_properties', 'is_property_of_status', 'owned', 'city_apartment') and husband = 0: act 'Rent your apartment out': gt 'komp', 'sale'
@@ -104,13 +102,15 @@ if $ARGS[0] = 'browse':
 
 		act 'Search for cable TV services (1:00)': gt 'komp', 'kabtv'
 		act 'Play an online game': gt 'KGstart'
+		act 'Check social media on Assbook': gt 'komp_assbook', 'main'
+		if shantfoto > 0: act 'Find the girl you took photos of in the park': gt 'komp_assbook', 'blackmail'
+
 		if fuckornot = 3: act 'Visit ''Fuckable or not'' site': $view_location = 'komp' & gt 'komp_HF_or_not', 'fuckornot'
 		if hotornot >= 2: act 'Visit ''Hot or not'' site': $view_location = 'komp' & gt 'komp_HF_or_not', 'hotornot'
-!!new code make sure it will work please
+
 		if fuckornot_uni = 1: act 'Visit ''Fuckable or not'' University site': $view_location = 'komp' & gt 'komp_HF_or_not', 'fuckornot_uni'
 		if hotornot_uni = 1: act 'Visit ''Hot or not'' University site': $view_location = 'komp' & gt 'komp_HF_or_not', 'hotornot_uni'
 		!!if bankAccount > 0: act 'Visit your bank, maybe to purchase more online time': gt 'komp', 'bank'
-		if shantfoto > 0: act 'Find the girl you took photos of in the park on "Assbook"': gt 'komp', 'foto'
 		if gor_dorm = 7: act 'Read letter from Eugene': gt 'etoexhib', 'pos91'
 		if camwhore = 1 and access['nocamshow'] = 0 and mc_inventory['tech_webcam'] = 1: act 'Go to MyFreeCams.org': gt 'komp_camgirl', 'start'
 		if (mid($start_type,1,2) = 'sg' and SchoolAtestat = 0) or func('uniutil', 'student', 'enrolled'): act 'Spend time studying': gt 'komp', 'study'
@@ -119,7 +119,7 @@ if $ARGS[0] = 'browse':
 end
 
 if $ARGS[0] = 'sale':
-	*clr & cla	
+	*clr & cla
 	!! TODO: Update time and internet
 	
 	!! IMPORTANT: What happens if an activity takes more time than the minutes Sveta has? We just say "You tried, but could not finish"?

+ 55 - 24
locations/_body_image.qsrc

@@ -3,34 +3,65 @@
 !for example, you can   VIEW FUNC('$body_image', 'body')   to view body image in popup window, and
 !pl $body_image_msg     to display extra texts
 
+!{
+if $ARGS[0] = 'BMI':
+	!!BMI Descriptions
+	if pcs_bmi < 16:
+		$bmi_desc = 'You are severely underweight.'
+	elseif pcs_bmi < 19:
+		$bmi_desc = 'You are underweight'
+	elseif pcs_bmi < 25:
+		$bmi_desc = 'You have a normal, healthy weight.'
+	elseif pcs_bmi < 30:
+		$bmi_desc = 'You are overweight.'
+	elseif pcs_bmi < 35:
+		$bmi_desc = 'You are moderately obese.'
+	elseif pcs_bmi < 40:
+		$bmi_desc = 'You are severely obese.'
+	elseif pcs_bmi < 45:
+		$bmi_desc = 'You are very severely obese.'
+	else
+		$bmi_desc = 'You are morbidly obese.'
+	end
+end
+}
+
 $body_image_msg = ''
 if $ARGS[0] = 'body':
 !!	This displays the body image; $bodimgsets[x9] is the folder name
 	if (knowpreg = 1 or (preg = 1 and thinkpreg = 1) or (preg = 1 and PregChem > 3600)) and bodset = 3:
-                if PregChem > 6216:
-                        $RESULT = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/8.jpg'
-                elseif PregChem < 2688:
-                        $RESULT = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/0.jpg'
-                else
-                        $RESULT = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/<<((PregChem - 2184)/504)>>.jpg'
-                end
-        elseif salocatnow >= 1 and salocatnow <= 5:
-                $RESULT = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/<<salocatnow>>.jpg'
-        elseif salocatnow <= 0:
-                $RESULT = 'images/pc/body/shape/0.jpg'
-        elseif salocatnow = 6:
-                if imgset6ovr[bodset] = 1:
-                        $RESULT = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/6.jpg'
-                else
-                        $RESULT = 'images/pc/body/shape/6.jpg'
-                end
-        else
-                if imgset7ovr[bodset] = 1:
-                        $RESULT = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/7.jpg'
-                else
-                        $RESULT = 'images/pc/body/shape/7.jpg'
-                end
-        end
+		if PregChem > 6216:
+			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/8.jpg'
+		elseif PregChem < 2688:
+			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/0.jpg'
+		else
+			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10)+9)]>>/<<((PregChem - 2184)/504)>>.jpg'
+		end
+	elseif pcs_bmi < 15 or (pcs_bmi = 15 and pcs_bmi[1] <= 1):
+		$result = 'images/pc/body/shape/0.jpg'
+	elseif pcs_bmi < 19 or (pcs_bmi = 19 and pcs_bmi[1] = 0):
+		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/1.jpg'
+	elseif pcs_bmi < 22 or (pcs_bmi = 22 and pcs_bmi[1] < 5):
+		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/2.jpg'
+	elseif pcs_bmi < 26:
+		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/3.jpg'
+	elseif pcs_bmi < 29 or (pcs_bmi = 29 and pcs_bmi[1] < 5):
+		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/4.jpg'
+	elseif pcs_bmi < 32 or (pcs_bmi = 32 and pcs_bmi[1] < 9):
+		$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/5.jpg'
+	elseif pcs_bmi < 36 or (pcs_bmi = 36 and pcs_bmi[1] < 4):
+		if imgset6ovr[bodset] = 1:
+			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/6.jpg'
+		else
+			$result = 'images/pc/body/shape/6.jpg'
+		end
+	else
+		if imgset7ovr[bodset] = 1:
+			$result = 'images/pc/body/shape/<<$bodimgsets[((bodset * 10) + 9)]>>/7.jpg'
+		else
+			$result = 'images/pc/body/shape/7.jpg'
+		end
+	end
 	$body_image_msg += 'You are <<pcs_hgt>>cm tall and <<$body>>'
 end
 

+ 8 - 6
locations/albina_chat.qsrc

@@ -31,16 +31,18 @@ if $ARGS[0] = 'small_talk2':
 		
 	else
 		!! Albina takes the lead
-		AlbinaQW['chat_rand'] = rand(1,2)
+		AlbinaQW['chat_rand'] = rand(1,3)
 		if AlbinaQW['chat_rand'] = 1:
 			gs 'albina_chat','job_talk1'
 		elseif AlbinaQW['chat_rand'] = 2:
-			if AlbinaQW['commando_know'] = 0:
+		!!	if AlbinaQW['commando_know'] = 0:
 				gs 'albina_chat','underwear_talk'
-			else
-				gs 'albina_chat','commando_talk'
-			end
-		elseif AlbinaQW['chat_rand'] = 3:
+		!!	else
+		!!		gs 'albina_chat','commando_talk'
+		!!	end
+		elseif AlbinaQW['chat_rand'] = 3 and $AlbinaQW['porn_talk'] ! '':
+			gs 'albina_chat2','recurrent_porn_talk1'
+		elseif AlbinaQW['chat_rand'] = 4:
 			gs 'albina_chat','pube_talk2'
 		else
 	!!		'Which girl do you think is the best dressed in our class?'

+ 1 - 1
locations/ballet_global_evt.qsrc

@@ -1,3 +1,3 @@
 # ballet_global_evt
 !! General world events 
---- ballet_global_evt---------------------------------
+--- ballet_global_evt ---------------------------------

+ 76 - 38
locations/body.qsrc

@@ -586,12 +586,8 @@ if $ARGS[0] = 'Redistribute_Mass':
 
 		!!===============    MAGIC    ===============!!
 		if magikDostup = 0 and magf2bdo = 1 and daystart > pcs_mass['magic_day'] and pcs_mana >= manamax / 2:
-			if bodyresetflag = 0: '<b>Your breasts seem fuller.</b>'
-
 			bodyVars['bust_magic'] += 1
-			if $ARGS[1] ! 'test':
-				if pcs_mass['body'] >= 80: pcs_mass['body'] -= 3
-			end
+			if pcs_mass['body'] >= 80: pcs_mass['body'] -= 3
 
 			pcs_mass['magic_day'] = daystart + rand(7, 14)
 
@@ -602,12 +598,8 @@ if $ARGS[0] = 'Redistribute_Mass':
 		!{
 		elseif salocatnow < salocatlast:
 			if magikDostup = 0 and bodyVars['bust_magic'] > 0 and salocatnow < 2:
-				if bodyresetflag = 0: '<b>Your breasts seem to be getting smaller.</b>'
-
 				bodyVars['bust_magic'] -= 1
-				if $ARGS[1] ! 'test':
-					pcs_mass['body'] += 3
-				end
+				pcs_mass['body'] += 3
 				magf2bdo = 1
 			end
 		}
@@ -616,19 +608,15 @@ if $ARGS[0] = 'Redistribute_Mass':
 		!!===============    Low Weight    ===============!!
 		if pcs_mass['body'] < 10:
 			if pcs_mass['bust'] > 0:
-				if bodyresetflag = 0: '<b>Your breasts seem to be getting smaller.</b>'
-
 				temp_diff = min(pcs_mass['bust'], 3)
 				pcs_mass['bust'] -= temp_diff
-				if $ARGS[1] ! 'test': pcs_mass['body'] += temp_diff
+				pcs_mass['body'] += temp_diff
 			end
 
 			if pcs_mass['butt'] > 0:
-				if bodyresetflag = 0: '<b>Your ass seem to be getting smaller.</b>'
-
 				temp_diff = min(pcs_mass['butt'], 3)
 				pcs_mass['butt'] -= temp_diff
-				if $ARGS[1] ! 'test': pcs_mass['body'] += temp_diff
+				pcs_mass['body'] += temp_diff
 			end
 
 		else
@@ -641,26 +629,20 @@ if $ARGS[0] = 'Redistribute_Mass':
 				!!----------- Small -----------!!
 			if pcs_mass['body'] >= 50 and pcs_mass['bust'] < pcs_mass['bust_gen']:
 				if pcs_mass['bust'] < pcs_mass['bust_gen']:
-					if bodyresetflag = 0: '<b>Your breasts seem fuller.</b>'
-
 					temp_diff = min(pcs_mass['bust_gen'] - pcs_mass['bust'], 3)
 					pcs_mass['bust'] += temp_diff
-					if $ARGS[1] ! 'test': pcs_mass['body'] -= temp_diff
+					pcs_mass['body'] -= temp_diff
 				end
 
 				!!-----------    Growth    -----------!!
 			elseif temp_mass_bust > pcs_mass['bust']:
-				if bodyresetflag = 0: '<b>Your breasts seem fuller.</b>'
-
 				pcs_mass['bust'] += 1
-				if $ARGS[1] ! 'test': pcs_mass['body'] -= 1
+				pcs_mass['body'] -= 1
 
 				!!-----------    Shrink    -----------!!
 			elseif temp_mass_bust < pcs_mass['bust'] and pcs_mass['bust'] > 0:
-				if bodyresetflag = 0: '<b>Your breasts seem to be getting smaller.</b>'
-
 				pcs_mass['bust'] -= 1
-				if $ARGS[1] ! 'test': pcs_mass['body'] += 1
+				pcs_mass['body'] += 1
 			end
 
 
@@ -669,26 +651,20 @@ if $ARGS[0] = 'Redistribute_Mass':
 
 				!!----------- Small -----------!!
 			if pcs_mass['body'] >= 50 and pcs_mass['butt'] < pcs_mass['butt_gen']:
-				if bodyresetflag = 0: '<b>Your ass seem fuller.</b>'
-
 				temp_diff = min(pcs_mass['butt_gen'] - pcs_mass['butt'], 3)
 				pcs_mass['butt'] += temp_diff
-				if $ARGS[1] ! 'test': pcs_mass['body'] -= temp_diff
+				pcs_mass['body'] -= temp_diff
 
 				!!-----------    Rest    -----------!!
 			elseif temp_mass_ass > pcs_mass['butt']:
 				!if pcs_mass['butt'] < 2 * pcs_mass['butt_gen'] + 40:
-					if bodyresetflag = 0: '<b>Your ass seem fuller.</b>'
-
 					pcs_mass['butt'] += 1
-					if $ARGS[1] ! 'test': pcs_mass['body'] -= 1
+					pcs_mass['body'] -= 1
 				!end
 
 			elseif emp_mass_ass < pcs_mass['butt'] and pcs_mass['butt'] > 0:
-				if bodyresetflag = 0: '<b>Your ass seem to be getting smaller.</b>'
-
 				pcs_mass['butt'] -= 1
-				if $ARGS[1] ! 'test': pcs_mass['body'] += 1
+				pcs_mass['body'] += 1
 			end
 
 			killvar 'temp_total_mass'
@@ -697,10 +673,56 @@ if $ARGS[0] = 'Redistribute_Mass':
 			killvar 'temp_mass_ass'
 			killvar 'temp_diff'
 		end
+
+		if bodyresetflag = 0:
+			if pcs_mass['bust'] > pcs_mass['bust_message'] + 3:
+				pcs_mass['bust_message'] = pcs_mass['bust']
+
+				if pcs_mass['butt'] > pcs_mass['butt_message'] + 3:
+					pcs_mass['butt_message'] = pcs_mass['butt']
+					'<b>Your breasts and ass seem fuller</b>'
+
+				elseif pcs_mass['butt'] < pcs_mass['butt_message'] - 3:
+					pcs_mass['butt_message'] = pcs_mass['butt']
+					'<b>Your breasts seem fuller and ass seems to be getting smaller</b>'
+
+				else
+					'<b>Your breasts seem fuller</b>'
+				end
+
+			elseif pcs_mass['bust'] < pcs_mass['bust_message'] - 3:
+				pcs_mass['bust_message'] = pcs_mass['bust']
+
+				if pcs_mass['butt'] > pcs_mass['butt_message'] + 3:
+					pcs_mass['butt_message'] = pcs_mass['butt']
+					'<b>Your breasts seem to be getting smaller and your ass seems fuller</b>'
+
+				elseif pcs_mass['butt'] < pcs_mass['butt_message'] - 3:
+					pcs_mass['butt_message'] = pcs_mass['butt']
+					'<b>Your breasts and ass seem to be getting smaller</b>'
+
+				else
+					'<b>Your breasts seem to be getting smaller</b>'
+				end
+
+			else
+				if pcs_mass['butt'] > pcs_mass['butt_message'] + 3:
+					pcs_mass['butt_message'] = pcs_mass['butt']
+					'<b>Your ass seems fuller</b>'
+
+				elseif pcs_mass['butt'] < pcs_mass['butt_message'] - 3:
+					pcs_mass['butt_message'] = pcs_mass['butt']
+					'<b>Your ass seem to be getting smaller</b>'
+				end
+			end
+		else
+			pcs_mass['bust_message'] = pcs_mass['bust']
+			pcs_mass['butt_message'] = pcs_mass['butt']
+		end
 	end
 
 
-	gs 'body', 'Set_bust_vhips'
+	gs 'body', 'Update_vhips'
 
 	killvar 'salobustdo'
 	killvar 'temp_massbustchange'
@@ -733,6 +755,11 @@ if $ARGS[0] = 'Set_mass_distribution_using_body':
 	pcs_mass['butt'] = (pcs_mass['butt_gen'] * ARGS[1]) / 60
 
 	gs 'body', 'Reset_mass_distribution'
+	
+	pcs_mass['bust_message'] = pcs_mass['bust']
+	pcs_mass['butt_message'] = pcs_mass['butt']
+	
+	bodyVars['vhips'] = (pcs_mass['body'] - 60 + pcs_mass['butt'] - pcs_mass['butt_gen']) / 2
 end
 
 
@@ -816,7 +843,9 @@ if $ARGS[0] = 'softreset':
 	bodyresetflag = 1
 	:resetloop
 	if pcs_mass['body'] ! salolast:
-		if gamestartflag = 1: salobustdo = 1
+		if gamestartflag = 1:
+			salobustdo = 1
+		end
 		gs 'body', 'Update_Body'
 		jump 'resetloop'
 	end
@@ -878,6 +907,9 @@ if $ARGS[0] = 'hardreset':
 			end
 		end
 
+		pcs_mass['bust_message'] = pcs_mass['bust']
+		pcs_mass['butt_message'] = pcs_mass['butt']
+
 		bodyresetflag = 0
 		normbuffpick = 0
 		btwarn = 0
@@ -905,8 +937,14 @@ end
 if $ARGS[0] = 'initial':
 	!!	Sets the genetic bust size if it was not set in the start routines
 	if pcs_mass['bust_gen'] = 0: pcs_mass['bust_gen'] = 12
-	pcs_mass['bust'] = pcs_mass['bust_gen']
-	pcs_mass['butt'] = pcs_mass['butt_gen']
+	if pcs_mass['butt_gen'] = 0: pcs_mass['butt_gen'] = 20
+
+	if pcs_mass['body'] >= 50 and pcs_mass['body'] <= 60:
+		pcs_mass['bust'] = pcs_mass['bust_gen']
+		pcs_mass['butt'] = pcs_mass['butt_gen']
+	else
+		gs 'body', 'Set_mass_distribution_using_body', pcs_mass['body']
+	end
 
 	agilbuf = pcs_agil
 	strenbuf = pcs_stren

+ 5 - 1
locations/body_desc.qsrc

@@ -881,10 +881,13 @@ if $ARGS[0] = 'pubes':
 				$pube_style['shape'] = 'bush'
 				$pcs_pubes = 'You have neatly trimmed section of hair around your <a href="exec:view''<<FUNC(''$pube_image'')>>''">pussy</a>. <<$pirspiz>><br><<$clitsize>>'
 			elseif pubestyle = 12:
+				$pube_style['word'] = 'patch'
 				$pcs_pubes = 'You have cute little patch of bush at the top of your <a href="exec:view''<<FUNC(''$pube_image'')>>''">pussy</a>. <<$pirspiz>><br><<$clitsize>>'
 			elseif pubestyle = 13:
+				$pube_style['shape'] = 'strip'
 				$pcs_pubes = 'You have tidy strip of bush covering your <a href="exec:view''<<FUNC(''$pube_image'')>>''">pussy</a>. <<$pirspiz>><br><<$clitsize>>'
 			elseif pubestyle = 14:
+				$pube_style['shape'] = 'rectangle'
 				$pcs_pubes = 'You have neatly trimmed rectangle of hair just above your <a href="exec:view''<<FUNC(''$pube_image'')>>''">pussy</a>. <<$pirspiz>><br><<$clitsize>>'
 			else
 				if pubestyle = 2:
@@ -894,7 +897,7 @@ if $ARGS[0] = 'pubes':
 					$pube_style['shape'] = 'triangle'
 					$pcs_pubes = 'You have a cleanly trimmed mat of pubic hair in the <a href="exec:view''<<FUNC(''$pube_image'')>>''">shape of a triangle</a>. <<$pirspiz>><br><<$clitsize>>'
 				elseif pubestyle = 4:
-					$pube_style['shape'] = 'landing_strip'
+					$pube_style['shape'] = 'landing strip'
 					$pcs_pubes = 'You have a cleanly trimmed <a href="exec:view''<<FUNC(''$pube_image'')>>''">landing strip</a> between your legs. <<$pirspiz>><br><<$clitsize>>'
 				elseif pubestyle = 5:
 					$pube_style['shape'] = 'heart'
@@ -906,6 +909,7 @@ if $ARGS[0] = 'pubes':
 					$pube_style['shape'] = 'cross'
 					$pcs_pubes = 'You have a cleanly trimmed mat of pubic hair in the <a href="exec:view''<<FUNC(''$pube_image'')>>''">shape of a cross</a>. <<$pirspiz>><br><<$clitsize>>'
 				elseif pubestyle = 8:
+					$pube_style['shape'] = 'bush'
 					$pcs_pubes = 'You have a close-cropped lawn of pubic hair covering your <a href="exec:view''<<FUNC(''$pube_image'')>>''">pussy</a>. <<$pirspiz>><br><<$clitsize>>'
 				end
 			end

+ 1 - 2
locations/booty_call.qsrc

@@ -93,7 +93,6 @@ if $ARGS[0] = 'SMS raiser':
 	if i < arrsize('$FuckBuddy'):
 		if booty_call_time[$FuckBuddy[i]] < ((hour * 60) + minut) and npc_no_booty_call[$FuckBuddy[i]] ! daystart and npc_last_booty_call[$FuckBuddy[i]] ! daystart:
 			gs 'booty_call_sms', 'start', $FuckBuddy[i]
-			gs 'booty_call_sms', 'Add SMS', $FuckBuddy[i]
 			booty_call_time[$FuckBuddy[i]] = 2399
 			!! this is a bit superfluous, but it makes the code run faster.
 			booty_call_invite[$FuckBuddy[i]] = daystart
@@ -466,7 +465,7 @@ if $ARGS[0] = 'draw':
 	if booty_call['A0'] ! daystart :
 		$lover_drawn = $fuckbuddy[rand(0,arrsize('$fuckbuddy')-1)]
 		gs 'booty_call_sms', 'start',$lover_drawn
-		gs 'booty_call_sms', 'Add SMS', $lover_drawn
+!		gs 'booty_call_sms', 'Add SMS', $lover_drawn
 		booty_call['A0'] = daystart
 	end
 end

+ 600 - 342
locations/booty_call_sms.qsrc

@@ -1,416 +1,674 @@
 # booty_call_sms
 
-$SMSFrM = '<table width=80%><tr><td collspan=2 bgcolor="#D4CEF9"><font color=black> '
-$SMSBkM = '</font></td><td width=10%></td></tr></table>'
-$SMSFrF = '<table width=80%><tr><td width=10%></td><td collspan=2 bgcolor=pink><font color=black>'
-$SMSBkF = '</font></td></tr></table>'
+!!=====   Layout stuff   =====================================================================================!!
+!! Open and close receiving text
+$SMS_open_receiving = '<table width=80%><tr><td collspan=2 bgcolor="#D4CEF9"><font color=black>'
+$SMS_close_receiving = '</font></td><td width=10%></td></tr></table>'
+
+!! Open and close sending text
+$SMS_open_sending = '<table width=80%><tr><td width=10%></td><td collspan=2 bgcolor=pink><font color=black>'
+$SMS_close_sending = '</font></td></tr></table>'
+
+!! Start reply
+$SMS_open_replies = '<table><tr><th> Reply</th></tr><tr><td>'
+$SMS_next_reply = '</td></tr><tr><td>'
+$SMS_close_replies = '</td></tr></table>'
+!!=====   END Layout stuff   =====================================================================================!!
+
+
+
+
+!!=====   Reply example here =================================================================================!!
+
+!!  $temp_SMStext += $SMS_open_replies
+!!  	$temp_SMStext += '<a href="exec: gs ''>>Name of the location<<'', ''>>Name of the SMS Branch<<'', ''>>Name of the Choice<<'', telefon[''SMSid'']">' + 'TEXT' + '</a>'
+!!  	$temp_SMStext += $SMS_next_reply
+!!  	$temp_SMStext += '<a href="exec: gs ''>>Name of the location<<'', ''>>Name of the SMS Branch<<'', ''>>Name of the Choice<<'', telefon[''SMSid'']">' + 'TEXT' + '</a>'
+!!  	....
+!!  $temp_SMStext += $SMS_close_replies
+
+!!=====   END Reply example here =================================================================================!!
+
+
+!!=====   Adding Images to SMS ===============================================================================!!
+
+!!    You can add images at the end by manually setting:
+!!    $SMSPicture1[telefon['SMSid']] = Path to picture 1
+!!    $SMSPicture2[telefon['SMSid']] = Path to picture 2
+!!    $SMSPicture3[telefon['SMSid']] = Path to picture 3
+!!    $SMSPicture4[telefon['SMSid']] = Path to picture 4
+
+! You can also always add a picture to the text, scaling is an issue though
+
+
+!!=====   END Adding Images to SMS ===============================================================================!!
+
+
+
 
 if $ARGS[0] = 'start':
-	$booty_call_daily_id[i] = $FuckBuddy[i]
-!!	if npc_booty_call[$ARGS[1]] = daystart:
-!!		gs 'booty_call_sms', 'pre_planned_booty_call', $FuckBuddy[i]
-!!	elseif sugar_daddy_call[$FuckBuddy[i]] = 1:
-	if sugar_daddy_call[$FuckBuddy[i]] = 1:
-		gs 'booty_call_sms', 'sugar_daddy_booty_call', $FuckBuddy[i]
-	elseif npc_std_test[$FuckBuddy[i]] = 1:
-		gs 'booty_call_sms', 'std_free', $FuckBuddy[i]
-!!	elseif npc_booty_call[$FuckBuddy[i]] = daystart:
-!!		gs 'booty_call_sms', 'pre_planned_booty_call', $FuckBuddy[i]
+	$booty_call_daily_id[i] = $ARGS[1]
+
+	if npc_booty_call[$ARGS[1]] = daystart:
+		gs 'booty_call_sms', 'Add SMS2', 'pre_planned_booty_call', $ARGS[1]
+	elseif sugar_daddy_call[$ARGS[1]] = 1:
+		gs 'booty_call_sms', 'Add SMS', 'sugar_daddy_booty_call', $ARGS[1]
+	elseif npc_std_test[$ARGS[1]] = 1:
+		gs 'booty_call_sms', 'Add SMS', 'std_free', $ARGS[1]
 	else
-		gs 'booty_call_sms', 'default_booty_call', $FuckBuddy[i]
+		gs 'booty_call_sms', 'Add SMS', 'default_booty_call', $ARGS[1]
 	end
 end
 
-if $ARGS[0] = 'default_booty_call':	
+if $ARGS[0] = 'default_booty_call':
 	!! boy
-	$VM['0'] = dyneval('$result=''hey <<$pcs_nickname>>'' ')
-	
-	!! player
-	$VF[$ARGS[1]+'0'] = dyneval('$result=''hey <<$npc_nickname[$ARGS[1]]>>'' ')
-	
-	!! boy
-	$VM['1'] = 'ive been thinking about you'
-	
-	!! player response 1 option 1
-	$VF['1a'] = 'what were you thinking about?'
-	
-	!! boy response 1
-	if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3:
-		$VM['2a'] = 'i booked a hotel room in Pav. why dont you come by?'
-	else
-		if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0,2) = 1:
-			$VM['2a'] = 'your mouth around my cock'
-		elseif npc_know_virgin[$ARGS[1]] ! 1:
-			if $npc_cum_pref[$ARGS[1]] = 'creampie' and (npc_condom_conscious[$ARGS[1]] = 0 or npc_bareback[$ARGS[1]] = 1) and rand(0,2) = 1:
-				$VM['2a'] = 'your pussy filled with my cum'
-			elseif npc_sex_speed[$ARGS[1]] = 3 and rand(0,2) = 1:
-				$VM['2a'] = 'fucking you bowlegged'
-			elseif $npc_cum_pref[$ARGS[1]] = 'facial' and rand(0,2) = 1:
-				$VM['2a'] = 'your pretty face covered in my cum'
-			elseif $npc_cum_pref[$ARGS[1]] = 'mouth' and rand(0,2) = 1:
-				$VM['2a'] = 'watching you swallow my cum'
-			elseif $npc_cum_pref[$ARGS[1]] = 'tits' and rand(0,2) = 1:
-				$VM['2a'] = 'my cum all over your tits'
-			elseif $npc_fav_pos[$ARGS[1]] = 'doggy' and rand(0,2) = 1:
-				$VM['2a'] = 'pounding you on all fours'
-			elseif $npc_fav_pos[$ARGS[1]] = 'cowgirl' and rand(0,2) = 1:
-				$VM['2a'] = 'you riding my cock like crazy'			
-			else
-				if rand(0,1) = 1:
-					$VM['2a'] = 'you naked on my bed'
-				else
-					$VM['2a'] = 'want to come over and have some fun?'
-				end
-			end
-		end
-	end
-	
-	!! player response 1 option 2
-	$VF['1b'] = 'me too'
+	$SMSTree['0'] = dyneval('$result=''hey <<$pcs_nickname>>'' ')
+
+		!! player
+		$SMSTree['1'] = dyneval('$result=''hey <<$npc_nickname[$ARGS[1]]>>'' ')
+
+			!! boy
+			$SMSTree['2'] = 'ive been thinking about you'
+
+				!! player response 1 option 1
+				$SMSTree['a3'] = 'what were you thinking about?'
 	
-	!! boy response 2
-	if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3: 
-		$VM['2a'] = 'i booked a hotel room in Pav. why dont you come by?'
-	else
-		if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0,2) = 1:
-			$VM['2a'] = 'i want to feel your mouth around my cock'
-		elseif npc_know_virgin[$ARGS[1]] ! 1:
-			if $npc_cum_pref[$ARGS[1]] = 'creampie' and (npc_condom_conscious[$ARGS[1]] = 0 or npc_bareback[$ARGS[1]] = 1) and rand(0,2) = 1:
-				$VM['2a'] = 'i want to pump you full of cum'
-			elseif npc_sex_speed[$ARGS[1]] = 3 and rand(0,2) = 1:
-				$VM['2b'] = 'come over i want to hear you screaming my name'
-			elseif $npc_cum_pref[$ARGS[1]] = 'facial' and rand(0,2) = 1:
-				$VM['2a'] = 'i want to cum all over your face'
-			elseif $npc_cum_pref[$ARGS[1]] = 'mouth' and rand(0,2) = 1:
-				$VM['2a'] = 'i want to watch you swallow my cum'
-			elseif $npc_cum_pref[$ARGS[1]] = 'tits' and rand(0,2) = 1:
-				$VM['2a'] = 'let me glaze your tits with my cum'
-			elseif $npc_fav_pos[$ARGS[1]] = 'doggy' and rand(0,2) = 1:
-				$VM['2a'] = 'i want to pound you on all fours'
-			elseif $npc_fav_pos[$ARGS[1]] = 'cowgirl' and rand(0,2) = 1:
-				$VM['2a'] = 'i want you to ride my cock like theres no tomorrow'			
+					!! boy response 1
+					if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3:
+						$SMSTree['a4'] = 'i booked a hotel room in Pav. why dont you come by?'
+					else
+						if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0,2) = 1:
+							$SMSTree['a4'] = 'your mouth around my cock'
+						elseif npc_know_virgin[$ARGS[1]] ! 1:
+							if $npc_cum_pref[$ARGS[1]] = 'creampie' and (npc_condom_conscious[$ARGS[1]] = 0 or npc_bareback[$ARGS[1]] = 1) and rand(0,2) = 1:
+								$SMSTree['a4'] = 'your pussy filled with my cum'
+							elseif npc_sex_speed[$ARGS[1]] = 3 and rand(0,2) = 1:
+								$SMSTree['a4'] = 'fucking you bowlegged'
+							elseif $npc_cum_pref[$ARGS[1]] = 'facial' and rand(0,2) = 1:
+								$SMSTree['a4'] = 'your pretty face covered in my cum'
+							elseif $npc_cum_pref[$ARGS[1]] = 'mouth' and rand(0,2) = 1:
+								$SMSTree['a4'] = 'watching you swallow my cum'
+							elseif $npc_cum_pref[$ARGS[1]] = 'tits' and rand(0,2) = 1:
+								$SMSTree['a4'] = 'my cum all over your tits'
+							elseif $npc_fav_pos[$ARGS[1]] = 'doggy' and rand(0,2) = 1:
+								$SMSTree['a4'] = 'pounding you on all fours'
+							elseif $npc_fav_pos[$ARGS[1]] = 'cowgirl' and rand(0,2) = 1:
+								$SMSTree['a4'] = 'you riding my cock like crazy'
+							else
+								if rand(0,1) = 1:
+									$SMSTree['a4'] = 'you naked on my bed'
+								else
+									$SMSTree['a4'] = 'want to come over and have some fun?'
+								end
+							end
+						end
+					end
+
+				!! player response 1 option 2
+				$SMSTree['b3'] = 'me too'
+
+					!! boy response 2
+					if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3: 
+						$SMSTree['b4'] = 'i booked a hotel room in Pav. why dont you come by?'
+					else
+						if $npc_fav_pos[$ARGS[1]] = 'blowjob' and rand(0,2) = 1:
+							$SMSTree['b4'] = 'i want to feel your mouth around my cock'
+						elseif npc_know_virgin[$ARGS[1]] ! 1:
+							if $npc_cum_pref[$ARGS[1]] = 'creampie' and (npc_condom_conscious[$ARGS[1]] = 0 or npc_bareback[$ARGS[1]] = 1) and rand(0,2) = 1:
+								$SMSTree['b4'] = 'i want to pump you full of cum'
+							elseif npc_sex_speed[$ARGS[1]] = 3 and rand(0,2) = 1:
+								$SMSTree['b4'] = 'come over i want to hear you screaming my name'
+							elseif $npc_cum_pref[$ARGS[1]] = 'facial' and rand(0,2) = 1:
+								$SMSTree['b4'] = 'i want to cum all over your face'
+							elseif $npc_cum_pref[$ARGS[1]] = 'mouth' and rand(0,2) = 1:
+								$SMSTree['b4'] = 'i want to watch you swallow my cum'
+							elseif $npc_cum_pref[$ARGS[1]] = 'tits' and rand(0,2) = 1:
+								$SMSTree['b4'] = 'let me glaze your tits with my cum'
+							elseif $npc_fav_pos[$ARGS[1]] = 'doggy' and rand(0,2) = 1:
+								$SMSTree['b4'] = 'i want to pound you on all fours'
+							elseif $npc_fav_pos[$ARGS[1]] = 'cowgirl' and rand(0,2) = 1:
+								$SMSTree['b4'] = 'i want you to ride my cock like theres no tomorrow'
+							else
+								if rand(0,1) = 1:
+									$SMSTree['b4'] = 'lets fuck like bunnies today'
+								else
+									$SMSTree['b4'] = 'come over lets have some fun today'
+								end
+							end
+						end
+					end
+
+						!! player response 2 option 1
+						if hour < 21:
+							$SMSTree['aa5'] = 'sorry, i cant. i have stuff to do'
+							$SMSTree['ba5'] = $SMSTree['aa5']
+						else
+							$SMSTree['aa5'] = 'its late. text me sooner if you want me to come over.'
+							$SMSTree['ba5'] = $SMSTree['aa5']
+						end
+
+							!! boy response 2 option 1
+							$SMSTree['aa6'] = 'shit, maybe next time then'
+							$SMSTree['ba6'] = $SMSTree['aa6']
+
+
+						!! player response 2 option 2
+						$SMSTree['ab5'] = 'ill come right now ;)'
+						$SMSTree['bb5'] = $SMSTree['ab5']
+
+							!! boy response 2 option 2
+							if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 1:
+								$SMSTRee['ab6'] = 'im already hard'
+								$SMSTree['bb6'] = $SMSTree['ab6']
+							elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 1:
+								if rand(0,1) = 1:
+									$SMSTRee['ab6'] = 'in the street?? damn! keep it in your pants till you get here!'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								else
+									$SMSTRee['ab6'] = 'as long as you make me cum later'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								end
+							elseif npc_humor[$ARGS[1]] = 3 and rand(0,1) = 1:
+								$SMSTRee['ab6'] = 'phrasing'
+								$SMSTree['bb6'] = $SMSTree['a66']
+							else
+								$SMSTRee['ab6'] = 'cant wait'
+								$SMSTree['bb6'] = $SMSTree['ab6']
+							end
+end
+
+
+if $ARGS[0] = 'pre_planned_booty_call':
+	! boy
+	$SMSTree['0'] = dyneval('$result=''hey <<$pcs_nickname>>, you coming over?'' ')
+
+		! player choice 1 option 1
+		$SMSTree['a1'] = 'sorry, something came up'
+
+		! player choice 1 option 2
+		$SMSTree['b1'] = 'on my way now'
+
+			! boy
+			temp_rand = rand(0, 2)
+			if temp_rand = 0:
+				$SMSTree['b2'] = 'come over to my place lets fuck like bunnies'
+			elseif temp_rand = 1:
+				$SMSTree['b2'] = 'come over to my place i want to hear you screaming my name'
 			else
-				if rand(0,1) = 1:
-					$VM['2b'] = 'lets fuck like bunnies today'
-				else
-					$VM['2b'] = 'come over lets have some fun today'
-				end
+				$SMSTree['b2'] = 'come over to my place lets have some fun today'
 			end
-		end
-	end
-	
-	!! player response 2 option 1
-	if hour < 21:
-		$VF['2a'] = 'sorry, i cant. i have stuff to do'
-	else
-		$VF['2a'] = 'its late. text me sooner if you want me to come over.'
-	end
-	
-	!! boy response 2 option 1
-	$VM['3a'] = 'shit, maybe next time then'
-	
-	!! player response 2 option 2
-	$VF['2b'] = 'ill come right now ;)'
-	
-	!! boy response 2 option 2
-	if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 1:
-		$VM['3b'] = 'im already hard'
-	elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 1:
-		if rand(0,1) = 1:
-			$VM['3b'] = 'in the street?? damn! keep it in your pants till you get here!'
-		else
-			$VM['3b'] = 'as long as you make me cum later'
-		end
-	elseif npc_humor[$ARGS[1]] = 3 and rand(0,1) = 1:
-		$VM['3b'] = 'phrasing'
-	else
-		$VM['3b'] = 'cant wait'
-	end
-end
+			killvar 'temp_rand'
 
-if $ARGS[0] = 'pre_planned_booty_call':	
-	$VM['0'] = dyneval('$result=''hey <<$pcs_nickname>>, you coming over?'' ')
+				! player choice 2 option 1
+				$SMSTree['ba3'] = 'sorry, i cant. i have stuff to do'
 
-	$VF['1a'] = 'sorry, something came up'
-	$VF['1b'] = 'on my way now'
+					! boy
+					$SMSTree['ba4'] = 'shit, maybe next time then'
 
-	if rand(0,2) = 0:
-		$VM['2b'] = 'come over to my place lets fuck like bunnies'
-	else
-		if rand(0,1) = 0:
-			$VM['2b'] = 'come over to my place i want to hear you screaming my name'
-		else
-			$VM['2b'] = 'come over to my place lets have some fun today'
-		end
-	end
 
-	$VF['2a'] = 'sorry, i cant. i have stuff to do'
-	$VM['3a'] = 'shit, maybe next time then'
-
-	$VF['2b'] = 'ill come right now ;)'
-	if npc_humor[$ARGS[1]] <= 1:
-		$VM['3b'] = 'im already hard'
-	elseif npc_humor[$ARGS[1]] = 2:
-		if rand(0,1) = 1:
-			$VM['3b'] = 'in the street?? damn! keep it in your pants till you get here!'
-		else
-			$VM['3b'] = 'as long as you make me cum later'
-		end
-	elseif npc_humor[$ARGS[1]] = 3:
-		if rand(0,1) = 1:
-			$VM['3b'] = 'phrasing'
-		else
-			$VM['3b'] = 'as long as you make me cum later'
-		end
-	end
+				! player choice 2 opiton 2
+				$SMSTree['bb3'] = 'ill come right now ;)'
+
+					! boy
+					if npc_humor[$ARGS[1]] <= 1:
+						$SMSTree['bb4'] = 'im already hard'
+					elseif npc_humor[$ARGS[1]] = 2:
+						if rand(0,1) = 1:
+							$SMSTree['bb4'] = 'in the street?? damn! keep it in your pants till you get here!'
+						else
+							$SMSTree['bb4'] = 'as long as you make me cum later'
+						end
+					elseif npc_humor[$ARGS[1]] = 3:
+						if rand(0,1) = 1:
+							$SMSTree['bb4'] = 'phrasing'
+						else
+							$SMSTree['bb4'] = 'as long as you make me cum later'
+						end
+					end
 end
 
-if $ARGS[0] = 'std_free':	
+
+if $ARGS[0] = 'std_free':
 	!! boy
-	$VM['0'] = dyneval('$result=''hey <<$pcs_nickname>>'' ')
-	
-	!! player
-	$VF[$ARGS[1]+'0'] = dyneval('$result=''hey <<$npc_nickname[$ARGS[1]]>>'' ')
+	$SMSTree['0'] = dyneval('$result=''hey <<$pcs_nickname>>'' ')
 	
-	!! boy
-	$VM['1'] = 'got some good news'
+		!! player
+		$SMSTree['1'] = dyneval('$result=''hey <<$npc_nickname[$ARGS[1]]>>'' ')
 	
-	!! player response 1 option 1
-	$VF['1a'] = 'oh?'
+			!! boy
+			$SMSTree['2'] = 'got some good news'
 	
-	!! boy response 1
-	$VM['2a'] = 'my std test came back clean. why dont we celebrate tog'
+				!! player response 1 option 1
+				$SMSTree['a3'] = 'oh?'
 	
-	!! player response 1 option 2
-	$VF['1b'] = 'what is it?'
+					!! boy response 1
+					$SMSTree['a4'] = 'my std test came back clean. why dont we celebrate tog'
 	
-	!! boy response 2
-	$VM['2a'] = 'my std test came back clean'
+				!! player response 1 option 2
+				$SMSTree['b3'] = 'what is it?'
 	
-	!! player response 2 option 1
-	if hour < 21:
-		$VF['2a'] = 'sorry, i cant. i have stuff to do'
-	else
-		$VF['2a'] = 'its late. text me sooner if you want me to come over.'
-	end
+					!! boy response 2
+					$SMSTree['b4'] = 'my std test came back clean'
+
+
+						!! player response 2 option 1
+						if hour < 21:
+							$SMSTree['aa5'] = 'sorry, i cant. i have stuff to do'
+							$SMSTree['ba5'] = $SMSTree['aa5']
+						else
+							$SMSTree['aa5'] = 'its late. text me sooner if you want me to come over.'
+							$SMSTree['ba5'] = $SMSTree['aa5']
+						end
 	
-	!! boy response 2 option 1
-	$VM['3a'] = 'shit, maybe next time then'
+							!! boy response 2 option 1
+							$SMSTree['aa6'] = 'shit, maybe next time then'
+							$SMSTree['ba6'] = $SMSTree['aa6']
 	
-	!! player response 2 option 2
-	$VF['2b'] = 'ill come right now ;)'
+						!! player response 2 option 2
+						$SMSTree['ab5'] = 'ill come right now ;)'
+						$SMSTree['bb5'] = $SMSTree['ab5']
 	
-	!! boy response 2 option 2
-	if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 1:
-		$VM['3b'] = 'im already hard'
-	elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 1:
-		if rand(0,1) = 1:
-			$VM['3b'] = 'in the street?? damn! keep it in your pants till you get here!'
-		else
-			$VM['3b'] = 'as long as you make me cum later'
-		end
-	elseif npc_humor[$ARGS[1]] = 3 and rand(0,1) = 1:
-		$VM['3b'] = 'phrasing'
-	else
-		$VM['3b'] = 'cant wait'
-	end
+							!! boy response 2 option 2
+							if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 1:
+								$SMSTree['ab6'] = 'im already hard'
+								$SMSTree['bb6'] = $SMSTree['ab6']
+							elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 1:
+								if rand(0,1) = 1:
+									$SMSTree['ab6'] = 'in the street?? damn! keep it in your pants till you get here!'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								else
+									$SMSTree['ab6'] = 'as long as you make me cum later'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								end
+							elseif npc_humor[$ARGS[1]] = 3 and rand(0,1) = 1:
+								$SMSTree['ab6'] = 'phrasing'
+								$SMSTree['bb6'] = $SMSTree['ab6']
+							else
+								$SMSTree['ab6'] = 'cant wait'
+								$SMSTree['bb6'] = $SMSTree['ab6']
+							end
 end
 
 
 if $ARGS[0] = 'sugar_daddy_booty_call':	
 	!! boy
-	$VM['0'] = dyneval('$result=''hey <<$pcs_nickname>>'' ')
-	
-	!! player
-	$VF[$ARGS[1]+'0'] = dyneval('$result=''hey <<$npc_nickname[$ARGS[1]]>>'' ')
-	
-	!! boy
-	$VM['1'] = 'ive been thinking about you'
+	$SMSTree['0'] = dyneval('$result=''hey <<$pcs_nickname>>'' ')
+		
+		!! player
+		$SMSTree['1'] = dyneval('$result=''hey <<$npc_nickname[$ARGS[1]]>>'' ')
 	
-	!! player response 1 option 1
-	$VF['1a'] = 'what were you thinking about?'
+			!! boy
+			$SMSTree['2'] = 'ive been thinking about you'
 	
-	!! boy response 1 option 1
-	if ($home['current'] ! 'city_apartment' and $home['current'] ! 'niko_apartment' and $home['current'] ! 'university_dorm' and $home['current'] ! 'city_house' and $home['current'] ! 'maid_bedroom') and npc_residence[$ARGS[1]] >= 3:
-		$VM['2a'] = 'i booked a hotel room in Pav. why dont you come by?'
-	else
-		$VM['2a'] = 'i want to see you. why dont you come by my apartment?'
-	end
-	
-	!! player response 1 option 2
-	$VF['1b'] = 'me too'
-	
-	!! boy response 2 option 2
-	if ($home['current'] ! 'city_apartment' and $home['current'] ! 'niko_apartment' and $home['current'] ! 'university_dorm' and $home['current'] ! 'city_house' and $home['current'] ! 'maid_bedroom') and npc_residence[$ARGS[1]] >= 3:
-		$VM['2a'] = 'i booked a hotel room in Pav. why dont you come by?'
-	else
-		$VM['2a'] = 'i want to see you. why dont you come by my apartment?'
-	end
-	
-	!! player response 2 option 1
-	if hour < 21:
-		$VF['2a'] = 'sorry, i cant. i have stuff to do'
-	else
-		$VF['2a'] = 'its late. text me sooner if you want me to come over.'
-	end
-	
-	!! boy response 2 option 1
-	$VM['3a'] = 'damn scheduling conflicts'
-	
-	!! player response 2 option 2
-	$VF['2b'] = 'ill come right now ;)'
+				!! player response 1 option 1
+				$SMSTree['a3'] = 'what were you thinking about?'
+
+
+				!! player response 1 option 2
+				$SMSTree['b3'] = 'me too'
 	
-	!! boy response 2 option 2
-	if ($home['current'] = 'parents_home' or $home['current'] = 'meynold_household' or $home['current'] = 'shared_apartment') and npc_residence[$ARGS[1]] >= 3:
-		$VM['3b'] = 'room <<rand(1,3)>><<rand(10,19)>>'
-	else
-		if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 1:
-			$VM['3b'] = 'im already hard'
-		elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 1:
-			$VM['3b'] = 'as long as you make me cum later'
-		elseif npc_humor[$ARGS[1]] = 3 and rand(0,1) = 1:
-			$VM['3b'] = 'phrasing'
-		else
-			$VM['3b'] = 'cant wait'
-		end
-	end
+					!! boy response 1 option 1
+					if ($home['current'] ! 'city_apartment' and $home['current'] ! 'niko_apartment' and $home['current'] ! 'university_dorm' and $home['current'] ! 'city_house' and $home['current'] ! 'maid_bedroom') and npc_residence[$ARGS[1]] >= 3:
+						$SMSTree['a4'] = 'i booked a hotel room in Pav. why dont you come by?'
+						$SMSTree['b4'] = $SMSTree['a4']
+					else
+						$SMSTree['a4'] = 'i want to see you. why dont you come by my apartment?'
+						$SMSTree['b4'] = $SMSTree['a4']
+					end
+
+						!! player response 2 option 1
+						if hour < 21:
+							$SMSTree['aa5'] = 'sorry, i cant. i have stuff to do'
+							$SMSTree['ba5'] = $SMSTree['aa5']
+						else
+							$SMSTree['aa5'] = 'its late. text me sooner if you want me to come over.'
+							$SMSTree['ba5'] = $SMSTree['aa5']
+						end
+
+							!! boy response 2 option 1
+							$SMSTRee['aa6'] = 'damn scheduling conflicts'
+							$SMSTree['ba6'] = $SMSTree['aa6']
+
+
+						!! player response 2 option 2
+						$SMSTree['ab5'] = 'ill come right now ;)'
+						$SMSTree['bb5'] = $SMSTree['ab5']
+							
+							!! boy response 2 option 2
+							if ($home['current'] = 'parents_home' or $home['current'] = 'meynold_household' or $home['current'] = 'shared_apartment') and npc_residence[$ARGS[1]] >= 3:
+								$SMSTree['ab6'] = 'room <<rand(1,3)>><<rand(10,19)>>'
+								$SMSTree['bb6'] = $SMSTree['ab6']
+							else
+								if npc_humor[$ARGS[1]] <= 1 and rand(0,1) = 1:
+									$SMSTree['ab6'] = 'im already hard'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								elseif npc_humor[$ARGS[1]] = 2 and rand(0,1) = 1:
+									$SMSTree['ab6'] = 'as long as you make me cum later'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								elseif npc_humor[$ARGS[1]] = 3 and rand(0,1) = 1:
+									$SMSTree['ab6'] = 'phrasing'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								else
+									$SMSTree['ab6'] = 'cant wait'
+									$SMSTree['bb6'] = $SMSTree['ab6']
+								end
+							end
 end
 
+
+!Does not work with pre-planned?
 if $ARGS[0] = 'Add SMS':
-	$trialSMS  = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS += '<table><tr><th> Reply</th></tr>'
-	$trialSMS += '<tr><td><a href="exec: gs ''booty_call_sms'', ''V0'',telefon[''SMSid'']">'+$VF[$ARGS[1]+'0']+'</a></td></tr></table>'
-	gs 'telefon', 'add_sms', $ARGS[1], $trialSMS
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_replies
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''SMS_Base'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['1'] + '</a>'
+	$temp_SMStext += $SMS_close_replies
+
+	gs 'telefon', 'add_sms', $ARGS[2], $temp_SMStext
+end
+
+
+if $ARGS[0] = 'SMS_Base':
+!if $ARGS[0] = 'V0':
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['1'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+	wait 500
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_replies
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice_a'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['a3'] + '</a>'
+		$temp_SMStext += $SMS_next_reply
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice_b'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['b3'] + '</a>'
+	$temp_SMStext += $SMS_close_replies
+
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+	gs 'telefon', 'show_sms', ARGS[3]
 end
 
-if $ARGS[0] = 'V0':
-	$trialSMS   = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS  += $SMSFrF+$VF[$SMSContact[ARGS[1]]+'0']+$SMSBkF
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+if $ARGS[0] = 'Choice_a':
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['a3'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 	wait 500
-	$trialSMS += $SMSFrM+$VM['1']+$SMSBkM
-	$trialSMS += '<table><tr><th> Reply</th></tr>'
-	$trialSMS += '<tr><td><a href="exec: gs ''booty_call_sms'', ''V1a'',telefon[''SMSid'']">'+$VF['1a']+'</a></td></tr>'
-	$trialSMS += '<tr><td><a href="exec: gs ''booty_call_sms'', ''V1b'',telefon[''SMSid'']">'+$VF['1b']+'</a></td></tr></table>'
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['a4'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_replies
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice_aa'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['aa5'] + '</a>'
+		$temp_SMStext += $SMS_next_reply
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice_ab'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['ab5'] + '</a>'
+	$temp_SMStext += $SMS_close_replies
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 end
 
+if $ARGS[0] = 'Choice_aa':
+	!! booty call is declined
+	
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['a3'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['a4'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['aa5'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+
+	if sugar_daddy_call[$ARGS[2]] = 1:
+		npc_rel[$ARGS[2]] -= 2
+		sugar_daddy_call[$ARGS[2]] = 0
+	end
 
-if $ARGS[0] = 'V1a':
-	$trialSMS   = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS  += $SMSFrF+$VF[$SMSContact[ARGS[1]]+'0']+$SMSBkF
-	$trialSMS  += $SMSFrM+$VM['1']+$SMSBkM
-	$trialSMS  += $SMSFrF+$VF['1a']+$SMSBkF
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
 	wait 500
-	$trialSMS += $SMSFrM+$VM['2a']+$SMSBkM
-	$trialSMS += '<table><tr><th> Reply</th></tr>'
-	$trialSMS += '<tr><td><a href="exec: gs ''booty_call_sms'', ''V2an'',telefon[''SMSid'']">'+$VF['2a']+'</a></td></tr>'
-	$trialSMS += '<tr><td><a href="exec: gs ''booty_call_sms'', ''V2ap'',telefon[''SMSid'']">'+$VF['2b']+'</a></td></tr></table>'
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['aa6'] + $SMS_close_receiving
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 end
 
+if $ARGS[0] = 'Choice_ab':
+	!! booty call is accepted
+
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['a3'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['a4'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['ab5'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
 
-if $ARGS[0] = 'V1b':
-	$trialSMS   = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS  += $SMSFrF+$VF[$SMSContact[ARGS[1]]+'0']+$SMSBkF
-	$trialSMS  += $SMSFrM+$VM['1']+$SMSBkM
-	$trialSMS  += $SMSFrF+$VF['1b']+$SMSBkF
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+	gs 'telefon', 'show_sms', ARGS[3]
 	wait 500
-	$trialSMS += $SMSFrM+$VM['2b']+$SMSBkM
-	$trialSMS += '<table><tr><th> Reply</th></tr>'
-	$trialSMS += '<tr><td><a href="exec: gs ''booty_call_sms'', ''V2bn'',telefon[''SMSid'']">'+$VF['2a']+'</a></td></tr>'
-	$trialSMS += '<tr><td><a href="exec: gs ''booty_call_sms'', ''V2bp'',telefon[''SMSid'']">'+$VF['2b']+'</a></td></tr></table>'
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['ab6'] + $SMS_close_receiving
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+
+	booty_call_invite[$ARGS[2]] = daystart
+	if npc_finance[$ARGS[2]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[2]] >= 3:
+		$booty_call_hotel[$ARGS[2]] = 'pav'
+	else
+		$booty_call_hotel[$ARGS[2]] = 'city'
+	end
 end
 
-if $ARGS[0] = 'V2an':
+
+
+
+if $ARGS[0] = 'Choice_b':
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['b3'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+	wait 500
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['b4'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_replies
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice_ba'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['ba5'] + '</a>'
+		$temp_SMStext += $SMS_next_reply
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice_bb'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['bb5'] + '</a>'
+	$temp_SMStext += $SMS_close_replies
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+end
+
+
+
+if $ARGS[0] = 'Choice_ba':
 	!! booty call is declined
-	$trialSMS   = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF[$SMSContact[ARGS[1]]+'0']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['1']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['1a']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['2a']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['2a']+$SMSBkF
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
-	if sugar_daddy_call[$SMSContact[ARGS[1]]] = 1:
-		npc_rel[$SMSContact[ARGS[1]]] -= 2
-		sugar_daddy_call[$SMSContact[ARGS[1]]] = 0
+
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['b3'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['b4'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['ba5'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+	if sugar_daddy_call[$ARGS[2]] = 1:
+		npc_rel[$ARGS[2]] -= 2
+		sugar_daddy_call[$ARGS[2]] = 0
 	end
 	wait 500
-	$trialSMS += $SMSFrM+$VM['3a']+$SMSBkM
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['ba6'] + $SMS_close_receiving
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 end
 
-if $ARGS[0] = 'V2ap':
+if $ARGS[0] = 'Choice_bb':
 	!! booty call is accepted
-	$trialSMS  = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF[$SMSContact[ARGS[1]]+'0']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['1']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['1a']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['2a']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['2b']+$SMSBkF
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['b3'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['b4'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['bb5'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 	wait 500
-	$trialSMS += $SMSFrM+$VM['3b']+$SMSBkM
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
-	booty_call_invite[$SMSContact[ARGS[1]]] = daystart
-	if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3: $booty_call_hotel[$ARGS[1]] = 'pav'
+	
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['bb6'] + $SMS_close_receiving
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+
+	gs 'telefon', 'show_sms', ARGS[3]
+	booty_call_invite[$ARGS[2]] = daystart
+!!	if ($home['current'] = 'parents_home' or $home['current'] = 'meynold_household' or $home['current'] = 'shared_apartment') and npc_residence[$SMSContact[ARGS[1]]] >= 3: 
+	if npc_finance[$ARGS[2]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[2]] >= 3:
+		$booty_call_hotel[$ARGS[2]] = 'pav'
+	else
+		$booty_call_hotel[$ARGS[2]] = 'city'
+	end
+end
+
+
+
+
+
+! For pre-planned
+if $ARGS[0] = 'Add SMS2':
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_replies
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice2_a'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['a1'] + '</a>'
+		$temp_SMStext += $SMS_next_reply
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice2_b'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['b1'] + '</a>'
+	$temp_SMStext += $SMS_close_replies
+
+	gs 'telefon', 'add_sms', $ARGS[2], $temp_SMStext
+end
+
+
+if $ARGS[0] = 'Choice2_a':
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['a1'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 end
 
-if $ARGS[0] = 'V2bn':
+
+
+if $ARGS[0] = 'Choice2_b':
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['b1'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+	wait 500
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['b2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_replies
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice2_ba'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['ba3'] + '</a>'
+		$temp_SMStext += $SMS_next_reply
+		$temp_SMStext += '<a href="exec: gs ''booty_call_sms'', ''Choice2_bb'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', telefon[''SMSid'']">' + $SMSTree['bb3'] + '</a>'
+	$temp_SMStext += $SMS_close_replies
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+end
+
+
+
+if $ARGS[0] = 'Choice2_ba':
 	!! booty call is declined
-	$trialSMS  = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF[$SMSContact[ARGS[1]]+'0']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['1']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['1b']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['2b']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['2a']+$SMSBkF
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
-	if sugar_daddy_call[$SMSContact[ARGS[1]]] = 1:
-		npc_rel[$SMSContact[ARGS[1]]] -= 2
-		sugar_daddy_call[$SMSContact[ARGS[1]]] = 0
+
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['b1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['b2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['ba3'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
+	if sugar_daddy_call[$ARGS[2]] = 1:
+		npc_rel[$ARGS[2]] -= 2
+		sugar_daddy_call[$ARGS[2]] = 0
 	end
 	wait 500
-	$trialSMS += $SMSFrM+$VM['3a']+$SMSBkM
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['ba4'] + $SMS_close_receiving
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 end
 
-if $ARGS[0] = 'V2bp':
+if $ARGS[0] = 'Choice2_bb':
 	!! booty call is accepted
-	$trialSMS  = $SMSFrM+$VM['0']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF[$SMSContact[ARGS[1]]+'0']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['1']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['1b']+$SMSBkF
-	$trialSMS += $SMSFrM+$VM['2b']+$SMSBkM
-	$trialSMS += $SMSFrF+$VF['2b']+$SMSBkF
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
+
+	gs 'booty_call_sms', $ARGS[1], $ARGS[2]
+	$temp_SMStext  = $SMS_open_receiving + $SMSTree['0'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['b1'] + $SMS_close_sending
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['b2'] + $SMS_close_receiving
+	$temp_SMStext += $SMS_open_sending + $SMSTree['bb3'] + $SMS_close_sending
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+	gs 'telefon', 'show_sms', ARGS[3]
 	wait 500
-	$trialSMS += $SMSFrM+$VM['3b']+$SMSBkM
-	$SMSMessage[ARGS[1]] = $trialSMS
-	gs 'telefon', 'show_sms', ARGS[1]
-	booty_call_invite[$SMSContact[ARGS[1]]] = daystart
+	
+	$temp_SMStext += $SMS_open_receiving + $SMSTree['bb4'] + $SMS_close_receiving
+	$SMSMessage[ARGS[3]] = $temp_SMStext
+
+
+	gs 'telefon', 'show_sms', ARGS[3]
+	booty_call_invite[$ARGS[2]] = daystart
 !!	if ($home['current'] = 'parents_home' or $home['current'] = 'meynold_household' or $home['current'] = 'shared_apartment') and npc_residence[$SMSContact[ARGS[1]]] >= 3: 
-	if npc_finance[$ARGS[1]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[1]] >= 3: $booty_call_hotel[$ARGS[1]] = 'pav'
-!!	killvar '$VF'
-!!	killvar '$MF'
+	if npc_finance[$ARGS[2]] = 2 and func('homes_properties_attr', 'get_property_attribute', '$town', $home['current']) ! 'city' and npc_residence[$ARGS[2]] >= 3:
+		$booty_call_hotel[$ARGS[2]] = 'pav'
+	else
+		$booty_call_hotel[$ARGS[2]] = 'city'
+	end
 end
 
-killvar '$trialSMS'
 
 
+if $ARGS[0] ! 'default_booty_call' and $ARGS[0] ! 'pre_planned_booty_call' and $ARGS[0] ! 'std_free' and $ARGS[0] ! 'sugar_daddy_booty_call':
+	killvar '$trialSMS'
+	killvar '$SMSTree'
+	killvar '$temp_SMStext'
+end
+
 --- hookup_sms ---------------------------------

+ 9 - 8
locations/city_apt_building.qsrc

@@ -4,9 +4,10 @@
 !SETTINGS:
 CLOSE ALL
 gs 'themes', 'indoors'
-$loc_arg = ''
+$location_type = 'public_indoors'
 $loc = 'city_apt_building'
-
+$menu_loc = 'city_apt_building'
+$loc_arg = ''
 
 !================================================================================================!
 !FLOORS: ---------------------------Entrance to the town-------------------------------------- FLOORS:!
@@ -30,7 +31,7 @@ if $ARGS[0] = 'housemates':
 end
 
 if $ARGS[0] = 'floor_1':
-	$menu_loc = 'city_apt_building'
+	$loc_arg = 'floor_1'
 	$menu_arg = 'floor_1'
 	menu_off = 0
 	CLOSE ALL
@@ -51,7 +52,7 @@ if $ARGS[0] = 'floor_1':
 end
 
 if $ARGS[0] = 'floor_2':
-	$menu_loc = 'city_apt_building'
+	$loc_arg = 'floor_2'
 	$menu_arg = 'floor_2'
 	menu_off = 0
 	gs 'stat'
@@ -70,7 +71,7 @@ if $ARGS[0] = 'floor_2':
 end
 
 if $ARGS[0] = 'floor_3':
-	$menu_loc = 'city_apt_building'
+	$loc_arg = 'floor_4'
 	$menu_arg = 'floor_3'
 	menu_off = 0
 	gs 'stat'
@@ -89,7 +90,7 @@ if $ARGS[0] = 'floor_3':
 end
 
 if $ARGS[0] = 'floor_4':
-	$menu_loc = 'city_apt_building'
+	$loc_arg = 'floor_4'
 	$menu_arg = 'floor_4'
 	menu_off = 0
 	gs 'stat'
@@ -111,7 +112,7 @@ if $ARGS[0] = 'floor_4':
 end
 
 if $ARGS[0] = 'floor_5':
-	$menu_loc = 'city_apt_building'
+	$loc_arg = 'floor_5'
 	$menu_arg = 'floor_5'
 	menu_off = 0
 	gs 'stat'
@@ -131,9 +132,9 @@ if $ARGS[0] = 'floor_5':
 end
 
 if $ARGS[0] = 'roof':
-	$menu_loc = 'city_apt_building'
 	$menu_arg = 'roof'
 	$loc_arg = 'roof'
+	$location_type = 'public_outdoors'
 	$loc = 'city_apt_building'
 	killvar '$locclass'
 	menu_off = 0

+ 18 - 18
locations/city_clinic.qsrc

@@ -238,7 +238,7 @@ if $ARGS[0] = 'start':
 					'The dentist examinees you and says it will cost 4500 <b>₽</b> to straighten your teeth and that you''ll have to wear a brace for three months. However, he states that he can''t promise they will be completely straight after one treatment.'
 				end
 
-				if money < zubpay and karta < zubpay:
+				if money < zubpay and karta + bankDebtLimit < zubpay:
 					*nl
 					'You do not have enough money to fix your teeth.'
 				else
@@ -265,7 +265,7 @@ if $ARGS[0] = 'start':
 							act 'Leave the clinic': minut += 5 & gt 'city_residential'
 						end
 					end
-					if karta >= zubpay:
+					if karta + bankDebtLimit >= zubpay:
 						act 'Sort out your teeth (card)':
 							*clr & cla
 							karta -= zubpay
@@ -302,7 +302,7 @@ if $ARGS[0] = 'start':
 			gs'stat'
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/optometrist.jpg"></center>'
 			'The optometrist takes you through a series of tests to measure the condition of your eyes.'
-			'He looks at you as if he has bad news for you. "Well, you probably already expected this, but your vision has deteriorated significantly. You''re going to need glasses to be able to read. The prescription I''m writing for you is for a simple set of rimmed glasses which you can pick up at the front desk before you leave.' 
+			'He looks at you as if he has bad news for you. "Well, you probably already expected this, but your vision has deteriorated significantly. You''re going to need glasses to be able to read. The prescription I''m writing for you is for a simple set of rimmed glasses which you can pick up at the front desk before you leave."' 
 			'He hands you a piece of paper. "Of course you can get a different pair elsewhere if you want better looking ones, the details for which ones you need are on your prescription. You can also get laser vision correction if you really don''t want to use glasses, but I''m going to be honest with you: that''s a very expensive procedure."'
 			pcs_nerd += 1
 			glassqw = 2
@@ -325,7 +325,7 @@ if $ARGS[0] = 'start':
 			act 'Return to the entrance': gt 'city_clinic', 'start'
 
 			if glass = 1:
-				if money < 4500 and karta < 4500:
+				if money < 4500 and karta + bankDebtLimit < 4500:
 					*nl
 					'You can''t afford the more stylish glasses.'
 				else
@@ -342,7 +342,7 @@ if $ARGS[0] = 'start':
 							act 'Return to the entrance': gt 'city_clinic', 'start'
 						end
 					end
-					if karta >= 4500:
+					if karta + bankDebtLimit >= 4500:
 						act 'Buy glasses (4,500 <b>₽</b>) (card)':
 							cla
 							karta -= 4500
@@ -359,7 +359,7 @@ if $ARGS[0] = 'start':
 			end
 
 			if glass ! 0:
-				if money < 75000 and karta < 75000:
+				if money < 75000 and karta + bankDebtLimit < 75000:
 					*nl
 					'You can''t afford the laser eye correction surgery.'
 				else
@@ -376,7 +376,7 @@ if $ARGS[0] = 'start':
 							act 'Return to the entrance': gt 'city_clinic', 'start'
 						end
 					end
-					if karta >= 75000:
+					if karta + bankDebtLimit >= 75000:
 						act 'Pay for laser correction (75,000 <b>₽</b>) (card)':
 							cla
 							karta -= 75000
@@ -419,7 +419,7 @@ if $ARGS[0] = 'stdclinic':
 		end
 	end
 
-	if karta >= 1000:
+	if karta + bankDebtLimit >= 1000:
 		act 'Get tested for STDs (1,000 <b>₽</b>) (card)':
 			karta -= 1000
 			gs 'city_clinic', 'stdcheck'
@@ -427,7 +427,7 @@ if $ARGS[0] = 'stdclinic':
 	end
 
 	if GerpesNapr > 0 and GerpesUkolDay ! daystart:
-		if money < 450 and karta < 450: *nl & 'You can''t afford your herpes shot.'
+		if money < 450 and karta + bankDebtLimit < 450: *nl & 'You can''t afford your herpes shot.'
 
 		if money >= 450:
 			act 'Get herpes shot (450 <b>₽</b>) (cash) You need <<GerpesNapr>> more injections to complete the treatment':
@@ -436,7 +436,7 @@ if $ARGS[0] = 'stdclinic':
 			end
 		end
 
-		if karta >= 450:
+		if karta + bankDebtLimit >= 450:
 			act 'Get herpes shot (450 <b>₽</b>) (card) You need <<GerpesNapr>> more injections to complete the treatment':
 				karta -= 450
 				gs 'city_clinic', 'herpes_shot'
@@ -445,7 +445,7 @@ if $ARGS[0] = 'stdclinic':
 	end
 
 	if TriperNapr > 0 and TriperUkolDay ! daystart:
-		if money < 750 and karta < 750: *nl & 'You can''t afford your gonorrhea shot.'
+		if money < 750 and karta + bankDebtLimit < 750: *nl & 'You can''t afford your gonorrhea shot.'
 
 		if money >= 750:
 			act 'Get gonorrhea shot (750 <b>₽</b>) (cash) You need <<TriperNapr>> more injections to complete the treatment':
@@ -454,7 +454,7 @@ if $ARGS[0] = 'stdclinic':
 			end
 		end
 
-		if karta >= 750:
+		if karta + bankDebtLimit >= 750:
 			act 'Get gonorrhea shot (750 <b>₽</b>) (card) You need <<TriperNapr>> more injections to complete the treatment':
 				karta -= 750
 				gs 'city_clinic', 'gonorrhea_shot'
@@ -463,7 +463,7 @@ if $ARGS[0] = 'stdclinic':
 	end
 
 	if SifNapr = 1:
-		if money < 1000 and karta < 1000: *nl & 'You can''t afford your syphilis shot.'
+		if money < 1000 and karta + bankDebtLimit < 1000: *nl & 'You can''t afford your syphilis shot.'
 
 		if money >= 1000:
 			act 'Get syphilis shot (1,000 <b>₽</b>) (cash)':
@@ -472,7 +472,7 @@ if $ARGS[0] = 'stdclinic':
 			end
 		end
 
-		if karta >= 1000:
+		if karta + bankDebtLimit >= 1000:
 			act 'Get syphilis shot (1,000 <b>₽</b>) (card)':
 				karta -= 1000
 				gs 'city_clinic', 'syphilis_shot'
@@ -481,7 +481,7 @@ if $ARGS[0] = 'stdclinic':
 	end
 
 	if GerpesOnce = 1 and week = 1 and day <= 10:
-		if money < 45000 and karta < 45000: *nl & 'You to go to private clinic and completely cure your herpes.'
+		if money < 45000 and karta + bankDebtLimit < 45000: *nl & 'You to go to private clinic and completely cure your herpes.'
 
 		if money >= 45000:
 			act 'Go to private clinic and completely cure your herpes (45,000 <b>₽</b>) (cash)':
@@ -490,7 +490,7 @@ if $ARGS[0] = 'stdclinic':
 			end
 		end
 
-		if karta >= 45000:
+		if karta + bankDebtLimit >= 45000:
 			act 'Go to private clinic and completely cure your herpes (45,000 <b>₽</b>) (card)':
 				karta -= 45000
 				gs 'city_clinic', 'herpes_cure'
@@ -499,7 +499,7 @@ if $ARGS[0] = 'stdclinic':
 	end
 
 	if KandidozOnce = 1 and week = 1 and day <= 10:
-		if money < 15000 and karta < 15000: *nl & 'You can''t afford to go to the private clinic and completely cure your yeast infection.'
+		if money < 15000 and karta + bankDebtLimit < 15000: *nl & 'You can''t afford to go to the private clinic and completely cure your yeast infection.'
 
 		if money >= 15000:
 			act 'Go to private clinic and completely cure your yeast infection. (15,000 <b>₽</b>) (cash)':
@@ -508,7 +508,7 @@ if $ARGS[0] = 'stdclinic':
 			end
 		end
 
-		if karta >= 15000:
+		if karta + bankDebtLimit >= 15000:
 			act 'Go to private clinic and completely cure your yeast infection. (15,000 <b>₽</b>) (card)':
 				karta -= 15000
 				gs 'city_clinic', 'yeast_cure'

+ 1 - 1
locations/city_experimental_trials.qsrc

@@ -114,7 +114,7 @@ if $ARGS[0] = 'front_desk' or $ARGS[0] = '':
 		act 'Sign the document':
 			experimentQW['signed'] = 1
 			*clr & cla
-			'<center><img <<$set_imgh>> src="images\locations\city\residential\clinic\experiments\desk.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images\locations\city\residential\clinic\experiments\desk1.jpg"></center>'
 			*nl
 			'You hand the signed document back to the woman, who looks it over briefly.'
 			'"Thank you miss <<$pcs_lastname>>, we''ll add you to our database and from now on you can enter our various trials. The contract you signed is legally binding, you are not allowed to discuss your experiences with anybody outside of this clinic."'

+ 5 - 5
locations/city_experimental_trials_events.qsrc

@@ -1,7 +1,7 @@
 # city_experimental_trials_events
 
 
-expadj = func('_difficulty','getexpadj')
+!!expadj = func('_difficulty','getexpadj')
 
 	!!=========================!!
 	!!                         !!
@@ -569,18 +569,18 @@ end
 if $experimentQW['trial_active'] = 'fertility_shot':
 	if experimentQW['trial_duration'] = 3:
 		if min_arousal < 20: min_arousal = 20
-		if pcs_horney < 20: pss_horny = 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:
 		if min_arousal < 40: min_arousal = 40
-		if pcs_horney < 40: pss_horny = 40
+		if pcs_horny < 40: pcs_horny = 40
 		*nl
 		'You feel a heat radiate from your womb, awakening your arousal. This must have been that experimental fertility shot.'
 	else
 		if min_arousal < 50: min_arousal = 50
-		if pcs_horney < 50: pss_horny = 50
+		if pcs_horny < 50: pcs_horny = 50
 		pcs_traits['hyper_fertile'] = 1
 		*nl
 		'You feel a heat radiate from your womb, awakening your arousal. This must have been that experimental fertility shot.'
@@ -603,7 +603,7 @@ if experimentQW['trial_duration'] <= 0:
 	msg 'You should visit the clinical trial desk at the city clinic and report your experiences.'
 end
 
-killvar 'exppadj'
+!!killvar 'exppadj'
 
 gs 'stat'
 

+ 19 - 16
locations/city_experimental_trials_list.qsrc

@@ -67,7 +67,8 @@ if $ARGS[0] = 'see_trials':
 	'You look through the long list of various available clinical trials and the following stick out:'
 	*nl
 	*nl
-	*pl '<center><table align="center" width=80%>'
+	*p '<center><table align="center" width=80%>'
+
 	cetl_i = 0
 	:loop_start
 		$temp_bgcolor = func('themes', 'alt_color', $temp_bgcolor)
@@ -75,15 +76,15 @@ if $ARGS[0] = 'see_trials':
 		if trial_maxs[cetl_i] = -1 or experimentQW['times_participated_<<cetl_i>>'] < trial_maxs[cetl_i]:
 			$temp_text += '<tr><td bgcolor="<<$temp_bgcolor>>" align="center"><a href="exec: gt ''city_experimental_trials_list'', ''<<$trial_sections[cetl_i]>>''"><<$trial_names[cetl_i]>></a>'
 		else
-			$temp_text += '<tr><td bgcolor="<<$temp_bgcolor>>" align="center"><font color="black"><<$trial_names[cetl_i]>></font>'
+			$temp_text += '<tr><td bgcolor="<<$temp_bgcolor>>" align="center"><font color="<<$fcolor>>"><<$trial_names[cetl_i]>></font>'
 		end
-		$temp_text += '</td> <td bgcolor="<<$temp_bgcolor>>" align="right"><font color="black">₽<<trial_pays[cetl_i]>></font></td></tr>'
+		$temp_text += '</td> <td bgcolor="<<$temp_bgcolor>>" align="right"><font color="<<$fcolor>>">₽<<trial_pays[cetl_i]>></font></td></tr>'
 
-		*pl '<<$temp_text>>'
+		*p '<<$temp_text>>'
 
 		cetl_i += 1
 	if cetl_i < arrsize('$trial_names'): jump 'loop_start'
-	*pl '</table></center>'
+	*p '</table></center>'
 
 	killvar '$temp_bgcolor'
 	killvar 'loop_start'
@@ -282,11 +283,11 @@ elseif $ARGS[0] = $trial_sections[1]:
 
 
 !! Hair extension shampoo
-elseif $ARGS[0] = $trial_section[2]:
+elseif $ARGS[0] = $trial_sections[2]:
 	$menu_loc = 'city_experimental_trials_list'
-	$menu_arg = $trial_section[2]
+	$menu_arg = $trial_sections[2]
 	 menu_off = 0
-	$loc_arg = $trial_section[2]
+	$loc_arg = $trial_sections[2]
 
 	minut += 2
 	'We have developed a hair extension shampoo, which enhances your natural hair growth leading to longer, fuller and glossier hair.'
@@ -294,8 +295,8 @@ elseif $ARGS[0] = $trial_section[2]:
 
 	act 'Sign up':
 		 experimentQW['times_participated_2'] += 1
-		$experimentQW['trial_active']          = $trial_sections[2]
-		 experimentQW['trial_duration']        =  trial_duration[2]
+		$experimentQW['trial_active'] = $trial_sections[2]
+		 experimentQW['trial_duration'] = trial_durations[2]
 
 		menu_off = 1
 		minut += 2
@@ -344,7 +345,7 @@ elseif $ARGS[0] = $trial_sections[3]:
 	'<sub><small>Warning! This is a strictly personal enhancer, the clinic is not liable for any criminal allegations if used on other subjects.</small></sub>'
 
 	act 'Sign up':
-		 experimentQW['times_participated_2'] += 1
+		 experimentQW['times_participated_3'] += 1
 		$experimentQW['trial_active'] = $trial_sections[3]
 		 experimentQW['trial_duration'] = trial_durations[3]
 
@@ -399,7 +400,7 @@ elseif $ARGS[0] = $trial_sections[4]:
 	'<sub><small>*Patent following. The Kardashian Butt Injection is not affiliated with Kardashian family.</small></sub>'
 
 	act 'Sign up':
-		 experimentQW['times_participated_2'] += 1
+		 experimentQW['times_participated_4'] += 1
 		$experimentQW['trial_active'] = $trial_sections[4]
 		 experimentQW['trial_duration'] = trial_durations[4]
 		
@@ -448,9 +449,9 @@ elseif $ARGS[0] = $trial_sections[5]:
 	'Side effects include: Hormonal imbalance, superovulation, and uncontroled arousal.'
 
 	act 'Sign up':
-		 experimentQW['times_participated_2'] += 1
-		$experimentQW['trial_active'] = $trial_sections[4]
-		 experimentQW['trial_duration'] = trial_durations[4]
+		 experimentQW['times_participated_5'] += 1
+		$experimentQW['trial_active'] = $trial_sections[5]
+		 experimentQW['trial_duration'] = trial_durations[5]
 
 		menu_off = 1
 		minut += 2
@@ -492,8 +493,10 @@ if $ARGS[0] = 'act_go_back':
 end
 
 if $ARGS[0] = 'act_return':
+	temp_pay = ARGS[1]
 	act 'Return to the clinic':
-		money += ARGS[1]
+		money += temp_pay
+		killvar 'temp_pay'
 		gs 'city_experimental_trials_list', 'killvars'
 		gt 'city_clinic', 'start'
 	end

+ 1 - 1
locations/city_residential.qsrc

@@ -150,7 +150,7 @@ if hour >= 8 and hour <= 15 and week < 6:
 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 hour < 12 and week > 1 and week < 7 and workKafe['job'] = 1:
+if hour = 11 and week > 1 and week < 7 and workKafe['job'] = 1:
 	'The side door of <a href="exec: minut += 1 & gt ''city_kafe'', ''work''">The Roadhouse</a> diner is open, allowing you to enter and start your shift.'
 elseif hour >= 12 and hour <= 20 and week ! 1:
 	'You can hear some <a href="exec: minut += 1 & gt ''gopnew'', ''start''">gopniks</a> laughing and swearing in a side alley next to <a href="exec: minut += 1 & gt ''city_kafe'', ''start''">The Roadhouse</a> diner.'

+ 1 - 0
locations/city_trashplace.qsrc

@@ -134,6 +134,7 @@ $bomzstartqwestdi = {
 								exit
 							else
 								'The manager takes your details and passport. "Remember. Come back here on Thursday."'
+								act 'Leave': bomzQW = 1 & gt 'city_industrial'
 							end
 						end
 						gs 'arousal', 'end'

+ 3 - 5
locations/clothing.qsrc

@@ -8,9 +8,9 @@ $clothing_list_line = {
 	!! ARGS 1 - clothing type
 	!! ARGS 2 - clothing index
 
-	gs 'themes', 'clothing', 1
+	gs 'themes', 'clothing'
 
-	$RESULT = '<TR bgcolor='+$bgcolor+'>'
+	$RESULT = '<TR bgcolor='+$temp_bcolor+'>'
 
 	if Enable_clothwidth > 0:
 		clothing_temp = Enable_clothwidth - 1
@@ -230,10 +230,7 @@ if $ARGS[0] = 'view_clothing_list':
 end
 
 if $ARGS[0] = 'clothing_list':
-
 	$ward_list_file = 'clothing'
-	$bgcolor='#f3f4ee'
-	
 
 	if $args[1] = 'all':
 		$ward_list_store = 'all'
@@ -1355,6 +1352,7 @@ if $ARGS[0] = 'clothing_list':
 		gs 'clothing', 'clothwidth'
 	end
 	'</table>'
+	killvar '$temp_bcolor'
 end
 
 if $ARGS[0] = 'clothinglist_header':

+ 5 - 9
locations/core_library.qsrc

@@ -86,18 +86,13 @@ if $ARGS[0] = 'stage_title':
     '<center><img <<$set_imgh>> src="images/<<$setloc[''StageImage'']>>.<<$temp_StageExt>>"></center>'
 
     !! Clean up
-    killvar '$setloc'
     killvar '$temp_StageExt'
 
     !! set indoor or outdoor location specific variables
 
-    !!
-
     !! set standardised location variables such as kitchen, bathroom, personal bedroom
     
-    !! npc location tracker - if tracking npc locations add them here.
-
-    
+    !! npc location tracker - if tracking npc locations add them here.    
 end
     
 if $ARGS[0] = 'corridor':
@@ -116,7 +111,7 @@ if $ARGS[0] = 'bathroom':
     if $location_type = 'private':
         'Your accommodation for the week has the luxury of a private shower and a bath. There''s a poster on the wall promoting the health benefits of ice baths and other advice on looking after your body.' 
         *nl  
-            'There is a shower, toilet, sink, and a <a href="exec:gt ''mirror'',''start''">mirror</a> where you can ' + iif(pcs_hairbsh = 0,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair.'
+        'There is a shower, toilet, sink, and a <a href="exec:gt ''mirror'',''start''">mirror</a> where you can ' + iif(pcs_hairbsh = 0,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair.'
 
         gs 'din_van', 'private'
     elseif $location_type = 'public':
@@ -130,10 +125,11 @@ if $ARGS[0] = 'bathroom':
             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.'
-                'There is a shower and <a href="exec:gt ''mirror'',''start''">mirrors</a> where you can ' + iif(pcs_hairbsh = 0,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair.'
-
+        
             act 'Continue' : gt $loc, $loc_arg
         end
+        'There is a shower and <a href="exec:gt ''mirror'',''start''">mirrors</a> where you can ' + iif(pcs_hairbsh = 0,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair.'
+
     elseif $location_type = 'communal':
 
     end

+ 5 - 5
locations/dateM.qsrc

@@ -109,8 +109,8 @@ if $ARGS[0] = 'start':
 					elseif $region = 'pav' or $region = 'pav_park' or $region = 'pav':
 						gs 'fame', 'pav', 'sex', 2
 					end
-					act 'Go to his place':$hookup['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
-					!! act 'Go to his place':$hookup['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_start'
+					act 'Go to his place':$sex_ev['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
+					!! act 'Go to his place':$sex_ev['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_start'
 				end
 			end
 		end
@@ -183,7 +183,7 @@ if $ARGS[0] = 'start':
 					elseif $region = 'pav' or $region = 'pav_park' or $region = 'pav':
 						gs 'fame', 'pav', 'sex', 2
 					end
-					act 'Go to his place':$hookup['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
+					act 'Go to his place':$sex_ev['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
 				end
 			end
 		end
@@ -247,7 +247,7 @@ if $ARGS[0] = 'start':
 					elseif $region = 'pav' or $region = 'pav_park' or $region = 'pav':
 						gs 'fame', 'pav', 'sex', 2
 					end
-					act 'Go to his place':$hookup['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
+					act 'Go to his place':$sex_ev['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
 				end
 			end
 		end
@@ -321,7 +321,7 @@ if $ARGS[0] = 'start':
 				elseif $region = 'pav' or $region = 'pav_park' or $region = 'pav':
 					gs 'fame', 'pav', 'sex', 2
 				end
-				act 'Go to his place':$hookup['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
+				act 'Go to his place':$sex_ev['pickup'] = 'street' & gt 'sex_ev_start', 'hookup_npc_home_start'
 			end
 		end
 	end

+ 4 - 4
locations/din_bad.qsrc

@@ -551,7 +551,7 @@ $d_tabletkieda = {
 
 if $ARGS[0] = 'set_auto_bc':
 	:invalid_auto_bc_loop
-	birth_control['auto_hour'] = input ("When do you want to automatically take your pill? (Pick an hour 1 - 23. If you are asleep during the hour you set, you will not take it.)")
+	birth_control['auto_hour'] = input ("When do you want to take your pill? (Pick an hour 1 - 23. At that hour, you will automatically take your birth control pill. If you are asleep during the hour you set, you will not take it.)")
 	if birth_control['auto_hour'] < 1 or birth_control['auto_hour'] > 23:
 		msg 'Invalid input. Pick an hour between 1 and 23.'
 		jump 'invalid_auto_bc_loop'
@@ -568,7 +568,7 @@ end
 
 if $ARGS[0] = 'set_bc_reminder':
 	:invalid_bc_reminder_loop
-	birth_control['remind_hour'] = input ("When do you want to set your reminder? (Pick an hour 1 - 22. A reminder icon will appear in the stat display during that hour.)")
+	birth_control['remind_hour'] = input ("When do you want to set your reminder? (Pick an hour 1 - 22. An icon will appear in the stat display during that hour to remind you to take your pill.)")
 	if birth_control['remind_hour'] < 1 or birth_control['remind_hour'] > 22:
 		msg 'Invalid reminder input. Pick an hour between 1 and 22.'
 		jump 'invalid_bc_reminder'
@@ -824,7 +824,7 @@ $d_cycreport_update = {
 					if stat['safe_day'] = 1:
 						$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. You are currently on the pill but it is not yet effective. <font color=green>Today is a safe day to have unprotected sex.</font>'
 					elseif birth_control['think_safe'] ! 1 and stat['probably_safe_day'] = 1:
-						$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. You are currently on the pill but it is not yet effective. <font color=blue>Today is <i>probably</i> a safe day to have unprotected sex.</font>'
+						$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. You are currently on the pill but it is not yet effective. <font color=orange>Today is <i>probably</i> a safe day to have unprotected sex.</font>'
 					elseif birth_control['think_safe'] ! 1 and stat['dangerous_day'] = 1:
 						$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. You are currently on the pill but it is not yet effective. <font color=red>Today is a dangerous day to have unprotected sex.</font>'
 					end
@@ -843,7 +843,7 @@ $d_cycreport_update = {
 				elseif birth_control['think_safe'] ! 1 and stat['safe_day'] = 1:
 					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=green>Today is a safe day to have unprotected sex.</font>'
 				elseif birth_control['think_safe'] ! 1 and stat['probably_safe_day'] = 1:
-					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=blue>Today is <i>probably</i> a safe day to have unprotected sex.</font>'
+					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=orange>Today is <i>probably</i> a safe day to have unprotected sex.</font>'
 				elseif birth_control['think_safe'] ! 1 and stat['dangerous_day'] = 1:
 					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=red>Today is a dangerous day to have unprotected sex.</font>'
 				else

+ 35 - 14
locations/din_van.qsrc

@@ -1367,11 +1367,11 @@ if $ARGS[0] = 'HorrifiedReact1':
 	minut += 10
 	*nl
 	'You stare in disbelief at the test in your hand. The two strips displayed can only mean one thing: you are pregnant. You sink to the floor, mind spinning. Tears well in your eyes. How could this happen?'
-	if stat['hidden_vaginal'] > 0 and stat['vaginal'] = 1:
+	if stat['hidden_vaginal'] > 0 and stat['vaginal'] = 0:
 		'You don''t even know how this is possible. You''ve never even had sex with anyone.'
 		'What did you do to deserve this? What is everyone going to think of you? Your life is ruined.'
 		'After several minutes of sobbing and trying to make sense of your situation, you finally pull yourself off of the floor. You straighten your clothes and wash your face as you begin to accept the situation you''re stuck with.'
-	elseif rape > 0 and stat['vaginal'] > 1:
+	elseif rape > 0 and stat['vaginal'] >= 1:
 		'It’s bad enough that you were raped, but possibly getting pregnant from it as well? It’s completely unfair!'
 		'What did you do to deserve this? What is everyone going to think of you? Your life is ruined.'
 		'After several minutes of sobbing and trying to make sense of your situation, you finally pull yourself off of the floor. You straighten your clothes and wash your face as you begin to accept the situation you''re stuck with.'
@@ -1730,11 +1730,19 @@ if $ARGS[0] = 'shave_options':
 	*p '<table border=0 cellspacing=<<shave_img_hgt/25>> cellpadding=5>'
 
 	!! 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>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],2)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],2)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],3)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],3)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],4)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],4)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],5)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],5)>>"></a></center></TD></TR>'
+		*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>'
+
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 3)
+		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
+
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 4)
+		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
+
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 5)
+		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD></TR>'
 
 	!! ROW 1: TEXT
 		*p '<TR><TD><center>'
@@ -1770,11 +1778,20 @@ if $ARGS[0] = 'shave_options':
 		*p '</center></TD></TR>'
 
 	!! ROW 2: IMAGES
-		*P '<TR><TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],6)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],6)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],7)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],7)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],8)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],8)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],9)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],9)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',26,pcs_pubecol[2],10)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',26,pcs_pubecol[2],10)>>"></a></center></TD></TR>'
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 6)
+		*p '<TR><TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
+
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 7)
+		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
+
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 8)
+		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
+
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 9)
+		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
+
+		$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>'
@@ -1810,8 +1827,11 @@ if $ARGS[0] = 'shave_options':
 		*p '</center></TD></TR>'
 
 	!! ROW 3: IMAGES
-		*P '<TR><TD><center><a href="exec:view''<<FUNC(''$pube_image'',5,pcs_pubecol[2],11)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',5,pcs_pubecol[2],11)>>"></a></center></TD>'
-		*P '<TD><center><a href="exec:view''<<FUNC(''$pube_image'',16,pcs_pubecol[2],12)>>''"><img Height = <<shave_img_hgt>> src="<<FUNC(''$pube_image'',16,pcs_pubecol[2],12)>>"></a></center></TD></TR>'
+		$temp_pube_image = FUNC('$pube_image', 5, pcs_pubecol[2], 11)
+		*p '<TR><TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD>'
+
+		$temp_pube_image = FUNC('$pube_image', 16, pcs_pubecol[2], 12)
+		*p '<TD><center><a href="exec:view''<<$temp_pube_image>>''"><img Height = <<shave_img_hgt>> src="<<$temp_pube_image>>"></a></center></TD></TR>'
 
 	!! ROW 3: TEXT
 		*p '<TR><TD><center>'
@@ -1830,6 +1850,7 @@ if $ARGS[0] = 'shave_options':
 	*p '</center></TD></TR></table>'
 	*p '<sub><small>Lazy - (don''t immediately shave stubble)</small></sub></center>'
 
+	killvar '$temp_pube_image'
 	killvar '$temp_toggle'
 
 	act 'Return':menu_off = 0 & gt $loc, $loc_arg

+ 1 - 0
locations/drugs.qsrc

@@ -21,6 +21,7 @@ if $ARGS[0] = 'smoke':
 		if smoker > 20 and smoke_exp = 0: smoke_exp = 1
 	end
 	mc_inventory['cigarettes'] -= 1
+	stat['cigarettes_smoked'] += 1
 	smokeDay = daystart
 	smokeHour = hour
 	smokeminut = minut + 3

+ 1 - 1
locations/emp_functions.qsrc

@@ -98,7 +98,7 @@ if $ARGS[0] = 'gen_schedule':
 				elseif function_sw = 2:
                     flag_active  = 1
                     j_id = emp_rota_week[i_day +  '_' + i_hour]
-                    if emp_rota_week[i_day +  '_' + i_hour] ! '0':							
+                    if emp_rota_week[i_day +  '_' + i_hour] ! 0:							
                         $transient_tb =  '<a  href="exec:gs ''emp_functions'', ''job_info'', <<j_id>>">' + $emp_job_title[j_id] + '</a>'
                     else
                         $transient_tb  = 'Free'

+ 18 - 18
locations/intro_city_select.qsrc

@@ -422,7 +422,7 @@ if $ARGS[0] = 'nerdqueen':
 		!!d cup for ideal bmi
 		pcs_mass['bust_gen'] = 22
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 87
+		pcs_mass['body'] = 65
 		willpowermax = 70
 		gs 'grades', 'grade_award', 'school', 'math', 85
 		gs 'grades', 'grade_award', 'school', 'rus', 90
@@ -462,7 +462,7 @@ if $ARGS[0] = 'goodstudent':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 18
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 93
+		pcs_mass['body'] = 70
 		gs 'npc_relationship', 'socialgroup_setting', 0, 0, 5, 0, 0, 20
 		npc_rel['A29'] += 20
 		if player_avatar ! 1: pcs_hairlng = 200
@@ -502,7 +502,7 @@ if $ARGS[0] = 'computergeek':
 		internet = 20
 		pcs_skin = 500
 		pcs_teeth = 1
-		pcs_mass['body'] = 56
+		pcs_mass['body'] = 42
 		pcs_inhib = 20
 		npc_rel['A152'] += 10
 		npc_rel['A153'] += 10
@@ -542,7 +542,7 @@ if $ARGS[0] = 'chessplayer':
 		pcs_react = 45
 		pcs_chess = 40
 		pcs_skin = 600
-		pcs_mass['body'] = 97
+		pcs_mass['body'] = 73
 		pcs_inhib = 15
 		chessyear = year
 		chessmonth = month
@@ -630,7 +630,7 @@ if $ARGS[0] = 'volleyball':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 17
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 75
+		pcs_mass['body'] = 56
 		pcs_vball = 50
 		gsAboVolley += 30
 		npc_rel['A13'] += 10
@@ -671,7 +671,7 @@ if $ARGS[0] = 'dancer':
 		pcs_skin = 700
 		pcs_teeth = -1
 		pcs_tan = 5
-		pcs_mass['body'] = 50
+		pcs_mass['body'] = 37
 		if player_avatar = 0:
 			pcs_hairlng = 200
 			pcs_eyesize = 2
@@ -718,7 +718,7 @@ if $ARGS[0] = 'runner':
 		pcs_vital = 55
 		pcs_agil = 55
 		pcs_inhib = 25
-		pcs_mass['body'] = 60
+		pcs_mass['body'] = 45
 		pcs_run = 55
 		gsAboBeg += 30
 		npc_rel['A3'] += 10
@@ -760,7 +760,7 @@ if $ARGS[0] = 'football':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 17
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 80
+		pcs_mass['body'] = 60
 		pcs_kick = 20
 		pcs_ftbll = 55
 		npc_rel['A131'] += 10
@@ -835,7 +835,7 @@ if $ARGS[0] = 'socialite':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 18
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 80
+		pcs_mass['body'] = 60
 		pcs_humint = 40
 		pcs_makupskl = 40
 		pcs_heels = 30
@@ -892,7 +892,7 @@ if $ARGS[0] = 'beautiful':
 		!!d cup for ideal bmi
 		pcs_mass['bust_gen'] = 22
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 75
+		pcs_mass['body'] = 56
 		pcs_inhib = 25
 		mc_inventory['cosmetics'] = 50
 		mc_inventory['eyelash_fake'] =  10
@@ -990,7 +990,7 @@ if $ARGS[0] = 'gopnikstart':
 		pcs_punch = 35
 		pcs_kick = 35
 		pcs_def = 35
-		pcs_mass['body'] = 86
+		pcs_mass['body'] = 65
 		school_clothing = 5
 		npc_rel['A9'] += 10
 		npc_rel['A10'] += 10
@@ -1039,7 +1039,7 @@ if $ARGS[0] = 'troublemaker':
 		pcs_def = 20
 		pcs_humint = 10
 		pcs_persuas = 10
-		pcs_mass['body'] = 65
+		pcs_mass['body'] = 49
 		pirsD = 4
 		PirsD4_owned = 1
 		$currentpursetype = 'dolls'
@@ -1100,7 +1100,7 @@ if $ARGS[0] = 'alternative':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 18
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 75
+		pcs_mass['body'] = 56
 		pcs_chrsm = 35
 		pcs_humint = 20
 		pcs_persuas = 20
@@ -1204,7 +1204,7 @@ if $ARGS[0] = 'friendless':
 		!!b cup for ideal bmi
 		pcs_mass['bust_gen'] = 12
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 68
+		pcs_mass['body'] = 51
 		pcs_chrsm = 20
 		pcs_observ = 20
 		pcs_skin = 300 
@@ -1242,7 +1242,7 @@ if $ARGS[0] = 'uglyduckling':
 		!!e cup for ideal bmi
 		pcs_mass['bust_gen'] = 28
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 130
+		pcs_mass['body'] = 94
 		pcs_inhib = 5
 		if player_avatar = 0:
 			pcs_eyesize = 0
@@ -1312,7 +1312,7 @@ if $ARGS[0] = 'goodgirl':
 		!!b cup for ideal bmi
 		pcs_mass['bust_gen'] = 13
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 58
+		pcs_mass['body'] = 43
 		willpowermax = 75
 		gs 'grades', 'grade_award', 'school', 'math', 80
 		gs 'grades', 'grade_award', 'school', 'rus', 80
@@ -1359,7 +1359,7 @@ if $ARGS[0] = 'slut':
 		!!d cup for ideal bmi
 		pcs_mass['bust_gen'] = 22
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 70
+		pcs_mass['body'] = 52
 		mc_inventory['cosmetics'] = 30
 		mc_inventory['eyelash_fake'] =  20
 		$currentpursetype = 'cats'
@@ -1448,7 +1448,7 @@ if $ARGS[0] = 'goth':
 		!!b cup for ideal bmi
 		pcs_mass['bust_gen'] = 13
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 55
+		pcs_mass['body'] = 41
 		pcs_chrsm = 45
 		pcs_intel = 45
 		pcs_sprt = 50

+ 81 - 19
locations/intro_customization.qsrc

@@ -2,8 +2,8 @@
 !!2022/03/12
 if $ARGS[0] = 'start':
 	'If you want to set your skills and attributes to a certain number, use the cheat menu to do it, the options to do it here were removed.'
-	pcs_mass['butt_gen'] = 20
-	if pcs_mass['bust_gen'] = '': pcs_mass['bust_gen'] = 22
+	if pcs_mass['butt_gen'] = 0: pcs_mass['butt_gen'] = 22
+	if pcs_mass['bust_gen'] = 0: pcs_mass['bust_gen'] = 22
 	if $soc_grup = '':gs 'intro_customization', 'none'
 	act 'Set attributes': gt 'intro_customization','modatt'
 	act 'Set skills': gt 'intro_customization','modskl'
@@ -28,6 +28,7 @@ end
 if $ARGS[0] = 'modapp':
 	cla & *clr
 	if pcs_mass['bust_gen'] = 0: pcs_mass['bust_gen'] = 12
+	if pcs_mass['butt_gen'] = 0: pcs_mass['butt_gen'] = 22
 
 	'Choose base genetic breast size: (this is the genetic disposition and not the actual size at game start)'
 	nl
@@ -108,6 +109,58 @@ if $ARGS[0] = 'modapp':
 	else
 		'<a href="exec:pcs_mass[''bust_gen''] = 87 & gt ''intro_customization'',''modapp''">You''ve been eclipsed by 2 small moons</a>'
 	end
+	*nl
+	*nl
+	*nl
+	'Choose base genetic butt size: (this is the genetic disposition and not the actual size at game start)'
+	if pcs_mass['butt_gen'] = 2:
+		'Flat - Currently set'
+	else
+		'<a href="exec:pcs_mass[''butt_gen''] = 2 & gt ''intro_customization'',''modapp''">Flat</a>'
+	end
+
+	if pcs_mass['butt_gen'] = 7:
+		'Mostly Flat - Currently set'
+	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
+		'<a href="exec:pcs_mass[''butt_gen''] = 17 & gt ''intro_customization'',''modapp''">Below Average</a>'
+	end
+
+	if pcs_mass['butt_gen'] = 22:
+		'Average - Currently set'
+	else
+		'<a href="exec:pcs_mass[''butt_gen''] = 22 & gt ''intro_customization'',''modapp''">Average</a>'
+	end
+
+	if pcs_mass['butt_gen'] = 27:
+		'Above Average - Currently set'
+	else
+		'<a href="exec:pcs_mass[''butt_gen''] = 27 & gt ''intro_customization'',''modapp''">Above Average</a>'
+	end
+
+	if pcs_mass['butt_gen'] = 32:
+		'Big - Currently set'
+	else
+		'<a href="exec:pcs_mass[''butt_gen''] = 32 & gt ''intro_customization'',''modapp''">Big</a>'
+	end
+
+	if pcs_mass['butt_gen'] = 37:
+		'Massive - Currently set'
+	else
+		'<a href="exec:pcs_mass[''butt_gen''] = 37 & gt ''intro_customization'',''modapp''">Massive</a>'
+	end
+
 
 	act 'Body fat (<<pcs_mass[''body'']>>/200)':  gs 'intro_customization','setbodymass' & pcs_mass['body'] = nstat & gt 'intro_customization','modapp'
 	act 'Return': gt'intro_customization','start'
@@ -263,7 +316,7 @@ if $ARGS[0] = 'modpur':
 		:loopdanilovichpurses
 		*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 <= 20:jump 'loopdanilovichpurses'
+		if i <= 60:jump 'loopdanilovichpurses'
 	end	
 	act 'Get Dolls':
 		*clr & cla
@@ -272,7 +325,7 @@ if $ARGS[0] = 'modpur':
 		:loopdollspurses
 		*p '<a href="exec:gt ''intro_customization'', ''modpur'', ''dolls'', <<i>>"><img src="images/pc/items/dolls/purses/<<i>>.jpg" 	height="300" /></a>'
 		i += 1
-		if i <= 20:jump 'loopdollspurses'
+		if i <= 40:jump 'loopdollspurses'
 	end
 	act 'Get Bomba':
 		*clr & cla
@@ -290,8 +343,17 @@ if $ARGS[0] = 'modpur':
 		:loopfashionistapurses
 		*p '<a href="exec:gt ''intro_customization'', ''modpur'', ''fashionista'', <<i>>"><img src="images/pc/items/fashionista/purses/<<i>>.jpg" 	height="300" /></a>'
 		i += 1
-		if i <= 20:jump 'loopfashionistapurses'
+		if i <= 40:jump 'loopfashionistapurses'
 	end
+	act 'Get Coco':
+		*clr & cla
+		'<center><img src="images/locations/pavlovsk/coco/shop_name.png"></center>'
+		i = 1
+		:loopcocopurses
+		*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	
 	act 'Get Pussy_Cats':
 		*clr & cla
 		'<center><img src="images/locations/city/citycenter/mall/pussycat.png"></center>'
@@ -317,7 +379,7 @@ if $ARGS[0] = 'modpur':
 		:loopmoncheripurses
 		*p '<a href="exec:gt ''intro_customization'', ''modpur'', ''moncheri'', <<i>>"><img src="images/pc/items/moncheri/purses/<<i>>.jpg" 	height="300" /></a>'
 		i += 1
-		if i <= 20:jump 'loopmoncheripurses'
+		if i <= 40:jump 'loopmoncheripurses'
 	end
 	act 'I do not want a purse':
 		bag = 0
@@ -383,23 +445,23 @@ end
 
 if $ARGS[0] = 'setbodymass':
 	*clr & cla
-	'20 = underweight, slight, wiry'
-	'40 = slender, skinny, lean'
-	'60 = healthy, toned, ripped'
-	'80 = cute, muscular'
-	'100 = chubby, curvy, herculean'
-	'120 = overweight, stocky'
-	'140 = fat, heavy set'
+	'15 = underweight, slight, wiry'
+	'30 = slender, skinny, lean'
+	'45 = healthy, toned, ripped'
+	'60 = cute, muscular'
+	'75 = chubby, curvy, herculean'
+	'90 = overweight, stocky'
+	'105 = fat, heavy set'
 
 	nstat = pcs_mass['body']
-	nstat = input 'Enter value in multiples of 20. For example, 20, 40, 60 etc.'
-	if nstat > 200:
-		msg 'Please enter a value less than 200'
+	nstat = input 'Enter value in multiples of 5, between 15 and 150. For example, 15, 20, 60 etc.'
+	if nstat > 150:
+		msg 'Please enter a value less than 150'
 		gs 'intro_customization', 'setval'
-	elseif nstat < 20:
-		msg 'Please enter a value greater than 20'
+	elseif nstat < 15:
+		msg 'Please enter a value greater than 15'
 		gs 'intro_customization', 'setval'
-	elseif nstat mod 20 ! 0:
+	elseif nstat mod 5 ! 0:
 		msg 'Please enter a value in multiples of 20'
 		gs 'intro_customization', 'setval'
 	else

+ 19 - 19
locations/intro_sg_select.qsrc

@@ -485,7 +485,7 @@ if $ARGS[0] = 'nerdqueen':
 		!!d cup for ideal bmi
 		pcs_mass['bust_gen'] = 22
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 87
+		pcs_mass['body'] = 65
 		willpowermax = 70
 		gs 'grades', 'grade_award', 'school', 'math', 85
 		gs 'grades', 'grade_award', 'school', 'rus', 90
@@ -523,7 +523,7 @@ if $ARGS[0] = 'goodstudent':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 18
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 93
+		pcs_mass['body'] = 70
 		grupvalue[3] = 850
 		grupvalue[6] = 700
 		gs 'npc_relationship', 'socialgroup_setting', 0, 0, 5, 0, 0, 20
@@ -564,7 +564,7 @@ if $ARGS[0] = 'computergeek':
 		internet = 20
 		pcs_skin = 500
 		pcs_teeth = 1
-		pcs_mass['body'] = 56
+		pcs_mass['body'] = 42
 		pcs_inhib = 20
 		npc_rel['A152'] += 10
 		npc_rel['A153'] += 10
@@ -603,7 +603,7 @@ if $ARGS[0] = 'chessplayer':
 		pcs_prcptn = 40
 		pcs_react = 40
 		pcs_chess = 40
-		pcs_mass['body'] = 97
+		pcs_mass['body'] = 73
 		pcs_inhib = 15
 		chessyear = year
 		chessmonth = month
@@ -696,7 +696,7 @@ if $ARGS[0] = 'volleyball':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 17
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 75
+		pcs_mass['body'] = 56
 		pcs_vball = 50
 		gsAboVolley += 30
 		npc_rel['A13'] += 10
@@ -739,7 +739,7 @@ if $ARGS[0] = 'dancer':
 		pcs_skin = 700
 		pcs_teeth = -1
 		pcs_tan = 5
-		pcs_mass['body'] = 50
+		pcs_mass['body'] = 37
 		if player_avatar = 0:
 			pcs_hairlng = 200
 			pcs_eyesize = 2
@@ -785,7 +785,7 @@ if $ARGS[0] = 'runner':
 		pcs_vital = 50
 		pcs_agil = 50
 		pcs_inhib = 25
-		pcs_mass['body'] = 60
+		pcs_mass['body'] = 45
 		pcs_run = 50
 		gsAboBeg += 30
 		npc_rel['A3'] += 10
@@ -827,7 +827,7 @@ if $ARGS[0] = 'football':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 17
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 80
+		pcs_mass['body'] = 60
 		pcs_kick = 20
 		pcs_ftbll = 50
 		npc_rel['A131'] += 10
@@ -908,7 +908,7 @@ if $ARGS[0] = 'socialite':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 18
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 80
+		pcs_mass['body'] = 60
 		pcs_humint = 40
 		pcs_makupskl = 40
 		pcs_heels = 30
@@ -964,7 +964,7 @@ if $ARGS[0] = 'beautiful':
 		!!d cup for ideal bmi
 		pcs_mass['bust_gen'] = 22
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 75
+		pcs_mass['body'] = 56
 		pcs_inhib = 25
 		mc_inventory['cosmetics'] = 50
 		mc_inventory['eyelash_fake'] = 10
@@ -1073,7 +1073,7 @@ if $ARGS[0] = 'gopnikstart':
 		pcs_punch = 35
 		pcs_kick = 35
 		pcs_def = 35
-		pcs_mass['body'] = 86
+		pcs_mass['body'] = 65
 		pcs_teeth = 1
 		school_clothing = 5
 		npc_rel['A9'] += 10
@@ -1124,7 +1124,7 @@ if $ARGS[0] = 'troublemaker':
 		pcs_def = 20
 		pcs_humint = 10
 		pcs_persuas = 10
-		pcs_mass['body'] = 65
+		pcs_mass['body'] = 49
 		pirsD = 4
 		PirsD4_owned = 1
 		$currentpursetype = 'dolls'
@@ -1176,7 +1176,7 @@ if $ARGS[0] = 'vitekgf':
 		!!e cup for ideal bmi
 		pcs_mass['bust_gen'] = 32
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 73
+		pcs_mass['body'] = 55
 		pcs_humint = 20
 		pcs_makupskl = 30
 		pcs_heels = 30
@@ -1258,7 +1258,7 @@ if $ARGS[0] = 'alternative':
 		!!c cup for ideal bmi
 		pcs_mass['bust_gen'] = 18
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 75
+		pcs_mass['body'] = 56
 		pcs_chrsm = 45
 		pcs_humint = 20
 		pcs_persuas = 10
@@ -1369,7 +1369,7 @@ if $ARGS[0] = 'friendless':
 		!!b cup for ideal bmi
 		pcs_mass['bust_gen'] = 12
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 68
+		pcs_mass['body'] = 51
 		pcs_chrsm = 20
 		pcs_observ = 20
 		pcs_skin = 400
@@ -1413,7 +1413,7 @@ if $ARGS[0] = 'uglyduckling':
 		!!e cup for ideal bmi
 		pcs_mass['bust_gen'] = 28
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 125
+		pcs_mass['body'] = 94
 		pcs_inhib = 5
 		pcs_teeth = 2
 		if player_avatar = 0:
@@ -1480,7 +1480,7 @@ if $ARGS[0] = 'goodgirl':
 		!!b cup for ideal bmi
 		pcs_mass['bust_gen'] = 13
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 58
+		pcs_mass['body'] = 43
 		willpowermax = 75
 		gs 'grades', 'grade_award', 'school', 'math', 80
 		gs 'grades', 'grade_award', 'school', 'rus', 80
@@ -1533,7 +1533,7 @@ if $ARGS[0] = 'slut':
 		!!d cup for ideal bmi
 		pcs_mass['bust_gen'] = 22
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 70
+		pcs_mass['body'] = 52
 		mc_inventory['cosmetics'] = 30
 		mc_inventory['eyelash_fake'] = 20
 		$currentpursetype = 'cats'
@@ -1627,7 +1627,7 @@ if $ARGS[0] = 'goth':
 		!!b cup for ideal bmi
 		pcs_mass['bust_gen'] = 13
 		pcs_mass['butt_gen'] = 20
-		pcs_mass['body'] = 55
+		pcs_mass['body'] = 41
 		pcs_chrsm = 40
 		pcs_intel = 40
 		pcs_sprt = 45

+ 1 - 1
locations/intro_sg_select_custom.qsrc

@@ -191,7 +191,7 @@ if $ARGS[0] = 'none':
 	!!Mental Skills Reset
 	pcs_humint = 0
 	pcs_persuas = 0
-	pcs_observ = 0	
+	pcs_observ = 0
 	
 	!!Sport Skills Reset
 	pcs_jab = 0

+ 0 - 1
locations/journal.qsrc

@@ -49,7 +49,6 @@ if $ARGS[0]='journalmenu':
 	$tablebody += '<th><a href="exec:menutrack = 5 & gs ''journal'', ''generaltab''">Game Information</a></th>'
 	$tablebody += '<th><a href="exec:menutrack = 6 & gs ''journal'', ''notestab''">Notes</a></th>'
 	$tablebody += '<th><a href="exec:menutrack = 7 & gs ''journal'', ''notification_log''">Notifications</a></th>'
-	if alterstrtimg = 13 or mod_ballet['letter'] > 0 or balletqw['school'] > 0: $tablebody += '<th><a href="exec:menutrack = 8 & gs ''journal'', ''ballet''">Ballet</a></th>'
 	$tablebody += '</tr>'
 
 	!display the table here.

+ 7 - 6
locations/journal_quests.qsrc

@@ -4,10 +4,10 @@
 !! Game Character Quest section. This is the container file for all quest roles in game. Used to provide player feedback on how to proceed in quests.
 !! All quest information should be in a guidance or hint style fashion to encourage exploration.
 
-! V .01 added lines 14 and 15 to integrate into the new journal menu system. Changed headers from H1 to H2 or H3 to fit design style of other sections.
-! v .02 Added Mira Maximova  - Three Wishes events to journal under new Gadukino group - courtesy of Derryth_Love
-! v.03 Added new Natasha Belova content.
-
+!! V .01 added lines 14 and 15 to integrate into the new journal menu system. Changed headers from H1 to H2 or H3 to fit design style of other sections.
+!! v .02 Added Mira Maximova  - Three Wishes events to journal under new Gadukino group - courtesy of Derryth_Love
+!! v.03 Added new Natasha Belova content.
+!! v.04 Added ballet questline
 
 if $ARGS[0] = 'start':
 	*clr & cla
@@ -61,7 +61,6 @@ if $ARGS[0] = 'start':
 		end
 	end
 
-
 !!to check Sveta is at school. All school quests must pass this and it should become a category as we expand
 	if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and SchoolBlock = 0:
 		'<center><h3>Cheerleading</h3></center>'
@@ -636,9 +635,11 @@ if yearstart > 1:
 end
 !! Ballet Content
 if alterstrtimg = 13 or (mod_ballet['letter'] > 0 or balletqw['school'] > 0):
+	*nl
+	'<center><h3>Pushkin Ballet School</h3></center>'
 
 	if mod_ballet['letter'] ! 1 and balletqw['school'] < 1:
-		'You have been a ballerina since a child and you have excelled in your dance class. Your name was put for the yearly entrance assessments which are being held during the summer and you are hoping for a invitation to the prestigious Pushkin Ballet Academy.'
+		'You have been a ballerina since a child and you have excelled in your dance class. Your name was put forward for the yearly entrance assessments for the Pushkin Ballet School which are being held during the summer and you are hoping for a invitation to the prestigious Pushkin Ballet Academy to your dream of being a ballerina.'
 	end
 	if 	mod_ballet['letter'] = 1 and balletqw['school'] < 1:
 		'You have accepted the opportunity at the Pushkin Ballet Academy. Transport is provided for the week long course from the Pavlosk Community Centre. '

+ 3 - 3
locations/katja_city.qsrc

@@ -123,7 +123,7 @@ end
 if $ARGS[0] = 'clothes_start1':
 	katjaQW['shopping_day'] = daystart
 	gs 'npc_relationship', 'modify', 'A14', 'like'
-	!! This is just temporary so that only Pussy-Cats can be choosen until the others are added.
+	!! This is just temporary so that only Pussy-Cats can be chosen until the others are added.
 	if rand(1,5) = 0:
 		$store_choice = 'Fashionista'
 	elseif rand(1,4) = 0:
@@ -133,7 +133,7 @@ if $ARGS[0] = 'clothes_start1':
 	end
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 	'You suggest that you should try on some clothes while you''re here and Katja almost jumps with joy. "Yes, let''s! It will be so much fun!"'
-	if rand(0,1):
+	if rand(0,1) =1:
 		'"Let''s go to <<$store_choice>>," Katja says.'
 		act 'Go to <<$store_choice>>': gt 'katja_city', $store_choice
 	else
@@ -197,7 +197,7 @@ if $ARGS[0] = 'Pussy-Cats':
 		loop_counter += 1
 		if loop_counter = 600:
 			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
-			'You try to put on what Katja brought you, but it''s ' + iif(pcs_mass['body'] < 45, 'way too loose and will fall off', 'so tight you can''t get into it') + ' so you give up. "I''m sorry, <<$pcs_nickname>>. I''ve miscalculated your size. Let me get something else," Katja says.'
+			'You try to put on what Katja brought you, but it''s ' + iif(pcs_bmi < 25, 'way too loose and will fall off', 'so tight you can''t get into it') + ' so you give up. "I''m sorry, <<$pcs_nickname>>. I''ve miscalculated your size. Let me get something else," Katja says.'
 			'You stop her before she runs out. "Hey don''t be sorry, it''s not your fault. Try what I picked out first."'
 			act 'Katja tries the clothes you picked': gt 'katja_city', 'pussy_cat_outfit<<rand(0,3)>>'
 		else

+ 2 - 2
locations/katja_city_sex.qsrc

@@ -917,7 +917,7 @@ end
 if $ARGS[0] =  'blindfold_sex2':
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/city/sex/blindfold_sex10.jpg"></center>'
 	'When you are free, <<$npc_nickname[$npclastgenerated]>> pushes your face to Katja''s pussy. You start to lick it and penetrate her vagina with your middle finger.'
-	'You then feel <<$npc_nickname[$npclastgenerated]>>''s <<dick>> cm <<$dick_girth>> entering your '+iif(pcs_vag <= dick, ' tight ', ' ')+' pussy, and he starts to pound you.'
+	'You then feel <<$npc_nickname[$npclastgenerated]>>''s <<dick>> cm <<$dick_girth>> entering your'+iif(pcs_vag <= dick, ' tight ', ' ')+'pussy, and he starts to pound you.'
 	katjaQW['horny'] += rand(10,20)
 	gs 'arousal', 'cuni_give', 3, 'group', 'lesbian'
 	gs 'arousal', 'vaginal_finger_give', -3, 'group', 'lesbian'
@@ -1497,7 +1497,7 @@ if $ARGS[0] = 'two_guys_cumming':
 				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/katja/uni/city/walking_home_at_night.jpg"></center>'
 				'You leave the apartment and walk out into the streets, heading in the direction of the nearest metro station.'
 				'You keep walking and discussing the sex you just had. Soon you reach the metro station.'
-				act 'Enter the station': katjaQW['bondage_sex'] += 1 & gt 'katja_city', 'metro'
+				act 'Enter the station': gt 'katja_city', 'metro'
 			end
 		end
 	end

+ 5 - 5
locations/kiosk.qsrc

@@ -141,11 +141,11 @@ if $ARGS[0] = 'counter':
 			pcs_breath = 0
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/food/food.jpg"></center>'
-			'<center><table><TR BGCOLOR="' + $bgcolor + '"><TD><b></b>You enjoy a small tasty, but somewhat fattening, snack.</TD></TR></table></center>'
+			'<center><table><TR BGCOLOR="' + $theme['table_bg'] + '"><TD><b></b>You enjoy a small tasty, but somewhat fattening, snack.</TD></TR></table></center>'
 			act 'return': gt 'kiosk', 'start'
 		end
 	else
-		'<center><table><TR BGCOLOR="' + $bgcolor + '"><TD><b></b>You don''t have enough money to buy some snack.</TD></TR></table></center>'
+		'<center><table><TR BGCOLOR="' + $theme['table_bg'] + '"><TD><b></b>You don''t have enough money to buy some snack.</TD></TR></table></center>'
 	end
 
 	if money >= 40:
@@ -168,11 +168,11 @@ if $ARGS[0] = 'counter':
 			gs 'cum_cleanup'
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/shared/brothel/barorderwater.jpg"></center>'
-			'<center><table><TR BGCOLOR="' + $bgcolor + '"><TD><b></b>You enjoy a drink of water</TD></TR></table></center>'
+			'<center><table><TR BGCOLOR="' + $theme['table_bg'] + '"><TD><b></b>You enjoy a drink of water</TD></TR></table></center>'
 			act 'return': gt 'kiosk', 'start'
 		end
 	else
-		'<center><table><TR BGCOLOR="' + $bgcolor + '"><TD><b></b>You don''t have enough money to buy some water.</TD></TR></table></center>'
+		'<center><table><TR BGCOLOR="' + $theme['table_bg'] + '"><TD><b></b>You don''t have enough money to buy some water.</TD></TR></table></center>'
 	end
 
 	act 'View phone themes': $kioskloc = '' & gt 'kiosk', 'themes'
@@ -207,7 +207,7 @@ if $ARGS[0] =  'themes':
 		if i < 14: jump 'phonethemeloop'
 		killvar '$phoneNameTemp'
 	else
-		'<TR BGCOLOR="' + $bgcolor + '"><TD><b></b>You don''t have enough money to buy a phone theme.</TD></TR>'
+		'<TR BGCOLOR="' + $theme['table_bg'] + '"><TD><b></b>You don''t have enough money to buy a phone theme.</TD></TR>'
 	end
 
 	act 'Return': gt 'kiosk', 'counter'

+ 313 - 0
locations/komp_assbook.qsrc

@@ -0,0 +1,313 @@
+# komp_assbook
+
+if $ARGS[0] = 'main' or $ARGS[0] = '':
+	gs 'stat'
+	$subs = $access['subscription']
+
+	act 'Close Assbook': gt 'komp', 'browse'
+
+	'<center><b>Assbook</b></center>'
+	if subscription[$subs] < 1:
+		'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/eror.jpg"></center>'
+		'You have no internet access, ' + iif(access['metered'], ' you have to buy more minutes.', ' maybe you forgot to pay the internet bill?')
+		act '<B>Close the browser</B>': gt 'komp','start'
+	else
+		'<center><img <<$set_imgh>> src="images/system/image_needed.png"></center>'
+		'You''re currently on Russia''s biggest social network site, "Assbook". Almost everyone has an account here'
+		*nl
+		if $assbook['account_name'] = '':
+			'Click here to log in or <a href="exec:gt ''komp_assbook'', ''signup'' ">sign up</a>'
+		else
+			'Click here to <a href="exec:gt ''komp_assbook'', ''login'' ">log in</a> or signup'
+			act 'Go to your page': gt 'komp_assbook', 'login'
+		end
+		
+		act 'Browse assbook (0:20)': gt 'komp_assbook', 'browse'
+		act 'Look through your friends'' feeds': gt 'komp_assbook', 'friends'
+		
+		if shantfoto > 0: act 'Find the girl you took photos of in the park': gt 'komp_assbook', 'blackmail'
+		act 'Read more about Assbook': gt 'komp_assbook', 'mission_statements'
+	end
+end
+
+
+if $ARGS[0] = 'signup':
+	'<center><b>Assbook</b></center>'
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png"></center>'
+	'You consider which name you''d like to register under.'
+	$assbook['account_name'] = input('Which name would you like to use? (Leave blank for <<$pcs_nickname>>)')
+	if $assbook['account_name'] = '': $assbook['account_name'] = '<<$pcs_nickname>>'
+	'You fill in your personal details and within a few moments you''ve created an account. You can even upload photos to your own page.'
+	minut += 5
+	elektro += 1
+	gs 'internet_mobile', 'use_internet', $subs, 5
+	act 'Go back to the main page': gt 'komp_assbook', 'main'
+end
+
+if $ARGS[0] = 'browse':
+	minut += 20
+	elektro += 2
+	gs 'internet_mobile', 'use_internet', $subs, 20
+	gs 'stat'
+
+	'You spend some time browsing social media'
+
+	act 'Keep browsing assbook (0:20)': gt 'komp_assbook', 'browse'
+	act 'Go back to the main page': gt 'komp_assbook', 'main'
+end
+
+if $ARGS[0] = 'friends':
+	'You don''t know the account names of your friends :('
+	
+	'<font color="red">This content is WIP.</font>'
+	
+	act 'Go back to the main page': gt 'komp_assbook', 'main'
+end
+
+
+
+
+
+if $ARGS[0] = 'login':
+	'<center><img <<$set_imgh>> src="images/system/image_needed.png"></center>'
+	
+	'<font color="red">This content is WIP.</font>'
+	*nl
+	'<a href="exec: gt ''komp_assbook'', ''upload_photo''">Upload a new photo</a>'
+	*nl
+	'Uploaded photos:'
+	gs 'phone_selfies', 'Phone_selfie_totals'
+
+	temp_locationCnt = 0
+	:LocationLoop
+		gs 'komp_assbook', 'showlocation', temp_locationCnt
+		temp_locationCnt += 1
+	if temp_locationCnt < arrsize('$selfieLoc'): jump'LocationLoop'
+	
+	act 'Go back to the main page': gt 'komp_assbook', 'main'
+end
+
+
+if $ARGS[0] = 'showlocation':
+	!'<center><h4><font color="maroon"><<$selfieLocDesc[ARGS[1]]>> selfies</font></h4></center>'
+	*nl
+	gs 'komp_assbook', 'listretrieve', ARGS[1], $selfieLoc[ARGS[1]]
+end
+
+
+if $ARGS[0] = 'listretrieve':
+	gs 'komp_assbook', 'retrieve_clothed_selfies',		ARGS[1], $ARGS[2]
+	gs 'komp_assbook', 'retrieve_swim_selfies',			ARGS[1], $ARGS[2]
+end
+
+!!  ARGS[1] is the index of the location in $selfieLoc[]
+!! $ARGS[2] is the selfie location
+if $ARGS[0] = 'retrieve_clothed_selfies':
+	!!Loop for clothed selfies, dynamics set variables as mixing them in loop instructions is bad
+	if selfieClotot[ARGS[1]] > 0:
+		!'<center><b>Clothed selfies</b></center>'
+		*nl
+		temp_clocnt = 1
+		:temp_loop
+			!!setting value to unmixed variable so it can be checked in the if below
+			dynamic 'assbook_locval = assbook_<<$ARGS[2]>>_clothed[<<temp_clocnt>>]'
+			if assbook_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'clothed', ARGS[1], temp_clocnt)
+			temp_clocnt += 1
+		if temp_clocnt <= selfieClotot[ARGS[1]]: jump 'temp_loop'
+	end
+end
+
+if $ARGS[0] = 'retrieve_swim_selfies':
+	if selfieSwimtot[ARGS[1]] > 0:
+		!'<center><b>Swimwear selfies</b></center>'
+		*nl
+		temp_clocnt = 1
+		:temp_loop1
+			!!setting value to unmixed variable so it can be checked in the if below
+			dynamic 'assbook_locval = assbook_<<$ARGS[2]>>_bikini[<<temp_clocnt>>]'
+			if assbook_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'bikini', ARGS[1], temp_clocnt)
+			temp_clocnt += 1
+		if temp_clocnt <= selfieSwimtot[ARGS[1]]: jump 'temp_loop1'
+	end
+end
+
+
+if $ARGS[0] = 'upload_photo':
+	menu_off = 1
+	temp_suppress_other_selfies = 1
+	$temp_ssh_ret_loc = 'komp_assbook'
+	$temp_ssh_ret_arg = 'upload_photo2'
+
+
+	gs 'phone_selfies', 'Phone_selfie_totals'
+
+	temp_locationCnt = 0
+	:LocationLoop
+		gs 'komp_assbook', 'showlocation2', temp_locationCnt
+		temp_locationCnt += 1
+	if temp_locationCnt < arrsize('$selfieLoc'): jump'LocationLoop'
+
+
+	act 'Go back to your page':
+		menu_off = 0
+		killvar 'temp_suppress_other_selfies'
+		killvar '$temp_ssh_ret_loc'
+		killvar '$temp_ssh_ret_arg'
+
+		minut += 1
+		gs 'internet_mobile', 'use_internet', $subs, 1
+
+		gt 'komp_assbook', 'login'
+	end
+end
+
+if $ARGS[0] = 'upload_photo2':
+	dynamic 'assbook_<<$ARGS[2]>>_<<$ARGS[3]>>[<<ARGS[5]>>] = 1'
+	menu_off = 0
+	killvar 'temp_suppress_other_selfies'
+	killvar '$temp_ssh_ret_loc'
+	killvar '$temp_ssh_ret_arg'
+
+	minut += 5
+	elektro += 1
+	gs 'internet_mobile', 'use_internet', $subs, 5
+
+	gt 'komp_assbook', 'login'
+end
+
+
+if $ARGS[0] = 'showlocation2':
+	'<center><h4><font color="maroon"><<$selfieLocDesc[ARGS[1]]>> selfies</font></h4></center>'
+	*nl
+	gs 'komp_assbook', 'listretrieve2', ARGS[1], $selfieLoc[ARGS[1]]
+end
+
+
+if $ARGS[0] = 'listretrieve2':
+	gs 'komp_assbook', 'upload_clothed_selfies',		ARGS[1], $ARGS[2]
+	gs 'komp_assbook', 'upload_swim_selfies',			ARGS[1], $ARGS[2]
+end
+
+
+!!  ARGS[1] is the index of the location in $selfieLoc[]
+!! $ARGS[2] is the selfie location
+if $ARGS[0] = 'upload_clothed_selfies':
+	!!Loop for clothed selfies, dynamics set variables as mixing them in loop instructions is bad
+	if selfieClotot[ARGS[1]] > 0:
+		!'<center><b>Clothed selfies</b></center>'
+		*nl
+		temp_clocnt = 1
+		:temp_loop
+			!!setting value to unmixed variable so it can be checked in the if below
+			dynamic 'assbook_locval = assbook_<<$ARGS[2]>>_clothed[<<temp_clocnt>>]'
+			dynamic 'phone_locval = <<$ARGS[2]>>_closelfie[<<temp_clocnt>>]'
+			if assbook_locval = 0 and phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'clothed', ARGS[1], temp_clocnt)
+			temp_clocnt += 1
+		if temp_clocnt <= selfieClotot[ARGS[1]]: jump 'temp_loop'
+	end
+end
+
+if $ARGS[0] = 'upload_swim_selfies':
+	if selfieSwimtot[ARGS[1]] > 0:
+		!'<center><b>Swimwear selfies</b></center>'
+		*nl
+		temp_clocnt = 1
+		:temp_loop1
+			!!setting value to unmixed variable so it can be checked in the if below
+			dynamic 'assbook_locval = assbook_<<$ARGS[2]>>_bikini[<<temp_clocnt>>]'
+			dynamic 'phone_locval = <<$ARGS[2]>>_swim[<<temp_clocnt>>]'
+			if assbook_locval = 0 and phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'bikini', ARGS[1], temp_clocnt)
+			temp_clocnt += 1
+		if temp_clocnt <= selfieSwimtot[ARGS[1]]: jump 'temp_loop1'
+	end
+end
+
+
+
+if $ARGS[0] = 'mission_statements':
+	'Introducing Assbook: Where Connections Speak Louder than Words!'
+	'Dive into the vibrant and dynamic world of Assbook, your passport to a digital realm filled with the rich tapestry of Russian culture, diverse communities, and unparalleled social interactions. Here''s why Assbook is the social media platform you''ve been waiting for:'
+	*nl
+	'<b>Cultural Richness:</b>'
+	'Assbook isn''t just a social media site; it''s a celebration of Russian culture. Immerse yourself in a community that cherishes the arts, history, and the unique traditions that make Russia a tapestry of diversity. From captivating stories to stunning visuals, Assbook is your window into the soul of this extraordinary nation.'
+	*nl
+	'<b>Connect with a Purpose:</b>'
+	'Unlike other social media platforms, Assbook is designed to foster meaningful connections. Engage in discussions that matter, share experiences, and find like-minded individuals who appreciate the depth of human interaction. From intellectual debates to heartfelt conversations, Assbook encourages connections that go beyond the surface.'
+	*nl
+	'<b>Visual Storytelling:</b>'
+	'Capture and share your life''s moments through Assbook''s visually immersive experience. Whether it''s breathtaking landscapes, artistic expressions, or snapshots of everyday life, let your images tell the story. With an emphasis on visual storytelling, Assbook transforms your feed into a canvas of emotions, sparking connections through the power of imagery.'
+	*nl
+	'<b>Privacy and Security:</b>'
+	'Your online safety is our top priority. Assbook employs state-of-the-art security measures to ensure that your personal information remains private. Enjoy a worry-free social experience, knowing that your data is in safe hands.'
+	*nl
+	'<b>Community-driven Features:</b>'
+	'Assbook is constantly evolving based on user feedback. Have a suggestion or a feature you''d love to see? Our community-driven approach means that your voice matters. Shape the platform to suit your needs and make Assbook your own.'
+	*nl
+	'<b>Exclusive Events and Groups:</b>'
+	'Discover and participate in exclusive events and groups tailored to your interests. From cultural meet-ups to niche communities, Assbook provides a platform for you to connect with people who share your passions.'
+	*nl
+	'<b>Assbook for Business:</b>'
+	'Entrepreneurs and businesses, take note! Assbook offers a unique platform for networking, brand promotion, and reaching your target audience. Leverage the power of the Assbook community to elevate your brand and connect with potential customers.'
+	*nl
+	'Join the Assbook revolution today and experience social media in a way that transcends the ordinary. Embrace the beauty of Russian culture, forge lasting connections, and make Assbook your digital home!'
+
+	act 'Go back to the main page': gt 'komp_assbook', 'main'
+end
+
+
+if $ARGS[0] = 'blackmail':
+	gs 'stat'
+
+	'<center><img <<$set_imgh>> src="images/pc/items/accessories/computer/komp.jpg"></center>'
+	'You''re currently on Russia''s biggest social network site, "Assbook". Almost everyone has an account here, probably including the girl you took that photo of the other day!'
+	'"Maybe if I can find her, I can blackmail her", you think to yourself. "This photo is very raunchy, after all... I bet she would hate to see it published if she''s important!"'
+	'You can''t help but rub your pussy every now and then while you look at it. You''ll probably keep a copy of this for yourself, either way!'
+
+	act 'Try to find out who she is (1:00)':
+		cla
+		minut += 60
+		elektro += 6
+		gs 'internet_mobile', 'use_internet', $subs, 60
+		fotsearchrand = rand(0,10)
+
+		if fotsearchrand <= 7:
+			'Despite your best efforts, you don''t manage to find the girl this time.'
+
+			act 'Go back to the "Assbook" main page': gt 'komp_assbook', 'main'
+		end
+
+		if fotsearchrand > 7:
+			shantfoto -= 1
+			'Despite your best efforts, you don''t manage to... wait, that''s her! You found her!'
+			gerofotorand = rand(0,100)
+
+			if gerofotorand > 30:
+				'Your dreams of making a fortune are quickly shattered when you check out her profile. Cheap clothes, few friends, lives in a poor district of the city... this girl is not worth blackmailing.'
+
+				act 'Go back to the "Assbook" main page': gt 'komp_assbook', 'main'
+			end
+
+			if gerofotorand >= 5 and gerofotorand <= 30:
+				shantsr += 1
+				'When you click through her profile, you estimate she''s an unknown middle-class girl. Still, she has a lot of friends and the outfits she''s wearing in her photos look stylish... she has money to spend.'
+				'"Why not make her spend some of it on me?" you laugh to yourself, and begin to write a private message.'
+				'You send her a copy of the photo with the private message and tell her to transfer a very modest amount of 5,000 <b>₽</b> to your bank account. If she doesn''t want that photo to be sent to her entire friends list (which you secured before sending the message), the money needs to be on your bank account within 48 hours.'
+
+				act 'Go back to the "Assbook" main page': gt 'komp_assbook', 'main'
+			end
+
+			if gerofotorand < 5:
+				shantbog += 1
+				'You can barely believe it when you read her profile, this girl is a celebrity! It would be a major scandal if this photo got published!'
+				'You send her a copy of the photo with a private message, telling her to transfer 30,000 <b>₽</b> to your bank account. If she doesn''t want that photo to be sent to the press, the money needs to be on your bank account within 48 hours.'
+
+				act 'Go back to the "Assbook" main page': gt 'komp_assbook', 'main'
+			end
+		end
+	end
+
+	act 'Go back to the "Assbook" main page': gt 'komp_assbook', 'main'
+end
+
+
+--- komp_assbook ---------------------------------

+ 8 - 0
locations/medical_din.qsrc

@@ -248,6 +248,12 @@ elseif $ARGS[0] = 'healSTDs':
 end
 
 if $ARGS[0] = 'morning_after_pill_function':
+	!! new morning after pill function that is meant to try to stop an egg from releasing
+	!! if an egg has already released, it will be of no help
+	if cycle = 1: FocH -= 120
+	
+	!! old function that kills sperm potency is unrealistic
+	!!{
 	if arrsize('cumarrcpt') > 0:
 		temp_ID = arrsize('cumarrcpt')
 		:morning_after_womb_cleanup
@@ -258,9 +264,11 @@ if $ARGS[0] = 'morning_after_pill_function':
 		if temp_ID > 0: temp_ID -= 1 & jump 'morning_after_womb_cleanup'
 		killvar 'temp_ID'
 	end
+	}
 	stat['morning_after_pill'] += 1
 	mc_inventory['morning_after_pill'] -= 1
 	if LudaQW['free_condoms'] = 1 and LudaQW['luda_ma_pill'] = 0: LudaQW['luda_ma_pill'] = 1
+	stat['last_morning_after_pill'] = daystart
 end
 
 if $ARGS[0] = 'morning_after_pill':

+ 28 - 2
locations/mirror.qsrc

@@ -165,7 +165,20 @@ if $ARGS[0] = 'start':
 		'<<$hair>>'
 		'<<$pcs_makeup>>. Your ' + iif(pcs_eyesize > 1, '<<$pc_desc[''eye size'']>> ', '') + 'eyes are <<$pc_desc[''eye colour'']>> <<$pcs_lashes>>.'
 		if glass > 0: 'You are wearing <<$pc_descWordy[''vision'']>>.'
-		'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips.'
+		if pcs_missing_teeth = 1:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You have lost <<pcs_missing_teeth>> <a href="exec:gs ''obj_din'', ''show_missing_teeth''">tooth</a>.'
+		elseif pcs_missing_teeth >= 2:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You have lost <<pcs_missing_teeth>>  <a href="exec:gs ''obj_din'', ''show_missing_teeth''">teeth</a>.'
+		end
+		if pcs_brace = 1:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You are wearing a brace on your <a href="exec:gs ''obj_din'', ''show_teeth''">teeth</a> .'
+		elseif pcs_teeth = -1:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You have a perfect white <a href="exec:gs ''obj_din'', ''show_teeth''">smile</a>.'
+		elseif pcs_teeth > 0:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. Your <a href="exec:gs ''obj_din'', ''show_teeth''">teeth</a> are not straight at all. It might be a good idea to see a dentist to straighten them.'
+		else
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. Your <a href="exec:gs ''obj_din'', ''show_teeth''">teeth</a> are miscoloured. It might be a good idea to see a dentist to get them cleaned up.'
+		end
 		'<<$skin>>'
 
 		!########## hair additional desc ##########
@@ -201,7 +214,20 @@ if $ARGS[0] = 'start':
 		'<<$hair>>'
 		'<<$pcs_makeup>>. Your ' + iif(pcs_eyesize > 1, '<<$pc_desc[''eye size'']>> ', '') + 'eyes are <<$pc_desc[''eye colour'']>> <<$pcs_lashes>>.'
 		if glass > 0: 'You are wearing <<$pc_descWordy[''vision'']>>.'
-		'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips.'
+		if pcs_missing_teeth = 1:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You have lost <<pcs_missing_teeth>> <a href="exec:gs ''obj_din'', ''show_missing_teeth''">tooth</a>.'
+		elseif pcs_missing_teeth >= 2:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You have lost <<pcs_missing_teeth>>  <a href="exec:gs ''obj_din'', ''show_missing_teeth''">teeth</a>.'
+		end
+		if pcs_brace = 1:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You are wearing a brace on your <a href="exec:gs ''obj_din'', ''show_teeth''">teeth</a> .'
+		elseif pcs_teeth = -1:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. You have a perfect white <a href="exec:gs ''obj_din'', ''show_teeth''">smile</a>.'
+		elseif pcs_teeth > 0:
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. Your <a href="exec:gs ''obj_din'', ''show_teeth''">teeth</a> are not straight at all. It might be a good idea to see a dentist to straighten them.'
+		else
+			'You have <<$pcs_lipbalm>> <<$pc_desc[''lip size'']>> lips. Your <a href="exec:gs ''obj_din'', ''show_teeth''">teeth</a> are miscoloured. It might be a good idea to see a dentist to get them cleaned up.'
+		end
 		'<<$skin>>'
 
 		if curly > 0 and defcurly = 0: '<br>Your curly hair will last for another <<curly>> days.'

+ 4 - 2
locations/mother.qsrc

@@ -1163,7 +1163,7 @@ if $ARGS[0] = 'pregreact1':
 			'"All right, I had to ask," she says, hugging you again. A bit later she whispers in your ear. "You know, it will not be that bad. You will be still young when your child grows up. You can even go to parties with her. Or him. Whatever. And I will be the awesome hot grandma."'
 			'The image conjured by that thought makes you giggle a bit. Maybe it will not be that bad.'
 			act 'Continue':gt 'mother'
-		elseif stat['vaginal'] > 0:
+		else
 			if (pcs_cp_safe_known + pcs_cp_notsafe_known + pcs_cp_risky_known) > 0:
 				if (pcs_cp_notsafe_known + pcs_cp_risky_known) = 0:
 					act'I don''t know (I used birth control)':
@@ -1172,7 +1172,9 @@ if $ARGS[0] = 'pregreact1':
 						'"Oh honey," your <<$npc_nickname[''A29'']>> whispers, hugging you tight against her breast. "These things fail sometimes. It can happen. Maybe I should have taught you better. This is all my fault... But I''ll help you now. You are not alone in this."'
 						act 'Continue':gt 'mother'
 					end
-				elseif (pcs_cp_notsafe_known + pcs_cp_risky_known) > 1 and guy > 1:
+				!!elseif (pcs_cp_notsafe_known + pcs_cp_risky_known) > 1 and guy > 1:
+				!! need to create an option for if Sveta has only ever slept with 1 guy
+				else
 					act'I''m not sure':
 						cla & *nl
 						'"I''m... not sure..." you admit, shamefully. "I wasn''t very careful."'

+ 21 - 25
locations/npc_3501_init.qsrc

@@ -41,14 +41,15 @@ if $ARGS[0] = 'scheduler':
 
 	!! Uni years
 	!! Corp De Ballet
-
-	
+	end	
 end
 !! Init first event - triggered from pushkin_ballet_res, bedroom
 
-if $ARGS[1] = 'grave':
-	time += 5
+if $ARGS[0] = 'grave':
+	*clr & cla
+	minut += 5
 	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/characters/ballet/3501-1.jpg"></center>'
 	'<<$npc_firstname[''A3501'']>> enters your room, "<<$pcs_nickname>>, do you have some free time?"'
 	'"Sure, what do you need, <<$npc_firstname[''A3501'']>>? Some more practice?"' 
 	'"I need to go somewhere, but I don''t want to go alone," <<$npc_firstname[''A3501'']>> says, avoiding the question, her eyes looking at the floor.'
@@ -62,12 +63,11 @@ end
 
 if $ARGS[0] = 'graveyard_memorial':
 	*clr & cla
+	$setloc['StageTitle'] = 'Pushkin Graveyard'
+	$setloc['StageImage'] =   '<<$default_img_path>>ballet_events/graveyard'
 	minut += 45
 	gs 'stat'
-   
-	'<center><h2>Pushkin Graveyard</h2></center>'
-	'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
-
+    gs 'core_library', 'stage_title'
 	'You agree to <<$npc_firstname[''A3501'']>>''s strange request. You grab your coat before the two of you head out of your bedroom. You take the short walk from your residence to the graveyard, a quiet location. <<$npc_firstname[''A3501'']>> has been quiet during your walk, totally unlike her usual boisterous self. However, you''re unsure how to break the silence when she touches your arm.'
 	'You pause and look towards her. "Thank you, <<$pcs_nickname>>, for coming with me. You''re probably wondering why we''re here." Grief fills her eyes, showing the pain that she''s been holding back. <<$npc_firstname[''A3501'']>> starts to walk again until you come to a grave.'
 	*nl
@@ -77,13 +77,11 @@ if $ARGS[0] = 'graveyard_memorial':
 		gs 'npc_relationship', 'modify', 'A3501', 'like'
 		npc_trust['A3501'] += 5
 		gs 'stat'
-		'<center><h2>Pushkin Graveyard</h2></center>'
-		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+		gs 'core_library', 'stage_title'
 		'You step in, pulling her close to you. You smell the soft, floral fragrance she wears, and she starts to cry. You just hold her waiting for the storm of tears to pass. You reach into your purse to take out a tissue and hand it to <<$npc_firstname[''A3501'']>>.'
 		act 'Talk to <<$npc_firstname[''A3501'']>>':
 			*clr & cla
-			'<center><h2>Pushkin Graveyard</h2></center>'
-			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+			gs 'core_library', 'stage_title'
 			'<<$npc_firstname[''A3501'']>> gives you a warm smile as she takes the tissue. "Sorry for being such a mess, <<$pcs_nickname>>. This is why I dance. I owe it to my mum. She was a ballet dancer herself, and I inherited her talent."'
 			*nl
 			'You squeeze her hand to encourage her. Then, you put your coat on the ground for both of you to sit on. "Take your time, <<$npc_firstname[''A3501'']>>", you coax her softly.'
@@ -91,8 +89,7 @@ if $ARGS[0] = 'graveyard_memorial':
 			'"Sure, <<$npc_firstname[''A3501'']>>. I''ll be beside those trees."'
 			act 'Wait':
 				*clr & cla
-				'<center><h2>Pushkin Graveyard</h2></center>'
-				'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+				gs 'core_library', 'stage_title'
 				'You pick up your coat and start walking to the bench near the main entrance, brushing the grass and leaves from your coat. You sit down and look towards <<$npc_firstname[''A3501'']>> but can''t see her. You pull out your phone and play a game to distract yourself.'
 				*nl
 				'You look up, hearing footsteps, and it''s <<$npc_firstname[''A3501'']>> coming back. Her eyes were red and puffy from crying. You stand up to meet her, "You look a fright, <<$npc_firstname[''A3501'']>>. Let me fix your makeup."'
@@ -108,8 +105,7 @@ if $ARGS[0] = 'graveyard_memorial':
 
 	act 'Talk to <<$npc_firstname[''A3501'']>>':
 		*clr & cla
-		'<center><h2>Pushkin Graveyard</h2></center>'
-		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+		gs 'core_library', 'stage_title'
 		'<<$npc_firstname[''A3501'']>> gives you a warm smile as she takes the tissue. "Sorry for being such a mess, <<$pcs_nickname>>. This is why I dance. I owe it to my mum. She was a ballet dancer herself, and I inherited her talent."'
 		'You squeeze her hand to encourage her. Then, you put your coat on the ground for both of you to sit on. "Take your time, <<$npc_firstname[''A3501'']>>", you coax her softly.'
 		'"I''m not usually this bad," <<$npc_firstname[''A3501'']>> replies. "It''s just that getting a place on this course is a major achievement for me. Do you mind and give me a moment alone, please?" She looks vulnerable as she makes the request.'
@@ -135,7 +131,7 @@ if $ARGS[0] = 'post_grave':
 		*clr & cla
 		minut += 15
 		'<center><h2>Residental Bedroom</h2></center>'
-		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/bedroom.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/pushkin/ballet_residence/bedroom.jpg"></center>'
 		'<<$npc_firstname[''A3501'']>> enters your room, and you can see she''s been crying. "<<$pcs_nickname>>, do you have a moment?"'
 		'"Sure," you reply, wondering if you will get answers as to why she''s has been crying. She sits on your bed and stays silent for a few moments.'
 		'"<<$pcs_nickname>>, how much do you know about me?"'
@@ -148,16 +144,16 @@ if $ARGS[0] = 'post_grave':
 		minut += 20
 		gs 'stat'
 		'<center><h2>Residental Bedroom</h2></center>'
-		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/bedroom.jpg"></center>'
+		'<center><img <<$set_imgh>> src="images/locations/pushkin/ballet_residence/bedroom.jpg"></center>'
 		'You enter your room together and see that <<$npc_firstname[''A3501'']>> is still subdued. "You want some tea <<$npc_firstname[''A3501'']>>?" she looks up and nods before she starts dabbing her eyes with the handkerchief. '
 		act 'Go to the kitchen':  
 			*clr & cla
-			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/gasha_raid.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/pushkin/ballet_events/gasha_raid.jpg"></center>'
 			'You quickly leave the room and bump into Gasha doing a snack raid. She jumps as she sees you, almost dropping her loot. She has a guilty expression. You''re about to say something, but she''s off before you can get a word out, leaving you to shake your head in amusement.' 
 			act 'Make tea':
 				*clr & cla
 				'<center><h2>Residental Kitchen</h2></center>'
-				'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/kitchen.jpg"></center>'
+				'<center><img <<$set_imgh>> src="images/locations/pushkin/ballet_residence/kitchen.jpg"></center>'
 				'You make some strong tea and head back to your room. <<$npc_firstname[''A3501'']>> is laying on your bed with her eyes closed.'
 				'You approach her and lead down to touch her hand. "<<$npc_firstname[''A3501'']>>, you awake?"'
 				'She opens her eyes and gives you a small smile, "Yes, <<$pcs_nickname>>. You brought the tea, thank you. You''ve been too good to me tonight."'
@@ -174,11 +170,11 @@ if $ARGS[0] = 'post_grave':
 		if mayaqw['grave'] = 3:
 			*clr & cla   
 			'<center><h2>Residental Bedroom</h2></center>'
-			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/bedroom.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/pushkin/ballet_residence/bedroom.jpg"></center>'
 		else  
 			*clr & cla
 			'<center><h2>Residental Bedroom</h2></center>'
-			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/tea_bed.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/pushkin/ballet_events/tea_bed.jpg"></center>'
 		end
 
 		'"Yeah, that''s true. Sorry, I''m used to everyone knowing who I am. You''re the first person that treats me like a person rather than some fragile piece of China."'
@@ -206,13 +202,13 @@ if $ARGS[0] = 'summer_school':
 		*clr & cla
 		if mayaqw['grave'] = 4:
 			mood += 10
-			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/npc/3501_1.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/character/ballet/3501_1.jpg"></center>'
 			'<<$npc_firstname[''A3501'']>> is bubbling with enthuasism when she finds you running behind schedule, "Come on <<$pcs_nickname>> you''re going to be late!"'
 			'Her mood is infectious and soon you quickly grab your dance bag and head to school with <<$npc_firstname[''A3501'']>>.'
 
 			act 'Go to School': gt 'pushkin_ballet_class', 'start'
 		else
-			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/npc/warden.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/character/ballet/warden.jpg"></center>'
 			'Bronya finds you running late in your morning preperations, "Come on <<$pcs_nickname>>, you''re going to be late!"'
 
 			act 'Go to School': gt 'pushkin_ballet_class', 'start'
@@ -226,4 +222,4 @@ end
 
 !! Rudolph Path - init if received discipline points or failed course
 
---- npc_3501_init---------------------------------
+--- npc_3501_init ---------------------------------

+ 1 - 1
locations/npc_3510_init.qsrc

@@ -7,4 +7,4 @@
 !! The corruption of Sveta is slow and insidious making her question everything about dance, her life and who she is if she falls under his influence. Maya can only help up to a point before potentially falling victim to Rudolph herself.
 !! В тихом омуте черти водятся. be wary the calm pools are inhabited by devils.
 
---- npc_3510_init---------------------------------
+--- npc_3510_init ---------------------------------

+ 10 - 7
locations/npcgeneratec.qsrc

@@ -833,26 +833,29 @@ $npc_dna[$npclastgenerated] = func('DNA','create')
 	else
 		!!failsafe
 		npc_sex_stamina[$npclastgenerated] = rand(1,10)
-	end
+	end}
 
 	!! npc_spanker determines whether or not they''re into spanking during sex
-	npc_sex_spanker[$npclastgenerated] = rand(-1,1)
+	if rand(1,3) = 1: npc_sex_spanker[$npclastgenerated] = 1
 	
 	!! npc_childfree determines that they never want to have kids and will react poorly to pregnancy related topics
-	npc_childfree[$npclastgenerated] = rand(-3,1)
+	if rand(1,5) = 1: npc_childfree[$npclastgenerated] = 1
 	
 	!! if npc_pussyeater = 1: they have a fetish for eating pussy
 	!! if npc_pussyeater = -1: they refuse to eat pussy
-	npc_pussyeater[$npclastgenerated] = rand(-1,1)
+	if rand(1,3) = 1: npc_pussyeater[$npclastgenerated] = 1
 	
 	!! if npc_cuddler = 1: the npc likes to cuddle
-	npc_cuddler[$npclastgenerated] = rand(-1,1)
+	if rand(1,3) = 1: npc_cuddler[$npclastgenerated] = 1
 	
 	!! if npc_cum_cannon = 1: the npc ejaculates particularly large loads
-	npc_cum_cannon[$npclastgenerated] = rand(-3,1)
+	if rand(1,5) = 1: npc_cum_cannon[$npclastgenerated] = 1
+	
+	!! if npc_sex_filmer = 1: the npc likes to make sex videos
+	if rand(1,5) = 1: npc_sex_filmer[$npclastgenerated] = 1
 	
 	!! if npc_two_pump = 1: the npc will always cum immediately in the first penetration act of sex
-	npc_two_pump[$npclastgenerated] = rand(-5,1)
+	if rand(1,6) = 1: npc_two_pump[$npclastgenerated] = 1
 	
 !! ------------------------- date preferences ----------------------------------
 	!! favorite kind of date

+ 7 - 2
locations/npcpreservec.qsrc

@@ -152,12 +152,17 @@ if mid($npctemp,1,1) = 'C':
 	npc_dislikes_facials[$npclastsaved]	= npc_dislikes_facials[$npctemp]
 	npc_tit_pref[$npclastsaved]		= npc_tit_pref[$npctemp]
 	npc_bush_pref[$npclastsaved]	= npc_bush_pref[$npctemp]
-	npc_cum_cannon[$npclastsaved]		= npc_cum_cannon[$npctemp]
 	npc_sex_spanker[$npclastsaved] 		= npc_sex_spanker[$npctemp]
 	npc_pussyeater[$npclastsaved]		= npc_pussyeater[$npctemp]
-
+	npc_cum_cannon[$npclastsaved]		= npc_cum_cannon[$npctemp]
+	npc_sex_filmer[$npclastsaved]		= npc_sex_filmer[$npctemp]
+	
+	!! This checks if you have had sex with this person before or not
+	npc_sex[$npclastsaved] = npc_sex[$npctemp]
 
 	$npc_index[$npclastsaved] = $npclastsaved
+	
+	
 
 	! {This checks the miscellanious arrays for the Entry and changes it to the new Array B.}
 	:npctempmloop

+ 1 - 0
locations/pav_aptcourtev.qsrc

@@ -619,6 +619,7 @@ if $ARGS[0] = 'events2':
 					'You are not met with smiles or inviting looks. Lena speaks up first. "What do you want, freak?"'
 					'You smile at them. "I just wanted to hang out if that''s okay?"'
 					'"Get lost loser!" Pauline replies, but they don''t actively chase you off.'
+					act 'Move away':gt 'pav_complex', 'start'
 				else
 					'You are not met with smiles or inviting looks. Lena speaks up first. "What? Looking to slum it for a bit?"'
 					'You smile at them. "I just wanted to hang out if that''s okay?"'

+ 18 - 18
locations/pav_clinic.qsrc

@@ -193,7 +193,7 @@ if $ARGS[0] = '':
 								act 'Leave the clinic': minut += 5 & gt 'pav_commercial'
 							end
 						end
-						if karta >= zubpay:
+						if karta + bankDebtLimit >= zubpay:
 							act 'Sort out your teeth (card)':
 								*clr & cla
 								karta -= zubpay
@@ -230,7 +230,7 @@ if $ARGS[0] = '':
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/clinic/optometrist.jpg"></center>'
 				'The optometrist takes you through a series of tests to measure the condition of your eyes.'
-				'He looks at you as if he has bad news for you. "Well, you probably already expected this, but your vision has deteriorated significantly. You''re going to need glasses to be able to read. The prescription I''m writing for you is for a simple set of rimmed glasses which you can pick up at the front desk before you leave.' 
+				'He looks at you as if he has bad news for you. "Well, you probably already expected this, but your vision has deteriorated significantly. You''re going to need glasses to be able to read. The prescription I''m writing for you is for a simple set of rimmed glasses which you can pick up at the front desk before you leave."' 
 				'He hands you a piece of paper. "Of course you can get a different pair elsewhere if you want better looking ones, the details for which ones you need are on your prescription. You can also get laser vision correction if you really don''t want to use glasses, but I''m going to be honest with you: that''s a very expensive procedure."'
 				pcs_nerd += 1
 				glassqw = 2
@@ -269,7 +269,7 @@ if $ARGS[0] = '':
 								act 'Return to the entrance': gt 'pav_clinic'
 							end
 						end
-						if karta >= 4500:
+						if karta + bankDebtLimit >= 4500:
 							act 'Buy glasses (4,500 <b>₽</b>) (card)':
 								cla
 								karta -= 4500
@@ -301,7 +301,7 @@ if $ARGS[0] = '':
 								act 'Return to the entrance': gt 'pav_clinic'
 							end
 						end
-						if karta >= 75000:
+						if karta + bankDebtLimit >= 75000:
 							act 'Pay for laser correction (75,000 <b>₽</b>) (card)':
 								cla
 								karta -= 75000
@@ -706,7 +706,7 @@ if $ARGS[0] = 'sexual_health':
 		end
 	end
 
-	if karta >= 1000:
+	if karta + bankDebtLimit >= 1000:
 		act 'Get tested for STDs (1,000 <b>₽</b>) (card)':
 			karta -= 1000
 			gs 'pav_clinic', 'std_test'
@@ -723,7 +723,7 @@ if $ARGS[0] = 'sexual_health':
 			end
 		end
 
-		if karta >= 450:
+		if karta + bankDebtLimit >= 450:
 			act 'Get herpes shot (450 <b>₽</b>) (card) You need <<GerpesNapr>> more injections to complete the treatment':
 				karta -= 450
 				gs 'pav_clinic', 'herpes_shot'
@@ -732,7 +732,7 @@ if $ARGS[0] = 'sexual_health':
 	end
 
 	if TriperNapr > 0 and TriperUkolDay ! daystart:
-		if money < 750 and karta < 750: *nl & 'You can''t afford your gonorrhea shot.'
+		if money < 750 and karta + bankDebtLimit < 750: *nl & 'You can''t afford your gonorrhea shot.'
 
 		if money >= 750:
 			act 'Get gonorrhea shot (750 <b>₽</b>) (cash) You need <<TriperNapr>> more injections to complete the treatment':
@@ -741,7 +741,7 @@ if $ARGS[0] = 'sexual_health':
 			end
 		end
 
-		if karta >= 750:
+		if karta + bankDebtLimit >= 750:
 			act 'Get gonorrhea shot (750 <b>₽</b>) (card) You need <<TriperNapr>> more injections to complete the treatment':
 				karta -= 750
 				gs 'pav_clinic', 'gonorrhea_shot'
@@ -750,7 +750,7 @@ if $ARGS[0] = 'sexual_health':
 	end
 
 	if SifNapr = 1:
-		if money < 1000 and karta < 1000: *nl & 'You can''t afford your syphilis shot.'
+		if money < 1000 and karta + bankDebtLimit < 1000: *nl & 'You can''t afford your syphilis shot.'
 
 		if money >= 1000:
 			act 'Get syphilis shot (1,000 <b>₽</b>) (cash)':
@@ -759,7 +759,7 @@ if $ARGS[0] = 'sexual_health':
 			end
 		end
 
-		if karta >= 1000:
+		if karta + bankDebtLimit >= 1000:
 			act 'Get syphilis shot (1,000 <b>₽</b>) (card)':
 				karta -= 1000
 				gs 'pav_clinic', 'syphilis_shot'
@@ -1226,7 +1226,7 @@ if $ARGS[0] = 'spravka_money':
 				act 'Leave':gt 'pav_clinic'
 			end
 		end
-		if karta >= 2000:
+		if karta + bankDebtLimit >= 2000:
 			act 'Pay him the 2,000 <b>₽</b> (card)':
 				*clr & cla
 				minut += 5
@@ -1275,7 +1275,7 @@ if $ARGS[0] = 'spravka_money_pale':
 				gs 'pav_clinic', 'spravka_money_pale2'
 			end
 		end
-		if karta >= 2000:
+		if karta + bankDebtLimit >= 2000:
 			act 'Pay him the 2,000 <b>₽</b> (card)':
 				*clr & cla
 				minut += 5
@@ -1625,7 +1625,7 @@ if $ARGS[0] = 'maternity_ward':
 							'The nurse looks up at you with a caring expression. "No worries, this can happen from time to time."'
 							'You''re still surprised and perplexed by what you''re seeing. "I''m lactating!"'
 							'The nurse takes a small wet wipe and cleans your breasts, then signals that you can cover yourself up.'
-							'""We always need breast milk here. You should think about donating your milk. We will even compensate you for your efforts."'
+							'"We always need breast milk here. You should think about donating your milk. We will even compensate you for your efforts."'
 							'She cleans her hands. "But I think you should leave for now, so you can get used to your new ability."'
 							'She opens the door to let you out of the room.'
 							act 'Leave': gt 'pav_clinic'
@@ -1681,7 +1681,7 @@ if $ARGS[0] = 'maternity_ward':
 										'"You''re able to produce a good amount of milk. You could breastfeed a baby with no issue."'
 									elseif lact_ev['gpoli_milkedvolume'] >= 500 and lact_ev['gpoli_milkedvolume'] < 1000:
 										'Your breasts aren''t able to fill both small bottles and the nurse raises an eyebrow at you.'
-										'"You''re able to produce enough milk for a 50ml donation, but you might have trouble breastfeeding a baby properly.'
+										'"You''re able to produce enough milk for a 50ml donation, but you might have trouble breastfeeding a baby properly."'
 									else
 										'You have trouble filling the bottles to the first mark and the nurse shakes her head.'
 										'"Mhmm... Your breasts don''t seem to produce enough milk. You can still come here and get yourself pumped, but we need at least 50ml for a valid donation."'
@@ -1758,7 +1758,7 @@ if $ARGS[0] = 'maternity_ward':
 										'"You''re able to produce a good amount of milk. You could breastfeed a baby with no issue."'
 									elseif lact_ev['gpoli_milkedvolume'] >= 500 and lact_ev['gpoli_milkedvolume'] < 1000:
 										'Your breasts aren''t able to fill both small bottles and the nurse raises an eyebrow at you.'
-										'"You''re able to produce enough milk for a 50ml donation, but you might have trouble breastfeeding a baby properly.'
+										'"You''re able to produce enough milk for a 50ml donation, but you might have trouble breastfeeding a baby properly."'
 									else
 										'You have trouble filling the bottles to the first mark and the nurse shakes her head.'
 										'"Mhmm... Your breasts don''t seem to produce enough milk. You can still come here and get yourself pumped, but we need at least 50ml for a valid donation."'
@@ -1840,7 +1840,7 @@ if $ARGS[0] = 'maternity_ward':
 							'"You''re able to produce a good amount of milk. You could breastfeed a baby with no issue."'
 						elseif lact_ev['gpoli_milkedvolume'] >= 50 and lact_ev['gpoli_milkedvolume'] < 1000:
 							'Your breasts aren''t able to fill both small bottles and the nurse raises an eyebrow at you.'
-							'"You''re able to produce enough milk for a 50ml donation, but you might have trouble breastfeeding a baby properly.'
+							'"You''re able to produce enough milk for a 50ml donation, but you might have trouble breastfeeding a baby properly."'
 						else
 							'You have trouble filling the bottles to the first mark and the nurse shakes her head.'
 							'"Mhmm... Your breasts don''t seem to produce enough milk. You can still come here and get yourself pumped, but we need at least 50ml for a valid donation."'
@@ -1935,7 +1935,7 @@ if $ARGS[0] = 'maternity_ward_donation':
 				end
 			elseif lact_ev['gpoli_milkedvolume'] < 50000 and lact_ev['gpoli_milkedvolume'] > 0:
 				'She looks at you in disappointment.'
-				'"Mhmm... I''m sorry, but this isn''t enough milk for a valid donation. You only provided <<lact_ev[''gpoli_milkedvolume'']/1000>>ml of breast milk.'
+				'"Mhmm... I''m sorry, but this isn''t enough milk for a valid donation. You only provided <<lact_ev[''gpoli_milkedvolume'']/1000>>ml of breast milk."'
 			else
 				'She looks at you in disappointment.'
 				'"Mhmm... I''m sorry, but this isn''t enough milk for a valid donation. You provided no breast milk at all."'
@@ -1997,7 +1997,7 @@ if $ARGS[0] = 'std_check':
 
 	if SifacOnce = 1:
 		sifNapr = 1
-		'"You have syphilis. The cure for this disease used to be expensive. However, this deadly disease can now be with a single shot. The injection will cost 1,000 <b>₽</b>.'
+		'"You have syphilis. The cure for this disease used to be expensive. However, this deadly disease can now be with a single shot. The injection will cost 1,000 <b>₽</b>."'
 	end
 
 	if TriperOnce = 1:

+ 1 - 0
locations/pav_hotelReception.qsrc

@@ -56,6 +56,7 @@ if $ARGS[0] = '':
 			if pavhotprosQW = 6:
 				pavhotprosQW = 7
 				PavlinQW = 1
+				prostitute['active'] = 1
 			end
 			gs'stat'
 

+ 4 - 1
locations/pav_pool.qsrc

@@ -109,6 +109,7 @@ if $ARGS[0] = 'lockerfemale':
 
 		if PCloswimwear = 1:
 			!! Locker events nude -> swimwear
+			gt 'pav_pool_events', 'locker_nude_to_swim'
 
 		elseif $clothingworntype ! 'nude' or $pantyworntype ! 'none':
 			!! Locker events nude -> normal clothing
@@ -123,6 +124,7 @@ if $ARGS[0] = 'lockerfemale':
 			gt 'pav_pool_events', 'locker_swim_to_nude'
 		elseif PCloswimwear ! 1:
 			!! Locker events swim -> clothing
+			gt 'pav_pool_events', 'locker_swim_to_clothed'
 		end
 
 	elseif $temp_curclothes = 'norm':
@@ -133,6 +135,7 @@ if $ARGS[0] = 'lockerfemale':
 			gt 'pav_pool_events', 'locker_clothed_to_nude'
 		elseif PCloswimwear = 1:
 			!! Locker events clothing -> swim
+			gt 'pav_pool_events', 'locker_clothed_to_swim'
 		end
 	end
 	!!-------------------------------------------------------------------!!
@@ -149,7 +152,7 @@ if $ARGS[0] = 'lockerfemale':
 	'The changing rooms are old and murky. They are uncomfortable, cramped and you always feel compelled to leave as quickly as possible. The small windows on one side don''t make you feel any better.'
 	'From here you can access the <a href="exec:minut += 1 & gt ''pav_pool'', ''showerfemale''">showers</a> or go to the <a href="exec:minut += 1 & gt ''pav_pool'', ''mirror''">mirrors</a> area, highly contested in busy times. You can also access the pool, but only if you''re wearing swimwear.'
 
-	if func('changingroom','count_swim_item') > 0:
+	if func('changingroom','count_swim_item') > 0 or $clothingworntype = 'nude':
 		act 'Change your clothes':
 			!!Remember current clothes for clothing change events
 			if $clothingworntype = 'nude' and $pantyworntype = 'none':

+ 128 - 19
locations/pav_pool_events.qsrc

@@ -147,6 +147,7 @@ if $ARGS[0] = 'naked_mirror':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/nakedcover.jpg"></center>'
 	'You''re standing naked in front of the mirror when you hear a noise behind you.'
 	pcs_mood -= 2
+	gs 'stat'
 
 	temp_rand = rand(1,5)
 	if temp_rand = 1:
@@ -168,6 +169,7 @@ if $ARGS[0] = 'naked_locker':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/nakedcover.jpg"></center>'
 	'You''re standing naked in the changing room when you hear a noise behind you.'
 	pcs_mood -= 2
+	gs 'stat'
 
 	temp_rand = rand(1,5)
 	if temp_rand = 1:
@@ -185,22 +187,25 @@ if $ARGS[0] = 'naked_locker':
 	act 'Continue': gt 'pav_pool', 'lockerfemale', 1
 end
 
-if $ARGS[0] = 'locker_nude_to_clothed':
+
+if $ARGS[0] = 'locker_clothed_to_nude':
 	menu_off = 1
-	minut += 5
-	if rand(1, 100) < 90:
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
-		'You change back into your clothes.'
-	else
+	minut += 3
+	gs 'stat'
+
+	if rand(0, 9) = 0:
 		if pav_swimpool['storeclerkvisit'] >= 1:
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
-			'As you change back into your clothes, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
-			'You''re certain that it sounded like that creepy store clerk''s camera, but as you don''t see anything, you tell yourself you''re just being paranoid and continue getting dressed.'
+			'As you take your clothes off, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
+			'You''re certain that it sounded like that creepy store clerk''s camera, but you can''t see anything and just tell yourself that you''re being paranoid and continue stripping.'
 			pav_swimpool['storeclerkhiddenphotos'] += 1
 		else
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychange<<rand(1,2)>>.jpg"></center>'
-			'As you change back into your clothes, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
+			'As you take your clothes off, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
 		end
+	else
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
+		'You take your clothes off.'
 	end
 
 	act 'Continue': gt 'pav_pool', 'lockerfemale'
@@ -211,44 +216,148 @@ if $ARGS[0] = 'locker_swim_to_nude':
 	minut += 1
 	!!stage = 1
 	gs 'stat'
-	if rand(1,100) < 90:
-		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
-		'You take your swimwear off.'
-	else
+
+	if rand(0, 9) = 0:
 		if pav_swimpool['storeclerkvisit'] >= 1:
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
 			'As you take your swimwear off, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
 			'You''re certain that it sounded like that creepy store clerk''s camera, but you can''t see anything and just tell yourself that you''re being paranoid and continue stripping.'
 			pav_swimpool['storeclerkhiddenphotos'] += 1
-
 		else
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychangebikini.jpg"></center>'
 			'As you take your swimwear off, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
 		end
+	else
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
+		'You take your swimwear off.'
 	end
 
 	act 'Continue': gt 'pav_pool', 'lockerfemale'
 end
 
-if $ARGS[0] = 'locker_clothed_to_nude':
-	if rand(1,100) < 90:
+if $ARGS[0] = 'locker_nude_to_clothed':
+	menu_off = 1
+	minut += 5
+	gs 'stat'
+
+	if rand(0, 9) = 0:
+		if pav_swimpool['storeclerkvisit'] >= 1:
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
+			'As you change back into your clothes, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
+			'You''re certain that it sounded like that creepy store clerk''s camera, but as you don''t see anything, you tell yourself you''re just being paranoid and continue getting dressed.'
+			pav_swimpool['storeclerkhiddenphotos'] += 1
+		else
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychange<<rand(1,2)>>.jpg"></center>'
+			'As you change back into your clothes, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
+		end
+	else
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
-		'You take your clothes off.'
+		'You change back into your clothes.'
+	end
+
+	act 'Continue': gt 'pav_pool', 'lockerfemale'
+end
+
+
+if $ARGS[0] = 'locker_nude_to_swim':
+	menu_off = 1
+	minut += 2
+
+	if rand(0, 9)=0:
+		if pav_swimpool['storeclerkvisit'] >= 1:
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
+			'As you put your swimwear on, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
+			'You''re certain that it sounded like that creepy store clerk''s camera, but you can''t see anything and quickly continue dressing yourself.'
+			pav_swimpool['storeclerkhiddenphotos'] += 1
+		else
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychangebikini.jpg"></center>'
+			'As you put your swimwear on, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
+		end
 	else
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
+		'You put your swimwear on.'
+	end
+
+	act 'Continue': gt 'pav_pool', 'lockerfemale'
+end
+
+
+if $ARGS[0] = 'locker_clothed_to_swim':
+	menu_off = 1
+	minut += 5
+	gs 'stat'
+
+	temp_rand = rand(0, 9)
+	! Clothed to nude
+	if temp_rand = 0:
 		if pav_swimpool['storeclerkvisit'] >= 1:
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
 			'As you take your clothes off, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
-			'You''re certain that it sounded like that creepy store clerk''s camera, but you can''t see anything and just tell yourself that you''re being paranoid and continue stripping.'
+			'You''re certain that it sounded like that creepy store clerk''s camera, but you can''t see anything and just tell yourself that you''re being paranoid and continue getting dressed.'
 			pav_swimpool['storeclerkhiddenphotos'] += 1
 		else
 			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychange<<rand(1,2)>>.jpg"></center>'
-			'As you take your clothes off, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
+			'As you take your clothes off, you can''t shake the feeling that you''re being watched, you quickly change into your swimwear.'
+		end
+	! Nude to swim
+	elseif temp_rand = 1:
+		if pav_swimpool['storeclerkvisit'] >= 1:
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
+			'As you put your swimwear on, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
+			'You''re certain that it sounded like that creepy store clerk''s camera, but you can''t see anything and quickly continue dressing yourself.'
+			pav_swimpool['storeclerkhiddenphotos'] += 1
+		else
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychangebikini.jpg"></center>'
+			'As you put your swimwear on, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
+		end
+	else
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
+		'You take your clothes off and change into your swimwear.'
+	end
+
+	act 'Continue': gt 'pav_pool', 'lockerfemale'
+end
+
+
+if $ARGS[0] = 'locker_swim_to_clothed':
+	menu_off = 1
+	minut += 6
+	gs 'stat'
+
+	temp_rand = rand(0, 9)
+	! Swim to nude
+	if temp_rand = 0:
+		if pav_swimpool['storeclerkvisit'] >= 1:
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
+			'As you take your swimwear off, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
+			'You''re certain that it sounded like that creepy store clerk''s camera, but you can''t see anything and just tell yourself that you''re being paranoid and continue getting dressed.'
+			pav_swimpool['storeclerkhiddenphotos'] += 1
+		else
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychangebikini.jpg"></center>'
+			'As you take your swimwear off, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
 		end
+
+	! Nude to clothed
+	elseif temp_rand = 1:
+		if pav_swimpool['storeclerkvisit'] >= 1:
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/photoclothing.jpg"></center>'
+			'As you change back into your clothes, you are startled when you think you hear a camera click, as if someone was taking photos, but you don''t see anything.'
+			'You''re certain that it sounded like that creepy store clerk''s camera, but as you don''t see anything, you tell yourself you''re just being paranoid and continue getting dressed.'
+			pav_swimpool['storeclerkhiddenphotos'] += 1
+		else
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/spychange<<rand(1,2)>>.jpg"></center>'
+			'As you change back into your clothes, you can''t shake the feeling that you''re being watched, but you don''t see anything.'
+		end
+	else
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/change.jpg"></center>'
+		'You take your swimwear off and change back into your clothes.'
 	end
 
 	act 'Continue': gt 'pav_pool', 'lockerfemale'
 end
 
+
+
 if $ARGS[0] = 'shower_late':
 	if rand(1,2) = 1:
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/swim/covershower.jpg"></center>'

+ 189 - 134
locations/phone_selfies.qsrc

@@ -190,15 +190,39 @@ if $ARGS[0] = 'Phone_selfie_totals':
 	selfieBathtot[11] = 0
 	selfieShowertot[11] = 0
 	selfieSwimtot[11] = 0
-	
 end
 
+if $ARGS[0] = 'send_selfie_handler':
+	$temp_ssh_ret_loc = $ARGS[1]
+	$temp_ssh_ret_arg = $ARGS[2]
+	temp_suppress_other_selfies = 1
+
+	gt 'phone_selfies', 'selfies'
+end
 
 if $ARGS[0] = 'selfies':
 	menu_off = 0
+
 	gs 'phone_selfies', 'Phone_selfie_totals'
+	gs 'phone_selfies', 'set_selfie_layout'
+
+	gs 'phone_selfies', 'act_exit'
+end
+
+if $ARGS[0] = 'act_exit':
+	act 'Stop watching selfies':
+		if temp_suppress_other_selfies = 0:
+			gt $menu_loc, $menu_arg
+		else
+			killvar 'temp_suppress_other_selfies'
+			gt $temp_ssh_ret_loc, $temp_ssh_ret_arg
+		end
+	end
+end
+
+
+if $ARGS[0] = 'set_selfie_layout':
 	*clr & cla
-	
 	'<center><h4><font color="maroon">Photo library</font></h4></center>'
 	*nl
 	'Selfies'
@@ -209,33 +233,46 @@ if $ARGS[0] = 'selfies':
 		temp_locationCnt += 1
 	if temp_locationCnt < arrsize('$selfieLoc'): jump'LocationLoop'
 
-	*nl
-	'Family and friends'
-	'<a href="exec:gt ''phone_selfies'', ''family''">Family</a>'
-	'<a href="exec:gt ''phone_selfies'', ''school''">School friends</a>'
-	'<a href="exec:gt ''phone_selfies'', ''teacher''">Teachers</a>'
-	'<a href="exec:gt ''phone_selfies'', ''pavlovsk''">Pavlovsk friends</a>'
-	'<a href="exec:gt ''phone_selfies'', ''city''">City friends</a>'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	if temp_suppress_other_selfies = 0:
+		*nl
+		'Family and friends'
+		'<a href="exec:gt ''phone_selfies'', ''family''">Family</a>'
+		'<a href="exec:gt ''phone_selfies'', ''school''">School friends</a>'
+		'<a href="exec:gt ''phone_selfies'', ''teacher''">Teachers</a>'
+		'<a href="exec:gt ''phone_selfies'', ''pavlovsk''">Pavlovsk friends</a>'
+		'<a href="exec:gt ''phone_selfies'', ''city''">City friends</a>'
+	end
 end
 
 !! ARGS[1] is the index of the location in $selfieLoc[]
 if $ARGS[0] = 'showlocation':
-
 	'<center><h4><font color="maroon"><<$selfieLocDesc[ARGS[1]]>> selfies</font></h4></center>'
 	*nl
-	gs 'phone_selfies', 'listretrieve', ARGS[1]
+	gs 'phone_selfies', 'listretrieve', ARGS[1], $selfieLoc[ARGS[1]]
 	
 	act 'Back': gt 'phone_selfies', 'selfies'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	gs 'phone_selfies', 'act_exit'
 end
 
 
-!! ARGS[1] is the index of the location in $selfieLoc[]
+!!  ARGS[1] is the index of the location in $selfieLoc[]
+!! $ARGS[2] is the selfie location (park, home, etc)
 if $ARGS[0] = 'listretrieve':
+	gs 'phone_selfies', 'retrieve_clothed_selfies',		ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_swim_selfies',		ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_underwear_selfies',	ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_nude_selfies',		ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_bath_selfies',		ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_shower_selfies',		ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_titflash_selfies',	ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_assflash_selfies',	ARGS[1], $ARGS[2]
+	gs 'phone_selfies', 'retrieve_pussyflash_selfies',	ARGS[1], $ARGS[2]
+end
 
+
+!!  ARGS[1] is the index of the location in $selfieLoc[]
+!! $ARGS[2] is the selfie location
+if $ARGS[0] = 'retrieve_clothed_selfies':
 	!!Loop for clothed selfies, dynamics set variables as mixing them in loop instructions is bad
 	if selfieClotot[ARGS[1]] > 0:
 		'<center><b>Clothed selfies</b></center>'
@@ -243,111 +280,126 @@ if $ARGS[0] = 'listretrieve':
 		temp_clocnt = 1
 		:temp_loop
 			!!setting value to unmixed variable so it can be checked in the if below
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_closelfie[<<temp_clocnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''clothed'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_clocnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/clothed/<<$selfieFilePrefix[ARGS[1]]>><<temp_clocnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_closelfie[<<temp_clocnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'clothed', ARGS[1], temp_clocnt)
 			temp_clocnt += 1
-		if temp_clocnt <= selfieClotot[ARGS[1]]: jump'temp_loop'
+		if temp_clocnt <= selfieClotot[ARGS[1]]: jump 'temp_loop'
 	end
-	
-	!!Loop for swimwear selfies, dynamics set variables as mixing them in loop instructions is bad
+end
+
+if $ARGS[0] = 'retrieve_swim_selfies':
 	if selfieSwimtot[ARGS[1]] > 0:
 		'<center><b>Swimwear selfies</b></center>'
 		*nl
 		temp_clocnt = 1
 		:temp_loop1
 			!!setting value to unmixed variable so it can be checked in the if below
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_swim[<<temp_clocnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''bikini'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_clocnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/bikini/<<$selfieFilePrefix[ARGS[1]]>><<temp_clocnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_swim[<<temp_clocnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'bikini', ARGS[1], temp_clocnt)
 			temp_clocnt += 1
-		if temp_clocnt <= selfieSwimtot[ARGS[1]]: jump'temp_loop1'
+		if temp_clocnt <= selfieSwimtot[ARGS[1]]: jump 'temp_loop1'
 	end
-		
-	!!loop for underwear selfies
+end
+
+if $ARGS[0] = 'retrieve_underwear_selfies':
 	if selfieUndtot[ARGS[1]] > 0:
 		'<center><b>Underwear selfies</b></center>'
 		*nl
 		temp_undcnt = 1
 		:temp_loop2
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_undselfie[<<temp_undcnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''underwear'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_undcnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/underwear/<<$selfieFilePrefix[ARGS[1]]>><<temp_undcnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_undselfie[<<temp_undcnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'underwear', ARGS[1], temp_undcnt)
 			temp_undcnt += 1
-		if temp_undcnt <= selfieUndtot[ARGS[1]]: jump'temp_loop2'
+		if temp_undcnt <= selfieUndtot[ARGS[1]]: jump 'temp_loop2'
 	end
+end
 
-	!!loop for nude selfies
+if $ARGS[0] = 'retrieve_nude_selfies':
 	if selfieNudtot[ARGS[1]] > 0:
 		'<center><b>Nude selfies</b></center>'
 		*nl
 		temp_nudcnt = 1
 		:temp_loop3
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_nudselfie[<<temp_nudcnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''nude'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_nudcnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/nude/<<$selfieFilePrefix[ARGS[1]]>><<temp_nudcnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_nudselfie[<<temp_nudcnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'nude', ARGS[1], temp_nudcnt)
 			temp_nudcnt += 1
-		if temp_nudcnt <= selfieNudtot[ARGS[1]]: jump'temp_loop3'
+		if temp_nudcnt <= selfieNudtot[ARGS[1]]: jump 'temp_loop3'
 	end
-	
+end
+
+if $ARGS[0] = 'retrieve_bath_selfies':
 	!!loop for bath selfies
 	if selfieBathtot[ARGS[1]] > 0:
 		'<center><b>Bath selfies</b></center>'
 		*nl
 		temp_bathcnt = 1
 		:temp_loop4
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_bathselfie[<<temp_bathcnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''bath'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_bathcnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/bath/<<$selfieFilePrefix[ARGS[1]]>><<temp_bathcnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_bathselfie[<<temp_bathcnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'bath', ARGS[1], temp_bathcnt)
 			temp_bathcnt += 1
-		if temp_bathcnt <= selfieBathtot[ARGS[1]]: jump'temp_loop4'
+		if temp_bathcnt <= selfieBathtot[ARGS[1]]: jump 'temp_loop4'
 	end
-	
+end
+
+if $ARGS[0] = 'retrieve_shower_selfies':
 	!!loop for shower selfies
 	if selfieShowertot[ARGS[1]] > 0:
 		'<center><b>Shower selfies</b></center>'
 		*nl
 		temp_showercnt = 1
 		:temp_loop5
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_showerselfie[<<temp_showercnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''shower'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_showercnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/shower/<<$selfieFilePrefix[ARGS[1]]>><<temp_showercnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_showerselfie[<<temp_showercnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'shower', ARGS[1], temp_showercnt)
 			temp_showercnt += 1
-		if temp_showercnt <= selfieShowertot[ARGS[1]]: jump'temp_loop5'
+		if temp_showercnt <= selfieShowertot[ARGS[1]]: jump 'temp_loop5'
 	end
-	
+end
+
+if $ARGS[0] = 'retrieve_titflash_selfies':
 	!!loop for flashing tits selfies
 	if selfieTitflash[ARGS[1]] > 0:
 		'<center><b>Flashing tits selfies</b></center>'
 		*nl
 		temp_flashtitscnt = 1
 		:temp_loop6
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_titflash[<<temp_flashtitscnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''titflash'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_flashtitscnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/titflash/<<$selfieFilePrefix[ARGS[1]]>><<temp_flashtitscnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_titflash[<<temp_flashtitscnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'titflash', ARGS[1], temp_flashtitscnt)
 			temp_flashtitscnt += 1
-		if temp_flashtitscnt <= selfieTitflash[ARGS[1]]: jump'temp_loop6'
+		if temp_flashtitscnt <= selfieTitflash[ARGS[1]]: jump 'temp_loop6'
 	end
-	
+end
+
+if $ARGS[0] = 'retrieve_assflash_selfies':
 	!!loop for flashing ass selfies
 	if selfieAssflash[ARGS[1]] > 0:
 		'<center><b>Flashing ass selfies</b></center>'
 		*nl
 		temp_flashasscnt = 1
 		:temp_loop7
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_assflash[<<temp_flashasscnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''assflash'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_flashasscnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/assflash/<<$selfieFilePrefix[ARGS[1]]>><<temp_flashasscnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_assflash[<<temp_flashasscnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'assflash', ARGS[1], temp_flashasscnt)
 			temp_flashasscnt += 1
-		if temp_flashasscnt <= selfieAssflash[ARGS[1]]: jump'temp_loop7'
+		if temp_flashasscnt <= selfieAssflash[ARGS[1]]: jump 'temp_loop7'
 	end
-	
+end
+
+if $ARGS[0] = 'retrieve_pussyflash_selfies':
 	!!loop for flashing pussy selfies
 	if selfiePussyflash[ARGS[1]] > 0:
 		'<center><b>Flashing pussy selfies</b></center>'
 		*nl
 		temp_flashpussycnt = 1
 		:temp_loop8
-			dynamic 'phone_locval = <<$selfieLoc[ARGS[1]]>>_pussyflash[<<temp_flashpussycnt>>]'
-			if phone_locval = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$selfieLoc[ARGS[1]]>>'', ''pussyflash'', ''<<$selfieFilePrefix[ARGS[1]]>><<temp_flashpussycnt>>''"><img src="images/pc/activities/phone/selfies/<<$selfieLoc[ARGS[1]]>>/pussyflash/<<$selfieFilePrefix[ARGS[1]]>><<temp_flashpussycnt>>.jpg"     height="150" /></a>  '
+			dynamic 'phone_locval = <<$ARGS[2]>>_pussyflash[<<temp_flashpussycnt>>]'
+			if phone_locval = 1: *p func('phone_selfies_popup', 'set_selfie', $ARGS[2], 'pussyflash', ARGS[1], temp_flashpussycnt)
 			temp_flashpussycnt += 1
-		if temp_flashpussycnt <= selfiePussyflash[ARGS[1]]: jump'temp_loop8'
+		if temp_flashpussycnt <= selfiePussyflash[ARGS[1]]: jump 'temp_loop8'
 	end
 end
 
 
+
+
 !! Sets up a list of selfies taken by category
 !! loops through the arrays of selfie flags (1 means that se;lfie has been taken by the player)
 !! adds the image path for each taken selfie to the relevant array
@@ -372,48 +424,56 @@ if $ARGS[0] = 'PopulateSelfiesList':
 	killvar '$selfieTakenBath'
 	killvar '$selfieTakenShower'
 	killvar '$selfieTakenSwim'
+
 	temp_locationCnt = 1
 	:LocationTakenLoop
 		CloMaxSize = selfieClotot[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'closelfie', '$selfieTakenClo', 'clothed', CloMaxSize
 		end
+
 		CloMaxSize = selfieSwimtot[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'swim', '$selfieTakenSwim', 'bikini', CloMaxSize
 		end
+
 		CloMaxSize = selfieUndtot[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'undselfie', '$selfieTakenUnd', 'underwear', CloMaxSize
 		end
+
 		CloMaxSize = selfieNudtot[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'nudselfie', '$selfieTakenNud', 'nude', CloMaxSize
 		end
+
 		CloMaxSize = selfieBathtot[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'bathselfie', '$selfieTakenBath', 'bath', CloMaxSize
 		end
+
 		CloMaxSize = selfieShowertot[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'showerselfie', '$selfieTakenShower', 'shower', CloMaxSize
 		end
+
 		CloMaxSize = selfieTitflash[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'titflash', '$selfieTakenTitflash', 'titflash', CloMaxSize
 		end
+
 		CloMaxSize = selfieAssflash[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'assflash', '$selfieTakenAssflash', 'assflash', CloMaxSize
 		end
+
 		CloMaxSize = selfiePussyflash[temp_locationCnt]
 		if CloMaxSize > 0:
 			gs 'phone_selfies', 'populateClothesType', 'pussyflash', '$selfieTakenPussyflash', 'pussyflash', CloMaxSize
 		end
 
-
 		temp_locationCnt += 1
-	if temp_locationCnt < arrsize('$selfieLoc'): jump'LocationTakenLoop'
+	if temp_locationCnt < arrsize('$selfieLoc'): jump 'LocationTakenLoop'
 end
 
 
@@ -423,6 +483,7 @@ if $ARGS[0] = 'populateClothesType':
 	$CloFolder = $ARGS[3]
 	$CloVar = '<<$ARGS[2]>>[tmpIndex]'
 	CloMaxSize = ARGS[4]
+
 	temp_clocnt = 0
 	:tempCloTakenLoop
 		dynamic 'phone_locval = <<$selfieLoc[temp_locationCnt]>>_<<$CloTypePrefix>>[<<temp_clocnt>>]'
@@ -430,11 +491,13 @@ if $ARGS[0] = 'populateClothesType':
 			dynamic 'tmpIndex = <<$CloArraySize>>'
 			dynamic "<<$CloVar>> = 'images/pc/activities/phone/selfies/<<$selfieLoc[temp_locationCnt]>>/<<$CloFolder>>/<<$selfieFilePrefix[temp_locationCnt]>><<temp_clocnt>>.jpg'"
 		end
+
 		temp_clocnt += 1
-	if temp_clocnt <= CloMaxSize: jump'tempCloTakenLoop'
+	if temp_clocnt <= CloMaxSize: jump 'tempCloTakenLoop'
 end
 
 
+
 if $ARGS[0] = 'listretrieve2':
 	if numnpc = 1:
 		'<center><h4><font color="maroon">Dimka pictures</font></h4></center>'
@@ -907,7 +970,7 @@ if $ARGS[0] = 'listretrieve2':
 		loopmaxsex = 0
 	elseif numnpc = 144:
 		'<center><h4><font color="maroon">Anushka pictures</font></h4></center>'
-		$photoloc = 'images/pc/pictures/anushka/'	
+		$photoloc = 'images/pc/pictures/anushka/'
 		$imgloc = 'images/characters/pavlovsk/school/girl/anushka/selfies/'
 		$selfienpc = 'anushka'
 		loopmaxev = 6
@@ -1070,20 +1133,20 @@ if $ARGS[0] = 'listretrieve2':
 	else
 		!! New npcs with selfies should be included above
 	end
-	
+
 	if loopmaxev > 0:
 		*nl
 		'<center><b>Pictures</b></center>'
 		*nl
-		
+
 		i = 1
 		:temp_loopev
-            dynamic '$selfie = <<$selfienpc>>photo[<<i>>]'
-			if $selfie = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show2'', ''<<$photoloc>>'', ''<<i>>''"><img src="<<$photoloc>><<i>>.jpg"     height="150" /></a>  '
-            i += 1
-        if i <= loopmax: jump'temp_loopev'
+			dynamic '$selfie = <<$selfienpc>>photo[<<i>>]'
+			if $selfie = 1: *p func('phone_selfies_popup', 'set_selfie2', $photoloc, i)
+			i += 1
+		if i <= loopmax: jump 'temp_loopev'
 	end
-	
+
 	if loopmax > 0:
 		*nl
 		'<center><b>Regular selfies</b></center>'
@@ -1091,12 +1154,12 @@ if $ARGS[0] = 'listretrieve2':
 		
 		i = 1
 		:temp_loopselfies
-            dynamic '$selfie = <<$selfienpc>>[<<i>>]'
-			if $selfie = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show2'', ''<<$imgloc>>'', ''<<i>>''"><img src="<<$imgloc>><<i>>.jpg"     height="150" /></a>  '
-            i += 1
-        if i <= loopmax: jump'temp_loopselfies'
+			dynamic '$selfie = <<$selfienpc>>[<<i>>]'
+			if $selfie = 1: *p func('phone_selfies_popup', 'set_selfie2', $imgloc, i)
+			i += 1
+		if i <= loopmax: jump 'temp_loopselfies'
 	end
-	
+
 	if loopmaxsveta > 0:
 		*nl
 		'<center><b>Selfies with me</b></center>'
@@ -1105,11 +1168,11 @@ if $ARGS[0] = 'listretrieve2':
 		i = 1
 		:temp_loopselfiessveta
 			dynamic '$selfie = <<$selfienpc>>sveta[<<i>>]'
-			if $selfie = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show2'', ''<<$imgloc>>sveta/'', ''<<i>>''"><img src="<<$imgloc>>sveta/<<i>>.jpg"     height="150" /></a>  '
+			if $selfie = 1: *p func('phone_selfies_popup', 'set_selfie2', '<<$imgloc>>sveta/', i)
 			i += 1
-		if i <= loopmaxsveta: jump'temp_loopselfiessveta'
+		if i <= loopmaxsveta: jump 'temp_loopselfiessveta'
 	end
-	
+
 	if loopmaxsex > 0:
 		*nl
 		'<center><b>Sex selfies</b></center>'
@@ -1118,42 +1181,42 @@ if $ARGS[0] = 'listretrieve2':
 		i = 1
 		:temp_loopselfiessex
 			dynamic '$selfie = <<$selfienpc>>sex[<<i>>]'
-			if $selfie = 1: *p '<a href="exec: gs ''phone_selfies_popup'', ''show2'', ''<<$imgloc>>sex/'', ''<<i>>''"><img src="<<$imgloc>>sex/<<i>>.jpg"     height="150" /></a>  '
+			if $selfie = 1: *p func('phone_selfies_popup', 'set_selfie2', '<<$imgloc>>sex/', i)
 			i += 1
-		if i <= loopmaxsex: jump'temp_loopselfiessex'
+		if i <= loopmaxsex: jump 'temp_loopselfiessex'
 	end
-	
+
 	act 'Back': gt 'phone_selfies', 'selfies'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	gs 'phone_selfies', 'act_exit'
 end
 
+
+
+
 if $ARGS[0] = 'family':
 	'<center><h4><font color="maroon">Family members</font></h4></center>'
 	$textgrup = ''
 	count1 = 0
 	i = 1
 	'<center><table cellspacing="3">'
-	:familygruploop	
-		if count1 = 6 : $textgrup += '<tr>'
-
-		if npc_grupTipe['A<<i>>'] = 7 and npc_selfieon['A<<i>>'] = 1:
+	:familygruploop
+		if npc_selfieon['A<<i>>'] = 1 and npc_grupTipe['A<<i>>'] = 7:
 			count1 += 1
-			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>']
-		end
-		if count1< 6 and npc_grupTipe['A<<i>>'] = 7:
-			$textgrup += '</td>'
-		elseif count1 = 6 and npc_grupTipe['A<<i>>'] = 7:
-			$textgrup +='</td></tr><tr>' & count1 = 0
+			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>'] + '</td>'
+
+			if count1 = 6:
+				$textgrup +='</tr><tr>'
+				count1 = 0
+			end
 		end
+
 		i += 1
-	if i <= aarraynumber:jump 'familygruploop'
+	if i <= aarraynumber: jump 'familygruploop'
 
 	'<<$textgrup>>'
-	
+
 	act 'Back': gt 'phone_selfies', 'selfies'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	gs 'phone_selfies', 'act_exit'
 end
 
 if $ARGS[0] = 'school':
@@ -1163,25 +1226,23 @@ if $ARGS[0] = 'school':
 	i = 1
 	'<center><table cellspacing="3">'
 	:schoolgruploop	
-		if count1 = 6 : $textgrup += '<tr>'
-
-		if (npc_grupTipe['A<<i>>'] = 1 or npc_grupTipe['A<<i>>'] = 2 or npc_grupTipe['A<<i>>'] = 3 or npc_grupTipe['A<<i>>'] = 4 or npc_grupTipe['A<<i>>'] = 5) and npc_selfieon['A<<i>>'] = 1:
+		if npc_selfieon['A<<i>>'] = 1 and (npc_grupTipe['A<<i>>'] = 1 or npc_grupTipe['A<<i>>'] = 2 or npc_grupTipe['A<<i>>'] = 3 or npc_grupTipe['A<<i>>'] = 4 or npc_grupTipe['A<<i>>'] = 5):
 			count1 += 1
-			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>']
-		end
-		if count1< 6 and (npc_grupTipe['A<<i>>'] = 1 or npc_grupTipe['A<<i>>'] = 2 or npc_grupTipe['A<<i>>'] = 3 or npc_grupTipe['A<<i>>'] = 4 or npc_grupTipe['A<<i>>'] = 5):
-			$textgrup += '</td>'
-		elseif count1 = 6 and (npc_grupTipe['A<<i>>'] = 1 or npc_grupTipe['A<<i>>'] = 2 or npc_grupTipe['A<<i>>'] = 3 or npc_grupTipe['A<<i>>'] = 4 or npc_grupTipe['A<<i>>'] = 5):
-			$textgrup +='</td></tr><tr>' & count1 = 0
+			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>'] + '</td>'
+
+			if count1 = 6:
+				$textgrup +='</tr><tr>'
+				count1 = 0
+			end
 		end
+
 		i += 1
-	if i <= aarraynumber:jump 'schoolgruploop'
+	if i <= aarraynumber: jump 'schoolgruploop'
 
 	'<<$textgrup>>'
-	
+
 	act 'Back': gt 'phone_selfies', 'selfies'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	gs 'phone_selfies', 'act_exit'
 end
 
 if $ARGS[0] = 'teacher':
@@ -1190,26 +1251,24 @@ if $ARGS[0] = 'teacher':
 	count1 = 0
 	i = 1
 	'<center><table cellspacing="3">'
-	:teachergruploop	
-		if count1 = 6 : $textgrup += '<tr>'
-
-		if npc_grupTipe['A<<i>>'] = 6 and npc_selfieon['A<<i>>'] = 1:
+	:teachergruploop
+		if npc_selfieon['A<<i>>'] = 1 and npc_grupTipe['A<<i>>'] = 6:
 			count1 += 1
-			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>']
-		end
-		if count1< 6 and npc_grupTipe['A<<i>>'] = 6:
-			$textgrup += '</td>'
-		elseif count1 = 6 and npc_grupTipe['A<<i>>'] = 6:
-			$textgrup +='</td></tr><tr>' & count1 = 0
+			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>'] + '</td>'
+
+			if count1 = 6:
+				$textgrup +='</tr><tr>'
+				count1 = 0
+			end
 		end
+
 		i += 1
-	if i <= aarraynumber:jump 'teachergruploop'
+	if i <= aarraynumber: jump 'teachergruploop'
 
 	'<<$textgrup>>'
-	
+
 	act 'Back': gt 'phone_selfies', 'selfies'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	gs 'phone_selfies', 'act_exit'
 end
 
 if $ARGS[0] = 'pavlovsk':
@@ -1218,34 +1277,30 @@ if $ARGS[0] = 'pavlovsk':
 	count1 = 0
 	i = 1
 	'<center><table cellspacing="3">'
-	:pavgruploop	
-		if count1 = 6 : $textgrup += '<tr>'
-
+	:pavgruploop
 		if npc_grupTipe['A<<i>>'] = 8 and npc_selfieon['A<<i>>'] = 1:
 			count1 += 1
-			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>']
-		end
-		if count1< 6 and npc_grupTipe['A<<i>>'] = 8:
-			$textgrup += '</td>'
-		elseif count1 = 6 and npc_grupTipe['A<<i>>'] = 8:
-			$textgrup +='</td></tr><tr>' & count1 = 0
+			$textgrup += '' + '<td bgcolor=<<$theme[''table_bg_alt'']>> align="center"><img  height="100" src="images/characters/shared/headshots_main/<<i>>.jpg"><br>' + $npc_selfie['A<<i>>'] + '</td>'
+
+			if count1 = 6:
+				$textgrup +='</tr><tr>'
+				count1 = 0
+			end
 		end
 		i += 1
-	if i <= aarraynumber:jump 'pavgruploop'
+	if i <= aarraynumber: jump 'pavgruploop'
 
 	'<<$textgrup>>'
-	
+
 	act 'Back': gt 'phone_selfies', 'selfies'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	gs 'phone_selfies', 'act_exit'
 end
 
 if $ARGS[0] = 'city':
 	'<center><h4><font color="maroon">City friends</font></h4></center>'
-	
+
 	act 'Back': gt 'phone_selfies', 'selfies'
-	!gt $loc, $loc_arg
-	act 'Stop watching selfies': gt $menu_loc, $menu_arg
+	gs 'phone_selfies', 'act_exit'
 end
 
 --- phone_selfies ---------------------------------

+ 30 - 6
locations/phone_selfies_popup.qsrc

@@ -2,23 +2,47 @@
 
 !! This is used to create a popup that shows the enlarged selfie
 
+
+!!	$ARGS[1] = Location where the selfie is taken
+!!	$ARGS[2] = State of dress in the selfie
+!!	 ARGS[3] = is the index of the location in $selfieLoc[] and $selfieFilePrefix
+!!	 ARGS[4] = the selfie number
+
+if $ARGS[0] = 'set_selfie':
+	$result = '<a href="exec: gs ''phone_selfies_popup'', ''show'', ''<<$ARGS[1]>>'', ''<<$ARGS[2]>>'', <<ARGS[3]>>, <<ARGS[4]>>"><img src="images/pc/activities/phone/selfies/<<$ARGS[1]>>/<<$ARGS[2]>>/<<$selfieFilePrefix[ARGS[3]]>><<ARGS[4]>>.jpg"    height="150"/></a>  '
+end
+
 if $ARGS[0] = 'show':
-	if usePopUps = 1:
-		msg '<img src="images/pc/activities/phone/selfies/<<ARGS[1]>>/<<$ARGS[2]>>/<<$ARGS[3]>>.jpg">'
+	if temp_suppress_other_selfies = 0:
+		if usePopUps = 1:
+			msg '<img src="images/pc/activities/phone/selfies/<<$ARGS[1]>>/<<$ARGS[2]>>/<<$selfieFilePrefix[ARGS[3]]>><<ARGS[4]>>.jpg">'
+		else
+			view 'images/pc/activities/phone/selfies/<<$ARGS[1]>>/<<$ARGS[2]>>/<<$selfieFilePrefix[ARGS[3]]>><<ARGS[4]>>.jpg'
+		end
+
 	else
-		view 'images/pc/activities/phone/selfies/<<$ARGS[1]>>/<<$ARGS[2]>>/<<$ARGS[3]>>.jpg'
+		killvar 'temp_suppres_other_selfies'
+		$selfie_last_chosen['location'] = $ARGS[1]
+		$selfie_last_chosen['type']     = $ARGS[2]
+		killvar 'temp_suppress_other_selfies'
+		gt $temp_ssh_ret_loc, $temp_ssh_ret_arg, 'images/pc/activities/phone/selfies/<<$ARGS[1]>>/<<$ARGS[2]>>/<<$selfieFilePrefix[ARGS[3]]>><<ARGS[4]>>.jpg', $ARGS[1], $ARGS[2], ARGS[3], ARGS[4]
 	end
 end
 
-!! show2 passes the location and image number
+
+if $ARGS[0] = 'set_selfie2':
+	$result = '<a href="exec: gs ''phone_selfies_popup'', ''show2'', ''<<$ARGS[1]>>'', ARGS[2]"><img src="<$ARGS[1]>><<ARGS[2]>>.jpg" height="150" /></a>'
+end
+
 if $ARGS[0] = 'show2':
 	if usePopUps = 1:
-		msg '<img src="<<$ARGS[1]>><<$ARGS[2]>>.jpg">'
+		msg '<img src="<$ARGS[1]>><<ARGS[2]>>.jpg">'
 	else
-		view '<<$ARGS[1]>><<$ARGS[2]>>.jpg'
+		view '<$ARGS[1]>><<ARGS[2]>>.jpg'
 	end
 end
 
 
+
 --- phone_selfies_popup ---------------------------------
 

+ 1 - 1
locations/pushkin_ballet_center.qsrc

@@ -8,7 +8,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
     gs 'shortgs', 'setloc', 'ballet_pushkin_center', $ARGS[0]
     $region = 'puskin'
     $setloc['StageTitle'] = 'Pushkin Residential School'
-	$setloc['StageImage'] =  '/pushkin/residence/residence'
+	$setloc['StageImage'] =  'pushkin/residence/residence'
     menu_off = 0
     if sound = 0:PLAY 'sound/street.mp3',30
     gs'stat'

+ 53 - 45
locations/pushkin_ballet_class.qsrc

@@ -19,14 +19,16 @@
 !! ballet_day - Sets which day of the course you are on
 !! nclass - tracks next lesson (used for shower scene change)
 
+$default_img_path = 'locations/pushkin/'
 if $ARGS[0] = 'start':
     *clr & cla
     $location_type = 'public_indoors'
     $setloc['StageTitle'] = 'Terpsichore Wing'
-	$setloc['StageImage'] =  'pushkin/school/daily/hall'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/hall'
 
-    !! carried over from res kitchen
+    !! clear switch vars
     killvar 'sharedmeal' 
+    $balletEv['trigger'] = ''
 
     $location_type = 'public_indoors'
     gs 'shortgs', 'setloc', 'pushkin_ballet_class', $ARGS[0] 
@@ -80,7 +82,7 @@ if $ARGS[0] = 'pilates':
     $location_type = 'public_indoors'
     gs 'themes', 'indoors'
     $setloc['StageTitle'] = 'Pilates'
-	$setloc['StageImage'] =  'pushkin/school/daily/pilates_2'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/pilates_2'
     nclass = 1
     if ballet_day = 1:
 
@@ -100,7 +102,7 @@ if $ARGS[0] = 'pilates':
         cla
         act 'Start Pilates':
             *clr & cla
-            time += 50
+            minut += 50
             !! set Pain
             !! increase stats gain for endurance/strength.
             gs 'exercise', 'tier1', 30, 'agil_exp', 'stren_exp'
@@ -136,7 +138,7 @@ if $ARGS[0] = 'pilates':
         gs 'core_library', 'stage_title'
         'You all file into the class for your pilates lesson. It''s a different teacher today. Still, before you can settle in, she''s already guiding you on how to use the various bits of equipment. After an hour, your muscles ache from the exercises.'
         '"Remember, students, stretching, warm-ups and a disciplined fitness regime are needed to be a dancer. You''re an elite athlete. Remember this at all times." You notice Gasha blush in the back and wonder what caused that reaction. You grab a quick drink of water at the end of the class before heading to your next class.'
-        pcs_hyda += 30
+        pcs_hydra += 30
 
         act 'Next class': gt 'pushkin_ballet_class', 'first_lesson'
     end
@@ -151,7 +153,7 @@ if $ARGS[0] = 'first_lesson':
     $location_type = 'public_indoors'
     gs 'themes', 'indoors'
     $setloc['StageTitle'] = 'Dance Class'
-	$setloc['StageImage'] =  'pushkin/school/daily/ballet_class_002'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/ballet_class_002'
     nclass = 2
     gs 'stat'
 
@@ -209,7 +211,7 @@ if $ARGS[0] = 'first_lesson':
         gs 'sweat', 'add', 30
         gs 'pushkin_ballet_init', 'daily_assessment'
         gs 'stat'
-        $setloc['StageImage'] =  'pushkin/school/daily/ballet_teach_003'
+        $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/ballet_class_003'
         gs 'core_library', 'stage_title'
 
         'As you enter the classroom, there''s an air of excitement this morning. You''re halfway through the week, and anticipation and nervousness are creeping in for the upcoming assessment.'
@@ -264,30 +266,29 @@ if $ARGS[0] = 'first_lesson':
         gs 'sweat', 'add', 30
         gs 'pushkin_ballet_init', 'daily_assessment'
         gs 'stat'
-        '<center><h2>Dance Class</h2></center>'
-        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_class_005.jpg"></center>'
+        $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/ballet_class_005'
+        gs 'core_library', 'stage_title'
         'You''ve just finished the Pilates class, and enter your classroom dressed in Ballet Blanc. It''s the first time you''ve seen the group dressed as if you''re part of the Corp, which brings a sense of pride for being here.'
         '<<$npc_firstname[''A3501'']>> grabs your attention, "Hey, <<$pcs_nickname>>, let''s check you over quickly.". <<$npc_firstname[''A3501'']>> quickly goes over your outfit and hair, ensuring that your presentation is perfect and you do the same for her.'
         'You sit down, put on your toe socks, and powder your feet before putting on your ballet shoes. You notice they''re slightly damaged; they should be fine for the lesson, but you make a note to get your new shoes ready.'
         'It''s not ideal, but you have no choice. As you finish tying the ribbons, you see Biserka enter the room and start to inspect you all, trying to find faults. Still, your class passes with only minor criticisms.'
         act 'Continue lesson':
-            '<center><h2>Dance Class</h2></center>'
-             *clr & cla
-             '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_class_005.jpg"></center>'
+            gs 'core_library', 'stage_title'
             '"Well done, class, you have done me proud. You have done exactly what I asked." It was rare praise from Biserka. "Now I want you to give me your best. I want you to dance like you never danced."'
             'With that, she claps her hands. "Take your positions." Sofia starts to play. You lose yourself in the performance of all the lessons coming together from the last week, and you flow through the performance.'
             'Biserka watches all the girls'' performances critically, taking notes as she goes. The minutes fly by, and before you know it, the first rehearsal is over. "And again," she calls out.'
              act 'Continue rehearsals':
                 *clr & cla
-                '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_teach_1.jpg"></center>'
+                $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/ballet_teach_1'
+                gs 'core_library', 'stage_title'
                 'You rehearse several times before she''s happy, and then she hands critique notes to all the girls. When she gives you yours, she compliments you before gathering Maya and Kima aside for a private talk.'
                 '"Tomorrow your assessment will start at 09:00. You will enter the room in First Position and wait for the examiners'' instructions. Once you have performed the Entrance of the Swans, you will be asked to perform a Pas de Deux with your dance partner."'
                 '"Your final examination is a solo divertissement lasting no more than five minutes. This performance shows your ability to the judges and will be freeform."'
                 '"Any questions? If you have any tonight or need assistance, contact Bronya, and she will advise or help as needed."'
                     act 'Reverence':        
                         *clr & cla
-                        '<center><h2>Dance Class</h2></center>'
-                        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/events/reverence.jpg"></center>'
+                        $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/events/reverance'
+                        gs 'core_library', 'stage_title'
                         'You and the girls all look at each other and start to perform a deep curtsy as part of the great reverence you agreed to the previous evening with the girls to pay respect to Biserka and Sofia for their teaching this week. '
                         'Both teachers look taken aback and have a smile on their faces. "Thank you, class. It''s been a pleasure to teach you this week," Biserka says, with Sofia nodding her agreement and repeating her words.'                           
                         act 'Go to the showers' : gt 'pushkin_ballet_class', 'shower'
@@ -303,17 +304,17 @@ if $ARGS[0] = 'shower':
     gs 'stat'
     *nl
     $setloc['StageTitle'] = 'School Showers'
-	$setloc['StageImage'] =  'locations/pushkin/school/daily/shower_1'
-    if nclass > 1:
+	$setloc['StageImage'] =  'locations/pushkin/ballet_school/daily/shower_1'
+    if nclass > 1:      
+        $location_type = 'public'
+        gs 'themes', 'indoors'
+        gs 'stat'
+        gs 'core_library', 'stage_title'
         if nclass = 2:
             act 'Go to next lesson' : gt 'pushkin_ballet_class', 'makeup'
         elseif nclass = 4:
             act 'Go to next lesson' : gt 'pushkin_ballet_class', 'music_theory'
         end
-        $location_type = 'public'
-        gs 'themes', 'indoors'
-        gs 'stat'
-        gs 'core_library', 'stage_title'
         gs 'core_library', 'bathroom'
              
         'You enter the school showers after your lesson. You and your classmates don''t have much time to talk to each other, with you having little time until your next lesson.'
@@ -325,7 +326,6 @@ if $ARGS[0] = 'shower':
         gs 'themes', 'indoors'
         gs 'stat'    
         gs 'core_library', 'stage_title'
-		gs 'core_library', 'bathroom'  
         act 'Return to the hallway' : 
             if $clothingworntype = 'nude':
                 msg'<b><font color = red>You need to get dressed before leaving.</font></b>'
@@ -334,8 +334,9 @@ if $ARGS[0] = 'shower':
                 gt 'pushkin_ballet_res', 'hallway' 
             end
         end
+		gs 'core_library', 'bathroom'  
+
     end
-   
 end
 
 if $ARGS[0] = 'makeup':
@@ -347,7 +348,7 @@ if $ARGS[0] = 'makeup':
         minut = 0
     end
     $setloc['StageTitle'] = 'Theatre Make Up'
-	$setloc['StageImage'] =  'pushkin/school/daily/first_mua'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/first_mua'
     $location_type = 'public_indoors'
     gs 'themes', 'indoors'
     ! set stats for make up gain - makupskl_lvl
@@ -367,7 +368,7 @@ if $ARGS[0] = 'makeup':
         '<<$npc_firstname[''A3501'']>> slides in beside you and whispers, "A lot to take in?" You nod your head in agreement. She gives a quick wink before turning back to listen to the lesson.'
     
     elseif ballet_day = 2:
-        $setloc['StageImage'] =  'pushkin/school/daily/second_mua'
+        $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/second_mua'
         gs 'core_library', 'stage_title'
         'Another day and your teacher still hasn''t introduced herself, instead telling the students to focus. "Did you read through the books I gave you last night?" she asks.'
         'Everyone in the class looks at each other. "But Miss, you never told us to," Gasha replies.'
@@ -402,14 +403,15 @@ if $ARGS[0] = 'lunch':
     *clr & cla
     gs 'shortgs', 'setloc', 'pushkin_ballet_class', $ARGS[0]
     $setloc['StageTitle'] = 'School Cafeteria'
-	$setloc['StageImage'] =  'pushkin/school/daily/cafeteria'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/cafeteria'
     $location_type = 'public_indoors'
     gs 'themes', 'indoors'
-    ! gs lunch events
+    !! gs lunch events
     gs 'core_library', 'stage_title'
     *nl 
     'You enter the school''s canteen. It seems you''ve timed it between lunch breaks, so it''s relatively quiet.'
     *nl
+    act 'Head to next lesson' : menu_off = 0 & gt 'pushkin_ballet_class', 'second_lesson'  
     gs 'core_library', 'kitchen'
     act 'Eat lunch':
         cla
@@ -419,7 +421,7 @@ if $ARGS[0] = 'lunch':
         gs 'food', 'm_meal'  
     end
     
-    act 'Head to next lesson' : menu_off = 0 & gt 'pushkin_ballet_class', 'second_lesson'  
+    
 end
 
 if $ARGS[0] = 'second_lesson':
@@ -435,14 +437,14 @@ if $ARGS[0] = 'second_lesson':
     gs 'pushkin_ballet_init', 'daily_assessment'
     nclass = 4
     gs 'stat'
-    '<center><h2>Dance Practice</h2></center>'
-
+    $setloc['StageTitle'] = 'Dance Practice'
     if mayaqw['grave'] = 4:
-        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/mirror_ballet.jpg"></center>'
+        $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/mirror_ballet'
+
     else
-        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/class_three.jpg"></center>'
+        $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/class_three'
     end
-
+    gs 'core_library', 'stage_title'
     if ballet_day = 1 :
         !!  32-count combination
 
@@ -498,7 +500,9 @@ if $ARGS[0] = 'second_lesson':
     *nl
     act 'Finish lesson': 
          *clr & cla
-		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_class_006.jpg"></center>'
+         $setloc['StageTitle'] = 'Reverance'
+         $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/ballet_class_006'
+         gs 'core_library', 'stage_title'
 		'You perform a reverence to Maya in thanks for her help, she returns the curtsey, and you head to the showers together.'
 
 		nclass = 4
@@ -513,7 +517,7 @@ if $ARGS[0] = 'music_theory':
         minut = 0
     end
     $setloc['StageTitle'] = 'Music Theory'
-	$setloc['StageImage'] =  'pushkin/school/daily/ballet_class_004'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/ballet_class_004'
     $location_type = 'public_indoors'
     gs 'themes', 'indoors'
     killvar 'nclass'
@@ -576,24 +580,25 @@ end
 
 if $ARGS[0] = 'assessment':
     *clr & cla
+    $setloc['StageTitle'] = 'Assessment Day'    
     $location_type = 'public_indoors'
     gs 'themes', 'indoors'
-
     !! Dance exam
 
     balletqw['school'] = 1
     pcs_sleep -= rand(10,20)
     gs 'exercise', 'tier4', 180, 'agil_exp', 'stren_exp', 'danc_exp'
     !! rank is the final assessment score to determine pass, fail or a potential fall into Randolph''s clutches.
-    gs 'pushkin_ballet_init', 'famemodifier', 'rank'
+    !!gs 'pushkin_ballet_init', 'famemodifier', 'rank'
     !! Maya friendship mechanics to be implemented after feedback on core game with how she reacts to you at the exams.
 
     hour = 9
     if minut > 0:
         minut = 0
     end
-    '<center><h2>Assessment Day</h2></center>'
-    '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/hall.jpg"></center>'
+
+    $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/daily/hall'
+    gs 'core_library', 'stage_title'
 
     'You arrive at the ballet school and can sense an air of anticipation and nervousness among your classmates. <<$npc_firstname[''A3501'']>> is standing close to you.'
     'You notice on the door, someone pinned the old Russian proverb - Без труда́ не вытащишь и рыбку из пруда́ (You must work to pull the fish from the pond). An admonishment to all students to work hard to acheive their dreams.'
@@ -608,7 +613,8 @@ if $ARGS[0] = 'assessment':
         *clr & cla
         minut += 20
         gs 'stat'
-        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/exams/exam_1.jpg"></center>'
+        $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/exams/exam_1'
+        gs 'core_library', 'stage_title'
 
         'You all file into the room and assume the first position. An examiner is at the door checking each girl as they enter for any flaws in their outfits or their appearance.'
         '"Welcome, students. You have been shortlisted for this year''s apprenticeship intake. Three of you will be allowed to join our school, you have been told what we expect of you today, and we will assess all aspects of your appearance, conduct and the elegance of your performance." An elderly man sits at the table continues to list the assessment requirements.'
@@ -620,7 +626,8 @@ if $ARGS[0] = 'assessment':
             *clr & cla
             minut += 60        	
             gs 'stat'
-            '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/exams/exam_2.jpg"></center>'
+            $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/exams/exam_2'
+            gs 'core_library', 'stage_title'
 
             'You wait outside the classroom. You''ve put on your feet warmers to ensure they remain pliable and take the opportunity to drink some water and eat an energy bar. <<$npc_firstname[''A3501'']>> sits down beside you, lost in thought.'
             *nl
@@ -636,10 +643,11 @@ if $ARGS[0] = 'assessment':
                 *clr & cla
                 minut += 120
         	    gs 'stat'
-                '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/exams/solo_2.jpg"></center>'
+                $setloc['StageImage'] =  '<<$default_img_path>>ballet_school/exams/solo_2'
+                gs 'core_library', 'stage_title'
                 'Back outside, you and <<$npc_firstname[''A3501'']>> do checks on your outfits. You notice a small tear on <<$npc_firstname[''A3501'']>>''s tights and get your needle and thread out to repair it. You then check each other''s hair and makeup, with <<$npc_firstname[''A3501'']>> applying some hairspray to tame your flyaway hairs.'
-                'There''s some fruit juice and some snacks on a table to eat whilst you wait for your lesson. Then, you start doing light exercises with <<$npc_firstname[''A3501'']>> to remain supple.'
-                'Shortly after you finish your snack, you''re called in before <<$npc_firstname[''A3501'']>> .'
+                'There''s some fruit juice and some snacks on a table to eat whilst you wait for your examination performance. Then, you start doing some light exercises with <<$npc_firstname[''A3501'']>> to remain supple.'
+                'Shortly after you finish your snacks and stretches, you''re called in before <<$npc_firstname[''A3501'']>> .'
                 *nl
                 '"<<$pcs_firstname>> <<$pcs_lastname>>, this is your solo performance. You understand what is required of you?" You realise it''s the school''s Ballet Mistress attending the solo performances. Thankfully, <<$npc_firstname[''A3502'']>> isn''t assessing the solo exams.'
                 'You curtsy and reply, "Yes, Mistress, I''m ready."'
@@ -648,7 +656,7 @@ if $ARGS[0] = 'assessment':
                 *nl
                 'At the end of the performance, you feel a sense of loss of something extraordinary. You realise the emotional high you''ve been riding has come to a crashing end, and you barely retain your sense of poise and perform the great reverence to your examiners before you are given permission to leave.'
                 
-                gs 'pushkin_ballet_init', 'daily_assessment', 'grade'
+               !! gs 'pushkin_ballet_init', 'daily_assessment', 'grade'
                 act 'Finalé' : gt 'pushkin_ballet_class', 'start'
             end
         end

+ 8 - 7
locations/pushkin_ballet_evt.qsrc

@@ -22,7 +22,7 @@ if $ARGS[0] = 'letter':
         
         act 'Open Letter':
             *clr & cla
-            '<center><img <<$set_imgh>> src="mod/img_ballet/pavlosk/kuhrpar/letter.jpg"></center>'
+            '<center><img <<$set_imgh>> src="images/shared/misc/letter.jpg"></center>'
             'You quickly grab a knife from the counter to open the letter and start to read the contents.'
             'You skim through the letter to find the information you were hoping for and let out a scream as you find the paragraph that has awarded you a grant and a spot at the Pushkin Ballet summer school.'
             '"Did you get the place, <<$pcs_nickname>>?" your <<$npc_nickname[''A29'']>> asks.'
@@ -30,7 +30,7 @@ if $ARGS[0] = 'letter':
             'Your <<$npc_nickname[''A29'']>> pulls you into her arms. "I knew you could do it, <<$pcs_nickname>>. Well done!"'
             'Hearing the commotion, your stepdad and brother step into the kitchen and ask, "What''s all the commotion?" You excitedly tell your family the news. "Well done, sis," your brother tells you. Your stepfather gives you a proud smile.'
             '"When do you go?" your <<$npc_nickname[''A29'']>> asks.'
-            '"The first week of July. I''ve got to catch the school bus from the community center on Sunday, between 1600 and 1700." You look through the other information, providing details on what you need to pack and other relevant course information.'
+            '"The first week of July. I''ve got to catch the school bus from the community center on Sunday, 3rd July between 1600 and 1700." You look through the other information, providing details on what you need to pack and other relevant course information.'
         
             act 'Continue': gt 'kuhrPar'
         end
@@ -42,7 +42,7 @@ if $ARGS[0] = 'letter':
         minut += 15
         gs 'stat'
 
-        '<center><img <<$set_imgh>> src="mod/img_ballet/pavlosk/kuhrpar/letter.jpg"></center>'
+        '<center><img <<$set_imgh>> src="images/shared/misc/letter.jpg"></center>'
 
         'You look at the envelope with a sense of déjà vu when you see the school''s branding on the envelope. Then, you sit down at the kitchen table and open it.'
         'You read and reread the contents, trying to make sense of them. You can''t believe the news. You jubilantly punch the air and let out a cry of joy.'
@@ -122,7 +122,7 @@ if $ARGS[0] = 'res_events':
             if mod_table_count = 6:
                 $mod_student_table += '<tr>'
                 mod_table_count += 1
-                $mod_student_table += '' + '<td><table bgcolor=<<$theme[''table_bg_alt'']>>><tr><td align="center"><img  height="100" src="mod/img_ballet/pushkin/npc/A350<<$npc_idx>>.jpg"></a></td></tr><tr><td align="center"><<$npc_usedname[''A<<$npc_idx>>'']>></td></tr></table>'
+                $mod_student_table += '' + '<td><table bgcolor=<<$theme[''table_bg_alt'']>>><tr><td align="center"><img  height="100" src="images/character/ballet/A350<<$npc_idx>>.jpg"></a></td></tr><tr><td align="center"><<$npc_usedname[''A<<$npc_idx>>'']>></td></tr></table>'
             end
             if mod_table_count < 6:
                 $mod_student_table += '</td>'
@@ -141,7 +141,7 @@ if $ARGS[0] = 'res_events':
     if $ARGS[1] = 'birthday':
         ! Birthday night for Gasha, develops homesickness, Bronya/Nikita baked her a cake.
 
-        if $ARGS[2] = 1:
+        if $ARGS[2] = '1':
             'You enter the halls after classes, and Nikita sees you, grabbing your arm and looking around. "Sveta, do you have a moment?"'
             '"Sure?" you reply.'
             '"It''s Gasha''s birthday today, and I''ve got her a card. Can you sign it, please, to cheer her up?"'
@@ -175,7 +175,7 @@ if $ARGS[0] = 'res_events':
                 '"Yeah, look, I need to start baking the food for tonight. Will you come to the communal room after 18:30?" You nod your head in a non-committal way as she leaves.'
                 act 'Return to the hallway': gt 'pushkin_ballet_res', 'hallway'
             end
-        elseif $ARGS[2] = 2:
+        elseif $ARGS[2] = '2':
             !! Communal Party
             'WIP - tbc'
         end
@@ -318,8 +318,9 @@ if $ARGS[0] = 'barre_exercise':
     gs 'exercise', 'tier1', 60, 'agil_exp', 'stren_exp'
     gs 'sweat', 'add', 20
     gs 'stat'
-    '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/residence_barre_single.jpg"></center>'
+    '<center><img <<$set_imgh>> src="images/locations/pushkin/ballet_residence/residence_barre_single.jpg"></center>'
     'You leave your room and head to the exercise area. You see some barres set up and spend an hour performing stretching exercises and practicing your forms.'
+    !! Add scenes with other girls - TBC
     act 'Return': gt $loc, $loc_arg
 end
 

+ 5 - 6
locations/pushkin_ballet_init.qsrc

@@ -174,8 +174,6 @@ if $ARGS[0] = 'famemodifier':
 end
 
 if $ARGS[0] = 'cleanup_var':
-
-
     !! Clean up school variables upon completion.
     !! Debug - remove all variables associated with mod
 
@@ -200,11 +198,12 @@ if $ARGS[0] = 'cleanup_var':
     killvar 'sharedmeal'
     killvar 'study_tally'
     killvar 'school_prep'
-    killvar 'ballet_day'
-    killvar 'mod_ballet[''letter'']'
+    killvar 'ballet_day'    
     killvar 'ballet_first_bedroom'
-    killvar 'feet_track'
-    killvar 'ballet_mod[''res_mg'']'
+    killvar 'feet_track'    
+    gs 'shortgs', 'remove_array_element', 'mod_ballet', 'letter'
+    gs 'shortgs', 'remove_array_element', 'mod_ballet', 'res_mg'
+
 end
 
 if $ARGS[0] = 'score_debug':   

+ 167 - 110
locations/pushkin_ballet_res.qsrc

@@ -37,10 +37,8 @@ if $ARGS[0] = 'start':
 
 end
 
-
 if $ARGS[0] = 'bedroom':
 	*clr & cla
-	!! Init    
 	$location_type = 'private'    
 	$setloc['StageTitle'] = 'Residental Bedroom'
 	$setloc['StageImage'] =   '<<$default_img_path>>ballet_residence/bedroom'
@@ -67,8 +65,14 @@ if $ARGS[0] = 'bedroom':
         if komp = 1: 'Your <a href="exec: gt ''Komp'',''start''">computer</a> is on your desk.'
         '<table><tr><td valign="top">Your <a href="exec:gt ''alarmclock'', ''start''">alarm clock</a> is set to <<func(''alarmclock'', ''alarm_display'', alarmVars[''timerH''], alarmVars[''timerM''])>> during the week and <<func(''alarmclock'', ''alarm_display'', alarmVars[''timerEndH''], alarmVars[''timerEndM''])>> during the weekend. It is currently turned ' + iif(alarmVars['alarmOn'] = 0, '<a href="exec: alarmVars[''alarmOn''] = 1 & gt $loc, $loc_arg">OFF</a>.', '<a href="exec: alarmVars[''alarmOn''] = 0 & gt $loc, $loc_arg">ON</a>.')
         
-       !  act 'Enter Shop': gt 'pushkin_ballet_shop', 'init'
-        act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
+        if $clothingworntype ! 'nude':
+            act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
+        else
+            act 'Go to the hallway':
+                msg '<b><font color = red>Whilst as a dancer you have less worries about showing yourself Bronya would likely have a few choice words about your behaviour.</font></b>'
+                gt $loc, $loc_arg
+            end
+        end
 
         !! Default actions
         gs 'core_library', 'bedroom'
@@ -77,70 +81,26 @@ if $ARGS[0] = 'bedroom':
         if  hour >= 16 and week ! 7:         
             act 'Barre Practice (60m)': gt 'pushkin_ballet_evt', 'barre_exercise' 
             act 'Study (60m)':  gt 'pushkin_ballet_res', 'study'
-            ! act 'Practice make up' : gt 'pushkin_ballet_evt', 'make_up' 
+            if  mc_inventory['cosmetics'] >= 9:
+                act 'Practice make-up' : gt 'pushkin_ballet_res', 'make_up' 
+            end
             if feet_track ! daystart: act 'Take care of your feet': gt 'pushkin_ballet_res', 'feetcare'     
         end 
         act 'Listen to the radio (30m)': gt 'pushkin_ballet_res', 'radio'
         act 'Read the rules': gt 'pushkin_ballet_res', 'rules'
+
         !!act 'Debug data': gs 'pushkin_ballet_init', 'score_debug'
     end
 
-    ! First Maya event
+    !! First Maya event
 
-    if ballet_day = 3 and mayaqw['grave'] = 0:
-        act 'Answer the knock  <<$mod_ballet[''icon_green'']>>' : gt 'npc_3501_init','grave'
+    if ballet_day = 3 and mayaqw['grave'] = 0  and ( hour >= 17 and hour <= 21):
+        act 'Answer the knock' : gs 'npc_3501_init','grave'
     elseif ballet_day = 3 and hour > 19 and mayaqw['grave'] = 1:
         act 'Another knock': gt 'npc_3501_init', 'post_grave' 
     end
 end
 
-if $ARGS[0] = 'rules':
-    *clr & cla
-	minut += 5
-	gs 'stat'
-    *pl '<center><h2>Residence Rules</h2></center>'
-    *pl 'You look at the rules on the wall.'
-
-    *pl 'Whilst you stay in this accommodation, you will follow these rules:'
-
-    '1) No males are allowed in the accommodation block.'
-
-    '2) All residents must return to the block by 21:00. No exceptions. If you are late, you will have to report to the duty warden.'
-    
-    '3) No smoking, drinking, or drug use is allowed in the accommodation. If you are caught, you will face immediate dismissal from the school.'
-    
-    '4) Breakfast is from 06:00 to 07:00.'
-    
-    '5) All rooms must be kept clean and tidy.'
-    
-    '6) Valuables can be left with the duty warden if required. All thefts or problems are to be reported immediately.'
-    
-    '7) You are to follow the duty warden''s instructions in an emergency.'
-
-    act 'Look away': gt 'pushkin_ballet_res', 'bedroom'
-end
-
-if $ARGS[0] = 'radio':
-	*clr & cla
-	minut += 30
-	pcs_mood += rand(1,5)  
-    pcs_sleep -= rand(1,10)
-    if ballet_day >= 1 and week ! 7:
-        instrmusic_exp += rand(1,3)
-        pcs_perform += rand(1,3) 
-        mod_homework[week] += 1 
-        mod_daily_score[week] += 1
-    end
-    $setloc['StageTitle'] = 'Radio'
-	$setloc['StageImage'] =   '<<$default_img_path>>ballet_residence/radio'
-	gs 'stat'
-    gs 'core_library', 'stage_title'
-
-    'You start to listen to the radio for half an hour, taking notes of the performance with the ideas from your earlier lesson. Then, you close your eyes and start humming along to the familiar music after a while. '
-
-    act 'Turn the radio off': gt 'pushkin_ballet_res', 'bedroom'
-end
-
 if $ARGS[0] = 'hallway':    
 	*clr & cla
     $setloc['StageTitle'] = 'Residental Hallway'
@@ -152,21 +112,35 @@ if $ARGS[0] = 'hallway':
 	gs 'stat'
     
     gs 'core_library', 'stage_title'
-    ! Visit NPCs 
+    !! Visit NPCs 
     ballet_awol = 0
     if ballet_day ! week :
         ballet_day = week
     end
     nclass = 0
-    act 'Leave building': minut += 5 & ballet_awol = 1 & gt 'pushkin_ballet_center', 'start'
+
+    if $clothingworntype ! 'nude':
+        if hour = 6 or (hour  = 7 and minut <=  30):
+            act 'Attend Ballet Classes': gt 'pushkin_ballet_class', 'start'
+        elseif hour = 7 and (minut > 30 and minut <= 59):
+            $balletEv['trigger'] = 'late'
+            gs 'npc_init_3501', 'summer_school'
+        else
+            act 'Leave Residence': minut += 5 & ballet_awol = 1 & gt 'pushkin_ballet_center', 'start'
+        end
+    else       
+        msg '<b><font color = red>Whilst as a dancer you have less worries about showing yourself off Bronya would likely have a few choice words about your behaviour.</font></b>'
+        gt $loc, $loc_arg    
+    end
+
     act 'Go to your room':  minut += 5 & gt 'pushkin_ballet_res', 'bedroom'
     act 'Enter the communal room':  minut += 5 & gt 'pushkin_ballet_res', 'communal_area'
     act 'Go to the bathroom':  minut += 5 & gt 'pushkin_ballet_class', 'shower'  
     act 'Go to the kitchen':  minut += 5 & gt 'pushkin_ballet_res', 'kitchen'
     if week ! 7:
-        ! act 'Visit Maya' :  minut += 5 & gt 'pushkin_ballet_res', 'maya_room'
+        !! act 'Visit Maya' :  minut += 5 & gt 'pushkin_ballet_res', 'maya_room'
     end
-    !act 'Knock on wardens door' :  minut += 5 & gt 'pushkin_ballet_res', 'warden_room'
+    !!act 'Knock on wardens door' :  minut += 5 & gt 'pushkin_ballet_res', 'warden_room'
 
     if ballet_day = 7:
         'The hall is bustling with various students settling into their rooms. A few of them wave or smile to greet you as you pass by. You see Bronya at the end of the hall, keeping an eye on the students and ready to provide assistance.'
@@ -186,52 +160,13 @@ if $ARGS[0] = 'hallway':
             if hour < 8 or hour > 21:
                 'You hear someone trying to play the piano at this hour. Before you can complain, you hear the piano being slammed shut, and you wince. A few moments later, two girls emerge from the communal room, arguing heatedly.'
             else
+                pcs_mood += 5
                 'You hear someone playing the piano in the communal room. You don''t recognize the piece being played, but its soothing melody relaxes you.'
             end
         end
     end
 end
 
-if $ARGS[0] = 'warden':
-    !! residential buzzer logic statements
-    if (hour > 20 or hour < 6) and ballet_awol = 1:
-        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s icy voice through the intercom.'
-        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
-        '"<<$pcs_firstname>> <<$pcs_lastname>>, you will see me in my office. Now." You can swear the temperature around you just plummeted a few degrees and the door was buzzed open.'
-        gt 'pushkin_ballet_res', 'warden_room'
-    elseif (hour >= 17  or hour < 21 ) and ballet_awol = 1:
-        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
-        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause and you hear the door being buzzed open.'
-        gt 'pushkin_ballet_res', 'hallway'
-    elseif ballet_awol = 1:
-        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
-        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
-        '"<<$pcs_firstname>> <<$pcs_lastname>>, where the hell have you been? Get in here. Now.", you gulp at her voice and with trepidation make your way to her office.'
-        gt 'pushkin_ballet_res', 'warden_room'
-    else
-        minut += 10
-        'You press the buzzer but there''s no response.'
-        act 'Return': gt 'pushkin'
-    end
-end
-
-if $ARGS[0] = 'warden_room':
-	*clr & cla
-    
-	$location_type = 'private'
-	$setloc['StageTitle'] = 'Wardens Residence'
-	$setloc['StageImage'] =   '<<$default_img_path>>/ballet_residence/warden' 
-    $location_type = 'public_indoors'
-    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
-    gs 'themes', 'indoors'
-	gs 'stat'
-   
-    gs 'core_library', 'stage_title'
-
-    ! Punishment or plot
-     act 'Go to the hallway':  minut += 5 & ballet_awol = 0 &  gt 'pushkin_ballet_res', 'hallway'
-end
-
 if $ARGS[0] = 'maya_room':
 	*clr & cla
 	$location_type = 'private'	
@@ -244,7 +179,7 @@ if $ARGS[0] = 'maya_room':
     'Maya''s room closely resembles your own. Her wardrobe is open, and you see her collection of tutus hanging from the rails. On her desk there are several books, including an open poetry book. A quick glance reveals the page title "Like a White Stone" by Akhmatova.'
     'Next to it is an old picture of a woman in a park with a black ribbon in the corner.' 
     act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'
-! Maya events
+    !! Maya events
 end
 
 if $ARGS[0] = 'communal_area':
@@ -279,15 +214,15 @@ if $ARGS[0] = 'kitchen':
 	*clr & cla
     
     $setloc['StageTitle'] = 'Residental Kitchen'
-	$setloc['StageImage'] =   '<<$default_img_path>>/ballet_residence/kitchen'
-	$location_type = 'communal'
+	$setloc['StageImage'] =   '<<$default_img_path>>ballet_residence/kitchen'
+	$location_type = 'private'
     gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
     gs 'themes', 'indoors'
     gs 'stat'
 
     gs 'core_library', 'stage_title'
     act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'
-
+    gs 'core_library', 'kitchen'  
 
     !! Set up events
     *nl    
@@ -321,7 +256,94 @@ if $ARGS[0] = 'kitchen':
     
 end
 
-! Activities
+!! Intercomm
+if $ARGS[0] = 'warden':
+    !! residential buzzer logic statements
+    if (hour > 20 or hour < 6) and ballet_awol = 1:
+        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s icy voice through the intercom.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, you will see me in my office. Now." You can swear the temperature around you just plummeted a few degrees and the door was buzzed open.'
+        gt 'pushkin_ballet_res', 'warden_room'
+    elseif (hour >= 17  or hour < 21 ) and ballet_awol = 1:
+        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause and you hear the door being buzzed open.'
+        gt 'pushkin_ballet_res', 'hallway'
+    elseif ballet_awol = 1:
+        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, where the hell have you been? Get in here. Now.", you gulp at her voice and with trepidation make your way to her office.'
+        gt 'pushkin_ballet_res', 'warden_room'
+    else
+        minut += 10
+        'You press the buzzer but there''s no response.'
+        act 'Return': gt 'pushkin'
+    end
+end
+
+if $ARGS[0] = 'warden_room':
+	*clr & cla
+    
+	$location_type = 'private'
+	$setloc['StageTitle'] = 'Wardens Residence'
+	$setloc['StageImage'] =   '<<$default_img_path>>/ballet_residence/warden' 
+    $location_type = 'public_indoors'
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
+    gs 'themes', 'indoors'
+	gs 'stat'
+   
+    gs 'core_library', 'stage_title'
+
+    ! Punishment or plot
+     act 'Go to the hallway':  minut += 5 & ballet_awol = 0 &  gt 'pushkin_ballet_res', 'hallway'
+end
+
+!! Activities
+if $ARGS[0] = 'rules':
+    *clr & cla
+	minut += 5
+	gs 'stat'
+    *pl '<center><h2>Residence Rules</h2></center>'
+    *pl 'You look at the rules on the wall.'
+
+    *pl 'Whilst you stay in this accommodation, you will follow these rules:'
+
+    '1) No males are allowed in the accommodation block.'
+
+    '2) All residents must return to the block by 21:00. No exceptions. If you are late, you will have to report to the duty warden.'
+    
+    '3) No smoking, drinking, or drug use is allowed in the accommodation. If you are caught, you will face immediate dismissal from the school.'
+    
+    '4) Breakfast is from 06:00 to 07:00.'
+    
+    '5) All rooms must be kept clean and tidy.'
+    
+    '6) Valuables can be left with the duty warden if required. All thefts or problems are to be reported immediately.'
+    
+    '7) You are to follow the duty warden''s instructions in an emergency.'
+
+    act 'Look away': gt 'pushkin_ballet_res', 'bedroom'
+end
+
+if $ARGS[0] = 'radio':
+	*clr & cla
+	minut += 30
+	pcs_mood += rand(1,5)  
+    pcs_sleep -= rand(1,10)
+    if ballet_day >= 1 and week ! 7:
+        instrmusic_exp += rand(1,3)
+        pcs_perform += rand(1,3) 
+        mod_homework[week] += 1 
+        mod_daily_score[week] += 1
+    end
+    $setloc['StageTitle'] = 'Radio'
+	$setloc['StageImage'] =   '<<$default_img_path>>ballet_residence/russian_radio'
+	gs 'stat'
+    gs 'core_library', 'stage_title'
+
+    'You start to listen to the radio for half an hour, taking notes of the performance with the ideas from your earlier lesson. Then, you close your eyes and start humming along to the familiar music after a while. '
+
+    act 'Turn the radio off': gt 'pushkin_ballet_res', 'bedroom'
+end
 
 if $ARGS[0] = 'feetcare':
 
@@ -341,13 +363,13 @@ if $ARGS[0] = 'feetcare':
     feet_track = daystart
     gs 'stat'
     $setloc['StageTitle'] = 'Feet Soak'
-	$setloc['StageImage'] =  '<<$default_img_path>>/ballet_events/feet_soak'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_events/feet_soak'
     gs 'core_library', 'stage_title'
 
-    'After a long day, you diligently inspect your calves and feet for injuries, gently massaging Arnica Gel onto your calves and ankles to alleviate stiffness and swelling. Next, you carefully examine your calluses and check for any blisters.'
-    'With the checks completed, you reach for your exercise band, commencing a series of foot-stretching exercises, culminating in a soothing massage using a tennis ball on your calves and soles.'
+    'After the long day at the ballet class, you diligently inspect your calves and feet for injuries, gently massaging Arnica Gel onto your calves and ankles to alleviate stiffness and swelling. Next, you carefully examine your calluses and check for any blisters.'
+    'With your checks completed, you reach for your exercise band, commencing a series of foot-stretching exercises, culminating in a soothing massage using a tennis ball on your calves and soles.'
     'You take a brief moment to unwind before donning your foot warmers, making your way to the kitchen to fetch cold water and investigate the freezer for ice. Fortunately, the school has stored ice cube trays. After replenishing the trays, you fill a bowl and carry it back to your room.'
-    'Seated on your bed, you pour the bowl of ice cubes and water into a larger container. Adding a touch of Epsom Salts, you brace yourself as you immerse your feet in the chilling water. Your body shudders briefly from the shock, but after a few moments, the sensation subsides. You close your eyes and attempt to relax.'
+    'Seated on your bed, you pour into the bowl the ice cubes and chilled water into a foot bath. Adding a touch of Epsom Salts, you brace yourself as you immerse your feet in the chilling water. Your body shudders briefly from the shock, but after a few moments, the sensation subsides. You close your eyes and attempt to relax.'
 
     ! logic check for then you check your new ballet shoes, and start sewing the ribbons on and break the sole to relax whilst your feet soak.
 
@@ -361,11 +383,46 @@ if $ARGS[0] = 'study':
     minut += 60
     mod_homework[week] += 1 
     mod_daily_score[week] += 1
+    $setloc['StageTitle'] = 'Study'
+	$setloc['StageImage'] =  '<<$default_img_path>>ballet_residence/study'
     gs 'stat'
-     '<center><img <<$set_imgh>> src="<<$default_img_path>>/ballet_residence/study.jpg"></center>'
-
+    gs 'core_library', 'stage_title'
      'You gather your school books and notebook to begin studying ballet movements, history, and musical theory, diligently taking notes as you progress. After an hour of reading, you notice your eyes beginning to glaze over. Recognizing the need for a break, you decide to stand up and stretch.'
      act 'Finish studying': gt 'pushkin_ballet_res', 'bedroom'
 end
 
+if $ARGS[0] = 'make_up':
+        !! Practice make up skills
+        *clr & cla
+        minut += 60
+        mod_homework[week] += 1 
+        mod_daily_score[week] += 1
+        gs 'exp_gain', 'makupskl', rand(1,3)
+        if pcs_makupskl < 30:
+            mc_inventory['cosmetics'] -= 9
+            pcs_makeup = 0
+        elseif pcs_makupskl >=31 <= 74:
+            mc_inventory['cosmetics'] -= 5
+            pcs_makeup = 3
+        elseif pcs_makupskl >= 75:
+            mc_inventory['cosmetics'] -= 3
+            pcs_makeup = 5
+        end
+        gs 'stat'
+        $setloc['StageTitle'] = 'Feet Soak'
+        $setloc['StageImage'] =  '<<$default_img_path>>/ballet_events/make-up'
+        gs 'core_library', 'stage_title'
+
+        if pcs_makupskl <= 30:
+            'You struggle to master the basics of applying your look, wasting a lot of your expensive make-up. You wonder if you should get help with practicing.'
+        elseif pcs_makupskl >= 31 or pcs_makupskl <= 69:
+            'You try to replicate the deft strokes that you was taught in school apply the basic foundation. You struggle briefly with the eyelashes before they settle in place. It takes you a few attempts to finalise the blending of your looks but at the end of your practice you are happy with the results even though it won''t win any awards.'
+        elseif pcs_makupskl >= 70:
+            'You artfully apply the make-up look with a quick, practiced ease that would leave most girls with envy. The final look is almost flawless and you criticaly review the final result.'
+        else
+            $ballet['error'] += 'Makeup skill failed check'
+        end
+        act 'Finish practicing': gt 'pushkin_ballet_res', 'bedroom'
+end
+
 --- pushkin_ballet_res ---------------------------------

+ 31 - 17
locations/saveupdater.qsrc

@@ -2360,6 +2360,12 @@ if temp_current_save_version < 00090101:
 		end
 
 		killvar 'night_mode'
+		killvar '$bgcolor'
+		killvar '$bgcolor1'
+		killvar '$bgcolor2'
+		killvar '$bgcolor3'
+		killvar '$fgcolor'
+		killvar '$fgcolor1'
 	end
 end
 
@@ -2367,26 +2373,34 @@ end
 if temp_current_save_version < 00090200:
 
 	! Body update -- By Anjuna
-	if gensize			! 0:		pcs_mass['bust_gen']		= genbsize		& killvar 'genbsize'
+	if genbsize			! 0:		pcs_mass['bust_gen']		= genbsize		& killvar 'genbsize'
 	if nbsize			! 0:		pcs_mass['bust']			= nbsize		& killvar 'nbsize'
+
 	if pcs_mass['butt_gen'] = 0:
-		pcs_mass['butt_gen']		= 20
-		pcs_mass['butt']			= (20 * salo) / 80
-	end
-	if salo				! 0: 		pcs_mass['body']			= salo			& killvar 'salo'
-
-	if vofat			! 0:		bodyVars['vofat']			= vofat			& killvar 'vofat'
-	if vhips			! 0:		bodyVars['vhips']			= vhips			& killvar 'vhips'
-	if wratio			! 0:		bodyVars['wratio']			= wratio		& killvar 'wratio'
-	if bratio			! 0:		bodyVars['bratio']			= bratio		& killvar 'bratio'
-	if hratio			! 0:		bodyVars['hratio']			= hratio		& killvar 'hratio'
-	if magicf2b			! 0:		bodyVars['bust_magic']		= magicf2b		& killvar 'magicf2b'
-	if silicone_butt	! 0:		bodyVars['butt_silicone']	= silicone_butt	& killvar 'silicone_butt'
-	if silicone			! 0:		bodyVars['bust_silicone']	= silicone		& killvar 'silicone'
-	if butt_cheat		! 0:		bodyVars['butt_cheat']		= butt_cheat	& killvar 'butt_cheat'
-	
+		pcs_mass['butt_gen']	= 20
+		pcs_mass['butt']		= (20 * salo) / 60
+	end
+	if salo ! 0:
+		pcs_mass['body'] = salo - pcs_mass['butt']
+		killvar 'salo'
+	end
+
+	if vofat			! 0:		bodyVars['vofat']			= vofat				& killvar 'vofat'
+	if vhips			! 0:		bodyVars['vhips']			= vhips				& killvar 'vhips'
+	if wratio			! 0:		bodyVars['wratio']			= wratio			& killvar 'wratio'
+	if bratio			! 0:		bodyVars['bratio']			= bratio			& killvar 'bratio'
+	if hratio			! 0:		bodyVars['hratio']			= hratio			& killvar 'hratio'
+	if magicf2b			! 0:		bodyVars['bust_magic']		= magicf2b			& killvar 'magicf2b'
+	if silicone_butt	! 0:		bodyVars['butt_silicone']	= silicone_butt		& killvar 'silicone_butt'
+	if silicone			! 0:		bodyVars['bust_silicone']	= silicone			& killvar 'silicone'
+	if butt_cheat		! 0:		bodyVars['butt_cheat']		= butt_cheat		& killvar 'butt_cheat'
+
+	if pcs_mass['bust_message'] = 0: pcs_mass['bust_message'] = pcs_mass['bust']
+	if pcs_mass['butt_message'] = 0: pcs_mass['butt_message'] = pcs_mass['butt']
+
 	!!update_clothing
-	gs 'tailor2'
+	!! Do not think we need this anymore. Since pcs_hips should now be basically unchanged.
+	!!gs 'tailor2'
 end
 
 

+ 91 - 54
locations/sex_ev_after.qsrc

@@ -1118,7 +1118,7 @@ if $ARGS[0] = 'cum_clean':
 			cla
 			act'Never mind': cla & gs 'sex_ev_sex', 'sex_end'
 			
-			if sex_ev['boy_in_shower'] ! 1:
+			if sex_ev['boy_in_shower'] ! 1 and sex_ev['boy_asleep'] = 0:
 				act'Ask him if he has any wipes':
 					sex_ev['cock_inserted'] = 0
 					if hypnoAddict = 0:
@@ -1169,7 +1169,7 @@ if $ARGS[0] = 'cum_clean':
 						$sex_ev['bed_room']
 						'Leaning down off the bed, you dig around with a clean hand, grab a bag of wipes, and start cleaning yourself off.'
 						*nl
-						'Feeling nice, you also take a moment to clean <<$npc_firstname[$boy]>>''s cock for him at the same time. Once you''re both all wiped down off, you toss it into the wastebasket by his bed.'
+						if sex_ev['boy_asleep'] = 0: 'Feeling nice, you also take a moment to clean <<$npc_firstname[$boy]>>''s cock for him at the same time. Once you''re both all wiped down off, you toss it into the wastebasket by his bed.'
 						if sex_ev['sex_over'] = 1:
 							gs'sex_ev_after', 'after_sex1'
 						else
@@ -1187,7 +1187,7 @@ if $ARGS[0] = 'cum_clean':
 					stat['swallow'] += 1
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/shared/sex/cum/lick_fingers.jpg"></center>'
-					if sex_ev['boy_in_shower'] ! 1:
+					if sex_ev['boy_in_shower'] ! 1 and sex_ev['boy_asleep'] = 0:
 						'Briefly making eye contact with <<$npc_firstname[$boy]>>, you use your fingers to gather up all the loose cum on you and stick out your tongue, running it up your hand, licking every drop from it and into your mouth. You give your hand a thorough tongue bath, sucking your fingers clean at the end. Once finished, you smack your lips, smiling at <<$npc_firstname[$boy]>> who stared at you the whole time.'
 						if sex_ev['he_cleaned'] = 0:
 							'"Any chance I could get one of those?" he gestures towards his cock.'
@@ -1236,7 +1236,7 @@ if $ARGS[0] = 'cum_clean':
 end
 
 if $ARGS[0] = 'facial_mouth_clean':
-	if ($sex_ev['last_cum'] = 'facial' or $sex_ev['last_cum'] = 'face_mouth') and sex_ev['boy_in_shower'] ! 1:
+	if ($sex_ev['last_cum'] = 'facial' or $sex_ev['last_cum'] = 'face_mouth') and sex_ev['boy_in_shower'] ! 1 and sex_ev['boy_asleep'] = 0:
 		act'Clean him off with your mouth':
 			sex_ev['react'] = 1
 			gs'stat'
@@ -1362,23 +1362,28 @@ if $ARGS[0] = 'after_sex2':
 			act'Get dressed':gt'sex_ev_leave', 'dressing1'
 		end
 	end
-	if sex_ev['npc_late'] ! 1 and $clothingworntype = 'nude' and sex_ev['boy_in_shower'] ! 1:
-		act'Relax together':
-			cla & *clr
-			if sex_ev['get_up'] = 1:
-				sex_ev['get_up'] = 0
-				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
-				'You climb back into bed with <<$npc_firstname[$boy]>>, snuggling up with him to relax.'
-			elseif npc_smoker[$boy] < 1 or sex_ev['boy_smoked'] = 1:
-				'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
-				'You and <<$npc_firstname[$boy]>> both lay back, quietly relaxing together in the still bliss of your love-making.'
-			else
-				'<center><img <<$set_imgh>> src="images/shared/sex/after/bed_smoke2.jpg"></center>'
-				'You lay back, quietly relaxing beside <<$npc_firstname[$boy]>> in the still bliss of your love-making as he puffs away on his cigarette.'
-				sex_ev['boy_smoked'] = 1
+	if sex_ev['boy_asleep'] = 0:
+		if sex_ev['npc_late'] ! 1 and $clothingworntype = 'nude' and sex_ev['boy_in_shower'] ! 1:
+			act'Relax together':
+				cla & *clr
+				if sex_ev['get_up'] = 1:
+					sex_ev['get_up'] = 0
+					'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
+					'You climb back into bed with <<$npc_firstname[$boy]>>, snuggling up with him to relax.'
+				elseif npc_smoker[$boy] < 1 or sex_ev['boy_smoked'] = 1:
+					'<center><img <<$set_imgh>> src="images/shared/sex/after/pillow_talk1.jpg"></center>'
+					'You and <<$npc_firstname[$boy]>> both lay back, quietly relaxing together in the still bliss of your love-making.'
+				else
+					'<center><img <<$set_imgh>> src="images/shared/sex/after/bed_smoke2.jpg"></center>'
+					'You lay back, quietly relaxing beside <<$npc_firstname[$boy]>> in the still bliss of your love-making as he puffs away on his cigarette.'
+					sex_ev['boy_smoked'] = 1
+				end
+				gs'sex_ev_after', 'relax_together'
 			end
-			gs'sex_ev_after', 'relax_together'
 		end
+	else
+		'<<$npc_firstname[$boy]>> is asleep, snoring softly beside you.'
+		gs'sex_ev_after', 'cuddle_up2'
 	end
 	if $sex_ev['loc'] ! 'house_party':
 		if sex_ev['boy_in_shower'] ! 1:
@@ -1401,13 +1406,7 @@ if $ARGS[0] = 'after_sex2':
 			
 			act'Join him in the shower':gs'sex_ev_shower', 'shower_join1'
 			
-			if sex_ev['drawer_rummage'] = 0 and $sex_ev['loc'] ! 'pc_home':
-				if  $sex_ev['loc'] = 'hotel_room':
-					'<<$npc_firstname[$boy]>>''s <a href="exec:gs ''sex_ev_events'',''sneak_phone''">phone</a> lays on top of the hotel room <a href="exec:gs ''sex_ev_events'',''rummage_drawers_start''">dresser</a> unattended.'
-				else
-					'<<$npc_firstname[$boy]>>''s <a href="exec:gs ''sex_ev_events'',''sneak_phone''">phone</a> lays on top of his <a href="exec:gs ''sex_ev_events'',''rummage_drawers_start''">dresser</a> unattended.'
-				end
-			end
+			gs'sex_ev_events', 'rummage_drawers_link'
 		end
 	end
 		
@@ -1415,12 +1414,12 @@ if $ARGS[0] = 'after_sex2':
 		act'Smoke a cigarette':cla & gs'sex_ev_after', 'smoke_ciga1'
 	end
 
-!!	gs'sex_ev_after', 'post_sex_pee1'
+	gs'sex_ev_after', 'post_sex_pee1'
 	gs'sex_ev_after', 'cum_clean'
 	gs'sex_ev_after', 'cock_clean'
 	gs'sex_ev_after', 'plan_b'
 	gs'sex_ev_after', 'birth_control_pill_take'
-	if $sex_ev['loc'] ! 'house_party': gs'sex_ev_after', 'spend_night_ask'
+	if $sex_ev['loc'] ! 'house_party' and sex_ev['boy_asleep'] = 0: gs'sex_ev_after', 'spend_night_ask'
 	
 !!{	if sex_ev['boy_in_shower'] = 1:
 		if $sex_ev['loc'] = 'hotel_room':
@@ -1595,28 +1594,35 @@ if $ARGS[0] = 'post_sex_pee1':
 		act'Go pee':
 			cla & *clr
 			$sex_ev['bed_room']
-			if cum_loc['vagina'] > 0:
-				'As you throw your legs over the side of the bed, you feel more of <<$npc_firstname[$boy]>>''s cum spill from your pussy.'
-				act'Try not to make a mess':
-					cla & *nl
-					sex_ev['cum_wobble'] = 1
-					'You stand carefully, awkwardly holding your hand over your dripping snatch and begin making your way towards the bathroom.'
-					'"Hey, where you going?" <<$npc_firstname[$boy]>> asks.'
-					gs'sex_ev_after', 'post_sex_pee2'
-				end
-				
-				act'Walk normally':
-					cla & *nl
-					'You don''t give it a second thought and stand up to stride straight for the bathroom, letting the cum run down your legs and trail across the floor behind you.'
-!!					if npc_neat[$boy] = 1 and $sex_ev['loc'] = 'npc_home':
-!!						'"Hey!" <<$npc_firstname[$boy]>> calls out. "Do you have to get it all over the floor? Couldn''t you at least put your hand under it or something?"'
-!!					else
+			if sex_ev['boy_asleep'] = 0:
+				if cum_loc['vagina'] > 0:
+					'You throw your legs over the side of the bed and as you prepare to stand up, you feel a sudden gush of <<$npc_firstname[$boy]>>''s cum threaten to spill from your pussy.'
+					act'Try not to make a mess':
+						cla & *nl
+						sex_ev['cum_wobble'] = 1
+						'You stand carefully, awkwardly holding your hand over your dripping snatch and begin making your way towards the bathroom.'
 						'"Hey, where you going?" <<$npc_firstname[$boy]>> asks.'
 						gs'sex_ev_after', 'post_sex_pee2'
-!!					end
+					end
+					
+					act'Walk normally':
+						cla & *nl
+						'You don''t give it a second thought and stand up to stride straight for the bathroom, letting the cum run down your legs and trail across the floor behind you.'
+	!!					if npc_neat[$boy] = 1 and $sex_ev['loc'] = 'npc_home':
+	!!						'"Hey!" <<$npc_firstname[$boy]>> calls out. "Do you have to get it all over the floor? Couldn''t you at least put your hand under it or something?"'
+	!!					else
+							'"Hey, where you going?" <<$npc_firstname[$boy]>> asks.'
+							gs'sex_ev_after', 'post_sex_pee2'
+	!!					end
+					end
+				else
+					'You throw your legs over the side of the bed and get up to use the toilet.'
+					'"Hey, where you going?" <<$npc_firstname[$boy]>> asks.'
+					gs'sex_ev_after', 'post_sex_pee2'
 				end
 			else
-			
+				'You throw your legs over the side of the bed, leaving <<$npc_firstname[$boy]>> asleep in the bed alone as you pad your way into the bathroom.'
+				gs'sex_ev_after', 'post_sex_pee3'
 			end
 		end
 	end
@@ -1674,9 +1680,9 @@ if $ARGS[0] = 'post_sex_pee3':
 		'<center><img <<$set_imgh>> src="images/shared/sex/after/toilet_after.jpg"></center>'
 		if sex_ev['desperate_pee'] = 0:
 			if cum_loc['vagina'] > 0:
-				'You sit down on the porcelain throne and let out a sigh as you unclench your muscles. Warmth trickles out from your snatch and you feel it flush some of the cum from inside as well. You sit there patiently until you and your bladder feel nice and empty.'
+				'You sit down on the toilet and let out a sigh as you unclench your muscles. Warmth trickles out from your snatch and you feel it flush some of the cum from inside as well. You sit there patiently until you and your bladder feel nice and empty.'
 			else
-				'You sit down on the porcelain throne and let out a sigh as you unclench your muscles. Warmth trickles out from your snatch and you can almost feel it flushing the excess bacteria from your urinary tract. You wait patiently until you and your bladder feel nice and empty and pull some squares from the toilet roll.'
+				'You sit down on the toilet and let out a sigh as you unclench your muscles. Warmth trickles out from your snatch and you can almost feel it flushing the excess bacteria from your urinary tract. You wait patiently until you and your bladder feel nice and empty and pull some squares from the toilet roll.'
 			end
 			*nl
 			'<i>No UTI''s for this girl!</i> you think to yourself as you fold the soft fabric to wipe yourself.'
@@ -1715,7 +1721,7 @@ if $ARGS[0] = 'relax_together':
 end
 
 if $ARGS[0] = 'cock_clean':
-	if sex_ev['cock_cleanup'] ! 1 and sex_ev['fuck'] > 0 and sex_ev['get_up'] ! 1 and sex_ev['boy_in_shower'] ! 1 and sex_ev['boy_shower'] = 0:
+	if sex_ev['cock_cleanup'] ! 1 and sex_ev['fuck'] > 0 and sex_ev['get_up'] ! 1 and sex_ev['boy_in_shower'] ! 1 and sex_ev['boy_shower'] = 0 and sex_ev['boy_asleep'] = 0:
 		act'Clean his cock':
 			sex_ev['cock_cleanup'] = 1
 			cla & *clr
@@ -1826,7 +1832,12 @@ if $ARGS[0] = 'plan_b':
 end
 
 if $ARGS[0] = 'plan_b2':
-	if sex_ev['ma_pill'] = 1:
+	if sex_ev['boy_asleep'] = 1:
+		act'Continue':
+			gs 'medical_din', 'morning_after_pill_function'
+			gs'sex_ev_after', 'after_sex2'
+		end
+	elseif sex_ev['ma_pill'] = 1:
 		gs'sex_ev_after', 'plan_b3'
 	else
 		act'Don''t say anything':
@@ -1933,7 +1944,11 @@ if $ARGS[0] = 'birth_control_pill_take':
 					'Right, you need to take your birth control pill for the day.'
 				end
 			end
-			gs 'sex_ev_after', 'birth_control_pill_take2'
+			if sex_ev['boy_asleep'] = 1:
+				iif(cum_loc['vagina'] > 0, 'With <<$npc_firstname[$boy]>> snoring softly beside you and his cum leaking from your snatch, you dig into your purse and pull out your birth control, gulping the pill with a dry swallow.', 'With <<$npc_firstname[$boy]>> snoring softly beside you, you dig into your purse and pull out your birth control, gulping the pill with a dry swallow.')
+			else
+				gs 'sex_ev_after', 'birth_control_pill_take2'
+			end
 		end
 	end
 end
@@ -2142,9 +2157,9 @@ if $ARGS[0] = 'smoke_ciga_act':
 		else
 			'<center><img <<$set_imgh>> src="images/shared/sex/after/bed_smoke1.jpg"></center>'
 			if sex_ev['cigarette'] = 1:
-				'Smoke fills your lungs and you hold it there, savouring it, before exhaling slowly. The smoke trails hazily around the room as you enjoy another cigarette.'
+				'Smoke fills your lungs and you hold it there, savouring it, before exhaling slowly. The smoke trails hazily around the room as you enjoy another cigarette' + iif(sex_ev['boy_asleep'] = 0, '.', ' while <<$npc_firstname[$boy]>> snores softly beside you.')
 			else
-				'Smoke fills your lungs and you hold it there, savouring it, before exhaling slowly. As the smoke blows past your lips, it''s like all your stress goes with it and you sigh happily, relaxing into the bed.'
+				'Smoke fills your lungs and you hold it there, savouring it, before exhaling slowly. As the smoke blows past your lips, it''s like all your stress goes with it and you sigh happily, relaxing into the bed' + iif(sex_ev['boy_asleep'] = 0, '.', ' while <<$npc_firstname[$boy]>> snores softly beside you.')
 			end
 			gs'sex_ev_after', 'after_sex2'
 		end
@@ -2342,7 +2357,29 @@ if $ARGS[0] = 'cuddle_up':
 				'"What are you doing?" you ask stiffly.'
 				'"Just getting close," he murmurs, pressing his body up against yours.'
 				*nl
-				'Uncomfortably, you turn away, stiffling deep sighs of exasperation and try to fall asleep. <<$npc_firstname[$boy]>> pressing into your back with his flaccid member right between your ass cheeks make it a challenge, but <i>eventually</i> you manage to drift off into sleep.'
+				'Uncomfortably, you turn away, stifling deep sighs of exasperation and try to fall asleep. <<$npc_firstname[$boy]>> pressing into your back with his flaccid member right between your ass cheeks make it a challenge, but <i>eventually</i> you manage to drift off into sleep.'
+				act'. . .':gt'sex_ev_after', 'sleep_function'
+			end
+		end
+	end
+end
+
+if $ARGS[0] = 'cuddle_up2':
+	if sex_ev['boy_asleep'] = 1 and $sex_ev['loc'] ! 'house_party':
+		act'Sleep with <<$npc_firstname[$boy]>>':
+			cla
+			act'Nevermind':gt'sex_ev_after', 'after_sex2_w_picture'
+			act'Cuddle up':
+				cla & *clr
+				'<center><img <<$set_imgh>> src="images/shared/sex/after/cuddle1.jpg"></center>'
+				'With your eyelids growing heavy, you snuggle up with <<$npc_firstname[$boy]>>, sharing in his warmth and close your eyes. Moments later, sleep takes you.'
+				act'. . .':gt'sex_ev_after', 'sleep_function'
+			end
+			
+			act'Get under the covers':
+				cla & *clr
+				$sex_ev['bed_room']
+				'With your eyelids growing heavy, you decide to get under the covers, snuggling into their warmth and close your eyes. Moments later, sleep takes you.'
 				act'. . .':gt'sex_ev_after', 'sleep_function'
 			end
 		end

+ 283 - 26
locations/sex_ev_events.qsrc

@@ -1,6 +1,241 @@
 # sex_ev_events
 !! for special events
 
+if $ARGS[0] = 'sex_film_code':
+	if sex_ev['phone_film'] = 0 and npc_sex_filmer[$boy] = 1 and rand(1,20) < npc_sexdrive[$boy]: gt 'sex_ev_events', 'sex_film1'
+end
+
+if $ARGS[0] = 'sex_film1':
+	sex_ev['phone_film'] = 1
+	cla & *clr
+	'<center><video autoplay loop src="images/shared/sex/vag/miss/hard5.mp4"></video></center>'
+	'You''re panting in time with <<$npc_firstname[$boy]>>''s thrusts on top of you when you suddenly become aware of a glow coming from above you. <<$npc_firstname[$boy]>> has his phone out. And it''s pointed directly at you.'
+	gs 'sex_ev_events', 'sex_film_protest'
+	gs 'sex_ev_events', 'sex_film_accept'
+end
+
+if $ARGS[0] = 'sex_film_protest':
+	act'Cover your face':
+		cla
+		$sex_video[$boy] = '<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+		act'Shy':
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+			'"Hngh~! Ungh~! <<$npc_firstname[$boy]>>, nooo~!" you protest weakly. A flush of total embarrassment burns through your cheeks and you hold your hand up in a futile attempt to block the view of your quickly reddening face.'
+			if npc_arrogant[$boy] > 0 or npc_assertive[$boy] > 0 or npc_abusive[$boy] > 0:
+				'"Smile for the camera," <<$npc_firstname[$boy]>> grins, still fucking you as he holds the camera right up to you.'
+			else
+				'"Fuck, you look so hot," <<$npc_firstname[$boy]>> grins, still fucking you as he holds the camera right up to you.'
+			end
+			
+			act'Let him film you (reluctant)':
+				sex_ev['phone_film'] = 2
+				$sex_video_dialogue[$boy] = 'Hngh~! Ungh~! <<$npc_firstname[$boy]>>, nooo~!'
+				cla & *clr
+				'<center><video autoplay loop src="images/shared/sex/vag/miss/hard2.mp4"></video></center>'
+				'With great reluctance, you silence your protests and let <<$npc_firstname[$boy]>> film you getting fucked by him. Though you still can''t stop yourself from shamefully (and ineffectively) trying to cover your face.'
+				*nl
+				'You can''t help but breathe a sigh of relief when he finally puts the phone away. But only after getting a decently long video...'
+				gs 'sex_ev_cum', 'fuck_cum'
+			end
+			
+			act'Keep protesting':
+				$sex_video_dialogue[$boy] = 'Please~! Mmph~! I don''t want to be filmed~!'
+				if npc_caretaker[$boy] > 0:
+					cla & *clr
+					'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
+					'"Please~! Mmph~! I don''t want to be filmed~!" you whine as cold panic fills your chest.'
+					'The look on <<$npc_firstname[$boy]>>''s face changes with your continued protests and he blinks, as if only just now aware of what he''s doing.'
+					'"Oh. Er... sorry," he mumbles. You sigh in relief as he pauses fucking you to put away the phone.'
+					'"You''ll delete it later, right?" you ask.'
+					'"I will," he promises with a smile.'
+					!! if npc_abusive[$boy] > 0: he doesn''t delete it
+				else
+					sex_ev['phone_film'] = 2
+					cla & *nl
+					'"Please~! Mmph~! I don''t want to be filmed~!" you whimper again, feeling cold panic fill your chest.'
+					'"Come on, don''t be like that," <<$npc_firstname[$boy]>> says, ignoring your pleas. "This is great. You look so sexy."'
+					*nl
+					'Your weak protests do nothing to sway him and he takes a decently long video of you getting railed before he finally puts the phone away.'
+				end
+				gs 'sex_ev_cum', 'fuck_cum'
+			end
+			
+			gs 'sex_ev_events', 'sex_film_force_stop'
+		end
+		
+		act'Annoyed':
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+			'"Ungh~! Hmph~! Hey! What do you think you''re doing?" you grunt as he pushes the camera towards your face and you immediately try to cover up with your hand.'
+			'"Don''t worry, you look great," <<$npc_firstname[$boy]>> grins, still fucking you as he films.'
+			act'Let him film you (reluctant)':
+				$sex_video_dialogue[$boy] = 'Ungh~! Hmph~! Hey! What do you think you''re doing?'
+				sex_ev['phone_film'] = 2
+				cla & *clr
+				'<center><video autoplay loop src="images/shared/sex/vag/miss/hard2.mp4"></video></center>'
+				'With great reluctance, you silence your protests and let <<$npc_firstname[$boy]>> film you getting fucked by him. Though you still can''t stop yourself from shamefully (and ineffectively) trying to cover your face.'
+				*nl
+				'You can''t help but breathe a sigh of relief when he finally puts the phone away. But only after getting a decently long video...'
+				gs 'sex_ev_cum', 'fuck_cum'
+			end
+			
+			act'Keep protesting':
+				if npc_caretaker[$boy] > 0:
+					$sex_video_dialogue[$boy] = 'Seriously~! Nngh~! Stop it~!'
+					cla & *clr
+					'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
+					'"Seriously~! Nngh~! Stop it~!" you complain loudly, feeling hot with self consciousness and annoyance.'
+					'The look on <<$npc_firstname[$boy]>>''s face changes with your continued protests and he blinks, as if only just now aware of what he''s doing.'
+					'"Oh. Er... sorry," he mumbles. You sigh in relief as he pauses fucking you to put away the phone.'
+					'"Make sure to delete it later," you tell him sternly.'
+					'"I will," he promises with a smile.'
+					!! if npc_abusive[$boy] > 0: he doesn''t delete it
+				else
+					sex_ev['phone_film'] = 2
+					cla & *nl
+					'"Seriously~! Nngh~! Stop it~!" you keep protesting, face hot with self consciousness and annoyance.'
+					if npc_arrogant[$boy] > 0 or npc_assertive[$boy] > 0 or npc_abusive[$boy] > 0:
+						'"You''re so hot when you''re mad," <<$npc_firstname[$boy]>> says, grin growing wider while ignoring your pleas.'
+					else
+						'"Come on, don''t be that way," <<$npc_firstname[$boy]>> says, ignoring your pleas. "This is great. You look so sexy."'
+					end
+					*nl
+					'Your irritation with <<$npc_firstname[$boy]>> do nothing to sway him and he takes a decently long video of you getting railed before he finally puts the phone away.'
+				end
+				gs 'sex_ev_cum', 'fuck_cum'
+			end
+			gs 'sex_ev_events', 'sex_film_force_stop'
+		end
+		
+		act'Angry':
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/sex/vag/miss/hard3.mp4"></video></center>'
+			'"Ungh~! Hmph~! What the fuck!" you scream as you realize what he''s doing and immediately try to cover up with your hand.'
+			'"Don''t worry, you look great," <<$npc_firstname[$boy]>> grins, still fucking you as he films.'
+			act'Let him film you (reluctant)':
+				sex_ev['phone_film'] = 2
+				$sex_video_dialogue[$boy] = 'Ungh~! Hmph~! What the fuck!'
+				cla & *clr
+				'<center><video autoplay loop src="images/shared/sex/vag/miss/hard2.mp4"></video></center>'
+				'You let <<$npc_firstname[$boy]>> film you getting fucked by him, fuming in silence, occasionally turning to cover your face just to spite him.'
+				*nl
+				'You can''t help but breathe a sigh of relief when he finally puts the phone away. But only after getting a decently long video...'
+				gs 'sex_ev_cum', 'fuck_cum'
+			end
+			
+			act'Keep protesting':
+				if npc_caretaker[$boy] > 0:
+					$sex_video_dialogue[$boy] = 'Fuck off~! Put that thing away~!'
+					cla & *clr
+					'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss/3.jpg"></center>'
+					'"Fuck off~! Put that thing away~!" you shout, steaming hot with anger.'
+					'The look on <<$npc_firstname[$boy]>>''s face changes with your continued protests and he blinks, as if only just now aware of what he''s doing.'
+					'"Oh. Er... sorry," he mumbles. You sigh in relief as he pauses fucking you to put away the phone.'
+					'"Make sure to delete it later," you tell him sternly.'
+					'"I will," he promises with a smile.'
+					!! if npc_abusive[$boy] > 0: he doesn''t delete it
+				else
+					sex_ev['phone_film'] = 2
+					cla & *nl
+					'"Fuck off~! Put that thing away~!" you shout, steaming hot with anger.'
+					if npc_arrogant[$boy] > 0 or npc_assertive[$boy] > 0 or npc_abusive[$boy] > 0:
+						'"You''re so hot when you''re mad," <<$npc_firstname[$boy]>> says, grin growing wider while ignoring your pleas.'
+					else
+						'"Come on, don''t be that way," <<$npc_firstname[$boy]>> says, ignoring your pleas. "This is great. You look so sexy."'
+					end
+					*nl
+					'He takes a decently long video of you getting railed, screaming in rage the whole time, before he finally puts the phone away.'
+				end
+				gs 'sex_ev_cum', 'fuck_cum'
+			end
+			gs 'sex_ev_events', 'sex_film_force_stop'
+		end
+	end
+end
+
+if $ARGS[0] = 'sex_film_force_stop':
+	gs 'willpower', 'misc', 'force'
+	if will_cost <= pcs_willpwr:
+		act 'Make him put the phone away (<<will_cost>> Willpower)':
+			sex_ev['phone_film'] = -1
+			cla & *clr
+			gs 'willpower', 'pay', 'self'
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/shared/sex/vag/miss1.jpg"></center>'
+			'"Seriously, knock it off!" you snap, practically slapping the phone out of his hand as you grab it. You stop the recording and immediately hit the gallery button to delete the video. "Asshole..." you mutter as you toss the phone far away from the bed as well, all without removing <<$npc_firstname[$boy]>> from inside you.'
+			act'"Way to kill the mood"':
+				cla & *clr
+				$sex_ev['bed_room']
+				sex_ev['cock_inserted'] = 0
+				'"Way to kill the mood, asshole," you scowl at <<$npc_firstname[$boy]>> as you push him off and out of you. "I''m done here."'
+				gs'sex_ev_after', 'quit2'
+			end
+			
+			act'Keep going':
+				cla & *clr
+				'<center><img <<$set_imgh>> src="images/shared/sex/vag/4.jpg"></center>'
+				'"Finally," you sigh in relief. "Don''t do that again. Now get back to fucking me already."'
+				gs'sex_ev_sex', 'fuck_continue'
+			end
+		end
+	else
+		act 'Make him put the phone away (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+	end
+end
+
+if $ARGS[0] = 'sex_film_accept':
+	act'Let him film':
+		sex_ev['phone_film'] = 2
+		$sex_video[$boy] = '<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
+		!!if pcs_traits['exhibitionism'] > 0:
+		if Exhibitionist_lvl > 0: gs 'arousal', 'vaginal', -5, 'no_orgasm_msg', 'exhibitionism'
+		cla
+		act'Blush':
+			$sex_video_dialogue[$boy] = 'Mmph~! Mmph~! Mmm~! Nnn~!'
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
+			'Your cheeks flush with warmth as you realize what <<$npc_firstname[$boy]>>''s doing and turn your face in embarrassment but don''t make any complaints.'
+			'"Mmph~! Mmph~! Mmm~! Nnn~!" Each pump of his cock inside you forces sheepish squeaks from your lips as you get caught between self-consciousness and pleasure. <<$npc_firstname[$boy]>> grins the whole time.'
+			*nl
+			'After a few minutes of filming, he puts his phone away.'
+			gs 'sex_ev_sex', 'fuck_continue'
+		end
+		
+		act'Ignore the camera':
+			$sex_video_dialogue[$boy] = 'Hah~! Haa~! Ah~! Haa~!'
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
+			'"Hah~! Haa~! Ah~! Haa~!" You ignore the camera completely, focusing on <<$npc_firstname[$boy]>>''s cock pumping inside you and just try to stay the moment, letting moans escape your lips as they come. If he wants to film it, he can do what he wants.'
+			*nl
+			'After a few minutes of filming, he puts his phone away.'
+			gs 'sex_ev_sex', 'fuck_continue'
+		end
+		
+		act'Put on a show':
+			$sex_video_dialogue[$boy] = 'Aaah~! I''m so wet~! Ungh~! Your cock is so good inside me~!'
+			cla & *clr
+			'<center><video autoplay loop src="images/shared/sex/vag/miss/enjoy1.mp4"></video></center>'
+			'"Aaah~! I''m so wet~! Ungh~! Your cock is so good inside me~!"'
+			if sex_ev['fuck_enjoyment'] = 1:
+				'Unable to resist putting on a show, you turn up the volume on your moaning and dirty talk. You shake your tits and arch your back, putting extra emphasis on your pleasure.'
+			else
+				'Unable to resist putting on a show, you turn on the moaning and the dirty talk. You shake your tits and arch your back with pleasure you aren''t really feeling.'
+			end
+			'For his part, <<$npc_firstname[$boy]>> seems extra excited by this and makes sure to capture every moment of it, sending the lens up and down your body from where he fucks your pussy back up to your flushed face.'
+			*nl
+			'After a few minutes of filming, he puts his phone away.'
+			gs 'sex_ev_sex', 'fuck_continue'
+		end
+		
+		!!{if sex_ev['prostituion_flag'] > 0:
+			act'This costs extra':
+				
+			end
+		end}
+	end
+end
+
 if $ARGS[0] = 'offer_ciga1':
 	*nl
 	'"You want one?" he asks, holding the open packet towards you.'
@@ -92,6 +327,16 @@ if $ARGS[0] = 'sneak_phone':
 	msg'Placeholder - Event is WIP'
 end
 
+if $ARGS[0] = 'rummage_drawers_link':
+	if sex_ev['drawer_rummage'] = 0 and $sex_ev['loc'] ! 'pc_home' and $sex_ev['loc'] ! 'house_party':
+		if  $sex_ev['loc'] = 'hotel_room':
+			'<<$npc_firstname[$boy]>>''s <a href="exec:gs ''sex_ev_events'',''sneak_phone''">phone</a> lays on top of the hotel room <a href="exec:gs ''sex_ev_events'',''rummage_drawers_start''">dresser</a> unattended.'
+		else
+			'<<$npc_firstname[$boy]>>''s <a href="exec:gs ''sex_ev_events'',''sneak_phone''">phone</a> lays on top of his <a href="exec:gs ''sex_ev_events'',''rummage_drawers_start''">dresser</a> unattended.'
+		end
+	end
+end
+
 if $ARGS[0] = 'rummage_drawers_start':
 	cla
 	act'Go back':gs 'sex_ev_after', 'after_sex2_w_picture'
@@ -122,47 +367,59 @@ if $ARGS[0] = 'rummage_drawers1':
 			cla & *clr
 			$sex_ev['bed_room']
 			sex_ev['stole_money'] = 1
-			if rand(1,2) = 1:
-				if $sex_ev['loc'] = 'hotel_room' or npc_apt_type[$boy] = 2 or npc_apt_type[$boy] = 3:
-					'You take a wary glance at the bathroom door. Right as you do, you hear the water shut off. Realizing there''s only seconds, you take your chance and grab the cash out of the drawer and running back to your things to stuff it into your bag.'
-				else
-					'You take a wary glance at the door. Seems like <<$npc_firstname[$boy]>> is still showering so it should be safe. But right as you pick up the cash, you hear footsteps in the hall. Panic shoots through you as you run back to stuff it into your bag.'
-				end
-				act'Hide the money!':gs'sex_ev_events', 'rummage_drawers_end_route'
+			if sex_ev['boy_in_shower'] = 1:
+				gs'sex_ev_events', 'rummage_drawers_shower_route'
 			else
-				if $sex_ev['loc'] = 'hotel_room' or npc_apt_type[$boy] = 2 or npc_apt_type[$boy] = 3:
-					'You take a wary glance at the bathroom door. The water''s still running. It doesn''t seem like he''s going to come out any time soon. You decide to take your chance and grab the cash, closing the drawer and stuffing it into your purse.'
-				else
-					'You take a wary glance at the door. You don''t hear <<$npc_firstname[$boy]>> coming so you decide to take your chance and grab the cash, closing the drawer and stuffing it into your purse.'
-				end
-				act'Wait for <<$npc_firstname[$boy]>> to finish':
-					cla & *clr
-					$sex_ev['bed_room']
-					if $sex_ev['loc'] = 'hotel_room' or npc_apt_type[$boy] = 2 or npc_apt_type[$boy] = 3:
-						'After hiding the money, you sit back on the bed and act natural. It''s only a couple minutes before you hear the water shut off and <<$npc_firstname[$boy]>> comes out with wet hair and a towel wrapped around his waist.'
-					else
-						'After hiding the money, you sit back on the bed and act natural. It''s only a couple minutes before <<$npc_firstname[$boy]>> comes strolling back into the bedroom with wet hair and a towel wrapped around his waist.'
-					end
-					gs'sex_ev_shower', 'boy_shower_finish_acts'
-				end
-				act'Join him in the shower':gt'sex_ev_shower', 'shower_join1'
+				gs'sex_ev_events', 'rummage_drawers_sleeping_route'
 			end
 		end
 	end
 end
 
+if $ARGS[0] = 'rummage_drawers_sleeping_route':
+	'You take another cautious glance at <<$npc_firstname[$boy]>> but he is still slumbering away. You decide to take your chance and grab the money, carefully close the drawer with minimal noise, and quietly stuff your stolen goods into your purse.'
+	act'Continue':gs'sex_ev_events', 'rummage_drawers_end_route'
+end
+
+if $ARGS[0] = 'rummage_drawers_shower_route':
+	if rand(1,2) = 1:
+		if $sex_ev['loc'] = 'hotel_room' or npc_apt_type[$boy] = 2 or npc_apt_type[$boy] = 3:
+			'You take a wary glance at the bathroom door. Right as you do, you hear the water shut off. Realizing there''s only seconds, you take your chance and grab the cash out of the drawer and running back to your things to stuff it into your bag.'
+		else
+			'You take a wary glance at the door. Seems like <<$npc_firstname[$boy]>> is still showering so it should be safe. But right as you pick up the cash, you hear footsteps in the hall. Panic shoots through you as you run back to stuff it into your bag.'
+		end
+		act'Hide the money!':gs'sex_ev_events', 'rummage_drawers_end_route'
+	else
+		if $sex_ev['loc'] = 'hotel_room' or npc_apt_type[$boy] = 2 or npc_apt_type[$boy] = 3:
+			'You take a wary glance at the bathroom door. The water''s still running. It doesn''t seem like he''s going to come out any time soon. You decide to take your chance and grab the cash, closing the drawer and stuffing it into your purse.'
+		else
+			'You take a wary glance at the door. You don''t hear <<$npc_firstname[$boy]>> coming so you decide to take your chance and grab the cash, closing the drawer and stuffing it into your purse.'
+		end
+		act'Wait for <<$npc_firstname[$boy]>> to finish':
+			cla & *clr
+			$sex_ev['bed_room']
+			if $sex_ev['loc'] = 'hotel_room' or npc_apt_type[$boy] = 2 or npc_apt_type[$boy] = 3:
+				'After hiding the money, you sit back on the bed and act natural. It''s only a couple minutes before you hear the water shut off and <<$npc_firstname[$boy]>> comes out with wet hair and a towel wrapped around his waist.'
+			else
+				'After hiding the money, you sit back on the bed and act natural. It''s only a couple minutes before <<$npc_firstname[$boy]>> comes strolling back into the bedroom with wet hair and a towel wrapped around his waist.'
+			end
+			gs'sex_ev_shower', 'boy_shower_finish_acts'
+		end
+		act'Join him in the shower':gt'sex_ev_shower', 'shower_join1'
+	end
+end
+
 if $ARGS[0] = 'rummage_drawers_end_route':
-	cla & *clr
 	if sex_ev['boy_in_shower'] = 1:
 		gs'sex_ev_events', 'rummage_drawers_shower_end'
 	else
-	
+		gs'sex_ev_after', 'after_sex2_w_picture'
 	end
 end
 
 if $ARGS[0] = 'rummage_drawers_shower_end':
+	cla & *clr
 	$sex_ev['bed_room']
-	
 	!! if rand(1,3) = 1: he catches you
 	if sex_ev['stole_money'] = 1:
 		money += sex_ev['boy_money'] * 100

+ 6 - 1
locations/sex_ev_leave.qsrc

@@ -792,10 +792,15 @@ if $ARGS[0] = 'prostitution_wakeup1':
 				$sex_ev['bed_room']
 				'Gently, you shake <<$npc_firstname[$boy]>>''s shoulder until he starts awake.'
 				'"Huh-?" He looks around, blinking in confusion.'
-				iif($npc_rel_type[$boy] = 'sugar_daddy', '"Hey," you smile softly. "I had a great time last night but I really need to get going. Can your baby girl get her sugar?"', '"Hey," you smile softly. "I had a great time last night but I really need to get going. Can I uhm... get the money for it...?"')
+				if sex_ev['sleepover'] = 1:
+					iif($npc_rel_type[$boy] = 'sugar_daddy', '"Hey," you smile softly. "I had a great time last night but I really need to get going. Can your baby girl get her sugar?"', '"Hey," you smile softly. "I had a great time last night but I really need to get going. Can I uhm... get the money for it...?"')
+				else
+					iif($npc_rel_type[$boy] = 'sugar_daddy', '"Hey," you smile softly. "I had a great time but I really need to get going. Can your baby girl get her sugar?"', '"Hey," you smile softly. "I had a great time but I really need to get going. Can I uhm... get the money for it...?"')
+				end
 				'"Oh. Yeah," he mumbles, sitting up slowly. "Just lemme..."'
 				*nl
 				'Very slowly, he pulls out some notes from his wallet, needing to recount several times before getting the right amount of <<npc_sugar_daddy_price[$boy]>><b>₽‎</b>.'
+				gs'sex_ev_leave', 'prostitution_wakeup2'
 			end
 			
 			act'Be transactional':

+ 3 - 2
locations/sex_ev_miss.qsrc

@@ -585,9 +585,9 @@ if $ARGS[0] = 'miss1.2':
 	$sex_ev['position'] = 'miss'
 	$sex_ev['pos_speed'] = 'miss1'
 	sex_ev['speed'] = 1
-	
 	sex_ev['kiss'] = 0
 	gs 'sex_ev_sex', 'fuck_arousal_code'
+	gs 'sex_ev_events', 'sex_film_code'
 	cla & *clr
 	'<center><video autoplay loop src="images/shared/sex/vag/miss/slow2.mp4"></video></center>'
 	if sex_ev['fuck_enjoyment'] = -1:
@@ -840,6 +840,7 @@ if $ARGS[0] = 'miss2.2':
 	sex_ev['speed'] = 2
 	sex_ev['kiss'] = 0
 	gs 'sex_ev_sex', 'fuck_arousal_code'
+	gs 'sex_ev_events', 'sex_film_code'
 	cla & *clr
 	'<center><video autoplay loop src="images/shared/sex/vag/miss/med<<rand(1,3)>>.mp4"></video></center>'
 	if sex_ev['fuck_enjoyment'] = -1:
@@ -1146,7 +1147,7 @@ if $ARGS[0] = 'miss3.2':
 	$sex_ev['pos_speed'] = 'miss3'
 	sex_ev['speed'] = 3
 	sex_ev['kiss'] = 0
-	
+	gs 'sex_ev_events', 'sex_film_code'
 	cla & *clr
 	'<center><video autoplay loop src="images/shared/sex/vag/miss/hard<<rand(1,3)>>.mp4"></video></center>'
 	if sex_ev['fuck_enjoyment'] = -1:

+ 2 - 2
locations/sex_ev_pillow_talk.qsrc

@@ -1686,14 +1686,14 @@ if $ARGS[0] = 'ruined_makeup':
 				'"Holy shit!" you exclaim. "You fucked me so hard you ruined my makeup!"'
 				'"You could always go out like that," he snickers.'
 				'"So <i>everyone</i> can see how hard you fucked me?" you giggle.'
-				gs 'sex_ev_sex', 'sex_end'
+				gs'sex_ev_pillow_talk', 'topic_route'
 			end
 			
 			act'Annoyed':
 				cla & *nl
 				'"Ugh, did you have to ruin my makeup?" you complain. "It took me forever to get it just right!"'
 				'"You could always go out like that," he snickers.'
-				gs 'sex_ev_sex', 'sex_end'
+				gs'sex_ev_pillow_talk', 'topic_route'
 			end
 		end
 	end

+ 1 - 1
locations/sex_ev_shower.qsrc

@@ -127,7 +127,7 @@ if $ARGS[0] = 'after_alone':
 	act'Rub one out':
 		cla & *clr
 		'<center><video autoplay loop src="images/shared/sex/shower/mast1.mp4"></video></center>'
-		if hypnoHardToCum = 0:
+		if hypnoHardToCum = 1:
 			gs 'arousal', 'clit_finger', 10, 'no_orgasm_msg', 'masturbate'
 			'You try as hard as you can to get an orgasm, but you just can''t. Finally, you shut off the water in frustration and step out, annoyed and dripping.'
 		else

+ 2 - 2
locations/sex_ev_start.qsrc

@@ -548,9 +548,9 @@ if $ARGS[0] = 'fb_uninvited_start':
 		end
 		
 		if rand(1,10) < npc_sexdrive[$boy]:
-			if npc_humor[$boy] = 2 and npc_cum_pref[$boy] = 'creampie':
+			if npc_humor[$boy] = 2 and $npc_cum_pref[$boy] = 'creampie':
 				'"I''m the only one who''s gonna be coming inside," he says, leering at your ass as he steps aside to let you in.'
-			elseif npc_humor[$boy] = 2 and npc_cum_pref[$boy] = 'mouth':
+			elseif npc_humor[$boy] = 2 and $npc_cum_pref[$boy] = 'mouth':
 				'"I''m the only one who''s gonna be coming inside," he says, leering at your ass as he steps aside to let you in. "In your mouth that is."'
 			elseif npc_booty_call_date[$boy] = daystart:
 				'"As long as those clothes are coming off in the next 10 seconds," he says, leering at your ass as he steps aside to let you in.'

+ 5 - 0
locations/sex_ev_stats.qsrc

@@ -138,6 +138,11 @@ if $ARGS[0] = 'save_stats':
 	end
 	
 	if sex_ev['prostitution_freebie'] = 1: stat['prostitution_freebies'] += 1
+	
+	if sex_ev['phone_film'] = 2 or (sex_ev['phone_film'] = 1 and npc_abusive[$boy] > 0):
+		npc_sex_video_count[$boy] += 1
+		!!npc_sex_video<<npc_sex_video_count[$boy]>> = 1
+	end
 end
 
 

+ 1 - 1
locations/sex_ev_work_talk1.qsrc

@@ -294,7 +294,7 @@ if $ARGS[0] = 'whats_your_job':
 			elseif $sex_ev['loc'] = 'pc_home':
 				'"I work for one of the big banks here in the city," <<$npc_firstname[$boy]>> says.'
 				'"And you come over to my place instead of inviting me over to yours?" you smirk. "So if I''m looking to start a career in finance I should come to you?"'
-			elseif $sex_ev['loc'] = 'hotel':
+			elseif $sex_ev['loc'] = 'hotel_room':
 				if $region = 'pav':
 					'"I work for one of the big banks in the city," <<$npc_firstname[$boy]>> says.'
 					'"Oh wow. Impressive. Explains this fancy hotel room," you smirk sarcastically at the cheap decor of the motel. "So if I''m looking to start a career in finance I should come to you?"'

+ 3 - 5
locations/shoes.qsrc

@@ -8,9 +8,9 @@ $shoe_list_line = {
 	!! ARGS 1 - shoe type
 	!! ARGS 2 - shoe index
 
-	gs 'themes', 'clothing', 1
+	gs 'themes', 'clothing'
 
-	$RESULT = '<TR bgcolor='+$bgcolor+'>'
+	$RESULT = '<TR bgcolor='+$temp_bcolor+'>'
 
 	if Enable_clothwidth > 0:
 		shoe_temp = Enable_clothwidth - 1
@@ -97,8 +97,6 @@ if $ARGS[0] = 'view_shoe_list':
 	end
 	gs 'shoes', 'filter_header', 'store'
 
-	$bgcolor='#f3f4ee'
-
 	'<center><table border=0 cellspacing=0 cellpadding=5><TH></TH><TH>Shoe</TH><TH>Description</TH><TH>Bimbo</TH><TH>Stripper</TH><TH>Actions</TH>'
 
 	!!To filter just this set
@@ -231,7 +229,7 @@ if $ARGS[0] = 'view_shoe_list':
 	end
 
 	'</table></center>' 
-
+	killvar '$temp_bcolor'
 end
 
 if $ARGS[0] = 'moncheri':

+ 31 - 31
locations/stat_display.qsrc

@@ -475,7 +475,7 @@ $stat_bra_text = ''
 if $clothingworntype ! 'nude':
 	if PCloThinness = 6 and $braworntype ! 'none':
 		$stat_bra_msg = 'Your bra is clearly showing through your transparent top.'
-		$stat_bra_text = '<BR><font color = #FF00FF><<$stat_bra_msg>></font>'
+		$stat_bra_text = '<BR><font color = #FF0000><<$stat_bra_msg>></font>'
 	elseif PCloThinness = 5 and $braworntype ! 'none':
 		if PCloDress = 1:
 			$stat_bra_msg = 'The outline of your bra is visible through your dress.'
@@ -529,13 +529,13 @@ if $clothingworntype ! 'nude':
 	end
 	if PCloCoverTop = 4:
 		$stat_bra_msg = 'Your <<$pcdesc_breasts>> breasts are completely exposed.'
-		$stat_bra_text = '<BR><font color = #FF00FF><<$stat_bra_msg>></font>'
+		$stat_bra_text = '<BR><font color = #FF0000><<$stat_bra_msg>></font>'
 	elseif PCloCoverTop = 3:
 		$stat_bra_msg = 'Your <<$pcdesc_breasts>> breasts are clearly visible through your clothing.'
-		$stat_bra_text = '<BR><font color = #FF00FF><<$stat_bra_msg>></font>'
+		$stat_bra_text = '<BR><font color = #FF0000><<$stat_bra_msg>></font>'
 	elseif PCloCoverTop = 2:
 		$stat_bra_msg = 'Your <<$pcdesc_breasts>> breasts are visible through your clothing.'
-		$stat_bra_text = '<BR><font color = #FF00FF><<$stat_bra_msg>></font>'
+		$stat_bra_text = '<BR><font color = #FF0000><<$stat_bra_msg>></font>'
 	elseif PCloCoverTop = 1:
 		$stat_bra_msg = 'Your <<$pcdesc_breasts>> breasts are barely visible through your clothing.'
 		$stat_bra_text = '<BR><font color = #0064FF><<$stat_bra_msg>></font>'
@@ -550,24 +550,24 @@ if $clothingworntype ! 'nude':
 		if $pantyworntype ! 'none':
 			if PCloSkirt = 6:
 				$stat_panty_msg = 'Your dress is so short that your panties clearly visible.'
-				$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+				$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 			elseif PCloSkirt = 5:
 				if PCloDress = 1:
 					$stat_panty_msg = 'Your dress is short and transparent so anyone can see your panties.'
-					$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+					$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 				else
 					$stat_panty_msg = 'Your skirt is short and transparent so anyone can see your panties.'
-					$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+					$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 				end
 			elseif PCloDress = 1:
 				$stat_panty_msg = 'Your panties are clearly showing through your transparent dress.'
-				$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+				$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 			elseif PCloSkirt > 0:
 				$stat_panty_msg = 'Your panties are clearly showing through your transparent skirt.'
-				$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+				$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 			else
 				$stat_panty_msg = 'Your panties are clearly showing through your transparent pants.'
-				$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+				$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 			end
 		end
 	elseif PCloThinness = 5:
@@ -575,18 +575,18 @@ if $clothingworntype ! 'nude':
 			if PCloSkirt = 6:
 				if PCloDress = 1:
 					$stat_panty_msg = 'Your dress is so short that your panties clearly visible.'
-					$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+					$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 				else
 					$stat_panty_msg = 'Your skirt is so short that your panties clearly visible.'
-					$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+					$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 				end
 			elseif PCloSkirt = 5:
 				if PCloDress = 1:
 					$stat_panty_msg = 'The outline of your panties can be seen and often exposed by your short dress.'
-					$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+					$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 				else
 					$stat_panty_msg = 'The outline of your panties can be seen and often exposed by your short skirt.'
-					$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+					$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 				end
 			elseif PCloDress = 1:
 				$stat_panty_msg = 'The outline of your panties is visible through your dress.'
@@ -597,7 +597,7 @@ if $clothingworntype ! 'nude':
 			else
 				if PCloPants = 6:
 					$stat_panty_msg = 'Your short shorts expose your panties and are so thin the outline of the rest of your panties can be seen.'
-					$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+					$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 				else
 					$stat_panty_msg = 'The outline of your panties is visible through your pants.'
 					$stat_panty_text = '<BR><font color = #0064FF><<$stat_panty_msg>></font>'
@@ -606,16 +606,16 @@ if $clothingworntype ! 'nude':
 		end
 	elseif PCloSkirt = 6:
 		$stat_panty_msg = 'Your dress is so short that your panties clearly visible.'
-		$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+		$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 	elseif PCloSkirt = 5:
 		$stat_panty_msg = 'Your dress is short and your panties can often be seen.'
-		$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+		$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 	elseif PCloSkirt = 4:
 		$stat_panty_msg = 'Your dress is short enough that and your panties can be seen when you bend over.'
 		$stat_panty_text = '<BR><font color = #0064FF><<$stat_panty_msg>></font>'
 	elseif PCloPants = 6:
 		$stat_panty_msg = 'Your short shorts expose your panties.'
-		$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+		$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 	end
 
 	if PCloPanties = 1:
@@ -624,7 +624,7 @@ if $clothingworntype ! 'nude':
 	elseif $pantyworntype = 'none':
 		if pcs_inhib < 30:
 			$stat_panty_msg = 'You are not wearing panties.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif pcs_inhib < 70:
 			$stat_panty_msg = 'You are not wearing panties.'
 			$stat_panty_text = '<BR><font color = #0064FF><<$stat_panty_msg>></font>'
@@ -637,13 +637,13 @@ if $clothingworntype ! 'nude':
 	if PCloCoverBack = 4:
 		if PCloCoverFront = 4:
 			$stat_panty_msg = 'Your pussy and butt are completely exposed.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 3:
 			$stat_panty_msg = 'Your pussy is clearly visible and your butt completely exposed through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 2:
 			$stat_panty_msg = 'Your pussy is visible and your butt completely exposed through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 1:
 			$stat_panty_msg = 'Your pussy is barely visible and your butt completely exposed through your clothing.'
 			$stat_panty_text = '<BR><font color = #0064FF><<$stat_panty_msg>></font>'
@@ -651,13 +651,13 @@ if $clothingworntype ! 'nude':
 	elseif PCloCoverBack = 3:
 		if PCloCoverFront = 4:
 			$stat_panty_msg = 'Your butt is clearly visible and your pussy completely exposed.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 3:
 			$stat_panty_msg = 'Your pussy and your butt are clearly visible through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 2:
 			$stat_panty_msg = 'Your pussy is visible and your butt clearly visible through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 1:
 			$stat_panty_msg = 'Your pussy is barely visible and your butt clearly visible through your clothing.'
 			$stat_panty_text = '<BR><font color = #0064FF><<$stat_panty_msg>></font>'
@@ -665,13 +665,13 @@ if $clothingworntype ! 'nude':
 	elseif PCloCoverBack = 2:
 		if PCloCoverFront = 4:
 			$stat_panty_msg = 'Your butt is visible and your pussy completely exposed.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 3:
 			$stat_panty_msg = 'Your pussy is clearly visible and your butt visible through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 2:
 			$stat_panty_msg = 'Your pussy and butt are visible through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 1:
 			$stat_panty_msg = 'Your pussy is barely visible and your butt visible through your clothing.'
 			$stat_panty_text = '<BR><font color = #0064FF><<$stat_panty_msg>></font>'
@@ -679,13 +679,13 @@ if $clothingworntype ! 'nude':
 	elseif PCloCoverBack = 1:
 		if PCloCoverFront = 4:
 			$stat_panty_msg = 'Your butt is barely visible and your pussy completely exposed.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 3:
 			$stat_panty_msg = 'Your pussy is clearly visible and your butt barely visible through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 2:
 			$stat_panty_msg = 'Your pussy is visible and your butt barely visible through your clothing.'
-			$stat_panty_text = '<BR><font color = #FF00FF><<$stat_panty_msg>></font>'
+			$stat_panty_text = '<BR><font color = #FF0000><<$stat_panty_msg>></font>'
 		elseif PCloCoverFront = 1:
 			$stat_panty_msg = 'Your pussy and your butt are barely visible through your clothing.'
 			$stat_panty_text = '<BR><font color = #0064FF><<$stat_panty_msg>></font>'

+ 1 - 0
locations/street_walker.qsrc

@@ -89,6 +89,7 @@ if $ARGS[0] = 'work':
 	elseif $loc = 'city_residential':
 		prst_loc = 2
 	end
+	if prostitute['active'] = 0: prostitute['active'] = 1
 	gs 'street_walker', 'start'
 	'You check your reflection in a store window, doing a last minute check of your outfit and makeup before making your way down the sidewalk looking for a customer.'
 	act 'Work the street': gt 'street_walker', 'event1'

+ 1 - 1
locations/stwork.qsrc

@@ -63,7 +63,7 @@ if $ARGS[0] = 'start':
 		stpriv = stripKoef + (pcs_apprnc / 3)
 		! Bonus for poledancing
 		if stprivatechance = 2:
-			stprive += 20
+			stpriv += 20
 		end
 		if stpriv > rand (0, 100):
 		*nl

+ 2 - 2
locations/tatiana_lab.qsrc

@@ -162,8 +162,8 @@ end
 if $ARGS[0] = 'ListBuilder':
 	! Builds a list of Attributes to be able to change
 	!  $ARGS[1] = Name of the attribute
-	!  $ARGS[2] = Mana cost of the change
-	!  $ARGS[3] = Time the change will take
+	!   ARGS[2] = Mana cost of the change
+	!   ARGS[3] = Time the change will take
 	!  $ARGS[4] = Array name of change value display string
 	!  $ARGS[5] = Array name of value to change attribute to, 'i' means, just use array position
 	!  $ARGS[6] = variable name of attribute to change

+ 1 - 1
locations/telefon.qsrc

@@ -1918,7 +1918,7 @@ $telefon['contactsms'] = {
 !! List of SMS messages available to be sent to an NPC
 !! $ARGS[1] = NPC code for the contact we want to display messages for
 if $ARGS[0] = 'npcSendListSms':
-	$telefon['backButton'] = 'gs ''telefon'', ''send_sms'''
+	$telefon['backButton'] = 'gs ''telefon'', ''send_sms'' '
 	$telefon['body'] = '
 	<font size=6>Send SMS</font><br>
 	<img src="images/system/phone/theme/<<$phonetheme_name[pcs_phonetheme]>>/<<iif(telefon[''UnreadSMS'']=0,''icon_sms.png'',''icon_sms_new.gif'')>>" height="80" width="80"><br>'

+ 22 - 51
locations/themes.qsrc

@@ -2,20 +2,29 @@
 
 if $theme['name'] = '': $theme['name'] = 'Dynamic' & gs 'themes', 'set_dynamic'
 
+!! ------------------------------------------------------------------------------
+!! ---------------------------------- Helpers -----------------------------------
+!! ------------------------------------------------------------------------------
+if $ARGS[0] = 'alt_color':
+	$result = iif($ARGS[1] = $theme['table_bg'], $theme['table_bg_alt'], $theme['table_bg'])
+end
+
+if $ARGS[0] = 'clothing':
+	$temp_bcolor = func('themes', 'alt_color', $temp_bcolor)
+end
+
 !! ------------------------------------------------------------------------------
 !! ---------------------------------- Routing -----------------------------------
 !! ------------------------------------------------------------------------------
 if $ARGS[0] = 'outdoors':
 	gs 'themes', 'apply_'+$theme['type'], $ARGS[0]
-end
-
-if $ARGS[0] = 'indoors':
+elseif $ARGS[0] = 'indoors':
 	gs 'themes', 'apply_'+$theme['type'], $ARGS[0]
 	gs 'indoors'
 end
 
 !! ------------------------------------------------------------------------------
-!! ---------------------------------- Helpers -----------------------------------
+!! ----------------------------------- Apply ------------------------------------
 !! ------------------------------------------------------------------------------
 if $ARGS[0] = 'apply_dynamic':
 	if $ARGS[1] = 'indoors':
@@ -88,9 +97,8 @@ if $ARGS[0] = 'apply_dynamic':
 	end
 
 	gs 'themes', 'apply_static'
-end
 
-if $ARGS[0] = 'apply_static':
+elseif $ARGS[0] = 'apply_static':
 	bcolor = theme['bcolor']
 	fcolor = theme['fcolor']
 	lcolor = theme['lcolor']
@@ -101,9 +109,11 @@ if $ARGS[0] = 'apply_static':
 
 	fsize = theme['fsize']
 	$fname = $theme['fname']
-end
 
-if $ARGS[0] = 'reset':
+elseif $ARGS[0] = 'reset':
+	killvar 'theme'
+	killvar '$theme'
+
 	killvar 'bcolor'
 	killvar 'fcolor'
 	killvar 'lcolor'
@@ -118,10 +128,6 @@ if $ARGS[0] = 'reset':
 	theme['is_dark'] = 0
 end
 
-if $ARGS[0] = 'alt_color':
-	$result = iif($ARGS[1] = $theme['table_bg'], $theme['table_bg_alt'], $theme['table_bg'])
-end
-
 !! ------------------------------------------------------------------------------
 !! ----------------------------------- Themes -----------------------------------
 !! ------------------------------------------------------------------------------
@@ -133,9 +139,8 @@ if $ARGS[0] = 'set_dynamic':
 
 	theme['fsize'] = 12
 	$theme['fname'] = 'Tahoma'
-end
 
-if $ARGS[0] = 'set_white':
+elseif $ARGS[0] = 'set_white':
 	$theme['name'] = 'White'
 	$theme['type'] = 'static'
 	theme['is_dark'] = 0
@@ -155,9 +160,8 @@ if $ARGS[0] = 'set_white':
 
 	$theme['table_bg'] = "#FFFFFF"
 	$theme['table_bg_alt'] = "#e6f2ff"
-end
 
-if $ARGS[0] = 'set_black':
+elseif $ARGS[0] = 'set_black':
 	$theme['name'] = 'Black'
 	$theme['type'] = 'static'
 	theme['is_dark'] = 1
@@ -177,9 +181,8 @@ if $ARGS[0] = 'set_black':
 
 	$theme['table_bg'] = "#202020"
 	$theme['table_bg_alt'] = "#303030"
-end
 
-if $ARGS[0] = 'set_gray':
+elseif $ARGS[0] = 'set_gray':
 	$theme['name'] = 'Modern Grey'
 	$theme['type'] = 'static'
 	theme['is_dark'] = 1
@@ -199,9 +202,8 @@ if $ARGS[0] = 'set_gray':
 
 	$theme['table_bg'] = "#202020"
 	$theme['table_bg_alt'] = "#303030"
-end
 
-if $ARGS[0] = 'set_custom':
+elseif $ARGS[0] = 'set_custom':
 	$theme['name'] = 'Custom'
 	$theme['type'] = 'static'
 	theme['is_dark'] = 1
@@ -291,35 +293,4 @@ if $ARGS[0] = 'default_palette':
 	$theme['green']   = "#859900"
 end
 
-
-!! ------------------------------------------------------------------------------
-!! --------------------------------- DEPRECATED ---------------------------------
-!! ------------------------------------------------------------------------------
-
-!clothing th themes are for table backgrounds. 1 is first colour, 2 is second colour.
-!eg gs 'themes', 'clothing', 1
-if $ARGS[0] = 'clothing':
-	if ARGS[1] = 1:
-		if night_mode = 0:
-			$bgcolor = iif($bgcolor='#f3f4ee','#ffffff','#f3f4ee')
-		elseif night_mode = 1:
-			$bgcolor = iif($bgcolor='#0C0B11','#000000','#0C0B11')
-		elseif night_mode = 2:
-			$bgcolor = iif($bgcolor='#0C0B11','#141414','#0C0B11')
-		elseif night_mode = 99:
-			killvar 'bgcolor'
-		end
-	elseif ARGS[1] = 2:
-		if night_mode = 0:
-			$bgcolor = iif($bgcolor='#f3f4ee','#ffffff','#f3f4ee')
-		elseif night_mode = 1:
-			$bgcolor = iif($bgcolor='#0C0B11','#000000','#0C0B11')
-		elseif night_mode = 2:
-			$bgcolor = iif($bgcolor='#0C0B11','#202020','#0C0B11')
-		elseif night_mode = 99:
-			killvar '$bgcolor'
-		end
-	end
-end
-
 --- themes ---------------------------------

+ 1 - 1
locations/uni_admin.qsrc

@@ -260,7 +260,7 @@ if $ARGS[0] = 'enrollment_semester':
 					gs 'grades', 'createclass', 'uni_nursing_semester_3', 'anatomy and physiology 201', 3, 2, 'no', 'no', 1, 12
 					gs 'grades', 'createclass', 'uni_nursing_semester_3', 'dosages and pharmaceuticals 101', 3, 2, 'no', 'no', 1, 12
 					gs 'grades', 'grade_award', 'uni_nursing_semester_3', 'patient care 201', ((class['uni_nursing_semester_1_patient_care 101_grade'] + class['uni_nursing_semester_2_patient_care 102_grade'])/6+10)
-					gs 'grades', 'grade_award', 'uni_nursing_semester_3', 'anatomy and physiology 201', ((class['uni_nursing_semester_1_anatomy_and_physiology 101_grade'] + class ['uni_nursing_semester_2_anatomy_and_physiology 102_grade'])/6+10)
+					gs 'grades', 'grade_award', 'uni_nursing_semester_3', 'anatomy and physiology 201', ((class['uni_nursing_semester_1_anatomy_and_physiology 101_grade'] + class['uni_nursing_semester_2_anatomy_and_physiology 102_grade'])/6+10)
 					gs 'grades', 'grade_award', 'uni_nursing_semester_3', 'dosages and pharmaceuticals 101', 35
 				elseif university['enrolled_in_semester'] = 4:
 					!!This creates the classes for the fourth semester of the nursing program to be used by the grade system, and gives the player a starting grade value (which is a failing grade, the player has to study if they want to pass)

+ 3 - 2
locations/wardrobe.qsrc

@@ -227,10 +227,10 @@ $default_clothing_line = {
 	!! ARGS 1 - clothing type
 	!! ARGS 2 - clothing index
 
-	gs 'themes', 'clothing', 1
+	gs 'themes', 'clothing'
 	gs 'clothing_attributes', $defclothingtype[default_entry], defclothingnumber[default_entry]
 
-	$RESULT = '<TR bgcolor='+$bgcolor+'>'
+	$RESULT = '<TR bgcolor='+$temp_bcolor+'>'
 
 	$RESULT +='<TD><b><<$def_clothing_name[default_entry]>></b></TD>'
 	
@@ -341,6 +341,7 @@ if $ARGS[0] = 'default_template':
 	if default_entry <= default_entry[1]:jump 'loopdefault_entry_empty'
 
 	'</table></center>'
+	killvar '$temp_bcolor'
 end
 
 if $ARGS[0] = 'default_set_name':

+ 38 - 34
locations/willpower.qsrc

@@ -33,7 +33,7 @@
 !!After Sveta has taken the willpower action the cost must be paid with: gs 'willpower', 'pay', 'type'
 !!Example: Sveta has to pay for resisting to do a blowjob: gs 'willpower', 'pay', 'resist'
 
-!!WARNING: When adding new options include gs 'willpower', 'difficulty', '<<$ARGS[2]>>' at the end of the ARGS to apply easy or hard.
+!!WARNING: When adding new options include gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>' at the end of the ARGS to apply easy or hard.
 !!WARNING: If you have two or more actions that need willpower at the same time, you have to recalculate the willpower cost before the costs are payed (see Code Example 2)
 
 !{ Code Example 1 (one action needs willpower)
@@ -168,7 +168,7 @@ if $ARGS[0] = 'voyeur':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'flash':
@@ -193,7 +193,7 @@ if $ARGS[0] = 'flash':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'mast':
@@ -218,7 +218,7 @@ if $ARGS[0] = 'mast':
 			will_cost = (100 + will_calc)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'hj':
@@ -245,7 +245,7 @@ if $ARGS[0] = 'hj':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'bj':
@@ -272,7 +272,7 @@ if $ARGS[0] = 'bj':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'cuni':
@@ -301,7 +301,7 @@ if $ARGS[0] = 'cuni':
 	end	
 	
 	killvar 'cuni_check'
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 	
 if $ARGS[0] = 'sex' or $ARGS[0] = 'vaginal':
@@ -328,7 +328,7 @@ if $ARGS[0] = 'sex' or $ARGS[0] = 'vaginal':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 	
 if $ARGS[0] = 'anal':
@@ -355,7 +355,7 @@ if $ARGS[0] = 'anal':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 	
 if $ARGS[0] = 'gangbang' or $ARGS[0] = 'group':
@@ -382,7 +382,7 @@ if $ARGS[0] = 'gangbang' or $ARGS[0] = 'group':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 	
 if $ARGS[0] = 'prostitution':
@@ -411,7 +411,7 @@ if $ARGS[0] = 'prostitution':
 		end
 		killvar 'prost_will'
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'humiliation':
@@ -434,7 +434,7 @@ if $ARGS[0] = 'humiliation':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'footjob':
@@ -459,7 +459,7 @@ if $ARGS[0] = 'footjob':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'titjob':
@@ -484,7 +484,7 @@ if $ARGS[0] = 'titjob':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'trib':
@@ -509,7 +509,7 @@ if $ARGS[0] = 'trib':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'rimming':
@@ -536,7 +536,7 @@ if $ARGS[0] = 'rimming':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'BDSM':
@@ -565,7 +565,7 @@ if $ARGS[0] = 'BDSM':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 ! For things like facials and other non-internal cum-receiving
@@ -591,7 +591,7 @@ if $ARGS[0] = 'cum_outside':
 			will_cost = (10 + cum_check + will_calc + will_arousal_mod)/10	
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'swallow':
@@ -614,7 +614,7 @@ if $ARGS[0] = 'swallow':
 			will_cost = (10 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'cum_inside':
@@ -639,7 +639,7 @@ if $ARGS[0] = 'cum_inside':
 			will_cost = (10 + creampie_count + will_calc + will_arousal_mod)/10	
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'cum_inside_anal':
@@ -662,7 +662,7 @@ if $ARGS[0] = 'cum_inside_anal':
 			will_cost = (10 + pcs_acp_known + will_calc + will_arousal_mod)/10	
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'kiss':
@@ -687,7 +687,7 @@ if $ARGS[0] = 'kiss':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'foreplay':
@@ -712,7 +712,7 @@ if $ARGS[0] = 'foreplay':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'pee':
@@ -739,7 +739,7 @@ if $ARGS[0] = 'pee':
 			will_cost = (100 + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 !! requires the skill to be named with the _lvl postfix
@@ -759,7 +759,7 @@ if $ARGS[0] = 'skill':
 		else
 			dynamic 'will_cost = (100 - <<$ARGS[1]>> + will_calc)/10'
 		end
-		gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+		gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 	end
 end
 
@@ -779,7 +779,7 @@ if $ARGS[0] = 'rape':
 			will_cost = (100 + rape + will_calc + will_arousal_mod)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'drink':
@@ -800,7 +800,7 @@ if $ARGS[0] = 'drink':
 			will_cost = (10 + alcohol_exp * 20 + will_calc)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 !!Drug needs already included in the will_calc so just a small base cost here
@@ -818,7 +818,7 @@ if $ARGS[0] = 'drugs':
 			will_cost = (10 + will_calc)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'crime':
@@ -829,7 +829,7 @@ if $ARGS[0] = 'crime':
 	else
 		will_cost = (60 + will_calc)/10
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 if $ARGS[0] = 'exhib':
@@ -842,7 +842,7 @@ if $ARGS[0] = 'exhib':
 	else
 		will_cost = (Exhibitionist_lvl * 25 + pcs_inhib/4 + will_calc)/10
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 !!this is to force you to stay wake so will cost nothing if you have more than 5 sleep, it has no base cost as there will always be a sleep cost in calc
@@ -851,7 +851,7 @@ if $ARGS[0] = 'sleep':
 	will_cost = 0
 	if pcs_sleep <= 5: will_cost = will_calc/10
 !! Not sure if this one belongs. It doesn''t look like it''s used anywhere.
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 !!Choose this if nothing else fits and for chore which is same thing but without gains for max willpower
@@ -875,7 +875,7 @@ if $ARGS[0] = 'misc' or $ARGS[0] = 'chore':
 			will_cost = (20 + will_calc)/10
 		end
 	end
-	gs 'willpower', 'difficulty', '<<$ARGS[2]>>'
+	gs 'willpower', 'difficulty', '<<$ARGS[1]>>', '<<$ARGS[2]>>'
 end
 
 !!modifiers for drink an drugs
@@ -917,15 +917,18 @@ if $ARGS[0] = 'difficulty':
 !!Multiplier to make willpower cost more. Use if all total costs need adjusting.
 	will_cost = will_cost * 3 / 2
 
-	if $ARGS[1] = 'easy':
+	if $ARGS[2] = 'easy':
 		will_cost = will_cost * 2/3
 		if will_cost < 5: will_cost = 5
-	elseif $ARGS[1] = 'hard':
+	elseif $ARGS[2] = 'hard':
 		will_cost = will_cost * 3/2
 		if will_cost < 7: will_cost = 7
 	else
 		if will_cost < 6: will_cost = 6
 	end
+	if $ARGS[1] = 'force':
+		will_cost = will_cost*(200-pcs_persuas)/100
+	end
 	if cheatWillpower = 1: will_cost = 0
 end
 
@@ -937,6 +940,7 @@ if $ARGS[0] = 'pay':
 			will_counter += 10
 		end
 		if will_enforced < 20: will_enforced += 1
+		gs 'exp_gain', 'persuas', rand(1,2)
 	elseif $ARGS[1] ! 'chore':
 		if willpowermax < 150:
 			will_counter += 1

BIN
tools/Parser/qsp_parser.exe