fix fusionTreasures

This commit is contained in:
Master 2024-07-06 02:58:04 +08:00
parent a4ec3833bf
commit 53c125718d
2 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,36 @@
import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { getInventory } from "@/src/services/inventoryService";
import { getAccountIdForRequest } from "@/src/services/loginService";
import { RequestHandler } from "express";
export interface IFusionTreasuresRequest {
oldTreasureName: string;
newTreasureName: string;
}
// eslint-disable-next-line @typescript-eslint/no-misused-promises
const fusionTreasuresController: RequestHandler = async (req, res) => {
const accountId = await getAccountIdForRequest(req);
const inventory = await getInventory(accountId);
// {"oldTreasureName":"/Lotus/Types/Items/FusionTreasures/OroFusexG_01","newTreasureName":"/Lotus/Types/Items/FusionTreasures/OroFusexG_05"}
const payload = getJSONfromString(String(req.body)) as IFusionTreasuresRequest;
const newTreasureName = payload.newTreasureName;
const treasureName = newTreasureName.substring(0, newTreasureName.lastIndexOf("_"));
const sockets = newTreasureName.substring(newTreasureName.lastIndexOf("_") + 1);
console.log("fusionTreasure:" + treasureName + " " + sockets);
const fusionTreasureIndex = inventory.FusionTreasures.findIndex(ft =>
payload.oldTreasureName.includes(ft.ItemType)
);
inventory.FusionTreasures[fusionTreasureIndex].Sockets = parseInt(sockets, 16);
// todo
// remove /Lotus/Types/Items/FusionTreasures/OroFusexOrnamentA
// remove /Lotus/Types/Items/FusionTreasures/OroFusexOrnamentB
await inventory.save();
res.json({
InventoryChanges: {
FusionTreasures: [inventory.FusionTreasures[fusionTreasureIndex]]
}
});
};
export { fusionTreasuresController };

View File

@ -10,6 +10,7 @@ import { dronesController } from "@/src/controllers/api/dronesController";
import { evolveWeaponController } from "@/src/controllers/api/evolveWeaponController"; import { evolveWeaponController } from "@/src/controllers/api/evolveWeaponController";
import { findSessionsController } from "@/src/controllers/api/findSessionsController"; import { findSessionsController } from "@/src/controllers/api/findSessionsController";
import { focusController } from "@/src/controllers/api/focusController"; import { focusController } from "@/src/controllers/api/focusController";
import { fusionTreasuresController } from "@/src/controllers/api/fusionTreasuresController";
import { genericUpdateController } from "@/src/controllers/api/genericUpdateController"; import { genericUpdateController } from "@/src/controllers/api/genericUpdateController";
import { getAllianceController } from "@/src/controllers/api/getAllianceController"; import { getAllianceController } from "@/src/controllers/api/getAllianceController";
import { getCreditsController } from "@/src/controllers/api/getCreditsController"; import { getCreditsController } from "@/src/controllers/api/getCreditsController";
@ -107,6 +108,7 @@ apiRouter.post("/createGuild.php", createGuildController);
apiRouter.post("/evolveWeapon.php", evolveWeaponController); apiRouter.post("/evolveWeapon.php", evolveWeaponController);
apiRouter.post("/findSessions.php", findSessionsController); apiRouter.post("/findSessions.php", findSessionsController);
apiRouter.post("/focus.php", focusController); apiRouter.post("/focus.php", focusController);
apiRouter.post("/fusionTreasures.php", fusionTreasuresController);
apiRouter.post("/genericUpdate.php", genericUpdateController); apiRouter.post("/genericUpdate.php", genericUpdateController);
apiRouter.post("/getAlliance.php", getAllianceController); apiRouter.post("/getAlliance.php", getAllianceController);
apiRouter.post("/gildWeapon.php", gildWeaponController); apiRouter.post("/gildWeapon.php", gildWeaponController);