stat.qsrc 36 KB

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