outdoors.qsrc 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  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 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. !!Shoe variables - cleared here and then set if in outdoors location below
  258. PShoQuality = 0
  259. PShoHeels = 0
  260. PShoCut = 0
  261. PShoStyle = 0
  262. if $location_type = 'public_outdoors' or $location_type = 'secluded' or $location_type = 'event_outdoors':
  263. if sunWeather = 0 and umbrella = 0:
  264. *NL 'It is raining and you do not have an umbrella.'
  265. if pcs_makeup > 1:
  266. pcs_makeup = 0
  267. *p ' The rain has ruined your makeup.'
  268. end
  269. if pcs_hairbsh = 1:
  270. pcs_hairbsh = 0
  271. if curly > 0:curly -= 1
  272. *p ' Your hair is soaked.'
  273. end
  274. *nl
  275. end
  276. if shoeworntype ! 'none':
  277. gs 'shoe_attributes', $shoeworntype, shoewornnumber
  278. PShoQuality = ShoQuality
  279. PShoHeels = ShoHeels
  280. PShoCut = ShoCut
  281. PShoStyle = ShoStyle
  282. end
  283. if temper <= 0:
  284. if (totminut - Time15Minute) >= 15:
  285. !reset Time15Minute
  286. if frost = 0:Time15Minute = totminut
  287. ! begin Loop
  288. :Time15MinuteLoop
  289. if defaultcoat = 5:
  290. bonusZ = -3
  291. elseif defaultcoat = 0:
  292. bonusZ = 0
  293. else
  294. bonusZ = 3
  295. end
  296. if defaultcoat = 0:
  297. if temper < 0:frost += 1
  298. if temper < -20:frost += 2
  299. if temper < -30:frost += 5
  300. if pcs_energy < 20:frost += 1
  301. if pcs_hydra < 20:frost += 1
  302. if $pantyworntype = 'none':frost += 1
  303. if pcs_sweat > 20:frost += 1
  304. elseif temper < -10 and defaultcoat_warmth = 1:
  305. if temper < -30:
  306. frost += 2
  307. else
  308. frost += 1
  309. end
  310. if pcs_energy < 20:frost += 1
  311. if pcs_hydra < 20:frost += 1
  312. if $pantyworntype = 'none':frost += 1
  313. if pcs_sweat > 20:frost += 1
  314. elseif temper < -20 and defaultcoat_warmth = 2:
  315. frost += 1
  316. if pcs_energy < 20:frost += 1
  317. if pcs_hydra < 20:frost += 1
  318. if pcs_sweat > 20:frost += 1
  319. elseif temper < -30 and defaultcoat_warmth = 3:
  320. frost += 1
  321. end
  322. if frost >= 12:sickstage = 1
  323. Time15Minute += 15
  324. if (totminut - Time15Minute) >= 15:jump 'Time15MinuteLoop'
  325. end
  326. end
  327. !!15 minute check to stop refreshes causing early gameover and cheating at exhibitionism
  328. if outdoors_checks + 15 < totminut:
  329. outdoors_checks = totminut
  330. 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)):
  331. '<b><font color="red">You have blood flowing down your legs and staining your clothes.</font></b>'
  332. 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>'
  333. gs 'sweat', 'add', 10
  334. pcs_mood -= 3
  335. pcs_willpwr -= 10
  336. dynamic '<<$clothingworntype>>H[<<clothingwornnumber>>] -= 1'
  337. end
  338. !!Exhibitionism
  339. if PCloInhibit >= pcs_inhib - 10 and $loc ! 'Gaddvor':
  340. exhibition_outdoors += 1
  341. if pcs_inhib < 45 and PCloPanties = 1: exhibition_outdoors += 1
  342. end
  343. if $pantyworntype = 'none' and $loc ! 'Gaddvor':
  344. if PCloSkirt = 3:
  345. exhibition_outdoors += 1
  346. elseif PCloSkirt = 4:
  347. exhibition_outdoors += 2
  348. elseif PCloSkirt = 5:
  349. exhibition_outdoors += 3
  350. elseif PCloSkirt = 6:
  351. exhibition_outdoors += 4
  352. end
  353. end
  354. end
  355. else
  356. gs 'themes', 'indoors'
  357. end
  358. end
  359. --- outdoors ---------------------------------