pushkin_ballet_init.qsrc 8.9 KB

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