NAME
/obj/daemon/timed.c - NannyMUD local time daemon
DESCRIPTION
timed.c The local NannyMUD time.
The idea is simply to have the 'normal' day converted in to small
'Nannydays' each of these days 19 real hours, with 2 hours of night.
A NannyMinute is 23 seconds.
A NannyHour is 58 NannyMinutes.
A NannyDay is 19 NannyHours.
A Nannyweek is 7 Nannydays.
A Nannymonth is 21 Nannydays. This is 3 Nannyweeks.
A Nanny Year is 13 Nannymonths.
A Mooncycle is completed in 8 Nannydays.
Years have their own names, wich are repeated in cycles
of 17 years.
The start for for the Nannytime is when Nanny was first started,
in April 25, 1990.
NOTA BENE
So, why do we bother with this?
Well, it would add a new dimension to the game, and thus make it
more fun to play it. The idea is to let certain powers be better
at certain times, a classic example is of course were-creatures.
SETUP FUNCTIONS
None.
NAME FUNCTIONS
_name_of_year
_name_of_month
_name_of_day
ABSOULUTE DATE FUNCTIONS
_year
_month
_mday
_weekday
nanny_time2
_ctime
_time_of_day
_part_of_day
RELATIVE TIME FUNCTIONS
dtime
_dtime
_time
nanny_time
MISC FUNCTIONS
_phase
=========================================================================
NAME
_name_of_year - Give the name of a year.
SYNTAX
string _name_of_year(int year)
DESCRIPTION
Year names are cyclic, and repeated every 17 years. This function
returns the correct name for every year in the range [0..MAX_INT].
The following names are used:
The Year of Creation
The Year of the Daemon
The Year of the Wind
The Year of the Dragon
The Year of the Giants
The Year of the Elves
The Year of Magic
The Year of Humans
The Year of the Golden Age
The Year of Sacrilage
The Year of Darkness
The Year of Blood
The Year of Sacrifice
The Year of Purification
The Year of Light
The Year of Balance
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_name_of_year(TD->_year(TD->_time())));
=========================================================================
NAME
_name_of_month
SYNTAX
string _name_of_month(int month)
DESCRIPTION
Returns the name of the month. The following names are used:
The Month of Darkness
The Month of Truth
The Month of Wind
The Month of Water
The Month of Spirit
The Month of Fertility
The Month of Plant
The Month of Earth
The Month of Harmony
The Month of Fire
The Month of Illusion
The Month of Law
The Month of Demons
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_name_of_month(TD->_month(TD->_time())));
=========================================================================
NAME
_name_of_day
SYNTAX
string _name_of_day(int day)
DESCRIPTION
Returns the name of the day. The following names are used:
Larsday
Q'sday
Padsday
Orsday
Harday
Leoday
Matsday
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_name_of_day(TD->_weekday(TD->_time())));
=========================================================================
NAME
_year
SYNTAX
mixed _year(int i, int flag, int give_str)
DESCRIPTION
This function returns what year it is. Set flag to convert to
Nanny Time (tm). Set give_str to get the name of the year.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_year(TD->_time(), 1, 0)); /* writes the year-number */
write(TD->_year(TD->_time(), 1, 1)); /* writes the year-name */
=========================================================================
NAME
_month
SYNTAX
mixed _month(int i, int flag, int give_str)
DESCRIPTION
Returns the present month, beginning with month. 1 Set flag
to convert to Nanny Time (tm). Set give_str to get the name of
the month.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_month(TD->_time(), 1, 0)); /* Gives a number */
write(TD->_month(time(), 0, 0)); /* Same as above */
write(TD->_month(time(), 0, 1)); /* Gives a name */
=========================================================================
NAME
_mday
SYNTAX
int _mday(int i, int flag)
DESCRIPTION
Returns the day of the present month, beginning with day 1. Set flag
to convert to Nanny Time (tm).
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_mday(TD->_time(), 1));
=========================================================================
NAME
_weekday
SYNTAX
mixed _weekday(int i, int flag, int str)
DESCRIPTION
Returns the present day of week, beginning with day 1. Set flag
to convert to Nanny Time (tm). Set give_str to get the name of
the month.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_weekday(TD->_time(), 1, 0)); /* Gives a number */
write(TD->_weekday(time(), 0, 0)); /* Same as above */
write(TD->_weekday(time(), 0, 1)); /* Gives a name */
=========================================================================
NAME
nanny_time2
SYNTAX
int nanny_time2()
DESCRIPTION
Prints some assorted time info.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->nanny_time());
/* prints:
Wed Oct 4 10:50:24 1995
Larsday The Month of Darkness 01 6:50:24 The Year of Light
31 years 0 month 0 day 6 hours 50 minutes 24 seconds.
Phase : Full moon
*/
=========================================================================
NAME
_ctime
SYNTAX
string _ctime(int time)
DESCRIPTION
Converts an integer with NannyTime(tm) to a formatted string
with the absolute date.
Similar to the efun ctime(), but uses NannyTime(tm).
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_ctime(time()));
/* prints something in this format:
Q'sday The Month of Darkness 02 0:27:59 The Year of Light
*/
=========================================================================
NAME
_dtime
SYNTAX
string _dtime(int i)
DESCRIPTION
Converts an integer with NannyTime(tm) to a formatted string
with relative time.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_dtime(this_player()->query_age()));
/* prints something in this format:
1 year 3 months 8 days 1 hour 26 minutes 43 seconds
*/
=========================================================================
NAME
_time_of_day
SYNTAX
mixed _time_of_day(int time, int flag, int give_str)
DESCRIPTION
Converts an integer with NannyTime(tm) to a formatted string
with the time of day. Set flag to convert time into NannyTime(tm).
If give_str is 0, _time_of_day(...) returns an array ({hh, mm, ss}),
else it returns a string: 8:50:16.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_time_of_day(time(), 1, 1));
/* prints something in this format:
8:50:16
*/
=========================================================================
NAME
_part_of_day
SYNTAX
mixed _part_of_day(int time, int flag, int give_str)
DESCRIPTION
Converts an integer with NannyTime(tm) to a formatted string
wich tells if it is day or night or morning etc. Set flag to
convert time into NannyTime(tm).
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_part_of_day(time(), 1, 1));
/* prints something in this format:
noon
*/
write(TD->_part_of_day(time(), 1, 0));
/* prints something in this format:
5
*/
=========================================================================
NAME
dtime
SYNTAX
string dtime(int i)
DESCRIPTION
Converts an integer with RLTime(tm) to a formatted string
with relative time.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->dtime(this_player()->query_age()));
/* prints something in this format:
17 days 6 hours 46 minutes 53 seconds
*/
=========================================================================
NAME
_time
SYNTAX
int _time()
DESCRIPTION
Returns the number of seconds since NannyMUD was first started.
Very similar to the efun time().
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_time());
/* prints something in this format:
172765898
*/
=========================================================================
NAME
nanny_time
SYNTAX
void nanny_time(int time, int flag)
DESCRIPTION
Writes the time in a formatted way. Set flag if i is not in
NannyTime(tm) already.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->nanny_time(time(), 1);
/* prints something in this format:
31 years 0 months 4 days 5 hours 32 minutes 2 seconds.
*/
=========================================================================
NAME
_phase
SYNTAX
mixed _phase(int time, int flag, int give_str)
DESCRIPTION
This function returns the moon-phase of Nanny's moon. time is
an int of the time when moon-phase is to be calculated. Set flag
if time is not in NannyTime(tm) already. If give_str is 1, _phase
will return a string.
MOONCYCLES
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
F 3 H 1 E 1 H 3 F 3 H 1 E 1 H 3 F 3 H 1 E 1 H 3 F 3 H 1
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
F == Full, H == Half, E == Empty 1= 1 Quarter full, 3 = 3 Quarters full
By define is : Day One is a Full moon night.
EXAMPLE
#define TD "/obj/daemon/timed"
write(TD->_phase(time(), 1, 1);
/* prints: Three quarters full moon, declining */
write(TD->_phase(time(), 1, 0); /* prints: 1 */
=========================================================================
Help topics available:
| area_d.doc | examples/ | reclaimd.doc | timed.doc | wedd.doc |
You are guest number 133 since March 2020.
This file was last modified: June 2000.