11 Commits 8d50552bd6 ... e389dbc6af

Author SHA1 Message Date
  KevinSmarts e389dbc6af [Fixed] Image not updated to npcstatic numbering from old school numbers 4 years ago
  KevinSmarts 8caf994e2f [Fixed] Put calculation in the chevrons causing type mis-match 4 years ago
  KevinSmarts 65c6a35214 [fixed] Starting purse and clothing bugs spotted by DeusExLibris and gave Goth better undies and coat while I was there 4 years ago
  KevinSmarts 9e20fd04c6 Merge remote-tracking branch 'hornguy6/master' 4 years ago
  KevinSmarts 8142d9b503 [fixes] Image path, menuoff seting, typo and anal luibe fixes 4 years ago
  hornguy6 48cc39f7da [added] clothing attributes to the new clothing, didn't take the first time apparently 4 years ago
  KevinSmarts d90e05320f Merge remote-tracking branch 'Sicaa/master' 4 years ago
  KevinSmarts c7ed8f872e Merge remote-tracking branch 'hornguy6/master' 4 years ago
  Sicaa 2b2a8b97b7 [added] 'round_divide', 'round_tool', 'rand_pick' and 'parse_string' functions to shortgs 4 years ago
  hornguy6 7e21470dcb [changed] the modelling studio no longer immediately knows your passport is fake 4 years ago
  hornguy6 11b1d960d3 [fixed] correct numbers for different pubestyles 4 years ago

+ 2 - 1
locations/FedorEv4.qsrc

@@ -411,7 +411,7 @@ if $ARGS[0] = '3way2':
 		minut -= 5
 		gs'stat'
 		'<center><video autoplay loop src="images/characters/pavlovsk/school/boy/fedor/fedorev2/home/3way/bed6.mp4"></video></center>'
-		'You begin riding Fedor''s dick as Ivan shoves his dick down your throat and starts to throat fuck you while Fedor continues fucking your pussy. You gag on Ivan''s cock and he pulls away. Ivan gives you a few seconds to catch your breath as he raises his dick to your mouth and begins brushing your lips with his cock. When you finish catching your breath, you casually wrap your lips around Ivan''s dick and do your best to lick and suck him off. After a few miniutes Ivan says, "Hey <<$pcs_firstname>>, Now that I''m all lubed up, It''s time to fuck your ass."'
+		'You begin riding Fedor''s dick as Ivan shoves his dick down your throat and starts to throat fuck you while Fedor continues fucking your pussy. You gag on Ivan''s cock and he pulls away. Ivan gives you a few seconds to catch your breath as he raises his dick to your mouth and begins brushing your lips with his cock. When you finish catching your breath, you casually wrap your lips around Ivan''s dick and do your best to lick and suck him off. After a few minutes Ivan says, "Hey <<$pcs_firstname>>, Now that I''m all lubed up, It''s time to fuck your ass."'
 		anal_slip += 4
 		gs 'arousal', 'anal', 5, 'sub'
 		gs 'boyStat', 'A3'
@@ -519,6 +519,7 @@ if $ARGS[0] = '3way3':
 			'After a few moments, Ivan pulls away from you, so you instinctively start sucking Fedor''s dick in Ivan''s place but soon you feel strong hands around your shoulders then realize that Ivan has lifted you 2 feet off the ground. Ivan carries you to the living room then drops you on your feet. Ivan roughly bends you over the edge of the sofa and before you know what''s happening, Ivan enters your anus causing you to groan in pain. Fedor then shouts "Ivan take it easy. Are you trying to cripple my girl!?"'
 			'Ivan responds, "Yeah, I guess I did get a bit carried away, Sorry <<$pcs_firstname>>. I''ll slow down for you." and true to his word he slows his pace allowing your ass to adjust for his dick before slowly increasing his pace. You are beginning to enjoy Ivan''s dick in your ass as Fedor sits down in front of you watching you get fucked which turns you on. While Ivan continues pounding your ass, Fedor gets up and tells Ivan. "Hey Ivan, don''t go hogging my girl now."'
 			gs 'boyStat', 'A3'
+			anal_slip += 4
 			gs 'arousal', 'anal', 5, 'sub'
 			gs'stat'
 

+ 37 - 1
locations/_attributes_average.qsrc

@@ -3325,7 +3325,43 @@ elseif ARGS[1] = 522:
 	CloTopCut = 1
 	CloPantsShortness = 1
 	CloExhibit = 5
-
+elseif ARGS[1] = 523:
+	CloQuality = 4
+	CloThinness = 4
+	CloTopCut = 3
+	CloPantsShortness = 5
+	CloExhibit = 5
+elseif ARGS[1] = 524:
+	CloQuality = 3
+	CloThinness = 4
+	CloTopCut = 2
+	CloPantsShortness = 2
+elseif ARGS[1] = 525:
+	CloQuality = 4
+	CloThinness = 4
+	CloTopCut = 3
+	CloSkirtShortness = 4
+	CloDress = 1
+elseif ARGS[1] = 526:
+	CloQuality = 4
+	CloThinness = 4
+	CloTopCut = 2
+	CloSkirtShortness = 4
+elseif ARGS[1] = 527:
+	CloQuality = 4
+	CloThinness = 3
+	CloTopCut = 3
+	CloPantsShortness = 1
+elseif ARGS[1] = 528:
+	CloQuality = 4
+	CloThinness = 5
+	CloTopCut = 2
+	CloPantsShortness = 2
+elseif ARGS[1] = 529:
+	CloQuality = 3
+	CloThinness = 5
+	CloTopCut = 2
+	CloPantsShortness = 2
 end
 
 --- $attributes_average ---------------------------------

+ 3 - 3
locations/din_van.qsrc

@@ -1707,19 +1707,19 @@ if $ARGS[0] = 'shave_options':
 	end
 	'</center></TD><TD><center>'
 	if pubestyle ! 12 and pcs_pubes > 15:
-		'<a href="exec:pubestyle = 2 & '+iif(shave_menu = 3,'shave_menu = 1', 'shave_menu = 2')+' & gt ''din_van'', ''shave_options''">Mini Bush</a>'
+		'<a href="exec:pubestyle = 12 & '+iif(shave_menu = 3,'shave_menu = 1', 'shave_menu = 2')+' & gt ''din_van'', ''shave_options''">Mini Bush</a>'
 	else
 		'Mini Bush'
 	end
 	'</center></TD><TD><center>'
 	if pubestyle ! 13 and pcs_pubes > 20:
-		'<a href="exec:pubestyle = 12 & '+iif(shave_menu = 3,'shave_menu = 1', 'shave_menu = 2')+' & gt ''din_van'', ''shave_options''">Bushy Strip</a>'
+		'<a href="exec:pubestyle = 13 & '+iif(shave_menu = 3,'shave_menu = 1', 'shave_menu = 2')+' & gt ''din_van'', ''shave_options''">Bushy Strip</a>'
 	else
 		'Bushy Strip'
 	end
 	'</center></TD><TD><center>'
 	if pubestyle ! 14 and pcs_pubes > 20:
-		'<a href="exec:pubestyle = 13 & '+iif(shave_menu = 3,'shave_menu = 1', 'shave_menu = 2')+' & gt ''din_van'', ''shave_options''">Rectangle</a>'
+		'<a href="exec:pubestyle = 14 & '+iif(shave_menu = 3,'shave_menu = 1', 'shave_menu = 2')+' & gt ''din_van'', ''shave_options''">Rectangle</a>'
 	else
 		'Rectangle'
 	end

+ 1 - 1
locations/foto.qsrc

@@ -645,7 +645,7 @@ if $ARGS[0] = 'job_offer':
 		act'Show him your fake passport':
 			cla
 			*nl
-			'He takes it and studies it for a moment, looking back and forth between you and the document. He grins at you, chuckling to himself and you realize that he knows the passport is fake. "Heh, so long as I have some deniability. Anyways, we''ll put your info into the database later."'
+			'He takes it and studies it for a moment, looking back and forth between you and the document and types your info onto a computer.'
 			'"When you''re ready, speak to a photographer about work. We work on freelance basis. For our lower level models or new hires like you, we can really only afford to pay you for two shoots a week, but you can still come in any time if you want to get some practice to work on your modelling skills. Those photos will be ours to keep and use, but it will help you to build your portfolio. If your popularity increases, we might have some special work and extra jobs for you so it''s not just twice a week."'
 			'He hands you back your fake passport, smiling.'
 			*nl

+ 3 - 0
locations/gschool_lessons4.qsrc

@@ -986,6 +986,7 @@ end
 
 if $ARGS[0] = 'jumping_jacks':
 	*clr & cla
+	menu_off = 1
 	gs 'stat'
 	if hotcat >= 6:'Some of the boys stop what they''re doing when it''s your turn, coming over to shout some words of support.'
 	if pcs_cupsize <= 20:
@@ -1043,6 +1044,7 @@ end
 
 if $ARGS[0] = 'pushups':
 	*clr & cla
+	menu_off = 1
 	gs 'stat'
 	if hotcat >= 6:'Some of the boys stop what they''re doing when it''s your turn, coming over to shout some words of support.'
 	if pcs_stren <= 20:
@@ -1065,6 +1067,7 @@ end
 
 if $ARGS[0] = 'postphys':
 	*clr & cla
+	menu_off = 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/gym/postphys<<rand(1,4)>>.jpg"></center>'
 	if zverevaQW = 1:

+ 1 - 1
locations/gschool_lessonsev3.qsrc

@@ -530,7 +530,7 @@ if $ARGS[0] = 'english':
 					npc_rel['A21'] -= 1
 					grupvalue[4] -= 1
 					grupvalue[1] += 1
-					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/english/events/eavesdrop.jpg"></center>'
+					'<center><img <<$set_imgh>> src="images/locations/pavlovsk/school/classroom/english/events/badlanguage.jpg"></center>'
 					'"Sure, repeat after me: I''m a worthless cock-sleeve who enjoys being a cumdump to all the boys in school."'
 					'Lera and Lena seem surprised with how much you say, but you reassure them it''s a really good insult; the worst of the worst. With a smile, they repeat the sentence, completely unaware of what they''re actually saying.'
 					act 'Wait for the end of the lesson': gt 'gschool_lessons', 'short_break'

+ 2 - 0
locations/housecall.qsrc

@@ -58,6 +58,7 @@ if $ARGS[0] = 'ninel0':
 						'<center><img <<$set_imgh>> src="images/locations/shared/apartment/event/sick/nadom2.jpg"></center>'
 						'You obediently roll over and spread ass cheeks with your hands. The Doctor lubricates your anus thoroughly and deftly slides the thermometer in your ass. You flinch slightly, not from pain, but pleasure. The Doctor slowly slides the thermometer up and down in your ass, you find the sensation very pleasant feeling. As she does, you feel your excitement growing.'
 
+						anal_slip += 8
 						gs 'arousal', 'anal', 10, 'sub', 'lesbian'
 						gs 'stat'
 						
@@ -256,6 +257,7 @@ if $ARGS[0] = 'ninel1':
 						'You obediently roll over and spread ass cheeks with your hands. The Doctor lubricates your anus thoroughly and deftly slides the thermometer in your ass. You flinch slightly, not from pain, but pleasure. The Doctor slowly slides the thermometer up and down in your ass, you find the sensation very pleasant feeling. As she does, you feel your excitement growing and pussy getting wet.'
 						'Yet again for a moment you thought you felt power emanating from her fingers.'
 
+						anal_slip += 8
 						gs 'arousal', 'anal', 10, 'sub', 'lesbian'
 						gs 'stat'
 						

+ 1 - 1
locations/kruchess.qsrc

@@ -53,7 +53,7 @@ else
 			npc_rel['A151'] += 5
 			gs 'stat'
 
-			'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big35.jpg"></center>'
+			'<center><img <<$set_imgh>> src="images/pc/npc_headshots/big151.jpg"></center>'
 			*nl
 			'You sit down next to Evgeny to talk. At first you try to catch his interest with ordinary things; he barely even responds to you, preoccupied playing against himself. Then you bring up a recent opening you have been trying and he perks up. Soon the two of you are talking about various openings and he shares with you some of his favorite ones and how he moves them to the mid game. You learn a bit about chess and feel like you are better friends with Evgeny.'
 

+ 33 - 16
locations/preCUST.qsrc

@@ -371,7 +371,7 @@ if $ARGS[0] = 'Done':
 
 !! Adding underwear and default shoes and assigning them
 
-	if $ARGS[1] ! 'CSB':
+	if $ARGS[1] ! 'CSB' and goth_clothing ! 1:
 		cheap_panties[37] = 1
 		cheap_bras[11] = 1
 		$pantyworntype = 'cheap'
@@ -400,9 +400,14 @@ if $ARGS[0] = 'Done':
 		sportsclothingnumber = 29
 		gs 'clothing', 'wear', 'cheap', 370
 	elseif goth_clothing = 1:
-		killvar 'goth_clothing'
-		exercise[4] = 1
-		exerciseH[4] = 100
+		kats_panties[44] = 1
+		kats_bras[28] = 1
+		$pantyworntype = 'kats'
+		pantywornnumber = 44
+		$braworntype = 'kats'
+		brawornnumber = 28
+		exercise[45] = 1
+		exerciseH[45] = 100
 		strainers[21] = 1
 		sgandm[43] = 1
 		shoewornnumber = 43
@@ -561,9 +566,6 @@ if $ARGS[0] = 'Done':
 		sportsclothingnumber = 58
 		gs 'clothing', 'wear', 'cheap', 118
 	end
-	coat[5] = 1
-	coatH[5] = 200
-	defaultcoat = 5
 	if swim_start = 58:
 		swimwear[58] = 1
 		swimwearH[58] = 60
@@ -578,18 +580,33 @@ if $ARGS[0] = 'Done':
 		swimwearB[69] = pcs_hips
 	end
 	
-!!setting default exercise outfit
-	if $ARGS[1] ! 'CSB':
-		sportspantynumber = 37
-		sportsbranumber = 11
+!!setting default exercise outfit and setting coats
+	if goth_clothing = 1:
+		killvar 'goth_clothing'
+		sportspantynumber = 44
+		sportsbranumber = 28
+		$sportsbratype = 'kats'
+		$sportspantytype = 'kats'
+		coat[14] = 1
+		coatH[14] = 200
+		defaultcoat = 14
+		sportscoat = 14
 	else
-		sportspantynumber = 5
-		sportsbranumber = 12
+		if $ARGS[1] ! 'CSB':
+			sportspantynumber = 37
+			sportsbranumber = 11
+		else
+			sportspantynumber = 5
+			sportsbranumber = 12
+		end
+		$sportsbratype = 'cheap'
+		$sportspantytype = 'cheap'
+		coat[5] = 1
+		coatH[5] = 200
+		defaultcoat = 5
+		sportscoat = 5	
 	end
-	$sportsbratype = 'cheap'
-	$sportspantytype = 'cheap'
 	sportsshoenumber = 21
-	sportscoat = 5	
 	$sportspursetype = $currentpursetype
 	sportspursenumber = currentpursenumber
 	$sports_clothing_name = 'default sports outfit'

+ 4 - 4
locations/preSYS.qsrc

@@ -617,7 +617,7 @@ if $ARGS[0] = 'nerdqueen':
 		pcs_heels = 10
 		pirsC = 2
 		PirsC2_owned = 1
-		$currentpursetype = 'cheap'
+		$currentpursetype = 'fashionista'
 		currentpursenumber = 13
 		fashionista_purses[13] = 1
 		bag = 1
@@ -737,7 +737,7 @@ if $ARGS[0] = 'jock':
 	swim_start = 69
 	pirsC = 1
 	PirsC1_owned = 1
-	$currentpursetype = 'cheap'
+	$currentpursetype = 'fashionista'
 	currentpursenumber = 11
 	fashionista_purses[11] = 1
 	bag = 1
@@ -865,7 +865,7 @@ if $ARGS[0] = 'football':
 		npc_rel['A34'] += 10
 		grupvalue[2] = 65
 		willpowermax = 140
-		$currentpursetype = 'cheap'
+		$currentpursetype = 'fashionista'
 		currentpursenumber = 11
 		fashionista_purses[11] = 1
 		bag = 1
@@ -953,7 +953,7 @@ if $ARGS[0] = 'beautiful':
 			pcs_lip = 3
 			pcs_lashes = 2
 		end
-		pcs_skin = 25
+		pcs_skin = 100
 		pcs_tan = 50
 		genbsize = 37
 		pcs_inhib = 25

+ 1 - 1
locations/preSYS2.qsrc

@@ -171,7 +171,7 @@ end
 if $ARGS[0] = 'modrel_setup4':
 	dynamic 'if <<$ARGS[1]>> < 0: <<$ARGS[1]>> = 0'
 	dynamic 'if <<$ARGS[1]>> > 100: <<$ARGS[1]>> = 100'
-	dynamic 'x = <<100-$ARGS[1]>>'
+	dynamic 'x = 100-<<$ARGS[1]>>'
 	'<TR bgcolor=#ffffff><TD><<$ARGS[2]>> (<<x>>/100)</TD><TD><a href="exec:<<$ARGS[1]>> = 100 & gt ''preSYS2'', $metka">zero</a></TD><TD bgcolor=#ff9999><a href="exec:<<$ARGS[1]>> += 10 & gt ''preSYS2'', $metka">minus 10</a></TD><TD bgcolor=#ff9999><a href="exec:<<$ARGS[1]>>  += 5 & gt ''preSYS2'', $metka">minus 5</a></TD><TD bgcolor=#99ff99><a href="exec:<<$ARGS[1]>>  -= 5 & gt ''preSYS2'', $metka">plus 5</a></TD><TD bgcolor=#99ff99><a href="exec:<<$ARGS[1]>>  -= 10 & gt ''preSYS2'', $metka">plus 10</a></TD><TD><a href="exec:<<$ARGS[1]>>  = 0 & gt ''preSYS2'', $metka">100</a></TD>'
 end
 

+ 120 - 0
locations/shortgs.qsrc

@@ -640,5 +640,125 @@ if $ARGS[0]='img msg':
 	killvar '$shortgstemp'
 end
 
+if $ARGS[0] = 'round_divide':
+	!! ARGS[1] = value you want divided
+	!! ARGS[2] = divider
+	!!  func('shortgs','round_divide', number, divider)
+	!!  func('shortgs','round_divide', 12345, 7)
+	if ARGS[2] ! 0:
+		temp_number = ARGS[1]/ARGS[2]
+		if (ARGS[2] mod 2 ! 0 and ARGS[1] mod ARGS[2] > ARGS[2]/2) or (ARGS[2] mod 2 = 0 and ARGS[1] mod ARGS[2] >= ARGS[2]/2): temp_number += 1
+		result = temp_number
+		killvar 'temp_number'
+	else
+		msg '<b>Error: No dividing by 0! You trying to make the universe disappear?</b>'
+	end
+end
+
+if $ARGS[0] = 'round_tool':
+	!! ARGS[1] = value you want rounded
+	!! ARGS[2] = nearest multiple to round to
+	!!  func('shortgs','round_tool', number, multiple)
+	!!  func('shortgs','round_tool', 12345, 10)
+	if ARGS[2] ! 0:
+		temp_multiple = ARGS[2]
+		result = func('shortgs','round_divide', ARGS[1], ARGS[2]) * temp_multiple
+		killvar 'temp_multiple'
+	else
+		msg '<b>Error: Can''t round to 0!</b>'
+	end
+end
+
+!! Randomly picks one of the items plugged in
+!!
+!!  Option 1: (has 6 input limit)
+!!  $ARGS[1] =		'string' or 'number' to specify what youre plugging in (can also be blank for numbers)
+!!  $ARGS[2-7] =	 strings or numbers to pick from, limited to 6
+!!  Example 1: func('shortgs', 'rand_pick', 'string', 'alpha', 'beta', 'gamma', 'delta', 'epsilon', 'zeta')
+!!  Example 2: func('shortgs', 'rand_pick', '', 2, 3, 5, 7, 11, 13)
+!!
+!!  Option 2: (no limitations, has to be delimited)
+!! 	$ARGS[1] =		'delimit'  -  used for larger numbers of items to pick from
+!!  $ARGS[2] =		'string' or 'number' to specify what youre plugging in (can also be blank for numbers)
+!!  $ARGS[3] =		 Delimited string to parse
+!!  $ARGS[4] =		 Delimiter used (Default = '|' pipe)
+!!  Example 1: func('shortgs', 'rand_pick', 'delimit', 'string', 'alpha|beta|gamma|delta|epsilon|zeta')
+!!  Example 2: func('shortgs', 'rand_pick', 'delimit', 'number', '1-12-123-1234-12345-123456', '-')
+!!  Example 3: func('shortgs', 'rand_pick', 'delimit', '', '0.1.2.3.5.7.11', '.')
+if $ARGS[0] = 'rand_pick':
+	if $ARGS[1] = 'delimit':
+		if $ARGS[2] = 'string':
+			gs 'shortgs', 'parse_string', '$rand_pick_temp', $ARGS[3], $ARGS[4]
+			$result = $rand_pick_temp[rand(0, arrsize('$rand_pick_temp')-1)]
+			killvar '$rand_pick_temp'
+		else
+			gs 'shortgs', 'parse_string', 'rand_pick_temp', $ARGS[3], $ARGS[4]
+			result = rand_pick_temp[rand(0, arrsize('rand_pick_temp')-1)]
+			killvar 'rand_pick_temp'
+		end
+	else
+		if arrsize('ARGS') > 2:
+			if $ARGS[1] = 'string':
+				$result = $ARGS[rand(2, arrsize('$ARGS')-1)]
+			else
+				result = ARGS[rand(2, arrsize('ARGS')-1)]
+			end
+		else
+			msg '<b>Error: ''rand_pick'' is missing ARGS</b>'
+		end
+	end
+end
+
+!! Parse delimited string into an array
+!!	$ARGS[1] =		ArrayName (has to include $ for string values)
+!!	$ARGS[2] =		Delimited string to parse
+!!	$ARGS[3] =		Delimiter used (Default = '|' pipe)
+!!  Example 1: gs 'shortgs', 'parse_string', '$my_array', 'alpha|beta|gamma|delta|epsilon|zeta'
+!!  Example 2: gs 'shortgs', 'parse_string', 'my_array', '1-12-123-1234-12345-123456', '-'
+if $ARGS[0] = 'parse_string':
+	!! Some failsafes (blank array name, blank string or no delimiters in string)
+	if $ARGS[1] ! '':
+		if $ARGS[2] ! '' and instr($ARGS[2],iif($ARGS[3] = '', '|', $ARGS[3])) > 0:
+			!! Set delimiter with default if needed
+			if $ARGS[3] = '':
+				$ParserTmpDelim = '|'
+			else
+				$ParserTmpDelim = $ARGS[3]
+			end
+			!! Clear temp array if needed
+			killvar 'ParserTmpArr' & killvar '$ParserTmpArr'
+			$ParserTmpStr = $ARGS[2]
+			!! Loop through string until no more delimiters found
+			:StringParser01
+			ParserTmpIdx = instr($ParserTmpStr, $ParserTmpDelim)
+			if ParserTmpIdx > 0:
+				if mid($ARGS[1],1,1) = '$':
+					$ParserTmpArr[] = mid($ParserTmpStr, 1, ParserTmpIdx-1)
+					$ParserTmpStr = mid($ParserTmpStr, ParserTmpIdx+1)
+				else
+					ParserTmpArr[] = mid($ParserTmpStr, 1, ParserTmpIdx-1)
+					$ParserTmpStr = mid($ParserTmpStr, ParserTmpIdx+1)
+				end
+				jump 'StringParser01'
+			!! Get last part since no more delimiters were found and copy to the final array
+			elseif mid($ARGS[1],1,1) = '$':
+				$ParserTmpArr[] = $ParserTmpStr
+				copyarr $ARGS[1], '$ParserTmpArr'
+			else
+				ParserTmpArr[] = $ParserTmpStr
+				copyarr $ARGS[1], 'ParserTmpArr'
+			end
+			killvar '$ParserTmpDelim'
+			killvar '$ParserTmpStr'
+			killvar 'ParserTmpIdx'
+			killvar 'ParserTmpArr' & killvar '$ParserTmpArr'
+		else
+			msg '<b>Error: No delimited string found!</b>'
+		end
+	else
+		msg '<b>Error: No array name found!</b>'
+	end
+end
+
 --- shortgs ---------------------------------