返回提交历史
Modified
src/helpers/nemesisHelpers.ts
+7
-2
Modified
src/services/inventoryService.ts
+3
-2
XFEstudio/XFESpaceNinjaServer
chore: remove nemesis weapon weighting where appropriate (#3686)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3686 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
71ead926
代码差异
2 个文件
+10
-4
@@ -19,6 +19,7 @@ type TInnateDamageTag =
19
19
20
20
export interface INemesisManifest {
21
21
weapons: readonly string[];
22
weaponUpgradeValueAttenuationExponent: number;
22
23
systemIndexes: readonly number[];
23
24
showdownNode: string;
24
25
ephemeraChance: number;
@@ -49,6 +50,7 @@ class KuvaLichManifest implements INemesisManifest {
49
50
"/Lotus/Weapons/Grineer/HeavyWeapons/GrnHeavyGrenadeLauncher",
50
51
"/Lotus/Weapons/Grineer/LongGuns/GrnKuvaLichRifle/GrnKuvaLichRifleWeapon"
51
52
];
53
weaponUpgradeValueAttenuationExponent = 2.25;
52
54
systemIndexes = [2, 3, 9, 11, 18];
53
55
showdownNode = "CrewBattleNode557";
54
56
ephemeraChance = 0.05;
@@ -119,6 +121,7 @@ class KuvaLichManifestVersionSeven extends KuvaLichManifestVersionSix {
119
121
constructor() {
120
122
super();
121
123
this.weapons.push("/Lotus/Weapons/Grineer/KuvaLich/Melee/Ghoulsaw/KuvaGhoulSaw");
124
this.weaponUpgradeValueAttenuationExponent = 1;
122
125
this.minBuild = gameToBuildVersion["42.0.0"];
123
126
}
124
127
}
@@ -134,6 +137,7 @@ class LawyerManifest implements INemesisManifest {
134
137
"/Lotus/Weapons/Corpus/Pistols/CrpIgniterPistol/CrpIgniterPistol",
135
138
"/Lotus/Weapons/Corpus/Pistols/CrpBriefcaseAkimbo/CrpBriefcaseAkimboPistol"
136
139
];
140
weaponUpgradeValueAttenuationExponent = 2.25;
137
141
systemIndexes = [1, 15, 4, 7, 8];
138
142
showdownNode = "CrewBattleNode558";
139
143
ephemeraChance = 0.2;
@@ -183,12 +187,14 @@ class LawyerManifestVersionFive extends LawyerManifestVersionFour {
183
187
constructor() {
184
188
super();
185
189
this.weapons.push("/Lotus/Weapons/Corpus/BoardExec/Primary/CrpBEQuanta/CrpBEQuanta");
190
this.weaponUpgradeValueAttenuationExponent = 1;
186
191
this.minBuild = gameToBuildVersion["42.0.0"];
187
192
}
188
193
}
189
194
190
195
class InfestedLichManfest implements INemesisManifest {
191
196
weapons = [];
197
weaponUpgradeValueAttenuationExponent = 1;
192
198
systemIndexes = [23];
193
199
showdownNode = "CrewBattleNode559";
194
200
ephemeraChance = 0;
@@ -421,8 +427,7 @@ export const generateNemesisProfile = (
421
427
): INemesisProfile => {
422
428
const rng = new SRng(fp);
423
429
rng.randomFloat(); // used for the weapon index
424
const WeaponUpgradeValueAttenuationExponent = 2.25;
425
let value = Math.pow(rng.randomFloat(), WeaponUpgradeValueAttenuationExponent);
430
let value = Math.pow(rng.randomFloat(), manifest.weaponUpgradeValueAttenuationExponent);
426
431
if (value >= 0.941428) {
427
432
value = 1;
428
433
}
@@ -741,8 +741,9 @@ export const addItem = async (
741
741
"InnateRadDamage",
742
742
"InnateToxinDamage"
743
743
]);
744
const WeaponUpgradeValueAttenuationExponent = 2.25;
745
let value = Math.pow(rng.randomFloat(), WeaponUpgradeValueAttenuationExponent);
744
//const WeaponUpgradeValueAttenuationExponent = 2.25;
745
//let value = Math.pow(rng.randomFloat(), WeaponUpgradeValueAttenuationExponent);
746
let value = rng.randomFloat();
746
747
if (value >= 0.941428) {
747
748
value = 1;
748
749
}