返回提交历史
Modified
src/services/inventoryService.ts
+7
-3
XFEstudio/XFESpaceNinjaServer
fix: incorrect seed for crew members when inventory.Created was changed (#3276)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3276 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
f1ab9a88
代码差异
1 个文件
+7
-3
@@ -1026,7 +1026,7 @@ export const addItem = async (
1026
1026
if (!seed) {
1027
1027
throw new Error(`Expected crew member to have a seed`);
1028
1028
}
1029
seed |= BigInt(Math.trunc(inventory.Created.getTime() / 1000) & 0xffffff) << 32n;
1029
seed |= BigInt(getAccountRandSeed(inventory)) << 32n;
1030
1030
return {
1031
1031
...addCrewMember(inventory, typeName, seed),
1032
1032
...occupySlot(inventory, InventorySlot.CREWMEMBERS, premiumPurchase)
@@ -1898,7 +1898,11 @@ const addDrone = (
1898
1898
return inventoryChanges;
1899
1899
};
1900
1900
1901
/*const getCrewMemberSkills = (seed: bigint, skillPointsToAssign: number): Record<string, number> => {
1901
export const getAccountRandSeed = (inventory: TInventoryDatabaseDocument): number => {
1902
return parseInt(inventory.accountOwnerId.toString().substring(2, 8), 16);
1903
};
1904
1905
export const getCrewMemberSkills = (seed: bigint, skillPointsToAssign: number): Record<string, number> => {
1902
1906
const rng = new SRng(seed);
1903
1907
1904
1908
const skills = ["PILOTING", "GUNNERY", "ENGINEERING", "COMBAT", "SURVIVABILITY"];
@@ -1928,7 +1932,7 @@ const addDrone = (
1928
1932
combined[skills[i]] = skillAssignments[i];
1929
1933
}
1930
1934
return combined;
1931
};*/
1935
};
1932
1936
1933
1937
const addCrewMember = (
1934
1938
inventory: TInventoryDatabaseDocument,