XFE Git
XFE Studio Git
Git 首页 全局搜索
XFE 主站 文档 NuGet

XFESpaceNinjaServer

A simple server for a small space ninja game

公开
关注 0 Fork 0 Star 0
返回提交历史

XFEstudio/XFESpaceNinjaServer

feat: U5 upgrade tree (#3628)

Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3628 Reviewed-by: Sainan <63328889+sainan@users.noreply.github.com> Co-authored-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com> Co-committed-by: AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>

b5156be8
AMelonInsideLemon <166175391+AMelonInsideLemon@users.noreply.github.com>
提交于

代码差异

5 个文件 +30 -2
Modified src/controllers/api/inventoryController.ts +10 -0
@@ -778,6 +778,16 @@ export const getInventoryResponse = async (
778 778 for (const item of inventoryResponse.Drones) {
779 779 toLegacyOid(item.ItemId);
780 780 }
781
782 if (version_compare(buildLabel, gameToBuildVersion["7.3.0"]) < 0) {
783 for (const category of equipmentKeys) {
784 for (const item of inventoryResponse[category]) {
785 if (item.Features && item.Features & EquipmentFeatures.DOUBLE_CAPACITY) {
786 item.UnlockLevel = 1;
787 }
788 }
789 }
790 }
781 791 }
782 792 }
783 793 }
Modified src/controllers/api/upgradesController.ts +11 -0
@@ -145,6 +145,17 @@ export const upgradesController: RequestHandler = async (req, res) => {
145 145 });
146 146 }
147 147 }
148
149 if (payload.Weapon.UnlockLevel && payload.Weapon.UnlockLevel > 0) {
150 const item = inventory[payload.Category].id(itemId)!;
151 item.Features ??= 0;
152 item.Features |= EquipmentFeatures.DOUBLE_CAPACITY;
153 updateCurrency(inventory, 20, true);
154 }
155 if (payload.Weapon.UpgradeNodes != undefined) {
156 const item = inventory[payload.Category].id(itemId)!;
157 item.UpgradeNodes = payload.Weapon.UpgradeNodes;
158 }
148 159 }
149 160 } else {
150 161 const payload = JSON.parse(String(req.body)) as IUpgradesRequest;
Modified src/models/inventoryModels/inventoryModel.ts +2 -1
@@ -1142,7 +1142,8 @@ const EquipmentSchema = new Schema<IEquipmentDatabase>(
1142 1142 Details: detailsSchema,
1143 1143 Favorite: Boolean,
1144 1144 IsNew: Boolean,
1145 AltWeaponModeId: Types.ObjectId
1145 AltWeaponModeId: Types.ObjectId,
1146 UpgradeNodes: Number
1146 1147 },
1147 1148 { id: false }
1148 1149 );
Modified src/types/equipmentTypes.ts +1 -0
@@ -64,6 +64,7 @@ export interface IEquipmentDatabase {
64 64 Favorite?: boolean;
65 65 IsNew?: boolean;
66 66 AltWeaponModeId?: Types.ObjectId;
67 UpgradeNodes?: number;
67 68 _id: Types.ObjectId;
68 69 }
69 70
Modified src/types/requestTypes.ts +6 -1
@@ -246,7 +246,12 @@ export interface IUpgradesRequest {
246 246 }
247 247 export interface IUpgradesRequestLegacy {
248 248 Category: TEquipmentKey;
249 Weapon: { ItemType: string; ItemId: IOidWithLegacySupport };
249 Weapon: {
250 ItemType: string;
251 ItemId: IOidWithLegacySupport;
252 UpgradeNodes?: number;
253 UnlockLevel?: number;
254 };
250 255 UpgradeVer: number;
251 256 UnlockLevel: number;
252 257 Polarized: number;