瀏覽代碼

[added] additional pain from rough\rape sex and deepthroat bj

Lusticon 4 月之前
父節點
當前提交
8cda311d75
共有 1 個文件被更改,包括 137 次插入14 次删除
  1. 137 14
      locations/arousal.qsrc

+ 137 - 14
locations/arousal.qsrc

@@ -236,10 +236,21 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		!! if the dick is smaller, it cannot harm PC
 		if agrdif < 0: agrdif = 0
 		if altdif < 0: altdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:         altdif += rand(temp_dick,temp_dick*2)    & agrdif += rand(grange*2,grange*4)
+		if arrpos('$ARGS', 'rough') >= 0:        altdif += rand(temp_dick/3,temp_dick/2)  & agrdif += rand(grange*3/2,grange*2)
+		if arrpos('$ARGS', 'gangbang') >= 0:     altdif += rand(temp_dick/4,temp_dick/2)  & agrdif += rand(grange,grange*3/2)
+		if arrpos('$ARGS', 'group') >= 0:        altdif += rand(temp_dick/4,temp_dick/3)  & agrdif += rand(grange*2/3,grange)
+		if arrpos('$ARGS', 'beast') >= 0:        altdif += rand(temp_dick/5,temp_dick/3)  & agrdif += rand(grange/2,grange)
+		if arrpos('$ARGS', 'maso') >= 0:         altdif += rand(temp_dick/6,temp_dick/4)  & agrdif += rand(grange/2,grange*2/3)
+		if arrpos('$ARGS', 'prostitution') >= 0: altdif += rand(temp_dick/7,temp_dick/4)  & agrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'unknown') >= 0:      altdif += rand(temp_dick/8,temp_dick/5)  & agrdif += rand(grange/4,grange/3)
+		if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/9,temp_dick/5)  & agrdif += rand(grange/5,grange/4)
+		if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/10,temp_dick/6) & agrdif += rand(grange/6,grange/5)
 		!! calculate the harm
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
 		!! the pain lover the pleasure
-		gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
+		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
 	elseif $ARGS[0] = 'anal_finger':
 		orgasm_flag['anal'] = 1
@@ -263,7 +274,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if pcs_ass + anal_slip < 30:
 			pcs_ass = 30
-			gs 'pain', 4-agape, 'asshole', 'stretch'
+			gs 'pain', (6-agape)*max(1,ARGS[1]), 'asshole', 'stretch'
 			if agape < 3:agape = 3
 		end
 	elseif $ARGS[0] = 'self_fisting_anal':
@@ -277,7 +288,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if pcs_ass + anal_slip < 30:
 			pcs_ass = 30
-			gs 'pain', 4-agape, 'asshole', 'stretch'
+			gs 'pain', (6-agape)*max(1,ARGS[1]), 'asshole', 'stretch'
 			if agape < 3:agape = 3
 		end
 	elseif $ARGS[0] = 'anal_dildo':
@@ -301,8 +312,19 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if agrdif < 0: agrdif = 0
 		if altdif < 0: altdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:         altdif += rand(temp_dick,temp_dick*2)    & agrdif += rand(grange*2,grange*4)
+		if arrpos('$ARGS', 'rough') >= 0:        altdif += rand(temp_dick/3,temp_dick/2)  & agrdif += rand(grange*3/2,grange*2)
+		if arrpos('$ARGS', 'gangbang') >= 0:     altdif += rand(temp_dick/4,temp_dick/2)  & agrdif += rand(grange,grange*3/2)
+		if arrpos('$ARGS', 'group') >= 0:        altdif += rand(temp_dick/4,temp_dick/3)  & agrdif += rand(grange*2/3,grange)
+		if arrpos('$ARGS', 'beast') >= 0:        altdif += rand(temp_dick/5,temp_dick/3)  & agrdif += rand(grange/2,grange)
+		if arrpos('$ARGS', 'maso') >= 0:         altdif += rand(temp_dick/6,temp_dick/4)  & agrdif += rand(grange/2,grange*2/3)
+		if arrpos('$ARGS', 'prostitution') >= 0: altdif += rand(temp_dick/7,temp_dick/4)  & agrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'unknown') >= 0:      altdif += rand(temp_dick/8,temp_dick/5)  & agrdif += rand(grange/4,grange/3)
+		if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/9,temp_dick/5)  & agrdif += rand(grange/5,grange/4)
+		if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/10,temp_dick/6) & agrdif += rand(grange/6,grange/5)
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
-		gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
+		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
 	elseif $ARGS[0] = 'anal_strap':
 		stat['last_sex_day'] = daystart
@@ -326,8 +348,19 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		if agrdif < 0: agrdif = 0
 		if altdif < 0: altdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:         altdif += rand(temp_dick,temp_dick*2)    & agrdif += rand(grange*2,grange*4)
+		if arrpos('$ARGS', 'rough') >= 0:        altdif += rand(temp_dick/3,temp_dick/2)  & agrdif += rand(grange*3/2,grange*2)
+		if arrpos('$ARGS', 'gangbang') >= 0:     altdif += rand(temp_dick/4,temp_dick/2)  & agrdif += rand(grange,grange*3/2)
+		if arrpos('$ARGS', 'group') >= 0:        altdif += rand(temp_dick/4,temp_dick/3)  & agrdif += rand(grange*2/3,grange)
+		if arrpos('$ARGS', 'beast') >= 0:        altdif += rand(temp_dick/5,temp_dick/3)  & agrdif += rand(grange/2,grange)
+		if arrpos('$ARGS', 'maso') >= 0:         altdif += rand(temp_dick/6,temp_dick/4)  & agrdif += rand(grange/2,grange*2/3)
+		if arrpos('$ARGS', 'prostitution') >= 0: altdif += rand(temp_dick/7,temp_dick/4)  & agrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'unknown') >= 0:      altdif += rand(temp_dick/8,temp_dick/5)  & agrdif += rand(grange/4,grange/3)
+		if arrpos('$ARGS', 'bound') >= 0:        altdif += rand(temp_dick/9,temp_dick/5)  & agrdif += rand(grange/5,grange/4)
+		if arrpos('$ARGS', 'sub') >= 0:          altdif += rand(temp_dick/10,temp_dick/6) & agrdif += rand(grange/6,grange/5)
 		agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
-		gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
+		gs 'pain', (agrdif + altdif)/5*max(1,ARGS[1]/5), 'asshole', 'stretch'
 		stim['act'] = stim['act'] - (agrdif + altdif)
 	elseif $ARGS[0] = 'anal_vibe':
 		orgasm_flag['anal'] = 1
@@ -362,8 +395,8 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			stat['last_man_sex_day'] = daystart
 		end
 		stim['mag'] += 3
-		if pcs_vag < dick:pcs_vag += 1
-		if pcs_vag*2 < dick:pcs_vag += 1
+		if pcs_vag < temp_dick:pcs_vag += 1
+		if pcs_vag*2 < temp_dick:pcs_vag += 1
 		!! length and girth abilities of vagina are not separated , but I suppose that they are related
 		!! we can estimate difference in girth and length vaginal_girth_difference and vaginal_lenght_difference - names are shortened
 		vgrdif = grange - pcs_vag
@@ -383,10 +416,21 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		!! if the dick is smaller, it cannot harm PC
 		if vgrdif < 0: vgrdif = 0
 		if vltdif < 0: vltdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:         vltdif += rand(temp_dick,temp_dick*3/2)   & vgrdif += rand(grange*3/2,grange*2)
+		if arrpos('$ARGS', 'rough') >= 0:        vltdif += rand(temp_dick/5,temp_dick/4)   & vgrdif += rand(grange,grange*3/2)
+		if arrpos('$ARGS', 'gangbang') >= 0:     vltdif += rand(temp_dick/6,temp_dick/5)   & vgrdif += rand(grange/2,grange)
+		if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/7,temp_dick/6)   & vgrdif += rand(grange/3,grange*2/3)
+		if arrpos('$ARGS', 'beast') >= 0:        vltdif += rand(temp_dick/8,temp_dick/7)   & vgrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/9,temp_dick/8)   & vgrdif += rand(grange/4,grange/3)
+		if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/10,temp_dick/8)  & vgrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/10,temp_dick/9)  & vgrdif += rand(grange/5,grange/4)
+		if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/11,temp_dick/10) & vgrdif += rand(grange/6,grange/5)
+		if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/14,temp_dick/12) & vgrdif += rand(grange/7,grange/6)
 		!! calculate the harm
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
 		!! the pain lover the pleasure
-		gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
+		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
 	elseif $ARGS[0] = 'vaginal_finger':
 		orgasm_flag['vaginal'] = 1
@@ -400,7 +444,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if pcs_vag + vaginal_slip < 30:
 			!! same as for 'vaginal'
 			pcs_vag += 3
-			gs 'pain', 3 - vgape, 'vaginal', 'stretch'
+			gs 'pain', (5 - vgape)*max(1,ARGS[1]), 'vaginal', 'stretch'
 			if vgape < 3:vgape = 3
 		end
 	elseif $ARGS[0] = 'self_fisting':
@@ -410,7 +454,7 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		if pcs_vag + vaginal_slip < 30:
 			!! same as for 'vaginal'
 			pcs_vag += 3
-			gs 'pain', 3 - vgape, 'vaginal', 'stretch'
+			gs 'pain', (5 - vgape)*max(1,ARGS[1]), 'vaginal', 'stretch'
 			if vgape < 3:vgape = 3
 		end
 	elseif $ARGS[0] = 'vaginal_dildo':
@@ -430,8 +474,19 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 80 - (iif(vltdif>0,vltdif,-vltdif) + iif(vgrdif >0,vgrdif,-vgrdif)) + temp_silavag*8
 		if vgrdif < 0: vgrdif = 0
 		if vltdif < 0: vltdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:         vltdif += rand(temp_dick,temp_dick*3/2)   & vgrdif += rand(grange*3/2,grange*2)
+		if arrpos('$ARGS', 'rough') >= 0:        vltdif += rand(temp_dick/5,temp_dick/4)   & vgrdif += rand(grange,grange*3/2)
+		if arrpos('$ARGS', 'gangbang') >= 0:     vltdif += rand(temp_dick/6,temp_dick/5)   & vgrdif += rand(grange/2,grange)
+		if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/7,temp_dick/6)   & vgrdif += rand(grange/3,grange*2/3)
+		if arrpos('$ARGS', 'beast') >= 0:        vltdif += rand(temp_dick/8,temp_dick/7)   & vgrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/9,temp_dick/8)   & vgrdif += rand(grange/4,grange/3)
+		if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/10,temp_dick/8)  & vgrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/10,temp_dick/9)  & vgrdif += rand(grange/5,grange/4)
+		if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/11,temp_dick/10) & vgrdif += rand(grange/6,grange/5)
+		if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/14,temp_dick/12) & vgrdif += rand(grange/7,grange/6)
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
-		gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
+		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
 	elseif $ARGS[0] = 'vaginal_strap':
 		orgasm_flag['vaginal'] = 1
@@ -461,8 +516,19 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		stim['act'] = 80 - (iif(vltdif>0,vltdif,-vltdif) + iif(vgrdif >0,vgrdif,-vgrdif)) + temp_silavag*8
 		if vgrdif < 0: vgrdif = 0
 		if vltdif < 0: vltdif = 0
+		!! rough sex always gives pain
+		if arrpos('$ARGS', 'rape') >= 0:         vltdif += rand(temp_dick,temp_dick*3/2)   & vgrdif += rand(grange*3/2,grange*2)
+		if arrpos('$ARGS', 'rough') >= 0:        vltdif += rand(temp_dick/5,temp_dick/4)   & vgrdif += rand(grange,grange*3/2)
+		if arrpos('$ARGS', 'gangbang') >= 0:     vltdif += rand(temp_dick/6,temp_dick/5)   & vgrdif += rand(grange/2,grange)
+		if arrpos('$ARGS', 'group') >= 0:        vltdif += rand(temp_dick/7,temp_dick/6)   & vgrdif += rand(grange/3,grange*2/3)
+		if arrpos('$ARGS', 'beast') >= 0:        vltdif += rand(temp_dick/8,temp_dick/7)   & vgrdif += rand(grange/3,grange/2)
+		if arrpos('$ARGS', 'maso') >= 0:         vltdif += rand(temp_dick/9,temp_dick/8)   & vgrdif += rand(grange/4,grange/3)
+		if arrpos('$ARGS', 'prostitution') >= 0: vltdif += rand(temp_dick/10,temp_dick/8)  & vgrdif += rand(grange/5,grange/3)
+		if arrpos('$ARGS', 'unknown') >= 0:      vltdif += rand(temp_dick/10,temp_dick/9)  & vgrdif += rand(grange/5,grange/4)
+		if arrpos('$ARGS', 'bound') >= 0:        vltdif += rand(temp_dick/11,temp_dick/10) & vgrdif += rand(grange/6,grange/5)
+		if arrpos('$ARGS', 'sub') >= 0:          vltdif += rand(temp_dick/14,temp_dick/12) & vgrdif += rand(grange/7,grange/6)
 		vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
-		gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
+		gs 'pain', (vgrdif + vltdif)/5*max(1,ARGS[1]/5), 'vaginal', 'stretch'
 		stim['act'] = stim['act'] - (vgrdif + vltdif)
 	elseif $ARGS[0] = 'vaginal_vibe':
 		orgasm_flag['vaginal'] = 1
@@ -547,11 +613,65 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 			count['bj'] = 1
 		end
 		stim['act'] = 45
-		if temp_dick > pcs_throat: pcs_throat += 1
+		if arrpos('$ARGS', 'deepthroat') >= 0:
+			if pcs_throat < temp_dick:pcs_throat += 1
+			if pcs_throat*2 < temp_dick:pcs_throat += 1
+			tgrdif = grange - pcs_throat
+			tltdif = temp_dick - pcs_throat
+			tltdif = tltdif / (temp_silavag+1)
+			tgrdif = tgrdif *(5/4 - 1/(4 - temp_silavag))
+			if (temp_silavag = 2) and (tltdif > 0): tltdif = 0
+			if tgrdif > pcs_hydra/10: tgrdif = tgrdif - pcs_hydra/10 else if (tgrdif > 0): tgrdif = 0
+			if -1*tgrdif > pcs_hydra/10: tgrdif = tgrdif + pcs_hydra/10 else if (tgrdif < 0): tgrdif = 0
+
+			stim['act'] = 80 - (iif(tltdif>0,tltdif,-tltdif) + iif(tgrdif >0,tgrdif,-tgrdif)) + temp_silavag*8
+			if tgrdif < 0: tgrdif = 0
+			if tltdif < 0: tltdif = 0
+			!! rough sex always gives pain
+			if arrpos('$ARGS', 'rape') >= 0:         tltdif += rand(temp_dick,temp_dick*2)     & tgrdif += rand(grange*2,grange*3)
+			if arrpos('$ARGS', 'rough') >= 0:        tltdif += rand(temp_dick,temp_dick*3/2)   & tgrdif += rand(grange*2/3,grange*2)
+			if arrpos('$ARGS', 'gangbang') >= 0:     tltdif += rand(temp_dick/2,temp_dick)     & tgrdif += rand(grange,grange*2/3)
+			if arrpos('$ARGS', 'group') >= 0:        tltdif += rand(temp_dick/3,temp_dick/2)   & tgrdif += rand(grange*3/2,grange)
+			if arrpos('$ARGS', 'beast') >= 0:        tltdif += rand(temp_dick/5,temp_dick/3)   & tgrdif += rand(grange/2,grange*3/2)
+			if arrpos('$ARGS', 'maso') >= 0:         tltdif += rand(temp_dick/7,temp_dick/4)   & tgrdif += rand(grange/3,grange/2)
+			if arrpos('$ARGS', 'prostitution') >= 0: tltdif += rand(temp_dick/8,temp_dick/5)   & tgrdif += rand(grange/4,grange/3)
+			if arrpos('$ARGS', 'unknown') >= 0:      tltdif += rand(temp_dick/10,temp_dick/7)  & tgrdif += rand(grange/5,grange/4)
+			if arrpos('$ARGS', 'bound') >= 0:        tltdif += rand(temp_dick/11,temp_dick/9)  & tgrdif += rand(grange/6,grange/5)
+			if arrpos('$ARGS', 'sub') >= 0:          tltdif += rand(temp_dick/14,temp_dick/11) & tgrdif += rand(grange/7,grange/6)
+			gs 'pain', (tgrdif + tltdif)/5*max(1,ARGS[1]/5), 'throat', 'stretch'
+		end
+		if pcs_throat*3 < temp_dick:pcs_throat += 1
 	elseif $ARGS[0] = 'dildo_suck':
 		count['dildo_suck'] = 1
 		stim['act'] = 30
-		if temp_dick > pcs_throat: pcs_throat += 1
+		if arrpos('$ARGS', 'deepthroat') >= 0:
+			if pcs_throat < temp_dick:pcs_throat += 1
+			if pcs_throat*2 < temp_dick:pcs_throat += 1
+			tgrdif = grange - pcs_throat
+			tltdif = temp_dick - pcs_throat
+			tltdif = tltdif / (temp_silavag+1)
+			tgrdif = tgrdif *(5/4 - 1/(4 - temp_silavag))
+			if (temp_silavag = 2) and (tltdif > 0): tltdif = 0
+			if tgrdif > pcs_hydra/10: tgrdif = tgrdif - pcs_hydra/10 else if (tgrdif > 0): tgrdif = 0
+			if -1*tgrdif > pcs_hydra/10: tgrdif = tgrdif + pcs_hydra/10 else if (tgrdif < 0): tgrdif = 0
+
+			stim['act'] = 80 - (iif(tltdif>0,tltdif,-tltdif) + iif(tgrdif >0,tgrdif,-tgrdif)) + temp_silavag*8
+			if tgrdif < 0: tgrdif = 0
+			if tltdif < 0: tltdif = 0
+			!! rough sex always gives pain
+			if arrpos('$ARGS', 'rape') >= 0:         tltdif += rand(temp_dick,temp_dick*2)     & tgrdif += rand(grange*2,grange*3)
+			if arrpos('$ARGS', 'rough') >= 0:        tltdif += rand(temp_dick,temp_dick*3/2)   & tgrdif += rand(grange*2/3,grange*2)
+			if arrpos('$ARGS', 'gangbang') >= 0:     tltdif += rand(temp_dick/2,temp_dick)     & tgrdif += rand(grange,grange*2/3)
+			if arrpos('$ARGS', 'group') >= 0:        tltdif += rand(temp_dick/3,temp_dick/2)   & tgrdif += rand(grange*3/2,grange)
+			if arrpos('$ARGS', 'beast') >= 0:        tltdif += rand(temp_dick/5,temp_dick/3)   & tgrdif += rand(grange/2,grange*3/2)
+			if arrpos('$ARGS', 'maso') >= 0:         tltdif += rand(temp_dick/7,temp_dick/4)   & tgrdif += rand(grange/3,grange/2)
+			if arrpos('$ARGS', 'prostitution') >= 0: tltdif += rand(temp_dick/8,temp_dick/5)   & tgrdif += rand(grange/4,grange/3)
+			if arrpos('$ARGS', 'unknown') >= 0:      tltdif += rand(temp_dick/10,temp_dick/7)  & tgrdif += rand(grange/5,grange/4)
+			if arrpos('$ARGS', 'bound') >= 0:        tltdif += rand(temp_dick/11,temp_dick/9)  & tgrdif += rand(grange/6,grange/5)
+			if arrpos('$ARGS', 'sub') >= 0:          tltdif += rand(temp_dick/14,temp_dick/11) & tgrdif += rand(grange/7,grange/6)
+			gs 'pain', (tgrdif + tltdif)/5*max(1,ARGS[1]/5), 'throat', 'stretch'
+		end
+		if pcs_throat*3 < temp_dick:pcs_throat += 1
 	elseif $ARGS[0] = 'footjob':
 		if temp_unaware = 1:
 			count['hidden_footjob'] = 1
@@ -932,6 +1052,9 @@ if $ARGS[0] = 'end':
 	killvar 'vaginal_slip'
 	killvar 'ar_vag_lube'
 	killvar '$orgasm_or'
+	killvar 'vgrdif' & killvar 'vltdif'
+	killvar 'agrdif' & killvar 'altdif'
+	killvar 'tgrdif' & killvar 'tltdif'
 
 !!Updating fetish exp for acts carried out and clearing data
 	gs 'arousal', 'checks', 'maso'