arousal.qsrc 51 KB

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