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
 
-!!{ For checking arousal and when applicable triggering orgasms.
+!{ For checking arousal and when applicable triggering orgasms.
 
 $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.
@@ -75,7 +75,7 @@ You can also add 'no_orgasm_msg' to the list of themes to prevent any orgasm mes
 }
 
 !!------------------------------------Virginity checks----------------------------------
-!!{
+!{
 	pcs_vag > 0: Hymen broken
 	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]
@@ -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'
 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', '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
 
-!!set a magnitude as a random
+	!!set a magnitude as a random
 	stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
 
-!! set up pain coefficient
+	!! set up pain coefficient
 	pain_coeff = 0
 	max_sex_pain = (120 - pcs_vital)/2
 
@@ -1261,7 +1261,27 @@ if $ARGS[0] = 'auto_lube':
 			elseif $lube_txt ! '':
 				$lube_txt
 			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
 			ar_anal_lube = 1
 			mc_inventory['lubricant'] -= 1
@@ -1276,7 +1296,18 @@ if $ARGS[0] = 'auto_lube':
 			elseif $lube_txt ! '':
 				$lube_txt
 			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
 			ar_vag_lube = 1
 			mc_inventory['lubricant'] -= 1