@omnitronix/bonnys-fortune-game-engine 1.3.1 → 1.3.2

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 (146) hide show
  1. package/README.md +15 -15
  2. package/dist/__tests__/bonnys-fortune-v1.game-engine.test.d.ts +1 -0
  3. package/dist/bonnys-fortune-v1.game-engine.d.ts +36 -0
  4. package/dist/bonnys-fortune-v1.game-engine.js +23 -12
  5. package/dist/bonnys-fortune-v1.game-engine.js.map +1 -1
  6. package/dist/config/game-logic-config/file-system.game-logic-config-loader.d.ts +4 -0
  7. package/dist/config/game-logic-config/game-logic-config-loader.d.ts +3 -0
  8. package/dist/config/game-logic-config/game-logic-config.d.ts +2 -0
  9. package/dist/config/game-logic-config/game-logic-config.js +2 -0
  10. package/dist/config/game-logic-config/game-logic-config.js.map +1 -1
  11. package/dist/config/reel-strips-config/file-system.reel-strips-config-loader.d.ts +4 -0
  12. package/dist/config/reel-strips-config/reel-strip-option.dto.d.ts +4 -0
  13. package/dist/config/reel-strips-config/reel-strips-config-loader.d.ts +3 -0
  14. package/dist/config/reel-strips-config/reel-strips-config.dto.d.ts +5 -0
  15. package/dist/config/reel-strips-config/reel.dto.d.ts +5 -0
  16. package/dist/domain/game-round.types.d.ts +9 -0
  17. package/dist/domain/mappers/reel-strips-config.mapper.d.ts +4 -0
  18. package/dist/domain/reel-strip-option.d.ts +7 -0
  19. package/dist/domain/reel-strips-config.d.ts +9 -0
  20. package/dist/domain/reel.d.ts +8 -0
  21. package/dist/domain/types/cheat-trigger-bonus-command.d.ts +5 -0
  22. package/dist/domain/types/{debug-trigger-bonus-command.js → cheat-trigger-bonus-command.js} +1 -1
  23. package/dist/domain/types/cheat-trigger-bonus-command.js.map +1 -0
  24. package/dist/domain/types/cheat-trigger-bonus-request.dto.d.ts +5 -0
  25. package/dist/domain/types/{debug-trigger-bonus-request.dto.js → cheat-trigger-bonus-request.dto.js} +1 -1
  26. package/dist/domain/types/cheat-trigger-bonus-request.dto.js.map +1 -0
  27. package/dist/domain/types/cheat-update-bonus-meter-progress-command.d.ts +5 -0
  28. package/dist/domain/types/{debug-update-bonus-meter-progress-command.js → cheat-update-bonus-meter-progress-command.js} +1 -1
  29. package/dist/domain/types/cheat-update-bonus-meter-progress-command.js.map +1 -0
  30. package/dist/domain/types/cheat-update-bonus-meter-progress-request.dto.d.ts +5 -0
  31. package/dist/domain/types/{debug-update-bonus-meter-progress-request.dto.js → cheat-update-bonus-meter-progress-request.dto.js} +1 -1
  32. package/dist/domain/types/cheat-update-bonus-meter-progress-request.dto.js.map +1 -0
  33. package/dist/domain/types/game-spin-command.d.ts +8 -0
  34. package/dist/domain/types/game-spin-input.dto.d.ts +8 -0
  35. package/dist/domain/types/game-spin-output.dto.d.ts +119 -0
  36. package/dist/domain/types/game-symbols.response.dto.d.ts +10 -0
  37. package/dist/domain/types/reel-strip-option.dto.d.ts +4 -0
  38. package/dist/domain/types/reel-strips-config.dto.d.ts +5 -0
  39. package/dist/domain/types/reel.dto.d.ts +5 -0
  40. package/dist/domain/types/start-bonus-round-command.d.ts +8 -0
  41. package/dist/domain/types/start-bonus-round-input.dto.d.ts +10 -0
  42. package/dist/game-engine.interface.d.ts +41 -0
  43. package/dist/helpers/generate-hash.d.ts +1 -0
  44. package/dist/helpers/number-helper.d.ts +23 -0
  45. package/dist/helpers/optional-boolean-mapper.d.ts +1 -0
  46. package/dist/helpers/uuid-helper.d.ts +3 -0
  47. package/dist/helpers/validation-helper.d.ts +14 -0
  48. package/dist/index.d.ts +2 -0
  49. package/dist/index.js.map +1 -1
  50. package/dist/logger/logger.d.ts +22 -0
  51. package/dist/logger/logger.js +4 -5
  52. package/dist/logger/logger.js.map +1 -1
  53. package/dist/logic/bonnys-fortune.game-logic.d.ts +32 -0
  54. package/dist/logic/bonnys-fortune.game-logic.js +15 -11
  55. package/dist/logic/bonnys-fortune.game-logic.js.map +1 -1
  56. package/dist/logic/bonnys-fortune.spin-generator.d.ts +19 -0
  57. package/dist/logic/bonnys-fortune.types.d.ts +170 -0
  58. package/dist/logic/bonnys-fortune.win-calculator.d.ts +10 -0
  59. package/dist/logic/game-logic-config.interface.d.ts +180 -0
  60. package/dist/logic/handlers/base-game.handler.d.ts +15 -0
  61. package/dist/logic/handlers/base-game.handler.js +5 -1
  62. package/dist/logic/handlers/base-game.handler.js.map +1 -1
  63. package/dist/logic/handlers/collect-feature-bonus.handler.d.ts +13 -0
  64. package/dist/logic/handlers/free-spins-bonus.handler.d.ts +11 -0
  65. package/dist/logic/handlers/steering-to-the-fortune-bonus.handler.d.ts +11 -0
  66. package/dist/logic/handlers/treasure-hunt-bonus.handler.d.ts +15 -0
  67. package/dist/rng/DummyRngClient.d.ts +18 -0
  68. package/dist/rng/DummyRngClient.js +1 -8
  69. package/dist/rng/DummyRngClient.js.map +1 -1
  70. package/dist/rng/rng-client.factory.d.ts +7 -0
  71. package/dist/rng/rng-client.factory.js.map +1 -1
  72. package/dist/rng/rng-client.interface.d.ts +16 -0
  73. package/dist/rng/rng-service.d.ts +26 -0
  74. package/dist/validation/abstract-game-logic-config.validator.d.ts +4 -0
  75. package/dist/validation/bonnys-fortune/bonnys-fortune-config.dto.d.ts +131 -0
  76. package/dist/validation/bonnys-fortune/bonnys-fortune-config.dto.js +9 -0
  77. package/dist/validation/bonnys-fortune/bonnys-fortune-config.dto.js.map +1 -1
  78. package/dist/validation/bonnys-fortune/bonnys-fortune-config.validator.d.ts +5 -0
  79. package/dist/validation/custom-decorators/IsNestedIntArray.d.ts +2 -0
  80. package/dist/validation/game-logic-config-validation.service.d.ts +8 -0
  81. package/dist/validation/reel-strips-config-validation.service.d.ts +5 -0
  82. package/package.json +4 -3
  83. package/src/__tests__/bonnys-fortune-v1.game-engine.test.ts +80 -0
  84. package/src/bonnys-fortune-v1.game-engine.ts +314 -0
  85. package/src/config/game-logic-config/file-system.game-logic-config-loader.ts +27 -0
  86. package/src/config/game-logic-config/game-logic-config-loader.ts +3 -0
  87. package/src/config/game-logic-config/game-logic-config.ts +382 -0
  88. package/src/config/reel-strips-config/file-system.reel-strips-config-loader.ts +43 -0
  89. package/src/config/reel-strips-config/reel-strip-option.dto.ts +13 -0
  90. package/src/config/reel-strips-config/reel-strips-config-loader.ts +9 -0
  91. package/src/config/reel-strips-config/reel-strips-config.dto.ts +16 -0
  92. package/src/config/reel-strips-config/reel.dto.ts +16 -0
  93. package/src/config/reel-strips-config/reels-BASE.csv +52 -0
  94. package/src/config/reel-strips-config/reels-BONUS.csv +52 -0
  95. package/src/domain/game-round.types.ts +10 -0
  96. package/src/domain/mappers/reel-strips-config.mapper.ts +16 -0
  97. package/src/domain/reel-strip-option.ts +15 -0
  98. package/src/domain/reel-strips-config.ts +21 -0
  99. package/src/domain/reel.ts +17 -0
  100. package/src/domain/types/cheat-trigger-bonus-command.ts +5 -0
  101. package/src/domain/types/cheat-trigger-bonus-request.dto.ts +5 -0
  102. package/src/domain/types/cheat-update-bonus-meter-progress-command.ts +6 -0
  103. package/src/domain/types/cheat-update-bonus-meter-progress-request.dto.ts +5 -0
  104. package/src/domain/types/game-spin-command.ts +8 -0
  105. package/src/domain/types/game-spin-input.dto.ts +8 -0
  106. package/src/domain/types/game-spin-output.dto.ts +142 -0
  107. package/src/domain/types/game-symbols.response.dto.ts +11 -0
  108. package/src/domain/types/reel-strip-option.dto.ts +13 -0
  109. package/src/domain/types/reel-strips-config.dto.ts +15 -0
  110. package/src/domain/types/reel.dto.ts +15 -0
  111. package/src/domain/types/start-bonus-round-command.ts +8 -0
  112. package/src/domain/types/start-bonus-round-input.dto.ts +10 -0
  113. package/src/game-engine.interface.ts +59 -0
  114. package/src/helpers/generate-hash.ts +5 -0
  115. package/src/helpers/number-helper.ts +41 -0
  116. package/src/helpers/optional-boolean-mapper.ts +5 -0
  117. package/src/helpers/uuid-helper.ts +7 -0
  118. package/src/helpers/validation-helper.ts +27 -0
  119. package/src/index.ts +3 -0
  120. package/src/logger/logger.ts +178 -0
  121. package/src/logic/bonnys-fortune.game-logic.ts +490 -0
  122. package/src/logic/bonnys-fortune.spin-generator.ts +277 -0
  123. package/src/logic/bonnys-fortune.types.ts +223 -0
  124. package/src/logic/bonnys-fortune.win-calculator.ts +210 -0
  125. package/src/logic/game-logic-config.interface.ts +176 -0
  126. package/src/logic/handlers/base-game.handler.ts +221 -0
  127. package/src/logic/handlers/collect-feature-bonus.handler.ts +301 -0
  128. package/src/logic/handlers/free-spins-bonus.handler.ts +119 -0
  129. package/src/logic/handlers/steering-to-the-fortune-bonus.handler.ts +118 -0
  130. package/src/logic/handlers/treasure-hunt-bonus.handler.ts +232 -0
  131. package/src/rng/DummyRngClient.ts +108 -0
  132. package/src/rng/rng-client.factory.ts +27 -0
  133. package/src/rng/rng-client.interface.ts +38 -0
  134. package/src/rng/rng-service.ts +130 -0
  135. package/src/validation/abstract-game-logic-config.validator.ts +20 -0
  136. package/src/validation/bonnys-fortune/bonnys-fortune-config.dto.ts +379 -0
  137. package/src/validation/bonnys-fortune/bonnys-fortune-config.validator.ts +8 -0
  138. package/src/validation/custom-decorators/IsNestedIntArray.ts +29 -0
  139. package/src/validation/game-logic-config-validation.service.ts +28 -0
  140. package/src/validation/reel-strips-config-validation.service.ts +29 -0
  141. package/dist/__tests__/comprehensive.test.js +0 -741
  142. package/dist/__tests__/comprehensive.test.js.map +0 -1
  143. package/dist/domain/types/debug-trigger-bonus-command.js.map +0 -1
  144. package/dist/domain/types/debug-trigger-bonus-request.dto.js.map +0 -1
  145. package/dist/domain/types/debug-update-bonus-meter-progress-command.js.map +0 -1
  146. package/dist/domain/types/debug-update-bonus-meter-progress-request.dto.js.map +0 -1
@@ -0,0 +1,180 @@
1
+ import { BonnysFortunePrivateState, BonnysFortunePublicState } from './bonnys-fortune.types';
2
+ export interface BonnysFortuneGameLogicConfigInterface {
3
+ baseGame: BonnysFortuneGameLogicConfigBaseGame;
4
+ bonusGames: BonusGamesConfig;
5
+ scatterGame: ScatterGameWrapper;
6
+ defaultBetAmountThresholds: number[];
7
+ defaultBetAmount: number;
8
+ }
9
+ export interface BonnysFortuneSessionStateInterface {
10
+ publicState: BonnysFortunePublicState;
11
+ privateState: BonnysFortunePrivateState;
12
+ }
13
+ export interface BonnysFortuneGameLogicConfigBaseGame {
14
+ symbolMultipliers: SymbolMultiplier[];
15
+ symbolDefinitions: SymbolDefinitions;
16
+ baseGameConfig: BaseGameConfig;
17
+ paidHSymbolWeights: Record<string, number>;
18
+ paidHSymbolReelWeights: Record<string, [number, number]>;
19
+ paidScatterReelWeights: Record<string, [number, number]>;
20
+ bonusGameMeters: Record<BonusGameId, BonusGameMeter>;
21
+ }
22
+ export type BonusGameId = 'bonusGame1' | 'bonusGame2' | 'bonusGame3';
23
+ export interface SymbolMultiplier {
24
+ symbolId: number;
25
+ name: string;
26
+ multipliers: Record<'x3' | 'x4' | 'x5', number>;
27
+ isWild: boolean;
28
+ isScatter: boolean;
29
+ }
30
+ export interface SymbolDefinitions {
31
+ baseSymbols: {
32
+ minIndex: number;
33
+ maxIndex: number;
34
+ };
35
+ specialSymbols: Record<string, number>;
36
+ collectFeatureSymbols: {
37
+ multipliers: Record<string, number>;
38
+ values: Record<string, number>;
39
+ };
40
+ }
41
+ export interface BaseGameConfig {
42
+ layout: {
43
+ rows: number;
44
+ reels: number;
45
+ };
46
+ winConfig: {
47
+ minLength: number;
48
+ maxLength: number;
49
+ };
50
+ baseBet: number;
51
+ reelsOptions: {
52
+ numberOfOptions: number;
53
+ optionWeights: number[];
54
+ };
55
+ }
56
+ export interface BonusGameMeter {
57
+ symbol: string;
58
+ min: number;
59
+ max: number;
60
+ percentageLevels: {
61
+ level1: {
62
+ min: number;
63
+ max: number;
64
+ value: number;
65
+ };
66
+ level2: {
67
+ min: number;
68
+ max: number;
69
+ value: number;
70
+ };
71
+ level3: {
72
+ min: number;
73
+ max: number;
74
+ value: number;
75
+ };
76
+ level4: {
77
+ min: number;
78
+ max: number;
79
+ value: number;
80
+ };
81
+ level5: {
82
+ min: number;
83
+ max: number;
84
+ value: number;
85
+ };
86
+ };
87
+ }
88
+ export interface BonusGamesConfig {
89
+ bonusGame1: TreasureHuntBonusGameConfig;
90
+ bonusGame2: FreeSpinBonusGameConfig;
91
+ bonusGame3: SteeringToTheFortuneBonusGameConfig;
92
+ }
93
+ export interface TreasureHuntBonusGameConfig {
94
+ type: 'treasure_hunt';
95
+ potMeter: BonusGameId;
96
+ config: TreasureHuntBonusConfig;
97
+ }
98
+ export interface TreasureHuntBonusConfig {
99
+ symbolsCount: number;
100
+ stepsCount: number;
101
+ jackpotMultipliers: {
102
+ mini: number;
103
+ minor: number;
104
+ major: number;
105
+ grand: number;
106
+ };
107
+ jackpotStartCounts: {
108
+ mini: number;
109
+ minor: number;
110
+ major: number;
111
+ grand: number;
112
+ };
113
+ jackpotScreenCounts: {
114
+ mini: number;
115
+ minor: number;
116
+ major: number;
117
+ grand: number;
118
+ };
119
+ winningWeights: {
120
+ none: number;
121
+ mini: number;
122
+ minor: number;
123
+ major: number;
124
+ grand: number;
125
+ };
126
+ }
127
+ export interface FreeSpinBonusGameConfig {
128
+ type: 'free_spins';
129
+ potMeter: BonusGameId;
130
+ config: {
131
+ spinTypes: SpinTypeConfig[];
132
+ };
133
+ }
134
+ export interface SpinTypeConfig {
135
+ layout: {
136
+ rows: number;
137
+ reels: number;
138
+ };
139
+ spins: number;
140
+ multiplier: number;
141
+ weight: number;
142
+ reelsOptionsWeights: number[];
143
+ }
144
+ export interface SteeringToTheFortuneBonusGameConfig {
145
+ type: 'steering_to_the_fortune';
146
+ potMeter: BonusGameId;
147
+ config: SteeringToTheFortuneConfig;
148
+ }
149
+ export interface SteeringToTheFortuneConfig {
150
+ wheelResults: {
151
+ type: 'MULTIPLIER' | 'BONUS';
152
+ value?: number;
153
+ bonusType?: BonusGameId | 'collectFeature';
154
+ weight: number;
155
+ }[];
156
+ }
157
+ export interface ScatterGameWrapper {
158
+ config: ScatterGameConfig;
159
+ }
160
+ export interface ScatterGameConfig {
161
+ scatterMinNumber: number;
162
+ scatterSpins: number;
163
+ scatterCheckpoints: ScatterCheckpoint[];
164
+ scatterSymbols: ScatterSymbol[];
165
+ scatterSymbolSpins: WeightOnly[];
166
+ scatterSymbolSlash: WeightOnly[];
167
+ }
168
+ export interface ScatterCheckpoint {
169
+ spin: number;
170
+ multiMinValue: number;
171
+ valueMinValue: number;
172
+ }
173
+ export interface ScatterSymbol {
174
+ symbolId: string;
175
+ value: number;
176
+ weight: number;
177
+ }
178
+ export interface WeightOnly {
179
+ weight: number;
180
+ }
@@ -0,0 +1,15 @@
1
+ import { BonnysFortuneBaseGameSpinResult, BonnysFortunePrivateState, BonnysFortunePublicState, SpinResultResponse, SpinType } from '../bonnys-fortune.types';
2
+ import { BonnysFortuneGameLogicConfigInterface } from '../game-logic-config.interface';
3
+ import { GameSpinInputDto } from '../../domain/types/game-spin-input.dto';
4
+ import { ReelStripsConfig } from '../../domain/reel-strips-config';
5
+ import { RngService } from '../../rng/rng-service';
6
+ export declare class BaseGameHandler {
7
+ private readonly rngService;
8
+ constructor(rngService: RngService);
9
+ handleSpin(params: GameSpinInputDto, publicState: BonnysFortunePublicState, privateState: BonnysFortunePrivateState, config: BonnysFortuneGameLogicConfigInterface, reelStripsConfig: ReelStripsConfig, commandId: string): Promise<SpinResultResponse<BonnysFortuneBaseGameSpinResult>>;
10
+ private updateBonusMeters;
11
+ private findTriggeredBonus;
12
+ private getMeterLevel;
13
+ private getBetStake;
14
+ }
15
+ export declare function getSpinTypeForBonus(bonusType: string): SpinType;
@@ -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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"}
@@ -0,0 +1,13 @@
1
+ import { BonnysFortunePrivateState, BonnysFortunePublicState, BonusRoundResult, CollectFeatureSpinResult } from '../bonnys-fortune.types';
2
+ import { BonnysFortuneGameLogicConfigInterface } from '../game-logic-config.interface';
3
+ import { GameSpinInputDto } from '../../domain/types/game-spin-input.dto';
4
+ import { RngService } from '../../rng/rng-service';
5
+ export declare class CollectFeatureBonusHandler {
6
+ private rngService;
7
+ constructor(rngService: RngService);
8
+ generateFullBonusRound(params: GameSpinInputDto, publicState: BonnysFortunePublicState, privateState: BonnysFortunePrivateState, config: BonnysFortuneGameLogicConfigInterface, commandId: string): Promise<BonusRoundResult<CollectFeatureSpinResult>>;
9
+ private executeSingleSpin;
10
+ private weightedPick;
11
+ private weightedPickSymbol;
12
+ private getBetStake;
13
+ }
@@ -0,0 +1,11 @@
1
+ import { BonnysFortunePrivateState, BonnysFortunePublicState, BonusRoundResult, FreeSpinResult } from '../bonnys-fortune.types';
2
+ import { BonnysFortuneGameLogicConfigInterface } from '../game-logic-config.interface';
3
+ import { GameSpinInputDto } from '../../domain/types/game-spin-input.dto';
4
+ import { ReelStripsConfig } from '../../domain/reel-strips-config';
5
+ import { RngService } from '../../rng/rng-service';
6
+ export declare class FreeSpinsBonusHandler {
7
+ private rngService;
8
+ constructor(rngService: RngService);
9
+ generateFullBonusRound(params: GameSpinInputDto, publicState: BonnysFortunePublicState, privateState: BonnysFortunePrivateState, config: BonnysFortuneGameLogicConfigInterface, reelStripsConfig: ReelStripsConfig, commandId: string): Promise<BonusRoundResult<FreeSpinResult>>;
10
+ private getBetStake;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { BonnysFortunePrivateState, BonnysFortunePublicState, BonusRoundResult, SteeringToTheFortuneResult } from '../bonnys-fortune.types';
2
+ import { BonnysFortuneGameLogicConfigInterface } from '../game-logic-config.interface';
3
+ import { GameSpinInputDto } from '../../domain/types/game-spin-input.dto';
4
+ import { RngService } from '../../rng/rng-service';
5
+ export declare class SteeringToTheFortuneBonusHandler {
6
+ private rngService;
7
+ constructor(rngService: RngService);
8
+ generateFullBonusRound(params: GameSpinInputDto, publicState: BonnysFortunePublicState, privateState: BonnysFortunePrivateState, config: BonnysFortuneGameLogicConfigInterface, commandId: string): Promise<BonusRoundResult<SteeringToTheFortuneResult>>;
9
+ private weightedDraw;
10
+ private getBetStake;
11
+ }
@@ -0,0 +1,15 @@
1
+ import { BonnysFortunePrivateState, BonnysFortunePublicState, BonusRoundResult, TreasureHuntSpinResult } from '../bonnys-fortune.types';
2
+ import { BonnysFortuneGameLogicConfigInterface } from '../game-logic-config.interface';
3
+ import { GameSpinInputDto } from '../../domain/types/game-spin-input.dto';
4
+ import { RngService } from '../../rng/rng-service';
5
+ export declare class TreasureHuntBonusHandler {
6
+ private rngService;
7
+ constructor(rngService: RngService);
8
+ generateFullBonusRound(params: GameSpinInputDto, publicState: BonnysFortunePublicState, privateState: BonnysFortunePrivateState, config: BonnysFortuneGameLogicConfigInterface, commandId: string): Promise<BonusRoundResult<TreasureHuntSpinResult>>;
9
+ private getBetStake;
10
+ private drawWinningSymbol;
11
+ private fillRemainingSteps;
12
+ private weightedDraw;
13
+ private randomPositions;
14
+ private extractBonusConfig;
15
+ }
@@ -0,0 +1,18 @@
1
+ import { RngBatchResponse, RngSingleResponse } from '@omnitronix/rng-client-core/dist/http/http-client.types';
2
+ import { IRngClient } from './rng-client.interface';
3
+ export declare class DummyRngClient implements IRngClient {
4
+ constructor();
5
+ getSingleNumber(min: number, max: number, _seed?: number): Promise<{
6
+ value: number;
7
+ seed: number;
8
+ }>;
9
+ getBatchNumbers(min: number, max: number, count: number, _seed?: number): Promise<number[]>;
10
+ getBatchNumbersWithSeeds(min: number, max: number, count: number, _seed?: number): Promise<{
11
+ value: number;
12
+ seed: number;
13
+ }[]>;
14
+ getSingleFloat(_seed?: number): Promise<RngSingleResponse>;
15
+ getBatchFloats(count: number, _seed?: number): Promise<RngBatchResponse>;
16
+ getRandomNumber(min: number, max: number, _seed?: number): Promise<RngSingleResponse>;
17
+ getRandomFloat(_seed?: number): Promise<RngSingleResponse>;
18
+ }
@@ -3,13 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DummyRngClient = void 0;
4
4
  class DummyRngClient {
5
5
  constructor() { }
6
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
7
- getSingleNumber(min, max, seed) {
6
+ getSingleNumber(min, max, _seed) {
8
7
  const randomValue = Math.random();
9
8
  const result = Math.floor(randomValue * (max - min + 1)) + min;
10
9
  return Promise.resolve({ value: result, seed: 0 });
11
10
  }
12
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
11
  getBatchNumbers(min, max, count, _seed) {
14
12
  const results = [];
15
13
  for (let i = 0; i < count; i++) {
@@ -19,7 +17,6 @@ class DummyRngClient {
19
17
  }
20
18
  return Promise.resolve(results);
21
19
  }
22
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
23
20
  getBatchNumbersWithSeeds(min, max, count, _seed) {
24
21
  const results = [];
25
22
  for (let i = 0; i < count; i++) {
@@ -29,7 +26,6 @@ class DummyRngClient {
29
26
  }
30
27
  return Promise.resolve(results.map((result) => ({ value: result, seed: 0 })));
31
28
  }
32
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
29
  getSingleFloat(_seed) {
34
30
  const result = Math.random();
35
31
  return Promise.resolve({
@@ -41,7 +37,6 @@ class DummyRngClient {
41
37
  createdAt: new Date().toISOString(),
42
38
  });
43
39
  }
44
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
45
40
  getBatchFloats(count, _seed) {
46
41
  const result = [];
47
42
  for (let i = 0; i < count; i++) {
@@ -56,7 +51,6 @@ class DummyRngClient {
56
51
  createdAt: new Date().toISOString(),
57
52
  });
58
53
  }
59
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
60
54
  getRandomNumber(min, max, _seed) {
61
55
  const randomValue = Math.random();
62
56
  const result = Math.floor(randomValue * (max - min + 1)) + min;
@@ -69,7 +63,6 @@ class DummyRngClient {
69
63
  createdAt: new Date().toISOString(),
70
64
  });
71
65
  }
72
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
73
66
  getRandomFloat(_seed) {
74
67
  const result = Math.random();
75
68
  return Promise.resolve({
@@ -1 +1 @@
1
- {"version":3,"file":"DummyRngClient.js","sourceRoot":"","sources":["../../src/rng/DummyRngClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DummyRngClient.js","sourceRoot":"","sources":["../../src/rng/DummyRngClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { RngClientConfig } from '@omnitronix/rng-client-core';
2
+ import { IRngClient } from './rng-client.interface';
3
+ export declare class RngClientFactory {
4
+ static create(config?: {
5
+ metrics?: RngClientConfig['metrics'];
6
+ }): IRngClient;
7
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"rng-client.factory.js","sourceRoot":"","sources":["../../src/rng/rng-client.factory.ts"],"names":[],"mappings":";;;AAAA,iEAAwD;AAExD,qDAAkD;AAGlD,MAAa,gBAAgB;IAC3B,MAAM,CAAC,MAAM,CAAC,SAAgC,EAAE;QAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,+BAAc,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,eAAe,GAAG;YACtB,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YACrC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAoC;YAC9D,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAC;YACjE,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,OAAO,IAAI,2BAAS,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;CACF;AAnBD,4CAmBC"}
1
+ {"version":3,"file":"rng-client.factory.js","sourceRoot":"","sources":["../../src/rng/rng-client.factory.ts"],"names":[],"mappings":";;;AAAA,iEAAyE;AAEzE,qDAAkD;AAGlD,MAAa,gBAAgB;IAC3B,MAAM,CAAC,MAAM,CACX,SAAmD,EAAE;QAErD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,UAAU,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,OAAO,IAAI,+BAAc,EAAE,CAAC;QAC9B,CAAC;QAED,MAAM,eAAe,GAAoB;YACvC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;YACrC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAoC;YAC9D,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAC;YACjE,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;QAEF,OAAO,IAAI,2BAAS,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;CACF;AArBD,4CAqBC"}
@@ -0,0 +1,16 @@
1
+ import { RngBatchResponse, RngSingleResponse } from '@omnitronix/rng-client-core/dist/http/http-client.types';
2
+ export interface IRngClient {
3
+ getSingleNumber(min: number, max: number, seed?: number): Promise<{
4
+ value: number;
5
+ seed: number;
6
+ }>;
7
+ getBatchNumbers(min: number, max: number, count: number, seed?: number): Promise<number[]>;
8
+ getBatchNumbersWithSeeds(min: number, max: number, count: number, seed?: number): Promise<{
9
+ value: number;
10
+ seed: number;
11
+ }[]>;
12
+ getSingleFloat(seed?: number): Promise<RngSingleResponse>;
13
+ getBatchFloats(count: number, seed?: number): Promise<RngBatchResponse>;
14
+ getRandomNumber(min: number, max: number, seed?: number): Promise<RngSingleResponse>;
15
+ getRandomFloat(seed?: number): Promise<RngSingleResponse>;
16
+ }
@@ -0,0 +1,26 @@
1
+ import { RngOutcome } from '../game-engine.interface';
2
+ import { IRngClient } from './rng-client.interface';
3
+ export declare class RngService {
4
+ private readonly rngClient;
5
+ private rngOutcomes;
6
+ constructor(rngClient: IRngClient);
7
+ registerCommand(commandId: string): void;
8
+ getSingleNumber(min: number, max: number, commandId: string, actionId: string): Promise<{
9
+ value: number;
10
+ seed: number;
11
+ }>;
12
+ getBatchNumbers(min: number, max: number, count: number, commandId: string, actionId: string): Promise<{
13
+ value: number;
14
+ seed: number;
15
+ }[]>;
16
+ private getSeedForCommand;
17
+ private storeSeedForCommand;
18
+ getRngOutcomeForCommand(commandId: string): RngOutcome;
19
+ getAllRngOutcome(): {
20
+ [commandId: string]: RngOutcome;
21
+ };
22
+ removeCommand(commandId: string): void;
23
+ clearAllRngOutcome(): void;
24
+ hasCommandRngOutcome(commandId: string): boolean;
25
+ getRngOutcomeCountForCommand(commandId: string): number;
26
+ }
@@ -0,0 +1,4 @@
1
+ export declare abstract class AbstractGameLogicConfigValidator<T extends object> {
2
+ protected abstract getDtoClass(): new () => T;
3
+ validate(config: unknown): Promise<T>;
4
+ }
@@ -0,0 +1,131 @@
1
+ export declare class SymbolMultipliersDto {
2
+ symbolId: number;
3
+ name: string;
4
+ multipliers: Record<'x3' | 'x4' | 'x5', number>;
5
+ isWild: boolean;
6
+ isScatter: boolean;
7
+ }
8
+ export declare class CollectFeatureSymbolsDto {
9
+ multipliers: Record<string, number>;
10
+ values: Record<string, number>;
11
+ }
12
+ export declare class SymbolRangeDto {
13
+ minIndex: number;
14
+ maxIndex: number;
15
+ }
16
+ export declare class SymbolDefinitionsDto {
17
+ baseSymbols: SymbolRangeDto;
18
+ specialSymbols: Record<string, number>;
19
+ collectFeatureSymbols: CollectFeatureSymbolsDto;
20
+ }
21
+ export declare class LayoutDto {
22
+ rows: number;
23
+ reels: number;
24
+ }
25
+ export declare class WinConfigDto {
26
+ minLength: number;
27
+ maxLength: number;
28
+ }
29
+ export declare class ReelsOptionsDto {
30
+ numberOfOptions: number;
31
+ optionWeights: number[];
32
+ }
33
+ export declare class BaseGameConfigDto {
34
+ layout: LayoutDto;
35
+ winConfig: WinConfigDto;
36
+ baseBet: number;
37
+ reelsOptions: ReelsOptionsDto;
38
+ }
39
+ export declare class BonusGameMeterDto {
40
+ symbol: string;
41
+ min: number;
42
+ max: number;
43
+ }
44
+ export declare class BaseGameDto {
45
+ symbolMultipliers: SymbolMultipliersDto[];
46
+ symbolDefinitions: SymbolDefinitionsDto;
47
+ baseGameConfig: BaseGameConfigDto;
48
+ paidHSymbolWeights: Record<string, number>;
49
+ paidHSymbolReelWeights: Record<string, [number, number]>;
50
+ paidScatterReelWeights: Record<string, [number, number]>;
51
+ bonusGameMeters: Record<string, BonusGameMeterDto>;
52
+ }
53
+ export declare class TreasureHuntBonusConfigDto {
54
+ symbolsCount: number;
55
+ stepsCount: number;
56
+ jackpotMultipliers: Record<'mini' | 'minor' | 'major' | 'grand', number>;
57
+ jackpotStartCounts: Record<'mini' | 'minor' | 'major' | 'grand', number>;
58
+ jackpotScreenCounts: Record<'mini' | 'minor' | 'major' | 'grand', number>;
59
+ winningWeights: Record<'none' | 'mini' | 'minor' | 'major' | 'grand', number>;
60
+ }
61
+ export declare class BonusGameEvaluationConfigDto {
62
+ defaultConfig: string;
63
+ alternativeConfigs?: string[];
64
+ selectionWeights?: Record<string, number>;
65
+ }
66
+ export declare class BaseBonusGameDto {
67
+ type: string;
68
+ potMeter: string;
69
+ evaluationConfig: BonusGameEvaluationConfigDto;
70
+ }
71
+ export declare class TreasureHuntBonusGameDto extends BaseBonusGameDto {
72
+ config: TreasureHuntBonusConfigDto;
73
+ }
74
+ export declare class FreeSpinTypeDto {
75
+ layout: LayoutDto;
76
+ spins: number;
77
+ multiplier: number;
78
+ weight: number;
79
+ reelsOptionsWeights: number[];
80
+ }
81
+ export declare class FreeSpinBonusConfigDto {
82
+ spinTypes: FreeSpinTypeDto[];
83
+ }
84
+ export declare class FreeSpinBonusGameDto extends BaseBonusGameDto {
85
+ config: FreeSpinBonusConfigDto;
86
+ }
87
+ export declare class SteeringToTheFortuneWheelResultDto {
88
+ type: 'MULTIPLIER' | 'BONUS';
89
+ value?: number;
90
+ bonusType?: string;
91
+ weight: number;
92
+ }
93
+ export declare class SteeringToTheFortuneBonusConfigDto {
94
+ wheelResults: SteeringToTheFortuneWheelResultDto[];
95
+ }
96
+ export declare class SteeringToTheFortuneBonusGameDto extends BaseBonusGameDto {
97
+ config: SteeringToTheFortuneBonusConfigDto;
98
+ }
99
+ export declare class BonusGamesDto {
100
+ bonusGame1?: TreasureHuntBonusGameDto;
101
+ bonusGame2?: FreeSpinBonusGameDto;
102
+ bonusGame3?: SteeringToTheFortuneBonusGameDto;
103
+ }
104
+ export declare class ScatterSymbolDto {
105
+ symbolId: string;
106
+ value: number;
107
+ weight: number;
108
+ }
109
+ export declare class ScatterCheckpointDto {
110
+ spin: number;
111
+ multiMinValue: number;
112
+ valueMinValue: number;
113
+ }
114
+ export declare class ScatterGameConfigDto {
115
+ scatterMinNumber: number;
116
+ scatterSpins: number;
117
+ scatterCheckpoints: ScatterCheckpointDto[];
118
+ scatterSymbols: ScatterSymbolDto[];
119
+ scatterSymbolSpins: Record<string, number>[];
120
+ scatterSymbolSlash: Record<string, number>[];
121
+ }
122
+ export declare class ScatterGameConfigWrapperDto {
123
+ config: ScatterGameConfigDto;
124
+ }
125
+ export declare class BonnysFortuneGameLogicConfigDto {
126
+ baseGame: BaseGameDto;
127
+ bonusGames: BonusGamesDto;
128
+ scatterGame: ScatterGameConfigWrapperDto;
129
+ defaultBetAmountThresholds: number[];
130
+ defaultBetAmount: number;
131
+ }
@@ -451,4 +451,13 @@ __decorate([
451
451
  (0, class_transformer_1.Type)(() => ScatterGameConfigWrapperDto),
452
452
  __metadata("design:type", ScatterGameConfigWrapperDto)
453
453
  ], BonnysFortuneGameLogicConfigDto.prototype, "scatterGame", void 0);
454
+ __decorate([
455
+ (0, class_validator_1.IsArray)(),
456
+ (0, class_validator_1.IsNumber)({}, { each: true }),
457
+ __metadata("design:type", Array)
458
+ ], BonnysFortuneGameLogicConfigDto.prototype, "defaultBetAmountThresholds", void 0);
459
+ __decorate([
460
+ (0, class_validator_1.IsNumber)(),
461
+ __metadata("design:type", Number)
462
+ ], BonnysFortuneGameLogicConfigDto.prototype, "defaultBetAmount", void 0);
454
463
  //# sourceMappingURL=bonnys-fortune-config.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bonnys-fortune-config.dto.js","sourceRoot":"","sources":["../../../src/validation/bonnys-fortune/bonnys-fortune-config.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bonnys-fortune-config.dto.js","sourceRoot":"","sources":["../../../src/validation/bonnys-fortune/bonnys-fortune-config.dto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { AbstractGameLogicConfigValidator } from '../abstract-game-logic-config.validator';
2
+ import { BonnysFortuneGameLogicConfigDto } from './bonnys-fortune-config.dto';
3
+ export declare class BonnysFortuneGameLogicConfigValidator extends AbstractGameLogicConfigValidator<BonnysFortuneGameLogicConfigDto> {
4
+ protected getDtoClass(): new () => BonnysFortuneGameLogicConfigDto;
5
+ }
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function IsNestedIntArray(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
@@ -0,0 +1,8 @@
1
+ export interface GameLogicConfigValidatorInterface<T = any> {
2
+ validate(config: unknown): Promise<T>;
3
+ }
4
+ export declare class GameLogicConfigValidationService {
5
+ private validators;
6
+ register<T>(gameId: string, validator: GameLogicConfigValidatorInterface<T>): void;
7
+ validate<T extends object>(gameId: string, config: unknown): Promise<T>;
8
+ }
@@ -0,0 +1,5 @@
1
+ import { ReelStripsConfigDto } from '../config/reel-strips-config/reel-strips-config.dto';
2
+ export declare class ReelStripsConfigValidationService {
3
+ private mapRawToDto;
4
+ validate(rawReels: number[][][]): Promise<ReelStripsConfigDto>;
5
+ }