From a6d8ff8ee7a9bb2287d03cfd847c9ae2a89fae7a Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Wed, 9 Apr 2025 16:18:52 +0200 Subject: [PATCH 1/3] feat: FlareShawzin --- src/controllers/api/saveDialogueController.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/controllers/api/saveDialogueController.ts b/src/controllers/api/saveDialogueController.ts index 55819636..5ad1c994 100644 --- a/src/controllers/api/saveDialogueController.ts +++ b/src/controllers/api/saveDialogueController.ts @@ -1,6 +1,7 @@ -import { getInventory } from "@/src/services/inventoryService"; +import { addEmailItem, getInventory } from "@/src/services/inventoryService"; import { getAccountIdForRequest } from "@/src/services/loginService"; import { ICompletedDialogue } from "@/src/types/inventoryTypes/inventoryTypes"; +import { IInventoryChanges } from "@/src/types/purchaseTypes"; import { logger } from "@/src/utils/logger"; import { RequestHandler } from "express"; @@ -24,6 +25,7 @@ export const saveDialogueController: RequestHandler = async (req, res) => { if (request.QueuedDialogues.length != 0 || request.OtherDialogueInfos.length != 0) { logger.error(`saveDialogue request not fully handled: ${String(req.body)}`); } + const inventoryChanges: IInventoryChanges = {}; inventory.DialogueHistory.Dialogues ??= []; let dialogue = inventory.DialogueHistory.Dialogues.find(x => x.DialogueName == request.DialogueName); if (!dialogue) { @@ -48,6 +50,12 @@ export const saveDialogueController: RequestHandler = async (req, res) => { //dialogue.QueuedDialogues = request.QueuedDialogues; for (const bool of request.Booleans) { dialogue.Booleans.push(bool); + if (bool == "FlareShawzin") { + await addEmailItem(inventory, "/Lotus/Types/Items/EmailItems/LizzieShawzinSkinEmailItem"); + inventoryChanges.EmailItems = [ + { ItemType: "/Lotus/Types/Items/EmailItems/LizzieShawzinSkinEmailItem", ItemCount: 1 } + ]; + } } for (const bool of request.ResetBooleans) { const index = dialogue.Booleans.findIndex(x => x == bool); @@ -60,7 +68,7 @@ export const saveDialogueController: RequestHandler = async (req, res) => { dialogue.AvailableDate = new Date(tomorrowAt0Utc); await inventory.save(); res.json({ - InventoryChanges: [], + InventoryChanges: inventoryChanges, AvailableDate: { $date: { $numberLong: tomorrowAt0Utc.toString() } } }); } -- 2.47.2 From b13e48904cd1c76b8d3f593e46b9c0daa32d6a09 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Wed, 9 Apr 2025 16:20:14 +0200 Subject: [PATCH 2/3] of course this is the one bool with inconsistent naming --- src/controllers/api/saveDialogueController.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/controllers/api/saveDialogueController.ts b/src/controllers/api/saveDialogueController.ts index 5ad1c994..aae7b3a5 100644 --- a/src/controllers/api/saveDialogueController.ts +++ b/src/controllers/api/saveDialogueController.ts @@ -50,7 +50,7 @@ export const saveDialogueController: RequestHandler = async (req, res) => { //dialogue.QueuedDialogues = request.QueuedDialogues; for (const bool of request.Booleans) { dialogue.Booleans.push(bool); - if (bool == "FlareShawzin") { + if (bool == "LizzieShawzin") { await addEmailItem(inventory, "/Lotus/Types/Items/EmailItems/LizzieShawzinSkinEmailItem"); inventoryChanges.EmailItems = [ { ItemType: "/Lotus/Types/Items/EmailItems/LizzieShawzinSkinEmailItem", ItemCount: 1 } -- 2.47.2 From 543ae25071d7f62d430faed049c5fde42a6e8696 Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Wed, 9 Apr 2025 16:26:06 +0200 Subject: [PATCH 3/3] let addEmailItem populate inventoryChanges --- src/controllers/api/saveDialogueController.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/controllers/api/saveDialogueController.ts b/src/controllers/api/saveDialogueController.ts index aae7b3a5..1108d931 100644 --- a/src/controllers/api/saveDialogueController.ts +++ b/src/controllers/api/saveDialogueController.ts @@ -51,10 +51,11 @@ export const saveDialogueController: RequestHandler = async (req, res) => { for (const bool of request.Booleans) { dialogue.Booleans.push(bool); if (bool == "LizzieShawzin") { - await addEmailItem(inventory, "/Lotus/Types/Items/EmailItems/LizzieShawzinSkinEmailItem"); - inventoryChanges.EmailItems = [ - { ItemType: "/Lotus/Types/Items/EmailItems/LizzieShawzinSkinEmailItem", ItemCount: 1 } - ]; + await addEmailItem( + inventory, + "/Lotus/Types/Items/EmailItems/LizzieShawzinSkinEmailItem", + inventoryChanges + ); } } for (const bool of request.ResetBooleans) { -- 2.47.2