pushkin_ballet_res.qsrc 20 KB

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