arousal.qsrc 36 KB

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