pushkin_ballet_res.qsrc 19 KB

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