arousal.qsrc 49 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313
  1. # arousal
  2. !!{ For checking arousal and when applicable triggering orgasms.
  3. $ARGS[0] the action causing arousal:
  4. All acts are from Sveta''s perspective and in cases of both giving and receiving, receiving should be used.
  5. It can be when receiving any of the following
  6. 'clit_finger' - Clit being stimulated directly by a finger
  7. 'clit_vibe' - Clit being stimulated directly by a vibrator (set low, use negative time and double/triple up for more power)
  8. 'porn' - viewing pornographic material
  9. 'voyeur_sex' - watching, usually as in spying on, other people have sex
  10. 'voyeur' - watching, usually as in spying on, erotic acts of others
  11. 'erotic' - being aroused by eroticism
  12. 'erotic_nudity' - being aroused by nudity of others
  13. 'trib' - rubbing pussy against another pussy
  14. 'massage' - rubbing your body, back, feet, etc. with their hands/arms
  15. 'cuni' - stimulation of your pussy by someones tongue
  16. 'rimming' - stimulation of your anus by someones tongue
  17. 'vaginal' 'vaginal_finger' 'vaginal_fist' 'vaginal_dildo' 'vaginal_strap' 'vaginal_vibe' - stimulation of your vagina with a penis and various others
  18. 'self_fisting' - fisting your own vagina
  19. 'anal' 'anal_finger' 'anal_fist' 'anal_dildo' 'anal_strap' 'anal_vibe' - stimulation of your anus with a penis and various others
  20. 'self_fisting_anal' - fisting your own anus
  21. 'kiss' - snogging, tonsil tennis, lip locking, etc.
  22. 'BDSM' - receiving candle wax, flogging, leash play, bondage etc
  23. 'pee' - being peed upon
  24. also when giving any of the following:
  25. 'flashlite' - flashing underwear
  26. 'flash' - flashing naked breasts/arse/vagina
  27. 'massage_give' - rubbing their body, back, feet, etc. with your hands/arms
  28. 'cuni_give' - stimulating someones pussy with your tongue
  29. 'rimming_give' - stimulating someones anus with your tongue
  30. 'vaginal_finger_give' 'vaginal_fist_give' 'vaginal_dildo_give' 'vaginal_strap_give' 'vaginal_vibe_give' - stimulating someones vagina in various ways
  31. 'clit_finger_give' - stimulating someones clit
  32. 'anal_finger_give' 'anal_fist_give' 'anal_dildo_give' 'anal_vibe_give' 'anal_strap_give' - stimulating someones anus in various ways
  33. 'hj' - jerking a guy off with your hand
  34. 'bj' - sucking a guy off
  35. 'dildo_suck' - simulating a bj on a dildo/strapon
  36. 'titjob' - using boobs to jerk off a guy
  37. 'footjob' - using feet to jerk off a guy
  38. 'BDSM_give' - giving candle wax, flogging, leash play, bondage etc
  39. 'pee_give' - peeing on someone
  40. finally
  41. 'foreplay' - receiving other stuff
  42. 'foreplay_give' - giving other stuff
  43. 'magicd_anal' 'magicd_vaginal' 'magicd_hj' 'magicd_bj' - to experience sex as if Sveta has a penis due to strapon and magic spell effect
  44. ARGS[1] for time taken in minutes - it is use partly for arousal calculation and partly for moving time ahead. If you want to calculate just the arousal and do not move time (simultaneous stimulation), use negative value.
  45. $ARGS[2] can be used for passing the name of boys dick variable .. 'dick' is default, which belong to $boy, else can be passed 'dick1' .. 'dick4' or 'dick[i]' along the boys parameters activation
  46. The variables used can be set by calling boyStat e.g. gs 'boyStat', 'A75', 'a' will set dick1 for NPC A75
  47. $ARGS[2] - [8] Are optional but can be upto 7 themes involved in the act and can be any of the following:
  48. 'maso' 'bound' 'beast' 'exhibitionism' 'rough' 'prostitution' 'dom' 'sub' 'incest' 'feet' 'lesbian' 'group' 'gangbang' 'humiliation' 'deepthroat' 'unknown' 'gloryhole' 'rape' 'shemale' 'masturbate'
  49. Only check masturbation if it is the only means of stimulation Sveta can cum from in the whole scene
  50. Format to use: gs 'arousal', 'act', 'duration', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish'
  51. eg: gs 'arousal', 'trib', 10, 'bound', 'sub'
  52. In this case lesbianism is automatically added, much as feet would be applied to 'footjob'
  53. Lubrication - if one of the arguments $ARGS[2] - [8] is set to 'lube', it supposes that it is used some kind of lubricant - preferably from PCs supply of lube.
  54. The lube will remain applied to the orifice in question until 'end' is called. The usage of Svetas lube and checks for her having any must be done in the sex act or use the auto lube action.
  55. The lubrication is binded with anal or vaginal action. I think that the best combo is with 'anal_finger' and 'vaginal_finger'
  56. Only call one at a time, if more required, use multiple calls
  57. Also - if one of the arguments $ARGS[2] - [8] is set to 'spit' then it will apply lube at half value, again this must be with a vaginal or anal action. I would suggest skipping the specific finger part
  58. Unaware - if one of the arguments $ARGS[2] - [8] is set to 'unaware', Sveta is not aware of this Sexact. Sveta will never know she had Sex!
  59. no_orgasm_msg - if one of the arguments $ARGS[2] - [8] is set to 'no_orgasm_msg', the system will not generate a generic arousal message
  60. You can override the orgasm to force or prevent, to do so use:
  61. $orgasm_or = 'yes' to force orgasm, it will reset in orgasm call so if you want to force it again, you have to enter it again
  62. $orgasm_or = 'custom' to force orgasm and use custom text set as $orgasm_txt - *you can just add the text and call with 'yes' this is old method
  63. $orgasm_or = 'yes' and 'custom' require that the first arousal call is a call that can trigger an orgasm, the following arousal calls can trigger it: clit_finger, clit_vibe, cuni, rimming, trib, anal, anal_finger, anal_fist, anal_dildo, anal_strap, anal_vibe, vaginal, vaginal_finger, vaginal_fist, vaginal_dildo, vaginal_strap, vaginal_vibe, self_fisting and self_fisting_anal.
  64. $orgasm_or = 'no' to prevent orgasm, it will remain in place until manually changed, or if end is called.
  65. $orgasm_txt is used to add custom text that will be called if Sveta orgasms in the next arousal call. It will remain until cleared or orgasm so you must clear it if not forcing orgasm and don''t want it to be used on next orgasm.
  66. You can also add 'no_orgasm_msg' to the list of themes to prevent any orgasm message from being shown
  67. }
  68. !!------------------------------------Virginity checks----------------------------------
  69. !!{
  70. pcs_vag > 0: Hymen broken
  71. stat['vaginal'] > 0: Had intercourse with a boy [penis in vagina]
  72. stat['think_virgin'] = 0: Had intercourse by penis, strap, dildo and/or fist [could be solo]
  73. }
  74. !!--------------------------------------------------------------------------------------
  75. temp_unaware = 0
  76. !!turns orgasm text off, there will be no confirmation that Sveta has orgasmed
  77. temp_text = 0
  78. !!orgasms restricted to direct stimulation using this flag
  79. killvar 'orgasm_flag'
  80. !!workaround over use
  81. if $ARGS[0] ! 'auto_lube' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
  82. 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'
  83. end
  84. if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
  85. if arrpos('$ARGS', 'unaware') >= 0: temp_unaware = 1
  86. if arrpos('$ARGS', 'no_orgasm_msg') >= 0: temp_text = 1
  87. if mid($ARGS[2],1,4) = 'dick':
  88. temp_dick = dyneval('result='+$ARGS[2])
  89. temp_silavag = dyneval('result=silavag'+mid($ARGS[2],5,len($ARGS[2])-4))
  90. $temp_dick_girth = dyneval('$result=$dick_girth'+mid($ARGS[2],5,len($ARGS[2])-4))
  91. else
  92. temp_dick = dick
  93. temp_silavag = silavag
  94. $temp_dick_girth = $dick_girth
  95. end
  96. if arrpos('$ARGS', 'prostitution') >= 0: temp_silavag = rand(0,1)
  97. if arrpos('$ARGS', 'gangbang') >= 0: temp_silavag = rand(0,2)
  98. if arrpos('$ARGS', 'rape') >= 0 or arrpos('$ARGS', 'rough') >= 0 or arrpos('$ARGS', 'beast') >= 0: temp_silavag = 0
  99. grange = dyneval('result=strpos(''skinny slimx well pr thicker thickx massive monstrous'',$ARGS[0])',mid($temp_dick_girth+'x',1,6))/2
  100. !! first let us determine how slippery are pc''s holes
  101. if anal_slip < max(1, 8 + pain['asshole']/2 - pcs_ass) _
  102. and mid($ARGS[0],1,4) = 'anal' and arrpos('$ARGS', 'anal_finger') < 0:
  103. !! cum
  104. if cumloc[3] > 0: anal_slip += rand(cumvol[3]/15, cumvol[3]/10)
  105. !! spit
  106. if arrpos('$ARGS', 'spit') >= 0: anal_slip += 4
  107. !! lube
  108. if anal_slip < max(1, 8 + pain['asshole']/2 - pcs_ass):
  109. !! event lube
  110. if arrpos('$ARGS', 'lube') >= 0 and ar_anal_lube = 0:
  111. anal_slip += 8
  112. ar_anal_lube = 1
  113. !! PC lube
  114. elseif auto_anal_lube = 1 _
  115. and arrpos('$ARGS', 'rape') < 0 _
  116. and arrpos('$ARGS', 'gangbang') < 0 _
  117. and arrpos('$ARGS', 'rough') < 0 _
  118. and arrpos('$ARGS', 'beast') < 0 _
  119. and arrpos('$ARGS', 'BDSM') < 0 _
  120. and arrpos('$ARGS', 'bound') < 0 _
  121. and arrpos('$ARGS', 'humiliation') < 0:
  122. gs 'arousal', 'auto_lube', 'anal'
  123. end
  124. end
  125. !! an old(?) variable that is still in use somewhere
  126. if anal_slip <> lubonus and lubonus > 0:
  127. anal_slip += lubonus
  128. lubonus = anal_slip
  129. end
  130. end
  131. if vaginal_slip < max(1, 8 + pain['vaginal']/2 - pcs_vag) _
  132. and mid($ARGS[0],1,4) = 'vagi' and arrpos('$ARGS', 'vaginal_finger') < 0:
  133. !! horny
  134. if vaginal_slip < pcs_horny / 10: vaginal_slip = pcs_horny / 10
  135. !! cum
  136. if cumloc[0] > 0: vaginal_slip += rand(cumvol[0]/10, cumvol[0]/5)
  137. !! spit
  138. if arrpos('$ARGS', 'spit') >= 0: vaginal_slip += 4
  139. !! lube
  140. if vaginal_slip < max(1, 8 + pain['vaginal']/2 - pcs_vag):
  141. !! event lube
  142. if arrpos('$ARGS', 'lube') >= 0 and ar_vag_lube = 0:
  143. vaginal_slip += 8
  144. ar_vag_lube = 1
  145. !! PC lube
  146. elseif auto_vag_lube = 1 _
  147. and arrpos('$ARGS', 'rape') < 0 _
  148. and arrpos('$ARGS', 'gangbang') < 0 _
  149. and arrpos('$ARGS', 'rough') < 0 _
  150. and arrpos('$ARGS', 'beast') < 0 _
  151. and arrpos('$ARGS', 'BDSM') < 0 _
  152. and arrpos('$ARGS', 'bound') < 0 _
  153. and arrpos('$ARGS', 'humiliation') < 0:
  154. gs 'arousal', 'auto_lube', 'vag'
  155. end
  156. end
  157. end
  158. !! This is to allow a Succubus with the right skill level or elastigirl trait to handle any size then go back to original size
  159. if (succubusflag = 1 and sucskill >= 4) or pcs_traits['elastigirl'] > 0:
  160. if mid($ARGS[0],1,4) = 'vagi' and temp_dick ! pcs_vag:
  161. if temp_dick < pcs_vag - 5 or temp_dick > pcs_vag + 5: pcs_mood -= 10
  162. if sucvagorg = 0: sucvagorg = pcs_vag
  163. pcs_vag = temp_dick
  164. end
  165. if mid($ARGS[0],1,4) = 'anal' and temp_dick ! pcs_ass:
  166. if temp_dick < pcs_ass - 5 or temp_dick > pcs_ass + 5: pcs_mood -= 10
  167. if sucanusorg = 0: sucanusorg = pcs_ass
  168. pcs_ass = temp_dick
  169. end
  170. end
  171. !!set a magnitude as a random
  172. stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
  173. !! set up pain coefficient
  174. pain_coeff = 0
  175. max_sex_pain = (120 - pcs_vital)/2
  176. if arrpos('$ARGS', 'rape') >= 0: pain_coeff += rand(15,30)
  177. if arrpos('$ARGS', 'gangbang') >= 0: pain_coeff += rand(10,15)
  178. if arrpos('$ARGS', 'beast') >= 0: pain_coeff += rand(7,10)
  179. if arrpos('$ARGS', 'rough') >= 0: pain_coeff += rand(5,7)
  180. if arrpos('$ARGS', 'BDSM') >= 0: pain_coeff += rand(4,5)
  181. if arrpos('$ARGS', 'maso') >= 0: pain_coeff += rand(3,4)
  182. if arrpos('$ARGS', 'bound') >= 0: pain_coeff += rand(2,3)
  183. if arrpos('$ARGS', 'sub') >= 0: pain_coeff += rand(1,2)
  184. if arrpos('$ARGS', 'prostitution') >= 0: pain_coeff += max(0, rand(-3,2))
  185. if arrpos('$ARGS', 'unknown') >= 0: pain_coeff += max(0, rand(-4,1))
  186. stim_time = max(1, iif(ARGS[1]<0, -ARGS[1], ARGS[1]))
  187. $get_hole_pain = {
  188. !! ARGS[0] hole size
  189. !! ARGS[1] hole slippery
  190. !! ARGS[2] current pain
  191. !! ARGS[3] length of inserted object
  192. !! ARGS[4] grange of inserted object
  193. !! ARGS[5] skill (0-2) aka silavag
  194. killvar 'grdif'
  195. killvar 'ltdif'
  196. !! cap pain to vitality
  197. if ARGS[2] < max_sex_pain:
  198. killvar 'i'
  199. :stim_time_loop
  200. if stim_time > i:
  201. !! length and girth abilities of hole are not also separated
  202. !! but I suppose that they are related although it is not propable
  203. !! we can estimate difference in girth and length
  204. grdif[i] = (ARGS[4] - ARGS[0])/2
  205. ltdif[i] = (ARGS[3] - ARGS[0])/4
  206. !! painful intercourse
  207. if pain_coeff > rand(0,2):
  208. grdif[i] += rand(pain_coeff/2, pain_coeff)
  209. ltdif[i] += rand(pain_coeff/2, pain_coeff)
  210. end
  211. !! in pain, compensated with lube
  212. if ARGS[2] > 0:
  213. if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): grdif[i] += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
  214. if ARGS[2] > rand(ARGS[1]/2, ARGS[1]): ltdif[i] += rand(ARGS[2] / max(1,ARGS[1]/2), ARGS[2] / max(1,ARGS[1]/4))
  215. end
  216. !! lube can compensate the difference a bit, or make it worse if there is no lube at all
  217. if ARGS[1] > 0:
  218. grdif[i] -= rand(ARGS[1]/2, ARGS[1])
  219. ltdif[i] -= rand(ARGS[1]/4, ARGS[1]/2)
  220. else
  221. grdif[i] += max(1, rand(grdif[i]/4, grdif[i]/2)) / max(1,ARGS[5]+1)
  222. ltdif[i] += max(1, rand(ltdif[i]/6, ltdif[i]/4)) / max(1,ARGS[5]+1)
  223. end
  224. !! when skilled, length does not harm PC
  225. if ARGS[5] > 0 and ltdif[i] > 0: ltdif[i] /= max(1,ARGS[5]+1)
  226. !! min\max
  227. grdif[i] = max(0, grdif[i] / max(1, (ARGS[0]/6)))
  228. ltdif[i] = max(0, ltdif[i] / max(1, (ARGS[0]/6)))
  229. i += 1+ARGS[5]
  230. jump 'stim_time_loop'
  231. end
  232. end
  233. i = arrsize('ltdif')
  234. :stim_time_loop2
  235. if i > 1:
  236. i -= 1
  237. grdif += grdif[i]
  238. ltdif += ltdif[i]
  239. jump 'stim_time_loop2'
  240. end
  241. !{'hole size <<ARGS[0]>>; length: <<ARGS[3]>>; grange: <<ARGS[4]>>; hole slippery: <<ARGS[1]>>; current pain: <<ARGS[2]>>; stim_time: <<stim_time>>; skill: <<ARGS[5]>>; grdif: <<grdif>>; ltdif: <<ltdif>>'}
  242. }
  243. $in_vag = {
  244. if arousal_overcall = 0:
  245. !! add anal lube from vaginal juices
  246. if anal_slip < max(1, vaginal_slip/2):
  247. anal_slip = max(1, vaginal_slip/rand(2,3))
  248. if cumloc[0] > 0: anal_slip += rand(cumvol[0]/15, cumvol[0]/10)
  249. end
  250. dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], temp_dick, grange, temp_silavag
  251. stim['act'] = 80 - grdif + ltdif + temp_silavag*8
  252. !! the pain lover the pleasure
  253. if grdif+ltdif > 0:
  254. gs 'pain', grdif+ltdif, 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
  255. if temp_dick/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(ltdif), 'cervix', 'shock' & pain['cervix'] = min(pain['cervix'], max_sex_pain)
  256. if grange/max(1, temp_silavag) > rand(pcs_vag/2,pcs_vag): gs 'pain', rand(grdif), 'labia', 'stretch' & pain['labia'] = min(pain['labia'], max_sex_pain)
  257. end
  258. if pain_coeff > 0: gs 'pain', rand(pain_coeff)/5, 'clitoris', 'hit'
  259. !! calculate the harm
  260. if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
  261. if pcs_vag < temp_dick:pcs_vag += 1
  262. if pcs_vag*2 < temp_dick:pcs_vag += 1
  263. end
  264. !! force cum leak
  265. if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
  266. }
  267. $in_anal = {
  268. if pcs_traits['buttslut_lvl'] = 1:
  269. stim['mag'] += 1
  270. elseif pcs_traits['buttslut_lvl'] >= 2:
  271. stim['mag'] += 3
  272. end
  273. if arousal_overcall = 0:
  274. !! add some lube for future sex type changes
  275. if vaginal_slip < max(1, anal_slip/2) and cumloc[3] > 0: vaginal_slip += rand(cumvol[3]/10, cumvol[3]/5)
  276. dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], temp_dick, grange, temp_silavag
  277. stim['act'] = 80 - grdif + ltdif + temp_silavag*8
  278. !! the pain lover the pleasure
  279. if grdif+ltdif > 0: gs 'pain', grdif + ltdif, 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
  280. !! calculate the harm
  281. if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
  282. if pcs_ass < temp_dick:pcs_ass += 1
  283. if pcs_ass*2 < temp_dick:pcs_ass += 1
  284. !! force cum leak
  285. end
  286. if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', ((temp_dick+grange)/2)*max(1,stim_time/5)
  287. }
  288. $in_throat = {
  289. if arousal_overcall = 0:
  290. !! add lube from saliva
  291. if anal_slip < max(1, pcs_hydra/20): anal_slip += max(1, pcs_hydra/20)
  292. if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip += max(1, pcs_hydra/20)
  293. if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'mouth', 'stretch'
  294. if pcs_lipbalm > 0:
  295. pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
  296. if arrpos('$ARGS', 'rape') >= 0 _
  297. or arrpos('$ARGS', 'rough') >= 0 _
  298. or arrpos('$ARGS', 'gangbang') >= 0 _
  299. or arrpos('$ARGS', 'beast') >= 0:
  300. pcs_lipbalm = max(0, pcs_lipbalm - 1*max(1,stim_time/5))
  301. end
  302. end
  303. if arrpos('$ARGS', 'deepthroat') >= 0:
  304. dynamic $get_hole_pain, pcs_throat, pcs_hydra/10, pain['throat'], temp_dick, grange, temp_silavag
  305. stim['act'] = 80 - ltdif + grdif + temp_silavag*8
  306. if grdif+ltdif > 0:
  307. gs 'pain', grdif + ltdif, 'throat', 'stretch' & pain['throat'] = min(pain['throat'], max_sex_pain)
  308. gs 'pain', grdif, 'jaw', 'stretch' & pain['jaw'] = min(pain['jaw'], max_sex_pain)
  309. end
  310. if pcs_throat < temp_dick:pcs_throat += 1
  311. if pcs_throat*2 < temp_dick:pcs_throat += 1
  312. end
  313. if pcs_throat*3 < temp_dick:pcs_throat += 1
  314. end
  315. }
  316. !!add count and effects due to action
  317. if $ARGS[0] = 'clit_finger':
  318. orgasm_flag['clit'] = 1
  319. count['clit_finger'] = 1
  320. stim['mag'] += 6
  321. stim['act'] = 100
  322. elseif $ARGS[0] = 'clit_vibe':
  323. orgasm_flag['clit'] = 1
  324. count['clit_vibe'] = 1
  325. stim['mag'] += 2
  326. stim['act'] = 75
  327. elseif $ARGS[0] = 'porn':
  328. count['porn'] = 1
  329. stim['act'] = 25
  330. elseif $ARGS[0] = 'voyeur':
  331. count['voyeur'] = 1
  332. stim['act'] = 20
  333. elseif $ARGS[0] = 'voyeur_sex':
  334. count['voyeur_sex'] = 1
  335. stim['act'] = 35
  336. elseif $ARGS[0] = 'erotic':
  337. stim['act'] = 5
  338. elseif $ARGS[0] = 'erotic_nudity':
  339. stim['act'] = 5
  340. count['erotic_nudity'] = 1
  341. elseif $ARGS[0] = 'kiss':
  342. count['kiss'] = 1
  343. stim['act'] = 10
  344. elseif $ARGS[0] = 'breasts':
  345. stim['act'] = 30
  346. !! lose some milk
  347. if lactation['active'] > 0 and lactation['breastmv'] > lactation['breastmm']*3/2:
  348. stim['act'] += rand(10,20)
  349. lactation['breastmv'] = max(0, lactation['breastmv'] - rand(lactation['breastmv']/20, lactation['breastmv']/10)*max(1,stim_time/2))
  350. end
  351. if pain_coeff > 0:
  352. gs 'pain', rand(pain_coeff)/2, 'breasts', 'twist'
  353. gs 'pain', rand(pain_coeff)/2, 'nipples', 'pinch'
  354. end
  355. !! 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.
  356. !! milkedvolume += func('lact_lib','$get_breastmilk', 8, ARGS[1])
  357. elseif $ARGS[0] = 'massage':
  358. pcs_sweat += rand(2,4)*max(1,stim_time/5)
  359. count['massage'] = 1
  360. stim['act'] = 25
  361. elseif $ARGS[0] = 'foreplay':
  362. count['foreplay'] = 1
  363. stim['act'] = 20
  364. elseif $ARGS[0] = 'cuni':
  365. pcs_sweat += rand(0,1)*max(1,stim_time/5)
  366. orgasm_flag['vaginal'] = 1
  367. count['cuni'] = 1
  368. stim['mag'] += 4
  369. stim['act'] = 80
  370. elseif $ARGS[0] = 'rimming':
  371. orgasm_flag['anal'] = 1
  372. count['rimming'] = 1
  373. stim['act'] = 30
  374. if pcs_traits['buttslut_lvl'] = 1:
  375. stim['mag'] += 2
  376. stim['act'] = 50
  377. elseif pcs_traits['buttslut_lvl'] >= 2:
  378. stim['mag'] += 4
  379. stim['act'] = 80
  380. end
  381. elseif $ARGS[0] = 'trib':
  382. orgasm_flag['vaginal'] = 1
  383. count['trib'] = 1
  384. stim['mag'] += 3
  385. stim['act'] = 70
  386. stim_les = 1
  387. if pain_coeff > 0:gs 'pain', rand(pain_coeff)/5, 'clitoris', 'twist' & pain['clitoris'] = min(pain['clitoris'], max_sex_pain)
  388. elseif $ARGS[0] = 'anal_finger':
  389. orgasm_flag['anal'] = 1
  390. count['anal_finger'] = 1
  391. stim['act'] = 40
  392. if pcs_traits['buttslut_lvl'] = 1:
  393. stim['mag'] += 1
  394. stim['act'] = 60
  395. elseif pcs_traits['buttslut_lvl'] >= 2:
  396. stim['mag'] += 1
  397. stim['act'] = 80
  398. end
  399. if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', rand(2,5)*max(1,stim_time/5)
  400. if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
  401. elseif $ARGS[0] = 'anal_fist':
  402. orgasm_flag['anal'] = 1
  403. count['anal_fist'] = 1
  404. stim['act'] = 30
  405. if pcs_traits['buttslut_lvl'] = 1:
  406. stim['act'] = 50
  407. elseif pcs_traits['buttslut_lvl'] >= 2:
  408. stim['act'] = 70
  409. end
  410. if arousal_overcall = 0:
  411. dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], rand(15,20), rand(35,40), rand(0,2)
  412. stim['act'] -= grdif + ltdif
  413. gs 'pain', grdif+ltdif, 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
  414. if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
  415. pcs_ass += 1
  416. end
  417. if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', rand(15,20)*max(1,stim_time/5)
  418. elseif $ARGS[0] = 'self_fisting_anal':
  419. orgasm_flag['anal'] = 1
  420. count['self_fisting_anal'] = 1
  421. !! add lube from saliva
  422. if anal_slip < max(1, pcs_hydra/20): anal_slip = max(1, pcs_hydra/20)
  423. stim['act'] = 30
  424. if pcs_traits['buttslut_lvl'] = 1:
  425. stim['act'] = 50
  426. elseif pcs_traits['buttslut_lvl'] >= 2:
  427. stim['act'] = 70
  428. end
  429. if arousal_overcall = 0:
  430. dynamic $get_hole_pain, pcs_ass, anal_slip, pain['asshole'], rand(10,15), rand(30,35), 2
  431. stim['act'] -= grdif + ltdif
  432. gs 'pain', grdif+ltdif, 'asshole', 'stretch' & pain['asshole'] = min(pain['asshole'], max_sex_pain)
  433. if grdif + ltdif > agape*2 + pcs_ass/2: agape += 1
  434. pcs_ass += 1
  435. end
  436. if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', rand(10,15)*max(1,stim_time/5)
  437. elseif $ARGS[0] = 'anal_vibe':
  438. orgasm_flag['anal'] = 1
  439. count['anal_vibe'] = 1
  440. stim['mag'] += 1
  441. stim['act'] = 60
  442. if pcs_traits['buttslut_lvl'] = 1:
  443. stim['mag'] += 1
  444. stim['act'] = 70
  445. elseif pcs_traits['buttslut_lvl'] >= 2:
  446. stim['mag'] += 2
  447. stim['act'] = 90
  448. end
  449. if ARGS[1] > 0 and cumvol[3] > rand(pcs_ass/2,pcs_ass): gs 'cum_manage', 'cum_decay', rand(5,10)*max(1,stim_time/5)
  450. elseif $ARGS[0] = 'anal':
  451. pcs_sweat += rand(1,4)*max(1,stim_time/5)
  452. stat['last_sex_day'] = daystart
  453. orgasm_flag['anal'] = 1
  454. if temp_unaware = 1:
  455. count['hidden_anal'] = 1
  456. else
  457. count['anal'] = 1
  458. end
  459. dynamic $in_anal
  460. elseif $ARGS[0] = 'anal_dildo':
  461. pcs_sweat += rand(0,2)*max(1,stim_time/5)
  462. orgasm_flag['anal'] = 1
  463. count['anal_dildo'] = 1
  464. dynamic $in_anal
  465. elseif $ARGS[0] = 'anal_strap':
  466. pcs_sweat += rand(1,2)*max(1,stim_time/5)
  467. stat['last_sex_day'] = daystart
  468. orgasm_flag['anal'] = 1
  469. count['anal_strap'] = 1
  470. dynamic $in_anal
  471. elseif $ARGS[0] = 'vaginal_finger':
  472. orgasm_flag['vaginal'] = 1
  473. count['vaginal_finger'] = 1
  474. stim['mag'] += 1
  475. stim['act'] = 80
  476. if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
  477. if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', rand(2,5)*max(1,stim_time/5)
  478. elseif $ARGS[0] = 'vaginal_fist':
  479. pcs_sweat += rand(0,1)*max(1,stim_time/5)
  480. orgasm_flag['vaginal'] = 1
  481. count['vaginal_fist'] = 1
  482. stim['act'] = 70
  483. if arousal_overcall = 0:
  484. dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], rand(15,20), rand(35,40), rand(0,2)
  485. stim['act'] -= grdif + ltdif
  486. gs 'pain', grdif+ltdif, 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
  487. gs 'pain', rand(grdif), 'labia', 'stretch' & pain['labia'] = min(pain['labia'], max_sex_pain)
  488. if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
  489. pcs_vag += 1
  490. end
  491. !! force cum leak
  492. if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', rand(15,20)*max(1,stim_time/5)
  493. elseif $ARGS[0] = 'self_fisting':
  494. orgasm_flag['vaginal'] = 1
  495. count['self_fisting'] = 1
  496. !! add lube from saliva
  497. if vaginal_slip < max(1, pcs_hydra/20): vaginal_slip = max(1, pcs_hydra/20)
  498. stim['act'] = 70
  499. if arousal_overcall = 0:
  500. dynamic $get_hole_pain, pcs_vag, vaginal_slip, pain['vaginal'], rand(10,15), rand(30,35), 2
  501. stim['act'] -= grdif + ltdif
  502. gs 'pain', grdif+ltdif, 'vaginal', 'stretch' & pain['vaginal'] = min(pain['vaginal'], max_sex_pain)
  503. gs 'pain', rand(grdif), 'labia', 'stretch' & pain['labia'] = min(pain['labia'], max_sex_pain)
  504. if grdif + ltdif > vgape*2 + pcs_vag/2: vgape += 1
  505. pcs_vag += 1
  506. end
  507. if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', rand(10,15)*max(1,stim_time/5)
  508. elseif $ARGS[0] = 'vaginal_vibe':
  509. orgasm_flag['vaginal'] = 1
  510. count['vaginal_vibe'] = 1
  511. stim['mag'] += 2
  512. stim['act'] = 90
  513. if ARGS[1] > 0 and cumvol[0] > rand(pcs_vag/2,pcs_vag): gs 'cum_manage', 'cum_decay', rand(5,10)*max(1,stim_time/5)
  514. elseif $ARGS[0] = 'vaginal':
  515. pcs_sweat += rand(1,3)*max(1,stim_time/5)
  516. orgasm_flag['vaginal'] = 1
  517. !! pre-cum check
  518. if rand(0,120) < ARGS[1]: cumprecheck = 1 & gs 'cum_manage'
  519. if temp_unaware = 1:
  520. count['hidden_vaginal'] = 1
  521. else
  522. if virgin_stats['vaginal'] = 0 and (stat['think_virgin'] = 1 or pcs_vag = 0):
  523. virgin_stats['day_lost'] = daystart
  524. virgin_stats['age_lost'] = age
  525. virgin_stats['vaginal'] = 1
  526. $virgin_stats['virgin_taker'] = $npc_firstname[$boy]
  527. $virgin_stats['cock_size'] = $npc_dick_desc[$boy]
  528. if birthday = day and birthmonth = month: virgin_stats['birthday'] = 1
  529. end
  530. count['vaginal'] = 1
  531. stat['last_man_sex_day'] = daystart
  532. end
  533. stim['mag'] += 3
  534. dynamic $in_vag
  535. elseif $ARGS[0] = 'vaginal_dildo':
  536. pcs_sweat += rand(0,2)*max(1,stim_time/5)
  537. orgasm_flag['vaginal'] = 1
  538. count['vaginal_dildo'] = 1
  539. if virgin_stats['dildo'] = 0 and (stat['think_virgin'] = 1 or pcs_vag = 0):
  540. virgin_stats['day_lost'] = daystart
  541. virgin_stats['age_lost'] = age
  542. virgin_stats['dildo'] = 1
  543. $virgin_stats['virgin_taker_ID'] = $boy
  544. if birthday = day and birthmonth = month: virgin_stats['birthday'] = 1
  545. end
  546. stim['mag'] += 1
  547. dynamic $in_vag
  548. elseif $ARGS[0] = 'vaginal_strap':
  549. pcs_sweat += rand(1,2)*max(1,stim_time/5)
  550. orgasm_flag['vaginal'] = 1
  551. count['vaginal_strap'] = 1
  552. if virgin_stats['strapon'] = 0 and (stat['think_virgin'] = 1 or pcs_vag = 0):
  553. virgin_stats['day_lost'] = daystart
  554. virgin_stats['age_lost'] = age
  555. virgin_stats['strapon'] = 1
  556. $virgin_stats['virgin_taker_ID'] = $boy
  557. if birthday = day and birthmonth = month: virgin_stats['birthday'] = 1
  558. !! if dont_know_npc_name
  559. end
  560. stim['mag'] += 1
  561. dynamic $in_vag
  562. elseif $ARGS[0] = 'flashlite':
  563. count['flashlite'] = 1
  564. stim['act'] = 10
  565. elseif $ARGS[0] = 'flash':
  566. count['flash'] = 1
  567. stim['act'] = 30
  568. elseif $ARGS[0] = 'BDSM':
  569. count['BDSM'] = 1
  570. stim['act'] = 20
  571. elseif $ARGS[0] = 'pee':
  572. count['pee'] = 1
  573. stim['act'] = 10
  574. elseif $ARGS[0] = 'massage_give':
  575. pcs_sweat += rand(3,6)*max(1,stim_time/5)
  576. count['massage_give'] = 1
  577. stim['act'] = 10
  578. elseif $ARGS[0] = 'foreplay_give':
  579. count['foreplay_give'] = 1
  580. stim['act'] = 20
  581. elseif $ARGS[0] = 'cuni_give':
  582. pcs_sweat += rand(0,1)*max(1,stim_time/5)
  583. count['cuni_give'] = 1
  584. stim['act'] = 30
  585. stim_les = 1
  586. elseif $ARGS[0] = 'rimming_give':
  587. count['rimming_give'] = 1
  588. stim['act'] = 25
  589. elseif $ARGS[0] = 'anal_finger_give':
  590. count['anal_finger_give'] = 1
  591. stim['act'] = 40
  592. elseif $ARGS[0] = 'anal_fist_give':
  593. count['anal_fist_give'] = 1
  594. stim['act'] = 30
  595. elseif $ARGS[0] = 'anal_dildo_give':
  596. pcs_sweat += rand(0,1)*max(1,stim_time/5)
  597. count['anal_dildo_give'] = 1
  598. stim['act'] = 40
  599. elseif $ARGS[0] = 'anal_vibe_give':
  600. count['anal_vibe_give'] = 1
  601. stim['act'] = 40
  602. elseif $ARGS[0] = 'anal_strap_give':
  603. pcs_sweat += rand(2,4)*max(1,stim_time/5)
  604. count['anal_strap_give'] = 1
  605. stim['act'] = 40
  606. elseif $ARGS[0] = 'vaginal_finger_give':
  607. count['vaginal_finger_give'] = 1
  608. stim['act'] = 60
  609. stim_les = 1
  610. elseif $ARGS[0] = 'clit_finger_give':
  611. count['clit_finger_give'] = 1
  612. stim['act'] = 70
  613. stim_les = 1
  614. elseif $ARGS[0] = 'vaginal_fist_give':
  615. count['vaginal_fist_give'] = 1
  616. stim['act'] = 50
  617. stim_les = 1
  618. elseif $ARGS[0] = 'vaginal_dildo_give':
  619. pcs_sweat += rand(0,1)*max(1,stim_time/5)
  620. count['vaginal_dildo_give'] = 1
  621. stim['act'] = 60
  622. stim_les = 1
  623. elseif $ARGS[0] = 'vaginal_strap_give':
  624. pcs_sweat += rand(2,4)*max(1,stim_time/5)
  625. count['vaginal_strap_give'] = 1
  626. stim['act'] = 70
  627. stim_les = 1
  628. elseif $ARGS[0] = 'vaginal_vibe_give':
  629. count['vaginal_vibe_give'] = 1
  630. stim['act'] = 60
  631. stim_les = 1
  632. elseif $ARGS[0] = 'hj':
  633. pcs_sweat += rand(0,3)*max(1,stim_time/5)
  634. if temp_unaware = 1:
  635. count['hidden_hj'] = 1
  636. else
  637. count['hj'] = 1
  638. end
  639. stim['act'] = 25
  640. elseif $ARGS[0] = 'bj':
  641. pcs_sweat += rand(0,1)*max(1,stim_time/5)
  642. if temp_unaware = 1:
  643. count['hidden_bj'] = 1
  644. else
  645. count['bj'] = 1
  646. end
  647. stim['act'] = 45
  648. dynamic $in_throat
  649. elseif $ARGS[0] = 'dildo_suck':
  650. pcs_sweat += rand(0,1)*max(1,stim_time/10)
  651. count['dildo_suck'] = 1
  652. stim['act'] = 30
  653. dynamic $in_throat
  654. elseif $ARGS[0] = 'footjob':
  655. pcs_sweat += rand(0,2)*max(1,stim_time/5)
  656. if temp_unaware = 1:
  657. count['hidden_footjob'] = 1
  658. else
  659. count['footjob'] = 1
  660. end
  661. stim['act'] = 25
  662. stim_foot = 1
  663. elseif $ARGS[0] = 'titjob':
  664. pcs_sweat += rand(3,5)*max(1,stim_time/5)
  665. if temp_unaware = 1:
  666. count['hidden_titjob'] = 1
  667. else
  668. count['titjob'] = 1
  669. end
  670. stim['act'] = 45
  671. stim_titjob = 1
  672. if pain_coeff > 0:gs 'pain', rand(pain_coeff), 'breasts', 'pull'
  673. elseif $ARGS[0] = 'BDSM_give':
  674. pcs_sweat += rand(0,3)*max(1,stim_time/5)
  675. count['BDSM_give'] = 1
  676. stim['act'] = 20
  677. elseif $ARGS[0] = 'pee_give':
  678. count['pee_give'] = 1
  679. stim['act'] = 10
  680. last_pee = totminut
  681. elseif $ARGS[0] = 'magicd_anal':
  682. count['magicd_anal'] = 1
  683. stim['act'] = 80
  684. elseif $ARGS[0] = 'magicd_vaginal':
  685. count['magicd_vaginal'] = 1
  686. stim['act'] = 90
  687. elseif $ARGS[0] = 'magicd_hj':
  688. count['magicd_hj'] = 1
  689. stim['act'] = 50
  690. elseif $ARGS[0] = 'magicd_bj':
  691. count['magicd_bj'] = 1
  692. stim['act'] = 60
  693. end
  694. !! anal acts
  695. if (mid($ARGS[0],1,4) = 'anal' and mid($ARGS[0],len($ARGS[0])-3,len($ARGS[0])) ! 'give') or $ARGS[0] = 'rimming':
  696. if pcs_traits['buttslut_lvl'] = 3:
  697. stim['act'] += 20
  698. end
  699. end
  700. if pcs_hairbsh >= 0:
  701. if arrpos('$ARGS', 'rape') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>30,-1,pcs_hairbsh)
  702. if arrpos('$ARGS', 'rough') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>40,-1,pcs_hairbsh)
  703. if arrpos('$ARGS', 'gangbang') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>50,-1,pcs_hairbsh)
  704. if arrpos('$ARGS', 'group') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>70,-1,pcs_hairbsh)
  705. if arrpos('$ARGS', 'BDSM') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>80,-1,pcs_hairbsh)
  706. if arrpos('$ARGS', 'beast') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>100,-1,pcs_hairbsh)
  707. if arrpos('$ARGS', 'maso') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>125,rand(-1,0),pcs_hairbsh)
  708. if arrpos('$ARGS', 'prostitution') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>150,rand(-1,0),pcs_hairbsh)
  709. if arrpos('$ARGS', 'unknown') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>200,rand(-1,pcs_hairbsh),pcs_hairbsh)
  710. if arrpos('$ARGS', 'anal') >= 0 _
  711. or arrpos('$ARGS', 'anal_strap') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>220,rand(-1,pcs_hairbsh),pcs_hairbsh)
  712. if arrpos('$ARGS', 'vaginal') >= 0 _
  713. or arrpos('$ARGS', 'vaginal_strap') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>240,rand(-1,pcs_hairbsh),pcs_hairbsh)
  714. if pcs_hairbsh > 0:
  715. if arrpos('$ARGS', 'bound') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>270,rand(0,pcs_hairbsh),pcs_hairbsh)
  716. if arrpos('$ARGS', 'sub') >= 0: pcs_hairbsh = iif(rand(30, pcs_hairlng)>300,rand(0,pcs_hairbsh),pcs_hairbsh)
  717. end
  718. end
  719. if pcs_makeup > 1:
  720. if arrpos('$ARGS', 'rape') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<7,0,pcs_makeup)
  721. if arrpos('$ARGS', 'rough') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
  722. if arrpos('$ARGS', 'gangbang') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
  723. if arrpos('$ARGS', 'beast') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<4,0,pcs_makeup)
  724. if arrpos('$ARGS', 'bj') >= 0 or arrpos('$ARGS', 'deepthroat') >= 0:
  725. if arrpos('$ARGS', 'group') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
  726. if arrpos('$ARGS', 'BDSM') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
  727. if arrpos('$ARGS', 'deepthroat') >= 0:
  728. if arrpos('$ARGS', 'maso') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,0,pcs_makeup)
  729. if arrpos('$ARGS', 'prostitution') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<4,0,pcs_makeup)
  730. if arrpos('$ARGS', 'unknown') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<4,0,pcs_makeup)
  731. if arrpos('$ARGS', 'bound') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
  732. if arrpos('$ARGS', 'sub') >= 0: pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<5,0,pcs_makeup)
  733. end
  734. end
  735. if pcs_makeup > 1:
  736. if (arrpos('$ARGS', 'bj') >= 0 _
  737. or arrpos('$ARGS', 'cuni_give') >= 0): pcs_makeup = iif(rand(pcs_makeup, pcs_makupskl/10)<3,rand(0,1),pcs_makeup)
  738. end
  739. end
  740. if stim['mag'] > 9: stim['mag'] = 9
  741. if ARGS[1] > 0: minut += ARGS[1]
  742. stim['time'] = iif(ARGS[1]>0,ARGS[1],-ARGS[1])
  743. !!Adds effects due to sexual perversions
  744. stim['kinkno'] = 0
  745. stim['kink'] = 0
  746. !! Auto adding of lesbian and foot fetishes for acts that must involve them
  747. if stim_les = 1:
  748. stim['kink'] += lesbian['exp']
  749. stim['pref'] += lesbian['pref']
  750. stim['kinkno'] += 1
  751. if temp_unaware = 1:
  752. stim['hidden_lesbian'] = 1
  753. else
  754. stim['lesbian'] = 1
  755. end
  756. end
  757. if stim_foot = 1:
  758. stim['kink'] += feet['exp']
  759. stim['pref'] += feet['pref']
  760. stim['kinkno'] += 1
  761. stim['feet'] = 1
  762. end
  763. if $ARGS[1] ! 'porn' and $ARGS[1] ! 'voyeur' and $ARGS[1] ! 'erotic':
  764. i = 2
  765. :stimloop
  766. if $ARGS[i] ! '':
  767. !!Skipping lesbian and foot where auto added to avoid duplication
  768. if stim_les = 1 and $ARGS[i] = 'lesbian':i += 1 & jump 'stimloop'
  769. if stim_foot = 1 and $ARGS[i] = 'feet':i += 1 & jump 'stimloop'
  770. if $ARGS[i] = 'bound':
  771. stim['kink'] += bound['exp']
  772. stim['pref'] += bound['pref']
  773. stim['kinkno'] += 1
  774. stim['bound'] = 1
  775. elseif $ARGS[i] = 'beast':
  776. stim['kink'] += beast['exp']
  777. stim['pref'] += beast['pref']
  778. stim['kinkno'] += 1
  779. stim['beast'] = 1
  780. elseif $ARGS[i] = 'exhibitionism':
  781. stim['kink'] += exhibitionism['exp']
  782. stim['pref'] += exhibitionism['pref']
  783. inhib_exp += rand(2,6)
  784. stim['kinkno'] += 1
  785. stim['exhibitionism'] = 1
  786. elseif $ARGS[i] = 'rough':
  787. stim['kink'] += rough['exp']
  788. stim['pref'] += rough['pref']
  789. stim['kinkno'] += 1
  790. stim['rough'] = 1
  791. pcs_hairbsh = -1
  792. elseif $ARGS[i] = 'prostitution':
  793. stim['kink'] += prostitution['exp']
  794. stim['pref'] += prostitution['pref']
  795. stim['kinkno'] += 1
  796. if temp_unaware = 1:
  797. stim['hidden_prostitution'] = 1
  798. else
  799. stim['prostitution'] = 1
  800. if stat['think_virgin'] = 1 and (count['vaginal'] = 1 or count['vaginal_strap'] = 1): virgin_stats['prostitute'] = 1
  801. end
  802. elseif $ARGS[i] = 'dom':
  803. stim['kink'] += dom['exp']
  804. stim['pref'] += dom['pref']
  805. stim['kinkno'] += 1
  806. stim['dom'] = 1
  807. elseif $ARGS[i] = 'sub':
  808. stim['kink'] += sub['exp']
  809. stim['pref'] += sub['pref']
  810. stim['kinkno'] += 1
  811. stim['sub'] = 1
  812. elseif $ARGS[i] = 'incest':
  813. stim['kink'] += incest['exp']
  814. stim['pref'] += incest['pref']
  815. stim['kinkno'] += 1
  816. stim['incest'] = 1
  817. elseif $ARGS[i] = 'feet':
  818. stim['kink'] += feet['exp']
  819. stim['pref'] += feet['pref']
  820. stim['kinkno'] += 1
  821. stim['feet'] = 1
  822. elseif $ARGS[i] = 'lesbian':
  823. stim['kink'] += lesbian['exp']
  824. stim['pref'] += lesbian['pref']
  825. stim['kinkno'] += 1
  826. if temp_unaware = 1:
  827. stim['hidden_lesbian'] = 1
  828. else
  829. stim['lesbian'] = 1
  830. end
  831. elseif $ARGS[i] = 'group':
  832. stim['kink'] += group['exp']
  833. stim['pref'] += group['pref']
  834. stim['kinkno'] += 1
  835. if temp_unaware = 1:
  836. stim['hidden_group'] = 1
  837. else
  838. stim['group'] = 1
  839. end
  840. elseif $ARGS[i] = 'gangbang':
  841. stim['kink'] += gang['exp']
  842. stim['pref'] += gang['pref']
  843. stim['kinkno'] += 1
  844. if temp_unaware = 1:
  845. stim['hidden_gang'] = 1
  846. else
  847. stim['gang'] = 1
  848. end
  849. elseif $ARGS[i] = 'humiliation':
  850. stim['kink'] += humiliation['exp']
  851. stim['pref'] += humiliation['pref']
  852. stim['kinkno'] += 1
  853. stim['humiliation'] = 1
  854. elseif $ARGS[i] = 'maso':
  855. stim['kink'] += maso['exp']
  856. stim['pref'] += maso['pref']
  857. stim['kinkno'] += 1
  858. stim['maso'] = 1
  859. elseif $ARGS[i] = 'deepthroat':
  860. stim['kink'] += deepthroat['exp']
  861. stim['pref'] += deepthroat['pref']
  862. stim['kinkno'] += 1
  863. stim['deepthroat'] = 1
  864. !!unknown is for sex with an unknown partner, this could be a gloryhole or unconscious
  865. elseif $ARGS[i] = 'unknown':
  866. stim['kink'] += unknown['exp']
  867. stim['pref'] += unknown['pref']
  868. stim['kinkno'] += 1
  869. stim['unknown'] = 1
  870. elseif $ARGS[i] = 'gloryhole':
  871. stim['kink'] += gloryhole['exp']
  872. stim['pref'] += gloryhole['pref']
  873. stim['kinkno'] += 1
  874. if temp_unaware = 1:
  875. stim['hidden_gloryhole'] = 1
  876. else
  877. stim['gloryhole'] = 1
  878. end
  879. elseif $ARGS[i] = 'rape':
  880. stim['kink'] += rape['exp']
  881. stim['pref'] += rape['pref']
  882. stim['kinkno'] += 1
  883. !! used to track if Sveta has been raped for reactions with mum and Luda
  884. rape[1] = daystart
  885. if temp_unaware = 1:
  886. stim['hidden_rape'] = 1
  887. else
  888. stim['rape'] = 1
  889. end
  890. if stat['think_virgin'] = 1 and (count['vaginal'] = 1 or count['vaginal_strap'] = 1): virgin_stats['rape'] = 1
  891. elseif $ARGS[i] = 'shemale':
  892. stim['kink'] += shemale['exp']
  893. stim['pref'] += shemale['pref']
  894. stim['kinkno'] += 1
  895. if temp_unaware = 1:
  896. stim['hidden_shemale'] = 1
  897. else
  898. stim['shemale'] = 1
  899. end
  900. if stat['think_virgin'] = 1 and (count['vaginal'] = 1 or count['vaginal_strap'] = 1): virgin_stats['shemale'] = 1
  901. elseif $ARGS[i] = 'masturbate':
  902. stim['kink'] += masturbate['exp']
  903. stim['pref'] += masturbate['pref']
  904. stim['kinkno'] += 1
  905. stim['masturbate'] = 1
  906. orgasm_flag['masturbate'] = 1
  907. end
  908. i += 1
  909. jump 'stimloop'
  910. end
  911. end
  912. !!Fetishes are divided by total number of fetishes
  913. if stim['kinkno'] ! 0:
  914. stim['kink'] = stim['kink']/stim['kinkno']
  915. stim['pref'] = (stim['pref']/stim['kinkno'])
  916. stim['kinkno'] = 0
  917. end
  918. !!Bonus from fetishes, randomised chance for each level of bonus
  919. if rand(0,100) < stim['kink']:
  920. stim['kink'] = 120
  921. elseif rand(0,80) < stim['kink']:
  922. stim['kink'] = 110
  923. elseif rand(0,60) < stim['kink']:
  924. stim['kink'] = 100
  925. elseif rand(0,40) < stim['kink']:
  926. stim['kink'] = 90
  927. else
  928. stim['kink'] = 80
  929. end
  930. !!arousal calculation
  931. stim['total'] = ((stim['mag']*stim['act']*stim['kink']/100) + stim['pref'])*stim['time'] / 120
  932. !!Reduction in arousal linked to pain, masochism helps to deal with this
  933. gs 'pain', 'calc'
  934. if pain['total'] > 0:
  935. if maso['pref'] <= 0 and pain['total'] < 50:
  936. if pain['total'] - (maso['exp'] + 1 / 6) > 0:stim['total'] -= (pain['total'] - (maso['exp'] / 6))
  937. elseif maso['pref'] < 25 and pain['total'] < 55:
  938. stim['total'] += (pain['total'] * maso['exp'] +1 / 400)/60*stim['time']
  939. elseif maso['pref'] < 50 and pain['total'] < 70:
  940. stim['total'] += (pain['total'] * maso['exp'] + 1 / 300)/60*stim['time']
  941. elseif maso['pref'] < 75 and pain['total'] < 85:
  942. stim['total'] += (pain['total'] * maso['exp'] + 1 / 200)/60*stim['time']
  943. elseif maso['pref'] >= 75:
  944. stim['total'] += (pain['total'] * maso['exp'] + 1 / 100)/60*stim['time']
  945. else
  946. stim['total'] = 0
  947. end
  948. end
  949. stim['event'] += stim['total']
  950. pcs_horny += stim['total']
  951. !! This is to allow a Succubus with the right skill level to handle any size then go back to original size
  952. if sucvagorg ! 0 and sucvagorg ! pcs_vag: pcs_vag = sucvagorg & killvar 'sucvagorg'
  953. if sucanusorg ! 0 and sucanusorg ! pcs_ass: pcs_ass = sucanusorg & killvar 'sucanusorg'
  954. !!-------------------Orgasm-------------------
  955. !!This is intended to be hidden and the stats and calculations should not appear in game.
  956. if orgasm_flag['vaginal'] = 1 or orgasm_flag['anal'] = 1 or orgasm_flag['clit'] = 1 or orgasm_flag['masturbate'] = 1: orgasm_flag['trigger'] = 1
  957. if orgasm_flag['trigger'] ! 0: nymphosex_flag = 1
  958. orgasm_buildup += stim['total']
  959. if orgasm_buildup < 0: orgasm_buildup = 0
  960. !! This is determining if Sveta will orgasm
  961. ! orgasm is not blocked
  962. if $orgasm_or ! 'no':
  963. !!Sveta is so pent up that she can cum with minimal stimulation
  964. if orgasm_buildup >= 300 and pcs_horny >= 60:
  965. gs 'orgasm', $ARGS[0]
  966. ! direct stimulation
  967. elseif orgasm_flag['trigger'] ! 0:
  968. !!Sveta is so horny that she can cum if directly stimulated
  969. if orgasm_buildup >= 50 and pcs_horny >= 300:
  970. gs 'orgasm', $ARGS[0]
  971. elseif $orgasm_or = 'yes' or $orgasm_or = 'custom':
  972. gs 'orgasm', $ARGS[0]
  973. else
  974. temp_rand = rand(1,100)
  975. if orgasm_buildup >= (100 - pcs_horny/(2 + pcs_traits['easy_orgasms'])) and stim['total'] > 10 and temp_rand <= 20:
  976. gs 'orgasm', $ARGS[0]
  977. elseif orgasm_buildup >= (150 - pcs_horny/(2 + pcs_traits['easy_orgasms'])) and stim['total'] > 6 and temp_rand <= 50:
  978. gs 'orgasm', $ARGS[0]
  979. elseif orgasm_buildup >= (200 - pcs_horny/(2 + pcs_traits['easy_orgasms'])) and stim['total'] > 4:
  980. gs 'orgasm', $ARGS[0]
  981. end
  982. killvar 'temp_rand'
  983. end
  984. end
  985. end
  986. !!Clearing temporary variables with orgasm as a gs this will catch anything there too
  987. killvar 'temp_dick'
  988. killvar 'temp_unaware'
  989. killvar 'temp_text'
  990. killvar '$orgasm_txt'
  991. killvar '$stim_les'
  992. killvar '$stim_foot'
  993. killvar '$get_hole_pain'
  994. killvar '$in_vag'
  995. killvar '$in_anal'
  996. killvar '$in_throat'
  997. killvar 'max_sex_pain'
  998. killvar 'grdif' & killvar 'ltdif'
  999. gs 'nichUtil','onArouse',$ARGS[0]
  1000. end
  1001. !!-----------------------------------------------
  1002. !!workaround over use
  1003. if $ARGS[0] ! 'auto_lube' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
  1004. if arousal_overcall = 0:
  1005. $arousal_overcall = $ARGS[0]+$ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+$ARGS[7]+$ARGS[8]
  1006. arousal_overcall = 1
  1007. end
  1008. end
  1009. !!This calculates the various sex stats and includes a small cooldown of stimulation so only use it once per event
  1010. if $ARGS[0] = 'end':
  1011. if orgasm_buildup > 350: orgasm_buildup = 350
  1012. if orgasm_buildup > 300: orgasm_buildup -= 10
  1013. if orgasm_buildup > 200: orgasm_buildup -= 10
  1014. if orgasm_buildup > 100: orgasm_buildup -= 10
  1015. if stim['lesbian'] = 1: lesbian += 1
  1016. if stim['hidden_lesbian'] = 1: hidden_lesbian += 1
  1017. if stim['gang'] = 1 or stim['group'] = 1: gang += 1
  1018. if stim['hidden_gang'] = 1 or stim['hidden_group'] = 1: hidden_gang += 1
  1019. if stim['gloryhole'] = 1: stat['gloryhole'] += 1
  1020. if stim['hidden_gloryhole'] = 1: stat['hidden_gloryhole'] += 1
  1021. if stim['rape'] = 1: rape += 1
  1022. if stim['hidden_rape'] = 1: hidden_rape += 1
  1023. if stim['shemale'] = 1: shemale += 1
  1024. if stim['hidden_shemale'] = 1: hidden_shemale += 1
  1025. if stim['prostitution'] = 1: slutty += 1
  1026. if stim['hidden_prostitution'] = 1: hidden_slutty += 1
  1027. if stim['masturbate'] = 1: stat['mast'] += 1
  1028. if npc_sexual[$boy] = 0 and (orgasm_flag['clit'] + orgasm_flag['vaginal'] + orgasm_flag['anal'] + count['bj'] + count['titjob'] + stim_les) > 0:
  1029. npc_sexual[$boy] = 1
  1030. stat['sexual_partners'] += 1
  1031. if npc_gender[$boy] = 0:
  1032. stat['male_sexual_partners'] += 1
  1033. elseif npc_gender[$boy] = 1:
  1034. stat['female_sexual_partners'] += 1
  1035. else
  1036. stat['herm_sexual_partners'] += 1
  1037. end
  1038. end
  1039. if npc_sex[$boy] = 0 and (count['vaginal'] + stim['lesbian']) > 0:
  1040. if npc_sexual[$boy] = 1 and npc_sex[$boy] = 0: stat['sexual_partners'] -= 1
  1041. if npc_sex[$boy] = 0:
  1042. if npc_gender[$boy] = 0:
  1043. stat['men_fucked'] += 1
  1044. elseif npc_gender[$boy] = 1:
  1045. stat['women_fucked'] += 1
  1046. else
  1047. stat['herm_fucked'] += 1
  1048. end
  1049. npc_sex[$boy] = 1
  1050. stat['body_count'] += 1
  1051. end
  1052. stat['vaginal_partners'] += 1
  1053. end
  1054. if npc_anal_fucked[$boy] = 0 and count['anal'] > 0:
  1055. npc_anal_fucked[$boy] = 1
  1056. if npc_sexual[$boy] = 1 and npc_sex[$boy] = 0: stat['sexual_partners'] -= 1
  1057. if npc_sex[$boy] = 0:
  1058. if npc_gender[$boy] = 0:
  1059. stat['men_fucked'] += 1
  1060. elseif npc_gender[$boy] = 1:
  1061. stat['women_fucked'] += 1
  1062. else
  1063. stat['herm_fucked'] += 1
  1064. end
  1065. npc_sex[$boy] = 1
  1066. stat['body_count'] += 1
  1067. end
  1068. stat['anal_partners'] += 1
  1069. end
  1070. if analplugout > 0:
  1071. if pain['asshole'] > 10:
  1072. gs 'dinsex', 'after_anal','no_plug'
  1073. else
  1074. gs 'dinsex', 'after_anal','pc'
  1075. end
  1076. end
  1077. killvar 'lubonus'
  1078. killvar 'anal_slip'
  1079. killvar 'ar_anal_lube'
  1080. killvar 'vaginal_slip'
  1081. killvar 'ar_vag_lube'
  1082. killvar '$orgasm_or'
  1083. killvar 'stim_time'
  1084. killvar 'pain_coeff'
  1085. killvar 'grdif' & killvar 'ltdif'
  1086. killvar 'arousal_overcall'
  1087. !!Updating fetish exp for acts carried out and clearing data
  1088. gs 'arousal', 'checks', 'maso'
  1089. gs 'arousal', 'checks', 'bound'
  1090. gs 'arousal', 'checks', 'beast'
  1091. gs 'arousal', 'checks', 'exhibitionism'
  1092. gs 'arousal', 'checks', 'rough'
  1093. gs 'arousal', 'checks', 'prostitution'
  1094. gs 'arousal', 'checks', 'hidden_prostitution'
  1095. gs 'arousal', 'checks', 'dom'
  1096. gs 'arousal', 'checks', 'sub'
  1097. gs 'arousal', 'checks', 'incest'
  1098. gs 'arousal', 'checks', 'feet'
  1099. gs 'arousal', 'checks', 'lesbian'
  1100. gs 'arousal', 'checks', 'hidden_lesbian'
  1101. gs 'arousal', 'checks', 'group'
  1102. gs 'arousal', 'checks', 'hidden_group'
  1103. gs 'arousal', 'checks', 'gang'
  1104. gs 'arousal', 'checks', 'hidden_gang'
  1105. gs 'arousal', 'checks', 'humiliation'
  1106. gs 'arousal', 'checks', 'deepthroat'
  1107. gs 'arousal', 'checks', 'unknown'
  1108. gs 'arousal', 'checks', 'gloryhole'
  1109. gs 'arousal', 'checks', 'hidden_gloryhole'
  1110. gs 'arousal', 'checks', 'rape'
  1111. gs 'arousal', 'checks', 'hidden_rape'
  1112. gs 'arousal', 'checks', 'shemale'
  1113. gs 'arousal', 'checks', 'hidden_shemale'
  1114. gs 'arousal', 'checks', 'masturbate'
  1115. stim['event'] = 0
  1116. !!Adding to counts for character stats
  1117. gs 'arousal', 'count', 'foreplay'
  1118. gs 'arousal', 'count', 'clit_finger'
  1119. gs 'arousal', 'count', 'clit_vibe'
  1120. gs 'arousal', 'count', 'porn'
  1121. gs 'arousal', 'count', 'cuni'
  1122. gs 'arousal', 'count', 'rimming'
  1123. gs 'arousal', 'count', 'trib'
  1124. gs 'arousal', 'count', 'anal'
  1125. gs 'arousal', 'count', 'hidden_anal'
  1126. gs 'arousal', 'count', 'anal_finger'
  1127. gs 'arousal', 'count', 'anal_fist'
  1128. gs 'arousal', 'count', 'anal_dildo'
  1129. gs 'arousal', 'count', 'anal_strap'
  1130. gs 'arousal', 'count', 'anal_vibe'
  1131. gs 'arousal', 'count', 'self_fisting_anal'
  1132. gs 'arousal', 'count', 'vaginal'
  1133. gs 'arousal', 'count', 'hidden_vaginal'
  1134. gs 'arousal', 'count', 'vaginal_finger'
  1135. gs 'arousal', 'count', 'vaginal_fist'
  1136. gs 'arousal', 'count', 'vaginal_dildo'
  1137. gs 'arousal', 'count', 'vaginal_strap'
  1138. gs 'arousal', 'count', 'vaginal_vibe'
  1139. gs 'arousal', 'count', 'self_fisting'
  1140. gs 'arousal', 'count', 'BDSM'
  1141. gs 'arousal', 'count', 'pee'
  1142. gs 'arousal', 'count', 'massage'
  1143. gs 'arousal', 'count', 'foreplay_give'
  1144. gs 'arousal', 'count', 'cuni_give'
  1145. gs 'arousal', 'count', 'rimming_give'
  1146. gs 'arousal', 'count', 'anal_finger_give'
  1147. gs 'arousal', 'count', 'anal_fist_give'
  1148. gs 'arousal', 'count', 'anal_dildo_give'
  1149. gs 'arousal', 'count', 'anal_vibe_give'
  1150. gs 'arousal', 'count', 'anal_strap_give'
  1151. gs 'arousal', 'count', 'vaginal_finger_give'
  1152. gs 'arousal', 'count', 'clit_finger_give'
  1153. gs 'arousal', 'count', 'vaginal_fist_give'
  1154. gs 'arousal', 'count', 'vaginal_dildo_give'
  1155. gs 'arousal', 'count', 'vaginal_strap_give'
  1156. gs 'arousal', 'count', 'vaginal_vibe_give'
  1157. gs 'arousal', 'count', 'hj'
  1158. gs 'arousal', 'count', 'hidden_hj'
  1159. gs 'arousal', 'count', 'bj'
  1160. gs 'arousal', 'count', 'hidden_bj'
  1161. gs 'arousal', 'count', 'dildo_suck'
  1162. gs 'arousal', 'count', 'footjob'
  1163. gs 'arousal', 'count', 'hidden_footjob'
  1164. gs 'arousal', 'count', 'titjob'
  1165. gs 'arousal', 'count', 'hidden_titjob'
  1166. gs 'arousal', 'count', 'BDSM_give'
  1167. gs 'arousal', 'count', 'pee_give'
  1168. gs 'arousal', 'count', 'massage_give'
  1169. gs 'arousal', 'count', 'magicd_anal'
  1170. gs 'arousal', 'count', 'magicd_vaginal'
  1171. gs 'arousal', 'count', 'magicd_hj'
  1172. gs 'arousal', 'count', 'magicd_bj'
  1173. gs 'arousal', 'count2', 'flashlite'
  1174. gs 'arousal', 'count2', 'flash'
  1175. gs 'arousal', 'count2', 'voyeur'
  1176. gs 'arousal', 'count2', 'voyeur_sex'
  1177. gs 'arousal', 'count2', 'erotic_nudity'
  1178. !! Thats here because there is currently a variable zoo.
  1179. if zoo > beast['exp']: beast['exp'] = zoo
  1180. if beast['exp'] > zoo: zoo = beast['exp']
  1181. !!
  1182. end
  1183. if $ARGS[0] = 'count':
  1184. if dyneval('RESULT = count[''<<$ARGS[1]>>'']') = 1:
  1185. dynamic 'count[''<<$ARGS[1]>>''] = 0'
  1186. dynamic 'stat[''<<$ARGS[1]>>''] += 1'
  1187. count['flashlite'] = 0
  1188. count['flash'] = 0
  1189. count['voyeur'] = 0
  1190. end
  1191. end
  1192. if $ARGS[0] = 'count2':
  1193. if dyneval('RESULT = count[''<<$ARGS[1]>>'']') = 1:
  1194. dynamic 'count[''<<$ARGS[1]>>''] = 0'
  1195. dynamic 'stat[''<<$ARGS[1]>>''] += 1'
  1196. end
  1197. end
  1198. if $ARGS[0] = 'checks':
  1199. if dyneval('RESULT = stim[''<<$ARGS[1]>>'']') = 1:
  1200. dynamic 'stim[''<<$ARGS[1]>>''] = 0'
  1201. dynamic '<<$ARGS[1]>>[''exp''] += 1'
  1202. end
  1203. end
  1204. !!The auto lube application
  1205. !!to use enter gs 'arousal', 'auto_lube', 'anal' or 'vag'
  1206. !!add 'custom' to display a custom or no text by setting $lube_txt, if $lube_txt is '' no text will be displayed
  1207. if $ARGS[0] = 'auto_lube':
  1208. if $ARGS[1] = 'anal' and auto_anal_lube = 1 and anal_slip < 8 + pain['asshole']/2 - pcs_ass:
  1209. if mc_inventory['lubricant'] > 0:
  1210. if $ARGS[2] ! 'custom':
  1211. 'You rub some lube in and around your anus.'
  1212. elseif $lube_txt ! '':
  1213. $lube_txt
  1214. end
  1215. gs 'arousal', 'anal_finger', 1
  1216. anal_slip += 8
  1217. ar_anal_lube = 1
  1218. mc_inventory['lubricant'] -= 1
  1219. elseif $ARGS[2] ! 'custom' or ($ARGS[2] = 'custom' and $lube_txt ! ''):
  1220. 'You do not have any lube left so cannot use it during this sex act.'
  1221. end
  1222. end
  1223. if $ARGS[1] = 'vag' and auto_vag_lube = 1 and vaginal_slip < 8 + pain['vaginal']/2 - pcs_vag:
  1224. if mc_inventory['lubricant'] > 0:
  1225. if $ARGS[2] ! 'custom':
  1226. 'You rub some lube in and around your vagina.'
  1227. elseif $lube_txt ! '':
  1228. $lube_txt
  1229. end
  1230. gs 'arousal', 'vaginal_finger', 1
  1231. vaginal_slip += 8
  1232. ar_vag_lube = 1
  1233. mc_inventory['lubricant'] -= 1
  1234. elseif $ARGS[2] ! 'custom' or ($ARGS[2] = 'custom' and $lube_txt ! ''):
  1235. 'You do not have any lube left so cannot use it during this sex act.'
  1236. end
  1237. end
  1238. killvar '$lube_txt'
  1239. end
  1240. --- arousal ---------------------------------