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

XFESpaceNinjaServer

A simple server for a small space ninja game

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

XFEstudio/XFESpaceNinjaServer

chore: validate railjack repair start (#1698)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/1698 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>

f94ecbfb
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +20 -1
Modified src/controllers/api/guildTechController.ts +20 -1
@@ -97,6 +97,19 @@ export const guildTechController: RequestHandler = async (req, res) => {
97 97 res.end();
98 98 } else {
99 99 const recipe = ExportDojoRecipes.research[data.RecipeType];
100 if (data.TechProductCategory) {
101 if (
102 data.TechProductCategory != "CrewShipWeapons" &&
103 data.TechProductCategory != "CrewShipWeaponSkins"
104 ) {
105 throw new Error(`unexpected TechProductCategory: ${data.TechProductCategory}`);
106 }
107 if (!inventory[getSalvageCategory(data.TechProductCategory)].id(data.CategoryItemId)) {
108 throw new Error(
109 `no item with id ${data.CategoryItemId} in ${getSalvageCategory(data.TechProductCategory)} array`
110 );
111 }
112 }
100 113 const techProject =
101 114 inventory.PersonalTechProjects[
102 115 inventory.PersonalTechProjects.push({
@@ -380,6 +393,12 @@ interface IGuildTechContributeRequest {
380 393 VaultMiscItems: IMiscItem[];
381 394 }
382 395
396 const getSalvageCategory = (
397 category: "CrewShipWeapons" | "CrewShipWeaponSkins"
398 ): "CrewShipSalvagedWeapons" | "CrewShipSalvagedWeaponSkins" => {
399 return category == "CrewShipWeapons" ? "CrewShipSalvagedWeapons" : "CrewShipSalvagedWeaponSkins";
400 };
401
383 402 const claimSalvagedComponent = (inventory: TInventoryDatabaseDocument, itemId: string): IInventoryChanges => {
384 403 // delete personal tech project
385 404 const personalTechProjectIndex = inventory.PersonalTechProjects.findIndex(x => x.CategoryItemId?.equals(itemId));
@@ -387,7 +406,7 @@ const claimSalvagedComponent = (inventory: TInventoryDatabaseDocument, itemId: s
387 406 inventory.PersonalTechProjects.splice(personalTechProjectIndex, 1);
388 407
389 408 const category = personalTechProject.ProductCategory! as "CrewShipWeapons" | "CrewShipWeaponSkins";
390 const salvageCategory = category == "CrewShipWeapons" ? "CrewShipSalvagedWeapons" : "CrewShipSalvagedWeaponSkins";
409 const salvageCategory = getSalvageCategory(category);
391 410
392 411 // find salved part & delete it
393 412 const salvageIndex = inventory[salvageCategory].findIndex(x => x._id.equals(itemId));