diff --git a/src/systems/InventorySystem.ts b/src/systems/InventorySystem.ts index 6c95080..9874afd 100644 --- a/src/systems/InventorySystem.ts +++ b/src/systems/InventorySystem.ts @@ -8,6 +8,12 @@ import { emptyEquipStats, type EquipStats } from './CombatSystem'; const MAX_INVENTORY = 100; const MAX_STASH = 80; +function randomHex(bytes: number): string { + return Array.from(globalThis.crypto.getRandomValues(new Uint8Array(bytes))) + .map(b => b.toString(16).padStart(2, '0')) + .join(''); +} + export class InventorySystem { inventory: ItemInstance[] = []; equipment: Partial> = {}; @@ -346,7 +352,7 @@ export class InventorySystem { // Create an inventory item for the gem const gemBase = getItemBase(gem.gemId); const gemItem: ItemInstance = { - uid: `gem_${Date.now()}_${Math.random().toString(36).substring(2, 8)}`, + uid: `gem_${Date.now()}_${randomHex(4)}`, baseId: gem.gemId, name: gem.name, quality: 'normal',