浏览代码

Merge remote-tracking branch 'Anjuna/master'

Kevin_Smarts 4 月之前
父节点
当前提交
3d83ed1063

+ 17 - 15
locations/Cheatmenu_din.qsrc

@@ -1285,24 +1285,26 @@ $cheatmenu['stats'] = {
 	if workPTU > 1:*pl'<a href="exec:teachlevel += 10 & dynamic $cheatmenu[''stats'']">Reputation teacher+10: <<teachlevel>></a>'
 	if workPTU > 1:*pl'<a href="exec:teachlevel -= 10 & dynamic $cheatmenu[''stats'']">Reputation teacher-10: <<teachlevel>></a>'
 	*nl
-	if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0:
+	if $start_type['loc'] = 'sg' and SchoolAtestat = 0:
 		*pl'<b>School:</b>'
-		if class['school_math_grade'] < 100:*pl'Math grade: <<class[''school_math_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''math'', 10 & dynamic $cheatmenu[''stats'']">+10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''math'', -10 & dynamic $cheatmenu[''stats'']">-10</a>'
-		if class['school_rus_grade'] < 100:*pl'Russian grade: <<class[''school_rus_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''rus'', 10 & dynamic $cheatmenu[''stats'']">+10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''rus'', -10 & dynamic $cheatmenu[''stats'']">-10</a>'
-		if class['school_lit_grade'] < 100:*pl'Literature grade: <<class[''school_lit_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''lit'', 10 & dynamic $cheatmenu[''stats'']">+10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''lit'', -10 & dynamic $cheatmenu[''stats'']">-10</a>'
-		if class['school_art_grade'] < 100:*pl'Art grade: <<class[''school_art_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''art'', 10 & dynamic $cheatmenu[''stats'']">+10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''art'', -10 & dynamic $cheatmenu[''stats'']">-10</a>'
-		if class['school_bio_grade'] < 100:*pl'Biology grade: <<class[''school_bio_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''bio'', 10 & dynamic $cheatmenu[''stats'']">+10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''bio'', -10 & dynamic $cheatmenu[''stats'']">-10</a>'
-		if class['school_eng_grade'] < 100:*pl'English grade: <<class[''school_eng_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''eng'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''eng'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if class['school_geo_grade'] < 100:*pl'Geography grade: <<class[''school_geo_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''geo'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''geo'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if class['school_sci_grade'] < 100:*pl'Science grade: <<class[''school_sci_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''sci'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''sci'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if class['school_his_grade'] < 100:*pl'History grade: <<class[''school_his_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''his'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''his'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if class['school_shop_grade'] < 100:*pl'Shop grade: <<class[''school_shop_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''shop'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''shop'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if class['school_comp_grade'] < 100:*pl'Computer grade: <<class[''school_comp_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''comp'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''comp'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if class['school_mus_grade'] < 100:*pl'Music grade: <<class[''school_mus_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if class['school_pe_grade'] < 100:*pl'P.E. grade: <<class[''school_pe_grade'']>> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''pe'', 10 & dynamic $cheatmenu[''stats'']"> +10</a> <a href="exec:gs ''grades'', ''grade_award'',''school'', ''pe'', -10 & dynamic $cheatmenu[''stats'']"> -10</a>'
-		if schoolprogul >= 0:*pl'<a href="exec:schoolprogul = 0 & dynamic $cheatmenu[''stats'']">Zero Absenteeism (School): <<schoolprogul>></a>'
+		*pl 'Math grade: <<class[''school_math_grade'']>> '      + iif(class['school_math_grade'] < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''math'', 10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_math_grade'] > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''math'', -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Russian grade: <<class[''school_rus_grade'']>> '    + iif(class['school_rus_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''rus'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_rus_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''rus'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Literature grade: <<class[''school_lit_grade'']>> ' + iif(class['school_lit_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''lit'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_lit_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''lit'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Art grade: <<class[''school_art_grade'']>> '        + iif(class['school_art_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''art'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_art_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''art'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Biology grade: <<class[''school_bio_grade'']>> '    + iif(class['school_bio_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''bio'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_bio_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''bio'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'English grade: <<class[''school_eng_grade'']>> '    + iif(class['school_eng_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''eng'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_eng_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''eng'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Geography grade: <<class[''school_geo_grade'']>> '  + iif(class['school_geo_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''geo'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_geo_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''geo'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Science grade: <<class[''school_sci_grade'']>> '    + iif(class['school_sci_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''sci'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_sci_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''sci'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'History grade: <<class[''school_his_grade'']>> '    + iif(class['school_his_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''his'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_his_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''his'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Shop grade: <<class[''school_shop_grade'']>> '      + iif(class['school_shop_grade'] < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''shop'', 10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_shop_grade'] > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''shop'', -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'Computer grade: <<class[''school_comp_grade'']>> '  + iif(class['school_comp_grade'] < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''comp'', 10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_comp_grade'] > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''comp'', -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'History grade: <<class[''school_mus_grade'']>> '    + iif(class['school_mus_grade']  < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'',  10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_mus_grade']  > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''mus'',  -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+		*pl 'P.E. grade: <<class[''school_pe_grade'']>> '        + iif(class['school_pe_grade']   < 100, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''pe'',   10 & dynamic $cheatmenu[''stats'']">+10</a>', '') + iif(class['school_pe_grade']   > 0, ' <a href="exec:gs ''grades'', ''grade_award'',''school'', ''pe'',   -10 & dynamic $cheatmenu[''stats'']">-10</a>', '')
+
+		if schoolprogul >= 0: *pl '<a href="exec: schoolprogul = 0 & dynamic $cheatmenu[''stats'']">Zero Absenteeism (School): <<schoolprogul>></a>'
 		*nl
 	end
+
 	*pl'<b>Skills</b> (values 0 - 100, and adjusted total by attributes):'
 	*pl '<a href="exec:dynamic $cheatmenu[''setSkills''], 100" >Max Skills</a>    <a href="exec:dynamic $cheatmenu[''setSkills''], 0" >Min Skills</a>'
 	*nl

+ 1 - 1
locations/hookup_after.qsrc

@@ -11,7 +11,7 @@ if $ARGS[0] = 'exit':
 			
 	if hookup['fuckbuddy'] > 0:
 		know_virgin[$boy] = hookup['virgin']
-		gs 'lover', 'add fuckbuddy',$boy
+		gs 'lover', 'add_fuckbuddy',$boy
 		npc_fuckbuddy[$boy] = 1
 		npc_no_booty_call[$boy] = daystart
 	end

+ 108 - 109
locations/intro_city_select.qsrc

@@ -346,19 +346,19 @@ if $ARGS[0] = 'nerd':
 	pcs_traits['nerd_lernHome']	= 5
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'grades', 'grade_award', 'school', 'math', 85
-	gs 'grades', 'grade_award', 'school', 'rus',  85
-	gs 'grades', 'grade_award', 'school', 'lit',  85
-	gs 'grades', 'grade_award', 'school', 'art',  85
-	gs 'grades', 'grade_award', 'school', 'bio',  85
-	gs 'grades', 'grade_award', 'school', 'eng',  85
-	gs 'grades', 'grade_award', 'school', 'geo',  85
-	gs 'grades', 'grade_award', 'school', 'sci',  85
-	gs 'grades', 'grade_award', 'school', 'his',  85
-	gs 'grades', 'grade_award', 'school', 'shop', 55
-	gs 'grades', 'grade_award', 'school', 'comp', 85
-	gs 'grades', 'grade_award', 'school', 'mus',  85
-	gs 'grades', 'grade_award', 'school', 'pe',   55
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
+
+	gs 'grades', 'grade_award', 'school', 'math', 30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'rus',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'lit',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'art',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'bio',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'eng',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'geo',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'sci',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'his',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'comp', 30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'mus',  25	& ! 80
 end
 if $ARGS[0] = 'nerdqueen':
 	'<center><h4><font color="maroon">Queen of the nerds</font></h4></center>'
@@ -414,16 +414,16 @@ if $ARGS[0] = 'nerdqueen':
 		npc_rel['A18'] = 1
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  80
-		gs 'grades', 'grade_award', 'school', 'art',  75
-		gs 'grades', 'grade_award', 'school', 'bio',  80
-		gs 'grades', 'grade_award', 'school', 'geo',  80
-		gs 'grades', 'grade_award', 'school', 'sci',  80
-		gs 'grades', 'grade_award', 'school', 'his',  80
-		gs 'grades', 'grade_award', 'school', 'comp', 80
-		gs 'grades', 'grade_award', 'school', 'mus',  75
-		gs 'grades', 'grade_award', 'school', 'pe',   60
+		gs 'grades', 'grade_award', 'school', 'rus',  5		& ! 90
+		gs 'grades', 'grade_award', 'school', 'lit',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'art',  -10	& ! 75
+		gs 'grades', 'grade_award', 'school', 'bio',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'geo',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'sci',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'his',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'comp', -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'mus',  -10	& ! 75
+		gs 'grades', 'grade_award', 'school', 'pe',   5		& ! 60
 
 		gt $loc, $loc_arg
 	end
@@ -473,17 +473,17 @@ elseif $ARGS[0] = 'goodstudent':
 		pcs_traits['nerd_status'] = 3
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 90
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  90
-		gs 'grades', 'grade_award', 'school', 'art',  90
-		gs 'grades', 'grade_award', 'school', 'bio',  90
-		gs 'grades', 'grade_award', 'school', 'eng',  90
-		gs 'grades', 'grade_award', 'school', 'geo',  90
-		gs 'grades', 'grade_award', 'school', 'sci',  90
-		gs 'grades', 'grade_award', 'school', 'his',  90
-		gs 'grades', 'grade_award', 'school', 'comp', 90
-		gs 'grades', 'grade_award', 'school', 'mus',  90
+		gs 'grades', 'grade_award', 'school', 'math', 5		& !90
+		gs 'grades', 'grade_award', 'school', 'rus',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'lit',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'art',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'bio',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'eng',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'geo',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'sci',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'his',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'comp', 5		& !90
+		gs 'grades', 'grade_award', 'school', 'mus',  10	& !90
 
 		gt $loc, $loc_arg
 	end
@@ -530,9 +530,9 @@ elseif $ARGS[0] = 'computergeek':
 		npc_rel['A153'] += 10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 90
-		gs 'grades', 'grade_award', 'school', 'comp', 95
-		gs 'grades', 'grade_award', 'school', 'pe',   65
+		gs 'grades', 'grade_award', 'school', 'math', 5		& !90
+		gs 'grades', 'grade_award', 'school', 'comp', 10	& !95
+		gs 'grades', 'grade_award', 'school', 'pe',   10	& !65
 
 		gt $loc, $loc_arg
 	end
@@ -572,10 +572,10 @@ elseif $ARGS[0] = 'chessplayer':
 		chessmonth	= month
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 90
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  90
-		gs 'grades', 'grade_award', 'school', 'mus',  80
+		gs 'grades', 'grade_award', 'school', 'math', 5		! 90
+		gs 'grades', 'grade_award', 'school', 'rus',  5		! 90
+		gs 'grades', 'grade_award', 'school', 'lit',  5		! 90
+		gs 'grades', 'grade_award', 'school', 'mus',  -5	! 80
 
 		gt $loc, $loc_arg
 	end
@@ -659,7 +659,9 @@ if $ARGS[0] = 'jock':
 	npc_rel['A129']	-= 10
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'intro_functions', 'set_base_sgrades'
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
+
+	gs 'grades', 'grade_award', 'school', 'pe', 40		& ! 95
 end
 if $ARGS[0] = 'volleyball':
 	'<center><h4><font color="maroon">Volleyball player</font></h4></center>'
@@ -746,8 +748,7 @@ elseif $ARGS[0] = 'dancer':
 		AlbinaQW['Friends'] = 2
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'mus',  80
-		gs 'grades', 'grade_award', 'school', 'pe',   95
+		gs 'grades', 'grade_award', 'school', 'mus', 25		& ! 80
 
 		gt $loc, $loc_arg
 	end
@@ -790,8 +791,7 @@ elseif $ARGS[0] = 'runner':
 		npc_rel['A131']	+= 10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'bio',  75
-		gs 'grades', 'grade_award', 'school', 'pe',   95
+		gs 'grades', 'grade_award', 'school', 'bio', 20		& !75
 
 		gt $loc, $loc_arg
 	end
@@ -839,9 +839,6 @@ elseif $ARGS[0] = 'football':
 		npc_rel['A131']	+= 10
 		npc_rel['A149']	+= 10
 
-		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'pe',   95
-
 		gt $loc, $loc_arg
 	end
 	act 'Return to starting options': gt 'intro_city_select', 'charselect'
@@ -906,7 +903,7 @@ if $ARGS[0] = 'cool':
 		npc_rel['A144']	+= 10
 	
 	!!----- SCHOOL GRADES -----!!
-	gs 'intro_functions', 'set_base_sgrades'
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
 end
 if $ARGS[0] = 'socialite':
 	'<center><h4><font color="maroon">Sociable</font></h4></center>'
@@ -951,18 +948,18 @@ if $ARGS[0] = 'socialite':
 		npc_rel['A140']	+= 10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 65
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  65
-		gs 'grades', 'grade_award', 'school', 'art',  65
-		gs 'grades', 'grade_award', 'school', 'bio',  65
-		gs 'grades', 'grade_award', 'school', 'eng',  80
-		gs 'grades', 'grade_award', 'school', 'geo',  65
-		gs 'grades', 'grade_award', 'school', 'sci',  65
-		gs 'grades', 'grade_award', 'school', 'his',  65
-		gs 'grades', 'grade_award', 'school', 'comp', 65
-		gs 'grades', 'grade_award', 'school', 'mus',  65
-		gs 'grades', 'grade_award', 'school', 'pe',   65
+		gs 'grades', 'grade_award', 'school', 'math', 10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'rus',  35	& ! 90
+		gs 'grades', 'grade_award', 'school', 'lit',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'art',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'bio',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'eng',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'geo',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'sci',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'his',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'comp', 10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'mus',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'pe',   10	& ! 65
 
 		gt $loc, $loc_arg
 	end
@@ -1015,18 +1012,18 @@ elseif $ARGS[0] = 'beautiful':
 		gs 'fame', 'pav', 'sex', 20
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 60
-		gs 'grades', 'grade_award', 'school', 'rus',  60
-		gs 'grades', 'grade_award', 'school', 'lit',  60
-		gs 'grades', 'grade_award', 'school', 'art',  60
-		gs 'grades', 'grade_award', 'school', 'bio',  60
-		gs 'grades', 'grade_award', 'school', 'eng',  60
-		gs 'grades', 'grade_award', 'school', 'geo',  60
-		gs 'grades', 'grade_award', 'school', 'sci',  60
-		gs 'grades', 'grade_award', 'school', 'his',  60
-		gs 'grades', 'grade_award', 'school', 'comp', 60
-		gs 'grades', 'grade_award', 'school', 'mus',  60
-		gs 'grades', 'grade_award', 'school', 'pe',   60
+		gs 'grades', 'grade_award', 'school', 'math', 5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'rus',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'lit',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'art',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'bio',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'eng',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'geo',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'sci',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'his',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'comp', 5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'mus',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'pe',   5		& ! 60
 
 		gt $loc, $loc_arg
 	end
@@ -1087,8 +1084,7 @@ elseif $ARGS[0] = 'anorexic':
 		!!----- RELATIONSHIPS -----!!
 		npc_rel['A15'] += 30
 		npc_rel['A148'] += 30
-
-		
+	
 		gt $loc, $loc_arg
 	end
 	act 'Return to starting options': gt 'intro_sg_select', 'charselect'
@@ -1169,19 +1165,21 @@ if $ARGS[0] = 'gopnik':
 	Gspassed = 0
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'grades', 'grade_award', 'school', 'math', 25
-	gs 'grades', 'grade_award', 'school', 'rus',  25
-	gs 'grades', 'grade_award', 'school', 'lit',  25
-	gs 'grades', 'grade_award', 'school', 'art',  25
-	gs 'grades', 'grade_award', 'school', 'bio',  25
-	gs 'grades', 'grade_award', 'school', 'eng',  25
-	gs 'grades', 'grade_award', 'school', 'geo',  25
-	gs 'grades', 'grade_award', 'school', 'sci',  25
-	gs 'grades', 'grade_award', 'school', 'his',  25
-	gs 'grades', 'grade_award', 'school', 'shop', 80
-	gs 'grades', 'grade_award', 'school', 'comp', 25
-	gs 'grades', 'grade_award', 'school', 'mus',  25
-	gs 'grades', 'grade_award', 'school', 'pe',   80
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
+
+	gs 'grades', 'grade_award', 'school', 'math', -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'rus',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'lit',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'art',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'bio',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'eng',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'geo',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'sci',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'his',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'shop', 25	& ! 80
+	gs 'grades', 'grade_award', 'school', 'comp', -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'mus',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'pe',   25	& ! 80
 end
 if $ARGS[0] = 'gopnikstart':
 	'<center><h4><font color="maroon">Gopnik</font></h4></center>'
@@ -1371,7 +1369,8 @@ elseif $ARGS[0] = 'alternative':
 		stat['cuni_give']	+= 3
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'shop', 55
+		gs 'grades', 'grade_award', 'school', 'shop', -25	& ! 55
+		gs 'grades', 'grade_award', 'school', 'mus',  30	& ! 55
 
 		gt $loc, $loc_arg
 	end
@@ -1416,7 +1415,7 @@ if $ARGS[0] = 'outcast':
 	npc_rel['A133'] += 20
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'intro_functions', 'set_base_sgrades'
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
 end
 if $ARGS[0] = 'friendless':
 	'<center><h4><font color="maroon">Friendless</font></h4></center>'
@@ -1446,8 +1445,8 @@ if $ARGS[0] = 'friendless':
 		npc_rel['A11'] -= 20
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'rus',  25
-		gs 'grades', 'grade_award', 'school', 'eng',  25
+		gs 'grades', 'grade_award', 'school', 'rus',  -30	& ! 25
+		gs 'grades', 'grade_award', 'school', 'eng',  -30	& ! 25
 
 		gt $loc, $loc_arg
 	end
@@ -1492,8 +1491,8 @@ elseif $ARGS[0] = 'uglyduckling':
 		gs 'npc_relationship', 'socialgroup_setting_boys', -10, -10, 0, -10, 0, 0
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'rus',  25
-		gs 'grades', 'grade_award', 'school', 'pe',   25
+		gs 'grades', 'grade_award', 'school', 'rus', -30	& ! 25
+		gs 'grades', 'grade_award', 'school', 'pe',  -30	& ! 25
 
 		gt $loc, $loc_arg
 	end
@@ -1548,16 +1547,16 @@ elseif $ARGS[0] = 'goodgirl':
 		church_moral = 40
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 80
-		gs 'grades', 'grade_award', 'school', 'rus',  80
-		gs 'grades', 'grade_award', 'school', 'lit',  80
-		gs 'grades', 'grade_award', 'school', 'art',  80
-		gs 'grades', 'grade_award', 'school', 'bio',  80
-		gs 'grades', 'grade_award', 'school', 'eng',  80
-		gs 'grades', 'grade_award', 'school', 'geo',  80
-		gs 'grades', 'grade_award', 'school', 'sci',  80
-		gs 'grades', 'grade_award', 'school', 'his',  80
-		gs 'grades', 'grade_award', 'school', 'comp', 80
+		gs 'grades', 'grade_award', 'school', 'math', 25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'rus',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'lit',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'art',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'bio',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'eng',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'geo',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'sci',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'his',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'comp', 25	& ! 80
 
 		gt $loc, $loc_arg
 	end
@@ -1721,10 +1720,10 @@ elseif $ARGS[0] = 'goth':
 		pcs_traits['nerd_points'] = -10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'lit',  80
-		gs 'grades', 'grade_award', 'school', 'art',  80
-		gs 'grades', 'grade_award', 'school', 'mus',  80
-		gs 'grades', 'grade_award', 'school', 'pe',   70
+		gs 'grades', 'grade_award', 'school', 'lit', 25		& ! 80
+		gs 'grades', 'grade_award', 'school', 'art', 25		& ! 80
+		gs 'grades', 'grade_award', 'school', 'mus', 25		& ! 80
+		gs 'grades', 'grade_award', 'school', 'pe',  15		& ! 70
 
 		gt $loc, $loc_arg
 	end

+ 8 - 0
locations/intro_functions.qsrc

@@ -229,5 +229,13 @@ if $ARGS[0] = 'set_base_sgrades':
 	gs 'grades', 'grade_award', 'school', 'pe',   55
 end
 
+if $ARGS[0] = 'reset_sgclasses':
+	killvar 'class_list_institution'
+	killvar 'class_list_name'
+	killvar 'class'
+	gs 'intro_functions', 'create_sgclasses'
+	gs 'intro_functions', 'set_base_sgrades'
+end
+
 
 --- intro_functions ---------------------------------

+ 120 - 117
locations/intro_sg_select.qsrc

@@ -422,19 +422,19 @@ if $ARGS[0] = 'nerd':
 	pcs_traits['nerd_lernHome'] = 5
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'grades', 'grade_award', 'school', 'math', 85
-	gs 'grades', 'grade_award', 'school', 'rus',  85
-	gs 'grades', 'grade_award', 'school', 'lit',  85
-	gs 'grades', 'grade_award', 'school', 'art',  85
-	gs 'grades', 'grade_award', 'school', 'bio',  85
-	gs 'grades', 'grade_award', 'school', 'eng',  85
-	gs 'grades', 'grade_award', 'school', 'geo',  85
-	gs 'grades', 'grade_award', 'school', 'sci',  85
-	gs 'grades', 'grade_award', 'school', 'his',  85
-	gs 'grades', 'grade_award', 'school', 'shop', 55
-	gs 'grades', 'grade_award', 'school', 'comp', 85
-	gs 'grades', 'grade_award', 'school', 'mus',  80
-	gs 'grades', 'grade_award', 'school', 'pe',   55
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
+
+	gs 'grades', 'grade_award', 'school', 'math', 30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'rus',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'lit',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'art',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'bio',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'eng',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'geo',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'sci',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'his',  30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'comp', 30	& ! 85
+	gs 'grades', 'grade_award', 'school', 'mus',  25	& ! 80
 end
 if $ARGS[0] = 'nerdqueen':
 	'<center><h4><font color="maroon">Queen of the nerds</font></h4></center>'
@@ -493,16 +493,16 @@ if $ARGS[0] = 'nerdqueen':
 		npc_rel['A18'] = 1
 
 		!!----- School Grades -----!!
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  80
-		gs 'grades', 'grade_award', 'school', 'art',  75
-		gs 'grades', 'grade_award', 'school', 'bio',  80
-		gs 'grades', 'grade_award', 'school', 'geo',  80
-		gs 'grades', 'grade_award', 'school', 'sci',  80
-		gs 'grades', 'grade_award', 'school', 'his',  80
-		gs 'grades', 'grade_award', 'school', 'comp', 80
-		gs 'grades', 'grade_award', 'school', 'mus',  75
-		gs 'grades', 'grade_award', 'school', 'pe',   60
+		gs 'grades', 'grade_award', 'school', 'rus',  5		& ! 90
+		gs 'grades', 'grade_award', 'school', 'lit',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'art',  -10	& ! 75
+		gs 'grades', 'grade_award', 'school', 'bio',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'geo',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'sci',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'his',  -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'comp', -5	& ! 80
+		gs 'grades', 'grade_award', 'school', 'mus',  -10	& ! 75
+		gs 'grades', 'grade_award', 'school', 'pe',   5		& ! 60
 
 		gt $loc, $loc_arg
 	end
@@ -554,17 +554,17 @@ elseif $ARGS[0] = 'goodstudent':
 		npc_rel['A29'] += 20
 
 		!!----- School Grades -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 90
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  90
-		gs 'grades', 'grade_award', 'school', 'art',  90
-		gs 'grades', 'grade_award', 'school', 'bio',  90
-		gs 'grades', 'grade_award', 'school', 'eng',  90
-		gs 'grades', 'grade_award', 'school', 'geo',  90
-		gs 'grades', 'grade_award', 'school', 'sci',  90
-		gs 'grades', 'grade_award', 'school', 'his',  90
-		gs 'grades', 'grade_award', 'school', 'comp', 90
-		gs 'grades', 'grade_award', 'school', 'mus',  90
+		gs 'grades', 'grade_award', 'school', 'math', 5		& !90
+		gs 'grades', 'grade_award', 'school', 'rus',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'lit',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'art',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'bio',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'eng',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'geo',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'sci',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'his',  5		& !90
+		gs 'grades', 'grade_award', 'school', 'comp', 5		& !90
+		gs 'grades', 'grade_award', 'school', 'mus',  10	& !90
 
 		gt $loc, $loc_arg
 	end
@@ -612,9 +612,9 @@ elseif $ARGS[0] = 'computergeek':
 		npc_rel['A153'] += 10
 
 		!!----- School Grades -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 90
-		gs 'grades', 'grade_award', 'school', 'comp', 95
-		gs 'grades', 'grade_award', 'school', 'pe',   65
+		gs 'grades', 'grade_award', 'school', 'math', 5		& !90
+		gs 'grades', 'grade_award', 'school', 'comp', 10	& !95
+		gs 'grades', 'grade_award', 'school', 'pe',   10	& !65
 
 		gt $loc, $loc_arg
 	end
@@ -652,10 +652,10 @@ elseif $ARGS[0] = 'chessplayer':
 		chessmonth = month
 
 		!!----- School Grades -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 90
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  90
-		gs 'grades', 'grade_award', 'school', 'mus',  80
+		gs 'grades', 'grade_award', 'school', 'math', 5		! 90
+		gs 'grades', 'grade_award', 'school', 'rus',  5		! 90
+		gs 'grades', 'grade_award', 'school', 'lit',  5		! 90
+		gs 'grades', 'grade_award', 'school', 'mus',  -5	! 80
 
 		gt $loc, $loc_arg
 	end
@@ -747,8 +747,9 @@ if $ARGS[0] = 'jock':
 	npc_rel['A129']	-= 10
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'intro_functions', 'set_base_sgrades'
-	gs 'grades', 'grade_award', 'school', 'pe', 95
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
+
+	gs 'grades', 'grade_award', 'school', 'pe', 40		& ! 95
 end
 if $ARGS[0] = 'volleyball':
 	'<center><h4><font color="maroon">Volleyball player</font></h4></center>'
@@ -838,7 +839,7 @@ elseif $ARGS[0] = 'dancer':
 		npc_rel['A144']	+= 10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'mus', 80
+		gs 'grades', 'grade_award', 'school', 'mus', 25		& ! 80
 
 		gt $loc, $loc_arg
 	end
@@ -885,7 +886,7 @@ elseif $ARGS[0] = 'runner':
 		npc_rel['A131']	+= 10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'bio', 75
+		gs 'grades', 'grade_award', 'school', 'bio', 20		& !75
 
 		gt $loc, $loc_arg
 	end
@@ -996,7 +997,7 @@ if $ARGS[0] = 'cool':
 	npc_rel['A129']	-= 20
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'intro_functions', 'set_base_sgrades'
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
 end
 if $ARGS[0] = 'socialite':
 	'<center><h4><font color="maroon">Sociable</font></h4></center>'
@@ -1041,18 +1042,18 @@ if $ARGS[0] = 'socialite':
 		npc_rel['A140'] += 10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 65
-		gs 'grades', 'grade_award', 'school', 'rus',  90
-		gs 'grades', 'grade_award', 'school', 'lit',  65
-		gs 'grades', 'grade_award', 'school', 'art',  65
-		gs 'grades', 'grade_award', 'school', 'bio',  65
-		gs 'grades', 'grade_award', 'school', 'eng',  80
-		gs 'grades', 'grade_award', 'school', 'geo',  65
-		gs 'grades', 'grade_award', 'school', 'sci',  65
-		gs 'grades', 'grade_award', 'school', 'his',  65
-		gs 'grades', 'grade_award', 'school', 'comp', 65
-		gs 'grades', 'grade_award', 'school', 'mus',  65
-		gs 'grades', 'grade_award', 'school', 'pe',   65
+		gs 'grades', 'grade_award', 'school', 'math', 10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'rus',  35	& ! 90
+		gs 'grades', 'grade_award', 'school', 'lit',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'art',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'bio',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'eng',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'geo',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'sci',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'his',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'comp', 10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'mus',  10	& ! 65
+		gs 'grades', 'grade_award', 'school', 'pe',   10	& ! 65
 
 		gt $loc, $loc_arg
 	end
@@ -1111,18 +1112,18 @@ elseif $ARGS[0] = 'beautiful':
 		gs 'fame', 'pav', 'sex', 20
 
 		!!----- SCHOOL GRADES ------!!
-		gs 'grades', 'grade_award', 'school', 'math', 60
-		gs 'grades', 'grade_award', 'school', 'rus',  60
-		gs 'grades', 'grade_award', 'school', 'lit',  60
-		gs 'grades', 'grade_award', 'school', 'art',  60
-		gs 'grades', 'grade_award', 'school', 'bio',  60
-		gs 'grades', 'grade_award', 'school', 'eng',  60
-		gs 'grades', 'grade_award', 'school', 'geo',  60
-		gs 'grades', 'grade_award', 'school', 'sci',  60
-		gs 'grades', 'grade_award', 'school', 'his',  60
-		gs 'grades', 'grade_award', 'school', 'comp', 60
-		gs 'grades', 'grade_award', 'school', 'mus',  60
-		gs 'grades', 'grade_award', 'school', 'pe',   60
+		gs 'grades', 'grade_award', 'school', 'math', 5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'rus',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'lit',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'art',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'bio',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'eng',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'geo',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'sci',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'his',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'comp', 5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'mus',  5		& ! 60
+		gs 'grades', 'grade_award', 'school', 'pe',   5		& ! 60
 
 		gt $loc, $loc_arg
 	end
@@ -1272,19 +1273,21 @@ if $ARGS[0] = 'gopnik':
 	Gspassed = 0
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'grades', 'grade_award', 'school', 'math', 25
-	gs 'grades', 'grade_award', 'school', 'rus',  25
-	gs 'grades', 'grade_award', 'school', 'lit',  25
-	gs 'grades', 'grade_award', 'school', 'art',  25
-	gs 'grades', 'grade_award', 'school', 'bio',  25
-	gs 'grades', 'grade_award', 'school', 'eng',  25
-	gs 'grades', 'grade_award', 'school', 'geo',  25
-	gs 'grades', 'grade_award', 'school', 'sci',  25
-	gs 'grades', 'grade_award', 'school', 'his',  25
-	gs 'grades', 'grade_award', 'school', 'shop', 80
-	gs 'grades', 'grade_award', 'school', 'comp', 25
-	gs 'grades', 'grade_award', 'school', 'mus',  25
-	gs 'grades', 'grade_award', 'school', 'pe',   80
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
+
+	gs 'grades', 'grade_award', 'school', 'math', -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'rus',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'lit',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'art',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'bio',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'eng',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'geo',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'sci',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'his',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'shop', 25	& ! 80
+	gs 'grades', 'grade_award', 'school', 'comp', -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'mus',  -30	& ! 25
+	gs 'grades', 'grade_award', 'school', 'pe',   25	& ! 80
 end
 if $ARGS[0] = 'gopnikstart':
 	'<center><h4><font color="maroon">Gopnik</font></h4></center>'
@@ -1469,19 +1472,19 @@ elseif $ARGS[0] = 'vitekgf':
 		stat['vaginal'] = 2
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 55
-		gs 'grades', 'grade_award', 'school', 'rus',  55
-		gs 'grades', 'grade_award', 'school', 'lit',  55
-		gs 'grades', 'grade_award', 'school', 'art',  55
-		gs 'grades', 'grade_award', 'school', 'bio',  55
-		gs 'grades', 'grade_award', 'school', 'eng',  55
-		gs 'grades', 'grade_award', 'school', 'geo',  55
-		gs 'grades', 'grade_award', 'school', 'sci',  55
-		gs 'grades', 'grade_award', 'school', 'his',  55
-		gs 'grades', 'grade_award', 'school', 'shop', 55
-		gs 'grades', 'grade_award', 'school', 'comp', 55
-		gs 'grades', 'grade_award', 'school', 'mus',  55
-		gs 'grades', 'grade_award', 'school', 'pe',   55
+		gs 'grades', 'grade_award', 'school', 'math', 30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'rus',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'lit',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'art',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'bio',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'eng',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'geo',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'sci',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'his',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'shop', -25	& ! 55
+		gs 'grades', 'grade_award', 'school', 'comp', 30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'mus',  30	& ! 55
+		gs 'grades', 'grade_award', 'school', 'pe',   -25	& ! 55
 
 		gt $loc, $loc_arg
 	end
@@ -1571,8 +1574,8 @@ elseif $ARGS[0] = 'alternative':
 		stat['cuni_give']	+= 3
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'shop', 55
-		gs 'grades', 'grade_award', 'school', 'mus',  55
+		gs 'grades', 'grade_award', 'school', 'shop', -25	& ! 55
+		gs 'grades', 'grade_award', 'school', 'mus',  30	& ! 55
 
 		gt $loc, $loc_arg
 	end
@@ -1620,7 +1623,7 @@ if $ARGS[0] = 'outcast':
 	npc_rel['A133']	+= 20
 
 	!!----- SCHOOL GRADES -----!!
-	gs 'intro_functions', 'set_base_sgrades'
+	gs 'intro_functions', 'reset_sgclasses'		& ! set everything to 55
 end
 if $ARGS[0] = 'friendless':
 	'<center><h4><font color="maroon">Friendless</font></h4></center>'
@@ -1656,8 +1659,8 @@ if $ARGS[0] = 'friendless':
 		npc_rel['A11'] -= 20
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'rus',  25
-		gs 'grades', 'grade_award', 'school', 'eng',  25
+		gs 'grades', 'grade_award', 'school', 'rus',  -30	& ! 25
+		gs 'grades', 'grade_award', 'school', 'eng',  -30	& ! 25
 
 		gt $loc, $loc_arg
 	end
@@ -1702,8 +1705,8 @@ elseif $ARGS[0] = 'uglyduckling':
 		uglyduck_flag = 1
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'rus', 25
-		gs 'grades', 'grade_award', 'school', 'pe',  25
+		gs 'grades', 'grade_award', 'school', 'rus', -30	& ! 25
+		gs 'grades', 'grade_award', 'school', 'pe',  -30	& ! 25
 
 		gt $loc, $loc_arg
 	end
@@ -1755,16 +1758,16 @@ elseif $ARGS[0] = 'goodgirl':
 		church_moral = 40
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'math', 80
-		gs 'grades', 'grade_award', 'school', 'rus',  80
-		gs 'grades', 'grade_award', 'school', 'lit',  80
-		gs 'grades', 'grade_award', 'school', 'art',  80
-		gs 'grades', 'grade_award', 'school', 'bio',  80
-		gs 'grades', 'grade_award', 'school', 'eng',  80
-		gs 'grades', 'grade_award', 'school', 'geo',  80
-		gs 'grades', 'grade_award', 'school', 'sci',  80
-		gs 'grades', 'grade_award', 'school', 'his',  80
-		gs 'grades', 'grade_award', 'school', 'comp', 80
+		gs 'grades', 'grade_award', 'school', 'math', 25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'rus',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'lit',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'art',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'bio',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'eng',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'geo',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'sci',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'his',  25	& ! 80
+		gs 'grades', 'grade_award', 'school', 'comp', 25	& ! 80
 
 		gt $loc, $loc_arg
 	end
@@ -1946,10 +1949,10 @@ elseif $ARGS[0] = 'goth':
 		pcs_traits['nerd_points'] = -10
 
 		!!----- SCHOOL GRADES -----!!
-		gs 'grades', 'grade_award', 'school', 'lit', 80
-		gs 'grades', 'grade_award', 'school', 'art', 80
-		gs 'grades', 'grade_award', 'school', 'mus', 80
-		gs 'grades', 'grade_award', 'school', 'pe',  70
+		gs 'grades', 'grade_award', 'school', 'lit', 25		& ! 80
+		gs 'grades', 'grade_award', 'school', 'art', 25		& ! 80
+		gs 'grades', 'grade_award', 'school', 'mus', 25		& ! 80
+		gs 'grades', 'grade_award', 'school', 'pe',  15		& ! 70
 
 		gt $loc, $loc_arg
 	end

+ 27 - 3
locations/lover.qsrc

@@ -147,7 +147,7 @@ if $ARGS[0] = 'remove':
 	
 end
 
-if $ARGS[0] = 'add fuckbuddy':
+if $ARGS[0] = 'add_fuckbuddy':
 	if mid($ARGS[1],1,1) = 'C' :
 		gs 'npcpreservec', $ARGS[1]
 		gs 'boyStat', $npclastsaved
@@ -177,7 +177,7 @@ if $ARGS[0] = 'add_sugar_daddy':
 	end
 end
 
-if $ARGS[0] = 'remove fuckbuddy':
+if $ARGS[0] = 'remove_fuckbuddy':
 	gs 'telefon', 'DeleteContact', $ARGS[1]
 	$ex_fuckbuddy[] = $ARGS[1]
 	$npc_rel_type[$ARGS[1]] = 'ex_fuckbuddy'
@@ -190,7 +190,31 @@ if $ARGS[0] = 'remove_sugar_daddy':
 	npc_sugar_daddy_price[$ARGS[1]] = 0
 	$ex_sugar_daddy[] = $ARGS[1]
 	$npc_rel_type[$ARGS[1]] = 'ex_sugar_daddy'
-	killvar '$fuckbuddy', arrpos('$fuckbuddy',$ARGS[1])
+	killvar '$sugar_daddy', arrpos('$sugar_daddy',$ARGS[1])
+end
+
+if $ARGS[0] = 'clear_all':
+	! CLEAR LOVERS
+	:clear_lovers_loop
+	if arrsize('pcs_lovers') > 0:
+		gs 'lover', 'remove', 0
+		jump 'clear_lovers_loop'
+	end
+
+	! CLEAR FUCKBUDDIES
+	:clear_fb_loop
+	if arrsize('$fuckbuddy') > 0:
+		gs 'lover', 'remove fuckbudy', $fuckbuddy[0]
+		jump 'clear_fb_loop'
+	end
+	
+	! CLEAR SUGAR DADIES
+	:clear_sd_loop
+	if arrsize('$sugar_daddy') > 0:
+		gs 'lover', 'remove_sugar_daddy', $sugar_daddy[0]
+		jump 'clear_sd_loop'
+	end
+	
 end
 
 

+ 9 - 4
locations/sex_ev_leave.qsrc

@@ -107,9 +107,9 @@ end
 
 if $ARGS[0] = 'break_up':
 	if $npc_rel_type[$boy] = 'fuckbuddy':
-		gs 'lover', 'remove fuckbuddy', $boy
+		gs 'lover', 'remove_fuckbuddy', $boy
 	elseif $npc_rel_type[$boy] = 'sugar_daddy':
-		gs 'lover', 'remove sugardaddy', $boy
+		gs 'lover', 'remove_sugar_daddy', $boy
 	else
 		gs 'lover', 'remove', $boy
 	end
@@ -117,13 +117,18 @@ if $ARGS[0] = 'break_up':
 end
 
 if $ARGS[0] = 'fuckbuddy_add':
-	gs 'lover', 'add fuckbuddy', $boy
+	gs 'lover', 'add_fuckbuddy', $boy
 	npc_fuckbuddy[$boy] = 1
 	npc_no_booty_call[$boy] = daystart
 end
 
 if $ARGS[0] = 'sugar_daddy_add':
-	if $npc_rel_type[$boy] ! 'fuckbuddy': gs 'sex_ev_leave', 'fuckbuddy_add'
+	if $npc_rel_type[$boy] ! 'fuckbuddy':
+		gs 'lover', 'add_sugar_daddy', $boy
+		npc_fuckbuddy[$boy] = 1
+		npc_no_booty_call[$boy] = daystart
+		sex_ev['sugar_daddy_count'] += 1
+	end
 	npc_sugar_daddy_price[$boy] = sex_ev['sugar_daddy_offer'] * 100
 	if $npc_rel_type[$boy] ! 'sugar_daddy':
 		$npc_rel_type[$boy] = 'sugar_daddy'