vigoren / foundryvtt-simple-calendar

A simple calendar module for the FoundryVTT system
https://simplecalendar.info/
MIT License
48 stars 35 forks source link

[FEATURE] Calendar Features #29

Closed Havoclivekiller closed 3 years ago

Havoclivekiller commented 3 years ago

Describe the solution you'd like Similar to what is with Calendar/Weather. Ability to add Moon Phases, Seasons, Weather Generator, Holidays as additional days (like a special day between months or in a month, that doesn't count towards the month/week), Leap days, set Events (like holidays, birthdays, etc), etc.

vigoren commented 3 years ago

The features for intercalary days (days between months that don't count), leap days and reoccurring events will all be released in the next version, 1.1.0 (which will hopefully be ready in the next couple of days)

Moon phases and seasons are something I can look at adding for a later version (probably the 1.3.0 release).

I currently don't have any plans to add weather effects but after all the other features are figured out I might look into it

Nova-Katt commented 3 years ago

Question about the intercalary days. Will they also have the option to basically "reset" the weekday structure? Like, if we have 12 months that are all 30 days they would all look like 3x10 boxes. But once we add a 1-day "month" between those.. those neat 3x10 boxes would shift, like our real-life gregorian calender where a month might start on wednesday, and thus the two first "boxes" would be empty, and the last boxes would be on a 4th row. It would be amazing if the intercalary can be chosen to basically not count as a day in that sense. So, if we use the fearun calendar for instance which has 10 days per "week" called oneday, twoday, etc up to tenday.. then the 1st intercalary month could start on a Oneday.. but then the month -after- the intercalary month would start on twoday instead of oneday. And that's what I hope to avoid, since it's a day -between- the months, and also kinda between the days. so it should be oneday to tenday (three rows) intercalary day (does not count as oneday) oneday to tenday (three rows) is my comment understandably or is it confusingly written? let me know. :P

vigoren commented 3 years ago

Hey @LadySaga

Intercalandary months have two ways to works. By default they work the way you want, they do not count towards the total days of year and they do not affect the day of the week subsequent months fall on.

So for your example the first month would be 30 days, with 10 days per week would be a nice 3x10 grid. If the next month is marked as intercalary and has 1 day it's view would be 1 day on the first day of the week. The next normal month would then have it's days also start on the first day of the week.

When a month is chosen as intercalary anther option appears that when selected will make the intercalary days count and shift the days of the week the following months start on. This is so it can be compatible with more types of calendars.

The calendar also does come with the option to have it preconfigured for the Harotos calendar of the forgotten realms. Instructions for that can be found here

Hope that answers your question!

vigoren commented 3 years ago

Moon Phases and Seasons have been added in the v1.2.0 release. So the only thing missing from your list would be the weather generation. I have some thoughts around that so may look into adding it sooner rather than later.

apoapostolov commented 3 years ago

@vigoren about the weather, make sure that it is fully customizable by users. Check how app.fantasy-calendar.com does it, it is complex but what is important that it is very user-modifiable. Calendar/Weather has a flawed system for generating some environments (i.e. Tundra for Icewind Dale) that gives too high values, and they cannot be modified by the user at all.

Also, let the user override and rewrite the weather for a specific day after it has been generated.

scooper4711 commented 3 years ago

The Hârn weather generation tool is cool (RPG world from Columbia Games). I wouldn't mind if you made the weather generation an API we can plug in to so that various RPG worlds can put their own weather tool in. A key aspect is what app.fantasy-calendar.com calls its seed. The ability to generate random weather, but if you use the same seed then you always get the same weather for a given year and day. It's important.

I've made a Google Sheets for Hârn weather generation if you'd like to see what I'm talking about.

vigoren commented 3 years ago

I will check out the fantasy calendar one and Hârns to see how they do it and see what it would take to get something similar.

I want the weather system to be robust and flexible for any game system.

Thanks for the tips 😁

scooper4711 commented 3 years ago

I emailed you a photo of the Hârn weather generation rule page. I didn't want to post copyrighted stuff to this repo. :D Apologies again for intruding on your email.

I think an API which supported "give me weather for date X" and which allowed for persistent state (so the weather in the past doesn't change) would be a good approach.

It would need to support hour resolution in addition to date.

Output could be weather module specific, or at least cover wind, cloud cover, temperature and precipitation.

Let me know if you'd rather I open a separate request for weather API.

vigoren commented 3 years ago

With the release of Weather Control (v4 of Calendar/Weather) that adds weather generation and keeps Calendar/Weathers old display, while keeping all of the calendar functionality in Simple Calendar, I think everything from this list has been added (at least between the 2 modules). Keeping weather generation in its own module allows that module and author(s) to focus on really good weather generation for days while I focus on Calendar specific features.