123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- # outdoors
- weatherGrM[1] = -10
- weatherGrM[2] = -5
- weatherGrM[3] = 0
- weatherGrM[4] = 10
- weatherGrM[5] = 10
- weatherGrM[6] = 15
- weatherGrM[7] = 25
- weatherGrM[8] = 20
- weatherGrM[9] = 15
- weatherGrM[10]= 10
- weatherGrM[11]= 0
- weatherGrM[12]= -5
- weatherGrDelta = 5
- weatherFallM[1] = 50
- weatherFallM[2] = 40
- weatherFallM[3] = 30
- weatherFallM[4] = 20
- weatherFallM[5] = 20
- weatherFallM[6] = 10
- weatherFallM[7] = 10
- weatherFallM[8] = 10
- weatherFallM[9] = 20
- weatherFallM[10]= 20
- weatherFallM[11]= 30
- weatherFallM[12]= 40
- weatherFallDelta = 10
- DayLengthMin = 177 &! Minutes from dawn to noon
- DayLengthMax = 563
- if $ARGS[0] = 'weather':
- if weatherDay ! DayInYear:
- weatherTemper = rand(weatherGrM[month]-weatherGrDelta, weatherGrM[month]+weatherGrDelta)
- weatherFall = rand(weatherFallM[month]-weatherFallDelta, weatherFallM[month]+weatherFallDelta)
- end
- if (weatherHour ! hour) or (weatherDay ! daystart):
- weatherDay = DayInYear
- weatherHour = hour
-
- temper = hour
- if temper <= 2:
- temper = temper + (6 - (temper * 2))
- elseif temper >= 3 and temper <= 15:
- temper = temper
- elseif temper >= 16:
- temper = (temper - 30) * -1
- end
-
- temper = weatherTemper + (weatherGrDelta*100/6*temper)/100
-
- if chWeather = 0:
- sunWeather = IIF( rand(0,100)<weatherFall, 0, 1)
- else
- killvar 'chWeather'
- end
- if temper < -5 :
- if weatherFall < 30 :
- if sunWeather = 1 :
- $osadki = 'Clear and cloudless.'
- else
- $osadki = 'Clear sky, but light snow falls.'
- end
- elseif weatherFall < 60 :
- if sunWeather = 1 :
- $osadki = 'Partly cloudy and light breeze.'
- else
- $osadki = 'Clouds and it is snowing.'
- end
- else
- if sunWeather = 1 :
- $osadki = 'Clouds all over the sky and a sharp cold wind.'
- else
- $osadki = 'Strong snow with wind.'
- end
- end
- elseif temper < 5 :
- if weatherFall < 30 :
- if sunWeather = 1 :
- $osadki = 'Clear and cloudless.'
- else
- $osadki = 'Slightly wet snow.'
- end
- elseif weatherFall < 60 :
- if sunWeather = 1 :
- $osadki = 'Partly cloudy and light breeze.'
- else
- $osadki = 'Clouds and wet snow.'
- end
- else
- if sunWeather = 1 :
- $osadki = 'Clouds all over the sky and a sharp wind.'
- else
- $osadki = 'Heavy snow, sticking wet snow.'
- end
- end
- else
- if weatherFall < 30 :
- if sunWeather = 1 :
- $osadki = 'Clear and cloudless.'
- else
- $osadki = 'Light mushroom rain.'
- end
- elseif weatherFall < 60 :
- if sunWeather = 1 :
- $osadki = 'Partly cloudy skies.'
- else
- $osadki = 'It is raining.'
- end
- else
- if sunWeather = 1 :
- $osadki = 'Clouds all over the sky and a sharp wind.'
- else
- $osadki = 'Heavy rain and wind.'
- end
- end
- end
- gs 'outdoors', 'temp_set'
- if month = 1:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>There is snow on the street.'
- elseif month = 2:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>There is snow on the street.'
- elseif month = 3:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>There is snow on the street.'
- elseif month = 4:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>The snow melts on the street.'
- elseif month = 5:
- $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.'
- elseif month = 6:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>Green grass lines the streets.'
- elseif month = 7:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>Green grass lines the streets.'
- elseif month = 8:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>The grass is green, the leaves in the trees are already turning yellow.'
- elseif month = 9:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>Streets lined with green grass, visible yellow leaves.'
- elseif month = 10:
- $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.'
- elseif month = 11:
- $weather = '<<$osadki>> Temperature is <<$temperature>>.<br>The street is dirty with a thin snow cover.'
- elseif month = 12:
- $weather = '<<$osadki>> The temperature is <<$temperature>>.<br>The street is covered in snow.'
- end
- end
- end
- if $ARGS[0] = 'temp_set':
- if temper < 0:
- $temperature = '<font color=blue>'
- elseif temper < 10:
- $temperature = '<font color=green>'
- elseif temper < 20:
- $temperature = '<font color=orange>'
- else
- $temperature = '<font color=red>'
- end
- if TempUnit=0:$temperature +='<<temper>>°C</font>' else $temperature +='<<temper*9/5+32>>°F</font>'
- end
- if $ARGS[0] = 'main':
- DayInYear = func('shortgs', 'doy', year, month, day)
- !! distance from summer solstice (longest day of the year)
- if DayInYear < 172:
- DayInYear2 = 172 - DayInYear
- elseif DayinYear < 355:
- DayInYear2 = DayInYear - 172
- else
- DayInYear2 = 536 - DayInYear
- end
- DayLength = DayLengthMax - ((DayLengthMax - DayLengthMin) * 100 / 182) * DayInYear2 / 100
- ! half of daylight duration
- ! used as an offset for solar noon
- ! to get time when day starts and ends
- ! solar noon coincides with CurTimeSun of 0 which happens at 13:00
- !! Solar Noon (13:00) minus DayLength - time when day starts
- !! Solar Noon (13:00) plus DayLength - time when day ends
- CurTimeSun = hour * 60 + minut
- !! distance from 13:00 (Solar Noon) in minutes
- ! at midnight its -780
- ! 0 is 13:00
- ! 1 minute before midnight (23:59) is 659
- if CurTimeSun >= 780:
- CurTimeSun = CurTimeSun - 780
- else
- CurTimeSun = -(780 - CurTimeSun)
- end
- DayStage = 5
- BColorBase = 0
- ! 1 - dawn
- ! 2 - midday
- ! 3 - sunset
- ! 4 - the beginning of the night
- ! 5 - night
- ! 6 - the end of the night
- !! phases 1, 3, 4 and 6 last for 60 minutes
- if CurTimeSun >= -(DayLength - 60) and CurTimeSun <= (DayLength - 60):
- DayStage = 2
- BColorBase = 255
- elseif CurTimeSun >= -DayLength and CurTimeSun <= -(DayLength - 60):
- ! CurTimeSun - negative
- DayStage = 1
- ! result = 128 + [0-60] * 2
- BColorBase = 128 + (DayLength + CurTimeSun) * 2
- elseif CurTimeSun >= (DayLength - 60) and CurTimeSun <= DayLength:
- ! CurTimeSun - positive
- DayStage = 3
- ! result = 128 + [0-60] * 2
- BColorBase = 256 + ((DayLength - 60) - CurTimeSun) * 2
- elseif CurTimeSun >= DayLength and CurTimeSun <= DayLength + 60:
- ! CurTimeSun - positive
- DayStage = 4
- ! result = 128 - [0-60] * 2
- BColorBase = 128 - (CurTimeSun - DayLength) * 2
- elseif CurTimeSun >= -(DayLength + 60) and CurTimeSun <= -DayLength:
- ! CurTimeSun - negative
- DayStage = 6
- ! result = 128 - [0-60] * 2
- BColorBase = 128 + (CurTimeSun + DayLength) * 2
- end
- ! *pl ' DayInYear=<<DayInYear>> DayLength=<<DayLength>> CurTimeSun=<<CurTimeSun>> DayStage=<<DayStage>>'
- $weatherImage = '<img height = <<set_weatherht>> src="images/system/weather/wthr'
- $weatherImage = $weatherImage + '<<DayStage>>'
- if temper < -10 :
- $weatherImage += '1'
- elseif temper <= 5 :
- $weatherImage += '2'
- elseif temper <= 19 :
- $weatherImage += '3'
- else
- $weatherImage += '4'
- end
- if weatherFall < 30 :
- $weatherImage += '1'
- elseif weatherFall < 60 :
- $weatherImage += '2'
- else
- $weatherImage += '3'
- end
- if sunWeather = 1 :
- $weatherImage += '1'
- else
- $weatherImage += '2'
- end
- $weatherImage += '.jpg">'
- ! clr
- ! pl $weatherImage
- ! pl
- ! pl $weather
- ! pl $osadki
- if $location_type = 'public_outdoors' or $location_type = 'secluded' or $location_type = 'event_outdoors':
- location_type['is_outdoors'] = 1
- gs 'themes', 'outdoors'
- if sunWeather = 0 and mc_inventory['umbrella'] = 0:
- *NL 'It is raining and you do not have an umbrella.'
- if pcs_makeup > 1 and cosmetic_tattoo = 0:
- pcs_makeup = 0
- *p ' The rain has ruined your makeup.'
- end
- if pcs_hairbsh = 1:
- pcs_hairbsh = 0
- if curly > 0:curly -= 1
- *p ' Your hair is soaked.'
- end
- *nl
- end
- if temper <= 0:
- !! fix for time cheat
- if Time15Minute > totminut: Time15Minute = totminut
- if (totminut - Time15Minute) >= 15:
- !reset Time15Minute
- if frost = 0:Time15Minute = totminut
- ! begin Loop
- :Time15MinuteLoop
- if $coatworntype = 'none':
- bonusZ = 0
- else
- bonusZ = PCoatQuality - 2
- end
- if $coatworntype = 'none':
- if temper < 0:frost += 1
- if temper < -20:frost += 2
- if temper < -30:frost += 5
- if pcs_energy < 20:frost += 1
- if pcs_hydra < 20:frost += 1
- if $pantyworntype = 'none':frost += 1
- if pcs_sweat > 20:frost += 1
- elseif temper < -10 and PCoatWarm = 1:
- if temper < -30:
- frost += 2
- else
- frost += 1
- end
- if pcs_energy < 20:frost += 1
- if pcs_hydra < 20:frost += 1
- if $pantyworntype = 'none':frost += 1
- if pcs_sweat > 20:frost += 1
- elseif temper < -20 and PCoatWarm = 2:
- frost += 1
- if pcs_energy < 20:frost += 1
- if pcs_hydra < 20:frost += 1
- if pcs_sweat > 20:frost += 1
- elseif temper < -30 and PCoatWarm = 3:
- frost += 1
- end
- if frost >= 12:sickstage = 1
- Time15Minute += 15
- if (totminut - Time15Minute) >= 15:jump 'Time15MinuteLoop'
- end
- end
- !!15 minute check to stop refreshes causing early gameover and cheating at exhibitionism
- if outdoors_checks + 15 < totminut:
- outdoors_checks = totminut
- if isprok = 0 and isprokp = 0 and mesec > 0 and preg = 0 and $loc ! 'gad_gpyard' and (isprok_lastday = 0 or (hour > 4 and isprok_lastday = 1)):
- '<b><font color="red">You have blood flowing down your legs and staining your clothes.</font></b>'
- 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>'
- gs 'sweat', 'add', 10
- if pcs_mood > 20: pcs_mood -= 20
- dynamic '<<$clothingworntype>>_h[<<clothingwornnumber>>] -= 1'
- end
- !!Exhibitionism
- if PCloInhibit >= pcs_inhib - 10 and $loc ! 'gad_gpyard':
- exhibition_outdoors += 1
- if pcs_inhib < 45 and PCloPanties > 0: exhibition_outdoors += 1
- end
- if $pantyworntype = 'none' and $loc ! 'gad_gpyard':
- if PCloSkirt = 3:
- exhibition_outdoors += 1
- elseif PCloSkirt = 4:
- exhibition_outdoors += 2
- elseif PCloSkirt = 5:
- exhibition_outdoors += 3
- elseif PCloSkirt = 6:
- exhibition_outdoors += 4
- end
- end
- end
- else
- location_type['is_outdoors'] = 0
- gs 'themes', 'indoors'
- end
- end
-
-
- --- outdoors ---------------------------------
|