@omnitronix/lucky-sharky-game-engine 1.2.2 → 1.3.0
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.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/lucky-sharky-v1.game-engine.d.ts +24 -1
- package/dist/lucky-sharky-v1.game-engine.d.ts.map +1 -1
- package/dist/lucky-sharky-v1.game-engine.js +128 -2
- package/dist/lucky-sharky-v1.game-engine.js.map +1 -1
- package/package.json +3 -2
package/dist/index.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ import 'reflect-metadata';
|
|
|
2
2
|
export { LuckySharkyV1GameEngine } from './lucky-sharky-v1.game-engine';
|
|
3
3
|
export { GameEngineConfig, GameEngineMetricsHandlers } from './game-engine.interface';
|
|
4
4
|
export { ILogger } from '@omnitronix/game-engine-contract';
|
|
5
|
+
export type { GameTypeConfig, BonusResultDeliveryStrategy, BonusRoundResponse } from '@omnitronix/game-engine-sdk';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAC3D,YAAY,EAAE,cAAc,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC"}
|
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
import { LuckySharkyPrivateState, LuckySharkyPublicState } from './logic/lucky-sharky.types';
|
|
2
2
|
import { CommandProcessingResult, GameActionCommand, GameEngine, GameEngineConfig, GameEngineInfo } from './game-engine.interface';
|
|
3
|
+
import { SlotGameHandler, BetConfig as SdkBetConfig, SlotState as SdkSlotState, SpinResult as SdkSpinResult, BonusTrigger as SdkBonusTrigger, BonusResult as SdkBonusResult, GameTypeConfig } from '@omnitronix/game-engine-sdk';
|
|
3
4
|
import { LuckySharkyGameLogic } from './logic/lucky-sharky.game-logic';
|
|
4
5
|
import { GameLogicConfigLoader } from './config/game-logic-config/game-logic-config-loader';
|
|
5
6
|
import { ILogger } from '@omnitronix/game-engine-contract';
|
|
6
7
|
import { ReelStripsConfigLoader } from './config/reel-strips-config/reel-strips-config-loader';
|
|
7
8
|
import { ReelStripsConfigMapper } from './domain/mappers/reel-strips-config.mapper';
|
|
8
9
|
import { RngService } from './rng/rng-service';
|
|
9
|
-
export declare class LuckySharkyV1GameEngine implements GameEngine<LuckySharkyPublicState, LuckySharkyPrivateState, any> {
|
|
10
|
+
export declare class LuckySharkyV1GameEngine extends SlotGameHandler implements GameEngine<LuckySharkyPublicState, LuckySharkyPrivateState, any> {
|
|
11
|
+
/**
|
|
12
|
+
* SDK GameTypeConfig declaration.
|
|
13
|
+
*
|
|
14
|
+
* Declares this engine as a slot game with immediate result delivery
|
|
15
|
+
* and token-encoded state management.
|
|
16
|
+
*/
|
|
17
|
+
static readonly gameTypeConfig: GameTypeConfig;
|
|
10
18
|
private readonly gameCode;
|
|
11
19
|
private readonly version;
|
|
12
20
|
private readonly rtp;
|
|
@@ -24,6 +32,21 @@ export declare class LuckySharkyV1GameEngine implements GameEngine<LuckySharkyPu
|
|
|
24
32
|
constructor(config?: GameEngineConfig);
|
|
25
33
|
getGameEngineInfo(): GameEngineInfo;
|
|
26
34
|
private preload;
|
|
35
|
+
/**
|
|
36
|
+
* Implements SlotGameHandler.spin().
|
|
37
|
+
*
|
|
38
|
+
* Delegates to the internal game logic SPIN path and maps the result
|
|
39
|
+
* to the SDK SpinResult contract.
|
|
40
|
+
*/
|
|
41
|
+
spin(bet: SdkBetConfig, state: SdkSlotState): Promise<SdkSpinResult>;
|
|
42
|
+
/**
|
|
43
|
+
* Implements SlotGameHandler.startBonus().
|
|
44
|
+
*
|
|
45
|
+
* Delegates to the internal game logic START_BONUS_ROUND path, collects
|
|
46
|
+
* all bonus spin results, and returns them with a precomputed-queue
|
|
47
|
+
* delivery strategy.
|
|
48
|
+
*/
|
|
49
|
+
startBonus(trigger: SdkBonusTrigger, state: SdkSlotState): Promise<SdkBonusResult>;
|
|
27
50
|
processCommand(publicState: LuckySharkyPublicState, privateState: LuckySharkyPrivateState, command: GameActionCommand): Promise<CommandProcessingResult<LuckySharkyPublicState, LuckySharkyPrivateState, any>>;
|
|
28
51
|
}
|
|
29
52
|
//# sourceMappingURL=lucky-sharky-v1.game-engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucky-sharky-v1.game-engine.d.ts","sourceRoot":"","sources":["../src/lucky-sharky-v1.game-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EAGvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACf,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"lucky-sharky-v1.game-engine.d.ts","sourceRoot":"","sources":["../src/lucky-sharky-v1.game-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EAGvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,eAAe,EACf,SAAS,IAAI,YAAY,EACzB,SAAS,IAAI,YAAY,EACzB,UAAU,IAAI,aAAa,EAC3B,YAAY,IAAI,eAAe,EAC/B,WAAW,IAAI,cAAc,EAC7B,cAAc,EAEf,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAIvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAG5F,OAAO,EAAE,OAAO,EAAiB,MAAM,kCAAkC,CAAC;AAE1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,uDAAuD,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAO/C,qBAAa,uBACX,SAAQ,eACR,YAAW,UAAU,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,GAAG,CAAC;IAE3E;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAW5C;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IACvD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,KAAK,CAAwC;IAErD,QAAQ,CAAC,aAAa,EAAE,qBAAqB,CAAC;IAC9C,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IACzC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBAEb,MAAM,GAAE,gBAAqB;IAclC,iBAAiB,IAAI,cAAc;YAW5B,OAAO;IAyCrB;;;;;OAKG;IACG,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAgD1E;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC;IAgE3E,cAAc,CACzB,WAAW,EAAE,sBAAsB,EACnC,YAAY,EAAE,uBAAuB,EACrC,OAAO,EAAE,iBAAiB,GACzB,OAAO,CACR,uBAAuB,CAAC,sBAAsB,EAAE,uBAAuB,EAAE,GAAG,CAAC,CAC9E;CAkJF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.LuckySharkyV1GameEngine = void 0;
|
|
4
|
+
const game_engine_sdk_1 = require("@omnitronix/game-engine-sdk");
|
|
4
5
|
const lucky_sharky_game_logic_1 = require("./logic/lucky-sharky.game-logic");
|
|
5
6
|
const file_system_game_logic_config_loader_1 = require("./config/game-logic-config/file-system.game-logic-config-loader");
|
|
6
7
|
const file_system_reel_strips_config_loader_1 = require("./config/reel-strips-config/file-system.reel-strips-config-loader");
|
|
@@ -11,8 +12,9 @@ const rng_client_factory_1 = require("./rng/rng-client.factory");
|
|
|
11
12
|
const rng_service_1 = require("./rng/rng-service");
|
|
12
13
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
13
14
|
const packageJson = require('../package.json');
|
|
14
|
-
class LuckySharkyV1GameEngine {
|
|
15
|
+
class LuckySharkyV1GameEngine extends game_engine_sdk_1.SlotGameHandler {
|
|
15
16
|
constructor(config = {}) {
|
|
17
|
+
super();
|
|
16
18
|
this.gameCode = 'lucky-sharky';
|
|
17
19
|
this.version = packageJson.version;
|
|
18
20
|
this.rtp = 96.17;
|
|
@@ -54,6 +56,103 @@ class LuckySharkyV1GameEngine {
|
|
|
54
56
|
[game_round_types_1.GameRoundType.FREESPINS, this.reelMapper.mapRawToDomain(rawFreeSpinsReels)],
|
|
55
57
|
]);
|
|
56
58
|
}
|
|
59
|
+
// -- SlotGameHandler abstract method implementations ------------------
|
|
60
|
+
/**
|
|
61
|
+
* Implements SlotGameHandler.spin().
|
|
62
|
+
*
|
|
63
|
+
* Delegates to the internal game logic SPIN path and maps the result
|
|
64
|
+
* to the SDK SpinResult contract.
|
|
65
|
+
*/
|
|
66
|
+
async spin(bet, state) {
|
|
67
|
+
const commandId = `spin-${Date.now()}`;
|
|
68
|
+
this.rngService.registerCommand(commandId);
|
|
69
|
+
try {
|
|
70
|
+
const roundData = state.currentRound;
|
|
71
|
+
const publicState = roundData ?? {};
|
|
72
|
+
const privateState = roundData?.privateState
|
|
73
|
+
?? {};
|
|
74
|
+
const params = {
|
|
75
|
+
sessionId: commandId,
|
|
76
|
+
betAmount: bet.amount,
|
|
77
|
+
creditsPerLine: bet.amount / (bet.lines ?? 1),
|
|
78
|
+
gameId: this.gameCode,
|
|
79
|
+
gameVersion: this.version,
|
|
80
|
+
};
|
|
81
|
+
const baseReels = this.reels.get(game_round_types_1.GameRoundType.BASE);
|
|
82
|
+
if (!baseReels) {
|
|
83
|
+
throw new Error('Base game reels not found');
|
|
84
|
+
}
|
|
85
|
+
const outcome = await this.gameLogic.spin(params, publicState, privateState, this.config, baseReels, commandId);
|
|
86
|
+
return {
|
|
87
|
+
outcome: outcome,
|
|
88
|
+
winAmount: outcome.result.playerWinning,
|
|
89
|
+
nextState: {
|
|
90
|
+
balance: state.balance - bet.amount + outcome.result.playerWinning,
|
|
91
|
+
currentRound: {
|
|
92
|
+
...outcome.publicState,
|
|
93
|
+
privateState: outcome.privateState,
|
|
94
|
+
},
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
this.rngService.removeCommand(commandId);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Implements SlotGameHandler.startBonus().
|
|
104
|
+
*
|
|
105
|
+
* Delegates to the internal game logic START_BONUS_ROUND path, collects
|
|
106
|
+
* all bonus spin results, and returns them with a precomputed-queue
|
|
107
|
+
* delivery strategy.
|
|
108
|
+
*/
|
|
109
|
+
async startBonus(trigger, state) {
|
|
110
|
+
const commandId = `bonus-${Date.now()}`;
|
|
111
|
+
this.rngService.registerCommand(commandId);
|
|
112
|
+
try {
|
|
113
|
+
const roundData = state.currentRound;
|
|
114
|
+
const publicState = roundData ?? {};
|
|
115
|
+
const privateState = roundData?.privateState
|
|
116
|
+
?? {};
|
|
117
|
+
const params = {
|
|
118
|
+
sessionId: commandId,
|
|
119
|
+
bonusId: trigger.parameters?.bonusId ?? `bonus-${commandId}`,
|
|
120
|
+
bonusType: trigger.type,
|
|
121
|
+
betAmount: trigger.parameters?.betAmount ?? 0,
|
|
122
|
+
};
|
|
123
|
+
const freeSpinsReels = this.reels.get(game_round_types_1.GameRoundType.FREESPINS);
|
|
124
|
+
if (!freeSpinsReels) {
|
|
125
|
+
throw new Error('Free spins reels not found');
|
|
126
|
+
}
|
|
127
|
+
const result = await this.gameLogic.startBonusRound(params, publicState, privateState, this.config, freeSpinsReels, commandId);
|
|
128
|
+
if (!result) {
|
|
129
|
+
throw new Error('Bonus round outcome not found');
|
|
130
|
+
}
|
|
131
|
+
const bonusResults = Array.isArray(result.results) ? result.results : [result.results];
|
|
132
|
+
let totalWin = 0;
|
|
133
|
+
const spinResults = bonusResults.map((spinResult) => {
|
|
134
|
+
const sr = spinResult;
|
|
135
|
+
const win = sr.result.playerWinning;
|
|
136
|
+
totalWin += win;
|
|
137
|
+
return {
|
|
138
|
+
outcome: sr,
|
|
139
|
+
winAmount: win,
|
|
140
|
+
nextState: {
|
|
141
|
+
balance: state.balance + totalWin,
|
|
142
|
+
currentRound: {
|
|
143
|
+
...sr.publicState,
|
|
144
|
+
privateState: sr.privateState,
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
};
|
|
148
|
+
});
|
|
149
|
+
return { spins: spinResults, totalWin };
|
|
150
|
+
}
|
|
151
|
+
finally {
|
|
152
|
+
this.rngService.removeCommand(commandId);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// -- GameEngine interface implementation --------------------------------
|
|
57
156
|
async processCommand(publicState, privateState, command) {
|
|
58
157
|
this.logger.log(`Processing command ${command.type}`);
|
|
59
158
|
this.rngService.registerCommand(command.id);
|
|
@@ -111,11 +210,20 @@ class LuckySharkyV1GameEngine {
|
|
|
111
210
|
}
|
|
112
211
|
const rngOutcome = this.rngService.getRngOutcomeForCommand(command.id);
|
|
113
212
|
this.rngService.removeCommand(command.id);
|
|
213
|
+
// Attach delivery strategy for the platform (precomputed-queue for slots)
|
|
214
|
+
const bonusResults = Array.isArray(result.results) ? result.results : [result.results];
|
|
215
|
+
const deliveryStrategy = {
|
|
216
|
+
type: 'precomputed-queue',
|
|
217
|
+
getResultsArray: () => bonusResults,
|
|
218
|
+
};
|
|
114
219
|
return {
|
|
115
220
|
success: true,
|
|
116
221
|
publicState: result.publicState,
|
|
117
222
|
privateState: result.privateState,
|
|
118
|
-
outcome:
|
|
223
|
+
outcome: {
|
|
224
|
+
...result,
|
|
225
|
+
deliveryStrategy,
|
|
226
|
+
},
|
|
119
227
|
message: 'Bonus round started',
|
|
120
228
|
rngOutcome,
|
|
121
229
|
};
|
|
@@ -159,4 +267,22 @@ class LuckySharkyV1GameEngine {
|
|
|
159
267
|
}
|
|
160
268
|
}
|
|
161
269
|
exports.LuckySharkyV1GameEngine = LuckySharkyV1GameEngine;
|
|
270
|
+
/**
|
|
271
|
+
* SDK GameTypeConfig declaration.
|
|
272
|
+
*
|
|
273
|
+
* Declares this engine as a slot game with immediate result delivery
|
|
274
|
+
* and token-encoded state management.
|
|
275
|
+
*/
|
|
276
|
+
LuckySharkyV1GameEngine.gameTypeConfig = {
|
|
277
|
+
gameType: 'slot',
|
|
278
|
+
resultDelivery: { mode: 'immediate' },
|
|
279
|
+
stateStrategy: {
|
|
280
|
+
type: 'token-encoded',
|
|
281
|
+
tokenConfig: {
|
|
282
|
+
algorithm: 'aes-256-gcm',
|
|
283
|
+
keyDerivation: 'hkdf',
|
|
284
|
+
tokenTtlSeconds: 3600,
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
};
|
|
162
288
|
//# sourceMappingURL=lucky-sharky-v1.game-engine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucky-sharky-v1.game-engine.js","sourceRoot":"","sources":["../src/lucky-sharky-v1.game-engine.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"lucky-sharky-v1.game-engine.js","sourceRoot":"","sources":["../src/lucky-sharky-v1.game-engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omnitronix/lucky-sharky-game-engine",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Lucky Sharky Game Engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -20,10 +20,11 @@
|
|
|
20
20
|
"license": "UNLICENSED",
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@omnitronix/game-engine-contract": "^1.1.0",
|
|
23
|
+
"@omnitronix/game-engine-sdk": "^2.2.1",
|
|
23
24
|
"@omnitronix/rng-client-core": "^1.1.1",
|
|
24
25
|
"class-transformer": "^0.5.1",
|
|
25
26
|
"class-validator": "^0.14.1",
|
|
26
|
-
"reflect-metadata": "^0.
|
|
27
|
+
"reflect-metadata": "^0.2.2",
|
|
27
28
|
"uuid": "^9.0.0"
|
|
28
29
|
},
|
|
29
30
|
"devDependencies": {
|