pushkin_ballet_init.qsrc 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  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 conjuction 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. !! mod_ballet[waymarkers] = Waymarkers for plot beats in mod. Defaults to off.
  30. if $ARGS[0] = 'init':
  31. ! Initiate the ballet events.
  32. If mod_ballet['blocker'] = 1:
  33. mod_ballet['waymarkers'] = 0
  34. mod_ballet['blocker'] = 2
  35. gs 'fame', 'pushkin', 'ballet', 30, 'local'
  36. gs 'ballet_npc'
  37. i_npc = 1
  38. :mod_ballet_rel_set
  39. if i_npc < 10:
  40. $npc_idx = 'A350<<i_npc>>'
  41. else
  42. $npc_idx = 'A35<<i_npc>>'
  43. end
  44. gs 'npc_relationship', 'set', '<<$npc_idx>>', 'unknown'
  45. npc_trust[$npc_idx] = 0
  46. i_npc += 1
  47. if i_npc <= 17: jump 'mod_ballet_rel_set'
  48. ! Set local fame to fit narrative of up and coming ballet dancer
  49. end
  50. end
  51. if $ARGS[0] = 'start':
  52. ! Initial acceptance
  53. if $loc = 'kuhrPar' and locat['Mother'] = 4 and mod_ballet['letter'] < 1 and daystart <= 14 :
  54. ! Trigger first act
  55. gs 'ballet_npc'
  56. act '<font color="#80E656">Read the letter</font>': gt 'pushkin_ballet_evt', 'letter'
  57. end
  58. if $loc = 'kuhrPar' and locat['Mother'] = 4 and mod_ballet['letter'] < 1 and daystart >=45:
  59. ! Trigger second act
  60. act '<font color="#80E656">Read the letter</font>': gt 'pushkin_ballet_evt', 'letter'
  61. end
  62. end
  63. if $ARGS[0] = 'daily_assessment':
  64. !! Grade appearance, behaviour and other factors.
  65. !! Daily Appearance
  66. if school_daily_check ! daystart and (hour >= 8 and hour <= 17):
  67. !! Positive additions:
  68. mod_grade_attendance[week] += 1
  69. if pcs_makeup > 1: mod_grade_mua[week] += 1
  70. if hBraids > 0 or hpingripw > 0: mod_grade_appearance[week] +=1
  71. !! Negative deductions:
  72. if pcs_hairbsh = 0: mod_grade_appearance[week] -=1
  73. if pcs_missing_teeth > 0 or pcs_teeth ! -1: mod_grade_appearance[week] -=1
  74. if school_curfew > 0: mod_grade_disciplne[week] -= 1
  75. if pcs_leghair > 3 : mod_grade_appearance[week] -= 1
  76. if pubestyle = 10: mod_grade_appearance[week] -= 1
  77. if alko > 1: mod_grade_discipline[week] -= 1
  78. !!mod_daily_score[week] = mod_grade_mua[week] + mod_grade_attendance[week] + mod_grade_appearance[week] - mod_grade_discipline[week]
  79. !! msg 'Attend: <<mod_grade_attendance[week]>>, MUA:<<mod_grade_mua[week]>>, Appear: <<mod_grade_appearance[week]>>, Discipline <<mod_grade_disciple[week]>>, <<pcs_hairbsh>>'
  80. end
  81. if nclass = 5 and school_daily_check ! daystart:
  82. mod_daily_score[week] = mod_grade_attendance[week] + mod_grade_mua[week] + mod_grade_appearance[week] + mod_homework[week] - mod_grade_discipline[week]
  83. end
  84. if ARGS[1]= 'grade':
  85. final_score = (pcs_apprnc / 10) + ((pcs_stren + pcs_agil + pcs_danc) / 10 ) + school_running_tally + study_tally
  86. !! 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%.
  87. if final_score <= 40:
  88. balletqw[school] = 5
  89. elseif final_score >=41 & final_score < 60:
  90. !! Interim pass until quest lines are created for Maya/Rudolph
  91. balletqw[school] = 1
  92. balletqw[rank] = 1
  93. elseif final_score >= 61 & final_score <= 90:
  94. balletqw[school] = 1
  95. balletqw[rank] = 1
  96. elseif final_score >= 91:
  97. balletqw[school] = 4
  98. balletqw[rank] = 1
  99. end
  100. if final_score > 60: gs 'pushkin_ballet_init', 'famemodifier', final_Score
  101. end
  102. end
  103. if $ARGS[0] = 'famemodifier':
  104. ! Set upper value for seed.
  105. rank = ARGS[1]
  106. hc_restrict = rand(2, (rank/4))
  107. ballet_fame = ( (rank + pcs_danc ) / hc_restrict )
  108. if ballet_fame < 1: ballet_fame = 5
  109. gs 'fame', 'pushkin', 'ballet', rand(0, ballet_fame), 'local'
  110. !! Diags
  111. ballet_temp['score'] = final_score
  112. ballet_temp['rank'] = rank
  113. ballet_temp['fame'] = fame
  114. !! End Diags
  115. killvar 'final_score'
  116. killvar 'rank'
  117. killvar 'hc_restrict'
  118. killvar 'ballet_fame'
  119. end
  120. if $ARGS[0] = 'cleanup_var':
  121. !! Clean up school variables upon completion.
  122. !! Debug - remove all variables associated with mod
  123. if $ARGS[]= 'debug':
  124. ! Maya
  125. gs 'shortgs', 'remove_array_element', 'mayaqw','trust'
  126. gs 'shortgs', 'remove_array_element', 'mayaqw','grave'
  127. ! Rudolph
  128. gs 'shortgs', 'remove_array_element', 'rudolphqw','corruption'
  129. gs 'shortgs', 'remove_array_element', 'rudolphqw','stage'
  130. ! School events
  131. gs 'shortgs', 'remove_array_element', 'balletqw','school'
  132. gs 'shortgs', 'remove_array_element', 'balletqw','performances'
  133. gs 'shortgs', 'remove_array_element', 'balletqw','rank'
  134. end
  135. !! Diags
  136. ballet_temp['srt'] = school_running_tally
  137. ballet_temp['school_prep'] = school_prep
  138. !! End diags
  139. killvar 'ballet_awol'
  140. killvar 'school_running_tally'
  141. killvar 'sharedmeal'
  142. killvar 'study_tally'
  143. killvar 'school_prep'
  144. killvar 'ballet_day'
  145. killvar 'mod_ballet[''letter'']'
  146. killvar 'ballet_first_bedroom'
  147. killvar 'feet_track'
  148. killvar 'ballet_mod[''res_mg'']'
  149. end
  150. if $ARGS[0] = 'score_debug':
  151. debug_day = 1
  152. :jmp_debug_score
  153. 'Day: <<debug_day>>'
  154. 'Make-up Score: <<mod_grade_mua[debug_day]>>'
  155. 'Appearance: <<mod_grade_appearance[debug_day]>>'
  156. 'Rules and Disciple: <<mod_grade_disciple[debug_day]>>'
  157. 'Homework: <<mod_homework[debug_day]>>'
  158. 'Attendance: <<mod_grade_attendance[debug_day]>>'
  159. 'Total Day Score: <<mod_daily_score[debug_day]>>'
  160. ' - - - '
  161. debug_day += 1
  162. if debug_day <= 5: jump 'jmp_debug_score'
  163. end
  164. --- pushkin_ballet_init ---------------------------------