@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,245 @@
|
|
|
1
|
+
import { BadgeList, RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userStatsInventoryService, } from '@opfr/services';
|
|
3
|
+
import { UserBaseQuest } from '../class/userBaseQuest';
|
|
4
|
+
export class Craft20Times extends UserBaseQuest {
|
|
5
|
+
name = 'Ils font mieux chez Ikea';
|
|
6
|
+
id = 'craft_20_times';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = 'Effectuer 20 crafts';
|
|
9
|
+
berry = 50_000;
|
|
10
|
+
xp = 5_000;
|
|
11
|
+
badge = BadgeList.craft;
|
|
12
|
+
static dependencies = [
|
|
13
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
14
|
+
];
|
|
15
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
16
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
17
|
+
return crafts.totalCrafted >= 20;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class Craft50Times extends UserBaseQuest {
|
|
21
|
+
name = 'Te fais pas mal avec le marteau';
|
|
22
|
+
id = 'craft_50_times';
|
|
23
|
+
rankId = RANKS.RARE.id;
|
|
24
|
+
description = 'Effectuer 50 crafts';
|
|
25
|
+
berry = 200_000;
|
|
26
|
+
xp = 25_000;
|
|
27
|
+
badge = BadgeList.craft;
|
|
28
|
+
static dependencies = [
|
|
29
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
30
|
+
];
|
|
31
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
32
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
33
|
+
return crafts.totalCrafted >= 50;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export class Craft200Times extends UserBaseQuest {
|
|
37
|
+
name = 'Insensible aux échardes on dirait';
|
|
38
|
+
id = 'craft_200_times';
|
|
39
|
+
rankId = RANKS.EPIC.id;
|
|
40
|
+
description = 'Effectuer 200 crafts';
|
|
41
|
+
berry = 1_000_000;
|
|
42
|
+
xp = 50_000;
|
|
43
|
+
badge = BadgeList.craft;
|
|
44
|
+
static dependencies = [
|
|
45
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
46
|
+
];
|
|
47
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
48
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
49
|
+
return crafts.totalCrafted >= 200;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export class Craft500Times extends UserBaseQuest {
|
|
53
|
+
name = "Je ne veux pas voir l'état de ton atelier";
|
|
54
|
+
id = 'craft_500_times';
|
|
55
|
+
rankId = RANKS.LEGENDARY.id;
|
|
56
|
+
description = 'Effectuer 500 crafts';
|
|
57
|
+
berry = 10_00_000;
|
|
58
|
+
xp = 100_000;
|
|
59
|
+
badge = BadgeList.craft;
|
|
60
|
+
static dependencies = [
|
|
61
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
62
|
+
];
|
|
63
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
64
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
65
|
+
return crafts.totalCrafted >= 500;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export class Craft1000Times extends UserBaseQuest {
|
|
69
|
+
name = 'Mac Gyver';
|
|
70
|
+
id = 'craft_1000_times';
|
|
71
|
+
rankId = RANKS.MYTHIC.id;
|
|
72
|
+
description = 'Effectuer 1000 crafts';
|
|
73
|
+
berry = 50_000_000;
|
|
74
|
+
xp = 250_000;
|
|
75
|
+
titleId = 'title_Mac Gyver';
|
|
76
|
+
badge = BadgeList.craft;
|
|
77
|
+
static dependencies = [
|
|
78
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
79
|
+
];
|
|
80
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
81
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
82
|
+
return crafts.totalCrafted >= 1000;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export class Craft10CookedMeals extends UserBaseQuest {
|
|
86
|
+
name = 'Apprenti Gourmand';
|
|
87
|
+
id = 'craft_10_cooked_meals';
|
|
88
|
+
rankId = RANKS.COMMON.id;
|
|
89
|
+
description = 'Cuisiner 10 plats';
|
|
90
|
+
berry = 500_000;
|
|
91
|
+
xp = 20_000;
|
|
92
|
+
titleId = 'title_Apprenti Gourmand';
|
|
93
|
+
static dependencies = [
|
|
94
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
95
|
+
];
|
|
96
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
97
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
98
|
+
return crafts.cookedMeal >= 10;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
export class Craft50CookedMeals extends UserBaseQuest {
|
|
102
|
+
name = 'Chef Amateur';
|
|
103
|
+
id = 'craft_50_cooked_meals';
|
|
104
|
+
rankId = RANKS.RARE.id;
|
|
105
|
+
description = 'Cuisiner 50 plats';
|
|
106
|
+
berry = 2_00_000;
|
|
107
|
+
xp = 50_000;
|
|
108
|
+
titleId = 'title_Chef Amateur';
|
|
109
|
+
static dependencies = [
|
|
110
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
111
|
+
];
|
|
112
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
113
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
114
|
+
return crafts.cookedMeal >= 50;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
export class Craft100CookedMeals extends UserBaseQuest {
|
|
118
|
+
name = 'Maître des Saveurs';
|
|
119
|
+
id = 'craft_100_cooked_meals';
|
|
120
|
+
rankId = RANKS.EPIC.id;
|
|
121
|
+
description = 'Cuisiner 100 plats';
|
|
122
|
+
berry = 10_000_000;
|
|
123
|
+
xp = 100_000;
|
|
124
|
+
titleId = 'title_Maître des Saveurs';
|
|
125
|
+
static dependencies = [
|
|
126
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
127
|
+
];
|
|
128
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
129
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
130
|
+
return crafts.cookedMeal >= 100;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export class Craft250CookedMeals extends UserBaseQuest {
|
|
134
|
+
name = 'Artiste Culinaire';
|
|
135
|
+
id = 'craft_250_cooked_meals';
|
|
136
|
+
rankId = RANKS.LEGENDARY.id;
|
|
137
|
+
description = 'Cuisiner 250 plats';
|
|
138
|
+
berry = 50_000_000;
|
|
139
|
+
xp = 200_000;
|
|
140
|
+
titleId = 'title_Artiste Culinaire';
|
|
141
|
+
static dependencies = [
|
|
142
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
143
|
+
];
|
|
144
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
145
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
146
|
+
return crafts.cookedMeal >= 250;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
export class Craft500CookedMeals extends UserBaseQuest {
|
|
150
|
+
name = 'Sultan des Épices';
|
|
151
|
+
id = 'craft_500_cooked_meals';
|
|
152
|
+
rankId = RANKS.MYTHIC.id;
|
|
153
|
+
description = 'Cuisiner 500 plats';
|
|
154
|
+
berry = 100_000_000;
|
|
155
|
+
xp = 500_000;
|
|
156
|
+
titleId = 'title_Sultan des Épices';
|
|
157
|
+
static dependencies = [
|
|
158
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
159
|
+
];
|
|
160
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
161
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
162
|
+
return crafts.cookedMeal >= 500;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
export class Craft5Scrolls extends UserBaseQuest {
|
|
166
|
+
name = "C'est une bonne situation ça scribe ?";
|
|
167
|
+
id = 'craft_5_scrolls';
|
|
168
|
+
rankId = RANKS.COMMON.id;
|
|
169
|
+
description = 'Craft 5 Parchemins';
|
|
170
|
+
berry = 500_000;
|
|
171
|
+
xp = 20_000;
|
|
172
|
+
titleId = 'title_Apprenti Scribe';
|
|
173
|
+
static dependencies = [
|
|
174
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
175
|
+
];
|
|
176
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
177
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
178
|
+
return crafts.scrolls >= 5;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
export class Craft10Scrolls extends UserBaseQuest {
|
|
182
|
+
name = 'Artisan des Runes';
|
|
183
|
+
id = 'craft_10_scrolls';
|
|
184
|
+
rankId = RANKS.RARE.id;
|
|
185
|
+
description = 'Craft 10 Parchemins';
|
|
186
|
+
berry = 2_000_000;
|
|
187
|
+
xp = 50_000;
|
|
188
|
+
titleId = 'title_Artisan des Runes';
|
|
189
|
+
static dependencies = [
|
|
190
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
191
|
+
];
|
|
192
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
193
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
194
|
+
return crafts.scrolls >= 10;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
export class Craft20Scrolls extends UserBaseQuest {
|
|
198
|
+
name = 'Collectionneur des Manuscrits';
|
|
199
|
+
id = 'craft_20_scrolls';
|
|
200
|
+
rankId = RANKS.EPIC.id;
|
|
201
|
+
description = 'Craft 20 Parchemins';
|
|
202
|
+
berry = 10_000_000;
|
|
203
|
+
xp = 100_000;
|
|
204
|
+
titleId = 'title_Collectionneur de Manuscrits';
|
|
205
|
+
static dependencies = [
|
|
206
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
207
|
+
];
|
|
208
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
209
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
210
|
+
return crafts.scrolls >= 20;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
export class Craft50Scrolls extends UserBaseQuest {
|
|
214
|
+
name = 'Maître des Enluminures';
|
|
215
|
+
id = 'craft_50_scrolls';
|
|
216
|
+
rankId = RANKS.LEGENDARY.id;
|
|
217
|
+
description = 'Craft 50 Parchemins';
|
|
218
|
+
berry = 50_000_000;
|
|
219
|
+
xp = 200_000;
|
|
220
|
+
titleId = 'title_Maître des Enluminures';
|
|
221
|
+
static dependencies = [
|
|
222
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
223
|
+
];
|
|
224
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
225
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
226
|
+
return crafts.scrolls >= 50;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
export class Craft100Scrolls extends UserBaseQuest {
|
|
230
|
+
name = 'Protecteur du Savoir';
|
|
231
|
+
id = 'craft_100_scrolls';
|
|
232
|
+
rankId = RANKS.MYTHIC.id;
|
|
233
|
+
description = 'Craft 100 Parchemins';
|
|
234
|
+
berry = 100_000_000;
|
|
235
|
+
xp = 500_000;
|
|
236
|
+
titleId = 'title_Protecteur du Savoir';
|
|
237
|
+
static dependencies = [
|
|
238
|
+
QUEST_MIDDLEWARE_EVENT_NAME.USER_STATS_INVENTORY,
|
|
239
|
+
];
|
|
240
|
+
async isValidated({ userStatsInventory }, userId) {
|
|
241
|
+
const { crafts } = userStatsInventory ?? (await userStatsInventoryService.get(userId));
|
|
242
|
+
return crafts.scrolls >= 100;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=craft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"craft.js","sourceRoot":"","sources":["../../src/quests/craft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type ObjectId } from '@opfr/services';
|
|
2
|
+
import { CrewBaseQuest } from '../class/crewBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class CrewCarpenter1Week 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
|
+
secret: boolean;
|
|
13
|
+
badge: import("@opfr/definitions").Badge;
|
|
14
|
+
static crewDependencies: "middleware/quest/CREW_STATS_FREQUENCY"[];
|
|
15
|
+
isValidated({ crewStatsFrequency }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
16
|
+
}
|
|
17
|
+
export declare class CrewCarpenter1Month extends CrewBaseQuest {
|
|
18
|
+
name: string;
|
|
19
|
+
id: string;
|
|
20
|
+
rankId: import("@opfr/definitions").RankId.RARE;
|
|
21
|
+
description: string;
|
|
22
|
+
berry: number;
|
|
23
|
+
xp: number;
|
|
24
|
+
crew: true;
|
|
25
|
+
secret: boolean;
|
|
26
|
+
badge: import("@opfr/definitions").Badge;
|
|
27
|
+
static crewDependencies: "middleware/quest/CREW_STATS_FREQUENCY"[];
|
|
28
|
+
isValidated({ crewStatsFrequency }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
29
|
+
}
|
|
30
|
+
export declare class CrewCarpenter3Months extends CrewBaseQuest {
|
|
31
|
+
name: string;
|
|
32
|
+
id: string;
|
|
33
|
+
rankId: import("@opfr/definitions").RankId.EPIC;
|
|
34
|
+
description: string;
|
|
35
|
+
berry: number;
|
|
36
|
+
xp: number;
|
|
37
|
+
crew: true;
|
|
38
|
+
secret: boolean;
|
|
39
|
+
badge: import("@opfr/definitions").Badge;
|
|
40
|
+
static crewDependencies: "middleware/quest/CREW_STATS_FREQUENCY"[];
|
|
41
|
+
isValidated({ crewStatsFrequency }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
42
|
+
}
|
|
43
|
+
export declare class CrewCarpenter6Months extends CrewBaseQuest {
|
|
44
|
+
name: string;
|
|
45
|
+
id: string;
|
|
46
|
+
rankId: import("@opfr/definitions").RankId.LEGENDARY;
|
|
47
|
+
description: string;
|
|
48
|
+
berry: number;
|
|
49
|
+
xp: number;
|
|
50
|
+
crew: true;
|
|
51
|
+
secret: boolean;
|
|
52
|
+
badge: import("@opfr/definitions").Badge;
|
|
53
|
+
static crewDependencies: "middleware/quest/CREW_STATS_FREQUENCY"[];
|
|
54
|
+
isValidated({ crewStatsFrequency }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
55
|
+
}
|
|
56
|
+
export declare class CrewCarpenter1Year extends CrewBaseQuest {
|
|
57
|
+
name: string;
|
|
58
|
+
id: string;
|
|
59
|
+
rankId: import("@opfr/definitions").RankId.MYTHIC;
|
|
60
|
+
description: string;
|
|
61
|
+
berry: number;
|
|
62
|
+
xp: number;
|
|
63
|
+
crew: true;
|
|
64
|
+
secret: boolean;
|
|
65
|
+
titleId: string;
|
|
66
|
+
badge: import("@opfr/definitions").Badge;
|
|
67
|
+
static crewDependencies: "middleware/quest/CREW_STATS_FREQUENCY"[];
|
|
68
|
+
isValidated({ crewStatsFrequency }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=crewCarpenter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewCarpenter.d.ts","sourceRoot":"","sources":["../../src/quests/crewCarpenter.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,kBAAmB,SAAQ,aAAa;IACnD,IAAI,SAAoB;IACxB,EAAE,SAA2B;IAC7B,MAAM,4CAAmB;IACzB,WAAW,SAAgE;IAC3E,KAAK,SAAU;IACf,EAAE,SAAS;IACX,IAAI,EAAG,IAAI,CAAU;IACrB,MAAM,UAAQ;IAEd,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,4CAE9B;IAEI,WAAW,CACf,EAAE,kBAAkB,EAAE,EAAE,0BAA0B,EAClD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,IAAI,SAAyB;IAC7B,EAAE,SAA4B;IAC9B,MAAM,0CAAiB;IACvB,WAAW,SAA6D;IACxE,KAAK,SAAW;IAChB,EAAE,SAAU;IACZ,IAAI,EAAG,IAAI,CAAU;IACrB,MAAM,UAAQ;IAEd,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,4CAE9B;IAEI,WAAW,CACf,EAAE,kBAAkB,EAAE,EAAE,0BAA0B,EAClD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,IAAI,SAA2D;IAC/D,EAAE,SAA6B;IAC/B,MAAM,0CAAiB;IACvB,WAAW,SAA6D;IACxE,KAAK,SAAa;IAClB,EAAE,SAAU;IACZ,IAAI,EAAG,IAAI,CAAU;IACrB,MAAM,UAAQ;IAEd,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,4CAE9B;IAEI,WAAW,CACf,EAAE,kBAAkB,EAAE,EAAE,0BAA0B,EAClD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,IAAI,SAAwC;IAC5C,EAAE,SAA6B;IAC/B,MAAM,+CAAsB;IAC5B,WAAW,SAA6D;IACxE,KAAK,SAAc;IACnB,EAAE,SAAW;IACb,IAAI,EAAG,IAAI,CAAU;IACrB,MAAM,UAAQ;IAEd,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,4CAE9B;IAEI,WAAW,CACf,EAAE,kBAAkB,EAAE,EAAE,0BAA0B,EAClD,MAAM,EAAE,QAAQ;CAMnB;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,IAAI,SAAmD;IACvD,EAAE,SAA2B;IAC7B,MAAM,4CAAmB;IACzB,WAAW,SAA2D;IACtE,KAAK,SAAc;IACnB,EAAE,SAAW;IACb,IAAI,EAAG,IAAI,CAAU;IACrB,MAAM,UAAQ;IAEd,OAAO,SAAkC;IACzC,KAAK,oCAAuB;IAE5B,OAAgB,gBAAgB,4CAE9B;IAEI,WAAW,CACf,EAAE,kBAAkB,EAAE,EAAE,0BAA0B,EAClD,MAAM,EAAE,QAAQ;CAMnB"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { BadgeList, RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, crewStatsFrequencyService, } from '@opfr/services';
|
|
3
|
+
import { CrewBaseQuest } from '../class/crewBaseQuest';
|
|
4
|
+
export class CrewCarpenter1Week extends CrewBaseQuest {
|
|
5
|
+
name = 'Prenez-en soin';
|
|
6
|
+
id = 'crew_carpenter_1_week';
|
|
7
|
+
rankId = RANKS.COMMON.id;
|
|
8
|
+
description = 'Rester au dessus de 80% de détérioration pendant 1 semaine';
|
|
9
|
+
berry = 50_000;
|
|
10
|
+
xp = 5_000;
|
|
11
|
+
crew = true;
|
|
12
|
+
secret = true;
|
|
13
|
+
badge = BadgeList.carpenter;
|
|
14
|
+
static crewDependencies = [
|
|
15
|
+
QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_FREQUENCY,
|
|
16
|
+
];
|
|
17
|
+
async isValidated({ crewStatsFrequency }, crewId) {
|
|
18
|
+
const { streak80Percent } = crewStatsFrequency ?? (await crewStatsFrequencyService.get(crewId));
|
|
19
|
+
return streak80Percent >= 7;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class CrewCarpenter1Month extends CrewBaseQuest {
|
|
23
|
+
name = 'Il est comme neuf !';
|
|
24
|
+
id = 'crew_carpenter_1_month';
|
|
25
|
+
rankId = RANKS.RARE.id;
|
|
26
|
+
description = 'Rester au dessus de 80% de détérioration pendant 1 mois';
|
|
27
|
+
berry = 200_000;
|
|
28
|
+
xp = 25_000;
|
|
29
|
+
crew = true;
|
|
30
|
+
secret = true;
|
|
31
|
+
badge = BadgeList.carpenter;
|
|
32
|
+
static crewDependencies = [
|
|
33
|
+
QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_FREQUENCY,
|
|
34
|
+
];
|
|
35
|
+
async isValidated({ crewStatsFrequency }, crewId) {
|
|
36
|
+
const { streak80Percent } = crewStatsFrequency ?? (await crewStatsFrequencyService.get(crewId));
|
|
37
|
+
return streak80Percent >= 30;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class CrewCarpenter3Months extends CrewBaseQuest {
|
|
41
|
+
name = "À l'occasion, je vous mettrai un petit coup de polish";
|
|
42
|
+
id = 'crew_carpenter_3_months';
|
|
43
|
+
rankId = RANKS.EPIC.id;
|
|
44
|
+
description = 'Rester au dessus de 80% de détérioration pendant 3 mois';
|
|
45
|
+
berry = 1_000_000;
|
|
46
|
+
xp = 50_000;
|
|
47
|
+
crew = true;
|
|
48
|
+
secret = true;
|
|
49
|
+
badge = BadgeList.carpenter;
|
|
50
|
+
static crewDependencies = [
|
|
51
|
+
QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_FREQUENCY,
|
|
52
|
+
];
|
|
53
|
+
async isValidated({ crewStatsFrequency }, crewId) {
|
|
54
|
+
const { streak80Percent } = crewStatsFrequency ?? (await crewStatsFrequencyService.get(crewId));
|
|
55
|
+
return streak80Percent >= 90;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export class CrewCarpenter6Months extends CrewBaseQuest {
|
|
59
|
+
name = "Vous ne naviguez qu'en eau calme ?";
|
|
60
|
+
id = 'crew_carpenter_6_months';
|
|
61
|
+
rankId = RANKS.LEGENDARY.id;
|
|
62
|
+
description = 'Rester au dessus de 80% de détérioration pendant 6 mois';
|
|
63
|
+
berry = 10_000_000;
|
|
64
|
+
xp = 100_000;
|
|
65
|
+
crew = true;
|
|
66
|
+
secret = true;
|
|
67
|
+
badge = BadgeList.carpenter;
|
|
68
|
+
static crewDependencies = [
|
|
69
|
+
QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_FREQUENCY,
|
|
70
|
+
];
|
|
71
|
+
async isValidated({ crewStatsFrequency }, crewId) {
|
|
72
|
+
const { streak80Percent } = crewStatsFrequency ?? (await crewStatsFrequencyService.get(crewId));
|
|
73
|
+
return streak80Percent >= 6 * 30;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export class CrewCarpenter1Year extends CrewBaseQuest {
|
|
77
|
+
name = "C'est un sacré charpentier que vous avez là !";
|
|
78
|
+
id = 'crew_carpenter_1_year';
|
|
79
|
+
rankId = RANKS.MYTHIC.id;
|
|
80
|
+
description = 'Rester au dessus de 80% de détérioration pendant 1 an';
|
|
81
|
+
berry = 50_000_000;
|
|
82
|
+
xp = 250_000;
|
|
83
|
+
crew = true;
|
|
84
|
+
secret = true;
|
|
85
|
+
titleId = 'title_Charpentier Légendaire';
|
|
86
|
+
badge = BadgeList.carpenter;
|
|
87
|
+
static crewDependencies = [
|
|
88
|
+
QUEST_MIDDLEWARE_EVENT_NAME.CREW_STATS_FREQUENCY,
|
|
89
|
+
];
|
|
90
|
+
async isValidated({ crewStatsFrequency }, crewId) {
|
|
91
|
+
const { streak80Percent } = crewStatsFrequency ?? (await crewStatsFrequencyService.get(crewId));
|
|
92
|
+
return streak80Percent >= 365;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=crewCarpenter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewCarpenter.js","sourceRoot":"","sources":["../../src/quests/crewCarpenter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ObjectId } from '@opfr/services';
|
|
2
|
+
import { CrewBaseQuest } from '../class/crewBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class CrewValidateDaily 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
|
+
daily: boolean;
|
|
13
|
+
isValidated(): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export declare class CrewAllMembersDaily extends CrewBaseQuest {
|
|
16
|
+
name: string;
|
|
17
|
+
id: string;
|
|
18
|
+
rankId: import("@opfr/definitions").RankId.RARE;
|
|
19
|
+
description: string;
|
|
20
|
+
berry: number;
|
|
21
|
+
xp: number;
|
|
22
|
+
crew: true;
|
|
23
|
+
daily: boolean;
|
|
24
|
+
static dependencies: "middleware/quest/USER_QUEST"[];
|
|
25
|
+
isValidated(_: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=crewDaily.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewDaily.d.ts","sourceRoot":"","sources":["../../src/quests/crewDaily.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;AAG3D,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,IAAI,SAAuB;IAC3B,EAAE,SAAsB;IACxB,MAAM,4CAAmB;IACzB,WAAW,SAAmD;IAC9D,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,IAAI,EAAG,IAAI,CAAU;IACrB,KAAK,UAAQ;IAEP,WAAW;CAGlB;AAED,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,IAAI,SAAkB;IACtB,EAAE,SAA4B;IAC9B,MAAM,0CAAiB;IACvB,WAAW,SAA2D;IACtE,KAAK,SAAU;IACf,EAAE,SAAS;IAEX,IAAI,EAAG,IAAI,CAAU;IACrB,KAAK,UAAQ;IAEb,OAAgB,YAAY,kCAA4C;IAElE,WAAW,CAAC,CAAC,EAAE,0BAA0B,EAAE,MAAM,EAAE,QAAQ;CAWlE"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, userCrewService, } from '@opfr/services';
|
|
3
|
+
import { CrewBaseQuest } from '../class/crewBaseQuest';
|
|
4
|
+
import { DailyAll } from './userDaily';
|
|
5
|
+
export class CrewValidateDaily extends CrewBaseQuest {
|
|
6
|
+
name = 'Prêt à naviguer !';
|
|
7
|
+
id = 'crew_daily_click';
|
|
8
|
+
rankId = RANKS.COMMON.id;
|
|
9
|
+
description = 'Faire acte de présence auprès de son équipage';
|
|
10
|
+
berry = 10_000;
|
|
11
|
+
xp = 1_000;
|
|
12
|
+
crew = true;
|
|
13
|
+
daily = true;
|
|
14
|
+
async isValidated() {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
export class CrewAllMembersDaily extends CrewBaseQuest {
|
|
19
|
+
name = 'Au rapport !';
|
|
20
|
+
id = 'crew_all_members_daily';
|
|
21
|
+
rankId = RANKS.RARE.id;
|
|
22
|
+
description = 'Tous les membres ont rempli leurs quêtes quotidiennes';
|
|
23
|
+
berry = 50_000;
|
|
24
|
+
xp = 5_000;
|
|
25
|
+
crew = true;
|
|
26
|
+
daily = true;
|
|
27
|
+
static dependencies = [QUEST_MIDDLEWARE_EVENT_NAME.USER_QUEST];
|
|
28
|
+
async isValidated(_, crewId) {
|
|
29
|
+
const allUserIds = await userCrewService.getAllUserIdsFromCrew(crewId);
|
|
30
|
+
const dailyAll = new DailyAll();
|
|
31
|
+
for (const userId of allUserIds) {
|
|
32
|
+
if (!(await dailyAll.isCompleted(userId))) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=crewDaily.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewDaily.js","sourceRoot":"","sources":["../../src/quests/crewDaily.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAEL,2BAA2B,EAC3B,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,IAAI,GAAG,mBAAmB,CAAC;IAC3B,EAAE,GAAG,kBAAkB,CAAC;IACxB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACzB,WAAW,GAAG,+CAA+C,CAAC;IAC9D,KAAK,GAAG,MAAM,CAAC;IACf,EAAE,GAAG,KAAK,CAAC;IAEX,IAAI,GAAG,IAAa,CAAC;IACrB,KAAK,GAAG,IAAI,CAAC;IAEb,KAAK,CAAC,WAAW;QACf,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,IAAI,GAAG,cAAc,CAAC;IACtB,EAAE,GAAG,wBAAwB,CAAC;IAC9B,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACvB,WAAW,GAAG,uDAAuD,CAAC;IACtE,KAAK,GAAG,MAAM,CAAC;IACf,EAAE,GAAG,KAAK,CAAC;IAEX,IAAI,GAAG,IAAa,CAAC;IACrB,KAAK,GAAG,IAAI,CAAC;IAEb,MAAM,CAAU,YAAY,GAAG,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAExE,KAAK,CAAC,WAAW,CAAC,CAA6B,EAAE,MAAgB;QAC/D,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAEhC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ObjectId } from '@opfr/services';
|
|
2
|
+
import { CrewBaseQuest } from '../class/crewBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class CrewBreakShip extends CrewBaseQuest {
|
|
5
|
+
name: string;
|
|
6
|
+
id: string;
|
|
7
|
+
rankId: import("@opfr/definitions").RankId.LEGENDARY;
|
|
8
|
+
description: string;
|
|
9
|
+
berry: number;
|
|
10
|
+
xp: number;
|
|
11
|
+
crew: true;
|
|
12
|
+
secret: boolean;
|
|
13
|
+
static crewDependencies: "middleware/quest/CREW"[];
|
|
14
|
+
isValidated({ crew }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=crewDisintegration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewDisintegration.d.ts","sourceRoot":"","sources":["../../src/quests/crewDisintegration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,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,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAwE;IAC5E,EAAE,SAAqB;IACvB,MAAM,+CAAsB;IAC5B,WAAW,SAA2D;IACtE,KAAK,SAAc;IACnB,EAAE,SAAY;IACd,IAAI,EAAG,IAAI,CAAU;IACrB,MAAM,UAAQ;IAEd,OAAgB,gBAAgB,4BAAsC;IAEhE,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,0BAA0B,EAAE,MAAM,EAAE,QAAQ;CAIzE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RANKS } from '@opfr/definitions';
|
|
2
|
+
import { QUEST_MIDDLEWARE_EVENT_NAME, crewService } from '@opfr/services';
|
|
3
|
+
import { CrewBaseQuest } from '../class/crewBaseQuest';
|
|
4
|
+
export class CrewBreakShip extends CrewBaseQuest {
|
|
5
|
+
name = 'Ah bah maintenant, elle va marcher beaucoup moins bien forcément !';
|
|
6
|
+
id = 'crew_break_ship';
|
|
7
|
+
rankId = RANKS.LEGENDARY.id;
|
|
8
|
+
description = 'Casser son bateau (atteindre les 0% de détérioration)';
|
|
9
|
+
berry = -1_000_000;
|
|
10
|
+
xp = -100_000;
|
|
11
|
+
crew = true;
|
|
12
|
+
secret = true;
|
|
13
|
+
static crewDependencies = [QUEST_MIDDLEWARE_EVENT_NAME.CREW];
|
|
14
|
+
async isValidated({ crew }, crewId) {
|
|
15
|
+
const crewDocument = crew ?? (await crewService.get(crewId));
|
|
16
|
+
return !!crewDocument && crewDocument.disintegration <= 0;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=crewDisintegration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewDisintegration.js","sourceRoot":"","sources":["../../src/quests/crewDisintegration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,IAAI,GAAG,oEAAoE,CAAC;IAC5E,EAAE,GAAG,iBAAiB,CAAC;IACvB,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAC5B,WAAW,GAAG,uDAAuD,CAAC;IACtE,KAAK,GAAG,CAAC,SAAS,CAAC;IACnB,EAAE,GAAG,CAAC,OAAO,CAAC;IACd,IAAI,GAAG,IAAa,CAAC;IACrB,MAAM,GAAG,IAAI,CAAC;IAEd,MAAM,CAAU,gBAAgB,GAAG,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAEtE,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,EAA8B,EAAE,MAAgB;QACtE,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,CAAC,YAAY,IAAI,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC;IAC5D,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type ObjectId } from '@opfr/services';
|
|
2
|
+
import { CrewBaseQuest } from '../class/crewBaseQuest';
|
|
3
|
+
import type { QuestValidationDocumentMap } from '../types';
|
|
4
|
+
export declare class CrewBeLevel10 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_META"[];
|
|
14
|
+
isValidated({ crewMeta }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
15
|
+
}
|
|
16
|
+
export declare class CrewBeLevel25 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_META"[];
|
|
26
|
+
isValidated({ crewMeta }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
27
|
+
}
|
|
28
|
+
export declare class CrewBeLevel50 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_META"[];
|
|
38
|
+
isValidated({ crewMeta }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
39
|
+
}
|
|
40
|
+
export declare class CrewBeLevel75 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_META"[];
|
|
50
|
+
isValidated({ crewMeta }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
51
|
+
}
|
|
52
|
+
export declare class CrewBeLevel100 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_META"[];
|
|
63
|
+
isValidated({ crewMeta }: QuestValidationDocumentMap, crewId: ObjectId): Promise<boolean>;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=crewLevel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crewLevel.d.ts","sourceRoot":"","sources":["../../src/quests/crewLevel.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,SAAwB;IAC1B,MAAM,4CAAmB;IACzB,WAAW,SAAuC;IAClD,KAAK,SAAU;IACf,EAAE,SAAS;IACX,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAsB;IAE3B,OAAgB,gBAAgB,iCAA2C;IAErE,WAAW,CACf,EAAE,QAAQ,EAAE,EAAE,0BAA0B,EACxC,MAAM,EAAE,QAAQ;CAKnB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAkB;IACtB,EAAE,SAAwB;IAC1B,MAAM,0CAAiB;IACvB,WAAW,SAAuC;IAClD,KAAK,SAAW;IAChB,EAAE,SAAU;IACZ,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAsB;IAE3B,OAAgB,gBAAgB,iCAA2C;IAErE,WAAW,CACf,EAAE,QAAQ,EAAE,EAAE,0BAA0B,EACxC,MAAM,EAAE,QAAQ;CAKnB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAAoC;IACxC,EAAE,SAAwB;IAC1B,MAAM,0CAAiB;IACvB,WAAW,SAAuC;IAClD,KAAK,SAAa;IAClB,EAAE,SAAU;IACZ,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAsB;IAE3B,OAAgB,gBAAgB,iCAA2C;IAErE,WAAW,CACf,EAAE,QAAQ,EAAE,EAAE,0BAA0B,EACxC,MAAM,EAAE,QAAQ;CAKnB;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,IAAI,SAA6B;IACjC,EAAE,SAAwB;IAC1B,MAAM,+CAAsB;IAC5B,WAAW,SAAuC;IAClD,KAAK,SAAc;IACnB,EAAE,SAAW;IACb,IAAI,EAAG,IAAI,CAAU;IAErB,KAAK,oCAAsB;IAE3B,OAAgB,gBAAgB,iCAA2C;IAErE,WAAW,CACf,EAAE,QAAQ,EAAE,EAAE,0BAA0B,EACxC,MAAM,EAAE,QAAQ;CAKnB;AAED,qBAAa,cAAe,SAAQ,aAAa;IAC/C,IAAI,SAAuB;IAC3B,EAAE,SAAyB;IAC3B,MAAM,4CAAmB;IACzB,WAAW,SAAwC;IACnD,KAAK,SAAc;IACnB,EAAE,SAAW;IACb,IAAI,EAAG,IAAI,CAAU;IAErB,OAAO,SAAoB;IAC3B,KAAK,oCAAsB;IAE3B,OAAgB,gBAAgB,iCAA2C;IAErE,WAAW,CACf,EAAE,QAAQ,EAAE,EAAE,0BAA0B,EACxC,MAAM,EAAE,QAAQ;CAOnB"}
|