cikl.qsrc 47 KB

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