fix: placing decorations in apartment in newer game versions (#2515)

Newer game versions use BootLocation instead of IsApartment

Reviewed-on: OpenWF/SpaceNinjaServer#2515
Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com>
Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
This commit is contained in:
Sainan 2025-07-20 01:29:08 -07:00 committed by Sainan
parent c3f486488f
commit 56aa3e3331

View File

@ -52,12 +52,7 @@ export const handleSetShipDecorations = async (
): Promise<IShipDecorationsResponse> => { ): Promise<IShipDecorationsResponse> => {
const personalRooms = await getPersonalRooms(accountId); const personalRooms = await getPersonalRooms(accountId);
const rooms = const rooms = getRoomsForBootLocation(personalRooms, placedDecoration);
placedDecoration.BootLocation == "SHOP"
? personalRooms.TailorShop.Rooms
: placedDecoration.IsApartment
? personalRooms.Apartment.Rooms
: personalRooms.Ship.Rooms;
const roomToPlaceIn = rooms.find(room => room.Name === placedDecoration.Room); const roomToPlaceIn = rooms.find(room => room.Name === placedDecoration.Room);
@ -192,12 +187,12 @@ export const handleSetShipDecorations = async (
const getRoomsForBootLocation = ( const getRoomsForBootLocation = (
personalRooms: TPersonalRoomsDatabaseDocument, personalRooms: TPersonalRoomsDatabaseDocument,
bootLocation: TBootLocation | undefined request: { BootLocation?: TBootLocation; IsApartment?: boolean }
): RoomsType[] => { ): RoomsType[] => {
if (bootLocation == "SHOP") { if (request.BootLocation == "SHOP") {
return personalRooms.TailorShop.Rooms; return personalRooms.TailorShop.Rooms;
} }
if (bootLocation == "APARTMENT") { if (request.BootLocation == "APARTMENT" || request.IsApartment) {
return personalRooms.Apartment.Rooms; return personalRooms.Apartment.Rooms;
} }
return personalRooms.Ship.Rooms; return personalRooms.Ship.Rooms;
@ -217,7 +212,7 @@ export const handleSetPlacedDecoInfo = async (accountId: string, req: ISetPlaced
const personalRooms = await getPersonalRooms(accountId); const personalRooms = await getPersonalRooms(accountId);
const room = getRoomsForBootLocation(personalRooms, req.BootLocation).find(room => room.Name === req.Room); const room = getRoomsForBootLocation(personalRooms, req).find(room => room.Name === req.Room);
if (!room) { if (!room) {
throw new Error(`unknown room: ${req.Room}`); throw new Error(`unknown room: ${req.Room}`);
} }