@omnitronix/bonnys-fortune-game-engine 1.2.0-beta.1 → 1.2.0-beta.3

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.
@@ -129,24 +129,26 @@ class BonnysFortuneGameLogic {
129
129
  return { publicState, privateState };
130
130
  }
131
131
  const betAmount = publicState.currentBetAmount;
132
- const bonusMeters = { ...privateState.bonusMetersByAmount[betAmount] };
132
+ const bonusMetersForBetAmount = privateState.bonusMetersByAmount[betAmount];
133
+ if (!bonusMetersForBetAmount) {
134
+ throw new Error(`Bet amount ${betAmount} is not in allowed thresholds`);
135
+ }
133
136
  for (const key of command.payload?.bonusMeters.redraw ?? []) {
134
137
  const cfg = gameLogicConfig.baseGame.bonusGameMeters[key];
135
138
  const { value: threshold } = await this.randomThreshold(cfg.min, cfg.max, command.id, `bonus_meter_redraw_${key}`);
136
139
  const progress = 0;
137
140
  const level = this.getMeterLevel(progress, threshold, cfg.percentageLevels);
138
- bonusMeters[key] = {
139
- ...bonusMeters[key],
141
+ bonusMetersForBetAmount[key] = {
142
+ ...bonusMetersForBetAmount[key],
140
143
  threshold,
141
144
  progress,
142
145
  level,
143
146
  };
144
147
  }
145
- privateState.bonusMetersByAmount[betAmount] = bonusMeters;
146
148
  return {
147
149
  publicState: {
148
150
  ...publicState,
149
- bonusMeters,
151
+ bonusMeters: bonusMetersForBetAmount,
150
152
  },
151
153
  privateState,
152
154
  };
@@ -176,7 +178,11 @@ class BonnysFortuneGameLogic {
176
178
  }
177
179
  cheatUpdateBonusMeterProgress(publicState, privateState, params, gameLogicConfig) {
178
180
  const betAmount = publicState.currentBetAmount;
179
- const currentPrivateMeter = privateState.bonusMetersByAmount[betAmount][params.bonusType];
181
+ const bonusMetersForBetAmount = privateState.bonusMetersByAmount[betAmount];
182
+ if (!bonusMetersForBetAmount) {
183
+ throw new Error(`Bet amount ${betAmount} is not in allowed thresholds`);
184
+ }
185
+ const currentPrivateMeter = bonusMetersForBetAmount[params.bonusType];
180
186
  if (!currentPrivateMeter) {
181
187
  throw new Error(`Bonus meter ${params.bonusType} not found for bet amount ${betAmount}`);
182
188
  }
@@ -191,7 +197,7 @@ class BonnysFortuneGameLogic {
191
197
  level: newLevel,
192
198
  };
193
199
  privateState.bonusMetersByAmount[betAmount] = {
194
- ...privateState.bonusMetersByAmount[betAmount],
200
+ ...bonusMetersForBetAmount,
195
201
  [params.bonusType]: updatedMeter,
196
202
  };
197
203
  publicState = {
@@ -1 +1 @@
1
- {"version":3,"file":"bonnys-fortune.game-logic.js","sourceRoot":"","sources":["../../src/logic/bonnys-fortune.game-logic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bonnys-fortune.game-logic.js","sourceRoot":"","sources":["../../src/logic/bonnys-fortune.game-logic.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,11 @@ class BaseGameHandler {
17
17
  }
18
18
  let screen = await new bonnys_fortune_spin_generator_1.BonnysFortuneSpinGenerator(this.rngService).generateBaseScreen(config, reelStripsConfig, commandId, 'base_spin_screen');
19
19
  screen = await new bonnys_fortune_spin_generator_1.BonnysFortuneSpinGenerator(this.rngService).applyBonusSymbols(screen, config, commandId, 'base_spin_bonus_symbols');
20
- const updatedBonusMeters = this.updateBonusMeters(screen, privateState.bonusMetersByAmount[params.betAmount], config);
20
+ const bonusMetersForBetAmount = privateState.bonusMetersByAmount[params.betAmount];
21
+ if (!bonusMetersForBetAmount) {
22
+ throw new Error(`Bet amount ${params.betAmount} is not in allowed thresholds`);
23
+ }
24
+ const updatedBonusMeters = this.updateBonusMeters(screen, bonusMetersForBetAmount, config);
21
25
  privateState.bonusMetersByAmount[params.betAmount] = updatedBonusMeters;
22
26
  const scatterSymbolId = config.baseGame.symbolDefinitions.specialSymbols.SCATTER;
23
27
  const betStake = this.getBetStake(params, config);
@@ -1 +1 @@
1
- {"version":3,"file":"base-game.handler.js","sourceRoot":"","sources":["../../../src/logic/handlers/base-game.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-game.handler.js","sourceRoot":"","sources":["../../../src/logic/handlers/base-game.handler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omnitronix/bonnys-fortune-game-engine",
3
- "version": "1.2.0-beta.1",
3
+ "version": "1.2.0-beta.3",
4
4
  "description": "Bonnys Fortune Game Engine",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -280,7 +280,13 @@ export class BonnysFortuneGameLogic {
280
280
  }
281
281
 
282
282
  const betAmount = publicState.currentBetAmount;
283
- const bonusMeters = { ...privateState.bonusMetersByAmount[betAmount] };
283
+ const bonusMetersForBetAmount = privateState.bonusMetersByAmount[betAmount];
284
+
285
+ if (!bonusMetersForBetAmount) {
286
+ throw new Error(
287
+ `Bet amount ${betAmount} is not in allowed thresholds`,
288
+ );
289
+ }
284
290
 
285
291
  for (const key of command.payload?.bonusMeters.redraw ?? []) {
286
292
  const cfg =
@@ -300,20 +306,18 @@ export class BonnysFortuneGameLogic {
300
306
  cfg.percentageLevels,
301
307
  );
302
308
 
303
- bonusMeters[key] = {
304
- ...bonusMeters[key],
309
+ bonusMetersForBetAmount[key] = {
310
+ ...bonusMetersForBetAmount[key],
305
311
  threshold,
306
312
  progress,
307
313
  level,
308
314
  };
309
315
  }
310
316
 
311
- privateState.bonusMetersByAmount[betAmount] = bonusMeters;
312
-
313
317
  return {
314
318
  publicState: {
315
319
  ...publicState,
316
- bonusMeters,
320
+ bonusMeters: bonusMetersForBetAmount,
317
321
  },
318
322
  privateState,
319
323
  };
@@ -358,8 +362,14 @@ export class BonnysFortuneGameLogic {
358
362
  ): CheatUpdateBonusMeterProgressResult {
359
363
  const betAmount = publicState.currentBetAmount;
360
364
 
361
- const currentPrivateMeter =
362
- privateState.bonusMetersByAmount[betAmount][params.bonusType];
365
+ const bonusMetersForBetAmount = privateState.bonusMetersByAmount[betAmount];
366
+ if (!bonusMetersForBetAmount) {
367
+ throw new Error(
368
+ `Bet amount ${betAmount} is not in allowed thresholds`,
369
+ );
370
+ }
371
+
372
+ const currentPrivateMeter = bonusMetersForBetAmount[params.bonusType];
363
373
 
364
374
  if (!currentPrivateMeter) {
365
375
  throw new Error(
@@ -388,7 +398,7 @@ export class BonnysFortuneGameLogic {
388
398
  };
389
399
 
390
400
  privateState.bonusMetersByAmount[betAmount] = {
391
- ...privateState.bonusMetersByAmount[betAmount],
401
+ ...bonusMetersForBetAmount,
392
402
  [params.bonusType]: updatedMeter,
393
403
  };
394
404
 
@@ -47,9 +47,17 @@ export class BaseGameHandler {
47
47
  this.rngService,
48
48
  ).applyBonusSymbols(screen, config, commandId, 'base_spin_bonus_symbols');
49
49
 
50
+ const bonusMetersForBetAmount = privateState.bonusMetersByAmount[params.betAmount];
51
+
52
+ if (!bonusMetersForBetAmount) {
53
+ throw new Error(
54
+ `Bet amount ${params.betAmount} is not in allowed thresholds`,
55
+ );
56
+ }
57
+
50
58
  const updatedBonusMeters = this.updateBonusMeters(
51
59
  screen,
52
- privateState.bonusMetersByAmount[params.betAmount],
60
+ bonusMetersForBetAmount,
53
61
  config,
54
62
  );
55
63