浏览代码

Announcing the start of the long awaited Ballet content, this is the start of integrating Hooded Silence's mod into the core game. It is not fully linked into the game areas and things will likely break until it is fully integrated. This is for both code review and suggestions as it is being worked on from team members and adventurous mortals.

Hooded Silence 5 月之前
父节点
当前提交
3339fe249e

+ 17 - 0
glife.qproj

@@ -1349,6 +1349,23 @@
 		<Location name="treeCircActs"/>
 		<Location name="treeCircEntry"/>
 	</Folder>
+	<folder name="Ballet_career">
+		<Location name="pushkin_ballet_init"/>
+		<Location name="core_library"/>
+		<Location name="ballet_npc"/>
+		<Location name="npc_3501_init"/>
+		<Location name="maya_residence"/>
+		<Location name="npc_3510_init"/>
+		<Location name="pushkin_ballet_center"/>
+		<Location name="pushkin_ballet_res"/>
+		<Location name="pushkin_ballet_class"/>
+		<Location name="pushkin_ballet_evt"/>
+		<Location name="ballet_global_evt"/>
+		<Location name="ballet_secrets"/>
+		<Location name="marlilnsky_theatre"/>
+		<Location name="pushkin_theatre"/>
+		<Location name="st_petersburg_canals"/>
+	</folder>
 	<Location name="cleanHTML"/>
 	</Structure>
 </QGen-project>

+ 3 - 0
locations/ballet_global_evt.qsrc

@@ -0,0 +1,3 @@
+# ballet_global_evt
+!! General world events 
+--- ballet_global_evt---------------------------------

+ 96 - 0
locations/ballet_npc.qsrc

@@ -0,0 +1,96 @@
+# ballet_npc
+
+!! Set up dance school dramatis personae - Start at 3500 to avoid conflicts with main game...
+
+!! Students
+
+npctemp = 3501
+$npc_firstname['A<<npctemp>>'] = 'Maya'
+$npc_nickname['A<<npctemp>>'] = 'Maya'
+$npc_lastname['A<<npctemp>>'] = 'Semionova'
+$npc_usedname['A<<npctemp>>'] = 'Maya'
+$npc_notes['A<<npctemp>>'] = 'Maya is the daughter of Anitchka a freelance coryphée, she was encouraged to dance from a young age until she was nine when she started doing gymnastics. This changed when she was eleven when her mother became ill and she was asked to carry on the family tradition. Maya is a naturally gifted dancer and after six years is tipped to become one of Russia''s leading stars in the future.'
+npc_dob['A<<npctemp>>'] = 19990502
+npc_gender['A<<npctemp>>'] = 1
+gs 'npcstaticdefaults', 'defaults'
+npc_bust['A<<npctemp>>'] = 14
+npc_intel['A<<npctemp>>'] = 75
+hotcat_rating['A<<npctemp>>'] = 8
+
+!! mod appearance NPC settings, height in cm
+$npc_haircolour['A<<npctemp>>'] = 'blonde'
+$npc_eyecolour['A<<npctemp>>'] = 'blue'
+$npc_height['A<<npctemp>>'] = '178'
+
+!! NPC Temp: 3502 - Kima
+!! Kima Agapova - The dance critic and fanatical to become a dancer, no matter the cost. Keeps a 'black book' of contacts and information. Arguably the best dancer in the school alongside Maya. She will try and gather information on Sveta's activities.
+!! will try and blackmail Sveta into either giving up if she learns if she's has dirty secrets such as prostitution, slut rep, etc or passing the information to Rudolph to destroy her career to remove her as competition.
+
+!! NPC temp: 3503 - Tanis
+!! Tanis Komarova - Bitchy dancer who thinks she''s already the Principle Dancer. Age 17. Future concept as the class bully to other dancers and students.
+
+!! NPC temp: 3504 - Galina
+!! Galina Molchalina - Quiet and shy student, age 16. Highly secretive and doesn't engage with the class, she also has a nervous personality as if she's afraid. This comes from her family being marked as 'radicals' by the old KGB and under constant watch from FSB even to this day.
+
+!! NPC temp: 3505 - Taisiya
+!! Taisiya Lebedeva - The eldest student, and an elegant beauty, Age 18. A quiet, but captivating beauty who has a enchanting charismatic presence that men can't keep their eyes off her leading to bitchy remarks from other girls. 
+!! She''s oblivous to her beauty instead focusing on acting and dance. (side note: surname is one of the most common in St P.), she's got a strong religous personality.
+!! Malta Aurelie
+
+!! NPC temp: 3506 - Nikita
+!! Nikita Volkova - Bronya''s daughter. Age 16. Keep fit fanatic, and does tap, ballet, etc. As Bronya's daughter she's been given privileged access to the school, whilst no great talent she's still one of the better dance students at the school but just not at ballet despite Bronya's wishes.
+
+!! NPC temp: 3507 - Gasha
+!! Gasha Morozova - The youngest in the class at 15, close friend of Nikita as the grew up in the same village. Nikita and Galina are often seen in each others company in the local coffee shop and rarely seen alone leading to rumours. She''s a bit of a foodie, and love sweet things which conflicts with keeping in shape for her dance career.
+
+!! NPC temp: 3508 - Calina
+!! NPC temp: 3509 - Ruza
+!! Calina and Ruza Sokolova - Twin dancers. Not interested in ballet, but took the course to further their education into becoming dancers. Age 17. They also professional models with a Moscow agency. 
+!! Adel and Alina Fakhteeva twins?
+
+!! Staff
+
+npctemp = 3510
+$npc_firstname['A<<npctemp>>'] = 'Rudolf'
+$npc_nickname['A<<npctemp>>'] = 'Rudolf '
+$npc_lastname['A<<npctemp>>'] = 'Baryshnikov'
+$npc_usedname['A<<npctemp>>'] = 'Rudolf'
+npc_dob['A<<npctemp>>'] = 19820920
+$npc_notes['A<<npctemp>>'] = 'Rudolf is a charming and handsome man, he was on course to become one of Russia''s best ballet dancers until a stage accident cut short his career. Today he works at the dance school as a instructor, agent and a board member. Many rumours about his life have swirled around him over the years but none have been proven.'
+npc_gender['A<<npctemp>>'] = 0
+gs 'npcstaticdefaults', 'defaults'
+$npc_thdick['A<<npctemp>>'] = 'slim'
+npc_dick['A<<npctemp>>'] = 10
+npc_sexskill['A<<npctemp>>'] = 2
+npc_intel['A<<npctemp>>'] = 57
+hotcat_rating['A<<npctemp>>'] = 8
+npc_spermpot['A<<npctemp>>'] = 15000
+
+
+!! NPC temp: 3511 - Biserka
+!! class teacher: Biserka Ananiashvili
+
+!! NPC temp: 3512 - Sofia
+!! class teacher/pianist: Sofia Solovyova
+
+!! NPC temp: 3513 - Bronya 
+!! Residential Warden: Bronya Volkova and former violinist, strict but fair has two daughters with Nikita being the youngest training to be a ballet dancer and her eldest in Germany training to be a surgeon. 
+
+npc_temp 3513
+$npc_firstname['A<<npctemp>>'] = 'Bronya'
+$npc_nickname['A<<npctemp>>'] = 'Bronya '
+$npc_lastname['A<<npctemp>>'] = 'Volkova'
+$npc_usedname['A<<npctemp>>'] = 'Bronya'
+
+!! NPC temp: 3514 - Physio - 
+ 
+!! Make up teacher: No name, the teacher never bothers to tell the class after a week. Former stage make up artist, beautician and scatterbrained.
+
+!! Staff Physio - TBC
+!! Mistress of Ballet - TBC
+--- ballet_npc ---------------------------------
+
+
+
+
+

+ 21 - 0
locations/ballet_secrets.qsrc

@@ -0,0 +1,21 @@
+# ballet_secrets
+
+!! Author: Hooded Silence
+!! A dance shop which includes ballet, gymnastics and physio-therapy sources. Alternative path to ballet career in second year and first.
+!! TBC - NPCs to be created
+
+!! Intro
+
+!! Services
+
+  !! Gymnastics
+
+  !! Ballet Courses Easy, Intermediate and advanced
+
+  !! Physiotherapy
+
+!! Shopping
+
+!! Custom Tutus for quests/shows, ballet shoe fitting, clothing, physio items, portable ballet equipment (barre) etc.
+
+--- ballet_secrets ---------------------------------

+ 144 - 0
locations/core_library.qsrc

@@ -0,0 +1,144 @@
+# core_library
+
+!! Date Created: 17th Sept, 2022
+!! Modified date: 
+!! Version: .01 - initial release
+!! Author: Hooded Silence
+!!
+
+!! like SetLoc, to reduce code bloat and memorisation of header title and images.
+!! Project: allow for scene changes on the fly rather than static content based on story?
+!! Set two var, third if you need to change the ext.: 
+
+!! $setloc[''StageTitle'']: Var to set up $loc h1 header
+!! $setloc[''StageImage'']: Var to set up $loc image - set 1 to randomise
+if $ARGS[0] = 'stage_title':
+    if $ARGS[1] = 1: 
+        $temp_StageExt = 'gif'
+    elseif $ARGS[1] = 2:
+        $temp_StageExt = 'mp4'
+    else 
+        $temp_StageExt = 'jpg'
+    end
+	
+	if $ARGS[2] = 2:
+	!! Randomise header image	
+		!!dummyr
+	end
+    *clr & cla
+	'<center><h2><<$setloc[''StageTitle'']>></h2></center>'
+	'<center><img <<$set_imgh>> src="mod/img_ballet/<<><<$setloc[''StageImage>'']>.<<><<$setloc['temp_StageExt>>"></center>'
+
+    !! Clean up
+    killvar '$setloc'
+
+    !! set indoor or outdoor location specific variables
+
+    !!
+
+    !! set standardised location variables such as kitchen, bathroom, personal bedroom
+    
+    !! npc location tracker - if tracking npc locations add them here.
+
+    
+end
+
+if $ARGS[0] = 'bathroom':
+    !! Location facilities
+    if $location_type = 'private':
+        gs 'din_van', 'private'
+    elseif $location_type = 'public'  
+        act 'Take a shower':
+            *clr & cla
+            pcs_hairbsh = 0
+            pcs_makeup = 1
+            minut += 10
+            pcs_mood += 10
+            noShampoo = 1
+            dynamic $showerdin	
+            gs 'stat'
+            'You grab a quick shower, but you wish you could stay longer in the shower to let the heat soak into your muscles.'
+            act 'Continue' : gt $loc, $loc_arg
+        end
+    elseif $location_type = 'communal':
+
+    end
+!! Default facilities    
+    dynamic $basin
+    dynamic $tampon
+    if pcs_hairbsh = 0: act 'Brush your hair': gt 'mirror', 'brush'
+    if deodorant > 0 and deodorant_on = 0:
+        'Your deodorant will last you for <b><<deodorant>></b> more '+iif(deodorant = 1, 'application.', 'applications.')
+        act 'Apply deodorant (0:01)':
+            *clr & cla
+            menu_off = 1
+            minut += 1
+            deodorant -= 1
+            gs 'sweat', 'deo'
+            iif(func('body_din','pregnancyVisibility') = 1, '<center><img <<$set_imgh>> src="images/shared/home/bathroom/deodorant_preg.jpg"></center>', '<center><img <<$set_imgh>> src="images/shared/home/bathroom/deodorant.jpg"></center>')
+            'You apply deodorant to your armpits. It will keep you feeling fresh and clean for longer.'
+            act 'Continue': menu_off = 0 & gt $loc, $loc_arg
+        end
+    end  
+end
+
+
+
+if $ARGS[0] = 'kitchen'
+    !! Location facilities
+    if $location_type = 'private':
+        !! Home or parents kitchen
+        dynamic $edasnack
+        dynamic $sandwich
+        dynamic $driwater
+        dynamic $dritea
+        dynamic $fill_bottle
+        dynamic $pranik
+        dynamic $fatdel
+        dynamic $lekarstvo
+        dynamic $vitamin 
+    elseif $location_type = 'public_indoors':
+        !! canteen type location
+        dynamic $driwater
+        dynamic $dritea
+        dynamic $fill_bottle
+    elseif $location_type = 'communal':
+        !! shared or communal kitchen
+        dynamic $edasnack
+        dynamic $sandwich
+        dynamic $driwater
+        dynamic $dritea
+        dynamic $fill_bottle
+        dynamic $pranik
+        dynamic $vitamin 
+    end    
+    !! Default facilities
+end
+
+
+
+if $ARGS[0] = 'bedroom':
+!! Default facilities
+    if $location_type = 'private':
+        act 'Relax on your bed': gt 'bed', 'start'
+        act 'Open wardrobe': gt 'wardrobe', 'start'        
+        if pcs_horny >= 50:
+            act 'Masturbate':gt 'selfplay', 'start'
+        end
+        gs 'events', 'read'
+        gs 'exercise', 'start'
+
+    elseif $location_type = 'guest':
+    elseif $location_type = 'private_shared': 
+        act 'Relax on your bed': gt 'bed', 'start'
+        act 'Open wardrobe': gt 'wardrobe', 'start'        
+        if pcs_horny >= 50:
+            act 'Masturbate':gt 'selfplay', 'start'
+        end
+        gs 'events', 'read'
+        gs 'exercise', 'start'
+    end
+
+
+end
+--- core_library ---------------------------------

+ 47 - 7
locations/journal.qsrc

@@ -39,13 +39,12 @@ if $ARGS[0]='journalmenu':
 	*clr & cla
 	gs 'stat'
 	*nl
-	if $start_type[1] ! 'nomagic':
-        $tablebody = '<tr><th><a href="exec:menutrack = 0 & gs ''journal'', ''magictab''">Magic</a></th><th><a href="exec:menutrack = 1 & gs ''Journal'', ''housingtab''">Housing</a></th><th><a href="exec:menutrack = 2 & gs ''journal_work'', ''start''">Work</a></th><th><a href="exec:menutrack = 2 & gs ''journal_quests'', ''start''">Quests</a></th><th><a href="exec:menutrack = 4 & gs ''journal'', ''relationstab''">Relations</a></th><th><a href="exec:menutrack = 5 & gs ''journal'', ''generaltab''">Game Information</a></th><th><a href="exec:menutrack = 6 & gs ''journal'', ''notestab''">Notes</a></th><th><a href="exec:menutrack = 7 & gs ''journal'', ''notification_log''">Notifications</a></th></tr>'
-    
-    else
-        $tablebody ='<tr><th><a href="exec:menutrack = 1 & gs ''Journal'', ''housingtab''">Housing</a></th><th><a href="exec:menutrack = 2 & gs ''journal_work'', ''start''">Work</a></th><th><a href="exec:menutrack = 2 & gs ''journal_quests'', ''start''">Quests</a></th><th><a href="exec:menutrack = 4 & gs ''journal'', ''relationstab''">Relations</a></th><th><a href="exec:menutrack = 5 & gs ''journal'', ''generaltab''">Game Information</a></th><th><a href="exec:menutrack = 6 & gs ''journal'', ''notestab''">Notes</a></th><th><a href="exec:menutrack = 7 & gs ''journal'', ''notification_log''">Notifications</a></th></tr>'
-    ! menu
-    end
+
+	$tablebody = '<tr><th><a href="exec:menutrack = 0 &'
+	if $start_type[1] ! 'nomagic': t$tablebody += 'gs ''journal'', ''magictab''">Magic</a></th><th> &'
+	$tablebody += '<a href="exec:menutrack = 1 & gs ''Journal'', ''housingtab''">Housing</a></th><th><a href="exec:menutrack = 2 & gs ''journal_work'', ''start''">Work</a></th><th><a href="exec:menutrack = 2 & gs ''journal_quests'', ''start''">Quests</a></th><th><a href="exec:menutrack = 4 & gs ''journal'', ''relationstab''">Relations</a></th><th><a href="exec:menutrack = 5 & gs ''journal'', ''generaltab''">Game Information</a></th><th><a href="exec:menutrack = 6 & gs ''journal'', ''notestab''">Notes</a></th><th><a href="exec:menutrack = 7 & gs ''journal'', ''notification_log''">Notifications</a></th></tr>'
+	if alterstrtimg = 13 or (mod_ballet['letter'] > 0 or balletqw['school'] > 0): '& <a href="exec:menutrack = 8 & gs ''Journal'', ''ballet''">Ballet</a></th><th>'
+
 	!display the table here.
 	
 	'<center><table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top"><tr><<$tablebody>></tr></table></center>'
@@ -439,6 +438,7 @@ if $ARGS[0] = 'generaltab':
 	'<br><center><a href="exec: gs ''journal'', ''pav_res''">Pavlovsk Residents</a></center>'
 	'<br><center><a href="exec: gs ''journal'', ''gad_res''">Gadukino Residents</a></center>'
 	'<br><center><a href="exec: gs ''journal'', ''city_res''">City Residents</a></center>'
+	if mod_ballet['blocker'] >  0 or balletqw['school'] > 0: '<br><center><a href="exec: gs ''journal'', ''ballet''">Ballet Career</a></center>'
 
 	if SchoolAtestat = 0 and mid($start_type, 1, 2) = 'sg' and SchoolBlock = 0: 
 		'<br><center><a href="exec: gs ''journal_school'', ''school''">School</a></center>
@@ -486,6 +486,45 @@ end
 !!---------------------------------!!
 
 
+
+!! -- Ballet School infor - only shown if active
+
+
+if $ARGS[0] = 'ballet':
+	$jumploc = 'ballet'
+	'<center><h1>Ballet Career</h1></center>'
+	'<center><img <<$set_imgh>> src="mod/img_ballet/system/readme.jpg"></center>'
+	
+	'Пан или пропал (You become the master or, leave).'
+	
+	'A narrative based mod and activities for the Dancer start. The MC has been given a grant to attend a intensive 6 day summer class with an assessment, that if, she passes can lead to a weekly rehearsal and a Winter dance show in December.'
+	
+	'Note: this storyline will play out over a long time span and your actions will have consequences that won''t be obvious initially. Some of this is dependent on the development of main Girl Life codebase.'
+	
+	 'Current and planned features:'
+	
+		'• New dancer start option, with other starts being granted access later or uni/city years pay to join.'
+		'• 6 day intensive course during the school summer break - look for the letter at your parents kitchen to notify you.'
+		'• New pen friend(s), with meet ups and theatre or ballet nights with family or partner.'
+		'• Dance instructor, who''s intentions may prevent MC from joining the Pushkin Ballet Company or could have far ranging consequences on both on herself and NPC characters.'
+		'• New dance gigs, at each rehearsal there''s a chance that you may get dance job for the local theatre or the city if you passed with merit.'
+	
+	'NB: There is no sex acts in this mod at present, if you wish to write scenes based on the content contact me at the Girl Life Discord Server.'
+	
+	'<center><h2>In Memoriam — Hooded Silence.</h2></center>'
+	*nl
+	'This content is being maintained as part of Hooded Silence''s legacy, I have approximately 1-2 years of original content to add but if you wish to contribute then note there is no sexual content in this mod until at least year 3 as per his notes. '
+	'This is a narrative driven addition to the game and your actions do and will count towards what happens both for yourself and others. These moments are easily missable but they will represent consquences of your decisions such as:'
+	*nl
+	'   • Failure to adhere to the residential schools rules or live up to the high standards of the school.'
+	'   • Get drunk too often or fall pregnant  - kicked off the Corp De Ballet.'
+	'   • Fail to maintain your appearance - reprimands or loss of income, leading to expulsion.'
+		
+	*nl
+	'These are the obvious repercussions, but there will be subtle consequences for your interactions with NPCs. This mod is meant to be played blind for your initial playthrough and the only feedback will be the varying conversations'
+	
+end
+
 if $ARGS[0] = 'notification_log':
 	$jumploc = 'notification_log'
 	gs 'journal', 'journalmenu'
@@ -893,6 +932,7 @@ elseif $ARGS[0] = 'city_res':
 	gs 'journal', 'leaveactions'
 end
 
+
 !! Helper functions
 
 if $ARGS[0] = 'relindex':

+ 24 - 0
locations/journal_quests.qsrc

@@ -634,6 +634,30 @@ if yearstart > 1:
 	!*nl
 	gs 'anushka_konstantinov_schedule', 'journal'
 end
+!! Ballet Content
+if alterstrtimg = 13 or (mod_ballet['letter'] > 0 or balletqw['school'] > 0):
+
+	if mod_ballet['letter'] ! 1 and balletqw['school'] < 1:
+		'You have been a ballerina since a child and you have excelled in your dance class. Your name was put for the yearly entrance assessments which are being held during the summer and you are hoping for a invitation to the prestigious Pushkin Ballet Academy.'
+	end
+	if 	mod_ballet['letter'] = 1 and balletqw['school'] < 1:
+		'You have accepted the opportunity at the Pushkin Ballet Academy. Transport is provided for the week long course from the Pavlosk Community Centre. '
+		'Departure: 3rd July between 1600 and 1700.'
+		'Ensure you have sufficient toiletries and work on your appearance, physical and dance skills. Note this is a residental school in Pushkin and has strict rules, ensure you have wrapped up any unfinished business before departing.'
+	end
+	if balletqw['school'] > 1:
+		!! 'You failed the course, there may be other opportunities if you want to achieve your ambition of being a ballerina.'
+		'You have been accepted into the Pushkin Ballet School. End of Quest at present.'
+	elseif balletqw['school'] = 2:
+		'You got accepted into the without any noticeable distinction.'
+	elseif balletqw['school'] = 3:
+		'You brokered a deal with Randolph to get accepted into the school.'
+	elseif balletqw['school'] = 4:
+		'Maya helped you get into the dance school by pulling some strings.'
+	elseif balletqw['school'] = 5:	
+		'Congratulations you excelled the examination, you was one of the best dancers of this years intake.'
+	end
+end
 
 --- journal_quests ---------------------------------
 

+ 6 - 0
locations/marlilnsky_theatre.qsrc

@@ -0,0 +1,6 @@
+# marlilnsky_theatre
+
+!! Author: Hooded Silence
+!! The most prestigious theatre in Russia. Located in St P.
+
+--- marlilnsky_theatre ---------------------------------

+ 6 - 0
locations/maya_residence.qsrc

@@ -0,0 +1,6 @@
+# maya_residence
+
+!! Author Hooded Silence
+!! Maya''s flat in Pushkin - Early years. Inherited from mother.
+
+--- maya_residence ---------------------------------

+ 173 - 0
locations/npc_3501_init.qsrc

@@ -0,0 +1,173 @@
+# npc_3501_init
+!! Maya Semionova 
+!! Main dance companion to Sveta, potential love interest. Charming, intelligent, natural beauty and focused on proving herself to her mothers memory, despite being in the public eye for much of her life she''s reserved.
+!! Potential gateway to a dance troupe during second year uni and become a corps de ballet in St Petersburg, alongside a room mate with flat sharing.
+!! Appearance tall, blonde with the lithe body of a ballet dancer, blue eyes with Slavic features. She will intervene and create a false ID for Sveta to gain a Corp de Ballet place if she''s earned a slut rep or fails her assessment, leading to a potential downfall to either character by Rudolph through his coercion based on players choices.
+!! She has a bright, optimistic personality and highly focused. She's a virgin at the start of her arc, and is unsure about her sexuality due to her having little or no free time out of school and ballet to form romantic relationships.
+!! She has a reserved, shy nature preferring to lose herself in dance training or school books as an escape from the loss of her mother rather than form close friendships. She masks this by having a stage persona, which often appears the opposite of who she is.
+!! The character can be romanced to become a partner , or become a soulmate to gossip to over coffee, meals or ballet shows even if Sveta doesn't pass the assessment. If romantic relationship formed they dream to be free to run away from Russia to get married in the West to avoid scandal.
+
+!! 
+
+!! Init first event - triggered from pushkin_ballet_res, bedroom
+
+if $ARGS[1] = 'grave':
+	time += 5
+	gs 'stat'
+	'<<$npc_firstname[''A3501'']>> enters your room, "<<$pcs_nickname>>, do you have some free time?"'
+	'"Sure, what do you need, <<$npc_firstname[''A3501'']>>? Some more practice?"' 
+	'"I need to go somewhere, but I don''t want to go alone," <<$npc_firstname[''A3501'']>> says, avoiding the question, her eyes looking at the floor.'
+	'"Are you okay?" you ask, concerned about her. You briefly think you saw the pain in her eyes before she looked away, but you remain unsure.'
+	'"I just need to go to the graveyard tonight. It''s something I need to do. I understand if you don''t want to come." Something in her voice leaves you puzzled, but you''re not sure what it is.'
+    
+	act 'Go to the graveyard' : mayaqw['grave'] = 2 & gt 'npc_3501_init', 'graveyard_memorial' 
+	act 'Say sorry, you''re studying' : mayaqw['grave'] = 1 & npc_trust['A3501'] -= 5 & gt 'pushkin_ballet_res', 'bedroom' 
+    
+end
+
+if $ARGS[0] = 'graveyard_memorial':
+	*clr & cla
+	minut += 45
+	gs 'stat'
+   
+	'<center><h2>Pushkin Graveyard</h2></center>'
+	'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+
+	'You agree to <<$npc_firstname[''A3501'']>>''s strange request. You grab your coat before the two of you head out of your bedroom. You take the short walk from your residence to the graveyard, a quiet location. <<$npc_firstname[''A3501'']>> has been quiet during your walk, totally unlike her usual boisterous self. However, you''re unsure how to break the silence when she touches your arm.'
+	'You pause and look towards her. "Thank you, <<$pcs_nickname>>, for coming with me. You''re probably wondering why we''re here." Grief fills her eyes, showing the pain that she''s been holding back. <<$npc_firstname[''A3501'']>> starts to walk again until you come to a grave.'
+	*nl
+	'Standing at the grave, you see the name Anitchka Semionova engraved on the gravestone. You realize that this must be her mother who died 6 years ago, looking at the dates. You look at <<$npc_firstname[''A3501'']>> and see the tears start to form in her eyes.'
+	act 'Hug <<$npc_firstname[''A3501'']>>':
+		*clr & cla
+		gs 'npc_relationship', 'modify', 'A3501', 'like'
+		npc_trust['A3501'] += 5
+		gs 'stat'
+		'<center><h2>Pushkin Graveyard</h2></center>'
+		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+		'You step in, pulling her close to you. You smell the soft, floral fragrance she wears, and she starts to cry. You just hold her waiting for the storm of tears to pass. You reach into your purse to take out a tissue and hand it to <<$npc_firstname[''A3501'']>>.'
+		act 'Talk to <<$npc_firstname[''A3501'']>>':
+			*clr & cla
+			'<center><h2>Pushkin Graveyard</h2></center>'
+			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+			'<<$npc_firstname[''A3501'']>> gives you a warm smile as she takes the tissue. "Sorry for being such a mess, <<$pcs_nickname>>. This is why I dance. I owe it to my mum. She was a ballet dancer herself, and I inherited her talent."'
+			*nl
+			'You squeeze her hand to encourage her. Then, you put your coat on the ground for both of you to sit on. "Take your time, <<$npc_firstname[''A3501'']>>", you coax her softly.'
+			'"I''m not usually this bad," <<$npc_firstname[''A3501'']>> replies. "It''s just that getting a place on this course is a major achievement for me. Do you mind and give me a moment alone, please?" She looks vulnerable as she makes the request.'
+			'"Sure, <<$npc_firstname[''A3501'']>>. I''ll be beside those trees."'
+			act 'Wait':
+				*clr & cla
+				'<center><h2>Pushkin Graveyard</h2></center>'
+				'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+				'You pick up your coat and start walking to the bench near the main entrance, brushing the grass and leaves from your coat. You sit down and look towards <<$npc_firstname[''A3501'']>> but can''t see her. You pull out your phone and play a game to distract yourself.'
+				*nl
+				'You look up, hearing footsteps, and it''s <<$npc_firstname[''A3501'']>> coming back. Her eyes were red and puffy from crying. You stand up to meet her, "You look a fright, <<$npc_firstname[''A3501'']>>. Let me fix your makeup."'
+				'Before she can say anything, you pull her to the bench and start cleaning her up. As you quickly finish the touch-up, <<$npc_firstname[''A3501'']>> just sits there, lost in her own world.'
+				*nl
+				'"There, that''s better. I don''t have all my makeup with me, but at least you''re presentable now," you give a small laugh and smile to show you''re joking, and she laughs with you. The first genuine sign all evening that she''s coming out of whatever bothers her is, "Thank you, <<$pcs_nickname>>. I don''t know if I could have done this without you.'
+				'"Don''t worry about it," you reply. "Come on, we need to get back, or we''ll get into trouble with Bronya!" <<$npc_firstname[''A3501'']>> gives you a quick hug in gratitude, and somehow her hand finds yours as you make your way back to your residence.'
+                
+				act 'Head back' : gt 'npc_3501_init', 'post_grave' 
+			end
+		end
+	end
+
+	act 'Talk to <<$npc_firstname[''A3501'']>>':
+		*clr & cla
+		'<center><h2>Pushkin Graveyard</h2></center>'
+		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/graveyard.jpg"></center>'
+		'<<$npc_firstname[''A3501'']>> gives you a warm smile as she takes the tissue. "Sorry for being such a mess, <<$pcs_nickname>>. This is why I dance. I owe it to my mum. She was a ballet dancer herself, and I inherited her talent."'
+		'You squeeze her hand to encourage her. Then, you put your coat on the ground for both of you to sit on. "Take your time, <<$npc_firstname[''A3501'']>>", you coax her softly.'
+		'"I''m not usually this bad," <<$npc_firstname[''A3501'']>> replies. "It''s just that getting a place on this course is a major achievement for me. Do you mind and give me a moment alone, please?" She looks vulnerable as she makes the request.'
+		'"Sure, <<$npc_firstname[''A3501'']>>. I''ll be beside those trees."'
+		act 'Wait':
+			'You pick up your coat and start walking to the bench near the main entrance brushing the grass and leaves from your coat. You sit down and look towards <<$npc_firstname[''A3501'']>> but can''t see her. You pull out your phone and play a game to distract yourself.'
+			*nl
+			'You look up, hearing footsteps, and it''s <<$npc_firstname[''A3501'']>> coming back. Her eyes were red and puffy from crying. You stand up to meet her, "You look a fright, <<$npc_firstname[''A3501'']>>. Let me fix your makeup."'
+			'Before she can say anything, you pull her to the bench and start cleaning her up. As you quickly finish the touch-up, <<$npc_firstname[''A3501'']>> just sits there, lost in her own world.'
+			*nl
+			'"There, that''s better. I don''t have all my makeup with me, but at least you''re presentable now," you give a small laugh and smile to show you''re joking, and she laughs with you. The first genuine sign all evening that she''s coming out of whatever bothers her is, "Thank you, <<$pcs_nickname>>. I don''t know if I could have done this without you.'
+			'"Don''t worry about it," you reply. "Come on, we need to get back, or we''ll get into trouble with Bronya!"'
+			act 'Head back' : gt 'npc_3501_init', 'post_grave'
+		end
+	end
+end
+
+!! Init second event - triggered from pushkin_ballet_res, bedroom decides if Maya helps at quest point.
+
+if $ARGS[0] = 'post_grave':
+   
+	if mayaqw['grave'] = 1:
+		*clr & cla
+		minut += 15
+		'<center><h2>Residental Bedroom</h2></center>'
+		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/bedroom.jpg"></center>'
+		'<<$npc_firstname[''A3501'']>> enters your room, and you can see she''s been crying. "<<$pcs_nickname>>, do you have a moment?"'
+		'"Sure," you reply, wondering if you will get answers as to why she''s has been crying. She sits on your bed and stays silent for a few moments.'
+		'"<<$pcs_nickname>>, how much do you know about me?"'
+		'"Nothing, we only just met this week!" you say.'
+
+		act 'Continue talking': mayaqw['grave'] = 3 & gt 'npc_3501_init', 'post_grave'
+	end
+	if mayaqw['grave'] = 2:       
+		gs 'npc_relationship', 'modify', 'A3501', 'like'
+		minut += 20
+		gs 'stat'
+		'<center><h2>Residental Bedroom</h2></center>'
+		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/bedroom.jpg"></center>'
+		'You enter your room together and see that <<$npc_firstname[''A3501'']>> is still subdued. "You want some tea <<$npc_firstname[''A3501'']>>?" she looks up and nods before she starts dabbing her eyes with the handkerchief. '
+		act 'Go to the kitchen':  
+			*clr & cla
+			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/gasha_raid.jpg"></center>'
+			'You quickly leave the room and bump into Gasha doing a snack raid. She jumps as she sees you, almost dropping her loot. She has a guilty expression. You''re about to say something, but she''s off before you can get a word out, leaving you to shake your head in amusement.' 
+			act 'Make tea':
+				*clr & cla
+				'<center><h2>Residental Kitchen</h2></center>'
+				'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/kitchen.jpg"></center>'
+				'You make some strong tea and head back to your room. <<$npc_firstname[''A3501'']>> is laying on your bed with her eyes closed.'
+				'You approach her and lead down to touch her hand. "<<$npc_firstname[''A3501'']>>, you awake?"'
+				'She opens her eyes and gives you a small smile, "Yes, <<$pcs_nickname>>. You brought the tea, thank you. You''ve been too good to me tonight."'
+				'<<$npc_firstname[''A3501'']>> settles down and starts to talk. "<<$pcs_nickname>>, how much do you know about me?"'
+				'"Nothing, we only just meet this week!" you reply, giving a small laugh.'
+                
+				act 'Continue talking': mayaqw['grave'] = 4 & gt 'npc_3501_init', 'post_grave'
+			end
+		end
+	end
+	if mayaqw['grave'] >= 3: 
+		minut += 20
+		gs 'stat'
+		if mayaqw['grave'] = 3:
+			*clr & cla   
+			'<center><h2>Residental Bedroom</h2></center>'
+			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/bedroom.jpg"></center>'
+		else  
+			*clr & cla
+			'<center><h2>Residental Bedroom</h2></center>'
+			'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/tea_bed.jpg"></center>'
+		end
+
+		'"Yeah, that''s true. Sorry, I''m used to everyone knowing who I am. You''re the first person that treats me like a person rather than some fragile piece of China."'
+		'"Why?" you ask.'
+		'"I''m the daughter of Anitchka Semionova."'
+		'"Wait," you ask in surprise. "<i>THAT</i> Anitchka Semionova?" You remember the stories you heard when you attended dance school about her career and how wonderful she was as a dancer and that she was a local celebrity.' 
+		'"Yes, <<$pcs_nickname>>. That Anitchka Semionova, she was my mother. Now you understand, I''ve always had to live in her shadow."'
+		'"My mother was a freelance ballet coryphée and was touring when she was given the news of terminal cancer." she starts crying again. You draw her into your arms, comforting her, and she rests her head on your shoulder.'
+		'"It''s okay, she''s been dead six years, but being at this school reminded me of how much she''d have been proud of me and getting a place on this course." She dabs the tears from her face, looking down at the floor.'
+		'"It''s getting late, and we''ve got a lot to prepare for. I should be going," she says in a soft voice.'
+		'"Are you sure, <<$npc_firstname[''A3501'']>>?"'
+		'"Yes, thank you for the tea." She gives you the first warm smile of the evening.'
+		'"Any time. You know where you can find me if you need to talk."'
+		'"Thank you, <<$pcs_nickname>>." With that, she slips quietly out of the room, lost in her thoughts, leaving you to your own about the evening''s events.'
+
+
+		act 'Watch' : gt 'pushkin_ballet_res', 'bedroom'
+	end
+end
+
+!! Career Events - highlights of career, initialise show, joining the Corp de Ballet.
+
+!! Maya Path multiple join points
+
+!! Rudolph Path - init if received discipline points or failed course
+
+--- npc_3501_init---------------------------------

+ 10 - 0
locations/npc_3510_init.qsrc

@@ -0,0 +1,10 @@
+# npc_3510_init
+!! Rudolph Baryshnikov
+!! Failed dancer due to injury. Member of the board and instructor. Potential couch caster, despite his charm it masks a bitter nature over his failures and isn''t afraid to take that out on students or sabotage students careers if they cross him.
+!! Will help with Sveta's career if she has a high enough slut rep or has failed her assessment, only in the first year in dance school. Uni years will be approached differently.
+!! Appearance: tall, short black hair and is a charismatic charmer. Is an influential character and will use the power to get what he wants.  Descends from Russian Aristocracy but never admits it but this gives him a lot of influence and power.
+!! His personality is a coercive and dominant, he likes to make his victim to feel helpless so they become dependent on him. Sex is secondary, it''s' all about control and subverting their victims into doimg what he wants.
+!! The corruption of Sveta is slow and insidious making her question everything about dance, her life and who she is if she falls under his influence. Maya can only help up to a point before potentially falling victim to Rudolph herself.
+!! В тихом омуте черти водятся. be wary the calm pools are inhabited by devils.
+
+--- npc_3510_init---------------------------------

+ 22 - 0
locations/pushkin_ballet_center.qsrc

@@ -0,0 +1,22 @@
+# pushkin_ballet_center
+
+!! This is where the dance school accomodation is located, just off the city centre.
+!mod event. remember to add a act to exit
+
+
+if $ARGS[0] = '' or $ARGS[0] = 'start':
+    gs 'shortgs', 'setloc', 'ballet_pushkin_center', $ARGS[0]
+    $region = 'puskin'
+    $setloc['StageTitle'] = 'Pushkin Residential School'
+	$setloc['StageImage'] =  '/pushkin/residence/residence'
+    menu_off = 0
+    if sound = 0:PLAY 'sound/street.mp3',30
+    gs'stat'
+    gs 'core_library', 'stage_title'
+
+    'You can see the apartment block that''s been converted into a residential accomodation for the school. The street always seems to be packed with cars but there is few people on the street at this time.'
+
+    act 'Press the buzzer': gt 'pushkin_ballet_res', 'warden'
+    act 'Back to street': gt 'pushkin_sq'
+end
+--- pushkin_ballet_center ---------------------------------

+ 661 - 0
locations/pushkin_ballet_class.qsrc

@@ -0,0 +1,661 @@
+# pushkin_ballet_class
+
+!! Date Created: 17th Sept, 2022
+!! Version .01 initial release
+!! Author Hooded Silence
+!!
+!! Ballet Summer School - Lessons and day schedule
+!!
+!! Classes start 0800 and finish at 1700
+!! 0800 - 0900 - Stretches / Pilates - unknown instructor
+!! 0900 - 1100 - Group  barre work and pose - Biserka Ananiashvili
+!! 1100 - 1200 - Make up theory and practice unknown instructor
+!! 1200 - 1300 - Lunch
+!! 1300 - 1600 - Pas de Deux and solo barre and movement practice - Biserka Ananiashvili
+!! 1600 - 1700 - Ballet and musical theory - Sofia Solovyova
+!!
+!! Variables
+!!
+!! ballet_day - Sets which day of the course you are on
+!! nclass - tracks next lesson (used for shower scene change)
+
+if $ARGS[0] = 'start':
+    *clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_class', $ARGS[0] 
+    $location_type = 'public_indoors'
+    $setloc['StageTitle'] = 'Terpsichore Wing'
+	$setloc['StageImage'] =  'pushkin/school/daily/hall'
+
+    !! carried over from res kitchen
+    killvar 'sharedmeal' 
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+    gs 'core_library', 'stage_title'
+    
+    ! Random trivia -  Terpsichore is one of the nine Greecian muses. Her sphere was dance, rhythm and choral music.
+
+    if ballet_day = 6 and balletqw['school'] ! 1:
+        gt 'pushkin_ballet_class', 'assessment'
+    elseif ballet_day = 6 and balletqw['school'] = 1:
+        *clr & cla
+        gs 'stat'
+        gs 'core_library', 'stage_title'
+        *nl
+        if mayaqw['grave'] = 4:                
+            'You''ve done it. You''ve survived until the end of the week. Then, <<$npc_firstname[''A3501'']>>. runs up to you and gives you a big hug. "What''s that for?" you ask. "For being a friend and my dance partner," she says with a big smile.'
+            'It''s been great to meet you, <<$pcs_nickname>>. I hope we meet again and can work together." You pretend to think for a moment and see the worried expression on her face. "Sure, it''s been fantastic to meet you, and I''ll keep in touch."'
+        elseif mayaqw['grave'] < 4:
+            'You''ve done it. You''ve survived until the end of the week. Then, <<$npc_firstname[''A3501'']>>. comes up to you and gives you a quick hug. "What''s that for?", you ask. '
+            '"For being my dance partner!" she says with a smile.'
+            '"It''s been wonderful to meet you, <<$pcs_nickname>>. I hope we meet again and can work together."'
+            '"Sure, it''s been great to meet you too, I''ll keep in touch. Once I know my results, I''ll let you know.'
+            '"Yeah, and I''ll do the same, <<$pcs_nickname>>"'
+        end
+        *nl
+        'At that moment, Birserka comes out of the examination room. "Thank you all for attending this week. I hope you all had a great experience and have taken these lessons to heart." You and your class murmur together in agreement.'
+        '"The school will be in touch in a few weeks to give your assessment marks and if we have decided to grant you a place in our apprenticeship program." '
+        'You know the places are going to be hard fought over, and you glance at <<$npc_firstname[''A3501'']>>.'
+        'She gives you a wink indicating she has confidence in your acceptance into the school.'
+        *nl
+        'You grab a shower before you leave to catch the bus that is waiting for you outside. Standing next to it is Biserka, who addresses you all once you''ve gathered. "I wish you all the best for your future." With that, Birserka returns back into the school.'
+        dynamic $showerdin	
+        gs 'stat'
+        gs 'pushkin_ballet_init', 'cleanup_var'
+        act 'Return home' : gt 'pav_commcenter'  
+    elseif balletqw['school'] ! 1 and ballet_day = 1:
+		'You are chaperoned to your school by Bronya. After a short journey, you were standing outside a classroom and told to wait by Bronya. You look around you at various photographs and artwork of dancers and performances.'
+		'You look at the girls you are with, with a few of them trying to catch your attention, but before you can talk to them, Bronya has come back from the classroom. "You can enter now, girls."'
+         act 'Attend class': gt 'pushkin_ballet_class', 'pilates'
+    elseif balletqw['school'] ! 1 and ballet_day > 1:
+		'You head to school with your group, and you can see a few of your classmates gossiping up front, but you are left to your own thoughts. Before you realise it, you''re standing at the doors to your first lesson.'
+        act 'Attend class': gt 'pushkin_ballet_class', 'pilates'
+    end
+end
+
+if $ARGS[0] = 'pilates':
+    *clr & cla
+    gs 'pushkin_ballet_init', 'daily_assessment'
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+    $setloc['StageTitle'] = 'Pilates'
+	$setloc['StageImage'] =  'pushkin/school/daily/pilates_2'
+    nclass = 1
+    if ballet_day = 1:
+
+        if minut > 0:
+            minut = 0
+        end
+        hour = 8
+        gs 'stat'
+        gs 'core_library', 'stage_title'
+
+        'You''re led to the class by Bronya Volkova, who tells you all to wait outside and disappears into the classroom. A few minutes later, she steps out and opens the door. "In you go, girls. Remember from this point, be polite, respectful and, above all else, dedicated."'
+        'You enter a large studio with dance equipment and mirrors on the wall. A large corner window lets natural light flood in. In the corner stands a sturdy piano made of polished mahogany. Two ladies are standing watching you file in.'
+        'Your group forms a gaggle near the door. One of the ladies shouts out for you to take your positions! Your group automatically fans out and instinctively falls into the First Position.'
+        '"Good." She walks past each girl looking for mistakes. Then, she turns around and walks back to the front. As she reaches the front, she says, "You can relax, I''m Biserka Ananiashvili, and I''ll be your instructor this week." Then, she turns and indicates towards the other woman. "This is Sofia Solovyova. She will be your music instructor and class pianist."'
+        '"You have all been selected to attend this week by merit or determination. You are the select few that''ll represent the Pavlova Class. You are the best of this year''s intake and have been chosen to attend this course to further your passion for dance and ballet."'
+        '"This week will be intensive. You will live, breathe, and dance your hearts out during your time here. I expect no less from each of you. You represent the school. If you exhibit any behaviour that negatively affects the school''s reputation, you will be dismissed. Understood? Good."'
+        cla
+        act 'Start Pilates':
+            *clr & cla
+            time += 50
+            ! set Pain
+            ! increase stats gain for endurance/strength.
+            gs 'exercise', 'tier1', 30, 'agil_exp', 'stren_exp'
+            gs 'sweat', 'add', 20
+            gs 'stat'
+            gs 'core_library', 'stage_title'
+            '"Refer to your dorm''s induction books for the daily course lessons, but now that introductions are out of the way, let us start stretching with pilates."' 
+            '"Hands up; who knows why we do Pilates over Yoga?"'
+            'One of the girls put her hand up. '
+            '"You are?" Biserka asks. "Nikita Volkova," the girl replies.' 
+            '"Bronya''s daughter?"'
+            '"Yes, Miss."'
+            '"So, what are the differences?", Biserka asks brusquely.'
+            '"Yoga is about spirituality and flexibility, and Pilates is about strengthening your mind and core body."'
+            '"Excellent answer, that''s why we will do pilates each morning. If you do yoga exercises, then you will find this easy."'
+            'With that, Biserka leads the class through strenuous exercises designed to strengthen and stretch your muscles. After an hour, your body slightly aches from the warm-up exercises.'
+
+            act 'Next class': gt 'pushkin_ballet_class', 'first_lesson'
+        end
+
+    elseif ballet_day => 2:
+        *clr & cla
+        if minut > 0:
+            minut = 0
+        end
+        hour = 8
+        minut += 60
+        ! set Pain
+        ! increase stats gain for endurance/strength.
+        gs 'exercise', 'tier1', 30, 'agil_exp', 'stren_exp'
+        gs 'sweat', 'add', 20
+        gs 'stat'
+        gs 'core_library', 'stage_title'
+        'You all file into the class for your pilates lesson. It''s a different teacher today. Still, before you can settle in, she''s already guiding you on how to use the various bits of equipment. After an hour, your muscles ache from the exercises.'
+        '"Remember, students, stretching, warm-ups and a disciplined fitness regime are needed to be a dancer. You''re an elite athlete. Remember this at all times." You notice Gasha blush in the back and wonder what caused that reaction. You grab a quick drink of water at the end of the class before heading to your next class.'
+        pcs_hyda += 30
+
+        act 'Next class': gt 'pushkin_ballet_class', 'first_lesson'
+    end
+end
+
+if $ARGS[0] = 'first_lesson':
+    *clr & cla
+    hour = 9
+    minut = 0
+    pcs_sleep -= rand(1,10)
+    gs 'pushkin_ballet_init', 'daily_assessment'
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+    $setloc['StageTitle'] = 'Dance Class'
+	$setloc['StageImage'] =  'pushkin/school/daily/ballet_class_002'
+    nclass = 2
+    gs 'stat'
+
+    if ballet_day = 1 :
+        ! Set stats for modern dance
+        gs 'exercise', 'tier3', 90, 'agil_exp', 'stren_exp', 'danc_exp'
+        gs 'sweat', 'add', 30
+        pcs_sleep -= rand(1,10)
+        gs 'stat'
+        gs 'core_library', 'stage_title'
+
+        '"Listen up!" shouts Biserka, "I want you to introduce yourselves. Once introductions are done, I''ll assign you to a dance partner for the week."'
+        'Biserka points to the student that''s furthest from you. Seeing her being picked first, she gets a panicked look and stutters ""I..I... I''m G... Galina Molchalina," she says in a final rush to get her name out, her face crimson with embarrassment.'
+        'Biserka frowns. "You need to work on your confidence and presentation, Galina." "Yes, Ms. Ananiashvili," replies Galina, wilting a bit under her gaze.'
+        '"You." Biserka points to another student. "I''m Taisiya Lebedeva." You look at her effortless grace in envy as she curtseys to Birserka. You noticed her captivating beauty when you entered the studio earlier in the morning.'
+        'Biserka points to another student. "Kima Agapova," Kima calls out, also performing another elegant curtsey. Biserka keeps pointing out the students who introduce themselves, and you finally get your chance to introduce yourself to the class.'
+        '"Now we''ve introduced yourselves. I will assign your study partner for this week." Biserka starts calling out names, and the girls move into pairs as they''re assigned.'
+        '"<<$pcs_nickname>> is fine <<$npc_firstname[''A3501'']>>", you reply.'
+        'Biserka moves to the front of the class and claps her hands for attention. She nods to Sofia, who sits at the piano and starts playing. Biserka starts a nearly flawless ballet routine demonstrating her elegance and mastery of what she teaches.'
+        'Once Biserka stops her performance, she thanks Sofia and turns back to the class.'
+        '"That is what I expect from you this week. You have been all shortlisted as the best dancers in this area, and I expect no less from you all. Topics this week will include basic technique, classical performances, divertissement, and Pas de Deux. In addition, there will be an informal grading assessment on Saturday, of which the three best dancers will be offered to join the theatre."'
+        'For the next hour, Biserka puts you through a series of demanding exercises going to each girl to guide her posture with a quick word or touch.'
+        *nl
+        'The lesson concluded with the traditional Reverence to Biserka and Sofia.'
+                
+        act 'Go to the showers' : gt 'pushkin_ballet_class', 'shower'
+    end
+
+    if ballet_day = 2:
+        ! Set stats for modern dance
+        gs 'exercise', 'tier3', 90, 'agil_exp', 'stren_exp', 'danc_exp'
+        pcs_sleep -= rand(1,10)
+        gs 'sweat', 'add', 30
+        gs 'stat'
+        gs 'core_library', 'stage_title'
+
+        'You sit in the class, take your ballet shoes out of your shoe bag, and fit them on. <<$npc_firstname[''A3501'']>> comes over to talk to you and starts giving tips on your ballet shoes and how to wear them. You give her a quick smile and thank her when Biserka walks through the door. She claps her hands to get everyone''s attention.'
+        '"Yesterday showed me what you were all capable of. Today we are going through the assessment requirements. The assessment is for both group and individual routines. I expect everyone here to diligently practice with their assigned partners over the next week."'
+        '"Do I make myself clear?" There''s a chorus of ''Yes, Ms. Ananiashvili.'' She looks over the class, gauging her students'' expressions. "Excellent, now I want everyone to team up with your partner and, today, we will concentrate on your form and poise."'
+
+        'class event'
+        
+		'As with the previous lesson, it concluded with the traditional Reverence to Biserka and Sofia. Today you perform ports de bras to pay your respects.'
+
+        act 'Go to the showers' : gt 'pushkin_ballet_class', 'shower'
+    end
+
+    if ballet_day = 3:
+        ! Set stats for modern dance
+        gs 'exercise', 'tier4', 90, 'agil_exp', 'stren_exp', 'danc_exp'
+        gs 'pain', 2, 'legL', 'stretch'
+	    gs 'pain', 2, 'legR', 'stretch'
+	    gs 'pain', 5, 'feet', 'stretch'
+        pcs_sleep -= rand(5,10)
+        gs 'sweat', 'add', 30
+        gs 'pushkin_ballet_init', 'daily_assessment'
+        gs 'stat'
+        $setloc['StageImage'] =  'pushkin/school/daily/ballet_teach_003'
+        gs 'core_library', 'stage_title'
+
+        'As you enter the classroom, there''s an air of excitement this morning. You''re halfway through the week, and anticipation and nervousness are creeping in for the upcoming assessment.'
+        'You see Biserka standing close to Sofia, going over a musical score. You can''t help but wonder if they''re more than friends because of how close they are and how Biserka''s hand is resting on Sofia''s shoulder. She looks up as the class enters the room with a start and quickly moves away.'
+        '"Today, we''re concentrating on your group assessment routine. This is what you will be graded on." She doesn''t sound like her commanding self and is slightly flustered. Still, it''s only momentary as she starts moving you all into a group.'
+        '"The routine will be a revised Entrance of the Swans from Swan Lake as part of the Corp de Ballet. There will be no Principle Dancer. Instead, you will concentrate purely on working as the Corp on this performance. You will be assessed on both your performance and will perform with your fellow dancers."'
+        'You realise that you will be assessed on one of the most demanding routines the Corp can perform. It requires an inordinate amount of concentration and timing to pull off. You look at <<$npc_firstname[''A3501'']>> and see by the expression on her face the same thoughts must be going through her head.'
+        '"You were chosen as the best this Oblast has, so I expect you to perform your best. Have any of you performed Swan Lake here?" Biserka asks. <<$npc_firstname[''A3501'']>> and Kima both put up their hands. Biserka nods. "Good. You will take the lead as Coryphée for your respective groups, the class will split into two groups of five, and Sofia will play the opening scene on the piano."'
+        'What follows for the next hour and a half can only be described as hell. Gone was the comforting Biserka of the last few days. Instead, she drives all the students hard, criticising all mistakes, leaving Galina close to tears.'
+		act 'Conclude lesson':
+            *clr & cla
+            gs 'core_library', 'stage_title'
+            *nl
+            'The class concludes with you performing an adagio culminating in a ports de bras for your Reverence.'
+            *nl
+            'As you finish the reverence, you realise your feet and body ache not so much from the dancing but from the demands of standing still during the performance. So you drag yourself up from the ground after removing the tape and your ballet shoes, then stow them back in your bag after checking if they''re safe to use.'
+            '<<$npc_firstname[''A3501'']>> approaches you. "Don''t worry about the class, Sveta. Biserka was too hard on everyone. You all performed as well as you could without having done this before." Her words comfort you, but you still have doubts.'
+            '"Come on, we have to get ready!" she exclaims as you both hurry to get a shower before attending your next class.'
+
+            act 'Go to the showers' : gt 'pushkin_ballet_class', 'shower'
+        end
+    end
+    
+    if ballet_day = 4:
+        ! Set stats for modern dance
+
+        gs 'exercise', 'tier3', 90, 'agil_exp', 'stren_exp', 'danc_exp'
+        gs 'pain', 2, 'legL', 'stretch'
+	    gs 'pain', 2, 'legR', 'stretch'
+	    gs 'pain', 5, 'feet', 'stretch'
+        pcs_sleep -= rand(5,10)
+        gs 'sweat', 'add', 60
+        gs 'pushkin_ballet_init', 'daily_assessment'
+        gs 'stat'
+        gs 'core_library', 'stage_title'
+
+        'After yesterday''s rehearsals, you sense an air of both anticipation and dread for today''s lesson. Biserka is waiting in the class for you all to arrive.'
+        '"Welcome. Today we will go over the Entrance. Any questions?" Silence greets Biserka''s question. "Good, let us proceed. Sofia, from the start."'
+        'You split into your two groups, and you follow <<$npc_firstname[''A3501'']>>. She places your second line to follow her and help guide the students behind you into the routine. Unfortunately, it''s another demanding routine, and Biserka doesn''t give much time to relax.'
+        'When you get a bit of breathing space, you quickly eat an energy bar before Biserka finishes working with the other group. Now it''s your turn to practice.'
+        'As you finish, Biserka tells the class, "Tomorrow, you will wear the Ballet Blanc provided for the rehearsals. I will be assessing you on your attire and presentation before your actual assessment on Saturday. So please ensure you are ready and here at 0900 sharp."' 
+		*nl
+		'The class concludes with you repeating the previous day''s routine for your Reverence.'
+
+        act 'Go to the showers' : gt 'pushkin_ballet_class', 'shower'
+    end
+
+    if ballet_day = 5:
+        ! Set stats for modern dance
+        gs 'exercise', 'tier2', 90, 'agil_exp', 'stren_exp', 'danc_exp'
+        pcs_sleep -= rand(1,5)
+        gs 'sweat', 'add', 30
+        gs 'pushkin_ballet_init', 'daily_assessment'
+        gs 'stat'
+        '<center><h2>Dance Class</h2></center>'
+        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_class_005.jpg"></center>'
+        'You''ve just finished the Pilates class, and enter your classroom dressed in Ballet Blanc. It''s the first time you''ve seen the group dressed as if you''re part of the Corp, which brings a sense of pride for being here.'
+        '<<$npc_firstname[''A3501'']>> grabs your attention, "Hey, <<$pcs_nickname>>, let''s check you over quickly.". <<$npc_firstname[''A3501'']>> quickly goes over your outfit and hair, ensuring that your presentation is perfect and you do the same for her.'
+        'You sit down, put on your toe socks, and powder your feet before putting on your ballet shoes. You notice they''re slightly damaged; they should be fine for the lesson, but you make a note to get your new shoes ready.'
+        'It''s not ideal, but you have no choice. As you finish tying the ribbons, you see Biserka enter the room and start to inspect you all, trying to find faults. Still, your class passes with only minor criticisms.'
+        act 'Continue lesson':
+            '<center><h2>Dance Class</h2></center>'
+             *clr & cla
+             '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_class_005.jpg"></center>'
+            '"Well done, class, you have done me proud. You have done exactly what I asked." It was rare praise from Biserka. "Now I want you to give me your best. I want you to dance like you never danced."'
+            'With that, she claps her hands. "Take your positions." Sofia starts to play. You lose yourself in the performance of all the lessons coming together from the last week, and you flow through the performance.'
+            'Biserka watches all the girls'' performances critically, taking notes as she goes. The minutes fly by, and before you know it, the first rehearsal is over. "And again," she calls out.'
+             act 'Continue rehearsals':
+                *clr & cla
+                '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_teach_1.jpg"></center>'
+                'You rehearse several times before she''s happy, and then she hands critique notes to all the girls. When she gives you yours, she compliments you before gathering Maya and Kima aside for a private talk.'
+                '"Tomorrow your assessment will start at 09:00. You will enter the room in First Position and wait for the examiners'' instructions. Once you have performed the Entrance of the Swans, you will be asked to perform a Pas de Deux with your dance partner."'
+                '"Your final examination is a solo divertissement lasting no more than five minutes. This performance shows your ability to the judges and will be freeform."'
+                '"Any questions? If you have any tonight or need assistance, contact Bronya, and she will advise or help as needed."'
+                    act 'Reverence':        
+                        *clr & cla
+                        '<center><h2>Dance Class</h2></center>'
+                        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/events/reverence.jpg"></center>'
+                        'You and the girls all look at each other and start to perform a deep curtsy as part of the great reverence you agreed to the previous evening with the girls to pay respect to Biserka and Sofia for their teaching this week. '
+                        'Both teachers look taken aback and have a smile on their faces. "Thank you, class. It''s been a pleasure to teach you this week," Biserka says, with Sofia nodding her agreement and repeating her words.'                           
+                        act 'Go to the showers' : gt 'pushkin_ballet_class', 'shower'
+                end
+            end
+        end
+    end
+end
+
+if $ARGS[0] = 'shower':
+	*clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_class', $ARGS[0] 
+
+    gs 'stat'
+    *nl
+    $setloc['StageTitle'] = 'School Showers'
+	$setloc['StageImage'] =  'pushkin/school/daily/shower_1'
+
+    if nclass > 1:
+        *clr & cla    
+        if nclass = 2:
+            act 'Go to next lesson' : gt 'pushkin_ballet_class', 'makeup'
+        elseif nclass = 4:
+            act 'Go to next lesson' : gt 'pushkin_ballet_class', 'music_theory'
+        end
+        $location_type = 'public'
+        gs 'themes', 'indoors'
+        gs 'core_library', 'bathroom'
+        gs 'core_library', 'stage_title'
+             
+        'You enter the school showers after your lesson. You and your classmates don''t have much time to talk to each other, with you having little time until your next lesson.'
+        *nl
+        
+    else 
+         
+        $setloc['StageTitle'] = 'Residential Bathroom'
+        $setloc['StageImage'] =  'pushkin/residence/residential_bathroom'
+        $location_type = 'private' 
+        gs 'themes', 'indoors'
+        gs 'core_library', 'bathroom'
+        gs 'core_library', 'stage_title'
+
+        'Your accommodation for the week has the luxury of a private shower and a bath. There''s a poster on the wall promoting the health benefits of ice baths and other advice on looking after your body.' 
+        *nl    
+        act 'Return to the hallway' : 
+            if $clothingworntype = 'nude':
+                msg'<b><font color = red>You need to get dressed before leaving.</font></b>'
+                gt $loc, $loc_arg
+            else
+                gt 'pushkin_ballet_res', 'hallway' 
+            end
+        end
+    end
+    'There is a shower, toilet, sink, <a href="exec:gt ''mirror'',''start''">mirror</a> where you can ' + iif(pcs_hairbsh = 0,'<a href="exec:gt ''mirror'',''brush''">brush</a>','brush') + ' your hair.'
+
+end
+
+if $ARGS[0] = 'makeup':
+    ! reading material Kevyn Aucoin, The Art of Make Up
+    ! Face Paint The Story of Makeup, Lisa Eldridge 
+
+    *clr & cla
+    if minut > 0:
+        minut = 0
+    end
+    $setloc['StageTitle'] = 'Theatre Make Up'
+	$setloc['StageImage'] =  'pushkin/school/daily/first_mua'
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+    ! set stats for make up gain - makupskl_lvl
+    gs 'exp_gain', 'intel', rand(1,2)
+    makupskl_lvl += rand(1, 3)
+    pcs_sleep -= rand(1,3)
+    !pcs_makeup = 4
+    gs 'pushkin_ballet_init', 'daily_assessment'
+    nclass = 3
+    gs 'stat'
+
+    if ballet_day = 1 :
+        gs 'core_library', 'stage_title'
+        '"Welcome. On your desk you will find a make-up box with most of what you need. You will also need to provide your own moisturiser and foundation. All dancers are expected to do their own make-up for rehearsals and shows."'
+        'The teacher continues to rattle on without introducing herself, going over the different make-up in front of you and the various brushes and applicators. You soon feel overwhelmed by the amount of information from the lesson.'
+        'However, after ten minutes, the teacher relents and starts to hand out makeup charts and tip pamphlets. In addition, the teacher hands out two books, one by Lisa Elridge and one by Kevin Aucoin, to help give additional information on makeup.'
+        '<<$npc_firstname[''A3501'']>> slides in beside you and whispers, "A lot to take in?" You nod your head in agreement. She gives a quick wink before turning back to listen to the lesson.'
+    
+    elseif ballet_day = 2:
+        $setloc['StageImage'] =  'pushkin/school/daily/second_mua'
+        gs 'core_library', 'stage_title'
+        'Another day and your teacher still hasn''t introduced herself, instead telling the students to focus. "Did you read through the books I gave you last night?" she asks.'
+        'Everyone in the class looks at each other. "But Miss, you never told us to," Gasha replies.'
+        '"Do I have to tell you to study everything? You''re girls. You should have been learning make-up from your parents as a child!" the teacher snappishly replies.'
+        '"Fine, you''re to practice this look for the next hour, and you will show me the results of your practice tomorrow." She reaches for a remote. A projector lights up the wall of the make-up you''re to replicate.'
+   
+    elseif ballet_day = 3:
+        gs 'core_library', 'stage_title'
+        '"Today, I''m going to assess the results of your homework. You have 30 minutes to achieve this look." She then points to the make-up chart on the wall covering the details and colours required.'
+        'You open your makeup bag and quickly apply the look on the chart. Unfortunately, it''s stressful, and there''s little time to think as you concentrate on applying the look.'
+        'You quickly glance at <<$npc_firstname[''A3501'']>>, who gives you an encouraging smile and then she turns back to finish her own look.'
+    
+    elseif ballet_day = 4:
+        gs 'core_library', 'stage_title'
+        'Today, you''re learning hairstyles, and you''re all given small red tins. "This is your emergency box. Keep it with you at all times." You look inside and see a small comb, brush, spare hair bands, grips, slides, pins and kirby pins. There''s even a small sewing kit for the inevitable tears.'
+        '"When you do your exams and assessments, you must always look after your appearance. That''s why you always take this with you. You will be marked down if you aren''t presentable."'
+        'The rest of the lesson teaches professional basic hair care, styling, and tips and tricks to get the best results. It''s a surprisingly fun lesson and time flies by.'
+   
+    elseif ballet_day = 5:
+        gs 'core_library', 'stage_title'
+        '"Today, we''ll be going over how you present yourself for your assessment on Saturday. The assessors will judge your abilities as a dancer and how well you apply makeup and care for your hair."'
+        '"You all have your partners, so today, you will help each other prepare for your assessment. If you end up working together in future, you will help each other during rehearsals and shows, and if you are capable, the rest of your Corp."'
+        '"As dancers, we all look after each other. Remember this!" She says the last few words with strong emphasis, reminding you that ballet is as much a team effort as it is about self-discipline. "Now class, split up and work with your partner. If you need assistance, put your hand up."'
+        '"Your guidelines for the exam are as follows: Your hair must be in a bun, ensuring your face and neck aren''t obscured. If needed, use pins and ensure there are no hair wisps. No jewellery is to be worn except ear studs. Make-up must be complimentary and kept to a minimum. Remember to use your setting powder. Any questions? Good, carry on."'
+        'Today your teacher is more active, going between the various students, and complimenting or advising them as required. You see her have a short conversation with Nikita, and you''re curious about what it was about before <<$npc_firstname[''A3501'']>> grabs your attention to carry on with practising your makeup.'
+    end
+
+    act 'Grab lunch' : gt 'pushkin_ballet_class', 'lunch'
+end
+
+if $ARGS[0] = 'lunch':
+    *clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_class', $ARGS[0]
+    $setloc['StageTitle'] = 'School Cafeteria'
+	$setloc['StageImage'] =  'pushkin/school/daily/cafeteria'
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+    ! gs lunch events
+    gs 'core_library', 'stage_title'
+    *nl 
+    'You enter the school''s canteen. It seems you''ve timed it between lunch breaks, so it''s relatively quiet.'
+    *nl
+    gs 'core_library', 'kitchen'
+    act 'Eat lunch':
+        cla
+        menu_off = 1       
+        gs 'stat'
+        'You quickly fill your plate with a moderate portion and wolf down your dinner.'        
+        gs 'food', 'm_meal'  
+    end
+    
+    act 'Head to next lesson' : menu_off = 0 & gt 'pushkin_ballet_class', 'second_lesson'  
+end
+
+if $ARGS[0] = 'second_lesson':
+	*clr & cla
+    hour = 13
+    if minut > 0:
+        minut = 0
+    end 
+    ! set stats for modern dance
+    gs 'exercise', 'tier2', 90, 'agil_exp', 'stren_exp', 'danc_exp'
+    pcs_sleep -= rand(1,5)
+    gs 'sweat', 'add', 60   
+    gs 'pushkin_ballet_init', 'daily_assessment'
+    nclass = 4
+    gs 'stat'
+    '<center><h2>Dance Practice</h2></center>'
+
+    if mayaqw['grave'] = 4:
+        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/mirror_ballet.jpg"></center>'
+    else
+        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/class_three.jpg"></center>'
+    end
+
+    if ballet_day = 1 :
+        !  32-count combination
+
+        '"Class, listen up," Biserka calls out. "You are going to team up with your dance partner to practice barre work and to do the pas de deux as your centres which will form your assessment."'
+        'You walk over to <<$npc_firstname[''A3501'']>>, "Hey, <<$pcs_nickname>>, are you ready?". Then, you work with <<$npc_firstname[''A3501'']>> to go through the various movements of Plié, Elevé, Battement Tendu and Rond de Jambe.'
+        'Once you finish the Barre exercises, Biserka switches on a projector. "Here are your movements for your pas de deux. Please continue to the centre, and I will observe your performances."'
+        'You and <<$npc_firstname[''A3501'']>> quickly study the chart and wait for Sofia to start playing on the piano. Then, with a count, you start to go through the movements, <<$npc_firstname[''A3501'']>> helping you call out the next position."'
+        'This doesn''t go unnoticed by Biserka, and once the movement is finished, she calls <<$npc_firstname[''A3501'']>> over, "You seem to have memorised this the first time. Let''s see if you can perform this with me."'
+        'She changes the image on the projector and lets <<$npc_firstname[''A3501'']>> study it for a few moments. "Ready?" she asks, and <<$npc_firstname[''A3501'']>> nods. "Let us begin. Sofia?"'
+        'The following five minutes of performance pushed <<$npc_firstname[''A3501'']>> hard, and you watch in amazement how well she performed following Biserka''s lead.'
+        'Once the performance is done, Biserka and <<$npc_firstname[''A3501'']>> curtsy to each other, and <<$npc_firstname[''A3501'']>> comes over to you. You hand over her towel and water bottle.'
+        '"Thanks, <<$pcs_nickname>>." She''s slightly out of breath from the grand allegro and pirouettes she''s just performed."'
+        '"Well done, <<$npc_firstname[''A3501'']>>, that was a wonderful performance." Birserka sounds impressed with <<$npc_firstname[''A3501'']>>''s performance. "You will go far with talent like that."'
+        'You momentarily look over the rest of the class and see Tanis'' face frowning, you think with jealousy.'
+    
+    elseif ballet_day = 2 :
+		'You stand next to <<$npc_firstname[''A3501'']>>  as you work through your barre exercises. Biserka leaves you alone today after yesterday''s impromptu performance. You and <<$npc_firstname[''A3501'']>> quickly finish your warm up and start to work through your pas de deux routine for your assessment.'
+        '"Remember <<$pcs_nickname>>, when doing your plié, your butt should be over your heels and you should balance your weight on the second toe.", <<$npc_firstname[''A3501'']>> chides you.'
+        '"Okay, let''s see you do your solo, and then you can watch me." You put on the routine you''ve been practicing for the assessment. "Remember: leg high and watch your lines!" <<$npc_firstname[''A3501'']>> calls out.'
+        'You watch <<$npc_firstname[''A3501'']>> effortlessly go through her routine. "Why haven''t you done your grading or assessment already?" you ask her. "Time and my instructor didn''t feel I was ready," she replies.'
+        'Before you can ask another question, Biserka calls an end to the class.'
+
+    elseif ballet_day = 3 :
+		'<<$npc_firstname[''A3501'']>> doesn''t seem focused on the lesson today. She seems more distant than her usual self from the last few days. "Are you okay <<$npc_firstname[''A3501'']>>?" you ask.'
+        '"Yes, I''m fine." <<$npc_firstname[''A3501'']>> replies, but she''s making too many little mistakes and you''re hesitant to pick up here when Biserka comes by. "<<$npc_firstname[''A3501'']>>, you can do better than that."'
+        '<<$npc_firstname[''A3501'']>> winces, but does as Biserka asks, this time with few mistakes. "That''s better, I don''t expect such sloppiness from my dancers," Biserka says, frowning. "You''re better than that and I hope you''re not getting lazy."'
+        'Before <<$npc_firstname[''A3501'']>> can protest, Biserka leaves you alone for the rest of class, but you notice her watching <<$npc_firstname[''A3501'']>> closely.'
+
+    elseif ballet_day = 4 :
+		'You quickly team up with <<$npc_firstname[''A3501'']>> for today''s lesson, the first time you''ve had a proper chance to speak to her about the previous evening''s events. "How are you feeling today, <<$npc_firstname[''A3501'']>>?"'
+        'She gives you a small smile as you work through your barre exercises. "I''m better, thank you <<$pcs_nickname>>. Sorry about the scene last night."'
+        if mayaqw['grave'] = 4:
+            '"Don''t be silly <<$npc_firstname[''A3501'']>>, you know where to find me if you ever need help. You''ve helped me so much this week and I''d not have learned as much as I have without you," you reply.'
+            '"I never thought I''d meet someone like you, <<$pcs_nickname>>. Your company was welcome last night and you don''t have to thank me about helping each other."'
+            'Her words give you a warm feeling of having done something right. <<$npc_firstname[''A3501'']>> is dancing better than she has all week; even other students are noticing how graceful and elegant her divertissement perfomance is.'
+            'You take a breather and grab some water, then see Kima doing her own routine and find it hard to decide who''s better: <<$npc_firstname[''A3501'']>> or her. After a few moments, you decide it''s a question of grace and in this, you feel <<$npc_firstname[''A3501'']>> has the edge.'
+        elseif mayaqw['grave']  < 4:
+            '"It''s okay <<$npc_firstname[''A3501'']>>, I understand the grief about losing your mother. You''ll do her proud this week, and even Biserka thinks you''re one of the best in the class alongside Kima," you said to cheer her up.'
+            '"Shush <<$pcs_nickname>>, I''ve still a long way to go she replies. "It''s been a hard few years and I''ve sacrificed everything to get here today. I owe it to her memory."' 
+            '"She must have meant eveything to you?" you ask. "Yes, but I never got a chance to be close to her. She was always rehearsing or travelling." Before she can continue, you notice Biserka looking your way and continue your practice.'        
+		end
+
+    elseif ballet_day = 5 :
+		'"This is it, <<$pcs_nickname>>, are you ready for tomorrow?" <<$npc_firstname[''A3501'']>> asks. You both feel the pressure, but know not to push yourselves too hard. Instead, you study and recite the routines.'
+        'Despite your nerves, you manage to complete your barre exercises and walk through the movements with only minor criticism from <<$npc_firstname[''A3501'']>>. Before long, you realise the time has flown by losing yourself into the lesson.'
+        if mayaqw['grave'] = 4:
+            '"This is it <<$pcs_nickname>>, it''s our big day tomorrow. Come by my room tonight if you want to talk or rehearse more for tomorrow. It''s my turn to make the tea," she says with a laugh.'
+            'You share her laugh. "Sure, I''ll take you up on the offer."'
+        else
+            '"This is it <<$pcs_nickname>>, it''s our big day tomorrow. Come by my room tonight if you want to talk or rehearse more for tomorrow," she says with a smile.'
+        end    
+    end
+    *nl
+    act 'Finish lesson': 
+         *clr & cla
+		'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/ballet_class_006.jpg"></center>'
+		'You perform a reverence to Maya in thanks for her help, she returns the curtsey, and you head to the showers together.'
+
+		nclass = 4
+		act 'Go to the showers' : gt 'pushkin_ballet_class', 'shower'
+	end
+end
+
+if $ARGS[0] = 'music_theory':
+	*clr & cla
+    hour = 16
+    if minut > 0:
+        minut = 0
+    end
+    $setloc['StageTitle'] = 'Music Theory'
+	$setloc['StageImage'] =  'pushkin/school/daily/ballet_class_004'
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+    killvar 'nclass'
+    gs 'pushkin_ballet_init', 'daily_assessment'
+    pcs_sleep -= rand(1,3)
+    gs 'exp_gain', 'intel', rand(1,2)
+    nclass = 5
+
+    gs 'stat'
+    gs 'core_library', 'stage_title'
+    ! set stats for performance, music production and inst. music.
+
+
+    if ballet_day = 1 :
+        'You enter the classroom, and you see Sofia standing beside the door. "Welcome, girls. It''s a pleasure to see you all again. I hope you''ve enjoyed your first day?" She greets you in a warm and rich voice.'
+        'You and your classmates murmur a yes, unsure how to react. Sofia ignores the half-hearted response. "You''re probably wondering why you are here, as you''re not musicians. However, as a dancer, it''s essential to'
+        'understand the basics of Harmony, Melody and Rhythm. How they form the backbone, and how composers have audible cues to your performance. Whilst I don''t expect you to become a musician by the end of this week, you'
+        'should have a solid understanding of the user scores.'
+        *nl
+        'The rest of the lesson is taken up with music theory and how to deconstruct the performances to pick up the cues.'
+
+    elseif ballet_day = 2 :
+        'On day two of your music lessons, you begin to appreciate the time afforded to relax. "Hands up, who knows the first composition written specifically for ballet?"'
+        'To your surprise, you see a girl''s hand shoot up. She''s the one that''s been garnering jealous looks from around the school for her beauty.'
+        '"Taisiya, yes?"'
+        '"It was Tchaikovsky''s Swan Lake in 1876. Until then, composers who created the performances were treated with disdain by their more illustrious symphonic peers."'
+        'Sofia''s eyebrow rises slightly. "Excellent answer, Taisiya. So you''ve studied music before?"'
+        '"No, Ms. Solovyova, I just loved the performances and wanted to learn about them," she replies.'
+        'Sofia spends the rest of the lesson discussing the history of ballet. You noticed a few of your classmates looking sleepy by the end of the class.'
+
+    elseif ballet_day = 3 :
+        sweat += 20
+        'Today, you''re given a sharp shock. Sofia claps her hands to get everyone''s attention. "Today, we will test what you''ve learned. I''m going to be playing some pieces. On the first beat, you will do a demi plié down."'
+        '"On the second beat, you will do a demi plié up. Repeat until the sixth beat and do a grand plié. The seventh rise from the demi, and the eighth beat finish the demi. Understand? Good."'
+        'Sofia wastes no time. She starts the piece and calls out, "1 2 3, 2 2 3, 3 2 3, 4 2 3, 5 2 3 and grand plié! 6 2 3, and finish." Sofia runs an eye critically over the class. "You can do better than that and again."'
+        'You continue the lesson. Sofia keeps you all on your toes by changing the tempo, causing some girls to stumble and earning themselves criticism. By the end of the lesson, you''re glad it''s over.'
+    
+    elseif ballet_day = 4 :
+        sweat += 20
+        '"Positions!" Sofia calls out before you can relax as you enter the class. "You''ve been practising the routine for the assessment. I will review the score cues," she says as she sits at the piano and starts playing the Entrance of the Swans.'
+        'You all stand there wondering if you should dance, but after a few moments, Sofia stops. "Did you listen to the music to find your cues? Let''s try that again, on the count of three, one, two, three." Then, you start the whole routine that Biserka has been drilling into you.'
+        'The difference is Sofia is creating audible cues with the notes being played to guide you through the whole performance, and you see a marked improvement from all the dancers with the additional guidance.'
+
+    elseif ballet_day = 5 :
+        sweat += 30
+        'It''s your final lesson today before your assessment tomorrow. So you all crowd into the dance hall and start to put on your shoes in preparation for your lesson.'
+        'Sofia and Biserka walk into the class together, and Sofia moves towards the piano. "Class, this is your final lesson. After that, we will do a rehearsal, and I will give you feedback on your performances."'
+        '"Take your positions." The class scrambles to get ready. "Remember everything that Sofia and I have gone over in the last week. I want you to listen to the music cues, I want you to follow the steps I''ve taught you and, most of all, I want you to prove to me that you''re ready for tomorrow."'
+        'Birserka claps her hands, and on the count of three, you hear her calling out mistakes from each of the students. "Remember your cues!" Biserka drives you harder. She stops the class.'
+        '"That wasn''t a complete disaster. From the top once more." You complete the dance, and Biserka is watching the class. "Good, that was better. I''ll let you all finish early today, but I want you to return to the halls and prepare for tomorrow."'
+        '"You will find in the kitchen our recommendations for your evening meal and breakfast tomorrow. You may ignore it if you wish, but it will serve you well as you''ll need all the energy tomorrow for the exam. There are also energy bars provided between assessments."'
+        'Sofia comes over and starts handing out booklets to each of the students. "These are some guides for ballet scores and music theory. It will list the dance combinations and give tips on deconstructing them."'
+        'You struggle to get up, and your legs feel like jelly, but you manage a passable curtsy to your teachers without stumbling. You notice that Maya''s own curtsey is just as weak-kneed as your own.'
+        '"Remember, keep your muscles warm and do light stretches tonight. You don''t want to injure yourself or push too hard," Biserka says as you leave the class.'
+
+    end
+    school_daily_check = daystart
+    act 'Finish school' :  hour = 17 & minut = 15 & gt 'pushkin_ballet_res', 'hallway'
+end
+
+if $ARGS[0] = 'assessment':
+    *clr & cla
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'    ! Dance exam
+
+    balletqw['school'] = 1
+    pcs_sleep -= rand(10,20)
+    gs 'exercise', 'tier4', 180, 'agil_exp', 'stren_exp', 'danc_exp'
+    ! rank is the final assessment score to determine pass, fail or a potential fall into Randolph''s clutches.
+    gs 'pushkin_ballet_init', 'famemodifier', 'rank'
+    ! Maya friendship mechanics to be implemented after feedback on core game with how she reacts to you at the exams.
+
+    hour = 9
+    if minut > 0:
+        minut = 0
+    end
+    '<center><h2>Assessment Day</h2></center>'
+    '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/daily/hall.jpg"></center>'
+
+    'You arrive at the ballet school and can sense an air of anticipation and nervousness among your classmates. <<$npc_firstname[''A3501'']>> is standing close to you.'
+    'You notice on the door, someone pinned the old Russian proverb - Без труда́ не вытащишь и рыбку из пруда́ (You must work to pull the fish from the pond). An admonishment to all students to work hard to acheive their dreams.'
+    '"Come on, <<$pcs_nickname>>." Maya draws your attention to the task at hand. "Time to start warming up. We''ve got an hour to do some light warm-up exercises, then we''ll need to get changed." You nod in agreement and enter the classroom set aside for the warm-ups. You approach the barres and start to exercise.'
+    *nl
+    'You quickly go through the routine with <<$npc_firstname[''A3501'']>> and grab a quick shower before getting changed into your Ballet Blanc outfit provided, check your tights before putting them on, and take out the new shoes you''ve kept for this moment.'
+    *nl
+    'Once you''re dressed, you check your makeup in the mirror and walk over to <<$npc_firstname[''A3501'']>> to check her appearance in preparation for the first assessment, and she returns the favour.'
+    *nl
+    'With minutes to spare, you''re outside the door to the examination. You feel your nerves are shredded, but Maya grabs your hand and whispers, "You''ve got this; remember neither fluff, nor feather." You nod smiling at the old saying replying with "to the devil", and the doors open.'
+    act 'Perform the Entrance':
+        *clr & cla
+        minut += 20
+        gs 'stat'
+        '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/exams/exam_1.jpg"></center>'
+
+        'You all file into the room and assume the first position. An examiner is at the door checking each girl as they enter for any flaws in their outfits or their appearance.'
+        '"Welcome, students. You have been shortlisted for this year''s apprenticeship intake. Three of you will be allowed to join our school, you have been told what we expect of you today, and we will assess all aspects of your appearance, conduct and the elegance of your performance." An elderly man sits at the table continues to list the assessment requirements.'
+        'You recognise Biserka, two other teachers you''ve not seen before, and <<$npc_firstname[''A3502'']>>, all assessing you. <<$npc_firstname[''A3502'']>>  seems to have his eyes mostly on yourself, but you think you are imagining it.'
+        '"Excellent. Shall we start? Then take your positions and at a count of three, and begin!" At those words, you feel a sense of calmness, and your nerves fall away as you concentrate on your performance. The minutes fly by so quickly that the performance is over before you even realise it.'
+        '"Thank you, that was a most wonderful performance from you all," one of the female teachers says to the class. "Now we shall see how you perform a Pas de Deux with your partner. Please wait outside, and we will call you in."'
+
+        act 'Perform pas de deux': 
+            *clr & cla
+            minut += 60        	
+            gs 'stat'
+            '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/exams/exam_2.jpg"></center>'
+
+            'You wait outside the classroom. You''ve put on your feet warmers to ensure they remain pliable and take the opportunity to drink some water and eat an energy bar. <<$npc_firstname[''A3501'']>> sits down beside you, lost in thought.'
+            *nl
+            '"How do you think we did?" you ask her. "Hmm?" <<$npc_firstname[''A3501'']>> looks up. "Yeah, we did brilliantly. I didn''t see many faults from any of us, but it went so quickly, and I couldn''t watch everything."' 
+            '"I know," you reply. Before you can say anything else, you and <<$npc_firstname[''A3501'']>> are called in.'
+            *nl
+            'You and <<$npc_firstname[''A3501'']>> are given your assessment instructions. Finally, after your ten minutes, you both finish your Pas de Deux performance with a curtsy of reverence to your examiners. All the while, during movements, you''ve felt <<$npc_firstname[''A3502'']>>''s eyes still watching you.'
+            *nl
+            'You ignore his attention to concentrate on your performance. Though, after you finish, he''s still staring at you.'
+            '"Thank you both for the performance," one of the examiners says in a neutral voice. "We will call you in for your solo performances shortly, so please take the time to prepare yourselves."'
+
+            act 'Solo performance':
+                *clr & cla
+                minut += 120
+        	    gs 'stat'
+                '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/school/exams/solo_2.jpg"></center>'
+                'Back outside, you and <<$npc_firstname[''A3501'']>> do checks on your outfits. You notice a small tear on <<$npc_firstname[''A3501'']>>''s tights and get your needle and thread out to repair it. You then check each other''s hair and makeup, with <<$npc_firstname[''A3501'']>> applying some hairspray to tame your flyaway hairs.'
+                'There''s some fruit juice and some snacks on a table to eat whilst you wait for your lesson. Then, you start doing light exercises with <<$npc_firstname[''A3501'']>> to remain supple.'
+                'Shortly after you finish your snack, you''re called in before <<$npc_firstname[''A3501'']>> .'
+                *nl
+                '"<<$pcs_firstname>> <<$pcs_lastname>>, this is your solo performance. You understand what is required of you?" You realise it''s the school''s Ballet Mistress attending the solo performances. Thankfully, <<$npc_firstname[''A3502'']>> isn''t assessing the solo exams.'
+                'You curtsy and reply, "Yes, Mistress, I''m ready."'
+                *nl
+                '"Very well, let us begin." With that, she taps the table with something you can''t see. Then, on the count of three, you start your performance. As the music starts, you perform the movements you have learned by rote over the last week. You feel you''ve never performed so well in your life, and everything flows together in a way it never has before.'
+                *nl
+                'At the end of the performance, you feel a sense of loss of something extraordinary. You realise the emotional high you''ve been riding has come to a crashing end, and you barely retain your sense of poise and perform the great reverence to your examiners before you are given permission to leave.'
+                
+                gs 'pushkin_ballet_init', 'daily_assessment', 'grade'
+                act 'Finalé' : gt 'pushkin_ballet_class', 'start'
+            end
+        end
+    end
+end
+
+--- pushkin_ballet_class ---------------------------------

+ 364 - 0
locations/pushkin_ballet_evt.qsrc

@@ -0,0 +1,364 @@
+# pushkin_ballet_evt
+
+!! Date Created: 17th Sept, 2022
+!! Version: .01
+!! Author: Hooded Silence
+!!
+!! Ballet Summer School - quest event initiators.
+
+if $ARGS[0] = 'letter':
+
+    if mod_ballet['letter'] ! 1:
+        mod_ballet['letter'] = 1
+        *clr & cla
+        minut += 15
+        gs 'stat'
+        '<center><b><font color="maroon">Your Mother, Natasha Lebedev</font></b></center>
+        <center><img src="images/characters/pavlovsk/resident/mom/mother.jpg"></center>'
+        
+        '"<<$pcs_nickname>>," your mother calls your name, getting your attention. You''ve received a letter from the school, and she hands it over to you.'
+        'You take the letter from your <<$npc_nickname[''A29'']>>, and your hands start shaking when you see the sender''s stamp. You look up.'
+        '"Open it, <<$pcs_nickname>>," she encourages you excitedly.'
+        
+        act 'Open Letter':
+            *clr & cla
+            '<center><img <<$set_imgh>> src="mod/img_ballet/pavlosk/kuhrpar/letter.jpg"></center>'
+            'You quickly grab a knife from the counter to open the letter and start to read the contents.'
+            'You skim through the letter to find the information you were hoping for and let out a scream as you find the paragraph that has awarded you a grant and a spot at the Pushkin Ballet summer school.'
+            '"Did you get the place, <<$pcs_nickname>>?" your <<$npc_nickname[''A29'']>> asks.'
+            '"Yes, I''ve been accepted into the summer ballet school and awarded a full grant to cover all the costs," you proudly announce.'
+            'Your <<$npc_nickname[''A29'']>> pulls you into her arms. "I knew you could do it, <<$pcs_nickname>>. Well done!"'
+            'Hearing the commotion, your stepdad and brother step into the kitchen and ask, "What''s all the commotion?" You excitedly tell your family the news. "Well done, sis," your brother tells you. Your stepfather gives you a proud smile.'
+            '"When do you go?" your <<$npc_nickname[''A29'']>> asks.'
+            '"The first week of July. I''ve got to catch the school bus from the community center on Sunday, between 1600 and 1700." You look through the other information, providing details on what you need to pack and other relevant course information.'
+        
+            act 'Continue': gt 'kuhrPar'
+        end
+    end
+    
+
+    if balletqw['school'] = 1:
+        *clr & cla
+        minut += 15
+        gs 'stat'
+
+        '<center><img <<$set_imgh>> src="mod/img_ballet/pavlosk/kuhrpar/letter.jpg"></center>'
+
+        'You look at the envelope with a sense of déjà vu when you see the school''s branding on the envelope. Then, you sit down at the kitchen table and open it.'
+        'You read and reread the contents, trying to make sense of them. You can''t believe the news. You jubilantly punch the air and let out a cry of joy.'
+        'Your <<$npc_nickname[''A29'']>> picks up the letter you dropped and reads it. "You''ve done it, <<$pcs_nickname>>. You''re in. I''m proud of you, daughter." It''s a rare moment between you and your mother.'
+        '"You''ve got to be at the School at 0900 next Sunday for induction. There will be a bus waiting at the community center, or you can find the way to the school on your own," your <<$npc_nickname[''A29'']>> says, still reading the contents.'
+        'You take the letter, and the envelope inside is more documents and forms for you to apply for your Ballet scholarship and funding. It also lists accredited suppliers to provide the necessary clothing and equipment.'
+        'You get back up, still trying to let the news sink in, and your <<$npc_nickname[''A29'']>> gives you a big hug and a kiss on the cheek."'
+        '"You''ve made it, <<$pcs_nickname>>. All that hard work has paid off." your <<$npc_nickname[''A29'']>> says proudly.'
+        '"No, <<$npc_nickname[''A29'']>>, it''s only the first step but it''s an important one" you muse to yourself.'
+        
+        
+        ! Rejection letter into the Corp.
+
+        act 'Continue your day.' :  act 'Continue': gt 'kuhrPar'
+    end
+end
+
+if $ARGS[0] = 'starlets':
+
+    if mod_ballet['letter'] = 1:
+        *clr & cla
+        minut += 15
+        gs 'stat'
+
+        '<center><b><font color="maroon"><<$npc_firstname[''A23'']>> <<$npc_lastname[''A23'']>></font></b></center>'
+        '<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big23.jpg"></center>'
+        'Albina, I need to have a word with you. She turns towards you with a frown, "What''s wrong, <<$pcs_nickname>>." You wince at her tone; you know she''s a hard taskmaster.'
+        '"I want to thank yo...", Albina cuts in, "What is it, you''re not knocked up or want to quit?", she demands.'
+        '"No, no", you hastily reply holding up your hands, "I''ve been accepted into the Pushkin ballet school."' 
+        'Albina looks at you for a moment then gives one of her rare smiles, "That''s great and all that, but what does that mean for me?"'
+        '"I need to attend their residential school for a week, so I can''t be part of the Starlets. I''m not sure what happens after."'
+        'Albina stands staring at you, "Fine, I know you''ve worked hard for this, ", she pauses, "but don''t expect to get back into the Starlets when you''re finished. When do you leave?"'
+        '"I''ll be leaving in the first week of July. Thank you for your understanding," you say with a sigh of relief, realizing you had been holding your breath. You''re relieved that Albina hasn''t started one of her famous tirades against you.'        
+        !Same value to quit Starlets.
+        AlbinaQW['StarletsJoined'] = -1
+
+        act 'Leave': gt 'gdksport', 'start'
+    end    
+end
+
+if $ARGS[0] = 'pregnant':
+    ! Do pregnancy checks and have Sveta kicked out
+
+    ! Have Maya''s reactions here depending on relationship
+end
+
+if $ARGS[0] = 'dancebreak':
+
+    ! mid-class
+
+    ! Talk with girls
+    ! Drink water 
+    ! Tanis bullying scenes - dancing hippos, snidey commentary or 'bumping' into girls when en pointé making them fall over.
+    !
+
+    ! Lunch
+    ! Grave > 4 Eat meal with maya
+    ! Random meal events
+    ! Tanis bullying scenes, knock dinner out of hand, pour water over heads etc, comments about 'weight' to Gasha
+    !
+end
+
+if $ARGS[0] = 'res_events':
+
+        !! Communal fixed events
+
+        if $ARGS[1] = 'introductions':
+            !! Sunday night meet some of your classmates.
+
+            'You enter the communal area and are greeted by a gaggle of excited girls who immediately call out and surround you. You spot a small group sitting down and taking a selfie with a tablet and you look around and see Ms <<$npc_lastname[''A3513'']>> watching over the proceedings.'
+           
+            killvar '$mod_student_table'
+            killvar 'mod_table_count'
+            i_student = 1
+         
+            :student_meet_loop            
+                if mod_table_count = 6 : $mod_student_table += '<tr>'
+                    mod_table_count += 1
+                    $mod_student_table += '' + '<td><table bgcolor=<<$bcolor2>>><tr><td align="center"><img  height="100" src="mod/img_ballet/pushkin/npc/A350<<$npc_idx>>.jpg"></a></td></tr><tr><td align="center"><<$npc_usedname[''A<<$npc_idx>>'']>></td></tr></table>'
+                end
+                if mod_table_count< 6 :
+                    $mod_student_table += '</td>'
+                elseif mod_table_count = 6:
+                    $mod_student_table +='</td></tr><tr>' & mod_table_count = 0
+                end
+                i_student += 1
+        if i_student <= 9 :jump 'student_meet_loop'
+
+            '<center><table cellspacing="3">'
+             '<<$mod_student_table>>'
+            '</table></center>'
+            killvar 'i_student'
+        end
+        if $ARGS[1] = 'birthday':
+            ! Birthday night for Gasha, develops homesickness, Bronya/Nikita baked her a cake.
+   
+            if $ARGS[2] = 1:   
+                'You enter the halls after classes, and Nikita sees you, grabbing your arm and looking around. "Sveta, do you have a moment?"'
+                '"Sure?" you reply.'
+                '"It''s Gasha''s birthday today, and I''ve got her a card. Can you sign it, please, to cheer her up?"'
+                '"No problem, Nikita. What''s wrong with her?"'
+                '"She''s not used to city life and adapting to this school is challenging. She''s missing home and not being there for her birthday. My mother is baking a cake for her, and I''m about to prepare some buffet food in the kitchen for a little party later."'
+                '"Where is she? She can''t miss all this bustle?"'
+                '"Don''t worry about it; Galina is taking her out to Pushkin under the pretense of showing her the local sights."'
+                'You raise your eyebrow; Galina would have been the last person you''d have thought would help, being so introverted and rarely saying anything. "Yes, she surprised me as well when I asked her. She''s also looking forward to the surprise party planned."'
+                'Nikita hands you the card and a pen to sign, and you quickly scribble your wishes and name into it. You briefly consider putting some cash in it as a present.'
+                
+               if money >= 500:
+                act 'Gift 500 <b>₽</b>':
+                    money -= 500
+                    gs 'npc_relationship', 'modify', 'A3507', 'like'
+                    gs 'stat'
+                    'You dig out your purse and put 500 <b>₽</b> inside the card, and hand it back to Nikita. She notices you''ve put something inside and opens the card to find the money.'
+                    '"Why <<$pcs_nickname>>? I''m aware your parents are poor, and I didn''t expect you to give her a gift," she says with a surprised voice.'
+                    '"It''s fine, Nikita. Tell her to buy a treat to cheer herself up. Just don''t mention it''s from me, please. How do you know I''m from a poor family?" you ask, frowning.'
+                    '"She''ll love the gift, and I know because my mother is given a list of students to help out if they don''t have the necessary items, whether it''s tampons, makeup, or other essentials. She''s here to support them."'
+                    '"The school thinks of everything, doesn''t it?"'
+                    '"It tries. It helped me adapt to life here when my mother got the job. The first year was tough at the local school with the kids bullying me for being a villager. The ballet school became my refuge."'
+                    '"This is why you''re organizing the party?"'
+                    '"Yes, I want to cheer her up, and your present is going to go a long way toward showing how welcome she is here. I need to get on with preparing the food, but let me say thank you so much for this." With that, she gives you a quick hug and a warm smile, then hurries away to the kitchen. As she leaves, she shouts out, "Remember the communal room at 18:30. Don''t miss it!"'
+                    act 'Return to the hallway': gt 'pushkin_ballet_res', 'hallway'
+                end
+                
+                act 'Hand card back':
+                    'You hand the card back to Nikita, and she looks at you. "Thank you, <<$pcs_nickname>>, this is meant to make her feel welcome here. She''s been struggling to cope with being away from home for the first time."'
+                    '"Think nothing of it, Nikita. If it makes her feel better, that''s great," you say.'
+                    '"Yeah, look, I need to start baking the food for tonight. Will you come to the communal room after 18:30?" You nod your head in a non-committal way as she leaves.'
+                    act 'Return to the hallway': gt 'pushkin_ballet_res', 'hallway'
+                end
+                             
+                end
+            elseif $ARGS[2] = 2:
+               !! Communal Party
+               'WIP - tbc'
+           end
+       end
+   
+       if $ARGS[1] = 'homesick':
+
+        'You enter the communal area and see Gasha holding a study book with a sad expression. "Hello Gasha, everything okay?" you ask.'
+        'She looks up to you from the book, "I''m okay, <<$pcs_nickname>>, I''m just not used to being away from home or being in the city."'
+        '"You''re a friend of Nikita?" you ask her, trying to distract her.'
+        '"Yeah, we grew up in the same village and attended the same school until a few years ago when her mother got a job here. We''ve kept in touch, but it''s been difficult as I''ve been stuck in the village."'
+        '"I know what village life is like," you pause to remember your time in Gadukino, "I spent my summers in Gadukino with my grandparents."'
+        'Gasha looks at you with more interest, and you start to gossip and trade stories about your lives in rural Russia. After a while, she''s laughing at your own escapades and local mishaps.'
+        '"Thank you, <<$pcs_nickname>>, for telling me your stories and cheering me up. I''m glad I''m not the only one!" Gasha says with a broad smile on her face.'
+        '"Anytime, Gasha, if you''re feeling down, let me know."'
+    
+        act 'Leave room': gt 'pushkin_ballet_res', 'communal_area'
+    end
+    
+
+    if $ARGS[1] = 'tanis_bully':
+        ! Tanis tries to bully Sveta
+        'WIP - tbc'
+        
+    end
+
+    if $ARGS[1] = 'tanis_gasha':
+        !  Sveta catches Tanis bullying Gasha
+        'WIP - tbc'
+    end
+
+    if $ARGS[1] = 'tanis_showdown':
+        ! Sveta showdown with Tanis
+        'WIP - tbc'
+    end
+
+    if $ARGS[1] = 'kima_gossip':
+        ! Kima blackmails Tanis into stop bullying.
+        'WIP - tbc'
+    end
+    
+    !! Communal random events 
+
+    if $ARGS[1] = '1':
+         ! Chess game between Calina and Ruza
+         'WIP - tbc'
+    end
+    if $ARGS[1] = '2':
+        ! TV with Gasha and munchies
+        'WIP - tbc'
+    end
+    if $ARGS[1] = '3':
+        ! Random girls doing barre training.
+        'WIP - tbc'
+    end
+    if $ARGS[1] = '4':
+        ! Random girls doing yoga.
+        'WIP - tbc'
+    end
+    if $ARGS[1] = '5':
+
+        'You enter the communal room and see Gasha at her favorite place watching TV. She looks at you nervously as you enter, you ask if you could join her.'
+        '"Are you going to bully me too?", she asks, her voice trembling..'
+        '"No why?", you ask. Gasha looks nervously at the door, "She was here, calling me a fat hippo that can''t dance.", Gasha looks as if she''s about to break down in tears.'
+        '"Let me guess, Tanis?", Gasha nods fearful to name her in case she summons her back. "Why don''t you go to Bronya? She''ll help."'
+        'Gasha''s eyes open even wider, "Are you crazy? She''ll just make my life a living hell. I just want to pass this course and get out of here."'
+        '"You can''t let her get away with this, She''ll just get worse and bully someone else", you say, "Please <<$pcs_nickname>>, don''t make this worse for me."'
+
+        act 'Support Gasha':
+            gs 'npc_relationship', 'modify', 'A3507', 'like'
+            npc_trust['A3507'] += 2
+            gs 'stat'
+            '"Okay, but I''m not willing to let this rest.", you say your voice tinged with anger.'
+            'You grab a blanket to cover yourself and settle down to watch TV. After a moment Gasha shivers a bit and you pull the blanket over her. This seems to help relax her and you sit in companionable silence enjoying the show.'
+            'When the show finishes, you get up to leave. Gasha stirs from her position and looks at you but doesn''t say anything, but you can tell she appreciates your company.'
+            act 'Leave room': gt 'pushkin_ballet_res', 'communal_area'
+        end
+        act 'Let Gasha handle it':
+            gs 'npc_relationship', 'modify', 'A3507', 'dislike'
+            gs 'stat'
+            '"If you''re sure, but promise me that''ll you talk to Bronya if it gets out of hand?", Gasha nods too fearful to say anything else.'
+            'You leave the room still uncertain if you should leave the matter to Gasha or if you should see Bronya.'
+            act 'Leave room': gt 'pushkin_ballet_res', 'communal_area'
+        end
+    end
+    if $ARGS[1] = '6':
+        'WIP - tbc'
+    end
+    if $ARGS[1] = '7':
+        'WIP - tbc'
+    end
+    if $ARGS[1] = '8':
+        'WIP - tbc'
+    end
+    if $ARGS[1] = '9':
+        'WIP - tbc'
+    end
+    if $ARGS[1] = '10':
+        'WIP - tbc'
+    end
+
+    !! Day 4, meet with the girls - discuss the classes and grand reverence.
+
+    !! kitchen
+
+    if $ARGS[1] = 'kitchen_birthday':
+        birthday_party = 1
+        'You step into the kitchen, looking for something to eat, and see Nikita organizing the food for the party. A delightful aroma wafts from the oven.
+
+        "Do you need any help, Nikita?" you ask.
+        
+        "No, Sveta, all''s fine. I''m just finishing off the last of the food to be baked."
+        
+        "Gasha is going to be overwhelmed with all this! Have you asked everyone to come?" you inquire.
+        
+        "Yeah, well, everyone except Tanis. I''ve asked my mom to keep an eye on her tonight. It''d be like her to do something spiteful."
+        
+        "Why doesn''t she get kicked out? We were told to be on our best behavior when we arrived here."
+        
+        "Contacts and money, sadly. She comes from one of the unmentionable families."
+        
+        "Oh," you reply, realizing that this is a touchy topic. You start to collect plates and glasses to take through to the communal area.'
+        
+        act 'Help out': gt 'pushkin_ballet_res', 'communal_area'
+
+    end
+
+    !! Cook meal with Maya if grave = 4
+    !! Nikita cooking for Gasha''s birthdays
+    !! Random cooking events
+
+
+    !! bedroom
+end
+
+if $ARGS[0] = 'barre_exercise':
+    *clr & cla
+    mod_homework[week] += 1
+    mod_daily_score[week] += 1
+    minut += 60
+    gs 'exercise', 'tier1', 60, 'agil_exp', 'stren_exp'
+    gs 'sweat', 'add', 20
+    gs 'stat'
+    '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/residence_barre_single.jpg"></center>'
+    'You leave your room and head to the exercise area. You see some barres set up and spend an hour performing stretching exercises and practicing your forms.'
+    act 'Return': gt $loc, $loc_arg
+end
+
+
+! City Events post School
+
+if $ARGS[0] = 'firstperformance':
+
+    !! invite school friends or family. 
+end
+
+if $ARGS[0] = 'performances':
+    !! Theatre productions
+    !! St P. White Nights Festival.
+    !! Marlilnsky Theatre night
+end
+
+if $ARGS[0] = 'socialnight':
+    !! Social visit with invited partner or friends after the show.
+    !! Attend Ballet or theatre events with friends.
+end
+
+!! Post School Character events - break out into individual sections when req.
+
+!! Rudolph blackmail and corruption events post-School
+
+if $ARGS[0] = 'rudolphqw':
+    ! Rudolph''s first attempt at blackmail
+    ! write a story to imply sexual favors to get on the course. Leaves <<$pcs_nickname>> to think on it.
+    ! <<$pcs_nickname>> meets to discuss what favors, and he denies it and threatens to throw her out. He says he will think about it.
+    ! Allows <<$pcs_nickname>> to take remedial lessons, but owes him. 
+    ! Series of random events to unsettle <<$pcs_nickname>>, undermines her confidence by lying about her dance ability, scenes of him watching her but all she hears is his walking cane and denies when confronted. 
+    ! Series of demeaning jobs around the school, fetching coffee, cleaning the floors etc and it''s never good enough. 
+    ! Major ballet show event, and <<$pcs_nickname>> is desperate to be a part of it and he agrees but when she turns up she''s not part of the show and he denies it telling her she imagined it.
+    ! Each sequence is the first stage of corruption, each giving a rnd number from 1-5 until it hits 50 then that stage is complete. 
+    ! 
+    ! Stage 2 is when Randolph starts to meet <<$pcs_nickname>> outside of school increasing his control over her and creating friction between <<$pcs_nickname>> and her friends.
+    ! Stage 3 is full corruption where <<$pcs_nickname>> is totally dependent on him for her career leading to abuse, intention is to have this after the second year. 
+end
+
+
+--- pushkin_ballet_evt ---------------------------------

+ 192 - 0
locations/pushkin_ballet_init.qsrc

@@ -0,0 +1,192 @@
+# pushkin_ballet_init
+
+!! Date Created: 17th Sept, 2022
+!! Modified date: 
+!! Version: .01 - initial release
+!! Author: Hooded Silence
+!!
+!! Ballet Summer School 
+!!
+!! This is the initiator for the ballet story arc. Triggers in June, 2016 on start, and is open to the Dancer at the start of July or by seeing a post in the community hall if modern dance skill is above 60.
+!! For the non-dancer start there''s one time fee of 15,000 rubles for the weeks course which takes places in August (future content).
+!! 
+!! Variables
+!! 
+!! mod_ballet[blocker]- quest line initiator to start/stop the quests.
+!! mod_ballet[letter]- temp blocker to prevent the letter being read multiple times.
+!! school_prep, school_running tally and final_score - preparation work, will be added to final school score to determine pass, almost pass (favour) or fail (no favour) converts to balletqw[school]
+!! balletqw[school] - Holding variable for final score 2 - passed, 3 - passed with Rudolph''s help, 4 - passed with Maya's help, 5 = Merit, 1 - failed
+!! balletqw[rank] - What stage of her career, 1 apprenticeship, 2 part of Corp de ballet, 3 full member of the Theatre.
+!! Ranks
+!! Corps De Ballet, coryphée, demi-soloist, soloist, principle dancer.
+!! balletqw[performances] - How many shows perfomed
+!! mayaqw[grave] - Did you attend Anitchka's grave with Maya, 3 means you talked to Maya, 4 means you was empathic. Has impact later on Maya''s actions towards the player.
+!! mayaqw[trust] - How much Maya trusts you and works in conjuction with npc_rel
+!! Rudolph quest is broken into two variables the main tracker being rudolphqw[stage] and rudolphqw[corruption], the latter reflects his slow insidious undermining of Sveta''s confidence and the former is how
+!! much she has submitted to his authority and demands. Corruption opens dialogue options.
+!!
+!! AlbinaQW[StarletsJoined] - Set -1 to prevent rejoining.
+!!
+
+!! mod_ballet[waymarkers] = Waymarkers for plot beats in mod. Defaults to off.
+
+
+
+if $ARGS[0] = 'init':
+    ! Initiate the ballet events.
+    If mod_ballet['blocker'] = 1:
+        mod_ballet['waymarkers'] = 0       
+        mod_ballet['blocker'] = 2
+        gs 'fame', 'pushkin', 'ballet', 30, 'local'
+        gs 'ballet_npc'
+        i_npc = 1
+        :mod_ballet_rel_set
+            if i_npc < 10:
+                $npc_idx = 'A350<<i_npc>>'
+            else
+                $npc_idx = 'A35<<i_npc>>'
+            end           
+            gs 'npc_relationship', 'set', '<<$npc_idx>>', 'unknown'
+            npc_trust[$npc_idx] = 0 
+			i_npc += 1
+        if i_npc <=  17: jump 'mod_ballet_rel_set'
+        ! Set local fame to fit narrative of up and coming ballet dancer        
+    end
+end
+
+if $ARGS[0] = 'start':
+    ! Initial acceptance
+
+    if $loc = 'kuhrPar' and locat['Mother'] = 4 and mod_ballet['letter'] < 1 and daystart <= 14 :
+        ! Trigger first act
+        gs 'ballet_npc'
+        act '<font color="#80E656">Read the letter</font>': gt 'pushkin_ballet_evt', 'letter'
+    end
+        if $loc = 'kuhrPar' and locat['Mother'] = 4 and mod_ballet['letter'] < 1 and daystart >=45:
+        ! Trigger second act
+
+        act '<font color="#80E656">Read the letter</font>': gt 'pushkin_ballet_evt', 'letter'
+    end
+end
+
+if $ARGS[0] = 'daily_assessment':
+
+    !! Grade appearance, behaviour and other factors.
+
+    !! Daily Appearance
+    if school_daily_check ! daystart and (hour >= 8 and hour <= 17):
+    
+		!! Positive additions:
+        mod_grade_attendance[week] += 1
+        if pcs_makeup > 1: mod_grade_mua[week] += 1  
+        if hBraids > 0  or hpingripw > 0: mod_grade_appearance[week] +=1
+        
+        !! Negative deductions: 
+        if pcs_hairbsh = 0: mod_grade_appearance[week] -=1
+        if pcs_missing_teeth > 0 or pcs_teeth ! -1: mod_grade_appearance[week] -=1
+        if school_curfew > 0: mod_grade_disciplne[week] -= 1
+        if pcs_leghair > 3 : mod_grade_appearance[week] -= 1
+        if pubestyle = 10: mod_grade_appearance[week] -= 1
+        if alko > 1: mod_grade_discipline[week] -= 1 
+        !!mod_daily_score[week] = mod_grade_mua[week] + mod_grade_attendance[week] + mod_grade_appearance[week] - mod_grade_discipline[week] 
+       !! msg 'Attend: <<mod_grade_attendance[week]>>, MUA:<<mod_grade_mua[week]>>, Appear: <<mod_grade_appearance[week]>>, Discipline <<mod_grade_disciple[week]>>, <<pcs_hairbsh>>'
+    end
+    if nclass = 5 and  school_daily_check ! daystart:
+		mod_daily_score[week] = mod_grade_attendance[week] + mod_grade_mua[week] + mod_grade_appearance[week] + mod_homework[week] - mod_grade_discipline[week] 
+    end
+
+
+    if ARGS[1]= 'grade':
+        final_score = (pcs_apprnc / 10) + ((pcs_stren + pcs_agil + pcs_danc) / 10 ) + school_running_tally + study_tally
+
+        !! Three score levels, fail, pass and merit. Fail is one route for corruption path, pass is either low or no pay, merit is low to low +10%. 
+        if final_score <= 40:
+             balletqw[school] = 5
+        elseif final_score >=41 & final_score < 60:
+            !! Interim pass until quest lines are created for Maya/Rudolph
+            balletqw[school] = 1
+            balletqw[rank] = 1
+        elseif final_score >= 61 & final_score <= 90:
+             balletqw[school] = 1
+             balletqw[rank] = 1
+        elseif final_score >= 91:
+             balletqw[school] = 4
+             balletqw[rank] = 1
+        end
+
+        if final_score > 60: gs 'pushkin_ballet_init', 'famemodifier', final_Score
+    end
+
+end
+
+if $ARGS[0] = 'famemodifier':
+
+    ! Set upper value for seed. 
+    rank = ARGS[1] 
+
+    hc_restrict = rand(2, (rank/4))
+    ballet_fame = ( (rank + pcs_danc ) / hc_restrict )  
+
+    if ballet_fame < 1: ballet_fame = 5 
+
+	gs 'fame', 'pushkin', 'ballet', rand(0, ballet_fame), 'local'
+    !! Diags 
+        ballet_temp['score'] = final_score
+        ballet_temp['rank'] = rank
+        ballet_temp['fame'] = fame
+    !! End Diags
+    killvar 'final_score'
+    killvar 'rank'
+    killvar 'hc_restrict'
+    killvar 'ballet_fame'
+end
+
+if $ARGS[0] = 'cleanup_var':
+
+
+    !! Clean up school variables upon completion.
+    !! Debug - remove all variables associated with mod
+
+    if $ARGS[]= 'debug':
+    ! Maya 
+        gs 'shortgs', 'remove_array_element', 'mayaqw','trust'
+        gs 'shortgs', 'remove_array_element', 'mayaqw','grave'
+    ! Rudolph
+        gs 'shortgs', 'remove_array_element', 'rudolphqw','corruption'
+        gs 'shortgs', 'remove_array_element', 'rudolphqw','stage'
+    ! School events
+        gs 'shortgs', 'remove_array_element', 'balletqw','school'
+        gs 'shortgs', 'remove_array_element', 'balletqw','performances'
+        gs 'shortgs', 'remove_array_element', 'balletqw','rank'
+    end
+    !! Diags
+        ballet_temp['srt'] =  school_running_tally
+        ballet_temp['school_prep'] = school_prep
+    !! End diags
+    killvar 'ballet_awol'
+    killvar 'school_running_tally'
+    killvar 'sharedmeal'
+    killvar 'study_tally'
+    killvar 'school_prep'
+    killvar 'ballet_day'
+    killvar 'mod_ballet[''letter'']'
+    killvar 'ballet_first_bedroom'
+    killvar 'feet_track'
+    killvar 'ballet_mod[''res_mg'']'
+end
+
+if $ARGS[0] = 'score_debug':   
+    debug_day = 1
+   :jmp_debug_score
+        'Day: <<debug_day>>' 
+        'Make-up Score: <<mod_grade_mua[debug_day]>>'
+        'Appearance: <<mod_grade_appearance[debug_day]>>'
+        'Rules and Disciple: <<mod_grade_disciple[debug_day]>>'
+        'Homework: <<mod_homework[debug_day]>>'
+        'Attendance: <<mod_grade_attendance[debug_day]>>'
+        'Total Day Score:  <<mod_daily_score[debug_day]>>'
+        ' - - - '
+		debug_day += 1
+	if debug_day <=  5: jump 'jmp_debug_score'
+end
+--- pushkin_ballet_init ---------------------------------

+ 363 - 0
locations/pushkin_ballet_res.qsrc

@@ -0,0 +1,363 @@
+# pushkin_ballet_res
+
+!! Date Created: 17th Sept, 2022
+!! Version: .01
+!! Author: Hooded Silence
+!!
+!! Ballet Summer School - Residential accomodation activities.
+!! Residental block is restricted to communal shower, room and a bedroom.
+!! Curfew for the block is 2100, with penalties to final school score for breaching it. Entry is gated by buzzer.
+!!
+!! Variables
+!!
+!! ballet_first_visit - used to set first night 
+!! ballet_day - Sets which day of the course you are on.
+!! prep - How much prep work for the exam has been done. To be used as part of the assessment mechanics.
+
+
+if $ARGS[0] = 'start':
+	*clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0] 
+    
+    minut += 45
+    gs 'stat'
+    '<center><h1>Welcome and Introduction</h1></center>'
+	'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/npc/warden.jpg"></center>'
+    *nl
+    'As you and your group enter the halls for the first time, you are greeted by a matronly-looking woman who will be your warden during your stay.'
+    '"Welcome, students, to your first night at these halls. I''m your warden, <<$npc_firstname[''A3513'']>> <<$npc_lastname[''A3513'']>>. If you have any problems or need assistance, you can find me in the room to the right." She gestures towards a door with a brass plaque that reads "Warden".'
+    '"I will go through the student roster, and you will respond each evening. You can also find a list of rules in your bedroom, which will be strictly enforced. We do not tolerate any behavior that brings this school into disrepute."'
+    *pl '"Do you understand?" '
+	 'With that, you and the other students answer in unison, "Yes, Ms. <<$npc_lastname[''A3513'']>>."'
+    '"Very well. I suggest you read the rules in your bedroom. Ignorance will not be accepted as an excuse."'
+    *nl
+    '"With that out of the way, I will now assign your rooms." She consults her clipboard and starts reading out student names, ticking them off as she allocates rooms.'
+    '"<<$pcs_firstname>> <<$pcs_lastname>>?" "Here!" you reply, "You''ve been assigned to room twelve, first floor to the right of the staircase. Do you have any questions? No? I will see you in the communal room once you''ve settled in."'
+
+    act 'Find your room': gt 'pushkin_ballet_res', 'bedroom'
+
+end
+
+
+if $ARGS[0] = 'bedroom':
+	*clr & cla
+	!! Init
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
+	$location_type = 'private'    
+	$setloc['StageTitle'] = 'Residental Bedroom'
+	$setloc['StageImage'] =  'pushkin/residence/bedroom'
+    gs 'themes', 'indoors'
+    gs 'stat'
+	gs 'core_library', 'stage_title'
+
+    if ballet_first_visit = 0:
+
+        ballet_first_visit = 1
+        if week ! 7 : ballet_day = week
+
+        'You look around your room that will be the bedroom for the next week, and a small comfortable bed sits in the corner. You have a desk you can study on. In the corner, there''s a full-size <a href="exec:gt ''wardrobe'', ''start''">wardrobe</a> with a mirror on one of the doors.'
+        'You start to unpack your suitcase into the wardrobe and settle for the evening before preparing to meet your fellow students.'
+        'On the wall beside the entrance are various instructions for fire evacuation. Alongside these instructions is a sheet of paper with the words <b>Accommodation Rules</b>.' 
+        act 'Explore the rest of the accommodation':  gt 'pushkin_ballet_res', 'hallway'
+        act 'Read the rules': gt 'pushkin_ballet_res', 'rules'
+
+    else
+		
+        'You enter your room and sit at your desk, wondering what to do next.'
+        'In the corner is your <a href="exec:gt ''wardrobe'', ''start''">wardrobe</a> containing a Ballet Blanc for your upcoming assessment and your clothes for the week.'
+        if komp = 1: 'Your <a href="exec: gt ''Komp'',''start''">computer</a> is on your desk.'
+        'Your <a href="exec:gt ''budilnik'', ''start''">alarm clock</a> is set to <b>'+iif(timer < 10,'0<<timer>>','<<timer>>')+':'+iif(timerM < 10,'0<<timerM>>','<<timerM>>')+'</b> during the week and <b>'+iif(timerEnd < 10,'0<<timerEnd>>','<<timerEnd>>')+':'+iif(timerEndM < 10,'0<<timerEndM>>','<<timerEndM>>')+'</b> during the weekend. It is currently turned '+iif(budilnikOn = 0, '<a href="exec: budilnikOn = 1 & gt $loc">OFF</a>.', '<a href="exec: budilnikOn = 0 & gt $loc">ON</a>.')
+        gs 'exercise', 'start'
+
+        
+       !  act 'Enter Shop': gt 'pushkin_ballet_shop', 'init'
+        act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
+
+        !! Default actions
+        gs 'core_library', 'bedroom'
+
+        !! Non-standard actions
+        if  hour >= 16 and week ! 7:         
+            act 'Barre Practice (60m)': gt 'pushkin_ballet_evt', 'barre_exercise' 
+            act 'Study (60m)':  gt 'pushkin_ballet_res', 'study'
+            ! act 'Practice make up' : gt 'pushkin_ballet_evt', 'make_up' 
+            if feet_track ! daystart: act 'Take care of your feet': gt 'pushkin_ballet_res', 'feetcare'     
+        end 
+        act 'Listen to the radio (30m)': gt 'pushkin_ballet_res', 'radio'
+        act 'Read the rules': gt 'pushkin_ballet_res', 'rules'
+        act 'Debug data': gs 'pushkin_ballet_init', 'score_debug'
+    end
+
+    ! First Maya event
+
+    if ballet_day = 3 and mayaqw['grave'] = 0:
+        act 'Answer the knock  <<$mod_ballet[''icon_green'']>>' : gt 'npc_3501_init','grave'
+    elseif ballet_day = 3 and hour > 19 and mayaqw['grave'] = 1:
+        act 'Another knock': gt 'npc_3501_init', 'post_grave' 
+    end
+end
+
+if $ARGS[0] = 'rules':
+    *clr & cla
+	minut += 5
+	gs 'stat'
+    *pl '<center><h2>Residence Rules</h2></center>'
+    *pl 'You look at the rules on the wall.'
+
+    *pl 'Whilst you stay in this accommodation, you will follow these rules:'
+
+    '1) No males are allowed in the accommodation block.'
+
+    '2) All residents must return to the block by 21:00. No exceptions. If you are late, you will have to report to the duty warden.'
+    
+    '3) No smoking, drinking, or drug use is allowed in the accommodation. If you are caught, you will face immediate dismissal from the school.'
+    
+    '4) Breakfast is from 06:00 to 07:00.'
+    
+    '5) All rooms must be kept clean and tidy.'
+    
+    '6) Valuables can be left with the duty warden if required. All thefts or problems are to be reported immediately.'
+    
+    '7) You are to follow the duty warden''s instructions in an emergency.'
+
+    act 'Look away': gt 'pushkin_ballet_res', 'bedroom'
+end
+
+if $ARGS[0] = 'radio':
+	*clr & cla
+	minut += 30
+	pcs_mood += rand(1,5)  
+    pcs_sleep -= rand(1,10)
+    if ballet_day >= 1 and week ! 7:
+        instrmusic_exp += rand(1,3)
+        pcs_perform += rand(1,3) 
+        mod_homework[week] += 1 
+        mod_daily_score[week] += 1
+    end
+   
+	gs 'stat'
+
+    '<center><h2>Radio</h2></center>'    
+   	'<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/russian_radio.jpg"></center>'
+    'You start to listen to the radio for half an hour, taking notes of the performance with the ideas from your earlier lesson. Then, you close your eyes and start humming along to the familiar music after a while. '
+
+    act 'Turn the radio off': gt 'pushkin_ballet_res', 'bedroom'
+end
+
+if $ARGS[0] = 'hallway':    
+	*clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
+    $setloc['StageTitle'] = 'Residental Hallway'
+	$setloc['StageImage'] =  'pushkin/residence/hall'
+	$location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+	gs 'stat'
+    
+    gs 'core_library', 'stage_title'
+    ! Visit NPCs 
+    ballet_awol = 0
+    if ballet_day ! week :
+        ballet_day = week
+    end
+    nclass = 0
+    act 'Leave building': minut += 5 & ballet_awol = 1 & gt 'pushkin_ballet_center', 'start'
+    act 'Go to your room':  minut += 5 & gt 'pushkin_ballet_res', 'bedroom'
+    act 'Enter the communal room':  minut += 5 & gt 'pushkin_ballet_res', 'communal_area'
+    act 'Go to the bathroom':  minut += 5 & gt 'pushkin_ballet_class', 'shower'  
+    act 'Go to the kitchen':  minut += 5 & gt 'pushkin_ballet_res', 'kitchen'
+    if week ! 7:
+        ! act 'Visit Maya' :  minut += 5 & gt 'pushkin_ballet_res', 'maya_room'
+    end
+    !act 'Knock on wardens door' :  minut += 5 & gt 'pushkin_ballet_res', 'warden_room'
+
+    if ballet_day = 7:
+        'The hall is bustling with various students settling into their rooms. A few of them wave or smile at you as you pass by. You see Bronya at the end of the hall, keeping an eye on the students and ready to ask questions.'
+        
+    elseif week = 2 and hour <= 18:
+        gs 'pushkin_ballet_evt', 'res_events', 'birthday', 1
+    
+    else
+        amb_event = rand(1,4)
+        if amb_event = 1:
+            'You enter the elegant hallway of your residence, and hear music coming from one of the rooms to the side of you.'
+        elseif amb_event = 2:
+            'As you enter the hallway you hear some giggling and laughter coming from one of the girls'' rooms.'
+        elseif amb_event = 3:
+            'As you leave the room, you see a student dashing down the corridor, almost bumping into you. You hear them say "sorry" before vanishing into one of the rooms.'
+        elseif amb_event = 4:
+            if hour < 8 or hour > 21:
+                'You hear someone trying to play the piano at this hour. Before you can complain, you hear the piano being slammed shut, and you wince. A few moments later, two girls emerge from the communal room, arguing heatedly.'
+            else
+                'You hear someone playing the piano in the communal room. You don''t recognize the piece being played, but its soothing melody relaxes you.'
+            end
+        end
+    end
+    
+
+if $ARGS[0] = 'warden':
+    !! residential buzzer logic statements
+    if (hour > 20 or hour < 6) and ballet_awol = 1:
+        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s icy voice through the intercom.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, you will see me in my office. Now." You can swear the temperature around you just plummeted a few degrees and the door was buzzed open.'
+        gt 'pushkin_ballet_res', 'warden_room'
+    elseif (hour >= 17  or hour < 21 ) and ballet_awol = 1:
+        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause and you hear the door being buzzed open.'
+        gt 'pushkin_ballet_res', 'hallway'
+    elseif ballet_awol = 1:
+        '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
+        '"<<$pcs_firstname>> <<$pcs_lastname>>, where the hell have you been? Get in here. Now.", you gulp at her voice and with trepidation make your way to her office.'
+        gt 'pushkin_ballet_res', 'warden_room'
+    else
+        'You press the buzzer but there''s no response.'
+        act 'Return': gt 'pushkin_ballet_center', 'start'
+    end
+end
+
+if $ARGS[0] = 'warden_room':
+	*clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
+	$location_type = 'private'
+	$setloc['StageTitle'] = 'Wardens Residence'
+	$setloc['StageImage'] =  'npc/warden' 
+    $location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+	gs 'stat'
+   
+    gs 'core_library', 'stage_title'
+
+    ! Punishment or plot
+     act 'Go to the hallway':  minut += 5 & ballet_awol = 0 &  gt 'pushkin_ballet_res', 'hallway'
+end
+
+if $ARGS[0] = 'maya_room':
+	*clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
+	$location_type = 'private'	
+    gs 'themes', 'indoors'
+    gs 'stat'
+    '<center><h2>Maya''s Residental Bedroom</h2></center>'
+    '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/bedroom.jpg"></center>'
+    'Maya''s room closely resembles your own. Her wardrobe is open, and you see her collection of tutus hanging from the rails. On the desk, there are several books, including an open poetry book. A quick glance reveals the page title "Like a White Stone" by Akhmatova.'
+        act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'
+! Maya events
+end
+
+if $ARGS[0] = 'communal_area':
+	*clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
+    $setloc['StageTitle'] = 'Communal Room'
+	$setloc['StageImage'] =  'pushkin/residence/communal'
+	$location_type = 'public_indoors'
+    gs 'themes', 'indoors'
+    gs 'stat'
+
+    !!'You enter the communal room.'
+
+    act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'
+    if week = 7 and ballet_mod['res_mg'] = 0:
+        ballet_mod['res_mg'] = 1
+        gs 'pushkin_ballet_evt', 'res_events', 'introduction'
+    elseif week = 2 and ((hour >= 18 and minut > 30) or (hour >= 19 or hour < 21)):
+        !! minute += 90
+        'Attend party'
+    elseif week =2 and hour < 18:
+        !! minut += 20 
+        'Write help setting out food.'        
+    end
+    ! Communal random events 
+end
+
+if $ARGS[0] = 'kitchen':
+	*clr & cla
+    gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
+    $setloc['StageTitle'] = 'Residental Kitchen'
+	$setloc['StageImage'] = 'pushkin/residence/kitchen'
+	$location_type = 'communal'
+    gs 'themes', 'indoors'
+    gs 'stat'
+
+    gs 'core_library', 'stage_title'
+    act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'
+
+
+    !! Set up events
+    *nl    
+    if hour > 15:
+        act 'Eat a light meal':gs 'food', 's_meal'
+        act 'Eat an Evening Meal': dynamic $edahotd
+        elseif (hour > 4 and hour < 8) and mayaqw['grave'] = 4 and sharedmeal ! daystart:
+        act 'Have breakfast with Maya':
+            *clr & cla
+            sharedmeal = daystart
+            gs 'food', 'family_meals', 'breakfast'
+            gs 'stat'
+            'You encounter Maya as she prepares breakfast. You lend a hand with the preparations and engage in a conversation about your upcoming lessons while enjoying your morning meal.'
+             act 'Finish breakfast': gt 'pushkin_ballet_res', 'kitchen'
+        end
+    elseif hour > 4 and hour < 8:
+        act 'Eat breakfast':
+            *clr & cla
+            gs 'food', 'family_meals', 'breakfast'
+            gs 'stat'
+            'You look in the fridge for some fruit and then make some porridge for breakfast.'
+             act 'Finish breakfast': gt 'pushkin_ballet_res', 'kitchen'
+        end
+    end
+    
+    if week = 2 and (hour > 17 and hour < 19):
+        gs 'pushkin_ballet_evt', 'kitchen_birthday'
+    else
+      'You enter the kitchen area and you''re grateful the school provides the essentials for cooking and snacks for the pupils to eat during the evenings.'
+    end
+    
+end
+
+! Activities
+
+if $ARGS[0] = 'feetcare':
+
+    ! Feet care - to be expanded. with different routines.
+    ! feet soak in Epsom salts 
+    ! Arnica gel to help reduce swelling around calfs and ankles, or soaking in witch hazel
+    ! sew ballet shoes and break the soles for prep.
+    ! Thera band for feet exercises
+    ! check toe pads
+
+    *clr & cla
+    mood += rand(1, 10)
+    pcs_health += 15
+    mod_homework[week] += 1 
+    mod_daily_score[week] += 1
+    minut +=30
+    feet_track = daystart
+    gs 'stat'
+    '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/events/feet_soak.jpg"></center>'
+
+    'After a long day, you diligently inspect your calves and feet for injuries, gently massaging Arnica Gel onto your calves and ankles to alleviate stiffness and swelling. Next, you carefully examine your calluses and check for any blisters.'
+    'With the checks completed, you reach for your exercise band, commencing a series of foot-stretching exercises, culminating in a soothing massage using a tennis ball on your calves and soles.'
+    'You take a brief moment to unwind before donning your foot warmers, making your way to the kitchen to fetch cold water and investigate the freezer for ice. Fortunately, the school has stored ice cube trays. After replenishing the trays, you fill a bowl and carry it back to your room.'
+    'Seated on your bed, you pour the bowl of ice cubes and water into a larger container. Adding a touch of Epsom Salts, you brace yourself as you immerse your feet in the chilling water. Your body shudders briefly from the shock, but after a few moments, the sensation subsides. You close your eyes and attempt to relax.'
+
+    ! logic check for then you check your new ballet shoes, and start sewing the ribbons on and break the sole to relax whilst your feet soak.
+
+    act 'Finish feet care': gt 'pushkin_ballet_res', 'bedroom'
+end
+
+if $ARGS[0] = 'study':
+    ! Study ballet and music
+    *clr & cla
+    mood -= rand(1, 10)
+    minut += 60
+    mod_homework[week] += 1 
+    mod_daily_score[week] += 1
+    gs 'stat'
+     '<center><img <<$set_imgh>> src="mod/img_ballet/pushkin/residence/study.jpg"></center>'
+
+     'You gather your school books and notebook to begin studying ballet movements, history, and musical theory, diligently taking notes as you progress. After an hour of reading, you notice your eyes beginning to glaze over. Recognizing the need for a break, you decide to stand up and stretch.'
+     act 'Finish studying': gt 'pushkin_ballet_res', 'bedroom'
+end
+
+--- pushkin_ballet_res ---------------------------------

+ 0 - 0
locations/pushkin_ballet_res_street.qrsc


+ 6 - 0
locations/pushkin_theatre.qsrc

@@ -0,0 +1,6 @@
+# pushkin_theatre
+
+!! Author: Hooded Silence
+!! Date and meeting spot, temporary may be removed based on feedback
+
+--- pushkin_theatre ---------------------------------

+ 6 - 0
locations/st_petersburg_canals.qsrc

@@ -0,0 +1,6 @@
+# st_petersburg_canals
+
+!! Author: Hooded Silence
+!! Date and meeting spot at the St Petersburg Canals
+
+--- st_petersburg_canals ---------------------------------