cikl.qsrc 43 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417
  1. # cikl
  2. !!----------------------------------------------------------------------------
  3. !! Time calculations
  4. day += 1
  5. week += 1
  6. hour -= 24
  7. if day > monthsEnd[month]:
  8. day -= monthsEnd[month]
  9. month += 1
  10. if month > 12: month = 1 & year += 1
  11. !!MJ: Dont think that one is needed. But it was in the original loop.
  12. if month < 1: month = 1
  13. $month = $monthName[month]
  14. !! new years party calculation
  15. temp = func('shortgs','dow',year,12,31)
  16. if temp < 6:
  17. nyp_day = 31
  18. elseif temp = 6:
  19. nyp_day = 30
  20. else
  21. nyp_day = 29
  22. end
  23. end
  24. !!MJ: Dont think that one is needed. But it was here already.
  25. if day <= 0:day = 1
  26. if week > 7:
  27. :loopweek
  28. week -= 7
  29. husbandrink = 0
  30. if military = 1:military = 0
  31. if week > 7:jump 'loopweek'
  32. end
  33. !!----------------------------------------------------------------------------
  34. !!Fame call to update all the fame variables
  35. gs 'fame'
  36. !!moving the porn schedule ahead a day, flaffing for missed shootings, if it even matters
  37. if (film > 0 or pornstack = 1) and pfilmNO = 0 and pfilmSTOP = 0:
  38. if pfilmday[0] > 0: gs 'pornschedule', 'pornmiss'
  39. gs 'pornschedule', 'schedule'
  40. end
  41. !!modelling job check
  42. if model_week ! (daystart - week) / 7:model_job_week = 0
  43. !!acting strings to set available jobs
  44. if casting = 1:
  45. acting_string1 = rand(10000000000,199999999999)
  46. acting_string2 = rand(10000000000,199999999999)
  47. end
  48. gs 'daystart'
  49. dynamic $hypnoDaychange
  50. !!phone reset for bf
  51. ringA = 0
  52. ringB = 0
  53. ringC = 0
  54. if home_owned[1] = 1 and ArendHouseSL <= 0: ArendHouseSL = 0 & home_owned[1] = 0
  55. if home_owned[4] > 0 and ArendHouseSL4 <= 0: ArendHouseSL4 = 0 & home_owned[4] = 0
  56. if home_owned[1] = 1: ArendHouseSL -= 1
  57. if home_owned[4] > 0: ArendHouseSL4 -= 1
  58. !!Appearance Age
  59. vidageday -= 1
  60. if vidageday <= 0:
  61. vidageday = 360
  62. vidage += 1
  63. end
  64. !!Birthday
  65. age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
  66. if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
  67. if workDolgDay > 0: workDolgDay -= 1
  68. if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
  69. if husband > 0: husbanday += 1
  70. if husband > 10 and husbanday > 0: husband -= 15
  71. if fingal > 0: fingal -= 1
  72. if husbandMark = 1 and husband <= 10:
  73. husbizvradd = 0
  74. husbharmin = 0
  75. husbandMark = 0
  76. husband = 0
  77. divorced += 1
  78. if KFOnLineReaga > 0:KFOnLineReaga -= 1
  79. '<b><font color="red">Your husband has filed for a divorce.</font></b>'
  80. end
  81. if katjaPreg = 0 and month >= 2:
  82. if school_year = 2001 and year > 2016:
  83. katjaPreg = 1
  84. elseif school_year = 2000 and year > 2017:
  85. katjaPreg = 1
  86. end
  87. end
  88. !! after having surgery you will be in recuperation for a few days
  89. if surgeryday ! '':
  90. if daystart - 7 <= surgeryday:
  91. dailyhealthimprov = (daystart - surgeryday) * 50
  92. pcs_health = dailyhealthimprov
  93. recuperation = 1
  94. else
  95. killvar 'recuperation'
  96. killvar 'dailyhealthimprov'
  97. end
  98. end
  99. !!Street events daily reset
  100. streetevent_hour = -2
  101. !!Clothing stock and price randomizers
  102. Clothingstock = rand (0,23)
  103. i = 1
  104. :loopprice
  105. Clothingstock[i] = rand (0,500)
  106. i += 1
  107. if i <= 147:jump 'loopprice'
  108. if coatH[defaultcoat] <= 0: defaultcoat = 0
  109. !!------------------------------------------------------------------------------------------------------------
  110. !! Bimbo
  111. !!------------------------------------------------------------------------------------------------------------
  112. !!Bonus from clothing and shoes
  113. if succubusflag = 0 and $cheatBimbo ! '<b>ON</b>':
  114. if bimbocl = 1:
  115. snapshotY += 2
  116. end
  117. if bimbosh = 1:
  118. snapshotY += 1
  119. end
  120. else
  121. bimbocl = 0
  122. end
  123. bimbo += snapshotY
  124. !!Once bimbolevel is set to 1, must use the withdrawal in stat to return to 0
  125. if bimbo > 0 or bimbolevel > 0:
  126. if bimbo < 10:
  127. bimbo -= 1
  128. elseif bimbo < 20:
  129. bimbolevel = 1
  130. elseif bimbo < 30:
  131. bimbolevel = 2
  132. else
  133. bimbolevel = 3
  134. end
  135. end
  136. if bimbo >= 40: bimbo = 40
  137. !!Bimbo levels. They use custom variables so they won''t permanently change character stats
  138. if bimbolevel = 0: supnatvnesh = 0 & bimbostupidity = 0
  139. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 6)
  140. if bimbolevel = 2: supnatvnesh = 4 & bimbostupidity = (pcs_intel / 4)
  141. if bimbolevel = 3: supnatvnesh = 8 & bimbostupidity = (pcs_intel / 3)
  142. !!A Succubus cannot be a Bimbo
  143. if succubusflag = 1:
  144. if bimbolevel > 0 and bimbo > 0: bimbowithdrawal = 40
  145. elseif bimbolevel >= 1:
  146. !!Checks how often sex has occured in the last 24 hours and for drops in bimbo score, for calculating withdrawal
  147. if 3 > snapshotY + snapshotX - (stat['vaginal'] + stat['bj'] + stat['anal']):
  148. bimbowithdrawal = 0
  149. else
  150. bimbowithdrawal += 1
  151. end
  152. end
  153. if bimbo < 0: bimbo = 0
  154. snapshotX = (stat['vaginal'] + stat['bj'] + stat['anal'])
  155. snapshotY = 0
  156. !!------------------------------------------------------------------------------------------------------------
  157. !! Exhibitionism
  158. !!------------------------------------------------------------------------------------------------------------
  159. if pcs_exhib > 0 or exhibitionist_lvl > 0:
  160. if pcs_exhib < 10:
  161. pcs_exhib -= 1
  162. elseif pcs_exhib < 20:
  163. exhibitionist_lvl = 1
  164. elseif pcs_exhib < 30:
  165. exhibitionist_lvl = 2
  166. else
  167. exhibitionist_lvl = 3
  168. end
  169. end
  170. !!Inhibition increases from wearing revealing clothing
  171. if exhibition_outdoors > 0:
  172. if pcs_inhib > 90:
  173. exhibition_outdoors = exhibition_outdoors * 3
  174. elseif pcs_inhib > 75:
  175. exhibition_outdoors = exhibition_outdoors * 5 / 2
  176. elseif pcs_inhib > 60:
  177. exhibition_outdoors = exhibition_outdoors * 2
  178. elseif pcs_inhib > 30:
  179. exhibition_outdoors = exhibition_outdoors * 3 / 2
  180. end
  181. if exhibition_outdoors <= 5:
  182. inhib_exp += rand(3,6)
  183. elseif exhibition_outdoors <= 10:
  184. inhib_exp += rand(5,9)
  185. elseif exhibition_outdoors <= 15:
  186. inhib_exp += rand(7,12)
  187. elseif exhibition_outdoors <= 20:
  188. inhib_exp += rand(9,15)
  189. elseif exhibition_outdoors <= 25:
  190. inhib_exp += rand(12,20)
  191. elseif exhibition_outdoors <= 30:
  192. inhib_exp += rand(16,25)
  193. elseif exhibition_outdoors <= 35:
  194. inhib_exp += rand(20,30)
  195. elseif exhibition_outdoors <= 40:
  196. inhib_exp += rand(25,40)
  197. elseif exhibition_outdoors <= 50:
  198. inhib_exp += rand(35,50)
  199. elseif exhibition_outdoors <= 65:
  200. inhib_exp += rand(50,75)
  201. else
  202. inhib_exp += rand(70,100)
  203. end
  204. end
  205. exhibition_outdoors = 0
  206. !!------------------------------------------------------------------------------------------------------------
  207. !! Succubus
  208. !!------------------------------------------------------------------------------------------------------------
  209. !!Succubus Level & hunger calcs
  210. if succubusflag = 1:
  211. cheatHealth = 1
  212. dynamic $cheatmenu['std_cure']
  213. !! Hunger handling
  214. if sucxpsnapshot >= succubxp: succhungry += 1
  215. sucxpsnapshot = succubxp
  216. if succubxp < 0: succubxp = 0
  217. !! Level handling
  218. if succubxp < 60:
  219. succublvl = 1
  220. $sucself1 = 'that feeling'
  221. sucstorecap = 0
  222. if bimbolevel <= 0: supnatvnesh = 1
  223. elseif succubxp < 150:
  224. succublvl = 2
  225. $sucself1 = 'the power'
  226. sucstorecap = 0
  227. if bimbolevel <= 0: supnatvnesh = 3
  228. elseif succubxp < 270:
  229. succublvl = 3
  230. $sucself1 = 'your other self'
  231. sucstorecap = 100
  232. if bimbolevel <= 0: supnatvnesh = 6
  233. else
  234. succublvl = 4
  235. $sucself1 = 'your true self'
  236. sucstorecap = 200
  237. if bimbolevel <= 0: supnatvnesh = 10
  238. end
  239. if sucskill >= 2 and succublvl >= 2: sucstorecap += 100
  240. if sucskill >= 3 and succublvl >= 2: sucstorecap += (sucstorecap * 2) / 10
  241. if stren_muta < (succublvl - 1): stren_muta = (succublvl - 1)
  242. if agil_muta < (succublvl - 1): agil_muta = (succublvl - 1)
  243. if vital_muta < (succublvl - 1): vital_muta = (succublvl - 1)
  244. if intel_muta < (succublvl - 1): intel_muta = (succublvl - 1)
  245. if react_muta < (succublvl - 1): react_muta = (succublvl - 1)
  246. if sprt_muta < (succublvl - 1): sprt_muta = (succublvl - 1)
  247. if chrsm_muta < (succublvl - 1): chrsm_muta = (succublvl - 1)
  248. if prcptn_muta < (succublvl - 1): prcptn_muta = (succublvl - 1)
  249. if (sucexcess >= 100 and (sucskill < 2 or succhungry > -2)) or (sucexcess >= 100 + sucstorecap and sucskill >= 2):
  250. if pcs_stren < 250: stren_exp += 20 & sucexcess -= 10
  251. if pcs_agil < 250: agil_exp += 20 & sucexcess -= 10
  252. if pcs_vital < 250: vital_exp += 20 & sucexcess -= 10
  253. if pcs_intel < 250: intel_exp += 20 & sucexcess -= 10
  254. if pcs_react < 250: react_exp += 20 & sucexcess -= 10
  255. if pcs_sprt < 250: sprt_exp += 20 & sucexcess -= 10
  256. if pcs_chrsm < 250: chrsm_exp += 20 & sucexcess -= 10
  257. if pcs_prcptn < 250: prcptn_exp += 20 & sucexcess -= 10
  258. if succhungry > (0 - 2 - succublvl): succhungry -= 1 & sucexcess -= 10
  259. if pcs_skin < 100: pcs_skin += 1 & sucexcess -= 2
  260. !! This is to drive the Succubus vidage into the max appearance range
  261. if vidageday < 720 and vidage >= 28: vidageday += 4 & sucexcess -= 4
  262. if vidageday > 0 and vidage <= 20: vidageday -= 4 & sucexcess -= 4
  263. if vidageday >= 720 and vidage > 28:
  264. vidageday -= 360
  265. vidage -= 1
  266. end
  267. if sucexcess > sucstorecap: sucexcess = sucstorecap
  268. elseif sucexcess < 0 and succhungry < 0:
  269. succhungry += 1
  270. if (0 - sucexcess) < (10 * succublvl):
  271. sucexcess = 0
  272. else
  273. sucexcess += (10 * succublvl)
  274. end
  275. end
  276. if sucexcess < 0: sucpowzeroed += 1
  277. if sucexcess >= 0 and sucpowzeroed > 0: sucpowzeroed -= 1
  278. !! This is so a Succubus always moves toward a default vaginal and anal size when she has the accomadation ability
  279. if sucskill >= 4:
  280. if pcs_vag - 2 >= 13:
  281. pcs_vag -= 2
  282. elseif pcs_vag + 2 <= 13:
  283. pcs_vag += 2
  284. end
  285. if pcs_ass - 2 >= 8:
  286. pcs_ass -= 2
  287. elseif pcs_ass + 2 <= 8:
  288. pcs_ass += 2
  289. end
  290. end
  291. end
  292. !!------------------------------------------------------------------------------------------------------------
  293. if defcurly = 0 and curly > 0:curly -= 1
  294. if defcurly = 1:
  295. if straight > 0: straight -= 1
  296. if straight = 0: curly = 2147483647
  297. end
  298. ! WD: Added daily reduction of braids for Maruda Hair Mod
  299. if hbraids > 0: hbraids -= 1
  300. pcs_sweat += 2
  301. if pcs_tan > 0: pcs_tan -= 1
  302. if prezikmsg = 2: prezikmsg = 3
  303. !!------------------------------------------------------------------------------------------------------------
  304. !! Birth control
  305. !!------------------------------------------------------------------------------------------------------------
  306. !! Birth Control Management variables
  307. !!
  308. !! tabletkimm : The modifier for the current mood of the MC.
  309. !! tabletkiap : Autopill factor affecting the liklihood you took your pill as you should have
  310. !! tabletkipt : Pill Dicipline Take increase
  311. !! tabletkipi : Pill Dicipline Dont take increase
  312. !! tabletkicpd : Current MC Pill Dicipline
  313. !! tabletkichday : Current day that the Birth Control is being evaluated for
  314. !! tabletkicheck : If the birth control is automatically handled
  315. !! tabletki : How many packages of Birth Control Pills there are
  316. !! tabletkiold : Total number packages of expired pills
  317. !! tabletkifake : Total number packages of fake/counterfeit pills
  318. !! tabletkirej : Total number packages of factory rejected pills
  319. !! tabletkifert : Total number packages of subsituted fertility pills
  320. !! tabletkisug : Total number packages of sugar pills
  321. !! pillsleft : Total number packages of pills in current package
  322. !! tabletkishot : The flag for being on the Birth Control shot.
  323. !! pillcon : The number for the current birth control chemical level.
  324. !! pilldays : The number of consecutive days (you believe) you have taken your pill
  325. if Luth > (LutH_Max-75) and placebopart <= 0: placebopart = 8
  326. placebopart -= 1
  327. if tabletkishot <= 0: pillcon -= 1000 & pillcon2 -= 1000
  328. if pillcon < 0: pillcon = 0
  329. if pillcon2 < 0: pillcon2 = 0
  330. if tabletkicheck = 2:
  331. if tabletkishot ! 0:
  332. !!cycle = 1
  333. mesec = 0
  334. if rand(0,1000) = 1000:
  335. EggRH = rand(20,80)
  336. else
  337. EggRH = 0
  338. end
  339. FocH = EggRH
  340. end
  341. if tabletkishot <= 0:
  342. pillcon -= 29000
  343. pillcon2 -= 29000
  344. if tabletkishot < 0: tabletkishot = 0
  345. end
  346. if shotdays = -8:
  347. tabletkicheck = 0
  348. shotdue = 0
  349. 'Your birth control shot is no longer protecting you.'
  350. elseif shotdays <= 0:
  351. if shotdays = 0:
  352. shotdue = 7
  353. else
  354. shotdue -= 1
  355. end
  356. 'The chemicals regulating your fertility cycle are wearing off, you need to get your shot in <<shotdue>> days.'
  357. elseif shotdays > 1 and shotdays < 5:
  358. 'You are due for a birth control shot soon if you do not get one, you might get pregnant.'
  359. elseif shotdays = 1:
  360. 'Your birth control shot is due for renewal tomorrow.'
  361. end
  362. if shotdays > -100:shotdays -=1
  363. if tabletkishot > 0:tabletkishot -= 1
  364. end
  365. tabletkipd += tabletkipi
  366. tabletkipi = 0
  367. tabletkipt = 0
  368. if tabletkicheck = 1:
  369. if tabletki = 0 and pillsleft[ptype] = 0:
  370. tabletkicheck = 0
  371. 'You are out of birth control pills.'
  372. tabletkipi = -5
  373. elseif tabletki = 0 and pillsleft[ptype] = 28:
  374. 'You have just opened your last package of birth control pills. You need to buy more.'
  375. elseif tabletki = 0 and pillsleft[ptype] <= 5:
  376. 'You are running out of birth control pills, you only have a few left.'
  377. end
  378. end
  379. if tabletkicheck = 1 and tabletkichday < daystart:
  380. tabletkichday = daystart
  381. tabletkimm = (100*(pcs_willpwr / willpowermax)) + pcs_mood
  382. if pcs_sleep < 10:
  383. tabletkimm -= (100- (pcs_sleep * 10))
  384. end
  385. if pcs_willpwr < willpowermax / 4:
  386. tabletkimm = tabletkimm / 4
  387. elseif pcs_mood < 10:
  388. tabletkimm = tabletkimm / 2
  389. end
  390. tabletkiap = tabletkimm
  391. tabletkiap += (pcs_intel * 4) + (pcs_sprt * 2) + (age * 3)
  392. tabletkiap -= ((kid * 30) + (abort * 2) - (tabletkipd * ((60 - age) / 10)))
  393. temprand = rand(0,(200 + (tabletkimm - ((100 - pcs_sprt) * 3))))
  394. tabletkiap += temprand
  395. if tabletkiap < 300:
  396. if tabletkipd > -10:
  397. if pcs_willpwr < willpowermax / 4:
  398. pilldaychk = 0
  399. 'You stare at your package of birth control pills, you know you should take one but you can''t quite work up enough effort to care.'
  400. elseif pcs_mood < 10:
  401. pilldaychk = 0
  402. 'You stare at your package of birth control pills, but you don''t open it.'
  403. elseif pcs_sleep < 10:
  404. pilldaychk = 0
  405. 'You fumble with your birth control pills, trying to get a pill out. You finally give up too tired to manage it.'
  406. else
  407. pilldaychk = 0
  408. 'You just realized you forgot to take your birth control pill today.'
  409. end
  410. end
  411. tabletkipt = 2
  412. tabletkipi = -4
  413. else
  414. if tabletkiap < 350:
  415. temprand = rand(0,5)
  416. else
  417. temprand = rand(0,1000)
  418. end
  419. if temprand = 0:
  420. temprand = rand(0,1)
  421. if temprand = 0:
  422. gs 'din_bad','takepill'
  423. tabletkipt = -2
  424. tabletkipi = 1
  425. else
  426. tabletkipt = 3
  427. tabletkipi = -3
  428. end
  429. if tabletkipd > -10:
  430. pilldaychk = 0
  431. 'You find yourself holding the bottle of birth control pills, you cannot remember if you took one or not.'
  432. end
  433. if tabletkipd > 0:
  434. if rand(0,9) = 0:
  435. if tabletkipt < 0:
  436. pilldaychk = 0
  437. 'You don''t think you have taken your pill today.'
  438. else
  439. pilldaychk = 1
  440. 'You think you have taken your pill today.'
  441. end
  442. else
  443. if tabletkipt > 0:
  444. pilldaychk = 0
  445. 'You don''t think you have taken your pill today.'
  446. else
  447. pilldaychk = 1
  448. 'You think you have taken your pill today.'
  449. end
  450. end
  451. end
  452. else
  453. 'You take your birth control pill for the day.'
  454. pilldaychk = 1
  455. gs 'din_bad','takepill'
  456. if rand(0,7) = 0 and tabletkiday >= (daystart - 1): tabletkipd += 1
  457. tabletkiday = daystart
  458. tabletkipt = 0
  459. tabletkipi = 0
  460. end
  461. end
  462. elseif tabletkicheck = 0:
  463. if tabletkiday >= (daystart - 1) and tabletkipt = 0 and rand(0,7) = 0: tabletkipt = 1
  464. if pillcon > 0 and tabletkipi = 0 and rand(0,3) = 0 and (tabletkiday + 15) > daystart = 0: tabletkipi = -1
  465. end
  466. if pilldaychk = 1:
  467. pilldays += 1
  468. else
  469. pilldays -= 1
  470. end
  471. pilldaychk = 0
  472. if pilldays > 18: pilldays = 18
  473. if pilldays < 0: pilldays = 0
  474. !!
  475. $MenCal[] = $str(cycle)
  476. if ArrSize('$MenCal') = 60: killvar '$MenCal',0
  477. !!------------------------------------------------------------------------------------------------------------
  478. if lashair ! 1:
  479. pcs_leghair += 1
  480. pcs_pubes += 1
  481. end
  482. if age < 18 and rand (0,2) = 0 and pcs_leghair > 0: pcs_leghair -= 1
  483. if pcs_breath = 1:pcs_breath = 0
  484. if cheatNoEat = 1 and dounspell = 1:fat += 15
  485. !!STD check
  486. if SifacOnce = 1:Sifilis += 1
  487. if GerpesOnce = 1:Gerpes += 1
  488. if TriperOnce = 1:
  489. if Triper > 0:
  490. Triper += 1
  491. end
  492. if TriperOral > 0:
  493. TriperOral += 1
  494. end
  495. If TriperOral > 14 and TriperNapr = 0:
  496. if rand(TriperOral,100) > 80:
  497. TriperOral = 0
  498. if Triper = 0:TriperOnce = 0
  499. TriperOralSigns = 0
  500. end
  501. end
  502. end
  503. if KandidozOnce = 1:Kandidoz += 1
  504. VeneraN = 0
  505. if VeneraOnce > 0:VeneraOnce = 0
  506. if SifacOnce = 1:VeneraN += 1
  507. if GerpesOnce = 1:VeneraN += 1
  508. if TriperOnce = 1:VeneraN += 1
  509. Venera = VeneraN
  510. if pcs_ass > 1 and ashrink > 0 and analplugIN = 0:
  511. if anusK < 0:anusK = 0
  512. if anusK < ashrinkdays:anusK += 1
  513. if anusK >= ashrinkdays:pcs_ass -= ashrink & anusK = 0
  514. if pcs_ass < 0: pcs_ass = 0
  515. end
  516. if pcs_vag > 10 and vshrink > 0:
  517. if vaginaK < 0:vaginaK = 0
  518. if vaginaK < vshrinkdays:vaginaK += 1
  519. if vaginaK >= vshrinkdays:vaginaK = 0 & pcs_vag -= vshrink
  520. end
  521. lipkoef -= rand(0,1)
  522. if lipkoef <= 0: lipkoef = 0
  523. if Enable_autotampon = 0 and isprok = 1:isprok = 0 & 'You threw away your used tampon.'
  524. if Enable_autotampon = 0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'
  525. if preg = 1:
  526. pregtime = pregchem / 24
  527. if pregtimes = 0:pregtimes = 1
  528. elseif preg = 2 and pregminut < totminut:
  529. if Enable_nogameover = 0 :
  530. cla
  531. *clr
  532. over = 4
  533. MSG '<center><b>A horrible pain shoots through your body.</b></center>'
  534. xgt 'gameover'
  535. exit
  536. else
  537. MSG'<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
  538. pregminut = totminut + 1440
  539. end
  540. elseif preg = 0:
  541. KILLVAR 'pregTalkBrother'
  542. KILLVAR 'pregTalkSister'
  543. KILLVAR 'pregTalkFather'
  544. !{KILLVAR 'pregTalkFamily' -- Do not kill this (Abortion talk).}
  545. KILLVAR 'pregTalkMom'
  546. KILLVAR 'pregTalk'
  547. KILLVAR 'pregTalkNat'
  548. KILLVAR 'pregTalkKatja'
  549. KILLVAR 'pregTalkAlbina'
  550. KILLVAR 'pregTalkPC'
  551. KILLVAR 'pregTalkStarlets'
  552. KILLVAR 'pregTalkvball'
  553. KILLVAR 'pregTalkTrack'
  554. killvar 'pregtalkStarlets'
  555. killvar 'pregtalkvball'
  556. killvar 'pregtime'
  557. killvar 'knowpreg'
  558. killvar 'denypreg'
  559. killvar '$wombthfath'
  560. end
  561. !!------------------------------------------------------------------------------------------------------------
  562. !! Arousal
  563. !!------------------------------------------------------------------------------------------------------------
  564. if magikDostup = 0:
  565. if pcs_horny < 100:pcs_horny += pcs_vag
  566. else
  567. if pcs_vag = 0:
  568. razeba = 0
  569. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 10
  570. if pcs_horny > 50:pcs_horny -= 25
  571. elseif pcs_vag > 0:
  572. if pregtimes = 0:
  573. if age < 18:
  574. razeba = 1
  575. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 5
  576. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 10
  577. if pcs_horny >= 80:pcs_horny -= 20
  578. elseif age >= 18 and age < 21:
  579. razeba = 2
  580. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 1
  581. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 5
  582. if pcs_horny >= 80:pcs_horny -= 10
  583. elseif age >= 21 and age < 25:
  584. razeba = 3
  585. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 1
  586. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 1
  587. if pcs_horny >= 80:pcs_horny -= 5
  588. elseif age >= 25 and age < 30:
  589. razeba = 4
  590. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 5
  591. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 1
  592. if pcs_horny >= 80:pcs_horny -= 5
  593. elseif age >= 30:
  594. razeba = 5
  595. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  596. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  597. if pcs_horny >= 80:pcs_horny += 1
  598. end
  599. elseif pregtimes > 0:
  600. if preg = 0:
  601. razeba = 5
  602. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  603. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  604. if pcs_horny >= 80:pcs_horny += 1
  605. elseif preg > 0:
  606. razeba = 6
  607. if pcs_horny < 100:pcs_horny += pregtime / 10
  608. end
  609. end
  610. end
  611. end
  612. if pcs_horny < 0:pcs_horny = 0
  613. !!------------------------------------------------------------------------------------------------------------
  614. !counter for Dimka avoidance
  615. if dimaFilm = 1 and dimaRudeBlock = 0:
  616. nodimkaK += 1
  617. DimkaWarnedToday = 0
  618. end
  619. !!------------------------------------------------------------------------------------------------------------
  620. !!Fame degradation
  621. gs 'fame', 'deg'
  622. !!Traits
  623. gs 'traits', 'overnight'
  624. !!------------------------------------------------------------------------------------------------------------
  625. !! Maruda hair mod
  626. !!------------------------------------------------------------------------------------------------------------
  627. !! Max. Hair length 600mm, or 60cm, which should be somewhere in the lower back area.
  628. !! Hair grows 1mm each day, it takes 20 months (1 month = 30 days) to regrow the hair from 0.
  629. if pcs_hairlng < 1001 and hairgrowcht = 0:pcs_hairlng += 1
  630. if pcs_haircol ! nathcol:
  631. dyefade -=1
  632. if dyefade < 0: dyefade = 0
  633. if dyefade > 0 and dyefade < 7: dyevmod = 5
  634. if dyefade = 0: dyevmod = 15
  635. end
  636. if hscrunch > 0:
  637. hscrunchrand = rand(1, 100)
  638. if hscrunchrand <= 8:hscrunch -= 1
  639. end
  640. !!------------------------------------------------------------------------------------------------------------
  641. !! Clothing wear and tear
  642. gs 'starenie'
  643. if nark > 60:
  644. nark = 60
  645. elseif nark > 30:
  646. nark -= 3
  647. elseif nark > 0:
  648. nark -= 1
  649. end
  650. if pregtime > 10:fat += 1
  651. !!------------------------------------------------------------------------------------------------------------
  652. !! Pain
  653. !!------------------------------------------------------------------------------------------------------------
  654. if pain['head'] > 0:pain['head'] -= rand(1,3)
  655. if pain['hair'] > 0:pain['hair'] -= rand(1,3)
  656. if pain['ears'] > 0:pain['ears'] -= rand(1,3)
  657. if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
  658. if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
  659. if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
  660. if pain['nose'] > 0:pain['nose'] -= rand(1,3)
  661. if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
  662. if pain['lips'] > 0:pain['lips'] -= rand(1,3)
  663. if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
  664. if pain['throat'] > 0:pain['throat'] -= rand(1,3)
  665. if pain['neck'] > 0:pain['neck'] -= rand(1,3)
  666. if pain['back'] > 0:pain['back'] -= rand(1,3)
  667. if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
  668. if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
  669. if pain['hips'] > 0:pain['hips'] -= rand(1,3)
  670. if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
  671. if pain['legL'] > 0:pain['legL'] -= rand(1,3)
  672. if pain['legR'] > 0:pain['legR'] -= rand(1,3)
  673. if pain['feet'] > 0:pain['feet'] -= rand(1,3)
  674. if pain['toes'] > 0:pain['toes'] -= rand(1,3)
  675. if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
  676. if pain['armL'] > 0:pain['armL'] -= rand(1,3)
  677. if pain['armR'] > 0:pain['armR'] -= rand(1,3)
  678. if pain['hands'] > 0:pain['hands'] -= rand(1,3)
  679. if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
  680. if pain['chest'] > 0:pain['chest'] -= rand(1,3)
  681. if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
  682. if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
  683. if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
  684. if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
  685. if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
  686. if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
  687. if pain['labia'] > 0:pain['labia'] -= rand(1,3)
  688. if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
  689. if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
  690. if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)
  691. if painpub = 2:
  692. if painpubday + 5 < daystart:
  693. $painpub = 'Your vulva is painfully sore.'
  694. painpub = 1
  695. painpubday = daystart
  696. elseif painpubday + 5 >= daystart:
  697. $painpub = 'Your vulva is painfully sore.'
  698. end
  699. elseif painpub = 1:
  700. if painpubday + 5 < daystart:
  701. $painpub = ''
  702. painpub = 0
  703. painpubday = daystart
  704. elseif painpubday + 5 >= daystart:
  705. $painpub = 'Your vulva is a little sore.'
  706. end
  707. end
  708. !!---- Calculation of lash extension degradation and false lash removal
  709. if pcs_lashes > 2:
  710. if lashextensionstyle >= 1:
  711. lashextensionduration -= 1
  712. if lashextensionduration >= 1 and lashextensionduration <= 4:
  713. 'It''s time for you to do your maintenance on your lash extensions; you should go to the salon or you risk growing them all out.'
  714. end
  715. if lashextensionduration <= 0:
  716. 'You waited too long to do maintenance on your lash extensions; there''s too little there to notice or work with at this point.'
  717. pcs_lashes = pcs_naturallashes
  718. killvar 'lashextensionstyle'
  719. killvar 'lashextensionduration'
  720. killvar 'lashextensionnew'
  721. end
  722. end
  723. if false_lashes > 0:
  724. false_lashes -= 1
  725. if false_lashes = 0:
  726. 'Your false lashes came off in the night; there''s no recovering them now.'
  727. pcs_lashes = pcs_naturallashes
  728. else
  729. 'Somehow, your lashes managed to stay attached throughout the night. You might be able to get away with wearing them another day straight.'
  730. end
  731. end
  732. end
  733. prezikProver += 1
  734. if pirs_pain_ton > 0:pirs_pain_ton -= 1
  735. if shorthair = 1:
  736. shorthairday += 1
  737. if shorthairday >= 45:shorthairday = 0 & shorthair = 0
  738. end
  739. !!------------------------------------------------------------------------------------------------------------
  740. if KatjaOTN > 0:
  741. if KatjaHorny > 0 and KatjaLust < 40:KatjaHorny -= rand(1, 3)
  742. if KatjaLust >= 40:KatjaHorny += rand(1, 3)
  743. if KatjaHorny < 0:KatjaHorny = 0
  744. if KatjaHorny >= 100:KatjaHorny = 0 & KatjaMastr += 1 & KatjaLust += 1
  745. end
  746. if npc_rel['A69'] > 60 and rand(0,3) = 0:npc_rel['A69'] -= 1
  747. !!Counter for dimka/igor date
  748. if igor_DimaNos = 2 or igor_DimaNos = 3: $igor_DimaNos_day += 1
  749. !!------------------------------------------------------------------------------------------------------------
  750. !! Generation
  751. !!------------------------------------------------------------------------------------------------------------
  752. if NPCnum < 290:
  753. NPCnow = NPCnum
  754. NPCnum += rand(1, 3)
  755. gs 'npc'
  756. elseif NPCnum < 300:
  757. NPCnow = NPCnum
  758. NPCnum += 1
  759. gs 'npc'
  760. end
  761. !!------------------------------------------------------------------------------------------------------------
  762. if kanikuli = 0:pcs_grades -= 1
  763. dmishaevent = 0
  764. if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
  765. if GspravkaT = 1:Gspravka -= 1
  766. if IvanPodstavaQW = 2 and PodpiskaNeviezd = 30:IvanPodstavaQW = 3
  767. if IvanPodstavaQW = 2 and PodpiskaNeviezd > 0 and PodpiskaNeviezd < 30:PodpiskaNeviezd += 1
  768. !!remove degradation for inhibition
  769. inhib_flr = inhib_lvl
  770. gs 'stat_sklattrib', 'daycall'
  771. if dounspell = 1:
  772. if strenbuf > 90:
  773. strenbuf -= 2
  774. elseif strenbuf > 80:
  775. strenbuf -= 1
  776. end
  777. if vitalbuf > 90:
  778. vitalbuf -= 2
  779. elseif vitalbuf > 80:
  780. vitalbuf -= 1
  781. end
  782. if strenbuf > pcs_stren: strenbuf -= 1
  783. if strenbuf < pcs_stren: strenbuf += 1
  784. if vitalbuf > pcs_vital: vitalbuf -= 1
  785. if vitalbuf < pcs_vital: vitalbuf += 1
  786. if agilbuf > pcs_agil: agilbuf -= 1
  787. if agilbuf < pcs_agil: agilbuf += 1
  788. else
  789. gs 'body_shape'
  790. end
  791. if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
  792. !!Pussy_Kats job settings
  793. inWorkYoungShop = 0
  794. if week = 1 and young_shop_work = 100: young_shop_work = 1
  795. if week = 5 and young_shop_work1 = 100: young_shop_work1 = 1
  796. if week = 1 and young_shop_work2 = 100: young_shop_work2 = 1
  797. husbandsexday = 0
  798. borsexkol = 0
  799. givisexday = 0
  800. if shantsr > 0:
  801. pay = shantsr * 5000
  802. karta += pay
  803. shantsr = 0
  804. end
  805. if shantbog > 0:
  806. :shantftb
  807. shantftbgrand = rand(0, 10)
  808. if shantftbgrand > 2:
  809. shantpopala += 1
  810. shantbog -= 1
  811. if shantbog > 0:jump 'shantftb'
  812. elseif shantftbgrand <= 2:
  813. karta += 30000
  814. shantbog -= 1
  815. if shantbog > 0:jump 'shantftb'
  816. end
  817. end
  818. petersexday = 0
  819. klismaday1 = 0
  820. !! Resetting relationships that go over the max
  821. :toptemprel
  822. if temprel < 250:
  823. temprel +=1
  824. if npc_rel['A'+'<<temprel>>'] > 100:npc_rel['A'+'<<temprel>>'] = 100
  825. jump 'toptemprel'
  826. end
  827. killvar 'temprel'
  828. !!------------------------------------------------------------------------------------------------------------
  829. !! Banking
  830. !!------------------------------------------------------------------------------------------------------------
  831. !!MJ: Add some (daily) interest to the bank account.
  832. !!Not very realistic but won''t make anyone too rich.
  833. if bankAccount = 1:
  834. kartatotal = karta
  835. :kartaloop
  836. if kartatotal > 20000000:
  837. kartacount += 1
  838. largekarta[kartacount] = 20000000
  839. kartatotal -= 20000000
  840. jump 'kartaloop'
  841. else
  842. largekarta[0] = kartatotal
  843. end
  844. if karta >= 2000000:
  845. !! yearly interest of 2.3% recalculated into daily interest = 0.006% daily
  846. intrate = 60
  847. elseif karta >= 0:
  848. !! yearly interest of 1.15% recalculated into daily interest = 0.003% daily
  849. intrate = 30
  850. else
  851. !! yearly overdraft interest of 20% recalculated into daily interest = 0.055% daily
  852. intrate = 550
  853. end
  854. :intloop
  855. if kartacount > 0:
  856. smallmoneypos += (largekarta[kartacount] * intrate)
  857. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000: karta += smallmoneypos / 1000000 & smallmoneypos = smallmoneypos mod 1000000
  858. largekarta[kartacount] = 0
  859. kartacount -= 1
  860. jump 'intloop'
  861. else
  862. smallmoneypos += (largekarta[0] * intrate)
  863. largekarta[0] = 0
  864. if kartacount ! 0: kartacount = 0
  865. end
  866. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000:
  867. karta += smallmoneypos / 1000000
  868. smallmoneypos = smallmoneypos mod 1000000
  869. end
  870. if atmDeposit > 0 and atmDepositDate <= daystart:
  871. karta += atmDeposit
  872. atmDeposit = 0
  873. end
  874. end
  875. !!------------------------------------------------------------------------------------------------------------
  876. !! Payments
  877. !!------------------------------------------------------------------------------------------------------------
  878. if day = 25:
  879. !! meynold payment
  880. if mey_vika_qw >= 35 and mey_tamara_help_count >= 10 and mey_tamara_qw_end = 0:
  881. money += 5000
  882. '<b><font color=green>For your efforts aunt Tamara gave you 5,000 rubles</font></b>'
  883. mey_tamara_help_count = 0
  884. end
  885. if PersSecWork = 1 and PersSecWorkTimes > 0 and paydaybistrosec = 0:
  886. Pay = PersSecWorkTimes * 1250
  887. PersSecWorkTimes = 0
  888. karta += Pay
  889. paydaybistrosec = 1
  890. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
  891. end
  892. if workKafe = 1 and paydayKafe = 0:
  893. paydayKafe = 1
  894. pay = smenaKafe * 600
  895. karta += pay
  896. smenaKafe = 0
  897. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a waitress in a cafe.</font></b>'
  898. end
  899. if workhosp = 1 and nopaypoly = 0:
  900. pay = smena * 1000
  901. karta += pay
  902. smena = 0
  903. nopaypoly = 1
  904. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in the clinic.</font></b>'
  905. end
  906. if worksalon = 1 and nopaysalon = 0:
  907. pay = smenaSalon * 1560
  908. karta += pay
  909. smenaSalon = 0
  910. nopaysalon = 1
  911. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your work in a beauty salon.</font></b>'
  912. end
  913. if tanwork = 1 and nopaytanwork = 0:
  914. nopaytanwork = 1
  915. karta += 10000
  916. '<b><font color="green">Your salary of 10,000 <b>₽</b> has been paid into your bank account for your work as a house maid.</font></b>'
  917. end
  918. if workSec = 1 and paydaySec = 0:
  919. paydaySec = 1
  920. pay = sekDay * 800
  921. if officebestslut >= 3:pay += 10000
  922. karta += pay
  923. sekDay = 0
  924. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job as a secretary.</font></b>'
  925. end
  926. if workFabrika = 1:
  927. pay = smenaFabrika * 420
  928. smenaFabrika = 0
  929. karta += pay
  930. '<b><font color="green">Your salary of <<pay>> <b>₽</b> has been paid into your bank account for your job at the garment factory.</font></b>'
  931. end
  932. if husband > 0 and paydayHusb = 0:
  933. paydayHusb = 1
  934. if husbFin = 0:huspay = 20000
  935. if husbFin = 1:huspay = 30000
  936. if husbFin = 2:huspay = 40000
  937. karta += huspay
  938. '<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
  939. end
  940. if stipuha = 1 and stipuhaday = 0:stipuhaday = 1 & karta += 1200 & '<b><font color="green">You have received 1,200 <b>₽</b> scholarship.</font></b>'
  941. if haday = 0:
  942. gs 'housing', 'rent'
  943. ! Rent for the city apartment
  944. if home_owned[1] = 1:
  945. if ArendHouseSL < 31:
  946. !From bank
  947. if bankAccount = 1 and karta >= home_rent[1]:
  948. '<b><font color="yellow">Your rent payment of <<home_rent[1]>> <b>₽</b> for your city apartment, has automatically been deducted from your bank account.</font></b>'
  949. haday = 1
  950. karta -= home_rent[1]
  951. ArendHouseSL += ArendHouseSL_due
  952. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[1]:
  953. '<b><font color="yellow">Your rent payment of <<home_rent[1]>> <b>₽</b> for your city apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.</font></b>'
  954. haday = 1
  955. karta -= home_rent[1]
  956. ArendHouseSL += ArendHouseSL_due
  957. elseif bankAccount = 0:
  958. '<b><font color="red">You currently do not have a bank account setup for automatic rent deduction of <<home_rent[1]>> <b>₽</b> for your city apartment.To avoid eviction, please make manual payment as soon as possible.</font></b>'
  959. else
  960. nl
  961. '<b><b><font color="red">Your card was declined during automatic rent deduction of <<home_rent[1]>> <b>₽</b> for your city apartment. To avoid eviction, please rectify as soon as possible.</font></b>'
  962. end
  963. elseif home_owned[1] = 1 and ArendHouseSL >= 31:
  964. '<b><font color="yellow">Your rent for your city apartment is already paid in full for this month.</font></b>'
  965. haday = 1
  966. end
  967. end
  968. ! Rent for the Pushkin apartment
  969. if home_owned[4] > 0:
  970. if ArendHouseSL4 < 31:
  971. !From bank
  972. if bankAccount = 1 and karta >= home_rent[4] and ArendHouseSL4 <= 30:
  973. '<b><font color="yellow">Your rent payment of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment, has automatically been deducted from your bank account.</font></b>'
  974. haday = 1
  975. karta -= home_rent[4]
  976. ArendHouseSL4 += ArendHouseSL4_due
  977. elseif bankAccount = 1 and karta + bankDebtLimit >= home_rent[4] and ArendHouseSL4 <= 30:
  978. '<b><font color="yellow">Your rent payment of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment, has automatically been deducted from your bank account and overdraw facility. Please contact your bank regarding your overdraw repayment.</font></b>'
  979. haday = 1
  980. karta -= home_rent[4]
  981. ArendHouseSL4 += ArendHouseSL4_due
  982. elseif bankAccount = 0 and ArendHouseSL4 <= 30:
  983. '<b><font color="red">You currently do not have a bank account setup for automatic rent deduction of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment.To avoid eviction, please make manual payment as soon as possible.</font></b>'
  984. else
  985. nl
  986. '<b><b><font color="red">Your card was declined during automatic rent deduction of <<home_rent[4]>> <b>₽</b> for your Pushkin apartment. To avoid eviction, please rectify as soon as possible.</font></b>'
  987. end
  988. elseif home_owned[4] > 0 and ArendHouseSL4 >= 31:
  989. '<b><font color="yellow">Your rent for your Pushkin apartment is already paid in full this month.</font></b>'
  990. haday = 1
  991. end
  992. end
  993. end
  994. ! Utilities for all apartments.
  995. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 0:
  996. gs 'housing', 'util'
  997. if bankAccount = 1 and karta >= elektro:
  998. '<b><font color="yellow"> <<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account.</font></b>'
  999. electroday = 1
  1000. if elektro >= 2000:
  1001. elektro = 2000 + rand(0, 100)
  1002. karta -= elektro * hcount_util
  1003. end
  1004. elseif bankAccount = 1 and karta + bankDebtLimit >= elektro:
  1005. '<b><font color="yellow"> <<elektro>> <b>₽</b> for utilities, has been automatically deducted from your bank account and overdraw facility. Please contact your bank.</font></b>'
  1006. electroday = 1
  1007. if elektro >= 2000:
  1008. elektro = 2000 + rand(0, 100)
  1009. karta -= elektro * hcount_util
  1010. end
  1011. elseif bankAccount = 0 and money >= elektro:
  1012. '<b><font color="red">You currently do not have a bank account setup for automatic utilities payments. <<elektro>> <b>₽</b> has been deducted from your cash holdings.</font></b>'
  1013. electroday = 1
  1014. if elektro >= 2000:
  1015. elektro = 2000 + rand(0, 100)
  1016. money -= elektro * hcount_util
  1017. end
  1018. else
  1019. '<b><font color="red">Your card was declined during automatic debit of <<elektro>> <b>₽</b>, for automatic utilities payment.</font></b>'
  1020. end
  1021. end
  1022. ! Cable for all apartments
  1023. if kabel > 0 and kabelday = 0:
  1024. gs 'housing', 'cable'
  1025. if bankAccount = 1 and karta >= (300 * hcount_cable):
  1026. '<b><font color="yellow">300 <b>₽</b> has been deducted from your bank account, for you cable TV subscription.</font></b>'
  1027. kabelday = 1
  1028. karta -= 300 * hcount_cable
  1029. '<b><font color="red">Your card was declined during automatic debit of 300 <b>₽</b> for cable TV subscription.</font></b>'
  1030. elseif bankAccount = 1 and karta + bankDebtLimit >= (300 * hcount_cable):
  1031. '<b><font color="yellow">300 <b>₽</b> has been deducted from your bank account and overdraw facility, for you cable TV subscription.</font></b>'
  1032. kabelday = 1
  1033. karta -= 300 * hcount_cable
  1034. elseif bankAccount = 0 and money >= (300 * hcount_cable):
  1035. '<b><font color="red">You currently do not have a bank account setup for automatic payment of your cable TV subscription. 300 <b>₽</b> has been deducted from your cash holdings.</font></b>'
  1036. kabelday = 1
  1037. money -= 300 * hcount_cable
  1038. else
  1039. '<b><font color="red">Your card was declined during automatic debit of 300 <b>₽</b> for cable TV subscription.</font></b>'
  1040. end
  1041. end
  1042. end
  1043. if day ! 25:
  1044. if paydayHusb = 1:paydayHusb = 0
  1045. if workKafe = 1 and paydayKafe = 1:paydayKafe = 0
  1046. if workSec = 1 and paydaySec = 1:paydaySec = 0
  1047. if (home_owned[1] = 1 or home_owned[4] > 0) and haday = 1:haday = 0
  1048. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 2) and electroday = 1:electroday = 0
  1049. if (home_owned[1] > 0 or home_owned[4] > 0 or home_owned[5] = 3) and kabel > 0 and kabelday = 1:kabelday = 0
  1050. if stipuhaday = 1:stipuhaday = 0
  1051. if nopaytanwork = 1:nopaytanwork = 0
  1052. if nopaypoly = 1:nopaypoly = 0
  1053. if nopaysalon = 1:nopaysalon = 0
  1054. if paydaybistrosec = 1:paydaybistrosec = 0
  1055. end
  1056. if sdaday = day and sdamonth = month and home_owned[1] = 0:
  1057. home_owned[1] = 2
  1058. '<b><font color="red">Your tenants have moved out and your apartment is now vacant.</font></b>'
  1059. !msg 'Your tenants have moved out and your apartment is now vacant.'
  1060. end
  1061. !!------------------------------------------------------------------------------------------------------------
  1062. killvar 'holyday'
  1063. killvar 'kanikuli'
  1064. !!sisboyparty
  1065. !!-1 - don''t go to the party
  1066. !!0 - don''t know about parties
  1067. !!1 - knows about the parties
  1068. !!2 - agreed to go to the party
  1069. !!3 - Missed the party
  1070. if storyline = 1:
  1071. !!Party refresh if you didn''t see sis
  1072. if week = 1 and sisboyparty ! 2:
  1073. if sisboyparty = -1: sisboyparty = 1
  1074. if sisboypartyQW >= 2 and sisboyparty > 0:
  1075. sisboyparty_day = daystart + rand(3,5)
  1076. end
  1077. end
  1078. if sisboyparty = 2 and sisboyparty_day + 1 < daystart: sisboyparty = 3
  1079. !!missed graduation
  1080. if month = 5 and day = 26:
  1081. if school_year = 2001 and year = 2018 and kanikuli ! 7:
  1082. grad_miss = daystart + 1
  1083. elseif school_year = 2000 and year = 2017 and kanikuli ! 7:
  1084. grad_miss = daystart + 1
  1085. end
  1086. end
  1087. if SchoolAtestat = 0:
  1088. if month = 12 and day > 25:
  1089. if day < 31:
  1090. $holyday = '<b>Winter Break in <<32-day>> days.</b>'
  1091. else
  1092. $holyday = '<b>Winter Break starts tomorrow.</b>'
  1093. end
  1094. elseif month = 1 and day <= 15:
  1095. kanikuli = 2
  1096. if day < 13:
  1097. $holyday = '<b>Winter Break.</b>'
  1098. elseif day < 15:
  1099. $holyday = '<b>Winter Break ends in <<16-day>> days.</b>'
  1100. else
  1101. $holyday = '<b>Last day of Winter Break.</b>'
  1102. end
  1103. elseif month = 3 and day > 13:
  1104. if day < 19:
  1105. $holyday = '<b>Spring Break starts in <<20-day>> days.</b>'
  1106. elseif day = 19:
  1107. $holyday = '<b>Spring Break starts tomorrow.</b>'
  1108. elseif day >= 20 and day <= 26:
  1109. kanikuli = 3
  1110. if day < 24:
  1111. $holyday = '<b>Spring Break.</b>'
  1112. elseif day < 26:
  1113. $holyday = '<b>Spring Break ends in <<27-day>> days.</b>'
  1114. else
  1115. $holyday = '<b>Last day of Spring Break.</b>'
  1116. end
  1117. end
  1118. elseif month = 5:
  1119. if ( (school_year = 2000 and year = 2017) or (school_year = 2001 and year = 2018) ) and day >= 19 and day <= 25:
  1120. if day = 25:
  1121. kanikuli = 6
  1122. $holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
  1123. elseif day = 24:
  1124. $holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
  1125. else
  1126. $holyday = '<b>Your graduation is in <<26-day>> days.</b>'
  1127. end
  1128. elseif day >= 25:
  1129. if day = 31:
  1130. $holyday = '<b>Summer Break starts tomorrow.</b>'
  1131. else
  1132. $holyday = '<b>Summer Break starts in <<32-day>> days.</b>'
  1133. end
  1134. end
  1135. elseif month = 6 or month = 7 or month = 8:
  1136. kanikuli = 4
  1137. if month = 8 and day >= 25:
  1138. if day = 31:
  1139. $holyday = '<b>Last day of Summer Break.</b>'
  1140. else
  1141. $holyday = '<b>Summer Break ends in <<32-day>> days.</b>'
  1142. end
  1143. else
  1144. $holyday = '<b>Summer Break.</b>'
  1145. end
  1146. elseif month = 10 and day >= 29:
  1147. $holyday = '<b>Autumn Break starts in <<35-day>> days.</b>'
  1148. elseif month = 11:
  1149. if day < 3:
  1150. $holyday = '<b>Autumn Break starts in <<4-day>> days.</b>'
  1151. elseif day = 3:
  1152. $holyday = '<b>Autumn Break starts tomorrow.</b>'
  1153. elseif day < 6:
  1154. kanikuli = 1
  1155. $holyday = '<b>Autumn Break.</b>'
  1156. elseif day < 11:
  1157. kanikuli = 1
  1158. $holyday = '<b>Autumn Break ends in <<12-day>> days.</b>'
  1159. elseif day = 11:
  1160. kanikuli = 1
  1161. $holyday = '<b>Last day of Autumn Break.</b>'
  1162. end
  1163. end
  1164. end
  1165. !!Brother''s dick growth as he gets older
  1166. kolka_dick_month = daystart/30
  1167. if kolka_dick_month > daystart/30 and npc_dick['A34'] < 26: npc_dick['A34'] += 1
  1168. if npc_dick['A34'] < 20 and npc_dick['A34'] > 16:
  1169. $npc_thdick['A34'] = 'well proportioned'
  1170. elseif npc_dick['A34'] >= 20 and npc_dick['A34'] <= 26:
  1171. $npc_thdick['A34'] = 'thick'
  1172. end
  1173. end
  1174. killvar 'natholi'
  1175. if month = 1 and day >= 1 and day <= 8:
  1176. $natholi = 'New Year holidays'
  1177. natholi = 1
  1178. if day = 1:$natholi += ', New Year'
  1179. if day = 7:$natholi += ', Christmas'
  1180. end
  1181. if month = 2 and day = 23:$natholi = 'Defender of Fatherland Day' & natholi = 1
  1182. if month = 3 and day = 8:$natholi = 'Women''s Day' & natholi = 1
  1183. if month = 5 and day = 1:$natholi = 'Spring and Labor Day' & natholi = 1
  1184. if month = 5 and day = 2:$natholi = 'National holiday' & natholi = 1
  1185. if month = 5 and day = 9:$natholi = 'Victory Day' & natholi = 1
  1186. if month = 6 and day = 12:$natholi = 'Russia Day' & natholi = 1
  1187. if month = 6 and day = 13:$natholi = 'National holiday' & natholi = 1
  1188. if month = 11 and day = 4:$natholi = 'Unity Day' & natholi = 1
  1189. if natholi = 1:
  1190. if $holyday ! '': $holyday += '<br>'
  1191. $holiday += $natholi
  1192. end
  1193. if bcream_used >= 1:
  1194. bcream_used = 0
  1195. temp = rand(0,5)
  1196. nbsize += temp
  1197. if temp > 0:'Feels like your breasts have grown slightly.'
  1198. end
  1199. if steroid_dose >= 1:
  1200. if lashair < 1:
  1201. pcs_pubes += steroid_dose
  1202. pcs_leghair += steroid_dose
  1203. end
  1204. steroid_dose = 0
  1205. end
  1206. if aphrodisiac_overdose = 1:aphrodisiac_overdose = 0
  1207. if aphrodisiac_timer ! 0:aphrodisiac_timer = 0
  1208. if mentats_dose = 1:
  1209. mentats_dose = 0
  1210. elseif mentats_dose > 1:
  1211. pain['head'] += 20 * mentats_dose
  1212. mentats_dose = 0
  1213. end
  1214. !!Appearance base calculation call
  1215. gs 'body_shape', 'basebeautycalc'
  1216. !! vovan, from 1.2.5
  1217. hanters_check = 0
  1218. mushroom_pickers = 0
  1219. horse_river = 0
  1220. haying_time = 0
  1221. mira_go_river = 0
  1222. forestpicnic = 0
  1223. if Mira_no > 0: Mira_no -= 1
  1224. if Mira_no < 0: Mira_no = 0
  1225. if catout ! 0: catout = 0
  1226. if feedcat ! 0: feedcat = 0
  1227. loc_count = ARRSIZE('$CloLosLoc')
  1228. i = loc_count - 1
  1229. :loopCloLoc
  1230. $CloLoc = $CloLosLoc[i]
  1231. CloLostOn = CloLosDay[$CloLoc]
  1232. if CloLostOn + RAND(7,14) < daystart :
  1233. gs 'clothing', 'recover_lost_clothes', $CloLoc, 2
  1234. end
  1235. i -=1
  1236. if i > -1 :jump 'loopCloLoc'
  1237. --- cikl ---------------------------------