@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,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 send100Messages extends UserBaseQuest {
|
|
5
|
+
name = 'Bienvenue sur OPFR';
|
|
6
|
+
id = 'send_100_msg';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = 'Envoyer 100 messages';
|
|
9
|
+
berry = 10_000;
|
|
10
|
+
xp = 1_000;
|
|
11
|
+
badge = BadgeList.ecrire;
|
|
12
|
+
static dependencies = [
|
|
13
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
14
|
+
];
|
|
15
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
16
|
+
const { messageSent } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
17
|
+
return messageSent >= 100;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class send1000Messages extends UserBaseQuest {
|
|
21
|
+
name = 'Une vraie pipelette';
|
|
22
|
+
id = 'send_1000_msg';
|
|
23
|
+
rankId = RANKS.RARE.id;
|
|
24
|
+
description = 'Envoyer 1 000 messages';
|
|
25
|
+
berry = 100_000;
|
|
26
|
+
xp = 10_000;
|
|
27
|
+
badge = BadgeList.ecrire;
|
|
28
|
+
static dependencies = [
|
|
29
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
30
|
+
];
|
|
31
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
32
|
+
const { messageSent } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
33
|
+
return messageSent >= 1_000;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class send25000Messages extends UserBaseQuest {
|
|
37
|
+
name = 'Faites le taire ';
|
|
38
|
+
id = 'send_25000_msg';
|
|
39
|
+
rankId = RANKS.EPIC.id;
|
|
40
|
+
description = 'Envoyer 25 000 messages';
|
|
41
|
+
berry = 1_000_000;
|
|
42
|
+
xp = 50_000;
|
|
43
|
+
badge = BadgeList.ecrire;
|
|
44
|
+
static dependencies = [
|
|
45
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
46
|
+
];
|
|
47
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
48
|
+
const { messageSent } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
49
|
+
return messageSent >= 25_000;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export class send100000Messages extends UserBaseQuest {
|
|
53
|
+
name = 'Tu sors de chez toi des fois ?';
|
|
54
|
+
id = 'send_100000_msg';
|
|
55
|
+
rankId = RANKS.LEGENDARY.id;
|
|
56
|
+
description = 'Envoyer 100 000 messages';
|
|
57
|
+
berry = 10_000_000;
|
|
58
|
+
xp = 100_000;
|
|
59
|
+
badge = BadgeList.ecrire;
|
|
60
|
+
static dependencies = [
|
|
61
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
62
|
+
];
|
|
63
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
64
|
+
const { messageSent } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
65
|
+
return messageSent >= 100_000;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export class send200000Messages extends UserBaseQuest {
|
|
69
|
+
name = "J'ai pas les mots... mais toi si !";
|
|
70
|
+
id = 'send_200000_msg';
|
|
71
|
+
rankId = RANKS.MYTHIC.id;
|
|
72
|
+
description = 'Envoyer 200 000 messages';
|
|
73
|
+
berry = 100_000_000;
|
|
74
|
+
xp = 250_000;
|
|
75
|
+
badge = BadgeList.ecrire;
|
|
76
|
+
titleId = 'title_Spammeur';
|
|
77
|
+
static dependencies = [
|
|
78
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
79
|
+
];
|
|
80
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
81
|
+
const { messageSent } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
82
|
+
return messageSent >= 200_000;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=sendMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sendMessage.js","sourceRoot":"","sources":["../../src/quests/sendMessage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type ObjectId } from '@opfr/services';
|
|
2
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
declare class SpendShop5M 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_ECONOMY"[];
|
|
13
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export default SpendShop5M;
|
|
16
|
+
export declare class SpendShop50M extends UserBaseQuest {
|
|
17
|
+
name: string;
|
|
18
|
+
id: string;
|
|
19
|
+
rankId: import("@opfr/definitions").RankId.RARE;
|
|
20
|
+
description: string;
|
|
21
|
+
berry: number;
|
|
22
|
+
xp: number;
|
|
23
|
+
badge: import("@opfr/definitions").Badge;
|
|
24
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
25
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
26
|
+
}
|
|
27
|
+
export declare class SpendShop500M extends UserBaseQuest {
|
|
28
|
+
name: string;
|
|
29
|
+
id: string;
|
|
30
|
+
rankId: import("@opfr/definitions").RankId.EPIC;
|
|
31
|
+
description: string;
|
|
32
|
+
berry: number;
|
|
33
|
+
xp: number;
|
|
34
|
+
badge: import("@opfr/definitions").Badge;
|
|
35
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
36
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
37
|
+
}
|
|
38
|
+
export declare class SpendShop5Ml extends UserBaseQuest {
|
|
39
|
+
name: string;
|
|
40
|
+
id: string;
|
|
41
|
+
rankId: import("@opfr/definitions").RankId.LEGENDARY;
|
|
42
|
+
description: string;
|
|
43
|
+
berry: number;
|
|
44
|
+
xp: number;
|
|
45
|
+
badge: import("@opfr/definitions").Badge;
|
|
46
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
47
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
48
|
+
}
|
|
49
|
+
export declare class SpendShop50Ml extends UserBaseQuest {
|
|
50
|
+
name: string;
|
|
51
|
+
id: string;
|
|
52
|
+
rankId: import("@opfr/definitions").RankId.MYTHIC;
|
|
53
|
+
description: string;
|
|
54
|
+
berry: number;
|
|
55
|
+
xp: number;
|
|
56
|
+
badge: import("@opfr/definitions").Badge;
|
|
57
|
+
titleId: string;
|
|
58
|
+
static dependencies: "middleware/quest/USER_STATS_ECONOMY"[];
|
|
59
|
+
isValidated({ userStatsEconomy }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=shop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shop.d.ts","sourceRoot":"","sources":["../../src/quests/shop.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,cAAM,WAAY,SAAQ,aAAa;IACrC,IAAI,SAAqC;IACzC,EAAE,SAAmB;IACrB,MAAM,4CAAmB;IACzB,WAAW,SAAgD;IAC3D,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,KAAK,oCAAkB;IAEvB,OAAuB,YAAY,0CAEjC;IAEI,WAAW,CACf,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,eAAe,WAAW,CAAC;AAE3B,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAA4B;IAChC,EAAE,SAAoB;IACtB,MAAM,0CAAiB;IACvB,WAAW,SAAiD;IAC5D,KAAK,SAAW;IAChB,EAAE,SAAU;IAEZ,KAAK,oCAAkB;IAEvB,OAAuB,YAAY,0CAEjC;IAEI,WAAW,CACf,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAmC;IACvC,EAAE,SAAqB;IACvB,MAAM,0CAAiB;IACvB,WAAW,SAAkD;IAC7D,KAAK,SAAa;IAClB,EAAE,SAAU;IAEZ,KAAK,oCAAkB;IAEvB,OAAuB,YAAY,0CAEjC;IAEI,WAAW,CACf,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAA+B;IACnC,EAAE,SAAoB;IACtB,MAAM,+CAAsB;IAC5B,WAAW,SAAoD;IAC/D,KAAK,SAAa;IAClB,EAAE,SAAW;IAEb,KAAK,oCAAkB;IAEvB,OAAuB,YAAY,0CAEjC;IAEI,WAAW,CACf,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAoB;IACxB,EAAE,SAAqB;IACvB,MAAM,4CAAmB;IACzB,WAAW,SAAqD;IAChE,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,KAAK,oCAAkB;IAEvB,OAAO,SAA0B;IAEjC,OAAuB,YAAY,0CAEjC;IAEI,WAAW,CACf,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { BadgeList, RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userStatsEconomyService, } from '@opfr/services';
|
|
3
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
4
|
+
class SpendShop5M extends UserBaseQuest {
|
|
5
|
+
name = "T'as reçu ton argent de poche ?";
|
|
6
|
+
id = 'spend_shop_5m';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = 'Dépenser 5 000 000 Berrys dans la boutique';
|
|
9
|
+
berry = 50_000;
|
|
10
|
+
xp = 5_000;
|
|
11
|
+
badge = BadgeList.mode;
|
|
12
|
+
static dependencies = [
|
|
13
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
14
|
+
];
|
|
15
|
+
async isValidated({ userStatsEconomy }, userId) {
|
|
16
|
+
const { totalSpentInShop } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
|
|
17
|
+
return totalSpentInShop >= 5_000_000;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export default SpendShop5M;
|
|
21
|
+
export class SpendShop50M extends UserBaseQuest {
|
|
22
|
+
name = "Tu t'es fait plaisir !";
|
|
23
|
+
id = 'spend_shop_50m';
|
|
24
|
+
rankId = RANKS.RARE.id;
|
|
25
|
+
description = 'Dépenser 50 000 000 Berrys dans la boutique';
|
|
26
|
+
berry = 200_000;
|
|
27
|
+
xp = 25_000;
|
|
28
|
+
badge = BadgeList.mode;
|
|
29
|
+
static dependencies = [
|
|
30
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
31
|
+
];
|
|
32
|
+
async isValidated({ userStatsEconomy }, userId) {
|
|
33
|
+
const { totalSpentInShop } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
|
|
34
|
+
return totalSpentInShop >= 50_000_000;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export class SpendShop500M extends UserBaseQuest {
|
|
38
|
+
name = "C'était les soldes j'espère !";
|
|
39
|
+
id = 'spend_shop_500m';
|
|
40
|
+
rankId = RANKS.EPIC.id;
|
|
41
|
+
description = 'Dépenser 500 000 000 Berrys dans la boutique';
|
|
42
|
+
berry = 1_000_000;
|
|
43
|
+
xp = 50_000;
|
|
44
|
+
badge = BadgeList.mode;
|
|
45
|
+
static dependencies = [
|
|
46
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
47
|
+
];
|
|
48
|
+
async isValidated({ userStatsEconomy }, userId) {
|
|
49
|
+
const { totalSpentInShop } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
|
|
50
|
+
return totalSpentInShop >= 500_000_000;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class SpendShop5Ml extends UserBaseQuest {
|
|
54
|
+
name = 'Paré pour la Fashion Week';
|
|
55
|
+
id = 'spend_shop_5ml';
|
|
56
|
+
rankId = RANKS.LEGENDARY.id;
|
|
57
|
+
description = 'Dépenser 5 000 000 000 Berrys dans la boutique';
|
|
58
|
+
berry = 5_000_000;
|
|
59
|
+
xp = 100_000;
|
|
60
|
+
badge = BadgeList.mode;
|
|
61
|
+
static dependencies = [
|
|
62
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
63
|
+
];
|
|
64
|
+
async isValidated({ userStatsEconomy }, userId) {
|
|
65
|
+
const { totalSpentInShop } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
|
|
66
|
+
return totalSpentInShop >= 5_000_000_000;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
export class SpendShop50Ml extends UserBaseQuest {
|
|
70
|
+
name = 'Fashion Viktim';
|
|
71
|
+
id = 'spend_shop_50ml';
|
|
72
|
+
rankId = RANKS.MYTHIC.id;
|
|
73
|
+
description = 'Dépenser 50 000 000 000 Berrys dans la boutique';
|
|
74
|
+
berry = 50_000_000;
|
|
75
|
+
xp = 250_000;
|
|
76
|
+
badge = BadgeList.mode;
|
|
77
|
+
titleId = 'title_Fashion Viktim';
|
|
78
|
+
static dependencies = [
|
|
79
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
|
|
80
|
+
];
|
|
81
|
+
async isValidated({ userStatsEconomy }, userId) {
|
|
82
|
+
const { totalSpentInShop } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
|
|
83
|
+
return totalSpentInShop >= 50_000_000_000;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=shop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shop.js","sourceRoot":"","sources":["../../src/quests/shop.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 Voice10Hours 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, userId: ObjectId): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export declare class Voice25Hours 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, userId: ObjectId): Promise<boolean>;
|
|
25
|
+
}
|
|
26
|
+
export declare class Voice250Hours 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, userId: ObjectId): Promise<boolean>;
|
|
36
|
+
}
|
|
37
|
+
export declare class Voice2500Hours 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, userId: ObjectId): Promise<boolean>;
|
|
47
|
+
}
|
|
48
|
+
export declare class Voice5000Hours 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, userId: ObjectId): Promise<boolean>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=timeInVoice.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeInVoice.d.ts","sourceRoot":"","sources":["../../src/quests/timeInVoice.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,SAAgC;IACpC,EAAE,SAAoB;IACtB,MAAM,4CAAmB;IACzB,WAAW,SAA+B;IAC1C,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,KAAK,oCAAoB;IAEzB,OAAuB,YAAY,6CAEjC;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAAyB;IAC7B,EAAE,SAAoB;IACtB,MAAM,0CAAiB;IACvB,WAAW,SAA+B;IAC1C,KAAK,SAAW;IAChB,EAAE,SAAU;IAEZ,KAAK,oCAAoB;IAEzB,OAAuB,YAAY,6CAEjC;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAqB;IACzB,EAAE,SAAqB;IACvB,MAAM,0CAAiB;IACvB,WAAW,SAAgC;IAC3C,KAAK,SAAa;IAClB,EAAE,SAAU;IAEZ,KAAK,oCAAoB;IAEzB,OAAuB,YAAY,6CAEjC;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAI,SAAgB;IACpB,EAAE,SAAsB;IACxB,MAAM,+CAAsB;IAC5B,WAAW,SAAiC;IAC5C,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,KAAK,oCAAoB;IAEzB,OAAuB,YAAY,6CAEjC;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAI,SAAkD;IACtD,EAAE,SAAsB;IACxB,MAAM,4CAAmB;IACzB,WAAW,SAAiC;IAC5C,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAO,SAAkB;IACzB,KAAK,oCAAoB;IAEzB,OAAuB,YAAY,6CAEjC;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB"}
|
|
@@ -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 Voice10Hours extends UserBaseQuest {
|
|
5
|
+
name = 'On commence à se connaître';
|
|
6
|
+
id = 'voice_10_hours';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = 'Se connecter 10h en vocal';
|
|
9
|
+
berry = 50_000;
|
|
10
|
+
xp = 5_000;
|
|
11
|
+
badge = BadgeList.ermite;
|
|
12
|
+
static dependencies = [
|
|
13
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
14
|
+
];
|
|
15
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
16
|
+
const { totalMinutesInVoice } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
17
|
+
return totalMinutesInVoice >= 60 * 10;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class Voice25Hours extends UserBaseQuest {
|
|
21
|
+
name = 'Je sais tout de toi';
|
|
22
|
+
id = 'voice_25_hours';
|
|
23
|
+
rankId = RANKS.RARE.id;
|
|
24
|
+
description = 'Se connecter 25h en vocal';
|
|
25
|
+
berry = 200_000;
|
|
26
|
+
xp = 25_000;
|
|
27
|
+
badge = BadgeList.ermite;
|
|
28
|
+
static dependencies = [
|
|
29
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
30
|
+
];
|
|
31
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
32
|
+
const { totalMinutesInVoice } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
33
|
+
return totalMinutesInVoice >= 60 * 25;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class Voice250Hours extends UserBaseQuest {
|
|
37
|
+
name = "T'as pas soif ?";
|
|
38
|
+
id = 'voice_250_hours';
|
|
39
|
+
rankId = RANKS.EPIC.id;
|
|
40
|
+
description = 'Se connecter 250h en vocal';
|
|
41
|
+
berry = 1_000_000;
|
|
42
|
+
xp = 50_000;
|
|
43
|
+
badge = BadgeList.ermite;
|
|
44
|
+
static dependencies = [
|
|
45
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
46
|
+
];
|
|
47
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
48
|
+
const { totalMinutesInVoice } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
49
|
+
return totalMinutesInVoice >= 60 * 250;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export class Voice2500Hours extends UserBaseQuest {
|
|
53
|
+
name = 'Ok Socrate';
|
|
54
|
+
id = 'voice_2500_hours';
|
|
55
|
+
rankId = RANKS.LEGENDARY.id;
|
|
56
|
+
description = 'Se connecter 2500h en vocal';
|
|
57
|
+
berry = 10_000_000;
|
|
58
|
+
xp = 100_000;
|
|
59
|
+
badge = BadgeList.ermite;
|
|
60
|
+
static dependencies = [
|
|
61
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
62
|
+
];
|
|
63
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
64
|
+
const { totalMinutesInVoice } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
65
|
+
return totalMinutesInVoice >= 60 * 2500;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export class Voice5000Hours extends UserBaseQuest {
|
|
69
|
+
name = 'Elle ressemble à quoi la lumière du soleil ?';
|
|
70
|
+
id = 'voice_5000_hours';
|
|
71
|
+
rankId = RANKS.MYTHIC.id;
|
|
72
|
+
description = 'Se connecter 5000h en vocal';
|
|
73
|
+
berry = 50_000_000;
|
|
74
|
+
xp = 250_000;
|
|
75
|
+
titleId = 'title_Ermite';
|
|
76
|
+
badge = BadgeList.ermite;
|
|
77
|
+
static dependencies = [
|
|
78
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ENGAGEMENT,
|
|
79
|
+
];
|
|
80
|
+
async isValidated({ userStatsEngagement }, userId) {
|
|
81
|
+
const { totalMinutesInVoice } = userStatsEngagement ?? (await userStatsEngagementService.get(userId));
|
|
82
|
+
return totalMinutesInVoice >= 60 * 5000;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=timeInVoice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeInVoice.js","sourceRoot":"","sources":["../../src/quests/timeInVoice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAEL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,IAAI,GAAG,4BAA4B,CAAC;IACpC,EAAE,GAAG,gBAAgB,CAAC;IACtB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,WAAW,GAAG,2BAA2B,CAAC;IAC1C,KAAK,GAAG,MAAM,CAAC;IACf,EAAE,GAAG,KAAK,CAAC;IAEX,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAElB,MAAM,CAAU,YAAY,GAAG;QACpC,2BAA2B,CAAC,qBAAqB;KAClD,CAAC;IAEF,KAAK,CAAC,WAAW,CACf,EAAE,mBAAmB,EAA8B,EACnD,MAAgB;QAEhB,MAAM,EAAE,mBAAmB,EAAE,GAC3B,mBAAmB,IAAI,CAAC,MAAM,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,OAAO,mBAAmB,IAAI,EAAE,GAAG,EAAE,CAAC;IACxC,CAAC;;AAGH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,IAAI,GAAG,qBAAqB,CAAC;IAC7B,EAAE,GAAG,gBAAgB,CAAC;IACtB,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACvB,WAAW,GAAG,2BAA2B,CAAC;IAC1C,KAAK,GAAG,OAAO,CAAC;IAChB,EAAE,GAAG,MAAM,CAAC;IAEZ,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAElB,MAAM,CAAU,YAAY,GAAG;QACpC,2BAA2B,CAAC,qBAAqB;KAClD,CAAC;IAEF,KAAK,CAAC,WAAW,CACf,EAAE,mBAAmB,EAA8B,EACnD,MAAgB;QAEhB,MAAM,EAAE,mBAAmB,EAAE,GAC3B,mBAAmB,IAAI,CAAC,MAAM,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,OAAO,mBAAmB,IAAI,EAAE,GAAG,EAAE,CAAC;IACxC,CAAC;;AAGH,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,IAAI,GAAG,iBAAiB,CAAC;IACzB,EAAE,GAAG,iBAAiB,CAAC;IACvB,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACvB,WAAW,GAAG,4BAA4B,CAAC;IAC3C,KAAK,GAAG,SAAS,CAAC;IAClB,EAAE,GAAG,MAAM,CAAC;IAEZ,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAElB,MAAM,CAAU,YAAY,GAAG;QACpC,2BAA2B,CAAC,qBAAqB;KAClD,CAAC;IAEF,KAAK,CAAC,WAAW,CACf,EAAE,mBAAmB,EAA8B,EACnD,MAAgB;QAEhB,MAAM,EAAE,mBAAmB,EAAE,GAC3B,mBAAmB,IAAI,CAAC,MAAM,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,OAAO,mBAAmB,IAAI,EAAE,GAAG,GAAG,CAAC;IACzC,CAAC;;AAGH,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,IAAI,GAAG,YAAY,CAAC;IACpB,EAAE,GAAG,kBAAkB,CAAC;IACxB,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC5B,WAAW,GAAG,6BAA6B,CAAC;IAC5C,KAAK,GAAG,UAAU,CAAC;IACnB,EAAE,GAAG,OAAO,CAAC;IAEb,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAElB,MAAM,CAAU,YAAY,GAAG;QACpC,2BAA2B,CAAC,qBAAqB;KAClD,CAAC;IAEF,KAAK,CAAC,WAAW,CACf,EAAE,mBAAmB,EAA8B,EACnD,MAAgB;QAEhB,MAAM,EAAE,mBAAmB,EAAE,GAC3B,mBAAmB,IAAI,CAAC,MAAM,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,OAAO,mBAAmB,IAAI,EAAE,GAAG,IAAI,CAAC;IAC1C,CAAC;;AAGH,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,IAAI,GAAG,8CAA8C,CAAC;IACtD,EAAE,GAAG,kBAAkB,CAAC;IACxB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,WAAW,GAAG,6BAA6B,CAAC;IAC5C,KAAK,GAAG,UAAU,CAAC;IACnB,EAAE,GAAG,OAAO,CAAC;IAEb,OAAO,GAAG,cAAc,CAAC;IACzB,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAElB,MAAM,CAAU,YAAY,GAAG;QACpC,2BAA2B,CAAC,qBAAqB;KAClD,CAAC;IAEF,KAAK,CAAC,WAAW,CACf,EAAE,mBAAmB,EAA8B,EACnD,MAAgB;QAEhB,MAAM,EAAE,mBAAmB,EAAE,GAC3B,mBAAmB,IAAI,CAAC,MAAM,0BAA0B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACxE,OAAO,mBAAmB,IAAI,EAAE,GAAG,IAAI,CAAC;IAC1C,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type ObjectId } from '@opfr/services';
|
|
2
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class Have10Title extends UserBaseQuest {
|
|
5
|
+
name: string;
|
|
6
|
+
id: string;
|
|
7
|
+
rankId: import("@opfr/definitions").RankId.EPIC;
|
|
8
|
+
description: string;
|
|
9
|
+
berry: number;
|
|
10
|
+
xp: number;
|
|
11
|
+
static dependencies: "middleware/quest/USER_ORNAMENT"[];
|
|
12
|
+
isValidated({ userOrnament }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
13
|
+
}
|
|
14
|
+
export declare class Have50Title extends UserBaseQuest {
|
|
15
|
+
name: string;
|
|
16
|
+
id: string;
|
|
17
|
+
rankId: import("@opfr/definitions").RankId.LEGENDARY;
|
|
18
|
+
description: string;
|
|
19
|
+
berry: number;
|
|
20
|
+
xp: number;
|
|
21
|
+
static dependencies: "middleware/quest/USER_ORNAMENT"[];
|
|
22
|
+
isValidated({ userOrnament }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
23
|
+
}
|
|
24
|
+
export declare class Have100Title extends UserBaseQuest {
|
|
25
|
+
name: string;
|
|
26
|
+
id: string;
|
|
27
|
+
rankId: import("@opfr/definitions").RankId.MYTHIC;
|
|
28
|
+
description: string;
|
|
29
|
+
berry: number;
|
|
30
|
+
xp: number;
|
|
31
|
+
static dependencies: "middleware/quest/USER_ORNAMENT"[];
|
|
32
|
+
isValidated({ userOrnament }: QuestValidationDocumentMap, user: ObjectId): Promise<boolean>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=title.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"title.d.ts","sourceRoot":"","sources":["../../src/quests/title.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,WAAY,SAAQ,aAAa;IAC5C,IAAI,SAAiB;IACrB,EAAE,SAAmB;IACrB,MAAM,0CAAiB;IACvB,WAAW,SAAgC;IAC3C,KAAK,SAAa;IAClB,EAAE,SAAU;IAEZ,OAAgB,YAAY,qCAA+C;IAE5D,WAAW,CACxB,EAAE,YAAY,EAAE,EAAE,0BAA0B,EAC5C,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,WAAY,SAAQ,aAAa;IAC5C,IAAI,SAA0B;IAC9B,EAAE,SAAmB;IACrB,MAAM,+CAAsB;IAC5B,WAAW,SAAgC;IAC3C,KAAK,SAAa;IAClB,EAAE,SAAW;IAEb,OAAgB,YAAY,qCAA+C;IAE5D,WAAW,CACxB,EAAE,YAAY,EAAE,EAAE,0BAA0B,EAC5C,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,IAAI,SAAwB;IAC5B,EAAE,SAAoB;IACtB,MAAM,4CAAmB;IACzB,WAAW,SAAiC;IAC5C,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAgB,YAAY,qCAA+C;IAE5D,WAAW,CACxB,EAAE,YAAY,EAAE,EAAE,0BAA0B,EAC5C,IAAI,EAAE,QAAQ,GACb,OAAO,CAAC,OAAO,CAAC;CAMpB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userOrnamentService, } from '@opfr/services';
|
|
3
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
4
|
+
export class Have10Title extends UserBaseQuest {
|
|
5
|
+
name = 'PTDR t ki ?';
|
|
6
|
+
id = 'have_10_title';
|
|
7
|
+
rankId = RANKS.EPIC.id;
|
|
8
|
+
description = 'Avoir 10 titres différents';
|
|
9
|
+
berry = 1_000_000;
|
|
10
|
+
xp = 50_000;
|
|
11
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_ORNAMENT];
|
|
12
|
+
async isValidated({ userOrnament }, user) {
|
|
13
|
+
const { unlockedTitles } = userOrnament ?? (await userOrnamentService.get(user));
|
|
14
|
+
return unlockedTitles.length >= 10;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class Have50Title extends UserBaseQuest {
|
|
18
|
+
name = 'Mon nom est Personne';
|
|
19
|
+
id = 'have_50_title';
|
|
20
|
+
rankId = RANKS.LEGENDARY.id;
|
|
21
|
+
description = 'Avoir 50 titres différents';
|
|
22
|
+
berry = 5_000_000;
|
|
23
|
+
xp = 100_000;
|
|
24
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_ORNAMENT];
|
|
25
|
+
async isValidated({ userOrnament }, user) {
|
|
26
|
+
const { unlockedTitles } = userOrnament ?? (await userOrnamentService.get(user));
|
|
27
|
+
return unlockedTitles.length >= 50;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export class Have100Title extends UserBaseQuest {
|
|
31
|
+
name = 'Daenerys Targaryen';
|
|
32
|
+
id = 'have_100_title';
|
|
33
|
+
rankId = RANKS.MYTHIC.id;
|
|
34
|
+
description = 'Avoir 100 titres différents';
|
|
35
|
+
berry = 50_000_000;
|
|
36
|
+
xp = 250_000;
|
|
37
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_ORNAMENT];
|
|
38
|
+
async isValidated({ userOrnament }, user) {
|
|
39
|
+
const { unlockedTitles } = userOrnament ?? (await userOrnamentService.get(user));
|
|
40
|
+
return unlockedTitles.length >= 100;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../src/quests/title.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAEL,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,OAAO,WAAY,SAAQ,aAAa;IAC5C,IAAI,GAAG,aAAa,CAAC;IACrB,EAAE,GAAG,eAAe,CAAC;IACrB,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACvB,WAAW,GAAG,4BAA4B,CAAC;IAC3C,KAAK,GAAG,SAAS,CAAC;IAClB,EAAE,GAAG,MAAM,CAAC;IAEZ,MAAM,CAAU,YAAY,GAAG,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAElE,KAAK,CAAC,WAAW,CACxB,EAAE,YAAY,EAA8B,EAC5C,IAAc;QAEd,MAAM,EAAE,cAAc,EAAE,GACtB,YAAY,IAAI,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,OAAO,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,CAAC;;AAGH,MAAM,OAAO,WAAY,SAAQ,aAAa;IAC5C,IAAI,GAAG,sBAAsB,CAAC;IAC9B,EAAE,GAAG,eAAe,CAAC;IACrB,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC5B,WAAW,GAAG,4BAA4B,CAAC;IAC3C,KAAK,GAAG,SAAS,CAAC;IAClB,EAAE,GAAG,OAAO,CAAC;IAEb,MAAM,CAAU,YAAY,GAAG,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAElE,KAAK,CAAC,WAAW,CACxB,EAAE,YAAY,EAA8B,EAC5C,IAAc;QAEd,MAAM,EAAE,cAAc,EAAE,GACtB,YAAY,IAAI,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,OAAO,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;IACrC,CAAC;;AAGH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,IAAI,GAAG,oBAAoB,CAAC;IAC5B,EAAE,GAAG,gBAAgB,CAAC;IACtB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,WAAW,GAAG,6BAA6B,CAAC;IAC5C,KAAK,GAAG,UAAU,CAAC;IACnB,EAAE,GAAG,OAAO,CAAC;IAEb,MAAM,CAAU,YAAY,GAAG,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;IAElE,KAAK,CAAC,WAAW,CACxB,EAAE,YAAY,EAA8B,EAC5C,IAAc;QAEd,MAAM,EAAE,cAAc,EAAE,GACtB,YAAY,IAAI,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAExD,OAAO,cAAc,CAAC,MAAM,IAAI,GAAG,CAAC;IACtC,CAAC"}
|