arousal.qsrc 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974
  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 toungue
  16. 'rimming' - stimulation of your anus by someones toungue
  17. 'vaginal' 'vaginal_finger' 'vaginal_fist' 'vaginal_dildo' 'vaginal_strap' 'vaginal_vibe' - stimulation of your vagina with a penis and various others
  18. 'anal' 'anal_finger' 'anal_fist' 'anal_dildo' 'anal_strap' 'anal_vibe' - stimulation of your anus with a penis and various others
  19. 'kiss' - snogging, tonsil tennis, lip locking, etc.
  20. 'BDSM' - receiving candle wax, flogging, leash play, bondage etc
  21. 'pee' - being peed upon
  22. also when giving any of the following:
  23. 'flashlite' - flashing underwear
  24. 'flash' - flashing naked breasts/arse/vagina
  25. 'massage_give' - rubbing their body, back, feet, etc. with your hands/arms
  26. 'cuni_give' - stimulating someones pussy with your toungue
  27. 'rimming_give' - stimulating someones anus with your toungue
  28. 'vaginal_finger_give' 'vaginal_fist_give' 'vaginal_dildo_give' 'vaginal_strap_give' 'vaginal_vibe_give' - stimulating someones vagina in various ways
  29. 'anal_finger_give' 'anal_fist_give' 'anal_dildo_give' 'anal_vibe_give' 'anal_strap_give' - stimulating someones anus in various ways
  30. 'hj' - jerking a guy off with your hand
  31. 'bj' - sucking a guy off
  32. 'titjob' - using boobs to jerk off a guy
  33. 'footjob' - using feet to jerk off a guy
  34. 'BDSM_give' - giving candle wax, flogging, leash play, bondage etc
  35. 'pee_give' - peeing on somone
  36. finally
  37. 'foreplay' - receiving other stuff
  38. 'foreplay_give' - giving other stuff
  39. 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.
  40. $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
  41. The variables used can be set by calling boyStat e.g. gs 'boyStat', 'A75', 'a' will set dick1 for NPC A75
  42. $ARGS[2] - [8] Are optional but can be upto 7 themes involved in the act and can be any of the following:
  43. 'maso' 'bound' 'beast' 'exhibitionism' 'rough' 'prostitution' 'dom' 'sub' 'incest' 'feet' 'lesbian' 'group' 'gangbang' 'humiliation' 'deepthroat' 'unknown' 'gloryhole' 'rape' 'futa' 'masturbate'
  44. Only check masturbation if it is the only means of stimulation Sveta can cum from in the whole scene
  45. Format to use: gs 'arousal', 'act', 'duration', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish', 'fetish'
  46. eg: gs 'arousal', 'trib', 10, 'bound', 'sub'
  47. In this case lesbianism is automatically added, much as feet would be applied to 'footjob'
  48. 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.
  49. 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.
  50. The lubrication is binded with anal or vaginal action. I think that the best combo is with 'anal_finger' and 'vaginal_finger'
  51. Only call one at a time, if more required, use multiple calls
  52. 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!
  53. 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
  54. You can override the orgasm to force or prevent, to do so use:
  55. $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
  56. $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
  57. $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 can trigger
  58. $orgasm_or = 'no' to prevent orgasm, it will remain in place until manually changed, or if end is called.
  59. $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.
  60. }
  61. temp_unaware = 0
  62. !!turns orgasm text off, there will be no confirmation that Sveta has orgasmed
  63. temp_text = 0
  64. !!orgasms restricted to direct stimulation using this flag
  65. killvar 'orgasm_flag'
  66. if $ARGS[0] ! 'end' and $ARGS[0] ! 'checks' and $ARGS[0] ! 'count' and $ARGS[0] ! 'count2':
  67. if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'unaware') > 0:
  68. temp_unaware = 1
  69. end
  70. if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'no_orgasm_msg') > 0:
  71. temp_text = 1
  72. end
  73. if mid($ARGS[2],1,4) = 'dick':
  74. temp_dick = dyneval('result='+$ARGS[2])
  75. temp_silavag = dyneval('result=silavag'+mid($ARGS[2],5,len($ARGS[2])-4))
  76. $temp_dick_girth = dyneval('$result=$dick_girth'+mid($ARGS[2],5,len($ARGS[2])-4))
  77. else
  78. temp_dick = dick
  79. temp_silavag = silavag
  80. $temp_dick_girth = $dick_girth
  81. end
  82. if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'rough')+strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'beast') > 0: temp_silavag = 0
  83. grange = dyneval('result=strpos(''skinny slimx well pr thicker thickx massive monstrous'',$ARGS[0])',mid($temp_dick_girth+'x',1,6))/2
  84. !! first let us determine how slippery are pc''s holes
  85. if vaginal_slip < pcs_horny / 10: vaginal_slip = pcs_horny / 10
  86. if strpos($ARGS[2]+$ARGS[3]+$ARGS[4]+$ARGS[5]+$ARGS[6]+ $ARGS[7]+ $ARGS[8],'lube') > 0:
  87. if ar_anal_lube = 0:
  88. if mid($ARGS[0],1,4) = 'anal':
  89. anal_slip = 8
  90. ar_anal_lube = 1
  91. end
  92. end
  93. if ar_vag_lube = 0:
  94. if mid($ARGS[0],1,4) = 'vagi':
  95. vaginal_slip = 8
  96. ar_vag_lube = 1
  97. end
  98. end
  99. end
  100. !! This is to allow a Succubus with the right skill level to handle any size then go back to original size
  101. if succubusflag = 1 and sucskill >= 4:
  102. if mid($ARGS[0],1,4) = 'vagi' and temp_dick ! pcs_vag:
  103. if temp_dick < pcs_vag - 5 or temp_dick > pcs_vag + 5: pcs_mood -= 10
  104. if sucvagorg = 0: sucvagorg = pcs_vag
  105. pcs_vag = temp_dick
  106. end
  107. if mid($ARGS[0],1,4) = 'anal' and temp_dick ! pcs_ass:
  108. if temp_dick < pcs_ass - 5 or temp_dick > pcs_ass + 5: pcs_mood -= 10
  109. if sucanusorg = 0: sucanusorg = pcs_ass
  110. pcs_ass = temp_dick
  111. end
  112. end
  113. !!set a magnitude as a random
  114. stim['mag'] = rand(0,3) + rand(0,3) + rand(0,3)
  115. !!add count and effects due to action
  116. if $ARGS[0] = 'clit_finger':
  117. orgasm_flag['clit'] = 1
  118. count['clit_finger'] = 1
  119. stim['mag'] += 6
  120. stim['act'] = 100
  121. elseif $ARGS[0] = 'clit_vibe':
  122. orgasm_flag['clit'] = 1
  123. count['clit_vibe'] = 1
  124. stim['mag'] += 2
  125. stim['act'] = 75
  126. elseif $ARGS[0] = 'porn':
  127. count['porn'] = 1
  128. stim['act'] = 25
  129. elseif $ARGS[0] = 'voyeur':
  130. count['voyeur'] = 1
  131. stim['act'] = 20
  132. elseif $ARGS[0] = 'voyeur_sex':
  133. count['voyeur_sex'] = 1
  134. stim['act'] = 35
  135. elseif $ARGS[0] = 'erotic':
  136. stim['act'] = 5
  137. elseif $ARGS[0] = 'erotic_nudity':
  138. stim['act'] = 5
  139. count['erotic_nudity'] = 1
  140. elseif $ARGS[0] = 'kiss':
  141. count['kiss'] = 1
  142. stim['act'] = 10
  143. !! elseif $ARGS[0] = 'breasts':
  144. !! stim['act'] = 30
  145. !! !! 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.
  146. !! milkedvolume += func('lact_lib','$get_breastmilk', 8, ARGS[1])
  147. elseif $ARGS[0] = 'massage':
  148. count['massage'] = 1
  149. stim['act'] = 25
  150. elseif $ARGS[0] = 'foreplay':
  151. count['foreplay'] = 1
  152. stim['act'] = 20
  153. elseif $ARGS[0] = 'cuni':
  154. orgasm_flag['vaginal'] = 1
  155. count['cuni'] = 1
  156. stim['mag'] += 4
  157. stim['act'] = 80
  158. elseif $ARGS[0] = 'rimming':
  159. orgasm_flag['anal'] = 1
  160. count['rimming'] = 1
  161. stim['act'] = 30
  162. if traits['buttslut_lvl'] = 1:
  163. stim['mag'] += 2
  164. stim['act'] = 50
  165. elseif traits['buttslut_lvl'] >= 2:
  166. stim['mag'] += 4
  167. stim['act'] = 80
  168. end
  169. elseif $ARGS[0] = 'trib':
  170. orgasm_flag['vaginal'] = 1
  171. count['trib'] = 1
  172. stim['mag'] += 3
  173. stim['act'] = 70
  174. stim_les = 1
  175. elseif $ARGS[0] = 'anal':
  176. orgasm_flag['anal'] = 1
  177. if temp_unaware = 1:
  178. count['hidden_anal'] = 1
  179. else
  180. count['anal'] = 1
  181. end
  182. if traits['buttslut_lvl'] = 1:
  183. stim['mag'] += 1
  184. elseif traits['buttslut_lvl'] >= 2:
  185. stim['mag'] += 3
  186. end
  187. if pcs_ass < temp_dick:pcs_ass += 1
  188. if pcs_ass*2 < temp_dick:pcs_ass += 1
  189. !! length and girth abilities of anus are not also separated , but I suppose that they are related although it is not propable
  190. !! we can estimate difference in girth and length anal_girth_difference and anal_lenght_difference - names are shortened
  191. altdif = temp_dick - pcs_ass
  192. agrdif = grange - pcs_ass
  193. !! negative influence of the difference can be reduced by sex skill and also by lubricant
  194. !! I made it as simply as possible so you do not complain about reality, feel free to modify the algorithm
  195. !! when the boy is skilled, he can compensate the difference partly
  196. altdif = altdif / (temp_silavag+1)
  197. agrdif = agrdif *(5/4 - 1/(4 - temp_silavag))
  198. !! when the boy is skilled, he does not harm PC with his long dick
  199. if (temp_silavag = 2) and (altdif > 0): altdif = 0
  200. !! lube can compensate the difference a bit
  201. if -agrdif > anal_slip: agrdif = agrdif + anal_slip else if agrdif < 0: agrdif = 0
  202. if agrdif > anal_slip: agrdif = agrdif - anal_slip else if agrdif > 0: agrdif = 0
  203. stim['act'] = 80 - (iif(altdif>0,altdif,-altdif) + iif(agrdif >0,agrdif,-agrdif)) + temp_silavag*8
  204. !! if the dick is smaller, it cannot harm PC
  205. if agrdif < 0: agrdif = 0
  206. if altdif < 0: altdif = 0
  207. !! calculate the harm
  208. agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
  209. !! the pain lover the pleasure
  210. gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
  211. stim['act'] = stim['act'] - (agrdif + altdif)
  212. elseif $ARGS[0] = 'anal_finger':
  213. orgasm_flag['anal'] = 1
  214. count['anal_finger'] = 1
  215. stim['act'] = 40
  216. if traits['buttslut_lvl'] = 1:
  217. stim['mag'] += 1
  218. stim['act'] = 60
  219. elseif traits['buttslut_lvl'] >= 2:
  220. stim['mag'] += 1
  221. stim['act'] = 80
  222. end
  223. elseif $ARGS[0] = 'anal_fist':
  224. orgasm_flag['anal'] = 1
  225. count['anal_fist'] = 1
  226. stim['act'] = 30
  227. if traits['buttslut_lvl'] = 1:
  228. stim['act'] = 50
  229. elseif traits['buttslut_lvl'] >= 2:
  230. stim['act'] = 70
  231. end
  232. if pcs_ass + anal_slip < 30:
  233. pcs_ass = 30
  234. gs 'pain', 4-agape, 'asshole', 'stretch'
  235. if agape < 3:agape = 3
  236. end
  237. elseif $ARGS[0] = 'anal_dildo':
  238. orgasm_flag['anal'] = 1
  239. count['anal_dildo'] = 1
  240. !! the same as for 'anal'
  241. if pcs_ass < temp_dick:pcs_ass += 1
  242. if pcs_ass*2 < temp_dick:pcs_ass += 1
  243. altdif = temp_dick - pcs_ass
  244. agrdif = grange - pcs_ass
  245. altdif = altdif / (temp_silavag+1)
  246. agrdif = agrdif *(5/4 - 1/(4 - temp_silavag))
  247. if (temp_silavag = 2) and (altdif > 0): altdif = 0
  248. if agrdif > anal_slip: agrdif = agrdif - anal_slip else if agrdif > 0: agrdif = 0
  249. if -agrdif > anal_slip: agrdif = agrdif + anal_slip else if agrdif < 0: agrdif = 0
  250. stim['act'] = 80 - (iif(altdif>0,altdif,-altdif) + iif(agrdif >0,agrdif,-agrdif)) + temp_silavag*8
  251. if traits['buttslut_lvl'] = 1:
  252. stim['act'] += 10
  253. elseif traits['buttslut_lvl'] >= 2:
  254. stim['mag'] += 1
  255. end
  256. if agrdif < 0: agrdif = 0
  257. if altdif < 0: altdif = 0
  258. agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
  259. gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
  260. stim['act'] = stim['act'] - (agrdif + altdif)
  261. elseif $ARGS[0] = 'anal_strap':
  262. orgasm_flag['anal'] = 1
  263. count['anal_strap'] = 1
  264. !! the same as for 'anal'
  265. if pcs_ass < temp_dick:pcs_ass += 1
  266. if pcs_ass*2 < temp_dick:pcs_ass += 1
  267. altdif = temp_dick - pcs_ass
  268. agrdif = grange - pcs_ass
  269. altdif = altdif / (temp_silavag+1)
  270. agrdif = agrdif *(5/4 - 1/(4 - temp_silavag))
  271. if (temp_silavag = 2) and (altdif > 0): altdif = 0
  272. if agrdif > anal_slip: agrdif = agrdif - anal_slip else if agrdif > 0: agrdif = 0
  273. if -agrdif > anal_slip: agrdif = agrdif + anal_slip else if agrdif < 0: agrdif = 0
  274. stim['act'] = 80 - (iif(altdif>0,altdif,-altdif) + iif(agrdif >0,agrdif,-agrdif)) + temp_silavag*8
  275. if traits['buttslut_lvl'] = 1:
  276. stim['act'] += 10
  277. elseif traits['buttslut_lvl'] >= 2:
  278. stim['mag'] += 1
  279. end
  280. if agrdif < 0: agrdif = 0
  281. if altdif < 0: altdif = 0
  282. agape = iif((agrdif + altdif) > 10*agape,(agrdif + altdif)/10,agape)
  283. gs 'pain', (agrdif + altdif)/5 , 'asshole', 'stretch'
  284. stim['act'] = stim['act'] - (agrdif + altdif)
  285. elseif $ARGS[0] = 'anal_vibe':
  286. orgasm_flag['anal'] = 1
  287. count['anal_vibe'] = 1
  288. stim['mag'] += 1
  289. stim['act'] = 60
  290. if traits['buttslut_lvl'] = 1:
  291. stim['mag'] += 1
  292. stim['act'] = 70
  293. elseif traits['buttslut_lvl'] >= 2:
  294. stim['mag'] += 2
  295. stim['act'] = 90
  296. end
  297. elseif $ARGS[0] = 'vaginal':
  298. orgasm_flag['vaginal'] = 1
  299. !! pre-cum check
  300. if rand(0,120) < ARGS[1]: cumprecheck = 1 & gs 'cum_manage'
  301. if temp_unaware = 1:
  302. count['hidden_vaginal'] = 1
  303. else
  304. count['vaginal'] = 1
  305. end
  306. stim['mag'] += 3
  307. !! This section deals with pcs_vag if she still thinks she is virgin. There are many instances where virginity is
  308. !! checked via pcs_vag = 0, so for the time being i will not adjust pcs_vag if she believes.
  309. if temp_unaware = 0 or count['vaginal'] > 0:
  310. if pcs_vag < dick:pcs_vag += 1
  311. if pcs_vag*2 < dick:pcs_vag += 1
  312. else
  313. if pcs_vag < dick:pcs_hidden_vag += 1
  314. if pcs_vag*2 < dick:pcs_hidden_vag += 1
  315. end
  316. !! length and girth abilities of vagina are not separated , but I suppose that they are related
  317. !! we can estimate difference in girth and length vaginal_girth_difference and vaginal_lenght_difference - names are shortened
  318. vgrdif = grange - pcs_vag
  319. vltdif = temp_dick - pcs_vag
  320. !! negative influence of the difference can be reduced by sex skill and also by PCs horniness, using of a lubricant is not established yet
  321. !! I made it as simply as possible so you do not complain about reality, feel free to modify the algorithm
  322. !! when the boy is skilled, he can compensate the difference partly
  323. vltdif = vltdif / (temp_silavag+1)
  324. vgrdif = vgrdif *(5/4 - 1/(4 - temp_silavag))
  325. !! when the boy is skilled, he does not harm PC with his long dick
  326. if (temp_silavag = 2) and (vltdif > 0): vltdif = 0
  327. !! even PC horniness can compensate the difference
  328. if vgrdif > vaginal_slip: vgrdif = vgrdif - vaginal_slip else if (vgrdif > 0): vgrdif = 0
  329. if -1*vgrdif > vaginal_slip: vgrdif = vgrdif + vaginal_slip else if (vgrdif < 0): vgrdif = 0
  330. stim['act'] = 80 - (iif(vltdif>0,vltdif,-vltdif) + iif(vgrdif >0,vgrdif,-vgrdif)) + temp_silavag*8
  331. !! if the dick is smaller, it cannot harm PC
  332. if vgrdif < 0: vgrdif = 0
  333. if vltdif < 0: vltdif = 0
  334. !! calculate the harm
  335. vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
  336. !! the pain lover the pleasure
  337. gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
  338. stim['act'] = stim['act'] - (vgrdif + vltdif)
  339. elseif $ARGS[0] = 'vaginal_finger':
  340. orgasm_flag['vaginal'] = 1
  341. count['vaginal_finger'] = 1
  342. stim['mag'] += 1
  343. stim['act'] = 80
  344. elseif $ARGS[0] = 'vaginal_fist':
  345. orgasm_flag['vaginal'] = 1
  346. count['vaginal_fist'] = 1
  347. stim['act'] = 70
  348. if pcs_vag + vaginal_slip < 30:
  349. !! same as for 'vaginal'
  350. if temp_unaware = 0 or count['vaginal'] > 0:
  351. pcs_vag += 3
  352. else
  353. pcs_hidden_vag += 3
  354. end
  355. gs 'pain', 3 - vgape, 'vaginal', 'stretch'
  356. if vgape < 3:vgape = 3
  357. end
  358. elseif $ARGS[0] = 'vaginal_dildo':
  359. orgasm_flag['vaginal'] = 1
  360. count['vaginal_dildo'] = 1
  361. stim['mag'] += 1
  362. !! the same as for 'vaginal'
  363. if pcs_vag < temp_dick:pcs_vag += 1
  364. if pcs_vag*2 < temp_dick:pcs_vag += 1
  365. vgrdif = grange - pcs_vag
  366. vltdif = temp_dick - pcs_vag
  367. vltdif = vltdif / (temp_silavag+1)
  368. vgrdif = vgrdif *(5/4 - 1/(4 - temp_silavag))
  369. if (temp_silavag = 2) and (vltdif > 0): vltdif = 0
  370. if vgrdif > vaginal_slip: vgrdif = vgrdif - vaginal_slip else if (vgrdif > 0): vgrdif = 0
  371. if -1*vgrdif > vaginal_slip: vgrdif = vgrdif + vaginal_slip else if (vgrdif < 0): vgrdif = 0
  372. stim['act'] = 80 - (iif(vltdif>0,vltdif,-vltdif) + iif(vgrdif >0,vgrdif,-vgrdif)) + temp_silavag*8
  373. if vgrdif < 0: vgrdif = 0
  374. if vltdif < 0: vltdif = 0
  375. vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
  376. gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
  377. stim['act'] = stim['act'] - (vgrdif + vltdif)
  378. elseif $ARGS[0] = 'vaginal_strap':
  379. orgasm_flag['vaginal'] = 1
  380. count['vaginal_strap'] = 1
  381. stim['mag'] += 1
  382. !! virginal capacity increase
  383. if pcs_vag < temp_dick:pcs_vag += 1
  384. if pcs_vag*2 < temp_dick:pcs_vag += 1
  385. !! the same as for 'vaginal'
  386. vgrdif = grange - pcs_vag
  387. vltdif = temp_dick - pcs_vag
  388. vltdif = vltdif / (temp_silavag+1)
  389. vgrdif = vgrdif *(5/4 - 1/(4 - temp_silavag))
  390. if (temp_silavag = 2) and (vltdif > 0): vltdif = 0
  391. if vgrdif > vaginal_slip: vgrdif = vgrdif - vaginal_slip else if (vgrdif > 0): vgrdif = 0
  392. if -1*vgrdif > vaginal_slip: vgrdif = vgrdif + vaginal_slip else if (vgrdif < 0): vgrdif = 0
  393. stim['act'] = 80 - (iif(vltdif>0,vltdif,-vltdif) + iif(vgrdif >0,vgrdif,-vgrdif)) + temp_silavag*8
  394. if vgrdif < 0: vgrdif = 0
  395. if vltdif < 0: vltdif = 0
  396. vgape = iif((vgrdif + vltdif) > 10*vgape,(vgrdif + vltdif)/10,vgape)
  397. gs 'pain', (vgrdif + vltdif)/5 , 'vaginal', 'stretch'
  398. stim['act'] = stim['act'] - (vgrdif + vltdif)
  399. elseif $ARGS[0] = 'vaginal_vibe':
  400. orgasm_flag['vaginal'] = 1
  401. count['vaginal_vibe'] = 1
  402. stim['mag'] += 2
  403. stim['act'] = 90
  404. elseif $ARGS[0] = 'flashlite':
  405. count['flashlite'] = 1
  406. stim['act'] = 10
  407. elseif $ARGS[0] = 'flash':
  408. count['flash'] = 1
  409. stim['act'] = 30
  410. elseif $ARGS[0] = 'BDSM':
  411. count['BDSM'] = 1
  412. stim['act'] = 20
  413. elseif $ARGS[0] = 'pee':
  414. count['pee'] = 1
  415. stim['act'] = 10
  416. elseif $ARGS[0] = 'massage_give':
  417. count['massage_give'] = 1
  418. stim['act'] = 10
  419. elseif $ARGS[0] = 'foreplay_give':
  420. count['foreplay_give'] = 1
  421. stim['act'] = 20
  422. elseif $ARGS[0] = 'cuni_give':
  423. count['cuni_give'] = 1
  424. stim['act'] = 30
  425. stim_les = 1
  426. elseif $ARGS[0] = 'rimming_give':
  427. count['rimming_give'] = 1
  428. stim['act'] = 25
  429. elseif $ARGS[0] = 'anal_finger_give':
  430. count['anal_finger_give'] = 1
  431. stim['act'] = 40
  432. elseif $ARGS[0] = 'anal_fist_give':
  433. count['anal_fist_give'] = 1
  434. stim['act'] = 30
  435. elseif $ARGS[0] = 'anal_dildo_give':
  436. count['anal_dildo_give'] = 1
  437. stim['act'] = 40
  438. elseif $ARGS[0] = 'anal_vibe_give':
  439. count['anal_vibe_give'] = 1
  440. stim['act'] = 40
  441. elseif $ARGS[0] = 'anal_strap_give':
  442. count['anal_strap_give'] = 1
  443. stim['act'] = 40
  444. elseif $ARGS[0] = 'vaginal_finger_give':
  445. count['vaginal_finger_give'] = 1
  446. stim['act'] = 60
  447. stim_les = 1
  448. elseif $ARGS[0] = 'vaginal_fist_give':
  449. count['vaginal_fist_give'] = 1
  450. stim['act'] = 50
  451. stim_les = 1
  452. elseif $ARGS[0] = 'vaginal_dildo_give':
  453. count['vaginal_dildo_give'] = 1
  454. stim['act'] = 60
  455. stim_les = 1
  456. elseif $ARGS[0] = 'vaginal_strap_give':
  457. count['vaginal_strap_give'] = 1
  458. stim['act'] = 70
  459. stim_les = 1
  460. elseif $ARGS[0] = 'vaginal_vibe_give':
  461. count['vaginal_vibe_give'] = 1
  462. stim['act'] = 60
  463. stim_les = 1
  464. elseif $ARGS[0] = 'hj':
  465. if temp_unaware = 1:
  466. count['hidden_hj'] = 1
  467. else
  468. count['hj'] = 1
  469. end
  470. stim['act'] = 25
  471. elseif $ARGS[0] = 'bj':
  472. if temp_unaware = 1:
  473. count['hidden_bj'] = 1
  474. else
  475. count['bj'] = 1
  476. end
  477. stim['act'] = 45
  478. if temp_dick > pcs_throat: pcs_throat += 1
  479. elseif $ARGS[0] = 'footjob':
  480. if temp_unaware = 1:
  481. count['hidden_footjob'] = 1
  482. else
  483. count['footjob'] = 1
  484. end
  485. stim['act'] = 25
  486. stim_foot = 1
  487. elseif $ARGS[0] = 'titjob':
  488. if temp_unaware = 1:
  489. count['hidden_titjob'] = 1
  490. else
  491. count['titjob'] = 1
  492. end
  493. stim['act'] = 45
  494. stim_titjob = 1
  495. elseif $ARGS[0] = 'BDSM_give':
  496. count['BDSM_give'] = 1
  497. stim['act'] = 20
  498. elseif $ARGS[0] = 'pee_give':
  499. count['pee_give'] = 1
  500. stim['act'] = 10
  501. end
  502. !! anal acts
  503. if (mid($ARGS[0],1,4) = 'anal' and mid($ARGS[0],len($ARGS[0])-3,len($ARGS[0])) ! 'give') or $ARGS[0] = 'rimming':
  504. if traits['buttslut_lvl'] = 3:
  505. stim['act'] += 20
  506. end
  507. end
  508. if stim['mag'] > 9: stim['mag'] = 9
  509. if ARGS[1] > 0: minut += ARGS[1]
  510. stim['time'] = iif(ARGS[1]>0,ARGS[1],-ARGS[1])
  511. !!Adds effects due to sexual perversions
  512. stim['kinkno'] = 0
  513. stim['kink'] = 0
  514. !! Auto adding of lesbian and foot fetishes for acts that must involve them
  515. if stim_les = 1:
  516. stim['kink'] += lesbian['exp']
  517. stim['pref'] += lesbian['pref']
  518. stim['kinkno'] += 1
  519. if temp_unaware = 1:
  520. stim['hidden_lesbian'] = 1
  521. else
  522. stim['lesbian'] = 1
  523. end
  524. end
  525. if stim_foot = 1:
  526. stim['kink'] += feet['exp']
  527. stim['pref'] += feet['pref']
  528. stim['kinkno'] += 1
  529. stim['feet'] = 1
  530. end
  531. if $ARGS[1] ! 'porn' and $ARGS[1] ! 'voyeur' and $ARGS[1] ! 'erotic':
  532. i = 2
  533. :stimloop
  534. if $ARGS[i] ! '':
  535. !!Skipping lesbian and foot where auto added to avoid duplication
  536. if stim_les = 1 and $ARGS[i] = 'lesbian':i += 1 & jump 'stimloop'
  537. if stim_foot = 1 and $ARGS[i] = 'feet':i += 1 & jump 'stimloop'
  538. if $ARGS[i] = 'bound':
  539. stim['kink'] += bound['exp']
  540. stim['pref'] += bound['pref']
  541. stim['kinkno'] += 1
  542. stim['bound'] = 1
  543. elseif $ARGS[i] = 'beast':
  544. stim['kink'] += beast['exp']
  545. stim['pref'] += beast['pref']
  546. stim['kinkno'] += 1
  547. stim['beast'] = 1
  548. elseif $ARGS[i] = 'exhibitionism':
  549. stim['kink'] += exhibitionism['exp']
  550. stim['pref'] += exhibitionism['pref']
  551. inhib_exp += rand(2,6)
  552. stim['kinkno'] += 1
  553. stim['exhibitionism'] = 1
  554. elseif $ARGS[i] = 'rough':
  555. stim['kink'] += rough['exp']
  556. stim['pref'] += rough['pref']
  557. stim['kinkno'] += 1
  558. stim['rough'] = 1
  559. elseif $ARGS[i] = 'prostitution':
  560. stim['kink'] += prostitution['exp']
  561. stim['pref'] += prostitution['pref']
  562. stim['kinkno'] += 1
  563. if temp_unaware = 1:
  564. stim['hidden_prostitution'] = 1
  565. else
  566. stim['prostitution'] = 1
  567. end
  568. elseif $ARGS[i] = 'dom':
  569. stim['kink'] += dom['exp']
  570. stim['pref'] += dom['pref']
  571. stim['kinkno'] += 1
  572. stim['dom'] = 1
  573. elseif $ARGS[i] = 'sub':
  574. stim['kink'] += sub['exp']
  575. stim['pref'] += sub['pref']
  576. stim['kinkno'] += 1
  577. stim['sub'] = 1
  578. elseif $ARGS[i] = 'incest':
  579. stim['kink'] += incest['exp']
  580. stim['pref'] += incest['pref']
  581. stim['kinkno'] += 1
  582. stim['incest'] = 1
  583. elseif $ARGS[i] = 'feet':
  584. stim['kink'] += feet['exp']
  585. stim['pref'] += feet['pref']
  586. stim['kinkno'] += 1
  587. stim['feet'] = 1
  588. elseif $ARGS[i] = 'lesbian':
  589. stim['kink'] += lesbian['exp']
  590. stim['pref'] += lesbian['pref']
  591. stim['kinkno'] += 1
  592. if temp_unaware = 1:
  593. stim['hidden_lesbian'] = 1
  594. else
  595. stim['lesbian'] = 1
  596. end
  597. elseif $ARGS[i] = 'group':
  598. stim['kink'] += group['exp']
  599. stim['pref'] += group['pref']
  600. stim['kinkno'] += 1
  601. if temp_unaware = 1:
  602. stim['hidden_group'] = 1
  603. else
  604. stim['group'] = 1
  605. end
  606. elseif $ARGS[i] = 'gangbang':
  607. stim['kink'] += gang['exp']
  608. stim['pref'] += gang['pref']
  609. stim['kinkno'] += 1
  610. if temp_unaware = 1:
  611. stim['hidden_gang'] = 1
  612. else
  613. stim['gang'] = 1
  614. end
  615. elseif $ARGS[i] = 'humiliation':
  616. stim['kink'] += humiliation['exp']
  617. stim['pref'] += humiliation['pref']
  618. stim['kinkno'] += 1
  619. stim['humiliation'] = 1
  620. elseif $ARGS[i] = 'maso':
  621. stim['kink'] += maso['exp']
  622. stim['pref'] += maso['pref']
  623. stim['kinkno'] += 1
  624. stim['maso'] = 1
  625. elseif $ARGS[i] = 'deepthroat':
  626. stim['kink'] += deepthroat['exp']
  627. stim['pref'] += deepthroat['pref']
  628. stim['kinkno'] += 1
  629. stim['deepthroat'] = 1
  630. !!unknown is for sex with an unknown partner, this could be a gloryhole or unconscious
  631. elseif $ARGS[i] = 'unknown':
  632. stim['kink'] += unknown['exp']
  633. stim['pref'] += unknown['pref']
  634. stim['kinkno'] += 1
  635. stim['unknown'] = 1
  636. elseif $ARGS[i] = 'gloryhole':
  637. stim['kink'] += gloryhole['exp']
  638. stim['pref'] += gloryhole['pref']
  639. stim['kinkno'] += 1
  640. if temp_unaware = 1:
  641. stim['hidden_gloryhole'] = 1
  642. else
  643. stim['gloryhole'] = 1
  644. end
  645. elseif $ARGS[i] = 'rape':
  646. stim['kink'] += rape['exp']
  647. stim['pref'] += rape['pref']
  648. stim['kinkno'] += 1
  649. rapeday = daystart
  650. if temp_unaware = 1:
  651. stim['hidden_rape'] = 1
  652. else
  653. stim['rape'] = 1
  654. end
  655. elseif $ARGS[i] = 'futa':
  656. stim['kink'] += futa['exp']
  657. stim['pref'] += futa['pref']
  658. stim['kinkno'] += 1
  659. if temp_unaware = 1:
  660. stim['hidden_futa'] = 1
  661. else
  662. stim['futa'] = 1
  663. end
  664. elseif $ARGS[i] = 'masturbate':
  665. stim['kink'] += masturbate['exp']
  666. stim['pref'] += masturbate['pref']
  667. stim['kinkno'] += 1
  668. orgasm_flag['masturbate'] = 1
  669. end
  670. i += 1
  671. jump 'stimloop'
  672. end
  673. end
  674. !!Fetishes are divided by total number of fetishes
  675. if stim['kinkno'] ! 0:
  676. stim['kink'] = stim['kink']/stim['kinkno']
  677. stim['pref'] = (stim['pref']/stim['kinkno'])
  678. stim['kinkno'] = 0
  679. end
  680. !!Bonus from fetishes, randomised chance for each level of bonus
  681. if rand(0,100) < stim['kink']:
  682. stim['kink'] = 120
  683. elseif rand(0,80) < stim['kink']:
  684. stim['kink'] = 110
  685. elseif rand(0,60) < stim['kink']:
  686. stim['kink'] = 100
  687. elseif rand(0,40) < stim['kink']:
  688. stim['kink'] = 90
  689. else
  690. stim['kink'] = 80
  691. end
  692. !!arousal calculation
  693. stim['total'] = ((stim['mag']*stim['act']*stim['kink']/100) + stim['pref'])*stim['time'] / 120
  694. !!Reduction in arousal linked to pain, masochism helps to deal with this
  695. if pain['total'] > 0:
  696. if maso['pref'] <= 0 and pain['total'] < 50:
  697. if pain['total'] - (maso['exp'] + 1 / 6) > 0:stim['total'] -= (pain['total'] - (maso['exp'] / 6))
  698. elseif maso['pref'] < 25 and pain['total'] < 55:
  699. stim['total'] += (pain['total'] * maso['exp'] +1 / 400)/60*stim['time']
  700. elseif maso['pref'] < 50 and pain['total'] < 70:
  701. stim['total'] += (pain['total'] * maso['exp'] + 1 / 300)/60*stim['time']
  702. elseif maso['pref'] < 75 and pain['total'] < 85:
  703. stim['total'] += (pain['total'] * maso['exp'] + 1 / 200)/60*stim['time']
  704. elseif maso['pref'] >= 75:
  705. stim['total'] += (pain['total'] * maso['exp'] + 1 / 100)/60*stim['time']
  706. else
  707. stim['total'] = 0
  708. end
  709. end
  710. stim['event'] += stim['total']
  711. pcs_horny += stim['total']
  712. !! This is to allow a Succubus with the right skill level to handle any size then go back to original size
  713. if sucvagorg ! 0 and sucvagorg ! pcs_vag: pcs_vag = sucvagorg & killvar 'sucvagorg'
  714. if sucanusorg ! 0 and sucanusorg ! pcs_ass: pcs_ass = sucanusorg & killvar 'sucanusorg'
  715. !!-------------------Orgasm-------------------
  716. !!This is intended to be hidden and the stats and calculations should not appear in game.
  717. if orgasm_flag['vaginal'] = 1 or orgasm_flag['anal'] = 1 or orgasm_flag['clit'] = 1 or orgasm_flag['masturbate'] = 1: orgasm_flag['trigger'] = 1
  718. if orgasm_flag['trigger'] ! 0: nymphosex_flag = 1
  719. orgasm_buildup += stim['total']
  720. !! This is determining if Sveta will orgasm
  721. if $orgasm_or ! 'no' and $ARGS[0] ! 'flashlite' and $ARGS[0] ! 'flash' and orgasm_flag['trigger'] ! 0:
  722. if $orgasm_or = 'yes' or $orgasm_or = 'custom':
  723. gs 'orgasm', $ARGS[0]
  724. elseif orgasm_buildup >= 100 and stim['total'] > 10 and rand(1,100) <= 20:
  725. gs 'orgasm', $ARGS[0]
  726. elseif orgasm_buildup >= 150 and stim['total'] > 6 and rand(1,100) <= 50:
  727. gs 'orgasm', $ARGS[0]
  728. elseif orgasm_buildup >= 200 and stim['total'] > 4:
  729. gs 'orgasm', $ARGS[0]
  730. end
  731. end
  732. !!This is release is Sveta is so horny and pent up that she can cum with minimal stimulation
  733. if $orgasm_or ! 'no' and orgasm_buildup >= 300 and pcs_horny >= 60: gs 'orgasm', $ARGS[0]
  734. !!Clearing temporary variables with orgasm as a gs this will catch anything there too
  735. killvar 'temp_dick'
  736. killvar 'temp_unaware'
  737. killvar 'temp_text'
  738. killvar '$orgasm_txt'
  739. killvar '$stim_les'
  740. killvar '$stim_foot'
  741. gs 'nichUtil','onArouse',$ARGS[0]
  742. end
  743. !!-----------------------------------------------
  744. !!This calculates the various sex stats and includes a small cooldown of stimulation so only use it once per event
  745. if $ARGS[0] = 'end':
  746. if orgasm_buildup > 350: orgasm_buildup = 350
  747. if orgasm_buildup > 300: orgasm_buildup -= 10
  748. if orgasm_buildup > 200: orgasm_buildup -= 10
  749. if orgasm_buildup > 100: orgasm_buildup -= 10
  750. if stim['lesbian'] = 1: lesbian += 1
  751. if stim['hidden_lesbian'] = 1: hidden_lesbian += 1
  752. if stim['gang'] = 1 or stim['group'] = 1: gang += 1
  753. if stim['hidden_gang'] = 1 or stim['hidden_group'] = 1: hidden_gang += 1
  754. if stim['gloryhole'] = 1: gloryhole += 1
  755. if stim['hidden_gloryhole'] = 1: hidden_gloryhole += 1
  756. if stim['rape'] = 1: rape += 1
  757. if stim['hidden_rape'] = 1: hidden_rape += 1
  758. if stim['futa'] = 1: futa += 1
  759. if stim['hidden_futa'] = 1: hidden_futa += 1
  760. if stim['prostitution'] = 1: slutty += 1
  761. if stim['hidden_prostitution'] = 1: hidden_slutty += 1
  762. killvar 'anal_slip'
  763. killvar 'ar_anal_lube'
  764. killvar 'vaginal_slip'
  765. killvar 'ar_vag_lube'
  766. killvar '$orgasm_or'
  767. !!Updating fetish exp for acts carried out and clearing data
  768. gs 'arousal', 'checks', 'maso'
  769. gs 'arousal', 'checks', 'bound'
  770. gs 'arousal', 'checks', 'beast'
  771. gs 'arousal', 'checks', 'exhibitionism'
  772. gs 'arousal', 'checks', 'rough'
  773. gs 'arousal', 'checks', 'prostitution'
  774. gs 'arousal', 'checks', 'hidden_prostitution'
  775. gs 'arousal', 'checks', 'dom'
  776. gs 'arousal', 'checks', 'sub'
  777. gs 'arousal', 'checks', 'incest'
  778. gs 'arousal', 'checks', 'feet'
  779. gs 'arousal', 'checks', 'lesbian'
  780. gs 'arousal', 'checks', 'hidden_lesbian'
  781. gs 'arousal', 'checks', 'group'
  782. gs 'arousal', 'checks', 'hidden_group'
  783. gs 'arousal', 'checks', 'gang'
  784. gs 'arousal', 'checks', 'hidden_gang'
  785. gs 'arousal', 'checks', 'humiliation'
  786. gs 'arousal', 'checks', 'deepthroat'
  787. gs 'arousal', 'checks', 'unknown'
  788. gs 'arousal', 'checks', 'gloryhole'
  789. gs 'arousal', 'checks', 'hidden_gloryhole'
  790. gs 'arousal', 'checks', 'rape'
  791. gs 'arousal', 'checks', 'hidden_rape'
  792. gs 'arousal', 'checks', 'futa'
  793. gs 'arousal', 'checks', 'hidden_futa'
  794. gs 'arousal', 'checks', 'masturbate'
  795. stim['event'] = 0
  796. !!Adding to counts for character stats
  797. gs 'arousal', 'count', 'foreplay'
  798. gs 'arousal', 'count', 'clit_finger'
  799. gs 'arousal', 'count', 'clit_vibe'
  800. gs 'arousal', 'count', 'porn'
  801. gs 'arousal', 'count', 'cuni'
  802. gs 'arousal', 'count', 'rimming'
  803. gs 'arousal', 'count', 'trib'
  804. gs 'arousal', 'count', 'anal'
  805. gs 'arousal', 'count', 'hidden_anal'
  806. gs 'arousal', 'count', 'anal_finger'
  807. gs 'arousal', 'count', 'anal_fist'
  808. gs 'arousal', 'count', 'anal_dildo'
  809. gs 'arousal', 'count', 'anal_strap'
  810. gs 'arousal', 'count', 'anal_vibe'
  811. gs 'arousal', 'count', 'vaginal'
  812. gs 'arousal', 'count', 'hidden_vaginal'
  813. gs 'arousal', 'count', 'vaginal_finger'
  814. gs 'arousal', 'count', 'vaginal_fist'
  815. gs 'arousal', 'count', 'vaginal_dildo'
  816. gs 'arousal', 'count', 'vaginal_strap'
  817. gs 'arousal', 'count', 'vaginal_vibe'
  818. gs 'arousal', 'count', 'BDSM'
  819. gs 'arousal', 'count', 'pee'
  820. gs 'arousal', 'count', 'massage'
  821. gs 'arousal', 'count', 'foreplay_give'
  822. gs 'arousal', 'count', 'cuni_give'
  823. gs 'arousal', 'count', 'rimming_give'
  824. gs 'arousal', 'count', 'anal_finger_give'
  825. gs 'arousal', 'count', 'anal_fist_give'
  826. gs 'arousal', 'count', 'anal_dildo_give'
  827. gs 'arousal', 'count', 'anal_vibe_give'
  828. gs 'arousal', 'count', 'anal_strap_give'
  829. gs 'arousal', 'count', 'vaginal_finger_give'
  830. gs 'arousal', 'count', 'vaginal_fist_give'
  831. gs 'arousal', 'count', 'vaginal_dildo_give'
  832. gs 'arousal', 'count', 'vaginal_strap_give'
  833. gs 'arousal', 'count', 'vaginal_vibe_give'
  834. gs 'arousal', 'count', 'hj'
  835. gs 'arousal', 'count', 'hidden_hj'
  836. gs 'arousal', 'count', 'bj'
  837. gs 'arousal', 'count', 'hidden_bj'
  838. gs 'arousal', 'count', 'footjob'
  839. gs 'arousal', 'count', 'hidden_footjob'
  840. gs 'arousal', 'count', 'titjob'
  841. gs 'arousal', 'count', 'hidden_titjob'
  842. gs 'arousal', 'count', 'BDSM_give'
  843. gs 'arousal', 'count', 'pee_give'
  844. gs 'arousal', 'count', 'massage_give'
  845. gs 'arousal', 'count2', 'flashlite'
  846. gs 'arousal', 'count2', 'flash'
  847. gs 'arousal', 'count2', 'voyeur'
  848. gs 'arousal', 'count2', 'voyeur_sex'
  849. gs 'arousal', 'count2', 'erotic_nudity'
  850. !! Thats here because there is currently a variable zoo.
  851. if zoo > beast['exp']: beast['exp'] = zoo
  852. if beast['exp'] > zoo: zoo = beast['exp']
  853. !!
  854. end
  855. if $ARGS[0] = 'count':
  856. if dyneval('RESULT = count[''<<$ARGS[1]>>'']') = 1:
  857. dynamic 'count[''<<$ARGS[1]>>''] = 0'
  858. dynamic 'stat[''<<$ARGS[1]>>''] += 1'
  859. count['flashlite'] = 0
  860. count['flash'] = 0
  861. count['voyeur'] = 0
  862. end
  863. end
  864. if $ARGS[0] = 'count2':
  865. if dyneval('RESULT = count[''<<$ARGS[1]>>'']') = 1:
  866. dynamic 'count[''<<$ARGS[1]>>''] = 0'
  867. dynamic 'stat[''<<$ARGS[1]>>''] += 1'
  868. end
  869. end
  870. if $ARGS[0] = 'checks':
  871. if dyneval('RESULT = stim[''<<$ARGS[1]>>'']') = 1:
  872. dynamic 'stim[''<<$ARGS[1]>>''] = 0'
  873. dynamic '<<$ARGS[1]>>[''exp''] += 1'
  874. end
  875. end
  876. !!The auto lube application
  877. !!to use enter gs 'arousal', 'auto_lube', 'anal' or 'vag'
  878. !!add 'custom' to display a custom or no text by setting $lube_txt, if $lube_txt is '' no text will be displayed
  879. if $ARGS[0] = 'auto_lube':
  880. if $ARGS[1] = 'anal' and auto_anal_lube = 1:
  881. if lubri > 0:
  882. if $ARGS[2] ! 'custom':
  883. 'You rub some lube in and around your anus.'
  884. elseif $lube_txt ! '':
  885. $lube_txt
  886. end
  887. gs 'arousal', 'anal_finger', 1
  888. anal_slip = 8
  889. ar_anal_lube = 1
  890. lubri -= 1
  891. elseif $ARGS[2] ! 'custom' or ($ARGS[2] = 'custom' and $lube_txt ! ''):
  892. 'You do not have any lube left so cannot use it during this sex act.'
  893. end
  894. end
  895. if $ARGS[1] = 'vag' and auto_vag_lube = 1:
  896. if lubri > 0:
  897. if $ARGS[2] ! 'custom':
  898. 'You rub some lube in and around your vagina.'
  899. elseif $lube_txt ! '':
  900. $lube_txt
  901. end
  902. gs 'arousal', 'vaginal_finger', 1
  903. vaginal_slip = 8
  904. ar_vag_lube = 1
  905. lubri -= 1
  906. elseif $ARGS[2] ! 'custom' or ($ARGS[2] = 'custom' and $lube_txt ! ''):
  907. 'You do not have any lube left so cannot use it during this sex act.'
  908. end
  909. end
  910. killvar '$lube_txt'
  911. end
  912. --- arousal ---------------------------------