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

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
Sainan <63328889+Sainan@users.noreply.github.com>
提交于

代码差异

1 个文件 +7 -3
Modified src/services/inventoryService.ts +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,