pushkin_ballet_res.qsrc 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429
  1. # pushkin_ballet_res
  2. !! Date Created: 17th Sept, 2022
  3. !! Version: .01
  4. !! Author: Hooded Silence
  5. !!
  6. !! Ballet Summer School - Residential accomodation activities.
  7. !! Residental block is restricted to communal shower, room and a bedroom.
  8. !! Curfew for the block is 2100, with penalties to final school score for breaching it. Entry is gated by buzzer.
  9. !!
  10. !! Variables
  11. !!
  12. !! ballet_first_visit - used to set first night
  13. !! ballet_day - Sets which day of the course you are on.
  14. !! prep - How much prep work for the exam has been done. To be used as part of the assessment mechanics.
  15. $default_img_path = 'locations/pushkin/'
  16. if $ARGS[0] = 'start':
  17. *clr & cla
  18. gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
  19. !! reset letter
  20. gs 'shortgs', 'remove_array_element', 'mod_ballet', 'letter'
  21. minut += 45
  22. gs 'stat'
  23. '<center><h1>Welcome and Introduction</h1></center>'
  24. '<center><img <<$set_imgh>> src="images/characters/ballet/3513.jpg"></center>'
  25. *nl
  26. '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.'
  27. '"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".'
  28. '"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."'
  29. *pl '"Do you understand?" '
  30. 'With that, you and the other students answer in unison, "Yes, Ms. <<$npc_lastname[''A3513'']>>."'
  31. '"Very well. I suggest you read the rules in your bedroom. Ignorance will not be accepted as an excuse."'
  32. *nl
  33. '"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.'
  34. '"<<$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."'
  35. act 'Find your room': gt 'pushkin_ballet_res', 'bedroom'
  36. end
  37. if $ARGS[0] = 'bedroom':
  38. *clr & cla
  39. $location_type = 'private'
  40. $setloc['StageTitle'] = 'Residential Bedroom'
  41. $setloc['StageImage'] = '<<$default_img_path>>ballet_residence/bedroom'
  42. gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
  43. gs 'themes', 'indoors'
  44. gs 'stat'
  45. gs 'core_library', 'stage_title'
  46. if ballet_first_visit = 0:
  47. gs 'homes_properties', 'set_home', 'pushkin_ballet_dorm'
  48. ballet_first_visit = 1
  49. if week ! 7 : ballet_day = week
  50. '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.'
  51. 'You start to unpack your suitcase into the wardrobe and settle for the evening before preparing to meet your fellow students.'
  52. '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>.'
  53. act 'Explore the rest of the accommodation': gt 'pushkin_ballet_res', 'hallway'
  54. act 'Read the rules': gt 'pushkin_ballet_res', 'rules'
  55. else
  56. 'You enter your room and sit at your desk, wondering what to do next.'
  57. '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.'
  58. if komp = 1: 'Your <a href="exec: gt ''Komp'',''start''">computer</a> is on your desk.'
  59. '<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>.')
  60. if $clothingworntype ! 'nude':
  61. act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
  62. else
  63. act 'Go to the hallway':
  64. 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>'
  65. gt $loc, $loc_arg
  66. end
  67. end
  68. !! Default actions
  69. gs 'core_library', 'bedroom'
  70. !! Non-standard actions
  71. if hour >= 16 and week ! 7:
  72. act 'Barre Practice (60m)': gt 'pushkin_ballet_evt', 'barre_exercise'
  73. act 'Study (60m)': gt 'pushkin_ballet_res', 'study'
  74. if mc_inventory['cosmetics'] >= 9:
  75. act 'Practice make-up' : gt 'pushkin_ballet_res', 'make_up'
  76. end
  77. if feet_track ! daystart: act 'Take care of your feet': gt 'pushkin_ballet_res', 'feetcare'
  78. end
  79. act 'Listen to the radio (30m)': gt 'pushkin_ballet_res', 'radio'
  80. act 'Read the rules': gt 'pushkin_ballet_res', 'rules'
  81. !!act 'Debug data': gs 'pushkin_ballet_init', 'score_debug'
  82. end
  83. !! First Maya event
  84. if ballet_day = 3 and mayaqw['grave'] = 0 and ( hour >= 17 and hour <= 21):
  85. act 'Answer the knock' : gs 'npc_3501_init','grave'
  86. elseif ballet_day = 3 and hour > 19 and mayaqw['grave'] = 1:
  87. act 'Another knock': gt 'npc_3501_init', 'post_grave'
  88. end
  89. end
  90. if $ARGS[0] = 'hallway':
  91. *clr & cla
  92. $setloc['StageTitle'] = 'Residental Hallway'
  93. $setloc['StageImage'] = '<<$default_img_path>>/ballet_residence/hall'
  94. $location_type = 'public_indoors'
  95. gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
  96. gs 'core_library', 'corridor'
  97. gs 'themes', 'indoors'
  98. gs 'stat'
  99. gs 'core_library', 'stage_title'
  100. !! Visit NPCs
  101. ballet_awol = 0
  102. if ballet_day ! week :
  103. ballet_day = week
  104. end
  105. nclass = 0
  106. if $clothingworntype ! 'nude':
  107. if hour = 6 or (hour = 7 and minut <= 30):
  108. act 'Attend Ballet Classes': gt 'pushkin_ballet_class', 'start'
  109. elseif hour = 7 and (minut > 30 and minut <= 59):
  110. $balletEv['trigger'] = 'late'
  111. gs 'npc_init_3501', 'summer_school'
  112. else
  113. act 'Leave Residence': minut += 5 & ballet_awol = 1 & gt 'pushkin_ballet_center', 'start'
  114. end
  115. else
  116. 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>'
  117. gt $loc, $loc_arg
  118. end
  119. act 'Go to your room': minut += 5 & gt 'pushkin_ballet_res', 'bedroom'
  120. act 'Enter the communal room': minut += 5 & gt 'pushkin_ballet_res', 'communal_area'
  121. act 'Go to the bathroom': minut += 5 & gt 'pushkin_ballet_class', 'shower'
  122. act 'Go to the kitchen': minut += 5 & gt 'pushkin_ballet_res', 'kitchen'
  123. if week ! 7:
  124. !! act 'Visit Maya' : minut += 5 & gt 'pushkin_ballet_res', 'maya_room'
  125. end
  126. !!act 'Knock on wardens door' : minut += 5 & gt 'pushkin_ballet_res', 'warden_room'
  127. if ballet_day = 7:
  128. '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.'
  129. elseif week = 2 and hour <= 18:
  130. gs 'pushkin_ballet_evt', 'res_events', 'birthday', 1
  131. else
  132. amb_event = rand(1,4)
  133. if amb_event = 1:
  134. 'You enter the elegant hallway of your residence, and hear music coming from one of the rooms to the side of you.'
  135. elseif amb_event = 2:
  136. 'As you enter the hallway you hear some giggling and laughter coming from one of the girls'' rooms.'
  137. elseif amb_event = 3:
  138. '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.'
  139. elseif amb_event = 4:
  140. if hour < 8 or hour > 21:
  141. '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.'
  142. else
  143. pcs_mood += 5
  144. 'You hear someone playing the piano in the communal room. You don''t recognize the piece being played, but its soothing melody relaxes you.'
  145. end
  146. end
  147. end
  148. end
  149. if $ARGS[0] = 'maya_room':
  150. *clr & cla
  151. $location_type = 'private'
  152. $setloc['StageTitle'] = 'Maya Room'
  153. $setloc['StageImage'] = '<<$default_img_path>>/ballet_residence/maya_room'
  154. gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
  155. gs 'themes', 'indoors'
  156. gs 'stat'
  157. gs 'core_library', 'stage_title'
  158. '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.'
  159. 'Next to it is an old picture of a woman in a park with a black ribbon in the corner.'
  160. act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
  161. !! Maya events
  162. end
  163. if $ARGS[0] = 'communal_area':
  164. *clr & cla
  165. $setloc['StageTitle'] = 'Communal Room'
  166. $setloc['StageImage'] = '<<$default_img_path>>/ballet_residence/communal'
  167. $location_type = 'public_indoors'
  168. gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
  169. gs 'themes', 'indoors'
  170. gs 'stat'
  171. !!'You enter the communal room.'
  172. act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
  173. 'WIP Progress - no content'
  174. if week = 7 and ballet_mod['res_mg'] = 0:
  175. ballet_mod['res_mg'] = 1
  176. gs 'pushkin_ballet_evt', 'res_events', 'introduction'
  177. elseif week = 2 and ((hour >= 18 and minut > 30) or (hour >= 19 or hour < 21)):
  178. !! minute += 90
  179. 'Attend party'
  180. elseif week =2 and hour < 18:
  181. !! minut += 20
  182. 'Write help setting out food.'
  183. end
  184. ! Communal random events
  185. end
  186. if $ARGS[0] = 'kitchen':
  187. *clr & cla
  188. $setloc['StageTitle'] = 'Residental Kitchen'
  189. $setloc['StageImage'] = '<<$default_img_path>>ballet_residence/kitchen'
  190. $location_type = 'private'
  191. gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
  192. gs 'themes', 'indoors'
  193. gs 'stat'
  194. gs 'core_library', 'stage_title'
  195. act 'Go to the hallway': minut += 5 & gt 'pushkin_ballet_res', 'hallway'
  196. gs 'core_library', 'kitchen'
  197. !! Set up events
  198. *nl
  199. if hour > 15:
  200. act 'Eat a light meal':gs 'food', 's_meal'
  201. act 'Eat an Evening Meal': dynamic $edahotd
  202. elseif (hour > 4 and hour < 8) and mayaqw['grave'] = 4 and sharedmeal ! daystart:
  203. act 'Have breakfast with Maya':
  204. *clr & cla
  205. sharedmeal = daystart
  206. gs 'food', 'family_meals', 'breakfast'
  207. gs 'stat'
  208. '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.'
  209. act 'Finish breakfast': gt 'pushkin_ballet_res', 'kitchen'
  210. end
  211. elseif hour > 4 and hour < 8:
  212. act 'Eat breakfast':
  213. *clr & cla
  214. gs 'food', 'family_meals', 'breakfast'
  215. gs 'stat'
  216. 'You look in the fridge for some fruit and then make some porridge for breakfast.'
  217. act 'Finish breakfast': gt 'pushkin_ballet_res', 'kitchen'
  218. end
  219. end
  220. if week = 2 and (hour > 17 and hour < 19):
  221. gs 'pushkin_ballet_evt', 'kitchen_birthday'
  222. else
  223. '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.'
  224. end
  225. end
  226. !! Intercomm
  227. if $ARGS[0] = 'warden':
  228. !! residential buzzer logic statements
  229. if (hour > 20 or hour < 6) and ballet_awol = 1:
  230. '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s icy voice through the intercom.'
  231. '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
  232. '"<<$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.'
  233. gt 'pushkin_ballet_res', 'warden_room'
  234. elseif (hour >= 17 or hour < 21 ) and ballet_awol = 1:
  235. '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
  236. '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause and you hear the door being buzzed open.'
  237. gt 'pushkin_ballet_res', 'hallway'
  238. elseif ballet_awol = 1:
  239. '"Pushkin Ballet Residential Block, how may I help you?", you hear Bronya''s voice through the intercom.'
  240. '"<<$pcs_firstname>> <<$pcs_lastname>>, can I be let in please?", there''s a few seconds pause.'
  241. '"<<$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.'
  242. gt 'pushkin_ballet_res', 'warden_room'
  243. else
  244. minut += 10
  245. 'You press the buzzer but there''s no response.'
  246. act 'Return': gt 'pushkin'
  247. end
  248. end
  249. if $ARGS[0] = 'warden_room':
  250. *clr & cla
  251. $location_type = 'private'
  252. $setloc['StageTitle'] = 'Wardens Residence'
  253. $setloc['StageImage'] = '<<$default_img_path>>/ballet_residence/warden'
  254. $location_type = 'public_indoors'
  255. gs 'shortgs', 'setloc', 'pushkin_ballet_res', $ARGS[0]
  256. gs 'themes', 'indoors'
  257. gs 'stat'
  258. gs 'core_library', 'stage_title'
  259. ! Punishment or plot
  260. act 'Go to the hallway': minut += 5 & ballet_awol = 0 & gt 'pushkin_ballet_res', 'hallway'
  261. end
  262. !! Activities
  263. if $ARGS[0] = 'rules':
  264. *clr & cla
  265. minut += 5
  266. gs 'stat'
  267. *pl '<center><h2>Residence Rules</h2></center>'
  268. *pl 'You look at the rules on the wall.'
  269. *pl 'Whilst you stay in this accommodation, you will follow these rules:'
  270. '1) No males are allowed in the accommodation block.'
  271. '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.'
  272. '3) No smoking, drinking, or drug use is allowed in the accommodation. If you are caught, you will face immediate dismissal from the school.'
  273. '4) Breakfast is from 06:00 to 07:00.'
  274. '5) All rooms must be kept clean and tidy.'
  275. '6) Valuables can be left with the duty warden if required. All thefts or problems are to be reported immediately.'
  276. '7) You are to follow the duty warden''s instructions in an emergency.'
  277. act 'Look away': gt 'pushkin_ballet_res', 'bedroom'
  278. end
  279. if $ARGS[0] = 'radio':
  280. *clr & cla
  281. minut += 30
  282. pcs_mood += rand(1,5)
  283. pcs_sleep -= rand(1,10)
  284. if ballet_day >= 1 and week ! 7:
  285. instrmusic_exp += rand(1,3)
  286. gs 'exp_gain', 'perform', rand(1,3)
  287. mod_homework[week] += 1
  288. mod_daily_score[week] += 1
  289. end
  290. $setloc['StageTitle'] = 'Radio'
  291. $setloc['StageImage'] = '<<$default_img_path>>ballet_residence/russian_radio'
  292. gs 'stat'
  293. gs 'core_library', 'stage_title'
  294. '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. '
  295. act 'Turn the radio off': gt 'pushkin_ballet_res', 'bedroom'
  296. end
  297. if $ARGS[0] = 'feetcare':
  298. ! Feet care - to be expanded. with different routines.
  299. ! feet soak in Epsom salts
  300. ! Arnica gel to help reduce swelling around calfs and ankles, or soaking in witch hazel
  301. ! sew ballet shoes and break the soles for prep.
  302. ! Thera band for feet exercises
  303. ! check toe pads
  304. *clr & cla
  305. mood += rand(1, 10)
  306. pcs_health += 15
  307. mod_homework[week] += 1
  308. mod_daily_score[week] += 1
  309. minut +=30
  310. feet_track = daystart
  311. gs 'stat'
  312. $setloc['StageTitle'] = 'Feet Soak'
  313. $setloc['StageImage'] = '<<$default_img_path>>ballet_events/feet_soak'
  314. gs 'core_library', 'stage_title'
  315. '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.'
  316. '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.'
  317. '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.'
  318. '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.'
  319. ! 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.
  320. act 'Finish feet care': gt 'pushkin_ballet_res', 'bedroom'
  321. end
  322. if $ARGS[0] = 'study':
  323. ! Study ballet and music
  324. *clr & cla
  325. mood -= rand(1, 10)
  326. minut += 60
  327. mod_homework[week] += 1
  328. mod_daily_score[week] += 1
  329. $setloc['StageTitle'] = 'Study'
  330. $setloc['StageImage'] = '<<$default_img_path>>ballet_residence/study'
  331. gs 'stat'
  332. gs 'core_library', 'stage_title'
  333. '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.'
  334. act 'Finish studying': gt 'pushkin_ballet_res', 'bedroom'
  335. end
  336. if $ARGS[0] = 'make_up':
  337. !! Practice make up skills
  338. *clr & cla
  339. minut += 60
  340. mod_homework[week] += 1
  341. mod_daily_score[week] += 1
  342. gs 'exp_gain', 'makupskl', rand(1,3)
  343. if pcs_makupskl < 30:
  344. mc_inventory['cosmetics'] -= 9
  345. pcs_makeup = 0
  346. elseif pcs_makupskl >=31 <= 74:
  347. mc_inventory['cosmetics'] -= 5
  348. pcs_makeup = 3
  349. elseif pcs_makupskl >= 75:
  350. mc_inventory['cosmetics'] -= 3
  351. pcs_makeup = 5
  352. end
  353. gs 'stat'
  354. $setloc['StageTitle'] = 'Feet Soak'
  355. $setloc['StageImage'] = '<<$default_img_path>>/ballet_events/make-up'
  356. gs 'core_library', 'stage_title'
  357. if pcs_makupskl <= 30:
  358. 'You struggle to master the basics of applying your look, wasting a lot of your expensive make-up. You wonder if you should get help with practicing.'
  359. elseif pcs_makupskl >= 31 or pcs_makupskl <= 69:
  360. 'You try to replicate the deft strokes that you was taught in school apply the basic foundation. You struggle briefly with the eyelashes before they settle in place. It takes you a few attempts to finalise the blending of your looks but at the end of your practice you are happy with the results even though it won''t win any awards.'
  361. elseif pcs_makupskl >= 70:
  362. 'You artfully apply the make-up look with a quick, practiced ease that would leave most girls with envy. The final look is almost flawless and you criticaly review the final result.'
  363. else
  364. $ballet['error'] += 'Makeup skill failed check'
  365. end
  366. act 'Finish practicing': gt 'pushkin_ballet_res', 'bedroom'
  367. end
  368. --- pushkin_ballet_res ---------------------------------