Cum_Manage 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. # Cum_Manage
  2. !{ Locations to be defined by 'spafinloc'
  3. 0 = 'In your Vagina'
  4. 1 = 'On your labia'
  5. 2 = 'On your panties over your vagina'
  6. 3 = 'In your anus'
  7. 4 = 'On your butt'
  8. 5 = 'On your panties over your butt'
  9. 6 = 'On your clothes in your groin area'
  10. 7 = 'On your clothes'
  11. 8 = 'On your back'
  12. 9 = 'On your legs'
  13. 10 = 'On your arms'
  14. 11 = 'On your face'
  15. 12 = 'Inside your mouth'
  16. 13 = 'On your hands'
  17. 14 = 'On your stomach'
  18. 15 = 'On your breasts'
  19. 16 = 'In your hair'
  20. 17 = 'In a condom in your vagina'}
  21. !{ values of 'sexcontra'
  22. 0 = 'No contraception used'
  23. 1 = 'You lied about being on the pill'
  24. 2 = 'You were on the pill'
  25. 3 = 'You used a condom'
  26. 4 = 'The condom broke'
  27. 5 = 'The condom slipped off inside you'
  28. 6 = 'The condom was sabotaged by someone else'
  29. 7 = 'You sabotaged the condom'}
  30. if $ARGS[0] = '':
  31. !{Sets the cum array temp to the current size of the cum array, to add a new entry to the end of file. Then checks to see if you are on the pill. If you are and there is no contraception used, it flags this as a "done with pill" act, which means a pregnancy will be a pill failure.}
  32. cumarr_idx = arrsize('$cumarrnam')
  33. if sexcontra = 0 and pillcon > 0: sexcontra = 2
  34. if vibratorIN = 1 and spafinloc = 0 and replace_vib = 0: vibratorIN = 0
  35. if analplugIN = 1 and spafinloc = 3 and replace_analplug = 0: analplugIN = 0
  36. !{It checks to see if this is flagged as a preejaculate emmission. All vaginal penetrations that flag this as cumprecheck contain preejaculate. Guidelines for calling it: If your boy is likely to have masterbated, had sex, or otherwise encouraged semen to leak out of their urethra in the last 48 hours, they probably have some fertile preejaculate. If in doubt, let it leak. The chances of pregnancy from it are low, and the MC should have been wearing protection.}
  37. if cumprecheck ! 1:
  38. !{Here it checks for vaginal deposit. If it is, it sees if theres a deposit made by someone named the same. If so, it checks if this new act is protected. If it isnt, it overwrites the old deposit.}
  39. if spafinloc <= 0:
  40. tmp_idx = arrpos('$cumarrnam',$boy)
  41. if tmp_idx >= 0:
  42. if $cumarrnam[tmp_idx] = $boy and cumarrdel[tmp_idx] = 0 and sexcontra < 3: cumarr_idx = tmp_idx
  43. end
  44. !{Next it sets the variables in the array. The cumming boys name first, sets the cum age to 0, then the cum delivery location to vaginally, then sees if its a unknowing sex act. If it is, it makes it so the MC doesnt know who did it. Then if the boy has a custom specified potency, it flags the potency. Otherwise it sets it to the default.}
  45. $cumarrnam[cumarr_idx] = $boy
  46. cumarrage[cumarr_idx] = 0
  47. cumarrdel[cumarr_idx] = 0
  48. if sexunaware > 0 and sexpartkno = 0:
  49. cumarrkno[cumarr_idx] = 0
  50. else
  51. cumarrkno[cumarr_idx] = 1
  52. end
  53. if sexspecpot ! 0:
  54. cumarrppt[cumarr_idx] = sexspecpot
  55. else
  56. cumarrppt[cumarr_idx] = 10000
  57. end
  58. !{Now it sets up the splatter and actual internal cum. First it sets the array to the spatter end of file. Then it checks for riding bareback. If theres a condom, it gives a chance for the condom to fail in general, slip off and remain in the vagina, or break.}
  59. sparr_idx = arrsize('sparrvol')
  60. tmp_idx = arrsize('sparrvol')
  61. :arrmodloop1
  62. if sparrloc[tmp_idx] = spafinloc and $sparrnam[tmp_idx] = $boy and sexcontra < 3:
  63. sparr_idx = tmp_idx
  64. else
  65. tmp_idx -= 1
  66. if tmp_idx >= 0: jump 'arrmodloop1'
  67. end
  68. if sparrppt[0] = 0 and sparr_idx = 1: sparr_idx = 0
  69. !{If a condom is used, determine if the condom broke or fell off}
  70. if sexcontra > 2:
  71. if sexcontra = 3 or sexcontra = 6 or sexcontra = 7:
  72. temprand = rand(0,1000)
  73. dick_wid = 3
  74. if $dick_girth = 'skinny': dick_wid = 2
  75. if $dick_girth = 'slim': dick_wid = 3
  76. if $dick_girth = 'well proportioned': dick_wid = 3
  77. if $dick_girth = 'thicker than average': dick_wid = 4
  78. if $dick_girth = 'thick': dick_wid = 4
  79. if $dick_girth = 'massive': dick_wid = 5
  80. if $dick_girth = 'monstrous': dick_wid = 6
  81. !{More likely to break with big dicks and tight pussies}
  82. break_thresh = dick_wid * 2
  83. break_thresh -= vagina / 4
  84. break_thresh += dick / 4
  85. !{More likely to slip with skinny dicks and tight pussies}
  86. slip_thresh = 18 - (dick_wid * 2)
  87. slip_thresh -= (vagina / 2)
  88. slip_thresh -= dick / 4
  89. if break_thresh < 4: break_thresh = 4
  90. if slip_thresh < 1: slip_thresh = 1
  91. !{Much more likely to break if sabotaged}
  92. if sexcontra = 6 or sexcontra = 7: break_thresh += 10
  93. break_thresh += slip_thresh
  94. if temprand <= slip_thresh:
  95. sexcontra = 5
  96. elseif temprand <= break_thresh:
  97. sexcontra = 4
  98. end
  99. end
  100. !{Take final value of sexcontra and apply cum potency, age, etc. as appropriate.}
  101. cumarrcon[cumarr_idx] = sexcontra
  102. if sexcontra = 3:
  103. cumarrcpt[cumarr_idx] += 0
  104. elseif sexcontra = 4:
  105. cumarrcpt[cumarr_idx] += cumarrppt[cumarr_idx]/2
  106. sparrage[sparr_idx] = 0
  107. sparrloc[sparr_idx] = 0
  108. $sparrnam[sparr_idx] = $boy
  109. if sexspecpot ! 0:
  110. sparrppt[sparr_idx] = sexspecpot
  111. else
  112. sparrppt[sparr_idx] = 10000
  113. end
  114. sparrvol[sparr_idx] += sexvolume
  115. cumsumbod += sexvolume
  116. cumsumvag += sexvolume
  117. if sexvolume <= 0: sparrvol[sparr_idx] += 40 & cumsumbod += 40 & cumsumvag += 40
  118. sparridt[sparr_idx] = sexpartkno
  119. sparrslc[sparr_idx] = 0
  120. elseif sexcontra = 5:
  121. cumarrcpt[cumarr_idx] += cumarrppt[cumarr_idx]/20
  122. cumcondslip = 1
  123. cumcondsanb = cumarr_idx
  124. sparrage[sparr_idx] = 0
  125. sparrloc[sparr_idx] = 17
  126. $sparrnam[sparr_idx] = $boy
  127. if sexspecpot ! 0:
  128. sparrppt[sparr_idx] = sexspecpot
  129. else
  130. sparrppt[sparr_idx] = 10000
  131. end
  132. sparrvol[sparr_idx] += sexvolume
  133. cumsumbod += sexvolume
  134. cumsumvag += sexvolume
  135. if sexvolume <= 0: sparrvol[sparr_idx] += 40 & cumsumbod += 40 & cumsumvag += 40
  136. sparridt[sparr_idx] = sexpartkno
  137. sparrslc[sparr_idx] = 0
  138. !{!Next it checks for sabotaged condoms. First sabotaged by you, then sabotaged by the guy. If they were sabotaged, it acts similar to a condom failure, but worse.}
  139. elseif sexcontra = 6 or sexcontra = 7:
  140. cumarrcpt[cumarr_idx] += cumarrppt[cumarr_idx]/3
  141. end
  142. !{If you have no protection, you get a nice full load of semen.}
  143. else
  144. sparrage[sparr_idx] = 0
  145. sparrloc[sparr_idx] = 0
  146. $sparrnam[sparr_idx] = $boy
  147. if sexspecpot ! 0:
  148. sparrppt[sparr_idx] = sexspecpot
  149. else
  150. sparrppt[sparr_idx] = 10000
  151. end
  152. sparrvol[sparr_idx] += sexvolume
  153. cumsumbod += sexvolume
  154. cumsumvag += sexvolume
  155. if sexvolume <= 0: sparrvol[sparr_idx] += 40 & cumsumbod += 40 & cumsumvag += 40
  156. sparridt[sparr_idx] = sexpartkno
  157. sparrslc[sparr_idx] = 0
  158. cumarrcpt[cumarr_idx] += cumarrppt[cumarr_idx]/5*4
  159. cumarrcon[cumarr_idx] = sexcontra
  160. end
  161. !{If you arent getting it in the vagina, and the boy isnt pumping it into a condom, a spatter is made and applied. If you arent wearing any panties and it was called to hit your panties, it goes directly to your groin. If you are naked and it calls for a clothing strike, it will go to your body instead.}
  162. elseif spafinloc > 0 and sexcontra < 3:
  163. sparr_idx = arrsize('sparrvol')
  164. tmp_idx = arrsize('sparrvol')
  165. :arrmodloop2
  166. if sparrloc[tmp_idx] = spafinloc and $sparrnam[tmp_idx] = $boy and sexcontra < 3:
  167. sparr_idx = tmp_idx
  168. else
  169. tmp_idx -= 1
  170. if tmp_idx >= 0: jump 'arrmodloop2'
  171. end
  172. sparrage[sparr_idx] = 0
  173. if tanga = 0:
  174. if spafinloc = 2:
  175. spafinloc = 1
  176. elseif spafinloc = 5:
  177. spafinloc = 4
  178. end
  179. end
  180. if $clothingworntype = 'nude':
  181. if spafinloc = 2:
  182. spafinloc = 1
  183. elseif spafinloc = 5:
  184. spafinloc = 4
  185. elseif spafinloc = 6:
  186. if rand(0,1) = 0:
  187. spafinloc = 1
  188. else
  189. spafinloc = 4
  190. end
  191. elseif spafinloc = 7:
  192. if rand(0,1) = 0:
  193. spafinloc = 14
  194. else
  195. spafinloc = 15
  196. end
  197. end
  198. end
  199. sparrloc[sparr_idx] = spafinloc
  200. if spafinloc = 12 and swallow >= 10 and rand(0,3) = 0: energy += 2
  201. $sparrnam[sparr_idx] = $boy
  202. if sexspecpot ! 0:
  203. sparrppt[sparr_idx] = sexspecpot
  204. else
  205. sparrppt[sparr_idx] = 10000
  206. end
  207. sparrvol[sparr_idx] += sexvolume
  208. cumsumbod += sexvolume
  209. if sexvolume <= 0: sparrvol[sparr_idx] += 40 & cumsumbod += 40 & cumsumvag += 40
  210. if spafinloc = 3:
  211. cumsumass += sexvolume
  212. if sexvolume <= 0: cumsumass += 40
  213. end
  214. sparridt[sparr_idx] = sexpartkno
  215. sparrslc[sparr_idx] = 0
  216. end
  217. sexpartkno = 0
  218. sexunaware = 0
  219. sexspecpot = 0
  220. elseif (sexcontra < 3 or sexcontra > 5) and spafinloc = 0:
  221. !{And this is the pre ejaculate release talked about above.}
  222. tmp_idx = arrpos('$cumarrnam',$boy)
  223. if tmp_idx ! -1 and cumarrdel[tmp_idx] = 0: cumarr_idx = tmp_idx
  224. $cumarrnam[cumarr_idx] = $boy
  225. cumarrage[cumarr_idx] = 0
  226. cumarrdel[cumarr_idx] = 0
  227. cumarrkno[cumarr_idx] = 0
  228. if sexspecpot ! 0:
  229. cumarrppt[cumarr_idx] = sexspecpot
  230. else
  231. cumarrppt[cumarr_idx] = 10000
  232. end
  233. cumarrcon[cumarr_idx] = sexcontra
  234. cumarrcpt[cumarr_idx] = cumarrppt[cumarr_idx]/12
  235. end
  236. sexspecpot = 0
  237. cumprecheck = 0
  238. spafinloc = 0
  239. sexvolume = 0
  240. tmp_idx = 0
  241. dynamic $din_Update_Condom_Counts
  242. if cumsumass >= 60:
  243. tmp_idx = arrpos('sparrloc',3)
  244. if sparrslc[tmp_idx] <= 0: sparrslc[tmp_idx] += 1
  245. end
  246. if cumsumvag >= 60:
  247. tmp_idx = arrpos('sparrloc',0)
  248. if sparrslc[tmp_idx] <= 0: sparrslc[tmp_idx] += 1
  249. end
  250. end
  251. if $ARGS[0] = 'cumeater1':
  252. spdirtyb = 1
  253. fbreath = 0
  254. vaf += 1
  255. if sparrvol[temp1arr] > 150:
  256. sparrvol[temp1arr] -= 100
  257. gs 'stat'
  258. 'You collect a handful of sperm from your stomach in your hand and lick it all up, feeling the tart taste of semen.'
  259. else
  260. sparrvol[temp1arr] -= 20
  261. gs 'stat'
  262. 'You collect the sperm from your stomach with your fingers and lick them, feeling the tart taste of semen.'
  263. end
  264. if sparrvol[temp1arr] <= 0:temp = 14 & gs 'cum_cleanup', 'cumeatercleanup'
  265. end
  266. if $ARGS[0] = 'cumeater2':
  267. spdirtyb = 1
  268. fbreath = 0
  269. vaf += 1
  270. if sparrvol[temp1arr] > 150:
  271. sparrvol[temp1arr] -= 100
  272. gs 'stat'
  273. 'You collect a handful of sperm from your pussy in your hand and lick it all up, feeling the tart taste of semen.'
  274. else
  275. sparrvol[temp1arr] -= 20
  276. gs 'stat'
  277. 'You collect the sperm from your pussy with your fingers and lick them, feeling the tart taste of semen.'
  278. end
  279. if sparrvol[temp1arr] <= 0:
  280. temp = 0 & gs 'cum_cleanup', 'cumeatercleanup'
  281. temp = 1 & gs 'cum_cleanup', 'cumeatercleanup'
  282. end
  283. end
  284. if $ARGS[0] = 'cumeater3':
  285. spdirtyb = 1
  286. fbreath = 0
  287. vaf += 1
  288. if sparrvol[temp1arr] > 150:
  289. sparrvol[temp1arr] -= 100
  290. gs 'stat'
  291. 'You collect a handful of sperm from your buttocks in your hand and lick it all up, feeling the tart taste of semen.'
  292. else
  293. sparrvol[temp1arr] -= 20
  294. gs 'stat'
  295. 'You collect the sperm from your buttocks with your fingers and lick them, feeling the tart taste of semen.'
  296. end
  297. if sparrvol[temp1arr] <= 0:temp = 4 & gs 'cum_cleanup', 'cumeatercleanup'
  298. end
  299. if $ARGS[0] = 'cumeater4':
  300. spdirtyb = 1
  301. fbreath = 0
  302. vaf += 1
  303. if sparrvol[temp1arr] > 150:
  304. sparrvol[temp1arr] -= 100
  305. gs 'stat'
  306. 'You collect a handful of sperm from your face in your hand and lick it all up, feeling the tart taste of semen.'
  307. else
  308. sparrvol[temp1arr] -= 20
  309. gs 'stat'
  310. 'You collect the sperm from your face with your fingers and lick them, feeling the tart taste of semen.'
  311. end
  312. if sparrvol[temp1arr] <= 0:temp = 11 & gs 'cum_cleanup', 'cumeatercleanup'
  313. end
  314. if $ARGS[0] = 'cumeater5':
  315. spdirtyb = 1
  316. fbreath = 0
  317. vaf += 1
  318. if sparrvol[temp1arr] > 150:
  319. sparrvol[temp1arr] -= 100
  320. gs 'stat'
  321. 'You collect a handful of sperm from your clothes in your hand and lick it all up, feeling the tart taste of semen.'
  322. else
  323. sparrvol[temp1arr] -= 20
  324. gs 'stat'
  325. 'You collect the sperm from your clothes with your fingers and lick them, feeling the tart taste of semen.'
  326. end
  327. if sparrvol[temp1arr] <= 0:
  328. temp = 2 & gs 'cum_cleanup', 'cumeatercleanup'
  329. temp = 5 & gs 'cum_cleanup', 'cumeatercleanup'
  330. temp = 6 & gs 'cum_cleanup', 'cumeatercleanup'
  331. temp = 7 & gs 'cum_cleanup', 'cumeatercleanup'
  332. end
  333. end
  334. if $ARGS[0] = 'cumeater6':
  335. spdirtyb = 1
  336. fbreath = 0
  337. vaf += 1
  338. if sparrvol[temp1arr] > 150:
  339. sparrvol[temp1arr] -= 100
  340. gs 'stat'
  341. 'You collect a handful of sperm from your anus in your hand and lick it all up, feeling the tart taste of semen.'
  342. else
  343. sparrvol[temp1arr] -= 20
  344. gs 'stat'
  345. 'You collect the sperm from your anus with your fingers and lick them, feeling the tart taste of semen.'
  346. end
  347. if sparrvol[temp1arr] <= 0:temp = 3 & gs 'cum_cleanup', 'cumeatercleanup'
  348. end
  349. if $ARGS[0] = 'cumeater7':
  350. spdirtyb = 1
  351. fbreath = 0
  352. vaf += 1
  353. if sparrvol[temp1arr] > 150:
  354. sparrvol[temp1arr] -= 100
  355. gs 'stat'
  356. 'You collect a handful of sperm from your body in your hand and lick it all up, feeling the tart taste of semen.'
  357. else
  358. sparrvol[temp1arr] -= 20
  359. gs 'stat'
  360. 'You collect the sperm from your body with your fingers and lick them, feeling the tart taste of semen.'
  361. end
  362. if sparrvol[temp1arr] <= 0:
  363. temp = 8 & gs 'cum_cleanup', 'cumeatercleanup'
  364. temp = 9 & gs 'cum_cleanup', 'cumeatercleanup'
  365. temp = 10 & gs 'cum_cleanup', 'cumeatercleanup'
  366. temp = 11 & gs 'cum_cleanup', 'cumeatercleanup'
  367. temp = 15 & gs 'cum_cleanup', 'cumeatercleanup'
  368. end
  369. end
  370. if $ARGS[0] = 'cumeater8':
  371. spdirtyb = 1
  372. fbreath = 0
  373. vaf += 1
  374. if sparrvol[temp1arr] > 100:
  375. sparrvol[temp1arr] = 0
  376. gs 'stat'
  377. 'You lick up the whole mouthful of sperm, feeling the tart taste as you eat it.'
  378. else
  379. sparrvol[temp1arr] = 0
  380. gs 'stat'
  381. 'You lick your fingers clean, feeling the tart taste of semen.'
  382. end
  383. if sparrvol[temp1arr] <= 0:temp = 13 & gs 'cum_cleanup', 'cumeatercleanup'
  384. end
  385. if $ARGS[0] = 'cumeater9':
  386. spdirtyb = 1
  387. fbreath = 0
  388. vaf += 1
  389. if sparrvol[temp1arr] > 150:
  390. sparrvol[temp1arr] -= 100
  391. gs 'stat'
  392. 'You collect a handful of sperm from your hair in your hand and lick it all up, feeling the tart taste of semen.'
  393. else
  394. sparrvol[temp1arr] -= 20
  395. gs 'stat'
  396. 'You collect the sperm from your hair with your fingers and lick them, feeling the tart taste of semen.'
  397. end
  398. if sparrvol[temp1arr] <= 0:temp = 16 & gs 'cum_cleanup', 'cumeatercleanup'
  399. end
  400. --- Cum_Manage ---------------------------------