# beta_journal_quests
!! 12/09/22 - Hooded Silence
!! Game Character Quest section. This is the container file for all quest roles in game. Used to provide player feedback on how to proceed in quests.
!! All quest information should be in a guidance or hint style fashion to encourage exploration.
!! Beta 1 - New module design template for integration
!! Section icons
!! 🧭 Quest
!! 💕 Relationship
!! 📌 Location
!! ✨ Magic
!! 🔎 Hints
!! Quest progress icons:
!! ✓ - green tick
!! 🗴 Red cross
if $ARGS[0] = 'init':
*clr & cla
$loc_id = 'beta_journal_quests'
act 'Put your journal down': gt $menu_loc, $menu_arg
act 'Return to top journal page': gt 'journal', 'records'
$jumploc = 'questtab'
!! gs 'journal', 'journalmenu'
'
Quests and Relationships
'
if $debug['journal'] ! '':
'Error with: <<$debug[''journal'']>>
'
$debug['journal'] = ''
end
!! TEST
act 'Test vcard': gs $loc_id, 'vcard', 274
act 'Test Glossary': gs $loc_id, 'rel_pavlovsk'
!!TEST
if journal['alert'] = 1:
''
'
⚠ Todays Quests and Tasks
'
'
🧭 You have to attend starlets
'
'
💕 You have a date with {npc} today at {time}, {location}
'
'
'
else
!! Pull randomly from a journal[''gametips''] array
''
'
Todays Random Tips
'
'
🧭 Visit the school sports field to meet your brother, and maybe other jocks.
'
'
'
end
end
!! Friends and Relations
if $ARGS[0] = 'rel_pavlovsk':
gs $loc_id, 'pavlovsk_array'
$table_gen_max = loc_gen
gs $loc_id, 'table_gen'
end
if $ARGS[0] = 'rel_city':
end
if $ARGS[0] = 'rel_gad':
end
if $ARGS[0] = 'rel_pushkin':
!! Ballet Maya
end
!! Game locations - quests
if $ARGS[0] = 'geo_pavlovsk':
!!5/8 Estate
!!Commercial
!!Industrial
!!Market
!!Park
!!Train Station
if $ARGS[1] = '58_estate':
!!Parents apartment
!!Garages
!1Luda''s apartment
!!Shulgin''s Apartment
elseif $ARGS[1]= 'commercial':
elseif $ARGS[1]= 'industrial':
elseif $ARGS[1] = 'market':
elseif $ARGS[1] = 'park':
elseif $ARGS[1] = 'train_station':
end
end
if $ARGS[0] = 'geo_city':
end
if $ARGS[0] = 'geo_pushkin':
!! Ballet school content
!! Ballet Secrets content
end
if $ARGS[0] = 'geo_gad':
end
if $ARGS[0] = 'geo_village':
end
if $ARGS[0] = 'vcard':
*clr & cla
$quest_id = 'A' + ARGS[1]
$loc_id = 'beta_journal_quests'
!! Debug Section
if ARGS[1] = 0:
gt $loc_id, 'failure', 'id'
end
!! Initiate NPC data.
if $npc_quest['q_next'] = '':
!! qstage = current stage index
qstage = 1
end
gs 'quest_data_<<$quest_id>>', 'init'
!! Reset to correct location
$loc_id = 'beta_journal_quests'
!! Ensure quest data fields are populated
if $npc_quest['body'] ='':
gt $loc_id, 'failure', 'quest_body'
end
if $npc_quest['q_next'] = '':
gt $loc_id, 'failure', 'nav_forward'
end
if $npc_quest['q_back'] = '':
gt $loc_id, 'failure', 'nav_back'
end
!! Section used to generate the user quests and other pertinent information
!! Start vcard construction
$vcard += 'Ballet Quests - Characters
'
$vcard += '
'
$vcard += ''
$vcard += '
'
$vcard += '
'
$vcard += '
Name: <<$npc_firstname[''<>'']>> "<<$npc_nickname[''<<$quest_id>>'']>>" <<$npc_lastname[''<<$quest_id>>'']>>
'
$vcard += '
Date of Birth: ' + func('shortgs', 'convert_dob', ARGS[1]) + '
'
$vcard += '
Home: <<$npc_home[''<<$quest_id>>'']>>
'
$vcard += '
'
!! if debug is enabled show pop up msg:
if debug['code'] = 1:
gs 'quest_data_a<
>', 'debug'
$vcard += ''
end
$vcard += ''
$vcard += '
'
$vcard += '
'
!! Output
$vcard
!! Start quest body construction
$qsteps += ''
$qsteps += '
'
$qsteps += '
🔎 Quest hints:
'
if journal_hints = 0:
$qsteps += '
Enable hints Spoilers! '
else
$qsteps += $npc_quest['hints']
$qsteps += '
'
$qsteps += '
Disable hints '
end
$qsteps += '
'
$qsteps += '
🧭 Quest requisites:
'
$qsteps += '
<<$npc_quest[''body'']>>
'
$qsteps += '
'
$qsteps += '
'
$qsteps += '
'
$qsteps += '
Quest History
'
if $npc_quest['q_next'] = 'null':
$next_nav = 'Current Stage'
else
$next_nav = '
Next Stage →'
gs
end
if $npc_quest['q_back'] = 'null':
$back_nav = 'Quest Start'
else
$back_nav = '
← Previous Stage '
end
$qsteps += '
<<$back_nav>> | <<$next_nav>>'
$qsteps += '
'
$qsteps += '
'
$qsteps += '
'
$qsteps += '
'
!! Output
$qsteps
!! Clean up
killvar '$vcard'
killvar '$qsteps'
killvar 'quest_id'
killvar '$evt_suffix'
end
!! Navigation
if $ARGS[0] = 'navigation':
$nav_click = $ARGS[1]
if $ARGS[1] ! '' and qstage = 1:
$npc_quest['q_back'] = 'null'
elseif qstage > 1 and $nav_click = 'next':
qstage += 1
elseif qstage >= 2 and $nav_click ='back':
qstage -= 1
else
$debug['journal'] = 'Navigation failed to be set.'
end
killvar '$nav_click'
gs 'quest_data_<<$quest_id>>', 'init'
gs 'beta_journal_quests', 'init'
end
if $ARGS[0] = 'failure':
!! Debug sections
if $ARGS[1] = 'id':
$debug['journal'] = 'NPC ID not set, vcard not generated.'
elseif $ARGS[1] = 'quest_body':
$debug['journal'] = 'Quest body not set, quests details was not set.'
elseif $ARGS[1] = 'nav_forward':
$debug['journal'] = 'No forward navigation set - please ensure you have set the var in quest_data'
elseif $ARGS[1] = 'nav_back':
$debug['journal'] = 'No back navigation set - please ensure you have set the var in quest_data'
end
'vcard failed to initialise: ' + $debug['journal']
end
if $ARGS[0] = 'gametips':
if $ARGS[1] = '1':
'If you have 50 skill in modern dance and Albina likes you might get a chance to join Starlets.'
elseif $ARGS[1] = '2':
'Mon Cheri is the most prestigious clothing store in St. Petersburg, with a price tag to match.'
elseif $ARGS[1] = '3':
'There is some parts of the game restricted to over-18s such as doing driving lessons, gambling at the casino and other areas. There is rumours that there is studios who are less fussy about sticking to the law.'
elseif $ARGS[1] = '4':
elseif $ARGS[1] = '5':
elseif $ARGS[1] = '6':
elseif $ARGS[1] = '7':
elseif $ARGS[1] = '8':
elseif $ARGS[1] = '9':
end
end
!! Table Generator for npcs and locations
if $ARGS[0] = 'table_gen':
!! Original code by Anjuna
entry_counter_i = 1
entry_counter_j = 1
table_counter = 0
if ARGS[1] = 0:
table_columns = 3
else
table_columns = ARGS[1]
end
$bjq_temp_table = ''
:jmp_table_gen
!! CREATE ROW
$bjq_temp_table += ''
:jmp_table_gen2
!! CREATE CELL
$bjq_temp_table += ''
$bjq_temp_table += ''
$bjq_temp_table += ''
$bjq_temp_table += ''
$bjq_temp_table += ' | '
!! END CELL
entry_counter_i += 1
if entry_counter_i <= table_gen_max and (entry_counter_i mod table_columns) ! 0: jump 'jmp_table_gen2'
$bjq_temp_table += '
'
!! END ROW
!! CREATE ROW
$bjq_temp_table += ''
:jmp_table_gen3
!! CREATE CELL
$bjq_temp_table += ''
$bjq_temp_table += $loc_name[entry_counter_j]
$bjq_temp_table += ' | '
!! END CELL
entry_counter_j += 1
if entry_counter_j <= table_gen_max and (entry_counter_j mod table_columns) ! 0: jump 'jmp_table_gen3'
$bjq_temp_table += '
'
!! END ROW
table_counter += 1
if table_counter = 5:
!! ADD BLANK ROW
$bjq_temp_table += '
'
table_counter = 0
end
if entry_counter_i < table_gen_max: jump 'jmp_table_gen'
$bjq_temp_table += '
'
'<<$bjq_temp_table>>'
killvar '$bjq_temp_table'
killvar 'entry_counter_i'
killvar 'entry_counter_j'
killvar 'table_columns'
killvar 'table_counter'
killvar 'table_gen_max'
end
!! Set up locations for image paths for the loop
if $ARGS[0] = 'pavlovsk_array':
!! Set up locations for image paths for the loop
loc_gen = 1
!! Display Name
$loc_name[loc_gen] = 'Five Eight Estate'
!! $args[1] function name to show data
$loc_shortname[loc_gen] = '58_estate'
!! default game image file path
$loc_path[loc_gen] = 'images/locations/pavlovsk/resident/apartment/complex.jpg'
!! Area description to indicate what is in this area.
$loc_description[loc_gen] = 'Five Eight Estate where your parents and aunt Luda live. There is also the garage that your father hires to fix his car.'
!$loc_path[loc_gen] =
loc_gen += 1
$loc_name[loc_gen] = 'Commercial Area'
$loc_shortname[loc_gen] = 'commercial'
$loc_path[loc_gen] = 'images/locations/pavlovsk/gorodok.jpg'
$loc_description[loc_gen] = ''
loc_gen += 1
$loc_name[loc_gen] = 'Industrial Area'
$loc_shortname[loc_gen] = 'industrial'
$loc_path[loc_gen] = 'images/locations/pavlovsk/factory/pav_factory.jpg'
loc_gen += 1
$loc_name[loc_gen] = 'Pavlovsk Market'
$loc_shortname[loc_gen] = 'market'
$loc_path[loc_gen] = 'images/locations/pavlovsk/pav_market_day.jpg'
loc_gen += 1
$loc_name[loc_gen] = 'Pavlovsk Park'
$loc_shortname[loc_gen] = 'park'
$loc_path[loc_gen] = 'images/locations/pavlovsk/park/skver.jpg'
loc_gen += 1
$loc_name[loc_gen] = 'Train Station'
$loc_shortname[loc_gen] = 'train_station'
$loc_path[loc_gen] = 'images/locations/pavlovsk/trainstation/vokzal.jpg'
end
--- beta_journal_quests ---------------------------------