Răsfoiți Sursa

Merge branch 'origin/planned-september-update' into music-0.9.4

netuttki 2 luni în urmă
părinte
comite
fd89b3da18

+ 1 - 1
locations/cafe_parco.qsrc

@@ -39,7 +39,7 @@ if $args[0]= 'inner':
 
 	!! The very first gig - this will be a separate scene from the repeating ones. 
 	if ml_venues['del_parco'] = 1 and ml_delparcoQW['Stage'] = 4 and ml_gigday['delparco'] = daystart and ml_gighour['delparco'] = hour:
-		act 'Perform at the cafe': gt 'music_delparco', 'eveningshow'
+		act 'Go to your first performance': gt 'music_delparco', 'first_gig_start'
 	end
 	
 	if LariskaQW['story'] = 12 and week = 6: act 'Join Lariska and Lev': gt 'lariska_storyline','Boyfriend_3'

+ 1 - 1
locations/city_musicstore.qsrc

@@ -199,7 +199,7 @@ end
 
 if $ARGS[0] = 'first_setup':
 	!! First instrument and other items
-	ml_guitars['jb-budget-acoustic'] = 1
+	ml_guitars['jb-budget-acoustic'] = -1
 	ml_strings = 2
 	ml_guitar['chordbook'] = 1
 	ml_guitar['hasguitar'] = 1

+ 2 - 2
locations/city_park.qsrc

@@ -77,10 +77,10 @@ if $ARGS[0] = 'start':
 
 	if hour >= 10 and hour <= 22:
 		act 'Have some food in the café': minut += 5 & gt 'ParkKafe', 'start'
-	end
+	end 
 
 	if hour >= 20 or hour < 6 :
-		if $home['current'] = '' and tanwork = 0 and func('uniutil', 'student', 'not_enrolled'):
+		if func('homes_properties', 'homes_in_town', 'city') = 0 and tanwork = 0:
 			!nowhere to live in city
 			'It''s quite dark now, and you have nowhere to stay nearby. Maybe you should try to sleep on a bench?'
 		else

+ 2 - 0
locations/havana.qsrc

@@ -137,6 +137,8 @@ if $ARGS[0] = 'dressing_room':
 	'Recruiting girls for local track team, the winners will receive cash prizes.'
 	'Attention, visitors to the sports section must wear sports outfits and shoes when using the facilities.'
 	*nl
+	'Next to a wall you see a scale where you can <a href="exec:msg ''<center>Your weight is <<pcs_weight>> kg<br>Your body mass index (BMI) is <<pcs_bmi>>.<br><<$bmi_desc>></center>''">&nbsp;check your weight</a>.'
+	*nl
 	if abonement > 0:'Your existing subscription package is valid for <<abonement>> more classes.'
 	*nl
 	if nichTanya['Known'] = 0 and (rand(1,100) <= 20 or nichDebug = 1):

+ 24 - 3
locations/homes_properties.qsrc

@@ -165,6 +165,7 @@ if $ARGS[0] = 'set_access':
 				if original_access_code = OWNED: accessible_property['owned_home_count'] -= 1
 				if accessible_property[$_construction_state] = 2: accessible_property['furnishable_home_count'] -= 1
 				accessible_property['accessible_home_count'] -= 1
+				$city_homes[$property['town']] -= 1
 			end
 			if accessible_property['accessible_home_count'] = 1:
 				gs 'homes_properties', 'get_accessible_properties', 'home'
@@ -180,6 +181,7 @@ if $ARGS[0] = 'set_access':
 				accessible_property['accessible_home_count'] += 1
 				accessible_property['available_for_rent_home_count'] -= 1
 				if accessible_property[$_construction_state] = 2: accessible_property['furnishable_home_count'] +=1
+				$city_homes[$property['town']] += 1
 			end
 		!! Property is owned
 		elseif accessible_property[$property_code] = OWNED:
@@ -188,6 +190,7 @@ if $ARGS[0] = 'set_access':
 			if accessible_property[$_is_home] = 1:
 				if original_access_code = 0:
 					accessible_property['accessible_home_count'] += 1
+					$city_homes[$property['town']] += 1
 				elseif original_access_code = RENTED:
 					accessible_property['rental_home_count'] -= 1
 					accessible_property['available_for_rent_home_count'] += 1
@@ -212,6 +215,7 @@ if $ARGS[0] = 'set_access':
 				accessible_property['accessible_home_count'] -= 1
 
 				if accessible_property[$_construction_state] = 2: accessible_property['furnishable_home_count'] -= 1
+				$city_homes[$property['town']] -= 1
 			end
 		!! Property is just accessible - like the parents' home, or the Meynold's home, etc.
 		elseif accessible_property[$property_code] = ACCESSIBLE:
@@ -219,6 +223,7 @@ if $ARGS[0] = 'set_access':
 			!! NOTE: Valid transitions: 0 -> 4
 			if accessible_property[$_is_home] = 1:
 				accessible_property['accessible_home_count'] += 1
+				$city_homes[$property['town']] += 1
 			end
 		end
 		if nokill = 0 : killvar 'property'
@@ -233,8 +238,8 @@ if $ARGS[0] = 'set_access':
 end
 
 !! Call: dyneval($is_homeless)
-$is_homeless = {
-	result = ($home['current'] = 'homeless')
+$is_homeless = { 
+	RESULT = ($home['current'] = 'homeless')
 }
 
 !! Call: `func('homes_properties', 'can_live_here', $ARGS[1])`
@@ -811,7 +816,23 @@ if $ARGS[0] = 'has_access':
 	result = accessible_property[$hasaccesscode] ! NO_ACCESS and accessible_property[$hasaccesscode] ! TENANTS
 	killvar 'hasaccesscode'
 end
-
+!! Call: `func('homes_properties', 'homes_in_town', $ARGS[1], ..., $ARGS[N])
+!! Return: The total number of accessible homes in the cities passed in the arguments
+!! $ARGS[1]..$ARGS[N]: The town we check for available places to sleep
+!!			 I.e. if there is a location where the player can sleep, either their own place
+!!			 or an NPC place.	
+if $ARGS[0] = 'homes_in_town':
+	count = ARRSIZE('ARGS')
+	if count > 1:
+		i = 1
+		:loop_get_number_of_homes_in_all_towns_passed
+			temp += $city_homes[$ARGS[i]]
+			i += 1
+		if i < count: jump 'loop_get_number_of_homes_in_all_towns_passed'
+		RESULT = temp
+		killvar 'temp'
+	end	
+end
 
 !!---------------------------------------------------------
 !!  Buy, rent out and sell properties

+ 1 - 1
locations/homes_properties_attr.qsrc

@@ -289,7 +289,7 @@ if $ARGS[0] = 'get_property_attr':
 		$property['name'] = 'Old town apartment'
 		$property['display'] = 'apartment in the old town of Pushkin'
 		$property['region'] = 'pushkin'
-		$property['town'] = 'oldtown'
+		$property['town'] = 'pushkin'
 		$property['location'] = 'pushkin_sq'
 		$property['location_arg'] = ''
 		$property['entrance'] = 'korr2x'

+ 3 - 6
locations/music_actions.qsrc

@@ -1,14 +1,11 @@
 #music_actions
 
-
 if $ARGS[0] = 'start':
     !! Everywhere
     ml_time_left = ml_performance['max_perform_minutes']-ml_performance['performed_minutes']
-    !! Will move but too many changes for a
     if ml_activities['enabled'] = 0 and (ml_guitar['hasguitar'] or vokal_lvl > 5): 
         ml_activities['enabled'] = 1
     end
-
     if alko > 5 and ml_activities['enabled'] = 1:
         'You are too drunk to stream or record music without messing up or throwing up into your guitar.'
     !! $location_type = ''public_outdoors'' means parks, streets. Some event types can be placed in these locations : playing music, recording music - e.g in front of
@@ -54,7 +51,8 @@ if $ARGS[0] = 'available_actions':
         gs 'music_actions', 'busking'
     end
     if ml_activities['recording'] ! 0: gs 'music_actions', 'record_music'
-    !! if this is done outdoors, any editing, mixing must be done at home. So 'Record and edit' is not available outdoors.
+    if ml_activities['setlist'] ! 0: gs 'music_actions', 'rehearse_setlist'
+    !! if this is done outdoors, any editing, mixing must be dones at home. So 'Record and edit' is not available outdoors.
     !! Although more accurate would be to check whether Sveta is at home or not, and if she is not home then that option won''t be available.
     
     if $access ! 'denied' and ml_activities['online'] ! 0 : 
@@ -63,7 +61,6 @@ if $ARGS[0] = 'available_actions':
 	gs 'music_actions', 'upload_music'
     end
     if ml_uploadablemusic > 0: gs 'music_actions', 'delete_music'	
-    
     act 'Finish': gs 'music_actions', 'finish'
 end
 
@@ -219,7 +216,7 @@ if $ARGS[0] = 'stream_music':
             act 'Live stream (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
         end
     end
-end
+end 
 
 
 !! TODO: This needs to be split, editing can happen after the music was recorded. And it can happen to music recorded with a phone too. 

+ 0 - 2
locations/music_bedroompractice.qsrc

@@ -109,8 +109,6 @@ if $ARGS[0] = 'rehearse':
 	pcs_mood += 5
 
 	$setlist = $ARGS[1]
-	ml_performance['performed_minutes'] += 30
-	ml_performance['total_time_performed'] += 30
 	gs 'stat'
 	
 	'<center><img <<$set_imgh>> src="images/pc/activities/music/guitarpractice_1.jpg"></center>'

+ 10 - 13
locations/music_checks.qsrc

@@ -4,11 +4,10 @@
 !! ml_delparcoQW['Stage'] = 0 - Storyline hasn''t started yet.
 !! ml_delparcoQW['Stage'] = 1 - Sveta declines the offer when they meet while she is busking. Zariyah tells her to visit her office next Friday around '+func('time', 'get_time_string', 16, 0, cheatVars['time_format'])+'.
 !! ml_delparcoQW['Stage'] = 2 - Sveta accepts the offer when they meet while she is busking.  Zariyah tells her to think about it, and that if she changes her mind, just visit her in her office.
-!! ml_delparcoQW['Stage'] = 3 -
-!! ml_delparcoQW['Stage'] = 4 -
-!! ml_delparcoQW['Stage'] = 5 -
-!! ml_delparcoQW['Stage'] = 6 -
-!! ml_delparcoQW['Stage'] = 7 -
+!! ml_delparcoQW['Stage'] = 3 - Sveta asked for more time at the end of the first visit to Zariyah
+!! ml_delparcoQW['Stage'] = 4 - Sveta accepted the offer on the first or second visit to Zariyah 
+!! ml_delparcoQW['Stage'] = 5 - Sveta did the first gig, now going for the next ones
+!! ml_delparcoQW['Stage'] = 6 - Sveta was offered the first weekend gig
 !! ml_delparcoQW['Stage'] = 98 - Sveta declined the offer even after thinking about it. Zariyah gave her a card and asked her to call if she changes her mind.
 !!								Story is not over, Sveta can start it any time by calling or visiting Zariyah
 !! ml_delparcoQW['Stage'] = 99 - Zariyah met Sveta when Sveta was visibly pregnant and asked her to talk after Sveta gave birth and feels like she is ready for this.
@@ -19,12 +18,11 @@
 if $ARGS[0] = 'zariyah_approach':
 
 	if $loc = 'pav_park':
-		chance = 75
+		ml_approach = rand(1,100) > 75 and (pcs_instrmusic + pcs_vokal + pcs_perform) >= 120 and hotcat >= 5 and ml_delparcoQW['stage'] = 0
 	else
 		ml_approach = (rand(0,100) > 80 and (pcs_instrmusic + pcs_vokal + pcs_perform) >= 120 and pcs_hotcat >= 5 and ml_delparcoQW['stage'] = 0)
 	end
-	ml_approach = rand(1,100) > chance and (pcs_instrmusic + pcs_vokal + pcs_perform) >= 120 and pcs_hotcat >= 5 and ml_delparcoQW['stage'] = 0
-
+	
 	if ml_approach:
 		!! Check for fame: if very 'famous' then she won't ever approach Sveta, doesn't want her associated with Del Parco.
 		if fame['pav_slut'] > 250 or fame['pav_prostitute'] > 250 or fame['pav_sex'] > 250 or fame['pav_porn'] > 500 or fame['pav_stripping'] > 500:
@@ -83,9 +81,8 @@ if $ARGS[0] = 'zariyah_approach':
 
 end
 
-
 if $ARGS[0] = 'check_if_fired':
- !! Check for fame: if very 'famous' then she won't ever approach Sveta, doesn't want her associated with Del Parco.
+!! Check for fame: if very 'famous' then she won't ever approach Sveta, doesn't want her associated with Del Parco.
 	if fame['pav_sex'] > 150:
 		ml_delparcoQW['Sveta Sex'] = 1
 		ml_delparcoQW['Stage'] = 100
@@ -146,9 +143,9 @@ end
 
 
 if $ARGS[0] = 'reset_checks':
-	ml_delparcoQW['Drinking Rule'] = 1
-	ml_delparcoQW['Weed Rule'] = 1
-	ml_delparcoQW['Outfit Rule'] = 1
+	ml_delparcoQW['Drinking Rule'] = 0
+	ml_delparcoQW['Weed Rule'] = 0
+	ml_delparcoQW['Outfit Rule'] = 0
 end
 
 

+ 122 - 70
locations/music_delparco.qsrc

@@ -3,80 +3,86 @@
 if $ARGS[0] = 'talkwithzariyah':
 !!	TODO: Some small talk and a description here plus some paragraph depending on where the quest stands
 	'You ask the first waitress about Zariyah, and she directs you to the office. As you approach, she waves at you through the open door, signaling to enter "Yes, yes Ruslan, don''t worry about it. No, I have to go, talk later."'
-	if ml_delparcoQW['Stage'] = 1:
-		'She puts down the phone "<<$pcs_nickname>>, so glad that you came. How are you? Did you think about the offer?" she smiles at you as you sit down.'
-		act 'Accept the offer to play at Del Parco': gt 'music_delparco', 'delparco_accept'
-	!!	act 'Decline the offer': gt 'mod_musiclife_delparco', 'delparco_decline'
-	elseif ml_delparcoQW['Stage'] = 2:
-		'She puts down the phone "<<$pcs_nickname>>, so glad that you came. How are you? Did you come to talk about the offer?" she smiles at you as you sit down.'
-		act 'Discuss the live music with': gt 'music_delparco', 'firstdiscussion'
+	gs 'music_checks', 'check_if_fired'
+	gs 'music_checks', 'check_if_can_perform'
+	if ml_delparcoQW['Stage'] = 100:
+		'She looks you over with a rather cold expression as you take a seat "I have to go Ruslan, I have to sort out something quickly, I will call you back in few." You lean back, looking around in the office while the woman finishes the phone call. You notice a a colourful photo pinned on a corkboard on the wall behind her desk, a small cafe "La Bottega Del Parco" and a young couple, the girl is clearly a younger Zarihay, smiling brightly next to a young man.'
+	elseif ml_delparcoQW['Drinking Rule'] or ml_delparcoQW['Weed Rule'] or ml_delparcoQW['Outfit Rule']:
+		'She looks you over as you take a seat, frowning slightly before returning her attention to the call. You lean back, looking around in the office while the woman finishes the phone call. You notice a a colourful photo pinned on a corkboard on the wall behind her desk, a small cafe "La Bottega Del Parco" and a young couple, the girl is clearly a younger Zarihay, smiling brightly next to a young man.'
+	else
+		'She gives you an apologetic smile as you take a seat before returning her attention to the call. You lean back, looking around in the office while the woman finishes the phone call. You notice a a colourful photo pinned on a corkboard on the wall behind her desk, a small cafe "La Bottega Del Parco" and a young couple, the girl is clearly a younger Zarihay, smiling brightly next to a young man.' 
 	end
-	act 'Leave': gt 'cafe_parco', 'start'
+	'"Yes, yes, I told you. See you later Ruslan, and say hi to Mariya for me."'
+	act 'Discuss the offer': gt 'music_delparco', 'first_discussion'
 end
 
-if $ARGS[0] = 'delparco_accept':
-	ml_venues['del_parco'] = 1
-	ml_delparcoQW['Stage'] = 2
-!!	TODO: Better scene.
-	'You accept.'
-	*nl
-	'(Warning - the event is unfinished, so there is lack of pictures and the text is simplified)'
-    act 'Discuss the live music with': gt 'music_delparco', 'firstdiscussion'
-	act 'Leave': gt 'cafe_parco', 'start'
+if $ARGS[0] = 'first_discussion':	
+		*nl
+		if ml_delparcoQW['Stage'] = 100 and (ml_delparcoQW['Sveta Sex'] or ml_delparcoQW['Sveta Prostitute']):
+			'Zariyah puts down the phone, turning towards you with a frown "Well, Sveta, I would like to apologise for making you come here. I have heard more about you in the last the few days, and all I can say is that I would rather not have anyone with your reputation be linked to my cafe. I think your "talents" would be better displayed in a stripbar.'
+			'There are a few in St Petersburg, maybe one of the cheap ones will take you on - although working along the highway would be a more realistic goal. And now, if you excuse me, I have things to do. I''m sure you will find your way out."' 
+			'She turns away from you, and picks up the phone, waving at you, making clear that you should leave.'
+			act 'Leave': gt 'music_delparco', 'leave' 
+		elseif ml_delparcoQW['Stage'] = 100 and ml_delparcoQW['Sveta Stripper']:
+			'Zariyah puts down the phone, turning towards you with a frown "Well, Sveta, I would like to apologise for making you come here. I have heard more about you in the last the few days, and all I can say is that I would rather not have anyone with your reputation be linked to my cafe. I think your "talents" would be better displayed in a stripbar - but as I have heard, you also realised this and found the place you belong to. A rather cheap one too, at least you know what you''re worth. That said, I would appreciate if you avoided the cafe in the future. I am sure you can find the way out."'
+			'She turns away from you, and picks up the phone, waving at you, making clear that you should leave.'
+			act 'Leave': gt 'music_delparco', 'leave' 
+		elseif ml_delparcoQW['Stage'] = 100 and ml_delparcoQW['Sveta Porn']:
+			!!TODO: Some text here too.
+			act 'Leave': gt 'music_delparco', 'leave' 
+		else
+			if ml_delparcoQW['Stage'] = 2: 
+				'She puts down the phone "<<$pcs_nickname>>, so glad that you came. How are you? Did you come to talk about the offer?" she smiles at you as you sit down.'
+			elseif ml_delparcoQW['Stage'] = 1:
+				'She puts down the phone "<<$pcs_nickname>>, so glad that you came. How are you? Have you changed your mind about the offer?" she smiles at you as you sit down.'  
+			end
+			'You take a seat facing Zariyah "I thought about it a bit more and, I just need to know a bit more. I never really did anything like this."'
+			'She nods and picks up a pen "I understand, <<$pcs_nickname>>. Well, it''s not like playing in an arena or anything. We just need someone to play on Fridays. It would be half an hour, but it''s not background music, you play songs."'
+			'She wiggles the pen, writing down some of what she say "And we would pay you. It''s not a lot of money, but we pay you 800 rubles. And we would like to start two weeks from now at 8 in the evening."'
+			'You think for a moment. 800 rubles is way more than you can get anywhere else in Pavlovsk. On the other hand, 30 minutes is quite a few songs, and you will have to practice a lot in the beginning to do it.'
+			*nl
+			act 'Accept the offer': gs 'music_delparco', 'delparco_accept'		
+			act 'Ask for some time to think it through': gs 'music_delparco', 'delparco_ask_for_time'
+			act 'Decline the offer': gs 'music_delparco', 'delparco_decline'
+		end
 end
 
+if $ARGS[0] = 'delparco_accept':
+	ml_venues['del_parco'] = 1
+	ml_delparcoQW['Stage'] = 7
+	ml_gigday['delparco'] = daystart + 19 - week
+	ml_gighour['delparco'] = 19
+	ml_gigfee['delparco'] = 800
 
-if $ARGS[0] = 'firstdiscussion':
-	if (week + 2 <= 7):
-		ml_answerdeadline = week + 2
-	else
-		ml_answerdeadline = week - 5
-	end
-
-!!	TODO: Obviously, blahblah is not proper text.
-	*nl
-	'You take a seat facing Zariyah "I thought about it a bit more and, yes, I would like to do it just need to know a bit more. I never really did anything like this."'
-	'She nods and picks up a pen "I understand, <<$pcs_nickname>>. Well, it''s not like playing in an arena or anything. We just need someone to play on Fridays. It would be half an hour, but it''s not background music, you play songs."'
-	'She wiggles the pen, writing down some of what she say "And we would pay you. It''s not a lot of money, but we pay you 800 rubles. And we would like to start two weeks from now at 8 in the evening."'
-	'You think for a moment. 800 rubles is way more than you can get anywhere else in Pavlovsk. On the other hand, 30 minutes is quite a few songs, and you will have to practice a lot in the beginning to do it.'
 	*nl
-	act 'Accept the offer':
-		*clr & cla
-		ml_delparcoQW['Stage'] = 4
-		'"I would love to do it!" you almost bite your tongue as you stop, but the fact that someone asks you to play is a first step to your dream. You almost couldn''t contain yourself.'
-		'"Excellent!" Zariyah smiles at you, and pushes the paper she was writing on towards you "Everything is there. Don''t forget, two weeks from now, Friday at '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+', so please be here latest half past seven.
-		Trust me, you will need the time to set yourself up. And then every Friday if it works out."'
-		ml_gigday['delparco'] = daystart + 19 - week
-		ml_gighour['delparco'] = 19
-		ml_gigfee['delparco'] = 800
-
-		killvar 'ml_answerdeadline'
-
-		act 'Leave': gt 'cafe_parco', 'start'
-	end
-
-	act 'Ask for some time':
-		*clr & cla
-		ml_delparcoQW['Stage'] = 3
-		ml_delparcoQW['Next Date'] = daystart + 2
-		ml_delparcooriginaldate = daystart
-		'"I have to think, I want to make sure that I can do it. It''s a big commitment and I don''t want to, you know... not do it right."'
-		'Zariyah nods "Ok, <<$pcs_nickname>>, but please, let me know by <<$week[''ml_answerdeadline'']>>."'
-
-		killvar 'ml_answerdeadline'
-
-		act 'Leave': gt 'cafe_parco', 'start'
-	end
-
+	'"I would love to do it!" you almost bite your tongue as you stop, but the fact that someone asks you to play is a first step to your dream. You almost couldn''t contain yourself.'
+	'"Excellent!" Zariyah smiles at you, and pushes the paper she was writing on towards you "Everything is there. Don''t forget, two weeks from now, Friday at 8pm, so please be here latest half past seven.'
+	'Trust me, you will need the time to set yourself up. And then every Friday if it works out."'
+	act 'Say goodbye': gt 'music_delparco', 'leave' 
+end
 
+if $ARGS[0] = 'delparco_ask_for_time':
+	*clr & cla
+	ml_delparcoQW['Stage'] = 3
+	ml_delparcoQW['Answer Deadline'] = daystart + 12 - week
+	ml_delparcoQW['Next Date'] = daystart 
+	'"I have to think, I want to make sure that I can do it. It''s a big commitment and I don''t want to, you know... not do it right."'
+	'Zariyah nods "Ok, <<$pcs_nickname>>, but please, let me know by next Friday."'
+	
+	act 'Say goodbye': gt 'music_delparco', 'leave' 
 end
 
-if $ARGS[0] = 'acceptafterthinking':
+if $ARGS[0] = 'delparco_decline':
+	*clr & cla
+	ml_delparcoQW['Stage'] = 98
+	act 'Say goodbye': gt 'music_delparco', 'leave' 
+end
 
-	offset = (daystart-ml_delparcooriginaldate)
-	ml_gigday['delparco'] = daystart + 19 - offset - week
-	ml_gighour['delparco'] = 19
-	ml_gigfee['delparco'] = 800
+if $ARGS[0] = 'delparco_accept_after_thinking':
+	gs 'music_performances', 'add_gig', 'delparco', 'delparco', daystart + 19 - week, 19, 800
+!!	ml_gigday['delparco'] = daystart + 19 - week
+!!	ml_gighour['delparco'] = 19
+!!	ml_gigfee['delparco'] = 800
 	ml_delparco['performance'] = 50
 	ml_delparcoQW['Stage'] = 4
 
@@ -84,12 +90,37 @@ if $ARGS[0] = 'acceptafterthinking':
 	'"Excellent!" Zariyah smiles at you, and pushes the paper she was writing on towards you "Everything is there. Don''t forget, two weeks from now, Friday at '+func('time', 'get_time_string', 20, 0, cheatVars['time_format'])+', so please be here latest half past seven.
 	Trust me, you will need the time to set yourself up. And then every Friday if it works out."'
 
-	killvar 'offset'
-	killvar 'ml_delparcooriginaldate'
-	act 'Leave': gt 'cafe_parco', 'start'
+	act 'Say goodbye': gt 'music_delparco', 'leave' 
+end	
+
+if $ARGS[0] = 'first_gig_start':
+	ml_perform = -1
+	!!TODO: Sveta arrives, and meets Zariyah.
+	gs 'music_checks', 'check_if_can_perform'
+	gs 'music_checks', 'check_if_fired'
+
+	if ml_perform and ml_delparcoQW['Stage'] ! 100: 
+		act 'Prepare for the gig': gt 'music_delparco', 'first_preparation'
+	elseif ml_delparcoQW['Stage'] = 100: 
+		!! Zariyah fires Sveta for whatever reason 100 was reached
+		act 'You are fired': gs 'music_delparco', 'leave'
+	else
+		gs 'music_checks', 'check_for_trust'
+		!! Zariyah chews Sveta out for the rule she broke
+		!! and if she ran out of trust (i.e ml_delparcoQW['Stage'] = 100)
+		!! she fires her.
+		act 'Leave...': gs 'music_delparco', 'leave'
+	end
+	killvar 'ml_perform'
+end
+
+if $ARGS[0] = 'first_preparation':
+	!! Prepare for the show. Set up the chair, the score holder, guitar, microphone, etc.
+	!! Try to calm down (Willpower check, etc.)
+	act 'Do the show...': gt 'music_delparco', 'first_show'
 end
 
-if $ARGS[0] = 'eveningshow':
+if $ARGS[0] = 'first_show':
 	minut += 60
 	ml_correction_chance = ml_performance['set_quality'] + ((pcs_hotcat - 5)*3) + (pcs_perform/10)
 	ml_success = rand(0,100)
@@ -126,9 +157,30 @@ if $ARGS[0] = 'eveningshow':
 !!	end
 	*nl
 	'(The event is unfinished - do not complain about quality - report only serious bugs)'
+	act 'Finish the show': gt 'music_delparco', 'after_first_gig'	
+end
 
-
-	act 'Leave': gt 'cafe_parco', 'start'
+if $ARGS[0] = 'after_first_gig':
+	!! Talk with Zariyah - feedback based on the outcome of the show, etc.
+	!! Internal thinking, "Do I want to do it?", etc.
+	ml_delparcoQW['Stage'] = 5
+	act 'Leave': gt 'music_delparco', 'leave'
+end
+	
+if $ARGS[0] = 'leave':
+	if ml_delparcoQW['Stage'] = 3:
+		!! Asked for time
+	elseif ml_delparcoQW['Stage'] = 4:
+		!! Accepted the offer
+	elseif ml_delparcoQW['Stage'] = 5:
+		!! First gig done
+	elseif ml_delparcoQW['Stage'] = 98:
+		!! Declined the offer
+	elseif ml_delparcoQW['Stage'] = 100:
+		!! Zariyah fired her
+	end
+	gs 'music_checks', 'reset_checks'
+	act 'Leave the cafe': gt 'cafe_parco', 'start'
 end
 
---- music_delparco ---------------------------------
+--- music_delparco ---------------------------------

+ 6 - 9
locations/music_gigstarts.qsrc

@@ -48,15 +48,13 @@ if $ARGS[0] = 'delparco_start':
 
 	'<center><img <<$set_imgh>> src="images/pc/activities/music/busking.jpg"></center>'
 	if ml_delparcoQW['Stage'] = 99:
-		'As you finish your set, a tall woman steps up to you with a smile. "Hi, you are really good at this." she looks at you thoughtfully for a brief second'
-		'"I''m Zariyah, I''m managing Del Parco and we are planning to run some live music evenings and I''m looking for musicians. I wouldn''t want to drag you into this right now,"'
-		'she says, looking at your swollen belly "but I was thinking that maybe when you gave birth and recovered a little, you would be interested." She reaches into her purse,'
-		'and pulls out a business card "Here is my number and obviously, you can come to the cafe if that''s better. I''m there every weekday." '
+		'As you finish your set, a tall woman steps up to you with a smile. "Hi, you are really good at this." - she looks at you thoughtfully for a brief second'
+		'"I''m Zariyah, I''m managing Del Parco and we are planning to run some live music evenings and I''m looking for musicians. I wouldn''t want to drag you into this right now," - she says, looking at your swollen belly - "but I was thinking that maybe when you gave birth and recovered a little, you would be interested." She reaches into her purse,'
+		'and pulls out a business card "Here is my number and obviously, you can come to the cafe if too, if you want to talk. I''m there every weekday." '
 
-		'You take the card a bit hesitantly "Hi, I''m Sveta and thank you... I will think about it." you answer a bit confused, looking at the smiling woman "Splendid," she says '
+		'You take the card a bit hesitantly "Hi, I''m Sveta and thank you... I will think about it." you answer a bit confused, looking at the smiling woman "Splendid," she says. '
 		'"I''m looking forward to it and please rest and don''t tire yourself out. And I really, really would like to see you again and meet the baby too... oh, damn " she looks at her watch'
 		'"I must run to work, but it was lovely to meet you Sveta, I hope I will run into you soon and looking forward to your answer!" she gives you a last smile and hurries off.'
-
 		killvar 'rules'
 		gs 'music_checks', 'reset_checks'
 
@@ -69,8 +67,7 @@ if $ARGS[0] = 'delparco_start':
 			'"Hi, you are really good at this." she looks at you thoughtfully, then nods. "I''m Zariyah, I''m managing Del Parco and we are planning to run some live music evenings.'
 			'Would you be interested in playing in a more formal setting?"'
 		else
-			'As you finish your set, a tall woman steps up to you with a smile. "Hi, you are really good at this."'
-			'"I''m Zariyah, I''m managing Del Parco and we are planning to run some live music evenings. Would you be interested in playing in a more formal setting?"'
+			'As you finish your set, a tall woman steps up to you with a smile - "Hi, you are really good at this. I''m Zariyah, I''m the manager of Del Parco and we are planning to run some live music evenings. Would you be interested in playing in a more formal setting?"'
 		end
 		gs 'music_actions', 'willpower_cost'
 		if ml_willcost = 0:
@@ -96,7 +93,7 @@ if $ARGS[0] = 'delparco_accept':
 	'<center><img <<$set_imgh>> src="images/pc/activities/music/zariyah.jpg"></center>'
 	'You look at the woman a bit surprised, then you smile back "Of course! I mean... you mean like a proper stage performance?"'
 	if rules = 0:
-		'She nods "Well, it''s a small cafe so you wouldn''t be playing on a stage, per se, but yes, in front of people. You would sing and play your music." she looks at her watch "I will have to go, but please come to the cafe before next Friday, during the week, and we can discuss the details. Poka!" she gives a small wave and hurries off.'
+		'She nods - "Well, it''s a small cafe so you wouldn''t be playing on a stage, per se, but yes, in front of people. You would sing and play your music." - she looks at her watch - "I will have to go, but please come to the cafe before next Friday, during the week, and we can discuss the details. Poka!" - she gives a small wave and hurries off.'
 	else
 		'She nods "Well, it''s a small cafe so you wouldn''t be playing on a stage, per se, but yes, in front of people. You would sing and play your music." she looks at her watch "I will have to go, but please come to the cafe before next Friday, during the week, and we can discuss the details. Poka!" she gives a small wave but then turns around'
 		'"Oh, just one thing, please, when you visit me and whenever you play at the café<<$ruletext>>" she smiles at you and hurries off.'

+ 37 - 9
locations/music_performances.qsrc

@@ -17,20 +17,48 @@ FOLK = 6
 DISCO = 7
 FUNK = 8
 
+if ARRSIZE('ml_setlist') < 1: ml_setlist["index"] = 0
 
 !! Set lists
-if $ARGS[0] = 'add_new_set':
-    i = ml_setlist["index"]
-    $ml_setlist["<<i>>-code"] = "SL-<<i>>"
-    $ml_setlist["<<i>>-name"] = $ARGS[1]
-    ml_setlist["<<i>>-length"] = ARGS[2]
-    ml_setlist["<<i>>-quality"] = 0
-    ml_setlist["<<i>>-practice_level"] = 0
-    ml_setlist["<<i>>-last_practice_day"] = 0
+if $ARGS[0] = 'add_new_setlist':
+    $ml_setlist_names[] = $ARGS[1]
+    index = ARRSIZE("$ml_setlist_names") - 1
+    $ml_setlist["<<index>>-name"] = $ARGS[1]
+    ml_setlist["<<index>>-length"] = ARGS[2]
+    ml_setlist["<<index>>-quality"] = 0
+    ml_setlist["<<index>>-practice_level"] = 0
+    ml_setlist["<<index>>-last_practice_day"] = 0
+end 
 
-    ml_setlist["index"] += 1
+!! $ARGS[1]: Gig name
+!! $ARGS[2]: Venue
+!! ARGS[3]: Day of the gig 
+!! ARGS[4]: Hour start hour of the gig
+!! ARGS[5]: Fee paid for the gig
+!! $ARGS[6]: Set list played at the gig - must be present in `ml_setlist[]`
+if $ARGS[0] = 'add_gig':
+    $ml_gig["<<$ARGS[1]>>-venue"] = $ARGS[2] 
+    ml_gig["<<$ARGS[1]>>-day"] = ARGS[3]
+    ml_gig["<<$ARGS[1]>>-hour"] = ARGS[4]
+    ml_gig["<<$ARGS[1]>>-fee"] = ARGS[5]
+    if ARRPOS(0,"ml_setlist",$ARGS[6]) ! -1:
+        $ml_gig["<<$ARGS[1]>>-setlist"] = $ARGS[6]
+    else
+        $ml_gig["<<$ARGS[1]>>-setlist"] = ''
+    end
 end
 
+!! $ARGS[1]: Gig name
+!! $ARGS[6]:Set list - must be present in `ml_setlist[]`
+if $ARGS[0] = 'add_setlist_to_gig':
+    if ARRPOS(0,"ml_setlist",$ARGS[2]) ! -1:
+        $ml_gig["<<$ARGS[1]>>-setlist"] = $ARGS[2]
+    else
+        msg '<<$ARGS[2]>> is not an existing set list.'
+    end
+end
+
+
 !! Songwriting and composition
 
 !! ml_song_written["1-writing_skill"] = 0