stat 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968
  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. if oldobjmenu = 0:
  8. gs 'obj_din', 'new'
  9. else
  10. gs 'obj_din', 'old'
  11. end
  12. end
  13. if daystart_start < 100:
  14. 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>?'
  15. exit
  16. end
  17. view
  18. rand1 = rand(0,100)
  19. $stat_msg=''
  20. if MagikDostup = 0: magik_exp = orgasm
  21. if insleep = 0: gs 'stat_sklattrib'
  22. if cheatHealth = 1: dynamic $cheatmenu['std_cure']
  23. if analplay >= 2 and pcs_ass <= 10: pcs_ass += 1 & analplay = 0
  24. if analplay >= 4 and pcs_ass <= 15: pcs_ass += 1 & analplay = 0
  25. if analplay >= 8 and pcs_ass <= 20: pcs_ass += 1 & analplay = 0
  26. !!The following seems to be part of the combat system.
  27. musle[1] = musle
  28. flex[1] = pcs_agil
  29. stamina[1] = pcs_vital * 3
  30. wipo[1] = pcs_sprt
  31. intel[1] = pcs_intel - bimbostupidity
  32. krasota[1] = pcs_apprnc
  33. pcs_hgt[1] = pcs_hgt
  34. salo[1] = salo
  35. fat[1] = fat
  36. Bteh[1] = bteh
  37. Uteh[1] = uteh
  38. Zteh[1] = zteh
  39. !!This is a temporary stop-gap measure for the accomadation skill and will be removed
  40. if succubusflag = 1 and sucskill >= 4:
  41. if pain['throat'] > 0: pain['throat'] = 0 & sucexcess -= 1
  42. if pain['asshole'] > 0: pain['asshole'] = 0 & sucexcess -= 1
  43. if pain['vaginal'] > 0: pain['vaginal'] = 0 & sucexcess -= 1
  44. if vgape > 0: vgape = 0 & vgapetime = 0 & sucexcess -= 1
  45. if agape > 0: agape = 0 & agapetime = 0 & sucexcess -= 1
  46. end
  47. !!!CHEATS!!!
  48. if cheatWork = 1:work = 0
  49. if cheatWorkKiskis = 1:young_shop_miss = 0
  50. if cheatHapri = 1:pcs_hairbsh = 1
  51. if cheatKlisma = 1: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 cheatBandit = 1 and npc_horny['A66'] < 19: npc_horny['A66'] = 19
  60. if CheatNoSleep = 1 and pcs_sleep < 35: pcs_sleep = 35
  61. if alko > 0 and frost > 0:frost = 0
  62. if StrongNarkota >= 20:
  63. if alko > 0:alko = 0
  64. end
  65. if lernSkill >= 8: intel_exp += 1 & lernSkill = 0
  66. if lern >= 10: intel_exp += 1 & lern = 0
  67. if pav_sex >= 25:KatjaKnowBJ = 1
  68. if pav_sex >= 50 or preg > 0:KatjaKnowSex = 1
  69. shameless = guy + stat['bj'] + stat['anal'] + stat['hj'] + ((slutty + gang) * 2)
  70. moneySUM = money + karta + stolmoney
  71. cumSUM = cumsumbod/40
  72. if husbizvradd > 5:izvratH = 1
  73. if husbharmin > 10:harakHusb = 0
  74. if clrbelo < 0:clrbelo = 0 & gs 'underwear', 'remove'
  75. if clrbra < 0:clrbra = 0 & gs 'underwear', 'remove'
  76. if husband = 0:
  77. husbizvradd = 0
  78. husbharmin = 0
  79. husbandMark = 0
  80. houseslut = 0
  81. end
  82. if SNarkvnesh = 0:SNarkvnesh = 1
  83. if SNarkTimes >= SNarkvnesh * 25:
  84. SNarkvnesh += 1
  85. vidage += 1
  86. end
  87. if gopota >= 20 and gnewQW = 1:gnewQW = 2
  88. if workDisk = 4 and week > 5:workDisk = 1
  89. if workDisk = 3 and week > 5:workDiskAtkPlayer = 1
  90. if bfa < 0: bfa = 0
  91. if pcs_vag > 36: pcs_vag = 36
  92. if pcs_throat > 36: pcs_throat = 36
  93. if pcs_ass > 36: pcs_ass = 36
  94. if NarkImmune = 1:
  95. if narkoman ! 0:narkoman = 0
  96. elseif nark >= 30 and narkoman = 0 and NarkImmune = 0:
  97. narkoman = 1
  98. elseif nark = 0 and narkoman = 1:
  99. narkoman = 0
  100. end
  101. if CheatSlut = 1 or succubusflag = 1:
  102. !!Succubus cannot get pregnant
  103. mesec = 0
  104. FocH = 0
  105. EggRH = 0
  106. Ovulate = 0
  107. fertegg = 0
  108. UnfertEgg = 0
  109. PregChem = 0
  110. preg = 0
  111. LutH = 0
  112. RecovH = 0
  113. babyembryo = 0
  114. cycle = 1
  115. if pcs_horny < 50 and CheatSlut = 1: pcs_horny = 50
  116. end
  117. !!These will be made obsolete with the combat system overhaul
  118. boxing = pcs_jab + pcs_punch + pcs_kick + pcs_def
  119. if boxing > 100: boxing = 100
  120. if MagikDostup = 0:
  121. if pcs_magik > magikhigh:
  122. magikhigh += 1
  123. rikudo += pcs_magik * 100
  124. $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>'
  125. !! This will be replaced when a more advanced physical system is made
  126. if (pcs_magik mod 2 ! 0) and pcs_eyesize < 2: pcs_eyesize += 1
  127. if (pcs_magik mod 2 = 0) and pcs_lashes < 2: pcs_lashes += 1
  128. end
  129. else
  130. !!This is for error catching
  131. killvar 'pcs_magik'
  132. killvar 'rikudo'
  133. killvar 'pcs_splcstng'
  134. end
  135. if pcs_dom < 0: SUB = SUB - pcs_dom
  136. if SUB < 0: pcs_dom = pcs_dom - SUB
  137. if pcs_dom > 100: pcs_dom = 100
  138. if SUB > 100: SUB = 100
  139. if SUB >= pcs_dom and pcs_dom > 0:SUB = SUB - pcs_dom & pcs_dom = 0
  140. if pcs_dom >= SUB and SUB > 0:pcs_dom = pcs_dom - SUB & SUB = 0
  141. if pcs_horny < 0: pcs_horny = 0
  142. if pcs_exhibition < 0:
  143. pcs_exhibition = 0
  144. elseif pcs_exhibition > 100:
  145. pcs_exhibition = 100
  146. end
  147. healthmax = (pcs_vital * 10 + pcs_stren * 5)
  148. willpowermax = (pcs_intel * 5 + pcs_sprt * 5)
  149. stammax = 5 * (2 * pcs_vital + pcs_agil + pcs_stren) / 2
  150. mannamax = (pcs_intel * pcs_magik) + pcs_magik * 100 + pcs_vital * 10 + rikudo
  151. speed = (2 * (pcs_stren + pcs_agil) + pcs_vital) / 5
  152. if healthmax < 1: healthmax = 1
  153. if willpowermax < 1: willpowermax = 1
  154. if stammax < 1: stammax = 1
  155. if mannamax < 1: mannamax = 1
  156. !pre-calc max value for later display
  157. if fairycurse >= daystart and fairyshoo > 0: pcs_horny = 90
  158. if min_arousal > pcs_horny: pcs_horny = min_arousal
  159. if Enable_lockhorny > 0 and pcs_horny < Enable_lockhorny - 1: pcs_horny = Enable_lockhorny - 1
  160. if pcs_horny < 0: pcs_horny = 0
  161. if pcs_health > healthmax: pcs_health = healthmax
  162. if pcs_willpwr > willpowermax: pcs_willpwr = willpowermax
  163. if pcs_stam > stammax: pcs_stam = stammax
  164. if pcs_manna > mannamax: pcs_manna = mannamax
  165. if pcs_mood > 100: pcs_mood = 100
  166. if hypnoAddict = 1 and pcs_horny < 30:
  167. pcs_horny = 30
  168. elseif hypnoAddict = 2 and pcs_horny < 50:
  169. pcs_horny = 50
  170. end
  171. if cumloc[0] = 1 or cumloc[3] = 1 or hypnoAddict = 0:
  172. killvar 'missCum'
  173. elseif missCum > timeTresh:
  174. if pcs_horny < 90: pcs_horny = 90
  175. if preziktype = 0: prezikcount = prezik
  176. if preziktype = 2: preziksabo = prezik
  177. prezik = 0
  178. preziktype = 1
  179. end
  180. !!!!!!!!!!!
  181. !!!TIME!!!
  182. !!!!!!!!!!!
  183. if nminut ! minut or nhour ! hour:
  184. ! Zero totminut will be at New Years Eve of 2015
  185. ! Years since 2015 in days
  186. totminut = (year - 2015) * 365
  187. ! Days this year
  188. if month > 1 : totminut += 31 & ! Jan
  189. if month > 2 : totminut += 28 & ! Feb
  190. if month > 3 : totminut += 31 & ! Mar
  191. if month > 4 : totminut += 30 & ! Apr
  192. if month > 5 : totminut += 31 & ! May
  193. if month > 6 : totminut += 30 & ! Jun
  194. if month > 7 : totminut += 31 & ! Jul
  195. if month > 8 : totminut += 31 & ! Aug
  196. if month > 9 : totminut += 30 & ! Sep
  197. if month > 10: totminut += 31 & ! Oct
  198. if month > 11: totminut += 30 & ! Nov
  199. if month > 12: totminut += 31 & ! Dec
  200. if month > 13: totminut += 31 & ! Jan rollover sanity check
  201. totminut += day
  202. ! Hours
  203. totminut = totminut * 24 + hour
  204. ! Minutes
  205. totminut = totminut * 60 + minut + sec / 60
  206. nminut = minut
  207. nhour = hour
  208. end
  209. !!painkiller
  210. if pain['killer'] > 0:
  211. if pain['killer'] = 1: pain_timer = totminut - 2
  212. pain['killer'] = totminut - pain_timer
  213. if pain['killer'] >= 243: pain['killer'] = 0
  214. end
  215. ! WD: 'daystart' Should start at 1
  216. if daystart = 0: daystart = 1
  217. !!Gaping of vagina recovery time
  218. if vgape > 0:
  219. if vgapetime = 0: vgapetime = totminut
  220. if (vgapetime + 60) <= totminut:vgape -= 1 & vgapetime = 0
  221. end
  222. !!Gaping of anus recovery time
  223. if agape > 0:
  224. if agapetime = 0: agapetime = totminut
  225. if (agapetime + 90) <= totminut:agape -= 1 & agapetime = 0
  226. end
  227. !!Recovery from spanking - will be superseded by pain system
  228. if spanked > 0:
  229. if spankedtime = 0: spankedtime = totminut
  230. if (spankedtime + 2040) <= totminut:spanked -= 1 & spankedtime = 0
  231. end
  232. !! Orgasmic cooldown
  233. if orgasmic ! 0:
  234. if orgasmic < totminut - 30: orgasmic = 0 & pcs_horny = 0
  235. end
  236. !!!!!!!!!!!!!!! Heels pain and skill gain
  237. !! This compares the player heels skill to the skill required to wear any heels the player
  238. !! currently wears. If the skill needed is greater than the player currently possesses,
  239. !! the pain in the feet increases and the player earns heels skill. If the skill required
  240. !! is lower, the player might still get experience, depending on how much much greater the
  241. !! player skill is.
  242. !! Variables
  243. !! pcs_heels is the main heels skill
  244. !! heels_exp is used when the player gains experience using heels
  245. !! heels_deg is used when the player neglects their heels
  246. !! PShoHeels tracks the height of the heels currently worn
  247. !! heelsminut tracks when the heels skill was last changed
  248. !! heelsRequiredskill substitutes PShoHeels to allow comparison with pcs_heels
  249. !! heelsSkilldiff tracks difference between the players current and skill required by heels
  250. !! Required skill for various heel sizes
  251. !! 1 flats - 0
  252. !! 2 low heel - 5
  253. !! 3 Mid heel - 15
  254. !! 4 High heel - 25
  255. !! 5 ultra high heel - 40
  256. !! 6 fetish heel - 60
  257. !! Only run if at least X minutes have passed since last time
  258. if totminut >= heelsminut + 120:
  259. heelsminut = totminut
  260. !! Only check experience and pain gain and if the player wears heels, flats give nothing
  261. if PShoHeels > 1:
  262. if PShoHeels = 2:
  263. heelsRequiredskill = 5
  264. elseif PShoHeels = 3:
  265. heelsRequiredskill = 15
  266. elseif PShoHeels = 4:
  267. heelsRequiredskill = 25
  268. elseif PShoHeels = 5:
  269. heelsRequiredskill = 40
  270. elseif PShoHeels = 6:
  271. heelsRequiredskill = 60
  272. end
  273. !! stat is called a lot, there should be a limit to how much exp and pain you can accumulate...
  274. !! If the player skill is below the required skill, give heel_exp and apply ache
  275. if pcs_heels < heelsRequiredskill:
  276. heelsSkilldiff = heelsRequiredskill - pcs_heels
  277. if heelsSkilldiff <= 5:
  278. heels_exp += rand(3,6)
  279. if pain['feet'] < 40: gs 'pain', rand(0,1), 'feet', 'ache'
  280. elseif heelsSkilldiff <= 10:
  281. heels_exp += rand(5,9)
  282. if pain['feet'] < 50: gs 'pain', rand(0,2), 'feet', 'ache'
  283. elseif heelsSkilldiff <= 15:
  284. heels_exp += rand(7,12)
  285. if pain['feet'] < 60: gs 'pain', rand(1,3), 'feet', 'ache'
  286. elseif heelsSkilldiff <= 20:
  287. heels_exp += rand(9,15)
  288. if pain['feet'] < 70: gs 'pain', rand(2,4), 'feet', 'ache'
  289. elseif heelsSkilldiff > 20:
  290. heels_exp += rand(12,20)
  291. if pain['feet'] < 80: gs 'pain', rand(3,5), 'feet', 'ache'
  292. end
  293. !! Player skill is equal to or higher than the required skill
  294. !! Maybe have excessive skill result in no gain, or even a degrading skill?
  295. else
  296. heelsSkilldiff = pcs_heels - heelsRequiredskill
  297. if heelsSkilldiff <= 5:
  298. heels_exp += rand(3,6)
  299. elseif heelsSkilldiff <= 10:
  300. heels_exp += rand(2,4)
  301. elseif heelsSkilldiff <= 15:
  302. heels_exp += rand(1,2)
  303. elseif heelsSkilldiff <= 20:
  304. heels_exp += 0
  305. elseif heelsSkilldiff > 20:
  306. heels_deg -= rand(0,1)
  307. end
  308. end
  309. !! If not wearing heels, degrade heels skill
  310. else
  311. heels_deg -= rand(0,1)
  312. end
  313. !!Bimbo shoe check so bonus will be applied
  314. if PShoStyle = 2: bimbosh = 1
  315. end
  316. !!!!!!!!!!!!!!! End heels
  317. if sec >= 60:
  318. :loopsec
  319. minut += 1
  320. sec -= 60
  321. if sec >= 60:jump 'loopsec'
  322. end
  323. if minut >= 60:
  324. :loopmin
  325. hour += 1
  326. minut -= 60
  327. if SbrosNerdism = 1:pcs_nerd = pcs_sprt / 10 - orgasm
  328. if pcs_nerd < 0:pcs_nerd = 0
  329. if obkvsdam > 0:obkvsdam = rand(2, 5)
  330. if scpopt > 1: scpopt = 0
  331. if insleep = 1:
  332. if amphHigh > 0:
  333. pcs_energy -= (4 / amphetamineBonus + succublvl/2)
  334. else
  335. pcs_energy -= (4 * amphetamineBonus + succublvl/2)
  336. end
  337. pcs_stam += stammax / 10
  338. pcs_sleep -= 4
  339. else
  340. if amphHigh > 0:
  341. pcs_energy -= (8 / amphetamineBonus + succublvl)
  342. else
  343. pcs_energy -= (8 * amphetamineBonus + succublvl)
  344. end
  345. pcs_stam += stammax / 20
  346. pcs_sleep -= 4
  347. end
  348. if pcs_stam > stammax: pcs_stam = stammax
  349. gs 'femcyc'
  350. if hypnoAddict > 0:dynamic $hypnoAddiction
  351. !!manna regen
  352. pcs_manna += mannamax / 20
  353. if alko > 0 and alkoblock = 0:
  354. if alko >= 4:
  355. if pcs_run > 0: run_deg -= 1
  356. if vball_lvl >= 50: vball_deg -= 1
  357. if alko >= 6:
  358. if pcs_stren > 10: stren_deg -= 1
  359. if pcs_vital > 10: vital_deg -= 1
  360. if pcs_intel > 10: intel_deg -= 1
  361. alko -= rand (1, 2)
  362. end
  363. end
  364. alko -= 1
  365. end
  366. !!!!!!!!!!!!!
  367. !!!Avtoboy!!!
  368. !!!!!!!!!!!!!
  369. if hour >= 8 and hour <= 23 and NPCnum > 10 and insleep = 0:
  370. :markturnirotbort
  371. xf = 0
  372. :markturnirotbortt
  373. xf += 1
  374. turnirFighter[xf] = rand(2, NPCnum)
  375. if xf < 2:jump 'markturnirotbortt'
  376. if turnirFighter[1] = turnirFighter[2]:jump 'markturnirotbort'
  377. a = turnirFighter[1]
  378. i = turnirFighter[2]
  379. NoView = 1
  380. gs 'Autofight'
  381. end
  382. !!!!!!!!!!!!!
  383. if shame > 0:shame -= 1 & pcs_mood -= 5
  384. if smoker >= 20:smokerNeed += 1
  385. if smokerNeed > 10 and InSleep = 0 and pcs_mood > 20:pcs_mood -= pcs_mood / 10
  386. if smokerNeed > 300:smokerNeed = 0 & smoker = 0
  387. if StrongNarkota > 0:pcs_mood -= (40 / StrongNarkota) & StrongNarkota -= 1
  388. if amphWithdrawl > 5: amphWithdrawl += 1 & pcs_mood -= (amphWithdrawl / 5)
  389. if amphHigh > 0: amphWithdrawl = 2 & amphetamineBonus = 3 & amphHigh -= 1 & amphHigh -= 4 & pcs_mood += (2 * amphHigh)
  390. if amphHigh = 0 and amphWithdrawl = 2:
  391. amphetamineBonus = 2 & amphWithdrawl += 1 & pcs_mood -= pcs_mood / 10
  392. elseif amphHigh = 0 and amphWithdrawl = 0:
  393. amphetamineBonus = 1
  394. end
  395. if amphWithdrawl > 169: amphWithdrawl = 1 & amphetamineBonus = 1 & amphCount = 0
  396. if SLomka > 0 and pcs_mood > 10:SLomka += 1 & pcs_mood -= pcs_mood / 10
  397. if SLomka > 100 and StrongNarkota <= 0:SLomka = 0 & SNarkTimes = 0
  398. if narkoman = 1 and narkday ! daystart:
  399. pcs_health -= 5
  400. pcs_willpwr -= 5
  401. pcs_mood -= 10
  402. end
  403. if $pantyworntype = 'none' and PCloPants > 0 and $clothingworntype ! 'nude':mosol += 1
  404. if mosol >= 50: pcs_mood -= 5
  405. if mosol >= 30 and pain['pubic'] < 80: gs 'pain', 1, 'pubic', 'ache'
  406. if pcs_energy > 100:
  407. fat += (pcs_energy - 100) / 4
  408. pcs_energy = 100
  409. end
  410. if mosol > 0:
  411. if $pantyworntype ! 'none' or $clothingworntype = 'nude':mosol -= rand(0,1)
  412. end
  413. if pcs_lipbalm > 0:pcs_lipbalm -= 1
  414. if sickstage = 1:sick += 1 & sicktimer += 1
  415. if sickstage = 1 and sicktimer >= 80:sicktimer = 0 & sickstage = 2
  416. if sickstage = 2 and sick > 0:sick -= 1
  417. if sickstage = 2 and sick <= 0:sick = 0 & sickstage = 0
  418. if perkice > 0:perkice -= 1
  419. if frost > 0:frost -= 1
  420. if KGOLpers > 0:
  421. if KGHP < KGHPMAX:KGHP += 10
  422. if KGManna < KGMannaMax:KGManna += 10
  423. end
  424. !! pain[0] = pain['total'] , pain[1] = pain['damage'] , pain[2] = pain['relief']
  425. i = arrsize('pain')
  426. :statpainloop
  427. if i > 0:
  428. i -= 1
  429. pain[i] -= rand(0,1)
  430. if pain[i] < 0: pain[i] = 0
  431. jump 'statpainloop'
  432. end
  433. !! Panty happiness gain
  434. if pcs_mood < 60 and $pantyworntype = 'kats': pcs_mood += 2
  435. if pcs_mood < 60 and $braworntype = 'kats': pcs_mood += 2
  436. !!Arousal adjustments
  437. if ($pantyworntype = 'exhibitionist' and $braworntype = 'exhibitionist') and pcs_horny < 25:
  438. pcs_horny += 10
  439. elseif pcs_horny < 10 and ($pantyworntype = 'exhibitionist' or $braworntype = 'exhibitionist'):
  440. pcs_honry += 5
  441. end
  442. if aphrodisiac_timer >= 1:
  443. if pcs_horny < 80:
  444. pcs_horny = 80
  445. else
  446. pcs_horny += 10
  447. end
  448. aphrodisiac_timer -= 1
  449. end
  450. if $pantyworntype ! 'none' and clit_size >= 25 and pcs_horny < 60:pcs_horny += 20
  451. if insleep = 0:
  452. pcs_sweat += rand(0,1)
  453. if temper >= 20: pcs_sweat += rand(0,1)
  454. end
  455. ! vovan edition, from 1.2.5
  456. if clearclothes > 0: clearclothes -= 1
  457. if hantersAndreisex > 0: hantersAndreisex -= 1
  458. if hantersSergeisex > 0: hantersSergeisex -= 1
  459. if hantersIgorsex > 0: hantersIgorsex -= 1
  460. if hantslutsex > 0: hantslutsex -= 1
  461. if mira_go_blok > 0: mira_go_blok -= 1
  462. if mira_no_home > 0: mira_no_home -= 1
  463. gs 'traits', 'hourly'
  464. gs 'outdoors', 'weather'
  465. if minut >= 60:jump 'loopmin'
  466. end
  467. if hour >= 24: gs 'cikl'
  468. if minut < 10:
  469. $nilmin = '0'
  470. else
  471. $nilmin = ''
  472. end
  473. if kid > 0:
  474. i = arrsize('yearkid')
  475. :LoopKidAgeCounter
  476. if i >= 0:
  477. if yearkid[i] = year + 1 and monthkid[i] = month and daykid[i] = day: msg'It is <<$kidname[i]>>''s birthday today.'
  478. i -= 1
  479. jump 'LoopKidAgeCounter'
  480. end
  481. end
  482. if pcs_nerd > 0:
  483. if lastreadday = daystart:
  484. !!<font color="green">You are completely healthy shine and a healthy glow.</font>
  485. pcs_mood = 100
  486. SbrosNerdism = 0
  487. $mudnerd = '<font color="green">You are lost in a fantasy after reading a book.</font>'
  488. end
  489. if lastreadday + 1 = daystart:
  490. SbrosNerdism = 0
  491. $mudnerd = '<font color="black">You are a little bored and want to plunge into a book.</font>'
  492. end
  493. if lastreadday + 2 = daystart:
  494. SbrosNerdism = 0
  495. if pcs_mood > 50:pcs_mood -= 10
  496. $mudnerd = '<font color="red">You really want to read something.</font>'
  497. end
  498. if lastreadday + 3 <= daystart:
  499. if pcs_mood > 10:pcs_mood -= 10
  500. SbrosNerdism = 1
  501. $mudnerd = '<font color="red"><b>You have an incredibly strong desire to read!!!</b></font>'
  502. end
  503. else
  504. SbrosNerdism = 0
  505. $mudnerd = ''
  506. end
  507. if bimbolevel > 0:
  508. if bimbowithdrawal = 0:
  509. $bimbostatus = '<font color = #FF1493>You''re, like, super hawt today.</font>'
  510. elseif bimbowithdrawal = 1:
  511. $bimbostatus = '<font color="green">You feel, like, kind of lame today.</font>'
  512. elseif bimbowithdrawal < 4:
  513. $bimbostatus = '<font color="black">You feel, like, totally lame today.</font>'
  514. elseif bimbowithdrawal < 6:
  515. if pcs_mood > 50: pcs_mood -= 10
  516. $bimbostatus = '<font color="red">You really feel, like, awful today.</font>'
  517. elseif bimbowithdrawal >= 6:
  518. if pcs_mood > 10: pcs_mood -= 10
  519. $bimbostatus= '<font color="red"><b>You feel that, like, horrible today!</b></font>'
  520. end
  521. if bimbowithdrawal > 30:
  522. bimbowithdrawal = 0
  523. bimbo = 0
  524. bimbolevel = 0
  525. $stat_msg += '<BR>You suddenly feel as if your head is clear, instead of filled with pink thoughts.'
  526. end
  527. else
  528. bimbowithdrawal = 0
  529. $bimbostatus = ''
  530. end
  531. !
  532. ! WD: Triggers every 15 minutes if not sleeping
  533. ! Update to remove long iterations on loading saves from previous versions
  534. ! Do Nothing if sleeping, invalid Trig15Minute value or more than 6 hours 16 minute pass
  535. if InSleep ! 0 or Trig15Minute > totminut or (totminut - Trig15Minute) >= 376:
  536. set Trig15Minute = totminut
  537. ! More than 15 minutes since last check
  538. else
  539. if (totminut - Trig15Minute) >= 15:
  540. ! begin Loop
  541. :Trig15MinuteLoop
  542. ! Horny Actions
  543. if pcs_horny > 100:
  544. set Trig15Minute = totminut
  545. else
  546. set Trig15Minute += 15
  547. ! WD: Fix vibrator arousal to trigger every 15 minutes, moved from 'time' location
  548. if vibratorin = 1:pcs_horny += rand(1, 5)
  549. ! WD: Fixed Piecing arousal to trigger every 15 minutes, instead of once per day
  550. if pcs_horny < 70:
  551. hornystat = 0
  552. if pirsF > 0 and pirsF < 10000:hornystat += 1
  553. if pirsG > 0 and pirsG < 10000:hornystat += 1
  554. hornyStat = hornystat * 4
  555. if pirsA > 0 and pirsA < 10000:hornystat += 1
  556. if pirsB > 0 and pirsB < 10000:hornystat += 1
  557. if pirsC > 0 and pirsC < 10000:hornystat += 1
  558. if pirsD > 0 and pirsD < 10000:hornystat += 1
  559. if pirsE > 0 and pirsE < 10000:hornystat += 1
  560. if pirsN > 0 and pirsN < 10000:hornystat += 1
  561. set pcs_horny += hornyStat / 4 + rand(1,4) <= hornyStat mod 4 & ! Apply 1/4 of value on average
  562. end
  563. ! WD: Clothing
  564. if CloStyle = 4 and pcs_horny < 70:set pcs_horny += rand(0, 2)
  565. if (PCloSkirt > 5 or PCloPants > 5) and pcs_horny < 50:set pcs_horny += rand(0, 1)
  566. if PCloTopCut = 4 and pcs_horny < 50:set pcs_horny += rand(0, 1)
  567. end
  568. !!SECTION: Bimbo (15 minute interval update checks)
  569. if bimbolevel = 2:
  570. if pcs_mood < 100:pcs_mood += ((pcs_mood / 100) * (rand(0,1)))
  571. if pcs_horny < 25:pcs_horny = 25
  572. if pcs_horny < 100:pcs_horny += 1
  573. end
  574. if bimbolevel = 3:
  575. if (pcs_mood < 100):pcs_mood += ((pcs_mood / 100) * (rand(0,2)))
  576. if pcs_horny < 50:pcs_horny = 50
  577. if pcs_horny < 100:pcs_horny += 2
  578. end
  579. !! This is the Succubus non-direct injection (pun intented) sex to sexnutrition and the sexnutrition conversion handling
  580. if succubusflag = 1:
  581. if pcs_horny < 50: pcs_horny = 50
  582. if pcs_horny < 100: pcs_horny += succublvl
  583. if succhungry > 0:
  584. pcs_energy -= succhungry * succublvl
  585. pcs_sleep -= succhungry * succublvl
  586. end
  587. cumres_idx = arrpos('sparrloc',12)
  588. if cumres_idx >= 0 and sparrvol[cumres_idx] > 0:sexnutrition += 4 & gs 'cum_cleanup', 'cleanloc', 12
  589. cumres_idx = arrpos('sparrloc',0)
  590. if cumres_idx >= 0 and cumsumvag > 0:sexnutrition += cumsumvag * 4 & gs 'cum_cleanup', 'cleanloc', 0
  591. if cumres_idx >= 0 and cumsumass > 0:sexnutrition += cumsumass * 4 & gs 'cum_cleanup', 'cleanloc', 3
  592. if arrsize('sparrvol') > 0:
  593. suctempi = -1
  594. :SuccAbsorbLoop
  595. suctempi += 1
  596. if suctempi <= 1 or suctempi = 4 or suctempi >= 8:
  597. if suctempi = 12: jump 'SuccAbsorbLoop'
  598. suctemparr = arrpos('sparrloc',suctempi)
  599. if suctemparr >= 0 and sparrloc[suctemparr] = suctempi and sparrvol[suctemparr] > 0:
  600. sexnutrition += succublvl * 5
  601. cumsumbod -= sparrvol[suctemparr]
  602. succubxp += 2
  603. sucabscum = 1
  604. gs 'cum_cleanup', 'cleandeposit', suctemparr
  605. cumloc[suctempi] = 0
  606. spdirty = 0
  607. cumloc[1] = 0
  608. cumloc[2] = 0
  609. cumloc[4] = 0
  610. cumloc[5] = 0
  611. cumloc[6] = 0
  612. cumloc[7] = 0
  613. cumloc[11] = 0
  614. cumloc[14] = 0
  615. !! debug code $stat_msg += '<BR>Absorb ext <<sexnutrition>>'
  616. end
  617. end
  618. if suctempi < 17:jump 'SuccAbsorbLoop'
  619. end
  620. if suclezsex < lesbian:
  621. sexnutrition += succublvl * 20
  622. suclezsex = lesbian
  623. succubxp += 3
  624. sucabslez = 1
  625. end
  626. if sexnutrition > 0:
  627. if sucskill >= 3 and succublvl >= 2: sexnutrition += (sexnutrition * 2) / 10
  628. if sucabslez = 1 and sucabscum = 1:
  629. $sucabs1 = 'absorbed energy from the woman you had sex with'
  630. $sucabs2 = ' and you '
  631. $sucabs3 = 'absorb the semen in your body'
  632. elseif sucabscum = 1:
  633. $sucabs3 = 'absorb the semen in your body'
  634. elseif sucabslez = 1:
  635. $sucabs1 = 'absorbed energy from the woman you had sex with'
  636. else
  637. !!Debug code
  638. $stat_msg += '<BR>SOMETHING HAPPENED!'
  639. end
  640. $stat_msg += '<BR>You <<$sucabs1>><<$sucabs2>><<$sucabs3>>, gaining nourishment.'
  641. sucabslez = 0 & sucabscum = 0
  642. $sucabs1 = '' & $sucabs2 = '' & $sucabs3 = ''
  643. if (pcs_mood < 100): pcs_mood += ((pcs_mood / 100) * 5)
  644. if pcs_energy > 100: entemp = (pcs_energy - 100)
  645. if sucexcess < 0 and sexnutrition > 20 and pcs_energy > 30:
  646. if sexnutrition - 20 >= (0 - sucexcess) * 2:
  647. sexnutrition += sucexcess * 2
  648. sucexcess = 0
  649. else
  650. sucexcess += (sexnutrition - 20) / 2
  651. sexnutrition = 20
  652. end
  653. end
  654. pcs_energy += sexnutrition / 2
  655. pcs_sleep += sexnutrition / 20
  656. if succhungry > 0: succhungry = 0
  657. sexnutrition = 0
  658. if pcs_energy > 100: sucexcess += (pcs_energy - entemp - 100) & pcs_energy = 100 + entemp & killvar 'entemp'
  659. end
  660. end
  661. !! safeguards to prevent bimbolevel from going above or below its intended limits
  662. if bimbolevel > 3: bimbolevel = 3
  663. if bimbolevel < 0: bimbolevel = 0
  664. ! do loop
  665. if (totminut - Trig15Minute) >= 15:jump 'Trig15MinuteLoop'
  666. end
  667. end
  668. !!!!!!!!!!!!!
  669. !!!ENERGY!!!
  670. !!!!!!!!!!!!!
  671. if succubusflag = 1:
  672. if pcs_energy < 0:
  673. if fat >= 1:
  674. fat -= 2
  675. pcs_energy += 8 + succublvl
  676. else
  677. pcs_energy += 8 + succublvl
  678. sucexcess -= (8 + succublvl) * (6 - succublvl)
  679. end
  680. end
  681. if pcs_health < 0:
  682. pcs_health = 10
  683. sucexcess -= 25 * (9 - succublvl)
  684. end
  685. if pcs_willpwr < 0:
  686. pcs_willpwr = 10
  687. sucexcess -= 20 * (9 - succublvl)
  688. sucpowzeroed = 4
  689. end
  690. end
  691. if pcs_sleep < 0:
  692. pcs_sleep = 0
  693. pcs_mood -= 5
  694. end
  695. if pcs_energy < 0:
  696. pcs_energy = 0
  697. pcs_health -= 5
  698. if fat = 0 and pcs_stren + pcs_vital > 0:
  699. stren_deg -= 1
  700. vital_deg -= 1
  701. pcs_energy += 8
  702. elseif fat = 0 and pcs_stren + pcs_vital <= 0:
  703. if Enable_nogameover = 0 :
  704. over = 3
  705. gt'gameover'
  706. exit
  707. else
  708. $stat_msg += '<BR><font color=red><B>You starved to death, but Cheat Mode keeps you Alive.</B></font>'
  709. fat = 1
  710. end
  711. elseif fat > 0:
  712. fat -= 1
  713. pcs_energy += 8
  714. end
  715. end
  716. if pcs_mood <= 0:
  717. pcs_mood = 1
  718. pcs_health -= 5
  719. pcs_willpwr -= 5
  720. end
  721. if pcs_health < 0:
  722. if Enable_nogameover = 0 :
  723. over = 1
  724. gt'gameover'
  725. exit & !nogameover by illume
  726. else
  727. $stat_msg += '<BR><font color=red><B>You died from injuries, but Cheat Mode keeps you Alive.</B></font>'
  728. pcs_health = 0
  729. end
  730. end
  731. if pcs_willpwr <= 0 :
  732. !this will set willpower to 0 correctly; then check mana =1 for insane-gameover(pcs_willpwr=0&mana=1).
  733. if pcs_mood <= 1:
  734. if Enable_nogameover = 0 :
  735. over = 2
  736. gt'gameover'
  737. exit & !nogameover by illume
  738. else
  739. $stat_msg += '<BR><font color=red><B>You are insane, but Cheat Mode keeps you Alive.</B></font>'
  740. !pcs_mood already checked for >=1 in line 1113 if pcs_mood <= 0, no need to set another one
  741. end
  742. end
  743. pcs_willpwr = 0
  744. end
  745. !!cars-increase/depressed mood after orgasm/rape
  746. if rape > 0 and rape ! rape_count and orgasm = orgasm_count:
  747. pcs_mood = 10
  748. rape_count = rape
  749. elseif orgasm > 0 and orgasm ! orgasm_count:
  750. pcs_mood = 100
  751. orgasm_count = orgasm
  752. elseif rape > 0 and rape ! rape_count and orgasm > 0 and orgasm ! orgasm_count:
  753. pcs_mood = 100
  754. orgasm_count = orgasm
  755. rape_count = rape
  756. end
  757. gs 'body'
  758. !!!!!!!!!!!!!
  759. if pcs_health >= healthmax:
  760. $pcs_health = '<font color="green">You are very healthy.</font>'
  761. elseif pcs_health >= healthmax * 75 / 100:
  762. $pcs_health = '<font color="blue">You are healthy.</font>'
  763. elseif pcs_health >= healthmax * 50 / 100:
  764. $pcs_health = '<font color="brown">You are not healthy.</font>'
  765. elseif pcs_health >= healthmax * 25 / 100:
  766. $pcs_health = '<font color="red">You are sick.</font>'
  767. else
  768. $pcs_health = '<font color="red">You are on the verge of death.</font>'
  769. end
  770. if pcs_willpwr >= willpowermax:
  771. $pcs_willpwr = '<font color="green">Your mind is clear.</font>'
  772. elseif pcs_willpwr >= willpowermax * 75 / 100:
  773. $pcs_willpwr = '<font color="blue">You are mostly clear of mind.</font>'
  774. elseif pcs_willpwr >= willpowermax * 50 / 100:
  775. $pcs_willpwr = '<font color="brown">You are depressed.</font>'
  776. elseif pcs_willpwr >= willpowermax * 25 / 100:
  777. $pcs_willpwr = '<font color="red">You have depression.</font>'
  778. else
  779. $pcs_willpwr = '<font color="red">You are on the verge of madness.</font>'
  780. end
  781. if pcs_mood >= 80:
  782. $pcs_mood = '<font color="green">You are in a great mood.</font>'
  783. elseif pcs_mood >= 60:
  784. $pcs_mood = '<font color="blue">You are in a good mood.</font>'
  785. elseif pcs_mood >= 40:
  786. $pcs_mood = '<font color="brown">You are in an OK mood.</font>'
  787. elseif pcs_mood >= 20:
  788. $pcs_mood = '<font color="orange">You are in a bad mood.</font>'
  789. elseif pcs_mood >= 5:
  790. $pcs_mood = '<font color="red">You are in a terrible mood.</font>'
  791. else
  792. $pcs_mood = '<font color="red">You are really depressed and need to improve your mood.</font>'
  793. end
  794. if pcs_energy >= 80:
  795. $pcs_energy = '<font color="green">You couldn''t eat one more bite.</font>'
  796. elseif pcs_energy >= 40:
  797. $pcs_energy = '<font color="blue">You''re not really hungry, but a small snack would be very welcome.</font>'
  798. elseif pcs_energy >= 8:
  799. $pcs_energy = '<font color="brown">You are hungry.</font>'
  800. else
  801. $pcs_energy = '<font color="red">You are very hungry.</font>'
  802. end
  803. if pcs_sleep >= 80:
  804. $pcs_sleep = '<font color="green">You are well rested.</font>'
  805. elseif pcs_sleep >= 40:
  806. $pcs_sleep = '<font color="blue">You are slightly tired.</font>'
  807. elseif pcs_sleep >= 8:
  808. $pcs_sleep = '<font color="brown">You are tired.</font>'
  809. else
  810. $pcs_sleep = '<font color="red">You are very tired.</font>'
  811. end
  812. !!Mood
  813. maxmood = 100 - moodmodifier
  814. if pcs_mood > 100:
  815. pcs_mood = 100
  816. $pcs_mood = 'You feel buoyed.'
  817. elseif pcs_mood < 0:
  818. pcs_mood = 0
  819. !! 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
  820. end
  821. 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:
  822. !absence from work in a factory in Pavlovsk
  823. FabrikaProgul += 1
  824. FabrikaProgulDay = day
  825. end
  826. if hotelroom > 0:
  827. if hotelroom1day = daystart: $stat_msg += '<BR>You have 1 night left on your hotel booking.'
  828. if hotelroom1day < daystart and hour <= 11: $stat_msg += '<BR>Your hotel booking has expired and you cannot return to your room after 11:00'
  829. if hotelroom1day < daystart and hour > 11: hotelroom = 0
  830. end
  831. if hour >= 8 and hour < 14 and week < 6 and StoryLine > 0 and SchoolAtestat = 0 and kanikuli = 0 and schoolProgulDay ! daystart:
  832. !!absence from school
  833. schoolprogul += 1
  834. schoolProgulDay = daystart
  835. end
  836. if cumcondslip <= 0: cumcondslip_deep = 0
  837. if insleep = 0: gs 'stat_display'
  838. --- stat ---------------------------------