lact_lib.qsrc 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120
  1. # lact_lib
  2. if $ARGS[0] = '$get_bfat_tissue':
  3. !! func('lact_lib', 'get_bfattissue', npc_nbsize, npc_lactatemm)
  4. !! function to get breast fat tissue amount. Can be used for NPC as well as PC.
  5. !! ARGS[1] = npc_nbsize - the natural bust size of the NPC/PC.
  6. !! ARGS[2] = npc_lactatemm - he lactatemm of the NPC/PC.
  7. !! RESULT = Fat amount in ccm * 10.
  8. !! function for cup size volume in ccm y = 0,0002023*x^3 + 0,029199*x^2 + 4,3791*x + 70
  9. !! x = ((ARGS[1]/5) + 1)*10
  10. !! this function is based on the x figures for pcs_bust size (moving in steps of 5) and the actual cup sizes from a wikipedia table, which can be found here: https://en.wikipedia.org/wiki/Bra_size
  11. !! The function was estimated with excel using a trend line estimation for polynoms of third grade and a y = 0 at 70ccm
  12. !! https://www.ncbi.nlm.nih.gov/pubmed/11936199
  13. !! The percentage of fat volume in the total breast volume varied from 7 to 56% and the percentage of fat weight in the total breast weight varied from 3.6 to 37.6%. This great variability in the respective proportions of fat and glands in the evaluated specimens was not significantly correlated to age and body mass index.
  14. if ARGS[1] > 0:
  15. temp_var = ((ARGS[1]/5) + 1)*10
  16. temp_var2 = (((2023*temp_var*temp_var*temp_var)/10000000)+((29199*temp_var*temp_var)/1000000)+((43791*temp_var)/10000)+70)*10
  17. if temp_var2 > ARGS[2]:
  18. RESULT = temp_var2 - (ARGS[2] + ARGS[2]/50)
  19. elseif temp_var2 = ARGS[2]:
  20. RESULT = 0
  21. else
  22. cls & '<b><font color="red">BAD ARGUMENT CHECK IN <i>$get_bfat_tissue</i>!</font> - Node ARGS[1] - more mammary gland tissue available then total breast tissue.</b>'
  23. end
  24. else
  25. if ARGS[2] > 700:
  26. cls & '<b><font color="red">BAD ARGUMENT CHECK IN <i>$get_bfat_tissue</i>!</font> - Node ARGS[2] - more mammary gland tissue available then total breast tissue.</b>'
  27. else
  28. RESULT = 700
  29. end
  30. end
  31. end
  32. if $ARGS[0] = '$calc_npc_lactatemm_0':
  33. !! func('lact_lib', 'calc_npc_lactatemm_0', npc_glandamount, npc_prodstate, npc_breastage, npc_breastcount)
  34. !! New calc lactatemm function usuable for NPCs. Test function number one.
  35. !! ARGS[1] = npc_glandamount - The glandamount of the npc per breast. Glandamount here is actually the alveoli amount per breast. The value is 4500 to 150000 per breast depending on the genetics or if the npc went through pregnancy already.
  36. !! ARGS[2] = npc_prodstate - The breast production state of the npc. State can be "none", "induced" or "natural".
  37. !! ARGS[3] = npc_breastage - State can be "virgin" or "mature". Virgin in this case means that the breasts did not go through pregnancy changes yet, while mature is a fully developed breast that had all the changes during pregnancy.
  38. !! To determine the breastage, just check if the NPC has gone through pregnancy or not.
  39. !! ARGS[4] = npc_breastcount - The breast count of the NPC. If 0 the result will always be 0. Could be used for amputation events or multiple breasts events.
  40. !! The function will return something even if there is no lactation currently happening. this could be used for special events where sudden lactation is induced with the help of drugs. For example a lactation pill that will cause the NPC to lactate immediately without classical induction or natural growth during pregnancy.
  41. !! RESULT = lactatemm in ml*10
  42. if ARGS[2] = 'none':
  43. if ARGS[3] = 'virgin':
  44. temp_var = 2
  45. elseif ARGS[3] = 'mature':
  46. temp_var = 2
  47. else
  48. cls & '<b><font color="red">BAD ARGUMENT CHECK IN <i>$calc_npc_lactatemm_0</i>!</font> - Node ARGS[2] "none".</b>'
  49. end
  50. elseif ARGS[2] = 'induced':
  51. if ARGS[3] = 'virgin':
  52. temp_var = 20
  53. elseif ARGS[3] = 'mature':
  54. temp_var = 80
  55. else
  56. cls & '<b><font color="red">BAD ARGUMENT CHECK IN <i>$calc_npc_lactatemm_0</i>!</font> - Node ARGS[2] "induced".</b>'
  57. end
  58. elseif ARGS[2] = 'natural':
  59. if ARGS[3] = 'virgin':
  60. temp_var = 20
  61. elseif ARGS[3] = 'mature':
  62. temp_var = 80
  63. else
  64. cls & '<b><font color="red">BAD ARGUMENT CHECK IN <i>$calc_npc_lactatemm_0</i>!</font> - Node ARGS[2] "natural".</b>'
  65. end
  66. else
  67. cls & '<b><font color="red">BAD ARGUMENT CHECK IN <i>$calc_npc_lactatemm_0</i>!</font> - Root Node ARGS[2].</b>'
  68. end
  69. if ARGS[1] <= 0:
  70. RESULT = 0
  71. else
  72. RESULT = (ARGS[1]*temp_var*ARGS[4])/1000
  73. end
  74. end
  75. if $ARGS[0] = '$calc_lactatemm':
  76. !! func('lact_lib', 'calc_lactatemm')
  77. !! No arguments at the moment. Information is taken from the global variables 'nbsize', 'lactate','lactateinduced','kid'.
  78. !! lactatemm should be calculated every day, so if the breasts size is changed naturally the lactatemm will get higher. No change when silicone tits happen. Only natural breast tissue should make milk.
  79. !! Usage: lactatemm = func('lact_lib','$calc_lactatemm')
  80. !! RESULT = lactatemm in ml*10
  81. if lactate = 0:
  82. RESULT = 0
  83. elseif lactate >0:
  84. temp_breastsize = 0
  85. temp_breastsize += nbsize
  86. temp_var = 0
  87. !! This if needs to be changed later. If the kid is lost during the pregnancy, Sveta may still went through full breast development. If changing something here, please contact milky_boobs in the forums.
  88. if kid <= 0:
  89. temp_var = ((8*temp_breastsize*temp_breastsize)+(37*temp_breastsize))/4
  90. RESULT = temp_var
  91. else
  92. RESULT = ((8*temp_breastsize*temp_breastsize)+(37*temp_breastsize))
  93. end
  94. else
  95. cls & '<b><font color="red">BAD ARGUMENT CHECK IN <i>$calc_lactatemm</i>!</font></b>'
  96. end
  97. end
  98. if $ARGS[0] = '$get_breastmilk_time':
  99. !! func('lact_lib','$get_breastmilk_time', sucktion_type, milk_demand)
  100. !! ARGS[1] = sucktion_type: the type of sucktion. adult_mouth [0], child_mouth [1], baby_mouth [2], manual_breastpump [3] , electric_breastpump [4], hand_expressing [5], cow milker [6], weak baby_mouth [7]
  101. !! ARGS[2] = milk_demand: how much milk is demanded. Warning: Should be ml and not in ml*10 for ease of use. :D
  102. !! RESULT = Time in Minutes
  103. !! Usage: breastmilktimetoget = func('lact_lib','$get_breastmilk_time', 2, 150)
  104. !! This function is just calculating the amount of time needed to get a specific amount of milk from svetas breasts. It is not pumping milk from her or changes anything else.
  105. !! If you want to milk sveta, use get_breastmilk.
  106. if lactate > 0:
  107. !! 'suck_flow_rate initialized' Base Rate of sucking is 10ml/minute.
  108. if ARGS[1] = 0:
  109. !! 'adult sucking'
  110. suck_flow_rate = 120
  111. elseif ARGS[1] = 1:
  112. !! 'child sucking'
  113. suck_flow_rate = 110
  114. elseif ARGS[1] = 2:
  115. !! 'baby sucking'
  116. suck_flow_rate = 80
  117. elseif ARGS[1] = 3:
  118. !! 'manual_breastpump sucking'
  119. suck_flow_rate = 180
  120. elseif ARGS[1] = 4:
  121. !! 'electric_breastpump sucking'
  122. suck_flow_rate = 400
  123. elseif ARGS[1] = 5:
  124. !! 'hand expression'
  125. suck_flow_rate = 105
  126. elseif ARGS[1] = 6:
  127. !! 'cow milker sucking'
  128. suck_flow_rate = 1000
  129. elseif ARGS[1] = 7:
  130. !! 'weak baby sucking'
  131. suck_flow_rate = 50
  132. temp_var = pcs_mood + ARGS[2]
  133. if temp_var > 100:
  134. pcs_mood = 100
  135. else
  136. pcs_mood += ARGS[2]
  137. end
  138. else
  139. !! 'suck flow else branch'
  140. suck_flow_rate = 100
  141. end
  142. if pcs_nips > 0:
  143. max_nip_flow_rate = 60
  144. elseif pcs_nips > 20:
  145. max_nip_flow_rate = 80
  146. elseif pcs_nips > 40:
  147. max_nip_flow_rate = 100
  148. elseif pcs_nips > 60:
  149. max_nip_flow_rate = 120
  150. elseif pcs_nips > 80:
  151. max_nip_flow_rate = 140
  152. elseif pcs_nips > 100:
  153. max_nip_flow_rate = 160
  154. else
  155. max_nip_flow_rate = 100
  156. end
  157. if breastcounter > 0:
  158. temp_var = breastcounter/10
  159. soreness_mod += temp_var
  160. if soreness_mod > 20: soreness_mod = 20
  161. if nipple_cream = 1:
  162. soreness_mod += 20
  163. nipple_cream = 0
  164. end
  165. end
  166. nip_flow_mod = 1
  167. temp_var = breastcounter/10
  168. nip_flow_mod += temp_var
  169. if nip_flow > 30: nip_flow_mod = 30
  170. max_nip_flow_rate += nip_flow_mod
  171. if (lactaterate/60) < 1 and lactaterate > 0:
  172. temp_lactaterate = 1
  173. else
  174. temp_lactaterate = lactaterate/60
  175. end
  176. if lactatemv >= (ARGS[2]*10):
  177. if max_nip_flow_rate <= suck_flow_rate:
  178. temp_var = (ARGS[2]*10)/max_nip_flow_rate
  179. else
  180. temp_var = (ARGS[2]*10)/suck_flow_rate
  181. end
  182. RESULT = temp_var
  183. elseif lactatemv > 0 and lactatemv < (ARGS[2]*10):
  184. if max_nip_flow_rate <= suck_flow_rate:
  185. temp_var = lactatemv/max_nip_flow_rate
  186. temp_var2 = (ARGS[2]*10) - lactatemv
  187. if max_nip_flow_rate <= temp_lactaterate:
  188. temp_var += temp_var2/max_nip_flow_rate
  189. else
  190. temp_var += temp_var2/(temp_lactaterate*10)
  191. end
  192. else
  193. temp_var = lactatemv/suck_flow_rate
  194. temp_var2 = (ARGS[2]*10) - lactatemv
  195. if suck_flow_rate <= temp_lactaterate:
  196. temp_var += temp_var2/suck_flow_rate
  197. else
  198. temp_var += temp_var2/(temp_lactaterate*10)
  199. end
  200. end
  201. RESULT = temp_var
  202. elseif lactatemv <=0:
  203. if max_nip_flow_rate <= suck_flow_rate:
  204. if max_nip_flow_rate <= temp_lactaterate:
  205. temp_var = (ARGS[2]*10)/max_nip_flow_rate
  206. else
  207. temp_var = (ARGS[2]*10)/(temp_lactaterate*10)
  208. end
  209. else
  210. if suck_flow_rate <= temp_lactaterate:
  211. temp_var = (ARGS[2]*10)/suck_flow_rate
  212. else
  213. temp_var = (ARGS[2]*10)/(temp_lactaterate*10)
  214. end
  215. end
  216. RESULT = temp_var
  217. else
  218. RESULT = 0
  219. end
  220. else
  221. RESULT = 0
  222. end
  223. end
  224. if $ARGS[0] = '$get_breastmilk':
  225. !! func('lact_lib','$get_breastmilk', sucktion_type, sucktion_time)
  226. !! ARGS[1] = sucktion_type: the type of sucktion. adult_mouth [0], child_mouth [1], baby_mouth [2], manual_breastpump [3] , electric_breastpump [4], hand_expressing [5], cow milker [6], weak baby_mouth [7]
  227. !! ARGS[2] = sucktion_time: how many minutes the sucking/pumping takes place
  228. !! Usage: breastmilkvolume = func('lact_lib','$get_breastmilk', 4, 20)
  229. !! RESULT = Milk in ml*10
  230. !! Sveta, someone or something tries to milk Svetas breasts, so the daily variable breastpumped is switched on. This is used for the femcycle. If this is not switched on, possible changes like prolactinlvl etc go down.
  231. breastpumped = 1
  232. if soreness_mod <= 0: soreness_mod = 1
  233. !! what type of sucktion is happening? different sucktion can cause a different demand of breastmilk. Base rate of sucktion is 10ml/minute x 10. So if the sucktion rate is 10ml/min then suck_flow_rate = 100.
  234. if ARGS[1] = 0:
  235. !! 'adult sucking'
  236. suck_flow_rate = 120
  237. temp_var = pcs_mood +(ARGS[2]/8)
  238. if temp_var > 100:
  239. pcs_mood = 100
  240. else
  241. pcs_mood += ARGS[2]/8
  242. end
  243. elseif ARGS[1] = 1:
  244. !! 'child sucking'
  245. suck_flow_rate = 110
  246. temp_var = pcs_mood + (ARGS[2]/2)
  247. if temp_var > 100:
  248. pcs_mood = 100
  249. else
  250. pcs_mood += ARGS[2]/2
  251. end
  252. elseif ARGS[1] = 2:
  253. !! 'baby sucking'
  254. suck_flow_rate = 80
  255. temp_var = pcs_mood + ARGS[2]
  256. if temp_var > 100:
  257. pcs_mood = 100
  258. else
  259. pcs_mood += ARGS[2]
  260. end
  261. elseif ARGS[1] = 3:
  262. !! 'manual_breastpump sucking'
  263. suck_flow_rate = 180
  264. elseif ARGS[1] = 4:
  265. !! 'electric_breastpump sucking'
  266. suck_flow_rate = 400
  267. elseif ARGS[1] = 5:
  268. !! 'hand expression'
  269. suck_flow_rate = 105
  270. elseif ARGS[1] = 6:
  271. !! 'cow milker sucking'
  272. suck_flow_rate = 1000
  273. elseif ARGS[1] = 7:
  274. !! 'weak baby sucking'
  275. suck_flow_rate = 50
  276. temp_var = pcs_mood + ARGS[2]
  277. if temp_var > 100:
  278. pcs_mood = 100
  279. else
  280. pcs_mood += ARGS[2]
  281. end
  282. else
  283. !! 'suck flow else branch'
  284. suck_flow_rate = 100
  285. end
  286. !! If you pump and work your breast more, soreness will decrease after pumping. This can also decline if your breasts arent worked for a longer time.
  287. if breastcounter > 0:
  288. temp_var = breastcounter/10
  289. soreness_mod += temp_var
  290. if soreness_mod > 30: soreness_mod = 30
  291. if nipple_cream = 1:
  292. soreness_mod += 20
  293. nipple_cream = 0
  294. end
  295. end
  296. !! If Sveta is not lactating we still need to do some actions. This is handled in here. Nipple pain + breast pain are applied as well as stamina is used.
  297. if lactate <= 0:
  298. if milkoverdemand <= 0: milkoverdemand = 0
  299. pump_stop_brake = 0
  300. !! This is how much milk demand is applied to the breasts. In this function it is needed to calculate the nipple pain and breast pain.
  301. max_sucktion_demand = suck_flow_rate*ARGS[2]
  302. if pain['nipples'] <= 60:
  303. suck_until_pain = (((60 - pain['nipples'])*soreness_mod)*10)/(suck_flow_rate/18)
  304. end
  305. temp_var = pain['nipples'] + max_sucktion_demand/(soreness_mod*100)
  306. if temp_var > 60:
  307. pain['nipples'] = 65
  308. pump_stop_brake = 1
  309. pumptime = suck_until_pain
  310. max_sucktion_demand = suck_flow_rate*pumptime
  311. else
  312. pain['nipples'] += max_sucktion_demand/(soreness_mod*100)
  313. end
  314. temp_var = pain['breasts'] + max_sucktion_demand/10000
  315. if temp_var > 20:
  316. pain['breasts'] = 25
  317. else
  318. pain['breasts'] += max_sucktion_demand/10000
  319. end
  320. !! Pumping breasts is exhausting even if no milk comes. Pumping will impact the stamina of Sveta if she is not lactating.
  321. temp_var = pcs_stam - max_sucktion_demand/300
  322. if temp_var < 0:
  323. pcs_stam = 0
  324. !! energy usage flag on.
  325. energytomilkpump = 1
  326. pcs_sweat += max_sucktion_demand/1000
  327. else
  328. pcs_stam -= max_sucktion_demand/300
  329. pcs_sweat += max_sucktion_demand/1000
  330. !! energy usage flag on.
  331. energytomilkpump = 1
  332. end
  333. if pumptime < 10:
  334. breastcounter += 1
  335. else
  336. breastcounter += pumptime/10
  337. end
  338. milkoverdemand += max_sucktion_demand
  339. RESULT = 0
  340. elseif lactate > 0:
  341. !! How much milk can go through the nipple. Base rate is 10ml/minute (100) when sucktion is applied to the nipple. If the demand is higher than the nipple can push through, nipple soreness will happen more quickly.
  342. if pcs_nips > 0:
  343. max_nip_flow_rate = 60
  344. elseif pcs_nips > 20:
  345. max_nip_flow_rate = 80
  346. elseif pcs_nips > 40:
  347. max_nip_flow_rate = 100
  348. elseif pcs_nips > 60:
  349. max_nip_flow_rate = 120
  350. elseif pcs_nips > 80:
  351. max_nip_flow_rate = 140
  352. elseif pcs_nips > 100:
  353. max_nip_flow_rate = 160
  354. else
  355. max_nip_flow_rate = 100
  356. end
  357. !! If you pump more, more milk will be able to flow out, disregarding nipplesize. Svetas nipples will get used to have milk stream through them, grows and drops with the breastcounter.
  358. nip_flow_mod = 1
  359. nip_flow_mod += breastcounter
  360. if nip_flow > 400: nip_flow_mod = 400
  361. max_nip_flow_rate += nip_flow_mod
  362. !! How much milk demand is applied to the breasts.
  363. max_sucktion_demand = suck_flow_rate*ARGS[2]
  364. !! We want to know if we can just suck out what is already stored or if additional milk production is needed to go through the whole pumping/sucking.
  365. !! If we only need 20ml from a 100ml storage, we would only substract 20ml, leaving 80ml inside the breasts.
  366. !! Also lets make sure we start at zero from the stuff we get from Sveta.
  367. milkedvolume = 0
  368. !! Case: Enough milk in Svetas breasts, covering the demand
  369. if lactatemv >= max_sucktion_demand:
  370. !! Checking if svetas nipple flow is enough to serve the demand. If yes - get the demand; If no - get what she is able to give us.
  371. if max_nip_flow_rate >= suck_flow_rate:
  372. milkedvolume = max_sucktion_demand
  373. lactatemv -= max_sucktion_demand
  374. else:
  375. milkedvolume = max_nip_flow_rate*ARGS[2]
  376. lactatemv -= milkedvolume
  377. end
  378. !! Case: Not enough milk in Svetas breasts.
  379. elseif lactatemv < max_sucktion_demand:
  380. !! We have two sub cases in this one. Sveta has no lactatemv and Sveta has not enough lactatemv. This means she has to produce more milk, but first we need to know how much is needed.
  381. !! temp_var will be the amount of milk Sveta has to produce to serve the demand. pump time left is the time left after lactatemv is drained.
  382. if lactatemv <= 0:
  383. temp_var = max_sucktion_demand
  384. pumptime_left = ARGS[2]
  385. else
  386. temp_var = max_sucktion_demand - lactatemv
  387. if max_nip_flow_rate >= suck_flow_rate:
  388. pumptime_left = ARGS[2] - (lactatemv/suck_flow_rate)
  389. else
  390. pumptime_left = ARGS[2] - (lactatemv/max_nip_flow_rate)
  391. end
  392. if pumptime_left < 0: pumptime_left = 0
  393. end
  394. !! Now we know how much time we have and how much demand we have. Time to check if Sveta can do it.
  395. !! For the case, that svetas milk flow is not big enough pumptime left will be 0, therefore this is handled here.
  396. if pumptime_left >0:
  397. if max_nip_flow_rate >= suck_flow_rate:
  398. !! the lactaterate is per hour, so it is possible that lactaterate will end up being zero when devided by 60. therefore everything here is multiplied by 100.
  399. if (suck_flow_rate*100) <= ((lactaterate*100)/60):
  400. milkedvolume += suck_flow_rate*pumptime_left
  401. else
  402. milkedvolume += ((((lactaterate*100)/60)*pumptime_left)/100)
  403. breastcounter += 2
  404. end
  405. else
  406. !! Same here as above.
  407. if (max_nip_flow_rate*100) <= ((lactaterate*100)/60):
  408. milkedvolume += max_nip_flow_rate*pumptime_left
  409. breastcounter += 2
  410. else
  411. milkedvolume += ((((lactaterate*100)/60)*pumptime_left)/100)
  412. breastcounter += 2
  413. end
  414. end
  415. !! Produced milk needs to be subtracted from the hourly lactate rate, so femcycle is only adding the milk that was not produced yet in the next hour
  416. if pumptime_left > 60:
  417. if ((pumptime_left*100)/60) > 100:
  418. lactaterate_use -= ((((lactaterate*100)/60)*(pumptime_left mod 60))/100)
  419. else
  420. lactaterate_use = lactaterate
  421. end
  422. else
  423. if lactaterate >= lactaterate_use:
  424. lactaterate_use -= milkedvolume
  425. else
  426. lactaterate_use = lactaterate
  427. end
  428. end
  429. if lactaterate_use <= 0: lactaterate_use = 0
  430. !! Sveta had to make milk, so she needs to use some of her body resources to make the milk.
  431. if milkedvolume > 0:
  432. !! energy usage flag on. Can be used in events to show that sveta is getting hungry or thirsty
  433. energytomilkpump = 1
  434. pcs_stam -= max_sucktion_demand/300
  435. if pcs_stam <= 0: pcs_stam = 0
  436. pcs_sweat += max_sucktion_demand/1000
  437. pcs_hydra -= milkedvolume/120
  438. if pcs_hydra < 1: pcs_hydra = 1
  439. pcs_energy -= milkedvolume/1200
  440. end
  441. end
  442. !! Now we check if sveta was able to make it or not. If not we have milk overdemand which will be used in femcycle to make her produce more milk next day.
  443. if temp_var > milkedvolume:
  444. milkoverdemand += (temp_var - milkedvolume)
  445. end
  446. !! time to add the pumped lactatemv to the milkedvolume and empty lactatemv.
  447. milkedvolume += lactatemv
  448. lactatemv = 0
  449. !! Here we have nipple and breastpain. The idea is - if there is more sucktion than the nipples can take more pain is applied. If the breasts make less milk then demanded pain to the breasts is applied.
  450. !! Else - there will only be nipple pain.
  451. if max_nip_flow_rate < suck_flow_rate:
  452. temp_var = pain['nipples'] + ((suck_flow_rate - max_nip_flow_rate)*100*ARGS[2])/2000 - (soreness_mod*ARGS[2])*15
  453. if temp_var >= 60:
  454. pain['nipples'] = 65
  455. elseif temp_var <= 0:
  456. pain['nipples'] += 1
  457. else
  458. pain['nipples'] += (((suck_flow_rate - max_nip_flow_rate)*100*ARGS[2])/2000 - (soreness_mod*ARGS[2])*15)
  459. end
  460. else
  461. if ARGS[2] < 10:
  462. pain['nipples'] += 1
  463. elseif ARGS[2] >= 10 and soreness_mod > ARGS[2]:
  464. pain['nipples'] += 1
  465. else
  466. pain['nipples'] += (ARGS[2]/10 - soreness_mod/10)
  467. end
  468. end
  469. if max_nip_flow_rate >= suck_flow_rate:
  470. if (suck_flow_rate*100) > ((lactaterate*100)/60):
  471. temp_var = pain['breasts'] + (((suck_flow_rate*100)-((lactaterate*100)/60))*pumptime_left)/1000
  472. if temp_var > 20:
  473. pain['breasts'] = 20
  474. else
  475. pain['breasts'] += (((suck_flow_rate*100)-((lactaterate*100)/60))*pumptime_left)/1000
  476. end
  477. end
  478. else
  479. if (max_nip_flow_rate*100) > ((lactaterate*100)/60):
  480. temp_var = pain['breasts'] + (((max_nip_flow_rate*100)-((lactaterate*100)/60))*pumptime_left)/1000
  481. if temp_var > 20:
  482. pain['breasts'] = 20
  483. else
  484. pain['breasts'] += (((max_nip_flow_rate*100)-((lactaterate*100)/60))*pumptime_left)/1000
  485. end
  486. end
  487. end
  488. end
  489. if pumptime < 10:
  490. breastcounter += 1
  491. else
  492. breastcounter += pumptime/10
  493. end
  494. !! Done - Result is the milked volume.
  495. RESULT = milkedvolume
  496. end
  497. end
  498. !! bp_milking - breast pump milking
  499. !! use href="exec:gt ''lact_lib'',''bp_milking''"
  500. if $ARGS[0] = 'bp_milking':
  501. pumptime = 0
  502. pumptype = 0
  503. if pump_bottletype < 1500: pump_bottletype = 1500
  504. if bpbottles <= 0: bpbottles = 1
  505. if $location_type ! 'bathroom' and pcs_inhib < 40:
  506. 'You can''t use it here.'
  507. act 'Finish': menu_off = 0 & gt $loc, $metka
  508. elseif bp_unbox <= 0:
  509. 'You need to unbox your breast pump first.'
  510. act 'Finish': menu_off = 0 & gt $loc, $metka
  511. elseif bp_unbox = 1 and ($location_type = 'bathroom' or $location_type = 'private'):
  512. gt 'lact_lib', 'bp_unbox_event'
  513. else
  514. *clr
  515. cla
  516. '<center><img <<$set_imgh>> src="images/pc/body/tits/breast_pump.jpg"></center>'
  517. 'How long do you want to pump your breasts with the manual breast pump?'
  518. if bpbottlem > 0:
  519. if pump_bottletype = 1500:
  520. 'Current bottle size in use: &gt;150ml | <a href="exec:pump_bottletype = 2500 & gt ''lact_lib'', ''bp_milking''">250ml</a>'
  521. else
  522. 'Current bottle size in use <a href="exec:pump_bottletype = 1500 & gt ''lact_lib'', ''bp_milking''">150ml</a> | &gt;250ml'
  523. end
  524. end
  525. if lactatemv > 0:
  526. pumptime = (func('lact_lib','$get_breastmilk_time', 3, (lactatemv/10)))
  527. if pumptime > 5:
  528. pumptime -= 2
  529. end
  530. if pumptime > 60:
  531. act 'Pump until breasts are empty':
  532. *clr
  533. cla
  534. minut += 2
  535. 'As you prepare for pumping you weight your breasts in your hands. You feel that your breasts carry a large amount of milk and pumping will probably take a long time.'
  536. 'Getting relieve for your breasts with the manual breast pump will probably take at least <<pumptime>> minutes.'
  537. if pcs_know_mward <= 0:
  538. 'You concider visiting a hospital to get help or buying a better breastpump.'
  539. pcs_ask_mward_help = 1
  540. pcs_knows_electric_pump = 1
  541. end
  542. 'Do you want to continue?'
  543. act 'Don''t pump':gt $loc, $metka
  544. act 'Continue':
  545. gt 'lact_lib', 'milking'
  546. end
  547. end
  548. elseif pumptime <= 0:
  549. act 'Pump until breasts are empty':
  550. *clr
  551. cla
  552. minute += 2
  553. 'As you prepare for pumping you weight your breasts in your hands. Your breasts feel really empty. There is no need to pump now.'
  554. act 'Don''t pump':gt $loc, $metka
  555. act 'back':gt 'lact_lib', 'bp_milking'
  556. end
  557. else
  558. act 'Pump until breasts are empty':
  559. pumptime = func('lact_lib','$get_breastmilk_time', 3, (lactatemv/10))
  560. if pumptime > 5:
  561. pumptime -= 2
  562. end
  563. gt 'lact_lib', 'milking'
  564. end
  565. end
  566. end
  567. act '15 Minutes':
  568. pumptime = 15
  569. gt 'lact_lib', 'milking'
  570. end
  571. act '30 Minutes':
  572. pumptime = 30
  573. gt 'lact_lib', 'milking'
  574. end
  575. act 'Custom':
  576. pumptime = input ("How long do you plan to pump your breasts? (Not more than 60 minutes)")
  577. if pumptime <= 0 or pumptime > 60:
  578. minut += 2
  579. act 'Don''t pump':menu_off = 0 & gt $loc, $metka
  580. act 'back':gt 'lact_lib', 'bp_milking'
  581. elseif pumptime > 0 and pumptime <= 60:
  582. gt 'lact_lib', 'milking'
  583. end
  584. end
  585. act 'Massage your breasts': gt 'lact_lib','man_milking'
  586. act 'Don''t pump':menu_off = 0 & gt $loc, $metka
  587. end
  588. end
  589. !! man_milking - manual (with hands) milking
  590. !! use href="exec:gt ''lact_lib'',''man_milking''"
  591. !! for manual milk expression in bathrooms etc. please use this function.
  592. if $ARGS[0] = 'massage':
  593. if breastcounter <= 0:
  594. temp_var = 50
  595. else
  596. temp_var = (50/breastcounter)
  597. end
  598. if breastpump = 0 and pcs_horny >= temp_var and pcs_inhib >= 40:
  599. act 'Massage your breasts': gt 'lact_lib','man_milking'
  600. end
  601. end
  602. if $ARGS[0] = 'man_milking':
  603. pumptime = 0
  604. if pcs_inhib < 40:
  605. *clr
  606. cla
  607. 'You can''t do this here.'
  608. act 'Finish':menu_off = 0 & gt $loc, $metka
  609. else
  610. *clr
  611. cla
  612. 'How long do you want to massage your breasts?'
  613. if lactatemv > 0:
  614. pumptime = (func('lact_lib','$get_breastmilk_time', 5, (lactatemv/10)))
  615. if pumptime > 60:
  616. act 'Express until breasts are empty':
  617. *clr
  618. cla
  619. minut += 2
  620. 'You prepare yourself and weight your breasts in your hands. You feel that your breasts carry a large amount of milk and manually expressing it will probably take a long time.'
  621. 'Getting relieve for your breasts with manual expression will probably take at least <<pumptime>> minutes.'
  622. if breastpump <= 0 and bp_unbox <= 1:
  623. 'You should concider buying a breastpump'
  624. elseif breastpump = 1 and bp_unbox <= 1 and pain['nipples'] <= 60:
  625. 'You should concider using your breastpump.'
  626. else
  627. 'You should concider the use of a breastpump.'
  628. end
  629. 'Do you want to continue?'
  630. act 'Don''t express':menu_off = 0 & gt $loc, $metka
  631. act 'Express your milk':
  632. gt 'lact_lib', 'hand_milking'
  633. end
  634. end
  635. elseif pumptime <= 0:
  636. act 'Express milk until breasts are empty':
  637. *clr
  638. cla
  639. minute += 2
  640. 'As you prepare yourself you feel your breasts in your hands. Your breasts feel really empty. There is no need to express now.'
  641. act 'Don''t express milk':menu_off = 0 & gt $loc, $metka
  642. act 'back':gt 'lact_lib', 'man_milking'
  643. end
  644. else
  645. act 'Express until breasts are empty':
  646. pumptime = func('lact_lib','$get_breastmilk_time', 5, (lactatemv/10))
  647. gt 'lact_lib', 'hand_milking'
  648. end
  649. end
  650. end
  651. act '5 Minutes':
  652. pumptime = 5
  653. gt 'lact_lib', 'hand_milking'
  654. end
  655. act '10 Minutes':
  656. pumptime = 10
  657. gt 'lact_lib', 'hand_milking'
  658. end
  659. act 'Custom':
  660. pumptime = input ("How long do you plan to massage your breasts? (Not more than 60 minutes)")
  661. if pumptime <= 0 or pumptime > 60:
  662. minut += 2
  663. act 'Don''t express':gt $loc, $metka
  664. act 'back':gt 'lact_lib', 'man_milking'
  665. elseif pumptime > 0 and pumptime <= 60:
  666. gt 'lact_lib', 'hand_milking'
  667. end
  668. end
  669. act 'Don''t express':menu_off = 0 & gt $loc, $metka
  670. end
  671. end
  672. if $ARGS[0] = 'bp_unbox_event':
  673. if bp_unbox <= 0:
  674. *clr
  675. cla
  676. minut += 5
  677. if $location_type = 'bathroom':
  678. 'You push down the toilet seat to sit down and slowly start to unbox your newly aquirred breast pump.'
  679. elseif $location_type = 'private' and $locclass = 'bedr':
  680. 'You sit down on your bed and slowly start to unbox your newly aquirred breast pump.'
  681. elseif $location_type = 'private':
  682. 'You sit down and slowly start to unbox your newly aquirred breast pump.'
  683. end
  684. if kid <= 0 and preg <= 0 and pregtimes <= 0 and pregchem <= 0 and bp_unbox <= 0:
  685. 'While examining it, you think about why you bought it in the first place. You are not pregnant nor do you have a kid that needs breast milk.'
  686. if lactate <= 0:
  687. 'Your breasts haven''t got any milk in them too, so it seems this pump is a bit useless.'
  688. else
  689. 'At least it can help to get the milk out of your breasts.'
  690. end
  691. end
  692. if $location_type = 'private':
  693. '<center><img <<$set_imgh>> src="images/pc/body/tits/pump_unboxing.jpg"></center>'
  694. elseif $location_type = 'bathroom':
  695. '<center><img <<$set_imgh>> src="images/pc/body/tits/pump_unboxing_bath.jpg"></center>'
  696. else
  697. '<center><img <<$set_imgh>> src="images/pc/body/tits/pump_unboxing_bath.jpg"></center>'
  698. end
  699. if (pcs_inhib > 40 and $location_type = 'private') or $location_type = 'bathroom':
  700. act 'Try out how it works':
  701. *clr
  702. cla
  703. 'You pull up your top to release your breasts'
  704. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/t<<tits>>.jpg"></center><br>'
  705. 'Your fingers glide around the sucktion cup of the breast pump, while your other hand holds the pump.'
  706. 'Making sure that no one is around, you lift the breast pump to your left breast. The cold cone feels uncomfortable on your nipple.'
  707. milkedvolume = func('lact_lib','$get_breastmilk', 3, 1)
  708. minut += 1
  709. bp_unbox = 2
  710. if lactate > 0 and milkedvolume > 0:
  711. if milkedvolume <= 50:
  712. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  713. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it. The pump starts to draw milk from your breast.'
  714. 'You go on for a minute and then detach the pump. You collected some milk, but it is just a small puddle in the bottle.'
  715. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_milkdrops.jpg"></center>'
  716. elseif milkedvolume > 50 and milkedvolume <= 1500:
  717. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  718. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it. The pump starts to draw milk from your breast.'
  719. 'You go on for a minute and then detach the pump. You collected <<milkedvolume/10>>ml of your breastmilk.'
  720. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_half.jpg"></center>'
  721. else
  722. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  723. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it. The pump starts to draw milk from your breast.'
  724. 'You go on for a minute and then detach the pump. You easily filed the breast pump bottle with your breast milk just with this little pumping.'
  725. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_full.jpg"></center>'
  726. end
  727. 'You nod at the breast pump, thinking it will come in handy.'
  728. elseif lactate > 0 and milkedvolume <= 0:
  729. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  730. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it.'
  731. 'You go on for a minute and then detach the pump. You collected some milk, but it is just a small puddle in the bottle.'
  732. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_milkdrops.jpg"></center>'
  733. else
  734. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  735. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it.'
  736. 'You go on for a minute and then detach the pump. As expected no milk was collected in the bottle.'
  737. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/breast_pump.jpg"></center>'
  738. end
  739. act 'continue':
  740. *clr
  741. cla
  742. if milkedvolume > 50 and $location_type = 'private':
  743. 'You look at the milk in the bottle and then around the room. Having no idea what to do with the excess milk, you look at it and suddenly sip it down.'
  744. 'It is your milk, so it should be okay to drink it.'
  745. '<center><img <<$set_imgh>> src="images/pc/body/tits/milk_drink.jpg"></center>'
  746. '<center>The milk is still warm from your breasts.</center>'
  747. pcs_health += milkedvolume/400
  748. pcs_energy += milkedvolume/500
  749. if pcs_hydra >= 100:
  750. pcs_hydra += milkedvolume/200
  751. else
  752. pcs_hydra += milkedvolume/100
  753. end
  754. minut += ((milkedvolume/1000) + 3)
  755. act 'Finish': menu_off = 0 & gt $loc, $metka
  756. else
  757. 'You clean up your pump and cover your breasts again.'
  758. act 'Finish': menu_off = 0 & gt $loc, $metka
  759. end
  760. end
  761. bp_unbox = 2
  762. end
  763. end
  764. act 'Don''t try it here':
  765. *clr
  766. cla
  767. 'You look around you, not feeling to comfortable to use the breast pump here.'
  768. bp_unbox = 1
  769. act 'Finish': menu_off = 0 & gt $loc, $metka
  770. end
  771. elseif bp_unbox = 1:
  772. if $location_type = 'private' and pcs_inhib < 40:
  773. 'You can''t do this here'
  774. act 'Finish': menu_off = 0 & gt $loc, $metka
  775. else
  776. 'You pull up your top to release your breasts'
  777. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/t<<tits>>.jpg"></center><br>'
  778. 'Your fingers glide around the sucktion cup of the breast pump, while your other hand holds the pump.'
  779. 'Making sure that no one is around, you lift the breast pump to your left breast. The cold cone feels uncomfortable on your nipple.'
  780. milkedvolume = func('lact_lib','$get_breastmilk', 3, 1)
  781. minut += 1
  782. bp_unbox = 2
  783. if lactate > 0 and milkedvolume > 0:
  784. if milkedvolume <= 50:
  785. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  786. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it. The pump starts to draw milk from your breast.'
  787. 'You go on for a minute and then detach the pump. You collected some milk, but it is just a small puddle in the bottle.'
  788. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_milkdrops.jpg"></center>'
  789. elseif milkedvolume > 50 and milkedvolume <= 1500:
  790. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  791. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it. The pump starts to draw milk from your breast.'
  792. 'You go on for a minute and then detach the pump. You collected <<milkedvolume/10>>ml of your breastmilk.'
  793. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_half.jpg"></center>'
  794. else
  795. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  796. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it. The pump starts to draw milk from your breast.'
  797. 'You go on for a minute and then detach the pump. You easily filed the breast pump bottle with your breast milk just with this little pumping.'
  798. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_full.jpg"></center>'
  799. end
  800. 'You nod at the breast pump, thinking it will come in handy.'
  801. elseif lactate > 0 and milkedvolume <= 0:
  802. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  803. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it.'
  804. 'You go on for a minute and then detach the pump. You collected some milk, but it is just a small puddle in the bottle.'
  805. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/pump_milkdrops.jpg"></center>'
  806. else
  807. 'You start to squeeze the bulb. Your nipple is sucked into the cone, getting elongated a bit. It feels weird at first and you release the lever, the sucktion on your nipple goes away and the nipple retracts.'
  808. 'With your hand you squeeze down again, your nipple sucked in again. You go on, and start to rythmically squeeze it.'
  809. 'You go on for a minute and then detach the pump. As expected no milk was collected in the bottle.'
  810. '<br><center><img <<$set_imgh>> src="images/pc/body/tits/breast_pump.jpg"></center>'
  811. end
  812. act 'continue':
  813. *clr
  814. cla
  815. if milkedvolume > 50 and $location_type = 'private':
  816. 'You look at the milk in the bottle and then around the room. Having no idea what to do with the excess milk, you look at it and suddenly sip it down.'
  817. 'It is your milk, so it should be okay to drink it.'
  818. '<center><img <<$set_imgh>> src="images/pc/body/tits/milk_drink.jpg"></center>'
  819. '<center>The milk is still warm from your breasts.</center>'
  820. pcs_health += milkedvolume/400
  821. pcs_energy += milkedvolume/500
  822. if pcs_hydra >= 100:
  823. pcs_hydra += milkedvolume/200
  824. else
  825. pcs_hydra += milkedvolume/100
  826. end
  827. minut += ((milkedvolume/1000) + 3)
  828. act 'Finish': menu_off = 0 & gt $loc, $metka
  829. else
  830. 'You clean up your pump and cover your breasts again.'
  831. act 'Finish': menu_off = 0 & gt $loc, $metka
  832. end
  833. end
  834. end
  835. elseif bp_unbox >= 2:
  836. *clr
  837. cla
  838. 'You unboxed your breast pump already.'
  839. act 'Finish': menu_off = 0 & gt $loc, $metka
  840. end
  841. end
  842. !! milking
  843. !! never use directly. Always use bp_milking, man_milking or sex_milking
  844. if $ARGS[0] = 'milking':
  845. !! if pumptime <= 0 or pumptime > 60:
  846. !! act 'Finish':gt $loc, $metka
  847. !! end
  848. if pumptype = 1:
  849. pumptime = (pumptime*6)/10
  850. end
  851. !! :loop
  852. !! if k < kid:
  853. !! gs 'kid','kidlist'
  854. !! k += 1
  855. !! jump 'loop'
  856. !! end
  857. if lactate > 0 and pain['nipples'] < 60:
  858. milkedvolume = func('lact_lib','$get_breastmilk', 3, pumptime)
  859. '<center><img <<$set_imgh>> src="images/pc/body/tits/pump_lactating.jpg"></center>'
  860. if pumptime > 1:
  861. 'You attach the pump to your breast and start rythmically squeezing the bulb for <<pumptime>> minutes.'
  862. else
  863. 'You attach the pump to your breast and start rythmically squeezing the bulb for one minute.'
  864. end
  865. !! Fill the bottles :D
  866. if milkedvolume > pump_bottletype and (bpbottles*1500 + bpbottlem*2500) = pump_bottletype:
  867. 'During pumping you have to empty the collecting bottle as it filled up with your milk.'
  868. 'You give it a few more pumps and detach the pump.<br>You filled the bottle with <<pump_bottletype/10>>ml of your milk.'
  869. 'To collect all your pumped milk you should probably check if the pharmacy has additional bottles for your breast pump.'
  870. pcs_knowsmilkbottles = 1
  871. elseif milkedvolume > pump_bottletype and (bpbottles*1500 + bpbottlem*2500) > pump_bottletype:
  872. !! Checking which bottletype is used and filling those bottles up before the other type is used.
  873. bp_used_mbottle = 0
  874. bp_used_sbottle = 0
  875. :sbottleloop
  876. if pump_bottletype < 2500 and milkedvolume >= 1500 and bp_used_sbottle < bpbottles:
  877. bp_used_sbottle += 1
  878. milkedvolume -= 1500
  879. jump 'sbottleloop'
  880. end
  881. :mbottleloop
  882. if pump_bottletype >= 2500 and milkedvolume >= 2500 and bp_used_mbottle < bpbottlem:
  883. bp_used_mbottle += 1
  884. milkedvolume -= 2500
  885. jump 'mbottleloop'
  886. end
  887. !! Checking for the milkedvolume and if there are bottles left. if yes - use these bottles
  888. if milkedvolume > 0 and (((bpbottlem - bp_used_mbottle) > 0) or ((bpbottles - bp_used_sbottle) > 0)):
  889. :altfill01
  890. if pump_bottletype < 2500 and milkedvolume >= 2500 and bp_used_mbottle < bpbottlem:
  891. bp_used_mbottle += 1
  892. milkedvolume -= 2500
  893. jump 'altfill01'
  894. end
  895. :altfill02
  896. if pump_bottletype >= 2500 and milkedvolume >= 1500 and bp_used_sbottle < bpbottles:
  897. bp_used_sbottle += 1
  898. milkedvolume -= 1500
  899. jump 'altfill02'
  900. end
  901. end
  902. !! by this point all bottles should have been used up. Everything else needs to end up in the drain.
  903. if milkedvolume > 0 and bpbottlem = bp_used_mbottle and bpbottles = bp_used_sbottle:
  904. 'During pumping you have to switch the collecting bottle as it filled up with your milk. Unfortunately you don''t have enough bottles to collect all your milk.'
  905. 'You had to pour <<milkedvolume/10>>ml of your breast milk into the sink.'
  906. milkedvolume = ((bp_used_mbottle*2500) + (bp_used_sbottle*1500))
  907. elseif milkedvolume > 0 and milkedvolume < 1500 and (bpbottles - bp_used_sbottle) > 0:
  908. 'During pumping you have to switch the collecting bottle as it filled up with your milk.'
  909. elseif milkedvolume > 0 and milkedvolume < 2500 and milkedvolume > 1500 and (bpbottlem - bp_used_mbottle) > 0:
  910. 'During pumping you have to switch the collecting bottle as it filled up with your milk.'
  911. else
  912. 'During pumping you have to switch the collecting bottle as it filled up with your milk.'
  913. end
  914. if bp_used_mbottle >= 1 or bp_used_sbottle >= 1:
  915. '<center><img <<$set_imgh>> src="images/pc/body/tits/bottles_full.jpg"></center>'
  916. if milkedvolume = ((bp_used_mbottle*2500) + (bp_used_sbottle*1500)):
  917. 'You pumped <<milkedvolume/10>>ml of milk from your breasts, collecting it in:'
  918. if bp_used_sbottle = 1:
  919. 'One 150ml bottle'
  920. elseif bp_used_sbottle > 1:
  921. '<<bp_used_sbottle>> x 150ml bottles'
  922. end
  923. if bp_used_mbottle = 1:
  924. 'One 250ml bottle'
  925. elseif bp_used_mbottle > 1:
  926. '<<bp_used_mbottle>> x 250ml bottles'
  927. end
  928. else
  929. 'You pumped <<((bp_used_mbottle*2500)+(bp_used_sbottle*1500)+milkedvolume)/10>>ml of milk from your breasts collecting it in:'
  930. if bp_used_sbottle = 1:
  931. 'One 150ml bottle'
  932. elseif bp_used_sbottle > 1:
  933. '<<bp_used_sbottle>> x 150ml bottles'
  934. end
  935. if bp_used_mbottle = 1:
  936. 'One 250ml bottle'
  937. elseif bp_used_mbottle > 1:
  938. '<<bp_used_mbottle>> x 250ml bottles'
  939. end
  940. if (bpbottles - bp_used_sbottle) > 0 and milkedvolume <= 1500:
  941. 'You also stored <<milkedvolume/10>>ml of breast milk in a 150ml bottle.'
  942. elseif (bpbottlem - bp_used_mbottle) > 0 and milkedvolume <= 2500:
  943. 'You also stored <<milkedvolume/10>>ml of breast milk in a 250ml bottle.'
  944. else
  945. 'unhandled case - you shouldn''t end up here. Please report this in the bug section of Girl Life in the tfg-forums.'
  946. 'bp_used_mbottle: <<bp_used_mbottle>>'
  947. 'bp_used_sbottle: <<bp_used_sbottle>>'
  948. 'milkedvolume: <<milkedvolume>>'
  949. 'pump_bottletype: <<pump_bottletype>>'
  950. 'bpbottles: <<bpbottles>>'
  951. 'bpbottlem: <<bpbottlem>>'
  952. end
  953. milkedvolume += bp_used_mbottle*2500 + bp_used_sbottle*1500
  954. end
  955. else
  956. 'unhandled case - you shouldn''t end up here. Please report this in the bug section of Girl Life in the tfg-forums.'
  957. 'bp_used_mbottle: <<bp_used_mbottle>>'
  958. 'bp_used_sbottle: <<bp_used_sbottle>>'
  959. 'milkedvolume: <<milkedvolume>>'
  960. 'pump_bottletype: <<pump_bottletype>>'
  961. 'bpbottles: <<bpbottles>>'
  962. 'bpbottlem: <<bpbottlem>>'
  963. end
  964. else
  965. 'You give it a few more pumps and detach the pump.<br>You filled the bottle with <<milkedvolume/10>>ml of your milk.'
  966. end
  967. breastcounter += 1
  968. if energytomilkpump > 0 and pcs_energy = 0:
  969. '<br>During pumping you feel really hungry, producing breast milk seems to be more exhausing then thought.'
  970. energytomilkpump = 0
  971. elseif energytomilkpump > 0:
  972. '<br>You feel a bit thirsty after pumping.'
  973. energytomilkpump = 0
  974. end
  975. if bcream_used = 1:
  976. pcs_nips += rand(0,2)
  977. bcream_used = 0
  978. end
  979. minut += pumptime
  980. elseif lactate = 0 and pain['nipples'] < 60:
  981. if rand(1,50) + prolactinlvl >= rand(200,250) and milkinduceday >= 5:
  982. '<center><img <<$set_imgh>> src="images/pc/body/tits/lactate_start.jpg"></center>'
  983. 'As usual, you attach the pump but after a few pumps white liquid suddenly starts flowing from your nipples.<br>You started lactating!'
  984. lactateinduced = 1
  985. lactate = 1
  986. if func('lact_lib','$calc_lactatemm') > 0: lactatemm = func('lact_lib','$calc_lactatemm')
  987. if prolactinlvl < 200: prolactinlvl = 200
  988. lactaterate = 10*(prolactinlvl/200)
  989. pcs_nips += 2
  990. pumpinggrowth = 0
  991. else
  992. milkedvolume = func('lact_lib','$get_breastmilk', 3, pumptime)
  993. '<center><img <<$set_imgh>> src="images/pc/body/tits/t<<tits>>.jpg"></center>'
  994. if breastcounter < 100:
  995. 'You attach the pump to your nipples and start squeezing the bulb. The vacuum feels uncomfortable on your nipples.'
  996. elseif breastcounter >= 100 and breastcounter < 200:
  997. 'You attach the pump to your nipples and start squeezing the bulb. You are used to the vacuum on your nipples.'
  998. else
  999. 'You attach the pump to your nipples and start squeezing the bulb. The vacuum feels good on your nipples.'
  1000. end
  1001. if prolactinlvl > 100: 'A few droplets of liquid come out of your nipples but it is not milk.'
  1002. breastcounter += 1
  1003. if pump_stop_brake = 1:
  1004. 'During pumping your nipples start to hurt extremely. You have to stop after <<pumptime>> minutes, because you couldn''t go on.'
  1005. end
  1006. if prolactinlvl > 100:
  1007. if rand(0,10) > 9:
  1008. pumpinggrowth += 1
  1009. end
  1010. 'After finishing, your breasts feel weirdly engorged.'
  1011. end
  1012. if bcream_used = 1:
  1013. pcs_nips += rand(0,2)
  1014. bcream_used = 0
  1015. end
  1016. end
  1017. minut += pumptime
  1018. else
  1019. 'Your nipples feel too sore to use the pump right now.'
  1020. end
  1021. if milkedvolume > 0:
  1022. lact_engorgement = 0
  1023. lactatemess = 0
  1024. act 'Pour it into the sink':
  1025. *clr
  1026. cla
  1027. if milkedvolume > 1500 and bpbottles <= 1:
  1028. '<center><img <<$set_imgh>> src="images/pc/body/tits/milk_sink.jpg"></center>'
  1029. '<center>You pour 150ml of your breast milk into the sink and clean up your breastpump.</center>'
  1030. else
  1031. '<center><img <<$set_imgh>> src="images/pc/body/tits/milk_sink.jpg"></center>'
  1032. '<center>You pour <<milkedvolume/10>>ml of your breast milk into the sink and clean up your breastpump.</center>'
  1033. end
  1034. minute += ((milkedvolume/1500) + 3)
  1035. act 'Finish':
  1036. milkedvolume = 0
  1037. menu_off = 0 & gt $loc, $metka
  1038. end
  1039. end
  1040. if pcs_hydra < 100:
  1041. act 'Drink it':
  1042. *clr
  1043. cla
  1044. '<center><img <<$set_imgh>> src="images/pc/body/tits/milk_drink.jpg"></center>'
  1045. '<center>You drink your own breast milk and clean up your breastpump.</center>'
  1046. '<center>The milk is still warm from your breasts.</center>'
  1047. pcs_health += milkedvolume/400
  1048. pcs_energy += milkedvolume/500
  1049. if pcs_hydra >= 100:
  1050. pcs_hydra += milkedvolume/200
  1051. else
  1052. pcs_hydra += milkedvolume/100
  1053. end
  1054. minute += ((milkedvolume/1000) + 3)
  1055. act 'Finish':
  1056. milkedvolume = 0
  1057. menu_off = 0 & gt $loc, $metka
  1058. end
  1059. end
  1060. end
  1061. else
  1062. act 'Finish':menu_off = 0 & gt $loc, $metka
  1063. end
  1064. end
  1065. !! engorged_morning
  1066. !! use href="exec:gt ''lact_lib'',''engorged_morning''"
  1067. if $ARGS[0] = 'engorged_morning':
  1068. minut += 5
  1069. '<center><img <<$set_imgh>> src="images/pc/body/tits/lactate_start.jpg"></center>'
  1070. 'You wake up and your breasts hurt. As you look down, you can see that you have a heavy letdown. You should pump your breasts as soon as possible.'
  1071. act 'Finish':menu_off = 0 & gt $loc, $metka
  1072. end
  1073. if $ARGS[0] = 'hand_milking':
  1074. *clr
  1075. cla
  1076. if lactate > 0:
  1077. 'You start to massage your breasts, your fingers gliding down your breasts skin, over the areolas. Your fingers pressing down into the areola, stretching it forwards to your nipple.'
  1078. 'Several small streams of your milk start to jet out of your nipples.'
  1079. 'You go on for <<pumptime>> minutes until you stop. You clean yourself up and everything else that got wet from your milk.<br>'
  1080. '<center><video autoplay loop src="images/pc/body/tits/bathroom_milking.mp4"></video></center>'
  1081. milkedvolume = func('lact_lib','$get_breastmilk', 5, pumptime)
  1082. minut += pumptime
  1083. else
  1084. 'You start to massage your breasts, your fingers gliding down your breasts skin, over the areolas. Your fingers pressing down into the areola, stretching it forwards to your nipple,'
  1085. 'kneading your breasts as well.'
  1086. '<center><video autoplay loop src="images/pc/body/tits/bathroom_massage.mp4"></video></center>'
  1087. milkedvolume = func('lact_lib','$get_breastmilk', 5, pumptime)
  1088. minut += pumptime
  1089. end
  1090. act 'Finish':menu_off = 0 & gt $loc, $metka
  1091. end
  1092. --- lact_lib ---------------------------------