feat: implement k-drive crafting (#339)

This commit is contained in:
Sainan 2024-06-20 22:27:32 +02:00 committed by GitHub
parent c415fdd9ff
commit 8ee6f1a04b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 5 deletions

View File

@ -4,13 +4,14 @@ import { getJSONfromString } from "@/src/helpers/stringHelpers";
import { WeaponTypeInternal } from "@/src/services/itemDataService";
import { getInventory, updateCurrency, addWeapon, addMiscItems } from "@/src/services/inventoryService";
const modularWeaponTypes: Record<string, WeaponTypeInternal> = {
const modularWeaponTypes: Record<string, WeaponTypeInternal | "Hoverboards"> = {
"/Lotus/Weapons/SolarisUnited/Primary/LotusModularPrimaryBeam": "LongGuns",
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary": "Pistols",
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryBeam": "Pistols",
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryShotgun": "Pistols",
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon": "Melee",
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon": "OperatorAmps"
"/Lotus/Weapons/Sentients/OperatorAmplifiers/OperatorAmpWeapon": "OperatorAmps",
"/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit": "Hoverboards"
};
interface IModularCraftRequest {
@ -30,8 +31,8 @@ export const modularWeaponCraftingController: RequestHandler = async (req, res)
// Give weapon
const weapon = await addWeapon(category, data.WeaponType, accountId, data.Parts);
// Remove 4000 credits
const currencyChanges = await updateCurrency(4000, false, accountId);
// Remove credits
const currencyChanges = await updateCurrency(category == "Hoverboards" ? 5000 : 4000, false, accountId);
// Remove parts
const miscItemChanges = [];

View File

@ -975,6 +975,7 @@ type InventoryDocumentProps = {
SpaceGuns: Types.DocumentArray<IEquipmentDatabase>;
SpaceMelee: Types.DocumentArray<IEquipmentDatabase>;
SentinelWeapons: Types.DocumentArray<IEquipmentDatabase>;
Hoverboards: Types.DocumentArray<IEquipmentDatabase>;
};
// eslint-disable-next-line @typescript-eslint/ban-types

View File

@ -425,7 +425,7 @@ export const syndicateSacrifice = async (
};
export const addWeapon = async (
weaponType: WeaponTypeInternal,
weaponType: WeaponTypeInternal | "Hoverboards",
weaponName: string,
accountId: string,
modularParts: string[] | undefined = undefined