返回提交历史
Modified
src/controllers/api/inventoryController.ts
+5
-0
Modified
src/controllers/custom/importController.ts
+4
-1
Modified
src/services/inventoryService.ts
+25
-0
XFEstudio/XFESpaceNinjaServer
chore: ensure 'founders' get their honoria as intended (#3714)
Closes #3330 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3714 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
936942e8
代码差异
3 个文件
+34
-1
@@ -26,6 +26,7 @@ import {
26
26
checkCalendarAutoAdvance,
27
27
cleanupInventory,
28
28
createLibraryDailyTask,
29
ensureUserHasFounderHonoria,
29
30
getCalendarProgress
30
31
} from "../../services/inventoryService.ts";
31
32
import { logger } from "../../utils/logger.ts";
@@ -231,6 +232,10 @@ export const inventoryController: RequestHandler = async (request, response) =>
231
232
}
232
233
}
233
234
235
if (inventory.Founder) {
236
await ensureUserHasFounderHonoria(inventory);
237
}
238
234
239
cleanupInventory(inventory);
235
240
236
241
inventory.NextRefill = new Date((today + 1) * 86400000); // tomorrow at 0 UTC
@@ -1,5 +1,5 @@
1
1
import { importInventory, importLoadOutPresets, importPersonalRooms } from "../../services/importService.ts";
2
import { getInventory } from "../../services/inventoryService.ts";
2
import { ensureUserHasFounderHonoria, getInventory } from "../../services/inventoryService.ts";
3
3
import { getLoadout } from "../../services/loadoutService.ts";
4
4
import { getAccountIdForRequest } from "../../services/loginService.ts";
5
5
import { getPersonalRooms } from "../../services/personalRoomsService.ts";
@@ -18,6 +18,9 @@ export const importController: RequestHandler = async (req, res) => {
18
18
importInventory(inventory, request.inventory);
19
19
if (inventory.isModified()) {
20
20
anyKnownKey = true;
21
if (inventory.Founder) {
22
await ensureUserHasFounderHonoria(inventory);
23
}
21
24
await inventory.save();
22
25
}
23
26
@@ -2984,3 +2984,28 @@ export const updateEntratiVault = (inventory: TInventoryDatabaseDocument): void
2984
2984
}
2985
2985
}
2986
2986
};
2987
2988
export const ensureUserHasFounderHonoria = async (inventory: TInventoryDatabaseDocument): Promise<void> => {
2989
if (!inventory.FlavourItems.some(x => x.ItemType == "/Lotus/Types/Items/Titles/FounderLvl1Title")) {
2990
const eligibleItems = [
2991
"/Lotus/Types/Items/Titles/FounderLvl1Title",
2992
"/Lotus/Types/Items/Titles/FounderLvl2Title",
2993
"/Lotus/Types/Items/Titles/FounderLvl3Title",
2994
"/Lotus/Types/Items/Titles/FounderLvl4Title"
2995
].splice(0, inventory.Founder);
2996
for (const item of eligibleItems) {
2997
addCustomization(inventory, item);
2998
}
2999
await createMessage(inventory.accountOwnerId, [
3000
{
3001
sndr: "/Lotus/Language/CircleOfHell/RoatheName",
3002
icon: "/Lotus/Interface/Icons/Npcs/Roathe.png",
3003
sub: "/Lotus/Language/Inbox/FounderTitleReceivedTitle",
3004
msg: "/Lotus/Language/Inbox/FounderTitleReceivedBody",
3005
att: eligibleItems,
3006
highPriority: true, // TOVERIFY
3007
attVisualOnly: true
3008
}
3009
]);
3010
}
3011
};