10 Commits b65be3737f ... d908cc6ecf

Autore SHA1 Messaggio Data
  Kevin_Smarts d908cc6ecf [fixed] $mtxt not filled for family breakfast and typo in one of the mtxt lines 2 settimane fa
  Kevin_Smarts bbf96e01e6 [fixed] Mixed case issue for fussy OS spotted by nugerumon 2 settimane fa
  Anya 612865f81f [fixed] Mismatched skill req with Lariska and Volleyball 2 settimane fa
  Kevin_Smarts 272dfe1b80 [fixed] arousal from large clit was set too low for corrected scale and kicked in when only average. Now set to anything above average 2 settimane fa
  Kevin_Smarts 6caf12bf0b Merge remote-tracking branch 'Anjuna/master' 2 settimane fa
  anjuna krokus 449408bcf9 [fixed/changed] wearing "lost" clothes will still equip them. Reported by Lexandros. Clothing repair now scales with your sewing skill 3 settimane fa
  Myles Croft (Hooded Silence) ecf67b2a6d [Bug and layout fixes] More fixes and refactoring to the beta journal. Removed duplicated file. 3 settimane fa
  Kevin_Smarts 1420370e48 Merge remote-tracking branch 'Anjuna/master' 3 settimane fa
  anjuna krokus ac888bd808 [fixed] bugs reported by Myles 3 settimane fa
  Myles Croft (Hooded Silence) 064c27f6a7 [Beta Journal] General bug fixes and improvements to housing and relations tabs now featuring base layout designs. 3 settimane fa

+ 1 - 1
glife.qproj

@@ -18,7 +18,7 @@
 		<Location name="journal_portfolio"/>
 		<Location name="journal_NPC_information"/>
 		<Location name="Cheatmenu_din"/>
-		<Location name="Cheatmenu_bisets"/>
+		<Location name="cheatmenu_bisets"/>
 	</Folder>
 	<Folder name="System">
 		<Location name="counter"/>

+ 3 - 3
locations/LariskaHome.qsrc

@@ -513,13 +513,13 @@ if $ARGS[0] = 'lariska_bedroom':
 			'You decided to talk to Lariska about joining the professional volleyball team.'
 			'"Lariska, you are an excellent volleyball player. Coach Mikheil Nikolayevich has a professional team, why don''t you ask to join it?" you ask your friend.'
 			'"Well, I guess I''m afraid he''ll tell me I''m not good enough. I''ve seen him tell other good players they aren''t good enough to play for him."'
-			if pcs_vball < 60 and volleysostav < 2:
+			if pcs_vball < 50 and volleysostav < 2:
 				act 'Drop the subject':gt 'LariskaHome','lariska_bedroom'
 				act 'Tell her you''ll go with her for support.':lariskaTrenerTalk = 1 & minut += 15 & gt 'Voltrener', 'start'
-			elseif pcs_vball >= 60 and volleysostav = 1:
+			elseif pcs_vball >= 50 and volleysostav = 1:
 				act 'Drop the subject':gt 'LariskaHome','lariska_bedroom'
 				act 'Tell her you''ll go with her for support.':lariskaTrenerTalk = 2 & minut += 15 & gt 'Voltrener', 'start'
-			elseif pcs_vball >= 60 and volleysostav = 0:
+			elseif pcs_vball >= 50 and volleysostav = 0:
 				act 'Drop the subject':gt 'LariskaHome','lariska_bedroom'
 				act 'Tell her that you should both try to get on the team.':lariskaTrenerTalk = 3 & minut += 15 & gt 'Voltrener', 'start'
 			elseif volleysostav >= 2:

+ 9 - 10
locations/beta_journal.qsrc

@@ -34,7 +34,7 @@ if $ARGS[0] = 'init_array':
     $array_tab[3] = 'Work'
     $array_link[3] = 'beta_journal_work'
     $array_tab[4] = 'Relations'
-    $array_link[4] = 'journal_relationships'
+    $array_link[4] = 'beta_journal_relationships'
     $array_tab[5] = 'Quests'
     $array_link[5] = 'beta_journal_quests'
     $array_tab[6] = 'Magic'
@@ -51,22 +51,21 @@ if $ARGS[0] = 'default':
 	$hot_link = $ARGS[0]
     !! Initial menu page containing alerts and tips
 	gs $loc_id, 'nav_construct'
+	'<center>'
     gs $loc_id, 'game_events'
     gs $loc_id, 'gametips'
+	'</center>'
 end
 
 !! Core functions for tabs and menu creation
 
-
 !! Navigation bar constructor:
 if $ARGS[0] = 'nav_construct':
-
-	'<center><h1><<$nav_banner>></h1></center>'
+	if $nav_banner = '': $nav_banner = "<<$pcs_firstname>>''s Quests and Relationships"
 	!! Set up the navigation body
-	$tablebody = '<tr>'
 	!! Create the navigation - remember to deduct -1 as magic option is removed
 	i = 0
-
+	!! Reset the table creation vars.
 	killvar '$tablebody'
 	killvar 'i'
 	killvar 'nav_i'
@@ -87,11 +86,10 @@ if $ARGS[0] = 'nav_construct':
 		i += 1
 	end
 	if i < nav_i: jump 'jmp_navigation_gen'
-	$tablebody += '</tr>'
-
 	!display the table here.
 	*clr & cla
-	'<center><table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top"><tr><<$tablebody>></tr></table></center>'
+	'<center><h1><<$nav_banner>></h1>'
+	'<table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top"><tr><<$tablebody>></tr></table></center>'
 	gs 'journal', 'leaveactions'
 end
 
@@ -107,8 +105,9 @@ if $ARGS[0] = 'gametips':
     gs $loc_id, 'tips_init'
 
     rnd_tip = rand(0, arrsize('$tip_body')-1)
-    '<center><h3>Girl Life Random Tips</h3></center>'
+    '<center><h3>Girl Life Random Tips</h3>'
     $tip_body[rnd_tip]
+	'</center>'
     killvar 'rnd_tip'
     killvar '$tip_body'
 end

+ 3 - 3
locations/beta_journal_home.qsrc

@@ -19,9 +19,9 @@ if $ARGS[0] = 'init':
 	end
 	if accessible_property['city_apartment'] = 3: 'You own a two bedroom apartment in the city residential area. It''s currently occupied by your tenants.'
 	if accessible_property['parents_home'] = 4:
-		'<center><table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top"><tr>'
-		'<th width=''100''><img height=''100'' src="images/locations/pavlovsk/resident/apartment/home/sitrpar.jpg"></th>'
-		'<th>You currently live with your parents Natasha and Vladomir and your siblings Anya and Kolka in a two bedroom apartment as part of the 58 Estate in Pavlovsk.</th>'
+		'<center><table width="90%" cellspacing="0" cellpadding="0" valign="top"><tr>'
+		'<th><img height=''100px'' src="images/locations/pavlovsk/resident/apartment/home/sitrpar.jpg"></th>'
+		'<th width="70%" align="left">You currently live with your parents Natasha and Vladomir and your siblings Anya and Kolka in a two bedroom apartment as part of the 58 Estate in Pavlovsk.</th>'
 		'</tr></table></center>'
 	end
 	if accessible_property['village_cottage']= 2 : 'You own a small holiday cottage with an adjacent allotment in the communal village.'

+ 315 - 229
locations/beta_journal_relationships.qsrc

@@ -5,170 +5,237 @@
 !! Purpose: Contains the navigation elements for all Pertinent data for NPC relations in game
 
 if $ARGS[0] = 'init':
+	*clr & cla
     !! Do we need to load a vcard or just index the NPCs?
 	$loc_id = 'beta_journal_relationships'
 	$hot_link = $loc_id
 	gs 'beta_journal', 'nav_construct'
+	'<center>'
+	!! panel_show - trigger for which relationship panel that is open
+	!! 1 Family, 2 Pavlovsk, 3 Gadukino, 4 city, 5 Pushkin, 6 School
+	if panel_show ! 1 or panel_show = 0:
+		'<a href="exec:panel_show = 1 & gs ''<<$loc_id>>'', ''init''">Show Family</a>'
+	elseif panel_show = 1:
+		'<i>Show Family</i>'
+		gs $loc_id, 'rel_family'
+	end
+	if panel_show ! 2:
+		'<a href="exec:panel_show = 2 & gs ''<<$loc_id>>'', ''init''">Show Pavlovsk NPCs</a>'
+	elseif panel_show = 2:
+		'<i>Show Pavlovsk NPCs</i>'
+		gs $loc_id, 'rel_pavlovsk'
+	end
+	if panel_show ! 3:
+		'<a href="exec:panel_show = 3 & gs ''<<$loc_id>>'', ''init''">Show Gadukino NPCs</a>'
+	elseif panel_show = 3:
+		'<i>Show Gadukino NPCs</i>'
+		gs $loc_id, 'rel_gudukino'
+	end
+	if panel_show ! 4:
+		'<a href="exec:panel_show = 4 & gs ''<<$loc_id>>'', ''init''">Show St Petersburg NPCs</a>'
+	elseif panel_show = 4:
+		'<i>Show St Petersburg NPCs</i>'
+		gs $loc_id, 'rel_city'
+	end
+	if panel_show ! 5:
+		'<a href="exec:panel_show = 5 & gs ''<<$loc_id>>'', ''init''">Show Pushkin NPCs</a>'
+	elseif panel_show = 5:
+		'<i>Show Pushkin NPCs</i>'
+		gs $loc_id, 'rel_pushkin'
+	end
+	if panel_show ! 6:
+		'<a href="exec:panel_show = 6 & gs ''<<$loc_id>>'', ''init''">Show School NPCs</a>'
+	elseif panel_show = 6:
+		'<i>Show Gadukino NPCs</i>'
+		gs $loc_id, 'rel_school'
+	end
+	'</center>'
 end
 
-
 !! Friends and Relations
-if $ARGS[0] = 'rel_pavlovsk':
-	gs $loc_id, 'pavlovsk_array'
-	table_gen_max = loc_gen
-	gs $loc_id, 'table_gen'
 
+if $ARGS[0] = 'rel_family':
+	'<center><table width="90%" cellspacing="0" cellpadding="0" valign="top">'
+	if kid > 0 or arrsize('$lover') > 0: gs $loc_id, 'rel_spouse_kids'
+	rel_id = 29
+	gs $loc_id, 'npc_preview'
+	rel_id = 28
+	gs $loc_id, 'npc_preview'
+	rel_id = 33
+	gs $loc_id, 'npc_preview'
+	rel_id = 34
+	gs $loc_id, 'npc_preview'
+	'</table></center>'
 end
-if $ARGS[0] = 'rel_city':
-end
-if $ARGS[0] = 'rel_gad':
-end
-if $ARGS[0] = 'rel_pushkin':
-	!! Ballet Maya
-end
 
+if $ARGS[0] = 'rel_spouse_kids':
+	'<center><h2>Lovers & Children</h2></center>'
+	if kid > 0:
+		i = 0
+		if kid = 1:
+			'<th>You have a child, a <<$polreb[0]>> named <<$kidname[0]>>. Born <<daykid[0]>>-<<monthkid[0]>>-<<yearkid[0]>>. Aged <<kidage[0]>>.</th>'
+
+		else
+			'You have children:'
+			:LoopKidCounter
+			if i < kid:
+				'<th> a <<$polreb[i]>> named <<$kidname[i]>>. Born <<daykid[i]>>-<<monthkid[i]>>-<<yearkid[i]>>. Aged <<kidage[i]>>.</th>'
+				i += 1
+				jump 'LoopKidCounter'
+			end
+		end
+		*nl
+		*nl
+	end
+
+	jnl_i = 0
+	jnl_max_i = arrsize('$lover')
+	:loverjournalloop
+	if jnl_i < jnl_max_i:
+		gs 'npcStat', $lover[jnl_i], 'i'
 
-!! This function creates a interface to access NPC data and quest history in a legible way, modify the layout at your own peril!
+		if mid($npc_rel_type[$npcID9], 1, 2) = 'ex':
+			jnl_i += 1
+			jump 'loverjournalloop'
+		end
 
-if $ARGS[0] = 'vcard':
-	!!NOTE: all data is pulled from a data file called quest_data_a<npc_id> for each npc quest - use quest_data_274 as an example!
-	*clr & cla
-	$quest_id = 'A' + ARGS[1]
-	$loc_id = 'beta_journal_quests'
-	!! Debug Section
-	if ARGS[1] = 0:
-		gt $loc_id, 'failure',  'id'
+		if $npc_rel_type[$npcID9] = 'husband':
+			'You have been married for <<daystart - spouseVars[''marry_day'']>> days. Your husband <<$npcdesc9>> is <<$npcheight9>> and <<$npcbuild9>> with <<$npchair9>> hair. <<$npcdesc9>> is usually wearing <<$npcClo9>>. Member <<$dick_desc9>> cock and <<$dick_girth9>>. Relationship <<npc_rel[$npcID9]>>.'
+		else
+			'Your <<$npcrelat9>> <<$npcdesc9>> is <<$npcheight9>> and <<$npcbuild9>> with <<$npchair9>> hair. <<$npcdesc9>> is usually wearing <<$npcClo9>>. Your relationship is <<npc_rel[$npcID9]>> after <<npc_dates[$npcID9]>> dates and <<daystart - npc_daygenerated[$npcID9]>> days dating.'
+		end
+
+		gs 'indik', '1', npc_rel[$npcID9], npc_rel[$npcID9], 100
+		'<<$ind>>'
+
+		if npc_rel[$npcID9] > 1:
+			if npc_gentle[$npcID9] = 1:
+				'<<$Xec9>> is timid and lacks confidence.'
+			elseif npc_rough[$npcID9] = 0:
+				'<<$Xec9>> has a cheerful and sociable personality.'
+			else
+				'<<$Xec9>> is short-tempered and strict.'
+			end
+		end
+
+		*nl
+
+		jnl_i += 1
+		jump 'loverjournalloop'
 	end
-		!! Initiate NPC data.
-	if $npc_quest['q_next'] = '':
-		!! qstage = current stage index
-		qstage = 1
+	killvar 'jnl_i'
+	killvar 'jnl_max_i'
+end
+if $ARGS[0] = 'rel_pavlovsk':
+	'<center><table width="90%" cellspacing="0" cellpadding="0" valign="top">'
+	if npc_rel['A54']  > 0:
+		rel_id = 54
+		gs $loc_id, 'npc_preview'
 	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'
+	if npc_rel['A57']  > 0:
+		rel_id = 57
+		gs $loc_id, 'npc_preview'
 	end
-	if $npc_quest['q_next'] = '':
-		gt $loc_id, 'failure', 'nav_forward'
+	if npc_rel['A217']  > 0:
+		rel_id = 217
+		gs $loc_id, 'npc_preview'
 	end
-	if $npc_quest['q_back'] = '':
-		gt $loc_id, 'failure', 'nav_back'
+	if npc_rel['A112']  > 0:
+		rel_id = 112
+		gs $loc_id, 'npc_preview'
 	end
-	!! Section used to generate the user quests and other pertinent information
-	!! Start vcard construction
-	$vcard += '<center><h3>Ballet Quests - Characters</h3></center>'
-	$vcard += '<br>'
-	$vcard += '<div width="80%">'
-	$vcard += '<div style="width: 120px; padding: 0; float:left"><img style="height:100px;"  src="<<$npc_img_path[''<<$quest_id>>'']>>/<<ARGS[1]>>_profile.jpg"></div>'
-	$vcard += '<div style="padding: 0;">'
-	$vcard += '<p><ul style="margin:0; padding:0;">Name: <<$npc_firstname[''<<$quest_id>>'']>> "<<$npc_nickname[''<<$quest_id>>'']>>" <<$npc_lastname[''<<$quest_id>>'']>></ul>'
-	$vcard += '<ul style="margin:0; padding:0;">Date of Birth: ' + func('shortgs', 'convert_dob', ARGS[1])  +  ' </ul>'
-	$vcard += '<ul style="margin:0; padding:0;">Home: ' + iif($npc_home['$quest_id'] = '', 'Not known', $npc_home['$quest_id'] ) + '</ul>'
-	$vcard += '<ul style="margin:0; padding:0;">Location: Unknown</ul>'
-	!! if debug is enabled show pop up msg:
-	if debug['code']  = 1:
-		gs 'quest_data_a<<ARGS[1]>>', 'debug'
-		$vcard += '<ul style="margin:0; padding:0;">Debug Vars:<a href="exec:msg <<$npc_quest[''debug_data'']>>">Quest Vars (pop up)</a></ul>'
+	if npc_rel['A119']  > 0:
+		rel_id = 119
+		gs $loc_id, 'npc_preview'
 	end
-	$vcard += '</p></div>'
-	$vcard += '</div>'
-	$vcard += '<br>'
-
-	!! Output
-	$vcard
-
-	!! Start quest body construction
-	$qsteps +=	'<div width = "80%">'
-	$qsteps +=	'<div style="padding: 10px;">'
-	$qsteps +=	'<h4>🔎 Quest hints:</h4>'
-	if journal_hints = 0:
-		$qsteps +=	'<a href="exec: journal_hints = 1 & gt ''<<$loc_id>>'', ''vcard'', <<ARGS[1]>>" >Enable hints</a><font color = "red"><b> Spoilers!</b></font> '
-	else
-		$qsteps +=	$npc_quest['hints']
-		$qsteps += '<br> <br>'
-		$qsteps +=	'<a href="exec: journal_hints = 0 & gt ''<<$loc_id>>'', ''vcard'', <<ARGS[1]>>">Disable hints</a> '
+	'</table></center>'
+end
+if $ARGS[0] = 'rel_school':
+end
+if $ARGS[0] = 'rel_city':
+	'<center><table width="90%" cellspacing="0" cellpadding="0" valign="top">'
+	if npc_rel['A192']  > 0:
+		rel_id = 192
+		gs $loc_id, 'npc_preview'
 	end
-	$qsteps +=	'<br>'
-	$qsteps +=	'<h4>🧭 Quest requisites:</h4>'
-	$qsteps +=	'<p><<$npc_quest[''body'']>></p>'
-	$qsteps +=	'<br>'
-	$qsteps +=	'</div>'
-	$qsteps +=	'<div style="padding:5px; align: center;">'
-	$qsteps += 	'<center><h5>Quest History</h5></center>'
-
-	if $npc_quest['q_next'] = 'null':
-		$next_nav = 'Current Stage'
-	else
-		$next_nav = '<a href="gs ''<<$loc_id>>'', ''navigation'', ''next'' "" >Next Stage</a> <b>→</b>'
+	if npc_rel['A218']  > 0:
+		rel_id = 218
+		gs $loc_id, 'npc_preview'
 	end
-	if $npc_quest['q_back'] = 'null':
-		$back_nav = 'Quest Start'
-	else
-		$back_nav = '<b>←</b> <a href="gs ''<<$loc_id>>'', ''navigation'', ''back'' " >Previous Stage</a> '
+	if npc_rel['A219']  > 0:
+		rel_id = 219
+		gs $loc_id, 'npc_preview'
 	end
-	$qsteps +=	'<center><<$back_nav>> | <<$next_nav>></center>'
-	$qsteps +=	'</div>'
-	$qsteps +=	'</div>'
-	$qsteps +=	'<br>'
-	$qsteps +=	'<br>'
-
-	!! Output
-	$qsteps
+	if npc_rel['A220']  > 0:
+		rel_id = 220
+		gs $loc_id, 'npc_preview'
+	end
+	if npc_rel['A93']  > 0:
+		rel_id = 93
+		gs $loc_id, 'npc_preview'
+	end
+	if npc_rel['A43']  > 0:
+		rel_id = 43
+		gs $loc_id, 'npc_preview'
+	end
+	if npc_rel['A35']  > 0:
+		rel_id = 35
+		gs $loc_id, 'npc_preview'
+	end
+	if npc_rel['A169']  > 0:
+		rel_id = 169
+		gs $loc_id, 'npc_preview'
+	end
+	if npc_rel['A89']  > 0:
+		rel_id = 89
+		gs $loc_id, 'npc_preview'
+	end
+	if npc_rel['A216']  > 0:
+		rel_id = 216
+		gs $loc_id, 'npc_preview'
+	end
+	'</table></center>'
 
-	!! Clean up
-	killvar '$vcard'
-	killvar '$qsteps'
-	killvar 'quest_id'
-	killvar '$evt_suffix'
+	! '<center><h2>Other Relations</h2></center>'
+	! Uncomment if re-introduced into the game ensure you use NPC ID to update them
+	! if alla > 0: 'Friendship with Alla <<alla>>'
+	! if masha > 0: 'Friendship with Masha <<masha>>'
+	! if npc_rel['A41'] > 0: 'Friendship with Givi K. <<npc_rel[''A41'']>>'
+	! if npc_rel['A42'] > 0: 'Friendship with Ashot <<npc_rel[''A42'']>>'
 end
-!! Vcard Navigation bar
-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.'
+if $ARGS[0] = 'rel_gadukino':
+	'<center><h3>Gadukino</h3></center>'
+	if npc_rel['A31'] > 0 or npc_rel['A32'] > 0:
+		'<center><h3>Great Grandparents</h3></center>'
+		'<table width="90%" align="center" width="90%" cellspacing="0" cellpadding="0" valign="top">'
+		rel_id = 31
+		gs $loc_id, 'npc_preview'
+		rel_id = 32
+		gs $loc_id, 'npc_preview'
+		'</table>'
 	end
-	killvar '$nav_click'
-	gs 'quest_data_<<$quest_id>>', 'init'
-	gs 'beta_journal_quests', 'init'
+	'</table>'
+	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'
+	'<a href="exec:pavlovsk_show = 0 & gs ''<<$loc_id>>'', ''init''">Hide Gadukino NPCs</a>'
+end
+if $ARGS[0] = 'rel_pushkin':
+	!! Ballet Maya
 end
 
-
-!!-------------------------!!
-!!      Relationships      !!
-!!-------------------------!!
-
+!! relationship functions
 
 if $ARGS[0] = 'relationstab':
-	$jumploc = 'relationstab'
-	gs 'journal', 'journalmenu'
-
-	'<center><h2>Relationships</h2></center>'
-	'<h2>Family</h2>'
-
-	'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:
@@ -301,107 +368,126 @@ if $ARGS[0] = 'relationstab':
 		*nl
 
 	end
+end
 
-	'<center><h2>Pavlovsk Relations</h2></center>'
-	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'
-
-	'<center><h2>Gadukino Relations</h2></center>'
-	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'
-
-	'<center><h2>Saint Petersburg Relations</h2></center>'
-	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'
-
-	! '<center><h2>Other Relations</h2></center>'
-	! Uncomment if re-introduced into the game ensure you use NPC ID to update them
-	! if alla > 0: 'Friendship with Alla <<alla>>'
-	! if masha > 0: 'Friendship with Masha <<masha>>'
-	! if npc_rel['A41'] > 0: 'Friendship with Givi K. <<npc_rel[''A41'']>>'
-	! if npc_rel['A42'] > 0: 'Friendship with Ashot <<npc_rel[''A42'']>>'
-
-
-	if kid > 0 or arrsize('$lover') > 0:
-		'<center><h2>Lovers & Children</h2></center>'
-		if kid > 0:
-			i = 0
-			if kid = 1:
-				'You have a child, a <<$polreb[0]>> named <<$kidname[0]>>. Born <<daykid[0]>>-<<monthkid[0]>>-<<yearkid[0]>>. Aged <<kidage[0]>>.'
+if $ARGS[0] = 'npc_preview':
+	!! creates the npc table.
+	'<tr><th width="10%"><img height=''50'' src="images/characters/shared/headshots_main/<<rel_id>>.jpg"></th>'
+	'<th width="30%"><<$npc_firstname[''A<<rel_id>>'']>> <<$npc_lastname[''A<<rel_id>>'']>> (<<$npc_nickname[''A<<rel_id>>'']>>):'
+	gs 'journal', 'relindex', 'A<<rel_id>>'
+	'</th><th align left>Events</th></tr>'
+end
 
-			else
-				'You have children:'
-				:LoopKidCounter
-				if i < kid:
-					'<br> a <<$polreb[i]>> named <<$kidname[i]>>. Born <<daykid[i]>>-<<monthkid[i]>>-<<yearkid[i]>>. Aged <<kidage[i]>>.'
-					i += 1
-					jump 'LoopKidCounter'
-				end
-			end
-			*nl
-			*nl
-		end
+!! This function creates a interface to access NPC data and quest history in a legible way, modify the layout at your own peril!
 
-		jnl_i = 0
-		jnl_max_i = arrsize('$lover')
-		:loverjournalloop
-		if jnl_i < jnl_max_i:
-			gs 'npcStat', $lover[jnl_i], 'i'
+if $ARGS[0] = 'vcard':
+	!!NOTE: all data is pulled from a data file called quest_data_a<npc_id> for each npc quest - use quest_data_274 as an example!
+	*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 += '<center><h3>Ballet Quests - Characters</h3></center>'
+	$vcard += '<br>'
+	$vcard += '<div width="80%">'
+	$vcard += '<div style="width: 120px; padding: 0; float:left"><img style="height:100px;"  src="<<$npc_img_path[''<<$quest_id>>'']>>/<<ARGS[1]>>_profile.jpg"></div>'
+	$vcard += '<div style="padding: 0;">'
+	$vcard += '<p><ul style="margin:0; padding:0;">Name: <<$npc_firstname[''<<$quest_id>>'']>> "<<$npc_nickname[''<<$quest_id>>'']>>" <<$npc_lastname[''<<$quest_id>>'']>></ul>'
+	$vcard += '<ul style="margin:0; padding:0;">Date of Birth: ' + func('shortgs', 'convert_dob', ARGS[1])  +  ' </ul>'
+	$vcard += '<ul style="margin:0; padding:0;">Home: ' + iif($npc_home['$quest_id'] = '', 'Not known', $npc_home['$quest_id'] ) + '</ul>'
+	$vcard += '<ul style="margin:0; padding:0;">Location: Unknown</ul>'
+	!! if debug is enabled show pop up msg:
+	if debug['code']  = 1:
+		gs 'quest_data_a<<ARGS[1]>>', 'debug'
+		$vcard += '<ul style="margin:0; padding:0;">Debug Vars:<a href="exec:msg <<$npc_quest[''debug_data'']>>">Quest Vars (pop up)</a></ul>'
+	end
+	$vcard += '</p></div>'
+	$vcard += '</div>'
+	$vcard += '<br>'
 
-			if mid($npc_rel_type[$npcID9], 1, 2) = 'ex':
-				jnl_i += 1
-				jump 'loverjournalloop'
-			end
+	!! Output
+	$vcard
 
-			if $npc_rel_type[$npcID9] = 'husband':
-				'You have been married for <<daystart - spouseVars[''marry_day'']>> days. Your husband <<$npcdesc9>> is <<$npcheight9>> and <<$npcbuild9>> with <<$npchair9>> hair. <<$npcdesc9>> is usually wearing <<$npcClo9>>. Member <<$dick_desc9>> cock and <<$dick_girth9>>. Relationship <<npc_rel[$npcID9]>>.'
-			else
-				'Your <<$npcrelat9>> <<$npcdesc9>> is <<$npcheight9>> and <<$npcbuild9>> with <<$npchair9>> hair. <<$npcdesc9>> is usually wearing <<$npcClo9>>. Your relationship is <<npc_rel[$npcID9]>> after <<npc_dates[$npcID9]>> dates and <<daystart - npc_daygenerated[$npcID9]>> days dating.'
-			end
+	!! Start quest body construction
+	$qsteps +=	'<div width = "80%">'
+	$qsteps +=	'<div style="padding: 10px;">'
+	$qsteps +=	'<h4>🔎 Quest hints:</h4>'
+	if journal_hints = 0:
+		$qsteps +=	'<a href="exec: journal_hints = 1 & gt ''<<$loc_id>>'', ''vcard'', <<ARGS[1]>>" >Enable hints</a><font color = "red"><b> Spoilers!</b></font> '
+	else
+		$qsteps +=	$npc_quest['hints']
+		$qsteps += '<br> <br>'
+		$qsteps +=	'<a href="exec: journal_hints = 0 & gt ''<<$loc_id>>'', ''vcard'', <<ARGS[1]>>">Disable hints</a> '
+	end
+	$qsteps +=	'<br>'
+	$qsteps +=	'<h4>🧭 Quest requisites:</h4>'
+	$qsteps +=	'<p><<$npc_quest[''body'']>></p>'
+	$qsteps +=	'<br>'
+	$qsteps +=	'</div>'
+	$qsteps +=	'<div style="padding:5px; align: center;">'
+	$qsteps += 	'<center><h5>Quest History</h5></center>'
 
-			gs 'indik', '1', npc_rel[$npcID9], npc_rel[$npcID9], 100
-			'<<$ind>>'
-
-			if npc_rel[$npcID9] > 1:
-				if npc_gentle[$npcID9] = 1:
-					'<<$Xec9>> is timid and lacks confidence.'
-				elseif npc_rough[$npcID9] = 0:
-					'<<$Xec9>> has a cheerful and sociable personality.'
-				else
-					'<<$Xec9>> is short-tempered and strict.'
-				end
-			end
+	if $npc_quest['q_next'] = 'null':
+		$next_nav = 'Current Stage'
+	else
+		$next_nav = '<a href="gs ''<<$loc_id>>'', ''navigation'', ''next'' "" >Next Stage</a> <b>→</b>'
+	end
+	if $npc_quest['q_back'] = 'null':
+		$back_nav = 'Quest Start'
+	else
+		$back_nav = '<b>←</b> <a href="gs ''<<$loc_id>>'', ''navigation'', ''back'' " >Previous Stage</a> '
+	end
+	$qsteps +=	'<center><<$back_nav>> | <<$next_nav>></center>'
+	$qsteps +=	'</div>'
+	$qsteps +=	'</div>'
+	$qsteps +=	'<br>'
+	$qsteps +=	'<br>'
 
-			*nl
+	!! Output
+	$qsteps
 
-			jnl_i += 1
-			jump 'loverjournalloop'
-		end
-		killvar 'jnl_i'
-		killvar 'jnl_max_i'
+	!! Clean up
+	killvar '$vcard'
+	killvar '$qsteps'
+	killvar 'quest_id'
+	killvar '$evt_suffix'
+end
+!! Vcard Navigation bar
+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
-
-
 --- beta_journal_relationships ---------------------------------

+ 13 - 20
locations/beta_journal_work.qsrc

@@ -16,7 +16,6 @@ if $ARGS[0] = 'init':
 		gs 'emp_functions', 'gen_schedule', job_start * 2
 	end
 	!! Show any ad hoc events or contracts
-
 	if arrsize('evt_event') ! 0: gs 'emp_functions', 'disp_evt', 2
 
 	if workPTU > 2: 'You work as a teacher at the Lycée and your schedule is Monday to Saturday, teaching between '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'. Your salary is 300 <b>₽</b> per day.'
@@ -31,21 +30,19 @@ if $ARGS[0] = 'init':
 		if young_shop_work2 = 1: 'You work in the city as a store clerk at the Pussy Cats clothing store. Work starts at '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' Monday through Friday. Your salary is paid once a week on Fridays.'
 		if workFabrika = 1: 'You work as a seamstress in the factory in Pavlovsk. You work every week day and your salary is automatically transferred on the 25th of each month.'
 		if gpoliuborka > 1: 'You work part-time as a cleaner in the Pavlovsk clinic. Your schedule is from '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 21, 0, cheatVars['time_format'])+'.'
-	if workrin = 1: 'You work as a clothing saleswoman in Arthur''s tent at the market each Tuesday, Thursday and Saturday with a start time of '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'. Salary depends on sales.'
-	if maidqw = 1:
-		'You work in the Pavlovsk hotel as a maid. Your work schedule is every day from '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 19, 0, cheatVars['time_format'])+' and your salary is 250 <b>₽</b> plus tips.'
-	elseif GermanQW = 1:
-		'You can find out more about becoming a maid at the Pavlovsk hotel if you visit the manager between '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+'.'
-	end
-	if postjobQW = 2 or postjobQW = 4: 'You deliver mail for the postmaster. The work day starts each Saturday between '+func('time', 'get_time_string', 11, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+'. Salary is 450 <b>₽</b>.'
-	if strip_club['stripwork'] = 1: 'You work as a stripper at the Golden Girls strip club. No salary as you earn tips.'
-	if strip_club['stripbarwork'] = 1: 'You work as a bargirl at the Golden Girls strip club every Wednesday and Thursday from '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 3, 0, cheatVars['time_format'])+'. Salary is automatically transferred on the 25th of each month. but you can earn tips from customers.'
-	if strip_club['stripbarwork1'] = 1: 'You work as a bargirl at the Golden Girls strip club every Friday and Saturday from '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 3, 0, cheatVars['time_format'])+'. Salary is automatically transferred on the 25th of each month, but you can earn tips from customers.'
-	if film > 0: 'You work as a pornographic actress under the name <<$pfname>>.'
-	if bumtolik = 4: 'You have been asked to help the homeless at the Mercy Clinic in the city industrial region.'
-	if bumtolik >= 5: 'You volunteer at the Mercy Clinic in the city industrial region and work with the homeless. Working hours are from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+' on Saturday and Sunday.'
-
-	*nl
+        if workrin = 1: 'You work as a clothing saleswoman in Arthur''s tent at the market each Tuesday, Thursday and Saturday with a start time of '+func('time', 'get_time_string', 8, 0, cheatVars['time_format'])+'. Salary depends on sales.'
+      	if postjobQW = 2 or postjobQW = 4: 'You deliver mail for the postmaster. The work day starts each Saturday between '+func('time', 'get_time_string', 11, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+'. Salary is 450 <b>₽</b>.'
+	    if strip_club['stripwork'] = 1: 'You work as a stripper at the Golden Girls strip club. No salary as you earn tips.'
+	    if strip_club['stripbarwork'] = 1: 'You work as a bargirl at the Golden Girls strip club every Wednesday and Thursday from '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 3, 0, cheatVars['time_format'])+'. Salary is automatically transferred on the 25th of each month. but you can earn tips from customers.'
+	    if strip_club['stripbarwork1'] = 1: 'You work as a bargirl at the Golden Girls strip club every Friday and Saturday from '+func('time', 'get_time_string', 18, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 3, 0, cheatVars['time_format'])+'. Salary is automatically transferred on the 25th of each month, but you can earn tips from customers.'
+	    if film > 0: 'You work as a pornographic actress under the name <<$pfname>>.'
+	    if bumtolik = 4: 'You have been asked to help the homeless at the Mercy Clinic in the city industrial region.'
+	    if bumtolik >= 5: 'You volunteer at the Mercy Clinic in the city industrial region and work with the homeless. Working hours are from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+' on Saturday and Sunday.'
+        if maidqw = 1: 'You work in the Pavlovsk hotel as a maid. Your work schedule is every day from '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+' to '+func('time', 'get_time_string', 19, 0, cheatVars['time_format'])+' and your salary is 250 <b>₽</b> plus tips.'
+        elseif GermanQW = 1:
+	        'You can find out more about becoming a maid at the Pavlovsk hotel if you visit the manager between '+func('time', 'get_time_string', 12, 0, cheatVars['time_format'])+' and '+func('time', 'get_time_string', 14, 0, cheatVars['time_format'])+'.'
+	    end
+        *nl
 
 	if audition['day'] = daystart:
 		'Your audition for the role of <<$role>> is today!'
@@ -65,7 +62,6 @@ if $ARGS[0] = 'init':
 		end
 	end
 
-
 	if modelfoto['shoots'] > 0:
 		*nl
 		if modelfoto['erotic'] > modelfoto['nude'] and modelfoto['erotic'] > modelfoto['fashion'] and modelfoto['erotic'] > modelfoto['fitness'] and modelfoto['erotic'] > modelfoto['glamour'] and modelfoto['erotic'] > modelfoto['lingerie'] and modelfoto['erotic'] > modelfoto['catalog']:
@@ -110,7 +106,6 @@ if $ARGS[0] = 'init':
 		end
 	end
 
-
 	if pornstack > 0:
 		if pfilmday[0] = 0:
 			if pfilmday[1] = 0:
@@ -141,6 +136,4 @@ if $ARGS[0] = 'init':
 		end
 	end
 end
-end
-
 --- beta_journal_work ---------------------------------

+ 0 - 49
locations/city_canal.qsrc

@@ -1,49 +0,0 @@
-# city_canal
-!! Date Created: 14th May, 2024
-!! Modified date: 
-!! Version: .01 - initial release
-!! Author: Hooded Silence
-!!
-!! St Petersburg Canals
-!!
-!! Sub-location in St Petersburg for dates, boat rides and other events
-
-if $args[0] = 'init':
-    img_sel = rand(1,2)
-    if daystage = 2 or daystage = 3:
-        $setloc['StageImage'] =  'city_canals_day_<<img_sel>>'
-    else
-        $setloc['StageImage'] =  'city_canals_night_<<img_sel>>'
-    end
-    killvar img_sel
-end
-
-if $args[0] = 'content':
-    !! Main location content.
-
-    *clr & cla
-	$setloc['StageTitle'] = 'St Petersburg Canals'
-    gs 'city_canal', 'init'
-	$location_type = 'public_outdoors'
-	gs 'shortgs', 'setloc', 'city_canals', $ARGS[0]
-	gs 'stat'
-	gs 'core_library', 'stage_title'
-
-
-    'You stand gazing at the famous Canals of the North, the hustle and bustle of people on the streets against a backdrop of elegant Russian buildings. You see boatmen plying their trade on the waters below and working on their tour boats.'
-
-    !! Navigation
-
-    act 'Head to the Arts district': msg 'not implented' & gt 'city_canal', 'content'
-    act 'Take a boat trip (100)': msg 'not implented' & gt 'city_canal', 'content'
-    act 'Take the boats to Vasily Island (50)': msg 'not implented' & gt 'city_canal', 'content'
-
-end
-
-if $args[0] = 'dates':
-    !! For all date related activities.
-
-end
-
-
---- city_canal ---------------------------------

+ 46 - 3
locations/city_canals.qsrc

@@ -1,6 +1,49 @@
 # city_canals
-
+!! Date Created: 14th May, 2024
+!! Modified date:
+!! Version: .01 - initial release
 !! Author: Hooded Silence
-!! Date and meeting spot at the St Petersburg Canals
+!!
+!! St Petersburg Canals
+!!
+!! Sub-location in St Petersburg for dates, boat rides and other events
+
+if $args[0] = 'init':
+    img_sel = rand(1,2)
+    if daystage = 2 or daystage = 3:
+        $setloc['StageImage'] =  'city_canals_day_<<img_sel>>'
+    else
+        $setloc['StageImage'] =  'city_canals_night_<<img_sel>>'
+    end
+    killvar img_sel
+end
+
+if $args[0] = 'content':
+    !! Main location content.
+
+    *clr & cla
+	$setloc['StageTitle'] = 'St Petersburg Canals'
+    gs 'city_canal', 'init'
+	$location_type = 'public_outdoors'
+	gs 'shortgs', 'setloc', 'city_canals', $ARGS[0]
+	gs 'stat'
+	gs 'core_library', 'stage_title'
+
+
+    'You stand gazing at the famous Canals of the North, the hustle and bustle of people on the streets against a backdrop of elegant Russian buildings. You see boatmen plying their trade on the waters below and working on their tour boats.'
+
+    !! Navigation
+
+    act 'Head to the Arts district': msg 'not implented' & gt 'city_canal', 'content'
+    act 'Take a boat trip (100)': msg 'not implented' & gt 'city_canal', 'content'
+    act 'Take the boats to Vasily Island (50)': msg 'not implented' & gt 'city_canal', 'content'
+
+end
+
+if $args[0] = 'dates':
+    !! For all date related activities.
+
+end
+
 
---- city_canals ---------------------------------
+--- city_canals ---------------------------------

+ 2 - 3
locations/city_commcenter.qsrc

@@ -60,8 +60,8 @@ if $ARGS[0] = 'lessons':
 	'<center><b>The Vladimir Lenin community center</b></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/industrial/community/dk1.jpg"></center>'
 	*nl
-	'Vladimir Lenin is open from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' through to '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+' on weekdays, and closed on weekends.
-	 It''s available to teach essential life skills such as driving, life coaching or finding new job skills this is the place to learn. '
+	'Vladimir Lenin is open from '+func('time', 'get_time_string', 9, 0, cheatVars['time_format'])+' through to '+func('time', 'get_time_string', 17, 0, cheatVars['time_format'])+' on weekdays, and closed on weekends.'
+	'It''s available to teach essential life skills such as driving, life coaching or finding new job skills this is the place to learn. '
 	*nl
 	'<B><center>Currently available courses:</center></B>'
 	'<center>'
@@ -385,4 +385,3 @@ if $ARGS[0] = 'singingtutor':
 end
 
 --- city_commcenter ---------------------------------
-

+ 7 - 3
locations/clothing.qsrc

@@ -217,15 +217,19 @@ end
 
 if $ARGS[0] = 'qrepair':
 	*clr
-	if rand (1, 100) < 30:
+	minut += 30
+	temp_rand = rand(0, 99)
+	if temp_rand < pcs_sewng / 4:
 		mc_inventory['sewing_fabric'] -= 1
-		minut += 30
 		dynamic $ARGS[2] + '_h[<<ARGS[3]>>] += 30'
+	elseif temp_rand < pcs_sewng / 2:
+		mc_inventory['sewing_fabric'] -= 1
+		dynamic $ARGS[2] + '_h[<<ARGS[3]>>] += 15'
 	else
 		mc_inventory['sewing_fabric'] += 3
-		minut += 30
 		dynamic $ARGS[2] + '[<<ARGS[3]>>] = 0'
 	end
+	killvar 'temp_rand'
 	gt 'clothing', 'clothing_list', '<<$ward_list_store>>'
 end
 

+ 1 - 1
locations/food.qsrc

@@ -914,7 +914,7 @@ if $ARGS[0] = 'aftermeal':
 	elseif pcs_energy >= 40:
 		$mtxt = ' while you no longer feel like you are starving, you are still quite hungry - in fact, you could probably eat the same amount again and still have room for dessert.'
 	else
-		$mtxt = ' did nothing to appease your hunger, in fact, it only amde you want more.'
+		$mtxt = ' did nothing to appease your hunger, in fact, it only made you want more.'
 	end
 end
 

+ 1 - 1
locations/hourly_events.qsrc

@@ -275,7 +275,7 @@ elseif pcs_horny < 10 and (PanThinness >= 5 or BraThinness >= 5):
 end
 
 
-if $pantyworntype ! 'none' and clit_size >= 25 and pcs_horny < 60:
+if $pantyworntype ! 'none' and clit_size >= 40 and pcs_horny < 60:
 	pcs_horny += 20
 end
 

+ 1 - 0
locations/kuhrPar.qsrc

@@ -198,6 +198,7 @@ if func('homes_properties', 'can_live_here'):
 				menu_off = 1
 				breakfast_day = daystart
 				gs 'food', 'family_meals', 'breakfast'
+				gs 'food', 'aftermeal'
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/shared/food/breakfast_'+rand(0,1)+'.jpg"></center>'
 				'You enjoy a quiet breakfast by yourself. The portions were moderate and <<$mtxt>>. You accompany it with a mug of tea.'

+ 0 - 1
locations/lover.qsrc

@@ -109,7 +109,6 @@ elseif $ARGS[0] = 'remove_husband':
 elseif $ARGS[0] = 'remove_wife':
 	gs 'lover', 'remove', $wifID
 	npc_rel[$wifID] = 0
-	npc_rel_type[$wifID] = 'ex-wife'
 	$wifID = ''
 	stat['wifes_current'] -= 1
 	stat['total_lovers_current'] -= 1

+ 2 - 2
locations/lover_pref.qsrc

@@ -28,7 +28,7 @@ elseif npc_pref_values['body_tits_average'] > 0:
 elseif npc_pref_values['body_tits_big'] > 0:
 	titMin = 4
 	titMax = 5
-elseif npc_pref_values['body_tits_big'] > 0:
+elseif npc_pref_values['body_tits_huge'] > 0:
 	titMin = 6
 	titMax = 999
 end
@@ -244,7 +244,7 @@ if $ARGS[0] = 'get_piercing_pref':
 		else
 			$result = 'more'
 		end
-	elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
+	elseif npc_pref_values['cosmetics_piercings_lot'] > 0:
 		if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 			$result = 'the same amount of'
 		else

+ 1 - 1
locations/saveupdater.qsrc

@@ -3561,7 +3561,7 @@ if temp_current_save_version < 00090304:
 
 			if npc_finance[$saveupdaterVars['npcID']] = 0:
 				$npc_outfit[$saveupdaterVars['npcID']] = 'a tracksuit'
-			elseif npc_finance[$saveupdaterVars['npcID']] = 0:
+			elseif npc_finance[$saveupdaterVars['npcID']] = 1:
 				$npc_outfit[$saveupdaterVars['npcID']] = 'jeans and a ' + iif(npc_gender[$saveupdaterVars['npcID']]=0, 'sweater', 'blouse')
 			else
 				$npc_outfit[$saveupdaterVars['npcID']] = 'an expensive ' + iif(npc_gender[$saveupdaterVars['npcID']]=0, 'suit', 'dress')

+ 4 - 1
locations/wardrobe.qsrc

@@ -609,7 +609,10 @@ if $ARGS[0] = 'default_entry_wear':
 		cla & *clr
 		'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/niko/nikoev/school/strip/strip2.jpg"></center>'
 		'As you go to pull your <<$def_clothing_name[default_entry]>> outfit out of your wardrobe you remember you don''t own that piece of clothing anymore. Maybe you should buy it again? Guess you will have to find something else to wear.'
-		act 'Return': gt 'wardrobe', $wloc
+		act 'Return':
+			gs 'clothing', 'strip'
+			gt 'wardrobe', $wloc
+		end
 	!! strength of clothing is less than or equal to 0
 	elseif dyneval('RESULT = <<$temp1>>_h[<<temp2>>]') <= 0 and $temp1 ! 'nude':
 		cla & *clr