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 { WeaponTypeInternal } from "@/src/services/itemDataService";
import { getInventory, updateCurrency, addWeapon, addMiscItems } from "@/src/services/inventoryService"; 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/Primary/LotusModularPrimaryBeam": "LongGuns",
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary": "Pistols", "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondary": "Pistols",
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryBeam": "Pistols", "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryBeam": "Pistols",
"/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryShotgun": "Pistols", "/Lotus/Weapons/SolarisUnited/Secondary/LotusModularSecondaryShotgun": "Pistols",
"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon": "Melee", "/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 { interface IModularCraftRequest {
@ -30,8 +31,8 @@ export const modularWeaponCraftingController: RequestHandler = async (req, res)
// Give weapon // Give weapon
const weapon = await addWeapon(category, data.WeaponType, accountId, data.Parts); const weapon = await addWeapon(category, data.WeaponType, accountId, data.Parts);
// Remove 4000 credits // Remove credits
const currencyChanges = await updateCurrency(4000, false, accountId); const currencyChanges = await updateCurrency(category == "Hoverboards" ? 5000 : 4000, false, accountId);
// Remove parts // Remove parts
const miscItemChanges = []; const miscItemChanges = [];

View File

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

View File

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