outdoors.qsrc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. # outdoors
  2. weatherGrM[1] = -10
  3. weatherGrM[2] = -5
  4. weatherGrM[3] = 0
  5. weatherGrM[4] = 10
  6. weatherGrM[5] = 10
  7. weatherGrM[6] = 15
  8. weatherGrM[7] = 25
  9. weatherGrM[8] = 20
  10. weatherGrM[9] = 15
  11. weatherGrM[10]= 10
  12. weatherGrM[11]= 0
  13. weatherGrM[12]= -5
  14. weatherGrDelta = 5
  15. weatherFallM[1] = 50
  16. weatherFallM[2] = 40
  17. weatherFallM[3] = 30
  18. weatherFallM[4] = 20
  19. weatherFallM[5] = 20
  20. weatherFallM[6] = 10
  21. weatherFallM[7] = 10
  22. weatherFallM[8] = 10
  23. weatherFallM[9] = 20
  24. weatherFallM[10]= 20
  25. weatherFallM[11]= 30
  26. weatherFallM[12]= 40
  27. weatherFallDelta = 10
  28. DayLengthMin = 177 &! Minutes from dawn to noon
  29. DayLengthMax = 563
  30. if $ARGS[0] = 'weather':
  31. if weatherDay ! DayInYear:
  32. weatherTemper = rand(weatherGrM[month]-weatherGrDelta, weatherGrM[month]+weatherGrDelta)
  33. weatherFall = rand(weatherFallM[month]-weatherFallDelta, weatherFallM[month]+weatherFallDelta)
  34. end
  35. if (weatherHour ! hour) or (weatherDay ! daystart):
  36. weatherDay = DayInYear
  37. weatherHour = hour
  38. temper = hour
  39. if temper <= 2:
  40. temper = temper + (6 - (temper * 2))
  41. elseif temper >= 3 and temper <= 15:
  42. temper = temper
  43. elseif temper >= 16:
  44. temper = (temper - 30) * -1
  45. end
  46. temper = weatherTemper + (weatherGrDelta*100/6*temper)/100
  47. if chWeather = 0:
  48. sunWeather = IIF( rand(0,100)<weatherFall, 0, 1)
  49. else
  50. killvar 'chWeather'
  51. end
  52. if temper < -5 :
  53. if weatherFall < 30 :
  54. if sunWeather = 1 :
  55. $osadki = 'Clear and cloudless.'
  56. else
  57. $osadki = 'Clear sky, but light snow falls.'
  58. end
  59. elseif weatherFall < 60 :
  60. if sunWeather = 1 :
  61. $osadki = 'Partly cloudy and light breeze.'
  62. else
  63. $osadki = 'Clouds and it is snowing.'
  64. end
  65. else
  66. if sunWeather = 1 :
  67. $osadki = 'Clouds all over the sky and a sharp cold wind.'
  68. else
  69. $osadki = 'Strong snow with wind.'
  70. end
  71. end
  72. elseif temper < 5 :
  73. if weatherFall < 30 :
  74. if sunWeather = 1 :
  75. $osadki = 'Clear and cloudless.'
  76. else
  77. $osadki = 'Slightly wet snow.'
  78. end
  79. elseif weatherFall < 60 :
  80. if sunWeather = 1 :
  81. $osadki = 'Partly cloudy and light breeze.'
  82. else
  83. $osadki = 'Clouds and wet snow.'
  84. end
  85. else
  86. if sunWeather = 1 :
  87. $osadki = 'Clouds all over the sky and a sharp wind.'
  88. else
  89. $osadki = 'Heavy snow, sticking wet snow.'
  90. end
  91. end
  92. else
  93. if weatherFall < 30 :
  94. if sunWeather = 1 :
  95. $osadki = 'Clear and cloudless.'
  96. else
  97. $osadki = 'Light mushroom rain.'
  98. end
  99. elseif weatherFall < 60 :
  100. if sunWeather = 1 :
  101. $osadki = 'Partly cloudy skies.'
  102. else
  103. $osadki = 'It is raining.'
  104. end
  105. else
  106. if sunWeather = 1 :
  107. $osadki = 'Clouds all over the sky and a sharp wind.'
  108. else
  109. $osadki = 'Heavy rain and wind.'
  110. end
  111. end
  112. end
  113. gs 'outdoors', 'temp_set'
  114. jump 'WTHR_<<month>>'
  115. :WTHR_1
  116. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>There is snow on the street.'
  117. jump 'WTHR_x'
  118. :WTHR_2
  119. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>There is snow on the street.'
  120. jump 'WTHR_x'
  121. :WTHR_3
  122. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>There is snow on the street.'
  123. jump 'WTHR_x'
  124. :WTHR_4
  125. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>The snow melts on the street.'
  126. jump 'WTHR_x'
  127. :WTHR_5
  128. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>Puddles in the street left by snow, winter has covered everything in dirt and debris, some places where new grass grows are pleasantly green.'
  129. jump 'WTHR_x'
  130. :WTHR_6
  131. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>Green grass lines the streets.'
  132. jump 'WTHR_x'
  133. :WTHR_7
  134. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>Green grass lines the streets.'
  135. jump 'WTHR_x'
  136. :WTHR_8
  137. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>The grass is green, the leaves in the trees are already turning yellow.'
  138. jump 'WTHR_x'
  139. :WTHR_9
  140. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>Streets lined with green grass, visible yellow leaves.'
  141. jump 'WTHR_x'
  142. :WTHR_10
  143. $weather = '<<$osadki>> Temperature is <<$temperature>>.<br>The grass is fading and patchy, yellow and brown leaves fall from the trees, mud and puddles dot the street.'
  144. jump 'WTHR_x'
  145. :WTHR_11
  146. $weather = '<<$osadki>> Temperature is <<$temperature>>.<br>The street is dirty with a thin snow cover.'
  147. jump 'WTHR_x'
  148. :WTHR_12
  149. $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>The street is covered in snow.'
  150. jump 'WTHR_x'
  151. :WTHR_x
  152. end
  153. end
  154. if $ARGS[0] = 'temp_set':
  155. if temper < 0:
  156. $temperature = '<font color=blue>'
  157. elseif temper < 10:
  158. $temperature = '<font color=green>'
  159. elseif temper < 20:
  160. $temperature = '<font color=orange>'
  161. else
  162. $temperature = '<font color=red>'
  163. end
  164. if TempUnit=0:$temperature +='<<temper>>°C</font>' else $temperature +='<<temper*9/5+32>>°F</font>'
  165. end
  166. if $ARGS[0] = 'main':
  167. DayInYear=0
  168. if month > 1:DayInYear += 31
  169. if month > 2:
  170. if ((year mod 4 = 0) and (year mod 100 ! 0)) or (year mod 400 = 0):
  171. DayInYear += 29
  172. else
  173. DayInYear += 28
  174. end
  175. end
  176. if month > 3:DayInYear += 31
  177. if month > 4:DayInYear += 30
  178. if month > 5:DayInYear += 31
  179. if month > 6:DayInYear += 30
  180. if month > 7:DayInYear += 31
  181. if month > 8:DayInYear += 31
  182. if month > 9:DayInYear += 30
  183. if month > 10:DayInYear += 31
  184. if month > 11:DayInYear += 30
  185. if month > 12:DayInYear += 31
  186. DayInYear += day
  187. if DayInYear >= 171 :
  188. DayInYear2 = DayInYear-171
  189. else
  190. DayInYear2 = 171-DayInYear
  191. end
  192. DayLength = DayLengthMax-((DayLengthMax-DayLengthMin)*100/182)*DayInYear2/100
  193. ! length/2 in minutes current day
  194. CurTimeSun = hour*60 + minut
  195. ! midday in 13:00
  196. ! CurTimeSun (minuts) <0 - before midday; >0 - after midday
  197. if CurTimeSun >= 780 :
  198. CurTimeSun = CurTimeSun-780
  199. else
  200. CurTimeSun = -(780-CurTimeSun)
  201. end
  202. DayStage=5
  203. BColorBase=0
  204. ! 1 - dawn
  205. ! 2 - midday
  206. ! 3 - sunset
  207. ! 4 - the beginning of the night
  208. ! 5 - night
  209. ! 6 - the end of the night
  210. if CurTimeSun >= -(DayLength-60) and CurTimeSun <= (DayLength-60) :
  211. DayStage=2
  212. BColorBase=255
  213. elseif CurTimeSun >= -DayLength and CurTimeSun <= -(DayLength-60) :
  214. DayStage=1
  215. BColorBase=128+(DayLength+CurTimeSun)*2 &! CurTimeSun - negative, result = 128+ [0-60]*2
  216. elseif CurTimeSun >= (DayLength-60) and CurTimeSun <= DayLength :
  217. DayStage=3
  218. BColorBase=256+((DayLength-60)-CurTimeSun)*2 &! CurTimeSun - positive, result =128+ [0-60]*2
  219. elseif CurTimeSun >= DayLength and CurTimeSun <= DayLength+60 :
  220. DayStage=4
  221. BColorBase=128-(CurTimeSun-DayLength)*2 &! CurTimeSun - positive, result =128- [0-60]*2
  222. elseif CurTimeSun >= -(DayLength+60) and CurTimeSun <= -DayLength :
  223. DayStage=6
  224. BColorBase=128+(CurTimeSun+DayLength)*2 &! CurTimeSun - negative, result = 128- [0-60]*2
  225. end
  226. ! *pl ' DayInYear=<<DayInYear>> DayLength=<<DayLength>> CurTimeSun=<<CurTimeSun>> DayStage=<<DayStage>>'
  227. $weatherImage = '<img height = <<set_weatherht>> src="images/system/weather/wthr'
  228. $weatherImage = $weatherImage + '<<DayStage>>'
  229. if temper < -10 :
  230. $weatherImage += '1'
  231. elseif temper <= 5 :
  232. $weatherImage += '2'
  233. elseif temper <= 19 :
  234. $weatherImage += '3'
  235. else
  236. $weatherImage += '4'
  237. end
  238. if weatherFall < 30 :
  239. $weatherImage += '1'
  240. elseif weatherFall < 60 :
  241. $weatherImage += '2'
  242. else
  243. $weatherImage += '3'
  244. end
  245. if sunWeather = 1 :
  246. $weatherImage += '1'
  247. else
  248. $weatherImage += '2'
  249. end
  250. $weatherImage += '.jpg">'
  251. ! clr
  252. ! pl $weatherImage
  253. ! pl
  254. ! pl $weather
  255. ! pl $osadki
  256. gs 'themes', 'outdoors'
  257. if $location_type = 'public_outdoors' or $location_type = 'secluded' or $location_type = 'event_outdoors':
  258. if sunWeather = 0 and umbrella = 0:
  259. *NL 'It is raining and you do not have an umbrella.'
  260. if pcs_makeup > 1:
  261. pcs_makeup = 0
  262. *p ' The rain has ruined your makeup.'
  263. end
  264. if pcs_hairbsh = 1:
  265. pcs_hairbsh = 0
  266. if curly > 0:curly -= 1
  267. *p ' Your hair is soaked.'
  268. end
  269. *nl
  270. end
  271. if temper <= 0:
  272. if (totminut - Time15Minute) >= 15:
  273. !reset Time15Minute
  274. if frost = 0:Time15Minute = totminut
  275. ! begin Loop
  276. :Time15MinuteLoop
  277. if $coatworntype = 'none':
  278. bonusZ = 0
  279. else
  280. bonusZ = PCoatQuality - 2
  281. end
  282. if $coatworntype = 'none':
  283. if temper < 0:frost += 1
  284. if temper < -20:frost += 2
  285. if temper < -30:frost += 5
  286. if pcs_energy < 20:frost += 1
  287. if pcs_hydra < 20:frost += 1
  288. if $pantyworntype = 'none':frost += 1
  289. if pcs_sweat > 20:frost += 1
  290. elseif temper < -10 and PCoatWarm = 1:
  291. if temper < -30:
  292. frost += 2
  293. else
  294. frost += 1
  295. end
  296. if pcs_energy < 20:frost += 1
  297. if pcs_hydra < 20:frost += 1
  298. if $pantyworntype = 'none':frost += 1
  299. if pcs_sweat > 20:frost += 1
  300. elseif temper < -20 and PCoatWarm = 2:
  301. frost += 1
  302. if pcs_energy < 20:frost += 1
  303. if pcs_hydra < 20:frost += 1
  304. if pcs_sweat > 20:frost += 1
  305. elseif temper < -30 and PCoatWarm = 3:
  306. frost += 1
  307. end
  308. if frost >= 12:sickstage = 1
  309. Time15Minute += 15
  310. if (totminut - Time15Minute) >= 15:jump 'Time15MinuteLoop'
  311. end
  312. end
  313. !!15 minute check to stop refreshes causing early gameover and cheating at exhibitionism
  314. if outdoors_checks + 15 < totminut:
  315. outdoors_checks = totminut
  316. if isprok = 0 and isprokp = 0 and mesec > 0 and preg = 0 and $loc ! 'gaddvor' and (isprok_lastday = 0 or (hour > 4 and isprok_lastday = 1)):
  317. '<b><font color="red">You have blood flowing down your legs and staining your clothes.</font></b>'
  318. if $pantyworntype ! 'none':gs 'panties', 'dispose' & '<b><font color="red">Your panties have been ruined and you discreetly remove and dispose of them.</font></b>'
  319. gs 'sweat', 'add', 10
  320. if pcs_mood > 20: pcs_mood -= 20
  321. dynamic '<<$clothingworntype>>_h[<<clothingwornnumber>>] -= 1'
  322. end
  323. !!Exhibitionism
  324. if PCloInhibit >= pcs_inhib - 10 and $loc ! 'gaddvor':
  325. exhibition_outdoors += 1
  326. if pcs_inhib < 45 and PCloPanties = 1: exhibition_outdoors += 1
  327. end
  328. if $pantyworntype = 'none' and $loc ! 'gaddvor':
  329. if PCloSkirt = 3:
  330. exhibition_outdoors += 1
  331. elseif PCloSkirt = 4:
  332. exhibition_outdoors += 2
  333. elseif PCloSkirt = 5:
  334. exhibition_outdoors += 3
  335. elseif PCloSkirt = 6:
  336. exhibition_outdoors += 4
  337. end
  338. end
  339. end
  340. else
  341. gs 'themes', 'indoors'
  342. end
  343. end
  344. --- outdoors ---------------------------------