Browse Source

[Added] The exams and studying for the exams for the first semester at uni. Still missing is an update to cikl that wil register if you actually pass the semester or not, which will come later. But since we don't have a second semester yet it don't really matter that much.

bgkjdgbizgblzdgbr 2 years ago
parent
commit
e5f398f10f

+ 1 - 0
glife.qproj

@@ -979,6 +979,7 @@
 		<Location name="uni_lessons"/>
 		<Location name="uni_lessons1"/>
 		<Location name="uni_lessonsev1"/>
+		<Location name="uni_exams1"/>
 		<Location name="uni_library"/>
 		<Location name="unicoursework"/>
 		<Location name="uniutil"/>

+ 26 - 5
locations/journal.qsrc

@@ -1562,7 +1562,7 @@ if $ARGS[0] = 'uni':
 
 		'<center><h2>Grades</h2></center>'
 	
-		gs 'grades', 'assing_grade_description', 'school'
+		gs 'grades', 'assing_grade_description', $university['enrolled_in']
 	
 		j = 0
 		:grade_loop
@@ -1583,10 +1583,31 @@ if $ARGS[0] = 'uni':
 		if ARRSIZE('class_list_institution') >= j: jump 'grade_loop'
 		killvar 'j'		
 	
-	elseif university['exam_week'] = 1:
-		'You are in the first of the two weeks of exams'
-	else
-		'You are in the last of the two weeks of exams'
+	elseif university['exam_week'] > 0:
+		'You are in the '+iif(university['exam_week'] = 1,'first','second')+' of the two weeks of exams. '+func('uni_programs', 'exam', 'schedule')
+		*nl
+		j = 0
+		:exam_loop
+		if $class_list_institution[j] = 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>':
+			if dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_exam_done'']') = 1:
+				'You did your <<$class_list_name[j]>> exam and think you will get an <<$class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']>>.'
+			elseif func('uni_programs', 'exam', 'is_over', $class_list_name[j]) = 1:
+				'Your exam <<$class_list_name[j]>> is over and you did not go. This means you will fail the class and thefore also the semester.'
+			elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 100:
+				'You think you are so well prepared in your <<$class_list_name[j]>> exam well and will probably pass with the highest mark possible.'
+			elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 90:
+				'You think you are so well prepared in your <<$class_list_name[j]>> exam well and will probably pass with a 5. But a little more studying never hurt.'
+			elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 70:
+				'You think that you are prepared pretty well for your <<$class_list_name[j]>> exam and would probably get a 4 if the exam was today. With some more studying you might get a 5'
+			elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 40:
+				'You you think you are prepared enough to pass your <<$class_list_name[j]>> exam. But if you want a good grade you need to do some seriuos studying.'
+			else
+				'If your <<$class_list_name[j]>> exam was today you would afil. So time to hit the books if you don''t want to fail your semester.'
+			end
+		end
+		j += 1
+		if ARRSIZE('class_list_institution') >= j: jump 'exam_loop'
+		killvar 'j'
 	end
 	
 	act 'Go back': gt 'journal', 'records'

+ 28 - 7
locations/stat_display.qsrc

@@ -341,13 +341,34 @@ if university['student'] = 1:
 		$stat_uni_tooltip = 'Last class today is at 13:15.'
 	elseif university['semester_week'] > 0 and week = 4 and (hour < 13 or (hour = 13 and minut < 15)) and uni_period['third'] ! daystart and $university['elective3'] ! '':
 		$stat_uni_msg = 'You have elective class at the university today, it starts at 13:15.'
-		$stat_uni_tooltip = 'Your elective clas today is at 13:15.'
-	elseif university['exam_week'] = 1 and week < 5:
-		$stat_uni_msg = 'You have exams at the university this week and the next.'
+		$stat_uni_tooltip = 'Your elective class today is at 13:15.'
+	elseif university['exam_week'] = 1 and week < 4:
+		$stat_uni_msg = 'You have exams at the university this week and the next . Your first exam is Thursdy this week at 9:00.'
+		$stat_uni_tooltip = 'First week of exams.'	
+	elseif university['exam_week'] = 1 and week = 4 and hour < 9:
+		$stat_uni_msg = 'You have exams at the university this week and the next . Your first exam is today 9:00.'
 		$stat_uni_tooltip = 'First week of exams.'	
-	elseif university['exam_week'] = 2 and week < 5:
-		$stat_uni_msg = 'This is the last week of exams at the university this semesester.'
+	elseif university['exam_week'] = 1:
+		$stat_uni_msg = 'You have no more exams this week. Your next exam will be Tuesday next week at 9:00.'
+		$stat_uni_tooltip = 'First week of exams.'	
+	elseif university['exam_week'] = 2 and week < 2:
+		$stat_uni_msg = 'This is the last week of exams at the university this semesester. Your next exam will be Tuesday this week at 9:00.'
+		$stat_uni_tooltip = 'Second week of exams.'	
+	elseif university['exam_week'] = 2 and week < 2 and hour < 9:
+		$stat_uni_msg = 'This is the last week of exams at the university this semesester. Your next exam will be today at 9:00.'
+		$stat_uni_tooltip = 'Second week of exams.'	
+	elseif university['exam_week'] = 2 and week < 4:
+		$stat_uni_msg = 'This is the last week of exams at the university this semesester. Your last exam will be Thursday this week at 9:00.'
+		$stat_uni_tooltip = 'Second week of exams.'	
+	elseif university['exam_week'] = 2 and week < 4 and hour < 9:
+		$stat_uni_msg = 'This is the last week of exams at the university this semesester. Your last exam will be today at 9:00.'
+		$stat_uni_tooltip = 'Second week of exams.'	
+	elseif university['exam_week'] = 2:
+		$stat_uni_msg = 'This is the last week of exams at the university this semesester. All your exams are over. Now is just waiting to get the result on Monday.'
 		$stat_uni_tooltip = 'Second week of exams.'	
+	elseif university['enrolled_in_semester'] = university['semester_passed'] and university['semester_passed'] < 8:
+		$stat_uni_msg = 'Your need to enrolled in in your next semester before it starts at the university administration.'
+		$stat_uni_tooltip = 'Your need to enrolled in in your next semester.'
 	else
 		$stat_uni_msg = ''
 		$stat_uni_icon_msg = ''
@@ -1098,11 +1119,11 @@ if cheatStatusIcons = 0:
 
 	if $stat_school_icon_msg ! '' and SchoolBlock = 0: $statusIconBarTab += '<td><a href="exec:msg $stat_school_icon_msg"><img title="<<$stat_school_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/school.png"></a></td>'
 
-	if $stat_uni_icon_msg ! '' and university['semester_week'] = -1: $statusIconBarTab += '<td><a href="exec:msg $stat_uni_icon_msg"><img title="<<$stat_uni_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/uni_class_2.png"></a></td>'
+	if $stat_uni_icon_msg ! '' and (university['semester_week'] = -1 or (university['semester_passed'] = university['enrolled_in_semester'] and university['diploma'] = 0)): $statusIconBarTab += '<td><a href="exec:msg $stat_uni_icon_msg"><img title="<<$stat_uni_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/uni_class_3.png"></a></td>'
 
 	if $stat_uni_icon_msg ! '' and university['semester_week'] > 0: $statusIconBarTab += '<td><a href="exec:msg $stat_uni_icon_msg"><img title="<<$stat_uni_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/uni_class_1.png"></a></td>'
 
-	if $stat_uni_icon_msg ! '' and university['exam_week'] > 0: $statusIconBarTab += '<td><a href="exec:msg $stat_uni_icon_msg"><img title="<<$stat_uni_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/uni_class_3.png"></a></td>'
+	if $stat_uni_icon_msg ! '' and university['exam_week'] > 0: $statusIconBarTab += '<td><a href="exec:msg $stat_uni_icon_msg"><img title="<<$stat_uni_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/uni_class_2.png"></a></td>'
 
 	if $stat_game_night_msg ! '': $statusIconBarTab += '<td><a href="exec:msg $stat_game_night_msg"><img title="<<$stat_game_night_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/game_night.png"></a></td>'
 

+ 102 - 0
locations/stol.qsrc

@@ -117,6 +117,16 @@ if $ARGS[0] = 'start':
 		i += 1
 		if ARRSIZE('class_list_institution') >= i: jump 'study_loop'
 		killvar 'i'
+	elseif university['exam_week'] > 0:
+		i = 0
+		:exam_loop
+		if $class_list_institution[i] = 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>' and func('uni_programs', 'exam', 'is_over', $class_list_name[i]) = 0:
+			dynamic '	act ''Study intensely for your <<$class_list_name[i]>> exam (30 minuts)'': gt ''stol'', ''studying_exam'', ''<<$class_list_institution[i]>>'', ''<<$class_list_name[i]>>'', ''stol'' '
+		end
+		
+		i += 1
+		if ARRSIZE('class_list_institution') >= i: jump 'exam_loop'
+		killvar 'i'
 	end
 
 end
@@ -207,6 +217,16 @@ if $ARGS[0] = 'stolPar':
 		i += 1
 		if ARRSIZE('class_list_institution') >= i: jump 'study_loop'
 		killvar 'i'
+	elseif university['exam_week'] > 0:
+		i = 0
+		:exam_loop
+		if $class_list_institution[i] = 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>' and func('uni_programs', 'exam', 'is_over', $class_list_name[i]) = 0:
+			dynamic '	act ''Study intensely for your <<$class_list_name[i]>> exam (30 minuts)'': gt ''stol'', ''studying_exam'', ''<<$class_list_institution[i]>>'', ''<<$class_list_name[i]>>'', ''stolPar'' '
+		end
+		
+		i += 1
+		if ARRSIZE('class_list_institution') >= i: jump 'exam_loop'
+		killvar 'i'
 	end
 
 	killvar '$stol_loc_temp'
@@ -392,5 +412,87 @@ if $args[0] = 'studying':
 	act 'Get up from you desk': gt 'stol', '<<$ARGS[3]>>'
 end
 
+if $ARGS[0] = 'studying_exam':
+	cla & *clr
+	'<center><img <<$set_imgh>> src="images/locations/shared/apartment/homework.jpg"></center>'
+	!!Nerds likes studying and so their mood improves a little. Everbody else get in a worse mood by studying.
+	intel_exp += max(0,rand(-1,1))
+	pcs_mood += (traits['nerd_status']*5 -10)
+	minut += 30
+	if pcs_sleep < 5:
+		no_study = 1
+		'You are so tired that you are constantly falling a sleep. You get no studying done in this condition.'
+	elseif pcs_sleep < 30:
+		study_mod -= 20
+		'You are very tired and have a hard time keeping you eyes open.'
+	end
+	if alko >= 6:
+		no_study = 1
+		'You are so drunk that you eyes can''t make sense of the letters written in the books. Holding your pen is also a problem.'
+	elseif alko >= 4:
+		study_mod -= 40
+		'You are drunk and have trouble concentration on reading the books. When you look back on the notes you made a lot of them are incomprehensible.'
+	elseif alko >= 2:
+		study_mod -= 20
+		'You are feeling a little tipsy and the you think that the studying is going great. But when you afterwards look at it you notice that a lot of your notes you made makes no sense.'
+	end
+	if mentats_dose >= 1: study_mod += 30
+	If pcs_mood < 50:
+		study_mod -= 20
+		'you are in a bad mood and it clearly effects you studying.'
+	end
+	if StrongNarkota > 0 or jointhigh > 0:
+		study_mod -= 40
+		'You are stoned, and it is not making it easier to concentrate on studying.'
+	end
+	if amphHigh > 0: study_mod += 20
+	if pcs_energy < 5:
+		study_mod -= 20
+		'You are extremely hungry and it it is hard thinking about anything else that food.'
+	elseif pcs_energy < 10:
+		study_mod -= 10
+		'You are very hungry and it affect your ability to concentrate.'
+	elseif pcs_energy < 20:
+		study_mod -=10
+		'You ar hungry and your thought often drift to food, affecting your performance negatively.'
+	end
+	if pcs_horny > 90:
+		study_mod -= 10
+		'ou are so arouse that you thought often drifts to sex effecting you ability your study.'
+	end
+	if pain['total'] > 90:
+		no_study = 1
+		'You are in so much pain that you can''t study.'
+	elseif pain['total'] > 75:
+		study_mod -= 40
+		'You are in so much pain that you have a very hard time concentrating on studying.'
+	elseif pain['total'] > 60:
+		study_mod -= 20
+		'Your pain a constantly bothering and it makes it harder to study.'
+	end
+	*nl
+ 	study_mod = max(0,rand(30 + study_mod,pcs_intel + study_mod)/33)
+	if no_study = 1:
+		'You try to study for half an hour, but gets nothing done.'
+	else
+		if study_mod = 0:
+			'You study for half an hour. But don''t think you are improving.'
+		elseif study_mod = 1:
+			'You study for half an hour, and think you are improving a little.'
+		elseif study_mod = 2:
+			'You study for half an hour, and think you are doing good progress in getting ready for the exam.'
+		else
+			'You study for half an hour, and think you are improving a lot.'
+		end		
+		gs 'grades', 'grade_award', '<<$ARGS[1]>>', '<<$ARGS[2]>>', 'yes', study_mod
+	end
+	
+	gs 'stat'
+	
+	killvar 'study_mod'
+	killvar 'nod_study'
+
+	act 'Get up from you desk': gt 'stol', '<<$ARGS[3]>>'
+end
 --- stol ---------------------------------
 

+ 4 - 2
locations/uni_admin.qsrc

@@ -18,6 +18,8 @@ if $ARGS[0] = 'start':
 	minut += 5
 	$menu_loc = 'uni_admin'
 	$menu_arg = 'start'
+	$loc = 'uni_admin'
+	$loc_arg = 'start'
 	menu_off = 0
 	gs 'stat'
 	gs 'themes', 'indoors'
@@ -27,9 +29,9 @@ if $ARGS[0] = 'start':
 	!!this below will all need to be updated and cleaned up. I am leaving it as is for now as I don''t know how to fix it
 	if university['diploma'] > 0:
 		'You have graduated from the University.'
-	elseif func('uniutil', 'student', 'expelled_for_failing'):
+	elseif university['expelled_for_missing_exam'] = 0 and university['expelled'] = 1:
 		'You have been expelled from the University for failing your exams.'
-	elseif func('uniutil', 'student', 'expelled_for_skipping'):
+	elseif university['expelled_for_missing_exam'] = 1:
 		'You have been expelled from the University for skipping your exams.'
 	elseif func('uniutil', 'student', 'expelled_for_other_reason'):
 		'You have been expelled from the University for reasons unrelated to your exam results.'

+ 101 - 0
locations/uni_exams1.qsrc

@@ -0,0 +1,101 @@
+# uni_exams1
+!! Exams in this file are first semester exams for general_education, teaching_methods, learning_theories
+
+if $ARGS[0] = 'general_education':
+	menu_off = 1
+	*clr & cla
+	uni_period['exam'] = daystart
+	minut += 180
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/city/island/university/classroom/exam<<rand(1,3)>>.jpg"></center>'
+	'You walk into the classroom and take a seat farthest to the right, next to a window. The rest of your classmates walk in one by one. Mr. Kovalyov enters the classroom, and closes the door. Mr. Kovalyov turns to the class and says. "Today is your final exam, I hope you have all payed attention in my class and taken notes. Much of your grade will be decided by this one exam." As he talks he walks around handing out the exams. Once everyone has one he walks back to the front of the class and looks at the clock on the wall. "You have three hours to complete the test, begin."'
+	*nl
+	'You spend all three hours you have taking the exam, doing all the parts you are positive on and then going back to the parts you are less sure of to check them again. Once you are happy with your work, you hand in your exam as class ends and leave.'
+	act 'Leave':
+		'<center><img <<$set_imgh>> src="images/locations/city/island/university/classroom/exam<<rand(1,3)>>.jpg"></center>'
+		*clr & cla
+		gs 'grades', 'assing_grade_description', 'uni_teaching_studies_semester_1'
+		class['uni_teaching_studies_semester_1_general education_exam_done'] = 1
+
+		if class['uni_teaching_studies_semester_1_general education_grade'] < 40:
+			'You think that you have don horrible on the exam and are probably going to fail with <<$class[''uni_teaching_studies_semester_1_general education_grade'']>>.'
+		elseif class['uni_teaching_studies_semester_1_general education_grade'] < 70:
+			'You think that you did enough to pass, and are probably going to get a <<$class[''uni_teaching_studies_semester_1_general education_grade'']>> on the exam'
+		elseif class['uni_teaching_studies_semester_1_general education_grade'] < 90:
+			'You think you did pretty well on the exam, and is going to get an <<$class[''uni_teaching_studies_semester_1_general education_grade'']>>.'
+		else
+			'You are sure you did extremely well on the exam and is going to get an <<$class[''uni_teaching_studies_semester_1_general education_grade'']>>.' 
+		end
+		act 'Go to university campus':
+			minut += 5
+			gt 'uni_grounds', 'main'
+		end
+	end
+end
+
+if $ARGS[0] = 'teaching_methods':
+	menu_off = 1
+	*clr & cla
+	uni_period['exam'] = daystart
+	minut += 180
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/city/island/university/classroom/exam<<rand(1,3)>>.jpg"></center>'
+	'You walk into the classroom and see Mrs. Kovalchuk sitting behind her desk. The rest of your classmates walk in one by one she smiles to each one as they enter. Once everyone is seated you find a exam sitting on the desk waiting for you. "Today is your final exam, if you have payed attention in my class and studied you should have no problem passing this exam. It is a very important exam much of your grade is decided by this one test, showing us what you have learned." She glances to the clock on the wall. "You have three hours to complete the test, begin." Then she takes a seat at her desk.'
+	*nl
+	'You spend all three hours you have taking the exam, doing all the parts you are positive on and then going back to the parts you are less sure of to check them again. Once you are happy with your work, you hand in your exam as class ends and leave.'
+	act 'Leave':
+		'<center><img <<$set_imgh>> src="images/locations/city/island/university/classroom/exam<<rand(1,3)>>.jpg"></center>'
+		*clr & cla
+		gs 'grades', 'assing_grade_description', 'uni_teaching_studies_semester_1'
+		class['uni_teaching_studies_semester_1_teaching methods_exam_done'] = 1
+
+		if class['uni_teaching_studies_semester_1_teaching methods_grade'] < 40:
+			'You think that you have did horrible on the exam and are probably going to fail with <<$class[''uni_teaching_studies_semester_1_teaching methods_grade'']>>.'
+		elseif class['uni_teaching_studies_semester_1_teaching methods_grade'] < 70:
+			'You think that you did enough to pass, and are probably going to get a <<$class[''uni_teaching_studies_semester_1_teaching methods_grade'']>> on the exam'
+		elseif class['uni_teaching_studies_semester_1_teaching methods_grade'] < 90:
+			'You think you did pretty well on the exam, and is going to get an <<$class[''uni_teaching_studies_semester_1_teaching methods_grade'']>>.'
+		else
+			'You are sure you did extremely well on the exam and is going to get an <<$class[''uni_teaching_studies_semester_1_teaching methods_grade'']>>.' 
+		end
+		act 'Go to university campus':
+			minut += 5
+			gt 'uni_grounds', 'main'
+		end
+	end
+end
+
+if $ARGS[0] = 'learning_theories':
+	menu_off = 1
+	*clr & cla
+	uni_period['exam'] = daystart
+	minut += 180
+	gs 'stat'
+	'<center><img <<$set_imgh>> src="images/locations/city/island/university/classroom/exam<<rand(1,3)>>.jpg"></center>'
+	'You walk into the classroom and take a seat farthest to the right, next to a window. The rest of your classmates walk in one by one. Mr. Kovalyov enters the classroom, and closes the door. Mr. Kovalyov turns to the class and says. "Today is your final exam, I hope you have all payed attention in my class and studied hard. Much of your grade will be decided by this one exam." As he talks he walks around handing out the exams. Once everyone has one he walks back to the front of the class and looks at the clock on the wall. "You have three hours to complete the test, begin."'
+	*nl
+	'You spend all three hours you have taking the exam, doing all the parts you are positive on and then going back to the parts you are less sure of to check them again. Once you are happy with your work, you hand in your exam as class ends and leave.'
+	act 'Leave':
+		'<center><img <<$set_imgh>> src="images/locations/city/island/university/classroom/exam<<rand(1,3)>>.jpg"></center>'
+		*clr & cla
+		gs 'grades', 'assing_grade_description', 'uni_teaching_studies_semester_1'
+		class['uni_teaching_studies_semester_1_learning theories_exam_done'] = 1
+
+		if class['uni_teaching_studies_semester_1_learning theories_grade'] < 40:
+			'You think that you have did horrible on the exam and are probably going to fail with <<$class[''uni_teaching_studies_semester_1_learning theories_grade'']>>.'
+		elseif class['uni_teaching_studies_semester_1_learning theories_grade'] < 70:
+			'You think that you did enough to pass, and are probably going to get a <<$class[''uni_teaching_studies_semester_1_learning theories_grade'']>> on the exam'
+		elseif class['uni_teaching_studies_semester_1_learning theories_grade'] < 90:
+			'You think you did pretty well on the exam, and is going to get an <<$class[''uni_teaching_studies_semester_1_learning theories_grade'']>>.'
+		else
+			'You are sure you did extremely well on the exam and is going to get an <<$class[''uni_teaching_studies_semester_1_learning theories_grade'']>>.' 
+		end
+		act 'Go to university campus':
+			minut += 5
+			gt 'uni_grounds', 'main'
+		end
+	end
+end
+
+--- uni_exams1 ---------------------------------
+

+ 7 - 0
locations/uni_lessons.qsrc

@@ -30,4 +30,11 @@ if $ARGS[0] = 'schedule':
 	end
 end
 
+if $ARGS[0] = 'exam_schedule':
+	gs 'stat'
+	if uni_period['exam'] ! daystart and hour > 6 and hour < 9:
+		gs 'uni_programs', 'exam'
+	end
+end
+
 --- uni_lessons ---------------------------------

+ 108 - 0
locations/uni_library.qsrc

@@ -50,6 +50,16 @@ if $ARGS[0] = 'study':
 		i += 1
 		if ARRSIZE('class_list_institution') >= i: jump 'study_loop'
 		killvar 'i'
+	elseif university['exam_week'] > 0:
+		i = 0
+		:exam_loop
+		if $class_list_institution[i] = 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>' and func('uni_programs', 'exam', 'is_over', $class_list_name[i]) = 0:
+			dynamic '	act ''Study intensely for your <<$class_list_name[i]>> exam (30 minuts)'': gt ''uni_library'', ''studying_exam'', ''<<$class_list_institution[i]>>'', ''<<$class_list_name[i]>>'' '
+		end
+		
+		i += 1
+		if ARRSIZE('class_list_institution') >= i: jump 'exam_loop'
+		killvar 'i'
 	end	
 	act 'Leave':
 		minut += 5
@@ -92,6 +102,104 @@ if $ARGS[0] = 'studying':
 	end
 end
 
+if $ARGS[0] = 'studying_exam':
+	cla & *clr
+	'<center><b><font color="maroon">The University Library</font></b></center>'
+	'<center><img <<$set_imgh>> src="images/locations/city/island/university/library/study' + rand(1,7) + '.jpg"></center>'
+	!!Nerds likes studying and so their mood improves a little. Everbody else get in a worse mood by studying.
+	intel_exp += max(0,rand(-1,1))
+	pcs_mood += (traits['nerd_status']*5 -10)
+	minut += 30
+	'Once there you open the books and start studying for your <<$ARGS[2]>> exam, the library is mostly quiet but you hear occasionally noises some of them hard to make out and some of them fairly suspect. Still for the most part it is a good environment to study in, there is a few other students you can see studying as well.'
+	if pcs_sleep < 5:
+		no_study = 1
+		'You are so tired that you are constantly falling a sleep. You get no studying done in this condition.'
+	elseif pcs_sleep < 30:
+		study_mod -= 20
+		'You are very tired and have a hard time keeping you eyes open.'
+	end
+	if alko >= 6:
+		no_study = 1
+		'You are so drunk that you eyes can''t make sense of the letters written in the books. Holding your pen is also a problem.'
+	elseif alko >= 4:
+		study_mod -= 40
+		'You are drunk and have trouble concentration on reading the books. When you look back on the notes you made a lot of them are incomprehensible.'
+	elseif alko >= 2:
+		study_mod -= 20
+		'You are feeling a little tipsy and the you think that the studying is going great. But when you afterwards look at it you notice that a lot of your notes you made makes no sense.'
+	end
+	if mentats_dose >= 1: study_mod += 30
+	If pcs_mood < 50:
+		study_mod -= 20
+		'you are in a bad mood and it clearly effects you studying.'
+	end
+	if StrongNarkota > 0 or jointhigh > 0:
+		study_mod -= 40
+		'You are stoned, and it is not making it easier to concentrate on studying.'
+	end
+	if amphHigh > 0: study_mod += 20
+	if pcs_energy < 5:
+		study_mod -= 20
+		'You are extremely hungry and it it is hard thinking about anything else that food.'
+	elseif pcs_energy < 10:
+		study_mod -= 10
+		'You are very hungry and it affect your ability to concentrate.'
+	elseif pcs_energy < 20:
+		study_mod -=10
+		'You ar hungry and your thought often drift to food, affecting your performance negatively.'
+	end
+	if pcs_horny > 90:
+		study_mod -= 10
+		'ou are so arouse that you thought often drifts to sex effecting you ability your study.'
+	end
+	if pain['total'] > 90:
+		no_study = 1
+		'You are in so much pain that you can''t study.'
+	elseif pain['total'] > 75:
+		study_mod -= 40
+		'You are in so much pain that you have a very hard time concentrating on studying.'
+	elseif pain['total'] > 60:
+		study_mod -= 20
+		'Your pain a constantly bothering and it makes it harder to study.'
+	end
+	*nl
+ 	study_mod = max(0,(rand(30 + study_mod,pcs_intel + study_mod) + 10)/33)
+	if no_study = 1:
+		'You try to study for half an hour, but gets nothing done.'
+	else
+		if study_mod = 0:
+			'You study for half an hour. But don''t think you are improving.'
+		elseif study_mod = 1:
+			'You study for half an hour, and think you are improving a little.'
+		elseif study_mod = 2:
+			'You study for half an hour, and think you are doing good progress in getting ready for the exam.'
+		else
+			'You study for half an hour, and think you are improving a lot.'
+		end		
+		gs 'grades', 'grade_award', '<<$ARGS[1]>>', '<<$ARGS[2]>>', 'yes', study_mod
+	end
+	
+	gs 'stat'
+	
+	killvar 'study_mod'
+	killvar 'nod_study'
+	
+	act 'Leave':
+		minut += 5
+		gt 'uni_grounds', 'main'
+	end
+	if (week < 6 or hour < 23) and hour > 7:
+		act 'Return to entrance':
+			minut += 2
+			gt 'uni_library', 'start'
+		end
+		act 'Keep Studying': gt 'uni_library', 'study'
+		act 'Wander around': gt 'uni_library', 'wander'
+	else
+		'The library is closing'
+	end
+end
+
 if $ARGS[0] = 'wander':
 	$sexloc = 'uni_library'
 	cla & *clr

+ 83 - 3
locations/uni_programs.qsrc

@@ -14,7 +14,7 @@ if $ARGS[0] = 'program_name':
 end
 
 if $ARGS[0] = 'uni_period_first':
-	!!This arg have two functions. If calles with gs without any optional argument it will make the cations to go to class availeble.
+	!!This arg have two functions. If called with gs without any optional argument it will make the cations to go to class availeble.
 	!!Second if called as a function with the additional ARGS[1] of monday, tuesday, wednesday or thursday, it will print on the screen the name of the classe and the time period. 
 	if $university['enrolled_in'] = 'teaching_studies':
 		if university['enrolled_in_semester'] = 1:
@@ -72,7 +72,7 @@ if $ARGS[0] = 'uni_period_first':
 end
 
 if $ARGS[0] = 'uni_period_second':
-	!!This arg have two functions. If calles with gs without any optional argument it will make the cations to go to class availeble.
+	!!This arg have two functions. If called with gs without any optional argument it will make the options to go to class availeble.
 	!!Second if called as a function with the additional ARGS[1] of monday, tuesday, wednesday or thursday, it will print on the screen the name of the classe and the time period. 
 	if $university['enrolled_in']= 'teaching_studies':
 		if university['enrolled_in_semester'] = 1:
@@ -126,7 +126,7 @@ if $ARGS[0] = 'uni_period_second':
 end
 
 if $ARGS[0] = 'uni_period_third':
-	!!This arg have two functions. If calles with gs without any optional argument it will make the cations to go to class availeble.
+	!!This arg have two functions. If called with gs without any optional argument it will make the options to go to class availeble.
 	!!Second if called as a function with the additional ARGS[1] of monday, tuesday, wednesday or thursday, it will print on the screen the name of the classe and the time period. 
 	if $university['enrolled_in']= 'teaching_studies':
 		if university['enrolled_in_semester'] = 1:
@@ -179,5 +179,85 @@ if $ARGS[0] = 'uni_period_third':
 		end
 	end
 end
+
+if $ARGS[0] = 'exam':
+	!!This arg have three functions. If called with gs without any optional argument it will make the options to go to exam availeble.
+	!!The second if called as a function with the additional $ARGS[1] = 'schedule', it will print on the screen the name and date of the exams you have left this semester. 
+	!!The third is if called with $ARGS[1] = 'is_over' and $ARGs[2] the name of the class to no if the time slot for the exam has passed by returning 1. Only use this during in the the exam weeks, out side the exam week this is covered of the variabels that tell wether the semeter is passed or not.
+	if $university['enrolled_in'] = 'teaching_studies':
+		if university['enrolled_in_semester'] = 1:
+			if $ARGS[1] = 'schedule':
+				if university['exam_week'] = 1: 
+					if week < 4 or (week = 4 and hour < 9):
+						$Result = 'General Education Exam (9:00 to 12:00) Thursday this week. Teaching Methods Exam (9:00 to 12:00) Monday next week. Lerning Theories Exam (9:00 to 12:00) Thursday next week.'
+					else	
+						$Result = 'Teaching Methods Exam (9:00 to 12:00) Tuesday next week. Learning Theories Exam (9:00 to 12:00) Thursday next week.'
+					end
+				elseif university['exam_week'] = 2: 
+					if week < 2 or (week = 2 and hour < 9):
+						$Result = 'Teaching Methods Exam (9:00 to 12:00) Tuesday this week. Lerning Theories Exam (9:00 to 12:00) Thursday this week.'
+					elseif week < 4 or (week = 4 and hour < 9):
+						$Result = 'Learning Theories Exam (9:00 to 12:00) Thursday this week.'
+					else
+						$Result = 'All your exams are over. Now it is just waiting to the grade is announced.'
+					end
+				end
+			elseif $ARGS[1] = 'is_over':
+				if $ARGS[2] = 'general education':
+					if university['exam_week'] = 1 and (week < 4 or (week = 4 and hour < 9)):
+						Result = 0
+					else	
+						Result = 1
+					end
+				elseif $ARGS[2] = 'teaching methods':
+					if university['exam_week'] = 1 or (university['exam_week'] = 2 and (week < 2 or (week = 2 and hour < 9))):	
+						Result = 0
+					else	
+						Result = 1
+					end
+				elseif $ARGS[2] = 'learning theories':
+					if university['exam_week'] = 1 or (university['exam_week'] = 2 and (week < 4 or (week = 4 and hour < 9))):
+						Result = 0
+					else	
+						Result = 1
+					end
+				end
+			elseif university['exam_week'] = 1: 
+				if week = 4:
+					*nl
+					'Your General Education exam will start at 9:00 today. You can go to it now or go do other things first, but you need to be at the university plaza before it starts if you want to attend it.'
+					act 'Go to your General Education exam': 
+						if hour = 8: minut += 60 - minut
+						if hour = 7: minut += 120 - minut					
+						gs 'stat'
+						gt 'uni_exams1', 'general_education'
+					end
+				end
+			elseif university['exam_week'] = 2:
+				if week = 2: 
+					*nl
+					'Your Teaching Methods exam will start at 9:00. You can go to it now or go do other things first, but you need to be at the university plaza before it starts if you want to attend it.'
+					act 'Go to your Teaching Methods exam': 
+						if hour = 8: minut += 60 - minut
+						if hour = 7: minut += 120 - minut					
+						gs 'stat'
+						gt 'uni_exams1', 'teaching_methods'
+					end
+				elseif week = 4: 
+					*nl
+					'Your Lerning Theories exam will start at 9:00. You can go to it now or go do other things first, but you need to be at the university plaza before it starts if you want to attend it.'
+					act 'Go to your Lerning Theories exam': 
+						if hour = 8: minut += 60 - minut
+						if hour = 7: minut += 120 - minut					
+						gs 'stat'
+						gt 'uni_exams1', 'learning_theories'
+					end
+				end
+			end
+		end
+	end
+end
+
+
 --- uni_programs ---------------------------------