39 Commits 3f84f3f223 ... 9100f4f402

Auteur SHA1 Message Date
  philormand 9100f4f402 Fix: Change trigger for ride in Albina's car so it is always after meeting Chernov il y a 4 ans
  KevinSmarts 648d3e55b5 [fixed] Errors spotted by analyser il y a 4 ans
  Netuttki e2cdc9ca2c Merge remote-tracking branch 'upstream/master' il y a 4 ans
  KevinSmarts 1c19440ccb [fixed] Extra end in city_centre, apsotrophe fixes in foto and tatiana_missions with netuttki's help il y a 4 ans
  KevinSmarts a4a9fe592c Merge remote-tracking branch 'Philo/master' il y a 4 ans
  KevinSmarts 3e33915a69 Merge remote-tracking branch 'hornguy6/master' il y a 4 ans
  Netuttki 94629b8ddd Merge branch 'ml_dev' il y a 4 ans
  Netuttki 4db9a45462 Updated the 'Mother knows...' bit, also now can clear part of the rep. il y a 4 ans
  Netuttki 46d7ead559 Merge branch 'ml_dev' il y a 4 ans
  Netuttki 5aa1637aea Making sure half done stuff doesn't show up il y a 4 ans
  Netuttki c77e153472 Fixed ' issues il y a 4 ans
  Netuttki b950b08554 Single ' in comments fixed. il y a 4 ans
  Netuttki c3b8234f6b Added back the music_actions location il y a 4 ans
  Netuttki e1134a5b09 Removed extra `end` that caused problems il y a 4 ans
  Netuttki 8085d0696d Removed extra " that caused problems. il y a 4 ans
  Netuttki 31d4eae1a3 Merge remote-tracking branch 'upstream/master' into ml_dev il y a 4 ans
  hornguy6 9d1c3c4b2d [changed] some stuff in the journal regarding the modelling job il y a 4 ans
  hornguy6 3cc82c3d81 [removed] getting blacklisted at the porn studio no longer blacklists you at Aphrodite il y a 4 ans
  hornguy6 dbe0d9858a [added] timer to prevent the interview event from firing too often il y a 4 ans
  hornguy6 b8c9fe0a60 [changed] blocked out salon services if there after hours il y a 4 ans
  hornguy6 59de918088 [fixed] masseuse payment issues il y a 4 ans
  hornguy6 ff0f116a0f Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife il y a 4 ans
  Netuttki dec2da383b Added .zip and .png to ignore il y a 4 ans
  Netuttki 2c7dde06dd Removed unnecessary code. il y a 4 ans
  Netuttki 0c971dffb0 Next lesson date display was incorrect - trying to fix it. il y a 4 ans
  Netuttki 6c54432dd4 Working on the icon based music actions. il y a 4 ans
  Netuttki fe3092757a Intelligence based max_grades added back il y a 4 ans
  Netuttki b098cde648 Guitar icon added to stat display il y a 4 ans
  Netuttki 57333a28bb Added the ml_update_1 = 1; new games got messed up on first save il y a 4 ans
  Netuttki 76d2131089 Intelligence based max_grades put back. il y a 4 ans
  Netuttki c71acc9edb Merge remote-tracking branch 'upstream/master' into ml_dev il y a 4 ans
  Netuttki bad12d3c2b Merge remote-tracking branch 'upstream/master' into ml_dev il y a 4 ans
  hornguy6 76335a959d Merge branch 'master' of https://git.catrenelle.com/Kevin_Smarts/glife il y a 4 ans
  Netuttki fb79e1e0d4 Merge remote-tracking branch 'upstream/master' into ml_dev il y a 4 ans
  Netuttki 1028d765b6 Merge remote-tracking branch 'upstream/master' into ml_dev il y a 4 ans
  Netuttki 50bc6d0792 Merge remote-tracking branch 'upstream/master' into ml_dev il y a 4 ans
  Netuttki ae22f517bf Merge remote-tracking branch 'upstream/master' into ml_dev il y a 4 ans
  hornguy6 3d1a345976 [added] missing option for commercial il y a 4 ans
  hornguy6 1b8917578b [changed] some variables that ought to be more specific il y a 4 ans

+ 4 - 0
.gitignore

@@ -20,3 +20,7 @@ VideoDecodeStats/LOG.old
 glmf.code-workspace
 
 Music Life Wiki/
+
+images.zip
+
+*.png

+ 1 - 0
glife.qproj

@@ -883,6 +883,7 @@
 		<Location name="boylove"/>
 	</Folder>
 	<Folder name="music">
+		<Location name="music_actions"/>
 		<Location name="music_bedroompractice"/>
 		<Location name="music_onlinemusic"/>
  		<Location name="music_gigstarts"/>

+ 2 - 4
locations/Cheatmenu_din.qsrc

@@ -1388,10 +1388,8 @@ $cheatmenu['reputation'] = {
 		*nl
 		'<font color="red"><b>WARNING</b></font>: Clearing reputation flags with your family may cause bugs. Use at your own risk!'
 		*nl
-		if motherKnowWhore > 0 or motherKnowSpravka > 0:
-			'Your mother knows, that you are sexually active and considers you a slut. <a href="exec:motherKnowWhore = 0 & motherKnowSpravka = 0 & dynamic $cheatmenu[''reputation'']">Clear</a>'
-		elseif motherKnowWhore > 0:
-			'Your mother thinks you are a whore. <a href="exec:motherKnowWhore = 0 & dynamic $cheatmenu[''reputation'']">Clear</a>'
+		if motherKnowWhore > 0:
+			'Your mother knows, that you are sexually active and considers you are whore. <a href="exec:motherKnowWhore = 0 & motherKnowSpravka = 0 & dynamic $cheatmenu[''reputation'']">Clear both reputations</a>    <a href="exec:motherKnowWhore = 0 & dynamic $cheatmenu[''reputation'']">Clear only whore reputation</a>'
 		elseif motherKnowSpravka > 0:
 			'Your mother knows that you are sexually active. <a href="exec:motherKnowSpravka = 0 & dynamic $cheatmenu[''reputation'']">Clear</a>'
 		else

+ 17 - 0
locations/_difficulty.qsrc

@@ -61,5 +61,22 @@ if $ARGS[0] = 'spendmoneystring':
 end &! --- spendmoneystring ---
 
 
+!! following function returns the basic adjustment for max_grades.
+!! hardcore: (115 * pcs_intel)/100
+!! realistic: 133
+!! relaxed: 155
+!! easy peasy: 185
+!! use func('_difficulty','getmaxgrades')
+if $ARGS[0] = 'getmaxgrades':
+	if difficulty = 1 : max_grades = (pcs_intel * 185) / 100
+	if difficulty = 2 : max_grades = (pcs_intel * 155) / 100
+	if difficulty = 3 : max_grades = (pcs_intel * 133) / 100
+	if difficulty = 4 : max_grades = (pcs_intel * 115) / 100
+
+	if max_grades > 100: max_grades = 100
+	
+end &! --- getexpadj ---
+
+
 --- _difficulty ---------------------------------
 

+ 1 - 3
locations/bed.qsrc

@@ -5,9 +5,7 @@ if $ARGS[0] = 'start':
 	menu_off = 1
 	shour = 24 - hour
 	gs 'stat'
-	ml_guitar['carried'] = 0
-	ml_guitarAtHome = 1
-	
+
 	if hour > 22 and rand(0, 100) < 2 and houserab = 1 and houserabday ! daystart and pcs_sleep < 50 and tanhouse1 = 1:gt 'bed', 'rab'
 	if hour > 22 and rand(0, 200) = 0 and housrA = 1 and husband = 0:gt 'bed', 'vor'
 

+ 5 - 1
locations/bedrPar.qsrc

@@ -257,11 +257,13 @@ end
 if ml_guitar['carried'] = 1:
 	act 'Place the guitar next to your desk': 
 		ml_guitar['carried'] = 0
+		$ml_guitar['location'] = $curloc
 		gt 'bedrPar', 'start'
 	end
 elseif ml_guitar['hasguitar'] and ml_guitar['carried'] = 0:
 	act 'Pick up the guitar':
 		ml_guitar['carried'] = 1
+		$ml_guitar['location'] = ''
 		gt 'bedrPar', 'start'
 	end
 end
@@ -302,8 +304,10 @@ if hour > 8 and hour < 22:
 	if ml_guitar['hasguitar'] = 1:
 		act 'Play something on the guitar (10 minutes)':
 			mood += 10
+			minut += 10
+			gs 'stat'
 			'You pick up your guitar and start to play some songs you know, just for your own entertainment.'
-			'You hum along the tune, relaxing into the music, just enjoying it. When you look up a quarter of an hour has passed and you are in a much better mood.'
+			'You hum along the tune, relaxing into the music, just enjoying it. When you look up about 10 minutes has passed and you are in a much better mood.'
 		end
 	end
 

+ 4 - 0
locations/cikl.qsrc

@@ -9,6 +9,10 @@ if masseuse['jobtype'] < 1:
 	masseuse['<<week>>_shift_3'] = 0
 end
 
+if masseuse['jobtype'] > 0 and week = 5 and masseuse['paycheck'] > 0:
+	masseuse['payday'] = 1
+end
+
 if masseuse['<<week>>_shift_1'] ! 0 or masseuse['<<week>>_shift_2'] ! 0 or masseuse['<<week>>_shift_3'] ! 0:
 	masseuse['missed_shift2'] = 1
 end

+ 0 - 1
locations/city_center.qsrc

@@ -272,7 +272,6 @@ end
 if AlexandriaQW = 3 and hour >= 6 and hour <= 23:
     *nl
     act 'Call Tatiana to infiltrate the models agency': gt 'tatiana_missions','mission2B'
-    end
 end
 
 if hour >= 20 or hour <= 4:

+ 15 - 5
locations/dachain.qsrc

@@ -47,17 +47,27 @@ if $args[0] = '':
 	if ml_guitar['carried'] = 1:
 		act 'Place the guitar next to your desk': 
 			ml_guitar['carried'] = 0
-			ml_guitarAtHome = 1
-			gt $loc
+			$ml_guitar['location'] = $curloc
+			gt 'daichan', ''
 		end
-	elseif ml_guitarAtHome = 1:
+	elseif ml_guitar['hasguitar'] and ml_guitar['carried'] = 0:
 		act 'Pick up the guitar':
 			ml_guitar['carried'] = 1
-			ml_guitarAtHome = 0
-			gt $loc
+			$ml_guitar['location'] = ''
+			gt 'daichan', ''
 		end
 	end
 
+	if ml_guitar['hasguitar'] = 1:
+		act 'Play something on the guitar (10 minutes)':
+			mood += 10
+			minut += 10
+			gs 'stat'
+			'You pick up your guitar and start to play some songs you know, just for your own entertainment.'
+			'You hum along the tune, relaxing into the music, just enjoying it. When you look up a quarter of an hour passed and you are in a much better mood.'
+		end
+	end
+	
 	!!Guitar practice 
 	if ml_guitar['hasguitar'] = 1 and (ml_guitar['chordbook'] = 1 or ml_guitarlesson['lessoncount'] > 0) and ml_performance['performed_minutes'] <= ml_performance['max_perform_minutes']:
 		act 'Practice guitar (0:30)': gt 'music_bedroomPractice', 'guitar'

+ 15 - 22
locations/foto.qsrc

@@ -146,33 +146,33 @@ if $ARGS[0] = 'studio':
 	*clr & cla
 	killvar '$modelopt'
 
-	if special_model < min(city_modelling, 700) and modelfoto_topless > 0 and hour < 15 and fame_model_event < daystart:gt 'foto_events','fame'
-	if special_skill_model < pcs_mdlng and modelfoto_nip > 0 and skill_model_event < daystart:gt 'foto_events','skill'
-	if foto['documentary'] >= 95 and $pantyworntype = 'none':gt'foto_model_documentary','1st_documentary'
+	if special_model < min(city_modelling, 700) and modelfoto_topless > 0 and hour < 15 and fame_model_event ! daystart:gt 'foto_events','fame'
+	if special_skill_model < pcs_mdlng and modelfoto_nip > 0 and skill_model_event ! daystart:gt 'foto_events','skill'
+	if foto['documentary'] >= 95 and $pantyworntype = 'none' and modelfoto >= foto['documentary_timer']:gt'foto_model_documentary','1st_documentary'
 	minut += 5
 	gs 'stat'
 	gs 'themes', 'indoors'
 
 	if city_modelling >= 200 and city_modelling < 240:
-		rank = 1
+		model['rank'] = 1
 	elseif city_modelling >= 240 and city_modelling < 280:
-		rank = 2
+		model['rank'] = 2
 	elseif city_modelling >= 280 and city_modelling < 320:
-		rank = 3
+		model['rank'] = 3
 	elseif city_modelling >= 320 and city_modelling < 360:
-		rank = 4
+		model['rank'] = 4
 	elseif city_modelling >= 360 and city_modelling < 400:
-		rank = 5
+		model['rank'] = 5
 	elseif city_modelling >= 400 and city_modelling < 440:
-		rank = 6
+		model['rank'] = 6
 	elseif city_modelling >= 440 and city_modelling < 560:
-		rank = 7
+		model['rank'] = 7
 	elseif city_modelling >= 560 and city_modelling < 620:
-		rank = 8
+		model['rank'] = 8
 	elseif city_modelling >= 620 and city_modelling < 700:
-		rank = 9
+		model['rank'] = 9
 	elseif city_modelling >= 700:
-		rank = 10
+		model['rank'] = 10
 	end
 
 	anastasia_in = rand(0,1)
@@ -255,13 +255,6 @@ if $ARGS[0] = 'studio':
 		end
 	end
 
-	if pfilmNO = 1:
-		menu_off = 1
-		gs 'stat'
-		'"You''re blacklisted, no decent studio will deal with you, goodbye."'
-		act 'Leave': minut += 1 & gt 'city_center'
-	end
-
 	if model['status'] = 1:
 		act 'Leave':
 			*clr & cla
@@ -913,14 +906,14 @@ if $ARGS[0] = 'bathroom':
 	        *clr & cla
 			AlexandriaQW = 2
 			gs 'stat'
-	        '<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/models.jpg"></center>'
+           	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/models.jpg"></center>'
             'You are trying to find the "McGuffin" that Tatiana told you was somewhere in the agency and that was cursing the place, but you haven''t had much luck... until now. You feel a magic tingle and snoop on an interesting titbit.'
             '"Oh my god! You need to meet this girl! She is an incredible mass...massa...masse... Damn! She is good with her hands!"'
             '"Sorry, I don''t swing that way. Well... except on my boyfriend''s birthday."'
             '"Huh?! No! Well... maybe? I mean that she can help you with your boob pains!"'
             '"You mean my BACK pains? Are you feeling alright? You sound a little off today."'
             '"What? Yes! I''m feeling great! You <i>must</i> meet her! She''s a redhead named Tatiana! She hangs out back there, in the room where we store the... umm... the things that we use for the shoots!"'
-            '"You mean the props room"?"'
+            '"You mean the props room?"'
             'Okay, that''s a clue! Maybe you should search the props room?'
             act'Continue':gt'foto','bathroom'
         end

+ 19 - 33
locations/foto_albums.qsrc

@@ -4,25 +4,25 @@ menu_off = 1
 
 if $ARGS[0] = 'model_portraits':
 	
-	if rank = 1:
+	if model['rank'] = 1:
 		gt 'foto_albums','sveta_10'
-	elseif rank = 2:
+	elseif model['rank'] = 2:
 		gt 'foto_albums','sveta_9'
-	elseif rank = 3:
+	elseif model['rank'] = 3:
 		gt 'foto_albums','sveta_8'
-	elseif rank = 4:
+	elseif model['rank'] = 4:
 		gt 'foto_albums','sveta_7'
-	elseif rank = 5:
+	elseif model['rank'] = 5:
 		gt 'foto_albums','sveta_6'
-	elseif rank = 6:
+	elseif model['rank'] = 6:
 		gt 'foto_albums','sveta_5'
-	elseif rank = 7:
+	elseif model['rank'] = 7:
 		gt 'foto_albums','sveta_4'
-	elseif rank = 8:
+	elseif model['rank'] = 8:
 		gt 'foto_albums','sveta_2'
-	elseif rank = 9:
+	elseif model['rank'] = 9:
 		gt 'foto_albums','sveta_3'
-	elseif rank = 10:
+	elseif model['rank'] = 10:
 		gt 'foto_albums','sveta_1'
 	end	
 
@@ -50,68 +50,54 @@ if $ARGS[0] = 'sveta':
 	act 'Presenting: <<$pcs_firstname>> <<mid($pcs_lastname,1,1)>>':
 		*clr
 		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/1.jpg"></center>'
-		'<i>My first nude shoot ever! I''m actually pretty impressed with myself. For my first time doing nude modelling, I looked damn sexy!<i>'
 		act 'Waiting For You':
 			*clr
 			'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/2.jpg"></center>'
-			'<i>Wow, the final product turned out better than I thought it would. It was really windy that day.<i>'
 			act'Six Hundred Roses':
 				*clr
 				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/3.jpg"></center>'
-				'<i>Oh! The pool shoot! That was so much fun! I was so cold though!<i>'
 				act'Doll':
 					*clr
 					'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/4.jpg"></center>'
-					'<i>That was an interesting one. The photoshop really makes the artistry here doesn''t it?<i>'
 					act'Workout':
 						*clr
 						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/5.jpg"></center>'
-						'<i>Oh man, I was so sweaty doing this! Although, seeing it from another perspective, I guess this is why boys like to ogle us at the gym.<i>'
-						if rank >= 2:
+						if model['rank'] >= 2:
 							act'Cool Beauty':
 								*clr
 								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/6.jpg"></center>'
-								'<i>Did they recently add this one? Oh! It must be because I moved up another rank!<i>'
-								if rank >= 3:
+								if model['rank'] >= 3:
 									act'All Eyes On You':
 										*clr
 										'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/7.jpg"></center>'
-										'<i>I had no idea my nipples were so visible that shoot...<i>'
-										if rank >= 4:
+										if model['rank'] >= 4:
 											act'Glow':
 												*clr
 												'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/8.jpg"></center>'
-												'<i>I love bedroom shoots. They just feel so cozy.<i>'
-												if rank >= 5:
+												if model['rank'] >= 5:
 													act'Simple and Clean':
 														*clr
 														'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/9.jpg"></center>'
-														'<i>I remember this one. That was a pretty relaxed day.<i>'
-														if rank >= 6:
+														if model['rank'] >= 6:
 															act'Pierce':
 																*clr
 																'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/10.jpg"></center>'
-																'<i>Ohhh, the balcony shoot! I had almost forgotten about this one! My nipples were so cold!<i>'
-																if rank >= Y:
+																if model['rank'] >= Y:
 																	act'Yoko':
 																		*clr
 																		'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/11.jpg"></center>'
-																		'<i>Hey, I look pretty cute in glasses.<i>'
-																		if rank >= 8:
+																		if model['rank'] >= 8:
 																			act'Hay Fever':
 																				*clr
 																				'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/12.jpg"></center>'
-																				'<i>My Gadukino shoot! I''m glad I got to do one like Mari!<i>'
-																				if rank >= 9:
+																				if model['rank'] >= 9:
 																					act'His Clothes':
 																						*clr
 																						'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/13.jpg"></center>'
-																						'<i>I really liked wearing that shirt. Kind of wish I could''ve taken it home with me...<i>'
-																						if rank >= 10:
+																						if model['rank'] >= 10:
 																							act'Confidence':
 																								*clr
 																								'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/portraits/sveta_l/14.jpg"></center>'
-																								'<i>Yay!! I did it! I''m number 1! Go me! They picked a great pic to commemorate it too!<i>'
 																							end
 																						end
 																					end

+ 1 - 0
locations/foto_model_documentary.qsrc

@@ -151,6 +151,7 @@ if $ARGS[0] = '1st_documentary':
 end
 
 if $ARGS[0] = 'documentary_1':
+	foto['documentary_timer'] = modelfoto + 6
 	cla & *clr
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/foto.jpg"></center>'
 	'You head over to where you were directed and see a group of people standing around several video cameras set up with lights shining on an empty set.'

+ 1 - 1
locations/foto_models.qsrc

@@ -1886,7 +1886,7 @@ if $ARGS[0] = 'krystal_sextalk':
 		*clr
 		if krys_sexlife = 0:krys_sexlife = 1
 		'<center><img src="images/locations/city/citycenter/photo/portraits/krystal_b/talking/12.jpg"></center>'
-		'"Pretty good I''d say. Ben and I probably do it at least, what, four or five times a day? In the morning Ben usually wakes me up with a good pounding. No joke, I''l wake up and he''ll already be balls deep in me. Really gets you out of bed in the morning. My own personal alarm cock. If we have a porn shoot then we''ll fuck on camera. If not, sometimes he drops by the studio for a quickie. Then after work we''ll fuck before dinner. After dinner we usually relax by watching a movie while I give him head. And then one more good night fuck in bed? Sometimes he wakes me up in the night to do it again but I wouldn''t say we do that <i>too</i> often. Maybe twice a week. Oh wait. That''s not five, that''s six."'
+		'"Pretty good I''d say. Ben and I probably do it at least, what, four or five times a day? In the morning Ben usually wakes me up with a good pounding. No joke, I''ll wake up and he''ll already be balls deep in me. Really gets you out of bed in the morning. My own personal alarm cock. If we have a porn shoot then we''ll fuck on camera. If not, sometimes he drops by the studio for a quickie. Then after work we''ll fuck before dinner. After dinner we usually relax by watching a movie while I give him head. And then one more good night fuck in bed? Sometimes he wakes me up in the night to do it again but I wouldn''t say we do that <i>too</i> often. Maybe twice a week. Oh wait. That''s not five, that''s six."'
 	end
 	
 	act'"How do you feel about blowjobs?"':

+ 6 - 3
locations/foto_shoot.qsrc

@@ -637,7 +637,11 @@ if $ARGS[0] = 'sexy':
 	'You dress up in sexy clothes and spend the next two hours posing for the photographer.'
 	*nl
 	'After having taken all his pictures, the photographer thanks you for your time and concludes the shoot, counting out your <<modelpayfin>> <b>₽</b> to hand to you.'
-	act 'Leave':gt 'foto','end'
+	if pcs_mdlng >= 40 and commercial = 0:
+		act 'Leave':gt'foto_events','commercial'
+	else
+		act 'Leave':gt 'foto', 'end'
+	end
 end
 
 if $ARGS[0] = 'transparent':
@@ -828,9 +832,8 @@ if $ARGS[0] = 'erotic':
 	if pcs_inhib < 60:inhib_exp += rand(1,3)
 	'<center><img <<$set_imgh>> src="images/locations/city/citycenter/photo/erotic/<<rand(1,19)>>.jpg"></center>'
 	if $pantyworntype ! 'none':
-		
-	else
 	
+	else
 		'Already naked, you step onto the set and begin the shoot immediately.'
 	end
 	*nl

+ 1 - 1
locations/gschool_gossip.qsrc

@@ -716,7 +716,7 @@ if $ARGS[0] = 'boys':
 		'"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."'
+        '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."'
         'They quickly hush themselves when Albina walks past them, grinning as they gawk at her shapely rear.'

+ 1 - 1
locations/gschool_grounds.qsrc

@@ -301,7 +301,7 @@ if $ARGS[0] = 'main':
 				'<TABLE BORDER=1><<$show_table>></TR></TABLE>'
 			end
 		end
-		if AlbinaQW['albride'] = 0 and AlbinaQW['RideDaystart'] <= daystart and AlbinaQW['AlbFatherQW']  >= 1 and AlbinaQW['ParkRally'] > 0: 
+		if AlbinaQW['albride'] = 0 and AlbinaQW['RideDaystart'] <= daystart and AlbinaQW['AlbFatherQW']  >= 1 and AlbinaQW['ParkRally'] > 0 and AlbinaQW['Chernov'] > 0: 
 			'<a href="exec:minut += 15 & gt ''albinaRide''">Albina Barlovskaya</a> is waiting behind the wheel of a large black SUV, parked near the school.'
 		end
 

+ 14 - 11
locations/journal.qsrc

@@ -19,6 +19,7 @@ if $ARGS[0] = 'records':
 	end
 
 	$tab_text += '<center><h2>Housing</h2></center>'
+	
 	if pavSharedAptEnabled = 1:$tab_text += dyneval($NoteBookLine,'You share an apartment with three others in Pavlovsk. Your bills are paid by the other tenants in exchange for your house services')
 	if home_owned[1] = 1:$tab_text += dyneval($NoteBookLine,'You rent a two room apartment in the city residential area. Your rent for the apartment is subtracted automatically in sum of <<home_rent[1]>> <b>₽</b> us electric bill on 25th of each month. You are currently paid up for <b><<ArendHouseSL>></b> days')
 	if home_owned[1] = 2:$tab_text += dyneval($NoteBookLine,'You own a two room apartment in the city residential area. Your utility bills are due on the 25th of each month.')
@@ -29,7 +30,9 @@ if $ARGS[0] = 'records':
 	if home_owned[5] = 1:$tab_text += dyneval($NoteBookLine,'You own a vacant block in the city suburbs. Your utility bills are due on the 25th of each month.')
 	if home_owned[5] = 2:$tab_text += dyneval($NoteBookLine,'You own a block in the city suburbs upon which you are building a house. Your utility bills are due on the 25th of each month.')
 	if home_owned[5] = 3:$tab_text += dyneval($NoteBookLine,'You own an impressive mansion in the suburbs of St. Petersburg. Your utility bills are due on the 25th of each month.')
+	
 	$tab_text += '<center><h2>Work</h2></center>'
+	
 	if workPTU > 2:$tab_text += dyneval($NoteBookLine,'You work as a teacher at the Lycée and your schedule is Mon-Sat, teaching between 14:00 to 16:00. Your salary is 300r/day. The dress code is Office Clothes, Strict. The road from the apartment to the Lyceum takes 2 hours 10 minutes.')
 	if (work = 1 or cheatWork = 1) and workKafe > 0:$tab_text += dyneval($NoteBookLine,'You are working as a waitress at The Roadhouse cafe. You need to come to work between 11:00-12:00 while your working days are: Tuesday, Wednesday, and Thursday. At work, you can receive tips from customers and your wages are received on 25th of each month.')
 	if (work = 1 or cheatWork = 1) and workhosp > 0:$tab_text += dyneval($NoteBookLine,'You work as a nurse in the city residential area clinic. You need to come to work between 08:00-09:00 during the week. Salary is automatically transferred on 25th of each month.')
@@ -49,30 +52,30 @@ if $ARGS[0] = 'records':
 	if bumtolik = 4:$tab_text += dyneval($NoteBookLine,'You have been asked to help the homeless at the Mercy Clinic in the city industrial region.')
 	if bumtolik >= 5:$tab_text += dyneval($NoteBookLine,'You volunteer at the Mercy Clinic in the city industrial region and work with the homeless. Working hours are from 09:00 to 17:00 on Saturday and Sunday.')
 	
-	if model > 0:	
+	if model['status'] > 0:	
 		if modelfoto_erotic > 0:
-			$tab_text += dyneval($NoteBookLine,'You are an erotic model working at ''Aphrodite Photography'' in St. Petersburg.')
+			$tab_text += dyneval($NoteBookLine,'You are an erotic model working at Aphrodite Photography in St. Petersburg.')
 		elseif modelfoto_nude > modelfoto_fashion and modelfoto_nude > modelfoto_fitness and modelfoto_nude > modelfoto_glamour and modelfoto_nude > modelfoto_lingerie and modelfoto_nude > modelfoto_catalog:
-			$tab_text += dyneval($NoteBookLine,'You are an artistic nude model working at ''Aphrodite Photography'' in St. Petersburg.')
+			$tab_text += dyneval($NoteBookLine,'You are an artistic nude model working at Aphrodite Photography in St. Petersburg.')
 		elseif modelfoto_fitness > modelfoto_fashion and modelfoto_fitness > modelfoto_nude and modelfoto_fitness > modelfoto_glamour and modelfoto_fitness > modelfoto_lingerie and modelfoto_fitness > modelfoto_catalog:
-			$tab_text += dyneval($NoteBookLine,'You are a fitness model working at ''Aphrodite Photography'' in St. Petersburg.')
+			$tab_text += dyneval($NoteBookLine,'You are a fitness model working at Aphrodite Photography in St. Petersburg.')
 		elseif modelfoto_glamour > modelfoto_fashion and modelfoto_glamour > modelfoto_nude and modelfoto_glamour > modelfoto_fitness and modelfoto_glamour > modelfoto_lingerie and modelfoto_glamour > modelfoto_catalog:
-			$tab_text += dyneval($NoteBookLine,'You are a glamour model working at ''Aphrodite Photography'' in St. Petersburg.')
+			$tab_text += dyneval($NoteBookLine,'You are a glamour model working at Aphrodite Photography in St. Petersburg.')
 		elseif modelfoto_lingerie > modelfoto_fashion and modelfoto_lingerie > modelfoto_nude and modelfoto_lingerie > modelfoto_fitness and modelfoto_lingerie > modelfoto_glamour and modelfoto_lingerie > modelfoto_catalog:
-			$tab_text += dyneval($NoteBookLine,'You are a lingerie model working at ''Aphrodite Photography'' in St. Petersburg.')
+			$tab_text += dyneval($NoteBookLine,'You are a lingerie model working at Aphrodite Photography in St. Petersburg.')
 		elseif modelfoto_fashion > modelfoto_lingerie and modelfoto_fashion > modelfoto_nude and modelfoto_fashion > modelfoto_fitness and modelfoto_fashion > modelfoto_glamour and modelfoto_fashion > modelfoto_catalog:
-			$tab_text += dyneval($NoteBookLine,'You are a fashion model working at ''Aphrodite Photography'' in St. Petersburg.')
+			$tab_text += dyneval($NoteBookLine,'You are a fashion model working at Aphrodite Photography in St. Petersburg.')
 		elseif modelfoto_catalog > 0:
-			$tab_text += dyneval($NoteBookLine,'You are a catalog model working at ''Aphrodite Photography'' in St. Petersburg.')
+			$tab_text += dyneval($NoteBookLine,'You are a catalog model working at Aphrodite Photography in St. Petersburg.')
 		end
 	end
 	*nl
 	
-	if model > 0 and model_week = (daystart - week) / 7 and model_job_week >= 2:
+	if model['status'] > 0 and model_week = (daystart - week) / 7 and model_job_week >= 2:
 		$tab_text += dyneval($NoteBookLine,'You have no more modeling jobs available this week.')
-	elseif model > 0 and model_week < (daystart - week) / 7 and model_job_week = 1:
+	elseif model['status'] > 0 and model_week < (daystart - week) / 7 and model_job_week = 1:
 		$tab_text += dyneval($NoteBookLine,'You can get paid for 1 more modeling job this week.')
-	elseif model > 0 and model_week < (daystart - week) / 7 and model_job_week < 1:
+	elseif model['status'] > 0 and model_week < (daystart - week) / 7 and model_job_week < 1:
 		$tab_text += dyneval($NoteBookLine,'You can get paid for 2 modeling jobs this week.')
 	end
 	*nl

+ 1 - 0
locations/masseuse_work.qsrc

@@ -23,6 +23,7 @@ if $ARGS[0] = 'shift_start':
 		masseuse['<<week>>_shift_3'] = 2
 	end
 	if masseuse['late'] = 1:
+		masseuse['late'] = 0
 		masseuse['weeks_pay'] += 3
 	else
 		masseuse['weeks_pay'] += 4

+ 4 - 1
locations/mother.qsrc

@@ -579,7 +579,8 @@ if $ARGS[0] = '':
 		whoremday = daystart
 		if motherKnowWhore = 0 and motherKnowSpravka = 0 and npc_QW['A29'] = 0:
 			gs 'npc_relationship', 'set', 'A29', 0
-			if motherKnowWhore = 0:motherKnowWhore = 1
+			motherKnowWhore = 1
+			motherKnowSpravka = 1
 
 			if momslut < 2:
 				delin_beh += 1 &!counter for getting sent to Gadukino for the summer
@@ -603,6 +604,7 @@ if $ARGS[0] = '':
 			gs 'npc_relationship', 'modify', 'A29', -20
 
 			if motherKnowWhore = 0:motherKnowWhore = 1
+			if motherKnowSpravka = 0: motherKnowSpravka = 1
 
 			if momslut < 2:
 				delin_beh += 1 &!counter for getting sent to Gadukino for the summer
@@ -618,6 +620,7 @@ if $ARGS[0] = '':
 			gs 'npc_relationship', 'modify', 'A29', -20
 
 			if motherKnowWhore = 0:motherKnowWhore = 1
+			if motherKnowSpravka = 0: motherKnowSpravka = 1
 
 			'Your <<$npc_nickname[''A29'']>> notices the sperm you''re wearing on you, and looks at you with a tinge of concern.'
 			'"<<$pcs_nickname>>, why do you have to walk around like this, you should at least clean up his mess after he finishes on your face, before you go out the door. Quickly, go wash up in the bathroom, hopefully no one has seen you like this!'

+ 68 - 0
locations/music_actions.qsrc

@@ -0,0 +1,68 @@
+# music_actions
+
+if ARGS[0] = 'start': 
+
+    cla
+
+    if $location_type = 'private':
+
+        if ml_guitar['carried'] = 1:
+            act 'Place the guitar next to your desk': 
+                ml_guitar['carried'] = 0
+                ml_guitar['location'] = $ARGS[0]
+            end
+        elseif ml_guitar['location'] = $ARGS[0]:
+            act 'Pick up the guitar':
+                ml_guitar['carried'] = 1
+                ml_guitar['location'] = 'carried'
+            end
+        end
+        if $ARGS[0] = 'sitr': gt 'sitr'
+        elseif ARGS[0] = 'daichan': gt 'daichan'
+        else gt ARGS[0], 'start'
+
+    end
+
+	if ml_guitar['carried'] = 1:
+		act 'Play something on the guitar (10 minutes)':
+			mood += 10
+			minut += 10
+			gs 'stat'
+			'You pick up your guitar and start to play some songs you know, just for your own entertainment.'
+			'You hum along the tune, relaxing into the music, just enjoying it. When you look up a quarter of an hour passed and you are in a much better mood.'
+		end
+	end
+
+    if ml_online['account'] = 0 and internet > 0: 
+        act 'Set up an online music account (0:30)': gt 'music_onlinemusic', 'setupAccount'
+    end
+
+    !!Uploading recorded music if there are any not uploaded yet
+    if ml_uploadablemusic > 0 and internet > 0 and ml_online['account'] = 1:
+        if pcs_inhib < 30:
+            if pcs_inhib < 10: 
+                $diff = 'hard'
+            elseif pcs_inhib < 20: 
+                $diff = 'medium'
+            else 
+                $diff = 'easy'
+            end
+            gs 'willpower', 'skill', 'self', $diff
+
+            will_cost = (will_cost * 2) - (pcs_perform)
+            if will_cost <= pcs_willpwr:
+                act 'Upload music (<<will_cost>> Willpower)': gt 'music_onlinemusic', 'uploadmusic'
+            else	
+                act 'Upload music (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+            end
+        end
+        act 'Upload music': gt 'music_onlinemusic', 'uploadallmusic'
+    end
+
+    if ml_uploadablemusic > 0:
+        act 'Delete old recordings': gt 'music_onlinemusic', 'deleteoldmusic'
+    end
+
+end
+
+--- music_actions ---------------------------------

+ 10 - 3
locations/music_guitarlesson.qsrc

@@ -124,17 +124,24 @@ end
 
 if $ARGS[0] = 'getdate':
 	newday = day + (ml_guitarlesson['lessonday'] + 7 - week)
-	newmonth = month + 1
+	newmonth = month
 	if (month = 1 or month = 3 or month = 5 or month = 7 or month = 8 or month = 10 or month = 12) and newday > 31:
 		newday -= 31
 	elseif month = 2:
 		if (year mod 4 = 0):
-		  if newday > 29: newday -= 29
+			if newday > 29: 
+		  		newday -= 29
+				newmonth += 1
+			end
 		else 
-		  if newday > 28: newday -= 28
+			if newday > 28: 
+		  		newday -= 28 
+				newmonth += 1
+			end
 		end
 	elseif newday > 30:
 		newday -= 30
+		newmonth += 1
 	end	
 end
 

+ 2 - 4
locations/obj_din.qsrc

@@ -876,10 +876,8 @@ if $ARGS[0] = 'reputation':
 			if opusk > 0 or gnewQW >= 5: 'In the residential area it is well known by all the guys that you are a whore.'
 			if StoryLine = 1:
 				*nl
-				if motherKnowSpravka > 0 and motherKnowWhore > 0:
-					'Your mother knows that you are sexually active and considers you a slut.'
-				elseif motherKnowWhore > 0:
-					'Your mother thinks you are a whore.'
+				if motherKnowWhore > 0:
+					'Your mother knows that you are sexually active and considers you a whore.'
 				elseif motherKnowSpravka > 0:
 					'Your mother knows that you are sexually active.'
 				elseif motherKnowDildo > 0:

+ 3 - 3
locations/preSYS.qsrc

@@ -9,7 +9,7 @@ gs 'themes', 'indoors'
 !!******************** TG Start Background Options ******************************
 if $ARGS[0] = 'TGStart':
 !!	Nothing here for now
-
+	ml_update_1 = 1
 	gs 'npcstatic1'
 	gs 'npcstatic2'
 	gs 'npcstatic3'
@@ -35,7 +35,7 @@ if $ARGS[0] = 'CSBStart':
 	$pcs_dna = func('dna','generate',$npc_dna['A29'],$npc_dna['A35'])
 
 	StoryLine = 1
-
+	ml_update_1 = 1
 	!! NPC Data and Relations
 	gs 'npcstatic1'
 	gs 'npcstatic2'
@@ -187,7 +187,7 @@ if $ARGS[0] = 'SGStart':
 	$pcs_dna = func('dna','generate',$npc_dna['A29'],$npc_dna['A35'])
 
 	StoryLine = 1
-
+	ml_update_1 = 1
 	birthyear = 2000
 	yearlefttemp = 1
 	

+ 12 - 8
locations/salon.qsrc

@@ -71,7 +71,9 @@ if $ARGS[0] = 'receptionist':
 		'You walk over to the reception desk to speak to Xian.'
 	end
 	
-	if masseuse['jobtype'] = -6:
+	if hour >= 21:
+		'"It''s after hours <<$pcs_firstname>>. You should go home."'
+	elseif masseuse['jobtype'] = -6:
 		'"Hello, what can I help you with today?"'
 	elseif masseuse['jobtype'] < 0:
 		'"Hello again, <<$pcs_firstname>>. What can I help you with?"'
@@ -81,9 +83,9 @@ if $ARGS[0] = 'receptionist':
 		'"Hello <<$pcs_firstname>>! Are you here to work a shift today? Or are you here for some discount services?"'
 	end
 	act 'Move away':gt 'salon', 'start'
-	
-	act'I''d like to take a look at your services':gt'salon','services'
-	
+	if hour < 21:
+		act'I''d like to take a look at your services':gt'salon','services'
+	end
 	if masseuse['jobtype'] = 0:
 		act'Do you have any job openings?':gt'salon','job_interview1'
 	elseif masseuse['jobtype'] < 0 and masseuse['jobtype'] ! -6:
@@ -92,7 +94,7 @@ if $ARGS[0] = 'receptionist':
 		act'Can I set my schedule for the week?':gt'masseuse_schedule','start'
 		act'I want to change jobs':gt'salon','job_change'
 		act'I''d like to quit':gt'salon','resignation'
-		if masseuse['paycheck'] > 0:
+		if masseuse['payday'] > 0:
 			act'I''m here for my paycheck':gt'salon','payday'
 		end
 	end
@@ -833,14 +835,15 @@ if $ARGS[0] = 'payday':
 	'"Okay!" She opens up a drawer and thumbs through a few different labels before reaching into one and picking up an envelope. She hands it over to you.'
 	if masseuse['shifts_worked'] < masseuse['shifts_required']:
 		'"Hey, you only worked <<masseuse[''shifts_worked'']>> this week. You were supposed to work <<masseuse[''shifts_required'']>>."'
-		'"Sorry," you say, reaching for the envelope "Won''t happen again."'
-		'"Better not," she replies, holding onto the edge of the paper and forcing you to make eye contact. "<<masseuse[''warning'']>> more times and you''re fired."'
+		'"Sorry," you say, reaching for the envelope. "Won''t happen again."'
+		'"Better not." You try to pull the envelope away but Xian holds on tight to it, not budging until you make eye contact. "<<masseuse[''warning'']>> more times and you''re fired."'
+		*nl
 		'She lets go.'
 	elseif masseuse['shifts_worked'] >= masseuse['shifts_required']:
 		masseuse['shifts_worked'] = 0
 		if masseuse['shifts_worked'] > masseuse['shifts_required']:
 			'"By the way, thanks for covering those extra shifts this week <<$pcs_firstname>>! Really helpful for us."'
-			'"No problem, I needed the money," you say, taking the envelope.'
+			'"No problem, I wanted the money," you say, taking the envelope.'
 		end
 	end
 	
@@ -852,6 +855,7 @@ if $ARGS[0] = 'payday':
 	elseif masseuse['jobtype'] > 2:
 		masseuse['sex_money_earned'] += masseuse['paycheck']
 	end
+	masseuse['payday'] = 0
 	masseuse['weeks_pay'] = 0
 	masseuse['paycheck'] = 0
 	act'Leave':gt'salon','start'

+ 7 - 3
locations/sitr.qsrc

@@ -92,12 +92,14 @@ end
 if ml_guitar['carried'] = 1:
 	act 'Place the guitar next to your desk': 
 		ml_guitar['carried'] = 0
-		gt 'bedrPar', 'start'
+		$ml_guitar['location'] = $curloc
+		gt 'sitr'
 	end
-elseif ml_guitar['hasguitar'] = 1 and ml_guitar['carried'] = 0:
+elseif ml_guitar['hasguitar'] and ml_guitar['carried'] = 0:
 	act 'Pick up the guitar':
 		ml_guitar['carried'] = 1
-		gt 'bedrPar', 'start'
+		$ml_guitar['location'] = ''
+		gt 'sitr'
 	end
 end
 
@@ -137,6 +139,8 @@ if hour > 8 and hour < 22:
 	if ml_guitar['hasguitar'] = 1:
 		act 'Play something on the guitar (10 minutes)':
 			mood += 10
+			minut += 10
+			gs 'stat'
 			'You pick up your guitar and start to play some songs you know, just for your own entertainment.'
 			'You hum along the tune, relaxing into the music, just enjoying it. When you look up a quarter of an hour passed and you are in a much better mood.'
 		end

+ 8 - 0
locations/stat.qsrc

@@ -1161,6 +1161,14 @@ else
 	pornstar['icon'] = 0
 end
 
+!!-------------------------School grades and other checks----------------------
+
+!! Having this for just the mornings means it is not always correct.
+func('_difficulty','getmaxgrades')		
+ 
+if pcs_grades > max_grades: pcs_grades = max_grades
+
+if pcs_grades < 0: pcs_grades = 0
 
 --- stat ---------------------------------
 

+ 6 - 0
locations/stat_display.qsrc

@@ -2015,6 +2015,12 @@ if arrsize('spellComplete') > 0:
 	killvar 'i'
 end
 
+!!Guitar icon goes here
+if ml_guitar['carried'] = 2 or $ml_guitar['location'] = 'testlab': 
+	$stat_msg +='<br><br><a href="exec: gt ''music_actions'', ''start'', $curloc"><img src="images/system/icon/icon_guitar.png"></a>'
+end
+!!
+
 !!zero checks marriage
 proverka1 = 0
 proverka2 = 0

+ 4 - 4
locations/tatiana_missions.qsrc

@@ -395,7 +395,7 @@ if $ARGS[0] = 'mission2A':
                     gt'tatiana_missions', 'mission2C'
                 end
             else
-                act 'Talk to ''Vintage Tatiana''' (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+                act 'Talk to ''Vintage Tatiana'' (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
             end
             act 'She grabs your pointing finger.':
 			    *clr & cla
@@ -464,7 +464,7 @@ if $ARGS[0] = 'mission2A':
 					        gt'tatiana_missions','mission2E'
 						end
                     else
-					    'Make her submit (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
+						act 'Make her submit (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 				    end
                     act 'Kick her ass!':
                         *clr & cla
@@ -905,8 +905,8 @@ end
 
 !!! PM from Kevin with notes on missions:
 !At the moment we have the story setup the possibility of running some missions for Tatiana but we have no missions. If you want to make a simple action where you ask her if she has a mission and tells you if she does or not and want to make a couple of said missions to fit. That would be very helpful.
-!They are magical investigations but the causes doesn't need to be magical, onlyfor it to appear like it might be. Maybe its some strange lights on the highway at night, but turns out to be a dogging site. The events would have a lot of freedom in length of investigation and whether or not they lead to sex options. So you might have to go somewhere a few times to find something or it might need several visits to sort out the problem.
-!Tatiana is a PI and magical investigator so its her way of helping Sveta learn about magic and grow her skills, there will be bigger missions that are handled by Reinhold and it'll probably require doing x Tatiana missions to unlock the next Rienhold mission type of deal. The rewards while not guaranteed will include new spells and unlocking the hidden magic boutique.
+!They are magical investigations but the causes doesn''t need to be magical, onlyfor it to appear like it might be. Maybe its some strange lights on the highway at night, but turns out to be a dogging site. The events would have a lot of freedom in length of investigation and whether or not they lead to sex options. So you might have to go somewhere a few times to find something or it might need several visits to sort out the problem.
+!Tatiana is a PI and magical investigator so its her way of helping Sveta learn about magic and grow her skills, there will be bigger missions that are handled by Reinhold and it''ll probably require doing x Tatiana missions to unlock the next Rienhold mission type of deal. The rewards while not guaranteed will include new spells and unlocking the hidden magic boutique.
 !Oh, I forgot to mention, Gustav can be used for some of the missions with him going along for protection or to help find someone (he has mad tracker skillz). There will be stories linked to some of the chars you meet including a couple of succubae and nymphs, fairies, etc. but also magic artifacts, magical people and people like Gustav who have been mutated by magic (the sharkguy at the pool might be rewritten to fit this last catergory).
 
 !!! IDEAS FOR MISSIONS