You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/store/index.ts
+6-2Lines changed: 6 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,7 @@ export default createStore({
33
33
daysToDue<0 ? -3/(daysToDue-1) : 1+1/(daysToDue+1);//if task is overdue, xp multiplier is less than 1 that decreases over time when task is overdue, else xp multiplier bonus increases (more than 1) when task gets closer to due date
34
34
letstreakMultiplier: number;//calculate task streak multiplier based on task streak, if task is completed before the due date then the streak increases else if the task is completed overdue (after the due date) reset task streak to 0
35
35
letrepeatMultiplier: number;//calculate task repetition multiplier based on task repetition occurance and task repetition frequency
36
+
//calculate task repeition multiplier
36
37
if(task.repeatFrequency==1){
37
38
//if task repetition is daily
38
39
if(task.repeatOften<7){
@@ -73,15 +74,17 @@ export default createStore({
73
74
//if task repetition is one-time
74
75
repeatMultiplier=5;//get 5x xp multiplier for one-time tasks
75
76
}
77
+
//calculate task streak
76
78
if(daysToDue<0){
77
79
//if task is overdue
78
80
task.streak=0;//reset task streak to 0
79
81
}else{
80
82
//if task is completed before due date (not overdue)
81
83
task.streak++;//increase task streak
82
84
}
83
-
if(task.streak==0){
84
-
streakMultiplier=1;//1x task streak multiplier
85
+
//calculate task streak multiplier
86
+
if(task.streak==0||task.repeatFreqnency==5){
87
+
streakMultiplier=1;//1x task streak multiplier if task streak is 0 or completed a one-time task
85
88
}elseif(task.streak<5){
86
89
streakMultiplier=1.1+0.05*(task.streak-1);//1.1x task streak multiplier from 1 streak plus 0.05x streak multiplier for each task streak
87
90
}elseif(task.streak<10){
@@ -101,6 +104,7 @@ export default createStore({
101
104
}else{
102
105
streakMultiplier=3;//3x task streak multiplier from 1000 task streak
103
106
}
107
+
//calculate amount of xp earned when task is completed
0 commit comments