Browse Source

[fixed] The autolube call would overwrite the variables set by the original arousal call, thereby preventing virginity loss and other things

bgkjdgbizgblzdgbr 3 weeks ago
parent
commit
b714473280
1 changed files with 38 additions and 7 deletions
  1. 38 7
      locations/arousal.qsrc

+ 38 - 7
locations/arousal.qsrc

@@ -1,6 +1,6 @@
 # arousal
 # arousal
 
 
-!!{ For checking arousal and when applicable triggering orgasms.
+!{ For checking arousal and when applicable triggering orgasms.
 
 
 $ARGS[0] the action causing arousal:
 $ARGS[0] the action causing arousal:
 All acts are from Sveta''s perspective and in cases of both giving and receiving, receiving should be used.
 All acts are from Sveta''s perspective and in cases of both giving and receiving, receiving should be used.
@@ -75,7 +75,7 @@ You can also add 'no_orgasm_msg' to the list of themes to prevent any orgasm mes
 }
 }
 
 
 !!------------------------------------Virginity checks----------------------------------
 !!------------------------------------Virginity checks----------------------------------
-!!{
+!{
 	pcs_vag > 0: Hymen broken
 	pcs_vag > 0: Hymen broken
 	stat['vaginal'] > 0: Had intercourse with a boy [penis in vagina]
 	stat['vaginal'] > 0: Had intercourse with a boy [penis in vagina]
 	stat['think_virgin'] = 0: Had intercourse by penis, strap, dildo and/or fist [could be solo]
 	stat['think_virgin'] = 0: Had intercourse by penis, strap, dildo and/or fist [could be solo]
@@ -94,7 +94,7 @@ if $ARGS[0] ! 'auto_lube' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $AR
 	if arousal_overcall = 1 and $arousal_overcall ! $ARGS[0]+$ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+$ARGS[7]+$ARGS[8]: killvar 'arousal_overcall'
 	if arousal_overcall = 1 and $arousal_overcall ! $ARGS[0]+$ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+$ARGS[7]+$ARGS[8]: killvar 'arousal_overcall'
 end
 end
 
 
-if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
+if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2' and $ARGS[0] ! 'auto_lube':
 
 
 	if arrpos('$ARGS', 'unaware') >= 0: temp_unaware = 1
 	if arrpos('$ARGS', 'unaware') >= 0: temp_unaware = 1
 	if arrpos('$ARGS', 'no_orgasm_msg') >= 0: temp_text = 1
 	if arrpos('$ARGS', 'no_orgasm_msg') >= 0: temp_text = 1
@@ -170,10 +170,10 @@ if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0]
 		end
 		end
 	end
 	end
 
 
-!!set a magnitude as a random
+	!!set a magnitude as a random
 	stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
 	stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
 
 
-!! set up pain coefficient
+	!! set up pain coefficient
 	pain_coeff = 0
 	pain_coeff = 0
 	max_sex_pain = (120 - pcs_vital)/2
 	max_sex_pain = (120 - pcs_vital)/2
 
 
@@ -1261,7 +1261,27 @@ if $ARGS[0] = 'auto_lube':
 			elseif $lube_txt ! '':
 			elseif $lube_txt ! '':
 				$lube_txt
 				$lube_txt
 			end
 			end
-			gs 'arousal', 'anal_finger', 1
+			!!The following is a copy of the stimulation and arousal gain from anal_finger, this is to avoid  overwriting variables by just calling gs 'arousal', 'anal_finger', 1
+			stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
+			count['anal_finger'] = 1
+			stim['act'] = 40
+			if pcs_traits['buttslut_lvl'] = 1:
+				stim['mag'] += 1
+				stim['act'] = 60
+			elseif pcs_traits['buttslut_lvl'] = 2:
+				stim['mag'] += 1
+				stim['act'] = 80
+			elseif pcs_traits['buttslut_lvl'] = 3:
+				stim['mag'] += 1
+				stim['act'] = 100
+			end
+			if cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', rand(2,5)*max(1,stim_time/5)
+			if stim['mag'] > 9: stim['mag'] = 9
+			minut += 1
+			stim['total'] = (stim['mag']*stim['act']*8/10) / 120
+			stim['event'] += stim['total']
+			pcs_horny += stim['total']
+			orgasm_buildup += stim['total']
 			anal_slip += 8
 			anal_slip += 8
 			ar_anal_lube = 1
 			ar_anal_lube = 1
 			mc_inventory['lubricant'] -= 1
 			mc_inventory['lubricant'] -= 1
@@ -1276,7 +1296,18 @@ if $ARGS[0] = 'auto_lube':
 			elseif $lube_txt ! '':
 			elseif $lube_txt ! '':
 				$lube_txt
 				$lube_txt
 			end
 			end
-			gs 'arousal', 'vaginal_finger', 1
+			!!The following is a copy of the stimulation and arousal gain from vaginal_finger, this is to avoid  overwriting variables by just calling gs 'arousal', 'vaginal_finger', 1
+			stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
+			count['vaginal_finger'] = 1
+			stim['mag'] += 1
+			stim['act'] = 80
+			if cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', rand(2,5)*max(1,stim_time/5)
+			if stim['mag'] > 9: stim['mag'] = 9
+			minut += 1
+			stim['total'] = (stim['mag']*stim['act']*8/10) / 120
+			stim['event'] += stim['total']
+			pcs_horny += stim['total']
+			orgasm_buildup += stim['total']
 			vaginal_slip += 8
 			vaginal_slip += 8
 			ar_vag_lube = 1
 			ar_vag_lube = 1
 			mc_inventory['lubricant'] -= 1
 			mc_inventory['lubricant'] -= 1