WFCD / warframe-hub

:blue_book: Warframe hub strives to be the community center of the Warframe game
https://hub.warframestat.us
Apache License 2.0
84 stars 28 forks source link

Add a timer to Sentient Outposts #388

Closed Reversance closed 4 years ago

Reversance commented 4 years ago

Summary (short):

Add a timer to Sentient Outposts to make it easier to tell when it will appear and disappear.

Description:

All 'appearance' cycles last for 30 minutes, and all 'disappearance' cycles last the same amount of time as the previous disappearance cycle, plus 3 minutes. When this reaches exactly 3 hours, or more than 3 hours, it loops back to 2 hours. A timer that implements this ruleset would make it much easier to tell when the Sentient Outpost will appear and disappear.

Mockups:

I've made an example VB.NET function for the 'disappearance' cycle, which can be found here: https://gist.github.com/Reversance/99d4b49fee98a03f71f8f7f09d82cc45

TobiTenno commented 4 years ago

We have full details as to why we're not doing the calculation ourselves on our discord server, you're welcome to come check it out. Simply, how you're doing it requires a stated or at least state-in-memory approach, but the vast majority of how we write data services is stateless on purpose so that we don't have to worry about things like remembering when the last occurrence was to establish a pattern. We're looking at leveraging Semlar's data source for this in the future, but not at present.

Thank you for the example, it is helpful for demonstration, just not a deviation from our design pattern that we're ready to make right now.

Also, this is more applicable for wfcd/warframe-worldstate-parser, since that's where we parse out all of our data.

Reversance commented 4 years ago

Ah, I see. Thank you for considering the feature nonetheless.

EDIT: Removed some redundant information after re-reading.

wfcd-bot-boi commented 3 years ago

:tada: This issue has been resolved in version 1.0.0 :tada:

The release is available on:

Your semantic-release bot :package::rocket: