@opfr/quests 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/berry.webp +0 -0
- package/assets/success_COMMON.webp +0 -0
- package/assets/success_EPIC.webp +0 -0
- package/assets/success_LEGENDARY.webp +0 -0
- package/assets/success_MYTHIC.webp +0 -0
- package/assets/success_RARE.webp +0 -0
- package/assets/xp.webp +0 -0
- package/dist/canvas.d.ts +9 -0
- package/dist/canvas.d.ts.map +1 -0
- package/dist/canvas.js +102 -0
- package/dist/canvas.js.map +1 -0
- package/dist/class/crewBaseQuest.d.ts +14 -0
- package/dist/class/crewBaseQuest.d.ts.map +1 -0
- package/dist/class/crewBaseQuest.js +70 -0
- package/dist/class/crewBaseQuest.js.map +1 -0
- package/dist/class/userBaseQuest.d.ts +20 -0
- package/dist/class/userBaseQuest.d.ts.map +1 -0
- package/dist/class/userBaseQuest.js +100 -0
- package/dist/class/userBaseQuest.js.map +1 -0
- package/dist/constants.d.ts +5 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +13 -0
- package/dist/constants.js.map +1 -0
- package/dist/events/callbacks.d.ts +4 -0
- package/dist/events/callbacks.d.ts.map +1 -0
- package/dist/events/callbacks.js +53 -0
- package/dist/events/callbacks.js.map +1 -0
- package/dist/events/event.d.ts +7 -0
- package/dist/events/event.d.ts.map +1 -0
- package/dist/events/event.js +12 -0
- package/dist/events/event.js.map +1 -0
- package/dist/events/index.d.ts +3 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +10 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/types.d.ts +5 -0
- package/dist/events/types.d.ts.map +1 -0
- package/dist/events/types.js +2 -0
- package/dist/events/types.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +5189 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/index.umd.js +4 -0
- package/dist/quests/alcohols.d.ts +224 -0
- package/dist/quests/alcohols.d.ts.map +1 -0
- package/dist/quests/alcohols.js +325 -0
- package/dist/quests/alcohols.js.map +1 -0
- package/dist/quests/background.d.ts +34 -0
- package/dist/quests/background.d.ts.map +1 -0
- package/dist/quests/background.js +45 -0
- package/dist/quests/background.js.map +1 -0
- package/dist/quests/berry.d.ts +60 -0
- package/dist/quests/berry.d.ts.map +1 -0
- package/dist/quests/berry.js +75 -0
- package/dist/quests/berry.js.map +1 -0
- package/dist/quests/bet.d.ts +84 -0
- package/dist/quests/bet.d.ts.map +1 -0
- package/dist/quests/bet.js +109 -0
- package/dist/quests/bet.js.map +1 -0
- package/dist/quests/birthday.d.ts +14 -0
- package/dist/quests/birthday.d.ts.map +1 -0
- package/dist/quests/birthday.js +17 -0
- package/dist/quests/birthday.js.map +1 -0
- package/dist/quests/botPing.d.ts +17 -0
- package/dist/quests/botPing.d.ts.map +1 -0
- package/dist/quests/botPing.js +20 -0
- package/dist/quests/botPing.js.map +1 -0
- package/dist/quests/characteristics.d.ts +310 -0
- package/dist/quests/characteristics.d.ts.map +1 -0
- package/dist/quests/characteristics.js +400 -0
- package/dist/quests/characteristics.js.map +1 -0
- package/dist/quests/craft.d.ts +170 -0
- package/dist/quests/craft.d.ts.map +1 -0
- package/dist/quests/craft.js +245 -0
- package/dist/quests/craft.js.map +1 -0
- package/dist/quests/crewCarpenter.d.ts +70 -0
- package/dist/quests/crewCarpenter.d.ts.map +1 -0
- package/dist/quests/crewCarpenter.js +95 -0
- package/dist/quests/crewCarpenter.js.map +1 -0
- package/dist/quests/crewDaily.d.ts +27 -0
- package/dist/quests/crewDaily.d.ts.map +1 -0
- package/dist/quests/crewDaily.js +39 -0
- package/dist/quests/crewDaily.js.map +1 -0
- package/dist/quests/crewDisintegration.d.ts +16 -0
- package/dist/quests/crewDisintegration.d.ts.map +1 -0
- package/dist/quests/crewDisintegration.js +19 -0
- package/dist/quests/crewDisintegration.js.map +1 -0
- package/dist/quests/crewLevel.d.ts +65 -0
- package/dist/quests/crewLevel.d.ts.map +1 -0
- package/dist/quests/crewLevel.js +80 -0
- package/dist/quests/crewLevel.js.map +1 -0
- package/dist/quests/crewMoney.d.ts +65 -0
- package/dist/quests/crewMoney.d.ts.map +1 -0
- package/dist/quests/crewMoney.js +80 -0
- package/dist/quests/crewMoney.js.map +1 -0
- package/dist/quests/crewSize.d.ts +65 -0
- package/dist/quests/crewSize.d.ts.map +1 -0
- package/dist/quests/crewSize.js +80 -0
- package/dist/quests/crewSize.js.map +1 -0
- package/dist/quests/crewVocal.d.ts +65 -0
- package/dist/quests/crewVocal.d.ts.map +1 -0
- package/dist/quests/crewVocal.js +90 -0
- package/dist/quests/crewVocal.js.map +1 -0
- package/dist/quests/draw.d.ts +55 -0
- package/dist/quests/draw.d.ts.map +1 -0
- package/dist/quests/draw.js +80 -0
- package/dist/quests/draw.js.map +1 -0
- package/dist/quests/edito.d.ts +17 -0
- package/dist/quests/edito.d.ts.map +1 -0
- package/dist/quests/edito.js +22 -0
- package/dist/quests/edito.js.map +1 -0
- package/dist/quests/everyone.d.ts +15 -0
- package/dist/quests/everyone.d.ts.map +1 -0
- package/dist/quests/everyone.js +18 -0
- package/dist/quests/everyone.js.map +1 -0
- package/dist/quests/games.d.ts +135 -0
- package/dist/quests/games.d.ts.map +1 -0
- package/dist/quests/games.js +220 -0
- package/dist/quests/games.js.map +1 -0
- package/dist/quests/index.d.ts +6 -0
- package/dist/quests/index.d.ts.map +1 -0
- package/dist/quests/index.js +14 -0
- package/dist/quests/index.js.map +1 -0
- package/dist/quests/items.d.ts +117 -0
- package/dist/quests/items.d.ts.map +1 -0
- package/dist/quests/items.js +172 -0
- package/dist/quests/items.js.map +1 -0
- package/dist/quests/joinCrew.d.ts +12 -0
- package/dist/quests/joinCrew.d.ts.map +1 -0
- package/dist/quests/joinCrew.js +15 -0
- package/dist/quests/joinCrew.js.map +1 -0
- package/dist/quests/level.d.ts +114 -0
- package/dist/quests/level.d.ts.map +1 -0
- package/dist/quests/level.js +145 -0
- package/dist/quests/level.js.map +1 -0
- package/dist/quests/premium.d.ts +16 -0
- package/dist/quests/premium.d.ts.map +1 -0
- package/dist/quests/premium.js +19 -0
- package/dist/quests/premium.js.map +1 -0
- package/dist/quests/raid.d.ts +55 -0
- package/dist/quests/raid.d.ts.map +1 -0
- package/dist/quests/raid.js +80 -0
- package/dist/quests/raid.js.map +1 -0
- package/dist/quests/randomMessage.d.ts +55 -0
- package/dist/quests/randomMessage.d.ts.map +1 -0
- package/dist/quests/randomMessage.js +80 -0
- package/dist/quests/randomMessage.js.map +1 -0
- package/dist/quests/recipe.d.ts +60 -0
- package/dist/quests/recipe.d.ts.map +1 -0
- package/dist/quests/recipe.js +86 -0
- package/dist/quests/recipe.js.map +1 -0
- package/dist/quests/report.d.ts +15 -0
- package/dist/quests/report.d.ts.map +1 -0
- package/dist/quests/report.js +20 -0
- package/dist/quests/report.js.map +1 -0
- package/dist/quests/sendMessage.d.ts +60 -0
- package/dist/quests/sendMessage.d.ts.map +1 -0
- package/dist/quests/sendMessage.js +85 -0
- package/dist/quests/sendMessage.js.map +1 -0
- package/dist/quests/shop.d.ts +61 -0
- package/dist/quests/shop.d.ts.map +1 -0
- package/dist/quests/shop.js +86 -0
- package/dist/quests/shop.js.map +1 -0
- package/dist/quests/timeInVoice.d.ts +60 -0
- package/dist/quests/timeInVoice.d.ts.map +1 -0
- package/dist/quests/timeInVoice.js +85 -0
- package/dist/quests/timeInVoice.js.map +1 -0
- package/dist/quests/title.d.ts +34 -0
- package/dist/quests/title.d.ts.map +1 -0
- package/dist/quests/title.js +43 -0
- package/dist/quests/title.js.map +1 -0
- package/dist/quests/tournament.d.ts +234 -0
- package/dist/quests/tournament.d.ts.map +1 -0
- package/dist/quests/tournament.js +277 -0
- package/dist/quests/tournament.js.map +1 -0
- package/dist/quests/userCrew.d.ts +30 -0
- package/dist/quests/userCrew.d.ts.map +1 -0
- package/dist/quests/userCrew.js +36 -0
- package/dist/quests/userCrew.js.map +1 -0
- package/dist/quests/userDaily.d.ts +78 -0
- package/dist/quests/userDaily.d.ts.map +1 -0
- package/dist/quests/userDaily.js +113 -0
- package/dist/quests/userDaily.js.map +1 -0
- package/dist/quests/userXpToCrew.d.ts +60 -0
- package/dist/quests/userXpToCrew.d.ts.map +1 -0
- package/dist/quests/userXpToCrew.js +75 -0
- package/dist/quests/userXpToCrew.js.map +1 -0
- package/dist/quests/work.d.ts +55 -0
- package/dist/quests/work.d.ts.map +1 -0
- package/dist/quests/work.js +80 -0
- package/dist/quests/work.js.map +1 -0
- package/dist/quests/writeDifferentChat.d.ts +60 -0
- package/dist/quests/writeDifferentChat.d.ts.map +1 -0
- package/dist/quests/writeDifferentChat.js +85 -0
- package/dist/quests/writeDifferentChat.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/utils.d.ts +11 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +70 -0
- package/dist/utils.js.map +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userDaily.d.ts","sourceRoot":"","sources":["../../src/quests/userDaily.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,IAAI,SAAsB;IAC1B,EAAE,SAAwB;IAC1B,MAAM,4CAAmB;IACzB,WAAW,SAAwB;IACnC,KAAK,GAAI,QAAQ,QAAQ,YAAmD;IAC5E,EAAE,GAAI,QAAQ,QAAQ,YAAiD;IACvE,KAAK,UAAQ;IAEP,WAAW;CAGlB;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAI,SAAiC;IACrC,EAAE,SAAsB;IACxB,MAAM,4CAAmB;IACzB,WAAW,SAAsB;IACjC,KAAK,GAAI,QAAQ,QAAQ,YAAmD;IAC5E,EAAE,GAAI,QAAQ,QAAQ,YAAiD;IACvE,KAAK,UAAQ;IAEP,WAAW;CAGlB;AAED,qBAAa,WAAY,SAAQ,aAAa;IAC5C,IAAI,SAAmB;IACvB,EAAE,SAAkB;IACpB,MAAM,4CAAmB;IACzB,WAAW,SAA0B;IACrC,KAAK,GAAI,QAAQ,QAAQ,YAAmD;IAC5E,EAAE,GAAI,QAAQ,QAAQ,YAAiD;IACvE,KAAK,UAAQ;IAEP,WAAW;CAGlB;AAED,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,IAAI,SAAiB;IACrB,EAAE,SAAyB;IAC3B,MAAM,4CAAmB;IACzB,WAAW,SAAyB;IACpC,KAAK,GAAI,QAAQ,QAAQ,YAAmD;IAC5E,EAAE,GAAI,QAAQ,QAAQ,YAAiD;IACvE,KAAK,UAAQ;IAEP,WAAW;CAGlB;AAED,qBAAa,UAAW,SAAQ,aAAa;IAC3C,IAAI,SAAqB;IACzB,EAAE,SAAiB;IACnB,MAAM,4CAAmB;IACzB,WAAW,SAAkC;IAC7C,KAAK,GAAI,QAAQ,QAAQ,YAAmD;IAC5E,EAAE,GAAI,QAAQ,QAAQ,YAAiD;IACvE,KAAK,UAAQ;IAEb,OAAgB,YAAY,iCAA2C;IAEjE,WAAW,CACf,EAAE,QAAQ,EAAE,EAAE,0BAA0B,EACxC,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAOpB;AAED,qBAAa,QAAS,SAAQ,aAAa;IACzC,IAAI,SAA4C;IAChD,EAAE,SAAe;IACjB,MAAM,0CAAiB;IACvB,WAAW,SAAmC;IAC9C,KAAK,GAAI,QAAQ,QAAQ,YAAoD;IAC7E,EAAE,GAAI,QAAQ,QAAQ,YAAmD;IACzE,KAAK,UAAQ;IAEb,OAAuB,YAAY,kCAEjC;IAEI,WAAW,CAAC,CAAC,EAAE,0BAA0B,EAAE,MAAM,EAAE,QAAQ;CAgBlE;AAED,qBAAa,OAAQ,SAAQ,aAAa;IACxC,IAAI,SAAa;IACjB,EAAE,SAAa;IACf,MAAM,4CAAmB;IACzB,WAAW,SAAwD;IACnE,KAAK,SAAiB;IACtB,EAAE,SAAa;IAEf,KAAK,oCAAsB;IAE3B,OAAuB,YAAY,kCAEjC;IAEI,WAAW,CAAC,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,QAAQ;CAMhE"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { BadgeList, RANKS, getCurrentLevel } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userMetaService, userQuestService, } from '@opfr/services';
|
|
3
|
+
import {} from '@opfr/services';
|
|
4
|
+
import { sameDay } from '@opfr/utils-lang';
|
|
5
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
6
|
+
export class DailySendMessage extends UserBaseQuest {
|
|
7
|
+
name = '1 jour 1 message';
|
|
8
|
+
id = 'daily_send_message';
|
|
9
|
+
rankId = RANKS.COMMON.id;
|
|
10
|
+
description = 'Envoyer un message';
|
|
11
|
+
berry = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 1_000;
|
|
12
|
+
xp = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 100;
|
|
13
|
+
daily = true;
|
|
14
|
+
async isValidated() {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class DailyReadEdito extends UserBaseQuest {
|
|
19
|
+
name = 'Les nouvelles sont bonnes ?';
|
|
20
|
+
id = 'daily_read_edito';
|
|
21
|
+
rankId = RANKS.COMMON.id;
|
|
22
|
+
description = "Réagir à l'édito";
|
|
23
|
+
berry = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 3_000;
|
|
24
|
+
xp = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 300;
|
|
25
|
+
daily = true;
|
|
26
|
+
async isValidated() {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class DailyAnswer extends UserBaseQuest {
|
|
31
|
+
name = 'Quoi ? Feur !';
|
|
32
|
+
id = 'daily_answer';
|
|
33
|
+
rankId = RANKS.COMMON.id;
|
|
34
|
+
description = "Répondre à quelqu'un";
|
|
35
|
+
berry = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 1_500;
|
|
36
|
+
xp = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 150;
|
|
37
|
+
daily = true;
|
|
38
|
+
async isValidated() {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export class DailyCheckProfile extends UserBaseQuest {
|
|
43
|
+
name = 'Narcissique';
|
|
44
|
+
id = 'daily_check_profile';
|
|
45
|
+
rankId = RANKS.COMMON.id;
|
|
46
|
+
description = 'Regarder son profil';
|
|
47
|
+
berry = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 2_000;
|
|
48
|
+
xp = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 200;
|
|
49
|
+
daily = true;
|
|
50
|
+
async isValidated() {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export class DailyVocal extends UserBaseQuest {
|
|
55
|
+
name = "T'as des amis ?";
|
|
56
|
+
id = 'daily_vocal';
|
|
57
|
+
rankId = RANKS.COMMON.id;
|
|
58
|
+
description = 'Se connecter 10 min en vocal';
|
|
59
|
+
berry = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 5_000;
|
|
60
|
+
xp = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 500;
|
|
61
|
+
daily = true;
|
|
62
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_META];
|
|
63
|
+
async isValidated({ userMeta }, userId) {
|
|
64
|
+
const { xp } = userMeta ?? (await userMetaService.get(userId));
|
|
65
|
+
return (xp.voice.minutesInVoiceToday >= 10 &&
|
|
66
|
+
sameDay(xp.voice.lastConnection, new Date()));
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export class DailyAll extends UserBaseQuest {
|
|
70
|
+
name = "T'as pas oublié de ranger ta chambre ?";
|
|
71
|
+
id = 'daily_all';
|
|
72
|
+
rankId = RANKS.RARE.id;
|
|
73
|
+
description = 'Finir les quêtes journalières';
|
|
74
|
+
berry = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 12_500;
|
|
75
|
+
xp = ({ xp }) => (getCurrentLevel(xp.amount) / 10 + 1) * 1_250;
|
|
76
|
+
daily = true;
|
|
77
|
+
static dependencies = [
|
|
78
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_QUEST,
|
|
79
|
+
];
|
|
80
|
+
async isValidated(_, userId) {
|
|
81
|
+
const quests = [
|
|
82
|
+
new DailyCheckProfile(),
|
|
83
|
+
new DailyAnswer(),
|
|
84
|
+
new DailyReadEdito(),
|
|
85
|
+
new DailySendMessage(),
|
|
86
|
+
new DailyVocal(),
|
|
87
|
+
];
|
|
88
|
+
for (const quest of quests) {
|
|
89
|
+
if (!(await quest.isCompleted(userId))) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return true;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export class Almanax extends UserBaseQuest {
|
|
97
|
+
name = 'Almanax';
|
|
98
|
+
id = 'almanax';
|
|
99
|
+
rankId = RANKS.MYTHIC.id;
|
|
100
|
+
description = 'Valider 365 jours de suite les quêtes quotidiennes';
|
|
101
|
+
berry = 1_000_000_000;
|
|
102
|
+
xp = 1_000_000;
|
|
103
|
+
badge = BadgeList.calendar;
|
|
104
|
+
static dependencies = [
|
|
105
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_QUEST,
|
|
106
|
+
];
|
|
107
|
+
async isValidated(_, user) {
|
|
108
|
+
const dailyAllId = new DailyAll().id;
|
|
109
|
+
const userQuest = await userQuestService.get({ user, questId: dailyAllId });
|
|
110
|
+
return (userQuest.streak ?? 0) >= 365;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=userDaily.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userDaily.js","sourceRoot":"","sources":["../../src/quests/userDaily.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type ObjectId } from '@opfr/services';
|
|
2
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class UserBring50kXpToCrew extends UserBaseQuest {
|
|
5
|
+
name: string;
|
|
6
|
+
id: string;
|
|
7
|
+
rankId: import("@opfr/definitions").RankId.COMMON;
|
|
8
|
+
description: string;
|
|
9
|
+
berry: number;
|
|
10
|
+
xp: number;
|
|
11
|
+
badge: import("@opfr/definitions").Badge;
|
|
12
|
+
static dependencies: "middleware/quest/USER_STATS_CREW"[];
|
|
13
|
+
isValidated({ userStatsCrew }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export declare class UserBring500kXpToCrew extends UserBaseQuest {
|
|
16
|
+
name: string;
|
|
17
|
+
id: string;
|
|
18
|
+
rankId: import("@opfr/definitions").RankId.RARE;
|
|
19
|
+
description: string;
|
|
20
|
+
berry: number;
|
|
21
|
+
xp: number;
|
|
22
|
+
badge: import("@opfr/definitions").Badge;
|
|
23
|
+
static dependencies: "middleware/quest/USER_STATS_CREW"[];
|
|
24
|
+
isValidated({ userStatsCrew }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
export declare class UserBring1mXpToCrew extends UserBaseQuest {
|
|
27
|
+
name: string;
|
|
28
|
+
id: string;
|
|
29
|
+
rankId: import("@opfr/definitions").RankId.EPIC;
|
|
30
|
+
description: string;
|
|
31
|
+
berry: number;
|
|
32
|
+
xp: number;
|
|
33
|
+
badge: import("@opfr/definitions").Badge;
|
|
34
|
+
static dependencies: "middleware/quest/USER_STATS_CREW"[];
|
|
35
|
+
isValidated({ userStatsCrew }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
36
|
+
}
|
|
37
|
+
export declare class UserBring5mXpToCrew extends UserBaseQuest {
|
|
38
|
+
name: string;
|
|
39
|
+
id: string;
|
|
40
|
+
rankId: import("@opfr/definitions").RankId.LEGENDARY;
|
|
41
|
+
description: string;
|
|
42
|
+
berry: number;
|
|
43
|
+
xp: number;
|
|
44
|
+
badge: import("@opfr/definitions").Badge;
|
|
45
|
+
static dependencies: "middleware/quest/USER_STATS_CREW"[];
|
|
46
|
+
isValidated({ userStatsCrew }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
47
|
+
}
|
|
48
|
+
export declare class UserBring50mXpToCrew extends UserBaseQuest {
|
|
49
|
+
name: string;
|
|
50
|
+
id: string;
|
|
51
|
+
rankId: import("@opfr/definitions").RankId.MYTHIC;
|
|
52
|
+
description: string;
|
|
53
|
+
berry: number;
|
|
54
|
+
xp: number;
|
|
55
|
+
titleId: string;
|
|
56
|
+
badge: import("@opfr/definitions").Badge;
|
|
57
|
+
static dependencies: "middleware/quest/USER_STATS_CREW"[];
|
|
58
|
+
isValidated({ userStatsCrew }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=userXpToCrew.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userXpToCrew.d.ts","sourceRoot":"","sources":["../../src/quests/userXpToCrew.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,IAAI,SAA4B;IAChC,EAAE,SAAuB;IACzB,MAAM,4CAAmB;IACzB,WAAW,SAAsC;IACjD,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,KAAK,oCAAqB;IAE1B,OAAgB,YAAY,uCAAiD;IAEvE,WAAW,CACf,EAAE,aAAa,EAAE,EAAE,0BAA0B,EAC7C,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,IAAI,SAAuC;IAC3C,EAAE,SAAwB;IAC1B,MAAM,0CAAiB;IACvB,WAAW,SAAuC;IAClD,KAAK,SAAW;IAChB,EAAE,SAAU;IAEZ,KAAK,oCAAqB;IAE1B,OAAgB,YAAY,uCAAiD;IAEvE,WAAW,CACf,EAAE,aAAa,EAAE,EAAE,0BAA0B,EAC7C,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,IAAI,SAAgC;IACpC,EAAE,SAAsB;IACxB,MAAM,0CAAiB;IACvB,WAAW,SAAyC;IACpD,KAAK,SAAa;IAClB,EAAE,SAAU;IAEZ,KAAK,oCAAqB;IAE1B,OAAgB,YAAY,uCAAiD;IAEvE,WAAW,CACf,EAAE,aAAa,EAAE,EAAE,0BAA0B,EAC7C,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,IAAI,SAAoC;IACxC,EAAE,SAAsB;IACxB,MAAM,+CAAsB;IAC5B,WAAW,SAAyC;IACpD,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,KAAK,oCAAqB;IAE1B,OAAgB,YAAY,uCAAiD;IAEvE,WAAW,CACf,EAAE,aAAa,EAAE,EAAE,0BAA0B,EAC7C,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,IAAI,SAA4C;IAChD,EAAE,SAAuB;IACzB,MAAM,4CAAmB;IACzB,WAAW,SAA0C;IACrD,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAO,SAAuB;IAC9B,KAAK,oCAAqB;IAE1B,OAAgB,YAAY,uCAAiD;IAEvE,WAAW,CACf,EAAE,aAAa,EAAE,EAAE,0BAA0B,EAC7C,MAAM,EAAE,QAAQ;CAMnB"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { BadgeList, RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userStatsCrewService, } from '@opfr/services';
|
|
3
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
4
|
+
export class UserBring50kXpToCrew extends UserBaseQuest {
|
|
5
|
+
name = "C'est sympa pour eux !";
|
|
6
|
+
id = 'crew_bring_50k_xp';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = "Rapporter 50 000 XP à l'équipage";
|
|
9
|
+
berry = 50_000;
|
|
10
|
+
xp = 5_000;
|
|
11
|
+
badge = BadgeList.broship;
|
|
12
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_CREW];
|
|
13
|
+
async isValidated({ userStatsCrew }, userId) {
|
|
14
|
+
const { xpGivenToCrew } = userStatsCrew ?? (await userStatsCrewService.get(userId));
|
|
15
|
+
return xpGivenToCrew >= 50_000;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class UserBring500kXpToCrew extends UserBaseQuest {
|
|
19
|
+
name = 'On voit que tu aimes ton équipage';
|
|
20
|
+
id = 'crew_bring_500k_xp';
|
|
21
|
+
rankId = RANKS.RARE.id;
|
|
22
|
+
description = "Rapporter 500 000 XP à l'équipage";
|
|
23
|
+
berry = 200_000;
|
|
24
|
+
xp = 25_000;
|
|
25
|
+
badge = BadgeList.broship;
|
|
26
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_CREW];
|
|
27
|
+
async isValidated({ userStatsCrew }, userId) {
|
|
28
|
+
const { xpGivenToCrew } = userStatsCrew ?? (await userStatsCrewService.get(userId));
|
|
29
|
+
return xpGivenToCrew >= 500_000;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class UserBring1mXpToCrew extends UserBaseQuest {
|
|
33
|
+
name = 'Le méritent-ils vraiment ?';
|
|
34
|
+
id = 'crew_bring_1m_xp';
|
|
35
|
+
rankId = RANKS.EPIC.id;
|
|
36
|
+
description = "Rapporter 1 000 000 XP à l'équipage";
|
|
37
|
+
berry = 1_000_000;
|
|
38
|
+
xp = 50_000;
|
|
39
|
+
badge = BadgeList.broship;
|
|
40
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_CREW];
|
|
41
|
+
async isValidated({ userStatsCrew }, userId) {
|
|
42
|
+
const { xpGivenToCrew } = userStatsCrew ?? (await userStatsCrewService.get(userId));
|
|
43
|
+
return xpGivenToCrew >= 1_000_000;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
export class UserBring5mXpToCrew extends UserBaseQuest {
|
|
47
|
+
name = "J'espère que t'as eu une prime";
|
|
48
|
+
id = 'crew_bring_5m_xp';
|
|
49
|
+
rankId = RANKS.LEGENDARY.id;
|
|
50
|
+
description = "Rapporter 5 000 000 XP à l'équipage";
|
|
51
|
+
berry = 10_000_000;
|
|
52
|
+
xp = 100_000;
|
|
53
|
+
badge = BadgeList.broship;
|
|
54
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_CREW];
|
|
55
|
+
async isValidated({ userStatsCrew }, userId) {
|
|
56
|
+
const { xpGivenToCrew } = userStatsCrew ?? (await userStatsCrewService.get(userId));
|
|
57
|
+
return xpGivenToCrew >= 5_000_000;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export class UserBring50mXpToCrew extends UserBaseQuest {
|
|
61
|
+
name = "Qu'on lui fasse une statue de Bronze !";
|
|
62
|
+
id = 'crew_bring_50m_xp';
|
|
63
|
+
rankId = RANKS.MYTHIC.id;
|
|
64
|
+
description = "Rapporter 50 000 000 XP à l'équipage";
|
|
65
|
+
berry = 50_000_000;
|
|
66
|
+
xp = 250_000;
|
|
67
|
+
titleId = 'title_Team Player';
|
|
68
|
+
badge = BadgeList.broship;
|
|
69
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_CREW];
|
|
70
|
+
async isValidated({ userStatsCrew }, userId) {
|
|
71
|
+
const { xpGivenToCrew } = userStatsCrew ?? (await userStatsCrewService.get(userId));
|
|
72
|
+
return xpGivenToCrew >= 50_000_000;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=userXpToCrew.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userXpToCrew.js","sourceRoot":"","sources":["../../src/quests/userXpToCrew.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import type { ObjectId } from '@opfr/services';
|
|
2
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class Work100Quest extends UserBaseQuest {
|
|
5
|
+
name: string;
|
|
6
|
+
id: string;
|
|
7
|
+
rankId: import("@opfr/definitions").RankId.COMMON;
|
|
8
|
+
description: string;
|
|
9
|
+
berry: number;
|
|
10
|
+
xp: number;
|
|
11
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
12
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
export declare class Work300Quest extends UserBaseQuest {
|
|
15
|
+
name: string;
|
|
16
|
+
id: string;
|
|
17
|
+
rankId: import("@opfr/definitions").RankId.RARE;
|
|
18
|
+
description: string;
|
|
19
|
+
berry: number;
|
|
20
|
+
xp: number;
|
|
21
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
22
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
23
|
+
}
|
|
24
|
+
export declare class Work1000Quest extends UserBaseQuest {
|
|
25
|
+
name: string;
|
|
26
|
+
id: string;
|
|
27
|
+
rankId: import("@opfr/definitions").RankId.EPIC;
|
|
28
|
+
description: string;
|
|
29
|
+
berry: number;
|
|
30
|
+
xp: number;
|
|
31
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
32
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
33
|
+
}
|
|
34
|
+
export declare class Work2000Quest extends UserBaseQuest {
|
|
35
|
+
name: string;
|
|
36
|
+
id: string;
|
|
37
|
+
rankId: import("@opfr/definitions").RankId.LEGENDARY;
|
|
38
|
+
description: string;
|
|
39
|
+
berry: number;
|
|
40
|
+
xp: number;
|
|
41
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
42
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
43
|
+
}
|
|
44
|
+
export declare class Work5000Quest extends UserBaseQuest {
|
|
45
|
+
name: string;
|
|
46
|
+
id: string;
|
|
47
|
+
rankId: import("@opfr/definitions").RankId.MYTHIC;
|
|
48
|
+
description: string;
|
|
49
|
+
berry: number;
|
|
50
|
+
xp: number;
|
|
51
|
+
titleId: string;
|
|
52
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
53
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=work.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work.d.ts","sourceRoot":"","sources":["../../src/quests/work.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAAe;IACnB,EAAE,SAAc;IAChB,MAAM,4CAAmB;IACzB,WAAW,SAAyB;IACpC,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAAe;IACnB,EAAE,SAAc;IAChB,MAAM,0CAAiB;IACvB,WAAW,SAAyB;IACpC,KAAK,SAAW;IAChB,EAAE,SAAU;IAEZ,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAa;IACjB,EAAE,SAAe;IACjB,MAAM,0CAAiB;IACvB,WAAW,SAA0B;IACrC,KAAK,SAAa;IAClB,EAAE,SAAU;IAEZ,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAgB;IACpB,EAAE,SAAe;IACjB,MAAM,+CAAsB;IAC5B,WAAW,SAA0B;IACrC,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAa;IACjB,EAAE,SAAe;IACjB,MAAM,4CAAmB;IACzB,WAAW,SAA0B;IACrC,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAO,SAAmB;IAE1B,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userStatsEconomyService, } from '@opfr/services';
|
|
3
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
4
|
+
export class Work100Quest extends UserBaseQuest {
|
|
5
|
+
name = 'Stagiaire';
|
|
6
|
+
id = 'work_100';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = 'Travailler 100 fois';
|
|
9
|
+
berry = 50_000;
|
|
10
|
+
xp = 5_000;
|
|
11
|
+
static dependencies = [
|
|
12
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
13
|
+
];
|
|
14
|
+
async isValidated({ userStatsEconomy }, user) {
|
|
15
|
+
const { workCount } = userStatsEconomy ?? (await userStatsEconomyService.get(user));
|
|
16
|
+
return workCount >= 100;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export class Work300Quest extends UserBaseQuest {
|
|
20
|
+
name = 'Alternant';
|
|
21
|
+
id = 'work_300';
|
|
22
|
+
rankId = RANKS.RARE.id;
|
|
23
|
+
description = 'Travailler 300 fois';
|
|
24
|
+
berry = 200_000;
|
|
25
|
+
xp = 25_000;
|
|
26
|
+
static dependencies = [
|
|
27
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
28
|
+
];
|
|
29
|
+
async isValidated({ userStatsEconomy }, user) {
|
|
30
|
+
const { workCount } = userStatsEconomy ?? (await userStatsEconomyService.get(user));
|
|
31
|
+
return workCount >= 300;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class Work1000Quest extends UserBaseQuest {
|
|
35
|
+
name = 'Smicard';
|
|
36
|
+
id = 'work_1000';
|
|
37
|
+
rankId = RANKS.EPIC.id;
|
|
38
|
+
description = 'Travailler 1000 fois';
|
|
39
|
+
berry = 1_000_000;
|
|
40
|
+
xp = 50_000;
|
|
41
|
+
static dependencies = [
|
|
42
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
43
|
+
];
|
|
44
|
+
async isValidated({ userStatsEconomy }, user) {
|
|
45
|
+
const { workCount } = userStatsEconomy ?? (await userStatsEconomyService.get(user));
|
|
46
|
+
return workCount >= 1000;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export class Work2000Quest extends UserBaseQuest {
|
|
50
|
+
name = 'Communiste';
|
|
51
|
+
id = 'work_2000';
|
|
52
|
+
rankId = RANKS.LEGENDARY.id;
|
|
53
|
+
description = 'Travailler 2000 fois';
|
|
54
|
+
berry = 10_000_000;
|
|
55
|
+
xp = 100_000;
|
|
56
|
+
static dependencies = [
|
|
57
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
58
|
+
];
|
|
59
|
+
async isValidated({ userStatsEconomy }, user) {
|
|
60
|
+
const { workCount } = userStatsEconomy ?? (await userStatsEconomyService.get(user));
|
|
61
|
+
return workCount >= 2000;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export class Work5000Quest extends UserBaseQuest {
|
|
65
|
+
name = 'Esclave';
|
|
66
|
+
id = 'work_5000';
|
|
67
|
+
rankId = RANKS.MYTHIC.id;
|
|
68
|
+
description = 'Travailler 5000 fois';
|
|
69
|
+
berry = 50_000_000;
|
|
70
|
+
xp = 250_000;
|
|
71
|
+
titleId = 'title_Esclave';
|
|
72
|
+
static dependencies = [
|
|
73
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
74
|
+
];
|
|
75
|
+
async isValidated({ userStatsEconomy }, user) {
|
|
76
|
+
const { workCount } = userStatsEconomy ?? (await userStatsEconomyService.get(user));
|
|
77
|
+
return workCount >= 5000;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=work.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/quests/work.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type ObjectId } from '@opfr/services';
|
|
2
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class Write10Chats extends UserBaseQuest {
|
|
5
|
+
name: string;
|
|
6
|
+
id: string;
|
|
7
|
+
rankId: import("@opfr/definitions").RankId.COMMON;
|
|
8
|
+
description: string;
|
|
9
|
+
berry: number;
|
|
10
|
+
xp: number;
|
|
11
|
+
badge: import("@opfr/definitions").Badge;
|
|
12
|
+
static dependencies: "middleware/quest/USER_STATS_ENGAGEMENT"[];
|
|
13
|
+
isValidated({ userStatsEngagement }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export declare class Write20Chats extends UserBaseQuest {
|
|
16
|
+
name: string;
|
|
17
|
+
id: string;
|
|
18
|
+
rankId: import("@opfr/definitions").RankId.RARE;
|
|
19
|
+
description: string;
|
|
20
|
+
berry: number;
|
|
21
|
+
xp: number;
|
|
22
|
+
badge: import("@opfr/definitions").Badge;
|
|
23
|
+
static dependencies: "middleware/quest/USER_STATS_ENGAGEMENT"[];
|
|
24
|
+
isValidated({ userStatsEngagement }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
export declare class Write50Chats extends UserBaseQuest {
|
|
27
|
+
name: string;
|
|
28
|
+
id: string;
|
|
29
|
+
rankId: import("@opfr/definitions").RankId.EPIC;
|
|
30
|
+
description: string;
|
|
31
|
+
berry: number;
|
|
32
|
+
xp: number;
|
|
33
|
+
badge: import("@opfr/definitions").Badge;
|
|
34
|
+
static dependencies: "middleware/quest/USER_STATS_ENGAGEMENT"[];
|
|
35
|
+
isValidated({ userStatsEngagement }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
36
|
+
}
|
|
37
|
+
export declare class Write100Chats extends UserBaseQuest {
|
|
38
|
+
name: string;
|
|
39
|
+
id: string;
|
|
40
|
+
rankId: import("@opfr/definitions").RankId.LEGENDARY;
|
|
41
|
+
description: string;
|
|
42
|
+
berry: number;
|
|
43
|
+
xp: number;
|
|
44
|
+
badge: import("@opfr/definitions").Badge;
|
|
45
|
+
static dependencies: "middleware/quest/USER_STATS_ENGAGEMENT"[];
|
|
46
|
+
isValidated({ userStatsEngagement }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
47
|
+
}
|
|
48
|
+
export declare class Write200Chats extends UserBaseQuest {
|
|
49
|
+
name: string;
|
|
50
|
+
id: string;
|
|
51
|
+
rankId: import("@opfr/definitions").RankId.MYTHIC;
|
|
52
|
+
description: string;
|
|
53
|
+
berry: number;
|
|
54
|
+
xp: number;
|
|
55
|
+
titleId: string;
|
|
56
|
+
badge: import("@opfr/definitions").Badge;
|
|
57
|
+
static dependencies: "middleware/quest/USER_STATS_ENGAGEMENT"[];
|
|
58
|
+
isValidated({ userStatsEngagement }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=writeDifferentChat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeDifferentChat.d.ts","sourceRoot":"","sources":["../../src/quests/writeDifferentChat.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAE3D,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAAY;IAChB,EAAE,SAAoB;IACtB,MAAM,4CAAmB;IACzB,WAAW,SAAqC;IAChD,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,KAAK,oCAAyB;IAE9B,OAAgB,YAAY,6CAE1B;IAEa,WAAW,CACxB,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAAa;IACjB,EAAE,SAAoB;IACtB,MAAM,0CAAiB;IACvB,WAAW,SAAqC;IAChD,KAAK,SAAW;IAChB,EAAE,SAAU;IAEZ,KAAK,oCAAyB;IAE9B,OAAgB,YAAY,6CAE1B;IAEa,WAAW,CACxB,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAAY;IAChB,EAAE,SAAoB;IACtB,MAAM,0CAAiB;IACvB,WAAW,SAAqC;IAChD,KAAK,SAAW;IAChB,EAAE,SAAU;IAEZ,KAAK,oCAAyB;IAE9B,OAAgB,YAAY,6CAE1B;IAEa,WAAW,CACxB,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAkB;IACtB,EAAE,SAAqB;IACvB,MAAM,+CAAsB;IAC5B,WAAW,SAAsC;IACjD,KAAK,SAAa;IAClB,EAAE,SAAW;IAEb,KAAK,oCAAyB;IAE9B,OAAgB,YAAY,6CAE1B;IAEa,WAAW,CACxB,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAiB;IACrB,EAAE,SAAqB;IACvB,MAAM,4CAAmB;IACzB,WAAW,SAAsC;IACjD,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAO,SAAuB;IAC9B,KAAK,oCAAyB;IAE9B,OAAgB,YAAY,6CAE1B;IAEa,WAAW,CACxB,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { BadgeList, RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userStatsEngagementService, } from '@opfr/services';
|
|
3
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
4
|
+
export class Write10Chats extends UserBaseQuest {
|
|
5
|
+
name = 'Timide';
|
|
6
|
+
id = 'write_10_chats';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = 'Écrire dans 10 chats différents';
|
|
9
|
+
berry = 10_000;
|
|
10
|
+
xp = 1_000;
|
|
11
|
+
badge = BadgeList.exploration;
|
|
12
|
+
static dependencies = [
|
|
13
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
14
|
+
];
|
|
15
|
+
async isValidated({ userStatsEngagement }, user) {
|
|
16
|
+
const { writeDifferentChatIds } = userStatsEngagement ?? (await userStatsEngagementService.get(user));
|
|
17
|
+
return writeDifferentChatIds.length >= 10;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class Write20Chats extends UserBaseQuest {
|
|
21
|
+
name = 'Curieux';
|
|
22
|
+
id = 'write_20_chats';
|
|
23
|
+
rankId = RANKS.RARE.id;
|
|
24
|
+
description = 'Écrire dans 20 chats différents';
|
|
25
|
+
berry = 100_000;
|
|
26
|
+
xp = 10_000;
|
|
27
|
+
badge = BadgeList.exploration;
|
|
28
|
+
static dependencies = [
|
|
29
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
30
|
+
];
|
|
31
|
+
async isValidated({ userStatsEngagement }, user) {
|
|
32
|
+
const { writeDifferentChatIds } = userStatsEngagement ?? (await userStatsEngagementService.get(user));
|
|
33
|
+
return writeDifferentChatIds.length >= 20;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class Write50Chats extends UserBaseQuest {
|
|
37
|
+
name = 'Voyeur';
|
|
38
|
+
id = 'write_50_chats';
|
|
39
|
+
rankId = RANKS.EPIC.id;
|
|
40
|
+
description = 'Écrire dans 50 chats différents';
|
|
41
|
+
berry = 500_000;
|
|
42
|
+
xp = 50_000;
|
|
43
|
+
badge = BadgeList.exploration;
|
|
44
|
+
static dependencies = [
|
|
45
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
46
|
+
];
|
|
47
|
+
async isValidated({ userStatsEngagement }, user) {
|
|
48
|
+
const { writeDifferentChatIds } = userStatsEngagement ?? (await userStatsEngagementService.get(user));
|
|
49
|
+
return writeDifferentChatIds.length >= 50;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export class Write100Chats extends UserBaseQuest {
|
|
53
|
+
name = 'Philanthrope';
|
|
54
|
+
id = 'write_100_chats';
|
|
55
|
+
rankId = RANKS.LEGENDARY.id;
|
|
56
|
+
description = 'Écrire dans 100 chats différents';
|
|
57
|
+
berry = 1_000_000;
|
|
58
|
+
xp = 100_000;
|
|
59
|
+
badge = BadgeList.exploration;
|
|
60
|
+
static dependencies = [
|
|
61
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
62
|
+
];
|
|
63
|
+
async isValidated({ userStatsEngagement }, user) {
|
|
64
|
+
const { writeDifferentChatIds } = userStatsEngagement ?? (await userStatsEngagementService.get(user));
|
|
65
|
+
return writeDifferentChatIds.length >= 100;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export class Write200Chats extends UserBaseQuest {
|
|
69
|
+
name = 'Explorateur';
|
|
70
|
+
id = 'write_200_chats';
|
|
71
|
+
rankId = RANKS.MYTHIC.id;
|
|
72
|
+
description = 'Écrire dans 200 chats différents';
|
|
73
|
+
berry = 10_000_000;
|
|
74
|
+
xp = 250_000;
|
|
75
|
+
titleId = 'title_Explorateur';
|
|
76
|
+
badge = BadgeList.exploration;
|
|
77
|
+
static dependencies = [
|
|
78
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
79
|
+
];
|
|
80
|
+
async isValidated({ userStatsEngagement }, user) {
|
|
81
|
+
const { writeDifferentChatIds } = userStatsEngagement ?? (await userStatsEngagementService.get(user));
|
|
82
|
+
return writeDifferentChatIds.length >= 200;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=writeDifferentChat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writeDifferentChat.js","sourceRoot":"","sources":["../../src/quests/writeDifferentChat.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { QuestMiddlewareEventMapping } from '@opfr/services';
|
|
2
|
+
import type { SnakeToCamelCase } from '@opfr/utils-type';
|
|
3
|
+
export type QuestAssetId = 'quest_xp' | 'quest_berry' | `quest_success_COMMON` | `quest_success_EPIC` | `quest_success_LEGENDARY` | `quest_success_MYTHIC` | `quest_success_RARE`;
|
|
4
|
+
type ExtractKey<T extends string> = T extends `middleware/quest/${infer Key}` ? Key : T;
|
|
5
|
+
export type QuestValidationDocumentMap = Partial<{
|
|
6
|
+
[K in keyof QuestMiddlewareEventMapping as SnakeToCamelCase<ExtractKey<K & string>>]: QuestMiddlewareEventMapping[K];
|
|
7
|
+
}>;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,aAAa,GACb,sBAAsB,GACtB,oBAAoB,GACpB,yBAAyB,GACzB,sBAAsB,GACtB,oBAAoB,CAAC;AAEzB,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,oBAAoB,MAAM,GAAG,EAAE,GACzE,GAAG,GACH,CAAC,CAAC;AAEN,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC;KAC9C,CAAC,IAAI,MAAM,2BAA2B,IAAI,gBAAgB,CACzD,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,CACvB,GAAG,2BAA2B,CAAC,CAAC,CAAC;CACnC,CAAC,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { BaseQuest } from '@opfr/definitions';
|
|
2
|
+
import { type Badge, type FactionId } from '@opfr/definitions';
|
|
3
|
+
import type { ObjectId, QuestMiddlewareEventName } from '@opfr/services';
|
|
4
|
+
export declare const getFactionTitleStrength: (user: ObjectId) => Promise<number>;
|
|
5
|
+
export declare const getFactionTitle: (user: ObjectId, faction: FactionId) => Promise<import("@opfr/definitions").FactionTitle | undefined>;
|
|
6
|
+
export declare const getQuestBadgeEmojis: (quest: BaseQuest, faction: FactionId) => string;
|
|
7
|
+
export declare const getBadgeEmojisFromId: (badgeId: Badge["id"]) => string | undefined;
|
|
8
|
+
export declare const getQuestById: (questId: string) => BaseQuest | null;
|
|
9
|
+
export declare const getQuestsByDependency: (dependency: QuestMiddlewareEventName) => (typeof import("./quests/userDaily").DailySendMessage | typeof import("./quests/userDaily").DailyReadEdito | typeof import("./quests/userDaily").DailyAnswer | typeof import("./quests/userDaily").DailyCheckProfile | typeof import("./quests/userDaily").DailyVocal | typeof import("./quests/userDaily").DailyAll | typeof import("./quests/userDaily").Almanax | typeof import("./quests/crewCarpenter").CrewCarpenter1Week | typeof import("./quests/crewCarpenter").CrewCarpenter1Month | typeof import("./quests/crewCarpenter").CrewCarpenter3Months | typeof import("./quests/crewCarpenter").CrewCarpenter6Months | typeof import("./quests/crewCarpenter").CrewCarpenter1Year | typeof import("./quests/recipe").Have1Recipe | typeof import("./quests/recipe").Have5Recipe | typeof import("./quests/recipe").Have10Recipe | typeof import("./quests/recipe").Have25Recipe | typeof import("./quests/recipe").Have100Recipe)[];
|
|
10
|
+
export declare const getQuestsByCrewDependency: (dependency: QuestMiddlewareEventName) => (typeof import("./quests/userDaily").DailySendMessage | typeof import("./quests/userDaily").DailyReadEdito | typeof import("./quests/userDaily").DailyAnswer | typeof import("./quests/userDaily").DailyCheckProfile | typeof import("./quests/userDaily").DailyVocal | typeof import("./quests/userDaily").DailyAll | typeof import("./quests/userDaily").Almanax | typeof import("./quests/crewCarpenter").CrewCarpenter1Week | typeof import("./quests/crewCarpenter").CrewCarpenter1Month | typeof import("./quests/crewCarpenter").CrewCarpenter3Months | typeof import("./quests/crewCarpenter").CrewCarpenter6Months | typeof import("./quests/crewCarpenter").CrewCarpenter1Year | typeof import("./quests/recipe").Have1Recipe | typeof import("./quests/recipe").Have5Recipe | typeof import("./quests/recipe").Have10Recipe | typeof import("./quests/recipe").Have25Recipe | typeof import("./quests/recipe").Have100Recipe)[];
|
|
11
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EACL,KAAK,KAAK,EAEV,KAAK,SAAS,EAGf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AASzE,eAAO,MAAM,uBAAuB,GAAU,MAAM,QAAQ,oBAQ3D,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,MAAM,QAAQ,EAAE,SAAS,SAAS,kEAOvE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,EAAE,SAAS,SAAS,WAUvE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAS,KAAK,CAAC,IAAI,CAAC,uBAOxD,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,MAAM,KAAG,SAAS,GAAG,IAS1D,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,wBAAwB,+4BAiBzE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,YAAY,wBAAwB,+4BAYrC,CAAC"}
|