Browse Source

Merge remote-tracking branch 'Steuchs_bug_hunt/QSRC2TW'

Kevin_Smarts 3 months ago
parent
commit
fca0e5692a

File diff suppressed because it is too large
+ 233 - 155
locations/Cheatmenu_din.qsrc


+ 1 - 1
locations/_menu_setting.qsrc

@@ -1,7 +1,7 @@
 # $menu_setting
 # $menu_setting
 
 
 gs 'Cheatmenu_din'
 gs 'Cheatmenu_din'
-dynamic $cheatmenu['setting']
+gs 'Cheatmenu_din', 'setting'
 
 
 --- $menu_setting ---------------------------------
 --- $menu_setting ---------------------------------
 
 

+ 81 - 61
locations/din_bad.qsrc

@@ -1,6 +1,10 @@
 # din_bad
 # din_bad
 !2021/05/02
 !2021/05/02
-$mobile_check = {
+!! Dynamic code has been translated to static code for performance and savegame size reasons.
+!! The dynamic variables still exist for compatibility reasons.
+!! Whenever possible, don''t use dynamic code (use "gs 'din_bad', 'xxx'" instead of "dynamic $xxx").
+$mobile_check = "gs 'din_bad', 'mobile_check'"
+if $ARGS[0] = 'mobile_check':
 	if menu_off = 0:
 	if menu_off = 0:
 		gs 'stat'
 		gs 'stat'
 		if vladimirQW['day'] ! daystart and hour >= 15 and hour <= 17:
 		if vladimirQW['day'] ! daystart and hour >= 15 and hour <= 17:
@@ -78,9 +82,10 @@ $mobile_check = {
 
 
 		killvar 'lover_number'
 		killvar 'lover_number'
 	end
 	end
-}
+end
 
 
-$d_salf = {
+$d_salf = "gs 'din_bad', 'd_salf'"
+if $ARGS[0] = 'd_salf':
 	*clr & cla
 	*clr & cla
 	'<center><h1>Tissues</h1></center>'
 	'<center><h1>Tissues</h1></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
@@ -95,9 +100,10 @@ $d_salf = {
 	if pcs_makeup ! 1 and cosmetic_tattoo = 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & pcs_makeup = 1 & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Remove your makeup</b></a>'
 	if pcs_makeup ! 1 and cosmetic_tattoo = 0: '<a href="exec:mc_inventory[''makeup_wipes''] -= 1 & pcs_makeup = 1 & gs ''stat'' & gs ''din_bad'', ''d_bag''"><b>Remove your makeup</b></a>'
 	'<a href="exec:gs ''stat'' & gs ''din_bad'', ''d_bag''"><br><b>Put tissues away</b></a>'
 	'<a href="exec:gs ''stat'' & gs ''din_bad'', ''d_bag''"><br><b>Put tissues away</b></a>'
 	'</td></tr></table></center>'
 	'</td></tr></table></center>'
-}
-		
-$d_mouthwash =  {
+end
+
+$d_mouthwash = "gs 'din_bad', 'd_mouthwash'"
+if $ARGS[0] = 'd_mouthwash':
 	*clr & cla
 	*clr & cla
 	'<center><h1>Mouth Wash</h1></center>'
 	'<center><h1>Mouth Wash</h1></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
@@ -112,7 +118,7 @@ $d_mouthwash =  {
 	''
 	''
 	act 'Done':gs 'stat' & gs 'din_bad', 'd_bag'
 	act 'Done':gs 'stat' & gs 'din_bad', 'd_bag'
 	'</td></tr></table></center>'
 	'</td></tr></table></center>'
-}
+end
 
 
 if $ARGS[0] = 'd_bag':
 if $ARGS[0] = 'd_bag':
 	*clr & cla
 	*clr & cla
@@ -123,20 +129,20 @@ if $ARGS[0] = 'd_bag':
 	'<center><table cellspacing="0" cellpadding="20" valign="top"><tr>'
 	'<center><table cellspacing="0" cellpadding="20" valign="top"><tr>'
 	'<td cellspacing="0" cellpadding="0" valign="top">'
 	'<td cellspacing="0" cellpadding="0" valign="top">'
 	if mc_inventory['makeup_wipes'] > 0: 'You have <b><<mc_inventory[''makeup_wipes'']>></b> wet wipes left in your purse. <a href="exec:dynamic $d_salf">Use a tissue</a>'
 	if mc_inventory['makeup_wipes'] > 0: 'You have <b><<mc_inventory[''makeup_wipes'']>></b> wet wipes left in your purse. <a href="exec:dynamic $d_salf">Use a tissue</a>'
-	if mc_inventory['painkillers'] > 0 and pain['total'] > 0 and pain['killer'] = 0: 
+	if mc_inventory['painkillers'] > 0 and pain['total'] > 0 and pain['killer'] = 0:
 		'You have <b><<mc_inventory[''painkillers'']>></b> painkiller'+iif(mc_inventory['painkillers'] > 1, 's ', ' ')+'left in your purse. <a href="exec: gs ''drugs'', ''painkiller'' & gs ''din_bad'', ''d_bag''">Take One</a>'
 		'You have <b><<mc_inventory[''painkillers'']>></b> painkiller'+iif(mc_inventory['painkillers'] > 1, 's ', ' ')+'left in your purse. <a href="exec: gs ''drugs'', ''painkiller'' & gs ''din_bad'', ''d_bag''">Take One</a>'
 	elseif mc_inventory['painkillers'] > 0 and (pain['total'] = 0 or pain['killer'] > 0):
 	elseif mc_inventory['painkillers'] > 0 and (pain['total'] = 0 or pain['killer'] > 0):
 		'You have <b><<mc_inventory[''painkillers'']>></b> painkiller'+iif(mc_inventory['painkillers'] > 1, 's ', ' ')+'left in your purse.'
 		'You have <b><<mc_inventory[''painkillers'']>></b> painkiller'+iif(mc_inventory['painkillers'] > 1, 's ', ' ')+'left in your purse.'
 	end
 	end
-	if mc_inventory['mouthwash'] > 0 and (pcs_breath = 0 or cumloc[12] = 1): 
+	if mc_inventory['mouthwash'] > 0 and (pcs_breath = 0 or cumloc[12] = 1):
 		'There''s mouthwash in your purse. <b><<mc_inventory[''mouthwash'']>></b> uses remaining. <a href="exec:dynamic $d_mouthwash">Use mouthwash</a>'
 		'There''s mouthwash in your purse. <b><<mc_inventory[''mouthwash'']>></b> uses remaining. <a href="exec:dynamic $d_mouthwash">Use mouthwash</a>'
 	elseif mc_inventory['mouthwash'] > 0 and pcs_breath = 1 and cumloc[12] = 0:
 	elseif mc_inventory['mouthwash'] > 0 and pcs_breath = 1 and cumloc[12] = 0:
 		'There''s mouthwash in your purse. <b><<mc_inventory[''mouthwash'']>></b> uses remaining.'
 		'There''s mouthwash in your purse. <b><<mc_inventory[''mouthwash'']>></b> uses remaining.'
 	end
 	end
-	if mc_inventory['travel_mirror'] =  1: 
+	if mc_inventory['travel_mirror'] =  1:
 		'You have a <a href="exec: cla & gt ''mirror'', ''d_bag_mirror''">compact mirror</a> in your purse'+iif(mc_inventory['travel_makeup']  >0, ' and some portable makeup.', '.')
 		'You have a <a href="exec: cla & gt ''mirror'', ''d_bag_mirror''">compact mirror</a> in your purse'+iif(mc_inventory['travel_makeup']  >0, ' and some portable makeup.', '.')
 		if mc_inventory['lipbalm']  > 0 and pcs_lipbalm <= 0:
 		if mc_inventory['lipbalm']  > 0 and pcs_lipbalm <= 0:
-			'You can apply some <a href="exec: cls & gs ''mirror'', ''applyLipbalm'' & act ''Return'':gs ''din_bad'', ''d_bag''">lip balm</a>'			
+			'You can apply some <a href="exec: cls & gs ''mirror'', ''applyLipbalm'' & act ''Return'':gs ''din_bad'', ''d_bag''">lip balm</a>'
 		end
 		end
 	elseif mc_inventory['travel_mirror'] =  0 and mc_inventory['travel_makeup']  >0:
 	elseif mc_inventory['travel_mirror'] =  0 and mc_inventory['travel_makeup']  >0:
 		'You have some portable makeup in your purse, but you need a compact mirror to apply it.'
 		'You have some portable makeup in your purse, but you need a compact mirror to apply it.'
@@ -152,9 +158,9 @@ if $ARGS[0] = 'd_bag':
 	end
 	end
 !! Hair options
 !! Hair options
 	*nl
 	*nl
-	if (mc_inventory['travel_mirror'] =  1 or mc_inventory['comb'] =  1) and pcs_hairbsh = 0: 
+	if (mc_inventory['travel_mirror'] =  1 or mc_inventory['comb'] =  1) and pcs_hairbsh = 0:
 		'There''s a hairbrush in your purse. <a href="exec:pcs_hairbsh = 1 & gs ''stat'' & gs ''din_bad'', ''d_bag''">Brush your hair</a>'
 		'There''s a hairbrush in your purse. <a href="exec:pcs_hairbsh = 1 & gs ''stat'' & gs ''din_bad'', ''d_bag''">Brush your hair</a>'
-	elseif (mc_inventory['travel_mirror'] =  1 or mc_inventory['comb'] =  1) and pcs_hairbsh = 1: 
+	elseif (mc_inventory['travel_mirror'] =  1 or mc_inventory['comb'] =  1) and pcs_hairbsh = 1:
 		'There''s a hairbrush in your purse. Your hair doesn''t need brushing right now.'
 		'There''s a hairbrush in your purse. Your hair doesn''t need brushing right now.'
 	end
 	end
 	if pcs_hairbsh > 0 and pcs_hairlng > 80 and hbraids = 0:
 	if pcs_hairbsh > 0 and pcs_hairlng > 80 and hbraids = 0:
@@ -236,12 +242,12 @@ if $ARGS[0] = 'd_bag':
 	if mc_inventory['breastcream'] > 0:'<a href="exec: gs ''drugs'', ''breastcream'' & gs ''din_bad'', ''d_bag''">Apply breast cream.</a> You have <b><<mc_inventory[''breastcream'']>></b> cream left in your purse.'
 	if mc_inventory['breastcream'] > 0:'<a href="exec: gs ''drugs'', ''breastcream'' & gs ''din_bad'', ''d_bag''">Apply breast cream.</a> You have <b><<mc_inventory[''breastcream'']>></b> cream left in your purse.'
 	if mc_inventory['aphrodisiac'] > 0:'<a href="exec: gs ''drugs'', ''aphrodisiac'' & gs ''din_bad'', ''d_bag'' & *pl $drugVars[''aphrodisiac_msg''] & *pl $min_arousal_msg & killvar ''$min_arousal_msg''">Chew aphrodisiac gum.</a> You have <b><<mc_inventory[''aphrodisiac'']>></b> gum left in your purse.'
 	if mc_inventory['aphrodisiac'] > 0:'<a href="exec: gs ''drugs'', ''aphrodisiac'' & gs ''din_bad'', ''d_bag'' & *pl $drugVars[''aphrodisiac_msg''] & *pl $min_arousal_msg & killvar ''$min_arousal_msg''">Chew aphrodisiac gum.</a> You have <b><<mc_inventory[''aphrodisiac'']>></b> gum left in your purse.'
 
 
-	if mc_inventory['refill_bottle_water'] = 4 and mc_inventory['refill_bottle'] >= 1: 
+	if mc_inventory['refill_bottle_water'] = 4 and mc_inventory['refill_bottle'] >= 1:
 		'You carry your sports water bottle in your purse. It''s still completely full. <a href="exec: mc_inventory[''refill_bottle_water''] = 3 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 		'You carry your sports water bottle in your purse. It''s still completely full. <a href="exec: mc_inventory[''refill_bottle_water''] = 3 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 	elseif mc_inventory['refill_bottle_water'] = 3 and mc_inventory['refill_bottle'] >= 1:
 	elseif mc_inventory['refill_bottle_water'] = 3 and mc_inventory['refill_bottle'] >= 1:
 		'You carry your sports water bottle in your purse. It''s almost full. <a href="exec: mc_inventory[''refill_bottle_water''] = 2 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 		'You carry your sports water bottle in your purse. It''s almost full. <a href="exec: mc_inventory[''refill_bottle_water''] = 2 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 	elseif mc_inventory['refill_bottle_water'] = 2 and mc_inventory['refill_bottle'] >= 1:
 	elseif mc_inventory['refill_bottle_water'] = 2 and mc_inventory['refill_bottle'] >= 1:
-		'You carry your sports water bottle in your purse. It''s half full. <a href="exec: mc_inventory[''refill_bottle_water''] = 1 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'	
+		'You carry your sports water bottle in your purse. It''s half full. <a href="exec: mc_inventory[''refill_bottle_water''] = 1 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 	elseif mc_inventory['refill_bottle_water'] = 1 and mc_inventory['refill_bottle'] >= 1:
 	elseif mc_inventory['refill_bottle_water'] = 1 and mc_inventory['refill_bottle'] >= 1:
 		'You carry your sports water bottle in your purse. It''s almost empty. <a href="exec: mc_inventory[''refill_bottle_water''] = 0 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 		'You carry your sports water bottle in your purse. It''s almost empty. <a href="exec: mc_inventory[''refill_bottle_water''] = 0 & pcs_hydra += 75 & cumspclnt = 2 & gs ''cum_cleanup'' & gs ''stat'' & gs ''din_bad'', ''d_bag''">Drink</a>'
 	elseif mc_inventory['refill_bottle_water'] = 0 and mc_inventory['refill_bottle'] >= 1:
 	elseif mc_inventory['refill_bottle_water'] = 0 and mc_inventory['refill_bottle'] >= 1:
@@ -268,7 +274,8 @@ if $ARGS[0] = 'd_bag':
 	'</td></tr></table></center>'
 	'</td></tr></table></center>'
 end
 end
 
 
-$dinalkowin1 = {
+$dinalkowin1 = "gs 'din_bad', 'dinalkowin1'"
+if $ARGS[0] = 'dinalkowin1':
 	*clr & cla
 	*clr & cla
 	alkowine = 1
 	alkowine = 1
 	minut += 5
 	minut += 5
@@ -278,9 +285,10 @@ $dinalkowin1 = {
 	*nl
 	*nl
 	'You take the wine bottle out of your purse and slowly drink half of it. You struggle quite a lot to put the cork back before being able to make it.'
 	'You take the wine bottle out of your purse and slowly drink half of it. You struggle quite a lot to put the cork back before being able to make it.'
 	act 'Continue':gs 'din_bad', 'd_bag'
 	act 'Continue':gs 'din_bad', 'd_bag'
-}
+end
 
 
-$dinalkowin2 = {
+$dinalkowin2 = "gs 'din_bad', 'dinalkowin2'"
+if $ARGS[0] = 'dinalkowin2':
 	*clr & cla
 	*clr & cla
 	alkowine = 0
 	alkowine = 0
 	mc_inventory['food_wine'] = 0
 	mc_inventory['food_wine'] = 0
@@ -291,9 +299,10 @@ $dinalkowin2 = {
 	*nl
 	*nl
 	'You take out the remaining half wine bottle out of your purse, slowly drinking the rest of it. As you finish you throw the empty bottle away.'
 	'You take out the remaining half wine bottle out of your purse, slowly drinking the rest of it. As you finish you throw the empty bottle away.'
 	act 'Continue':gs 'din_bad', 'd_bag'
 	act 'Continue':gs 'din_bad', 'd_bag'
-}
+end
 
 
-$din_Switch_Condom_Menu = {
+$din_Switch_Condom_Menu = "gs 'din_bad', 'din_Switch_Condom_Menu'"
+if $ARGS[0] = 'din_Switch_Condom_Menu':
 	dynamic $din_Update_Condom_Counts
 	dynamic $din_Update_Condom_Counts
 	*clr & cla
 	*clr & cla
 	'<center><h1>Condoms</h1></center>'
 	'<center><h1>Condoms</h1></center>'
@@ -318,9 +327,10 @@ $din_Switch_Condom_Menu = {
 	*nl
 	*nl
 	act 'Return':gs 'din_bad', 'd_bag'
 	act 'Return':gs 'din_bad', 'd_bag'
 	'</td></tr></table></center>'
 	'</td></tr></table></center>'
-}
+end
 
 
-$din_Table_Condom_Menu = {
+$din_Table_Condom_Menu = "gs 'din_bad', 'din_Table_Condom_Menu'"
+if $ARGS[0] = 'din_Table_Condom_Menu':
 	dynamic $din_Update_Condom_Counts
 	dynamic $din_Update_Condom_Counts
 	*clr & cla
 	*clr & cla
 	'<center><h1>Condoms</h1></center>'
 	'<center><h1>Condoms</h1></center>'
@@ -347,7 +357,7 @@ $din_Table_Condom_Menu = {
 	end
 	end
 	*nl
 	*nl
 	act 'Return':gt 'stol', 'bc'
 	act 'Return':gt 'stol', 'bc'
-}
+end
 
 
 !! Condom System
 !! Condom System
 !! mc_inventory['equipped_condoms']: Total number of condoms sveta is using (normal or damaged).
 !! mc_inventory['equipped_condoms']: Total number of condoms sveta is using (normal or damaged).
@@ -356,7 +366,8 @@ $din_Table_Condom_Menu = {
 !! preziktype: 0 - Use condoms / 1 - don''t use condoms / 2 - use damaged condoms
 !! preziktype: 0 - Use condoms / 1 - don''t use condoms / 2 - use damaged condoms
 !! to check if sveta wants to use a condom use if mc_inventory['equipped_condoms'] > 0:
 !! to check if sveta wants to use a condom use if mc_inventory['equipped_condoms'] > 0:
 
 
-$din_Do_Condom_Counts = {
+$din_Do_Condom_Counts = "gs 'din_bad', 'din_Do_Condom_Counts'"
+if $ARGS[0] = 'din_Do_Condom_Counts':
 	*clr & cla
 	*clr & cla
 	'<center><h1>Condoms</h1></center>'
 	'<center><h1>Condoms</h1></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
@@ -399,9 +410,10 @@ $din_Do_Condom_Counts = {
 		dynamic $din_Table_Condom_Menu
 		dynamic $din_Table_Condom_Menu
 	end
 	end
 	'</td></tr></table></center>'
 	'</td></tr></table></center>'
-}
+end
 
 
-$din_Update_Condom_Counts = {
+$din_Update_Condom_Counts = "gs 'din_bad', 'din_Update_Condom_Counts'"
+if $ARGS[0] = 'din_Update_Condom_Counts':
 	if mc_inventory['equipped_condoms'] + mc_inventory['normal_condoms'] + mc_inventory['sabotaged_condoms'] > 0: prezikmsg = 1
 	if mc_inventory['equipped_condoms'] + mc_inventory['normal_condoms'] + mc_inventory['sabotaged_condoms'] > 0: prezikmsg = 1
 	if preziktype = 0:
 	if preziktype = 0:
 		if mc_inventory['normal_condoms'] > 0:
 		if mc_inventory['normal_condoms'] > 0:
@@ -437,9 +449,10 @@ $din_Update_Condom_Counts = {
 			preziktype = 0
 			preziktype = 0
 		end
 		end
 	end
 	end
-}
+end
 
 
-$d_tabletkied = {
+$d_tabletkied = "gs 'din_bad', 'd_tabletkied'"
+if $ARGS[0] = 'd_tabletkied':
 	*clr & cla
 	*clr & cla
 	'<center><h1>Birth Control</h1></center>'
 	'<center><h1>Birth Control</h1></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
 	'<center><img <<$set_imgh>> src="<<FUNC(''$purse_image'',	$currentpursetype, currentpursenumber)>>"></center>'
@@ -450,7 +463,7 @@ $d_tabletkied = {
 		if tabletkiday < daystart: '<a href="exec:dynamic $d_tabletkieda, 1 & dynamic $d_tabletkied">Take the birth control pill now.</a>'
 		if tabletkiday < daystart: '<a href="exec:dynamic $d_tabletkieda, 1 & dynamic $d_tabletkied">Take the birth control pill now.</a>'
 
 
 		if tabletkicheck = 0:
 		if tabletkicheck = 0:
-			if birth_control['remind_hour'] = 0: 
+			if birth_control['remind_hour'] = 0:
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Set a reminder to take your birth control pills.</a>'
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Set a reminder to take your birth control pills.</a>'
 			else
 			else
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Change your birth control reminder.</a>'
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Change your birth control reminder.</a>'
@@ -474,9 +487,10 @@ $d_tabletkied = {
 	end
 	end
 	act 'Return':gs 'din_bad', 'd_bag'
 	act 'Return':gs 'din_bad', 'd_bag'
 	'</td></tr></table></center>'
 	'</td></tr></table></center>'
-}
+end
 
 
-$d_tabletkiedt = {
+$d_tabletkiedt = "gs 'din_bad', 'd_tabletkiedt'"
+if $ARGS[0] = 'd_tabletkiedt':
 	*clr & cla
 	*clr & cla
 	'<center><h1>Birth Control</h1></center>'
 	'<center><h1>Birth Control</h1></center>'
 	if mc_inventory['desk'] = 0:
 	if mc_inventory['desk'] = 0:
@@ -488,9 +502,9 @@ $d_tabletkiedt = {
 	tabloc = 1
 	tabloc = 1
 	if thinkpreg = 0 and knowpreg = 0:
 	if thinkpreg = 0 and knowpreg = 0:
 		if tabletkiday < daystart: '<a href="exec:*clr & dynamic $d_tabletkieda, 1 & dynamic $d_tabletkiedt">Take the birth control pill now.</a>'
 		if tabletkiday < daystart: '<a href="exec:*clr & dynamic $d_tabletkieda, 1 & dynamic $d_tabletkiedt">Take the birth control pill now.</a>'
-		
+
 		if tabletkicheck = 0:
 		if tabletkicheck = 0:
-			if birth_control['remind_hour'] = 0: 
+			if birth_control['remind_hour'] = 0:
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Set a reminder to take your birth control pills.</a>'
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Set a reminder to take your birth control pills.</a>'
 			else
 			else
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Change your birth control reminder.</a>'
 				'<a href="exec:gs ''din_bad'', ''set_bc_reminder''">Change your birth control reminder.</a>'
@@ -504,9 +518,10 @@ $d_tabletkiedt = {
 	'<a href="exec:*clr & dynamic $d_tabletkieda, 4">Examine the birth control pills.</a>'
 	'<a href="exec:*clr & dynamic $d_tabletkieda, 4">Examine the birth control pills.</a>'
 	if tabletkioddk = 1: '<a href="exec:*clr & dynamic $d_tabletkieda, 5 & dynamic $d_tabletkiedt">Dump the strange pills.</a>'
 	if tabletkioddk = 1: '<a href="exec:*clr & dynamic $d_tabletkieda, 5 & dynamic $d_tabletkiedt">Dump the strange pills.</a>'
 	act 'Return':gt 'stol', 'bc'
 	act 'Return':gt 'stol', 'bc'
-}
+end
 
 
-$d_tabletkieda = {
+$d_tabletkieda = "gs 'din_bad', 'd_tabletkieda'"
+if $ARGS[0] = 'd_tabletkieda':
 	if ARGS[0] = 1:
 	if ARGS[0] = 1:
 		tabletkipd += tabletkipt
 		tabletkipd += tabletkipt
 		if tabletkiday ! daystart:
 		if tabletkiday ! daystart:
@@ -561,7 +576,7 @@ $d_tabletkieda = {
 		tabletkioddp = 0
 		tabletkioddp = 0
 		gs 'stat'
 		gs 'stat'
 	end
 	end
-	
+
 	if mc_inventory['contraceptive_pill'] = 0 and pillsleft[ptype] = 0:
 	if mc_inventory['contraceptive_pill'] = 0 and pillsleft[ptype] = 0:
 		msg 'That was your last birth control pill. You need to buy some more.'
 		msg 'That was your last birth control pill. You need to buy some more.'
 	end
 	end
@@ -571,7 +586,7 @@ $d_tabletkieda = {
 	else
 	else
 		act 'Return':gt 'stol', 'bc'
 		act 'Return':gt 'stol', 'bc'
 	end
 	end
-}
+end
 
 
 if $ARGS[0] = 'set_auto_bc':
 if $ARGS[0] = 'set_auto_bc':
 	:invalid_auto_bc_loop
 	:invalid_auto_bc_loop
@@ -616,7 +631,8 @@ if $ARGS[0] = 'turn_off_bc_reminder':
 	end
 	end
 end
 end
 
 
-$d_cycreport_choice = {
+$d_cycreport_choice = "gs 'din_bad', 'd_cycreport_choice'"
+if $ARGS[0] = 'd_cycreport_choice':
 	*clr & cla
 	*clr & cla
 	'<center><h1>Fertility Cycle</h1></center>'
 	'<center><h1>Fertility Cycle</h1></center>'
 	'<center><table cellspacing="0" cellpadding="20" valign="top"><tr>'
 	'<center><table cellspacing="0" cellpadding="20" valign="top"><tr>'
@@ -663,9 +679,10 @@ $d_cycreport_choice = {
 	end
 	end
 	act 'Exit':gs 'stat' & gt $loc, $loc_arg
 	act 'Exit':gs 'stat' & gt $loc, $loc_arg
 	'</td></tr></table></center>'
 	'</td></tr></table></center>'
-}
+end
 
 
-$d_cycreport_actor = {
+$d_cycreport_actor = "gs 'din_bad', 'd_cycreport_actor'"
+if $ARGS[0] = 'd_cycreport_actor':
 	!! Svetlana has decided she is not pregnant
 	!! Svetlana has decided she is not pregnant
 	if ARGS[0] = 1:
 	if ARGS[0] = 1:
 		$cycreport_txt = 'It has been <<temp>> days since you last remember having a period.'
 		$cycreport_txt = 'It has been <<temp>> days since you last remember having a period.'
@@ -686,7 +703,7 @@ $d_cycreport_actor = {
 		dynamic $d_cycreport_update
 		dynamic $d_cycreport_update
 		gs 'stat'
 		gs 'stat'
 		dynamic $d_cycreport_choice
 		dynamic $d_cycreport_choice
-	!! Svetlana is Menstrating. 
+	!! Svetlana is Menstrating.
 	elseif ARGS[0] = 3:
 	elseif ARGS[0] = 3:
 		thinkpreg = 0
 		thinkpreg = 0
 		denypreg = 0
 		denypreg = 0
@@ -694,7 +711,7 @@ $d_cycreport_actor = {
 		dynamic $d_cycreport_update
 		dynamic $d_cycreport_update
 		gs 'stat'
 		gs 'stat'
 		dynamic $d_cycreport_choice
 		dynamic $d_cycreport_choice
-	!! Svetlana is remembering her last period. 
+	!! Svetlana is remembering her last period.
 	elseif ARGS[0] = 4:
 	elseif ARGS[0] = 4:
 		thinkpreg = 0
 		thinkpreg = 0
 		denypreg = 0
 		denypreg = 0
@@ -737,7 +754,7 @@ $d_cycreport_actor = {
 		'<center><h1>Fertility Cycle</h1></center>'
 		'<center><h1>Fertility Cycle</h1></center>'
 		'<center><table cellspacing="0" cellpadding="20" valign="top"><tr>'
 		'<center><table cellspacing="0" cellpadding="20" valign="top"><tr>'
 		'<td width="500" cellspacing="0" cellpadding="0" valign="top">'
 		'<td width="500" cellspacing="0" cellpadding="0" valign="top">'
-		
+
 		potfather_temp[1] = arrsize('$wombpotfath')
 		potfather_temp[1] = arrsize('$wombpotfath')
 		if potfather_temp[1] > 0:
 		if potfather_temp[1] > 0:
 			potfather_counter = 0
 			potfather_counter = 0
@@ -754,16 +771,16 @@ $d_cycreport_actor = {
 		else
 		else
 			'There are no potential fathers.'
 			'There are no potential fathers.'
 		end
 		end
-		
+
 		killvar 'potfather_counter'
 		killvar 'potfather_counter'
 		killvar 'potfather_temp'
 		killvar 'potfather_temp'
-		
+
 		'<br>  <a href="exec:dynamic $d_cycreport_choice & gs ''stat''">Accept</a>'
 		'<br>  <a href="exec:dynamic $d_cycreport_choice & gs ''stat''">Accept</a>'
 		'</td></tr></table></center>'
 		'</td></tr></table></center>'
-		
+
 		act 'Return':dynamic $d_cycreport_choice
 		act 'Return':dynamic $d_cycreport_choice
 		act 'Exit':gs 'stat' & gt $loc, $loc_arg
 		act 'Exit':gs 'stat' & gt $loc, $loc_arg
-		
+
 		!! This is the old code that was broken, keeping it for now (julzor)
 		!! This is the old code that was broken, keeping it for now (julzor)
 		!! {
 		!! {
 		tempmax = arrsize('$cumfthname')-1
 		tempmax = arrsize('$cumfthname')-1
@@ -807,9 +824,10 @@ $d_cycreport_actor = {
 		$cycreport_txt = 'You are currently recovering from childbirth. You gave birth on <<monthkid[temp]>> / <<daykid[temp]>> / <<yearkid[temp]>>.'
 		$cycreport_txt = 'You are currently recovering from childbirth. You gave birth on <<monthkid[temp]>> / <<daykid[temp]>> / <<yearkid[temp]>>.'
 		gs 'stat'
 		gs 'stat'
 	end
 	end
-}
+end
 
 
-$d_cycreport_update = {
+$d_cycreport_update = "gs 'din_bad', 'd_cycreport_update'"
+if $ARGS[0] = 'd_cycreport_update':
 	killvar 'temp'
 	killvar 'temp'
 	if thinkpreg = 1 or knowpreg = 1: dynamic $d_cycreport_upduedate
 	if thinkpreg = 1 or knowpreg = 1: dynamic $d_cycreport_upduedate
 	!! Vagblood in a future update to account for babydamage and miscarrages.
 	!! Vagblood in a future update to account for babydamage and miscarrages.
@@ -840,7 +858,7 @@ $d_cycreport_update = {
 				elseif birth_control['implant_status'] > 1 and pillcon2 >= 30000:
 				elseif birth_control['implant_status'] > 1 and pillcon2 >= 30000:
 					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=green>Your implant protects you from getting pregnant.</font>'
 					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=green>Your implant protects you from getting pregnant.</font>'
 				elseif birth_control['implant_status'] > 1 and pillcon2 < 30000:
 				elseif birth_control['implant_status'] > 1 and pillcon2 < 30000:
-					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=red>Your implant is not yet effective.</font>'				
+					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=red>Your implant is not yet effective.</font>'
 				elseif pillcon2 > 0 and birth_control['think_safe'] = 1:
 				elseif pillcon2 > 0 and birth_control['think_safe'] = 1:
 					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=green>You are currently on the birth control pill.</font>'
 					$cycreport_txt = 'It has been <<temp[1]>> days since the start of your last period. <font color=green>You are currently on the birth control pill.</font>'
 				elseif pillcon2 > 0 and ((FocH > (Foch_Max - 96)) or ovulate > 0) and birth_control['think_safe'] = 0 and birth_control['using_bc'] > 0:
 				elseif pillcon2 > 0 and ((FocH > (Foch_Max - 96)) or ovulate > 0) and birth_control['think_safe'] = 0 and birth_control['using_bc'] > 0:
@@ -929,24 +947,25 @@ $d_cycreport_update = {
 			end
 			end
 		end
 		end
 	end
 	end
-}
+end
 
 
 
 
-$d_cycreport_upduedate = {
+$d_cycreport_upduedate = "gs 'din_bad', 'd_cycreport_upduedate'"
+if $ARGS[0] = 'd_cycreport_upduedate':
 	!! implant_calc: Calculation of an implantation date in the uterus (Average is 5 days after ovulation)
 	!! implant_calc: Calculation of an implantation date in the uterus (Average is 5 days after ovulation)
 	implant_calc = daystart - lastovulation + 5
 	implant_calc = daystart - lastovulation + 5
-	
+
 	!! Human gastation period: 280 days
 	!! Human gastation period: 280 days
 	gastation_time = 280 / (1 + cheatVars['preg_speed'])
 	gastation_time = 280 / (1 + cheatVars['preg_speed'])
-	
+
 	temp = gastation_time - implant_calc
 	temp = gastation_time - implant_calc
 	pregdueday = day
 	pregdueday = day
 	pregduemonth = month
 	pregduemonth = month
 	pregdueyear = year
 	pregdueyear = year
-	
+
 	temp += pregdueday
 	temp += pregdueday
 	pregdueday = 0
 	pregdueday = 0
-	
+
 	:pregduedateloop
 	:pregduedateloop
 	if pregduemonth = 1 and temp > 31:
 	if pregduemonth = 1 and temp > 31:
 		pregduemonth += 1
 		pregduemonth += 1
@@ -1017,9 +1036,10 @@ $d_cycreport_upduedate = {
 		$pregduedate += 'Dec'
 		$pregduedate += 'Dec'
 	end
 	end
 	$pregduedate += ' <<pregdueyear>>'
 	$pregduedate += ' <<pregdueyear>>'
-}
+end
 
 
-$d_pregmovement = {
+$d_pregmovement = "gs 'din_bad', 'd_pregmovement'"
+if $ARGS[0] = 'd_pregmovement':
 	if denypreg = 0 and pregchem > 0:
 	if denypreg = 0 and pregchem > 0:
 		if thinkpreg > 0 and knowpreg = 0:
 		if thinkpreg > 0 and knowpreg = 0:
 			knowpreg = 1
 			knowpreg = 1
@@ -1077,7 +1097,7 @@ $d_pregmovement = {
 			'You feel movement deep inside you. It''s probably just gas.'
 			'You feel movement deep inside you. It''s probably just gas.'
 		end
 		end
 	end
 	end
-}
+end
 
 
 
 
 if $ARGS[0] = 'takepill':
 if $ARGS[0] = 'takepill':
@@ -1143,7 +1163,7 @@ if $ARGS[0] = 'takepill':
 			pcs_skin += 1
 			pcs_skin += 1
 			EggRH += rand(10,80)
 			EggRH += rand(10,80)
 		end
 		end
-		
+
 		!!pillcon2 is the ideal state, PC considers this the believed pillcon value
 		!!pillcon2 is the ideal state, PC considers this the believed pillcon value
 		pillcon2 += ((pillcon2 + 15000) / 25) + 4000
 		pillcon2 += ((pillcon2 + 15000) / 25) + 4000
 		if pillcon2 > 40000: pillcon2 = 40000
 		if pillcon2 > 40000: pillcon2 = 40000
@@ -1164,7 +1184,7 @@ if $ARGS[0] = 'quick_takepill':
 		pcs_health -= 1
 		pcs_health -= 1
 	end
 	end
 	pilldaychk = daystart
 	pilldaychk = daystart
-	
+
 	if birth_control['message_skip'] ! daystart:
 	if birth_control['message_skip'] ! daystart:
 		if mc_inventory['contraceptive_pill'] = 0 and pillsleft[ptype] = 0:
 		if mc_inventory['contraceptive_pill'] = 0 and pillsleft[ptype] = 0:
 			msg 'That was your last birth control pill. You need to buy some more.'
 			msg 'That was your last birth control pill. You need to buy some more.'

+ 102 - 85
locations/din_pav.qsrc

@@ -1,17 +1,22 @@
 # din_pav
 # din_pav
 !!2021/04/15
 !!2021/04/15
-$pavserjil = {
+!! Dynamic code has been translated to static code for performance and savegame size reasons.
+!! The dynamic variables still exist for compatibility reasons.
+!! Whenever possible, don''t use dynamic code (use "gs 'din_pav', 'xxx'" instead of "dynamic $xxx").
+$pavserjil = "gs 'din_pav', 'pavserjil'"
+if $ARGS[0] = 'pavserjil':
 	menu_off = 1
 	menu_off = 1
 	*clr & cla
 	*clr & cla
 	gs'stat'
 	gs'stat'
-	
+
 	set pavserhom = 1
 	set pavserhom = 1
 	'<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil2.jpg" ></center>'
 	'<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil2.jpg" ></center>'
 	'It is not clear why you you are drawn to him, but you can barely take you eyes off him.'
 	'It is not clear why you you are drawn to him, but you can barely take you eyes off him.'
 	act 'Overnutsya': gt 'pushkin_parks', 'lug'
 	act 'Overnutsya': gt 'pushkin_parks', 'lug'
-}
+end
 
 
-$koncepodos = {
+$koncepodos = "gs 'din_pav', 'koncepodos'"
+if $ARGS[0] = 'koncepodos':
 	*clr & cla
 	*clr & cla
 	menu_off = 1
 	menu_off = 1
 	gs'stat'
 	gs'stat'
@@ -29,11 +34,12 @@ $koncepodos = {
             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/koncepod.jpg" ></center>'
             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/koncepod.jpg" ></center>'
             '"Kids, on the wall too, writing stuff everywhere" The old man says gesticulating.'
             '"Kids, on the wall too, writing stuff everywhere" The old man says gesticulating.'
             act'Leave': gt 'dvor'
             act'Leave': gt 'dvor'
-        end              
+        end
     end
     end
-}
+end
 
 
-$koncepodos1 = {
+$koncepodos1 = "gs 'din_pav', 'koncepodos1'"
+if $ARGS[0] = 'koncepodos1':
 	*clr & cla
 	*clr & cla
 	menu_off = 1
 	menu_off = 1
     minut += 5
     minut += 5
@@ -56,25 +62,27 @@ $koncepodos1 = {
     'You instinctively jerk your hand away at the touch of his dry, cold, almost deathly fingers. The concierge grabs your arm and breaks into a mad smile, revealing dark, rotten teeth.'
     'You instinctively jerk your hand away at the touch of his dry, cold, almost deathly fingers. The concierge grabs your arm and breaks into a mad smile, revealing dark, rotten teeth.'
     '"So young and pretty...."'
     '"So young and pretty...."'
     'You break his grip and run toward the stairs, hearing his laughter behind you. Echoing up the stairwell, it sounds like a thousand doors creaking.'
     'You break his grip and run toward the stairs, hearing his laughter behind you. Echoing up the stairwell, it sounds like a thousand doors creaking.'
-    
+
     act 'Get out of here fast':pavserhom = 3 & psiha = 1 & gt'dvor'
     act 'Get out of here fast':pavserhom = 3 & psiha = 1 & gt'dvor'
     act 'View apartment':gt 'koncepod1', 'krr2x1'
     act 'View apartment':gt 'koncepod1', 'krr2x1'
-}
+end
 
 
-$pavser = {  
+$pavser = "gs 'din_pav', 'pavser'"
+if $ARGS[0] = 'pavser':
 	menu_off = 1
 	menu_off = 1
     if pcs_hairbsh = 1:pcs_hairbsh = 0
     if pcs_hairbsh = 1:pcs_hairbsh = 0
 	pcs_mood -= 10
 	pcs_mood -= 10
     gs'stat'
     gs'stat'
-    'For some reason when you enter the room, you decide to bow before graduating  and bow, after graduating from a deep curtsy.' 
+    'For some reason when you enter the room, you decide to bow before graduating  and bow, after graduating from a deep curtsy.'
     'Shaking head, swept... hair... colors, came to the middle of the room and do a pirouette - slowly-slowly raised your hands in exaltation.'
     'Shaking head, swept... hair... colors, came to the middle of the room and do a pirouette - slowly-slowly raised your hands in exaltation.'
     'You blinded sunny <<$pcs_nickname>> rained out of the window and the shade seemed to get closer.'
     'You blinded sunny <<$pcs_nickname>> rained out of the window and the shade seemed to get closer.'
     'And then you notice him: a man sitting behind the couch against the wall, his face buried in his knees. You cry out and involuntarily raise your hand to your mouth, bit, fingers.'
     'And then you notice him: a man sitting behind the couch against the wall, his face buried in his knees. You cry out and involuntarily raise your hand to your mouth, bit, fingers.'
 	act 'Look closer':dynamic $pavser1
 	act 'Look closer':dynamic $pavser1
 	act 'Run away':pavserhom = 3 & psiha = 1 & gt'dvor'
 	act 'Run away':pavserhom = 3 & psiha = 1 & gt'dvor'
-}
+end
 
 
-$pavser2 = {
+$pavser2 = "gs 'din_pav', 'pavser2'"
+if $ARGS[0] = 'pavser2':
 	menu_off = 1
 	menu_off = 1
     psi1day = 0
     psi1day = 0
     'Closing the gray door, you''re prepared to see, well, anything. You find yourself in a terribly narrow and gloomy hallway.'
     'Closing the gray door, you''re prepared to see, well, anything. You find yourself in a terribly narrow and gloomy hallway.'
@@ -85,10 +93,11 @@ $pavser2 = {
     '"Maybe not just that," you think. "Maybe someone died here."'
     '"Maybe not just that," you think. "Maybe someone died here."'
     '"No," you reassure yourself, "that''s just my imagination running wild."'
     '"No," you reassure yourself, "that''s just my imagination running wild."'
     'Still with all these thoughts still spinning in your head, you hesitate, unsure whether you want to further look around.'
     'Still with all these thoughts still spinning in your head, you hesitate, unsure whether you want to further look around.'
-    act 'Leave':pavserhom = 3 & psiha = 1 & gt'dvor' 
-}
+    act 'Leave':pavserhom = 3 & psiha = 1 & gt'dvor'
+end
 
 
-$pavser1 = {
+$pavser1 = "gs 'din_pav', 'pavser1'"
+if $ARGS[0] = 'pavser1':
 	*clr & cla
 	*clr & cla
 	menu_off = 1
 	menu_off = 1
     psiho = 1
     psiho = 1
@@ -97,7 +106,7 @@ $pavser1 = {
     '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
     '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
     'Before you, appeared no longer a young man. From him it emanated a savage force and evidence were the dimensions of his body, barely distinguishable from-a beige raincoat and crumpled.'
     'Before you, appeared no longer a young man. From him it emanated a savage force and evidence were the dimensions of his body, barely distinguishable from-a beige raincoat and crumpled.'
     act 'Who are you?':
     act 'Who are you?':
-        *clr & cla        
+        *clr & cla
         pcs_mana -= 30
         pcs_mana -= 30
         gs'stat'
         gs'stat'
 		'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
 		'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
@@ -105,7 +114,7 @@ $pavser1 = {
         'You exhale, slowly retreating to the door and trying to pull yourself together. "You scared me," you continue, trying to stop your voice from shaking. At this point, you have learned it:man in the park on the lawn - How did you get here? '
         'You exhale, slowly retreating to the door and trying to pull yourself together. "You scared me," you continue, trying to stop your voice from shaking. At this point, you have learned it:man in the park on the lawn - How did you get here? '
         '"Through the door" he replies, his voice was deep and sonorous. You stopped at the door. Paul did not move; you have only to leave, but why-then hesitated.'
         '"Through the door" he replies, his voice was deep and sonorous. You stopped at the door. Paul did not move; you have only to leave, but why-then hesitated.'
         act 'I''m a fool Fool...':
         act 'I''m a fool Fool...':
-            *clr & cla            
+            *clr & cla
             gs'stat'
             gs'stat'
 			'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
 			'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
             '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
             '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
@@ -127,7 +136,7 @@ $pavser1 = {
                     *clr & cla
                     *clr & cla
                     pcs_hairbsh = 1
                     pcs_hairbsh = 1
                     set psihb = 0
                     set psihb = 0
-                    
+
                     gs'stat'
                     gs'stat'
 					'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
 					'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
                     '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
                     '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
@@ -137,14 +146,15 @@ $pavser1 = {
                     'Paul calmly turned without answering and began farming inspection apartments.'
                     'Paul calmly turned without answering and began farming inspection apartments.'
                     'You both went to the bedroom, pretending, the apartment takes you more, than meeting.'
                     'You both went to the bedroom, pretending, the apartment takes you more, than meeting.'
                     act 'In the bedroom':gt 'koncepod1', 'bdr2x'
                     act 'In the bedroom':gt 'koncepod1', 'bdr2x'
- 
+
                 end
                 end
             end
             end
         end
         end
     end
     end
-}
+end
 
 
-$pavser3 = {
+$pavser3 = "gs 'din_pav', 'pavser3'"
+if $ARGS[0] = 'pavser3':
 	menu_off = 1
 	menu_off = 1
     'Condition Bedrooms more you plunged into a stupor. Quite ragged room with awkward standing in the midst of her perfectly preserved ancient, plush ottoman.'
     'Condition Bedrooms more you plunged into a stupor. Quite ragged room with awkward standing in the midst of her perfectly preserved ancient, plush ottoman.'
     act '- The chair would look good in a hall, - You dropped it withheld.':
     act '- The chair would look good in a hall, - You dropped it withheld.':
@@ -172,25 +182,26 @@ $pavser3 = {
             psihc = 0
             psihc = 0
             gt 'koncepod1', 'krr2x'
             gt 'koncepod1', 'krr2x'
         end
         end
-    end   
-}
+    end
+end
 
 
-$pavser4 = {
+$pavser4 = "gs 'din_pav', 'pavser4'"
+if $ARGS[0] = 'pavser4':
     *clr & cla
     *clr & cla
 	menu_off = 1
 	menu_off = 1
     pcs_mana = pcs_mana + 60
     pcs_mana = pcs_mana + 60
     piss = piss + 1
     piss = piss + 1
-    
+
     gs'stat'
     gs'stat'
     '<center><img <<$set_imgh>> src="images/locations/shared/bathroom/sittingtoilet.jpg" ></center>'
     '<center><img <<$set_imgh>> src="images/locations/shared/bathroom/sittingtoilet.jpg" ></center>'
     'You went into the corridor and headed to the bathroom, waiting, he will move after, but by the sound of steps realized, that he stayed in the kitchen. Scattered look you ran about the bathroom, listening to, he wanders in the other end of the apartment. The room was bathed in light, which fell through the glass window with glass.'
     'You went into the corridor and headed to the bathroom, waiting, he will move after, but by the sound of steps realized, that he stayed in the kitchen. Scattered look you ran about the bathroom, listening to, he wanders in the other end of the apartment. The room was bathed in light, which fell through the glass window with glass.'
     'Finishing the old shell in harmony with frame oval mirror. You stayed in front of him to check his hair, Do not gone cosmetics.'
     'Finishing the old shell in harmony with frame oval mirror. You stayed in front of him to check his hair, Do not gone cosmetics.'
     'Then, instantly deciding, she lifted her skirt, he pulled down her panties and sat on the toilet. Do you understand, resultinge herself slo, not only locked, but not even closing the bathroom door, and that he may at any time enter, but this-then you and excited. You become terribly, that it can catch in this position, you, However, I, to make it happen.'
     'Then, instantly deciding, she lifted her skirt, he pulled down her panties and sat on the toilet. Do you understand, resultinge herself slo, not only locked, but not even closing the bathroom door, and that he may at any time enter, but this-then you and excited. You become terribly, that it can catch in this position, you, However, I, to make it happen.'
     'You were terribly, that it can catch in this position, you, However, I, to make it happen.'
     'You were terribly, that it can catch in this position, you, However, I, to make it happen.'
-	
+
 	gs 'arousal', 'foreplay', 5, 'exhibitionism'
 	gs 'arousal', 'foreplay', 5, 'exhibitionism'
 	gs 'stat'
 	gs 'stat'
-	
+
     if pcs_horny >= 95:
     if pcs_horny >= 95:
         act 'Touch yourself':
         act 'Touch yourself':
             *clr & cla
             *clr & cla
@@ -200,10 +211,10 @@ $pavser4 = {
             '<center><video autoplay loop src="images/locations/pushkin/vacanthouse/11684312.mp4"></video></center>'
             '<center><video autoplay loop src="images/locations/pushkin/vacanthouse/11684312.mp4"></video></center>'
             'You koknulis his wet with excitement and urine pisichki.'
             'You koknulis his wet with excitement and urine pisichki.'
             'From that sensation, that you''re caught for such indecent occupation, you further podstёguet. And you barely contained, not to publish and sound.'
             'From that sensation, that you''re caught for such indecent occupation, you further podstёguet. And you barely contained, not to publish and sound.'
-			
+
 			gs 'arousal', 'clit_finger', 5, 'masturbate'
 			gs 'arousal', 'clit_finger', 5, 'masturbate'
 			gs 'stat'
 			gs 'stat'
-			
+
             act 'Continue':
             act 'Continue':
                 *clr & cla
                 *clr & cla
 				pcs_mood = 100
 				pcs_mood = 100
@@ -213,18 +224,19 @@ $pavser4 = {
 				gs 'arousal', 'clit_finger', 5, 'masturbate'
 				gs 'arousal', 'clit_finger', 5, 'masturbate'
 				gs 'arousal', 'end'
 				gs 'arousal', 'end'
 				gs 'stat'
 				gs 'stat'
-				
+
                 act 'Freshen up':gt 'koncepod1', 'vnr2x'
                 act 'Freshen up':gt 'koncepod1', 'vnr2x'
             end
             end
         end
         end
     end
     end
-    
+
     act 'Further':psihc = 1 & gt 'koncepod1', 'vnr2x'
     act 'Further':psihc = 1 & gt 'koncepod1', 'vnr2x'
-    
 
 
-}
 
 
-$pavser5 = {
+end
+
+$pavser5 = "gs 'din_pav', 'pavser5'"
+if $ARGS[0] = 'pavser5':
 	menu_off = 1
 	menu_off = 1
     'Putishestvuya the apartment you shocked assorted odtelki and its absence in the premises nekotoryz, And then there''s the kitchen. Well, at least clean.'
     'Putishestvuya the apartment you shocked assorted odtelki and its absence in the premises nekotoryz, And then there''s the kitchen. Well, at least clean.'
     act 'Further':
     act 'Further':
@@ -244,29 +256,31 @@ $pavser5 = {
             '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
             '<center><img <<$set_imgh>> src="images/characters/pushkin/pavser/pavserjil.jpg" ></center>'
             'Coming out of his reverie, Did you catch yourself at his greedy, scrutiny. Looking hunter looking at the prey. Closer, cheeky suggestive feeling, that you just-that stripped and fucked.'
             'Coming out of his reverie, Did you catch yourself at his greedy, scrutiny. Looking hunter looking at the prey. Closer, cheeky suggestive feeling, that you just-that stripped and fucked.'
             'You felt his eyes every cell of the body and chuvstvvuya awkward and at the same time as the-excitedly, if enjoy, that he have a little-just demeaning.'
             'You felt his eyes every cell of the body and chuvstvvuya awkward and at the same time as the-excitedly, if enjoy, that he have a little-just demeaning.'
-			
+
 			gs 'arousal', 'vaginal', 10, 'sub'
 			gs 'arousal', 'vaginal', 10, 'sub'
 			gs 'stat'
 			gs 'stat'
-			
+
             act 'In the corridor':gt 'koncepod1', 'krr2x'
             act 'In the corridor':gt 'koncepod1', 'krr2x'
         end
         end
     end
     end
-}
+end
 
 
 
 
-$pavser6 = {
+$pavser6 = "gs 'din_pav', 'pavser6'"
+if $ARGS[0] = 'pavser6':
 	menu_off = 1
 	menu_off = 1
     psihb = 1
     psihb = 1
     psiho = 3
     psiho = 3
-    
+
     'You are returned to the kitchen and missed, looking away from each other''s eyes, broke up into different rooms.'
     'You are returned to the kitchen and missed, looking away from each other''s eyes, broke up into different rooms.'
     'Both understanding - tightening the inspection of the apartment, you increase the likelihood, between you that-something will happen.'
     'Both understanding - tightening the inspection of the apartment, you increase the likelihood, between you that-something will happen.'
     'None of you especially do not wish to, and does not aspire to this, nevertheless he or, or you do not want to deviate from the chosen line of conduct.'
     'None of you especially do not wish to, and does not aspire to this, nevertheless he or, or you do not want to deviate from the chosen line of conduct.'
     'As if someone-it painted for you all the movements and you feel like breaking the spirit of the play or destroy the atmosphere of predestination, arose in the walls of the house.'
     'As if someone-it painted for you all the movements and you feel like breaking the spirit of the play or destroy the atmosphere of predestination, arose in the walls of the house.'
     *nl
     *nl
-}
+end
 
 
-$pavser7 = {
+$pavser7 = "gs 'din_pav', 'pavser7'"
+if $ARGS[0] = 'pavser7':
 	menu_off = 1
 	menu_off = 1
     'Then the phone rang inappropriate.'
     'Then the phone rang inappropriate.'
     act 'Answer':
     act 'Answer':
@@ -280,9 +294,10 @@ $pavser7 = {
         *nl
         *nl
         act 'Listen tube':dynamic $pavser8
         act 'Listen tube':dynamic $pavser8
     end
     end
-}
+end
 
 
-$pavser8 = {
+$pavser8 = "gs 'din_pav', 'pavser8'"
+if $ARGS[0] = 'pavser8':
 	*clr & cla
 	*clr & cla
 	menu_off = 1
 	menu_off = 1
 	'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
 	'<center><img <<$set_imgh>> src="'+FUNC('$face_image')+'"></center>'
@@ -316,23 +331,24 @@ $pavser8 = {
         'You oyknula, but the words never sounded, they drowned in your own mind.'
         'You oyknula, but the words never sounded, they drowned in your own mind.'
         act 'Oh':dynamic $pavser9
         act 'Oh':dynamic $pavser9
     end
     end
-}
+end
 
 
-$pavser9 = {
+$pavser9 = "gs 'din_pav', 'pavser9'"
+if $ARGS[0] = 'pavser9':
     *clr & cla
     *clr & cla
 	menu_off = 1
 	menu_off = 1
     pcs_mood -= 40
     pcs_mood -= 40
     gs'stat'
     gs'stat'
-    
+
     '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/kiss.jpg" ></center>'
     '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/kiss.jpg" ></center>'
     'He took in the palm of your face and stared with a kiss on the lips. '
     'He took in the palm of your face and stared with a kiss on the lips. '
     'In the living room all round stopped, Only in the sunlight dancing motes; dead silence broken only by their convulsive breathing.'
     'In the living room all round stopped, Only in the sunlight dancing motes; dead silence broken only by their convulsive breathing.'
     'Suddenly he picked you up and carried her across the living room to the partition window, I suffered with such ease, if you were a small child. You hugged his neck, feels the same mighty and strong, like a tree trunk, and began stroking the muscles, which sparkled on his back under the cloak of a-the smooth material.'
     'Suddenly he picked you up and carried her across the living room to the partition window, I suffered with such ease, if you were a small child. You hugged his neck, feels the same mighty and strong, like a tree trunk, and began stroking the muscles, which sparkled on his back under the cloak of a-the smooth material.'
     'From it was easy sour smell - sweat and then-else, that you could not recognize, - The smell of a man, male, none of your guys do not know the groin, and that smell strongly excites you.'
     'From it was easy sour smell - sweat and then-else, that you could not recognize, - The smell of a man, male, none of your guys do not know the groin, and that smell strongly excites you.'
-    
+
 	gs 'arousal', 'kiss', 5, 'sub'
 	gs 'arousal', 'kiss', 5, 'sub'
 	gs 'stat'
 	gs 'stat'
-	
+
 	act 'Further':
 	act 'Further':
         *clr & cla
         *clr & cla
         gs'stat'
         gs'stat'
@@ -342,27 +358,27 @@ $pavser9 = {
         ''
         ''
 		gs 'arousal', 'foreplay', 5, 'sub'
 		gs 'arousal', 'foreplay', 5, 'sub'
 		gs 'stat'
 		gs 'stat'
-		
+
         act 'Further':
         act 'Further':
             *clr & cla
             *clr & cla
             gs'stat'
             gs'stat'
             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/02.jpg" ></center>'
             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/02.jpg" ></center>'
             'Picked up the chest, palms and thumbs had nipples. The rough skin on the balls of his fingers made her rush of desire, you clung to him.'
             'Picked up the chest, palms and thumbs had nipples. The rough skin on the balls of his fingers made her rush of desire, you clung to him.'
             'At the end-all he bared your breasts and hot lips touched your nipples and wild heat sladotnogo madness began to rise from the bottom to the top of your body.'
             'At the end-all he bared your breasts and hot lips touched your nipples and wild heat sladotnogo madness began to rise from the bottom to the top of your body.'
-			
+
 			gs 'arousal', 'foreplay', 5, 'sub'
 			gs 'arousal', 'foreplay', 5, 'sub'
 			gs 'stat'
 			gs 'stat'
-		
+
             act 'Further':
             act 'Further':
                 *clr & cla
                 *clr & cla
                 gs'stat'
                 gs'stat'
                 '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/03.jpg" ></center>'
                 '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/03.jpg" ></center>'
                 'You neprozvolno cozero his pants and felt beneath the solid barrel member and frantically began to take off his pants while his cock did not seem near your face.'
                 'You neprozvolno cozero his pants and felt beneath the solid barrel member and frantically began to take off his pants while his cock did not seem near your face.'
                 'You smelled in the face of a mixture of smells: sour sweat and urine zpah...'
                 'You smelled in the face of a mixture of smells: sour sweat and urine zpah...'
-                
+
 				gs 'arousal', 'foreplay', 5, 'sub'
 				gs 'arousal', 'foreplay', 5, 'sub'
 				gs 'stat'
 				gs 'stat'
-		
+
                 act 'Further':
                 act 'Further':
                     *clr & cla
                     *clr & cla
 			        pcs_mana = manamax
 			        pcs_mana = manamax
@@ -371,20 +387,20 @@ $pavser9 = {
                     'And while your brain is trying to digest what is happening, and you understand in general how do you take...'
                     'And while your brain is trying to digest what is happening, and you understand in general how do you take...'
                     'You stand in front of him on his knees, I began to caress the tongue of its elastic trunk.'
                     'You stand in front of him on his knees, I began to caress the tongue of its elastic trunk.'
                     ''
                     ''
-					
+
 					gs 'arousal', 'hj', 5, 'sub'
 					gs 'arousal', 'hj', 5, 'sub'
 					gs 'stat'
 					gs 'stat'
-					
+
                     act 'Further':
                     act 'Further':
                         *clr & cla
                         *clr & cla
                         gs'stat'
                         gs'stat'
                         '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/04.jpg" ></center>'
                         '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/04.jpg" ></center>'
                         'You were amazed to, what''s happening. You stand in front of a completely unfamiliar man half-naked, on his knees and his mouth furiously pleasuring, caressing his head tongue.'
                         'You were amazed to, what''s happening. You stand in front of a completely unfamiliar man half-naked, on his knees and his mouth furiously pleasuring, caressing his head tongue.'
                         ''
                         ''
-						
+
 						gs 'arousal', 'bj', 5, 'sub'
 						gs 'arousal', 'bj', 5, 'sub'
 						gs 'stat'
 						gs 'stat'
-						
+
                         act 'Continue':
                         act 'Continue':
                             *clr & cla
                             *clr & cla
 			                pcs_mana = manamax
 			                pcs_mana = manamax
@@ -393,11 +409,11 @@ $pavser9 = {
                             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/06.jpg" ></center>'
                             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/06.jpg" ></center>'
                             'And the passion rolls, like the waves on the shore peschanny, raising you all to a new level of bliss and you have not thought about the true test of what is happening, its causes, you become important to the investigation.'
                             'And the passion rolls, like the waves on the shore peschanny, raising you all to a new level of bliss and you have not thought about the true test of what is happening, its causes, you become important to the investigation.'
                             'And the result proved the presence of his grave, Hard, strong and rough fingers in their clitoris...'
                             'And the result proved the presence of his grave, Hard, strong and rough fingers in their clitoris...'
-							
+
 							$orgasm_or = 'no'
 							$orgasm_or = 'no'
 							gs 'arousal', 'vaginal_finger', 5, 'sub'
 							gs 'arousal', 'vaginal_finger', 5, 'sub'
 							gs 'stat'
 							gs 'stat'
-							
+
                             act 'Continue':
                             act 'Continue':
                                 *clr & cla
                                 *clr & cla
                                 gs'stat'
                                 gs'stat'
@@ -408,20 +424,20 @@ $pavser9 = {
                                 '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/07.jpg" ></center>'
                                 '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/07.jpg" ></center>'
                                 'Your consciousness fades in and out in the wild passionate dance...'
                                 'Your consciousness fades in and out in the wild passionate dance...'
                                 'He thrusts in you wildly, roughly, furiously. You feel like you are being skewered by the force and depth of his cock...'
                                 'He thrusts in you wildly, roughly, furiously. You feel like you are being skewered by the force and depth of his cock...'
-								
+
 								gs 'arousal', 'vaginal', 10, 'sub'
 								gs 'arousal', 'vaginal', 10, 'sub'
 								gs 'stat'
 								gs 'stat'
-								
+
                                 act 'Continue':
                                 act 'Continue':
                                     *clr & cla
                                     *clr & cla
 			                        pcs_mana = manamax
 			                        pcs_mana = manamax
                                     gs'stat'
                                     gs'stat'
                                     '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/08.jpg" ></center>'
                                     '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/08.jpg" ></center>'
                                     '...'
                                     '...'
-									
+
 									$orgasm_or = 'yes'
 									$orgasm_or = 'yes'
 									gs 'stat'
 									gs 'stat'
-									
+
                                     act 'Continue':
                                     act 'Continue':
                                         *clr & cla
                                         *clr & cla
                                         gs'stat'
                                         gs'stat'
@@ -429,10 +445,10 @@ $pavser9 = {
                                         'Another enlightened it, when he put you back on the chair and raise your legs voshol in you and you feel a sharp pain in the uterus of a member of the strike...'
                                         'Another enlightened it, when he put you back on the chair and raise your legs voshol in you and you feel a sharp pain in the uterus of a member of the strike...'
                                         'Oh my pain...'
                                         'Oh my pain...'
                                         'But the sharp pain was replaced, as sharp blast of bliss and a new wave washed over you...'
                                         'But the sharp pain was replaced, as sharp blast of bliss and a new wave washed over you...'
-										
+
 										gs 'arousal', 'anal', 10, 'sub'
 										gs 'arousal', 'anal', 10, 'sub'
 										gs 'stat'
 										gs 'stat'
-										
+
                                         act 'Continue':
                                         act 'Continue':
                                             *clr & cla
                                             *clr & cla
                                             orgasm += 1
                                             orgasm += 1
@@ -440,10 +456,10 @@ $pavser9 = {
 											pcs_mood = 100
 											pcs_mood = 100
                                             gs'stat'
                                             gs'stat'
                                             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/10.jpg" ></center>'
                                             '<center><img <<$set_imgh>> src="images/locations/pushkin/vacanthouse/sex/10.jpg" ></center>'
-											
+
 											$orgasm_or = 'yes'
 											$orgasm_or = 'yes'
 											gs 'stat'
 											gs 'stat'
-									
+
                                             act 'Continue':
                                             act 'Continue':
                                                 *clr & cla
                                                 *clr & cla
                                                 gs'stat'
                                                 gs'stat'
@@ -451,22 +467,23 @@ $pavser9 = {
                                                 'Woke. The next wave rolled back and you feel at home on his stomach warm, with a strange smell, though vaguely familiar, sperm.'
                                                 'Woke. The next wave rolled back and you feel at home on his stomach warm, with a strange smell, though vaguely familiar, sperm.'
                                                 'You fell exhausted on the floor and you have some piece while lying close to each other. You''re lying and embracing in the eerie silence only hear your breathing.'
                                                 'You fell exhausted on the floor and you have some piece while lying close to each other. You''re lying and embracing in the eerie silence only hear your breathing.'
                                                 'He was silent and you are grateful to him for that'
                                                 'He was silent and you are grateful to him for that'
-												
+
                                                 act 'Rollback':dynamic $pavser10
                                                 act 'Rollback':dynamic $pavser10
-                                            end    
-                                        end        
-                                    end        
-                                end        
-                            end    
-                        end        
-                    end            
-                end                
-            end                    
-        end                
-    end           
-}
-
-$pavser10 = {
+                                            end
+                                        end
+                                    end
+                                end
+                            end
+                        end
+                    end
+                end
+            end
+        end
+    end
+end
+
+$pavser10 = "gs 'din_pav', 'pavser10'"
+if $ARGS[0] = 'pavser10':
 	*clr & cla
 	*clr & cla
 	menu_off = 1
 	menu_off = 1
     psi1day = 1
     psi1day = 1
@@ -482,10 +499,10 @@ $pavser10 = {
 		if $clothingworntype = 'nude':gs 'clothing', 'wear_last_worn'
 		if $clothingworntype = 'nude':gs 'clothing', 'wear_last_worn'
 		gs 'underwear', 'wear'
 		gs 'underwear', 'wear'
 		gt 'koncepod1', 'str2x'
 		gt 'koncepod1', 'str2x'
-		
+
 		gs 'arousal', 'end'
 		gs 'arousal', 'end'
 		gs 'stat'
 		gs 'stat'
 	end
 	end
-}
+end
 --- din_pav ---------------------------------
 --- din_pav ---------------------------------
 
 

+ 106 - 68
locations/din_van.qsrc

@@ -1,5 +1,10 @@
 # din_van
 # din_van
 !2021/04/26
 !2021/04/26
+
+!! Dynamic code has been translated to static code for performance and savegame size reasons.
+!! The dynamic variables still exist for compatibility reasons.
+!! Whenever possible, don''t use dynamic code (use "gs 'din_van', 'xxx'" instead of "dynamic $xxx").
+
 !!pcs_leghair = leg hair 0 - 3 for smooth <= 6 for stubble <= 9 for light after that hairy
 !!pcs_leghair = leg hair 0 - 3 for smooth <= 6 for stubble <= 9 for light after that hairy
 !!pcs_pubes = pubes 0 - 3 for smooth <= 10 for stubble <= 20 for light hair after that its hairy
 !!pcs_pubes = pubes 0 - 3 for smooth <= 10 for stubble <= 20 for light hair after that its hairy
 !!pubestyle = the style in which you have determined to shave your pubic hair
 !!pubestyle = the style in which you have determined to shave your pubic hair
@@ -12,7 +17,24 @@ razors_to_use['all']   = min(3, max(1, (pcs_leghair*4 + max(0, pcs_pubes-shave_l
 razors_to_use['pussy'] = min(2, max(1, (max(0, pcs_pubes-shave_length))/20))
 razors_to_use['pussy'] = min(2, max(1, (max(0, pcs_pubes-shave_length))/20))
 razors_to_use['legs']  = min(3, max(1, (pcs_leghair*4)/20))
 razors_to_use['legs']  = min(3, max(1, (pcs_leghair*4)/20))
 
 
-$showerdin = {
+$showerdin = "gs 'din_van', 'showerdin'"
+$bteeth = "gs 'din_van', 'bteeth'"
+$dryOff = "gs 'din_van', 'dryOff'"
+$shower = "gs 'din_van', 'shower'"
+$bath = "gs 'din_van', 'bath'"
+$SkinCare = "gs 'din_van', 'SkinCare'"
+$brit = "gs 'din_van', 'brit'"
+$tampon = "gs 'din_van', 'tampon'"
+$quickwash = "gs 'din_van', 'quickwash'"
+$wearpan = "gs 'din_van', 'wearpan'"
+$removepan = "gs 'din_van', 'removepan'"
+$publicpan = "gs 'din_van', 'publicpan'"
+$basin = "gs 'din_van', 'basin'"
+$pirManage = "gs 'din_van', 'pirManage'"
+$enema = "gs 'din_van', 'enema'"
+$toymanage = "gs 'din_van', 'toymanage'"
+$palelady = "gs 'din_van', 'palelady'"
+if $ARGS[0] = 'showerdin':
 	menu_off = 1
 	menu_off = 1
 	if hypnoAddict = 0:
 	if hypnoAddict = 0:
 		cumspclnt = 1
 		cumspclnt = 1
@@ -44,9 +66,10 @@ $showerdin = {
 			gs 'AppearanceSystem', 'UpdateBaseAppearance'
 			gs 'AppearanceSystem', 'UpdateBaseAppearance'
 		end
 		end
 	end
 	end
-}
+end
 
 
-$bteeth = {
+
+if $ARGS[0] = 'bteeth':
 	if pcs_breath ! 1 or cumloc[12] = 1:
 	if pcs_breath ! 1 or cumloc[12] = 1:
 		act 'Brush your teeth (0:03)':
 		act 'Brush your teeth (0:03)':
 			menu_off = 1
 			menu_off = 1
@@ -67,20 +90,22 @@ $bteeth = {
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
+end
 
 
-$dryOff = {
+
+if $ARGS[0] = 'dryOff':
 	act 'Get out and dry off': mirror_steam = hour & gt $loc, $loc_arg
 	act 'Get out and dry off': mirror_steam = hour & gt $loc, $loc_arg
-}
+end
 
 
-$shower = {
+
+if $ARGS[0] = 'shower':
 	act 'Take a shower (0:15)':
 	act 'Take a shower (0:15)':
 		menu_off = 1
 		menu_off = 1
 		*clr & cla
 		*clr & cla
 		minut += 15
 		minut += 15
 		if $loc = 'vanrPar' or $loc = 'tanvanr' or $loc = 'albinahome' or $loc = 'LariskaHome' or hotelmc_inventory['shampoo'] =  1: noshampoo = 1
 		if $loc = 'vanrPar' or $loc = 'tanvanr' or $loc = 'albinahome' or $loc = 'LariskaHome' or hotelmc_inventory['shampoo'] =  1: noshampoo = 1
 		noshampoo_tmp = noshampoo
 		noshampoo_tmp = noshampoo
-		dynamic $showerdin
+		gs 'din_van', 'showerdin'
 
 
 		'<center><video autoplay loop src="images/shared/home/bathroom/dush.mp4"></center>'
 		'<center><video autoplay loop src="images/shared/home/bathroom/dush.mp4"></center>'
 		*nl
 		*nl
@@ -142,7 +167,7 @@ $shower = {
 			lactation['pc_aware'] = 1
 			lactation['pc_aware'] = 1
 		end
 		end
 
 
-		dynamic $dryOff
+		gs 'din_van', 'dryOff'
 		if rapeday = daystart and rape_shower ! daystart:
 		if rapeday = daystart and rape_shower ! daystart:
 			act'Cry (react to rape)':
 			act'Cry (react to rape)':
 				cla & *clr
 				cla & *clr
@@ -158,7 +183,7 @@ $shower = {
 				'You grab the soap again and scrub yourself again, but it still feels like something is there, coating your skin. You scrub and scrub and scrub but it just won''t go away until you finally cry out, throwing it into the corner. Tremors begin coursing through your body and you slowly sink down onto the shower floor, where you remain, sobbing while the water continues raining down on you.'
 				'You grab the soap again and scrub yourself again, but it still feels like something is there, coating your skin. You scrub and scrub and scrub but it just won''t go away until you finally cry out, throwing it into the corner. Tremors begin coursing through your body and you slowly sink down onto the shower floor, where you remain, sobbing while the water continues raining down on you.'
 
 
 
 
-				dynamic $dryOff
+				gs 'din_van', 'dryOff'
 			end
 			end
 		elseif pcs_horny >= 40:
 		elseif pcs_horny >= 40:
 			act 'Use the showerhead on your pussy':
 			act 'Use the showerhead on your pussy':
@@ -186,7 +211,7 @@ $shower = {
 					gs 'cum_cleanup'
 					gs 'cum_cleanup'
 				end
 				end
 
 
-				dynamic $dryOff
+				gs 'din_van', 'dryOff'
 			end
 			end
 		end
 		end
 
 
@@ -197,7 +222,7 @@ $shower = {
 		act 'Take a selfie':
 		act 'Take a selfie':
 			gs 'telefon', 'Phone_selfie_image_bathing', 'shower'
 			gs 'telefon', 'Phone_selfie_image_bathing', 'shower'
 		end
 		end
-		dynamic $brit
+		gs 'din_van', 'brit'
 
 
 		if vanr_lock = 0 and $loc = 'vanrPar':
 		if vanr_lock = 0 and $loc = 'vanrPar':
 			*nl
 			*nl
@@ -207,9 +232,10 @@ $shower = {
 		end
 		end
 	end
 	end
 	killvar 'noshampoo_tmp'
 	killvar 'noshampoo_tmp'
-}
+end
 
 
-$bath = {
+
+if $ARGS[0] = 'bath':
 	act 'Soak in the bath (0:30)':
 	act 'Soak in the bath (0:30)':
 		menu_off = 1
 		menu_off = 1
 		*clr & cla
 		*clr & cla
@@ -219,7 +245,7 @@ $bath = {
 		pcs_mood += 20
 		pcs_mood += 20
 		if $loc = 'vanrPar' or $loc = 'tanvanr' or $loc = 'LariskaHome' or hotelmc_inventory['shampoo'] =  1: noshampoo = 1
 		if $loc = 'vanrPar' or $loc = 'tanvanr' or $loc = 'LariskaHome' or hotelmc_inventory['shampoo'] =  1: noshampoo = 1
 		noshampoo_tmp = noshampoo
 		noshampoo_tmp = noshampoo
-		dynamic $showerdin
+		gs 'din_van', 'showerdin'
 
 
 		gs 'body', 'SkinGain', 'Bath'
 		gs 'body', 'SkinGain', 'Bath'
 
 
@@ -262,7 +288,7 @@ $bath = {
 			act 'Examine yourself closer while drying off and getting dressed...': gt 'din_van', 'buffpick'
 			act 'Examine yourself closer while drying off and getting dressed...': gt 'din_van', 'buffpick'
 		end
 		end
 
 
-		dynamic $dryOff
+		gs 'din_van', 'dryOff'
 
 
 		act '"Wash" your pussy':
 		act '"Wash" your pussy':
 			menu_off = 1
 			menu_off = 1
@@ -283,7 +309,7 @@ $bath = {
 			$orgasm_or = 'yes'
 			$orgasm_or = 'yes'
 			gs 'arousal', 'clit_vibe', 10, 'masturbate'
 			gs 'arousal', 'clit_vibe', 10, 'masturbate'
 			gs 'arousal', 'end'
 			gs 'arousal', 'end'
-			dynamic $dryOff
+			gs 'din_van', 'dryOff'
 		end
 		end
 
 
 
 
@@ -293,12 +319,13 @@ $bath = {
 			gs 'telefon', 'Phone_selfie_image_bathing', 'bath'
 			gs 'telefon', 'Phone_selfie_image_bathing', 'bath'
 		end
 		end
 
 
-		dynamic $brit
+		gs 'din_van', 'brit'
 	end
 	end
 	killvar 'noshampoo_tmp'
 	killvar 'noshampoo_tmp'
-}
+end
+
 
 
-$SkinCare = {
+if $ARGS[0] = 'SkinCare':
 	if mc_inventory['moisturiser']  > 0 and moisturiser_time <= totminut:
 	if mc_inventory['moisturiser']  > 0 and moisturiser_time <= totminut:
 		act 'Apply Moisturizer (0:05)':
 		act 'Apply Moisturizer (0:05)':
 			mc_inventory['moisturiser'] -= 1
 			mc_inventory['moisturiser'] -= 1
@@ -316,9 +343,10 @@ $SkinCare = {
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
+end
+
 
 
-$brit = {
+if $ARGS[0] = 'brit':
 	if lashair ! 1 and pcs_shave['free_razor'] + mc_inventory['razor'] > 0:
 	if lashair ! 1 and pcs_shave['free_razor'] + mc_inventory['razor'] > 0:
 		!! if shave_menu = 1: legs and pussy
 		!! if shave_menu = 1: legs and pussy
 		if shave_menu = 1 and mc_inventory['razor'] >= razors_to_use['all']:
 		if shave_menu = 1 and mc_inventory['razor'] >= razors_to_use['all']:
@@ -404,7 +432,7 @@ $brit = {
 							else
 							else
 								mc_inventory['razor'] -= razors_to_use['all']
 								mc_inventory['razor'] -= razors_to_use['all']
 							end
 							end
-							dynamic $dryOff
+							gs 'din_van', 'dryOff'
 							gs 'selfplay', 'bathtub_dildo_check'
 							gs 'selfplay', 'bathtub_dildo_check'
 							gs 'selfplay', 'shower_dildo_check'
 							gs 'selfplay', 'shower_dildo_check'
 						end
 						end
@@ -486,7 +514,7 @@ $brit = {
 						'<<$shave_txt1>>'
 						'<<$shave_txt1>>'
 						*nl
 						*nl
 						'<<$shave_txt2>>'
 						'<<$shave_txt2>>'
-						dynamic $dryOff
+						gs 'din_van', 'dryOff'
 						gs 'selfplay', 'bathtub_dildo_check'
 						gs 'selfplay', 'bathtub_dildo_check'
 						gs 'selfplay', 'shower_dildo_check'
 						gs 'selfplay', 'shower_dildo_check'
 					end
 					end
@@ -522,16 +550,17 @@ $brit = {
 					else
 					else
 						'You lather your legs up with some soapy water and shave your legs. After a few swift movements, your legs are smooth as silk. The feeling of your smooth legs turns you on a little.'
 						'You lather your legs up with some soapy water and shave your legs. After a few swift movements, your legs are smooth as silk. The feeling of your smooth legs turns you on a little.'
 					end
 					end
-					dynamic $dryOff
+					gs 'din_van', 'dryOff'
 					gs 'selfplay', 'bathtub_dildo_check'
 					gs 'selfplay', 'bathtub_dildo_check'
 					gs 'selfplay', 'shower_dildo_check'
 					gs 'selfplay', 'shower_dildo_check'
 				end
 				end
 			end
 			end
 		end
 		end
 	end
 	end
-}
+end
+
 
 
-$tampon =  {
+if $ARGS[0] = 'tampon':
 	if mc_inventory['sanitary_pads'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0 and $pantyworntype ! 'none':
 	if mc_inventory['sanitary_pads'] > 0 and (mesec > 0 or (placebopart > 0 and pillcon < 40000)) and isprok = 0 and isprokp = 0 and knowpreg = 0 and $pantyworntype ! 'none':
 		act 'Use a sanitary pad (0:02)':
 		act 'Use a sanitary pad (0:02)':
 			menu_off = 1
 			menu_off = 1
@@ -560,9 +589,10 @@ $tampon =  {
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 			act 'Finish':menu_off = 0 & gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
+end
+
 
 
-$quickwash = {
+if $ARGS[0] = 'quickwash':
 	if cumsumbod-cumsumvag-cumsumass > 0:
 	if cumsumbod-cumsumvag-cumsumass > 0:
 		act 'Quick wash (0:15)':
 		act 'Quick wash (0:15)':
 			menu_off = 1
 			menu_off = 1
@@ -600,9 +630,10 @@ $quickwash = {
 		end
 		end
 	end
 	end
 	gs 'din_van', 'pblc_pee'
 	gs 'din_van', 'pblc_pee'
-}
+end
+
 
 
-$wearpan = {
+if $ARGS[0] = 'wearpan':
 	if $pantyworntype = 'none':
 	if $pantyworntype = 'none':
 		act 'Wear panties (0:02)':
 		act 'Wear panties (0:02)':
 			minut += 2
 			minut += 2
@@ -618,9 +649,10 @@ $wearpan = {
 			gt 'bras', 'view_bra_list', 'bathroom'
 			gt 'bras', 'view_bra_list', 'bathroom'
 		end
 		end
 	end
 	end
-}
+end
 
 
-$removepan = {
+
+if $ARGS[0] = 'removepan':
 	if $pantyworntype ! 'none' and $braworntype ! 'none':
 	if $pantyworntype ! 'none' and $braworntype ! 'none':
 		act 'Remove underwear (0:02)':
 		act 'Remove underwear (0:02)':
 			minut += 2
 			minut += 2
@@ -647,11 +679,12 @@ $removepan = {
 			gt $loc, $loc_arg
 			gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
+end
 
 
 !! Meant for non-home bathrooms. If you have a bag stashes the underwear in there and enables putting it back on later.
 !! Meant for non-home bathrooms. If you have a bag stashes the underwear in there and enables putting it back on later.
 !! purse_____ variables get wiped in ''wardrobe'', ''clothing'', ''panties'' and ''bra'' so there isn''t a chance of duplication
 !! purse_____ variables get wiped in ''wardrobe'', ''clothing'', ''panties'' and ''bra'' so there isn''t a chance of duplication
-$publicpan = {
+
+if $ARGS[0] = 'publicpan':
 	if $pantyworntype ! 'none' and $braworntype ! 'none':
 	if $pantyworntype ! 'none' and $braworntype ! 'none':
 		act 'Remove underwear'+iif(bag = 1, ' and put it in your purse ',' ') + '(0:02)':
 		act 'Remove underwear'+iif(bag = 1, ' and put it in your purse ',' ') + '(0:02)':
 			minut += 2
 			minut += 2
@@ -720,7 +753,7 @@ $publicpan = {
 	end
 	end
 
 
 	!! Changing into a different outfit for prostitution
 	!! Changing into a different outfit for prostitution
-	if prostitute['active'] = 1 and ARGS[1] ! 'no_prost' and $loc ! 'gschool_break':
+	if prostitute['active'] = 1 and $ARGS[1] ! 'no_prost' and $loc ! 'gschool_break':
 		gs 'prostitution_functions', 'work_clothes'
 		gs 'prostitution_functions', 'work_clothes'
 		if  prostitute['work_clothes'] = 0 and prostitute['outfit_is_set']:
 		if  prostitute['work_clothes'] = 0 and prostitute['outfit_is_set']:
 			act 'Change into prostitute outfit': gt 'prostitution_functions', 'change_to_work', 'restroom'
 			act 'Change into prostitute outfit': gt 'prostitution_functions', 'change_to_work', 'restroom'
@@ -728,9 +761,10 @@ $publicpan = {
 			act 'Change into your regular clothes': gt 'prostitution_functions', 'change_back', 'restroom'
 			act 'Change into your regular clothes': gt 'prostitution_functions', 'change_back', 'restroom'
 		end
 		end
 	end
 	end
-}
+end
 
 
-$basin = {
+
+if $ARGS[0] = 'basin':
 	if cumloc[12] = 1:
 	if cumloc[12] = 1:
 		act 'Rinse your mouth (0:05)':
 		act 'Rinse your mouth (0:05)':
 			menu_off = 1
 			menu_off = 1
@@ -929,13 +963,15 @@ $basin = {
 			act 'Continue': menu_off = 0 & gt $loc, $loc_arg
 			act 'Continue': menu_off = 0 & gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
+end
 
 
-$pirManage = {
+
+if $ARGS[0] = 'pirManage':
 	gt 'piercing_management', 'main'
 	gt 'piercing_management', 'main'
-}
+end
 
 
-$enema = {
+
+if $ARGS[0] = 'enema':
 	if mc_inventory['enema_kit'] = 1 and (klismaday ! daystart or arrpos('sparrloc', 3) > 0):
 	if mc_inventory['enema_kit'] = 1 and (klismaday ! daystart or arrpos('sparrloc', 3) > 0):
 		act 'Give yourself an enema (0:05)':
 		act 'Give yourself an enema (0:05)':
 			menu_off = 1
 			menu_off = 1
@@ -970,9 +1006,10 @@ $enema = {
 			end
 			end
 		end
 		end
 	end
 	end
-}
+end
 
 
-$toymanage = {
+
+if $ARGS[0] = 'toymanage':
 	if mc_inventory['buttplug'] = 1 and analplugin = 1:
 	if mc_inventory['buttplug'] = 1 and analplugin = 1:
 		act 'Remove your butt plug (0:05)':
 		act 'Remove your butt plug (0:05)':
 			menu_off = 1
 			menu_off = 1
@@ -1043,9 +1080,10 @@ $toymanage = {
 			act 'Finish':gt $loc, $loc_arg
 			act 'Finish':gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
+end
 
 
-$palelady = {
+
+if $ARGS[0] = 'palelady':
 	if mc_inventory['cocaine'] > 0:'You have enough cocaine for <<mc_inventory[''cocaine'']>> ' + iif(mc_inventory['cocaine'] = 1, ' line.', ' lines.')
 	if mc_inventory['cocaine'] > 0:'You have enough cocaine for <<mc_inventory[''cocaine'']>> ' + iif(mc_inventory['cocaine'] = 1, ' line.', ' lines.')
 
 
 	if mc_inventory['cocaine'] > 0 and drugVars['cocaine_day'] ! daystart:
 	if mc_inventory['cocaine'] > 0 and drugVars['cocaine_day'] ! daystart:
@@ -1065,7 +1103,7 @@ $palelady = {
 			act 'Continue': menu_off = 0 & gt $loc, $loc_arg
 			act 'Continue': menu_off = 0 & gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
+end
 
 
 if $ARGS[0] = 'private':
 if $ARGS[0] = 'private':
 	menu_off = 0
 	menu_off = 0
@@ -1108,29 +1146,29 @@ if $ARGS[0] = 'private':
 
 
 
 
 	if $ARGS[1] = 'hotelroom':
 	if $ARGS[1] = 'hotelroom':
-		dynamic $shower
-		if $ARGS[2] = 'bath': dynamic $bath
+		gs 'din_van', 'shower'
+		if $ARGS[2] = 'bath': gs 'din_van', 'bath'
 	elseif $loc = 'vanrPar':
 	elseif $loc = 'vanrPar':
 		'You can use your parent''s shampoo.'
 		'You can use your parent''s shampoo.'
-		dynamic $shower
-		dynamic $bath
+		gs 'din_van', 'shower'
+		gs 'din_van', 'bath'
 	elseif $loc = 'LariskaHome':
 	elseif $loc = 'LariskaHome':
 		'You can use Lariska''s shampoo.'
 		'You can use Lariska''s shampoo.'
-		dynamic $shower
-		dynamic $bath
+		gs 'din_van', 'shower'
+		gs 'din_van', 'bath'
 	elseif $loc = 'tanvanr':
 	elseif $loc = 'tanvanr':
 		'You can use Tanya''s shampoo.'
 		'You can use Tanya''s shampoo.'
-		dynamic $shower
-		dynamic $bath
+		gs 'din_van', 'shower'
+		gs 'din_van', 'bath'
 	elseif mc_inventory['shampoo'] > 0:
 	elseif mc_inventory['shampoo'] > 0:
 		'You have enough shampoo for <b><<mc_inventory[''shampoo'']>></b> uses.'
 		'You have enough shampoo for <b><<mc_inventory[''shampoo'']>></b> uses.'
-		dynamic $shower
-		dynamic $bath
+		gs 'din_van', 'shower'
+		gs 'din_van', 'bath'
 	else
 	else
 		'<font color="red">You''ve run out of shampoo and will have to buy some more before you can wash yourself.</font>'
 		'<font color="red">You''ve run out of shampoo and will have to buy some more before you can wash yourself.</font>'
 	end
 	end
 
 
-	dynamic $SkinCare
+	gs 'din_van', 'SkinCare'
 
 
 	if mc_inventory['painkillers'] > 0:
 	if mc_inventory['painkillers'] > 0:
 		'You have <b><<mc_inventory[''painkillers'']>></b> painkiller'+iif(mc_inventory['painkillers'] > 1, 's.', '.')
 		'You have <b><<mc_inventory[''painkillers'']>></b> painkiller'+iif(mc_inventory['painkillers'] > 1, 's.', '.')
@@ -1160,7 +1198,7 @@ if $ARGS[0] = 'private':
 		'<a href="exec:gs ''drugs'', ''breastcream'' & gt $loc, $loc_arg">Apply breast cream.</a> Uses left: <<mc_inventory[''breastcream'']>>.'
 		'<a href="exec:gs ''drugs'', ''breastcream'' & gt $loc, $loc_arg">Apply breast cream.</a> Uses left: <<mc_inventory[''breastcream'']>>.'
 	end
 	end
 
 
-	if pirsA + pirsB + pirsC + pirsD + pirsE + pirsF + pirsN + pirsG > 0:'<a href="exec:*clr & cla & dynamic $pirManage">Manage your piercings</a>'
+	if pirsA + pirsB + pirsC + pirsD + pirsE + pirsF + pirsN + pirsG > 0:'<a href="exec:*clr & cla & gs ''din_van'', ''pirManage''">Manage your piercings</a>'
 
 
 	if fillimplant = 1:
 	if fillimplant = 1:
 		if siliconeBag >= 1:
 		if siliconeBag >= 1:
@@ -1171,17 +1209,17 @@ if $ARGS[0] = 'private':
 			'<a href="exec:cls & bodyVars[''bust_silicone''] -= 10 & gt $loc, $loc_arg">Drain silicone from your breast implants.</a>'
 			'<a href="exec:cls & bodyVars[''bust_silicone''] -= 10 & gt $loc, $loc_arg">Drain silicone from your breast implants.</a>'
 		end
 		end
 	end
 	end
-	dynamic $bteeth
+	gs 'din_van', 'bteeth'
 
 
-	dynamic $tampon
+	gs 'din_van', 'tampon'
 
 
 	act 'Change clothes and toys':
 	act 'Change clothes and toys':
 		cla
 		cla
 
 
 		act 'Return':menu_off = 0 & gt $loc, $loc_arg
 		act 'Return':menu_off = 0 & gt $loc, $loc_arg
 
 
-		dynamic $wearpan
-		dynamic $removepan
+		gs 'din_van', 'wearpan'
+		gs 'din_van', 'removepan'
 
 
 		if $curloc = 'vanrPar' and $clothingworntype = 'nude':
 		if $curloc = 'vanrPar' and $clothingworntype = 'nude':
 			act 'Wear clothes (0:05)':
 			act 'Wear clothes (0:05)':
@@ -1204,21 +1242,21 @@ if $ARGS[0] = 'private':
 				act 'Return': menu_off = 0 & gt $loc, $loc_arg
 				act 'Return': menu_off = 0 & gt $loc, $loc_arg
 			end
 			end
 		end
 		end
-		dynamic $toymanage
+		gs 'din_van', 'toymanage'
 	end
 	end
 
 
 	'<a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bodyVars[''bmi_desc'']>></center>''">Check weight on the scales</a>'
 	'<a href="exec:msg ''<center>Your weight is <<pcs_weight[0]>>.<<pcs_weight[1]>> kg<br>Your body mass index (BMI) is <<pcs_bmi[0]>>.<<pcs_bmi[1]>>.<br><<$bodyVars[''bmi_desc'']>></center>''">Check weight on the scales</a>'
 
 
 	gs 'din_van', 'prvt_pee'
 	gs 'din_van', 'prvt_pee'
 
 
-	dynamic $basin
+	gs 'din_van', 'basin'
 
 
-	dynamic $brit
+	gs 'din_van', 'brit'
 
 
-	dynamic $enema
+	gs 'din_van', 'enema'
 
 
 
 
-	dynamic $palelady
+	gs 'din_van', 'palelady'
 
 
 
 
 	if mc_inventory['chafing_cream'] > 0 and mosol > 0 and mosal_time <= totminut:
 	if mc_inventory['chafing_cream'] > 0 and mosol > 0 and mosal_time <= totminut:

+ 34 - 20
locations/dina.qsrc

@@ -1,6 +1,11 @@
 # dina
 # dina
 
 
-$brodila = {
+!! Dynamic code has been translated to static code for performance and savegame size reasons.
+!! The dynamic variables still exist for compatibility reasons.
+!! Whenever possible, don''t use dynamic code (use "gs 'dina', 'xxx'" instead of "dynamic $xxx").
+
+$brodila = "gs 'dina', 'brodila'"
+if $ARGS[0] = 'brodila':
 	sexpartkno = 0
 	sexpartkno = 0
 	if accessible_property['city_apartment'] > 0:
 	if accessible_property['city_apartment'] > 0:
 		gt 'korr', 'start'
 		gt 'korr', 'start'
@@ -9,9 +14,10 @@ $brodila = {
 	else
 	else
 		gt'city_residential', 'start'
 		gt'city_residential', 'start'
 	end
 	end
-}
+end
 
 
-$brodilr = {
+$brodilr = "gs 'dina', 'brodilr'"
+if $ARGS[0] = 'brodilr':
 	if mid($start_type,1,2) = 'sg' and accessible_property['parents_home'] = 4:
 	if mid($start_type,1,2) = 'sg' and accessible_property['parents_home'] = 4:
 		gt 'pav_residential'
 		gt 'pav_residential'
 	elseif accessible_property['old_town_apartment'] = 1:
 	elseif accessible_property['old_town_apartment'] = 1:
@@ -19,9 +25,10 @@ $brodilr = {
 	else
 	else
 		gt 'city_residential', 'start'
 		gt 'city_residential', 'start'
 	end
 	end
-}
+end
 
 
-$brodilk = {
+$brodilk = "gs 'dina', 'brodilk'"
+if $ARGS[0] = 'brodilk':
 	if accessible_property['city_apartment'] > 0:
 	if accessible_property['city_apartment'] > 0:
 		gt 'kuhr', 'start'
 		gt 'kuhr', 'start'
 	elseif accessible_property['old_town_apartment']= 1:
 	elseif accessible_property['old_town_apartment']= 1:
@@ -29,9 +36,10 @@ $brodilk = {
 	else
 	else
 		gt'city_residential', 'start'
 		gt'city_residential', 'start'
 	end
 	end
-}
+end
 
 
-$brodils = {
+$brodils = "gs 'dina', 'brodils'"
+if $ARGS[0] = 'brodils':
 	if accessible_property['city_apartment'] > 0:
 	if accessible_property['city_apartment'] > 0:
 		gt 'sitr', 'start'
 		gt 'sitr', 'start'
 	elseif accessible_property['old_town_apartment'] = 1:
 	elseif accessible_property['old_town_apartment'] = 1:
@@ -41,7 +49,7 @@ $brodils = {
 	else
 	else
 		gt'city_residential', 'start'
 		gt'city_residential', 'start'
 	end
 	end
-}
+end
 
 
 !!This sets the default descriptors and folder names for each default image set
 !!This sets the default descriptors and folder names for each default image set
 $bodimgsets[0] = 'starving'
 $bodimgsets[0] = 'starving'
@@ -106,15 +114,18 @@ $week[5] = 'Friday'
 $week[6] = 'Saturday'
 $week[6] = 'Saturday'
 $week[7] = 'Sunday'
 $week[7] = 'Sunday'
 
 
-$dogpot = {
+$dogpot = "gs 'dina', 'dogpot'"
+if $ARGS[0] = 'dogpot':
 	gs 'boyStat', 'A191'
 	gs 'boyStat', 'A191'
-}
+end
 
 
-$rexpot = {
+$rexpot = "gs 'dina', 'rexpot'"
+if $ARGS[0] = 'rexpot':
 	gs 'boyStat', 'A166'
 	gs 'boyStat', 'A166'
-}
+end
 
 
-$hypnoDaychange = {
+$hypnoDaychange = "gs 'dina', 'hypnoDaychange'"
+if $ARGS[0] = 'hypnoDaychange':
 	!!if for some reason hypnoTime is too high
 	!!if for some reason hypnoTime is too high
 	if hypnoTime > 15:hypnoTime = 15
 	if hypnoTime > 15:hypnoTime = 15
 	timeTresh = 76 - 4*hypnoTime
 	timeTresh = 76 - 4*hypnoTime
@@ -146,9 +157,10 @@ $hypnoDaychange = {
 			end
 			end
 		end
 		end
 	end
 	end
-}
+end
 
 
-$hypnoAddiction = {
+$hypnoAddiction = "gs 'dina', 'hypnoAddiction'"
+if $ARGS[0] = 'hypnoAddiction':
 	if cumloc[0] = 1 or cumloc[3] = 1:
 	if cumloc[0] = 1 or cumloc[3] = 1:
 		killvar 'missCum'
 		killvar 'missCum'
 		if hypnoAddict = 1:
 		if hypnoAddict = 1:
@@ -181,11 +193,12 @@ $hypnoAddiction = {
 			end
 			end
 		end
 		end
 	end
 	end
-}
+end
 
 
 !!---------------
 !!---------------
 
 
-$prezik = {
+$prezik = "gs 'dina', 'prezik'"
+if $ARGS[0] = 'prezik':
 	if mc_inventory['equipped_condoms'] > 0:
 	if mc_inventory['equipped_condoms'] > 0:
 		if mc_inventory['bad_condoms'] > 0:
 		if mc_inventory['bad_condoms'] > 0:
 			if rand(1,mc_inventory['equipped_condoms']) <= mc_inventory['bad_condoms']: mc_inventory['bad_condoms'] -= 1 & noprotect = 1
 			if rand(1,mc_inventory['equipped_condoms']) <= mc_inventory['bad_condoms']: mc_inventory['bad_condoms'] -= 1 & noprotect = 1
@@ -196,9 +209,10 @@ $prezik = {
 	elseif mc_inventory['equipped_condoms'] < 0:
 	elseif mc_inventory['equipped_condoms'] < 0:
 		mc_inventory['equipped_condoms'] = 0
 		mc_inventory['equipped_condoms'] = 0
 	end
 	end
-}
+end
 
 
-$ferteggfather = {
+$ferteggfather = "gs 'dina', 'ferteggfather'"
+if $ARGS[0] = 'ferteggfather':
 	if fertegg > 0:
 	if fertegg > 0:
 		if thinkpreg = 0 and knowpreg = 0 and sparrppt[sparrtemp] > 0:
 		if thinkpreg = 0 and knowpreg = 0 and sparrppt[sparrtemp] > 0:
 			if cumarrkno[cumarrtemp] = 1:
 			if cumarrkno[cumarrtemp] = 1:
@@ -215,7 +229,7 @@ $ferteggfather = {
 			end
 			end
 		end
 		end
 	end
 	end
-}
+end
 
 
 --- dina ---------------------------------
 --- dina ---------------------------------
 
 

+ 28 - 16
locations/dinmother.qsrc

@@ -1,6 +1,11 @@
 # dinmother
 # dinmother
 
 
-$d_mother[1]={
+!! Dynamic code has been translated to static code for performance and savegame size reasons.
+!! The dynamic variables still exist for compatibility reasons.
+!! Whenever possible, don''t use dynamic code (use "gs 'dinmother', 'xxx'" instead of "dynamic $xxx").
+
+$d_mother[1] = "gs 'dinmother', 'd_mother[1]'"
+if $ARGS[0] = 'd_mother[1]':
 	!scandal with my mother
 	!scandal with my mother
 	'You try having a talk with your mother, but she dislikes you way too much to even pretend to be interested in what you have to say. After a while, you give up and leave her alone. Maybe she''ll be in a better mood later.'
 	'You try having a talk with your mother, but she dislikes you way too much to even pretend to be interested in what you have to say. After a while, you give up and leave her alone. Maybe she''ll be in a better mood later.'
 	if mothersorryday!daystart:
 	if mothersorryday!daystart:
@@ -14,8 +19,9 @@ $d_mother[1]={
 			act 'Move away from her':gt $loc, $loc_arg
 			act 'Move away from her':gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
-$d_mother[2]={
+end
+$d_mother[2] = "gs 'dinmother', 'd_mother[2]'"
+if $ARGS[0] = 'd_mother[2]':
 	!strained relations
 	!strained relations
 	'You try to have a talk with your mother, but her answers are really short and she sounds kind of annoyed. After a few minutes she cuts the conversation short, saying she has other things to do now.'
 	'You try to have a talk with your mother, but her answers are really short and she sounds kind of annoyed. After a few minutes she cuts the conversation short, saying she has other things to do now.'
 	if mothersorryday!daystart:
 	if mothersorryday!daystart:
@@ -29,8 +35,9 @@ $d_mother[2]={
 			act 'Move away from her':gt $loc, $loc_arg
 			act 'Move away from her':gt $loc, $loc_arg
 		end
 		end
 	end
 	end
-}
-$d_mother[3]={
+end
+$d_mother[3] = "gs 'dinmother', 'd_mother[3]'"
+if $ARGS[0] = 'd_mother[3]':
 	!good relationship
 	!good relationship
 	motherTalk = rand (1,10)
 	motherTalk = rand (1,10)
 	if motherTalk = 1:
 	if motherTalk = 1:
@@ -65,31 +72,36 @@ $d_mother[3]={
 	if motherTalk = 10:
 	if motherTalk = 10:
 		'You have a chat with your <<$npc_nickname[''A29'']>>, and she tells you she had to go to the tailor at the garment factory to get some clothes adjusted after she had went up a few sizes. She proudly added that she had to go back and have them readjusted again when she lost the weight a few months later.'
 		'You have a chat with your <<$npc_nickname[''A29'']>>, and she tells you she had to go to the tailor at the garment factory to get some clothes adjusted after she had went up a few sizes. She proudly added that she had to go back and have them readjusted again when she lost the weight a few months later.'
 	end
 	end
-}
-$d_mother[4] = {
+end
+$d_mother[4] = "gs 'dinmother', 'd_mother[4]'"
+if $ARGS[0] = 'd_mother[4]':
 	*clr
 	*clr
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/posuda'+rand(1,3)+'.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> stands near the sink, washing dishes.'
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/posuda'+rand(1,3)+'.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> stands near the sink, washing dishes.'
-}
+end
 
 
-$d_mother[5] = {
+$d_mother[5] = "gs 'dinmother', 'd_mother[5]'"
+if $ARGS[0] = 'd_mother[5]':
 	*clr
 	*clr
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/gotovka.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is preparing meals.'
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/gotovka.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is preparing meals.'
-}
+end
 
 
-$d_mother[6] = {
+$d_mother[6] = "gs 'dinmother', 'd_mother[6]'"
+if $ARGS[0] = 'd_mother[6]':
 	*clr
 	*clr
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/tea.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is drinking tea.'
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/tea.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is drinking tea.'
-}
+end
 
 
-$d_mother[7] = {
+$d_mother[7] = "gs 'dinmother', 'd_mother[7]'"
+if $ARGS[0] = 'd_mother[7]':
 	*clr
 	*clr
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost'+rand(1,11)+'.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is busy in the kitchen and unaware of your presence.'
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/prost'+rand(1,11)+'.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is busy in the kitchen and unaware of your presence.'
-}
+end
 
 
-$d_mother[8] = {
+$d_mother[8] = "gs 'dinmother', 'd_mother[8]'"
+if $ARGS[0] = 'd_mother[8]':
 	*clr
 	*clr
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/uborka'+rand(1,3)+'.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is cleaning with a broom in her hand.'
 	$result = '<center><img <<$set_imgh>> src="images/characters/pavlovsk/resident/mom/uborka'+rand(1,3)+'.jpg"></center><br>Your <a href="exec:gt ''mother''"><<$npc_nickname[''A29'']>></a> is cleaning with a broom in her hand.'
-}
+end
 
 
 --- dinmother ---------------------------------
 --- dinmother ---------------------------------
 
 

+ 27 - 21
locations/dinnpc.qsrc

@@ -1,7 +1,12 @@
 # dinnpc
 # dinnpc
 !2021/05/02
 !2021/05/02
 
 
-$din_predlog_dima_bj = {
+!! Dynamic code has been translated to static code for performance and savegame size reasons.
+!! The dynamic variables still exist for compatibility reasons.
+!! Whenever possible, don''t use dynamic code (use "gs 'dinnpc', 'xxx'" instead of "dynamic $xxx").
+
+$din_predlog_dima_bj = "gs 'dinnpc', 'din_predlog_dima_bj'"
+if $ARGS[0] = 'din_predlog_dima_bj':
 	menu_off = 1
 	menu_off = 1
 	act 'Get down on your knees':
 	act 'Get down on your knees':
 		*clr & cla
 		*clr & cla
@@ -24,7 +29,7 @@ $din_predlog_dima_bj = {
 
 
 			gs 'arousal', 'bj', 5, 'sub', 'rough'
 			gs 'arousal', 'bj', 5, 'sub', 'rough'
 			gs 'stat'
 			gs 'stat'
-			
+
 			act 'Deepthroat him':
 			act 'Deepthroat him':
 				*clr & cla
 				*clr & cla
 				pcs_throat += 2
 				pcs_throat += 2
@@ -37,17 +42,17 @@ $din_predlog_dima_bj = {
 				pcs_horny = 0
 				pcs_horny = 0
 				gs 'stat'
 				gs 'stat'
 				'<center><img <<$set_imgh>> src="images/shared/sex/blowjob/cocksucker3.jpg"></center>'
 				'<center><img <<$set_imgh>> src="images/shared/sex/blowjob/cocksucker3.jpg"></center>'
-				'Dimka firmly grabbed you by your hair and bucks his hips against you, causing his hard cock to go into your throat. Unprepared for his rough treatment, you choke and tears well up in your eyes but Dimka holds his member there for a few more seconds before he pulls back his member.' 
-				'Your throat finally clear, you cough and have to fight down a bout of nausea. He gives you short breather but that doesn''t last long and as soon as you stop coughing, he puts his hard cock back in your mouth, now with even less regard for you, if that''s even possible.' 
-				'He starts to literally fuck your mouth as hard as if it was a pussy and his cock goes deeper into your throat with every stroke. Snot flows from your nose, strands of saliva hang from your chin, tears keep streaming down your face - in short: You are a mess, and these various liquids drip and drip onto your clothes. Dimka does not let up, though, and fucks your mouth full force, treating you like his own personal sex toy. Your nose keeps hitting his crotch over and over, but then, when you hit it again, Dimka holds your face there, pressing it to his groin.' 
-				'You struggle to relax your throat which, after minutes of harsh treatment, feels like it''s on fire, but the lack of air doesn''t make it any easier.' 
+				'Dimka firmly grabbed you by your hair and bucks his hips against you, causing his hard cock to go into your throat. Unprepared for his rough treatment, you choke and tears well up in your eyes but Dimka holds his member there for a few more seconds before he pulls back his member.'
+				'Your throat finally clear, you cough and have to fight down a bout of nausea. He gives you short breather but that doesn''t last long and as soon as you stop coughing, he puts his hard cock back in your mouth, now with even less regard for you, if that''s even possible.'
+				'He starts to literally fuck your mouth as hard as if it was a pussy and his cock goes deeper into your throat with every stroke. Snot flows from your nose, strands of saliva hang from your chin, tears keep streaming down your face - in short: You are a mess, and these various liquids drip and drip onto your clothes. Dimka does not let up, though, and fucks your mouth full force, treating you like his own personal sex toy. Your nose keeps hitting his crotch over and over, but then, when you hit it again, Dimka holds your face there, pressing it to his groin.'
+				'You struggle to relax your throat which, after minutes of harsh treatment, feels like it''s on fire, but the lack of air doesn''t make it any easier.'
 				''
 				''
-				'"What do pigs like you like?", Dimka asks, tightening his grip on your hair. "Do you like getting fucked rough like that? You are my pig now - You''ll grunt and scream on my cock and take everything I have for you."' 
+				'"What do pigs like you like?", Dimka asks, tightening his grip on your hair. "Do you like getting fucked rough like that? You are my pig now - You''ll grunt and scream on my cock and take everything I have for you."'
 				'Without warning, he pulls his dick out of your mouth and furiously strokes it in front of your face.'
 				'Without warning, he pulls his dick out of your mouth and furiously strokes it in front of your face.'
 
 
 				gs 'arousal', 'bj', 5, 'sub', 'rough', 'deepthroat'
 				gs 'arousal', 'bj', 5, 'sub', 'rough', 'deepthroat'
 				gs 'stat'
 				gs 'stat'
-			
+
 				act 'Catch your breath':
 				act 'Catch your breath':
 					*clr & cla
 					*clr & cla
 					minut += 5
 					minut += 5
@@ -58,20 +63,21 @@ $din_predlog_dima_bj = {
 					dimasexday = daystart
 					dimasexday = daystart
 					gs 'stat'
 					gs 'stat'
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/dimka/sex/cocksucker4.jpg"></center>'
 					'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/dimka/sex/cocksucker4.jpg"></center>'
-					'You fall back onto your haunches, panting, your face completely covered in snot, tears and drool, all but oblivious to what Dimka is doing until a jet of sperm erupts from his cock and hits your face, then another, and another. Your whole face is covered with a layer of mucus, a bizarre mix of four body fluids, and yet all you care about is catching your breath before Dimka has any other ideas. You seem to be in luck, though, because after he wipes his cock on your hair, he tucks it back into his pants.' 
+					'You fall back onto your haunches, panting, your face completely covered in snot, tears and drool, all but oblivious to what Dimka is doing until a jet of sperm erupts from his cock and hits your face, then another, and another. Your whole face is covered with a layer of mucus, a bizarre mix of four body fluids, and yet all you care about is catching your breath before Dimka has any other ideas. You seem to be in luck, though, because after he wipes his cock on your hair, he tucks it back into his pants.'
 					'"That wasn''t half bad - with a bit of guidance, you can suck some good dick. We have to do that again sometime." He gives you a strange, cold smile as he turns away. "Well, see you around." You watch as he walks back to the disco, leaving you in your pitiful state.'
 					'"That wasn''t half bad - with a bit of guidance, you can suck some good dick. We have to do that again sometime." He gives you a strange, cold smile as he turns away. "Well, see you around." You watch as he walks back to the disco, leaving you in your pitiful state.'
 
 
 					gs 'arousal', 'end'
 					gs 'arousal', 'end'
 					gs 'stat'
 					gs 'stat'
-					
+
 					act 'Leave as well':gt 'pav_commcenter'
 					act 'Leave as well':gt 'pav_commcenter'
 				end
 				end
 			end
 			end
 		end
 		end
 	end
 	end
-}
+end
 
 
-$din_dima_predlog = {
+$din_dima_predlog = "gs 'dinnpc', 'din_dima_predlog'"
+if $ARGS[0] = 'din_dima_predlog':
 	menu_off = 1
 	menu_off = 1
 	gs 'willpower', 'bj', 'self', 'medium'
 	gs 'willpower', 'bj', 'self', 'medium'
 	if will_cost <= pcs_willpwr:
 	if will_cost <= pcs_willpwr:
@@ -82,20 +88,20 @@ $din_dima_predlog = {
 			gs 'stat'
 			gs 'stat'
 			'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
 			'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
 			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
 			'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
-			'You give Dimka a good, hard, resounding slap that causes him to yelp like a girl as he clutched his red cheek. His immediate reaction only adds to your satisfaction, but the look he gives you is one of pure hatred - one that makes you wonder if he''s going to hit you back now.' 
-			'But instead, he backs away from you, looking like an animal trapped in a corner. His voice is more of an angry hiss:' 
+			'You give Dimka a good, hard, resounding slap that causes him to yelp like a girl as he clutched his red cheek. His immediate reaction only adds to your satisfaction, but the look he gives you is one of pure hatred - one that makes you wonder if he''s going to hit you back now.'
+			'But instead, he backs away from you, looking like an animal trapped in a corner. His voice is more of an angry hiss:'
 			'"You''ll pay for this, sooner or later. Don''t ever come near me again, bitch! Get the hell away from me!"'
 			'"You''ll pay for this, sooner or later. Don''t ever come near me again, bitch! Get the hell away from me!"'
 			act 'He doesn''t have to tell you twice - Leave at once':gt $loc, $loc_arg
 			act 'He doesn''t have to tell you twice - Leave at once':gt $loc, $loc_arg
 		end
 		end
 	else
 	else
 		act 'Who does he think you are?! - Slap him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		act 'Who does he think you are?! - Slap him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-	end	
+	end
 	act '... is he serious? Think about what he said for a moment':
 	act '... is he serious? Think about what he said for a moment':
 		*clr & cla
 		*clr & cla
 		gs 'stat'
 		gs 'stat'
 		'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
 		'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
 		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
 		'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
-		'Your eyes widen and you flush at his proposal - surely, he didn''t actually mean that you had to give him a blowjob right here, just so you could go out with him... right?' 
+		'Your eyes widen and you flush at his proposal - surely, he didn''t actually mean that you had to give him a blowjob right here, just so you could go out with him... right?'
 		'As if to answer your question, Dimka unbuttons his pants. "Come on, are you gonna keep me waiting all night long? Which is it? Are you brave and fun? Or just another prude?"'
 		'As if to answer your question, Dimka unbuttons his pants. "Come on, are you gonna keep me waiting all night long? Which is it? Are you brave and fun? Or just another prude?"'
 		gs 'willpower', 'bj', 'self', 'medium'
 		gs 'willpower', 'bj', 'self', 'medium'
 		if will_cost <= pcs_willpwr:
 		if will_cost <= pcs_willpwr:
@@ -106,20 +112,20 @@ $din_dima_predlog = {
 				gs 'stat'
 				gs 'stat'
 				'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
 				'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
 				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
 				'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
-				'You give Dimka a good, hard, resounding slap that causes him to yelp like a girl as he clutched his red cheek. His immediate reaction only adds to your satisfaction, but the look he gives you is one of pure hatred - one that makes you wonder if he''s going to hit you back now.' 
-				'But instead, he backs away from you, looking like an animal trapped in a corner. His voice is more of an angry hiss:' 
+				'You give Dimka a good, hard, resounding slap that causes him to yelp like a girl as he clutched his red cheek. His immediate reaction only adds to your satisfaction, but the look he gives you is one of pure hatred - one that makes you wonder if he''s going to hit you back now.'
+				'But instead, he backs away from you, looking like an animal trapped in a corner. His voice is more of an angry hiss:'
 				'"You''ll pay for this, sooner or later. Don''t ever come near me again, bitch! Get the hell away from me!"'
 				'"You''ll pay for this, sooner or later. Don''t ever come near me again, bitch! Get the hell away from me!"'
 				act 'He doesn''t have to tell you twice - Leave at once':gt $loc, $loc_arg
 				act 'He doesn''t have to tell you twice - Leave at once':gt $loc, $loc_arg
 			end
 			end
 		else
 		else
 			act 'That does it! - Slap him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			act 'That does it! - Slap him (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
-		end	
+		end
 		act '"And you promise not to tell anyone?"':
 		act '"And you promise not to tell anyone?"':
 			*clr & cla
 			*clr & cla
 			gs 'stat'
 			gs 'stat'
 			'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
 			'<center><b><font color="maroon"><<$npc_firstname[''A1'']>> <<$npc_lastname[''A1'']>></font></b></center>'
             '<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
             '<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big1.jpg"></center>'
-			'You ask Dimka. You''re really not sure if you want to do this but you also don''t want him to think that you are a prude. You are fun... right? And as long as nobody finds out, as long as only he knows...' 
+			'You ask Dimka. You''re really not sure if you want to do this but you also don''t want him to think that you are a prude. You are fun... right? And as long as nobody finds out, as long as only he knows...'
 			''
 			''
 			'Dimka gives you a gentle smile and reassuringly touches your cheek. "No, of course I wouldn''t tell anybody. You''ll be my girlfriend - why would I tell somebody about what we are doing when we''re together?"'
 			'Dimka gives you a gentle smile and reassuringly touches your cheek. "No, of course I wouldn''t tell anybody. You''ll be my girlfriend - why would I tell somebody about what we are doing when we''re together?"'
 			dynamic $din_predlog_dima_bj
 			dynamic $din_predlog_dima_bj
@@ -129,7 +135,7 @@ $din_dima_predlog = {
 	end
 	end
 
 
 	dynamic $din_predlog_dima_bj
 	dynamic $din_predlog_dima_bj
-}
+end
 
 
 --- dinnpc ---------------------------------
 --- dinnpc ---------------------------------
 
 

+ 9 - 9
locations/hourly_events.qsrc

@@ -56,25 +56,25 @@ else
 
 
 	if pcs_sleep <= 0 and succublvl = 0:
 	if pcs_sleep <= 0 and succublvl = 0:
 		pcs_condition['lack_of_sleep'] += 2
 		pcs_condition['lack_of_sleep'] += 2
-		if pcs_mood['slpredcheck'] = 1: pcs_mood -= 5
-		pcs_mood['slpredcheck'] = 1
+		if pcs_mood_effects['slpredcheck'] = 1: pcs_mood -= 5
+		pcs_mood_effects['slpredcheck'] = 1
 	else
 	else
-		pcs_mood['slpredcheck'] = 0
+		pcs_mood_effects['slpredcheck'] = 0
 	end
 	end
 
 
 
 
 	if pcs_energy <= 0:
 	if pcs_energy <= 0:
-		if pcs_mood['nrgredcheck'] = 1: pcs_mood -= 5
-		pcs_mood['nrgredcheck'] = 1
+		if pcs_mood_effects['nrgredcheck'] = 1: pcs_mood -= 5
+		pcs_mood_effects['nrgredcheck'] = 1
 	else
 	else
-		pcs_mood['nrgredcheck'] = 0
+		pcs_mood_effects['nrgredcheck'] = 0
 	end
 	end
 
 
 	if pcs_hydra <= 0:
 	if pcs_hydra <= 0:
-		if pcs_mood['hydredcheck'] = 1: pcs_mood -= 5
-		pcs_mood['hydredcheck'] = 1
+		if pcs_mood_effects['hydredcheck'] = 1: pcs_mood -= 5
+		pcs_mood_effects['hydredcheck'] = 1
 	else
 	else
-		pcs_mood['hydredcheck'] = 0
+		pcs_mood_effects['hydredcheck'] = 0
 	end
 	end
 
 
 
 

+ 2 - 2
locations/initg.qsrc

@@ -20,7 +20,7 @@ if $ARGS[0] = '':
 	dynamic $t
 	dynamic $t
 	killvar '$t'
 	killvar '$t'
 	gs 'stat'
 	gs 'stat'
-	dynamic $cheatmenu['setting']
+	gs 'Cheatmenu_din', 'setting'
 end
 end
 
 
 if $ARGS[0] = 'get_game_set':
 if $ARGS[0] = 'get_game_set':
@@ -76,7 +76,7 @@ if $ARGS[0] = 'get_game_set':
 		'set_statimgh = <<set_statimgh>>'
 		'set_statimgh = <<set_statimgh>>'
 		'set_statimgw = <<set_statimgw>>'
 		'set_statimgw = <<set_statimgw>>'
 
 
-		act 'Finish': dynamic $cheatmenu['setting']
+		act 'Finish': gs 'Cheatmenu_din', 'setting'
 	end
 	end
 end
 end
 
 

+ 9 - 0
locations/saveupdater.qsrc

@@ -3565,6 +3565,15 @@ if temp_current_save_version < 00090303:
 	if $ivanko_water		! '':		$ivanko['water_txt']		= $ivanko_water			& killvar '$ivanko_water'
 	if $ivanko_water		! '':		$ivanko['water_txt']		= $ivanko_water			& killvar '$ivanko_water'
 	if $ivanko_sanw			! '':		$ivanko['sandwich_txt']		= $ivanko_sanw			& killvar '$ivanko_sanw'
 	if $ivanko_sanw			! '':		$ivanko['sandwich_txt']		= $ivanko_sanw			& killvar '$ivanko_sanw'
 
 
+	!! Less dynamic code in dynamic code-files.
+	gs 'din_bad'
+	gs 'din_pav'
+	gs 'din_van'
+	gs 'dina'
+	gs 'dinmother'
+	gs 'dinnpc'
+	gs 'Cheatmenu_din'
+
 
 
 end
 end
 
 

+ 1 - 1
qsrc2tw/README.md

@@ -8,4 +8,4 @@ Navigate to `.\tools\QSRC2TW` and run `npm i` there. Do this in the current fold
 
 
 If you change the grammar of the parser, you have to recompile it. If you change the lexer, you have to recompile the lexer and then the parser. The commands to do so are present in the respective files.
 If you change the grammar of the parser, you have to recompile it. If you change the lexer, you have to recompile the lexer and then the parser. The commands to do so are present in the respective files.
 
 
-You also need to recompile `QSPPARSER.js` by running `rpm run build` and update the version in `recources`.
+You also need to recompile `QSPPARSER.js` by running `npm run build` and update the version in `recources`.

File diff suppressed because it is too large
+ 0 - 0
qsrc2tw/tools/QSRC2TW/dist/QSPPARSER.js


+ 49 - 5
qsrc2tw/tools/QSRC2TW/index.js

@@ -22,6 +22,7 @@ program
   .option('-fs, --multiple-files-from-file <path>','only converts the files specified in the input file')
   .option('-fs, --multiple-files-from-file <path>','only converts the files specified in the input file')
   .option('-outff, --failed-files-output-path <path>','path of the failed files file')
   .option('-outff, --failed-files-output-path <path>','path of the failed files file')
   .option('-sff, --skip-failedfiles-file','skips creation of the failed files file')
   .option('-sff, --skip-failedfiles-file','skips creation of the failed files file')
+  .option('-ve, --verbose-errors','prints out complete error messages where possible')
   ;
   ;
 
 
 program.parse(process.argv);
 program.parse(process.argv);
@@ -63,6 +64,37 @@ function baseFileName(fullpath){
 }
 }
 
 
 
 
+let consoleActive = true;
+consoleOverwrite();
+function consoleOverwrite(){
+    //https://stackoverflow.com/a/30197438/7200161
+    // define a new console
+    var consoleOverwrite=(function(oldCons){
+        return {
+            log: function(text){
+                if(consoleActive)
+                    oldCons.log(text);
+            },
+            info: function (text) {
+                if(consoleActive)
+                    oldCons.info(text);
+            },
+            warn: function (text) {
+                if(consoleActive)
+                    oldCons.warn(text);
+            },
+            error: function (text) {
+                if(consoleActive)
+                    oldCons.error(text);
+            }
+        };
+    }(console));
+
+    //Then redefine the old console
+    console = consoleOverwrite;
+}
+
+
 async function convertFile(filePath){
 async function convertFile(filePath){
     return new Promise((resolve, reject) => {
     return new Promise((resolve, reject) => {
         fs.readFile(filePath, 'utf8', (err, data) => {
         fs.readFile(filePath, 'utf8', (err, data) => {
@@ -103,10 +135,20 @@ async function convertFile(filePath){
 
 
 
 
             try{
             try{
-                const twineCode = qsrc2tw(data, true)
-                                    .split('\n')
-                                    .toSpliced(1,0,`<!--qsrc2twResult={"version":${VERSION},"code":"${codeHash}","time":"${(new Date().toISOString())}"}-->`)
-                                    .join('\n');
+                let twineCode = "";
+                consoleActive = options.verboseErrors;
+                try{
+                    twineCode = qsrc2tw(data, true)
+                                        .split('\n')
+                                        .toSpliced(1,0,`<!--qsrc2twResult={"version":${VERSION},"code":"${codeHash}","time":"${(new Date().toISOString())}"}-->`)
+                                        .join('\n');
+                }
+                catch(e){
+                    throw e;
+                }
+                finally{
+                    consoleActive = true;
+                }
 
 
                 fs.writeFile(outFilePath, twineCode, err => {
                 fs.writeFile(outFilePath, twineCode, err => {
                     if (err) {
                     if (err) {
@@ -153,7 +195,9 @@ if(!options.skipFailedfilesFile){
     });
     });
 }
 }
 
 
-fs.cpSync("./resources", path.join(outPath,resourcesFilesPrefix), {recursive: true});
+const resourcesPath = path.join(outPath,resourcesFilesPrefix);
+fs.rmSync(resourcesPath, { recursive: true, force: true });
+fs.cpSync("./resources", resourcesPath, {recursive: true});
 
 
 
 
 const executionTime =  (new Date()).getTime() - startTime;
 const executionTime =  (new Date()).getTime() - startTime;

+ 5 - 3
qsrc2tw/tools/QSRC2TW/resources/Interface/DebugTools.tw

@@ -10,9 +10,11 @@
 <<link 'Variable Space Usage'>>
 <<link 'Variable Space Usage'>>
     <<set _variableStorageUsage = setup.variableStorageUsage()>>
     <<set _variableStorageUsage = setup.variableStorageUsage()>>
     <<append '.passage'>>
     <<append '.passage'>>
-        <<for _key, _value range _variableStorageUsage>>
-            <li>_key : _value>></li>
-        <</for>>
+        <ol>
+            <<for _key, _value range _variableStorageUsage>>
+                <li>_key : _value</li>
+            <</for>>
+        </ol>
     <</append>>
     <</append>>
 <</link>>
 <</link>>
 
 

File diff suppressed because it is too large
+ 0 - 0
qsrc2tw/tools/QSRC2TW/resources/QSPPARSER.js


+ 9 - 9
qsrc2tw/tools/QSRC2TW/src/antlr/qsrcLexer.g4

@@ -16,17 +16,17 @@ Done:
 	*P
 	*P
 	PL
 	PL
 	*PL
 	*PL
-TODO:	
+TODO:
 	ADDLIB
 	ADDLIB
 	ADDOBJ
 	ADDOBJ
 	ADDQST
 	ADDQST
-	
+
 	ARRCOMP
 	ARRCOMP
 	ARRPOS
 	ARRPOS
 	ARRSIZE
 	ARRSIZE
 	$BACKIMAGE
 	$BACKIMAGE
 	BCOLOR
 	BCOLOR
-	
+
 	CMDCLEAR
 	CMDCLEAR
 	CMDCLR
 	CMDCLR
 	COPYARR
 	COPYARR
@@ -95,8 +95,8 @@ TODO:
 	$ONOBJSEL
 	$ONOBJSEL
 	OPENGAME
 	OPENGAME
 	OPENQST
 	OPENQST
-	
-	
+
+
 	PLAY
 	PLAY
 	QSPVER
 	QSPVER
 	RAND
 	RAND
@@ -130,7 +130,7 @@ TODO:
 	VIEW
 	VIEW
 	WAIT
 	WAIT
 	XGOTO
 	XGOTO
-	XGT 
+	XGT
  */
  */
 
 
 lexer grammar qsrcLexer;
 lexer grammar qsrcLexer;
@@ -160,7 +160,7 @@ GOSUB: (G S) | (G O S U B);
 GOTO: (G T) | (G O T O);
 GOTO: (G T) | (G O T O);
 XGOTO: X GOTO;
 XGOTO: X GOTO;
 
 
-INPUT: I N P U T;
+INPUT: '$'? I N P U T;
 
 
 JUMP: J U M P;
 JUMP: J U M P;
 
 
@@ -265,7 +265,7 @@ EXCLAMATIONMARK: '!';
 CommentStart: '!!' -> pushMode (COMMENT);
 CommentStart: '!!' -> pushMode (COMMENT);
 AttachedComment: '&' ' '* '!' -> pushMode(COMMENT);
 AttachedComment: '&' ' '* '!' -> pushMode(COMMENT);
 Multilinecomment: '!!' WHITESPACE? '{' .*? '}';
 Multilinecomment: '!!' WHITESPACE? '{' .*? '}';
-	
+
 ARRAYBRACKOPEN: '[';
 ARRAYBRACKOPEN: '[';
 ARRAYBRACKCLOSE: ']';
 ARRAYBRACKCLOSE: ']';
 BRACK_OPEN: '{' -> pushMode(MultiLine);
 BRACK_OPEN: '{' -> pushMode(MultiLine);
@@ -318,4 +318,4 @@ AnythingElseInMultiLine: .;
 
 
 mode COMMENT;
 mode COMMENT;
 COMMENNEWLINE: ('\r'? '\n' | '\r')+ -> type(NEWLINE), popMode;
 COMMENNEWLINE: ('\r'? '\n' | '\r')+ -> type(NEWLINE), popMode;
-InComment: .;
+InComment: .;

Some files were not shown because too many files changed in this diff