@omnitronix/bonnys-fortune-game-engine 1.3.6 → 1.3.8
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.
|
@@ -6,6 +6,7 @@ export declare class TreasureHuntBonusHandler {
|
|
|
6
6
|
private rngService;
|
|
7
7
|
constructor(rngService: RngService);
|
|
8
8
|
generateFullBonusRound(params: GameSpinInputDto, publicState: BonnysFortunePublicState, privateState: BonnysFortunePrivateState, config: BonnysFortuneGameLogicConfigInterface, commandId: string): Promise<BonusRoundResult<TreasureHuntSpinResult>>;
|
|
9
|
+
private toJackpotIndexOrNull;
|
|
9
10
|
private drawWinningSymbol;
|
|
10
11
|
private fillRemainingSteps;
|
|
11
12
|
private weightedDraw;
|
|
@@ -13,23 +13,25 @@ class TreasureHuntBonusHandler {
|
|
|
13
13
|
const jackpotKeys = Object.keys(jackpotMultipliers);
|
|
14
14
|
const jackpotsNo = Object.values(jackpotScreenCounts);
|
|
15
15
|
const weightsArray = Object.values(winningWeights);
|
|
16
|
-
const
|
|
16
|
+
const drawnWeightIndex = await this.drawWinningSymbol(weightsArray, commandId);
|
|
17
|
+
const winningJackpotIndex = this.toJackpotIndexOrNull(drawnWeightIndex);
|
|
17
18
|
const selectionsVector = Array(gridSize).fill(-1);
|
|
18
|
-
if (
|
|
19
|
-
const positions = await this.randomPositions(
|
|
20
|
-
positions.forEach((pos) => (selectionsVector[pos] =
|
|
21
|
-
jackpotsNo[
|
|
19
|
+
if (winningJackpotIndex !== null) {
|
|
20
|
+
const positions = await this.randomPositions(stepsCount, 3, commandId);
|
|
21
|
+
positions.forEach((pos) => (selectionsVector[pos] = winningJackpotIndex));
|
|
22
|
+
jackpotsNo[winningJackpotIndex] = number_helper_1.NumberHelper.safeSum(jackpotsNo[winningJackpotIndex], -3, 0);
|
|
22
23
|
}
|
|
23
|
-
await this.fillRemainingSteps(selectionsVector, gridSize, jackpotsNo,
|
|
24
|
+
await this.fillRemainingSteps(selectionsVector, gridSize, jackpotsNo, winningJackpotIndex ?? undefined, commandId);
|
|
24
25
|
const fullGridSelections = selectionsVector.map((idx) => jackpotKeys[idx]);
|
|
25
26
|
const revealedSelections = fullGridSelections.slice(0, stepsCount);
|
|
26
27
|
const multipliers = revealedSelections.map((name) => jackpotMultipliers[name]);
|
|
27
28
|
const results = revealedSelections.map((symbol, index) => {
|
|
28
29
|
const isFinalStep = index === stepsCount - 1;
|
|
29
|
-
const
|
|
30
|
-
|
|
30
|
+
const hasJackpotWin = winningJackpotIndex !== null;
|
|
31
|
+
const winningMultiplier = isFinalStep && hasJackpotWin
|
|
32
|
+
? jackpotMultipliers[jackpotKeys[winningJackpotIndex]]
|
|
31
33
|
: 0;
|
|
32
|
-
const playerWinning = isFinalStep &&
|
|
34
|
+
const playerWinning = isFinalStep && hasJackpotWin
|
|
33
35
|
? number_helper_1.NumberHelper.safeMultiply(betAmount, winningMultiplier, 2)
|
|
34
36
|
: 0;
|
|
35
37
|
const stepPrivateState = {
|
|
@@ -56,7 +58,7 @@ class TreasureHuntBonusHandler {
|
|
|
56
58
|
return acc;
|
|
57
59
|
}, {}),
|
|
58
60
|
winningMultiplier,
|
|
59
|
-
winningCount: isFinalStep &&
|
|
61
|
+
winningCount: isFinalStep && winningJackpotIndex !== null ? 3 : 0,
|
|
60
62
|
totalMultiplier: winningMultiplier,
|
|
61
63
|
},
|
|
62
64
|
publicState,
|
|
@@ -69,6 +71,11 @@ class TreasureHuntBonusHandler {
|
|
|
69
71
|
privateState,
|
|
70
72
|
};
|
|
71
73
|
}
|
|
74
|
+
toJackpotIndexOrNull(weightIndex) {
|
|
75
|
+
if (weightIndex <= 0)
|
|
76
|
+
return null;
|
|
77
|
+
return weightIndex - 1;
|
|
78
|
+
}
|
|
72
79
|
async drawWinningSymbol(weights, commandId) {
|
|
73
80
|
const total = weights.reduce((acc, w) => number_helper_1.NumberHelper.safeSum(acc, w, 2), 0);
|
|
74
81
|
if (total === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"treasure-hunt-bonus.handler.js","sourceRoot":"","sources":["../../../src/logic/handlers/treasure-hunt-bonus.handler.ts"],"names":[],"mappings":";;;AAAA,kEAMiC;AAOjC,+DAA2D;AAG3D,MAAa,wBAAwB;IACnC,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAEvC,KAAK,CAAC,sBAAsB,CACjC,MAAwB,EACxB,WAAqC,EACrC,YAAuC,EACvC,MAA6C,EAC7C,SAAiB;QAEjB,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,EACJ,YAAY,EAAE,QAAQ,EACtB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,GACf,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEpC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEnD,MAAM,
|
|
1
|
+
{"version":3,"file":"treasure-hunt-bonus.handler.js","sourceRoot":"","sources":["../../../src/logic/handlers/treasure-hunt-bonus.handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -37,18 +37,19 @@ export class TreasureHuntBonusHandler {
|
|
|
37
37
|
const jackpotsNo = Object.values(jackpotScreenCounts);
|
|
38
38
|
const weightsArray = Object.values(winningWeights);
|
|
39
39
|
|
|
40
|
-
const
|
|
40
|
+
const drawnWeightIndex = await this.drawWinningSymbol(
|
|
41
41
|
weightsArray,
|
|
42
42
|
commandId,
|
|
43
43
|
);
|
|
44
|
+
const winningJackpotIndex = this.toJackpotIndexOrNull(drawnWeightIndex);
|
|
44
45
|
|
|
45
46
|
const selectionsVector = Array<number>(gridSize).fill(-1);
|
|
46
47
|
|
|
47
|
-
if (
|
|
48
|
-
const positions = await this.randomPositions(
|
|
49
|
-
positions.forEach((pos) => (selectionsVector[pos] =
|
|
50
|
-
jackpotsNo[
|
|
51
|
-
jackpotsNo[
|
|
48
|
+
if (winningJackpotIndex !== null) {
|
|
49
|
+
const positions = await this.randomPositions(stepsCount, 3, commandId);
|
|
50
|
+
positions.forEach((pos) => (selectionsVector[pos] = winningJackpotIndex));
|
|
51
|
+
jackpotsNo[winningJackpotIndex] = NumberHelper.safeSum(
|
|
52
|
+
jackpotsNo[winningJackpotIndex],
|
|
52
53
|
-3,
|
|
53
54
|
0,
|
|
54
55
|
);
|
|
@@ -58,7 +59,7 @@ export class TreasureHuntBonusHandler {
|
|
|
58
59
|
selectionsVector,
|
|
59
60
|
gridSize,
|
|
60
61
|
jackpotsNo,
|
|
61
|
-
|
|
62
|
+
winningJackpotIndex ?? undefined,
|
|
62
63
|
commandId,
|
|
63
64
|
);
|
|
64
65
|
|
|
@@ -71,12 +72,13 @@ export class TreasureHuntBonusHandler {
|
|
|
71
72
|
const results = revealedSelections.map((symbol, index) => {
|
|
72
73
|
const isFinalStep = index === stepsCount - 1;
|
|
73
74
|
|
|
75
|
+
const hasJackpotWin = winningJackpotIndex !== null;
|
|
74
76
|
const winningMultiplier =
|
|
75
|
-
isFinalStep &&
|
|
76
|
-
? jackpotMultipliers[jackpotKeys[
|
|
77
|
+
isFinalStep && hasJackpotWin
|
|
78
|
+
? jackpotMultipliers[jackpotKeys[winningJackpotIndex]]
|
|
77
79
|
: 0;
|
|
78
80
|
const playerWinning =
|
|
79
|
-
isFinalStep &&
|
|
81
|
+
isFinalStep && hasJackpotWin
|
|
80
82
|
? NumberHelper.safeMultiply(betAmount, winningMultiplier, 2)
|
|
81
83
|
: 0;
|
|
82
84
|
|
|
@@ -108,7 +110,7 @@ export class TreasureHuntBonusHandler {
|
|
|
108
110
|
{} as Record<string, number>,
|
|
109
111
|
),
|
|
110
112
|
winningMultiplier,
|
|
111
|
-
winningCount: isFinalStep &&
|
|
113
|
+
winningCount: isFinalStep && winningJackpotIndex !== null ? 3 : 0,
|
|
112
114
|
totalMultiplier: winningMultiplier,
|
|
113
115
|
},
|
|
114
116
|
publicState,
|
|
@@ -123,6 +125,11 @@ export class TreasureHuntBonusHandler {
|
|
|
123
125
|
};
|
|
124
126
|
}
|
|
125
127
|
|
|
128
|
+
private toJackpotIndexOrNull(weightIndex: number): number | null {
|
|
129
|
+
if (weightIndex <= 0) return null;
|
|
130
|
+
return weightIndex - 1;
|
|
131
|
+
}
|
|
132
|
+
|
|
126
133
|
private async drawWinningSymbol(
|
|
127
134
|
weights: number[],
|
|
128
135
|
commandId: string,
|