Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dynamically updating experience rewards of tasks based on time #194

Open
GregoryPerry opened this issue Jan 22, 2025 · 0 comments
Open

Dynamically updating experience rewards of tasks based on time #194

GregoryPerry opened this issue Jan 22, 2025 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@GregoryPerry
Copy link

Is your feature request related to a problem? Please describe.
I would like to be able to have the experience (and gold) reward of a task updatable based on how long it has been since the task was last completed.

Describe the solution you'd like
I would like to be able to set a default value for a task (say 100 xp) and then if it is not completed in a given time frame (say 1 day) then the experience reward increased or decreased by a given amount (say 75 xp). There should also be a maximum/minimum value the task value can grow to. This way it incentivizes completing tasks that have not been completed in a while since the value has increased, but would not result in as much as if you completed if daily. This could also be done with a penalty system instead of reward system, by starting with a large amount of xp that loses value each day it is not complete, if people are motivated that way instead. Once a task is completed, it should return to its default value.

This is most useful for unlimited, or repeating tasks rather than single time tasks with due dates.

Describe alternatives you've considered
I have looked into doing this through the API. I would need to be able to query all the tasks I want set up this way to find the last time they were completed, then send an update to all those that have not been completed in the last day and update their xp values. Updating xp values seems easy enough with API calls, but I can't see a way to query the last time a task was completed.

Additional context
I use 6 unlimited tasks for my "daily" tasks, one for each attribute, that I can tick every time I did something for that category. This way I dont need separate tasks for "go for a run", "go to the gym" etc, I can just tick off my Fitness task for either. Then I have a separate list of goals, which are single time type tasks. The issue is that within the 6 categories, some categories are easily done once or multiple times daily, where others take more effort to do a single task in that category and I might only be able to get a few in per week. My current work around is to manually set the xp yield for each category based on roughly how many times I do each category in a week but this feels awkward. I would rather be able to see when I have not completed anything in a given category in a long time, and see the large collection of xp to incentivize me to do a task in that category, while not having that category falling so far behind in exp as the others.

@GregoryPerry GregoryPerry added the enhancement New feature or request label Jan 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants