home *** CD-ROM | disk | FTP | other *** search
- function yearNumber(yday)
- {
- var _loc1_ = parseInt(yday / 366) + 1;
- return _loc1_;
- }
- function dayOfYear(yday)
- {
- var _loc2_ = parseInt(yday / 366) + 1;
- var _loc1_ = yday % 366;
- if(_loc2_ > 1)
- {
- _loc1_ += 1;
- }
- return _loc1_;
- }
- function monthOfYear(yday)
- {
- var _loc3_ = _root;
- var _loc1_ = undefined;
- var _loc2_ = undefined;
- var nmonth;
- _loc2_ = false;
- _loc1_ = 0;
- while(_loc1_ < _loc3_.months.length)
- {
- if(!_loc2_ && yday <= _loc3_.mdays[_loc1_])
- {
- _loc2_ = true;
- nmonth = _loc1_;
- }
- _loc1_ = _loc1_ + 1;
- }
- return nmonth;
- }
- function dayOfMonth(yday)
- {
- var _loc1_ = yday;
- var _loc2_ = undefined;
- var _loc3_ = _root.monthOfYear(_loc1_);
- if(_loc1_ <= _root.months[0])
- {
- _loc2_ = _loc1_;
- }
- else
- {
- _loc2_ = _loc1_ - _root.mdays[_loc3_ - 1];
- }
- return _loc2_;
- }
- function nameMonths()
- {
- var _loc2_ = _root;
- var _loc1_ = undefined;
- _loc1_ = 0;
- while(_loc1_ < _loc2_.months.length)
- {
- dtotal += _loc2_.months[_loc1_];
- _loc2_.mdays[_loc2_.mdays.length] = dtotal;
- _loc1_ = _loc1_ + 1;
- }
- }
- function calcDayNum(mm, dd)
- {
- var _loc1_ = 0;
- if(mm == 1)
- {
- _loc1_ = dd - 1;
- }
- else
- {
- _loc1_ = _root.mdays[mm - 2] + dd - 1;
- }
- return _loc1_;
- }
- function seasonNum(yday)
- {
- var _loc2_ = _root;
- var _loc3_ = 3;
- var _loc1_ = undefined;
- _loc1_ = 0;
- while(_loc1_ < _loc2_.seasons.length)
- {
- if(yday >= _loc2_.seasons[_loc1_])
- {
- _loc3_ = _loc1_;
- }
- _loc1_ = _loc1_ + 1;
- }
- return _loc3_;
- }
- function cloudyRange()
- {
- var _loc3_ = _root;
- var _loc1_ = undefined;
- var _loc2_ = undefined;
- _loc1_ = 0;
- while(_loc1_ < 3)
- {
- _loc3_.cloudy[_loc1_] = new Array();
- _loc2_ = 0;
- while(_loc2_ < _loc3_.chancecloudy[_loc1_].length)
- {
- if(_loc1_ == 0)
- {
- _loc3_.cloudy[_loc1_][_loc2_] = _loc3_.chancecloudy[_loc1_][_loc2_];
- }
- else
- {
- _loc3_.cloudy[_loc1_][_loc2_] = _loc3_.cloudy[_loc1_ - 1][_loc2_] + _loc3_.chancecloudy[_loc1_][_loc2_];
- }
- _loc2_ = _loc2_ + 1;
- }
- _loc1_ = _loc1_ + 1;
- }
- }
- function skyStatus(rsky, rrain, mm, tt)
- {
- var _loc2_ = _root;
- var _loc3_ = tt;
- var ii;
- var rn = rsky;
- var rp = rrain;
- var _loc1_ = 0;
- if(rsky == 0)
- {
- rn = _loc2_.randomNum(100);
- }
- if(rrain == 0)
- {
- rp = _loc2_.randomNum(100);
- }
- if(rn <= _loc2_.cloudy[0][mm])
- {
- _loc1_ = 0;
- }
- else if(rn <= _loc2_.cloudy[1][mm])
- {
- if(rp <= _loc2_.chancerain[mm])
- {
- if(_loc3_ < _loc2_.stormsnowtemp)
- {
- _loc1_ = 1;
- }
- else if(_loc3_ > _loc2_.stormthundertemp)
- {
- _loc1_ = 2;
- }
- else
- {
- _loc1_ = 3;
- }
- }
- else
- {
- _loc1_ = 4;
- }
- }
- else if(rp <= _loc2_.chancerain[mm])
- {
- if(_loc3_ < _loc2_.stormicetemp)
- {
- _loc1_ = 5;
- }
- else if(_loc3_ < _loc2_.stormsnowtemp)
- {
- _loc1_ = 6;
- }
- else if(_loc3_ > _loc2_.stormhailtemp)
- {
- _loc1_ = 7;
- }
- else if(_loc3_ > _loc2_.stormthundertemp)
- {
- _loc1_ = 8;
- }
- else
- {
- _loc1_ = 9;
- }
- }
- else
- {
- _loc1_ = 10;
- }
- return _loc1_;
- }
- function dayTempfn(mm)
- {
- var _loc1_ = _root;
- var _loc2_ = mm;
- var mtemp = _loc1_.meantemp[_loc2_];
- var rtemp = _loc1_.temprange[_loc2_];
- var rn = _loc1_.randomNum(2);
- var highlow = -1;
- var _loc3_ = undefined;
- var temperature = 0;
- var extreme = false;
- var extremerand = _loc1_.randomNum(100);
- if(rn == 1)
- {
- highlow = 1;
- }
- _loc3_ = highlow * _loc1_.randomNum(rtemp);
- if(_loc1_.chancehigh[_loc2_] > _loc1_.chancelow[_loc2_])
- {
- if(extremerand < _loc1_.chancehigh[_loc2_])
- {
- extreme = true;
- _loc3_ = _loc1_.randomNum(_loc1_.temphigh[_loc2_]);
- }
- }
- if(!extreme)
- {
- if(extremerand < _loc1_.chancelow[_loc2_])
- {
- extreme = true;
- _loc3_ = -1 * _loc1_.randomNum(_loc1_.templow[_loc2_]);
- }
- }
- temperature = mtemp + _loc3_;
- return temperature;
- }
- function realWeather(ww, aa)
- {
- var rn = _root.randomNum(100 - aa);
- var tf = _root.randomNum(2);
- var _loc3_ = -1;
- var _loc2_ = undefined;
- var _loc1_ = undefined;
- if(tf == 1)
- {
- _loc3_ = 1;
- }
- _loc2_ = _loc3_ * (rn / 100) * ww;
- _loc1_ = parseInt(ww + _loc2_);
- return _loc1_;
- }
- function calculate_temperature_accuracy()
- {
- var _loc1_ = _root;
- return _loc1_.temperature_accuracy[_loc1_.get_poplevel()] * _loc1_.temperature_mult;
- }
- function calculate_sky_accuracy()
- {
- var _loc1_ = _root;
- return _loc1_.sky_accuracy[_loc1_.get_poplevel()] * _loc1_.sky_mult;
- }
- function calculate_rain_accuracy()
- {
- var _loc1_ = _root;
- return _loc1_.rain_accuracy[_loc1_.get_poplevel()] * _loc1_.rain_mult;
- }
- function make_weather_accuracy()
- {
- var _loc1_ = undefined;
- var _loc3_ = _root.poplevel.length;
- var delta;
- var incr;
- var amax;
- var _loc2_ = undefined;
- amax = 95;
- _loc2_ = 75;
- delta = amax - _loc2_;
- incr = delta / _loc3_;
- _loc1_ = 0;
- while(_loc1_ < _loc3_)
- {
- _root.temperature_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
- _loc1_ = _loc1_ + 1;
- }
- amax = 95;
- _loc2_ = 75;
- delta = amax - _loc2_;
- incr = delta / _loc3_;
- _loc1_ = 0;
- while(_loc1_ < _loc3_)
- {
- _root.sky_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
- _loc1_ = _loc1_ + 1;
- }
- amax = 95;
- _loc2_ = 75;
- delta = amax - _loc2_;
- incr = delta / _loc3_;
- _loc1_ = 0;
- while(_loc1_ < _loc3_)
- {
- _root.rain_accuracy[_loc1_] = _loc2_ + parseInt(_loc1_ * incr + 0.5);
- _loc1_ = _loc1_ + 1;
- }
- }
- function init_weather()
- {
- _root.nameMonths();
- _root.cloudyRange();
- }
- function weather_feedback(ss)
- {
- _root.event_weather += ss;
- }
- function weather_prediction(ss)
- {
- var _loc1_ = ss;
- var _loc2_ = _root;
- _loc2_.prediction_weather_ants += _loc1_;
- _loc2_.prediction_weather_buy += _loc1_;
- _loc2_.prediction_weather_nest += _loc1_;
- _loc2_.prediction_weather_stats += _loc1_;
- }
- function clear_weather()
- {
- var _loc1_ = _root;
- _loc1_.event_weather = "";
- _loc1_.prediction_weather_ants = "";
- _loc1_.prediction_weather_buy = "";
- _loc1_.prediction_weather_nest = "";
- _loc1_.prediction_weather_stats = "";
- }
- function celcius_fahrenheit(tt)
- {
- var _loc1_ = tt;
- if(_root.celcius)
- {
- _loc1_ = Math.ceil((tt - 32) * 5 / 9);
- }
- return _loc1_;
- }
- function showsky(path, num)
- {
- var xx;
- xx = eval(path);
- switch(num)
- {
- case 1:
- xx.gotoAndPlay("sky_1");
- break;
- case 2:
- xx.gotoAndPlay("sky_2");
- break;
- case 3:
- xx.gotoAndPlay("sky_3");
- break;
- case 4:
- xx.gotoAndPlay("sky_4");
- break;
- case 5:
- xx.gotoAndPlay("sky_5");
- break;
- case 6:
- xx.gotoAndPlay("sky_6");
- break;
- case 7:
- xx.gotoAndPlay("sky_7");
- break;
- case 8:
- xx.gotoAndPlay("sky_8");
- break;
- case 9:
- xx.gotoAndPlay("sky_9");
- break;
- case 10:
- xx.gotoAndPlay("sky_10");
- break;
- case 0:
- default:
- xx.gotoAndPlay("sky_0");
- }
- }
- function predict_weather()
- {
- var _loc1_ = _root;
- var daynow;
- var dtotal = 0;
- var dayofyear;
- var i;
- var ok;
- var namemonth;
- var _loc2_ = undefined;
- var monthday;
- var startday;
- var playday = _loc1_.playday + 1;
- var startmonthnum = _loc1_.gstartmonthnum;
- var startmonthday = _loc1_.gstartmonthday;
- var _loc3_ = undefined;
- var skynow;
- var temperature_accuracy = _loc1_.calculate_temperature_accuracy();
- var sky_accuracy = _loc1_.calculate_sky_accuracy();
- var rain_accuracy = _loc1_.calculate_rain_accuracy();
- var sky_random = _loc1_.randomNum(100);
- var rain_random = _loc1_.randomNum(100);
- startday = _loc1_.calcDayNum(startmonthnum,startmonthday);
- daynow = playday + startday;
- yearnum = _loc1_.yearNumber(daynow);
- dayofyear = _loc1_.dayOfYear(daynow);
- _loc2_ = _loc1_.monthOfYear(dayofyear);
- monthday = _loc1_.dayOfMonth(dayofyear);
- _loc3_ = _loc1_.dayTempfn(_loc2_);
- skynow = _loc1_.skystat[_loc1_.skyStatus(sky_random,rain_random,_loc2_,_loc3_)];
- _loc1_.weather_prediction("Day " + playday + ": " + _loc1_.mname[_loc2_] + " " + monthday + "\n");
- _loc1_.weather_prediction(_loc1_.celcius_fahrenheit(_loc3_) + "┬░ with " + skynow + "\n");
- _loc1_.daytemp = _loc3_;
- _loc1_.skynow = skynow;
- _loc1_.monthnum = _loc2_;
- }
- function report_weather()
- {
- var _loc1_ = _root;
- var daynow;
- var dtotal = 0;
- var dayofyear;
- var i;
- var ok;
- var namemonth;
- var _loc3_ = undefined;
- var monthday;
- var startday;
- var playday = ++_loc1_.playday;
- var startmonthnum = _loc1_.gstartmonthnum;
- var startmonthday = _loc1_.gstartmonthday;
- var _loc2_ = _loc1_.daytemp;
- var skynow;
- var temperature_accuracy = _loc1_.calculate_temperature_accuracy();
- var sky_accuracy = _loc1_.calculate_sky_accuracy();
- var rain_accuracy = _loc1_.calculate_rain_accuracy();
- var sky_random = _loc1_.randomNum(100);
- var rain_random = _loc1_.randomNum(100);
- var skynum;
- startday = _loc1_.calcDayNum(startmonthnum,startmonthday);
- daynow = playday + startday;
- yearnum = _loc1_.yearNumber(daynow);
- dayofyear = _loc1_.dayOfYear(daynow);
- _loc3_ = _loc1_.monthOfYear(dayofyear);
- monthday = _loc1_.dayOfMonth(dayofyear);
- _loc2_ = _loc1_.realWeather(_loc2_,temperature_accuracy);
- sky_random = _loc1_.realWeather(sky_random,sky_accuracy);
- rain_random = _loc1_.realWeather(rain_random,rain_accuracy);
- skynum = _loc1_.skyStatus(sky_random,rain_random,_loc3_,_loc2_);
- skynow = _loc1_.skystat[skynum];
- _loc1_.weather_feedback("Day " + playday + ": " + _loc1_.mname[_loc3_] + " " + monthday + "\n");
- _loc1_.weather_feedback(_loc1_.celcius_fahrenheit(_loc2_) + "┬░\n");
- _loc1_.daytemp = _loc2_;
- _loc1_.skynow = skynow;
- _loc1_.skynum = skynum;
- _loc1_.monthnum = _loc3_;
- }
- function do_weather()
- {
- _root.report_weather();
- _root.predict_weather();
- }
- var months = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
- var mname = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
- var seasons = new Array(80,172,266,356);
- var sname = new Array("Spring","Summer","Autumn","Winter");
- var mdays = new Array();
- var temperature_accuracy = new Array();
- var sky_accuracy = new Array();
- var rain_accuracy = new Array();
- var temperature_mult = 1;
- var sky_mult = 1;
- var rain_mult = 1;
- var stormsnowtemp = 32;
- var stormthundertemp = 86;
- var stormicetemp = 10;
- var stormhailtemp = 98;
- var skystat = new Array("Clear Skies","Scattered Flurries","Scattered Thunder Storms","Scattered Showers","Partly Cloudy Skies","Ice Storm","Snow","Hail Storm","Severe Thunder Storms","Rain","Cloudy Skies");
- var meantemp = new Array(25,35,45,55,65,75,80,85,75,60,50,35);
- var temprange = new Array(10,10,10,10,10,10,10,10,10,10,10,10);
- var temphigh = new Array(20,20,20,20,20,20,20,30,25,20,20,20);
- var templow = new Array(40,40,30,30,30,30,20,20,20,30,30,30);
- var chancehigh = new Array(3,3,6,10,10,16,16,25,16,10,10,6);
- var chancelow = new Array(25,16,10,10,6,6,3,3,3,10,10,16);
- var chancecloudy = new Array();
- _root.chancecloudy[0] = new Array(20,20,30,30,30,30,40,40,40,30,30,20);
- _root.chancecloudy[1] = new Array(30,30,30,30,30,30,30,30,30,30,30,30);
- _root.chancecloudy[2] = new Array(50,50,40,40,40,40,30,30,30,40,40,50);
- var chancerain = new Array(25,20,25,25,25,25,25,25,25,20,20,25);
- var cloudy = new Array();
-