pushkin_ballet_init.qsrc 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. # pushkin_ballet_init
  2. !! Date Created: 17th Sept, 2022
  3. !! Modified date:
  4. !! Version: .01 - initial release
  5. !! Author: Hooded Silence
  6. !!
  7. !! Ballet Summer School
  8. !!
  9. !! 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.
  10. !! 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).
  11. !!
  12. !! Variables
  13. !!
  14. !! mod_ballet[blocker]- quest line initiator to start/stop the quests.
  15. !! mod_ballet[letter]- temp blocker to prevent the letter being read multiple times.
  16. !! ballet[hypno] = 1 - hypno content trapdoor
  17. !! 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]
  18. !! 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
  19. !! balletqw[rank] - What stage of her career, 1 apprenticeship, 2 part of Corp de ballet, 3 full member of the Theatre.
  20. !! Ranks
  21. !! Corps De Ballet, coryphée, demi-soloist, soloist, principle dancer.
  22. !! balletqw[performances] - How many shows perfomed
  23. !! 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.
  24. !! mayaqw[trust] - How much Maya trusts you and works in conjunction with npc_rel
  25. !! 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
  26. !! much she has submitted to his authority and demands. Corruption opens dialogue options.
  27. !!
  28. !! AlbinaQW[StarletsJoined] - Set -1 to prevent rejoining.
  29. !!
  30. if $ARGS[0] = 'init':
  31. !! Start the School
  32. if $start_type['cat'] = 'dancer' or ($start_type['cat'] = 'custom' and danc_lvl >= 50):
  33. !! School week
  34. !! Pushkin residential block
  35. if $loc = 'pushkin_sq':
  36. *nl
  37. 'Just off Okhlopkov Square you see the road that leads to the ballet schools <a href="exec:gt ''pushkin_ballet_center'',''start''">residential block</a>.'
  38. act 'Walk to the residential block': gt 'pushkin_ballet_center', 'start'
  39. end
  40. if $loc = 'pushkin_ballet_res' and (hour = 7 and minut >= 30):
  41. !! trigger late event for Maya wtih fall back
  42. $balletEv['trigger'] = 'late'
  43. gs 'npc_3501_init', 'summer_school'
  44. elseif $loc = 'pushkin_ballet_res' and $loc_arg = 'hallway' and (hour >= 6 and hour < 8) and (day >= 1 or day <= 6):
  45. act 'Go to School (07:30 start)': gt 'pushkin_ballet_class', 'start'
  46. end
  47. if daystart > 33 and $loc = 'bedrPar' and mod_ballet['letter'] = 1:
  48. gs 'shortgs', 'remove_array_element', 'mod_ballet', 'blocker'
  49. gs 'shortgs', 'remove_array_element', 'mod_ballet', 'letter'
  50. msg 'You''ve missed your ballet school start date, maybe there will be other opportunities in future.'
  51. end
  52. if $loc = 'bedrPar':
  53. end
  54. end
  55. !! Initiate the ballet events.
  56. If mod_ballet['blocker'] = 1:
  57. mod_ballet['blocker'] = 2
  58. gs 'fame', 'pushkin', 'ballet', 30, 'local'
  59. gs 'ballet_npc'
  60. i_npc = 1
  61. :mod_ballet_rel_set
  62. if i_npc < 10:
  63. $npc_idx = 'A350<<i_npc>>'
  64. else
  65. $npc_idx = 'A35<<i_npc>>'
  66. end
  67. gs 'npc_relationship', 'set', '<<$npc_idx>>', 'unknown'
  68. npc_trust[$npc_idx] = 0
  69. i_npc += 1
  70. if i_npc <= 17: jump 'mod_ballet_rel_set'
  71. !! Set local fame to fit narrative of up and coming ballet dancer
  72. end
  73. end
  74. if $ARGS[0] = 'start':
  75. ! Initial acceptance
  76. if $loc = 'kuhrPar' and $start_type['cat'] = 'dancer':
  77. if locat['Mother'] = 4 and mod_ballet['letter'] < 1 and daystart <= 14 :
  78. ! Trigger first act
  79. gs 'ballet_npc'
  80. act 'Read the letter': gt 'pushkin_ballet_evt', 'letter'
  81. end
  82. if locat['Mother'] = 4 and mod_ballet['letter'] < 1 and daystart >=45:
  83. ! Trigger second act
  84. act 'Read the letter': gt 'pushkin_ballet_evt', 'letter'
  85. end
  86. end
  87. end
  88. if $ARGS[0] = 'daily_assessment':
  89. !! Grade appearance, behaviour and other factors.
  90. !! Daily Appearance
  91. if school_daily_check ! daystart and (hour >= 8 and hour <= 17):
  92. !! Positive additions:
  93. mod_grade_attendance[week] += 1
  94. if pcs_makeup > 1: mod_grade_mua[week] += 1
  95. if hBraids > 0 or hpingripw > 0: mod_grade_appearance[week] +=1
  96. !! Negative deductions:
  97. if pcs_hairbsh = 0: mod_grade_appearance[week] -=1
  98. if pcs_missing_teeth > 0 or pcs_teeth ! -1: mod_grade_appearance[week] -=1
  99. if school_curfew > 0: mod_grade_disciplne[week] -= 1
  100. if pcs_leghair > 3 : mod_grade_appearance[week] -= 1
  101. if pubestyle = 10: mod_grade_appearance[week] -= 1
  102. if alko > 1: mod_grade_discipline[week] -= 1
  103. !!mod_daily_score[week] = mod_grade_mua[week] + mod_grade_attendance[week] + mod_grade_appearance[week] - mod_grade_discipline[week]
  104. !! msg 'Attend: <<mod_grade_attendance[week]>>, MUA:<<mod_grade_mua[week]>>, Appear: <<mod_grade_appearance[week]>>, Discipline <<mod_grade_disciple[week]>>, <<pcs_hairbsh>>'
  105. end
  106. if nclass = 5 and school_daily_check ! daystart:
  107. mod_daily_score[week] = mod_grade_attendance[week] + mod_grade_mua[week] + mod_grade_appearance[week] + mod_homework[week] - mod_grade_discipline[week]
  108. end
  109. if $ARGS[1]= 'grade':
  110. final_score = (pcs_apprnc / 10) + ((pcs_stren + pcs_agil + pcs_danc) / 10 ) + school_running_tally + study_tally
  111. !! 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%.
  112. if final_score <= 40:
  113. balletqw[school] = 5
  114. elseif final_score >=41 and final_score < 60:
  115. !! Interim pass until quest lines are created for Maya/Rudolph
  116. balletqw[school] = 1
  117. balletqw[rank] = 1
  118. elseif final_score >= 61 and final_score <= 90:
  119. balletqw[school] = 1
  120. balletqw[rank] = 1
  121. elseif final_score >= 91:
  122. balletqw[school] = 4
  123. balletqw[rank] = 1
  124. end
  125. if final_score > 60: gs 'pushkin_ballet_init', 'famemodifier', final_Score
  126. end
  127. end
  128. if $ARGS[0] = 'famemodifier':
  129. ! Set upper value for seed.
  130. rank = ARGS[1]
  131. hc_restrict = rand(2, (rank/4))
  132. ballet_fame = ( (rank + pcs_danc ) / hc_restrict )
  133. if ballet_fame < 1: ballet_fame = 5
  134. gs 'fame', 'pushkin', 'ballet', rand(0, ballet_fame), 'local'
  135. !! Diags
  136. ballet_temp['score'] = final_score
  137. ballet_temp['rank'] = rank
  138. ballet_temp['fame'] = fame
  139. !! End Diags
  140. killvar 'final_score'
  141. killvar 'rank'
  142. killvar 'hc_restrict'
  143. killvar 'ballet_fame'
  144. end
  145. if $ARGS[0] = 'cleanup_var':
  146. !! Clean up school variables upon completion.
  147. !! Debug - remove all variables associated with mod
  148. if $ARGS[]= 'debug':
  149. ! Maya
  150. gs 'shortgs', 'remove_array_element', 'mayaqw','trust'
  151. gs 'shortgs', 'remove_array_element', 'mayaqw','grave'
  152. ! Rudolph
  153. gs 'shortgs', 'remove_array_element', 'rudolphqw','corruption'
  154. gs 'shortgs', 'remove_array_element', 'rudolphqw','stage'
  155. ! School events
  156. gs 'shortgs', 'remove_array_element', 'balletqw','school'
  157. gs 'shortgs', 'remove_array_element', 'balletqw','performances'
  158. gs 'shortgs', 'remove_array_element', 'balletqw','rank'
  159. end
  160. !! Diags
  161. ballet_temp['srt'] = school_running_tally
  162. ballet_temp['school_prep'] = school_prep
  163. !! End diags
  164. killvar 'ballet_awol'
  165. killvar 'school_running_tally'
  166. killvar 'sharedmeal'
  167. killvar 'study_tally'
  168. killvar 'school_prep'
  169. killvar 'ballet_day'
  170. killvar 'ballet_first_bedroom'
  171. killvar 'feet_track'
  172. gs 'shortgs', 'remove_array_element', 'mod_ballet', 'letter'
  173. gs 'shortgs', 'remove_array_element', 'mod_ballet', 'res_mg'
  174. end
  175. if $ARGS[0] = 'score_debug':
  176. debug_day = 1
  177. :jmp_debug_score
  178. 'Day: <<debug_day>>'
  179. 'Make-up Score: <<mod_grade_mua[debug_day]>>'
  180. 'Appearance: <<mod_grade_appearance[debug_day]>>'
  181. 'Rules and Discipline: <<mod_grade_disciple[debug_day]>>'
  182. 'Homework: <<mod_homework[debug_day]>>'
  183. 'Attendance: <<mod_grade_attendance[debug_day]>>'
  184. 'Total Day Score: <<mod_daily_score[debug_day]>>'
  185. ' - - - '
  186. debug_day += 1
  187. if debug_day <= 5: jump 'jmp_debug_score'
  188. end
  189. --- pushkin_ballet_init ---------------------------------