33 Commits 1df7aeaa8e ... 85c64b16be

Auteur SHA1 Bericht Datum
  DSX93459 85c64b16be Merge branch 'master' into DSXClothingTweaks 6 maanden geleden
  Kevin_Smarts f456f1f2da [fixed] Sveta used by hunters and not custom name 6 maanden geleden
  Kevin_Smarts 7947660859 [fixed] Sister age wasn't calculated in mother file before being used and if you haven't talked to sis it was 0 6 maanden geleden
  Kevin_Smarts c6e9dc9623 Merge remote-tracking branch 'Derryth_Love/master' 6 maanden geleden
  Kevin_Smarts 9d7a2014c9 Merge remote-tracking branch 'Anya/master' 6 maanden geleden
  Kevin_Smarts 56f822f803 Merge remote-tracking branch 'Hornguy6/master' 6 maanden geleden
  Kevin_Smarts b9bd9cf34c Merge remote-tracking branch 'Anjuna/master' 6 maanden geleden
  anjuna krokus e579b42756 [fixed] forgot to include the check for schoolgirl start w.r.t. vacation 6 maanden geleden
  anjuna krokus a6c5c11776 [fixed/added] fixed issues surrounding the vacation alarm not working correctly on the first and last day of vacation. Better sleep in the therapist hotel events, and added a hex to int function to shortgs 6 maanden geleden
  LinaHirata 920fd83559 [fixed] computors availably in city library when its closed 6 maanden geleden
  LinaHirata 642685356d [fixed] city library no internet access; added restrictions 6 maanden geleden
  Derryth_Love db114e826f [fix]Missing $ in $ARGS 6 maanden geleden
  Derryth_Love 296536e316 [fix]syntax error 6 maanden geleden
  anjuna krokus bb44fe50f2 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 6 maanden geleden
  Derryth_Love 92cc6b6d71 [fix]Meynold house not showing up after sveta is told she can visit whenever she wants. 6 maanden geleden
  Derryth_Love 3fb2ae19e5 [fix]Added Meynold key to the kitchen, so it can be aquired when school is not in session. 6 maanden geleden
  Anya a4fc53a667 [fixed] Christina caught one too many times 6 maanden geleden
  anjuna krokus 40a1580293 [fixed] unnecessary sorting in cikl 6 maanden geleden
  anjuna krokus 6e7b5563d0 Revert "[fixed] prevent unnecessary sorting" 6 maanden geleden
  LinaHirata f01bf6b133 Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife 6 maanden geleden
  bgkjdgbizgblzdgbr 1618e3d1c2 Reverting changes 6 maanden geleden
  bgkjdgbizgblzdgbr 7d8d643ba1 [added] A flle that should not have been removed. 6 maanden geleden
  bgkjdgbizgblzdgbr 3a061b055b Revert "[removed] Old unused file" 6 maanden geleden
  LinaHirata 488cd2b997 [fixed] printing `dynamic` code instead of running it `3Head` 6 maanden geleden
  hornguy6 6dee1043df [fixed] made asking for a creampie and getting panicked or angry mutually exclusive 6 maanden geleden
  hornguy6 dc87e4e33c [fixed] WIP event was not blocked off 6 maanden geleden
  Derryth_Love 047d2d1e34 [fix]You now can get an invite to Vicky's house during the summer after the beach scene. 6 maanden geleden
  anjuna krokus c7eb1c8460 [fixed] prevent unnecessary sorting 6 maanden geleden
  anjuna krokus 4a4b46f21e [fixed] Actual Issues surrounding courtletter stuff 6 maanden geleden
  anjuna krokus 92a2a8a8d4 Revert "[fixed] issues with the court system if you miss a courthearing repeatedly" 6 maanden geleden
  anjuna krokus 0e09e859d8 [fixed] issues with the court system if you miss a courthearing repeatedly 6 maanden geleden
  Derryth_Love b868b01c14 [add]added text to advertisements on first floor 6 maanden geleden
  Derryth_Love b48539dc4a [fix] Sveta walking out naked from the Studio no longer 6 maanden geleden

+ 1 - 1
locations/Zvereva_Sly_sex.qsrc

@@ -33,7 +33,7 @@ if $ARGS[0] = 'Sly_random_sex_acts':
 
 		if slyQW['Chris_peek_daystart'] ! daystart:
 			slyQW['Chris_peek_daystart'] = daystart
-			if slyQW['Chris_caught'] <= 5:
+			if slyQW['Chris_caught'] < 5:
 				if rand(1, 4) = 1:
 					slyQW['Chris_caught'] += 1
 					slyQW['Chris_peeking'] = 1

+ 1 - 1
locations/albina_wine_event.qsrc

@@ -608,7 +608,7 @@ if $ARGS[0] = 'porn_talk':
 					gs 'albina_wine_event','wine_chat2'
 				end
 				
-				gs 'albina_wine_event','tell_raped'
+				!! gs 'albina_wine_event','tell_raped'
 			end
 		end
 	end

+ 6 - 3
locations/cikl.qsrc

@@ -1356,9 +1356,12 @@ if policeQW['fine_deadline'] > 0:
 end
 
 
-gs 'shortgs', 'coupled_array_sort', 'policeQW_courtletter_dates', '$policeQW_courtletter_subjects'
-gs 'shortgs', 'coupled_array_sort', 'policeQW_courthearing_dates', '$policeQW_courthearing_subjects'
-
+if arrsize('policeQW_courtletter_dates') > 1:
+	gs 'shortgs', 'coupled_array_sort', 'policeQW_courtletter_dates', '$policeQW_courtletter_subjects'
+end
+if arrsize('policeQW_courthearing_dates') > 1:
+	gs 'shortgs', 'coupled_array_sort', 'policeQW_courthearing_dates', '$policeQW_courthearing_subjects'
+end
 
 --- cikl ---------------------------------
 

+ 2 - 2
locations/city_library.qsrc

@@ -45,13 +45,13 @@ $downlibrary['BookStudy'] = {
 '<center><b><font color="maroon">National Library of Russia</font></b></center>'
 '<center><img <<$set_imgh>> src="images/locations/city/citycenter/library/downlibint.jpg"></center>'
 'A huge library with thousands upon thousands of books. You could spend years in here and probably still wouldn''t be able to read it all.'
-'There is a large IT section with <a href="exec:gt ''Komp'',''start''">computers</a> available for public use.'
 
 act 'Leave': minut += 5 & gt 'city_center'
 
 if hour >= 8 and hour <= 18:
+	'There is a large IT section with <a href="exec: gs ''internet_mobile'', ''get_access'', ''free'', ''noporn'',''nocamshow'' & gs ''internet_mobile'', ''add_limitation'', ''general-text'', ''On this public computer all adult content sites are blocked'' & gt ''Komp'',''start''">computers</a> available for public use.'
 	act 'Read a book':
-		gt 'city_library', 'read'	
+		gt 'city_library', 'read'
 	end
 	
 	act 'Borrow a book':

+ 5 - 5
locations/courtletter.qsrc

@@ -10,8 +10,6 @@ if $ARGS[0] = 'letter':
 	menu_off = 1
 	minut += 5
 
-	killvar 'policeQW_courtletter_dates', 0
-
 	if (policeQW['missed_court_dates'] + policeQW['missed_fine_deadlines']) > 1:
 		if (policeQW['tot_court_dates_missed'] + policeQW['tot_fines_deadlines_missed']) > 30 and policeQW['tot_arrested'] > 10:
 			killvar 'policeQW_courtletter_subjects', 0
@@ -172,7 +170,7 @@ if $ARGS[0] = 'letter':
 			'As you enter your home you notice an envelope from the court. You anxiously look at it and take a deep breath before opening the envelope.'
 
 			temp_fine = 500 * rand(5, 10)
-			gs 'sentence', 'letter_add_fine', 'missed_court', temp_fine
+			gs 'sentence', 'add_fine', temp_fine
 			if week < 6:
 				'Going through the letter you read that you''ve missed your court hearing. A new court hearing has been scheduled a week from now and you''ve been fined <<temp_rand>> <b>₽</b>.'
 			else
@@ -185,7 +183,7 @@ if $ARGS[0] = 'letter':
 
 		else
 			temp_fine = 500 * rand(10, 20)
-			gs 'sentence', 'letter_add_fine', 'missed_court', temp_fine
+			gs 'sentence', 'add_fine', temp_fine
 			'As you come home you see the familiar envelope from the court. You already know the gist of it, <i>missed court, <<temp_rand>> <b>₽</b> fine, failure to show up will have dire consequences,</i> yadda yadda...'
 			'You glance through the letter seeing the same information once again and as you finish you throw it to the side and continue further on inside your apartment...'
 		end
@@ -224,9 +222,11 @@ if $ARGS[0] = 'letter':
 		end
 	end
 
-	act 'Continue': gt $loc, $loc_arg
 	killvar 'temp_fine'
+	killvar 'policeQW_courtletter_dates', 0
 	killvar 'policeQW_courtletter_subjects', 0
+
+	act 'Continue': gt $loc, $loc_arg
 end
 
 

+ 1 - 1
locations/foto.qsrc

@@ -1247,7 +1247,7 @@ if $ARGS[0] = 'gave_passport':
 		model['age'] = age
 	end
 	model['start_year'] = year
-	act'Leave the studio':gt'city_center'
+	act'Leave the studio':gs 'clothing', 'wear_last_worn' and gt 'city_center'
 	act'Head to the back':gt'foto','start'
 end
 

+ 1 - 1
locations/gadforest_event.qsrc

@@ -456,7 +456,7 @@ if $ARGS[0] = 'forest_hunters':
 				'Don''t be surprised, <<$pcs_nickname>>, you look a lot like your mother when she was younger. I... Hmmm... very good to know. I''m also from Gadukino." said Andrei.'
 				*nl
 				'After chatting with them for about half an hour, the hunters begin to get up and gather their things.'
-				'"Okay, Sveta, it''s time for us to go," said Andrei.'
+				'"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'

+ 14 - 1
locations/mey_home.qsrc

@@ -153,7 +153,9 @@ if $ARGS[0] = 'kitchen':
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/meynolds/kitchen.jpg"></center>'
 	*nl
 	'The kitchen is vast and luxurious. It is decorated in a minimalist high-tech style. An oval dining room table stands in the middle of the room. The appliances are all hidden. As a result, the kitchen is sparkling clean.'
-
+	if mey_vika['mey_vika_qw'] = 31:
+		'Sitting on the counter is a note and a <a href="exec:gs ''mey_home'', ''key''">key</a>'
+	end
 	act 'Return to hallway': minut += 1 & gt 'mey_home', 'start'
 
 	if mey_vika['mey_vika_qw'] >= 32 and ((week < 6 and hour >= 14 and hour < 20) or (week = 6 and hour >= 10 and hour < 20)) and mey_tamara['help_day'] ! daystart:
@@ -189,6 +191,17 @@ if $ARGS[0] = 'kitchen':
 
 end
 
+if $ARGS[0] = 'key':
+	*clr & cla
+	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/meynolds/key.jpg"></center>'
+	mey_vika['key'] = 1
+	mey_vika['mey_vika_qw'] = 32
+	'<<$pcs_nickname>>,'
+	'	Here is the key to the house, Our home is your home. You can also clean out what remains in the guest bedroom and make it all yours. just put all of Roma''s things in some boxes and I''ll put them in storage.'
+	'~Tamara Meynold'
+	act 'Take Key': gt 'mey_home', 'kitchen'
+end
+
 if $ARGS[0] = 'bathroom':
 	!bathroom
 	$locM = 'mey_home'

+ 17 - 9
locations/mey_vika_events.qsrc

@@ -64,6 +64,7 @@ end
 if $ARGS[0] = 'end_game':
 	menu_off = 1
 	$location_type = 'event'
+	mey_vika['mey_vika_qw'] = 27
 	'Noticing you, Tamara leans over, rubbing against your breasts...'
 	'"You can come over and visit us any time you want, <<$pcs_nickname>>. We can sit down and have a chat over a cup of tea."'
 	'"Of course, aunt Tamara! I''ll be sure to come by."'
@@ -437,7 +438,6 @@ if $ARGS[0] = 'near_school':
 			'Vicky smiles at you, "We should hang out! You won''t bother anyone at my place."'
 			'"Vicky won''t accept a no, so you are coming with us." Vanya says, as he places his arm around your shoulders and guides you out of the school grounds.'
 			'You don''t want to be rude, so you gladly agree.'
-
 			act 'Visit Vicky': gt 'mey_vika_events','first_visit'
 		elseif mey_vika['mey_vika_qw'] = 27 and mey_vika['qw_day'] ! daystart:
 			mey_vika['qw_day'] = daystart
@@ -1114,16 +1114,24 @@ if $ARGS[0] = 'beach_event0':
 											act 'Further':
 												*clr & cla
 												minut += 10
+												mey_vika['mey_vika_qw'] = 20
 												gs 'stat'
 												'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/meynolds/sex/vika_beach11.jpg"></center>'
-												'Tired, but satisfied, the three of you walk back. Vicky is following you home, and just as you''re about to part ways she sweetly kisses you on the lips.'
-												'"We should hang out at my place sometime. I''ll introduce you to my mother. I''m sure she''ll be delighted to get to know you."'
-												'You answer that you''ll definitely think about it and thank her for the invitation.'
-												'"Don''t forget about it now, <<$pcs_nickname>>!" Vicky presses on.'
-												'"Of course I won''t, Vicky!" You sincerely reply.'
-
-												mey_vika['mey_vika_qw'] = 20
-												gs 'mey_vika_events', 'beach_ender'
+												if kanikuli > 0:
+													'Tired, but satisfied, the three of you walk back. Vicky is following you home, and just as you''re about to part ways she sweetly kisses you on the lips.'
+													'"We should go to my place. I''ll introduce you to my mother. I''m sure she''ll be delighted to get to know you."'
+													'"Vicky won''t accept a no, so you are coming with us." Vanya says, as he places his arm around your shoulders and guides you out towards the residential area.'
+													'You don''t want to be rude, so you gladly agree.'
+													act 'Go Home with Vicky': gt 'mey_tamara_events','first_meet'
+												else 
+													'Tired, but satisfied, the three of you walk back. Vicky is following you home, and just as you''re about to part ways she sweetly kisses you on the lips.'
+													'"We should hang out at my place sometime. I''ll introduce you to my mother. I''m sure she''ll be delighted to get to know you."'
+													'You answer that you''ll definitely think about it and thank her for the invitation.'
+													'"Don''t forget about it now, <<$pcs_nickname>>!" Vicky presses on.'
+													'"Of course I won''t, Vicky!" You sincerely reply.'
+													gs 'mey_vika_events', 'beach_ender'
+													end
+												end
 											end
 										end
 									end

+ 1 - 0
locations/mother.qsrc

@@ -1486,6 +1486,7 @@ if $ARGS[0] = 'motherQW_2':
 			'"No, <<$npc_nickname[''A29'']>>, now it''s <b>you</b> who needs to stop interrupting <b>me</b>. I just listened to a 30 minute tirade on how a girl should behave... from you!?"'
 			'"<<$pcs_nickname>>!"'
 			*nl
+			sisterAge = year - ((npc_dob['A33'] - (npc_dob['A33'] mod 10000)) / 10000)
 			if age = 15: '"What, <<$pcs_nickname>>!? <<$npc_nickname[''A29'']>>, you are now <<motherAge>> years old... Anya is <<sisterAge>> years old. I''ve learned how to add and subtract in first grade... you were no older than me when you got pregnant with Anya!"'
 			if age > 15: '"What, <<$pcs_nickname>>!? <<$npc_nickname[''A29'']>>, you are now <<motherAge>> years old... Anya is <<sisterAge>> years old. I''ve learned how to add and subtract in first grade... you were even younger than me when you got pregnant with Anya!"'
 			'Suddenly, there is an unnerving silence. You, as red as a lobster from all the shouting, are trying to catch your breath. Your mother sits down on a stool at the table, all sorts of emotions washing over her. She understands the point you''re making perfectly clear now, and is desperately trying to find a way to talk herself out of it. You can see her posture slowly deflate, when she realizes she can''t.'

+ 1 - 0
locations/pod_ezd.qsrc

@@ -356,6 +356,7 @@ if $ARGS[0] = 'pod_objava':
 		minut +=1
 		gs 'stat'
 		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/resident/apartment/stairs/pod_ob'+rand(1,2)+'.jpg"></center>'
+		'<br>As you pass by the advertisements, you notice a sign - "сдаeтся в аренду комната" (Room for rent!). Some guys are looking for a roommate. They live in an apartment in one of the other buildings in the apartment complex.'
 	act 'Continue': gt 'pod_ezd','etaj_1'
 end
 

+ 1 - 1
locations/sex_ev_reactions_creampie.qsrc

@@ -1704,7 +1704,7 @@ if $ARGS[0] = 'did_you_come_inside':
 				end
 			end
 			
-			if sex_ev['creampie_allowance'] ! 1:
+			if sex_ev['creampie_allowance'] ! 1 and sex_ev['creampie_ask'] ! 1:
 				act'Panic':
 					cla
 					gs'sex_ev_reactions_creampie', 'oh_shit_options'

+ 59 - 18
locations/shortgs.qsrc

@@ -1086,36 +1086,77 @@ end
 !! example: func('shortgs' 'int_to_hex_str', 192)
 !! example: func('shortgs' 'int_to_hex_str', BColorBase)
 if $ARGS[0] = 'int_to_hex_str':
+	$result = ''
+
 	:int_to_hex_loop
-	if ARGS[1] > 15:
 		$result = func('shortgs', 'int_to_hex_str2', ARGS[1] mod 16) + $result
 		ARGS[1] /= 16
-		jump 'int_to_hex_loop'
-	else
-		$result = func('shortgs', 'int_to_hex_str2', ARGS[1]) + $result
-	end
+	if ARGS[1] > 0: jump 'int_to_hex_loop'
+
+	killvar 'int_to_hex_loop'
 end
 
 !! SECONDARY FUNCTION, YOURE NOT SUPPOSED TO CALL IT IN YOUR CODE
 !! IF I COULD MAKE IT PRIVATE ID MAKE IT PRIVATE
 !! converts an int in range 0..15 to its hex representation
 if $ARGS[0] = 'int_to_hex_str2':
-	if ARGS[1] < 0 or ARGS[1] > 15:
-		exit
-	elseif ARGS[1] = 15:
-		$result = 'F'
-	elseif ARGS[1] = 14:
-		$result = 'E'
-	elseif ARGS[1] = 13:
-		$result = 'D'
-	elseif ARGS[1] = 12:
-		$result = 'C'
-	elseif ARGS[1] = 11:
-		$result = 'B'
+	if ARGS[1] >= 0 and ARGS[1] <= 9:
+		$result = str(ARGS[1])
 	elseif ARGS[1] = 10:
 		$result = 'A'
+	elseif ARGS[1] = 11:
+		$result = 'B'
+	elseif ARGS[1] = 12:
+		$result = 'C'
+	elseif ARGS[1] = 13:
+		$result = 'D'
+	elseif ARGS[1] = 14:
+		$result = 'E'
+	elseif ARGS[1] = 15:
+		$result = 'F'
 	else
-		$result = str(ARGS[1])
+		exit
+	end
+end
+
+!! converts hexadecimal string to decimal integer
+!! main use - convert hex color to rgb color (to use with HTML)
+!! use: func('shortgs' 'hex_str_to_int', $hex_string)
+!! example: func('shortgs' 'hex_str_to_int', 'A1C')
+!! example: func('shortgs' 'hex_str_to_int', $BColor)
+if $ARGS[0] = 'hex_str_to_int':
+	result = 0
+
+	shortgs_i = 1
+	:hex_to_int_loop
+		result = result * 16 + func('shortgs', 'hex_str_to_int2', mid($ARGS[1], shortgs_i, 1))
+		shortgs_i += 1
+	if shortgs_i <= len($ARGS[1]): jump 'hex_to_int_loop'
+
+	killvar 'hex_to_int_loop'
+	killvar 'shortgs_i'
+end
+
+!! SECONDARY FUNCTION, YOURE NOT SUPPOSED TO CALL IT IN YOUR CODE
+!! IF I COULD MAKE IT PRIVATE ID MAKE IT PRIVATE
+!! converts a hex number in range 0..9A..F to its decimal value
+if $ARGS[0] = 'hex_str_to_int2':
+	if isnum($ARGS[1]):
+		result = val($ARGS[1])
+	elseif ucase($ARGS[1]) = 'A':
+		result = 10
+	elseif ucase($ARGS[1]) = 'B':
+		result = 11
+	elseif ucase($ARGS[1]) = 'C':
+		result = 12
+	elseif ucase($ARGS[1]) = 'D':
+		result = 13
+	elseif ucase($ARGS[1]) = 'E':
+		result = 14
+	elseif ucase($ARGS[1]) = 'F':
+		result = 15
+	else
+		exit
 	end
 end
 

+ 225 - 0
locations/skverdin.qsrc

@@ -0,0 +1,225 @@
+# skverdin
+
+$d_park_placer_bj = {
+	guy += 1
+	parkfuckboy += 1
+	parktimes += 1
+	pphj = 0
+	ppbj = 0
+	ppsex = 0
+	ppanal = 0
+	dynamic $d_pp_hand
+	dynamic $d_pp_squat
+}
+
+$d_pp_hand = {
+	act 'Take the member in your hand':
+		cls
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/shared/sex/handjob/hj.jpg"></center>'
+		'You clasp your fingers around the erect <<dick>>cm cock and pull back the skin to reveal the crimson head then start to slowly move your hands back and forth.'
+		
+		gs 'arousal', 'hj', 1, 'sub'
+		gs 'stat'
+		
+		if rand(0, 1) = 0:
+			if rand(0, 4) = 0:
+				'<<$boydesc>> takes you by the shoulders and pushes, trying to force you to kneel.'
+				dynamic $d_pp_squat
+			else
+				'<<$boydesc>> says impatiently, "<<$pcs_nickname>>, kiss it."'
+				dynamic $d_pp_squat
+			end
+		else
+			'<<$boydesc>> stands still and looks into your eyes expectantly.'
+			gs 'willpower', 'hj', 'resist', 'medium'
+			if will_cost <= pcs_willpwr:
+				act 'Give him a handjob (<<will_cost>> Willpower)':
+					*clr & cla
+					gs 'willpower', 'pay', 'resist'
+					gs 'stat'
+					dynamic $d_pp_hjcum
+				end
+			else
+				act 'Give him a handjob (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+			end
+			dynamic $d_pp_squat
+		end
+	end
+}
+
+$d_pp_hjcum = {
+	act 'Faster':
+		cls
+		gs 'arousal', 'hj', 1, 'sub'
+		gs 'stat'
+
+		if rand(1, 100) >= 80:
+			spafinloc = 7
+			gs 'cum_manage'
+			$pptext = 'As he cums, a jet of semen gets onto your clothes.'
+		else
+			$pptext = 'The mans sperm shoots out on to the ground.'
+		end
+
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/pphjcum.jpg"></center>'
+		'You speed up your movements and tighten your grip, then continue to masturbate his cock until he reaches orgasm. <<$pptext>>'
+		dynamic $d_pp_goend
+	end
+}
+
+$d_pp_squat = {
+	act 'Squat':
+		cls
+		minut += 1
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/squat.jpg"></center>'
+		'You sat on his haunches and right in front of your face turned stand-up <<dick>>cm cock'
+		dynamic $d_pp_bj
+	end
+}
+
+$d_pp_bj = {
+	act 'Suck':
+		cls
+		parkslut += 1
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppbj.jpg"></center>'
+		'You wrap your lips wrapped around his hard <<dick>>cm cock, and suck it carefully feeling it with your tongue and lips.'
+		gs 'arousal', 'bj', 5, 'sub'
+		gs 'stat'
+		tiprand = rand(1, 100)
+
+		if tiprand = 100:
+			'Suddenly, he laughed and said "shit, <<$boydesc>> fifteen minutes you can not leave, already what that heifer cheek wheeled." <<$boydesc>> laughed and turned to his friend "What do you tupish? Come_Over!" The second guy immediately came up to you and pulled out of his pants his dick.'
+			dynamic $d_pp_double
+		elseif tiprand >= 90:
+			'<<$boydesc>> suddenly took out a member of your mouth and began to say a word to lift you and expand back to him'
+			dynamic $d_pp_sex
+		elseif tiprand >= 70:
+			'<<$boydesc>> whispers to you "<<$pcs_nickname>>, your mouth is not tired? can perepihnemsya?"'
+			dynamic $d_pp_sex
+			dynamic $d_pp_bjcum
+		else
+			'You feel his cock stiffen, it seems he is already about to finish'
+			dynamic $d_pp_hjcum
+			dynamic $d_pp_bjcum
+		end
+	end
+}
+
+$d_pp_bjcum = {
+	act 'Continue sucking':
+		cls
+		minut += 1
+		spafinloc = 12
+		gs 'cum_manage'
+		spafinloc = 7
+		gs 'cum_manage'
+		spafinloc = 11
+		gs 'cum_manage'
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppbjcum.jpg"></center>'
+		'You continue to suck and in less than a minute his member bursts filling your mouth with seed. The sperm is so much, that part of it drips out on your lips and chin .'
+		dynamic $d_pp_goend
+	end
+}
+
+$d_pp_sex = {
+	act 'Bend over':
+		cls
+		pose = 1
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppsex.jpg"></center>'
+		'You bared her butt and bending framed his boyfriend'
+		gs 'dinSex', 'wear_condom'
+		gs 'dinsex','vaginal_sex',10
+		
+		gs 'arousal', 'vaginal', 10, 'sub'
+		gs 'stat'
+
+		if rand(1, 100) >= 20:
+			gs 'dinsex','sexcum'
+			dynamic $d_pp_goend
+		else
+			'<<$boydesc>> took out of you cock and you deploying to face him began to put you on his heels'
+			dynamic $d_pp_squat
+		end
+	end
+}
+
+$d_pp_double = {
+	act 'ohrenevayu':
+		cls
+		parkslut += 10
+		guy += 1
+		gs 'stat'
+		'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppbjdouble.jpg"></center>'
+		'It all happened quickly and you do not even have time to realize in both your hands turned over the penis, their purple heads were right in front of your face. One of the guys hand impatiently pushed your head against a member.'
+
+		gs 'arousal', 'bj', 5, 'sub', 'group'
+		gs 'stat'
+		
+		act 'Sucking two members':
+			cls
+			gs 'stat'
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppbjdouble2.jpg"></center>'
+			'You have become a polished just two bow with her wet lips spitted her mouth purple hat guys take turns. Soon <<$boydesc>> groaned "Open your mouth slut"'
+
+			gs 'arousal', 'bj', 15, 'sub', 'group'
+			gs 'stat'
+		
+			act 'open your mouth':
+				cls
+				minut += 15
+				spafinloc = 11
+				gs 'cum_manage'
+				spafinloc = 12
+				gs 'cum_manage'
+				gs 'stat'
+				'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppbjdouble3.jpg"></center>'
+				'You obediently opened the procedure already tired mouth and <<$boydesc>> you shot a thick white liquid directly on wet and slightly swollen lips of the work done. His friend choked hissed "finish" and grab you by the hair turned your face to its members.'
+
+				act 'turn the face':
+					cls
+					minut += 15
+					spafinloc = 11
+					gs 'cum_manage'
+					spafinloc = 12
+					gs 'cum_manage'
+					spafinloc = 7
+					gs 'cum_manage'
+					gs 'stat'
+					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppbjdouble4.jpg"></center>'
+					'You turned your face and you immediately charged a second portion struhni directly into open mouth, you instinctively shaken and a large ball of sperm fell out of your mouth and you shmyaknulsya on clothes. <<$boydesc>> neigh "epta! You''re a sniper, huesoska loaded directly into her mouth fucking!"'
+					dynamic $d_pp_goend
+				end
+			end
+		end
+	end
+}
+
+$d_pp_goend = {
+	act 'Brush up':
+		cls
+
+		minut += 5
+		gs 'stat'
+
+		if cumloc[11] = 1 or cumloc[12] = 1:
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppendcum.jpg"></center>'
+		else
+			'<center><img <<$set_imgh>> src="images/locations/pavlovsk/park/sex/ppendno.jpg"></center>'
+		end
+
+		'You began to brush up. <<$boydesc>> has already buttoned his pants "Well, catch you around <<$pcs_nickname>>, I still have things to do now, hope to see you again."'
+
+		act 'Leave':
+			gs 'arousal', 'end'
+			gt 'pav_park', 'start'
+		end
+	end
+}
+
+--- skverdin ---------------------------------
+

+ 20 - 1
locations/sleep.qsrc

@@ -76,7 +76,7 @@ if $ARGS[0] = 'calc_minutes_to_wakeup':
 	sleepVars['time_now'] = daystart * 1440 + hour * 60 + minut
 
 	if alarmVars['alarmOn'] = 1 and sleepVars['slept_in'] = 0:
-		if alarmVars['alarm_holiday'] = 1 and kanikuli ! 0 or ((hour < alarmVars['timerEndH'] and (week = 6 or week = 7)) or (hour => alarmVars['timerEndH'] and (week = 5 or week = 6))):
+		if (hour < alarmVars['timerEndH'] and ((alarmVars['alarm_holiday'] = 1 and kanikuli ! 0) or (week = 6 or week = 7))) or (hour => alarmVars['timerEndH'] and ((alarmVars['alarm_holiday'] = 1 and func('sleep', 'is_tomorrow_school_vacation') ! 0) or (week = 5 or week = 6))):
 		!! use weekend time alarm
 			sleepVars['alarm_time'] = daystart * 1440 + alarmVars['timerEndH'] * 60 + alarmVars['timerEndM']
 		else
@@ -90,6 +90,25 @@ if $ARGS[0] = 'calc_minutes_to_wakeup':
 	end
 end
 
+if $ARGS[0] = 'is_tomorrow_school_vacation':
+	result = 0
+	if mid($start_type, 1, 2) = 'sg':
+		if (month = 12 and day = 31) or (month = 1 and day <= 14):
+			!! Winter Break
+			result = 2
+		elseif month = 3 and (day >= 19 and day <= 25):
+			!! Spring Break
+			result = 3
+		elseif (month = 5 and day = 31) or month = 6 or month = 7 or (month = 8 and day <= 30):
+			!! Summer Break
+			result = 4
+		elseif month = 11 and (day >= 3 and day <= 10):
+			!! Autumn Break
+			result = 1
+		end
+	end
+end
+
 
 if $ARGS[0] = 'sleep_loop':
 	menu_off = 1

+ 3 - 14
locations/sleep_simple.qsrc

@@ -11,21 +11,9 @@ if $ARGS[0] = 'simple':
 !! so we can add about 3 hours to time to full as a limit
 	sleepVars['time_to_full'] += 150 + rand(0, 60)
 
-	sleepVars['time_now'] = daystart * 1440 + hour * 60 + minut
 
-	if alarmVars['alarmOn'] = 1:
-		if alarmVars['alarm_holiday'] = 1 and kanikuli ! 0 or ((hour < alarmVars['timerEndH'] and (week = 6 or week = 7)) or (hour => alarmVars['timerEndH'] and (week = 5 or week = 6))):
-		!! use weekend time alarm
-			sleepVars['alarm_time'] = daystart * 1440 + alarmVars['timerEndH'] * 60 + alarmVars['timerEndM']
-		else
-			sleepVars['alarm_time'] = daystart * 1440 + alarmVars['timerH'] * 60 + alarmVars['timerM']
-		end
-
-		if sleepVars['time_now'] > sleepVars['alarm_time']: sleepVars['alarm_time'] += 1440
-		sleepVars['minutes_to_wakeup'] = min(sleepVars['time_to_full'], sleepVars['alarm_time'] - sleepVars['time_now'])
-	else
-		sleepVars['minutes_to_wakeup'] = sleepVars['time_to_full']
-	end
+	gs 'sleep', 'calc_minutes_to_wakeup'
+	$sleep_loc = 'sleep_simple'
 
 	InSleep = 1
 	:sleep_simple_loop
@@ -57,6 +45,7 @@ if $ARGS[0] = 'mod_sleeptriggers':
 	!! Check for: if $sleep_loc = 'sleep_simple' and $ARGS[0] = 'mod_sleeptriggers'
 	!!
 	!! This is NOT for events!!
+	gs 'LOCA', 'mod_sleeptriggers'
 end
 
 if $ARGS[0] = 'nap_bed':

+ 2 - 2
locations/swamphouse.qsrc

@@ -630,7 +630,7 @@ if $ARGS[0] = 'stackmagazines':
 		act 'Continue': gs 'swamphouse', 'stackmagazines'
 	end
 	act 'Read the literary magazine (1:00)':
-		$downlibrary['read']
+		dynamic $downlibrary['read']
 		gs 'exp_gain', 'intel', 4
 		pcs_mood += 10
 		gs 'stat'
@@ -641,7 +641,7 @@ if $ARGS[0] = 'stackmagazines':
 		act 'Continue': gs 'swamphouse', 'stackmagazines'
 	end
 	act 'Read the entertainment magazine (1:00)':
-		$downlibrary['read']
+		dynamic $downlibrary['read']
 		gs 'exp_gain', 'sprt', 4
 		pcs_mood += 10
 		gs 'stat'

+ 19 - 9
locations/therapist_hotel.qsrc

@@ -135,10 +135,12 @@ if $ARGS[0] = 'event1_post_shower':
 			act 'Sleep':
 				therapistQW['hotel_visits'] = 1
 				gs 'sleep_simple', 'simple'
-				if hour < 7: 
+				if hour < 7:
+					pcs_sleep += 15 * (6 - hour)
 					hour = 7
+					minut = 0
+					pcs_sleep = min(pcs_sleep, 100)
 					gs 'stat'
-					pcs_sleep = max(pcs_sleep, 100)
 				end
 				gt 'therapist_hotel', 'event1_morning'
 			end
@@ -253,9 +255,11 @@ if $ARGS[0] = 'event2_shower':
 				therapistQW['hotel_visits'] = 2
 				gs 'sleep_simple', 'simple'
 				if hour < 7:
+					pcs_sleep += 15 * (6 - hour)
 					hour = 7
+					minut = 0
+					pcs_sleep = min(pcs_sleep, 100)
 					gs 'stat'
-					pcs_sleep = max(pcs_sleep, 100)
 				end
 
 				dynamic $showerdin
@@ -342,10 +346,12 @@ if $ARGS[0] = 'event3':
 					*clr & cla
 					therapistQW['hotel_visits'] = 3
 					gs 'sleep_simple', 'simple'
-					if hour < 7: 
+					if hour < 7:
+						pcs_sleep += 15 * (6 - hour)
 						hour = 7
+						minut = 0
+						pcs_sleep = min(pcs_sleep, 100)
 						gs 'stat'
-						pcs_sleep = max(pcs_sleep, 100)
 					end
 
 					dynamic $showerdin
@@ -479,10 +485,12 @@ if $ARGS[0] = 'event4_post_wait':
 		*clr & cla
 		therapistQW['hotel_visits'] += 1
 		gs 'sleep_simple', 'simple'
-		if hour < 7: 
+		if hour < 7:
+			pcs_sleep += 15 * (6 - hour)
 			hour = 7
+			minut = 0
+			pcs_sleep = min(pcs_sleep, 100)
 			gs 'stat'
-			pcs_sleep = max(pcs_sleep, 100)
 		end
 
 		dynamic $showerdin
@@ -561,10 +569,12 @@ if $ARGS[0] = 'event5_submit':
 					*clr & cla
 					gs 'sleep_simple', 'simple'
 					gs 'stat'
-					if hour < 7: 
+					if hour < 7:
+						pcs_sleep += 15 * (6 - hour)
 						hour = 7
+						minut = 0
+						pcs_sleep = min(pcs_sleep, 100)
 						gs 'stat'
-						pcs_sleep = max(pcs_sleep, 100)
 					end
 
 					gs 'arousal', 'vaginal', 60, 'sub'