stat 29 KB

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