@betorigami/games 1.13.2 → 1.14.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.
Files changed (3) hide show
  1. package/dist/index.d.ts +258 -23
  2. package/dist/index.mjs +1858 -965
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  // Generated by dts-bundle-generator v9.5.1
2
2
 
3
- import { Color, Column, Dozen, Half, Parity, RouletteType } from '@betorigami/game-calculations';
3
+ import { BaccaratGameInputs, BaccaratGameOutputs, Color, Column, Dozen, Half, Parity, RouletteType } from '@betorigami/game-calculations';
4
4
  import { ContextProvider } from '@lit/context';
5
5
  import Big$1 from 'big.js';
6
6
  import { CSSResult, LitElement, PropertyValues, TemplateResult } from 'lit';
@@ -32,7 +32,8 @@ declare enum OrigamiGame {
32
32
  WHEEL = "WHEEL",
33
33
  PLINKO = "PLINKO",
34
34
  ADVANCED_DICE = "ADVANCED_DICE",
35
- ROULETTE = "ROULETTE"
35
+ ROULETTE = "ROULETTE",
36
+ BACCARAT = "BACCARAT"
36
37
  }
37
38
  export type SeasonTheme = "DEFAULT" | "HORRORGAMI" | "JOLLYGAMI";
38
39
  declare const SUPPORTED_EDGE_PERCENTAGES: readonly [
@@ -300,6 +301,14 @@ export declare const translations: {
300
301
  };
301
302
  };
302
303
  games: {
304
+ baccarat: {
305
+ chipValue: string;
306
+ player: string;
307
+ banker: string;
308
+ tie: string;
309
+ totalBetAmount: string;
310
+ selectChip: string;
311
+ };
303
312
  advancedDice: {
304
313
  between: string;
305
314
  boundsLower: string;
@@ -362,6 +371,7 @@ export declare const translations: {
362
371
  resetChipValue: string;
363
372
  toggleWinCondition: string;
364
373
  undo: string;
374
+ clear: string;
365
375
  zeroBet: string;
366
376
  };
367
377
  modals: {
@@ -607,6 +617,14 @@ export declare const translations: {
607
617
  };
608
618
  };
609
619
  games: {
620
+ baccarat: {
621
+ chipValue: string;
622
+ player: string;
623
+ banker: string;
624
+ tie: string;
625
+ totalBetAmount: string;
626
+ selectChip: string;
627
+ };
610
628
  advancedDice: {
611
629
  between: string;
612
630
  boundsLower: string;
@@ -669,6 +687,7 @@ export declare const translations: {
669
687
  resetChipValue: string;
670
688
  toggleWinCondition: string;
671
689
  undo: string;
690
+ clear: string;
672
691
  zeroBet: string;
673
692
  };
674
693
  modals: {
@@ -914,6 +933,14 @@ export declare const translations: {
914
933
  };
915
934
  };
916
935
  games: {
936
+ baccarat: {
937
+ chipValue: string;
938
+ player: string;
939
+ banker: string;
940
+ tie: string;
941
+ totalBetAmount: string;
942
+ selectChip: string;
943
+ };
917
944
  roulette: {
918
945
  chipValue: string;
919
946
  totalBetAmount: string;
@@ -976,6 +1003,7 @@ export declare const translations: {
976
1003
  resetChipValue: string;
977
1004
  toggleWinCondition: string;
978
1005
  undo: string;
1006
+ clear: string;
979
1007
  zeroBet: string;
980
1008
  };
981
1009
  modals: {
@@ -1221,6 +1249,14 @@ export declare const translations: {
1221
1249
  };
1222
1250
  };
1223
1251
  games: {
1252
+ baccarat: {
1253
+ chipValue: string;
1254
+ player: string;
1255
+ banker: string;
1256
+ tie: string;
1257
+ totalBetAmount: string;
1258
+ selectChip: string;
1259
+ };
1224
1260
  advancedDice: {
1225
1261
  between: string;
1226
1262
  boundsLower: string;
@@ -1283,6 +1319,7 @@ export declare const translations: {
1283
1319
  resetChipValue: string;
1284
1320
  toggleWinCondition: string;
1285
1321
  undo: string;
1322
+ clear: string;
1286
1323
  zeroBet: string;
1287
1324
  };
1288
1325
  modals: {
@@ -1528,6 +1565,14 @@ export declare const translations: {
1528
1565
  };
1529
1566
  };
1530
1567
  games: {
1568
+ baccarat: {
1569
+ chipValue: string;
1570
+ player: string;
1571
+ banker: string;
1572
+ tie: string;
1573
+ totalBetAmount: string;
1574
+ selectChip: string;
1575
+ };
1531
1576
  advancedDice: {
1532
1577
  between: string;
1533
1578
  boundsLower: string;
@@ -1590,6 +1635,7 @@ export declare const translations: {
1590
1635
  resetChipValue: string;
1591
1636
  toggleWinCondition: string;
1592
1637
  undo: string;
1638
+ clear: string;
1593
1639
  zeroBet: string;
1594
1640
  };
1595
1641
  modals: {
@@ -1835,6 +1881,14 @@ export declare const translations: {
1835
1881
  };
1836
1882
  };
1837
1883
  games: {
1884
+ baccarat: {
1885
+ chipValue: string;
1886
+ player: string;
1887
+ banker: string;
1888
+ tie: string;
1889
+ totalBetAmount: string;
1890
+ selectChip: string;
1891
+ };
1838
1892
  advancedDice: {
1839
1893
  between: string;
1840
1894
  boundsLower: string;
@@ -1897,6 +1951,7 @@ export declare const translations: {
1897
1951
  resetChipValue: string;
1898
1952
  toggleWinCondition: string;
1899
1953
  undo: string;
1954
+ clear: string;
1900
1955
  zeroBet: string;
1901
1956
  };
1902
1957
  modals: {
@@ -2142,6 +2197,14 @@ export declare const translations: {
2142
2197
  };
2143
2198
  };
2144
2199
  games: {
2200
+ baccarat: {
2201
+ chipValue: string;
2202
+ player: string;
2203
+ banker: string;
2204
+ tie: string;
2205
+ totalBetAmount: string;
2206
+ selectChip: string;
2207
+ };
2145
2208
  advancedDice: {
2146
2209
  between: string;
2147
2210
  boundsLower: string;
@@ -2204,6 +2267,7 @@ export declare const translations: {
2204
2267
  resetChipValue: string;
2205
2268
  toggleWinCondition: string;
2206
2269
  undo: string;
2270
+ clear: string;
2207
2271
  zeroBet: string;
2208
2272
  };
2209
2273
  modals: {
@@ -2449,6 +2513,14 @@ export declare const translations: {
2449
2513
  };
2450
2514
  };
2451
2515
  games: {
2516
+ baccarat: {
2517
+ chipValue: string;
2518
+ player: string;
2519
+ banker: string;
2520
+ tie: string;
2521
+ totalBetAmount: string;
2522
+ selectChip: string;
2523
+ };
2452
2524
  advancedDice: {
2453
2525
  between: string;
2454
2526
  boundsLower: string;
@@ -2511,6 +2583,7 @@ export declare const translations: {
2511
2583
  resetChipValue: string;
2512
2584
  toggleWinCondition: string;
2513
2585
  undo: string;
2586
+ clear: string;
2514
2587
  zeroBet: string;
2515
2588
  };
2516
2589
  modals: {
@@ -2756,6 +2829,14 @@ export declare const translations: {
2756
2829
  };
2757
2830
  };
2758
2831
  games: {
2832
+ baccarat: {
2833
+ chipValue: string;
2834
+ player: string;
2835
+ banker: string;
2836
+ tie: string;
2837
+ totalBetAmount: string;
2838
+ selectChip: string;
2839
+ };
2759
2840
  advancedDice: {
2760
2841
  between: string;
2761
2842
  boundsLower: string;
@@ -2818,6 +2899,7 @@ export declare const translations: {
2818
2899
  resetChipValue: string;
2819
2900
  toggleWinCondition: string;
2820
2901
  undo: string;
2902
+ clear: string;
2821
2903
  zeroBet: string;
2822
2904
  };
2823
2905
  modals: {
@@ -3063,6 +3145,14 @@ export declare const translations: {
3063
3145
  };
3064
3146
  };
3065
3147
  games: {
3148
+ baccarat: {
3149
+ chipValue: string;
3150
+ player: string;
3151
+ banker: string;
3152
+ tie: string;
3153
+ totalBetAmount: string;
3154
+ selectChip: string;
3155
+ };
3066
3156
  advancedDice: {
3067
3157
  between: string;
3068
3158
  boundsLower: string;
@@ -3125,6 +3215,7 @@ export declare const translations: {
3125
3215
  resetChipValue: string;
3126
3216
  toggleWinCondition: string;
3127
3217
  undo: string;
3218
+ clear: string;
3128
3219
  zeroBet: string;
3129
3220
  };
3130
3221
  modals: {
@@ -3370,6 +3461,14 @@ export declare const translations: {
3370
3461
  };
3371
3462
  };
3372
3463
  games: {
3464
+ baccarat: {
3465
+ chipValue: string;
3466
+ player: string;
3467
+ banker: string;
3468
+ tie: string;
3469
+ totalBetAmount: string;
3470
+ selectChip: string;
3471
+ };
3373
3472
  advancedDice: {
3374
3473
  between: string;
3375
3474
  boundsLower: string;
@@ -3432,6 +3531,7 @@ export declare const translations: {
3432
3531
  resetChipValue: string;
3433
3532
  toggleWinCondition: string;
3434
3533
  undo: string;
3534
+ clear: string;
3435
3535
  zeroBet: string;
3436
3536
  };
3437
3537
  modals: {
@@ -3677,6 +3777,14 @@ export declare const translations: {
3677
3777
  };
3678
3778
  };
3679
3779
  games: {
3780
+ baccarat: {
3781
+ chipValue: string;
3782
+ player: string;
3783
+ banker: string;
3784
+ tie: string;
3785
+ totalBetAmount: string;
3786
+ selectChip: string;
3787
+ };
3680
3788
  advancedDice: {
3681
3789
  between: string;
3682
3790
  boundsLower: string;
@@ -3739,6 +3847,7 @@ export declare const translations: {
3739
3847
  resetChipValue: string;
3740
3848
  toggleWinCondition: string;
3741
3849
  undo: string;
3850
+ clear: string;
3742
3851
  zeroBet: string;
3743
3852
  };
3744
3853
  modals: {
@@ -3984,6 +4093,14 @@ export declare const translations: {
3984
4093
  };
3985
4094
  };
3986
4095
  games: {
4096
+ baccarat: {
4097
+ chipValue: string;
4098
+ player: string;
4099
+ banker: string;
4100
+ tie: string;
4101
+ totalBetAmount: string;
4102
+ selectChip: string;
4103
+ };
3987
4104
  advancedDice: {
3988
4105
  between: string;
3989
4106
  boundsLower: string;
@@ -4046,6 +4163,7 @@ export declare const translations: {
4046
4163
  resetChipValue: string;
4047
4164
  toggleWinCondition: string;
4048
4165
  undo: string;
4166
+ clear: string;
4049
4167
  zeroBet: string;
4050
4168
  };
4051
4169
  modals: {
@@ -4291,6 +4409,14 @@ export declare const translations: {
4291
4409
  };
4292
4410
  };
4293
4411
  games: {
4412
+ baccarat: {
4413
+ chipValue: string;
4414
+ player: string;
4415
+ banker: string;
4416
+ tie: string;
4417
+ totalBetAmount: string;
4418
+ selectChip: string;
4419
+ };
4294
4420
  advancedDice: {
4295
4421
  between: string;
4296
4422
  boundsLower: string;
@@ -4353,6 +4479,7 @@ export declare const translations: {
4353
4479
  resetChipValue: string;
4354
4480
  toggleWinCondition: string;
4355
4481
  undo: string;
4482
+ clear: string;
4356
4483
  zeroBet: string;
4357
4484
  };
4358
4485
  modals: {
@@ -4598,6 +4725,14 @@ export declare const translations: {
4598
4725
  };
4599
4726
  };
4600
4727
  games: {
4728
+ baccarat: {
4729
+ chipValue: string;
4730
+ player: string;
4731
+ banker: string;
4732
+ tie: string;
4733
+ totalBetAmount: string;
4734
+ selectChip: string;
4735
+ };
4601
4736
  advancedDice: {
4602
4737
  between: string;
4603
4738
  boundsLower: string;
@@ -4660,6 +4795,7 @@ export declare const translations: {
4660
4795
  resetChipValue: string;
4661
4796
  toggleWinCondition: string;
4662
4797
  undo: string;
4798
+ clear: string;
4663
4799
  zeroBet: string;
4664
4800
  };
4665
4801
  modals: {
@@ -4905,6 +5041,14 @@ export declare const translations: {
4905
5041
  };
4906
5042
  };
4907
5043
  games: {
5044
+ baccarat: {
5045
+ chipValue: string;
5046
+ player: string;
5047
+ banker: string;
5048
+ tie: string;
5049
+ totalBetAmount: string;
5050
+ selectChip: string;
5051
+ };
4908
5052
  advancedDice: {
4909
5053
  between: string;
4910
5054
  boundsLower: string;
@@ -4967,6 +5111,7 @@ export declare const translations: {
4967
5111
  resetChipValue: string;
4968
5112
  toggleWinCondition: string;
4969
5113
  undo: string;
5114
+ clear: string;
4970
5115
  zeroBet: string;
4971
5116
  };
4972
5117
  modals: {
@@ -5100,6 +5245,9 @@ export interface PlinkoStartAction {
5100
5245
  numberOfRows: PlinkoRowCount;
5101
5246
  }
5102
5247
  export type AdvancedDiceStartAction = AdvancedDiceInputs;
5248
+ export type BaccaratEndAction = BaccaratGameOutputs & {
5249
+ result: number[];
5250
+ };
5103
5251
  export interface RouletteStraightBet {
5104
5252
  amount: string;
5105
5253
  value: number;
@@ -5205,6 +5353,7 @@ export interface Action {
5205
5353
  PLINKO?: PlinkoStartAction | EndAction;
5206
5354
  ADVANCED_DICE?: AdvancedDiceStartAction | EndAction;
5207
5355
  ROULETTE?: RouletteStartAction | RouletteEndAction;
5356
+ BACCARAT?: BaccaratGameInputs | BaccaratEndAction;
5208
5357
  };
5209
5358
  betAmount: string | null;
5210
5359
  payoutAmount: string | null;
@@ -5497,6 +5646,9 @@ declare abstract class GameComponent extends OrigamiElement {
5497
5646
  protected getAutobetDelay(): number;
5498
5647
  protected forceUIUpdate(): Promise<void>;
5499
5648
  protected executeInstantOrAnimated<T>(instantOperation: () => Promise<T> | T, animatedOperation: () => Promise<T> | T): Promise<T>;
5649
+ /**
5650
+ * @deprecated Use sleep instead
5651
+ */
5500
5652
  protected ensureMinimumDisplayTime(hasWin?: boolean, winDisplayTime?: number, lossDisplayTime?: number): Promise<void>;
5501
5653
  disconnectedCallback(): void;
5502
5654
  toggleAutobet(event: AutobetToggleEvent): Promise<void>;
@@ -6124,47 +6276,77 @@ declare class MockRouletteApi {
6124
6276
  data: BetResult;
6125
6277
  }>;
6126
6278
  }
6127
- export declare class RouletteGame extends GameComponent {
6279
+ /**
6280
+ * Events for chip placement systems using event sourcing.
6281
+ * State is derived by replaying these events.
6282
+ * Generic enough to be used across different games (roulette, etc.)
6283
+ */
6284
+ export type ChipEvent = {
6285
+ type: "add";
6286
+ position: string;
6287
+ amount: number;
6288
+ } | {
6289
+ type: "multiplier-change";
6290
+ multiplier: number;
6291
+ };
6292
+ export interface HotkeyOptions {
6293
+ repeat?: boolean;
6294
+ repeatInterval?: number;
6295
+ disabled?: () => boolean;
6296
+ }
6297
+ export type HotkeyCallback = (event?: KeyboardEvent) => void;
6298
+ export interface HotkeyDefinition {
6299
+ key: string;
6300
+ callback: HotkeyCallback;
6301
+ options?: HotkeyOptions;
6302
+ }
6303
+ export type ChipTablePosition = string;
6304
+ declare abstract class ChipTableGameComponent extends GameComponent {
6305
+ protected perClickAmount: string;
6306
+ protected chipEvents: ChipEvent[];
6307
+ /** Game-specific max payout check (uses derived state). */
6308
+ protected abstract isMaxPayoutExceeded(chipEvents: ChipEvent[]): boolean;
6309
+ protected get canUndo(): boolean;
6310
+ protected get canClear(): boolean;
6311
+ protected get derivedChips(): Map<string, number>;
6312
+ protected get totalBetAmount(): number;
6313
+ protected get maxPerClickAmount(): string;
6314
+ protected get isDoubleDisabled(): boolean;
6315
+ watchDerivedChips(_prev?: unknown, _next?: unknown): void;
6316
+ protected onBetAmountChange: (oldBetAmount: string, newBetAmount: string) => void;
6317
+ protected adjustPerClickAmount(action: "half" | "double" | "reset"): void;
6318
+ protected handlePerClickAmountChange: (e: CustomEvent<{
6319
+ amount: string;
6320
+ }>) => void;
6321
+ protected addChip(position: ChipTablePosition, inputAmount: string): void;
6322
+ protected handleChipInteraction(position: ChipTablePosition, remove?: boolean): void;
6323
+ protected handleUndo: () => void;
6324
+ protected handleClear: () => void;
6325
+ protected handleAdjustTotalBet: (action: "half" | "double") => void;
6326
+ protected getChipTableHotkeys(manualEl?: HTMLElement, autoEl?: HTMLElement): HotkeyDefinition[];
6327
+ }
6328
+ export declare class RouletteGame extends ChipTableGameComponent {
6128
6329
  static styles: import("lit").CSSResult[];
6129
6330
  private isManualPlaying;
6130
6331
  private betResult;
6131
6332
  private history;
6132
- private perClickAmount;
6133
6333
  private hitNumber;
6134
6334
  private showMobileOverlay;
6135
6335
  private displayedHitNumber;
6136
6336
  private lastResultNumber;
6137
6337
  private showWinPopup;
6138
6338
  private newBalance;
6139
- private chipEvents;
6140
6339
  private ballLandResolver;
6141
6340
  private _manualEl?;
6142
6341
  private _autoEl?;
6143
6342
  constructor();
6144
6343
  get rouletteType(): RouletteType;
6145
- get maxPerClickAmount(): string;
6146
- private adjustPerClickAmount;
6147
- /**
6148
- * Derive the current chip state from events.
6149
- */
6150
- get derivedChips(): Map<string, number>;
6151
6344
  get rouletteApi(): RouletteApi | MockRouletteApi;
6152
6345
  get isToggleDisabled(): boolean;
6153
6346
  get areInputsDisabled(): boolean;
6154
- get canUndo(): boolean;
6155
- get canClear(): boolean;
6156
- get totalBetAmount(): number;
6157
- protected onBetAmountChange: (oldBetAmount: string, newBetAmount: string) => void;
6158
- get isDoubleDisabled(): boolean;
6159
6347
  get maxPossiblePayout(): number;
6160
- watchDerivedChips(): void;
6161
- private addChip;
6162
- private handlePerClickAmountChange;
6163
- private isMaxPayoutExceeded;
6348
+ protected isMaxPayoutExceeded(chipEvents: ChipEvent[]): boolean;
6164
6349
  private handleGridClick;
6165
- private handleUndo;
6166
- private handleClear;
6167
- private handleAdjustTotalBet;
6168
6350
  private addToHistory;
6169
6351
  private extractHitNumberFromActions;
6170
6352
  private applyBetResult;
@@ -6175,5 +6357,58 @@ export declare class RouletteGame extends GameComponent {
6175
6357
  protected executeAutobet(_autobetSettings: AutobetSettings, _currentBetAmount: string): Promise<GameBetResult>;
6176
6358
  render(): import("lit-html").TemplateResult<1>;
6177
6359
  }
6360
+ export type BaccaratSelection = {
6361
+ position: "PLAYER" | "BANKER" | "TIE";
6362
+ amount: string;
6363
+ };
6364
+ export type BaccaratStartArgs = {
6365
+ language: Language;
6366
+ currency: Currency;
6367
+ amount: string;
6368
+ selections: BaccaratSelection[];
6369
+ };
6370
+ declare class BaccaratApi {
6371
+ private authToken;
6372
+ private baseUrl;
6373
+ constructor(authToken: string, baseUrl: string);
6374
+ startBet(data: BaccaratStartArgs): Promise<StartBetResponse>;
6375
+ }
6376
+ declare class MockBaccaratApi {
6377
+ startBet(data: BaccaratStartArgs): Promise<{
6378
+ success: true;
6379
+ data: BetResult;
6380
+ }>;
6381
+ }
6382
+ export declare class BaccaratGame extends ChipTableGameComponent {
6383
+ static styles: import("lit").CSSResult[];
6384
+ private isManualPlaying;
6385
+ private resultMultiplier;
6386
+ private history;
6387
+ private gameWinPopupShowing;
6388
+ private betId;
6389
+ private payout;
6390
+ private instantModeForCurrentBet;
6391
+ /** The current game round - passed to BaccaratContent for rendering */
6392
+ private currentRound;
6393
+ private _baccaratManualEl?;
6394
+ private _baccaratAutoEl?;
6395
+ constructor();
6396
+ get baccaratApi(): BaccaratApi | MockBaccaratApi;
6397
+ get isToggleDisabled(): boolean;
6398
+ get areInputsDisabled(): boolean;
6399
+ protected isMaxPayoutExceeded(chipEvents: ChipEvent[]): boolean;
6400
+ private handleGridClick;
6401
+ private resetRound;
6402
+ onManualOrAutoChange(): void;
6403
+ private addToHistory;
6404
+ private onDealSound;
6405
+ private onCardFlip;
6406
+ private processBetResult;
6407
+ private handleBetExecution;
6408
+ toggleAutobet(event: AutobetToggleEvent): Promise<void>;
6409
+ baccaratPlay(): Promise<void>;
6410
+ protected executeAutobet(_autobetSettings: AutobetSettings, _currentBetAmount: string): Promise<GameBetResult>;
6411
+ render(): import("lit-html").TemplateResult<1>;
6412
+ }
6178
6413
 
6179
6414
  export {};