Simulate annual dates and unlock seasonal furniture (๐โฑ๏ธ๐ฎ) and clothing (๐ฉ) for the harvest festival.
Draft
class Schedule:
"""Simulation schedule of a :class:`Space`."""
"""Related space."""
space: Space
class DateMethod:
"""Simulate an annual date."""
"""Annotated function."""
func: Callable[[Schedule], Awaitable[None]]
"""Month of the date."""
month: int
"""Day of the date."""
day: int
@staticmethod
def date(month: int, day: int) -> Callable[[Callable[[Schedule], Awaitable[None]]], DateMethod]:
"""Decorator to define an annual date on *day* of *month*."""
return partial(Schedule.DateMethod, month=month, day=day)
async def run(self) -> None:
"""Simulate all scheduled dates."""
# Example
@date(31, 10)
async def start_jenseits_festival(self) -> None: ...
class Space:
"""Simulation schedule."""
schedule: Schedule
Alf ๐ง, the rural hedonist:
- Greetings friend, the name is Alf! As the leaves begin to fall, Jenseits festival is drawing near!
- Lanterns made from carved pumpkins ward off malicious spirits. (You get a carved pumpkin blueprint ๐๐)
- This time of year, graves open up a path to Jenseits through which spirits may enter our world. (You get an urn blueprint ๐โฑ๏ธ)
- (Alf is almost drooling) What would I do for a seasonal delicacy, like a hearty stew ๐ฒ?
- (You give ๐ฒ to Alf) I'm delighted, friend! Are you dressing up for the festival? (You get a top hat pattern ๐๐ฉ)
- Jenseits festival is drawing near!
- Enjoy Jenseits festival, friend!
Simulate annual dates and unlock seasonal furniture (๐โฑ๏ธ๐ฎ) and clothing (๐ฉ) for the harvest festival.
Draft
Alf ๐ง, the rural hedonist: