
I kept forgetting the in-game date and it became a problem with the timing of events, so I created a simple calendar script to help keep track of the current in-game date: https://gist.github.com/sgaxr/b0eb9950dc161a883d4efc697a58e56f
Here's the readme:
Calendar
This simple script is used to help keep track of the current in-game date for your game. It was designed to be extremely simple to use and update.
It currently supports 4 calendars:
- gregorian - the calendar used in (most of) the real world.
- harptos - the calendar used in the Forgotten Realms (12 months of 30 days, with 5 extra days between months and a sixth extra day every 4 years).
- barovian - the lunar calendar used in Barovia (12 months of 28 days).
- golarion - the Golarion calendar used in Pathfinder (similar to the Gregorian calendar with different names, but leap years are every 8 years)
Setup
Once this script is installed in your game, setup is easy.
First, set the type of calendar you want to use (in this example, I'll use harptos):
!cal type harptos
Secondly, set the date, which goes day month year
:
!cal set 20 1 1491
Since the harptos calendar has days that fall between months, you can also use the name of that day and the year:
!cal set midsummer 1490
!cal set feastofthemoon 1490
!cal set Feast of the Moon 1490
Usage
Once the calendar has been set up, it's pretty easy to use.
Display
To see the current date (this command is available to everyone):
!cal
Increment Day
To make the calendar go to the next day (GM only command), use:
!cal next
Decrement Day
If you incremented the day by accident or too many times, you can always go back (GM only command) using this:
!cal previous
Full API
Calendar Version 1.2
!cal
(everyone) Displays the current in-game date.
Aliased by: !cal display
!cal next
(GM) Advances the in-game date by 1 day.
Aliased by: !cal ++
, !cal increment
!cal add [number of days]
(GM) Advances the in-game date by a given number of days.
- [number of days] (integer (positive)) - the number of days to advance the date by
Aliased by: !cal += [number of days]
, !cal set +[number of days]
!cal subtract [number of days]
(GM) Decreases the in-game date by a given number of days.
- [number of days] (integer (positive)) - the number of days to decrease the date by
Aliased by: !cal -= [number of days]
, !cal set -[number of days]
!cal previous
(GM) Regresses the in-game date by 1 day.
Aliased by: !cal --
, !cal prev
, !cal decrement
!cal system
(everyone) Displays the current calendar system.
Aliased by: !cal type
!cal system [system]
(GM) Sets the current calendar system. The date may need to be set again after using this command.
- [system] (text) - the calendar system, one of: gregorian, harptos, barovian, golarion
Aliased by: !cal type [system]
!cal set [day] [month] [year]
(GM) Sets the current in-game date.
- [day] (integer) - the day of the month (usually 1-31)
- [month] (integer|text) - the month in the year (usually 1-12), or the name of the month (e.g. January)
- [year] (integer) - the year
!cal set [special day] ([year])
(GM) Sets the current in-game date using the name of a day that falls between months, such as with the Harptos calendar.
- [special day] (text) - the name of the special day, with or without spaces (e.g. Feast of the Moon, feastofthemoon)
- [year] (optional, integer) - the year
!cal set <+->[number of days]
(GM) Depending on whether you prepend a + or a - to the number, adds or subtracts a number of days from the current in-game date.
- [number of days] (integer) - the number of days to add or subtract from the current in-game date
Aliased by: !cal add [number of days]
, !cal += [number of days]
, !cal subtract [number of days]
, !cal -= [number of days]
!cal whisper [whisper mode]
(GM) Turns GM whisper mode on or off. If on, only the GM can use the calendar script to see the current date.
- [whisper mode] (on|off|toggle) - on turns on GM whisper mode, off turns off GM whisper mode, toggle toggles GM whisper mode
!cal help
(everyone) Displays this help message.