Kaynağa Gözat

[fixed] dealt with some issues in the Ivan related parts of the quest line to become a starter for the volleyball team: (1) made it so that declining Ivan's request to have sex after school in the showers on the current day doesn't block him asking again (agreeing to his request is necessary for coach to spy on the two of you), (2) removed the VoltrenerVoyeur += 1 from VoluntrenerSexShower scene triggered when VoltrenerVoyeur = 2 (this line was never called as it was guarded by a check that IvanShowerYes = 2 but the gt call that triggers the scene is guarded by IvanShowerYes = 0), (3) moved the line IvanShowerQW = 1 from inside ShowerWithIvan to the code stanza that calls ShowerWithIvan (this avoids IvanShowerQW getting reset in subsequent calls of ShowerWithIvan and avoids there being paths in ShowerWithIvan that don't set this var, which there inadvertently were previously), (4) removed the IvanShowerQW = 1 lines in the cases in the scene in gdksport where the player does not shower with Ivan (the Ivan dialogue at school only makes sense if you do shower with him), and (5) made the intro Ivan shower scene repeatable until the player showers with him (this can be changed back to a one-off if alternative dialogue for the scenes in IvanEv and gschool_chats1 where the player and Ivan discuss the shower incident is added for if the player doesn't shower with Ivan)

Spackled Lanturn 3 yıl önce
ebeveyn
işleme
daff9c213f

+ 3 - 1
locations/IvanEv.qsrc

@@ -143,10 +143,12 @@ if $ARGS[0] = 'School Chat':
 				else
 					act 'Tell Ivan you''re bored':gt 'gdksport', 'Ivan_bored'
 				end
+			!! Since Ivan is only asking about the current day, not indefinitely, might be good to use a
+			!! daystart variable here and in the scene in gdksport IvanShowerYes guards
+			!! (like IvanShowerDayStart or something)
 			elseif IvanShowerYes = 0 and IvanShowerQW = 11 and ShowerIvan < 3:
 				'When you''re about to head for your next class, Ivan suddenly stops you and asks: "<<$pcs_nickname>>, want to meet up with me in the showers after school?"'
 				act 'Decline':
-					IvanShowerYes = 2
 					cla
 					'You give it some thought, but have to decline. You shake your head apologetically and say: "Sorry Ivan, I can''t make it today."'
 					act 'Continue': gt 'gschool_lessons', 'short_break'

+ 3 - 1
locations/VoltrenerSexShower.qsrc

@@ -60,6 +60,9 @@ if $ARGS[0] = '1':
 	end
 end
 
+!! Note, this scene does not increase VoltrenerVoyeur unlike the other VoltrenerSexShower scenes.
+!! This is intentional. The way to raise VoltrenerVoyeur from 2 to 3 is to talk to the coach about
+!! him spying on the player in the shower.
 if $ARGS[0] = '2':
 	cls
 	'<center><img <<$set_imgh>> src="images/locations/pavlovsk/community/gym/volley/event/voltrenersexshower1.jpg"></center>'
@@ -74,7 +77,6 @@ if $ARGS[0] = '2':
 	if (pcs_horny >= 70 or pav_slut > 50) and will_cost <= pcs_willpwr:
 		act 'Masturbate (<<will_cost>> Willpower)':
 			gs 'willpower', 'pay', 'self'
-			if IvanShowerYes = 2: VoltrenerVoyeur += 1
 			npc_rel['A69'] += 1
 			trenerlust += 4
 			minut += 10

+ 13 - 7
locations/gdksport.qsrc

@@ -591,7 +591,7 @@ if $ARGS[0] = 'shower':
 	if IvanShowerYes = 1 and rand(0,3) = 1 and ShowerIvan < 3:
 		if ShowerIvan = 1: ShowerIvan = 2
 		'You enter the women''s shower, and turning the water on, you begin to lather up your body with a washcloth. Suddenly, you hear the door creak open and you remember that you agreed not to lock it for Ivan.'
-		'You look around and see Ivan standing there looking at you. "Hello <<$pcs_nickname>>. The men''s shower is full, so I thought I would join you instead." he smiles.'
+		'You look around and see Ivan standing there looking at you. "Hello <<$pcs_nickname>>. The men''s shower is full, so I thought I would join you instead." He smiles.'
 		act 'Shower with Ivan': gt 'gdksport', 'ShowerWithIvan'
 		gs 'willpower', 'bj', 'resist'
 		if will_cost <= pcs_willpwr:
@@ -609,15 +609,22 @@ if $ARGS[0] = 'shower':
 		else
 			act 'Not today (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 		end
-	elseif kotovVSprohorov = 1 and ShowerIvan < 3:
-		kotovVSprohorov = 2
+	!! We only set IvanShowerQW = 1 if the player showers with Ivan because the scene that uses this
+	!! variable where the player talks to Ivan about the shower at school assumes the player did
+	!! not run away or kick out Ivan before anything happened. This scene was initially a one-off,
+	!! but was changed to make it repeatable because showering with Ivan here is non-obviously an
+	!! intermediate step in becoming a starter on the volleyball team. If avoiding needing this
+	!! scene to be repeatable is desired, someone with a better sense of Ivan as a character than
+	!! me could add one at some point. If this is done, this scene can be made non-repeatable by
+	!! removing the (kotovVSprohorov = 2 and IvanShowerQW = 0 and rand(0,3) = 1) part
+	elseif (kotovVSprohorov = 1 or (kotovVSprohorov = 2 and IvanShowerQW = 0 and rand(0,3) = 1)) and ShowerIvan < 3:
 		'You enter the women''s shower and turning the water on, begin to lather your body with a washcloth. Suddenly, you hear the door creak open and you remember that you forgot to lock it.'
-		'You look around and see Ivan standing in the doorway looking at you. "Hi <<$pcs_nickname>>. Can I join you? The men''s shower is full." he smiles.'
+		'You look around and see Ivan standing in the doorway looking at you. "Hi <<$pcs_nickname>>. Can I join you? The men''s shower is full' + iif(kotovVSprohorov = 2, ' again', '') + '." He smiles.'
+		kotovVSprohorov = 2
 		gs 'willpower', 'bj', 'resist'
 		if will_cost <= pcs_willpwr:
 			act 'Throw Ivan out (<<will_cost>> Willpower)':
 				*clr & cla
-				IvanShowerQW = 1
 				gs 'willpower', 'bj', 'resist'
 				gs 'willpower', 'pay', 'resist'
 				gs 'stat'
@@ -640,7 +647,6 @@ if $ARGS[0] = 'shower':
 			if will_cost <= pcs_willpwr:
 				act 'Escape from the shower (<<will_cost>> Willpower)':
 					*clr & cla
-					IvanShowerQW = 1
 					gs 'willpower', 'bj', 'resist', 'hard'
 					gs 'willpower', 'pay', 'resist'
 					gs 'stat'
@@ -652,6 +658,7 @@ if $ARGS[0] = 'shower':
 				act 'Escape from the shower (<font color="red"><<will_cost>> Willpower</font>)': '<br><font color="red">You don''t have enough willpower to use this action.</font>'
 			end
 			act 'Wash together':
+				IvanShowerQW = 1
 				IvanShowerYes = 0
 				if ShowerIvan = 0: ShowerIvan = 1
 				gt 'gdksport', 'ShowerWithIvan'
@@ -736,7 +743,6 @@ if $ARGS[0] = 'ShowerWithIvan':
 				else
 					act 'Turn around and bend over':
 						*clr & cla
-						IvanShowerQW = 1
 						lubonus = 2
 						spafinloc = 3
 						gs 'Cum_Manage'

+ 2 - 1
locations/gschool_chats1.qsrc

@@ -1339,10 +1339,11 @@ if $ARGS[0] = 'ivan':
 		else
 			act 'Tell Ivan you''re bored':gt 'gdksport', 'Ivan_bored'
 		end
+	!! Since Ivan is only asking about the current day, not indefinitely, might be good to use a daystart
+	!! variable here and in the scene in gdksport IvanShowerYes guards (IvanShowerDayStart or something)
 	elseif IvanShowerYes = 0 and IvanShowerQW = 11 and ShowerIvan < 3:
 		'When you''re about to head for your next class, Ivan suddenly stops you and asks: "<<$pcs_nickname>>, want to meet up with me in the showers after school?"'
 		act 'Decline':
-			IvanShowerYes = 2
 			cla
 			'You give it some thought, but have to decline. You shake your head apologetically and say "Sorry Ivan, I can''t make it today."'
 			act 'Time for the next class': gt 'gschool_lessons', 'short_break'