# journal
!! 2021/05/02 Initial code
!! Refactored 24 Aug 22
!! Amended by Hooded Silence
!! Game Character Journal - central core game data area for players.
!! V .01 Refactored to enable menu bar navigation for UI consistency.
!! V .02 Redesign and integration of content areas.
!! V .03 Bug fixes.
!!
!! Sections:
!! 0 Magic (if enabled)
!! 1 Housing
!! 2 Work - calls in journal_work
!! 3 Quests - calls in journal_quest section
!! 4 Relations / Current Group - pulls in various elements refactored from other areas to make tracking relationships easier. To be expanded on.
!! 5 General Information
!! 6 User Notes - custom function
!!
!! Menu Variables
!! menutrack = tracks current menu position
!! jumploc = call in the active menu section
!! $tablebody = Container to create the menu body to work around QSP deadspace display issues.
!! Section Variables
!! employed[qw] = Work tracker if employed. To be set on starting or leaving a job.
!! Header section start
if $ARGS[0] = 'records':
*clr & cla
$BACKIMAGE = ''
gs 'housing', 'rent'
gs 'journal', 'journalmenu'
! records
end
if $ARGS[0]='journalmenu':
*clr & cla
gs 'stat'
*nl
$tablebody = '
'
if $start_type[1] ! 'nomagic': $tablebody += 'Magic | '
$tablebody += 'Housing | '
$tablebody += 'Work | '
$tablebody += 'Quests | '
$tablebody += 'Relations | '
$tablebody += 'Game Information | '
$tablebody += 'Notes | '
$tablebody += 'Notifications | '
$tablebody += '
'
!display the table here.
''
if $jumploc = '' or jclose = 1:
if $start_type[1] ! 'nomagic':
menutrack = 0
jclose = 0
gt 'journal', 'magictab'
else
menutrack = 1
jclose = 0
gt 'journal', 'housingtab'
end
end
gs 'journal', 'leaveactions'
! Journal Menu
end
!!-------------------------!1
!! Magic !!
!!-------------------------!!
if $ARGS[0] = 'magictab':
$jumploc = 'magictab'
gs 'journal', 'journalmenu'
'Spells
'
'Spells to Cast
'
func('spellBook','cast','$nonComSpells', 'gt ''journal'', ''magictab''', 'jclose = 1')
!!''''
'
Spell Learning
'
'
Combat
'
func('spellBook','learn','$combatSpells')
'
Non-Combat
'
func('spellBook','learn','$nonComSpells')
delact 'Never mind'
! magic
end
!!-------------------------!!
!! Housing !!
!!-------------------------!!
if $ARGS[0] = 'housingtab':
$jumploc = 'housingtab'
gs 'journal', 'journalmenu'
'Housing
'
*nl
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'
if accessible_property['city_apartment'] = 1:'You rent a two room apartment in the city residential area. Your rent for the apartment is subtracted automatically in sum of <> ₽ us electric bill on 25th of each month. You are currently paid up for <> days'
if accessible_property['city_apartment'] = 2:'You own a two room apartment in the city residential area. Your utility bills are due on the 25th of each month.'
if accessible_property['city_apartment'] = 3:'You own a two room apartment in the city residential area. It''s currently occupied by your tenants.'
if accessible_property['parents_home'] = 4:'You live with your parents and siblings in a two room apartment in Pavlovsk.'
if accessible_property['village_cottage']= 2 :'You own a small holiday cottage with an adjacent allotment in the communal village.'
if accessible_property['old_town_apartment'] = 1:'You rent a two room apartment in Pushkin. Your rent for the apartment is subtracted automatically in the sum of <> ₽ us electric bill on the 25th of each month. You are currently paid up for <> days'
if accessible_property['matryona_mansion'] = 2 and constructionstatus = 0:'You own a vacant block in the city suburbs.'
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.', '')
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.', '')
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.'
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.'
*nl
if car > 0:
'Car
'
*nl
if cardrive = 1: 'Your car is parked in St. Petersburg''s residential area.'
if cardrive = 2: 'Your car is parked in St. Petersburg''s city center.'
if cardrive = 3: 'Your car is parked in St. Petersburg''s industrial region.'
if cardrive = 4: 'Your car is parked at St. Petersburg''s Lake.'
if cardrive = 5: 'Your car is parked at St. Petersburg''s Park.'
if cardrive = 6: 'Your car is parked at the gas station in St. Petersburg''s industrial region.'
if cardrive = 7: 'Your car is parked at the Car Repair Shop in St. Petersburg.'
if cardrive = 8: 'Your car is parked at your house in St. Petersburg''s residential area.'
if cardrive = 9: 'Your car is parked at the Car Dealership in St. Petersburg.'
if cardrive = 10: 'Your car is parked at St. Petersburg''s Park.'
if cardrive = 11: 'Your car is parked at St. Petersburg''s Sauna.'
if cardrive = 12: 'Your car is parked at the construction site.'
if cardrive = 13: 'Your car is parked in the Suburban Cooperative.'
if cardrive = 14: 'Your car is parked in Old Town district of Pavlovsk.'
if cardrive = 18: 'Your car is parked at Matryona Mansion.'
if cardrive = 19: 'Your car is parked at St. Petersburg''s industrial train station.'
if cardrive = 20: 'Your car is parked in Pavlovsk''s residential area.'
if cardrive = 21: 'Your car is parked at the gas station near Pavlovsk.'
if cardrive = 22: 'Your car is parked on the highway.'
if cardrive = 23: 'Your car is parked in Gadukino.'
if cardrive = 24: 'Your car is parked in Pavlovsk''s commercial region.'
if cardrive = 25: 'Your car is parked in Vasilyevsky Island'
if cardrive = 26: 'Your car is parked in Pavlovsk''s industrial region.'
if cardrive = 27: 'Your car is parked in St. Petersburg''s red light district.'
if cardrive = 28: 'Your car is parked in St. Petersburg''s suburbs.'
end
!! housing
end
!!-------------------------!!
!! Relationships !!
!!-------------------------!!
if $ARGS[0] = 'relationstab':
$jumploc = 'relationstab'
gs 'journal', 'journalmenu'
'Relationships
'
'Family
'
'Mother:'
gs 'journal', 'relindex', 'A29'
'Stepfather:'
gs 'journal', 'relindex', 'A28'
'Sister:'
gs 'journal', 'relindex', 'A33'
'Brother:'
gs 'journal', 'relindex', 'A34'
if mid($start_type,1,2) = 'sg' and SchoolAtestat = 0 and SchoolBlock = 0:
'Standings by Social Group
'
if grupTipe < 5 and grupvalue[grupTipe] > 700:
$journal_school_standing = ' You are well respected and liked within your clique.'
elseif grupTipe < 5 and grupvalue[grupTipe] > 300:
$journal_school_standing = ' You are in good standing with your clique.'
elseif grupTipe < 5:
$journal_school_standing = ' You have to work on your clique standing. You''re in danger of being cast out.'
end
if grupTipe = 0:
'You are not a member of any particular school social group.' + $journal_school_standing
elseif grupTipe = 1:
'Your school social group consists of the popular, cool and beautiful.' + $journal_school_standing
elseif grupTipe = 2:
'Your school social group consists of jocks and natural athletes.' + $journal_school_standing
elseif grupTipe = 3:
'Your school social group consists of nerds, geeks and good students.' + $journal_school_standing
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.'
if nerd_game['game_day'] = daystart: 'You have been invited to a games night tonight at 20:00 in the community center library.'
elseif grupTipe = 4:
'Your school social group consists of gopniks, rebels, punks or troublemakers.' + $journal_school_standing
elseif grupTipe = 5:
'Your school social group consists of losers, teacher''s pets, sluts and the ugly.'
end
*nl
'Cool Kids'
gs 'indik', '4', grupvalue[1]/10, grupvalue[1], 1 & '<<$ind>>'
'Jocks'
gs 'indik', '4', grupvalue[2]/10, grupvalue[2], 2 & '<<$ind>>'
'Nerds'
gs 'indik', '4', grupvalue[3]/10, grupvalue[3], 3 & '<<$ind>>'
'Gopnik'
gs 'indik', '4', grupvalue[4]/10, grupvalue[4], 4 & '<<$ind>>'
'Popular Kids Relations
'
if npc_rel['A1'] > 0: 'Friendship with Dimka:' & gs 'journal', 'relindex', 'A1'
if npc_rel['A4'] > 0: 'Friendship with Igor:' & gs 'journal', 'relindex', 'A4'
if npc_rel['A14'] > 0: 'Friendship with Katja:' & gs 'journal', 'relindex', 'A14'
if npc_rel['A15'] > 0: 'Friendship with Vicky:' & gs 'journal', 'relindex', 'A15'
if npc_rel['A17'] > 0: 'Friendship with Irina:' & gs 'journal', 'relindex', 'A17'
if npc_rel['A22'] > 0: 'Friendship with Bella:' & gs 'journal', 'relindex', 'A22'
if npc_rel['A146'] > 0: 'Friendship with Marcus:' & gs 'journal', 'relindex', 'A146'
if npc_rel['A147'] > 0: 'Friendship with Andrey:' & gs 'journal', 'relindex', 'A147'
if npc_rel['A148'] > 0: 'Friendship with Mefodiy:' & gs 'journal', 'relindex', 'A148'
if soniaPS = 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25'
if npc_rel['A139'] > 0: 'Friendship with Stasya:' & gs 'journal', 'relindex', 'A139'
if npc_rel['A140'] > 0: 'Friendship with Lizaveta:' & gs 'journal', 'relindex', 'A140'
'Jocks Relations
'
if npc_rel['A3'] > 0: 'Friendship with Ivan:' & gs 'journal', 'relindex', 'A3'
if fedormasha = 0 and npc_rel['A5'] > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5'
if npc_rel['A8'] > 0: 'Friendship with Svyatoslav:' & gs 'journal', 'relindex', 'A8'
if npc_rel['A13'] > 0: 'Friendship with Lariska:' & gs 'journal', 'relindex', 'A13'
if npc_rel['A18'] > 0: 'Friendship with Christina:' & gs 'journal', 'relindex', 'A18'
if npc_rel['A19'] > 0: 'Friendship with Lina:' & gs 'journal', 'relindex', 'A19'
if npc_rel['A23'] > 0: 'Friendship with Albina:' & gs 'journal', 'relindex', 'A23'
if npc_rel['A149'] > 0: 'Friendship with Lazar:' & gs 'journal', 'relindex', 'A149'
if npc_rel['A150'] > 0: 'Friendship with Erast:' & gs 'journal', 'relindex', 'A150'
if npc_rel['A141'] > 0: 'Friendship with Veronika:' & gs 'journal', 'relindex', 'A141'
if npc_rel['A165'] > 0: 'Friendship with Vanya:' & gs 'journal', 'relindex', 'A165'
'Nerds Relations
'
if npc_rel['A2'] > 0: 'Friendship with Artem:' & gs 'journal', 'relindex', 'A2'
if npc_rel['A6'] > 0: 'Friendship with Petka:' & gs 'journal', 'relindex', 'A6'
if npc_rel['A12'] > 0: 'Friendship with Julia:' & gs 'journal', 'relindex', 'A12'
if npc_rel['A16'] > 0: 'Friendship with Natasha:' & gs 'journal', 'relindex', 'A16'
if npc_rel['A151'] > 0: 'Friendship with Evgeny:' & gs 'journal', 'relindex', 'A151'
if npc_rel['A152'] > 0: 'Friendship with Feofan:' & gs 'journal', 'relindex', 'A152'
if npc_rel['A153'] > 0: 'Friendship with Gerasim:' & gs 'journal', 'relindex', 'A153'
if npc_rel['A142'] > 0: 'Friendship with Zinaida:' & gs 'journal', 'relindex', 'A142'
if npc_rel['A240'] > 0: 'Friendship with Natalia:' & gs 'journal', 'relindex', 'A240'
'Gopnik Relations
'
if npc_rel['A9'] > 0: 'Friendship with Vitek:' & gs 'journal', 'relindex', 'A9'
if npc_rel['A10'] > 0: 'Friendship with Dan:' & gs 'journal', 'relindex', 'A10'
if npc_rel['A11'] > 0: 'Friendship with Vasily:' & gs 'journal', 'relindex', 'A11'
if npc_rel['A20'] > 0: 'Friendship with Lena:' & gs 'journal', 'relindex', 'A20'
if npc_rel['A21'] > 0: 'Friendship with Lera:' & gs 'journal', 'relindex', 'A21'
if npc_rel['A24'] > 0: 'Friendship with Pauline:' & gs 'journal', 'relindex', 'A24'
if npc_rel['A154'] > 0: 'Friendship with Radomir:' & gs 'journal', 'relindex', 'A154'
if npc_rel['A155'] > 0: 'Friendship with Lavrenti:' & gs 'journal', 'relindex', 'A155'
if npc_rel['A156'] > 0: 'Friendship with Arkadi:' & gs 'journal', 'relindex', 'A156'
if npc_rel['A157'] > 0: 'Friendship with Roman:' & gs 'journal', 'relindex', 'A157'
if npc_rel['A158'] > 0: 'Friendship with Valentin:' & gs 'journal', 'relindex', 'A158'
if npc_rel['A143'] > 0: 'Friendship with Alyona:' & gs 'journal', 'relindex', 'A143'
if npc_rel['A144'] > 0: 'Friendship with Anushka:' & gs 'journal', 'relindex', 'A144'
if npc_rel['A145'] > 0: 'Friendship with Ekaterina:' & gs 'journal', 'relindex', 'A145'
if npc_rel['A189'] > 0: 'Friendship with Niko:' & gs 'journal', 'relindex', 'A189'
'Outcast/Loner Relations
'
if npc_rel['A7'] > 0: 'Friendship with Lesco:' & gs 'journal', 'relindex', 'A7'
if npc_rel['A159'] > 0: 'Friendship with Petia:' & gs 'journal', 'relindex', 'A159'
if soniaPS > 0 and npc_rel['A25'] > 0: 'Friendship with Sonia:' & gs 'journal', 'relindex', 'A25'
if fedormasha = 1 and npc_rel['A5'] > 0: 'Friendship with Fedor:' & gs 'journal', 'relindex', 'A5'
'Teachers/Coaches/School Staff Relations
'
if npc_rel['A26'] > 0: 'Friendship with Anatoly Tsarev (Math Teacher):' & gs 'journal', 'relindex', 'A26'
if npc_rel['A69'] > 0: 'Friendship with Mikhail Nikolaevich (Volleyball Coach):' & gs 'journal', 'relindex', 'A69'
if npc_rel['A128'] > 0: 'Friendship with Makar Vasilyev (Art Teacher):' & gs 'journal', 'relindex', 'A128'
if npc_rel['A129'] > 0: 'Friendship with Serafim Ivanov (Computer Science Teacher):' & gs 'journal', 'relindex', 'A129'
if npc_rel['A130'] > 0: 'Friendship with Ilya Yenotin (Literature Teacher):' & gs 'journal', 'relindex', 'A130'
if npc_rel['A131'] > 0: 'Friendship with Viktor Pavlovich (P.E. Teacher):' & gs 'journal', 'relindex', 'A131'
if npc_rel['A132'] > 0: 'Friendship with Ruslan Kuznetsov (Shop Teacher):' & gs 'journal', 'relindex', 'A132'
if npc_rel['A133'] > 0: 'Friendship with Rolan Metveev (Janitor):' & gs 'journal', 'relindex', 'A133'
if npc_rel['A134'] > 0: 'Friendship with Aleksandrina Volkov (Headmistress):' & gs 'journal', 'relindex', 'A134'
if npc_rel['A135'] > 0: 'Friendship with Yeva Sokoloff (Geography Teacher):' & gs 'journal', 'relindex', 'A135'
if npc_rel['A136'] > 0: 'Friendship with Olga Aleksandrov (School Nurse):' & gs 'journal', 'relindex', 'A136'
if npc_rel['A137'] > 0: 'Friendship with Raven Braakman (English Teacher):' & gs 'journal', 'relindex', 'A137'
if npc_rel['A138'] > 0: 'Friendship with Arina Orlov (Biology Teacher):' & gs 'journal', 'relindex', 'A138'
!!!WD: Formatting
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
*nl
end
'Pavlovsk Relations
'
if npc_rel['A54'] > 0: 'Friendship with Uncle Misha:' & gs 'journal', 'relindex', 'A54'
if npc_rel['A57'] > 0: 'Friendship with Rex:' & gs 'journal', 'relindex', 'A57'
if npc_rel['A217'] > 0: 'Friendship with Pavlin:' & gs 'journal', 'relindex', 'A217'
if npc_rel['A112'] > 0: 'Friendship with Sergey Shulgin:' & gs 'journal', 'relindex', 'A112'
if npc_rel['A119'] > 0: 'Friendship with Borislav:' & gs 'journal', 'relindex', 'A119'
'Gadukino Relations
'
if npc_rel['A31'] > 0: 'Friendship with Elena (your great-grandmother):' & gs 'journal', 'relindex', 'A31'
if npc_rel['A32'] > 0: 'Friendship with Zlatek (your great-grandfather):' & gs 'journal', 'relindex', 'A32'
if npc_rel['A60'] > 0: 'Friendship with Mira:' & gs 'journal', 'relindex', 'A60'
if npc_rel['A61'] > 0: 'Friendship with Kolyamba:' & gs 'journal', 'relindex', 'A61'
if npc_rel['A62'] > 0: 'Friendship with Vasyan:' & gs 'journal', 'relindex', 'A62'
if npc_rel['A63'] > 0: 'Friendship with Mitka:' & gs 'journal', 'relindex', 'A63'
if npc_rel['A64'] > 0: 'Friendship with Afanasiy:' & gs 'journal', 'relindex', 'A64'
if npc_rel['A65'] > 0: 'Friendship with Vtialiy:' & gs 'journal', 'relindex', 'A65'
if npc_rel['A221'] > 0: 'Friendship with Grigory:' & gs 'journal', 'relindex', 'A221'
if npc_rel['A172'] > 0: 'Friendship with Andrei (hunter):' & gs 'journal', 'relindex', 'A172'
if npc_rel['A173'] > 0: 'Friendship with Igor (hunter):' & gs 'journal', 'relindex', 'A173'
if npc_rel['A174'] > 0: 'Friendship with Sergei (hunter):' & gs 'journal', 'relindex', 'A174'
'Saint Petersburg Relations
'
if npc_QW['A192'] > 0: 'Friendship with Nastya:' & gs 'journal', 'relindex', 'A192'
if npc_rel['A218'] > 0: 'Friendship with Tanya:' & gs 'journal', 'relindex', 'A218'
if npc_rel['A219'] > 0: 'Friendship with Kat:' & gs 'journal', 'relindex', 'A219'
if npc_rel['A220'] > 0: 'Friendship with Vika:' & gs 'journal', 'relindex', 'A220'
if npc_rel['A93'] > 0: 'Friendship with Ira:' & gs 'journal', 'relindex', 'A93'
if npc_rel['A43'] > 0: 'Friendship with Tamara:' & gs 'journal', 'relindex', 'A43'
if npc_rel['A35'] > 0: 'Friendship with Mikhail Kuznetsov (your biological father):' & gs 'journal', 'relindex', 'A35'
if npc_rel['A169'] > 0: 'Friendship with Dima:' & gs 'journal', 'relindex', 'A169'
if npc_rel['A89'] > 0: 'Friendship with Eugene:' & gs 'journal', 'relindex', 'A89'
if npc_rel['A216'] > 0: 'Friendship with Martin:' & gs 'journal', 'relindex', 'A216'
! 'Other Relations
'
! Uncomment if re-introduced into the game ensure you use NPC ID to update them
! if alla > 0: 'Friendship with Alla <>'
! if masha > 0: 'Friendship with Masha <>'
! if npc_rel['A41'] > 0: 'Friendship with Givi K. <>'
! if npc_rel['A42'] > 0: 'Friendship with Ashot <>'
if husband > 0:'You have been married for <> days. Your husband <<$husName>> <<$husBody>> <<$husFat>> <<$husHair>>. Member <> Relationship <>.'
if kid > 0:
i = 0
if kid = 1:
'You have a child, a <<$polreb[0]>> named <<$kidname[0]>>. Born <>-<>-<>. Aged <>.'
else
'You have children:'
:LoopKidCounter
if i < kid:
'
a <<$polreb[i]>> named <<$kidname[i]>>. Born <>-<>-<>. Aged <>.'
i += 1
jump 'LoopKidCounter'
end
end
*nl
end
*nl
!! 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
!! if $bfsex > 0:'<<$bfsex>>'
*nl
if loverGender[0] = 0:
$obj_loverintro = 'Your boyfriend'
$obj_loverpron = 'He'
else
$obj_loverintro = 'Your girlfriend'
$obj_loverpron = 'She'
end
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 <> after <> days dating.'
if haraklover[0] = 0 and loverrelation[0] > 1:'<<$obj_loverpron>>''s timid and lacks confidence.'
if haraklover[0] = 1 and loverrelation[0] > 1:'<<$obj_loverpron>> has a cheerful and sociable personality.'
if haraklover[0] = 2 and loverrelation[0] > 1:'<<$obj_loverpron>>''s short-tempered and strict.'
if loverGender[1] = 0:
$obj_loverintro = 'Your boyfriend'
$obj_loverpron = 'He'
else
$obj_loverintro = 'Your girlfriend'
$obj_loverpron = 'She'
end
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 <> after <> days dating.'
if haraklover[1] = 0 and loverrelation[1] > 1:'<<$obj_loverpron>>''s timid and lacks confidence.'
if haraklover[1] = 1 and loverrelation[1] > 1:'<<$obj_loverpron>> has a cheerful and sociable personality.'
if haraklover[1] = 2 and loverrelation[1] > 1:'<<$obj_loverpron>>''s short-tempered and strict.'
if loverGender[2] = 0:
$obj_loverintro = 'Your boyfriend'
$obj_loverpron = 'He'
else
$obj_loverintro = 'Your girlfriend'
$obj_loverpron = 'She'
end
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 <> after <> days dating.'
if haraklover[2] = 0 and loverrelation[2] > 1:'<<$obj_loverpron>>''s timid and lacks confidence.'
if haraklover[2] = 1 and loverrelation[2] > 1:'<<$obj_loverpron>> has a cheerful and sociable personality.'
if haraklover[2] = 2 and loverrelation[2] > 1:'<<$obj_loverpron>>''s short-tempered and strict.'
*nl
!! relations
end
!!-------------------------!!
!! General Information !!
!!-------------------------!!
if $ARGS[0] = 'generaltab':
$jumploc = 'generaltab'
gs 'journal', 'journalmenu'
!! generaltab
'General Information
'
if ARRSIZE('$portfolio_locations') > 0 or ARRSIZE('$portfolio_people') > 0:
act 'View your photography portfolio': gt 'journal_portfolio'
end
'
Locations'
'
Family'
'
Pavlovsk Residents'
'
Gadukino Residents'
'
City Residents'
if mod_ballet['blocker'] > 0 or balletqw['school'] > 0: '
Ballet Career'
if SchoolAtestat = 0 and mid($start_type, 1, 2) = 'sg' and SchoolBlock = 0:
'
School
School Courses and Grades'
end
!!Make this an elseif, add a third option to see where our friends end up in city-life??
if university['student'] = 1:
'
University'
end
'
Clothing information'
end
!!-------------------------!!
!! Notes !!
!!-------------------------!!
if $ARGS[0] = 'notestab':
$jumploc = 'notestab'
gs 'journal', 'journalmenu'
'Notes
'
'Create notes to keep track of any information you need.'
*nl
'Make a note'
jur_temp = 0
:jur_loop
if jur_temp < arrsize('$zapis'):
'<<$zapis[jur_temp]>> Delete'
jur_temp += 1
jump 'jur_loop'
end
killvar 'jur_temp'
!! notes
end
!!---------------------------------!!
!! notifications !!
!!---------------------------------!!
if $ARGS[0] = 'notification_log':
$jumploc = 'notification_log'
gs 'journal', 'journalmenu'
'Notifications
'
*nl
!! DEBUG
!!'DEBUG'
if $notification_log[0] ! '':
notification_log_loop_index = arrsize('$notification_log') - 1
:notification_log_loop
*pl $notification_log[notification_log_loop_index]
*nl
if notification_log_loop_index > 0: notification_log_loop_index -= 1 & jump 'notification_log_loop'
else
'Notification log is empty.'
end
end
!! -- Ballet School infor - only shown if active
if $ARGS[0] = 'ballet':
$jumploc = 'ballet'
gs 'journal', 'journalmenu'
'Ballet Career
'
'> src="mod/img_ballet/system/readme.jpg">'
'Пан или пропал (You become the master or, leave).'
'A narrative based mod and activities for the Dancer start. The MC has been given a grant to attend a intensive 6 day summer class with an assessment, that if, she passes can lead to a weekly rehearsal and a Winter dance show in December.'
'Note: this storyline will play out over a long time span and your actions will have consequences that won''t be obvious initially. Some of this is dependent on the development of main Girl Life codebase.'
'Current and planned features:'
'• New dancer start option, with other starts being granted access later or uni/city years pay to join.'
'• 6 day intensive course during the school summer break - look for the letter at your parents kitchen to notify you.'
'• New pen friend(s), with meet ups and theatre or ballet nights with family or partner.'
'• Dance instructor, who''s intentions may prevent MC from joining the Pushkin Ballet Company or could have far ranging consequences on both on herself and NPC characters.'
'• New dance gigs, at each rehearsal there''s a chance that you may get dance job for the local theatre or the city if you passed with merit.'
'NB: There is no sex acts in this mod at present, if you wish to write scenes based on the content contact me at the Girl Life Discord Server.'
'In Memoriam — Hooded Silence.
'
*nl
'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 there is no sexual content in this mod until at least year 3 as per his notes. '
'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:'
*nl
' • Failure to adhere to the residential schools rules or live up to the high standards of the school.'
' • Get drunk too often or fall pregnant - kicked off the Corp De Ballet.'
' • Fail to maintain your appearance - reprimands or loss of income, leading to expulsion.'
*nl
'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'
end
!! ---- Other Sections ----
!! --- General Information -- Clothing
if $ARGS[0] = 'clothing':
$jumploc = 'generalsub'
gs 'journal', 'journalmenu'
'Clothing information'
*nl
'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.'
'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.'
*nl
'Quality of clothing is ranked in this order:'
' Crappy quality outfit'
' Very low quality outfit'
' Low quality outfit'
' Average quality outfit'
' Reasonable quality outfit'
' Good quality outfit'
' Outstanding quality outfit'
gs 'journal', 'leaveactions'
end
!! --- General Information -- University
if $ARGS[0] = 'uni':
$jumploc = 'generalsub'
gs 'journal', 'journalmenu'
'University
'
if university['diploma'] > 0:
'You have graduated from the University of St. Petersburg with a degree in '+func('uni_programs', 'program_name')+'.'
else
'You have are 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')+' at the University of St. Petersburg.'
end
if $university['elective1'] ! '' or $university['elective2'] ! '' or $university['elective3'] ! '':
*nl
'This semester, you are taking the following elective classes: <<$university[''elective1'']>>, <<$university[''elective2'']>>, <<$university[''elective1'']>>.'
end
j = 1
:semester_loop
if university['semester_passed'] >= j:
gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<>'
*nl
'You passed the' + trim(MID(' first, second, third, fourth, fifth, sixth,seventh, eighth, ninth, tenth', j*8 - 7, 7)) + ' semester with the following grades:'
k = 0
:class_loop
if $class_list_institution[k] = 'uni_<<$university[''enrolled_in'']>>_semester_<>':
'<<$class_list_name[k]>>: <<$class[''<<$class_list_institution[k]>>_<<$class_list_name[k]>>_grade'']>>'
end
k += 1
if ARRSIZE('class_list_institution') >= k: jump 'class_loop'
killvar 'k'
end
j += 1
if j < 8: jump 'semester_loop'
killvar 'j'
if university['semester_passed'] = university['enrolled_in_semester'] and university['diploma'] = 0:
*nl
'You need to register for your next semester at the university administration'
elseif university['semester_week'] <= 0 and university['exam_week'] = 0:
*nl
'You currently have a break between semesters.'
if university['semester_week'] = -1:
'The next semester will start next week'
end
'Class schedule for Next Semester
'
'Monday: ' + func('uni_programs', 'uni_period_first', 'monday' ) + ' ' + func('uni_programs', 'uni_period_second', 'monday' ) + ' ' + func('uni_programs', 'uni_period_third', 'monday' )
'Tuesday: ' + func('uni_programs', 'uni_period_first', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_second', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_third', 'tuesday' )
'Wednesday: ' + func('uni_programs', 'uni_period_first', 'wednesday') + ' ' + func('uni_programs', 'uni_period_second', 'wednesday') + ' ' + func('uni_programs', 'uni_period_third', 'wednesday')
'Thursday: ' + func('uni_programs', 'uni_period_first', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_second', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_third', 'thursday' )
elseif university['semester_week'] > 0:
*nl
if university['semester_week'] < 11:
'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.'
else
'You are in the '+str(university['semester_week']) + 'th week of the semester which last 15 weeks.'
end
'Class schedule
'
'Monday: ' + func('uni_programs', 'uni_period_first', 'monday' ) + ' ' + func('uni_programs', 'uni_period_second', 'monday' ) + ' ' + func('uni_programs', 'uni_period_third', 'monday' )
'Tuesday: ' + func('uni_programs', 'uni_period_first', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_second', 'tuesday' ) + ' ' + func('uni_programs', 'uni_period_third', 'tuesday' )
'Wednesday: ' + func('uni_programs', 'uni_period_first', 'wednesday') + ' ' + func('uni_programs', 'uni_period_second', 'wednesday') + ' ' + func('uni_programs', 'uni_period_third', 'wednesday')
'Thursday: ' + func('uni_programs', 'uni_period_first', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_second', 'thursday' ) + ' ' + func('uni_programs', 'uni_period_third', 'thursday' )
'Grades
'
gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<>'
j = 0
:grade_loop
if $class_list_institution[j] = 'uni_<<$university[''enrolled_in'']>>_semester_<>':
if dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= dyneval( 'RESULT = (4*<> + 32)'):
'You think you are doing great in <<$class_list_name[j]>> and will probably pass with a top grade if you keep this up.'
elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') > dyneval( 'RESULT = (2*<> + 32)'):
'You are 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 need to put in some more effort.'
elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= dyneval( 'RESULT = (1*<> + 32)'):
'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.'
elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') < 40:
'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.'
else
'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.'
end
end
j += 1
if ARRSIZE('class_list_institution') >= j: jump 'grade_loop'
killvar 'j'
elseif university['exam_week'] > 0:
*nl
'You are in the ' + iif(university['exam_week'] = 1, 'first', 'second') + ' of the two weeks of exams. ' + func('uni_programs', 'exam', 'schedule')
*nl
gs 'grades', 'assing_grade_description', 'uni_<<$university[''enrolled_in'']>>_semester_<>'
j = 0
:exam_loop
if $class_list_institution[j] = 'uni_<<$university[''enrolled_in'']>>_semester_<>':
if dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_exam_done'']') = 1:
'You did your <<$class_list_name[j]>> exam and think you will get an <<$class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']>>.'
elseif func('uni_programs', 'exam', 'is_over', $class_list_name[j]) = 1:
'Your exam <<$class_list_name[j]>> is over and you did not go. This means you will fail the class and thefore also the semester.'
elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 100:
'You think you are well prepared in your <<$class_list_name[j]>> exam and will probably pass with the highest mark possible.'
elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 90:
'You think you are well prepared in your <<$class_list_name[j]>> exam and will probably pass with a 5, but a little more studying never hurts.'
elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 70:
'You think that you are 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.'
elseif dyneval( 'RESULT = class[''<<$class_list_institution[j]>>_<<$class_list_name[j]>>_grade'']') >= 40:
'You think you are prepared enough to pass your <<$class_list_name[j]>> exam, but if you want a good grade, then you need to do some serious studying.'
else
'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.'
end
end
j += 1
if ARRSIZE('class_list_institution') >= j: jump 'exam_loop'
killvar 'j'
end
*nl
!!Added a link to the various Character Journal entries for location: journal_uni.
!!Should probably be put somewhere else. Blame Anjuna and Nutluck
'Students and Teachers
'
'
Professors'
'
University Students from Pavlovsk'
'
Other University Students'
*nl
'
Former Pavlovsk Students'
act 'Go back': gt 'journal', 'generaltab'
gs 'journal', 'leaveactions'
end
!! --- General Information -- Locations
if $ARGS[0] = 'locations':
$jumploc = 'generalsub'
gs 'journal', 'journalmenu'
'Pavlovsk
'
'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.'
*nl
'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.'
'Gadukino
'
'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.'
'St. Petersburg
'
'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.'
act 'Go back': gt 'journal', 'generaltab'
gs 'journal', 'leaveactions'
end
!! -- General Information -- Family
if $ARGS[0] = 'family':
$jumploc = 'generalsub'
gs 'journal', 'journalmenu'
'Family
'
!!Mother
gs 'journal_NPC_information', 'A29'
*nl
!!Bio-father
gs 'journal_NPC_information', 'A35'
*nl
!!Step-Father
gs 'journal_NPC_information', 'A28'
*nl
!!Anya
gs 'journal_NPC_information', 'A33'
*nl
!!Kolka
gs 'journal_NPC_information', 'A34'
*nl
!!Aunt
gs 'journal_NPC_information', 'A30'
*nl
!!Olu
gs 'journal_NPC_information', 'A55'
*nl
!!Grandpa
gs 'journal_NPC_information', 'A31'
*nl
!!Grandmum
gs 'journal_NPC_information', 'A32'
*nl
!!Misha
gs 'journal_NPC_information', 'A54'
act 'Go back': gt 'journal', 'generaltab'
gs 'journal', 'leaveactions'
elseif $ARGS[0] = 'pav_res':
$jumploc = 'generalsub'
gs 'journal', 'journalmenu'
'Pavlovsk Residents
'
!! Post Secondary school !!
if yearstart > 1:
!!Mefodiy
gs 'journal_NPC_information', 'A148', 'uni'
*nl
!!Ivan
gs 'journal_NPC_information', 'A3', 'uni'
*nl
!!Fedor
gs 'journal_NPC_information', 'A5', 'uni'
*nl
!!Erast Vagin
gs 'journal_NPC_information', 'A150', 'uni'
*nl
!!Veronika
gs 'journal_NPC_information', 'A141', 'uni'
*nl
!!Evgany
gs 'journal_NPC_information', 'A151', 'uni'
*nl
!!Natalia
gs 'journal_NPC_information', 'A240', 'uni'
*nl
!!Vitek
gs 'journal_NPC_information', 'A9', 'uni'
*nl
!!Dan
gs 'journal_NPC_information', 'A10', 'uni'
*nl
!!Vasily
gs 'journal_NPC_information', 'A11', 'uni'
*nl
!!Roman
gs 'journal_NPC_information', 'A157', 'uni'
*nl
!!Kayuska Maksimov
gs 'journal_NPC_information', 'A145', 'uni'
*nl
!!Pauline
gs 'journal_NPC_information', 'A24', 'uni'
*nl
!!Kikolai
gs 'journal_NPC_information', 'A189', 'uni'
*nl
!!Lena
gs 'journal_NPC_information', 'A20', 'uni'
*nl
!!Lera
gs 'journal_NPC_information', 'A21', 'uni'
*nl
!!Alyona
gs 'journal_NPC_information', 'A143', 'uni'
*nl
end
!!Sergey
gs 'journal_NPC_information', 'A112'
act 'Go back': gt 'journal', 'generaltab'
gs 'journal', 'leaveactions'
elseif $ARGS[0] = 'gad_res':
$jumploc = 'generalsub'
gs 'journal', 'journalmenu'
'Gadukino Residents
'
!!Grandpa
gs 'journal_NPC_information', 'A31'
*nl
!!Grandma
gs 'journal_NPC_information', 'A32'
*nl
!!Mira
if npc_known['A60'] = 1:
gs 'journal_NPC_information', 'A60'
*nl
end
!!Mitka
gs 'journal_NPC_information', 'A63'
*nl
!!Kolyamba
if mitka_first_drink > 1:
gs 'journal_NPC_information', 'A61'
*nl
end
!!Vasyan
if mitka_first_drink > 1:
gs 'journal_NPC_information', 'A62'
*nl
end
!!Afanasiy (Mira''s father)
if npc_known['A60'] = 1:
gs 'journal_NPC_information', 'A64'
*nl
end
!!Vtialiy (Mira''s brother)
if npc_known['A60'] = 1:
gs 'journal_NPC_information', 'A64'
*nl
end
!!Grigory
if npc_qw['A221'] > 0:
gs 'journal_NPC_information', 'A221'
*nl
end
!!Hunters
if hunters_were_met > 0:
gs 'journal_NPC_information', 'A172'
*nl
gs 'journal_NPC_information', 'A173'
*nl
gs 'journal_NPC_information', 'A174'
*nl
end
act 'Go back': gt 'journal', 'generaltab'
gs 'journal', 'leaveactions'
elseif $ARGS[0] = 'city_res':
$jumploc = 'generalsub'
gs 'journal', 'journalmenu'
'City Residents
'
!! Post Secondary school !!
if yearstart > 1:
!!Radomir
gs 'journal_NPC_information', 'A154', 'uni'
*nl
!!Arkadi
gs 'journal_NPC_information', 'A154', 'uni'
*nl
!!Valentin
gs 'journal_NPC_information', 'A154', 'uni'
end
act 'Go back': gt 'journal', 'generaltab'
gs 'journal', 'leaveactions'
end
!! Helper functions
if $ARGS[0] = 'relindex':
gs 'indik', '1', npc_rel['<<$ARGS[1]>>'], npc_rel['<<$ARGS[1]>>'], 100 & '<<$ind>>'
*nl
elseif $ARGS[0] = 'leaveactions':
act 'Put your notebook down':
killvar 'jumploc'
jclose = 1
gt $loc, $loc_arg
end
end
--- journal ---------------------------------