stat.qsrc 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242
  1. # stat
  2. !!This is error catching to prevent stat from running too early
  3. if opPRE > 0: exit
  4. if Enable_Android = 0:
  5. clr
  6. !only clear status and renew object in non-Android mode
  7. gs 'obj_din', 'old'
  8. end
  9. if daystart_start < 100:
  10. pl '<BR>Did you start at the <a href="exec:daystart_start = 241 & gs''daystart'' & gs''stat''">end of August</a> or <a href="exec:daystart_start = 152 & gs''daystart'' & gs''stat''">beginning of June</a>?'
  11. exit
  12. end
  13. view
  14. rand1 = rand(0,100)
  15. $stat_msg=''
  16. if MagikDostup = 0: magik_exp = orgasm
  17. if insleep = 0: gs 'stat_sklattrib'
  18. if cheatHealth = 1: dynamic $cheatmenu['std_cure']
  19. if (analplay >= 2 and pcs_ass <= 10) or (analplay >= 4 and pcs_ass <= 15) or (analplay >= 8 and pcs_ass <= 20): pcs_ass += 1 & analplay = 0
  20. if analorgasm >= 10 and traits['buttslut_lvl'] = 0: traits['buttslut_lvl'] = 1
  21. if (analorgasm - (orgasm - analorgasm) >= 15) and traits['buttslut_lvl'] = 1: traits['buttslut_lvl'] = 2
  22. if (analorgasm - (orgasm - analorgasm) < 15) and traits['buttslut_lvl'] = 2: traits['buttslut_lvl'] = 1
  23. if ((orgasm - analorgasm)*2 <= analorgasm) and traits['buttslut_lvl'] = 2: traits['buttslut_lvl'] = 3
  24. if ((orgasm - analorgasm)*2 > analorgasm) and traits['buttslut_lvl'] = 3: traits['buttslut_lvl'] = 2
  25. !!The following seems to be part of the combat system.
  26. musle[1] = musle
  27. flex[1] = pcs_agil
  28. stamina[1] = pcs_vital * 3
  29. wipo[1] = pcs_sprt
  30. intel[1] = pcs_intel - bimbostupidity
  31. krasota[1] = pcs_apprnc
  32. pcs_hgt[1] = pcs_hgt
  33. salo[1] = salo
  34. fat[1] = fat
  35. Bteh[1] = bteh
  36. Uteh[1] = uteh
  37. Zteh[1] = zteh
  38. !!This is a temporary stop-gap measure for the accomadation skill and will be removed
  39. if succubusflag = 1 and sucskill >= 4:
  40. if pain['throat'] > 0: pain['throat'] = 0 & sucexcess -= 1
  41. if pain['asshole'] > 0: pain['asshole'] = 0 & sucexcess -= 1
  42. if pain['vaginal'] > 0: pain['vaginal'] = 0 & sucexcess -= 1
  43. if vgape > 0: vgape = 0 & vgapetime = 0 & sucexcess -= 1
  44. if agape > 0: agape = 0 & agapetime = 0 & sucexcess -= 1
  45. end
  46. !!mouth cleaning for drinks
  47. if pcs_hydra > hydra_check:
  48. cumspclnt = 2
  49. gs 'cum_cleanup'
  50. end
  51. !!cosmetic tattoo
  52. if cosmetic_tattoo > 0:
  53. if pcs_makeup ! (cosmetic_tattoo+1): pcs_makeup = (cosmetic_tattoo+1)
  54. end
  55. !!!CHEATS!!!
  56. if cheatWork = 1:work = 0
  57. if cheatWorkKiskis = 1:young_shop_miss = 0
  58. if cheatHapri = 1:pcs_hairbsh = 1
  59. ! Moved from cheats to settings under 'Enema realism'
  60. if cheatKlisma = 0:klismaday = daystart & klismaday1 = 1
  61. if cheatNomakeup = 1 and cosmetic_tattoo = 0:
  62. if pcs_makeup = 0: pcs_makeup = 1
  63. end
  64. if cheatNoSweat = 1 and pcs_sweat > 0: pcs_sweat = 0
  65. if cheatNoEat = 1:
  66. if pcs_energy < 60: pcs_energy = 60
  67. end
  68. if cheatNoDrink = 1:
  69. if pcs_hydra < 60: pcs_hydra = 60
  70. end
  71. if cheatNoSleep = 1:
  72. if pcs_sleep < 35: pcs_sleep = 35
  73. end
  74. if cheatBandit = 1 and npc_horny['A66'] < 19: npc_horny['A66'] = 19
  75. if alko > 0 and frost > 0:frost = 0
  76. if StrongNarkota >= 20:
  77. if alko > 0:alko = 0
  78. end
  79. if lernSkill >= 8: intel_exp += 1 & lernSkill = 0
  80. if lern >= 10: intel_exp += 1 & lern = 0
  81. if fame['pav_slut'] >= 150 and KatjaKnowBJ ! 1: KatjaKnowBJ = 1
  82. if fame['pav_slut'] >= 250 or preg > 0 and KatjaKnowSex ! 1: KatjaKnowSex = 1
  83. shameless = guy + stat['bj'] + stat['anal'] + stat['hj'] + ((slutty + gang) * 2)
  84. moneySUM = money + karta + stolmoney
  85. cumSUM = cumsumbod/40
  86. if husbizvradd > 5:izvratH = 1
  87. if husbharmin > 10:harakHusb = 0
  88. if husband = 0:
  89. husbizvradd = 0
  90. husbharmin = 0
  91. husbandMark = 0
  92. houseslut = 0
  93. end
  94. if SNarkvnesh = 0:SNarkvnesh = 1
  95. if SNarkTimes >= SNarkvnesh * 25:
  96. SNarkvnesh += 1
  97. vidage += 1
  98. end
  99. if gopota >= 20 and gnewQW = 1:gnewQW = 2
  100. if workDisk = 4 and week > 5:workDisk = 1
  101. if workDisk = 3 and week > 5:workDiskAtkPlayer = 1
  102. if bfa < 0: bfa = 0
  103. if pcs_vag > 36: pcs_vag = 36
  104. if pcs_throat > 36: pcs_throat = 36
  105. if pcs_ass > 36: pcs_ass = 36
  106. if NarkImmune = 1:
  107. if narkoman ! 0:narkoman = 0
  108. elseif nark >= 30 and narkoman = 0 and NarkImmune = 0:
  109. narkoman = 1
  110. elseif nark = 0 and narkoman = 1:
  111. narkoman = 0
  112. end
  113. if CheatSlut = 1 or succubusflag = 1:
  114. !!Succubus cannot get pregnant
  115. mesec = 0
  116. FocH = 0
  117. EggRH = 0
  118. Ovulate = 0
  119. fertegg = 0
  120. UnfertEgg = 0
  121. PregChem = 0
  122. preg = 0
  123. LutH = 0
  124. RecovH = 0
  125. babyembryo = 0
  126. cycle = 1
  127. end
  128. if succubusflag = 1 and succublvl > 2 and rape > rape_count:
  129. !!High Level Succubus cannot get raped
  130. orgasm += 1
  131. rape = rape_count
  132. pcs_mood = 100
  133. end
  134. if pcs_horny < 50 and cheatHorny = 1: pcs_horny = 50
  135. !!These will be made obsolete with the combat system overhaul
  136. boxing = pcs_jab + pcs_punch + pcs_kick + pcs_def
  137. if boxing > 100: boxing = 100
  138. if MagikDostup = 0:
  139. if pcs_magik > magikhigh:
  140. magikhigh += 1
  141. rikudo += pcs_magik * 100
  142. $stat_msg += '<BR><b>You feel like a strength has been revealed within you, and you gush with magic, lifting you to a new energy level.</b>'
  143. !! This will be replaced when a more advanced physical system is made
  144. if (pcs_magik mod 2 ! 0) and pcs_eyesize < 2: pcs_eyesize += 1
  145. if (pcs_magik mod 2 = 0) and pcs_lashes < 2: pcs_lashes += 1
  146. end
  147. else
  148. !!This is for error catching
  149. killvar 'pcs_magik'
  150. killvar 'rikudo'
  151. killvar 'pcs_splcstng'
  152. end
  153. if pcs_dom < 0: SUB = SUB - pcs_dom & pcs_dom = 0
  154. if SUB < 0: pcs_dom = pcs_dom - SUB & SUB = 0
  155. if pcs_dom > 100: pcs_dom = 100
  156. if SUB > 100: SUB = 100
  157. if SUB >= pcs_dom and pcs_dom > 0:SUB = SUB - pcs_dom & pcs_dom = 0
  158. if pcs_dom >= SUB and SUB > 0:pcs_dom = pcs_dom - SUB & SUB = 0
  159. if pcs_horny < 0: pcs_horny = 0
  160. if pcs_inhib < 0:
  161. pcs_inhib = 0
  162. elseif pcs_inhib > 100:
  163. pcs_inhib = 100
  164. end
  165. healthmax = (pcs_vital * 10 + pcs_stren * 5)
  166. stammax = 5 * (2 * pcs_vital + pcs_agil + pcs_stren) / 2
  167. manamax = (pcs_intel * pcs_magik) + pcs_magik * 100 + pcs_vital * 10 + rikudo
  168. speed = (2 * (pcs_stren + pcs_agil) + pcs_vital) / 5
  169. if healthmax < 1: healthmax = 1
  170. if willpowermax < 50: willpowermax = 50
  171. if stammax < 1: stammax = 1
  172. if manamax < 1: manamax = 1
  173. !pre-calc max value for later display
  174. if fairycurse >= daystart and fairyshoo > 0: pcs_horny = 90
  175. if min_arousal > pcs_horny: pcs_horny = min_arousal
  176. if Enable_lockhorny > 0 and pcs_horny < Enable_lockhorny - 1: pcs_horny = Enable_lockhorny - 1
  177. if pcs_horny < 0: pcs_horny = 0
  178. if pcs_health > healthmax: pcs_health = healthmax
  179. if pcs_willpwr > willpowermax: pcs_willpwr = willpowermax
  180. if pcs_stam > stammax: pcs_stam = stammax
  181. if pcs_mana > manamax: pcs_mana = manamax
  182. if pcs_mood > 100: pcs_mood = 100
  183. !!Add mood_trauma to events to lower max mood for a period of time
  184. if mood_trauma > 0:
  185. mood_max_calc = 100 - (mood_trauma * 5)
  186. mood_max = max(10, mood_max_calc)
  187. if pcs_mood > mood_max: pcs_mood = mood_max
  188. killvar 'mood_max_calc'
  189. elseif mood_trauma < 0:
  190. mood_trauma = 0
  191. end
  192. if hypnoAddict = 1 and pcs_horny < 30:
  193. pcs_horny = 30
  194. elseif hypnoAddict = 2 and pcs_horny < 50:
  195. pcs_horny = 50
  196. end
  197. if cumloc[0] = 1 or cumloc[3] = 1 or hypnoAddict = 0:
  198. killvar 'missCum'
  199. elseif missCum > timeTresh:
  200. if pcs_horny < 90: pcs_horny = 90
  201. if preziktype = 0: prezikcount = prezik
  202. if preziktype = 2: preziksabo = prezik
  203. prezik = 0
  204. preziktype = 1
  205. end
  206. !!!!!!!!!!!
  207. !!!TIME!!!
  208. !!!!!!!!!!!
  209. if nminut ! minut or nhour ! hour:
  210. ! Zero totminut will be at New Years Eve of 2015
  211. prevtotmin = totminut
  212. ! Years since 2015 in days
  213. totminut = (year - 2015) * 365
  214. ! Days this year
  215. if month > 1 : totminut += 31 & ! Jan
  216. if month > 2 : totminut += 28 & ! Feb
  217. if month > 3 : totminut += 31 & ! Mar
  218. if month > 4 : totminut += 30 & ! Apr
  219. if month > 5 : totminut += 31 & ! May
  220. if month > 6 : totminut += 30 & ! Jun
  221. if month > 7 : totminut += 31 & ! Jul
  222. if month > 8 : totminut += 31 & ! Aug
  223. if month > 9 : totminut += 30 & ! Sep
  224. if month > 10: totminut += 31 & ! Oct
  225. if month > 11: totminut += 30 & ! Nov
  226. if month > 12: totminut += 31 & ! Dec
  227. if month > 13: totminut += 31 & ! Jan rollover sanity check
  228. totminut += day
  229. ! Hours
  230. totminut = totminut * 24 + hour
  231. ! Minutes
  232. totminut = totminut * 60 + minut + sec / 60
  233. nminut = minut
  234. nhour = hour
  235. end
  236. ! Execute time based spells
  237. gs 'spellTimer', prevtotmin, totminut
  238. ! Determine Incoming Telephone Calls
  239. gs 'telefon', 'IncomingCheck', prevtotmin, totminut
  240. !! deodorant
  241. if deodorant_on = 1 and totminut > deodorant_time: gs 'sweat', 'remove_deo'
  242. !!painkiller
  243. if pain['killer'] > 0:
  244. if pain['killer'] = 1: pain_timer = totminut - 2
  245. pain['killer'] = totminut - pain_timer
  246. if pain['killer'] >= 243: pain['killer'] = 0
  247. end
  248. ! WD: 'daystart' Should start at 1
  249. if daystart = 0: daystart = 1
  250. !!Gaping of vagina recovery time
  251. !! [1] stored gape value
  252. !! [3] timer
  253. !! [4] time between each reduction in gape
  254. if agape[4] = 0: agape[4] = 10
  255. if vgape[4] = 0: vgape[4] = 10
  256. if vgape > vgape[1]:
  257. vgape[3] = totminut
  258. vgape[1] = vgape
  259. elseif vgape > 0:
  260. if (totminut - vgape[3])/vgape[4] >= 1: vgape -= 1
  261. vgape[1] = vgape
  262. else
  263. vgape[3] = 0
  264. end
  265. !!Gaping of anus recovery time
  266. if agape > agape[1]:
  267. agape[3] = totminut
  268. agape[1] = agape
  269. elseif agape > 0:
  270. if (totminut - agape[3])/agape[4] >= 1: agape -= 1
  271. if agape = 0: agape[3] = 0
  272. agape[1] = agape
  273. else
  274. agape[3] = 0
  275. end
  276. !!Recovery from spanking - will be superseded by pain system
  277. if spanked > 0:
  278. if spankedtime = 0: spankedtime = totminut
  279. if (spankedtime + 2040) <= totminut:spanked -= 1 & spankedtime = 0
  280. elseif spankedtime ! 0:
  281. killvar 'spankedtime'
  282. end
  283. !! Orgasmic cooldown
  284. if orgasmic ! 0:
  285. if orgasmic < totminut - 30: orgasmic = 0 & pcs_horny = 0
  286. end
  287. !!!!!!!!!!!!!!! Heels pain and skill gain
  288. !! This compares the player heels skill to the skill required to wear any heels the player
  289. !! currently wears. If the skill needed is greater than the player currently possesses,
  290. !! the pain in the feet increases and the player earns heels skill. If the skill required
  291. !! is lower, the player might still get experience, depending on how much greater the
  292. !! player skill is.
  293. !! Variables
  294. !! pcs_heels is the main heels skill
  295. !! heels_exp is used when the player gains experience using heels
  296. !! heels_deg is used when the player neglects their heels
  297. !! PShoHeels tracks the height of the heels currently worn
  298. !! heelsminut tracks when the heels skill was last changed
  299. !! heelsRequiredskill substitutes PShoHeels to allow comparison with pcs_heels
  300. !! heelsSkilldiff tracks difference between the players current and skill required by heels
  301. !! Required skill for various heel sizes
  302. !! 1 flats - 0
  303. !! 2 low heel - 5
  304. !! 3 Mid heel - 15
  305. !! 4 High heel - 25
  306. !! 5 ultra high heel - 40
  307. !! 6 fetish heel - 60
  308. !! Only run if at least X minutes have passed since last time
  309. if totminut >= heelsminut + 120:
  310. heelsminut = totminut
  311. !! Only check experience and pain gain and if the player wears heels, flats give nothing
  312. if PShoHeels > 1:
  313. if PShoHeels = 2:
  314. heelsRequiredskill = 5
  315. elseif PShoHeels = 3:
  316. heelsRequiredskill = 15
  317. elseif PShoHeels = 4:
  318. heelsRequiredskill = 25
  319. elseif PShoHeels = 5:
  320. heelsRequiredskill = 40
  321. elseif PShoHeels = 6:
  322. heelsRequiredskill = 60
  323. end
  324. !! stat is called a lot, there should be a limit to how much exp and pain you can accumulate...
  325. !! If the player skill is below the required skill, give heel_exp and apply ache
  326. if pcs_heels < heelsRequiredskill:
  327. heelsSkilldiff = heelsRequiredskill - pcs_heels
  328. if heelsSkilldiff <= 5:
  329. heels_exp += rand(3,6)
  330. if pain['feet'] < 40: gs 'pain', rand(0,1), 'feet', 'ache'
  331. elseif heelsSkilldiff <= 10:
  332. heels_exp += rand(5,9)
  333. if pain['feet'] < 50: gs 'pain', rand(0,2), 'feet', 'ache'
  334. elseif heelsSkilldiff <= 15:
  335. heels_exp += rand(7,12)
  336. if pain['feet'] < 60: gs 'pain', rand(1,3), 'feet', 'ache'
  337. elseif heelsSkilldiff <= 20:
  338. heels_exp += rand(9,15)
  339. if pain['feet'] < 70: gs 'pain', rand(2,4), 'feet', 'ache'
  340. elseif heelsSkilldiff > 20:
  341. heels_exp += rand(12,20)
  342. if pain['feet'] < 80: gs 'pain', rand(3,5), 'feet', 'ache'
  343. end
  344. !! Player skill is equal to or higher than the required skill
  345. !! Maybe have excessive skill result in no gain, or even a degrading skill?
  346. else
  347. heelsSkilldiff = pcs_heels - heelsRequiredskill
  348. if heelsSkilldiff <= 5:
  349. heels_exp += rand(3,6)
  350. elseif heelsSkilldiff <= 10:
  351. heels_exp += rand(2,4)
  352. elseif heelsSkilldiff <= 15:
  353. heels_exp += rand(1,2)
  354. elseif heelsSkilldiff <= 20:
  355. heels_exp += 0
  356. elseif heelsSkilldiff > 20:
  357. heels_deg -= rand(0,1)
  358. end
  359. end
  360. !! If not wearing heels, degrade heels skill
  361. else
  362. heels_deg -= rand(0,1)
  363. end
  364. end
  365. !!!!!!!!!!!!!!! End heels
  366. if sec >= 60:
  367. :loopsec
  368. minut += 1
  369. sec -= 60
  370. if sec >= 60:jump 'loopsec'
  371. end
  372. if minut >= 60:
  373. :loopmin
  374. hour += 1
  375. minut -= 60
  376. if SbrosNerdism = 1 and orgasm ! 10:
  377. pcs_nerd = pcs_sprt / 10 - orgasm
  378. elseif sbrosnerdism = 1 and orgasm = 10:
  379. pcs_nerd = pcs_sprt / 9 - orgasm
  380. end
  381. if pcs_nerd < 0:pcs_nerd = 0
  382. if obkvsdam > 0:obkvsdam = rand(2, 5)
  383. if scpopt > 1: scpopt = 0
  384. if insleep = 1:
  385. if amphHigh > 0:
  386. pcs_energy -= (4 / amphetamineBonus + succublvl/2)
  387. pcs_hydra -= (8 / amphetamineBonus + succublvl/2)
  388. else
  389. pcs_energy -= (4 * amphetamineBonus + succublvl/2)
  390. pcs_hydra -= (8 * amphetamineBonus + succublvl/2)
  391. end
  392. pcs_stam += stammax / 10
  393. pcs_sleep -= 4
  394. if alko > 0: alko -= 1
  395. pcs_willpower_feeder += willpowermax*4
  396. pcs_willpwr += pcs_willpower_feeder/100
  397. pcs_willpower_feeder = pcs_willpower_feeder mod 100
  398. else
  399. if amphHigh > 0:
  400. pcs_energy -= (8 / amphetamineBonus + succublvl)
  401. pcs_hydra -= (16 / amphetamineBonus + succublvl)
  402. else
  403. pcs_energy -= (8 * amphetamineBonus + succublvl)
  404. pcs_hydra -= (16 * amphetamineBonus + succublvl)
  405. end
  406. pcs_stam += stammax / 20
  407. pcs_sleep -= 4
  408. pcs_willpower_feeder += willpowermax*4/3
  409. pcs_willpwr += pcs_willpower_feeder/100
  410. pcs_willpower_feeder = pcs_willpower_feeder mod 100
  411. end
  412. if pcs_willpwr > willpowermax: pcs_willpwr = willpowermax
  413. if pcs_willpwr < 25: will_degrade += 1
  414. if will_degrade >= 5: willpowermax -= 1 & will_degrade = 0
  415. if pcs_willpwr >= 50 and will_degrade > 0: will_degrade -= 1
  416. if pcs_stam > stammax: pcs_stam = stammax
  417. gs 'femcyc'
  418. if hypnoAddict > 0:dynamic $hypnoAddiction
  419. !!mana regen
  420. pcs_mana += manamax / 20
  421. if alko > 0 and alkoblock = 0:
  422. if alko >= 6:
  423. if pcs_run > 0: run_deg -= 1
  424. if vball_lvl >= 50: vball_deg -= 1
  425. if alko >= 10:
  426. if pcs_stren > 10: stren_deg -= 1
  427. if pcs_vital > 10: vital_deg -= 1
  428. if pcs_intel > 10: intel_deg -= 1
  429. alko -= rand (0,1)
  430. end
  431. end
  432. alko -= rand (0,1)
  433. elseif alko < 0:
  434. alko = 0
  435. end
  436. if shame > 0:shame -= 1 & pcs_mood -= 5
  437. if smoker >= 20 and NarkImmune = 0: smokerNeed += 1
  438. if smokerNeed > 10 and InSleep = 0 and pcs_mood > 20 and NarkImmune = 0: pcs_mood -= pcs_mood / 10
  439. if smokerNeed > 300:smokerNeed = 0 & smoker = 0
  440. if StrongNarkota > 0:pcs_mood -= (40 / StrongNarkota) & StrongNarkota -= 1
  441. if amphWithdrawl >= 5: amphWithdrawl += 1 & pcs_mood -= (amphWithdrawl / 5)
  442. if amphHigh > 0:
  443. if amphWithdrawl < 2: amphWithdrawl = 2
  444. amphetamineBonus = 3
  445. amphHigh -= 4
  446. pcs_mood += (2 * amphHigh)
  447. elseif amphHigh <= 0 and amphWithdrawl = 2:
  448. if amphIntake > 0:
  449. amphIntake -= 1
  450. else
  451. amphWithdrawl = 0
  452. end
  453. amphHigh = 0
  454. amphetamineBonus = 2
  455. pcs_mood -= pcs_mood / 10
  456. elseif amphIntake > 0:
  457. amphWithdrawl += 1
  458. elseif amphHigh = 0 and amphWithdrawl = 0:
  459. amphetamineBonus = 1
  460. end
  461. if amphWithdrawl > 169: amphWithdrawl = 1 & amphetamineBonus = 1 & amphCount = 0
  462. if SLomka > 0 and pcs_mood > 10:SLomka += 1 & pcs_mood -= pcs_mood / 10
  463. if SLomka > 100 and StrongNarkota <= 0:SLomka = 0 & SNarkTimes = 0
  464. if jointhigh > 0: jointhigh -= 1
  465. if narkoman = 1 and narkday ! daystart:
  466. pcs_health -= 5
  467. if pcs_mood > 40:
  468. pcs_mood -= 40
  469. else
  470. pcs_mood = 5
  471. end
  472. end
  473. if $pantyworntype = 'none' and PCloPants > 0 and PCloPanties = 0 and $clothingworntype ! 'nude' and trait['commando_lvl'] < 2:
  474. if trait['commando_lvl'] < 1:
  475. mosol += 2
  476. elseif trait['commando_lvl'] = 1:
  477. mosol += 1
  478. end
  479. if mosol >= 100: pcs_mood -= 5
  480. if mosol >= 60 and pain['pubic'] < 80: gs 'pain', 1, 'pubic', 'ache'
  481. end
  482. if pcs_energy > 100:
  483. fat += (pcs_energy - 100) / 4
  484. pcs_energy = 100
  485. elseif pcs_energy <= (10 + vitalbuf / 25) and fat > (2 + vitalbuf / 25):
  486. pcs_energy += 6
  487. fat -= 2
  488. end
  489. if pcs_hydra > 200: pcs_hydra = 200
  490. if mosol > 0:
  491. if $pantyworntype ! 'none' or $clothingworntype = 'nude' or PCloPanties = 1:mosol -= rand(0,1)
  492. end
  493. if pcs_lipbalm > 0:pcs_lipbalm -= 1
  494. if sickstage = 1:sick += 1 & sicktimer += 1
  495. if sickstage = 1 and sicktimer >= 80:sicktimer = 0 & sickstage = 2
  496. if sickstage = 2 and sick > 0:sick -= 1
  497. if sickstage = 2 and sick <= 0:sick = 0 & sickstage = 0
  498. if perkice > 0:perkice -= 1
  499. if frost > 0:frost -= 1
  500. if KGOLpers > 0:
  501. if KGHP < KGHPMAX:KGHP += 10
  502. if KGMana < KGManaMax:KGMana += 10
  503. end
  504. !! pain[0] = pain['total'] , pain[1] = pain['damage'] , pain[2] = pain['relief']
  505. i = arrsize('pain')
  506. :statpainloop
  507. if i > 0:
  508. i -= 1
  509. pain[i] -= rand(0,1)
  510. if pain[i] < 0: pain[i] = 0
  511. jump 'statpainloop'
  512. end
  513. !! Panty happiness gain
  514. if pcs_mood < 60 and $pantyworntype = 'kats': pcs_mood += 2
  515. if pcs_mood < 60 and $braworntype = 'kats': pcs_mood += 2
  516. !!Arousal adjustments
  517. if ($pantyworntype = 'exhibitionist' and $braworntype = 'exhibitionist') and pcs_horny < 25:
  518. pcs_horny += 10
  519. elseif pcs_horny < 10 and ($pantyworntype = 'exhibitionist' or $braworntype = 'exhibitionist'):
  520. pcs_horny += 5
  521. end
  522. if aphrodisiac_timer >= 1:
  523. if pcs_horny < 80:
  524. pcs_horny = 80
  525. else
  526. pcs_horny += 10
  527. end
  528. aphrodisiac_timer -= 1
  529. end
  530. if $pantyworntype ! 'none' and clit_size >= 25 and pcs_horny < 60:pcs_horny += 20
  531. if insleep = 0:
  532. gs 'sweat', 'add', rand(0,1)
  533. if temper >= 20: gs 'sweat', 'add', rand(0,1)
  534. end
  535. ! vovan edition, from 1.2.5
  536. if huntersAndreisex > 0: huntersAndreisex -= 1
  537. if huntersSergeisex > 0: huntersSergeisex -= 1
  538. if huntersIgorsex > 0: huntersIgorsex -= 1
  539. if huntslutsex > 0: huntslutsex -= 1
  540. if mira_go_blok > 0: mira_go_blok -= 1
  541. if mira_no_home > 0: mira_no_home -= 1
  542. gs 'traits', 'hourly'
  543. if (hour mod 2) = 0: gs 'outdoors', 'weather'
  544. if minut >= 60:jump 'loopmin'
  545. end
  546. if hour >= 24: gs 'cikl'
  547. if minut < 10:
  548. $nilmin = '0'
  549. else
  550. $nilmin = ''
  551. end
  552. if kid > 0:
  553. i = arrsize('yearkid')
  554. :LoopKidAgeCounter
  555. if i >= 0:
  556. if yearkid[i] = year + 1 and monthkid[i] = month and daykid[i] = day: msg'It is <<$kidname[i]>>''s birthday today.'
  557. i -= 1
  558. jump 'LoopKidAgeCounter'
  559. end
  560. end
  561. if pcs_nerd > 0:
  562. if lastreadday = daystart:
  563. !!<font color="green">You are completely healthy shine and a healthy glow.</font>
  564. pcs_mood = 100
  565. SbrosNerdism = 0
  566. $mudnerd = '<font color="green">You are lost in a fantasy after reading a book.</font>'
  567. end
  568. if lastreadday + 1 = daystart:
  569. SbrosNerdism = 0
  570. $mudnerd = '<font color="black">You are a little bored and want to plunge into a book.</font>'
  571. end
  572. if lastreadday + 2 = daystart:
  573. SbrosNerdism = 0
  574. if pcs_mood > 50:pcs_mood -= 10
  575. $mudnerd = '<font color="red">You really want to read something.</font>'
  576. end
  577. if lastreadday + 3 <= daystart:
  578. if pcs_mood > 10:pcs_mood -= 10
  579. SbrosNerdism = 1
  580. $mudnerd = '<font color="red"><b>You have an incredibly strong desire to read!!!</b></font>'
  581. end
  582. else
  583. SbrosNerdism = 0
  584. $mudnerd = ''
  585. end
  586. if bimbolevel > 0:
  587. if bimbowithdrawal = 0:
  588. $bimbostatus = '<font color = #FF1493>You''re, like, super hawt today.</font>'
  589. $bimbo_tooltip = 'You''re, like, super hawt today.'
  590. elseif bimbowithdrawal = 1:
  591. $bimbostatus = '<font color="green">You feel, like, kind of lame today.</font>'
  592. $bimbo_tooltip = 'You feel, like, kind of lame today.'
  593. elseif bimbowithdrawal < 4:
  594. $bimbostatus = '<font color="grey">You feel, like, totally lame today.</font>'
  595. $bimbo_tooltip = 'You feel, like, totally lame today.'
  596. elseif bimbowithdrawal < 6:
  597. if pcs_mood > 50: pcs_mood -= 10
  598. $bimbostatus = '<font color="red">You really feel, like, awful today.</font>'
  599. $bimbo_tooltip = 'You really feel, like, awful today.'
  600. elseif bimbowithdrawal >= 6:
  601. if pcs_mood > 10: pcs_mood -= 10
  602. $bimbostatus= '<font color="red"><b>You feel that, like, horrible today!</b></font>'
  603. $bimbo_tooltip = 'You feel that, like, horrible today!'
  604. end
  605. else
  606. bimbowithdrawal = 0
  607. $bimbostatus = ''
  608. end
  609. !
  610. ! WD: Triggers every 15 minutes if not sleeping
  611. ! Update to remove long iterations on loading saves from previous versions
  612. ! Do Nothing if sleeping, invalid Trig15Minute value or more than 6 hours 16 minute pass
  613. if InSleep ! 0 or Trig15Minute > totminut or (totminut - Trig15Minute) >= 376:
  614. set Trig15Minute = totminut
  615. ! More than 15 minutes since last check
  616. else
  617. if (totminut - Trig15Minute) >= 15:
  618. ! begin Loop
  619. :Trig15MinuteLoop
  620. ! Horny Actions
  621. if pcs_horny > 100:
  622. set Trig15Minute = totminut
  623. else
  624. set Trig15Minute += 15
  625. ! WD: Fix vibrator arousal to trigger every 15 minutes, moved from 'time' location
  626. if vibratorin = 1:pcs_horny += rand(1, 5)
  627. ! WD: Fixed Piecing arousal to trigger every 15 minutes, instead of once per day
  628. if pcs_horny < 70:
  629. hornystat = 0
  630. if pirsF > 0 and pirsF < 10000:hornystat += 1
  631. if pirsG > 0 and pirsG < 10000:hornystat += 1
  632. hornyStat = hornystat * 4
  633. if pirsA > 0 and pirsA < 10000:hornystat += 1
  634. if pirsB > 0 and pirsB < 10000:hornystat += 1
  635. if pirsC > 0 and pirsC < 10000:hornystat += 1
  636. if pirsD > 0 and pirsD < 10000:hornystat += 1
  637. if pirsE > 0 and pirsE < 10000:hornystat += 1
  638. if pirsN > 0 and pirsN < 10000:hornystat += 1
  639. set pcs_horny += hornyStat / 4 + rand(1,4) <= hornyStat mod 4 & ! Apply 1/4 of value on average
  640. end
  641. ! WD: Clothing
  642. if CloStyle = 4 and pcs_horny < 70:set pcs_horny += rand(0, 2)
  643. if (PCloSkirt > 5 or PCloPants > 5) and pcs_horny < 50:set pcs_horny += rand(0, 1)
  644. if PCloTopCut = 4 and pcs_horny < 50:set pcs_horny += rand(0, 1)
  645. end
  646. !!SECTION: Bimbo (15 minute interval update checks)
  647. if bimbolevel = 2:
  648. if pcs_mood < 100:pcs_mood += ((pcs_mood / 100) * (rand(0,1)))
  649. if pcs_horny < 25:pcs_horny = 25
  650. if pcs_horny < 100:pcs_horny += 1
  651. end
  652. if bimbolevel = 3:
  653. if (pcs_mood < 100):pcs_mood += ((pcs_mood / 100) * (rand(0,2)))
  654. if pcs_horny < 50:pcs_horny = 50
  655. if pcs_horny < 100:pcs_horny += 2
  656. end
  657. !!SECTION: Commando trait (15 minute interval update checks)
  658. if $clothingworntype ! 'nude':
  659. if $pantyworntype = 'none':
  660. !! Addition to trait exp/lvls
  661. if trait['commando_lvl'] = 0:
  662. if PCloSkirt > 0:
  663. trait['commando_exp'] += 2
  664. else
  665. trait['commando_exp'] += 1
  666. end
  667. if trait['commando_exp'] >= 1000:
  668. trait['commando_exp'] = 50
  669. trait['commando_lvl'] = 1
  670. msg'You have gained the Commando trait! You have become accustomed to the idea you don''t have to wear panties all the time and can now comfortably wear skirts without panties. Pants are still a little itchy though...'
  671. end
  672. elseif trait['commando_lvl'] = 1:
  673. trait['commando_exp'] += 2
  674. if trait['commando_exp'] >= 1000:
  675. trait['commando_exp'] = 50
  676. trait['commando_lvl'] = 2
  677. msg'You have gained the 2nd level of the Commando trait! You have become very comfortable without panties and the raw insides of your pants no longer irritate your pussy.'
  678. end
  679. elseif trait['commando_lvl'] = 2:
  680. mosol = 0
  681. trait['commando_exp'] += 2
  682. if trait['commando_exp'] >= 1000:
  683. trait['commando_exp'] = 500
  684. trait['commando_lvl'] = 3
  685. msg'You have gained the 3rd level of the Commando trait! You have become so accustomed to going commando that any kind of underwear over your hips just feels <i>wrong</i>. You suffer mood penalties while wearing panties.'
  686. end
  687. elseif trait['commando_lvl'] = 3:
  688. trait['commando_exp'] += 1
  689. end
  690. elseif trait['commando_lvl'] > 0:
  691. !!Reduction from exp/lvls
  692. if trait['commando_lvl'] = 3:
  693. trait['commando_exp'] -= 1
  694. pcs_mood -= 1
  695. if trait['commando_exp'] <= 0:
  696. trait['commando_exp'] = 500
  697. trait['commando_lvl'] = 2
  698. msg'You have lost the 3rd level of the Commando trait! You are now only comfortable not wearing panties and will not suffer irritation from wearing pants while going commando.'
  699. end
  700. else
  701. trait['commando_exp'] -= 1
  702. if trait['commando_exp'] <= -0:
  703. trait['commando_exp'] = 900
  704. trait['commando_lvl'] -= 1
  705. end
  706. end
  707. end
  708. end
  709. !! This is the Succubus non-direct injection (pun intented) sex to sexnutrition and the sexnutrition conversion handling
  710. if succubusflag = 1:
  711. if pcs_horny < 50: pcs_horny = 50
  712. if pcs_horny < 100: pcs_horny += succublvl
  713. if succhungry > 0:
  714. pcs_energy -= succhungry * succublvl
  715. pcs_hydra -= succhungry * succublvl
  716. pcs_sleep -= succhungry * succublvl
  717. end
  718. if arrsize('sparrvol') > 0:
  719. suctempi = -1
  720. :SuccAbsorbLoop
  721. suctempi += 1
  722. if suctempi <= 1 or suctempi = 3 or suctempi = 4 or suctempi >= 8:
  723. suctemparr = arrpos('sparrloc',suctempi)
  724. if suctemparr >= 0 and sparrloc[suctemparr] = suctempi and sparrvol[suctemparr] > 0:
  725. scfeed = succublvl + rand(1,4)
  726. sexnutrition += 30 * scfeed
  727. succubxp += 5
  728. cumsumbod -= sparrvol[suctemparr]
  729. ! msg "we've got xp!" + sparrloc[suctemparr]
  730. sucabscum = 1
  731. gs 'cum_cleanup', 'cleandeposit', suctemparr
  732. cumloc[suctempi] = 0
  733. spdirty = 0
  734. !debug code $stat_msg += '<BR>Absorb ext <<sexnutrition>>'
  735. end
  736. end
  737. if suctempi < 17:jump 'SuccAbsorbLoop'
  738. cumloc[0] = 0
  739. cumloc[1] = 0
  740. cumloc[2] = 0
  741. cumloc[3] = 0
  742. cumloc[4] = 0
  743. cumloc[5] = 0
  744. cumloc[6] = 0
  745. cumloc[7] = 0
  746. cumloc[8] = 0
  747. cumloc[9] = 0
  748. cumloc[10] = 0
  749. cumloc[11] = 0
  750. cumloc[12] = 0
  751. cumloc[13] = 0
  752. cumloc[14] = 0
  753. cumloc[15] = 0
  754. cumloc[16] = 0
  755. cumloc[17] = 0
  756. end
  757. if suclezsex < lesbian:
  758. sexnutrition += succublvl * 20
  759. suclezsex = lesbian
  760. succubxp += 5
  761. sucabslez = 1
  762. end
  763. if sexnutrition > 0:
  764. if sucskill >= 3 and succublvl >= 2: sexnutrition += (sexnutrition * 2) / 10
  765. if sucabslez = 1 and sucabscum = 1:
  766. $sucabs1 = 'absorbed energy from the woman you had sex with'
  767. $sucabs2 = ' and you '
  768. $sucabs3 = 'absorb the semen in your body'
  769. elseif sucabscum = 1:
  770. $sucabs3 = 'absorb the semen in your body'
  771. elseif sucabslez = 1:
  772. $sucabs1 = 'absorbed energy from the woman you had sex with'
  773. else
  774. !!Debug code
  775. $stat_msg += '<BR>SOMETHING HAPPENED!'
  776. end
  777. $stat_msg += '<BR>You <<$sucabs1>><<$sucabs2>><<$sucabs3>>, gaining nourishment.'
  778. sucabslez = 0 & sucabscum = 0
  779. $sucabs1 = '' & $sucabs2 = '' & $sucabs3 = ''
  780. if (pcs_mood < 100): pcs_mood += ((pcs_mood / 100) * 5)
  781. if pcs_energy > 100: entemp = (pcs_energy - 100)
  782. if sucexcess < 0 and sexnutrition > 20 and pcs_energy > 30:
  783. if sexnutrition - 20 >= (0 - sucexcess) * 2:
  784. sexnutrition += sucexcess * 2
  785. sucexcess = 0
  786. else
  787. sucexcess += (sexnutrition - 20) / 2
  788. sexnutrition = 20
  789. end
  790. end
  791. pcs_energy += sexnutrition / 2
  792. pcs_hydra += sexnutrition
  793. pcs_sleep += sexnutrition / 20
  794. if succhungry > 0: succhungry = 0
  795. sexnutrition = 0
  796. if pcs_energy > 100: sucexcess += (pcs_energy - entemp - 100) & pcs_energy = 100 + entemp & killvar 'entemp'
  797. end
  798. end
  799. !! safeguards to prevent bimbolevel from going above or below its intended limits
  800. if bimbolevel > 3: bimbolevel = 3
  801. if bimbolevel < 0: bimbolevel = 0
  802. ! do loop
  803. if (totminut - Trig15Minute) >= 15:jump 'Trig15MinuteLoop'
  804. end
  805. end
  806. !!!!!!!!!!!!!
  807. !!!ENERGY!!!
  808. !!!!!!!!!!!!!
  809. if succubusflag = 1:
  810. if pcs_energy < 0:
  811. if fat >= 1:
  812. if cheatNoFat = 0: fat -= 2
  813. pcs_energy += 8 + succublvl
  814. else
  815. pcs_energy += 8 + succublvl
  816. sucexcess -= (8 + succublvl) * (6 - succublvl)
  817. end
  818. end
  819. if pcs_health < 0:
  820. pcs_health = 10
  821. sucexcess -= 25 * (9 - succublvl)
  822. end
  823. if pcs_willpwr < 0:
  824. pcs_willpwr = 10
  825. sucexcess -= 20 * (9 - succublvl)
  826. sucpowzeroed = 4
  827. end
  828. end
  829. if pcs_sleep < 0:
  830. pcs_sleep = 0
  831. pcs_mood -= 5
  832. end
  833. if pcs_energy < 0:
  834. pcs_energy = 0
  835. pcs_health -= 5
  836. if salo = 0 and pcs_stren + pcs_vital > 0:
  837. stren_deg -= 1
  838. vital_deg -= 1
  839. pcs_energy += 8
  840. elseif salo = 0 and pcs_stren + pcs_vital <= 0:
  841. if Enable_nogameover = 0 :
  842. over = 3
  843. if $loc ! 'gameover': gt 'gameover'
  844. exit
  845. else
  846. $stat_msg += '<BR><font color=red><B>You starved to death, but Cheat Mode keeps you Alive.</B></font>'
  847. fat = 1
  848. end
  849. elseif salo > 0:
  850. if cheatNoFat = 0: fat -= 1
  851. pcs_energy += 8
  852. end
  853. end
  854. if pcs_hydra <= 0:
  855. pcs_hydra = 1
  856. pcs_health -= 5
  857. end
  858. !!Set hydra_check value
  859. hydra_check = pcs_hydra
  860. if pcs_mood <= 0:
  861. pcs_mood = 1
  862. pcs_health -= 5
  863. end
  864. if pcs_health < 0:
  865. if Enable_nogameover = 0 :
  866. over = 1
  867. if $loc ! 'gameover': gt 'gameover'
  868. exit & !nogameover by illume
  869. else
  870. $stat_msg += '<BR><font color=red><B>You died from injuries, but Cheat Mode keeps you Alive.</B></font>'
  871. pcs_health = 0
  872. end
  873. end
  874. if pcs_willpwr <= 0 :
  875. !this will set willpower to 0 correctly; then check mana =1 for insane-gameover(pcs_willpwr=0&mana=1).
  876. if pcs_mood <= 1:
  877. if Enable_nogameover = 0 :
  878. over = 2
  879. if $loc ! 'gameover': gt 'gameover'
  880. exit & !nogameover by illume
  881. else
  882. $stat_msg += '<BR><font color=red><B>You are insane, but Cheat Mode keeps you Alive.</B></font>'
  883. !pcs_mood already checked for >=1 in line 1113 if pcs_mood <= 0, no need to set another one
  884. end
  885. end
  886. pcs_willpwr = 0
  887. end
  888. !!cars-increase/depressed mood after orgasm/rape
  889. if rape > 0 and rape ! rape_count and orgasm = orgasm_count:
  890. pcs_mood = 10
  891. rape_count = rape
  892. elseif orgasm > 0 and orgasm ! orgasm_count:
  893. pcs_mood = 100
  894. orgasm_count = orgasm
  895. elseif rape > 0 and rape ! rape_count and orgasm > 0 and orgasm ! orgasm_count:
  896. pcs_mood = 100
  897. orgasm_count = orgasm
  898. rape_count = rape
  899. end
  900. !!Health, Willpower, Auto Birth Control pregnancy check
  901. gs 'body'
  902. if pcs_health >= healthmax:
  903. $pcs_health = '<font color="green">You are very healthy.</font>'
  904. elseif pcs_health >= healthmax * 75 / 100:
  905. $pcs_health = '<font color=#0064FF>You are healthy.</font>'
  906. elseif pcs_health >= healthmax * 50 / 100:
  907. $pcs_health = '<font color="brown">You are not healthy.</font>'
  908. elseif pcs_health >= healthmax * 25 / 100:
  909. $pcs_health = '<font color="red">You are sick.</font>'
  910. else
  911. $pcs_health = '<font color="red">You are on the verge of death.</font>'
  912. end
  913. if pcs_willpwr >= willpowermax:
  914. $pcs_willpwr = '<font color="green">You feel in charge of your actions.</font>'
  915. elseif pcs_willpwr >= willpowermax * 75 / 100:
  916. $pcs_willpwr = '<font color=#0064FF>You are mostly in control.</font>'
  917. elseif pcs_willpwr >= willpowermax * 50 / 100:
  918. $pcs_willpwr = '<font color="brown">You might have to make some concessions.</font>'
  919. elseif pcs_willpwr >= willpowermax * 25 / 100:
  920. $pcs_willpwr = '<font color="red">You will have to toe the line.</font>'
  921. else
  922. $pcs_willpwr = '<font color="red">You are completely at other people''s mercy.</font>'
  923. end
  924. !!stop auto birth control pill taking if the player believes they are pregnant or are pregnant
  925. if (thinkpreg = 1 or knowpreg = 1) and tabletkicheck = 1: tabletkicheck = 0
  926. !!Mood
  927. if cheatNoMood = 0:
  928. maxmood = 100 - moodmodifier
  929. if pcs_mood > 100:
  930. pcs_mood = 100
  931. elseif pcs_mood < 0:
  932. pcs_mood = 0
  933. !! Asylum: basically this means clinically insane, like court-ordered committed, saliva dripping, blubbering... Ordinarily irreversible at this stage meaning Game Over, but cheat can help
  934. end
  935. else
  936. pcs_mood = 100
  937. mood_trauma = 0
  938. end
  939. if pcs_mood >= 80:
  940. $pcs_mood = '<font color="green">You are in a great mood.</font>'
  941. elseif pcs_mood >= 60:
  942. $pcs_mood = '<font color=#0064FF>You are in a good mood.</font>'
  943. elseif pcs_mood >= 40:
  944. $pcs_mood = '<font color="brown">You are in an OK mood.</font>'
  945. elseif pcs_mood >= 20:
  946. $pcs_mood = '<font color="orange">You are in a bad mood.</font>'
  947. elseif pcs_mood >= 5:
  948. $pcs_mood = '<font color="red">You are in a terrible mood.</font>'
  949. else
  950. $pcs_mood = '<font color="red">You are really depressed and need to improve your mood.</font>'
  951. end
  952. if pcs_energy >= 80:
  953. $pcs_energy = '<font color="green">You couldn''t eat one more bite.</font>'
  954. elseif pcs_energy >= 40:
  955. $pcs_energy = '<font color=#0064FF>You''re not really hungry, but a small snack would be very welcome.</font>'
  956. elseif pcs_energy >= 8:
  957. $pcs_energy = '<font color="brown">You are hungry.</font>'
  958. else
  959. $pcs_energy = '<font color="red">You are very hungry.</font>'
  960. end
  961. if pcs_hydra >= 80:
  962. $pcs_hydra = '<font color="green">You are not thirsty at all.</font>'
  963. elseif pcs_hydra >= 40:
  964. $pcs_hydra = '<font color=#0064FF>You are slightly thirsty.</font>'
  965. elseif pcs_hydra >= 8:
  966. $pcs_hydra = '<font color="brown">You are thirsty.</font>'
  967. else
  968. $pcs_hydra = '<font color="red">You are very thirsty.</font>'
  969. end
  970. if pcs_sleep >= 80:
  971. $pcs_sleep = '<font color="green">You are well rested.</font>'
  972. elseif pcs_sleep >= 40:
  973. $pcs_sleep = '<font color=#0064FF>You are slightly tired.</font>'
  974. elseif pcs_sleep >= 8:
  975. $pcs_sleep = '<font color="brown">You are tired.</font>'
  976. else
  977. $pcs_sleep = '<font color="red">You are very tired.</font>'
  978. end
  979. if workFabrika = 1 and week => 1 and week <= 5 and hour > 8 and age => 16 and age < 18 and FabrikaProgulDay ! day or workFabrika = 1 and week => 1 and week <= 5 and hour > 16 and age > 18 and FabrikaProgulDay ! day:
  980. !!absence from work in a factory in Pavlovsk
  981. FabrikaProgul += 1
  982. FabrikaProgulDay = day
  983. end
  984. if hotelroom > 0:
  985. if hotelroom1day = daystart: $stat_msg += '<BR>You have 1 night left on your hotel booking.'
  986. if hotelroom1day < daystart and hour <= 11: $stat_msg += '<BR>Your hotel booking has expired, and you cannot return to your room after 11:00'
  987. if hotelroom1day < daystart and hour > 11: hotelroom = 0
  988. end
  989. if hour >= 8 and hour < 14 and week < 6 and StoryLine > 0 and SchoolAtestat = 0 and kanikuli = 0 and schoolProgulDay ! daystart:
  990. !!absence from school
  991. schoolprogul += 1
  992. schoolProgulDay = daystart
  993. end
  994. if cumcondslip <= 0: cumcondslip_deep = 0
  995. !!Sex stat update
  996. stat['mast'] += mastr & mastr = 0
  997. stat['hj'] += hj & hj = 0
  998. stat['bj'] += bj & bj = 0
  999. stat['vaginal'] += sex & sex = 0
  1000. stat['anal'] += anal & anal = 0
  1001. stat['cuni'] += kuni & kuni = 0
  1002. stat['anal_strap_give'] += pegging & pegging = 0
  1003. !!Pain calculation
  1004. paintmp1 = func('shortgs','modul',pain['head'],pain['hair'],pain['ears'],pain['eyebrows'],pain['eyes'],pain['cheeks'],pain['nose'],pain['mouth'])
  1005. paintmp2 = func('shortgs','modul',pain['tummy'],pain['pubic'],pain['vaginal'],pain['labia'],pain['clitoris'],pain['urethra'],pain['cervix'],pain['lips'])
  1006. paintmp3 = func('shortgs','modul',pain['throat'],pain['asscheeks'],pain['asshole'],pain['hips'],pain['thighs'],pain['legL'],pain['legR'],pain['feet'])
  1007. paintmp4 = func('shortgs','modul',pain['toes'],pain['shoulders'],pain['armL'],pain['armR'],pain['hands'],pain['fingers'],pain['chest'],pain['breasts'])
  1008. paintmp5 = func('shortgs','modul',pain['tongue'],pain['neck'],pain['back'],pain['nipples'],pain['ribs'],vgape * 8, agape * 10,spanked * 24)
  1009. pain['total'] = func('shortgs','modul',paintmp1,paintmp2,paintmp3,paintmp4,paintmp5)
  1010. if pain['total'] > 100: pain['total'] = 100
  1011. pain['damage'] = pain['total']
  1012. pain['relief'] = 0
  1013. if alko > 9:
  1014. pain['relief'] = 70
  1015. elseif alko > 6:
  1016. pain['relief'] = 40
  1017. elseif alko > 3:
  1018. pain['relief'] = 15
  1019. end
  1020. if StrongNarkota > 0:
  1021. pain['relief'] = 90
  1022. elseif nark > 0:
  1023. pain['relief'] = 60
  1024. elseif pain['killer'] > 12 and alko <= 9:
  1025. pain['relief'] = 50
  1026. end
  1027. if pain['relief'] ! 0:
  1028. if (pain['total'] / pain['relief']) > 0:
  1029. pain['total'] = pain['total'] / pain['relief']
  1030. elseif pain['total'] > 0:
  1031. pain['total'] = 0
  1032. end
  1033. end
  1034. if pain['total'] > 80:
  1035. if (pcs_health * 5) >= healthmax: pcs_health = pcs_health * 20 / 100
  1036. if (pcs_mood * 5) >= 100: pcs_mood = pcs_mood * 20 / 100
  1037. elseif pain['total'] > 60:
  1038. if (pcs_health * 5 / 2) >= healthmax: pcs_health = pcs_health * 40 / 100
  1039. if (pcs_mood * 5 / 2) >= 100: pcs_mood = pcs_mood * 40 / 100
  1040. elseif pain['total'] > 40:
  1041. if (pcs_health * 5 / 3) >= healthmax: pcs_health = pcs_health * 60 / 100
  1042. if (pcs_mood * 5 / 3) >= 100: pcs_mood = pcs_mood * 60 / 100
  1043. elseif pain['total'] > 20:
  1044. if (pcs_health * 5 / 4) >= healthmax: pcs_health = pcs_health * 80 / 100
  1045. if (pcs_mood * 5 / 4) >= 100: pcs_mood = pcs_mood * 80 / 100
  1046. elseif pain['total'] > 0:
  1047. if (pcs_health * 10 / 9) >= healthmax: pcs_health = pcs_health * 90 / 100
  1048. if (pcs_mood * 10 / 9) >= 100: pcs_mood = pcs_mood * 90 / 100
  1049. end
  1050. !!--------------------------pain calculation end--------------------------------
  1051. !!update skills and attributes to pcs_ from there _lvl values plus adjustments based on condition
  1052. gs 'stat_sklattrib_lvlset'
  1053. !!Sleep variable cap
  1054. if pcs_sleep > 100: pcs_sleep = 100
  1055. if insleep = 0: gs 'stat_display'
  1056. gs 'family_schedule'
  1057. !!--------------------------Job Checks For Icons--------------------------------
  1058. if (acting['shoot_day'] = daystart and actress_cast = 1) or (audition['day'] = daystart):
  1059. acting['icon'] = 1
  1060. else
  1061. acting['icon'] = 0
  1062. end
  1063. if model_job_week < 2 and model['status'] = 1:
  1064. model['icon'] = 1
  1065. else
  1066. model['icon'] = 0
  1067. end
  1068. if pfilmday[0] > 0:
  1069. pornstar['icon'] = 1
  1070. else
  1071. pornstar['icon'] = 0
  1072. end
  1073. if therapistday ! daystart and remindedtherapyday ! daystart and hypnoSchedule = 1 and (hour >= 18 and (minut > 45 or hour >= 19)) and (hour < 20 and (minut < 15 or hour < 19)) and menu_off = 0:
  1074. remindedtherapyday = daystart
  1075. gt 'therapist_reminder'
  1076. end
  1077. --- stat ---------------------------------