@omnitronix/happy-panda-game-engine 0.0.16 → 0.0.18

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.

Potentially problematic release.


This version of @omnitronix/happy-panda-game-engine might be problematic. Click here for more details.

Files changed (65) hide show
  1. package/README.md +60 -60
  2. package/dist/__tests__/bonus-sequence.test.js +23 -19
  3. package/dist/__tests__/bonus-sequence.test.js.map +1 -1
  4. package/dist/__tests__/cherry-frequency.test.js +2 -2
  5. package/dist/__tests__/comprehensive.test.js +4 -4
  6. package/dist/__tests__/comprehensive.test.js.map +1 -1
  7. package/dist/__tests__/counter-manager.test.js +128 -128
  8. package/dist/__tests__/counter-manager.test.js.map +1 -1
  9. package/dist/__tests__/cpp-parity.test.js +63 -63
  10. package/dist/__tests__/cpp-parity.test.js.map +1 -1
  11. package/dist/__tests__/debug-trigger-bonus.test.js +20 -20
  12. package/dist/__tests__/debug-trigger-bonus.test.js.map +1 -1
  13. package/dist/__tests__/gdd-validation-1000.test.d.ts +14 -0
  14. package/dist/__tests__/gdd-validation-1000.test.d.ts.map +1 -0
  15. package/dist/__tests__/gdd-validation-1000.test.js +418 -0
  16. package/dist/__tests__/gdd-validation-1000.test.js.map +1 -0
  17. package/dist/__tests__/happy-panda-engine.test.js +17 -17
  18. package/dist/__tests__/happy-panda-engine.test.js.map +1 -1
  19. package/dist/__tests__/jackpot-manager.test.js +21 -21
  20. package/dist/__tests__/jackpot-manager.test.js.map +1 -1
  21. package/dist/__tests__/jackpot-trigger-trace.test.js +2 -2
  22. package/dist/__tests__/jackpot-trigger-trace.test.js.map +1 -1
  23. package/dist/__tests__/rtp-diagnostic.test.js +2 -2
  24. package/dist/__tests__/rtp-diagnostic.test.js.map +1 -1
  25. package/dist/__tests__/rtp-simulation.test.js +18 -16
  26. package/dist/__tests__/rtp-simulation.test.js.map +1 -1
  27. package/dist/__tests__/special-wins.test.js +69 -69
  28. package/dist/__tests__/special-wins.test.js.map +1 -1
  29. package/dist/__tests__/spin-generator.test.js +34 -34
  30. package/dist/__tests__/spin-generator.test.js.map +1 -1
  31. package/dist/__tests__/spin-handler.test.js +11 -11
  32. package/dist/__tests__/spin-handler.test.js.map +1 -1
  33. package/dist/__tests__/symbol-distribution.test.js +4 -4
  34. package/dist/__tests__/symbol-distribution.test.js.map +1 -1
  35. package/dist/__tests__/win-evaluator.test.js +58 -58
  36. package/dist/__tests__/win-evaluator.test.js.map +1 -1
  37. package/dist/config/happy-panda.config.d.ts +63 -58
  38. package/dist/config/happy-panda.config.d.ts.map +1 -1
  39. package/dist/config/happy-panda.config.js +236 -229
  40. package/dist/config/happy-panda.config.js.map +1 -1
  41. package/dist/domain/types.d.ts +28 -28
  42. package/dist/domain/types.d.ts.map +1 -1
  43. package/dist/engine/happy-panda-engine.d.ts.map +1 -1
  44. package/dist/engine/happy-panda-engine.js +28 -28
  45. package/dist/engine/happy-panda-engine.js.map +1 -1
  46. package/dist/happy-panda-v1.game-engine.js +6 -6
  47. package/dist/happy-panda-v1.game-engine.js.map +1 -1
  48. package/dist/logic/handlers/spin-handler.js +35 -35
  49. package/dist/logic/handlers/spin-handler.js.map +1 -1
  50. package/dist/logic/services/counter-manager.d.ts +9 -9
  51. package/dist/logic/services/counter-manager.d.ts.map +1 -1
  52. package/dist/logic/services/counter-manager.js +118 -118
  53. package/dist/logic/services/counter-manager.js.map +1 -1
  54. package/dist/logic/services/jackpot-manager.d.ts +4 -4
  55. package/dist/logic/services/jackpot-manager.js +12 -12
  56. package/dist/logic/services/jackpot-manager.js.map +1 -1
  57. package/dist/logic/services/win-evaluator.d.ts +14 -14
  58. package/dist/logic/services/win-evaluator.d.ts.map +1 -1
  59. package/dist/logic/services/win-evaluator.js +121 -121
  60. package/dist/logic/services/win-evaluator.js.map +1 -1
  61. package/dist/rng/spin-generator.d.ts +4 -4
  62. package/dist/rng/spin-generator.d.ts.map +1 -1
  63. package/dist/rng/spin-generator.js +41 -41
  64. package/dist/rng/spin-generator.js.map +1 -1
  65. package/package.json +1 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Happy Panda Game Engine
2
2
 
3
- ![Version](https://img.shields.io/badge/version-0.0.2-blue.svg)
3
+ ![Version](https://img.shields.io/badge/version-0.0.17-blue.svg)
4
4
  ![License](https://img.shields.io/badge/license-UNLICENSED-red.svg)
5
5
  ![Package](https://img.shields.io/badge/package-%40omnitronix%2Fhappy--panda--game--engine-green.svg)
6
6
 
@@ -46,12 +46,12 @@ Configuration:
46
46
 
47
47
  RTP Breakdown by Spin Type:
48
48
  ----------------------------------------------------------------
49
- PAID_SPIN : 62.54% | C++: 63.51% | Diff: -0.97%
50
- BONUS_JACKPOT : 16.24% | C++: 13.56% | Diff: +2.68%
51
- BONUS_CHERRY : 3.96% | C++: 3.67% | Diff: +0.29%
52
- BONUS_BELL : 5.06% | C++: 5.83% | Diff: -0.77%
53
- BONUS_BAR1 : 5.47% | C++: 6.31% | Diff: -0.84%
54
- RESPIN_CHERRY : 2.64% | C++: 3.18% | Diff: -0.54%
49
+ BASE_GAME_SPIN : 62.54% | C++: 63.51% | Diff: -0.97%
50
+ BONUS_BAMBOO_TRIPLETS : 16.24% | C++: 13.56% | Diff: +2.68%
51
+ BONUS_BAMBOO_TWINS : 3.96% | C++: 3.67% | Diff: +0.29%
52
+ BONUS_CAMERA : 5.06% | C++: 5.83% | Diff: -0.77%
53
+ BONUS_FIREWORKS : 5.47% | C++: 6.31% | Diff: -0.84%
54
+ RESPIN_CENTER_BAMBOO : 2.64% | C++: 3.18% | Diff: -0.54%
55
55
  ----------------------------------------------------------------
56
56
  TOTAL : 95.91% | C++: 96.05%
57
57
 
@@ -66,12 +66,12 @@ Statistics:
66
66
  | Metric | TypeScript | C++ Target | Difference | Status |
67
67
  |--------|------------|------------|------------|--------|
68
68
  | **RTP (100M spins)** | 95.91% | 96.05% | -0.14% | **PASS** |
69
- | PAID_SPIN | 62.54% | 63.51% | -0.97% | Match |
70
- | BONUS_JACKPOT | 16.24% | 13.56% | +2.68% | Match |
71
- | BONUS_CHERRY | 3.96% | 3.67% | +0.29% | Match |
72
- | BONUS_BELL | 5.06% | 5.83% | -0.77% | Match |
73
- | BONUS_BAR1 | 5.47% | 6.31% | -0.84% | Match |
74
- | RESPIN_CHERRY | 2.64% | 3.18% | -0.54% | Match |
69
+ | BASE_GAME_SPIN | 62.54% | 63.51% | -0.97% | Match |
70
+ | BONUS_BAMBOO_TRIPLETS | 16.24% | 13.56% | +2.68% | Match |
71
+ | BONUS_BAMBOO_TWINS | 3.96% | 3.67% | +0.29% | Match |
72
+ | BONUS_CAMERA | 5.06% | 5.83% | -0.77% | Match |
73
+ | BONUS_FIREWORKS | 5.47% | 6.31% | -0.84% | Match |
74
+ | RESPIN_CENTER_BAMBOO | 2.64% | 3.18% | -0.54% | Match |
75
75
 
76
76
  **No configuration values from XLSX were modified** - only calculation logic was adjusted to match C++ behavior.
77
77
 
@@ -82,7 +82,7 @@ Statistics:
82
82
  - **RNG Integration**: Pluggable RNG providers with audit trail support
83
83
  - **Bidirectional Paylines**: 8 or 16 paylines with left-to-right and right-to-left evaluation
84
84
  - **Wall Wins**: Full 3x3 matrix wins with multiple types (pure, mixed, fruits, colors)
85
- - **Scatter Wins**: Seven symbols pay anywhere on screen
85
+ - **Scatter Wins**: Red Panda symbols pay anywhere on screen
86
86
  - **Bonus System**: 5 distinct bonus types with counter-based triggers
87
87
  - **Jackpot System**: Progressive and pool jackpots
88
88
  - **TypeScript Support**: Complete type definitions for all interfaces
@@ -280,7 +280,7 @@ Force trigger a specific bonus round for testing.
280
280
  ```typescript
281
281
  interface DebugTriggerBonusCommand {
282
282
  sessionId: string;
283
- bonusType: 'BONUS_JACKPOT' | 'BONUS_CHERRY' | 'BONUS_BELL' | 'BONUS_BAR1' | 'RESPIN_CHERRY';
283
+ bonusType: 'BONUS_BAMBOO_TRIPLETS' | 'BONUS_BAMBOO_TWINS' | 'BONUS_CAMERA' | 'BONUS_FIREWORKS' | 'RESPIN_CENTER_BAMBOO';
284
284
  betAmount: number;
285
285
  }
286
286
  ```
@@ -295,22 +295,22 @@ const result = await engine.processCommand(
295
295
  type: 'DEBUG_TRIGGER_BONUS',
296
296
  payload: {
297
297
  sessionId: 'session-123',
298
- bonusType: 'BONUS_JACKPOT', // or any other bonus type
298
+ bonusType: 'BONUS_BAMBOO_TRIPLETS', // or any other bonus type
299
299
  betAmount: 8,
300
300
  },
301
301
  },
302
302
  );
303
303
  ```
304
304
 
305
- **Bonus Types**:
305
+ **Bonus Types** (GDD naming):
306
306
 
307
307
  | Type | Description |
308
308
  |------|-------------|
309
- | `BONUS_JACKPOT` | Triggers 3-spin Jackpot bonus with cherry pieces grid and progressive jackpot chance |
310
- | `BONUS_CHERRY` | Triggers Cherry free spins bonus with cherry respin feature |
311
- | `BONUS_BELL` | Triggers 5-spin Bell bonus with bell scatter pays + pool jackpot |
312
- | `BONUS_BAR1` | Triggers 7-spin Bar1 bonus with Super Bar scatter pays |
313
- | `RESPIN_CHERRY` | Triggers center cherry respin (1-2 corner respins) |
309
+ | `BONUS_BAMBOO_TRIPLETS` | Jackpot Bonus - 3-spin bonus with panda pieces grid and progressive jackpot chance |
310
+ | `BONUS_BAMBOO_TWINS` | Bamboo Twins Bonus - Free spins with bamboo respin feature |
311
+ | `BONUS_CAMERA` | Camera Bonus - 5-spin bonus with camera scatter pays + pool jackpot |
312
+ | `BONUS_FIREWORKS` | Fireworks Bonus - 7-spin bonus with hat scatter pays |
313
+ | `RESPIN_CENTER_BAMBOO` | Center Bamboo Respin - 1-2 corner respins when bamboo in center |
314
314
 
315
315
  **Returns**: Updated state with bonus pending. Execute `SPIN` to begin the bonus sequence.
316
316
 
@@ -340,7 +340,7 @@ const result = await engine.processCommand(
340
340
  pendingBonuses: PendingBonuses; // Queued bonuses
341
341
  nextSpinType: SpinType; // Next spin type
342
342
  accumulatedBonusWins: number; // Bonus sequence wins
343
- centerCherrySymbol: Symbol | null; // For respin feature
343
+ centerBambooSymbol: Symbol | null; // For respin feature
344
344
  }
345
345
  ```
346
346
 
@@ -363,18 +363,18 @@ const result = await engine.processCommand(
363
363
 
364
364
  | ID | Symbol | Description |
365
365
  |----|--------|-------------|
366
- | 0 | SEV_S | Super Seven (scatter, doubled payout when solo) |
367
- | 1 | SEV | Seven (scatter) |
368
- | 2 | BA3 | Bar 3 |
369
- | 3 | BA2 | Bar 2 |
370
- | 4 | BA1 | Bar 1 |
371
- | 5 | ME | Melon |
372
- | 6 | BE | Bell |
373
- | 7 | PR | Prune |
374
- | 8 | OR | Orange |
375
- | 9 | CH | Cherry |
376
- | 10 | CH_S | Cherry Special |
377
- | 11 | BA_S | Super Bar |
366
+ | 0 | GOLDEN_PANDA | Golden Red Panda (scatter, doubled payout when solo) |
367
+ | 1 | RED_PANDA | Red Panda (scatter) |
368
+ | 2 | SLOT_MACHINE | Slot Machine |
369
+ | 3 | CITY | City with Fireworks |
370
+ | 4 | FIREWORKS_ROCKETS | Fireworks Rockets |
371
+ | 5 | BACKPACK | Backpack with Coins |
372
+ | 6 | CAMERA | Photo Camera |
373
+ | 7 | FOOD_BOWL | Food Bowl |
374
+ | 8 | CUP | Colorful Cup |
375
+ | 9 | BAMBOO | Green Bamboo |
376
+ | 10 | GOLDEN_BAMBOO | Golden Bamboo |
377
+ | 11 | HAT | Hat |
378
378
 
379
379
  ### Win Types
380
380
 
@@ -382,58 +382,58 @@ const result = await engine.processCommand(
382
382
 
383
383
  - 8 paylines (SINGLE mode) or 16 paylines (BOTH mode)
384
384
  - Evaluated left-to-right and right-to-left in 16-line mode
385
- - Cherry pays on 1, 2, or 3 matches
385
+ - Bamboo pays on 1, 2, or 3 matches
386
386
  - Line shapes follow classic 3x3 patterns
387
387
 
388
388
  #### 2. Wall Wins (Matrix/Screen Wins)
389
389
 
390
390
  - Full 3x3 of same symbol
391
391
  - Special mixed types:
392
- - **Cherry Mix**: CH + CH_S combinations
393
- - **Any Bar Mix**: BA1 + BA2 + BA3 + BA_S
394
- - **All Fruits**: ME + BE + PR + OR
395
- - **All Colors**: Mixed symbol colors
392
+ - **Bamboo Mix**: BAMBOO + GOLDEN_BAMBOO combinations
393
+ - **Any Bar Mix**: FIREWORKS_ROCKETS + CITY + SLOT_MACHINE + HAT
394
+ - **All Fruits**: BACKPACK + CAMERA + FOOD_BOWL + CUP
395
+ - **All Badges**: Mixed badge colors
396
396
  - **Important**: Wall wins suppress line wins when active
397
397
 
398
- #### 3. Scatter Wins (Seven)
398
+ #### 3. Scatter Wins (Red Panda)
399
399
 
400
- - 2-9 Seven symbols anywhere on screen
401
- - Super Seven only = doubled payout
400
+ - 2-9 Red Panda symbols anywhere on screen
401
+ - Golden Panda only = doubled payout
402
402
  - **Important**: Scatter wins suppress line wins when active
403
403
 
404
404
  #### 4. Special Wins (Bonus modes only)
405
405
 
406
- - **Cherry Pieces**: Count of cherry pieces (Jackpot Bonus)
407
- - **Bell Scatter**: Bell count anywhere (Bell Bonus)
408
- - **Super Bar Scatter**: Super Bar count anywhere (Bar1 Bonus)
406
+ - **Panda Pieces**: Count of dancing panda pieces (Bamboo Triplets Bonus)
407
+ - **Camera Scatter**: Camera count anywhere (Camera Bonus)
408
+ - **Hat Scatter**: Hat count anywhere (Fireworks Bonus)
409
409
 
410
410
  ### Bonus System
411
411
 
412
- Five distinct bonus types with counter-based triggers:
412
+ Five distinct bonus types with counter-based triggers (GDD naming):
413
413
 
414
414
  | Bonus | Trigger | Spins | Description |
415
415
  |-------|---------|-------|-------------|
416
- | **Jackpot** | 3x Cherry on first 8 lines | 3 | Cherry pieces with progressive jackpot chance |
417
- | **Cherry** | Cherry pair counter = 0 | Variable | Cherry respin feature |
418
- | **Bell** | Bell triple counter = 0 | 5 | Bell scatter pays + pool jackpot |
419
- | **Bar1** | Bar1 triple counter = 0 | 7 | Super Bar scatter pays |
420
- | **Respin** | Lone center cherry on losing spin | 1-2 | Corner respin feature |
416
+ | **Bamboo Triplets** | 3x Bamboo on first 8 lines | 3 | Panda pieces with progressive jackpot chance |
417
+ | **Bamboo Twins** | Bamboo pair counter = 0 | Variable | Bamboo respin feature |
418
+ | **Camera** | Camera triple counter = 0 | 5 | Camera scatter pays + pool jackpot |
419
+ | **Fireworks** | Fireworks triple counter = 0 | 7 | Hat scatter pays |
420
+ | **Center Bamboo** | Lone center bamboo on losing spin | 1-2 | Corner respin feature |
421
421
 
422
422
  ### Counter System
423
423
 
424
424
  Each bonus has an associated counter that decrements on specific symbol combinations:
425
425
 
426
- - **Jackpot Counter**: Decrements on specific patterns, triggers at 0
427
- - **Cherry Counter**: Decrements on cherry pairs, resets to 6 or 9
428
- - **Bell Counter**: Decrements on bell triples, resets to 3 or 5
429
- - **Bar1 Counter**: Decrements on bar1 triples, resets to 1
426
+ - **Bamboo Triplets Counter**: Decrements on specific patterns, triggers at 0
427
+ - **Bamboo Twins Counter**: Decrements on bamboo pairs, resets to 6 or 9
428
+ - **Camera Counter**: Decrements on camera triples, resets to 3 or 5
429
+ - **Fireworks Counter**: Decrements on fireworks triples, resets to 1
430
430
 
431
431
  ### Jackpot System
432
432
 
433
433
  Two jackpot types:
434
434
 
435
- - **Progressive Jackpot** (`bonusJackpotValue`): Accumulates on losing paid spins, paid during Jackpot Bonus
436
- - **Pool Jackpot** (`poolJackpotValue`): Accumulates separately, paid when Bell Bonus triggers
435
+ - **Progressive Jackpot** (`bonusJackpotValue`): Accumulates on losing paid spins, paid during Bamboo Triplets Bonus
436
+ - **Pool Jackpot** (`poolJackpotValue`): Accumulates separately, paid when Camera Bonus triggers
437
437
 
438
438
  ## Integration Examples
439
439
 
@@ -691,7 +691,7 @@ import {
691
691
  ### Wall Wins (Matrix Wins)
692
692
 
693
693
  - **Screen-filling wins**: Full 3x3 of same/related symbols
694
- - **Multiple types**: Pure, cherry mix, bar mix, fruits, colors
694
+ - **Multiple types**: Pure, bamboo mix, bar mix, fruits, badges
695
695
  - **Important**: Wall wins suppress line wins (no double-counting)
696
696
 
697
697
  ### Counter-Based Bonuses
@@ -703,7 +703,7 @@ import {
703
703
  ### Dual Jackpot System
704
704
 
705
705
  - **Progressive Jackpot**: Accumulates on losses, paid in Jackpot Bonus
706
- - **Pool Jackpot**: Separate accumulator, paid with Bell Bonus
706
+ - **Pool Jackpot**: Separate accumulator, paid with Camera Bonus
707
707
  - **Dual opportunity**: Two paths to jackpot wins
708
708
 
709
709
  ## Documentation
@@ -42,7 +42,7 @@ describe('Bonus Sequences', () => {
42
42
  };
43
43
  let { state } = await engine.handleCommand(initRequest);
44
44
  // Manually set up a bonus state to test spin counting
45
- state.privateState.internalPendingBonuses.cherry = 1;
45
+ state.privateState.internalPendingBonuses.bambooTwins = 1;
46
46
  state.publicState.hasPendingBonus = true;
47
47
  const spinRequest = {
48
48
  command: types_1.CommandType.SPIN,
@@ -65,7 +65,7 @@ describe('Bonus Sequences', () => {
65
65
  };
66
66
  let { state } = await engine.handleCommand(initRequest);
67
67
  // Set up bell bonus (5 spins)
68
- state.privateState.internalPendingBonuses.bell = 1;
68
+ state.privateState.internalPendingBonuses.camera = 1;
69
69
  state.publicState.hasPendingBonus = true;
70
70
  const spinRequest = {
71
71
  command: types_1.CommandType.SPIN,
@@ -94,8 +94,8 @@ describe('Bonus Sequences', () => {
94
94
  };
95
95
  let { state } = await engine.handleCommand(initRequest);
96
96
  // Queue multiple bonuses
97
- state.privateState.internalPendingBonuses.cherry = 1;
98
- state.privateState.internalPendingBonuses.bell = 1;
97
+ state.privateState.internalPendingBonuses.bambooTwins = 1;
98
+ state.privateState.internalPendingBonuses.camera = 1;
99
99
  state.publicState.hasPendingBonus = true;
100
100
  const spinRequest = {
101
101
  command: types_1.CommandType.SPIN,
@@ -122,7 +122,7 @@ describe('Bonus Sequences', () => {
122
122
  };
123
123
  let { state } = await engine.handleCommand(initRequest);
124
124
  // Add a single respin (1 spin)
125
- state.privateState.internalPendingBonuses.respin = 1;
125
+ state.privateState.internalPendingBonuses.centerBamboo = 1;
126
126
  state.publicState.hasPendingBonus = true;
127
127
  const spinRequest = {
128
128
  command: types_1.CommandType.SPIN,
@@ -153,7 +153,7 @@ describe('Bonus Sequences', () => {
153
153
  };
154
154
  let { state } = await engine.handleCommand(initRequest);
155
155
  // Add a respin
156
- state.privateState.internalPendingBonuses.respin = 1;
156
+ state.privateState.internalPendingBonuses.centerBamboo = 1;
157
157
  state.publicState.hasPendingBonus = true;
158
158
  const spinRequest = {
159
159
  command: types_1.CommandType.SPIN,
@@ -223,7 +223,7 @@ describe('Bonus Sequences', () => {
223
223
  };
224
224
  const { state } = await engine.handleCommand(initRequest);
225
225
  // Initially no center cherry
226
- expect(state.privateState.centerCherrySymbol).toBeNull();
226
+ expect(state.privateState.centerBambooSymbol).toBeNull();
227
227
  });
228
228
  });
229
229
  describe('Multiple Bonus Queue', () => {
@@ -238,15 +238,15 @@ describe('Bonus Sequences', () => {
238
238
  };
239
239
  let { state } = await engine.handleCommand(initRequest);
240
240
  // Queue multiple bonuses
241
- state.privateState.internalPendingBonuses.jackpot = 2;
242
- state.privateState.internalPendingBonuses.cherry = 1;
241
+ state.privateState.internalPendingBonuses.bambooTriplets = 2;
242
+ state.privateState.internalPendingBonuses.bambooTwins = 1;
243
243
  state.publicState.hasPendingBonus = true;
244
244
  // Total pending should be 3
245
- const totalPending = state.privateState.internalPendingBonuses.jackpot +
246
- state.privateState.internalPendingBonuses.cherry +
247
- state.privateState.internalPendingBonuses.bell +
248
- state.privateState.internalPendingBonuses.bar1 +
249
- state.privateState.internalPendingBonuses.respin;
245
+ const totalPending = state.privateState.internalPendingBonuses.bambooTriplets +
246
+ state.privateState.internalPendingBonuses.bambooTwins +
247
+ state.privateState.internalPendingBonuses.camera +
248
+ state.privateState.internalPendingBonuses.fireworks +
249
+ state.privateState.internalPendingBonuses.centerBamboo;
250
250
  expect(totalPending).toBe(3);
251
251
  });
252
252
  it('should decrement pending count when bonus consumed', async () => {
@@ -261,7 +261,7 @@ describe('Bonus Sequences', () => {
261
261
  let { state } = await engine.handleCommand(initRequest);
262
262
  // Add pending bonus
263
263
  const initialPending = 2;
264
- state.privateState.internalPendingBonuses.respin = initialPending;
264
+ state.privateState.internalPendingBonuses.centerBamboo = initialPending;
265
265
  state.publicState.hasPendingBonus = true;
266
266
  const spinRequest = {
267
267
  command: types_1.CommandType.SPIN,
@@ -271,7 +271,7 @@ describe('Bonus Sequences', () => {
271
271
  const result = await engine.handleCommand(spinRequest, state);
272
272
  state = result.state;
273
273
  // Pending should be decremented (respins are all consumed at once)
274
- expect(state.privateState.internalPendingBonuses.respin).toBeLessThanOrEqual(initialPending);
274
+ expect(state.privateState.internalPendingBonuses.centerBamboo).toBeLessThanOrEqual(initialPending);
275
275
  });
276
276
  });
277
277
  describe('Bonus Win Tracking', () => {
@@ -313,7 +313,7 @@ describe('Bonus Sequences', () => {
313
313
  expect(typeof response.poolJackpotWon).toBe('number');
314
314
  expect(response.poolJackpotWon).toBeGreaterThanOrEqual(0);
315
315
  });
316
- it('should return bonusTriggered in response', async () => {
316
+ it('should return triggeredBonus in response when bonus triggers', async () => {
317
317
  const mockRng = createMockRng([0, 1, 2, 3, 4, 5, 6, 7, 8]);
318
318
  const engine = new happy_panda_engine_1.HappyPandaEngine(mockRng);
319
319
  const initRequest = {
@@ -329,8 +329,12 @@ describe('Bonus Sequences', () => {
329
329
  };
330
330
  const result = await engine.handleCommand(spinRequest, state);
331
331
  const response = result.response;
332
- // Should be null or a valid spin type
333
- expect(response.bonusTriggered === null || typeof response.bonusTriggered === 'number').toBe(true);
332
+ // triggeredBonus should be undefined or a valid BonusTrigger object
333
+ if (response.triggeredBonus) {
334
+ expect(typeof response.triggeredBonus.bonusId).toBe('string');
335
+ expect(typeof response.triggeredBonus.bonusType).toBe('string');
336
+ expect(typeof response.triggeredBonus.betAmount).toBe('number');
337
+ }
334
338
  });
335
339
  });
336
340
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bonus-sequence.test.js","sourceRoot":"","sources":["../../src/__tests__/bonus-sequence.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bonus-sequence.test.js","sourceRoot":"","sources":["../../src/__tests__/bonus-sequence.test.ts"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ function countCherrySymbols(grid) {
32
32
  let count = 0;
33
33
  for (let reel = 0; reel < 3; reel++) {
34
34
  for (let row = 0; row < 3; row++) {
35
- if (happy_panda_config_1.CHERRY_SYMBOLS.includes(grid[reel][row])) {
35
+ if (happy_panda_config_1.BAMBOO_SYMBOLS.includes(grid[reel][row])) {
36
36
  count++;
37
37
  }
38
38
  }
@@ -46,7 +46,7 @@ function count3xCherryLines(grid) {
46
46
  const lineShape = happy_panda_config_1.LINE_SHAPES[lineIndex];
47
47
  const symbols = lineShape.map(([reel, row]) => grid[reel][row]);
48
48
  // Check if all 3 symbols are cherries
49
- const allCherry = symbols.every(s => happy_panda_config_1.CHERRY_SYMBOLS.includes(s));
49
+ const allCherry = symbols.every(s => happy_panda_config_1.BAMBOO_SYMBOLS.includes(s));
50
50
  if (allCherry) {
51
51
  count++;
52
52
  }
@@ -251,7 +251,7 @@ describe('Happy Panda - Comprehensive Test Suite', () => {
251
251
  betAmount: 8,
252
252
  },
253
253
  });
254
- expect(result.privateState.internalPendingBonuses.jackpot).toBe(initialJackpot + 1);
254
+ expect(result.privateState.internalPendingBonuses.bambooTriplets).toBe(initialJackpot + 1);
255
255
  });
256
256
  it('should allow stacking multiple bonuses', async () => {
257
257
  let currentPublic = publicState;
@@ -271,7 +271,7 @@ describe('Happy Panda - Comprehensive Test Suite', () => {
271
271
  currentPublic = result.publicState;
272
272
  currentPrivate = result.privateState;
273
273
  }
274
- expect(currentPrivate.internalPendingBonuses.cherry).toBe(3);
274
+ expect(currentPrivate.internalPendingBonuses.bambooTwins).toBe(3);
275
275
  });
276
276
  it('should not modify other bonus counters', async () => {
277
277
  const initialBell = privateState.pendingBonuses?.bell || 0;
@@ -284,7 +284,7 @@ describe('Happy Panda - Comprehensive Test Suite', () => {
284
284
  betAmount: 8,
285
285
  },
286
286
  });
287
- expect(result.privateState.internalPendingBonuses.bell).toBe(initialBell);
287
+ expect(result.privateState.internalPendingBonuses.camera).toBe(initialBell);
288
288
  });
289
289
  });
290
290
  // ============================================================
@@ -448,7 +448,7 @@ describe('Happy Panda - Comprehensive Test Suite', () => {
448
448
  const restoredPublic = JSON.parse(serializedPublic);
449
449
  const restoredPrivate = JSON.parse(serializedPrivate);
450
450
  expect(restoredPublic.hasPendingBonus).toBe(true);
451
- expect(restoredPrivate.internalPendingBonuses.bell).toBe(1);
451
+ expect(restoredPrivate.internalPendingBonuses.camera).toBe(1);
452
452
  });
453
453
  it('should preserve game direction across reconnection', async () => {
454
454
  const init = await engine.processCommand(null, null, {
@@ -1 +1 @@
1
- {"version":3,"file":"comprehensive.test.js","sourceRoot":"","sources":["../../src/__tests__/comprehensive.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"comprehensive.test.js","sourceRoot":"","sources":["../../src/__tests__/comprehensive.test.ts"],"names":[],"mappings":"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"}