@opfr/quests 1.4.1 → 1.4.3

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.
Files changed (76) hide show
  1. package/dist/canvas.d.ts +1 -2
  2. package/dist/canvas.d.ts.map +1 -1
  3. package/dist/canvas.js.map +1 -1
  4. package/dist/class/userBaseQuest.d.ts +2 -3
  5. package/dist/class/userBaseQuest.d.ts.map +1 -1
  6. package/dist/class/userBaseQuest.js +2 -2
  7. package/dist/class/userBaseQuest.js.map +1 -1
  8. package/dist/events/callbacks.d.ts +1 -1
  9. package/dist/events/callbacks.d.ts.map +1 -1
  10. package/dist/events/callbacks.js +9 -42
  11. package/dist/events/callbacks.js.map +1 -1
  12. package/dist/events/event.d.ts +3 -4
  13. package/dist/events/event.d.ts.map +1 -1
  14. package/dist/events/event.js.map +1 -1
  15. package/dist/events/index.js +1 -1
  16. package/dist/events/index.js.map +1 -1
  17. package/dist/events/types.d.ts +2 -3
  18. package/dist/events/types.d.ts.map +1 -1
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.es.js +3993 -4804
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.umd.js +3 -3
  24. package/dist/quests/index.d.ts +1 -21
  25. package/dist/quests/index.d.ts.map +1 -1
  26. package/dist/quests/index.js +0 -30
  27. package/dist/quests/index.js.map +1 -1
  28. package/dist/utils.d.ts +1 -2
  29. package/dist/utils.d.ts.map +1 -1
  30. package/dist/utils.js +2 -17
  31. package/dist/utils.js.map +1 -1
  32. package/package.json +6 -6
  33. package/dist/class/crewBaseQuest.d.ts +0 -14
  34. package/dist/class/crewBaseQuest.d.ts.map +0 -1
  35. package/dist/class/crewBaseQuest.js +0 -70
  36. package/dist/class/crewBaseQuest.js.map +0 -1
  37. package/dist/quests/crewCarpenter.d.ts +0 -70
  38. package/dist/quests/crewCarpenter.d.ts.map +0 -1
  39. package/dist/quests/crewCarpenter.js +0 -95
  40. package/dist/quests/crewCarpenter.js.map +0 -1
  41. package/dist/quests/crewDaily.d.ts +0 -27
  42. package/dist/quests/crewDaily.d.ts.map +0 -1
  43. package/dist/quests/crewDaily.js +0 -39
  44. package/dist/quests/crewDaily.js.map +0 -1
  45. package/dist/quests/crewDisintegration.d.ts +0 -16
  46. package/dist/quests/crewDisintegration.d.ts.map +0 -1
  47. package/dist/quests/crewDisintegration.js +0 -19
  48. package/dist/quests/crewDisintegration.js.map +0 -1
  49. package/dist/quests/crewLevel.d.ts +0 -65
  50. package/dist/quests/crewLevel.d.ts.map +0 -1
  51. package/dist/quests/crewLevel.js +0 -80
  52. package/dist/quests/crewLevel.js.map +0 -1
  53. package/dist/quests/crewMoney.d.ts +0 -65
  54. package/dist/quests/crewMoney.d.ts.map +0 -1
  55. package/dist/quests/crewMoney.js +0 -80
  56. package/dist/quests/crewMoney.js.map +0 -1
  57. package/dist/quests/crewSize.d.ts +0 -65
  58. package/dist/quests/crewSize.d.ts.map +0 -1
  59. package/dist/quests/crewSize.js +0 -80
  60. package/dist/quests/crewSize.js.map +0 -1
  61. package/dist/quests/crewVocal.d.ts +0 -65
  62. package/dist/quests/crewVocal.d.ts.map +0 -1
  63. package/dist/quests/crewVocal.js +0 -90
  64. package/dist/quests/crewVocal.js.map +0 -1
  65. package/dist/quests/raid.d.ts +0 -55
  66. package/dist/quests/raid.d.ts.map +0 -1
  67. package/dist/quests/raid.js +0 -80
  68. package/dist/quests/raid.js.map +0 -1
  69. package/dist/quests/userCrew.d.ts +0 -30
  70. package/dist/quests/userCrew.d.ts.map +0 -1
  71. package/dist/quests/userCrew.js +0 -36
  72. package/dist/quests/userCrew.js.map +0 -1
  73. package/dist/quests/userXpToCrew.d.ts +0 -60
  74. package/dist/quests/userXpToCrew.d.ts.map +0 -1
  75. package/dist/quests/userXpToCrew.js +0 -75
  76. package/dist/quests/userXpToCrew.js.map +0 -1
@@ -1,80 +0,0 @@
1
- import { BadgeList, RANKS } from '@opfr/definitions';
2
- import { QUEST_MIDDLEWARE_EVENT_NAME, userCrewService, } from '@opfr/services';
3
- import { CrewBaseQuest } from '../class/crewBaseQuest';
4
- export class CrewSize5 extends CrewBaseQuest {
5
- name = 'Plus on est de fous...';
6
- id = 'crew_size_5';
7
- rankId = RANKS.COMMON.id;
8
- description = 'Être dans un équipage de 5 membres';
9
- berry = 50_000;
10
- xp = 5_000;
11
- crew = true;
12
- badge = BadgeList.sardine;
13
- static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_CREW];
14
- async isValidated(_, crewId) {
15
- const allUserIds = await userCrewService.getAllUserIdsFromCrew(crewId);
16
- return allUserIds.length >= 5;
17
- }
18
- }
19
- export class CrewSize7 extends CrewBaseQuest {
20
- name = 'Plus on rit !';
21
- id = 'crew_size_7';
22
- rankId = RANKS.RARE.id;
23
- description = 'Être dans un équipage de 7 membres';
24
- berry = 200_000;
25
- xp = 25_000;
26
- crew = true;
27
- badge = BadgeList.sardine;
28
- static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_CREW];
29
- async isValidated(_, crewId) {
30
- const allUserIds = await userCrewService.getAllUserIdsFromCrew(crewId);
31
- return allUserIds.length >= 7;
32
- }
33
- }
34
- export class CrewSize10 extends CrewBaseQuest {
35
- name = 'Une petite famille';
36
- id = 'crew_size_10';
37
- rankId = RANKS.EPIC.id;
38
- description = 'Être dans un équipage de 10 membres';
39
- berry = 1_000_000;
40
- xp = 50_000;
41
- crew = true;
42
- badge = BadgeList.sardine;
43
- static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_CREW];
44
- async isValidated(_, crewId) {
45
- const allUserIds = await userCrewService.getAllUserIdsFromCrew(crewId);
46
- return allUserIds.length >= 10;
47
- }
48
- }
49
- export class CrewSize12 extends CrewBaseQuest {
50
- name = 'Va falloir des dortoirs en plus';
51
- id = 'crew_size_12';
52
- rankId = RANKS.LEGENDARY.id;
53
- description = 'Être dans un équipage de 12 membres';
54
- berry = 10_000_000;
55
- xp = 100_000;
56
- crew = true;
57
- badge = BadgeList.sardine;
58
- static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_CREW];
59
- async isValidated(_, crewId) {
60
- const allUserIds = await userCrewService.getAllUserIdsFromCrew(crewId);
61
- return allUserIds.length >= 12;
62
- }
63
- }
64
- export class CrewSize15 extends CrewBaseQuest {
65
- name = "* Ah qu'est-ce qu'on est serré ! *";
66
- id = 'crew_size_15';
67
- rankId = RANKS.MYTHIC.id;
68
- description = 'Être dans un équipage de 15 membres';
69
- berry = 50_000_000;
70
- xp = 250_000;
71
- crew = true;
72
- titleId = 'title_Sardine';
73
- badge = BadgeList.sardine;
74
- static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_CREW];
75
- async isValidated(_, crewId) {
76
- const allUserIds = await userCrewService.getAllUserIdsFromCrew(crewId);
77
- return allUserIds.length >= 15;
78
- }
79
- }
80
- //# sourceMappingURL=crewSize.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crewSize.js","sourceRoot":"","sources":["../../src/quests/crewSize.ts"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import type { ObjectId } from '@opfr/services';
2
- import { CrewBaseQuest } from '../class/crewBaseQuest';
3
- import type { QuestValidationDocumentMap } from '../types';
4
- export declare class CrewVocal5 extends CrewBaseQuest {
5
- name: string;
6
- id: string;
7
- rankId: import("@opfr/definitions").RankId.COMMON;
8
- description: string;
9
- berry: number;
10
- xp: number;
11
- crew: true;
12
- badge: import("@opfr/definitions").Badge;
13
- static crewDependencies: "middleware/quest/CREW_STATS_ENGAGEMENT"[];
14
- isValidated({ crewStatsEngagement }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
15
- }
16
- export declare class CrewVocal7 extends CrewBaseQuest {
17
- name: string;
18
- id: string;
19
- rankId: import("@opfr/definitions").RankId.RARE;
20
- description: string;
21
- berry: number;
22
- xp: number;
23
- crew: true;
24
- badge: import("@opfr/definitions").Badge;
25
- static crewDependencies: "middleware/quest/CREW_STATS_ENGAGEMENT"[];
26
- isValidated({ crewStatsEngagement }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
27
- }
28
- export declare class CrewVocal10 extends CrewBaseQuest {
29
- name: string;
30
- id: string;
31
- rankId: import("@opfr/definitions").RankId.EPIC;
32
- description: string;
33
- berry: number;
34
- xp: number;
35
- crew: true;
36
- badge: import("@opfr/definitions").Badge;
37
- static crewDependencies: "middleware/quest/CREW_STATS_ENGAGEMENT"[];
38
- isValidated({ crewStatsEngagement }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
39
- }
40
- export declare class CrewVocal12 extends CrewBaseQuest {
41
- name: string;
42
- id: string;
43
- rankId: import("@opfr/definitions").RankId.LEGENDARY;
44
- description: string;
45
- berry: number;
46
- xp: number;
47
- crew: true;
48
- badge: import("@opfr/definitions").Badge;
49
- static crewDependencies: "middleware/quest/CREW_STATS_ENGAGEMENT"[];
50
- isValidated({ crewStatsEngagement }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
51
- }
52
- export declare class CrewVocal15 extends CrewBaseQuest {
53
- name: string;
54
- id: string;
55
- rankId: import("@opfr/definitions").RankId.MYTHIC;
56
- description: string;
57
- berry: number;
58
- xp: number;
59
- crew: true;
60
- titleId: string;
61
- badge: import("@opfr/definitions").Badge;
62
- static crewDependencies: "middleware/quest/CREW_STATS_ENGAGEMENT"[];
63
- isValidated({ crewStatsEngagement }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
64
- }
65
- //# sourceMappingURL=crewVocal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crewVocal.d.ts","sourceRoot":"","sources":["../../src/quests/crewVocal.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,UAAW,SAAQ,aAAa;IAC3C,IAAI,SAAsB;IAC1B,EAAE,SAAkB;IACpB,MAAM,4CAAmB;IACzB,WAAW,SAAmE;IAC9E,KAAK,SAAU;IACf,EAAE,SAAS;IACX,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,6CAE9B;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,UAAW,SAAQ,aAAa;IAC3C,IAAI,SAAuB;IAC3B,EAAE,SAAkB;IACpB,MAAM,0CAAiB;IACvB,WAAW,SAAmE;IAC9E,KAAK,SAAW;IAChB,EAAE,SAAU;IACZ,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,6CAE9B;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,WAAY,SAAQ,aAAa;IAC5C,IAAI,SAAwB;IAC5B,EAAE,SAAmB;IACrB,MAAM,0CAAiB;IACvB,WAAW,SACwD;IACnE,KAAK,SAAa;IAClB,EAAE,SAAU;IACZ,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,6CAE9B;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,WAAY,SAAQ,aAAa;IAC5C,IAAI,SAAsB;IAC1B,EAAE,SAAmB;IACrB,MAAM,+CAAsB;IAC5B,WAAW,SACwD;IACnE,KAAK,SAAc;IACnB,EAAE,SAAW;IACb,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,6CAE9B;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,WAAY,SAAQ,aAAa;IAC5C,IAAI,SAA8B;IAClC,EAAE,SAAmB;IACrB,MAAM,4CAAmB;IACzB,WAAW,SACwD;IACnE,KAAK,SAAc;IACnB,EAAE,SAAW;IACb,IAAI,EAAG,IAAI,CAAU;IAErB,OAAO,SAA8B;IACrC,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,6CAE9B;IAEI,WAAW,CACf,EAAE,mBAAmB,EAAE,EAAE,0BAA0B,EACnD,MAAM,EAAE,QAAQ;CAMnB"}
@@ -1,90 +0,0 @@
1
- import { BadgeList, RANKS } from '@opfr/definitions';
2
- import { QUEST_MIDDLEWARE_EVENT_NAME, crewStatsEngagementService, } from '@opfr/services';
3
- import { CrewBaseQuest } from '../class/crewBaseQuest';
4
- export class CrewVocal5 extends CrewBaseQuest {
5
- name = 'Réunion de crise';
6
- id = 'crew_vocal_5';
7
- rankId = RANKS.COMMON.id;
8
- description = 'Être dans un un vocal avec au moins 5 membres pendant 1 heure';
9
- berry = 50_000;
10
- xp = 5_000;
11
- crew = true;
12
- badge = BadgeList.shipsecte;
13
- static crewDependencies = [
14
- QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_ENGAGEMENT,
15
- ];
16
- async isValidated({ crewStatsEngagement }, crewId) {
17
- const { maxVoiceMembersReached } = crewStatsEngagement ?? (await crewStatsEngagementService.get(crewId));
18
- return maxVoiceMembersReached >= 5;
19
- }
20
- }
21
- export class CrewVocal7 extends CrewBaseQuest {
22
- name = 'Conseil de guerre';
23
- id = 'crew_vocal_7';
24
- rankId = RANKS.RARE.id;
25
- description = 'Être dans un un vocal avec au moins 7 membres pendant 1 heure';
26
- berry = 200_000;
27
- xp = 25_000;
28
- crew = true;
29
- badge = BadgeList.shipsecte;
30
- static crewDependencies = [
31
- QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_ENGAGEMENT,
32
- ];
33
- async isValidated({ crewStatsEngagement }, crewId) {
34
- const { maxVoiceMembersReached } = crewStatsEngagement ?? (await crewStatsEngagementService.get(crewId));
35
- return maxVoiceMembersReached >= 7;
36
- }
37
- }
38
- export class CrewVocal10 extends CrewBaseQuest {
39
- name = 'Réunion de famille';
40
- id = 'crew_vocal_10';
41
- rankId = RANKS.EPIC.id;
42
- description = 'Être dans un un vocal avec au moins 10 membres pendant 1 heure';
43
- berry = 1_000_000;
44
- xp = 50_000;
45
- crew = true;
46
- badge = BadgeList.shipsecte;
47
- static crewDependencies = [
48
- QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_ENGAGEMENT,
49
- ];
50
- async isValidated({ crewStatsEngagement }, crewId) {
51
- const { maxVoiceMembersReached } = crewStatsEngagement ?? (await crewStatsEngagementService.get(crewId));
52
- return maxVoiceMembersReached >= 10;
53
- }
54
- }
55
- export class CrewVocal12 extends CrewBaseQuest {
56
- name = 'Les Inséparables';
57
- id = 'crew_vocal_12';
58
- rankId = RANKS.LEGENDARY.id;
59
- description = 'Être dans un un vocal avec au moins 12 membres pendant 1 heure';
60
- berry = 10_000_000;
61
- xp = 100_000;
62
- crew = true;
63
- badge = BadgeList.shipsecte;
64
- static crewDependencies = [
65
- QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_ENGAGEMENT,
66
- ];
67
- async isValidated({ crewStatsEngagement }, crewId) {
68
- const { maxVoiceMembersReached } = crewStatsEngagement ?? (await crewStatsEngagementService.get(crewId));
69
- return maxVoiceMembersReached >= 12;
70
- }
71
- }
72
- export class CrewVocal15 extends CrewBaseQuest {
73
- name = 'Ambiance sectaire un peu';
74
- id = 'crew_vocal_15';
75
- rankId = RANKS.MYTHIC.id;
76
- description = 'Être dans un un vocal avec au moins 15 membres pendant 1 heure';
77
- berry = 50_000_000;
78
- xp = 250_000;
79
- crew = true;
80
- titleId = "title_Membre d'une secte";
81
- badge = BadgeList.shipsecte;
82
- static crewDependencies = [
83
- QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_ENGAGEMENT,
84
- ];
85
- async isValidated({ crewStatsEngagement }, crewId) {
86
- const { maxVoiceMembersReached } = crewStatsEngagement ?? (await crewStatsEngagementService.get(crewId));
87
- return maxVoiceMembersReached >= 15;
88
- }
89
- }
90
- //# sourceMappingURL=crewVocal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crewVocal.js","sourceRoot":"","sources":["../../src/quests/crewVocal.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- import { type ObjectId } from '@opfr/services';
2
- import { UserBaseQuest } from '../class/userBaseQuest';
3
- import type { QuestValidationDocumentMap } from '../types';
4
- export declare class Finish10Raids 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, userId: ObjectId): Promise<boolean>;
13
- }
14
- export declare class Finish25Raids 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, userId: ObjectId): Promise<boolean>;
23
- }
24
- export declare class Finish50Raids 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, userId: ObjectId): Promise<boolean>;
33
- }
34
- export declare class Finish100Raids 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, userId: ObjectId): Promise<boolean>;
43
- }
44
- export declare class Finish200Raids 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, userId: ObjectId): Promise<boolean>;
54
- }
55
- //# sourceMappingURL=raid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"raid.d.ts","sourceRoot":"","sources":["../../src/quests/raid.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,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAwB;IAC5B,EAAE,SAAqB;IACvB,MAAM,4CAAmB;IACzB,WAAW,SAA4B;IACvC,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAA0B;IAC9B,EAAE,SAAqB;IACvB,MAAM,0CAAiB;IACvB,WAAW,SAA4B;IACvC,KAAK,SAAW;IAChB,EAAE,SAAU;IAEZ,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAA2B;IAC/B,EAAE,SAAqB;IACvB,MAAM,0CAAiB;IACvB,WAAW,SAA4B;IACvC,KAAK,SAAa;IAClB,EAAE,SAAU;IAEZ,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAI,SAA0B;IAC9B,EAAE,SAAsB;IACxB,MAAM,+CAAsB;IAC5B,WAAW,SAA6B;IACxC,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAI,SAAqB;IACzB,EAAE,SAAsB;IACxB,MAAM,4CAAmB;IACzB,WAAW,SAA6B;IACxC,KAAK,SAAc;IACnB,EAAE,SAAW;IAEb,OAAO,SAA2B;IAElC,OAAgB,YAAY,0CAE1B;IAEa,WAAW,CACxB,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,EAChD,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAKpB"}
@@ -1,80 +0,0 @@
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 Finish10Raids extends UserBaseQuest {
5
- name = 'Explorateur novice';
6
- id = 'finish_10_raids';
7
- rankId = RANKS.COMMON.id;
8
- description = 'Réussir 10 expéditions';
9
- berry = 50_000;
10
- xp = 5_000;
11
- static dependencies = [
12
- QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
13
- ];
14
- async isValidated({ userStatsEconomy }, userId) {
15
- const { raidFinishedCount } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
16
- return raidFinishedCount >= 10;
17
- }
18
- }
19
- export class Finish25Raids extends UserBaseQuest {
20
- name = 'Aventurier intrépide';
21
- id = 'finish_25_raids';
22
- rankId = RANKS.RARE.id;
23
- description = 'Réussir 25 expéditions';
24
- berry = 200_000;
25
- xp = 25_000;
26
- static dependencies = [
27
- QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
28
- ];
29
- async isValidated({ userStatsEconomy }, userId) {
30
- const { raidFinishedCount } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
31
- return raidFinishedCount >= 25;
32
- }
33
- }
34
- export class Finish50Raids extends UserBaseQuest {
35
- name = 'Conquérant des terres';
36
- id = 'finish_50_raids';
37
- rankId = RANKS.EPIC.id;
38
- description = 'Réussir 50 expéditions';
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 }, userId) {
45
- const { raidFinishedCount } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
46
- return raidFinishedCount >= 50;
47
- }
48
- }
49
- export class Finish100Raids extends UserBaseQuest {
50
- name = 'Pionnier des secrets';
51
- id = 'finish_100_raids';
52
- rankId = RANKS.LEGENDARY.id;
53
- description = 'Réussir 100 expéditions';
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 }, userId) {
60
- const { raidFinishedCount } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
61
- return raidFinishedCount >= 100;
62
- }
63
- }
64
- export class Finish200Raids extends UserBaseQuest {
65
- name = 'Légende vivante';
66
- id = 'finish_200_raids';
67
- rankId = RANKS.MYTHIC.id;
68
- description = 'Réussir 200 expéditions';
69
- berry = 50_000_000;
70
- xp = 250_000;
71
- titleId = 'title_Légende vivante';
72
- static dependencies = [
73
- QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_ECONOMY,
74
- ];
75
- async isValidated({ userStatsEconomy }, userId) {
76
- const { raidFinishedCount } = userStatsEconomy ?? (await userStatsEconomyService.get(userId));
77
- return raidFinishedCount >= 200;
78
- }
79
- }
80
- //# sourceMappingURL=raid.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"raid.js","sourceRoot":"","sources":["../../src/quests/raid.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import type { ObjectId } from '@opfr/services';
2
- import { UserBaseQuest } from '../class/userBaseQuest';
3
- import type { QuestValidationDocumentMap } from '../types';
4
- export declare class UserCrew10Percent extends UserBaseQuest {
5
- name: string;
6
- id: string;
7
- rankId: import("@opfr/definitions").RankId.LEGENDARY;
8
- description: string;
9
- berry: number;
10
- xp: number;
11
- secret: boolean;
12
- titleId: string;
13
- badge: import("@opfr/definitions").Badge;
14
- static dependencies: "middleware/quest/USER_STATS_CREW"[];
15
- isValidated({ userStatsCrew }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
16
- }
17
- export declare class UserCrew90Percent extends UserBaseQuest {
18
- name: string;
19
- id: string;
20
- rankId: import("@opfr/definitions").RankId.LEGENDARY;
21
- description: string;
22
- berry: number;
23
- xp: number;
24
- secret: boolean;
25
- titleId: string;
26
- badge: import("@opfr/definitions").Badge;
27
- static dependencies: "middleware/quest/USER_STATS_CREW"[];
28
- isValidated({ userStatsCrew }: QuestValidationDocumentMap, userId: ObjectId): Promise<boolean>;
29
- }
30
- //# sourceMappingURL=userCrew.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userCrew.d.ts","sourceRoot":"","sources":["../../src/quests/userCrew.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,iBAAkB,SAAQ,aAAa;IAClD,IAAI,SAAgB;IACpB,EAAE,SAA0B;IAC5B,MAAM,+CAAsB;IAC5B,WAAW,SAAoD;IAC/D,KAAK,SAAa;IAClB,EAAE,SAAW;IACb,MAAM,UAAQ;IAEd,OAAO,SAAmB;IAC1B,KAAK,oCAAqB;IAE1B,OAAgB,YAAY,uCAAiD;IAEvE,WAAW,CACf,EAAE,aAAa,EAAE,EAAE,0BAA0B,EAC7C,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAMpB;AAED,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,IAAI,SAA2B;IAC/B,EAAE,SAA0B;IAC5B,MAAM,+CAAsB;IAC5B,WAAW,SAAoD;IAC/D,KAAK,SAAa;IAClB,EAAE,SAAW;IACb,MAAM,UAAQ;IAEd,OAAO,SAAoB;IAC3B,KAAK,oCAAsB;IAE3B,OAAgB,YAAY,uCAAiD;IAEvE,WAAW,CACf,EAAE,aAAa,EAAE,EAAE,0BAA0B,EAC7C,MAAM,EAAE,QAAQ,GACf,OAAO,CAAC,OAAO,CAAC;CAMpB"}
@@ -1,36 +0,0 @@
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 UserCrew10Percent extends UserBaseQuest {
5
- name = 'Egoïste...';
6
- id = 'user_crew_10_percent';
7
- rankId = RANKS.LEGENDARY.id;
8
- description = "Être à 10% d'XP pour l'équipage pendant 3 mois";
9
- berry = 1_000_000;
10
- xp = 100_000;
11
- secret = true;
12
- titleId = 'title_Egoïste';
13
- badge = BadgeList.selfish;
14
- static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_CREW];
15
- async isValidated({ userStatsCrew }, userId) {
16
- const { timeCrewBeyond10PercentXp } = userStatsCrew ?? (await userStatsCrewService.get(userId));
17
- return timeCrewBeyond10PercentXp >= 90;
18
- }
19
- }
20
- export class UserCrew90Percent extends UserBaseQuest {
21
- name = 'Merci bien camarade !';
22
- id = 'user_crew_90_percent';
23
- rankId = RANKS.LEGENDARY.id;
24
- description = "Être à 90% d'XP pour l'équipage pendant 3 mois";
25
- berry = 1_000_000;
26
- xp = 100_000;
27
- secret = true;
28
- titleId = 'title_Camarade';
29
- badge = BadgeList.camarade;
30
- static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_CREW];
31
- async isValidated({ userStatsCrew }, userId) {
32
- const { timeCrewAbove90PercentXp } = userStatsCrew ?? (await userStatsCrewService.get(userId));
33
- return timeCrewAbove90PercentXp >= 90;
34
- }
35
- }
36
- //# sourceMappingURL=userCrew.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"userCrew.js","sourceRoot":"","sources":["../../src/quests/userCrew.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,IAAI,GAAG,YAAY,CAAC;IACpB,EAAE,GAAG,sBAAsB,CAAC;IAC5B,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC5B,WAAW,GAAG,gDAAgD,CAAC;IAC/D,KAAK,GAAG,SAAS,CAAC;IAClB,EAAE,GAAG,OAAO,CAAC;IACb,MAAM,GAAG,IAAI,CAAC;IAEd,OAAO,GAAG,eAAe,CAAC;IAC1B,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;IAE1B,MAAM,CAAU,YAAY,GAAG,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAE7E,KAAK,CAAC,WAAW,CACf,EAAE,aAAa,EAA8B,EAC7C,MAAgB;QAEhB,MAAM,EAAE,yBAAyB,EAAE,GACjC,aAAa,IAAI,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5D,OAAO,yBAAyB,IAAI,EAAE,CAAC;IACzC,CAAC;;AAGH,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,IAAI,GAAG,uBAAuB,CAAC;IAC/B,EAAE,GAAG,sBAAsB,CAAC;IAC5B,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC5B,WAAW,GAAG,gDAAgD,CAAC;IAC/D,KAAK,GAAG,SAAS,CAAC;IAClB,EAAE,GAAG,OAAO,CAAC;IACb,MAAM,GAAG,IAAI,CAAC;IAEd,OAAO,GAAG,gBAAgB,CAAC;IAC3B,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC;IAE3B,MAAM,CAAU,YAAY,GAAG,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC;IAE7E,KAAK,CAAC,WAAW,CACf,EAAE,aAAa,EAA8B,EAC7C,MAAgB;QAEhB,MAAM,EAAE,wBAAwB,EAAE,GAChC,aAAa,IAAI,CAAC,MAAM,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAE5D,OAAO,wBAAwB,IAAI,EAAE,CAAC;IACxC,CAAC"}
@@ -1,60 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,75 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"userXpToCrew.js","sourceRoot":"","sources":["../../src/quests/userXpToCrew.ts"],"names":[],"mappings":"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"}