feat: death marks #1205
@ -1400,7 +1400,7 @@ const inventorySchema = new Schema<IInventoryDatabase, InventoryDocumentProps>(
|
||||
//Discount Coupon
|
||||
PendingCoupon: pendingCouponSchema,
|
||||
//Like BossAladV,BossCaptainVor come for you on missions % chance
|
||||
DeathMarks: [String],
|
||||
DeathMarks: { type: [String], default: [] },
|
||||
//Zanuka
|
||||
Harvestable: Boolean,
|
||||
//Grustag three
|
||||
|
@ -294,6 +294,25 @@ export const addMissionInventoryUpdates = async (
|
||||
inventory.SeasonChallengeHistory.push(...processedCompletions);
|
||||
break;
|
||||
}
|
||||
case "DeathMarks": {
|
||||
for (const deathMark of value) {
|
||||
if (!inventory.DeathMarks.find(x => x == deathMark)) {
|
||||
// It's a new death mark; we have to say the line.
|
||||
await createMessage(inventory.accountOwnerId.toString(), [
|
||||
{
|
||||
sub: "/Lotus/Language/G1Quests/DeathMarkTitle",
|
||||
sndr: "/Lotus/Language/G1Quests/DeathMarkSender",
|
||||
msg: "/Lotus/Language/G1Quests/DeathMarkMessage",
|
||||
icon: "/Lotus/Interface/Icons/Npcs/Stalker_d.png",
|
||||
highPriority: true
|
||||
}
|
||||
]);
|
||||
// TODO: This type of inbox message seems to automatically delete itself. Figure out under which conditions.
|
||||
}
|
||||
}
|
||||
inventory.DeathMarks = value;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
// Equipment XP updates
|
||||
if (equipmentKeys.includes(key as TEquipmentKey)) {
|
||||
|
@ -107,6 +107,7 @@ export type IMissionInventoryUpdateRequest = {
|
||||
DropTable: string;
|
||||
DROP_MOD: number[];
|
||||
}[];
|
||||
DeathMarks?: string[];
|
||||
} & {
|
||||
[K in TEquipmentKey]?: IEquipmentClient[];
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user