1
0

3 کامیت‌ها 4d610c63eb ... 3024889eb7

نویسنده SHA1 پیام تاریخ
  Lusticon 3024889eb7 [fixed] loop execute 3 هفته پیش
  Lusticon da041a81ce [fixed] cum cleanup 3 هفته پیش
  Lusticon 56d61ee334 [fixed] cum leaking pregnancies 3 هفته پیش
4فایلهای تغییر یافته به همراه199 افزوده شده و 220 حذف شده
  1. 38 60
      locations/Cum_Manage.qsrc
  2. 38 38
      locations/cum_cleanup.qsrc
  3. 122 121
      locations/femcyc.qsrc
  4. 1 1
      locations/pav_disco_sex.qsrc

+ 38 - 60
locations/Cum_Manage.qsrc

@@ -15,7 +15,7 @@
 !!	cumarrppt  : Sperm Potential Potency (max sperm delivery)
 !!	cumarrcpt  : Sperm Current Potency	(current amount of sperm)
 !!	cumarrdel  : Sperm "Delivery" (method of *VAGINAL ONLY* acquisition)
-!!	cumarrcon  :	Contraception type used
+!!	cumarrcon  : Contraception type used
 !!	cumarrage  : Sperm age in hours
 !!	cumarrkno  : Did you know/realize who did it?
 !!	cumarrcnt  : Unique identifier of the exact which time the MC has had this sperm incident occur.
@@ -236,6 +236,7 @@ if $ARGS[0] = '':
 						sparrvol[sparrtemp] += sexvolume
 						cumsumbod += sexvolume
 						cumsumvag += sexvolume
+						cumloc[0] = 1
 						condom_break = 1
 						stat['broken_condoms'] += 1
 						stat['last_broken_condom'] = daystart
@@ -265,6 +266,7 @@ if $ARGS[0] = '':
 					sparrvol[sparrtemp] += sexvolume
 					cumsumbod += sexvolume
 					cumsumvag += sexvolume
+					cumloc[0] = 1
 					condom_break = 1
 
 					sparridt[sparrtemp] = cumarrkno[cumarrtemp]
@@ -285,6 +287,7 @@ if $ARGS[0] = '':
 					sparrvol[sparrtemp] += sexvolume
 					cumsumbod += sexvolume
 					cumsumvag += sexvolume
+					cumloc[0] = 1
 
 					sparridt[sparrtemp] = cumarrkno[cumarrtemp]
 					sparrslc[sparrtemp] = 0
@@ -322,6 +325,7 @@ if $ARGS[0] = '':
 				sparrvol[sparrtemp] += sexvolume
 				cumsumbod += sexvolume
 				cumsumvag += sexvolume
+				cumloc[0] = 1
 
 				sparridt[sparrtemp] = cumarrkno[cumarrtemp]
 				sparrslc[sparrtemp] = 0
@@ -370,48 +374,21 @@ if $ARGS[0] = '':
 			sparrage[sparrtemp] = 0
 			sparrcnt[sparrtemp] = stat['cum_count']
 
-			if $pantyworntype = 'none':
-
-				if spafinloc = 2:
-					spafinloc = 1
-
-				elseif spafinloc = 5:
-					spafinloc = 4
-
-				end
-
-			end
+			!! if no panties cum goes to labia or butt
+			if ($pantyworntype = 'none' or $clothingworntype = 'nude') and (spafinloc = 2 or spafinloc = 5): spafinloc -= 1
 
+			!! if no clothes but cum loc is on clothes
 			if $clothingworntype = 'nude':
-
-				if spafinloc = 2:
-					spafinloc = 1
-
-				elseif spafinloc = 5:
+				!! clothes in groin area
+				if spafinloc = 6:
 					spafinloc = 4
-
-				elseif spafinloc = 6:
-
-					if rand(0,1) = 0:
-						spafinloc = 1
-
-					else
-						spafinloc = 4
-
-					end
-
+					if rand(0,1) = 0: spafinloc = 1
+				!! clothes
 				elseif spafinloc = 7:
-
-					if rand(0,1) = 0:
-						spafinloc = 14
-
-					else
-						spafinloc = 15
-
-					end
-
+					spafinloc = 15
+					if rand(0,1) = 0: spafinloc = 8
+					if rand(0,1) = 0: spafinloc = 14
 				end
-
 			end
 
 			sparrloc[sparrtemp] = spafinloc
@@ -424,13 +401,12 @@ if $ARGS[0] = '':
 			sparrvol[sparrtemp] += sexvolume
 			cumsumbod += sexvolume
 
-			if spafinloc = 3:
-				cumsumass += sexvolume
-			end
+			if spafinloc = 3: cumsumass += sexvolume
 
 			sparridt[sparrtemp] = cumarrkno[cumarrtemp]
 			sparrslc[sparrtemp] = 0
 
+			cumloc[spafinloc] = 1
 		end
 		if cumarrppt[cumarrtemp] < cumarrcpt[cumarrtemp]:cumarrcpt[cumarrtemp] = cumarrppt[cumarrtemp]
 		sexpartkno = 0
@@ -462,19 +438,20 @@ if $ARGS[0] = '':
 
 	if cumsumass >= 60:
 		arrmodtmp = arrpos('sparrloc',3)
-
 		if sparrslc[arrmodtmp] <= 0: sparrslc[arrmodtmp] += 1
-
 	end
 
 	if cumsumvag >= 60:
 		arrmodtmp = arrpos('sparrloc',0)
-
 		if sparrslc[arrmodtmp] <= 0: sparrslc[arrmodtmp] += 1
-
 	end
+
 	killvar 'sexspecpot'
 	killvar 'cumnostd'
+	killvar 'arrmodtmp'
+	killvar 'sparrtemp'
+	killvar 'cumarrtemp'
+	if $cumboy ! '': $boy = $cumboy & killvar '$cumboy'
 end
 
 
@@ -539,8 +516,7 @@ if $ARGS[0] = 'cumeater':
 
 	if i ! -1 and i < arrsize('sparrloc'):
 		cumloc[12] = 1
-		!!spafinloc = 12 & sexvolume = sparrvol[i] & sexunaware = 0 & sexspecpot = -1 & $cumarrnam = $sparrnam[i] & cumarrcpt = sparrppt[i] & cumarrkno = sparridt[i] & cumarrage = sparrage[i] & cumnostd = 1 & gs 'Cum_Manage'
-		pcs_breath = 0
+		spafinloc = 12 & sexvolume = sparrvol[i] & sexunaware = 0 & sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[i] & cumnostd = 0 & gs 'Cum_Manage'
 		$part = ''
 
 		if cloc = 13:
@@ -1139,7 +1115,7 @@ if $ARGS[0] = 'cum_decay':
 								if sexvolume > 0:
 									spafinloc = 1
 									sexunaware = iif(cumforced=0,iif(rand(0,4)=1 or sparridt[idx]=-2,1,0),0)
-									sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+									sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 									gs 'Cum_Manage'
 									cumvol[1] += sexvolume & cumloc[1] = 1
 								end
@@ -1151,7 +1127,7 @@ if $ARGS[0] = 'cum_decay':
 											spafinloc = 2
 											sexvolume = max(1, cumamount/2)
 											sexunaware = iif(rand(0,3)=1 or sparridt[idx]=-2,1,0)
-											sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 											gs 'Cum_Manage'
 											cumvol[2] += sexvolume & cumloc[2] = 1
 										end
@@ -1161,7 +1137,7 @@ if $ARGS[0] = 'cum_decay':
 										if sexvolume > 0:
 											spafinloc = 9
 											sexunaware = iif(rand(0,2)=1 or sparridt[idx]=-2,1,0)
-											sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 											gs 'Cum_Manage'
 											cumvol[9] += sexvolume & cumloc[9] = 1
 										end
@@ -1172,7 +1148,7 @@ if $ARGS[0] = 'cum_decay':
 										if sexvolume > 0:
 											spafinloc = 6
 											sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
-											sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = 0 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 											gs 'Cum_Manage'
 											cumvol[6] += sexvolume & cumloc[6] = 1
 										end
@@ -1202,7 +1178,7 @@ if $ARGS[0] = 'cum_decay':
 								if sexvolume > 0:
 									spafinloc = 1
 									sexunaware = iif(cumforced=0,iif(rand(0,4)=1 or sparridt[idx]=-2,1,0),0)
-									sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx]/2 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+									sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 									gs 'Cum_Manage'
 									cumvol[1] += sexvolume & cumloc[1] = 1
 								end
@@ -1213,7 +1189,7 @@ if $ARGS[0] = 'cum_decay':
 										spafinloc = 4
 										sexvolume = max(0, cumamount/2)
 										sexunaware = 0
-										sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+										sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 										gs 'Cum_Manage'
 										cumvol[4] += sexvolume & cumloc[4] = 1
 									end
@@ -1225,7 +1201,7 @@ if $ARGS[0] = 'cum_decay':
 											spafinloc = 5
 											sexvolume = max(1, cumamount/3)
 											sexunaware = iif(rand(0,3)=1 or sparridt[idx]=-2,1,0)
-											sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 											gs 'Cum_Manage'
 											cumvol[5] += sexvolume & cumloc[5] = 1
 										end
@@ -1235,7 +1211,7 @@ if $ARGS[0] = 'cum_decay':
 										if sexvolume > 0:
 											spafinloc = 9
 											sexunaware = iif(rand(0,2)=1 or sparridt[idx]=-2,1,0)
-											sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx]/4 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 											gs 'Cum_Manage'
 											cumvol[9] += sexvolume & cumloc[9] = 1
 										end
@@ -1246,7 +1222,7 @@ if $ARGS[0] = 'cum_decay':
 										if sexvolume > 0:
 											spafinloc = 6
 											sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
-											sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+											sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 1
 											gs 'Cum_Manage'
 											cumvol[6] += sexvolume & cumloc[6] = 1
 										end
@@ -1265,7 +1241,7 @@ if $ARGS[0] = 'cum_decay':
 								sparrvol[idx] -= sexvolume
 								spafinloc = iif(i=1,2,5)
 								sexunaware = 1
-								sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx] & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 0
+								sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 0
 								gs 'Cum_Manage'
 								cumvol[iif(i=1,2,5)] += sexvolume & cumloc[iif(i=1,2,5)] = 1
 							end
@@ -1275,7 +1251,7 @@ if $ARGS[0] = 'cum_decay':
 							if sexvolume > 0:
 								spafinloc = 6
 								sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
-								sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx]/3 & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 1
+								sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 0
 								gs 'Cum_Manage'
 								cumvol[6] += sexvolume & cumloc[6] = 1
 							end
@@ -1291,7 +1267,7 @@ if $ARGS[0] = 'cum_decay':
 							sparrvol[idx] -= sexvolume
 							spafinloc = 0
 							sexunaware = 1
-							sexspecpot = -1 & $cumarrnam = $sparrnam[idx] & cumarrcpt = sparrppt[idx] & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 0
+							sexspecpot = -1 & $cumboy = $boy & $boy = $sparrnam[idx] & cumnostd = 0
 							gs 'Cum_Manage'
 							cumvol[17] -= sexvolume & cumvol[0] += sexvolume & cumloc[0] = 1
 						end
@@ -1308,9 +1284,11 @@ if $ARGS[0] = 'cum_decay':
 						end
 					end
 					if sparrvol[idx] > 0: cumloc[i] = 1 & cumvol[inx] += sparrvol[idx] else cumloc[i] = 0 & cumvol[inx] = 0
+				elseif sparrvol[idx] <= 0 and ($sparrnam[idx] = '' or sparrloc[idx] ! 0 or (sparrloc[idx] = 0 and sparrage[idx] > 10)):
+					gs 'cum_cleanup', 'cleandeposit', idx
 				end
 				!! reset just in case
-				sexvolume = 0 & cumnostd = 0 & cumarrkno = 0
+				sexvolume = 0 & cumnostd = 0
 			if idx > 0:idx -= 1 & jump 'sparrlocloop'
 		if i < 18:i += 1 & jump 'sparrvolloop'
 		killvar 'i'

+ 38 - 38
locations/cum_cleanup.qsrc

@@ -46,29 +46,29 @@ gs 'cum_cleanup'}
 	16 = 'In your hair'
 	17 = 'In a condom in your vagina'}
 
-if $ARGS[0] = 'cleanloc' and arrsize('ARGS') > 1:
-	i = 0
+if $ARGS[0] = 'cleanloc':
+	l = 0
 	:cleanlocloop
-	if i < arrsize('$sparrnam'):
-		if sparrloc[i] = ARGS[1]:
-			if sparrloc[i] = 0 or sparrloc[i] = 3:
+	if l < arrsize('$sparrnam'):
+		if sparrloc[l] = ARGS[1]:
+			if sparrloc[l] = 0 or sparrloc[l] = 3:
 				if mc_inventory['enema_kit'] = 1 or cheatKlisma = 0:
-					cumsumvag -= iif(sparrloc[i]=0,sparrvol[i],0)
-					cumsumass -= iif(sparrloc[i]=3,sparrvol[i],0)
-					sparrvol[i] = 0
-					sparrslc[i] = 0
+					cumsumvag -= iif(sparrloc[l]=0,sparrvol[l],0)
+					cumsumass -= iif(sparrloc[l]=3,sparrvol[l],0)
+					sparrvol[l] = 0
+					sparrslc[l] = 0
 				else
 					cumspclnt = 15
 					gs 'cum_cleanup'
 				end
 			else
-				gs 'cum_cleanup', 'cleandeposit', i
+				gs 'cum_cleanup', 'cleandeposit', l
 			end
 		end
-		i += 1
+		l += 1
 		jump 'cleanlocloop'
 	end
-elseif $ARGS[0] = 'cleandeposit' and arrsize('ARGS') > 1:
+elseif $ARGS[0] = 'cleandeposit':
 	cumsumbod -= sparrvol[ARGS[1]]
 	cumsumvag -= iif(sparrloc[ARGS[1]]=0,sparrvol[ARGS[1]],0)
 	cumsumass -= iif(sparrloc[ARGS[1]]=3,sparrvol[ARGS[1]],0)
@@ -80,11 +80,10 @@ elseif $ARGS[0] = 'cleandeposit' and arrsize('ARGS') > 1:
 	KILLVAR 'sparrvol',ARGS[1]
 	KILLVAR 'sparrslc',ARGS[1]
 	KILLVAR 'sparrcnt',ARGS[1]
-	cumloc[ARGS[1]] = 0
 	if cumsumbod < 0: cumsumbod = 0
 	if cumsumvag <= 0: cumsumvag = 0 & cum_vol['vagina'] = 0 & cumvol[0] = 0 & cum_loc['vagina'] = 0 & cumloc[0] = 0
 	if cumsumass <= 0: cumsumass = 0 & cum_vol['anus'] = 0   & cumvol[3] = 0 & cum_loc['anus'] = 0   & cumloc[3] = 0
-elseif $ARGS[0] = 'cleanwomb' and arrsize('ARGS') > 1:
+elseif $ARGS[0] = 'cleanwomb':
 	KILLVAR 'cumarrcpt',ARGS[1]
 	KILLVAR 'cumarrppt',ARGS[1]
 	KILLVAR '$cumarrnam',ARGS[1]
@@ -268,66 +267,67 @@ elseif $ARGS[0] = '':
 		KILLVAR 'cum_vol'
 	end
 
-	i = 0
+	l = 0
 	:cumcleanloop
-	if i < arrsize('$sparrnam'):
-		tmp = arrpos('deresidue', sparrloc[i])
+	if l < arrsize('$sparrnam'):
+		tmp = arrpos('deresidue', sparrloc[l])
 		if tmp ! -1 and tmp < arrsize('deresidue'):
 			!! vagina
-			if sparrloc[i] = 0:
+			if sparrloc[l] = 0:
 				!! cannot be completely cleaned with tissues\toilet use\hypno block\no enema kit
-				if FUNC('Cum_Manage', 'check_innards', sparrloc[i]) = 1 _ 
+				if FUNC('Cum_Manage', 'check_innards', sparrloc[l]) = 1 _ 
 				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
 				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
-					cumsumbod -= sparrvol[i] & cumsumvag -= sparrvol[i]
-					sparrslc[i] = 0 & sparrvol[i] = 0
+					cumsumbod -= sparrvol[l] & cumsumvag -= sparrvol[l]
+					sparrslc[l] = 0 & sparrvol[l] = 0
 					isprok = 0 & vibratorIN = 0
 				end
 			!! ass
-			elseif sparrloc[i] = 3:
-				if FUNC('Cum_Manage', 'check_innards', sparrloc[i]) = 1 or cumspclnt = 7 _ 
+			elseif sparrloc[l] = 3:
+				if FUNC('Cum_Manage', 'check_innards', sparrloc[l]) = 1 or cumspclnt = 7 _ 
 				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
 				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
-					cumsumbod -= sparrvol[i] & cumsumass -= sparrvol[i]
-					sparrslc[i] = 0 & sparrvol[i] = 0
+					cumsumbod -= sparrvol[l] & cumsumass -= sparrvol[l]
+					sparrslc[l] = 0 & sparrvol[l] = 0
 					analplugin = 0 & analplugout = 0
 				end
 			else
-				cumsumbod -= sparrvol[i]
-				sparrslc[i] = 0 & sparrvol[i] = 0
+				cumsumbod -= sparrvol[l]
+				sparrslc[l] = 0 & sparrvol[l] = 0
 			end
 		end
 
-		tmp = arrpos('toclean', sparrloc[i])
-		if tmp ! -1 and tmp < arrsize('toclean'):
+		tmp = arrpos('toclean', sparrloc[l])
+		if tmp ! -1 and tmp < arrsize('toclean') and sparrvol[l] > 0:
 			!! vagina
-			if sparrloc[i] = 0:
-				if cumsumvag*rand(6,9)/6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[i], 1) and isprok = 0 and vibratorIN = 0 _ 
+			if sparrloc[l] = 0:
+				if cumsumvag*rand(6,9)/6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[l], 1) and isprok = 0 and vibratorIN = 0 _ 
 				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
 				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
-					gs 'cum_cleanup', 'cleandeposit', i
+					gs 'cum_cleanup', 'cleandeposit', l
 					if cumspclnt = 3: isprok = 0 & vibratorIN = 0
 				end
 			!! ass
-			elseif sparrloc[i] = 3:
-				if (cumsumass*rand(6,9)/6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[i], 1) and analplugin = 0) or cumspclnt = 7 _ 
+			elseif sparrloc[l] = 3:
+				if (cumsumass*rand(6,9)/6 >= FUNC('Cum_Manage', 'check_innards', sparrloc[l], 1) and analplugin = 0) or cumspclnt = 7 _ 
 				or (hypnoAddict = 0 and (mc_inventory['enema_kit'] = 1 or cheatKlisma = 0) _ 
 				and ((cumspclnt = 10 or cumspclnt = 1 or cumspclnt = 3) or cheatKlisma = 0)):
-					gs 'cum_cleanup', 'cleandeposit', i
+					gs 'cum_cleanup', 'cleandeposit', l
 					if cumspclnt = 3 or cumspclnt = 7: analplugin = 0
 				end
 			else
-				gs 'cum_cleanup', 'cleandeposit', i
+				gs 'cum_cleanup', 'cleandeposit', l
 			end
 		else
-			i += 1
+			if sparrvol[l] <= 0 and ($sparrnam[l] = '' or sparrloc[l] ! 0 or (sparrloc[l] = 0 and sparrage[l] > 10)): gs 'cum_cleanup', 'cleandeposit', l
+			l += 1
 		end
 		jump 'cumcleanloop'
 	end
 	killvar 'toclean'
 	killvar 'deresidue'
 	killvar 'tmp'
-	killvar 'i'
+	killvar 'l'
 	killvar 'lubonus'
 	killvar 'anal_slip'
 	killvar 'vaginal_slip'

+ 122 - 121
locations/femcyc.qsrc

@@ -305,141 +305,142 @@ if $ARGS[0] = '':
 		killvar 'succycletmp'
 	end
 
-	!!cumarrtemp = 0
-	!!cumcondslip = 0
-	!!cumcondslip_aware = 0
+	cumarrtemp = 0
 	if arrsize('sparrvol') > 0:
 		:cumspaloop
-		!!Succubus absorption for internal locations other than womb
-		if succubusflag = 1:
-			if sparrloc[cumarrtemp] = 3 or sparrloc[cumarrtemp] = 12:
-				sexnutrition += 25*succublvl
-				succubxp += 3
-				sucabscum = 1
-				if sparrvol[cumarrtemp] > 0: sparrvol[cumarrtemp] = 0
+			!!Succubus absorption for internal locations other than womb
+			if succubusflag = 1:
+				if sparrloc[cumarrtemp] = 3 or sparrloc[cumarrtemp] = 12:
+					sexnutrition += 25*succublvl
+					succubxp += 3
+					sucabscum = 1
+					if sparrvol[cumarrtemp] > 0: sparrvol[cumarrtemp] = 0
+				end
+				!!{if sparrloc[cumarrtemp] = 0 or sparrloc[cumarrtemp] = 3 or sparrloc[cumarrtemp] = 12:
+					sexnutrition += 30*succublvl
+					sparrvol[cumarrtemp] -= 30*succublvl
+					if sparrvol[cumarrtemp] < 0: sexnutrition += sparrvol[cumarrtemp] & sparrvol[cumarrtemp] = 0
+				end}
 			end
-		end
-		!!{if sparrloc[cumarrtemp] = 0 or sparrloc[cumarrtemp] = 3 or sparrloc[cumarrtemp] = 12:
-			sexnutrition += 30*succublvl
-			sparrvol[cumarrtemp] -= 30*succublvl
-			if sparrvol[cumarrtemp] < 0: sexnutrition += sparrvol[cumarrtemp] & sparrvol[cumarrtemp] = 0
-		end}
-		!!{ Process spatter until it has volume or is too old in vagina. }
-		if sparrvol[cumarrtemp] > 0 or (sparrloc[cumarrtemp] = 0 and sparrage[cumarrtemp] < 10):
-			sparrtmpv = arrsize('$cumarrnam')
-			if sparrloc[cumarrtemp] = 17:
-				sparrtmpv = arrpos('cumarrcnt',sparrcnt[cumarrtemp])
-				if sparrtmpv >= 0:
-					!!'Found guy id <<sparrtmpv>>'
-					if sparrage[cumarrtemp] < 4:
-						cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/5
-					elseif sparrage[cumarrtemp] < 10:
-						cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/30
+			
+			!!{ Process spatter until it has volume or is too old in vagina. }
+			if (sparrvol[cumarrtemp] > 0 or (sparrloc[cumarrtemp] = 0 and sparrage[cumarrtemp] < 10) and $sparrnam[cumarrtemp] ! ''):
+				sparrtmpv = arrsize('$cumarrnam')
+				if sparrloc[cumarrtemp] = 17:
+					sparrtmpv = arrpos('cumarrcnt',sparrcnt[cumarrtemp])
+					if sparrtmpv >= 0:
+						!!'Found guy id <<sparrtmpv>>'
+						if sparrage[cumarrtemp] < 4:
+							cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/5
+						elseif sparrage[cumarrtemp] < 10:
+							cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/30
+						end
 					end
-				end
-			elseif sparrloc[cumarrtemp] = 0:
-				sparrtmpv = arrpos('cumarrcnt',sparrcnt[cumarrtemp])
-				if sparrtmpv >= 0:
-					!!'Found guy id' & sparrtmpv
-					if sparrage[cumarrtemp] < 4:
-						cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/40
-					elseif sparrage[cumarrtemp] < 10:
-						cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/60
+				elseif sparrloc[cumarrtemp] = 0:
+					sparrtmpv = arrpos('cumarrcnt',sparrcnt[cumarrtemp])
+					if sparrtmpv >= 0:
+						!!'Found guy id' & sparrtmpv
+						if sparrage[cumarrtemp] < 4:
+							cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/40
+						elseif sparrage[cumarrtemp] < 10:
+							cumarrcpt[sparrtmpv] += sparrppt[cumarrtemp]/60
+						end
+					end
+				elseif sparrslc[cumarrtemp] = 1 and sparrage[cumarrtemp] < 5:
+					if sparrloc[cumarrtemp] = 1:
+						cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
+						cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
+						$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
+						cumarrage[sparrtmpv] = sparrage[cumarrtemp]
+						cumarrdel[sparrtmpv] = 1
+						cumarrkno[sparrtmpv] = -1
+						cumarrcon[sparrtmpv] = 0
+						cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
+					end
+				elseif sparrslc[cumarrtemp] = 3 and sparrage[cumarrtemp] < 5:
+					if sparrloc[cumarrtemp] = 2:
+						cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
+						cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
+						$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
+						cumarrage[sparrtmpv] = sparrage[cumarrtemp]
+						cumarrdel[sparrtmpv] = 3
+						cumarrkno[sparrtmpv] = -1
+						cumarrcon[sparrtmpv] = 0
+						cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
+					elseif sparrloc[cumarrtemp] = 4:
+						cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
+						cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
+						$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
+						cumarrage[sparrtmpv] = sparrage[cumarrtemp]
+						cumarrdel[sparrtmpv] = 2
+						cumarrkno[sparrtmpv] = -1
+						cumarrcon[sparrtmpv] = 0
+						cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
+					end
+				elseif sparrslc[cumarrtemp] = 5 and sparrage[cumarrtemp] < 5:
+					if sparrloc[cumarrtemp] = 3:
+						cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
+						cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
+						$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
+						cumarrage[sparrtmpv] = sparrage[cumarrtemp]
+						cumarrdel[sparrtmpv] = 2
+						cumarrkno[sparrtmpv] = -1
+						cumarrcon[sparrtmpv] = 0
+						cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
+					elseif sparrloc[cumarrtemp] = 5:
+						cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
+						cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
+						$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
+						cumarrage[sparrtmpv] = sparrage[cumarrtemp]
+						cumarrdel[sparrtmpv] = 3
+						cumarrkno[sparrtmpv] = -1
+						cumarrcon[sparrtmpv] = 0
+						cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
+					elseif sparrloc[cumarrtemp] = 6:
+						cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
+						cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
+						$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
+						cumarrage[sparrtmpv] = sparrage[cumarrtemp]
+						cumarrdel[sparrtmpv] = 3
+						cumarrkno[sparrtmpv] = -1
+						cumarrcon[sparrtmpv] = 0
+						cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
 					end
 				end
-			elseif sparrslc[cumarrtemp] = 1 and sparrage < 5:
-				if sparrloc[cumarrtemp] = 1:
-					cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
-					cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
-					$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
-					cumarrage[sparrtmpv] = sparrage[cumarrtemp]
-					cumarrdel[sparrtmpv] = 1
-					cumarrkno[sparrtmpv] = -1
-					cumarrcon[sparrtmpv] = 0
-					cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
-				end
-			elseif sparrslc[cumarrtemp] = 3 and sparrage < 5:
-				if sparrloc[cumarrtemp] = 2:
-					cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
-					cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
-					$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
-					cumarrage[sparrtmpv] = sparrage[cumarrtemp]
-					cumarrdel[sparrtmpv] = 3
-					cumarrkno[sparrtmpv] = -1
-					cumarrcon[sparrtmpv] = 0
-					cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
-				elseif sparrloc[cumarrtemp] = 4:
-					cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
-					cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
-					$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
-					cumarrage[sparrtmpv] = sparrage[cumarrtemp]
-					cumarrdel[sparrtmpv] = 2
-					cumarrkno[sparrtmpv] = -1
-					cumarrcon[sparrtmpv] = 0
-					cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
-				end
-			elseif sparrslc[cumarrtemp] = 5 and sparrage < 5:
-				if sparrloc[cumarrtemp] = 3:
-					cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
-					cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
-					$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
-					cumarrage[sparrtmpv] = sparrage[cumarrtemp]
-					cumarrdel[sparrtmpv] = 2
-					cumarrkno[sparrtmpv] = -1
-					cumarrcon[sparrtmpv] = 0
-					cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
-				elseif sparrloc[cumarrtemp] = 5:
-					cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
-					cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
-					$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
-					cumarrage[sparrtmpv] = sparrage[cumarrtemp]
-					cumarrdel[sparrtmpv] = 3
-					cumarrkno[sparrtmpv] = -1
-					cumarrcon[sparrtmpv] = 0
-					cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
-				elseif sparrloc[cumarrtemp] = 6:
-					cumarrcpt[sparrtmpv] = sparrppt[cumarrtemp]*sparrvol[cumarrtemp]/sparrage[cumarrtemp]/1000
-					cumarrppt[sparrtmpv] = sparrppt[cumarrtemp]
-					$cumarrnam[sparrtmpv] = $sparrnam[cumarrtemp]
-					cumarrage[sparrtmpv] = sparrage[cumarrtemp]
-					cumarrdel[sparrtmpv] = 3
-					cumarrkno[sparrtmpv] = -1
-					cumarrcon[sparrtmpv] = 0
-					cumarrcnt[sparrtmpv] = sparrcnt[cumarrtemp]
-				end
-			end
 
-			if sparrloc[cumarrtemp] = 0 or sparrloc[cumarrtemp] = 3 or sparrloc[cumarrtemp] = 12:
-				sparrvol[cumarrtemp] -= sparrage[cumarrtemp]/2
-				if sparrvol[cumarrtemp] < 0:sparrvol[cumarrtemp] = 0
-			end
-			if sparrloc[cumarrtemp] = 0 and cumsumvag > 60: sparrslc[cumarrtemp] = 1
-			if sparrloc[cumarrtemp] = 3 and cumsumass > 60: sparrslc[cumarrtemp] = 1
-			if sparrloc[cumarrtemp] = 17:
-				cumcondslip += 1
-				if sparridt[cumarrtemp] >= 0:
-					cumcondslip_aware = 1
+				if sparrloc[cumarrtemp] = 0 or sparrloc[cumarrtemp] = 3 or sparrloc[cumarrtemp] = 12:
+					sparrvol[cumarrtemp] -= sparrage[cumarrtemp]/2
+					if sparrvol[cumarrtemp] < 0:sparrvol[cumarrtemp] = 0
 				end
-				if sparrage[cumarrtemp] > 48:
-					cumcondslip_aware = 1
-					if pcs_health > 100: pcs_health -= rand(3,sparrage[cumarrtemp] - 45)
-					'<br><b><font color="red">You feel nauseous.</font></b>'
+				if sparrloc[cumarrtemp] = 0 and cumsumvag > 60: sparrslc[cumarrtemp] = 1
+				if sparrloc[cumarrtemp] = 3 and cumsumass > 60: sparrslc[cumarrtemp] = 1
+				if sparrloc[cumarrtemp] = 17:
+					cumcondslip += 1
+					if sparridt[cumarrtemp] >= 0:
+						cumcondslip_aware = 1
+					end
+					if sparrage[cumarrtemp] > 48:
+						cumcondslip_aware = 1
+						if pcs_health > 100: pcs_health -= rand(3,sparrage[cumarrtemp] - 45)
+						'<br><b><font color="red">You feel nauseous.</font></b>'
+					end
 				end
+				if sparrloc[cumarrtemp] ! 0 and sparrloc[cumarrtemp] ! 3 and sparrloc[cumarrtemp] ! 12 and sparrage < 5: sparrslc[cumarrtemp] += 1
+				sparrage[cumarrtemp] += 1
+				ctemp[0] += sparrvol[cumarrtemp]
+				if sparrloc[cumarrtemp] = 0: ctemp[1] += sparrvol[cumarrtemp]
+				if sparrloc[cumarrtemp] = 3: ctemp[2] += sparrvol[cumarrtemp]
+			else
+				gs 'cum_cleanup', 'cleandeposit', cumarrtemp
 			end
-			if sparrloc[cumarrtemp] ! 0 and sparrloc[cumarrtemp] ! 3 and sparrloc[cumarrtemp] ! 12 and isprok = 0 and sparrage < 5: sparrslc[cumarrtemp] += 1
-			sparrage[cumarrtemp] += 1
-			cumarrtemp += 1
-			ctemp[0] += sparrvol[cumarrtemp]
-			if sparrloc[cumarrtemp] = 0: ctemp[1] += sparrvol[cumarrtemp]
-			if sparrloc[cumarrtemp] = 3: ctemp[2] += sparrvol[cumarrtemp]
-		else
-			gs 'cum_cleanup', 'cleandeposit', cumarrtemp
-		end
-		if cumarrtemp < arrsize('sparrvol'): jump 'cumspaloop'
+		if cumarrtemp < arrsize('sparrvol'): cumarrtemp += 1 & jump 'cumspaloop'
+
 		cumsumbod = ctemp[0]
 		cumsumvag = ctemp[1]
 		cumsumass = ctemp[2]
 		killvar 'ctemp'
+		killvar 'sparrtmpv'
+		killvar 'cumarrtemp'
 	end
 	!!	Breastcycle. Every breast related change with lactation happens in here.
 	if cheat_NoLactation > 0:

+ 1 - 1
locations/pav_disco_sex.qsrc

@@ -2318,7 +2318,7 @@ if $ARGS[0] = 'End':
 	'<center><video autoplay loop src="images/pc/activities/misc/dress_2.mp4"></video></center>'
 	'After you relax, you smile at <<$npc_firstname[$npclastsaved]>> and say, "That was fun, but I really should get going..."'
 	'<<$npc_firstname[$npclastsaved]>> stretches lazily on the bed, not bothering to get up. "You were great, <<$pcs_nickname>>! I hope I''ll run into you again next time I''m in Pavlovsk!"'
-	if arrpos('sparrloc', 11) ! -1 and sparrvol > 0:cumspclnt = 12 & gs 'cum_cleanup' & 'You look around the room and find a packet of wipes. You take one and quickly wipe the sperm off your face to make yourself presentable enough to go outside.'
+	if arrpos('sparrloc', 11) ! -1: cumspclnt = 12 & gs 'cum_cleanup' & 'You look around the room and find a packet of wipes. You take one and quickly wipe the sperm off your face to make yourself presentable enough to go outside.'
 	gs 'arousal', 'end'
 	gs 'stat'
 	act 'Leave the hotel': gt 'pav_market'