@opfr/services 1.7.0 → 1.8.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/dist/index.es.js +196 -208
- package/dist/index.umd.js +1 -1
- package/dist/services/recipe/definition/schema.d.ts.map +1 -1
- package/dist/services/recipe/helper.d.ts +2 -4
- package/dist/services/recipe/helper.d.ts.map +1 -1
- package/dist/services/recipe/process/findOne.d.ts +1 -1
- package/dist/services/recipe/process/findOne.d.ts.map +1 -1
- package/dist/services/recipe/types.d.ts +7 -10
- package/dist/services/recipe/types.d.ts.map +1 -1
- package/dist/services/user-inventory/helper.d.ts +5 -8
- package/dist/services/user-inventory/helper.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/services/recipe/data.d.ts +0 -3
- package/dist/services/recipe/data.d.ts.map +0 -1
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema as c, models as d, model as l, connect as Qe, Types as Ye } from "mongoose";
|
|
2
|
-
import { QuestStatus as
|
|
2
|
+
import { QuestStatus as A, DEFAULT_FACTION as Ge, EFFECT_KEYS as We, EQUIPMENT_SLOT as Ie, CHARACTERISTICS as Ve, getComputedCharacteristicValue as Xe, getCurrentLevel as Je, HP_PER_VITALITY as Ze, DEFAULT_MAX_HP as et, transformToDBBuff as tt, RANK_IDS_WITHOUT_BASIC as ge, STORY_MESSAGE_ARGS as nt, STORY_ACTION_TYPES as rt, STORY_STEP_TYPES as at, STORY_SPEAKER_TYPES as st, chapterOne as oe, speakers as it } from "@opfr/definitions";
|
|
3
3
|
import ut from "node-cache";
|
|
4
4
|
import * as Ue from "events";
|
|
5
5
|
import { filterNullAndUndefined as L, recordToArray as B, arrayToRecord as Te, mergeObjects as Q, seededRandom as ct, sortBy as pe, randomBetween as Ee, hasExpire as de, isString as ot, capitalizeAllWords as dt, pickNthByOdds as Se, pickFrom as lt, sameDay as Oe, yesterday as Y, exclude as P } from "@opfr/utils-lang";
|
|
@@ -52,14 +52,14 @@ class f extends y {
|
|
|
52
52
|
}), r;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
const De = new Ue.EventEmitter(),
|
|
55
|
+
const De = new Ue.EventEmitter(), g = (n, e, t) => {
|
|
56
56
|
De.emit(n, e, t);
|
|
57
57
|
}, La = (n) => {
|
|
58
58
|
for (const [e, t] of Object.entries(n))
|
|
59
59
|
De.on(e, (r, a) => {
|
|
60
60
|
t(r, a);
|
|
61
61
|
});
|
|
62
|
-
},
|
|
62
|
+
}, S = {
|
|
63
63
|
USER: "middleware/quest/USER",
|
|
64
64
|
USER_INVENTORY: "middleware/quest/USER_INVENTORY",
|
|
65
65
|
USER_META: "middleware/quest/USER_META",
|
|
@@ -84,20 +84,20 @@ const De = new Ue.EventEmitter(), S = (n, e, t) => {
|
|
|
84
84
|
required: !0,
|
|
85
85
|
index: !0
|
|
86
86
|
},
|
|
87
|
-
status: { type: String, default:
|
|
87
|
+
status: { type: String, default: A.IN_PROGRESS, index: 1 },
|
|
88
88
|
lastCompletionDate: Date,
|
|
89
89
|
streak: Number
|
|
90
90
|
},
|
|
91
91
|
{ minimize: !1 }
|
|
92
92
|
);
|
|
93
93
|
ve.post("findOneAndUpdate", function(n) {
|
|
94
|
-
n &&
|
|
95
|
-
|
|
94
|
+
n && g(
|
|
95
|
+
S.USER_QUEST,
|
|
96
96
|
n.user._id,
|
|
97
97
|
n
|
|
98
98
|
);
|
|
99
99
|
});
|
|
100
|
-
const
|
|
100
|
+
const R = d?.UserQuest || l("UserQuest", ve), pt = new c({
|
|
101
101
|
user: {
|
|
102
102
|
type: c.Types.ObjectId,
|
|
103
103
|
required: !0,
|
|
@@ -173,15 +173,15 @@ const C = d?.UserQuest || l("UserQuest", ve), pt = new c({
|
|
|
173
173
|
{ minimize: !1 }
|
|
174
174
|
);
|
|
175
175
|
Me.post("findOneAndUpdate", function(n) {
|
|
176
|
-
n &&
|
|
177
|
-
|
|
176
|
+
n && g(
|
|
177
|
+
S.USER_INVENTORY,
|
|
178
178
|
n.user._id,
|
|
179
179
|
n
|
|
180
180
|
);
|
|
181
181
|
});
|
|
182
182
|
const Z = d?.UserInventory || l("UserInventory", Me), ht = new Ue.EventEmitter(), gt = (n, e) => {
|
|
183
183
|
ht.emit(n, e);
|
|
184
|
-
},
|
|
184
|
+
}, v = {
|
|
185
185
|
multiplier: { type: Number, default: 0 },
|
|
186
186
|
origin: String,
|
|
187
187
|
expireAt: { type: Date, default: null },
|
|
@@ -208,33 +208,33 @@ const Z = d?.UserInventory || l("UserInventory", Me), ht = new Ue.EventEmitter()
|
|
|
208
208
|
buffs: {
|
|
209
209
|
cooldown: {
|
|
210
210
|
casino: {
|
|
211
|
-
type: [
|
|
211
|
+
type: [v],
|
|
212
212
|
default: []
|
|
213
213
|
},
|
|
214
214
|
work: {
|
|
215
|
-
type: [
|
|
215
|
+
type: [v],
|
|
216
216
|
default: []
|
|
217
217
|
}
|
|
218
218
|
},
|
|
219
219
|
berry: {
|
|
220
220
|
work: {
|
|
221
|
-
type: [
|
|
221
|
+
type: [v],
|
|
222
222
|
default: []
|
|
223
223
|
},
|
|
224
224
|
global: {
|
|
225
|
-
type: [
|
|
225
|
+
type: [v],
|
|
226
226
|
default: []
|
|
227
227
|
}
|
|
228
228
|
},
|
|
229
229
|
drop: {
|
|
230
230
|
work: {
|
|
231
|
-
type: [
|
|
231
|
+
type: [v],
|
|
232
232
|
default: []
|
|
233
233
|
}
|
|
234
234
|
},
|
|
235
235
|
xp: {
|
|
236
236
|
global: {
|
|
237
|
-
type: [
|
|
237
|
+
type: [v],
|
|
238
238
|
default: []
|
|
239
239
|
}
|
|
240
240
|
}
|
|
@@ -261,13 +261,13 @@ const Z = d?.UserInventory || l("UserInventory", Me), ht = new Ue.EventEmitter()
|
|
|
261
261
|
}
|
|
262
262
|
});
|
|
263
263
|
xe.post("findOneAndUpdate", async function(n) {
|
|
264
|
-
n && (
|
|
265
|
-
|
|
264
|
+
n && (g(
|
|
265
|
+
S.USER_META,
|
|
266
266
|
n.user._id,
|
|
267
267
|
n
|
|
268
268
|
), n.hp <= 0 && gt("death", n.user._id));
|
|
269
269
|
});
|
|
270
|
-
const
|
|
270
|
+
const D = d?.UserMeta || l("UserMeta", xe), Ae = new c({
|
|
271
271
|
user: {
|
|
272
272
|
type: c.Types.ObjectId,
|
|
273
273
|
required: !0,
|
|
@@ -284,14 +284,14 @@ const v = d?.UserMeta || l("UserMeta", xe), qe = new c({
|
|
|
284
284
|
unlockedBags: { type: [String], default: ["default"] },
|
|
285
285
|
selectedBag: { type: String, default: "default" }
|
|
286
286
|
});
|
|
287
|
-
|
|
288
|
-
n &&
|
|
289
|
-
|
|
287
|
+
Ae.post("findOneAndUpdate", function(n) {
|
|
288
|
+
n && g(
|
|
289
|
+
S.USER_ORNAMENT,
|
|
290
290
|
n.user._id,
|
|
291
291
|
n
|
|
292
292
|
);
|
|
293
293
|
});
|
|
294
|
-
const ee = d?.UserOrnament || l("UserOrnament",
|
|
294
|
+
const ee = d?.UserOrnament || l("UserOrnament", Ae), St = new c({
|
|
295
295
|
user: {
|
|
296
296
|
type: c.Types.ObjectId,
|
|
297
297
|
required: !0,
|
|
@@ -310,7 +310,7 @@ const ee = d?.UserOrnament || l("UserOrnament", qe), St = new c({
|
|
|
310
310
|
default: /* @__PURE__ */ new Map()
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
-
}), F = d?.UserSettings || l("UserSettings", St),
|
|
313
|
+
}), F = d?.UserSettings || l("UserSettings", St), qe = new c({
|
|
314
314
|
user: {
|
|
315
315
|
type: c.Types.ObjectId,
|
|
316
316
|
required: !0,
|
|
@@ -345,14 +345,14 @@ const ee = d?.UserOrnament || l("UserOrnament", qe), St = new c({
|
|
|
345
345
|
guessInOneTryCount: { type: Number, default: 0 }
|
|
346
346
|
}
|
|
347
347
|
});
|
|
348
|
-
|
|
349
|
-
n &&
|
|
350
|
-
|
|
348
|
+
qe.post("findOneAndUpdate", function(n) {
|
|
349
|
+
n && g(
|
|
350
|
+
S.USER_STATS_CASINO,
|
|
351
351
|
n.user._id,
|
|
352
352
|
n
|
|
353
353
|
);
|
|
354
354
|
});
|
|
355
|
-
const
|
|
355
|
+
const q = d?.UserStatsCasino || l("UserStatsCasino", qe), ke = new c({
|
|
356
356
|
user: {
|
|
357
357
|
type: c.Types.ObjectId,
|
|
358
358
|
required: !0,
|
|
@@ -363,8 +363,8 @@ const A = d?.UserStatsCasino || l("UserStatsCasino", Ae), ke = new c({
|
|
|
363
363
|
totalSpentInShop: { type: Number, default: 0 }
|
|
364
364
|
});
|
|
365
365
|
ke.post("findOneAndUpdate", function(n) {
|
|
366
|
-
n &&
|
|
367
|
-
|
|
366
|
+
n && g(
|
|
367
|
+
S.USER_STATS_ECONOMY,
|
|
368
368
|
n.user._id,
|
|
369
369
|
n
|
|
370
370
|
);
|
|
@@ -382,8 +382,8 @@ const te = d?.UserStatsEconomy || l("UserStatsEconomy", ke), Re = new c({
|
|
|
382
382
|
writeDifferentChatIds: { type: [String], default: [] }
|
|
383
383
|
});
|
|
384
384
|
Re.post("findOneAndUpdate", function(n) {
|
|
385
|
-
n &&
|
|
386
|
-
|
|
385
|
+
n && g(
|
|
386
|
+
S.USER_STATS_ENGAGEMENT,
|
|
387
387
|
n.user._id,
|
|
388
388
|
n
|
|
389
389
|
);
|
|
@@ -411,13 +411,13 @@ const ne = d?.UserStatsEngagement || l(
|
|
|
411
411
|
}
|
|
412
412
|
});
|
|
413
413
|
Ce.post("findOneAndUpdate", function(n) {
|
|
414
|
-
n &&
|
|
415
|
-
|
|
414
|
+
n && g(
|
|
415
|
+
S.USER_STATS_FLAGS,
|
|
416
416
|
n.user._id,
|
|
417
417
|
n
|
|
418
418
|
);
|
|
419
419
|
});
|
|
420
|
-
const re = d?.UserStatsFlags || l("UserStatsFlags", Ce),
|
|
420
|
+
const re = d?.UserStatsFlags || l("UserStatsFlags", Ce), Be = new c({
|
|
421
421
|
user: {
|
|
422
422
|
type: c.Types.ObjectId,
|
|
423
423
|
required: !0,
|
|
@@ -429,17 +429,17 @@ const re = d?.UserStatsFlags || l("UserStatsFlags", Ce), _e = new c({
|
|
|
429
429
|
lastTimeRead: { type: Date, default: /* @__PURE__ */ new Date(), index: !0 }
|
|
430
430
|
}
|
|
431
431
|
});
|
|
432
|
-
|
|
433
|
-
n &&
|
|
434
|
-
|
|
432
|
+
Be.post("findOneAndUpdate", function(n) {
|
|
433
|
+
n && g(
|
|
434
|
+
S.USER_STATS_FREQUENCY,
|
|
435
435
|
n.user._id,
|
|
436
436
|
n
|
|
437
437
|
);
|
|
438
438
|
});
|
|
439
|
-
const
|
|
439
|
+
const O = d?.UserStatsFrequency || l(
|
|
440
440
|
"UserStatsFrequency",
|
|
441
|
-
|
|
442
|
-
),
|
|
441
|
+
Be
|
|
442
|
+
), _e = new c({
|
|
443
443
|
user: {
|
|
444
444
|
type: c.Types.ObjectId,
|
|
445
445
|
required: !0,
|
|
@@ -466,16 +466,16 @@ const D = d?.UserStatsFrequency || l(
|
|
|
466
466
|
totalCrafted: { type: Number, default: 0 }
|
|
467
467
|
}
|
|
468
468
|
});
|
|
469
|
-
|
|
470
|
-
n &&
|
|
471
|
-
|
|
469
|
+
_e.post("findOneAndUpdate", function(n) {
|
|
470
|
+
n && g(
|
|
471
|
+
S.USER_STATS_INVENTORY,
|
|
472
472
|
n.user._id,
|
|
473
473
|
n
|
|
474
474
|
);
|
|
475
475
|
});
|
|
476
476
|
const k = d?.UserStatsInventory || l(
|
|
477
477
|
"UserStatsInventory",
|
|
478
|
-
|
|
478
|
+
_e
|
|
479
479
|
), ye = new c({
|
|
480
480
|
discordId: { type: String, required: !0, unique: !0 },
|
|
481
481
|
scam: { type: Boolean, default: !1 },
|
|
@@ -485,20 +485,20 @@ const k = d?.UserStatsInventory || l(
|
|
|
485
485
|
canChooseFaction: { type: Boolean, default: !1 }
|
|
486
486
|
});
|
|
487
487
|
ye.post("findOneAndUpdate", function(n) {
|
|
488
|
-
n && S
|
|
488
|
+
n && g(S.USER, n._id, n);
|
|
489
489
|
});
|
|
490
490
|
ye.post("deleteOne", async function() {
|
|
491
491
|
const n = this.getQuery()._id;
|
|
492
|
-
await W.deleteOne({ user: n }), await V.deleteOne({ user: n }), await X.deleteOne({ user: n }), await J.deleteOne({ user: n }), await Z.deleteOne({ user: n }), await
|
|
492
|
+
await W.deleteOne({ user: n }), await V.deleteOne({ user: n }), await X.deleteOne({ user: n }), await J.deleteOne({ user: n }), await Z.deleteOne({ user: n }), await D.deleteOne({ user: n }), await ee.deleteOne({ user: n }), await R.deleteMany({ user: n }), await F.deleteOne({ user: n }), await q.deleteOne({ user: n }), await te.deleteOne({ user: n }), await ne.deleteOne({ user: n }), await re.deleteOne({ user: n }), await O.deleteOne({ user: n }), await k.deleteOne({ user: n });
|
|
493
493
|
});
|
|
494
|
-
const
|
|
494
|
+
const w = d?.User || l("User", ye);
|
|
495
495
|
class wt extends f {
|
|
496
496
|
getByObjectId(e) {
|
|
497
497
|
return this.update({ _id: e }, {});
|
|
498
498
|
}
|
|
499
499
|
getNextBirthdays() {
|
|
500
500
|
const e = /* @__PURE__ */ new Date(), t = e.getFullYear();
|
|
501
|
-
return
|
|
501
|
+
return w.aggregate([
|
|
502
502
|
{
|
|
503
503
|
$match: {
|
|
504
504
|
birthday: { $ne: null }
|
|
@@ -549,7 +549,7 @@ class wt extends f {
|
|
|
549
549
|
]);
|
|
550
550
|
}
|
|
551
551
|
getFactionRanking(e) {
|
|
552
|
-
return
|
|
552
|
+
return w.aggregate([
|
|
553
553
|
{ $match: { faction: e } },
|
|
554
554
|
{
|
|
555
555
|
$lookup: {
|
|
@@ -572,7 +572,7 @@ class wt extends f {
|
|
|
572
572
|
]);
|
|
573
573
|
}
|
|
574
574
|
getGlobalRanking() {
|
|
575
|
-
return
|
|
575
|
+
return w.aggregate([
|
|
576
576
|
{
|
|
577
577
|
$lookup: {
|
|
578
578
|
from: "usermetas",
|
|
@@ -594,7 +594,7 @@ class wt extends f {
|
|
|
594
594
|
]);
|
|
595
595
|
}
|
|
596
596
|
getBerryRanking() {
|
|
597
|
-
return
|
|
597
|
+
return w.aggregate([
|
|
598
598
|
{
|
|
599
599
|
$lookup: {
|
|
600
600
|
from: "usermetas",
|
|
@@ -616,10 +616,10 @@ class wt extends f {
|
|
|
616
616
|
]);
|
|
617
617
|
}
|
|
618
618
|
getQuestRanking() {
|
|
619
|
-
return
|
|
619
|
+
return R.aggregate([
|
|
620
620
|
{
|
|
621
621
|
$match: {
|
|
622
|
-
status:
|
|
622
|
+
status: A.COMPLETED
|
|
623
623
|
}
|
|
624
624
|
},
|
|
625
625
|
{
|
|
@@ -663,7 +663,7 @@ class wt extends f {
|
|
|
663
663
|
}
|
|
664
664
|
getTodayAllBirthday() {
|
|
665
665
|
const e = /* @__PURE__ */ new Date();
|
|
666
|
-
return
|
|
666
|
+
return w.aggregate([
|
|
667
667
|
{ $match: { birthday: { $ne: null } } },
|
|
668
668
|
{
|
|
669
669
|
$addFields: {
|
|
@@ -710,14 +710,14 @@ class wt extends f {
|
|
|
710
710
|
);
|
|
711
711
|
}
|
|
712
712
|
}
|
|
713
|
-
const bt = (n, e) =>
|
|
713
|
+
const bt = (n, e) => w.find(n, {}, e).lean(), p = (n) => n.toObject({ flattenMaps: !0, flattenObjectIds: !1 }), $t = (n) => w.create({
|
|
714
714
|
discordId: n
|
|
715
715
|
});
|
|
716
716
|
async function It(n, { upsert: e = !0, ...t }) {
|
|
717
|
-
const r = await
|
|
717
|
+
const r = await w.findOne({ discordId: n }, {}, t).lean();
|
|
718
718
|
return !r && e ? p(await $t(n)) : r;
|
|
719
719
|
}
|
|
720
|
-
const Ut = (n, e) =>
|
|
720
|
+
const Ut = (n, e) => w.findOneAndUpdate(n, e, {
|
|
721
721
|
upsert: !0,
|
|
722
722
|
returnDocument: "after"
|
|
723
723
|
}).lean();
|
|
@@ -789,11 +789,11 @@ class Mt extends f {
|
|
|
789
789
|
function xt(n, e) {
|
|
790
790
|
return N.find(n, {}, e).lean();
|
|
791
791
|
}
|
|
792
|
-
async function
|
|
792
|
+
async function At(n) {
|
|
793
793
|
const e = await N.findOne(n).lean();
|
|
794
794
|
return e || null;
|
|
795
795
|
}
|
|
796
|
-
async function
|
|
796
|
+
async function qt(n, e, t) {
|
|
797
797
|
return N.findOneAndUpdate(n, e, {
|
|
798
798
|
...t,
|
|
799
799
|
returnDocument: "after"
|
|
@@ -813,13 +813,13 @@ class kt extends Mt {
|
|
|
813
813
|
return `${e.toString()}/${t}`;
|
|
814
814
|
}
|
|
815
815
|
fetchFromDb(e) {
|
|
816
|
-
return
|
|
816
|
+
return At(e);
|
|
817
817
|
}
|
|
818
818
|
fetchManyFromDb(e, t) {
|
|
819
819
|
return xt(e, t);
|
|
820
820
|
}
|
|
821
821
|
updateInDb(e, t, r = { upsert: !1 }) {
|
|
822
|
-
return
|
|
822
|
+
return qt(e, t, r);
|
|
823
823
|
}
|
|
824
824
|
}
|
|
825
825
|
const Rt = new kt(), Ct = new c(
|
|
@@ -836,7 +836,7 @@ const Rt = new kt(), Ct = new c(
|
|
|
836
836
|
halfBonus: c.Types.Mixed
|
|
837
837
|
},
|
|
838
838
|
{ minimize: !1 }
|
|
839
|
-
), K = d?.Panoplies || l("Panoplies", Ct),
|
|
839
|
+
), K = d?.Panoplies || l("Panoplies", Ct), Bt = (n, e) => K.find(n, {}, e).lean(), _t = async (n, e) => K.find(n, {}, e).populate("equipments");
|
|
840
840
|
async function Ft(n) {
|
|
841
841
|
const e = await K.findOne({ panoplyId: n }).lean();
|
|
842
842
|
return e || null;
|
|
@@ -844,7 +844,7 @@ async function Ft(n) {
|
|
|
844
844
|
const Nt = async (n) => K.findOne(n).populate("equipments");
|
|
845
845
|
class Kt extends f {
|
|
846
846
|
getAllPopulated() {
|
|
847
|
-
return
|
|
847
|
+
return _t({}, {});
|
|
848
848
|
}
|
|
849
849
|
getPopulated(e) {
|
|
850
850
|
return Nt({ panoplyId: e });
|
|
@@ -889,10 +889,10 @@ class Pt extends Kt {
|
|
|
889
889
|
return Ft(e);
|
|
890
890
|
}
|
|
891
891
|
fetchManyFromDb(e, t) {
|
|
892
|
-
return
|
|
892
|
+
return Bt(e, t);
|
|
893
893
|
}
|
|
894
894
|
}
|
|
895
|
-
const
|
|
895
|
+
const _ = new Pt(), jt = new c(
|
|
896
896
|
{
|
|
897
897
|
type: {
|
|
898
898
|
type: String,
|
|
@@ -930,9 +930,9 @@ const R = new Pt(), jt = new c(
|
|
|
930
930
|
type: Object
|
|
931
931
|
},
|
|
932
932
|
panoply: String
|
|
933
|
-
}),
|
|
934
|
-
|
|
935
|
-
const Gt = async (n, e) =>
|
|
933
|
+
}), C = d?.Entities || l("Entities", zt), Yt = C.discriminator("item", Lt);
|
|
934
|
+
C.discriminator("equipment", Qt);
|
|
935
|
+
const Gt = async (n, e) => C.find(n, {}, e).lean(), Wt = async (n, e) => Yt.find(n, {}, e).lean();
|
|
936
936
|
class Vt extends f {
|
|
937
937
|
isEntity(e) {
|
|
938
938
|
return !!e && "entityId" in e;
|
|
@@ -992,7 +992,7 @@ class Vt extends f {
|
|
|
992
992
|
intelligence: 0,
|
|
993
993
|
wisdom: 0
|
|
994
994
|
};
|
|
995
|
-
const r = await
|
|
995
|
+
const r = await _.getAllPopulated();
|
|
996
996
|
for (const a of Ie) {
|
|
997
997
|
const s = e[a];
|
|
998
998
|
s && (t = Q(
|
|
@@ -1002,7 +1002,7 @@ class Vt extends f {
|
|
|
1002
1002
|
));
|
|
1003
1003
|
}
|
|
1004
1004
|
for (const a of r) {
|
|
1005
|
-
const s =
|
|
1005
|
+
const s = _.hasPanoply(e, a);
|
|
1006
1006
|
s && !("target" in s) && (t = Q(
|
|
1007
1007
|
t,
|
|
1008
1008
|
s,
|
|
@@ -1055,14 +1055,14 @@ class Vt extends f {
|
|
|
1055
1055
|
);
|
|
1056
1056
|
}
|
|
1057
1057
|
}
|
|
1058
|
-
const Xt = async (n) => await
|
|
1058
|
+
const Xt = async (n) => await C.create({
|
|
1059
1059
|
...n
|
|
1060
1060
|
});
|
|
1061
1061
|
async function Jt(n) {
|
|
1062
|
-
const e = await
|
|
1062
|
+
const e = await C.findOne({ entityId: n }).lean();
|
|
1063
1063
|
return e || null;
|
|
1064
1064
|
}
|
|
1065
|
-
const Zt = (n, e) =>
|
|
1065
|
+
const Zt = (n, e) => C.findOneAndUpdate(n, e, {
|
|
1066
1066
|
returnDocument: "after"
|
|
1067
1067
|
}).lean();
|
|
1068
1068
|
class en extends Vt {
|
|
@@ -1088,7 +1088,7 @@ class en extends Vt {
|
|
|
1088
1088
|
return e.entityId;
|
|
1089
1089
|
}
|
|
1090
1090
|
}
|
|
1091
|
-
const
|
|
1091
|
+
const U = new en();
|
|
1092
1092
|
class tn extends y {
|
|
1093
1093
|
hasAlreadyFoundEntity(e, t) {
|
|
1094
1094
|
return e.encyclopedia.includes(t);
|
|
@@ -1142,7 +1142,7 @@ class un extends y {
|
|
|
1142
1142
|
const a = e.equippedItems?.[r];
|
|
1143
1143
|
if (!a)
|
|
1144
1144
|
continue;
|
|
1145
|
-
const s = await
|
|
1145
|
+
const s = await U.fromDBToEquipableEquipment(a);
|
|
1146
1146
|
t = Q(
|
|
1147
1147
|
t,
|
|
1148
1148
|
s.characteristics,
|
|
@@ -1165,17 +1165,23 @@ class un extends y {
|
|
|
1165
1165
|
return (await this.get(e)).itemList;
|
|
1166
1166
|
}
|
|
1167
1167
|
async calcMinStreakForWorkLoot(e) {
|
|
1168
|
-
const t = await this.get(e), r = (await
|
|
1168
|
+
const t = await this.get(e), r = (await _.getPanoplyBonus(t.equippedItems)).find(
|
|
1169
1169
|
([a, s]) => a.panoplyId === "marine" && s !== null
|
|
1170
1170
|
);
|
|
1171
1171
|
return r && r[1] === "full" ? 10 : r && r[1] === "half" ? 20 : 1 / 0;
|
|
1172
1172
|
}
|
|
1173
1173
|
async hasRevolutionaryBuff(e) {
|
|
1174
1174
|
const t = await this.get(e);
|
|
1175
|
-
return (await
|
|
1175
|
+
return (await _.getPanoplyBonus(t.equippedItems)).find(
|
|
1176
1176
|
([a, s]) => a.panoplyId === "revolutionary" && s !== null
|
|
1177
1177
|
)?.[1] ?? null;
|
|
1178
1178
|
}
|
|
1179
|
+
async hasRecipe(e, t) {
|
|
1180
|
+
return (await this.get(e)).recipes.includes(t);
|
|
1181
|
+
}
|
|
1182
|
+
async getRecipes(e) {
|
|
1183
|
+
return (await this.get(e)).recipes;
|
|
1184
|
+
}
|
|
1179
1185
|
/*
|
|
1180
1186
|
** UPDATES
|
|
1181
1187
|
*/
|
|
@@ -1240,7 +1246,7 @@ class un extends y {
|
|
|
1240
1246
|
r?.equipmentSave[t] && await this.equip(e, r.equipmentSave[t]);
|
|
1241
1247
|
}
|
|
1242
1248
|
async equip(e, t) {
|
|
1243
|
-
const r = await
|
|
1249
|
+
const r = await E.getMaxHp(e), a = Object.fromEntries(
|
|
1244
1250
|
B(t).map(([s, i]) => [
|
|
1245
1251
|
`equippedItems.${s}`,
|
|
1246
1252
|
i
|
|
@@ -1248,33 +1254,26 @@ class un extends y {
|
|
|
1248
1254
|
);
|
|
1249
1255
|
await this.update(e, {
|
|
1250
1256
|
$set: a
|
|
1251
|
-
}), await
|
|
1257
|
+
}), await E.updateHp(e, r);
|
|
1252
1258
|
}
|
|
1253
1259
|
async unequip(e, t) {
|
|
1254
|
-
const r = await
|
|
1260
|
+
const r = await E.getMaxHp(e);
|
|
1255
1261
|
await this.update(e, {
|
|
1256
1262
|
$set: {
|
|
1257
1263
|
[`equippedItems.${t}`]: null
|
|
1258
1264
|
}
|
|
1259
|
-
}), await
|
|
1265
|
+
}), await E.updateHp(e, r);
|
|
1260
1266
|
}
|
|
1261
1267
|
async craftItem(e, t, r, a) {
|
|
1262
1268
|
for (const { entityId: u, size: o } of t.entities)
|
|
1263
|
-
await this.removeItem(e, u, o * r);
|
|
1269
|
+
await this.removeItem(e, u, (o ?? 1) * r);
|
|
1264
1270
|
const { entityId: s, size: i } = t.result;
|
|
1265
|
-
await
|
|
1266
|
-
}
|
|
1267
|
-
async dismantleEntity(e, t, r, a, s) {
|
|
1268
|
-
m.isEquipment(t) ? await this.removeEquipment(e, t.entityId, s) : m.isItem(t) && await this.removeItem(e, t.entityId, a);
|
|
1269
|
-
for (const { entityId: i, quantity: u } of r)
|
|
1270
|
-
await m.isEntityId(i, m.isItem) && await this.addItem(e, i, a * u);
|
|
1271
|
-
await this.removeItem(e, "tools", 1);
|
|
1272
|
-
}
|
|
1273
|
-
async enchantItem(e, t, r, a, s) {
|
|
1274
|
-
await this.removeItem(e, t, s * 4), await this.removeItem(e, a, s), await this.addItem(e, r, s);
|
|
1271
|
+
await U.isEntityId(s, U.isEquipment) ? await this.addEquipments(e, [{ entityId: s, seed: a }]) : await U.isEntityId(s, U.isItem) && await this.addItem(e, s, (i ?? 1) * r);
|
|
1275
1272
|
}
|
|
1276
1273
|
async unlockRecipe(e, t) {
|
|
1277
|
-
await this.
|
|
1274
|
+
await this.hasRecipe(e, t) || await this.update(e, {
|
|
1275
|
+
$push: { recipes: t }
|
|
1276
|
+
});
|
|
1278
1277
|
}
|
|
1279
1278
|
}
|
|
1280
1279
|
const cn = (n) => Z.create({
|
|
@@ -1305,7 +1304,7 @@ class ln extends un {
|
|
|
1305
1304
|
return dn(e, t);
|
|
1306
1305
|
}
|
|
1307
1306
|
}
|
|
1308
|
-
const
|
|
1307
|
+
const M = new ln();
|
|
1309
1308
|
class pn extends f {
|
|
1310
1309
|
async getTotalCharacteristics(e) {
|
|
1311
1310
|
const { characteristics: t, scrolls: r } = await this.get(e);
|
|
@@ -1364,7 +1363,7 @@ class pn extends f {
|
|
|
1364
1363
|
t.booster ? 0.25 : 0
|
|
1365
1364
|
);
|
|
1366
1365
|
return a + s + t.buffs.xp.global.reduce(
|
|
1367
|
-
(i, { expireAt: u, startAt: o, multiplier:
|
|
1366
|
+
(i, { expireAt: u, startAt: o, multiplier: m }) => o && o > /* @__PURE__ */ new Date() || u && de(u) ? i : i + m,
|
|
1368
1367
|
0
|
|
1369
1368
|
);
|
|
1370
1369
|
}
|
|
@@ -1386,12 +1385,12 @@ class pn extends f {
|
|
|
1386
1385
|
}
|
|
1387
1386
|
async calcBuffMultiplier(e, t, r) {
|
|
1388
1387
|
return (await this.get(e)).buffs[t][r].reduce(
|
|
1389
|
-
(i, { expireAt: u, startAt: o, multiplier:
|
|
1388
|
+
(i, { expireAt: u, startAt: o, multiplier: m }) => i + (/* @__PURE__ */ new Date() >= (o ?? /* @__PURE__ */ new Date()) && (!u || !de(u)) ? m : 0),
|
|
1390
1389
|
1
|
|
1391
1390
|
);
|
|
1392
1391
|
}
|
|
1393
1392
|
async getMaxHp(e) {
|
|
1394
|
-
const t = await
|
|
1393
|
+
const t = await M.get(e), { vitality: r } = await this.getTotalCharacteristics(e), a = await M.getUserEquipmentsCharacteristics(
|
|
1395
1394
|
t
|
|
1396
1395
|
);
|
|
1397
1396
|
return (r + a.vitality) * Ze + et;
|
|
@@ -1401,7 +1400,7 @@ class pn extends f {
|
|
|
1401
1400
|
return Math.min(t.hp / r, 1);
|
|
1402
1401
|
}
|
|
1403
1402
|
async hasCharacteristicRequirement(e, t) {
|
|
1404
|
-
const r = await
|
|
1403
|
+
const r = await M.get(e), a = await M.getUserEquipmentsCharacteristics(
|
|
1405
1404
|
r
|
|
1406
1405
|
), s = Q(
|
|
1407
1406
|
await this.getTotalCharacteristics(e),
|
|
@@ -1578,15 +1577,15 @@ class pn extends f {
|
|
|
1578
1577
|
});
|
|
1579
1578
|
}
|
|
1580
1579
|
async updatePanoplyBuff(e, t, r, a) {
|
|
1581
|
-
const s = await
|
|
1582
|
-
(
|
|
1580
|
+
const s = await U.fromDBToEquipableEquipment(t), i = L(Object.values(r)), o = (await _.getAllPopulated()).find(
|
|
1581
|
+
(h) => h.panoplyId === s.panoply
|
|
1583
1582
|
);
|
|
1584
1583
|
if (!o)
|
|
1585
1584
|
return;
|
|
1586
|
-
const
|
|
1587
|
-
(
|
|
1588
|
-
).length,
|
|
1589
|
-
o.halfBonus && "target" in o.halfBonus && await this.removeBuff(e, o.halfBonus), o.fullBonus && "target" in o.fullBonus && await this.removeBuff(e, o.fullBonus),
|
|
1585
|
+
const m = o.equipments.filter(
|
|
1586
|
+
(h) => (i.find((b) => h.entityId === b.entityId) || !a && s.entityId === h.entityId) && (a ? s.entityId !== h.entityId : !0)
|
|
1587
|
+
).length, $ = m === o.equipments.length ? o.fullBonus : m >= o.equipments.length / 2 ? o.halfBonus : void 0;
|
|
1588
|
+
o.halfBonus && "target" in o.halfBonus && await this.removeBuff(e, o.halfBonus), o.fullBonus && "target" in o.fullBonus && await this.removeBuff(e, o.fullBonus), $ && "target" in $ && await this.updateBuff(e, $);
|
|
1590
1589
|
}
|
|
1591
1590
|
async gainHp(e, t) {
|
|
1592
1591
|
const r = await this.get(e), s = await this.getMaxHp(e) - r.hp;
|
|
@@ -1691,14 +1690,14 @@ class pn extends f {
|
|
|
1691
1690
|
return await this.addBerry(e, a), a;
|
|
1692
1691
|
}
|
|
1693
1692
|
}
|
|
1694
|
-
const yn = (n) =>
|
|
1693
|
+
const yn = (n) => D.find(n).lean(), fn = async (n) => await D.create({
|
|
1695
1694
|
user: n
|
|
1696
1695
|
});
|
|
1697
1696
|
async function mn(n) {
|
|
1698
|
-
const e = await
|
|
1697
|
+
const e = await D.findOne({ user: n }).lean();
|
|
1699
1698
|
return e || p(await fn(n));
|
|
1700
1699
|
}
|
|
1701
|
-
const hn = (n, e) =>
|
|
1700
|
+
const hn = (n, e) => D.findOneAndUpdate({ user: n }, e, {
|
|
1702
1701
|
returnDocument: "after",
|
|
1703
1702
|
upsert: !0
|
|
1704
1703
|
}).lean();
|
|
@@ -1722,7 +1721,7 @@ class gn extends pn {
|
|
|
1722
1721
|
return hn(e, t);
|
|
1723
1722
|
}
|
|
1724
1723
|
}
|
|
1725
|
-
const
|
|
1724
|
+
const E = new gn();
|
|
1726
1725
|
class Sn extends f {
|
|
1727
1726
|
async updateSendDailyQuest(e, t) {
|
|
1728
1727
|
await this.update(e, { $set: { sendDailyQuest: t } });
|
|
@@ -1783,7 +1782,7 @@ class Tn extends y {
|
|
|
1783
1782
|
$set: {
|
|
1784
1783
|
lockUserCommand: new Date(Date.now() + 2 * 3600 * 1e3)
|
|
1785
1784
|
}
|
|
1786
|
-
}), await
|
|
1785
|
+
}), await E.gainHp(e, 1);
|
|
1787
1786
|
}
|
|
1788
1787
|
async useCommand(e, t, r) {
|
|
1789
1788
|
const { reminder: a } = await Fe.get(e);
|
|
@@ -1920,8 +1919,8 @@ const xn = new c(
|
|
|
1920
1919
|
strength: Number
|
|
1921
1920
|
},
|
|
1922
1921
|
{ minimize: !1 }
|
|
1923
|
-
), fe = d?.Ornaments || l("Ornaments", xn),
|
|
1924
|
-
async function
|
|
1922
|
+
), fe = d?.Ornaments || l("Ornaments", xn), An = async (n, e) => fe.find(n, {}, e).lean();
|
|
1923
|
+
async function qn(n) {
|
|
1925
1924
|
const e = await fe.findOne({ ornamentId: n }).lean();
|
|
1926
1925
|
return e || null;
|
|
1927
1926
|
}
|
|
@@ -1936,10 +1935,10 @@ class Rn extends Mn {
|
|
|
1936
1935
|
return kn(e, t);
|
|
1937
1936
|
}
|
|
1938
1937
|
fetchFromDb(e) {
|
|
1939
|
-
return
|
|
1938
|
+
return qn(e);
|
|
1940
1939
|
}
|
|
1941
1940
|
fetchManyFromDb(e, t) {
|
|
1942
|
-
return
|
|
1941
|
+
return An(e, t);
|
|
1943
1942
|
}
|
|
1944
1943
|
getKey(e) {
|
|
1945
1944
|
return e.ornamentId;
|
|
@@ -1948,13 +1947,13 @@ class Rn extends Mn {
|
|
|
1948
1947
|
return e;
|
|
1949
1948
|
}
|
|
1950
1949
|
}
|
|
1951
|
-
const
|
|
1950
|
+
const I = new Rn();
|
|
1952
1951
|
class Cn extends y {
|
|
1953
1952
|
async unlockTitle(e, t) {
|
|
1954
|
-
await
|
|
1953
|
+
await I.isOrnamentIds([t], I.isTitle) && await this.update(e, { $addToSet: { unlockedTitles: t } });
|
|
1955
1954
|
}
|
|
1956
1955
|
async unlockTitles(e, t) {
|
|
1957
|
-
await
|
|
1956
|
+
await I.isOrnamentIds(t, I.isTitle) && await this.update(e, {
|
|
1958
1957
|
$addToSet: { unlockedTitles: { $each: t } }
|
|
1959
1958
|
});
|
|
1960
1959
|
}
|
|
@@ -1962,17 +1961,17 @@ class Cn extends y {
|
|
|
1962
1961
|
await this.update(e, { $set: { selectedTitle: t } });
|
|
1963
1962
|
}
|
|
1964
1963
|
async unlockBackground(e, t) {
|
|
1965
|
-
await
|
|
1964
|
+
await I.isOrnamentIds(
|
|
1966
1965
|
[t],
|
|
1967
|
-
|
|
1966
|
+
I.isBackground
|
|
1968
1967
|
) && await this.update(e, {
|
|
1969
1968
|
$addToSet: { unlockedBackgrounds: t }
|
|
1970
1969
|
});
|
|
1971
1970
|
}
|
|
1972
1971
|
async unlockBackgrounds(e, t) {
|
|
1973
|
-
await
|
|
1972
|
+
await I.isOrnamentIds(
|
|
1974
1973
|
t,
|
|
1975
|
-
|
|
1974
|
+
I.isBackground
|
|
1976
1975
|
) && await this.update(e, {
|
|
1977
1976
|
$addToSet: { unlockedBackgrounds: { $each: t } }
|
|
1978
1977
|
});
|
|
@@ -2018,12 +2017,12 @@ class Cn extends y {
|
|
|
2018
2017
|
});
|
|
2019
2018
|
}
|
|
2020
2019
|
}
|
|
2021
|
-
const
|
|
2020
|
+
const Bn = async (n) => await ee.create({
|
|
2022
2021
|
user: n
|
|
2023
2022
|
});
|
|
2024
|
-
async function
|
|
2023
|
+
async function _n(n) {
|
|
2025
2024
|
const e = await ee.findOne({ user: n }).lean();
|
|
2026
|
-
return e || p(await
|
|
2025
|
+
return e || p(await Bn(n));
|
|
2027
2026
|
}
|
|
2028
2027
|
const Fn = async (n, e) => ee.findOneAndUpdate({ user: n }, e, {
|
|
2029
2028
|
upsert: !0,
|
|
@@ -2040,7 +2039,7 @@ class Nn extends Cn {
|
|
|
2040
2039
|
return e;
|
|
2041
2040
|
}
|
|
2042
2041
|
fetchFromDb(e) {
|
|
2043
|
-
return
|
|
2042
|
+
return _n(e);
|
|
2044
2043
|
}
|
|
2045
2044
|
updateInDb(e, t) {
|
|
2046
2045
|
return Fn(e, t);
|
|
@@ -2063,7 +2062,7 @@ class Kn extends f {
|
|
|
2063
2062
|
return await this.isStreaking(e, t) ? 1 + Math.min(2, (r.streak ?? 0) / 10) : 1;
|
|
2064
2063
|
}
|
|
2065
2064
|
async getCompletedCount(e) {
|
|
2066
|
-
return (await this.getMany({ user: e, status:
|
|
2065
|
+
return (await this.getMany({ user: e, status: A.COMPLETED })).length;
|
|
2067
2066
|
}
|
|
2068
2067
|
async completeQuest(e, t = !1) {
|
|
2069
2068
|
const r = Y();
|
|
@@ -2089,7 +2088,7 @@ class Kn extends f {
|
|
|
2089
2088
|
}
|
|
2090
2089
|
} : {},
|
|
2091
2090
|
lastCompletionDate: /* @__PURE__ */ new Date(),
|
|
2092
|
-
status:
|
|
2091
|
+
status: A.COMPLETED
|
|
2093
2092
|
}
|
|
2094
2093
|
}
|
|
2095
2094
|
],
|
|
@@ -2098,17 +2097,17 @@ class Kn extends f {
|
|
|
2098
2097
|
}
|
|
2099
2098
|
}
|
|
2100
2099
|
function Hn(n) {
|
|
2101
|
-
return
|
|
2100
|
+
return R.find(n).lean();
|
|
2102
2101
|
}
|
|
2103
|
-
const Pn = async (n) => await
|
|
2102
|
+
const Pn = async (n) => await R.create({
|
|
2104
2103
|
...n
|
|
2105
2104
|
});
|
|
2106
2105
|
async function jn(n) {
|
|
2107
|
-
const e = await
|
|
2106
|
+
const e = await R.findOne(n).lean();
|
|
2108
2107
|
return e || p(await Pn(n));
|
|
2109
2108
|
}
|
|
2110
2109
|
function zn(n, e, t) {
|
|
2111
|
-
return
|
|
2110
|
+
return R.findOneAndUpdate(n, e, {
|
|
2112
2111
|
upsert: !0,
|
|
2113
2112
|
...t,
|
|
2114
2113
|
returnDocument: "after"
|
|
@@ -2189,9 +2188,9 @@ class Vn extends Qn {
|
|
|
2189
2188
|
const $e = new Vn();
|
|
2190
2189
|
class Xn extends y {
|
|
2191
2190
|
async updateDailyReport(e) {
|
|
2192
|
-
const t = await
|
|
2191
|
+
const t = await E.get(e), r = await we.get(e), a = await be.getMany({
|
|
2193
2192
|
user: e,
|
|
2194
|
-
status:
|
|
2193
|
+
status: A.COMPLETED
|
|
2195
2194
|
}), s = await $e.get(e);
|
|
2196
2195
|
await this.update(e, {
|
|
2197
2196
|
$set: {
|
|
@@ -2214,14 +2213,14 @@ class Xn extends y {
|
|
|
2214
2213
|
xpYesterday: a,
|
|
2215
2214
|
berryYesterday: s,
|
|
2216
2215
|
previousMessageSent: i
|
|
2217
|
-
} = await this.get(e), u = await
|
|
2216
|
+
} = await this.get(e), u = await E.get(e), o = await be.getMany({
|
|
2218
2217
|
user: e,
|
|
2219
|
-
status:
|
|
2220
|
-
}),
|
|
2218
|
+
status: A.COMPLETED
|
|
2219
|
+
}), m = await we.get(e), $ = await $e.get(e), { berry: h, xp: b } = u, { voice: he, amount: He } = b, { unlockedBadges: Pe, unlockedBackgrounds: je, unlockedTitles: ze } = m;
|
|
2221
2220
|
return {
|
|
2222
|
-
berry:
|
|
2221
|
+
berry: h - s,
|
|
2223
2222
|
xp: He - a,
|
|
2224
|
-
message:
|
|
2223
|
+
message: $.messageSent - i,
|
|
2225
2224
|
voice: Oe(he.lastConnection, Y()) ? he.minutesInVoiceToday : 0,
|
|
2226
2225
|
quest: P(
|
|
2227
2226
|
o.map(({ questId: Le }) => Le),
|
|
@@ -2350,7 +2349,7 @@ const Ga = new ir(), ur = new c({
|
|
|
2350
2349
|
}), x = d?.UserRank || l("UserRank", ur);
|
|
2351
2350
|
class cr extends y {
|
|
2352
2351
|
async computeAllXpRanks() {
|
|
2353
|
-
const t = (await
|
|
2352
|
+
const t = (await D.aggregate([
|
|
2354
2353
|
{
|
|
2355
2354
|
$setWindowFields: {
|
|
2356
2355
|
sortBy: { "xp.amount": -1 },
|
|
@@ -2368,7 +2367,7 @@ class cr extends y {
|
|
|
2368
2367
|
t.length > 0 && await x.bulkWrite(t), this.clearAll();
|
|
2369
2368
|
}
|
|
2370
2369
|
async computeAllBerryRanks() {
|
|
2371
|
-
const t = (await
|
|
2370
|
+
const t = (await D.aggregate([
|
|
2372
2371
|
{
|
|
2373
2372
|
$setWindowFields: {
|
|
2374
2373
|
sortBy: { berry: -1 },
|
|
@@ -2386,7 +2385,7 @@ class cr extends y {
|
|
|
2386
2385
|
t.length > 0 && await x.bulkWrite(t), this.clearAll();
|
|
2387
2386
|
}
|
|
2388
2387
|
async computeAllFactionRanks() {
|
|
2389
|
-
const t = (await
|
|
2388
|
+
const t = (await w.aggregate([
|
|
2390
2389
|
{
|
|
2391
2390
|
$lookup: {
|
|
2392
2391
|
from: "usermetas",
|
|
@@ -2632,18 +2631,18 @@ const H = d?.UserStory || l("UserStory", Ke), Er = async (n, e, t, r, a) => awai
|
|
|
2632
2631
|
continue;
|
|
2633
2632
|
}
|
|
2634
2633
|
if (o.actionType === "button") {
|
|
2635
|
-
const
|
|
2636
|
-
(
|
|
2634
|
+
const $ = e.find(
|
|
2635
|
+
(b) => b.chapterId === t && b.sceneId === r && b.stepId === u
|
|
2637
2636
|
);
|
|
2638
|
-
if (
|
|
2637
|
+
if (!$) {
|
|
2639
2638
|
s.push({ step: o });
|
|
2640
2639
|
break;
|
|
2641
2640
|
}
|
|
2642
|
-
const
|
|
2643
|
-
(
|
|
2641
|
+
const h = o.payload.find(
|
|
2642
|
+
(b) => b.actionId === $.value
|
|
2644
2643
|
);
|
|
2645
|
-
if (!
|
|
2646
|
-
u =
|
|
2644
|
+
if (!h || (s.push({ step: o, selectedAction: h }), u === a)) break;
|
|
2645
|
+
u = h.next;
|
|
2647
2646
|
continue;
|
|
2648
2647
|
}
|
|
2649
2648
|
if (s.push({ step: o }), u === a) break;
|
|
@@ -2667,13 +2666,13 @@ class Mr extends f {
|
|
|
2667
2666
|
if (!u) return null;
|
|
2668
2667
|
const o = u.scenes[a];
|
|
2669
2668
|
if (!o) return null;
|
|
2670
|
-
const
|
|
2669
|
+
const m = s.status === "in_progress" && s.currentChapterId === r && s.currentSceneId === a;
|
|
2671
2670
|
return vr(
|
|
2672
2671
|
o,
|
|
2673
2672
|
s.choices,
|
|
2674
2673
|
r,
|
|
2675
2674
|
a,
|
|
2676
|
-
|
|
2675
|
+
m ? s.currentStepId : void 0
|
|
2677
2676
|
);
|
|
2678
2677
|
}
|
|
2679
2678
|
async start(e, t) {
|
|
@@ -2800,7 +2799,7 @@ class Mr extends f {
|
|
|
2800
2799
|
);
|
|
2801
2800
|
}
|
|
2802
2801
|
}
|
|
2803
|
-
const xr = (n, e = {}) => H.find(n, null, e).lean(),
|
|
2802
|
+
const xr = (n, e = {}) => H.find(n, null, e).lean(), Ar = (n, e) => H.findOne({ user: n, storyId: e }).lean(), qr = (n, e) => H.findOneAndUpdate(n, e, {
|
|
2804
2803
|
returnDocument: "after"
|
|
2805
2804
|
}).lean();
|
|
2806
2805
|
class kr extends Mr {
|
|
@@ -2814,13 +2813,13 @@ class kr extends Mr {
|
|
|
2814
2813
|
return { user: e.user, storyId: e.storyId };
|
|
2815
2814
|
}
|
|
2816
2815
|
fetchFromDb(e) {
|
|
2817
|
-
return
|
|
2816
|
+
return Ar(e.user, e.storyId);
|
|
2818
2817
|
}
|
|
2819
2818
|
fetchManyFromDb(e, t) {
|
|
2820
2819
|
return xr(e, t);
|
|
2821
2820
|
}
|
|
2822
2821
|
updateInDb(e, t) {
|
|
2823
|
-
return
|
|
2822
|
+
return qr(e, t);
|
|
2824
2823
|
}
|
|
2825
2824
|
}
|
|
2826
2825
|
const Va = new kr();
|
|
@@ -2851,7 +2850,7 @@ class Rr extends y {
|
|
|
2851
2850
|
const t = Y();
|
|
2852
2851
|
t.setHours(0, 0, 0, 0);
|
|
2853
2852
|
const r = /* @__PURE__ */ new Date();
|
|
2854
|
-
r.setHours(0, 0, 0, 0), await
|
|
2853
|
+
r.setHours(0, 0, 0, 0), await q.updateOne(
|
|
2855
2854
|
{
|
|
2856
2855
|
user: e,
|
|
2857
2856
|
"bet666.last": {
|
|
@@ -2860,7 +2859,7 @@ class Rr extends y {
|
|
|
2860
2859
|
}
|
|
2861
2860
|
},
|
|
2862
2861
|
{ $inc: { "bet666.count": 1 }, $set: { "bet666.last": /* @__PURE__ */ new Date() } }
|
|
2863
|
-
), await
|
|
2862
|
+
), await q.updateOne(
|
|
2864
2863
|
{
|
|
2865
2864
|
user: e,
|
|
2866
2865
|
"bet666.last": {
|
|
@@ -2903,14 +2902,14 @@ class Rr extends y {
|
|
|
2903
2902
|
await this.update(e, { $inc: { "dice.drawWithDoubleSixCount": 1 } });
|
|
2904
2903
|
}
|
|
2905
2904
|
}
|
|
2906
|
-
const Cr = async (n) => await
|
|
2905
|
+
const Cr = async (n) => await q.create({
|
|
2907
2906
|
user: n
|
|
2908
2907
|
});
|
|
2909
|
-
async function
|
|
2910
|
-
const e = await
|
|
2908
|
+
async function Br(n) {
|
|
2909
|
+
const e = await q.findOne({ user: n }).lean();
|
|
2911
2910
|
return e || p(await Cr(n));
|
|
2912
2911
|
}
|
|
2913
|
-
const
|
|
2912
|
+
const _r = (n, e) => q.findOneAndUpdate({ user: n }, e, {
|
|
2914
2913
|
upsert: !0,
|
|
2915
2914
|
returnDocument: "after"
|
|
2916
2915
|
}).lean();
|
|
@@ -2925,10 +2924,10 @@ class Fr extends Rr {
|
|
|
2925
2924
|
return e;
|
|
2926
2925
|
}
|
|
2927
2926
|
fetchFromDb(e) {
|
|
2928
|
-
return
|
|
2927
|
+
return Br(e);
|
|
2929
2928
|
}
|
|
2930
2929
|
updateInDb(e, t) {
|
|
2931
|
-
return
|
|
2930
|
+
return _r(e, t);
|
|
2932
2931
|
}
|
|
2933
2932
|
}
|
|
2934
2933
|
const Xa = new Fr();
|
|
@@ -3036,7 +3035,7 @@ const Za = new Gr();
|
|
|
3036
3035
|
class Wr extends y {
|
|
3037
3036
|
async readEdito(e) {
|
|
3038
3037
|
const t = /* @__PURE__ */ new Date();
|
|
3039
|
-
t.setHours(0, 0, 0, 0), await
|
|
3038
|
+
t.setHours(0, 0, 0, 0), await O.updateOne(
|
|
3040
3039
|
{
|
|
3041
3040
|
user: e,
|
|
3042
3041
|
"edito.lastTimeRead": {
|
|
@@ -3047,7 +3046,7 @@ class Wr extends y {
|
|
|
3047
3046
|
$inc: { "edito.readToday": 1 },
|
|
3048
3047
|
$set: { "edito.lastTimeRead": /* @__PURE__ */ new Date() }
|
|
3049
3048
|
}
|
|
3050
|
-
), await
|
|
3049
|
+
), await O.updateOne(
|
|
3051
3050
|
{
|
|
3052
3051
|
user: e,
|
|
3053
3052
|
"edito.lastTimeRead": {
|
|
@@ -3061,7 +3060,7 @@ class Wr extends y {
|
|
|
3061
3060
|
}
|
|
3062
3061
|
async getTotalEditoReadToday() {
|
|
3063
3062
|
const e = /* @__PURE__ */ new Date();
|
|
3064
|
-
return e.setHours(0, 0, 0, 0), (await
|
|
3063
|
+
return e.setHours(0, 0, 0, 0), (await O.aggregate([
|
|
3065
3064
|
{
|
|
3066
3065
|
$match: {
|
|
3067
3066
|
"edito.lastTimeRead": { $gte: e },
|
|
@@ -3072,14 +3071,14 @@ class Wr extends y {
|
|
|
3072
3071
|
]))[0]?.total ?? 0;
|
|
3073
3072
|
}
|
|
3074
3073
|
}
|
|
3075
|
-
const Vr = async (n) => await
|
|
3074
|
+
const Vr = async (n) => await O.create({
|
|
3076
3075
|
user: n
|
|
3077
3076
|
});
|
|
3078
3077
|
async function Xr(n) {
|
|
3079
|
-
const e = await
|
|
3078
|
+
const e = await O.findOne({ user: n }).lean();
|
|
3080
3079
|
return e || p(await Vr(n));
|
|
3081
3080
|
}
|
|
3082
|
-
const Jr = (n, e) =>
|
|
3081
|
+
const Jr = (n, e) => O.findOneAndUpdate({ user: n }, e, {
|
|
3083
3082
|
upsert: !0,
|
|
3084
3083
|
returnDocument: "after"
|
|
3085
3084
|
}).lean();
|
|
@@ -3103,8 +3102,8 @@ class Zr extends Wr {
|
|
|
3103
3102
|
const es = new Zr();
|
|
3104
3103
|
class ea extends y {
|
|
3105
3104
|
async updateCraftStats(e, t, r) {
|
|
3106
|
-
const a = await
|
|
3107
|
-
!a || !
|
|
3105
|
+
const a = await U.get(r);
|
|
3106
|
+
!a || !U.isItem(a) || await this.update(e, {
|
|
3108
3107
|
$inc: {
|
|
3109
3108
|
"crafts.totalCrafted": t
|
|
3110
3109
|
}
|
|
@@ -3190,59 +3189,48 @@ class aa extends ea {
|
|
|
3190
3189
|
const ts = new aa();
|
|
3191
3190
|
class sa extends f {
|
|
3192
3191
|
async maxCraftQuantity(e, t) {
|
|
3193
|
-
const r = await
|
|
3192
|
+
const r = await M.get(e);
|
|
3194
3193
|
let a = 1 / 0;
|
|
3195
3194
|
for (const s of t)
|
|
3196
3195
|
a = Math.min(
|
|
3197
3196
|
a,
|
|
3198
3197
|
Math.floor(
|
|
3199
|
-
(r.itemList[s.entityId] ?? 0) / s.size
|
|
3198
|
+
(r.itemList[s.entityId] ?? 0) / (s.size ?? 1)
|
|
3200
3199
|
)
|
|
3201
3200
|
);
|
|
3202
3201
|
return a;
|
|
3203
3202
|
}
|
|
3204
3203
|
async hasEnoughItemsForRecipe(e, t, r) {
|
|
3205
|
-
const a = await
|
|
3204
|
+
const a = await M.get(e);
|
|
3206
3205
|
for (const s of t.entities)
|
|
3207
|
-
if ((a.itemList[s.entityId] ?? 0) < s.size * r)
|
|
3206
|
+
if ((a.itemList[s.entityId] ?? 0) < (s.size ?? 1) * r)
|
|
3208
3207
|
return !1;
|
|
3209
3208
|
return !0;
|
|
3210
3209
|
}
|
|
3211
|
-
decodeCraftId(e) {
|
|
3212
|
-
return e.split(";").map((t, r) => ({
|
|
3213
|
-
entityId: t === "null" ? null : t,
|
|
3214
|
-
index: r
|
|
3215
|
-
}));
|
|
3216
|
-
}
|
|
3217
|
-
encodeCraftId(e) {
|
|
3218
|
-
return e.map(({ entityId: t }) => `${t}`).join(";");
|
|
3219
|
-
}
|
|
3220
3210
|
async isValidRecipe(e) {
|
|
3221
|
-
return !!(await this.getAll()).find((r) => r.
|
|
3211
|
+
return !!(await this.getAll()).find((r) => r.recipeId === e);
|
|
3222
3212
|
}
|
|
3223
3213
|
async getRecipeResult(e, t) {
|
|
3224
|
-
|
|
3225
|
-
([s, i]) => s.panoplyId === "little_blacksmith" && i !== null
|
|
3226
|
-
);
|
|
3227
|
-
return a?.[1] === "full" && t === "chest_3" ? "chest_blacksmith_3" : a?.[1] === "half" && t === "chest_2" ? "chest_blacksmith_2" : a?.[1] === "half" && t === "chest_1" ? "chest_blacksmith_1" : t;
|
|
3214
|
+
return t;
|
|
3228
3215
|
}
|
|
3229
3216
|
}
|
|
3230
3217
|
const ia = new c(
|
|
3231
3218
|
{
|
|
3232
3219
|
entityId: { type: String, required: !0 },
|
|
3233
|
-
size: { type: Number,
|
|
3220
|
+
size: { type: Number, default: 1 }
|
|
3234
3221
|
},
|
|
3235
3222
|
{ _id: !1 }
|
|
3236
3223
|
), ua = new c(
|
|
3237
3224
|
{
|
|
3238
3225
|
entityId: { type: String, required: !0 },
|
|
3239
|
-
size: { type: Number
|
|
3226
|
+
size: { type: Number }
|
|
3240
3227
|
},
|
|
3241
3228
|
{ _id: !1 }
|
|
3242
3229
|
), ca = new c(
|
|
3243
3230
|
{
|
|
3244
|
-
|
|
3245
|
-
|
|
3231
|
+
recipeId: { type: String, unique: !0, required: !0 },
|
|
3232
|
+
rankId: String,
|
|
3233
|
+
type: { type: String, required: !0 },
|
|
3246
3234
|
entities: { type: [ia], required: !0 },
|
|
3247
3235
|
result: { type: ua, required: !0 }
|
|
3248
3236
|
},
|
|
@@ -3251,7 +3239,7 @@ const ia = new c(
|
|
|
3251
3239
|
...n
|
|
3252
3240
|
}), da = async (n, e) => se.find(n, {}, e).lean();
|
|
3253
3241
|
async function la(n) {
|
|
3254
|
-
const e = await se.findOne({
|
|
3242
|
+
const e = await se.findOne({ recipeId: n }).lean();
|
|
3255
3243
|
return e || null;
|
|
3256
3244
|
}
|
|
3257
3245
|
const pa = (n, e) => se.findOneAndUpdate(n, e, {
|
|
@@ -3277,7 +3265,7 @@ class ya extends sa {
|
|
|
3277
3265
|
return e;
|
|
3278
3266
|
}
|
|
3279
3267
|
getKey(e) {
|
|
3280
|
-
return e.
|
|
3268
|
+
return e.recipeId;
|
|
3281
3269
|
}
|
|
3282
3270
|
}
|
|
3283
3271
|
const ns = new ya(), fa = new c({
|
|
@@ -3492,10 +3480,10 @@ const Ma = new c({
|
|
|
3492
3480
|
}
|
|
3493
3481
|
}), me = d?.Settings || l("Settings", Ma), xa = (n) => me.create({
|
|
3494
3482
|
guildId: n
|
|
3495
|
-
}),
|
|
3483
|
+
}), Aa = async (n) => {
|
|
3496
3484
|
const e = await me.findOne({ guildId: n }).lean();
|
|
3497
3485
|
return e || p(await xa(n));
|
|
3498
|
-
},
|
|
3486
|
+
}, qa = (n, e) => me.findOneAndUpdate(n, e, {
|
|
3499
3487
|
upsert: !0,
|
|
3500
3488
|
returnDocument: "after"
|
|
3501
3489
|
}).lean();
|
|
@@ -3510,10 +3498,10 @@ class ka extends va {
|
|
|
3510
3498
|
return e;
|
|
3511
3499
|
}
|
|
3512
3500
|
fetchFromDb(e) {
|
|
3513
|
-
return
|
|
3501
|
+
return Aa(e);
|
|
3514
3502
|
}
|
|
3515
3503
|
updateInDb(e, t) {
|
|
3516
|
-
return
|
|
3504
|
+
return qa(e, t);
|
|
3517
3505
|
}
|
|
3518
3506
|
}
|
|
3519
3507
|
const ss = new ka(), Ra = new c({
|
|
@@ -3521,9 +3509,9 @@ const ss = new ka(), Ra = new c({
|
|
|
3521
3509
|
authorId: String,
|
|
3522
3510
|
date: { type: Date, default: Date.now() },
|
|
3523
3511
|
reason: { type: String, default: null }
|
|
3524
|
-
}), ce = d?.Warn || l("Warn", Ra), Ca = (n) => ce.countDocuments(n),
|
|
3512
|
+
}), ce = d?.Warn || l("Warn", Ra), Ca = (n) => ce.countDocuments(n), Ba = (n) => ce.create({
|
|
3525
3513
|
...n
|
|
3526
|
-
}),
|
|
3514
|
+
}), _a = (n) => ce.findByIdAndDelete(n).lean();
|
|
3527
3515
|
class Fa extends f {
|
|
3528
3516
|
getUserWarns(e) {
|
|
3529
3517
|
return this.getMany({ warnedUserId: e });
|
|
@@ -3532,10 +3520,10 @@ class Fa extends f {
|
|
|
3532
3520
|
return Ca({ warnedUserId: e });
|
|
3533
3521
|
}
|
|
3534
3522
|
async createWarn(e) {
|
|
3535
|
-
await
|
|
3523
|
+
await Ba(e);
|
|
3536
3524
|
}
|
|
3537
3525
|
async deleteWarn(e) {
|
|
3538
|
-
const t = await
|
|
3526
|
+
const t = await _a(e);
|
|
3539
3527
|
return t && this.invalidate(this.getKey(t)), t;
|
|
3540
3528
|
}
|
|
3541
3529
|
}
|
|
@@ -3567,14 +3555,14 @@ class cs extends Ye.ObjectId {
|
|
|
3567
3555
|
}
|
|
3568
3556
|
export {
|
|
3569
3557
|
cs as ObjectId,
|
|
3570
|
-
|
|
3558
|
+
S as QUEST_MIDDLEWARE_EVENT_NAME,
|
|
3571
3559
|
rs as banService,
|
|
3572
3560
|
us as connectToServices,
|
|
3573
|
-
|
|
3574
|
-
|
|
3561
|
+
g as emitQuestMiddlewareEvent,
|
|
3562
|
+
U as entityService,
|
|
3575
3563
|
as as invitationService,
|
|
3576
|
-
|
|
3577
|
-
|
|
3564
|
+
I as ornamentService,
|
|
3565
|
+
_ as panoplyService,
|
|
3578
3566
|
ns as recipeService,
|
|
3579
3567
|
La as registerQuestMiddlewareEvents,
|
|
3580
3568
|
Rt as reminderService,
|
|
@@ -3584,8 +3572,8 @@ export {
|
|
|
3584
3572
|
Ya as userDailyReportService,
|
|
3585
3573
|
le as userEncyclopediaService,
|
|
3586
3574
|
Ga as userGamesService,
|
|
3587
|
-
|
|
3588
|
-
|
|
3575
|
+
M as userInventoryService,
|
|
3576
|
+
E as userMetaService,
|
|
3589
3577
|
we as userOrnamentService,
|
|
3590
3578
|
be as userQuestService,
|
|
3591
3579
|
Wa as userRankService,
|