fix: improve detection of modular weapon category
This commit is contained in:
parent
f1c0c5a429
commit
f8da1d74e6
@ -4,18 +4,30 @@ import { getJSONfromString } from "@/src/helpers/stringHelpers";
|
|||||||
import { TEquipmentKey } from "@/src/types/inventoryTypes/inventoryTypes";
|
import { TEquipmentKey } from "@/src/types/inventoryTypes/inventoryTypes";
|
||||||
import { getInventory, updateCurrency, addEquipment, addMiscItems } from "@/src/services/inventoryService";
|
import { getInventory, updateCurrency, addEquipment, addMiscItems } from "@/src/services/inventoryService";
|
||||||
|
|
||||||
const modularWeaponTypes: Record<string, TEquipmentKey> = {
|
const modularWeaponTypeToCategory = (type: string): TEquipmentKey | undefined => {
|
||||||
"/Lotus/Weapons/SolarisUnited/Primary/LotusModularPrimaryBeam": "LongGuns",
|
if (type.indexOf("LotusModularPrimary") != -1) {
|
||||||
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary": "Pistols",
|
return "LongGuns";
|
||||||
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryBeam": "Pistols",
|
}
|
||||||
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryShotgun": "Pistols",
|
if (type.indexOf("LotusModularSecondary") != -1) {
|
||||||
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon": "Melee",
|
return "Pistols";
|
||||||
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon": "OperatorAmps",
|
}
|
||||||
"/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit": "Hoverboards",
|
switch (type) {
|
||||||
"/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit": "MoaPets",
|
case "/Lotus/Weapons/Ostron/Melee/LotusModularWeapon":
|
||||||
"/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetAPowerSuit": "MoaPets",
|
return "Melee";
|
||||||
"/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetBPowerSuit": "MoaPets",
|
case "/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon":
|
||||||
"/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetCPowerSuit": "MoaPets"
|
return "OperatorAmps";
|
||||||
|
case "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit":
|
||||||
|
return "Hoverboards";
|
||||||
|
case "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit":
|
||||||
|
return "MoaPets";
|
||||||
|
case "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetAPowerSuit":
|
||||||
|
return "MoaPets";
|
||||||
|
case "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetBPowerSuit":
|
||||||
|
return "MoaPets";
|
||||||
|
case "/Lotus/Types/Friendly/Pets/ZanukaPets/ZanukaPetCPowerSuit":
|
||||||
|
return "MoaPets";
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
};
|
};
|
||||||
|
|
||||||
interface IModularCraftRequest {
|
interface IModularCraftRequest {
|
||||||
@ -26,10 +38,10 @@ interface IModularCraftRequest {
|
|||||||
export const modularWeaponCraftingController: RequestHandler = async (req, res) => {
|
export const modularWeaponCraftingController: RequestHandler = async (req, res) => {
|
||||||
const accountId = await getAccountIdForRequest(req);
|
const accountId = await getAccountIdForRequest(req);
|
||||||
const data = getJSONfromString(String(req.body)) as IModularCraftRequest;
|
const data = getJSONfromString(String(req.body)) as IModularCraftRequest;
|
||||||
if (!(data.WeaponType in modularWeaponTypes)) {
|
const category = modularWeaponTypeToCategory(data.WeaponType);
|
||||||
|
if (!category) {
|
||||||
throw new Error(`unknown modular weapon type: ${data.WeaponType}`);
|
throw new Error(`unknown modular weapon type: ${data.WeaponType}`);
|
||||||
}
|
}
|
||||||
const category = modularWeaponTypes[data.WeaponType];
|
|
||||||
|
|
||||||
// Give weapon
|
// Give weapon
|
||||||
const weapon = await addEquipment(category, data.WeaponType, accountId, data.Parts);
|
const weapon = await addEquipment(category, data.WeaponType, accountId, data.Parts);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user