/
roa/
roa/lib/boards/
roa/lib/config/
roa/lib/edits/
roa/lib/help/
roa/lib/misc/
roa/lib/plrobjs/
roa/lib/quests/
roa/lib/socials/
roa/lib/www/
roa/lib/www/LEDSign/
roa/lib/www/LEDSign/fonts/
roa/lib/www/LEDSign/scripts/
roa/src/s_inc/
roa/src/sclient/
roa/src/sclient/binary/
roa/src/sclient/text/
roa/src/util/
/************************************************************************
	Realms of Aurealis 		James Rhone aka Vall of RoA

weather.h				Header file for weather structs
					and definitions. 

		******** Heavily modified and expanded ********
		******** 100% Completely Original Code ********
		*** BE AWARE OF ALL RIGHTS AND RESERVATIONS ***
		******** Heavily modified and expanded ********
		******** 100% Completely Original Code ********
		        All rights reserved henceforth. 

    Please note that no guarantees are associated with any code from
Realms of Aurealis.  All code which has been released to the general
public has been done so with an 'as is' pretense.  RoA is based on both
Diku and CircleMUD and ALL licenses from both *MUST* be adhered to as well
as the RoA license.   *** Read, Learn, Understand, Improve ***
*************************************************************************/
#ifndef ROA_WEATHER_H
#define ROA_WEATHER_H

#define SPRING  0
#define SUMMER  1
#define FALL    2
#define WINTER  3

#define ATMOS_CALM      0
#define ATMOS_NORMAL    1
#define ATMOS_VOLATILE  2

#define CLEAR           0
#define PARTLY_CLOUDY   1
#define CLOUDY          2
#define RAINING         3
#define SLEETING        4
#define HAILING         5
#define SNOWING         6

#define ACCUM_RAIN      0
#define ACCUM_MUD       1
#define ACCUM_SLEET     2
#define ACCUM_HAIL      3
#define ACCUM_SNOW      4

#define SUN_DARK        0
#define SUN_RISE        1
#define SUN_LIGHT       2
#define SUN_SET         3


/* one global weather struct for sunlight and such */
struct global_weather_type {
  sh_int sunlight;  /* SUN_XXX */
  sh_int season;    /* spring, summer, autumn, winter */
};

/* per zone has 4 seasons */
struct season_data {
  int avg_day_temp;             /* whats average daytime temp */
  int avg_day_temp_var;         /* max daytime temp variance */
  int avg_night_temp;           /* whats average nighttime temp */
  int avg_night_temp_var;       /* max nighttime temp variance */

  int precip_percentage;        /* percentage/chance of precip */
  int atmosphere_type;          /* ATMOS_VOLATILE, ATMOS_NORMAL,
                                   ATMOS_CALM, etc for storm chances */
  // zone messages per season, nifty...
  char *sunrise;
  char *daytime;
  char *sunset;
  char *nighttime;
};

// function prototypes
void    init_weather(void);
void    hourly_weather(void);
void    send_sunrise(void);
void    send_daytime(void);
void    send_sunset(void);
void    send_nighttime(void);
void    send_to_room_not_busy(char *txt, int room);
void    send_to_zone_outside(char *txt, int zone);


#endif /* ROA_WEATHER_H */