ソースを参照

[added] Next part of the blackmail storyline

anjuna krokus 1 ヶ月 前
コミット
3f3900ef2f

+ 268 - 8
locations/blackmailer.qsrc

@@ -3,7 +3,7 @@
 if $ARGS[0] = 'init_check':
 	if blackmailQW['day'] ! 0: exit
 	if ($ARGS[2] = 'inside' or $ARGS[2] = 'indoors'):
-		if strpos($loc, 'church') < 0: exit
+		if strpos($loc, 'church') <= 0: exit
 	end
 
 
@@ -25,7 +25,7 @@ if $ARGS[0] = 'init_check':
 		temp_prob_chance -= 100
 	end
 
-	if rand(0, temp_prob_chance) >= 5: exit
+	if rand(0, temp_prob_chance) >= 5: killvar 'temp_prob_chance' & exit
 	killvar 'temp_prob_chance'
 
 	gs 'blackmailer', 'init_blackmail', $ARGS[1]
@@ -50,14 +50,16 @@ if $ARGS[0] = 'init_blackmail':
 	$blackmailQW['init_flashimage'] = $flash_image
 	$blackmailQW['init_flashloc'] = $loc
 	$blackmailQW['init_flashloc_arg'] = $loc_arg
+	$blackmailQW['init_flashregion'] = $region
+	blackmailQW['total_material'] = 1
 
-	if strpos($loc, 'park') > -1:
+	if strpos($loc, 'park') > 0:
 		$blackmailQW['init_flashloc_desc'] = 'in a park'
 		'A flash of light briefly brightens the surrounding trees and you see a shadow darting between the trees. The light of the camera flash prickling on your exposed skin.'
-	elseif strpos($loc, 'church') > -1:
-		$blackmailQW['init_flashloc_desc'] = 'in a park'
+	elseif strpos($loc, 'church') > 0:
+		$blackmailQW['init_flashloc_desc'] = 'in a church'
 		'The flash of a camera illuminates the inside of the church, but the source eludes you.'
-	elseif strpos($loc, 'zaprF') > -1:
+	elseif strpos($loc, 'zaprF') > 0:
 		$blackmailQW['init_flashloc_desc'] = 'while washing cars'
 		'You briefly think a car turned on their headlights, before you realise it was the flash of a camera, the source of which already gone.'
 	else
@@ -73,6 +75,34 @@ end
 
 
 
+	!!=============================================!!
+	!!                                             !!
+	!!                    CIKL                     !!
+	!!                                             !!
+	!!=============================================!!
+
+
+if $ARGS[0] = 'cikl':
+	if blackmailQW['stage'] = 3 and blackmailQW['smsday'] = 0:
+		blackmailQW['smsday'] = blackmailQW['dreamday'] + 3
+		gs 'telefon', 'Blackmailer', 'icon_na', 1
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS1'", "daystart > blackmailQW['smsday'] and (hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	elseif daystart = blackmailQW['smsday'] and blackmailQW['next_payment'] > 0:
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS1_reminder'", "(hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	elseif daystart > blackmailQW['smsday'] and blackmailQW['next_payment'] > 0:
+		gs 'telefon', 'SetSMSSchedule', "", "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)"
+
+	!Currently repeating content
+	elseif blackmailQW['stage'] = 5 and blackmailQW['smsday'] = 0:
+		blackmailQW['smsday'] = daystart + rand(0, 13) + 6
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS_repeat'", "daystart > blackmailQW['smsday'] and (hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	end
+end
+
+
+
+
+
 	!!=============================================!!
 	!!                                             !!
 	!!                   DREAMS                    !!
@@ -99,7 +129,7 @@ end
 if $ARGS[0] = 'photo_dream1':
 	if blackmailQW['stage'] = 1: blackmailQW['stage'] = 2
 	blackmailQW['dreamday'] = daystart + 3
-	if strpos('panty_pantyrear_bra', $blackmailQW['init_flashaction']):
+	if strpos('panty_pantyrear_bra', $blackmailQW['init_flashaction']) > 0:
 		gs 'arousal', 'flashlite', -5
 	else
 		gs 'arousal', 'flash', -5
@@ -117,7 +147,12 @@ if $ARGS[0] = 'photo_dream1':
 	gs 'dream_events', 'event_end'
 
 elseif $ARGS[0] = 'photo_dream2':
-	if blackmailQW['stage'] = 2: blackmailQW['stage'] = 3
+	if blackmailQW['stage'] = 2:
+		blackmailQW['stage'] = 3
+		blackmailQW['smsday'] = daystart + 6
+		gs 'telefon', 'Blackmailer', 'icon_na', 1
+		gs 'telefon', 'SetSMSSchedule', "", "0", "gs 'blackmailer', 'Add_SMS1'", "daystart > blackmailQW['smsday'] and (hour >= 14 and hour <= 19 and rand(0, 100) = 0 or hour = 19 and minut >= 22 or hour = 20)"
+	end
 	blackmailQW['dreamday'] = daystart + 3
 	gs 'arousal', 'flash', -5
 	gs 'arousal', 'end'
@@ -215,4 +250,229 @@ end
 
 
 
+	!!=============================================!!
+	!!                                             !!
+	!!                     SMS                     !!
+	!!                                             !!
+	!!=============================================!!
+
+
+if $ARGS[0] = 'Add_SMS1':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['stage'] = 4
+	blackmailQW['smsday'] = daystart + 2
+	blackmailQW['next_payment'] = rand(50, 100) * 10
+
+	$SMSTree['0'] = '"Hello <<pcs_firstname>>!"'
+
+		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:
+			$SMSTree['1'] = '"If you don''t want your friends to see this image you will do exactly as I say"'
+		else
+			$SMSTree['1'] = '"If you don''t want the world to see this image you will do exactly as I say"'
+		end
+
+				$SMSTree['2'] = '"Leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, I know you know which one."'
+					$SMSTree['3'] = '"You have three days"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'receive', $SMSTree['3']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+if $ARGS[0] = 'Add_SMS1_reminder':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+
+	$SMSTree['0'] = '"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'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+if $ARGS[0] = 'Add_SMS_failure':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['stage'] = -1
+
+	$SMSTree['0'] = '"Guess you like it when people know you''re a whore."'
+		$SMSTree['1'] = '"or you didn''t think I''d go through with it"'
+			$SMSTree['2'] = '"we''ll see"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+
+	if blackmailQW['stage'] < 5:
+		if blackmailQW['init_flashregion'] = 'city':
+			fame['city_sex'] += 2 * blackmailQW['total_material']
+		elseif blackmailQW['init_flashregion'] = 'gad':
+			fame['gad_sex'] += 10 * blackmailQW['total_material']
+		else
+			fame['pav_sex'] += 5 * blackmailQW['total_material']
+		end
+	end
+end
+
+
+if $ARGS[0] = 'Add_SMS_repeat':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['stage'] = blackmailQW['stage'] * 10 + 1
+	blackmailQW['smsday'] = daystart + 2
+	blackmailQW['next_payment'] = rand(50, 100) * 10
+
+	$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:
+			$SMSTree['1'] = '"If you don''t want your friends to see this image you will do exactly as I say"'
+		else
+			$SMSTree['1'] = '"If you don''t want the world to see this image you will do exactly as I say"'
+		end
+
+				$SMSTree['2'] = '"Leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, I know you know which one."'
+					$SMSTree['3'] = '"You have three days"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'receive', $SMSTree['3']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                    PARK                     !!
+	!!                                             !!
+	!!=============================================!!
+
+if $ARGS[0] = 'set_park_act':
+	if blackmailQW['next_payment'] > 0:
+		act 'Walk to the fourth bench to pay your blackmailer':
+			minut += 3
+			if blackmailQW['stage'] = 4:
+				gt 'blackmailer', 'park1'
+			else
+				gt 'blackmailer', 'park_repeat'
+			end
+		end
+	end
+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.'
+
+	if money < blackmailQW['next_payment']:
+		act 'Hide the money (<font color="red"><<blackmailQW[''next_payment'']>> <b>₽</b></font>)': '<br><font color="red">You don''t have enough money to do that.</font>'
+	else
+		act 'Hide the money (<<blackmailQW[''next_payment'']>> <b>₽</b>)':
+			*clr & cla
+			money -= blackmailQW['next_payment']
+			blackmailQW['total_payment'] += blackmailQW['next_payment']
+			blackmailQW['next_payment'] = 0
+			blackmailQW['stage'] = 5
+			blackmailQW['smsday'] = 0
+
+			minut += 1
+			gs 'stat'
+
+			act 'Quickly walk away': gt $loc, $loc_arg
+		end
+	end
+
+	act 'Walk away': gt $loc, $loc_arg
+end
+
+
+
+
+	!!=============================================!!
+	!!                                             !!
+	!!                  REPEATING                  !!
+	!!                                             !!
+	!!=============================================!!
+
+if $ARGS[0] = 'Add_SMS_repeat':
+	gs 'telefon', 'ClearSMSSchedule', 'Blackmailer'
+	blackmailQW['smsday'] = daystart + 2
+	blackmailQW['next_payment'] = rand(50, 100) * 10
+
+	$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:
+			$SMSTree['1'] = '"If you don''t want your friends to see this image you will do exactly as I say"'
+		else
+			$SMSTree['1'] = '"If you don''t want the world to see this image you will do exactly as I say"'
+		end
+
+				$SMSTree['2'] = '"Leave <<blackmailQW[''next_payment'']>> <b>₽</b> beneath the fourth park bench, I know you know which one."'
+					$SMSTree['3'] = '"You have three days"'
+
+	gs 'SMStext_builder', 'start'
+		gs 'SMStext_builder', 'receive', $SMSTree['0']
+		gs 'SMSText_builder', 'receive_img', $blackmailQW['init_flashimage'] + '.jpg'
+		gs 'SMStext_builder', 'receive', $SMSTree['1']
+		gs 'SMStext_builder', 'receive', $SMSTree['2']
+		gs 'SMStext_builder', 'receive', $SMSTree['3']
+		gs 'SMStext_builder', 'send', 'Blackmailer'
+	gs 'SMStext_builder', 'end'
+	killvar '$SMSTree'
+end
+
+
+if $ARGS[0] = 'park_repeat':
+	menu_off = 1
+	gs 'stat'
+
+	'<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.'
+
+	if money < blackmailQW['next_payment']:
+		act 'Hide the money (<font color="red"><<blackmailQW[''next_payment'']>> <b>₽</b></font>)': '<br><font color="red">You don''t have enough money to do that.</font>'
+	else
+		act 'Hide the money (<<blackmailQW[''next_payment'']>> <b>₽</b>)':
+			*clr & cla
+			money -= blackmailQW['next_payment']
+			blackmailQW['total_payment'] += blackmailQW['next_payment']
+			blackmailQW['next_payment'] = 0
+
+			minut += 1
+			gs 'stat'
+
+			act 'Quickly walk away': gt $loc, $loc_arg
+		end
+	end
+
+	act 'Walk away': gt $loc, $loc_arg
+end
+
+
+
+
 --- blackmailer ---------------------------------

+ 3 - 0
locations/cikl.qsrc

@@ -1320,5 +1320,8 @@ if arrsize('policeQW_courthearing_dates') > 1:
 	gs 'shortgs', 'coupled_array_sort', 'policeQW_courthearing_dates', '$policeQW_courthearing_subjects'
 end
 
+if blackmailQW['stage'] > 0: gs 'blackmailer', 'cikl'
+
+
 --- cikl ---------------------------------
 

+ 3 - 5
locations/city_park.qsrc

@@ -4,12 +4,8 @@ $location_type = 'public_outdoors'
 
 if $ARGS[0] = 'start':
 	CLOSE ALL
-
-	$loc_arg = 'start'
-	$loc = 'city_park'
+	gs 'shortgs', 'setloc', 'city_park', 'start'
 	$region = 'city'
-	$menu_loc = 'city_park'
-	$menu_arg = 'start'
 	$locclass = 'city_park'
 	menu_off = 0
 	if sound = 0:
@@ -250,6 +246,8 @@ if $ARGS[0] = 'start':
 			act 'Continue': gt 'city_park', 'start'
 		end
 	end
+
+	gs 'blackmailer', 'set_park_act'
 end
 
 if $ARGS[0] = 'luna':

+ 14 - 25
locations/gadforest.qsrc

@@ -3,23 +3,18 @@
 
 if $ARGS[0] = 'forest_edge':
 	*clr & cla
+	gs 'shortgs', 'setloc', 'gadforest', 'forest_edge'
+	$region = 'gad'
+	$location_type = 'secluded'
+	$forest_args1 = 'forest_edge'
 
 	! force Mira to stay here if Sveta brought Mira here by choice - temporarily overrides Miras schedule to not annoy the player
 	Mira_Stay = iif($loc ! 'Miroslava', 1 , 0)
 
 	clothesAtLocation = FUNC('lost_clothes_here','forest_edge')
 
-	$loc = 'gadforest'
-	$loc_arg = 'forest_edge'
-	$region = 'gad'
-	$location_type = 'secluded'
-	
-	$menu_loc = 'gadforest'
-	$menu_arg = 'forest_edge'
 	menu_off = 0
 
-	$forest_args1 = 'forest_edge'
-
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
 	gs 'stat'
@@ -342,23 +337,21 @@ if $ARGS[0] = 'forest_edge':
 
 	gs 'gadforest', 'picking'
 	gs 'camera', 'check_location'
+
+	gs 'blackmailer', 'set_park_act'
 end
 
 if $ARGS[0] = 'forest_outskirts':
 	*clr & cla
+	gs 'shortgs', 'setloc', 'gadforest', 'forest_outskirts'
+	$location_type = 'secluded'
+	$region = 'gad_forest'
+	$forest_args1 = 'forest_outskirts'
 
 	clothesAtLocation = FUNC('lost_clothes_here','forest_outskirts')
 
-	$loc = 'gadforest'
-	$loc_arg = 'forest_outskirts'
-	$location_type = 'secluded'
-	$region = 'gad_forest'
-	$menu_loc = 'gadforest'
-	$menu_arg = 'forest_outskirts'
 	menu_off = 0
 
-	$forest_args1 = 'forest_outskirts'
-
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
 	gs 'stat'
@@ -426,19 +419,15 @@ end
 
 if $ARGS[0] = 'forest_center':
 	*clr & cla
+	gs 'shortgs', 'setloc', 'gadforest', 'forest_center'
+	$region = 'gad_forest'
+	$location_type = 'secluded'
+	$forest_args1 = 'forest_center'
 
 	clothesAtLocation = FUNC('lost_clothes_here','forest_center')
 
-	$loc = 'gadforest'
-	$loc_arg = 'forest_center'
-	$region = 'gad_forest'
-	$location_type = 'secluded'
-	$menu_loc = 'gadforest'
-	$menu_arg = 'forest_center'
 	menu_off = 0
 
-	$forest_args1 = 'forest_center'
-
 	CLOSE ALL
 	gs 'gadukino_event', 'sound'
 	gs 'stat'

+ 27 - 0
locations/journal_quests.qsrc

@@ -528,6 +528,33 @@ if $ARGS[0] = 'start':
 			end
 		end
 	end
+	if pcs_inhib >= 35:
+		'<center><h3>Blackmailer</h3></center>'
+		if blackmailQW['stage'] = 0:
+			'It would be rather unfortunate if somebody caught you while you were flashing.'
+			'<it>There is a small, small, chance of getting caught while flashing in a park, in a church, and while washing cards.</it>'
+		elseif blackmailQW['stage'] < 0:
+			'You have refused the blackmailer once too many times.'
+		elseif blackmailQW['stage'] > 0 and blackmailQW['stage'] <= 3:
+			'You got caught while flashing! Who knows what could happen in the future?'
+		elseif blackmailQW['stage'] >= 4:
+			if blackmailQW['next_payment'] = 0:
+				'You have paid your blackmailer, but how long will that keep them quiet?'
+			else
+				'Your blackmailer has demanded you to leave <<blackmailQW[''next_payment'']>> <b>₽</b> in the nearest park.'
+				if daystart < blackmailQW['smsday'] - 1:
+					'You have <<blackmailQW[''smsday''] - daystart>> days left'
+				elseif daystart = blackmailQW['smsday'] - 1:
+					'You have until tomorrow.'
+				elseif daystart = blackmailQW['smsday']:
+					'You have until tonight!'
+				else
+					'You were too late!!'
+				end
+				'<it>You can leave the cash in the city, pav, and pushkin parks, and the gadukino forest.</it>'
+			end
+		end
+	end
 end
 
 if yearstart > 1 and university['enrolled_in_semester'] > university['semester_passed']:

+ 3 - 4
locations/pav_park.qsrc

@@ -34,12 +34,9 @@ end
 
 if $ARGS[0] = 'start':
 	*clr & cla
-	$loc = 'pav_park'
+	gs 'shortgs', 'setloc', 'pav_park', 'start'
 	$region = 'pav'
-	$loc_arg = 'start'
 	$location_type = 'public_outdoors'
-	$menu_loc = 'pav_park'
-	$menu_arg = 'start'
 	$locclass = 'city_park'
 	menu_off = 0
 	gs 'stat'
@@ -312,6 +309,8 @@ if $ARGS[0] = 'start':
 	gs 'prostitution_functions', 'check_solicitation_event'
 
 	gs 'camera', 'check_location'
+
+	gs 'blackmailer', 'set_park_act'
 end
 
 ! Albina Starlets events.

+ 2 - 0
locations/pushkin_parks.qsrc

@@ -72,6 +72,8 @@ if $ARGS[0] = 'start':
 			act 'Continue': gt 'pushkin_parks', 'start'
 		end
 	end
+
+	gs 'blackmailer', 'set_park_act'
 end
 
 if $ARGS[0] = 'lug':

+ 20 - 0
locations/saveupdater.qsrc

@@ -2860,6 +2860,26 @@ if temp_current_save_version < 00090300:
 		killvar 'temp_maxi'
 		killvar 'temp_i'
 	end
+
+
+	!! region added to the blackmailer array:
+	if $blackmailQW['init_flashloc'] ! '' and $blackmailQW['init_flashregion'] = '':
+		if strpos($blackmailQW['init_flashloc'], 'city') > 0:
+			$blackmailQW['init_flashregion'] = 'city'
+		elseif strpos($blackmailQW['init_flashloc'], 'pav') > 0:
+			$blackmailQW['init_flashregion'] = 'pav'
+		elseif strpos($blackmailQW['init_flashloc'], 'gad') > 0:
+			$blackmailQW['init_flashregion'] = 'gad'
+		elseif strpos($blackmailQW['init_flashloc'], 'pushkin') > 0:
+			$blackmailQW['init_flashregion'] = 'pushkin'
+		elseif $start_type['loc'] = 'city':
+			$blackmailQW['init_flashregion'] = 'city'
+		else
+			$blackmailQW['init_flashregion'] = 'pav'
+		end
+
+		blackmailQW['total_material'] = 1
+	end
 end