6 Commits 5c2f62ed75 ... 1826d66157

Tác giả SHA1 Thông báo Ngày
  bgkjdgbizgblzdgbr 1826d66157 [fixed] Small bugs in Katja's scheduel and a bug in her chat at home spotted by Lurk. 7 tháng trước cách đây
  anjuna krokus d0dc26b575 [added] a settings option to purge the blackmailer questline. 7 tháng trước cách đây
  anjuna krokus 8ba45add74 [fixed] shoplift bug in pavlovsk. Noticed by Thavus 7 tháng trước cách đây
  anjuna krokus 0f24a49948 [added] more `blackmailer` content. This will probably be it for now though 7 tháng trước cách đây
  anjuna krokus 038e0111d1 [added/changed/removed] removed `bankloc` and `alurepos` in favor of `$region` checks. Removed `$postloc` in favor of `$ARGS[1]`. Added mail support and a blackmailer act 7 tháng trước cách đây
  anjuna krokus 99518df736 [fixed] A BIG whoopsy on my part... 7 tháng trước cách đây

+ 2 - 1
locations/Cheatmenu_din.qsrc

@@ -39,6 +39,7 @@ $cheatmenu['setting'] = {
 	*nl
 	'Renaming porn movies you star in: <a href="exec:			cheatVars[''rename_porn'']			= iif(cheatVars[''rename_porn''], 0, 1)			& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''rename_porn'']			, ''Enabled'', ''Disabled'')>></a>'
 	'Remove "once a week" therapist limit: <a href="exec:		cheatVars[''therapist_schedule'']	= iif(cheatVars[''therapist_schedule''], 0, 1)	& dynamic $cheatmenu[$cheatmenu[''this_menu'']]"><<iif(cheatVars[''therapist_schedule'']	, ''Enabled'', ''Disabled'')>></a>'
+	if blackmailQW['stage'] ! 0:	'Purge the "Blackmailer" questline: <a href="exec:		gs ''blackmailer'', ''purge_all'' & dynamic $cheatmenu[$cheatmenu[''this_menu'']]">Permanently reset the entire questline!</a>'
 	*nl
 
 	'<B>Difficulty Setting</B>'
@@ -79,7 +80,7 @@ $cheatmenu['dynamic'] = {
 $cheatmenu['vartracker'] = {
 	gs'stat'
 	cls
-	act 'Return to cheat index': dynamic $cheatmenu
+	act 'Return to cheat index': dynamic $cheatmenu['index']
 	'<center><h1>Cheat menu</h1></center>'
 	'<center>For testing purposes.<br>If reporting a bug only the lines in red are neccessary.</center>'
 	*nl

+ 1 - 1
locations/KatjaHomeTalk.qsrc

@@ -2014,7 +2014,7 @@ if $ARGS[0] = 'katja_uni_tell':
 	*clr & cla
 	minut += 15
 	katjaQW['know_katja_uni'] = 1
-	if katjaQW['QWstage'] = 2: katjaQW['knows_dorm_room_number'] = 1
+	if katjaQW['QWstage'] >= 2: katjaQW['knows_dorm_room_number'] = 1
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/shared/headshots_main/big14.jpg"></center>'
 	if katjaQW['know_going_to_teaching_degree'] = 0:

+ 12 - 18
locations/bank.qsrc

@@ -1,5 +1,13 @@
 # bank
 
+if $ARGS[0] = 'leave':
+	if $region = 'city':
+		gt 'city_center'
+	else
+		gt 'pav_commercial'
+	end
+end
+
 if $ARGS[0] = 'start':
 	*clr & cla
 	$loc = 'bank'
@@ -80,7 +88,7 @@ if $ARGS[0] = 'start':
 
 			if bankDebtLimitRaised = 0 and karta >= 10000:
 				act 'See about increasing your credit limit':
-					if bankloc = 1:
+					if $region = 'city':
 						gt 'bank', 'loan_officer', 'start'
 					else
 						'You approach the teller and say, “Hello, I’d like to talk to someone about increasing my credit limit.”'
@@ -100,14 +108,7 @@ if $ARGS[0] = 'start':
 		end
 	end
 
-	act 'Leave':
-		minut += 2
-		if bankloc = 1:
-			gt 'city_center'
-		else
-			gt 'pav_commercial'
-		end
-	end
+	act 'Leave': minut += 2 & gt 'bank', 'leave'
 
 	if BurgerQW['BankTask'] = 1 and BurgerQW['BankTaskDay'] = daystart:
 		act 'Show documents':
@@ -118,14 +119,7 @@ if $ARGS[0] = 'start':
 			gs 'stat'
 			'You went to the office and showed the required documents to the manager.'
 
-			act 'Leave':
-				minut += 5
-				if bankloc = 1:
-					gt 'city_center'
-				else
-					gt 'pav_commercial'
-				end
-			end
+			act 'Leave': minut += 5 & gt 'bank', 'leave'
 		end
 	end
 	gs 'stat'
@@ -133,7 +127,7 @@ end
 
 if $ARGS[0] = 'loan_officer':
 	if $ARGS[1] = 'start':
-	   *clr & cla
+		*clr & cla
 		menu_off = 1
 		minut += 15
 		gs 'stat'

+ 286 - 74
locations/blackmailer.qsrc

@@ -82,6 +82,13 @@ end
 	!!=============================================!!
 
 
+if $ARGS[0] = 'purge_all':
+	killvar 'blackmailQW'
+	gs 'telefon', 'DeleteContact', 'Blackmailer'
+end
+
+
+
 if $ARGS[0] = 'add_blackmail_selfie':
 	temp_i = 0
 	if blackmailQW['total_material'] <= 10:
@@ -143,6 +150,10 @@ if $ARGS[0] = 'cikl':
 		elseif daystart >= blackmailQW['smsday']:
 			if blackmailQW['stage'] = 3:
 				gs 'telefon', 'SetSMSSchedule', 'Blackmailer', "", "0", "gs 'blackmailer', 'Add_SMS1'", "(hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+			elseif blackmailQW['stage'] = 8:
+				gs 'telefon', 'SetSMSSchedule', 'Blackmailer', "", "0", "gs 'blackmailer', 'Add_SMS_package'", "(hour >= 8 and hour <= 12 and rand(0, 100) = 0 or hour = 13 and minut >= 22 or hour = 14)"
+			elseif blackmailQW['stage'] = 9:
+				gs 'telefon', 'SetSMSSchedule', 'Blackmailer', "", "0", "gs 'blackmailer', 'Add_SMS_failure'", "(hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
 			elseif blackmailQW['stage'] >= 5:
 				gs 'telefon', 'SetSMSSchedule', 'Blackmailer', "", "0", "gs 'blackmailer', 'Add_SMS_repeat'", "(hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
 			end
@@ -344,6 +355,7 @@ if $ARGS[0] = 'Add_SMS1_reminder':
 
 	if blackmailQW['next_payment'] > 0:
 		if blackmailQW['escape'] = -1: blackmailQW['escape'] = 0
+
 		$SMSTree['0'] = '<<$pcs_firstname>> don''t forget, if you don''t leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, you will regret it'
 
 		gs 'SMStext_builder', 'start'
@@ -359,7 +371,7 @@ if $ARGS[0] = 'Add_SMS_failure':
 	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
 	blackmailQW['smsday'] = 0
 
-	if blackmailQW['next_payment'] > 0:
+	if blackmailQW['next_payment'] > 0 or blackmailQW['stage'] = 9:
 		if blackmailQW['escape'] = -1: blackmailQW['escape'] = 0
 		blackmailQW['next_payment'] = 0
 
@@ -374,7 +386,7 @@ if $ARGS[0] = 'Add_SMS_failure':
 			gs 'SMStext_builder', 'add_sms', 'Blackmailer'
 		gs 'SMStext_builder', 'end'
 
-		if blackmailQW['stage'] < 6:
+		if blackmailQW['stage'] < 9:
 			if blackmailQW['init_flashregion'] = 'city':
 				fame['city_sex'] += 2 * blackmailQW['total_material']
 			elseif blackmailQW['init_flashregion'] = 'gad':
@@ -388,6 +400,26 @@ if $ARGS[0] = 'Add_SMS_failure':
 end
 
 
+if $ARGS[0] = 'Add_SMS_package':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	if blackmailQW['stage'] < 9: blackmailQW['stage'] = 9
+	blackmailQW['smsday'] = daystart + 2
+	mail['city'] += 1
+
+	$SMSTree['0'] = 'The package has arrived at the St. Petersburg post office'
+		$SMSTree['1'] = 'Pick it up in the next 2 days, or you know what will happen'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+
+		gs 'SMStext_builder', 'add_sms', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+end
+
+
+
+
 
 	!!=============================================!!
 	!!                                             !!
@@ -398,7 +430,9 @@ end
 if $ARGS[0] = 'set_park_act':
 	if blackmailQW['next_payment'] > 0:
 		act 'Walk to the fourth bench to pay your blackmailer':
+			menu_off = 1
 			minut += 3
+			gs 'stat'
 			if blackmailQW['stage'] = 4:
 				gt 'blackmailer', 'park1'
 			else
@@ -410,9 +444,6 @@ end
 
 
 if $ARGS[0] = 'park1':
-	menu_off = 1
-	gs 'stat'
-
 	'<center><img src="images/locations/shared/park/bench_6.jpg"></center>'
 	'You spot the bench that your blackmailer is talking about, and take a seat at the edge of it.'
 
@@ -576,20 +607,58 @@ end
 
 	!!=============================================!!
 	!!                                             !!
-	!!                  REPEATING                  !!
+	!!                 POST OFFICE                 !!
 	!!                                             !!
 	!!=============================================!!
 
 
-if $ARGS[0] = 'Add_SMS_repeat':
-	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
-	blackmailQW['smsday'] = daystart + 2
-	if blackmailQW['escape'] = -1: blackmailQW['escape'] = 0
-	blackmailQW['next_payment'] = (rand(50, 100) + (blackmailQW['total_payment'] / 50 ) / (1 + blackmailQW['total_payment'] / 20000)) * 10
-	$blackmailQW['blackmail_image_chosen'] = func('blackmailer', 'choose_blackmail_image')
+if $ARGS[0] = 'set_post_act':
+	if blackmailQW['stage'] = 9 and $region = 'city':
+		act 'Pick up the package':
+			menu_off = 1
+			minut += 5
+			gs 'stat'
+			gt 'blackmailer', 'post_office1'
+		end
+	end
+end
 
-	$SMSTree['0'] = 'You know what we want'
+if $ARGS[0] = 'post_office1':
+	blackmailQW['stage'] = 10
+	mail['city'] -= 1
+
+	'<center><img src="images/locations/shared/postoffice/worker.jpg"></center>'
+	'The postal worker hands you a medium sized non-descript package. It has no return adress.'
 
+	act 'Ask who send the package':
+		*clr & cla
+		minut += 5
+		gs 'stat'
+		'<center><img src="images/locations/shared/postoffice/worker.jpg"></center>'
+		'He looks at you and raises an eyebrow. "Why are you picking up a package if you don''t know who send it?"'
+		'After a few seconds of silence, the postal worker sighs and looks at something out of your view.'
+		if year = 2016 or year = 2017 and month < 9:
+			'"It says here that the package was collected from a public post box in Pavlovsk."'
+		else
+			'"It says here that the package was collected from a public post box in the University district."'
+		end
+		'"Not much more to go on I''m afraid."'
+
+		act 'Thank him and leave': minut += 1 & gt 'post_office', 'pickup_mail'
+	end
+end
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                  REPEATING                  !!
+	!!                                             !!
+	!!=============================================!!
+
+
+if $ARGS[0] = 'set_SMSTree':
+	$SMSTree['0'] = 'You know what we want'
 		if motherKnowWhore = 0 and npc_rel['A29'] > 0:
 			$SMSTree['1'] = 'If you don''t want your mother to see this image you will do exactly as I say'
 		elseif $start_type['loc'] = 'sg' and gruptipe ! 5:
@@ -610,9 +679,62 @@ if $ARGS[0] = 'Add_SMS_repeat':
 						else
 							$SMSTree['b4'] = 'How much do you want before it stops?'
 						end
+	
+	$SMSTree['5'] = 'Just drop off the money'
+		$SMSTree['6'] = 'or else'
+
+	$SMSTree['10a'] = 'Work as a stripper, it''s what you were clearly born to do'
+		$SMSTree['11a'] = 'How about this. Send us a picture of your tits and we''ll lower it'
+
+	$SMSTree['10b'] = 'Send a nude like the slut you are'
+		$SMSTree['11b'] = 'or you could do something special for us'
+
+			$SMSTree['a12'] = 'fuck you'
+			$SMSTree['b12'] = 'Send a selfie from your galleray'
+			$SMSTree['c12'] = 'what?'
+			$SMSTree['d12'] = 'yes sir'
+
 
+		$SMSTree['a20'] = 'WTF! i said a pic of your tits, not this boring shit'
+			$SMSTree['a21'] = 'you better bring an additional 500 <b>₽</b>!'
+				$SMSTree['a22'] = 'drop <<blackmailQW[''next_payment''] + 500>> <b>₽</b> off in the park, or else!'
+		$SMSTree['b20'] = 'nice'
+			$SMSTree['b21'] = 'that''s worth about 500 <b>₽</b>'
+				$SMSTree['b22'] = 'don''t forget to drop <<blackmailQW[''next_payment''] - 500>> <b>₽</b> off in the park'
+		$SMSTree['c20'] = 'WOW'
+			$SMSTree['c21'] = 'that''s worth about 1000 <b>₽</b>'
+				$SMSTree['c22'] = 'don''t forget to drop <<blackmailQW[''next_payment''] - 1000>> <b>₽</b> off in the park'
+		$SMSTree['d20'] = 'DAMN! you really are a slut aren''t you'
+			$SMSTree['d21'] = 'definitely worth 2000 <b>₽</b>'
+				$SMSTree['d22'] = 'now you only need to drop <<blackmailQW[''next_payment''] - 2000>> <b>₽</b> off in the park'
 
 
+				$SMSTree['x22'] = 'you''re all settled for now'
+
+
+	$SMSTree['30'] = 'We''ll send you a package with instructions, it''ll take a while though'
+		$SMSTree['31'] = 'we''ll clear your debt for this week, do not make us regret this!'
+
+			$SMSTree['a32'] = 'fuck you'
+
+			$SMSTree['b32'] = 'ok'
+				$SMSTree['b33'] = 'we''ll work on your tone'
+			$SMSTree['c32'] = 'yes sir'
+				$SMSTree['c33'] = 'good girl'
+
+end
+
+
+
+if $ARGS[0] = 'Add_SMS_repeat':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['smsday'] = daystart + 2
+	if blackmailQW['escape'] = -1: blackmailQW['escape'] = 0
+	blackmailQW['next_payment'] = (rand(50, 100) + (blackmailQW['total_payment'] / 50 ) / (1 + blackmailQW['total_payment'] / 20000)) * 10
+	$blackmailQW['blackmail_image_chosen'] = func('blackmailer', 'choose_blackmail_image')
+
+	gs 'blackmailer', 'set_SMSTree'
+
 	gs 'SMStext_builder', 'start'
 		gs 'SMStext_builder', 'receive', $SMSTree['0']
 		gs 'SMSText_builder', 'receive_img', $blackmailQW['blackmail_image_chosen']
@@ -620,26 +742,39 @@ if $ARGS[0] = 'Add_SMS_repeat':
 		gs 'SMStext_builder', 'receive', $SMSTree['2']
 		gs 'SMStext_builder', 'receive', $SMSTree['3']
 		if blackmailQW['next_payment'] < 2000 and blackmailQW['total_payment'] < 5000:
-			gs 'SMStext_builder', 'add_reply', $SMSTree['a4'], 'blackmailer', 'sms_repeat_switch1', '1', $SMSTree['a4']
-		else
-			gs 'SMStext_builder', 'add_reply', $SMSTree['b4'], 'blackmailer', 'sms_repeat_switch1', '2', $SMSTree['a4']
+			gs 'SMStext_builder', 'add_reply', $SMSTree['a4'], 'blackmailer', 'sms_repeat_end1', $SMSTree['a4']
+		elseif blackmailQW['stage'] < 8 and blackmailQW['next_payment'] < 3000:
+			gs 'SMStext_builder', 'add_reply', $SMSTree['b4'], 'blackmailer', 'sms_repeat_switch1', 'a', $SMSTree['b4']
+		elseif blackmailQW['stage'] = 7:
+			gs 'SMStext_builder', 'add_reply', $SMSTree['b4'], 'blackmailer', 'sms_repeat_switch1', 'b', $SMSTree['b4']
+		elseif blackmailQW['stage'] >= 10:
+			gs 'SMStext_builder', 'add_reply', $SMSTree['b4'], 'blackmailer', 'sms_repeat_switch1', 'c', $SMSTree['b4']
 		end
 		gs 'SMStext_builder', 'add_sms', 'Blackmailer'
 	gs 'SMStext_builder', 'end'
-	killvar '$SMSTree'
 end
 
-if $ARGS[0] = 'sms_repeat_switch1':
-	if $ARGS[1] = '1':
-		$SMSTree['10'] = 'Just drop off the money'
-			$SMSTree['11'] = 'or else'
-	else
-		$SMSTree['10'] = 'Work as a stripper, it''s what you were clearly born to do'
-			$SMSTree['11'] = 'How about this. Send us a picture of your tits and we''ll call it even'
-	end
+if $ARGS[0] = 'sms_repeat_end1':
+	gs 'blackmailer', 'set_SMSTree'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'send', $SMSTree[$ARGS[1]]
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+
+		wait 250
+
+		gs 'SMStext_builder', 'receive', $SMSTree['5']
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+
+		wait 250
+
+		gs 'SMStext_builder', 'receive', $SMSTree['6']
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+	gs 'SMStext_builder', 'end'
+end
 
-				$SMSTree['a12'] = 'fuck you'
-				$SMSTree['b12'] = 'Send a selfie from your galleray'
+if $ARGS[0] = 'sms_repeat_switch1':
+	gs 'blackmailer', 'set_SMSTree'
 
 	gs 'SMStext_builder', 'start'
 		gs 'SMStext_builder', 'send', $ARGS[2]
@@ -647,24 +782,27 @@ if $ARGS[0] = 'sms_repeat_switch1':
 
 		wait 250
 
-		gs 'SMStext_builder', 'receive', $SMSTree['10']
+		gs 'SMStext_builder', 'receive', $SMSTree['10' + $ARGS[1]]
 		gs 'SMStext_builder', 'show_sms', ARGS[3]
 
 		wait 250
 
-		gs 'SMStext_builder', 'receive', $SMSTree['11']
+		gs 'SMStext_builder', 'receive', $SMSTree['11' + $ARGS[1]]
 
-		if $ARGS[1] = '2':
-			gs 'SMStext_builder', 'add_reply', $SMSTree['a12'], 'blackmailer', 'sms_repeat_switch1', '1', $SMSTree['a12']
-			gs 'SMStext_builder', 'send_selfie', $SMSTree['b12'], iif(blackmailQW['stage'] < 6, 'c|sw|u|ft|fa', 'c|sw|u|n|b|sh|ft|fa|fp'), 'blackmailer', 'sms_repeat_switch2'
+		gs 'SMStext_builder', 'add_reply', $SMSTree['a12'], 'blackmailer', 'sms_repeat_end1', 'a12'
+		gs 'SMStext_builder', 'send_selfie', $SMSTree['b12'], iif(blackmailQW['stage'] < 6, 'c|sw|u|ft|fa', 'c|sw|u|n|b|sh|ft|fa|fp'), 'blackmailer', 'sms_repeat_switch2'
+		if $ARGS[1] = 'b': 
+			gs 'SMStext_builder', 'add_reply', $SMSTree['c12'], 'blackmailer', 'sms_repeat_switch3', 'c12'
+		elseif $ARGS[1] = 'c':
+			gs 'SMStext_builder', 'add_reply', $SMSTree['c12'], 'blackmailer', 'sms_repeat_switch5', 'd12'
 		end
 
 		gs 'SMStext_builder', 'show_sms', ARGS[3]
 	gs 'SMStext_builder', 'end'
-	killvar '$SMSTree'
 end
 
 
+
 !  ARGS[1] = npc_code
 ! $ARGS[2] = image
 ! $ARGS[3] = location
@@ -672,18 +810,7 @@ end
 !  ARGS[5] = self loc index
 !  ARGS[6] = selfie code
 if $ARGS[0] = 'sms_repeat_switch2':
-
-	$SMSTree['a20'] = 'WTF! i said a pic of your tits, not this boring shit'
-		$SMSTree['a21'] = 'you better bring an additional 500 <b>₽</b>!'
-
-	$SMSTree['b20'] = 'nice'
-		$SMSTree['b21'] = 'that''s worth about 500 <b>₽</b>'
-
-	$SMSTree['c20'] = 'WOW'
-		$SMSTree['c21'] = 'that''s worth about 1000 <b>₽</b>'
-
-	$SMSTree['d20'] = 'DAMN! you really are a slut aren''t you'
-		$SMSTree['d21'] = 'definitely worth 2000 <b>₽</b>'
+	gs 'blackmailer', 'set_SMSTree', $ARGS[4]
 
 	gs 'SMStext_builder', 'start'
 		gs 'SMStext_builder', 'send_img', $ARGS[2]
@@ -693,63 +820,148 @@ if $ARGS[0] = 'sms_repeat_switch2':
 
 		if $ARGS[4] = 'clothed':
 			blackmailQW['next_payment'] += 500
-			gs 'SMStext_builder', 'receive', $SMSTree['a20']
-			gs 'SMStext_builder', 'show_sms', ARGS[1]
-			wait 250
-			gs 'SMStext_builder', 'receive', $SMSTree['a21']
+			$temp_path = 'a'
 
 		elseif strpos('bikini|underwear', $ARGS[4]) > 0:
 			blackmailQW['next_payment'] -= 500
-			gs 'SMStext_builder', 'receive', $SMSTree['b20']
-			gs 'SMStext_builder', 'show_sms', ARGS[1]
-			wait 250
-			gs 'SMStext_builder', 'receive', $SMSTree['b21']
+			$temp_path = 'b'
 
 		elseif strpos('bath|shower|titflash|assflash', $ARGS[4]) > 0:
 			blackmailQW['next_payment'] -= 1000
 			if blackmailQW['stage'] = 5: blackmailQW['stage'] = 6
 			gs 'blackmailer', 'add_blackmail_selfie', $ARGS[2], $ARGS[3], $ARGS[4], ARGS[5], ARGS[6]
+			$temp_path = 'c'
 
-			gs 'SMStext_builder', 'receive', $SMSTree['b20']
-			gs 'SMStext_builder', 'show_sms', ARGS[1]
-			wait 250
-			gs 'SMStext_builder', 'receive', $SMSTree['b21']
 		elseif strpos('nude|pussyflash', $ARGS[4]) > 0:
 			blackmailQW['next_payment'] -= 2000
 			if blackmailQW['stage'] = 6: blackmailQW['stage'] = 7
 			gs 'blackmailer', 'add_blackmail_selfie', $ARGS[2], $ARGS[3], $ARGS[4], ARGS[5], ARGS[6]
+			$temp_path = 'd'
 
-			gs 'SMStext_builder', 'receive', $SMSTree['b20']
-			gs 'SMStext_builder', 'show_sms', ARGS[1]
-			wait 250
-			gs 'SMStext_builder', 'receive', $SMSTree['b21']
 		end
+
+		gs 'SMStext_builder', 'receive', $SMSTree[$temp_path + '20']
 		gs 'SMStext_builder', 'show_sms', ARGS[1]
-		if blackmailQW['next_payment'] < 0:
-			blackmailQW['next_payment'] = 0
-			blackmailQW['smsday'] = 0
-		end
 
 		wait 250
 
+		gs 'SMStext_builder', 'receive', $SMSTree[$temp_path + '21']
+		gs 'SMStext_builder', 'show_sms', ARGS[1]
+
+		wait 250
+	
 		if blackmailQW['next_payment'] > 0:
-			$SMSTree['22'] = 'don''t forget to drop ' + blackmailQW['next_payment'] + ' <b>₽</b> of in the park'
+			gs 'SMStext_builder', 'receive', $SMSTree[$temp_path + '22']
 		else
-			$SMSTree['22'] = 'you''re all settled.... for now'
+			blackmailQW['next_payment'] = 0
+			blackmailQW['smsday'] = 0
+			gs 'SMStext_builder', 'receive', $SMSTree['x22']
 		end
-	
-		gs 'SMStext_builder', 'receive', $SMSTree['22']
 		gs 'SMStext_builder', 'show_sms', ARGS[1]
 	gs 'SMStext_builder', 'end'
-	killvar '$SMSTree'
+
+	killvar 'temp_path'
 end
 
+if $ARGS[0] = 'sms_repeat_switch3':
+	gs 'blackmailer', 'set_SMSTree'
 
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'send', $SMSTree[$ARGS[1]]
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
 
-if $ARGS[0] = 'park_repeat':
-	menu_off = 1
-	gs 'stat'
+		wait 250
+
+		gs 'SMStext_builder', 'receive', $SMSTree['30']
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+
+		wait 250
+
+		gs 'SMStext_builder', 'receive', $SMSTree['31']
+		gs 'SMStext_builder', 'add_reply', $SMSTree['a31'], 'blackmailer', 'sms_repeat_end1', 'a31'
+		gs 'SMStext_builder', 'add_reply', $SMSTree['b31'], 'blackmailer', 'sms_repeat_switch4', 'b'
+		gs 'SMStext_builder', 'add_reply', $SMSTree['c31'], 'blackmailer', 'sms_repeat_switch4', 'c'
+
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+	gs 'SMStext_builder', 'end'
+end
+
+if $ARGS[0] = 'sms_repeat_switch4':
+	gs 'blackmailer', 'set_SMSTree'
 
+	if blackmailQW['stage'] < 8: blackmailQW['stage'] = 8
+	blackmailQW['smsday'] = daystart + 14
+	blackmailQW['next_payment'] = 0
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'send', $SMSTree[$ARGS[1] + '31']
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+
+		wait 250
+
+		gs 'SMStext_builder', 'receive', $SMSTree[$ARGS[1] + '32']
+
+		if $ARGS[1] = 'b':
+			!! penalty in the future when not using the proper speech
+		end
+		gs 'SMStext_builder', 'show_sms', ARGS[3]
+	gs 'SMStext_builder', 'end'
+end
+
+if $ARGS[0] = 'sms_repeat_switch4':
+	gs 'blackmailer', 'set_SMSTree'
+
+	if blackmailQW['stage'] < 8: blackmailQW['stage'] = 8
+	blackmailQW['smsday'] = daystart + 14
+	blackmailQW['next_payment'] = 0
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'send', $SMSTree[$ARGS[1] + '31']
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+
+		wait 250
+
+		gs 'SMStext_builder', 'receive', $SMSTree[$ARGS[1] + '32']
+
+		if $ARGS[1] = 'b':
+			!! penalty in the future when not using the proper speech
+		end
+		gs 'SMStext_builder', 'show_sms', ARGS[3]
+	gs 'SMStext_builder', 'end'
+end
+
+
+!! END OF CONTENT MESSAGE
+if $ARGS[0] = 'sms_repeat_switch5':
+	gs 'blackmailer', 'set_SMSTree'
+	blackmailQW['next_payment'] = 0
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'send', $SMSTree[$ARGS[1]]
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+
+		wait 250
+
+		!! END OF CONTENT MESSAGE
+		gs 'SMStext_builder', 'receive', '<i>This content is not ready yet.</i>'
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+		wait 250
+		gs 'SMStext_builder', 'receive', '<i>As a freebie your debt will be set to 0!</i>'
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+		wait 250
+		gs 'SMStext_builder', 'receive', '<i>Thank you for enjoying the Blackmailer''s content</i>'
+		gs 'SMStext_builder', 'show_sms', ARGS[2]
+		wait 250
+		gs 'SMStext_builder', 'receive', '<i>Love, Anjuna</i>'
+		gs 'SMStext_builder', 'show_sms', ARGS[3]
+	gs 'SMStext_builder', 'end'
+end
+
+
+
+
+
+if $ARGS[0] = 'park_repeat':
 	'<center><img src="images/locations/shared/park/bench_6.jpg"></center>'
 	'You walk to the familiar bench and take a seat at the edge of it.'
 
@@ -778,6 +990,6 @@ if $ARGS[0] = 'park_repeat':
 end
 
 
-
+if $ARGS[0] ! 'set_SMSTree': killvar 'SMSTree'
 
 --- blackmailer ---------------------------------

+ 0 - 2
locations/city_center.qsrc

@@ -20,8 +20,6 @@ if sound = 0:
 	end
 end
 
-!!sets return location when visiting the bank or post office
-bankloc = 1
 gs 'stat'
 
 !call random events from [street_events], and display them before show location.

+ 0 - 3
locations/city_lake.qsrc

@@ -23,9 +23,6 @@ if $ARGS[0] = 'start':
 
 	gs 'stat'
 	
-	!!Sets return location for Allure swimwear store
-	allure_pos = 0
-
 	'<center><h2>Lake</h2></center>'
 	'<center><img <<$set_imgh>> src="images/locations/city/residential/lake/lake2.jpg"></center>'
 

+ 1 - 1
locations/katja_dorm.qsrc

@@ -131,7 +131,7 @@ if $ARGS[0] = 'talk':
 			gt 'Katja_dorm', 'lazar_pussy_talk'
 		else
 			if katjaQW['lazer_anal_talk'] = 0 and katjaQW['lazer_anal'] = 0 and katjaQW['boy_block'] = 0 and katjaQW['slut'] >= 60 and katjaQW['lazar_uni_meet'] = 1 and katjaQW['horny'] >= 40 and npc_sex['A14'] > 0 and katjaQW['sex_clossedness'] = 0:
-			!!If Katja have been corrupted enough, have had sex with the player and Lazar have hit on her and Sveta at the uni cafe. She will if she is horny ask the player if the should have anal sex with him, provided they have not already done so before.
+				!!If Katja have been corrupted enough, have had sex with the player and Lazar have hit on her and Sveta at the uni cafe. She will if she is horny ask the player if the should have anal sex with him, provided they have not already done so before.
 				gt 'Katja_dorm', 'lazar_anal_talk'
 			else
 				if min(katjaQW['horny'],100) > rand(40,400) or (katjaQW['QWstage'] = 2 and katjaQW['boy_block'] = 0 and min(katjaQW['horny'],100) > rand(40,160)) and katjaQW['sex_clossedness'] < 2:

+ 6 - 6
locations/katja_meynold_schedule.qsrc

@@ -235,7 +235,7 @@ else
 			if hour < 7:
 				!!Dormroom - Asleep
 				locat['katja'] = 20
-			elseif hour < 7 and minut < 15:
+			elseif hour = 7 and minut < 15:
 				!!Shered Dorm Shower - Taking A shower.
 				locat['katja'] = 21
 			elseif hour = 7 and minut < 45:
@@ -606,11 +606,11 @@ else
 				elseif hour = 21 and minut < 45:
 					!!Pav streets - walks to the train station/waiting at the platform
 					locat['katja'] = 46
-				elseif hour = 21 or (hour < 23 and minut < 45):
+				elseif hour = 21 or hour = 22 or (hour = 23 and minut < 15):
 					!!Train - traveling from Pav to the city.
 					locat['katja'] = 47
-				elseif hour < 23:
-					!!Metro - traveling from the trainstation to the dorm
+				elseif hour < 23 and minut < 30:
+					!!Metro - traveling from the train station to the dorm
 					locat['katja'] = 48
 				else
 					!!Dormroom - sleeping. 
@@ -664,10 +664,10 @@ else
 				elseif hour = 21 and minut < 45:
 					!!Pav streets - walks to the train station/waiting at the platform
 					locat['katja'] = 46
-				elseif hour = 21 or (hour < 23 and minut < 45):
+				elseif hour = 21 or hour = 22 or (hour < 23 and minut < 15):
 					!!Train - traveling from Pav to the city.
 					locat['katja'] = 47
-				elseif hour < 23:
+				elseif hour < 23 and minut < 30:
 					!!Metro - traveling from the trainstation to the dorm
 					locat['katja'] = 48
 				else

+ 0 - 4
locations/pav_commercial.qsrc

@@ -25,10 +25,6 @@ cla
 litltown = 1
 alkoblock = 0
 boynumBlock = 0
-!!sets the return location for bank and post office
-bankloc = 0
-!!sets the return location for allure swimwear store
-allure_pos = 1
 
 !call random events from [street_events], and display them before show location.
 if streetevent_hour + 2 < hour:gt'street_event','pav_commercial', 'main'

+ 53 - 40
locations/post_office.qsrc

@@ -1,14 +1,22 @@
 # post_office
 
+if $ARGS[1] = 'leave':
+	if $region = 'city':
+		gt 'city_center'
+	else
+		gt 'pav_commercial'
+	end
+end
+
+
 if $ARGS[0] = 'start':
 	*clr & cla
 	$menu_loc = 'post_office'
 	$menu_arg = 'start'
 	menu_off = 0
 	gs 'stat'
-	$postloc = ''
 
-	act 'Leave': $postloc = 'leave' & gt 'post_office'
+	act 'Leave': minut += 3 & gt 'post_office', 'leave'
 
 	if (hour >= 9 and hour <= 10) or (hour >= 15 and hour <=16):
 
@@ -20,7 +28,7 @@ if $ARGS[0] = 'start':
 			cla
 			minut += 30
 			gs 'stat'
-			$postloc = 'counter' & gt 'post_office'
+			gt 'post_office', 'counter'
 		end
 
 		if exhibitionist_lvl > 2:
@@ -34,7 +42,7 @@ if $ARGS[0] = 'start':
 					gs 'flash', 'full', 'inside', 1
 					gs 'stat'
 
-					act 'Go to the counter': $postloc = 'counter' & gt 'post_office'
+					act 'Go to the counter': gt 'post_office', 'counter'
 				end
 			else
 				act 'Flash both your tits and your pussy to skip the line (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -52,7 +60,7 @@ if $ARGS[0] = 'start':
 					gs 'flash', 'pussy', 'inside', 1
 					gs 'stat'
 
-					act 'Go to the counter': $postloc = 'counter' & gt 'post_office'
+					act 'Go to the counter': gt 'post_office', 'counter'
 				end
 			else
 				act 'Flash your pussy to skip the line (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -70,7 +78,7 @@ if $ARGS[0] = 'start':
 					gs 'flash', 'tits', 'inside', 1
 					gs 'stat'
 
-					act 'Go to the counter': $postloc = 'counter' & gt 'post_office'
+					act 'Go to the counter': gt 'post_office', 'counter'
 				end
 			else
 				act 'Flash your tits to skip the line (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
@@ -111,7 +119,7 @@ if $ARGS[0] = 'start':
 							gs 'arousal', 'end'
 							gs 'stat'
 
-							act 'Go to the counter': $postloc = 'counter' & gt 'post_office'
+							act 'Go to the counter': gt 'post_office', 'counter'
 						end
 
 						act 'Cum in your mouth':
@@ -122,23 +130,18 @@ if $ARGS[0] = 'start':
 							gs 'arousal', 'end'
 							gs 'stat'
 
-							act 'Go to the counter': $postloc = 'counter' & gt 'post_office'
+							act 'Go to the counter': gt 'post_office', 'counter'
 						end
 
 					else
+						minut += 5
+						gs 'pain', 4, 'tummy', 'hit'
+						gs 'stat'
 						'<center><video autoplay loop src="images/locations/shared/postoffice/punch.mp4"></video></center>'
 						'The man punches you in the gut. "Go away bitch, your face is covered in cum!"' 
 						'You quickly stagger away.'
-						minut += 120
-						gs 'pain', 4, 'tummy', 'hit'
 
-						act 'Recover':
-							if bankloc = 1:
-								gt 'city_center'
-							else
-								gt 'pav_commercial'
-							end
-						end
+						act 'Recover': minut += rand(3, 5) & gt 'post_office', 'leave'
 					end
 				end
 			else
@@ -151,14 +154,14 @@ if $ARGS[0] = 'start':
 		'It is currently quiet and you can walk straight up to the counter.'
 
 		act 'Go to the counter':
-			$postloc = 'counter' & gt 'post_office'
+			gt 'post_office', 'counter'
 		end
 	end
 
-	if bankloc = 0: act 'Go to the Postmaster''s office': gt 'post_master', 'start'
+	if $region = 'pav': act 'Go to the Postmaster''s office': gt 'post_master', 'start'
 end
 
-if $postloc = 'counter':
+if $ARGS[1] = 'counter':
 	*clr & cla
 	$menu_loc = 'post_office'
 	$menu_arg = 'counter'
@@ -167,7 +170,7 @@ if $postloc = 'counter':
 	'<center><img <<$set_imgh>> src="images/locations/shared/postoffice/counter.jpg"></center>'
 	'There''s nothing interesting happening. It''s rather boring here.'
 
-	act 'Leave': $postloc = 'leave' & gt 'post_office'
+	act 'Leave': minut += 3 & gt 'post_office', 'leave'
 
 	if bankAccount = 1 and money > 0:
 		act 'Deposit money into your bank account':
@@ -188,8 +191,8 @@ if $postloc = 'counter':
 
 			'"Is there anything else I can do for you?"'
 
-			act 'Leave the post office': $postloc = 'leave' & gt 'post_office'
-			act 'Yes': $postloc = 'counter' & gt 'post_office'
+			act 'Leave the post office': minut += 3 & gt 'post_office', 'leave'
+			act 'Yes': gt 'post_office', 'counter'
 		end
 	end
 
@@ -232,7 +235,7 @@ if $postloc = 'counter':
 				'<center><img <<$set_imgh>> src="images/locations/shared/postoffice/counter.jpg"></center>'
 				'You pay the full amount of your outstanding fine(s) to the cashier and they print out a receipt to say that it''s paid off.'
 
-				act 'Done': $postloc = 'counter' & gt 'post_office'
+				act 'Done': gt 'post_office', 'counter'
 			end
 		end
 	end
@@ -248,7 +251,7 @@ if $postloc = 'counter':
 			else
 				'Unfortunately, you have no money to submit the test. They would just throw it out without the receipt of payment.'
 			end
-			act 'Done': $postloc = 'counter' & gt 'post_office'
+			act 'Done': gt 'post_office', 'counter'
 		end
 	end
 
@@ -257,16 +260,17 @@ if $postloc = 'counter':
 		menu_off = 1
 		gs 'stat'
 		minut += 5
-		if mail <= 0:
+		if mail[$region] <= 0 and mail['all'] <= 0:
 			'You have no mail.'
 		else
 			'You have mail.'
+			act 'Pickup your mail': gt 'post_office', 'pickup_mail'
 		end
 
 		'"Is there anything else I can do for you?"'
 
-		act 'Yes': $postloc = 'counter' & gt 'post_office'
-		act 'Leave the post office': $postloc = 'leave' & gt 'post_office'
+		act 'Yes': gt 'post_office', 'counter'
+		act 'Leave the post office': minut += 3 & gt 'post_office', 'leave'
 	end
 
 	i = 0
@@ -310,11 +314,11 @@ if $postloc = 'counter':
 
 			if obmennik <= 0:
 				'<center><br><b>Invalid operation.</b></center>'
-				act 'Return': $postloc = 'counter' & gt 'post_office'
+				act 'Return': gt 'post_office', 'counter'
 			else
 				if money < obmennik:
 					'<center><br>You do not have <b><<obmennik>></b> <b>₽</b>.</center>'
-					act 'Return': $postloc = 'counter' & gt 'post_office'
+					act 'Return': gt 'post_office', 'counter'
 				end
 
 				if money >= obmennik:
@@ -326,15 +330,15 @@ if $postloc = 'counter':
 
 					'"Is there anything else I can do for you?"'
 
-					act 'Yes': $postloc = 'counter' & gt 'post_office'
-					act 'Leave the post office': $postloc = 'leave' & gt 'post_office'
+					act 'Yes': gt 'post_office', 'counter'
+					act 'Leave the post office': gt 'post_office', 'counter'
 				end
 			end
 		end
 	end
 }
 !!{	Might use for the city branch, but seems ott for Pav
-	if askWork = 0 and bankloc = 0:
+	if askWork = 0 and $region = 'pav':
 		act 'Ask for work':
 			*clr & cla
 			askWork += 1
@@ -348,18 +352,27 @@ if $postloc = 'counter':
 }
 end
 
-if $postloc = 'leave':
-	minut += 3
-	killvar '$postloc'
-	if bankloc = 1:
-		gt 'city_center'
+if $ARGS[0] = 'pickup_mail':
+	'<center><img src="images/locations/shared/postoffice/worker.jpg"></center>'
+
+	if mail[$region] > 0 or mail['all'] > 0:
+		'You have <<mail[$region] + mail[''all'']>> pieces of mail left to pickup.'
 	else
-		gt 'pav_commercial'
+		'You have collected all your mail.'
 	end
+
+	gs 'blackmailer', 'set_post_act'
+
+	act 'Go back': gt 'post_office', 'counter'
+	act 'Leave': minut += 3 & gt 'post_office', 'leave'
+
 end
 
+
+
 !! Not used for Pav, maybe use for city?
-if $postloc = 'post_off':
+!! Not used currently
+if $ARGS[1] = 'post_off':
 	*clr & cla
 	menu_off = 1
 	minut += 30

+ 2 - 2
locations/shop_allure.qsrc

@@ -11,7 +11,7 @@ if $ARGS[0] = 'start':
 	gs 'stat'
 	gs 'themes', 'indoors'
 	'<center><b><font color="maroon">shop_allure</font></b></center>'
-	if allure_pos = 1:
+	if $region = 'pav':
 		'<center><img src="images/locations/pavlovsk/commercial/allure/shop.jpg"></center>'
 	else
 		'<center><img src="images/locations/city/residential/lake/allure/shop.jpg"></center>'
@@ -23,7 +23,7 @@ if $ARGS[0] = 'start':
 	act 'Leave':
 		cla
 		minut += 3
-		if allure_pos = 1:
+		if $region = 'pav':
 			minut += 3
 			gt 'pav_commercial'
 		else

+ 2 - 3
locations/shoplifting.qsrc

@@ -682,8 +682,6 @@ if $ARGS[0] = 'pav':
 
 						act 'Catch your breath': gt 'pav_commercial'
 					else
-						policeQW['shoplift_caught'] += 1
-						!ADD 1 TO THE CAUGHT COUNTER
 						'You keep running while the security guard follows close behind... You turn a corner and then quickly take another corner as you try to shake him off...'
 						'But the guard is not easily giving up, and as you turn the corner, you reach a dead-end. You quickly try to turn around and run another way but it''s too late as you''re tackled.'
 						'Lying on the ground, the security guard quickly lifts you up and leads you toward the security room.'
@@ -709,11 +707,12 @@ if $ARGS[0] = 'securityroom_pav':
 	*clr & cla
 	minut += 5
 	policeQW['shoplift_value'] = 1300
+	policeQW['shoplift_caught'] += 1
 	gs 'stat'
 
 	'<center><img <<$set_imgh>> src="images/locations/city/shared/shoplift/caught.jpg"></center>'
 
-	if policeQW['shoplift_caught'] = 0:
+	if policeQW['shoplift_caught'] = 1:
 		'"Where are you taking me?" you shout out, "I haven''t done anything wrong!" You look around trying to catch someone''s attention. People are staring at you in disgust and turning their heads.'
 		'The security guard keeps quiet as he forcefully pushes you away from the supermarket. You go through a dark hallway and stop at a door, which he unlocks before pushing you inside.'
 		'He orders you to take a seat on a basic chair, and you quietly comply...'

+ 6 - 4
locations/telefon.qsrc

@@ -136,12 +136,13 @@ if $ARGS[0] = 'SetCallSchedule':
 	if telefonCon['ContactListID'] = -1:
 		!! If the contact does not exist, create an anonymous contact.
 		gs 'telefon', 'AddContact', $telefonCon['NPC'], 'icon_na', 1
+		telefonCon['ContactListID'] = arrsize('$contact') - 1
 	end
 
 	$telefonCon['OutCode'] = $ARGS[2]
-	if $ARGS[3] ! '': $telefonCon['OutSched'] = $ARGS[3] else $telefonCon['OutSched'] = "0"
+	$telefonCon['OutSched'] = iif($ARGS[3] ! '', $ARGS[3], "0")
 	$telefonCon['InCode'] = $ARGS[4]
-	if $ARGS[5] ! '': $telefonCon['InSched'] = $ARGS[5] else $telefonCon['InSched'] = "0"
+	$telefonCon['InSched'] = iif($ARGS[5] ! '', $ARGS[5], "0")
 
 	$contactOCode[telefonCon['ContactListID']] = $telefonCon['OutCode']
 	$contactOSche[telefonCon['ContactListID']] = $telefonCon['OutSched']
@@ -176,12 +177,13 @@ if $ARGS[0] = 'SetSMSSchedule':
 	if telefonCon['ContactListID'] = -1:
 		!! If the contact does not exist, create an anonymous contact.
 		gs 'telefon', 'AddContact', $telefonCon['NPC'], 'icon_na', 1
+		telefonCon['ContactListID'] = arrsize('$contact') - 1
 	end
 
 	$telefonCon['OutSMSCode'] = $ARGS[2]
-	if $ARGS[3] ! "": $telefonCon['OutSMSSched'] = $ARGS[3] else $telefonCon['OutSMSSched'] = "0"
+	$telefonCon['OutSMSSched'] = iif($ARGS[3] ! '', $ARGS[3], "0")
 	$telefonCon['InSMSCode'] = $ARGS[4]
-	if $ARGS[5] ! "": $telefonCon['InSMSSched'] = $ARGS[5] else $telefonCon['InSMSSched'] = "0"
+	$telefonCon['InSMSSched'] = iif($ARGS[5] ! '', $ARGS[5], "0")
 
 	$contactOSMSCode[telefonCon['ContactListID']] = $telefonCon['OutSMSCode']
 	$contactOSMSSche[telefonCon['ContactListID']] = $telefonCon['OutSMSSched']