@provable-games/dm-engine 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,8 +2,6 @@ export declare const BEAST_SPECIAL_NAME_LEVEL_UNLOCK = 19;
2
2
  export declare const MAX_SPECIAL2: bigint;
3
3
  export declare const MAX_SPECIAL3: bigint;
4
4
  export declare const MAX_BEAST_ID: bigint;
5
- export declare const STARTER_BEAST_HEALTH: bigint;
6
- export declare const STARTER_BEAST_ATTACK_DAMAGE = 10;
7
5
  export declare const MAXIMUM_HEALTH: bigint;
8
6
  export declare const BEAST_MIN_DAMAGE = 2;
9
7
  export declare const GOLD_MULTIPLIER: {
@@ -1 +1 @@
1
- {"version":3,"file":"beast.d.ts","sourceRoot":"","sources":["../../src/constants/beast.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,eAAO,MAAM,YAAY,QAAa,CAAC;AAGvC,eAAO,MAAM,oBAAoB,QAAY,CAAC;AAC9C,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,cAAc,QAAe,CAAC;AAC3C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAGlC,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AACX,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,cAAc,UAI1B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAsExD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAmBxD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAmGhD,CAAC"}
1
+ {"version":3,"file":"beast.d.ts","sourceRoot":"","sources":["../../src/constants/beast.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,+BAA+B,KAAK,CAAC;AAClD,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,eAAO,MAAM,YAAY,QAAa,CAAC;AAGvC,eAAO,MAAM,cAAc,QAAe,CAAC;AAC3C,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAGlC,eAAO,MAAM,eAAe;;;;;;CAMlB,CAAC;AACX,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,cAAc,UAI1B,CAAC;AAGF,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAsExD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAmBxD,CAAC;AAGF,eAAO,MAAM,WAAW,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAmGhD,CAAC"}
@@ -4,8 +4,6 @@ export const MAX_SPECIAL2 = BigInt(69); // Max prefix index
4
4
  export const MAX_SPECIAL3 = BigInt(18); // Max suffix index
5
5
  export const MAX_BEAST_ID = BigInt(75);
6
6
  // Combat-related constants
7
- export const STARTER_BEAST_HEALTH = BigInt(3);
8
- export const STARTER_BEAST_ATTACK_DAMAGE = 10;
9
7
  export const MAXIMUM_HEALTH = BigInt(1023); // 2^10 - 1
10
8
  export const BEAST_MIN_DAMAGE = 2;
11
9
  // Constants for reward calculations
@@ -1 +1 @@
1
- {"version":3,"file":"beast.js","sourceRoot":"","sources":["../../src/constants/beast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beast.js","sourceRoot":"","sources":["../../src/constants/beast.ts"],"names":[],"mappings":"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"}
package/dist/replay.d.ts CHANGED
@@ -1,6 +1,22 @@
1
1
  import { Adventurer, GameAction, GameSettingsData, Item } from "./types.js";
2
2
  import { Beast } from "./types.js";
3
3
  import { GameEvent } from "./events.js";
4
+ /**
5
+ * The three randomness modes, mirroring `utils/randomness.cairo::RandomnessMode`.
6
+ *
7
+ * A mode chooses where the NON-combat stream comes from. Combat is never on this dial: `attack`,
8
+ * `flee` and `equip` always roll from the block hash, in every mode.
9
+ */
10
+ export declare const RandomnessMode: {
11
+ /** Every action rolls from the hash of the block that resolves it. */
12
+ readonly FULL: 0;
13
+ /** Non-combat rolls expand `game_seed`; the encounter table is fixed before the run starts. */
14
+ readonly SEEDED: 1;
15
+ /** Non-combat rolls expand the current `level_salt`, itself re-rolled live on every level-up. */
16
+ readonly PER_LEVEL: 2;
17
+ };
18
+ /** `ImplAdventurer::nonzero_salt` -- mask, keeping zero (the never-rolled sentinel) out. */
19
+ export declare function nonzeroSalt(value: bigint, mask: bigint): number;
4
20
  /** Everything the handlers read that used to live in the client's zustand store. */
5
21
  export interface ReplayState {
6
22
  adventurer: Adventurer | null;
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAqKxC,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,GAAG,EAAE,IAAI,EAAE,CAAC;IACZ,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,sFAAsF;IACtF,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,SAAS,EAAE,CAm7Bb"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA0DxC;;;;;GAKG;AACH,eAAO,MAAM,cAAc;IACzB,sEAAsE;;IAEtE,+FAA+F;;IAE/F,iGAAiG;;CAEzF,CAAC;AAEX,4FAA4F;AAC5F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D;AA+JD,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,GAAG,EAAE,IAAI,EAAE,CAAC;IACZ,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACtC,sFAAsF;IACtF,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,SAAS,EAAE,CA+5Bb"}
package/dist/replay.js CHANGED
@@ -1,53 +1,122 @@
1
- import { BEAST_NAMES, STARTER_BEAST_ATTACK_DAMAGE } from "./constants/beast.js";
2
1
  import { actionSeed as deriveActionSeed } from "./protocol.js";
3
2
  import { HEALTH_INCREASE_PER_VITALITY, ITEM_XP_MULTIPLIER_BEASTS, ITEM_XP_MULTIPLIER_OBSTACLES, POTION_HEALTH_AMOUNT, STARTER_WEAPONS, STARTING_GOLD, STARTING_HEALTH, XP_FOR_DISCOVERIES, } from "./constants/game.js";
4
- import { getBeastName, getBeastTier, getBeastType } from "./rules/beast.js";
5
3
  import { calculateGoldReward, calculateLevel, getNewItemsEquipped } from "./rules/game.js";
6
4
  import { abilityBasedAvoidThreatWithRoll, beastToBeastEvent, calculateAdventurerAttackDamage, calculateBeastCounterAttack, calculateObstacleDamage, canExplore, decreaseHealth, dropItem, equipItem, generateBeast, generateObstacle, generateStartingStats, getArmorAtSlot, getAttackLocation, getBaseXpReward, getDiscovery, getSlotDisplayName, grantXpToEquippedItems, increaseGold, increaseHealth, increaseXp, isCriticalHit, processLootDiscovery, } from "./rules/gameSimulation.js";
7
- import { ItemUtils } from "./rules/loot.js";
8
- import { felt_to_two_u64, get_simple_entropy, getBattleRandomness, getBeastEntropy, getBeastFromEntropy, getBeastFromSeed, getRandomness, } from "./rules/processFutures.js";
9
- const STARTER_BEAST_HEALTH = 3;
5
+ import { getMaxHealth } from "./rules/health.js";
6
+ import { getLevelSeed } from "./rules/market.js";
7
+ import { felt_to_two_u64, generateStartingStatsFromSeed, get_simple_entropy, getBattleRandomness, getBeastEntropy, getBeastFromEntropy, getBeastFromSeed, getRandomness, } from "./rules/processFutures.js";
10
8
  const EMPTY_ITEM = { id: 0, xp: 0 };
11
9
  /**
12
- * Resolve which randomness mode this action runs in.
10
+ * The three randomness modes, mirroring `utils/randomness.cairo::RandomnessMode`.
13
11
  *
14
- * Three modes, in priority order:
15
- * 1. injected entropy (block-hash commit/reveal) -- deterministic against a revealed block hash
16
- * 2. settings `game_seed` -- deterministic against a fixed seed
17
- * 3. neither -- Math.random, corrected later by chain events
12
+ * A mode chooses where the NON-combat stream comes from. Combat is never on this dial: `attack`,
13
+ * `flee` and `equip` always roll from the block hash, in every mode.
14
+ */
15
+ export const RandomnessMode = {
16
+ /** Every action rolls from the hash of the block that resolves it. */
17
+ FULL: 0,
18
+ /** Non-combat rolls expand `game_seed`; the encounter table is fixed before the run starts. */
19
+ SEEDED: 1,
20
+ /** Non-combat rolls expand the current `level_salt`, itself re-rolled live on every level-up. */
21
+ PER_LEVEL: 2,
22
+ };
23
+ /** `ImplAdventurer::nonzero_salt` -- mask, keeping zero (the never-rolled sentinel) out. */
24
+ export function nonzeroSalt(value, mask) {
25
+ const masked = value & mask;
26
+ return Number(masked === 0n ? 1n : masked);
27
+ }
28
+ /**
29
+ * The `SEEDED` stream: an expansion of `game_seed`, blind to the chain.
30
+ *
31
+ * `adventurerId` is deliberately absent -- every adventurer on the settings entry walks the
32
+ * identical dungeon, which is what makes the mode useful for fixtures and tournaments.
33
+ */
34
+ function seededRolls(adventurer, gameSeed) {
35
+ if (gameSeed === 0)
36
+ return null;
37
+ const { u64_1, u64_2 } = felt_to_two_u64(get_simple_entropy(adventurer.xp, gameSeed));
38
+ return { actionSeed: u64_1, marketSeed: u64_2 };
39
+ }
40
+ /**
41
+ * The `PER_LEVEL` stream: an expansion of the current level's salt.
42
+ *
43
+ * `getLevelSeed` folds `adventurerId` in, so two adventurers holding the same 14-bit salt still
44
+ * run different levels.
45
+ */
46
+ function perLevelRolls(adventurerId, adventurer) {
47
+ const levelSeed = getLevelSeed(adventurer.level_salt, BigInt(adventurerId ?? "0"));
48
+ const { u64_1, u64_2 } = felt_to_two_u64(get_simple_entropy(adventurer.xp, levelSeed));
49
+ return { actionSeed: u64_1, marketSeed: u64_2 };
50
+ }
51
+ /**
52
+ * The always-live stream: the block hash mixed with the adventurer's own state.
18
53
  *
19
- * Returning `null` means mode 3, and every caller keeps its pre-existing unseeded branch for that
20
- * case, so nothing about VRF dungeons or trials changes.
54
+ * The only one of the three that mixes `health`. Neither seeded stream does, deliberately --
55
+ * health is a product of live combat, so folding it in would make a seeded or per-level encounter
56
+ * table follow the fight.
21
57
  */
22
- function resolveActionRolls(blockHash, gameId, adventurer, gameSeed, gameSeedUntilXp) {
23
- // `is_seeded` FIRST, matching `randomness::get_random_seed`: a settings-seeded run expands its
24
- // own seed and never looks at the block hash, even when one is available.
25
- if (gameSeed !== 0 && (gameSeedUntilXp === 0 || gameSeedUntilXp > adventurer.xp)) {
26
- const { u64_1, u64_2 } = felt_to_two_u64(get_simple_entropy(adventurer.xp, gameSeed));
27
- return { actionSeed: u64_1, marketSeed: u64_2 };
58
+ function liveRolls(blockHash, gameId, adventurer) {
59
+ if (blockHash === null)
60
+ return null;
61
+ const seed = deriveActionSeed(blockHash, BigInt(gameId ?? "0"), adventurer.xp, adventurer.health, adventurer.beast_health > 0);
62
+ const { u64_1, u64_2 } = felt_to_two_u64(seed);
63
+ return { actionSeed: u64_1, marketSeed: u64_2 };
64
+ }
65
+ /**
66
+ * `randomness::get_action_seeds` -- one block per mode, matching the Cairo split.
67
+ *
68
+ * FULL combat: live / live explore: live / live
69
+ * SEEDED combat: live / game_seed explore: game_seed / game_seed
70
+ * PER_LEVEL combat: live / live explore: level_salt / live
71
+ *
72
+ * (`actionSeed` / `marketSeed` -- the second is what `level_salt` is re-rolled from on a level-up.)
73
+ *
74
+ * `inCombat` is the combat carve-out: `attack`, `flee` and `equip` pass true and take `actionSeed`
75
+ * from the block hash whatever the mode says. It is also what keeps repeated fights apart -- a
76
+ * bundle shares one block hash, so the state term is the only thing separating its actions, and
77
+ * only `liveRolls` mixes `health`. Combat is the one thing that can act twice at the same xp.
78
+ *
79
+ * Returning `null` means neither stream was available (no block hash, no usable seed), and every
80
+ * caller keeps its pre-existing unseeded branch for that case.
81
+ */
82
+ function resolveActionRolls(blockHash, gameId, adventurer, gameSeed, mode, inCombat) {
83
+ if (mode === RandomnessMode.SEEDED) {
84
+ // The reseed stays on the seeded stream even for combat, or a mid-fight level-up would make
85
+ // the market after it unreproducible from `game_seed`.
86
+ const seeded = seededRolls(adventurer, gameSeed);
87
+ if (!seeded)
88
+ return null;
89
+ if (!inCombat)
90
+ return seeded;
91
+ const live = liveRolls(blockHash, gameId, adventurer);
92
+ if (!live)
93
+ return null;
94
+ return { actionSeed: live.actionSeed, marketSeed: seeded.marketSeed };
28
95
  }
29
- if (blockHash !== null) {
30
- const seed = deriveActionSeed(blockHash, BigInt(gameId ?? "0"), adventurer.xp, adventurer.health, adventurer.beast_health > 0);
31
- const { u64_1, u64_2 } = felt_to_two_u64(seed);
32
- return { actionSeed: u64_1, marketSeed: u64_2 };
96
+ if (mode === RandomnessMode.PER_LEVEL) {
97
+ // The reseed is live on BOTH paths, and that live draw IS the mode: the level-up is the one
98
+ // unpredictable moment in a per-level run.
99
+ const live = liveRolls(blockHash, gameId, adventurer);
100
+ if (!live)
101
+ return null;
102
+ if (inCombat)
103
+ return live;
104
+ const level = perLevelRolls(gameId, adventurer);
105
+ return { actionSeed: level.actionSeed, marketSeed: live.marketSeed };
33
106
  }
34
- return null;
107
+ // FULL, and the fallback for any value the contract's validation would have rejected. There is
108
+ // no second stream, so `inCombat` cannot change the answer.
109
+ return liveRolls(blockHash, gameId, adventurer);
35
110
  }
36
111
  /**
37
112
  * `level_salt` after a level-up.
38
113
  *
39
- * Injected mode uses the action's own market seed, matching `replay.cairo`. Settings-seed mode
40
- * deliberately keeps re-deriving from the adventurer's NEW xp -- that is what shipped, and changing
41
- * it would silently reroll every existing `game_seed` dungeon's market.
114
+ * `rolls.marketSeed` already carries the mode's reseed decision (see `resolveActionRolls`), so
115
+ * this only has to truncate it. The `Math.random` tail is the pre-existing unseeded fallback.
42
116
  */
43
- function levelSaltAfterLevelUp(injectedEntropy, rolls, gameSeed, gameSeedUntilXp, newXp) {
44
- if (injectedEntropy !== null && rolls) {
45
- return Number((rolls.marketSeed & 0x3fffn) | 1n);
46
- }
47
- if (gameSeed !== 0 && (gameSeedUntilXp === 0 || gameSeedUntilXp > newXp)) {
48
- const felt = get_simple_entropy(newXp, gameSeed);
49
- return Number((felt_to_two_u64(felt).u64_2 & 0x3fffn) | 1n);
50
- }
117
+ function levelSaltAfterLevelUp(rolls) {
118
+ if (rolls)
119
+ return nonzeroSalt(rolls.marketSeed, 0x3fffn);
51
120
  return Math.floor(Math.random() * 0x3fff) | 1;
52
121
  }
53
122
  /** The four `get_battle_randomness` bytes for one round, as `beast_attack` consumes them. */
@@ -60,15 +129,6 @@ function battleRolls(xp, battleCount, seed) {
60
129
  attackLocationRnd: Number(rnd.rnd4),
61
130
  };
62
131
  }
63
- function getStarterBeastId(weaponId) {
64
- if (ItemUtils.isMagicOrCloth(weaponId))
65
- return 71; // Troll
66
- if (ItemUtils.isBladeOrHide(weaponId))
67
- return 21; // Fairy
68
- if (ItemUtils.isBludgeonOrMetal(weaponId))
69
- return 46; // Bear
70
- return 71; // fallback
71
- }
72
132
  function cloneAdventurer(adv) {
73
133
  return {
74
134
  ...adv,
@@ -137,101 +197,108 @@ export function applyAction(state, action, entropy) {
137
197
  return [];
138
198
  }
139
199
  };
200
+ /**
201
+ * `Settlement::start` -- an adventurer initializer, and nothing else.
202
+ *
203
+ * The settings entry IS the starting state. There is no starter beast and no
204
+ * default-versus-custom branch: whatever `settings.adventurer` holds is what the run begins
205
+ * with, `settings.in_battle` decides whether a beast is already waiting, and
206
+ * `settings.random_starting_stats` deals points on top of the baseline.
207
+ *
208
+ * The one thing the player still chooses is the weapon, and only when the settings entry
209
+ * leaves the slot open.
210
+ */
140
211
  const startGame = (action) => {
141
- const settings = action.settings;
212
+ // The contract reads the settings entry from storage, not from the action. `action.settings`
213
+ // is a client-side convenience for previews; the replay path carries them on the state.
214
+ const settings = action.settings ?? state.gameSettings;
142
215
  const events = [];
143
- if (!settings || settings.adventurer.xp === 0) {
144
- // `action.weapon` is set by block-hash mode, where the same value is encoded into the
145
- // committed START. START consumes no entropy on chain -- it is fully determined by the
146
- // weapon -- so pinning that one number is all this branch needs to be exact.
147
- const weapon = action.weapon ?? STARTER_WEAPONS[Math.floor(Math.random() * STARTER_WEAPONS.length)];
148
- const beastId = getStarterBeastId(weapon);
149
- events.push({
150
- type: "beast",
151
- // Themed too: the starter beast is the first thing a player sees, so it
152
- // has to look like the dungeon it opened.
153
- beast: applyTheme({
154
- id: beastId,
155
- baseName: BEAST_NAMES[beastId],
156
- name: getBeastName(beastId, 1, 0, 0),
157
- health: STARTER_BEAST_HEALTH,
158
- level: 1,
159
- type: getBeastType(beastId),
160
- tier: getBeastTier(beastId),
161
- specialPrefix: null,
162
- specialSuffix: null,
163
- isCollectable: false,
164
- traitSeed: BigInt(0),
165
- }, null),
166
- });
167
- events.push({
168
- type: "adventurer",
169
- adventurer: {
170
- health: STARTING_HEALTH - STARTER_BEAST_ATTACK_DAMAGE,
171
- xp: 0,
172
- gold: STARTING_GOLD,
173
- beast_health: STARTER_BEAST_HEALTH,
174
- stat_upgrades_available: 0,
175
- stats: {
176
- strength: 0,
177
- dexterity: 0,
178
- vitality: 0,
179
- intelligence: 0,
180
- wisdom: 0,
181
- charisma: 0,
182
- luck: 0,
183
- },
184
- equipment: {
185
- weapon: { id: weapon, xp: 0 },
186
- chest: EMPTY_ITEM,
187
- head: EMPTY_ITEM,
188
- waist: EMPTY_ITEM,
189
- foot: EMPTY_ITEM,
190
- hand: EMPTY_ITEM,
191
- neck: EMPTY_ITEM,
192
- ring: EMPTY_ITEM,
193
- },
194
- item_specials_salt: 0,
195
- beast_salt: 0,
196
- level_salt: 0,
216
+ const base = settings?.adventurer;
217
+ const adventurer = base
218
+ ? cloneAdventurer(base)
219
+ : {
220
+ health: STARTING_HEALTH,
221
+ xp: 0,
222
+ gold: STARTING_GOLD,
223
+ beast_health: 0,
224
+ stat_upgrades_available: 0,
225
+ stats: {
226
+ strength: 0,
227
+ dexterity: 0,
228
+ vitality: 0,
229
+ intelligence: 0,
230
+ wisdom: 0,
231
+ charisma: 0,
232
+ luck: 0,
197
233
  },
198
- });
234
+ equipment: {
235
+ weapon: EMPTY_ITEM,
236
+ chest: EMPTY_ITEM,
237
+ head: EMPTY_ITEM,
238
+ waist: EMPTY_ITEM,
239
+ foot: EMPTY_ITEM,
240
+ hand: EMPTY_ITEM,
241
+ neck: EMPTY_ITEM,
242
+ ring: EMPTY_ITEM,
243
+ },
244
+ item_specials_salt: 0,
245
+ beast_salt: 0,
246
+ level_salt: 0,
247
+ };
248
+ // An empty weapon slot is the settings entry deferring to the player.
249
+ if (!adventurer.equipment.weapon.id) {
250
+ const weapon = action.weapon ?? STARTER_WEAPONS[Math.floor(Math.random() * STARTER_WEAPONS.length)];
251
+ adventurer.equipment.weapon = { id: weapon, xp: 0 };
252
+ }
253
+ // The contract splits the raw START block hash: the low half deals the random stats and the
254
+ // beast salt, the high half becomes `level_salt`. Without an injected hash this is a client
255
+ // preview, so it falls back to Math.random and gets corrected by the chain events later.
256
+ const seeded = entropy !== null;
257
+ const { u64_1: beastSeed, u64_2: marketSeed } = seeded
258
+ ? felt_to_two_u64(entropy)
259
+ : { u64_1: 0n, u64_2: 0n };
260
+ const randomStats = settings?.random_starting_stats ?? 0;
261
+ if (randomStats > 0) {
262
+ const healthBefore = getMaxHealth(adventurer.stats.vitality);
263
+ const dealt = seeded
264
+ ? generateStartingStatsFromSeed(beastSeed, randomStats)
265
+ : generateStartingStats(undefined, randomStats);
266
+ adventurer.stats.strength += dealt.strength;
267
+ adventurer.stats.dexterity += dealt.dexterity;
268
+ adventurer.stats.vitality += dealt.vitality;
269
+ adventurer.stats.intelligence += dealt.intelligence;
270
+ adventurer.stats.wisdom += dealt.wisdom;
271
+ adventurer.stats.charisma += dealt.charisma;
272
+ // Vitality among the points raises max health, and the adventurer is handed it rather than
273
+ // starting the run already wounded.
274
+ const gained = getMaxHealth(adventurer.stats.vitality) - healthBefore;
275
+ adventurer.health = Math.min(adventurer.health + gained, getMaxHealth(adventurer.stats.vitality));
199
276
  }
200
- else {
201
- // Initialize from editor/trial settings with existing adventurer state
202
- const adventurer = { ...settings.adventurer, stats: { ...settings.adventurer.stats } };
203
- const adventurerLevel = calculateLevel(adventurer.xp);
204
- // Derive seeds like the contract: poseidon(xp, game_seed) felt_to_two_u64 (beast_seed, market_seed)
205
- if (settings.game_seed !== 0) {
206
- const felt = get_simple_entropy(adventurer.xp, settings.game_seed);
207
- const { u64_1, u64_2 } = felt_to_two_u64(felt);
208
- adventurer.beast_salt = Number((u64_1 & 0x1ffffn) | 1n);
209
- adventurer.level_salt = Number((u64_2 & 0x3fffn) | 1n);
277
+ // A zero `level_salt` makes `getLevelSeed` return 0, which under PER_LEVEL would give every
278
+ // adventurer an identical level 1.
279
+ adventurer.level_salt = seeded
280
+ ? nonzeroSalt(marketSeed, 0x3fffn)
281
+ : Math.floor(Math.random() * 0x3fff) | 1;
282
+ events.push({ type: "level_up", level: calculateLevel(adventurer.xp) });
283
+ if (settings?.in_battle) {
284
+ if (seeded) {
285
+ adventurer.beast_salt = nonzeroSalt(beastSeed, 0x1ffffn);
286
+ const beastEntropy = getBeastEntropy(adventurer.beast_salt, BigInt(state.gameId ?? "0"), adventurer.xp);
287
+ const beast = applyTheme(getBeastFromEntropy(adventurer.xp, beastEntropy), null);
288
+ adventurer.beast_health = beast.health;
289
+ events.push({ type: "beast", beast });
210
290
  }
211
291
  else {
212
292
  adventurer.beast_salt = Math.floor(Math.random() * 0x1ffff) | 1;
213
- adventurer.level_salt = Math.floor(Math.random() * 0x3fff) | 1;
214
- }
215
- events.push({ type: "level_up", level: adventurerLevel });
216
- if (settings.in_battle) {
217
- const dungeonId = null;
218
- if (settings.game_seed !== 0) {
219
- const beast = applyTheme(getBeastFromSeed(adventurer.xp, settings.game_seed), dungeonId);
220
- adventurer.beast_health = beast.health;
221
- events.push({ type: "beast", beast });
222
- }
223
- else {
224
- const generatedBeast = generateBeast(adventurerLevel);
225
- const beastEvent = applyTheme(beastToBeastEvent(generatedBeast), dungeonId);
226
- adventurer.beast_health = generatedBeast.health;
227
- events.push({ type: "beast", beast: beastEvent });
228
- }
229
- }
230
- events.push({ type: "adventurer", adventurer });
231
- if (settings.bag && settings.bag.length > 0) {
232
- events.push({ type: "bag", bag: settings.bag });
293
+ const generated = generateBeast(calculateLevel(adventurer.xp));
294
+ adventurer.beast_health = generated.health;
295
+ events.push({ type: "beast", beast: applyTheme(beastToBeastEvent(generated), null) });
233
296
  }
234
297
  }
298
+ events.push({ type: "adventurer", adventurer });
299
+ if (settings?.bag && settings.bag.length > 0) {
300
+ events.push({ type: "bag", bag: settings.bag });
301
+ }
235
302
  return events;
236
303
  };
237
304
  const explore = (action) => {
@@ -242,14 +309,16 @@ export function applyAction(state, action, entropy) {
242
309
  const bag = storeState.bag.map((item) => ({ ...item }));
243
310
  const baseDamageReduction = storeState.gameSettings?.base_damage_reduction ?? 0;
244
311
  const gameSeed = storeState.gameSettings?.game_seed ?? 0;
245
- const gameSeedUntilXp = storeState.gameSettings?.game_seed_until_xp ?? 0;
312
+ const randomnessMode = storeState.gameSettings?.randomness_mode ?? RandomnessMode.FULL;
246
313
  // Validate
247
314
  if (!canExplore(adventurer))
248
315
  return [];
249
316
  // Derive the explore seed like the contract: mix the block hash with the adventurer's own
250
317
  // state, then felt_to_two_u64 → (explore_seed, market_seed).
251
318
  const injectedEntropy = entropy;
252
- const rolls = resolveActionRolls(injectedEntropy, storeState.gameId, adventurer, gameSeed, gameSeedUntilXp);
319
+ // Explore follows the mode: the encounter at each xp is what a seeded or per-level run makes
320
+ // predictable.
321
+ const rolls = resolveActionRolls(injectedEntropy, storeState.gameId, adventurer, gameSeed, randomnessMode, false);
253
322
  const useSeeded = rolls !== null;
254
323
  const exploreSeed = rolls?.actionSeed ?? 0n;
255
324
  const events = [];
@@ -264,7 +333,7 @@ export function applyAction(state, action, entropy) {
264
333
  // Determine encounter type: seeded or random
265
334
  let exploreResult;
266
335
  let rnd = null;
267
- if (useSeeded && (gameSeedUntilXp === 0 || gameSeedUntilXp > adventurer.xp)) {
336
+ if (useSeeded) {
268
337
  rnd = getRandomness(adventurer.xp, exploreSeed);
269
338
  exploreResult = Number(rnd.rnd8 % 3n);
270
339
  }
@@ -280,7 +349,7 @@ export function applyAction(state, action, entropy) {
280
349
  // adventurer id and xp to get the beast entropy. The salt is stored state, so getting
281
350
  // this order wrong desyncs every later action that re-derives the beast from it (attack,
282
351
  // flee, in-battle equip all do).
283
- adventurer.beast_salt = Number((exploreSeed & 0x1ffffn) | 1n);
352
+ adventurer.beast_salt = nonzeroSalt(exploreSeed, 0x1ffffn);
284
353
  const beastEntropy = getBeastEntropy(adventurer.beast_salt, storeState.gameId ?? "0", adventurer.xp);
285
354
  const beast = getBeastFromEntropy(adventurer.xp, beastEntropy);
286
355
  adventurer.beast_health = beast.health;
@@ -459,7 +528,7 @@ export function applyAction(state, action, entropy) {
459
528
  // Level up check
460
529
  const newLevel = calculateLevel(adventurer.xp);
461
530
  if (newLevel > previousLevel) {
462
- adventurer.level_salt = levelSaltAfterLevelUp(injectedEntropy, rolls, gameSeed, gameSeedUntilXp, adventurer.xp);
531
+ adventurer.level_salt = levelSaltAfterLevelUp(rolls);
463
532
  events.push({ type: "level_up", level: newLevel });
464
533
  }
465
534
  // Bag event if mutated
@@ -478,14 +547,15 @@ export function applyAction(state, action, entropy) {
478
547
  const beast = storeState.beast;
479
548
  const baseDamageReduction = storeState.gameSettings?.base_damage_reduction ?? 0;
480
549
  const gameSeed = storeState.gameSettings?.game_seed ?? 0;
481
- const gameSeedUntilXp = storeState.gameSettings?.game_seed_until_xp ?? 0;
550
+ const randomnessMode = storeState.gameSettings?.randomness_mode ?? RandomnessMode.FULL;
482
551
  // Validate
483
552
  if (adventurer.health === 0)
484
553
  return [];
485
554
  if (adventurer.beast_health <= 0)
486
555
  return [];
487
556
  const injectedEntropy = entropy;
488
- const rolls = resolveActionRolls(injectedEntropy, storeState.gameId, adventurer, gameSeed, gameSeedUntilXp);
557
+ // Combat always rolls live, whatever the mode says.
558
+ const rolls = resolveActionRolls(injectedEntropy, storeState.gameId, adventurer, gameSeed, randomnessMode, true);
489
559
  // Battle rolls are only ever seeded from injected entropy. A settings `game_seed` game leaves
490
560
  // combat random exactly as it does today -- its outcomes get corrected by the chain events the
491
561
  // action returns, so there is nothing here to fix and plenty to break.
@@ -524,30 +594,12 @@ export function applyAction(state, action, entropy) {
524
594
  const xpReward = getBaseXpReward(beast.tier, beast.level, adventurerLevel);
525
595
  const prevLevel = calculateLevel(adventurer.xp);
526
596
  increaseXp(adventurer, xpReward);
527
- // Item XP. process_beast_death seeds any first-time specials unlock from the adventurer's
528
- // OWN item_specials_seed, not from a fresh roll.
597
+ // Item XP. A first-time specials unlock draws from the action's OWN seed. This used to
598
+ // pass `getItemSpecialsSeed(item_specials_salt, ..)`, which is 0 for exactly as long as
599
+ // the salt is unset -- so the unlock always wrote the constant 1 and collapsed every item
600
+ // special in the run. Mirrors the same fix in `combat.cairo`.
529
601
  const itemXp = xpReward * ITEM_XP_MULTIPLIER_BEASTS;
530
- grantXpToEquippedItems(adventurer, itemXp, storeState.gameId ?? "0", injectedEntropy !== null
531
- ? ItemUtils.getItemSpecialsSeed(adventurer.item_specials_salt, storeState.gameId ?? "0")
532
- : undefined);
533
- // Level 1→2 transition: generate starting stats — only for games that
534
- // genuinely started at xp 0 (fresh starter-beast run). Settings that seed
535
- // the adventurer at xp >= 1 already have their starting stats applied.
536
- const startedFresh = (storeState.gameSettings?.adventurer?.xp ?? 0) === 0;
537
- const newLevel = calculateLevel(adventurer.xp);
538
- if (startedFresh && prevLevel === 1 && newLevel >= 2) {
539
- // process_beast_death seeds this from the BATTLE seed (not the market seed).
540
- const startingStats = generateStartingStats(battleSeed ?? undefined);
541
- adventurer.stats.strength += startingStats.strength;
542
- adventurer.stats.dexterity += startingStats.dexterity;
543
- adventurer.stats.vitality += startingStats.vitality;
544
- adventurer.stats.intelligence += startingStats.intelligence;
545
- adventurer.stats.wisdom += startingStats.wisdom;
546
- adventurer.stats.charisma += startingStats.charisma;
547
- adventurer.stats.luck = Math.max(2, Math.min(100, adventurer.stats.luck));
548
- // Health boost from new vitality
549
- increaseHealth(adventurer, HEALTH_INCREASE_PER_VITALITY * startingStats.vitality);
550
- }
602
+ grantXpToEquippedItems(adventurer, itemXp, storeState.gameId ?? "0", rolls ? Number(rolls.actionSeed & 0xffffn) : undefined);
551
603
  events.push({
552
604
  type: "defeated_beast",
553
605
  beast_id: beast.id,
@@ -585,7 +637,7 @@ export function applyAction(state, action, entropy) {
585
637
  // Level up check
586
638
  const newLevel = calculateLevel(adventurer.xp);
587
639
  if (newLevel > previousLevel) {
588
- adventurer.level_salt = levelSaltAfterLevelUp(injectedEntropy, rolls, gameSeed, gameSeedUntilXp, adventurer.xp);
640
+ adventurer.level_salt = levelSaltAfterLevelUp(rolls);
589
641
  events.push({ type: "level_up", level: newLevel });
590
642
  }
591
643
  // Always emit final adventurer state
@@ -600,22 +652,21 @@ export function applyAction(state, action, entropy) {
600
652
  const beast = storeState.beast;
601
653
  const baseDamageReduction = storeState.gameSettings?.base_damage_reduction ?? 0;
602
654
  const gameSeed = storeState.gameSettings?.game_seed ?? 0;
603
- const gameSeedUntilXp = storeState.gameSettings?.game_seed_until_xp ?? 0;
655
+ const randomnessMode = storeState.gameSettings?.randomness_mode ?? RandomnessMode.FULL;
604
656
  // Validate
605
657
  if (adventurer.health === 0)
606
658
  return [];
607
659
  if (adventurer.beast_health <= 0)
608
660
  return [];
609
661
  const adventurerLevel = calculateLevel(adventurer.xp);
610
- if (adventurerLevel <= 1)
611
- return []; // Can't flee starter beast
612
662
  if (adventurer.stats.dexterity === 0)
613
663
  return [];
614
664
  const injectedEntropy = entropy;
615
- const rolls = resolveActionRolls(injectedEntropy, storeState.gameId, adventurer, gameSeed, gameSeedUntilXp);
665
+ // Combat always rolls live, whatever the mode says.
666
+ const rolls = resolveActionRolls(injectedEntropy, storeState.gameId, adventurer, gameSeed, randomnessMode, true);
616
667
  const fleeSeed = injectedEntropy !== null ? (rolls?.actionSeed ?? null) : null;
617
668
  const updateLevelSalt = () => {
618
- adventurer.level_salt = levelSaltAfterLevelUp(injectedEntropy, rolls, gameSeed, gameSeedUntilXp, adventurer.xp);
669
+ adventurer.level_salt = levelSaltAfterLevelUp(rolls);
619
670
  };
620
671
  const events = [];
621
672
  const previousLevel = adventurerLevel;
@@ -848,8 +899,6 @@ export function applyAction(state, action, entropy) {
848
899
  return [];
849
900
  if (adventurer.beast_health > 0)
850
901
  return []; // Can't drop in battle
851
- if (calculateLevel(adventurer.xp) <= 1)
852
- return []; // Can't drop during starter beast
853
902
  if (items.length === 0)
854
903
  return [];
855
904
  const events = [];
@@ -1 +1 @@
1
- {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.js","sourceRoot":"","sources":["../src/replay.ts"],"names":[],"mappings":"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"}
@@ -153,6 +153,6 @@ export declare const equipItem: (adventurer: Adventurer, bag: Item[], itemId: nu
153
153
  * Drop a single item from equipment or bag.
154
154
  */
155
155
  export declare const dropItem: (adventurer: Adventurer, bag: Item[], itemId: number) => void;
156
- export declare const generateStartingStats: (levelSeed?: bigint) => Stats;
156
+ export declare const generateStartingStats: (levelSeed?: bigint, count?: number) => Stats;
157
157
  export {};
158
158
  //# sourceMappingURL=gameSimulation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gameSimulation.d.ts","sourceRoot":"","sources":["../../src/rules/gameSimulation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gameSimulation.d.ts","sourceRoot":"","sources":["../../src/rules/gameSimulation.ts"],"names":[],"mappings":"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"}
@@ -813,11 +813,11 @@ export const dropItem = (adventurer, bag, itemId) => {
813
813
  adventurer.health = maxHp;
814
814
  };
815
815
  // ─── Combat: Starting stats ─────────────────────────────────────
816
- export const generateStartingStats = (levelSeed) => {
817
- // Seeded, this is `ImplStats::generate_starting_stats`: the same twelve points, dealt by
818
- // repeated `divmod 6` over the level seed instead of by twelve independent random draws.
816
+ export const generateStartingStats = (levelSeed, count = 12) => {
817
+ // Seeded, this is `ImplStats::apply_random_stats`: the same points, dealt by repeated
818
+ // `divmod 6` over the seed instead of by that many independent random draws.
819
819
  if (levelSeed !== undefined) {
820
- return generateStartingStatsFromSeed(levelSeed);
820
+ return generateStartingStatsFromSeed(levelSeed, count);
821
821
  }
822
822
  const stats = {
823
823
  strength: 0,
@@ -836,7 +836,7 @@ export const generateStartingStats = (levelSeed) => {
836
836
  "wisdom",
837
837
  "charisma",
838
838
  ];
839
- for (let i = 0; i < 12; i++) {
839
+ for (let i = 0; i < count; i++) {
840
840
  const idx = Math.floor(Math.random() * 6);
841
841
  stats[statKeys[idx]]++;
842
842
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gameSimulation.js","sourceRoot":"","sources":["../../src/rules/gameSimulation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gameSimulation.js","sourceRoot":"","sources":["../../src/rules/gameSimulation.ts"],"names":[],"mappings":"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"}
@@ -48,12 +48,15 @@ export declare function felt_to_two_u64(felt: bigint): {
48
48
  */
49
49
  export declare function getBeastEntropy(beastSalt: number, adventurerId: string | bigint, xp: number): bigint;
50
50
  /**
51
- * `ImplStats::generate_starting_stats` -- the level 1 -> 2 allocation, seeded.
51
+ * `ImplStats::apply_random_stats` -- the random starting allocation, seeded.
52
52
  *
53
- * Twelve points dealt out by repeated `divmod 6` over the level seed, in the contract's stat order.
54
- * The unseeded sibling in `gameSimulation.ts` draws the same twelve points at random.
53
+ * `count` points dealt out by repeated `divmod 6` over the seed, in the contract's stat order. A
54
+ * u64 carries about 24 such draws, which is the contract's `MAX_RANDOM_STARTING_STATS`.
55
+ *
56
+ * These are ADDITIVE in the contract: it applies them on top of the settings baseline. This
57
+ * returns only the delta, so callers add it themselves.
55
58
  */
56
- export declare function generateStartingStatsFromSeed(seed: bigint): {
59
+ export declare function generateStartingStatsFromSeed(seed: bigint, count?: number): {
57
60
  strength: number;
58
61
  dexterity: number;
59
62
  vitality: number;
@@ -70,8 +73,6 @@ export declare function generateStartingStatsFromSeed(seed: bigint): {
70
73
  * Both land on the identical `(rnd1, rnd3, rnd4, rnd5, rnd6)` -> `beastEncounter` mapping, which is
71
74
  * the client's copy of `ImplBeast::get_beast`.
72
75
  *
73
- * Only valid for adventurer level >= 2. At level 1 the contract ignores all of this and returns the
74
- * fixed starter beast for the equipped weapon type.
75
76
  */
76
77
  export declare const getBeastFromEntropy: (adventurer_xp: number, beastEntropy: bigint) => Beast;
77
78
  export declare const getBeastFromSeed: (adventurer_xp: number, entropy: number) => Beast;
@@ -1 +1 @@
1
- {"version":3,"file":"processFutures.d.ts","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAQpC,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA0CD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;;;;;;;;;EAgBlE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;EAWhF;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAU9E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,EAAE,EAAE,MAAM,GACT,MAAM,CAGR;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAwBA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,EAAE,cAAc,MAAM,KAAG,KACzC,CAAC;AAE1C,eAAO,MAAM,gBAAgB,GAAI,eAAe,MAAM,EAAE,SAAS,MAAM,KAAG,KAIzE,CAAC;AAwIF,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,OAAO,GAChB,SAAS,EAAE,CASb"}
1
+ {"version":3,"file":"processFutures.d.ts","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA0CD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;;;;;;;;;EAgBlE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;EAWhF;AAED,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAGpF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAU9E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,GAAG,MAAM,EAC7B,EAAE,EAAE,MAAM,GACT,MAAM,CAGR;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAW,GACjB;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAwBA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,EAAE,cAAc,MAAM,KAAG,KACzC,CAAC;AAE1C,eAAO,MAAM,gBAAgB,GAAI,eAAe,MAAM,EAAE,SAAS,MAAM,KAAG,KAIzE,CAAC;AA4IF,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,OAAO,GAChB,SAAS,EAAE,CASb"}
@@ -1,5 +1,6 @@
1
1
  import * as starknet from "@scure/starknet";
2
2
  import { BEAST_NAME_PREFIXES, BEAST_NAME_SUFFIXES, BEAST_NAMES, BEAST_SPECIAL_NAME_LEVEL_UNLOCK, } from "../constants/beast.js";
3
+ import { calculateLevel } from "./game.js";
3
4
  const MAX_ID = BigInt(75);
4
5
  const TWO_POW_64_NZ = BigInt("18446744073709551616");
5
6
  const TWO_POW_32_NZ = BigInt("4294967296");
@@ -93,12 +94,15 @@ export function getBeastEntropy(beastSalt, adventurerId, xp) {
93
94
  return hash % TWO_POW_64_NZ;
94
95
  }
95
96
  /**
96
- * `ImplStats::generate_starting_stats` -- the level 1 -> 2 allocation, seeded.
97
+ * `ImplStats::apply_random_stats` -- the random starting allocation, seeded.
97
98
  *
98
- * Twelve points dealt out by repeated `divmod 6` over the level seed, in the contract's stat order.
99
- * The unseeded sibling in `gameSimulation.ts` draws the same twelve points at random.
99
+ * `count` points dealt out by repeated `divmod 6` over the seed, in the contract's stat order. A
100
+ * u64 carries about 24 such draws, which is the contract's `MAX_RANDOM_STARTING_STATS`.
101
+ *
102
+ * These are ADDITIVE in the contract: it applies them on top of the settings baseline. This
103
+ * returns only the delta, so callers add it themselves.
100
104
  */
101
- export function generateStartingStatsFromSeed(seed) {
105
+ export function generateStartingStatsFromSeed(seed, count = 12) {
102
106
  const stats = {
103
107
  strength: 0,
104
108
  dexterity: 0,
@@ -117,7 +121,7 @@ export function generateStartingStatsFromSeed(seed) {
117
121
  "charisma",
118
122
  ];
119
123
  let entropy = seed & (TWO_POW_64_NZ - 1n);
120
- for (let i = 0; i < 12; i += 1) {
124
+ for (let i = 0; i < count; i += 1) {
121
125
  stats[order[Number(entropy % 6n)]] += 1;
122
126
  entropy /= 6n;
123
127
  }
@@ -131,8 +135,6 @@ export function generateStartingStatsFromSeed(seed) {
131
135
  * Both land on the identical `(rnd1, rnd3, rnd4, rnd5, rnd6)` -> `beastEncounter` mapping, which is
132
136
  * the client's copy of `ImplBeast::get_beast`.
133
137
  *
134
- * Only valid for adventurer level >= 2. At level 1 the contract ignores all of this and returns the
135
- * fixed starter beast for the equipped weapon type.
136
138
  */
137
139
  export const getBeastFromEntropy = (adventurer_xp, beastEntropy) => buildBeast(adventurer_xp, beastEntropy);
138
140
  export const getBeastFromSeed = (adventurer_xp, entropy) => {
@@ -141,7 +143,11 @@ export const getBeastFromSeed = (adventurer_xp, entropy) => {
141
143
  return buildBeast(adventurer_xp, u64_1);
142
144
  };
143
145
  const buildBeast = (adventurer_xp, beastEntropy) => {
144
- const level = Math.floor(Math.sqrt(adventurer_xp));
146
+ // `calculateLevel`, not a raw floor-sqrt: Cairo's `get_level_from_xp` returns 1 at xp 0, and
147
+ // `combat.cairo` asserts it. A bare sqrt gives 0 there, and both `getBeastHealth` and
148
+ // `getObstacleLevel` take `entropy % (level * n)` -- so a level of 0 is a division by zero, not
149
+ // a slightly wrong beast.
150
+ const level = calculateLevel(adventurer_xp);
145
151
  const { rnd1, rnd3, rnd4, rnd5, rnd6, rnd7 } = getRandomness(adventurer_xp, beastEntropy);
146
152
  const u64_1 = beastEntropy;
147
153
  const encounter = beastEncounter(BigInt(level), adventurer_xp, rnd1, rnd3, rnd4, rnd5, rnd6, rnd7, rnd5, rnd6);
@@ -283,7 +289,7 @@ function recurseEncounters(encounters, xpList, entropy, adventurerLevel, hasBeas
283
289
  const { u64_1 } = felt_to_two_u64(felt);
284
290
  const nextEncounter = {
285
291
  ...getNextEncounter(xp, u64_1, hasBeast),
286
- adventurerLevel: Math.floor(Math.sqrt(xp)),
292
+ adventurerLevel: calculateLevel(xp),
287
293
  xp: xp,
288
294
  };
289
295
  encounters.push(nextEncounter);
@@ -299,7 +305,7 @@ function recurseEncounters(encounters, xpList, entropy, adventurerLevel, hasBeas
299
305
  }
300
306
  function getNextEncounter(xp, adventurerEntropy, hasBeast) {
301
307
  const { rnd1, rnd3, rnd4, rnd5, rnd6, rnd7, rnd8 } = getRandomness(xp, adventurerEntropy);
302
- const level = BigInt(Math.floor(Math.sqrt(xp)));
308
+ const level = BigInt(calculateLevel(xp));
303
309
  const encounter = Number(rnd8 % BigInt(3));
304
310
  if (hasBeast || encounter === 0) {
305
311
  return beastEncounter(level, xp, rnd1, rnd3, rnd4, rnd5, rnd6, rnd7, rnd5, rnd6);
@@ -1 +1 @@
1
- {"version":3,"file":"processFutures.js","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processFutures.js","sourceRoot":"","sources":["../../src/rules/processFutures.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -128,11 +128,21 @@ export interface Quest {
128
128
  targetScore: number;
129
129
  }
130
130
  export interface GameSettingsData {
131
- vrf_address: string;
132
131
  name: string;
133
132
  in_battle: boolean;
134
133
  game_seed: number;
135
- game_seed_until_xp: number;
134
+ /** `RandomnessMode`: 0 FULL, 1 SEEDED, 2 PER_LEVEL. */
135
+ randomness_mode: number;
136
+ /** Random stat points dealt on top of `adventurer.stats` at START. */
137
+ random_starting_stats: number;
138
+ /**
139
+ * Whether beast collectables exist in this dungeon.
140
+ *
141
+ * The engine does not model collectables (`isCollectable` is always false here), so this only
142
+ * has to match the on-chain settings shape. On chain it gates the collectable storage writes
143
+ * and the self-calls that feed them.
144
+ */
145
+ collectables_enabled: boolean;
136
146
  base_damage_reduction: number;
137
147
  market_size: number;
138
148
  adventurer: Adventurer;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provable-games/dm-engine",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "description": "Death Mountain game rules and commit-reveal protocol, ported from the Cairo contracts. Shared by the client, the indexer and the API.",
6
6
  "license": "MIT",