cikl 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122
  1. # cikl
  2. day += 1
  3. week += 1
  4. hour -= 24
  5. !!moving the porn schedule ahead a day, flaffing for missed shootings, if it even matters
  6. if (film > 0 or pornstack = 1) and pfilmNO = 0 and pfilmSTOP = 0:
  7. if pfilmday[0] > 0: gs 'pornschedule', 'pornmiss'
  8. gs 'pornschedule', 'schedule'
  9. end
  10. gs 'daystart'
  11. dynamic $hypnoDaychange
  12. !!phone reset for bf
  13. ringA = 0
  14. ringB = 0
  15. ringC = 0
  16. if BuyHous = 2 and ArendHouseSL <= 0: ArendHouseSL = 0 & BuyHous = 0 & housr = 0
  17. if BuyHous = 2 and ArendHouseSL > 0: ArendHouseSL -= 1
  18. !!Appearance Age
  19. vidageday -= 1
  20. if vidageday <= 0:
  21. vidageday = 360
  22. vidage += 1
  23. end
  24. !!Birthday
  25. age = year - ((pcs_dob - (pcs_dob mod 10000)) / 10000)
  26. if ((month * 100) + day) <= pcs_dob mod 10000: age -= 1
  27. if workDolgDay > 0: workDolgDay -= 1
  28. if QWdogreiqTimer > 0: QWdogreiqTimer -= 1
  29. if husband > 0: husbanday += 1
  30. if husband > 10 and husbanday > 0: husband -= 15
  31. if fingal > 0: fingal -= 1
  32. if husbandMark = 1 and husband <= 10:
  33. husbizvradd = 0
  34. husbharmin = 0
  35. husbandMark = 0
  36. husband = 0
  37. divorced += 1
  38. if KFOnLineReaga > 0:KFOnLineReaga -= 1
  39. '<b><font color="red">Your husband has filed for a divorce.</font></b>'
  40. end
  41. if katjaPreg = 0 and month >= 2:
  42. if schoool_year = 2001 and year > 2016:
  43. katjaPreg = 1
  44. elseif schoool_year = 2000 and year > 2017:
  45. katjaPreg = 1
  46. end
  47. end
  48. !Clothing stock and price randomizers
  49. Clothingstock = rand (0,23)
  50. i = 1
  51. :loopprice
  52. Clothingstock[i] = rand (0,500)
  53. i += 1
  54. if i <= 147:jump 'loopprice'
  55. if coatH[defaultcoat] <= 0: defaultcoat = 0
  56. !!------------------------------------------------------------------------------------------------------------
  57. !! Bimbo
  58. !!------------------------------------------------------------------------------------------------------------
  59. !!A Succubus cannot be a Bimbo
  60. if succubusflag = 1 and bimbo > 0: bimbo -= succublvl * 2
  61. !!Once bimbolevel is set to 1, must use the withdrawal in stat to return to 0
  62. if bimbo > 0 or bimbolevel > 0:
  63. if bimbo < 10:
  64. bimbo -= 1
  65. elseif bimbo < 20:
  66. bimbolevel = 1
  67. elseif bimbo < 30:
  68. bimbolevel = 2
  69. else
  70. bimbolevel = 3
  71. end
  72. end
  73. if bimbo >= 40: bimbo = 40
  74. !!Bimbo levels. They use custom variables so they wont permanently change character stats
  75. if bimbolevel = 0: supnatvnesh = 0 & bimbostupidity = 0
  76. if bimbolevel = 1: supnatvnesh = 2 & bimbostupidity = (pcs_intel / 6)
  77. if bimbolevel = 2: supnatvnesh = 4 & bimbostupidity = (pcs_intel / 4)
  78. if bimbolevel = 3: supnatvnesh = 8 & bimbostupidity = (pcs_intel / 3)
  79. if bimbocl = 1 and succubusflag = 0:
  80. bimbocl = 0
  81. bimbo += 2
  82. else
  83. bimbocl = 0
  84. end
  85. !Succubus Level & hunger calcs
  86. if succubusflag = 1:
  87. cheatHealth = 1
  88. dynamic $cheatmenu['std_cure']
  89. !! A Succubus cannot be a Bimbo
  90. if bimbolevel > 0 and bimbo <= 0: bimbowithdrawal = 40
  91. !! Hunger handling
  92. if sucxpsnapshot >= succubxp: succhungry += 1
  93. sucxpsnapshot = succubxp
  94. if succubxp < 0: succubxp = 0
  95. !! Level handling
  96. if succubxp < 60:
  97. succublvl = 1
  98. $sucself1 = 'that feeling'
  99. sucstorecap = 0
  100. if bimbolevel <= 0: supnatvnesh = 1
  101. elseif succubxp < 150:
  102. succublvl = 2
  103. $sucself1 = 'the power'
  104. sucstorecap = 0
  105. if bimbolevel <= 0: supnatvnesh = 3
  106. elseif succubxp < 270:
  107. succublvl = 3
  108. $sucself1 = 'your other self'
  109. sucstorecap = 100
  110. if bimbolevel <= 0: supnatvnesh = 6
  111. else
  112. succublvl = 4
  113. $sucself1 = 'your true self'
  114. sucstorecap = 200
  115. if bimbolevel <= 0: supnatvnesh = 10
  116. end
  117. if sucskill >= 2 and succublvl >= 2: sucstorecap += 100
  118. if sucskill >= 3 and succublvl >= 2: sucstorecap += (sucstorecap * 2) / 10
  119. if stren_muta < (succublvl - 1): stren_muta = (succublvl - 1)
  120. if agil_muta < (succublvl - 1): agil_muta = (succublvl - 1)
  121. if vital_muta < (succublvl - 1): vital_muta = (succublvl - 1)
  122. if intel_muta < (succublvl - 1): intel_muta = (succublvl - 1)
  123. if react_muta < (succublvl - 1): react_muta = (succublvl - 1)
  124. if sprt_muta < (succublvl - 1): sprt_muta = (succublvl - 1)
  125. if chrsm_muta < (succublvl - 1): chrsm_muta = (succublvl - 1)
  126. if prcptn_muta < (succublvl - 1): prcptn_muta = (succublvl - 1)
  127. if (sucexcess >= 100 and (sucskill < 2 or succhungry > -2)) or (sucexcess >= 100 + sucstorecap and sucskill >= 2):
  128. if pcs_stren < 250: stren_exp += 20 & sucexcess -= 10
  129. if pcs_agil < 250: agil_exp += 20 & sucexcess -= 10
  130. if pcs_vital < 250: vital_exp += 20 & sucexcess -= 10
  131. if pcs_intel < 250: intel_exp += 20 & sucexcess -= 10
  132. if pcs_react < 250: react_exp += 20 & sucexcess -= 10
  133. if pcs_sprt < 250: sprt_exp += 20 & sucexcess -= 10
  134. if pcs_chrsm < 250: chrsm_exp += 20 & sucexcess -= 10
  135. if pcs_prcptn < 250: prcptn_exp += 20 & sucexcess -= 10
  136. if succhungry > (0 - 2 - succublvl): succhungry -= 1 & sucexcess -= 10
  137. if pcs_skin < 100: pcs_skin += 1 & sucexcess -= 2
  138. !! This is to drive the Succubus vidage into the max appearance range
  139. if vidageday < 720 and vidage >= 28: vidageday += 4 & sucexcess -= 4
  140. if vidageday > 0 and vidage <= 20: vidageday -= 4 & sucexcess -= 4
  141. if vidageday >= 720 and vidage > 28:
  142. vidageday -= 360
  143. vidage -= 1
  144. end
  145. if sucexcess > sucstorecap: sucexcess = sucstorecap
  146. elseif sucexcess < 0 and succhungry < 0:
  147. succhungry += 1
  148. if (0 - sucexcess) < (10 * succublvl):
  149. sucexcess = 0
  150. else
  151. sucexcess += (10 * succublvl)
  152. end
  153. end
  154. if sucexcess < 0: sucpowzeroed += 1
  155. if sucexcess >= 0 and sucpowzeroed > 0: sucpowzeroed -= 1
  156. !! This is so a Succubus always moves toward a default vaginal and anal size when she has the accomadation ability
  157. if sucskill >= 4:
  158. if pcs_vag - 2 >= 13:
  159. pcs_vag -= 2
  160. elseif pcs_vag + 2 <= 13:
  161. pcs_vag += 2
  162. end
  163. if pcs_ass - 2 >= 8:
  164. pcs_ass -= 2
  165. elseif pcs_ass + 2 <= 8:
  166. pcs_ass += 2
  167. end
  168. end
  169. end
  170. !!Bimbo second half, after Succubus so changes there can be reflected here if still bimbo and Succubus
  171. !!Checks how often sex has occured in the last 24 hours and for drops in bimbo score, for calculating withdrawal
  172. if bimbolevel >= 1:
  173. bimbo += ((stat['vaginal'] + stat['bj'] + stat['anal']) - snapshotX) - 3
  174. if bimbo > snapshotY:
  175. bimbowithdrawal = 0
  176. else
  177. bimbowithdrawal += 1
  178. end
  179. end
  180. if bimbo < 0: bimbo = 0
  181. snapshotX = (stat['vaginal'] + stat['bj'] + stat['anal'])
  182. snapshotY = bimbo
  183. !!------------------------------------------------------------------------------------------------------------
  184. if defcurly = 0 and curly > 0:curly -= 1
  185. if defcurly = 1:
  186. if straight > 0: straight -= 1
  187. if straight = 0: curly = 2147483647
  188. end
  189. ! WD: Added daily reduction of braids for Maruda Hair Mod
  190. if hbraids > 0: hbraids -= 1
  191. pcs_sweat += 2
  192. if pcs_tan > 0: pcs_tan -= 1
  193. if prezikmsg = 2: prezikmsg = 3
  194. !!------------------------------------------------------------------------------------------------------------
  195. !! Birth control
  196. !!------------------------------------------------------------------------------------------------------------
  197. !! Birth Control Management variables
  198. !!
  199. !! tabletkimm : The modifier for the current mood of the MC.
  200. !! tabletkiap : Autopill factor affecting the liklihood you took your pill as you should have
  201. !! tabletkipt : Pill Dicipline Take increase
  202. !! tabletkipi : Pill Dicipline Dont take increase
  203. !! tabletkicpd : Current MC Pill Dicipline
  204. !! tabletkichday : Current day that the Birth Control is being evaluated for
  205. !! tabletkicheck : If the birth control is automatically handled
  206. !! tabletki : How many packages of Birth Control Pills there are
  207. !! tabletkiold : Total number packages of expired pills
  208. !! tabletkifake : Total number packages of fake/counterfeit pills
  209. !! tabletkirej : Total number packages of factory rejected pills
  210. !! tabletkifert : Total number packages of subsituted fertility pills
  211. !! tabletkisug : Total number packages of sugar pills
  212. !! pillsleft : Total number packages of pills in current package
  213. !! tabletkishot : The flag for being on the Birth Control shot.
  214. !! pillcon : The number for the current birth control chemical level.
  215. !! pilldays : The number of consecutive days (you believe) you have taken your pill
  216. if tabletkishot <= 0: pillcon -= 1000
  217. if pillcon < 0: pillcon = 0
  218. if tabletkicheck = 2:
  219. if tabletkishot ! 0:
  220. !!cycle = 1
  221. mesec = 0
  222. if rand(0,1000) = 1000:
  223. EggRH = rand(20,80)
  224. else
  225. EggRH = 0
  226. end
  227. FocH = EggRH
  228. end
  229. if tabletkishot <= 0:
  230. pillcon -= 29000
  231. if tabletkishot < 0: tabletkishot = 0
  232. end
  233. if shotdays = -8:
  234. tabletkicheck = 0
  235. shotdue = 0
  236. 'Your birth control shot is no longer protecting you.'
  237. elseif shotdays <= 0:
  238. if shotdays = 0:
  239. shotdue = 7
  240. else
  241. shotdue -= 1
  242. end
  243. 'The chemicals regulating your fertility cycle are wearing off, you need to get your shot in <<shotdue>> days.'
  244. elseif shotdays > 1 and shotdays < 5:
  245. 'You are due for a birth control shot soon if you do not get one, you might get pregnant.'
  246. elseif shotdays = 1:
  247. 'Your birth control shot is due for renewal tomorrow.'
  248. end
  249. if tabletkishot > 0:tabletkishot -= 1
  250. end
  251. tabletkipd += tabletkipi
  252. tabletkipi = 0
  253. tabletkipt = 0
  254. if tabletkicheck = 1:
  255. if tabletki = 0 and pillsleft[ptype] = 0:
  256. tabletkicheck = 0
  257. 'You are out of birth control pills.'
  258. tabletkipi = -5
  259. elseif tabletki = 0 and pillsleft[ptype] = 28:
  260. 'You have just opened your last package of birth control pills. You need to buy more.'
  261. elseif tabletki = 0 and pillsleft[ptype] <= 5:
  262. 'You are running out of birth control pills, you only have a few left.'
  263. end
  264. end
  265. if tabletkicheck = 1 and tabletkichday < daystart:
  266. tabletkichday = daystart
  267. tabletkimm = (100*(pcs_willpwr / willpowermax)) + pcs_mood
  268. if pcs_sleep < 10:
  269. tabletkimm -= (100- (pcs_sleep * 10))
  270. end
  271. if pcs_willpwr < willpowermax / 4:
  272. tabletkimm = tabletkimm / 4
  273. elseif pcs_mood < 10:
  274. tabletkimm = tabletkimm / 2
  275. end
  276. tabletkiap = tabletkimm
  277. tabletkiap += (pcs_intel * 4) + (pcs_sprt * 2) + (age * 3)
  278. tabletkiap -= ((kid * 30) + (abort * 2) - (tabletkipd * ((60 - age) / 10)))
  279. temprand = rand(0,(200 + (tabletkimm - ((100 - pcs_sprt) * 3))))
  280. tabletkiap += temprand
  281. if tabletkiap < 300:
  282. if tabletkipd > -10:
  283. if pcs_willpwr < willpowermax / 4:
  284. pilldaychk = 0
  285. '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.'
  286. elseif pcs_mood < 10:
  287. pilldaychk = 0
  288. 'You stare at your package of birth control pills, but you don''t open it.'
  289. elseif pcs_sleep < 10:
  290. pilldaychk = 0
  291. 'You fumble with your birth control pills, trying to get a pill out. You finally give up too tired to manage it.'
  292. else
  293. pilldaychk = 0
  294. 'You just realized you forgot to take your birth control pill today.'
  295. end
  296. end
  297. tabletkipt = 2
  298. tabletkipi = -4
  299. else
  300. if tabletkiap < 350:
  301. temprand = rand(0,5)
  302. else
  303. temprand = rand(0,1000)
  304. end
  305. if temprand = 0:
  306. temprand = rand(0,1)
  307. if temprand = 0:
  308. gs 'din_bad','takepill'
  309. tabletkipt = -2
  310. tabletkipi = 1
  311. else
  312. tabletkipt = 3
  313. tabletkipi = -3
  314. end
  315. if tabletkipd > -10:
  316. pilldaychk = 0
  317. 'You find yourself holding the bottle of birth control pills, you cannot remember if you took one or not.'
  318. end
  319. if tabletkipd > 0:
  320. if rand(0,9) = 0:
  321. if tabletkipt < 0:
  322. pilldaychk = 0
  323. 'You don''t think you have taken your pill today.'
  324. else
  325. pilldaychk = 1
  326. 'You think you have taken your pill today.'
  327. end
  328. else
  329. if tabletkipt > 0:
  330. pilldaychk = 0
  331. 'You don''t think you have taken your pill today.'
  332. else
  333. pilldaychk = 1
  334. 'You think you have taken your pill today.'
  335. end
  336. end
  337. end
  338. else
  339. 'You take your birth control pill for the day.'
  340. pilldaychk = 1
  341. gs 'din_bad','takepill'
  342. end
  343. if rand(0,7) = 0 and tabletkiday >= (daystart - 1): tabletkipd += 1
  344. tabletkiday = daystart
  345. tabletkipt = 0
  346. tabletkipi = 0
  347. end
  348. end
  349. elseif tabletkicheck = 0:
  350. if tabletkiday >= (daystart - 1) and tabletkipt = 0 and rand(0,7) = 0: tabletkipt = 1
  351. if pillcon > 0 and tabletkipi = 0 and rand(0,3) and (tabletkiday + 15) > daystart = 0: tabletkipi = -1
  352. end
  353. if pilldaychk = 1:
  354. pilldays += 1
  355. else
  356. pilldays -= 1
  357. end
  358. pilldaychk = 0
  359. if pilldays > 18: pilldays = 18
  360. if pilldays < 0: pilldays = 0
  361. !!------------------------------------------------------------------------------------------------------------
  362. if lashair ! 1:
  363. pcs_leghair += 1
  364. pcs_pubes += 1
  365. end
  366. if age < 18 and rand (0,2) = 0 and pcs_leghair > 0: pcs_leghair -= 1
  367. if suhbelo > 0:suhbelo2 = suhbelo & suhbelo = 0
  368. if pcs_breath = 1:pcs_breath = 0
  369. if cheatNoEat = 1 and dounspell = 1:fat += 15
  370. !STD check
  371. if SifacOnce = 1:Sifilis += 1
  372. if GerpesOnce = 1:Gerpes += 1
  373. if TriperOnce = 1:Triper += 1
  374. if KandidozOnce = 1:Kandidoz += 1
  375. VeneraN = 0
  376. if VeneraOnce > 0:VeneraOnce = 0
  377. if SifacOnce = 1:VeneraN += 1
  378. if GerpesOnce = 1:VeneraN += 1
  379. if TriperOnce = 1:VeneraN += 1
  380. Venera = VeneraN
  381. if pcs_ass > 1 and ashrink > 0 and analplugIN = 0:
  382. if anusK < 0:anusK = 0
  383. if anusK < ashrinkdays:anusK += 1
  384. if anusK >= ashrinkdays:pcs_ass -= ashrink & anusK = 0
  385. if pcs_ass < 0: pcs_ass = 0
  386. end
  387. if pcs_vag > 10 and vshrink > 0:
  388. if vaginaK < 0:vaginaK = 0
  389. if vaginaK < vshrinkdays:vaginaK += 1
  390. if vaginaK >= vshrinkdays:vaginaK = 0 & pcs_vag -= vshrink
  391. end
  392. lipkoef -= 1
  393. if Enable_autotampon = 0 and isprok = 1:isprok = 0 & 'You threw away your used tampon.'
  394. if Enable_autotampon = 0 and isprokp = 1:isprokp = 0 & 'You threw away your used sanitary pad.'
  395. if preg = 1:
  396. pregtime = pregchem / 24
  397. if pregtimes = 0:pregtimes = 1
  398. elseif preg = 2 and pregminut < totminut:
  399. if Enable_nogameover = 0 :
  400. cla
  401. *clr
  402. over = 4
  403. MSG '<center><b>A horrible pain shoots through your body.</b></center>'
  404. xgt 'gameover'
  405. exit
  406. else
  407. MSG'<font color=red><B>You should die for giving birth unprepared, but Cheat Mode keeps you Alive.</B></font>'
  408. pregminut = totminut + 1440
  409. end
  410. elseif preg = 0:
  411. KILLVAR 'pregTalkBrother'
  412. KILLVAR 'pregTalkSister'
  413. KILLVAR 'pregTalkFather'
  414. !{KILLVAR 'pregTalkFamily' -- Do not kill this (Abortion talk).}
  415. KILLVAR 'pregTalkMom'
  416. KILLVAR 'pregTalk'
  417. KILLVAR 'pregTalkNat'
  418. KILLVAR 'pregTalkKatja'
  419. KILLVAR 'pregTalkAlbina'
  420. KILLVAR 'pregTalkPC'
  421. KILLVAR 'pregTalkStarlets'
  422. KILLVAR 'pregTalkvball'
  423. KILLVAR 'pregTalkTrack'
  424. end
  425. !!------------------------------------------------------------------------------------------------------------
  426. !! Arousal
  427. !!------------------------------------------------------------------------------------------------------------
  428. if StoryLine = 0 or altQS = 1:
  429. if pcs_horny < 100:pcs_horny += pcs_vag
  430. else
  431. if pcs_vag = 0:
  432. razeba = 0
  433. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 10
  434. if pcs_horny > 50:pcs_horny -= 25
  435. elseif pcs_vag > 0:
  436. if pregtimes = 0:
  437. if age < 18:
  438. razeba = 1
  439. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 5
  440. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 10
  441. if pcs_horny >= 80:pcs_horny -= 20
  442. elseif age >= 18 and age < 21:
  443. razeba = 2
  444. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny -= 1
  445. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 5
  446. if pcs_horny >= 80:pcs_horny -= 10
  447. elseif age >= 21 and age < 25:
  448. razeba = 3
  449. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 1
  450. if pcs_horny > 50 and pcs_horny < 80:pcs_horny -= 1
  451. if pcs_horny >= 80:pcs_horny -= 5
  452. elseif age >= 25 and age < 30:
  453. razeba = 4
  454. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 5
  455. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 1
  456. if pcs_horny >= 80:pcs_horny -= 5
  457. elseif age >= 30:
  458. razeba = 5
  459. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  460. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  461. if pcs_horny >= 80:pcs_horny += 1
  462. end
  463. elseif pregtimes > 0:
  464. if preg = 0:
  465. razeba = 5
  466. if pcs_horny > 0 and pcs_horny <= 50:pcs_horny += 10
  467. if pcs_horny > 50 and pcs_horny < 80:pcs_horny += 5
  468. if pcs_horny >= 80:pcs_horny += 1
  469. elseif preg > 0:
  470. razeba = 6
  471. if pcs_horny < 100:pcs_horny += pregtime / 10
  472. end
  473. end
  474. end
  475. end
  476. if pcs_horny < 0:pcs_horny = 0
  477. !!------------------------------------------------------------------------------------------------------------
  478. !!Exhibitionism
  479. if exhibition_outdoors > 0:
  480. if exhibition_outdoors <= 5:
  481. exhibition_exp += rand(2,5)
  482. elseif exhibition_outdoors <= 10:
  483. exhibition_exp += rand(3,6)
  484. elseif exhibition_outdoors <= 15:
  485. exhibition_exp += rand(4,8)
  486. elseif exhibition_outdoors <= 20:
  487. exhibition_exp += rand(5,10)
  488. elseif exhibition_outdoors <= 25:
  489. exhibition_exp += rand(7,12)
  490. elseif exhibition_outdoors <= 30:
  491. exhibition_exp += rand(8,15)
  492. else
  493. exhibition_exp += rand(10,16)
  494. end
  495. end
  496. exhibition_outdoors = 0
  497. if pcs_exhibition = 0:
  498. if exhibition_exp >= 10: pcs_exhibition = 1 & exhibition_exp -= 10
  499. else
  500. if exhibition_exp >= 10 * pcs_exhibition: exhibition_exp -= 10 * pcs_exhibition & pcs_exhibition += 1
  501. end
  502. if pcs_exhibition > 50 and exhibition_QW < 3: pcs_exhibition = 50
  503. !counter for Dimka avoidance
  504. if dimaFilm = 1 and dimaRudeBlock = 0:
  505. nodimkaK += 1
  506. DimkaWarnedToday = 0
  507. end
  508. !!------------------------------------------------------------------------------------------------------------
  509. !! Maruda hair mod
  510. !!------------------------------------------------------------------------------------------------------------
  511. !!! Max. Hair length 600mm, or 60cm, which should be somewhere in the lower back area.
  512. !!! Hair grows 1mm each day, it takes 20 months (1 month = 30 days) to regrow the hair from 0.
  513. if pcs_hairlng < 601:pcs_hairlng += 1
  514. if pcs_haircol ! nathcol:
  515. dyefade -=1
  516. if dyefade < 0: dyefade = 0
  517. if dyefade > 0 and dyefade < 7: dyevmod = 5
  518. if dyefade = 0: dyevmod = 15
  519. end
  520. if hscrunch > 0:
  521. hscrunchrand = rand(1, 100)
  522. if hscrunchrand <= 8:hscrunch -= 1
  523. end
  524. !!------------------------------------------------------------------------------------------------------------
  525. gs 'starenie'
  526. if nark > 60:
  527. nark = 60
  528. elseif nark > 30:
  529. nark -= 3
  530. elseif nark > 0:
  531. nark -= 1
  532. end
  533. if pregtime > 10:fat += 1
  534. !!------------------------------------------------------------------------------------------------------------
  535. !! Pain
  536. !!------------------------------------------------------------------------------------------------------------
  537. if pain['head'] > 0:pain['head'] -= rand(1,3)
  538. if pain['hair'] > 0:pain['hair'] -= rand(1,3)
  539. if pain['ears'] > 0:pain['ears'] -= rand(1,3)
  540. if pain['eyebrows'] > 0:pain['eyebrows'] -= rand(1,3)
  541. if pain['eyes'] > 0:pain['eyes'] -= rand(1,3)
  542. if pain['cheeks'] > 0:pain['cheeks'] -= rand(1,3)
  543. if pain['nose'] > 0:pain['nose'] -= rand(1,3)
  544. if pain['mouth'] > 0:pain['mouth'] -= rand(1,3)
  545. if pain['lips'] > 0:pain['lips'] -= rand(1,3)
  546. if pain['tongue'] > 0:pain['tongue'] -= rand(1,3)
  547. if pain['throat'] > 0:pain['throat'] -= rand(1,3)
  548. if pain['neck'] > 0:pain['neck'] -= rand(1,3)
  549. if pain['back'] > 0:pain['back'] -= rand(1,3)
  550. if pain['asscheeks'] > 0:pain['asscheeks'] -= rand(1,3)
  551. if pain['asshole'] > 0:pain['asshole'] -= rand(1,3)
  552. if pain['hips'] > 0:pain['hips'] -= rand(1,3)
  553. if pain['thighs'] > 0:pain['thighs'] -= rand(1,3)
  554. if pain['legL'] > 0:pain['legL'] -= rand(1,3)
  555. if pain['legR'] > 0:pain['legR'] -= rand(1,3)
  556. if pain['feet'] > 0:pain['feet'] -= rand(1,3)
  557. if pain['toes'] > 0:pain['toes'] -= rand(1,3)
  558. if pain['shoulders'] > 0:pain['shoulders'] -= rand(1,3)
  559. if pain['armL'] > 0:pain['armL'] -= rand(1,3)
  560. if pain['armR'] > 0:pain['armR'] -= rand(1,3)
  561. if pain['hands'] > 0:pain['hands'] -= rand(1,3)
  562. if pain['fingers'] > 0:pain['fingers'] -= rand(1,3)
  563. if pain['chest'] > 0:pain['chest'] -= rand(1,3)
  564. if pain['breasts'] > 0:pain['breasts'] -= rand(1,3)
  565. if pain['nipples'] > 0:pain['nipples'] -= rand(1,3)
  566. if pain['ribs'] > 0:pain['ribs'] -= rand(1,3)
  567. if pain['tummy'] > 0:pain['tummy'] -= rand(1,3)
  568. if pain['pubic'] > 0:pain['pubic'] -= rand(1,3)
  569. if pain['vaginal'] > 0:pain['vaginal'] -= rand(1,3)
  570. if pain['clitoris'] > 0:pain['clitoris'] -= rand(1,3)
  571. if pain['urethra'] > 0:pain['urethra'] -= rand(1,3)
  572. if pain['cervix'] > 0:pain['cervix'] -= rand(1,3)
  573. if painpub = 2:
  574. if painpubday + 5 < daystart:
  575. $painpub = 'Your vulva is painfully sore.'
  576. painpub = 1
  577. painpubday = daystart
  578. elseif painpubday + 5 >= daystart:
  579. $painpub = 'Your vulva is painfully sore.'
  580. end
  581. elseif painpub = 1:
  582. if painpubday + 5 < daystart:
  583. $painpub = ''
  584. painpub = 0
  585. painpubday = daystart
  586. elseif painpubday + 5 >= daystart:
  587. $painpub = 'Your vulva is a little sore.'
  588. end
  589. end
  590. prezikProver += 1
  591. if pirs_pain_ton > 0:pirs_pain_ton -= 1
  592. if brow > 0 and browper = 0:brow -= 1
  593. if shorthair = 1:
  594. shorthairday += 1
  595. if shorthairday >= 45:shorthairday = 0 & shorthair = 0
  596. end
  597. !!------------------------------------------------------------------------------------------------------------
  598. if KatjaOTN > 0:
  599. if KatjaHorny > 0 and KatjaLust < 40:KatjaHorny -= rand(1, 3)
  600. if KatjaLust >= 40:KatjaHorny += rand(1, 3)
  601. if KatjaHorny < 0:KatjaHorny = 0
  602. if KatjaHorny >= 100:KatjaHorny = 0 & KatjaMastr += 1 & KatjaLust += 1
  603. end
  604. if trenerepa > 20:trenerepa -= 1
  605. !!------------------------------------------------------------------------------------------------------------
  606. !! Generation
  607. !!------------------------------------------------------------------------------------------------------------
  608. if NPCnum < 290:
  609. NPCnow = NPCnum
  610. NPCnum += rand(1, 3)
  611. gs 'npc'
  612. elseif NPCnum < 300:
  613. NPCnow = NPCnum
  614. NPCnum += 1
  615. gs 'npc'
  616. end
  617. !!------------------------------------------------------------------------------------------------------------
  618. if kanikuli = 0:pcs_grades -= 1
  619. dmishaevent = 0
  620. if Gspravka <= 0 and GspravkaT = 1:GspravkaT = 0 & Gspravka = 0
  621. if GspravkaT = 1:Gspravka -= 1
  622. if IvanPodstavaQW = 2 and PodpiskaNeviezd = 30:IvanPodstavaQW = 3
  623. if IvanPodstavaQW = 2 and PodpiskaNeviezd > 0 and PodpiskaNeviezd < 30:PodpiskaNeviezd += 1
  624. gs 'stat_sklattrib', 'daycall'
  625. if dounspell = 1:
  626. if strenbuf > 90:
  627. strenbuf -= 2
  628. elseif strenbuf > 80:
  629. strenbuf -= 1
  630. end
  631. if vitalbuf > 90:
  632. vitalbuf -= 2
  633. elseif vitalbuf > 80:
  634. vitalbuf -= 1
  635. end
  636. if strenbuf > pcs_stren: strenbuf -= 1
  637. if strenbuf < pcs_stren: strenbuf += 1
  638. if vitalbuf > pcs_vital: vitalbuf -= 1
  639. if vitalbuf < pcs_vital: vitalbuf += 1
  640. if agilbuf > pcs_agil: agilbuf -= 1
  641. if agilbuf < pcs_agil: agilbuf += 1
  642. else
  643. gs 'body_shape'
  644. end
  645. if husband > 0 and husbandrink ! 11:husbandrink = rand(0, 10)
  646. inWorkYoungShop = 0
  647. husbandsexday = 0
  648. borsexkol = 0
  649. givisexday = 0
  650. if shantsr > 0:
  651. pay = shantsr * 5000
  652. karta += pay
  653. shantsr = 0
  654. end
  655. if shantbog > 0:
  656. :shantftb
  657. shantftbgrand = rand(0, 10)
  658. if shantftbgrand > 2:
  659. shantpopala += 1
  660. shantbog -= 1
  661. if shantbog > 0:jump 'shantftb'
  662. elseif shantftbgrand <= 2:
  663. karta += 30000
  664. shantbog -= 1
  665. if shantbog > 0:jump 'shantftb'
  666. end
  667. end
  668. petersexday = 0
  669. klismaday1 = 0
  670. !!------------------------------------------------------------------------------------------------------------
  671. !! Banking
  672. !!------------------------------------------------------------------------------------------------------------
  673. !!MJ: Add some (daily) interest to the bank account.
  674. !!Not very realistic but wont make anyone too rich.
  675. if bankAccount = 1:
  676. if karta >= 2000000:
  677. !! yearly interest of 2.3% recalculated into daily interest = 0.006% daily
  678. smallmoneypos += (karta * 60)
  679. elseif karta >= 0:
  680. !! yearly interest of ... recalculated into daily interest = 0.003% daily
  681. smallmoneypos += (karta * 30)
  682. else
  683. !! yearly overdraft interest of 20% recalculated into daily interest = 0.055% daily
  684. smallmoneypos -= (karta * 550)
  685. end
  686. if smallmoneypos >= 1000000 or smallmoneypos <= -1000000:
  687. karta += smallmoneypos / 1000000
  688. smallmoneypos = smallmoneypos mod 1000000
  689. end
  690. if atmDeposit > 0 and atmDepositDate <= daystart:
  691. karta += atmDeposit
  692. atmDeposit = 0
  693. end
  694. end
  695. !!------------------------------------------------------------------------------------------------------------
  696. !! Payments
  697. !!------------------------------------------------------------------------------------------------------------
  698. if day = 25:
  699. ! -- meynold payment ---!
  700. if mey_vika_qw >= 35 and mey_tamara_help_count >= 10 and mey_tamara_qw_end = 0:
  701. money += 10000
  702. '<b><font color=green>For your efforts aunt Tamara gave you 10000 rubles</font></b>'
  703. mey_tamara_help_count = 0
  704. end
  705. !--
  706. if PersSecWork = 1 and PersSecWorkTimes > 0 and paydaybistrosec = 0:
  707. Pay = PersSecWorkTimes * 2500
  708. PersSecWorkTimes = 0
  709. karta += Pay
  710. paydaybistrosec = 1
  711. '<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>'
  712. end
  713. if workKafe = 1 and paydayKafe = 0:
  714. paydayKafe = 1
  715. pay = smenaKafe * 600
  716. karta += pay
  717. smenaKafe = 0
  718. '<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>'
  719. end
  720. if workhosp = 1 and nopaypoly = 0:
  721. pay = smena * 1000
  722. karta += pay
  723. smena = 0
  724. nopaypoly = 1
  725. '<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>'
  726. end
  727. if worksalon = 1 and nopaysalon = 0:
  728. pay = smena * 800
  729. karta += pay
  730. smena = 0
  731. nopaysalon = 1
  732. '<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>'
  733. end
  734. if tanwork = 1 and nopaytanwork = 0:
  735. nopaytanwork = 1
  736. karta += 25000
  737. '<b><font color="green">Your salary of 25,000 <b>₽</b> has been paid into your bank account for your work as a house maid.</font></b>'
  738. end
  739. if workSec = 1 and paydaySec = 0:
  740. paydaySec = 1
  741. pay = sekDay * 800
  742. if officebestslut >= 3:pay += 20000
  743. karta += pay
  744. sekDay = 0
  745. '<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>'
  746. end
  747. if workFabrika = 1:
  748. pay = smenaFabrika * 400
  749. smenaFabrika = 0
  750. karta += pay
  751. '<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>'
  752. end
  753. if husband > 0 and paydayHusb = 0:
  754. paydayHusb = 1
  755. if husbFin = 0:huspay = 15000
  756. if husbFin = 1:huspay = 25000
  757. if husbFin = 2:huspay = 40000
  758. karta += huspay
  759. '<b><font color="green">Your husband has paid <<huspay>> <b>₽</b> into your bank account.</font></b>'
  760. end
  761. if stipuha = 1 and stipuhaday = 0:stipuhaday = 1 & karta += 1200 & '<b><font color="green">You have received 1,200 <b>₽</b> scholarship.</font></b>'
  762. if housr = 1 and haday = 0 and BuyHous = 0:haday = 1 & money -= 3000 & '<b><font color="red">You paid 3,000 <b>₽</b> for your apartment.</font></b>'
  763. if housr = 1 and electroday = 0:
  764. electroday = 1
  765. if elektro >= 800:elektro = 800 + rand(0, 100)
  766. money -= elektro
  767. '<b><font color="red">You paid <<elektro>> for electricity.</font></b>'
  768. end
  769. if housr = 1 and kabel > 0 and kabelday = 0:kabelday = 1 & money -= 300 & '<b><font color="red">You have paid 300 <b>₽</b> for cable TV.</font></b>'
  770. end
  771. if day ! 25:
  772. if paydayHusb = 1:paydayHusb = 0
  773. if workKafe = 1 and paydayKafe = 1:paydayKafe = 0
  774. if workSec = 1 and paydaySec = 1:paydaySec = 0
  775. if housr = 1 and haday = 1 and BuyHous = 0:haday = 0
  776. if housr = 1 and electroday = 1:electroday = 0
  777. if housr = 1 and kabel > 0 and kabelday = 1:kabelday = 0
  778. if stipuhaday = 1:stipuhaday = 0
  779. if nopaytanwork = 1:nopaytanwork = 0
  780. if nopaypoly = 1:nopaypoly = 0
  781. if nopaysalon = 1:nopaysalon = 0
  782. if paydaybistrosec = 1:paydaybistrosec = 0
  783. end
  784. if sdaday = day and sdamonth = month and housr = 0:
  785. housr = 1
  786. '<b><font color="red">Your tenants have moved out and your apartment is now vacant.</font></b>'
  787. !msg 'Your tenants have moved out and your apartment is now vacant.'
  788. end
  789. !!------------------------------------------------------------------------------------------------------------
  790. if day > monthsEnd[month]:
  791. day -= monthsEnd[month]
  792. month += 1
  793. if month > 12: month = 1 & year += 1
  794. !MJ: Dont think that one is needed. But it was in the original loop.
  795. if month < 1: month = 1
  796. $month = $monthName[month]
  797. end
  798. !MJ: Dont think that one is needed. But it was here already.
  799. if day <= 0:day = 1
  800. if week > 7:
  801. :loopweek
  802. week -= 7
  803. husbandrink = 0
  804. if military = 1:military = 0
  805. if week > 7:jump 'loopweek'
  806. end
  807. gs 'outdoors', 'weather'
  808. killvar 'holyday'
  809. killvar 'kanikuli'
  810. if storyline = 1:
  811. !!Party refresh if you didn''t see sis
  812. if week = 1 and sisboyparty ! 2:
  813. if sisboyparty = -1: sisboyparty = 1
  814. if sisboypartyQW >= 2 and sisboyparty > 0:
  815. sisboyparty_day = daystart + rand(4,6)
  816. end
  817. end
  818. !!missed graduation
  819. if month = 5 and day = 25:
  820. if schoool_year = 2001 and year = 2018 and kanikuli ! 7:
  821. grad_miss = daystart + 1
  822. elseif schoool_year = 2000 and year = 2017 and kanikuli ! 7:
  823. grad_miss = daystart + 1
  824. end
  825. end
  826. if SchoolAtestat = 0:
  827. if month = 12 and day > 25:
  828. if day < 31:
  829. $holyday = '<b>Winter Break in <<32-day>> days.</b>'
  830. else
  831. $holyday = '<b>Winter Break starts tomorrow.</b>'
  832. end
  833. elseif month = 1 and day <= 15:
  834. kanikuli = 2
  835. if day < 13:
  836. $holyday = '<b>Winter Break.</b>'
  837. elseif day < 15:
  838. $holyday = '<b>Winter Break ends in <<16-day>> days.</b>'
  839. else
  840. $holyday = '<b>Last day of Winter Break.</b>'
  841. end
  842. elseif month = 3 and day > 13:
  843. if day < 19:
  844. $holyday = '<b>Spring Break starts in <<20-day>> days.</b>'
  845. elseif day = 19:
  846. $holyday = '<b>Spring Break starts tomorrow.</b>'
  847. elseif day >= 20 and day <= 26:
  848. kanikuli = 3
  849. if day < 24:
  850. $holyday = '<b>Spring Break.</b>'
  851. elseif day < 26:
  852. $holyday = '<b>Spring Break ends in <<27-day>> days.</b>'
  853. else
  854. $holyday = '<b>Last day of Spring Break.</b>'
  855. end
  856. end
  857. elseif month = 5:
  858. if ( (schoool_year = 2000 and year = 2017) or (schoool_year = 2001 and year = 2018) ) and day >= 19 and day <= 25:
  859. if day = 25:
  860. $holyday = '<b>Your graduation is today. Be there by 8:00.</b>'
  861. elseif day = 24:
  862. $holyday = '<b>Your graduation is tomorrow. Be there by 8:00.</b>'
  863. else
  864. $holyday = '<b>Your graduation is in <<26-day>> days.</b>'
  865. end
  866. elseif day >= 25:
  867. if day = 31:
  868. $holyday = '<b>Summer Break starts tomorrow.</b>'
  869. else
  870. $holyday = '<b>Summer Break starts in <<32-day>> days.</b>'
  871. end
  872. end
  873. elseif month = 6 or month = 7 or month = 8:
  874. kanikuli = 4
  875. if month = 8 and day >= 25:
  876. if day = 31:
  877. $holyday = '<b>Last day of Summer Break.</b>'
  878. else
  879. $holyday = '<b>Summer Break ends in <<32-day>> days.</b>'
  880. end
  881. else
  882. $holyday = '<b>Summer Break.</b>'
  883. end
  884. elseif month = 10 and day >= 29:
  885. $holyday = '<b>Autumn Break starts in <<35-day>> days.</b>'
  886. elseif month = 11:
  887. if day < 3:
  888. $holyday = '<b>Autumn Break starts in <<4-day>> days.</b>'
  889. elseif day = 3:
  890. $holyday = '<b>Autumn Break starts tomorrow.</b>'
  891. elseif day < 6:
  892. kanikuli = 1
  893. $holyday = '<b>Autumn Break.</b>'
  894. elseif day < 11:
  895. kanikuli = 1
  896. $holyday = '<b>Autumn Break ends in <<12-day>> days.</b>'
  897. elseif day = 11:
  898. kanikuli = 1
  899. $holyday = '<b>Last day of Autumn Break.</b>'
  900. end
  901. end
  902. end
  903. end
  904. killvar 'natholi'
  905. if month = 1 and day >= 1 and day <= 8:
  906. $natholi = 'New Year holidays'
  907. natholi = 1
  908. if day = 1:$natholi += ', New Year'
  909. if day = 7:$natholi += ', Christmas'
  910. end
  911. if month = 2 and day = 23:$natholi = 'Defender of Fatherland Day' & natholi = 1
  912. if month = 3 and day = 8:$natholi = 'Women''s Day' & natholi = 1
  913. if month = 5 and day = 1:$natholi = 'Spring and Labor Day' & natholi = 1
  914. if month = 5 and day = 2:$natholi = 'National holiday' & natholi = 1
  915. if month = 5 and day = 9:$natholi = 'Victory Day' & natholi = 1
  916. if month = 6 and day = 12:$natholi = 'Russia Day' & natholi = 1
  917. if month = 6 and day = 13:$natholi = 'National holiday' & natholi = 1
  918. if month = 11 and day = 4:$natholi = 'Unity Day' & natholi = 1
  919. if natholi = 1:
  920. if $holyday ! '': $holyday += '<br>'
  921. $holiday += $natholi
  922. end
  923. if bcream_used >= 1:
  924. bcream_used = 0
  925. temp = rand(0,5)
  926. nbsize += temp
  927. if temp > 0:'Feels like your breasts have grown slightly.'
  928. end
  929. if steroid_dose >= 1:
  930. if lashair < 1:
  931. pcs_pubes += steroid_dose
  932. pcs_leghair += steroid_dose
  933. end
  934. steroid_dose = 0
  935. end
  936. if aphrodisiac_overdose = 1:aphrodisiac_overdose = 0
  937. if aphrodisiac_timer ! 0:aphrodisiac_timer = 0
  938. if mentats_dose = 1:
  939. mentats_dose = 0
  940. elseif mentats_dose > 1:
  941. pain['head'] += 20 * mentats_dose
  942. mentats_dose = 0
  943. end
  944. if breastpumped = 0 and breastcount > 0: breastcount -= 1
  945. if breastpumped = 1: breastpumped = 0
  946. !!Appearance base calculation call
  947. gs 'body_shape', 'basebeautycalc'
  948. ! vovan, from 1.2.5
  949. hanters_check = 0
  950. mushroom_pickers = 0
  951. horse_river = 0
  952. haying_time = 0
  953. mira_go_river = 0
  954. forestpicnic = 0
  955. if Mira_no > 0: Mira_no -= 1
  956. if Mira_no < 0: Mira_no = 0
  957. if catout ! 0: catout = 0
  958. if feedcat ! 0: feedcat = 0
  959. loc_count = ARRSIZE('$CloLosLoc')
  960. i = loc_count - 1
  961. :loopCloLoc
  962. $CloLoc = $CloLosLoc[i]
  963. CloLostOn = CloLosDay[$CloLoc]
  964. if CloLostOn + RAND(7,14) < daystart :
  965. gs 'clothing', 'recover_lost_clothes', $CloLoc, 2
  966. end
  967. i -=1
  968. if i > -1 :jump 'loopCloLoc'
  969. --- cikl ---------------------------------