journal.qsrc 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962
  1. # journal
  2. !! 2021/05/02 Initial code
  3. !! Refactored 24 Aug 22
  4. !! Amended by Hooded Silence
  5. !! Game Character Journal - central core game data area for players.
  6. !! V .01 Refactored to enable menu bar navigation for UI consistency.
  7. !! V .02 Redesign and integration of content areas.
  8. !! V .03 Bug fixes.
  9. !!
  10. !! Sections:
  11. !! 0 Magic (if enabled)
  12. !! 1 Housing
  13. !! 2 Work - calls in journal_work
  14. !! 3 Quests - calls in journal_quest section
  15. !! 4 Relations / Current Group - pulls in various elements refactored from other areas to make tracking relationships easier. To be expanded on.
  16. !! 5 General Information
  17. !! 6 User Notes - custom function
  18. !!
  19. !! Menu Variables
  20. !! menutrack = tracks current menu position
  21. !! jumploc = call in the active menu section
  22. !! $tablebody = Container to create the menu body to work around QSP deadspace display issues.
  23. !! Section Variables
  24. !! employed[qw] = Work tracker if employed. To be set on starting or leaving a job.
  25. !! Header section start
  26. if $ARGS[0] = 'records':
  27. *clr & cla
  28. $BACKIMAGE = ''
  29. gs 'housing', 'rent'
  30. gs 'journal', 'journalmenu'
  31. ! records
  32. end
  33. if $ARGS[0]='journalmenu':
  34. *clr & cla
  35. gs 'stat'
  36. *nl
  37. $tablebody = '<tr>'
  38. if $start_type[1] ! 'nomagic': $tablebody += '<th><a href="exec:menutrack = 0 & gs ''journal'', ''magictab''">Magic</a></th>'
  39. $tablebody += '<th><a href="exec:menutrack = 1 & gs ''journal'', ''housingtab''">Housing</a></th>'
  40. $tablebody += '<th><a href="exec:menutrack = 2 & gs ''journal_work'', ''start''">Work</a></th>'
  41. $tablebody += '<th><a href="exec:menutrack = 2 & gs ''journal_quests'', ''start''">Quests</a></th>'
  42. $tablebody += '<th><a href="exec:menutrack = 4 & gs ''journal'', ''relationstab''">Relations</a></th>'
  43. $tablebody += '<th><a href="exec:menutrack = 5 & gs ''journal'', ''generaltab''">Game Information</a></th>'
  44. $tablebody += '<th><a href="exec:menutrack = 6 & gs ''journal'', ''notestab''">Notes</a></th>'
  45. $tablebody += '<th><a href="exec:menutrack = 7 & gs ''journal'', ''notification_log''">Notifications</a></th>'
  46. $tablebody += '</tr>'
  47. !display the table here.
  48. '<center><table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top"><tr><<$tablebody>></tr></table></center>'
  49. if $jumploc = '' or jclose = 1:
  50. if $start_type[1] ! 'nomagic':
  51. menutrack = 0
  52. jclose = 0
  53. gt 'journal', 'magictab'
  54. else
  55. menutrack = 1
  56. jclose = 0
  57. gt 'journal', 'housingtab'
  58. end
  59. end
  60. gs 'journal', 'leaveactions'
  61. ! Journal Menu
  62. end
  63. !!-------------------------!1
  64. !! Magic !!
  65. !!-------------------------!!
  66. if $ARGS[0] = 'magictab':
  67. $jumploc = 'magictab'
  68. gs 'journal', 'journalmenu'
  69. '<center><h2>Spells</h2></center><br>'
  70. '<center><h2>Spells to Cast</h2></center><br>'
  71. func('spellBook','cast','$nonComSpells', 'gt ''journal'', ''magictab''', 'jclose = 1')
  72. !!''''
  73. '<br><center><h2>Spell Learning</h2></center><br>'
  74. '<br><center><h3>Combat</h3></center><br>'
  75. func('spellBook','learn','$combatSpells')
  76. '<br><center><h3>Non-Combat</h3></center><br>'
  77. func('spellBook','learn','$nonComSpells')
  78. delact 'Never mind'
  79. ! magic
  80. end
  81. !!-------------------------!!
  82. !! Housing !!
  83. !!-------------------------!!
  84. if $ARGS[0] = 'housingtab':
  85. $jumploc = 'housingtab'
  86. gs 'journal', 'journalmenu'
  87. '<center><h2>Housing</h2></center>'
  88. *nl
  89. if accessible_property['shared_apartment'] = 4: 'You share an apartment with three others in Pavlovsk. Your bills are paid by the other tenants in exchange for your house services.'
  90. if accessible_property['city_apartment'] = 1: 'You rent a two bedroom apartment in the city residential area. Your rent for the apartment is subtracted automatically in sum of <<accessible_property[''city_apartment-rent'']>> <b>₽</b> us electric bill on 25th of each month. You are currently paid up for <b><<accessible_property[''city_apartment-days-left'']>></b> days.'
  91. if accessible_property['city_apartment'] = 2: 'You own a two bedroom apartment in the city residential area. Your utility bills are due on the 25th of each month.'
  92. if accessible_property['city_apartment'] = 3: 'You own a two bedroom apartment in the city residential area. It''s currently occupied by your tenants.'
  93. if accessible_property['parents_home'] = 4: 'You live with your parents and siblings in a two bedroom apartment in Pavlovsk.'
  94. if accessible_property['village_cottage']= 2 : 'You own a small holiday cottage with an adjacent allotment in the communal village.'
  95. if accessible_property['old_town_apartment'] = 1: 'You rent a two bedroom apartment in Pushkin. Your rent for the apartment is subtracted automatically in the sum of <<accessible_property[''old_town_apartment-rent'']>> <b>₽</b> us electric bill on the 25th of each month. You are currently paid up for <b><<accessible_property[''old_town_apartment-days-left'']>></b> days.'
  96. if accessible_property['matryona_mansion'] = 2 and constructionstatus = 0: 'You own a vacant block in the city suburbs.'
  97. if accessible_property['matryona_mansion'] = 2 and constructionstatus = 1: 'You own a plot of land in the city suburbs upon which you are building a house.' + iif(banaMansion = 1, 'Your utility bills are due on the 25th of each month.', '')
  98. if accessible_property['matryona_mansion'] = 2 and constructionstatus = 2: 'You own an impressive mansion in the city suburbs. ' + iif(banaMansion = 1, 'Your utility bills are due on the 25th of each month.', '')
  99. if accessible_property['city_house'] = 2: 'You own a nice house on the edge of the city residential district. Your utility bills are due on the 25th of each month.'
  100. if accessible_property['meynold_household'] = 4: 'You live with Vicky, Katja and Tamara Meynold. You have your own room and get an allowance based on helping out around the house and/or studying with Tamara.'
  101. *nl
  102. if car > 0:
  103. '<center><h2>Car</h2></center>'
  104. *nl
  105. if cardrive = 1: 'Your car is parked in St. Petersburg''s residential area.'
  106. if cardrive = 2: 'Your car is parked in St. Petersburg''s city center.'
  107. if cardrive = 3: 'Your car is parked in St. Petersburg''s industrial region.'
  108. if cardrive = 4: 'Your car is parked at St. Petersburg''s Lake.'
  109. if cardrive = 5: 'Your car is parked at St. Petersburg''s Park.'
  110. if cardrive = 6: 'Your car is parked at the gas station in St. Petersburg''s industrial region.'
  111. if cardrive = 7: 'Your car is parked at the Car Repair Shop in St. Petersburg.'
  112. if cardrive = 8: 'Your car is parked at your house in St. Petersburg''s residential area.'
  113. if cardrive = 9: 'Your car is parked at the Car Dealership in St. Petersburg.'
  114. if cardrive = 10: 'Your car is parked at St. Petersburg''s Park.'
  115. if cardrive = 11: 'Your car is parked at St. Petersburg''s Sauna.'
  116. if cardrive = 12: 'Your car is parked at the construction site.'
  117. if cardrive = 13: 'Your car is parked in the Suburban Cooperative.'
  118. if cardrive = 14: 'Your car is parked in Old Town district of Pavlovsk.'
  119. if cardrive = 18: 'Your car is parked at Matryona Mansion.'
  120. if cardrive = 19: 'Your car is parked at St. Petersburg''s industrial train station.'
  121. if cardrive = 20: 'Your car is parked in Pavlovsk''s residential area.'
  122. if cardrive = 21: 'Your car is parked at the gas station near Pavlovsk.'
  123. if cardrive = 22: 'Your car is parked on the highway.'
  124. if cardrive = 23: 'Your car is parked in Gadukino.'
  125. if cardrive = 24: 'Your car is parked in Pavlovsk''s commercial region.'
  126. if cardrive = 25: 'Your car is parked in Vasilyevsky Island'
  127. if cardrive = 26: 'Your car is parked in Pavlovsk''s industrial region.'
  128. if cardrive = 27: 'Your car is parked in St. Petersburg''s red light district.'
  129. if cardrive = 28: 'Your car is parked in St. Petersburg''s suburbs.'
  130. end
  131. !! housing
  132. end
  133. !!-------------------------!!
  134. !! Relationships !!
  135. !!-------------------------!!
  136. if $ARGS[0] = 'relationstab':
  137. $jumploc = 'relationstab'
  138. gs 'journal', 'journalmenu'
  139. '<center><h2>Relationships</h2></center>'
  140. '<h2>Family</h2>'
  141. 'Mother:'
  142. gs 'journal', 'relindex', 'A29'
  143. 'Stepfather:'
  144. gs 'journal', 'relindex', 'A28'
  145. 'Sister:'
  146. gs 'journal', 'relindex', 'A33'
  147. 'Brother:'
  148. gs 'journal', 'relindex', 'A34'
  149. if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and SchoolBlock = 0:
  150. '<center><h2>Standings by Social Group</h2></center>'
  151. if grupTipe < 5 and grupvalue[grupTipe] > 700:
  152. $journal_school_standing = ' You are well respected and liked within your clique.'
  153. elseif grupTipe < 5 and grupvalue[grupTipe] > 300:
  154. $journal_school_standing = ' You are in good standing with your clique.'
  155. elseif grupTipe < 5:
  156. $journal_school_standing = '<font color="red"> You have to work on your clique standing. You''re in danger of being cast out.</font>'
  157. end
  158. if grupTipe = 0:
  159. 'You are not a member of any particular school social group.' + $journal_school_standing
  160. elseif grupTipe = 1:
  161. 'Your school social group consists of the popular, cool and beautiful.' + $journal_school_standing
  162. elseif grupTipe = 2:
  163. 'Your school social group consists of jocks and natural athletes.' + $journal_school_standing
  164. elseif grupTipe = 3:
  165. 'Your school social group consists of nerds, geeks and good students.' + $journal_school_standing
  166. if nerd_game['game_day'] > daystart: 'You have been invited to a games night on <<$week[(week + (nerd_game[''game_day''] - daystart))]>> at 20:00 in the community center library.'
  167. if nerd_game['game_day'] = daystart: 'You have been invited to a games night tonight at 20:00 in the community center library.'
  168. elseif grupTipe = 4:
  169. 'Your school social group consists of gopniks, rebels, punks or troublemakers.' + $journal_school_standing
  170. elseif grupTipe = 5:
  171. 'Your school social group consists of losers, teacher''s pets, sluts and the ugly.'
  172. end
  173. *nl
  174. 'Cool Kids'
  175. gs 'indik', '4', grupvalue[1]/10, grupvalue[1], 1 & '<<$ind>>'
  176. 'Jocks'
  177. gs 'indik', '4', grupvalue[2]/10, grupvalue[2], 2 & '<<$ind>>'
  178. 'Nerds'
  179. gs 'indik', '4', grupvalue[3]/10, grupvalue[3], 3 & '<<$ind>>'
  180. 'Gopnik'
  181. gs 'indik', '4', grupvalue[4]/10, grupvalue[4], 4 & '<<$ind>>'
  182. '<center><h2>Popular Kids Relations</h2></center>'
  183. if npc_rel['A1'] > 0: 'Friendship with Dimka:' & gs 'journal', 'relindex', 'A1'
  184. if npc_rel['A4'] > 0: 'Friendship with Igor:' & gs 'journal', 'relindex', 'A4'
  185. if npc_rel['A14'] > 0: 'Friendship with Katja:' & gs 'journal', 'relindex', 'A14'
  186. if npc_rel['A15'] > 0: 'Friendship with Vicky:' & gs 'journal', 'relindex', 'A15'
  187. if npc_rel['A17'] > 0: 'Friendship with Irina:' & gs 'journal', 'relindex', 'A17'
  188. if npc_rel['A22'] > 0: 'Friendship with Bella:' & gs 'journal', 'relindex', 'A22'
  189. if npc_rel['A146'] > 0: 'Friendship with Marcus:' & gs 'journal', 'relindex', 'A146'
  190. if npc_rel['A147'] > 0: 'Friendship with Andrey:' & gs 'journal', 'relindex', 'A147'
  191. if npc_rel['A148'] > 0: 'Friendship with Mefodiy:' & gs 'journal', 'relindex', 'A148'
  192. if soniaPS = 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25'
  193. if npc_rel['A139'] > 0: 'Friendship with Stasya:' & gs 'journal', 'relindex', 'A139'
  194. if npc_rel['A140'] > 0: 'Friendship with Lizaveta:' & gs 'journal', 'relindex', 'A140'
  195. '<center><h2>Jocks Relations</h2></center>'
  196. if npc_rel['A3'] > 0: 'Friendship with Ivan:' & gs 'journal', 'relindex', 'A3'
  197. if fedormasha = 0 and npc_rel['A5'] > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5'
  198. if npc_rel['A8'] > 0: 'Friendship with Svyatoslav:' & gs 'journal', 'relindex', 'A8'
  199. if npc_rel['A13'] > 0: 'Friendship with Lariska:' & gs 'journal', 'relindex', 'A13'
  200. if npc_rel['A18'] > 0: 'Friendship with Christina:' & gs 'journal', 'relindex', 'A18'
  201. if npc_rel['A19'] > 0: 'Friendship with Lina:' & gs 'journal', 'relindex', 'A19'
  202. if npc_rel['A23'] > 0: 'Friendship with Albina:' & gs 'journal', 'relindex', 'A23'
  203. if npc_rel['A149'] > 0: 'Friendship with Lazar:' & gs 'journal', 'relindex', 'A149'
  204. if npc_rel['A150'] > 0: 'Friendship with Erast:' & gs 'journal', 'relindex', 'A150'
  205. if npc_rel['A141'] > 0: 'Friendship with Veronika:' & gs 'journal', 'relindex', 'A141'
  206. if npc_rel['A165'] > 0: 'Friendship with Vanya:' & gs 'journal', 'relindex', 'A165'
  207. '<center><h2>Nerds Relations</h2></center>'
  208. if npc_rel['A2'] > 0: 'Friendship with Artem:' & gs 'journal', 'relindex', 'A2'
  209. if npc_rel['A6'] > 0: 'Friendship with Petka:' & gs 'journal', 'relindex', 'A6'
  210. if npc_rel['A12'] > 0: 'Friendship with Julia:' & gs 'journal', 'relindex', 'A12'
  211. if npc_rel['A16'] > 0: 'Friendship with Natasha:' & gs 'journal', 'relindex', 'A16'
  212. if npc_rel['A151'] > 0: 'Friendship with Evgeny:' & gs 'journal', 'relindex', 'A151'
  213. if npc_rel['A152'] > 0: 'Friendship with Feofan:' & gs 'journal', 'relindex', 'A152'
  214. if npc_rel['A153'] > 0: 'Friendship with Gerasim:' & gs 'journal', 'relindex', 'A153'
  215. if npc_rel['A142'] > 0: 'Friendship with Zinaida:' & gs 'journal', 'relindex', 'A142'
  216. if npc_rel['A240'] > 0: 'Friendship with Natalia:' & gs 'journal', 'relindex', 'A240'
  217. '<center><h2>Gopnik Relations</h2></center>'
  218. if npc_rel['A9'] > 0: 'Friendship with Vitek:' & gs 'journal', 'relindex', 'A9'
  219. if npc_rel['A10'] > 0: 'Friendship with Dan:' & gs 'journal', 'relindex', 'A10'
  220. if npc_rel['A11'] > 0: 'Friendship with Vasily:' & gs 'journal', 'relindex', 'A11'
  221. if npc_rel['A20'] > 0: 'Friendship with Lena:' & gs 'journal', 'relindex', 'A20'
  222. if npc_rel['A21'] > 0: 'Friendship with Lera:' & gs 'journal', 'relindex', 'A21'
  223. if npc_rel['A24'] > 0: 'Friendship with Pauline:' & gs 'journal', 'relindex', 'A24'
  224. if npc_rel['A154'] > 0: 'Friendship with Radomir:' & gs 'journal', 'relindex', 'A154'
  225. if npc_rel['A155'] > 0: 'Friendship with Lavrenti:' & gs 'journal', 'relindex', 'A155'
  226. if npc_rel['A156'] > 0: 'Friendship with Arkadi:' & gs 'journal', 'relindex', 'A156'
  227. if npc_rel['A157'] > 0: 'Friendship with Roman:' & gs 'journal', 'relindex', 'A157'
  228. if npc_rel['A158'] > 0: 'Friendship with Valentin:' & gs 'journal', 'relindex', 'A158'
  229. if npc_rel['A143'] > 0: 'Friendship with Alyona:' & gs 'journal', 'relindex', 'A143'
  230. if npc_rel['A144'] > 0: 'Friendship with Anushka:' & gs 'journal', 'relindex', 'A144'
  231. if npc_rel['A145'] > 0: 'Friendship with Ekaterina:' & gs 'journal', 'relindex', 'A145'
  232. if npc_rel['A189'] > 0: 'Friendship with Niko:' & gs 'journal', 'relindex', 'A189'
  233. '<center><h2>Outcast/Loner Relations</h2></center>'
  234. if npc_rel['A7'] > 0: 'Friendship with Lesco:' & gs 'journal', 'relindex', 'A7'
  235. if npc_rel['A159'] > 0: 'Friendship with Petia:' & gs 'journal', 'relindex', 'A159'
  236. if soniaPS > 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25'
  237. if fedormasha = 1 and npc_rel['A5'] > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5'
  238. '<center><h2>Teachers/Coaches/School Staff Relations</h2></center>'
  239. if npc_rel['A26'] > 0: 'Friendship with Anatoly Tsarev (Math Teacher):' & gs 'journal', 'relindex', 'A26'
  240. if npc_rel['A69'] > 0: 'Friendship with Mikhail Nikolaevich (Volleyball Coach):' & gs 'journal', 'relindex', 'A69'
  241. if npc_rel['A128'] > 0: 'Friendship with Makar Vasilyev (Art Teacher):' & gs 'journal', 'relindex', 'A128'
  242. if npc_rel['A129'] > 0: 'Friendship with Serafim Ivanov (Computer Science Teacher):' & gs 'journal', 'relindex', 'A129'
  243. if npc_rel['A130'] > 0: 'Friendship with Ilya Yenotin (Literature Teacher):' & gs 'journal', 'relindex', 'A130'
  244. if npc_rel['A131'] > 0: 'Friendship with Viktor Pavlovich (P.E. Teacher):' & gs 'journal', 'relindex', 'A131'
  245. if npc_rel['A132'] > 0: 'Friendship with Ruslan Kuznetsov (Shop Teacher):' & gs 'journal', 'relindex', 'A132'
  246. if npc_rel['A133'] > 0: 'Friendship with Rolan Metveev (Janitor):' & gs 'journal', 'relindex', 'A133'
  247. if npc_rel['A134'] > 0: 'Friendship with Aleksandrina Volkov (Headmistress):' & gs 'journal', 'relindex', 'A134'
  248. if npc_rel['A135'] > 0: 'Friendship with Yeva Sokoloff (Geography Teacher):' & gs 'journal', 'relindex', 'A135'
  249. if npc_rel['A136'] > 0: 'Friendship with Olga Aleksandrov (School Nurse):' & gs 'journal', 'relindex', 'A136'
  250. if npc_rel['A137'] > 0: 'Friendship with Raven Braakman (English Teacher):' & gs 'journal', 'relindex', 'A137'
  251. if npc_rel['A138'] > 0: 'Friendship with Arina Orlov (Biology Teacher):' & gs 'journal', 'relindex', 'A138'
  252. !!!WD: Formatting
  253. if (npc_rel['A93'] + npc_rel['A41'] + npc_rel['A42'] + npc_rel['A43'] + gosh + npc_rel['A220'] + npc_rel['A219'] + npc_QW['A192'] + npc_rel['A218']) > 0:*nl
  254. *nl
  255. end
  256. '<center><h2>Pavlovsk Relations</h2></center>'
  257. if npc_rel['A54'] > 0: 'Friendship with Uncle Misha:' & gs 'journal', 'relindex', 'A54'
  258. if npc_rel['A57'] > 0: 'Friendship with Rex:' & gs 'journal', 'relindex', 'A57'
  259. if npc_rel['A217'] > 0: 'Friendship with Pavlin:' & gs 'journal', 'relindex', 'A217'
  260. if npc_rel['A112'] > 0: 'Friendship with Sergey Shulgin:' & gs 'journal', 'relindex', 'A112'
  261. if npc_rel['A119'] > 0: 'Friendship with Borislav:' & gs 'journal', 'relindex', 'A119'
  262. '<center><h2>Gadukino Relations</h2></center>'
  263. if npc_rel['A31'] > 0: 'Friendship with Elena (your great-grandmother):' & gs 'journal', 'relindex', 'A31'
  264. if npc_rel['A32'] > 0: 'Friendship with Zlatek (your great-grandfather):' & gs 'journal', 'relindex', 'A32'
  265. if npc_rel['A60'] > 0: 'Friendship with Mira:' & gs 'journal', 'relindex', 'A60'
  266. if npc_rel['A61'] > 0: 'Friendship with Kolyamba:' & gs 'journal', 'relindex', 'A61'
  267. if npc_rel['A62'] > 0: 'Friendship with Vasyan:' & gs 'journal', 'relindex', 'A62'
  268. if npc_rel['A63'] > 0: 'Friendship with Mitka:' & gs 'journal', 'relindex', 'A63'
  269. if npc_rel['A64'] > 0: 'Friendship with Afanasiy:' & gs 'journal', 'relindex', 'A64'
  270. if npc_rel['A65'] > 0: 'Friendship with Vtialiy:' & gs 'journal', 'relindex', 'A65'
  271. if npc_rel['A221'] > 0: 'Friendship with Grigory:' & gs 'journal', 'relindex', 'A221'
  272. if npc_rel['A172'] > 0: 'Friendship with Andrei (hunter):' & gs 'journal', 'relindex', 'A172'
  273. if npc_rel['A173'] > 0: 'Friendship with Igor (hunter):' & gs 'journal', 'relindex', 'A173'
  274. if npc_rel['A174'] > 0: 'Friendship with Sergei (hunter):' & gs 'journal', 'relindex', 'A174'
  275. '<center><h2>Saint Petersburg Relations</h2></center>'
  276. if npc_QW['A192'] > 0: 'Friendship with Nastya:' & gs 'journal', 'relindex', 'A192'
  277. if npc_rel['A218'] > 0: 'Friendship with Tanya:' & gs 'journal', 'relindex', 'A218'
  278. if npc_rel['A219'] > 0: 'Friendship with Kat:' & gs 'journal', 'relindex', 'A219'
  279. if npc_rel['A220'] > 0: 'Friendship with Vika:' & gs 'journal', 'relindex', 'A220'
  280. if npc_rel['A93'] > 0: 'Friendship with Ira:' & gs 'journal', 'relindex', 'A93'
  281. if npc_rel['A43'] > 0: 'Friendship with Tamara:' & gs 'journal', 'relindex', 'A43'
  282. if npc_rel['A35'] > 0: 'Friendship with Mikhail Kuznetsov (your biological father):' & gs 'journal', 'relindex', 'A35'
  283. if npc_rel['A169'] > 0: 'Friendship with Dima:' & gs 'journal', 'relindex', 'A169'
  284. if npc_rel['A89'] > 0: 'Friendship with Eugene:' & gs 'journal', 'relindex', 'A89'
  285. if npc_rel['A216'] > 0: 'Friendship with Martin:' & gs 'journal', 'relindex', 'A216'
  286. ! '<center><h2>Other Relations</h2></center>'
  287. ! Uncomment if re-introduced into the game ensure you use NPC ID to update them
  288. ! if alla > 0: 'Friendship with Alla <<alla>>'
  289. ! if masha > 0: 'Friendship with Masha <<masha>>'
  290. ! if npc_rel['A41'] > 0: 'Friendship with Givi K. <<npc_rel[''A41'']>>'
  291. ! if npc_rel['A42'] > 0: 'Friendship with Ashot <<npc_rel[''A42'']>>'
  292. if husband > 0:'You have been married for <<husbanday>> days. Your husband <<$husName>> <<$husBody>> <<$husFat>> <<$husHair>>. Member <<husDick>> Relationship <<husband>>.'
  293. if kid > 0:
  294. i = 0
  295. if kid = 1:
  296. 'You have a child, a <<$polreb[0]>> named <<$kidname[0]>>. Born <<daykid[0]>>-<<monthkid[0]>>-<<yearkid[0]>>. Aged <<kidage[0]>>.'
  297. else
  298. 'You have children:'
  299. :LoopKidCounter
  300. if i < kid:
  301. '<br> a <<$polreb[i]>> named <<$kidname[i]>>. Born <<daykid[i]>>-<<monthkid[i]>>-<<yearkid[i]>>. Aged <<kidage[i]>>.'
  302. i += 1
  303. jump 'LoopKidCounter'
  304. end
  305. end
  306. *nl
  307. end
  308. *nl
  309. !! This has some sex info but also weirdness like npc number and smilie face is dick the right length. Its about first time with a random lover
  310. !! if $bfsex > 0:'<<$bfsex>>'
  311. *nl
  312. if loverGender[0] = 0:
  313. $obj_loverintro = 'Your boyfriend'
  314. $obj_loverpron = 'He'
  315. else
  316. $obj_loverintro = 'Your girlfriend'
  317. $obj_loverpron = 'She'
  318. end
  319. if pcs_lovers[0] = 1:'<<$obj_loverintro>> <<$loverdesc[0]>> is <<$loverbody[0]>> height and <<$loverbod[0]>> build with <<$loverface[0]>> hair. <<$loverdesc[0]>> is <<$loverClo[0]>>. Your relationship is <<loverrelation[0]>> after <<loverdays[0]>> days dating.'
  320. if haraklover[0] = 0 and loverrelation[0] > 1:'<<$obj_loverpron>>''s timid and lacks confidence.'
  321. if haraklover[0] = 1 and loverrelation[0] > 1:'<<$obj_loverpron>> has a cheerful and sociable personality.'
  322. if haraklover[0] = 2 and loverrelation[0] > 1:'<<$obj_loverpron>>''s short-tempered and strict.'
  323. if loverGender[1] = 0:
  324. $obj_loverintro = 'Your boyfriend'
  325. $obj_loverpron = 'He'
  326. else
  327. $obj_loverintro = 'Your girlfriend'
  328. $obj_loverpron = 'She'
  329. end
  330. if pcs_lovers[1] = 1:'<<$obj_loverintro>> <<$loverdesc[1]>> is <<$loverbody[1]>> height and <<$loverbod[1]>> build with <<$loverface[1]>> hair. <<$loverdesc[1]>> is <<$loverClo[1]>>. Your relationship is <<loverrelation[1]>> after <<loverdays[1]>> days dating.'
  331. if haraklover[1] = 0 and loverrelation[1] > 1:'<<$obj_loverpron>>''s timid and lacks confidence.'
  332. if haraklover[1] = 1 and loverrelation[1] > 1:'<<$obj_loverpron>> has a cheerful and sociable personality.'
  333. if haraklover[1] = 2 and loverrelation[1] > 1:'<<$obj_loverpron>>''s short-tempered and strict.'
  334. if loverGender[2] = 0:
  335. $obj_loverintro = 'Your boyfriend'
  336. $obj_loverpron = 'He'
  337. else
  338. $obj_loverintro = 'Your girlfriend'
  339. $obj_loverpron = 'She'
  340. end
  341. if pcs_lovers[2] = 1:'<<$obj_loverintro>> <<$loverdesc[2]>> is <<$loverbody[2]>> height and <<$loverbod[2]>> build with <<$loverface[2]>> hair. <<$loverdesc[2]>> is <<$loverClo[2]>>. Your relationship is <<loverrelation[2]>> after <<loverdays[2]>> days dating.'
  342. if haraklover[2] = 0 and loverrelation[2] > 1:'<<$obj_loverpron>>''s timid and lacks confidence.'
  343. if haraklover[2] = 1 and loverrelation[2] > 1:'<<$obj_loverpron>> has a cheerful and sociable personality.'
  344. if haraklover[2] = 2 and loverrelation[2] > 1:'<<$obj_loverpron>>''s short-tempered and strict.'
  345. *nl
  346. !! relations
  347. end
  348. !!-------------------------!!
  349. !! General Information !!
  350. !!-------------------------!!
  351. if $ARGS[0] = 'generaltab':
  352. $jumploc = 'generaltab'
  353. gs 'journal', 'journalmenu'
  354. !! generaltab
  355. '<center><h2>General Information</h2></center>'
  356. if ARRSIZE('$portfolio_locations') > 0 or ARRSIZE('$portfolio_people') > 0:
  357. act 'View your photography portfolio': gt 'journal_portfolio'
  358. end
  359. '<br><center><a href="exec: gs ''journal'', ''locations''">Locations</a></center>'
  360. '<br><center><a href="exec: gs ''journal'', ''family''">Family</a></center>'
  361. '<br><center><a href="exec: gs ''journal'', ''pav_res''">Pavlovsk Residents</a></center>'
  362. '<br><center><a href="exec: gs ''journal'', ''gad_res''">Gadukino Residents</a></center>'
  363. '<br><center><a href="exec: gs ''journal'', ''city_res''">City Residents</a></center>'
  364. if mod_ballet['blocker'] > 0 or balletqw['school'] > 0: '<br><center><a href="exec: gs ''journal'', ''ballet''">Ballet Career</a></center>'
  365. if SchoolAtestat = 0 and mid($start_type, 1, 2) = 'sg' and SchoolBlock = 0:
  366. '<br><center><a href="exec: gs ''journal_school'', ''school''">School</a></center>
  367. <br><center><a href="exec: gs ''journal_school'', ''coursesinfo''">School Courses and Grades</a></center>'
  368. end
  369. !!Make this an elseif, add a third option to see where our friends end up in city-life??
  370. if university['student'] = 1:
  371. '<br><center><a href="exec: gs ''journal'', ''uni''">University</a></center>'
  372. end
  373. '<br><center><a href="exec: gs ''journal'', ''clothing''">Clothing information</a></center>'
  374. end
  375. !!-------------------------!!
  376. !! Notes !!
  377. !!-------------------------!!
  378. if $ARGS[0] = 'notestab':
  379. $jumploc = 'notestab'
  380. gs 'journal', 'journalmenu'
  381. '<center><h2>Notes</h2></center>'
  382. 'Your Current Start is: ' + $start_type['cat']
  383. 'Create notes to keep track of any information you need.'
  384. *nl
  385. '<a href="exec: $zapis[] = input(''What do you want to record?'') & gt ''journal'',''notestab'' ">Make a note</a>'
  386. jur_temp = 0
  387. :jur_loop
  388. if jur_temp < arrsize('$zapis'):
  389. '<<$zapis[jur_temp]>> <a href="exec: dynamic ''killvar''''$zapis'''',<<jur_temp>> & gt ''''journal'''', ''''notestab'''''' ">Delete</a>'
  390. jur_temp += 1
  391. jump 'jur_loop'
  392. end
  393. killvar 'jur_temp'
  394. !! notes
  395. end
  396. !!---------------------------------!!
  397. !! notifications !!
  398. !!---------------------------------!!
  399. if $ARGS[0] = 'notification_log':
  400. $jumploc = 'notification_log'
  401. gs 'journal', 'journalmenu'
  402. '<center><h2>Notifications</h2></center>'
  403. *nl
  404. !! DEBUG
  405. !!'<a href="exec: notif_debug_counter += 1 & gs ''notification'', ''add'', ''test message <<notif_debug_counter>>'' & gt ''journal'',''notification_log''">DEBUG</a>'
  406. if $notification_log[0] ! '':
  407. notification_log_loop_index = arrsize('$notification_log') - 1
  408. :notification_log_loop
  409. *pl $notification_log[notification_log_loop_index]
  410. *nl
  411. if notification_log_loop_index > 0: notification_log_loop_index -= 1 & jump 'notification_log_loop'
  412. else
  413. 'Notification log is empty.'
  414. end
  415. end
  416. !! -- Ballet School infor - only shown if active
  417. if $ARGS[0] = 'ballet':
  418. $jumploc = 'ballet'
  419. gs 'journal', 'journalmenu'
  420. '<center><h1>Ballet Career</h1></center>'
  421. '<center><img <<$set_imgh>> src="mod/img_ballet/system/readme.jpg"></center>'
  422. 'Пан или пропал (You become the master or, leave).'
  423. 'A narrative based mod and activities for the Dancer start. The MC has been given a grant to attend an intensive 6 day summer class with an assessment that, if passed, can lead to a weekly rehearsal and a Winter dance show in December.'
  424. 'Note: This storyline will play out over a long time span and your actions will have consequences that won''t initially be obvious. Some of this is dependent on the development of the main Girl Life codebase.'
  425. 'Current and planned features:'
  426. '• A new dancer start option, with other starts being granted access later or uni/city years paying to join.'
  427. '• A 6 day intensive course during the school summer break - look for the letter in your parents kitchen to notify you.'
  428. '• New pen friend(s), with meet ups and theatre or ballet nights with family or partner.'
  429. '• A new dance instructor, whose intentions may prevent MC from joining the Pushkin Ballet Company or could have far ranging consequences on both herself and NPC characters.'
  430. '• New dance gigs. At each rehearsal, there''s a chance that you may get a dance job for the local theatre or the city if you pass with merit.'
  431. 'NB: There is no sex acts in this mod at present. If you wish to write such scenes based on the content, then contact me on the Girl Life Discord.'
  432. '<center><h2>In Memoriam — Hooded Silence.</h2></center>'
  433. *nl
  434. 'This content is being maintained as part of Hooded Silence''s legacy. I have approximately 1-2 years of original content to add but if you wish to contribute, then note that there is no sexual content in this mod until at least year 3 as per his notes.'
  435. 'This is a narrative driven addition to the game and your actions do and will count towards what happens both for yourself and others. These moments are easily missable but they will represent consquences of your decisions such as:'
  436. *nl
  437. ' • Failure to adhere to the residential school''s rules or live up to the high standards of the school.'
  438. ' • Get drunk too often or fall pregnant - kicked off the Corp De Ballet.'
  439. ' • Fail to maintain your appearance - reprimands or loss of income, leading to expulsion.'
  440. *nl
  441. 'These are the obvious repercussions, but there will be subtle consequences for your interactions with NPCs. This mod is meant to be played blind for your initial playthrough and the only feedback will be the varying conversations.'
  442. end
  443. !! ---- Other Sections ----
  444. !! --- General Information -- Clothing
  445. if $ARGS[0] = 'clothing':
  446. $jumploc = 'generalsub'
  447. gs 'journal', 'journalmenu'
  448. '<center>Clothing information</center>'
  449. *nl
  450. 'Clothing has a strength value, which decreases by 1 for every day you wear that outfit. At 0 it is ruined and you will have to throw it away.'
  451. 'You can attempt to fix outfits when their strength is very low and you have a high enough sewing skill. Clothes you throw away will appear back in the shop.'
  452. *nl
  453. 'Quality of clothing is ranked in this order:'
  454. ' Crappy quality outfit'
  455. ' Very low quality outfit'
  456. ' Low quality outfit'
  457. ' Average quality outfit'
  458. ' Reasonable quality outfit'
  459. ' Good quality outfit'
  460. ' Outstanding quality outfit'
  461. gs 'journal', 'leaveactions'
  462. end
  463. !! --- General Information -- University
  464. if $ARGS[0] = 'uni':
  465. $jumploc = 'generalsub'
  466. gs 'journal', 'journalmenu'
  467. '<center><h2>University</h2></center>'
  468. if university['diploma'] > 0:
  469. 'You have graduated from the University of St. Petersburg with a degree in '+func('uni_programs', 'program_name')+'.'
  470. else
  471. 'You are currently enrolled in the '+trim(MID(' first, second, third, fourth, fifth, sixth,seventh, eighth, ninth, tenth', university['enrolled_in_semester']*8-7,7))+' semester of the '+func('uni_programs', 'program_name')+' degree at the University of St. Petersburg.'
  472. end
  473. if $university['elective1'] ! '' or $university['elective2'] ! '' or $university['elective3'] ! '':
  474. *nl
  475. 'You are taking the following elective classes this semester: <<$university[''elective1'']>>, <<$university[''elective2'']>>, <<$university[''elective1'']>>.'
  476. end
  477. j = 1
  478. :semester_loop
  479. if university['semester_passed'] >= j:
  480. gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<<j>>'
  481. *nl
  482. 'You passed the' + trim(MID(' first, second, third, fourth, fifth, sixth,seventh, eighth, ninth, tenth', j*8 - 7, 7)) + ' semester with the following grades:'
  483. k = 0
  484. :class_loop
  485. if $class_list_institution[k] = 'uni_<<$university[''enrolled_in'']>>_semester_<<j>>':
  486. '<<$class_list_name[k]>>: <<$class[''<<$class_list_institution[k]>>_<<$class_list_name[k]>>_grade'']>>'
  487. end
  488. k += 1
  489. if ARRSIZE('class_list_institution') >= k: jump 'class_loop'
  490. killvar 'k'
  491. end
  492. j += 1
  493. if j < 8: jump 'semester_loop'
  494. killvar 'j'
  495. if university['semester_passed'] = university['enrolled_in_semester'] and university['diploma'] = 0:
  496. *nl
  497. 'You need to register for your next semester at the university administration building.'
  498. elseif university['break'] = 1:
  499. *nl
  500. 'You currently have a break between semesters.'
  501. if university['semester_week'] = -1:
  502. 'The next semester will start next week.'
  503. end
  504. '<center><h2>Class schedule for Next Semester</h2></center>'
  505. 'Monday: ' + func('uni_programs', 'uni_period_first', 'monday' ) + ' ' + func('uni_programs', 'uni_period_second', 'monday' ) + ' ' + func('uni_programs', 'uni_period_third', 'monday' )
  506. 'Tuesday: ' + func('uni_programs', 'uni_period_first', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_second', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_third', 'tuesday' )
  507. 'Wednesday: ' + func('uni_programs', 'uni_period_first', 'wednesday') + ' ' + func('uni_programs', 'uni_period_second', 'wednesday') + ' ' + func('uni_programs', 'uni_period_third', 'wednesday')
  508. 'Thursday: ' + func('uni_programs', 'uni_period_first', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_second', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_third', 'thursday' )
  509. elseif university['semester_week'] > 0:
  510. *nl
  511. if university['semester_week'] < 11:
  512. 'You are in the '+trim(MID(' first, second, third, fourth, fifth, sixth,seventh, eighth, ninth, tenth', university['semester_week']*8-7,7))+' week of the semester, which last 15 weeks.'
  513. else
  514. 'You are in the '+str(university['semester_week']) + 'th week of the semester, which last 15 weeks.'
  515. end
  516. '<center><h2>Class schedule</h2></center>'
  517. 'Monday: ' + func('uni_programs', 'uni_period_first', 'monday' ) + ' ' + func('uni_programs', 'uni_period_second', 'monday' ) + ' ' + func('uni_programs', 'uni_period_third', 'monday' )
  518. 'Tuesday: ' + func('uni_programs', 'uni_period_first', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_second', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_third', 'tuesday' )
  519. 'Wednesday: ' + func('uni_programs', 'uni_period_first', 'wednesday') + ' ' + func('uni_programs', 'uni_period_second', 'wednesday') + ' ' + func('uni_programs', 'uni_period_third', 'wednesday')
  520. 'Thursday: ' + func('uni_programs', 'uni_period_first', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_second', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_third', 'thursday' )
  521. '<center><h2>Grades</h2></center>'
  522. gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>'
  523. j = 0
  524. :grade_loop
  525. if $class_list_institution[j] = 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>':
  526. if dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= dyneval( 'RESULT = (4*<<university[''semester_week'']>> + 32)'):
  527. 'You think you''re doing great in <<$class_list_name[j]>> and will probably pass with a top grade if you keep this up.'
  528. elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') > dyneval( 'RESULT = (2*<<university[''semester_week'']>> + 32)'):
  529. 'You''re following the <<$class_list_name[j]>> class well and will probably pass with a good grade if you keep this up, but to get the top mark you''ll need to put in some more effort.'
  530. elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= dyneval( 'RESULT = (1*<<university[''semester_week'']>> + 32)'):
  531. 'You have trouble following the <<$class_list_name[j]>> class, but will probably still pass. If you want a good grade, then you''ll really need to do something about it.'
  532. elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') < 40:
  533. 'You will fail your <<$class_list_name[j]>> class unless you do something about it right now. It might even be too late to catch up.'
  534. else
  535. 'You are hopelessly behind in your <<$class_list_name[j]>> class, but can probably still pass. Any hope of getting a good grade will require that you start doing something about it right now.'
  536. end
  537. end
  538. j += 1
  539. if ARRSIZE('class_list_institution') >= j: jump 'grade_loop'
  540. killvar 'j'
  541. elseif university['exam_week'] > 0:
  542. *nl
  543. 'You are in the ' + iif(university['exam_week'] = 1, 'first', 'second') + ' of the two weeks of exams. ' + func('uni_programs', 'exam', 'schedule')
  544. *nl
  545. gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>'
  546. j = 0
  547. :exam_loop
  548. if $class_list_institution[j] = 'uni_<<$university[''enrolled_in'']>>_semester_<<university[''enrolled_in_semester'']>>':
  549. if dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_exam_done'']') = 1:
  550. 'You completed your <<$class_list_name[j]>> exam and think you will get an <<$class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']>>.'
  551. elseif func('uni_programs', 'exam', 'is_over', $class_list_name[j]) = 1:
  552. 'Your exam <<$class_list_name[j]>> is over, but you did not attend. This means you will fail the class and therefore the semester.'
  553. elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 100:
  554. 'You think you''re well prepared for your <<$class_list_name[j]>> exam and will probably pass with the highest mark possible.'
  555. elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 90:
  556. 'You think you''re well prepared for your <<$class_list_name[j]>> exam and will probably pass with a 5, but a little more studying never hurts.'
  557. elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 70:
  558. 'You think that you''ve prepared pretty well for your <<$class_list_name[j]>> exam and will probably get a 4. With some more studying, you might get a 5.'
  559. elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 40:
  560. 'You think you''ve prepared enough to pass your <<$class_list_name[j]>> exam, but if you want a good grade, then you''ll need to do some serious studying.'
  561. else
  562. 'If your <<$class_list_name[j]>> exam was today, then you would fail. Time to hit the books if you don''t want to fail the semester.'
  563. end
  564. end
  565. j += 1
  566. if ARRSIZE('class_list_institution') >= j: jump 'exam_loop'
  567. killvar 'j'
  568. end
  569. *nl
  570. !!Added a link to the various Character Journal entries for location: journal_uni.
  571. !!Should probably be put somewhere else. Blame Anjuna and Nutluck
  572. '<center><h2>Students and Teachers</h2></center>'
  573. '<br><center><a href="exec: gs ''journal_uni'', ''professors''">Professors</a></center>'
  574. '<br><center><a href="exec: gs ''journal_uni'', ''pavlovsk_university_students''">University Students from Pavlovsk</a></center>'
  575. '<br><center><a href="exec: gs ''journal_uni'', ''university_students''">Other University Students</a></center>'
  576. *nl
  577. '<br><center><a href="exec: gs ''journal_uni'', ''former_pavlovsk_students''">Former Pavlovsk Students</a></center>'
  578. act 'Go back': gt 'journal', 'generaltab'
  579. gs 'journal', 'leaveactions'
  580. end
  581. !! --- General Information -- Locations
  582. if $ARGS[0] = 'locations':
  583. $jumploc = 'generalsub'
  584. gs 'journal', 'journalmenu'
  585. '<center><h2>Pavlovsk</h2></center>'
  586. 'Pavlovsk is a small town. It is somewhat of a tourist trap thanks to the Catharina Palace and the former palace grounds, which have been converted into a large park centered around the train station. There is an open air market near the train station that is open year round where many bargains can be found. The cafe where your mother works can also be found near the train station. It caters to the visitors coming in by train. The downtown area contains businesses and some middle class housing, while the residential area is a mixture of houses and old Soviet era apartment blocks.'
  587. *nl
  588. 'The wealthier families live in large houses near the park on the outskirts of town, while the poorest homes are found near the old industrial area where several factories have long since been abandoned. The only factory still open is the G&M clothing factory, which also has a local store front and a tailor that can adjust your clothing. The industrial area is now mostly home to prostitutes and drug dealers and is not considered a safe area to walk around at night. Despite being a tourist destination, the area is seen as fairly poor and without many jobs.'
  589. '<center><h2>Gadukino</h2></center>'
  590. 'You''ve spent several summers at your grandparents'' village. It''s a small village where everyone is very tightly knit together. You remember spending your days playing with the local children at the river or visiting the little shop that had everything a kid needed. When your great grandparents were younger, they used to take you out into the woods where you picked mushrooms and berries. Your great grandfather also showed you around the hunting grounds and told you all kind of stories about the hunters that visit the area.'
  591. '<center><h2>St. Petersburg</h2></center>'
  592. 'You''ve heard many rumors about the city from both family members and school friends. They all say it''s both a great and bad place. The few memories you have are connected to the big park that you and your family visited once, which had a large amusement park with lots of rides. You also know about the University because you''ve overheard Anya and your mother argue about it. Sometimes, your mother would drag you and Anya along to the city mall while she was visiting the beauty salon. You remember running through the stores asking your mother to buy you clothes.'
  593. act 'Go back': gt 'journal', 'generaltab'
  594. gs 'journal', 'leaveactions'
  595. end
  596. !! -- General Information -- Family
  597. if $ARGS[0] = 'family':
  598. $jumploc = 'generalsub'
  599. gs 'journal', 'journalmenu'
  600. '<center><h2>Family</h2></center>'
  601. !!Mother
  602. gs 'journal_NPC_information', 'A29'
  603. *nl
  604. !!Bio-father
  605. gs 'journal_NPC_information', 'A35'
  606. *nl
  607. !!Step-Father
  608. gs 'journal_NPC_information', 'A28'
  609. *nl
  610. !!Anya
  611. gs 'journal_NPC_information', 'A33'
  612. *nl
  613. !!Kolka
  614. gs 'journal_NPC_information', 'A34'
  615. *nl
  616. !!Aunt
  617. gs 'journal_NPC_information', 'A30'
  618. *nl
  619. !!Olu
  620. gs 'journal_NPC_information', 'A55'
  621. *nl
  622. !!Grandpa
  623. gs 'journal_NPC_information', 'A31'
  624. *nl
  625. !!Grandmum
  626. gs 'journal_NPC_information', 'A32'
  627. *nl
  628. !!Misha
  629. gs 'journal_NPC_information', 'A54'
  630. act 'Go back': gt 'journal', 'generaltab'
  631. gs 'journal', 'leaveactions'
  632. elseif $ARGS[0] = 'pav_res':
  633. $jumploc = 'generalsub'
  634. gs 'journal', 'journalmenu'
  635. '<center><h2>Pavlovsk Residents</h2></center>'
  636. !! Post Secondary school !!
  637. if yearstart > 1:
  638. !!Mefodiy
  639. gs 'journal_NPC_information', 'A148', 'uni'
  640. *nl
  641. !!Ivan
  642. gs 'journal_NPC_information', 'A3', 'uni'
  643. *nl
  644. !!Fedor
  645. gs 'journal_NPC_information', 'A5', 'uni'
  646. *nl
  647. !!Erast Vagin
  648. gs 'journal_NPC_information', 'A150', 'uni'
  649. *nl
  650. !!Veronika
  651. gs 'journal_NPC_information', 'A141', 'uni'
  652. *nl
  653. !!Evgany
  654. gs 'journal_NPC_information', 'A151', 'uni'
  655. *nl
  656. !!Natalia
  657. gs 'journal_NPC_information', 'A240', 'uni'
  658. *nl
  659. !!Vitek
  660. gs 'journal_NPC_information', 'A9', 'uni'
  661. *nl
  662. !!Dan
  663. gs 'journal_NPC_information', 'A10', 'uni'
  664. *nl
  665. !!Vasily
  666. gs 'journal_NPC_information', 'A11', 'uni'
  667. *nl
  668. !!Roman
  669. gs 'journal_NPC_information', 'A157', 'uni'
  670. *nl
  671. !!Kayuska Maksimov
  672. gs 'journal_NPC_information', 'A145', 'uni'
  673. *nl
  674. !!Pauline
  675. gs 'journal_NPC_information', 'A24', 'uni'
  676. *nl
  677. !!Kikolai
  678. gs 'journal_NPC_information', 'A189', 'uni'
  679. *nl
  680. !!Lena
  681. gs 'journal_NPC_information', 'A20', 'uni'
  682. *nl
  683. !!Lera
  684. gs 'journal_NPC_information', 'A21', 'uni'
  685. *nl
  686. !!Alyona
  687. gs 'journal_NPC_information', 'A143', 'uni'
  688. *nl
  689. end
  690. !!Sergey
  691. gs 'journal_NPC_information', 'A112'
  692. act 'Go back': gt 'journal', 'generaltab'
  693. gs 'journal', 'leaveactions'
  694. elseif $ARGS[0] = 'gad_res':
  695. $jumploc = 'generalsub'
  696. gs 'journal', 'journalmenu'
  697. '<center><h2>Gadukino Residents</h2></center>'
  698. !!Grandpa
  699. gs 'journal_NPC_information', 'A31'
  700. *nl
  701. !!Grandma
  702. gs 'journal_NPC_information', 'A32'
  703. *nl
  704. !!Mira
  705. if npc_known['A60'] = 1:
  706. gs 'journal_NPC_information', 'A60'
  707. *nl
  708. end
  709. !!Mitka
  710. gs 'journal_NPC_information', 'A63'
  711. *nl
  712. !!Kolyamba
  713. if mitka_first_drink > 1:
  714. gs 'journal_NPC_information', 'A61'
  715. *nl
  716. end
  717. !!Vasyan
  718. if mitka_first_drink > 1:
  719. gs 'journal_NPC_information', 'A62'
  720. *nl
  721. end
  722. !!Afanasiy (Mira''s father)
  723. if npc_known['A60'] = 1:
  724. gs 'journal_NPC_information', 'A64'
  725. *nl
  726. end
  727. !!Vtialiy (Mira''s brother)
  728. if npc_known['A60'] = 1:
  729. gs 'journal_NPC_information', 'A64'
  730. *nl
  731. end
  732. !!Grigory
  733. if npc_qw['A221'] > 0:
  734. gs 'journal_NPC_information', 'A221'
  735. *nl
  736. end
  737. !!Hunters
  738. if hunters_were_met > 0:
  739. gs 'journal_NPC_information', 'A172'
  740. *nl
  741. gs 'journal_NPC_information', 'A173'
  742. *nl
  743. gs 'journal_NPC_information', 'A174'
  744. *nl
  745. end
  746. act 'Go back': gt 'journal', 'generaltab'
  747. gs 'journal', 'leaveactions'
  748. elseif $ARGS[0] = 'city_res':
  749. $jumploc = 'generalsub'
  750. gs 'journal', 'journalmenu'
  751. '<center><h2>City Residents</h2></center>'
  752. !! Post Secondary school !!
  753. if yearstart > 1:
  754. !!Radomir
  755. gs 'journal_NPC_information', 'A154', 'uni'
  756. *nl
  757. !!Arkadi
  758. gs 'journal_NPC_information', 'A154', 'uni'
  759. *nl
  760. !!Valentin
  761. gs 'journal_NPC_information', 'A154', 'uni'
  762. end
  763. act 'Go back': gt 'journal', 'generaltab'
  764. gs 'journal', 'leaveactions'
  765. end
  766. !! Helper functions
  767. if $ARGS[0] = 'relindex':
  768. gs 'indik', '1', npc_rel['<<$ARGS[1]>>'], npc_rel['<<$ARGS[1]>>'], 100 & '<<$ind>>'
  769. *nl
  770. elseif $ARGS[0] = 'leaveactions':
  771. act 'Put your notebook down':
  772. killvar 'jumploc'
  773. jclose = 1
  774. gt $loc, $loc_arg
  775. end
  776. end
  777. --- journal ---------------------------------