@omnitronix/happy-panda-game-engine 0.5.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.
Files changed (207) hide show
  1. package/README.md +732 -0
  2. package/dist/__tests__/bonus-sequence.test.d.ts +7 -0
  3. package/dist/__tests__/bonus-sequence.test.d.ts.map +1 -0
  4. package/dist/__tests__/bonus-sequence.test.js +381 -0
  5. package/dist/__tests__/bonus-sequence.test.js.map +1 -0
  6. package/dist/__tests__/cherry-frequency.test.d.ts +8 -0
  7. package/dist/__tests__/cherry-frequency.test.d.ts.map +1 -0
  8. package/dist/__tests__/cherry-frequency.test.js +128 -0
  9. package/dist/__tests__/cherry-frequency.test.js.map +1 -0
  10. package/dist/__tests__/comprehensive.test.d.ts +16 -0
  11. package/dist/__tests__/comprehensive.test.d.ts.map +1 -0
  12. package/dist/__tests__/comprehensive.test.js +491 -0
  13. package/dist/__tests__/comprehensive.test.js.map +1 -0
  14. package/dist/__tests__/counter-manager.test.d.ts +7 -0
  15. package/dist/__tests__/counter-manager.test.d.ts.map +1 -0
  16. package/dist/__tests__/counter-manager.test.js +317 -0
  17. package/dist/__tests__/counter-manager.test.js.map +1 -0
  18. package/dist/__tests__/coverage-boost.test.d.ts +13 -0
  19. package/dist/__tests__/coverage-boost.test.d.ts.map +1 -0
  20. package/dist/__tests__/coverage-boost.test.js +606 -0
  21. package/dist/__tests__/coverage-boost.test.js.map +1 -0
  22. package/dist/__tests__/cpp-parity.test.d.ts +39 -0
  23. package/dist/__tests__/cpp-parity.test.d.ts.map +1 -0
  24. package/dist/__tests__/cpp-parity.test.js +392 -0
  25. package/dist/__tests__/cpp-parity.test.js.map +1 -0
  26. package/dist/__tests__/debug-trigger-bonus.test.d.ts +8 -0
  27. package/dist/__tests__/debug-trigger-bonus.test.d.ts.map +1 -0
  28. package/dist/__tests__/debug-trigger-bonus.test.js +359 -0
  29. package/dist/__tests__/debug-trigger-bonus.test.js.map +1 -0
  30. package/dist/__tests__/fixtures/cpp-parity-vectors.json +457 -0
  31. package/dist/__tests__/gdd-validation-1000.test.d.ts +14 -0
  32. package/dist/__tests__/gdd-validation-1000.test.d.ts.map +1 -0
  33. package/dist/__tests__/gdd-validation-1000.test.js +418 -0
  34. package/dist/__tests__/gdd-validation-1000.test.js.map +1 -0
  35. package/dist/__tests__/happy-panda-engine.test.d.ts +7 -0
  36. package/dist/__tests__/happy-panda-engine.test.d.ts.map +1 -0
  37. package/dist/__tests__/happy-panda-engine.test.js +414 -0
  38. package/dist/__tests__/happy-panda-engine.test.js.map +1 -0
  39. package/dist/__tests__/jackpot-manager.test.d.ts +8 -0
  40. package/dist/__tests__/jackpot-manager.test.d.ts.map +1 -0
  41. package/dist/__tests__/jackpot-manager.test.js +313 -0
  42. package/dist/__tests__/jackpot-manager.test.js.map +1 -0
  43. package/dist/__tests__/jackpot-trigger-trace.test.d.ts +6 -0
  44. package/dist/__tests__/jackpot-trigger-trace.test.d.ts.map +1 -0
  45. package/dist/__tests__/jackpot-trigger-trace.test.js +146 -0
  46. package/dist/__tests__/jackpot-trigger-trace.test.js.map +1 -0
  47. package/dist/__tests__/rng-gli19-compliance.test.d.ts +21 -0
  48. package/dist/__tests__/rng-gli19-compliance.test.d.ts.map +1 -0
  49. package/dist/__tests__/rng-gli19-compliance.test.js +480 -0
  50. package/dist/__tests__/rng-gli19-compliance.test.js.map +1 -0
  51. package/dist/__tests__/rng-seed-security.test.d.ts +19 -0
  52. package/dist/__tests__/rng-seed-security.test.d.ts.map +1 -0
  53. package/dist/__tests__/rng-seed-security.test.js +518 -0
  54. package/dist/__tests__/rng-seed-security.test.js.map +1 -0
  55. package/dist/__tests__/rng-seed-type.test.d.ts +16 -0
  56. package/dist/__tests__/rng-seed-type.test.d.ts.map +1 -0
  57. package/dist/__tests__/rng-seed-type.test.js +285 -0
  58. package/dist/__tests__/rng-seed-type.test.js.map +1 -0
  59. package/dist/__tests__/rng-stress-boundary.test.d.ts +15 -0
  60. package/dist/__tests__/rng-stress-boundary.test.d.ts.map +1 -0
  61. package/dist/__tests__/rng-stress-boundary.test.js +590 -0
  62. package/dist/__tests__/rng-stress-boundary.test.js.map +1 -0
  63. package/dist/__tests__/rtp-1million.test.d.ts +8 -0
  64. package/dist/__tests__/rtp-1million.test.d.ts.map +1 -0
  65. package/dist/__tests__/rtp-1million.test.js +156 -0
  66. package/dist/__tests__/rtp-1million.test.js.map +1 -0
  67. package/dist/__tests__/rtp-analysis.test.d.ts +8 -0
  68. package/dist/__tests__/rtp-analysis.test.d.ts.map +1 -0
  69. package/dist/__tests__/rtp-analysis.test.js +138 -0
  70. package/dist/__tests__/rtp-analysis.test.js.map +1 -0
  71. package/dist/__tests__/rtp-diagnostic.test.d.ts +6 -0
  72. package/dist/__tests__/rtp-diagnostic.test.d.ts.map +1 -0
  73. package/dist/__tests__/rtp-diagnostic.test.js +141 -0
  74. package/dist/__tests__/rtp-diagnostic.test.js.map +1 -0
  75. package/dist/__tests__/rtp-simulation.test.d.ts +8 -0
  76. package/dist/__tests__/rtp-simulation.test.d.ts.map +1 -0
  77. package/dist/__tests__/rtp-simulation.test.js +411 -0
  78. package/dist/__tests__/rtp-simulation.test.js.map +1 -0
  79. package/dist/__tests__/special-wins.test.d.ts +7 -0
  80. package/dist/__tests__/special-wins.test.d.ts.map +1 -0
  81. package/dist/__tests__/special-wins.test.js +179 -0
  82. package/dist/__tests__/special-wins.test.js.map +1 -0
  83. package/dist/__tests__/spin-generator.test.d.ts +7 -0
  84. package/dist/__tests__/spin-generator.test.d.ts.map +1 -0
  85. package/dist/__tests__/spin-generator.test.js +297 -0
  86. package/dist/__tests__/spin-generator.test.js.map +1 -0
  87. package/dist/__tests__/spin-handler.test.d.ts +7 -0
  88. package/dist/__tests__/spin-handler.test.d.ts.map +1 -0
  89. package/dist/__tests__/spin-handler.test.js +210 -0
  90. package/dist/__tests__/spin-handler.test.js.map +1 -0
  91. package/dist/__tests__/symbol-distribution.test.d.ts +6 -0
  92. package/dist/__tests__/symbol-distribution.test.d.ts.map +1 -0
  93. package/dist/__tests__/symbol-distribution.test.js +119 -0
  94. package/dist/__tests__/symbol-distribution.test.js.map +1 -0
  95. package/dist/__tests__/test-protocol-10000-spin.test.d.ts +14 -0
  96. package/dist/__tests__/test-protocol-10000-spin.test.d.ts.map +1 -0
  97. package/dist/__tests__/test-protocol-10000-spin.test.js +359 -0
  98. package/dist/__tests__/test-protocol-10000-spin.test.js.map +1 -0
  99. package/dist/__tests__/weighted-random.test.d.ts +7 -0
  100. package/dist/__tests__/weighted-random.test.d.ts.map +1 -0
  101. package/dist/__tests__/weighted-random.test.js +165 -0
  102. package/dist/__tests__/weighted-random.test.js.map +1 -0
  103. package/dist/__tests__/win-evaluator.test.d.ts +7 -0
  104. package/dist/__tests__/win-evaluator.test.d.ts.map +1 -0
  105. package/dist/__tests__/win-evaluator.test.js +264 -0
  106. package/dist/__tests__/win-evaluator.test.js.map +1 -0
  107. package/dist/config/happy-panda.config.d.ts +217 -0
  108. package/dist/config/happy-panda.config.d.ts.map +1 -0
  109. package/dist/config/happy-panda.config.js +721 -0
  110. package/dist/config/happy-panda.config.js.map +1 -0
  111. package/dist/config/index.d.ts +5 -0
  112. package/dist/config/index.d.ts.map +1 -0
  113. package/dist/config/index.js +21 -0
  114. package/dist/config/index.js.map +1 -0
  115. package/dist/debug/debug-command-definitions.d.ts +38 -0
  116. package/dist/debug/debug-command-definitions.d.ts.map +1 -0
  117. package/dist/debug/debug-command-definitions.js +80 -0
  118. package/dist/debug/debug-command-definitions.js.map +1 -0
  119. package/dist/domain/debug-trigger-bonus-command.d.ts +17 -0
  120. package/dist/domain/debug-trigger-bonus-command.d.ts.map +1 -0
  121. package/dist/domain/debug-trigger-bonus-command.js +3 -0
  122. package/dist/domain/debug-trigger-bonus-command.js.map +1 -0
  123. package/dist/domain/index.d.ts +5 -0
  124. package/dist/domain/index.d.ts.map +1 -0
  125. package/dist/domain/index.js +21 -0
  126. package/dist/domain/index.js.map +1 -0
  127. package/dist/domain/types.d.ts +228 -0
  128. package/dist/domain/types.d.ts.map +1 -0
  129. package/dist/domain/types.js +30 -0
  130. package/dist/domain/types.js.map +1 -0
  131. package/dist/engine/happy-panda-engine.d.ts +64 -0
  132. package/dist/engine/happy-panda-engine.d.ts.map +1 -0
  133. package/dist/engine/happy-panda-engine.js +324 -0
  134. package/dist/engine/happy-panda-engine.js.map +1 -0
  135. package/dist/engine/index.d.ts +5 -0
  136. package/dist/engine/index.d.ts.map +1 -0
  137. package/dist/engine/index.js +21 -0
  138. package/dist/engine/index.js.map +1 -0
  139. package/dist/game-engine.interface.d.ts +19 -0
  140. package/dist/game-engine.interface.d.ts.map +1 -0
  141. package/dist/game-engine.interface.js +9 -0
  142. package/dist/game-engine.interface.js.map +1 -0
  143. package/dist/happy-panda-v1.game-engine.d.ts +60 -0
  144. package/dist/happy-panda-v1.game-engine.d.ts.map +1 -0
  145. package/dist/happy-panda-v1.game-engine.js +524 -0
  146. package/dist/happy-panda-v1.game-engine.js.map +1 -0
  147. package/dist/index.d.ts +22 -0
  148. package/dist/index.d.ts.map +1 -0
  149. package/dist/index.js +59 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/logic/handlers/index.d.ts +5 -0
  152. package/dist/logic/handlers/index.d.ts.map +1 -0
  153. package/dist/logic/handlers/index.js +21 -0
  154. package/dist/logic/handlers/index.js.map +1 -0
  155. package/dist/logic/handlers/spin-handler.d.ts +58 -0
  156. package/dist/logic/handlers/spin-handler.d.ts.map +1 -0
  157. package/dist/logic/handlers/spin-handler.js +265 -0
  158. package/dist/logic/handlers/spin-handler.js.map +1 -0
  159. package/dist/logic/index.d.ts +6 -0
  160. package/dist/logic/index.d.ts.map +1 -0
  161. package/dist/logic/index.js +22 -0
  162. package/dist/logic/index.js.map +1 -0
  163. package/dist/logic/services/counter-manager.d.ts +60 -0
  164. package/dist/logic/services/counter-manager.d.ts.map +1 -0
  165. package/dist/logic/services/counter-manager.js +268 -0
  166. package/dist/logic/services/counter-manager.js.map +1 -0
  167. package/dist/logic/services/index.d.ts +7 -0
  168. package/dist/logic/services/index.d.ts.map +1 -0
  169. package/dist/logic/services/index.js +23 -0
  170. package/dist/logic/services/index.js.map +1 -0
  171. package/dist/logic/services/jackpot-manager.d.ts +59 -0
  172. package/dist/logic/services/jackpot-manager.d.ts.map +1 -0
  173. package/dist/logic/services/jackpot-manager.js +142 -0
  174. package/dist/logic/services/jackpot-manager.js.map +1 -0
  175. package/dist/logic/services/win-evaluator.d.ts +51 -0
  176. package/dist/logic/services/win-evaluator.d.ts.map +1 -0
  177. package/dist/logic/services/win-evaluator.js +463 -0
  178. package/dist/logic/services/win-evaluator.js.map +1 -0
  179. package/dist/rng/dummy-rng-client.d.ts +39 -0
  180. package/dist/rng/dummy-rng-client.d.ts.map +1 -0
  181. package/dist/rng/dummy-rng-client.js +77 -0
  182. package/dist/rng/dummy-rng-client.js.map +1 -0
  183. package/dist/rng/index.d.ts +10 -0
  184. package/dist/rng/index.d.ts.map +1 -0
  185. package/dist/rng/index.js +27 -0
  186. package/dist/rng/index.js.map +1 -0
  187. package/dist/rng/rng-client.factory.d.ts +33 -0
  188. package/dist/rng/rng-client.factory.d.ts.map +1 -0
  189. package/dist/rng/rng-client.factory.js +57 -0
  190. package/dist/rng/rng-client.factory.js.map +1 -0
  191. package/dist/rng/rng-client.interface.d.ts +51 -0
  192. package/dist/rng/rng-client.interface.d.ts.map +1 -0
  193. package/dist/rng/rng-client.interface.js +9 -0
  194. package/dist/rng/rng-client.interface.js.map +1 -0
  195. package/dist/rng/rng-service.d.ts +93 -0
  196. package/dist/rng/rng-service.d.ts.map +1 -0
  197. package/dist/rng/rng-service.js +124 -0
  198. package/dist/rng/rng-service.js.map +1 -0
  199. package/dist/rng/spin-generator.d.ts +32 -0
  200. package/dist/rng/spin-generator.d.ts.map +1 -0
  201. package/dist/rng/spin-generator.js +338 -0
  202. package/dist/rng/spin-generator.js.map +1 -0
  203. package/dist/rng/weighted-random.d.ts +30 -0
  204. package/dist/rng/weighted-random.d.ts.map +1 -0
  205. package/dist/rng/weighted-random.js +58 -0
  206. package/dist/rng/weighted-random.js.map +1 -0
  207. package/package.json +59 -0
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Happy Panda Game Engine Configuration
3
+ *
4
+ * Extracted from CherryMaster_A_2.cpp math model.
5
+ * 3x3 slot with 8/16 bidirectional paylines.
6
+ *
7
+ * Game Modes:
8
+ * - gameDirection=0: 8 lines, single direction, min bet = 8
9
+ * - gameDirection=1: 16 lines, both directions, min bet = 16
10
+ */
11
+ export declare enum Symbol {
12
+ NONE = -1,
13
+ GOLDEN_PANDA = 0,// H1 - Golden Red Panda (works with Normal Panda)
14
+ RED_PANDA = 1,// H2 - Normal Red Panda
15
+ SLOT_MACHINE = 2,// H3 - Slot Machine
16
+ CITY = 3,// M1 - City with fireworks over homes
17
+ FIREWORKS_ROCKETS = 4,// M2 - Fireworks Rockets
18
+ BACKPACK = 5,// M3 - Backpack full of golden coins
19
+ CAMERA = 6,// L1 - Photo Camera Polaroid
20
+ FOOD_BOWL = 7,// L2 - Food Bowl
21
+ CUP = 8,// L3 - Colorful cup with straw
22
+ BAMBOO = 9,// L4 - Green Bamboo Sticks
23
+ GOLDEN_BAMBOO = 10,// L5 - Golden Bamboo Sticks
24
+ HAT = 11,// Super Bar / Hat symbol
25
+ BAR_MIX = 25,// Mixed bar (Slot Machine + City + Fireworks) for line wins
26
+ PANDA_PIECE_00 = 12,
27
+ PANDA_PIECE_01 = 13,
28
+ PANDA_PIECE_02 = 14,
29
+ PANDA_PIECE_10 = 15,
30
+ PANDA_PIECE_11 = 16,
31
+ PANDA_PIECE_12 = 17,
32
+ PANDA_PIECE_20 = 18,
33
+ PANDA_PIECE_21 = 19,
34
+ PANDA_PIECE_22 = 20,
35
+ BADGE_YELLOW = 21,// Yellow Badge - Bamboo Triplets Bonus
36
+ BADGE_RED = 22,// Red Badge - Bamboo Twins Bonus
37
+ BADGE_GREEN = 23,// Green Badge - Camera Bonus
38
+ BADGE_BLUE = 24
39
+ }
40
+ export declare enum SpinType {
41
+ BASE_GAME_SPIN = "BASE_GAME_SPIN",
42
+ BONUS_BAMBOO_TRIPLETS = "BONUS_BAMBOO_TRIPLETS",// GDD: Jackpot Bonus - Bamboo Triplets
43
+ BONUS_BAMBOO_TWINS = "BONUS_BAMBOO_TWINS",// GDD: Bamboo Twins Bonus
44
+ BONUS_CAMERA = "BONUS_CAMERA",// GDD: Camera Bonus
45
+ BONUS_FIREWORKS = "BONUS_FIREWORKS",// GDD: Fireworks Bonus
46
+ RESPIN_CENTER_BAMBOO = "RESPIN_CENTER_BAMBOO"
47
+ }
48
+ export declare enum ScreenWinType {
49
+ NOTHING = -1,
50
+ SCREEN_GOLDEN_PANDA = 0,
51
+ SCREEN_RED_PANDA = 1,
52
+ SCREEN_SLOT_MACHINE = 2,
53
+ SCREEN_CITY = 3,
54
+ SCREEN_FIREWORKS_ROCKETS = 4,
55
+ SCREEN_BACKPACK = 5,
56
+ SCREEN_CAMERA = 6,
57
+ SCREEN_FOOD_BOWL = 7,
58
+ SCREEN_CUP = 8,
59
+ SCREEN_BAMBOO = 9,
60
+ SCREEN_BAR_MIX = 10,
61
+ SCREEN_FRUIT_MIX = 11,
62
+ SCREEN_BADGE_MIX = 12,
63
+ SCREEN_PANDA_PIECES = 13,// Bamboo Triplets Bonus (Dancing Panda puzzle)
64
+ SCREEN_CAMERA_SCATTER = 14,// Camera Bonus
65
+ SCREEN_HAT_SCATTER = 15
66
+ }
67
+ export declare const GRID: {
68
+ readonly REELS: 3;
69
+ readonly ROWS: 3;
70
+ readonly POSITIONS: 9;
71
+ };
72
+ /**
73
+ * Line pay table: [symbol][matchCount] = multiplier
74
+ * matchCount: 0=x1, 1=x2, 2=x3
75
+ * Values are multiplied by line bet
76
+ */
77
+ export declare const LINE_MULTIPLIERS: number[][];
78
+ /**
79
+ * 16 payline definitions: [lineIdx][positionIdx] = [reel, row]
80
+ * Lines 0-7: forward direction
81
+ * Lines 8-15: reverse direction (for 16-line mode)
82
+ */
83
+ export declare const LINE_SHAPES: number[][][];
84
+ export declare const LINES_PER_DIRECTION: readonly [8, 16];
85
+ /**
86
+ * Wall win multipliers: [wallType] = multiplier x bet_game
87
+ * Order matches ScreenMulti in C++ EXACTLY
88
+ */
89
+ export declare const WALL_MULTIPLIERS: number[];
90
+ /**
91
+ * Red Panda/Golden Panda scatter pay table: [count-2] = multiplier x bet_game
92
+ * Pays for 2-9 matching Panda symbols
93
+ * Matches SevenSuperMulti in C++ EXACTLY
94
+ */
95
+ export declare const PANDA_SCATTER_MULTIPLIERS: number[];
96
+ export declare const PANDA_MIN_COUNT = 2;
97
+ export declare const GOLDEN_PANDA_MULTIPLIER = 2;
98
+ /**
99
+ * Special win multipliers: [gameDirection][type] = multiplier x line
100
+ * type: 0=panda pieces, 1=camera scatter, 2=hat scatter
101
+ * Matches SpecialWins in C++ EXACTLY
102
+ */
103
+ export declare const SPECIAL_WIN_MULTIPLIERS: number[][];
104
+ export declare const BONUS_BAMBOO_TRIPLETS: {
105
+ /** Initial jackpot value: multiplier x bet_game */
106
+ readonly INIT: 100;
107
+ /** Maximum jackpot value: multiplier x bet_game */
108
+ readonly MAX: 1000;
109
+ /** Probability weights to increment jackpot on losing spin: [gameDir][yes,no] */
110
+ readonly INCREMENT_WEIGHTS: readonly [readonly [3, 10], readonly [3, 10]];
111
+ /** Increment amount: [gameDir] x bet_stake */
112
+ readonly INCREMENT_VALUE: readonly [1, 2];
113
+ /** Counter starts at (always 1 - triggers on 3x bamboo line) */
114
+ readonly COUNTER_INIT: 1;
115
+ /** Free spins awarded per bonus occurrence */
116
+ readonly SPINS: 3;
117
+ /** Additional win on jackpot: multiplier x bet_game */
118
+ readonly ADD_WIN: 5;
119
+ };
120
+ export declare const POOL_JACKPOT: {
121
+ /** Initial pool value */
122
+ readonly INIT: 0;
123
+ /** Maximum pool value: multiplier x bet_game */
124
+ readonly MAX: 250;
125
+ /** Increment values: [gameDir][superSeven, seven] x bet_line */
126
+ readonly INCREMENT: readonly [readonly [10, 5], readonly [10, 5]];
127
+ };
128
+ export declare const BONUS_BAMBOO_TWINS: {
129
+ /** Counter initial values (randomly chosen) */
130
+ readonly COUNTER_INIT: readonly [6, 9];
131
+ /** Weights for choosing initial counter: [gameDir][weight_for_6, weight_for_9] */
132
+ readonly COUNTER_INIT_WEIGHTS: readonly [readonly [5, 5], readonly [5, 5]];
133
+ /** Free spins awarded */
134
+ readonly SPINS: 1;
135
+ };
136
+ export declare const BONUS_CAMERA: {
137
+ /** Counter initial values (randomly chosen) */
138
+ readonly COUNTER_INIT: readonly [3, 5];
139
+ /** Weights for choosing initial counter: [gameDir][weight_for_3, weight_for_5] */
140
+ readonly COUNTER_INIT_WEIGHTS: readonly [readonly [5, 5], readonly [5, 5]];
141
+ /** Free spins awarded */
142
+ readonly SPINS: 5;
143
+ };
144
+ export declare const BONUS_FIREWORKS: {
145
+ /** Counter starts at (always 1) */
146
+ readonly COUNTER_INIT: 1;
147
+ /** Free spins awarded */
148
+ readonly SPINS: 7;
149
+ };
150
+ export declare const RESPIN_CENTER_BAMBOO: {
151
+ /** Spins awarded: [Bamboo, Golden Bamboo] */
152
+ readonly SPINS: readonly [1, 2];
153
+ };
154
+ /**
155
+ * Symbol weights for base game spins: [gameDirection][position][symbol]
156
+ * Position order: (0,0), (0,1), (0,2), (1,0), (1,1), (1,2), (2,0), (2,1), (2,2)
157
+ * Symbol order: GoldenPanda, RedPanda, SlotMachine, City, FireworksRockets, Backpack, Camera, FoodBowl, Cup, Bamboo, GoldenBamboo
158
+ */
159
+ export declare const BASE_GAME_SPIN_WEIGHTS: number[][][];
160
+ /**
161
+ * Active symbol indices for base game spins
162
+ */
163
+ export declare const BASE_GAME_SPIN_SYMBOLS: Symbol[];
164
+ /**
165
+ * Limitation tiers: maximum symbols of same type allowed
166
+ */
167
+ export declare const LIMITATION_TIERS: readonly [2, 4, 7, 9];
168
+ /**
169
+ * Limitation weights for base game spins: [gameDirection][symbol][tier]
170
+ * Tier order: max2, max4, max7, max9
171
+ */
172
+ export declare const BASE_GAME_SPIN_LIMITATION_WEIGHTS: number[][][];
173
+ /**
174
+ * Probability weights for 3x3 wall wins: [gameDirection][yes, no]
175
+ */
176
+ export declare const BASE_GAME_SPIN_3X3_WEIGHTS: number[][];
177
+ /**
178
+ * Weights for which symbol creates 3x3 win
179
+ * Order: GoldenPanda, RedPanda, SlotMachine, City, FireworksRockets, Backpack, Camera, FoodBowl, Cup, Bamboo, GoldenBamboo
180
+ */
181
+ export declare const BASE_GAME_SPIN_3X3_SYMBOL_WEIGHTS: number[];
182
+ export declare const BAMBOO_TRIPLETS_SYMBOLS: Symbol[];
183
+ export declare const BAMBOO_TRIPLETS_WEIGHTS: number[][][];
184
+ export declare const BAMBOO_TRIPLETS_LIMITATION_WEIGHTS: number[][][];
185
+ export declare const BAMBOO_TRIPLETS_3X3_WEIGHTS: number[][];
186
+ export declare const BAMBOO_TRIPLETS_3X3_SYMBOL_WEIGHTS: number[];
187
+ export declare const BAMBOO_TWINS_SYMBOLS: Symbol[];
188
+ export declare const BAMBOO_TWINS_WEIGHTS: number[][][];
189
+ export declare const BAMBOO_TWINS_LIMITATION_WEIGHTS: number[][][];
190
+ export declare const BAMBOO_TWINS_3X3_WEIGHTS: number[][];
191
+ export declare const BAMBOO_TWINS_3X3_SYMBOL_WEIGHTS: number[];
192
+ export declare const CAMERA_BONUS_SYMBOLS: Symbol[];
193
+ export declare const CAMERA_BONUS_WEIGHTS: number[][][];
194
+ export declare const CAMERA_BONUS_LIMITATION_WEIGHTS: number[][][];
195
+ export declare const CAMERA_BONUS_3X3_WEIGHTS: number[][];
196
+ export declare const CAMERA_BONUS_3X3_SYMBOL_WEIGHTS: number[];
197
+ export declare const FIREWORKS_BONUS_SYMBOLS: Symbol[];
198
+ export declare const FIREWORKS_BONUS_WEIGHTS: number[][][];
199
+ export declare const FIREWORKS_BONUS_LIMITATION_WEIGHTS: number[][][];
200
+ export declare const FIREWORKS_BONUS_3X3_WEIGHTS: number[][];
201
+ export declare const FIREWORKS_BONUS_3X3_SYMBOL_WEIGHTS: number[];
202
+ export declare const CENTER_BAMBOO_RESPIN_SYMBOLS: Symbol[];
203
+ export declare const CENTER_BAMBOO_RESPIN_WEIGHTS: number[][][];
204
+ export declare const CENTER_BAMBOO_RESPIN_LIMITATION_WEIGHTS: number[][][];
205
+ /** H3 + M1 + M2 symbols for bar-style mix wins */
206
+ export declare const BAR_STYLE_SYMBOLS: Symbol[];
207
+ /** Bar-style symbols including HAT - for bar mix wins (per C++ math model line 1229) */
208
+ export declare const BAR_MIX_SYMBOLS: Symbol[];
209
+ /** Fruit-style symbols: M3, L1, L3, L4, L5 */
210
+ export declare const FRUIT_STYLE_SYMBOLS: Symbol[];
211
+ /** Badge symbols for bonus indicators */
212
+ export declare const BADGE_SYMBOLS: Symbol[];
213
+ /** Panda symbols (H1 + H2) for scatter wins */
214
+ export declare const PANDA_SYMBOLS: Symbol[];
215
+ /** Bamboo symbols (L4 + L5) */
216
+ export declare const BAMBOO_SYMBOLS: Symbol[];
217
+ //# sourceMappingURL=happy-panda.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"happy-panda.config.d.ts","sourceRoot":"","sources":["../../src/config/happy-panda.config.ts"],"names":[],"mappings":"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"}