Skip to content

Commit 16f03b4

Browse files
committed
Increase max streak XP multiplier
1 parent 64a0c31 commit 16f03b4

File tree

2 files changed

+25
-7
lines changed

2 files changed

+25
-7
lines changed

src/components/TodoList.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,19 +48,19 @@ import store from "@/store";
4848
import { defineComponent } from "vue";
4949
5050
export enum repeatFrequency {
51-
Daily = 1, //daily gets 1x xp, weekly gets 2x xp, monthly gets 3x xp, yearly gets 4x xp, one-time gets 5x XP multiplier
51+
Daily = 1, //daily gets 1x XP, weekly gets 2x XP, monthly gets 3x XP, yearly gets 4x XP, one-time gets 5x XP multiplier
5252
Weekly = 2,
5353
Monthly = 3,
5454
Yearly = 4,
5555
Once = 5,
5656
}
5757
export enum difficulty {
58-
Easy = 1, //easy gets 1x xp, medium gets 2x xp, hard gets 3x XP multiplier
58+
Easy = 1, //easy gets 1x XP, medium gets 2x XP, hard gets 3x XP multiplier
5959
Medium = 2,
6060
Hard = 3,
6161
}
6262
export enum priority {
63-
Low = 1, //low gets 1x xp, medium gets 2x xp, hard gets 3x XP multiplier
63+
Low = 1, //low gets 1x XP, medium gets 2x XP, hard gets 3x XP multiplier
6464
Medium = 2,
6565
High = 3,
6666
}
@@ -94,7 +94,7 @@ export default defineComponent({
9494
return store.getters.getLevel; //get current level
9595
},
9696
xps() {
97-
return store.getters.getXp; //get current xp
97+
return store.getters.getXp; //get current XP
9898
},
9999
progresses() {
100100
return store.getters.getProgress; //get current progress

src/store/index.ts

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,19 +109,31 @@ export default createStore({
109109
} else if (state.user.dailyStreak < 3) {
110110
dailyStreakMultiplier = 1 + 0.1 * (state.user.dailyStreak - 1); //1x daily streak XP multiplier from 1 streak plus 0.1x streak multiplier for each daily streak
111111
} else if (state.user.dailyStreak < 7) {
112+
//1 week is 7 days
112113
dailyStreakMultiplier = 1.2 + 0.05 * (state.user.dailyStreak - 3); //1.2x daily streak XP multiplier from 3 streak plus 0.05x streak multiplier for each daily streak
113114
} else if (state.user.dailyStreak < 14) {
115+
//2 weks is 14 days
114116
dailyStreakMultiplier = 1.4 + 0.03 * (state.user.dailyStreak - 7); //1.4x daily streak XP multiplier from 7 streak plus 0.03x streak multiplier for each daily streak
115117
} else if (state.user.dailyStreak < 30) {
118+
//1 month is approximately 30 days
116119
dailyStreakMultiplier = 1.61 + 0.02 * (state.user.dailyStreak - 14); //1.61x daily streak XP multiplier from 14 streak plus 0.02x streak multiplier for each daily streak
117120
} else if (state.user.dailyStreak < 90) {
121+
//3 months is approximately 90 days
118122
dailyStreakMultiplier = 1.89 + 0.01 * (state.user.dailyStreak - 30); //1.89x daily streak XP multiplier from 30 streak plus 0.01x streak multiplier for each daily streak
119123
} else if (state.user.dailyStreak < 180) {
124+
//6 months is approximately 180 days
120125
dailyStreakMultiplier = 2.49 + 0.005 * (state.user.dailyStreak - 90); //2.49x daily streak XP multiplier from 90 streak plus 0.005x streak multiplier for each daily streak
121126
} else if (state.user.dailyStreak < 365) {
122-
dailyStreakMultiplier = 2.94 + 0.002 * (state.user.dailyStreak - 180); //2.94x daily streak XP multiplier from 30 streak plus 0.002x streak multiplier for each daily streak
127+
//1 year is approximately 365 days
128+
dailyStreakMultiplier = 2.94 + 0.002 * (state.user.dailyStreak - 180); //2.94x daily streak XP multiplier from 180 streak plus 0.002x streak multiplier for each daily streak
129+
} else if (state.user.dailyStreak < 730) {
130+
//2 years is approximately 730 days
131+
dailyStreakMultiplier = 3.31 + 0.001 * (state.user.dailyStreak - 365); //3.31x daily streak XP multiplier from 365 streak plus 0.001x streak multiplier for each daily streak
132+
} else if (state.user.dailyStreak < 1461) {
133+
//4 years is approximately 1461 days
134+
dailyStreakMultiplier = 3.675 + 0.0005 * (state.user.dailyStreak - 730); //3.675x daily streak XP multiplier from 730 streak plus 0.0005x streak multiplier for each daily streak
123135
} else {
124-
dailyStreakMultiplier = 3.31; //3.31x daily streak XP multiplier from 365 daily streak
136+
dailyStreakMultiplier = 4.0405; //4.0405x daily streak XP multiplier from 365 daily streak
125137
}
126138
//set last completion date to today
127139
state.user.lastCompletionDate = new Date(
@@ -150,8 +162,14 @@ export default createStore({
150162
streakMultiplier = 2.5 + 0.001 * (task.streak - 200); //2.5x task streak XP multiplier from 200 streak plus 0.001x streak multiplier for each task streak
151163
} else if (task.streak < 1000) {
152164
streakMultiplier = 2.8 + 0.0004 * (task.streak - 500); //2.8x task streak XP multiplier from 500 task streak plus 0.0004x streak multiplier for each task streak
165+
} else if (task.streak < 2000) {
166+
streakMultiplier = 3 + 0.00025 * (task.streak - 1000); //3x task streak XP multiplier from 1000 task streak plus 0.00025x streak multiplier for each task streak
167+
} else if (task.streak < 5000) {
168+
streakMultiplier = 3.25 + 0.0001 * (task.streak - 2000); //3.25x task streak XP multiplier from 2000 task streak plus 0.0001x streak multiplier for each task streak
169+
} else if (task.streak < 10000) {
170+
streakMultiplier = 3.55 + 0.00005 * (task.streak - 5000); //3.55x task streak XP multiplier from 5000 task streak plus 0.00005x streak multiplier for each task streak
153171
} else {
154-
streakMultiplier = 3; //3x task streak XP multiplier from 1000 task streak
172+
streakMultiplier = 3.8; //3.8x task streak XP multiplier from 10000 task streak
155173
}
156174
//calculate amount of XP earned when task is completed
157175
const xp: number = Math.max(

0 commit comments

Comments
 (0)