返回提交历史
Modified
src/controllers/api/playerSkillsController.ts
+18
-4
XFEstudio/XFESpaceNinjaServer
feat: give on call crew gear item for command rank 9 (#2450)
Closes #2445 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/2450 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
45feff68
代码差异
1 个文件
+18
-4
@@ -1,25 +1,39 @@
1
1
import { getJSONfromString } from "@/src/helpers/stringHelpers";
2
import { getInventory } from "@/src/services/inventoryService";
2
import { addConsumables, getInventory } from "@/src/services/inventoryService";
3
3
import { getAccountIdForRequest } from "@/src/services/loginService";
4
4
import { IPlayerSkills } from "@/src/types/inventoryTypes/inventoryTypes";
5
import { IInventoryChanges } from "@/src/types/purchaseTypes";
5
6
import { RequestHandler } from "express";
6
7
7
8
export const playerSkillsController: RequestHandler = async (req, res) => {
8
9
const accountId = await getAccountIdForRequest(req);
9
const inventory = await getInventory(accountId, "PlayerSkills");
10
const inventory = await getInventory(accountId, "PlayerSkills Consumables");
10
11
const request = getJSONfromString<IPlayerSkillsRequest>(String(req.body));
11
12
12
13
const oldRank: number = inventory.PlayerSkills[request.Skill as keyof IPlayerSkills];
13
14
const cost = (request.Pool == "LPP_DRIFTER" ? drifterCosts[oldRank] : 1 << oldRank) * 1000;
14
15
inventory.PlayerSkills[request.Pool as keyof IPlayerSkills] -= cost;
15
16
inventory.PlayerSkills[request.Skill as keyof IPlayerSkills]++;
16
await inventory.save();
17
17
18
const inventoryChanges: IInventoryChanges = {};
19
if (request.Skill == "LPS_COMMAND" && inventory.PlayerSkills.LPS_COMMAND == 9) {
20
const consumablesChanges = [
21
{
22
ItemType: "/Lotus/Types/Restoratives/Consumable/CrewmateBall",
23
ItemCount: 1
24
}
25
];
26
addConsumables(inventory, consumablesChanges);
27
inventoryChanges.Consumables = consumablesChanges;
28
}
29
30
await inventory.save();
18
31
res.json({
19
32
Pool: request.Pool,
20
33
PoolInc: -cost,
21
34
Skill: request.Skill,
22
Rank: oldRank + 1
35
Rank: oldRank + 1,
36
InventoryChanges: inventoryChanges
23
37
});
24
38
};
25
39