返回提交历史
Modified
package-lock.json
+4
-4
Modified
package.json
+1
-1
Modified
src/controllers/custom/getItemListsController.ts
+8
-2
Modified
src/services/inventoryService.ts
+5
-2
Modified
static/webui/script.js
+12
-1
XFEstudio/XFESpaceNinjaServer
chore: improve handling of bayonets (#3502)
Closes #3501 Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3502 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
c8023919
代码差异
5 个文件
+30
-10
@@ -18,7 +18,7 @@
18
18
"morgan": "^1.10.0",
19
19
"ncp": "^2.0.0",
20
20
"undici": "^7.10.0",
21
"warframe-public-export-plus": "^0.5.101",
21
"warframe-public-export-plus": "^0.5.102",
22
22
"warframe-riven-info": "^0.1.2",
23
23
"winston": "^3.17.0",
24
24
"winston-daily-rotate-file": "^5.0.0",
@@ -3964,9 +3964,9 @@
3964
3964
}
3965
3965
},
3966
3966
"node_modules/warframe-public-export-plus": {
3967
"version": "0.5.101",
3968
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.101.tgz",
3969
"integrity": "sha512-gicCnm400RzMhg0eRgOtgrvUTMzRWsd82319kj6aBOWy9Q6hEU8qVWWxkBa/YdAPHRf0QD1CkAq093p5VxAt3w=="
3967
"version": "0.5.102",
3968
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.102.tgz",
3969
"integrity": "sha512-J1sYAas39E+vWSEoU7nIdjmXHBb50zGJMelQP3KlyGadd+f33U1IdzT43wkYUVSYHSCi6HI+dVPKF6Ao6t3t5Q=="
3970
3970
},
3971
3971
"node_modules/warframe-riven-info": {
3972
3972
"version": "0.1.2",
@@ -35,7 +35,7 @@
35
35
"morgan": "^1.10.0",
36
36
"ncp": "^2.0.0",
37
37
"undici": "^7.10.0",
38
"warframe-public-export-plus": "^0.5.101",
38
"warframe-public-export-plus": "^0.5.102",
39
39
"warframe-riven-info": "^0.1.2",
40
40
"winston": "^3.17.0",
41
41
"winston-daily-rotate-file": "^5.0.0",
@@ -213,12 +213,18 @@ const getItemListsController: RequestHandler = (req, response) => {
213
213
item.productCategory == "SentinelWeapons" ||
214
214
item.productCategory == "OperatorAmps"
215
215
) {
216
res[item.productCategory].push({
216
const listedItem: ListedItem = {
217
217
uniqueName,
218
218
name: getString(item.name, lang),
219
219
maxLevelCap: item.maxLevelCap,
220
220
parentName: item.parentName
221
});
221
};
222
res[item.productCategory].push(listedItem);
223
224
// Only allow the rifle part of a bayonet to be added via webui.
225
if (item.bayonetOtherWeaponType && item.excludeFromMarket) {
226
listedItem.badReason = "notraw";
227
}
222
228
}
223
229
} else if (!item.excludeFromCodex) {
224
230
res.miscitems.push({
@@ -724,13 +724,16 @@ export const addItem = async (
724
724
}
725
725
const inventoryChanges: IInventoryChanges = {};
726
726
defaultOverwrites.Configs = applyDefaultUpgrades(inventory, weapon.defaultUpgrades, inventoryChanges);
727
if (typeName == "/Lotus/Weapons/Tenno/Bayonet/TnBayonetRifleWeapon") {
727
if (
728
weapon.bayonetOtherWeaponType && // Is this a bayonet?
729
!weapon.excludeFromMarket // Is this is the rifle half?
730
) {
728
731
defaultOverwrites._id = new Types.ObjectId();
729
732
defaultOverwrites.AltWeaponModeId = new Types.ObjectId();
730
733
addEquipment(
731
734
inventory,
732
735
"Melee",
733
"/Lotus/Weapons/Tenno/Bayonet/TnBayonetMeleeWeapon",
736
weapon.bayonetOtherWeaponType,
734
737
{
735
738
_id: defaultOverwrites.AltWeaponModeId,
736
739
AltWeaponModeId: defaultOverwrites._id,
@@ -1034,6 +1034,7 @@ function translateInventoryDataToDom() {
1034
1034
.sort((a, b) => (b.Favorite ? 1 : 0) - (a.Favorite ? 1 : 0))
1035
1035
.forEach(item => {
1036
1036
const tr = document.createElement("tr");
1037
tr.setAttribute("data-item-oid", item.ItemId.$oid);
1037
1038
tr.setAttribute("data-item-type", item.ItemType);
1038
1039
{
1039
1040
const td = document.createElement("td");
@@ -1197,8 +1198,18 @@ function translateInventoryDataToDom() {
1197
1198
a.href = "#";
1198
1199
a.onclick = function (event) {
1199
1200
event.preventDefault();
1200
document.getElementById(category + "-list").removeChild(tr);
1201
tr.parentNode.removeChild(tr);
1201
1202
disposeOfGear(category, item.ItemId.$oid);
1203
if (item.AltWeaponModeId) {
1204
const otherCategory = category == "Melee" ? "LongGuns" : "Melee";
1205
const otherTr = document.querySelector(
1206
`[data-item-oid="${item.AltWeaponModeId.$oid}"]`
1207
);
1208
if (otherTr) {
1209
otherTr.parentNode.removeChild(otherTr);
1210
disposeOfGear(otherCategory, item.AltWeaponModeId.$oid);
1211
}
1212
}
1202
1213
};
1203
1214
a.title = loc("code_remove");
1204
1215
a.innerHTML = icons.trash;