XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

SpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 1 Star 0
返回提交历史

XFEstudio/SpaceNinjaServer

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
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +18 -4
Modified src/controllers/api/playerSkillsController.ts +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