60 Commits 1826d66157 ... 25b11dbe25

Author SHA1 Message Date
  bgkjdgbizgblzdgbr 25b11dbe25 [change/added] People skill will now effect how many relationship points you get with npcs. At 100 it will double the gain and half the loss 1 month ago
  Kevin_Smarts 96637e4793 Merge remote-tracking branch 'Netuttki/master' 1 month ago
  Kevin_Smarts 8d2131ed37 Merge remote-tracking branch 'Hooded_Silence/master' 1 month ago
  anjuna krokus b1ce63e466 [fixed] Hopefully cigarettes should not decrease if you bum one during the lover events 1 month ago
  Hooded Silence 37666b01ca [Bug Fixes] Resolved ballet npc's names not appearing, whitespace and removal and set a new default path variable for ballet npc portraits. ballet school now compliant with incoming code code changes, still untested to determine how it affects game play. 1 month ago
  netuttki bd154cff4f Merge remote-tracking branch 'keving-upstream/master' 1 month ago
  anjuna krokus a9de450f67 [changed] layout changes in saveupdater 1 month ago
  anjuna krokus d574e02b8b [added/changed/removed/overhaul] Introduction of Mira's schedule. Accompanied with a near complete overhaul of gadukino and almost every file related to it. 1 month ago
  Awesome f4f206d667 [Changed] some variable migration also moved some reoccuring code into one location also added some killvars for temp variables 1 month ago
  bgkjdgbizgblzdgbr f0f0e81b6a [Added] Katja panty quest scenee in the Coffee Hole 1 month ago
  Kevin_Smarts 0dd7afd9dc Merge remote-tracking branch 'Hornguy6/master' 1 month ago
  Kevin_Smarts bc63d8741e Merge remote-tracking branch 'Anjuna/master' 1 month ago
  Kevin_Smarts db3e8c2118 [fixed] Some attribute adjustments for school uniforms from nutluck 1 month ago
  Kevin_Smarts 38802dc6af [changed] Nerd uniforms must be super conservative now moving more to generally accepted 1 month ago
  netuttki 8d2a15f7c6 Merge remote-tracking branch 'keving-upstream/master' 1 month ago
  hornguy6 9180aa9841 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 1 month ago
  anjuna krokus f32e0327a6 [changed] changes to how health is regained. You now regain your maximum health back over a total of 16 hours of sleep (2 full nights, or 3 shorter ones) 1 month ago
  anjuna krokus c02923b373 [removed] forgotten `gs 'stat'`call in Vasily home (automatically included in the sleep function 1 month ago
  anjuna krokus 3805a5d5fb [added/change] two more logic functions to `pcs_has_attr`, added inactive additional butt descriptions (will be activated when the images are added to the drive). Proposed and images provided by rgacct 1 month ago
  anjuna krokus 6553580e6f [fixed] new booty call stuff, delayed code not working as intended 1 month ago
  hornguy6 1370ca37ed [fixed] a bunch of misspellings 1 month ago
  anjuna krokus defe43c625 [added] a dedicated variable for the lactation breast size. Reported by rgacct 1 month ago
  Kevin_Smarts e72a7986d2 Merge remote-tracking branch 'Netuttki/master' 1 month ago
  anjuna krokus d3584f11b6 [fixed] typos related to the new `'sleep_simple', 'forced'` function. Noticed by nugerumon 1 month ago
  anjuna krokus b59ee0af61 [removed] extra `gs 'sleep_simple', 'nap_bed'` line which was causing bugs. Brought to my attention by nugerumon 1 month ago
  Kevin_Smarts 82cf82f3fc [fixed] a couple of uniform check inconsistencies 1 month ago
  Kevin_Smarts 4298f723d5 Merge remote-tracking branch 'Anjuna/master' 1 month ago
  Kevin_Smarts fe4d0afdf0 Merge remote-tracking branch 'Hornguy6/master' 1 month ago
  Kevin_Smarts 4d80f599c0 Merge remote-tracking branch 'Lusticon/master' 1 month ago
  anjuna krokus e8a3178cfe [changed/removed] Faster `pcs_sleep` drain during the day. Moved most of the `pcs_sleep` changed (related to naps and sleeping) to relevant sleep functions. Removed random pcs_sleep increases/decreases that should not be there (massages still increase `pcs_sleep`) 1 month ago
  hornguy6 2b86c50f0b [fixed] missing arguments and acts 1 month ago
  netuttki c31385d80b Added back the music actions code that should have been there and updated the locations to run the right calls. 1 month ago
  netuttki a9cf3c9507 Merge remote-tracking branch 'keving-upstream/master' 1 month ago
  Vengeance_11 308bb55111 Typo fix and small text edits 1 month ago
  Lusticon 21472933bb [fixed] music perfom not_alone cleanup 1 month ago
  Kevin_Smarts d38c26c522 Merge remote-tracking branch 'Lusticon/master' 1 month ago
  Lusticon 267026984a [fixed] clear restrictions for music perform 1 month ago
  anjuna krokus 6276506d6c [fixed] boy variables not properly set in the nightclub 1 month ago
  anjuna krokus 2337521d3a [fixed] accidentally used `$ARGS[1]` instead of `$ARGS[0]` like an idiot 1 month ago
  Kevin_Smarts 4856c6058d [fixed] wrong value and text edit for new bimbo starts 1 month ago
  Kevin_Smarts a0055311ee Merge remote-tracking branch 'Lusticon/master' 1 month ago
  Kevin_Smarts e5720ab6e9 Merge remote-tracking branch 'Lusticon/master' 1 month ago
  Lusticon 04940511c9 [fixed] wrong goto location 1 month ago
  Lusticon 965fc1425b [added] poll exit act 1 month ago
  Lusticon 94769da746 [fixed] dead ends 1 month ago
  anjuna krokus 00a455b158 [changed] the name of the new bimbo start 1 month ago
  anjuna krokus eeec75e22f [fixed] more bugfixes to blackmailer 1 month ago
  anjuna krokus f385285563 [changed] Significantly simplified SMS_selfies :) 1 month ago
  Kevin_Smarts 1cfa3d7b25 [added] new bimbo start from BBZ01 1 month ago
  Kevin_Smarts 54f0715dab Merge remote-tracking branch 'Lusticon/master' 1 month ago
  Lusticon 9f6771aa9f [fixed] dead end 1 month ago
  Lusticon 92aaed5a6d [fixed] clear restrictions music performing 1 month ago
  Lusticon 5138e5552d [removed] torgpred leftovers 1 month ago
  Lusticon 6a2e7b5693 [fixed] String vs Integer 1 month ago
  anjuna krokus 0d3a3d02c4 [added] Natasha school and disco chats. Written by BBZ01 1 month ago
  anjuna krokus 2bc2c2266e Merge remote-tracking branch 'master/master' 1 month ago
  Lusticon 56e621000f [fixed] face cum check 1 month ago
  anjuna krokus 1c68b6b829 [changed/removed] Removed duplicate entry in the blackmailer text chain. Changed the "send selfie" description to better stress that you can only send non-nude selfies (at the first part of the questline) 1 month ago
  Lusticon 9e7da27957 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 1 month ago
  Lusticon d287cecfeb [fixed] syntax errors 1 month ago
100 changed files with 4204 additions and 4544 deletions
  1. 2 0
      .gitignore
  2. 0 1
      glife-notepad++
  3. 22 21
      glife.qproj
  4. 45 13
      locations/BurgerTip.qsrc
  5. 22 11
      locations/Cheatmenu_din.qsrc
  6. 14 14
      locations/DNA.qsrc
  7. 10 5
      locations/HotelRoom.qsrc
  8. 5 7
      locations/MagEncounterFairy.qsrc
  9. 5 8
      locations/MeynoldHome.qsrc
  10. 4 7
      locations/NikoDates.qsrc
  11. 1 1
      locations/NikoDreams.qsrc
  12. 2 4
      locations/NikoEv2.qsrc
  13. 1 3
      locations/Palatka.qsrc
  14. 95 101
      locations/SMS_selfies.qsrc
  15. 52 51
      locations/SMStext_builder.qsrc
  16. 1 7
      locations/Serge_Shulgin.qsrc
  17. 8 8
      locations/TerminalOffice.qsrc
  18. 34 34
      locations/_attributes_school.qsrc
  19. 1 3
      locations/abduction.qsrc
  20. 5 5
      locations/abductionCustomer.qsrc
  21. 2 0
      locations/albina_starlets_sex.qsrc
  22. 6 5
      locations/albina_wine_event.qsrc
  23. 1 0
      locations/alexandriaChat.qsrc
  24. 3 3
      locations/anush_bedroom_city.qsrc
  25. 0 1
      locations/balkon2.qsrc
  26. 40 25
      locations/ballet_npc.qsrc
  27. 24 9
      locations/ballet_secrets.qsrc
  28. 2 1
      locations/bed2.qsrc
  29. 4 4
      locations/bedr.qsrc
  30. 5 4
      locations/bedr2x.qsrc
  31. 13 48
      locations/bedrPar.qsrc
  32. 1 0
      locations/belpicknick.qsrc
  33. 16 16
      locations/bicycle.qsrc
  34. 41 64
      locations/blackmailer.qsrc
  35. 1 1
      locations/body.qsrc
  36. 44 15
      locations/body_desc.qsrc
  37. 13 11
      locations/booty_call_sms.qsrc
  38. 2 0
      locations/bordel.qsrc
  39. 11 9
      locations/boyStat.qsrc
  40. 2 19
      locations/brothel.qsrc
  41. 57 58
      locations/bus.qsrc
  42. 5 5
      locations/camera.qsrc
  43. 20 23
      locations/card.qsrc
  44. 6 1
      locations/cikl.qsrc
  45. 2 1
      locations/city_center.qsrc
  46. 2 1
      locations/city_coffee_hole.qsrc
  47. 2 1
      locations/city_house_res_bedr.qsrc
  48. 9 46
      locations/city_house_res_misc.qsrc
  49. 17 11
      locations/city_jorahouse.qsrc
  50. 2 2
      locations/city_kafeend.qsrc
  51. 3 3
      locations/city_library.qsrc
  52. 13 47
      locations/city_mansion_residence_2.qsrc
  53. 3 44
      locations/city_nightclub.qsrc
  54. 3 2
      locations/city_park.qsrc
  55. 4 4
      locations/clothing.qsrc
  56. 1 1
      locations/clothing_attributes.qsrc
  57. 5 3
      locations/dachain.qsrc
  58. 20 9
      locations/din_bad.qsrc
  59. 2 2
      locations/din_npc.qsrc
  60. 4 15
      locations/dom_gor.qsrc
  61. 34 20
      locations/emp_functions.qsrc
  62. 3 0
      locations/emp_job_array.qsrc
  63. 8 16
      locations/etoexhib.qsrc
  64. 4 4
      locations/exercise.qsrc
  65. 1 1
      locations/father.qsrc
  66. 1 1
      locations/flash.qsrc
  67. 21 24
      locations/gad_backwater.qsrc
  68. 872 0
      locations/gad_beach.qsrc
  69. 163 300
      locations/gad_field.qsrc
  70. 164 165
      locations/gad_forest.qsrc
  71. 74 74
      locations/gad_forest_events.qsrc
  72. 179 192
      locations/gad_forest_lost.qsrc
  73. 52 48
      locations/gad_gpbarn.qsrc
  74. 83 154
      locations/gad_gpbath.qsrc
  75. 124 155
      locations/gad_gphouse.qsrc
  76. 262 41
      locations/gad_gpyard.qsrc
  77. 8 11
      locations/gad_market.qsrc
  78. 309 302
      locations/gad_meadow.qsrc
  79. 13 17
      locations/gad_miroslava_home.qsrc
  80. 53 68
      locations/gad_prostitutes.qsrc
  81. 413 0
      locations/gad_river.qsrc
  82. 39 50
      locations/gad_road.qsrc
  83. 19 27
      locations/gad_swamp.qsrc
  84. 24 27
      locations/gad_swamp_woods.qsrc
  85. 27 30
      locations/gad_swamp_yard.qsrc
  86. 157 177
      locations/gad_swamphouse.qsrc
  87. 7 7
      locations/gad_swampspring.qsrc
  88. 0 240
      locations/gadgarden.qsrc
  89. 0 1278
      locations/gadriver.qsrc
  90. 47 50
      locations/gadukino.qsrc
  91. 34 34
      locations/gadukino_event.qsrc
  92. 14 14
      locations/gargazel.qsrc
  93. 35 35
      locations/grandmahelp.qsrc
  94. 30 30
      locations/grandpahelp.qsrc
  95. 25 25
      locations/grigory.qsrc
  96. 3 3
      locations/gschool_chats.qsrc
  97. 75 58
      locations/gschool_coolkid_chats.qsrc
  98. 81 46
      locations/gschool_gossip.qsrc
  99. 1 1
      locations/gschool_lessons.qsrc
  100. 5 1
      locations/gschool_nerd_chats.qsrc

+ 2 - 0
.gitignore

@@ -45,3 +45,5 @@ glife.7z.tmp
 glife.7z
 
 *.test
+*.drawio
+missing_media.txt

+ 0 - 1
glife-notepad++

@@ -1253,7 +1253,6 @@
 				<File name="locations\univer_din.qsrc" />
 				<File name="locations\univer.qsrc" />
 				<File name="locations\trashplace.qsrc" />
-				<File name="locations\torgpred.qsrc" />
 				<File name="locations\TimofeiMetro.qsrc" />
 				<File name="locations\Timofei.qsrc" />
 				<File name="locations\tanvanr.qsrc" />

+ 22 - 21
glife.qproj

@@ -1135,31 +1135,32 @@
 		<Location name="pav_beach_chat"/>
 	</Folder>
 	<Folder name="Gadyukino">
-		<Location name="gadhouse"/>
+		<Location name="gad_gphouse"/>
 		<Location name="grandmahelp"/>
 		<Location name="grandpahelp"/>
-		<Location name="gaddvor"/>
-		<Location name="gadsarai"/>
-		<Location name="gadbana"/>
+		<Location name="gad_gpyard"/>
+		<Location name="gad_gpbarn"/>
+		<Location name="gad_gpbath"/>
 		<Location name="gadukino"/>
 		<Location name="gadukino_event"/>
-		<Location name="gadriver"/>
-		<Location name="meadow"/>
-		<Location name="gadprostitutes"/>
-		<Location name="gadfield"/>
-		<Location name="gadgarden"/>
-		<Location name="gadmarket"/>
-		<Location name="gadroad"/>
-		<Location name="miroslavahome"/>
-		<Location name="gadforest"/>
-		<Location name="gadforest_event"/>
-		<Location name="gadforestlost"/>
+		<Location name="gad_river"/>
+		<Location name="gad_beach"/>
+		<Location name="gad_prostitutes"/>
+		<Location name="gad_field"/>
+		<Location name="gad_market"/>
+		<Location name="gad_road"/>
+		<Location name="gad_miroslava_home"/>
+		<Location name="gad_forest"/>
+		<Location name="gad_forest_events"/>
+		<Location name="gad_forest_lost"/>
+		<Location name="gad_meadow"/>
 		<Location name="gad_church"/>
-		<Location name="swamp"/>
-		<Location name="swamp_yard"/>
-		<Location name="swamphouse"/>
-		<Location name="swampspring"/>
-		<Location name="backwater"/>
+		<Location name="gad_swamp"/>
+		<Location name="gad_swamp_yard"/>
+		<Location name="gad_swamphouse"/>
+		<Location name="gad_swampspring"/>
+		<Location name="gad_swamp_woods"/>
+		<Location name="gad_backwater"/>
 	</Folder>
 	<Folder name="Gadyukino Characters">
 		<Location name="hunters"/>
@@ -1168,7 +1169,6 @@
 		<Location name="hunter_ambient"/>
 		<Location name="hunter_favors"/>
 		<Location name="hunter_interactions"/>
-		<Location name="swamp_woods"/>
 		<Location name="andreihunter"/>
 		<Location name="igorhunter"/>
 		<Location name="sergeihunter"/>
@@ -1177,6 +1177,7 @@
 		<Location name="mitkabuh_group"/>
 		<Location name="mitkasex"/>
 		<Location name="miroslava"/>
+		<Location name="miroslava_schedule"/>
 		<Location name="mirasex"/>
 		<Location name="mirafather"/>
 		<Location name="grigory"/>

+ 45 - 13
locations/BurgerTip.qsrc

@@ -44,6 +44,7 @@ if $ARGS[0] = 'work':
 			bossrand = rand(0, 3)
 
 			if bossrand = 0:
+				killvar'bossrand'
 				'When you enter Anatoly''s office he glances up and says, "<<$pcs_nickname>>, bring me a cup of coffee."'
 				
 				act 'Fetch him a coffee':
@@ -59,6 +60,7 @@ if $ARGS[0] = 'work':
 					end
 				end
 			elseif bossrand = 1:
+				killvar'bossrand'
 				'When you enter his office, Anatoly tells you: "<<$pcs_nickname>>, I need these documents sighed by the accountant. Take them to her, and see that she signs them. When he does, return them to me."'
 
 				act 'Go to the chief accountant':
@@ -81,6 +83,7 @@ if $ARGS[0] = 'work':
 					end
 				end
 			elseif bossrand = 2:
+				killvar'bossrand'
 				'"<<$pcs_nickname>>, I need Ilyushkin working on these documents in a hurry", Anatoly says. You grab the papers, and scamper out of the office'
 
 				act 'Take the papers to Ilyushkin':
@@ -105,6 +108,7 @@ if $ARGS[0] = 'work':
 				end
 			elseif bossrand = 3:
 				*clr&cla
+				killvar'bossrand'
 				bossexrand = rand(0, 3)
 				pcs_horny += 10
 				gs 'stat'
@@ -115,6 +119,7 @@ if $ARGS[0] = 'work':
 				if bossexrand = 1:'His hand slides down your stomach, and crawls under your skirt. You moan softly when his hand begins to caress your pussy.'
 				if bossexrand = 2:'He grabs your ass, and lifting up your skirt begins to knead your ass like dough.'
 				if bossexrand = 3:'He puts his hands on your hips, and slowly raises your skirt.'
+				killvar'bossexrand' 
 				gs 'boyStat', 'A74'
 
 				act 'Kiss him':
@@ -145,6 +150,7 @@ if $ARGS[0] = 'work':
 							if bosstipsexrand >= 3:
 								act 'Moan': gt 'BurgerTip', 'sex2'
 							elseif bosstipsexrand < 3:
+								killvar'bosstipsexrand'
 								'His hand goes further finding your sphincter with one of his fingers. The probing of his finger leaves no doubt about what he wants.'
 								
 								gs 'arousal', 'anal_finger', 5, 'sub'
@@ -189,12 +195,14 @@ if $ARGS[0] = 'work':
 			bosstiprand = rand(0, 3)
 
 			if bosstiprand = 0:
+				killvar'bosstiprand'
 				BurgerQW['TerminalTask'] = 1
 				BurgerQW['TerminalTaskDay'] = daystart
 				'Anatoly comes out of the office, and asks, "<<$pcs_nickname>>, I know it''s lunch time, but I really need these documents taken to the storage terminal in the city industrial area to be signed. I''ll give you the rest of the day off if you take care of it for me," he finishes, with a smile.'
 
 				act 'Deliver the papers':gt 'city_center'
 			elseif bosstiprand = 1:
+				killvar'bosstiprand'
 				'Anatoly comes out of the office, and says: "<<$pcs_nickname>>, before lunch I need you to head down to the loading dock, and sign for a shipment of food that''s due to arrive. There''s a gold star in it for you if take care of this for me."'
 
 				act 'Go sign for the shipment':
@@ -210,6 +218,7 @@ if $ARGS[0] = 'work':
 				end
 
 			elseif bosstiprand = 2:
+				killvar'bosstiprand'
 				BurgerQW['BankTask'] = 1
 				BurgerQW['BankTaskDay'] = daystart
 				'Anatoly comes out of the office, and says, "<<$pcs_nickname>>, please run these documents to the bank for me. I''ll give you the rest of the day off if you take care of it for me," he finishes, with a smile.'
@@ -243,10 +252,12 @@ if $ARGS[0] = 'work':
 			bosstiprand = rand(0, 3)
 
 			if bosstiprand = 0:
+				killvar'bosstiprand'
 				'Anatoly comes out of the office and says, "<<$pcs_nickname>>, I have to leave early today. Here''s a few papers for you to file,"  He hands you a folder on his way out of the office.'
 				bburand = rand(0, 10)
 
 				if bburand = 0:
+					killvar'bburand'
 					'The senior manager Ilyushkin shows up in your office.'
 					
 					if $BurgerQW['IlyQWBlackmailPhoto'] = '' or BurgerQW['IlyQWBlackmail'] > 1:
@@ -265,7 +276,7 @@ if $ARGS[0] = 'work':
 					'The assistant manager Sergei shows up in your office.'
 					'Sergei looks at you with carnivorous eyes, "Is Anatoly around?"'
 					'"No, he just he just left." you tell him.'
-
+					killvar'bburand'
 					if BurgerQW['sergeyQW'] = 1:
 						'The pimply young man chuckles, and sits on the edge of your desk. "<<$pcs_nickname>>, you''re dynamite. We are very lucky to have a girl like you around," he says, leering at you.'
 					elseif BurgerQW['sergeyQW'] = 0:
@@ -327,7 +338,7 @@ if $ARGS[0] = 'work':
 					'Lena comes up to your desk and asks, "Is the boss around?"'
 					'"No, he stepped out," you reply.'
 					'She purses her lips looking at you with disapproval, before she turns to go.'
-					
+					killvar'bburand'
 					if BurgerQW['WorkShift'] = 1:
 						act 'Have your lunch': gt 'burgerWork', 'work'
 					elseif BurgerQW['WorkShift'] = 2:
@@ -335,7 +346,7 @@ if $ARGS[0] = 'work':
 					end
 				elseif bburand = 3:
 					'The personnel manager Vick comes into the office looking for the boss. When you tell her he is gone, she mutters something about personnel, and walks out'
-
+					killvar'bburand'
 					if BurgerQW['WorkShift'] = 1:
 						act 'Have your lunch': gt 'burgerWork', 'work'
 					elseif BurgerQW['WorkShift'] = 2:
@@ -351,6 +362,7 @@ if $ARGS[0] = 'work':
 					end
 				end
 			elseif bosstiprand = 1:
+				killvar'bosstiprand'
 				'Anatoly comes out of the office and says, "<<$pcs_nickname>>, let''s get out of here and go have some fun."'
 
 				act 'Go with Anatoly':
@@ -361,12 +373,13 @@ if $ARGS[0] = 'work':
 
 					if BurMestoRand = 0:
 						'You get in the car with Anatoly, and soon arrive at the sauna in the residential area. Your boss gives you a wicked little grin and says, "I made reservations to get us a private room."'
-						
+						killvar'BurMestoRand'
 						act 'Go to the sauna':
 							*clr&cla
 							gs 'stat'
-
+							
 							if SaunaWhore > 0:
+								
 								BurgerQW['SaunaWhoreKnown'] = 1
 								'When you enter the sauna and stop dead in your tracks when you see the madam."<<$pcs_nickname>>, what a surprise are you coming back to work for us."' 
 								'Anatoly says, "Whats going on here?"'
@@ -440,6 +453,7 @@ if $ARGS[0] = 'work':
 							end
 						end
 					elseif BurMestoRand = 1:
+						killvar'BurMestoRand'
 						'You get in the car, but before you can go anywhere Anatoly''s phone rings. He frowns before answering, "Yes dear, i will soon." He hangs up and says to you, "I''ve got to get home. Could you do your boss a favor, before I have to head home to the old battle axe?"'
 
 						act 'You''re great at giving favors':
@@ -461,6 +475,7 @@ if $ARGS[0] = 'work':
 
 				exit
 			elseif bosstiprand = 2:
+				killvar'bosstiprand'
 				'Anatoly comes out of the office, and says, "<<$pcs_nickname>>, call the that guy we had set up our computers. The on button of my PC seems to be broken."'
 
 				act 'Call the computer guy':
@@ -484,6 +499,7 @@ if $ARGS[0] = 'work':
 					end
 				end
 			elseif bosstiprand = 3:
+				killvar'bosstiprand'
 				'Anatoly comes out of the office, and says, "<<$pcs_nickname>>, I need you to stay late today. I have some men coming in for a meeting, and I might need an extra set of hand around.'
 
 				act 'Sure thing boss':
@@ -500,6 +516,7 @@ if $ARGS[0] = 'work':
 		exit
 	elseif burand = 2:
 		*clr & cla
+		killvar'burand'
 		if $BurgerQW['IlyQWBlackmailPhoto'] ! '' and BurgerQW['IlyQWBlackmail'] = 0:
 			gt 'BurgerTip', 'ily_work'
 		elseif $BurgerQW['IlyQWBlackmailPhoto'] = '' and BurgerQW['IlyQWBlackmail'] > 1:
@@ -524,6 +541,7 @@ if $ARGS[0] = 'work':
 
 		exit
 	elseif burand = 3:
+		killvar'burand'
 		'The assistant manager Sergei shows up in your office.'
 		'Sergei looks at you with carnivorous eyes, "Is Anatoly around?"'
 		'"No, he just he just left." you tell him.'
@@ -536,6 +554,7 @@ if $ARGS[0] = 'work':
 
 		exit
 	elseif burand = 4:
+		killvar'burand'
 		'Lena comes up to your desk and asks, "Is the boss around?"'
 		'"No, he stepped out," you reply.'
 		'She purses her lips looking at you with disapproval, before she turns to go.'
@@ -548,6 +567,7 @@ if $ARGS[0] = 'work':
 
 		exit
 	elseif burand = 5:
+		killvar'burand'
 		'The personnel manager Vic comes into the office looking for the boss. When you tell her he is gone, she mutters something about personnel, and walks out'
 
 		if BurgerQW['WorkShift'] = 1:
@@ -558,6 +578,7 @@ if $ARGS[0] = 'work':
 
 		exit
 	elseif burand = 6:
+		killvar'burand'
 		'An elegantly dressed woman shows up at the office.'
 
 		if BurgerQW['SlutReputation'] < 10:
@@ -581,6 +602,7 @@ if $ARGS[0] = 'work':
 				Pay = BurgerQW['SecretaryTimesWorked'] * 1250
 				BurgerQW['SecretaryTimesWorked'] = 0
 				money += Pay
+				killvar'Pay'
 				gs 'stat'
 				'You quickly write out something that effectively says "I quit!" with some fancy words thrown in.'
 				'Anatoly pays you the <<pay>> <b>₽</b> you are owed, and says, "It''s over <<$pcs_nickname>>, get out of here."'
@@ -630,6 +652,8 @@ if $ARGS[0] = 'bj':
 		act 'Finish him by hand': gt 'BurgerTip', 'bj_cum'
 		act 'Continue to suck': gt 'BurgerTip', 'bj2'
 	end
+	killvar'wantrand'
+	killvar'numbjrand'
 end
 
 if $ARGS[0] = 'toilet':
@@ -675,7 +699,8 @@ if $ARGS[0] = 'toilet':
 			gs 'cum_cleanup'
 
 			'You go into the bathroom, and turn the water on in the sink. <<$deytoibur>><<$deytoibur2>>'
-
+			killvar'$deytoibur'
+			killvar'$deytoibur2'
 			if BurgerQW['WorkShift'] = 1:
 				act 'Have your lunch': gt 'burgerWork', 'work'
 			elseif BurgerQW['WorkShift'] = 2:
@@ -683,6 +708,8 @@ if $ARGS[0] = 'toilet':
 			end
 		end
 	end
+	killvar'bosstoirandin'
+	killvar'bosstoirand'
 end
 
 if $ARGS[0] = 'toilet_wash':
@@ -696,7 +723,8 @@ if $ARGS[0] = 'toilet_wash':
 	gs 'cum_cleanup'
 				
 	'You go into the bathroom, and turn the water on in the sink. <<$deytoibur>><<$deytoibur2>>'
-
+	killvar'$deytoibur'
+	killvar'$deytoibur2'
 	if BurgerQW['WorkShift'] = 1:
 		act 'Have your lunch': gt 'burgerWork', 'work'
 	elseif BurgerQW['WorkShift'] = 2:
@@ -715,7 +743,8 @@ if $ARGS[0] = 'toilet_wash2':
 	gs 'cum_cleanup'
 
 	'You go into the bathroom, and turn the water on in the sink. <<$deytoibur>><<$deytoibur2>>'
-
+	killvar'$deytoibur'
+	killvar'$deytoibur2'
 	if BurgerQW['WorkShift'] = 1:
 		act 'Have your lunch': gt 'burgerWork', 'work'
 	elseif BurgerQW['WorkShift'] = 2:
@@ -780,12 +809,14 @@ if $ARGS[0] = 'bj2':
 		boburand = rand(0, 10)
 
 		if boburand > 2:
+			killvar'boburand'
 			if BurgerQW['WorkShift'] = 1:
 				act 'Have your lunch': gt 'burgerWork', 'work'
 			elseif BurgerQW['WorkShift'] = 2:
 				act 'Leave work': gs 'burgerWork', 'work2'
 			end
 		elseif boburand <= 2:
+			killvar'boburand'
 			gs 'cum_call', 'clothes', 'A74', 1
 			gs 'stat'
 			'Afterword, you notice you got some of his semen on your blouse.'
@@ -806,12 +837,14 @@ if $ARGS[0] = 'bj2':
 		boburand = rand(0, 10)
 
 		if boburand > 2:
+			killvar'boburand'
 			if BurgerQW['WorkShift'] = 1:
 				act 'Have your lunch': gt 'burgerWork', 'work'
 			elseif BurgerQW['WorkShift'] = 2:
 				act 'Leave work': gs 'burgerWork', 'work2'
 			end
 		elseif boburand <= 2:
+			killvar'boburand'
 			gs 'cum_call', 'clothes', 'A74', 1
 			gs 'stat'
 			'You notice that you didn''t get it all. A few drops of semen are staining your blouse.'
@@ -839,7 +872,6 @@ end
 
 if $ARGS[0] = 'sex':
 	*clr&cla
-	bosstipsex = rand(0, 10)
 	gs 'boyStat', 'A74'
 	pose = 1
 	gs 'stat'
@@ -854,6 +886,7 @@ if $ARGS[0] = 'sex':
 	gs 'stat'
 
 	if bosswantrand >= 3:
+		killvar'bosswantrand'
 		gs 'cum_call', 'butt', 'A74', 1
 		'<<$boydesc>> withdraws his cock, and shoots hot streams of semen all over your naked ass.'
 		
@@ -866,6 +899,7 @@ if $ARGS[0] = 'sex':
 			act 'Leave work': gs 'burgerWork', 'work2'
 		end
 	elseif bosswantrand < 3:
+		killvar'bosswantrand'
 		'Without warning, Anatoly takes his cock from pussy, and pushes it against your sphincter.'
 		act 'Give it to him': gt 'BurgerTip', 'anal'
 	end
@@ -873,7 +907,6 @@ end
 
 if $ARGS[0] = 'anal':
 	*clr&cla
-	bosstipsex = rand(0, 10)
 	gs 'boyStat', 'A74'
 	pose = 1
 	gs 'stat'
@@ -881,7 +914,6 @@ if $ARGS[0] = 'anal':
 	'<center><img <<$set_imgh>> src="images/characters/city/anatoly/sex/bossanal.jpg"></center>'
 	'You push your hips back presenting your ass for Anatoly.'
 	gs 'arousal', 'auto_lube', 'anal'
-	!!gs 'dinsex','sexcum'
 	gs 'cum_call', 'butt', 'A74', 1
 	'He finishes by giving you a little smack on the ass and a "good girl".'
 	
@@ -898,7 +930,6 @@ end
 
 if $ARGS[0] = 'sex2':
 	*clr&cla
-	bosstipsex = rand(0, 10)
 	gs 'boyStat', 'A74'
 	pose = 0
 	gs 'stat'
@@ -914,6 +945,7 @@ if $ARGS[0] = 'sex2':
 	gs 'stat'
 	
 	if bosswantrand >= 3:
+		killvar'bosswantrand'
 		gs 'cum_call', 'stomach', 'A74', 1
 		'<<$boydesc>> withdraws his cock, and shoots hot streams of semen all over your naked ass.'
 		
@@ -926,6 +958,7 @@ if $ARGS[0] = 'sex2':
 			act 'Leave work': gs 'burgerWork', 'work2'
 		end
 	elseif bosswantrand < 3:
+		killvar'bosswantrand'
 		'Without warning, Anatoly takes his cock from pussy, and pushes it against your tight little ass.'
 		act 'Take it in the ass':gt 'BurgerTip', 'anal2'
 	end
@@ -934,7 +967,6 @@ end
 if $ARGS[0] = 'anal2':
 	act 'Take it in the ass':gt 'BurgerTip', 'anal2'
 	*clr&cla
-	bosstipsex = rand(0, 10)
 	gs 'boyStat', 'A74'
 	pose = 0
 	gs 'stat'

+ 22 - 11
locations/Cheatmenu_din.qsrc

@@ -1,5 +1,6 @@
 # Cheatmenu_din
-settingmode = 69
+if settingmode = 0: settingmode = 69
+menu_off = 1
 cls
 
 $cheatmenu['empty'] = {
@@ -10,6 +11,17 @@ $cheatmenu['empty'] = {
 !! Gameplay Settings
 !!----------------------------------------------------------------------------------------------------------------------------
 
+$cheatmenu['music'] = {
+	if music_on = 0:
+		music_on = 1
+		music_loop = 1
+	else
+		music_on = 0
+		music_loop = 0
+		close all
+	end
+}
+
 $cheatmenu['setting'] = {
 	cls
 	$cheatmenu['this_menu'] = 'setting'
@@ -21,7 +33,7 @@ $cheatmenu['setting'] = {
 	'<td cellspacing="0" cellpadding="20" valign="top">'
 
 	'AutoSave: <a href="exec:									disable_autosave					= iif(disable_autosave, 0, 1)					& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(disable_autosave						, ''Disabled'', ''Enabled'')>></a>'
-	'Music: <a href="exec:										music_on							= iif(music_on, 0, 1)							& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(music_on								, ''Enabled'', ''Disabled'')>></a>'
+	'Music: <a href="exec:												dynamic $cheatmenu[''music'']												& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(music_on								, ''Enabled'', ''Disabled'')>></a>'
 	*nl
 	'More than one job is possible: <a href="exec:				cheatVars[''work'']					= iif(cheatVars[''work''], 0, 1)				& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''work'']					, ''Enabled'', ''Disabled'')>></a>'
 	'Prevent Non-Drama GAMEOVER: <a href="exec:					cheatVars[''gameover'']				= iif(cheatVars[''gameover''], 0, 1)			& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''gameover'']				, ''Enabled'', ''Disabled'')>></a>'
@@ -116,8 +128,8 @@ $cheatmenu['vartracker'] = {
 	'$clothingworntype: <<$clothingworntype>>'
 	'PCloQuality: <<PCloQuality>>'
 	'Mira''s Father Quest (npc_QW[''A64'']): <<npc_QW[''A64'']>>'
-	'Mira''s Quest (npc_QW[''A60'']): <<npc_QW[''A60'']>>'
-	'mirasextimes: <<mirasextimes>>'
+	'Mira''s Quest (MiraVars[''QW'']): <<MiraVars[''QW'']>>'
+	'MiraVars[''Mitka_fucks'']: <<MiraVars[''Mitka_fucks'']>>'
 	'Mira''s Relationship (npc_rel[''A60'']): <<npc_rel[''A60'']>>'
 	'Mitka''s Quest (npc_QW[''A63'']): <<npc_QW[''A63'']>>'
 	'mirabrosextime: <<mirabrosextime>>'
@@ -429,11 +441,10 @@ $cheatmenu['therapist_reset'] = {
 	dynamic $RestTherapyVariables
 	gs 'stat'
 	dynamic $cheatmenu['state']
-	cls
 }
 
 $cheatmenu['cycle'] = {
-	*clr
+	cls
 	if cycle ! 5:
 		EggRH = 0
 		LutH = 0
@@ -446,6 +457,8 @@ $cheatmenu['cycle'] = {
 		'<a href="exec:Cycle = 1 & gs ''stat'' & dynamic $cheatmenu[''state'']">Follicular</a>'
 		'<a href="exec:Cycle = 2 & Ovulate = 24+rand(0,20) & EggRH = 160 + 160+rand(0, 5) & gs ''stat'' & dynamic $cheatmenu[''state'']">Ovulation</a>'
 		'<a href="exec:Cycle = 3 & gs ''stat'' & dynamic $cheatmenu[''state'']">Luteal</a>'
+	else
+		dynamic $cheatmenu['state']
 	end
 }
 
@@ -539,7 +552,7 @@ $cheatmenu['state'] = {
 	'<a href="exec:dynamic $cheatmenu[''force_preg''] & gs ''stat''">Force random pregnancy</a>'
 	'<a href="exec:dynamic $cheatmenu[''remove_preg''] & gs ''stat''">Remove pregnancy</a>'
 	'<a href="exec:gs''cum_cleanup'',''reset'' & dynamic $cheatmenu[''state''] & gs ''stat''">Remove all cum</a>'
-	'<a href="exec:dynamic $cheatmenu[''cycle''] & gs ''stat''">Set stage of menstrual cycle</a>'
+	if cycle ! 5: '<a href="exec:dynamic $cheatmenu[''cycle''] & gs ''stat''">Set stage of menstrual cycle</a>'
 
 	if lactation['active'] <= 0:
 		'You are not lactating'
@@ -590,7 +603,6 @@ $cheatmenu['set_preg_body'] = {
 	gs 'body', 'softreset'
 	gs 'stat'
 	dynamic $cheatmenu['bodyMod']
-	cls
 }
 
 $cheatmenu['set_body_class'] = {
@@ -598,7 +610,6 @@ $cheatmenu['set_body_class'] = {
 	gs 'body', 'softreset'
 	gs 'stat'
 	dynamic $cheatmenu['bodyMod']
-	cls
 }
 
 $cheatmenu['bodyMod'] = {
@@ -3465,10 +3476,10 @@ $cheatmenu['items'] = {
 		*pl 'Fabric: <a href="exec:mc_inventory[''sewing_fabric'']=input(''Set number'') & dynamic $cheatmenu[''items'']"><b> <<mc_inventory[''sewing_fabric'']>> </b></a>'
 
 		if mc_inventory['sewing_kit'] = 0:
-			*pl 'Sewing kit: <a href="exec:sewing_kit = 1 & dynamic $cheatmenu[''items'']"><b>none</b></a>'
+			*pl 'Sewing kit: <a href="exec:mc_inventory[''sewing_kit''] = 1 & dynamic $cheatmenu[''items'']"><b>none</b></a>'
 		end
 		if mc_inventory['sewing_kit'] = 1:
-			*pl 'Sewing kit: <a href="exec:sewing_kit = 0 & dynamic $cheatmenu[''items'']"><b>owned</b></a>'
+			*pl 'Sewing kit: <a href="exec:mc_inventory[''sewing_kit''] = 1 & dynamic $cheatmenu[''items'']"><b>owned</b></a>'
 		end
 
 		if bag = 1:

+ 14 - 14
locations/DNA.qsrc

@@ -12,34 +12,34 @@ if $ARGS[0] = 'relate':
 !!Comparing two DNA string to determine genetic relation
 	!!First sample
 	!!own ID
-	temp1[0] = $mid ($ARGS[1], 1, 10)
+	temp1[0] = val($mid($ARGS[1], 1, 10))
 	!!mother ID
-	temp1[1] = $mid ($ARGS[1], 12, 10)
+	temp1[1] = val($mid($ARGS[1], 12, 10))
 	!!father ID
-	temp1[2] = $mid ($ARGS[1], 23, 10)
+	temp1[2] = val($mid($ARGS[1], 23, 10))
 	!!maternal grandmother ID
-	temp1[3] = $mid ($ARGS[1], 34, 10)
+	temp1[3] = val($mid($ARGS[1], 34, 10))
 	!!maternal grandfather ID
-	temp1[4] = $mid ($ARGS[1], 45, 10)
+	temp1[4] = val($mid($ARGS[1], 45, 10))
 	!!paternal grandmother ID
-	temp1[5] = $mid ($ARGS[1], 56, 10)
+	temp1[5] = val($mid($ARGS[1], 56, 10))
 	!!paternal grandfather ID
-	temp1[6] = $mid ($ARGS[1], 67, 10)
+	temp1[6] = val($mid($ARGS[1], 67, 10))
 	!!Second sample
 	!!own ID
-	temp2[0] = $mid ($ARGS[2], 1, 10)
+	temp2[0] = val($mid($ARGS[2], 1, 10))
 	!!mother ID
-	temp2[1] = $mid ($ARGS[2], 12, 10)
+	temp2[1] = val($mid($ARGS[2], 12, 10))
 	!!father ID
-	temp2[2] = $mid ($ARGS[2], 23, 10)
+	temp2[2] = val($mid($ARGS[2], 23, 10))
 	!!maternal grandmother ID
-	temp2[3] = $mid ($ARGS[2], 34, 10)
+	temp2[3] = val($mid($ARGS[2], 34, 10))
 	!!maternal grandfather ID
-	temp2[4] = $mid ($ARGS[2], 45, 10)
+	temp2[4] = val($mid($ARGS[2], 45, 10))
 	!!paternal grandmother ID
-	temp2[5] = $mid ($ARGS[2], 56, 10)
+	temp2[5] = val($mid($ARGS[2], 56, 10))
 	!!paternal grandfather ID
-	temp2[6] = $mid ($ARGS[2], 67, 10)
+	temp2[6] = val($mid($ARGS[2], 67, 10))
 	
 	killvar 'gen_relationship'
 	

+ 10 - 5
locations/HotelRoom.qsrc

@@ -16,7 +16,7 @@ if $ARGS[0] = 'normal':
 	gs 'themes', 'indoors'
 	gs 'stat'
 	gs 'internet_mobile', 'get_access', 'free'
-
+	gs 'music_actions', 'clear_restrictions'
 	'<center><b><font color = maroon>Your normal hotel room</font></b></center>'
 	'<center>You have paid to stay for <<hotelRoomDays[$hotel] - daystart>> more nights in the room.</center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/hotel.room.normal.jpg"></center>'
@@ -24,7 +24,7 @@ if $ARGS[0] = 'normal':
 	'Your hotel room also has a <a href="exec:gt ''HotelRoom'',''tv''">TV</a>'+iif(mc_inventory['tech_computer'] = 1, ' and your <a href="exec: gt ''Komp'',''start''">computer</a> is on the desk. The hotel offers all guests free Wi-Fi.', '.')
 	
 	if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your bed.'
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 
 	*nl
 	act'Go to the hotel lobby':
@@ -64,6 +64,8 @@ if $ARGS[0] = 'better':
 	gs 'themes', 'indoors'
 	gs 'stat'	
 	gs 'internet_mobile', 'get_access', 'free'
+	gs 'music_actions', 'clear_restrictions'
+
 	'<center><b><font color = maroon>Your luxury room</font></b></center>'
 	'<center>You have paid to stay for <<hotelRoomDays[$hotel] - daystart>> more nights in the room.</center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/hotel.room.better.jpg"></center>'
@@ -71,7 +73,7 @@ if $ARGS[0] = 'better':
 	'Your hotel room also has a small flat-screen <a href="exec:gt ''HotelRoom'',''tv''">TV</a>'+iif(mc_inventory['tech_computer'] = 1, ' and your <a href="exec: gt ''Komp'',''start''">computer</a> is on the desk. The hotel offers all guests free Wi-Fi.', '.')
 	
 	if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your bed.'
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 	
 	act'Go to the hotel lobby':
 		if $clothingworntype ! 'nude':
@@ -110,6 +112,8 @@ if $ARGS[0] = 'best':
 	gs 'themes', 'indoors'
 	gs 'stat'	
 	gs 'internet_mobile', 'get_access', 'free'
+	gs 'music_actions', 'clear_restrictions'
+
 	'<center><b><font color = maroon>Your royal suite</font></b></center>'
 	'<center>You have paid to stay for <<hotelRoomDays[$hotel] - daystart>> more nights in the room.</center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/hotel/hotel.room.best.jpg"></center>'
@@ -117,7 +121,7 @@ if $ARGS[0] = 'best':
 	'Your hotel room also has a huge flat-screen <a href="exec:gt ''HotelRoom'',''tv''">TV</a>'+iif(mc_inventory['tech_computer'] = 1, ' and your <a href="exec: gt ''Komp'',''start''">computer</a> is on the desk. The hotel offers all guests free Wi-Fi.', '.')
 	
 	if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your bed.'
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 
 	act'Go to the hotel lobby':
 		if $clothingworntype ! 'nude':
@@ -158,6 +162,7 @@ if $ARGS[0] = 'therapist':
 	gs 'themes', 'indoors'
 	gs 'stat'	
 	gs 'internet_mobile', 'get_access', 'free'
+	gs 'music_actions', 'clear_restrictions'
 
 	'<center><b><font color = maroon>Your husband''s hotel room</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/therapist/room.jpg"></center>'
@@ -165,7 +170,7 @@ if $ARGS[0] = 'therapist':
 	'Your hotel room also has a small flat-screen <a href="exec:gt ''HotelRoom'',''tv''">TV</a>'+iif(mc_inventory['tech_computer'] = 1, ' and your <a href="exec: gt ''Komp'',''start''">computer</a> is on the desk. The hotel offers all guests free Wi-Fi.', '.')
 	
 	if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your bed.'
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 	
 	act'Go to the hotel lobby':
 		if $clothingworntype ! 'nude':

+ 5 - 7
locations/MagEncounterFairy.qsrc

@@ -247,18 +247,18 @@ if $ARGS[0] = 'teleport':
 			'The Fairy says, "It''s important to take the time to feel each Fairy Ring, that''s how you can find your way back."  She flies off.'
 			'You decide it would be wise to memorize your surroundings.'
 			spellKnown['teleport'] = 1
-			tpKnown['GadForest'] = 1
+			tpKnown['gad_forest'] = 1
 			cla
-			act 'You step out of the circle...':gt 'gadforest', 'forest_edge'
+			act 'You step out of the circle...': gt 'gad_forest', 'forest_edge'
 		end
 	else
 		!take the user to random location
 
 		'The Fairy nudges you into the nearby tree circle, and giggles as you hear her incant "inla", then flies out of the ring.'
 
-		$tpRand[0]='GadForest'
-		$tpRand[1]='PushkinPark'
-		$tpRand[2]='Village'
+		$tpRand[0] = 'gad_forest'
+		$tpRand[1] = 'PushkinPark'
+		$tpRand[2] = 'Village'
 
 		act 'See where the Fairy teleports you to': gt 'treeCircle', $tpRand[rand(0,2)]
 
@@ -266,6 +266,4 @@ if $ARGS[0] = 'teleport':
 end
 
 
-
 --- MagEncounterFairy ---------------------------------
-

+ 5 - 8
locations/MeynoldHome.qsrc

@@ -14,17 +14,16 @@ if $ARGS[0] = 'Aftermath':
 	if npc_rel['A240'] < 90:npc_rel['A240'] = 90	
 	pcs_hairbsh = 0
 	pcs_makeup = 1
-	pcs_sleep += 45
 	cumspclnt = 1
 	gs 'cum_cleanup'
-	pcs_sweat += 5	
-	minut += 270
+	pcs_sweat += 5
 	NikoAftermath = 1
-	gs'stat'
+	gs 'sleep_simple', 'forced', 270
+
 	'<center><b><h4><font color=#ffae00><<"Viktoriya [Vicky] Meynold">></font></h4></b></center>'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikomisc/meynold/vicky/vickySmile.jpg"></center>'
 	'You slowly open your eyes, and see <<$VK_VikName>> playfully shaking your shoulder. "Hey there sleepy head! Did you sleep well?" You give <<$VK_VikName>> a warm smile. "I guess but... where am I?" <<$VK_VikName>> replies, "After what happened at school, we couldn''t just leave you alone, to be abused by the boys, so we brought you back to our place." You scratch your head. "We?" <<$VK_VikName>> smiles then turns to her left.' 
-		
+
 	act 'Turn with her':	
 		*clr & cla		
 		minut += 5
@@ -94,10 +93,8 @@ if $ARGS[0] = 'Aftermath 2':
 	*clr & cla
 	music_loop = 0
 	close all
-	pcs_sleep += 10
 	pcs_sweat += 10
-	minut += 60
-	gs'stat'
+	gs 'sleep_simple', 'forced', 60
 	'<center><b><h4><font color=#ff0090><<"Katja [Kat] Meynold">></font></h4></b></center>'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikomisc/meynold/bedroom/katja.jpg"></center>'
 	'You quickly jump up, and see Katja with a concerned look on her face. "It''s okay <<$pcs_firstname>>. You were just having a bad dream." You look around the room, trying to get your bearings then turn to Katja, "Thank you Katja, I hope these nightmare don''t become a habit." Katja rubs your forehead, as she responds, "Everything will be alright. You don''t worry need to worry about anything right now. You are among friends. Remember that." As she lightly rubs your forehead. You give her a smile and an approving nod. Katja returns the smile before saying, "Now that''s what I like to see, a fresh smile."' 

+ 4 - 7
locations/NikoDates.qsrc

@@ -580,13 +580,10 @@ if $ARGS[0] = 'date_rape':
 					act '...':
 						*clr & cla
 						gs 'clothing', 'wear_last_worn'
-						if NikoEv < 4:NikoEv = 4
-						if hour > 6:gs 'cikl'
-						hour = 6
-						minut = 0
-						pcs_sleep = 100
+						if NikoEv < 4: NikoEv = 4
 						NikoDate = 0
-						gs 'stat'
+						gs 'sleep_simple', 'sleep_until', 6, 0
+
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikoev/dates/2/Home/wake.jpg"></center>'
 						'You awaken to birds chirping and roll around in the bed before a splitting headache suddenly hits you as Niko walks into the room with a bowl of cereal in his hand and lays down next to you. "Hey you''re up. You were way too tipsy yesterday, so I took you to my place to catch some shut eye." He takes a spoonful of cereal and puts it in his mouth, chomping down on his breakfast before continuing. "I hope you slept well."'
 						'"I feel awful!" you reply. "My head is killing me."'
@@ -595,7 +592,7 @@ if $ARGS[0] = 'date_rape':
 						
 						act 'Continue':
 							*clr & cla
-							gs 'stat'						
+							gs 'stat'
 							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikoev/smile1.jpg"></center>'							
 							'Niko kisses your leg. "You were a bit wild. It was a side of you that I haven''t seen before and I liked it."' 
 							'"Really?" you reply. "Well, I guess I could try cutting loose a bit more often."'

+ 1 - 1
locations/NikoDreams.qsrc

@@ -469,7 +469,7 @@ if $ARGS[0] =  'friends':
 										gs 'stat'							
 										'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikomisc/nightmares/friends/darkness.jpg"></center>'
 										'You fall to the ground and stare at your stomach, watching as an almost endless stream of cum pours out of you. You suddenly hear someone whisper in your ear. "Hey, are you alright?" You look around to see who it was, but see nothing at all. You''re surrounded by darkness. '+$OpenInnerThought+'Where did everyone go? Where am I? It''s so dark.'+$CloseInnerThought+' You hear the voice whisper again. "<<$pcs_firstname>>, wake up..."'
-										act '...':minut += 120 & gt 'NikoEv2', 'niko_wake'
+										act '...': gt 'NikoEv2', 'niko_wake'
 									end	
 								end	
 							end	

+ 2 - 4
locations/NikoEv2.qsrc

@@ -219,8 +219,7 @@ if $ARGS[0] = 'Reward':
 												
 												act 'Enter Niko''s room':	
 													*clr & cla
-													minut += 10
-													gs 'stat'
+													gs 'sleep_simple', 'forced', 130
 													'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikomisc/home/bedroom/laying.jpg"></center>'
 													'As you enter the room, Niko lays you down and climbs into the bed next to you, running his fingers through your hair while staring into your eyes. You feel incredibly lightheaded as your nerves have drained you of any focused thoughts. You close your eyes as you feel your energy slowly fading away...'
 													
@@ -241,11 +240,10 @@ end
 
 if $ARGS[0] = 'niko_wake':
 	*clr & cla
-	pcs_sleep += 20
 	NikoVolkovQW = 10
 	NikoEv = 12
-	minut += 5
 	gs 'stat'
+
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikoev/charmer2.jpg"></center>'
 	'You open your eyes and see Niko with a concerned look on his face, his hand on your shoulder shaking you. "<<$pcs_firstname>>, are you alright? You looked like you were having an intense dream."' 
 	'You quickly look around the room and take several deep breaths as Niko gives you a kiss on the forehead. "I''m so worried about you. Are you alright?"'

+ 1 - 3
locations/Palatka.qsrc

@@ -22,9 +22,7 @@ if $ARGS[0] = 'start':
 	act 'Leave': gt 'Military', 'start'
 
 	act 'Sleep':
-		minut += 480
-		gs 'stat'
-		pcs_sleep = 100
+		gs 'sleep_simple', 'forced', 480
 		gt 'palatka', 'start'
 	end
 end

+ 95 - 101
locations/SMS_selfies.qsrc

@@ -43,15 +43,21 @@ end
 
 
 if $ARGS[0] = 'show_sms':
-	$temp_curSMS = $SMSMessage[ARGS[1]]
-	$SMSMessage[ARGS[1]] = $temp_SMS_selfietext
-	gs 'telefon', 'show_sms', ARGS[1]
-	$SMSMessage[ARGS[1]] = $temp_curSMS
-	killvar '$temp_SMS_selfietext'
+	$temp_curSMS = $SMSMessage[SMSSelfieVars['SMSid']]
+	$temp_curReplies = $SMSReplies[SMSSelfieVars['SMSid']]
+	$SMSMessage[SMSSelfieVars['SMSid']] = $SMSSelfieVars['text']
+	$SMSReplies[SMSSelfieVars['SMSid']] = ''
+	gs 'telefon', 'show_sms', SMSSelfieVars['SMSid']
+	$SMSMessage[SMSSelfieVars['SMSid']] = $temp_curSMS
+	$SMSReplies[SMSSelfieVars['SMSid']] = $temp_curReplies
+	SMSSelfieVars['text'] = ''
+	killvar 'temp_curSMS'
+	killvar 'temp_curReplies'
 end
 
 if $ARGS[0] = 'exit':
-	gs 'telefon', 'show_sms', ARGS[1]
+	gs 'telefon', 'show_sms', SMSSelfieVars['SMSid']
+	killvar 'SMSSelfieVars'
 end
 
 
@@ -63,13 +69,15 @@ end
 	!!                                                           !!
 	!!===========================================================!!
 
-
 ! $ARGS[1] = control string
 !  ARGS[2] = telefon['SMSid']
 ! $ARGS[3] -> onward = return string
-if $ARGS[0] = 'selfie_menu':
-	gs 'phone_selfies', 'Phone_selfie_totals'
-	
+if $ARGS[0] = 'send_selfie':
+	killvar 'SMSSelfieVars'
+
+	$SMSSelfieVars['control'] = $ARGS[1]
+	SMSSelfieVars['SMSid'] = ARGS[2]
+
 	!! Create the return string
 	$temp_return_string = ''
 	sms_s_n_args = arrsize('$ARGS')
@@ -81,80 +89,66 @@ if $ARGS[0] = 'selfie_menu':
 		jump 'add_rest_ARGS_loop'
 	end
 	$temp_return_string = mid($temp_return_string, 1, len($temp_return_string)-2)
+	$SMSSelfieVars['return_string'] = $temp_return_string
 
+	killvar 'temp_return_string'
+	killvar 'sms_s_n_args'
+	killvar 'sms_s_i'
+
+	gs 'SMS_selfies', 'selfie_menu'
+end
+
+
+if $ARGS[0] = 'selfie_menu':
+	gs 'phone_selfies', 'Phone_selfie_totals'
 
 	! reset temp_SMS_selftext
-	$temp_SMS_selfietext = '<table width=80%><th>Selfies</th><tr><td>'
+	$SMSSelfieVars['text'] = '<table width=80%><th>Selfies</th><tr><td>'
 	temp_locationCnt = 0
 	:LocationLoop
-		$temp_SMS_selfietext += '<a href="exec: gs ''SMS_selfies'', ''showlocation'', <<temp_locationCnt>>, ''<<$ARGS[1]>>'', <<ARGS[2]>>, <<$temp_return_string>>"><<$selfieLocDesc[temp_locationCnt]>> selfies</a>'
-		$temp_SMS_selfietext += '</tr></td><tr><td>'
+		$SMSSelfieVars['text'] += '<a href="exec: gs ''SMS_selfies'', ''showlocation'', <<temp_locationCnt>>"><<$selfieLocDesc[temp_locationCnt]>> selfies</a>'
+		$SMSSelfieVars['text'] += '</tr></td><tr><td>'
 		temp_locationCnt += 1
 	if temp_locationCnt < arrsize('$selfieLoc'): jump 'LocationLoop'
 
-	$temp_SMS_selfietext += '<a href="exec: gs ''SMS_selfies'', ''exit'', <<ARGS[2]>>">Exit</a></td></tr></table>'
-	gs 'SMS_selfies', 'show_sms', ARGS[2]
+	$SMSSelfieVars['text'] += '<a href="exec: gs ''SMS_selfies'', ''exit'', <<ARGS[2]>>">Exit</a></td></tr></table>'
+
+	gs 'SMS_selfies', 'show_sms'
 
 	killvar 'temp_locationCnt'
-	killvar '$temp_return_string'
 	killvar 'sms_s_i'
 	killvar 'sms_s_n_args'
 end
 
 !  ARGS[1] = temp_locationCnt
-! $ARGS[2] = control string
-!  ARGS[3] = telefon['SMSid']
-! $ARGS[4] -> onward = return string
 if $ARGS[0] = 'showlocation':
+	$SMSSelfieVars['text'] = '<table width=80%><tr><th><font color="maroon"><<$selfieLocDesc[ARGS[1]]>> selfies</font></th></tr>'
 
-	!! Create the return string
-	$temp_return_string = ''
-	sms_s_n_args = arrsize('$ARGS')
-	sms_s_i = 4
-	:add_rest_ARGS_loop2
-	if sms_s_i < sms_s_n_args:
-		$temp_return_string += '''<<$ARGS[sms_s_i]>>'', '
-		sms_s_i += 1
-		jump 'add_rest_ARGS_loop2'
-	end
-	$temp_return_string = mid($temp_return_string, 1, len($temp_return_string)-2)
-
-	$temp_SMS_selfietext = '<table width=80%><tr><th><font color="maroon"><<$selfieLocDesc[ARGS[1]]>> selfies</font></th></tr>'
+	gs 'SMS_selfies', 'listretrieve', ARGS[1], $selfieLoc[ARGS[1]]
 
-	gs 'SMS_selfies', 'listretrieve', ARGS[1], $selfieLoc[ARGS[1]], $ARGS[2], ARGS[3], $temp_return_string
+	$SMSSelfieVars['text'] += '<tr><td colspan=3><a href="exec: gs ''SMS_selfies'', ''selfie_menu''">Go Back</a></td></tr>'
+	$SMSSelfieVars['text'] += '<tr><td colspan=3><a href="exec: gs ''SMS_selfies'', ''exit''">Exit</a></td></tr></table>'
 
-	$temp_SMS_selfietext += '<tr><td colspan=3><a href="exec: gs ''SMS_selfies'', ''selfie_menu'', ''<<$ARGS[2]>>'', <<ARGS[3]>>, <<$temp_return_string>>">Go Back</a></td></tr>'
-	$temp_SMS_selfietext += '<tr><td colspan=3><a href="exec: gs ''SMS_selfies'', ''exit'', <<ARGS[3]>>">Exit</a></td></tr></table>'
-
-	gs 'SMS_selfies', 'show_sms', ARGS[3]
-
-	killvar '$temp_return_string'
-	killvar 'sms_s_i'
-	killvar 'sms_s_n_args'
+	gs 'SMS_selfies', 'show_sms'
 end
 
 !  ARGS[1] = the index of the location in $selfieLoc[]
 ! $ARGS[2] = the selfie location (park, home, etc)
-! $ARGS[3] = control string
-!  ARGS[4] = telefon['SMSid']
-! $ARGS[5] = return string
 if $ARGS[0] = 'listretrieve':
-	if strpos($ARGS[3], 'c')	> 0:	gs 'SMS_selfies', 'retrieve_clothed_selfies',		ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'sw')	> 0:	gs 'SMS_selfies', 'retrieve_swim_selfies',			ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'u')	> 0:	gs 'SMS_selfies', 'retrieve_underwear_selfies',		ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'n')	> 0:	gs 'SMS_selfies', 'retrieve_nude_selfies',			ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'b')	> 0:	gs 'SMS_selfies', 'retrieve_bath_selfies',			ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'sh')	> 0:	gs 'SMS_selfies', 'retrieve_shower_selfies',		ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'ft')	> 0:	gs 'SMS_selfies', 'retrieve_titflash_selfies',		ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'fa')	> 0:	gs 'SMS_selfies', 'retrieve_assflash_selfies',		ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
-	if strpos($ARGS[3], 'fp')	> 0:	gs 'SMS_selfies', 'retrieve_pussyflash_selfies',	ARGS[1], $ARGS[2], $ARGS[5], ARGS[4]
+	if strpos($SMSSelfieVars['control'], 'c')	> 0:	gs 'SMS_selfies', 'retrieve_clothed_selfies',		ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'sw')	> 0:	gs 'SMS_selfies', 'retrieve_swim_selfies',			ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'u')	> 0:	gs 'SMS_selfies', 'retrieve_underwear_selfies',		ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'n')	> 0:	gs 'SMS_selfies', 'retrieve_nude_selfies',			ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'b')	> 0:	gs 'SMS_selfies', 'retrieve_bath_selfies',			ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'sh')	> 0:	gs 'SMS_selfies', 'retrieve_shower_selfies',		ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'ft')	> 0:	gs 'SMS_selfies', 'retrieve_titflash_selfies',		ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'fa')	> 0:	gs 'SMS_selfies', 'retrieve_assflash_selfies',		ARGS[1], $ARGS[2]
+	if strpos($SMSSelfieVars['control'], 'fp')	> 0:	gs 'SMS_selfies', 'retrieve_pussyflash_selfies',	ARGS[1], $ARGS[2]
 end
 
 
 !  ARGS[1] = the index of the location in $selfieLoc[]
 ! $ARGS[2] = the selfie location (park, home, etc)
-! $ARGS[3] = return string
-!  ARGS[4] = telefon['SMSid']
 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:
@@ -166,14 +160,14 @@ if $ARGS[0] = 'retrieve_clothed_selfies':
 			!!setting value to unmixed variable so it can be checked in the if below
 			dynamic 'phone_locval = <<$ARGS[2]>>_closelfie[<<temp_clocnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 3: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 3: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'clothed', ARGS[1], temp_clocnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'clothed', ARGS[1], temp_clocnt) + '</td>'
 			end
 			temp_clocnt += 1
 		if temp_clocnt <= selfieClotot[ARGS[1]]: jump 'temp_loop'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_clocnt'
 		killvar 'temp_cnum'
@@ -190,14 +184,14 @@ elseif $ARGS[0] = 'retrieve_swim_selfies':
 			!!setting value to unmixed variable so it can be checked in the if below
 			dynamic 'phone_locval = <<$ARGS[2]>>_swim[<<temp_swicnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'bikini', ARGS[1], temp_swicnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'bikini', ARGS[1], temp_swicnt) + '</td>'
 			end
 			temp_swicnt += 1
 		if temp_swicnt <= selfieClotot[ARGS[1]]: jump 'temp_loop1'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_swicnt'
 		killvar 'temp_cnum'
@@ -212,15 +206,15 @@ elseif $ARGS[0] = 'retrieve_underwear_selfies':
 		:temp_loop2
 			dynamic 'phone_locval = <<$ARGS[2]>>_undselfie[<<temp_undcnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'underwear', ARGS[1], temp_undcnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'underwear', ARGS[1], temp_undcnt) + '</td>'
 			end
 			temp_undcnt += 1
 		if temp_undcnt <= selfieUndtot[ARGS[1]]: jump 'temp_loop2'
 
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_swicnt'
 		killvar 'temp_cnum'
@@ -235,14 +229,14 @@ elseif $ARGS[0] = 'retrieve_nude_selfies':
 		:temp_loop3
 			dynamic 'phone_locval = <<$ARGS[2]>>_nudselfie[<<temp_nudcnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'nude', ARGS[1], temp_nudcnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'nude', ARGS[1], temp_nudcnt) + '</td>'
 			end
 			temp_nudcnt += 1
 		if temp_nudcnt <= selfieNudtot[ARGS[1]]: jump 'temp_loop3'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_nudcnt'
 		killvar 'temp_cnum'
@@ -258,14 +252,14 @@ elseif $ARGS[0] = 'retrieve_bath_selfies':
 		:temp_loop4
 			dynamic 'phone_locval = <<$ARGS[2]>>_bathselfie[<<temp_bathcnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'bath', ARGS[1], temp_bathcnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'bath', ARGS[1], temp_bathcnt) + '</td>'
 			end
 			temp_bathcnt += 1
 		if temp_bathcnt <= selfieBathtot[ARGS[1]]: jump 'temp_loop4'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_bathcnt'
 		killvar 'temp_cnum'
@@ -281,14 +275,14 @@ elseif $ARGS[0] = 'retrieve_shower_selfies':
 		:temp_loop5
 			dynamic 'phone_locval = <<$ARGS[2]>>_showerselfie[<<temp_showercnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'shower', ARGS[1], temp_showercnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'shower', ARGS[1], temp_showercnt) + '</td>'
 			end
 			temp_showercnt += 1
 		if temp_showercnt <= selfieShowertot[ARGS[1]]: jump 'temp_loop5'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_showercnt'
 		killvar 'temp_cnum'
@@ -304,14 +298,14 @@ elseif $ARGS[0] = 'retrieve_titflash_selfies':
 		:temp_loop6
 			dynamic 'phone_locval = <<$ARGS[2]>>_titflash[<<temp_flashtitscnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'titflash', ARGS[1], temp_flashtitscnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'titflash', ARGS[1], temp_flashtitscnt) + '</td>'
 			end
 			temp_flashtitscnt += 1
 		if temp_flashtitscnt <= selfieTitflash[ARGS[1]]: jump 'temp_loop6'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_flashtitscnt'
 		killvar 'temp_cnum'
@@ -327,14 +321,14 @@ elseif $ARGS[0] = 'retrieve_assflash_selfies':
 		:temp_loop7
 			dynamic 'phone_locval = <<$ARGS[2]>>_assflash[<<temp_flashasscnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'assflash', ARGS[1], temp_flashasscnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'assflash', ARGS[1], temp_flashasscnt) + '</td>'
 			end
 			temp_flashasscnt += 1
 		if temp_flashasscnt <= selfieAssflash[ARGS[1]]: jump 'temp_loop7'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_flashasscnt'
 		killvar 'temp_cnum'
@@ -350,14 +344,14 @@ elseif $ARGS[0] = 'retrieve_pussyflash_selfies':
 		:temp_loop8
 			dynamic 'phone_locval = <<$ARGS[2]>>_pussyflash[<<temp_flashpussycnt>>]'
 			if phone_locval = 1:
-				if temp_cnum = 2: $temp_SMS_selfietext += '</tr><tr>' & temp_cnum = 0
+				if temp_cnum = 2: $SMSSelfieVars['text'] += '</tr><tr>' & temp_cnum = 0
 				temp_cnum += 1
-				$temp_SMS_selfietext += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[3], ARGS[4], $ARGS[2], 'pussyflash', ARGS[1], temp_flashpussycnt) + '</td>'
+				$SMSSelfieVars['text'] += '<td width="33%">' + func('phone_selfies_popup', 'SMS_set_selfie', $ARGS[2], 'pussyflash', ARGS[1], temp_flashpussycnt) + '</td>'
 			end
 			temp_flashpussycnt += 1
 		if temp_flashpussycnt <= selfiePussyflash[ARGS[1]]: jump 'temp_loop8'
-		if temp_cnum ! 2: $temp_SMS_selfietext += '<td></td>'
-		$temp_SMS_selfietext += '</tr>'
+		if temp_cnum ! 2: $SMSSelfieVars['text'] += '<td></td>'
+		$SMSSelfieVars['text'] += '</tr>'
 
 		killvar 'temp_flashpussycnt'
 		killvar 'temp_cnum'
@@ -415,10 +409,10 @@ if $ARGS[0] = 'take_selfie_menu':
 	$temp_return_string = mid($temp_return_string, 1, len($temp_return_string)-2)
 
 
-	$temp_SMS_selfietext = '<table width=80%><th>Camera</th><tr><td>'
+	$SMSSelfieVars['text'] = '<table width=80%><th>Camera</th><tr><td>'
 	if $phone_loc ! '' or strpos($ARGS[1], 'c') > 0:
-		$temp_SMS_selfietext += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', '''', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>>"><b>Take a selfie</b></a>'
-		$temp_SMS_selfietext += '</tr></td><tr><td>'
+		$SMSSelfieVars['text'] += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', '''', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>>"><b>Take a selfie</b></a>'
+		$SMSSelfieVars['text'] += '</tr></td><tr><td>'
 	end
 	!! Flashing selfie
 	if $clothingworntype ! 'nude' and $phone_loc <> '':
@@ -428,20 +422,20 @@ if $ARGS[0] = 'take_selfie_menu':
 			locIndex = arrpos(1, '$selfieLoc', $phone_loc)
 		end
 		if strpos($ARGS[1], 'ft') > 0 and (pcs_inhib >= 35 or exhibitionist_lvl > 0 or $phone_loc = 'bedroom') and selfieTitflash[locIndex] > 0:
-			$temp_SMS_selfietext += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''tits'', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>> "><b>Flash your tits for a selfie</b></a><br>'
-			$temp_SMS_selfietext += '</tr></td><tr><td>'
+			$SMSSelfieVars['text'] += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''tits'', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>> "><b>Flash your tits for a selfie</b></a><br>'
+			$SMSSelfieVars['text'] += '</tr></td><tr><td>'
 		end
 		if strpos($ARGS[1], 'fa') > 0 and (exhibitionist_lvl > 0 or $phone_loc = 'bedroom') and selfieAssflash[locIndex] > 0:
-			$temp_SMS_selfietext += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''ass'', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>> "><b>Flash your ass for a selfie</b></a><br>'
-			$temp_SMS_selfietext += '</tr></td><tr><td>'
+			$SMSSelfieVars['text'] += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''ass'', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>> "><b>Flash your ass for a selfie</b></a><br>'
+			$SMSSelfieVars['text'] += '</tr></td><tr><td>'
 		end
 		if strpos($ARGS[1], 'fp') > 0 and (exhibitionist_lvl > 1 or $phone_loc = 'bedroom') and selfiePussyflash[locIndex] > 0:
-			$temp_SMS_selfietext += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''pussy'', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>> "><b>Flash your pussy for a selfie</b></a><br>'
-			$temp_SMS_selfietext += '</tr></td><tr><td>'
+			$SMSSelfieVars['text'] += '<a href="exec:gs ''exp_gain'', ''photoskl'', 1 & gs ''SMS_selfies'', ''Phone_camera_selfie'', ''<<$phone_loc>>'', ''pussy'', ''<<$ARGS[1]>>'', ARGS[2], <<$temp_return_string>> "><b>Flash your pussy for a selfie</b></a><br>'
+			$SMSSelfieVars['text'] += '</tr></td><tr><td>'
 		end
 	end
 
-	$temp_SMS_selfietext += '<a href="exec: gs ''SMS_selfies'', ''exit'', <<ARGS[2]>>">Exit</a></td></tr></table>'
+	$SMSSelfieVars['text'] += '<a href="exec: gs ''SMS_selfies'', ''exit'', <<ARGS[2]>>">Exit</a></td></tr></table>'
 	gs 'SMS_selfies', 'show_sms', ARGS[3]
 end
 

+ 52 - 51
locations/SMStext_builder.qsrc

@@ -150,48 +150,49 @@
 
 
 if $ARGS[0] = 'start':
-	$temp_SMStext = ''
+	killvar 'SMSBuilderVars'
+	killvar 'SMSBuilderReplies'
+	killvar 'SMSBuilderImages'
 
 elseif $ARGS[0] = 'end':
-	killvar '$temp_SMStext'
-	killvar '$temp_SMSreplies'
-	killvar '$temp_SMSimgs'
 	killvar 'stb_i'
 	killvar 'stb_maxi'
-	killvar '$temp_SMS_reset_flag'
-	killvar '$temp_SMSRepliestext'
+
+	killvar 'SMSBuilderVars'
+	killvar 'SMSBuilderReplies'
+	killvar 'SMSBuilderImages'
 end
 
 if $ARGS[0] = 'reset':
-	$temp_SMS_reset_flag = 1
+	SMSBuilderVars['reset_flag'] = 1
 end
 
 if $ARGS[0] = 'send':
 	temp_text_width = max(10, 90 - 2 * len($ARGS[1]))
-	$temp_SMStext += '<table width=80%><tr><td width=<<temp_text_width>>%></td><td collspan=2 bgcolor=pink style="padding-top:5pt; padding-bottom:5pt; padding-left:10pt; padding-right:3pt"><font color=black>'
-	$temp_SMStext += $ARGS[1]
-	$temp_SMStext += '</font></td></tr></table>'
+	$SMSBuilderVars['text'] += '<table width=80%><tr><td width=<<temp_text_width>>%></td><td collspan=2 bgcolor=pink style="padding-top:5pt; padding-bottom:5pt; padding-left:10pt; padding-right:3pt"><font color=black>'
+	$SMSBuilderVars['text'] += $ARGS[1]
+	$SMSBuilderVars['text'] += '</font></td></tr></table>'
 	killvar 'temp_text_width'
 
 elseif $ARGS[0] = 'send_img':
-	$temp_SMStext += '<table width=80%><tr><td width=10%></td><td collspan=2 bgcolor=pink align=center style="white-space:pre-wrap">'
+	$SMSBuilderVars['text'] += '<table width=80%><tr><td width=10%></td><td collspan=2 bgcolor=pink align=center style="white-space:pre-wrap">'
 	if $ARGS[2] = '': $ARGS[2] = $ARGS[1]
-	$temp_SMStext += '<br><img src="<<$ARGS[1]>>" alt="<<$ARGS[2]>>" style="horizontal-align:center; max-height:90%; max-width:90%"><br><br>'
-	$temp_SMStext += '</td></tr></table>'
+	$SMSBuilderVars['text'] += '<br><img src="<<$ARGS[1]>>" alt="<<$ARGS[2]>>" style="horizontal-align:center; max-height:90%; max-width:90%"><br><br>'
+	$SMSBuilderVars['text'] += '</td></tr></table>'
 
 
 elseif $ARGS[0] = 'receive':
 	temp_text_width = max(10, 90 - 2 * len($ARGS[1]))
-	$temp_SMStext += '<table width=80%><tr><td collspan=2 bgcolor="#D4CEF9" style="padding-top:5pt; padding-bottom:5pt; padding-left:10pt; padding-right:3pt"><font color=black>'
-	$temp_SMStext += $ARGS[1]
-	$temp_SMStext += '</font></td><td width=<<temp_text_width>>%></td></tr></table>'
+	$SMSBuilderVars['text'] += '<table width=80%><tr><td collspan=2 bgcolor="#D4CEF9" style="padding-top:5pt; padding-bottom:5pt; padding-left:10pt; padding-right:3pt"><font color=black>'
+	$SMSBuilderVars['text'] += $ARGS[1]
+	$SMSBuilderVars['text'] += '</font></td><td width=<<temp_text_width>>%></td></tr></table>'
 	killvar 'temp_text_width'
 
 elseif $ARGS[0] = 'receive_img':
-	$temp_SMStext += '<table width=80%><tr><td collspan=2 bgcolor="#D4CEF9" align=center style="white-space:pre-wrap">'
+	$SMSBuilderVars['text'] += '<table width=80%><tr><td collspan=2 bgcolor="#D4CEF9" align=center style="white-space:pre-wrap">'
 	if $ARGS[2] = '': $ARGS[2] = $ARGS[1]
-	$temp_SMStext += '<br><img src="<<$ARGS[1]>>" alt="<<$ARGS[2]>>" style="horizontal-align:center; max-height:90%; max-width:90%"><br><br>'
-	$temp_SMStext += '</td><td width=10%></td></tr></table>'
+	$SMSBuilderVars['text'] += '<br><img src="<<$ARGS[1]>>" alt="<<$ARGS[2]>>" style="horizontal-align:center; max-height:90%; max-width:90%"><br><br>'
+	$SMSBuilderVars['text'] += '</td><td width=10%></td></tr></table>'
 end
 
 
@@ -211,24 +212,24 @@ if $ARGS[0] = 'add_reply':
 	end
 
 	$temp_reply_str += 'telefon[''SMSid'']">' + $ARGS[1] + '</a>'
-	$temp_SMSreplies[] = $temp_reply_str
+	$SMSBuilderReplies[] = $temp_reply_str
 
 	killvar 'temp_reply_str'
 	killvar 'stb_i'
 	killvar 'stb_n_args'
 
 elseif $ARGS[0] = 'private_set_replies':
-	$temp_SMSRepliestext += '<table>'
+	$SMSBuilderVars['replies'] += '<table>'
 
-	stb_maxi = arrsize('temp_SMSreplies')
+	stb_maxi = arrsize('SMSBuilderReplies')
 	stb_i = 0
 	:SMS_reply_loop
-		$temp_SMSRepliestext += '<tr><td>' + $temp_SMSreplies[stb_i] + '</td></tr>'
+		$SMSBuilderVars['replies'] += '<tr><td>' + $SMSBuilderReplies[stb_i] + '</td></tr>'
 		stb_i += 1
 	if stb_i < stb_maxi: jump 'SMS_reply_loop'
-	$temp_SMSRepliestext += '</table>'
+	$SMSBuilderVars['replies'] += '</table>'
 
-	killvar '$temp_SMSreplies'
+	killvar 'SMSBuilderReplies'
 	killvar 'stb_i'
 	killvar 'stb_maxi'
 end
@@ -236,61 +237,61 @@ end
 
 if $ARGS[0] = 'add_end_img':
 	if $temp_imgs[0] = '':
-		$temp_SMSimgs[0] = $ARGS[1]
+		$SMSBuilderImages[0] = $ARGS[1]
 	elseif $temp_imgs[1] = '':
-		$temp_SMSimgs[1] = $ARGS[1]
+		$SMSBuilderImages[1] = $ARGS[1]
 	elseif $temp_imgs[2] = '':
-		$temp_SMSimgs[2] = $ARGS[1]
+		$SMSBuilderImages[2] = $ARGS[1]
 	elseif $temp_imgs[3] = '':
-		$temp_SMSimgs[3] = $ARGS[1]
+		$SMSBuilderImages[3] = $ARGS[1]
 	end
 end
 
 if $ARGS[0] = 'private_set_end_img':
 	stb_i = 0
 	:stb_psei_loop
-	if stb_i < arrsize('temp_SMSimgs'):
+	if stb_i < arrsize('SMSBuilderImages'):
 		if $SMSPicture1[ARGS[1]] = '':
-			$SMSPicture1[ARGS[1]] = $temp_SMSimgs[stb_i]
+			$SMSPicture1[ARGS[1]] = $SMSBuilderImages[stb_i]
 		elseif $SMSPicture2[ARGS[1]] = '':
-			$SMSPicture2[ARGS[1]] = $temp_SMSimgs[stb_i]
+			$SMSPicture2[ARGS[1]] = $SMSBuilderImages[stb_i]
 		elseif $SMSPicture3[ARGS[1]] = '':
-			$SMSPicture3[ARGS[1]] = $temp_SMSimgs[stb_i]
+			$SMSPicture3[ARGS[1]] = $SMSBuilderImages[stb_i]
 		elseif $SMSPicture4[ARGS[1]] = '':
-			$SMSPicture4[ARGS[1]] = $temp_SMSimgs[stb_i]
+			$SMSPicture4[ARGS[1]] = $SMSBuilderImages[stb_i]
 		end
 		stb_i += 1
 	end
 	killvar 'stb_i'
-	killvar '$temp_SMSimgs'
+	killvar '$SMSBuilderImages'
 end
 
 if $ARGS[0] = 'add_sms':
-	if arrsize('temp_SMSreplies') > 0: 
+	if arrsize('SMSBuilderReplies') > 0: 
 		gs 'SMStext_builder', 'private_set_replies'
 	else
-		$temp_SMSRepliestext = ''
+		$SMSBuilderVars['replies'] = ''
 	end
-	gs 'telefon', 'add_sms', $ARGS[1], $temp_SMStext, $temp_SMSRepliestext, $temp_SMSimgs[0], $temp_SMSimgs[1], $temp_SMSimgs[2], $temp_SMSimgs[3]
+	gs 'telefon', 'add_sms', $ARGS[1], $SMSBuilderVars['text'], $SMSBuilderVars['replies'], $SMSBuilderImages[0], $SMSBuilderImages[1], $SMSBuilderImages[2], $SMSBuilderImages[3]
 	
-	killvar '$temp_SMSRepliestext'
+	SMSBuilderVars['replies'] = ''
 
 elseif $ARGS[0] = 'show_sms':
-	if arrsize('temp_SMSreplies') > 0:
+	if arrsize('SMSBuilderReplies') > 0:
 		gs 'SMStext_builder', 'private_set_replies'
 	else
-		killvar '$temp_SMSRepliestext'
+		$SMSBuilderVars['replies'] = ''
 	end
-	if arrsize('temp_SMSimgs') > 0: gs 'SMStext_builder', 'private_set_end_img', ARGS[1]
-	if temp_SMS_reset_flag = 1: $SMSMessage[ARGS[1]] = ''
+	if arrsize('SMSBuilderImages') > 0: gs 'SMStext_builder', 'private_set_end_img', ARGS[1]
+	if SMSBuilderVars['reset_flag'] = 1: $SMSMessage[ARGS[1]] = ''
 
-	$SMSMessage[ARGS[1]] += $temp_SMStext
-	$SMSReplies[ARGS[1]] = $temp_SMSRepliestext
+	$SMSMessage[ARGS[1]] += $SMSBuilderVars['text']
+	$SMSReplies[ARGS[1]] = $SMSBuilderVars['replies']
 	gs 'telefon', 'show_sms', ARGS[1]
 
-	killvar 'temp_SMS_reset_flag'
-	killvar '$temp_SMStext'
-	killvar '$temp_SMSRepliestext'
+	SMSBuilderVars['reset_flag'] = 0
+	$SMSBuilderVars['text'] = ''
+	$SMSBuilderVars['replies'] = ''
 end
 
 ! $ARGS[1] = displayed text
@@ -301,7 +302,7 @@ end
 ! $ARGS[3] -> onward = the return location.
 ! gs 'SMStext_builder', 'send_selfie', 'Send a sexy selfie', 'c|b|ft', 'band_tour_anushka_SMS', 'Week8', 'Choice_a'
 if $ARGS[0] = 'send_selfie':
-	$temp_reply_str = '[Selfie] <a href="exec: gs ''SMS_selfies'', ''selfie_menu'', ''<<lcase($ARGS[2])>>'', telefon[''SMSid'']'
+	$temp_reply_str = '[Selfie] <a href="exec: gs ''SMS_selfies'', ''send_selfie'', ''<<lcase($ARGS[2])>>'', telefon[''SMSid'']'
 
 	stb_n_args = arrsize('$ARGS')
 	stb_i = 3
@@ -313,7 +314,7 @@ if $ARGS[0] = 'send_selfie':
 	end
 
 	$temp_reply_str += '"><<$ARGS[1]>></a>'
-	$temp_SMSreplies[] = $temp_reply_str
+	$SMSBuilderReplies[] = $temp_reply_str
 
 	killvar 'temp_reply_str'
 	killvar 'stb_i'
@@ -343,7 +344,7 @@ if $ARGS[0] = 'take_selfie':
 	end
 
 	$temp_reply_str += '"><<$ARGS[1]>></a>'
-	$temp_SMSreplies[] = $temp_reply_str
+	$SMSBuilderReplies[] = $temp_reply_str
 
 	killvar 'temp_reply_str'
 	killvar 'stb_i'

+ 1 - 7
locations/Serge_Shulgin.qsrc

@@ -100,13 +100,7 @@ if $ARGS[0] = 'sleep':
 				cla
 				'You get comfortable in Sergey''s bed, and sleep for a few hours.'
 				npc_rel['A112'] += 1
-				minut += 240
-				if pcs_sleep >= 60: 
-					pcs_sleep = 100
-				else
-					pcs_sleep += 40
-				end
-				gs 'stat'
+				gs 'sleep_simple', 'forced', 240
 				act 'Get out of bed': gt 'vasilyhome', 'sergey_room'
 			end
 			if pcs_horny > 30 and mesec <= 0: act 'Try to seduce Sergey': gt 'Serge_Shulgin','hide','sleep_prstsex'

+ 8 - 8
locations/TerminalOffice.qsrc

@@ -83,7 +83,7 @@ if $ARGS[0] = '11':
 		'You talk with the Manager about buying small trinkets...'
 		
 		!Get current balances
-		TovarRepository1 = tovarL
+		TovarRepository1 = mc_inventory['trinkets_home']
 		if TovarRepository1 => TovarLimitRepository1:
 			'There is no more free space at home.'
 		else
@@ -94,7 +94,7 @@ if $ARGS[0] = '11':
 		
 		if YouCanGar > 0:
 			!Get the current balances in the garage
-			TovarRepository2 = GarTorgItem
+			TovarRepository2 = mc_inventory['trinkets_garage']
 			if TovarRepository2 => TovarLimitRepository2:
 				'There is no space in the garage.'
 			else
@@ -139,18 +139,18 @@ if $ARGS[0] = '11':
 					
 					!First populate channelise 1
 					if MaxQuantityA => MaxQuantity1:
-						tovarL = TovarRepository1 + MaxQuantity1
+						mc_inventory['trinkets_home'] = TovarRepository1 + MaxQuantity1
 						MaxQuantityA -= MaxQuantity1
 						if YouCanGar > 0 : *P ', in t.h. <<MaxQuantity1>> PCs. storage room, garage <<MaxQuantityA>> PCs.'
 					else
 						if YouCanGar > 0 : *P ', in t.h. <<MaxQuantityA>> PCs. storage room, garage 0 PCs.'
-						tovarL = TovarRepository1 + MaxQuantityA
+						mc_inventory['trinkets_home'] = TovarRepository1 + MaxQuantityA
 						MaxQuantityA = 0
 					end
 					
 					!Now fill channelise 2
 					if MaxQuantityA > 0:
-						GarTorgItem = TovarRepository2 + MaxQuantityA
+						mc_inventory['trinkets_garage'] = TovarRepository2 + MaxQuantityA
 					end
 					
 					if YouCanGar = 0 and money > 100: 
@@ -191,18 +191,18 @@ if $ARGS[0] = '11':
 					
 					!First populate channelise 1
 					if MaxQuantityA => MaxQuantity1:
-						tovarL = TovarRepository1 + MaxQuantity1
+						mc_inventory['trinkets_home'] = TovarRepository1 + MaxQuantity1
 						MaxQuantityA -= MaxQuantity1
 						if YouCanGar > 0 : *P ', in t.h. <<MaxQuantity1>> PCs. storage room, garage <<MaxQuantityA>> PCs.'
 					else
 						if YouCanGar > 0 : *P ', in t.h. <<MaxQuantityA>> PCs. storage room, garage 0 PCs.'
-						tovarL = TovarRepository1 + MaxQuantityA
+						mc_inventory['trinkets_home'] = TovarRepository1 + MaxQuantityA
 						MaxQuantityA = 0
 					end
 					
 					!Now fill channelise 2
 					if MaxQuantityA > 0:
-						GarTorgItem = TovarRepository2 + MaxQuantityA
+						mc_inventory['trinkets_garage'] = TovarRepository2 + MaxQuantityA
 					end
 					
 					if YouCanGar = 0 and money > 100: 

+ 34 - 34
locations/_attributes_school.qsrc

@@ -1,5 +1,5 @@
 # $attributes_school
-!!2022/01/26
+!!2024/04/04
 !Quality range is usually 2-5.
 
 if ARGS[1] = 1:
@@ -10,14 +10,14 @@ if ARGS[1] = 1:
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 2:
-	CloQuality = 4
+	CloQuality = 5
 	CloThinness = 1
 	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 3:
-	CloQuality = 4
+	CloQuality = 5
 	CloThinness = 1
 	CloTopCut = 1
 	CloSkirtShortness = 2
@@ -25,9 +25,9 @@ elseif ARGS[1] = 3:
 	
 elseif ARGS[1] = 4:
 	CloQuality = 5
-	CloThinness = 1
+	CloThinness = 3
 	CloTopCut = 1
-	CloSkirtShortness = 2
+	CloSkirtShortness = 3
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 5:
@@ -80,7 +80,7 @@ elseif ARGS[1] = 11:
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 12:
-	CloQuality = 3
+	CloQuality = 2
 	CloThinness = 4
 	CloTopCut = 1
 	CloSkirtShortness = 2
@@ -104,12 +104,12 @@ elseif ARGS[1] = 15:
 	CloQuality = 3
 	CloThinness = 3
 	CloTopCut = 1
-	CloSkirtShortness = 3
+	CloSkirtShortness = 4
 	CloBimbo = 1
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 16:
-	CloQuality = 4
+	CloQuality = 5
 	CloThinness = 3
 	CloTopCut = 1
 	CloSkirtShortness = 3
@@ -124,7 +124,7 @@ elseif ARGS[1] = 17:
 	
 elseif ARGS[1] = 18:
 	CloQuality = 4
-	CloThinness = 4
+	CloThinness = 3
 	CloTopCut = 1
 	CloSkirtShortness = 4
 	CloStyle2 = 4
@@ -147,14 +147,14 @@ elseif ARGS[1] = 21:
 	CloQuality = 4
 	CloThinness = 3
 	CloTopCut = 1
-	CloSkirtShortness = 3
+	CloSkirtShortness = 4
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 22:
 	CloQuality = 3
-	CloThinness = 2
+	CloThinness = 1
 	CloTopCut = 1
-	CloSkirtShortness = 4
+	CloSkirtShortness = 5
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 23:
@@ -189,12 +189,12 @@ elseif ARGS[1] = 27:
 	CloQuality = 3
 	CloThinness = 4
 	CloTopCut = 1
-	CloSkirtShortness = 4
+	CloSkirtShortness = 5
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 28:
 	CloQuality = 3
-	CloThinness = 2
+	CloThinness = 1
 	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
@@ -208,14 +208,14 @@ elseif ARGS[1] = 29:
 	
 elseif ARGS[1] = 30:
 	CloQuality = 3
-	CloThinness = 2
+	CloThinness = 1
 	CloTopCut = 1
 	CloSkirtShortness = 2
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 31:
 	CloQuality = 3
-	CloThinness = 4
+	CloThinness = 3
 	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
@@ -228,7 +228,7 @@ elseif ARGS[1] = 32:
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 33:
-	CloQuality = 5
+	CloQuality = 4
 	CloThinness = 1
 	CloTopCut = 1
 	CloSkirtShortness = 4
@@ -237,8 +237,8 @@ elseif ARGS[1] = 33:
 elseif ARGS[1] = 34:
 	CloQuality = 3
 	CloThinness = 5
-	CloTopCut = 1
-	CloSkirtShortness = 4
+	CloTopCut = 2
+	CloSkirtShortness = 5
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 35:
@@ -253,7 +253,7 @@ elseif ARGS[1] = 36:
 	CloQuality = 4
 	CloThinness = 3
 	CloTopCut = 1
-	CloSkirtShortness = 4
+	CloSkirtShortness = 5
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 37:
@@ -267,7 +267,7 @@ elseif ARGS[1] = 38:
 	CloQuality = 3
 	CloThinness = 4
 	CloTopCut = 2
-	CloSkirtShortness = 4
+	CloSkirtShortness = 5
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 39:
@@ -280,7 +280,7 @@ elseif ARGS[1] = 39:
 	
 elseif ARGS[1] = 40:
 	CloQuality = 3
-	CloThinness = 2
+	CloThinness = 3
 	CloTopCut = 2
 	CloSkirtShortness = 4
 	CloStyle2 = 4
@@ -289,7 +289,7 @@ elseif ARGS[1] = 41:
 	CloQuality = 3
 	CloThinness = 4
 	CloTopCut = 4
-	CloSkirtShortness = 4
+	CloSkirtShortness = 5
 	CloStyle2 = 4
 	CloBimbo = 1
 
@@ -308,7 +308,7 @@ elseif ARGS[1] = 43:
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 44:
-	CloQuality = 3
+	CloQuality = 5
 	CloThinness = 2
 	CloTopCut = 2
 	CloSkirtShortness = 3
@@ -317,7 +317,7 @@ elseif ARGS[1] = 44:
 elseif ARGS[1] = 45:
 	CloQuality = 4
 	CloThinness = 2
-	CloTopCut = 2
+	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
 	
@@ -338,7 +338,7 @@ elseif ARGS[1] = 47:
 elseif ARGS[1] = 48:
 	CloQuality = 3
 	CloThinness = 3
-	CloTopCut = 2
+	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
 	
@@ -352,29 +352,29 @@ elseif ARGS[1] = 49:
 elseif ARGS[1] = 50:
 	CloQuality = 3
 	CloThinness = 3
-	CloTopCut = 2
+	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 51:
 	CloQuality = 3
 	CloThinness = 3
-	CloTopCut = 2
+	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 52:
 	CloQuality = 3
 	CloThinness = 2
-	CloTopCut = 2
+	CloTopCut = 1
 	CloSkirtShortness = 4
 	CloStyle2 = 4
 	CloStyle = 2
 	
 elseif ARGS[1] = 53:
 	CloQuality = 3
-	CloThinness = 3
-	CloTopCut = 2
+	CloThinness = 2
+	CloTopCut = 1
 	CloSkirtShortness = 3
 	CloStyle2 = 4
 	
@@ -388,7 +388,7 @@ elseif ARGS[1] = 54:
 elseif ARGS[1] = 55:
 	CloQuality = 3
 	CloThinness = 3
-	CloTopCut = 2
+	CloTopCut = 1
 	CloSkirtShortness = 2
 	CloStyle2 = 4
 	
@@ -402,7 +402,7 @@ elseif ARGS[1] = 56:
 	CloStyle = 4
 	
 elseif ARGS[1] = 57:
-	CloQuality = 5
+	CloQuality = 4
 	CloThinness = 3
 	CloTopCut = 1
 	CloSkirtShortness = 3
@@ -430,7 +430,7 @@ elseif ARGS[1] = 60:
 	CloStyle2 = 4
 	
 elseif ARGS[1] = 61:
-	CloQuality = 4
+	CloQuality = 5
 	CloThinness = 1
 	CloTopCut = 1
 	CloSkirtShortness = 3

+ 1 - 3
locations/abduction.qsrc

@@ -470,9 +470,7 @@ end
 if $ARGS[0] = 'abdSleep':
 	*clr & cla
 	menu_off = 1
-	minut += 240
-	pcs_sleep += 50
-	gs 'stat'
+	gs 'sleep_simple', 'forced', 240
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/bed1.jpg"></center>'
 	'You''ve slept for several hours, but nightmares have awakened you.'
 	act 'Continue':gt 'abduction', 'abdRoom'

+ 5 - 5
locations/abductionCustomer.qsrc

@@ -391,12 +391,12 @@ if $ARGS[0] = 'abdCustomer-virgin8':
 	act 'Lie down':gt 'abductionCustomer', 'abdCustomer-virgin9'
 end
 if $ARGS[0] = 'abdCustomer-virgin9':
-	minut += 480
-	pcs_sleep += 70
+	gs 'sleep_simple', 'forced', 480
+
 	'<center><img <<$set_imgh>> src="images/locations/shared/abduction/sex/slavewhorevirgin9.jpg"></center>'
 	'Your hands still bound, you are thrown on your bed and are once again chained to the wall.'
 	'Your master leaves and you are left lying on the bed, your pussy still plugged by the <<dick>> cm long <<$dick_girth>> dildo.'
-	gs 'stat'
+
 	act 'Try to rest':gt 'abductionCustomer', 'abdCustomer-virgin10'
 end
 if $ARGS[0] = 'abdCustomer-virgin10':
@@ -404,7 +404,7 @@ if $ARGS[0] = 'abdCustomer-virgin10':
 	pcs_mood = 5
 	'<center><video autoplay loop src="images/locations/shared/abduction/sex/slavewhorevirgin10.mp4"></video></center>'
 	'The sound of your master coming downstairs wakes you up. You must have fallen asleep from the exhaustion.'
-    '"Kneel and get that ass in the air, slut."'
+	'"Kneel and get that ass in the air, slut."'
 	*nl
 	'You''re so desperate that you don''t even think about not doing what he orders you. You just stick your ass as high as possible.'
 	'It points so he has good access to both your ass and your ruthlessly plugged, deflowered pussy.'
@@ -776,7 +776,7 @@ if $ARGS[0] = 'abdCustomer-fuckAnalDeep':
 		*nl
 	end
 	'With every thrust of his dick deep inside your intestines, you feel as if it''s your very stomach being poked by it.'
-    *nl
+	*nl
 	if buyout = 1:
 		'After about a half an hour of deep anal banging, <<$bName>> is about to cum.'
 	else

+ 2 - 0
locations/albina_starlets_sex.qsrc

@@ -581,6 +581,7 @@ if $ARGS[0] = 'whore5':
 		tipdarand = rand(0,1)
 
 		if tipdarand = 0:
+			killvar'tipdarand'
 			'The guys then effortlessly lift you to your feet and lead you over to the bed. You get on all fours and one guy kneels in front of you. You resume sucking his huge cock as the other moves in behind you and spits on your anus before sliding his finger inside you.'
 			'You moan softly as you keep sucking the cock in your mouth. The guy keeps fingering your ass before withdrawing and bringing his cock to your asshole.'
 			gs 'arousal', 'bj', 10, 'dick', 'sub', 'group'
@@ -618,6 +619,7 @@ if $ARGS[0] = 'whore5':
 				end
 			end
 		elseif tipdarand = 1:
+			killvar'tipdarand'
 			'The guys then effortlessy lift you up and lay you on the bed, your head leaning over the edge.'
 			'One of them climbs in beside you and spreads your legs as the other moves to the edge of the bed and presses his cock against your lips.'
 

+ 6 - 5
locations/albina_wine_event.qsrc

@@ -255,14 +255,15 @@ if $ARGS[0] = 'shave_talk':
 		!! clean shaven
 		'"I can''t believe how many girls at school don''t shave their pussy," Albina says with a disgusted look on her face. "How can they stand having all that hair down there?"'
 		gs 'albina_wine_event','shave_answer1'
-	elseif pcs_pubes <= 10:
+!!	elseif pcs_pubes <= 10:
+	elseif pcs_pubes <= 15:
 		!! stubbly
 		'"You need a shave," Albina says with a disgusted look on her face as she moves her head uncomfortably on your lap. "I can practically feel your stubble velcroing to my hair right now!"'
 		gs 'albina_wine_event','shave_answer2'
-	elseif pcs_pubes <= 15:
-		!! small patch
-		'"Ugh, how can you stand having hair down there?" Albina rants. "Why don''t you just shave it off? It''s not like you have much down there anyway."'
-		gs 'albina_wine_event','shave_answer3'
+!!	elseif pcs_pubes <= 15:
+!!		!! small patch
+!!		'"Ugh, how can you stand having hair down there?" Albina rants. "Why don''t you just shave it off? It''s not like you have much down there anyway."'
+!!		gs 'albina_wine_event','shave_answer3'
 	elseif pcs_pubes <= 25:
 		!! trimmed/styled bush
 		if (pubestyle >= 2 and pubestyle <= 8) or pubestyle >= 12:

+ 1 - 0
locations/alexandriaChat.qsrc

@@ -771,6 +771,7 @@ if $ARGS[0] = 'sword':
 								moncheri_gown_h[numrand] = 50
 								moncheri_gown_b[numrand] = pcs_hips
 								'<center><img <<$set_imgh>> src="images/pc/items/moncheri/gown/<<numrand>>.jpg"></center>'
+								killvar 'numrand'
 							else
 								jump 'markbuycloalexandria'
 							end

+ 3 - 3
locations/anush_bedroom_city.qsrc

@@ -303,14 +303,14 @@ if $ARGS[0] = 'computer':
 				if model['status'] = 1:
 					'You perk up at the mention of modeling to earn money towards a lovely laptop like she has. "I didn''t know you modeled as well?"'
 					'She nods. "Yeah it pays pretty well, so you model too?" You nod yes and soon the two of you are talking about the varies modeling gigs you have done and you have discovered you both work for the same modeling agency.'
-					act 'Do something else':gt 'anush_bedroom','anushroom'
+					act 'Do something else':gt 'anush_bedroom_city','anushroom'
 				else
 					anushkaQW['model_referral'] = 1
 					'You perk up at the mention of modeling to earn money towards a lovely laptop like she has. "Does modeling really pay that well?"'
 					'She nods. "Sort of... If you''re willing to do nude modeling, you can make a lot in a short amount of time. Are you interested?" she asks while arching a shapely eyebrow.'
 					'"Nude?" you silently ask yourself. Still, it might be worth considering if it pays that much. "I don''t know... Maybe... How would I get started? Is there a modeling agency or something?"'
 					'She grins at your reply. "Yes, it''s located in the city center." She then explains precisely where it is and to let the photographer know she sent you.'
-					act 'Thanks':gt 'anush_bedroom','anushroom'
+					act 'Thanks':gt 'anush_bedroom_city','anushroom'
 					if fakepassport ! 1:
 						act 'Underaged?':
 							*clr & cla
@@ -319,7 +319,7 @@ if $ARGS[0] = 'computer':
 							'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/anushka/bedroom/bedroomtalk.jpg"></center>'
 							'A thought then occurs to you. You''re underaged, and so is Anushka. It''s not legal to model nude when you''re under 18. "Wait a second, how did you get past the age check?"'
 							'She laughs. "Sometimes, I forget that not everyone has a fake ID. It''s pretty easy to pick one up, though." She tells you about a printing shop in the Red Light District that sells fake passports. "Once you have one, you won''t have any problems signing up as a model."'
-							act 'Thanks':gt 'anush_bedroom','anushroom'
+							act 'Thanks':gt 'anush_bedroom_city','anushroom'
 						end
 					end
 				end

+ 0 - 1
locations/balkon2.qsrc

@@ -6,7 +6,6 @@ if $ARGS[0] = 'kurit':
 	*clr & cla
 	minut += 10
 	gs 'drugs', 'smoke'
-	pcs_sleep += 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/kurit.jpg"></center>'
 	'You put the cigarette in your mouth and tightly squeeze it with your lips as you light it. You inhale the smoke and hold it in for for a second before continuing and enjoying your smoke.'

+ 40 - 25
locations/ballet_npc.qsrc

@@ -1,8 +1,13 @@
 # ballet_npc
+!! Date Created: 17th Sept, 2022
+!! Modified date: 11th April, 2024
+!! Version: .01 - initial release
+!! Version: .02 - bug fixes, code refactor and new character variable $npc_img_path to link characters default profile image and related images.
+!! Author: Hooded Silence
+!!
+!! Set up dance school dramatis personae - Start at 3500 to avoid conflicts with main game.
 
-!! Set up dance school dramatis personae - Start at 3500 to avoid conflicts with main game...
-
-!! Students
+!! Pushkin Ballet School Students - Year one schoot start
 
 npctemp = 3501
 $npc_firstname['A<<npctemp>>'] = 'Maya'
@@ -24,27 +29,30 @@ $npc_haircolour['A<<npctemp>>'] = 'Blonde'
 $npc_eyecolour['A<<npctemp>>'] = 'blue'
 $npc_height['A<<npctemp>>'] = 160
 $npc_weight['A<<npctemp>>'] = 50 
+$npc_img_path['A<<npctemp>>'] = 'images/characters/pushkin/maya'
 
-!! NPC Temp: 3502 - Kima
+npctemp = 3502 
 !! Kima Agapova - The dance critic and fanatical to become a dancer, no matter the cost. Keeps a 'black book' of contacts and information. Arguably the best dancer in the school alongside Maya. She will try and gather information on Sveta's activities.
 !! will try and blackmail Sveta into either giving up if she learns if she's has dirty secrets such as prostitution, slut rep, etc or passing the information to Rudolph to destroy her career to remove her as competition.
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
 
-!! NPC temp: 3503 - Tanis
+npctemp = 3503
 !! Tanis Komarova - Bitchy dancer who thinks she''s already the Principle Dancer. Age 17. Future concept as the class bully to other dancers and students.
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet' 
 
-!! NPC temp: 3504 - Galina
+npctemp = 3504
 !! Galina Molchalina - Quiet and shy student, age 16. Highly secretive and doesn't engage with the class, she also has a nervous personality as if she's afraid. This comes from her family being marked as 'radicals' by the old KGB and under constant watch from FSB even to this day.
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet' 
 
-!! NPC temp: 3505 - Taisiya
+npctemp = 3505 
 !! Taisiya Lebedeva - The eldest student, and an elegant beauty, Age 18. A quiet, but captivating beauty who has a enchanting charismatic presence that men can't keep their eyes off her leading to bitchy remarks from other girls. 
 !! She''s oblivous to her beauty instead focusing on acting and dance. (side note: surname is one of the most common in St P.), she's got a strong religous personality.
-!! Malta Aurelie
-
-!! NPC temp: 3506 - Nikita
-!! Nikita Volkova - Bronya''s daughter. Age 16. Keep fit fanatic, and does tap, ballet, etc. As Bronya's daughter she's been given privileged access to the school, whilst no great talent she's still one of the better dance students at the school but just not at ballet despite Bronya's wishes.
+!! Character model: Malta Aurelie
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
 
-!! NPC temp: 3507 - Gasha
-!! Gasha Morozova - The youngest in the class at 15, close friend of Nikita as the grew up in the same village. Nikita and Galina are often seen in each others company in the local coffee shop and rarely seen alone leading to rumours. She''s a bit of a foodie, and love sweet things which conflicts with keeping in shape for her dance career.
+npctemp = 3506
+!! Nikita Volkova - Bronya''s daughter. Age 16. Keep fit fanatic, and does tap, ballet, etc. As Bronya's daughter she's been given privileged access to the school, whilst not a great talent she's still one of the best dance students at the school but just not at ballet despite Bronya's hopes.
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
 
 npctemp = 3507
 $npc_firstname['A<<npctemp>>'] = 'Gasha'
@@ -66,14 +74,18 @@ $npc_haircolour['A<<npctemp>>'] = 'Brunette'
 $npc_eyecolour['A<<npctemp>>'] = 'Blue'
 $npc_height['A<<npctemp>>'] = 145
 $npc_weight['A<<npctemp>>'] = 40 
-
-
-!! NPC temp: 3508 - Calina
-!! NPC temp: 3509 - Ruza
+$npc_img_path['A<<npctemp>>'] = 'images/characters/pushkin/gasha'
+
+!! Calina
+npctemp = 3508 
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
+!! Ruza
+npctemp = 3509 
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
 !! Calina and Ruza Sokolova - Twin dancers. Not interested in ballet, but took the course to further their education into becoming dancers. Age 17. They also professional models with a Moscow agency. 
 !! Adel and Alina Fakhteeva twins?
 
-!! Staff
+!! Ballet Staff 
 
 npctemp = 3510
 $npc_firstname['A<<npctemp>>'] = 'Rudolf'
@@ -90,25 +102,27 @@ npc_sexskill['A<<npctemp>>'] = 2
 npc_intel['A<<npctemp>>'] = 67
 hotcat_rating['A<<npctemp>>'] = 8
 npc_spermpot['A<<npctemp>>'] = 15000
+$npc_img_path['A<<npctemp>>'] = 'images/characters/pushkin/rudolph'
 
-
-!! NPC temp: 3511 - Biserka
 !! class teacher: Biserka Ananiashvili
+npctemp = 3511
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
 
-!! NPC temp: 3512 - Sofia
 !! class teacher/pianist: Sofia Solovyova
+npctemp = 3512
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
 
-!! NPC temp: 3513 - Bronya 
 !! Residential Warden: Bronya Volkova and former violinist, strict but fair has two daughters with Nikita being the youngest training to be a ballet dancer and her eldest in Germany training to be a surgeon. 
-
-npc_temp = 3513
+npctemp = 3513 
 $npc_firstname['A<<npctemp>>'] = 'Bronya'
 $npc_nickname['A<<npctemp>>'] = 'Bronya '
 $npc_lastname['A<<npctemp>>'] = 'Volkova'
 $npc_usedname['A<<npctemp>>'] = 'Bronya'
+gs 'npcstaticdefaults', 'defaults'
+$npc_img_path['A<<npctemp>>'] = 'images/characters/ballet'
 
 !! NPC temp: 3514 - Physio - Pelageya Makarova
- 
+
 !! Make up teacher: Rada Egorova, the teacher never bothers to tell the class after a week. Former stage make up artist, beautician and scatterbrained.
 
 !! Staff Physio -  Syuzanna Zakharova / Klavdii Frolov (Klavdii is a pun)
@@ -117,6 +131,7 @@ $npc_usedname['A<<npctemp>>'] = 'Bronya'
 !! Names f: Boleslava Grigoreva, Esfir Mikhaylova, Gavriila Makarova (warrior),Yustina Vinogradova
 !! Names m: Ipatiy Novikov, Venedikt Sorokin, Ony Volkov, Kazimir Sokolov
 
+killvar 'npctemp'
 --- ballet_npc ---------------------------------
 
 

+ 24 - 9
locations/ballet_secrets.qsrc

@@ -4,7 +4,7 @@
 !! Version: .01
 !! Author: Hooded Silence
 !! A dance shop which includes ballet, gymnastics and physio-therapy sources. Alternative path to ballet or dance career in second year and first.
-!! TBC - NPCs to be created
+!! TODO: - NPCs to be created
 
 $default_img_path = 'locations/pushkin/ballet_secrets/'
 
@@ -37,7 +37,6 @@ if $ARGS[0] = 'init':
 			act 'Swipe membership card': gt 'ballet_secrets', 'reception'
 		end
 	end
-
 end
 
 !! Intro
@@ -55,7 +54,7 @@ if $ARGS[0] = 'first_visit':
 	'The woman smiles warmly, "Ah you are the new students for this year?" she claps her hands and then takes yours, "Come, come we must measure your feet and order your shoes"'
 	'Before you say anything she''s dragging you through the shop towards the back we are are greeted by a wall of shoes and there is pictures on the wall signed by dancers with shoes next to them. You look at the woman.'
 	'"Yes, they are all dancers who are or have been clients of our establishment", she noticed your gaze and explains with pride."We will only provide the best for the school."'
-	!! Set up gate for sponsored or not, not implemented system needs to be added to the end of year assessment.
+	!! TODO:  Set up gate for sponsored or not, not implemented system needs to be added to the end of year assessment.
 	'"But where are my manners I am Darya Pushkina, I am the owner of this shop and facilies" she exclaims, "now to your fitting grabbing a tape measure and fitting tools for your feet"'
 	'For the next hour Madam Pushkina bombards you with questions of whether you want leather or cotton fabric, how many satin shoes and a myriad other questions before she finally relents.'
 	'"Of course as you are aware the school is sponsoring these costs, but only for the first year she says and you will need to manage your own equipment after this.", Madame Pushkina advises.'
@@ -93,6 +92,7 @@ if $ARGS[0] = 'reception':
 		!! act 'Attend a gymnastics class.': gt 'ballet_secrets', 'gymnastics_courses'
 		!! act 'Attend a dance class': gt 'ballet_secrets', 'ballet_courses'
 		act 'Attend a yoga class': gt 'ballet_secrets', 'yoga_courses'
+		!! act 'Look at jobs board': gt 'ballet_secrets', 'jobs'
 	elseif hour >= 16:
 		'All the evening classes have started today, you need to be here before 16:00 to ensure you can attend.'
 	end
@@ -131,7 +131,7 @@ end
 if $ARGS[0] = 'changing_room':
 	menu_off = 0
 	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
-	$location_type = 'private'
+	$location_type = 'public'
 	$locclass = 'changingroom'
 	gs 'themes', 'indoors'
 	minut += 5
@@ -187,7 +187,7 @@ if $ARGS[0] = 'changing_room':
 			act 'Continue': menu_off = 0 & gt 'ballet_secrets', 'changing_room'
 		end
 	end
-	dynamic $tampon
+	gs 'core_library', 'bathroom'  
 end
 
 !! Physiotherapy
@@ -200,7 +200,7 @@ if $ARGS[0] = 'physio':
 	gs 'themes', 'indoors'
 	gs 'core_library', 'stage_title'
 
-	!! write attendance spiel 
+	!! TODO: write attendance spiel 
 	act 'Leave': gt 'pushkin_sq'
 end
 
@@ -215,11 +215,12 @@ if $ARGS[0] = 'gymnastics_courses':
 	gs 'themes', 'indoors'
 	gs 'core_library', 'stage_title'
 
-	!! write attendance spiel and some random reactions for post-exercise such that was a great workout, you didn''t feel you did well today
+	!! TODO: write attendance spiel and some random reactions for post-exercise such that was a great workout, you didn''t feel you did well today
 	act 'Leave': gt 'pushkin_sq'
 end
 
 !! Ballet Courses Easy, Intermediate and advanced
+
 if $ARGS[0] = 'ballet_courses':
 	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
 	$location_type = 'public_indoors'
@@ -228,9 +229,19 @@ if $ARGS[0] = 'ballet_courses':
 	$location_type = 'public_indoors'
 	gs 'themes', 'indoors'
 	gs 'core_library', 'stage_title'
+	if balletqw['ballet_session'] ! daystart:
+		lesson_tier = rand(1,5)
+
+
+		killvar 'lesson_tier'
+		act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
+	else 
+		'There is another fitness class in progress and no more ballet sessions today.'
+	end
+	act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
 end
 
-	!! Gymnastics
+!! Yoga class
 
 if $ARGS[0] = 'yoga_courses':
 	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
@@ -277,6 +288,10 @@ if $ARGS[0] = 'yoga_courses':
 	act 'Return to the studio reception': gt 'ballet_secrets', 'reception'
 end 
 
+if $ARGS[0] = 'jobs':
+	!! TODO: Add ad hoc dance or promo events.
+end
+
 !! Shopping
 if $ARGS[0] = 'clothing':
 	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
@@ -289,7 +304,7 @@ if $ARGS[0] = 'clothing':
 	act 'Leave': gt 'pushkin_sq'
 end
 
-!! Custom Tutus for quests/shows, ballet shoe fitting, clothing, physio items, portable ballet equipment (barre) etc.
+!! TODO: Custom Tutus for quests/shows, ballet shoe fitting, clothing, physio items, portable ballet equipment (barre) etc.
 if $ARGS[0] = 'quest':
 	gs 'shortgs', 'setloc', 'ballet_secrets', $ARGS[0] 
 	$location_type = 'public_indoors'

+ 2 - 1
locations/bed2.qsrc

@@ -66,7 +66,8 @@ if $ARGS[0] = 'main':
 	end
 
 	act 'Get out of bed': gt 'bed_get_out', 'start'
-	gs 'sleep_simple', 'nap_bed'
+	act 'Take a nap (1:00)': gs 'sleep_simple', 'nap_bed'
+
 	gs 'events', 'read'
 
 	if $loc ! 'bedrPar' or locat['Anya_inroom'] = 0 or locat['Anya'] = 1 or locat['Anya'] = 26:

+ 4 - 4
locations/bedr.qsrc

@@ -8,6 +8,7 @@ $locclass = 'bedr'
 $location_type = 'private'
 gs 'themes', 'indoors'
 gs 'stat'
+gs 'music_actions', 'clear_restrictions'
 
 if pcs_magik >= 6 and spellbefshild = 1 and tobiQW = 0:gt 'tobiQW', 'start'
 '<center><b><font color="maroon">Bedroom</font></b></center>'
@@ -185,10 +186,9 @@ if sick >= 1:
 	act 'Go to sleep (Sick)':
 		*clr & cla
 		menu_off = 1
-		minut += 240
-		pcs_sleep += 40
+		gs 'sleep_simple', 'forced', 240
 		sick -= 1
-		if sick < 0:sick = 0
+		if sick < 0: sick = 0
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/shared/apartment/event/sick/sick<<rand(11, 17)>>.jpg"></center>'
 		'You''re lying in bed coughing, sneezing and blowing your nose.'
@@ -210,7 +210,7 @@ gs 'subkid'
 act 'Relax on your bed': gt 'bed', 'start'
 act 'Open wardrobe': gt 'wardrobe', 'start'
 gs 'prostitution_functions', 'prostitute_outfit_at_home'
-gs 'music_actions', 'music_icon'
+gs 'music_actions', 'start'
 
 --- bedr ---------------------------------
 

+ 5 - 4
locations/bedr2x.qsrc

@@ -15,6 +15,7 @@ minut += 1
 elektro += 1
 gs 'stat'
 gs 'themes', 'indoors'
+gs 'music_actions', 'clear_restrictions'
 
 '<center><img <<$set_imgh>> src="images/locations/city/residential/apartment/bedr2.jpg"></center>'
 *nl
@@ -30,15 +31,15 @@ if pcs_magik >= 6 and spellbefshild = 1 and tobiQW = 0:gt'tobiQW','start'
 *nl
 if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to your bed.'
 *nl
+act 'Go to the corridor': gt 'korr2x'
+gs 'wardrobe', 'default_clothing_options'
+
 if husbandrinkday = daystart:
 	if husbanstrapon = 1:'Your husband is still passed out drunk after you used an anal plug on him.'
 	if husbanstrapon = 2:'Your husband is still passed out drunk after you stuck a dildo in his ass.'
 	if husbanstrapon = 3:'Your husband is still passed out drunk after you fucked him in the ass with a strap-on.'
 	gs 'music_actions', 'no_music'
 end
-act 'Go to the corridor': gt 'korr2x'
-gs 'wardrobe', 'default_clothing_options'
-
 if husband > 0 and husbandrink ! 10 and husbandrinkday ! daystart:
 	if hour > 22 or hour < 7:
 		'Your <a href="exec: gt''husb'',''start'' ">husband</a> is sleeping on the bed.'
@@ -199,7 +200,7 @@ gs 'subkid'
 
 act 'Relax on your bed': gt 'bed', 'start'
 gs 'prostitution_functions', 'prostitute_outfit_at_home'
-gs 'music_actions', 'music_icon'
+gs 'music_actions', 'start'
 
 --- bedr2x ---------------------------------
 

+ 13 - 48
locations/bedrPar.qsrc

@@ -14,6 +14,7 @@ gs 'stat'
 gs 'family_schedule'
 !! ballet career
 gs 'core_library', 'init'
+gs 'music_actions', 'clear_restrictions'
 
 !! This is runs only once, just to make sure that Sveta can sing from the start, does not have to wait a whole day for `cikl` to run.
 if ml_performance['max_perform_minutes'] = 0: ml_performance['max_perform_minutes'] = pcs_instrmusic + pcs_vokal
@@ -218,13 +219,13 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 					act 'Masturbate':gt 'selfplay', 'start'
 				end
 
-				if vcard > 0: act 'View your vintage porn cards':card_deck = 0 & gt 'card'
-				if card > 0: act 'View your new porn cards':card_deck = 1 & gt 'card'
+				if mc_inventory['vintage_card'] > 0: act 'View your vintage porn cards':card_deck = 0 & gt 'card'
+				 if mc_inventory['card'] > 0: act 'View your new porn cards':card_deck = 1 & gt 'card'
 			end
 
 			gs 'events', 'read'
 
-			if tovarL > 0:'You currently have <<tovarL>> trinkets to sell at the station. The maximum you can carry is 30.'
+			if mc_inventory['trinkets_home'] > 0:'You currently have <<mc_inventory[''trinkets_home'']>> trinkets to sell at the station. The maximum you can carry is 30.'
 
 			if locat['Anya_inroom'] = 0: dynamic $palelady
 			
@@ -235,50 +236,16 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 			if mc_inventory['sewing_kit'] = 1:
 				'Your <a href="exec:gt ''sewing'',''start''">sewing kit</a> is stored neatly under your bed.'
 				*nl
-				if mc_inventory['sewing_fabric'] <= 0:
-					'You do not have any fabric.'
-				else
-					if pcs_sewng < 40:
-						'You have <<mc_inventory[''sewing_fabric'']>> pieces of sewing fabric left.'
-					elseif pcs_sewng < 80:
-						'You have enough fabric for <<mc_inventory[''sewing_fabric'']>> lessons.'
-					else
-						if newgobelen = 0:
-							act'Start a new tapestry':
-								*clr & cla
-								menu_off = 1
-								mc_inventory['sewing_fabric'] -= 1
-								newgobelen = 1
-								minut += 15
-								gs 'stat'
-								'You spend 15 minutes at the embroidery frame, preparing the fabric and outlining the pattern for the tapestry.'
-
-								act 'Set the tapestry aside': gt 'bedrPar', 'start'
-							end
-						end
-					end
-				end	
-				if newgobelen>=1:
-					'Your tapestry is <<newgobelen/10>> percent finished.'
-					act 'Work on the tapestry':
-						*clr & cla
-						menu_off = 1
-						minut+=60
-						gs 'exp_gain', 'sewng', rand(pcs_intel/10, pcs_intel/5)
-						gobramax = (pcs_sewng - 70) * 6
-						gobramin = (pcs_sewng - 70) * 2
-						newgobelen += rand(gobramin,gobramax)
-						gs 'stat'
-						if newgobelen < 1000:'You spend an hour working on your tapestry, which is now <<newgobelen/10>> percent finished.'
-							if newgobelen >= 1000:
-							newgobelen = 0
-							gobelen += 1
-							'Your work on the tapestry is done.'
-						end
-						act 'Set the tapestry aside': gt 'bedrPar', 'start'
+				if mc_inventory['sewing_fabric'] <= 0:'You do not have any fabric.'
+				if pcs_sewng >= 80:
+					if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0: 
+						act'Start a new tapestry':gt 'sewing', 'tapestry'
+					elseif newgobelen >= 1:
+						'Your tapestry is <<newgobelen/10>> percent finished.'
+						act 'Work on the tapestry':gt 'sewing', 'tapestry'
 					end
 				end
-				if gobelen > 0: 'You have <<gobelen>> completed tapestries.'
+				if mc_inventory['tapestry'] > 0: 'You have <<mc_inventory[''tapestry'']>> completed tapestries.'
 			end
 
 			!! Computer, music and internet use.
@@ -290,8 +257,6 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 				access['nocamshow'] = 1
 				$access['noporn'] = 'You shouldn''t watch porn with your sister in the room. She would notice for sure!'
 				$access['nocamshow'] = 'You can''t do any webcam activities with your sister in the room!'
-			else
-				gs 'music_actions', 'clear_restrictions'
 			end
 
 			if locat['Anya_inroom'] = 0 and mc_inventory['breast_pump'] = 1 and bp_unbox <= 0:
@@ -311,7 +276,7 @@ if $ARGS[0] = '' or $ARGS[0] = 'start':
 		'</td></tr></table>'
 
 		!! NOTE: This has to go here, otherwise gs 'subkid' removes the icon. 
-		gs 'music_actions', 'music_icon'
+		gs 'music_actions', 'start'
 	end
 end
 

+ 1 - 0
locations/belpicknick.qsrc

@@ -236,6 +236,7 @@ if $ARGS[0] = 'dance':
 		
 		fuckerrand = rand(1,4)
 		gmember = fuckerrand
+		killvar'fuckerrand'
 		gs 'belpicknick', 'vibor'
 		if rand(0,1) = 0:
 			'Suddenly the cock you''re currently sucking on is pulled away from you, and <<$boydesc>> pushes you onto your back saying he wants to try another hole now.'

+ 16 - 16
locations/bicycle.qsrc

@@ -2,16 +2,16 @@
 
 ! BikeLoc - tells us where bicycle is currently located
 !----------------------------------------------
-! BikeLoc = 1 'gadsarai' ''
-! BikeLoc = 2 'gadforest' 'forest_edge'
-! BikeLoc = 3 'swamp_yard' 'start'
+! BikeLoc = 1 'gad_gpbarn' ''
+! BikeLoc = 2 'gad_forest' 'forest_edge'
+! BikeLoc = 3 'gad_swamp_yard' 'start'
 !----------------------------------------------
 
 ! this gs handles biking for Sveta in the various locations of gadukino
 ! will only display bicycle actions if the BikeLoc is correct for the location passed in
 ! $ARGS[0] - location where this is called from
-! Example: gs 'bicycle', 'gadsarai'
-if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLoc = 2) or ($ARGS[0] = 'swamp_yard' and BikeLoc = 3):
+! Example: gs 'bicycle', 'gad_gpbarn'
+if ($ARGS[0] = 'gad_gpbarn' and BikeLoc = 1) or ($ARGS[0] = 'gad_forest' and BikeLoc = 2) or ($ARGS[0] = 'gad_swamp_yard' and BikeLoc = 3):
 	act 'Ride your bicycle':
 		*clr & cla
 		menu_off = 1
@@ -25,11 +25,11 @@ if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLo
 		'You see your old bike. It looks like it''s still in good condition. You can probably ride it without any trouble.'
 
 		if BikeLoc = 1:
-			act 'Leave your bike alone':gt 'gadsarai'
+			act 'Leave your bike alone': gt 'gad_gpbarn'
 		elseif BikeLoc = 2:
-			act 'Leave your bike alone':gt 'gadforest','forest_edge'
+			act 'Leave your bike alone': gt 'gad_forest', 'forest_edge'
 		elseif BikeLoc = 3:
-			act 'Leave your bike alone':gt 'swamp_yard','start'
+			act 'Leave your bike alone': gt 'gad_swamp_yard', 'start'
 		end
 		if BikeLoc = 1 and hour >= 6 and hour < 20 and sunWeather = 1 and month >= 4 and month <= 10 and gadbikeday ! daystart:
 			act 'Bike around the village (1:00)':
@@ -96,7 +96,7 @@ if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLo
 					*nl
 					'You ride your bike, enjoying the surrounding countryside.'
 				end
-				act 'Finish your ride':gt 'gadsarai'
+				act 'Finish your ride': gt 'gad_gpbarn'
 			end
 		end
 
@@ -118,8 +118,8 @@ if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLo
 					pcs_sweat += 1
 					if swamp_clothes = 1:
 						'You remove the terrible excuse for clothing the hunters gave you. You''re sure you can find something better to wear at your grandparents'' house.'
-						gs 'clothing', 'strip', 'gadforest'
-						gs 'clothing', 'swamp_clothes', 0
+						gs 'clothing', 'strip', 'gad_forest'
+						gs 'clothing', 'gad_swamp_clothes', 0
 					end
 				elseif BikeLoc = 3:
 					minut += 44
@@ -130,8 +130,8 @@ if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLo
 					pcs_sweat += 3
 					if swamp_clothes = 1:
 						'You remove the terrible excuse for clothing the hunters gave you. You''re sure you can find something better to wear at your grandparents'' house.'
-						gs 'clothing', 'strip', 'gadforest'
-						gs 'clothing', 'swamp_clothes', 0
+						gs 'clothing', 'strip', 'gad_forest'
+						gs 'clothing', 'gad_swamp_clothes', 0
 					end
 				end
 				BikeLoc = 1
@@ -141,7 +141,7 @@ if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLo
 				*nl
 				'You jump onto your bike and ride to your grandparents'' barn.'
 
-				act 'Finish your ride':gt 'gadsarai'
+				act 'Finish your ride': gt 'gad_gpbarn'
 			end
 		end
 
@@ -176,7 +176,7 @@ if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLo
 				*nl
 				'You jump onto your bike and ride to the edge of the forest.'
 
-				act 'Finish your ride':gt 'gadforest','forest_edge'
+				act 'Finish your ride': gt 'gad_forest', 'forest_edge'
 			end
 		end
 
@@ -211,7 +211,7 @@ if ($ARGS[0] = 'gadsarai' and BikeLoc = 1) or ($ARGS[0] = 'gadforest' and BikeLo
 				*nl
 				'You jump onto your bike and ride to the hunters'' cabin.'
 
-				act 'Finish your ride':gt 'swamp_yard','start'
+				act 'Finish your ride':gt 'gad_swamp_yard','start'
 			end
 		end
 	end

+ 41 - 64
locations/blackmailer.qsrc

@@ -91,15 +91,14 @@ end
 
 if $ARGS[0] = 'add_blackmail_selfie':
 	temp_i = 0
-	if blackmailQW['total_material'] <= 10:
-		:add_blackmail_loop
-		if $blackmailQW['selfie_image_<<temp_i>>'] ! '':
-			temp_i += 1
-			if temp_i < 10: jump 'add_blackmail_loop'
+	:add_blackmail_loop
+	if $blackmailQW['selfie_image_<<temp_i>>'] = $ARGS[1]:
+		killvar 'temp_i'
+		exit
+	elseif $blackmailQW['selfie_image_<<temp_i>>'] ! '':
+		temp_i += 1
+		if temp_i < 10: jump 'add_blackmail_loop'
 
-			temp_i = rand(0, 9)
-		end
-	else
 		temp_i = rand(0, 9)
 	end
 
@@ -108,16 +107,14 @@ if $ARGS[0] = 'add_blackmail_selfie':
 	$blackmailQW['selfie_dress_<<temp_i>>']		= $ARGS[3]
 	 blackmailQW['selfie_LocIndex_<<temp_i>>']	=  ARGS[4]
 	 blackmailQW['selfie_number_<<temp_i>>']	=  ARGS[5]
+	 blackmailQW['total_material'] += 1
 	killvar 'temp_i'
 end
 
 if $ARGS[0] = 'choose_blackmail_image':
+	$result = ''
 	if rand(0, 10) > 0:
-		$result = $blackmailQW['selfie_image_<<rand(0, 9)>>']
-		if $result = '':
-			$result = $blackmailQW['selfie_image_<<rand(0, 8)>>']
-			if $result = '': $result = $blackmailQW['selfie_image_<<rand(0, 7)>>']
-		end
+		$result = $blackmailQW['selfie_image_<<rand(0, min(blackmailQW[''total_material'']-1, 9))>>']
 	end
 	if $result = '': $result = $blackmailQW['init_flashimage']
 end
@@ -387,9 +384,9 @@ if $ARGS[0] = 'Add_SMS_failure':
 		gs 'SMStext_builder', 'end'
 
 		if blackmailQW['stage'] < 9:
-			if blackmailQW['init_flashregion'] = 'city':
+			if $blackmailQW['init_flashregion'] = 'city':
 				fame['city_sex'] += 2 * blackmailQW['total_material']
-			elseif blackmailQW['init_flashregion'] = 'gad':
+			elseif $blackmailQW['init_flashregion'] = 'gad':
 				fame['gad_sex'] += 10 * blackmailQW['total_material']
 			else
 				fame['pav_sex'] += 5 * blackmailQW['total_material']
@@ -497,7 +494,7 @@ if $ARGS[0] = 'police1':
 	if $region = 'pav':
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/police/pavrec.jpg" ></center>'
 		'You walk up to a bored looking cop shuffling about some paperwork.'
-	else:
+	else
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/police/cityrec.jpg"></center>'
 		'You walk up to a window, you pick up the phone and hear a buzzer sound on the other side. One of the officers picks it up without hesitation and looks at you.'
 	end
@@ -568,7 +565,7 @@ if $ARGS[0] = 'police1':
 
 			if $region = 'pav':
 				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/police/pavext.jpg" ></center>'
-			else:
+			else
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/police/cityext.jpg"></center>'
 			end
 			'Sitting in the interrogation room with the police officer, the situation suddenly comes crashing into you. You''re going to have to show some proof. That you were flashing your <<$blackmailQW[''init_flashaction'']>> <<$blackmailQW[''init_flashloc_desc'']>>. They will see the texts, the photos. They will see you for who you must be on the inside. You can already feel their eyes judging you.'
@@ -589,7 +586,7 @@ if $ARGS[0] = 'police_deleted':
 
 	if $region = 'pav':
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/police/pavext.jpg" ></center>'
-	else:
+	else
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/police/cityext.jpg"></center>'
 	end
 	'"Uhhmm" you stammer. "I, uhh, I deleted them."'
@@ -690,26 +687,26 @@ if $ARGS[0] = 'set_SMSTree':
 		$SMSTree['11b'] = 'or you could do something special for us'
 
 			$SMSTree['a12'] = 'fuck you'
-			$SMSTree['b12'] = 'Send a selfie from your galleray'
-			$SMSTree['c12'] = 'what?'
-			$SMSTree['d12'] = 'yes sir'
-
+			$SMSTree['b12'] = 'Send a (non-nude) selfie from your galleray'
+			$SMSTree['c12'] = 'Send a selfie from your galleray'
+			$SMSTree['d12'] = 'what?'
+			$SMSTree['e12'] = 'yes sir'
 
-		$SMSTree['a20'] = 'WTF! i said a pic of your tits, not this boring shit'
-			$SMSTree['a21'] = 'you better bring an additional 500 <b>₽</b>!'
-				$SMSTree['a22'] = 'drop <<blackmailQW[''next_payment''] + 500>> <b>₽</b> off in the park, or else!'
-		$SMSTree['b20'] = 'nice'
-			$SMSTree['b21'] = 'that''s worth about 500 <b>₽</b>'
-				$SMSTree['b22'] = 'don''t forget to drop <<blackmailQW[''next_payment''] - 500>> <b>₽</b> off in the park'
-		$SMSTree['c20'] = 'WOW'
-			$SMSTree['c21'] = 'that''s worth about 1000 <b>₽</b>'
-				$SMSTree['c22'] = 'don''t forget to drop <<blackmailQW[''next_payment''] - 1000>> <b>₽</b> off in the park'
-		$SMSTree['d20'] = 'DAMN! you really are a slut aren''t you'
-			$SMSTree['d21'] = 'definitely worth 2000 <b>₽</b>'
-				$SMSTree['d22'] = 'now you only need to drop <<blackmailQW[''next_payment''] - 2000>> <b>₽</b> off in the park'
 
+	$SMSTree['a20'] = 'WTF! i said a pic of your tits, not this boring shit'
+		$SMSTree['a21'] = 'you better bring an additional 500 <b>₽</b>!'
+			$SMSTree['a22'] = 'drop <<blackmailQW[''next_payment''] + 500>> <b>₽</b> off in the park, or else!'
+	$SMSTree['b20'] = 'nice'
+		$SMSTree['b21'] = 'that''s worth about 500 <b>₽</b>'
+			$SMSTree['b22'] = 'don''t forget to drop <<blackmailQW[''next_payment''] - 500>> <b>₽</b> off in the park'
+	$SMSTree['c20'] = 'WOW'
+		$SMSTree['c21'] = 'that''s worth about 1000 <b>₽</b>'
+			$SMSTree['c22'] = 'don''t forget to drop <<blackmailQW[''next_payment''] - 1000>> <b>₽</b> off in the park'
+	$SMSTree['d20'] = 'DAMN! you really are a slut aren''t you'
+		$SMSTree['d21'] = 'definitely worth 2000 <b>₽</b>'
+			$SMSTree['d22'] = 'now you only need to drop <<blackmailQW[''next_payment''] - 2000>> <b>₽</b> off in the park'
 
-				$SMSTree['x22'] = 'you''re all settled for now'
+			$SMSTree['x22'] = 'you''re all settled for now'
 
 
 	$SMSTree['30'] = 'We''ll send you a package with instructions, it''ll take a while though'
@@ -790,11 +787,15 @@ if $ARGS[0] = 'sms_repeat_switch1':
 		gs 'SMStext_builder', 'receive', $SMSTree['11' + $ARGS[1]]
 
 		gs 'SMStext_builder', 'add_reply', $SMSTree['a12'], 'blackmailer', 'sms_repeat_end1', 'a12'
-		gs 'SMStext_builder', 'send_selfie', $SMSTree['b12'], iif(blackmailQW['stage'] < 6, 'c|sw|u|ft|fa', 'c|sw|u|n|b|sh|ft|fa|fp'), 'blackmailer', 'sms_repeat_switch2'
+		if blackmailQW['stage'] < 6:
+			gs 'SMStext_builder', 'send_selfie', $SMSTree['b12'], 'c|sw|u|ft|fa', 'blackmailer', 'sms_repeat_switch2'
+		else
+			gs 'SMStext_builder', 'send_selfie', $SMSTree['c12'], 'c|sw|u|n|b|sh|ft|fa|fp', 'blackmailer', 'sms_repeat_switch2'
+		end
 		if $ARGS[1] = 'b': 
-			gs 'SMStext_builder', 'add_reply', $SMSTree['c12'], 'blackmailer', 'sms_repeat_switch3', 'c12'
+			gs 'SMStext_builder', 'add_reply', $SMSTree['d12'], 'blackmailer', 'sms_repeat_switch3', 'd12'
 		elseif $ARGS[1] = 'c':
-			gs 'SMStext_builder', 'add_reply', $SMSTree['c12'], 'blackmailer', 'sms_repeat_switch5', 'd12'
+			gs 'SMStext_builder', 'add_reply', $SMSTree['e12'], 'blackmailer', 'sms_repeat_switch5', 'e12'
 		end
 
 		gs 'SMStext_builder', 'show_sms', ARGS[3]
@@ -810,7 +811,7 @@ end
 !  ARGS[5] = self loc index
 !  ARGS[6] = selfie code
 if $ARGS[0] = 'sms_repeat_switch2':
-	gs 'blackmailer', 'set_SMSTree', $ARGS[4]
+	gs 'blackmailer', 'set_SMSTree'
 
 	gs 'SMStext_builder', 'start'
 		gs 'SMStext_builder', 'send_img', $ARGS[2]
@@ -837,7 +838,6 @@ if $ARGS[0] = 'sms_repeat_switch2':
 			if blackmailQW['stage'] = 6: blackmailQW['stage'] = 7
 			gs 'blackmailer', 'add_blackmail_selfie', $ARGS[2], $ARGS[3], $ARGS[4], ARGS[5], ARGS[6]
 			$temp_path = 'd'
-
 		end
 
 		gs 'SMStext_builder', 'receive', $SMSTree[$temp_path + '20']
@@ -908,29 +908,6 @@ if $ARGS[0] = 'sms_repeat_switch4':
 	gs 'SMStext_builder', 'end'
 end
 
-if $ARGS[0] = 'sms_repeat_switch4':
-	gs 'blackmailer', 'set_SMSTree'
-
-	if blackmailQW['stage'] < 8: blackmailQW['stage'] = 8
-	blackmailQW['smsday'] = daystart + 14
-	blackmailQW['next_payment'] = 0
-
-	gs 'SMStext_builder', 'start'
-		gs 'SMStext_builder', 'send', $SMSTree[$ARGS[1] + '31']
-		gs 'SMStext_builder', 'show_sms', ARGS[2]
-
-		wait 250
-
-		gs 'SMStext_builder', 'receive', $SMSTree[$ARGS[1] + '32']
-
-		if $ARGS[1] = 'b':
-			!! penalty in the future when not using the proper speech
-		end
-		gs 'SMStext_builder', 'show_sms', ARGS[3]
-	gs 'SMStext_builder', 'end'
-end
-
-
 !! END OF CONTENT MESSAGE
 if $ARGS[0] = 'sms_repeat_switch5':
 	gs 'blackmailer', 'set_SMSTree'
@@ -990,6 +967,6 @@ if $ARGS[0] = 'park_repeat':
 end
 
 
-if $ARGS[0] ! 'set_SMSTree': killvar 'SMSTree'
+if $ARGS[0] ! 'set_SMSTree' and $ARGS[0] ! 'add_blackmail_selfie': killvar 'SMSTree'
 
 --- blackmailer ---------------------------------

+ 1 - 1
locations/body.qsrc

@@ -65,7 +65,7 @@ if $ARGS[0] = 'UpdateBodyMeasurement':
 	pcs_hips  = (pcs_hgt   * bodyVars['hratio']) / 100 + bodyVars['vhips']
 	pcs_waist = (pcs_hips  * bodyVars['wratio']) / 100 + bodyVars['vofat']
 	pcs_band  = (pcs_waist * bodyVars['bratio']) / 100 + bodyVars['vofat']
-	pcs_bust  = (pcs_waist * bodyVars['bratio']) / 100 + pcs_mass['bust'] + bodyVars['bust_magic'] + bodyVars['bust_silicone'] + max(-10, min(bodyVars['bust_other'], 10)) + pcs_mass['preg'] / 5
+	pcs_bust  = (pcs_waist * bodyVars['bratio']) / 100 + pcs_mass['bust'] + bodyVars['bust_magic'] + bodyVars['bust_silicone'] + max(-10, min(bodyVars['bust_other'], 10)) + pcs_mass['preg'] / 5 + bodyVars['bust_lact']
 	pcs_butt  = min(pcs_mass['butt'], 50) + bodyVars['butt_bonus'] + bodyVars['butt_silicone'] + bodyVars['butt_cheat'] + pcs_butt_tr + max(-10, min(bodyVars['butt_other'], 10))
 
 	!! pcs_cupsize = pcs_mass['bust'] + bodyVars['bust_magic'] + bodyVars['bust_silicone'] - bodyVars['vofat']

+ 44 - 15
locations/body_desc.qsrc

@@ -388,23 +388,52 @@ if $ARGS[0] = 'breasts':
 end
 
 if $ARGS[0] = 'butt':
-	!natural butt
-	if pcs_butt <= 14:
-		$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/1.jpg''">ass</a> is square and as flat as a plank.'
-	elseif pcs_butt <= 25:
-		$pcs_butt = 'You have an average, feminine looking <a href="exec:view''images/pc/body/ass/2.jpg''">ass</a>.'
-	elseif pcs_butt <= 40:
-		$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/3.jpg''">ass</a> is bigger, rounder and firmer than average.'
-	elseif pcs_butt <= 59:
-		$pcs_butt = 'You have a large heart-shaped <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a> that jiggles and sways as you walk.'
+	if 1:
+		!natural butt
+		if pcs_butt <= 14:
+			$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/1.jpg''">ass</a> is square and as flat as a plank.'
+		elseif pcs_butt <= 29:
+			$pcs_butt = 'You have an average, feminine looking <a href="exec:view''images/pc/body/ass/2.jpg''">ass</a>.'
+		elseif pcs_butt <= 44:
+			$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/3.jpg''">ass</a> is bigger, rounder and firmer than average.'
+		elseif pcs_butt <= 59:
+			$pcs_butt = 'You have a large heart-shaped <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a> that jiggles and sways as you walk.'
+		else
+			$pcs_butt = 'You have a large bubble <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a> that jiggles and sways as you walk.'
+		end
+
+		!have butt implant
+		if bodyVars['butt_silicone'] > 0:
+			buttpic = 4
+			$pcs_butt = 'Through the use of implants, you have given yourself a jiggly bubble <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a>.'
+		end
 	else
-		$pcs_butt = 'You have a large bubble <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a> that jiggles and sways as you walk.'
-	end
+		!natural butt
+		if pcs_butt <= 7:
+			$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/1.jpg''">ass</a> is square and as flat as a plank.'
+		elseif pcs_butt <= 14:
+			$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/2.jpg''">ass</a> is square but not completely flat.'
+		elseif pcs_butt <= 21:
+			$pcs_butt = 'You have an average, feminine looking <a href="exec:view''images/pc/body/ass/3.jpg''">ass</a>.'
+		elseif pcs_butt <= 29:
+			$pcs_butt = 'You have an above-average, feminine looking <a href="exec:view''images/pc/body/ass/4.jpg''">ass</a>.'
+		elseif pcs_butt <= 36:
+			$pcs_butt = 'Your <a href="exec:view''images/pc/body/ass/5.jpg''">ass</a> is bigger, rounder and firmer than average.'
+		elseif pcs_butt <= 44:
+			$pcs_butt = 'Your ample <a href="exec:view''images/pc/body/ass/6.jpg''">ass</a> is bigger, rounder and firmer than most.'
+		elseif pcs_butt <= 51:
+			$pcs_butt = 'You have a heart-shaped <a href="exec:view''images/pc/body/ass/7.jpg''">butt</a> that jiggles as you walk.'
+		elseif pcs_butt <= 59:
+			$pcs_butt = 'You have a large heart-shaped <a href="exec:view''images/pc/body/ass/8.jpg''">butt</a> that jiggles and sways as you walk.'
+		else
+			$pcs_butt = 'You have a large bubble <a href="exec:view''images/pc/body/ass/9.jpg''">butt</a> that jiggles and sways as you walk.'
+		end
 
-	!have butt implant
-	if bodyVars['butt_silicone'] > 0:
-		buttpic = 4
-		$pcs_butt = 'Through the use of implants, you have given yourself a jiggly bubble <a href="exec:view''images/pc/body/ass/4.jpg''">butt</a>.'
+		!have butt implant
+		if bodyVars['butt_silicone'] > 0:
+			buttpic = 4
+			$pcs_butt = 'Through the use of implants, you have given yourself a jiggly bubble <a href="exec:view''images/pc/body/ass/9s.jpg''">butt</a>.'
+		end
 	end
 end
 

+ 13 - 11
locations/booty_call_sms.qsrc

@@ -33,13 +33,13 @@ if $ARGS[0] = 'start':
 	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]
-		!gs 'booty_call_sms', 'Add SMS3', 'new_booty_call', $ARGS[1]
+		!gs 'booty_call_sms', 'Add SMS', 'sugar_daddy_booty_call', $ARGS[1]
+		gs 'booty_call_sms', 'Add SMS3', 'new_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', 'Add SMS', 'default_booty_call', $ARGS[1]
-		!gs 'booty_call_sms', 'Add SMS3', 'new_booty_call', $ARGS[1]
+		!gs 'booty_call_sms', 'Add SMS', 'default_booty_call', $ARGS[1]
+		gs 'booty_call_sms', 'Add SMS3', 'new_booty_call', $ARGS[1]
 	end
 end
 
@@ -760,13 +760,15 @@ if $ARGS[0] = 'new_delayed':
 	gs 'SMStext_builder', 'start'
 		if $ARGS[1] = '1':
 			gs 'SMStext_builder', 'send', $SMSTree['f2']
-			gs 'SMStext_builder', 'add_reply', $SMSTree['f3'], 'booty_call_sms', 'new_delayed', '2', $ARGS[2], $ARGS[3]
-		elseif $ARGS[2] = '2':
-			gs 'SMStext_builder', 'send', $SMSTree['f3']
-			gs 'SMStext_builder', 'add_reply', $SMSTree['fa4'], 'booty_call_sms', 'new_routing2', $ARGS[2], $ARGS[3], 'fa4', ''
-			gs 'SMStext_builder', 'add_reply', $SMSTree['fb4'], 'booty_call_sms', 'new_routing2', $ARGS[2], $ARGS[3], 'fb4', ''
-			gs 'SMStext_builder', 'add_reply', $SMSTree['fc4'], 'booty_call_sms', 'new_routing2', $ARGS[2], $ARGS[3], 'fc4', ''
-			gs 'SMStext_builder', 'add_reply', $SMSTree['fd4'], 'booty_call_sms', 'new_routing2', $ARGS[2], $ARGS[3], 'fd4', ''
+			gs 'SMStext_builder', 'add_reply', $SMSTree['fa3'], 'booty_call_sms', 'new_delayed', 'a', $ARGS[2], $ARGS[3]
+			gs 'SMStext_builder', 'add_reply', $SMSTree['fb3'], 'booty_call_sms', 'new_delayed', 'b', $ARGS[2], $ARGS[3]
+			gs 'SMStext_builder', 'add_reply', $SMSTree['fc3'], 'booty_call_sms', 'new_delayed', 'c', $ARGS[2], $ARGS[3]
+			if (schoolAtestat = 0 or university['student'] = 1) and kanikuli = 0:
+				gs 'SMStext_builder', 'add_reply', $SMSTree['fd3'], 'booty_call_sms', 'new_delayed', 'd', $ARGS[2], $ARGS[3]
+			end
+		else
+			gs 'SMStext_builder', 'send', $SMSTree['f' + $ARGS[1] + '3']
+			gs 'SMStext_builder', 'add_reply', $SMSTree['f' + $ARGS[1] + '4'], 'booty_call_sms', 'new_routing2', $ARGS[2], $ARGS[3], 'f'+$ARGS[1]+'4', ''
 		end
 		gs 'SMStext_builder', 'show_sms', ARGS[4]
 	gs 'SMStext_builder', 'end'

+ 2 - 0
locations/bordel.qsrc

@@ -291,6 +291,8 @@ if $ARGS[0] = 'var':
 	if borrand <= 4 and func('bordel', 'is_open') = 0:
 		'The brothel is closing now, so this is your last chance to work today.'
 	end
+	killvar'borrand'
+	killvar'zpprand'
 end
 
 if $ARGS[0] = 'is_open':

+ 11 - 9
locations/boyStat.qsrc

@@ -12,7 +12,7 @@ if ($ARGS[0] = '' and ARGS[0] > 0) or mid($ARGS[0],1,1) < 10:
 	if ARGS[0] > 0:
 		npclastcalledn = ARGS[0]
 	else
-		npclastcalledn = $ARGS[0]
+		npclastcalledn = val($ARGS[0])
 	end
 	$npcboytemp = 'A' + npclastcalledn
 else
@@ -26,7 +26,7 @@ end
 
 if mid($npcboytemp,1,1) = 'A' or mid($npcboytemp,1,1) = 'B' or mid($npcboytemp,1,1) = 'C':
 	$npclastcalled = $npcboytemp
-	npclastcalledn = mid($npcboytemp, 2)
+	npclastcalledn = val(mid($npcboytemp, 2))
 	if $npc_usedname[$npclastcalled]=0: $npc_usedname[$npclastcalled] = $npc_firstname[$npclastcalled] & !! this is a workaround which compensate incomplete settings in npc_static files, it can be removed later ...
 	$bstemp[1] = $npc_usedname[$npclastcalled]
 	bstemp[2] = npc_dick[$npclastcalled]
@@ -34,27 +34,28 @@ if mid($npcboytemp,1,1) = 'A' or mid($npcboytemp,1,1) = 'B' or mid($npcboytemp,1
 	bstemp[4] = npc_sexskill[$npclastcalled]
 	gs 'pronouns', npc_gender[$npclastcalled], $ARGS[1]
 elseif mid($npcboytemp,1,1) = 'D':
-	if mid($npcboytemp, 2) = 1:
+	npclastcalledn = val(mid($npcboytemp, 2))
+	if npclastcalledn = 1:
 		$bstemp[1] = 'small sized'
 		bstemp[2] = 10
 		$bstemp[3] = 'slim'
-	elseif mid($npcboytemp, 2) = 2:
+	elseif npclastcalledn = 2:
 		$bstemp[1] = 'medium sized'
 		bstemp[2] = 15
 		$bstemp[3] = 'well proportioned'
-	elseif mid($npcboytemp, 2) = 3:
+	elseif npclastcalledn = 3:
 		$bstemp[1] = 'large sized'
 		bstemp[2] = 20
 		$bstemp[3] = 'thicker than average'
-	elseif mid($npcboytemp, 2) = 4:
+	elseif npclastcalledn = 4:
 		$bstemp[1] = 'huge sized'
 		bstemp[2] = 25
 		$bstemp[3] = 'thick'
-	elseif mid($npcboytemp, 2) = 5:
+	elseif npclastcalledn = 5:
 		$bstemp[1] = 'giant sized'
 		bstemp[2] = 30
 		$bstemp[3] = 'massive'
-	elseif mid($npcboytemp, 2) = 6:
+	elseif npclastcalledn = 6:
 		$bstemp[1] = 'humongous sized'
 		bstemp[2] = 35
 		$bstemp[3] = 'monstrous'
@@ -113,8 +114,9 @@ else
 end
 
 killvar 'bstemp'
-killvar '$bstemp'
 killvar 'boyStat_i'
+killvar 'npclastcalledn'
+killvar 'npcboytemp'
 
 
 

+ 2 - 19
locations/brothel.qsrc

@@ -279,27 +279,10 @@ end
 if $ARGS[0] = 'abducted4':
 	analplugIN = 1
 	pcs_hairbsh = -1
-	InSleep = 1
 	pain['killer'] = 0
-	if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0:
-		sleepQW['notathomesleep'] += 1
-	else
-		sleepQW['notathomesleep'] = 0
-	end
-	:loopson
-	minut += 1
-	stime += 1
-	pcs_health += 5
+	if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0: sleepVars['notathomesleep'] += 1
+	gs 'sleep_simple', 'sleep_until', 10, 0
 
-	if stime >= 60:
-		stime = 0
-		pcs_sleep += 15
-		gs 'stat'
-	end
-	if hour ! 10:jump 'loopson'
-
-	InSleep = 0
-	gs 'stat'
 	*nl
 	'<center><img <<$set_imgh>> src="images/locations/shared/brothel/wakeupboundonbedanalplug.jpg"></center>'
 	*nl

+ 57 - 58
locations/bus.qsrc

@@ -14,9 +14,7 @@
 		!!-----------------------!!
 
 if $ARGS[0] = 'community':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'community'
+	gs 'shortgs', 'setloc', 'bus', 'community'
 	$location_type = 'public_outdoors'
 	menu_off = 0
 	gs 'stat'
@@ -57,8 +55,7 @@ if $ARGS[0] = 'community':
 	end
 
 elseif $ARGS[0] = 'community_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'community_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'community_tickets'
 	menu_off = 0
 
 	act 'Leave the ticket office': gt 'bus', 'community'
@@ -72,8 +69,7 @@ elseif $ARGS[0] = 'community_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'community', 'pg'
 
 elseif $ARGS[0] = 'community_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'community_busses'
+	gs 'shortgs', 'setloc', 'bus', 'community_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'community'
@@ -101,9 +97,7 @@ end
 		!!-----------------------!!
 
 if $ARGS[0] = 'pavstation':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'pavstation'
+	gs 'shortgs', 'setloc', 'bus', 'pavstation'
 	$location_type = 'public_outdoors'
 	menu_off = 0
 	gs 'stat'
@@ -146,8 +140,7 @@ if $ARGS[0] = 'pavstation':
 	end
 
 elseif $ARGS[0] = 'pavstation_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'pavstation_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'pavstation_tickets'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'bus', 'pavstation'
@@ -164,8 +157,7 @@ elseif $ARGS[0] = 'pavstation_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'pavstation', 'pg'
 
 elseif $ARGS[0] = 'pavstation_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'pavstation_busses'
+	gs 'shortgs', 'setloc', 'bus', 'pavstation_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'pavstation'
@@ -197,9 +189,7 @@ end
 		!!-----------------------!!
 
 if $ARGS[0] = 'pushkin':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'pushkin'
+	gs 'shortgs', 'setloc', 'bus', 'pushkin'
 	$location_type = 'public_outdoors'
 	menu_off = 0
 	gs 'stat'
@@ -239,8 +229,7 @@ if $ARGS[0] = 'pushkin':
 	end
 
 elseif $ARGS[0] = 'pushkin_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'pushkin_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'pushkin_tickets'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'bus', 'pushkin'
@@ -257,8 +246,7 @@ elseif $ARGS[0] = 'pushkin_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'pushkin', 'pg'
 
 elseif $ARGS[0] = 'pushkin_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'pushkin_busses'
+	gs 'shortgs', 'setloc', 'bus', 'pushkin_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'pushkin'
@@ -290,9 +278,7 @@ end
 		!!-----------------------!!
 
 if $ARGS[0] = 'construction':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'construction'
+	gs 'shortgs', 'setloc', 'bus', 'construction'
 	$location_type = 'public_outdoors'
 	menu_off = 0
 	gs 'stat'
@@ -332,8 +318,7 @@ if $ARGS[0] = 'construction':
 	end
 
 elseif $ARGS[0] = 'construction_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'construction_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'construction_tickets'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'bus', 'construction'
@@ -350,8 +335,7 @@ elseif $ARGS[0] = 'construction_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'construction', 'gp'
 
 elseif $ARGS[0] = 'construction_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'construction_busses'
+	gs 'shortgs', 'setloc', 'bus', 'construction_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'construction'
@@ -383,10 +367,7 @@ end
 		!!-----------------------!!
 
 if $ARGS[0] = 'gadukino':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'gadukino'
-	$location_type = 'public_outdoors'
+	gs 'shortgs', 'setloc', 'bus', 'gadukino'
 	menu_off = 0
 	gs 'stat'
 
@@ -408,7 +389,7 @@ if $ARGS[0] = 'gadukino':
 	*nl
 	gs 'transport_functions', 'set_bus_wait_time', 'gadukino'
 
-	act 'Walk to Gadukino (0:01)': minut += 1 & gt 'gadroad', ''
+	act 'Walk to Gadukino (0:01)': minut += 1 & gt 'gad_road', 'start'
 
 	if temp_transportVars['bus_wait_pavlovsk'] <= 60 or temp_transportVars['bus_wait_suburbs'] <= 60:
 		'The next bus in the direction of Pavlovsk ' + iif(temp_transportVars['bus_wait_pavlovsk'] = 0, 'is leaving now!', 'leaves in <<temp_transportVars[''bus_wait_pavlovsk'']>> minutes.')
@@ -426,8 +407,7 @@ if $ARGS[0] = 'gadukino':
 	end
 
 elseif $ARGS[0] = 'gadukino_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'gadukino_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'gadukino_tickets'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'bus', 'gadukino'
@@ -445,8 +425,7 @@ elseif $ARGS[0] = 'gadukino_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'gadukino', 'gs'
 
 elseif $ARGS[0] = 'gadukino_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'gadukino_busses'
+	gs 'shortgs', 'setloc', 'bus', 'gadukino_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'gadukino'
@@ -482,9 +461,7 @@ end
 		!!-----------------------!!
 
 if $ARGS[0] = 'communal':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'communal'
+	gs 'shortgs', 'setloc', 'bus', 'communal'
 	$location_type = 'public_outdoors'
 	menu_off = 0
 	gs 'stat'
@@ -527,8 +504,7 @@ if $ARGS[0] = 'communal':
 	end
 
 elseif $ARGS[0] = 'communal_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'communal_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'communal_tickets'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'bus', 'communal'
@@ -545,8 +521,7 @@ elseif $ARGS[0] = 'communal_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'communal', 'gs'
 
 elseif $ARGS[0] = 'communal_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'communal_busses'
+	gs 'shortgs', 'setloc', 'bus', 'communal_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'communal'
@@ -577,9 +552,7 @@ end
 		!!-----------------------!!
 
 if $ARGS[0] = 'graveyard':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'graveyard'
+	gs 'shortgs', 'setloc', 'bus', 'graveyard'
 	$location_type = 'public_outdoors'
 	menu_off = 0
 	gs 'stat'
@@ -620,8 +593,7 @@ if $ARGS[0] = 'graveyard':
 	end
 
 elseif $ARGS[0] = 'graveyard_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'graveyard_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'graveyard_tickets'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'bus', 'graveyard'
@@ -638,8 +610,7 @@ elseif $ARGS[0] = 'graveyard_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'graveyard', 'sg'
 
 elseif $ARGS[0] = 'graveyard_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'graveyard_busses'
+	gs 'shortgs', 'setloc', 'bus', 'graveyard_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'graveyard'
@@ -670,9 +641,7 @@ end
 		!!-----------------------!!
 
 if $ARGS[0] = 'suburbs':
-	*clr & cla
-	$menu_loc = 'bus'
-	$menu_arg = 'suburbs'
+	gs 'shortgs', 'setloc', 'bus', 'suburbs'
 	$location_type = 'public_outdoors'
 	menu_off = 0
 	gs 'stat'
@@ -714,8 +683,7 @@ if $ARGS[0] = 'suburbs':
 	end
 
 elseif $ARGS[0] = 'suburbs_tickets':
-	$menu_loc = 'bus'
-	$menu_arg = 'suburbs_tickets'
+	gs 'shortgs', 'setloc', 'bus', 'suburbs_tickets'
 	menu_off = 0
 	
 	act 'Leave the ticket office': gt 'bus', 'suburbs'
@@ -729,8 +697,7 @@ elseif $ARGS[0] = 'suburbs_tickets':
 	gs 'transport_functions', 'buy_bus_ticket', 'suburbs', 'sg'
 
 elseif $ARGS[0] = 'suburbs_busses':
-	$menu_loc = 'bus'
-	$menu_arg = 'suburbs_busses'
+	gs 'shortgs', 'setloc', 'bus', 'suburbs_busses'
 	menu_off = 0
 
 	gs 'transport_functions', 'set_bus_wait_time', 'suburbs'
@@ -771,6 +738,7 @@ if $ARGS[0] = 'community_pavstation':
 	$loc_arg = 'pavstation'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'community', 'pavstation') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -798,6 +766,7 @@ elseif $ARGS[0] = 'community_pushkin':
 	$loc_arg = 'pushkin'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'community', 'pushkin') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -824,6 +793,7 @@ elseif $ARGS[0] = 'community_construction':
 	$loc_arg = 'construction'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'community', 'construction') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -850,6 +820,7 @@ elseif $ARGS[0] = 'community_gadukino':
 	$loc_arg = 'gadukino'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'community', 'gadukino') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -884,6 +855,7 @@ if $ARGS[0] = 'pavstation_community':
 	$loc_arg = 'community'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pavstation', 'community') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -910,6 +882,7 @@ elseif $ARGS[0] = 'pavstation_pushkin':
 	$loc_arg = 'pushkin'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pavstation', 'pushkin') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -936,6 +909,7 @@ elseif $ARGS[0] = 'pavstation_construction':
 	$loc_arg = 'construction'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pavstation', 'construction') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -962,6 +936,7 @@ elseif $ARGS[0] = 'pavstation_gadukino':
 	$loc_arg = 'gadukino'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pavstation', 'gadukino') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -996,6 +971,7 @@ if $ARGS[0] = 'pushkin_community':
 	$loc_arg = 'community'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pushkin', 'community') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1022,6 +998,7 @@ elseif $ARGS[0] = 'pushkin_pavstation':
 	$loc_arg = 'pavstation'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pushkin', 'pavstation') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1048,6 +1025,7 @@ elseif $ARGS[0] = 'pushkin_construction':
 	$loc_arg = 'construction'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pushkin', 'construction') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1074,6 +1052,7 @@ elseif $ARGS[0] = 'pushkin_gadukino':
 	$loc_arg = 'gadukino'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'pushkin', 'gadukino') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1108,6 +1087,7 @@ if $ARGS[0] = 'construction_community':
 	$loc_arg = 'community'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'construction', 'community') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1134,6 +1114,7 @@ elseif $ARGS[0] = 'construction_pavstation':
 	$loc_arg = 'pavstation'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'construction', 'pavstation') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1160,6 +1141,7 @@ elseif $ARGS[0] = 'construction_pushkin':
 	$loc_arg = 'pushkin'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'construction', 'pushkin') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1186,6 +1168,7 @@ elseif $ARGS[0] = 'construction_gadukino':
 	$loc_arg = 'gadukino'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'construction', 'gadukino') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1220,6 +1203,7 @@ if $ARGS[0] = 'gadukino_community':
 	$loc_arg = 'community'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'gadukino', 'community') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1246,6 +1230,7 @@ elseif $ARGS[0] = 'gadukino_pavstation':
 	$loc_arg = 'pavstation'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'gadukino', 'pavstation') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1272,6 +1257,7 @@ elseif $ARGS[0] = 'gadukino_pushkin':
 	$loc_arg = 'pushkin'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'gadukino', 'pushkin') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1298,6 +1284,7 @@ elseif $ARGS[0] = 'gadukino_construction':
 	$loc_arg = 'construction'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'gadukino', 'construction') + temp_transportVars['bus_wait_pavlovsk']
 	minut += temp_transportVars['timecost']
@@ -1324,6 +1311,7 @@ elseif $ARGS[0] = 'gadukino_communal':
 	$loc_arg = 'communal'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'gadukino', 'communal') + temp_transportVars['bus_wait_suburbs']
 	minut += temp_transportVars['timecost']
@@ -1350,6 +1338,7 @@ elseif $ARGS[0] = 'gadukino_graveyard':
 	$loc_arg = 'graveyard'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'gadukino', 'graveyard') + temp_transportVars['bus_wait_suburbs']
 	minut += temp_transportVars['timecost']
@@ -1376,6 +1365,7 @@ elseif $ARGS[0] = 'gadukino_suburbs':
 	$loc_arg = 'suburbs'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'gadukino', 'suburbs') + temp_transportVars['bus_wait_suburbs']
 	minut += temp_transportVars['timecost']
@@ -1410,6 +1400,7 @@ if $ARGS[0] = 'communal_gadukino':
 	$loc_arg = 'gadukino'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'communal', 'gadukino') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1436,6 +1427,7 @@ elseif $ARGS[0] = 'communal_graveyard':
 	$loc_arg = 'graveyard'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'communal', 'graveyard') + temp_transportVars['bus_wait_suburbs']
 	minut += temp_transportVars['timecost']
@@ -1462,6 +1454,7 @@ elseif $ARGS[0] = 'communal_suburbs':
 	$loc_arg = 'suburbs'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'communal', 'suburbs') + temp_transportVars['bus_wait_suburbs']
 	minut += temp_transportVars['timecost']
@@ -1496,6 +1489,7 @@ if $ARGS[0] = 'graveyard_gadukino':
 	$loc_arg = 'gadukino'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'graveyard', 'gadukino') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1522,6 +1516,7 @@ elseif $ARGS[0] = 'graveyard_communal':
 	$loc_arg = 'communal'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'graveyard', 'communal') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1548,6 +1543,7 @@ elseif $ARGS[0] = 'graveyard_suburbs':
 	$loc_arg = 'suburbs'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'graveyard', 'suburbs') + temp_transportVars['bus_wait_suburbs']
 	minut += temp_transportVars['timecost']
@@ -1582,6 +1578,7 @@ if $ARGS[0] = 'suburbs_gadukino':
 	$loc_arg = 'gadukino'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'suburbs', 'gadukino') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1608,6 +1605,7 @@ elseif $ARGS[0] = 'suburbs_communal':
 	$loc_arg = 'communal'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'suburbs', 'communal') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']
@@ -1634,6 +1632,7 @@ elseif $ARGS[0] = 'suburbs_graveyard':
 	$loc_arg = 'graveyard'
 	$location_type = 'public_indoors'
 	menu_off = 1
+
 	gs 'transport_functions', 'set_bus_wait_time'
 	temp_transportVars['timecost'] = func('transport_functions', 'get_bus_timecost', 'suburbs', 'graveyard') + temp_transportVars['bus_wait_gadukino']
 	minut += temp_transportVars['timecost']

+ 5 - 5
locations/camera.qsrc

@@ -28,10 +28,10 @@ $camera_locations['gadukino'] = {
 	$camera_return_loc_arg = ''
 }
 
-$camera_locations['gadforest'] = {
+$camera_locations['gad_forest'] = {
 	$camera_description = 'Gadukino Forest'
-	$camera_event = 'gadforest'
-	$camera_return_loc = 'gadforest'
+	$camera_event = 'gad_forest'
+	$camera_return_loc = 'gad_forest'
 	$camera_return_loc_arg = 'forest_edge'
 }
 
@@ -240,7 +240,7 @@ if $ARGS[0] = 'mother':
 			if $loc = 'kuhrPar' or $loc = 'sitrPar':
 				gt 'pav_complex', 'start'
 			else
-				gt 'gaddvor'
+				gt 'gad_gpyard', 'start'
 			end
 		end
 	end
@@ -321,7 +321,7 @@ if $ARGS[0] = 'gadukino':
 	act 'Put your camera away': gt $loc, $loc_arg
 end
 
-if $ARGS[0] = 'gadforest':
+if $ARGS[0] = 'gad_forest':
 	*clr & cla
 	minut += 15
 	gs 'exp_gain', 'photoskl', rand(3,5)

+ 20 - 23
locations/card.qsrc

@@ -3,36 +3,23 @@
 menu_off = 1
 gs 'stat'
 '<center><img <<$set_imgh>> src="images/pc/items/accessories/cards/porndeck.jpg"></center>'
-'You pull your deck of cards out and spread them around '+iif($card_loc = 'gadsarai', 'an old desk in the barn', 'your desk')+' to look at them.'
+'You pull your deck of cards out and spread them around ' + iif($card_loc = 'gad_gpbarn', 'an old desk in the barn', 'your desk') + ' to look at them.'
 
 act 'Put the cards away':
 	killvar '$card_loc'
+	killvar '$papkacard'
+	killvar 'papkarand'
+	killvar 'numcard'
+	killvar 'nomcard'
+	killvar 'card_deck'
 	gt $loc
 end
 act 'Pull a card from the deck':
 	*clr & cla
 	you_slut += 1
 
-	!!if you_slut < 10:end
-
-	if you_slut >= 10 and you_slut < 20:
-		pcs_horny += 1
-	elseif you_slut >= 20 and you_slut < 30:
-		pcs_horny += 2
-	elseif you_slut >= 30 and you_slut < 40:
-		pcs_horny += 3
-	elseif you_slut >= 40 and you_slut < 50:
-		pcs_horny += 4
-	elseif you_slut >= 50 and you_slut < 60:
-		pcs_horny += 5
-	elseif you_slut >= 60 and you_slut < 70:
-		pcs_horny += 6
-	elseif you_slut >= 70 and you_slut < 80:
-		pcs_horny += 7
-	elseif you_slut >= 80 and you_slut < 90:
-		pcs_horny += 8
-	elseif you_slut >= 90 and you_slut < 100:
-		pcs_horny += 9
+	if you_slut >= 10 and you_slut <= 100: 
+		pcs_horny += (you_slut/10)
 	elseif you_slut >= 100:
 		pcs_horny += 10
 	end
@@ -67,15 +54,25 @@ end
 
 if card_deck = 0:
 	act 'Throw away your deck of vintage porn cards': 
-		vcard = 0
+		mc_inventory['vintage_card'] = 0
 		vcard_trash = 1
 		killvar '$card_loc'
+		killvar '$papkacard'
+		killvar 'papkarand'
+		killvar 'numcard'
+		killvar 'nomcard'
+		killvar 'card_deck'
 		gt $loc
 	end
 elseif card_deck = 1:
 	act 'Throw away your deck of new porn cards': 
-		card = 0
+		mc_inventory['card']  = 0
 		killvar '$card_loc'
+		killvar '$papkacard'
+		killvar 'papkarand'
+		killvar 'numcard'
+		killvar 'nomcard'
+		killvar 'card_deck'
 		gt $loc
 	end
 end

+ 6 - 1
locations/cikl.qsrc

@@ -633,6 +633,11 @@ gs 'stat_sklattrib', 'daycall'
 gs 'body', 'DailyUpdate'
 
 
+!! Set Mira''s schedule for the day
+!gs 'miroslava_schedule', 'cikl'
+
+
+
 if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
 
 !!Pussy_Kats job settings
@@ -974,7 +979,7 @@ gs 'drugs', 'cocaine', 'cikl'
 gs 'drugs', 'mentats', 'cikl'
 gs 'drugs', 'aphrodisiac', 'cikl'
 
-gs 'gaddvor','cikl'
+gs 'gad_gpyard', 'cikl'
 
 loc_count = ARRSIZE('$CloLosLoc')
 i = loc_count - 1

+ 2 - 1
locations/city_center.qsrc

@@ -21,6 +21,7 @@ if sound = 0:
 end
 
 gs 'stat'
+gs 'music_actions', 'clear_restrictions'
 
 !call random events from [street_events], and display them before show location.
 if streetevent_hour ! hour: gt 'street_event','city_center', 'main'
@@ -97,7 +98,7 @@ if shantpopala > 0:
 	exit
 end
 
-gs 'music_actions', 'music_icon'
+gs 'music_actions', 'start'
 
 
 if car > 0 and cardrive = 2:'Your <a href="exec:GS ''carF'', ''start''"><<$car>></a> sits in the parking lot.'

+ 2 - 1
locations/city_coffee_hole.qsrc

@@ -145,8 +145,9 @@ if $args[0]= 'counter':
 	$menu_arg = 'counter'
 	menu_off = 0
 	minut += 5
+	gs 'anushka_konstantinov_schedule'
 	gs 'stat'
-	if mid($start_type,1,2) = 'sg' and yearstart >= 2 and (((week = 2 or week = 4 or week = 7) and hour >= 18) or (week = 5 and hour >= 10 and hour < 16)):
+	if locat['A144'] = 9:
 		gt 'city_coffee_hole','anushka_work'
 	else 
 		temprand = rand(1,2)

+ 2 - 1
locations/city_house_res_bedr.qsrc

@@ -14,6 +14,7 @@ if $ARGS[0] = 'bedro':
 	menu_off = 0
 	minut += 1
 	gs 'stat'
+	gs 'music_actions', 'clear_restrictions'
 	
 	*clr & cla
 	'<center><b><font color="maroon">Bedroom</font></b></center>'
@@ -26,7 +27,7 @@ if $ARGS[0] = 'bedro':
 	if mc_inventory['mag_porn'] > 0:gs 'events', 'read_porn'
 	
 	if pcs_horny >= 50: act 'Masturbate':gt 'selfplay', 'start'
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 	*nl
 	'It''s a bright and beautiful room, with a large <a href="exec:gt ''bed'', ''start''">continental bed</a>.'
 	*nl

+ 9 - 46
locations/city_house_res_misc.qsrc

@@ -136,6 +136,7 @@ if $ARGS[0] = 'livroom':
 	menu_off = 0
 	minut += 1
 	gs 'stat'
+	gs 'music_actions', 'clear_restrictions'
 	
 	*clr & cla
 	'<center><b><font color="maroon">Living Room</font></b></center>'
@@ -160,59 +161,21 @@ if $ARGS[0] = 'livroom':
 	gs 'subkid'
 
 	!! IMPORTANT: if there is anything added later that could mean that others are in the room, gs 'music_actions', 'not_alone' should be added with the correct conditions.
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 
 	if mc_inventory['sewing_kit'] = 1:
 		'Your <a href="exec:gt ''sewing'',''start''">sewing kit</a> is stored next to your favorite chair.'
 		*nl
-		if gobelen > 0:
-			'You have completed <<gobelen>> tapestries.'
-			*nl
-		end
-		if mc_inventory['sewing_fabric'] <= 0:
-			'You do not have any fabric.'
-		else
-			if pcs_sewng < 40:
-				'You have <<mc_inventory[''sewing_fabric'']>> pieces of sewing fabric left.'
-			elseif pcs_sewng < 80:
-				'You have enough fabric for <<mc_inventory[''sewing_fabric'']>> lessons.'
-			else
-				if newgobelen = 0:
-					act'Start a new tapestry (00:15)':
-						*clr & cla
-						menu_off = 1
-						mc_inventory['sewing_fabric'] -= 1
-						newgobelen = 1
-						minut += 15
-						gs'stat'
-						'You spend 15 minutes at the embroidery frame, preparing the fabric and outlining the pattern for the tapestry.'
-						act'Set the tapestry aside':gt 'city_house_res_misc', 'livroom'
-					end
-				end
-			end
-		end	
-		if newgobelen >= 1:
-			'Your tapestry is <<newgobelen/10>> percent finished.'
-			act'Work on the tapestry (01:00)':
-				*clr & cla
-				menu_off = 1
-				minut += 60
-				gs 'exp_gain', 'sewng', rand(pcs_intel/10, pcs_intel/5)
-				gobramax = (pcs_sewng - 70) * 6
-				gobramin = (pcs_sewng - 70) * 2
-				newgobelen += rand(gobramin,gobramax)
-				gs'stat'
-				if newgobelen < 1000:'You spend an hour working on your tapestry, which is now <<newgobelen/10>> percent finished.'
-					if newgobelen >= 1000:
-					newgobelen = 0
-					gobelen += 1
-					'Your work on the tapestry is done.'
-				end
-				act'Set the tapestry aside':gt 'city_house_res_misc', 'livroom'
+		if pcs_sewng >= 80:
+			if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0: 
+				act'Start a new tapestry':gt 'sewing', 'tapestry'
+			elseif newgobelen >= 1:
+				'Your tapestry is <<newgobelen/10>> percent finished.'
+				act 'Work on the tapestry':gt 'sewing', 'tapestry'
 			end
 		end
+		if mc_inventory['tapestry'] > 0: 'You have <<mc_inventory[''tapestry'']>> completed tapestries.'
 	end
-
 end
 
 --- city_house_res_misc ---------------------------------

+ 17 - 11
locations/city_jorahouse.qsrc

@@ -255,8 +255,7 @@ if $ARGS[0] = 'ev14':
 end
 
 if $ARGS[0] = 'ev15':
-	cla
-	*clr
+	cla & *clr
 	klofQW += 1
 	money += 100
 	spafinloc = 11
@@ -275,13 +274,14 @@ if $ARGS[0] = 'ev15':
 	end
 
 	act 'Continue':
-		cla
-		*clr
+		cla & *clr
 		'Jora discharges himself on your face'
 		picrand = rand(18, 20)
 		'<center><img <<$set_imgh>> src="images/characters/city/jora/sex/klof<<picrand>>.jpg"></center>'
 		'You get dressed and get ready to go home.'
 		'Jora hands you money, "Earned yourself a crumb."'
+		killvar'horand'
+		killvar'picrand'
 		gs 'arousal', 'end'
 		gs 'stat'
 		act 'Go home':gt 'city_residential'
@@ -289,8 +289,7 @@ if $ARGS[0] = 'ev15':
 end
 
 if $ARGS[0] = 'ev10':
-	cla
-	*clr
+	cla & *clr
 	gs 'boyStat', 'A45'
 	silavag = 2
 	gs 'arousal', 'bj', 5, 'sub'
@@ -356,6 +355,8 @@ if $ARGS[0] = 'ev 17':
 		'You get dressed and get ready to go home.'
 		'Seymon hands you money, "Earned yourself a crumb."'
 		guy += 1
+		killvar'horand'
+		killvar'picrand'
 		gs 'arousal', 'end'
 		gs 'stat'
 		act 'Go home':gt 'city_residential'
@@ -393,6 +394,8 @@ if $ARGS[0] = 'ev 18':
 		'<center><img <<$set_imgh>> src="images/characters/city/jora/sex/klof18.jpg"></center>'
 		'You get dressed and get ready to go home.'
 		'Seymon hands you money, "Earned yourself a crumb."'
+		killvar'horand'
+		killvar'picrand'
 		gs 'arousal', 'end'
 		gs 'stat'
 		act 'Go home':gt 'city_residential'
@@ -441,6 +444,8 @@ if $ARGS[0] = 'ev19':
 	'The boys throw money at you, "Earned yourself a crumb."'
 	guy += 1
 	gang += 1
+	killvar'horand'
+	killvar'picrand'
 	gs 'arousal', 'end'
 	gs 'stat'
 	act 'Go home':gt 'city_residential'
@@ -561,7 +566,6 @@ end
 if $ARGS[0] = 'ev26':
 	cla
 	*clr
-	! WD: Correct Image path ~ "images/characters/city/jora/klof26</center>.jpg"
 	'<center><img <<$set_imgh>> src="images/characters/city/jora/klof26.jpg"></center>'
 	'You show your ass to the boss.'
 	'"Let''s get rid of that dress!" He says.'
@@ -759,7 +763,7 @@ if $ARGS[0] = 'ev34':
 	end
 
 	'"Now I try your ass."'
-
+	killvar'horand'
 	act 'Let him fuck your ass':gt 'city_jorahouse', 'ev35'
 	
 	gs 'willpower', 'misc', 'resist', 'hard'
@@ -794,7 +798,8 @@ if $ARGS[0] = 'ev35':
 	end
 
 	'You feel that the boss is ready to cum.'
-
+	killvar'horand'
+	killvar'picrand'
 	act 'Kneel in front of him':gt 'city_jorahouse', 'ev36'
 	act 'Let him end in your ass':gt 'city_jorahouse', 'ev37'
 	act 'Stick his cock in your pussy':gt 'city_jorahouse', 'ev38'
@@ -804,7 +809,7 @@ if $ARGS[0] = 'ev36':
 	cla
 	*clr
 	spafinloc = 11
-gs 'cum_manage'
+	gs 'cum_manage'
 	money += 500
 	'<center><img <<$set_imgh>> src="images/characters/city/jora/sex/klof30.jpg"></center>'
 	'You jump from his member and start wanking his cock until the boss cums on your face.'
@@ -817,7 +822,7 @@ if $ARGS[0] = 'ev37':
 	cla
 	*clr
 	spafinloc = 3
-gs 'cum_manage'
+	gs 'cum_manage'
 	money += 500
 	'<center><img <<$set_imgh>> src="images/characters/city/jora/sex/klof32.jpg"></center>'
 	'You start furiously thrusting your ass trying to help him quickly reach orgasm. You fill the warm feeling that tells you he has cum in your ass.'
@@ -882,6 +887,7 @@ if $ARGS[0] = 'ev40':
 	elseif horand > stat['vaginal']:
 		pcs_horny += 10 & 'You are not satisfied'
 	end
+	killvar'horand'
 	act 'Get up and get dressed':gt 'city_jorahouse', 'ev41'
 end
 

+ 2 - 2
locations/city_kafeend.qsrc

@@ -73,14 +73,14 @@ end
 if $ARGS[0] = 'end':
 	gs 'arousal', 'erotic_nudity', 5
 	gs 'stat'
-
+	killvar 'kafe_rand'
 	act 'Leave': gt 'city_residential'
 end
 
 if $ARGS[0] = 'end_sex':
 	gs 'arousal', 'voyeur_sex', 5
 	gs 'stat'
-
+	killvar 'kafe_rand'
 	act 'Leave': gt 'city_residential'
 end
 

+ 3 - 3
locations/city_library.qsrc

@@ -99,7 +99,7 @@ if $ARGS[0] = 'read':
 		grupvalue[3] += 1
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/science1.jpg"></center>'
-		'You spend an hour reading, trying to make sense of all the clever propositions writen inside and understand the subject it describes.'
+		'You spend an hour reading, trying to make sense of all the clever propositions written inside and understand the subject it describes.'
 		act 'Put the book back': gt 'city_library', 'read'
 	end
 
@@ -119,7 +119,7 @@ if $ARGS[0] = 'read':
 		grupvalue[3] += 1
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/fantasy' + rand(1,9) + '.jpg"></center>'
-		'You spend an hour reading a fantasy novel, rescuing damsels from dragons, digging for jewels with dwarves and performing word changing magic alongside elves and druids.'
+		'You spend an hour reading a fantasy novel, rescuing damsels from dragons, digging for jewels with dwarves and performing world changing magic alongside elves and druids.'
 		act 'Put the book back': gt 'city_library', 'read'
 	end
 
@@ -129,7 +129,7 @@ if $ARGS[0] = 'read':
 		grupvalue[3] += 1
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/pc/items/accessories/books/scifi' + rand(1,6) + '.jpg"></center>'
-		'You spend an hour reading a science fiction novel - flying off into space, travelling though time, running from rogue AI and creating monsters with your hunchbacked assistant.'
+		'You spend an hour reading a science fiction novel - flying off into space, traveling through time, running from rogue AI and creating monsters with your hunchbacked assistant.'
 		act 'Put the book back': gt 'city_library', 'read'
 	end
 

+ 13 - 47
locations/city_mansion_residence_2.qsrc

@@ -11,6 +11,7 @@ if $ARGS[0] = 'yliving':
 	menu_off = 0
 	minut += 1
 	gs 'stat'
+	gs 'music_actions', 'clear_restrictions'
 	
 	*clr & cla
 	'<center><b><font color="maroon">Living Room</font></b></center>'
@@ -27,7 +28,7 @@ if $ARGS[0] = 'yliving':
 		'A large room where you can watch <a href="exec:gt ''TV'',''start''">TV</a>, or relax on your luxury <a href="exec:gt ''divan'', ''start''">leather sofa</a>.'
 		if $ml_guitar['location'] = $loc: 'Your guitar rests on its stand next to the sofa.'
 		gs 'subkid'
-		gs 'music_actions', 'music_icon'
+		gs 'music_actions', 'start'
 	end
 end
 
@@ -60,53 +61,17 @@ if $ARGS[0] = 'ylounge':
 		if mc_inventory['sewing_kit'] = 1:
 			'Your <a href="exec:gt ''sewing'',''start''">sewing kit</a> is stored next to your favorite chair.'
 			*nl
-			if gobelen > 0:
-				'You have completed <<gobelen>> tapestries.'
-				*nl
-			end
-			if mc_inventory['sewing_fabric'] <= 0:
-				'You do not have any fabric.'
-			else
-				if pcs_sewng < 40:
-					'You have <<mc_inventory[''sewing_fabric'']>> pieces of sewing fabric left.'
-				elseif pcs_sewng < 80:
-					'You have enough fabric for <<mc_inventory[''sewing_fabric'']>> lessons.'
-				else
-					if newgobelen = 0:
-						act'Start a new tapestry (00:15)':
-							*clr & cla
-							menu_off = 1
-							mc_inventory['sewing_fabric'] -= 1
-							newgobelen = 1
-							minut += 15
-							gs'stat'
-							'You spend 15 minutes at the embroidery frame, preparing the fabric and outlining the pattern for the tapestry.'
-
-							act'Set the tapestry aside':gt 'city_mansion_residence_2', 'ylounge'
-						end
-					end
-				end
-			end	
-			if newgobelen >= 1:
-				'Your tapestry is <<newgobelen/10>> percent finished.'
-				act'Work on the tapestry (01:00)':
-					*clr & cla
-					menu_off = 1
-					minut += 60
-					gs 'exp_gain', 'sewng', rand(pcs_intel/10, pcs_intel/5)
-					gobramax = (pcs_sewng - 70) * 6
-					gobramin = (pcs_sewng - 70) * 2
-					newgobelen += rand(gobramin,gobramax)
-					gs'stat'
-					if newgobelen < 1000:'You spend an hour working on your tapestry, which is now <<newgobelen/10>> percent finished.'
-						if newgobelen >= 1000:
-						newgobelen = 0
-						gobelen += 1
-						'Your work on the tapestry is done.'
-					end
-					act'Set the tapestry aside':gt 'city_mansion_residence_2', 'ylounge'
+			if mc_inventory['sewing_fabric'] <= 0:'You do not have any fabric.'
+			*nl
+			if pcs_sewng >= 80:
+				if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0: 
+					act'Start a new tapestry':gt 'sewing', 'tapestry'
+				elseif newgobelen >= 1:
+					'Your tapestry is <<newgobelen/10>> percent finished.'
+					act 'Work on the tapestry':gt 'sewing', 'tapestry'
 				end
 			end
+			if mc_inventory['tapestry'] > 0: 'You have <<mc_inventory[''tapestry'']>> completed tapestries.'
 		end
 	end
 end
@@ -256,6 +221,7 @@ if $ARGS[0] = 'yoffice':
 	menu_off = 0
 	minut += 1
 	gs 'stat'
+	gs 'music_actions', 'clear_restrictions'
 	
 	*clr & cla
 	'<center><b><font color="maroon">Office</font></b></center>'
@@ -276,7 +242,7 @@ if $ARGS[0] = 'yoffice':
 		'There''s a <a href="exec:gt ''Komp'', ''start''">computer</a> sitting on your antique <a href="exec:gt ''stol'', ''start''">desk</a>.'
 
 	!! IMPORTANT: if there is anything added later that could mean that others are in the room, gs 'music_actions', 'not_alone' should be added with the correct conditions.
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 		
 	end
 end

+ 3 - 44
locations/city_nightclub.qsrc

@@ -209,8 +209,7 @@ if $ARGS[0] = 'dance':
 			if clrand > 0:
 				if clrand < 5:
 					gs 'arousal', 'foreplay', 1
-					gs 'npcgeneratec', 0, '', rand(18,55), rand(3,4)
-					gs 'boystat', $npclastgenerated
+					gs 'boygirl', 0
 					'As you''re dancing, you feel someone groping your ass. You turn around and see <<$boybody_pref>>, <<$boybod>> guy with <<$boyface>> hair. He''s <<$boyClo>>'
 					act 'Stop dancing': gt 'city_nightclub', 'inside'
 					act 'Dance with him': gt 'city_nightclub', 'dance_guy'
@@ -455,8 +454,6 @@ if $ARGS[0] = 'bar':
 			'You''re so drunk that you can barely remember where you live.'
 			
 			act 'Try to go home': gt 'city_residential'
-			killvar 'temp'
-			exit
 		elseif temp = 7:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand4.jpg"></center>'
@@ -471,8 +468,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 			
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 8:
 			pcs_horny += 5
 			gs 'stat'
@@ -481,8 +476,6 @@ if $ARGS[0] = 'bar':
 			'You''re too drunk to continue partying and security has to escort you out.'
 			
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 9:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand6.jpg"></center>'
@@ -493,8 +486,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 			
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 10:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand7.jpg"></center>'
@@ -505,8 +496,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 			
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 11:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand8.jpg"></center>'
@@ -517,8 +506,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 12:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand9.jpg"></center>'
@@ -529,8 +516,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 13:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand10.jpg"></center>'
@@ -541,8 +526,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 14:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand11.jpg"></center>'
@@ -553,8 +536,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 15:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand12.jpg"></center>'
@@ -565,8 +546,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 16:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club13.jpg"></center>'
@@ -577,8 +556,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 17:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club14.jpg"></center>'
@@ -589,8 +566,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 18:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand15.jpg"></center>'
@@ -601,8 +576,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 19:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand16.jpg"></center>'
@@ -613,8 +586,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 20:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/shared/sex/public/ivrand17.jpg"></center>'
@@ -625,8 +596,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 21:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club21.jpg"></center>'
@@ -637,8 +606,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 22:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club22.jpg"></center>'
@@ -649,8 +616,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 23:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club23.jpg"></center>'
@@ -661,8 +626,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp = 24:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club24.jpg"></center>'
@@ -673,8 +636,6 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		elseif temp > 24:
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/nightclub/club25.jpg"></center>'
@@ -685,10 +646,9 @@ if $ARGS[0] = 'bar':
 			gs 'stat'
 
 			act 'Leave': gt 'city_center'
-			killvar 'temp'
-			exit
 		end
 		killvar 'temp'
+		exit
 	end
 end
 
@@ -696,8 +656,7 @@ if $ARGS[0] = 'sex':
 	*clr & cla
 	menu_off = 1
 	gs 'dinSex', 'std_trigger_oral'
-	gs 'npcgeneratec', 0, 'stranger from the club', rand(18,26)
-	gs 'boyStat', $npclastgenerated
+	gs 'boygirl', 0
 	dick = rand(10, 18)
 	gs 'stat'
 	'<center><b><font color="maroon">toilet stall</font></b></center>'

+ 3 - 2
locations/city_park.qsrc

@@ -19,6 +19,7 @@ if $ARGS[0] = 'start':
 	end
 
 	$sexloc = 'city_park'
+	gs 'music_actions', 'clear_restrictions'
 
 	if WalkInsidePark = 0:WalkInsidePark = 1
 	*clr & cla
@@ -185,7 +186,7 @@ if $ARGS[0] = 'start':
 		'You could go for a run in the park if you were wearing sports clothes and shoes.'
 	end
 
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 
 	if hour <= 7 or hour >= 21:
 		!!Succubus active hunting, can only hunt successfully once a day, but can try until success
@@ -375,7 +376,7 @@ if $ARGS[0] = 'luna':
 					else
 						'You can''t even hit one target.'
 					end
-
+					killvar 'tirand'
 					gs 'exp_gain', 'shoot', 1
 
 					act 'Move away':gt 'city_park', 'luna'

+ 4 - 4
locations/clothing.qsrc

@@ -1511,7 +1511,7 @@ if $ARGS[0] = 'view_clothing_item':
 			if $ARGS[1] = 'coat' and ARGS[2] = 5:
 				price = ARGS[3]
 			else
-				price = ('<<ARGS[3]>>' * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[2]]) * 3 / 2
+				price = (ARGS[3] * ((5 * CloQuality) + 100) / 100) * 1000 / (1250 - Clothingstock[ARGS[2]]) * 3 / 2
 				price = price / 50 * 50
 			end
 			'Price: <<price>> <b>₽</b>'
@@ -1699,7 +1699,7 @@ if $ARGS[0] = 'view_clothing_item':
 end
 
 if $args[0] = 'school_check':
-	if CloInhibit <= 10:
+	if CloInhibit <= 5:
 		'<font color="blue">This uniform is very conservative. Only the nerds would approve of you wearing it.</font>'
 	elseif CloSkirtShortness < 5 and CloThinness < 5 and CloBra = 0:
 		if CloInhibit >= 30 or CloTopCut = 4:
@@ -1722,7 +1722,7 @@ if $args[0] = 'school_check':
 			'<font color="blue">This uniform slightly breaches the school regulations on skirt length. The gopnik would approve of you wearing it and they will respect you for beating the school rules.</font>'
 		end
 	else
-		if PCloSkirt > 5:
+		if CloSkirt > 5:
 			'<font color="red">This uniform is so short that it makes a mockery of the school uniform regulations. Everybody in school apart from the gopniks will think that you''re a slut.</font>'
 		else
 			'<font color="red">This uniform is too thin and that can expose underwear making a mockery of the school uniform regulations. Everybody in school apart from the gopniks will think that you''re a slut.</font>'
@@ -2009,7 +2009,7 @@ if $ARGS[0] = 'wear_last_worn':
 	gs 'clothing', 'wear', $lastwornclothingtype, lastwornclothingnumber
 end
 
-if $ARGS[0] = 'swamp_clothes':
+if $ARGS[0] = 'gad_swamp_clothes':
 	if ARGS[1] = 1:
 	!hessian clothing to owned, sets size and equipped.
 		misc_outfits[1] = 1

+ 1 - 1
locations/clothing_attributes.qsrc

@@ -21,7 +21,7 @@
 !!		Notes:   Clothing with large cut-away sections or transparent sections should have a decreased CloThinness score
 !!		Ex: 	6 intentionally reveals breast or pubic areas, with translucent or transparent areas and should trigger some sort of indecent exposure/arrest event if worn in public without underwear. 
 !!				5 is thin enough to be seen through only in bright light, or is otherwise tight enough to show the body in detail if opaque (skin tight).  
-!!				4 is thin or tight enough to be flirty and fine in most places except the most conservative (church, school, etc). 
+!!				4 is thin or tight enough to be flirty and fine in most places except the most conservative (church, court, etc). 
 !!				3-2 is the range of clothing that is modest enough to be worn in all public places.
 !!				1 does not follow the curves of the body in great detail, and makes it hard to see the body shape.
 !!Top!!

+ 5 - 3
locations/dachain.qsrc

@@ -14,6 +14,8 @@ if $args[0] = 'start':
 	gs 'themes', 'indoors'
 	*clr & cla
 	gs 'stat'
+	gs 'music_actions', 'clear_restrictions'
+
 	'<center><b><font color="maroon">Cottage</font></b></center>'
 	if func('homes_properties', 'is_property_renovated'):
 		'<center><img <<$set_imgh>> src="images/locations/suburban/cottage/dacharoom2.jpg"></center>'
@@ -26,8 +28,8 @@ if $args[0] = 'start':
 	*nl
 	'There is a sofa in front of the fireplace, a kitchen alcove opposite the bed and the door to the bathroom next to that.'
 	*nl
-	if stol = 0:$stol = 'an old wooden <a href="exec:gt ''stol'', ''start''">table</a>'
-	if stol = 1:$stol = 'a new <a href="exec:gt ''stol'', ''start''">table</a>'
+	if mc_inventory['desk'] = 0:$stol = 'an old wooden <a href="exec:gt ''stol'', ''start''">table</a>'
+	if mc_inventory['desk'] = 1:$stol = 'a new <a href="exec:gt ''stol'', ''start''">table</a>'
 	'In front of the window there is <<$stol>>.'
 	*nl
 	if mc_inventory['tech_computer'] = 1:
@@ -60,7 +62,7 @@ if $args[0] = 'start':
 !!-------------------------------------------------------------------------------------------------------------------------------------
 
 	!! IMPORTANT: if there is anything added later that could mean that others are in the room, gs 'music_actions', 'not_alone' should be added with the correct conditions.
-	gs 'music_actions', 'music_icon'
+	gs 'music_actions', 'start'
 	
 end
 

+ 20 - 9
locations/din_bad.qsrc

@@ -236,13 +236,15 @@ if $ARGS[0] = 'd_bag':
 	if mc_inventory['breastcream'] > 0:'<a href="exec: gs ''drugs'', ''breastcream'' & gs ''din_bad'', ''d_bag''">Apply breast cream.</a> You have <b><<mc_inventory[''breastcream'']>></b> cream left in your purse.'
 	if mc_inventory['aphrodisiac'] > 0:'<a href="exec: gs ''drugs'', ''aphrodisiac'' & gs ''din_bad'', ''d_bag'' & *pl $drugVars[''aphrodisiac_msg''] & *pl $min_arousal_msg & killvar ''$min_arousal_msg''">Chew aphrodisiac gum.</a> You have <b><<mc_inventory[''aphrodisiac'']>></b> gum left in your purse.'
 
-	if mc_inventory['refill_bottle'] = 4: 
-		'You carry your sports water bottle in your purse. It''s still completely full. <a href="exec: mc_inventory[''refill_bottle''] = 3 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
-	elseif mc_inventory['refill_bottle'] = 3:
-		'You carry your sports water bottle in your purse. It''s two-thirds full. <a href="exec: mc_inventory[''refill_bottle''] = 2 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
-	elseif mc_inventory['refill_bottle'] = 2:
-		'You carry your sports water bottle in your purse. It''s one-third full. <a href="exec: mc_inventory[''refill_bottle''] = 1 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'	
-	elseif mc_inventory['refill_bottle'] = 1:
+	if mc_inventory['refill_bottle_water'] = 4: 
+		'You carry your sports water bottle in your purse. It''s still completely full. <a href="exec: mc_inventory[''refill_bottle_water''] = 3 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
+	elseif mc_inventory['refill_bottle_water'] = 3:
+		'You carry your sports water bottle in your purse. It''s almost full. <a href="exec: mc_inventory[''refill_bottle_water''] = 2 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
+	elseif mc_inventory['refill_bottle_water'] = 2:
+		'You carry your sports water bottle in your purse. It''s half full. <a href="exec: mc_inventory[''refill_bottle_water''] = 1 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'	
+	elseif mc_inventory['refill_bottle_water'] = 1:
+		'You carry your sports water bottle in your purse. It''s almost empty. <a href="exec: mc_inventory[''refill_bottle_water''] = 0 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
+	elseif mc_inventory['refill_bottle_water'] = 0:
 		'You carry your sports water bottle in your purse. It''s empty.'
 	end
 	if mc_inventory['food_water'] > 0: 'There''s a bottle of water in your purse. <a href="exec:mc_inventory[''food_water''] = 0 & pcs_hydra += 100 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
@@ -320,7 +322,11 @@ $din_Table_Condom_Menu = {
 	dynamic $din_Update_Condom_Counts
 	*clr & cla
 	'<center><h1>Condoms</h1></center>'
-	'<center><img <<$set_imgh>> src="images/shared/home/bedroom/stol.jpg"></center>'
+	if mc_inventory['desk'] = 0:
+		'<center><img <<$set_imgh>> src="images/shared/home/bedroom/stol.jpg"></center>'
+	else
+		'<center><img <<$set_imgh>> src="images/shared/home/bedroom/stol1.jpg"></center>'
+	end
 	*nl
 	i = 1
 	'You have <<iif(preziktype < 2, mc_inventory[''equipped_condoms'']+mc_inventory[''normal_condoms''], mc_inventory[''normal_condoms''])>> normal condoms left and	<<iif(preziktype = 2, mc_inventory[''equipped_condoms'']+mc_inventory[''sabotaged_condoms''], mc_inventory[''sabotaged_condoms''])>> sabotaged condoms left.'
@@ -471,7 +477,11 @@ $d_tabletkied = {
 $d_tabletkiedt = {
 	*clr & cla
 	'<center><h1>Birth Control</h1></center>'
-	'<center><img <<$set_imgh>> src="images/shared/home/bedroom/stol.jpg"></center>'
+	if mc_inventory['desk'] = 0:
+		'<center><img <<$set_imgh>> src="images/shared/home/bedroom/stol.jpg"></center>'
+	else
+		'<center><img <<$set_imgh>> src="images/shared/home/bedroom/stol1.jpg"></center>'
+	end
 	*nl
 	tabloc = 1
 	if thinkpreg = 0 and knowpreg = 0:
@@ -744,6 +754,7 @@ $d_cycreport_actor = {
 		end
 		
 		killvar 'potfather_counter'
+		killvar 'potfather_temp'
 		
 		'<br>  <a href="exec:dynamic $d_cycreport_choice & gs ''stat''">Accept</a>'
 		'</td></tr></table></center>'

+ 2 - 2
locations/din_npc.qsrc

@@ -7,11 +7,11 @@
 
 if $ARGS[0] = 'go_home':
 	if $home['current'] = 'hunters_lodge':
-		gt 'swamp_yard','start'		
+		gt 'gad_swamp_yard','start'
 	elseif $home['location'] = 'pav_complex':
 		gt 'pav_complex', 'start'
 	else
-		gt $home['location']				
+		gt $home['location']
 	end
 end
 

+ 4 - 15
locations/dom_gor.qsrc

@@ -2,10 +2,10 @@
 
 menu_off = 1
 
-$locM_arg = $ARGS[0]
-$locM = 'dom_gor'
-$loc_arg = $ARGS[0]
 $loc = 'dom_gor'
+$loc_arg = $ARGS[0]
+$locM = 'dom_gor'
+$locM_arg = $ARGS[0]
 $location_type = 'private'
 clr
 gs 'stat'
@@ -79,18 +79,7 @@ elseif teachlevel > 20 and parkrunday ! daystart and hour < 21 and hour > 6:
 end
 
 if hour < 23:
-	act 'Lie on the couch (1:00)':
-		cla
-		minut += 60
-		if pcs_sleep < 90:
-			pcs_sleep += 10
-		else
-			pcs_sleep = 100
-		end
-		'You relax lying on the couch.'
-
-		act 'Stretch':gt 'dom_gor'
-	end
+	act 'Lie on the couch (1:00)': gs 'sleep_simple', 'nap'
 end
 
 if mc_inventory['food_basic'] > 0:'In the refrigerator food is stored that''s good for <b><<mc_inventory[''food_basic'']>></b> servings.'

+ 34 - 20
locations/emp_functions.qsrc

@@ -64,12 +64,11 @@ if $ARGS[0] = 'gen_schedule':
 		elseif header_switch=2: 
 			header_switch = 1
 			$tableheader += '<th style="padding: 10px;"><font color="<<$font_theme>>">' + iif(display_hour < 10, '0<< display_hour>>', display_hour) + ':30</font></th>'
-		end		
+		end
 		i_hour += 1
 	if i_hour <=  mod_max_hour: jump 'jmp_header_create'
 	! Reset i_hour for next loop	
 	killvar 'display_hour'
-	killvar 'header_switch'
 	i_hour = ARGS[1]
 	header_switch = 1
 	!! Close out table header
@@ -97,11 +96,11 @@ if $ARGS[0] = 'gen_schedule':
 					dynamic $schedule_tracker 
 				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:							
-                        $transient_tb =  '<a  href="exec:gs ''emp_functions'', ''job_info'', <<j_id>>">' + $emp_job_title[j_id] + '</a>'
+                    j_id = emp_rota_week['<<i_day>>_<<i_hour>>']
+                    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'
+                        $transient_tb = 'Free'
                     end
 				elseif function_sw = 3:
 				else
@@ -113,11 +112,11 @@ if $ARGS[0] = 'gen_schedule':
 				else
 					$tablebody +=  '<td style="padding: 10px;">' + $transient_tb +'</td>'
 					flag_active = 0
-					killvar '$transient_tb'
 				end	
+				killvar '$transient_tb'
 			else
-				 i_day += 1
-				 jump 'jmp_day_create'
+				i_day += 1
+				jump 'jmp_day_create'
 			end
 			i_hour += 1
             if i_hour <=  mod_max_hour: jump 'jmp_hour_create'
@@ -142,6 +141,10 @@ if $ARGS[0] = 'gen_schedule':
     !! Start the table constuction    
     '<center><table border=0 cellpadding=1 bgcolor="<<$body_theme>>" width="95%" align="center"><<$tableheader>><<$tablebody>></table>'
     '<<$msg_back>> | <<$msg_forward>>'
+	killvar '$tablebody'
+	killvar '$tableheader'
+	killvar '$msg_back'
+	killvar '$msg_forward'
     *nl
     if  function_sw = 1:
 	'<b>Note:</b> Times are approximate, some characters will appear at quarter past or quarter to the hour.</center>' 
@@ -152,7 +155,6 @@ if $ARGS[0] = 'gen_schedule':
     act 'Back':
 		killvar 'flag_schedule'
 		killvar 'school_group'
-		killvar 'j_id'
 		gt $loc, $loc_arg
 	end
 end
@@ -167,6 +169,7 @@ if $ARGS[0] = 'job_info':
 	$msg_body += '<p>Wages: ' + func('agentned', 'format_price_string', emp_job_wages[j_id]) + '<b>₽</b></p>'
 	
 	msg '<<$msg_body>>'
+	killvar '$msg_body'
 end
 
 !! --------------------- Event Generator
@@ -239,11 +242,11 @@ if $ARGS[0] = 'disp_evt':
 		act_tracker = 0
 		act_found = 0
 		:jmp_act_create			
-			 if evt_hour[act_tracker] = hour or evt_hour[act_tracker] = (hour -1): 
+			if evt_hour[act_tracker] = hour or evt_hour[act_tracker] = (hour -1): 
 				act_found = 1
 				act_idx = act_tracker 				
-			 end
-			 act_tracker +=1 
+			end
+			act_tracker +=1 
 		if act_found = 0:
 			if act_tracker < arrsize('evt_event'): jump 'jmp_act_create'
 		end
@@ -538,7 +541,7 @@ if $ARGS[0] = 'emp_booking':
 		:jmp_daily_book
 			j_idx = emp_job_start[j_id]
 			:jmp_hour_book
-				emp_rota_week[d_idx + '_' + j_idx]  = j_id
+				emp_rota_week['<<d_idx>>_<<j_idx>>'] = j_id
 				j_idx += 1
 			if j_idx <= j_finish: jump 'jmp_hour_book'	
 			d_idx += 1
@@ -563,7 +566,7 @@ if $ARGS[0] = 'emp_chk_clk':
 	:jmp_daily_chk
 		j_idx = emp_job_start[j_id]
 		:jmp_job_chk
-			if emp_rota_week[d_idx + '_' + j_idx]  >  0:
+			if emp_rota_week['<<d_idx>>_<<j_idx>>'] > 0:
 				!! booking failed					
 				emp_rota_fail = 1
 			else
@@ -583,7 +586,7 @@ if $ARGS[0] = 'emp_terminate':
 		:jmp_daily_book
 			j_idx = emp_job_start[j_id]
 			:jmp_hour_book
-				emp_rota_week[d_idx + '_' + j_idx] = 0
+				emp_rota_week['<<d_idx>>_<<j_idx>>'] = 0
 				j_idx += 1
 			if j_idx <= j_finish: jump 'jmp_hour_book'	
 			d_idx += 1
@@ -594,10 +597,6 @@ if $ARGS[0] = 'emp_terminate':
 	else
 		msg 'Job termination failed. Please ensure you set to  4 - Terminated or 5 - Fired'
 	end
-	killvar 'j_idx'
-	killvar 'j_finish'
-	killvar 'd_idx'
-	killvar 'd_end'	
 end
 
 if $ARGS[0] = 'loop_configure':	
@@ -612,4 +611,19 @@ if $ARGS[0] = 'loop_configure':
 		d_end= 7
 	end	
 end
+
+killvar 'i_day'
+killvar 'i_hour'
+killvar 'j_id'
+killvar 'j_idx'
+killvar 'j_day'
+killvar 'j_finish'
+killvar 'd_idx'
+killvar 'd_end'
+killvar 'evt_idx'
+killvar 'set_hour'
+killvar 'mod_max_day'
+killvar 'mod_max_hour'
+killvar 'header_switch'
+
 --- emp_functions ---------------------------------

+ 3 - 0
locations/emp_job_array.qsrc

@@ -121,4 +121,7 @@ if $ARGS[0] = 'emp_titran':
 	end
 end
 
+killvar 'j_id'
+killvar 'j_day'
+
 --- emp_job_array ---------------------------------

+ 8 - 16
locations/etoexhib.qsrc

@@ -917,34 +917,26 @@ if $ARGS[0] = 'pos24':
 end
 
 if $ARGS[0] = 'pos24tk':
-	$locM_arg = 'pos24tk'
+	*clr & cla
+
+	$loc_arg = 'pos24tk'
 	$locM = 'etoexhib'
+	$locM_arg = 'pos24tk'
 	$menu_loc = 'etoexhib'
 	$menu_arg = 'pos24tk'
 	menu_off = 0
 	$location_type = 'public_indoors'
-	*clr & cla
-	gs'stat'
+
 	minut +=10
+	gs'stat'
+
 	'<center><b><font color = maroon>Teacher</font></b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/altschool/ptu_tk.jpg"></center>'
 	'A place for the teachers to relax.'
 	'On the wall near the front door hanging <a href="exec:gt ''mirror'',''start''">mirror</a>.'
 	'In one corner there is a small old sofa.'
 
-	act 'Lie down on the couch':
-		cla
-		minut += 30
-
-		if pcs_sleep < 90:
-			pcs_sleep += 10
-		else
-			pcs_sleep = 100
-		end
-		'You relax on the couch.'
-
-		act 'Stand up':gt'etoexhib','pos24tk'
-	end
+	act 'Lie down on the couch (1:00)': gs 'sleep_simple', 'nap'
 
 	if hour >= 14 and hour <= 15:
 		temp = rand(1,100)

+ 4 - 4
locations/exercise.qsrc

@@ -174,7 +174,7 @@ if $ARGS[0] = 'manual':
 			if pcs_stam >= 5*4 * (10 - sport_clothes_exercise_bonus): act '60 minutes': timemult = 4 & gs 'exercise', 'timestring' & gt 'exercise', 'butt'
 		end
 
-		if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow':
+		if mc_inventory['skipping_rope'] > 0 and $loc ! 'gad_meadow':
 			act 'Jump rope':
 				cla
 				act 'Return':gt 'exercise', 'manual'
@@ -196,7 +196,7 @@ if $ARGS[0] = 'manual':
 			end
 		end
 
-		if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow':
+		if mc_inventory['hula_hoop'] > 0 and $loc ! 'gad_meadow':
 			act 'Use your hula hoop':
 				cla
 				act 'Return':gt 'exercise', 'manual'
@@ -291,9 +291,9 @@ if $ARGS[0] = 'matrix':
 	'<center><table border=0 cellspacing=0 cellpadding=10 width=1000><TH>Exercise</TH><TH>None</TH><TH>15 mins</TH><TH>30 mins</TH><TH>45 mins</TH><TH>60 mins</TH>'
 	gs 'exercise', 'matrixdata', 0, 'Push ups'
 	gs 'exercise', 'matrixdata', 1, 'Crunches'
-	if mc_inventory['skipping_rope'] > 0 and $loc ! 'meadow': gs 'exercise', 'matrixdata', 2, 'Jump rope'
+	if mc_inventory['skipping_rope'] > 0 and $loc ! 'gad_meadow': gs 'exercise', 'matrixdata', 2, 'Jump rope'
 	if mc_inventory['book_yoga'] > 0: gs 'exercise', 'matrixdata', 3, 'Yoga'
-	if mc_inventory['hula_hoop'] > 0 and $loc ! 'meadow': gs 'exercise', 'matrixdata', 4, 'Hula hoop'
+	if mc_inventory['hula_hoop'] > 0 and $loc ! 'gad_meadow': gs 'exercise', 'matrixdata', 4, 'Hula hoop'
 	gs 'exercise', 'matrixdata', 5, 'Squats'
 
 	'</center></table>'

+ 1 - 1
locations/father.qsrc

@@ -174,7 +174,7 @@ act 'Chat':
     gs 'stat'
     '<center><B><font color=maroon>Your stepfather, Vladimir Mikhailovich Scriabin</font></B></center>'
     '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/vladimir/father.jpg"></center>'
-	if $loc = sitrPar:
+	if $loc = 'sitrPar':
 		'Your stepfather is sitting on the couch in the living room, he is watching TV. You decide to join him for a while and sit down next to him.'
 	else
 		'Your stepfather is sitting by the dinner table eating and reading the newspaper.'

+ 1 - 1
locations/flash.qsrc

@@ -92,7 +92,7 @@ if $ARGS[0] = 'get_image' and $flash_image = '':
 	end
 
 	flashVars['rand'] = rand(1, flashVars[$temp_id_text])
-	$flash_image += flashVars['rand']
+	$flash_image += str(flashVars['rand'])
 	$flashVars['image'] = $flash_image
 
 	killvar 'temp_id_text'

+ 21 - 24
locations/backwater.qsrc → locations/gad_backwater.qsrc

@@ -1,10 +1,7 @@
-# backwater
+# gad_backwater
 
+gs 'shortgs', 'setloc', 'gad_backwater', ''
 $location_type = 'secluded'
-$loc = 'backwater'
-$loc_arg = ''
-$menu_loc = 'backwater'
-$menu_arg = ''
 menu_off = 0
 gs 'gadukino_event', 'sound'
 clothesAtLocation = FUNC('lost_clothes_here',$CURLOC)
@@ -21,7 +18,7 @@ if $ARGS[0] = '':
 
 		act 'Further':gt 'hunters', 'start'
 	else
-		if $clothingworntype = 'nude' and $igor_away = 'no' or (hunters_outside = 1 and hunters_available = 1) and rand(1,10) = 1: gt 'backwater','hunter' else gt 'backwater','alone'
+		if $clothingworntype = 'nude' and $igor_away = 'no' or (hunters_outside = 1 and hunters_available = 1) and rand(1,10) = 1: gt 'gad_backwater','hunter' else gt 'gad_backwater','alone'
 	end
 end
 
@@ -42,7 +39,7 @@ if $ARGS[0] = 'alone':
 	act 'Go back to the hut':
 		minut += 5
 		hunter_refuse = 0
-		gt 'swamp_yard', 'start'
+		gt 'gad_swamp_yard', 'start'
 	end
 
 
@@ -62,7 +59,7 @@ if $ARGS[0] = 'alone':
 			inhib_exp += rand(1,3)
 			if huntersRape = 1: huntersRape = 2
 			if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-			act 'Finish': gt 'backwater'
+			act 'Finish': gt 'gad_backwater'
 		end
 	end
 	if cumloc[11]+cumloc[12]+cumloc[16] > 0:
@@ -81,7 +78,7 @@ if $ARGS[0] = 'alone':
 			if huntersRape = 1: huntersRape = 2
 			gs 'stat'
 
-			act 'Finish': gt 'backwater'
+			act 'Finish': gt 'gad_backwater'
 		end
 	end
 	if body_write > 0 or face_write > 0:
@@ -95,7 +92,7 @@ if $ARGS[0] = 'alone':
 			minut += 10
 			gs'stat'
 
-			act 'Finish': gt 'backwater'
+			act 'Finish': gt 'gad_backwater'
 		end
 	end
 	if cumloc[2]+cumloc[5]+cumloc[6]+cumloc[7] > 0:
@@ -110,7 +107,7 @@ if $ARGS[0] = 'alone':
 			if huntersRape = 1: huntersRape = 2
 			gs'stat'
 
-			act 'Finish':gt 'backwater'
+			act 'Finish':gt 'gad_backwater'
 		end
 	end
 	if cumsumbod-cumsumvag-cumsumass > 0 or pcs_sweat > 20:
@@ -125,7 +122,7 @@ if $ARGS[0] = 'alone':
 			minut += 15
 			if huntersRape = 1: huntersRape = 2
 			gs'stat'
-			act 'Finish':gt 'backwater'
+			act 'Finish':gt 'gad_backwater'
 		end
 	end
 
@@ -139,14 +136,14 @@ if $ARGS[0] = 'alone':
 					'You do not hesitate to get undressed, not caring if anyone is watching.'
 					minut+=5
 					if huntersRape = 1: huntersRape = 2
-					gs 'clothing', 'strip_all', 'backwater'
+					gs 'clothing', 'strip_all', 'gad_backwater'
 
-					act'Back': gt 'backwater'
+					act'Back': gt 'gad_backwater'
 				else
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/noundress.jpg"></center>'
 					'You hesitate to get undressed. What if someone suddenly sees you?'
 
-					act'Back': gt 'backwater'
+					act'Back': gt 'gad_backwater'
 				end
 			end
 		else
@@ -155,16 +152,16 @@ if $ARGS[0] = 'alone':
 	else
 		if $clothingworntype ! 'nude':
 			act 'Pick up your clothes':
-				gs 'clothing', 'recover_lost_clothes', 'backwater'
+				gs 'clothing', 'recover_lost_clothes', 'gad_backwater'
 				!! 'You pick up your clothes laying on the ground.'
-				gt 'backwater'
+				gt 'gad_backwater'
 			end
 		elseif forced_naked_day < daystart:
 			act 'Get dressed':
-				gs 'clothing', 'recover_lost_clothes', 'backwater', 1
+				gs 'clothing', 'recover_lost_clothes', 'gad_backwater', 1
 				gs 'underwear', 'wear'
 				!! 'You pick up your clothes laying on the ground and get dressed.'
-				gt 'backwater'
+				gt 'gad_backwater'
 			end
 		end
 	end
@@ -185,10 +182,10 @@ if $ARGS[0] = 'hunter':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/swampbackwaternude1.jpg"></center>'
 			*nl 'Noticing the hunter, you rush to your clothes and begin dressing in panic. As you get fully dressed, you look over your shoulder, expecting the hunter standing there, but there is no one there.'
 			gs 'underwear', 'wear'
-			gs 'clothing', 'recover_lost_clothes', 'backwater', 1
+			gs 'clothing', 'recover_lost_clothes', 'gad_backwater', 1
 			minut += 5
 
-			act'Further':gt 'backwater'
+			act'Further':gt 'gad_backwater'
 		end
 	else
 		act'Hide':
@@ -197,7 +194,7 @@ if $ARGS[0] = 'hunter':
 			'Covering your breasts and crotch, you jump into the nearest bush. In your state of fear and confusion, you start scanning the area, but you don''t see anyone there. So you quickly run back towards the cabin.'
 			minut += 1
 
-			act'Go back to the hut':gt 'swamp_yard', 'start'
+			act'Go back to the hut':gt 'gad_swamp_yard', 'start'
 		end
 	end
 	act'Stay naked':
@@ -208,9 +205,9 @@ if $ARGS[0] = 'hunter':
 		hunterknowday = day
 		gs'stat'
 
-		act'Further':gt 'backwater'
+		act'Further':gt 'gad_backwater'
 	end
 end
 
---- backwater ---------------------------------
+--- gad_backwater ---------------------------------
 

+ 872 - 0
locations/gad_beach.qsrc

@@ -0,0 +1,872 @@
+# gad_beach
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
+
+$loc = 'gad_beach'
+
+if $ARGS[0] = 'start':
+	$loc_arg = 'start'
+	$location_type = 'public_outdoors'
+	killvar '$locclass'
+	menu_off = 1
+	gs 'miroslava_schedule'
+	gs 'stat'
+
+	'<center><H4>Village Beach</H4></center>'
+	!125e
+	if hour >= 6 and hour < 22:
+		if sunWeather = 1:
+			if month >= 4 and month <= 10:
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_summer.jpg"></center>'
+			else
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_winter.jpg"></center>'
+			end
+		else
+			if month >= 4 and month <= 10:
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_soft.jpg"></center>'
+			else
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_cold.jpg"></center>'
+			end
+		end
+	else
+		'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_night.jpg"></center>'
+	end
+
+	'A small country beach, where you can sunbathe and swim.'
+
+	if locat['A60'] ! 51 and npc_QW['A63'] >= 13 and rand(0,10) = 0 and hour >= 8 and hour < 20 and month >= 5 and month <= 9 and temper >= 15 and sunWeather = 1:
+		'<a href="exec: gt ''gad_river'', ''GuysBeach'' ">Kolyamba and Vasyan</a> are resting on the riverbank.'
+	end
+
+	if locat['A60'] = 51:
+		if rand(0, 10) < 5:
+			'<a href="exec:gt ''gad_beach'', ''Mira'', 1 ">Mira</a> is laying on the beach sunbathing.'
+			if npc_rel['A60'] < 15: npc_rel['A60'] += 1
+		else
+			'<a href="exec:& gt ''gad_beach'', ''Mira'', 0 ">Mira</a> is in the river splashing water around and having fun.'
+			if npc_rel['A60'] < 15: npc_rel['A60'] += 1
+		end
+	end
+
+	act 'Walk to the river (0:05)':
+		cla
+		if PCloswimwear = 1:
+			'You need to dress in regular clothes first.'
+			act 'Return': gt 'gad_beach', 'start', 1
+		elseif $clothingworntype = 'nude':
+			'You need to put some clothes on first.'
+			act 'Return': gt 'gad_beach', 'start', 1
+		else
+			minut += 5
+			gt 'gad_river', 'start'
+		end
+	end
+
+	if func('changingroom','count_swim_item') > 0: act 'Get changed': gt 'changingroom', 'view_swim_list'
+
+	if $clothingworntype = 'nude':
+		act 'Get dressed':
+			clothesAtLocation = FUNC('lost_clothes_here','VillageRiver')
+			cla
+			minut += 5
+			gs 'panties', 'wear', $lastwornpantytype['swim'], lastwornpantynumber['swim']
+			gs 'bras', 'wear', $lastwornbratype['swim'], lastwornbranumber['swim']
+			if clothesAtLocation = 1: gs 'clothing', 'recover_lost_clothes', 'VillageRiver', 1
+			act 'Continue': gt 'gad_beach', 'start', 1
+		end
+	end
+
+	if temper >= 15 and month >= 5 and month <= 9:
+		if $clothingworntype ! 'nude' and (pcs_inhib >= 25 or exhibitionist_lvl > 1):
+			act 'Strip naked':
+				cla
+				minut += 5
+				$lastwornclothingtype['swim'] = $clothingworntype
+				lastwornclothingnumber['swim'] = clothingwornnumber
+				$lastwornpantytype['swim'] = $pantyworntype
+				lastwornpantynumber['swim'] = pantywornnumber
+				$lastwornbratype['swim'] = $braworntype
+				lastwornbranumber['swim'] = brawornnumber
+				gs 'clothing', 'strip_all', 'VillageRiver'
+				'Without hesitation, you take off all your clothes and neatly fold them before putting them down on a pile. Without your clothes holding you back, you can go for a nice swim in the river or lie down in the sand and sunbathe.'
+				act 'Continue': gt 'gad_beach', 'start', 1
+			end
+		end
+		gs 'gad_beach', 'set_swimming_act'
+		gs 'gad_beach', 'set_sunbath_act'
+		gs 'gad_beach', 'set_desperado_act'
+	end
+
+!! extraordinary events at the river beach. Be aware, this part has to be at the end because it removes actions, which were set before.
+	if locat['A60'] ! 51 and locat['A60_prev'] = 51:
+		gt 'gad_beach', 'Mira_leaves'
+	elseif locat['A60'] = 51 and ARGS[1] = 0:
+		gt 'gad_beach', 'Arrive_Mira_already_there'
+	end
+end
+
+if $ARGS[0] = 'set_swimming_act':
+	if PCloswimwear = 1 and pcs_stam >= (5 * (10 - sport_clothes_exercise_bonus)) / 2:
+		act 'Go for a swim':
+			cla
+			*clr
+			cumspclnt = 4
+			gs 'cum_cleanup'
+
+			minut += 29
+			gs 'exercise', 'tier1', 1, 'stren', 'vital'
+
+			if pcs_inhib < 50:inhib_exp += rand(1,3)
+			pcs_sweat = 10 + rand(0,4)
+			if hour >= 22 or hour <= 6:
+				if rand(0, 10) < 5 and locat['A60'] = 51:
+					'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirls.jpg"></center>'
+					'You and Mira take a nighttime swim in the river, splashing water at each other and having fun.'
+				else
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriverswim.jpg"></center>'
+					'You take a nighttime swim in the river, feeling the refreshing and invigorating water flowing across your body.'
+				end
+			else
+				if rand(0, 10) < 5 and locat['A60'] = 51:
+					'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirls.jpg"></center>'
+					'You and Mira swim in the river, splashing water at each other and having fun.'
+				else
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriverswim.jpg"></center>'
+					'You swim in the river, feeling the refreshing and invigorating water across your body.'
+				end
+			end
+			if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+
+			act 'Get out of the water':
+				temp_rand = rand(0, 9)
+				if temp_rand <= 1 and locat['A60'] ! 51 and npc_QW['A63'] >= 13 and hour >= 8 and hour < 20:
+					if temp_rand = 0:
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex13.jpg"></center>'
+						'When you decide it''s time to get out of the river, you hear the sound of men laughing as they walk on the river bank approaching you. As they get closer, you see the village boys'' smirking faces, led by Mitya, headed towards the river bank while you are still in the shallow waters.'
+						'They quickly undress and jump in the water. Within a few seconds, you are surrounded by the grinning boys. Then, without a word, they reach for you and roughly take turns forcing you to suck their cocks.'
+						gs 'arousal', 'bj', 15, 'gangbang', 'sub', 'rough'
+						gs 'arousal', 'hj', 15, 'gangbang', 'sub', 'rough'
+						gs 'arousal', 'end'
+						gs 'boyStat', 'A63'
+						npc_sex[$boy] += 1
+						gs 'cum_call','face',$boy, 1,'','',20
+						gs 'cum_call','hair',$boy, 1,'','',20
+						gs 'boyStat', 'A61'
+						npc_sex[$boy] += 1
+						gs 'cum_call','face',$boy, 1,'','',20
+						gs 'cum_call', 'mouth_swallow', $boy, 1,'','',20
+						gs 'boyStat', 'A62'
+						npc_sex[$boy] += 1
+						minut -= 10
+						gs 'cum_call','face',$boy, 1,'','',20
+						gs 'cum_call', 'mouth_swallow', $boy, 1,'','',20
+						gang +=1
+						gs 'stat'
+
+						act 'Finish': gt 'gad_beach', 'start', 1
+					else
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex19.jpg"></center>'
+						'As soon as you get out of the river, you meet a grinning Kolyamba. He smiles wickedly and commands you to get down on your hands and knees so he can fuck you in the ass...'
+						gs 'arousal', 'auto_lube', 'anal'
+						gs 'boyStat', 'A61'
+						npc_sex[$boy] += 1
+						pose = 1
+						gs 'dinSex','boy_wants_anal'
+						gs 'arousal', 'anal', 20, 'sub'
+						gs 'cum_call','anus',$boy, 1,'','',20
+						gs 'cum_call','butt',$boy, 1,'','',20
+						gs 'arousal', 'end'
+						gs 'stat'
+
+						act 'Finish': gt 'gad_beach', 'start', 1
+					end
+				else
+					gt 'gad_beach', 'start', 1
+				end
+				killvar 'temp_rand'
+			end
+		end
+	else
+		if $clothingworntype = 'nude':
+			act 'Go skinny dipping':
+				*clr & cla
+				cumspclnt = 4
+				gs 'cum_cleanup'
+				minut = minut + 20
+				pcs_sweat = 10 + rand(0, 4)
+				pcs_mood += 5
+				inhib_exp += rand(1, 3)
+				if pcs_stren < 30: gs 'exp_gain', 'stren', 1
+
+				if hour >= 22 and hour <= 6:
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/watergirls1.jpg"></center>'
+					'You strip your clothes off and slowly step into the cold river, knowing that the darkness hides your nudity. You swim around, feeling the refreshing and invigorating water caressing your body.'
+				else
+					if rand(0, 15) >= 10 and locat['A60'] = 51:
+						pcs_horny += rand(5, 15)
+						gs 'stat'
+						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirlsnude'+rand(0,5)+'.jpg"></center>'
+						'You step into the river with Mira and have a good old-fashioned water fight, splashing each other until one of you finally surrenders.'
+					else
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/watergirls.jpg"></center>'
+						'You take your clothes off and swiftly step into the river. You sigh, feeling the cold, refreshing and tonic water.'
+					end
+				end
+				if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+				act 'Get out of the water':
+					if rand(0, 15) = 0 and locat['A60'] ! 51 and npc_QW['A63'] >= 13 and hour >= 8 and hour < 20:
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex12.jpg"></center>'
+						'As soon as you step out of the water, you find your naked self in front of three boys here to do some fishing.'
+						'Seeing you skinny dipping, they start to talk amongst themselves about how much of a shameless slut you are and that the only good thing you are for is serving men. You tell them to fuck off, but they are too worked up and not listening to you at all.'
+						'One of the boys flips you over and starts penetrating your pussy as the other boy shoves his hardened cock into your protesting mouth. They have started to fuck you in an earnest and lust-filled frenzy.'
+						'Your muffled moans and the sound of your wet pussy getting pounded fill the air. The boys soon orgasm and decide to ejaculate all over your body to show dominance.'
+						gs 'arousal', 'vaginal', 10, 'gangbang', 'sub', 'rough'
+						gs 'arousal', 'anal', 10, 'gangbang', 'sub', 'rough'
+						gs 'arousal', 'hj', 10, 'gangbang', 'sub', 'rough'
+						gs 'arousal', 'bj', 10, 'gangbang', 'sub', 'rough'
+						gs 'arousal', 'end'
+						gs 'boyStat', 'A63'
+						npc_sex[$boy] += 1
+						gs 'cum_call','butt',$boy, 1
+						gs 'boyStat', 'A61'
+						npc_sex[$boy] += 1
+						gs 'cum_call','anus',$boy, 1,'','',20
+						gs 'boyStat', 'A62'
+						npc_sex[$boy] += 1
+						gs 'cum_call', 'mouth_swallow', $boy
+						gs 'stat'
+						gang +=1
+
+						act 'Finish': gt 'gad_beach', 'start', 1
+					else
+						gt 'gad_beach', 'start', 1
+					end
+				end
+			end
+		end
+	end
+end
+
+
+if $ARGS[0] = 'set_sunbath_act':
+	if hour >= 8 and hour < 20 and sunWeather = 1:
+		if PCloswimwear = 1 or $clothingworntype = 'nude':
+			act 'Sunbathe (1:00)':
+				if locat['A60'] = 51 and locat['A60_prev'] ! 51:
+					*clr & cla
+					minut += 5
+					MiraVars['follow_time'] = 1
+					if pcs_inhib < 50:inhib_exp += rand(1,3)
+					gs 'stat'
+					if $clothingworntype = 'nude':
+						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_river_nude.jpg"></center>'
+					else
+						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_river.jpg"></center>'
+					end
+					'You are sunbathing by the river when Mira comes along. You smile, and she undresses and lays her towel next to yours.'
+
+					act 'Continue': gt 'gad_beach', 'start', 1
+				elseif $clothingworntype = 'nude':
+					*clr & cla
+					minut += 60
+					inhib_exp += rand(1,3)
+					if pcs_sweat < 35 : gs 'sweat', 'add', 5
+					pcs_mood += 5
+					if locat['A60'] = 51:
+						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/beachtwogirlsnude.jpg"></center>'
+						'You lie next to Mira and gossip about the villagers, enjoying the sun.'
+					else
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadrivernude.jpg"></center>'
+						'You lie down on your towel and start sunbathing.'
+					end
+					if mc_inventory['suncream'] =  0:
+						pcs_tan += 1
+					elseif  mc_inventory['suncream'] > 0:
+						mc_inventory['suncream'] -=  1
+						'You smear the suntan lotion all over your body to help prevent sunburn.'
+						pcs_tan += 3
+					end
+					act 'Finish sunbathing':
+						if rand(0, 9) = 0 and locat['A60'] ! 51 and npc_QW['A63'] >= 13 and hour >= 8 and hour < 20:
+							*clr & cla
+							'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex14.jpg"></center>'
+							'You hear several men''s voices rapidly approaching. Suddenly, a couple of the village boys emerge in front of you. Noticing that you are nude, they brighten up considerably. In a few minutes, despite you protesting lively, they have you on all fours and are roughly fucking you...'
+							gs 'arousal', 'vaginal', 10, 'gangbang', 'sub', 'rough'
+							gs 'arousal', 'anal', 10, 'gangbang', 'sub', 'rough'
+							gs 'arousal', 'bj', 10, 'gangbang', 'sub', 'rough'
+							gs 'arousal', 'hj', 10, 'gangbang', 'sub', 'rough'
+							gs 'boyStat', 'A62'
+							npc_sex[$boy] += 1
+							gs 'cum_call','butt',$boy, 1
+							gs 'boyStat', 'A63'
+							npc_sex[$boy] += 1
+							gs 'cum_call','anus',$boy, 1,'','',20
+							gs 'boyStat', 'A61'
+							npc_sex[$boy] += 1
+							gs 'cum_call','mouth_swallow',$boy
+							gs 'arousal', 'end'
+							gs 'stat'
+
+							act 'Get dressed': gt 'gad_beach', 'start', 1
+						else
+							gt 'gad_beach', 'start', 1
+						end
+					end
+				else
+					*clr & cla
+					minut += 60
+					if pcs_sweat < 35 : gs 'sweat', 'add', 5
+					pcs_mood += 5
+
+					if locat['A60'] = 51:
+						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/beachtwogirls.jpg"></center>'
+						'You lie next to Mira and gossip about trivial things, enjoying the sun.'
+					else
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadrivergirl.jpg"></center>'
+						'You sunbathe alone on the riverbank.'
+					end
+					if mc_inventory['suncream'] =  0:
+						pcs_tan += 1
+					elseif  mc_inventory['suncream'] > 0:
+						mc_inventory['suncream'] -=  1
+						pcs_tan += 3
+						'You smear suntan lotion all over your body to prevent sunburn. Then, you''re all lathered up and sunbathing a few minutes later.'
+					end
+					act 'Finish':
+						temp_rand = rand(0, 9)
+						if temp_rand = 0 and locat['A60'] ! 51 and npc_QW['A63'] >= 13 and hour >= 8 and hour < 20:
+							*clr & cla
+							'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex15.jpg"></center>'
+							'After a while, you hear some familiar voices quickly approaching you. A couple of minutes later, the village boys emerge from the bushes. Noticing you sunbathing, they brighten up considerably. But, in a short time, despite you protesting lively, all of your holes have been violated...'
+							gs 'arousal', 'vaginal', 10, 'gangbang', 'sub', 'rough'
+							gs 'arousal', 'anal', 10, 'gangbang', 'sub', 'rough'
+							gs 'arousal', 'bj', 10, 'gangbang', 'sub', 'rough'
+							gs 'arousal', 'hj', 10, 'gangbang', 'sub', 'rough'
+							gs 'arousal', 'end'
+							gs 'boyStat', 'A61'
+							npc_sex[$boy] += 1
+							gs 'cum_call','butt',$boy, 1
+							gs 'boyStat', 'A62'
+							npc_sex[$boy] += 1
+							gs 'cum_call','anus',$boy, 1,'','',20
+							gs 'boyStat', 'A63'
+							npc_sex[$boy] += 1
+							gs 'cum_call','mouth_swallow',$boy
+							gang += 1
+							gs 'stat'
+
+							act 'Finish': gt 'gad_beach', 'start', 1
+						elseif temp_rand = 1 and locat['A60'] = 51 and MiraVars['QW'] >= 15 and hour >= 8 and hour < 20:
+							*clr & cla
+							'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex16.jpg"></center>'
+							'After a while, you hear voices rapidly approaching from the village. You see the village boys emerge from the bushes in a couple of minutes. Seeing Mira, they smile obscenely, and without hesitation, they quickly surround her as she lies on the sand. You sit up and watch as they fuck her in all her holes...'
+
+							gs 'arousal', 'voyeur_sex', 30, 'gangbang', 'dom'
+							gs 'arousal', 'end'
+							gs 'stat'
+
+							act 'Finish': gt 'gad_beach', 'start', 1
+						else
+							killvar 'temp_rand'
+							gt 'gad_beach', 'start', 1
+						end
+						killvar 'temp_rand'
+					end
+				end
+			end
+		end
+	end
+end
+
+
+if $ARGS[0] = 'set_desperado_act':
+	if grandpaQW['chore_bathe_horse_prog'] = 1:
+		act 'Look at Desperado':
+			*clr & cla
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/horse_river.jpg"></center>'
+			'You see Desperado happily walking around in the river.'
+
+			if PCloswimwear = 1 or $clothingworntype = 'nude':
+				act 'Wash Desperado':
+					*clr & cla
+
+					cumspclnt = 4
+					gs 'cum_cleanup'
+					minut += 30
+					pcs_sweat = 10 + rand(0,4)
+					pcs_mood += 5
+					if pcs_inhib < 50 or $clothingworntype = 'nude': inhib_exp += rand(1,3)
+					gs 'exp_gain', 'hndiwrk', rand(1,3)
+					grandpaQW['chore_bathe_horse_prog'] = 2
+					gs 'stat'
+
+					if $clothingworntype = 'nude':
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/wash_horse_nude.jpg"></center>'
+					elseif PCloswimwear = 1:
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/wash_horse_swim.jpg"></center>'
+					end
+					'You jump in the river and swim over to Desperado. You take your time washing his beautiful chestnut coat.'
+					'After half an hour, you are satisfied with your work, and Desperado is ready to be taken back home.'
+					if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+
+					act 'Get out of the water':
+						minut += 5
+						gt 'gad_beach', 'start', 1
+					end
+				end
+				if Mira_Loc = 1 and npc_rel['A60'] > 0:
+					act 'Wash Desperado with Mira':
+						*clr & cla
+
+						cumspclnt = 4
+						gs 'cum_cleanup'
+						minut += 30
+						npc_rel['A60'] += 1
+						pcs_sweat = 10 + rand(0,4)
+						pcs_mood += 5
+						if pcs_inhib < 50 or $clothingworntype = 'nude': inhib_exp += rand(1,3)
+						gs 'exp_gain', 'hndiwrk', rand(1,3)
+						grandpaQW['chore_bathe_horse_prog'] = 2
+						gs 'stat'
+
+						if $clothingworntype = 'nude':
+							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/wash_horse_mira_nude.jpg"></center>'
+						elseif PCloswimwear = 1:
+							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/wash_horse_mira_swim.jpg"></center>'
+						end
+						'You invite Mira to wash Desperado with you; she agrees with nothing better to do.'
+						'You swim over to Desperado and begin to splash water on him. You chat with Mira and sometimes splash her instead.'
+						'After half an hour, you think Desperado looks cleaner than before and is ready to be taken back home.'
+						if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+
+						act 'Get out of the water':
+							minut += 5
+							gt 'gad_beach', 'start', 1
+						end
+					end
+				end
+
+			else
+				'You cannot wear regular clothes to wash Desperado.'
+				act 'Return': gt 'gad_beach', 'start', 1
+			end
+		end
+	end
+	if grandpaQW['chore_bathe_horse_prog'] = 2:
+		act 'Lead Desperado back home (0:30)':
+			if PCloswimwear = 1:
+				cla
+				'You need to dress in regular clothes first.'
+				act'Return': gt 'gad_beach', 'start', 1
+			elseif $clothingworntype = 'nude':
+				cla
+				'You need to put some clothes on first.'
+				act'Return': gt 'gad_beach', 'start', 1
+			else
+				minut += 30
+				gs 'exp_gain', 'hndiwrk', rand(0,3)
+				grandpaQW['chore_bathe_horse'] = 2
+				grandpaQW['chore_bathe_horse_prog'] = 0
+				gs 'stat'
+
+				gt 'gad_gpbarn','horse'
+			end
+		end
+	end
+end
+
+
+if $ARGS[0] = 'Mira_leaves':
+	minut += 5
+	gs 'stat'
+	if $clothingworntype = 'nude':
+		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_home_nude.jpg"></center>'
+	else
+		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_home.jpg"></center>'
+	end
+	*nl
+	'"<<$pcs_nickname>>, I have to go home, " Mira said and began gathering her stuff.'
+
+	act 'Continue': gt 'gad_beach', 'start', 1
+end
+
+if $ARGS[0] = 'arrive_Mira_already_there':
+	*clr & cla
+	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_in_river.jpg"></center>'
+	*nl
+	'Arriving at the beach, you see Mira lying down, sunbathing on a towel.'
+	minut += 5
+	MiraVars['follow_time'] = 1
+	gs 'stat'
+
+	act 'Continue':
+		if Miraswimday ! daystart:
+			*clr & cla
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirariver.jpg"></center>'
+			*nl
+			'"<<$pcs_nickname>>, why are you moping about on the shore? Get in the water and swim with me?" - Mira called out to you as she waded into the river.'
+			minut += 1
+			Miraswimday = daystart
+			gs 'stat'
+			act 'Agree and get changed':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/undressbch1.jpg"></center>'
+				*nl
+				'"Wait, Mira, I have to change out of my clothes!" you cry in response, although she can hardly hear you as she is already splashing around in the river.'
+				'You start to take off your clothes.'
+				if func('changingroom','count_swim_item') > 0:
+					act 'Change into swimwear':
+						gs 'gad_beach', 'get_changed', 'start'
+					end
+				end
+				if pcs_inhib >= 25 or exhibitionist_lvl > 1:
+					act 'Strip naked':
+						cla
+						minut += 5
+						$lastwornclothingtype['swim'] = $clothingworntype
+						lastwornclothingnumber['swim'] = clothingwornnumber
+						$lastwornpantytype['swim'] = $pantyworntype
+						lastwornpantynumber['swim'] = pantywornnumber
+						$lastwornbratype['swim'] = $braworntype
+						lastwornbranumber['swim'] = brawornnumber
+						gs 'clothing', 'strip_all', 'VillageRiver'
+						inhib_exp += rand(1,3)
+						'Without hesitation, you take off all your clothes and neatly fold them before putting them down in a pile. Without your clothes holding you back, you can go for a nice swim in the river or lie down in the sand and sunbathe.'
+
+						act 'Swim':
+							*clr & cla
+							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirlsnude'+rand(0,5)+'.jpg"></center>'
+							*nl
+							'You wade into the river and have fun with Mira spraying each other with water.'
+							if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+							cumspclnt = 4 & gs 'cum_cleanup'
+
+							minut += 20
+							gs 'exercise', 'tier1', 10, 'stren', 'vital'
+
+							pcs_sweat = 10 + rand(0,4)
+							gs'stat'
+
+							act 'Get out of the water': gt 'gad_beach', 1
+						end
+					end
+				end
+				act 'Second thoughts': gt 'gad_beach', 'second_thoughts'
+			end
+			act 'Refuse': gt 'gad_beach', 'second_thoughts'
+		else
+			gt 'gad_beach', 'start', 1
+		end
+	end
+end
+
+
+
+if $ARGS[0] = 'get_changed':
+	menu_off = 1
+	$loc_arg = 'get_changed'
+	if $ARGS[1] = 'start':
+		gt 'changingroom', 'view_swim_list'
+	else
+		*clr & cla
+		'<center><img <<$set_imgh>> src="images/locations/gadukino/river/undressbch.jpg"></center>'
+		*nl
+		'You put on your swimwear and neatly fold your clothes before putting them down in a pile. Now you can go for a nice swim in the river or just lie down in the sand and sunbathe.'
+		if PCloswimwear = 1:
+			act 'Swim':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirls.jpg"></center>'
+				*nl
+				'You wade into the river and have fun with Mira spraying each other with water.'
+				if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+				cumspclnt = 4 & gs 'cum_cleanup'
+
+				minut += 29
+				if pcs_inhib < 50: inhib_exp += rand(1, 2)
+				gs 'exercise', 'tier1', 1, 'stren', 'vital'
+
+
+				pcs_sweat = 10 + rand(0, 4)
+				gs 'stat'
+
+				act 'Get out of the water': gt 'gad_beach', 'start', 1
+			end
+		else
+			act 'Second thoughts': gt 'gad_beach', 'second_thoughts'
+		end
+	end
+end
+
+if $ARGS[0] = 'second_thoughts':
+	*clr & cla
+	menu_off = 1
+	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirariver.jpg"></center>'
+	*nl
+	if func('changingroom', 'count_swim_item') = 0:
+		'"Actually, Mira, I can''t come in right now, as I didn''t bring a swimsuit", you replied you here. "I''m going to stay on the shore for a bit."'
+		*nl
+		'You should probably buy some swimwear if you intend to spend time at the beach.'
+		*nl
+	else
+		'"Actually, Mira, I''ve changed my mind. I don''t feel like swimming just now," you replied to her. "I''m going to stay on the shore for a bit."'
+	end
+	minut += 1
+	npc_rel['A60'] -= 1
+	gs 'stat'
+
+	act 'Continue': gt 'gad_beach', 'start', 1
+end
+
+
+if $ARGS[0] = 'Mira':
+	menu_off = 1
+	minut += 2
+	gs 'stat'
+
+	if ARGS[1] = 1:
+		if MiraVars['QW'] < 12:
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirabeach.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirabeachnude.jpg"></center>'
+		end
+	else
+		if MiraVars['QW'] < 12:
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirariver.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirarivernude.jpg"></center>'
+		end
+	end
+
+	act 'Chat':
+		delact 'Chat'
+		minut += 10
+		pcs_mood += 10
+		gs 'stat'
+
+		if MiraVars['QW'] < 7:
+			if npc_rel['A60'] < 15: npc_rel['A60'] += 1
+			'You and Mira are chatting about trivial things.'
+		elseif MiraVars['QW'] = 7:
+			'You decide to speak with Mira, "So what is there to do here in the village?"'
+			'"It''s a lot quieter than a town, but we have a shop, this lovely beach, and some beautiful walks. Other than that, there are only the Gopnik guys, but they are just after one thing, and I don''t want that. Plus, dad would kill me."'
+		elseif MiraVars['QW'] = 8:
+			'Mira breaks the silence, "What brings you here to the village?"'
+			'"My granma-ma and Pop-pop live here. My folks like to come here over the summer. They think the country air will be good for me."'
+		elseif MiraVars['QW'] <= 10:
+			'You talk to Mira about what it is like living in the village.'
+		elseif MiraVars['QW'] <= 14:
+			'Mira asks you about Pavlovsk, and you tell her all about it.'
+		elseif MiraVars['QW'] <= 19:
+			'You and Mira talk about clothes and shopping, she has a thing for shoes but can''t wear pretty heels because of all the mud.'
+		elseif MiraVars['QW'] <= 29 or MiraVars['prostitute'] = 0:
+			'It is always lovely to talk with Mira, and you gossip about boys.'
+		elseif MiraVars['QW'] >= 30 and MiraVars['prostitute'] > 0:
+			'You and Mira talk about her being the village prostitute and how she can improve her performance.'
+		end
+	end
+	act 'Leave': gt 'gad_beach', 'start', 1
+end
+
+
+if $ARGS[0] = 'GuysBeach':
+	*clr & cla
+	menu_off = 1
+	minut += 5
+	pcs_horny += 10
+	gs 'stat'
+
+	'<center><img <<$set_imgh>> src="images/locations/gadukino/river/mitkaguysriver.jpg"></center>'
+	'"Oh, hi, <<$pcs_nickname>>. So it''s just you today?" Kolyamba grinned.'
+
+	temp_rand = rand(0, 10)
+	if temp_rand <= 4:
+		'"There doesn''t seem to be anyone else around, and all of us are as horny as bullfrogs. Do you want to have a little fun with us? Come on, spread your legs, show us your pussy and start playing with yourself..."'
+	elseif temp_rand <= 8:
+		'"There doesn''t seem to be anyone around, and we are as horny as bullfrogs. Do you want to have a little fun with us? How about you give us a blowjob? We''ll be really grateful, ha-ha!"'
+	else
+		'"Ah, no, Mira, it''s just our other hot babe. Come here, lovely. We have something exceptional for you."'
+	end
+	if temp_rand < 4:
+		act 'Pleasure Kolyamba':
+			*clr & cla
+			gs 'boyStat', 'A61'
+			pose = 0
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex.jpg"></center>'
+			'You quickly take off your pants and climb onto Kolyamba, grabbing his cock, and leading it inside you.'
+
+			gs 'arousal', 'vaginal', 10, 'sub', 'group'
+			gs 'stat'
+
+			act 'Pleasure Vasyan':
+				*clr & cla
+				gs 'boyStat', 'A62'
+				pose = 0
+				gs 'stat'
+				temp_rand = rand(0, 2)
+				if temp_rand = 0:
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex1.jpg"></center>'
+					'Vasyan rolls you onto your back, sticking his cock into your wet pussy.'
+					gs 'arousal', 'vaginal', 10, 'sub', 'group'
+					gs 'arousal', 'end'
+					gs 'stat'
+				elseif temp_rand = 1:
+					gs 'boyStat', 'A62'
+					spafinloc = 12
+					gs 'cum_manage'
+					gs'stat'
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex2.jpg"></center>'
+					'Vasya steps up to you and slaps you in the face while pulling out his cock, forcing you on your knees so he can beat you with his dick.'
+					'He forcefully shoves the cock into your mouth and cums lavishly in your mouth...'
+					gs 'arousal', 'bj', 5, 'sub', 'group', 'rough'
+					gs 'arousal', 'end'
+					gs 'stat'
+				else
+					gs 'boyStat', 'A62'
+					pcs_ass += 1
+					spafinloc = 3
+					gs 'cum_manage'
+					gs'stat'
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex3.jpg"></center>'
+					'Vasyan forces you on all four and starts pumping his dick into your ass.'
+					gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
+					gs 'arousal', 'end'
+					gs 'stat'
+				end
+				act 'Leave': gt 'gad_beach', 'start', 1
+				killvar 'temp_rand'
+			end
+		end
+	elseif temp_rand < 8:
+		act 'Pleasure Kolyamba':
+			*clr & cla
+			gs 'boyStat', 'A61'
+			spafinloc = 12
+			gs 'cum_manage'
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex4.jpg"></center>'
+			'You get down on your knees and start licking Kolyamba''s dick. Then, after a while, you start sucking it like a popsicle...'
+			'He only manages to hold out for a short time finishing in your mouth...'
+
+			gs 'arousal', 'bj', 5, 'sub', 'group', 'rough'
+			gs 'stat'
+			act 'Pleasure Vasyan':
+				*clr & cla
+				gs 'boyStat', 'A62'
+				pose = 0
+				gs 'stat'
+
+				temp_rand = rand(0, 2)
+				if temp_rand = 0:
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex5.jpg"></center>'
+					'Vasyan lays you onto your back, using his fingers to stimulate your vaginal lips while sticking his cock into your wet pussy.'
+					gs 'arousal', 'vaginal', 10, 'sub', 'group', 'rough'
+					gs 'arousal', 'end'
+					gs 'stat'
+				elseif temp_rand = 1:
+					gs 'boyStat', 'A62'
+					spafinloc = 12
+					gs 'cum_manage'
+					gs'stat'
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex6.jpg"></center>'
+					'Vasyan roughs you up with his hands and then takes out his dick, forcing you to suck him off.'
+					'He shoves the cock into your mouth and soon cums violently...'
+					gs 'arousal', 'bj', 5, 'sub', 'group', 'rough'
+					gs 'arousal', 'end'
+					gs 'stat'
+				else
+					gs 'boyStat', 'A62'
+					pcs_ass += 1
+					spafinloc = 3
+					gs 'cum_manage'
+					gs'stat'
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex7.jpg"></center>'
+					'Vasyan forces you on all fours, telling you that you will enjoy this. Then, he pulls out his dick and starts fucking you in the ass.'
+					gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
+					gs 'arousal', 'end'
+					gs 'stat'
+				end
+				act 'Leave': gt 'gad_beach', 'start', 1
+				killvar 'temp_rand'
+			end
+		end
+	else
+		act 'Pleasure Kolyamba':
+			*clr & cla
+			gs 'boyStat', 'A61'
+			pcs_ass += 1
+			spafinloc = 3
+			gs 'cum_manage'
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex8.jpg"></center>'
+			'Kolyamba looks you in the eyes and asks if you trust him. You gulp and reply, "Yes." He takes out a blindfold and places it over your eyes so you can''t see what''s happening next. Kolyamba then proceeds to take both of your clothes off. You stand in front of him, blindfolded, naked, and full of anticipation.'
+			'He orders you to get down on your knees. He grabs your head and tells you to open your mouth. While pleasuring him, he orders you to stop and moves the cock away from the mouth. He then lies down on the ground and tells you to mount him. You move on top of him while he grabs his cock and leads it inside your ass. He frantically starts thrusting his cock inside your ass, cumming after a short while.'
+
+			gs 'arousal', 'bj', 10, 'sub', 'group', 'rough'
+			gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
+			minut -= 10
+			gs 'stat'
+
+			act 'Pleasure Vasyan':
+				*clr & cla
+				gs 'boyStat', 'A62'
+				pose = 1
+				gs 'stat'
+
+				temp_rand = rand(0, 2)
+				if temp_rand = 0:
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex9.jpg"></center>'
+					'Vasyan tells you he heard about a sex position where both of you will reach ecstasy. Intrigued by this, you take your clothes off and start caressing his cock. He removes your hand from his cock and tells you to get down on your hands and knees. Vasya walks behind you, grabs his cock and enters you from behind. You gasp as he mounts you. Soon enough, you both cry out in ecstasy cumming at the same time.'
+
+					$orgasm_or = 'yes'
+					gs 'arousal', 'bj', 10, 'sub', 'group', 'rough'
+					gs 'arousal', 'vaginal', 10, 'sub', 'group', 'rough'
+					minut -= 10
+					gs 'arousal', 'end'
+					gs 'stat'
+
+				elseif temp_rand = 1:
+					gs 'boyStat', 'A62'
+					spafinloc = 12
+					gs 'cum_manage'
+					gs'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex10.jpg"></center>'
+					'Vasyan steps closer to you and tells you he wants his cock sucked. You drop down on your knees and start sucking his glans.'
+					'Feeling dissatisfied by your performance, he grabs you by the head. He forces his cock deep down your throat, mumbling something about teaching you how to do it properly. Finally, he finishes inside your mouth...'
+					gs 'arousal', 'bj', 5, 'sub', 'group', 'rough', 'deepthroat'
+					gs 'arousal', 'end'
+					gs 'stat'
+				else
+					gs 'boyStat', 'A62'
+					pcs_ass += 1
+					spafinloc = 3
+					gs 'cum_manage'
+					gs'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex11.jpg"></center>'
+					'Vasyan forces you to your hands and knees and starts thrusting his dick into your anus.'
+					gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
+					gs 'arousal', 'end'
+					gs 'stat'
+				end
+				act 'Leave': gt 'gad_beach', 'start', 1
+				killvar 'temp_rand'
+			end
+		end
+	end
+	act 'Leave': gt 'gad_beach', 'start', 1
+	killvar 'temp_rand'
+end
+
+
+
+
+--- gad_beach ---------------------------------

+ 163 - 300
locations/gadfield.qsrc → locations/gad_field.qsrc

@@ -1,24 +1,13 @@
-# gadfield
+# gad_field
 !2021/05/05
-!MiraLoc tells us where Mira is Located
-!----------------------------------------------
-!MiraLoc = 0 (Mira at home)
-!MiraLoc = 1 (Mira at river)
-!MiraLoc = 2 (Mira at meadow)
-!MiraLoc = 3 (Mira at forest)
-!MiraLoc = 4 (Mira at field)
-!MiraLoc = 5 (Mira with gop)
-!---------------------------------------------
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
 if $ARGS[0] = 'field':
-	$loc = 'gadfield'
-	$loc_arg = 'field'
+	gs 'shortgs', 'setloc', 'gad_field', 'field'
 	$location_type = 'secluded'
-
-	$menu_loc = 'gadfield'
-	$menu_arg = 'field'
 	menu_off = 0
-
+	gs 'miroslava_schedule'
 	gs 'gadukino_event', 'sound'
 	gs'stat'
 
@@ -43,12 +32,12 @@ if $ARGS[0] = 'field':
 	if grigory_flower > 0 and grigory_flower < 10: gt 'grigory', 'flower5'
 	if flowerday ! daystart and grigory_flower = 10: gt 'grigory', 'flower6'
 	if flowerday ! daystart and grigory_flower > 10: gt 'grigory', 'flower8'
-	if hour >= 9 and hour <= 19 and week < 6:'Grandfather''s horse <a href="exec: gt ''gadfield'',''horse''">Desperado</a> is grazing the field.'
-	if hour >= 9 and hour <= 19 and grandpaQW['chore_herd_cattle'] = 0:'You notice a large <a href="exec: gt ''gadfield'',''cow''">herd of cows</a> in the middle of the field.'
-	if hour >= 6 and hour <= 20 and grandpaQW['chore_herd_cattle'] = 1:'You see the <a href="exec: gt ''gadfield'',''cow''">herd of cows</a> out in the middle of the field.'
+	if hour >= 9 and hour <= 19 and week < 6:'Grandfather''s horse <a href="exec: gt ''gad_field'',''horse''">Desperado</a> is grazing the field.'
+	if hour >= 9 and hour <= 19 and grandpaQW['chore_herd_cattle'] = 0:'You notice a large <a href="exec: gt ''gad_field'',''cow''">herd of cows</a> in the middle of the field.'
+	if hour >= 6 and hour <= 20 and grandpaQW['chore_herd_cattle'] = 1:'You see the <a href="exec: gt ''gad_field'',''cow''">herd of cows</a> out in the middle of the field.'
 	if hour >= 7 and hour <= 20 and grandpaQW['chore_bale_hay'] = 1:'You see a crowd of people working on the field.'
 
-	act 'Head back to the road (0:10)':minut += 10 & gt'gadroad'
+	act 'Head back to the road (0:10)':minut += 10 & gt 'gad_road', 'start'
 	
 	if hour >= 7 and hour <= 13 and grandpaQW['chore_bale_hay'] = 1:
 		act 'Spend the day helping to bale hay (6:00)':
@@ -72,20 +61,16 @@ if $ARGS[0] = 'field':
 			gs 'exp_gain', 'hndiwrk', rand(0,8)
 			gs 'stat'
 
-			act 'Continue':gt'gadfield','field'
-			act 'Return back to your grandfather (0:30)': minut += 30 & gt 'gadhouse', 'grandpa'
+			act 'Continue': gt 'gad_field', 'field'
+			act 'Return back to your grandfather (0:30)': minut += 30 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
 
 end
 
 if $ARGS[0] = 'horse':
-	$loc = 'gadfield'
-	$loc_arg = 'horse'
+	gs 'shortgs', 'setloc', 'gad_field', 'horse'
 	$location_type = 'public_outdoors'
-
-	$menu_loc = 'gadfield'
-	$menu_arg = 'horse'
 	menu_off = 0
 
 	gs 'gadukino_event', 'sound'
@@ -94,7 +79,7 @@ if $ARGS[0] = 'horse':
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/horse.jpg"></center>'
 	'Your grandfather''s horse, Desperado.'
 
-	act 'Go back to the field':gt'gadfield','field'
+	act 'Go back to the field': gt 'gad_field', 'field'
 
 	if hour = 19:
 		act 'Lead the horse home (1:00)':
@@ -107,7 +92,7 @@ if $ARGS[0] = 'horse':
 			gs 'exp_gain', 'hndiwrk', rand(0,3)
 			gs 'stat'
 
-			act 'Continue':gt'gadsarai',''
+			act 'Continue': gt 'gad_gpbarn', ''
 		end
 	end
 end
@@ -131,23 +116,19 @@ $downlibrary['read'] = {
 }
 
 if $ARGS[0] = 'cow':
-	$loc = 'gadfield'
-	$loc_arg = 'cow'
+	gs 'shortgs', 'setloc', 'gad_field', 'cow'
 	$location_type = 'secluded'
-
-	$menu_loc = 'gadfield'
-	$menu_arg = 'cow'
 	menu_off = 0
-
+	gs 'miroslava_schedule'
 	gs 'gadukino_event', 'sound'
 	gs'stat'
 	temp = rand(1,5)
 
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/cow.jpg"></center>'
 	'The cattle herd is standing in the middle of the field. Some cows are munching on grass, and others just stare idly around.'
-	if mira = 1: MiraLoc = 41 & '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is standing next to you.'
+	if locat['A60'] = 70: '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is standing next to you.'
 
-	if grandpaQW['chore_herd_cattle'] = 0:act 'Leave them be':gt'gadfield','field'
+	if grandpaQW['chore_herd_cattle'] = 0: act 'Leave them be': gt 'gad_field', 'field'
 	if hour = 19 and grandpaQW['chore_herd_cattle'] = 0:
 		act 'Lead the cows home (1:00)':
 			*clr & cla
@@ -156,10 +137,10 @@ if $ARGS[0] = 'cow':
 			'Seeing the cow herd on the field, you decide to help your grandfather bring the cows home...'
 			minut += 60
 			grandmaQW['help_amount'] += 1
-			gs 'exp_gain', 'hndiwrk', rand(0,3)
+			gs 'exp_gain', 'hndiwrk', rand(0, 3)
 			gs 'stat'
 
-			act 'Continue':gt'gadukino'
+			act 'Continue': gt 'gadukino'
 		end
 	end
 	if grandpaQW['chore_herd_cattle'] = 1:
@@ -168,15 +149,15 @@ if $ARGS[0] = 'cow':
 				*clr & cla
 				menu_off = 1
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_wait.jpg"></center>'
-				if grandpaQW['chore_herd_cattle_experience'] = 0:'Some time flies by while waiting for the locals to finish bringing their cows to the field.'
-				if grandpaQW['chore_herd_cattle_experience'] = 1:'Some time flies by while waiting for the locals and their children to finish bringing their cows to the field.'
+				if grandpaQW['chore_herd_cattle_experience'] = 0: 'Some time flies by while waiting for the locals to finish bringing their cows to the field.'
+				if grandpaQW['chore_herd_cattle_experience'] = 1: 'Some time flies by while waiting for the locals and their children to finish bringing their cows to the field.'
 
 				if hour >= 9:minut += 20
 				if hour < 9:minut += 60
-				gs 'exp_gain', 'hndiwrk', rand(0,4)
+				gs 'exp_gain', 'hndiwrk', rand(0, 4)
 				gs 'stat'
 
-				act 'Continue':gt'gadfield','cow'
+				act 'Continue': gt 'gad_field', 'cow'
 			end
 		end
 		if hour >= 10 and hour < 13:
@@ -197,107 +178,14 @@ if $ARGS[0] = 'cow':
 					pcs_stam -= 5
 				end
 				grandpaQW['chore_herd_cattle_experience'] = 1
-				if rand(0,1) = 1:grandmaQW['help_amount'] += rand(0,1)
-				gs 'exp_gain', 'hndiwrk', rand(0,3)
+				grandmaQW['help_amount'] += rand(0, 1) / 3
+				gs 'exp_gain', 'hndiwrk', rand(0, 3)
 				gs 'stat'
 
-				act 'Continue':gt'gadfield','cow'
+				act 'Continue': gt 'gad_field', 'cow'
 			end
 
-			if mira = 0:
-				act 'Go for a run in the field (1:00)':
-					*clr & cla
-					menu_off = 1
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_run.jpg"></center>'
-					'Since the cows are all behaving, you spend some time jogging around the field.'
-
-					frost = 0
-					minut += 60
-					fat -= 5
-					gs 'exp_gain', 'run', 1
-					gs 'sweat', 'add', 10
-					pcs_mood += 5
-					pcs_stam -= 8
-					if temper >= 25 and sunWeather = 1:
-						pcs_hydra -= 24
-						gs 'sweat', 'add', 12
-					else
-						pcs_hydra -= 18
-						gs 'sweat', 'add', 10
-					end
-					gs 'stat'
-
-					act 'Continue':gt'gadfield','cow'
-				end
-			end
-			if temper >= 15 and sunWeather = 1 and mira = 0:
-				act 'Tan (1:00)':
-					*clr & cla
-					menu_off = 1
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_sun.jpg"></center>'
-					'It''s sunny and warm outside, and since the cows are behaving, you decide to work on your tan for an hour.'
-					minut += 60
-					pcs_mood += 10
-					pcs_tan += 1
-					gs 'sweat', 'add', 5
-					gs 'stat'
-
-					act 'Continue':gt'gadfield','cow'
-				end
-				if pcs_sleep < 40:
-					act 'Take a nap (1:00)':
-						*clr & cla
-						menu_off = 1
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_lying.jpg"></center>'
-						'You feel drowsy watching the cows stand around, so you lie down on the grass. You doze off and wake up about an hour later.'
-
-						minut += 60
-						pcs_mood += 10
-						pcs_sleep+= 9
-						if temper >= 25 and sunWeather = 1:pcs_hydra -= 12
-						gs 'stat'
-
-						act 'Continue':gt'gadfield','cow'
-					end
-				end
-				act 'Pick flowers (1:00)':
-					*clr & cla
-					menu_off = 1
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_flowers.jpg"></center>'
-					'Keeping one eye on the cattle, you spend an hour wandering the field, picking flowers.'
-					minut += 60
-					pcs_mood += 20
-					pcs_stam -= 4
-					if temper >= 25 and sunWeather = 1:
-						pcs_hydra -= 8
-						gs 'sweat', 'add', 5
-					else
-						pcs_hydra -= 5
-						gs 'sweat', 'add', 3
-					end
-					gs 'stat'
-
-
-					act 'Continue':gt'gadfield','cow'
-				end
-				act 'Read a book (1:00)':
-					dynamic $downlibrary['read']
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_book'+rand(1,2)+'.jpg"></center>'
-					if temper >= 25 and sunWeather = 1:pcs_hydra -= 6
-					if pcs_nerd > 0:
-						pcs_mood = 100
-						if pcs_stren > 1: stren_deg -= 1
-						if pcs_vital > 5: vital_deg -= 1
-						'You start reading a book you brought with you. You are so engrossed in the story you forget about the time.'
-					else
-						pcs_mood += 10
-						'While reading the book, time flies by because you are really engaged in the plot.'
-					end
-					gs 'stat'
-
-					act 'Close the book':gt'gadfield','cow'
-				end
-			end
+			gs 'gad_field', 'set_nomira_acts', 1
 		end
 		if hour >= 13 and hour < 16:
 			*clr & cla
@@ -316,25 +204,16 @@ if $ARGS[0] = 'cow':
 			end
 			grandmaQW['help_amount'] += 1
 			minut += 60
-			gs 'exp_gain', 'hndiwrk', rand(0,3)
+			gs 'exp_gain', 'hndiwrk', rand(0, 3)
 			gs 'stat'
 
-			act 'Herd the cows nearer to the river (0:15)': minut += 15 & gt'gadfield','cow2'
+			act 'Herd the cows nearer to the river (0:15)': minut += 15 & gt 'gad_field', 'cow2'
 		end
 	end
 end
 
-!MiaLoc tells us where Mira is Located
-!----------------------------------------------
-!MiraLoc = 0 (Mira at home)
-!MiraLoc = 1 (Mira at river)
-!MiraLoc = 2 (Mira at meadow)
-!MiraLoc = 3 (Mira at forest)
-!MiraLoc = 4 (Mira at field)
-!MiraLoc = 5 (Mira with gop)
-!---------------------------------------------
-
-if grandpaQW['chore_herd_cattle'] = 1 and npc_rel['A60'] >= 15 and mira = 0 and sunWeather = 1 and hour >= 10 and temp = 1 and Mira_no = 0 and(npc_QW['A63'] < 13 or npc_QW['A60'] >= 10 or mirasex > 1) and npc_known['A60'] = 1:
+
+if grandpaQW['chore_herd_cattle'] = 1 and locat['A60'] = 70 and locat['A60_prev'] ! 70:
 	*clr & cla
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira2.jpg"></center>'
@@ -342,21 +221,26 @@ if grandpaQW['chore_herd_cattle'] = 1 and npc_rel['A60'] >= 15 and mira = 0 and
 	'"Hi, <<$pcs_nickname>>. I wanted to visit you, and I''ve brought some water with me," she says, nearing you. "Have you missed me?"'
 	minut += 5
 	npc_rel['A60'] += 1
-	mira = 1
 	gs 'stat'
 
-	act 'Continue':pcs_hydra +=40 & gt'gadfield','cow'
+	MiraVars['follow_time'] = 20 - hour
+	act 'Continue':
+		pcs_hydra += 40
+		if hour < 13:
+			gt 'gad_field', 'cow'
+		elseif hour < 16:
+			gt 'gad_field', 'cow2'
+		else
+			gt 'gad_field', 'cow3'
+		end
+	end
 end
 
 if $ARGS[0] = 'cow2':
-	$loc = 'gadfield'
-	$loc_arg = 'cow2'
+	gs 'shortgs', 'setloc', 'gad_field', 'cow2'
 	$location_type = 'secluded'
-
-	$menu_loc = 'gadfield'
-	$menu_arg = 'cow2'
 	menu_off = 0
-
+	gs 'miroslava_schedule'
 	gs 'gadukino_event', 'sound'
 	gs'stat'
 
@@ -365,7 +249,7 @@ if $ARGS[0] = 'cow2':
 
 	'The cattle herd is near the river. Some cows are munching on grass, some drink from the river, and some just stand or lie around.'
 
-	if mira = 1: MiraLoc = 42 & '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is sitting next to you.'
+	if locat['A60'] = 70: '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is sitting next to you.'
 	if temper >= 15 and sunWeather = 1:'"You can go for a swim if you want, <<$pcs_nickname>>. I''ll keep an eye on the herd," says your grandfather.'
 
 	if grandpaQW['chore_herd_cattle'] = 1:
@@ -391,58 +275,9 @@ if $ARGS[0] = 'cow2':
 				gs 'exp_gain', 'hndiwrk', rand(0,3)
 				gs 'stat'
 
-				act 'Continue':gt'gadfield','cow2'
-			end
-			if temper >= 15 and sunWeather = 1 and mira = 0:
-				if pcs_stam >= (5 * (10 - sport_clothes_exercise_bonus)) / 2:
-					act 'Swim (0:15)':
-						*clr & cla
-						menu_off = 1
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_river.jpg"></center>'
-						'You spend a few minutes splashing around in the river, which feels cool and refreshing.'
-						if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-						cumspclnt = 4 & gs 'cum_cleanup'
-						pcs_stam -= 3
-						pcs_mood += 5
-						if willday_swim ! daystart: willday_swim = daystart & pcs_willpwr += 1
-						gs 'exercise', 'tier1', 15, 'stren'
-						gs 'stat'
-
-						act 'Continue':gt'gadfield','cow2'
-					end
-				end
-
-				act 'Tan (0:30)':
-					*clr & cla
-					menu_off = 1
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_sun.jpg"></center>'
-					'You lie down to sunbathe by the river while Grandpa looks after the herd.'
-					minut += 30
-					gs 'sweat', 'add', 10
-					pcs_mood += 5
-					pcs_tan += 1
-					gs 'stat'
-
-					act 'Continue':gt'gadfield','cow2'
-				end
-				act 'Read a book (1:00)':
-					dynamic $downlibrary['read']
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_book'+rand(1,2)+'.jpg"></center>'
-					if temper >= 25 and sunWeather = 1:pcs_hydra -= 12
-					if pcs_nerd > 0:
-						pcs_mood = 100
-						if pcs_stren > 1: stren_deg -= 1
-						if pcs_vital > 5: vital_deg -= 1
-						'You start reading a book you brought with you. You are so engrossed in the story you forget about the time.'
-					else
-						pcs_mood += 10
-						'While reading the book, time flies by because you are really engaged in the plot.'
-					end
-					gs 'stat'
-
-					act 'Close the book':gt 'gadfield','cow2'
-				end
+				act 'Continue': gt 'gad_field', 'cow2'
 			end
+			gs 'gad_field', 'set_nomira_acts', 2
 		end
 		if hour >= 16 and hour < 19:
 			*clr & cla
@@ -460,24 +295,20 @@ if $ARGS[0] = 'cow2':
 				gs 'sweat', 'add', 5
 				pcs_stam -= 5
 			end
-			if rand(0,1) = 1:grandmaQW['help_amount'] += rand(0,1)
-			gs 'exp_gain', 'hndiwrk', rand(0,3)
+			grandmaQW['help_amount'] += rand(0, 3) / 3
+			gs 'exp_gain', 'hndiwrk', rand(0, 3)
 			gs 'stat'
 
-			act 'Herd the cows nearer to the forest (0:30)': minut += 15 & gt'gadfield','cow3'
+			act 'Herd the cows nearer to the forest (0:30)': minut += 15 & gt 'gad_field', 'cow3'
 		end
 	end
 end
 
 if $ARGS[0] = 'cow3':
-	$loc = 'gadfield'
-	$loc_arg = 'cow3'
+	gs 'shortgs', 'setloc', 'gad_field', 'cow3'
 	$location_type = 'secluded'
-
-	$menu_loc = 'gadfield'
-	$menu_arg = 'cow3'
 	menu_off = 0
-
+	gs 'miroslava_schedule'
 	gs 'gadukino_event', 'sound'
 	gs'stat'
 
@@ -486,7 +317,7 @@ if $ARGS[0] = 'cow3':
 
 	'The cattle herd is grazing in a field near the forest.'
 
-	if mira = 1: MiraLoc = 43 & '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is sitting next to you.'
+	if locat['A60'] = 70: '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is sitting next to you.'
 
 	if grandpaQW['chore_herd_cattle'] = 1:
 		if hour < 19:
@@ -511,48 +342,71 @@ if $ARGS[0] = 'cow3':
 				gs 'exp_gain', 'hndiwrk', rand(0,3)
 				gs 'stat'
 
-				act 'Continue':gt'gadfield','cow3'
+				act 'Continue': gt 'gad_field', 'cow3'
 			end
-			if mira = 0:
-				act 'Go for a run in the field (1:00)':
-					*clr & cla
-					menu_off = 1
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_run.jpg"></center>'
-					'Since the cows are all behaving, you spend some time jogging around the field.'
 
-					frost = 0
-					minut += 60
-					fat -= 5
-					gs 'exp_gain', 'run', 1
-					gs 'sweat', 'add', 10
-					pcs_mood += 5
-					pcs_stam -= 8
-					if temper >= 25 and sunWeather = 1:
-						pcs_hydra -= 24
-						gs 'sweat', 'add', 12
-					else
-						pcs_hydra -= 18
-						gs 'sweat', 'add', 10
-					end
-					gs 'stat'
+			gs 'gad_field', 'set_nomira_acts', 1
+		end
+		if hour >= 19:
+			*clr & cla
+			menu_off = 1
 
-					act 'Continue':gt'gadfield','cow3'
-				end
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/cow_go_home.jpg"></center>'
+			'As sunset approaches, Grandpa says that it is late and time to drive the herd home. So you hurry, gather the cows, and guide them back towards the village.'
+
+			if temper >= 25 and sunWeather = 1:
+				pcs_hydra -= 12
+				pcs_stam -= 8
+				gs 'sweat', 'add', 10
+			else
+				pcs_hydra -= 6
+				gs 'sweat', 'add', 5
+				pcs_stam -= 5
 			end
-			if temper >= 15 and sunWeather = 1 and mira = 0:
-				act 'Tan (1:00)':
-					*clr & cla
-					menu_off = 1
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_sun.jpg"></center>'
-					'It''s sunny and warm outside, and since the cows are behaving, you decide to work on your tan for an hour.'
-					minut += 60
-					pcs_mood += 10
-					pcs_tan += 1
-					gs 'sweat', 'add', 5
-					gs 'stat'
+			minut += 60
+			grandpaQW['chore_herd_cattle'] = 0
+			grandmaQW['help_amount'] += 2
+			gs 'exp_gain', 'hndiwrk', rand(0,3)
+			gs 'stat'
+
+			MiraVars['follower'] = 0
+			MiraVars['follow_time'] = 0
+			act 'Back to the village': gt 'gadukino'
+		end
+	end
+end
+
 
-					act 'Continue':gt'gadfield','cow3'
+
+
+if $ARGS[0] = 'set_nomira_acts':
+	if locat['A60'] ! 70:
+		if ARGS[1] = 1:
+			act 'Go for a run in the field (1:00)':
+				*clr & cla
+				menu_off = 1
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_run.jpg"></center>'
+				'Since the cows are all behaving, you spend some time jogging around the field.'
+
+				frost = 0
+				minut += 60
+				fat -= 5
+				gs 'exp_gain', 'run', 1
+				gs 'sweat', 'add', 10
+				pcs_mood += 5
+				pcs_stam -= 8
+				if temper >= 25 and sunWeather = 1:
+					pcs_hydra -= 24
+					gs 'sweat', 'add', 12
+				else
+					pcs_hydra -= 18
+					gs 'sweat', 'add', 10
 				end
+				gs 'stat'
+
+				act 'Continue': gt $loc, $loc_arg
+			end
+			if temper >= 15 and sunWeather = 1:
 				if pcs_sleep < 40:
 					act 'Take a nap (1:00)':
 						*clr & cla
@@ -560,13 +414,10 @@ if $ARGS[0] = 'cow3':
 						'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_lying.jpg"></center>'
 						'You feel drowsy watching the cows stand around, so you lie down on the grass. You doze off and wake up about an hour later.'
 
-						minut += 60
-						pcs_mood += 10
-						pcs_sleep+= 9
-						if temper >= 25 and sunWeather = 1:pcs_hydra -= 12
-						gs 'stat'
+						if temper >= 25: pcs_hydra -= 12
+						gs 'sleep_simple', 'nap', 1
 
-						act 'Continue':gt'gadfield','cow3'
+						act 'Continue': gt $loc, $loc_arg
 					end
 				end
 				act 'Pick flowers (1:00)':
@@ -577,7 +428,7 @@ if $ARGS[0] = 'cow3':
 					minut += 60
 					pcs_mood += 20
 					pcs_stam -= 4
-					if temper >= 25 and sunWeather = 1:
+					if temper >= 25:
 						pcs_hydra -= 8
 						gs 'sweat', 'add', 5
 					else
@@ -586,55 +437,67 @@ if $ARGS[0] = 'cow3':
 					end
 					gs 'stat'
 
-
-					act 'Continue':gt'gadfield','cow3'
+					act 'Continue': gt $loc, $loc_arg
 				end
-				act 'Read a book (1:00)':
-					dynamic $downlibrary['read']
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_book'+rand(1,2)+'.jpg"></center>'
-					if temper >= 25 and sunWeather = 1:pcs_hydra -= 6
-					if pcs_nerd > 0:
-						pcs_mood = 100
-						if pcs_stren > 1: stren_deg -= 1
-						if pcs_vital > 5: vital_deg -= 1
-						'You start reading a book you brought with you. You are so engrossed in the story you forget about the time.'
-					else
-						pcs_mood += 10
-						'While reading the book, time flies by because you are really engaged in the plot.'
-					end
-					gs 'stat'
+			end
+		elseif ARGS[1] = 2:
+			if temper >= 15 and sunWeather = 1:
+				if pcs_stam >= (5 * (10 - sport_clothes_exercise_bonus)) / 2:
+					act 'Swim (0:15)':
+						*clr & cla
+						menu_off = 1
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_river.jpg"></center>'
+						'You spend a few minutes splashing around in the river, which feels cool and refreshing.'
+						if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
+						cumspclnt = 4 & gs 'cum_cleanup'
+						pcs_stam -= 3
+						pcs_mood += 5
+						if willday_swim ! daystart: willday_swim = daystart & pcs_willpwr += 1
+						gs 'exercise', 'tier1', 15, 'stren'
+						gs 'stat'
 
-					act 'Close the book':gt 'gadfield','cow3'
+						act 'Continue': gt 'gad_field', 'cow2'
+					end
 				end
 			end
 		end
-		if hour >= 19:
+
+		act 'Tan (0:30)':
 			*clr & cla
 			menu_off = 1
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_sun.jpg"></center>'
+			'You lie down to sunbathe by the river while Grandpa looks after the herd.'
+			minut += 30
+			gs 'sweat', 'add', 10
+			pcs_mood += 5
+			pcs_tan += 1
+			gs 'stat'
 
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/cow_go_home.jpg"></center>'
-			'As sunset approaches, Grandpa says that it is late and time to drive the herd home. So you hurry, gather the cows, and guide them back towards the village.'
+			act 'Continue': gt $loc, $loc_arg
+		end
 
-			if temper >= 25 and sunWeather = 1:
-				pcs_hydra -= 12
-				pcs_stam -= 8
-				gs 'sweat', 'add', 10
+		act 'Read a book (1:00)':
+			dynamic $downlibrary['read']
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/graze_cow_book'+rand(1,2)+'.jpg"></center>'
+			if temper >= 25: pcs_hydra -= 12
+			if pcs_nerd > 0:
+				pcs_mood = 100
+				if pcs_stren > 1: stren_deg -= 1
+				if pcs_vital > 5: vital_deg -= 1
+				'You start reading a book you brought with you. You are so engrossed in the story you forget about the time.'
 			else
-				pcs_hydra -= 6
-				gs 'sweat', 'add', 5
-				pcs_stam -= 5
+				pcs_mood += 10
+				'While reading the book, time flies by because you are really engaged in the plot.'
 			end
-			minut += 60
-			mira = 0
-			grandpaQW['chore_herd_cattle'] = 0
-			grandmaQW['help_amount'] += 2
-			gs 'exp_gain', 'hndiwrk', rand(0,3)
 			gs 'stat'
 
-			act 'Back to the village':gt'gadukino'
+			act 'Close the book': gt $loc, $loc_arg
 		end
 	end
 end
 
---- gadfield ---------------------------------
+
+
+
+--- gad_field ---------------------------------
 

+ 164 - 165
locations/gadforest.qsrc → locations/gad_forest.qsrc

@@ -1,18 +1,16 @@
-# gadforest
+# gad_forest
 !2021/05/05
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
 if $ARGS[0] = 'forest_edge':
-	*clr & cla
-	gs 'shortgs', 'setloc', 'gadforest', 'forest_edge'
+	gs 'shortgs', 'setloc', 'gad_forest', 'forest_edge'
 	$region = 'gad'
 	$location_type = 'secluded'
 	$forest_args1 = 'forest_edge'
+	gs 'miroslava_schedule'
 
-	! force Mira to stay here if Sveta brought Mira here by choice - temporarily overrides Miras schedule to not annoy the player
-	Mira_Stay = iif($loc ! 'Miroslava', 1 , 0)
-
-	clothesAtLocation = FUNC('lost_clothes_here','forest_edge')
-
+	clothesAtLocation = func('lost_clothes_here', 'forest_edge')
 	menu_off = 0
 
 	CLOSE ALL
@@ -42,7 +40,8 @@ if $ARGS[0] = 'forest_edge':
 		end
 	end
 
-	gs 'gadforest','bushcraft','forest_edge'
+	gs 'gad_forest', 'bushcraft', 'forest_edge'
+
 	*nl
 	if pcs_bushcraft < 20:
 		'<font color="red">You don''t know this part of the forest very well. You could get lost if you go any deeper into the woods.</font>'
@@ -50,13 +49,13 @@ if $ARGS[0] = 'forest_edge':
 		'<font color="green">You are comfortable navigating this part of the forest and can adventure further into the woods if you want.</font>'
 	end
 
-	if clothesAtLocation = 1:*nl & 'Your clothes are nearby on the ground.'
+	if clothesAtLocation = 1: *nl & 'Your clothes are nearby on the ground.'
 	if forestpicnic = 1:
 		if hour < 10 or hour > 14:
 			forestpicnic = 0
 		else
 			*nl
-			'On the edge of the forest, you see people. Apparently, they are having a family <a href="exec:gt ''gadforest_event'',''picnic''">picnic</a>.'
+			'On the edge of the forest, you see people. Apparently, they are having a family <a href="exec:gt ''gad_forest_events'', ''picnic''">picnic</a>.'
 		end
 	end
 	if hour < 8 or hour > 16 and mushroom_pickers ! 0:
@@ -73,93 +72,87 @@ if $ARGS[0] = 'forest_edge':
 			'You can hear people picking mushrooms and berries deeper in the forest.'
 		end
 	end
-	if MiraLoc = 3:'<a href="exec: gt ''Miroslava'' ">Mira</a> is here with you.'
+	if locat['A60'] = 60: '<a href="exec: gt ''Miroslava'' ">Mira</a> is here with you.'
 
-	foresteventrand = rand(1,20)
+	foresteventrand = rand(1, 20)
 	! Events with Mira
-	if MiraLoc = 3:
-		if hour >= 11 and Mira_Stay = 0:
-			*clr & cla
+	if locat['A60_prev'] = 60 and locat['A60'] ! 60:
+		*clr & cla
 
-			gs 'miroslava','miraclothes'
-			*nl
-			'"<<$pcs_nickname>>, I''m going to head home now, but we can hang out again later," Mira said as she began walking out of the forest.'
+		gs 'miroslava','miraclothes'
+		*nl
+		'"<<$pcs_nickname>>, I''m going to head home now, but we can hang out again later," Mira said as she began walking out of the forest.'
 
-			! Allow the player to override Mira schedule to get events done with her, also so Mira cannot appear and disappear before the player can interact with her
-			act 'Convince her to stay with you':
-				Mira_Stay = 1
-				gt 'gadforest', 'forest_edge'
-			end
-			! Allow the player to let Mira continue on her schedule if they want to get events done on their own
-			act 'Say goodbye':
-				MiraLoc = 0
-				gt 'gadforest', 'forest_edge'
-			end
+		! Allow the player to override Mira schedule to get events done with her, also so Mira cannot appear and disappear before the player can interact with her
+		act 'Convince her to stay with you':
+			MiraVars['follower'] = 1
+			MiraVars['follow_time'] = iif(minut > 30, 2, 1)
+			gt 'gad_forest', 'forest_edge'
+		end
+		! Allow the player to let Mira continue on her schedule if they want to get events done on their own
+		act 'Say goodbye':
+			gt 'gad_forest', 'forest_edge'
 		end
-		if mirapickingtalk = 0 and miratalkday ! daystart: gt 'gadforest_event', 'mira_picking_talk'
-		if miranudetalk = 0 and miratalkday ! daystart: gt 'gadforest_event', 'mira_nude_talk'
+	elseif locat['A60'] = 60:
+		if mirapickingtalk = 0 and miratalkday ! daystart: gt 'gad_forest_events', 'mira_picking_talk'
+		if miranudetalk = 0 and miratalkday ! daystart: gt 'gad_forest_events', 'mira_nude_talk'
 		! stripping requires there to be no picnic going on, to have clothes on, for there to be no clothes already abandoned at the forest_edge, between april and october and already talked to Mira about being naked in the forest
-		if forestpicnic = 0 and $clothingworntype ! 'nude' and clothesAtLocation = 0 and month >= 4 and month <= 10 and hour >= 8 and hour <= 20 and miranudetalk = 1 and miratalkday ! daystart: gt 'gadforest_event', 'mira_nude_event'
+		if forestpicnic = 0 and $clothingworntype ! 'nude' and clothesAtLocation = 0 and month >= 4 and month <= 10 and hour >= 8 and hour <= 20 and miranudetalk = 1 and miratalkday ! daystart: gt 'gad_forest_events', 'mira_nude_event'
 	! Events without Mira
 	else
-		if npc_known['A60'] = 1 and MiraLoc ! 3 and hour >= 8 and hour <= 10:
+		if npc_known['A60'] = 1 and locat['A60'] ! 60 and hour >= 8 and hour <= 10:
 			mirarand = rand(1,10)
-			if mirarand >= 6: MiraLoc = 3 & gt 'gadforest_event', 'mira_morning_walk'
+			if mirarand >= 6: locat['A60'] = 60 & gt 'gad_forest_events', 'mira_morning_walk'
 		end
-		if foresteventrand <= 2 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 1 & gt 'gadforest_event', 'mushroom_pickers1'
-		if foresteventrand <= 4 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gadforest_event', 'mushroom_pickers2'
-		if foresteventrand = 5 and month >= 6 and month <= 9 and hour >= 10 and hour <= 14 and temper >= 10 and sunWeather = 1 and week > 5 and forestpicnic = 0: forestpicnic = 1 & gt 'gadforest_event', 'picnic'
+		if foresteventrand <= 2 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 1 & gt 'gad_forest_events', 'mushroom_pickers1'
+		if foresteventrand <= 4 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gad_forest_events', 'mushroom_pickers2'
+		if foresteventrand = 5 and month >= 6 and month <= 9 and hour >= 10 and hour <= 14 and temper >= 10 and sunWeather = 1 and week > 5 and forestpicnic = 0: forestpicnic = 1 & gt 'gad_forest_events', 'picnic'
 	end
 	! Events with or without Mira
 	if foresteventrand <= 8 and hour >= 8 and hour <= 20 and month >= 4 and month <= 10 and gadboyday ! daystart:
-		if mitkaday ! daystart:
-			if MiraLoc = 3: gt 'gadforest_event', 'mitka_temporary_event'
+		if GadBoy['mitka_day'] ! daystart:
+			if locat['A60'] = 60: gt 'gad_forest_events', 'mitka_temporary_event'
 		!	gt 'mitka_forest_1', 'mitka'
-		!elseif kolyambaday ! daystart:
+		!elseif GadBoy['kolyamba_day'] ! daystart:
 		!	gt 'mitka_forest_1', 'kolyamba'
-		!elseif vasyanday ! daystart:
+		!elseif GadBoy['vasyan_day'] ! daystart:
 		!	gt 'mitka_forest_1', 'vasyan'
 		end
 	end
 	!if foresteventrand = 9 and hour >= 8 and hour <= 20 and month >= 4 and month <= 10 and gadboyday ! daystart:
-	!	if mitkaday ! daystart and kolyambaday ! daystart:
+	!	if GadBoy['mitka_day'] ! daystart and GadBoy['kolyamba_day'] ! daystart:
 	!		gt 'mitka_forest_2', '1'
-	!	elseif mitkaday ! daystart and vasyanday ! daystart:
+	!	elseif GadBoy['mitka_day'] ! daystart and GadBoy['vasyan_day'] ! daystart:
 	!		gt 'mitka_forest_2', '2'
-	!	elseif kolyambaday ! daystart and vasyanday ! daystart:
+	!	elseif GadBoy['kolyamba_day'] ! daystart and GadBoy['vasyan_day'] ! daystart:
 	!		gt 'mitka_forest_2', '3'
-	!	elseif mitkaday ! daystart:
+	!	elseif GadBoy['mitka_day'] ! daystart:
 	!		gt 'mitka_forest_1', 'mitka'
-	!	elseif kolyambaday ! daystart:
+	!	elseif GadBoy['kolyamba_day'] ! daystart:
 	!		gt 'mitka_forest_1', 'kolyamba'
-	!	elseif vasyanday ! daystart:
+	!	elseif GadBoy['vasyan_day'] ! daystart:
 	!		gt 'mitka_forest_1', 'vasyan'
 	!	end
 	!end
 	!if forest_eventrand = 10 and hour >= 8 and hour <= 20 and month >= 4 and month <= 10 and gadboyday ! daystart:
-	!	if mitkaday ! daystart and kolyambaday ! daystart and vasyanday ! daystart:
+	!	if GadBoy['mitka_day'] ! daystart and GadBoy['kolyamba_day'] ! daystart and GadBoy['vasyan_day'] ! daystart:
 	!		gt 'mitka_forest_3'
-	!	elseif mitkaday ! daystart and kolyambaday ! daystart:
+	!	elseif GadBoy['mitka_day'] ! daystart and GadBoy['kolyamba_day'] ! daystart:
 	!		gt 'mitka_forest_2', '1'
-	!	elseif mitkaday ! daystart and vasyanday ! daystart:
+	!	elseif GadBoy['mitka_day'] ! daystart and GadBoy['vasyan_day'] ! daystart:
 	!		gt 'mitka_forest_2', '2'
-	!	elseif kolyambaday ! daystart and vasyanday ! daystart:
+	!	elseif GadBoy['kolyamba_day'] ! daystart and GadBoy['vasyan_day'] ! daystart:
 	!		gt 'mitka_forest_2', '3'
-	!	elseif mitkaday ! daystart:
+	!	elseif GadBoy['mitka_day'] ! daystart:
 	!		gt 'mitka_forest_1', 'mitka'
-	!	elseif kolyambaday ! daystart:
+	!	elseif GadBoy['kolyamba_day'] ! daystart:
 	!		gt 'mitka_forest_1', 'kolyamba'
-	!	elseif vasyanday ! daystart:
+	!	elseif GadBoy['vasyan_day'] ! daystart:
 	!		gt 'mitka_forest_1', 'vasyan'
 	!	end
 	!end
 
 	act 'Leave the woods (0:15)':
-		! Allow Mira to continue on her schedule as normal if the player was keeping her here for events
-		if MiraLoc = 3:
-			Mira_Stay = 0
-			MiraLoc = 0
-		end
 		! Naked event when leaving forest
 		if $clothingworntype = 'nude':
 			*clr & cla
@@ -240,7 +233,7 @@ if $ARGS[0] = 'forest_edge':
 						minut += 30
 						gs 'stat'
 
-						gt'gaddvor'
+						gt 'gad_gpyard', 'start'
 					end
 				else
 					gm_outfits[2] = 1
@@ -259,7 +252,7 @@ if $ARGS[0] = 'forest_edge':
 						minut += 15
 						gs 'stat'
 
-						gt 'gadroad'
+						gt 'gad_road', 'start'
 					end
 				end
 			end
@@ -268,7 +261,7 @@ if $ARGS[0] = 'forest_edge':
 				act 'Get dressed instead':
 					*clr & cla
 					minut += 5
-					gs 'clothing', 'swamp_clothes', 0
+					gs 'clothing', 'gad_swamp_clothes', 0
 					gs 'underwear', 'wear'
 					gs 'clothing', 'recover_lost_clothes', 'forest_edge', 1
 					gs 'stat'
@@ -282,7 +275,7 @@ if $ARGS[0] = 'forest_edge':
 						minut += 15
 						gs 'stat'
 
-						gt 'gadroad'
+						gt 'gad_road', 'start'
 					end
 				end
 			end
@@ -294,56 +287,60 @@ if $ARGS[0] = 'forest_edge':
 			minut += 15
 			gs 'stat'
 
-			gt 'gadroad'
+			gt 'gad_road', 'start'
 		end
 	end
 
 	! Sveta cannot travel further into the forest if Mira is here at the forest with Sveta
-	if MiraLoc ! 3:
-		act 'Walk further into the forest (0:15)': minut += 15 & gt 'gadforest','forest_outskirts'
+	if locat['A60'] ! 60:
+		act 'Walk further into the forest (0:15)': minut += 15 & gt 'gad_forest','forest_outskirts'
 	end
 
-	gs 'bicycle', 'gadforest'
+	gs 'bicycle', 'gad_forest'
 
 	! Sveta can go to the Meadow if she has discovered it and bring Mira too if she is allowed
-	if (meadow > 0 and MiraLoc ! 3):
-		act 'Walk to the meadow (0:20)': minut += 20 & gt 'meadow'
-	elseif ((meadow = 3 or (meadow = 6 and npc_QW['A60'] >= 3)) and MiraLoc = 3):
-		act 'Walk to the meadow with Mira (0:20)': minut += 20 & MiraLoc = 2 & gt 'meadow'
+	if gad_meadow_found = 1:
+		if locat['A60'] ! 60:
+			act 'Walk to the meadow (0:20)': minut += 20 & gt 'gad_meadow', 'start'
+		elseif MiraVars['meadow'] = 2 or (MiraVars['meadow'] = 5 and MiraVars['QW'] >= 3):
+			act 'Walk to the meadow with Mira (0:20)': minut += 20 & MiraVars['follower'] = 1 & gt 'gad_meadow', 'start'
+		end
 	end
 
 	! Can travel directly to the hunters cabin if Sveta has been there before, knows the hunters, and Mira is not here at the forest with Sveta
-	if hunterscabin = 1 and hunters_were_met = 1 and MiraLoc ! 3:
+	if hunterscabin = 1 and hunters_were_met = 1 and locat['A60'] ! 60:
 		act 'Walk to the hunters cabin (1:00)':
 			! daytime chance to get stuck in swamp - use bike to get there 100% of the time
 			if hour >= 6 and hour <= 22:
-				gt 'swamp', 'stuck'
+				gt 'gad_swamp', 'stuck'
 			! nighttime chased by wolves - Sveta probably should not be roaming the forest at this time
 			else
-				gt 'gadforestlost','wolves','forest_edge'
+				gt 'gad_forest_lost', 'wolves', 'forest_edge'
 			end
 		end
 	end
 
 	! tree circle teleportation for magic users - only found at the edge of the forest
-	gs 'treeCircEntry', 'GadForest'
+	gs 'treeCircEntry', 'gad_forest'
 
 	! the generic actions for the different parts of the forest are so similar that they are all stored in their own gosubs so the code is not duplicated
-	gs 'gadforest', 'stripping'
+	gs 'gad_forest', 'stripping'
 
-	gs 'gadforest', 'dressing'
+	gs 'gad_forest', 'dressing'
 
-	gs 'gadforest', 'walking'
+	gs 'gad_forest', 'walking'
 
-	gs 'gadforest', 'picking'
+	gs 'gad_forest', 'picking'
 	gs 'camera', 'check_location'
 
 	gs 'blackmailer', 'set_park_act'
 end
 
+
+
 if $ARGS[0] = 'forest_outskirts':
 	*clr & cla
-	gs 'shortgs', 'setloc', 'gadforest', 'forest_outskirts'
+	gs 'shortgs', 'setloc', 'gad_forest', 'forest_outskirts'
 	$location_type = 'secluded'
 	$region = 'gad_forest'
 	$forest_args1 = 'forest_outskirts'
@@ -375,7 +372,7 @@ if $ARGS[0] = 'forest_outskirts':
 		end
 	end
 
-	gs 'gadforest','bushcraft','forest_outskirts'
+	gs 'gad_forest', 'bushcraft', 'forest_outskirts'
 	*nl
 	if pcs_bushcraft < 30:
 		'<font color="red">You don''t know this part of the forest very well. You could get lost if you go any deeper into the woods.</font>'
@@ -399,27 +396,29 @@ if $ARGS[0] = 'forest_outskirts':
 	end
 
 	foresteventrand = rand(1,20)
-	if foresteventrand <= 2 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart:mushroom_pickers = 2 & gt 'gadforest_event', 'mushroom_pickers1'
-	if foresteventrand <= 4 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gadforest_event', 'mushroom_pickers3'
-	if foresteventrand = 5 and month >= 4 and month <= 10 and ((hour >= 6 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gadforest_event', 'forest_hunters', 'forest_outskirts'
+	if foresteventrand <= 2 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart:mushroom_pickers = 2 & gt 'gad_forest_events', 'mushroom_pickers1'
+	if foresteventrand <= 4 and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gad_forest_events', 'mushroom_pickers3'
+	if foresteventrand = 5 and month >= 4 and month <= 10 and ((hour >= 6 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gad_forest_events', 'forest_hunters', 'forest_outskirts'
 
-	act 'Head back out of the forest (0:15)': minut += 15 & gt 'gadforest', 'forest_edge'
+	act 'Head back out of the forest (0:15)': minut += 15 & gt 'gad_forest', 'forest_edge'
 
-	act 'Walk further into the forest (0:15)': minut += 15 & gt 'gadforest','forest_center'
+	act 'Walk further into the forest (0:15)': minut += 15 & gt 'gad_forest','forest_center'
 
 	! the generic actions for the different parts of the forest are so similar that they are all stored in their own gosubs so the code is not duplicated
-	gs 'gadforest', 'stripping'
+	gs 'gad_forest', 'stripping'
 
-	gs 'gadforest', 'dressing'
+	gs 'gad_forest', 'dressing'
 
-	gs 'gadforest', 'walking'
+	gs 'gad_forest', 'walking'
 
-	gs 'gadforest', 'picking'
+	gs 'gad_forest', 'picking'
 end
 
+
+
 if $ARGS[0] = 'forest_center':
 	*clr & cla
-	gs 'shortgs', 'setloc', 'gadforest', 'forest_center'
+	gs 'shortgs', 'setloc', 'gad_forest', 'forest_center'
 	$region = 'gad_forest'
 	$location_type = 'secluded'
 	$forest_args1 = 'forest_center'
@@ -451,7 +450,7 @@ if $ARGS[0] = 'forest_center':
 		end
 	end
 
-	gs 'gadforest','bushcraft','forest_center'
+	gs 'gad_forest', 'bushcraft', 'forest_center'
 	*nl
 	if pcs_bushcraft < 40:
 		'<font color="red">You don''t know this part of the forest very well. You could get lost if you go any deeper into the woods.</font>'
@@ -475,29 +474,29 @@ if $ARGS[0] = 'forest_center':
 	end
 
 	foresteventrand = rand(1,20)
-	if foresteventrand <= 2 and month >= 6 and month <= 9: gt 'gadforest_event', 'basket'
-	if foresteventrand <= 3 and month >= 6 and month <= 9: gt 'gadforest_event', 'bilberry'
-	if foresteventrand <= 4 and month >= 6 and month <= 9: gt 'gadforest_event', 'mushroom'
-	if foresteventrand = 5 and month >= 4 and month <= 10 and ((hour >= 6 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gadforest_event', 'forest_hunters', 'forest_center'
+	if foresteventrand <= 2 and month >= 6 and month <= 9: gt 'gad_forest_events', 'basket'
+	if foresteventrand <= 3 and month >= 6 and month <= 9: gt 'gad_forest_events', 'bilberry'
+	if foresteventrand <= 4 and month >= 6 and month <= 9: gt 'gad_forest_events', 'mushroom'
+	if foresteventrand = 5 and month >= 4 and month <= 10 and ((hour >= 6 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gad_forest_events', 'forest_hunters', 'forest_center'
 
-	act 'Head back out of the forest (0:15)': minut += 15 & gt 'gadforest', 'forest_outskirts'
+	act 'Head back out of the forest (0:15)': minut += 15 & gt 'gad_forest', 'forest_outskirts'
 
-	act 'Walk further into the swamp (0:15)': minut += 15 & gt 'swamp', 'start'
+	act 'Walk further into the swamp (0:15)': minut += 15 & gt 'gad_swamp', 'start'
 
 	! the generic actions for the different parts of the forest are so similar that they are all stored in their own gosubs so the code is not duplicated
-	gs 'gadforest', 'stripping'
+	gs 'gad_forest', 'stripping'
 
-	gs 'gadforest', 'dressing'
+	gs 'gad_forest', 'dressing'
 
-	gs 'gadforest', 'walking'
+	gs 'gad_forest', 'walking'
 
-	gs 'gadforest', 'picking'
+	gs 'gad_forest', 'picking'
 end
 
 
 ! this gs handles the bushcraft increases, clothing degradation, and getting lost in the forest
 ! $ARGS[1] - location of forest where this is called from
-! Example: gs 'gadforest', 'bushcraft', 'forest_edge'
+! Example: gs 'gad_forest', 'bushcraft', 'forest_edge'
 if $ARGS[0] = 'bushcraft':
 	! bushcraft_rand - the max amount of bushcraft exp that can be gained from an action in an area of the forest
 	! bushcraft_limit - the max amount bushcraft can be naturally raised to by visiting an area of the forest
@@ -523,7 +522,7 @@ if $ARGS[0] = 'bushcraft':
 		bushcraft_lost = 30
 		torncloth_high_bushcraft = 8
 		torncloth_low_bushcraft = 5
-	elseif $ARGS[1] = 'swamp_woods':
+	elseif $ARGS[1] = 'gad_swamp_woods':
 		bushcraft_rand = 4
 		bushcraft_limit = 50
 		! Sveta cannot get lost at the swamp_woods part of the forest either
@@ -538,7 +537,7 @@ if $ARGS[0] = 'bushcraft':
 	ripclothesrand = rand(1,10)
 	if pcs_bushcraft < bushcraft_limit:
 		! use the higher chance of ripping clothes when Sveta has lower bushcraft
-		if ripclothesrand >= torncloth_low_bushcraft: gs 'gadforest', 'torncloth'
+		if ripclothesrand >= torncloth_low_bushcraft: gs 'gad_forest', 'torncloth'
 
 		! bushcraft exp gained is random to keep it from increasing too fast
 		if rand(0,1) = 0:
@@ -546,19 +545,19 @@ if $ARGS[0] = 'bushcraft':
 		end
 	else
 		! use the lower chance of ripping clothes when Sveta has higher bushcraft
-		if ripclothesrand >= torncloth_high_bushcraft: gs 'gadforest', 'torncloth'
+		if ripclothesrand >= torncloth_high_bushcraft: gs 'gad_forest', 'torncloth'
 	end
 
 	! decide if Sveta is now lost as Sveta raises her bushcraft her chances of getting lost decreases
 	if pcs_bushcraft < bushcraft_lost:
 		lostrand = rand(1,bushcraft_lost)
 		forest_lostday = daystart
-		if pcs_bushcraft < lostrand: lost_girl = 1 & gt 'gadforestlost', $ARGS[1]
+		if pcs_bushcraft < lostrand: lost_girl = 1 & gt 'gad_forest_lost', $ARGS[1]
 	end
 end
 
 ! this gs handles the actual degradation and removal of clothes from Sveta in the forest
-! this should only be called from inside of gs 'gadforest', 'bushcraft'
+! this should only be called from inside of gs 'gad_forest', 'bushcraft'
 if $ARGS[0] = 'torncloth':
 	if $clothingworntype ! 'nude':
 		if (PCloThinness = 1 or PCloSkirt > 0) and PCloQuality < 5:
@@ -569,7 +568,7 @@ if $ARGS[0] = 'torncloth':
 			if dyneval('RESULT = <<$clothingworntype>>_h[<<clothingwornnumber>>]') <= 0:
 				'<font color="red">Your clothes were barely holding together, but now they have fallen apart completely. You discard the remains and are left naked.</font>'
 				gadforest_clothestorn = 1
-				gs 'clothing', 'strip', 'gadforest'
+				gs 'clothing', 'strip', 'gad_forest'
 				gs 'stat'
 			end
 		end
@@ -578,24 +577,24 @@ end
 
 ! this gs handles stripping for Sveta in the various locations of the forest
 ! $forest_args1 - location of forest where this is called from
-! Example: gs 'gadforest', 'stripping'
+! Example: gs 'gad_forest', 'stripping'
 if $ARGS[0] = 'stripping':
 	! stripping requires there to be no picnic going on, to have clothes on, for there to be no clothes already abandoned at the current location, between april and october and lowered inhibitions or higher exhibitionism
 	if $clothingworntype ! 'nude' and clothesAtLocation = 0 and month >= 4 and month <= 10 and hour >= 6 and hour < 22 and (pcs_inhib >= 25 or exhibitionist_lvl > 1):
 		! Mira only goes to the forest edge
-		if MiraLoc = 3 and $forest_args1 = 'forest_edge':
+		if locat['A60'] = 60 and $forest_args1 = 'forest_edge':
 			! stripping with Mira requires completing talking to her about it already and doing their nude event in the forest already
 			if miranudetalk = 2:
 				act 'Strip Naked with Mira (0:05)':
 					*clr & cla
 					menu_off = 1
 					minut += 5
-					if pcs_inhib < 50:inhib_exp += rand(1,3)
+					if pcs_inhib < 50: inhib_exp += rand(1,3)
 					if swamp_clothes = 0:
 						gs 'clothing', 'strip_all', $forest_args1
 					elseif swamp_clothes = 1:
-						gs 'clothing', 'strip_all', 'gadforest'
-						gs 'clothing', 'swamp_clothes', 0
+						gs 'clothing', 'strip_all', 'gad_forest'
+						gs 'clothing', 'gad_swamp_clothes', 0
 					end
 					gs 'arousal', 'flash', 5
 					gs 'arousal', 'end'
@@ -605,7 +604,7 @@ if $ARGS[0] = 'stripping':
 
 					'You and Mira quickly get undressed, leaving your clothes in a neat pile on the ground.'
 
-					act 'Continue': gt 'gadforest', $forest_args1
+					act 'Continue': gt 'gad_forest', $forest_args1
 				end
 			end
 		else
@@ -619,8 +618,8 @@ if $ARGS[0] = 'stripping':
 					if swamp_clothes = 0:
 						gs 'clothing', 'strip_all', $forest_args1
 					elseif swamp_clothes = 1:
-						gs 'clothing', 'strip_all', 'gadforest'
-						gs 'clothing', 'swamp_clothes', 0
+						gs 'clothing', 'strip_all', 'gad_forest'
+						gs 'clothing', 'gad_swamp_clothes', 0
 					end
 					gs 'stat'
 
@@ -629,10 +628,10 @@ if $ARGS[0] = 'stripping':
 
 					'You quickly get undressed, leaving your clothes in a neat pile on the ground.'
 
-					if $forest_args1 = 'swamp_woods':
-						act 'Continue': gt 'swamp_woods', 'start'
+					if $forest_args1 = 'gad_swamp_woods':
+						act 'Continue': gt 'gad_swamp_woods', 'start'
 					else
-						act 'Continue': gt 'gadforest', $forest_args1
+						act 'Continue': gt 'gad_forest', $forest_args1
 					end
 				end
 			end
@@ -642,7 +641,7 @@ end
 
 ! this gs handles dressing for Sveta in the various locations of the forest
 ! $forest_args1 - location of forest where this is called from
-! Example: gs 'gadforest', 'dressing'
+! Example: gs 'gad_forest', 'dressing'
 if $ARGS[0] = 'dressing':
 	! code for different variations of getting dressed or dealing with clothes left in the forest
 	if clothesAtLocation = 1:
@@ -651,7 +650,7 @@ if $ARGS[0] = 'dressing':
 				*clr & cla
 				menu_off = 1
 				minut += 5
-				gs 'clothing', 'swamp_clothes', 0
+				gs 'clothing', 'gad_swamp_clothes', 0
 				gs 'underwear', 'wear'
 				gs 'clothing', 'recover_lost_clothes', $forest_args1, 1
 				gs 'stat'
@@ -661,10 +660,10 @@ if $ARGS[0] = 'dressing':
 				*nl
 				'You change back into your clothes.'
 
-				if $forest_args1 = 'swamp_woods':
-					act 'Continue': gt 'swamp_woods', 'start'
+				if $forest_args1 = 'gad_swamp_woods':
+					act 'Continue': gt 'gad_swamp_woods', 'start'
 				else
-					act 'Continue': gt 'gadforest', $forest_args1
+					act 'Continue': gt 'gad_forest', $forest_args1
 				end
 			end
 		elseif $clothingworntype ! 'nude':
@@ -674,7 +673,7 @@ if $ARGS[0] = 'dressing':
 					*clr & cla
 					menu_off = 1
 					minut += 5
-					gs 'clothing', 'swamp_clothes', 0
+					gs 'clothing', 'gad_swamp_clothes', 0
 					gs 'underwear', 'wear'
 					gs 'clothing', 'recover_lost_clothes', $forest_args1, 1
 					gs 'stat'
@@ -684,10 +683,10 @@ if $ARGS[0] = 'dressing':
 					*nl
 					'You wear your abandoned clothing and get rid of the hessian sack the hunters gave you.'
 
-					if $forest_args1 = 'swamp_woods':
-						act 'Continue': gt 'swamp_woods', 'start'
+					if $forest_args1 = 'gad_swamp_woods':
+						act 'Continue': gt 'gad_swamp_woods', 'start'
 					else
-						act 'Continue': gt 'gadforest', $forest_args1
+						act 'Continue': gt 'gad_forest', $forest_args1
 					end
 				end
 			else
@@ -695,7 +694,7 @@ if $ARGS[0] = 'dressing':
 					cla
 					menu_off = 1
 					minut += 5
-					gs 'clothing', 'swamp_clothes', 0
+					gs 'clothing', 'gad_swamp_clothes', 0
 					gs 'underwear', 'wear'
 					gs 'clothing', 'recover_lost_clothes', $forest_args1
 					gs 'stat'
@@ -703,10 +702,10 @@ if $ARGS[0] = 'dressing':
 					*nl
 					'You pick up your abandoned clothing.'
 
-					if $forest_args1 = 'swamp_woods':
-						act 'Continue': gt 'swamp_woods', 'start'
+					if $forest_args1 = 'gad_swamp_woods':
+						act 'Continue': gt 'gad_swamp_woods', 'start'
 					else
-						act 'Continue': gt 'gadforest', $forest_args1
+						act 'Continue': gt 'gad_forest', $forest_args1
 					end
 				end
 			end
@@ -716,18 +715,18 @@ end
 
 ! this gs handles walking for Sveta in the various locations of the forest
 ! $forest_args1 - location of forest where this is called from
-! Example: gs 'gadforest', 'walking'
+! Example: gs 'gad_forest', 'walking'
 if $ARGS[0] = 'walking':
 	if hour >= 6 and hour <= 22:
 		! Mira only goes to the forest edge
-		if MiraLoc = 3 and $forest_args1 = 'forest_edge':
+		if locat['A60'] = 60 and $forest_args1 = 'forest_edge':
 			act 'Go for a walk in the woods with Mira (1:00)':
 				*clr & cla
 				menu_off = 1
 				minut += 60
 				pcs_mood += 20
 				pcs_health += healthmax/5
-				gs 'gadforest', 'bushcraft', $forest_args1
+				gs 'gad_forest', 'bushcraft', $forest_args1
 				if $clothingworntype = 'nude':
 					if pcs_inhib < 50:inhib_exp += rand(1,5)
 					gs 'arousal', 'flash', 5
@@ -737,8 +736,8 @@ if $ARGS[0] = 'walking':
 
 				if month >= 4 and month <= 10:
 					!  25% chance of finding meadow (needed to advance Miras quest)
-					if rand(0,4) = 0 and meadow = 0 and $forest_args1 = 'forest_edge':
-						gt 'gadforest_event', 'find_meadow'
+					if rand(0, 4) = 0 and gad_meadow_found = 0 and $forest_args1 = 'forest_edge':
+						gt 'gad_forest_events', 'find_meadow'
 					else
 						if $clothingworntype ! 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraforest'+rand(1,3)+'.jpg"></center>'
 						if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraforest_nude'+rand(1,3)+'.jpg"></center>'
@@ -751,7 +750,7 @@ if $ARGS[0] = 'walking':
 					'You spend an hour walking with Mira through the snowy woods, chatting and enjoying the sounds of the forest and the fresh air.'
 				end
 
-				act 'Continue':gt 'gadforest', $forest_args1
+				act 'Continue': gt 'gad_forest', $forest_args1
 			end
 		else
 			act 'Go for a walk in the woods (1:00)':
@@ -760,13 +759,13 @@ if $ARGS[0] = 'walking':
 				minut += 60
 				pcs_mood += 20
 				pcs_health += healthmax/5
-				gs 'gadforest', 'bushcraft', $forest_args1
+				gs 'gad_forest', 'bushcraft', $forest_args1
 				if $clothingworntype = 'nude' and pcs_inhib < 50:inhib_exp += rand(1,5)
 				gs 'stat'
 
 				! 10% chance of finding meadow (needed to advance Miras quest)
-				if rand(0,9) = 0 and meadow = 0 and $forest_args1 = 'forest_edge':
-					gt 'gadforest_event', 'find_meadow'
+				if rand(0, 9) = 0 and gad_meadow_found = 0 and $forest_args1 = 'forest_edge':
+					gt 'gad_forest_events', 'find_meadow'
 				else
 					if month >= 4 and month <= 10:
 						if ($clothingworntype ! 'nude' and PCloswimwear = 0) and CloSkirtShortness = 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gulforest0.'+rand(1,2)+'.jpg"></center>'
@@ -781,10 +780,10 @@ if $ARGS[0] = 'walking':
 						'You spend an hour walking through the snowy woods, enjoying the sounds of the forest and the fresh air.'
 					end
 
-					if $forest_args1 = 'swamp_woods':
-						act 'Continue': gt 'swamp_woods', 'start'
+					if $forest_args1 = 'gad_swamp_woods':
+						act 'Continue': gt 'gad_swamp_woods', 'start'
 					else
-						act 'Continue': gt 'gadforest', $forest_args1
+						act 'Continue': gt 'gad_forest', $forest_args1
 					end
 				end
 			end
@@ -794,11 +793,11 @@ end
 
 ! this gs handles mushroom and berry picking for Sveta in the various locations of the forest
 ! $forest_args1 - location of forest where this is called from
-! Example: gs 'gadforest', 'picking'
+! Example: gs 'gad_forest', 'picking'
 if $ARGS[0] = 'picking':
 	if hour >= 6 and hour <= 22 and month >= 6 and month <= 9 and boletus + boletus_cooked + bilberry < 5:
-		if ($forest_args1 = 'forest_edge' and edge_pickingday ! daystart) or ($forest_args1 = 'forest_outskirts' and outskirts_pickingday ! daystart) or ($forest_args1 = 'forest_center' and center_pickingday ! daystart) or ($forest_args1 = 'swamp_woods' and swamp_pickingday ! daystart):
-			act 'Look for mushrooms and berries'+iif(MiraLoc = 3 and $forest_args1 = 'forest_edge', ' with Mira (0:30)',' (0:30)'):
+		if ($forest_args1 = 'forest_edge' and edge_pickingday ! daystart) or ($forest_args1 = 'forest_outskirts' and outskirts_pickingday ! daystart) or ($forest_args1 = 'forest_center' and center_pickingday ! daystart) or ($forest_args1 = 'gad_swamp_woods' and swamp_pickingday ! daystart):
+			act 'Look for mushrooms and berries ' + iif(locat['A60'] = 60 and $forest_args1 = 'forest_edge', 'with Mira ', '') + '(0:30)':
 				*clr & cla
 				menu_off = 1
 
@@ -817,7 +816,7 @@ if $ARGS[0] = 'picking':
 					mushroom_pickers_check = 3
 					max_boletus = 3
 					max_bilberry = 3
-				elseif $forest_args1 = 'swamp_woods':
+				elseif $forest_args1 = 'gad_swamp_woods':
 					swamp_pickingday = daystart
 					mushroom_pickers_check = 4
 					max_boletus = 4
@@ -827,10 +826,10 @@ if $ARGS[0] = 'picking':
 				minut += 30
 				new_boletus = 0
 				new_bilberry = 0
-				gs 'gadforest', 'bushcraft', $forest_args1
+				gs 'gad_forest', 'bushcraft', $forest_args1
 				if $clothingworntype = 'nude':
 					if pcs_inhib < 50:inhib_exp += rand(1,5)
-					if MiraLoc = 3 and $forest_args1 = 'forest_edge':
+					if locat['A60'] = 60 and $forest_args1 = 'forest_edge':
 						gs 'arousal', 'flash', 5
 						gs 'arousal', 'end'
 					end
@@ -846,7 +845,7 @@ if $ARGS[0] = 'picking':
 					pcs_mood += 10
 					gs 'stat'
 
-					gs 'gadforest', 'picking_clothes', $forest_args1, 'berry'
+					gs 'gad_forest', 'picking_clothes', $forest_args1, 'berry'
 					*nl
 					'After searching for mushrooms and berries for half an hour, you found <<new_boletus>> kg of mushrooms and <<new_bilberry>> kg of berries.'
 				! mushroom pickers are at the location of the forest Sveta is in
@@ -861,37 +860,37 @@ if $ARGS[0] = 'picking':
 						pcs_mood += 10
 						gs 'stat'
 
-						gs 'gadforest', 'picking_clothes', $forest_args1, 'berry'
+						gs 'gad_forest', 'picking_clothes', $forest_args1, 'berry'
 						*nl
 						'After searching for mushrooms and berries for half an hour, you found <<new_boletus>> kg of mushrooms and <<new_bilberry>> kg of berries.'
 					elseif new_boletus = 0 and new_bilberry > 0:
 						pcs_mood += 5
 						gs 'stat'
 
-						gs 'gadforest', 'picking_clothes', $forest_args1, 'berry'
+						gs 'gad_forest', 'picking_clothes', $forest_args1, 'berry'
 						*nl
 						'After searching for mushrooms and berries for half an hour, you found <<new_bilberry>> kg of berries.'
 					elseif new_boletus > 0 and new_bilberry = 0:
 						pcs_mood += 5
 						gs 'stat'
 
-						gs 'gadforest', 'picking_clothes', $forest_args1, 'mushroom'
+						gs 'gad_forest', 'picking_clothes', $forest_args1, 'mushroom'
 						*nl
 						'After searching for mushrooms and berries for half an hour, you found <<new_boletus>> kg of mushrooms.'
 					elseif new_boletus = 0 and new_bilberry = 0:
 						pcs_mood -= 5
 						gs 'stat'
 
-						gs 'gadforest', 'picking_clothes_empty', $forest_args1
+						gs 'gad_forest', 'picking_clothes_empty', $forest_args1
 						*nl
 						'After searching for mushrooms and berries for half an hour, you found nothing.'
 					end
 				end
 
-				if $forest_args1 = 'swamp_woods':
-					act 'Continue': gt 'swamp_woods', 'start'
+				if $forest_args1 = 'gad_swamp_woods':
+					act 'Continue': gt 'gad_swamp_woods', 'start'
 				else
-					act 'Continue': gt 'gadforest', $forest_args1
+					act 'Continue': gt 'gad_forest', $forest_args1
 				end
 			end
 		end
@@ -901,10 +900,10 @@ end
 ! this gs handles images for mushroom and berry picking for Sveta in the various locations of the forest when she finds at least 1 kg of berries or mushrooms
 ! $ARGS[1] - location of forest where this is called from
 ! $ARGS[2] - whether you want images for mushrooms or berries
-! Example: gs 'gadforest', 'picking_clothes', 'forest_edge', 'mushroom'
+! Example: gs 'gad_forest', 'picking_clothes', 'forest_edge', 'mushroom'
 if $ARGS[0] = 'picking_clothes':
 	if $ARGS[2] = 'mushroom':
-		if MiraLoc = 3 and $ARGS[1] = 'forest_edge':
+		if locat['A60'] = 60 and $ARGS[1] = 'forest_edge':
 			if $clothingworntype ! 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miramushroom'+rand(1,2)+'.jpg"></center>'
 			if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miramushroom_nude'+rand(1,2)+'.jpg"></center>'
 		else
@@ -914,7 +913,7 @@ if $ARGS[0] = 'picking_clothes':
 			if $clothingworntype ! 'nude' and $pantyworntype = 'none' and PCloSkirt > 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/mushroom3.jpg"></center>'
 		end
 	elseif $ARGS[2] = 'berry':
-		if MiraLoc = 3 and $ARGS[1] = 'forest_edge':
+		if locat['A60'] = 60 and $ARGS[1] = 'forest_edge':
 			if $clothingworntype ! 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miramushroom'+rand(1,2)+'.jpg"></center>'
 			if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miramushroom_nude'+rand(1,2)+'.jpg"></center>'
 		else
@@ -928,9 +927,9 @@ end
 
 ! this gs handles images for mushroom and berry picking for Sveta in the various locations of the forest when she finds 0 kg of berries or mushrooms
 ! $ARGS[1] - location of forest where this is called from
-! Example: gs 'gadforest', 'picking_clothes_empty', 'forest_edge'
+! Example: gs 'gad_forest', 'picking_clothes_empty', 'forest_edge'
 if $ARGS[0] = 'picking_clothes_empty':
-	if MiraLoc = 3 and $ARGS[1] = 'forest_edge':
+	if locat['A60'] = 60 and $ARGS[1] = 'forest_edge':
 		if $clothingworntype ! 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miramushroom3.jpg"></center>'
 		if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miramushroom_nude3.jpg"></center>'
 	else
@@ -941,5 +940,5 @@ if $ARGS[0] = 'picking_clothes_empty':
 	end
 end
 
---- gadforest ---------------------------------
+--- gad_forest ---------------------------------
 

+ 74 - 74
locations/gadforest_event.qsrc → locations/gad_forest_events.qsrc

@@ -1,4 +1,4 @@
-# gadforest_event
+# gad_forest_events
 !2021/05/05
 
 $location_type = 'event_outdoors'
@@ -12,13 +12,13 @@ if $ARGS[0] = 'find_meadow':
 	*nl
 	'Walking through the forest, you notice a small path that runs along some bushes and a small ravine. The trail leads away from the well-worn tracks you are currently on and into a dense thicket.'
 
-	act 'Ignore it and keep walking':gt 'gadforest', 'forest_edge'
+	act 'Ignore it and keep walking': gt 'gad_forest', 'forest_edge'
 	act 'Follow the path to see where it goes':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/meadow/meadow_thicket.jpg"></center>'
 		*nl
 		'You follow the path to see where it goes, but soon it becomes indistinguishable from the bushes and trees around you.'
-		meadow = 1
+		gad_meadow_found = 1
 		minut += 10
 		gs 'stat'
 
@@ -46,7 +46,7 @@ if $ARGS[0] = 'find_meadow':
 					minut += 10
 					gs 'stat'
 
-					act 'Continue':gt 'meadow', 'start'
+					act 'Continue': gt 'gad_meadow', 'start'
 				end
 			end
 		end
@@ -60,7 +60,7 @@ if $ARGS[0] = 'mira_picking_talk':
 	mirapickingtalk = 1
 	miratalkday = daystart
 	npc_rel['A60'] += 2
-	gs 'gadforest', 'bushcraft', 'forest_edge'
+	gs 'gad_forest', 'bushcraft', 'forest_edge'
 	gs 'stat'
 
 	gs 'miroslava','miraclothes'
@@ -71,7 +71,7 @@ if $ARGS[0] = 'mira_picking_talk':
 	'"One more warning, I''ve heard some other villagers say there are wolves in the forest that come out after dark, so you shouldn''t stay in the forest after sundown."'
 	'"That''s one of the reasons why I prefer to walk around the forest''s edge in the morning. It''s much safer in the daylight when more people are around."'
 
-	act 'Continue':gt 'gadforest', 'forest_edge'
+	act 'Continue': gt 'gad_forest', 'forest_edge'
 end
 
 if $ARGS[0] = 'mira_nude_talk':
@@ -81,7 +81,7 @@ if $ARGS[0] = 'mira_nude_talk':
 	miranudetalk = 1
 	miratalkday = daystart
 	npc_rel['A60'] += 2
-	gs 'gadforest', 'bushcraft', 'forest_edge'
+	gs 'gad_forest', 'bushcraft', 'forest_edge'
 	gs 'stat'
 
 	gs 'miroslava','miraclothes'
@@ -90,7 +90,7 @@ if $ARGS[0] = 'mira_nude_talk':
 	'"I don''t know if it''s the fresh air or just being surrounded by nature, but it did make me feel better."'
 	'"I may have tried it once to see if what they said was true. Maybe we can go together sometime?"'
 
-	act 'Continue':gt 'gadforest', 'forest_edge'
+	act 'Continue': gt 'gad_forest', 'forest_edge'
 end
 
 if $ARGS[0] = 'mira_nude_event':
@@ -100,7 +100,7 @@ if $ARGS[0] = 'mira_nude_event':
 	miranudetalk = 2
 	miratalkday = daystart
 	npc_rel['A60'] += 2
-	gs 'gadforest', 'bushcraft', 'forest_edge'
+	gs 'gad_forest', 'bushcraft', 'forest_edge'
 	pcs_horny += 10
 	gs 'stat'
 
@@ -145,7 +145,7 @@ if $ARGS[0] = 'mira_nude_event':
 			*nl
 			'Mira pouts at you for refusing to undress for a moment, then she smiles again, "Alright then, <<$pcs_nickname>>, we can still just go for a normal walk instead."'
 
-			act'Continue':gt 'gadforest','forest_edge'
+			act'Continue': gt 'gad_forest', 'forest_edge'
 		end
 	else
 		act 'Resist and keep your clothes on (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -165,7 +165,7 @@ if $ARGS[0] = 'mira_nude_event':
 		*nl
 		'Seeing that your resistance had stopped, Mira quickly began to undress you, leaving your clothes in a pile on the forest floor.'
 
-		act'Continue':gt 'gadforest','forest_edge'
+		act'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 
@@ -177,7 +177,7 @@ if $ARGS[0] = 'mira_morning_walk':
 	'As you walk through the forest, you hear a familiar voice call out, "Hey, <<$pcs_nickname>>, wait up!" You turn around and see Mira excitedly bounding up behind you.'
 	'"Want to join me on my walk?" she asks. "I love walking through the forest in the morning."'
 
-	act 'Say Hello': gt 'gadforest', 'forest_edge'
+	act 'Say Hello': gt 'gad_forest', 'forest_edge'
 end
 
 if $ARGS[0] = 'mushroom_pickers1':
@@ -214,11 +214,11 @@ if $ARGS[0] = 'mushroom_pickers2':
 		pcs_horny += 5
 		inhib_exp += rand(1,3)
 	else
-		act 'Follow them':gt 'gadforest','forest_outskirts'
+		act 'Follow them': gt 'gad_forest', 'forest_outskirts'
 	end
 	gs 'stat'
 
-	act 'Stay here':gt 'gadforest','forest_edge'
+	act 'Stay here': gt 'gad_forest', 'forest_edge'
 
 end
 
@@ -251,7 +251,7 @@ if $ARGS[0] = 'mushroom_pickers3':
 				act 'Chat':
 					*clr & cla
 					minut += 10
-					gs 'gadforest', 'bushcraft', 'forest_outskirts'
+					gs 'gad_forest', 'bushcraft', 'forest_outskirts'
 					gs 'stat'
 
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/mushroom_pickers3.jpg"></center>'
@@ -271,24 +271,24 @@ if $ARGS[0] = 'mushroom_pickers3':
 							'You spend ten minutes talking about the forest and the best places to find mushrooms and berries before continuing your day.'
 						end
 					end
-					act 'Leave':gt 'gadforest','forest_outskirts'
+					act 'Leave': gt 'gad_forest', 'forest_outskirts'
 				end
 			end
 			gs 'stat'
 
-			act 'Leave':gt 'gadforest','forest_outskirts'
+			act 'Leave': gt 'gad_forest', 'forest_outskirts'
 		end
 	end
 	gs 'stat'
 
-	act 'Leave them be':gt 'gadforest','forest_outskirts'
+	act 'Leave them be': gt 'gad_forest', 'forest_outskirts'
 end
 
 if $ARGS[0] = 'mushroom':
 	*clr & cla
 	menu_off = 1
 	minut += 5
-	gs 'gadforest', 'bushcraft', 'forest_center'
+	gs 'gad_forest', 'bushcraft', 'forest_center'
 
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/mushroom0.'+rand(1,3)+'.jpg"></center>'
 	*nl
@@ -302,27 +302,27 @@ if $ARGS[0] = 'mushroom':
 			boletus += rand(3,5)
 			gs 'stat'
 
-			gs 'gadforest', 'picking_clothes', 'forest_center', 'mushroom'
+			gs 'gad_forest', 'picking_clothes', 'forest_center', 'mushroom'
 			*nl
 			'You begin collecting mushrooms trying to make everything fit in your basket.'
 
-			act 'Continue':gt 'gadforest','forest_center'
+			act 'Continue': gt 'gad_forest', 'forest_center'
 		end
 	else
-		gs 'gadforest', 'picking_clothes_empty', 'forest_center'
+		gs 'gad_forest', 'picking_clothes_empty', 'forest_center'
 		*nl
 		'Unfortunately, your basket is full, and you cannot carry any more mushrooms.'
 	end
 
 	gs 'stat'
-	act 'Continue':gt 'gadforest','forest_center'
+	act 'Continue': gt 'gad_forest', 'forest_center'
 end
 
 if $ARGS[0] = 'bilberry':
 	*clr & cla
 	menu_off = 1
 	minut += 5
-	gs 'gadforest', 'bushcraft', 'forest_center'
+	gs 'gad_forest', 'bushcraft', 'forest_center'
 
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/bilberry'+rand(3,5)+'.jpg"></center>'
 	*nl
@@ -336,27 +336,27 @@ if $ARGS[0] = 'bilberry':
 			bilberry += rand(3,5)
 			gs 'stat'
 
-			gs 'gadforest', 'picking_clothes', 'forest_center', 'berry'
+			gs 'gad_forest', 'picking_clothes', 'forest_center', 'berry'
 			*nl
 			'You begin collecting berries trying to make everything fit in your basket.'
 
-			act 'Continue':gt 'gadforest','forest_center'
+			act 'Continue': gt 'gad_forest', 'forest_center'
 		end
 	else
-		gs 'gadforest', 'picking_clothes_empty', 'forest_center'
+		gs 'gad_forest', 'picking_clothes_empty', 'forest_center'
 		*nl
 		'Unfortunately, your basket is already full, and you cannot carry any more berries.'
 	end
 	gs 'stat'
 
-	act 'Continue':gt 'gadforest','forest_center'
+	act 'Continue': gt 'gad_forest', 'forest_center'
 end
 
 if $ARGS[0] = 'basket':
 	*clr & cla
 	menu_off = 1
 	minut += 5
-	gs 'gadforest', 'bushcraft', 'forest_center'
+	gs 'gad_forest', 'bushcraft', 'forest_center'
 
 
 	if rand(1,2) = 1:
@@ -365,7 +365,7 @@ if $ARGS[0] = 'basket':
 		'Wandering in the forest, you find a basket full of mushrooms. Strange, someone must have left it here or lost it.'
 
 		if boletus + boletus_cooked + bilberry < 5:
-			act 'Steal and empty them into your basket':boletus += 5 & gt 'gadforest','forest_center'
+			act 'Steal and empty them into your basket': boletus += 5 & gt 'gad_forest', 'forest_center'
 		else
 			'Unfortunately, your basket is full, and you cannot carry any more mushrooms.'
 		end
@@ -375,14 +375,14 @@ if $ARGS[0] = 'basket':
 		'Wandering in the forest, you find a basket full of berries. Strange, someone must have left it here or lost it.'
 
 		if boletus + boletus_cooked + bilberry < 5:
-			act 'Steal and empty them into your basket':bilberry += 5 & gt 'gadforest','forest_center'
+			act 'Steal and empty them into your basket': bilberry += 5 & gt 'gad_forest','forest_center'
 		else
 			'Unfortunately, your basket is already full, and you cannot carry any more berries.'
 		end
 	end
 	gs 'stat'
 
-	act 'Leave the basket alone':gt 'gadforest','forest_center'
+	act 'Leave the basket alone': gt 'gad_forest', 'forest_center'
 end
 
 if $ARGS[0] = 'picnic':
@@ -401,7 +401,7 @@ if $ARGS[0] = 'picnic':
 			act 'Hide and get dressed':
 				*clr & cla
 				minut += 5
-				gs 'clothing', 'swamp_clothes', 0
+				gs 'clothing', 'gad_swamp_clothes', 0
 				gs 'underwear', 'wear'
 				gs 'clothing', 'recover_lost_clothes', 'forest_edge',1
 				gs 'stat'
@@ -411,13 +411,13 @@ if $ARGS[0] = 'picnic':
 				*nl
 				'You change into your clothes before anyone spots you.'
 
-				act 'Continue':gt 'gadforest','forest_edge'
+				act 'Continue': gt 'gad_forest', 'forest_edge'
 			end
 		end
-		if meadow > 0:act 'Go to the meadow': minut += 15 & gt 'Meadow'
-		act 'Go further into the forest':gt 'gadforest','forest_outskirts'
+		if gad_meadow_found = 1: act 'Go to the meadow': minut += 15 & gt 'gad_meadow', 'start'
+		act 'Go further into the forest': gt 'gad_forest', 'forest_outskirts'
  	else
-		act 'Continue':gt 'gadforest','forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 
@@ -432,7 +432,7 @@ if $ARGS[0] = 'forest_hunters':
 	if hunters_were_met = 0:'Wandering through the woods you come across some people. Judging by their appearance they must be hunters.'
 	if hunters_were_met = 1:'Wandering through the woods you see the hunters, Andrei, Sergei and Igor.'
 
-	act 'Leave them alone':gt 'gadforest', $ReturnAdr
+	act 'Leave them alone': gt 'gad_forest', $ReturnAdr
 
 	!%TODO: Move to hunter interactions
 	act 'Approach the hunters':
@@ -447,7 +447,7 @@ if $ARGS[0] = 'forest_hunters':
 			'"What''s your name'+iif(pcs_apprnc >= 60,', beautiful','')+'?" one of them asks.'
 			'"<<$pcs_nickname>>," you answer.'
 			*nl
-			if gadriver_gang = 0:
+			if GadBoy['river_gang'] = 0:
 				minut += 30
 				gs 'stat'
 
@@ -458,8 +458,8 @@ if $ARGS[0] = 'forest_hunters':
 				'After chatting with them for about half an hour, the hunters begin to get up and gather their things.'
 				'"Okay, <<$pcs_nickname>>, it''s time for us to go," said Andrei.'
 				'"If you want, we will show you our camp," he added after a short pause. "From there, we have made a path back to the village. We can show it to you if you come with us. Or you can stay with us for a bit if you want."'
-				act 'Stay in the forest':gt 'gadforest', $ReturnAdr
-				act 'Go with them': minut += 60 & gt 'swamp_yard', 'start'
+				act 'Stay in the forest': gt 'gad_forest', $ReturnAdr
+				act 'Go with them': minut += 60 & gt 'gad_swamp_yard', 'start'
 			else
 				minut += 15
 				huntersRape = 1
@@ -471,11 +471,11 @@ if $ARGS[0] = 'forest_hunters':
 				'You don''t even remember us. We remember you from that day by the river with Uncle Stepan.'
 				'"I''m Andrei, " he added further, "And these are my friends, also from the village, Igor and Sergei."'
 				*nl
-				if gadriver_gang > 2:'I''m not a whore. I told Uncle Stepan to go to hell! I didn''t want that to happen to me!'
+				if GadBoy['river_gang'] > 2:'I''m not a whore. I told Uncle Stepan to go to hell! I didn''t want that to happen to me!'
 				'"Don''t run away. We won''t hurt you," said Sergei, seeing you jump to your feet.'
 				'"I think it''s about time I left", you reply.'
 				'You quickly move away from them, only slowing once you can no longer hear them talking.'
-				act 'Go back to the forest':gt 'gadforest', $ReturnAdr
+				act 'Go back to the forest': gt 'gad_forest', $ReturnAdr
 			end
 		else
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/hanters.jpg"></center>'
@@ -486,8 +486,8 @@ if $ARGS[0] = 'forest_hunters':
 				minut += 30
 				'After chatting with them for about half an hour, the hunters begin to get up and gather their things.'
 				'"Okay, <<$pcs_nickname>>, it''s time for us to go," said Andrei. "You should pay us another visit sometime, okay?"'
-				act 'Stay in the forest':gt 'gadforest', $ReturnAdr
-				act 'Go with them': minut += 60 & gt 'swamp_yard', 'start'
+				act 'Stay in the forest': gt 'gad_forest', $ReturnAdr
+				act 'Go with them': minut += 60 & gt 'gad_swamp_yard', 'start'
 			else
 				'"Oh, <<$pcs_nickname>>, we were all looking forward to seeing you again," Andrei said with a smile.'
 				'"How about you come back with us to our hut, we were just about to head back there anyways."'
@@ -497,12 +497,12 @@ if $ARGS[0] = 'forest_hunters':
 					act 'Stay in the forest  (<<will_cost>> Willpower)':
 						gs 'willpower', 'pay', 'resist'
 						gs 'stat'
-						gt 'gadforest', $ReturnAdr
+						gt 'gad_forest', $ReturnAdr
 					end
 				else
 					act 'Stay in the forest (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				end
-				act 'Go with them': minut += 60 & gt 'swamp_yard', 'start'
+				act 'Go with them': minut += 60 & gt 'gad_swamp_yard', 'start'
 			end
 		end
 	end
@@ -518,7 +518,7 @@ if $ARGS[0] = 'forest_hunters':
 				*nl
 				'You pretend not to notice the hunters and walk right past them, swaying your hips pointedly to maximize the effect. Looking around, you see that the impact has exceeded your expectations. The men have been stopped in their tracks and are staring at you...'
 
-				act 'Continue':gt 'gadforest', $ReturnAdr
+				act 'Continue': gt 'gad_forest', $ReturnAdr
 			end
 			act 'Hide':
 				*clr & cla
@@ -529,7 +529,7 @@ if $ARGS[0] = 'forest_hunters':
 				*nl
 				'They haven''t noticed you yet, so you quickly hide from sight in a nearby bush. You wait until you can no longer hear them talking to continue on your way.'
 
-				act 'Continue':gt 'gadforest', $ReturnAdr
+				act 'Continue': gt 'gad_forest', $ReturnAdr
 			end
 		if hunters_were_met = 1:
 			'"Oh, <<$pcs_nickname>>, we were all looking forward to seeing you again," Andrei said with a smile.'
@@ -540,25 +540,25 @@ if $ARGS[0] = 'forest_hunters':
 				act 'Stay in the forest  (<<will_cost>> Willpower)':
 					gs 'willpower', 'pay', 'resist'
 					gs 'stat'
-					gt 'gadforest', $ReturnAdr
+					gt 'gad_forest', $ReturnAdr
 				end
 			else
 				act 'Stay in the forest (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
-			act 'Go with them': minut += 60 & gt 'swamp_yard', 'start'
+			act 'Go with them': minut += 60 & gt 'gad_swamp_yard', 'start'
 		end
 	end
 end
 
 if $ARGS[0] = 'mitka_temporary_event':
 	! never had sex with Mitka or not the village whore
-	if npc_QW['A63'] = 0 or gadriver_gang >= 3:
+	if npc_QW['A63'] = 0 or GadBoy['river_gang'] >= 3:
 		! Mira is already fucking Mitka but not the boys slut yet
-		if npc_QW['A60'] >= 2 and npc_QW['A60'] < 11:
+		if MiraVars['QW'] >= 2 and MiraVars['QW'] < 11:
 			*clr & cla
 			minut += 5
-			mitkaday = daystart
-			MiraLoc = 0
+			GadBoy['mitka_day'] = daystart
+			gs 'miroslava_schedule', 'force_change'
 			gs 'stat'
 
 			'<center><b><font color = maroon>Mitka Shkvoryen</font></b></center>'
@@ -568,10 +568,10 @@ if $ARGS[0] = 'mitka_temporary_event':
 			'"<<$pcs_nickname>>, you go on. I need to talk to Mitka in private." She says, blushing. "He''ll take me home."'
 			'"Have fun!" you reply to Mira with a wink.'
 
-			act 'Continue': gt 'gadforest','forest_edge'
+			act 'Continue': gt 'gad_forest', 'forest_edge'
 			act 'Spy on them':
 				! Sveta has not made Mira give her anal virginity to Mitka yet
-				if npc_QW['A60'] < 6:
+				if MiraVars['QW'] < 6:
 					*clr & cla
 					gs 'arousal', 'voyeur', 5
 					gs 'stat'
@@ -588,7 +588,7 @@ if $ARGS[0] = 'mitka_temporary_event':
 
 						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex1.jpg"></center>'
 						*nl
-						if npc_QW['A60'] = 2:
+						if MiraVars['QW'] = 2:
 							'Eventually, you arrive at your secret meadow. Mira lays down on a blanket before Mitka and spreads her legs invitingly. He doesn''t waste a second before he is on top of her. He positions himself between her legs and eagerly slams his cock roughly into her vagina. Mira seems to be enjoying it, though, as she moans and begs for more.'
 						else
 							'Eventually, you arrive at your not-so-secret meadow. You already know what will happen, having seen it all before. Mira lays down on a blanket before Mitka and spreads her legs invitingly. He doesn''t waste a second before he is on top of her. He positions himself between her legs and eagerly slams his cock roughly into her vagina. Mira seems to be enjoying it even more than last time as she moans and begs for more.'
@@ -596,8 +596,8 @@ if $ARGS[0] = 'mitka_temporary_event':
 
 						act 'Continue Watching':
 							*clr & cla
-							if npc_QW['A60'] = 2:npc_QW['A60'] = 3
-							mirasextimes += 1
+							if MiraVars['QW'] = 2: MiraVars['QW'] = 3
+							MiraVars['Mitka_fucks'] += 1
 							gs 'arousal', 'voyeur', 5
 							gs 'stat'
 
@@ -605,7 +605,7 @@ if $ARGS[0] = 'mitka_temporary_event':
 							*nl
 							'After a few more minutes, Mitka pulls out and cums on her stomach. They rest for a little while, then get dressed and leave to head back to the village.'
 
-							act 'Leave': gt 'gadforest','forest_edge'
+							act 'Leave': gt 'gad_forest', 'forest_edge'
 						end
 					end
 				! Sveta has made Mira give her anal virginity to Mitka
@@ -637,7 +637,7 @@ if $ARGS[0] = 'mitka_temporary_event':
 
 						act 'Continue Watching':
 							*clr & cla
-							mirasextimes += 1
+							MiraVars['Mitka_fucks'] += 1
 							gs 'arousal', 'voyeur', 5
 							gs 'stat'
 
@@ -645,17 +645,17 @@ if $ARGS[0] = 'mitka_temporary_event':
 							*nl
 							'After a couple of minutes, Mitka vigorously slaps her ass. Mira quickly turns around, gets on her knees before him and sucks his cock for a few seconds before he shoots his warm cum all over her face.'
 
-							act 'Leave': gt 'gadforest','forest_edge'
+							act 'Leave': gt 'gad_forest', 'forest_edge'
 						end
 					end
 				end
 			end
 		! mira is the boys slut
-		elseif npc_QW['A60'] >= 11:
+		elseif MiraVars['QW'] >= 11:
 			*clr & cla
 			minut += 5
-			mitkaday = daystart
-			MiraLoc = 0
+			GadBoy['mitka_day'] = daystart
+			gs 'miroslava_schedule', 'force_change'
 			gs 'stat'
 
 			'<center><b><font color = maroon>Mitka Shkvoryen</font></b></center>'
@@ -663,7 +663,7 @@ if $ARGS[0] = 'mitka_temporary_event':
 			*nl
 			'Walking through the forest with Mira, you meet Mitka. Seeing Mira, Mitka grabbed her hand and pulled her into the nearest bush. Seeing Mira is not resisting, you decide not to interfere and mind your business.'
 
-			act 'Continue': gt 'gadforest','forest_edge'
+			act 'Continue': gt 'gad_forest', 'forest_edge'
 			act 'Spy on them':
 				*clr & cla
 				gs 'arousal', 'voyeur', 10
@@ -682,7 +682,7 @@ if $ARGS[0] = 'mitka_temporary_event':
 
 				act 'Continue Watching':
 					*clr & cla
-					mirasextimes += 1
+					MiraVars['Mitka_fucks'] += 1
 					gs 'arousal', 'voyeur', 5
 					gs 'stat'
 
@@ -690,14 +690,14 @@ if $ARGS[0] = 'mitka_temporary_event':
 					*nl
 					'After a couple of minutes, Mitka vigorously slaps her ass. Mira quickly turns around, gets on her knees before him and sucks his cock for a few seconds before he shoots his warm cum all over her face.'
 
-					act 'Leave': gt 'gadforest','forest_edge'
+					act 'Leave': gt 'gad_forest', 'forest_edge'
 				end
 			end
 		! Sveta does not know about Mira and Mitka yet or Miras quest is not started yet
 		else
 			*clr & cla
 			minut += 5
-			mitkaday = daystart
+			GadBoy['mitka_day'] = daystart
 			gs 'stat'
 
 			'<center><b><font color = maroon>Mitka Shkvoryen</font></b></center>'
@@ -705,13 +705,13 @@ if $ARGS[0] = 'mitka_temporary_event':
 			*nl
 			'Walking through the forest with Mira, you meet Mitka. You chat for a little while, noticing the interest Mira showed Mitka before saying goodbye.'
 
-			act 'Continue': gt 'gadforest','forest_edge'
+			act 'Continue': gt 'gad_forest', 'forest_edge'
 		end
 	! Sveta and Mira are both fucking Mitka but don''t know about it
 	else
 		*clr & cla
 		minut += 5
-		mitkaday = daystart
+		GadBoy['mitka_day'] = daystart
 		gs 'stat'
 
 		'<center><b><font color = maroon>Mitka Shkvoryen</font></b></center>'
@@ -719,9 +719,9 @@ if $ARGS[0] = 'mitka_temporary_event':
 		*nl
 		'Walking through the forest with Mira, you meet Mitka. He looks at you both like he is trying to decide something but must have thought better because he continues to chat usually. So you talk for a bit longer before saying goodbye.'
 
-		act 'Continue':gt 'gadforest','forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 
---- gadforest_event ---------------------------------
+--- gad_forest_events ---------------------------------
 

+ 179 - 192
locations/gadforestlost.qsrc → locations/gad_forest_lost.qsrc

@@ -1,16 +1,12 @@
-# gadforestlost
+# gad_forest_lost
 
 ! this file holds all the current code and events for player when lost
-! it is structured like the normal gadforest file with similar actions and arguments but with unique events
+! it is structured like the normal gad_forest file with similar actions and arguments but with unique events
 if $ARGS[0] = 'forest_outskirts':
 	*clr & cla
 
-	$loc = 'gadforestlost'
-	$loc_arg = 'forest_outskirts'
+	gs 'shortgs', 'setloc', 'gad_forest_lost', 'forest_outskirts'
 	$location_type = 'secluded'
-
-	$menu_loc = 'gadforestlost'
-	$menu_arg = 'forest_outskirts'
 	menu_off = 0
 
 	$forest_args1 = 'forest_outskirts'
@@ -19,30 +15,30 @@ if $ARGS[0] = 'forest_outskirts':
 	gs 'gadukino_event', 'sound'
 	gs 'stat'
 
-	gs 'gadforestlost', 'gadforestlost_picture'
+	gs 'gad_forest_lost', 'gad_forest_lost_picture'
 
 	! having a bonfire increases chances of being rescued and decreases chances of wolves attacking
 	foresteventrand = rand(1,40)
-	if foresteventrand <= (2+(bonfire*5)) and daystart >= forest_lostday and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gadforestlost', 'rescue', 'pickers', 'forest_outskirts'
-	if foresteventrand <= (4+(bonfire*5)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)) and daystart > forest_lostday + 1: gt 'gadforestlost', 'rescue', 'hunters', 'forest_outskirts'
-	if foresteventrand <= (6+(bonfire*5)) and daystart > forest_lostday: gt 'gadforestlost', 'rescue', 'ranger', 'forest_outskirts'
-	if foresteventrand <= (8-(bonfire*5)) and (hour < 6 or hour > 22): gt 'gadforestlost', 'wolves', 'forest_outskirts'
+	if foresteventrand <= (2+(bonfire*5)) and daystart >= forest_lostday and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gad_forest_lost', 'rescue', 'pickers', 'forest_outskirts'
+	if foresteventrand <= (4+(bonfire*5)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)) and daystart > forest_lostday + 1: gt 'gad_forest_lost', 'rescue', 'hunters', 'forest_outskirts'
+	if foresteventrand <= (6+(bonfire*5)) and daystart > forest_lostday: gt 'gad_forest_lost', 'rescue', 'ranger', 'forest_outskirts'
+	if foresteventrand <= (8-(bonfire*5)) and (hour < 6 or hour > 22): gt 'gad_forest_lost', 'wolves', 'forest_outskirts'
 
-	gs 'gadforestlost', 'wander'
+	gs 'gad_forest_lost', 'wander'
 
-	act 'Relax here for a bit': gt 'gadforestlost', 'relax'
+	act 'Relax here for a bit': gt 'gad_forest_lost', 'relax'
 
-	gs 'gadforestlost', 'picking'
+	gs 'gad_forest_lost', 'picking'
 end
 
 if $ARGS[0] = 'forest_center':
 	*clr & cla
 
-	$loc = 'gadforestlost'
+	$loc = 'gad_forest_lost'
 	$loc_arg = 'forest_center'
 	$location_type = 'secluded'
 
-	$menu_loc = 'gadforestlost'
+	$menu_loc = 'gad_forest_lost'
 	$menu_arg = 'forest_center'
 	menu_off = 0
 
@@ -52,24 +48,24 @@ if $ARGS[0] = 'forest_center':
 	gs 'gadukino_event', 'sound'
 	gs 'stat'
 
-	gs 'gadforestlost', 'gadforestlost_picture'
+	gs 'gad_forest_lost', 'gad_forest_lost_picture'
 
 	! having a bonfire increases chances of being rescued and decreases chances of wolves attacking
 	foresteventrand = rand(1,40)
-	if foresteventrand <= (1+(bonfire*2)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)) and daystart > forest_lostday: gt 'gadforestlost', 'rescue', 'hunters', 'forest_center'
-	if foresteventrand <= (3+(bonfire*2)) and daystart > forest_lostday + 1: gt 'gadforestlost', 'rescue', 'ranger', 'forest_center'
-	if foresteventrand <= (8-(bonfire*2)) and (hour < 6 or hour > 22): gt 'gadforestlost', 'wolves', 'forest_center'
+	if foresteventrand <= (1+(bonfire*2)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)) and daystart > forest_lostday: gt 'gad_forest_lost', 'rescue', 'hunters', 'forest_center'
+	if foresteventrand <= (3+(bonfire*2)) and daystart > forest_lostday + 1: gt 'gad_forest_lost', 'rescue', 'ranger', 'forest_center'
+	if foresteventrand <= (8-(bonfire*2)) and (hour < 6 or hour > 22): gt 'gad_forest_lost', 'wolves', 'forest_center'
 
-	gs 'gadforestlost', 'wander'
+	gs 'gad_forest_lost', 'wander'
 
-	act 'Relax here for a bit': gt 'gadforestlost', 'relax'
+	act 'Relax here for a bit': gt 'gad_forest_lost', 'relax'
 
-	gs 'gadforestlost', 'picking'
+	gs 'gad_forest_lost', 'picking'
 end
 
 ! this gs handles the bushcraft increases, clothing degradation, while lost in the forest
 ! $ARGS[1] - location of forest where this is called from
-! Example: gs 'gadforestlost', 'bushcraft', 'forest_outskirts'
+! Example: gs 'gad_forest_lost', 'bushcraft', 'forest_outskirts'
 if $ARGS[0] = 'bushcraft':
 	if $ARGS[1] = 'forest_outskirts':
 		bushcraft_rand = 2
@@ -87,16 +83,16 @@ if $ARGS[0] = 'bushcraft':
 
 	ripclothesrand = rand(1,10)
 	if pcs_bushcraft < bushcraft_limit:
-		if ripclothesrand >= torncloth_low_bushcraft: gs 'gadforest', 'torncloth'
+		if ripclothesrand >= torncloth_low_bushcraft: gs 'gad_forest', 'torncloth'
 	else
-		if ripclothesrand >= torncloth_high_bushcraft: gs 'gadforest', 'torncloth'
+		if ripclothesrand >= torncloth_high_bushcraft: gs 'gad_forest', 'torncloth'
 	end
 	gs 'stat'
 end
 
 ! this gs handles Sveta trying to find her way in the forest when lost
 ! $forest_args1 - location of forest where this is called from
-! Example: gs 'gadforestlost', 'wander'
+! Example: gs 'gad_forest_lost', 'wander'
 if $ARGS[0] = 'wander':
 	if DayStage < 4:
 		act 'Wander trying to get your bearings (1:30)':
@@ -105,7 +101,7 @@ if $ARGS[0] = 'wander':
 			minut += 90
 			gs 'stat'
 
-			gs 'gadforestlost', 'bushcraft', $forest_args1
+			gs 'gad_forest_lost', 'bushcraft', $forest_args1
 
 			'<center><H4>Somewhere in the forest</H4></center>'
 			if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestsearch_nude0.'+rand(1,4)+'.jpg"></center>'
@@ -116,29 +112,25 @@ if $ARGS[0] = 'wander':
 			if pcs_bushcraft < bushcraft_lost:
 				lostrand = rand(1,bushcraft_lost)
 				if pcs_bushcraft > lostrand:
-					gt 'gadforestlost','finish', $forest_args1
+					gt 'gad_forest_lost','finish', $forest_args1
 				else
 					'After half an hour wandering around, you feel like all you''ve accomplished is walking in circles.'
-					act 'Continue':gt 'gadforestlost', $forest_args1
+					act 'Continue': gt 'gad_forest_lost', $forest_args1
 				end
 			else
-				gt 'gadforestlost','finish', $forest_args1
+				gt 'gad_forest_lost', 'finish', $forest_args1
 			end
 		end
 	end
 end
 
 ! $forest_args1 - location of forest where this is called from
-! Example: gt 'gadforestlost', 'relax'
+! Example: gt 'gad_forest_lost', 'relax'
 if $ARGS[0] = 'relax':
 	*clr & cla
 
-	$loc = 'gadforestlost'
-	$loc_arg = 'relax'
+	gs 'shortgs', 'setloc', 'gad_forest_lost', 'relax'
 	$location_type = 'secluded'
-
-	$menu_loc = 'gadforestlost'
-	$menu_arg = 'relax'
 	menu_off = 0
 
 	CLOSE ALL
@@ -148,14 +140,14 @@ if $ARGS[0] = 'relax':
 	if $forest_args1 = 'forest_outskirts':
 		! having a bonfire increases chances of being rescued and decreases chances of wolves attacking
 		foresteventrand = rand(1,30)
-		if foresteventrand <= (2+(bonfire*5)) and daystart >= forest_lostday and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gadforestlost', 'rescue', 'pickers', $forest_args1
-		if foresteventrand <= (4+(bonfire*5)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gadforestlost', 'rescue', 'hunters', $forest_args1
-		if foresteventrand <= (6+(bonfire*5)) and daystart > forest_lostday+1: gt 'gadforestlost', 'rescue', 'ranger', $forest_args1
+		if foresteventrand <= (2+(bonfire*5)) and daystart >= forest_lostday and month >= 6 and month <= 9 and hour >= 8 and hour <= 16 and mushroom_pickersday ! daystart: mushroom_pickers = 2 & gt 'gad_forest_lost', 'rescue', 'pickers', $forest_args1
+		if foresteventrand <= (4+(bonfire*5)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gad_forest_lost', 'rescue', 'hunters', $forest_args1
+		if foresteventrand <= (6+(bonfire*5)) and daystart > forest_lostday+1: gt 'gad_forest_lost', 'rescue', 'ranger', $forest_args1
 	elseif $forest_args1 = 'forest_center':
 		! having a bonfire increases chances of being rescued and decreases chances of wolves attacking
 		foresteventrand = rand(1,40)
-		if foresteventrand <= (1+(bonfire*5)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gadforestlost', 'rescue', 'hunters', $forest_args1
-		if foresteventrand <= (3+(bonfire*5)) and daystart > forest_lostday+1: gt 'gadforestlost', 'rescue', 'ranger', $forest_args1
+		if foresteventrand <= (1+(bonfire*5)) and daystart > forest_lostday and month >= 4 and month <= 10 and ((hour >= 8 and hour < 12) or (hour >= 14 and hour < 18)): gt 'gad_forest_lost', 'rescue', 'hunters', $forest_args1
+		if foresteventrand <= (3+(bonfire*5)) and daystart > forest_lostday + 1: gt 'gad_forest_lost', 'rescue', 'ranger', $forest_args1
 	end
 
 	'<center><H4>Somewhere in the forest</H4></center>'
@@ -172,7 +164,7 @@ if $ARGS[0] = 'relax':
 	else
 		'<font color="green">Your bonfire burns bright, increasing the chance of being rescued and decreasing the chance of being attacked by wolves.</font>'
 	end
-	act 'Explore the forest': gt 'gadforestlost', $forest_args1
+	act 'Explore the forest': gt 'gad_forest_lost', $forest_args1
 
 	if bonfire = 0:
 		act 'Build a fire (0:30)':
@@ -186,7 +178,7 @@ if $ARGS[0] = 'relax':
 			*nl
 			'After a few minutes, you are able to get a nice sized fire started.'
 
-			act 'Continue':gt 'gadforestlost', 'relax'
+			act 'Continue': gt 'gad_forest_lost', 'relax'
 		end
 		act 'Sit and relax (1:00)':
 			*clr & cla
@@ -194,26 +186,24 @@ if $ARGS[0] = 'relax':
 			minut += 60
 			gs 'stat'
 
-			if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_nude'+rand(1,2)+'.jpg"></center>'
+			if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_nude' + rand(1, 2) + '.jpg"></center>'
 			if $clothingworntype ! 'nude' and PCloSkirt = 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax3.jpg"></center>'
 			if $clothingworntype ! 'nude' and $pantyworntype ! 'none' and PCloSkirt > 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_ski4.jpg"></center>'
 			if $clothingworntype ! 'nude' and $pantyworntype = 'none' and PCloSkirt > 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_ski5.jpg"></center>'
 			*nl
 			'You spend half an hour relaxing, trying to pretend this is just like any other walk in the woods you''ve done.'
 
-			act 'Continue':gt 'gadforestlost', 'relax'
+			act 'Continue': gt 'gad_forest_lost', 'relax'
 		end
 		if pcs_sleep < 40:
 			act 'Nap on the ground (2:00)':
 				*clr & cla
 				menu_off = 1
-				minut += 120
-				pcs_sleep += 20
-				pcs_health += 5
 				pcs_mood += 10
-				gs'stat'
+				pcs_health -= 5
+				gs 'sleep_simple', 'nap_base', 120
 
-				if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_sleepnude1.'+rand(1,2)+'.jpg"></center>'
+				if $clothingworntype = 'nude':'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_sleepnude1.' + rand(1, 2) + '.jpg"></center>'
 				if $clothingworntype ! 'nude' and PCloSkirt = 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_sleep.jpg"></center>'
 				if $clothingworntype ! 'nude' and $pantyworntype ! 'none' and PCloSkirt > 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_sleepski.jpg"></center>'
 				if $clothingworntype ! 'nude' and $pantyworntype = 'none' and PCloSkirt > 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_sleepski1.jpg"></center>'
@@ -221,44 +211,41 @@ if $ARGS[0] = 'relax':
 				'You are able to make youself fall asleep for about 2 hours, but that is it. If you want to get a full nights sleep you will have to find a way out of the forest.'
 				'Even though you had to sleep on the ground, you do wake up feeling a bit more hopeful and rested.'
 
-				act 'Continue':gt 'gadforestlost', 'relax'
+				act 'Continue': gt 'gad_forest_lost', 'relax'
 			end
 		end
 	elseif bonfire = 1:
-        act 'Warm up by the fire (1:00)':
-            *clr & cla
-            menu_off = 1
-            minut += 60
-            if frost > 0: frost -= 1
-            gs 'stat'
-
-            if hour >= 6 and hour < 21:
-                '<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_bonfire2.jpg"></center>'
-            else
-               '<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_bonfire3.jpg"></center>'
-            end
-            *nl
-            'You spend half an hour huddled by the flames'
-
-            act 'Continue':gt 'gadforestlost', 'relax'
-        end
+		act 'Warm up by the fire (1:00)':
+			*clr & cla
+			menu_off = 1
+			minut += 60
+			if frost > 0: frost -= 1
+			gs 'stat'
+
+			if hour >= 6 and hour < 21:
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_bonfire2.jpg"></center>'
+			else
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_bonfire3.jpg"></center>'
+			end
+			*nl
+			'You spend half an hour huddled by the flames'
+
+			act 'Continue': gt 'gad_forest_lost', 'relax'
+		end
 		if pcs_sleep < 40:
 			act 'Nap by the fire (2:00)':
 				*clr & cla
 				menu_off = 1
-				minut += 120
-				pcs_sleep += 20
-				pcs_health += 10
 				pcs_mood += 20
 				frost = 0
-				gs 'stat'
+				gs 'sleep_simple', 'nap_base', 120
 
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/forest/gadforestrelax_bonfiresleep.jpg"></center>'
 				*nl
 				'You are able to make youself fall asleep for about 2 hours, but that is it. If you want to get a full nights sleep you will have to find a way out of the forest.'
 				'Even though you had to sleep on the ground, you do wake up feeling a bit more hopeful and rested.'
 
-				act 'Continue':gt 'gadforestlost', 'relax'
+				act 'Continue': gt 'gad_forest_lost', 'relax'
 			end
 		end
 		if boletus > 0:
@@ -275,7 +262,7 @@ if $ARGS[0] = 'relax':
 				*nl
 				'You spend 15 minutes grilling some mushrooms in the fire.'
 
-				act 'Continue':gt 'gadforestlost', 'relax'
+				act 'Continue': gt 'gad_forest_lost', 'relax'
 			end
 		end
 	end
@@ -295,7 +282,7 @@ if $ARGS[0] = 'relax':
 			*nl
 			'You eat some cooked mushrooms. They are pretty tasty considering your circumstances.'
 
-			act 'Continue':gt 'gadforestlost', 'relax'
+			act 'Continue': gt 'gad_forest_lost', 'relax'
 		end
 	end
 	if bilberry > 0:
@@ -315,14 +302,14 @@ if $ARGS[0] = 'relax':
 			*nl
 			'You eat some berries. These would be great to eat even if you weren''t lost.'
 
-			act 'Continue':gt 'gadforestlost', 'relax'
+			act 'Continue': gt 'gad_forest_lost', 'relax'
 		end
 	end
 end
 
 ! this gs handles mushroom and berry picking for Sveta in the various locations of the forest when she is lost
 ! $forest_args1 - location of forest where this is called from
-! Example: gs 'gadforestlost', 'picking'
+! Example: gs 'gad_forest_lost', 'picking'
 if $ARGS[0] = 'picking':
 	if DayStage < 4 and month >= 6 and month <= 9 and boletus + boletus_cooked + bilberry < 5:
 		act 'Look for mushrooms and berries (0:30)':
@@ -344,7 +331,7 @@ if $ARGS[0] = 'picking':
 			minut += 30
 			new_boletus = 0
 			new_bilberry = 0
-			gs 'gadforestlost', 'bushcraft', $forest_args1
+			gs 'gad_forest_lost', 'bushcraft', $forest_args1
 			if $clothingworntype = 'nude' and pcs_inhib < 50:inhib_exp += rand(1,5)
 			gs 'stat'
 
@@ -356,7 +343,7 @@ if $ARGS[0] = 'picking':
 				pcs_mood += 10
 				gs 'stat'
 
-				gs 'gadforest', 'picking_clothes', $forest_args1, 'berry'
+				gs 'gad_forest', 'picking_clothes', $forest_args1, 'berry'
 				*nl
 				'After searching for mushrooms and berries for half an hour you found <<new_boletus>> kg of mushrooms and <<new_bilberry>> kg of berries.'
 			elseif mushroom_pickers = mushroom_pickers_check:
@@ -370,33 +357,33 @@ if $ARGS[0] = 'picking':
 					pcs_mood += 10
 					gs 'stat'
 
-					gs 'gadforest', 'picking_clothes', $forest_args1, 'berry'
+					gs 'gad_forest', 'picking_clothes', $forest_args1, 'berry'
 					*nl
 					'After searching for mushrooms and berries for half an hour you found <<new_boletus>> kg of mushrooms and <<new_bilberry>> kg of berries.'
 				elseif new_boletus = 0 and new_bilberry > 0:
 					pcs_mood += 5
 					gs 'stat'
 
-					gs 'gadforest', 'picking_clothes', $forest_args1, 'berry'
+					gs 'gad_forest', 'picking_clothes', $forest_args1, 'berry'
 					*nl
 					'After searching for mushrooms and berries for half an hour you found <<new_bilberry>> kg of berries.'
 				elseif new_boletus > 0 and new_bilberry = 0:
 					pcs_mood += 5
 					gs 'stat'
 
-					gs 'gadforest', 'picking_clothes', $forest_args1, 'mushroom'
+					gs 'gad_forest', 'picking_clothes', $forest_args1, 'mushroom'
 					*nl
 					'After searching for mushrooms and berries for half an hour you found <<new_boletus>> kg of mushrooms'
 				elseif new_boletus = 0 and new_bilberry = 0:
 					pcs_mood -= 5
 					gs 'stat'
 
-					gs 'gadforest', 'picking_clothes_empty', $forest_args1
+					gs 'gad_forest', 'picking_clothes_empty', $forest_args1
 					*nl
 					'After searching for mushrooms and berries for half an hour you found nothing.'
 				end
 			end
-			act 'Continue':gt 'gadforestlost', $forest_args1
+			act 'Continue': gt 'gad_forest_lost', $forest_args1
 		end
 	end
 end
@@ -408,7 +395,7 @@ if $ARGS[0] = 'finish':
 	bonfire = 0
 	pcs_mood += 20
 	gs 'exp_gain', 'bushcraft', rand(1,5)
-	gs 'clothing', 'swamp_clothes', 0
+	gs 'clothing', 'gad_swamp_clothes', 0
 	gs 'stat'
 
 	'<center><H4>Somewhere in the forest</H4></center>'
@@ -419,63 +406,63 @@ if $ARGS[0] = 'finish':
 	if $clothingworntype = 'nude':
 		if $ARGS[1] = 'forest_outskirts':
 			act 'Continue':
-				if meadow > 0:
+				if gad_meadow_found = 1:
 					foresteventrand = rand(1,3)
 				else
 					foresteventrand = rand(1,2)
 				end
-				if foresteventrand = 1: minut += 15 & gt 'gadforest','forest_edge'
-				if foresteventrand = 2: gt 'gadforest','forest_outskirts'
-				if foresteventrand = 3: minut += 35 & gt 'meadow', 'start'
+				if foresteventrand = 1: minut += 15 & gt 'gad_forest', 'forest_edge'
+				if foresteventrand = 2: gt 'gad_forest', 'forest_outskirts'
+				if foresteventrand = 3: minut += 35 & gt 'gad_meadow', 'start'
 			end
 		elseif $ARGS[1] = 'forest_center':
 			act 'Continue':
-				if hunterscabin = 1 and meadow > 0:
+				if hunterscabin = 1 and gad_meadow_found = 1:
 					foresteventrand = rand(1,5)
-				elseif meadow > 0:
+				elseif gad_meadow_found = 1:
 					foresteventrand = rand(1,4)
 				else
 					foresteventrand = rand(1,3)
 				end
-				if foresteventrand = 1: minut += 30 & gt 'gadforest','forest_edge'
-				if foresteventrand = 2: minut += 15 & gt 'gadforest','forest_outskirts'
-				if foresteventrand = 3: gt 'gadforest','forest_center'
-				if foresteventrand = 4: minut += 50 & gt 'meadow', 'start'
-				if foresteventrand = 5: minut += 30 & gt 'swamp_yard', 'start'
+				if foresteventrand = 1: minut += 30 & gt 'gad_forest', 'forest_edge'
+				if foresteventrand = 2: minut += 15 & gt 'gad_forest',' forest_outskirts'
+				if foresteventrand = 3: gt 'gad_forest', 'forest_center'
+				if foresteventrand = 4: minut += 50 & gt 'gad_meadow', 'start'
+				if foresteventrand = 5: minut += 30 & gt 'gad_swamp_yard', 'start'
 			end
 		end
 	else
 		if $ARGS[1] = 'forest_outskirts':
 			act 'Continue':
-				if meadow > 0:
+				if gad_meadow_found = 1:
 					foresteventrand = rand(1,6)
 				else
 					foresteventrand = rand(1,5)
 				end
-				if foresteventrand = 1: minut += 15 & gt 'gadforest','forest_edge'
-				if foresteventrand = 2: gt 'gadforest','forest_outskirts'
-				if foresteventrand = 3: minut += 40 & gt 'gadfield','field'
-				if foresteventrand = 4: minut += 30 & gt 'gadroad'
-				if foresteventrand = 5: minut += 40 & gt 'gadriver','start'
-				if foresteventrand = 6: minut += 35 & gt 'meadow', 'start'
+				if foresteventrand = 1: minut += 15 & gt 'gad_forest', 'forest_edge'
+				if foresteventrand = 2: gt 'gad_forest', 'forest_outskirts'
+				if foresteventrand = 3: minut += 40 & gt 'gad_field', 'field'
+				if foresteventrand = 4: minut += 30 & gt 'gad_road', 'start'
+				if foresteventrand = 5: minut += 40 & gt 'gad_river', 'start'
+				if foresteventrand = 6: minut += 35 & gt 'gad_meadow', 'start'
 			end
 		elseif $ARGS[1] = 'forest_center':
 			act 'Continue':
-				if hunterscabin = 1 and meadow > 0:
+				if hunterscabin = 1 and gad_meadow_found = 1:
 					foresteventrand = rand(1,8)
-				elseif meadow > 0:
+				elseif gad_meadow_found = 1:
 					foresteventrand = rand(1,7)
 				else
 					foresteventrand = rand(1,6)
 				end
-				if foresteventrand = 1: minut += 30 & gt 'gadforest','forest_edge'
-				if foresteventrand = 2: minut += 15 & gt 'gadforest','forest_outskirts'
-				if foresteventrand = 3: gt 'gadforest','forest_center'
-				if foresteventrand = 4: minut += 55 & gt 'gadfield','field'
-				if foresteventrand = 5: minut += 45 & gt 'gadroad'
-				if foresteventrand = 6: minut += 55 & gt 'gadriver','start'
-				if foresteventrand = 7: minut += 50 & gt 'meadow', 'start'
-				if foresteventrand = 8: minut += 30 & gt 'swamp_yard', 'start'
+				if foresteventrand = 1: minut += 30 & gt 'gad_forest', 'forest_edge'
+				if foresteventrand = 2: minut += 15 & gt 'gad_forest', 'forest_outskirts'
+				if foresteventrand = 3: gt 'gad_forest', 'forest_center'
+				if foresteventrand = 4: minut += 55 & gt 'gad_field', 'field'
+				if foresteventrand = 5: minut += 45 & gt 'gad_road', 'start'
+				if foresteventrand = 6: minut += 55 & gt 'gad_river', 'start'
+				if foresteventrand = 7: minut += 50 & gt 'gad_meadow', 'start'
+				if foresteventrand = 8: minut += 30 & gt 'gad_swamp_yard', 'start'
 			end
 		end
 	end
@@ -492,8 +479,8 @@ if $ARGS[0] = 'rescue':
 	lost_girl = 0
 	if swamp_clothes = 1:
 		'You remove the terrible excuse for clothing the hunters gave you. You''re sure you can find something better to wear at your grandparents house.'
-		gs 'clothing', 'strip', 'gadforest'
-		gs 'clothing', 'swamp_clothes', 0
+		gs 'clothing', 'strip', 'gad_forest'
+		gs 'clothing', 'gad_swamp_clothes', 0
 	end
 	gs 'stat'
 
@@ -506,30 +493,30 @@ if $ARGS[0] = 'rescue':
 			'They walk up to you and say, "Your grandparents are very worried about you. They asked us to keep an eye out for you. Follow us, we will lead you back '+iif($clothingworntype ! 'nude','to their house."','to the edge of the forest."')
 			if $clothingworntype ! 'nude':
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 45 & gt 'gadhouse', 'start'
+					act 'Continue': minut += 45 & gt 'gad_gphouse', 'start'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 60 & gt 'gadhouse', 'start'
+					act 'Continue': minut += 60 & gt 'gad_gphouse', 'start'
 				end
 			else
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 15 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 15 & gt 'gad_forest', 'forest_edge'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 30 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 30 & gt 'gad_forest', 'forest_edge'
 				end
 			end
 		else
 			'They walk up to you and say, "We heard there may have been a missing girl in the forest. Follow us, we will lead you back '+iif($clothingworntype ! 'nude','out of the forest."','to the edge of the forest."')
 			if $clothingworntype ! 'nude':
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 30 & gt 'gadroad'
+					act 'Continue': minut += 30 & gt 'gad_road', 'start'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 45 & gt 'gadroad'
+					act 'Continue': minut += 45 & gt 'gad_road', 'start'
 				end
 			else
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 15 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 15 & gt 'gad_forest', 'forest_edge'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 30 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 30 & gt 'gad_forest', 'forest_edge'
 				end
 			end
 		end
@@ -540,18 +527,18 @@ if $ARGS[0] = 'rescue':
 		if bonfire = 1:'They notice your fire and praise you, "When lost, it''s very smart if you stay in one place and make a fire. It will keep you warm, and make you visible to others."'
 		if grandmaQW['block'] = 0:
 			'They walk up to you and say, "Your grandparents are very worried about you. They asked us to keep an eye out for you. Follow us, you can stay at our camp for the time being until someone can take you back."'
-            if $ARGS[2] = 'forest_outskirts':
-                act 'Continue': minut += 45 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
-            else
-                act 'Continue': minut += 30 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
-            end
+			if $ARGS[2] = 'forest_outskirts':
+				act 'Continue': minut += 45 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
+			else
+				act 'Continue': minut += 30 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
+			end
 		else
 			'They walk up to you and say, "We heard there may have been a missing girl in the forest. Follow us, you can stay at our camp for the time being until someone can take you back."'
-            if $ARGS[2] = 'forest_outskirts':
-                act 'Continue': minut += 45 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
-            else
-                act 'Continue': minut += 30 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
-            end
+			if $ARGS[2] = 'forest_outskirts':
+				act 'Continue': minut += 45 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
+			else
+				act 'Continue': minut += 30 & gt 'hunter_interactions', 'meet_hunters_after_rescue'
+			end
 		end
 	elseif $ARGS[1] = 'ranger':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/forester.jpg"></center>'
@@ -562,38 +549,38 @@ if $ARGS[0] = 'rescue':
 			'He walks up to you and says, "Your grandparents are very worried about you. They asked me to keep an eye out for you. Follow me, I will lead you back '+iif($clothingworntype ! 'nude','to their house."','to the edge of the forest."')
 			if $clothingworntype ! 'nude':
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 45 & gt 'gadhouse', 'start'
+					act 'Continue': minut += 45 & gt 'gad_gphouse', 'start'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 60 & gt 'gadhouse', 'start'
-				elseif $ARGS[2] = 'swamp_yard':
-					act 'Continue': minut += 90 & gt 'gadhouse', 'start'
+					act 'Continue': minut += 60 & gt 'gad_gphouse', 'start'
+				elseif $ARGS[2] = 'gad_swamp_yard':
+					act 'Continue': minut += 90 & gt 'gad_gphouse', 'start'
 				end
 			else
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 15 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 15 & gt 'gad_forest', 'forest_edge'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 30 & gt 'gadforest', 'forest_edge'
-				elseif $ARGS[2] = 'swamp_yard':
-					act 'Continue': minut += 60 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 30 & gt 'gad_forest', 'forest_edge'
+				elseif $ARGS[2] = 'gad_swamp_yard':
+					act 'Continue': minut += 60 & gt 'gad_forest', 'forest_edge'
 				end
 			end
 		else
 			'He walks up to you and says, "I heard there may have been a missing girl in the forest. Follow me, I will lead you back '+iif($clothingworntype ! 'nude','out of the forest."','to the edge of the forest."')
 			if $clothingworntype ! 'nude':
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 30 & gt 'gadroad'
+					act 'Continue': minut += 30 & gt 'gad_road', 'start'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 45 & gt 'gadroad'
-				elseif $ARGS[2] = 'swamp_yard':
-					act 'Continue': minut += 75 & gt 'gadroad'
+					act 'Continue': minut += 45 & gt 'gad_road', 'start'
+				elseif $ARGS[2] = 'gad_swamp_yard':
+					act 'Continue': minut += 75 & gt 'gad_road', 'start'
 				end
 			else
 				if $ARGS[2] = 'forest_outskirts':
-					act 'Continue': minut += 15 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 15 & gt 'gad_forest', 'forest_edge'
 				elseif $ARGS[2] = 'forest_center':
-					act 'Continue': minut += 30 & gt 'gadforest', 'forest_edge'
-				elseif $ARGS[2] = 'swamp_yard':
-					act 'Continue': minut += 60 & gt 'gadforest', 'forest_edge'
+					act 'Continue': minut += 30 & gt 'gad_forest', 'forest_edge'
+				elseif $ARGS[2] = 'gad_swamp_yard':
+					act 'Continue': minut += 60 & gt 'gad_forest', 'forest_edge'
 				end
 			end
 		end
@@ -649,17 +636,17 @@ if $ARGS[0] = 'wolves':
 				if foresteventrand = 0:
 					gs 'gameover', 'check', 11
 					msg '<font color=red><B>You should die in this forest, but Cheat Mode keeps you Alive.</B></font>'
-					gt 'gadforestlost', 'forest_edge'
+					gt 'gad_forest_lost', 'forest_edge'
 				elseif foresteventrand <= 10:
-					gt 'gadforestlost', 'forest_edge'
+					gt 'gad_forest_lost', 'forest_edge'
 				elseif foresteventrand <= 13:
-					gt 'gadforestlost', 'forest_edge'
+					gt 'gad_forest_lost', 'forest_edge'
 				elseif foresteventrand <= 15:
-					gt 'gadfield', 'field'
+					gt 'gad_field', 'field'
 				elseif foresteventrand <= 17:
-					gt 'gadroad'
+					gt 'gad_road', 'start'
 				else
-					gt 'gadriver', 'start'
+					gt 'gad_river', 'start'
 				end
 			end
 
@@ -694,21 +681,21 @@ if $ARGS[0] = 'wolves':
 				if foresteventrand = 0:
 					gt 'gameover', 'check', 11
 					msg '<font color=red><B>You should die in this forest, but Cheat Mode keeps you Alive.</B></font>'
-					gt 'gadforestlost', 'forest_outskirts'
+					gt 'gad_forest_lost', 'forest_outskirts'
 				elseif foresteventrand <= 9:
-					gt 'gadforestlost', 'forest_outskirts'
+					gt 'gad_forest_lost', 'forest_outskirts'
 				elseif foresteventrand <= 14:
-					gt 'gadforestlost', 'forest_edge'
+					gt 'gad_forest_lost', 'forest_edge'
 				elseif foresteventrand = 15:
-					gt 'gadforest', 'forest_outskirts'
+					gt 'gad_forest', 'forest_outskirts'
 				elseif foresteventrand = 16:
-					gt 'gadforest', 'forest_edge'
+					gt 'gad_forest', 'forest_edge'
 				elseif foresteventrand = 17:
-					gt 'gadfield', 'field'
+					gt 'gad_field', 'field'
 				elseif foresteventrand = 18:
-					gt 'gadroad'
+					gt 'gad_road', 'start'
 				else
-					gt 'gadriver', 'start'
+					gt 'gad_river', 'start'
 				end
 			end
 
@@ -743,25 +730,25 @@ if $ARGS[0] = 'wolves':
 				if foresteventrand = 0:
 					gt 'gameover', 'check', 11
 					msg '<font color=red><B>You should die in this forest, but Cheat Mode keeps you Alive.</B></font>'
-					gt 'gadforestlost', 'forest_center'
+					gt 'gad_forest_lost', 'forest_center'
 				elseif foresteventrand <= 8:
-					gt 'gadforestlost', 'forest_center'
+					gt 'gad_forest_lost', 'forest_center'
 				elseif foresteventrand <= 11:
-					gt 'gadforestlost', 'forest_outskirts'
+					gt 'gad_forest_lost', 'forest_outskirts'
 				elseif foresteventrand <= 13:
-					gt 'gadforestlost', 'forest_edge'
+					gt 'gad_forest_lost', 'forest_edge'
 				elseif foresteventrand = 14:
-					gt 'gadforest','forest_center'
+					gt 'gad_forest', 'forest_center'
 				elseif foresteventrand = 15:
-					gt 'gadforest','forest_outskirts'
+					gt 'gad_forest', 'forest_outskirts'
 				elseif foresteventrand = 16:
-					gt 'gadforest','forest_edge'
+					gt 'gad_forest', 'forest_edge'
 				elseif foresteventrand = 17:
-					gt 'gadfield','field'
+					gt 'gad_field', 'field'
 				elseif foresteventrand = 18:
-					gt 'gadroad'
+					gt 'gad_road', 'start'
 				else
-					gt 'gadriver','start'
+					gt 'gad_river', 'start'
 				end
 			end
 
@@ -796,33 +783,33 @@ if $ARGS[0] = 'wolves':
 				if foresteventrand = 0:
 					gt 'gameover', 'check', 11
 					msg '<font color=red><B>You should die in this forest, but Cheat Mode keeps you Alive.</B></font>'
-					gt 'gadforestlost', 'swamp'
+					gt 'gad_forest_lost', 'swamp'
 				elseif foresteventrand <= 4:
-					gt 'gadforestlost','swamp'
+					gt 'gad_forest_lost', 'swamp'
 				elseif foresteventrand <= 6:
-					gt 'gadforestlost','forest_center'
+					gt 'gad_forest_lost', 'forest_center'
 				elseif foresteventrand <= 8:
-					gt 'gadforestlost','forest_outskirts'
+					gt 'gad_forest_lost', 'forest_outskirts'
 				elseif foresteventrand <= 10:
-					gt 'gadforestlost','forest_edge'
+					gt 'gad_forest_lost', 'forest_edge'
 				elseif foresteventrand = 11:
-					gt 'gadforest','swamp'
+					gt 'gad_forest', 'swamp'
 				elseif foresteventrand = 12:
-					gt 'gadforest','forest_center'
+					gt 'gad_forest', 'forest_center'
 				elseif foresteventrand = 13:
-					gt 'gadforest','forest_outskirts'
+					gt 'gad_forest', 'forest_outskirts'
 				elseif foresteventrand = 14:
-					gt 'gadforest','forest_edge'
+					gt 'gad_forest', 'forest_edge'
 				elseif foresteventrand = 15:
-					gt 'gadfield','field'
+					gt 'gad_field', 'field'
 				elseif foresteventrand = 16:
-					gt 'gadroad'
+					gt 'gad_road', 'start'
 				elseif foresteventrand = 17:
-					gt 'gadriver','start'
+					gt 'gad_river', 'start'
 				elseif foresteventrand = 18:
-					gt 'swamp_yard','start'
+					gt 'gad_swamp_yard', 'start'
 				else
-					gt 'swamp_woods','start'
+					gt 'gad_swamp_woods', 'start'
 				end
 			end
 		end
@@ -830,8 +817,8 @@ if $ARGS[0] = 'wolves':
 end
 
 ! this gs handles images for generic forest locations while lost
-! Example: gs 'gadforestlost', 'gadforestlost_picture'
-if $ARGS[0] = 'gadforestlost_picture':
+! Example: gs 'gad_forest_lost', 'gad_forest_lost_picture'
+if $ARGS[0] = 'gad_forest_lost_picture':
 	'<center><H4>Somewhere in the forest</H4></center>'
 	if month >= 4 and month <= 10:
 		if DayStage < 4:
@@ -860,5 +847,5 @@ if $ARGS[0] = 'gadforestlost_picture':
 	end
 end
 
---- gadforestlost ---------------------------------
+--- gad_forest_lost ---------------------------------
 

+ 52 - 48
locations/gadsarai.qsrc → locations/gad_gpbarn.qsrc

@@ -1,14 +1,12 @@
-# gadsarai
+# gad_gpbarn
 !2021/05/08
 
 $default_img_path = 'locations/gadukino/'
 if $ARGS[0] = '':
-	$loc_arg = ''
-	$loc = 'gadsarai'
-	$menu_loc = 'gadsarai'
-	$menu_arg = ''
+	gs 'shortgs', 'setloc', 'gad_gpbarn', ''
 	menu_off = 0
 	$location_type = 'secluded'
+	gs 'miroslava_schedule'
 
 	'<center><h4>Grandparents'' Barn</h4></center>'
 	if month >= 4 and month <= 10:
@@ -33,8 +31,8 @@ if $ARGS[0] = '':
 	clr
 	gs 'stat'
 
-	act 'Go back to the yard':minut += 1 & gt 'gaddvor'
-	act 'Go to your room': gt 'gadsarai', 'barn_room'
+	act 'Go back to the yard': minut += 1 & gt 'gad_gpyard', 'start'
+	act 'Go to your room': gt 'gad_gpbarn', 'barn_room'
 	if grandpaQW['chore_fetch_firewood'] = 1:
 		act 'Gather firewood for Grandpa (0:10)':
 			*clr & cla
@@ -48,21 +46,21 @@ if $ARGS[0] = '':
 			minut += 10
 			gs'stat'
 
-			act 'Finish':gt 'gadsarai'
-			act 'Return back to your grandfather': minut += 2 & gt 'gadhouse', 'grandpa'
+			act 'Finish': gt 'gad_gpbarn'
+			act 'Return back to your grandfather': minut += 2 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
-	gs 'bicycle', 'gadsarai'
+	gs 'bicycle', 'gad_gpbarn'
 	if (month < 4 or month > 10) or (hour < 9 or hour > 20) or (grandpaQW['chore_feed_horse'] = 1 or grandpaQW['chore_brush_horse'] = 1 or grandpaQW['chore_lead_horse_to_field'] = 1 or grandpaQW['chore_bathe_horse'] = 1):
-		act 'Enter the horses stall': gt 'gadsarai', 'horse'
+		act 'Enter the horses stall': gt 'gad_gpbarn', 'horse'
 	end
 	if (month < 4 or month > 10) or (hour < 9 or hour > 20) or (grandpaQW['chore_feed_cow'] = 1 or grandmaQW['chore_milk_cow'] or grandpaQW['chore_lead_cow_to_field'] = 1 or grandpaQW['chore_herd_cattle'] = 1):
-		act 'Enter the cows stall': gt 'gadsarai', 'cow'
+		act 'Enter the cows stall': gt 'gad_gpbarn', 'cow'
 	end
-	act 'Enter the boars stall': gt 'gadsarai', 'boar'
-	act 'Search around in the barn (0:15)': gt 'gadsarai', 'search'
-	if vcard > 0: act 'View your vintage porn cards': $card_loc = 'gadsarai' & card_deck = 0 & gt 'card'
-	if card > 0: act 'View your new porn cards': $card_loc = 'gadsarai' & card_deck = 1 & gt 'card'
+	act 'Enter the boars stall': gt 'gad_gpbarn', 'boar'
+	act 'Search around in the barn (0:15)': gt 'gad_gpbarn', 'search'
+	if mc_inventory['vintage_card'] > 0: act 'View your vintage porn cards': $card_loc = 'gad_gpbarn' & card_deck = 0 & gt 'card'
+	if mc_inventory['card'] > 0: act 'View your new porn cards': $card_loc = 'gad_gpbarn' & card_deck = 1 & gt 'card'
 	if pcs_horny >= 50:	act 'Masturbate':gt 'selfplay', 'start'
 !!	Serpent is not ready yet, so remarking out til then.
 !!	if findneck = 1: act 'You hear a scraping noice above you.':gt 'serpent'
@@ -94,9 +92,9 @@ if $ARGS[0] = 'search':
 		gm_purses[5] = 1
 		$currentpursetype = 'gm'
 		currentpursenumber = 5
-	elseif vcard = 0 and vcard_trash = 0 and rand(0,10) >= 8:
+	elseif mc_inventory['vintage_card'] = 0 and vcard_trash = 0 and rand(0,10) >= 8:
 		*clr & cla
-		vcard = 1
+		mc_inventory['vintage_card'] = 1
 		gs 'exp_gain', 'observ', 3
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/vcards.jpg"></center>'
@@ -129,7 +127,7 @@ if $ARGS[0] = 'search':
 		*nl
 		'In the barn, you find many mouldy magazines, rusty tools and equipment, toys, and dusty, yellowed books. The entire barn reeks of mould and decay.'
 	end
-	act 'Finish':gt 'gadsarai'
+	act 'Finish': gt 'gad_gpbarn'
 end
 
 if $ARGS[0] = 'horse':
@@ -141,7 +139,7 @@ if $ARGS[0] = 'horse':
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/horse.jpg"></center>'
 	'Grandfather''s trusted workhorse, Desperado.'
 
-	act 'Leave':minut += 1 & gt 'gadsarai'
+	act 'Leave': minut += 1 & gt 'gad_gpbarn'
 
 	if grandpaQW['chore_feed_horse'] = 1:
 		act 'Feed the horse (0:30)':
@@ -155,8 +153,8 @@ if $ARGS[0] = 'horse':
 			'You grab a sack of grain and fill Desperado''s feed bucket. Then, you hang the bucket from his stall and gently pat his nose as he begins to eat.'
 			'You watch him eat for a little while before moving on.'
 
-			act 'Finish':gt 'gadsarai','horse'
-			act 'Return back to your grandfather': minut += 3 & gt 'gadhouse', 'grandpa'
+			act 'Finish': gt 'gad_gpbarn','horse'
+			act 'Return back to your grandfather': minut += 3 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
 	if grandpaQW['chore_lead_horse_to_field'] = 1:
@@ -170,8 +168,8 @@ if $ARGS[0] = 'horse':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/horse_field.jpg"></center>'
 			'You take Desperado by the bridle and lead him to the field. You let him free in the paddock area and watch him run about before moving on.'
 
-			act 'Continue':gt'gadfield','field'
-			act 'Return back to your grandfather (0:30)': minut += 30 & gt 'gadhouse', 'grandpa'
+			act 'Continue': gt 'gad_field', 'field'
+			act 'Return back to your grandfather (0:30)': minut += 30 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
 	if grandpaQW['chore_bathe_horse'] = 1:
@@ -185,11 +183,11 @@ if $ARGS[0] = 'horse':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/horse_field.jpg"></center>'
 			'You take Desperado by the bridle and lead him to the river.'
 
-			act 'Continue':gt'gadriver', 'gadbitch'
+			act 'Continue': gt 'gad_beach', 'start'
 		end
 	end
 	if grandpaQW['chore_bathe_horse'] = 2:
-		act 'Return back to your grandfather': minut += 3 & gt 'gadhouse', 'grandpa'
+		act 'Return back to your grandfather': minut += 3 & gt 'gad_gphouse', 'grandpa'
 	end
 	if grandpaQW['chore_brush_horse'] = 1:
 		act 'Groom the horse (1:00)':
@@ -202,8 +200,8 @@ if $ARGS[0] = 'horse':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/comb_horse.jpg"></center>'
 			'You spend about an hour cleaning and brushing Desperado, scrubbing his coat and brushing his mane and tail. Finally, you are satisfied with the result - he looks as clean and healthy as ever.'
 
-			act 'Finish':gt 'gadsarai','horse'
-			act 'Return back to your grandfather': minut += 3 & gt 'gadhouse', 'grandpa'
+			act 'Finish': gt 'gad_gpbarn','horse'
+			act 'Return back to your grandfather': minut += 3 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
 end
@@ -218,7 +216,7 @@ if $ARGS[0] = 'cow':
 	*nl
 	'Grandma''s favorite animal, the cow, Dawn.'
 
-	act 'Leave':minut += 1 & gt 'gadsarai'
+	act 'Leave': minut += 1 & gt 'gad_gpbarn'
 
 	if grandmaQW['chore_milk_cow'] = 1:
 		act 'Milk the cow (0:30)':
@@ -231,8 +229,8 @@ if $ARGS[0] = 'cow':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/milk_cow.jpg"></center>'
 			'You start milking Dawn, improving each time you do it.'
 
-			act 'Finish':gt 'gadsarai','cow'
-			act 'Return back to your grandmother': minut += 3 & gt 'gadhouse', 'grandma'
+			act 'Finish': gt 'gad_gpbarn', 'cow'
+			act 'Return back to your grandmother': minut += 3 & gt 'gad_gphouse', 'grandma'
 		end
 	end
 	if grandpaQW['chore_feed_cow'] = 1:
@@ -246,8 +244,8 @@ if $ARGS[0] = 'cow':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/feed_cow.jpg"></center>'
 			'Dawn is excited about feeding time, shaking her head and doing little cow tippy-taps with her feet. You dump some hay in her trough and watch as she digs in.'
 
-			act 'Finish':gt 'gadsarai','cow'
-			act 'Return back to your grandfather': minut += 3 & gt 'gadhouse', 'grandpa'
+			act 'Finish': gt 'gad_gpbarn','cow'
+			act 'Return back to your grandfather': minut += 3 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
 	if grandpaQW['chore_lead_cow_to_field'] = 1 or grandpaQW['chore_herd_cattle'] = 1:
@@ -264,8 +262,8 @@ if $ARGS[0] = 'cow':
 			end
 			if grandpaQW['chore_herd_cattle'] = 1:'You lead Dawn to the field, where your grandfather awaits you. It''s his turn to keep an eye on the cows..'
 
-			act 'Continue':gt'gadfield','cow'
-			if grandpaQW['chore_lead_cow_to_field'] = 2: act 'Return back to your grandfather (0:30)': minut += 30 & gt 'gadhouse', 'grandpa'
+			act 'Continue': gt 'gad_field', 'cow'
+			if grandpaQW['chore_lead_cow_to_field'] = 2: act 'Return back to your grandfather (0:30)': minut += 30 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
 end
@@ -279,7 +277,7 @@ if $ARGS[0] = 'boar':
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/boar.jpg"></center>'
 	'One of your grandparents'' dearest possessions, the boar, Nickle.'
 
-	act 'Leave':minut += 1 & gt 'gadsarai'
+	act 'Leave':minut += 1 & gt 'gad_gpbarn'
 
 	if grandpaQW['chore_feed_boar'] = 1:
 		act 'Feed the hog (0:30)':
@@ -292,8 +290,8 @@ if $ARGS[0] = 'boar':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/feed_boar.jpg"></center>'
 			'You grab the feed bag and fill Nickle''s trough. You stand there and watch for a few minutes as he eats like a... well, like a pig.'
 
-			act 'Finish':gt 'gadsarai','boar'
-			act 'Return back to your grandfather': minut += 3 & gt 'gadhouse', 'grandpa'
+			act 'Finish': gt 'gad_gpbarn','boar'
+			act 'Return back to your grandfather': minut += 3 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
 end
@@ -302,16 +300,19 @@ if $ARGS[0] = 'barn_room':
 	$location_type = 'private'
 	$setloc['StageTitle'] = 'Guest Room'
 	$setloc['StageImage'] =   '<<$default_img_path>>village/gad_room.jpg'
-	gs 'shortgs', 'setloc', 'gadsarai', $ARGS[0]
+	gs 'shortgs', 'setloc', 'gad_gpbarn', $ARGS[0]
+	gs 'miroslava_schedule'
 	gs 'themes', 'indoors'
 	gs 'stat'
 	gs 'themes', 'indoors'
-    gs 'stat'
+	gs 'stat'
 	gs 'core_library', 'stage_title'
+	gs 'music_actions', 'clear_restrictions'
+
 	act '<b>Leave and go to the yard</b>':
 		if $clothingworntype ! 'nude':
 			minut += 5
-			gt 'gaddvor'
+			gt 'gad_gpyard', 'start'
 		else
 			msg'<b><font color = red>You need to get dressed.</font></b>'
 			gt $loc, $loc_arg
@@ -320,7 +321,7 @@ if $ARGS[0] = 'barn_room':
 	act '<b>Leave and enter the dacha</b>':
 		if $clothingworntype ! 'nude':
 			minut += 5
-			gt 'gadhouse', 'start'
+			gt 'gad_gphouse', 'start'
 		else
 			msg'<b><font color = red>You need to get dressed.</font></b>'
 			gt $loc, $loc_arg
@@ -335,12 +336,15 @@ if $ARGS[0] = 'barn_room':
 	if pcs_horny >= 50:
 		act 'Masturbate':gt 'selfplay', 'start'
 	end
-	if vcard > 0: act 'View your vintage porn cards':card_deck = 0 & gt 'card'
-	if card > 0: act 'View your new porn cards':card_deck = 1 & gt 'card'
-	gs 'music_actions', 'music_icon'
+
+	if mc_inventory['vintage_card'] > 0: act 'View your vintage porn cards': card_deck = 0 & gt 'card'
+	if mc_inventory['card'] > 0: act 'View your new porn cards': card_deck = 1 & gt 'card'
+	gs 'music_actions', 'start'
+
+
 	!! Activities End
 	!! TODO: if winter create task for chopping wood for log stove.
-	!! act 'light log stove': gt  'gadsarai', 'log_stove' 
+	!! act 'light log stove': gt 'gad_gpbarn', 'log_stove' 
 
 	!! Game functions
 	'At the foot of your bed is a small <a href="exec:gt ''wardrobe'', ''start''">chest</a> containing some of your clothes.'
@@ -355,7 +359,7 @@ if $ARGS[0] = 'barn_room':
 		'Your <a href="exec:gt ''stol'', ''bc''">condoms</a> are hidden behind a loose brick.'
 	end
 	
-	if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and week = 6 and hour > 4 and hour < 9 and detention_set = 1 and detention_warning ! daystart:
+	if $start_type['loc'] = 'sg' and SchoolAtestat = 0 and week = 6 and hour > 4 and hour < 9 and detention_set = 1 and detention_warning ! daystart:
 		detention_warning = daystart
 		msg 'You have detention this morning and must be at school before 09:00.'
 	end
@@ -366,5 +370,5 @@ end
 if $ARGS[0] = 'log_stove':
 	!! simple iron stove that requires wood logs. Make it a task to fill and light in winter.
 end
---- gadsarai ---------------------------------
+--- gad_gpbarn ---------------------------------
 

+ 83 - 154
locations/gadbana.qsrc → locations/gad_gpbath.qsrc

@@ -1,78 +1,91 @@
-# Gadbana
+# gad_gpbath
 !2021/05/05
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 CLOSE ALL
-$loc_arg = ''
-$loc = 'gadbana'
-$locM_arg = ''
-$locM = 'gadbana'
-$location_type = 'bathroom'
-$menu_loc = 'gadbana'
-$menu_arg = ''
-menu_off = 0
-frost = 0
-if banya_underwear = 0:
-	if $pantyworntype ! 'none' and $braworntype ! 'none':
-		banya_underwear = 1
-	else
-		banya_underwear = 2
+
+if $ARGS[0] = 'start':
+	gs 'shortgs', 'setloc', 'gad_gpbath', 'start'
+	$location_type = 'bathroom'
+	menu_off = 0
+	gs 'miroslava_schedule'
+
+	frost = 0
+	if banya_underwear = 0:
+		if $pantyworntype ! 'none' and $braworntype ! 'none':
+			banya_underwear = 1
+		else
+			banya_underwear = 2
+		end
 	end
-end
-!!clothesAtLocation = FUNC('lost_clothes_here','gadbana')
+	!!clothesAtLocation = FUNC('lost_clothes_here','gad_gpbath')
+
+	'<center><h4>Bath</h4></center>'
 
-'<center><h4>Bath</h4></center>'
+	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/bana.jpg"></center>'
+	'A small room with a low, smoky ceiling, a small stove, a couple of stainless steel water tanks, and a blackened wooden shelf.'
+	'Grandma''s enema bulb is hidden behind some stuff on the shelf.'
+	gs 'stat'
 
-'<center><img <<$set_imgh>> src="images/locations/gadukino/village/bana.jpg"></center>'
-'A small room with a low, smoky ceiling, a small stove, a couple of stainless steel water tanks, and a blackened wooden shelf.'
-'Grandma''s enema bulb is hidden behind some stuff on the shelf.'
-gs 'stat'
+	gs 'gad_gpbath', 'set_leave_acts'
 
-if mira_guest = 0:
-	if $clothingworntype = 'nude':
+	if locat['A60'] ! 22:
+		gs 'gad_gpbath', 'alone'
+	else
+		gs 'gad_gpbath', 'with_Mira'
+	end
+end
+
+if $ARGS[0] = 'set_leave_acts':
+	if $clothingworntype ! 'nude':
+		act 'Go outside': minut += 1 & gt 'gad_gpyard', 'start'
+	else
 		act 'Get dressed and leave':
 			minut += 1
 			menu_off = 1
-			!!gs 'clothing', 'recover_lost_clothes', 'gadbana', 1
+			!!gs 'clothing', 'recover_lost_clothes', 'gad_gpbath', 1
 			gs 'clothing', 'wear_last_worn'
 			if banya_underwear = 1: gs 'underwear', 'wear'
 			gs 'stat'
 			killvar 'banya_underwear'
-			gt 'gaddvor'
+			gt 'gad_gpyard', 'start'
 		end
-	end
-	if $clothingworntype ! 'nude':
-		act 'Go outside':minut += 1 & gt'gaddvor'
-	elseif $clothingworntype = 'nude':
 		act 'Go outside naked':
 			*clr & cla
 			menu_off = 1
 			minut += 1
-			inhib_exp += rand(0,2)
-			grandmaQW['nudity_trouble'] += rand(0,2)
+			inhib_exp += rand(0, 2)
+			grandmaQW['nudity_trouble'] += rand(0, 2)
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/gaddvor_nude.jpg"></center>'
 			'It''s undoubtedly risky leaving the bathhouse like this. But, while it''s unlikely anyone saw you go outside naked, there''s a thrill in potentially getting caught.'
-			!!gs 'clothing', 'recover_lost_clothes', 'gadbana'
+			!!gs 'clothing', 'recover_lost_clothes', 'gad_gpbath'
 			gs 'arousal', 'flash', 10, 'exhibitionism'
 			killvar 'banya_underwear'
 			gs 'stat'
-			act 'Continue': gt 'gaddvor'
+			act 'Continue': gt 'gad_gpyard', 'start'
 		end
-	elseif $clothingworntype = 'nude' and ($pantyworntype ! 'none' or $braworntype ! 'none'):
-		act 'Go outside in your underwear':
-			*clr & cla
-			menu_off = 1
-			minut += 1
-			inhib_exp += rand(0,1)
-			grandmaQW['nudity_trouble'] += rand(0,1)
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/gaddvor_nude.jpg"></center>'
-			'It''s undoubtedly risky leaving the bathhouse like this. But, while it''s unlikely anyone saw you go outside naked, there''s a thrill in potentially getting caught.'
-			!!gs 'clothing', 'recover_lost_clothes', 'gadbana'
-			gs 'arousal', 'flashlite', 10, 'exhibitionism'
-			killvar 'banya_underwear'
-			gs 'stat'
-			act 'Continue': gt 'gaddvor'
+
+		if ($pantyworntype ! 'none' or $braworntype ! 'none'):
+			act 'Go outside in your underwear':
+				*clr & cla
+				menu_off = 1
+				minut += 1
+				inhib_exp += rand(0, 1)
+				grandmaQW['nudity_trouble'] += rand(0,1)
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/gaddvor_nude.jpg"></center>'
+				'It''s undoubtedly risky leaving the bathhouse like this. But, while it''s unlikely anyone saw you go outside in your underwear, there''s a thrill in potentially getting caught.'
+				!!gs 'clothing', 'recover_lost_clothes', 'gad_gpbath'
+				gs 'arousal', 'flashlite', 10, 'exhibitionism'
+				killvar 'banya_underwear'
+				gs 'stat'
+				act 'Continue': gt 'gad_gpyard', 'start'
+			end
 		end
 	end
+end
 
+
+if $ARGS[0] = 'alone':
 	if week >= 6:
 		if hour >= 12 and hour <= 18:
 			'You put the wood into the stove to feed the fire. The banya will be ready to use around 19:00.'
@@ -107,7 +120,7 @@ if mira_guest = 0:
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/par.jpg"></center>'
 					'You strip, sit down and relax. Then, after a proper banya session, you pick up a bucket filled with cold water, pour it over yourself, and head over to the shower. You feel like a completely new person.'
 					if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-					act 'Finish': gt $loc, $loc_arg
+					act 'Finish': gt 'gad_gpbath', 'start'
 				end
 			end
 		else
@@ -126,14 +139,14 @@ if mira_guest = 0:
 			if locat['Fam_inGad'] = 1 and func('homes_properties', 'has_access', 'parents_home'): noshampoo = 1
 			dynamic $showerdin
 			if frost > 0:frost = 0
-			!!gs 'clothing', 'strip', 'gadbana'
+			!!gs 'clothing', 'strip', 'gad_gpbath'
 			gs 'clothing', 'strip_all'
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/mit.jpg"></center>'
 			'You lather up your washcloth and start scrubbing your body. Next, you rinse off the soap and begin to lather your hair with shampoo. After rinsing off the shampoo, you feel completely clean.'
 			if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
 
-			act 'Finish':gt $loc, $loc_arg
+			act 'Finish': gt 'gad_gpbath', 'start'
 		end
 	else
 		'<font color="red">You''ve run out of shampoo and will have to buy some more before you can wash.</font>'
@@ -146,10 +159,10 @@ if mira_guest = 0:
 	if $clothingworntype ! 'nude':
 		act 'Remove clothes':
 			minut += 1
-			!!gs 'clothing', 'strip', 'gadbana'
+			!!gs 'clothing', 'strip', 'gad_gpbath'
 			gs 'clothing', 'strip'
 			gs 'stat'
-			gt 'gadbana'
+			gt 'gad_gpbath', 'start'
 		end
 	end
 
@@ -172,7 +185,7 @@ if mira_guest = 0:
 				*nl
 				'You take a painkiller and gulp it down with a glass of water.'
 
-				act 'Finish':gt $loc, $loc_arg
+				act 'Finish': gt 'gad_gpbath', 'start'
 			end
 		end
 	end
@@ -198,7 +211,7 @@ if mira_guest = 0:
 	end
 
 	if mc_inventory['breastcream'] > 0:
-		'<a href="exec: gs ''drugs'', ''breastcream'' & gt $loc, $loc_arg">Apply breast cream.</a> Uses left: <<mc_inventory[''breastcream'']>>.'
+		'<a href="exec: gs ''drugs'', ''breastcream'' & gt ''gad_gpbath'', ''start''">Apply breast cream.</a> Uses left: <<mc_inventory[''breastcream'']>>.'
 	end
 
 	if (cumloc[6] = 1 or cumloc[7] = 1):
@@ -212,7 +225,7 @@ if mira_guest = 0:
 			'<center><img <<$set_imgh>> src="images/shared/sex/cum/frotsp.jpg"></center>'
 			'You scrub all the cum from your clothes.'
 
-			act 'Finish':gt $curloc
+			act 'Finish': gt 'gad_gpbath', 'start'
 		end
 	end
 
@@ -243,75 +256,34 @@ if mira_guest = 0:
 			gs 'stat'
 			'You take a tube of cream and rub it onto your itchy vulva.'
 
-			act 'Finish':gt $loc, $loc_arg
+			act 'Finish': gt 'gad_gpbath', 'start'
 		end
 	end
-else
+end
+
+if $ARGS[0] = 'with_Mira':
 	!125st
-	if $clothingworntype = 'nude':
-		act 'Get dressed and leave':
-			minut += 1
-			menu_off = 1
-			!!gs 'clothing', 'recover_lost_clothes', 'gadbana', 1
-			gs 'clothing', 'wear_last_worn'
-			if banya_underwear = 1: gs 'underwear', 'wear'
-			gs 'stat'
-			killvar 'banya_underwear'
-			gt 'gaddvor'
-		end
-	end
-	if $clothingworntype ! 'nude':
-		act 'Go outside':minut += 1 & gt'gaddvor'
-	elseif $clothingworntype = 'nude':
-		act 'Go outside naked':
-			*clr & cla
-			menu_off = 1
-			minut += 1
-			inhib_exp += rand(0,2)
-			grandmaQW['nudity_trouble'] += rand(0,2)
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/gaddvor_nude.jpg"></center>''It''s undoubtedly risky leaving the bathhouse like this. But, while it''s unlikely anyone saw you go outside naked, there''s a thrill in potentially getting caught.'
-			!!gs 'clothing', 'recover_lost_clothes', 'gadbana'
-			gs 'arousal', 'flash', 10, 'exhibitionism'
-			killvar 'banya_underwear'
-			gs 'stat'
-			act 'Continue': gt 'gaddvor'
-		end
-	elseif $clothingworntype = 'nude' and ($pantyworntype ! 'none' or $braworntype ! 'none'):
-		act 'Go outside in your underwear':
-			*clr & cla
-			menu_off = 1
-			minut += 1
-			inhib_exp += rand(0,1)
-			grandmaQW['nudity_trouble'] += rand(0,1)
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/gaddvor_nude.jpg"></center>''It''s undoubtedly risky leaving the bathhouse like this. But, while it''s unlikely anyone saw you go outside naked, there''s a thrill in potentially getting caught.'
-			!!gs 'clothing', 'recover_lost_clothes', 'gadbana'
-			gs 'arousal', 'flashlite', 10, 'exhibitionism'
-			killvar 'banya_underwear'
-			gs 'stat'
-			act 'Continue': gt 'gaddvor'
-		end
-	end
 	act 'Undress and bathe with Mira':
-		cls
+		*clr & cla
 		menu_off = 1
-		!!gs 'clothing', 'strip', 'gadbana'
+		!!gs 'clothing', 'strip', 'gad_gpbath'
 		gs 'clothing', 'strip_all'
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraban.jpg"></center>'
-			'While you undress, you notice Mira removing her panties from the corner of your eye.'
+		'While you undress, you notice Mira removing her panties from the corner of your eye.'
 
-			gs 'arousal', 'erotic_nudity', 5
-			gs 'stat'
+		gs 'arousal', 'erotic_nudity', 5
+		gs 'stat'
 
-			act 'Watch Mira clean herself':
-			cls
+		act 'Watch Mira clean herself':
+			*clr & cla
 			gs 'stat'
 			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraban1.jpg"></center>'
 			'You feel the hot steam penetrate into your pores while you blissfully watch Mira lather up. She sometimes throws at you short glances and smiles hesitantly in response...'
 			gs 'arousal', 'erotic_nudity', 5
 			gs 'stat'
 			act 'Steam':
-				cls
+				*clr & cla
 				noshampoo = 1
 				dynamic $showerdin
 				pcs_hairbsh = 0
@@ -330,54 +302,11 @@ else
 				gs 'arousal', 'end'
 				gs 'stat'
 
-				if $clothingworntype = 'nude':
-					act 'Get dressed and leave':
-						minut += 1
-						menu_off = 1
-						!!gs 'clothing', 'recover_lost_clothes', 'gadbana', 1
-						gs 'clothing', 'wear_last_worn'
-						if banya_underwear = 1: gs 'underwear', 'wear'
-						gs 'stat'
-						killvar 'banya_underwear'
-						gt 'gaddvor'
-					end
-				end
-				if $clothingworntype ! 'nude':
-					act 'Go outside':minut += 1 & gt'gaddvor'
-				elseif $clothingworntype = 'nude':
-					act 'Go outside naked':
-						*clr & cla
-						menu_off = 1
-						minut += 1
-						inhib_exp += rand(0,2)
-						grandmaQW['nudity_trouble'] += rand(0,2)
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/gaddvor_nude.jpg"></center>''It''s undoubtedly risky leaving the bathhouse like this. But, while it''s unlikely anyone but Mira saw you go outside naked, there''s a thrill in potentially getting caught.'
-						!!gs 'clothing', 'recover_lost_clothes', 'gadbana'
-						gs 'arousal', 'flash', 10, 'exhibitionism'
-						killvar 'banya_underwear'
-						gs 'stat'
-						act 'Continue': gt 'gaddvor'
-					end
-				elseif $clothingworntype = 'nude' and ($pantyworntype ! 'none' or $braworntype ! 'none'):
-					act 'Go outside in your underwear':
-						*clr & cla
-						menu_off = 1
-						minut += 1
-						inhib_exp += rand(0,1)
-						grandmaQW['nudity_trouble'] += rand(0,1)
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/gaddvor_nude.jpg"></center>''It''s undoubtedly risky leaving the bathhouse like this. But, while it''s unlikely anyone, but Mira saw you go outside in your underwear, there''s a thrill in potentially getting caught.'
-						!!gs 'clothing', 'recover_lost_clothes', 'gadbana'
-						gs 'arousal', 'flashlite', 10, 'exhibitionism'
-						killvar 'banya_underwear'
-						gs 'stat'
-						act 'Continue': gt 'gaddvor'
-					end
-				end
+				gs 'gad_gpbath', 'set_leave_acts'
 			end
 		end
 	end
 end
 
-
---- Gadbana ---------------------------------
+--- gad_gpbath ---------------------------------
 

+ 124 - 155
locations/gadhouse.qsrc → locations/gad_gphouse.qsrc

@@ -1,4 +1,6 @@
-# gadhouse
+# gad_gphouse
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
 !! VARIABLE LIST FOR GRANDPARENTS AND THEIR CHORES - START
 !!
@@ -87,18 +89,16 @@ if $ARGS[0] = 'start':
 	*clr & cla
 	CLOSE ALL
 	$location_type = 'indoors'
-	$loc_arg = 'start'
-	$loc = 'gadhouse'
-	$menu_loc = 'gadhouse'
-	$menu_arg = ''
+	gs 'shortgs', 'setloc', 'gad_gphouse', 'start'
 	menu_off = 1
+	gs 'miroslava_schedule'
 	$locclass = 'singleroom'
 	display_bb = 1
 	frost = 0
 	
 	gs 'homes_properties', 'give_access', 'grandparents_house'
 
-	gs 'gadhouse', 'nudity_trouble_limit'
+	gs 'gad_gphouse', 'nudity_trouble_limit'
 
 	!! Grandma sends Sveta back to Pavlovsk for school to start
 	if gadstay = 1 and (kanikuli = 4 or kanikuli = 5) and month = 8 and day >= 27 and hour >= 6 and hour < 20:
@@ -127,7 +127,7 @@ if $ARGS[0] = 'start':
 
 		'As you turn to leave, she stops you, "One last thing, here are some rubles for the train ticket to get you back to Pavlovsk."'
 
-		act 'Leave': gadstay = 0 & gt 'gaddvor'
+		act 'Leave': gadstay = 0 & gt 'gad_gpyard', 'start'
 	!! Returning home after being lost at least overnight; no penalty for not doing chores or disappointing either grandparent
 	elseif lost_girl = 1 and hour >= 6 and hour < 20 and daystart > forest_lostday:
 		*clr & cla
@@ -145,11 +145,11 @@ if $ARGS[0] = 'start':
 		'"We are so glad you are back safe and sound. Go have a hot meal and shower and relax."'
 		'"Also, don''t worry about any chores today. Just focus on recovering."'
 
-		act 'Continue':gt 'gadhouse', 'main'
+		act 'Continue': gt 'gad_gphouse', 'main'
 	!! Returning home after being lost but escaped within the same day; no reaction from grandparents and still expected to get chores done
 	elseif lost_girl = 1:
 		lost_girl = 0
-		gt 'gadhouse', 'main'
+		gt 'gad_gphouse', 'main'
 	!!Grandma kicks Sveta out for being a whore
 	elseif grandmaQW['nudity_trouble_limit'] = 50 and hour >= 6 and hour < 20:
 		*clr & cla
@@ -184,7 +184,7 @@ if $ARGS[0] = 'start':
 		'"This will be reflected in your allowance, don''t act surprised at the beginning of the month."'
 		'"Unlike you, we have to live in this village and get along with its people. If you keep this up, I''ll be cutting your time here short and sending you back to your mother, and she can deal with your sinful behaviour. We better not hear any more about this!" She then walks off before you can even respond.'
 
-		act 'Continue': gt 'gadhouse', 'main'
+		act 'Continue': gt 'gad_gphouse', 'main'
 	!!Grandpa is disappointed in you for failing to do a chore you promised
 	elseif grandpaQW['disappointment'] = 1 and hour >= 6 and hour < 20:
 		*clr & cla
@@ -210,7 +210,7 @@ if $ARGS[0] = 'start':
 		'"Hush, child. I don''t care for excuses. Now go on. Some of us have work to do."'
 		'<br>You silently turn and walk away, feeling guilty.'
 
-		act 'Continue':gt 'gadhouse', 'main'
+		act 'Continue': gt 'gad_gphouse', 'main'
 	!!Grandma is disappointed in you for failing to do a chore you promised
 	elseif grandmaQW['disappointment'] = 1 and hour >= 6 and hour < 20:
 		*clr & cla
@@ -231,7 +231,7 @@ if $ARGS[0] = 'start':
 		'"Yes, ma''am," you nod.'
 		'"All right, child," she says, patting your shoulder softly. "Go on now. I am sure you have things to do."'
 
-		act 'Continue':gt 'gadhouse', 'main'
+		act 'Continue': gt 'gad_gphouse', 'main'
 	elseif grandmaQW['first_visit'] = 0 and hour >= 6 and hour < 20:
 		*clr & cla
 		grandmaQW['first_visit'] = 1
@@ -251,10 +251,10 @@ if $ARGS[0] = 'start':
 		if (kanikuli = 4 or kanikuli = 5) and ((month = 6 or month = 7) or (month = 8 and day <= 25)):
 			'"Will you be staying with us during the summer or will you be traveling back and forth with your parents?" she asks.'
 
-			act 'Stay with your grandparents':gadstay = 1 & gt 'gadhouse', 'main'
-			act 'Stay in Pavlovsk':gadstay = 0 & gt 'gadhouse', 'main'
+			act 'Stay with your grandparents': gadstay = 1 & gt 'gad_gphouse', 'main'
+			act 'Stay in Pavlovsk': gadstay = 0 & gt 'gad_gphouse', 'main'
 		else
-			act 'Continue':gt 'gadhouse', 'main'
+			act 'Continue': gt 'gad_gphouse', 'main'
 		end
 	elseif grandmaQW['last_month_paid'] ! month and hour >= 6 and hour < 20:
 		*clr & cla
@@ -274,13 +274,12 @@ if $ARGS[0] = 'start':
 			'"We really could have used your help last month," she says mournfully as she counts out some bills. "Maybe this month you''ll do more to help us?" She looks at you sternly as she puts her purse away.'
 		end
 
-		act 'Continue': gt 'gadhouse', 'main'
-	elseif rand(1,10) = 1 and MiraLoc = 0 and hour >= 8 and hour <= 19 and npc_rel['A60'] >= 15 and Mira_no = 0 and sunWeather = 0 and mira_guestday ! daystart and (npc_QW['A63'] < 11 or npc_QW['A60'] >= 11 or mirasex > 1) and npc_known['A60'] = 1:
+		act 'Continue': gt 'gad_gphouse', 'main'
+	elseif locat['A60'] = 21:
 		*clr & cla
-		mira_guestday = daystart
+		MiraVars['guestday'] = daystart + 1
+		MiraVars['guest'] = 1
 		minut += 5
-		mira_guest = 1
-		MiraLoc = 6
 		gs 'stat'
 
 		gs 'miroslava', 'miraclothes'
@@ -288,19 +287,14 @@ if $ARGS[0] = 'start':
 		'You notice Mira coming towards your grandparents home.'
 		'You step out on the porch and greet Mira. She replies "Hi <<$pcs_nickname>>, I was really bored being all alone at home. Do you want to do something?"'
 
-		act 'Continue':gt 'gadhouse', 'main'
+		act 'Continue': gt 'gad_gphouse', 'main'
 	else
-		gt 'gadhouse', 'main'
+		gt 'gad_gphouse', 'main'
 	end
 end
 
 if $ARGS[0] = 'main':
-	$loc = 'gadhouse'
-	$locM = 'gadhouse'
-	$menu_loc = 'gadhouse'
-	$loc_arg = 'main'
-	$locM_arg = 'main'
-	$menu_arg = 'main'
+	gs 'shortgs', 'setloc', 'gad_gphouse', 'main'
 	$locclass = 'livingr'
 	menu_off = 0
 	*clr & cla
@@ -315,67 +309,67 @@ if $ARGS[0] = 'main':
 
 	if hour < 8:
 		temp = rand(0,9)
-		if temp = 0:'In a box filled with scraps of cloth, <a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a>is curled up, sleeping peacefully.'
+		if temp = 0: 'In a box filled with scraps of cloth, <a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a>is curled up, sleeping peacefully.'
 	elseif hour >= 8 and hour < 12 and sunWeather = 1:
 		temp = rand(0,2)
-		if temp = 1:'<a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> is busy cleaning himself with his tongue on the table by the window.'
-		if temp = 2:'<a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> lies lazily on the table by the window, soaking up some sunshine rays.'
+		if temp = 1: '<a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> is busy cleaning himself with his tongue on the table by the window.'
+		if temp = 2: '<a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> lies lazily on the table by the window, soaking up some sunshine rays.'
 	elseif hour >= 8 and hour < 12 and sunWeather = 0:
 		temp = rand(0,1)
-		if temp = 0: 'In a box filled with scraps of cloth, <a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> is curled up, sleeping peacefully.'
-		if temp = 1: 'On the table by the window, <a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> stares in disgust at the rain outside.'
+		if temp = 0: 'In a box filled with scraps of cloth, <a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> is curled up, sleeping peacefully.'
+		if temp = 1: 'On the table by the window, <a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> stares in disgust at the rain outside.'
 	elseif hour >= 12 and hour < 18:
 		temp = rand(0,5)
-		if temp = 3:'Next to the table by the window, <a href="exec:feedcat = 1 & gt ''gadhouse'',''villagecat''">Boniface</a> stretches and meows loudly. It''s time for dinner.'
-		if temp = 4 and sunWeather = 1: '<a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> lies lazily on the table by the window, soaking up some sunshine rays.'
-		if temp = 4 and sunWeather = 0: 'In a box filled with scraps of cloth, <a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> is curled up, sleeping peacefully.'
+		if temp = 3: 'Next to the table by the window, <a href="exec:feedcat = 1 & gt ''gad_gphouse'',''villagecat''">Boniface</a> stretches and meows loudly. It''s time for dinner.'
+		if temp = 4 and sunWeather = 1: '<a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> lies lazily on the table by the window, soaking up some sunshine rays.'
+		if temp = 4 and sunWeather = 0: 'In a box filled with scraps of cloth, <a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> is curled up, sleeping peacefully.'
 	elseif hour >= 18 and hour < 22 and catout ! 2:
 		temp = rand(0,3)
-		if temp = 0:'<a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> is stalking around the main floor, looking for a nice juicy mouse to play with.'
-		if temp = 1 and catout = 0: catout = 1 &'<a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> twines around your ankles, then goes to the door, meowing pitifully.'
+		if temp = 0:'<a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> is stalking around the main floor, looking for a nice juicy mouse to play with.'
+		if temp = 1 and catout = 0: catout = 1 &'<a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> twines around your ankles, then goes to the door, meowing pitifully.'
 	elseif hour >= 22:
 		temp = rand(0,2)
-		if temp = 1:'In a box filled with scraps of cloth, <a href="exec: gt ''gadhouse'',''villagecat''">Boniface</a> is curled up, sleeping peacefully.'
+		if temp = 1:'In a box filled with scraps of cloth, <a href="exec: gt ''gad_gphouse'', ''villagecat''">Boniface</a> is curled up, sleeping peacefully.'
 	end
 
 	if hour >= 6 and hour < 8:
-		'Your <a href="exec: gt ''gadhouse'',''grandma'' ">grandmother</a> is puttering around in the kitchen, making breakfast.'
-		'Your <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> sits at the kitchen table, drinking a black cup of coffee.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandma'' ">grandmother</a> is puttering around in the kitchen, making breakfast.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> sits at the kitchen table, drinking a black cup of coffee.'
 	elseif hour >= 8 and hour < 10:
-		'Your <a href="exec: gt ''gadhouse'',''grandma'' ">grandmother</a> is slowly wandering through the house, tidying up as she goes along.'
-		'Your <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> is sitting in his recliner, watching the morning news.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandma'' ">grandmother</a> is slowly wandering through the house, tidying up as she goes along.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> is sitting in his recliner, watching the morning news.'
 	elseif hour >= 10 and hour < 11:
 		'Your grandmother is napping on the sofa, curled up under a heavy quilt.'
-		'Your <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> is sitting in his recliner, watching the morning news.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> is sitting in his recliner, watching the morning news.'
 	elseif hour >= 11 and hour < 12:
 		'Your grandmother is napping on the sofa, curled up under a heavy quilt.'
-		'Your <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> sits next to her, stroking her hair and faintly smiling.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> sits next to her, stroking her hair and faintly smiling.'
 	elseif hour >= 12 and hour < 13:
-		'Your <a href="exec: gt ''gadhouse'',''grandma'' ">grandmother</a> is in the kitchen, making a sandwich, while your <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> waits at the kitchen table.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandma'' ">grandmother</a> is in the kitchen, making a sandwich, while your <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> waits at the kitchen table.'
 	elseif hour >= 13 and hour < 15:
-		'Your <a href="exec: gt ''gadhouse'',''grandma'' ">grandmother</a> is sitting by the window, '+iif(sunWeather = 0, 'watching the rain','looking outside')+'.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandma'' ">grandmother</a> is sitting by the window, '+iif(sunWeather = 0, 'watching the rain','looking outside')+'.'
 		'Your grandfather is leaning back in his recliner, fast asleep.'
 	elseif hour >= 15 and hour < 17:
-		'Your <a href="exec: gt ''gadhouse'',''grandma'' ">grandmother</a> and <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> are watching an old-timey-looking show on the TV.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandma'' ">grandmother</a> and <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> are watching an old-timey-looking show on the TV.'
 	elseif hour >= 17 and hour < 18:
-		'Your <a href="exec: gt ''gadhouse'',''grandma'' ">grandmother</a> is puttering around in the kitchen, making dinner.'
-		'Your <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> sits at the kitchen table, waiting for grandma to bring his food.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandma'' ">grandmother</a> is puttering around in the kitchen, making dinner.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> sits at the kitchen table, waiting for grandma to bring his food.'
 	elseif hour >= 18 and hour < 20:
-		'Your <a href="exec: gt ''gadhouse'',''grandma'' ">grandmother</a> and <a href="exec: gt ''gadhouse'',''grandpa'' ">grandfather</a> are watching the evening news on TV.'
+		'Your <a href="exec: gt ''gad_gphouse'', ''grandma'' ">grandmother</a> and <a href="exec: gt ''gad_gphouse'', ''grandpa'' ">grandfather</a> are watching the evening news on TV.'
 	else
 		'Your grandparents are asleep. They sleep in separate beds, which is strange since they''re still madly in love.'
 	end
 
-	if mira_guest = 1: MiraLoc = 6 & '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is sitting next to you.'
+	if MiraVars['guest'] = 1: locat['A60'] = 21 & '<a href="exec: gt ''miroslava'', ''Start''">Mira</a> is sitting next to you.'
 
 	gs 'stat'
 	gs 'themes', 'indoors'
 	gs 'kit_din'
 
-	gs 'gadhouse', 'family_trip'
+	gs 'gad_gphouse', 'family_trip'
 
 	if $clothingworntype ! 'nude':
-		act 'Go outside':minut += 1 & gt 'gaddvor'
+		act 'Go outside':minut += 1 & gt 'gad_gpyard', 'start'
 	elseif $clothingworntype = 'nude':
 		act 'Go outside naked':
 			*clr & cla
@@ -388,7 +382,7 @@ if $ARGS[0] = 'main':
 			gs 'arousal', 'flash', 10, 'exhibitionism'
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Continue': gt 'gaddvor'
+			act 'Continue': gt 'gad_gpyard', 'start'
 		end
 	elseif $clothingworntype = 'nude' and ($pantyworntype ! 'none' or $braworntype ! 'none'):
 		act 'Go outside in your underwear':
@@ -401,10 +395,10 @@ if $ARGS[0] = 'main':
 			gs 'arousal', 'flashlite', 10, 'exhibitionism'
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Continue': gt 'gaddvor'
+			act 'Continue': gt 'gad_gpyard', 'start'
 		end
 	end
-	act 'Go to your room':  gt 'gadsarai', 'barn_room'
+	act 'Go to your room': gt 'gad_gpbarn', 'barn_room'
 	if grandmaQW['chore_clean_floor'] = 1:
 		act 'Clean the floor for Grandma (1:00)':
 			*clr & cla
@@ -415,8 +409,8 @@ if $ARGS[0] = 'main':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/washfloor.jpg"></center>'
 			'You grab a bucket and a rag, get down on your knees and begin scrubbing the floor. Within the hour, the floor shines, and you are satisfied with your work. You put the cleaning supplies into a corner and continue your day.'
 
-			act 'Continue':gt 'gadhouse', 'start'
-			act 'Return back to your grandmother': minut += 1 & gt 'gadhouse', 'grandma'
+			act 'Continue':gt 'gad_gphouse', 'start'
+			act 'Return back to your grandmother': minut += 1 & gt 'gad_gphouse', 'grandma'
 		end
 	end
 
@@ -437,14 +431,14 @@ if $ARGS[0] = 'main':
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/washclothes2.jpg"></center>'
 				'Once done with the washing, you walk to the clothesline, where you carefully hang the clothes to dry.'
 
-				act 'Continue':gt'gaddvor'
-				act 'Return back to your grandmother': minut += 1 & gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gpyard', 'start'
+				act 'Return back to your grandmother': minut += 1 & gt 'gad_gphouse', 'grandma'
 			end
 		end
 	end
 
-	if (hour >= 6 and hour < 10) or (hour >= 12 and hour < 20): act 'Talk to Grandma':gt 'gadhouse','grandma'
-	if (hour >= 6 and hour < 13) or (hour >= 15 and hour < 20): act 'Talk to Grandpa':gt 'gadhouse','grandpa'
+	if (hour >= 6 and hour < 10) or (hour >= 12 and hour < 20): act 'Talk to Grandma': gt 'gad_gphouse', 'grandma'
+	if (hour >= 6 and hour < 13) or (hour >= 15 and hour < 20): act 'Talk to Grandpa': gt 'gad_gphouse', 'grandpa'
 	act 'Eat a hearty meal (0:20)':gs 'food', 'l_meal'
 	act 'Eat a normal meal (0:15)':gs 'food', 'm_meal'
 	act 'Eat a light meal (0:10)':gs 'food', 's_meal'
@@ -462,45 +456,20 @@ if $ARGS[0] = 'main':
 	gs 'events', 'read'
 	gs 'subkid'
 
-	if gobelen>0:'You have <<gobelen>> completed tapestries.'
+	if mc_inventory['tapestry'] > 0:'You have <<gobelen>> completed tapestries.'
 	if pcs_sewng >= 40 and mc_inventory['sewing_fabric'] > 0:
 		'You have enough fabric for <<mc_inventory[''sewing_fabric'']>> lessons.'
-	elseif pcs_sewng >= 40 and mc_inventory['sewing_fabric'] <= 0:
-		'You do not have any fabric.'
 	end
+	if mc_inventory['sewing_fabric'] <= 0:'You do not have any fabric.'
+
 	if pcs_sewng >= 80:
-		if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0:
-			act'Start a new tapestry':
-				*clr & cla
-				menu_off = 1
-				mc_inventory['sewing_fabric'] -= 1
-				newgobelen = 1
-				minut += 15
-				gs'stat'
-				'You spend 15 minutes at the embroidery frame, preparing the fabric and outlining the pattern for the tapestry.'
-				act'Set the tapestry aside':gt 'gadhouse', 'main'
-			end
-		end
-		if newgobelen >= 1:
+		if newgobelen = 0 and mc_inventory['sewing_fabric'] > 0: 
+			act'Start a new tapestry': gt 'sewing', 'tapestry'
+		elseif newgobelen >= 1:
 			'Your tapestry is <<newgobelen/10>> percent finished.'
-			act'Work on the tapestry for an hour':
-				*clr & cla
-				menu_off = 1
-				minut += 60
-				gs 'exp_gain', 'sewng', rand(pcs_intel/10, pcs_intel/5)
-				gobramax = (pcs_sewng - 70) * 6
-				gobramin = (pcs_sewng - 70) * 2
-				newgobelen += rand(gobramin,gobramax)
-				gs'stat'
-				if newgobelen < 1000:'You spent an hour working on your tapestry, which is now <<newgobelen/10>> percent finished.'
-					if newgobelen >= 1000:
-					newgobelen = 0
-					gobelen+=1
-					'Your work on the tapestry is done.'
-				end
-				act'Set the tapestry aside':gt 'gadhouse', 'main'
-			end
+			act 'Work on the tapestry': gt 'sewing', 'tapestry'
 		end
+
 	end
 
 	if rand(0,2) ! 0: gs 'din_bad' & dynamic $mobile_check
@@ -520,9 +489,9 @@ if $ARGS[0] = 'grandma':
 		'Grandma looks a little shocked, but it''s nothing she hasn''t seen before.'
 		'"Go put some clothes on, dear. You''ll give your poor grandpa a heart attack if he sees you."'
 
-		act 'Maybe you should get dressed before talking to her':gt 'gadhouse', 'start'
+		act 'Maybe you should get dressed before talking to her': gt 'gad_gphouse', 'start'
 	else
-		act 'Leave her alone':gt 'gadhouse', 'start'
+		act 'Leave her alone': gt 'gad_gphouse', 'start'
 
 		if grandmaQW['chore_can_mushrooms'] = 1:
 			act 'Help Grandma can mushrooms (2:00)':
@@ -551,7 +520,7 @@ if $ARGS[0] = 'grandma':
 						'<center><img <<$set_imgh>> src="images/locations/gadukino/village/canned_mushrooms.jpg"></center>'
 						'Finally, you help Grandma take them out of the canner and set them aside to cool.'
 						'"Thank you, <<$pcs_nickname>>," she says. "It is important to save food up for the hard winter months. Sure, now you can walk to the store and get whatever you want, but it wasn''t always that way!"'
-						act 'Finish':gt 'gadhouse','start'
+						act 'Finish': gt 'gad_gphouse','start'
 					end
 				end
 			end
@@ -583,7 +552,7 @@ if $ARGS[0] = 'grandma':
 						'<center><img <<$set_imgh>> src="images/locations/gadukino/village/canned_berries.jpg"></center>'
 						'Finally, you help Grandma take them out of the canner and set them aside to cool.'
 						'"There, now we will have berries for the winter," she says. "I think your grandfather could live off of these berries alone! He will be very grateful that you helped me."'
-						act 'Finish':gt 'gadhouse','start'
+						act 'Finish': gt 'gad_gphouse','start'
 					end
 				end
 			end
@@ -616,7 +585,7 @@ if $ARGS[0] = 'grandma':
 						'Finally, you help Grandma take the last jars out of the canner and set them aside to cool.'
 						'"You know, <<$pcs_nickname>>, if you know how to can your own food, you can survive years of poor harvests," she says.'
 						'"Your grandfather and I had many hard times when we were younger, but saving our crops when we could, kept us from starving to death in the bad times. You would do well to remember that, young lady!"'
-						act 'Finish':gt 'gadhouse','start'
+						act 'Finish': gt 'gad_gphouse','start'
 					end
 				end
 			end
@@ -643,7 +612,7 @@ if $ARGS[0] = 'grandma':
 				'"Thank you, child," your grandmother says, "You have saved my hands and knees a great deal of aching."'
 				'You give her a warm smile and continue on with your day.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -660,7 +629,7 @@ if $ARGS[0] = 'grandma':
 				'"Thank you, <<$pcs_nickname>>. I have no idea how that man gets so dirty!"'
 				'You and your grandmother share a laugh, and you give her a hug before moving on.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -678,7 +647,7 @@ if $ARGS[0] = 'grandma':
 				'"Um, yes, she is very nice for a cow," you smile. "She''s the nicest cow I know."'
 				'Grandma nods sagely at that, and you grin and continue on with your day.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -699,7 +668,7 @@ if $ARGS[0] = 'grandma':
 				'"Anything else you need, Grandma?" you ask.'
 				'"No, that is all, <<$pcs_nickname>>," she says and gives you a gentle pat on the back.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -717,7 +686,7 @@ if $ARGS[0] = 'grandma':
 				'She nods to herself as if she has said something sagacious.'
 				'"Um, well, I''m happy to help, Grandma," you say and hug her quickly.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -748,7 +717,7 @@ if $ARGS[0] = 'grandma':
 				'"Anyway," she continues, "thank you for doing that for me, <<$pcs_nickname>>. My old bones complain when I do it."'
 				'She gives you a peck on the cheek and sends you on your way.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -766,7 +735,7 @@ if $ARGS[0] = 'grandma':
 				'"Maybe I will. Is there anything else you need?"'
 				'"No, sweet child. That is enough for today," she says and gives you a gentle pat on the arm.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -786,7 +755,7 @@ if $ARGS[0] = 'grandma':
 				'Your grandmother gives you a rueful look and says, "I don''t remember asking you to eat the strawberries, child."'
 				'She cannot hold the charade, though, and breaks into a smile. "I never could resist eating a few fresh off the plant either."'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -804,7 +773,7 @@ if $ARGS[0] = 'grandma':
 				'"Thank you, <<$pcs_nickname>>," she says. "I cannot reach or bend like I used to, so you have done me a great favour."'
 				'You smile and hug your grandmother and go on about your day.'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -826,7 +795,7 @@ if $ARGS[0] = 'grandma':
 				'You place your youthful hand over her wizened old one and smile at her. "I am happy to help, Grandma. Is there anything else you need?"'
 				'"No, child, you have done more than your fair share today. Of course, soon, we will have to preserve these vegetables to keep them from spoiling, but for now, you can rest."'
 
-				act 'Continue': gt 'gadhouse', 'grandma'
+				act 'Continue': gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -852,7 +821,7 @@ if $ARGS[0] = 'grandma':
 					'"No need for that, little one," she clucks. "You''ve done enough for now."'
 					'You give her a quick hug in response and carry on.'
 
-					act 'Continue': grandmaQW['chore_mushroom_quantity'] = 0 & gt 'gadhouse', 'grandma'
+					act 'Continue': grandmaQW['chore_mushroom_quantity'] = 0 & gt 'gad_gphouse', 'grandma'
 				end
 			else
 				act 'Give Grandma the mushrooms she asked for':
@@ -873,7 +842,7 @@ if $ARGS[0] = 'grandma':
 					'"No need for that, little one," she clucks. "You''ve done enough for one day."'
 					'You give her a quick hug in response and carry on.'
 
-					act 'Continue': grandmaQW['chore_mushroom_quantity'] = 0 & gt 'gadhouse', 'grandma'
+					act 'Continue': grandmaQW['chore_mushroom_quantity'] = 0 & gt 'gad_gphouse', 'grandma'
 				end
 			end
 		end
@@ -900,7 +869,7 @@ if $ARGS[0] = 'grandma':
 					'Seeing the dismayed look on your face, she adds, "But that is enough for today! I know it is harder work than it seems. You can rest now, child."'
 					'Relieved, you give your grandmother a peck on the cheek and move on.'
 
-					act 'Continue': grandmaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'grandma'
+					act 'Continue': grandmaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'grandma'
 				end
 			else
 				act 'Give Grandma the berries she asked for':
@@ -921,7 +890,7 @@ if $ARGS[0] = 'grandma':
 					'Seeing the dismayed look on your face, she adds, "But that is enough for today! I know it is harder work than it seems. You can rest now, child."'
 					'Relieved, you give your grandmother a peck on the cheek and move on.'
 
-					act 'Continue': grandmaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'grandma'
+					act 'Continue': grandmaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'grandma'
 				end
 			end
 		end
@@ -953,7 +922,7 @@ if $ARGS[0] = 'grandma':
 					'She smiles gently and pats your head. "You''ve done enough for today, child."'
 					'You smile back awkwardly, still unsure, but give your Grandma a smooch on the cheek and go on with your day.'
 
-					act 'Continue': grandmaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'grandma'
+					act 'Continue': grandmaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'grandma'
 				end
 			else
 				act 'Give Grandma the mushrooms and berries she asked for':
@@ -977,7 +946,7 @@ if $ARGS[0] = 'grandma':
 					'She smiles gently and pats your head. "You''ve done enough for today, child."'
 					'You smile back awkwardly, still unsure, but give your Grandma a smooch on the cheek and go on with your day.'
 
-					act 'Continue': grandmaQW['chore_mushroom_quantity'] = 0 & grandmaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'grandma'
+					act 'Continue': grandmaQW['chore_mushroom_quantity'] = 0 & grandmaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'grandma'
 				end
 			end
 		end
@@ -1004,7 +973,7 @@ if $ARGS[0] = 'grandma':
 				'"If you like running, you can take a run on the road leading into the forest. Or you can take a ride on our old bike. I''m pretty sure the bike is in the shed. Make sure to look for it if you''re interested. And if you want to watch your figure, go to the garden, and have some fruit. It''s as healthy as the diet meals you''re eating, if not healthier."'
 				'"That''s about it, my dear granddaughter. Now run along, don''t bother me anymore. My soap opera "Santa Barbara" is about to begin. I don''t want to miss a second of it."'
 
-				act 'Continue':gt 'gadhouse', 'grandma'
+				act 'Continue':gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -1020,7 +989,7 @@ if $ARGS[0] = 'grandma':
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/grandma.jpg"></center>'
 				'You spend some time talking with your grandmother. She''s sometimes challenging to understand. Her nearly toothless mouth makes the pronunciation of words difficult for her. But most of what she says boils down to the same thing, life is much more fun when you''re young!'
 
-				act 'Continue':gt 'gadhouse', 'grandma'
+				act 'Continue':gt 'gad_gphouse', 'grandma'
 			end
 		end
 
@@ -1087,7 +1056,7 @@ if $ARGS[0] = 'grandma':
 					'"Ever since that day, the fear I experienced never disappeared, as I''ve felt it throughout my life. I''ll carry on this fear for the remaining days of my life..."'
 				end
 				!125e
-				act 'Thank her for the story':gt 'gadhouse', 'grandma'
+				act 'Thank her for the story':gt 'gad_gphouse', 'grandma'
 			end
 		end
 	end
@@ -1106,9 +1075,9 @@ if $ARGS[0]='grandpa':
 		'Grandpa looks shocked, but it doesn''t stop him from having a good look at you.'
 		'"My God, <<$pcs_nickname>>! Are you trying to give me a heart attack? Go and put some clothes on!"'
 
-		act 'Maybe you should get dressed before talking to him':gt 'gadhouse', 'start'
+		act 'Maybe you should get dressed before talking to him':gt 'gad_gphouse', 'start'
 	else
-		act 'Leave him alone':gt 'gadhouse', 'start'
+		act 'Leave him alone':gt 'gad_gphouse', 'start'
 
 		if grigory_flower > 0 and grigory_flower < 10: act 'Talk to him about the flowers': gt 'grigory', 'flower3'
 
@@ -1139,7 +1108,7 @@ if $ARGS[0]='grandpa':
 				'You put down the heavy wood gratefully. "Is there anything else you need?"'
 				'"No, that is all I have for you today," he says.'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1158,7 +1127,7 @@ if $ARGS[0]='grandpa':
 				'"He may not be the young stallion he once was," your grandfather says, "but he is a trusted friend."'
 				'He obviously cares a great deal about his horse.'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1176,7 +1145,7 @@ if $ARGS[0]='grandpa':
 				'"Well, she was definitely excited," you say with a laugh.'
 				'"She always is when it comes to eating," he says.'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1194,7 +1163,7 @@ if $ARGS[0]='grandpa':
 				'"Yes sir, it is," you agree. "Is there anything else you need me to do?"'
 				'"No, that is all for today, <<$pcs_nickname>>."'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1220,7 +1189,7 @@ if $ARGS[0]='grandpa':
 				'"It''s okay, Grandpa. I know Desperado is important to you," you say.'
 				'He smiles and rubs your shoulder. "Thank you again. You may rest now. There is nothing else to do today."'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1237,7 +1206,7 @@ if $ARGS[0]='grandpa':
 				'"Thank you, <<$pcs_nickname>>," he says.'
 				'"You''re welcome! Is there anything else you need?"'
 				'"No, you can take the rest of the day off, granddaughter."'
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1255,7 +1224,7 @@ if $ARGS[0]='grandpa':
 				'You nod. "He seemed pretty happy to be able to run around."'
 				'Your grandfather smiles at that. "Thank you, <<$pcs_nickname>>. You can rest for now."'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1277,7 +1246,7 @@ if $ARGS[0]='grandpa':
 				'You think of the stories you have heard of a few herders driving thousands of cattle. "Hmm, I guess that''s true..."'
 				'Your grandfather smiles and ruffles your hair. "But that is not a problem for today. Go and take the rest of the day off."'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1295,7 +1264,7 @@ if $ARGS[0]='grandpa':
 				'"You''re welcome! It was actually a lot of fun. Is there anything else you need?"'
 				'"No, you can take the rest of the day off, granddaughter."'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1320,7 +1289,7 @@ if $ARGS[0]='grandpa':
 					'"There''s no need <<$pcs_nickname>>," said your grandfather. "But if I need some help, I''ll let you know. They will have to go down in the root cellar until your grandmother is ready to can them."'
 					'You kiss your grandfather on the cheek and get on with your day.'
 
-					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & gt 'gadhouse', 'start'
+					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & gt 'gad_gphouse', 'start'
 				end
 			else
 				act 'Give him the mushrooms he asked for':
@@ -1340,7 +1309,7 @@ if $ARGS[0]='grandpa':
 					'"There''s no need, <<$pcs_nickname>>," said your grandfather. "But if I need some help, I''ll let you know. They will have to go down in the root cellar until your grandmother is ready to can them."'
 					'You kiss your grandfather on the cheek and get on with your day.'
 
-					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & gt 'gadhouse', 'start'
+					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & gt 'gad_gphouse', 'start'
 				end
 			end
 		end
@@ -1366,7 +1335,7 @@ if $ARGS[0]='grandpa':
 					'There''s no need, <<$pcs_nickname>>," your grandfather said. "But if your grandma needs some more berries, I''ll let you know. They will have to go down in the root cellar until your grandmother is ready to can them."'
 					'You kiss your grandfather on the cheek and go on with your business.'
 
-					act 'Continue': grandpaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'start'
+					act 'Continue': grandpaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'start'
 				end
 			else
 				act 'Give him the berries he asked for':
@@ -1386,7 +1355,7 @@ if $ARGS[0]='grandpa':
 					'"There''s no need <<$pcs_nickname>>," your grandfather said. "But if your grandma needs some more berries, I''ll let you know. They will have to go down in the root cellar until your grandmother is ready to can them."'
 					'You kiss your grandfather on the cheek and go on with your business.'
 
-					act 'Continue': grandpaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'start'
+					act 'Continue': grandpaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'start'
 				end
 			end
 		end
@@ -1415,7 +1384,7 @@ if $ARGS[0]='grandpa':
 					'"You don''t need to do that, <<$pcs_nickname>>," your grandfather said. "But I''ll let you know if something comes up. They will have to go down in the root cellar until your grandmother is ready to can them."'
 					'You give him a smooch on the cheek and go on with your day.'
 
-					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & grandpaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'start'
+					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & grandpaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'start'
 				end
 			else
 				act 'Give him the mushrooms and berries he asked for':
@@ -1437,7 +1406,7 @@ if $ARGS[0]='grandpa':
 					'"You don''t need to do that, <<$pcs_nickname>>," your grandfather said. "But I''ll let you know if something comes up. They will have to go down in the root cellar until your grandmother is ready to can them."'
 					'You give him a smooch on the cheek and go on with your day.'
 
-					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & grandpaQW['chore_berry_quantity'] = 0 & gt 'gadhouse', 'start'
+					act 'Continue': grandpaQW['chore_mushroom_quantity'] = 0 & grandpaQW['chore_berry_quantity'] = 0 & gt 'gad_gphouse', 'start'
 				end
 			end
 		end
@@ -1459,7 +1428,7 @@ if $ARGS[0]='grandpa':
 				'"Thank you, Grandpa," you say, giving him a tight hug, which he returns with surprising strength for his age.'
 				'After a few moments, he lets go and tells you, "Go and get some rest, child. You have earned it."'
 
-				act 'Continue': gt 'gadhouse', 'grandpa'
+				act 'Continue': gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1480,7 +1449,7 @@ if $ARGS[0]='grandpa':
 				'"There''s one more thing... While you''re in the woods, avoid dressing yourself up in fancy clothes. You might damage them. It''s better to dress in more comfortable clothes instead..."'
 				'"Well, I think that''s everything, <<$pcs_nickname>>, run along now and remember what I''ve told you."'
 
-				act 'Continue':gt 'gadhouse', 'grandpa'
+				act 'Continue':gt 'gad_gphouse', 'grandpa'
 			end
 		end
 
@@ -1496,7 +1465,7 @@ if $ARGS[0]='grandpa':
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/grandpa1.jpg"></center>'
 				'Your grandfather stops complaining and smiles at you. He loves telling stories. He has lived a rich and eventful life, and you enjoy listening to his stories and talking to him. He mostly reminisces about his past and reflects on his earlier life.'
 
-				act 'Continue':gt 'gadhouse', 'grandpa'
+				act 'Continue':gt 'gad_gphouse', 'grandpa'
 			end
 		end
 	end
@@ -1511,7 +1480,7 @@ if $ARGS[0]='villagecat':
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/villcat.jpg"></center>'
 	'Your grandparents'' fat tomcat, Boniface, is aware of you approaching him, even though his eyes are closed. He tracks you with his ears and simply ignores you.'
 
-	act 'Leave Boniface alone':minut += 2 & gt 'gadhouse', 'start'
+	act 'Leave Boniface alone':minut += 2 & gt 'gad_gphouse', 'start'
 
 	act 'Pet Boniface':
 		*clr & cla
@@ -1522,7 +1491,7 @@ if $ARGS[0]='villagecat':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/villcat1.jpg"></center>'
 		'You gently pet Boniface, giving him a good scratch behind the ears. You hear him start to purr. As soon as you stop scratching him, the purring stops too. That lazy bastard... he''s living the good life!'
 
-		act 'Continue':minut += 2 & gt 'gadhouse', 'start'
+		act 'Continue':minut += 2 & gt 'gad_gphouse', 'start'
 	end
 
 	if feedcat = 1:
@@ -1533,7 +1502,7 @@ if $ARGS[0]='villagecat':
 			feedcat = 2
 			'<center><video autoplay loop src="images/locations/gadukino/grandparents/feedboniface.mp4"></video></center>'
 			'When Boniface sees you moving towards the cupboard, he jumps off the table and runs to his food dish. He obviously feels that you are moving far too slowly and rattles his bowl to make sure you understand that he is starving while you dawdle.'
-			act 'Continue': gt 'gadhouse', 'start'
+			act 'Continue': gt 'gad_gphouse', 'start'
 		end
 	end
 
@@ -1544,14 +1513,14 @@ if $ARGS[0]='villagecat':
 				minut += 10
 				gs 'stat'
 				'You open the door for Boniface, who saunters around you only to stop in the doorway as he becomes aware that it is raining. He glares up at you as if the rain was your fault. He stares out into the wet for another moment, then sedately turns around and returns to his box.'
-				act 'Continue': gt 'gadhouse', 'start'
+				act 'Continue': gt 'gad_gphouse', 'start'
 			else
 				*clr & cla
 				minut +=10
 				gs 'stat'
 				catout = 2
 				'You open the door for Boniface, who saunters around you only to stop in the doorway as he stops to consider if he really wants to go outside. After considering all the pros and cons, he finally decides to go out.'
-				act 'Continue': gt 'gadhouse', 'start'
+				act 'Continue': gt 'gad_gphouse', 'start'
 			end
 		end
 	end
@@ -1580,11 +1549,11 @@ if $ARGS[0] = 'nudity_trouble_limit':
 		if sisterknowslut > 1 and sisboypartyQW > 1: grandmaQW['nudity_trouble_limit'] += 3
 		if sisterknowslut > 0: grandmaQW['nudity_trouble_limit'] += 2
 	end
-	if gadriver_gang = 2:
+	if GadBoy['river_gang'] = 2:
 		grandmaQW['nudity_trouble_limit'] += 5
 	else
 		if npc_QW['A63'] >= 11: grandmaQW['nudity_trouble_limit'] += 3
-		if npc_QW['A60'] >= 15: grandmaQW['nudity_trouble_limit'] += 2
+		if MiraVars['QW'] >= 15: grandmaQW['nudity_trouble_limit'] += 2
 	end
 end
 
@@ -1609,10 +1578,10 @@ if $ARGS[0] = 'family_trip':
 						*nl
 						'<<$npc_nickname[''A29'']>> asks, "<<$pcs_nickname>>, are you coming home with us or are you going to stay in the village with your grandparents?"'
 
-						act 'Stay with your grandparents':gadstay_day = daystart & gadstay = 1 & locat['Fam_inGad'] = 0 & gt 'gadhouse', 'main'
-						act 'Go home to Pavlovsk': gt 'gadhouse', 'to_pavlovsk'
+						act 'Stay with your grandparents':gadstay_day = daystart & gadstay = 1 & locat['Fam_inGad'] = 0 & gt 'gad_gphouse', 'main'
+						act 'Go home to Pavlovsk': gt 'gad_gphouse', 'to_pavlovsk'
 					else
-						act 'Go home to Pavlovsk': gt 'gadhouse', 'to_pavlovsk'
+						act 'Go home to Pavlovsk': gt 'gad_gphouse', 'to_pavlovsk'
 					end
 				elseif hour > 20:
 					locat['Fam_month_inGad'] = month
@@ -1656,13 +1625,13 @@ if $ARGS[0] = 'to_gadukino':
 
 	'You get into the Volga with the rest of your family, and before you know it, you''ve arrived in Gadukino.'
 
-	act 'Go to your grandparents house': gt 'gadhouse', 'start'
+	act 'Go to your grandparents house': gt 'gad_gphouse', 'start'
 end
 
 if $ARGS[0] = 'intro':
 	cla & *clr
+	$loc = 'gad_gphouse'
 	$loc_arg = ''
-	$loc = 'gadhouse'
 	gs 'homes_properties', 'give_access',  'grandparents_house'
 	gs 'homes_properties', 'set_home', 'grandparents_house'
 	$temp_nickname = '<<$npc_nickname[''A29'']>>'
@@ -1742,13 +1711,13 @@ if $ARGS[0] = 'intro':
 						cla & *clr
 						minut += 2
 						gs 'stat'
-						$loc = 'gadhouse'
+						$loc = 'gad_gphouse'
 						$loc_arg = 'start'
 						'<center><H4>Your Grandparents'' Cottage</H4></center>'
 						'<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost5.jpg"></center>'
 						*nl
 						'Before you can finish, she cuts you off. "I''m not going to have you running around town like so many of those other girls I see! Opening their legs for any boy that comes around..." She shakes her head in disgust. "I want a referral every month and it better tell me you''re still a virgin or else, understand?" <<$npc_nickname[''A29'']>> says as she storms off towards your grandparent''s outside door. "Don''t forget to talk to your grandparents and ask if they need help!" she shouts. Then, without waiting for your response, she closes the door, and with that, she''s gone.'
-						act 'I understand...':gt 'alarmclock', 'start'
+						act 'I understand...': gt 'alarmclock', 'start'
 					end
 				end
 			end
@@ -1756,5 +1725,5 @@ if $ARGS[0] = 'intro':
 	end
 end
 
---- gadhouse ---------------------------------
+--- gad_gphouse ---------------------------------
 

+ 262 - 41
locations/gaddvor.qsrc → locations/gad_gpyard.qsrc

@@ -1,14 +1,14 @@
-# gaddvor
+# gad_gpyard
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
-if $ARGS[0]='':
+if $ARGS[0] = 'start':
 	music_loop = 0
-	$loc_arg = ''
-	$loc = 'gaddvor'
+	gs 'shortgs', 'setloc', 'gad_gpyard', 'start'
 	$location_type = 'public_outdoors'
-	$menu_loc = 'gaddvor'
-	$menu_arg = ''
 	menu_off = 0
 	killvar '$locclass'
+	gs 'miroslava_schedule'
 	gs 'stat'
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
@@ -34,10 +34,10 @@ if $ARGS[0]='':
 	if $clothingworntype = 'nude':
 		*nl
 		'You are naked and can only go into your grandparent''s house to get dressed or go to the banya.'
-		act 'Enter your grandparents'' house':minut += 1 & gt 'gadhouse', 'start'
-		act 'Enter the banya':minut += 1 & gt 'gadbana'
+		act 'Enter your grandparents'' house':minut += 1 & gt 'gad_gphouse', 'start'
+		act 'Enter the banya': minut += 1 & gt 'gad_gpbath', 'start'
 	else
-		if grandmaQW['chore_feed_chickens'] = 1 or (hour >= 6 and hour < 20 and month >= 4 and month <= 10):'In the yard there are several <a href="exec:gt ''gaddvor'',''chickens''">chickens</a> running around.'
+		if grandmaQW['chore_feed_chickens'] = 1 or (hour >= 6 and hour < 20 and month >= 4 and month <= 10):'In the yard there are several <a href="exec:gt ''gad_gpyard'', ''chickens''">chickens</a> running around.'
 		if func('homes_properties', 'is_current_home') and hour > 7 and hour < 20 and rex['owned'] = 1:
 			if $status['dog'] = '':
 				gt 'pet_dog', 'name'
@@ -51,8 +51,8 @@ if $ARGS[0]='':
 		end
 	end
 
-	if mira_guest = 1: Miraloc = 7 & 'Your friend <a href="exec: gt ''miroslava'', ''Start''">Mira</a> stands next to you.'
-	if MiraLoc ! 7: mira_guest = 0
+	if MiraVars['guest'] = 1: locat['A60'] = 20 & 'Your friend <a href="exec: gt ''miroslava'', ''Start''">Mira</a> stands next to you.'
+	!if locat['A60'] ! 20: MiraVars['guest'] = 0
 
 	act '<b>Leave and go into the village</b>':
 		if $clothingworntype ! 'nude':	
@@ -60,7 +60,7 @@ if $ARGS[0]='':
 			gt 'gadukino'
 		else
 			msg'<b><font color = red>You need to get dressed.</font></b>'
-			gt 'gaddvor'
+			gt 'gad_gpyard', 'start'
 		end
 	end
 	if 	grandpaQW['chore_clean_yard'] = 1:
@@ -86,30 +86,30 @@ if $ARGS[0]='':
 				gs 'sweat', 'add', 5
 			end
 			gs'stat'
-			act 'Finish':gt'gaddvor'
-			act 'Return back to your grandfather': minut += 1 & gt 'gadhouse', 'grandpa'
+			act 'Finish': gt 'gad_gpyard', 'start'
+			act 'Return back to your grandfather': minut += 1 & gt 'gad_gphouse', 'grandpa'
 		end
 	end
-	act 'Enter your grandparents'' house':minut += 1 & gt 'gadhouse', 'start'
-	act 'Enter the banya':minut += 1 & gt 'gadbana'
-	act 'Go to the barn':minut += 1 & gt 'gadsarai'
-	act 'Go to the root cellar': minut += 1 & gt 'gaddvor', 'root_cellar'
-	act 'Go to the garden':minut += 1 & gt'gadgarden','garden'
+	act 'Enter your grandparents'' house': minut += 1 & gt 'gad_gphouse', 'start'
+	act 'Enter the banya': minut += 1 & gt 'gad_gpbath', 'start'
+	act 'Go to the barn': minut += 1 & gt 'gad_gpbarn'
+	act 'Go to the root cellar': minut += 1 & gt 'gad_gpyard', 'root_cellar'
+	act 'Go to the garden': minut += 1 & gt 'gad_gpyard', 'garden'
 
-	if grandmaQW['chore_feed_chickens'] = 1 or (hour >= 6 and hour < 20 and month >= 4 and month <= 10):act 'Look at your grandparents'' chickens':gt 'gaddvor','chickens'
+	if grandmaQW['chore_feed_chickens'] = 1 or (hour >= 6 and hour < 20 and month >= 4 and month <= 10):act 'Look at your grandparents'' chickens': gt 'gad_gpyard', 'chickens'
 
-	if rand(1,5) = 1 and hour >= 9 and hour <= 19 and npc_rel['A60'] >= 15 and Mira_no = 0 and sunWeather = 1 and mira_guestday ! daystart and (npc_QW['A63'] < 13 or npc_QW['A60'] >= 10 or mirasex > 1) and npc_known['A60'] = 1:
+	if rand(1,5) = 1 and hour >= 9 and hour <= 19 and npc_rel['A60'] >= 15 and daystart > MiraVars['emb_day'] and sunWeather = 1 and MiraVars['guestday'] ! daystart and (npc_QW['A63'] < 13 or MiraVars['QW'] >= 10 or MiraVars['had_sex'] > 1) and npc_known['A60'] = 1:
 		*clr & cla
 		menu_off = 1
 		gs 'miroslava', 'miraclothes'
 		'You went out into the yard and noticed Mira standing there.'
 		'"Oh, <<$pcs_nickname>>, hi. I hope you don''t mind me visiting. I was bored being home alone," she said, smiling.'
-		mira_guestday = daystart
+		MiraVars['guestday'] = daystart
 		minut += 5
-		mira_guest = 1
+		MiraVars['guest'] = 1
 		gs 'stat'
 
-		act 'Continue':gt'gaddvor'
+		act 'Continue': gt 'gad_gpyard', 'start'
 	end
 
 
@@ -117,15 +117,15 @@ if $ARGS[0]='':
 	if clothesAtLocation = 1:
 		if $clothingworntype = 'nude':
 			act 'Get dressed':
-				gs 'clothing', 'recover_lost_clothes', 'gaddvor', 1
+				gs 'clothing', 'recover_lost_clothes', 'gad_gpyard', 1
 				gs 'underwear', 'wear'
-				gt 'gaddvor'
+				gt 'gad_gpyard', 'start'
 			end
 		else
 			act 'Pick up your clothes':
-				gs 'clothing', 'recover_lost_clothes', 'gaddvor'
+				gs 'clothing', 'recover_lost_clothes', 'gad_gpyard'
 				'You picked up your clothes.'
-				gt 'gaddvor'
+				gt 'gad_gpyard', 'start'
 			end
 		end
 	end
@@ -160,7 +160,7 @@ if $ARGS[0] = 'root_cellar':
 	if boletus_cooked > 0: 'You currently are carrying <b><<boletus_cooked>></b> kg of cooked mushrooms.'
 	if bilberry > 0: 'You currently are carrying <b><<bilberry>></b> kg of raw berries.'
 
-	act 'Go back to the yard': minut += 1 & gt 'gaddvor'
+	act 'Go back to the yard': minut += 1 & gt 'gad_gpyard', 'start'
 	if (boletus_stored + bilberry_stored < 20) and (boletus > 0 or bilberry > 0):
 		act 'Store as many raw mushrooms and berries that will fit (Max 20 kgs):':
 			:store_bb_loop
@@ -174,20 +174,20 @@ if $ARGS[0] = 'root_cellar':
 				bilberry -= 1
 				if boletus_stored + bilberry_stored < 20: jump 'store_bb_loop'
 			end
-			gt 'gaddvor', 'root_cellar'
+			gt 'gad_gpyard', 'root_cellar'
 		end
 		if boletus > 0:
 			act 'Store 1 kg of raw mushrooms':
 				boletus_stored += 1
 				boletus -= 1
-				gt 'gaddvor', 'root_cellar'
+				gt 'gad_gpyard', 'root_cellar'
 			end
 		end
 		if bilberry > 0:
 			act 'Store 1 kg of raw berries':
 				bilberry_stored += 1
 				bilberry -= 1
-				gt 'gaddvor', 'root_cellar'
+				gt 'gad_gpyard', 'root_cellar'
 			end
 		end
 	end
@@ -204,20 +204,20 @@ if $ARGS[0] = 'root_cellar':
 				bilberry_stored -= 1
 				if boletus + boletus_cooked + bilberry < 5: jump 'retrieve_bb_loop'
 			end
-			gt 'gaddvor', 'root_cellar'
+			gt 'gad_gpyard', 'root_cellar'
 		end
 		if (boletus_stored > 0 and grandmaQW['chore_can_mushrooms'] ! 1) or (boletus_stored > 5 and grandmaQW['chore_can_mushrooms'] = 1):
 			act 'Retrieve 1 kg of raw mushrooms':
 				boletus += 1
 				boletus_stored -= 1
-				gt 'gaddvor', 'root_cellar'
+				gt 'gad_gpyard', 'root_cellar'
 			end
 		end
 		if (bilberry_stored > 0 and grandmaQW['chore_can_berries'] ! 1) or (bilberry_stored > 5 and grandmaQW['chore_can_berries'] = 1):
 			act 'Retrieve 1 kg of raw berries':
 				bilberry += 1
 				bilberry_stored -= 1
-				gt 'gaddvor', 'root_cellar'
+				gt 'gad_gpyard', 'root_cellar'
 			end
 		end
 	end
@@ -231,7 +231,7 @@ if $ARGS[0] = 'chickens':
 	minut += 1
 	gs 'stat'
 
-	act 'Leave': gt'gaddvor'
+	act 'Leave': gt 'gad_gpyard', 'start'
 	!job Granny
 	if grandmaQW['chore_feed_chickens'] = 1:
 		act 'Feed the chickens':
@@ -243,20 +243,241 @@ if $ARGS[0] = 'chickens':
 			gs 'exp_gain', 'hndiwrk', rand(0,3)
 			gs 'stat'
 
-			act 'Finish':gt'gaddvor'
-			act 'Return back to your grandmother': minut += 1 & gt 'gadhouse', 'grandma'
+			act 'Finish': gt 'gad_gpyard', 'start'
+			act 'Return back to your grandmother': minut += 1 & gt 'gad_gphouse', 'grandma'
 		end
 	end
 end
 
+
+if $ARGS[0] = 'garden':
+	$location_type = 'secluded'
+	gs 'shortgs', 'setloc', 'gad_gpyard', 'garden'
+	menu_off = 0
+	gs 'gadukino_event', 'sound'
+	gs 'miroslava_schedule'
+	gs 'stat'
+	!gs'time'
+
+	if month >= 4 and month <= 10:
+		if hour >= 6 and hour < 21:
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden_night.jpg"></center>'
+		end
+	else
+		if hour >= 8 and hour < 18:
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden_winter.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden_winter_night.jpg"></center>'
+		end
+	end
+
+	'A large vegetable garden that your grandparents are very proud of.'
+	if month >= 4 and month <= 10:
+		'There is also a small land plot is dedicated to growing <a href="exec: gt ''gad_gpyard'', ''strawberry'' ">strawberries</a> and a <a href="exec: gt ''gad_gpyard'',''fruit_garden'' ">fruit tree orchard</a>.'
+	else
+		'There is also a small plot of land dedicated to growing strawberries and a small fruit tree orchard, but they are not in season right now.'
+	end
+
+	act 'Go back to the yard': minut += 1 & gt 'gad_gpyard', 'start'
+
+	!job Granny
+	if grandmaQW['chore_work_in_garden'] = 1:
+		act 'Work in the garden (3:00)':
+			*clr & cla
+			menu_off = 1
+			minut += 180
+			gs 'sweat', 'add', 10
+			grandmaQW['chore_work_in_garden'] = 2
+			gs 'exp_gain', 'stren', 1
+			fat -= rand(1,5)
+			gs 'exp_gain', 'hndiwrk', rand(3,9)
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/work_garden'+rand(1,5)+'.jpg"></center>'
+			'You spend some time doing some gardening.'
+			act 'Finish': gt 'gad_gpyard', 'garden'
+			act 'Return back to your grandmother': minut += 2 & gt 'gad_gphouse', 'grandma'
+		end
+	end
+	!job Granny
+	if grandmaQW['chore_water_garden'] = 1:
+		act 'Water the plants (1:00)':
+			*clr & cla
+			menu_off = 1
+			gs 'sweat', 'add', 10
+			minut += 60
+			grandmaQW['chore_water_garden'] = 2
+			gs 'exp_gain', 'vital', 1
+			fat -= rand(1,2)
+			gs 'exp_gain', 'hndiwrk', rand(0,3)
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/water_garden.jpg"></center>'
+			'You spend an hour watering the garden.'
+			act 'Finish': gt 'gad_gpyard', 'garden'
+			act 'Return back to your grandmother': minut += 1 & gt 'gad_gphouse', 'grandma'
+		end
+	end
+	!job Granny
+	if grandmaQW['chore_harvest_garden'] = 1:
+		act 'Harvest (3:00)':
+			*clr & cla
+			menu_off = 1
+			minut += 180
+			gs 'sweat', 'add', 10
+			grandmaQW['chore_harvest_garden'] = 2
+			gs 'exp_gain', 'stren', 1
+			fat -= rand(1,3)
+			gs 'exp_gain', 'hndiwrk', rand(3,9)
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/harvest_garden'+rand(1,5)+'.jpg"></center>'
+			'You spend a few hours harvesting vegetables in the garden.'
+			act 'Finish': gt 'gad_gpyard', 'garden'
+			act 'Return back to your grandmother': minut += 1 & gt 'gad_gphouse', 'grandma'
+		end
+	end
+end
+
+if $ARGS[0] = 'strawberry':
+	gs 'shortgs', 'setloc', 'gad_gpyard', 'strawberry'
+	menu_off = 0
+	gs 'gadukino_event', 'sound'
+	gs 'stat'
+	!gs'time'
+
+	if month = 6 or month = 7:
+		if hour >= 6 and hour < 21:
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry1.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry_night.jpg"></center>'
+		end
+	else
+		if hour >= 6 and hour < 21:
+		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry2.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry_night.jpg"></center>'
+		end
+	end
+
+	'It''s strawberry season, you approach the field where the strawberries grow, searching for some ripe strawberries.'
+
+	act 'Go back to the garden': minut += 1 & gt 'gad_gpyard', 'garden'
+
+	if month >= 7 and month <= 9 and strawberriesday ! daystart:
+		act 'Eat some strawberries (1:00)':
+			*clr & cla
+			menu_off = 1
+			strawberriesday = daystart
+			minut += 60
+			pcs_mood += 10
+			pcs_hydra += 40
+			pcs_energy += 15
+			cumspclnt = 2 & gs 'cum_cleanup' & pcs_breath = 0
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/eat_strawberries.jpg"></center>'
+			'You spend some time wandering through the plot searching for ripe strawberries. You walk along, picking off the ones that you find and popping them in your mouth.'
+
+			act 'Finish': gt 'gad_gpyard', 'strawberry'
+		end
+	end
+	!job Granny
+	if grandmaQW['chore_collect_strawberries'] = 1:
+		act 'Collect strawberries (3:00)':
+			*clr & cla
+			menu_off = 1
+			minut += 180
+			gs 'sweat', 'add', 10
+			grandmaQW['chore_collect_strawberries'] = 2
+			gs 'exp_gain', 'agil', 1
+			fat -= 1
+			gs 'exp_gain', 'hndiwrk', rand(3,9)
+			gs 'stat'
+
+			if PCloSkirt = 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/village/collect_strawberries.jpg"></center>'
+			if PCloSkirt > 0 and $pantyworntype ! 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/collect_strawberries_ski.jpg"></center>'
+			if PCloSkirt > 0 and $pantyworntype = 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/collect_strawberries_tanga.jpg"></center>'
+			'You wander through the plot for several hours, collecting ripe strawberries and placing them in the basket.'
+
+			act 'Finish': gt 'gad_gpyard', 'strawberry'
+			act 'Return back to your grandmother': minut += 3 & gt 'gad_gphouse', 'grandma'
+		end
+	end
+end
+
+
+if $ARGS[0] = 'fruit_garden':
+	gs 'shortgs', 'setloc', 'gad_gpyard', 'fruit_garden'
+	menu_off = 0
+	gs 'gadukino_event', 'sound'
+	cls
+	gs'stat'
+	!gs'time'
+
+	if hour >= 6 and hour < 21:
+		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_garden.jpg"></center>'
+	else
+		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_garden_night.jpg"></center>'
+	end
+
+	'There are apples and pears growing in the fruit orchard.'
+
+	act 'Go back to the garden': minut += 1 & gt 'gad_gpyard', 'garden'
+
+	if month >= 7 and month <= 9 and fruitday ! daystart:
+		act 'Eat the fruit (1:00)':
+			*clr & cla
+			menu_off = 1
+			fruitday = daystart
+			minut += 60
+			pcs_mood += 10
+			pcs_hydra += 20
+			pcs_energy += 30
+			cumspclnt = 2 & gs 'cum_cleanup' & pcs_breath = 0
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/eat_fruit.jpg"></center>'
+			'You spend some time wandering around the orchard munching on the ripe fruit.'
+
+			act 'Finish': gt 'gad_gpyard', 'fruit_garden'
+		end
+	end
+	!job Granny
+	if grandmaQW['chore_collect_fruit'] = 1:
+		act 'Collect fruit (3:00)':
+			*clr & cla
+			menu_off = 1
+			minut += 180
+			gs 'sweat', 'add', 10
+			grandmaQW['chore_collect_fruit'] = 2
+			gs 'exp_gain', 'agil', 1
+			fat -= rand(1,3)
+			gs 'exp_gain', 'hndiwrk', rand(3,9)
+			gs 'stat'
+
+			if PCloSkirt = 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_collect.jpg"></center>'
+			if PCloSkirt > 0 and $pantyworntype ! 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_collect_ski.jpg"></center>'
+			if PCloSkirt > 0 and $pantyworntype = 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_collect_tanga.jpg"></center>'
+			'You walk around the orchard and pick the ripe fruit hanging from the trees.'
+
+			act 'Finish': gt 'gad_gpyard', 'fruit_garden'
+			act 'Return back to your grandmother': minut += 3 & gt 'gad_gphouse', 'grandma'
+		end
+	end
+end
+
+
+
+
 if $ARGS[0] = 'cikl':
 	!! vovan, from 1.2.5
 	hunters_check = 0
 	mushroom_pickers = 0
 	mira_go_river = 0
 	forestpicnic = 0
-	if Mira_no > 0: Mira_no -= 1
-	if Mira_no < 0: Mira_no = 0
 
 	!! new grandparent chore stuff, for 0.8.0
 	if gadstay = 1 and lost_girl = 0:
@@ -399,5 +620,5 @@ if $ARGS[0] = 'cikl':
 
 end
 
---- gaddvor ---------------------------------
+--- gad_gpyard ---------------------------------
 

+ 8 - 11
locations/gadmarket.qsrc → locations/gad_market.qsrc

@@ -1,13 +1,10 @@
-# gadmarket
+# gad_market
 
 
 *clr & cla
-$loc = 'gadmarket'
-$loc_arg = ''
-$menu_loc = 'gadmarket'
-$menu_arg = ''
-menu_off = 0
+gs 'shortgs', 'setloc', 'gad_market', ''
 $location_type = 'public_indoors'
+menu_off = 0
 
 frost = 0
 
@@ -19,7 +16,7 @@ frost = 0
 *nl
 'As you approach the teller, you notice a rack full of magazines, cigarettes, and a few hygienic items.'
 *nl
-act 'Browse the aisles': gt'gadmarket', 'cart'
+act 'Browse the aisles': gt 'gad_market', 'cart'
 
 act 'Leave the market': minut += 5 & gt 'gadukino'
 if grandmaQW['chore_groceries'] = 1:
@@ -38,13 +35,13 @@ if grandmaQW['chore_groceries'] = 1:
 		'"Of course! Go ahead and take these on home to her. Tell her I will be by this evening to pick up her payment. I know it''s hard for her to get out anymore..."'
 	
 		act 'Thank him and leave': minut += 5 & gt 'gadukino'
-		act 'Thank him and take the groceries back to your grandmother (0:10)':minut += 10 & gt 'gadhouse','grandma'
+		act 'Thank him and take the groceries back to your grandmother (0:10)': minut += 10 & gt 'gad_gphouse', 'grandma'
 	end
 end
 
 
 if $ARGS[0] = 'cart':
-	$loc_s = 'gadmarket'
+	$loc_s = 'gad_market'
 	$args_s = 'cart'
 	*clr & cla
 
@@ -60,10 +57,10 @@ if $ARGS[0] = 'cart':
 	gs 'themes', 'indoors'
 	$backimage= 'images/locations/gadukino/village/market.jpg'
 
-	act 'Exit shopping cart': $backimage = '' & gt 'gadmarket'
+	act 'Exit shopping cart': $backimage = '' & gt 'gad_market'
 	act 'Leave the market': minut += 5 & gt 'gadukino'
 end
 
 
---- gadmarket ---------------------------------
+--- gad_market ---------------------------------
 

+ 309 - 302
locations/meadow.qsrc → locations/gad_meadow.qsrc

@@ -1,77 +1,75 @@
-# meadow
+# gad_meadow
 !2021/05/05
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
+
 if $ARGS[0] = 'start' or $ARGS[0] = '':
-	$loc = 'meadow'
-	$loc_arg = 'start'
+	gs 'shortgs', 'setloc', 'gad_meadow', 'start'
 	$location_type = 'secluded'
-
-	$menu_loc = 'meadow'
-	$menu_arg = 'start'
 	menu_off = 0
-
+	gs 'miroslava_schedule'
 	gs 'stat'
 
-	!MiraLoc = 0 (Mira at home)
-	!MiraLoc = 1 (Mira at river)
-	!MiraLoc = 2 (Mira at meadow)
-	!MiraLoc = 3 (Mira at forest)
-	!MiraLoc = 4 (Mira at field)
-	!MiraLoc = 5 (Mira with gop)
+	!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
-	!meadow = 1 'You have found the meadow'
-	!meadow = 2 'Your first visit with Mira'
-	!meadow = 3 'You allowed Mira to come here without you'
-	!meadow = 4 'You have denied Mira from coming here without you. Blocks wish and father events.'
-	!meadow = 5 'You are interested in Mira''s father'
-	!meadow = 6 'You have seduced Mira''s father, now its her turn'
+	!gad_meadow_found = 1 'You have found the meadow'
+	!MiraVars['meadow'] = 1 'Your first visit with Mira'
+	!MiraVars['meadow'] = 2 'You allowed Mira to come here without you'
+	!MiraVars['meadow'] = 3 'You have denied Mira from coming here without you. Blocks wish and father events.'
+	!MiraVars['meadow'] = 4 'You are interested in Mira''s father'
+	!MiraVars['meadow'] = 5 'You have seduced Mira''s father, now its her turn'
 
 	'<center><H4>Meadow</H4></center>'
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/meadow/meadow1_<<rand(0,5)>>.jpg"></center>'
 	*nl
 	'A quiet and deserted open field of grass and wildflowers in the forest, well hidden from civilization.'
-	'There are <a href="exec:gt ''meadow'', ''ruins''">ruins</a> of a long-abandoned house and some <a href="exec: gt ''meadow'', ''fruit_trees''">fruit trees</a>  hinting at the area''s original purpose.'
+	'There are <a href="exec:gt ''gad_meadow'', ''ruins''">ruins</a> of a long-abandoned house and some <a href="exec: gt ''gad_meadow'', ''fruit_trees''">fruit trees</a> hinting at the area''s original purpose.'
 	
 	!events trigger before everything
-	if (meadow = 3 or meadow = 6) and MiraLoc = 0 and npc_QW['A60'] = 2 and temper >= 12 and sunWeather = 1:gt 'meadow','mira_mitka'
-	if (meadow = 3 or meadow = 6) and Mira_no = 0 and MiraLoc = 0 and npc_QW['A60'] = 33 and temper >= 12 and sunWeather = 1:gt 'meadow','mira_gang'
-	if npc_QW['A63'] > 13 and mirasex = 0 and npc_QW['A60'] > 11:gt 'meadow','mira_lesb_talk1'
-	if npc_QW['A63'] > 13 and mirasex = 1 and npc_QW['A60'] > 11 and rand(1,5) = 1 and miraday ! daystart:gt 'meadow','mira_lesb_talk3'
-	if npc_QW['A63'] > 13 and mirasex = 1 and npc_QW['A60'] > 11:gt 'meadow','mira_lesb_talk2'
-	if mirasex = 2 and rand(1,5) > 3 and miraday ! daystart and npc_rel['A60'] >= 15:gt 'meadow','mira_lesb'
-
-	if MiraLoc = 2:
-		act 'Talk to Mira': gt 'meadow', 'Mira'
-		'<a href="exec: gt ''meadow'', ''Mira''">Mira</a> is in the meadow, spinning with a delightful smile and laughing.'
-	elseif Mira_no = 0:
-		temp_md = 20
-		if (meadow = 3 or meadow = 6) and sunWeather = 1:temp_md = rand(0,20)
-		if mirasextimes < 15 and temper >= 12 and temp_md = 0:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''0''">Mira</a>.'
-		elseif npc_QW['A60'] >= 2 and temper >= 15 and temp_md = 1:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''1''">Mira with Mitka</a>.'
-		elseif npc_QW['A60'] >= 8 and temper >= 15 and temp_md = 2:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''2''">Mira with Mitka</a>.'
-		elseif npc_QW['A60'] >= 11 and temper >= 10 and temp_md = 3:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''3''">Mira with Kolyamba</a>.'
-		elseif npc_QW['A60'] >= 11 and temper >= 10 and temp_md = 4:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''4''">Mira with Vasyan</a>.'
-		elseif npc_QW['A60'] >= 11 and temper >= 25 and temp_md = 5:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''5''">Mira with Vasyan</a>.'
-		elseif npc_QW['A60'] >= 11 and temper >= 12 and temp_md = 6:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''6''">Mira with Mitka, Vasyan and Kolyamba</a>.'
-		elseif npc_QW['A60'] >= 20 and temper >= 12 and temp_md = 7:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''7''">Mira with Vasyan and Kolyamba</a>.'
-		elseif npc_QW['A60'] >= 30 and temper >= 20 and temp_md = 8:
-			'In the clearing you notice <a href="exec: gt ''meadow'', ''8''">A bunch of half-naked hillbilly men</a>.'
-		elseif npc_QW['A60'] >= 20 and temper >= 25 and temp_md = 9:
-			'In a clearing you see <a href="exec: gt ''meadow'', ''9''">Mira</a>.'
+	if locat['A60'] = 61:
+		if (MiraVars['meadow'] = 2 or MiraVars['meadow'] = 5) and MiraVars['QW'] = 2 and temper >= 12 and sunWeather = 1: gt 'gad_meadow','mira_mitka'
+		if (MiraVars['meadow'] = 2 or MiraVars['meadow'] = 5) and daystart >= MiraVars['emb_day'] and MiraVars['QW'] = 33 and temper >= 12 and sunWeather = 1: gt 'gad_meadow','mira_gang'
+		if npc_QW['A63'] > 13 and MiraVars['had_sex'] = 0 and MiraVars['QW'] > 11: gt 'gad_meadow','mira_lesb_talk1'
+		if npc_QW['A63'] > 13 and MiraVars['had_sex'] = 1 and MiraVars['QW'] > 11 and rand(1,5) = 1 and MiraVars['event_day'] ! daystart: gt 'gad_meadow','mira_lesb_talk3'
+		if npc_QW['A63'] > 13 and MiraVars['had_sex'] = 1 and MiraVars['QW'] > 11:gt 'gad_meadow','mira_lesb_talk2'
+		if MiraVars['had_sex'] = 2 and rand(1,5) > 3 and MiraVars['event_day'] ! daystart and npc_rel['A60'] >= 15: gt 'gad_meadow','mira_lesb'
+
+		if (MiraVars['meadow'] = 2 or MiraVars['meadow'] = 5) and daystart >= MiraVars['emb_day']:
+			temp_md = rand(0,20)
+			if MiraVars['Mitka_fucks'] < 15 and temper >= 12 and temp_md = 0:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''0''">Mira</a>.'
+			elseif MiraVars['QW'] >= 2 and temper >= 15 and temp_md = 1:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''1''">Mira with Mitka</a>.'
+			elseif MiraVars['QW'] >= 8 and temper >= 15 and temp_md = 2:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''2''">Mira with Mitka</a>.'
+			elseif MiraVars['QW'] >= 11 and temper >= 10 and temp_md = 3:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''3''">Mira with Kolyamba</a>.'
+			elseif MiraVars['QW'] >= 11 and temper >= 10 and temp_md = 4:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''4''">Mira with Vasyan</a>.'
+			elseif MiraVars['QW'] >= 11 and temper >= 25 and temp_md = 5:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''5''">Mira with Vasyan</a>.'
+			elseif MiraVars['QW'] >= 11 and temper >= 12 and temp_md = 6:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''6''">Mira with Mitka, Vasyan and Kolyamba</a>.'
+			elseif MiraVars['QW'] >= 20 and temper >= 12 and temp_md = 7:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''7''">Mira with Vasyan and Kolyamba</a>.'
+			elseif MiraVars['QW'] >= 30 and temper >= 20 and temp_md = 8:
+				'In the clearing you notice <a href="exec: gt ''gad_meadow'', ''8''">A bunch of half-naked hillbilly men</a>.'
+			elseif MiraVars['QW'] >= 20 and temper >= 25 and temp_md = 9:
+				'In a clearing you see <a href="exec: gt ''gad_meadow'', ''9''">Mira</a>.'
+			end
 		end
+
+		act 'Talk to Mira': gt 'gad_meadow', 'Mira'
+		'<a href="exec: gt ''gad_meadow'', ''Mira''">Mira</a> is in the meadow, spinning with a delightful smile and laughing.'
+
+		if MiraVars['meadow'] ! 1:
+			act 'Walk back to the forest': minut += 20 & MiraVars['follower'] = 1 & gt 'gad_forest', 'forest_edge'
+		end
+
 	end
 
-	if MiraLoc = 2 and meadow ! 2:
-		act 'Walk back to the forest': minut += 20 & MiraLoc = 3 & gt 'gadforest', 'forest_edge'
-	elseif meadow ! 2:
-		act 'Walk back to the forest': minut += 20 & gt 'gadforest', 'forest_edge'
+	if MiraVars['meadow'] ! 1:
+		act 'Walk back to the forest': minut += 20 & gt 'gad_forest', 'forest_edge'
 	end
 
 	if sunWeather = 1:
@@ -79,26 +77,27 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 			if $clothingworntype ! 'danilovich_outfits':
 				*nl
 				'Your meadow would be a perfect place to workout if you were wearing exercise clothes'
-			   if temper >= 10:
-                    *nl
-                    gs 'willpower', 'skill', 'pcs_inhib', 'resist'
-                    if Miraloc ! 2 or (npc_rel['A60'] > 40 and npc_known['A60'] = 1) or mirasex = 1:
-                        if Miraloc = 2:
-                            'Your meadow is a perfect place to exercise. Mira is here, but she wouldn''t mind if you exercised for a little bit, even if in the nude.'
-                        else
-                            'Your meadow is a perfect place to exercise. No one is around, so you could probably exercise nude if you wanted.'
-                        end
-                        if will_cost <= pcs_willpwr:
-                            act 'Exercise nude':gt 'meadow', 'workout', 'nude'
-                        else
-                            act'Exercise nude (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-                        end
-                    end
-               end
+				if temper >= 10:
+					*nl
+					gs 'willpower', 'skill', 'pcs_inhib', 'resist'
+					if locat['A60'] ! 61 or (npc_rel['A60'] > 40 and npc_known['A60'] = 1) or MiraVars['had_sex'] = 1:
+						if locat['A60'] = 61:
+							'Your meadow is a perfect place to exercise. Mira is here, but she wouldn''t mind if you exercised for a little bit, even if in the nude.'
+						else
+							'Your meadow is a perfect place to exercise. No one is around, so you could probably exercise nude if you wanted.'
+						end
+
+						if will_cost > pcs_willpwr:
+							act'Exercise nude (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+						else
+							act 'Exercise nude': gt 'gad_meadow', 'workout', 'nude'
+						end
+					end
+				end
 			else
 				*nl
 				'Your meadow is a perfect place to exercise.'
-				act 'Exercise': gt 'meadow', 'workout'
+				act 'Exercise': gt 'gad_meadow', 'workout'
 			end
 		else
 			'Your meadow is a perfect place to exercise, but you don''t have the energy right now.'
@@ -108,6 +107,7 @@ if $ARGS[0] = 'start' or $ARGS[0] = '':
 	end
 end
 
+
 if $ARGS[0] = 'workout':
 	*clr & cla
 	if $ARGS[1] = 'nude':
@@ -119,8 +119,8 @@ if $ARGS[0] = 'workout':
 		else
 			'You strip off your clothes. The thought of getting caught naked in the meadow excites you.'
 		end
-		clothesAtLocation = FUNC('lost_clothes_here','meadow')
-		gs 'clothing', 'strip_all', 'meadow'
+		clothesAtLocation = func('lost_clothes_here', 'gad_meadow')
+		gs 'clothing', 'strip_all', 'gad_meadow'
 		gs 'arousal', 'flash', -10
 		gs 'arousal', 'end'
 		gs 'stat'
@@ -130,41 +130,44 @@ if $ARGS[0] = 'workout':
 	end
 end
 
+
 if $ARGS[0] = 'fruit_trees':
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/meadow/meadow_fruit_<<rand(0,1)>>.jpg"></center>'
 	*nl
 	'These fruit trees are flourishing in the undisturbed beauty of the meadow. But, unfortunately, all the fruit is out of your reach.'
-	act 'Continue': gt 'meadow', 'start'
+	act 'Continue': gt 'gad_meadow', 'start'
 end
 
+
 if $ARGS[0] = 'ruins':
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/meadow/meadow_nearby_ruins.jpg"></center>'
 	*nl
 	'The ruins of this old house look intriguing. But, you wonder how long it has been here.'
-	act 'Continue': gt 'meadow', 'start'
+	act 'Continue': gt 'gad_meadow', 'start'
 end
 
+
 if $ARGS[0] = 'Mira':
 	minut += 2
 	menu_off = 1
 	gs 'stat'
 	! first time here with Mira
-	if meadow = 2:
+	if MiraVars['meadow'] = 1:
 		gs 'miroslava', 'miraclothes'
 		'"Wow! This place is awesome. My family and I have only been in the village for a few months, but I have never heard anyone talk about this place." Mira tells you. "Now I know where I can come to when I want to be alone. You don''t mind, do you?"'
 		act 'You allow her to come here on her own':
 			*clr & cla
-			meadow = 3
+			MiraVars['meadow'] = 2
 			minut += 2
 			gs 'stat'
 			gs 'miroslava', 'miraclothes'
 			'"I think you are a responsible person, Mira. So, you can come to the meadow whenever it pleases you. But, I want this place to remain a secret, so you can never tell anyone about this place."'
 			'Mira readily agrees and is as happy as a lark. Mira energetically nods and says, "I''ll take this secret to the grave, I swear. But, if I don''t, I''ll grant you three wishes, which I promise I will perform no matter what..."'
-			act 'Finish': gt 'meadow', 'start'
+			act 'Finish': gt 'gad_meadow', 'start'
 		end
 		act 'Sorry, I want to keep this meadow private':
 			*clr & cla
-			meadow = 4
+			MiraVars['meadow'] = 3
 			minut += 2
 			gs 'stat'
 			gs 'miroslava', 'miraclothes'
@@ -175,12 +178,12 @@ if $ARGS[0] = 'Mira':
 				'Mira then asks if you could help cheer up her father. He has been depressed ever since her mother''s death nearly two years ago.'
 				act 'Maybe':
 					*clr & cla
-					meadow = 5
+					MiraVars['meadow'] = 4
 					minut += 2
 					pcs_horny += 40
 					gs 'stat'
 
-					if npc_QW['A60'] = 0:
+					if MiraVars['QW'] = 0:
 						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira.jpg"></center>'
 					else
 						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira3.jpg"></center>'
@@ -188,11 +191,11 @@ if $ARGS[0] = 'Mira':
 					'You agree, intrigued. You ask Mira what she has in mind? After a few seconds, she tells you she saw her father masturbating that morning. She doesn''t think her father has been with a woman since her mother died. Mira is sorry for her father''s loss, she''s too, for that matter, but she has an overwhelming desire to help him. She can''t just do nothing.'
 					'You know Mira loves her father very much. But you don''t know what you can do to help. You don''t want or need this drama in your life. So you tell her that there is nothing you can do to help with her father''s depression. Mira pouts and stands with her arms crossed. Her whole demeanour is one of injured innocence.'
 					'A few minutes later, to your surprise, you feel a bit sorry for how you snapped at Mira. But, you think to yourself, chatting with her dad couldn''t hurt, and it would be a good deed.'
-					act 'Leave': gt 'meadow', 'start'
+					act 'Leave': gt 'gad_meadow', 'start'
 				end
-				act 'Leave': gt 'meadow', 'start'
+				act 'Leave': gt 'gad_meadow', 'start'
 			else
-				meadow = 6
+				MiraVars['meadow'] = 5
 				'You and Mira speak for a while. Her mood is a little down, but a smile slowly creeps onto her face as you chat.'
 				'"I saw you meeting with my father. I want to thank you for attending to him. He had been depressed since my mother died two years ago. Being with you has really cheered him up."'
 				minut += 2
@@ -205,7 +208,7 @@ if $ARGS[0] = 'Mira':
 						pcs_horny += 20
 						inhib_exp += 1
 						gs 'stat'
-						act 'Leave': gt 'meadow', 'start'
+						act 'Leave': gt 'gad_meadow', 'start'
 					end
 				!! If Svetka isnt a total prude she can be a little bold
 				elseif pcs_inhib > 30:
@@ -216,20 +219,20 @@ if $ARGS[0] = 'Mira':
 						pcs_horny += 40
 						inhib_exp += 2
 						gs 'stat'
-						act 'Leave': gt 'meadow', 'start'
+						act 'Leave': gt 'gad_meadow', 'start'
 					end
 				end
 				!! Svetka can always choose to be silently emotional without me defining what that emotion is
-				act 'Say nothing and leave': gt 'meadow', 'start'
+				act 'Say nothing and leave': gt 'gad_meadow', 'start'
 			end
 		end
-	elseif MiraLoc = 2:
+	elseif locat['A60'] = 61:
 		gs 'miroslava', 'miraclothes'
 		'"What a wonderful place you have found. It''s so comfortable and sunny!"'
-		if pcs_horny >= 60 and npc_QW['A60'] > 15 and temper >= 20 and sunWeather = 1:
+		if pcs_horny >= 60 and MiraVars['QW'] > 15 and temper >= 20 and sunWeather = 1:
 			act 'Mira, come here and stick that tongue of your in my wet pussy!':
 				*clr & cla
-				if miralick = 0:miralick = 1 & girl += 1
+				if MiraVars['cuni_given'] = 0: MiraVars['cuni_given'] = 1 & girl += 1
 				! WD: missing horny adjust
 				gs 'stat'
 				if $pantyworntype ! 'none':
@@ -253,7 +256,7 @@ if $ARGS[0] = 'Mira':
 							gs 'arousal', 'cuni', 5, 'lesbian'
 							gs 'arousal', 'end'
 							gs 'stat'
-							act 'Finish': gt 'meadow', 'start'
+							act 'Finish': gt 'gad_meadow', 'start'
 						end
 					end
 				else
@@ -264,16 +267,15 @@ if $ARGS[0] = 'Mira':
 						'Mira obediently kneels at your feet, licking your clit and fingering your pussy. After a few minutes of this treatment, Mira brings you to a blazing orgasm.'
 						$orgasm_or = 'yes'
 						gs 'arousal', 'cuni', 5, 'lesbian'
-						gs 'arousal', 'vaginal_finger', 5, 'lesbian'
-						minut -= 5
+						gs 'arousal', 'vaginal_finger', -5, 'lesbian'
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Finish': gt 'meadow', 'start'
+						act 'Finish': gt 'gad_meadow', 'start'
 					end
 				end
 			end
 		end
-		act 'Finish': gt 'meadow', 'start'
+		act 'Finish': gt 'gad_meadow', 'start'
 	end
 end
 
@@ -321,7 +323,7 @@ if $ARGS[0] = '0':
 								gs 'arousal', 'voyeur_sex', 10, 'lesbian'
 								gs 'arousal', 'end'
 								gs 'stat'
-								act 'Hide until she leaves': minut += 10 & gt 'meadow'
+								act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 							end
 						end
 					end
@@ -358,7 +360,7 @@ if $ARGS[0] = '0':
 						gs 'arousal', 'voyeur_sex', 10, 'lesbian'
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Hide until she leaves': minut += 10 & gt 'meadow'
+						act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 					end
 				end
 			end
@@ -392,7 +394,7 @@ if $ARGS[0] = '0':
 						gs 'arousal', 'voyeur_sex', 10, 'lesbian'
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Hide until she leaves': minut += 10 & gt 'meadow'
+						act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 					end
 				end
 			end
@@ -415,21 +417,20 @@ if $ARGS[0] = '1':
 		gs 'stat'
 		act 'Watch':
 			*clr & cla
-			if npc_QW['A60'] = 2:npc_QW['A60'] = 3
+			if MiraVars['QW'] = 2: MiraVars['QW'] = 3
 			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex2.jpg"></center>'
 			'Fifteen minutes Mitka finally cums in Mira and leaves. Mira cleans up and then leaves as well.'
 			gs 'arousal', 'voyeur_sex', 5
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
+			act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 		end
 	end
 end
 
 if $ARGS[0] = '2':
 	menu_off = 1
-	temp_md = RAND(0,1)
-	if temp_md = 0:
+	if rand(0, 1) = 0:
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal.jpg"></center>'
 		'You see Mira lower her ass onto Mitka''s member and begin to bounce on top of him. You can hear the sound every time her butt cheeks hit his thighs...'
 		gs 'arousal', 'voyeur_sex', 2
@@ -440,6 +441,7 @@ if $ARGS[0] = '2':
 		gs 'arousal', 'voyeur_sex', 2
 		gs 'stat'
 	end
+
 	act 'Watch':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal2.jpg"></center>'
@@ -447,7 +449,7 @@ if $ARGS[0] = '2':
 		gs 'arousal', 'voyeur_sex', 10
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
+		act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 	end
 end
 
@@ -466,7 +468,7 @@ if $ARGS[0] = '3':
 			gs 'arousal', 'voyeur_sex', 2
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
+			act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 		end
 	else
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj2.jpg"></center>'
@@ -474,7 +476,7 @@ if $ARGS[0] = '3':
 		gs 'arousal', 'voyeur_sex', 10
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
+		act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 	end
 end
 
@@ -486,28 +488,30 @@ if $ARGS[0] = '4' or $ARGS[0] = '5':
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
+		act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+
 	elseif temper >= 12 and temper < 15:
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj3.jpg"></center>'
 		'They are completely naked, and Mira sticks her ass up in the air as she deepthroats Vasyan. After a few minutes, you see Mira gulp down his sperm without removing her mouth from his cock.'
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
+		act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+
 	elseif temper >= 15 and temper < 20:
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj4.jpg"></center>'
 		'They are completely naked, and Mira squeals joyfully as she rides on Vasyan''s member. Unfortunately, he does not last long and cums all over her butt as soon as he pulls out of her.'
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
-	elseif temper >= 20:
+		act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+	else
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj6.jpg"></center>'
 		'Mira is completely naked and bent over in front of Vasyan. She is really enjoying it as he thrusts into her ass. After a few minutes, he pulls and sprays cum over his back.'
 		gs 'arousal', 'voyeur_sex', 5
 		gs 'arousal', 'end'
 		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
+		act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 	end
 end
 
@@ -515,7 +519,7 @@ end
 !{
 if $ARGS[0] = '5':
 	menu_off = 1
-	if (meadow = 3 or meadow = 6) and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 25 and sunWeather = 1 and temp_md = 5:
+	if locat['A60'] = 61 and MiraVars['QW'] >= 11 and temper >= 25 and sunWeather = 1 and temp_md = 5:
 		*clr & cla
 		minut += 5
 		pcs_horny += 20
@@ -537,11 +541,11 @@ if $ARGS[0] = '6':
 	end
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Hide until they leave': minut += 10 & gt 'meadow'
+	act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 end
 
 if $ARGS[0] = '7':
-	npc_QW['A60'] += 1
+	MiraVars['QW'] += 1
 	menu_off = 1
 	if temper < 15:
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj11.jpg"></center>'
@@ -558,18 +562,18 @@ if $ARGS[0] = '7':
 	end
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Hide until they leave': minut += 10 & gt 'meadow'
+	act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 end
 
 if $ARGS[0] = '8':
-	npc_QW['A60'] += 1
+	MiraVars['QW'] += 1
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj12.jpg"></center>'
 	'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching as the men take turns fucking Mira until they are all tired.'
 	gs 'arousal', 'voyeur_sex', 30
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Hide until they leave': minut += 10 & gt 'meadow'
+	act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 end
 
 if $ARGS[0] = '9':
@@ -579,7 +583,7 @@ if $ARGS[0] = '9':
 	gs 'arousal', 'voyeur_sex', 30
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Hide until she leaves': minut += 10 & gt 'meadow'
+	act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 end
 
 !125s
@@ -599,36 +603,36 @@ if $ARGS[0] = 'mira_mitka':
 		gs 'stat'
 		act 'Watch':
 			*clr & cla
-			if npc_QW['A60'] = 2:npc_QW['A60'] = 3
-			mirasextimes += 1
+			if MiraVars['QW'] = 2: MiraVars['QW'] = 3
+			MiraVars['Mitka_fucks'] += 1
 			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex2.jpg"></center>'
 			'Fifteen minutes Mitka finally cums in Mira and leaves. Mira cleans up and then leaves as well.'
 			gs 'arousal', 'voyeur_sex', 15
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
+			act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 		end
 	end
 end
 
 if $ARGS[0] = 'mira_gang':
-	npc_QW['A60'] = 31
+	MiraVars['QW'] = 31
 	menu_off = 1
-	mirasextimes += 1
+	MiraVars['Mitka_fucks'] += 1
 
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj12.jpg"></center>'
 	'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching as the men take turns fucking Mira until they are all tired.'
 	gs 'arousal', 'voyeur_sex', 30
 	gs 'arousal', 'end'
 	gs 'stat'
-	act 'Hide until they leave': minut += 10 & gt 'meadow'
+	act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 end
 
 if $ARGS[0] = 'miraperversion11':
 	minut += 5
 	menu_off = 1
 	pcs_horny += 10
-	npc_QW['A60'] = 12
+	MiraVars['QW'] = 12
 	gs 'stat'
 
 	gs 'miroslava', 'miraclothes'
@@ -643,21 +647,21 @@ end
 
 if $ARGS[0] = 'lesb_mira':
 	menu_off = 1
-	miraday = daystart
-	mirahorny = rand(0,80)
+	MiraVars['event_day'] = daystart
+	MiraVars['arousal'] = rand(0, 80)
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirakiss1.jpg"></center>'
 	'"I''m glad you came, Mira," you say.'
 	'You continue, "Mira, I want you," you whispered in her ear and kissed her passionately on the lips.'
 	gs 'arousal', 'kiss', 5, 'lesbian'
 	gs 'stat'
-	if mirahorny < 20:act 'Continue':gt 'mirasex','mirakiss'
-	if mirahorny >= 20:act 'Continue':gt 'mirasex','foreplay'
+	if MiraVars['arousal'] < 20: act 'Continue': gt 'mirasex','mirakiss'
+	if MiraVars['arousal'] >= 20: act 'Continue': gt 'mirasex','foreplay'
 end
 
 if $ARGS[0] = 'mira_lesb':
 	menu_off = 1
-	miraday = daystart
-	mirahorny = rand(40,80)
+	MiraVars['event_day'] = daystart
+	MiraVars['arousal'] = rand(40, 80)
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirakiss4.jpg"></center>'
 	'In the meadow, Mira walks up to you, smiling mischievously.'
 	'"<<$pcs_nickname>>, let me see your pussy", she whispered in your ear while pinning you to the tree and kissing your lips.'
@@ -707,7 +711,7 @@ if $ARGS[0] = 'lesb_talk_mira2':
 	menu_off = 1
 	minut += 5
 	pcs_horny += 5
-	mirasex = 2
+	MiraVars['had_sex'] = 2
 	gs 'miroslava', 'miraclothes'
 	gs 'stat'
 	'You walk up to Mira with a malicious smile on your face.'
@@ -740,12 +744,12 @@ if $ARGS[0] = 'mira_lesb_talk1':
 	menu_off = 1
 	minut += 5
 	pcs_horny += 5
-	mirahorny = rand(0,80)
+	MiraVars['arousal'] = rand(0, 80)
 	gs 'stat'
 
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_lesb_talk.jpg"></center>'
-	if MiraLoc ! 2:'In the clearing, you met Mira. Seeing you, she immediately came up with a sly smile on his lips.'
-	if MiraLoc = 2:'When you came into the clearing, Mira immediately came to you with a sly smile on his lips.'
+	if locat['A60'] ! 61:'In the clearing, you met Mira. Seeing you, she immediately came up with a sly smile on his lips.'
+	if locat['A60'] = 61:'When you came into the clearing, Mira immediately came to you with a sly smile on his lips.'
 	'"<<$pcs_nickname>>, you fucked all the boys in the village now.'
 	'You tried to keep silent, but Mira wouldn''t let it go.'
 	'"So did they or didn''t they?" - she insisted on your answer.'
@@ -794,8 +798,8 @@ if $ARGS[0] = 'mira_lesb_talk2':
 	menu_off = 1
 	minut += 5
 	pcs_horny += 5
-	mirasex = 2
-	mirahorny = rand(0,80)
+	MiraVars['had_sex'] = 2
+	MiraVars['arousal'] = rand(0, 80)
 	gs 'stat'
 
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_lesb_talk2.jpg"></center>'
@@ -805,7 +809,7 @@ if $ARGS[0] = 'mira_lesb_talk2':
 	'"So, did they or didn''t they?" she insists on an answer.'
 	'"Well, yes", you acknowledged.'
 	'"You know what that means?" she continues.'
-	'"What?"  you ask, blushing terribly, although you already guessed where this is going.'
+	'"What?" you ask, blushing terribly, although you already guessed where this is going.'
 	'"It''s time to return the favour, " she said triumphantly, leaning on a tree, beckoning you with her finger. "You can start."'
 	'You hesitated for a couple of moments as if pondering something, and then you knelt down on your knees in front of her.'
 	act 'Lick Mira':gt 'mirasex','lickmira_first'
@@ -815,12 +819,12 @@ if $ARGS[0] = 'mira_lesb_talk3':
 	menu_off = 1
 	minut += 5
 	pcs_horny += 5
-	mirahorny = rand(40,80)
-	miraday = daystart
+	MiraVars['arousal'] = rand(40, 80)
+	MiraVars['event_day'] = daystart
 	gs 'stat'
 
 	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_lesb_talk3.jpg"></center>'
-	if MiraLoc ! 2:
+	if locat['A60'] ! 61:
 		'In the clearing, you meet Mira. Seeing you, she immediately approached you with an excited face.'
 		'"Where were you, <<$pcs_nickname>>? I was looking for you," she said. So get over here and help me out.'
 	else
@@ -836,8 +840,8 @@ if $ARGS[0] = 'mira_lesb_talk4':
 	menu_off = 1
 	minut += 20
 	pcs_horny += 5
-	mirahorny = rand(40,80)
-	miraday = daystart
+	MiraVars['arousal'] = rand(40, 80)
+	MiraVars['event_day'] = daystart
 	gs 'stat'
 
 	gs 'miroslava', 'miraclothes'
@@ -855,7 +859,7 @@ if $ARGS[0] = 'mirameadow':
 	menu_off = 1
 	minut += 2
 	gs 'stat'
-	if (meadow = 3 or meadow = 6) and MiraLoc = 0 and mirasextimes < 15 and temper >= 12 and temper < 20 and sunWeather = 1 and temp_md = 0:
+	if locat['A60'] = 61 and (MiraVars['meadow'] = 2 or MiraVars['meadow'] = 5) and MiraVars['Mitka_fucks'] < 15 and temper >= 12 and temper < 20 and sunWeather = 1 and temp_md = 0:
 		*clr & cla
 		minut += 2
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowmastr.jpg"></center>'
@@ -897,14 +901,14 @@ if $ARGS[0] = 'mirameadow':
 								gs 'arousal', 'voyeur', 10
 								gs 'arousal', 'end'
 								gs 'stat'
-								act 'Hide until she leaves': minut += 10 & gt 'meadow'
+								act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 							end
 						end
 					end
 				end
 			end
 		end
-	elseif meadow = 3 and MiraLoc = 0 and mirasextimes < 15 and temper >= 20 and temper < 25 and sunWeather = 1 and temp_md = 0:
+	elseif MiraVars['meadow'] = 3 and locat['A60'] = 61 and MiraVars['Mitka_fucks'] < 15 and temper >= 20 and temper < 25 and sunWeather = 1 and temp_md = 0:
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowmastr7.jpg"></center>'
 		'Mira is leaning against a tree and starts to caress herself.'
@@ -935,12 +939,12 @@ if $ARGS[0] = 'mirameadow':
 						gs 'arousal', 'voyeur', 10
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Hide until she leaves': minut += 10 & gt 'meadow'
+						act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 					end
 				end
 			end
 		end
-	elseif meadow = 3 and MiraLoc = 0 and mirasextimes < 15 and temper >= 25 and sunWeather = 1 and temp_md = 0:
+	elseif locat['A60'] = 61 and MiraVars['meadow'] = 2 and MiraVars['Mitka_fucks'] < 15 and temper >= 25 and sunWeather = 1 and temp_md = 0:
 		*clr & cla
 		minut += 2
 		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowmastr12.jpg"></center>'
@@ -970,190 +974,193 @@ if $ARGS[0] = 'mirameadow':
 						gs 'arousal', 'voyeur', 10
 						gs 'arousal', 'end'
 						gs 'stat'
-						act 'Hide until she leaves': minut += 10 & gt 'meadow'
+						act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 					end
 				end
 			end
 		end
 	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 2 and temper >= 15 and sunWeather = 1 and temp_md = 1:
-		*clr & cla
-		minut += 2
-		pcs_horny += 15
-		gs 'stat'
-		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex.jpg"></center>'
-		'You see Mira and Mitka talking to each other. You can''t hear what they say from this far away, but they begin to undress in your meadow.'
-		act 'Watch':
+
+	if locat['A60'] = 61 and MiraVars['meadow'] = 2 and temper >= 15 and sunWeather = 1:
+		if temp_md = 1 and MiraVars['QW'] >= 2:
 			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex1.jpg"></center>'
-			'Mira lies before Mitka on the bedspread and opens her legs invitingly in front of him. Mitka wastes no time and immediately starts roughly fucking her pussy.'
-			gs 'arousal', 'voyeur', 5
+			minut += 2
+			pcs_horny += 15
 			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex.jpg"></center>'
+			'You see Mira and Mitka talking to each other. You can''t hear what they say from this far away, but they begin to undress in your meadow.'
 			act 'Watch':
 				*clr & cla
-				if npc_QW['A60'] = 2:npc_QW['A60'] = 3
-				mirasextimes += 1
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex2.jpg"></center>'
-				'Fifteen minutes Mitka finally cums in Mira and leaves. Mira cleans up and then leaves as well.'
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex1.jpg"></center>'
+				'Mira lies before Mitka on the bedspread and opens her legs invitingly in front of him. Mitka wastes no time and immediately starts roughly fucking her pussy.'
 				gs 'arousal', 'voyeur', 5
-				gs 'arousal', 'end'
 				gs 'stat'
-				act 'Hide until they leave': minut += 10 & gt 'meadow'
+				act 'Watch':
+					*clr & cla
+					if MiraVars['QW'] = 2:MiraVars['QW'] = 3
+					MiraVars['Mitka_fucks'] += 1
+					'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadowsex2.jpg"></center>'
+					'Fifteen minutes Mitka finally cums in Mira and leaves. Mira cleans up and then leaves as well.'
+					gs 'arousal', 'voyeur', 5
+					gs 'arousal', 'end'
+					gs 'stat'
+					act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+				end
 			end
-		end
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 8 and temper >= 15 and sunWeather = 1 and temp_md = 2:
-		*clr & cla
-		temp_md = RAND(0,1)
-		gs 'stat'
-		if temp_md = 0:
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal.jpg"></center>'
-			'You see Mira lower her ass onto Mitka''s member and begin to bounce on top of him. You can hear the sound every time her butt cheeks hit his thighs...'
-			gs 'arousal', 'voyeur', 2
-			gs 'stat'
-		else
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal1.jpg"></center>'
-			'Mira gets down on all fours and spreads her ass cheeks wide apart. She moans loudly as Mitka drives his cock into her ass.'
-			gs 'arousal', 'voyeur', 2
-			gs 'stat'
-		end
-		act 'Watch':
+
+		elseif temp_md = 2 and MiraVars['QW'] >= 8:
 			*clr & cla
-			mirasextimes += 1
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal2.jpg"></center>'
-			'After a couple of minutes, Mitka slaps her ass and pulls out of Mira. She gets up on her knees before him and sticks her tongue out as his warm cum shoots all over her face.'
-			gs 'arousal', 'voyeur', 5
-			gs 'arousal', 'end'
-			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
-		end
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 3:
-		*clr & cla
-		if temper < 15:
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj.jpg"></center>'
-			'She enthusiastically sucks his cock and takes his whole member down her throat...'
-			gs 'arousal', 'voyeur', 2
 			gs 'stat'
+			if RAND(0, 1) = 0:
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal.jpg"></center>'
+				'You see Mira lower her ass onto Mitka''s member and begin to bounce on top of him. You can hear the sound every time her butt cheeks hit his thighs...'
+				gs 'arousal', 'voyeur', 2
+				gs 'stat'
+			else
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal1.jpg"></center>'
+				'Mira gets down on all fours and spreads her ass cheeks wide apart. She moans loudly as Mitka drives his cock into her ass.'
+				gs 'arousal', 'voyeur', 2
+				gs 'stat'
+			end
 			act 'Watch':
 				*clr & cla
-				mirasextimes += 1
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj1.jpg"></center>'
-				'But, apparently, you''re a little late because, after a couple minutes, Kolyamba puts a hand on the back of Mira''s head and holds her while he cums down her throat. At first, she gags but eventually obediently swallows his cum...'
+				MiraVars['Mitka_fucks'] += 1
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowanal2.jpg"></center>'
+				'After a couple of minutes, Mitka slaps her ass and pulls out of Mira. She gets up on her knees before him and sticks her tongue out as his warm cum shoots all over her face.'
 				gs 'arousal', 'voyeur', 5
 				gs 'arousal', 'end'
 				gs 'stat'
-				act 'Hide until they leave': minut += 10 & gt 'meadow'
+				act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
 			end
-		else
+
+		elseif temp_md = 3 and MiraVars['QW'] >= 11:
+			*clr & cla
+			!! temper >= 15 per definition..???
+			if temper < 15:
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj.jpg"></center>'
+				'She enthusiastically sucks his cock and takes his whole member down her throat...'
+				gs 'arousal', 'voyeur', 2
+				gs 'stat'
+				act 'Watch':
+					*clr & cla
+					MiraVars['Mitka_fucks'] += 1
+					'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj1.jpg"></center>'
+					'But, apparently, you''re a little late because, after a couple minutes, Kolyamba puts a hand on the back of Mira''s head and holds her while he cums down her throat. At first, she gags but eventually obediently swallows his cum...'
+					gs 'arousal', 'voyeur', 5
+					gs 'arousal', 'end'
+					gs 'stat'
+					act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+				end
+			else
+				*clr & cla
+				MiraVars['Mitka_fucks'] += 1
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj2.jpg"></center>'
+				'All Mira has on is some flip-flops with her face on the ground and her ass in the air. She moans loudly as Kolyamba pounds her pussy and cums inside of her...'
+				gs 'arousal', 'voyeur', 5
+				gs 'arousal', 'end'
+				gs 'stat'
+				act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+			end
+
+		elseif temp_md = 4 and MiraVars['QW'] >= 11:
 			*clr & cla
-			mirasextimes += 1
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj2.jpg"></center>'
-			'All Mira has on is some flip-flops with her face on the ground and her ass in the air. She moans loudly as Kolyamba pounds her pussy and cums inside of her...'
-			gs 'arousal', 'voyeur', 5
-			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
-		end
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 4:
-		*clr & cla
-		gs 'stat'
-		if temper < 20:
-			mirasextimes += 1
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj5.jpg"></center>'
-			'Mira is tied to a tree as Vasyan enthusiastically drives his cock in her mouth. She gags and coughs, but simultaneously, she moves her head farther down his member. Finally, after a couple of minutes, Vasyan tilts back his head and, with a blissful roar cums in her mouth...'
-			gs 'arousal', 'voyeur', 5
+			if temper < 20:
+				MiraVars['Mitka_fucks'] += 1
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj5.jpg"></center>'
+				'Mira is tied to a tree as Vasyan enthusiastically drives his cock in her mouth. She gags and coughs, but simultaneously, she moves her head farther down his member. Finally, after a couple of minutes, Vasyan tilts back his head and, with a blissful roar cums in her mouth...'
+				gs 'arousal', 'voyeur', 5
+				gs 'arousal', 'end'
+				gs 'stat'
+				act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+			else
+				MiraVars['Mitka_fucks'] += 1
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj6.jpg"></center>'
+				'Mira is completely naked and bent over in front of Vasyan. She is really enjoying it as he thrusts into her ass. After a few minutes, he pulls out and sprays cum over her back.'
+				gs 'arousal', 'voyeur', 5
+				gs 'arousal', 'end'
+				gs 'stat'
+				act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+			end
+
+		elseif temp_md = 5 and MiraVars['QW'] >= 11:
+			*clr & cla
+			gs 'stat'
+			if temper < 20:
+				MiraVars['Mitka_fucks'] += 1
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj3.jpg"></center>'
+				'They are completely naked, and Mira sticks her ass up in the air as she deepthroats Vasyan. After a few minutes, you see Mira gulp down his sperm without removing her mouth from his cock.'
+				gs 'arousal', 'voyeur', 5
+				gs 'arousal', 'end'
+				gs 'stat'
+				act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+			else
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj4.jpg"></center>'
+				'They are completely naked, and Mira squeals joyfully as she rides on Vasyan''s member. Unfortunately, he does not last long and cums all over her butt as soon as he pulls out of her.'
+				gs 'arousal', 'voyeur', 5
+				gs 'arousal', 'end'
+				gs 'stat'
+				act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+			end
+
+		elseif temp_md = 6 and MiraVars['QW'] >= 11:
+			*clr & cla
+			MiraVars['Mitka_fucks'] += 1
+			if temper < 20:
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj7.jpg"></center>'
+				'Mira is kneeling between the three friends and sucking their cocks with great pleasure. They are all crowded around her, so you can''t determine who is in her mouth, who is grabbing her tits, and who is getting a handjob.'
+				gs 'arousal', 'voyeur', 5
+			else
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj8.jpg"></center>'
+				'Mira is kneeling between the three friends and sucking their cocks with great pleasure. They are all crowded around her, so you can''t determine who is in her mouth, who is grabbing her tits, and who is getting a handjob.'
+				gs 'arousal', 'voyeur', 5
+			end
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
-		else
-			mirasextimes += 1
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj6.jpg"></center>'
-			'Mira is completely naked and bent over in front of Vasyan. She is really enjoying it as he thrusts into her ass. After a few minutes, he pulls out and sprays cum over her back.'
-			gs 'arousal', 'voyeur', 5
+			act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+
+		elseif temp_md = 7 and MiraVars['QW'] >= 11:
+			*clr & cla
+			if MiraVars['QW'] < 20: MiraVars['QW'] += 1
+			if temper < 20:
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj11.jpg"></center>'
+				'Mira squats in front of one of the boys and takes his cock in her mouth while another gets ready for his turn.'
+				gs 'arousal', 'voyeur', 5
+			elseif temper >= 20 and temper < 25:
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj10.jpg"></center>'
+				'Two boys are fucking Mira in her mouth and pussy simultaneously. The whole time they are laughing and talking while Mira moans in between them... Fifteen minutes later, they finish with her and leave.'
+				gs 'arousal', 'voyeur', 5
+			else
+				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj9.jpg"></center>'
+				'Mira and the two boys she is with are all naked. She is sucking one of them while another plays with her breasts and pussy from behind.'
+				gs 'arousal', 'voyeur', 5
+			end
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
-		end
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 5:
-		*clr & cla
-		gs 'stat'
-		if temper < 20:
-			mirasextimes += 1
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj3.jpg"></center>'
-			'They are completely naked, and Mira sticks her ass up in the air as she deepthroats Vasyan. After a few minutes, you see Mira gulp down his sperm without removing her mouth from his cock.'
-			gs 'arousal', 'voyeur', 5
+			act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+
+		elseif temp_md = 8 and MiraVars['QW'] > 30:
+			*clr & cla
+			MiraVars['QW'] += 1
+			MiraVars['Mitka_fucks'] += 1
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj12.jpg"></center>'
+			'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching as the men take turns fucking Mira until they are all tired.'
+			gs 'arousal', 'voyeur', 30
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
-		else
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj4.jpg"></center>'
-			'They are completely naked, and Mira squeals joyfully as she rides on Vasyan''s member. Unfortunately, he does not last long and cums all over her butt as soon as he pulls out of her.'
-			gs 'arousal', 'voyeur', 5
+			act 'Hide until they leave': minut += 10 & gt 'gad_meadow', 'start'
+
+		elseif temp_md = 9 and MiraVars['QW'] >= 20:
+			*clr & cla
+			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadows.jpg"></center>'
+			'You see Mira on all fours with her back to you. She is shoving an ear of corn in her ass which looks painful, but she is still moaning. Eventually, Mira finishes and tosses the cum covered ear of corn off into the bushes, almost hitting you!'
+			gs 'arousal', 'voyeur', 10
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Hide until they leave': minut += 10 & gt 'meadow'
-		end
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 6:
-		*clr & cla
-		mirasextimes += 1
-		if temper < 20:
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj7.jpg"></center>'
-			'Mira is kneeling between the three friends and sucking their cocks with great pleasure. They are all crowded around her, so you can''t determine who is in her mouth, who is grabbing her tits, and who is getting a handjob.'
-			gs 'arousal', 'voyeur', 5
-		else
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj8.jpg"></center>'
-			'Mira is kneeling between the three friends and sucking their cocks with great pleasure. They are all crowded around her, so you can''t determine who is in her mouth, who is grabbing her tits, and who is getting a handjob.'
-			gs 'arousal', 'voyeur', 5
+			act 'Hide until she leaves': minut += 10 & gt 'gad_meadow', 'start'
 		end
-		gs 'arousal', 'end'
-		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 11 and temper >= 15 and sunWeather = 1 and temp_md = 7:
-		*clr & cla
-		if npc_QW['A60'] < 20: npc_QW['A60'] += 1
-		if temper < 20:
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj11.jpg"></center>'
-			'Mira squats in front of one of the boys and takes his cock in her mouth while another gets ready for his turn.'
-			gs 'arousal', 'voyeur', 5
-		elseif temper >= 20 and temper < 25:
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj10.jpg"></center>'
-			'Two boys are fucking Mira in her mouth and pussy simultaneously. The whole time they are laughing and talking while Mira moans in between them... Fifteen minutes later, they finish with her and leave.'
-			gs 'arousal', 'voyeur', 5
-		else
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj9.jpg"></center>'
-			'Mira and the two boys she is with are all naked. She is sucking one of them while another plays with her breasts and pussy from behind.'
-			gs 'arousal', 'voyeur', 5
-		end
-		gs 'arousal', 'end'
-		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] > 30 and temper >= 15 and sunWeather = 1 and temp_md = 8:
-		*clr & cla
-		npc_QW['A60'] += 1
-		mirasextimes += 1
-		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirameadowbj12.jpg"></center>'
-		'Mira is almost invisible with all the bodies around her. You can only see her naked ass and feet swaying in the air. You spend half an hour watching as the men take turns fucking Mira until they are all tired.'
-		gs 'arousal', 'voyeur', 30
-		gs 'arousal', 'end'
-		gs 'stat'
-		act 'Hide until they leave': minut += 10 & gt 'meadow'
-	end
-	if meadow = 3 and MiraLoc = 0 and npc_QW['A60'] >= 20 and temper >= 15 and sunWeather = 1 and temp_md = 9:
-		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirameadows.jpg"></center>'
-		'You see Mira on all fours with her back to you. She is shoving an ear of corn in her ass which looks painful, but she is still moaning. Eventually, Mira finishes and tosses the cum covered ear of corn off into the bushes, almost hitting you!'
-		gs 'arousal', 'voyeur', 10
-		gs 'arousal', 'end'
-		gs 'stat'
-		act 'Hide until she leaves': minut += 10 & gt 'meadow'
 	end
 end
 
---- meadow ---------------------------------
+--- gad_meadow ---------------------------------
 

+ 13 - 17
locations/miroslavahome.qsrc → locations/gad_miroslava_home.qsrc

@@ -1,16 +1,12 @@
-# miroslavahome
+# gad_miroslava_home
 !2021/05/02
 
 if $ARGS[0] = 'start':
-	$loc = 'MiroslavaHome'
-	$loc_arg = 'start'
+	*clr & cla
+	gs 'shortgs', 'setloc', 'gad_miroslava_home', 'start'
 	$location_type = 'public_outdoors'
-
-	$menu_loc = 'MiroslavaHome'
-	$menu_arg = 'start'
 	menu_off = 0
-
-	*clr & cla
+	gs 'miroslava_schedule'
 	minut += 5
 	gs 'stat'
 
@@ -43,7 +39,7 @@ if $ARGS[0] = 'start':
 		if month >= 5 and month <= 9 and hour >= 18 and hour <= 21 and week = 5 and mirabrotherday ! daystart:
 			*nl
 			'You see a motorcycle parked outside of Mira''s house. Mira''s brother has come in from the city to visit his sister and father.'
-			act 'Talk to Mira''s brother': gt 'MiroslavaHome', 'mirabrother'
+			act 'Talk to Mira''s brother': gt 'gad_miroslava_home', 'mirabrother'
 		end
 	else
 		*nl
@@ -61,7 +57,7 @@ if $ARGS[0] = 'mirabrother':
 
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big65.jpg"></center>'
 
-	act 'Leave him be': gt 'MiroslavaHome', 'start'
+	act 'Leave him be': gt 'gad_miroslava_home', 'start'
 	act 'Ask if you can get a ride on his motorcycle':
 		*clr & cla
 		minut += 2
@@ -76,15 +72,15 @@ if $ARGS[0] = 'mirabrother':
 				'He gazes at you for a couple of seconds and then asks, "Who are you again?"'
 			end
 
-			act 'Walk away': gt 'MiroslavaHome', 'start'
+			act 'Walk away': gt 'gad_miroslava_home', 'start'
 		else
 			if $pantyworntype ! 'none':
 				'"No problem", he says to you while looking you up and down with a strange glint in his eyes. "But my bike, well, he only allows girls without panties to ride on his back, and there''s nothing I can do about it. This bike is a little devil."'
-				act 'Look at him in disgust and walk away': gt 'MiroslavaHome', 'start'
+				act 'Look at him in disgust and walk away': gt 'gad_miroslava_home', 'start'
 				act 'Remove panties':
 					gs 'underwear', 'remove'
 					'You really want a ride on his motorcycle and quickly slide them down your legs and stuff them in your pocket.'
-					gt 'MiroslavaHome', 'mirabrother'
+					gt 'gad_miroslava_home', 'mirabrother'
 				end
 			else
 				'"No problem", he says to you and then adds with a mischievous smile, "but first, sit down on him, and he''ll check to make sure he likes you. He is a fussy son of a bitch."'
@@ -98,7 +94,7 @@ if $ARGS[0] = 'mirabrother':
 					'You quickly swing your leg up and over the motorcycle, plop your ass down on the padded seat and grab the handlebars. With a satisfied smile, Mira''s brother never takes his eyes off your crotch. You wiggle your ass on the seat a little giving him a great view of your naked pussy.'
 					'"Fine", he says, still smiling, "Just fine! You have an awesome pussy, and I''m sure my friend," and he slaps the gas tank, "is looking forward to having you ride on him. You know what I mean, yes?" You give him a wicked grin and nod. "We''ll give you a ride to remember, and then you can give me a ride to remember..." You just continue to nod.'
 
-					act 'Change your mind and leave': gt 'MiroslavaHome', 'start'
+					act 'Change your mind and leave': gt 'gad_miroslava_home', 'start'
 					act 'Hell yes, you agree...':
 						*clr & cla
 						pcs_horny += 10
@@ -190,8 +186,8 @@ if $ARGS[0] = 'mirabrother':
 														'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mira/mirabromoto8.jpg"></center>'
 														'After a couple of minutes, you feel his warm sticky cum hit the back of your throat and begin to swallow it all down. Mira''s brother stands still for a minute, eyes closed in bliss. Then, finally, he takes his cock out of your mouth and zips up his pants. You put your helmets back on, get on the motorcycle once again, and he drives you back to the village...'
 
-														act 'Ask him to take you back to Mira''s house': gt 'MiroslavaHome', 'start'
-														if grandmaQW['block'] = 0:act 'Ask him to drop you off at your grandparents house': gt 'gaddvor'
+														act 'Ask him to take you back to Mira''s house': gt 'gad_miroslava_home', 'start'
+														if grandmaQW['block'] = 0:act 'Ask him to drop you off at your grandparents house': gt 'gad_gpyard', 'start'
 													end
 												end
 											end
@@ -207,5 +203,5 @@ if $ARGS[0] = 'mirabrother':
 	end
 end
 
---- miroslavahome ---------------------------------
+--- gad_miroslava_home ---------------------------------
 

+ 53 - 68
locations/gadprostitutes.qsrc → locations/gad_prostitutes.qsrc

@@ -1,15 +1,13 @@
-# gadprostitutes
+# gad_prostitutes
 !2021/05/05
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
 if $ARGS[0] = 'start':
-	$loc = 'gadprostitutes'
-	$loc_arg = 'start'
+	gs 'shortgs', 'setloc', 'gad_prostitutes', 'start'
 	$location_type = 'public_outdoors'
-
-	$menu_loc = 'gadprostitutes'
-	$menu_arg = 'start'
 	menu_off = 0
-
+	gs 'miroslava_schedule'
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
 	gs'stat'
@@ -23,44 +21,43 @@ if $ARGS[0] = 'start':
 		'<center><img <<$set_imgh>> src="images/locations/highway/road.jpg"></center>'
 	end
 
-	if MiraLoc ! 8 and npc_QW['A60'] > 15 and hour >= 16 and hour <= 19: MiraLoc = 8
-	if MiraLoc ! 8 and npc_QW['A60'] > 15: 'You look around for Mira but don''t see her here. So she must be doing something else right now.'
-	!if gadriver_gang = 2 and (mirapimp = 0 or mirapimp = 2):
+	if locat['A60'] ! 80 and MiraVars['QW'] > 15: 'You look around for Mira but don''t see her here. So she must be doing something else right now.'
+	!if GadBoy['river_gang'] = 2 and (mirapimp = 0 or mirapimp = 2):
 	!	if PCloStyle <> 4:
 	!		'You are not wearing the right clothes to prostitute yourself.'
 	!	elseif pcs_sleep <= 0:
 	!		'You are too tired to prostitute yourself.'
 	!	end
 	!end
-	if hour >= 16 and hour <= 23:
+	act 'Walk back to the highway': nroad = 10 & gt 'road'
+
+	if hour < 16:
+		'It is not a good time of day for prostitution. Try coming back later in the evening.'
+	else
 		! event to remove Sveta from being miras pimp if she becomes the boys slut, the village whore
-		if MiraLoc = 8 and mirapimp = 1 and (npc_QW['A63'] >= 11 or gadriver_gang = 2): 
-			gs 'gadprostitutes', 'mira_rebels'
+		if locat['A60'] = 80 and mirapimp = 1 and (npc_QW['A63'] >= 11 or GadBoy['river_gang'] = 2): 
+			gs 'gad_prostitutes', 'mira_rebels'
 		else
-			act 'Walk back to the highway': nroad = 10 & gt 'road'
-			if MiraLoc = 8:
+			if locat['A60'] = 80:
 				'You see Mira standing below a streetlight a little way down the road.'
 
 				! event to become miras pimp if not the boys slut, not the village whore
-				if mirapimp = 0 and npc_QW['A63'] < 11 and gadriver_gang = 0: gt 'gadprostitutes', 'pimp_mira'
+				if mirapimp = 0 and npc_QW['A63'] < 11 and GadBoy['river_gang'] = 0: gt 'gad_prostitutes', 'pimp_mira'
 				
 				! events to prostitute just Mira
-				act 'Watch Mira prostitute herself': gt 'gadprostitutes', 'just_mira'
+				act 'Watch Mira prostitute herself': gt 'gad_prostitutes', 'just_mira'
 
 				! can do prostitution with Mira if Sveta is the village whore - this can be achieved by doing Mitka''s questline
-				!if gadriver_gang = 2 and (mirapimp = 0 or mirapimp = 2) and PCloStyle = 4 and pcs_sleep > 0:
-					! act 'Prostitute yourself with Mira':gt 'gadprostitutes', 'with_mira'
+				!if GadBoy['river_gang'] = 2 and (mirapimp = 0 or mirapimp = 2) and PCloStyle = 4 and pcs_sleep > 0:
+					! act 'Prostitute yourself with Mira':gt 'gad_prostitutes', 'with_mira'
 				!end
 			end
-						
+
 			if prostitute['gadukino'] = 1 and PCloStyle = 4:
 				if prostitute['earnings_day'] > 0: '<br>You have earned <<prostitute[''earnings_day'']>> <b>₽</b> today.'+iif(prostitute['payment_method'] = 0, ' Your share is <<prostitute[''earnings_day''] * prostitute[''share_player''] / 100>> <b>₽</b>'+iif(prostitute['debt_amount'] > 0, ', but your pimp will keep <<prostitute[''earnings_day''] * prostitute[''debt_payment_percent''] / 100>> <b>₽</b> to pay down your debt.', '.'), '')
-				act 'Look for clients': gt 'gadprostitutes', 'work_alone'
+				act 'Look for clients': gt 'gad_prostitutes', 'work'
 			end
 		end
-	else
-		'It is not a good time of day for prostitution. Try coming back later in the evening.'
-		act 'Walk back to the highway': nroad = 10 & gt 'road'
 	end
 end
 
@@ -86,14 +83,14 @@ if $ARGS[0] = 'pimp_mira':
 			'You reach down and help her back to her feet.  You brush her off and help her fix her makeup.  "Good, now get that cute ass back out on that road and earn us some money."'
 			'You give Mira a little slap on the ass and smile as you watch Mira start a new chapter of her life as your prostitute.'
 
-			act 'Finish':gt'gadprostitutes','start'
+			act 'Finish': gt 'gad_prostitutes', 'start'
 		end
 	else
 		act 'Make Mira your prostitute (<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] = 'mira_rebels':	
+if $ARGS[0] = 'mira_rebels':
 	*clr & cla
 	mirapimp = 2
 	gs 'prostitution_functions', 'set_gadukion_prostitute'	
@@ -108,87 +105,79 @@ if $ARGS[0] = 'mira_rebels':
 	'You rise and meet her gaze. She looks very pleased with herself. "Remember that. Now you know exactly how that feels," she says.'
 	if npc_QW['A63'] >= 11:
 		'Mira continues, "Look at you, just another slut. Mitka, Kolyamba, and Vasyan told me how much they all love fucking and sharing you now. You thought you were so much better than me, well no more! I''m not working for you anymore. You have proven yourself perfectly capable of enjoying getting shared by a group of friends."'
-	elseif gadriver_gang = 2:
+	elseif GadBoy['river_gang'] = 2:
 		'Mira continues, "Look at you, just another whore. All the village men can talk about is how much you moaned for each and every one of them. You thought you were so much better than me, well no more! I''m not working for you anymore. You have proven yourself perfectly capable of enjoying getting gangbanged by multiple groups of strangers."'
 	end
 	'After Mira is done with her preaching, you try to think of something witty to say or raise your hand to slap her back, but you just can''t bring yourself to do it.'
 	'Mira sees the defeated look in your eyes and knows that she has won. She pulls you into an embrace and whispers, "It''s alright, <<$pcs_nickname>>. We can just be friends again. And if you want to, maybe you can come work with me instead?"'
 
-	act 'Continue':gt 'gadprostitutes','start'
+	act 'Continue': gt 'gad_prostitutes', 'start'
 end
 
 ! Prostitution events for just Mira - SM
 if $ARGS[0] = 'just_mira':
 	gs 'miroslava', 'miraclothes'
+	menu_off = 1
 
-	if hour >= 16 and hour <= 23:
-		act 'Leave Mira to her work': gt 'gadprostitutes', 'start'
+	if hour >= 16 and hour <= 20:
+		act 'Leave Mira to her work': gt 'gad_prostitutes', 'start'
 		act 'Wait for Mira to attract a customer':
 			*clr & cla
 			minut += 30
 			gs 'stat'
 
-			temp_gadpro = rand(1,10)
+			temp_gadpro = rand(1, 10)
 			if temp_gadpro > 5:
-				miraprost += 1
-				if npc_QW['A60'] < 20: npc_QW['A60'] += 1
+				MiraVars['prostitute'] += 1
+				if MiraVars['QW'] < 20: MiraVars['QW'] += 1
 
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraprost.jpg"></center>'
-
 				'It isn''t long before a customer pulls up in a flashy car. Mira approaches the vehicle and starts talking to the driver.'
 				'You can''t hear what she is saying, but after only a few minutes, the door opens, and Mira steps into the vehicle. It pulls away but doesn''t go far. You see it pull off the main road and head down a dirt road. Smiling and wanting to see the action, you run into the woods, trying to head off the vehicle.'
 
-				act 'Watch Mira and the customer':
-					gs 'gadprostitutes', 'watch_mira'
-				end
+				act 'Watch Mira and the customer': gt 'gad_prostitutes', 'watch_mira'
 			else
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirawish2_1.jpg"></center>'
-
 				'Mira walks along the road showing off her body to passing cars and trucks, but no one stops to pick her up.'
 
-				act 'Continue' :gt 'gadprostitutes', 'just_mira'
+				act 'Continue': gt 'gad_prostitutes', 'just_mira'
 			end
 		end
 	else
 		'It is too late for Mira to work as a prostitute now.'
-		act 'Walk back to Gadukino together':MiraLoc = 0 & gt 'gadukino', ''
+		act 'Walk back to Gadukino together': gt 'gadukino', ''
 	end
 end
 
 if $ARGS[0] = 'watch_mira':
+	gs 'arousal', 'voyeur_sex', 10
+	menu_off = 1
+	gs 'stat'
+
 	temp_gadpro = rand(0,1)
 	if temp_gadpro = 0:
-		*clr & cla
-		gs 'arousal', 'voyeur_sex', 10
-		gs 'stat'
-
 		'<center><video autoplay loop src="images/characters/gadukino/mira/sex/miraprost1.mp4"></video></center>'
 		'You walk up and look into the car. You see Mira giving one hell of a blowjob to her customer. Her head is bobbing up and down on his cock.'
 
 		act 'Hide':
-			gs 'gadprostitutes', 'watch_from_hiding'
+			gt 'gad_prostitutes', 'watch_from_hiding'
 		end
 	elseif temp_gadpro = 1:
-		*clr & cla
-		gs 'arousal', 'voyeur_sex', 10
-		gs 'stat'
-
 		'<center><video autoplay loop src="images/characters/gadukino/mira/miraprost2.mp4"></video></center>'
 		'You walk up and look into the van. You see Mira showing her customer her tits and rubbing her pussy, and you see a hungry gleam in the guy''s eyes, which Mira returns.'
 
 		act 'Keep watching':
-			gs 'gadprostitutes', 'watch_close'
+			gt 'gad_prostitutes', 'watch_close'
 		end
 	end
 end
 
 if $ARGS[0] = 'watch_from_hiding':
-	*clr & cla
 	gs 'arousal', 'voyeur_sex', 10
+	menu_off = 1
 	gs 'stat'
 
 	'<center><video autoplay loop src="images/characters/gadukino/mira/sex/miraprost1_1.mp4"></video></center>'
-
 	'You duck for cover as the guy suddenly gets out of the car, opens the passenger door, grabs Mira''s head, and starts forcing his cock deep into her throat.'
 
 	act 'Keep watching':
@@ -207,14 +196,14 @@ if $ARGS[0] = 'watch_from_hiding':
 			gs 'arousal', 'end'
 			gs 'stat'
 
-			gt 'gadprostitutes', 'just_mira'
+			gt 'gad_prostitutes', 'just_mira'
 		end
 	end
 end
 
 if $ARGS[0] = 'watch_close':
-	*clr & cla
 	gs 'arousal', 'voyeur_sex', 10
+	menu_off = 1
 	gs 'stat'
 
 	'<center><video autoplay loop src="images/characters/gadukino/mira/sex/miraprost2_1.mp4"></video></center>'
@@ -237,7 +226,7 @@ if $ARGS[0] = 'watch_close':
 			gs 'arousal', 'end'
 			gs 'stat'
 
-			gt 'gadprostitutes', 'just_mira'
+			gt 'gad_prostitutes', 'just_mira'
 		end
 	end
 end
@@ -250,7 +239,7 @@ end
 !
 !		end
 !	end
-!	act 'Stop looking for customers with Mira': gt 'gadprostitutes', 'start'
+!	act 'Stop looking for customers with Mira': gt 'gad_prostitutes', 'start'
 !end
 
 
@@ -264,22 +253,19 @@ end
 !		end
 !	end
 !
-!	act 'Stop looking for customers': gt 'gadprostitutes', 'start'
+!	act 'Stop looking for customers': gt 'gad_prostitutes', 'start'
 !end
 !! TODO: the above was never implemented, so just going with this.
 
 if $ARGS[0] = 'work':
-	gt 'gadprostitutes', 'work_alone'
+	gt 'gad_prostitutes', 'work_alone'
 end
 
 if $ARGS[0] = 'work_alone':
 	CLOSE ALL
-	if sound = 0:PLAY 'sound/highway.mp3',20
+	if sound = 0: PLAY 'sound/highway.mp3', 20
 
-	*clr & cla
-	$loc_arg = 'work'
-	$used_name = 'gadukino'
-	$menu_arg = 'work'
+	gs 'shortgs', 'setloc', 'gad_prostitutes', 'work'
 	menu_off = 0
 	gs 'stat'
 
@@ -305,9 +291,9 @@ if $ARGS[0] = 'work_alone':
 
 	if prostitute['earnings_day'] > 0: 'You have earned <<prostitute[''earnings_day'']>> <b>₽</b> today.'+iif(prostitute['payment_method'] = 0, ' Your share is <<prostitute[''earnings_day''] * prostitute[''share_player''] / 100>> <b>₽</b>'+iif(prostitute['debt_amount'] > 0, ', but your pimp will keep <<prostitute[''earnings_day''] * prostitute[''debt_payment_percent''] / 100>> <b>₽</b> to pay down your debt.', '.'), '')
 
-	if prostitute['payment_method'] = 0: gs 'gadprostitutes', 'event_check'
+	if prostitute['payment_method'] = 0: gs 'gad_prostitutes', 'event_check'
 
-	act 'Stop working for now': gt 'gadprostitutes','start'
+	act 'Stop working for now': gt 'gad_prostitutes', 'start'
 
 	gs 'willpower', 'prostitution', 'self', 'medium'
 	if will_cost <= pcs_willpwr:
@@ -325,7 +311,7 @@ if $ARGS[0] = 'work_alone':
 			mc_inventory['makeup_wipes'] -= 1
 			cumspclnt = 20
 			gs 'cum_cleanup'
-			gt 'gadprostitutes', 'work'
+			gt 'gad_prostitutes', 'work'
 		end
 	elseif mc_inventory['makeup_wipes'] =  0:
 		'<br>You don''t have any tissues with you to remove cum from your body.'
@@ -334,7 +320,6 @@ if $ARGS[0] = 'work_alone':
 	!! NOTE:  This is where the working/negotiationg part begins in the original file. Moved to a separate file.
 	!! This call just displays the explanation and the "config" of the negotiations on the page.
 	gs 'prostitution_car_negotiation', 'general_description'
-
 end 
 
 !!------ Random events and scenes, from police raids to robbery, etc. ----------------------------------------------------
@@ -343,5 +328,5 @@ if $ARGS[0] = 'event_check':
 
 end
 
---- gadprostitutes ---------------------------------
+--- gad_prostitutes ---------------------------------
 

+ 413 - 0
locations/gad_river.qsrc

@@ -0,0 +1,413 @@
+# gad_river
+!2022/05/02
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
+
+$loc = 'gad_river'
+$menu_loc = 'gad_river'
+
+if $ARGS[0] = 'start':
+	gs 'shortgs', 'setloc', 'gad_river', 'start'
+	$location_type = 'public_outdoors'
+	menu_off = 0
+	gs 'miroslava_schedule'
+	gs 'stat'
+
+	'<center><H2>Slavka River</H2></center>'
+
+	if month >= 5 and month <= 9:
+		if hour >= 6 and hour < 22:
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver_night.jpg"></center>'
+		end
+	else
+		if hour >= 8 and hour < 18:
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver_winter.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver_winter_night.jpg"></center>'
+		end
+	end
+
+	'A large river flows lazily for a few hundred meters on the northern outskirts of Gadukino.'
+
+	if hour >= 6 and hour < 21 and sunWeather = 1: 'You see the local <a href="exec:gt ''gad_river'', ''fishers''">fishermen</a> fishing with their rods on the riverbank.'
+
+	temp_rand = rand(0, 20)
+
+	if temp_rand = 1 and hour < 5 and month >= 5 and month <= 9 and MiraVars['QW'] >= 20:
+		'Right next to the path leading to the river, you see <a href="exec: gt ''gad_river'', ''mirapunish'' ">Mira</a> naked, bound with ropes between two trees...'
+	elseif temp_rand = 4 and GadBoy['river_day'] ! daystart and (locat['A60'] / 10) ! 5 and npc_QW['A63'] >= 13 and hour >= 5:
+		GadBoy['river_day'] = daystart
+		'While going to the river, you meet Kolyamba and Vasyan. They first invite you to join them, then insist you go with them.'
+
+		act 'Go with them':
+			*clr & cla
+			menu_off = 1
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex17.jpg"></center>'
+			'The boys take you to Vasyan''s house, where they rudely keep pushing you until you are bent over the kitchen table. They then take turns fucking you...'
+			gs 'boyStat', 'A61'
+			npc_sex[$boy] += 1
+			pose = 1
+			if mesec = 0:
+				gs 'dinsex', 'boy_puts_condom'
+				gs 'dinsex','vaginal_sex',20,'sub','gangbang'
+				gs 'dinsex','sexcum'
+			else
+				gs 'dinSex','boy_wants_anal','','lubri'
+				gs 'dinsex','analsex',20,'sub','gangbang'
+			end
+			gs 'boyStat', 'A62'
+			npc_sex[$boy] += 1
+			if mesec = 0:
+				gs 'dinsex', 'boy_puts_condom'
+				gs 'dinsex','vaginal_sex',20,'sub','gangbang'
+				gs 'dinsex','sexcum'
+			else
+				gs 'dinSex','boy_wants_anal','','lubri'
+				gs 'dinsex','analsex',20,'sub','gangbang'
+			end
+			gs 'stat'
+
+			act 'Finish': minut += 10 & gt 'gadukino'
+		end
+	elseif temp_rand = 5 and GadBoy['river_day'] ! daystart and (locat['A60'] / 10) ! 5 and npc_QW['A63'] >= 13 and hour >= 5:
+		GadBoy['river_day'] = daystart
+		'While walking towards the river, you meet the village boys you''ve been drinking with recently. They ask you to go with them.'
+
+		act 'Go with them':
+			*clr & cla
+			menu_off = 1
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex18.jpg"></center>'
+			'The boys lead you to Vasyan''s house and start undressing; following their lead, you strip off, too, "We''re going to fuck your ass. I hope you can enjoy it, but I''m not going to be upset if you don''t."'
+			gs 'arousal', 'auto_lube', 'anal'
+			'They don''t say anything more before they spend the next hour fucking you in the ass...'
+			gs 'arousal', 'anal', 20, 'gangbang', 'sub'
+			gs 'arousal', 'anal', 20, 'gangbang', 'sub'
+			gs 'arousal', 'anal', 20, 'gangbang', 'sub'
+			gs 'arousal', 'end'
+			gs 'boyStat', 'A63'
+			npc_sex[$boy] += 1
+			gs 'cum_call','butt',$boy,1
+			gs 'boyStat', 'A61'
+			npc_sex[$boy] += 1
+			gs 'cum_call','butt',$boy,1
+			gs 'boyStat', 'A62'
+			npc_sex[$boy] += 1
+			gs 'cum_call','butt',$boy,1
+			pcs_ass += 3
+			gs 'stat'
+
+			act 'Leave': gt 'gadukino'
+		end
+	elseif temp_rand = 6 and GadBoy['river_day'] ! daystart and (locat['A60'] / 10) ! 5 and npc_QW['A63'] >= 13 and hour >= 5:
+		GadBoy['river_day'] = daystart
+		'On your way to the river, you meet Vasyan. But, unfortunately, he insists you follow him home...'
+
+		act 'Go with him':
+			*clr & cla
+			menu_off = 1
+			gs 'boyStat', 'A62'
+			npc_sex[$boy] += 1
+			pose = 1
+
+			if mesec = 0:
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex20.jpg"></center>'
+				'As soon as you open the door, Vasyan pushes you inside and pulls your clothes off crudely. Once you are naked, he moves you towards the sofa and forces you to your knees...'
+				gs 'arousal', 'vaginal', 20, 'sub'
+				gs 'cum_call','butt',$boy,1
+			else
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex21.jpg"></center>'
+				'As soon as you open the door, Vasyan pushes you inside and pulls your clothes off crudely. He then throws you onto his bed. Noticing that you are slightly bleeding, he asks if it is that time of the month. You whimper, "Yes." He curses angrily, turns you over and begins roughly fucking your ass...'
+				gs 'arousal', 'anal', 20, 'sub'
+				gs 'cum_call','butt',$boy,1
+			end
+			gs 'arousal', 'end'
+			gs 'stat'
+
+			act 'Finish': gt'gadukino'
+		end
+	else
+		act 'Walk to the beach (0:05)': minut += 5 & gt 'gad_beach', 'start'
+		act 'Walk to the road (0:10)': minut += 10 & gt 'gad_road', 'start'
+		act 'Walk to Gadukino (0:20)': minut += 20 & gt 'gadukino'
+	end
+	killvar 'temp_rand'
+end
+
+
+if $ARGS[0] = 'mirapunish':
+	*clr & cla
+	menu_off = 1
+	minut += 10
+	pcs_horny += rand(25,75)
+	gs 'stat'
+
+	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirapunish.jpg"></center>'
+	'You approach Mira. She looks distressed and embarrassingly smiles as you start asking what happened. She pleads with you to release her. As you untie her, she explains that Kolyamba punished her for barely biting his cock as she sucked it...'
+	'"Thank God you showed up," she says with a sigh of relief as you untie her. "I''m glad you found me and not one of those old hags from the village. They would call me a whore, and I would get scolded for being promiscuous. Those old hags hate us, you know. We''re young and beautiful, and they are just mean old wretches." said the naked Mira, revealing her true feelings about the villagers. She continues quietly, "Or it could have been even worse. Someone could have abused me, raped me or even killed m..." Then, she suddenly stops and lunges in your arms, weeping. "Thank you," she tells you. "You saved my life!"'
+
+	act 'Leave': gt 'gad_beach', 'start'
+end
+
+
+if $ARGS[0] = 'fishers':
+	*clr & cla
+	menu_off = 1
+	minut += 2
+	gs 'stat'
+
+	'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriverfishers.jpg"></center>'
+
+	if fishersday ! daystart:
+		act 'Greet':
+			cla
+			*clr
+			fishersday = daystart
+			minut += 3
+			if fishersQW < 3:fishersQW += 1
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/hifishers.jpg"></center>'
+			'You politely greet the fishermen, but they are too focused on fishing. One of them absently waves in your general direction in response.'
+
+			if fishersQW >= 3:
+				act 'Chat':
+					cla
+					*clr
+					minut += 10
+					if fishersQW = 3:fishersQW = 4
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+					'You keep watching as the fishermen throw out their lures. One catches a fish and shows off his trophy before putting it into the fish bail. The two of you chat about fishing.'
+
+					act 'Leave': gt 'gad_river', 'start'
+				end
+			end
+			if fishersQW = 4:
+				act 'Ask to borrow a fishing rod':
+					cla
+					*clr
+					minut += 10
+					fishersQW = 5
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+					'You decide to try your luck at fishing and ask the fishermen if they could lend you a fishing rod. Uncle Stepan, a friend of the family, points to a pile of spare rods and tells you to pick one.'
+
+					act 'Fishing': gt 'gad_river', 'fishing'
+				end
+			end
+			if fishersQW = 5:
+				act 'Fishing with them':
+					cla
+					*clr
+					minut += 10
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+					'You decide to join your new friends. Uncle Stepan tells you he has plenty of spare rods and hands you a rod while his eyes travel up and down your body.'
+
+					act 'Fishing': gt 'gad_river', 'fishing'
+				end
+			end
+
+			act 'Leave': gt 'gad_river', 'start'
+		end
+	else
+		act 'Leave': gt 'gad_river', 'start'
+	end
+end
+
+
+if $ARGS[0] = 'fishing':
+	*clr & cla
+	menu_off = 1
+	'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver.jpg"></center>'
+	'The stream quietly flows over the rocks, pleasantly tickling your ears. You gaze at the village that''s entirely peaceful. There is a sense of serenity about it today.'
+	'You caught <<fish>> fish.'
+	if hour < 22:
+		act 'Throw the bait':
+			*clr & cla
+			minut += rand(5, 10)
+			if hour < 12:
+				temp_rand = rand(0, 15)
+			elseif hour >= 12 and hour < 18:
+				temp_rand = rand(0, 20)
+			else
+				temp_rand = rand(0, 10)
+			end
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/fishingriver.jpg"></center>'
+			'You throw out the lure and watch the bobber for signs of a nibble.'
+
+			if temp_rand < rand(1, 5):
+				cla
+				*clr
+				minut += 1
+				gs 'stat'
+
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/nofishingriver.jpg"></center>'
+				'Suddenly the bobber dives under the water dramatically. You got one!'
+
+				act 'Pull':
+					*clr & cla
+					minut += 1
+					temp_rand = rand(0, 120)
+					if temp_rand < 50: gs 'exp_gain', 'react', 1
+					gs 'stat'
+
+					if pcs_react > temp_rand:
+						pcs_mood += rand(5, 10)
+						minut += 1
+						gs 'exp_gain', 'react', 1
+						fish += 1
+						gs 'stat'
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/fishyes.jpg"></center>'
+						'You skillfully strike, pulling the rod up sharply. You feel the rod straining slightly, and after a few moments, you excitedly pull a small fish out of the water.'
+					else
+						pcs_mood -= rand(5, 10)
+						minut += 1
+						gs 'stat'
+						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver.jpg"></center>'
+						'You strike, but the lack of tension makes the fish escape from the hook.'
+
+					end
+					act 'Throw another bait': gt 'gad_river', 'fishing'
+					killvar 'temp_rand'
+				end
+			else
+				'The bobber remains perfectly still. Eventually, you decide to try a different lure.'
+				act 'Retrieve bait': gt 'gad_river', 'fishing'
+			end
+			killvar 'temp_rand'
+		end
+		act 'Finish':
+			cla
+			*clr
+			minut += 5
+			gs 'stat'
+
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+			'You''re tired, so you return the fishing rod to uncle Stepan.'
+			if fish > 0:
+				act 'Release your catch':
+					cla
+					*clr
+					minut += 5
+					fish = 0
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+					'You decide to release all the fish you caught today. The other fishermen shake their heads disapprovingly, throwing sidelong glances at your body as you dump the fish back into the river.'
+
+					act 'Leave': gt $loc, $loc_arg
+				end
+				act 'Give the fish to Uncle Stepan':
+					cla
+					*clr
+					minut += 5
+					fish = 0
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+					'You give all the fish you caught to uncle Stepan, and he makes a show out of reluctantly accepting them. Still, you can see that he is pretty happy with this arrangement.'
+
+					act 'Leave': gt $loc, $loc_arg
+				end
+				act 'Bring a fish to Boniface':
+					cla
+					*clr
+					minut += 5
+					fish -= 1
+					pcs_mood += rand(15,40)
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/villcat2.jpg"></center>'
+					'As soon as you enter the house, Boniface immediately jumps to the floor and twines around your feet. Then, the furry beast starts loudly yowling and pawing at your legs. He has obviously detected the smell of fresh fish. You treat Boniface to a small fish, and within a few minutes, all that remains is a pile of fish bones.'
+					if fish >0: fish = 0 & 'You try to give the rest of the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
+
+					act 'Finish': gt 'gad_gphouse', 'start'
+				end
+				act 'Give the fish to your grandmother':
+					cla
+					*clr
+					minut += 5
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/givefish.jpg"></center>'
+					'You try to give the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
+
+					act 'Finish': gt 'gad_gphouse', 'start'
+				end
+			else
+				act 'Leave': gt $loc, $loc_arg
+			end
+		end
+	else
+		cla
+		*clr
+		minut += 5
+		pcs_mood -= rand(5,10)
+		gs 'stat'
+
+		'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+		'Uncle Stepan says, "It''s time to head home, young lady." You reluctantly return his fishing rod, knowing that''s it for today.'
+
+		if fish > 0:
+			act 'Release your catch':
+				cla
+				*clr
+				minut += 5
+				fish = 0
+				gs 'stat'
+
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+				'You decide to release all the fish you caught today. The other fishermen shake their heads disapprovingly, throwing sidelong glances at your body as you dump the fish back into the river.'
+
+				act 'Leave': gt $loc, $loc_arg
+			end
+			act 'Give to Uncle Stepan':
+				cla
+				*clr
+				minut += 5
+				fish = 0
+				gs 'stat'
+
+				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
+				'You give all the fish caught to uncle Stepan, who reluctantly accepts them. You can see he is pretty happy with this arrangement.'
+
+				act 'Leave': gt $loc, $loc_arg
+			end
+			if grandmaQW['block'] = 0:
+				act 'Bring a fish to Boniface':
+					cla
+					*clr
+					minut += 5
+					fish -= 1
+					pcs_mood += rand(15,40)
+					gs 'stat'
+
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/villcat2.jpg"></center>'
+					'As soon as you enter the house, Boniface immediately jumps to the floor and twines around your feet. Then, the furry beast starts loudly yowling and pawing at your legs. He has obviously detected the smell of fresh fish. You treat Boniface to a small fish, and within a few minutes, all that remains is a pile of fish bones.'
+					if fish >0: fish = 0 & 'You try to give the rest of the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
+
+					act 'Finish': gt 'gad_gphouse', 'start'
+				end
+				act 'Give the fish to your grandmother':
+					cla
+					*clr
+					minut += 5
+					'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/givefish.jpg"></center>'
+					'You try to give the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
+
+					act 'Finish': gt 'gad_gphouse', 'start'
+				end
+			end
+		else
+			act 'Leave': gt $loc, $loc_arg
+		end
+	end
+end
+
+--- gad_river ---------------------------------

+ 39 - 50
locations/gadroad.qsrc → locations/gad_road.qsrc

@@ -1,14 +1,12 @@
-# gadroad
+# gad_road
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
-if $ARGS[0] = '':
-	$loc = 'gadroad'
-	$loc_arg = ''
+if $ARGS[0] = 'start':
+	gs 'shortgs', 'setloc', 'gad_road', 'start'
 	$location_type = 'public_outdoors'
-
-	$menu_loc = 'gadroad'
-	$menu_arg = ''
 	menu_off = 0
-
+	gs 'miroslava_schedule'
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
 	gs'stat'
@@ -30,40 +28,34 @@ if $ARGS[0] = '':
 	end
 	*nl
 	'A dirt road leading to the outskirts of Gadukino. You are surrounded by grainfields where the grains appear, reaching all the way to the heavens.'
-	'The forest '+iif(meadow > 0, 'and meadow ','')+'can be found further down the road, away from the village.'
+	'The forest '+iif(gad_meadow_found = 1, 'and meadow ', '')+'can be found further down the road, away from the village.'
 	*nl
 	! 10% chance of meeting Mitka once per day on the road when Sveta is not the village boys slut or whole villages whore
-	mitkarand = rand(1,10)
-	if mitka_first_drink > 0 and mitkaday ! daystart and hour >= 17 and hour < 20 and mitkarand = 1 and (npc_QW['A63'] < 11 or gadriver_gang > 2):
+	if rand(0, 9) = 0 and GadBoy['first_drink'] > 0 and GadBoy['mitka_day'] ! daystart and hour >= 17 and hour < 20 and (npc_QW['A63'] < 11 or GadBoy['river_gang'] > 2):
 		'<a href="exec:gt ''mitka''">Mitka</a> is smoking near the road, he smiles at you as you walk by.'
 	! Meet the boys to drink with them at 20 if Sveta has been invited by Mitka already
-	elseif mitka_first_drink > 0 and hour = 20 and alko < 10 and mitkadrinkday ! daystart:
-		'<a href="exec:gt ''gadroad'',''drinking_invite''">Mitka, Kolyamba, and Vasyan</a> are walking down the road towards the woods, drinking moonshine and talking loudly.'
+	elseif GadBoy['first_drink'] > 0 and hour = 20 and alko < 10 and GadBoy['drinkday'] ! daystart:
+		'<a href="exec:gt ''gad_road'', ''drinking_invite''">Mitka, Kolyamba, and Vasyan</a> are walking down the road towards the woods, drinking moonshine and talking loudly.'
 	! If Sveta is late to go drink with the boys if she already knows where the trailer is she can still get there
-	elseif mitka_first_drink = 2 and hour > 20 and alko < 10 and mitkadrinkday ! daystart:
+	elseif GadBoy['first_drink'] = 2 and hour > 20 and alko < 10 and GadBoy['drinkday'] ! daystart:
 		! if Sveta did not bring Mira with her and Mira has met the boys already then there is a 50% chance she will show up too
-		if MiraLoc ! 5 and npc_QW['A60'] >= 1:
-			mirarand = rand(1,10)
-			if mirarand >= 6:
-				MiraLoc = 5
-				if npc_QW['A60'] >= 16 and gadriver_gang = 2:
-					'You can go drink with Mira, Mitka, Kolyamba and Vasyan at their <a href="exec:gt ''mitkabuh_group'',''partywithMira''">trailer</a> hidden in the woods.'
-				else
-					'You can go drink with Mira, Mitka, Kolyamba and Vasyan at their <a href="exec:gt ''mitkabuh'',''partywithMira''">trailer</a> hidden in the woods.'
-				end
+
+		if locat['A60'] = 42:
+			if MiraVars['QW'] >= 16 and GadBoy['river_gang'] = 2:
+				'You can go drink with Mira, Mitka, Kolyamba and Vasyan at their <a href="exec:gt ''mitkabuh_group'',''partywithMira''">trailer</a> hidden in the woods.'
 			else
-				'You can go drink with Mitka, Kolyamba and Vasyan at their <a href="exec:gt ''mitkabuh'',''partyalone''">trailer</a> hidden in the woods.'
+				'You can go drink with Mira, Mitka, Kolyamba and Vasyan at their <a href="exec:gt ''mitkabuh'',''partywithMira''">trailer</a> hidden in the woods.'
 			end
 		else
-			'You can go drink with the Mitka, Kolyamba and Vasyan at their <a href="exec:gt ''mitkabuh'',''partyalone''">trailer</a> hidden in the woods.'
+			'You can go drink with Mitka, Kolyamba and Vasyan at their <a href="exec:gt ''mitkabuh'',''partyalone''">trailer</a> hidden in the woods.'
 		end
 	end
 
 	act 'Walk to the bus station (0:01)': minut += 1 & gt 'bus', 'gadukino'
 	act 'Walk to Gadukino (0:10)': minut += 10 & gt 'gadukino'
-	act 'Walk down to the river (0:10)': minut += 10 & gt 'gadriver', 'start'
-	act 'Walk into the woods (0:15)': minut += 15 & gt 'gadforest','forest_edge'
-	act 'Walk to the fields (0:10)': minut += 10 & gt 'gadfield','field'
+	act 'Walk down to the river (0:10)': minut += 10 & gt 'gad_river', 'start'
+	act 'Walk to the fields (0:10)': minut += 10 & gt 'gad_field', 'field'
+	act 'Walk into the woods (0:15)': minut += 15 & gt 'gad_forest', 'forest_edge'
 
 	if $clothingworntype = 'danilovich_outfits' and $shoeworntype = 'danilovich' and hour >= 6 and hour < 22:
 		if pcs_energy >= 5 and pcs_stam >= stammax / 5:
@@ -85,7 +77,7 @@ if $ARGS[0] = '':
 				end
 				'You run for an hour enjoying the scenery.'
 
-				act 'Finish':gt'gadroad'
+				act 'Finish': gt 'gad_road', 'start'
 			end
 		elseif pcs_stam >= stammax / 5:
 			act 'Go for a run (1:00)': '<br><font color="red">You are so hungry you cannot face going for a run.</font>'
@@ -98,21 +90,17 @@ if $ARGS[0] = '':
 end
 
 if $ARGS[0] = 'drinking_invite':
-	$loc = 'gadroad'
-	$loc_arg = 'drinking_invite'
+	gs 'shortgs', 'setloc', 'gad_road', 'drinking_invite'
 	$location_type = 'secluded'
-
-	$menu_loc = 'gadroad'
-	$menu_arg = 'drinking_invite'
 	menu_off = 1
-
+	gs 'miroslava_schedule'
 	minut += 5
 	gs 'stat'
 
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/drunk.jpg"></center>'
 	'You quickly catch up to the boys who have already started drinking.'
 	! Sveta has never been drinking with Mitka before
-	if mitka_first_drink = 1:
+	if GadBoy['first_drink'] = 1:
 		'Mitka is the first to greet you, "Hey <<$pcs_nickname>>, glad you decided to join us today!"'
 		'Kolyamba and Vasyan nod in agreement as they look you over.'
 		'"We know this great spot in the woods to hang out. No one ever bothers us there."'
@@ -123,7 +111,7 @@ if $ARGS[0] = 'drinking_invite':
 	'Mitka asks, "Are you ready to go?"'
 
 	! if Sveta came here to kick off Miras quest then she cannot leave otherwise Sveta is free to decline the offer
-	if npc_QW['A60'] > 0 or (MiraLoc ! 5 and npc_QW['A60'] = 0):
+	if MiraVars['QW'] > 0 or locat['A60'] ! 42:
 		gs 'willpower', 'drink', 'resist'
 		if will_cost <= pcs_willpwr:
 			act 'No thanks, not tonight. (<<will_cost>> Willpower)':
@@ -131,7 +119,7 @@ if $ARGS[0] = 'drinking_invite':
 				gs 'willpower', 'pay', 'resist'
 				gs 'stat'
 
-				gt 'gadroad'
+				gt 'gad_road', 'start'
 			end
 		else
 			act 'No thanks, not tonight. (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -139,26 +127,27 @@ if $ARGS[0] = 'drinking_invite':
 	end
 
 	! if Sveta did not bring Mira with her and Mira has met the boys already then there is a 50% chance she will show up too
-	if MiraLoc ! 5 and npc_QW['A60'] >= 1:
-		mirarand = rand(1,10)
-		if mirarand >= 6: MiraLoc = 5
+	if locat['A60'] = 42 and locat['A60_prev'] ! 42 and MiraVars['follow_time'] = 0:
 		'Just as the words leave Mitka''s mouth, Mira comes bounding around the corner.'
 		'"Hey guys, thanks for the invite! <<$pcs_nickname>> is here, too, awesome! Let''s go!"'
 	end
 
-	! Mira is here and both her and Sveta are the town whores
-	! mitkabuh_group has the drinking events for group sex for 2 girls and 3 boys
-	if MiraLoc = 5 and npc_QW['A60'] >= 16 and gadriver_gang = 2:
-		act 'Go with them': minut += 15 & npc_drunk['A60'] = 0 & gt 'mitkabuh_group'
-	! Mira is here and neither or only 1 out 2 of them is the town whore
-	! mitkabuh has the drinking events for group sex for 1 girl and 3 boys or no sex at all if quest is not far enough along
-	elseif MiraLoc = 5:
-		act 'Go with them': minut += 15 & npc_drunk['A60'] = 0 & gt 'mitkabuh'
+	if locat['A60'] = 42:
+		! Mira is here and both her and Sveta are the town whores
+		! mitkabuh_group has the drinking events for group sex for 2 girls and 3 boys
+		if MiraVars['QW'] >= 16 and GadBoy['river_gang'] = 2:
+			act 'Go with them': minut += 15 & gt 'mitkabuh_group'
+
+		! Mira is here and neither or only 1 out 2 of them is the town whore
+		! mitkabuh has the drinking events for group sex for 1 girl and 3 boys or no sex at all if quest is not far enough along
+		else
+			act 'Go with them': minut += 15 & gt 'mitkabuh'
+		end
 	! Mira is not here so Sveta goes by herself
 	else
 		act 'Go with them': minut += 15 & gt 'mitkabuh'
 	end
 end
 
---- gadroad ---------------------------------
+--- gad_road ---------------------------------
 

+ 19 - 27
locations/swamp.qsrc → locations/gad_swamp.qsrc

@@ -1,14 +1,8 @@
-# swamp
+# gad_swamp
 
 if $ARGS[0] = 'start':
-	*clr & cla
-
-	$loc = 'swamp'
-	$loc_arg = 'start'
+	gs 'shortgs', 'setloc', 'gad_swamp', 'start'
 	$location_type = 'secluded'
-
-	$menu_loc = 'swamp'
-	$menu_arg = 'start'
 	menu_off = 0
 
 	CLOSE ALL
@@ -25,18 +19,22 @@ if $ARGS[0] = 'start':
 	'You are at the village''s swamp on the far side of the woods.'
 	'It can be dangerous to hike in this area unless you are physically fit or know the forest well.'
 
-	act 'Head back to the forest (0:15)': minut += 15 & gt 'gadforest', 'forest_center'
+	act 'Head back to the forest (0:15)': minut += 15 & gt 'gad_forest', 'forest_center'
 
 	if hunterscabin = 1:
 		'You can see the small path to the clearing that contains the hunters'' cabin.'
 		act 'Walk to the hunters'' cabin (0:15)':
 			! daytime chance to get stuck in swamp - use bike to get there 100% of the time
 			if DayStage < 4:
-				swamp_stuck = 0
-				gt 'swamp', 'stuck','swamp'
+				if rand(0, 9) = 0:
+					gt 'gad_swamp_yard', 'start'
+				else
+					swamp_stuck = 0
+					gt 'gad_swamp', 'stuck', 'swamp'
+				end
 			! nighttime chased by wolves - Sveta probably should not be roaming the forest at this time
 			else
-				gt 'gadforestlost','wolves','swamp'
+				gt 'gad_forest_lost', 'wolves', 'swamp'
 			end
 		end
 	end
@@ -46,14 +44,8 @@ end
 if $ARGS[0] = 'stuck':
 	! if player is skilled at forest or very agile or strong then don''t get stuck in swamp at all
 	if pcs_bushcraft < 80 and pcs_agil < 70 and pcs_stren < 70:
-		*clr & cla
-
-		$loc = 'swamp'
-		$loc_arg = 'stuck'
+		gs 'shortgs', 'setloc', 'gad_swamp', 'stuck'
 		$location_type = 'secluded'
-
-		$menu_loc = 'swamp'
-		$menu_arg = 'stuck'
 		menu_off = 0
 
 		CLOSE ALL
@@ -111,7 +103,7 @@ if $ARGS[0] = 'stuck':
 				*nl
 				'Your efforts are not vain as you begin to feel the mud''s hold loosen. Then, with another burst of strength, you free yourself and sigh in relief.'
 
-				act 'Success!': gt 'swamp_yard', 'start'
+				act 'Success!': gt 'gad_swamp_yard', 'start'
 			else
 				'<center><H4>Swamp</H4></center>'
 				if $clothingworntype ! 'nude' and PCloSkirt = 0:
@@ -124,7 +116,7 @@ if $ARGS[0] = 'stuck':
 				*nl
 				'Your efforts are for nothing. The mud''s hold feels as tight as ever. In fact, you feel yourself sinking even deeper.'
 
-				act 'Failure': gt 'swamp', 'stuck'
+				act 'Failure': gt 'gad_swamp', 'stuck'
 			end
 		end
 		if month >= 4 and month <= 10:
@@ -150,22 +142,22 @@ if $ARGS[0] = 'stuck':
 						*nl 'You hear men speaking and begin to shout louder. The voices come closer, and finally, you feel strong hands grab you and drag you out to the solid ground.'
 						gs 'stat'
 
-						act 'Relax':gt 'swamp_yard','start'
+						act 'Relax': gt 'gad_swamp_yard','start'
 					end
 				else
 					*nl 'You yell out into the void, but your only response is the howling of the wind and the chirp of some crickets.'
 					gs 'stat'
 
-					act 'Failure':gt 'swamp','stuck'
+					act 'Failure': gt 'gad_swamp','stuck'
 				end
 			end
 		end
 	else
 		'<center><H4>Swamp</H4></center>'
 		if month >= 4 and month <= 10:
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif(DayStage < 4,'gadforestlostswamp.jpg','gadforestlostswamp_night.jpg')+'"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif(DayStage < 4,'gadforestlostswamp.jpg', 'gadforestlostswamp_night.jpg')+'"></center>'
 		else
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif(DayStage < 4,'gadforestlostswamp_winter.jpg','gadforestlostswamp_winter_night.jpg')+'"></center>'
+			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif(DayStage < 4,'gadforestlostswamp_winter.jpg', 'gadforestlostswamp_winter_night.jpg')+'"></center>'
 		end
 		*nl
 		if $ARGS[1] = 'forest_edge':
@@ -176,9 +168,9 @@ if $ARGS[0] = 'stuck':
 			'After walking through the swamp for a few minutes, you finally see the hunters'' cabin ahead.'
 		end
 		gs 'stat'
-		act 'Continue':gt 'swamp_yard', 'start'
+		act 'Continue': gt 'gad_swamp_yard', 'start'
 	end
 end
 
---- swamp ---------------------------------
+--- gad_swamp ---------------------------------
 

+ 24 - 27
locations/swamp_woods.qsrc → locations/gad_swamp_woods.qsrc

@@ -1,15 +1,12 @@
-# swamp_woods
+# gad_swamp_woods
 
 !TODO: Break into more arg blocks
 if $ARGS[0] = 'start':
 	CLOSE ALL
-	$loc = 'swamp_woods'
-	$loc_arg = 'start'
+	gs 'shortgs', 'setloc', 'gad_swamp_woods', 'start'
 	$location_type = 'secluded'
-	$menu_loc = 'swamp_woods'
-	$menu_arg = 'start'
 	menu_off = 0
-	$forest_args1 = 'swamp_woods'
+	$forest_args1 = 'gad_swamp_woods'
 
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/nearby_woods.jpg"></center>'
 	'You are in the woods near the hut. You can see it not too far in the distance.'
@@ -20,7 +17,7 @@ if $ARGS[0] = 'start':
 	!TODO: Make schedule more dynamic e.g. more factors
 	*nl
 
-	act 'Go back to the hut': minut += 10 & gt 'swamp_yard', 'start'
+	act 'Go back to the hut': minut += 10 & gt 'gad_swamp_yard', 'start'
 
 	if firewood < 10:
 		'You can pick up some firewood around here to keep the fire going.'
@@ -38,7 +35,7 @@ if $ARGS[0] = 'start':
 			minut += 15
 			gs 'stat'
 
-			act 'Further': gt 'swamp_woods', 'start'
+			act 'Further': gt 'gad_swamp_woods', 'start'
 		end
 	else
 		'You think about picking up firewood before remembering you have plenty back at the yard.'
@@ -52,12 +49,12 @@ if $ARGS[0] = 'start':
 			'You consider trying to circle around the swamp but then think it is better if you do not get too far from the hut.'
 			'If only you were a skilled pathfinder or knew nearby people that could help you get back...'
 
-			act 'Further': gt 'swamp_woods', 'start'
+			act 'Further': gt 'gad_swamp_woods', 'start'
 		elseif pcs_bushcraft < 40:
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/thinks2.jpg"></center>'
 			'You consider trying to circle around the swamp. You have a vague idea of how to accomplish that, but there is a good chance you may get lost.'
 
-			act 'Stay around for now': gt 'swamp_woods', 'start'
+			act 'Stay around for now': gt 'gad_swamp_woods', 'start'
 			act 'Try anyway':
 				*clr & cla
 				minut += 30
@@ -70,7 +67,7 @@ if $ARGS[0] = 'start':
 					'Even though you occasionally step into the swamp, you manage to not get stuck.'
 					'After some time walking and struggling not to get stuck, you can see the hut on the opposite side.'
 
-					act 'Success!': gs 'exp_gain', 'bushcraft', 5 & gt 'gadforest','forest_center'
+					act 'Success!': gs 'exp_gain', 'bushcraft', 5 & gt 'gad_forest', 'forest_center'
 				elseif nearby_woods_check <= 3:
 					!End up stuck in the swamp
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif($clothingworntype ! 'nude','nearby_woods_stuck.jpg','nearby_woods_stuck_nude.jpg')+'"></center>'
@@ -79,7 +76,7 @@ if $ARGS[0] = 'start':
 					*nl
 					'Seems like the forest can camouflage parts of the swamp, fooling careless hikers.'
 
-					act 'If only you knew': gs 'exp_gain', 'bushcraft', 3 & gt 'swamp','stuck'
+					act 'If only you knew': gs 'exp_gain', 'bushcraft', 3 & gt 'gad_swamp','stuck'
 				else
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif($clothingworntype ! 'nude','nearby_woods_hike.jpg','nearby_woods_hike_nude.jpg')+'"></center>'
 					!Circle back to where the pcs started
@@ -89,7 +86,7 @@ if $ARGS[0] = 'start':
 					*nl
 					'You can see broken branches and prints ahead of you, marking the direction you initially started walking towards.'
 
-					act 'That''s interesting...': gs 'exp_gain', 'bushcraft', 2 & gt 'swamp_woods', 'start'
+					act 'That''s interesting...': gs 'exp_gain', 'bushcraft', 2 & gt 'gad_swamp_woods', 'start'
 				end
 			end
 		else
@@ -100,7 +97,7 @@ if $ARGS[0] = 'start':
 			'With that in mind, you go into the forest, aware of your surroundings, to ensure you are not stepping too far from the swamp''s edge.'
 			'After a couple hours, you are on the other edge of the forest.'
 
-			act 'Further': gt 'swamp_woods', 'start'
+			act 'Further': gt 'gad_swamp_woods', 'start'
 		end
 	end
 end
@@ -135,23 +132,23 @@ if $ARGS[0] = 'shooting_practice':
 					hunter_collective_opinion -= 2
 					gs 'stat'
 
-					act 'Further': gt 'swamp_woods', 'start'
+					act 'Further': gt 'gad_swamp_woods', 'start'
 				end
 			elseif hunter_collective_opinion > 35:
-				gt 'swamp_woods', 'shooting_practice', 'practice'
+				gt 'gad_swamp_woods', 'shooting_practice', 'practice'
 			else
 				if hunter_sexual_comfort > 20:
-					gt 'swamp_woods', 'shooting_practice', 'andrei_request'
+					gt 'gad_swamp_woods', 'shooting_practice', 'andrei_request'
 				else
 					cla & *clr
 					'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/andrei_shooting.jpg"></center>'
 					'You try to get Andrei''s attention, but he ignores you. Finally, when you keep trying, he waves his hand to gesture for you to go away.'
-					act 'Further': gt 'swamp_woods', 'start'
+					act 'Further': gt 'gad_swamp_woods', 'start'
 				end
 			end
 		end
 
-		act 'Walk away': gt 'swamp_woods', 'start'
+		act 'Walk away': gt 'gad_swamp_woods', 'start'
 
 	elseif $ARGS[1] = 'practice':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif($clothingworntype ! 'nude','shooting.jpg','shooting_nude.jpg')+'"></center>'
@@ -160,7 +157,7 @@ if $ARGS[0] = 'shooting_practice':
 		gs 'exp_gain', 'shoot', 2
 		gs 'stat'
 
-		act 'Walk away': gt 'swamp_woods', 'start'
+		act 'Walk away': gt 'gad_swamp_woods', 'start'
 
 	elseif $ARGS[1] = 'andrei_request':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/andrei_shooting.jpg"></center>'
@@ -185,7 +182,7 @@ if $ARGS[0] = 'shooting_practice':
 					gs 'arousal', 'end'
 					gs 'stat'
 
-					act 'Further': gt 'swamp_woods', 'shooting_practice', 'practice'
+					act 'Further': gt 'gad_swamp_woods', 'shooting_practice', 'practice'
 				end
 			elseif andrei_shooting_request = 2:
 				'"I want you to show me your pussy. Go sit on that log and lift up your bottom. You can shoot the rifle then."'
@@ -199,7 +196,7 @@ if $ARGS[0] = 'shooting_practice':
 					gs 'arousal', 'end'
 					gs 'stat'
 
-					act 'Further': gt 'swamp_woods', 'shooting_practice', 'practice'
+					act 'Further': gt 'gad_swamp_woods', 'shooting_practice', 'practice'
 				end
 			elseif andrei_shooting_request = 3:
 				'"I want you to take off all your clothes. Then hand them all to me. If you want to shoot my rifle, you have to be in your birthday suit."'
@@ -210,12 +207,12 @@ if $ARGS[0] = 'shooting_practice':
 					'You look at the ground and blush as he stares at your exposed tits, ass and pussy. You cannot help but feel your pussy moisten.'
 					'"This naked look suits you better, do you know that?" says Andrei. He ogles your body for a few more minutes before handing you the rifle.'
 					hunter_sexual_comfort += 7
-					gs 'clothing', 'strip_all', 'swamphouse'
+					gs 'clothing', 'strip_all', 'gad_swamphouse'
 					gs 'arousal', 'flash', 10, 'exhibitionism'
 					gs 'arousal', 'end'
 					gs 'stat'
 
-					act 'Further': gt 'swamp_woods', 'shooting_practice', 'practice'
+					act 'Further': gt 'gad_swamp_woods', 'shooting_practice', 'practice'
 				end
 			elseif andrei_shooting_request = 4:
 				'"Seeing a young, pretty thing like you prancing around gives me a boner. I want you to suck my dick," demands Andrei.'
@@ -231,13 +228,13 @@ if $ARGS[0] = 'shooting_practice':
 					gs 'arousal', 'end'
 					gs 'stat'
 
-					act 'Further': gt 'swamp_woods', 'shooting_practice', 'practice'
+					act 'Further': gt 'gad_swamp_woods', 'shooting_practice', 'practice'
 				end
 			end
 		end
 
-		act 'Walk away': gt 'swamp_woods', 'start'
+		act 'Walk away': gt 'gad_swamp_woods', 'start'
 	end
 end
 
---- swamp_woods ---------------------------------
+--- gad_swamp_woods ---------------------------------

+ 27 - 30
locations/swamp_yard.qsrc → locations/gad_swamp_yard.qsrc

@@ -1,14 +1,11 @@
-# swamp_yard
+# gad_swamp_yard
 
 gs 'hunter_ambient', 'schedule'
 if $ARGS[0] = 'start':
-	$loc = 'swamp_yard'
-	$loc_arg = 'start'
-	$menu_loc = 'swamp_yard'
-	$menu_arg = 'start'
+	gs 'shortgs', 'setloc', 'gad_swamp_yard', 'start'
+	$location_type = 'secluded'
 	menu_off = 0
 
-	$location_type = 'secluded'
 	hunterscabin = 1
 
 	gs 'gadukino_event', 'sound'
@@ -16,7 +13,7 @@ if $ARGS[0] = 'start':
 
 	if lost_girl = 1:
 		if daystart > forest_lostday + 1 and rand(forest_lostday - daystart, 30) >= 30 and DayStage = 2:
-			gt 'gadforestlost','rescue','ranger','swamp_yard'
+			gt 'gad_forest_lost', 'rescue', 'ranger', 'gad_swamp_yard'
 		end
 	end
 
@@ -29,7 +26,7 @@ if $ARGS[0] = 'start':
 	*nl
 
 
-	'Behind the hut, there is a <a href="exec: gt ''swampspring'' ">spring</a>. If you continue further down, there is a small <a href="exec: gt ''backwater'' ">creek</a>  with relatively clean water.'
+	'Behind the hut, there is a <a href="exec: gt ''gad_swampspring'' ">spring</a>. If you continue further down, there is a small <a href="exec: gt ''gad_backwater'' ">creek</a>  with relatively clean water.'
 
 	if hunters_available = 1:
 		if hunters_were_met = 0:
@@ -39,11 +36,11 @@ if $ARGS[0] = 'start':
 		else
 			if hunters_outside = 1:
 				if hunters_evening = 1:
-					'You hear some gunshots and see <a href="exec: gt ''swamp_woods'', ''shooting_practice'' ">Andrei</a>, not too far in the distance, shooting some bottles.'
+					'You hear some gunshots and see <a href="exec: gt ''gad_swamp_woods'', ''shooting_practice'' ">Andrei</a>, not too far in the distance, shooting some bottles.'
 					'<a href="exec: gt ''hunters'', ''start'' ">Igor and Sergey</a> are standing in the front yard.'
 				else
 					if campfire = 1 and hunters_chattime = 0:
-						'You see the hunters are sitting by the <a href="exec: gt ''swamp_yard'', ''campfire''">campfire</a>'
+						'You see the hunters are sitting by the <a href="exec: gt ''gad_swamp_yard'', ''campfire''">campfire</a>'
 					else
 						'You notice the <a href="exec: gt ''hunters'', ''start'' ">hunters</a> standing in the front yard.'
 					end
@@ -67,18 +64,18 @@ if $ARGS[0] = 'start':
 
 
 
-	act '<b>Go to the swamp</b>': gt 'swamp_yard', 'swamp_escape'
-	gs 'bicycle', 'swamp_yard'
-	act 'Go into the house':gt 'swamphouse', 'start'
+	act '<b>Go to the swamp</b>': gt 'gad_swamp_yard', 'swamp_escape'
+	gs 'bicycle', 'gad_swamp_yard'
+	act 'Go into the house':gt 'gad_swamphouse', 'start'
 
-	act 'Approach the firepit': gt 'swamp_yard', 'campfire'
-	act 'Visit the spring': gt 'swampspring'
-	act 'Visit the creek': gt 'backwater'
-	act 'Explore the woods': minut += 10 & gt 'swamp_woods', 'start'
+	act 'Approach the firepit': gt 'gad_swamp_yard', 'campfire'
+	act 'Visit the spring': gt 'gad_swampspring'
+	act 'Visit the creek': gt 'gad_backwater'
+	act 'Explore the woods': minut += 10 & gt 'gad_swamp_woods', 'start'
 
 
 	if hunters_outside = 1 and hunters_available = 1 and rand(1,2) = 1:
-		gs 'swamp_yard', 'daytime_flavor_events'
+		gs 'gad_swamp_yard', 'daytime_flavor_events'
 	end
 end
 
@@ -86,13 +83,13 @@ end
 if $ARGS[0] = 'campfire':
 	!TODO: Add mechanic so that fire slowly goes through wood and extinguishes when there is no more left
 	cla & *clr
-	$loc = 'swamp_yard'
+	$loc = 'gad_swamp_yard'
 	$loc_arg = 'campfire'
 	menu_off = 1
 	gs 'hunter_ambient', 'schedule'
 	gs 'stat'
 
-	act 'Move away': gt 'swamp_yard', 'start'
+	act 'Move away': gt 'gad_swamp_yard', 'start'
 
 	if campfire = 1:
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/'+iif(DayStage = 2,'campfire_day.jpg','campfire_night.jpg')+'"></center>'
@@ -134,7 +131,7 @@ if $ARGS[0] = 'campfire':
 					end
 				end
 
-				act 'Further': gt 'swamp_yard', 'campfire'
+				act 'Further': gt 'gad_swamp_yard', 'campfire'
 			end
 		end
 
@@ -162,7 +159,7 @@ if $ARGS[0] = 'campfire':
 				minut += 5
 				bucket -= 3
 
-				act 'Further': gt 'swamp_yard', 'campfire'
+				act 'Further': gt 'gad_swamp_yard', 'campfire'
 			end
 		end
 		if bucket > 0:
@@ -186,13 +183,13 @@ if $ARGS[0] = 'campfire':
 				end
 				gs 'stat'
 
-				act 'Continue': gt 'swamp_yard', 'campfire'
+				act 'Continue': gt 'gad_swamp_yard', 'campfire'
 			end
 		end
 
 		act 'Eat a meal':
 			cla
-			act 'Return': gt 'swamp_yard', 'campfire'
+			act 'Return': gt 'gad_swamp_yard', 'campfire'
 			act 'Eat jerky and trail mix':gt 'food', 'jerky'
 			if meat_stew > 0:
 				act 'Eat meat stew':
@@ -238,7 +235,7 @@ if $ARGS[0] = 'campfire':
 				campfire = 1
 				minut += 15
 
-				act 'Further': gt 'swamp_yard', 'campfire'
+				act 'Further': gt 'gad_swamp_yard', 'campfire'
 			end
 		elseif firewood < 10 and campfire = 0:
 			*nl
@@ -252,7 +249,7 @@ if $ARGS[0] = 'swamp_escape':
 	if hunters_available = 1 and hunters_outside = 1:
 		if hour >= 6 and hour < 21:
 			minut += 5
-			if rand(0,9)>8: gt 'swamp', 'start' else gt 'swamp','stuck'
+			if rand(0, 9) = 0: gt 'gad_swamp', 'start' else gt 'gad_swamp','stuck'
 		else
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/hunters/handshelp.jpg"></center>' & !! instead igorhanter.jpg
 			'As you start moving into the swamp, Igor calls after you.'
@@ -261,18 +258,18 @@ if $ARGS[0] = 'swamp_escape':
 			'"<<$pcs_nickname>>, where are you going? You will get stuck in there!'
 			gs 'stat'
 
-			act 'Turn back':gt 'swamp_yard','start'
+			act 'Turn back':gt 'gad_swamp_yard','start'
 			act 'Ignore him and keep going':
 				minut += 5
 
 				!TODO: Add skill clothing and temp check here instead of praying to RNGesus
-				if rand(0,9)>8: gt 'swamp', 'start' else gt 'swamp','stuck'
+				if rand(0, 9) = 0: gt 'gad_swamp', 'start' else gt 'gad_swamp','stuck'
 			end
 		end
 	else
 		minut += 5
 		!TODO: Here too, also see how to avoid duplicating. Maybe create a child event node?
-		if (hour >= 6 and hour < 21) or rand(0,9)>6: gt 'swamp', 'start' else gt 'swamp','stuck'
+		if (hour >= 6 and hour < 21) or rand(0, 9) < 3: gt 'gad_swamp', 'start' else gt 'gad_swamp', 'stuck'
 	end
 end
 
@@ -291,5 +288,5 @@ if $ARGS[0] = 'daytime_flavor_events':
 	end
 end
 
---- swamp_yard ---------------------------------
+--- gad_swamp_yard ---------------------------------
 

File diff suppressed because it is too large
+ 157 - 177
locations/gad_swamphouse.qsrc


+ 7 - 7
locations/swampspring.qsrc → locations/gad_swampspring.qsrc

@@ -1,8 +1,8 @@
-# swampspring
+# gad_swampspring
 
-$loc = 'swampspring'
+$loc = 'gad_swampspring'
 $loc_arg = ''
-$menu_loc = 'swamp_yard'
+$menu_loc = 'gad_swamp_yard'
 $menu_arg = ''
 menu_off = 0
 $location_type = 'secluded'
@@ -19,7 +19,7 @@ end
 'You come across a natural spring with pure natural water.'
 gs 'stat'
 
-act 'Go back to the hut':minut += 5 & gt 'swamp_yard', 'start'
+act 'Go back to the hut': minut += 5 & gt 'gad_swamp_yard', 'start'
 
 if pcs_hydra < 150:
 	act 'Drink the water':
@@ -33,7 +33,7 @@ if pcs_hydra < 150:
 		gs 'cum_cleanup'
 		gs 'stat'
 
-		act 'Finish':gt 'swampspring'
+		act 'Finish': gt 'gad_swampspring'
 	end
 end
 
@@ -46,9 +46,9 @@ if bucket < 10:
 		bucket += 10
 		gs 'stat'
 
-		act 'Finish':gt 'swampspring'
+		act 'Finish': gt 'gad_swampspring'
 	end
 end
 
---- swampspring ---------------------------------
+--- gad_swampspring ---------------------------------
 

+ 0 - 240
locations/gadgarden.qsrc

@@ -1,240 +0,0 @@
-# gadgarden
-
-if $ARGS[0] = 'garden':
-	$location_type = 'secluded'
-	$loc_arg = 'garden'
-	$loc = 'gadgarden'
-	$menu_loc = 'gadgarden'
-	$menu_arg = 'garden'
-	menu_off = 0
-	gs 'gadukino_event', 'sound'
-	cls
-	gs'stat'
-	!gs'time'
-
-	if month >= 4 and month <= 10:
-		if hour >= 6 and hour < 21:
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden_night.jpg"></center>'
-		end
-	else
-		if hour >= 8 and hour < 18:
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden_winter.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/garden_winter_night.jpg"></center>'
-		end
-	end
-
-	'A large vegetable garden that your grandparents are very proud of.'
-	if month >= 4 and month <= 10:
-		'There is also a small land plot is dedicated to growing <a href="exec: gt ''gadgarden'',''strawberry'' ">strawberries</a> and a <a href="exec: gt ''gadgarden'',''fruit_garden'' ">fruit tree orchard</a>.'
-	else
-		'There is also a small plot of land dedicated to growing strawberries and a small fruit tree orchard, but they are not in season right now.'
-	end
-
-	act 'Go back to the yard':minut += 1 & gt 'gaddvor'
-
-	!job Granny
-	if grandmaQW['chore_work_in_garden'] = 1:
-		act 'Work in the garden (3:00)':
-			cla
-			*clr
-			menu_off = 1
-			minut += 180
-			gs 'sweat', 'add', 10
-			grandmaQW['chore_work_in_garden'] = 2
-			gs 'exp_gain', 'stren', 1
-			fat -= rand(1,5)
-			gs 'exp_gain', 'hndiwrk', rand(3,9)
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/work_garden'+rand(1,5)+'.jpg"></center>'
-			'You spend some time doing some gardening.'
-			act 'Finish':gt'gadgarden','garden'
-			act 'Return back to your grandmother': minut += 2 & gt 'gadhouse', 'grandma'
-		end
-	end
-	!job Granny
-	if grandmaQW['chore_water_garden'] = 1:
-		act 'Water the plants (1:00)':
-			cla
-			*clr
-			menu_off = 1
-			gs 'sweat', 'add', 10
-			minut += 60
-			grandmaQW['chore_water_garden'] = 2
-			gs 'exp_gain', 'vital', 1
-			fat -= rand(1,2)
-			gs 'exp_gain', 'hndiwrk', rand(0,3)
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/water_garden.jpg"></center>'
-			'You spend an hour watering the garden.'
-			act 'Finish':gt'gadgarden','garden'
-			act 'Return back to your grandmother': minut += 1 & gt 'gadhouse', 'grandma'
-		end
-	end
-	!job Granny
-	if grandmaQW['chore_harvest_garden'] = 1:
-		act 'Harvest (3:00)':
-			cla
-			*clr
-			menu_off = 1
-			minut += 180
-			gs 'sweat', 'add', 10
-			grandmaQW['chore_harvest_garden'] = 2
-			gs 'exp_gain', 'stren', 1
-			fat -= rand(1,3)
-			gs 'exp_gain', 'hndiwrk', rand(3,9)
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/harvest_garden'+rand(1,5)+'.jpg"></center>'
-			'You spend a few hours harvesting vegetables in the garden.'
-			act 'Finish':gt'gadgarden','garden'
-			act 'Return back to your grandmother': minut += 1 & gt 'gadhouse', 'grandma'
-		end
-	end
-end
-
-if $ARGS[0] = 'strawberry':
-	$loc_arg = 'strawberry'
-	$loc = 'gadgarden'
-	$menu_loc = 'gadgarden'
-	$menu_arg = 'strawberry'
-	menu_off = 0
-	gs 'gadukino_event', 'sound'
-	cls
-	gs'stat'
-	!gs'time'
-
-	if month = 6 or month = 7:
-		if hour >= 6 and hour < 21:
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry1.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry_night.jpg"></center>'
-		end
-	else
-		if hour >= 6 and hour < 21:
-		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry2.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/strawberry_night.jpg"></center>'
-		end
-	end
-
-	'It''s strawberry season, you approach the field where the strawberries grow, searching for some ripe strawberries.'
-
-	act 'Go back to the garden':minut += 1 & gt'gadgarden','garden'
-
-	if month >= 7 and month <= 9 and strawberriesday ! daystart:
-		act 'Eat some strawberries (1:00)':
-			cla
-			*clr
-			menu_off = 1
-			strawberriesday = daystart
-			minut += 60
-			pcs_mood += 10
-			pcs_hydra += 40
-			pcs_energy += 15
-			cumspclnt = 2 & gs 'cum_cleanup' & pcs_breath = 0
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/eat_strawberries.jpg"></center>'
-			'You spend some time wandering through the plot searching for ripe strawberries. You walk along, picking off the ones that you find and popping them in your mouth.'
-
-			act 'Finish':gt'gadgarden','strawberry'
-		end
-	end
-	!job Granny
-	if grandmaQW['chore_collect_strawberries'] = 1:
-		act 'Collect strawberries (3:00)':
-			cla
-			*clr
-			menu_off = 1
-			minut += 180
-			gs 'sweat', 'add', 10
-			grandmaQW['chore_collect_strawberries'] = 2
-			gs 'exp_gain', 'agil', 1
-			fat -= 1
-			gs 'exp_gain', 'hndiwrk', rand(3,9)
-			gs 'stat'
-
-			if PCloSkirt = 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/village/collect_strawberries.jpg"></center>'
-			if PCloSkirt > 0 and $pantyworntype ! 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/collect_strawberries_ski.jpg"></center>'
-			if PCloSkirt > 0 and $pantyworntype = 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/collect_strawberries_tanga.jpg"></center>'
-			'You wander through the plot for several hours, collecting ripe strawberries and placing them in the basket.'
-
-			act 'Finish':gt'gadgarden','strawberry'
-			act 'Return back to your grandmother': minut += 3 & gt 'gadhouse', 'grandma'
-		end
-	end
-end
-
-
-if $ARGS[0] = 'fruit_garden':
-	$loc_arg = 'fruit_garden'
-	$loc = 'gadgarden'
-	$menu_loc = 'gadgarden'
-	$menu_arg = 'fruit_garden'
-	menu_off = 0
-	gs 'gadukino_event', 'sound'
-	cls
-	gs'stat'
-	!gs'time'
-
-	if hour >= 6 and hour < 21:
-		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_garden.jpg"></center>'
-	else
-		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_garden_night.jpg"></center>'
-	end
-
-	'There are apples and pears growing in the fruit orchard.'
-
-	act 'Go back to the garden':minut += 1 & gt'gadgarden','garden'
-
-	if month >= 7 and month <= 9 and fruitday ! daystart:
-		act 'Eat the fruit (1:00)':
-			cla
-			*clr
-			menu_off = 1
-			fruitday = daystart
-			minut += 60
-			pcs_mood += 10
-			pcs_hydra += 20
-			pcs_energy += 30
-			cumspclnt = 2 & gs 'cum_cleanup' & pcs_breath = 0
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/eat_fruit.jpg"></center>'
-			'You spend some time wandering around the orchard munching on the ripe fruit.'
-
-			act 'Finish':gt 'gadgarden','fruit_garden'
-		end
-	end
-	!job Granny
-	if grandmaQW['chore_collect_fruit'] = 1:
-		act 'Collect fruit (3:00)':
-			cla
-			*clr
-			menu_off = 1
-			minut += 180
-			gs 'sweat', 'add', 10
-			grandmaQW['chore_collect_fruit'] = 2
-			gs 'exp_gain', 'agil', 1
-			fat -= rand(1,3)
-			gs 'exp_gain', 'hndiwrk', rand(3,9)
-			gs 'stat'
-
-			if PCloSkirt = 0:'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_collect.jpg"></center>'
-			if PCloSkirt > 0 and $pantyworntype ! 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_collect_ski.jpg"></center>'
-			if PCloSkirt > 0 and $pantyworntype = 'none':'<center><img <<$set_imgh>> src="images/locations/gadukino/village/fruit_collect_tanga.jpg"></center>'
-			'You walk around the orchard and pick the ripe fruit hanging from the trees.'
-
-			act 'Finish':gt 'gadgarden','fruit_garden'
-			act 'Return back to your grandmother': minut += 3 & gt 'gadhouse', 'grandma'
-		end
-	end
-end
-
---- gadgarden ---------------------------------
-

+ 0 - 1278
locations/gadriver.qsrc

@@ -1,1278 +0,0 @@
-# gadriver
-!!2022/05/02
-
-if $ARGS[0] = 'start':
-	$loc_arg = 'start'
-	$loc = 'gadriver'
-	menu_off = 0
-	$menu_loc = 'gadriver'
-	$menu_arg = 'start'
-	$location_type = 'public_outdoors'
-
-	gs 'stat'
-
-	'<center><H2>Slavka River</H2></center>'
-
-	if month >= 5 and month <= 9:
-		if hour >= 6 and hour < 22:
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver_night.jpg"></center>'
-		end
-	else
-		if hour >= 8 and hour < 18:
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver_winter.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver_winter_night.jpg"></center>'
-		end
-	end
-
-	'A large river flows lazily for a few hundred meters on the northern outskirts of Gadukino.'
-
-	if hour >= 6 and hour < 21 and sunWeather = 1: 'You see the local <a href="exec:gt ''gadriver'', ''fishers''">fishermen</a> fishing with their rods on the riverbank.'
-
-	temp_gr = rand(0,20)
-
-	if temp_gr = 1 and hour < 5 and month >= 5 and month <= 9 and npc_QW['A60'] >= 20: 'Right next to the path leading to the river, you see <a href="exec: gt ''gadriver'', ''mirapunish'' ">Mira</a> naked, bound with ropes between two trees...'
-
-	if temp_gr = 4 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5:
-		if mitkaguysriver ! daystart:
-			mitkaguysriver = daystart
-			'While going to the river, you meet Kolyamba and Vasyan. They first invite you to join them, then insist you go with them.'
-
-			act 'Go with them':
-				*clr & cla
-				menu_off = 1
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex17.jpg"></center>'
-				'The boys take you to Vasyan''s house, where they rudely keep pushing you until you are bent over the kitchen table. They then take turns fucking you...'
-				gs 'boyStat', 'A61'
-				npc_sex[$boy] += 1
-				pose = 1
-				if mesec = 0:
-					gs 'dinsex', 'boy_puts_condom'
-					gs 'dinsex','vaginal_sex',20,'sub','gangbang'
-					gs 'dinsex','sexcum'
-				else
-					gs 'dinSex','boy_wants_anal','','lubri'
-					gs 'dinsex','analsex',20,'sub','gangbang'
-				end
-				gs 'boyStat', 'A62'
-				npc_sex[$boy] += 1
-				if mesec = 0:
-					gs 'dinsex', 'boy_puts_condom'
-					gs 'dinsex','vaginal_sex',20,'sub','gangbang'
-					gs 'dinsex','sexcum'
-				else
-					gs 'dinSex','boy_wants_anal','','lubri'
-					gs 'dinsex','analsex',20,'sub','gangbang'
-				end
-				gs 'stat'
-
-				act 'Finish':minut += 10 & gt'gadukino'
-			end
-		else
-			act 'Walk to Gadukino (0:20)':minut += 20 & gt 'gadukino'
-			act 'Walk to the road (0:10)':minut += 10 & gt 'gadroad'
-			act 'Walk to the beach (0:05)':minut += 5 & gt 'gadriver', 'gadbitch'
-		end
-	elseif temp_gr = 5 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5:
-		if mitkaguysriver ! daystart:
-			mitkaguysriver = daystart
-			'While walking towards the river, you meet the village boys you''ve been drinking with recently. They ask you to go with them.'
-
-			act 'Go with them':
-				*clr & cla
-				menu_off = 1
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex18.jpg"></center>'
-				'The boys lead you to Vasyan''s house and start undressing; following their lead, you strip off, too, "We''re going to fuck your ass. I hope you can enjoy it, but I''m not going to be upset if you don''t."'
-				gs 'arousal', 'auto_lube', 'anal'
-				'They don''t say anything more before they spend the next hour fucking you in the ass...'
-				gs 'arousal', 'anal', 20, 'gangbang', 'sub'
-				gs 'arousal', 'anal', 20, 'gangbang', 'sub'
-				gs 'arousal', 'anal', 20, 'gangbang', 'sub'
-				gs 'arousal', 'end'
-				gs 'boyStat', 'A63'
-				npc_sex[$boy] += 1
-				gs 'cum_call','butt',$boy,1
-				gs 'boyStat', 'A61'
-				npc_sex[$boy] += 1
-				gs 'cum_call','butt',$boy,1
-				gs 'boyStat', 'A62'
-				npc_sex[$boy] += 1
-				gs 'cum_call','butt',$boy,1
-				pcs_ass += 3
-				gs 'stat'
-
-				act 'Leave': gt'gadukino'
-			end
-		else
-			act 'Walk to Gadukino (0:20)':minut += 20 & gt 'gadukino'
-			act 'Walk to the road (0:10)':minut += 10 & gt 'gadroad'
-			act 'Walk to the beach (0:05)':minut += 5 & gt 'gadriver', 'gadbitch'
-		end
-	elseif temp_gr = 6 and MiraLoc ! 1 and npc_QW['A63'] >= 13 and hour >= 5:
-		if mitkaguysriver ! daystart:
-			mitkaguysriver = daystart
-			'On your way to the river, you meet Vasyan. But, unfortunately, he insists you follow him home...'
-
-			act 'Go with him':
-				*clr & cla
-				menu_off = 1
-				gs 'boyStat', 'A62'
-				npc_sex[$boy] += 1
-				pose = 1
-
-				if mesec = 0:
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex20.jpg"></center>'
-					'As soon as you open the door, Vasyan pushes you inside and pulls your clothes off crudely. Once you are naked, he moves you towards the sofa and forces you to your knees...'
-					gs 'arousal', 'vaginal', 20, 'sub'
-					gs 'cum_call','butt',$boy,1
-				else
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex21.jpg"></center>'
-					'As soon as you open the door, Vasyan pushes you inside and pulls your clothes off crudely. He then throws you onto his bed. Noticing that you are slightly bleeding, he asks if it is that time of the month. You whimper, "Yes." He curses angrily, turns you over and begins roughly fucking your ass...'
-					gs 'arousal', 'anal', 20, 'sub'
-					gs 'cum_call','butt',$boy,1
-				end
-				gs 'arousal', 'end'
-				gs 'stat'
-
-				act 'Finish': gt'gadukino'
-			end
-		else
-			act 'Walk to Gadukino (0:20)':minut += 20 & gt 'gadukino'
-			act 'Walk to the road (0:10)':minut += 10 & gt 'gadroad'
-			act 'Walk to the beach (0:05)':minut += 5 & gt 'gadriver', 'gadbitch'
-		end
-	else
-		act 'Walk to Gadukino (0:20)':minut += 20 & gt 'gadukino'
-		act 'Walk to the road (0:10)':minut += 10 & gt 'gadroad'
-		act 'Walk to the beach (0:05)':minut += 5 & gt 'gadriver', 'gadbitch'
-	end
-end
-
-if $ARGS[0] = 'gadbitch':
-	PC_arrive = iif($loc_arg ! 'gadbitch', 1 , 0)
-	$location_type = 'public_outdoors'
-	$loc_arg = 'gadbitch'
-	$loc = 'gadriver'
-	killvar '$locclass'
-	menu_off = 1
-	gs 'stat'
-
-	'<center><H4>Village Beach</H4></center>'
-	!125e
-	if hour >= 6 and hour < 22:
-		if sunWeather = 1:
-			if month>=4 and month<=10:
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_summer.jpg"></center>'
-			else
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_winter.jpg"></center>'
-			end
-		else
-			if month>=4 and month<=10:
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_soft.jpg"></center>'
-			else
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_cold.jpg"></center>'
-			end
-		end
-	else
-		'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadbitch_night.jpg"></center>'
-	end
-
-	'A small country beach, where you can sunbathe and swim.'
-
-	if MiraLoc = 1:temp_gr = rand(0,20)
-
-	if sunWeather = 1 and MiraLoc = 1:
-		if rand(0,10) < 5:
-			'<a href="exec:sun = 1 & gt ''gadriver'', ''Mira'' ">Mira</a> is laying on the beach sunbathing.'
-			if npc_rel['A60'] < 15:npc_rel['A60'] += 1
-		else
-			'<a href="exec:sun = 0 & gt ''gadriver'', ''Mira'' ">Mira</a> is in the river splashing water around and having fun.'
-			if npc_rel['A60'] < 15:npc_rel['A60'] += 1
-		end
-	end
-
-	if MiraLoc ! 1 and npc_QW['A63'] >= 13 and rand(0,10) = 0 and hour >= 8 and hour < 20 and month >= 5 and month <= 9 and temper >= 15 and sunWeather = 1:'<a href="exec: gt ''gadriver'', ''GuysRiver'' ">Kolyamba and Vasyan</a> are resting on the riverbank.'
-
-	act 'Walk to the river (0:05)':
-		cla
-		if PCloswimwear = 1:
-			cla
-			'You need to dress in regular clothes first.'
-			act'Return':gt'gadriver', 'gadbitch'
-		elseif $clothingworntype = 'nude':
-			'You need to put some clothes on first.'
-			act'Return':gt'gadriver', 'gadbitch'
-		else
-			minut += 5
-			gt 'gadriver', 'start'
-		end
-	end
-
-	if func('changingroom','count_swim_item') > 0: act 'Get changed':gt 'changingroom', 'view_swim_list'
-
-	if $clothingworntype = 'nude':
-		act 'Get dressed':
-			clothesAtLocation = FUNC('lost_clothes_here','VillageRiver')
-			cla
-			minut += 5
-			gs 'panties', 'wear', $lastwornpantytype['swim'], lastwornpantynumber['swim']
-			gs 'bras', 'wear', $lastwornbratype['swim'], lastwornbranumber['swim']
-			if clothesAtLocation = 1: gs 'clothing', 'recover_lost_clothes', 'VillageRiver', 1
-			act 'Continue': gt 'gadriver', 'gadbitch'
-		end
-	end
-
-	if temper >= 15 and month >= 5 and month <= 9:
-		temp_gr = rand(0,9)
-		if $clothingworntype ! 'nude' and (pcs_inhib >= 25 or exhibitionist_lvl > 1):
-			act 'Strip naked':
-				cla
-				minut += 5
-				$lastwornclothingtype['swim'] = $clothingworntype
-				lastwornclothingnumber['swim'] = clothingwornnumber
-				$lastwornpantytype['swim'] = $pantyworntype
-				lastwornpantynumber['swim'] = pantywornnumber
-				$lastwornbratype['swim'] = $braworntype
-				lastwornbranumber['swim'] = brawornnumber
-				gs 'clothing', 'strip_all', 'VillageRiver'
-				'Without hesitation, you take off all your clothes and neatly fold them before putting them down on a pile. Without your clothes holding you back, you can go for a nice swim in the river or lie down in the sand and sunbathe.'
-				act 'Continue': gt 'gadriver', 'gadbitch'
-			end
-		end
-		if PCloswimwear = 1 and pcs_stam >= (5 * (10 - sport_clothes_exercise_bonus)) / 2:
-			act 'Go for a swim':
-				cla
-				*clr
-				cumspclnt = 4
-				gs 'cum_cleanup'
-
-				minut += 29
-				gs 'exercise', 'tier1', 1, 'stren', 'vital'
-
-				if pcs_inhib < 50:inhib_exp += rand(1,3)
-				pcs_sweat = 10 + rand(0,4)
-				if hour >= 22 or hour <= 6:
-					if rand(0,10) < 5 and MiraLoc = 1:
-						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirls.jpg"></center>'
-						'You and Mira take a nighttime swim in the river, splashing water at each other and having fun.'
-					else
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriverswim.jpg"></center>'
-						'You take a nighttime swim in the river, feeling the refreshing and invigorating water flowing across your body.'
-					end
-				else
-					if rand(0,10) < 5 and MiraLoc = 1:
-						'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirls.jpg"></center>'
-						'You and Mira swim in the river, splashing water at each other and having fun.'
-					else
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriverswim.jpg"></center>'
-						'You swim in the river, feeling the refreshing and invigorating water across your body.'
-					end
-				end
-				if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-
-				act 'Get out of the water':
-					if MiraLoc ! 1 and npc_QW['A63'] >= 13 and temp_gr = 0 and hour >= 8 and hour < 20:
-						*clr & cla
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex13.jpg"></center>'
-						'When you decide it''s time to get out of the river, you hear the sound of men laughing as they walk on the river bank approaching you. As they get closer, you see the village boys'' smirking faces, led by Mitya, headed towards the river bank while you are still in the shallow waters.'
-						'They quickly undress and jump in the water. Within a few seconds, you are surrounded by the grinning boys. Then, without a word, they reach for you and roughly take turns forcing you to suck their cocks.'
-						gs 'arousal', 'bj', 15, 'gangbang', 'sub', 'rough'
-						gs 'arousal', 'hj', 15, 'gangbang', 'sub', 'rough'
-						gs 'arousal', 'end'
-						gs 'boyStat', 'A63'
-						npc_sex[$boy] += 1
-						gs 'cum_call','face',$boy, 1,'','',20
-						gs 'cum_call','hair',$boy, 1,'','',20
-						gs 'boyStat', 'A61'
-						npc_sex[$boy] += 1
-						gs 'cum_call','face',$boy, 1,'','',20
-						gs 'cum_call', 'mouth_swallow', $boy, 1,'','',20
-						gs 'boyStat', 'A62'
-						npc_sex[$boy] += 1
-						minut -= 10
-						gs 'cum_call','face',$boy, 1,'','',20
-						gs 'cum_call', 'mouth_swallow', $boy, 1,'','',20
-						gang +=1
-						gs 'stat'
-
-						act 'Finish':gt'gadriver', 'gadbitch'
-					elseif MiraLoc ! 1 and npc_QW['A63'] >= 13 and temp_gr = 1 and hour >= 8 and hour < 20:
-						*clr & cla
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex19.jpg"></center>'
-						'As soon as you get out of the river, you meet a grinning Kolyamba. He smiles wickedly and commands you to get down on your hands and knees so he can fuck you in the ass...'
-						gs 'arousal', 'auto_lube', 'anal'
-						gs 'boyStat', 'A61'
-						npc_sex[$boy] += 1
-						pose = 1
-						gs 'dinSex','boy_wants_anal'
-						gs 'arousal', 'anal', 20, 'sub'
-						gs 'cum_call','anus',$boy, 1,'','',20
-						gs 'cum_call','butt',$boy, 1,'','',20
-						gs 'arousal', 'end'
-						gs 'stat'
-
-						act 'Finish':gt'gadriver', 'gadbitch'
-					else
-						gt'gadriver', 'gadbitch'
-					end
-				end
-			end
-		else
-			if $clothingworntype = 'nude':
-				act 'Go skinny dipping':
-					cla
-					*clr
-					temp_gr = rand(0,15)
-					cumspclnt = 4
-					gs 'cum_cleanup'
-					minut = minut + 20
-					pcs_sweat = 10 + rand(0,4)
-					pcs_mood += 5
-					inhib_exp += rand(1,3)
-					if pcs_stren < 30: gs 'exp_gain', 'stren', 1
-					if hour >= 22 and hour <= 6:
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/watergirls1.jpg"></center>'
-						'You strip your clothes off and slowly step into the cold river, knowing that the darkness hides your nudity. You swim around, feeling the refreshing and invigorating water caressing your body.'
-					else
-						if temp_gr >= 10 and MiraLoc = 1:
-							pcs_horny += rand(5,15)
-							gs 'stat'
-							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirlsnude'+rand(0,5)+'.jpg"></center>'
-							'You step into the river with Mira and have a good old-fashioned water fight, splashing each other until one of you finally surrenders.'
-						else
-							'<center><img <<$set_imgh>> src="images/locations/gadukino/river/watergirls.jpg"></center>'
-							'You take your clothes off and swiftly step into the river. You sigh, feeling the cold, refreshing and tonic water.'
-						end
-					end
-					if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-					act 'Get out of the water':
-						if MiraLoc ! 1 and npc_QW['A63'] >= 13 and temp_gr = 0 and hour >= 8 and hour < 20:
-							*clr & cla
-							'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex12.jpg"></center>'
-							'As soon as you step out of the water, you find your naked self in front of three boys here to do some fishing.'
-							'Seeing you skinny dipping, they start to talk amongst themselves about how much of a shameless slut you are and that the only good thing you are for is serving men. You tell them to fuck off, but they are too worked up and not listening to you at all.'
-							'One of the boys flips you over and starts penetrating your pussy as the other boy shoves his hardened cock into your protesting mouth. They have started to fuck you in an earnest and lust-filled frenzy.'
-							'Your muffled moans and the sound of your wet pussy getting pounded fill the air. The boys soon orgasm and decide to ejaculate all over your body to show dominance.'
-							gs 'arousal', 'vaginal', 10, 'gangbang', 'sub', 'rough'
-							gs 'arousal', 'anal', 10, 'gangbang', 'sub', 'rough'
-							gs 'arousal', 'hj', 10, 'gangbang', 'sub', 'rough'
-							gs 'arousal', 'bj', 10, 'gangbang', 'sub', 'rough'
-							gs 'arousal', 'end'
-							gs 'boyStat', 'A63'
-							npc_sex[$boy] += 1
-							gs 'cum_call','butt',$boy, 1
-							gs 'boyStat', 'A61'
-							npc_sex[$boy] += 1
-							gs 'cum_call','anus',$boy, 1,'','',20
-							gs 'boyStat', 'A62'
-							npc_sex[$boy] += 1
-							gs 'cum_call', 'mouth_swallow', $boy
-							gs 'stat'
-							gang +=1
-
-							act 'Finish': gt'gadriver', 'gadbitch'
-						else
-							gt'gadriver', 'gadbitch'
-						end
-					end
-				end
-			end
-		end
-		if hour >= 8 and hour < 20 and sunWeather = 1:
-			if PCloswimwear = 1 or $clothingworntype = 'nude':
-				act 'Sunbathe (1:00)':
-					if Mira_no = 0 and npc_rel['A60'] > 0 and MiraLoc ! 1 and rand(1,10) > 7 and hour > 8 and hour < 20 and sunWeather = 1 and temper >= 15 and npc_known['A60'] = 1:
-						cla
-						*clr
-						MiraLoc = 1
-						mira_go_river = 1
-						minut += 5
-						mira_go_blok = 1
-						if pcs_inhib < 50:inhib_exp += rand(1,3)
-						gs 'stat'
-						if $clothingworntype = 'nude':
-							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_river_nude.jpg"></center>'
-						else
-							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_river.jpg"></center>'
-						end
-						'You are sunbathing by the river when Mira comes along. You smile, and she undresses and lays her towel next to yours.'
-
-						act 'Continue': gt'gadriver', 'gadbitch'
-					elseif $clothingworntype = 'nude':
-						*clr & cla
-						minut += 60
-						inhib_exp += rand(1,3)
-						if pcs_sweat < 35 : gs 'sweat', 'add', 5
-						pcs_mood += 5
-						if temp_gr < 10 and MiraLoc = 1:
-							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/beachtwogirlsnude.jpg"></center>'
-							'You lie next to Mira and gossip about the villagers, enjoying the sun.'
-						else
-							'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadrivernude.jpg"></center>'
-							'You lie down on your towel and start sunbathing.'
-						end
-						if mc_inventory['suncream'] =  0:
-							pcs_tan += 1
-						elseif  mc_inventory['suncream'] > 0:
-							mc_inventory['suncream'] -=  1
-							'You smear the suntan lotion all over your body to help prevent sunburn.'
-							pcs_tan += 3
-						end
-						act 'Finish sunbathing':
-							if MiraLoc ! 1 and npc_QW['A63'] >= 13 and temp_gr = 0 and hour >= 8 and hour < 20:
-								*clr & cla
-								'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex14.jpg"></center>'
-								'You hear several men''s voices rapidly approaching. Suddenly, a couple of the village boys emerge in front of you. Noticing that you are nude, they brighten up considerably. In a few minutes, despite you protesting lively, they have you on all fours and are roughly fucking you...'
-								gs 'arousal', 'vaginal', 10, 'gangbang', 'sub', 'rough'
-								gs 'arousal', 'anal', 10, 'gangbang', 'sub', 'rough'
-								gs 'arousal', 'bj', 10, 'gangbang', 'sub', 'rough'
-								gs 'arousal', 'hj', 10, 'gangbang', 'sub', 'rough'
-								gs 'boyStat', 'A62'
-								npc_sex[$boy] += 1
-								gs 'cum_call','butt',$boy, 1
-								gs 'boyStat', 'A63'
-								npc_sex[$boy] += 1
-								gs 'cum_call','anus',$boy, 1,'','',20
-								gs 'boyStat', 'A61'
-								npc_sex[$boy] += 1
-								gs 'cum_call','mouth_swallow',$boy
-								gs 'arousal', 'end'
-								gs 'stat'
-
-								act 'Get dressed':gt'gadriver', 'gadbitch'
-							else
-								gt'gadriver', 'gadbitch'
-							end
-						end
-					else
-						*clr & cla
-						minut += 60
-						if pcs_sweat < 35 : gs 'sweat', 'add', 5
-						pcs_mood += 5
-
-						if temp_gr < 10 and MiraLoc = 1:
-							'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/beachtwogirls.jpg"></center>'
-							'You lie next to Mira and gossip about trivial things, enjoying the sun.'
-						else
-							'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadrivergirl.jpg"></center>'
-							'You sunbathe alone on the riverbank.'
-						end
-						if mc_inventory['suncream'] =  0:
-							pcs_tan += 1
-						elseif  mc_inventory['suncream'] > 0:
-							mc_inventory['suncream'] -=  1
-							pcs_tan += 3
-							'You smear suntan lotion all over your body to prevent sunburn. Then, you''re all lathered up and sunbathing a few minutes later.'
-						end
-						act 'Finish':
-
-							if MiraLoc ! 1 and npc_QW['A63'] >= 13 and temp_gr = 0 and hour >= 8 and hour < 20:
-								*clr & cla
-								'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex15.jpg"></center>'
-								'After a while, you hear some familiar voices quickly approaching you. A couple of minutes later, the village boys emerge from the bushes. Noticing you sunbathing, they brighten up considerably. But, in a short time, despite you protesting lively, all of your holes have been violated...'
-								gs 'arousal', 'vaginal', 10, 'gangbang', 'sub', 'rough'
-								gs 'arousal', 'anal', 10, 'gangbang', 'sub', 'rough'
-								gs 'arousal', 'bj', 10, 'gangbang', 'sub', 'rough'
-								gs 'arousal', 'hj', 10, 'gangbang', 'sub', 'rough'
-								gs 'arousal', 'end'
-								gs 'boyStat', 'A61'
-								npc_sex[$boy] += 1
-								gs 'cum_call','butt',$boy, 1
-								gs 'boyStat', 'A62'
-								npc_sex[$boy] += 1
-								gs 'cum_call','anus',$boy, 1,'','',20
-								gs 'boyStat', 'A63'
-								npc_sex[$boy] += 1
-								gs 'cum_call','mouth_swallow',$boy
-								gang +=1
-								gs 'stat'
-
-								act 'Finish':gt'gadriver', 'gadbitch'
-							elseif MiraLoc = 1 and npc_QW['A60'] >= 15 and temp_gr = 1 and hour >= 8 and hour < 20:
-								*clr & cla
-								'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex16.jpg"></center>'
-								'After a while, you hear voices rapidly approaching from the village. You see the village boys emerge from the bushes in a couple of minutes. Seeing Mira, they smile obscenely, and without hesitation, they quickly surround her as she lies on the sand. You sit up and watch as they fuck her in all her holes...'
-
-								gs 'arousal', 'voyeur_sex', 30, 'gangbang', 'dom'
-								gs 'arousal', 'end'
-								gs 'stat'
-
-								act 'Finish': gt'gadriver', 'gadbitch'
-							else
-								gt'gadriver', 'gadbitch'
-							end
-						end
-					end
-				end
-			end
-		end
-		if grandpaQW['chore_bathe_horse_prog'] = 1:
-			act 'Look at Desperado':
-				*clr & cla
-
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/horse_river.jpg"></center>'
-				'You see Desperado happily walking around in the river.'
-
-				if PCloswimwear = 1 or $clothingworntype = 'nude':
-					act 'Wash Desperado':
-						*clr & cla
-
-						cumspclnt = 4
-						gs 'cum_cleanup'
-						minut += 30
-						pcs_sweat = 10 + rand(0,4)
-						pcs_mood += 5
-						if pcs_inhib < 50 or $clothingworntype = 'nude': inhib_exp += rand(1,3)
-						gs 'exp_gain', 'hndiwrk', rand(1,3)
-						grandpaQW['chore_bathe_horse_prog'] = 2
-						gs 'stat'
-
-						if $clothingworntype = 'nude':
-							'<center><img <<$set_imgh>> src="images/locations/gadukino/river/wash_horse_nude.jpg"></center>'
-						elseif PCloswimwear = 1:
-							'<center><img <<$set_imgh>> src="images/locations/gadukino/river/wash_horse_swim.jpg"></center>'
-						end
-						'You jump in the river and swim over to Desperado. You take your time washing his beautiful chestnut coat.'
-						'After half an hour, you are satisfied with your work, and Desperado is ready to be taken back home.'
-						if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-
-						act 'Get out of the water':
-							minut += 5
-							gt'gadriver', 'gadbitch'
-						end
-					end
-					if Mira_Loc = 1 and npc_rel['A60'] > 0:
-						act 'Wash Desperado with Mira':
-							*clr & cla
-
-							cumspclnt = 4
-							gs 'cum_cleanup'
-							minut += 30
-							npc_rel['A60'] += 1
-							pcs_sweat = 10 + rand(0,4)
-							pcs_mood += 5
-							if pcs_inhib < 50 or $clothingworntype = 'nude': inhib_exp += rand(1,3)
-							gs 'exp_gain', 'hndiwrk', rand(1,3)
-							grandpaQW['chore_bathe_horse_prog'] = 2
-							gs 'stat'
-
-							if $clothingworntype = 'nude':
-								'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/wash_horse_mira_nude.jpg"></center>'
-							elseif PCloswimwear = 1:
-								'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/wash_horse_mira_swim.jpg"></center>'
-							end
-							'You invite Mira to wash Desperado with you; she agrees with nothing better to do.'
-							'You swim over to Desperado and begin to splash water on him. You chat with Mira and sometimes splash her instead.'
-							'After half an hour, you think Desperado looks cleaner than before and is ready to be taken back home.'
-							if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-
-							act 'Get out of the water':
-								minut += 5
-								gt'gadriver', 'gadbitch'
-							end
-						end
-					end
-
-				else
-					'You cannot wear regular clothes to wash Desperado.'
-					act 'Return': gt'gadriver', 'gadbitch'
-				end
-			end
-		end
-		if grandpaQW['chore_bathe_horse_prog'] = 2:
-			act 'Lead Desperado back home (0:30)':
-				if PCloswimwear = 1:
-					cla
-					'You need to dress in regular clothes first.'
-					act'Return':gt'gadriver', 'gadbitch'
-				elseif $clothingworntype = 'nude':
-					cla
-					'You need to put some clothes on first.'
-					act'Return':gt'gadriver', 'gadbitch'
-				else
-					minut += 30
-					gs 'exp_gain', 'hndiwrk', rand(0,3)
-					grandpaQW['chore_bathe_horse'] = 2
-					grandpaQW['chore_bathe_horse_prog'] = 0
-					gs 'stat'
-
-					gt'gadsarai','horse'
-				end
-			end
-		end
-	end
-
-!! extraordinary events at the river beach. Be aware, this part has to be at the end because it removes actions, which were set before.
-	if (mira_go_blok = 0 and MiraLoc = 1 and rand(1,10) = 5) or (MiraLoc = 1 and hour >= 20):
-		*clr & cla
-		minut += 5
-		mira_go_blok = 1
-		mira_no_home = 0
-		MiraLoc = 0
-		gs 'stat'
-		if $clothingworntype = 'nude':
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_home_nude.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_go_home.jpg"></center>'
-		end
-		*nl
-		'"<<$pcs_nickname>>, I have to go home, " Mira said and began gathering her stuff.'
-
-		act 'Continue': gt'gadriver', 'gadbitch'
-	elseif Mira_no = 0 and MiraLoc = 1 and hour > 8 and hour < 20 and sunWeather = 1 and temper >= 15 and PC_arrive = 1:
-		*clr & cla
-		'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira_in_river.jpg"></center>'
-		*nl
-		'Arriving at the beach, you see Mira lying down, sunbathing on a towel.'
-		MiraLoc = 1
-		minut += 5
-		mira_go_blok = 1
-		gs 'stat'
-
-		act 'Continue':
-			if Miraswimday ! daystart:
-				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirariver.jpg"></center>'
-				*nl
-				'"<<$pcs_nickname>>, why are you moping about on the shore? Get in the water and swim with me?" - Mira called out to you as she waded into the river.'
-				minut += 1
-				Miraswimday = daystart
-				gs 'stat'
-				act 'Agree and get changed':
-					*clr & cla
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/undressbch1.jpg"></center>'
-					*nl
-					'"Wait, Mira, I have to change out of my clothes!" you cry in response, although she can hardly hear you as she is already splashing around in the river.'
-					'You start to take off your clothes.'
-					if func('changingroom','count_swim_item') > 0:
-						act 'Change into swimwear':
-							gs 'gadriver','get_changed','start'
-						end
-					end
-					if pcs_inhib >= 25 or exhibitionist_lvl > 1:
-						act 'Strip naked':
-							cla
-							minut += 5
-							$lastwornclothingtype['swim'] = $clothingworntype
-							lastwornclothingnumber['swim'] = clothingwornnumber
-							$lastwornpantytype['swim'] = $pantyworntype
-							lastwornpantynumber['swim'] = pantywornnumber
-							$lastwornbratype['swim'] = $braworntype
-							lastwornbranumber['swim'] = brawornnumber
-							gs 'clothing', 'strip_all', 'VillageRiver'
-							inhib_exp += rand(1,3)
-							'Without hesitation, you take off all your clothes and neatly fold them before putting them down in a pile. Without your clothes holding you back, you can go for a nice swim in the river or lie down in the sand and sunbathe.'
-
-							act 'Swim':
-								*clr & cla
-								'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirlsnude'+rand(0,5)+'.jpg"></center>'
-								*nl
-								'You wade into the river and have fun with Mira spraying each other with water.'
-								if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-								temp_gr = rand(0,15)
-								cumspclnt = 4 & gs 'cum_cleanup'
-
-								minut += 20
-								gs 'exercise', 'tier1', 10, 'stren', 'vital'
-
-								pcs_sweat = 10 + rand(0,4)
-								gs'stat'
-
-								act 'Get out of the water':gt'gadriver', 'gadbitch'
-							end
-						end
-					end
-					act'Second thoughts': gt 'gadriver', 'second_thoughts'
-				end
-				act'Refuse': gt 'gadriver', 'second_thoughts'
-			else
-				gt'gadriver', 'gadbitch'
-			end
-		end
-	end
-end
-
-if $ARGS[0] = 'get_changed':
-	menu_off = 1
-	$loc_arg = 'get_changed'
-	if $ARGS[1] = 'start':
-		gt 'changingroom', 'view_swim_list'
-	else
-		*clr & cla
-		'<center><img <<$set_imgh>> src="images/locations/gadukino/river/undressbch.jpg"></center>'
-		*nl
-		'You put on your swimwear and neatly fold your clothes before putting them down in a pile. Now you can go for a nice swim in the river or just lie down in the sand and sunbathe.'
-		if PCloswimwear = 1:
-			act 'Swim':
-				*clr & cla
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/rivertwogirls.jpg"></center>'
-				*nl
-				'You wade into the river and have fun with Mira spraying each other with water.'
-				if deodorant_on = 1: gs 'sweat', 'remove_deo' & '<br>Your deodorant gets washed away in the water.'
-				temp_gr = rand(0,15)
-				cumspclnt = 4 & gs 'cum_cleanup'
-
-				minut += 29
-				if pcs_inhib < 50:inhib_exp += rand(1,2)
-				gs 'exercise', 'tier1', 1, 'stren', 'vital'
-
-
-				pcs_sweat = 10 + rand(0,4)
-				gs'stat'
-
-				act 'Get out of the water':gt'gadriver', 'gadbitch'
-			end
-		else
-			act'Second thoughts': gt 'gadriver', 'second_thoughts'
-		end
-	end
-end
-
-if $ARGS[0] = 'second_thoughts':
-	*clr & cla
-	menu_off = 1
-	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirariver.jpg"></center>'
-	*nl
-	if func('changingroom','count_swim_item') = 0:
-		'"Actually, Mira, I can''t come in right now, as I didn''t bring a swimsuit", you replied you here. "I''m going to stay on the shore for a bit."'
-		*nl
-		'You should probably buy some swimwear if you intend to spend time at the beach.'
-		*nl
-	else
-		'"Actually, Mira, I''ve changed my mind. I don''t feel like swimming just now," you replied to her. "I''m going to stay on the shore for a bit."'
-	end
-	minut += 1
-	npc_rel['A60'] -= 1
-	gs 'stat'
-
-	act 'Continue': gt'gadriver', 'gadbitch'
-end
-
-if $ARGS[0] = 'Mira':
-	*clr & cla
-	menu_off = 1
-	minut += 2
-	gs 'stat'
-
-	if sun = 1:
-		if npc_QW['A60'] < 12:
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirabeach.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirabeachnude.jpg"></center>'
-		end
-	else
-		if npc_QW['A60'] < 12:
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirariver.jpg"></center>'
-		else
-			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirarivernude.jpg"></center>'
-		end
-	end
-	act 'Leave':gt 'gadriver', 'gadbitch'
-
-	act 'Chat':
-		*clr & cla
-		minut += 10
-		pcs_mood += 10
-		gs 'stat'
-		if sun = 1:
-			if npc_QW['A60'] < 12:
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirabeach.jpg"></center>'
-			else
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirabeachnude.jpg"></center>'
-			end
-		else
-			if npc_QW['A60'] < 12:
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirariver.jpg"></center>'
-			else
-				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirarivernude.jpg"></center>'
-			end
-		end
-		if npc_QW['A60'] >= 0:
-			if npc_QW['A60'] >= 30 and miraprost > 0 and sunWeather = 1:
-				'You and Mira talk about her being the village prostitute and how she can improve her performance.'
-			elseif npc_QW['A60'] >= 20 and sunWeather = 1:
-				'It is always lovely to talk with Mira, and you gossip about boys.'
-			elseif npc_QW['A60'] >= 15 and sunWeather = 1:
-				'You and Mira talk about clothes and shopping, she has a thing for shoes but can''t wear pretty heels because of all the mud.'
-			elseif npc_QW['A60'] >= 11 and sunWeather = 1:
-				'Mira asks you about Pavlovsk, and you tell her all about it.'
-			elseif npc_QW['A60'] >= 9 and sunWeather = 1:
-				'You talk to Mira about what it is like living in the village.'
-			elseif npc_QW['A60'] >= 8 and sunWeather = 1:
-				'Mira breaks the silence, "What brings you here to the village?"'
-				'"My granma-ma and Pop-pop live here. My folks like to come here over the summer. They think the country air will be good for me."'
-			elseif npc_QW['A60'] = 7 and sunWeather = 1:
-				'You decide to speak with Mira, "So what is there to do here in the village?"'
-				'"It''s a lot quieter than a town, but we have a shop, this lovely beach, and some beautiful walks. Other than that, there are only the Gopnik guys, but they are just after one thing, and I don''t want that. Plus, dad would kill me."'
-			elseif npc_QW['A60'] < 7 and sunWeather = 1:
-				if npc_rel['A60'] < 15:npc_rel['A60'] += 1
-				'You and Mira are chatting about trivial things.'
-			end
-		end
-		act 'Leave':gt 'gadriver', 'gadbitch'
-	end
-end
-
-if $ARGS[0] = 'mirapunish':
-	*clr & cla
-	menu_off = 1
-	minut += 10
-	pcs_horny += rand(25,75)
-	gs 'stat'
-
-	'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirapunish.jpg"></center>'
-	'You approach Mira. She looks distressed and embarrassingly smiles as you start asking what happened. She pleads with you to release her. As you untie her, she explains that Kolyamba punished her for barely biting his cock as she sucked it...'
-	'"Thank God you showed up," she says with a sigh of relief as you untie her. "I''m glad you found me and not one of those old hags from the village. They would call me a whore, and I would get scolded for being promiscuous. Those old hags hate us, you know. We''re young and beautiful, and they are just mean old wretches." said the naked Mira, revealing her true feelings about the villagers. She continues quietly, "Or it could have been even worse. Someone could have abused me, raped me or even killed m..." Then, she suddenly stops and lunges in your arms, weeping. "Thank you," she tells you. "You saved my life!"'
-
-	act 'Leave':gt 'gadriver', 'gadbitch'
-end
-
-if $ARGS[0] = 'GuysRiver':
-	*clr & cla
-	menu_off = 1
-	minut += 5
-	pcs_horny += 10
-	gs 'stat'
-	temp_gr = rand(0,10)
-
-	'<center><img <<$set_imgh>> src="images/locations/gadukino/river/mitkaguysriver.jpg"></center>'
-	'"Oh, hi, <<$pcs_nickname>>. So it''s just you today?" Kolyamba grinned.'
-	if temp_gr <= 4:
-		'"There doesn''t seem to be anyone else around, and all of us are as horny as bullfrogs. Do you want to have a little fun with us? Come on, spread your legs, show us your pussy and start playing with yourself..."'
-	elseif temp_gr > 4 and temp_gr <= 8:
-		'"There doesn''t seem to be anyone around, and we are as horny as bullfrogs. Do you want to have a little fun with us? How about you give us a blowjob? We''ll be really grateful, ha-ha!"'
-	else
-		'"Ah, no, Mira, it''s just our other hot babe. Come here, lovely. We have something exceptional for you."'
-	end
-	if temp_gr < 4:
-		act 'Pleasure Kolyamba':
-			*clr & cla
-			gs 'boyStat', 'A61'
-			pose = 0
-			temp_gr = rand(0,2)
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex.jpg"></center>'
-			'You quickly take off your pants and climb onto Kolyamba, grabbing his cock, and leading it inside you.'
-
-			gs 'arousal', 'vaginal', 10, 'sub', 'group'
-			gs 'stat'
-
-			act 'Pleasure Vasyan':
-				*clr & cla
-				gs 'boyStat', 'A62'
-				pose = 0
-				gs 'stat'
-				temp_gr = rand(0,2)
-				if temp_gr = 0:
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex1.jpg"></center>'
-					'Vasyan rolls you onto your back, sticking his cock into your wet pussy.'
-					gs 'arousal', 'vaginal', 10, 'sub', 'group'
-					gs 'arousal', 'end'
-					gs 'stat'
-				elseif temp_gr = 1:
-					gs 'boyStat', 'A62'
-					spafinloc = 12
-					gs 'cum_manage'
-					gs'stat'
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex2.jpg"></center>'
-					'Vasya steps up to you and slaps you in the face while pulling out his cock, forcing you on your knees so he can beat you with his dick.'
-					'He forcefully shoves the cock into your mouth and cums lavishly in your mouth...'
-					gs 'arousal', 'bj', 5, 'sub', 'group', 'rough'
-					gs 'arousal', 'end'
-					gs 'stat'
-				else
-					gs 'boyStat', 'A62'
-					pcs_ass += 1
-					spafinloc = 3
-					gs 'cum_manage'
-					gs'stat'
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex3.jpg"></center>'
-					'Vasyan forces you on all four and starts pumping his dick into your ass.'
-					gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
-					gs 'arousal', 'end'
-					gs 'stat'
-				end
-				act 'Leave':gt'gadriver', 'gadbitch'
-			end
-		end
-	elseif temp_gr < 8:
-		act 'Pleasure Kolyamba':
-			*clr & cla
-			gs 'boyStat', 'A61'
-			spafinloc = 12
-			gs 'cum_manage'
-			gs'stat'
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex4.jpg"></center>'
-			'You get down on your knees and start licking Kolyamba''s dick. Then, after a while, you start sucking it like a popsicle...'
-			'He only manages to hold out for a short time finishing in your mouth...'
-			gs 'arousal', 'bj', 5, 'sub', 'group', 'rough'
-			gs 'stat'
-			act 'Pleasure Vasyan':
-				*clr & cla
-				gs 'boyStat', 'A62'
-				pose = 0
-				gs 'stat'
-				temp_gr = rand(0,2)
-				if temp_gr = 0:
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex5.jpg"></center>'
-					'Vasyan lays you onto your back, using his fingers to stimulate your vaginal lips while sticking his cock into your wet pussy.'
-					gs 'arousal', 'vaginal', 10, 'sub', 'group', 'rough'
-					gs 'arousal', 'end'
-					gs 'stat'
-				elseif temp_gr = 1:
-					gs 'boyStat', 'A62'
-					spafinloc = 12
-					gs 'cum_manage'
-					gs'stat'
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex6.jpg"></center>'
-					'Vasyan roughs you up with his hands and then takes out his dick, forcing you to suck him off.'
-					'He shoves the cock into your mouth and soon cums violently...'
-					gs 'arousal', 'bj', 5, 'sub', 'group', 'rough'
-					gs 'arousal', 'end'
-					gs 'stat'
-				else
-					gs 'boyStat', 'A62'
-					pcs_ass += 1
-					spafinloc = 3
-					gs 'cum_manage'
-					gs'stat'
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex7.jpg"></center>'
-					'Vasyan forces you on all fours, telling you that you will enjoy this. Then, he pulls out his dick and starts fucking you in the ass.'
-					gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
-					gs 'arousal', 'end'
-					gs 'stat'
-				end
-				act 'Leave':gt'gadriver', 'gadbitch'
-			end
-		end
-	else
-		act 'Pleasure Kolyamba':
-			*clr & cla
-			gs 'boyStat', 'A61'
-			pcs_ass += 1
-			spafinloc = 3
-			gs 'cum_manage'
-
-			gs'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex8.jpg"></center>'
-			'Kolyamba looks you in the eyes and asks if you trust him. You gulp and reply, "Yes." He takes out a blindfold and places it over your eyes so you can''t see what''s happening next. Kolyamba then proceeds to take both of your clothes off. You stand in front of him, blindfolded, naked, and full of anticipation.'
-			'He orders you to get down on your knees. He grabs your head and tells you to open your mouth. While pleasuring him, he orders you to stop and moves the cock away from the mouth. He then lies down on the ground and tells you to mount him. You move on top of him while he grabs his cock and leads it inside your ass. He frantically starts thrusting his cock inside your ass, cumming after a short while.'
-
-			gs 'arousal', 'bj', 10, 'sub', 'group', 'rough'
-			gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
-			minut -= 10
-			gs 'stat'
-
-			act 'Pleasure Vasyan':
-				*clr & cla
-				gs 'boyStat', 'A62'
-				pose = 1
-				gs 'stat'
-				temp_gr = rand(0,2)
-
-				if temp_gr = 0:
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex9.jpg"></center>'
-					'Vasyan tells you he heard about a sex position where both of you will reach ecstasy. Intrigued by this, you take your clothes off and start caressing his cock. He removes your hand from his cock and tells you to get down on your hands and knees. Vasya walks behind you, grabs his cock and enters you from behind. You gasp as he mounts you. Soon enough, you both cry out in ecstasy cumming at the same time.'
-
-					$orgasm_or = 'yes'
-					gs 'arousal', 'bj', 10, 'sub', 'group', 'rough'
-					gs 'arousal', 'vaginal', 10, 'sub', 'group', 'rough'
-					minut -= 10
-					gs 'arousal', 'end'
-					gs 'stat'
-
-				elseif temp_gr = 1:
-					gs 'boyStat', 'A62'
-					spafinloc = 12
-					gs 'cum_manage'
-					gs'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex10.jpg"></center>'
-					'Vasyan steps closer to you and tells you he wants his cock sucked. You drop down on your knees and start sucking his glans.'
-					'Feeling dissatisfied by your performance, he grabs you by the head. He forces his cock deep down your throat, mumbling something about teaching you how to do it properly. Finally, he finishes inside your mouth...'
-					gs 'arousal', 'bj', 5, 'sub', 'group', 'rough', 'deepthroat'
-					gs 'arousal', 'end'
-					gs 'stat'
-				else
-					gs 'boyStat', 'A62'
-					pcs_ass += 1
-					spafinloc = 3
-					gs 'cum_manage'
-					gs'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/sex/mitka/mitkaguysriversex11.jpg"></center>'
-					'Vasyan forces you to your hands and knees and starts thrusting his dick into your anus.'
-					gs 'arousal', 'anal', 10, 'sub', 'group', 'rough'
-					gs 'arousal', 'end'
-					gs 'stat'
-				end
-				act 'Leave':gt'gadriver', 'gadbitch'
-			end
-		end
-	end
-	act 'Leave':gt'gadriver', 'gadbitch'
-end
-
-if $ARGS[0] = 'fishers':
-	*clr & cla
-	menu_off = 1
-	minut += 2
-	gs 'stat'
-
-	'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriverfishers.jpg"></center>'
-
-	if fishersday ! daystart:
-		act 'Greet':
-			cla
-			*clr
-			fishersday = daystart
-			minut += 3
-			if fishersQW < 3:fishersQW += 1
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/hifishers.jpg"></center>'
-			'You politely greet the fishermen, but they are too focused on fishing. One of them absently waves in your general direction in response.'
-
-			if fishersQW >= 3:
-				act 'Chat':
-					cla
-					*clr
-					minut += 10
-					if fishersQW = 3:fishersQW = 4
-					gs 'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-					'You keep watching as the fishermen throw out their lures. One catches a fish and shows off his trophy before putting it into the fish bail. The two of you chat about fishing.'
-
-					act 'Leave':gt 'gadriver', 'start'
-				end
-			end
-			if fishersQW = 4:
-				act 'Ask to borrow a fishing rod':
-					cla
-					*clr
-					minut += 10
-					fishersQW = 5
-					gs 'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-					'You decide to try your luck at fishing and ask the fishermen if they could lend you a fishing rod. Uncle Stepan, a friend of the family, points to a pile of spare rods and tells you to pick one.'
-
-					act 'Fishing':gt 'gadriver', 'fishing'
-				end
-			end
-			if fishersQW = 5:
-				act 'Fishing with them':
-					cla
-					*clr
-					minut += 10
-					gs 'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-					'You decide to join your new friends. Uncle Stepan tells you he has plenty of spare rods and hands you a rod while his eyes travel up and down your body.'
-
-					act 'Fishing':gt 'gadriver', 'fishing'
-				end
-			end
-
-			act 'Leave':gt 'gadriver', 'start'
-		end
-	else
-		act 'Leave':gt 'gadriver', 'start'
-	end
-end
-
-if $ARGS[0] = 'fishing':
-	cla
-	*clr
-	menu_off = 1
-	'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver.jpg"></center>'
-	'The stream quietly flows over the rocks, pleasantly tickling your ears. You gaze at the village that''s entirely peaceful. There is a sense of serenity about it today.'
-	'You caught <<fish>> fish.'
-	if hour < 22:
-		act 'Throw the bait':
-			*clr & cla
-			minut += rand(5,10)
-			if hour < 12:
-				temp_gr = rand(5,20)
-			elseif hour >= 12 and hour < 18:
-				temp_gr = rand(0,20)
-			else
-				temp_gr = rand(10,20)
-			end
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/fishingriver.jpg"></center>'
-			'You throw out the lure and watch the bobber for signs of a nibble.'
-
-			if temp_gr > rand(15,19):
-				cla
-				*clr
-				minut += 1
-				gs 'stat'
-
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/nofishingriver.jpg"></center>'
-				'Suddenly the bobber dives under the water dramatically. You got one!'
-
-				act 'Pull':
-					cla
-					*clr
-					minut += 1
-					temp_gr = rand(0,120)
-					if temp_gr < 50:gs 'exp_gain', 'react', 1
-					gs 'stat'
-
-					if pcs_react > temp_gr:
-						pcs_mood += rand(5,10)
-						minut += 1
-						gs 'exp_gain', 'react', 1
-						fish += 1
-						gs 'stat'
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/fishyes.jpg"></center>'
-						'You skillfully strike, pulling the rod up sharply. You feel the rod straining slightly, and after a few moments, you excitedly pull a small fish out of the water.'
-					else
-						pcs_mood -= rand(5,10)
-						minut += 1
-						gs 'stat'
-						'<center><img <<$set_imgh>> src="images/locations/gadukino/river/gadriver.jpg"></center>'
-						'You strike, but the lack of tension makes the fish escape from the hook.'
-
-					end
-					act 'Throw another bait':gt 'gadriver', 'fishing'
-				end
-			else
-				'The bobber remains perfectly still. Eventually, you decide to try a different lure.'
-				act 'Retrieve bait':gt 'gadriver', 'fishing'
-			end
-		end
-		act 'Finish':
-			cla
-			*clr
-			minut += 5
-			gs 'stat'
-
-			'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-			'You''re tired, so you return the fishing rod to uncle Stepan.'
-			if fish > 0:
-				act 'Release your catch':
-					cla
-					*clr
-					minut += 5
-					fish = 0
-					gs 'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-					'You decide to release all the fish you caught today. The other fishermen shake their heads disapprovingly, throwing sidelong glances at your body as you dump the fish back into the river.'
-
-					act 'Leave':gt $loc, $loc_arg
-				end
-				act 'Give the fish to Uncle Stepan':
-					cla
-					*clr
-					minut += 5
-					fish = 0
-					gs 'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-					'You give all the fish you caught to uncle Stepan, and he makes a show out of reluctantly accepting them. Still, you can see that he is pretty happy with this arrangement.'
-
-					act 'Leave':gt $loc, $loc_arg
-				end
-				act 'Bring a fish to Boniface':
-					cla
-					*clr
-					minut += 5
-					fish -= 1
-					pcs_mood += rand(15,40)
-					gs 'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/villcat2.jpg"></center>'
-					'As soon as you enter the house, Boniface immediately jumps to the floor and twines around your feet. Then, the furry beast starts loudly yowling and pawing at your legs. He has obviously detected the smell of fresh fish. You treat Boniface to a small fish, and within a few minutes, all that remains is a pile of fish bones.'
-					if fish >0: fish = 0 & 'You try to give the rest of the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
-
-					act 'Finish': gt 'gadhouse', 'start'
-				end
-				act 'Give the fish to your grandmother':
-					cla
-					*clr
-					minut += 5
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/givefish.jpg"></center>'
-					'You try to give the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
-
-					act 'Finish': gt 'gadhouse', 'start'
-				end
-			else
-				act 'Leave':gt $loc, $loc_arg
-			end
-		end
-	else
-		cla
-		*clr
-		minut += 5
-		pcs_mood -= rand(5,10)
-		gs 'stat'
-
-		'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-		'Uncle Stepan says, "It''s time to head home, young lady." You reluctantly return his fishing rod, knowing that''s it for today.'
-
-		if fish > 0:
-			act 'Release your catch':
-				cla
-				*clr
-				minut += 5
-				fish = 0
-				gs 'stat'
-
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-				'You decide to release all the fish you caught today. The other fishermen shake their heads disapprovingly, throwing sidelong glances at your body as you dump the fish back into the river.'
-
-				act 'Leave':gt $loc, $loc_arg
-			end
-			act 'Give to Uncle Stepan':
-				cla
-				*clr
-				minut += 5
-				fish = 0
-				gs 'stat'
-
-				'<center><img <<$set_imgh>> src="images/locations/gadukino/river/talkfishers.jpg"></center>'
-				'You give all the fish caught to uncle Stepan, who reluctantly accepts them. You can see he is pretty happy with this arrangement.'
-
-				act 'Leave':gt $loc, $loc_arg
-			end
-			if grandmaQW['block'] = 0:
-				act 'Bring a fish to Boniface':
-					cla
-					*clr
-					minut += 5
-					fish -= 1
-					pcs_mood += rand(15,40)
-					gs 'stat'
-
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/village/villcat2.jpg"></center>'
-					'As soon as you enter the house, Boniface immediately jumps to the floor and twines around your feet. Then, the furry beast starts loudly yowling and pawing at your legs. He has obviously detected the smell of fresh fish. You treat Boniface to a small fish, and within a few minutes, all that remains is a pile of fish bones.'
-					if fish >0: fish = 0 & 'You try to give the rest of the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
-
-					act 'Finish': gt 'gadhouse', 'start'
-				end
-				act 'Give the fish to your grandmother':
-					cla
-					*clr
-					minut += 5
-					'<center><img <<$set_imgh>> src="images/locations/gadukino/grandparents/givefish.jpg"></center>'
-					'You try to give the fish to your grandmother, but she takes one look at the intact fish and points at your grandfather. He sighs heavily, then takes the fish outside to clean them.'
-
-					act 'Finish': gt 'gadhouse', 'start'
-				end
-			end
-		else
-			act 'Leave':gt $loc, $loc_arg
-		end
-	end
-end
---- gadriver ---------------------------------
-

+ 47 - 50
locations/gadukino.qsrc

@@ -1,23 +1,22 @@
 # gadukino
 !!2022/05/02
+!2024/05/05 - Mira schedule introduced.
+!locat['A60'] = Mira''s location. See 'miroslava_schedule'
 
 if $ARGS[0] = '':
-	$loc = 'gadukino'
-	$loc_arg = ''
+	gs 'shortgs', 'setloc', 'gadukino', ''
 	$region = 'gad'
 	$location_type = 'public_outdoors'
+	gs 'miroslava_schedule'
+	menu_off = 0
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
 
-	$menu_loc = 'gadukino'
-	$menu_arg = ''
-	menu_off = 0
-
 	!exec before everything
 	!lower chance (1/3 to 1/12) and once per day by illume
 	! 10% chance of meeting Mitka once per day in the village when Sveta is not the village boys slut or whole villages whore
-	mitkarand = rand(1,10)
-	if mitkaday ! daystart and hour >= 7 and hour < 20 and mitkarand = 1 and (npc_QW['A63'] < 11 or gadriver_gang > 2):
+	temp_rand = rand(1,10)
+	if temp_rand = 1 and GadBoy['mitka_day'] ! daystart and hour >= 7 and hour < 20 and (npc_QW['A63'] < 11 or GadBoy['river_gang'] > 2):
 		*clr & cla
 		menu_off = 1
 		minut += 5
@@ -30,49 +29,50 @@ if $ARGS[0] = '':
 	else
 		! checks for events first before showing regular street actions
 		! Sveta is the boys slut and not the whole villages whore yet
-		if npc_QW['A63'] = 20 and hour >= 7 and hour < 20 and month >= 4 and month <= 10 and gadboyday ! daystart and week > 5 and gadriver_gang < 1: gt 'gadukino_event', 'gadriver_gang'
+		if npc_QW['A63'] = 20 and hour >= 7 and hour < 20 and month >= 4 and month <= 10 and gadboyday ! daystart and week > 5 and GadBoy['river_gang'] < 1: gt 'gadukino_event', 'gadriver_gang'
 		! Sveta decision on whether to be the whole villages whore or not
-		if gadriver_gang = 1 and hour >= 7 and hour < 20 and gadboyday ! daystart: gt 'gadukino_event', 'gang_apologise'
+		if GadBoy['river_gang'] = 1 and hour >= 7 and hour < 20 and gadboyday ! daystart: gt 'gadukino_event', 'gang_apologise'
 		! Sveta decided not to be the whole villages whore
-		if gadriver_gang = 3 and hour >= 7 and hour < 20 and gadboyday ! daystart: gt 'gadukino_event', 'mitka_apologise'
-		if gadriver_gang = 4 and mirasex = 1 and miralick = 0 and hour >= 8 and hour <= 20 and gadboyday ! daystart: gt 'gadukino_event', 'mira_apologise'
+		if GadBoy['river_gang'] = 3 and hour >= 7 and hour < 20 and gadboyday ! daystart: gt 'gadukino_event', 'mitka_apologise'
+		if GadBoy['river_gang'] = 4 and MiraVars['had_sex'] = 1 and MiraVars['cuni_given'] = 0 and hour >= 8 and hour <= 20 and gadboyday ! daystart: gt 'gadukino_event', 'mira_apologise'
 		! Sveta decided to be the whole villages whore - each boy will only fuck Sveta once per day
-		if gadriver_gang = 2 and hour >= 7 and hour < 20 and month >= 4 and month <= 10 and gadboyday ! daystart:
-			mitkarand = rand(1,12)
+		if GadBoy['river_gang'] = 2 and hour >= 7 and hour < 20 and month >= 4 and month <= 10 and gadboyday ! daystart:
+			temp_rand = rand(1,12)
 			! 33% chance one of the village boys will demand sex from Sveta
-			if mitkarand <= 4:
+			if temp_rand <= 4:
 				! 25% chance for more than 1 boy
-				if mitkarand = 4:
-					if mitkaday ! daystart and kolyambaday ! daystart:
+				if temp_rand = 4:
+					if GadBoy['mitka_day'] ! daystart and GadBoy['kolyamba_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_2boys', '1'
-					elseif mitkaday ! daystart and vasyanday ! daystart:
+					elseif GadBoy['mitka_day'] ! daystart and GadBoy['vasyan_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_2boys', '2'
-					elseif kolyambaday ! daystart and vasyanday ! daystart:
+					elseif GadBoy['kolyamba_day'] ! daystart and GadBoy['vasyan_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_2boys', '3'
-					elseif mitkaday ! daystart:
+					elseif GadBoy['mitka_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_mitka'
-					elseif kolyambaday ! daystart:
+					elseif GadBoy['kolyamba_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_kolyamba'
-					elseif vasyanday ! daystart:
+					elseif GadBoy['vasyan_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_vasyan'
 					end
 				! 75% chance for only 1 boy
 				else
-					if mitkaday ! daystart:
+					if GadBoy['mitka_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_mitka'
-					elseif kolyambaday ! daystart:
+					elseif GadBoy['kolyamba_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_kolyamba'
-					elseif vasyanday ! daystart:
+					elseif GadBoy['vasyan_day'] ! daystart:
 						gt 'gadukino_event', 'gadukino_vasyan'
 					end
 				end
 			! 17% chance for Mira to demand sex from Sveta
- 			elseif mitkarand <= 6:
+ 			elseif temp_rand <= 6:
 				! Sveta is the boys slut and Mira is not and they have already had sex together
-				if npc_QW['A63'] >= 11 and mirasex = 1 and npc_QW['A60'] < 11 and miraday ! daystart: gt 'meadow','mira_lesb_talk4'
+				if npc_QW['A63'] >= 11 and MiraVars['had_sex'] = 1 and MiraVars['QW'] < 11 and MiraVars['event_day'] ! daystart: gt 'gad_meadow','mira_lesb_talk4'
 			end
 		end
 		gs 'stat'
+		killvar 'temp_rand'
 
 		'<center><h2>Gadukino</h2></center>'
 		if month >= 4 and month <= 10:
@@ -91,8 +91,8 @@ if $ARGS[0] = '':
 		*nl
 		'A small village with many old wooden houses and even more in various states of disrepair. It has certainly seen better times.'
 		if car > 0 and cardrive = 23: '<a href="exec:GS ''carF'',''start''">Your <<$car>></a> is close by.'
-		'Several small farms are scattered around the outskirts of the village, one of which belongs to <a href="exec:minut += 5 & gt ''gaddvor''">your grandparents</a>.'
-		act 'Go to your grandparent''s house': minut += 5 & gt 'gaddvor'
+		'Several small farms are scattered around the outskirts of the village, one of which belongs to <a href="exec:minut += 5 & gt ''gad_gpyard'', ''start''">your grandparents</a>.'
+		act 'Go to your grandparent''s house': minut += 5 & gt 'gad_gpyard', 'start'
 		if $home['current'] = 'hunters_lodge' or $home['current'] = 'grandparents_house':
 			if vladimirQW['day'] = daystart and vladimirQW['stage'] = 30 and hour >= 16 and week = 6:'<a href="exec:gt ''vladimirQW_meet'',''2''">There''s an Audi parked in the street, and standing beside it, you notice Vladimir</a>.'
 			if vladimirQW['day'] = daystart and vladimirQW['stage'] = 40 and hour >= 16 and week = 6:'<a href="exec:gt ''vladimirQW_meet'',''3''">There''s an Audi parked in the street, and standing beside it, you notice Vladimir</a>.'
@@ -108,8 +108,8 @@ if $ARGS[0] = '':
 			end
 		end
 		if npc_rel['A60'] > 0 and npc_known['A60'] = 1:
-			'Just down the road from your grandparents'' house is <a href="exec:minut += 5 & gt ''miroslavahome'', ''start''">Mira''s house</a>.'
-			act 'Go to Mira''s house': minut += 5 & gt 'miroslavahome', 'start'
+			'Just down the road from your grandparents'' house is <a href="exec:minut += 5 & gt ''gad_miroslava_home'', ''start''">Mira''s house</a>.'
+			act 'Go to Mira''s house': minut += 5 & gt 'gad_miroslava_home', 'start'
 		end
 		*nl
 
@@ -123,19 +123,18 @@ if $ARGS[0] = '':
 			'During the summer, a truck usually comes into town from the city to buy fresh mushrooms and berries from the locals. It''s not the right season for it right now, though.'
 		end
 
-		!Looks like no reference to Gadmarket exists. Adding it...FinnMacha
 		*nl
 		'In the center of the village is a small grass-covered square where villagers gather to meet and discuss or argue about politics or village life.'
 		'Near the square sits the old <a href="exec: minut += 3 & gt ''gad_church'',''start''">chapel</a>, it is not in the best shape, but it appears well-loved.'
 		if hour >= 8 and hour < 20:
-			'One of the buildings facing the square has a sign saying, <a href="exec: minut += 5 & gt ''gadmarket''">General Store</a>. A sign on the door proclaims it "OPEN". It looks like the only place in the village to buy goods.'
-			act 'Go to the general store': minut += 5 & gt 'gadmarket'
+			'One of the buildings facing the square has a sign saying, <a href="exec: minut += 5 & gt ''gad_market''">General Store</a>. A sign on the door proclaims it "OPEN". It looks like the only place in the village to buy goods.'
+			act 'Go to the general store': minut += 5 & gt 'gad_market'
 		else
 			'One of the buildings facing the square has a sign saying, General Store. A sign on the door proclaims it "CLOSED". It looks like the only place in the village to buy goods.'
 		end
 
-		act 'Walk to the forest road (0:10)':minut += 10 & gt 'gadroad'
-		act 'Walk to the highway (0:15)':minut += 15 & nroad = 10 & gt 'road'
+		act 'Walk to the forest road (0:10)': minut += 10 & gt 'gad_road', 'start'
+		act 'Walk to the highway (0:15)': minut += 15 & nroad = 10 & gt 'road'
 		if hour >= 6 and hour < 20:
 			act 'Walk around the village (0:15)':
 				*clr & cla
@@ -145,7 +144,7 @@ if $ARGS[0] = '':
 
 				temp = rand(1,100)
 				! 50% chance of mira events if you already found the meadow and are still friends with mira
-				if temp >= 50 and Mira_no = 0 and MiraLoc = 0:
+				if temp >= 50 and locat['A60'] = 30:
 					gt 'gadukino', 'mira_events'
 				! 50% chance of other random 1 picture flavour events
 				else
@@ -324,7 +323,7 @@ if $ARGS[0] = 'mira_events':
 	else
 		*clr & cla
 		! mira 2nd wish - pose as prostitute - one time event to fire so check for this first before repeatable mira events
-		if npc_QW['A60'] = 15 and temper >= 10 and sunWeather = 1 and miraprost = 0:
+		if MiraVars['QW'] = 15 and temper >= 10 and sunWeather = 1 and MiraVars['prostitute'] = 0:
 			'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraqw7.jpg"></center>'
 			'Walking through the village, you notice Mira digging in her vegetable garden. She stands with her ass high in the air, and to your amazement, she isn''t wearing panties. You get a good look at her pussy lips...'
 
@@ -360,8 +359,8 @@ if $ARGS[0] = 'mira_events':
 								*clr & cla
 								minut += 30
 								pcs_horny += 20
-								miraprost += 1
-								npc_QW['A60'] = 16
+								MiraVars['prostitute'] += 1
+								MiraVars['QW'] = 16
 								'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/miraprost.jpg"></center>'
 								'It isn''t long before Mira''s first customer pulls up in an excellent vehicle. She takes a deep breath, looks you in the eyes, winks, approaches the car, and starts talking to the driver.'
 								'You can''t hear what she is saying, but after only a few minutes, the door opens, and Mira steps into the vehicle. It pulls away but doesn''t go far. You see it pull off the main road and head down a dirt road. Smiling and wanting to see the action, you run into the woods, trying to head off the vehicle.'
@@ -393,7 +392,6 @@ if $ARGS[0] = 'mira_events':
 												act 'Walk back to the village together':
 													*clr & cla
 													minut += 10
-													miraloc = 0
 													gs 'arousal', 'end'
 													gs 'stat'
 
@@ -426,7 +424,6 @@ if $ARGS[0] = 'mira_events':
 												act 'Walk back to the village together':
 													*clr & cla
 													minut += 10
-													miraloc = 0
 													gs 'arousal', 'end'
 													gs 'stat'
 
@@ -445,8 +442,8 @@ if $ARGS[0] = 'mira_events':
 			end
 
 		! mira slut events
-		elseif npc_QW['A60'] >= 11 and temper >= 10 and sunWeather = 1 and miraday ! daystart:
-			miraday = daystart
+		elseif MiraVars['QW'] >= 11 and temper >= 10 and sunWeather = 1 and MiraVars['event_day'] ! daystart:
+			MiraVars['event_day'] = daystart
 
 			if pcs_horny > 50 and rand(0,1) = 0:
 				gs 'miroslava', 'miraclothes'
@@ -458,7 +455,7 @@ if $ARGS[0] = 'mira_events':
 				if will_cost <= pcs_willpwr:
 					act 'You''re feeling naughty (<<will_cost>> Willpower)':
 						*clr & cla
-						if mirasextimes < 50:
+						if MiraVars['Mitka_fucks'] < 50:
 							temp = rand(0,3)
 							if temp = 0:
 								'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mirasp.jpg"></center>'
@@ -554,10 +551,10 @@ if $ARGS[0] = 'mira_events':
 				act 'Finish your walk': gt 'gadukino'
 			end
 		! mira owes sveta wishes already
-		elseif npc_QW['A60'] >= 4 and npc_QW['A60'] < 11 and temper >= 10 and sunWeather = 1 and miraday ! daystart:
-			miraday = daystart
+		elseif MiraVars['QW'] >= 4 and MiraVars['QW'] < 11 and temper >= 10 and sunWeather = 1 and MiraVars['event_day'] ! daystart:
+			MiraVars['event_day'] = daystart
 			! mira first wish done
-			if npc_QW['A60'] >= 6:
+			if MiraVars['QW'] >= 6:
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirasexgad2.jpg"></center>'
 				'Walking through the village, you happen to notice Mira fucking Mitka. Mitka slowly grinds his cock deep into Mira''s pussy. You see Mira shudder under him as she climaxes. She moaned and raked his back with her fingernails as she squirted and continued to cum. Mitka increased his pace and roughly hammered his cock into her dripping pussy. With his left hand, he reached for Mira''s right tit and squeezed it without mercy; Mira just squealed and laughed.'
@@ -588,7 +585,7 @@ if $ARGS[0] = 'mira_events':
 				end
 
 			! mira first wish not done
-			elseif npc_QW['A60'] >= 4:
+			elseif MiraVars['QW'] >= 4:
 				*clr & cla
 				'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/sex/mirasexgad.jpg"></center>'
 				'Walking through the village, you notice Mira sucking Mitka''s cock in the backyard. She wraps her lips around it, almost entirely taking the dick into her mouth. Sometimes she glances to the side...'
@@ -636,7 +633,7 @@ if $ARGS[0] = 'mira_events':
 				npc_rel['A60'] += 1
 				minut += 10
 				gs 'stat'
-				if npc_QW['A60'] = 0:
+				if MiraVars['QW'] = 0:
 					'<center><img <<$set_imgh>> src="images/characters/gadukino/mira/mira1.jpg"></center>'
 				else
 					gs 'miroslava','miraclothes'

+ 34 - 34
locations/gadukino_event.qsrc

@@ -27,7 +27,7 @@ if $ARGS[0] = 'mira_apologise':
 			*clr & cla
 			minut += 5
 			pcs_horny += 5
-			mirasex = 2
+			MiraVars['had_sex'] = 2
 			gs 'stat'
 			gs 'miroslava', 'miraclothes'
 
@@ -40,7 +40,7 @@ if $ARGS[0] = 'mira_apologise':
 		act 'Refuse':
 			*clr & cla
 			minut += 30
-			mirasex = 3
+			MiraVars['had_sex'] = 3
 			gs 'stat'
 			gs 'miroslava', 'miraclothes'
 
@@ -59,7 +59,7 @@ if $ARGS[0] = 'mitka_apologise':
 	menu_off = 1
 	minut += 5
 	gadboyday = daystart
-	gadriver_gang = 4
+	GadBoy['river_gang'] = 4
 	gs 'stat'
 
 	'<center><img <<$set_imgh>> src="images/locations/gadukino/village/turn_back.jpg"></center>'
@@ -76,13 +76,13 @@ if $ARGS[0] = 'mitka_apologise':
 		'"Listen, <<$pcs_nickname>>. I beat up the other guys," he said with a smirk, seeing the fear on your face. "I told them not to touch you anymore, and if they want anything to do with you, they have to come and speak to me first."'
 		'You stood silently and waited to see what more he had to say.'
 		'"In short, I remember you as one of my best childhood friends, so I don''t want to argue anymore about Mira," he said with a grin. "Friends?"'
-		if npc_QW['A60'] >= 12:
+		if MiraVars['QW'] >= 12:
 			'"So you won''t have sex with Mira anymore?" you ask, relieved.'
 			'"Don''t worry, Mira won''t mind." Mitka snickered.'
 			'"You must stop having sex with her." you look at Mitka with distrust.'
 			'"Well, what can I do. If she begs me to do it, I can''t promise I''ll say no." he laughed. "Well, I think we''re all set. I''ll try to avoid Mira... But I won''t say no if she begs me to fuck her."'
 			'Mitka starts walking towards Kolyamba''s house. You watch him for a while until he disappears behind a corner.'
-		elseif npc_QW['A60'] >= 3:
+		elseif MiraVars['QW'] >= 3:
 			'"And you must stop having sex with Mira." you look at Mitka with distrust.'
 			'"Well, what can I do. If she begs me to do it, I can''t promise I''ll say no." he laughed. "Well, I think we''re all set. I''ll try to avoid Mira... But I won''t say no if she begs me to fuck her."'
 			'Mitka starts walking towards Kolyamba''s house. You watch him for a while until he disappears behind a corner.'
@@ -109,7 +109,7 @@ if $ARGS[0] = 'gang_apologise':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/girl_escapes.jpg"></center>'
 		'You started running away from the road, not stopping before you felt you were in the clear.'
 		'"Good thing I ran away from that pervy bastard. I cannot believe how much I''ve looked up to him." you thought, looking around.'
-		act 'Continue':gt'meadow'
+		act 'Continue': gt 'gad_meadow', 'start'
 	end
 
 	act 'Wait and see':
@@ -139,7 +139,7 @@ if $ARGS[0] = 'gang_apologise':
 			act 'Take the money':
 				*clr & cla
 				minut += 5
-				gadriver_gang = 2
+				GadBoy['river_gang'] = 2
 				gs 'prostitution_functions', 'set_gadukion_prostitute'
 				money += 10000
 				gs 'stat'
@@ -160,7 +160,7 @@ if $ARGS[0] = 'gang_apologise':
 				act 'Refuse (<<will_cost>> Willpower)':
 					*clr & cla
 					minut += 5
-					gadriver_gang = 3
+					GadBoy['river_gang'] = 3
 					gs 'willpower', 'prostitution', 'resist', 'hard'
 					gs 'willpower', 'pay', 'resist'
 					gs 'stat'
@@ -185,7 +185,7 @@ end
 if $ARGS[0] = 'gadriver_gang':
 	minut += 5
 	menu_off = 1
-	gadriver_gang = 1
+	GadBoy['river_gang'] = 1
 	gadboyday = daystart
 	npc_QW['A63'] = 21
 	if pcs_health <= 100:pcs_health += 100
@@ -711,7 +711,7 @@ if $ARGS[0] = 'gadriver_gang5':
 					'"Best to clean up first and deal with the consequences later." You think to yourself.'
 					gs 'arousal', 'end'
 					gs 'stat'
-					act 'Leave':minut += 5 & gt'gadriver', 'gadbitch'
+					act 'Leave': minut += 5 & gt 'gad_beach', 'start'
 				end
 			end
 		end
@@ -721,7 +721,7 @@ end
 if $ARGS[0] = 'gadukino_mitka':
 	menu_off = 1
 	minut += 5
-	mitkaday = daystart
+	GadBoy['mitka_day'] = daystart
 	gs 'stat'
 
 	'<center><b><font color = maroon>Mitka Shkvoryen</font></b></center>'
@@ -752,7 +752,7 @@ end
 if $ARGS[0] = 'gadukino_kolyamba':
 	menu_off = 1
 	minut += 5
-	kolyambaday = daystart
+	GadBoy['kolyamba_day'] = daystart
 	gs 'stat'
 
 	'<center><b><font color = maroon>Kolyamba Pyut</font></b></center>'
@@ -782,7 +782,7 @@ end
 if $ARGS[0] = 'gadukino_vasyan':
 	menu_off = 1
 	minut += 5
-	vasyanday = daystart
+	GadBoy['vasyan_day'] = daystart
 	gs 'stat'
 
 	'<center><b><font color = maroon>Vasyan Paket</font></b></center>'
@@ -820,29 +820,29 @@ if $ARGS[0] = 'gadukino_2boys':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/2boys.2.jpg"></center>'
 	end
 	if $ARGS[1] = '1':
-		mitkaday = daystart
-		kolyambaday = daystart
+		GadBoy['mitka_day'] = daystart
+		GadBoy['kolyamba_day'] = daystart
 		'Walking through the village, you meet Mitka and Kolyamba. Seeing you, they grin, grab you by the arms and drag you into the bushes.'
 	elseif $ARGS[1] = '2':
-		mitkaday = daystart
-		vasyanday = daystart
+		GadBoy['mitka_day'] = daystart
+		GadBoy['vasyan_day'] = daystart
 		'Walking through the village, you meet Mitka and Vasyan. Seeing you, they grin, grab you by the arms and drag you into the bushes.'
 	elseif $ARGS[1] = '3':
-		kolyambaday = daystart
-		vasyanday = daystart
+		GadBoy['kolyamba_day'] = daystart
+		GadBoy['vasyan_day'] = daystart
 		'Walking through the village, you meet Kolyamba and Vasyan. Seeing you, they grin, grab you by the arms and drag you into the bushes.'
 	end
 	gs 'willpower', 'sex', 'resist', 'hard'
 	if will_cost <= pcs_willpwr:
 		act 'Refuse (<<will_cost>> Willpower)':
 			cla
-			if $ARGS[1] = 1:
+			if max(val($ARGS[1]),ARGS[1]) = 1:
 				npc_rel['A63'] -= 3
 				npc_rel['A61'] -= 3
-			elseif $ARGS[1] = '2':
+			elseif max(val($ARGS[1]),ARGS[1]) = 2:
 				npc_rel['A63'] -= 3
 				npc_rel['A62'] -= 3
-			elseif $ARGS[1] = '3':
+			elseif max(val($ARGS[1]),ARGS[1]) = 3:
 				npc_rel['A61'] -= 3
 				npc_rel['A62'] -= 3
 			end
@@ -864,7 +864,7 @@ end
 if $ARGS[0] = 'mira_mitka':
 	menu_off = 1
 	minut += 5
-	mitkaday = daystart
+	GadBoy['mitka_day'] = daystart
 	gs 'stat'
 
 	'<center><b><font color = maroon>Mitka Shkvoryen</font></b></center>'
@@ -895,7 +895,7 @@ end
 if $ARGS[0] = 'mira_kolyamba':
 	menu_off = 1
 	minut += 5
-	kolyambaday = daystart
+	GadBoy['kolyamba_day'] = daystart
 	gs 'stat'
 
 	'<center><b><font color = maroon>Kolyamba Pyut</font></b></center>'
@@ -925,7 +925,7 @@ end
 if $ARGS[0] = 'mira_vasyan':
 	menu_off = 1
 	minut += 5
-	vasyanday = daystart
+	GadBoy['vasyan_day'] = daystart
 	gs 'stat'
 
 	'<center><b><font color = maroon>Vasyan Paket</font></b></center>'
@@ -962,16 +962,16 @@ if $ARGS[0] = 'mira_2boys':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/2boys.2.jpg"></center>'
 	end
 	if ARGS[1] = 1:
-		mitkaday = daystart
-		kolyambaday = daystart
+		GadBoy['mitka_day'] = daystart
+		GadBoy['kolyamba_day'] = daystart
 		'Walking with Mira in the village, you meet Mitka and Kolyamba. Seeing you both, they smile at each other and drag you both into the bushes.'
 	elseif ARGS[1] = 2:
-		mitkaday = daystart
-		vasyanday = daystart
+		GadBoy['mitka_day'] = daystart
+		GadBoy['vasyan_day'] = daystart
 		'Walking with Mira in the village, you meet Mitka and Vasyan. Seeing you both, they smile at each other and drag you both into the bushes.'
 	elseif ARGS[1] = 3:
-		kolyambaday = daystart
-		vasyanday = daystart
+		GadBoy['kolyamba_day'] = daystart
+		GadBoy['vasyan_day'] = daystart
 		'Walking with Mira in the village, you meet Kolyamba and Vasyan. Seeing you both, they smile at each other and drag you both into the bushes.'
 	end
 	gs 'willpower', 'sex', 'resist', 'hard'
@@ -1006,9 +1006,9 @@ end
 if $ARGS[0] = 'mira_3boys':
 	menu_off = 1
 	minut += 5
-	mitkaday = daystart
-	kolyambaday = daystart
-	vasyanday = daystart
+	GadBoy['mitka_day'] = daystart
+	GadBoy['kolyamba_day'] = daystart
+	GadBoy['vasyan_day'] = daystart
 	gs 'stat'
 
 	if month >= 6 and month <= 8:

+ 14 - 14
locations/gargazel.qsrc

@@ -32,22 +32,22 @@ end
 act 'Leave the garage':minut += 5 & gt 'pav_complex', 'garages'
 
 if YouCanGar > 0:
-	'You have stored <<GarTorgItem>> trinkets in the garage currently. Your stepfather allowed you to store some things in his garage but doesn''t want you taking up all his space, he has allowed you to store up to 100 trinkets here. The garage is not very easily accessible; if you want to sell the trinkets at the station, you will have to bring them back home first.'
+	'You have stored <<mc_inventory[''trinkets_garage'']>> trinkets in the garage currently. Your stepfather allowed you to store some things in his garage but doesn''t want you taking up all his space, he has allowed you to store up to 100 trinkets here. The garage is not very easily accessible; if you want to sell the trinkets at the station, you will have to bring them back home first.'
 
-	if tovarL >= 30:
+	if mc_inventory['trinkets_home'] >= 30:
 		'You already have too much stored at home and do not have any more space.'
-	elseif tovarL < 30:
-		perenGarTov = 30 - tovarL
-		'You can bring <<perenGarTov>> trinkets home and store them somewhere, until you have time to collect and sell them at the train station.'
+	elseif mc_inventory['trinkets_home'] < 30:
+		trinkets_can_take = 30 - mc_inventory['trinkets_home']
+		'You can bring <<trinkets_can_take>> trinkets home and store them somewhere, until you have time to collect and sell them at the train station.'
 
-		if GarTorgItem > 0:
-			if GarTorgItem >= perenGarTov:
-				act 'Move <<perenGarTov>> trinkets to your home':
+		if mc_inventory['trinkets_garage'] > 0:
+			if mc_inventory['trinkets_garage'] >= trinkets_can_take:
+				act 'Move <<trinkets_can_take>> trinkets to your home':
 					cls
 					menu_off = 1
 					minut += 60
-					tovarL += perenGarTov
-					GarTorgItem -= perenGarTov
+					mc_inventory['trinkets_home'] += trinkets_can_take
+					mc_inventory['trinkets_garage'] -= trinkets_can_take
 					gs 'stat'
 					'You spend an hour gathering your trinkets from various places, bringing them home and hiding them there.'
 
@@ -55,13 +55,13 @@ if YouCanGar > 0:
 				end
 			end
 
-			if GarTorgItem < perenGarTov:
-				act 'Collect <<GarTorgItem>> trinkets to take with you':
+			if mc_inventory['trinkets_garage'] < trinkets_can_take:
+				act 'Collect <<mc_inventory[''trinkets_garage'']>> trinkets to take with you':
 					cls
 					menu_off = 1
 					minut += 30
-					tovarL += GarTorgItem
-					GarTorgItem = 0
+					mc_inventory['trinkets_home'] += mc_inventory['trinkets_garage']
+					mc_inventory['trinkets_garage'] = 0
 					gs 'stat'
 					'You spend half an hour gathering your trinkets from various places in the garage, putting them in a bag so you can go sell them at the station.'
 

+ 35 - 35
locations/grandmahelp.qsrc

@@ -48,7 +48,7 @@ if $ARGS[0] = 'start':
 		gt 'grandmahelp', 'pickforest_both'
 	else
 		'"There is nothing to do today, <<$pcs_nickname>>. take the day off.'
-		act 'Continue':gt 'gadhouse', 'grandma'
+		act 'Continue': gt 'gad_gphouse', 'grandma'
 	end
 end
 
@@ -56,7 +56,7 @@ if $ARGS[0] = 'cleanfloor':
 	'"There is always something to do, <<$pcs_nickname>>. I''ve gotten quite old, and my strength is not what it used to be. Could you help me out by cleaning the floor?"'
 
 	grandmaQW['chore_clean_floor'] = 1
-	act 'Tell her you will do it soon':gt 'gadhouse', 'grandma'
+	act 'Tell her you will do it soon': gt 'gad_gphouse', 'grandma'
 	act 'Agree and start cleaning (1:00)':
 		*clr & cla
 		minut += 60
@@ -67,8 +67,8 @@ if $ARGS[0] = 'cleanfloor':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/washfloor.jpg"></center>'
 		'You grab a bucket and a rag, get down on your knees and begin scrubbing the floor. Within the hour, the floor shines, and you are satisfied with your work. You put the cleaning supplies into a corner and continue your day.'
 
-		act 'Continue':gt 'gadhouse', 'start'
-		act 'Return back to your grandmother': minut += 1 & gt 'gadhouse', 'grandma'
+		act 'Continue': gt 'gad_gphouse', 'start'
+		act 'Return back to your grandmother': minut += 1 & gt 'gad_gphouse', 'grandma'
 	end
 end
 
@@ -76,7 +76,7 @@ if $ARGS[0] = 'washclothes':
 	'"Of course, <<$pcs_nickname>>, you can help me wash your grandfather''s dirty clothes?"'
 
 	grandmaQW['chore_wash_clothes'] = 1
-	act 'Tell her you will wash them in a little bit':gt 'gadhouse', 'grandma'
+	act 'Tell her you will wash them in a little bit': gt 'gad_gphouse', 'grandma'
 	act 'Agree and start washing (1:00)':
 		*clr & cla
 		minut += 60
@@ -93,8 +93,8 @@ if $ARGS[0] = 'washclothes':
 		    '<center><img <<$set_imgh>> src="images/locations/gadukino/village/washclothes2.jpg"></center>'
 		    'Once done with the washing, you walk to the clothesline, where you carefully hang the clothes to dry.'
 
-		    act 'Continue':gt'gaddvor'
-			act 'Return back to your grandmother': minut += 1 & gt 'gadhouse', 'grandma'
+		    act 'Continue': gt 'gad_gpyard', 'start'
+			act 'Return back to your grandmother': minut += 1 & gt 'gad_gphouse', 'grandma'
 		end
 	end
 end
@@ -103,7 +103,7 @@ if $ARGS[0] = 'milkcows':
 	'"<<$pcs_nickname>>, go to the barn and milk the cows."'
 
 	grandmaQW['chore_milk_cow'] = 1
-	act 'Tell her you will do it in a bit':gt 'gadhouse', 'grandma'
+	act 'Tell her you will do it in a bit': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the barn (0:10)':
 		*clr & cla
 		minut += 10
@@ -112,7 +112,7 @@ if $ARGS[0] = 'milkcows':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
 		'You walk over to the barn where the cows are kept.'
 
-		act 'Continue':gt'gadsarai','cow'
+		act 'Continue': gt 'gad_gpbarn', 'cow'
 	end
 end
 
@@ -120,7 +120,7 @@ if $ARGS[0] = 'groceries':
 	'"Oh yes, <<$pcs_nickname>>. I was going to go down to the store today to buy some groceries, but my knees are aching. Do you think you could go down there and get them for me? I have a list of what we need, and the grocer will come by later to collect the money."'
 
 	grandmaQW['chore_groceries'] = 1
-	act 'Tell her you will go to the store later':gt 'gadhouse', 'grandma'
+	act 'Tell her you will go to the store later': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the store (0:15)':
 		*clr & cla
 		minut += 15
@@ -128,7 +128,7 @@ if $ARGS[0] = 'groceries':
 
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/izba.jpg"></center>'
 		'Your grandmother shuffles around, looking for her list for a few minutes, finally finding it and giving it to you. You grab a basket and set out for the store.'
-		act 'Continue':gt 'gadmarket'
+		act 'Continue': gt 'gad_market'
 	end
 end
 
@@ -136,7 +136,7 @@ if $ARGS[0] = 'can_mushrooms':
 	'"I need to get some of these mushrooms canned, <<$pcs_nickname>>, so we can store them. Can you please help me prepare them?"'
 
 	grandmaQW['chore_can_mushrooms'] = 1
-	act 'Tell her you will help her in a little while':gt 'gadhouse', 'grandma'
+	act 'Tell her you will help her in a little while': gt 'gad_gphouse', 'grandma'
 	act 'Agree to help her right now (2:00)':
 		*clr & cla
 		minut += 45
@@ -162,7 +162,7 @@ if $ARGS[0] = 'can_mushrooms':
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/canned_mushrooms.jpg"></center>'
 				'Finally, you help Grandma take them out of the canner and set them aside to cool.'
 				'"Thank you, <<$pcs_nickname>>," she says. "It is important to save food up for the hard winter months. Sure, now you can walk to the store and get whatever you want, but it wasn''t always that way!"'
-				act 'Finish':gt 'gadhouse','start'
+				act 'Finish': gt 'gad_gphouse','start'
 			end
 		end
 	end
@@ -172,7 +172,7 @@ if $ARGS[0] = 'can_berries':
 	'"It is time to can these berries, <<$pcs_nickname>>. Can you please help me? My fingers aren''t as spry as they used to be."'
 
 	grandmaQW['chore_can_berries'] = 1
-	act 'Tell her you will help her in a little while':gt 'gadhouse', 'grandma'
+	act 'Tell her you will help her in a little while': gt 'gad_gphouse', 'grandma'
 	act 'Agree to help her right now (2:00)':
 		*clr & cla
 		minut += 45
@@ -198,7 +198,7 @@ if $ARGS[0] = 'can_berries':
 				'<center><img <<$set_imgh>> src="images/locations/gadukino/village/canned_berries.jpg"></center>'
 				'Finally, you help Grandma take them out of the canner and set them aside to cool.'
 				'"There, now we will have berries for the winter," she says. "I think your grandfather could live off of these berries alone! He will be very grateful that you helped me."'
-				act 'Finish':gt 'gadhouse','start'
+				act 'Finish': gt 'gad_gphouse','start'
 			end
 		end
 	end
@@ -208,7 +208,7 @@ if $ARGS[0] = 'can_veggies':
 	'"We have had good luck with the garden this year, <<$pcs_nickname>>. But now we need to can these vegetables before they spoil. Can you help me, please?"'
 
 	grandmaQW['chore_can_veggies'] = 1
-	act 'Tell her you will help her in a little while':gt 'gadhouse', 'grandma'
+	act 'Tell her you will help her in a little while': gt 'gad_gphouse', 'grandma'
 	act 'Agree to help her right now (3:00)':
 		*clr & cla
 		minut += 75
@@ -235,7 +235,7 @@ if $ARGS[0] = 'can_veggies':
 				'Finally, you help Grandma take the last jars out of the canner and set them aside to cool.'
 				'"You know <<$pcs_nickname>>, if you know how to can your own food, you can survive years of poor harvests," she says.'
 				'"Your grandfather and I had many hard times when we were younger, but saving our crops during the good times kept us from starving to death in the bad times. You would do well to remember that, young lady!"'
-				act 'Finish':gt 'gadhouse','start'
+				act 'Finish': gt 'gad_gphouse','start'
 			end
 		end
 	end
@@ -245,7 +245,7 @@ if $ARGS[0] = 'feedchickens':
 	'"Of course, <<$pcs_nickname>>. Would you be kind and feed the chickens?"'
 
 	grandmaQW['chore_feed_chickens'] = 1
-	act 'Tell her you will do it in a little while':gt 'gadhouse', 'grandma'
+	act 'Tell her you will do it in a little while': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the yard (0:10)':
 		*clr & cla
 		minut += 10
@@ -254,7 +254,7 @@ if $ARGS[0] = 'feedchickens':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/feed_chickens.jpg"></center>'
 		'You take the grain mix for the chickens and walk to the yard.'
 
-		act 'Continue':gt'gaddvor','chickens'
+		act 'Continue': gt 'gad_gpyard','chickens'
 		
 	end
 end
@@ -263,7 +263,7 @@ if $ARGS[0] = 'checkplants':
 	'"<<$pcs_nickname>>, can you please go work in the garden?"'
 
 	grandmaQW['chore_work_in_garden'] = 1
-	act 'Tell her you will get to it later':gt 'gadhouse', 'grandma'
+	act 'Tell her you will get to it later': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the garden (0:10)':
 		*clr & cla
 		minut += 10
@@ -272,7 +272,7 @@ if $ARGS[0] = 'checkplants':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
 		'You go to the garden.'
 
-		act 'Continue':gt'gadgarden','garden'
+		act 'Continue': gt 'gad_gpyard', 'garden'
 	end
 end
 
@@ -280,7 +280,7 @@ if $ARGS[0] = 'waterplants':
 	'"Dear <<$pcs_nickname>>, could you go and water the plants in the garden?"'
 
 	grandmaQW['chore_water_garden'] = 1
-	act 'Tell her you will do it after a while':gt 'gadhouse', 'grandma'
+	act 'Tell her you will do it after a while': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the garden (0:10)':
 		*clr & cla
 		minut += 10
@@ -289,7 +289,7 @@ if $ARGS[0] = 'waterplants':
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
 		'You bring a watering can along with you to the garden.'
 
-		act 'Continue':gt'gadgarden','garden'
+		act 'Continue': gt 'gad_gpyard', 'garden'
 	end
 end
 
@@ -298,7 +298,7 @@ if $ARGS[0] = 'harvest':
 		'"<<$pcs_nickname>> dear, the strawberries are ripe for picking. Could you go over to the plot and pick them today?"'
 
 		grandmaQW['chore_collect_strawberries'] = 1
-		act 'Tell her you will do it in a little bit':gt 'gadhouse', 'grandma'
+		act 'Tell her you will do it in a little bit': gt 'gad_gphouse', 'grandma'
 		act 'Agree and go to the strawberry plot (0:10)':
 			*clr & cla
 			minut += 10
@@ -307,13 +307,13 @@ if $ARGS[0] = 'harvest':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
 			'You bring a basket with you and walk to the strawberry plot in the garden.'
 
-			act 'Continue':gt'gadgarden','strawberry'
+			act 'Continue': gt 'gad_gpyard', 'strawberry'
 		end
 	elseif month = 8 or month = 9:
 		'"<<$pcs_nickname>> dear, the fruits are ripe, and it is time to start collecting them. Could you go and do it today?"'
 
 		grandmaQW['chore_collect_fruit'] = 1
-		act 'Tell her you will do it in a little bit':gt 'gadhouse', 'grandma'
+		act 'Tell her you will do it in a little bit': gt 'gad_gphouse', 'grandma'
 		act 'Agree and go to the orchard (0:10)':
 			*clr & cla
 			minut += 10
@@ -322,13 +322,13 @@ if $ARGS[0] = 'harvest':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
 			'You bring a basket with you and walk to the fruit garden.'
 
-			act 'Continue':gt'gadgarden','fruit_garden'
+			act 'Continue': gt 'gad_gpyard', 'fruit_garden'
 		end
 	elseif month = 6:
 		'"<<$pcs_nickname>> dear, could you go to the garden today? It''s time to collect the harvest."'
 
 		grandmaQW['chore_harvest_garden'] = 1
-		act 'Tell her you will do it in a little bit':gt 'gadhouse', 'grandma'
+		act 'Tell her you will do it in a little bit': gt 'gad_gphouse', 'grandma'
 		act 'Agree and go to the garden (0:10)':
 			*clr & cla
 			minut += 10
@@ -337,7 +337,7 @@ if $ARGS[0] = 'harvest':
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
 			'You bring the harvest tools with you and go over to the garden.'
 
-			act 'Continue':gt'gadgarden','garden'
+			act 'Continue': gt 'gad_gpyard', 'garden'
 		end
 	end
 end
@@ -349,7 +349,7 @@ if $ARGS[0] = 'pickforest_mushrooms':
 	'"How much do we need, Grandma?" you ask.'
 	'"Oh, I would say you should be able to find at least <<grandmaQW[''chore_mushroom_quantity'']>> kilos," Grandma replies.'
 
-	act 'Tell her you will go get some soon':gt 'gadhouse', 'grandma'
+	act 'Tell her you will go get some soon': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the forest (1:00)':
 		*clr & cla
 		if hour >= 6 and hour < 22:
@@ -359,7 +359,7 @@ if $ARGS[0] = 'pickforest_mushrooms':
 		end
 		'You decide that now is as good a time as any to do it. You grab a basket and head out, walking to the forest.'
 		minut += 60
-		act 'Continue': gt 'gadforest', 'forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 
@@ -370,7 +370,7 @@ if $ARGS[0] = 'pickforest_berries':
 	'"How much do you want, Grandma?" you ask.'
 	'"<<grandmaQW[''chore_berry_quantity'']>> kilos will be a good start," Grandma replies.'
 
-	act 'Tell her you will go get some soon':gt 'gadhouse', 'grandma'
+	act 'Tell her you will go get some soon': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the forest (1:00)':
 		*clr & cla
 		if hour >= 6 and hour < 22:
@@ -380,7 +380,7 @@ if $ARGS[0] = 'pickforest_berries':
 		end
 		'You decide now is as good a time as any to do it. So you grab a basket and head out, walking to the forest.'
 		minut += 60
-		act 'Continue': gt 'gadforest', 'forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 
@@ -392,7 +392,7 @@ if $ARGS[0] = 'pickforest_both':
 	'"How much of each should I get?" you ask.'
 	'"If you could, try to find <<grandmaQW[''chore_mushroom_quantity'']>> kilos of mushrooms and <<grandmaQW[''chore_berry_quantity'']>> kilos of berries," Grandma replies. "It is important to stock up while we can."'
 
-	act 'Tell her you will go get some soon':gt 'gadhouse', 'grandma'
+	act 'Tell her you will go get some soon': gt 'gad_gphouse', 'grandma'
 	act 'Agree and go to the forest (1:00)':
 		*clr & cla
 		if hour >= 6 and hour < 22:
@@ -402,7 +402,7 @@ if $ARGS[0] = 'pickforest_both':
 		end
 		'You decide now is as good a time as any to do it. So you grab a basket and head out, walking to the forest.'
 		minut += 60
-		act 'Continue': gt 'gadforest', 'forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 

+ 30 - 30
locations/grandpahelp.qsrc

@@ -20,7 +20,7 @@ if $ARGS[0] = 'start':
 		'"<<$pcs_nickname>>, could you run out to the barn and bring firewood for the stove?"'
 
 		grandpaQW['chore_fetch_firewood'] = 1
-		act 'Tell him you will go get some in just a bit':gt 'gadhouse', 'grandpa'
+		act 'Tell him you will go get some in just a bit': gt 'gad_gphouse', 'grandpa'
 		act 'Agree and go to fetch firewood (0:20)':
 			*clr & cla
 			if month >= 4 and month <= 10:
@@ -36,13 +36,13 @@ if $ARGS[0] = 'start':
 			grandmaQW['help_amount'] += 1
 			gs'stat'
 
-			act 'Continue':gt 'gadhouse', 'start'
+			act 'Continue': gt 'gad_gphouse', 'start'
 		end
 	elseif grandpaQW['chore_type'] = 1:
 		'"<<$pcs_nickname>>, I need you to go to the barn and feed Desperado."'
 
 		grandpaQW['chore_feed_horse'] = 1
-		act 'Tell him that you will get to it in a little bit':gt 'gadhouse', 'grandpa'
+		act 'Tell him that you will get to it in a little bit': gt 'gad_gphouse', 'grandpa'
 		act 'Agree and go to the barn (0:10)':
 			*clr & cla
 			if month >= 4 and month <= 10:
@@ -54,13 +54,13 @@ if $ARGS[0] = 'start':
 			minut += 10
 			gs'stat'
 
-			act 'Continue':gt'gadsarai','horse'
+			act 'Continue': gt 'gad_gpbarn', 'horse'
 		end
 	elseif grandpaQW['chore_type'] = 2:
 		'"<<$pcs_nickname>>, go to the barn and feed the cow."'
 
 		grandpaQW['chore_feed_cow'] = 1
-		act 'Tell him that you will do it in a little while':gt 'gadhouse', 'grandpa'
+		act 'Tell him that you will do it in a little while': gt 'gad_gphouse', 'grandpa'
 		act 'Agree and go to the barn (0:10)':
 			*clr & cla
 			if month >= 4 and month <= 10:
@@ -72,7 +72,7 @@ if $ARGS[0] = 'start':
 			minut += 10
 			gs'stat'
 
-			act 'Continue':gt'gadsarai','cow'
+			act 'Continue': gt 'gad_gpbarn', 'cow'
 		end
 	elseif grandpaQW['chore_type'] = 3:
 		gt 'grandpahelp', 'cleanyard'
@@ -99,7 +99,7 @@ if $ARGS[0] = 'start':
 		'"Okay, grandfather," you replied.'
 
 		grandpaQW['chore_bale_hay'] = 1
-		act 'Tell him you will head over there soon':gt 'gadhouse', 'grandpa'
+		act 'Tell him you will head over there soon': gt 'gad_gphouse', 'grandpa'
 		act 'Grab a rake and head to the field (0:40)':
 			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_gadfield.jpg"></center>'
@@ -107,7 +107,7 @@ if $ARGS[0] = 'start':
 			minut += 40
 			gs'stat'
 
-			act 'Continue':gt'gadfield','field'
+			act 'Continue': gt'gad_field', 'field'
 		end
 	else
 		if hour >= 9:
@@ -133,7 +133,7 @@ if $ARGS[0] = 'start':
 				'"You can take the day off."'
 			end
 		end
-		act 'Continue':gt 'gadhouse', 'grandpa'
+		act 'Continue': gt 'gad_gphouse', 'grandpa'
 	end
 end
 
@@ -141,7 +141,7 @@ if $ARGS[0] = 'cleanyard':
 	'"Of course, <<$pcs_nickname>>, I need your help in the yard. Bring a garden tool with you."'
 
 	grandpaQW['chore_clean_yard'] = 1
-	act 'Tell him that you''ll do it in a minute':gt 'gadhouse', 'grandpa'
+	act 'Tell him that you''ll do it in a minute': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go clean up the yard (1:00)':
 		*clr & cla
 		if month >= 4 and month <= 10:
@@ -161,8 +161,8 @@ if $ARGS[0] = 'cleanyard':
 		end
 		gs'stat'
 
-		act 'Continue':gt'gaddvor'
-		act 'Return back to your grandfather': minut += 1 & gt 'gadhouse', 'grandpa'
+		act 'Continue': gt 'gad_gpyard'
+		act 'Return back to your grandfather': minut += 1 & gt 'gad_gphouse', 'grandpa'
 	end
 end
 
@@ -170,7 +170,7 @@ if $ARGS[0] = 'feedhogs':
 	'"<<$pcs_nickname>>, could you go to the barn and feed the hog?"'
 
 	grandpaQW['chore_feed_boar'] = 1
-	act 'Tell him you will get to it soon':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will get to it soon':gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the barn (0:10)':
 		*clr & cla
 		if month >= 4 and month <= 10:
@@ -182,7 +182,7 @@ if $ARGS[0] = 'feedhogs':
 		minut += 10
 		gs'stat'
 
-		act 'Continue':gt'gadsarai','boar'
+		act 'Continue': gt 'gad_gpbarn', 'boar'
 	end
 end
 
@@ -190,7 +190,7 @@ if $ARGS[0] = 'washhorse':
 	'"It''s good weather today. Take Desperado to the river and give him a bath."'
 
 	grandpaQW['chore_bathe_horse'] = 1
-	act 'Tell him you will do it in a little while':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will do it in a little while': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the barn (0:10)':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
@@ -198,7 +198,7 @@ if $ARGS[0] = 'washhorse':
 		minut += 10
 		gs'stat'
 
-		act 'Continue':gt'gadsarai','horse'
+		act 'Continue': gt 'gad_gpbarn', 'horse'
 	end
 end
 
@@ -206,7 +206,7 @@ if $ARGS[0] = 'groomhorse':
 	'"Of course, <<$pcs_nickname>>, I need your help to groom Desperado."'
 
 	grandpaQW['chore_brush_horse'] = 1
-	act 'Tell him you will do it in a bit':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will do it in a bit': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the barn (0:10)':
 		*clr & cla
 		if month >= 4 and month <= 10:
@@ -218,7 +218,7 @@ if $ARGS[0] = 'groomhorse':
 		minut += 10
 		gs'stat'
 
-		act 'Continue':gt'gadsarai','horse'
+		act 'Continue': gt 'gad_gpbarn', 'horse'
 	end
 end
 
@@ -226,7 +226,7 @@ if $ARGS[0] = 'grazehorse':
 	'"<<$pcs_nickname>>, take Desperado to the field. My legs hurt, so I need to rest for a bit. I''ll retrieve the horse in the evening."'
 
 	grandpaQW['chore_lead_horse_to_field'] = 1
-	act 'Tell him you will do it soon':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will do it soon': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the barn (0:10)':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
@@ -234,7 +234,7 @@ if $ARGS[0] = 'grazehorse':
 		minut += 10
 		gs'stat'
 
-		act 'Continue':& gt'gadsarai','horse'
+		act 'Continue': gt 'gad_gpbarn','horse'
 	end
 end
 
@@ -246,7 +246,7 @@ if $ARGS[0] = 'grazecows':
 	end
 
 	grandpaQW['chore_herd_cattle'] = 1
-	act 'Tell him you will meet him there':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will meet him there': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the field (0:40)':
 		*clr & cla
 		if grandpaQW['chore_herd_cattle_experience'] = 0:
@@ -263,7 +263,7 @@ if $ARGS[0] = 'grazecows':
 		if mc_inventory['food_sandwich'] = 0: mc_inventory['food_sandwich'] = 1
 		gs'stat'
 
-		act 'Continue':gt'gadfield','cow'
+		act 'Continue': gt'gad_field', 'cow'
 	end
 end
 
@@ -271,7 +271,7 @@ if $ARGS[0] = 'leadcows':
 	'"I have sore feet today, <<$pcs_nickname>>. My dear granddaughter, could you lead the cow to the field and tell the herders to drive her home at the end of the day?"'
 
 	grandpaQW['chore_lead_cow_to_field'] = 1
-	act 'Tell him you will soon':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will soon': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the barn (0:10)':
 		*clr & cla
 		'<center><img <<$set_imgh>> src="images/locations/gadukino/village/go_yard.jpg"></center>'
@@ -279,7 +279,7 @@ if $ARGS[0] = 'leadcows':
 		minut += 10
 		gs'stat'
 
-		act 'Continue':gt'gadsarai','cow'
+		act 'Continue': gt 'gad_gpbarn', 'cow'
 	end
 end
 
@@ -290,7 +290,7 @@ if $ARGS[0] = 'pickforest_mushrooms':
 	'"How much should I pick, grandpa?" you ask.'
 	'"<<grandpaQW[''chore_mushroom_quantity'']>> kilos will be enough," grandfather replies. "Be careful so you don''t get lost."'
 
-	act 'Tell him you will go get some soon':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will go get some soon': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the forest (1:00)':
 		*clr & cla
 		if hour >= 6 and hour < 22:
@@ -300,7 +300,7 @@ if $ARGS[0] = 'pickforest_mushrooms':
 		end
 		'You agree to help your grandfather, grabbing a basket and setting out on the road to the forest.'
 		minut += 60
-		act 'Continue': gt 'gadforest', 'forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 
@@ -311,7 +311,7 @@ if $ARGS[0] = 'pickforest_berries':
 	'"How much should I pick, grandpa?" you ask.'
 	'"<<grandpaQW[''chore_berry_quantity'']>> kilos will be enough," grandfather replies. "Just be careful so you don''t get lost."'
 
-	act 'Tell him you will go get some soon':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will go get some soon': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the forest (1:00)':
 		*clr & cla
 		if hour >= 6 and hour < 22:
@@ -321,7 +321,7 @@ if $ARGS[0] = 'pickforest_berries':
 		end
 		'You agree to help your grandfather, grabbing a basket and setting out on the road to the forest.'
 		minut += 60
-		act 'Continue': gt 'gadforest', 'forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 
@@ -333,7 +333,7 @@ if $ARGS[0] = 'pickforest_both':
 	'"How much should I pick, grandpa?"'
 	'"<<grandpaQW[''chore_mushroom_quantity'']>> kilos of mushrooms and <<grandpaQW[''chore_berry_quantity'']>> kilos of berries will be enough," grandfather replies. "Just don''t get lost."'
 
-	act 'Tell him you will go get some soon':gt 'gadhouse', 'grandpa'
+	act 'Tell him you will go get some soon': gt 'gad_gphouse', 'grandpa'
 	act 'Agree and go to the forest (1:00)':
 		*clr & cla
 		if hour >= 6 and hour < 22:
@@ -343,7 +343,7 @@ if $ARGS[0] = 'pickforest_both':
 		end
 		'You agree to help your grandfather, grabbing a basket and setting out on the road to the forest.'
 		minut += 60
-		act 'Continue': gt 'gadforest', 'forest_edge'
+		act 'Continue': gt 'gad_forest', 'forest_edge'
 	end
 end
 

+ 25 - 25
locations/grigory.qsrc

@@ -8,7 +8,7 @@ menu_off = 1
 if $ARGS[0] = 'dummy':
 	*nl
 	'It is a shortcut out - because this event is not finished, be patient !!!'
-	act 'Return to village': gt 'gadfield','field'
+	act 'Return to village': gt 'gad_field','field'
 end
 
 if $ARGS[0] = 'meet':
@@ -60,7 +60,7 @@ if $ARGS[0] = 'meet':
 				'"I enjoyed getting to talk to you again," You admit, "I''ll be sure to say hi the next time I see you." With a smile, you wave and start to make your exit.'
 				'Grigory smiles broadly, waving goodbye as you leave.'
 
-				act 'Return': gt 'gadfield', 'field'
+				act 'Return': gt 'gad_field', 'field'
 			end
 			
 			gs 'willpower', 'misc', 'self', 'easy'
@@ -79,7 +79,7 @@ if $ARGS[0] = 'meet':
 					'You can see that he has a big grin on his face, one that you suspect matches your own, "I''ll be around."'
 					'With a friendly wave, the two of you part ways.'
 
-					act 'Return': gt 'gadfield', 'field'
+					act 'Return': gt 'gad_field', 'field'
 				end
 			else
 				act 'Hug him goodbye (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -97,7 +97,7 @@ if $ARGS[0] = 'barn':
 	'When you start to enter the barn behind your grandparents'' place, you can hear someone or something moving about inside.'
 	'You cautiously lean in to see what is happening. Inside you see Grigory rummaging through the garage.'
 
-	act 'Leave him be': gt 'gadsarai'
+	act 'Leave him be': gt 'gad_gpbarn'
 	!!Ends scene, returns to barn exterior
 
 	act 'Say hi':
@@ -186,7 +186,7 @@ if $ARGS[0] = 'barn_closer':
 					gs 'arousal', 'vaginal', 10
 					gs 'arousal', 'end'
 					gs 'stat'
-					act 'Continue': gt 'gadsarai'
+					act 'Continue': gt 'gad_gpbarn'
 				end
 			end
 		elseif npc_sex['A221'] ! 0 :
@@ -204,7 +204,7 @@ if $ARGS[0] = 'barn_closer':
 			gs 'arousal', 'vaginal', 10
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Continue': gt 'gadsarai'
+			act 'Continue': gt 'gad_gpbarn'
 		elseif npc_sex['A221'] = 0:
 			*clr
 			cla
@@ -223,7 +223,7 @@ if $ARGS[0] = 'barn_closer':
 			gs 'arousal', 'vaginal', 10
 			gs 'arousal', 'end'
 			gs 'stat'
-			act 'Continue': gt 'gadsarai'
+			act 'Continue': gt 'gad_gpbarn'
 		end
 	end
 	
@@ -250,7 +250,7 @@ end
 if $ARGS[0] = 'barn_stand':
 	'For several minutes the two of you talk, but eventually he stops and gives a disappointed little smile, "Well little lady, I really need to get back to work."'
 	'You say your goodbyes and he exits the barn.'
-	act 'Continue': gt 'gadsarai'
+	act 'Continue': gt 'gad_gpbarn'
 end
 
 if $ARGS[0] = 'garden':
@@ -482,7 +482,7 @@ if $ARGS[0] = 'flower3':
 	'"But how do I find out who did it? Did you maybe see someone in the yard this morning?"'
 	'Grandfather barks a little laugh, "Even if I knew, and I don''t, I wouldn''t tell you." He shakes his head, "Got to make the man work for it."'
 	'Waving dismissively, you know grandfather is done talking about it.'
-	act 'Continue':gt 'gadhouse', 'start'
+	act 'Continue': gt 'gad_gphouse', 'start'
 end
 
 if $ARGS[0] = 'flower4':
@@ -494,7 +494,7 @@ if $ARGS[0] = 'flower4':
 	'"But I don''t know who it is," You say, feeling a little overwhelmed.'
 	'"But that is the magic of it!" Grandmother says, clearly overjoyed by the situation. She leans forward, kissing your cheek, "Whoever this boy is, he will reveal himself if you just let him."'
 	'Not feeling much better, you thank her.'
-	act 'Continue':gt 'gadhouse', 'start'
+	act 'Continue': gt 'gad_gphouse', 'start'
 end
 
 if $ARGS[0] = 'flower5':
@@ -510,7 +510,7 @@ if $ARGS[0] = 'flower5':
 			'You can feel my blood run cold as you look at the flowers. There is a deep sinking feeling in the pit of your stomach. Grigory, Grigory is the one who is leaving the flowers.'
 			'Opening the passanger side door of the truck, you open the bag further, revealing that it is indeed full of the little purple flowers.'
 			'Glancing at Grigory in the field again, you quickly leave, trying to make sense of it all.'
-			act 'Continue':gt'gadfield','field'
+			act 'Continue': gt 'gad_field', 'field'
 		end
 	elseif grigory_flower = 2:
 		act 'Cute':
@@ -529,7 +529,7 @@ if $ARGS[0] = 'flower5':
 				'You bite your lip, smiling. I can''t believe that he''s been leaving flowers for me!'
 				'Not wanting to spoil the anything, you slip away. A spring in your step as you go.'
 	!!		end
-			act 'Continue':gt'gadfield','field'
+			act 'Continue': gt 'gad_field', 'field'
 		end
 	end
 end
@@ -545,7 +545,7 @@ if $ARGS[0] = 'flower6':
 		'With a sudden expression of concern, he just starts to open his mouth when you jab a finger into his chest, "What the hell is wrong with you?" You shout into his face.'
 		'He jerks back, shock on his face almost as if you had physically hit him. You don''t give him time to reply before you continue, "What did I ever do to you except talk with you sometimes? You''ve been stalking me? Leaving flowers where I might find them? How long did you stare through my window when you put those flowers there? Did you get your rocks off watching me sleep?" Your anger starting to subside slightly, you shudder.'
 		'"Just stay away from me you freak." Turning, you storm away from him.'
-		act 'Continue':gt'gadfield','field'
+		act 'Continue': gt 'gad_field', 'field'
 
 	!!This is the end of Grigory content down this path. Grigory scenes would become considerably less common after this, maybe even causing many of them to stop playing out at your discression.
 
@@ -729,14 +729,14 @@ if $ARGS[0] = 'field1':
 !!	If relationship has NOT progressed to romance:
 		'Eventually he looks your way, smiling when he notices you. He gives you a little wave that you quickly return.'
 		'As he goes back to work, you continue on your way.'
-		act 'Continue':gt'gadfield','field'
+		act 'Continue': gt 'gad_field', 'field'
 
 !!	elseif relationship is romantic/sexual:
 		'When he finally looks your way you find yourself pleased as a smile spreads across his face.'
 		'Raising two fingers to his lips, he kisses them then holds them out in your direction across the field.'
 		'When he does, you put both hands over your heart and smile back at him.'
 		'Feeling unexpectedly happy, you give him a little wave then continue on your way.'
-		act 'Continue':gt'gadfield','field'
+		act 'Continue': gt 'gad_field', 'field'
 !!	end
 end
 
@@ -752,7 +752,7 @@ end
 if $ARGS[0] = 'field_weird':
 	'Quietly, you make your exit before Grigory can notice that you are there.'
 
-	act 'Continue':gt'gadfield','field'
+	act 'Continue': gt 'gad_field', 'field'
 end
 
 if $ARGS[0] = 'field_tease':
@@ -792,7 +792,7 @@ if $ARGS[0] = 'field_tease':
 			'"don''t let me stop you," You say with a grin. Waving, you watch as he gets in his truck and drives off.'
 		end
 
-		act 'Continue':gt'gadfield','field'
+		act 'Continue': gt 'gad_field', 'field'
 	end
 end
 
@@ -814,7 +814,7 @@ if $ARGS[0] = 'field_watch':
 		'You put one arm around him in a little hug. In return, he sweeps you up in a big hug, your feet coming off the ground as he does so.'
 		'You''re still thinking about what you saw as he leaves.'
 
-		act 'Continue':gt'gadfield','field'
+		act 'Continue': gt 'gad_field', 'field'
 	end
 
 	act 'Masturbate':
@@ -833,7 +833,7 @@ if $ARGS[0] = 'field_watch':
 			'You barely take two steps before he closes the distance between you, sweeping you up in his arms in a hug that is just a little too tight. Sitting you back down, "Uh, yeah, " He fidgets suddenly, "See you around Kotenok."'
 			'Without another word the two of you part ways.'
 
-			act 'Continue':gt'gadfield','field'
+			act 'Continue': gt 'gad_field', 'field'
 
 !!		If Intimate:
 			'"Sorry,"  You mumble.'
@@ -845,7 +845,7 @@ if $ARGS[0] = 'field_watch':
 			'Taking hold of your hips, he picks you up again, this time pulling you close to give you a firm kiss before sitting you back down, "Later then."'
 			'A minute later, Grigory''s truck is disappearing down the road.'
 
-			act 'Continue':gt'gadfield','field'
+			act 'Continue': gt 'gad_field', 'field'
 !!		end
 	end
 
@@ -867,7 +867,7 @@ if $ARGS[0] = 'field_watch':
 			'After an affectionate goodbye, the two of you part ways.'
 !!		end
 
-		act 'Continue':gt'gadfield','field'
+		act 'Continue': gt 'gad_field', 'field'
 	end
 end
 
@@ -901,7 +901,7 @@ if $ARGS[0] = 'field3':
 			'"I enjoyed getting to talk to you again," You admit, "I''ll be looking forward to the next time I see you." With a smile, you wave and start to make your exit.'
 			'Grigory smiles broadly, waving goodby as you leave.'
 
-			act 'Continue':gt'gadfield','field'
+			act 'Continue': gt 'gad_field', 'field'
 		end
 
 		act 'Hug him goodbye':
@@ -921,7 +921,7 @@ if $ARGS[0] = 'field3':
 			'You can see that he has a big grin on his face, one that you suspect matches your own, "I''ll be around."'
 			'With a friendly wave, the two of you part ways.'
 
-			act 'Continue':gt'gadfield','field'
+			act 'Continue': gt 'gad_field', 'field'
 		end
 	end
 
@@ -930,7 +930,7 @@ if $ARGS[0] = 'field3':
 		'When he notices you, he raises a hand in greeting. In return, you wink and blow him a kiss.'
 		'He seems stunned for several seconds, and you''re barely able to suppress a giggle. As you continue walking, you see him reach for his flask as you pass him without a word.'
 
-		act 'Continue':gt'gadfield','field'
+		act 'Continue': gt 'gad_field', 'field'
 	end
 end
 
@@ -1055,7 +1055,7 @@ if $ARGS[0] = 'romantic_event':
 					'You''re unable to hide a little smile, "Until next time Grigory."'
 					'Turning on his heel, he starts to wander back towards the town''s center.'
 
-					act 'Continue':gt 'gadhouse', 'start'
+					act 'Continue': gt 'gad_gphouse', 'start'
 				end
 			end
 

+ 3 - 3
locations/gschool_chats.qsrc

@@ -160,7 +160,7 @@ if $ARGS[0] = 'gopniks':
 	else
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/chat/gopnik.jpg"></center>'
 		if PCloStyle2 = 4:
-			if PCloInhibit <= 10:
+			if PCloInhibit <= 5:
 				'<font color="blue">This uniform is very conservative. Only the nerds would approve of you wearing it.</font>'
 				if grupTipe = 4:
 					grupvalue[4] -= 10
@@ -183,7 +183,7 @@ if $ARGS[0] = 'gopniks':
 				if PCloInhibit >= 30 or PCloTopCut = 4:
 					grupvalue[4] += 5
 					'You head to the stairwell that the gopniks like to gather in and find them leaning against the wall or sitting on the stairs engaged in a variety of conversations. As you approach, Dan stands up and whistles. "Hey it looks like there''s a wannabe slut approaching. Maybe I''ll ask you to you come over here and suck my dick?" Several of the other gopniks laugh and a few of the guys comment as well. "Hey Dan, it might be your lucky day! I''m just surprised she''s not heading my way," Radomir says. You feel yourself getting a little nervous around them dressed the way you are and think that they might actually try something. After all no one other than a gopnik comes down to this end of the school at this time of the day without a good reason so you''d be on your own if they do.'
-				elseif CloStyle = 2:
+				elseif PCloStyle = 2:
 					grupvalue[4] += 5
 					'There are some nods of approval and positive comments made about your rebelious uniform style.'
 				else
@@ -204,7 +204,7 @@ if $ARGS[0] = 'gopniks':
 				gs 'npc_relationship', 'modify', 'A189', 'like'
 				if PCloInhibit >= 35:
 					'You head to the stairwell that the gopniks like to gather in and find them leaning against the wall or sitting on the stairs engaged in a variety of conversations. As you approach, Dan stands up and whistles. "Hey it looks like there''s a wannabe slut approaching. Maybe I''ll ask you to you come over here and suck my dick?" Several of the other gopniks laugh and a few of the guys comment as well. "Hey Dan, it might be your lucky day! I''m just surprised she''s not heading my way," Radomir says. You feel yourself getting a little nervous around them dressed the way you are and think that they might actually try something. After all no one other than a gopnik comes down to this end of the school at this time of the day without a good reason so you''d be on your own if they do.'
-				elseif CloStyle = 2:
+				elseif PCloStyle = 2:
 					grupvalue[4] += 5
 					'There are some nods of approval and positive comments made about your rebelious uniform style.'
 				else

+ 75 - 58
locations/gschool_coolkid_chats.qsrc

@@ -1038,35 +1038,11 @@ if $ARGS[0] = 'cherleading_notice':
 	cheerleadingQW['bella_stasya_gossip'] = 1
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/bella/notice/bella_stasya1.jpg"></center>'
 	'As you walk into the cafeteria, Bella and Stasya gesture towards you to get your attention.'
-	if gruptipe = 1:
-		'"Hey sweetie, we were just by Albina''s table and..."'
-		'Bella trails off when she notices Natasha walking towards the table and flutters her eyelashes as she turns towards her. "Oh my god, I love your shirt! Where did you get it?"'
-		'Natasha isn''t sure how to react. "I-It was my mom''s... From the ''90s." she awkwardly mumbles.'
-		'Bella smiles sweetly. "Vintage, how adorable."'
-		act 'Nod in agreement':
-			gs 'npc_relationship', 'modify', 'A22', 'like'
-			gs 'npc_relationship', 'modify', 'A139', 'like'
-			pcs_mood += 5
-			gs 'stat'
-			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/bella/notice/bella_stasya2.jpg"></center>'
-			'You notice Natasha blushing slightly as she thanks Bella and continues on her way.'
-			'As soon as Natasha is outside hearing distance, Bella starts viciously mocking her. "That was the ugliest effing shirt I''ve ever seen."'
-			'Stasya quickly joins in. "I know, she''s like so pathetic! Did you see her blushing? She thinks you were actually being nice to her!" The girls start giggling.'
-			'"Yeah, and take this as a lesson. If you say nice things to people, then they will think you like them and then you can easily manipulate them." Bella tells Stasya.'
-			*nl
-			'Stasya just rolls her eyes. "Like, whatever..."'
-			'Seeing she''s getting nowhere with Stasya, Bella turns towards you. "Before I forget, I have something important to tell you. Long story short, Albina kicked some slut off the cheerleading squad, so keep your eyes open in the next few weeks for auditions. I''d like to see you there, otherwise Albina will choose one of her annoying sporty friends instead. Who knows, maybe you could lose a pound or three there." She points towards your stomach and grins.'
-			act 'Thank them and leave': gt 'gschool_lunch', 'lunch'
-		end
-	else
-		act 'Ignore': gt 'gschool_lunch', 'lunch'
-		act 'Investigate':
-			*clr & cla
-			'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/bella/notice/bella_stasya1.jpg"></center>'
-			'"Hey, we were just by Albina''s table and..."'
+	if natbelQW['FriendLover'] < 7:
+		if gruptipe = 1:
+			'"Hey sweetie, we were just by Albina''s table and..."'
 			'Bella trails off when she notices Natasha walking towards the table and flutters her eyelashes as she turns towards her. "Oh my god, I love your shirt! Where did you get it?"'
-			'Natasha isn''t sure how to react. "I-It was my mom''s... From the 90s..." she awkwardly mumbles.'
+			'Natasha isn''t sure how to react. "I-It was my mom''s... From the ''90s..." she awkwardly mumbles.'
 			'Bella smiles sweetly. "Vintage, how adorable."'
 			act 'Nod in agreement':
 				gs 'npc_relationship', 'modify', 'A22', 'like'
@@ -1081,44 +1057,85 @@ if $ARGS[0] = 'cherleading_notice':
 				'"Yeah, and take this as a lesson. If you say nice things to people, then they will think you like them and then you can easily manipulate them." Bella tells Stasya.'
 				*nl
 				'Stasya just rolls her eyes. "Like, whatever..."'
-				'Seeing she''s getting nowhere with Stasya, Bella turns towards you. "Before I forget, I have something important to tell you. Long story short, Albina kicked some slut off the cheerleading squad and we thought it would suit you after all the rumours we''ve heard about your... flexible body."'
-				'Stasya chimes in. "We both know that she''s never gonna get picked. Albina hates town bicycles, and <<$pcs_nickname>> here is an even bigger slut than that last girl." Both girls then start mockingly laughing at you.'
-				gs 'willpower', 'misc', 'self', 'medium'
-				if will_cost <= pcs_willpwr:
-					act 'Leave(<<will_cost>> Willpower)':
-						*clr & cla
-						gs 'willpower', 'pay', 'self'
-						gs 'stat'
-						gt 'gschool_lunch', 'lunch'
-					end
-				else
-					act 'Leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-				end
-				act 'Cry':
-					pcs_mood += -20
+				'Seeing she''s getting nowhere with Stasya, Bella turns towards you. "Before I forget, I have something important to tell you. Long story short, Albina kicked some slut off the cheerleading squad, so keep your eyes open in the next few weeks for auditions. I''d like to see you there, otherwise Albina will choose one of her annoying sporty friends instead. Who knows, maybe you could lose a pound or three there." She points towards your stomach and grins.'
+				act 'Thank them and leave': gt 'gschool_lunch', 'lunch'
+			end
+		else
+			act 'Ignore': gt 'gschool_lunch', 'lunch'
+			act 'Investigate':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/bella/notice/bella_stasya1.jpg"></center>'
+				'"Hey, we were just by Albina''s table and..."'
+				'Bella trails off when she notices Natasha walking towards the table and flutters her eyelashes as she turns towards her. "Oh my god, I love your shirt! Where did you get it?"'
+				'Natasha isn''t sure how to react. "I-It was my mom''s... From the 90s..." she awkwardly mumbles.'
+				'Bella smiles sweetly. "Vintage, how adorable."'
+				act 'Nod in agreement':
+					gs 'npc_relationship', 'modify', 'A22', 'like'
+					gs 'npc_relationship', 'modify', 'A139', 'like'
+					pcs_mood += 5
 					gs 'stat'
 					*clr & cla
-					'<center><img <<$set_imgh>> src="images/pc/reactions/tears1.jpg"></center>'
-					'Stasya starts mocking you. "Boo hoo, look at her and her big crocodile tears!"'
-					'"I heard she lubes cocks with her slut tears when she''s out of lube." Bella jumps in.'
-					'"It totally runs in the family! I once saw her sister giving some random guy a blowjob in the street." Stasya piles on.'
-					'"It was her boyfriend Roma!" you blurt out through your sobs, trying to defend your sister''s honour.'
-					'The girls laugh even harder and start mimicking giving someone a blowjob and having sex.'
+					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/bella/notice/bella_stasya2.jpg"></center>'
+					'You notice Natasha blushing slightly as she thanks Bella and continues on her way.'
+					'As soon as Natasha is outside hearing distance, Bella starts viciously mocking her. "That was the ugliest effing shirt I''ve ever seen."'
+					'Stasya quickly joins in. "I know, she''s like so pathetic! Did you see her blushing? She thinks you were actually being nice to her!" The girls start giggling.'
+					'"Yeah, and take this as a lesson. If you say nice things to people, then they will think you like them and then you can easily manipulate them." Bella tells Stasya.'
 					*nl
-					'"Does her mom work at Boris'' café, by the train station? I thought she seemed familiar..." Bella asks.'
-					'"Yeah, remember when she was called to the school last year?" Stasya replies.'
-					'"Oh yeah, now I remember. It was just after four when I stepped into the café for a drink before catching the train. I didn''t see anyone inside and raised my voice, and then it happened..." Bella pauses for dramatic effect.'
-					'"This woman, <<$pcs_nickname>>''s mom to be exact, rushes out from the backroom, her face blushing bright red as she tries buttoning up her messy shirt. Guess who comes out right behind her? The café owner, looking totally smug and satisfied. Fuck, I even remember her breath smelling like cum." Bella smirks.'
-					'The two girls continue to mock and laugh at you as you hang your head in tearful shame.'
-					act 'Leave':
-						pcs_mood += -15
-						pcs_horny += 20
+					'Stasya just rolls her eyes. "Like, whatever..."'
+					'Seeing she''s getting nowhere with Stasya, Bella turns towards you. "Before I forget, I have something important to tell you. Long story short, Albina kicked some slut off the cheerleading squad and we thought it would suit you after all the rumours we''ve heard about your... flexible body."'
+					'Stasya chimes in. "We both know that she''s never gonna get picked. Albina hates town bicycles, and <<$pcs_nickname>> here is an even bigger slut than that last girl." Both girls then start mockingly laughing at you.'
+					gs 'willpower', 'misc', 'self', 'medium'
+					if will_cost <= pcs_willpwr:
+						act 'Leave(<<will_cost>> Willpower)':
+							*clr & cla
+							gs 'willpower', 'pay', 'self'
+							gs 'stat'
+							gt 'gschool_lunch', 'lunch'
+						end
+					else
+						act 'Leave (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+					end
+					act 'Cry':
+						pcs_mood += -20
 						gs 'stat'
-						gt 'gschool_lunch', 'lunch'
+						*clr & cla
+						'<center><img <<$set_imgh>> src="images/pc/reactions/tears1.jpg"></center>'
+						'Stasya starts mocking you. "Boo hoo, look at her and her big crocodile tears!"'
+						'"I heard she lubes cocks with her slut tears when she''s out of lube." Bella jumps in.'
+						'"It totally runs in the family! I once saw her sister giving some random guy a blowjob in the street." Stasya piles on.'
+						'"It was her boyfriend Roma!" you blurt out through your sobs, trying to defend your sister''s honour.'
+						'The girls laugh even harder and start mimicking giving someone a blowjob and having sex.'
+						*nl
+						'"Does her mom work at Boris'' café, by the train station? I thought she seemed familiar..." Bella asks.'
+						'"Yeah, remember when she was called to the school last year?" Stasya replies.'
+						'"Oh yeah, now I remember. It was just after four when I stepped into the café for a drink before catching the train. I didn''t see anyone inside and raised my voice, and then it happened..." Bella pauses for dramatic effect.'
+						'"This woman, <<$pcs_nickname>>''s mom to be exact, rushes out from the backroom, her face blushing bright red as she tries buttoning up her messy shirt. Guess who comes out right behind her? The café owner, looking totally smug and satisfied. Fuck, I even remember her breath smelling like cum." Bella smirks.'
+						'The two girls continue to mock and laugh at you as you hang your head in tearful shame.'
+						act 'Leave':
+							pcs_mood += -15
+							pcs_horny += 20
+							gs 'stat'
+							gt 'gschool_lunch', 'lunch'
+						end
 					end
 				end
 			end
 		end
+	else
+		if gruptipe = 1:
+			'"Hey sweetie, we were just by Albina''s table and..."'
+			 'Bella looks at you quizzically. "I see Natasha is wearing a decent uniform; I presume that''s your doing?... No don''t answer that, I don''t want to know but you do realise she''ll never be considered one of us." With that she walks away shaking her head.'
+			act 'Thank them and leave': gt 'gschool_lunch', 'lunch'
+		else
+			act 'Ignore': gt 'gschool_lunch', 'lunch'
+			act 'Investigate':
+				*clr & cla
+				'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/girl/bella/notice/bella_stasya1.jpg"></center>'
+				'"Hey, we were just by Albina''s table and..."'
+				 'Bella looks at you quizzically. "I see Natasha is wearing a decent uniform; I presume that''s your doing?... No don''t answer that, I don''t want to know but you do realise she''ll never be considered one of us." With that she walks away shaking her head.'
+				act 'Thank them and leave': gt 'gschool_lunch', 'lunch'
+			end
+		end
 	end
 end
 

+ 81 - 46
locations/gschool_gossip.qsrc

@@ -161,7 +161,7 @@ if $ARGS[0] = 'mixed':
 		*nl
 	end
 	
-	chat_rand = rand(1,95)
+	chat_rand = rand(1, 95)
 	if chat_rand = 1:
 		'"Man, this town is so boring! We really need to graduate soon, so we can go live in the city!"'
 		'His friend heartily agrees. "Absolutely, I hear they have parties in the university hostel every day of the week!"'
@@ -291,8 +291,17 @@ if $ARGS[0] = 'mixed':
 		'"No I mean he was just walking around town all dressed up. I wasn''t sure it was him at first until he said something to me."'
 		'"Man, he is weird."'
 	elseif chat_rand = 49:
-		'"Natasha''s mom must be super poor. She''s wearing the same school uniform she had last year."'
-		'"She''s been wearing the same clothes for the last few years and always brings a lunch from home."'
+		if natbelQW['FriendLover'] < 7:
+			'"Natasha''s mom must be super poor. She''s wearing the same school uniform she had last year."'
+			'"She''s been wearing the same clothes for the last few years and always brings a lunch from home."'
+		else
+			'"I know Natasha''s mom must be super poor. Until recently, she''s been wearing the same school uniform she had last year."'
+			'"She''s been wearing the same clothes for the last few years and always brings a lunch from home."'
+			'"Yeah, I hear she''s been hanging out with <<$pcs_nickname>> recently, too. I think I saw them walking holding hands in the park a while back."'
+			'"I guess <<$pcs_nickname>> has been buying the stuff for her then?"'
+			'"Lesbians!"'
+			'I don''t know. Maybe but there were rumours awhile back that she was hanging around with Lazar."'
+		end
 	elseif chat_rand = 50:
 		if NatbelQW['chrispaid'] = 3:
 			'"Did you hear the latest? Apparently Natasha is repaying her debts!"'
@@ -511,7 +520,7 @@ if $ARGS[0] = 'mixed':
 		'"Is Lariska only on the cheerleading squad because Christina is there? She seems to enjoy volleyball more than dancing."'
 		'"Well she does follow Christina around like a lost puppy, so maybe you''re right."'
 	elseif chat_rand = 95:
-	    '"I really want to go down on Albina. Having those toned thighs squeeze my head in orgasm as I eat her pussy would be heaven!"'
+		'"I really want to go down on Albina. Having those toned thighs squeeze my head in orgasm as I eat her pussy would be heaven!"'
 	else
 		gs 'gschool_gossip', 'mixed', $ARGS[1]
 	end
@@ -531,7 +540,7 @@ if $ARGS[0] = 'boys':
 		*nl
 	end
 
-	chat_rand = rand(1,45)
+	chat_rand = rand(1, 45)
 	if chat_rand = 1:
 		'"Dude, you should''ve seen me in League of Legends yesterday. I totally carried my crappy team to victory!"' 
 		'His friend doesn''t seem impressed and scoffs back "Man, I''ve seen you play before. You couldn''t carry a paper bag to the litter bin if your life depended on it."'
@@ -762,24 +771,24 @@ if $ARGS[0] = 'boys':
 		'"I''m not talking about the game. I''m going there to watch Bella do her stuff. I know a good spot in the stands where you can get a nice view of that toned ass."'
 		'"Oh I''m definitely down to see that!"'
 	elseif chat_rand = 43:
-	    '"I heard Albina''s ass is fake and that her dad paid for implants."'
-        'The other boy laughs. "Oh believe me, it''s real. It''s too firm to be fake."'
-        '"How would you know how firm her ass is? She would rip your arm off and fist you with it if you tried to cop a feel."'
-        '"I''ve watched her enough in gym class and at cheerleading. It doesn''t jiggle like implants would. It''s solid, toned muscle."'
-    elseif chat_rand = 44:
-	    'You overhear two scrawny boys speaking to each other.'
-        '"Word is that Albina loves anal and makes people eat her ass," the first one whispers.'
-        'The other boy grins slyly. "The things I would do to have a shot with her... Wouldn''t you love to put your junk in her trunk?"'
-        'The first boy looks in Albina''s direction, who notices him staring at her, causing him to quickly look back at his friend. "In my wildest fucking dreams!"' 
+		'"I heard Albina''s ass is fake and that her dad paid for implants."'
+		'The other boy laughs. "Oh believe me, it''s real. It''s too firm to be fake."'
+		'"How would you know how firm her ass is? She would rip your arm off and fist you with it if you tried to cop a feel."'
+		'"I''ve watched her enough in gym class and at cheerleading. It doesn''t jiggle like implants would. It''s solid, toned muscle."'
+	elseif chat_rand = 44:
+		'You overhear two scrawny boys speaking to each other.'
+		'"Word is that Albina loves anal and makes people eat her ass," the first one whispers.'
+		'The other boy grins slyly. "The things I would do to have a shot with her... Wouldn''t you love to put your junk in her trunk?"'
+		'The first boy looks in Albina''s direction, who notices him staring at her, causing him to quickly look back at his friend. "In my wildest fucking dreams!"' 
 	elseif chat_rand = 45:
-	    'As you walk down the hallway, you see a group of boys from another class gawking at Albina, who has her back turned to them. As you get closer, you can hear them whispering to each other.'
-        '"Come on, you know you want it!" you hear one of them say.'
-        '"I don''t know. Is it worth the risk?"'
-        '"An ass like that is always worth it! Just go flirt with her. She might surprise you."'
-        *nl
-        'His friends push him towards her. "Uh, hey. Do you wear space pants to gym class... Because your ass is out of this world..." he asks with a crack in his voice, but still making a cringy attempt to act smooth by leaning against the locker and smiling.'
-        'Albina turns to face him. She''s unimpressed by his poor attempt at flirting, crossing her arms and just staring at him.'
-        'He quickly flees in a panic, his friends following close behind. You''ve never seen anyone run so fast in your life. Albina scoffs before turning back to what she was doing.'
+		'As you walk down the hallway, you see a group of boys from another class gawking at Albina, who has her back turned to them. As you get closer, you can hear them whispering to each other.'
+		'"Come on, you know you want it!" you hear one of them say.'
+		'"I don''t know. Is it worth the risk?"'
+		'"An ass like that is always worth it! Just go flirt with her. She might surprise you."'
+		*nl
+		'His friends push him towards her. "Uh, hey. Do you wear space pants to gym class... Because your ass is out of this world..." he asks with a crack in his voice, but still making a cringy attempt to act smooth by leaning against the locker and smiling.'
+		'Albina turns to face him. She''s unimpressed by his poor attempt at flirting, crossing her arms and just staring at him.'
+		'He quickly flees in a panic, his friends following close behind. You''ve never seen anyone run so fast in your life. Albina scoffs before turning back to what she was doing.'
 	else
 		gs 'gschool_gossip', 'boys', $ARGS[1]
 	end
@@ -799,7 +808,7 @@ if $ARGS[0] = 'girls':
 		*nl
 	end
 
-	chat_rand = rand(1,43)
+	chat_rand = rand(1, 43)
 	if chat_rand = 1:
 		'"I quit volleyball."'
 		'"Why?"'
@@ -933,7 +942,7 @@ if $ARGS[0] = 'girls':
 		'"I tried to talk to him after school, but he ignored me and stormed off towards the park."'
 		'"Hmm, I wonder what he does there?"'
 	elseif chat_rand = 32:
-        'You overhear some of the girls gossip with each other. "Which of the boys in the class do you think is the most feminine?" one of them asks.'
+		'You overhear some of the girls gossip with each other. "Which of the boys in the class do you think is the most feminine?" one of them asks.'
 		'"I don''t know, I haven''t really thought about it," the other one answers.'
 		'"Don''t be a drag, you have to pick one!" she keeps on pushing.'
 		'The other girl thinks for a second before answering. "I would say Igor. Sometimes he acts really strange and not like a real man."'
@@ -950,9 +959,19 @@ if $ARGS[0] = 'girls':
 			'You laugh to yourself as you move away. If they only knew...'
 		end
 	elseif chat_rand = 34:
-		'"Natasha asked where I bought my top and I had to stop myself from laughing in her face."'
-		'"Why?"'
-		'"Because she could never afford it! Why would she even bother asking? Does she not realize her family is poor?"'
+		if natbelQW['FriendLover'] < 7 and natbelQW['QWstage'] <= 2:
+			'"Natasha asked where I bought my top and I had to stop myself from laughing in her face."'
+			'"Why?"'
+			'"Because she could never afford it! Why would she even bother asking? Does she not realize her family is poor?"'
+		else
+			'"Natasha asked me where I bought my top and I had to stop myself from laughing in her face."'
+			'Why?"'
+			'"Because she could never afford it! Why would she even bother asking? Does she not realize her family is poor?"'
+			'"Well I''m not so sure that''s still the case as she''s got some new clothes recently including a nice new uniform."'
+			'"Yeah I''ve seen but her family are definitely poor. She''s been hanging around a lot with <<$pcs_nickname>>. I dunno but maybe <<$pcs_nickname>> is buying the stuff for her?"'
+			'"Don''t ask me I wouldn''t know; I guess maybe. I wonder if they''re more than friends?"'
+			'"Well if you find out let me know."'
+		end
 	elseif chat_rand = 35:
 		'"I left my sweater in my locker yesterday, you know the one. Anyway, I came back to school to get it and I saw Anushka running down the hall stark naked."'
 		'The other girl laughs. "Yeah, I''m honestly surprised she hasn''t done it during school yet. I swear that girl doesn''t like wearing clothes."'
@@ -985,23 +1004,23 @@ if $ARGS[0] = 'girls':
 		'"Yeah, I''m sure that they would''ve invited your unfit ass with open arms. Besides, they''re a bunch of sluts who enjoy teasing the perverts in the stands and sucking off the football team."'
 		'"Maybe I did dodge a bullet then..."'
 	elseif chat_rand = 41:
-	    '"I might work out more. I want a big butt just like Albina''s!"'
-        '"Girl please. Her ass is as fake as her ''sweet girl'' personality."'
-        '"I dare you to say that to her face!"'
-        'The girl turns silent. "Yeah, that''s what I thought..." the first one quips.'
+		'"I might work out more. I want a big butt just like Albina''s!"'
+		'"Girl please. Her ass is as fake as her ''sweet girl'' personality."'
+		'"I dare you to say that to her face!"'
+		'The girl turns silent. "Yeah, that''s what I thought..." the first one quips.'
 	elseif chat_rand = 42:
-	    'Albina walks past a group of girls who check her out. Once she''s out of earshot, they all start speaking.'
-        '"I wonder how much those butt implants cost!"'
-        '"Bitch, you''re just jealous because you have such a flat ass!"'
-        '"It just looks so big and firm!"'
-        '"I''m too scared to ask her what workout she does to get such a nice bum!"'
-        'You leave the girls to wallow in their envy of Albina.'
+		'Albina walks past a group of girls who check her out. Once she''s out of earshot, they all start speaking.'
+		'"I wonder how much those butt implants cost!"'
+		'"Bitch, you''re just jealous because you have such a flat ass!"'
+		'"It just looks so big and firm!"'
+		'"I''m too scared to ask her what workout she does to get such a nice bum!"'
+		'You leave the girls to wallow in their envy of Albina.'
 	elseif chat_rand = 43:
-	    'You overhear some girls whispering amongst themselves.'
-        '"I was told that Albina is a lesbian, which is why she doesn''t like guys hitting on her," one says.'
-        '"Told by who?" a second one asks.'
-        '"Lizeveta. Although I also heard she sometimes skips class to hook with some of the hot guys in the bathroom."'
-    else	
+		'You overhear some girls whispering amongst themselves.'
+		'"I was told that Albina is a lesbian, which is why she doesn''t like guys hitting on her," one says.'
+		'"Told by who?" a second one asks.'
+		'"Lizeveta. Although I also heard she sometimes skips class to hook with some of the hot guys in the bathroom."'
+	else	
 		gs 'gschool_gossip', 'girls', $ARGS[1]
 	end
 	if dimaRevenge = 4 and dimaRevChoice = 2 and hour >= 13:
@@ -1106,17 +1125,33 @@ if $ARGS[0] = 'Lizaveta':
 	elseif chat_rand = 42:
 		'"If Christina was half as good as she thinks she is, she would hold the women''s world record for all track events."'
 	elseif chat_rand = 43:
-		'"Natasha''s mom must be super poor. She''s wearing the same school uniform she had last year."'
+		if natbelQW['FriendLover'] < 7:
+			'"Natasha''s mom must be super poor. She''s wearing the same school uniform she had last year."'
+		else
+			'"Natasha''s mom must be super poor. Until recently she was wearing the same school uniform she had last year but now I see she''s wearing some nice clothes and a nice new uniform too."'
+			'After a brief pause she continues. "Erm... I''ve noticed she''s been hanging around with you recently and I''m not sure but think I saw you two walking holding hands in the park a while back." She looks at you seeking confirmation.'
+			'Knowing her reputation for gossip you keep your response simple. "Yeah well she''s helping me with school work so I''ve helped her by getting her some new clothing. Just being friendly..." You trail off'
+			'Deciding to end this conversation before it become too awkward you make your excuses and leave.'
+		end
 	elseif chat_rand = 44:
-		'"Whatever you do, don''t loan money to Natasha. She will never pay you back. I lent her 50<b>₽</b> and I doubt I will ever see it again."'
+		if natbelQW['FriendLover'] < 7:
+			'"Whatever you do, don''t loan money to Natasha. She will never pay you back. I lent her 50<b>₽</b> and I doubt I will ever see it again."'
+		else
+			'"Natasha recently repaid the money she owed me. I began to thing she''d never repay me!"'
+			'After a brief pause she continues "I know she''s been hanging out with you recently and I think I saw you two walking holding hands in the park a while back."'
+			'Knowing her reputation for gossip you keep your response simple. "Yeah well she''s helping me with school work so I''ve helped her out as she was getting stressed about owing people. Just being friendly..." You trail off'
+			'Deciding to end this conversation before it become too awkward you make your excuses and leave.'
+		end
 	elseif chat_rand = 45:
 		'"Radomir acts like he''s already the next Yuri Shatunov. I mean, he''s okay, but he''s nowhere near as good as he likes to think he is."'
 	elseif chat_rand = 46:
 		'"Lera is a lesbian. All you have to do is watch how she looks at Lena or other girls in the locker room."'
 	elseif chat_rand = 47:
-	    '"I''ve heard so many things about Albina''s ass that I don''t know what to tell people! She also likes anal, I mean <i>really</i> likes anal."'
+		'"I''ve heard so many things about Albina''s ass that I don''t know what to tell people! She also likes anal, I mean <i>really</i> likes anal."'
 	elseif chat_rand = 48:
-	    '"I think Albina is a lesbian. Why else would she hate all the hot guys hitting on her?"'
+		'"I think Albina is a lesbian. Why else would she hate all the hot guys hitting on her?"'
+	else
+		gs 'gschool_gossip', 'Lizaveta', $ARGS[1]
 	end
 end
 

+ 1 - 1
locations/gschool_lessons.qsrc

@@ -66,7 +66,7 @@ if $ARGS[0] = 'morning':
 end
 
 if $ARGS[0] = 'uniform_check':
-	if PCloInhibit <= 10:
+	if PCloInhibit <= 5:
 		grupvalue[3] += 1
 		grupvalue[5] += 1
 		grupvalue[1] -= 1

+ 5 - 1
locations/gschool_nerd_chats.qsrc

@@ -402,7 +402,11 @@ if $ARGS[0] = 'natasha':
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big16.jpg"></center>'
 	if npc_rel['A16'] >= 50 and fame['pav_slut'] < 200:
 		if grupTipe = 3:
-			'"Hey <<$pcs_nickname>>! Have you seen this new makeup line coming out? It''s expensive but I looove the colors!" Natasha says as she holds up the magazine ad for said makeup. She talks about how she can''t afford nice things like this and this ends up bringing her down. You quickly change the subject and start complimenting her on her sense of style and grades and reminding her she''s a top student in school, which brings a smile to her face.'
+			if natbelQW['chrispaid'] < 3:
+				'"Hey <<$pcs_nickname>>! Have you seen this new makeup line coming out? It''s expensive but I looove the colors!" Natasha says as she holds up the magazine ad for said makeup. She talks about how she can''t afford nice things like this and this ends up bringing her down. You quickly change the subject and start complimenting her on her sense of style and grades and reminding her she''s a top student in school, which brings a smile to her face.'
+			else
+				'"Hey <<$pcs_nickname>>! Have you seen this new makeup line coming out? It''s expensive but I looove the colors!" Natasha says as she holds up the magazine ad for said makeup. She talks about how she still finds it difficult to afford nice things like this and this ends up bringing her down until you remind her that she''s got rid of all her debts and now has some money and you''re happy to help her out. She smiles at this but you know that she doesn''t want to keep relying on you so you change the subject and start complimenting her on her sense of style and grades and reminding her she''s a top student in school, which brings a smile to her face.'
+			end
 		else
 			'Natasha greets you with a smile as you sit down beside her. The conversation is lighthearted as you talk about your day so far and what goes on in the apartment complex where you both live.'
 		end

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