返回提交历史
Modified
src/constants/gameToBuildVersion.ts
+3
-1
Modified
src/controllers/api/inventoryController.ts
+5
-0
Modified
src/services/itemDataService.ts
+148
-4
Modified
static/webui/script.js
+11
-2
XFEstudio/XFESpaceNinjaServer
chore: U5.2 mod data (#3944)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3944 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>
0c197c51
代码差异
4 个文件
+167
-7
@@ -68,6 +68,8 @@ const gameToBuildVersion = {
68
68
"9.1.0": "2013.07.13.03.21",
69
69
"8.3.0": "2013.07.04.20.17",
70
70
"8.0.0": "2013.05.23.16.06",
71
"7.3.0": "2013.03.25.11.45"
71
"7.3.0": "2013.03.25.11.45",
72
"5.2.0": "2013.01.04.10.41",
73
"5.1.0": "2012.12.31.16.20"
72
74
} as const;
73
75
export default gameToBuildVersion as Record<keyof typeof gameToBuildVersion, string>;
@@ -933,6 +933,11 @@ export const getInventoryResponse = async (
933
933
"/Lotus/Upgrades/Modules/OrokinWarframeModule",
934
934
"/Lotus/Upgrades/Modules/Crafted/IncendiaryRifleMod"
935
935
];
936
937
if (version_compare(buildLabel, gameToBuildVersion["5.2.0"]) >= 0) {
938
allowedMods.push("/Lotus/Upgrades/Modules/TennoSwordModule");
939
}
940
936
941
inventoryResponse.RawUpgrades = inventoryResponse.RawUpgrades.filter(x =>
937
942
allowedMods.includes(x.ItemType)
938
943
);
@@ -1105,6 +1105,150 @@ export const U5Modules: Record<string, IU5FingerprintData> = {
1105
1105
{ number: 1, rarity: "COMMON" },
1106
1106
{ number: 1, rarity: "RARE" }
1107
1107
]
1108
},
1109
"/Lotus/Upgrades/Modules/TennoSwordModule": {
1110
fits: [
1111
{
1112
type: "/Lotus/Weapons/Tenno/Melee/DualShortSword/DualShortSword",
1113
rarity: "UNCOMMON"
1114
},
1115
{
1116
type: "/Lotus/Weapons/Tenno/Melee/LongSword/LongSword",
1117
rarity: "UNCOMMON"
1118
},
1119
{
1120
type: "/Lotus/Weapons/Tenno/Melee/Staff/Staff",
1121
rarity: "UNCOMMON"
1122
},
1123
{
1124
type: "/Lotus/Types/Game/LotusMeleeWeapon",
1125
rarity: "COMMON"
1126
}
1127
],
1128
upgrades: [
1129
{
1130
type: "WEAPON_MELEE_DAMAGE",
1131
operation: "MULTIPLY",
1132
valueRarity: {
1133
COMMON: [1.05, 1.15],
1134
UNCOMMON: [1.075, 1.25],
1135
RARE: [1.15, 1.5]
1136
},
1137
rarity: "COMMON"
1138
},
1139
{
1140
type: "WEAPON_FIRE_DAMAGE",
1141
operation: "ADD",
1142
valueRarity: {
1143
COMMON: [0.05, 0.15],
1144
UNCOMMON: [0.075, 0.25],
1145
RARE: [0.1, 0.5]
1146
},
1147
rarity: "RARE",
1148
displayAsPercent: true
1149
},
1150
{
1151
type: "WEAPON_ELECTRICITY_DAMAGE",
1152
operation: "ADD",
1153
valueRarity: {
1154
COMMON: [0.05, 0.15],
1155
UNCOMMON: [0.075, 0.25],
1156
RARE: [0.1, 0.5]
1157
},
1158
rarity: "COMMON",
1159
displayAsPercent: true
1160
},
1161
{
1162
type: "WEAPON_FREEZE_DAMAGE",
1163
operation: "ADD",
1164
valueRarity: {
1165
COMMON: [0.05, 0.15],
1166
UNCOMMON: [0.075, 0.25],
1167
RARE: [0.1, 0.5]
1168
},
1169
rarity: "COMMON",
1170
displayAsPercent: true
1171
},
1172
{
1173
type: "WEAPON_ARMOR_PIERCING_DAMAGE",
1174
operation: "ADD",
1175
valueRarity: {
1176
COMMON: [0.05, 0.15],
1177
UNCOMMON: [0.075, 0.25],
1178
RARE: [0.1, 0.5]
1179
},
1180
rarity: "COMMON",
1181
displayAsPercent: true
1182
},
1183
{
1184
type: "WEAPON_STUN_CHANCE",
1185
operation: "ADD",
1186
valueRarity: {
1187
COMMON: [0.05, 0.1],
1188
UNCOMMON: [0.1, 0.2],
1189
RARE: [0.2, 0.4]
1190
},
1191
rarity: "UNCOMMON",
1192
displayAsPercent: true
1193
},
1194
{
1195
type: "WEAPON_CRIT_CHANCE",
1196
operation: "ADD",
1197
valueRarity: {
1198
COMMON: [0.01, 0.1],
1199
UNCOMMON: [0.02, 0.15],
1200
RARE: [0.05, 0.25]
1201
},
1202
rarity: "COMMON",
1203
displayAsPercent: true
1204
},
1205
{
1206
type: "WEAPON_CRIT_DAMAGE",
1207
operation: "ADD",
1208
valueRarity: {
1209
COMMON: [0.05, 1],
1210
UNCOMMON: [0.1, 1.5],
1211
RARE: [0.2, 2]
1212
},
1213
rarity: "COMMON",
1214
displayAsPercent: true
1215
},
1216
{
1217
type: "WEAPON_MELEE_HEAVY_DAMAGE",
1218
operation: "MULTIPLY",
1219
valueRarity: {
1220
COMMON: [1.025, 1.25],
1221
UNCOMMON: [1.05, 1.5],
1222
RARE: [1.15, 1.75]
1223
},
1224
rarity: "UNCOMMON"
1225
},
1226
{
1227
type: "WEAPON_MELEE_CHARGE_RATE",
1228
operation: "ADD",
1229
valueRarity: {
1230
COMMON: [0.025, 0.3],
1231
UNCOMMON: [0.05, 0.4],
1232
RARE: [0.1, 0.5]
1233
},
1234
rarity: "UNCOMMON",
1235
displayAsPercent: true
1236
},
1237
{
1238
type: "WEAPON_FIRE_RATE",
1239
operation: "MULTIPLY",
1240
valueRarity: {
1241
COMMON: [1.05, 1.15],
1242
UNCOMMON: [1.075, 1.35],
1243
RARE: [1.1, 1.5]
1244
},
1245
rarity: "UNCOMMON"
1246
}
1247
],
1248
numUpgrades: [
1249
{ number: 1, rarity: "COMMON" },
1250
{ number: 1, rarity: "RARE" }
1251
]
1108
1252
}
1109
1253
};
1110
1254
@@ -1549,10 +1693,10 @@ export const getBoosterPack = async (
1549
1693
{ Item: "/Lotus/Types/Keys/OrokinKeyE", Rarity: "RARE", Amount: 1 }
1550
1694
],
1551
1695
rarityWeightsPerRoll: [
1552
{ COMMON: 1, UNCOMMON: 0.050000001, RARE: 0.0099999998, LEGENDARY: 0 },
1553
{ COMMON: 1, UNCOMMON: 0.25, RARE: 0.050000001, LEGENDARY: 0 },
1554
{ COMMON: 1, UNCOMMON: 0.25, RARE: 0.050000001, LEGENDARY: 0 },
1555
{ COMMON: 1, UNCOMMON: 0.25, RARE: 0.050000001, LEGENDARY: 0 },
1696
{ COMMON: 1, UNCOMMON: 0.05, RARE: 0.01, LEGENDARY: 0 },
1697
{ COMMON: 1, UNCOMMON: 0.25, RARE: 0.05, LEGENDARY: 0 },
1698
{ COMMON: 1, UNCOMMON: 0.25, RARE: 0.05, LEGENDARY: 0 },
1699
{ COMMON: 1, UNCOMMON: 0.25, RARE: 0.05, LEGENDARY: 0 },
1556
1700
{ COMMON: 1, UNCOMMON: 0.25, RARE: 0.1, LEGENDARY: 0 }
1557
1701
],
1558
1702
canGiveDuplicates: true,
@@ -1110,7 +1110,11 @@ function fetchItemList() {
1110
1110
"/Lotus/Language/Suits/RiftWalkAbilityName": loc("code_RiftWalkAbilityName"),
1111
1111
"/Lotus/Upgrades/Modules/GrineerMeleeModule": loc("code_U5Mod").replace(
1112
1112
"|TYPE|",
1113
loc("code_melee")
1113
loc("code_melee") + " [GrineerMeleeModule]"
1114
),
1115
"/Lotus/Upgrades/Modules/TennoSwordModule": loc("code_U5Mod").replace(
1116
"|TYPE|",
1117
loc("code_melee") + " [TennoSwordModule]"
1114
1118
),
1115
1119
1116
1120
"/Lotus/Upgrades/Modules/GrineerPistolModule": loc("code_U5Mod").replace(
@@ -1281,6 +1285,7 @@ const U5Mods = [
1281
1285
"/Lotus/Upgrades/Modules/GrineerRifleModule",
1282
1286
"/Lotus/Upgrades/Modules/GrineerShotgunModule",
1283
1287
"/Lotus/Upgrades/Modules/OrokinWarframeModule",
1288
"/Lotus/Upgrades/Modules/TennoSwordModule",
1284
1289
"/Lotus/Upgrades/Modules/Crafted/IncendiaryRifleMod"
1285
1290
];
1286
1291
@@ -1936,6 +1941,9 @@ single.getRoute("/webui/mods").on("beforeload", async function () {
1936
1941
itemMap[fingerprint.fits]?.name ?? fingerprint.fits
1937
1942
);
1938
1943
}
1944
if (item.ItemType.endsWith("GrineerMeleeModule") || item.ItemType.endsWith("TennoSwordModule")) {
1945
td.textContent += " [" + item.ItemType.split("/").pop() + "]";
1946
}
1939
1947
}
1940
1948
}
1941
1949
if (itemMap[item.ItemType]?.badReason == "notraw") {
@@ -5330,7 +5338,8 @@ function createUpgradeInput(targetDiv, itemMap, itemType, upgrade) {
5330
5338
const option = document.createElement("option");
5331
5339
option.value = up.type;
5332
5340
const locType =
5333
itemType.endsWith("GrineerMeleeModule") && up.type == "WEAPON_FIRE_RATE"
5341
(itemType.endsWith("GrineerMeleeModule") || itemType.endsWith("TennoSwordModule")) &&
5342
up.type == "WEAPON_FIRE_RATE"
5334
5343
? "WEAPON_MELEE_FIRE_RATE"
5335
5344
: up.type;
5336
5345
option.textContent = loc(locType);