浏览代码

Merge remote-tracking branch 'Lusticon/master'

Kevin_Smarts 10 月之前
父节点
当前提交
ee1c1eb3ad

+ 122 - 65
locations/Cum_Manage.qsrc

@@ -1094,12 +1094,16 @@ if $ARGS[0] = 'check_innards':
 end
 
 if $ARGS[0] = 'cum_decay':
+!! ARGS[1] forced cum leak (sex intercourse) in values like 20-100
 
-	if menu_off = 1 or cumdectime+15 > totminut: exit
+	cumforced = ARGS[1]
+	if (menu_off = 1 or cumdectime+15 > totminut) and cumforced = 0: exit
 
 	if arrsize('sparrvol') > 0:
 		cumsumvag = 0
 		cumsumass = 0
+        killvar 'cumloc'
+        killvar 'cumvol'
 		i = 0
 
 		!!go through every location
@@ -1120,48 +1124,54 @@ if $ARGS[0] = 'cum_decay':
 
 						if sparrvol[idx] > 0:
 							cumsumvag += sparrvol[idx]
-							cumloc[i] = 1
 							!! seeping out
-							if FUNC('Cum_Manage', 'check_innards', 0) = 1:
-								cumamount = (totminut-cumdectime)/15 * max(rand(1,3), rand(sparrvol[idx]/pcs_vag, vgape*40) - InSleep*rand(2,5) + iif(pcs_horny>50, min(100,pcs_horny)/10 - 4,0))
+							if FUNC('Cum_Manage', 'check_innards', 0) = 1 or cumforced/rand(2,3) > sparrvol[idx]:
+								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(1,3), rand(sparrvol[idx]/pcs_vag, vgape*40) - InSleep*rand(2,5) + iif(pcs_horny>50, min(100,pcs_horny)/10 - 4,0)) + cumforced/rand(5,10))
 								sparrvol[idx] -= cumamount & cumsumvag -= cumamount
+								cumvol[0] -= cumamount
 
 								!! 1 = 'On your labia'
-								sexvolume = max(0, cumamount/2 - isprokp*rand(10,20))
+								sexvolume = max(cumamount/10, cumamount/2 - iif(cumforced=0,isprokp*rand(10,20),0))
 								if sexvolume > 0:
 									spafinloc = 1
-									sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
+									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
 									gs 'Cum_Manage'
+									cumvol[1] += sexvolume & cumloc[1] = 1
 								end
-								!! 2 = 'On your panties over your vagina'
-								if $pantyworntype <> 'none' or PCloPanties > 0:
-									!! isprokp - sanitary pad absorption
-									if isprokp <> 1:
-										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
-										gs 'Cum_Manage'
+								if cumforced = 0:
+									!! 2 = 'On your panties over your vagina'
+									if $pantyworntype <> 'none' or PCloPanties > 0:
+										!! isprokp - sanitary pad absorption
+										if isprokp <> 1:
+											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
+											gs 'Cum_Manage'
+											cumvol[2] += sexvolume & cumloc[2] = 1
+										end
+									!! 9 = 'On your legs'
+									elseif ($clothingworntype = 'nude' or PCloSkirt > 0 or PCloDress > 0) and rand(1,10) > 6 + InSleep*2:
+										sexvolume = max(0, cumamount/4)
+										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
+											gs 'Cum_Manage'
+											cumvol[9] += sexvolume & cumloc[9] = 1
+										end
 									end
-								!! 9 = 'On your legs'
-								elseif ($clothingworntype = 'nude' or PCloSkirt > 0 or PCloDress > 0) and rand(1,10) > 6 + InSleep*2:
-									sexvolume = max(0, cumamount/4)
-									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
-										gs 'Cum_Manage'
-									end
-								end
-								!! 6 = 'On your clothes in your groin area'
-								if PCloPants > 0:
-									sexvolume = max(0, cumamount / (3 + iif($pantyworntype<>'none',12,0)))
-									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
-										gs 'Cum_Manage'
+									!! 6 = 'On your clothes in your groin area'
+									if PCloPants > 0:
+										sexvolume = max(0, cumamount / (3 + iif($pantyworntype<>'none',12,0)))
+										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
+											gs 'Cum_Manage'
+											cumvol[6] += sexvolume & cumloc[6] = 1
+										end
 									end
 								end
 							end
@@ -1177,66 +1187,112 @@ if $ARGS[0] = 'cum_decay':
 
 						if sparrvol[idx] > 0:
 							cumsumass += sparrvol[idx]
-							cumloc[i] = 1
 							!! seeping out
-							if FUNC('Cum_Manage', 'check_innards', 3) = 1:
-								cumamount = (totminut-cumdectime)/15 * max(rand(0,1), rand(sparrvol[idx]/(pcs_ass*3/2), agape*20) - InSleep*rand(4,8))
+							if FUNC('Cum_Manage', 'check_innards', 3) = 1 or cumforced/rand(2,4) > sparrvol[idx]:
+								cumamount = min(sparrvol[idx]*3/2, (totminut-cumdectime)/15 * max(rand(0,1), rand(sparrvol[idx]/(pcs_ass*3/2), agape*20) - InSleep*rand(4,8)) + cumforced/rand(7,15))
 								sparrvol[idx] -= cumamount & cumsumass -= cumamount
+								cumvol[3] -= cumamount
 
 								!! 1 = 'On your labia'
-								sexvolume = max(0, cumamount/4 - isprokp*rand(10,20))
+								sexvolume = max(cumamount/10, cumamount/4 - iif(cumforced=0,isprokp*rand(10,20),0))
 								if sexvolume > 0:
 									spafinloc = 1
-									sexunaware = iif(rand(0,4)=1 or sparridt[idx]=-2,1,0)
+									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
 									gs 'Cum_Manage'
+									cumvol[1] += sexvolume & cumloc[1] = 1
 								end
-								!! 5 = 'On your panties over your butt'
-								if $pantyworntype <> 'none' or PCloPanties > 0:
-									!! isprokp - sanitary pad absorption
-									if isprokp <> 1:
-										spafinloc = 5
-										sexvolume = max(1, cumamount/3)
-										sexunaware = iif(rand(0,3)=1 or sparridt[idx]=-2,1,0)
+								if cumforced > 0:
+									!! 4 = 'On your butt'
+									sexvolume = max(cumamount/15, cumamount/3)
+									if sexvolume > 0:
+										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
 										gs 'Cum_Manage'
+										cumvol[4] += sexvolume & cumloc[4] = 1
 									end
-								!! 9 = 'On your legs'
-								elseif ($clothingworntype = 'nude' or PCloSkirt > 0 or PCloDress > 0) and rand(1,10) > 4 + InSleep*3:
-									sexvolume = max(0, cumamount/5)
-									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
-										gs 'Cum_Manage'
+								else
+									!! 5 = 'On your panties over your butt'
+									if $pantyworntype <> 'none' or PCloPanties > 0:
+										!! isprokp - sanitary pad absorption
+										if isprokp <> 1:
+											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
+											gs 'Cum_Manage'
+											cumvol[5] += sexvolume & cumloc[5] = 1
+										end
+									!! 9 = 'On your legs'
+									elseif ($clothingworntype = 'nude' or PCloSkirt > 0 or PCloDress > 0) and rand(1,10) > 4 + InSleep*3:
+										sexvolume = max(0, cumamount/5)
+										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
+											gs 'Cum_Manage'
+											cumvol[9] += sexvolume & cumloc[9] = 1
+										end
 									end
-								end
-								!! 6 = 'On your clothes in your groin area'
-								if PCloPants > 0:
-									sexvolume = max(0, cumamount / (4 + iif($pantyworntype<>'none',16,0)))
-									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
-										gs 'Cum_Manage'
+									!! 6 = 'On your clothes in your groin area'
+									if PCloPants > 0:
+										sexvolume = max(0, cumamount / (4 + iif($pantyworntype<>'none',16,0)))
+										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
+											gs 'Cum_Manage'
+											cumvol[6] += sexvolume & cumloc[6] = 1
+										end
 									end
 								end
 							end
 						end
 						if sparrvol[idx] <= 0: gs 'cum_cleanup', 'cleandeposit', idx
+					!! 1 = 'On your labia'  4 = 'On your butt'
+					elseif (i = 1 and sparrvol[idx]*((totminut-cumdectime)/15) > rand(2,5)) _ 
+						or (i = 4 and sparrvol[idx]*((totminut-cumdectime)/15) > rand(4,8)):
+						if $pantyworntype <> 'none' or PCloPanties > 0:
+							!! 2 = 'On your panties over your vagina'  5 = 'On your panties over your butt'
+							sexvolume = rand(sparrvol[idx]/2, sparrvol[idx]) - iif(i=1,isprokp*rand(15,30),0)
+							if sexvolume > 0:
+								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
+								gs 'Cum_Manage'
+								cumvol[iif(i=1,2,5)] += sexvolume & cumloc[iif(i=1,2,5)] = 1
+							end
+						!! 6 = 'On your clothes in your groin area'
+						elseif PCloPants > 0:
+							sexvolume = rand(sparrvol[idx]/2, sparrvol[idx])
+							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
+								gs 'Cum_Manage'
+								cumvol[6] += sexvolume & cumloc[6] = 1
+							end
+						end
+						if sparrvol[idx] <= 0: gs 'cum_cleanup', 'cleandeposit', idx
 					!! 17 = 'In a condom in your vagina'
 					elseif i = 17 and sparrvol[idx] > rand(10,15):
 						!! 0 = 'In your Vagina'
-						sexvolume = max(0, cumamount/5 - isprokp*rand(2,5))
+						sexvolume = min(sparrvol[idx]/3, (totminut-cumdectime)/15 * max(0, cumamount/5 - isprokp*rand(2,5)) + cumforced/rand(5,10))
 						if sexvolume > 0:
+							!! condom in vagina is summed in cumsumvag and Cum_Manage call will added more, so subtract here
+							cumsumvag -= sexvolume
 							sparrvol[idx] -= sexvolume
 							spafinloc = 0
 							sexunaware = 1
 							sexspecpot = -1 & cumarrnam = sparrnam[idx] & cumarrcpt = sparrppt[idx] & cumarrkno = sparridt[idx] & cumarrage = sparrage[idx] & cumnostd = 0
 							gs 'Cum_Manage'
+							cumvol[17] -= sexvolume & cumvol[0] += sexvolume & cumloc[0] = 1
 						end
 					!! 12 = 'Inside your mouth'
-					elseif i <> 12:
+					elseif i <> 12 and sparrvol[idx] > rand(0,3):
 						!! dry out
 						!! 1: in this hour
 						!! 2: in four hours
@@ -1247,7 +1303,7 @@ if $ARGS[0] = 'cum_decay':
 							gs 'cum_cleanup', 'cleandeposit', idx
 						end
 					end
-					if sparrvol[idx] > 0: cumloc[i] = 1
+					if sparrvol[idx] > 0: cumloc[i] = 1 & cumvol[inx] += sparrvol[idx] else cumloc[i] = 0 & cumvol[inx] = 0
 				end
 				!! reset just in case
 				sexvolume = 0 & cumnostd = 0 & cumarrkno = 0
@@ -1260,6 +1316,7 @@ if $ARGS[0] = 'cum_decay':
 		if cumsumass <= 0: cumsumass = 0 & cum_vol['anus'] = 0   & cumvol[3] = 0 & cum_loc['anus'] = 0   & cumloc[3] = 0
 		if cumsumbod < 0: cumsumbod = 0
 	end
+	killvar 'cumforced'
 	cumdectime = totminut
 end
 

+ 70 - 78
locations/arousal.qsrc

@@ -130,8 +130,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 	end
 	!! cum slippery
-	if cumsumvag > 0: vaginal_slip += rand(cumsumvag/10, cumsumvag/5)
-	if cumsumass > 0: anal_slip += rand(cumsumass/15, cumsumass/10)
+	if cumloc[0] > 0: vaginal_slip += rand(cumvol[0]/10, cumvol[0]/5)
+	if cumloc[3] > 0: anal_slip += rand(cumvol[3]/15, cumvol[3]/10)
 	!!	This is to allow a Succubus with the right skill level to handle any size then go back to original size
 	if succubusflag = 1 and sucskill >= 4:
 		if mid($ARGS[0],1,4) = 'vagi' and temp_dick ! pcs_vag:
@@ -177,10 +177,16 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	elseif $ARGS[0] = 'kiss':
 		count['kiss'] = 1
 		stim['act'] = 10
-!!	elseif $ARGS[0] = 'breasts':
-!!		stim['act'] = 30
-!!		!! No idea where else to put this. This is used for breast stimulation which will eventually cause lactation in sveta without her knowledge. If anyone knows a better place for this, please let me know. - milky_boobs.
-!!		milkedvolume += func('lact_lib','$get_breastmilk', 8, ARGS[1])
+	elseif $ARGS[0] = 'breasts':
+		stim['act'] = 30
+		!! lose some milk
+		if lactation['active'] > 0 and lactation['breastmv'] > lactation['breastmm']*3/2:
+			stim['act'] += rand(10,20)
+			lactation['breastmv'] = max(0, lactation['breastmv'] - rand(lactation['breastmv']/10, lactation['breastmv']/4)*max(1,ARGS[1]/2))
+		end
+
+		!! No idea where else to put this. This is used for breast stimulation which will eventually cause lactation in sveta without her knowledge. If anyone knows a better place for this, please let me know. - milky_boobs.
+		!! milkedvolume += func('lact_lib','$get_breastmilk', 8, ARGS[1])
 	elseif $ARGS[0] = 'massage':
 		pcs_sweat += rand(2,4)*max(1,ARGS[1]/5)
 		count['massage'] = 1
@@ -260,21 +266,15 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/40,temp_dick/30) & agrdif += rand(grange/35,grange/25)
 		end
 		!! increase if already in pain
-		agrdif += iif(rand(pain['asshole']/2, pain['asshole']) > rand(20,30),rand(agrdif/2),0)
-		altdif += iif(rand(pain['asshole']/2, pain['asshole']) > rand(20,30),rand(altdif/2),0)
+		agrdif += rand(pain['asshole']/10, pain['asshole']/2)
+		altdif += rand(pain['asshole']/10, pain['asshole']/2)
 		!! calculate the harm
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
 		!! the pain lover the pleasure
 		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
 		!! force cum leak
-		if ARGS[1] > 0 and cumsumass > rand(pcs_ass/2,pcs_ass):
-			cumdectime -= 15+ARGS[1]*2
-			temp_gape = agape
-			agape = max(1, min(4,(agrdif + altdif)/10))
-			gs 'cum_manage', 'cum_decay'
-			agape = temp_gape
-		end
+		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
 		if pcs_ass < temp_dick:pcs_ass += 1
 		if pcs_ass*2 < temp_dick:pcs_ass += 1
 	elseif $ARGS[0] = 'anal_finger':
@@ -350,18 +350,12 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/35,temp_dick/25) & agrdif += rand(grange/28,grange/20)
 			if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/40,temp_dick/30) & agrdif += rand(grange/35,grange/25)
 		end
-		agrdif += iif(rand(pain['asshole']/2, pain['asshole']) > rand(20,30),rand(agrdif/2),0)
-		altdif += iif(rand(pain['asshole']/2, pain['asshole']) > rand(20,30),rand(altdif/2),0)
+		agrdif += rand(pain['asshole']/10, pain['asshole']/2)
+		altdif += rand(pain['asshole']/10, pain['asshole']/2)
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
 		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
-		if ARGS[1] > 0 and cumsumass > rand(pcs_ass/2,pcs_ass):
-			cumdectime -= 15+ARGS[1]*2
-			temp_gape = agape
-			agape = max(1, min(4,(agrdif + altdif)/10))
-			gs 'cum_manage', 'cum_decay'
-			agape = temp_gape
-		end
+		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
 		if pcs_ass < temp_dick:pcs_ass += 1
 		if pcs_ass*2 < temp_dick:pcs_ass += 1
 	elseif $ARGS[0] = 'anal_strap':
@@ -399,19 +393,13 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/35,temp_dick/25) & agrdif += rand(grange/28,grange/20)
 			if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/40,temp_dick/30) & agrdif += rand(grange/35,grange/25)
 		end
-		agrdif += iif(rand(pain['asshole']/2, pain['asshole']) > rand(20,30),rand(agrdif/2),0)
-		altdif += iif(rand(pain['asshole']/2, pain['asshole']) > rand(20,30),rand(altdif/2),0)
+		agrdif += rand(pain['asshole']/10, pain['asshole']/2)
+		altdif += rand(pain['asshole']/10, pain['asshole']/2)
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
 		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
 		!! force cum leak
-		if ARGS[1] > 0 and cumsumass > rand(pcs_ass/2,pcs_ass):
-			cumdectime -= 15+ARGS[1]*2
-			temp_gape = agape
-			agape = max(1, min(4,(agrdif + altdif)/10))
-			gs 'cum_manage', 'cum_decay'
-			agape = temp_gape
-		end
+		if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
 		if pcs_ass < temp_dick:pcs_ass += 1
 		if pcs_ass*2 < temp_dick:pcs_ass += 1
 	elseif $ARGS[0] = 'anal_vibe':
@@ -471,32 +459,26 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arrpos('$ARGS', 'rough') >= 0:            vltdif += rand(temp_dick/12,temp_dick/7)  & vgrdif += rand(grange/7,grange/5)
 		if arrpos('$ARGS', 'gangbang') >= 0:         vltdif += rand(temp_dick/15,temp_dick/9)  & vgrdif += rand(grange/10,grange/7)
 		if arrpos('$ARGS', 'beast') >= 0:            vltdif += rand(temp_dick/18,temp_dick/12) & vgrdif += rand(grange/13,grange/9)
-		if pain['asshole'] > rand(30,50):
+		if pain['vaginal'] > rand(30,50):
 			!! if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/25,temp_dick/15) & vgrdif += rand(grange/18,grange/14)
 			if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/28,temp_dick/19) & vgrdif += rand(grange/21,grange/17)
 		end
-		if pain['asshole'] > rand(40,60):
+		if pain['vaginal'] > rand(40,60):
 			if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/32,temp_dick/25) & vgrdif += rand(grange/24,grange/18)
 			!! if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/34,temp_dick/26) & vgrdif += rand(grange/27,grange/22)
 			if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/38,temp_dick/29) & vgrdif += rand(grange/32,grange/26)
 			if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/45,temp_dick/35) & vgrdif += rand(grange/40,grange/32)
 		end
 		!! increase if already in pain
-		vgrdif += iif(rand(pain['vaginal']/2, pain['vaginal']) > rand(20,30),rand(vgrdif/2),0)
-		vltdif += iif(rand(pain['vaginal']/2, pain['vaginal']) > rand(20,30),rand(vltdif/2),0)
+		vgrdif += rand(pain['vaginal']/10, pain['vaginal']/2)
+		vltdif += rand(pain['vaginal']/10, pain['vaginal']/2)
 		!! calculate the harm
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
 		!! the pain lover the pleasure
 		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
 		!! force cum leak
-		if ARGS[1] > 0 and cumsumvag > rand(pcs_vag/2,pcs_vag):
-			cumdectime -= 15+ARGS[1]*2
-			temp_gape = vgape
-			vgape = max(1, min(4,(vgrdif + vltdif)/10))
-			gs 'cum_manage', 'cum_decay'
-			vgape = temp_gape
-		end
+		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
 		if pcs_vag < temp_dick:pcs_vag += 1
 		if pcs_vag*2 < temp_dick:pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_finger':
@@ -545,28 +527,22 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arrpos('$ARGS', 'rough') >= 0:            vltdif += rand(temp_dick/12,temp_dick/7)  & vgrdif += rand(grange/7,grange/5)
 		if arrpos('$ARGS', 'gangbang') >= 0:         vltdif += rand(temp_dick/15,temp_dick/9)  & vgrdif += rand(grange/10,grange/7)
 		if arrpos('$ARGS', 'beast') >= 0:            vltdif += rand(temp_dick/18,temp_dick/12) & vgrdif += rand(grange/13,grange/9)
-		if pain['asshole'] > rand(30,50):
+		if pain['vaginal'] > rand(30,50):
 			!! if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/25,temp_dick/15) & vgrdif += rand(grange/18,grange/14)
 			if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/28,temp_dick/19) & vgrdif += rand(grange/21,grange/17)
 		end
-		if pain['asshole'] > rand(40,60):
+		if pain['vaginal'] > rand(40,60):
 			if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/32,temp_dick/25) & vgrdif += rand(grange/24,grange/18)
 			!! if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/34,temp_dick/26) & vgrdif += rand(grange/27,grange/22)
 			if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/38,temp_dick/29) & vgrdif += rand(grange/32,grange/26)
 			if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/45,temp_dick/35) & vgrdif += rand(grange/40,grange/32)
 		end
-		vgrdif += iif(rand(pain['vaginal']/2, pain['vaginal']) > rand(20,30),rand(vgrdif/2),0)
-		vltdif += iif(rand(pain['vaginal']/2, pain['vaginal']) > rand(20,30),rand(vltdif/2),0)
+		vgrdif += rand(pain['vaginal']/10, pain['vaginal']/2)
+		vltdif += rand(pain['vaginal']/10, pain['vaginal']/2)
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
 		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
-		if ARGS[1] > 0 and cumsumvag > rand(pcs_vag/2,pcs_vag):
-			cumdectime -= 15+ARGS[1]*2
-			temp_gape = vgape
-			vgape = max(1, min(4,(vgrdif + vltdif)/10))
-			gs 'cum_manage', 'cum_decay'
-			vgape = temp_gape
-		end
+		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
 		if pcs_vag < temp_dick:pcs_vag += 1
 		if pcs_vag*2 < temp_dick:pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_strap':
@@ -599,28 +575,22 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if arrpos('$ARGS', 'rough') >= 0:            vltdif += rand(temp_dick/12,temp_dick/7)  & vgrdif += rand(grange/7,grange/5)
 		if arrpos('$ARGS', 'gangbang') >= 0:         vltdif += rand(temp_dick/15,temp_dick/9)  & vgrdif += rand(grange/10,grange/7)
 		if arrpos('$ARGS', 'beast') >= 0:            vltdif += rand(temp_dick/18,temp_dick/12) & vgrdif += rand(grange/13,grange/9)
-		if pain['asshole'] > rand(30,50):
+		if pain['vaginal'] > rand(30,50):
 			!! if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/25,temp_dick/15) & vgrdif += rand(grange/18,grange/14)
 			if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/28,temp_dick/19) & vgrdif += rand(grange/21,grange/17)
 		end
-		if pain['asshole'] > rand(40,60):
+		if pain['vaginal'] > rand(40,60):
 			if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/32,temp_dick/25) & vgrdif += rand(grange/24,grange/18)
 			!! if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/34,temp_dick/26) & vgrdif += rand(grange/27,grange/22)
 			if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/38,temp_dick/29) & vgrdif += rand(grange/32,grange/26)
 			if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/45,temp_dick/35) & vgrdif += rand(grange/40,grange/32)
 		end
-		vgrdif += iif(rand(pain['vaginal']/2, pain['vaginal']) > rand(20,30),rand(vgrdif/2),0)
-		vltdif += iif(rand(pain['vaginal']/2, pain['vaginal']) > rand(20,30),rand(vltdif/2),0)
+		vgrdif += rand(pain['vaginal']/10, pain['vaginal']/2)
+		vltdif += rand(pain['vaginal']/10, pain['vaginal']/2)
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
 		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
-		if ARGS[1] > 0 and cumsumvag > rand(pcs_vag/2,pcs_vag):
-			cumdectime -= 15+ARGS[1]*2
-			temp_gape = vgape
-			vgape = max(1, min(4,(vgrdif + vltdif)/10))
-			gs 'cum_manage', 'cum_decay'
-			vgape = temp_gape
-		end
+		if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', (temp_dick+grange)*max(1,ARGS[1]/5)
 		if pcs_vag < temp_dick:pcs_vag += 1
 		if pcs_vag*2 < temp_dick:pcs_vag += 1
 	elseif $ARGS[0] = 'vaginal_vibe':
@@ -714,6 +684,15 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			count['bj'] = 1
 		end
 		stim['act'] = 45
+		if pcs_lipbalm > 0:
+			pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			if arrpos('$ARGS', 'rape') >= 0 _ 
+			or arrpos('$ARGS', 'rough') >= 0 _ 
+			or arrpos('$ARGS', 'gangbang') >= 0 _ 
+			or arrpos('$ARGS', 'beast') >= 0:
+				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			end
+		end
 		if arrpos('$ARGS', 'deepthroat') >= 0:
 			tgrdif = grange - pcs_throat
 			tltdif = temp_dick - pcs_throat
@@ -730,18 +709,18 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			if arrpos('$ARGS', 'rough') >= 0:            tltdif += rand(temp_dick/10,temp_dick/6)  & tgrdif += rand(grange/6,grange/4)
 			if arrpos('$ARGS', 'gangbang') >= 0:         tltdif += rand(temp_dick/13,temp_dick/8)  & tgrdif += rand(grange/8,grange/6)
 			if arrpos('$ARGS', 'beast') >= 0:            tltdif += rand(temp_dick/16,temp_dick/10) & tgrdif += rand(grange/10,grange/8)
-			if pain['asshole'] > rand(30,50):
+			if pain['throat'] > rand(30,50):
 				!! if arrpos('$ARGS', 'group') >= 0:        tltdif += rand(temp_dick/23,temp_dick/13) & tgrdif += rand(grange/16,grange/13)
 				if arrpos('$ARGS', 'maso') >= 0:         tltdif += rand(temp_dick/25,temp_dick/16) & tgrdif += rand(grange/19,grange/15)
 			end
-			if pain['asshole'] > rand(40,60):
+			if pain['throat'] > rand(40,60):
 				if arrpos('$ARGS', 'prostitution') >= 0: tltdif += rand(temp_dick/30,temp_dick/19) & tgrdif += rand(grange/21,grange/17)
 				!! if arrpos('$ARGS', 'unknown') >= 0:      tltdif += rand(temp_dick/32,temp_dick/23) & tgrdif += rand(grange/24,grange/19)
 				if arrpos('$ARGS', 'bound') >= 0:        tltdif += rand(temp_dick/35,temp_dick/26) & tgrdif += rand(grange/29,grange/23)
 				if arrpos('$ARGS', 'sub') >= 0:          tltdif += rand(temp_dick/38,temp_dick/33) & tgrdif += rand(grange/35,grange/28)
 			end
-			tgrdif += iif(rand(pain['throat']/2, pain['throat']) > rand(20,30),rand(tgrdif/2),0)
-			tltdif += iif(rand(pain['throat']/2, pain['throat']) > rand(20,30),rand(tltdif/2),0)
+			tgrdif += rand(pain['throat']/10, pain['throat']/2)
+			tltdif += rand(pain['throat']/10, pain['throat']/2)
 			gs 'pain', (tgrdif + tltdif)/5*max(1,ARGS[1]/5), 'throat', 'stretch'
 			if pcs_throat < temp_dick:pcs_throat += 1
 			if pcs_throat*2 < temp_dick:pcs_throat += 1
@@ -750,6 +729,15 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 	elseif $ARGS[0] = 'dildo_suck':
 		count['dildo_suck'] = 1
 		stim['act'] = 30
+		if pcs_lipbalm > 0:
+			pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			if arrpos('$ARGS', 'rape') >= 0 _ 
+			or arrpos('$ARGS', 'rough') >= 0 _ 
+			or arrpos('$ARGS', 'gangbang') >= 0 _ 
+			or arrpos('$ARGS', 'beast') >= 0:
+				pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,ARGS[1]/5))
+			end
+		end
 		if arrpos('$ARGS', 'deepthroat') >= 0:
 			tgrdif = grange - pcs_throat
 			tltdif = temp_dick - pcs_throat
@@ -766,18 +754,18 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			if arrpos('$ARGS', 'rough') >= 0:            tltdif += rand(temp_dick/10,temp_dick/6)  & tgrdif += rand(grange/6,grange/4)
 			if arrpos('$ARGS', 'gangbang') >= 0:         tltdif += rand(temp_dick/13,temp_dick/8)  & tgrdif += rand(grange/8,grange/6)
 			if arrpos('$ARGS', 'beast') >= 0:            tltdif += rand(temp_dick/16,temp_dick/10) & tgrdif += rand(grange/10,grange/8)
-			if pain['asshole'] > rand(30,50):
+			if pain['throat'] > rand(30,50):
 				!! if arrpos('$ARGS', 'group') >= 0:        tltdif += rand(temp_dick/23,temp_dick/13) & tgrdif += rand(grange/16,grange/13)
 				if arrpos('$ARGS', 'maso') >= 0:         tltdif += rand(temp_dick/25,temp_dick/16) & tgrdif += rand(grange/19,grange/15)
 			end
-			if pain['asshole'] > rand(40,60):
+			if pain['throat'] > rand(40,60):
 				if arrpos('$ARGS', 'prostitution') >= 0: tltdif += rand(temp_dick/30,temp_dick/19) & tgrdif += rand(grange/21,grange/17)
 				!! if arrpos('$ARGS', 'unknown') >= 0:      tltdif += rand(temp_dick/32,temp_dick/23) & tgrdif += rand(grange/24,grange/19)
 				if arrpos('$ARGS', 'bound') >= 0:        tltdif += rand(temp_dick/35,temp_dick/26) & tgrdif += rand(grange/29,grange/23)
 				if arrpos('$ARGS', 'sub') >= 0:          tltdif += rand(temp_dick/38,temp_dick/33) & tgrdif += rand(grange/35,grange/28)
 			end
-			tgrdif += iif(rand(pain['throat']/2, pain['throat']) > rand(20,30),rand(tgrdif/2),0)
-			tltdif += iif(rand(pain['throat']/2, pain['throat']) > rand(20,30),rand(tltdif/2),0)
+			tgrdif += rand(pain['throat']/10, pain['throat']/2)
+			tltdif += rand(pain['throat']/10, pain['throat']/2)
 			gs 'pain', (tgrdif + tltdif)/5*max(1,ARGS[1]/5), 'throat', 'stretch'
 			if pcs_throat < temp_dick:pcs_throat += 1
 			if pcs_throat*2 < temp_dick:pcs_throat += 1
@@ -832,16 +820,16 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		or arrpos('$ARGS', 'anal_strap') >= 0:    pcs_hairbsh = iif(rand(30, pcs_hairlng)>220,rand(-1,pcs_hairbsh),pcs_hairbsh)
 		if arrpos('$ARGS', 'vaginal') >= 0 _ 
 		or arrpos('$ARGS', 'vaginal_strap') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>240,rand(-1,pcs_hairbsh),pcs_hairbsh)
-		if arrpos('$ARGS', 'bound') >= 0:         pcs_hairbsh = iif(rand(30, pcs_hairlng)>270,rand(0,pcs_hairbsh),pcs_hairbsh)
-		if arrpos('$ARGS', 'sub') >= 0:           pcs_hairbsh = iif(rand(30, pcs_hairlng)>300,rand(0,pcs_hairbsh),pcs_hairbsh)
+		if pcs_hairbsh > 0:
+			if arrpos('$ARGS', 'bound') >= 0:     pcs_hairbsh = iif(rand(30, pcs_hairlng)>270,rand(0,pcs_hairbsh),pcs_hairbsh)
+			if arrpos('$ARGS', 'sub') >= 0:       pcs_hairbsh = iif(rand(30, pcs_hairlng)>300,rand(0,pcs_hairbsh),pcs_hairbsh)
+		end
 	end
 	if pcs_makeup > 1:
 		if arrpos('$ARGS', 'rape') >= 0:                  pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<7,0,pcs_makeup)
 		if arrpos('$ARGS', 'rough') >= 0:                 pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
 		if arrpos('$ARGS', 'gangbang') >= 0:              pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
 		if arrpos('$ARGS', 'beast') >= 0:                 pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<4,0,pcs_makeup)
-		if (arrpos('$ARGS', 'bj') >= 0 _ 
-		or arrpos('$ARGS', 'cuni_give') >= 0):            pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,rand(0,1),pcs_makeup)
 		if arrpos('$ARGS', 'bj') >= 0 or arrpos('$ARGS', 'deepthroat') >= 0:
 			if arrpos('$ARGS', 'group') >= 0:             pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
 			if arrpos('$ARGS', 'BDSM') >= 0:              pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
@@ -853,6 +841,10 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 				if arrpos('$ARGS', 'sub') >= 0:           pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
 			end
 		end
+		if pcs_makeup > 1:
+			if (arrpos('$ARGS', 'bj') >= 0 _ 
+			or arrpos('$ARGS', 'cuni_give') >= 0):        pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,rand(0,1),pcs_makeup)
+		end
 	end
 	
 	if stim['mag'] > 9: stim['mag'] = 9

+ 0 - 1
locations/body_desc.qsrc

@@ -1012,7 +1012,6 @@ if $ARGS[0] = 'hair':
 	if hbraids >= 1:
 		hscrunchw = 0
 		hpingripw = 0
-		hbangs = 0
 		hpigtail = 0
 	end
 

+ 1 - 2
locations/brother.qsrc

@@ -52,6 +52,7 @@ if npc_pregtalk['A34'] = 0 and brother_pregreact <> 1 and ($ARGS[0] = 'start' or
 	gs 'brother', 'pregreact'
 	if brother_pregreact = 1: exit
 end
+if npc_pregtalk['A34'] = 1: killvar 'brother_pregreact'
 
 if $ARGS[0] = 'start':
 	menu_off = 1
@@ -1498,8 +1499,6 @@ if $ARGS[0] = 'brother_voyeur_ev8':
 end
 
 if $ARGS[0] = 'pregreact':
-	killvar 'brother_pregreact'
-	if npc_pregtalk['A34'] = 1: exit
 	if $loc = 'sitrPar':
 		if hour < 6: exit
 		if hour < 7 and brotherMorningSex ! daystart: exit

+ 1 - 0
locations/food_menu.qsrc

@@ -16,6 +16,7 @@ menu_off = 1
 if $ARGS[0] ! 'mod':
 	*clr & cla
 	food_loc = 1
+	$food_loc = $loc
 	killvar '$_drink'
 	killvar '$_eat'
 end

+ 7 - 7
locations/mirror.qsrc

@@ -67,12 +67,12 @@ if $ARGS[0] = 'start':
 				$serv['pigtails desc']='<a href="exec:hpigtail = 0 & hscrunchw = 0 & gs ''mirror'', ''start''">Remove</a> your scrunchies and let your hair flow free again.'
 			end
 		end
-		if canBraidHair = 1 and mc_inventory['scrunchies'] >= 1 and hBraids = 0 and (pcs_hairlng > 80 and pcs_hairlng <= 800) and hscrunchw = 0 and hpingripw = 0 and hscrunchw = 0:
-			$serv['braid']='<a href="exec:hbraids = 15 & minut += 30 & gs ''mirror'', ''start''"><img src="images/system/icons/action/braiding.png"></a>'
-			$serv['braid desc']='You can spend half an hour <a href="exec:hbraids = 15 & minut += 30 & gs ''mirror'', ''start''">braiding</a> your hair, just the way your sister taught you.'
+		if canBraidHair = 1 and mc_inventory['scrunchies'] >= 1 and hBraids = 0 and (pcs_hairlng > 80 and pcs_hairlng <= 800) and hscrunchw = 0 and hpingripw = 0 and hpigtail = 0:
+			$serv['braid']='<a href="exec:hbraids = 15 & minut += pcs_hairlng/10 & gs ''mirror'', ''start''"><img src="images/system/icons/action/braiding.png"></a>'
+			$serv['braid desc']='You can spend <<pcs_hairlng/10>> minutes <a href="exec:hbraids = 15 & minut += pcs_hairlng/10 & gs ''mirror'', ''start''">braiding</a> your hair, just the way your sister taught you.'
 		elseif hbraids > 0:
-			$serv['braid']='<a href="exec:hbraids = 0 & minut += 30 & gs ''mirror'', ''start''"><img src="images/system/icons/action/braid.png"></a>'
-			$serv['braid desc']='Take half an hour removing your <a href="exec:hbraids = 0 & minut += 30 & gs ''mirror'', ''start''">braid</a>.'
+			$serv['braid']='<a href="exec:hbraids = 0 & minut += hbraids*2+pcs_hairlng/50 & gs ''mirror'', ''start''"><img src="images/system/icons/action/braid.png"></a>'
+			$serv['braid desc']='Take <<hbraids*2+pcs_hairlng/50>> minutes removing your <a href="exec:hbraids = 0 & minut += hbraids*2+pcs_hairlng/50 & gs ''mirror'', ''start''">braid</a>.'
 		end
 		! ----- actions
 		$serv['back']='<a href="exec: gt ''mirror'',''fin''"><img src="images/system/icons/action/back.png"></a>'
@@ -261,7 +261,7 @@ if $ARGS[0] = 'start':
 			if hscrunchw = 2: '<a href="exec:hpigtail = 0 & hscrunchw = 0 & gs ''mirror'', ''start''">Remove</a> your scrunchies and let your hair flow free again.'
 		end
 
-		if canBraidHair = 1 and mc_inventory['scrunchies'] >= 1 and hBraids = 0 and (pcs_hairlng > 80 and pcs_hairlng <= 800) and hscrunchw = 0 and hpingripw = 0 and hscrunchw = 0:
+		if canBraidHair = 1 and mc_inventory['scrunchies'] >= 1 and hBraids = 0 and (pcs_hairlng > 80 and pcs_hairlng <= 800) and hscrunchw = 0 and hpingripw = 0 and hpigtail = 0:
 			'You can spend half an hour <a href="exec:hbraids = 15 & minut += 30 & gs ''mirror'', ''start''">braiding</a> your hair, just the way your sister taught you.'
 		end
 
@@ -551,7 +551,7 @@ end
 if $ARGS[0] = 'brush':
 	menu_off = 1
 	*clr & cla
-	minut += 3
+	minut += max(1, pcs_hairlng/20)
 	pcs_hairbsh = 1
 	if newstylemirror = 1:
 		$serv['noaction'] = '<img <<$set_imgh>> src="images/system/icons/blank.png">'

+ 2 - 1
locations/stat.qsrc

@@ -123,6 +123,7 @@ if SNarkTimes >= SNarkvnesh * 25:
 	SNarkvnesh += 1
 	vidage += 1
 end
+if food_loc > 0 and $food_loc <> $loc: killvar 'food_loc'
 
 if gopota >= 20 and gnewQW = 1:gnewQW = 2
 if workDisk = 4 and week > 5:workDisk = 1
@@ -230,7 +231,7 @@ if hbraids > 5 and pcs_hairbsh = 0: hbraids -= rand(3,5) & pcs_hairbsh = 1
 if pcs_hairbsh <= 0:
 	if hscrunchw <> 0: hscrunchw = 0
 	if hpingripw <> 0: hpingripw = 0
-	if hscrunchw <> 0: hscrunchw = 0
+	if hpigtail <> 0: hpigtail = 0
 	if hbraids <> 0: hbraids = 0
 end
 

+ 6 - 5
locations/stat_display.qsrc

@@ -1001,18 +1001,19 @@ if cheatStatusIcons = 0:
 	$stat_hotcat_msg = 'People would rate your appearance as a <<hotcat>> out of 10.<br><img src="<<func(''$face_image'')>>">'
 	$statusIconBarTab += '<td><a href="exec:msg $stat_hotcat_msg"><img title="You are a <<hotcat>> out of 10." height = <<set_siconht>> src="images/system/icons/status/appearance.png"></a></td>'
 
-	if pcs_makeup < 5:
+	if pcs_makeup = 1 and mc_inventory['travel_mirror'] > 0 and mc_inventory['travel_makeup'] > 0:
+		$statusIconBarTab += '<td><a href="exec: minut += 3 & gs ''exp_gain'', ''makupskl'', rand(1,3) & pcs_makeup = 2 & mc_inventory[''travel_makeup''] -= 1 & gs ''stat''"><img title="<<$pcs_makeup_tooltip>> Click to put on light makeup." height = <<set_siconht>> src="images/system/icons/status/makeup_'+pcs_makeup+'.png"></a></td>'
+	elseif pcs_makeup < 5:
 		$statusIconBarTab += '<td><a href="exec:msg $pcs_makeup_msg"><img title="<<$pcs_makeup_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/makeup_'+pcs_makeup+'.png"></a></td>'
 	elseif pcs_makeup >= 5:
 		$statusIconBarTab += '<td><a href="exec:msg $pcs_makeup_msg"><img title="<<$pcs_makeup_tooltip>>" height = <<set_siconht>> src="images/system/icons/status/makeup_4.png"></a></td>'
 	end
 
-!!	if mc_inventory['comb'] =  0 or pcs_hairbsh = 1:
-	if pcs_hairbsh = 1:
+	if pcs_hairbsh <> 1 and mc_inventory['comb'] > 0:
+		$statusIconBarTab += '<td><a href="exec: minut += max(1, pcs_hairlng/20) & pcs_hairbsh = 1 & gs ''stat''"><img title="Your hair is <<$pcs_hairbsh>>. Click to brush it." height = <<set_siconht>> src="images/system/icons/status/hair_0.png"></a></td>'
+	else
 		$stat_brush_msg = 'Your hair is <<$pcs_hairbsh>>.'
 		$statusIconBarTab += '<td><a href="exec:msg $stat_brush_msg"><img title="<<$stat_brush_msg>>" height = <<set_siconht>> src="images/system/icons/status/hair_'+pcs_hairbsh+'.png"></a></td>'
-	else
-		$statusIconBarTab += '<td><a href="exec: minut += 2 & pcs_hairbsh = 1 & gs ''stat''"><img title="Click to brush your hair." height = <<set_siconht>> src="images/system/icons/status/hair_0.png"></a></td>'
 	end
 
 	if pcs_lipbalm > 0:

+ 8 - 0
locations/uni_events.qsrc

@@ -38,6 +38,7 @@ if $ARGS[0] = 'lecture_hall_events':
 		gs 'uni_lessons', 'schedule'
 		act 'Go to the university plaza': gt 'uni_grounds', 'main'
 		act 'Peek':
+			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/sex/spy/female_pro_sex' + rand(1,2) + '.jpg"></center>'
 			'You crack the door slightly and peek inside. You see one of the female professors on her desk getting railed by one of the male students. She is fairly pretty for her age. After a few seconds, you close the door and move away, afraid of getting caught.'
 			gs 'arousal', 'voyeur_sex', 2
@@ -68,6 +69,7 @@ if $ARGS[0] = 'lecture_hall_events':
 		gs 'uni_lessons', 'schedule'
 		act 'Go to the university plaza': gt 'uni_grounds', 'main'
 		act 'Walk up to him':
+			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/events/peek1.jpg"></center>'
 			'You walk up behind him. "Hey, what are you looking at?"'
 			'He jumps and spins around. His face is flushed and you notice the bulge in his pants. "Shit, you scared me half to death!"'
@@ -77,6 +79,7 @@ if $ARGS[0] = 'lecture_hall_events':
 			gs 'uni_lessons', 'schedule'
 			act 'Go to the university plaza': gt 'uni_grounds', 'main'
 			act 'Peek':
+				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/sex/spy/female_pro_sex' + rand(1,2) + '.jpg"></center>'
 				'You peek inside and see one of the female professors on her desk getting railed by one of the male students. She''s fairly pretty for her age. After a few seconds, you step away and notice the guy staring at you with a lustful look in his eyes. You roll your eyes and walk away while shaking your head.'
 				gs 'arousal', 'voyeur_sex', 2
@@ -88,6 +91,7 @@ if $ARGS[0] = 'lecture_hall_events':
 			end
 		end
 		act 'Spy on him':
+			*clr & cla
 			'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/events/peek2.jpg"></center>'
 			'As you keep watching him, he looks around, but you''re able to duck back around the corner before he sees you. After a few seconds, you peek back around the corner and see that he has his pants pulled down and is jerking himself off as he keeps peeking in the room.'
 			gs 'arousal', 'voyeur_sex', 2
@@ -96,6 +100,7 @@ if $ARGS[0] = 'lecture_hall_events':
 			gs 'uni_lessons', 'schedule'
 			act 'Go to the university plaza': gt 'uni_grounds', 'main'
 			act 'Keep spying':
+				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/events/peek2.jpg"></center>'
 				'You''re shocked and a little turned on at this guy jerking off in the hallway as you keep watching him. You know you should stop and move on, but you can''t help but watch. A few minutes later, he groans and his whole body jerks before he pulls up his pants and hurries off. Looking at where he was, you can see the cum splattered on the door and running down it. You shake your head and wonder what''s wrong with boys as you continue on your way.'
 				gs 'arousal', 'voyeur_sex', 3
@@ -105,6 +110,7 @@ if $ARGS[0] = 'lecture_hall_events':
 				act 'Go to the university plaza': gt 'uni_grounds', 'main'
 			end
 			act 'Walk up to him':
+				*clr & cla
 				'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/events/peek3.jpg"></center>'
 				'You walk up behind him and get so close that you can hear the slapping of flesh as he jerks himself off furiously. You''re amazed he hasn''t noticed you, but he seems completely consumed in whatever he''s watching. Now that you''re closer, you can hear moans coming from inside the room.'
 				gs 'arousal', 'voyeur_sex', 2
@@ -112,6 +118,7 @@ if $ARGS[0] = 'lecture_hall_events':
 				gs 'uni_lessons', 'schedule'
 				act 'Walk away': gt 'uni_grounds', 'main'
 				act 'Surprise him':
+					*clr & cla
 					'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/events/peek3.jpg"></center>'
 					'After a few more minutes of him not noticing you, you clear your throat. "What are you looking at?"'
 					'He jumps and spins around. His face is flushed and his hard cock is pointing right at you, the tip glistening with precum. "Christ, you scared the shit out of me!"'
@@ -124,6 +131,7 @@ if $ARGS[0] = 'lecture_hall_events':
 					gs 'uni_lessons', 'schedule'
 					act 'Go to the university plaza': gt 'uni_grounds', 'main'
 					act 'Peek':
+						*clr & cla
 						'<center><img <<$set_imgh>> src="images/locations/city/island/university/lecture_hall/sex/spy/female_pro_sex' + rand(1,2) + '.jpg"></center>'
 						'You peek inside and see one of the female professors on her desk getting railed by one of the male students. She''s fairly pretty for her age. After a few seconds, you step away and notice the guy staring at you with a lustful look in his eyes. You roll your eyes and walk away while shaking your head.'
 						gs 'arousal', 'voyeur_sex', 2