# 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.

$default_img_path = 'locations/pushkin/'
if $ARGS[0] = 'start':
	*clr & cla
	gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0] 
	!! reset letter
	gs 'shortgs', 'remove_array_element', 'mod_ballet', 'letter'
	minut += 45
	gs 'stat'
	'<center><h1>Welcome and Introduction</h1></center>'
	'<center><img <<$set_imgh>> src="images/characters/ballet/3513.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
	$location_type = 'private'
	$setloc['StageTitle'] = 'Residential Bedroom'
	$setloc['StageImage'] =   '<<$default_img_path>>ballet_residence/bedroom'
	gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
	gs 'themes', 'indoors'
	gs 'stat'
	gs 'core_library', 'stage_title'

	if ballet_first_visit = 0:
		gs 'homes_properties', 'set_home', 'pushkin_ballet_dorm'

		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.'
		'<table><tr><td valign="top">Your <a href="exec:gt ''alarmclock'', ''start''">alarm clock</a> is set to <<func(''alarmclock'', ''alarm_display'', alarmVars[''timerH''], alarmVars[''timerM''])>> during the week and <<func(''alarmclock'', ''alarm_display'', alarmVars[''timerEndH''], alarmVars[''timerEndM''])>> during the weekend. It is currently turned ' + iif(alarmVars['alarmOn'] = 0, '<a href="exec: alarmVars[''alarmOn''] = 1 & gt $loc, $loc_arg">OFF</a>.', '<a href="exec: alarmVars[''alarmOn''] = 0 & gt $loc, $loc_arg">ON</a>.')
		
		if $clothingworntype ! 'nude':
			act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
		else
			act 'Go to the hallway':
				msg '<b><font color = red>Whilst as a dancer you have less worries about showing yourself Bronya would likely have a few choice words about your behaviour.</font></b>'
				gt $loc, $loc_arg
			end
		end

		!! 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'
			if  mc_inventory['cosmetics'] >= 9:
				act 'Practice make-up' : gt 'pushkin_ballet_res', 'make_up' 
			end
			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  and ( hour >= 17 and hour <= 21):
		act 'Answer the knock' : gs '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] = 'hallway':	
	*clr & cla
	$setloc['StageTitle'] = 'Residental Hallway'
	$setloc['StageImage'] =  '<<$default_img_path>>/ballet_residence/hall'
	$location_type = 'public_indoors'
	gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
	gs 'core_library', 'corridor'
	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

	if $clothingworntype ! 'nude':
		if hour = 6 or (hour  = 7 and minut <=  30):
			act 'Attend Ballet Classes': gt 'pushkin_ballet_class', 'start'
		elseif hour = 7 and (minut > 30 and minut <= 59):
			$balletEv['trigger'] = 'late'
			gs 'npc_init_3501', 'summer_school'
		else
			act 'Leave Residence': minut += 5 & ballet_awol = 1 & gt 'pushkin_ballet_center', 'start'
		end
	else	   
		msg '<b><font color = red>Whilst as a dancer you have less worries about showing yourself off Bronya would likely have a few choice words about your behaviour.</font></b>'
		gt $loc, $loc_arg	
	end

	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 and npc_trust['A3501'] >= 10:
		!! 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 to greet you as you pass by. You see Bronya at the end of the hall, keeping an eye on the students and ready to provide assistance.'
		
	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
				pcs_mood += 5
				'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
end

if $ARGS[0] = 'maya_room':
	*clr & cla
	$location_type = 'private'	
	$setloc['StageTitle'] = 'Maya Room'
	$setloc['StageImage'] =   '<<$default_img_path>>/ballet_residence/maya_room'
	gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
	gs 'themes', 'indoors'
	gs 'stat'
	gs 'core_library', 'stage_title'
	'Maya''s room closely resembles your own. Her wardrobe is open, and you see her collection of tutus hanging from the rails. On her desk there are several books, including an open poetry book. A quick glance reveals the page title "Like a White Stone" by Akhmatova.'
	'Next to it is an old picture of a woman in a park with a black ribbon in the corner.' 
	act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'
	!! Maya events
end

if $ARGS[0] = 'communal_area':
	*clr & cla

	$setloc['StageTitle'] = 'Communal Room'
	$setloc['StageImage'] =   '<<$default_img_path>>/ballet_residence/communal'
	$location_type = 'public_indoors'
	gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
	gs 'themes', 'indoors'
	gs 'stat'

	!!'You enter the communal room.'

	act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'

	'WIP Progress - no content'
	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
	
	$setloc['StageTitle'] = 'Residental Kitchen'
	$setloc['StageImage'] =   '<<$default_img_path>>ballet_residence/kitchen'
	$location_type = 'private'
	gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
	gs 'themes', 'indoors'
	gs 'stat'

	gs 'core_library', 'stage_title'
	act 'Go to the hallway':  minut += 5 & gt 'pushkin_ballet_res', 'hallway'
	gs 'core_library', 'kitchen'  

	!! 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 her 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 that the school provides the essentials for cooking and snacks for the pupils to eat during the evenings.'
	end
	
end

!! Intercomm
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
		minut += 10
		'You press the buzzer but there''s no response.'
		act 'Return': gt 'pushkin'
	end
end

if $ARGS[0] = 'warden_room':
	*clr & cla
	
	$location_type = 'private'
	$setloc['StageTitle'] = 'Wardens Residence'
	$setloc['StageImage'] =   '<<$default_img_path>>/ballet_residence/warden' 
	$location_type = 'public_indoors'
	gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
	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

!! Activities
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)
		gs 'exp_gain', 'perform', rand(1,3)
		mod_homework[week] += 1 
		mod_daily_score[week] += 1
	end
	$setloc['StageTitle'] = 'Radio'
	$setloc['StageImage'] =   '<<$default_img_path>>ballet_residence/russian_radio'
	gs 'stat'
	gs 'core_library', 'stage_title'

	'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] = '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'
	$setloc['StageTitle'] = 'Feet Care'
	$setloc['StageImage'] =  '<<$default_img_path>>ballet_events/feet_soak'
	gs 'core_library', 'stage_title'

	'After the long day at the ballet class, 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 your 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 into the bowl the ice cubes and chilled water into a foot bath. 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
	$setloc['StageTitle'] = 'Ballet Studies'
	$setloc['StageImage'] =  '<<$default_img_path>>ballet_residence/study'
	gs 'stat'
	gs 'core_library', 'stage_title'
	 '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

if $ARGS[0] = 'make_up':
		!! Practice make up skills
		*clr & cla
		minut += 60
		mod_homework[week] += 1 
		mod_daily_score[week] += 1
		gs 'exp_gain', 'makupskl', rand(1,3)
		if pcs_makupskl < 30:
			mc_inventory['cosmetics'] -= 9
			pcs_makeup = 0
		elseif pcs_makupskl >=31 <= 74:
			mc_inventory['cosmetics'] -= 5
			pcs_makeup = 3
		elseif pcs_makupskl >= 75:
			mc_inventory['cosmetics'] -= 3
			pcs_makeup = 5
		end
		gs 'stat'
		$setloc['StageTitle'] = 'Make Up Practice'
		$setloc['StageImage'] =  '<<$default_img_path>>/ballet_events/make-up'
		gs 'core_library', 'stage_title'

		if pcs_makupskl <= 30:
			'You struggle to master the basics of applying your look, wasting a lot of your expensive make-up. You begin to wonder if you need to get help with practicing.'
		elseif pcs_makupskl >= 31 or pcs_makupskl <= 69:
			'You try to replicate the deft strokes that you was taught in school as you apply the basic foundations and contouring. You struggle briefly with the eyelashes before they settle in place. It takes you a few attempts to finalise the blending of your final look but at the end of your practice you are happy with the results even though it won''t win any awards.'
		elseif pcs_makupskl >= 70:
			'You artfully apply the make-up look with a quick, practiced ease that would leave most girls jealous with envy. The final look is almost flawless and you criticaly review the final result trying to find any imperfections.'
		else
			$ballet['error'] += 'Makeup skill failed check'
		end
		act 'Finish practicing': gt 'pushkin_ballet_res', 'bedroom'
end

--- pushkin_ballet_res ---------------------------------