返回提交历史
Modified
src/models/inventoryModels/inventoryModel.ts
+1
-1
Modified
src/services/missionInventoryUpdateService.ts
+19
-0
Modified
src/types/requestTypes.ts
+1
-0
XFEstudio/XFESpaceNinjaServer
feat: death marks (#1205)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1205
651ab5f6
代码差异
3 个文件
+21
-1
@@ -1400,7 +1400,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
1400
1400
//Discount Coupon
1401
1401
PendingCoupon: pendingCouponSchema,
1402
1402
//Like BossAladV,BossCaptainVor come for you on missions % chance
1403
DeathMarks: [String],
1403
DeathMarks: { type: [String], default: [] },
1404
1404
//Zanuka
1405
1405
Harvestable: Boolean,
1406
1406
//Grustag three
@@ -294,6 +294,25 @@ export const addMissionInventoryUpdates = async (
294
294
inventory.SeasonChallengeHistory.push(...processedCompletions);
295
295
break;
296
296
}
297
case "DeathMarks": {
298
for (const deathMark of value) {
299
if (!inventory.DeathMarks.find(x => x == deathMark)) {
300
// It's a new death mark; we have to say the line.
301
await createMessage(inventory.accountOwnerId.toString(), [
302
{
303
sub: "/Lotus/Language/G1Quests/DeathMarkTitle",
304
sndr: "/Lotus/Language/G1Quests/DeathMarkSender",
305
msg: "/Lotus/Language/G1Quests/DeathMarkMessage",
306
icon: "/Lotus/Interface/Icons/Npcs/Stalker_d.png",
307
highPriority: true
308
}
309
]);
310
// TODO: This type of inbox message seems to automatically delete itself. Figure out under which conditions.
311
}
312
}
313
inventory.DeathMarks = value;
314
break;
315
}
297
316
default:
298
317
// Equipment XP updates
299
318
if (equipmentKeys.includes(key as TEquipmentKey)) {
@@ -107,6 +107,7 @@ export type IMissionInventoryUpdateRequest = {
107
107
DropTable: string;
108
108
DROP_MOD: number[];
109
109
}[];
110
DeathMarks?: string[];
110
111
} & {
111
112
[K in TEquipmentKey]?: IEquipmentClient[];
112
113
};