Преглед изворни кода

Merge branch 'master' of hashdotbang/glife into master

Vengeance_11 пре 3 година
родитељ
комит
3e7fedd995

+ 2 - 0
glife.qproj

@@ -174,6 +174,7 @@
 		<Location name="purses"/>
 		<Location name="$purse_image"/>
 		<Location name="sewing"/>
+		<Location name="camera"/>
 	</Folder>
 	<Folder name="Phone">
 		<Location name="telefon"/>
@@ -821,6 +822,7 @@
 		<Location name="city_musicstore"/>
 		<Location name="city_musicstore_stock"/>
 		<Location name="shop_materinstvo"/>
+		<Location name="shop_photography"/>
 	</Folder>
 	<Folder name="Salon">
 		<Location name="salon"/>

+ 1 - 0
locations/ParChurch.qsrc

@@ -52,6 +52,7 @@ if $ARGS[0] = 'start':
 			act 'Enter the church': gt 'ParChurch' , 'Narthex'
 		end
 	end
+	gs 'camera', 'check_location'
 end
 
 if $ARGS[0] = 'Mom':

+ 371 - 0
locations/camera.qsrc

@@ -0,0 +1,371 @@
+# camera
+
+! $camera_locations is an array of dynamics that describe various camera event locations that a player can photograph.
+! The named index in $camera_locations should match the $loc name where a player may want to take a picture
+! Other variables:
+!	$camera_description = the text rendered in photo actions
+!	$camera_event = a named event in the camera location that has special handling for the location
+!	$camera_return_loc = the location the player should be returned to after the event
+!	$camera_return_loc_arg = argument for the location
+$camera_locations['city_library'] = {
+	$camera_description = 'City Library'
+	$camera_event = 'city_library'
+	$camera_return_loc = 'city_center'
+	$camera_return_loc_arg = ''
+}
+
+$camera_locations['city_island'] = {
+	$camera_description = 'University'
+	$camera_event = 'city_uni'
+	$camera_return_loc = 'city_island'
+	$camera_return_loc_arg = ''
+}
+
+$camera_locations['gadukino'] = {
+	$camera_description = 'Gadukino Village'
+	$camera_event = 'gadukino'
+	$camera_return_loc = 'gadukino'
+	$camera_return_loc_arg = ''
+}
+
+$camera_locations['gadforest'] = {
+	$camera_description = 'Gadukino Forest'
+	$camera_event = 'gadforest'
+	$camera_return_loc = 'gadforest'
+	$camera_return_loc_arg = 'forest_edge'
+}
+
+$camera_locations['pav_complex'] = {
+	$camera_description = 'Pavlovsk Five Estates'
+	$camera_event = 'pav_complex'
+	$camera_return_loc = 'pav_complex'
+	$camera_return_loc_arg = 'start'
+}
+
+$camera_locations['pav_train'] = {
+	$camera_description = 'Pavlovsk Train Station'
+	$camera_event = 'pav_train'
+	$camera_return_loc = 'pav_train'
+	$camera_return_loc_arg = 'start'
+}
+
+$camera_locations['gschool_grounds'] = {
+	$camera_description = 'Pavlovsk School'
+	$camera_event = 'pav_school'
+	$camera_return_loc = 'gschool_grounds'
+	$camera_return_loc_arg = 'main'
+}
+
+$camera_locations['pav_park'] = {
+	$camera_description = 'Pavlovsk Park'
+	$camera_event = 'pav_park'
+	$camera_return_loc = 'pav_park'
+	$camera_return_loc_arg = 'start'
+}
+
+$camera_locations['glake'] = {
+	$camera_description = 'Pavlovsk Lake'
+	$camera_event = 'pav_lake'
+	$camera_return_loc = 'glake'
+	$camera_return_loc_arg = ''
+}
+
+$camera_locations['ParChurch'] = {
+	$camera_description = 'Pavlovsk Church'
+	$camera_event = 'pav_church'
+	$camera_return_loc = 'ParChurch'
+	$camera_return_loc_arg = 'start'
+}
+
+! People that should show up when the player is looking at her camera
+! considering who to photograph. Also used by events that attempt to
+! inject camera opportunities into existing locations
+$camera_people['mother'] = {
+	$camera_description = $npc_nickname['A29']
+	$camera_event = ''
+	$camera_return_loc = ''
+	$camera_return_loc_arg = ''
+	$camera_requirement = (npc_rel['A29'] >= 50)
+}
+
+$camera_people['sister'] = {
+	$camera_description = 'Anya'
+	$camera_event = ''
+	$camera_return_loc = ''
+	$camera_return_loc_arg = ''
+	$camera_requirement = ($npc_rel['A33'] >= 50)
+}
+
+$camera_people['anushka'] = {
+	$camera_description = 'Anushka'
+	$camera_event = ''
+	$camera_return_loc = ''
+	$camera_return_loc_arg = ''
+	$camera_requirement = ($npc_rel['A144'] >= 50)
+}
+
+$camera_people['lazar'] = {
+	$camera_description = 'Lazar'
+	$camera_event = ''
+	$camera_return_loc = ''
+	$camera_return_loc_arg = ''
+	$camera_requirement = ($npc_rel['A149'] >= 50)
+}
+
+$camera_people['eugene'] = {
+	$camera_description = 'Eugene'
+	$camera_event = ''
+	$camera_return_loc = ''
+	$camera_return_loc_arg = ''
+	$camera_requirement = (LCEugenefirst >= 1)
+}
+
+
+if $ARGS[0] = 'start':
+	*clr & cla
+	'<center><img src="images/pc/items/accessories/camera.jpg"></center>'
+	'You can''t help but smile as you check your camera. You love capturing life as it happens, but sometimes it is hard to decided exactly what you want to take photo''s of.'
+	'You spend a few moments thinking about places and people that might make for interesting photographs. Perhaps...'
+	*nl
+	! Get the number of locations in the array
+	location_count = ARRSIZE('$camera_locations')
+	iterator = 0
+	! For every location
+	if location_count > 0:
+		:location_loop
+		! Assign the variables
+		dynamic $camera_locations[iterator]
+		! Show the player unphotographed locations
+		if $camera_found[$camera_event] <> 1: '<<$camera_description>>'
+		iterator += 1
+		if iterator < location_count: jump 'location_loop'
+	end
+	*nl
+	people_count = ARRSIZE('$camera_people')
+	iterator = 0
+	! For every person in the array
+	if people_count > 0:
+		:people_loop
+		! Assign the variables
+		dynamic $camera_people[iterator]
+		! If the subject has not been photographed and requirements are met (-1), show the name
+		if $camera_found[$camera_event] <> 1 and $camera_requirement = -1: '<<$camera_description>>'
+		iterator += 1
+		if iterator < people_count: jump 'people_loop'
+	end
+
+	act 'Put Camera away': gt $loc, $loc_arg
+end
+
+if $ARGS[0] = 'check_location':
+	! If the player has a camera and this location exists in the array
+	if photographyEv >= 2 and $camera_locations[$loc] <> 0:
+		! Assign the variables
+		dynamic $camera_locations[$loc]
+		! If they have not already photographed the location
+		if $camera_found[$camera_event] <> 1:
+			! Offer the action
+			act 'Photograph the <<$camera_description>>':
+				$camera_found[$camera_event] = 1
+				$loc = $camera_return_loc
+				$loc_arg = $camera_return_loc_arg
+				gt 'camera', $camera_event
+			end
+		! If they photographed the lake but did not trigger the sonia conditions, offer her
+		elseif $camera_event = 'pav_lake' and $camera_found['sonia'] <> 1 and sunWeather = 1 and soniaPS > 0:
+			gs 'camera', 'pav_lake_sonia', 'describe'
+		end
+	end
+end
+
+if $ARGS[0] = 'city_library':
+	*clr & cla
+	minut += 15
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'You make your way over to the city library, it is a grand building and would make a wonderful photograph. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to the city center streets.
+end
+!!this will put the city_library image in the portfolio
+
+if $ARGS[0] = 'city_uni':
+	*clr & cla
+	minut += 25
+	photoskl_exp += rand(5,7)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'You make your way over to the city University, it is a grand building and would make a wonderful photograph. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. You can''t help but also notice all the students moving around the quad and feel that would be a amazing photo as well. You stop and take several photos of the students moving around. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to the city island streets.
+end
+!!this will put the city_uni and city_uni_quad images in the portfolio
+
+if $ARGS[0] = 'gadukino':
+	*clr & cla
+	minut += 25
+	photoskl_exp += rand(5,7)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'Standing in the village you realize what a wonderful photo this place would make. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. You can''t help but also notice the houses and feel they would be a amazing photo as well. You stop and take several photos of different houses, finally settling on your grandparents home. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to the gadukino.
+end
+!!this will put the gadukino and dachi images in the portfolio
+
+if $ARGS[0] = 'gadforest':
+	*clr & cla
+	minut += 15
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'Standing in the forest you amazed by how breath takingly beautiful it is out here. You walk around taking photos of the trees until you are happy with the results. Checking one last time all the photo''s you took, you feel confident you found something to add to your portfolio and put the camera away.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to the gadukino forest.
+end
+!!this will put the gadforest image in the portfolio
+
+if $ARGS[0] = 'pav_church':
+	*clr & cla
+	minut += 25
+	photoskl_exp += rand(5,7)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'Standing in front of the local church you realize what a wonderful photo this place would make. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. With that done you spot the cemetery and walk near it and start taking photos of it as well. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to pav resident? where ever the church is located in pav
+end
+!!this will put the pav_church and graveyard images in the portfolio
+
+if $ARGS[0] = 'pav_train':
+	*clr & cla
+	minut += 15
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'Standing in front of the local train station you realize what a wonderful photo this place would make. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to pav train station
+end
+!!this will put the pav_train image in the portfolio
+
+if $ARGS[0] = 'pav_complex':
+	*clr & cla
+	minut += 15
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'Standing in the courtyard you realize what a wonderful photo this place would make. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to pav complex
+end
+!!this will put the pav_complex image in the portfolio
+
+if $ARGS[0] = 'pav_school':
+	*clr & cla
+	minut += 15
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'Standing in front of the school you realize what a wonderful photo this place would make. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to pav school grounds
+end
+!!this will put the pav_school image in the portfolio
+
+if $ARGS[0] = 'pav_park':
+	*clr & cla
+	minut += 15
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'Walking through the park you realize what a wonderful photo this place would make. You move around looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. Happy with your results you know you have something to add to your portfolio.'
+	act 'Put Camera away': gt $loc, $loc_arg
+	!!this will take the player to pav park
+end
+!!this will put the pav_park image in the portfolio
+
+if $ARGS[0] = 'pav_lake':
+	*clr & cla
+	minut += 15
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	'<center><img src="images/pc/activities/photography/sveta_camera.jpg"></center>'
+	'As you look out over the lake you realize what a wonderful photo this place would make. You walk around the shore looking through the camera several times until you find just the perfect spot. You take several photos, then you pause and check them. Happy with your results you know you have something to add to your portfolio.'
+	if soniaPS > 0 and sunWeather = 1:
+		'Just as you are about ready to put your camera away, you notice a girl sunbathing topless. It takes you a moment to realize it is Sonia, she appears to be alone. You wonder if she would make a good subject to photograph, a take on how innocents can get lost in a cruel world.'
+		gs 'camera', 'pav_lake_sonia'
+	else
+		act 'Put Camera away': gt $loc, $loc_arg
+	end
+end
+!!this will put the pav_lake image in the portfolio
+
+if $ARGS[0] = 'pav_lake_sonia':
+	if $ARGS[1] = 'describe': 'You notice a girl sunbathing topless. It takes you a moment to realize it is Sonia, she appears to be alone. You wonder if she would make a good subject to photograph, a take on how innocents can get lost in a cruel world.'
+	act 'Take Sonia''s photograph':
+		*clr & cla
+		minut += 5
+		$camera_found['sonia'] = 1
+		photoskl_exp += rand(3,5)
+		gs 'stat'
+		'<center><img src="images/characters/pavlovsk/school/girls/sonia/lake/photography/photo1.jpg"></center>'
+		'You get a little closer to her and then start taking her photograph, you move around and take a couple of photo''s from different places and angles. It seems you made to much noise as she suddenly sits up partial and looks your direction.'
+		act 'Caught':
+			*clr & cla
+			minut += 2
+			photoskl_exp += rand(3,5)
+			gs 'stat'
+			'<center><img src="images/characters/pavlovsk/school/girls/sonia/lake/photography/photo2.jpg"></center>'
+			'She covers herself up and looks at you in surprise. "What the fuck <<$pcs_nickname>>! What are you doing?"'
+			'You smile and take another photo of her. "Sorry I was just taking your photo, you was just so beautiful I couldn''t help myself."'
+			'She smiles a bit at the compliment. "Really?"'
+			'You nod as you take another photo of her. "Yes, now won''t don''t you get up and stop covering up." You tell her.'
+			'She smiles even more. "Ok but just a few." Then she gets up to her knee''s and removes her hands from covering herself up. Now giving you a nice shot of her topless body.'
+			act 'Take more photo''s':
+				*clr & cla
+				minut += 5
+				photoskl_exp += rand(3,5)
+				gs 'stat'
+				'<center><img src="images/characters/pavlovsk/school/girls/sonia/lake/photography/photo3.jpg"></center>'
+				'At first she is a bit awkward, seeming not knowing what to do. But as you take more photo''s she starts to relax and become more natural in her poses for you. Eventually she even starts to get into herself and enjoy it.'
+				act 'Take more photo''s':
+					*clr & cla
+					minut += 5
+					photoskl_exp += rand(3,5)
+					gs 'stat'
+					'<center><img src="images/characters/pavlovsk/school/girls/sonia/lake/photography/photo4.jpg"></center>'
+					'As you take even more photo''s she starts teasing you by pulling on her bottoms, not enough to show off her pussy but almost. While her hands run along her body or play with her breasts as you take more photo''s of her.'
+					'You can''t help but smile and see how far she wants to go you tell her. "Come on loose the bottoms, you know you want too."'
+					act 'No bottoms':
+						*clr & cla
+						minut += 5
+						photoskl_exp += rand(3,5)
+						gs 'stat'
+						'<center><img src="images/characters/pavlovsk/school/girls/sonia/lake/photography/photo5.jpg"></center>'
+						'She grins and then unties her bottoms from one hip, which lets the bottoms partially fall off her, exposing her pussy. You take more photo''s as she pulls the other tie loose and her bottoms fall completely away.'
+						act 'Naked':
+							*clr & cla
+							minut += 5
+							photoskl_exp += rand(3,5)
+							gs 'stat'
+							'<center><img src="images/characters/pavlovsk/school/girls/sonia/lake/photography/photo6.jpg"></center>'
+							'With her now completely naked you keep taking photo''s of her and start getting a lot closer to her as you. The longer it goes on the more turned on she seems to get, eventually she starts playing with her pussy as you take her photographs. Finally haven taken several dozen photo''s you feel you have taken enough and stop taking her photographs. "Thanks Sonia, I got what I needed."'
+							'For a moment she frowns then bobs her head slightly and smiles. "It was my pleasure, I really liked it." Then she hesitantly adds. "Maybe we can do it again sometime?" For a moment sounding more like her shy sweet former self before she feel into becoming the school slut.'
+							'You feel bad for her, you know almost no one just talks to her anymore. "Yeah sure, I would like that."'
+							'She breaks into a huge smile and looks happier than you have seen her in some time. "Ok just let me know or maybe just stop by my house and we can do more photo''s."'
+							'You nod to her. "I will, but for now I got all I need. So I will let you get back to sunbathing. Thanks again." With that you put your camera away and start to walk off, as you do you she starts to get dressed and you hear her say. "Bye."'
+							!!this will put sonia image in portfolio
+							act 'Leave': gt $loc, $loc_arg
+						end
+					end
+				end
+			end
+		end
+	end
+end
+
+
+--- camera ---------------------------------
+

+ 2 - 0
locations/city_center.qsrc

@@ -287,6 +287,8 @@ if hour >= 20 or hour <= 4:
 	end
 end
 
+gs 'camera', 'check_location'
+
 
 !! Savegame Compatibility
 if tanwork ! 0:

+ 1 - 1
locations/city_island.qsrc

@@ -46,6 +46,7 @@ if car > 0 and cardrive = 25:'In the parking stands your <a href="exec:GS ''carF
 act 'Wait':gs 'obj_din', 'wait'
 
 gs 'taxi'
+gs 'camera', 'check_location'
 
 if hour >= 8 and hour <= 22:
 	'You can see the <a href="exec:$loc = ''city_island'' & minut += 1 & gt ''kiosk'', ''start''">kiosk</a> selling cigarettes and magazines.'
@@ -70,6 +71,5 @@ end
 if func('uniutil', 'student', 'enrolled') or hour >= 6:'The <a href="exec:gt ''dorm'', ''start''">University dorms</a> offers small, but cheap, living space, for university students.'
 
 
-
 --- city_island ---------------------------------
 

+ 1 - 1
locations/city_library.qsrc

@@ -103,7 +103,7 @@ if hour >= 8 and hour <= 18:
 else
 	'The library is closed.'
 end
-
+gs 'camera', 'check_location'
 
 
 --- city_library ---------------------------------

+ 1 - 1
locations/din_bad.qsrc

@@ -231,7 +231,7 @@ if $ARGS[0] = 'd_bag':
 	if used_pattest > 0: 'You have <b><<used_pattest>></b> <a href="exec:dynamic $test_purse">used</a> paternity test'+iif(used_pattest > 1, 's ', ' ')+'in your purse.'
 	*nl
 	if $pursepantytype ! '' or $pursebratype ! '': 'You also have '+iif($pursepantytype ! '','<a href="exec:view''<<func(''$panty_image'', $pursepantytype, pursepantynumber)>>''">a pair of panties</a>','')+iif($pursepantytype ! '' and $pursebratype ! '',' and ','')+iif($pursebratype ! '','<a href="exec:view''<<func(''$bra_image'', $pursebratype, pursebranumber)>>''">a bra</a>','')+' in your purse, which you can put on in the nearest bathroom.'
-	
+	if photographyEv >= 2: 'You have <a href="exec:gt''camera'',''start''">a camera</a> in your purse.'
 	act 'Return':gt 'obj_din', 'menu_exit'
 	'</td></tr></table></center>'
 end

+ 1 - 0
locations/gadforest.qsrc

@@ -339,6 +339,7 @@ if $ARGS[0] = 'forest_edge':
 	gs 'gadforest', 'walking'
 
 	gs 'gadforest', 'picking'
+	gs 'camera', 'check_location'
 end
 
 if $ARGS[0] = 'forest_outskirts':

+ 1 - 0
locations/gadukino.qsrc

@@ -153,6 +153,7 @@ if $ARGS[0] = '':
 		if (hour <= 5 or hour >= 21) and succubusQW = 5 and suchuntday ! daystart:
 			act 'Go Hunting (this can take a lot of time)': suchunt = 1 & gt 'gadukino', 'succubus_hunt'
 		end
+		gs 'camera', 'check_location'
 	end
 end
 

+ 2 - 0
locations/glake.qsrc

@@ -67,6 +67,8 @@ if StoryLine = 1 and SchoolAtestat = 0 and ((month >= 3 and month <= 5) or (mont
 	end
 end
 
+gs 'camera', 'check_location'
+
 act'Return to Pavlovsk':
 	*clr & cla
 	if konki_cloth = 1:

+ 2 - 0
locations/gschool_grounds.qsrc

@@ -183,6 +183,8 @@ if $ARGS[0] = 'main':
 		end
 	end
 
+	gs 'camera', 'check_location'
+
 	act 'Return to town': minut += 2 & gt 'pav_residential'
 
 	act 'Go to the sports field': minut += 1 & gt 'gschool_grounds', 'sports'

+ 1 - 0
locations/pav_complex.qsrc

@@ -141,6 +141,7 @@ if $ARGS[0] = 'start':
 	end
 !!	if StoryLine = 1: act 'Go to the old apartment building':minut += 1 & gt 'pavComplexOld', 'etaj_1'
 	act 'Sit on a bench':gt 'pav_aptcourtev', 'bench'
+	gs 'camera', 'check_location'
 end
 
 if $ARGS[0] = 'garages':

+ 2 - 0
locations/pav_park.qsrc

@@ -280,6 +280,8 @@ if $ARGS[0] = 'start':
 		end
 		act 'Sleep on a bench': gt'placer_sex','sleeping_park_bench'
 	end
+
+	gs 'camera', 'check_location'
 end
 
 if $ARGS[0] = 'alb_father_meeting_1':

+ 1 - 0
locations/pav_train.qsrc

@@ -272,6 +272,7 @@ act 'Walk to the highway (0:15)':minut += 15 & nroad = 20 & gt 'road'
 act 'Walk to Pushkin (0:15)':minut += 15 & nroad = 19 & gt 'liam'
 
 act 'Enter the station building': minut += 3 & gt 'pav_train_hall'
+gs 'camera', 'check_location'
 
 --- pav_train ---------------------------------
 

+ 407 - 0
locations/shop_photography.qsrc

@@ -0,0 +1,407 @@
+# shop_photography
+
+! Photography shop in the City Center Mall
+! Variables used:
+! photographyEv = Track shop progression through buying a camera
+!	0 = First visit
+!	1 = Return visitor, but have not bought camera
+!	2 = Bought camera, unlocks portfolio sharing
+! photography_job = Track progression through job events
+! photojob_daystart = Track when job last accepted - only allowed one job per week
+
+! The owner of the shop is Branko Volenskii
+if $ARGS[0] = 'start':
+	$loc = 'shop_photography'
+	$loc_arg = 'start'
+	$location_type = 'public_indoors'
+	cls
+	menu_off = 0
+	gs 'stat'
+	gs 'themes', 'indoors'
+	'<center><b><font color="maroon">Camera & Photography Store</font></b></center>'
+	'<center><img src="images/locations/city/citycenter/mall/photoshop/shop.jpg"></center>'
+	'The shop is dedicated to Camera''s and is celebrating this fact by displaying a myriad of them along every wall. A singular counter sits just off the adjacent wall with the shopkeeper standing behind it, clearly eager for some trade to enter his shop.'
+
+	if photography_job >= 1 and week >= 6:
+		act 'Ask about work':
+			*clr & cla
+			minut += 10
+			gs 'stat'
+			'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+			if photography_job = 1:
+				dynamic $photojob[1]
+				'You walk up to Branko. "Excuse me Branko but you said before you might have some work for me. Would you happen to have anything?"'
+				'He smiles wide to you. "Yes yes, I remember. Let me check." He opens a laptop sitting on the counter next to him. He taps on the keys for a bit before he finally looks up at you. "Yes I do have a job, the Tank and <<$photojob_description>>. I will pay you two thousand rubles, with a bonus if you do very good work. It has to be done today, if you are interested."'
+				act 'Decline the assignment':
+					*clr & cla
+					gs 'stat'
+					'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+					'You shake your head. "Sorry I can''t, I have other things already planned this weekend. Maybe next weekend?"'
+					'He nods in understanding. "I understand, but I am afraid that won''t be happening next week, but check with me next weekend and I might have something else."'
+					'You smile to him. "Ok thanks I will check back with you next week." With that you leave the store.'
+					act 'Leave':
+						cla
+						minut += 3
+						gt 'torgcentr'
+					end
+				end
+				act 'Take the assignment':
+					*clr & cla
+					gs 'stat'
+					'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+					'You can''t help smiling and feeling excited. You first paying gig as a photographer. "Yes I would love to, just tell me where I have to go."'
+					'He smiles even more. "Excellent!" He prints out a page and hands it to you. "Ok here is where it is and a list of the photo''s I need. When you finish up come give the representative the SD card. I will transfer your pay to your account."'
+					'You smile to him. "Thank you, I will go there now." With that you leave the store.'
+					act 'Go to work': gt 'shop_photography' , 'photojob'
+				end
+			else
+				'You walk up to Branko. "Excuse me Branko but do you have more work for me?"'
+				if photography_job < ARRSIZE('$photojob'):
+					'He smiles wide to you. "Let me check." He opens a laptop sitting on the counter next to him. He taps on the keys for a bit before he finally looks up at you. "Yes I do have a job, the pay will be the same as before. It has to be done today, if you are interested."'
+					act 'Whats the assignment': gt 'shop_photography' , 'work'
+				else
+					'He smiles wide to you. "Let me check." He opens a laptop sitting on the counter next to him. He taps on the keys for a bit before he finally looks up at you, frowning. "Sorry, I don''t have any work for you right now. Try again next weekend, maybe?"'
+					act 'Leave':
+						cla
+						minut += 3
+						gt 'torgcentr'
+					end
+				end
+			end
+		end
+	end
+	if photographyEv = 2 and photography_job = 0:
+		act 'Show Portfolio': gt 'shop_photography' , 'showportfolio'
+	end
+	act 'Talk to Shopowner':
+		*clr & cla
+		minut += 10
+		gs 'stat'
+		if photographyEv = 0:
+			!!first time in shop:
+			photographyEv = 1
+			'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+			'"Hello there Shop Patron! Whats your name?" The friendly man behind the counter says.'
+			'"<<$pcs_firstname>>" You tell him.'
+			'"Well nice to meet you, <<$pcs_firstname>>. You look like the sort of person who would be interested in a quality camera. In fact, judging by the sort of person I see before me, I have just the camera right here; that would be perfect for you, only 20,000₽!"'
+			*nl
+			'"Well I have been thinking of getting into photography, it might be worth it..." You tell him and then he launches into a long conversation about what all you can do and the joys you can have with a camera. He talks about what all the camera in question he is trying to sell you can do, along with all it''s features. It does sound like the perfect camera for someone that is serious about getting into photography, but is that you?'
+			gs 'shop_photography', 'camera_options', 'first'
+		elseif photographyEv = 1:
+			!!returning to shop without buying camera:
+			'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+			'The owner smiles when he sees you. "Aha! I remember you! <<$pcs_firstname>>! How fantastic it is that you should return to my shop! Have you changed your mind about buying a camera?"'
+			gs 'shop_photography', 'camera_options', 'repeat'
+		else
+			'The owner smiles when he sees you. "Aha! I remember you! <<$pcs_firstname>>! How fantastic it is that you should return to my shop! How are you getting on with your recent purchase? Brilliantly I hope! I know what I see and I see brilliance before me so it can only be that you would get on brilliantly!"'
+			act 'Walk away': gt 'shop_photography' , 'start'
+		end
+	end
+	act 'Leave':
+		*clr & cla
+		minut += 3
+		gt 'torgcentr'
+	end
+end
+
+if $ARGS[0] = 'camera_options':
+	if money >= 20000:
+		act 'Purchase DSLR Camera for 20000₽ (with Cash)' : gt 'shop_photography' , 'buycamera' , 'cash'
+	elseif karta >= 20000:
+		act 'Purchase DSLR Camera for 20000₽ (with Card)' : gt 'shop_photography' , 'buycamera' , 'card'
+	else 
+		act 'Can''t afford camera':
+			*clr & cla
+			minut += rand(1,2)
+			gs 'stat'
+			'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+			if $ARGS[1] = 'first':
+				'You consider it a moment. You would love to buy it but you know you don''t have enough money for it right now. "Maybe some other time, I can''t really afford it. Thank you for taking your time to explain things to me, I think I will be back when I can afford it." You tell him.'
+				'He smiles. "It was my pleasure young lady and I hope to see you soon."'
+			else
+				'You consider it a moment. You would love to buy it but you know you don''t have enough money for it right now. "I would love to, I still can''t afford it though. I am saving up to buy it. Hopefully soon." You tell him.'
+				'He smiles. "Well best of luck, feel free to look around if you like." You spend a little time looking at all the camera''s and accessories you can''t really afford.'
+			end
+			act 'Leave':
+				cla
+				minut += 3
+				gt 'torgcentr'
+			end
+		end
+	end
+	act 'Don''t buy camera':
+		*clr & cla
+		minut += rand(1,2)
+		gs 'stat'
+		'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+		if $ARGS[1] = 'first':
+			'You consider it a moment. But decided you are not positive you want to get into photography. "Maybe some other time, but thank you for taking your time to explain things to me." You tell him.'
+			'He smiles. "It was my pleasure young lady if you change your mind you know where to find me."'
+		else
+			'You still don''t know if you want to get into photography. "Maybe some other time, I just wanted to look around a bit." You tell him.'
+			'He smiles. "Of course of course, look around all you like young lady, but if you change your mind you know where to find me."'
+		end
+		
+		act 'Leave':
+			cla
+			minut += 3
+			gt 'torgcentr'
+		end
+	end
+end
+
+if $ARGS[0] = 'buycamera':
+	*clr & cla
+	minut += rand(1,2)
+	if $ARGS[1] = 'cash':
+		money -= 20000
+	elseif $ARGS[1] = 'card':
+		karta -= 20000
+	end
+	photographyEv = 2
+	gs 'stat'
+	'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+	'"You have made a momentous decision with this purchase! Here is your very own DSLR Camera to do anything from professional commissioned photography to personal snaps of small events. And now that I have launched your photographic crusade to enlightenment, what are you indeed planning to use this opportunity for in this world of possibility?"'
+	*nl
+	'"I am thinking of just building a portfolio of pictures for now; something to test how I can build up my ability to frame a scene. Maybe by going all around the area with my Photographers Eye Mode set and looking for pictures to take and build a catalog of photographs which I will keep in my Journal."'
+	*nl
+	'"Fantastic!  Brilliant! Tell you what; when you have completed your portfolio then bring it in as I would love to see it! Now go! I release you into this new world of possibility."'
+	act 'Walk away': gt 'shop_photography' , 'start'
+end
+
+if $ARGS[0] = 'showportfolio':
+	*clr & cla
+	minut += 15
+	gs 'stat'
+	'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+	if pcs_photoskl <= 35:
+		'"Ah, your portfolio, by all means I would love to peruse through it!"'
+		'"Mmmm.... not bad. You have some natural talent but you still need to learn how to use lighting better and your angles. Yes yes you have some good raw talent but you still need more experience. Come back to me when you can, I would love to see you grow into the amazing photographer I know you can be."'
+		*nl
+		'"Yes yes, when you get more experience I might have a fantastic business opportunity for you! You see, in addition to the Camera shop you see before you I also do a side business in Commissioned Photography and from what I have seen in you, you might just be the person I am looking for; you will be paid of course! But first practice, practice practice."'
+		*nl
+		'You frown a little, at least he likes your work some. Maybe he is right, all you need to do is work a bit more at it. "Alright I will. I will keep practicing and when I feel I have improved I will return."'
+	elseif pcs_photoskl <= 50:
+		photography_job = 1
+		'"Ah, your portfolio, by all means I would love to peruse through it!"'
+		'"Mmmm.... these photographs are good. You have a real eye, with a little more practice you will become a very skilled photographer."'
+		*nl
+		'"You shall call me Branko, for I have a fantastic business opportunity for you! You see, in addition to the Camera shop you see before you I also do a side business in Commissioned Photography and from what I have seen in you you are the perfect person to help me with some additional work. There will be no pressure, just visit my beautiful shop on the weekends and I will let you know if there is any photography jobs you can do for me; you will be paid of course!"'
+		*nl
+		'"Wow, that sounds interesting, sure I will visit whenever I can!"'
+	elseif pcs_photoskl <= 75:
+		photography_job = 1
+		'"Ah, your portfolio, by all means I would love to peruse through it!"'
+		'"Mmmm.... these photographs are terrific. Sensational, absolutely sensational."'
+		*nl
+		'"You shall call me Branko, for I have a fantastic business opportunity for you! You see, in addition to the Camera shop you see before you I also do a side business in Commissioned Photography and from what I have seen in you you are the perfect person to help me with some additional work. There will be no pressure, just visit my beautiful shop and I will let you know if there is any photography jobs you can do for me; cash in hand of course!"'
+		*nl
+		'"Wow, that sounds interesting, sure I will visit whenever I can!"'
+	else
+		photography_job = 1
+		'"Ah, your portfolio, by all means I would love to peruse through it!"'
+		'"Mmmm.... My god... these are simply breath taking my dear, just breath taking. I don''t think I have ever meet anyone with as much potential as you in my life, with a little more seasoning you could become one of the all time great photographers of our time."'
+		*nl
+		'"You shall call me Branko, for I have a fantastic business opportunity for you! You see, in addition to the Camera shop you see before you I also do a side business in Commissioned Photography and from what I have seen in you you are the perfect person to help me with some additional work. There will be no pressure, just visit my beautiful shop and I will let you know if there is any photography jobs you can do for me; you will be paid of course!"'
+		*nl
+		'"Wow, that sounds interesting, sure I will visit whenever I can!"'
+	end
+	act 'Walk away': gt 'shop_photography' , 'start'
+end
+
+if $ARGS[0] = 'work':
+	*clr & cla
+	minut += 10
+	gs 'stat'
+	'<center><img src="images/locations/city/citycenter/mall/photoshop/owner.jpg"></center>'
+	dynamic $photojob[photography_job]
+	'You can''t help smiling and feeling excited. Yet another paying job as a photographer. "Yes I would love to, just tell me what you have."'
+	'He smiles even more. "Excellent! I need photos of <<$photojob_description>>" He prints out a page and hands it to you. "Ok here is where it is and a list of the photo''s I need. When you finish up come back here to give me the photo''s and of course to get paid."'
+	'You smile to him. "Thank you, I will go there now." With that you leave the store.'
+	act 'Go to work': gt 'shop_photography' , 'photojob'
+end
+
+if $ARGS[0] = 'photojob':
+	*clr & cla
+	photography_job += 1
+	photojob_daystart = daystart
+	! Prevent taking a new job on the sunday following today
+	if week = 6: photojob_daystart += 1
+	minut += rand(1,2)
+	gs 'stat'
+	$loc = $photojob_loc
+	$loc_arg = $photojob_loc_arg
+	gt 'shop_photography', $photojob_ev
+end
+
+! Call at the end of each photo job event to tidy up
+if $ARGS[0] = 'photojob_cleanup':
+	KILLVAR '$photojob_shortname'
+	KILLVAR '$photojob_description'
+	KILLVAR '$photojob_loc'
+	KILLVAR '$photojob_loc_arg'
+	KILLVAR '$photojob_ev'
+end
+
+if $ARGS[0] = 'photojob_pay':
+	photoskl_exp += rand(1,50)
+	gs 'stat'
+	photopay = 2000
+	if pcs_photoskl > 125:
+		photopay += 4000
+	elseif pcs_photoskl > 100:
+		photopay += 2500
+	elseif pcs_photoskl > 75:
+		photopay += 1500
+	elseif pcs_photoskl > 50:
+		photopay += 1000
+	end
+	money += photopay
+	gs 'stat'
+end
+
+! Array of photography jobs - additional events should be easy to wire up
+$photojob[1] = {
+	$photojob_shortname = 'Tank'
+	$photojob_description = 'Tank and Bazooka Experience Day in Levingrad Oblast'
+	$photojob_loc = 'city_industrial'
+	$photojob_loc_arg = ''
+	$photojob_ev = 'phototank'
+}
+
+$photojob[2] = {
+	$photojob_shortname = 'Model'
+	$photojob_description = 'Newspaper Commision at Petrovskaya Akvatoria'
+	$photojob_loc = 'shop_photography'
+	$photojob_loc_arg = 'start'
+	$photojob_ev = 'photomodel'
+}
+
+$photojob[3] = {
+	$photojob_shortname = 'Wedding'
+	$photojob_description = 'Wedding at Yelagin Palace'
+	$photojob_loc = 'city_residential'
+	$photojob_loc_arg = ''
+	$photojob_ev = 'photowedding'
+}
+
+$photojob[4] = {
+	$photojob_shortname = 'Motorsport'
+	$photojob_description = 'Russian Touring Car Championship Event at St. Petersburg Autodrome'
+	$photojob_loc = 'city_industrial'
+	$photojob_loc_arg = ''
+	$photojob_ev = 'photomotorsport'
+}
+
+$photojob[5] = {
+	$photojob_shortname = 'Court'
+	$photojob_description = 'Press Event at City Courthouse'
+	$photojob_loc = 'shop_photography'
+	$photojob_loc_arg = 'start'
+	$photojob_ev = 'photocourt'
+}
+
+if $ARGS[0] = 'phototank':
+	*clr & cla
+	minut += 20
+	gs 'stat'
+	'<center><img src="images/characters/shared/37.jpg"></center>'
+	'You head over to the Industrial Region where you quickly meet up with your contact at the Experience Center.'
+	'"Hi there; you must be <<$pcs_firstname>>. The group is already on their way to the site so I''ll take you up there in my car. I am sure you know everything you will need to do but feel free to ask if you have any queries"'
+	'You get in the car and ride for nearly half a hour until you reach the location of the Experience Center. Once there the representative parks the car, you get out and head inside.'
+	act 'Go to the Experience Center':
+		*clr & cla
+		minut += rand(120,150)
+		photoskl_exp += rand(6,10)
+		gs 'stat'
+		gs 'shop_photography', 'photojob_pay'
+		'<center><img src="images/pc/activities/photography/job/tank.jpg"></center>'
+		'You arrive at the Experience Center and spend the next two hours taking as many pictures of the experience as you can. The group is clearing enjoying the event; some getting rides in Military Vehicles across rough terrain and some getting to fire off rocket launchers at the firing range!'
+		*nl
+		'Once the day is over you remove your SD card and hand it to the contact you met at the beginning who shows the photo''s to the quests that was part of your group, once they have sorted out whether any of the customers want additional copies. Your contact then takes you back to St. Petersburg and drops you off at the Industrial Region. When you check your account you see you were paid <<photopay>>.'
+		gs 'shop_photography', 'photojob_cleanup'
+		act 'Return': gt $loc, $loc_arg
+	end
+end
+
+if $ARGS[0] = 'photomodel':
+	*clr & cla
+	minut += rand(60,90)
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	gs 'shop_photography', 'photojob_pay'
+	'<center><img src="images/pc/activities/photography/job/model.jpg"></center>'
+	'You go to the Petrovskaya Akvatoria Model Museum to take pictures of the various exhibits on behalf of an international newspaper.'
+	'After a brief introduction to a member of staff to confirm your activities here you walk around the exhibit, taking a large number of photographs so that the article has a wealth to choose from.'
+	'Once completed you return to the photoshop and hand the full SD card to Branko who provides your fee of <<photopay>>₽.'
+	gs 'shop_photography', 'photojob_cleanup'
+	act 'Return' : gt $loc, $loc_arg
+end
+
+if $ARGS[0] = 'photowedding':
+	*clr & cla
+	minut += rand(10,18)
+	gs 'stat'
+	'<center><img src="images/characters/shared/18.jpg"></center>'
+	'You head over to the Residential District where you meet one of the family members of the betrothed.'
+	'"Hello, you must be the photographer! If you follow me then I will take you to the happy couple to take the pictures of them."'
+	act 'Follow them':
+		*clr & cla
+		minut += rand(90,120)
+		photoskl_exp += rand(6,10)
+		gs 'stat'
+		gs 'shop_photography', 'photojob_pay'
+		'<center><img src="images/pc/activities/photography/job/wedding.jpg"></center>'
+		'You meet the couple who are getting married and help direct them into a number of framed situations for you to take some beautiful photo''s of them together.'
+		'Once you have enough you spend the rest of the event in the background taking a number of photo''s of the entire event. Once it is all over you meet back up with the relative who takes the SD card from you.'
+		'Leaving them to close up the venue you walk out back into the Residential District. When you check your account you see you were paid <<photopay>>.'
+		gs 'shop_photography', 'photojob_cleanup'
+		act 'Return' : gt $loc, $loc_arg
+	end
+end
+
+if $ARGS[0] = 'photomotorsport':
+	*clr & cla
+	minut += rand(15,20)
+	gs 'stat'
+	'<center><img src="images/characters/shared/11.jpg"></center>'
+	'You head over to the Industrial Region and meet a representative of the Autodrome who will take you to racetrack and give you a VIP pass; there you will be expected to take pictures of the event and deliver them back to your contact at the track.'
+	'"Why hello there, you must be the person Branko said they would be sending. As I''m sure you know everything you have to do at the track I will give you this Press Pass and take you to the Autodrome!"'
+	'You look at the pass they gave you and confirm it is all legitimate then get into their car to be taken to the track.'
+	act 'Go to the Autodrome':
+		*clr & cla
+		minut += rand(180,240)
+		photoskl_exp += rand(9,15)
+		gs 'stat'
+		gs 'shop_photography', 'photojob_pay'
+		'<center><img src="images/pc/activities/photography/job/motorsport.jpg"></center>'
+		'You are dropped off at the Employee Entrance and directed to the Pit Area as the teams are getting their vehicles prepared.'
+		'You start off by getting lots of shots of the teams in the build-up to the race; showcasing the tension and focus as the countdown approaches zero.'
+		'When the race itself starts you roam the track, taking pictures of any event as it happens on the track; getting high intensity shots of fast paced action as well as the smooth professionalism of the leading drivers. All in all it is a fantastic experience.'
+		*nl
+		'With your job done you find your contact again and hand them a full SD card for which they gratified.'
+		'Your contact then takes you back to St. Petersburg and drops you off at the Industrial Region. When you check your account you see you were paid <<photopay>>.'
+		gs 'shop_photography', 'photojob_cleanup'
+		act 'Return' : gt $loc, $loc_arg
+	end
+end
+
+if $ARGS[0] = 'photocourt':
+	*clr & cla
+	minut += 60
+	photoskl_exp += rand(3,5)
+	gs 'stat'
+	gs 'shop_photography', 'photojob_pay'
+	'<center><img src="images/pc/activities/photography/job/court.jpg"></center>'
+	'head to the courthouse to take publicity photographs of the completed court session as they leave the building.  Then you can deliver them back to me to give you your commission.'
+	'You head into the City Center and straight to the Courthouse which has already seen a number of people turn up.'
+	'Once you have ingratiated yourself into the crowd you position yourself to take some good shots of the plaintiff accompanied by their lawyers and representatives.'
+	'With the verdict read you quickly make your way outside in front of the courthouse to take photos of him leaving the courthouse.'
+	'Once completed you return to the photo shot and hand the SD card to Branko who provides your fee of <<photopay>>₽.'
+	gs 'shop_photography', 'photojob_cleanup'
+	act 'Return' : gt $loc, $loc_arg
+end
+
+
+--- shop_photography ---------------------------------
+

+ 3 - 0
locations/torgcentr.qsrc

@@ -63,6 +63,9 @@ if hour >= 8 and hour <= 20:
 	*p '<a href="exec: minut += 3 & gt ''shop_materinstvo'',''start''"><img src="images/locations/city/citycenter/mall/mommy.png"></a>'
 !! Pregnancy store	
 
+	*p '<a href="exec: minut += 3 & gt ''shop_photography'',''start''"><img src="images/locations/city/citycenter/mall/photoshop.png"></a>'
+!! Photography store
+
 	act 'Leave': minut += 5 & gt 'city_center'
 	act 'Go to the supermarket': gt 'shop', 'start'
 	act 'Go bowling': gt 'bouling'